专利名称:活动图像的元数据的数据结构及其再现方法
技术领域:
本发明涉及元数据的数据结构,其用于通过合并存在于客户端设备中的活动图像数据和存在于该客户端设备或网络上的服务器设备中的元数据实现活动图像超媒体,以及用于在活动图像上显示反射幻灯显示(telop)和球状物(balloon),并涉及其再现的方法。
背景技术:
超媒体是使得在诸如活动图像、静止图像、声音和文本的媒体之间定义一种称为超链接的连接,可以相互或从一个到另一个之间引用。例如在一个可以通过互联网浏览的用HTML描述的主页中,安排了文本和静止图像,并且贯穿文本和静止图像定义了链接。当链接被指定时,作为链接目的地的相关信息可以马上被显示。当一个关注表示被直接指定时,就可以访问对应的信息,因此,操作简单而且直观。
另一方面,在主要包括活动图像而不是文本和静止图像的超媒体中,定义了一个链接,该链接从出现在活动图像上的诸如人物或事物的对象到相关的内容,例如用于解释其的文本或静止图像,当浏览者指定了该对象,相关的内容就被显示。这时,为了定义出现在活动图像上的对象的时空区域和其相关内容之间的链接,就需要表示活动图像中的对象的时空区域的数据(对象区域数据)。
有可能使用具有二进制值或更高值的数值的屏蔽图像系列、MPEG-4的任意形状编码、专利文献1(JP-A-2000-285253)中说明的描述图像的特征点的位置的方法、专利文献2(JP-A-2001-111996)中说明的方法,等等作为对象区域数据。为了实现主要是活动图像的超媒体,除此之外,需要描述当一个对象被指定时显示其它相关内容的操作的数据(操作信息),等等。这些除了活动图像的数据被称为元数据。
作为提供活动图像和元数据给观看者的方法,首先,有一种产生让活动图像和元数据都被记录在其中的记录介质(视频CD、DVD等等)的方法。此外,为了提供已经作为视频CD或DVD被固有的活动图像的元数据,只有元数据可从网络下载或通过流被传送。进一步地,活动图像的数据和元数据两者可能都通过网络被传送。这时,希望元数据有这样一种格式,使其能够有效利用缓存、适于随机访问以及阻止在网络中的数据丢失。
在活动图像的切换频繁出现的情况下(例如,预备包括多种摄像角度的活动图像,观看者可以自由地选择摄像角度的情况下,例如DVD视频的多角度视频),元数据必须以对应于活动图像的切换的高速被切换。
进一步地,关于该元数据,需要在再现开始之前确定缓存大小和数据缓存大小,使得缓存的溢出或下溢不会出现。
在与观看者拥有的活动图像相关的或通过网络以流的形式被传送给观看者的元数据中,或由观看者拥有并再现的元数据中,希望按照数据的传送速率和使用的网络协议在再现开始之前确定缓存大小和数据缓存大小。
考虑到以上原因,本发明提供了一种在再现开始之前按照数据的传送速率和使用的网络协议确大小和数据缓存大小的发明。
发明内容
按照本发明的一个方面,元数据是与活动图像相关的而且暂时存储在缓存中直到元数据被再现。
元数据(其数据结构)包括一个和多个访问单元,各个都是可以单独被处理的数据单元。
在这里,访问单元(图4的Vclick_AU)作为与相对于活动图像的时间轴定义的有效周期相关的信息包括用于指定有效周期的第一数据(402)、描述活动图像中的时空区域的对象区域数据(400)、包括指定关于时空区域的显示方法的数据和一个当时空区域被指定的时候指定要进行的处理的数据的至少之一的第二数据(403)。
在元数据以一个恒定速率被输入缓存的情况下,缓存中的数据量的动态范围被描述在活动图像元数据中,数据缓存大小在元数据的再现开始之前被变成动态范围的大小,而且缓存大小被变成是动态范围的两信或多倍。
当元数据在这样的状态下被输入缓存,该状态为输入以一个恒定的速率进行或者输入停止,缓存中的数据量的最小动态范围被描述在活动图像元数据中,数据缓存大小在元数据的再现开始之前被变成动态范围的大小,而且缓存大小被变成等于或大于动态范围的大小。
这样,元数据的再现同步于活动图像,可以保证不出现缓存溢出或下溢。进一步,因为为各个流确定了适当的缓存大小,可以消除浪费,直到再现开始的等待时间缩短。在缓存大小可能较小的情况下,记录媒体还是可以被用作其它的用途。
图1A和图1B的视图用于解释按照本发明的一个实施例的超媒体的一个显示例子。
图2的方框图示出了按照本发明的一个实施例的系统的结构示例。
图3的视图用于解释按照本发明的一个实施例的对象区域和对象区域数据之间的关系。
图4的视图用于解释按照本发明的一个实施例的对象元数据的访问单元的数据结构示例。
图5的视图用于解释按照本发明的一个实施例的Vclick流的构造方法。
图6的视图用于解释按照本发明的一个实施例的Vclick访问表的结构示例。
图7的视图用于解释按照本发明的一个实施例的传输包的结构示例。
图8的视图用于解释按照本发明的一个实施例的传输包的另一个结构示例。
图9的视图用于解释按照本发明的一个实施例的服务器和客户端之间的通信的示例。
图10的视图用于解释按照本发明的一个实施例的服务器和客户端之间的通信的另一个示例。
图11的视图用于解释按照本发明的一个实施例的Vclick流的报头的数据元素的示例。
图12的视图用于解释按照本发明的一个实施例的一个Vclick访问单元(AU)的报头的数据元素的示例。
图13的视图用于解释按照本发明的一个实施例的一个Vclick访问单元(AU)的时间戳的数据元素的示例。
图14的视图用于解释按照本发明的一个实施例的一个Vclick访问单元(AU)的时间戳跳跃的数据元素的示例。
图15的视图用于解释按照本发明的一个实施例的对象属性信息的数据元素的示例。
图16的视图用于解释按照本发明的一个实施例的对象属性信息的种类的示例。
图17的视图用于解释按照本发明的一个实施例的对象的名字属性的数据元素的示例。
图18的视图用于解释按照本发明的一个实施例的对象的动作属性的数据元素的示例。
图19的视图用于解释按照本发明的一个实施例的对象的轮廓属性的数据元素的示例。
图20的视图用于解释按照本发明的一个实施例的对象的闪烁区域属性的数据元素的示例。
图21的视图用于解释按照本发明的一个实施例的对象的马赛克区域属性的数据元素的示例。
图22的视图用于解释按照本发明的一个实施例的对象的填充区域属性的数据元素的示例。
图23的视图用于解释按照本发明的一个实施例的对象的文本信息数据的数据元素的示例。
图24的视图用于解释按照本发明的一个实施例的对象的文本属性的数据元素的示例。
图25的视图用于解释按照本发明的一个实施例的对象的文本加亮效果属性的数据元素的示例。
图26的视图用于解释按照本发明的一个实施例的对象的文本加亮效果属性的入口的数据元素的示例。
图27的视图用于解释按照本发明的一个实施例的对象的文本闪烁效果属性的数据元素的示例。
图28的视图用于解释按照本发明的一个实施例的对象的文本闪烁效果属性的入口的数据元素的示例。
图29的视图用于解释按照本发明的一个实施例的对象的文本滚动效果属性的数据元素的示例。
图30的视图用于解释按照本发明的一个实施例的对象的文本卡拉ok录音效果属性的数据元素的示例。
图31的视图用于解释按照本发明的一个实施例的文本卡拉ok录音效果属性的入口的数据元素的示例。
图32的视图用于解释按照本发明的一个实施例的对象的层属性扩展的数据元素的示例。
图33的视图用于解释按照本发明的一个实施例的对象的层属性扩展的入口的数据元素的示例。
图34的视图用于解释按照本发明的一个实施例的Vclick访问单元(AU)的对象区域数据的数据元素的示例。
图35的视图用于解释按照本发明的一个实施例的增强型DVD视频盘的结构的示例。
图36的视图用于解释按照本发明的一个实施例的增强型DVD视频盘的目录结构的示例。
图37的流程图(在Vclick数据在服务器设备中的情况下)示出了按照本发明的一个实施例的普通再现的开始处理过程。
图38的流程图(在Vclick数据在服务器设备中的情况下)示出了按照本发明的一个实施例的普通再现的另一个开始处理过程。
图39的流程图(在Vclick数据在服务器设备中的情况下)示出了按照本发明的一个实施例的普通再现的结束处理过程。
图40的流程图(在Vclick数据在服务器设备中的情况下)示出了按照本发明的一个实施例的随机访问再现的开始处理过程。
图41的流程图(在Vclick数据在服务器设备中的情况下)示出了按照本发明的一个实施例的随机访问再现的另一个开始处理过程。
图42的流程图(在Vclick数据在客户端设备中的情况下)示出了按照本发明的一个实施例的普通再现的开始处理过程。
图43的流程图(在Vclick数据在客户端设备中的情况下)示出了按照本发明的一个实施例的随机访问再现的开始处理过程。
图44的视图用于解释按照本发明的一个实施例的超媒体的显示示例。
图45的视图用于解释按照本发明的一个实施例的模型1中的缓存中的Vclick数据量的变化示例。
图46的视图用于解释按照本发明的一个实施例的与图45的曲线图相应的表格的结构。
图47的流程图用于解释按照本发明的一个实施例的用于计算模型1中的缓存中的Vclick数据量的动态范围的处理的示例。
图48的流程图用于解释按照本发明的一个实施例的缓存中的Vclick数据量的变化示例,当再现使用由图47的处理计算得到的动态范围执行的时候。
图49的流程图用于解释按照本发明的一个实施例的缓存中的Vclick数据量的变化示例,当随机访问再现使用由图47的处理计算得到的动态范围执行的时候。
图50的视图用于解释按照本发明的一个实施例的模型2中的缓存中的Vclick数据量的变化示例。
图51的视图用于解释按照本发明的一个实施例的计算模型2中的缓存中的Vclick数据量的动态范围的处理步骤。
图52的流程图用于解释按照本发明的一个实施例的计算模型2中的缓存中的Vclick数据量的动态范围的处理示例。
图53的视图用于解释按照本发明的一个实施例当图52所示的处理结束的时候,缓存中的Vclick数据量的变化示例。
图54的视图用于解释按照本发明的一个实施例当随机访问再现使用由图52所示的处理计算得到的动态范围执行的时候,缓存中的Vclick数据量的变化示例。
图55的视图用于解释按照本发明的一个实施例的与图11不同的Vclick流的报头的数据元素的示例。
图56是按照本发明的一个实施例的缓存控制过程的流程图。
图57的视图用于解释按照本发明的一个实施例的与图56不同的Vclick流的报头的数据元素的示例。
图58的流程图示出了按照本发明的一个实施例的从用户指示再现开始的时间到再现被开始的时间的第一再现开始处理过程。
图59的流程图示出了按照本发明的一个实施例的从用户指示再现开始的时间到再现被开始的时间的第二再现开始处理过程。
图60的流程图示出了按照本发明的一个实施例的从用户指示再现开始的时间到再现被开始的时间的第三再现开始处理过程。
图61的流程图示出了按照本发明的一个实施例的从用户指示再现开始的时间到再现被开始的时间的第四再现开始处理过程。
具体实施例方式
下面,将参考附图描述本发明的实施例。
(1)本申请的概要图1示出了在屏幕上通过使用本实施例的对象元数据与活动图像一起实现本申请(活动图像超媒体)的一个显示示例。
图1A的参考标记100表示活动图像的再现屏幕;101表示鼠标光标。在活动图像的再现屏幕100上再现的活动图像的数据被记录在本地活动图像数据记录介质上。参考标记102表示活动图像上出现的对象的区域。当用户移动鼠标光标到该对象的区域内并通过点击等方式选择该对象时,一个指定功能就被执行。例如,在图1B中,在本地磁盘和/或网络上的一个文档(与被点击对象相关的信息)103被显示。另外,还可能执行诸如跳到活动图像的另一个场景,再现另一个活动图像文件,以及改变再现模式的功能。
对象的区域102的数据、在该区域通过点击等方式被指定的情况下的客户端设备的操作数据等将被统称为对象元数据或Vclick数据。该Vclick数据可以与活动图像数据一起被记录在本地活动图像记录介质(光盘、硬盘、半导体存储器等)上,或可以被存储在网络上的服务器内并通过网络传输给客户端。
图44示出了在不同于图1的屏幕上通过使用本实施例的Vclick数据与活动图像一起实现本申请(活动图像超媒体)的一个显示示例。
图1中,显示活动图像和显示相关信息的窗口是相互分开的,而图44中,活动图像A02和相关信息A03被显示在一个窗口A01中。作为相关信息,不仅仅是文本,还包括静止图片A04和不同于A02的活动图像也可以被显示。
下面,将给出实现本申请的详细描述。
(2)系统结构图2的视图示出了按照本发明的一个实施例的流设备(有网络功能的盘播放机)的粗略结构。相应的结构元件的功能将通过图2描述。
参考标记200表示一个客户端设备;201表示一个服务器设备;221表示连接服务器设备和客户端设备的网络。客户端设备200包括一个动画再现引擎203、Vclick引擎202、磁盘装置230、用户接口240、网络管理器208和磁盘装置管理器213。参考标记204到206表示包括在活动图像再现引擎中的装置;207、209至212、以及214至218表示包括在Vclick引擎中的装置;219和220表示包括在服务器设备中的装置。客户端设备200可以再现在磁盘装置230中的活动图像数据,并显示用诸如HTML的标示语言描述的文件。也有可能显示用HTML等语言描述的存在于网络上的文件。考虑到与记录在活动图像数据记录介质231上的活动图像数据相关的Vclick数据,有该数据与活动图像数据一起被记录在活动图像数据记录介质231上的情况,也有该数据被记录在服务器设备201的元数据记录介质219上的情况。在Vclick数据存在服务器设备201内的情况下,客户端设备200可以通过如下描述的方式使用Vclick数据和磁盘装置230内的活动图像数据执行再现。首先,响应从客户端200传来的请求,服务器设备201通过网络221发送包括Vclick数据的媒体数据M1到客户端设备200。客户端设备200与活动图像的再现同步处理已发送的Vclick数据,并实现诸如超媒体这样的附加功能。
活动图像再现引擎203是用于再现存在于磁盘装置230内的活动图像数据的引擎,包括装置204、205和206。参考标记231表示活动图像数据记录介质,尤其表示DVD,视频CD、录像带、硬盘、半导体存储器等等。数字和/或模拟的活动图像数据被记录在活动图像记录介质231上。也有这样的情况,与活动数据相关的元数据,与活动图像数据一起被记录在活动图像记录介质231上。参考标记205表示用于活动图像再现控制的控制器而且被配置为能够按照从Vclick引擎202的接口处理器207输出的一个“控制”信号控制从活动图像数据记录介质231传来的视频/声音/子视频数据D1的再现。
特别是,再现活动图像的时候,按照从接口处理器207发送的“控制”信号,当事件(例如菜单调用或用户指令的标题跳跃)发生时,活动图像再现控制器205可以输出一个“触发”信号指示视频/声音/子视频数据D1的再现状态给接口处理器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呈现器218等模决之间的接口控制。此外,通过用户操作(对诸如鼠标、接触板或键盘等输入装置的操作)的用户事件从用户接口240被接收,并且事件被发送给适当的模块。
接口处理器207包括访问表格分析器来解译Vclick访问表格(后面将描述),信息文件分析器来解译Vclick信息文件(后面将描述),特性缓存来记录由Vclick引擎管理的特性,Vclick引擎的系统时钟,活动图像时钟,其中活动图像再现引擎中的活动图像时钟204的时钟被复制,等等。
网络管理器208具有通过网络收集HTML等类型的文件和诸如静止图片和声音等数据到缓存209并控制互联网连接部分222的操作的功能。当通过用户操作或接口处理器207收到从元数据管理器210传来的请求发出连接或断开网络的指令时,网络管理器208在互联网连接部分222的连接或断开之间切换。此外,当服务器设备201和互联网连接部分222之间建立了网络,诸如控制数据和Vclick数据的媒体数据的发送/接收被执行。媒体数据包括Vclick数据、HTML等类型的文档、静止图像和伴随其的活动图像等等。
从客户端设备200发送到服务器设备201的数据包括一个会话配置请求、会话结束请求、诸如Vclick数据的元数据发送请求和诸如确认或错误的状态信息。此外,客户端设备的状态信息的发送可以执行。另一方面,从服务器设备发送到客户端设备的数据包括诸如Vclick数据的元数据,以及诸如确认或错误的状态信息。
磁盘装置管理器213具有收集HTML等类型的文件和诸如静止图像和声音的数据到缓存209的功能,以及发送该视频/声音/子视频数据D1到动画再现引擎203的功能。磁盘装置管理器213按照来自元数据处理器210的指令执行数据发送处理。
缓存209临时存储从服务器设备201通过网络(通过网络管理器)发送的诸如Vclick数据的媒体数据M1。同样是在媒体数据M2被记录在活动图像数据记录介质231上的情况下,该媒体数据M2类似的通过磁盘装置管理器存储在缓存209中。
在媒体数据M2被记录在活动图像数据记录介质231上的情况下,在视频/声音/子视频数据D1被再现之前,媒体数据M2已经先从活动图像数据记录介质231读出并且存储在缓存209内。这成为一种避免以下的缺陷的措施。也就是说,因为活动图像数据记录介质231上的媒体数据M2的数据存储位置不同于视频/声音/子视频数据D1,当普通再现被执行的时候,出现了对磁盘的查找而且无缝再现无法保证。
如上所述,从服务器设备201下载的诸如Vclick数据的媒体数据M1与记录在活动图像数据记录介质231上的诸如Vclick数据的媒体数据M2类似的也被存储在缓存209中,所以其可以同时读取和再现视频/声音/子视频数据D1和媒体数据。
另外,缓存209的存储容量有一个限制。也就是说,能够被存储在缓存209中的媒体数据M1和M2的数据大小有限制。因此多余的数据可能被元数据管理器210和/或缓存管理器211的控制(缓存控制)擦除。
元数据管理器210管理存储在缓存209中的元数据,并从接口处理器207同步地接收适当的定时(“活动图像时钟”信号)给活动图像的再现并从缓存209发送有相关时间戳的元数据到媒体解码器216。
另外,在有相关时间戳的元数据不存在于缓存209的情况下,发送到媒体解码器216可能不会执行。该元数据管理器210执行控制来读出具有从缓存209发送的Vclick数据大小或来自服务器设备201或磁盘装置230的任意大小的数据到缓存209。作为一个指定过程,元数据管理器210通过接口处理器207发布一个有指定大小的Vclick数据的获取请求到网络管理器208或磁盘装置管理器213。网络管理器208或磁盘装置管理器213读取该具有指定大小的Vclick数据到缓存209中,并通过接口处理器207通知元数据管理器210该Vclick数据已经被获取。
缓存管理器211管理除存储在缓存209中的Vclick数据之外的数据(HTML等类型的文件、静止图像和伴随其的活动图像等等),从接口处理器207同步地接收适当的定时(“活动图像时钟”信号)给活动图像的再现,并发送除存储在缓存209中的Vclick数据之外的数据给分析器214或媒体解码器216。缓存管理器211可以从缓存209删除变得多余的数据。
分析器214执行对诸如HTML的标示语言所写的文件的分析,发送脚本到脚本解译器212并发送与布局相关的信息到布局管理器215。
脚本解译器212解译从分析器214输入的脚本并执行它。在脚本的执行过程中,从接口处理器207发出的事件输入和特性信息也可以被使用。在活动图像中的对象被用户指定了的情况下,脚本从元数据解码器217被输入到脚本解译器212。
AV呈现器218具有控制视频/声音/文本输出的功能。特别地,按照从布局管理器215输出的一个“布局控制信号”,AV呈现器218控制,例如,一个视频和文本的显示位置和显示尺寸(除此之外,显示定时和显示时间也可以被包括)、声音的音量(除此之外,输出定时和输出时间也可以被包括),并按照指定电动机的类型和/或要显示的视频的类型,执行视频的象素转换。视频/声音/文本输出作为控制的对象是从动画再现引擎203和媒体解码器216输出的。进一步地,AV呈现器218具有按照从接口处理器207输出的“AV输出控制”信号控制对从动画再现引擎203输入的视频/声音数据和从媒体解码器输入的视频/声音/文本数据的混合和切换的功能。
布局管理器215输出“布局控制”信号给AV呈现器218。该“布局控制”信号包括关于要被输出的动画/静止图片/文本的尺寸和位置的信息(关于诸如显示开始/结束/继续的显示时间的信息),而且是指示AV呈现器218选择要执行显示的布局的信息。此外,对于输入信息,诸如用户的点击、从接口处理器207的输入,其被判定哪个对象被指定,而且给元数据解码器217一个指令来提取一个为指定对象定义的操作指令,诸如相关信息的显示。该被提取的操作指令被发送给脚本解译器212并被执行。
媒体解码器216(包括元数据解码器)解码动画/静止图片/文本数据。该被解码的视频数据和文本图像数据从媒体解码器216发送到AV呈现器218。此外,解码数据通过从接口处理器207发出的“媒体控制”信号的指令被解码,并且与接口处理器207发出的“定时”信号同步的被解码。
参考标记219表示服务器设备的元数据记录介质,是一个硬盘、半导体存储器、磁带等等,要被发送给客户端设备200的Vclick数据记录在其上。该Vclick数据是与记录在活动图像数据记录介质231上的活动图像有关的元数据。在该Vclick数据包括后面将要描述的对象元数据。参考标记220表示服务器的网络管理器,执行数据的发送/接收,通过网络221到/从客户端设备200。
(3)EDVD数据结构和IFO文件图35的视图示出了当增强型DVD视频盘被作为活动图像数据记录介质231被使用时的数据结构的示例。增强型DVD视频盘的DVD视频区域存储与DVD视频标准的数据结构相同的DVD视频内容(具有MPEG2程序流结构)。进一步地,增强型DVD视频盘的其它记录区域存储了增强的导航(下面缩写为ENAV)内容,其可以丰富视频内容的再现。另外,以上记录区域的存在也是在DVD视频标准中被允许的。
在这里,DVD视频盘的基本数据结构将被描述。也就是说,DVD视频盘的记录区域从内边缘依次包括一个引入区、卷册空间和引出区。卷册空间包括卷/文件结构信息区和DVD视频区(DVD视频存储区),而且可以进一步随意的包括其它记录区域(DVD其它存储区)。
卷册/文件结构信息区2是一个分配用于UDF(通用盘格式)桥结构的区域。UDF桥格式的卷册按照ISO/IEC13346的第2部分被识别。卷册被识别的空间由连续的扇区组成,并且从图35的卷册空间的第一逻辑扇区开始。根据ISO9660,第16个逻辑扇区被保留用于系统使用。为了确保与传统DVD视频标准的兼容性,带有这种内容的该卷册/文件信息区成为必须。
此外,称为视频管理VMG的管理信息,和至少一个称为视频标题设置VTS(VTS#1至VTS#n)的视频内容被记录到DVD视频区内。该VMG是用于所有存在于DVD视频区的视频标题设置VTS的管理信息,而且包括控制数据VMG1、VMG菜单数据VMGM VOBS(选项)和VMG的备份数据。此外,每个视频标题设置VTS包括控制数据VTS的VTSI、VTS菜单数据VTSM_VOMS(选项),VTS的内容(电影等)的数据VTSTT_VOBS(标题),和VTSI的备份数据。为了确保与传统DVD视频标准的兼容性,带有这种内容的DVD视频区也成为必须。
各个标题(VTS#1至VTS#n)的再现选择菜单等事先被供应商(DVD视频盘的制造者)用VMG给出。一个指定标题(例如VTS#1)的再现段选择菜单、记录内容(单元)的再现过程等事先被供应商用VTSI给出。相应地,盘的观看者(DVD视频播放机的使用者)可以按照事先由供应商准备的VMG/VTSI的菜单和VTSI中的再现控制信息(程序链信息PGCI)欣赏盘1的记录内容。然而,在DVD视频标准中,观看者(用户)不能通过不同于供应商准备的VMG/VTSI的方法再现VTS的内容(电影或音乐)。
图35的增强型DVD视频盘被准备用于这样的设计,来实现通过不同于供应商准备的VMG/VTSI的方法的VTS的内容(电影或音乐)的再现,并实现与供应商准备的VMG/VTSI不同的内容的附加和再现。包括在该盘内的ENAV内容不能被基于DVD视频标准制造的DVD视频播放机访问(即使被访问,其内容也不能被使用),然而,其可以被按照本发明实施例的DVD视频播放机访问,而且再现内容可以被使用。
ENAV内容被构造为包括诸如声音、静止图片、字体和文本、电影、动画和Vclick数据,以及作为控制以上这些的再现的信息的ENAV文件(其使用标记/脚本语言描述)。在控制再现的信息中,ENAV内容(包括声音、静止图片、字体/文本、电影、动画、Vclick数据等等)的再现方法(显示方法、再现过程、再现切换过程、再现对象的选择等)和/或DVD视频内容用标示语言或脚本语言描述。例如HTML(超文本标示语言)/XHTML(可扩展超文本标示语言)或SMIL(同步多媒体集成语言)作为标示语言,以及ECMA(欧洲计算机制造商协会)脚本或Java脚本作为脚本语言在组合以后可以被使用。
在这里,在图35所示的增强型DVD视频盘中,因为不同于其它记录区域内容的内容遵循DVD视频标准,即使使用了已经流行的DVD视频播放机,记录在DVD视频区的视频内容也可以被再现(也就是说,其与传统DVD视频盘兼容)。尽管记录在其它记录区域的ENAV内容不能被传统的DVD播放机再现(或不能使用),但是其可以被按照本发明的实施例的DVD视频播放机再现。相应地,当按照本发明的实施例的DVD视频播放机被使用并且ENAV内容被再现,种类丰富的视频再现变为可能,而没有仅仅由供应商事先准备VMG/VTSI的内容的限制。
尤其是,如图35所示,ENVA内容包括Vclick数据,而且Vclick数据被构造为包括Vclick信息文件(Vclick info)、Vclick访问表、Vclick流、Vclick信息文件备份(Vclick info备份)和Vclick访问表备份。
Vclick信息文件是指示随后要提到的Vclick流被加到DVD视频内容(例如整个DVD视频内容的标题、整个段或其中的部分)的哪个部分的数据。Vclick访问表存在用于各个随后要提到的Vclick流,而且是用于访问该Vclick流的表格。Vclick流是包括活动图像中的对象的位置信息和诸如当对象被点击时的操作描述的数据的流。Vclick信息文件备份前面所述的Vclick信息文件的备份,而且总是与Vclick信息文件有相同的内容。Vclick访问表备份是前面所述的Vclick访问表的备份,而且总是与Vclick访问表有相同的内容。在图35的例子中,Vclick数据被记录在増强型DVD视频盘中。然而,如前所述,也有Vclick数据被放在网络上的服务器设备内的情况。
图36示出了组成Vclick信息文件、Vclick访问表、Vclick流、Vclick信息文件备份和Vclick访问表备份的文件的示例。组成Vclick信息文件的文件(VCKINDEX.IFO)是用XML(可扩展标示语言)语言描述的,Vclick流和Vclick流要被加入到的DVD视频文件的位置信息(VTS号、标题号、PGC号等)被描述。Vclick访问表由一个和多个文件(VCKSTR01.IFO至VCKSTR99.IFO,或任意文件名)组成,一个访问表文件对应于一个Vclick流。
Vclick流的位置信息(从文件报头的相对字节大小)和时间信息(对应的活动图像的时间戳或从文件报头的相对时间信息)之间的关系在Vclick流文件中被描述,对应于给定时间的再现开始位置可以被取得。
通过参考Vclick信息文件的描述,Vclick流被构造为一个或多个文件(VCKSTR01.VCK至VCKSTR99.VCK,或任意文件名)而且可以与加入的DVD视频内容一起被再现。在多个属性存在的情况下(例如,用于日语的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,使得想要的过程能够被执行。
(4)数据结构和访问表的概要Vclick流包括关于出现在记录在活动图像数据记录介质231上的活动图像上的诸如人或事务的对象的区域的数据,和在客户端设备200中的对象的显示方法的数据以及当对象被指定客户端设备执行的操作。下面,Vclick数据的结构及其结构元素的概要将被描述。
首先,作为关于出现在活动图像上的诸如人或事务的对象的区域的数据的对象区域数据将被描述。
图3是用于解释对象区域数据的结构的视图。参考标记300表示一个对象的轨迹图而且用三维坐标X(水平方向上的视频的坐标值)、Y(垂直方向上的视频的坐标值))、T(视频的时间)表示。对象区域每隔一个事先确定的范围时间(例如,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所示,这里,一个对象区域的某个连续时间段的轨迹被转换为数据。该对象区域被描述的时间段被称为Vclick_AU的有效期(有效时间)。通常,Vclick_AU的有效期与Vclick_AU的有效周期是一样的。然而,也有可能Vclick_AU的有效期是Vclick_AU的有效周期的一部分。
参考标记401表示Vclick_AU的报头。报头401包括一个用于识别Vclick_AU的ID和用于指定AU的数据大小的数据。参考标记402表示一个时间戳,以及表示Vclick_AU的有效周期开始的时间戳。通常,因为Vclick_AU的有效期和有效周期的值相等,所以它也表示在对象区域数据400中描述的对象区域对应于活动图像中的哪个时间。如图3所示,因为对象区域延伸到一个时间范围,通常,对象区域的顶点的时间被写入时间戳402。当然,在对象区域数据中描述的对象区域的时间间隔和对象区域的末端的时间也被描述。参考标记403表示对象属性信息,而且包括,例如,对象的名称、当对象被指定时的操作描述、对象的显示属性等等。Vclick_AU中的数据将在后面详细描述。最好是以时间戳的顺序依次排列和记录Vclick_AU以便其可以从头开始处理。
图5是用于解释复数个AU以时间戳的顺序被排列并产生Vclick流的方法的视图。在该图中,有两个摄像视角,也就是,摄像视角1和摄像视角2,而且假定如果摄像视角在客户端设备中被切换,要被显示的活动图像也被切换。此外,假定可选择的语言模式包括两种,也就是,日语和英语,而且单独的Vclick数据被准备用于相应的语言。
图5中,Vclick_AU500、501和502用于摄像视角1和日语,Vclick_AU503用于摄像视角2和日语。Vclick_AU504和505用于英语。各个Vclick_AU从500至505是对应于活动图像中的一个对象的数据。也就是说,如图3和4所述,与一个对象相关的元数据被构造为一个或多个Vclick_AU(图5中,一个矩形表示一个AU)。该图中的水平轴对应于活动图像中的时间,Vclick_AU500至505被相应的描述为对象的出现时间。
尽管各个Vclick_AU的时间分隔符可以是任意的,如图5示例的,当Vclick_AU的分隔符被对齐用于所有对象,数据的管理就变得简单了。参考标记506表示由这些Vclick_AU(500至505)构成的一个Vclick流。该Vclick流是通过以时间戳的顺序依次安排Vclick_AU到报头部分507构造而成的。
因为很可能已选择的摄像视角在观看的过程中被用户改变,最好是通过将有不同的摄像视角的Vclick_AU复用入Vclick流来组成Vclick流。这是因为在客户端高速显示切换可以被执行。例如,当Vclick数据被输入服务器设备201时,而且当包括不同摄像视角的Vclick_AU的Vclick流被发送给客户端设备时,摄像视角的切换可以即使完成。当然,客户端设备200的设置信息被发送给服务器设备201,而且只有必要的Vclick_AU从Vclick流中选出可以被发送。然而,在这种情况下,因为需要完成与服务器的通信,该处理变得有些慢(但是,当诸如光纤这样的高速方法被用于通信,处理延时的问题能被解决)。
另一方面,因为诸如活动图像标题、DVD视频的PGC、活动图像的长宽比、和观看区域的属性具有低频变化特性,当他们作为单独的Vclick流被准备,客户端的处理变得轻便,而且网络的负担也变轻了。在多个Vclick流存在的情况下,如前所述,通过参考Vclick信息文件,可以确定哪个Vclick流应该被选择。
在Vclick数据出现在服务器设备201中的情况下,以及在活动图像被从头开始再现的情况下,服务器设备201只有从头开始按顺序传送Vclick流给客户端设备。然而,在随机访问出现的情况下,需要从Vclick流的中间开始传送数据。这时,为了高速的访问Vclick流的想要的位置,提供一个Vclick访问表就变得必要了。
图6示出了Vclick访问表的一个示例。该表格被事先准备并与Vclick流一起被记录。该表格也可以做成与Vclick信息文件相同的文件。参考标记600表示时间戳的排列,而且活动图像的时间戳被列出。参考标记601表示访问点的排列,而且Vclick流的偏移量按照活动图像的时间戳从头开始被列出。对应于活动图像的随机访问目的地的时间戳在Vclick访问表中不存在的情况下,将参考一个接近值的时间戳的访问点,而且当参考在Vclick流中的访问点的附近位置时,发送起始位置被查找。可替代地,从Vclick访问表中查找活动图像的随机访问目的地的时间戳之前的时间戳,而且该Vclick流从该对应的时间戳的访问点发送。
Vclick访问表存储在服务器设备中,被提供以帮助服务器设备按照客户端的随机访问检索要发送的Vclick数据。然而,该存储在服务器设备中的Vclick访问表被下载到客户端设备,客户端设备也可以查找Vclick流。特别是,在Vclick流被立刻从服务器设备下载到客户端设备的情况下,Vclick访问表也被立刻从服务器设备下载到客户端设备。
另一方面,也存在Vclick流被记录在诸如DVD的活动图像记录介质上并被提供的情况。也是在这种情况下,为了按照再现内容的随机访问重新得到要使用的数据,客户端设备使用Vclick访问表是有效的。在这种情况下,类似于Vclick流,Vclick访问表被记录在活动图像记录介质上,而且客户端设备从活动图像记录介质上读取Vclick访问表到内部主存储器等中并使用它。
连同活动图像的随机再现产生的Vclick流的随机再现,被元数据解码器217处理。在图6的Vclick访问表中,时间戳“time”是有记录在活动图像记录介质上的活动图像的时间戳的格式的时间信息。例如,当活动图像用MPEG-2压缩和记录时,时间戳“time”具有MPEG-2的PTS的格式。进一步地,例如在DVD中活动图像具有诸如标题的导航结构和一个程序链的情况下,表达这些的参数(TTN、VTS_TTN、TT_PGCN、PTTN等等)被包括在时间戳“time”的格式中。时间戳的值被升序或降序排列。例如,PTS被用于时间戳的情况下,其可以按时间顺序排列。同样,相对于包括DVD参数的时间戳,因为顺序关系可以按照DVD的自然再现顺序被定义,所以可以顺序的排列时间戳。
在图6的Vclick访问表中,访问点“offset”指示Vclick流上的位置。例如,Vclick流是一个文件,访问点“offset”指示文件的文件指针值。访问点“offset”与其成对的时间戳“time”的关系如下i)由“offset”指示的位置是某个Vclick_AU的起始位置。
ii)某个AU的时间戳的值不大于时间戳“time”的值。
iii)在某个AU之前的AU的时间戳的值确实要小于时间戳“time”。
Vclick访问表中的时间戳“time”的排列间隔可以是任意的,并不要求统一。然而,考虑到检索方便,它们可以做成统一的。
随后,服务器设备和客户端设备之间的协议将被描述。作为在Vclick数据从服务器设备201发送到客户端设备200的时候的协议,例如,有RTP(实时传输协议)。RTP与UDP/IP兼容,而且重要性被加入到实时特性中,所以有丢失数据包的可能性。当RTP被使用,Vclick流被分割成传输数据包(RTP数据包)被发送。在这里将描述Vclick流的存储为传输数据包的方法的例子。
图7和图8是用于解释在Vclick_AU的数据的大小为小和Vclick_AU的数据大下为大的情况下的传输数据包构造方法的视图。图7的参考标记700表示一个Vclick流。传输数据包包括一个报头701和负荷。报头701包括一个数据包的序列号、传输时间、传输起始地址的指定信息等等。从Vclick_AU700中按顺序析取的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流如何被分割成数据包并存储。
(5)在Vclick数据出现在服务器设备中的情况下的再现过程。
下面,将描述在Vclick数据出现在服务器设备201中的情况下的再现过程。
图37是描述从再现开始的用户指令到再现开始的再现开始处理过程的流程图。首先,在步骤3700,再现开始的指令由用户输入。接口处理器207接收该输入,并发布一个活动图像再现准备的指令给活动图像再现控制器205。然后,作为一个分支处理步骤S3701,其判断是否与服务器设备201的会话已经被配置。当会话还没有被配置好,处理进入步骤S3702,当会话已经配置好了,其进入步骤S3703。在步骤S3702,服务器和客户端之间的会话配置处理被执行。
图9示出了在RTP用于服务器和客户端之间的通信协议的情况下从会话配置到会话断开的通信过程的示例。尽管在会话的开始执行服务器和客户端之间的协商是必要的,在RTP、RTSP(实时流协议)的情况下是经常使用的。然而,因为RTSP的通信要求高可靠性,最好该通信是由RTSP中的TCP/IP和RTP中的UDP/IP实现的。首先,为了配置会话,客户端设备(图2的示例中的200)请求服务器设备(图2的示例中的201)提供关于服从于流(RTSP的DESCRIBE方法)的Vclick数据的信息。
这里,假定要传送对应于要被再现的活动图像的数据的服务器的地址已经事先被客户端知道,通过,例如,在活动图像数据介质上记录地址信息。响应该请求,服务器设备发送Vclick数据的信息给客户端设备。特别地,诸如会活的协议版本、会话主人、会话名称、连接信息、会话的时间信息、元数据名称和元数据属性的信息被发送给客户端设备。作为这些信息的信息描述方法,例如,SDP(会话描述协议)被使用。然后,客户端请求服务器设备配置会话(RTSP的建立方法)。服务器设备准备流,并返回一个会话ID给客户端设备。直到这一点的处理就是使用RTP情况下的步骤S3702的处理。
如图10所示例的,在使用HTTP而不是RTP情况下的通信过程,被执行。首先,会话配置(3种方式握手)在作为比HTTP更低层的TCP层被执行。在这里,与上面类似的,假定要传送对应要被再现的活动图像的数据的服务器的地址已经事先被客户端知道。此后,通过使用SDP等发送客户端设备的状态(例如,生产国家、语言、各种参数的选择状态等)给服务器设备的过程可以被执行。直到这一点的处理就是当使用HTTP时的步骤S3702的处理。
在步骤S3703,在服务器设备和客户端设备之间的会话已经配置好的情况下,要求服务器发送Vclick数据的过程被执行。其通过这样的方法被执行,接口处理器发布一个指令给网络管理器208,网络管理器208发布一个请求给服务器。在RTP的情况下,网络管理器208发送RTSP的PLAY方法给服务器,并请求Vclick数据的传送。服务器设备引用从客户端接收的信息直到这时和存在于服务器设备中的Vclick信息,并指定要被发送的Vclick流。进一步地,客户端设备使用包括在Vclick数据发送请求中的再现开始位置的时间戳信息和存在于服务器设备中的Vclick访问表来指定Vclick流中的发送起始位置,将Vclick流分割成数据包,并通过RTP发送给客户端设备。
另一方面,在HTTP的情况下,网络管理器208发送HTTP的GET方法,并请求Vclick数据传输。该请求可以包括活动图像的再现开始位置的时间戳的信息。服务器设备通过类似于RTP的方法指定要被传输的Vclick流以及流中的发送起始位置,并通过HTTP发送Vclick流给客户端设备。
然后,在步骤S3704,缓存从服务器发出的Vclick流到缓存209中的处理被执行。其执行是为了避免这样的状态,在Vclick流再现的过程中从服务器传输的Vclick流变得不足,而且缓存变空。当元数据管理器210通知接口处理器有充足的Vclick流存储在缓存中时,处理前进到步骤S3705。在步骤S3705,接口处理器发布活动图像的再现开始指令给控制器205,并命令元数据管理器210开始Vclick流的传输到元数据解码器217。
图38是用于解释不同于图37的再现开始过程的流程图。在图37的流程中解释的处理中,按照网络的状态和服务器和客户端的处理能力,有在步骤S3704花费过多时间完成缓存固定量的Vclick流的情况。也就是,有从再现的用户指令到实际再现的开始花费较多时间的情况。在图38的处理过程中,在步骤S3800当用户命令再现开始时,活动图像的再现在步骤S3801立即启动。也就是说,从用户接收到再现开始指令的接口处理器207立刻发布再现开始指令给处理器205。这样,用户在再现指令之后不用保持等待直到活动图像可以被观看。从下一个步骤S3802到步骤S3805的处理与图37的步骤S3701到S3704的处理是一样的。
在步骤S3806,在再现期间与活动图像同步解码Vclick流的处理被执行。也就是说,当从元数据管理器210收固定量的Vclick流被存储在缓存中的通知时,接口处理器207命令元数据管理器210开始传输Vclick流给元数据解码器。元数据管理器210在再现期间从接口处理器接收活动图像的时间戳,从存储在缓存的数据中指定对应于该时间戳的Vclick_AU,并将其传送给元数据解码器。
在图38的处理过程中,尽管用户在再现指令之后无需保持等待直到活动图像可以被观看,还是存在一个问题,因为Vclick_AU流的解码不是在指令开始之后立即执行,涉及对象的显示并没有实现,或尽管对象被点击,没有任何操作发生。
在活动图像的再现过程中,客户端设备的网络管理器208依次接收从服务器设备发送的Vclick_AU流,并存储在缓存209中。被存储的对象元数据在适当的时间被发送给元数据解码器217。也就是说,元数据管理器210查阅在再现期间从元数据管理器210发送的活动图像的时间戳,从存储在缓存209的数据中指定对应于该时间戳的Vclick_AU,并以AU为单元发送该指定的对象元数据给元数据解码器217。元数据解码器217解码接收到的数据。然而,通过用户目前选择的不同于一个摄像视角的摄像视角的数据可以不被解码。在已知在再现期间对应于活动图像的时间戳的Vclick_AU已经存在于元数据解码器217中的情况下,对象元数据可以不被发送给元数据解码器。
在再现期间活动图像的时间戳是依次从接口处理器发送给元数据解码器217的。元数据解码器与时间戳同步解码Vclick_AU,并发送必要的数据给AV呈现器218。例如,在对象区域的显示通过在Vclick_AU中描述的属性信息来指导的情况下,一个屏蔽图像和对象区域的轮廓被创造,而且与再现期间的活动图像的时间戳同步被发送给AV呈现器218。此外,元数据解码器比较再现期间活动图像的时间戳与Vclick_AU的有效时间来判断那个旧的对象元数据是多余的,并删除该数据。
图39是用于解释再现停止处理的过程的流程图。在步骤S3900,在活动图像的再现期间用户指示再现停止。然后,在步骤S3901,停止活动图像的再现的处理被执行。它是通过接口处理器207发布停止指令给控制器205这样的方法来实现的。同时,接口处理器命令元数据管理器210停止传送对象元数据给元数据解码器。
步骤S3902是断开与服务器的会话的处理。在使用RTP的情况下,如图9所示,RTSP的TEARDOWN方法被发送给服务器。当接收到TEARDOWN的消息时,服务器设备停止数据发送,结束会话,并发送确认消息给客户端设备。通过这个处理,用于会话的会话ID变为无效。另一方面,在使用HTTP的情况下,如图10所示,HTTP的CLOSE方法被发送给服务器,然后会话结束。
(6)Vclick数据出现在服务器设备中的情况下的随机访问过程下面,将描述Vclick数据出现在服务器设备201中的情况下的随机访问再现的过程。
图40是示出从随机访问再现的开始的用户的指令到该再现开始的处理过程的流程图。首先,在步骤S4000,由用户输入该随机防问再现的开始指令。作为该输入的方法,有用户从诸如段落的可访问位置的列表中进行选择的方法,用户从对应于活动图像的时间戳的滑杆中指定一个点的方法,或者直接输入活动图像的时间戳的方法。接口处理器207接收输入的时间戳,并发布活动图像再现准备的指令到活动图像再现控制器205。在该活动图像已经被再现的情况下,再现期间中的活动图像的再现停止被指示,并且活动图像再现准备的指令被发布。然后,作为分支处理步骤S4001,判断与服务器设备201的会话是否已经被配置。在会话已经被配置的情况下,例如,在活动图像已经被再现的情况下,步骤S4002的会话断开处理被执行。当该会话还未被配置时,步骤S4002的的处理不被执行,并且处理前进到步骤S4003。在步骤S4003,配置服务器和客户端之间的会话的处理被执行。这个处理是与图37的步骤S3702相同的处理。
接下来,在步骤S4004,在服务器设备与客户端设备之间的会话被配置的状态下,为服务器指定再现开始位置的时间戳,并执行请求Vclick数据传输的处理。其通过这样的方法被执行,接口处理器发布一个指令给网络管理器208,网络管理器208发布一个请求给服务器。在RTP的情况下,网络管理器208发送RTSP的PLAY方法给服务器,并请求Vclick数据的传送。这时,通过使用范围描述的方法指定再现开始位置的时间戳也被发送到服务器。服务器设备引用直到这时从客户端接收的信息和存在于服务器设备中的Vclick信息,并指定要被发送的对象元数据流。进一步地,服务器设备使用包括在Vclick数据发送请求中的再现开始位置的时间戳信息和存在于服务器设备中的Vclick访问表来指定Vclick流中的发送起始位置,将Vclick流分割成数据包,并通过RTP发送给客户端设备。
另一方面,在HTTP的情况下,网络管理器208发送HTTP的GET方法,并请求Vclick数据传输。该请求包括活动图像的再现开始位置的时间戳的信息。类似于RTP,服务器引用Vclick信息文件来指定要被发送的Vclick流,并进一步使用该时间戳信息和存在于服务器设备中的Vclick访问表来指定Vclick流中的发送起始位置,并通过HTTP发送Vclick流给客户端设备。
然后,在步骤S4005,缓存从服务器发出的Vclick流到缓存209中的处理被执行。其执行是为了避免这样的状态,在Vclick流再现的过程中从服务器传输的Vclick流变得不足,而且缓存变空。当从元数据管理器210通知接口处理器有充足的Vclick流存储在缓存中时,处理前进到步骤S4006。在步骤S4006,接口处理器发布活动图像的再现开始指令给控制器205,并进一步发布该指令给元数据管理器210以开始传输Vclick流到元数据解码器。
图41是用于解释不同于图40的随机访问再现开始过程的流程图。在图40的流程中解释的处理中,按照网络的状态和服务器和客户端的处理能力,有在步骤S4005花费过多时间完成缓存固定量的Vclick流的情况。也就是说,有从再现的用户指令到实际再现的开始花费较多时间的情况。
另一方面,在图41的处理过程中,在步骤S4100当用户命令再现开始时,活动图像的再现在步骤S4101立即启动。也就是说,从用户接收到再现开始指令的接口处理器207立刻发布再现开始指令给处理器205。这样,用户在再现指令之后不用保持等待直到活动图像可以被观看。从下一个步骤S4102到步骤S4106的处理与图40的步骤S4001到S4005的处理是一样的。
在步骤S4107,在再现期间与活动图像同步解码Vclick流的处理被执行。也就是说,当从元数据管理器210接收到固定量的Vclick流被存储在缓存中的通知时,接口处理器207命令元数据管理器210开始传输Vclick流给元数据解码器。元数据管理器210在再现期间从接口处理器接收活动图像的时间戳,从存储在缓存的数据中指定对应于该时间戳的Vclick_AU,并将其传送给元数据解码器。
在图41的处理过程中,尽管用户在再现指令之后无需保持等待直到活动图像可以被观看,但是因为Vclick_AU流的解码不是在再现开始之后立即执行,还是存在涉及对象的显示并没有实现,或尽管对象被点击,没有任何操作发生的问题。
另外,因为活动图像的再现期间的处理和活动图像停止处理是与普通再现的情况相同的,它们的说明将被省略。
(7)Vclick数据存在于在客户端设备中的情况下的再现过程下面,将描述Vclick流存在于活动图像数据记录介质231中的情况下再现处理的过程。
图42是示出从再现的开始的用户的指令到该再现开始的再现开始处理过程的流程图。首先,在步骤S4200,由用户输入该再现开始的指令。接口处理器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查阅在再现期间从元数据管理器210发送的活动图像的时间戳,从存储在缓存209的数据中指定对应于该时间戳的Vclick_AU,并发送该指定的Vclick_AU给元数据解码器217。元数据解码器217解码接收到的数据。然而,通过不同于用户目前选择的摄像视角的摄像视角的数据可以不被解码。在已知在再现期间对应于活动图像的时间戳的Vclick_AU已经存在于元数据解码器217中的情况下,该Vclick流可以不被发送给元数据解码器。
在再现期间活动图像的时间戳是依次从接口处理器发送给元数据解码器217的。元数据解码器与时间戳同步解码Vclick_AU,并发送必要的数据给AV呈现器218。例如,在对象区域的显示通过在Vclick_AU中描述的属性信息来指示的情况下,一个屏蔽图像和对象区域的轮廓被创造,而且与再现期间的活动图像的时间戳同步被发送给AV呈现器218。此外,元数据解码器比较再现期间活动图像的时间戳与Vclick_AU的有效时间,判断那个旧的对象元数据是多余的,并删除该数据。
当在活动图像的再现期间用户指示再现停止时,接口处理器207发布活动图像的再现的停止指令和Vclick流的读取的停止指令到控制器205。通过这个指令,活动图像的再现被结束。
(8)Vclick数据存在于客户端设备中的情况下的随机访问过程下面,将描述Vclick流是在活动图像数据记录介质231上的情况下的随机访问再现的处理过程。
图43是示出从随机访问再现的开始的用户的指令到该再现开始的处理过程的流程图。首先,在步骤S4300,由用户输入该随机访问再现的开始指令。作为该输入的方法,有用户从诸如段落的可访问位置的列表中进行选择的方法,用户从对应于活动图像的时间戳的滑杆中指定一个点的方法,或者直接输入活动图像的时间戳的方法。接口处理器207接收输入的时间戳,并发布活动图像再现准备的指令到活动图像再现控制器205。
然后,在步骤S4301,指定要被使用的Vclick流的处理被执行。在这个处理中,接口处理器查阅活动图像数据记录介质231上的Vclick信息文件,并指定对应于由用户命令的再现的活动图像的Vclick流。进一步,接口处理器查阅活动图像数据记录介质231上的Vclick访问表或者读到存储器上的Vclick访问表,并指定对应于该活动图像的随机访问目的地的Vclick流中的访问点。
步骤S4302是分支处理,其判断是否指定的Vclick流目前被读出在缓存器209中。在其未被读出在缓存中的情况下,在步骤上S4303的处理被执行之后,处理前进到步骤S4304。在目前其已被读取到缓存中的情况下,步骤S4303的处理不被执行并且处理前进到步骤S4304。在步骤S4304,开始活动图像的随机访问再现,并且开始Vclick流的解码。在这个处理中,接口处理器207发布该活动图像的随机访问再现指令给活动图像再现控制器205,并同时发布该指令给元数据管理器210以便开始传输Vclick流到元数据解码器。此后,与该活动图像的再现同步的执行该Vclick流的解码处理。因为活动图像再现期间的处理和活动图像再现停止处理是与普通再现处理的情况相同的,其说明将被省略。
(9)从点击到相关信息的显示的过程接下来,将描述在用户使用诸如鼠标的定点设备点击对象区域的情况下客户端设备的操作。当用户点击时,活动图像上的所点击的坐标位置被输入到接口处理器207。该接口处理器发送点击时刻该活动图像的时间戳和坐标到元数据解码器217。从该时间戳和坐标,元数据解码器执行处理以识别由用户指示的对象。
元数据解码器与活动图像的再现同步的解码该Vclick流。从而,因为在点击时刻产生该时间戳的对象的区域,这个处理能容易地被执行。在多个对象区域存在于所点击的坐标的情况下,参考包括在Vclick_AU中的层信息,并且识别最接近的对象。
当由用户指定的对象被识别时,元数据解码器217发送在对象属性信息403中描述的动作说明(指示操作的脚本)到脚本解译器212。具有所接收的动作说明的该脚本解译器解译该操作内容并执行它。例如,显示指定的HTML文件,或者开始指定的活动图像的再现。该HTML文件和活动图像数据可以被记录在客户端设备200中,可以是通过网络从服务器设备210发送的,或可以存在于网络上的另一个服务器中。
(10)数据结构细节接下来,将描述数据结构的更特别的结构性例子。如图5中所示,该Vclick流506包括Vclick流的报头和该多个Vclick_AU。图11示出了该Vclick流的报头的数据结构的例子。各个数据元素的含义如下“vclick_version”表示Vclick流的报头的开始,并指定格式的版本;和“vclick_length”以字节表示Vclick流中“vclick_length”之后部分的数据长度。
接下来,将描述Vclick_AU的详细的数据结构。该Vclick_AU的大致的数据结构是如图4所描述的。
图12示出了该Vclick_AU的报头401的数据结构的示例。各个数据元素的含义如下“vau_start_code”表示各个Vclick_AU的开始;“Vau_length”以字节表示在Vclick_AU的报头中“vau_length”之后部分的数据长度;“vau_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”。类似地,第二比特表示在该Vclick_AU中描述的对象区域与在具有相同“object_id”的下一个Vclick_AU中描述的对象区域的连续性。);和“layer”表示对象的层值。当层值较大(或小)时,表示对象被放置在屏幕的前面。在所点击位置中存在多个对象的情况下,其判断具有最大(或最小)层值的对象被点击。
图13示出了该Vclick_AU的时间戳402的数据结构的示例。在这个例子中,假设DVD作为活动图像数据记录介质231被使用。通过使用下面的时间戳,指定DVD上活动图像的任意时间成为可能,并且能够实现该活动图像和Vclick数据的同步。各个数据元素的含义如下“time_type”表示DVD的时间戳的开始;“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比特的数据。
图14示出了该Vclick_AU的时间戳跳跃的数据结构的示例。在该Vclick_AU中描述的时间戳跳跃代替时间戳的情况下,它意味着该Vclick_AU的时间戳是与刚刚之前的Vclick_AU的时间戳相同的。各个数据元素的含义如下“time_type”表示时间戳跳跃的开始。
图15示出了该Vclick_AU的对象属性信息的数据结构的示例。各个数据元素的含义如下“attribute_length”以字节表示在时象属性信息中的“attribute_length”之后部分的数据长度;和“data_bytes”表示对象属性信息的数据部分。在这个部分中描述了图16中所示的一个或多个属性数据。相对于各个属性在一个Vclick_AU中能被描述的数据的最大数量的例子在图16的“maximum value”栏被指示。数据元素“attribute_id”表示包括在各个属性数据中的ID,并表示用于区分属性种类的数据。“name”属性指示了用于指定对象名称的信息。在“action”属性中,其描述了当活动图像中的对象区域被点击时什么动作应该被执行。“contour”属性指示了如何显示对象的轮廓。“blinking area”属性在对象区域闪烁和被显示时刻指定了闪烁颜色。在“mosic area”属性中,描述了在对象区域被马赛克并被显示时形成马赛克的方式。“filled-in area”属性在对象区域被着色并被显示时指定了颜色。
属于“text”范畴的属性定义了当想要在活动图像上显示字符时与要被显示的字符有关的属性。在“text_information”中描述了要被显示的文本。“text_attribute”指定了要被显示的文本的颜色,字体等的属性。“highlight effect”属性在部分或所有文本被亮显显示时指定了什么字符以什么方式被亮显显示。“blinking effect”属性在部分或所有文本被闪烁显示时指定了什么字符以什么方式被闪烁显示。在“scroll effect”属性中,其指定了在要显示的文本被滚动时在哪个方向以什么速度执行滚动。在“karaoke effect”属性中,其指定了当文本颜色被顺序地改变时,哪个字符的颜色在什么时间应当被改变。最后,使用“layerextension”属性定义了在该Vclick_AU中对象的层值被改变的情况下改变层值的时间和改变的值。在下面将分别描述上述属性的数据结构。
图17示出了对象的名称属性的数据结构的示例。各个数据元素的含义如下“attribute_ld”表示属性数据的类型,并且这个值相对于名称属性被设为00h;“data_length”以字节表示名称属性数据的“data_length”之后的数据长度;“language”表示随后的元素(名称和动画)的描述所使用的语言,并且使用ISO-639[用于语言的名称的表示的编码]指定语言;“name_length”以字节表示“name”元素的数据长度;“name”表示字符串,并表示在这个Vclick_AU中描述的对象的名称;“annotation_length”表示“annotation”元素的数据长度;和“annotation”表示字符串,并表示与在这个Vclick_AU中描述的对象有关的注解。
图18示出了对象的动作属性的数据结构的示例。各个数据元素的含义如下“attribute_id”表示属性数据的类型,并且这个值相对于“action”属性被设为01h;“data_length”以字节表示动作属性数据的“data_length”之后部分的数据长度;“script_language”表示在“script”元素中描述的一种脚本语言的种类;“script_length”以字节单元表示“script”元素的数据长度;和“script”表示字符串,并且在由用户指定这个Vclick_AU中描述的对象的情况下,要被执行的动作以由“script_language”指定的脚本语言被描述。
图19示出了对象的轮廓属性的数据结构的示例。各个数据元素的含义如下“attribute_id”表示属性的类型,并且这个值相对于轮廓属性被设为02h;“data_length”表示轮廓属性数据中的“data_length”之后部分的数据长度;“color_r”、“color_g”、“color_b”和“colo_a”表示对象元数据AU中描述的对象的轮廓的显示颜色;“color_r”,“color_g”和“color_b”分别表示颜色的RGB表示中的红色,绿色,和蓝色的值,而“color_a”表示透明度;“line_type”表示在Vclick_AU中描述的对象的轮廓的种类(实线,虚线等);和“thickness”表示在Vclick_AU中描述的对象的轮廓的厚度。
图20示出了对象的闪烁区域属性的数据结构的示例。各个数据元素的含义如下“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”表示闪烁的时间间隔。
图21示出了对象的马赛克区域属性的数据结构的示例。各个数据元素的含义如下“attribute_id”表示属性数据的类型,并且这个值相对于马赛克区域属性数据被设为04h;“data_length”以字节表示马赛克区域属性数据中的“data_length”之后部分的数据长度;
“mosic_size”表示像素单元中马赛克块的大小;和“randomness”表示马赛克块的位置被交换的情况下随机交换的级别。
图22示出了对象的填充区域属性的数据结构的示例。各个数据元素的含义如下“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”表示透明度。
图23示出了对象的文本信息的数据结构的示例。各个数据元素的含义如下“attribute_id”表示属性数据的类型,并且这个值相对于对象的文本信息被设为06h;“data_length”以字节表示在对象的文本信息中的“data_length”之后部分的数据长度;“language”表示描述的文本的语言,并且作为语言的指定方法,例如,能够使用ISO-639“用于语言的名称的表示的编码”;“char_code”表示文本的编码种类,并例如,UTF-8,UTF-16,ASCII或移动JIS被指定;“direction”表示作为字符排列方向的向左,向右,向下,或向上(例如,在英语或法语中,字符通常向左排列。另一方面,在阿拉伯语中,字符向右排列,而在日语中,向左或向下排列。然而,可以指定除为每种语言确定的排列方向之外的方向。此外,可以指定倾斜方向。);“text_length”以字节表示“timed_text”的长度;和“text”表示字符串,并表示使用由“char_code”指定的字符编码来描述的文本。
图24示出了对象的文本属性的数据结构的示例。各个数据元素的含义如下
“attribute_id”表示属性数据的类型,并且这个值相对于对象的文本属性被设为07h;“data_length”以字节表示在对象的文本属性中的“data_length”之后部分的数据长度;“font_length”以字节单元表示字体的描述长度;“font”表示字符串,并且当文本被显示时指定所使用的字体;和“color_r”,“color_g”,“color_b”和“color_a”表示当文本被显示时所使用的显示颜色。颜色由RGB表示,并且“color_r”,“color_g”,“color_b”分别表示颜色的RGB表示中的红色,绿色,和蓝色的值,而“color_a”表示透明度。
图25示出了对象的文本亮显效果属性的数据结构的示例。各个数据元素的含义如下“attribute_id”表示属性数据的类型,并且这个值相对于对象的文本亮显效果属性数据被设为08h;“data_length”以字节表示在对象的文本亮显效果属性数据中的“data_length”之后部分的数据长度;“entry”表示文本亮显效果属性数据中“highlight_effect_entry”的数量;和“highlight_entries”包括“highlight_effect_entry”的“entry”数量。
下面将描述“highlight_effect_entry”的详细说明。
图26示出了对象的文本亮显效果属性的入口的数据结构的示例。各个数据元素的含义如下“start_position”通过从头到该字符的字符数表示要被强调的字符的开始位置;“end_position”通过从头到该字符的字符数表示要被强调的字符的结束位置;和“color_r”,“color_g”,“color_b”和“color_a”表示加重后该字符的显示颜色。颜色由RGB表示。此外,“color_r”,“color_g”,“color_b”分别表示颜色的RGB表示中的红色,绿色,和蓝色的值,而“color_a”表示透明度。
图27示出了对象的文本闪烁效果属性的数据结构的示例。各个数据元素的含义如下“attribute_id”表示属性数据的类型,并且这个值相对于对象的文本闪烁效果属性数据被设为09h;“data_length”以字节表示在对象的文本闪烁效果属性数据中的“data_length”之后部分的数据长度;“entry”表示文本闪烁效果属性数据中“blink_cffect_entry”的数量;和“blink_entries”包括“blink_effect_entry”的“entry”数量。
下面将描述“blink_effect_entry”的详细说明。
图28示出了对象的文本闪烁效果属性的入口的数据结构的示例。各个数据元素的含义如下“start_position”通过从头到该字符的字符数表示要被闪烁的字符的开始位置;“end_position”通过从头到该字符的字符数表示要被闪烁的字符的结束位置;和“color_r,“color_g”,“color_b”和“color_a”表示闪烁字符的显示颜色(颜色由RGB表示。此外,“color_r”,“color_g”,“color_b”分别表示颜色的RGB表示中的红色,绿色,和蓝色的值,而“color_a”表示透明度。这里指定的颜色和由文本属性指定的颜色被交替显示这样该字符被闪烁。);和“interval”表示闪烁的时间间隔。
图29示出了对象的文本滚动效果属性的数据结构的示例。各个数据元素的含义如下“attribute_id”表示属性数据的类型,并且这个值相对于对象的文本滚动效果属性数据被设为0ah;“data_length”以字节单元表示在对象的文本滚动效果属性数据中的“data_length”之后部分的数据长度;“direction”表示字符滚动的方向,并例如,0表示从右到左的方向,1表示从左到右的方向,2表示从上到下的方向,3表示从下到上的方向;和“delay”通过要被显示的第一个字符的显示和最后字符的显示之间的时间差来表示滚动的速度。
图30示出了对象的文本卡拉ok录音效果属性的数据结构的示例。各个数据元素的含义如下“attribute_id”表示属性数据的类型,并且这个值相对于对象的文本卡拉ok录音效果属性数据被设为0bh;“data_length”以字节单元表示在对象的文本卡拉ok录音效果属性数据中的“data_length”之后部分的数据长度;“start_time”表示由包括在属性数据的“data_byte”中的第一“karaoke_effect_entry”指定的字符串的字符颜色的改变开始时间;“entry”指示文本卡拉ok录音效果属性数据中“karaoke_effect_entry”的数量;和“karaoke_entries”包括“karaoke_effect_entry”的“entry”数量。
下面将描述“karaoke_effect_entry”的详细说明。
图31示出了对象的文本卡拉ok录音效果属性的入口(“karaoke_effect_entry”)的数据结构的示例。各个数据元素的含义如下“end_time”表示由这个口指定的字符串的字符颜色的改变结束时间,并且在这个入口之后还有入口的情况下,它也表示由下一个入口指定的字符串的字符颜色的改变开始时间;“start_position”通过从头到该字符的字符数表示要被改变字符颜色的字符串的第一个字符的位置;“end_position”通过从头到该字符的字符数表示要被改变字符颜色的字符串的最后一个字符的位置。
图32示出了对象的层属性扩展的数据结构的示例。各个数据元素的含义如下“attribute_id”表示属性数据的类型,并且这个值相对于对象的层属性扩展数据被设为0ch;“data_length”以字节单元表示在对象的层属性扩展数据中的“data_length”之后部分的数据长度;“start_time”表示当由包括在属性数据的“data_byte”中的第一“layer_extension_entry”指定的层值变为有效时的开始时间;“entry”表示包括在层属性扩展数据中的“layer_extension_entry”的数量;和“layer_entries”包括“layer_extension_entry”的“entry”数量。
下面将描述“layer_extension_entry”的详细说明。
图33示出了对象的层属性扩展的入口(“layer_extension_entry”)的数据结构的示例。各个数据元素的含义如下“end_time”表示当由“layer_extension_entry”指定的层值变为无效的时的时间,并且在紧跟这个入口后还有入口的情况下,它也同时表示当由下一个入口指定的层值变为有效时的时间;和“layer”表示该对象的层值。
图34示出了对象元数据的AU的对象区域数据400的数据结构的示例。各个数据元素的含义如下“vcr_start_code”表示对象区域数据的开始;“data_length”以字节表示在对象区域数据中的“data_length”之后部分的数据长度;“data_bytes”表示数据部分,其中对象区域被描述。例如,为了该对象区域的描述,MPEG-7的“SpatioTemporalLocator”的二进制格式可以被使用。
(11)Vclick缓存接下来,将描述缓存209中的数据量的变化,然后,将描述确定活动图像的再现开始的时间的方法。
(11-1)数据量的变化模型(模型1)首先,将描述缓存中的数据量的变化模型(模型1)。
在模型1中,在数据传送是在最恶劣的状态下时缓存中的数据量的变化被假设。在这里,该[数据传送是在最恶劣的状态下]意指总是能保证在数据被从网络或磁盘读取并被输入到缓存时的数据传送速率是最小传送速率r(bps)的状态。因此,缓存不能执行改变所输入的数据的传送速率或暂时停止的控制。作为很好地应用该模型1的例子,经过使用UDP/IP作为协议的网络的数据流能够被引证。
(11-1-1)缓存中数据量变化的示例图45示出了根据模型1的缓存中数据量变化的示例。图的水平轴指示动画时间,垂直轴指示缓存中的(Vclick流的)数据量。在模型1中,在动画时间缓存中的数据在被请求的时候被立刻从缓存输出。例如,因为在时间T1所需要的数据大小为D1,在该时间T1的缓存中的数据量立刻被减去D1。类似的,在时间T2,从该存中输出具有数据大小D2的数据。这个时间T1和T2对应于Vclick_AU的时间戳。具有相同时间戳的Vclick_AUs的所有数据在该时间戳的时间被从缓存输出。当从缓存没有数据输出时,缓存中的数据总是以一定速率增加。
附图的参考符号BH和BL表示在数据量的整个变化中该缓存中数据量的最大值和最小值。参考符号Bmin表示数据量的动态范围,其通过Bmin=BH-BL计算。在模型1中,BL变得小于0的情况意味着下溢发生,并且Vclick数据变得不足以用于活动图像再现。在BL为负的情况下为了不引起下溢,数据输入到缓存的开始早于活动图像再现的开始,并且在活动图像再现开始的时刻缓存中的数据量被加上-BL。另一方面,在BH大于实际使用的缓存大小的情况下,其意味着溢出发生,并且该Vclick数据通过数据溢出被丢弃。当BH大于所使用的缓存大小时,在活动图像再现开始的时刻使缓存中的数据量较小,这样溢出能被防止。然而,在Bmin小于所使用的缓存大小的情况下,其不可能避免下溢或溢出。因此,计算Bmin是非常重要的。
(11-1-2)Bmin的计算方法为了计算Bmin,首先,在所定义的模型1中缓存中数据量的变化由T、BB和BA的表格表示。
图46通过使用表格示出了图45的数据量变化。参考符号T表示0和当从该缓存输出数据时的时间,BB表示刚刚在数据被输出之前的缓存中的数据量,而BA表示刚刚在数据被输出之后的缓存中的数据量。显然,这个表格具有图表45的全部信息。例如,能够从这个表的BB的最大值和BA的最小值计算Bmin。
该表格能够以保证最小限制的数据传送速率r和Vclick流被建立。图47示出了表格建立算法的示例。
首先,步骤S4700作为初始化处理被执行。在这里,初始值0代替变量T0,BB和BA,并且被登记在表格中。此外,初始值0也代替变量i。在步骤S4701,执行递增处理以使变量i加1。
在步骤S4702,时间Ti在数据被从缓存输出时被设置。这个处理以这样的方式执行,VclickAU的时间戳被顺序地检验,并且大于Ti-l的这些时间戳中最小的时间戳被发现并被设置。
在步骤上4703,在时间Ti从缓存输出的数据的大小D被设置。它等于具有时间戳Ti的VclickAu的所有数据的大小的和。
在步骤S4704和步骤S4705,在Ti的BB和BA的值被计算。值(BA+r(Ti-Ti-1))成为BB的新值,而值(BB-D)成为BA的新值。在步骤S4706,所计算的Ti,BB和BA被记录在表格中。
在步骤S4707的分支处理中,通过判断Vclick AU的时间戳是否是最大的来判断处理的结束。
从上面的处理计算Bmin。
(11-1-3)缓存大小的确定当由上面的处理计算出Bmin时,在再现开始时刻使缓存大小为Bmin,这样下溢一定程度上能被消除。当在活动图像再现开始的时刻使缓存中的数据大小为Bmin时,图45的变化变为图48中所示的变化。时间TE是所有数据(Vclick流)已经被输入到该缓存的时间。因为从时间0到TE缓存中数据量的变化的幅度为Bmin或更小,如果使缓存大小为2×Bmin它是足够的。
其也同样地应用在随机访问情况中。图49示出了从时间TR开始的活动图像再现的情况下的示例。因为在从时间TR到TE的周期中数据量的变化的幅度为Bmin或更小,当在随机访问再现开始的时刻使缓存中的数据量为Bmin时,下溢不会发生。此外,当使缓存大小为2×Bmin或与上面更相似的时候,溢出不会发生。
从上可知,当在缓存中的数据大小变为Bmin之后再现(包括随机访问)被开始,而使缓存大小为2×Bmin或更多时,即使是在数据传送速率是在最恶劣状态中的情况(模型1)下,该活动图像和Vclick数据能被再现而没有问题。
(11-2)在停止/恢复作为数据输入到缓存是可能的情况下的模型(模型2)接下来,将考虑在选择r或0作为数据传送速率是可能的情况下,也就是,停止/恢复作为数据输入到缓存的控制是可能的情况下的模型(模型2)。因为在从本地盘读取数据的情况下这种控制是可能的,模型2是比模型1更接近实际情况的模型。甚至是在通过网络读取数据的情况下,当使用TCP/IP作为协议时,该模型2比模型1更合适。
图50示出了当不同于图45的Vclick数据被使用时缓存中的数据量的变化的示例。在图50中,因为假设了模型1,数据总是在数据传送速率r被输入到缓存。
另一方面,图51示出了尽管与图50一样的Vclick数据被使用的情况下,在从TM到T1的周期期间输入到缓存的数据被停止。在图51的情况下,Bmin显然小于图50的情况下的Bmin。如上所述,因为能使模型2中Bmin的值小于模型1中的值,在活动图像再现开始之前所需要的缓存时间变短,而必要的缓存大小也变小。
(11-2-1)最小动态范围Bmin的计算方法作为该模型2中的最小动态范围Bmin的计算,例如,在图52中所示的处理能被使用。
在第一个处理步骤S5200,通过图47中描述的方法建立根据模型1的数据量变化的表格。图50示出了以图表表示所建立的表格的示例。
在下一个处理步骤S5201,BB的最大值被设为BMAX1,而当该最大值BMAX1被给出时的时间被设为T1。在有多个当最大值被给出时的时间的情况下,最小时间因此被设为T1。
进一步地,在步骤S5202,在所建立的T≥T1的T的范围内得到BA的最小值并被设为BMIN。在步骤S5203,在T<T1成立的T的范围内得到最大值并被设为BMAX2,并且这时的时间设为T2。在BMAX2被给出在T<T1的范围内多个的时间的情况下,其最小的时间被设为T2(见图50)。
在步骤S5204的分支处理中,在(BMAX1-BMAX2)和(BMIN-ML)之间进行比较。这是在时间T1之后判断缓存中有多少数据量能被减去的处理,而在图50的例子中,附图中的D1和D2被相互比较。当(BMAX1-BMAX2)较小时,该过程前进到步骤S5205,而在其它情况下,该过程前进到步骤S5207。
在步骤S5205,用(BMAX1-BMAX2)代替再现数据大小D。在步骤S5206,相对于在T<T1成立的表格的时间T的所有数据从BA中减去D。步骤S5206的处理等价于刚刚在时间T1之前输入到缓存的数据被停止的情况,并且在这个时间T1之后缓存中的数据量被减少(见图51)。在这个处理之后的表格中,在时间T2之后动态范围变为数据范围中最小的。因为,如从图51所示出的,缓存中的数据量的最大值总是在数据传输速率0的部分被给出(输入到缓存的数据被停止),并且当在这个分中传送速率被设为r时,该最大值増加。反之,当数据传送速率为r的部分改变以至于其传送速率为0时,缓存中数据量的最小值进一步减小,而动态范围增加。这是以图52的最小动态范围Bmin能够通过图52的处理被计算为基础的。
在处理在步骤S5204的分支前进到步骤S5207的情况下,首先,在步骤S5207,减小的数据大小D被设置为(BMIN-BL)。类似于步骤S5206,相对于在T≥T1成立的表格的时间T的所有数据,执行从BA减去D的处理。
在步骤S5206的处理被执行之后,在步骤S5209,判断从步骤S5202的处理是否被重复执行。然而,在步骤S5208的处理被执行的情况下,在步骤S5211Bmin立即被计算并被输出,而该处理被结束。这是因为在步骤S5208之后用于给出最小动态范围的表格被完成。
在步骤S5209,它检验T2是否为0,并且如果不是0,该过程前进到步骤S5210以便重复该处理。在步骤S5210,执行变量的更新处理,以BMAX2代替BMAX1,并以T2代替T1,并且过程再次前进到步骤S5202。
在步骤S5211,模型2中的最小动态范围作为(BMAX1-D-BL)被计算,并且处理被结束。图53是在图52的处理被结束之后缓存中数据量变化的图表。应当理解与图50相比较只得到很小的Bmin。
通过上述处理,动态范围Bmin被计算。
(11-2-2)缓存大小的确定当通过上面的处理计算的动态范围Bmin被找到时,在活动图像再现时刻所必需的缓存中的数据量和缓存的必要大小能被找到。
也就是,在模型2中,当在缓存中的数据量变为Bmin之后再现开始时,保证下溢不会发生。此外,当缓存大小被设为Bmin或更多时,溢出也不会发生。
图54示出了当从时间TR随机访问再现被执行时缓存中的数据量变化。当在缓存中的数据量变为Bmin时的时间点再现被开始时,与上面类似,保证缓存下溢不会发生。同样地,相对于缓存大小,当它变为Bmin或更多时,保证溢出不会发生。
模型2是可能选择r或0作为传送速率的模型。然而,甚至在不小于r或0能被选择作为传送速率的情况下,当通过使用模型2设置的活动图像再现开始时刻缓存中的数据量和缓存大小被使用时,下溢和溢出不会发生。因为网络的传送速率实际上是各种各样的,在不小于r或0能被选择作为传送速率的模型几乎与实际的操作相同。因此,在通过使用模型2设置的活动图像再现开始要被缓存的数据量和缓存大小能被使用在实际应用中。
(11-3)Vclick流的报头的数据结构图55示出了允许以模型1或模型2计算的动态范围Bmin被使用在图2的系统中的Vclick流的报头的数据结构。
在图55的数据结构中,除图11的数据结构之外,新增加了“min_buffer”。利用模型1或模型2计算的Bmin的值被存储在“min_buffer”中。至于用这些模型计算的动态范围Bmin的哪一个值将被选用,根据哪一个模型接近使用状态进行判断。在难于区别这些模型的情况下,或各种使用环境都是可能的的情况下,最好选用以模型1计算的值。
另外,为了指定这两个模型中的哪一个被使以便计算存储在“min_buffer”中的值,指定该模型的标签buffer_model可以被添加到图55的数据结构。例如,当标签被设置为意味着当“buffer_model”为0时选用模型1,而当“buffer_model”为1时选用模型2时,标识模型是可能的。
(11-4)缓存控制的过程图56示出了使用图55的数据的情况下缓存控制的过程。
首先,在步骤S5600,在缓存209中,缓存管理器211确保具有作为Vclick的缓存的等于或大于“min_buffer”大小的区域(在模型2被使用的情况下)或象“min_buffer”两倍或多倍大小的区域(在模型1被使用的情况下)。因此,开始读取该Vclick数据到缓存中。顺序地,在步骤S5601,在存储在缓存209中的Vclick数据的大小变为“min_buffer”之后,活动图像和Vclick数据的再现被开始。在步骤S5602,当在缓存中出现空间时,Vclick数据被读取在缓存中,并且当缓存变满时,Vclick数据的读取被停止。当要被读取Vclick数据不足时,处理被结束(S5603)。通过上述控制,该Vclick数据和活动图像的同时再现成为可能,而没有导致缓存下溢或溢出。当然,大于动态范围的值可以被描述在“min_buffer”中。在这种情况下,尽管缓存大小超过必需保证的大小,在操作中没有问题。
(11-5)Vclick流的报头的另一种数据结构图57示出了与图55不同的Vclick流的报头的数据结构。
在这个例子中,以模型1计算的动态范围Bmin可以被描述在“min_buffer_1”中,而以模型2计算的动态范围Bmin可以被描述在“min_buffer_2”中。
在客户设备200中,根据该Vclick数据的使用状态,其判断“min_buffer_1”和“min_buffer_2”的哪一个要被使用。例如,在通过基于UDP/IP的RTP协议从服务器设备201接收到Vclick数据的情况下,使用“min_buffer_1”执行缓存控制,“min_buffer_1”是以模型1计算的动态范围。也就是,在缓存209中,具有“min_buffer_1”两倍或多倍大小的区域被确保作为Vclick的缓存,并且当活动图像的再现被开始时,进行控制这样在存储在缓存209中的Vclick数据的大小变为“min_buffer_1”之后再现被开始。
另一方面,在通过基于TCP/IP的HTTP协议从服务器设备201接收Vclick数据的情况下,使用“min_buffer_2”执行缓存控制,“min_buffer_2”是以模型2计算的动态范围。也就是说,在缓存209中,具有等于或大于“min_buffer_1”大小的区域被确保作为Vclick的缓存,并且当活动图像的再现被开始时,控制被执行这样在存储在缓存209中的Vclick数据的大小变为“min_buffer_2”之后再现被开始。类似于图55的数据结构,大于以模型1或模型2计算的动态范围Bmin的值可以被描述在“min_buffer_1”或“min_buffer_2”中。
(11-6)第一再现开始处理过程图58是描述从再现开始的用户指令到再现开始的第一再现开始处理过程的流程图,而其基本流程是与图37的过程相同的。
首先,在步骤S3700,由用户输入再现开始的指令。接口处理器207接收该输入,并发布一个活动图像再现准备的指令给活动图像再现控制器205。
然后,在上面描述的缓存209中,具有等于或大于“min_buffer”大小的区域被确保作为Vclick的缓存。
作为一个分支处理步骤S3701,关于是否与服务器设备201的会话已经被配置的判断被执行。当会话还没有被配置好时,处理前进到步骤S3702,当会话已经配置好了时,其前进到步骤S3703。在步骤S3702,服务器和客户端之间配置会话的处理被执行。
在下面S3703至S3705的处理中,活动图像再现的执行和图37中解释的内容一致。
(11-7)第二再现开始处理过程图59是用于解释与图58不同的再现开始处理过程的流程图。
在图58的流程图中解释的处理中,根据网络状态或服务器和客户端设备的处理容量,在步骤S3704有花费很多时间执行缓存一定量Vclick流的处理的情况。也就是说,有从用户指示再现的时刻到该再现实际上被开始的时刻花费很多时间的情况。
在图59的处理过程中,在步骤S3800用户指示再现开始。
然后,在上面描述的缓存209中,具有等于或大于“min_buffer”大小的区域被确保作为Vclick的缓存。
在下一个步骤S3801,该活动图像的再现被立即开始。从下一个步骤S3802到步骤S3806的处理与图38的从步骤S3702到步骤S3706的处理是相同的。
(11-8)第三再现开始处理过程图60是示出了从再现开始的用户指令到再现开始的再现开始处理过程的流程图,并且该基本流程是与图47中所示的过程相同的。
首先,在步骤S4200,由用户输入再现开始的指令。接口处理器207接收该输入,并发布一个活动图像再现准备的指令给活动图像再现控制器205。
接下来,在步骤S4201,指定要被使用的Vclick流的处理被执行。在这个处理中,接口处理器查阅活动图像数据记录介质231上的Vclick信息,并指定对应于由用户指示再现的那个活动图像的Vclick流。
然后,在上面描述的缓存209中,具有等于或大于“min_buffer”大小的区域被确保作为Vclick的缓存。
在步骤S4202,存储该Vclick流在缓存中的处理被执行。
在下面的S4203的处理中,该活动图像再现和图37中解释的内容一致的被执行。
(11-9)第四再现开始处理过程图61是用于解释与图60不同的再现开始处理过程的流程图。
在图60的流程图中解释的处理中,根据网络状态或服务器和客户端设备的处理容量,有花费很多时间执行缓存一定量Vclick流的处理的情况。也就是说,有从用户指示再现的时刻到该再现实际上被开始的时刻花费很多时间的情况。
在图61的处理过程中,在步骤S4200,用户指示再现开始。
在下一个步骤,活动图像的再现被立即开始。
接下来,在步骤S4201,指定要被使用的Vclick流的处理被执行。在这个处理中,接口处理器查阅活动图像数据记录介质231上的Vclick信息文件,并指定对应于由用户指示再现的那个活动图像的Vclick流。
然后,在上面描述的缓存209中,具有等于或大于“min_buffer”大小的区域被确保作为Vclick的缓存。
在下面的处理中,该活动图像再现和图37中解释的内容一致的被执行。
(修改的示例)另外,本发明并不严格地限制于前面的实施例,而在实际阶段,在不脱离本发明要点的范围内结构性元件能够被作出各种改进并能被实施。
(1)改进的示例1例如,本发明不仅能被应用到现在在全球范围内流行的DVD-ROM视频,而且能被应用到其需求在最近几年快速发展的可记录/可再现DVD-VR(视频记录器)。进一步地,本发明也能被应用到在不远的将来似乎会变得流行的下一代HD-DVD的再现系统或记录系统。
(2)改进的示例2通过适当结合本实施例中公开的多个结构性元件,各种发明能被构成。例如,一些结构性元件可以被从在实施例中公开的所有结构性元件中删除。进一步地,不同实施例的结构性元件可以被适当地结合。
权利要求
1.一种元数据的数据结构,所述元数据与活动图像相关并且被临时地存储在缓存中直到元数据被再现,其中元数据具有包括一个或多个访问单元的流数据结构,每一个访问单元是能被独立地处理的数据单元,和每个访问单元包括指定相对于该活动图像的时间轴定义的有效周期的第一数据;描述该活动图像中的时空区域的对象区域数据;包括指定与时空区域有关的显示方法的数据和指定当时空区域被指定时要被执行的处理的数据中的一者或两者的第二数据;和包括指定在元数据的再现开始时间之前要被预先存储在缓存中的元数据量的信息的第三数据。
2.根据权利要求1的元数据的数据结构,其中第三数据是在元数据以恒定速率被输入到缓存并且在该访问单元的有效周期的开始时间被以访问单元为单位从缓存中输出的情况下的动态范围。
3.根据权利要求1的元数据的数据结构,其中第三数据是在任意时间作出关于是否元数据以恒定速率被输入到缓存或输入被停止的选择,并且元数据在该访问单元的有效周期的开始时间被以访问单元为单位从缓存中输出的情况下的最小动态范围。
4.根据权利要求1的元数据的数据结构,其中第三数据包括在元数据以恒定速率被输入到缓存并且在该访问单元的有效周期的开始时间被以访问单元为单位从缓存中输出的情况下的动态范围,和在任意时间作出关于是否元数据以恒定速率被输入到缓存或输入被停止的选择并且元数据在该访问单元的有效周期的开始时间被以访问单元为单位从缓存中输出的情况下的最小动态范围。
5.根据权利要求1的元数据的数据结构,其中除指定再现开始时间要被预先存储在缓存中的元数据量的信息之外,第三数据还包括指定元数据的再现所需缓存大小的信息。
6.根据权利要求5的元数据的数据结构,其中第三数据是在元数据以恒定速率被输入到缓存并且在该访问单元的有效周期的开始时间被以访问单元为单位从缓存中输出的情况下的动态范围,和缓存大小被设为该动态范围的两倍或多倍大。
7.根据权利要求5的元数据的数据结构,其中第三数据是在任意时间作出关于是否元数据以恒定速率被输入到缓存或输入被停止的选择,并且元数据在该访问单元的有效周期的开始时间被以访问单元为单位从缓存中输出的情况下的最小动态范围,和缓存大小被设为等于或大于该动态范围的大小。
8.根据权利要求5的元数据的数据结构,其中第三数据包括在元数据以恒定速率被输入到缓存并且在该访问单元的有效周期的开始时间被以访问单元为单位从缓存中输出的情况下的动态范围,和在任意时间作出关于是否元数据以恒定速率被输入到缓存或输入被停止的选择并且元数据在该访问单元的有效周期的开始时间被以访问单元为单位从缓存中输出的情况下的最小动态范围,及缓存大小被设为象该动态范围的两倍或多倍大,或者等于或大于最小动态范围的大小。
9.一种元数据的再现设备,所述元数据与活动图像相关并且被临时地存储在缓存中直到元数据被再现,其中元数据具有包括一个或多个访问单元的流数据结构,每一个访问单元是能被独立地处理的数据单元,其中每个访问单元包括指定相对于该活动图像的时间轴定义的有效周期的第一数据;描述该活动图像中时空区域的对象区域数据;包括指定与时空区域有关的显示方法的数据和指定当时空区域被指定时要被执行的处理的数据中的一者或两者的第二数据;和包括指定在元数据的再现开始时间之前要被预先存储在缓存中的元数据量的信息的第三数据,和其中该再现设备包括配置用于在元数据的再现指令被发布的情况下以第三数据为基础存储元数据量在缓存中的处理部分;和配置用于在该元数据量的存储之后再现该元数据的处理部分。
10.一种元数据的再现方法,所述元数据与活动图像相关并且被临时地存储在缓存中直到元数据被再现,其中元数据具有包括一个或多个访问单元的流数据结构,每一个访问单元是能被独立地处理的数据单元,其中每个访问单元包括指定相对于该活动图像的时间轴定义的有效周期的第一数据;描述该活动图像中时空区域的对象区域数据;包括指定与时空区域有关的显示方法的数据和指定当时空区域被指定时要被执行的处理的数据中的一者或两者的第二数据;和包括指定在元数据的再现开始时间之前要被预先存储在缓存中的元数据量的信息的第三数据,和其中该再现方法包括在元数据的再现指令被发布的情况下以第三数据为基础存储元数据量在缓存中;和在该元数据量的存储之后再现该元数据。
11.一种用于使计算机实现元数据的再现方法的程序,所述元数据与活动图像相关并且被临时地存储在缓存中直到元数据被再现,其中元数据具有包括一个或多个访问单元的流数据结构,每一个访问单元是能被独立地处理的数据单元,其中每个访问单元包括指定相对于该活动图像的时间轴定义的有效周期的第一数据;描述该活动图像中时空区域的对象区域数据;包括指定与时空区域有关的显示方法的数据和指定当时空区域被指定时要被执行的处理的数据中的一者或两者的第二数据;和包括指定在元数据的再现开始时间之前要被预先存储在缓存中的元数据量的信息的第三数据,和其中该计算机实现在元数据的再现指令被发布的情况下以第三数据为基础存储元数据量在缓存中;和在该元数据量的存储之后再现该元数据。
全文摘要
提供了一种发明,其中能够根据数据传送速率和所使用的网络协议确定缓存大小和在再观开始之前缓存的数据大小。在活动图像的元数据中,缓存中数据量的动态范围被描述,并且通过这个动态范围确定缓存大小和在元数据的再现开始之前缓存的数据大小。
文档编号H04L29/00GK1738430SQ20051010987
公开日2006年2月22日 申请日期2005年6月17日 优先权日2004年6月17日
发明者金子敏充, 上林达 申请人:株式会社东芝