CN103956176B - 再现设备和再现方法 - Google Patents

再现设备和再现方法 Download PDF

Info

Publication number
CN103956176B
CN103956176B CN201410167846.4A CN201410167846A CN103956176B CN 103956176 B CN103956176 B CN 103956176B CN 201410167846 A CN201410167846 A CN 201410167846A CN 103956176 B CN103956176 B CN 103956176B
Authority
CN
China
Prior art keywords
event
player
data
button
object module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201410167846.4A
Other languages
English (en)
Other versions
CN103956176A (zh
Inventor
浜田俊也
加藤元树
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Publication of CN103956176A publication Critical patent/CN103956176A/zh
Application granted granted Critical
Publication of CN103956176B publication Critical patent/CN103956176B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/34Indicating arrangements 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • G11B27/329Table of contents on a disc [VTOC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/21Disc-shaped record carriers characterised in that the disc is of read-only, rewritable, or recordable type
    • G11B2220/213Read-only discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2541Blu-ray discs; Blue laser DVR discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2562DVDs [digital versatile discs]; Digital video discs; MMCDs; HDCDs

Abstract

本发明可以实现在有大容量的再现专用的光盘中具有高自由度的互动功能。建立与播放器功能对应的虚拟播放器模型并且以Java对其描述。BD基本播放器(210)检测用户输入和播放器状态转变,并且产生事件。具有监听程序接口的对象(211)在事件产生之前,在BD基本播放器(210)中注册与将被接收的事件对应的事件监听程序,并且当其变为不必需时将其删除。当产生事件时,BD基本播放器(210)将事件发送到其中注册了对应的事件监听程序的对象(211)。对象(211)执行与所接收的事件对应的方法。可以灵活地设置事件和方法之间的关系,并且轻松地实现复杂的互动功能。

Description

再现设备和再现方法
本发明是以下发明专利申请的分案申请:申请号:200480005577.6,申请日:2004年8月19日,发明名称:再现设备、再现方法、再现程序、和记录介质。
技术领域
本发明涉及一种再现装置、再现方法、再现程序、和记录介质,其允许用户互动地操作记录在诸如蓝光盘的大容量类型记录介质上的节目。
背景技术
最近,作为可记录的和可从记录和再现装置卸下的盘类型记录介质的标准,已经提出了蓝光盘标准。蓝光盘标准规定了一种盘,其具有12cm直径的记录介质和0.1mm厚度的覆盖层。使用蓝光盘标准使用具有波长405nm的蓝紫色激光和数值孔径0.85的物镜的光学系统。蓝光盘标准最大可以达到27GB(千兆字节)的记录容量。因此,可以记录两个小时或更长的、在日本可得的BS数字高清晰度(high-vision)广播节目而不会损失画面质量。
作为记录在可记录光盘上的AV(音频/视频)信号的来源(提供源),希望使用例如传统模拟电视广播的模拟信号和例如象BS数字广播的数字电视广播的数字信号。蓝光盘标准已经为用于记录这些广播的AV信号的方法建立了子标准。
作为当前蓝光盘标准的派生标准,有研发将电影、音乐等预记录于其上的只再现记录介质的趋势。作为将电影、音乐等预记录于其上的盘形记录介质,DVD(数字多功能盘)已经被广泛使用了。根据蓝光盘标准的只再现光盘与传统DVD非常不同,并且在大记录容量和允许高质量地记录两个小时或更长的高清晰画面的高传输速率方面比传统DVD更先进。
只再现DVD视频标准实现在菜单屏幕上通过按钮图像等的互动功能。例如,当再现DVD视频的移动画面时,可以执行用遥控命令器等调用菜单屏幕、选择在菜单屏幕上的按钮图像,并且改变所再现的场景的处理过程。
在DVD视频的情况中,菜单屏幕包括固定的子画面数据。当调用菜单屏幕时,以将子画面数据与移动画面数据结合的这种方式显示菜单屏幕。在子画面数据中包括有按钮图像数据。专利文献“日本待审专利申请公开No.HEI10-308924”描述了将子画面数据与移动画面数据组合并且将所组合的数据记录到可记录DVD的结构。
但是,由于只再现DVD视频标准规定使用简单命令的操作,所以难于完成复杂的互动功能。因此,创建者需要很多工作才可以用只再现DVD视频标准完成复杂的互动功能。
此外,只再现DVD视频标准规定了带有依次执行的命令区域的简单程序操作。因此,在只再现DVD视频标准上不能执行多线程(multi-threaded)编程和事件驱动编程。虽然DVD视频标准不具有接入诸如因特网的网络的功能,当认为具有网络接入功能时,因为从网络和用户来的反应时间往往较长,所以多线程过程(multi-threaded process)作为提高性能的系统结构非常有效。
此外,在DVD视频标准中,将命令嵌入到复用了视频数据和音频数据的AV(音频/视频)流中。当再现AV流时,从其中提取所嵌入的命令和执行所嵌入的命令。换句话说,执行了类似跟踪藤(vine)的操作模型。因此,只有当用户选择按钮并且执行与在标题选择菜单屏幕上的按钮对应的、或在包括分支的多故事(multi-story)中的命令时,才决定随后的操作。因此,在DVD视频标准中,不能使用预先读出分支预测和推测执行的命令的高速处理技术。
此外,从创建盘的作者的角度来说,只再现DVD视频标准也有缺点。现在,假设将按钮设计为在AV流的预定定时出现,并且该定时在时间轴上前后移动。例如,如图1所示,将指定为在AV流上在按钮出现开始时间t1到按钮出现结束时间t2之后出现的按钮进行改变,从而该按钮在早于时间t1的时间t3之后出现。
众所周知,在只再现DVD视频标准中,以MPEG2(运动图像专家组2)标准分组和编码AV流。用pts(Presentation Time Stamp,呈现时间戳)来执行再现输出的定时管理。在图1所示的例子中,将按钮出现开始时间从与时间t1对应的pts1改变到与时间t3对应的pts3。
在DVD视频标准中,将导航信息、视频数据、音频数据、和子画面数据独立地作为一个AV流进行打包和复用。将命令等嵌入到AV流之中。指定视 频数据、音频数据、和子画面数据出现在它们复用的时间。比如,如图2A所示,将这些数据复用,从而在pts间隔管理的时间轴上的它们的预定时间再现预定的数据。
由于以这种方式复用数据,当将被指定为在时间pts1出现的按钮A改变从而其在时间pts3出现时,应该重新复用图2A中所示的AV流,从而在时间pts3出现按钮1的子画面数据。当于选择了按钮时所执行的命令的内容改变时,应该重新复用AV流。当重新复用AV流时,其需要被DVD播放机再现并且暂时存储在播放器的存储器中。
因此,通常很难实现具有较高自由度的互动功能。为了实现它们,在创建者处需要大量的工作。
发明内容
本发明的目的是提供一种再现装置、再现方法、再现程序和再现介质,其允许大存储容量类型只再现光盘的带有高自由度的互动功能得以轻松实现。
根据本发明的一个方面,提供一种再现装置,其再现分层地记录在盘形记录介质上的内容数据,该装置包括:播放器对象,其产生与预定变化对应的事件;和程序对象,其形成在所述播放器对象之上并且其能够描述与发生的事件对应的过程,该程序对象被形成作为对每个事件独立的对象,且被存储在与存储内容数据的作为剪切AV流文件的数据文件独立的数据文件中,其中所述播放器对象用与在所述程序对象中描述的事件对应的过程来控制分层地记录在盘形记录介质上的内容数据的再现过程。
根据本发明的另一方面,提供一种再现方法,其再现分层地记录在盘形记录介质上的内容数据,该方法包括步骤:使得产生与预定变化对应的事件的播放器对象用与在程序对象中描述的事件对应的过程来控制分层地记录在盘形记录介质上的内容数据的再现过程,所述程序对象形成在播放器对象之上并且能够描述与发生的事件对应的过程,该程序对象被形成作为对每个事件独立的对象,且被存储在与存储内容数据的作为剪切AV流文件的数据文件独立的数据文件中。
本发明是再现装置,其再现分层地记录在盘形记录介质上的内容数据,该再现装置包括:播放器对象,其产生与预定变化对应的事件;和程序对象, 其形成在所述播放器对象之上并且其能够描述与发生的事件对应的过程,其中所述播放器对象用与在所述程序对象中描述的事件对应的过程来控制分层地记录在盘形记录介质上的内容数据的再现过程。
此外,本发明是再现方法,其再现分层地记录在盘形记录介质上的内容数据,该方法包括步骤:使得产生与预定变化对应的事件的播放器对象以用与在程序对象中描述的事件对应的过程来控制分层地记录在盘形记录介质上的内容数据的再现过程,所述程序对象形成在播放器对象之上并且能够描述与发生的事件对应的过程。
此外,本发明是再现程序,其使得计算机设备执行再现分层地记录在盘形记录介质上的内容数据的再现方法,该方法包括步骤:使得产生与预定变化对应的事件的播放器对象以用与在程序对象中描述的事件对应的过程来控制分层地记录在盘形记录介质上的内容数据的再现过程,所述程序对象形成在播放器对象之上并且能够描述与发生的事件对应的过程。
此外,本发明是已经在其上记录了再现程序的计算机可读记录介质,该再现程序使得计算机设备执行再现分层地记录在盘形记录介质上的内容数据的再现方法,该方法包括步骤:使得产生与预定变化对应的事件的播放器对象以用与在程序对象中描述的事件对应的过程来控制分层地记录在盘形记录介质上的内容数据的再现过程,所述程序对象形成在播放器对象之上并且能够描述与发生的事件对应的过程。
此外,本发明是已经在其上分层地记录了内容数据的盘形记录介质,至少在该记录介质上记录内容数据和能够描述与发生的事件对应的过程的程序对象,由产生与预定变化对应的事件的、并且形成在程序对象之下的播放器对象用与在程序对象中描述的事件对应的过程来控制内容数据的再现过程。
如上所述,在本发明权利要求1、权利要求13、权利要求14和权利要求15中,播放器对象产生与预定变化对应的事件,用与形成在播放器对象之上并且能够描述与发生的事件对应的过程的程序对象中所描述的事件对应的过程,来控制分层记录在盘形记录介质上的内容数据的再现过程。
此外,在本发明的权利要求16中,在记录介质上至少记录内容数据和能够描述与发生的事件对应的过程的程序对象。由产生与预定变化对应的事件的、并且形成在程序对象之下的播放器对象用与在程序对象中描述的事件对应的过程来控制内容数据的再现过程。因此,一个播放器对象能够为每个记 录介质的原始过程执行再现控制。
根据本发明,构造了抽象地形成BD-ROM播放器的AV流再现功能的虚拟播放器。指定了在应用于虚拟播放器的事件模型中发生的事件。此外,定义了与用户输入对应的用户事件。因此,用一个事件模型,可以实现DVD视频的功能。
此外,根据本发明,构造了抽象地形成BD-ROM播放器的AV流再现功能的虚拟播放器。定义了与虚拟播放器对应的Java类。指定了在应用于虚拟播放器的事件模型中发生的事件。此外,定义了与用户输入对应的用户事件。因此,作为用于只再现视频盘的再现控制方法,可以应用Java的事件模型。结果是,用Java程序,可以控制播放列表的再现。
因此,为了实施复杂的互动功能,盘创建者处不需要很多的工作。
此外,不仅可以将本发明应用于Java语言,而且可以应用于诸如ECMA脚本的脚本语言。内容创建者处可以使用脚本语言来描述与事件对应的事件处理程序(handler)的内容。作为结果,当事件发生时,可以容易地完成内容创建者处需要的操作。
附图说明
图1示出了根据相关技术改变按钮的出现开始时间的示意图;
图2A和图2B示出了流的重新复用示意图;
图3A和图3B示出了BD-ROM标准的HD电影模式的层结构的例子的示意图;
图4示出了BD-ROM播放器的层结构的例子的示意图;
图5示出了BD基本播放器30的示意图;
图6示出了当再现播放列表时发生的事件的例子的示意图;
图7示出了类BDBasicPlayer的方法的例子的列表的示意图;
图8A、8B和8C示出了类BDBasicPlayer的方法的例子的列表的示意图;
图9示出了类BDBasicPlayer的方法的例子的列表的示意图;
图10示出了类BDBasicPlayer的方法的例子的列表的示意图;
图11示出了类BDBasicPlayer的方法的例子的列表的示意图;
图12示出了类BDBasicPlayer的方法的例子的列表的示意图;
图13示出了类BDBasicPlayer的方法的例子的列表的示意图;
图14A、14B和14C示出了在BD-ROM的对象BDBasicPlayer中发生的事件的定义的例子的列表的示意图;
图15示出了事件和监听程序(listener)的示意图;
图16A和16B示出了与事件监听程序注册有关的方法的例子的列表的示意图;
图17示出了使用事件监听程序注册来创建程序的过程的例子的流程图;
图18示出了再现处实施使用事件监听注册的程序的过程的例子的流程图;
图19A、19B和19C分别示出了剪切(clip)AV流文件、存储标记数据的文件、和存储按钮的数据的文件的示意图;
图20示出了根据事件驱动模型的BD-ROM虚拟播放器模型的示意图;
图21A、21B、21C和21D示出了BD-ROM虚拟播放器模型接受的用户输入命令的定义的例子的列表的示意图;
图22示出了遥控命令器的按键输入事件的类RmtKeyEvent的例子的示意图;
图23示出了对象RmtKeyEvent的方法的例子的列表的示意图;
图24示出了用方法getRmtKeyCode获得的按键的例子的列表的示意图;
图25A和25B示出了用方法getRmtKeyCode获得的按键的例子的列表的示意图;
图26示出了执行由用户输入事件触发的程序的过程的例子的流程图;
图27示出了可以应用于BD-ROM的完整简档(profile)的文件管理结构的例子的示意图;
图28A、28B和28C示出了根据本发明第一个实施例的播放器解码器100的结构的例子的功能性方框图;
图29示出了UMD视频标准的层结构的示意图;
图30示出了根据本发明第二个实施例的播放器模型的例子的示意图;
图31示出了电影播放器的内部结构的例子的示意图;
图32示出了电影播放器的三种状态的示意图;
图33示出了根据本发明第二个实施例的电影播放器的事件模型的示意图;以及
图34A和图34B示出了电影播放器对象的事件处理程序的例子的列表的 示意图。
具体实施方式
随后,根据下面的结构来说明本发明:
1.本发明的第一实施例
1-1.关于BD-ROM的AV流再现功能
1-1a.关于BD-ROM的HD电影模式
1-1b.关于BD-ROM的完整简档
1-2.基于Java的BD虚拟播放器模型
1-3.关于由BD基本播放器产生的事件
1-3a.事件的类别
1-3b.关于事件的模型
1-4.关于用户输入
1-5.关于文件管理结构
1-6.关于解码器模型
2.本发明的第二实施例
2-1.关于UMD视频标准
2-2.关于基于UMD视频标准的播放器模型
2-3.关于电影播放器的事件模型
2-4.关于电影播放器对象和用户输入
2-5.关于由电影播放器对象处理的事件
1.本发明的第一实施例
随后,将说明本发明的第一实施例。为了易于理解本发明,将主要说明作为当今蓝光盘标准的派生物的只再现记录介质的标准。在下面的说明中,将作为蓝光盘标准的派生物的只再现记录介质称为BD-ROM(蓝光盘只读存储器)以便将其与可记录蓝光盘进行区分。BD-ROM标准规定HD(高清晰)电影模式,其提供与DVD视频的那些类似的互动功能。
1-1.关于BD-ROM的AV流再现功能
1-1a.关于BD-ROM的HD电影模式
图3A和图3B示出了BD-ROM标准的HD电影模式的层结构的例子。BD-ROM标准的HD电影模式包括从最低层连续地形成的剪切层、播放列表 层、电影对象层、和索引表层。
剪切层包括一个或多个剪切。一个剪切包括剪切AV流和剪切信息。AV流的实体是剪切AV流文件。用时间戳将AV流记录在MPEG(运动图像专家组2)传输流中。可以用按钮图像的按钮对象来复用剪切AV流文件。
当记录剪切AV流文件时,以1比1的关系创建与其对应的剪切信息文件。将包括一个剪切AV流文件和一个剪切信息文件的一组称为一个剪切。
剪切是记录单元。在剪切的上层中控制剪切的再现顺序。播放列表层是在其中指定剪切的再现路径的层。播放列表层包括一个或多个播放列表。在BD-ROM标准的HD电影模式中,只存在被称为电影播放列表的一种类型的播放列表。电影播放列表包括一组播放项目。播放项目包括代表剪切的播放范围的一组IN点和OUT点。用多个播放项目,可以用任何顺序来再现剪切。播放项目可以指定相同的剪切。可以用字节位置来指定剪切AV流文件的IN点和OUT点。
在播放列表层上存在电影对象。电影对象层包括一个或多个电影对象。电影对象包括播放列表再现命令和一组播放器设置命令。用包括在电影对象中的命令,可以实现以所选择的语言再现流的播放列表再现、或具有导致播放列表被选择从而与预定条件对应变化的条件分支的播放列表再现。执行具有条件分支的播放列表再现的应用的例子可以是多故事的。因此,电影对象提供互动性。
索引表层包括索引表并且存在于播放列表层之上。索引表包括当将盘载入播放器时被首先执行的电影对象、当按下菜单按键时被执行的电影对象、和用户可观看的标题的列表。索引表提供用户界面。标题包括一个或多个电影对象。索引表列出在标题中被首先执行的电影对象。播放器根据索引表来决定其在每个操作中首先执行的电影对象。
在BD-ROM的HD电影模式中在盘上形成的是上述数据库。播放器从盘读出数据库并且执行指定的操作。
随后,将说明播放器处的模型。在实际中,可以考虑播放器的各种实施模型。在这个例子中,将播放器模型划分为再现流的似硬件功能块、以及解释并执行命令而且存在于似软件功能块之上的软件功能块。图4示出了BD-ROM播放器模型的层结构的例子。图4的左部示出了层结构,其被划分为在HD电影模式中的两个功能块。
BD呈现引擎200是处理播放列表和剪切、解码AV流、并且再现运动画面和声音数据的功能块。BD呈现引擎200还解码按钮图像和菜单的字幕(subtitle)和图形流。
BD呈现引擎200再现与从上层接收来的命令对应的指定的播放列表。
在BD-ROM的HD电影模式中,在BD呈现引擎200之上存在有导航引擎201。导航引擎201解释索引表和电影对象并且将被最后再现的播放列表通知给BD呈现引擎200。
1-1b.关于BD-ROM的完整简档
随后,将说明BD-ROM标准的完整简档。BD-ROM标准的完整简档是比BD-ROM标准的HD电影模式具有更高程度的自由性和扩展性的模式。下文,将BD-ROM标准的完整简档模式称为完整简档。
根据本发明的第一个实施例,播放器模型带有Java虚拟机(Java VM)并且执行Java应用来实现更高程度的自由性和扩展性的完整简档。这是与BD-ROM的HD电影模式非常不同之处。Java、JavaVM等是太阳微系统公司(Sun Microsystem,Inc.)的注册商标。
完整简档需要使用播放器的所有功能。在BD呈现引擎200和Java应用之间定义了API(应用程序编程接口)。因此,可以通过API来操作BD呈现引擎200。与在BD-ROM的HD电影模式中的导航引擎201类似,可以认为Java应用存在于BD呈现引擎200之上。换句话说,如在图4中的右部所示出的,在完整简档中,Java应用203通过Java VM202而存在于BD呈现引擎200之上。
此外,Java还具有网络功能和图形功能。因此,作为Java应用203和JavaVM202的较低层存在有网络层204和GUI(图形用户接口)层205。
当用Java应用203来操作BD呈现引擎200时,可以认为再现播放列表的播放器是在软件上的虚拟播放器,将用于回放、停止、流选择等的命令发送到播放器,并且用命令来操作播放器。播放器需要将关于哪个播放列表正在被播放器播放和关于诸如流选择及用户输入的不同操作的改变的时间的、播放器的当前状态通知给播放器。根据本发明的第一个实施例,认为播放器的这些功能是在Java应用203上的抽象对象。将播放器的功能的抽象对象称为BD基本播放器。
随后,将参照图5来说明BD基本播放器。BD基本播放器30从在本发 明的第一个实施例中定义的盘形记录介质来再现数据。BD基本播放器30是诸如在计算机环境上的个人计算机的对象。计算机环境不限于通用个人计算机。例如,计算机环境包括在专用再现装置和/或从在本发明的第一个实施例中定义的盘形记录介质来再现数据的记录和再现装置上实现的软件环境。下文,将根据本发明的第一个实施例的盘形记录介质简称为盘。
BD基本播放器30是在软件上的抽象对象。在BD基本播放器30之下,存在OS(操作系统)和硬件33。作为BD基本播放器30的上位(superordinate)程序,存在有通过API32的Java程序31。
BD基本播放器30具有两个状态A和B。在状态A中,可以再现播放列表和图形。在状态B中,停止它们的再现。状态A包括诸如变速再现的多个操作,例如高速再现及逆向再现及从盘上的任何时间点再现数据的跳跃再现。此外,BD基本播放器30包括保持播放器状态的变量(公共参数34)。公共参数34包括在计算机环境上的寄存器(register)等。当在上层的应用(Java程序31)通过Java方法访问公共参数34时,该应用可以执行与BD基本播放器30的状态对应的过程。
BD基本播放器30是在软件上的抽象对象。BD基本播放器30最后将由Java程序31通过API32的控制转变为由存在于较低层的OS和硬件33的控制。
需要由上位程序(Java程序31)通过API32来控制BD基本播放器30。此外,BD基本播放器30需要将BD基本播放器30的状态变化通知给上位程序。换句话说,当BD基本播放器30执行连续地再现一个播放列表然后另一个播放列表的多个操作时,上位程序需要知道BD基本播放器30的状态。根据本发明的第一个实施例,作为将播放器的状态通知给上层的机制,使用事件模型。
图6示出了可能在再现播放列表时发生的事件的例子。当开始再现时,发生PlayStarted事件。之后,当开始播放列表的再现时,发生PlayListStarted事件。因为播放列表的开始也是播放项目的开始,所以当PlayListStarted事件发生时,也发生PlayItemStarted事件。如果表示章节的章节标记出现在播放列表的开始,则发生MarkEncountered事件。
类似地,如果在播放项目中出现标记,当正在再现播放项目时,检测到标记。因此,发生MarkEncountered事件。当已经完成了播放项目的再现时, 发生PlayItemEnded事件。当还完成了播放列表的再现时,发生PlayListEnded事件。当已经完成了再现时,发生PlayEnded事件。
因此,当正在操作播放器时,发生各种事件。当将事件的发生通知给上位程序时,上位程序可以知道播放器的状态。上位程序处准备可以在其被通知有事件发生时所执行的程序,其可以处理事件的发生。
根据本发明的第一实施例,提供了播放器的抽象方法、允许Java程序来操作播放器的方法模型、和将播放器的状态通知给Java程序的事件模型。将Java语言应用到BD-ROM的控制程序。在根据本发明的第一个实施例的系统中,盘创建者创建通过API32来操作BD基本播放器30的Java程序31。
随后,将说明播放器的功能被详细分析、抽象、和作为Java类表示的实际例子。
1-2.基于Java的BD虚拟播放器模型
为了指定BD-ROM的完整简档,需要定义蓝光盘的执行环境。将从BD-ROM再现数据的BD基本播放器30的理想模型称为BD-ROM虚拟播放器模型。BD基本播放器30与再现BD-ROM虚拟播放器模型的播放列表的功能块对应。在BD-ROM虚拟播放器模型中,定义了状态变化的条件和状态。此外,定义了由BD基本播放器30再现的流的属性、控制流的无命令(commandless)(脚本)描述方法等。应该在BD-ROM虚拟播放器模型上正确地操作在BD-ROM中记录的流和脚本。
虽然可以用不同的方式来安装实际的BD-ROM播放器,但是当考虑不需要被安装的模型时,可以澄清最少所需的硬件资源。
在本发明的第一个实施例中定义的BD-ROM虚拟播放器模型使用Java作为控制BD基本播放器30的编程语言。Java是由太阳微系统公司创造的编程语言并且具有它们可应用系统范围不同的诸如J2EE、J2SE、J2ME等的多个版本。在这个例子中,假设为BD-ROM虚拟播放器模型使用J2ME,其是被设计来安装到顶置盒等的版本。换句话说,根据J2ME来扩展BD-ROM虚拟播放器模型。
作为Java语言的特点,当为程序定义新的类时,可以容易地将其扩展。假设HTML(超文本标记语言)文件不支持事件处理。为了允许这种HTML文件支持事件处理,在HTML文件中描述事件处理的脚本,例如ECMA(欧洲计算机制造商协会)脚本。
当使用Java语言时,可以与在Java语言中定义的扩展方法对应而不使用完成函数的多个技术来添加函数。因此,只以Java语言来描述完成的程序。此外,Java还提供了各种程序开发环境。因此,可以说盘创建者可以轻松地创建盘内容。
当以Java语言来描述BD-ROM虚拟播放器模型时,可以原样使用由太阳微系统公司定义的类、API。在另一方面,BD基本播放器30是BD-ROM的原始函数。因此,Java不提供BD基本播放器30作为存在的类和API。当用Java来实现BD-ROM的这个原始函数时,可以有各种方法。但是,根据本发明的第一个实施例,与BD-ROM对应来创建BD基本播放器30的函数、API、事件模型等。
首先,作为一个Java类来定义BD基本播放器30。将类的名字定义为BDBasicPlayer。图7到图13示出了类BDBasicPlayer的方法的例子的列表。用这些方法来执行BD基本播放器30的所有命令。
图7示出了用于获得播放器设置信息的方法的例子。方法getPlayerSpeed()获得播放器的再现速度。方法getPlayerDirection()获得播放器的再现方向。方法getDescriptionLanguage()获得播放器的显示语言。方法getPlayListNumber()获得当前正在被再现的播放列表号码。方法getChapterNumber()获得当前正在被再现的章节号码。方法getPlayerSupport()获得播放器的函数和版本。
图8A、8B和8C示出了用于再现播放列表的方法的例子。方法playPlayList(intplayListNumber,long[playListTime])开始由“playListNumber”所指定的播放列表的再现。“playListNumber”不是必需的。“playListTime”指定播放列表的经过时间。从经过的时间“playListTime”来再现播放列表。方法playPlayList(String playListURL,long[PlayListTime])开始由“playListURL”所指定的播放列表的再现。“playListURL”是由URL(统一资源定位符)指定的播放列表。可以由URL来指定在因特网上的播放列表。当播放器具有因特网连接功能时,可以从由“playListURL”指定的URL下载并且再现播放列表。“playListTime”不是必需的。“playListTime”指定播放列表的经过的时间。从经过的时间“playListTime”来再现播放列表。
方法playPlayItem(int playListNumber,int playItemNumber)从由“playItemNubmer”指定的播放项目开始由“playListNumber”指定的播放列表 的再现。“playItemNubmer”是识别播放项目并且是从0开始的数字值的“PlayItem_id”。当从播放列表的起始处开始再现时,“playItemNubmer”的值为0。方法playPlayItem(StringplayListURL,int playItemNumber)从由“playItemNubmer”指定的播放项目开始由“playListURL”指定的播放列表的再现。“playItemNubmer”是数字值从0开始的“PlayItem_id”。当从播放列表的起始来开始再现时,“PlayItemList”的值为0。
方法playChapterMark(int playListNumber,int chapterNumber)从由“chapterNumber”指定的章节再现由“playListNumber”指定的播放列表。“playListNumber”可以是“playListURL”。播放列表总用ChapterMark(章节标记)开始。
方法moveAndPlay(string position,object)position=("prev"|"next"|"top"|"tail")object=("PlayItem"|"Chapter")指定在播放列表的跳跃。"next"指定从当前所再现位置到随后播放项目或章节的跳跃并且开始其再现。"top"指定从当前所再现位置到播放列表结束的跳跃。"prev"从当前所再现的播放列表的起始来开始再现。方法stop()停止再现。此时,不保留标准电阻器(resistor)的值。方法playSoundEffect(int sound_id)再现由“sound_id”所选择的声音效果。
图9示出了用于视频流的方法的例子。方法getVideoStreamAvailability()获得代表是否包括所指定的视频流的状态。方法setVideoStreamNumber()指定将被解码的视频流。方法getVideoStreamNumer()获得已经被选择的视频流号码。方法getVideoStreamAttribtue()获得视频流的属性。视频流的属性是例如编码系统、清晰度、宽高比、在宽高比为4:3的情况下的显示模式、闭路字幕等。方法setAngleNumber()指定角(angle)号码。方法getAngleNumber()获得已经被选择的角号码。方法getMaxVideoStreams()获得能够被选择的视频流的数量。
图10示出了用于音频流的方法的例子。方法getAudioStreamAvailability()获得代表是否包括指定的音频流的状态。方法getAudioStreamLaunguage()获得关于在指定的音频流中所使用的语言的信息。方法setAudioStreamNumber()指定将被再现的音频流。方法getAudioStreamNumber()获得正在被再现的音频流号码。方法getAudioStreamAttribute()获得音频流的属性。音频流的属性例如有编码系统、通道数量、量化器比特数量、采样频率等。方法 getMaxAudioStreams()获得能够获得的音频流的数量。
图11示出了用于子画面流的方法的例子。方法getSPStreamAvailability()获得代表是否包括指定的子画面流的状态。方法getSPStreamLanguage()获得在指定的子画面流中使用的语言。方法getSPDisplayStatus()获得子画面流的显示状态,即是否当前正在显示它。方法setSPDisplayStatus()设置子画面流的显示状态,即是否要显示它。方法getSPStreamAttribute()获得子画面流的属性。子画面流的属性例如有关于子画面流的清晰度的信息、关于4:3或宽屏幕类型的宽高比的信息等。
图12示出了用于内部定时器的方法的例子。方法sleep()将过程停止指定的毫秒。方法setTimeout()在经过指定的毫秒后执行函数或过程。方法setInterval()在预定毫秒的间隔执行过程。方法clearTimer()停止指定的注册定时器ID的过程。方法pauseTimer()停止具有指定的注册定时器ID的定时器。方法resumeTimer()暂停具有指定的注册定时器ID的定时器。
图13示出了用于按键输入的方法的例子。方法getPressedKey()获得用户按下的按键的类型。
1-3.关于由BD基本播放器产生的事件
当执行播放器操作的方法时,如果获得了播放器操作的反应,例如是否已经正常地开始了播放器的操作,则可以使用方法的返回值。但是,如果指定了需要长时间的过程并且需要等待直到过程完成,则不能够执行另一个过程。此外,存在有其开始时间不可预测的过程。在这些情况下,可以使用事件技术来有效地执行过程。
当播放器操作时,发生各种事件。在BD-ROM虚拟播放器模型中定义发生的事件。由BD-ROM虚拟播放器模型定义当播放器的操作变化时发生什么事件、和当存在由与事件对应的程序时执行该程序的模型。
当以预定的顺序来再现多个播放列表时,提供一程序,该程序在接收到代表之前的播放列表的再现已经完成的事件之后执行开始一播放列表的再现的过程。此外,提供一程序,该程序在由于任何原因而不再现随后的播放列表时执行异常过程。
当不描述这种事件时,执行在嵌入播放器中的操作(默认事件处理程序)或忽略事件。当不需要执行任何过程时,主动地忽略该事件。此时,不注册事件监听程序(将在后面对其说明)。或者,当不描述与事件对应的程序时, 忽略事件。
将关于发生非周期性事件和执行与事件对应的程序的模型称为事件驱动模型。
1-3a.事件的类别
可以将BD-ROM虚拟播放器模型的事件分为三种类型:(1)在正在被再现的内容中发生的事件;(2)由于用户中断而发生的事件;和(3)与播放器的状态变化对应发生的事件。
(1)在正在被再现的内容中发生的事件是在由标记指定的时间发生的标记检测中断事件。当发生这些事件时,显示或擦除图形。这些事件是预设置中断。只要执行再现,就在相同的定时发生这些事件。
(2)假设由于用户中断而发生的事件是用户用来操作播放器的遥控命令器的按键输入。因为不清楚什么时间用户会执行按键输入,所以这种事件的中断定时是不可预测的。
(3)与播放器的状态变化对应发生的事件是例如当播放器的状态从停止开始到再现状态时发生的事件、和当将正在再现的流改变为另一个流时发生的事件。当在程序中设置定时器时,在指定的时间发生定时器中断事件。播放器的状态改变可以是(1)在正在被再现的内容中发生的事件和(2)由于用户的中断而发生的事件。
图14A、14B和14C示出了在BD-ROM的对象BDBasicPlayer中发生的事件的定义的例子的列表。对象BDBasicPlayer是在类BDBasicPlayer中发生的对象。
首先,(1)将说明在正在被再现的内容中发生的事件。在图14A、14B和14C中,当在正在再现内容的同时检测到标记时发生事件MarkEncounteredEvent。当例如显示图形屏幕时使用这种事件。当用户输入的选择有效周期开始时发生事件ValidPeriodStartedEvent。当用户输入的有效周期结束时发生事件ValidPeriodEndedEvent。当例如强行执行链接时使用这种事件。当检测到重复再现区域的开始时发生事件PlayRepeatedEvent。当改变正在被再现的视频流时发生事件VideoStreamChangedEvent。当改变正在被再现的音频流时发生事件AudioStreamChangedEvent。当改变正在被再现的子画面流时发生事件SubpictureStreamChangedEvent。当改变了流的显示/不显示状态时发生事件StreamDisplayStatusChangedEvent。当检测到播放列表的开始时 发生事件PlayListStartedEvent。当检测到播放列表的结束时发生事件PlayListEndedEvent。当检测到播放项目的开始时发生事件PlayItemStartedEvent。当检测到播放项目的结束时发生事件PlayItemEndedEvent。
随后,(2)将说明因为用户中断而发生的事件。当按下遥控命令器的按键时发生事件RmKeyEvent。用对应的事件监听程序(将在后面对其说明)确定被按下的按键。
随后,(3)将说明与播放器的状态变化对应发生的事件。当播放器开始再现时发生事件PlayStartedEvent。当播放器停止再现时发生事件PlayStoppedEvent。当播放器静止再现时发生PlayStilledEvent事件。当播放器释放再现的静止状态时发生StillReleaseEvent事件。当由用户暂停播放器的再现时发生PlayPausedEvent事件。当释放暂停状态时发生PauseReleaseEvent事件。当递减计时器变为0或递增计时器变为预定的值时发生TimerFiredEvent事件。
1-3b.关于事件的模型
假设在图14A、14B和14C中所示的事件在对象BDBasicPlayer中发生。换句话说,假设Java语言的事件来源是对象BDBasicPlayer。以Java语言定义事件作为事件对象。将在事件发生时所执行的方法称为监听程序。为了执行监听程序,需要向事件源注册事件监听程序。当已经将监听程序注册到事件源时,对象BDBasicPlayer将事件发送到事件监听程序。接收到事件的对象执行在对象中提供的方法。
随后,参照图15,将说明监听程序和事件。对象211、211、…..等具有接收事件和执行监听程序的监听程序接口。对象211将与对象211想要接收的事件对应的监听程序注册到对象BDBasicPlayer210(步骤S10)。将与事件对应的监听程序注册到对象BDBasicPlayer210被称为事件监听程序注册。多个对象211、211、…..等可以执行事件监听程序到对象BDBasicPlayer210的注册。
实施监听程序的接口的对象是实施发生事件时执行的方法的对象。在图15所示的例子中,将当预定的事件发生时执行的方法doAction()实施于对象211。当对象BDBasicPlayer210中发生事件(在步骤S11)并且事件已经被注册到对象BDBasicPlayer210作为事件监听程序时,将事件发送到已经被注册 作为事件监听程序的对象211(在步骤S12)。已经接收事件的对象211执行方法doAction()(在步骤S13)。
图16A和图16B示出了用于注册事件监听程序的方法的例子的列表。方法addContentListenter(ContentsListener1)注册指定的监听程序到对象BDBasicPlayer以从对象BDBasicPlayer接收事件ContentsEvent。将注册的监听程序加入到数组ContentLisenter()。事件ContentsEvent是在正在被再现的内容中发生的事件(1)的通用术语。方法addRmtKeyListener(RmtKeyListener1)注册指定的监听程序以从对象BDBasicPlayer接收事件RmtKeyEvent((2)因为用户中断而发生的事件,在图14A、14B和14C中说明)。将注册的监听程序加入到数组RmtKeyListener()。方法addPlayerStatusListener(PlayerStatusListener1)注册指定的监听程序以从对象BDBasicPlayer接收事件PlayerStatusEvent。将注册的监听程序加入到数组PlayerStatusListener()。事件PlayerStatusEvent是与播放器的状态变化对应发生的、在图14A、14B和14C中说明的事件(3)的通用术语,。
方法removeContentListener(ContentsListener1)去除指定的监听程序以不从对象BDBasicPlayer接收事件ContentsEvent。方法removeRmtKeyListener(RmtKeyListener1)去除指定的监听程序以不从对象BDBasicPlayer接收事件RmtKeyEvent。方法removePlayerSatusListener(PlayerStatusListener1)从对象BDBasicPlayer去除指定的监听程序以不从对象BDBasicPlayer接收事件PlayerStatusEvent。
当执行以“add”开始的方法时,注册事件监听程序。在所期望的事件发生之前注册事件监听程序。当不需要接收事件时,用以“remove”开始的方法可以停止事件的发送。
在图16A和16B中,方法getContentsListeners()返回在对象BDBasicPlayer中注册的所有内容监听程序的数组。方法getRmtkeyListeners()返回在对象BDBasicPlayer中注册的所有RmtkeyListeners的数组。方法getPlayerStatusListeners()返回在对象BDBasicPlayer中注册的所有PlayerStatusListeners的数组。
随后,将说明使用事件监听程序注册而创建的程序的例子。在这个例子中,创建使按钮出现在正在被再现的播放列表的指定情景处的程序。为了确定在播放列表中正在再现的预定情景,使用标记函数。标记函数是可以设置 播放列表的任何时间的函数。当将要再现所标记的情景时,发生在图14A、14B和14C中所示的事件MarkEncounteredEvent。可以创建实施监听程序接口的按钮对象,当MarkEncounteredEvent事件发生时该监听程序接口使按钮出现。换句话说,可以将当接收到MarkEncounteredEvent事件时使图像出现和将事件监听程序注册到对象BDBasicPlayer的程序实施到按钮对象。
更具体地,如在图17中示例的,决定按钮出现在播放列表的哪个情景(在步骤S20)。在按钮出现在播放列表的时候设置标记(在步骤S21)。随后,将在程序中说明一方法,该方法注册与已经在步骤S21被设置的标记对应的事件监听程序(在步骤S22)。换句话说,在步骤S22,说明了在图15所示的步骤S10执行的操作。在按钮对象中说明当事件发生时执行的过程。将与标记产生事件对应的监听程序接口实施到按钮对象(在步骤S23)。换句话说,在步骤S23,说明了步骤S13的内容。以Java语言来说明这些程序。
图18示出了将图17中所示的编程的操作实施到再现处的过程的例子。对象BDBasicPlayer开始播放列表的再现(在步骤S30)。假设当正在再现播放列表时,对象BDBasicPlayer在播放列表中检测到标记(在步骤S31)。对象BDBasicPlayer检查是否已经注册了与检测的标记对应的事件监听程序(在步骤S32)。换句话说,在步骤S32,确定是否已经执行了在图15中所示的步骤S10的过程。如果确定的结果表示还没有注册对应的事件监听程序,则流程行进到步骤S36。因此,对象BDBasicPlayer不发送事件。
在另一方面,当确定的结果表示已经注册了与标记对应的事件监听程序,则流程行进到步骤S33。在步骤S33,对象BDBasicPlayer将事件MarkEncounteredEvent发送到已经注册了事件监听程序的对象。这种过程与在图15中所示的步骤S12的过程相同。当对象已经接收到事件MarkEncounteredEvent时,对象执行当事件MarkEncounteredEvent发生时被执行的方法(在步骤S34)。换句话说,在步骤S34,执行在图15中所示的步骤S13的方法doAction()。在这个例子中,方法doAction描述了使按钮在屏幕上出现的过程。与描述对应地,按钮出现在屏幕上(在步骤S35)。
如在图2A和2B中所示的相关技术部分所述,在传统的DVD视频中,因为已经用AV流复用了按钮的信息,所以当改变按钮出现开始时间时,需要重新复用AV流。
相反地,在根据本发明第一个实施例的BD-ROM虚拟播放器模型中,通 过仅仅改变在时间轴上的标记的设置位置,可以改变按钮出现开始时间。根据本发明的第一个实施例,如图19A、19B和19C所示,独立地构造剪切AV流文件(图19A)、标记数据文件(图19B)和按钮数据文件(图19C)(文件结构将在下文说明)。剪切AV流文件是复用音频包和视频包的文件。
以这种方式,在不同于剪切AV流的文件的数据库文件中存储标记信息。因此,如图19A、19B和19C所示,当将按钮图像的出现开始时间从时间pts1改变到时间pts2时,仅仅需要将标记信息的时间pts1改变到时间pts2。因此,即使改变标记的位置,也不需要重新复用剪切AV流。
此外,根据第一实施例,将构成按钮的数据存储在不同于剪切AV流文件的文件中。因此,作为当选择按钮时所执行的过程,仅仅需要改变独立于剪切AV流文件的按钮对象的方法。如上所述,在传统的DVD视频中,由于按钮命令(该按钮命令执行当选择按钮时将被执行的过程)与AV流复用,所以不能容易地实现当选择按钮时执行的过程。
在BD-ROM的完整简档中,上述的BD-ROM虚拟播放器模型可以提供比传统DVD视频更灵活和更容易的授权。
在上述实施例中,根据面向对象的事件监听程序模型来构造BD-ROM虚拟播放器的模型。或者,由比该例子更简单的事件驱动模型来构造BD-ROM虚拟播放器模型。
随后,参照图20,将说明根据事件驱动模型的BD-ROM虚拟播放器模型。在对象BDBasicPlayer中发生的事件与在图15中所示的面向对象的模型中的那些相同。在事件驱动模型的情况下,假设当事件发生时,仅仅调用在对象BDBasicPlayer中定义的方法processEvent()。换句话说,在该模型中,无论发生什么事件,都调用相同的方法。因此,为了改变与发生的事件的类型对应的过程,需要确定在方法processEvent()中发生了什么事件。
在这种模型中,不需要注册与每个事件对应的事件监听程序。但是,只要发生事件,因为调用方法processEvent(),所以这种模型的效率较低。此外,因为在对象BDBasicPlayer中灵活地定义了将被处理的方法processEvent(),所以这种模型不具备允许在另一个对象中定义和执行新过程例程的扩展性。因此,根据本发明的、强调高扩展性的第一实施例,最好用在图15中所说明的面向对象的模型来构造BD-ROM虚拟播放器模型。
1-4.关于用户输入
图21A、21B、21C和21D示出了BD-ROM虚拟播放器模型可以接收的用户输入命令的定义的例子的列表。假设用户输入是用户用来与播放器的菜单屏幕对应进行输入和操作播放器的遥控命令器的按键的输入。在BD-ROM虚拟播放器中,用户输入是按键输入事件的一种类型。
命令timeSearch(playlistNumber,Time)使正在被再现的剧情从由“Time”指定的时间被再现。命令play(playListNumber,chapterNumber)使指定的剧情从由“chapterNumber”指定的章节被再现。命令stop()使再现停止。命令prev()使从正在被再现的章节的之前的章节的起始来开始再现。命令top()使从正在被再现的章节的起始来开始再现。命令next()使从正在被再现的章节的随后的章节的起始来开始再现。命令forwardScan(speed)使以“speed”指定的速度在前进方向中执行再现。命令backwardScan(speed)使以“speed”指定的速度在后退方向中执行再现。可以在0.1到360的范围中指定“speed”。
命令moveCursor(direction,[level])使光标在上、下、左和右方向中移动。“direction”可以是“上”、“下”、“左”和“右”中的任何一个,其分别使光标在上、下、左和右方向中移动。可以用从“0”到“255”范围中的值来指定“level”。“level”是可选的并且通常不使用或为“0”。当“level”是中间值(“1”到“255”)时,可以表示模拟的游戏杆。
命令click(buttonNumber)使在屏幕上的按钮被点击。命令focus(buttonNumber)使在屏幕上的按钮被选中(focus)。
命令stillOff()使由播放器静止的再现被恢复。可以将命令stillOff()与命令pauseOff合并。命令pauseOn()使再现暂停。只有当再现剧情时才可以操作命令pauseOn()。命令pauseOff()使暂停的再现被释放。
命令LanguageSelect(languageCode)指定菜单的显示语言。命令StreamChange(StreamNumber)使正在被再现的流改变。命令setEnabled(Boolean)使流的状态为显示/不显示。命令angleChange(angleNumber)使显示角改变。命令parentalCountrySelect(countryCode)使家长等级(parental level)的国家代码被设置。命令videoPresentationModeChange(mode)指定视频显示格式。“mode”是“Wide”、“LB(字母盒)”和“PanScan”的任何一个。
图22示出了类RmtKeyEvent的例子,其代表在遥控命令器中发生的按键输入事件。参数“source”是事件源的对象。因此,“source”代表对象 BDBasicPlayer。参数“id”是代表事件类型的整数。参数“when”是代表事件发生的时间的以长格式(long format)的整数。参数“mtKeyCode”是与输入虚拟按键或“VK_UNDEFINED”对应的整数类型代码。将在后说明“VK_UNDEFINED”。
如在图3A和3B中所示,通过遥控命令器的按键的用户输入由硬件接收并且被传输到对象BDBasicPlayer。对象BDBasicPlayer产生与用户输入和类RmtKeyEvent对应的对象RmtKeyEvent。将与用户输入对应的命令通知给已经注册与对象RmtKeyEvent对应的事件监听程序的对象。
图23示出了对象RmtKeyEvent的方法的例子的列表。方法getRmtKeyCode返回与使事件发生的按键对应的按键代码。方法setRmtKeyCode设置使事件发生的按键的按键代码。当执行方法getRmtKeyCode时,可以确定发生的按键对象RmtKeyEvent。
图24、25A和25B示出了由在图23中描述的方法getRmtKeyCode获得的按键的例子的列表。在图25A和25B中示出的、以“VK”开始的按键是在对象BDBasicPlayer上的虚拟按键。按键VK_POWER提供与电源按键对应的功能。按键VK_POWER_ON提供与电源ON按键对应的功能。按键VK_POWER_OFF提供与电源OFF按键对应的功能。按键VK_MENU提供与使得菜单出现的菜单按键对应的功能。按键VK_ENTER提供与使得数据输入的输入按键对应的功能。按键VK_RETURN提供与使得过程的步骤被返回按键按键的返回按键对应的功能。
按键VK_PLAY提供与使得执行再现的播放按键对应的功能。按键VK_STOP提供与使得再现停止的停止按键对应的功能。按键VK_PAUSE提供与使得再现暂停的暂停按键对应的功能。按键VK_FAST_FORWARD提供与使得快进再现被执行的快进按键对应的功能。按键VK_FAST_REVRESE提供与使得快退再现被执行的快退按键对应的功能。按键VK_SLOW_FORWARD提供与使得慢进再现被执行的慢(进)按键对应的功能。按键VK_SLOW_REVERSE提供与使得慢退再现被执行的慢(退)按键对应的功能。按键VK_STEP_FORWARD提供与使得前向步进被被执行的步进(前向)按键对应的功能。按键VK_STEP_REVERSE提供与使得后向步进被被执行的步进(后向)按键对应的功能。
按键VK_NEXT提供与使得对应于“next”的值被输入的“下一个(next)” 按键对应的功能。按键按键VK_PREVIOUS提供与使得对应于“previous”的值被输入的“上一个(precious)”按键对应的功能。用按键VK_NEXT和VK_PREVIOUS,可以使得当前的章节分别跳到随后和之前的章节。
按键VK_UP提供与使得“up”的值被输入的上按键对应的功能。按键VK_DOWN提供与使得“down”的值被输入的下按键对应的功能。按键VK_RIGHT提供与使得“right”的值被输入的右按键对应的功能。按键VK_LEFT提供与使得“left”的值被输入的左按键对应的功能。按键VK_UP_RIGHT提供与使得“upper right”的值被输入的右上按键对应的功能。按键VK_UP_LEFT提供与使得“upper left”的值被输入的左上按键对应的功能。按键VK_DOWN_RIGHT提供与使得“lower right”的值被输入的右下按键对应的功能。按键VK_DOWN_LEFT提供与使得“lower left”的值被输入的左下按键对应的功能。这些方向按键使得光标在屏幕上移动。
按键VK_ANGLE提供与使得多角(multi-angle)视频内容的角被改变的角选择按键对应的功能。按键VK_PRESENTATION_GRAPHICS提供与选择英语/日语字幕、字幕显示/不显示模式等的字幕选择按键对应的功能。按键VK_AUDIO提供与选择诸如环绕模式或双语模式的音频模式的音频选择按键对应的功能。VK_VIDEO_ASPECT提供与选择视频内容的宽高比的宽高比选择按键对应的功能。按键VK_COLORED_KEY_1提供与彩色功能按键1对应的功能。按键VK_COLORED_KEY_2提供与彩色功能按键2对应的功能。按键VK_COLORED_KEY_3提供与彩色功能按键3对应的功能。按键VK_COLORED_KEY_4提供与彩色功能按键4对应的功能。按键VK_COLORED_KEY_5提供与彩色功能按键5对应的功能。按键VK_COLORED_KEY_6提供与彩色功能按键6对应的功能。按键VK_UNDEFINED是未定义按键。
在图24、25A和25B中列出的按键并不总与物理地安置在实际遥控命令器上的按键匹配。此外,依照遥控命令器的类型,可以将多个功能指派给一个物理按键。或者,用户可以从出现在屏幕上的遥控器的按键的图像中选择一个。因此,在图24、25A和25B中示出的按键是抽象地形成对应功能的虚拟按键。由于用户对对象BDBasicPlayer的输入是用这样的虚拟按键表示的,所以可以定义不依赖于装置的用户输入。
图26示出了当用户输入事件发生时执行提供的程序的过程的例子。在图 26中所示的过程中,当在一个章节正在被正常再现的同时用户按下“next”按键,则从当前的章节跳到随后的章节,再现随后的章节,并且准备消息出现在屏幕上。
“next”按键是使得从前章节跳到随后的章节并且再现随后的章节的按键。“next”按键例如是安置在遥控命令器上的按键。当在播放器正在再现章节的同时用户按下“next”按键,则开始了图26所示的流程图的过程(在步骤S41)。当按下“next”按键时,对象RmeKeyEvent发生(在步骤S42)。搜索数据库寻找随后章节的章节标记(在步骤S43)。与所搜索的结果对应,确定是否有随后章节标记(在步骤S44)。当没有章节标记时,完成系列的处理过程并且恢复正常的再现。当在步骤S44所确定的结果表示存在随后的章节标记时,流程行进到步骤S45。
在步骤S45,对象BDBasicPlayer使得正在被再现的当前章节的再现响应于“next”按键而停止(在步骤S45)。当停止了播放器的再现时,事件PlayStoppedEvent发生(在步骤S46)。对象BDBasicPlayer根据剪切信息文件的特征点信息在剪切AV流文件中获得随后章节标记的字节位置。访问所获得的文件的字节位置并且从该字节位置读出和再现流(在步骤S47)。
在步骤S48之后,执行使得消息出现在屏幕上的系列处理过程,从而通知用户当前的章节改变了。为了使得消息出现在当前章节被改变的位置处,需要实施使得播放器呈现消息的方法作为与事件MarkEncounteredEvent对应的事件监听程序。当开始流的再现时,发生事件PlayStartedEvent。此外,对应于章节标记发生事件MarkEncounteredEvent(在步骤S48)。
当发生事件MarkEncounteredEvent时,在步骤S49,开始执行与事件MarkEncounteredEvent对应的监听程序。在监听程序中,获得由事件MarkEncounteredEvent所检测的标记的类型(在步骤S50)。确定标记是否是章节标记(在步骤S51)。当所确定的结果表示该标记不是章节标记时,流程行进到步骤S53。在步骤S53,完成监听程序的执行。当所确定的结果表示所检测的标记是章节标记时,流程行进到步骤S52。在步骤S52,出现代表章节的开始的消息。
在这个例子中,当用户按下遥控命令器的按键时,发生事件RmtKeyEvent。当事件RmtKeyEvent发生时,发生多个状态变化。作为结果,发生多个事件:PlayStoppedEvent、PlayStartedEvent和MarkEncounteredEvent。
因此,在根据本发明第一实施例的BD-ROM虚拟播放器模型中,用户输入事件使得播放器的状态改变并且使得新事件发生。用新事件,可以执行各种过程。
根据本发明的第一实施例,通过定义BD-ROM虚拟播放器模型,可以获得在DVD视频中没有的各种优点。例如,根据本发明的第一实施例,可以用一个模型来实现传统DVD视频的几个功能。
作为第一个例子,可以使用强制的字幕显示功能和UOP(用户操作)禁止功能。强制的字幕显示功能是即使用户已经关闭了字幕显示功能预定的字幕仍在预定的情景被强制显示的功能。UOP禁止功能是禁止用户输入数据的功能。在DVD视频中,定义了用于这些功能的操作模型和数据结构。
在根据本发明的第一实施例的BD-ROM虚拟播放器模型中,与强制的字幕显示功能相关,标记了将字幕强行显示的场景(时间)。提供使得无论是否已经将字幕显示模式打开或关闭都强行地在屏幕上显示字幕的过程作为监听程序。因此,用处理常规标记的模型,可以实现强制的字幕显示功能。
与UOP禁止功能相关,除非已经注册了遥控命令器的按键输入事件的事件监听程序,即使发生按键输入事件,也不执行过程。因此,忽略了用户输入并且禁止UOP。
因此,根据本发明的第一个实施例,由于可以用一个事件模型来实现DVD的功能,所以盘创建者处可以轻松地创建DVD。
此外,在DVD视频中,为操作预指派遥控命令器的按键。当按下遥控命令器的子菜单按键时,作为已经被预指派给子菜单按键的操作,出现子菜单屏幕,在其上可以将音频模式、字幕模式、和角进行改变。但是,由于子菜单不是DVD视频的必需数据,所以存在不具有子菜单的盘。在这种情况下,即使当播放器具有这样的盘同时按下子菜单按键,还是没有操作发生。
在另一方面,在根据本发明的第一实施例的BD-ROM虚拟播放器模型中,如参照图21A、21B、21C、21D、22、23、24、25A和25B所述的,可以由盘创建者处指定按键和其对应执行的过程的关系。因此,用在盘没有子菜单的情况下使得播放器显示消息的程序,当用户按下子菜单按键,可以将表示盘没有子菜单的消息通知给他或她。
因此,根据本发明的第一实施例,由于盘创建者处具有较高程度的自由来创建盘,所以盘创建者处可以创建用户可以轻松处理的盘。
此外,根据本发明的第一实施例,与BD-ROM虚拟播放器模型对应来定义Java类并且用Java程序来控制播放列表的再现。用Java程序,可以实现多线程程序。因此,可以轻松地处理响应于用户输入的网络访问和等待时间所引起的时间滞后。此外,用Java程序,可以由预读命令轻松地完成分支预测、推测的执行等。因此,可以以高速执行过程。
1-5.关于文件管理结构
随后参照图27,将说明可以应用于BD-ROM的完整简档的文件管理结构。将文件分层地管理。在记录介质上形成一个目录(在图27中所示的例子中的根目录)。由一个记录和再现系统来管理在这个目录之下的文件。
在根目录之下,放置目录BDMV。在根目录之下可以放置多个目录BDMV。
在目录BDMV之下,放置两个文件“scenario.hdmv”和“entrylist.data”。在目录BDMV之下,放置多个目录“PLAYLIST”、“CLIPINF”、和“STREAM”。
文件“scenario.hdmv”是存储剧情的剧情文件。剧情是在其中将多个播放列表进行排列的结构。比如,剧情控制播放列表的再现顺序。为了允许用户在其分开的单元中看见剧情,可以提供章节。在文件“scenario.hdmv”中存储在BD-ROM的HD电影模式中的电影对象。
文件“entrylist.data”存储关于诸如剧情的搜索点(标题条目)、组成菜单的播放列表、和播放列表组的进入点的菜单的信息。在文件“entrylist.data”存储在BD-ROM的HD电影模式中的索引表。
目录“PLAYLIST”存储播放列表。在一个文件“****.mpls”中存储一个播放列表。在指定剪切AV流的再现范围的播放列表文件“****.mpls”中存储代表在剪切AV流中的标记的位置的信息。
目录“CLIPINF”存储剪切信息文件“####.clpi”。目录“STREAM”存储剪切AV流文件“%%%%.m2ts”。当将相关的文件名指派给剪切AV流文件时,可以轻易地将它们关联。例如,将除了扩展名以外的相同文件名“####”和“%%%%”用于剪切信息文件和剪切AV流文件。
将组成Java程序的Java类文件存储在位于目录BDMV之下的预定目录(未示出)中。或者,可以将Java类文件放置在与目录BDMV处在相同层级的目录中。
1-6.关于解码器模型
随后,将说明根据本发明第一实施例的播放器解码器100。图28A、28B和28C是功能方框图,示出了根据本发明的第一实施例的播放器解码器100的结构的例子。播放器解码器100解释从载入到驱动设备(未示出)中的盘再现的数据,输出组成内容的AV(音频/视频)流,并且允许用户互动地操作该输出AV流。
由CPU(未示出)来控制播放器解码器100的所有操作。由CPU来控制和监控播放器解码器100的各个部分的流和数据流。
当将盘载入驱动设备(未示出)时,再现描述播放列表的再现顺序的文件“scenario.hdmv”和描述组成菜单和标题的播放列表组的顶部播放列表的文件“entrylist.data”。根据文件“scenario.hdmv”和文件“entrylist.data”的描述,从盘读出其他必要的文件,从而再现记录在盘上的内容。
例如,根据文件“scenario.hdmv”和文件“entrylist.data”的描述,从盘读出显示在视频板134和第二视频板160上的运动画面数据、显示在图形板A132、图形板B133、和第二视频板160上的图像数据、和播放列表文件等。在完整简档中,读出和执行存储程序的文件。
在下面的说明中,在从盘读出的那些数据中,将应该被连续地处理的诸如运动画面数据、子画面(字幕数据)、和声音数据的流称为实时流。相反地,将不需要被连续地处理的诸如剧情文件、播放列表文件、节目文件、运动画面的部分、静止画面、和声音数据的非实时流称为存储对象。在存储器等中存储所述存储对象并且在其上扩展。当需要时处理存储在存储器中的存储对象。
播放器解码器100具有作为通道(1)和通道(2)的输入通道的两个系统。将存储对象输入到输入通道(1)的输入端101。将实时流输入到输入通道(2)的输入端202。或者,可将存储对象输入到输入端202。根据本发明的第一和第二实施例,被输入到输入端202的存储对象的部分和实时流是例如MPEG2TS(运动图像专家组2传输流)。
被输入到输入端202的实时流不限于MPEG2TS。只要能够以包的单位传送和与视频数据、音频数据、静止画面数据等复用实时流,则可以输入具有其他格式的流。此时,将会在后面说明的PID滤波器110用作解复用视频数据、音频数据、静止画面数据等的解复用器。
当在驱动设备中的盘的旋转速度增加例如两倍时,盘的读出传输速率也 增加,可以基于时间分割来执行从盘来的通道(1)和(2)的两个系统的读出操作。
随后,将说明输入通道(1)的系统。将输入到输入端101的存储对象输入到开关电路102。当作为存储对象输入Java文件的程序代码、ECMA(欧洲计算机制造商协会)脚本、HTML(超文本标记语言)文件(或XHTML文件)等时,开关电路102选择输出端102A。输入程序代码存储在代码缓存器104中。
在另一方面,当作为存储对象输入图像数据时,开关电路102选择输出端102B。因此,将输入图像数据输入到开关电路103。当输入到输入端202的实时流不包括在图形板A132和图形板B133上显示的图像数据时,开关电路103选择输入端103A。从开关电路102输入的图像数据存储在内容缓冲器105中。
类似地,当在输入到输入端202的实时流中包括显示在图形板A132和图形板B133上的图像数据时,开关电路103选择输入端103B。因此,将图像数据存储在内容缓存器105中。当需要时读出在代码缓存器104和内容缓存器105中存储的存储对象并且将该存储对象提供给多媒体引擎106。
分别通过开关电路107和108,还将存储在内容缓存器105中的存储对象的图像数据提供给图形解码器A116和图形解码器B117。
多媒体引擎106包括XML分析器106A、程序/脚本解释器106B、和图形渲染器(renderer)106C。多媒体引擎106还包括能够处理音频数据的声音播放器106D。可以用独立的硬件来组成多媒体引擎106。或者,可以用上述CPU(未示出)执行的预定程序的过程来实现多媒体引擎106。
XML分析器106A具有分析XML(可扩展标记语言)文件的功能。此外,XML分析器106A还可以分析HTML文件和XHTML文件。将由XML分析器106A所分析的HTML文件和XHTML文件转换成可以由播放器解码器100执行的各种格式。程序/脚本解释器106B分析Java(注册商标)程序、ECMA脚本等,并且将它们转换成可以由播放器解码器100执行的各种格式。图形渲染器106C解码图像数据并且获得可以在字幕板11和图形板12上展开的格式。
多媒体引擎106为带有缓存器109的工作存储器的图形渲染器106C、程序/脚本解释器106B、XML分析器106A执行过程。例如,XML分析器106A 和程序/脚本解释器106B使用缓存器109的代码缓存器109a。图形渲染器106C使用缓存器109的图形缓存器109D。缓存器109还包括存储用于显示字符串的字体数据的字体缓存器109B、存储由XML分析器106A在层级树结构中对HTML文件的分析结果的树缓存器109C、存储在声音播放器106D中使用的音频数据的声音缓存器109E等。
当需要时,多媒体引擎106从代码缓存器104读出Java程序,从内容缓存器105读出图像数据,等等。可以将存储在代码缓存器104和内容缓存器105中的数据存储在代码缓存器104和内容缓存器105中,直到数据变为不需要时为止。因此,可以重复地读出存储在代码缓存器104和内容缓存器105中的数据并且在需要时使用该数据。
除了上述数据外,多媒体引擎106还读出例如存储在代码缓存器104中的ECMA脚本并且执行它。当需要时,多媒体引擎106可以从代码缓存器104中读出另一个ECMA脚本和HTML文件(或XHTML文件),根据已经被读出的ECMA脚本的描述来执行它们。
此外,多媒体引擎106从遥控命令器、指示设备等接收用户输入,并且为用户输入执行预定的过程。将用户输入提供给将在后面说明的图形解码器A116、图形解码器B117、和音频解码器118、MPEG视频解码器120、和系统解码器121。
分别通过开关电路130和131将由图形渲染器106C处理的图像数据提供给图形板A132和图形板B133。在这个例子中,虽然根据本发明,提供给图形板A132和图形板B133的图像数据可以具有几种格式,例如PNG格式、运行长度格式、和JPEG格式,但是并不限于这些格式。由多媒体引擎106来控制将图像数据提供给板132和133所用的定时。
此外,多媒体引擎106提供控制信号给将要在后面说明的呈现处理器155,并且使得它选择视频134、字幕板134、第二视频板160、图形板A132、和图形板B133之一,并且执行阿尔法混合(alpha-blending)等。类似地,多媒体引擎106将控制信号提供给将在后面说明的呈现处理器157并且使得它控制音频流的输出。
多媒体引擎106从ROM(未示出)等读出Java程序并且在多媒体引擎106上传输对象BDBasicPlayer。多媒体引擎106从代码缓存器104读出Java程序。当需要时,包括已经从代码缓存器104读出的Java程序的对象将事件 监听程序注册到对象BDBasicPlayer。
如在图15中所示的,在多媒体引擎106上,对象BDBasicPlayer发送事件给包括与例如用户输入对应地已经从代码缓存器104读出的Java程序的对象。该对象执行对应的方法。对象BDBasicPlayer检测播放器解码器100的状态变化。当对象BDBasicPlayer已经检测到预定的状态变化时,对象产生对应的事件。多媒体引擎106使与事件对应的方法控制驱动设备(未示出)和播放器解码器100的每个部分,从而为盘执行再现控制。
随后,将说明输入通道(2)的系统。将作为MPEG2TS输入到输入端202的实时流提供给PID滤波器110。PID滤波器110从MPEG2TS传输流的传输包中提取PID(包标识),并且检测从传输包来的流的属性。根据流的属性,PID滤波器110将输入的实时流分离为对应每个传输包系统。
当传输包是其中包括存储对象的图像数据的包时,将传输包暂时存储在缓存器TBn111A中。在预定的时间读出传输包并且将传输包通过已经选择的输入端103B输入到开关电路103。之后,通过开关电路103将传输包存储在内容缓存器105中。
当PID滤波器110确定传输包包括根据PID的字幕数据时,将传输包暂时存储在缓存器TBn111B和缓存器Bn112B中。在预定的时间读出传输包并且将传输包通过已经选择的输入端107B输入到开关电路107。将传输包通过开关电路107提供给图形解码器A116。
图形解码器A116从所提供的传输包中除去头部信息,解码包括在传输包中的字幕数据,并且为字幕等获得图像数据。将图像数据输入到开关电路130的输入端130B,并且将图像数据通过开关电路130扩展到图形板A132。此外,可以通过开关电路131将图像数据扩展到图形板B133。
当PID滤波器110确定传输包包括根据PID的图形数据时,将传输包暂时存储在缓存器TBn111C和缓存器Bn112C中。在预定的时间读出传输包并且将传输包通过已经选择的输入端108B输入到开关电路108。通过开关电路108将传输包提供给图形解码器B117。
图形解码器B117从所提供的传输包中去除头部信息,节目包括在传输包中的图形数据,并且获得图形数据。在预定的定时将图像数据提供给开关电路131的输入端131B,并且通过开关电路131将图像数据扩展到图形板B133。此外,可以通过开关电路131将图像数据扩展到图形板A132。
图形解码器A116的功能与图形解码器B117的功能并不是非常不同。换句话说,作为模型,有独立操作的两种系统的图形解码器。因此,认为可以独立地解码字幕数据和图形数据。在实际实施中,基于时间分割来使用高速图形解码器,就如同存在两个虚拟系统的图形解码器一样。
当PID滤波器110已经确定传输包包括根据PID的音频数据时,将传输包暂时存储在缓存器TBn111D和缓存器Bn112D中。在预定的时间读出传输包,并且将传输包提供给音频解码器118。将包括在传输包中的音频数据根据基于例如MPEG的系统进行压缩编码。
音频解码器118例如还包括线性PCM(脉冲编码调制)音频解码器119。音频解码器118从输入传输包中去除头部信息,解码包括在传输包中的压缩解码的音频数据,并且获得线性PCM音频数据。
将从音频解码器118输出的线性PCM音频数据输入到音频的呈现处理器157。在多媒体引擎106的控制下,呈现处理器157将预定的效果声音等加入到线性PCM音频数据中。从输出端158获得产生的数据。
当PID滤波器110已经确定传输包包括根据PID的运动画面数据时,将传输包暂时存储在缓存器TBn111E、缓存器MBn113、和缓存器EBn114中。在预定的时间读出传输包,并且将传输包提供给MPEG视频解码器120。将包括在传输包中的运动画面数据根据MPEG2系统进行压缩编码。
MPEG视频解码器120从提供的传输包中去除头部信息,解码已经根据MPEG2系统压缩编码的运动画面数据,并且获得基带运动画面数据。
将从MPEG视频解码器120输出的运动画面数据输入到开关电路124的输入端124A。在开关电路124中,选择从MPEG视频解码器120输出的运动画面数据和从多媒体引擎106输出的运动画面数据。将在预定定时选择的运动画面数据输入到开关123。开关123选择运动画面数据扩展到的视频板。将运动画面数据扩展后显示到视频板134或第二视频板160。
当PID滤波器110已经确定传输包包括根据PID的系统信息时,通过缓存器TBn111F和Bsys115将传输包提供给系统解码器121。系统解码器121从所提供的传输包中去除头部信息并且从那里提取系统信息。将系统信息提供给例如CPU(未示出)。
将在图形板A132上的图像数据提供给调色板150。调色板具有256种颜色。调色板基于索引而确定。输出RGB数据。此外,提取作为阿尔法混合参 数的不透明数据α1。由RGB/YCbCr转换电路151将RGB数据转换为YCbCr数据。将YCbCr数据和不透明数据α1提供给呈现处理器155。
将在图形板133上的图像数据提供给调色板152。调色板具有256种颜色。调色板基于索引而确定。因此,输出RGB数据。此外,提取不透明数据α2。由RGB/YCbCr转换电路153将RGB数据转换为YCbCr数据。将YCbCr数据和不透明数据α2提供给呈现处理器155。
将视频板134的输出通过上/下转换器154提供给呈现处理器155。类似地,将第二视频板160的输出通过上/下转换器161提供给呈现处理器155。
上/下转换器154是转换图像的清晰度的电路。上/下转换器154例如将具有高清晰度的HD(高清晰度)图像转换为具有标准清晰度的SD(标准清晰度)图像。
呈现处理器155使用图形板A132的图像数据的不透明性α1和图形板B133的不透明性α2来执行阿尔法混合处理。此外,呈现处理器155还替换地为每个象素选择视频板134和第二视频板160的输出,从而实现上述的画中画功能、墙纸显示功能等。
换句话说,呈现处理器155用开关(未示出)来选择视频板134和第二视频板160的图像数据,从而产生一片图像数据。根据设置到图像板A132的图像数据的不透明性α1,将图像数据和图形板A132的图像数据合并。此外,根据已经设置到图像板B133的图像数据的不透明性α2,将图形板B133的图像数据与视频板和图形板A132已经合并的图像数据进行合并。从输出端156获得图形板B133的图像数据、图形板A132的图像数据(字幕数据)、和视频板134和第二视频板160的图像数据已经合并的图像数据。
呈现处理器155可以为实时图像数据执行效果处理。
在上述说明中,播放器解码器100的每个部分都有由硬件组成。
但是,本发明并不限于这个例子。例如,可以由软件的处理来实现播放器解码器100。在这种情况下,可以在计算机设备上操作播放器解码器100。或者,由硬件和软件的结合来实现播放器解码器100。例如,音频解码器118和MPEG视频解码器120可以由硬件组成。播放器解码器100的其他部分可以由软件组成。
将使得计算机设备执行只包括软件或软件与硬件的结合的播放器解码器100的程序记录在例如CD-ROM(致密盘只读存储器)的记录介质上并且与 介质一起提供。将CD-ROM载入到计算机设备的CD-ROM驱动器。将记录在CD-ROM上的程序安装到计算机设备。因此,可以在计算机设备上执行上述过程。由于计算机设备的结构是众所周知的,所以将省略对其的说明。
2.本发明的第二实施例
随后,将说明本发明的第二个实施例。根据第二个实施例,用称为ECMA脚本的脚本语言来说明播放器模型。ECMA脚本是由ECMA(欧洲计算机制造商协会)规定的交叉平台脚本语言。ECMA脚本基于JavaScript(注册商标)。ECMA脚本与HTML文件有密切的关系。此外,ECMA脚本能够定义原始对象。因此,ECMA脚本可适合用于根据本发明的播放器模型。
如在图28A、28B、和28C中所示,由于在播放器解码器100中的多媒体引擎106可以分析和执行ECMA脚本,所以可以在本发明的第二个实施例中使用播放器解码器100。
根据本发明的第二个实施例,将使用基于ECMA脚本的脚本语言的标准称为UMD(通用媒体盘,注册商标)视频标准。将UMD视频标准的脚本部分称为UMD视频脚本标准。
2-1.关于UMD视频标准
首先,为了便于理解,将说明可以应用于本发明第二个实施例的UMD视频标准。图29示出了UMD视频标准的层结构。在图29中示出了层结构与根据第一实施例在图1中示出的结构对应。在UMD视频标准中,定义了三层:脚本层、播放列表层和剪切层。对应于这种结构来管理流。
在UMD视频标准中,将已经被数字化编码的字幕数据、视频数据和音频数据当作已经将它们作为MPEG2基本流而复用的MPEG2(运动图像专家组)流来对待。将已经将视频、音频和字幕基本流复用的MPEG2流称为剪切AV流。将剪切AV流存储在剪切AV流文件中。只要记录了剪切AV流文件,就以一对一的关系来创建剪切信息文件。将一组剪切信息文件和对应的剪切AV流文件称为剪切。
剪切是记录在盘上的数据的记录单元。在作为剪切的上层的播放列表层中管理剪切的再现顺序。播放列表层是指定剪切的再现路径的层,包括一个或多个播放列表。播放列表包括一组播放项目。播放项目包括一组代表剪切的再现范围的入点和出点。用播放项目,能够以任何顺序来再现剪切。播放项目可以指定相同的剪切。可以用时间戳(在剪切中的时间)来指定剪切AV 流文件的入点和出点。将时间戳转换为带有剪切信息文件的信息的剪切AV流文件的字节位置。
播放列表具有结构用于以顺序再现表示所有或部分剪切的播放项目。仅仅用播放列表,不能实现与用户的互动和再现顺序的分支。
脚本层是包括UMD视频脚本的层,其是作为语言的ECMA脚本的扩展。UMD视频脚本是基于ECMA的脚本,其针对UMD视频的原始功能进行了扩展。
脚本层是播放列表层的上层。脚本层包括播放列表再现命令和播放器设置命令。用脚本层命令,可以实现诸如从几个流中选择与所期望的语言对应的流的语言选择的播放列表再现,和与预定的条件对应选择将被再现的播放列表的条件分支的播放列表再现。执行具有条件分支的播放列表再现的应用的例子是多故事。这个脚本层提供对用户的互动功能。
2-2.关于基于UMD视频标准的播放器模型
随后,将说明根据UMD视频标准再现数据的再现装置(播放器)的模型,即播放器模型。首先,播放器从盘读出脚本程序、播放列表和剪切信息文件。之后,根据在脚本程序、播放列表和剪切信息文件中描述的再现顺序,播放器从盘读出剪切AV流文件,并且从剪切AV文件再现视频数据、音频数据和字幕数据。
在脚本程序的语言规范中,将再现播放列表的功能块实现为脚本程序的对象。在UMD视频标准中,将再现播放列表的对象称为电影播放器对象。播放列表再现命令和播放器设置命令是电影播放器对象的方法。用脚本层的方法来控制电影播放器对象。此时,需要允许电影播放器对象将状态变化、再现位置等通知给脚本层的功能。这意味着电影播放器对象将事件发布给脚本程序。将与事件对应的过程称为事件处理程序。
因此,凭借使用事件将信息从电影播放器对象传输到脚本程序和脚本程序使用方法来控制电影播放器对象的模型,可以由脚本程序来控制剪切AV流的再现。
图30示出了根据本发明第二个实施例的播放器模型的例子的示意图。电影播放器300是根据UMD视频标准再现视频数据、音频数据和字幕数据的模块。电影播放器对象是脚本程序的对象,从而脚本程序操作电影对象。换句话说,电影播放器对象是实现电影播放器的功能的脚本程序。
由于考虑电影播放器300和电影播放器对象基本上代表相同的对象,在之后将它们用相同的参考数字进行标识。
在图30中,根据低层(原本(native)实施平台301)的方法和作为上层的脚本层302的方法,基于播放列表和剪切信息数据库,电影播放器300读出、解码、和显示剪切AV流文件。
电影播放器300的内部依赖于再现UMD视频的UMD视频播放器的实现。脚本层302提供诸如方法的API(应用程序编程接口)和诸如作为黑盒子的对象的属性。在这个例子中,UMD视频播放器代表实现电影播放器的实际设备。所有UMD视频播放器实现符合UMD视频标准和具有再现兼容性的电影播放器。
如图30中所示,电影播放器对象300具有三个输入/输出路径,它们是从原本实施平台301接收控制命令311的路径、将事件312通知给脚本层302的路径、和从脚本层302接收方法313的路径。
控制命令311是控制从原本实施平台301接收的电影播放器对象300的操作的命令。原本实施平台301是专用于作为实际UMD视频播放器的设备的部分、并且是与电影播放器300的接口。事件312是电影播放器300发送到脚本层302的脚本事件。方法313是脚本层302的脚本程序发送到电影播放器300的方法。
电影播放器对象300具有数据库320,用于根据UMD视频标准的剪切信息和播放列表。用数据库320,电影播放器对象300屏蔽用户输入310并且将指定再现位置的时间转换为剪切AV流的字节位置。
电影播放器300的回放模块321将剪切AV流作为已经在其中复用了视频数据、音频数据、和字幕数据的MPEG2PS(节目流)进行解码。回放模块321具有三种状态:播放、停止和暂停。回放模块321根据控制命令和方法来改变在这三种状态之一中的操作(见图31)。
脚本层302是一种其中根据UMD视频脚本标准来执行脚本程序、控制电影播放器对象300、和显示屏幕的层。脚本层302实现内容提供者试图创建的剧情。脚本层302发布方法313给电影播放器对象300并且从电影播放器对象300接收事件312。脚本层302与原本实施平台301交换与用户输入310对应的按键事件314和使得原本实施平台301显示屏幕的方法315。
例如,与从脚本层302的脚本程序传输到到原本实施平台301的方法315 对应,由原本实施平台301画出出现在菜单屏幕上的按钮。当用户选择在菜单屏幕上的按钮时,原本实施平台301将与用户输入310对应的按键事件314通知给脚本层302。脚本层302的脚本程序执行与按键事件314对应的用户输入310的处理。
将诸如在脚本文件中使用的声音数据和图像数据的数据和脚本程序作为文件记录到盘上。这种文件与图25A和25B种所示的文件scenario.hdmv对应。
因此,电影播放器300控制视频数据、音频数据和字幕数据的解码和显示处理。在另一方面,脚本层302控制诸如组成GUI(图形用户界面)的按钮的部分图像的分配和显示处理,并且对GUI部分的选择处理执行处理过程。
原本实施平台301其上电影播放器对象300和脚本程序进行操作的平台。当实际的UMD视频播放器包括硬件时,将原本实施平台301具体实施为硬件,从而原本实施平台301在硬件和播放器模型之间起到中介作用。
例如,原本实施平台301从用户接收用户输入310并且确定所接收的用户输入310是对电影播放器300的命令还是对脚本层302画出和显示的按钮的命令。当原本实施平台301确定用户输入310是对电影播放器300的命令时,原本实施平台301将用户输入310转换为作为电影播放器300的内部控制命令的控制命令311,并且发布控制命令给电影播放器300。在另一方面,当原本实施平台301已经确定用户输入310是脚本层302画出和显示的GUI部分的命令时,原本实施平台301将与用户输入310对应的按键事件314通知给脚本层302。
随后,将详细说明电影播放器300。图31示出了电影播放器300的例子的内部结构。如上所述,电影播放器300包括数据库320和回放模块321。数据库320是用于从盘读出的播放列表的信息和剪切的信息(即剪切信息)的区域。
回放模块321包括解码器引擎322和作为代表回放模块321的状态的值的属性323。类似于语言代码,属性323包括两种属性,属性323A(只读参数),其值依赖于电影播放器300的初始设置,属性323B(播放器状态),其值依赖于回放模块321的状态。
由例如实际设备的原本系统来设置其值依赖于初始设置的属性323A。属性323A不随着部分列表、剪切信息或脚本程序而变化。可以从脚本程序读 出属性323A。在另一方面,可以从脚本程序读出代表回放模块321的状态的属性323B。可以从脚本程序的部分来写属性323B。
在操作模型中,假设在再现剪切AV流之前预先装载剪切信息和播放列表。只要能够实现电影播放器模型的操作,还可以使用另一个实施模型。
电影播放器对象300再现与从脚本层302或原本实施平台301接收来的命令对应的指定的播放列表。例如,电影播放器300参考数据库320并且获得与指定的播放列表对应的剪切AV流的再现位置作为字节位置。回放模块321的解码器引擎322控制与再现位置信息对应的剪切AV流的解码过程。
如图32所示,电影播放器300具有三种状态,它们是播放、停止和暂停,与播放列表的再现状态对应。播放状态代表电影播放器300正在再现播放列表并且正经过时间。此外,正常的再现,播放状态包括可变速的再现,诸如2×速再现和1/2×速再现,和快进以及快退。暂停状态代表当电影播放器300正在再现播放列表时,时间轴停止。所谓的步进再现状态代表电影播放器300前向地或后向地再现每个帧的播放列表。停止状态代表视频播放器300不再现播放列表。
与电影播放器300的解码器引擎322在播放、暂停和停止之中的状态改变对应地,播放器300的状态改变。与解码器引擎322的状态改变对应地,来更新属性323B的值。
恢复信息代表就在停止状态发生之前的状态。当电影播放器300解码播放列表并且变为播放状态时,如果电影播放器300变为停止状态,则恢复信息代表就在停止状态发生之前的状态。可以将恢复信息存储在作为播放器具有的硬件的非易失存储器中,从而可以识别盘的每个标题。
2-3.关于电影播放器的事件模型
随后,将说明电影播放器300的事件模型。电影播放器300在其中电影播放器300再现播放列表的播放状态中产生各种事件。这种事件使得在脚本中描述的处理程序被执行。将这种处理程序称为事件处理程序。事件处理程序是在事件发生时被调用的方法。当这种事件发生时,程序执行模型开始执行处理程序。将这种程序执行模型称为事件驱动模型。根据本发明的第二实施例,脚本程序用事件处理程序组来控制电影播放器300的操作。
图33示出了根据本发明第二个实施例的电影播放器300的事件模型。在图33中,事件处理程序onEventA()、onEventB()、和onEvent()是接口。在 脚本中说明了这些事件处理程序的内容。由内容创建者处来创建和实施事件处理程序的内容。在UMD视频脚本标准中,电影播放器对象300通知脚本程序的每个事件被提供给事件处理程序。在图33所示的例子中,在事件A发生时执行的处理程序是事件处理程序onEventA()。类似地,与事件B和事件C相关,当事件B发生时,执行事件处理程序onEventB()。当事件C发生时,执行事件处理程序onEventC()。
由于在系统处选择当事件发生时所调用的事件处理程序,所以内容创建者处不需要在脚本程序中说明确定发生的事件的过程。
根据本发明第二个实施例的事件模型比根据如图15中所示的第一实施例的事件监听程序模型简单,因为后者需要注册事件和删除注册的事件的过程。另一方面,在无论任何事件发生都调用一个方法processEvent()的模型中,需要在方法processEvent()中描述知道发生什么事件和为发生的事件选择处理例程的预处理过程。因为方法processEvent()应该由内容创建者处来实施,所以即使模型简单,内容创建者处也需要费力地创建盘。此外,只要发生事件,就调用一个大处理程序(方法)。因此,将使用大量的存储器空间并且执行速度也会变慢。因此,因为根据本发明第二个实施例的模型为每个事件提供处理程序(事件处理程序),所以据此,第二个实施例的模型比第一个实施例的模型更先进。
2-4.关于电影播放器对象300
随后,将说明电影播放器对象300的外部规格。通常,在与ECMA脚本语言规范对应的语言中定义的对象具有属性和方法。根据本发明第二个实施例的电影播放器对象300具有如图31和32所示的方法和属性。可以由指定的预定的对象名和属性名来直接读写属性。此外,用设置属性值的方法setXXX()(“XXX”代表指定的属性名称)和读出属性值的方法getXXX(),可以由这些方法来读写另一个对象的属性。
对于根据本发明第二个实施例的电影播放器300的方法和属性,可以应用根据在图7到图12中所示的第一个实施例的那些规定相同的规定。换句话说,根据本发明的第二个实施例,可以认为在脚本层302的脚本程序和电影播放器对象300之间的规定(API),即在图30中所示的方法313,与在本发明第一个实施例中以Java定义的类相同。
如在图30中所示,由原本实施平台301首先接收用户输入310。换句话 说,原本实施平台301从用户接收按键输入作为用户输入310。原本实施平台301确定用户输入310是对电影播放器300的命令还是对脚本层302的脚本程序的事件。与确定的结果对应,原本实施平台301产生控制命令311或按键事件314,并且通知其对应的上层(电影播放器300或脚本层302)。
用户输入310是在图24、25A和25B中所示的按键输入。与在图24中所示的按键输入对应的功能的角色不同于在图25A和25B中的那些。因此,原本实施平台301需要选择将用户输入通知到的目的地。
在图24中示出的按键输入使得电影播放器300再现视频数据、音频数据和字幕数据。当原本实施平台301接收如图24中所示的按键输入作为用户输入310时,原本实施平台301将所接收的按键输入转换为在图21A、21B、21C和21D中所示的命令。将所转换的命令作为控制命令311通知给电影播放器300。换句话说,在图21A、21B、21C和21D中所示的用户输入命令与在图30中所示的控制命令311对应。
在另一方面,在图25A和25B中示出的按键输入是对GUI的用户输入310。当原本实施平台301接收如在图25A和25B示出的按键输入作为用户输入310时,原本实施平台301将所接收的按键输入转换为按键事件314,并且将按键事件314通知给脚本层302。
图25A和25B还示出了与作为按键VK_ANGLE、按键VK_PRESENTATION_GRAPHICS和按键VK_AUDIO的流选择相关的按键输入。可以由对电影播放器300的脚本程序的方法来实现这些按键输入。因此,它们是应该通知给脚本层302的按键输入。
2-5.关于由电影播放器对象300处理的事件
根据使用Java语言的第一个实施例,对象BDBasicPlayer具有如图14A、14B和14C中所示的事件。根据图15中所示的事件监听程序模型,可以用在图16A和16B中所示的方法来注册和取消注册(unregister)监听程序。在根据第一个实施例的事件监听程序模型中,当正在执行程序时,可以动态地注册和取消注册监听程序。当正在执行程序时,可以改变对事件的响应过程。因此,相比于相关技术,可以实现具有更高自由程度和更先进功能的编程。
在另一方面,在根据本发明第二实施例的ECMA脚本语言的脚本语言中,调用已经与发生的事件对应进行准备的处理程序,而不需要注册和取消注册监听程序。与根据第一实施例的监听程序对应的接口是电影播放器300 的事件处理程序。在事件处理程序模型中,不需要与在图16A和16B中示出的监听程序的注册相关的方法。
根据本发明的第二个实施例,与事件对应地提供图34A和34B中的事件处理程序的例子。事件处理程序名称具有前缀“on”。在图34A和34B所示的事件处理程序的例子与在第一个实施例的图14A、14B和14C中所示的事件对应。
事件处理程序onTimerFired()与当电影播放器300的递减计时器的值变为“0”是或当递增计时器的值变为预定的值时所发生的事件对应。因此,在预定的定时可以完成过程。
事件处理程序onPlayStopped()与当再现在电影播放器300中停止时发生的事件对应。事件处理程序onPlayStilled()与当再现在电影播放器300中暂停时发生的事件对应。事件处理程序onPlayStarted()与当再现在电影播放器300中开始时发生的事件对应。事件处理程序onPlayRepeated()与当在电影播放器300的重复再现中检测到预定的数据的起始时发生的事件对应。因此,可以实现与解码器引擎322的状态对应的过程。
事件处理程序onSPDisplayStatusChanged()与当在电影播放器300中字幕(子画面)数据的流的不显示和显示状态改变时发生的事件对应。事件处理程序onSelectedAudioChanged()与当在电影播放器300中正在被再现的音频流改变时发生的事件对应。事件处理程序onVideoStopped()与当在电影播放器300中正在再现的视频流改变时发生的事件对应。因此,可以实现与正在被再现的流的变化对应的过程。
事件处理程序onPlayListStarted()与当在电影播放器300中检测到播放列表的起始时发生的事件对应。事件处理程序onPlayListEnded()与当在电影播放器300中检测到播放列表的结束时发生的事件对应。事件处理程序onPlayItemStarted()与当在电影播放器300中检测到播放项目的起始时发生的事件对应。事件处理程序onPlayItemEnded()与当在电影播放器300中检测到播放项目的结束时发生的事件对应。因此,可以实现与播放列表和播放项目的再现的起始和结束对应的过程,诸如播放列表和播放项目的连续再现。
事件处理程序onMarkEncountered()与当在电影播放器300中正在再现播放列表的同时从播放列表中检测到标记时发生的事件对应。当将表示时间的标记预置到播放列表时,可以实现正在被再现的播放列表的分支过程。
由内容创建处使用描述语言来描述这些事件处理程序的内容。因此,当发生事件时,可以实现内容提供处需要的操作。
附图标记的说明
30 BD基本播放器
31 Java程序
32 API
34 公共参数
35 播放器命今
104 代码缓存器
106 多媒体引擎
200 BD呈现引擎
201 导航引擎
202 Java VM
203 Java应用
210 对象BDBasic PIayer
211 监听程序接口
300 电影播放器
301 原本实施平台
302 脚本层
310 用户输入
311 控制命令
312、314 事件
313、315 方法
320 数据库
321 回放模块
322 解码器引擎
323 属性
S20决定按钮出现播放列表的什么场景
S21 在指定的时间设置标记
S22 描述在程序中注册与按钮对象的标记对应的事件监听程序的方法
523 实施与标记产生事件对应的监听程序接口(描述当事件发生时执行的过程)
S30 开始播放列表的再现
S31 BD Basic Player检测在已经再现播放列表的同时经过的所标记的时间
S32 是否已经注册了与标记事件对应的事件监听程序
533 将标记事件发送到具有注册的事件监听程序的对象
534 被通知了事件的对象执行当标记事件发生时将被执行的方法
S35 使得按钮出现
536 未被通知标记检测事件
S41 在再现期间用户按下“NEXT”按键
S42 发生RmKey Event
543 从数据库获得随后章节标记的位置
S44 是否有章节标记?
S45 停止再现
S46 发生Play Stopped Event
547 访问随后章节标记的类型位置并且开始视频数据的再现
S48 发生Play Started Event和Mark Encoun tered Event
S49 开始执行与Mark Encoun tered Event对应的监听程序
S50 获得标记的类型
S51 章节标记?
S52 显示代表章节的起始的消息
S53 完成监听程序的执行

Claims (21)

1.一种再现装置,其再现分层地记录在盘形记录介质上的内容数据,其特征在于,该装置包括:
播放器对象模块,其产生与预定变化对应的事件;和
程序对象模块,其形成在所述播放器对象模块之上并且其能够描述与发生的事件对应的过程,该程序对象模块被形成作为对每个事件独立的对象,且被存储在与存储内容数据的作为剪切AV流文件的数据文件独立的数据文件中,
其中所述播放器对象模块用与在所述程序对象模块中描述的事件对应的过程来控制分层地记录在盘形记录介质上的内容数据的再现过程。
2.根据权利要求1所述的再现装置,其中,当所述程序对象模块将与发生的事件对应的过程注册到所述播放器对象模块时,所述播放器对象模块执行与发生的事件对应的过程,其中,所述预定变化是当正在再现内容数据时发生的变化。
3.根据权利要求1所述的再现装置,
其中从记录介质再现所述程序对象模块。
4.根据权利要求1所述的再现装置,
其中当正在再现内容数据的同时,能够注册所述过程。
5.根据权利要求1所述的再现装置,
其中当正在再现内容数据的同时,能够取消注册已经被注册的所述过程。
6.根据权利要求1所述的再现装置,
其中所述预定变化基于代表在内容数据中设置的时间的标记。
7.根据权利要求1所述的再现装置,还包括:
用户输入装置,用于接收用户输入并且将用户输入通知给所述播放器对象模块;
其中所述预定变化基于对所述用户输入装置的输入。
8.根据权利要求7所述的再现装置,
其中所述程序对象模块将虚拟按键分配给所述用户输入装置的物理按键,该虚拟按键使得对应于输入,发生所述预定变化。
9.根据权利要求1所述的再现装置,
其中所述预定变化是播放器的状态变化。
10.根据权利要求1所述的再现装置,
其中与基于事件的变化对应地发生一个或多个事件。
11.根据权利要求1所述的再现装置,
其中所述再现过程包括从盘形记录介质再现内容数据的再现控制和用于从盘形记录介质再现的内容数据的过程。
12.一种再现方法,其再现分层地记录在盘形记录介质上的内容数据,其特征在于,该方法包括步骤:
使得产生与预定变化对应的事件的播放器对象模块用与在程序对象模块中描述的事件对应的过程来控制分层地记录在盘形记录介质上的内容数据的再现过程,所述程序对象模块形成在播放器对象模块之上并且能够描述与发生的事件对应的过程,该程序对象模块被形成作为对每个事件独立的对象,且被存储在与存储内容数据的作为剪切AV流文件的数据文件独立的数据文件中。
13.根据权利要求12所述的再现方法,
其中,当所述程序对象模块将与发生的事件对应的过程注册到所述播放器对象模块时,所述播放器对象模块执行与发生的事件对应的过程,
其中,所述预定变化是当正在再现内容数据时发生的变化。
14.根据权利要求12所述的再现方法,
其中当正在再现内容数据的同时,所述程序对象模块能够注册所述过程。
15.根据权利要求12所述的再现方法,
其中当正在再现内容数据的同时,所述程序对象模块能够取消注册已经被注册的所述过程。
16.根据权利要求12所述的再现方法,
其中所述预定变化基于代表在内容数据中设置的时间的标记。
17.根据权利要求12所述的再现方法,其中,所述预定变化基于对用户输入装置的输入。
18.根据权利要求17所述的再现方法,其中所述程序对象模块将虚拟按键分配给所述用户输入装置的物理按键,该虚拟按键使得对应于输入,发生所述预定变化。
19.根据权利要求12所述的再现方法,
其中所述预定变化是播放器的状态变化。
20.根据权利要求12所述的再现方法,
其中与基于事件的变化对应地发生一个或多个事件。
21.根据权利要求12所述的再现方法,
其中所述再现过程包括再现内容数据的再现控制和用于再现的内容数据的过程。
CN201410167846.4A 2003-11-28 2004-08-19 再现设备和再现方法 Expired - Fee Related CN103956176B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP399546/03 2003-11-28
JP2003399546 2003-11-28
CNA2004800055776A CN1757074A (zh) 2003-11-28 2004-08-19 再现设备、再现方法、再现程序、和记录介质

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CNA2004800055776A Division CN1757074A (zh) 2003-11-28 2004-08-19 再现设备、再现方法、再现程序、和记录介质

Publications (2)

Publication Number Publication Date
CN103956176A CN103956176A (zh) 2014-07-30
CN103956176B true CN103956176B (zh) 2017-07-07

Family

ID=34631609

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201410167846.4A Expired - Fee Related CN103956176B (zh) 2003-11-28 2004-08-19 再现设备和再现方法
CNA2004800055776A Pending CN1757074A (zh) 2003-11-28 2004-08-19 再现设备、再现方法、再现程序、和记录介质

Family Applications After (1)

Application Number Title Priority Date Filing Date
CNA2004800055776A Pending CN1757074A (zh) 2003-11-28 2004-08-19 再现设备、再现方法、再现程序、和记录介质

Country Status (12)

Country Link
US (1) US7821881B2 (zh)
EP (1) EP1583098B1 (zh)
JP (1) JP4241731B2 (zh)
KR (1) KR101087316B1 (zh)
CN (2) CN103956176B (zh)
AU (1) AU2004293960A1 (zh)
BR (1) BRPI0407057A (zh)
ES (1) ES2650987T3 (zh)
MX (1) MXPA05007760A (zh)
NZ (1) NZ541096A (zh)
RU (1) RU2312412C2 (zh)
WO (1) WO2005052940A1 (zh)

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4299779B2 (ja) * 2002-06-21 2009-07-22 エルジー エレクトロニクス インコーポレーテッド ビデオデータの再生を管理するためのデータ構造を有する記録媒体
MXPA04002365A (es) * 2002-06-21 2004-11-22 Lg Electronics Inc Medio de grabacion que tiene estructura de datos para manejar la reproduccion de datos de video grabados en el mismo.
CN101350215B (zh) * 2002-06-24 2012-08-29 Lg电子株式会社 记录和再现用于视频数据的再现的数据结构的方法及装置
KR20040000290A (ko) 2002-06-24 2004-01-03 엘지전자 주식회사 고밀도 광디스크의 멀티 경로 데이터 스트림 관리방법
DE602004030059D1 (de) * 2003-06-30 2010-12-23 Panasonic Corp Aufzeichnungsmedium, Wiedergabegerät, Programm und Wiedergabeverfahren
US7609939B2 (en) 2004-08-17 2009-10-27 Lg Electronics Inc. Method and apparatus of reproducing data recorded on recording medium and local storage
US7613384B2 (en) * 2004-08-17 2009-11-03 Lg Electronics Inc. Method for configuring composite file structure for data reproduction, and method and apparatus for reproducing data using the composite file structure
US7725010B2 (en) * 2004-08-17 2010-05-25 Lg Electronics, Inc. Method and apparatus of reproducing data recorded on recording medium and local storage
US7609945B2 (en) * 2004-08-17 2009-10-27 Lg Electronics Inc. Recording medium, and method and apparatus for reproducing data from the recording medium
US20060077817A1 (en) * 2004-09-13 2006-04-13 Seo Kang S Method and apparatus for reproducing data from recording medium using local storage
WO2006031049A2 (en) * 2004-09-13 2006-03-23 Lg Electronics Inc. Method and apparatus for reproducing data from recording medium using local storage
KR20060065474A (ko) * 2004-09-13 2006-06-14 엘지전자 주식회사 로컬스토리지를 이용한 기록매체 재생방법 및 재생장치
US7599611B2 (en) * 2004-09-13 2009-10-06 Lg Electronics Co. Recording medium, and method and apparatus of reproducing data recorded on the same
KR20060047549A (ko) * 2004-10-12 2006-05-18 엘지전자 주식회사 로컬 스토리지를 이용한 기록매체 재생방법 및 재생장치
US7783161B2 (en) * 2004-11-08 2010-08-24 Lg Electronics Inc. Method and apparatus for reproducing data from recording medium using local storage
KR20060063602A (ko) * 2004-12-03 2006-06-12 엘지전자 주식회사 로컬 스토리지 데이터를 삭제하는 방법 및 장치
KR20060065476A (ko) * 2004-12-10 2006-06-14 엘지전자 주식회사 기록매체, 기록매체 내의 콘텐츠 서치방법 및 기록매체재생방법과 재생장치
KR20060081323A (ko) 2005-01-07 2006-07-12 엘지전자 주식회사 로컬 스토리지를 이용한 기록매체 재생방법 및 재생장치
US20060156354A1 (en) * 2005-01-12 2006-07-13 Samsung Electronics Co., Ltd. Method and apparatus for reproducing data recorded on storage medium along with downloaded data
US20070006079A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation State-based timing for interactive multimedia presentations
US8020084B2 (en) * 2005-07-01 2011-09-13 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
US8656268B2 (en) 2005-07-01 2014-02-18 Microsoft Corporation Queueing events in an interactive media environment
US20070006062A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
US8799757B2 (en) 2005-07-01 2014-08-05 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
US20070006238A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation Managing application states in an interactive media environment
US8305398B2 (en) 2005-07-01 2012-11-06 Microsoft Corporation Rendering and compositing multiple applications in an interactive media environment
US7721308B2 (en) * 2005-07-01 2010-05-18 Microsoft Corproation Synchronization aspects of interactive multimedia presentation management
KR20070014945A (ko) * 2005-07-29 2007-02-01 엘지전자 주식회사 기록매체, 데이터 재생방법 및 재생장치와 데이터 기록방법및 기록장치
KR20070014948A (ko) * 2005-07-29 2007-02-01 엘지전자 주식회사 기록매체, 데이터 재생방법 및 재생장치와 데이터 기록방법및 기록장치
KR20070014941A (ko) * 2005-07-29 2007-02-01 엘지전자 주식회사 기록매체, 데이터 재생방법 및 재생장치와 데이터 기록방법및 기록장치
KR20070014944A (ko) * 2005-07-29 2007-02-01 엘지전자 주식회사 데이터 재생방법 및 재생장치, 기록매체와 데이터 기록방법및 기록장치
KR101375067B1 (ko) * 2005-08-09 2014-03-17 파나소닉 주식회사 기록매체, 재생장치, 재생방법, 프로그램
RU2008110923A (ru) * 2005-08-22 2009-09-27 Эл Джи Электроникс Инк. (Kr) Устройство и способ для воспроизведения данных, устройство и способ для записи данных и носитель записи
US20070041710A1 (en) * 2005-08-22 2007-02-22 Lg Electronics Apparatus for reproducing data, method thereof, apparatus for recording the same, method thereof and recording medium
KR20080038221A (ko) * 2005-08-22 2008-05-02 엘지전자 주식회사 기록매체, 데이터 재생방법 및 재생장치와 데이터 기록방법및 기록장치
KR20070022580A (ko) * 2005-08-22 2007-02-27 엘지전자 주식회사 데이터 재생방법 및 재생장치, 기록매체와 데이터 기록방법및 기록장치
BRPI0615070A2 (pt) * 2005-08-22 2016-09-13 Lg Electronics Inc método e aparelho para gerenciar reprodução de áudio para pelo menos um caminho de apresentação picture-in-picture, meio de gravação, método e aparelho para gravar estrutura de dados
KR20070052650A (ko) * 2005-11-17 2007-05-22 엘지전자 주식회사 기록매체 재생방법 및 재생장치, 기록매체와 기록매체기록방법 및 기록장치
TW200823879A (en) * 2005-11-23 2008-06-01 Koninkl Philips Electronics Nv Method and apparatus for playing video
JP4972933B2 (ja) * 2005-12-28 2012-07-11 ソニー株式会社 データ構造、記録装置、記録方法、記録プログラム、再生装置、再生方法および再生プログラム
JP4491035B2 (ja) * 2006-03-24 2010-06-30 パナソニック株式会社 再生装置、デバッグ装置、システムlsi、プログラム
US7855548B2 (en) * 2006-03-29 2010-12-21 Levinton Manufacturing Co., Inc. Low labor enclosure assembly
US20080056679A1 (en) * 2006-04-03 2008-03-06 Kim Kun S Recording medium, method and apparatus for reproducing data, and method and apparatus for recording data
JP4784371B2 (ja) * 2006-04-06 2011-10-05 ソニー株式会社 記録装置、記録方法および記録プログラム
JP4765733B2 (ja) * 2006-04-06 2011-09-07 ソニー株式会社 記録装置、記録方法および記録プログラム
US20080056678A1 (en) * 2006-04-18 2008-03-06 Kim Kun S Apparatus for reproducing data, method thereof, apparatus for recording the same, method thereof and recording medium
JP5087903B2 (ja) 2006-06-30 2012-12-05 ソニー株式会社 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
KR101292770B1 (ko) * 2006-11-06 2013-08-02 삼성전자주식회사 불확정 시작 시간을 가진 어플리케이션을 포함하는 av데이터의 재생 방법 및 장치
US7861150B2 (en) * 2006-11-07 2010-12-28 Microsoft Corporation Timing aspects of media content rendering
US20100166394A1 (en) * 2007-04-12 2010-07-01 Masayasu Ariyoshi Merchandise purchasing system, recording/reproducing apparatus, and computer program
JP5032408B2 (ja) * 2008-07-25 2012-09-26 パナソニック株式会社 簡易レジューム再生装置及び簡易レジューム再生方法
JP4915457B2 (ja) 2009-04-03 2012-04-11 ソニー株式会社 情報処理装置、情報処理方法、及び、プログラム
JP4919122B2 (ja) 2009-04-03 2012-04-18 ソニー株式会社 情報処理装置、情報処理方法、及び、プログラム
JP4915456B2 (ja) 2009-04-03 2012-04-11 ソニー株式会社 情報処理装置、情報処理方法、及び、プログラム
US8718443B2 (en) * 2010-10-13 2014-05-06 Sony Corporation Implementing web browser in BD platform
JP5594045B2 (ja) * 2010-10-14 2014-09-24 ソニー株式会社 再生装置、再生方法、プログラム、および記録媒体
JP5685969B2 (ja) 2011-02-15 2015-03-18 ソニー株式会社 表示制御方法、表示制御装置
CN103891303B (zh) 2011-08-16 2018-03-09 黛斯悌尼软件产品有限公司 基于脚本的视频呈现
CN103890848B (zh) * 2011-10-21 2016-03-09 三菱电机株式会社 视频信息再现方法以及视频信息再现装置
WO2013108316A1 (ja) 2012-01-16 2013-07-25 パナソニック株式会社 再生装置、再生方法、プログラム、および集積回路
US20140320592A1 (en) * 2013-04-30 2014-10-30 Microsoft Corporation Virtual Video Camera
US9838571B2 (en) * 2015-04-10 2017-12-05 Gvbb Holdings S.A.R.L. Precision timing for broadcast network

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1328114A1 (en) * 2002-01-10 2003-07-16 Canal+ Technologies Société Anonyme Image resolution management in a receiver/decoder
CN1441598A (zh) * 2002-02-26 2003-09-10 株式会社东芝 使用数字信息介质的增强导航系统

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3382159B2 (ja) 1998-08-05 2003-03-04 株式会社東芝 情報記録媒体とその再生方法及び記録方法
US6144375A (en) * 1998-08-14 2000-11-07 Praja Inc. Multi-perspective viewer for content-based interactivity
US7392481B2 (en) * 2001-07-02 2008-06-24 Sonic Solutions, A California Corporation Method and apparatus for providing content-owner control in a networked device
JP3980805B2 (ja) * 2000-03-10 2007-09-26 パイオニア株式会社 番組情報の記録装置及び記録方法
EP1338943A3 (de) 2000-03-30 2006-09-27 Siemens Aktiengesellschaft Verfahren zur Freischaltung einer Datei in einem Navigationssystem
KR100878925B1 (ko) * 2001-01-16 2009-01-19 파나소닉 주식회사 정보기록장치, 정보기록방법 및 기록매체
KR20030007706A (ko) 2001-04-02 2003-01-23 마츠시타 덴끼 산교 가부시키가이샤 디지털 영상 콘텐츠의 영상재생 장치, 영상재생 방법,영상재생 프로그램, 패키지 미디어
JP2002369154A (ja) * 2001-04-02 2002-12-20 Matsushita Electric Ind Co Ltd ディジタル映像コンテンツの映像再生装置、映像再生方法、映像再生プログラム、パッケージメディア
JP2003303248A (ja) 2002-01-11 2003-10-24 Mayumi Kobayashi コンテンツのライセンス管理方法、およびその管理装置、ならびにコンテンツライセンス管理プログラム、同プログラムを記録した記録媒体、コンテンツ配信サーバ
CN100466713C (zh) 2002-11-28 2009-03-04 索尼株式会社 再现装置和再现方法
EP1603335B1 (en) 2003-02-19 2008-04-30 Matsushita Electric Industrial Co., Ltd. Recording medium, reproduction device, recording method, program, and reproduction method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1328114A1 (en) * 2002-01-10 2003-07-16 Canal+ Technologies Société Anonyme Image resolution management in a receiver/decoder
CN1441598A (zh) * 2002-02-26 2003-09-10 株式会社东芝 使用数字信息介质的增强导航系统

Also Published As

Publication number Publication date
MXPA05007760A (es) 2005-09-30
CN1757074A (zh) 2006-04-05
RU2005123982A (ru) 2006-01-27
EP1583098A1 (en) 2005-10-05
WO2005052940A1 (ja) 2005-06-09
KR20060112194A (ko) 2006-10-31
JP4241731B2 (ja) 2009-03-18
US7821881B2 (en) 2010-10-26
KR101087316B1 (ko) 2011-11-25
EP1583098A4 (en) 2009-03-18
AU2004293960A1 (en) 2005-06-09
EP1583098B1 (en) 2017-10-18
JPWO2005052940A1 (ja) 2007-06-21
BRPI0407057A (pt) 2006-01-17
US20060140079A1 (en) 2006-06-29
ES2650987T3 (es) 2018-01-23
RU2312412C2 (ru) 2007-12-10
CN103956176A (zh) 2014-07-30
NZ541096A (en) 2008-07-31

Similar Documents

Publication Publication Date Title
CN103956176B (zh) 再现设备和再现方法
US8606080B2 (en) Reproducing apparatus, reproducing method, reproducing program, and recording medium
JP4715094B2 (ja) 再生装置、再生方法、再生プログラムおよび記録媒体
KR101089974B1 (ko) 재생 장치, 재생 방법, 및 기록 매체
CN1754225B (zh) 再现设备、记录方法以及再现方法
CN1856077B (zh) 再现装置及再现方法
CN101044573B (zh) 再现设备、再现方法、再现程序、记录介质和数据结构
US20070140667A1 (en) Reproducing apparatus, reproducing method, reproducing program, recording medium, data structure, authoring apparatus, authoring method, and authoring program
TWI384396B (zh) The computer can read the storage medium, the regeneration device, the method of displaying the user interface, the method of generating and recording the button data
JP2006230001A (ja) 再生装置、再生方法、再生プログラムおよび記録媒体
JP5209515B2 (ja) 記録媒体
JP5209513B2 (ja) 記録媒体
JP5209516B2 (ja) 記録媒体
JP4277863B2 (ja) 再生装置、再生方法、再生プログラムおよび記録媒体
JP2011097614A (ja) 再生装置、再生方法、記録装置、記録方法および記録媒体
JP4277865B2 (ja) 再生装置、再生方法、再生プログラムおよび記録媒体
JP4277864B2 (ja) 再生装置、再生方法、再生プログラムおよび記録媒体
JP4277862B2 (ja) 再生装置、再生方法、再生プログラムおよび記録媒体
JP5494781B2 (ja) データ構造
JP5494780B2 (ja) データ構造
JP5494779B2 (ja) データ構造
JP5494782B2 (ja) データ構造
JP5209514B2 (ja) 記録媒体
JP5187454B2 (ja) データ格納方法
JP5187451B2 (ja) データ格納方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170707

Termination date: 20200819

CF01 Termination of patent right due to non-payment of annual fee