具体实施方式
(第一实施例)
以下,参照附图描述根据本发明第一实施例的装置和方法。本发明目的在于记录和再现以任意介质发送和接收的内容;然而,在本实施例中,将有线电视广播系统作为例子描述。在该有线电视广播系统中,广播记录和再现装置通常被称为终端装置。
图1是示出组成广播系统的装置的关系的框图;该广播系统由广播站端系统101(起点)、终端装置A111、终端装置B112和终端装置C113组成。该有线系统中广播站端系统和每个终端装置之间的耦合121是诸如同轴电缆、光纤电缆等的有线耦合。在图1中,一个广播站端系统与三个终端装置耦合,但是终端装置的数量是任意的。
广播站端系统101将诸如视频/音频/数据广播数据这样的信息以广播信号发送到多个终端装置。使用由该广播系统的运行规章、运行该广播系统的地区/国家的法律等所设定的频带内的频率发送广播信号。
利用根据本实施例的有线系统,根据数据内容和传输方向(进站、出站)划分了在广播信号传输中使用的频带,并且进行应用。图2是指示频带划分的一个例子的图表。频带被粗略地划分成两种类型:带外(缩写OOB)和带内。5MHz到130MHz被分配为OOB,并主要用于广播站端系统101与终端装置A111、终端装置B112和终端装置C113之间的进站/出站数据交换。130MHz到864MHz被分配为带内,并主要用于仅出站的包括视频/音频的广播频道。QPSK调制模式用于OOB,QAM64或QAM256调制类型用于带内。对本发明来说调制模式技术是公知的并且关系不大,因此省略了详细说明。图3是更详细使用OOB频带的一个例子。70MHz到74MHz被用于从广播站端系统101的出站数据发送,并且所有的终端装置A111、终端装置B112和终端装置C113从广播站端系统101接收相同的数据。另一方面,10.0MHz到10.1MHz被用于从终端装置A111到广播站端系统101的进站数据发送;10.1MHz到10.2MHz被用于从终端装置B112到广播站端系统101的进站数据发送;10.2MHz到10.3MHz被用于从终端装置C113到广播站端系统101的进站数据发送。这样,可以从每个终端装置A111、B112和C113向广播站端系统101独立地发送唯一数据。图4是使用带内频带的一个例子。150MHz到156MHz和156Mhz到162MHz被分别分配给电视频道1和电视频道2,并且此后,以6MHz的间隔分配电视频道。从310MHz开始以1MHz为单位分配无线电频道。这些频道中每一个可以用作模拟广播或数字广播。在发送数字广播的情况下,为该传输使用基于MPEG-2规范的TS分组格式,并且除了音频和视频之外,也可以发送用于各种数据广播的数据和用于配置EPG的电视节目组成信息。
广播站端系统101使用上述频带向终端装置发送合适的广播信号,并且因此具有QPSK调制单元、QAM调制单元等。此外,广播站端系统101具有QPSK解调器,用于从终端装置接收数据。此外,广播站端系统101可以被认为具有与调制单元和解调单元有关的各种设备。然而,本发明主要涉及终端装置,因此省略了详细说明。
终端装置A111、B112和C113每一个都具有QAM解调单元和QPSK解调单元,以便接收和再现来自广播站端系统101的广播信号。此外,每个终端装置都具有QPSK调制单元,以便向广播站端系统101发送该装置唯一的数据。在本发明中,终端装置是广播记录和再现装置,并且后面将描述详细结构。
广播站端系统101对MPEG-2传输流进行调制,并在广播信号内传送该流。终端装置接收广播信号,对该广播信号进行解调以便再现MPEG-2传输流,从其中提取必要信息,并使用所提取的信息。为了描述该终端装置中存在的设备功能和连接结构,首先以简单的方式描述MPEG-2传输流的结构。
图5是示出TS分组的结构的图示。TS分组500具有188字节的长度,并且由报头(header)501、自适应字段502和有效负载503组成。报头501保存TS分组的控制信息。报头501具有4字节的长度,并且具有如504所示的结构。在报头501中,有一个字段被标为“分组ID(Packet ID)”(下文中称为PID),TS分组是通过该PID的值来标识的。自适应字段502保存诸如时间信息这样的附加信息。自适应字段502不是必须存在,而且有多种情况自适应字段502不存在。有效负载503保存TS分组中携带的信息,诸如视频、音频和数据广播数据。
图6是MPEG-2传输流的示意图;TS分组在有效负载中保存各种信息,诸如视频、音频、用于数据广播的数据、警告等。TS分组601和TS分组603在报头中保存PID 100,并且在有效负载中保存关于视频1的信息。TS分组602和TS分组605在报头中保存PID 200,并且在有效负载中保存关于数据1的信息。TS分组604在报头中保存PID 300,并且在有效负载中保存关于音频1的信息。对在有效负载中保存各种类型数据的TS分组进行混合,并将这些分组作为序列顺次发送,这被称为多路复用。MPEG-2传输流600是TS分组601到605多路复用的结构的一个例子。
PID相同的TS分组保存相同类型的信息。因此,终端装置通过接收被多路复用的TS分组并针对每个PID提取TS分组所保存的信息,来再现视频、音频、诸如电视节目组成信息这样的数据。在图6中,TS分组601和TS分组603每个都发送关于视频1的信息,而TS分组602和TS分组605每个都发送关于数据1的信息。
这里,给出了关于在有效负载中包含的各种数据类型的格式的描述。
视频和音频由被称为分组基本流(Packetized Elementary Stream,PES)分组的格式来表示。PES分组包括某一时间段的视频信息或音频信息,并且通过接收PES分组,广播记录和再现装置能够将包含在该PES分组中的视频和音频信息输出到屏幕或扬声器。广播站不间断地发送PES分组,因此广播记录和再现装置可以不间断地连续再现视频和音频。当实际上发送PES分组时,在PES分组的大小大于一个TS分组的有效负载的情况下,该PES分组被划分并存储在多个TS分组的有效负载中。图7示出了当发送PES分组时分区的例子。PES分组701太大以致于不能在单个TS分组的有效负载中存储和发送,因此PES分组701被划分成PES分组分区A 702a、PES分组分区B 702b,PES分组分区C 702c,并且被携带在PID相同的三个TS分组703到705中。实际上,视频和音频是作为基本流(ES)获得的,而基本流是通过连接在多个PES分组的有效负载中包含的数据而获得的。基本流的形式是数字化的视频和音频,诸如由MPEG-2视频标准、MPEG-1和2音频标准等所定义的。
另一方面,诸如电视节目组成信息这样的信息和用于数据广播的数据是使用称为MPEG-2分段的格式表示的。当实际上发送MPEG-2分段时,在MPEG-2分段的大小大于一个TS分组的有效负载的情况下,该MPEG-2分段被划分并存储在多个TS分组的有效负载中。图8示出了当发送MPEG-2分段时分区的例子。由于MPEG-2分段801太大以致于不能在单个TS分组的有效负载中存储和发送,MPEG-2分段801被划分成分段分区A 802a、分段分区B 802b、分段分区C802c,并且被携带在PID相同的三个TS分组803到805中。
图9表示了这样的MPEG-2分段的结构。MPEG-2分段900由报头901和有效负载902构成。报头901保存MPEG-2分段的控制信息。报头901的组成由报头结构903表示。有效负载902保存MPEG-2分段900所发送的数据。在报头结构903中出现的table_id表示MPEG-2分段的类型,并且table_id_extension是扩展标识符,用于进一步区分每个都具有相同table_id的多个MPEG-2分段。作为使用MPEG-2分段的例子,在图10中示出了发送电视节目组成信息的情况。在该例子中,如行1004中所写的,对广播信号进行解调所必需的信息被写在一个在报头结构903中table_id为64的MPEG-2分段中,并且该MPEG-2分段进一步由PID为16的TS分组来发送。
在MPEG-2分段的情况下,不存在PES格式。由于这个原因,基本流(ES)是由MPEG-2传输流内相同PID标识的TS分组的有效负载连接而成。例如,在图8中,MPEG-2分段801被划分和发送的所有TS分组803到805都由PID 200来标识。可以说这是一个发送MPEG-2分段801的ES。
称为节目的概念还存在于MPEG-2传输流中。节目被表示为ES的集合,并被用于希望一起处理多个ES的情况。利用节目,可以一起处理视频/音频以及伴随的数据广播数据。例如,在一起处理要同时再现的视频/音频的情况下,通过将视频ES和音频ES组合为一个节目,可以看到,广播记录和再现装置应将这两个ES同时再现为一个电视节目。
为了表示节目,在MPEG-2中使用了被称为节目映射表(PMT)和节目关联表(PAT)的两个表。详细描述可以在ISO/IEC 13818-1规范“MPEG-2系统”中找到。下文简述了PMT和PAT。
PMT是包含在MPEG-2传输流中的一个表,有多少个节目,就有多少个PMT。PMT被构造为一个MPEG-2分段,并且table_id为2。PMT保存用于标识该节目的节目号和该节目的附加信息,以及关于属于该节目的ES的信息。在图11给出了PMT的例子。1100是节目号。在相同传输流中节目号被唯一地分配给节目,并且被用于标识PMT。行1111到1115表示关于各个ES的信息。列1101是ES的类型,其中指定了“视频”、“音频”、“数据”等。列1102是组成该ES的TS分组的PID。列1103是关于该ES的附加信息。例如,在行1111中示出的ES是音频ES,并被携带在PID为5011的TS分组中。
PAT是一个表,在MPEG-2传输流中只存在一个PAT。PAT被构造为一个MPEG-2分段,其table_id为0并且被携带在PID为0的TS分组中。PAT保存用于标识MPEG-2传输流的transport_stream_id、和关于所有表示MPEG-2传输流中的节目的PMT的信息。在图12中给出了PAT的例子。1200指示transport_stream_id。transport_stream_id用于标识MPEG-2传输流。行1211到1213表示关于节目的信息。列1201指示节目号。列1202指示发送与该节目相对应的PMT的TS分组的PID。例如,行1211中示出的节目的PMT的节目号为101,并且相应的PMT被携带在PID为501的TS分组中。
在终端装置再现某个节目的情况下,终端装置参照PAT和PMT指定组成节目的视频和音频,并再现该视频和音频。例如,对于发送图12中的PAT和图11中的PMT的MPEG-2传输流,在属于节目号为101的节目的视频和音频被再现的情况下,进行下面的过程。首先,从PID为“0”的TS分组中获取作为table_id为“0”的MPEG-2分段传送的PAT。搜索该PAT以寻找节目号为“101”的节目,并且获得了行1211。从行1211,获得了发送节目号为“101”的节目的PMT的TS分组的PID为“501”。接下来,从PID为“501”的TS分组中获取作为table_id为“2”的MPEG-2分段发送的PMT。从该PMT中获得行1111(音频ES信息)和行1112(视频ES信息)。从行1111获得了发送音频ES的TS分组的PID“5011”。此外,从行1112获得了携带视频ES的TS分组的PID“5012”。接下来,从PID为“5011”的TS分组中获取音频PES分组,从PID为“5012”的TS分组中获取视频PES分组。通过这个过程,可以获取要再现的视频和音频ES分组,并且能够再现组成节目号101的视频和音频。
注意,有些情况下MPEG-2传输流会被加扰。这是被称为条件访问系统的设置。例如,通过对发送某视频/音频信息的PES分组进行加扰,仅仅那些能对其进行解扰的特定观看者能够观看该视频和音频。为了解扰并观看该视频和音频,观看者必需使用被称为解扰器的设备对它们进行解扰。例如,在OCAP兼容的终端装置中,使用了内置解扰器的卡形适配器。有线电视运营商向每个观看者分发被配置为能够对特定节目进行解扰的适配器,并且观看者将该适配器插入终端装置中。当这样做时,适配器基于诸如解扰密钥和每个合约持有者的合约信息这样的解扰信息来对特定节目进行解扰。解扰的方法、获取解扰密钥的方法等取决于适配器,对本发明的实现没有影响。
至此,已经给出关于MPEG-2规范的简单描述;在下文中,将给出术语的详细定义。在本发明中,存在两种术语“program”。一种是出现在MPEG-2规范中的“program(节目)”,而另一种是指CPU执行的代码集合“program(程序)”。由于前者与运行规章中所用的术语“服务”同义,因此在下文中,为了避免混淆,将前者称为“服务”,而将后者简单地称为“程序”。此外,关于后者,特别用Java语言编写的“程序”被称为“Java程序”。
根据本发明,已经给出关于在MPEG-2规范中规定的几种一般信息的描述。下文中,描述了本实施例必备的硬件结构。
图13是示出根据本实施例的广播记录和再现装置的通用硬件结构的框图;换句话说,是图1中示出的终端装置111、112和113的特定内部结构。1300是广播记录和再现装置,其包括:调谐器1301;TS解码器(TS解复用器)1302;AV解码器1303;扬声器1304;显示器1305;CPU 1306;第二存储单元1307;主存储单元1308;ROM 1309;输入单元1310;适配器1311;AV编码器1312;和复用器(MPEG-2传输流复用器等)1313。注意本实施例是通过扩展由OCAP-DVR规范实现的广播记录和再现终端而获得的,并且基本硬件结构几乎与由OCAP-DVR规范所要求的相同。
调谐器1301是根据包括由CPU 1306指定的频率在内的调谐信息来对从广播站端系统101调制并传送的广播信号进行解调的设备。作为调谐器1301的解调结果而获得的MPEG-2传输流经过具有解扰功能的适配器1311,并被发送到TS解码器1302。
TS解码器1302是具有如下功能的设备:基于由CPU 1306规定的PID、分段过滤条件等,从MPEG-2传输流中分离出遵守指定条件的PES分组和MPEG-2分段。在接收到广播波并且再现服务而无需记录的情况下,适配器1311输出的MPEG-2传输流被输入到TS解码器1302中。另一方面,在再现记录在第二存储单元1307中的服务的情况下,第二存储单元1307输出的MPEG-2传输流被输入到TS解码器1302中。接收哪个输入是由CPU 1306控制的。
TS解码器1302分离出的视频和音频的PES分组被输出到AV解码器1303。此外,TS解码器1302分离出的MPEG-2分段被通过直接存储器存取(DMA)传送到主存储单元1308,并由CPU 1306执行的程序使用。
AV解码器1303是具有对编码的视频ES和音频ES进行解码的功能的设备。AV解码器从传送发自TS解码器的音频和视频信息的PES分组中获取该ES,并对该ES进行解码。通过AV解码器1303执行的解码而获得的音频信号和视频信号在服务再现时被发送到扬声器1304和显示器1305,而服务记录时被发送到AV编码器1312。采用哪个输出路线是由CPU 1306根据来自用户的指令来控制的。
扬声器1304再现从AV解码器1303输出的音频。
显示器1305再现从AV解码器1303输出的视频。
CPU 1306执行在广播记录和再现装置中工作的程序。CPU 1306执行包含在ROM 1309中的程序。或者,CPU 1306也执行从广播信号或网络下载并保存在主存储单元1308中的程序。或者,CPU 1306执行从广播信号或网络下载并保存在第二存储单元1307中的程序。根据所执行的程序的指示,控制调谐器1301、TS解码器1302、AV解码器1303、扬声器1304、显示器1305、第二存储单元1307、主存储单元1308、ROM 1309、输入单元1310、适配器1311、AV编码器1312、和复用器1313。此外,CPU 1306通过不仅与在终端装置1300内存在的设备进行通信而且与适配器1311内的设备进行通信,能够控制适配器1311。
第二存储单元1307是存储装置,即使中断向设备供电,其存储也不会被删除。这样的第二存储单元1307被构造为这样的设备,即使当切断终端装置1300的电源时也不删除信息,例如,诸如FLASH-ROM、硬盘驱动器(HDD)这样的非易失性存储器、诸如CD-R和DVD-R这样的可重写介质。第二存储单元1307根据来自CPU 1306的指令保存信息。
主存储单元1308是具有根据来自CPU 1306、支持DMA传送的设备等的指令来临时保存信息的功能的设备,并且被构造为RAM等。
ROM 1309是不可重写存储设备,更具体地说,被构造为ROM、CD-ROM、DVD等。CPU 1306执行的程序被存储在ROM 1309中。
更具体地说,输入单元1310被构造为面板或遥控接收器,并接受来自用户的输入。图14是输入单元1310被构造为面板的情况的例子。面板1400具有7个按钮:光标上按钮1401、光标下按钮1402、光标左按钮1403、光标右按钮1404、OK按钮1405、取消按钮1406、EPG按钮1407和模式切换按钮1408。当用户按下按钮时,所按下的按钮的标识符被通知给CPU 1306。
适配器1311是用于对在带内频率范围中发送的加扰的MPEG-2传输流进行解扰的设备,并且包括一个或多个解扰器。由调谐器1301a所输出的MPEG-2传输流被输入到适配器1311,并且对具有由CPU1306指定的PID的TS分组进行密码移除。适配器1311将解扰后的MPEG-2传输流输出到TS解码器1302。
此外,适配器1311也对在OOB频率范围内发送的数据进行格式转换。在OOB频率范围内发送的信息可以被按照QPSK调制方案进行调制。关于出站传输,QPSK解调器1301b对从广播站端系统101发送的输出信号进行解调,并将生成的比特流输入到适配器1311中。适配器1311从包含在该比特流中的各种信息中提取由CPU 1306指定的信息,并将该信息转换成能够被CPU 1306中运行的程序解释的格式,并将其提供给CPU 1306。另一方面,关于进站传输,CPU 1306将要发送给广播站端系统101的信息输入到适配器1311中。适配器1311将从CPU 1306输入的信息转换成能够被广播站端系统101解释的格式,并将其输入到QPSK调制器1301c。QPSK调制器1301c对从适配器1311输入的信息进行QPSK调制,并且将其发送到广播站端系统101。
用于美国有线系统中的Cable CARD,以前称为部署点(POD),可以作为适配器1311的特定例子给出。
AV编码器1312将AV解码器1303解码的音频信号编码成MPEG音频格式的音频,并将视频信号编码成MPEG视频格式的视频。AV编码器1312编码的视频和音频被输出到复用器1313。
复用器1313是具有如下功能的设备:将从AV编码器1312输入的视频和音频以及从主存储单元获得的MPEG-2分段多路复用到MPEG-2传输流中。
图15是一种纯平电视(TV),其是根据本实施例的广播记录和再现装置(终端装置)的外观的例子。
2801是纯平电视的机壳,并且除了适配器1313之外,终端装置的所有元件被容纳在该机壳内。2802是显示器,相当于在图13中示出的显示器1305。2803是面板,其上设置了多个按钮。2804是信号输入端子,并且连接着向广播站端系统发送信号并从其接收信号的电缆线。信号输入端子被连接到调谐器1301a、QPSK解调器1301b和QPSK调制器1301c。2806是用于插入图13所示的适配器的插槽。2811是电源开关。2812是诸如液晶屏这样的副显示器。
下文中将详细描述上述广播记录和再现装置将包含在广播波中的服务记录到第二存储单元1307中的操作,和该广播记录和再现装置连续地从第二存储单元1307中读出服务并对其进行再现的操作。
首先,描述将包含在广播波中的服务记录到第二存储单元1307中的操作。
图16示出了表示在对服务进行记录期间各个设备的物理连接顺序、处理细节、和输入/输出数据格式的概念图。1500是终端装置,其具有:调谐器1301;适配器1311;解扰器1501;TS解码器1302;PID过滤器1502;分段过滤器1503;AV解码器1303;主存储单元1308;AV编码器1312;复用器1313;和记录区1504。图16中,与图13中的参考数字相同的组成单元具有相同的功能,因此省略了说明。
首先,调谐器1301根据由CPU 1306规定的调谐指令来对广播波进行调谐。调谐器1301对广播波进行解调并将MPEG-2传输流输入到适配器1311。
适配器1311中的解扰器1501基于每个观看者的条件访问信息对MPEG-2传输流进行解扰。解扰后的MPEG-2传输流被输入到TS解码器。
在TS解码器1302中存在处理MPEG-2传输流的两种设备:PID过滤器1502和分段过滤器1503。
PID过滤器1502从输入的MPEG-2传输流中提取具有CPU 1306指定的PID的TS分组,然后提取存在于该有效负载中的PES分组和MPEG-2分段。例如,在CPU 1306已经指示进行提取PID=100的TS分组的PID过滤的情况下,当图6中的MPEG-2传输流被输入时,分组601和603被提取,然后被连接起来,因而重新装配成视频1的PES分组。或者,在CPU 1306已经指示进行提取PID=200的TS分组的PID过滤的情况下,当图6中的MPEG-2传输流被输入时,分组602和605被提取,然后被连接起来,因而重新装配成数据1的MPEG-2分段。
分段过滤器1503从输入的MPEG-2分段中提取符合由CPU 1306指定的分段过滤条件的MPEG-2分段,将该MPEG-2分段以DMA传送到主存储单元1308。例如,CPU 1306为分段过滤器1503指定了进行提取PID=200的TS分组的PID过滤,和提取table_id为64的分段的分段过滤。如之前提到的,在重新装配了数据1的MPEG-2分段之后,分段过滤器1503仅从那些MPEG-2分段中提取table_id为64的分段,并将其以DMA传送到主存储单元1308。
输入到主存储单元1308中的MPEG-2分段被输入到复用器1313。
TS解码器1302提取的视频PES分组和音频PES分组被输入到AV解码器1303。
AV解码器对视频PES分组进行解码以将其转换为视频,并将该视频输入到AV编码器1312中。AV解码器也对音频PES分组进行解码以将其转换为音频,并将该音频输入到AV编码器1312中。
AV编码器1312将视频转换成MPEG视频并将其输入到复用器1313中。AV编码器1312也将音频转换成MPEG音频并将其输入到复用器1313中。
复用器1313把从AV编码器输入的MPEG视频和MPEG音频多路复用到从主存储单元1308输入的MPEG-2分段中,并因此生成MPEG-2传输流。所生成的MPEG-2传输流被记录到记录区1504中。
记录区1504由第二存储单元1307的全部或部分、或另一个记录区组成,并存储构成一个服务的MPEG-2传输流。
接下来,将描述连续从第二存储单元1307读出服务并进行再现的操作。
图17示出了表示在对服务进行再现期间每个设备的物理连接顺序、处理细节和输入/输出数据格式的概念图。1600是终端装置,其具有:记录区1504;TS解码器1302;PID过滤器1502;分段过滤器1503;AV解码器1303;扬声器1304;显示器1305;主存储单元1308。在图17中,与图13中的数字相同的组成单元具有相同的功能,因此省略了说明。
以图16中描述的次序,记录在记录区1504中的MPEG-2传输流被输入到TS解码器1302中。
然后,TS解码器1302内的PID过滤器1502提取出具有由CPU1306指定的PID的视频PES和音频PES。所提取的PES分组被输入到AV解码器1303中。或者,TS解码器1302内的PID过滤器1502和分段过滤器1503提取出具有由CPU 1306指定的PID和table_id的MPEG-2分段。所提取出的MPEG-2分段被以DMA传送到主存储单元1308中。
输入到AV解码器1303中的视频PES和音频PES被解码并输出为音频信号和视频信号。之后,该音频信号和视频信号被输入到显示器1305和扬声器1304,从而再现该音频和视频。
输入到主存储单元1308中的MPEG-2分段被输入到CPU 1306中。
至此,已经描述了关于本发明的硬件结构的一个例子。在下文中,将描述本发明的主要功能,即通过Java程序对服务记录进行控制和对特技播放进行控制。
本发明中的服务记录是指,将包含在该服务中的视频、音频、Java程序、Java程序的同步信息等记录到存储介质中,诸如硬盘、蓝光光盘(BD)、数字通用光盘(DVD)、以及安全数字(SD)存储卡。服务再现是指,基于同步信息来执行和再现记录在记录介质中的视频、音频和Java程序。要求所记录的服务的再现结果几乎等同于当接收到广播波时直接再现该服务的结果。
图18是用于记录和再现服务所必需的程序的结构图,并且是记录在ROM 1309中的软件。
程序1700包括OS 1701、EPG 1702、Java VM 1703和Java库1704,这些都是子程序。
OS 1701是操作系统;Linux、Windows等是其例子。OS 1701包括:内核1701a,用于执行其它子程序,诸如EPG 1702和Java VM1703;以及库1701b,子程序使用该库来控制终端装置1300的组成单元。内核1701a是公知技术,因此省略了详细说明。
库1701b提供例如用于控制调谐器的调谐函数。库1701b从另一个子程序接受包括有频率的调谐信息,并将该信息提供给调谐器1301。调谐器1301基于所提供的调谐信息执行解调处理,并能够将解调的MPEG-2传输流传递到TS解码器1302。结果,其它子程序能够通过库1701b来控制调谐器1301。
此外,库1701b提供用于唯一地标识频道的频道信息。图19示出了频道信息的例子。频道信息被使用OOB或带内频率范围来发送,由适配器1311转换成图表格式,并被存储在库可以访问的临时存储单元中。列2001是频道标识符,并且例如相当于由SCTE65“数字有线电视的带外传送的服务信息”所定义的source_ID。列2002是频道名,并相当于同一个SCTE65标准所定义的source_name。列2003是调谐信息,是被提供给调谐器1301的诸如频率、传输速率、调制方案等的信息。列2004是用于指定PMT的节目号。例如,行2011是一组服务信息,包括频道标识符“1”、频道名“频道”、用于调谐信息的频率“150MHz,…”、和节目号“101”。
此外,库1701b能够设置参数以用于对如图13中所示的硬件结构进行控制。将在稍后提及各个函数。
Java VM 1703是Java虚拟机,其顺序地分析和执行用Java(TM)语言编写的程序。用Java语言编写的程序被编译成不依赖于硬件的中间代码,称为字节码。Java虚拟机是执行该字节码的解释器。JavaVM 1703执行用Java语言编写的Java库1704。在诸如“Java语言规范”(ISBN 0-201-63451-1)和“Java虚拟机规范”(ISBN 0-201-63451-X)等公开资料中,说明了Java语言和Java VM的细节。此外,通过Java本地接口(JNI),可以调用其它不用Java语言编写的子程序或被其调用。关于JNI的细节可以在公开资料“Java本地接口”等中找到。
Java库1704是用Java语言编写的库,并由Java程序调用以便控制广播记录和再现装置的功能。然而,有一些情况下必须要使用以非Java语言编写的子程序,诸如OS 1701的库1701b。Java程序可以通过调用Java库1704所拥有的Java应用编程接口(API)来使用由Java库1704提供的函数。
调谐器1704c是一个Java库,用于控制广播记录和再现终端的带内接收调谐器1301a。当Java程序将调谐信息传递到调谐器1704c时,调谐控制单元2911使用该信息来调用库1701b的调谐函数,结果,可以控制广播记录和再现终端的带内接收调谐器1301a的操作。
SF 1704e是一个Java库,用于控制广播记录和再现终端的PID过滤器1502和分段过滤器1503的功能。当Java程序将诸如PID、table_id等的过滤条件传递到SF 1704e时,SF 1704e基于所传递的过滤条件,使用库1701b的函数来设置PID过滤器1502和分段过滤器1503中的过滤条件,以便控制PID过滤器1502和分段过滤器1503,获取满足预期过滤条件的MPEG-2分段,并将该MPEG-2分段传递给设置所述过滤条件的Java程序。
DSM-CC 1704d是一个Java库,用于访问DSM-CC对象传送带的文件系统。DSM-CC对象传送带被包括在SF 1704e获取的MPEG-2分段中。DSM-CC是由ISO/IEC13818-6标准定义的,并且是使用MPEG-2分段来发送任意文件的机制。通过使用该系统,可以从广播站向终端发送文件。DCM-CC 1704d基于Java程序指定的文件标识符等,使用SF 1704e来获得MPEG-2分段,基于ISO/IEC13818-6标准取出文件,并输出该文件。实现DSM-CC的详细方法与本发明没有关系,因此省略了细节。
AM 1704b是一个应用程序管理器,其提供用于管理包含在服务中的Java应用程序的执行和终止的功能。AM 1704b提取被多路复用到由指定的MPEG-2传输流指定的频道上的Java程序,并根据单独复用的同步信息来使所提取的Java程序被执行或终止。基于前述的DSM-CC方法,Java程序的Java类文件被多路复用到MPEG-2传输流上。此外,Java程序的同步信息被以称为AIT的格式多路复用到MPEG-2传输流上。AIT是应用程序信息表的首字母缩写,如在DVB-MHP规范(ETSITS 101812 DVB-MHP规范V1.0.2)的第10节中所定义的,并且AIT是table_id为“0×74”的MPEG-2分段。在本实施例中,对DVB-MHP规范所定义的AIT进行了修改以便使用。
图20示出了AM 1704b的内部结构。AM 1704b被构造为AIT监控单元3502和应用程序状态管理单元3503。
AIT监控单元3502以MPEG-2传输流和频道标识符作为输入,并监控AIT的更新状态。首先,AM 1704b以指定的频道标识符作为关键字,在库1701b中搜索频道信息,并获得节目号。接下来,使用SF 1704e等,从MPEG-2传输流中获取PAT。然后,从PMT的信息中获取与所获得的节目号相对应的PMT的PID。再次使用SF 1704e,获取实际的PMT。所获取的PMT是如图11所示的格式,并其中已经写有流类型为“数据”且附加信息为“AIT”的基本流的PID。当向SF 1704e提供所获得的AIT的PID以及table_id“0×74”作为过滤条件时,可以获得AIT的细节。
图21是示意性地示出AIT中的信息的例子的图表。AIT版本2200表示该AIT的版本。AIT的版本越高,AIT越新。相同AIT版本的AIT被重复接收,但是如果一个AIT已经被分析,则AM 1704b不分析具有相同AIT版本的AIT,而是仅分析比已经分析的AIT新的AIT。列2201是Java程序的标识符。列2202是Java程序的控制信息。在控制信息中,有“自动开始(autostart)”、“呈现(present)”、“关掉(kill)”等;“自动开始”表示终端装置1300立即自动执行Java程序,“呈现”表示不进行自动执行,而“关掉”表示停止Java程序。列2203是DSM-CC标识符,用于基于DSM-CC方法提取包括Java程序的PID。列2204是Java程序的程序名。列2205是特技播放应允标志,并且在以特技播放模式来再现包括有Java程序的服务的情况下,其指示是否执行该Java程序。当特技播放应允标志指示“真”时,即使包括有该Java程序的服务正在被以特技播放模式再现,也要再现该Java程序。相反,当特技播放应允标志指示“假”时,当服务正在被以特技播放模式再现时,不执行该Java程序,而仅在该服务的正常播放操作期间才执行。例如,在有可能由于包括在服务中的Java程序故障而导致影响整个系统的情况下,当在再现该服务期间进行快进和跳过时,可以通过指定特技播放应允标志为“假”,来禁止在以特技播放模式再现该服务期间执行该Java程序。行2211、2212、2213和2214是多组Java程序信息。由行2211定义的Java程序是Java程序标识符“301”、控制信息“自动开始”、DSMCC标识符“1”、和程序名“a/TopXlet”的组合。类似地,在行2212中定义的Java程序是Java程序标识符“302”、控制信息“呈现”、DSMCC标识符“1”、和程序名“b/GameXlet”的组合。这里,由行2211、2212和2214定义的三个Java程序具有相同的DSMCC标识符。这表明这三个Java程序被包括在一个基于DSM-CC方法编码的文件系统中。这里,为Java程序规定了四种信息,但是实际上,定义了更多种信息。在DVB-MHP规范中可以找到其细节。
应用程序状态管理单元3503分析更新的AIT的细节,并基于该AIT的细节来管理Java程序的执行状态,以及管理从稍后提及的服务管理器1704f通知特技播放模式再现的开始和结束。
下面描述管理Java程序状态的操作。应用程序状态管理单元3503从AIT中找出控制信息为“自动开始”的Java程序,并提取相应的DSMCC标识符和Java程序名。参照图21,AM 1704b提取行2211的Java程序,并获得DSMCC标识符“1”和Java程序名“a/TopXlet”。然后,AM 1704b从PMT中获得以DSMCC格式存储了Java程序的TS分组的PID。更具体地,AM 1704b获得这样的基本流的PID,即,该基本流在PMT中流类型为“数据”并且DSMCC标识符与附加信息的DSMCC标识符相对应。这里,假设DSMCC标识符是“1”且PMT如图11所示,则行1114的基本流匹配,并且取出PID“5014”。
AM 1704b指定TS分组的PID和分段过滤条件,其中所述TS分组发送其中基于DSMCC方法插入有数据的MPEG-2分段。这里,给定PID“5014”。结果,AM 1704b能够收集必要的DSMCC MPEG-2分段。AM 1704b根据DSMCC方法,从所收集的MPEG-2分段中重建文件系统,并且将重建的文件系统存储到主存储单元1308中。从MPEG-2传输流中的TS分组中取得诸如文件系统这样的数据并将该数据保存到诸如主存储单元1308和第二存储单元1307这样的存储装置中,这在下文中被称为下载。
图22是下载的文件系统的示例。在该图中,圆形表示目录,方形表示文件。2301是根目录,2302是目录“a”,2303是目录“b”,2304是文件“TopXlet.class”,2305是文件“GameXlet.class”,2306是目录“z”,2307是文件“MusicXlet.class”,2308是文件“StudyXlet.class”。2309是图标位图“TopXlet.bmp”。
接下来,从下载到主存储单元1308中的文件系统中,AM 1704b把要执行的Java程序传递给Java VM 1703。这里,假定要执行的Java程序名是“a/TopXlet”,则通过将“.class”附加到上述Java程序名上而得到的文件“a/TopXlet.class”是要执行的文件。“/”是目录之间和文件名之间的分隔,参照图22,文件2304是应该被执行的Java程序。然后,在AM 1704b将文件2304传递到Java VM 1703之后,该文件被作为Java程序在Java VM中执行。
每次输入具有新AIT版本的AIT,AM 1704b分析该AIT并改变Java程序的执行状态。这里,在控制信息被指定为“关掉”的情况下,AM 1704b终止该Java程序,并将所终止的Java程序的Java程序标识符通知给特技播放指示程序判定单元2702。至此,已经描述了应用程序状态管理单元所执行的Java程序状态管理操作。
当服务管理器1704f通知开始以特技播放模式进行再现时,应用程序状态管理单元3503仅对特技播放应允标志为“真”的Java程序执行上述Java程序状态管理操作。然后,应用程序状态管理单元3503停止特技播放应允标志为“假”的Java程序,并且即使控制信息为“自动开始”也不执行该Java程序。应用程序状态管理单元3503进一步向随后将要提到的Java程序挂起处理单元3103通知以下信息:刚刚被关掉的Java程序的Java程序标识符;没有被启动的Java程序(即特技播放应允标志为“假”而控制信息为“自动开始”的Java程序)的Java程序标识符;这种Java程序的Java程序名;描述这种Java程序的AIT的更新时间(即,对描述各个Java程序控制信息为“自动开始”的原始AIT进行更新的时间);以及这种Java程序的图标位图文件。在关掉Java程序的情况下以及每当对AIT进行更新时执行该通知。AIT更新的时间不是用实际时间表示,而是用MPEG-2传输流的媒体时间表示,其中在第二存储单元1307中存储的MPEG-2传输流的报头被定义为“0”。媒体时间是该媒体所特有的时间戳。在以特技播放模式执行再现的时间段内,媒体时间可以超前或落后于与以特技播放模式进行的记录相对应的速度。能够基于整个读出文件的大小和MPEG-2传输流的比特率来计算这种时间。例如,在以3Mbps的速度读取8MB的被记录文件时,媒体时间是00:00:03。
另一方面,当服务管理器1704f通知结束以特技播放模式进行的再现时,应用程序状态管理单元3503对所有Java程序执行上述Java程序状态管理操作,而不考虑特技播放应允标志的值。注意在初始状态下,以正常播放模式对服务进行再现;于是,在假设已经通知以特技播放模式进行的再现结束的条件下,执行该操作。
JMF 1704a对包含在服务中的视频和音频的再现进行控制。更具体地说,JMF 1704a向AV解码器输入被多路复用到由指定的MPEG-2传输流所规定的频道上的视频ES和音频ES,以便AV解码器对它们进行再现。在从接收到的广播波直接对服务进行再现的情况下,规定应该通过扬声器1304和显示器1305来再现从适配器1311输出的MPEG-2传输流。在对曾经记录在第二存储单元1307中的服务进行再现的情况下,规定应该通过扬声器1304和显示器1305来再现从第二存储单元1307内的记录区1504输出的MPEG-2传输流。
首先,JMF 1704a用指定的频道标识符作为关键字在库1701b中搜索频道信息,然后得到节目号。接着,使用SF 1704e等,从MPEG-2传输流中获取PAT。然后,从PMT的信息中得到与所获得的节目号相对应的PMT的PID。再次使用SF 1704e,获取实际的PMT。所获取的PMT是图11所示的格式,并且其中写有流类型为“视频”和“音频”的基本流的PID。当JMF 1704a通过库1701b在TS解码器1302的PID过滤器1502中设置这些PID时,通过AV解码器1303以及扬声器1304和显示器1305对其中复用有这些PID的视频ES和音频ES进行再现,如图16和图17所示。
尤其是在JMF 1704a输入已经被记录在第二存储单元中的MPEG-2传输流的情况下,JMF 1704a能够通过改变读出MPEG-2传输流的位置和速度来改变视频和音频的再现速度。于是,可以执行诸如快进和跳过这样的特技播放。例如,在用正常速度两倍的速度读出MPEG-2传输流的情况下,也用正常速度两倍的速度对视频和音频进行再现。在读出MPEG-2传输流的位置在跳过一个预定间隔之后才被读出的情况下,对视频和音频进行再现也将有这样的跳过。JMF 1704a使用库1701b的函数来控制第二存储单元1307,并且改变读出MPEG-2传输流的速度和位置。执行这种特技播放的方法偏离本发明的范围较远,因此省略了说明。为了让Java程序命令进行特技播放,JMF 1704a向Java程序提供了例如被称作setRate(float factor)的API。参数“factor”表示服务的再现速度,并且当参数“factor”被指定为1.0时,用正常速度执行再现,而当参数“factor”被指定为2.0时,将在特技播放模式下用正常速度两倍的速度执行再现。当调用setRate()时,把服务再现速度“factor”的值通知给随后将提到的特技播放检测单元3102。
此外,JMF 1704a还向Java程序提供被称作“setPosition(int time)”的API,用于改变开始再现的位置。参数“time”指示由从MPEG-2传输流的报头开始的媒体时间所指定的再现开始位置。当调用“setPosition()”时,JMF基于MPEG-2传输流的比特速率,计算直到指定的时间的数据大小,从第二存储单元1307中读出从以所计算的大小作为偏移量执行了跳过模式的位置开始的MPEG-2传输流。于是,从指定的时间开始对服务进行再现。
用所输入的频道标识符、开始时间和结束时间作为输入,记录管理器1704h仅把所指定的开始时间和结束时间之间的时间段内的服务记录到第二存储单元1307中。例如,当EPG 1702指定了频道标识符、开始时间和结束时间时,记录管理器1704h在到达开始时间之前进行等待。然后,当到达该开始时间时,记录管理器1704h开始记录所指定的服务,而当到达该结束时间时,记录管理器1704h终止记录。下面将描述其细节。
当到达记录开始时间时,记录管理器1704h首先在第二存储单元1307内保留一块记录区1504,用于从指定的开始时间到指定的结束时间记录MPEG-2传输流。为保留的记录区提供一个媒体标识符。接着,用频道标识符作为关键字,记录管理器1704h从库1701b保存的频道信息中得到与该频道标识符相对应的调谐信息。之后,当向调谐器1704c提供该调谐信息时,调谐器1704c开始进行调谐。这里,调谐信息是能够指定频率、调制方法等的信息。然后,如图16所示,MPEG-2传输流经由适配器1311输入到TS解码器中。
接着,使用SF 1704e,记录管理器1704h从通过调谐得到的MPEG-2传输流中获取PAT。此外,记录管理器1704h在库1701b中搜索与指定的频道标识符相对应的节目号,并且在PAT中搜索相应PMT的PID。之后,使用SF 1704e,记录管理器1704h获取实际的PMT,并且得到组成所指定的频道的ES的所有PID。记录管理器1704h在TS解码器的PID过滤器1502中设置所得到的PID。此外,通过库1701b设置每个硬件组成单元的输出目的地,以便接着进行把包括在广播波中的服务记录到第二存储单元1307中的操作。然后,根据图16描述的流程,把构成所期望的频道的所有ES记录到保留的记录区1504中。
之后,当到达指定的结束时间时,记录管理器1704h停止调谐器1704c的调谐操作,并且使得把MPEG-2传输流写入记录区1504中的操作结束。此外,创建如图23所示的记录信息管理表作为先前被记录的MPEG-2传输流的管理信息。
图23是用于对被记录在第二存储单元1307的记录区1504等内的记录信息进行管理的记录信息管理表的例子。用图表格式对记录信息进行记录。列2101指示记录标识符。列2102描述频道标识符。列2103指示节目号。列2104是服务的记录开始时间,而列2105是服务的记录结束时间。列2106是对被记录为服务的MPEG-2传输流进行标识的媒体标识符。行2111和2112的每一行是由记录标识符、频道标识符、节目号、开始时间、结束时间和媒体标识符组成的一组信息。例如,行2111示出记录标识符为“000”、频道标识符为“2”、节目号为“102”、开始时间为“2005/03/30 11:00”、结束时间为“2005/03/30 12:00”并且媒体标识符为“TS_001”。
服务管理器1704f对已经记录在第二存储单元1307中的MPEG-2传输流内的服务、或者从适配器1311输入的MPEG-2传输流内的服务的再现进行管理。图20示出服务管理器1704f详细的内部结构。服务管理器1704f由服务再现单元3101、特技播放检测单元3102、Java程序挂起处理单元3103和Java程序挂起显示单元3104构成。在图中示出了AM 1704b和JMF 1704a,然而,它们的组成单元与图18中示出的具有相同参考数字的组成单元相同,于是省略了说明。
服务再现单元3101对服务进行再现。下面,描述在管理对于已记录到第二存储单元1307中的MPEG-2传输流所包含的服务进行的再现的情况下的操作。这相当于对已记录的服务进行再现。在这种情况下,服务管理器1704f把记录标识符作为输入。将对该记录标识符所指定的、并且已记录在第二存储单元1307中的服务进行再现。
首先,参考记录管理器1704h创建的记录信息管理表,服务再现单元3101利用所指定的记录标识符,获得将要被再现的频道的频道标识符和媒体标识符。然后,通过库1701b,服务管理器1704f命令第二存储单元1307向TS解码器1302输出由所获得的媒体标识符指定的MPEG-2传输流。此外,通过库1701b,服务管理器1704f为每个硬件组成单元设置输出目的地,以便经过图17中示出的路径。之后,向JMF 1704a提供第二存储单元1307作为MPEG-2传输流的位置,并且提供要被再现的频道的频道标识符。然后,通过上述操作,JMF 1704a开始对被多路复用到从第二存储单元1307输出的MPEG-2传输流中的音频和视频进行再现。之后,向JMF 1704a提供第二存储单元1307作为MPEG-2传输流的位置,并且提供要被再现的频道的频道标识符。然后,根据被多路复用到从第二存储单元1307输出的MPEG-2传输流中的AIT,AM 1704b开始执行和终止被多路复用到从第二存储单元1307输出的MPEG-2传输流中的Java程序。之后,继续对服务进行再现,直到从第二存储单元1307输出的MPEG-2传输流结束。
另一方面,下面描述了管理对于从适配器1311输入的MPEG-2传输流内的服务进行的再现的情况。这相当于直接从广播波对服务进行再现。在这种情况下,服务管理器1704f内的服务再现单元3101把要被再现的服务的频道标识符作为输入。
通过库1701b,服务再现单元3101命令向TS解码器1302输出从图16示出的适配器1311输出的MPEG-2传输流。此外,通过库1701b,服务管理器1704f设置每个硬件组成单元的输出目的地,以便经过图17中示出的路径。之后,向JMF 1704a提供适配器1311作为MPEG-2传输流的位置,并且提供要被再现的频道的频道标识符。然后,通过上述操作,JMF 1704a开始对被多路复用到从适配器1311输出的MPEG-2传输流中的音频和视频进行再现。此外,向AM 1704b提供适配器1311作为MPEG-2传输流的位置,并且提供要被再现的频道的频道标识符。然后,根据被多路复用到从适配器1311输出的MPEG-2传输流中AIT,AM 1704b开始执行和终止被多路复用到从第二存储单元1307输出的MPEG-2传输流中的Java程序。之后,继续对服务进行再现,直到从第二存储单元1307输出的MPEG-2传输流结束。
对于当前正在进行再现的服务,特技播放检测单元3102基于从JMF 1704a输入的服务再现速度“factor”的值,确定特技播放操作的开始和结束,并且把特技播放模式的再现的开始和结束通知给AM1704b。当factor=1.0时,判定是以正常播放模式执行再现。在正常播放操作期间,当JMF新输入一个与1.0不同的值作为“factor”时,特技播放检测单元3102判定开始以特技播放模式进行再现,并且把“特技播放操作开始”通知给AM 1704b内的应用程序状态管理单元3202。在以特技播放模式进行再现期间,当从JMF新输入factor=1.0时,特技播放检测单元3102判定特技播放被终止,并且把“特技播放操作结束”通知给AM 1704b内的应用程序状态管理单元3202。
Java程序挂起处理单元3103基于来自AM 1704b的输入进行操作。从AM 1704b输入了:被终止或没有执行的Java程序的Java程序标识符、该Java程序的Java程序名、其中描述了该Java程序的AIT的更新时间、以及该Java程序的位图文件。在这种输入的情况下,Java程序挂起处理单元3103把上述信息输入到后面将要提到的Java程序挂起显示单元3104。此外,上述信息还被输入到特权处理程序(privileged handler)调用单元3105。
Java程序挂起显示单元3104基于从Java程序挂起处理单元3103输入的上述信息,在显示器1305的屏幕上显示一个对话框。图24是该对话框的例子。在显示器1305上显示对话框2901。在对话框2901上,显示其执行被挂起的Java程序。在图24示出的例子中,显示了Java程序名2902、Java程序标识符2903、Java程序图标2904、“执行跳至开始并返回到正常播放”按钮2905、以及“取消”按钮2906。能够通过遥控器来选择“执行跳至开始并返回到正常播放”按钮2905和“取消”按钮2906。当用户按下“执行跳至开始并返回到正常播放”按钮2905时,Java程序挂起显示单元3104使该对话框消失。之后,通过指定包括有该Java程序的AIT的更新时间为“time”,调用JMF 1704a的API“setPosition(int time)”。然后,通过调用“setRate(1.0)”,该服务的再现速度返回到正常速度。于是,从出现其执行被挂起的Java程序的AIT的位置,重新开始对该服务进行再现,并且终止以特技播放模式来再现该服务,以返回到正常播放模式。于是,在执行之前未被执行的Java程序的状态下,对服务进行再现。在用户按下“取消”按钮2906的情况下,除了对话框消失,没有其它事情发生。
这里,每当从Java程序挂起处理单元3103输入其执行被挂起的Java程序的Java程序信息时,Java程序挂起显示单元3104应该更新该对话框的细节。换句话说,在已经更新的新AIT中根本不包括到目前为止其执行被挂起的程序的Java程序信息的情况下,所显示的对话框将消失。
特权处理程序管理器1704g由特权处理程序调用单元3105和特权处理程序注册单元3106组成。
特权处理程序注册单元3106向Java程序提供被称作“registerHandler(Handler h)”的Java API。当Java程序把任意程序代码实现为Handle类、并且把该程序指定为参数h以便调用该API时,特权处理程序注册单元3106把处理程序h传送给特权处理程序调用单元3105。
特权处理程序调用单元3105把特权处理程序注册单元3106传送的处理程序h存储到主存储单元1308中。之后,当从Java程序挂起处理单元3103输入关于其执行被挂起的Java程序的信息时,特权处理程序调用单元3105调用刚刚注册的处理程序h,以便执行在该处理程序中描述的程序代码。
这里,处理程序h是含有被称为“notify(Info i)”的回调方法的Java类。“Info”是保存类的数据,其能够保存已被终止或未被执行的Java程序的Java程序标识符、这种Java程序的Java程序名、描述这种Java程序的AIT的更新时间、以及这种Java程序的图标位图文件。由于特权处理程序调用单元3105调用该回调方法,基于关于其执行被挂起的Java程序的信息,处理程序h中描述的程序代码能够自由地执行操作。例如,处理程序h可以具有用于显示在Java程序挂起显示单元3104的说明中所描述的对话框的程序代码。JMF 1704a的“setRate()”和“setPosition()”方法被提供作为Java API,处理程序h可以调用这些方法。
EPG 1702是电子节目指南,并且其具有让用户选择要进行记录和再现的电视节目的功能。接收到广播波之后执行的正常播放操作偏离了本发明的范围,于是省略了说明。
在记录电视节目的情况下,EPG 1702显示被广播的电视节目的列表,并且让用户选择期望的电视节目。图25是用于让用户选择要进行记录的电视节目的屏幕显示的例子。在一个网格中显示了时间1901以及频道1902和1903,并且可以检查在每个时间可以记录的各个频道的电视节目。用户可以通过使用在终端装置1300的输入单元1310中包括的光标上、下、右、左按钮1401至1404,在屏幕上移动焦点1911。此外,当按下OK按钮1405时,当前高亮显示的电视节目被选择进行记录。EPG 1702从库中获取电视节目的频道标识符,并且当用户选择了要被记录的电视节目时,向记录管理器1704h通知该电视节目的频道标识符、开始时间和结束时间。基于该信息,记录管理器1704h把该电视节目记录到第二存储单元1307中。
另一方面,在对已记录的电视节目进行再现的情况下,EPG 1702显示已记录的电视节目的列表,并且让用户选择期望的电视节目。图26是用于使用户选择已记录的电视节目的屏幕显示的例子。列出了在那个时刻所有存储在第二存储单元1307中的电视节目。用户可以通过使用终端装置1300的输入单元1310中包括的光标上和下按钮1401和1402,在屏幕上移动焦点1801。此外,当按下OK按钮1405时,当前高亮显示的电视节目被选择进行再现。EPG 1702从记录管理器1704f获取电视节目的记录标识符,并且当用户选择了要被再现的电视节目时,向服务管理器1704f内的服务再现单元3101通知该电视节目的记录标识符。基于该信息,服务管理器1704f从第二存储单元1307中读出该电视节目并对其进行再现。
下面,将参考流程图描述具有上述构造的本实施例的广播记录和再现装置的操作特性。
图27是示出记录服务所使用的操作的例子的流程图。当用户使用EPG选择要被记录的服务时,在S3201,EPG向记录管理器输入频道标识符、开始时间和结束时间。然后,记录管理器等待直到到达开始时间。当到达开始时间时,该处理进入S3202并且记录管理器在第二存储单元中确保一个记录区,把调谐消息给调谐器,并且进一步设置各个硬件组成单元的输入和输出,以便信号按图16所示那样流动。然后,进入S3203,EPG所选择的服务的视频、音频和分段数据被多路复用为一个MPEG-2传输流,并把该MPEG-2传输流记录到第二存储单元中。之后,当到达结束时间时,记录管理器停止调谐器的调谐操作并且停止向第二存储单元进行记录。记录管理器进一步创建记录信息管理表。使用上述操作,EPG所选择的服务被记录到第二存储单元中。
接着,将描述对记录在第二存储单元中的服务进行再现的情况。图28、29和30是示出对使用MPEG-2传输流格式记录在第二存储单元中的服务进行再现的例子的流程图。
首先,当选择要再现的已记录服务时,在图28中的S3001,EPG1702向服务管理器1704f的服务再现单元3101输入记录标识符。然后,进入S3002,服务管理器1704f的服务再现单元3101搜索与该记录标识符相对应的频道标识符和媒体标识符。之后,在S3003,服务管理器1704f的服务再现单元3101设置并控制各个组成单元的输入和输出,以便从第二存储单元向TS解码器输出MPEG-2传输流,并且信号按图17所示那样流动。此外,在S3004,服务管理器1704f的服务再现单元3101把频道标识符给JMF 1704a。然后,该处理进入S3005,并且JMF 1704a对由指定的频道标识符所指定的视频和音频进行再现。另一方面,在S3006,服务管理器1704f的服务再现单元3101为AM 1704b指定把第二存储单元作为MPEG-2传输流的位置,并且通知要被再现的频道的频道标识符。
下面执行AM 1704b用来开始和结束Java程序的处理过程。图29是示出该操作的流程图。首先,在S3301,AM 1704b检验通知的细节,该通知通过调用JMF 1704a执行的“setRate()”向特技播放管理管理器指定再现速度。首先,在S3302,到目前为止再现速度为1.0,并且AM 1704b通过调用“setRate()”,判断该速度是否改变成另外一个与1.0不同的值。在速度发生改变的情况下,该处理进入S3303,并且通知AM 1704b开始以特技播放模式进行再现。然后,在S3304,AM 1704b关掉正在被执行的Java程序中所有特技播放应允标志=假的Java程序。在S3305,AM 1704b检验AIT是否被更新以及更新的细节。进入S3306,AM 1704b基于更新的AIT中的控制信息,仅仅启动和终止“特技播放应允标志=真”的Java程序。然后,进入S3307,AM 1704b向Java程序挂起处理单元3103通知被关掉的Java程序以及“特技播放应允标志=假”的Java程序的Java程序标识符。S3309是Java程序挂起处理单元3103执行的操作并且将参考图30对其进行描述。在S3401,Java程序挂起处理单元3103向Java程序挂起显示单元3104通知有关Java程序的信息。进入S3402,Java程序挂起显示单元3104在对话框中显示被关掉的Java程序和未被执行的Java程序。这里,在S3403,AM 1704b判断是否按下“执行跳至开始并正常播放”按钮,并且在该按钮被按下的情况下,该处理进入S3404。在S3403,使用“setPosition”(包括有Java程序的AIT的更新时间),从直到时间被回溯的AIT更新时间开始,重新开始进行再现,并且使用“setRate(1.0)”,以正常速度执行再现。因此,在回溯到AIT被更新的时间后,再次以正常速度对服务进行再现,从而,在启动被关掉的Java程序和“特技播放应允标志=假”的Java程序的状态下,再次对服务进行再现。于是,结束Java程序挂起显示单元3104执行的操作,该处理进入S3404,并且接着进行特权处理程序调用单元3105执行的操作。也就是说,Java程序挂起处理单元3103向特权处理程序调用单元3105通知Java程序信息。然后,在S3405,特权处理程序调用单元3105对过去已经注册在特权处理程序注册单元3106中的处理程序h执行回调。用这种方法,执行在处理程序h描述的任意Java程序。这里,返回图29,当在S3310中调用JMF的“setRate()”时,该处理从S3301重新开始。注意,在S3302中如果再现速度没有从1.0改变成与1.0不同的值,则该处理进入S3311。在S3311,相反,判断由与1.0不同的值所指示的速度是否变回1.0,并且在速度发生改变的情况下,该处理进入S3312,并且向AM 1704b通知结束以特技播放模式进行再现。之后,在S3313检验AIT更新的细节,并且在S3314,基于控制信息而不考虑特技播放应允标志的值,对Java程序的启动和终止进行控制。然后,在S3315,当调用JMF的“setRate()”时,该处理从S3301重新开始。
于是,通过上述操作,在如图31所示的AIT(1)的情况下,例如,基于所有控制信息,而不考虑服务是在以特技播放模式进行再现还是以正常播放模式进行再现,执行Java程序的启动和终止。
在另一个例子中,接收AIT(2)作为在正常播放操作期间更新的AIT,只有行2721的Java程序(Java程序标识符=301)被启动。之后,当通过用与factor=1.0不同的值调用“setRate()”开始以特技播放模式进行再现时,行2721的Java程序(Java程序标识符=301)被关掉。
当在以特技播放模式进行再现期间接收到AIT(2)时,不执行该Java程序。
于是,根据本实施例,在由于开始以特技播放模式对服务进行再现而终止Java程序的情况下,把该状态通知用户,以便用户能够知道应该被正常执行的Java程序的存在,并且能够使用从特技播放模式返回到正常播放模式的方法。于是,可以防止该Java程序不被执行。
(第二实施例)
图32是示出根据本实施例的广播记录和再现装置的通用硬件结构的框图;换句话说,示出了图1所示的终端装置111、112和113的特定内部结构。1300是广播记录和再现装置,其包括:调谐器1301、TS解码器(TS解复用器)1302、AV解码器1303、扬声器1304、显示器1305、CPU 1306、第二存储单元1307、主存储单元1308、ROM 1309、输入单元1310、适配器1311、AV编码器1312、复用器(MPEG-2传输流复用器等)1313、分段转换单元2401以及分段读出单元2501。除了复用器1313、分段转换单元2401以及分段读出单元2501,其余组成单元均与图13示出的具有相同参考数字的组成单元相同,于是省略了说明。
本实施例的复用器1313不对AIT分段和DSMCC分段进行多路复用,这点与在第一实施例中描述的复用器1313不同。除此之外,它们相同。
分段转换单元2401把未被复用器多路复用的分段记录到第二存储单元1307的记录区1504中。TS解码器1302过滤出的AIT分段和DSMCC分段被通过分段转换单元2401记录到记录区1504中,而没有在通过主存储单元1308之后经过复用器。把分段记录入记录区1504取决于分段格式而不同。
在被记录到MPEG-2传输流中的文件系统是DSMCC文件系统的情况下,该文件系统被转换成记录区1504所特有的文件系统格式(该格式又是终端所特有的),并且把该文件系统记录到记录区1504中。
此外,至于AIT,分段转换单元2401把AIT转换成扩展记录信息管理表的格式,如图33所示,并且把AIT记录到记录区1504中。图33示出的记录信息管理表是图23示出的记录信息管理表的扩展版本;在两个表中用相同编号标识出的项目与图23示出的记录信息管理表中的那些项目有相同的含义。于是省略了说明。2611和2612的每一行示出一个服务的记录信息。2611和2612的每一行都拥有记录标识符2101、频道标识符2102、节目号2103、服务记录开始时间2104、服务记录结束时间2105、媒体标识符2106和对AIT信息管理表的引用。AIT信息管理表有媒体时间2621和与它对应的AIT版本2622。媒体时间2621一个时刻,在该时刻对相应MPEG-2传输流进行再现,并且示出在相应MPEG-2传输流中的位置。AIT版本号2622对应于图21中的AIT版本号2200。记录标识符2101为“001”、媒体标识符2106为“TS_002”的服务的记录信息,当在所引用的AIT信息管理表中媒体时间2621指示“00:00:00”时,对应的AIT版本号为“1”。用同样的方式,当媒体时间2611指示“00:05:00”时,对应的AIT版本号2622为“2”,而当媒体时间2611指示“00:20:00”时,对应的AIT版本号2622为“3”。
例如,在对频道标识符2601为“001”的服务进行再现时,参考记录信息管理表,对多路复用了媒体标识符2602“TS_002”所指定的视频和音频的MPEG-2传输流进行再现;此外,参考AIT信息管理表,当媒体时间2621到达“00:00:00”时,根据AIT版本号2622为“1”的AIT,执行控制以使得Java程序被启动或终止。以相似的方式,当媒体时间2621到达“00:05:00”时,根据AIT版本号2622为“2”的AIT,执行控制以使得Java程序被启动或终止,以及当媒体时间2621到达“00:20:00“时,根据AIT版本号2622为“3”的AIT,执行控制以使得Java程序被启动或终止。实际的AIT,作为私有分段格式的二进制文件,被转换成记录区1504所特有的文件系统格式(该格式又是终端所特有的),并且被记录到记录区1504中。给被记录的文件赋予唯一的文件名,通过该文件名能够唯一地对其进行标识,并且其被作为AIT文件名2623记录到记录信息管理表中。
在实际的广播波中,重复发送任意多次具有相同AIT版本的AIT,但是在本实施例中,通过检测接收到的AIT版本的改变,只有在那个时间点上更新的第一个AIT被记录到记录区1504中。
分段读出单元2501搜索与从记录区读出的MPEG-2传输流的当前回放时间相对应的媒体时间,从文件中读出与媒体时间相对应的AIT和DSMCC文件,并且把它们传递到AIT监控单元。换句话说,AIT监控单元3201并不像第一实施例示出那样参考TS解码器的过滤结果,而是从分段读出单元2501得到AIT二进制文件和DSMCC文件系统。
下面详细描述如上所述的广播记录和再现装置所使用的把包含在广播波中的服务记录到第二存储单元1307中的操作、以及通过从第二存储单元1307中连续读出服务从而对该服务进行再现的操作。
首先,在下面描述对包括在广播波中的服务进行记录的操作。
图34示出表示在对服务进行记录期间各个设备的物理连接顺序、处理细节和输入/输出数据格式的概念图。已经在第一实施例中描述了该图中与图16中示出的组成单元具有相同编号的组成单元,因此省略了说明。图34中所示的硬件结构与图16中的不同之处在于,TS解码器1302过滤出的AIT分段和DSMCC分段经过分段转换单元2401被记录到记录区1504中,而没有在通过主存储单元1308之后经过复用器。
接着,将描述通过从记录在第二存储单元1307中的MPEG-2传输流中读出服务来对该服务进行再现的操作。
图35示出表示在对服务进行再现期间各个设备的物理连接顺序、处理细节和输入/输出数据格式的概念图。已经在第一实施例中描述了该图中与图17中示出的组成单元具有相同编号的组成单元,因此省略了说明。
图35中示出的硬件结构与图17中示出的不同之处在于,通过分段读出单元2501把记录在记录区1504中的分段读入主存储器,而不是经过TS解码器。
至此,已经描述了关于本发明的硬件结构的例子。下面描述本发明的主要功能,即通过Java程序控制记录服务和控制特技播放。
对服务进行记录和再现所需的程序的结构与在第一实施例中使用的如图18和20所示出的结构相同,并且其是记录在ROM 1309中的软件。在图中示出的组成单元中除了AM 1704a之外,均与第一实施例中描述的组成单元有相同功能,因此省略了说明。
像第一实施例一样,AM 1704b的内部结构如图20所示。AIT监控单元3201的不同之处在于,其读出单独记录在第二存储单元中的AIT文件,而不是通过进行过滤来得到被多路复用到从第二存储单元1307读出的MPEG-2传输流中的AIT。AIT监控单元3201利用AIT信息管理表内的媒体时间2621来检验当前媒体时间的AIT,得到与当前媒体时间对应的AIT文件名,并读出实际的AIT文件。随着媒体时间前移,当到达引用另一个AIT的时间时,AIT监控单元3201读出新的AIT。换句话说,这等于更新AIT的版本。因此,当前版本AIT的有效时间应该从该AIT的有效开始媒体时间到另一个AIT的有效开始媒体时间。
应用程序状态管理单元3202读出用原始文件系统格式记录到第二存储单元1307中的Java类文件,而不是从被多路复用到MPEG-2传输流中的DSMCC分段读出所读入的Java程序。除此之外的操作与根据第一实施例的应用状态管理单元的操作相同。
这里,把使用图21所示的AIT和图33所示的记录信息管理表,以正常速度从记录区1504对与频道标识符“001”相对应的服务进行再现的情况作为例子。
当与频道标识符“001”相对应的服务被指定为将要被再现的服务时,如在有关再现服务的描述中已经提到的那样,属于该服务的音频、视频和Java程序被再现并启动。
在没有指定开始再现的媒体时间的情况下,从媒体时间2621“00:00:00”开始再现。换句话说,作为音频和视频,从媒体时间2621“00:00:00”开始对具有与记录标识符2101“001”相对应的媒体标识符2102“TS_002”的MPEG-2传输流进行再现。参考AIT信息管理表,因为与媒体时间2621“00:00:00”相对应的AIT版本2622是“1”,因此,从文件中读出AIT版本2200为“1”的AIT。基于该AIT的细节,启动与控制信息2202为“自动开始”的程序名2204相对应的Java程序。
然后,继续对服务进行再现,并且当正在再现与媒体标识符3502“TS_002”相对应的MPEG-2传输流的位置指示媒体时间2621为“00:05:00”时,参考AIT信息管理表,因为与媒体时间2621“00:05:00”相对应的AIT版本号2622为“2”,因此启动与控制信息2202为“自动开始”的程序名2204相对应的Java程序,此外,基于AIT版本号2200为“2”的AIT,终止与控制信息为“毁坏(destroy)”或“关掉”的程序名2204相对应的Java程序。这里,参考图21,控制信息2202为“毁坏”的程序名为“/b/MusicXlet”,而控制信息2202为“关掉”的程序名为“/z/StudyXlet”,因此,在媒体时间2621“00:05:00”处执行与这些程序名相对应的Java程序的情况下,终止这些Java程序。
然后,继续对服务进行再现,并且当正在再现与媒体标识符2106“TS_002”相对应的MPEG-2传输流的位置指示媒体时间2621为“00:20:00”时,参考AIT信息管理表,与媒体时间2621“00:20:00”相对应的AIT版本号2622为“3”,因此启动与控制信息2202为“自动开始”的程序名2204相对应的Java程序,此外,基于AIT版本号2200为“3”的AIT,终止与控制信息2202为“毁坏”或“关掉”的程序名2204相对应Java程序。
能够参考与在第一实施例中使用的相同的流程图来描述具有上述构造的广播记录和再现装置的操作特性。
图27是示出对服务进行记录的操作的例子的流程图。图28、29和30是示出对用MPEG-2传输流格式记录在第二存储单元中的服务进行再现的操作的例子的流程图。它们中的任意一个均与第一实施例中使用的那个相同,于是省略了说明。
于是,通过上述操作,使用如图31所示的AIT(1),基于所有控制信息对Java程序的启动和终止进行控制,而不考虑是以特技播放模式还是以正常播放模式来再现服务。
作为另一个例子,当在正常播放操作期间接收到AIT(2)作为更新的AIT时,只有行2721的Java程序(Java程序标识符=301)被启动。之后,当在通过使用与factor=1.0不同的值调用“setRate()”之后开始以特技播放模式进行再现时,行2721的Java程序(Java程序标识符=301)被关掉。
当在以特技播放模式进行再现期间接收到AIT(2)时,不执行该Java程序。
于是,根据本实施例,在由于开始以特技播放模式进行再现而终止Java程序的情况下,把该状态通知给用户,使得用户能够知道原本要执行的Java程序,并且可以使用返回到正常播放操作的方法等,从而能够防止该Java程序不被执行。
(第三实施例)
上述一些实施例指出了本发明的实施例,但是在不偏离本发明的范围的情况下,也可以考虑其它实施例。
在这些实施例中,示出了用于有线系统的结构,但是可以独立于广播系统的类型来应用本发明。例如,可以容易地将本发明应用于卫星系统、地面波系统或使用IP网络的电视节目分发系统。此外,因为本发明与各个广播系统之间的差异没有直接关系,因此本发明可以被应用于任意传输介质而与广播系统无关。不管系统是有线或无线系统,都可以应用本发明。
AV解码器不必同时对视频和音频进行解码。即使AV解码器被构造为分离的视频和音频解码器,也能够实施本发明。此外,AV解码器可以具有针对诸如隐藏式字幕(closed captioning)等的数据的解码功能而无需任何干预。由AV解码器解码的音频信号和视频信号可以在任何阶段被加密直到被存储在记录区1504中。
在这些实施例中,给出了一个示例,其中引入了用来控制条件访问系统的适配器,但是该适配器对本发明的实现并不是必要的。该适配器可以是任何格式,没有该适配器的结构也是可以的。在这种情况下,在图16中,来自调谐器的MPEG-2传输流被直接输入到TS解码器中。本发明也可以应用于这种情况。此外,由适配器来解扰MPEG-2传输流并不是必须要在TS解码器之前执行。很容易可以实施的一种结构是,适配器在任意位置并被用于对MPEG-2传输流进行解扰,并且本发明也可应用于这种情况。
关于AV编码器将音频和视频信号编码成的编码格式,可接受任意格式。不管什么编码格式,都可应用本发明。
复用器的复用格式也可以是任意格式。不管什么复用格式,都可应用本发明。
显示器和扬声器可以被包含在广播记录和再现装置中,或者外部的显示器和扬声器可以被连接到广播记录和再现装置。不管显示器和扬声器的位置和数量如何,都可应用本发明。
即使CPU本身是执行多处理的系统(所述处理是TS解码、AV解码、AV编码以及复用的全部或某些),也可以实施本发明。
作为记录服务的格式,MPEG-2传输流也可以在从调谐器输出之后被直接记录到记录区中,而不经过TS解码器;或者,通过安装用来转换MPEG-2传输流的格式的转换器来转换来自调谐器的MPEG-2传输流的格式,并将其记录到记录区中。不管什么服务记录方法,都可以实施本发明。
某些Java虚拟机将字节码转换为可由CPU解释的可执行形式,并将得到的结果传递给CPU,由该CPU来执行;本发明也可应用于这种情况。
上述实施例描述了一种关于AIT的实施方法,其中从带内获得传输流;然而,用于查询AM应执行的Java程序的方法并不仅仅依赖于该AIT。在假设由美国有线系统使用的OCAP中,在如图3所示的OOB中使用了XAIT,其描述了应用程序的参考信息。此外,可以考虑到诸如开始执行预记录在ROM中的程序、开始执行下载并被记录在第二存储单元中的程序等的方法。
注意,第一和第二实施例示出,通过扩展AIT设置特技播放应允标志,能够显示出对应的Java程序是否允许进行特技播放。然而,可以用其它方法示出。
在本实施例中,Java程序被应用为用于命令以特技播放模式进行再现的程序,然而,本发明甚至适用于由不是Java程序的程序给出这种指令的情况。
记录DSMCC文件系统和AIT文件的格式可以是任意的。
即便合并通过进行过滤从MPEG-2传输流获取AIT分段的方法、以及把原始格式的DSMCC分段记录到文件中的方法,也可以实施本发明。即便合并通过进行过滤从MPEG-2传输流获取DSMCC分段的方法、以及把原始格式的AIT分段记录到文件中的方法,也可以实施本发明。
在这些实施例中,Java程序挂起显示单元3104和特权处理程序管理器均被实现;然而,可以实现它们中的任意一个。此外,特权处理程序管理器是通过对处理程序代码进行回调来实现的,但是也可以改为通过事件通知来实现该管理器。对于特权处理程序的注册,可以使用需要某一类认证或许可的配置。例如,该配置可以要求如DVB-MHP规范和OCAP规范所定义的许可请求文件。
这些实施例描述了连续调用JMF所拥有的两个方法“setPosition(AIT的开始时间)”和“setRate(1.0)”以便用正常速度从AIT的开始时间开始对服务进行再现的配置。然而,可以把合并了这两种方法的新方法新设置为一个API。例如,当调用诸如“rewind()”这样的方法时,连续在内部执行“setPosition(AIT的开始时间)”和“setRate(1.0)”这两个方法。或者,可以具有这样的配置,其中把特权处理程序的回调方法“notify()”的返回值定义为“boolean”(布尔值),并且在返回值为“真”的情况下,以正常速度从AIT的开始时间开始对服务进行再现。
尽管上面只详述了本发明的某些示例性实施例,但是本领域的技术人员将容易地理解,在没有本质上偏离本发明的新颖启示和优点的情况下,示例性实施例中可以有很多变型。因此,所有这样的变型都是要被包括在本发明的范围之内。