服务执行装置的制作方法

文档序号:7594378阅读:200来源:国知局
专利名称:服务执行装置的制作方法
技术领域
本发明涉及一种数字电视,尤其涉及具备多个视频等处理装置的终端。
背景技术
在以电视或STB为代表的广播接收装置的硬件上,采用如下结构,即将具有不同功能的多个器件彼此连接,使另一方的输出成为一方的输入,形成一串,从而实现大功能。例如,以数字广播接收装置中向画面输出映像、声音的情况为例,在硬件上,按顺序连接[调谐器]、[TS解码器]、[音频解码器]、[视频解码器]、[显示器件],其中,[调谐器]将广播信号作为输入,将频率等调谐信息作为密钥进行过滤,输出MPEG2(Motion Picture ExpertGroup-2)传输流,[TS解码器]将MPEG2传输流作为输入,从中挑选期望的映像、声音、数据,输出一致的TS数据包传送的映像、声音数据或数据,[音频解码器]、[视频解码器]解码从TS解码器传送来的映像、声音数据,在可显示画面的状态下输出,[显示器]合成从[视频解码器]或CPU指示的映像等,通过各器件实现各自的功能,可在画面中显示映像等,流过声音。
在这种广播接收装置中,有时为了并行处理,存在多个同一种类的器件。例如,在存在多个[调谐器]、[视频解码器]的情况下,可同时解码多个映像数据,可实现称为画中画[Picture In Picture(下面称为PinP)]的、例如同时显示两种映像的功能。这样,在多个相同种类的器件存在的情况下,例如,连接哪个[调谐器]与[视频解码器]呢,并不能随便连接,通常事先确定为连接特定的[调谐器]与特定的[视频解码器],将一连串器件当作[组]来对待。作为这种情况下的各器件的利用方法的代表例,例如[特开平8-289220]中公开的技术。该发明考虑具有两组[主调谐器]、[主映像用解码器]、[插入用调谐器]、[插入用解码器],在PinP显示时,通过利用[插入用调谐器],在整个画面中显示已选择了的映像、声音不变,而将选择替补的映像、声音输出到画面上的指定区域。
当前,在欧洲定义称为DVB-MHP(Digital VideoBroadcasting-Multimedia Home Platform ETSI TS 101 812 V1.2.1(2002-06))的、在广播接收装置上使服务动作用的标准,并已开始运用。另一方面,在美国,以DVB-MHP标准为基准,正在策划OCAP(OpenCable ApplicationProtocol OCAP1.0 Profile OC-SP-OCAP1.0-I07-030522)标准,计划在2005年开始运用。另外,在其它各国中也在推进同样的标准策划、运用。依照这种服务执行标准的广播接收装置具备执行使用从广播信号下载等方法所得到的程序的功能。作为这种程序的代表例,例如游戏或EPG(Electrical ProgramGuide)应用程序。
作为在广播接收装置上执行的服务,当然假设上述PinP或高功能EPG等、在一个画面中同时显示多个映像、声音的应用程序。为了同时向一个画面输出多个映像、声音,必需如上述专利记载的实例所代表的那样,执行多个器件的[组]的控制。但是,在DVB-MHP/OCAP标准中,未明确记载控制多个器件的[组]的结构。

发明内容
因此,本发明的目的在于提供一种服务执行装置,通过导入由ServiceContext分类(class)来特定多个器件的[组]的概念,由此执行多个器件的[组]的控制。另外,提供利用由其它ServiceContext分类特定的器件的[组]的结构。
为了实现上述目的,本发明的服务执行装置,其特征在于具备服务执行单元,在执行使用一个或多个资源的服务用的服务执行环境中,执行所述服务;关联单元,在应用程序对所述服务执行单元请求执行服务时,关联所述服务执行环境与表示所述服务使用的一个或多个资源的资源组信息;保持单元,保持由所述关联单元关联的所述服务执行环境与所述资源组信息;和资源管理单元,在由所述保持单元保持的服务执行环境,向所述服务提供保持在所述保持单元中的所述资源组信息。
由此,因为关联作为服务执行环境的ServiceContext与表示服务使用的一个或多个资源的资源组信息,所以在执行服务时,可将一个或多个资源控制成资源的[组]。


结合说明本发明一特定实施例的附图,本发明的上述和其它目的、优点和特征将从下面的描述中变得明显。
图1是本发明的有线电视系统的实施方式1的结构图。
图2是表示在本发明的有线电视系统中、前端与终端装置之间的通信中使用的频带用途一例的图。
图3是表示在本发明的有线电视系统中、前端与终端装置之间的通信中使用的频带用途一例的图。
图4是表示在本发明的有线电视系统中、前端与终端装置之间的通信中使用的频带用途一例的图。
图5是本发明的有线电视系统中、终端装置的结构图。
图6是表示本发明的有线电视系统中、终端装置的外观实例的图。
图7是本发明的POD504的硬件结构的结构图。
图8是表示本发明的显示器509的显示一例的图。
图9是表示本发明的显示器509的显示一例的图。
图10是本发明的POD504保存的程特序结构的结构图。
图11A是本发明的TS解码器A的结构图。
图11B是本发明的TS解码器B的结构图。
图12是按MPEG标准定义的数据包的结构图。
图13是表示MPEG2传输流的一例的图。
图14是表示由面板构成输入部513时的外观一例的图。
图15是本发明的显示器件A502a或显示器件B502b的结构图。
图16是本发明的显示器件的结构图。
图17是本发明的终端装置500保存的程序结构的结构图。
图18是表示本发明的2次存储部510保存的信息一例的图。
图19A是表示本发明的1次存储部511保存的信息一例的图。
图19B是表示本发明的1次存储部511保存的信息另一例的图。
图19C是表示本发明的1次存储部511保存的信息再一例的图。
图20是本发明的服务管理器1704的结构图。
图21是表示本发明的ServiceContext管理部的一例的图。
图22是表示本发明的In-band的服务用ServiceContext的一例的图。
图23是表示本发明的资源组保持部的一例的图。
图24是表示本发明的资源组的一例的图。
图25是关于本发明的ServiceContext取得的流程图。
图26是表示本发明的ServiceContext与资源组的关系的图。
图27是本发明的取得表示调谐器的Java分类的实例的流程图。
图28是本发明的取得再现映像、声音的Java分类的实例的流程图。
图29是表示本发明的MPEG2标准规定的PAT的内容的模式图。
图30是表示本发明的MPEG2标准规定的PMT的内容的模式图。
图31是表示本发明的DVB-MHP标准规定的AIT的内容的模式图。
图32是表示本发明的以DSMCC方法发送的文件系统的模式图。
图33是表示本发明的显示器509的显示一例的图。
图34是表示本发明的显示器509的显示一例的图。
图35是表示本发明的显示器509的显示一例的图。
图36是表示本发明的显示器509的显示一例的图。
图37是表示本发明的显示器509的显示一例的图。
图38是表示本发明的显示器509的显示一例的图。
图39是本发明的抽象(Abstract)服务用ServiceContext的结构图。
图40A表示本发明的显示器509的显示一例的图。
图40B是表示本发明的显示器509的显示另一例的图。
图41是表示本发明的XAIT的内容的模式图。
图42是表示本发明的2次存储部510保存的信息一例的图。
图43是表示本发明的ServiceContext与资源组的关系的图。
图44是表示本发明的Java分类的图。
图45是本发明的再现映像、声音的流程图。
图46是本发明的再现映像、声音的流程图。
图47是Abstract服务用ServiceContext的结构图。
图48是Abstract服务用ServiceContext的结构图。
图49是表示本发明的Java分类的图。
图50是本发明的再现映像、声音的流程图。
图51是本发明的服务管理器1704的结构图。
图52是本发明的ServiceContext映射部的结构图。
图53是表示本发明的ServiceContext映射保持部的一例的图。
图54是表示本发明的Java分类的图。
图55是本发明的再现映像、声音的流程图。
图56是Abstract服务用ServiceContext的结构图。
图57是Abstract服务用ServiceContext的结构图。
图58是表示本发明的Java分类的图。
图59是本发明的取得再现映像、声音的Java分类的实例的流程图。
图60是本发明的再现映像、声音的流程图。
图61是表示本发明的Java分类的图。
图62是本发明的取得再现映像、声音的Java分类的实例的流程图。
图63是本发明的服务管理器1704的结构图。
图64是本发明的ServiceContext-资源组映射部的结构图。
图65是表示本发明的资源组保持部的一例的图。
图66是表示本发明的Java分类的图。
图67是本发明的再现映像、声音的流程图。
图68是本发明的服务管理器1704的结构图。
图69是本发明的ServiceContext-资源映射部的结构图。
图70是表示本发明的资源保持部的一例的图。
图71是表示本发明的Java分类的图。
图72是本发明的再现映像、声音的流程图。
图73是本发明的Java库1705的结构图。
图74是表示本发明的Java分类与物理资源的关系的图。
图75是表示本发明的显示器509的显示一例的图。
图76是表示本发明的Java分类的图。
图77是表示本发明的Java分类的图。
图78是本发明的显示器件的结构图。
图79是表示本发明的Java分类的图。
图80是表示本发明的Java分类的图。
图81是表示本发明的EPG的图。
具体实施例方式
下面,参照附图来说明本发明的实施方式。
(实施方式1)参照附图来说明本发明的有线电视系统的实施方式。图1是表示构成有线系统的装置的关系框图,由前端101和3个终端装置A111、终端装置B112、终端装置C113构成。在本实施方式中,相对1个前端结合3个终端装置,但即使将任意数量的终端装置与前端结合,本发明也可实施。
前端101在向多个终端装置发送映像、声音、数据等广播信号的同时,接收来自终端装置的数据发送。为了实现上述功能,分隔使用前端101与终端装置A111、终端装置B112、终端装置C113之间的传送所使用的频带。
图2是表示频带分开的一例的表。频带大致分为带外(Out Of Band简称为OOB)与带内(In-Band)这两种。将5-130MHz分配给OOB,主要用于前端101与终端装置A111、终端装置B112、终端装置C113之间的数据交换。将130MHz-864MHz分配给In-Band,主要用于包含映像、声音的广播服务。在OOB中使用QPSK调制方式,而在In-Band中使用QAM64调制方式。就调制方式技术而言,因为是与本发明不大相关的公知技术,所以省略详细说明。
图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是针对In-Band的频带的使用一大实例。将150-156MHz与156-162MHz分别分配给电视频道1与电视频道2,之后,按6MHz的间隔分配电视频道。在310MHz之后,按1MHz的单位分配给无线电频道。这些频道既可用作模拟广播,也可用作数字广播。在数字广播的情况下,按基于MPEG2标准的传输数据包(パヶツト)形式来传送,除声音和映像外,还可发送各种数据广播用数据。
前端101为了在这些频带下发送适当的广播信号,具有QPSK调制部或QAM调制部等。另外,为了接收来自终端装置的数据,具有QPSK解调器。另外,认为前端101具有与这些调制部和解调部关联的各种设备。但是,本发明主要涉及终端装置,所以省略详细说明。
终端装置A111、终端装置B112、终端装置C113接收并再现来自前端101的广播信号。另外,向前端101发送各终端装置固有的数据。
在本实施方式中,例如,考虑画中画(Picture In Pricture)、双视窗(Double Window)等代表的可同时显示两个画面的终端装置。另外,本发明不限于两个画面,即便是可同时显示任意数量的画面的终端,也可实施。
图5是表示终端装置的硬件结构的框图。500是终端装置,由调谐器A501a、调谐器B501b、QPSK解调部502、QPSK调制部503、TS解码器A505a、TS解码器B505b、音频解码器A506a、音频解码器B506b、扬声器507、视频解码器A508a、视频解码器B508b、显示器509、2次存储部510、1次存储部511、ROM512、输入部153、CPU514、解复用器(demultiplexer)515、复用器(multiplexer)516、显示器件A520a、显示器件B520b构成。另外,POD504可拆装于终端装置500上。
图6是作为终端装置500的外观一例的薄型电视。
601是薄型电视的壳体,除POD504外,内置所有终端装置500的构成单元。
602是显示器,相当于图5中的显示器509。
603是由多个按钮构成的面板部,相当于图5的输入部513。
604是信号输入端子,为了与前端101收发信信号,连接电缆线。信号输入端子与图5的调谐器A501a、调谐器B501b、QPSK解调部502、QPSK调制部503连接。
605是相当于图5的POD504的POD卡。POD504如图6的POD卡605那样,采取独立于终端装置500的方式,可拆装于终端装置500上。POD504的细节如后所述。
606是插入POD卡605的插入槽。
另外,图5所示的该终端装置如图8的显示画面801所示的那样,可显示整个画面,同时,也可如图9所示,同时显示两个画面。图9中,显示器509显示两个画面,显示画面801表示图5中、根据由调谐器A501a解调可从前端101发送的信号所再现的映像、声音,显示画面901表示图5中、根据由调谐器B501b解调可从前端101发送的信号所再现的映像、声音。
参照图5,调谐器A501a、调谐器B501b用包含从CPU514指定的频率的调谐信息,解调前端101进行QAM调制发送的信号,传递到多路复用器516。由多路复用器516执行多路复用,传递到POD504。
QPSK解调部502用包含从CPU514指定的频率的调谐信息,解调前端101进行QPSK调制发送的信号,传递到POD504。
QPSK调制部503用包含从CPU514指定的频率的解调信息,QPSK解调从POD504传递的信号,发送到前端101。
POD504如图6所示,为可从终端装置主体500拆装的方式。终端主体500与POD504的连接界面用OpenCable(TM)HOST-POD InterfaceSpecification(OC-SP-HOSTPOD-IF-I12-030210)和参照该说明书的说明书定义。这里,省略细节,仅说明关于本发明的部分。
图7是表示POD504的内部结构的框图。POD504由第1解扰部701、第2解扰部702、加扰部703、第1存储部704、第2存储部705、CPU706构成。
第1解扰部701按照来自CPU706的指示,从终端装置500的调谐器A501a、调谐器B501b接收由多路复用器516多路复用加密后的信号的信号,进行译码。之后,将译码后的信号发送到终端装置500的解多路复用器515,执行解多路复用,发送给TS解码器A505a、TS解码器B505b。从CPU706适当提供解码必需的密钥等信息。具体而言,前端101播放几个收费频道。用户若购买该收费频道,第1解扰部701从CPU706接收密钥等必需的信息并解扰,由此用户可阅览收费频道。在不提供密钥等必需信息的情况下,第1解扰部701不进行解扰,将接收到的信号经由解多路复用器515原样发送到TS解码器A505a、TS解码器B505b。
第2解扰部702按照来自CPU706的指示,从终端装置500的QPSK解调部502接收加密后的信号,进行译码。之后,将译码后的数据传递到CPU706。
加扰部703按照来自CPU706的指示,加密从CPU706接收到的数据,发送到终端装置500的QPSK调制部503。
第1存储部704具体而言,由RAM等一次存储存储器构成,用于当CPU706进行处理时,暂时保存数据。
第2存储部705具体而言,由快闪ROM等2次存储存储器构成,用于存储CPU706执行的程序,另外,用于即使电源断掉(OFF)也难以被删除的数据的保存。
CPU706执行第2存储部705存储的程序。程序由多个子程序构成。图10是第2存储部705存储的程序的一例。图10中,程序1000由主程序1001、初始化子程序1002、网络子程序1003、再现子程序1004、PPV子程序1005等多个子程序构成。
这里,所谓PPV是按次付费电视(Pay Per View)的简称,是可收费视听电影等特定节目的服务。若用户输入密码号,则通知前端101已购买,解除加扰,进行视听。通过该视听,用户日后支付购买费用。
主程序1001是CPU706在电源接通时最初启动的子程序,执行其它子程序的控制。
初始化子程序1002在电源接通时由主程序1001启动,与终端装置500进行信息交换等,执行初始化处理。初始化处理的细节由OpenCable(TM)HOST-POD Interface Specification(OC-SP-HOSTPOD-IF-I12-030210)和参照该说明书的说明书定义。另外,还进行该说明书中未定义的初始化处理。这里,介绍一部分。若接通电源,则初始化子程序1002通过终端装置500的CPU514,将第2存储部705存储的第1频率通知给QPSK解调部502。QPSK解调部502利用提供的第1频率来执行调谐,将信号发送到第2解扰部702。另外,初始化子程序1002将第2存储部705存储的第1密钥等译码信息提供给第2解扰部702。结果,第2解扰部702执行解扰,传递到执行初始化子程序1002的CPU706。从而,初始化子程序1002可接收信息。在本实施方式中,设初始化子程序1002通过网络子程序1003来接收信息。细节如后所述。
另外,初始化子程序1002通过终端装置500的CPU514,将第2存储部705存储的第2频率通知给QPSK调制部503。初始化子程序1002将第2存储部705存储的加密信息提供给加扰部703。若初始化子程序1002将想发送的信息经网络子程序1003提供给加扰部703,则加扰部703使用提供的加密信息,加密数据,并提供给终端装置500的QPSK调制部503。QPSK调制部503调制提供的加密信息,发送到前端101。
结果,初始化子程序1002通过终端装置500、第2解扰部702、加扰部703、网络子程序1003,与前端101进行双向通信。
网络子程序1003是由主程序1001、初始化子程序1002等多个子程序使用的、与前端101进行双向通信的子程序。具体而言,对使用网络子程序1003的其它子程序动作,以利用TCP/IP,与前端101进行双向通信。TCP/IP是规定多个装置之间进行信息交换用的协议的公知技术,省略详细说明。网络子程序1003若在电源接通时被初始化子程序1002启动,则通过终端装置500将第2存储部705事先存储的、作为识别POD504的识别符的MAC地址(MediaAccess Control地址的简称)通知给前端101,请求取得IP地址。前端101经终端装置500将IP地址通知给POD504,网络子程序1003将IP地址存储在第1存储部704中。后面,前端101与POD504将该IP地址用作POD504的识别符,进行通信。
再现子程序1004将第2存储部705存储的第2密钥等译码信息、或从终端装置500提供的第3密钥等译码信息提供给第1解扰部701,以能进行解扰。另外,通过网络子程序1003,接收输入到第1解扰部701的信号是PPV频道的信息。当知道是PPV频道时,启动PPV子程序1005。
PPV子程序1005一旦被启动,则显示促使终端装置500购买节目的消息,接收用户的输入。具体而言,若向终端装置500的CPU514发送想显示在画面中的信息,则在终端装置500的CPU514上动作的程序在终端装置500的显示器509上显示消息。用户若通过终端装置500的输入部513输入密码号,则终端装置500的CPU514接收该号码,通知给在POD504的CPU706上动作的PPV子程序1005。PPV子程序1005通过网络子程序1003,将接收的密码号发送到前端101。若密码号正确,则前端101经网络子程序1003,将译码所需的第4密钥等译码信息通知PPV子程序1005。PPV子程序1005将接收到的第4密钥等译码信息提供给第1解扰部701,第1解扰部701解扰输入的信号。
参照图5,TS解码器A505a、TS解码器B505b实施经解多路复用器515、从POD504接收到的信号的过滤,将必要的数据传递给音频解码器A506a、音频解码器B506b和视频解码器A508a、视频解码器B508b、1次存储部510。图11A表示TS解码器A505a,图11B表示TS解码器B505b。PID过滤器1101a-1101f执行指定数据包ID的过滤。TS解码器内存在多个PID过滤器。区间(section)过滤器A1102a、区间过滤器B1102b过滤映像、声音以外的数据,存储在1次存储装置中。这里,来自POD504的信号是MPEG2传输流。MPEG2传输流的细节记载于MPEG标准书ISO/IEC13818-1中,在本实施方式中省略细节。MPEG2传输流由多个固定长度的数据包构成,向各数据包分配数据包ID。
图12是数据包的结构图。1200是数据包,由固定长度的188个字节构成。开头的4个字节为首标1201,存储数据包的识别信息,剩余的184个字节是有效载荷(pay load)1202,包含想发送的信息。1203是首标1201的明细,在从开头的第12位-第24位的13位中包含数据包ID。图13是表现发送来的多个数据包的列的模式图。数据包1301在首标中具有数据包ID[1],在有效载荷中放入映像A的第1个信息。数据包1302在首标中具有数据包ID[2],在有效载荷中放入声音A的第1个信息。数据包1303在首标中具有数据包ID[3],在有效载荷中放入声音B的第1个信息。数据包1310具有数据包ID[100],在有效载荷中放入数据1的第1个信息。
数据包1304在首标中具有数据包ID[1],在有效载荷中放入映像A的第2个信息,这构成数据包1301的连续。同样,数据包1305、1311、1326、1327也存储其它数据包的后续数据。这样,若连结具有相同数据包ID的数据包的有效载荷内容,则可再现连续的映像或声音。另外,连结具有相同数据包ID的数据包的有效载荷的内容,将映像、声音以外的数据存储在1次存储部511中。
参照图5,CPU514若将数据包ID[1]和作为输出处的[视频解码器A508a]指示给TS解码器A505a,则TS解码器A505a的PID过滤器1101b从由POD504比解多路复用器515接收的MPEG2传输流中抽取数据包ID[1]的数据包,传递给视频解码器A508a。在图5中,仅将映像数据传递给视频解码器A508a。同时,CPU514若将数据包ID[2]和[音频解码器A506a]指示给TS解码器A505a,则TS解码器A505a的PID过滤器1101a从由POD504接收的MPEG2传输流中抽取数据包ID[2]的数据包,传递给音频解码器A506a。另外,CPU514若将数据包ID[100]和[1次存储部511]指示给TS解码器A505a,则TS解码器A505a的PID过滤器1101c从由POD504接收的MPEG2传输流中抽取数据包ID[100]的数据包,传递给1次存储装置。
对应于该数据包ID来仅取出必需的数据包的处理是TS解码器505执行的过滤。TS解码器A505a可同时执行从CPU514指示的多个过滤。
参照图5,音频解码器A506a、音频解码器B506b分别连结嵌入从TS解码器A505a、TS解码器B505b提供的MPEG2传输流的数据包中的音频数据,进行数模变换后输出到扬声器507。
扬声器507声音输出从音频解码器A506a、音频解码器B506b提供的信号。
视频解码器A508a、视频解码器B508b分别连结嵌入在从TS解码器A505a、TS解码器B505b提供的MPEG2传输流的数据包中的视频数据,执行数模变换,输出到显示器件A520a、显示器件B520b,合成后显示于显示器509中。显示器件A520a、显示器件B520b如图15所示构成。图15中,图形器件1501用于显示图象。视频器件1502用于显示映像,背景器件1503用于显示映像的背景。最后,合成显示于各器件中的映像、图象,输出到显示器509。显示器件A520a、显示器件B520b也可如图16所示汇聚成一个。图16中,1610表示组合显示器件A520a、显示器件B520b的器件。图16中,认为图形器件A1601、视频器件A1603、背景器件A1505分别是显示器件A520a的构成单元,图形器件B1602、视频器件B1504、背景器件B1506分别是显示器件B520b的构成单元。合成这些器件,输出到显示器509。
显示器509具体而言,由阴极射线管或液晶等构成。
2次存储部510具体而言由快闪存储器或硬盘等构成,保存或删除从CPU514指示的数据或程序。另外,由CPU514参照保存的数据或程序。被保存的数据或程序即使在切断终端装置500的电源的状态下也保存。
1次存储部511具体而言由RAM等构成,一次性保存或删除从CPU514指示的数据或程序。另外,由CPU514参照保存的数据或程序。保存的数据或程序在切断终端装置500的电源时被擦除。
ROM512是不可改写的存储器器件,具体而言由ROM或CD-ROM、DVD等构成。ROM512中存储CPU514执行的程序。
输入部513具体而言由面板或遥控器构成,接收来自用户的输入。图14是由面板构成输入部513时的一例。1400是面板,相当于图6的面板603。面板1400具备7个按钮、上游标按钮1401、下游标按钮1402、左游标按钮1403、右游标按钮1404、OK按钮1405、取消按钮1406、EPG按钮1407、两画面按钮1408、画面选择按钮1409。若用户按下按钮,则将按下的按钮的识别符通知给CPU514。
CPU514执行ROM512存储的程序。按照执行的程序的指示,控制调谐器A505a、调谐器B501b、QPSK解调部502、QPSK调制部503、POD504、TS解码器A505a、TS解码器B505b、显示器509、2次存储部510、1次存储部511、音频解码器A506a、音频解码器B506b、视频解码器A508a、视频解码器B508b、ROM512、显示器件A520a、显示器件B520b。
图17是存储在ROM512中、由CPU514执行的程序的结构图的一例。
程序1700由多个子程序构成,具体而言,由OS1701、服务再现部1702、JavaVM1703、服务管理器1704、Java库1705构成。
OS1701是若接通终端装置500的电源、则CPU514启动的子程序。OS1701是操作系统的简称,Linux(注册商标)等是一例。OS1701是由并行执行其它子程序的核心程序(kernel)1701a和程序库1701b构成的公知技术的总称,省略详细说明。在本实施方式中,OS1701的核心程序1701a将JavaVM1703作为子程序执行。另外,程序库1701b向这些子程序提供控制终端装置500保持的构成单元用的多种功能。
作为功能的一例,介绍调谐功能。调谐功能从其它子程序处接收包含频率的调谐信息,将该信息传递给调谐器A501a或调谐器B501b。
这里,考虑传递给调谐器A501a的情况。调谐器A501a根据提供的调谐信息,执行解调处理,将解调后的数据经多路复用器516传递给POD504。结果,其它子程序可通过程序库1701b来控制调谐器A501a。
服务再现部1702使用服务识别符,指示服务的再现。服务再现部1702是一个Java程序,通过JavaVM1703来接收来自用户的输入。后面描述服务。将服务的识别符与服务的关系作为服务信息,存储在2次存储部510中。图18是存储在2次存储部510中的服务信息的一例。按表格形式来存储服务信息。列1801是服务的识别符。列1802是服务名称。列1803是调谐信息。这里,调谐信息是包含频率或传输速率、编码率等、提供给调谐器A501a的值。列1804是程序号。所谓程序号是用于识别按MPEG2标准规定的PMT的序号。后面描述PMT。行1811-1814的各行构成各服务的识别符、服务名称、调谐信息的组。行1811构成包含识别符为[1]、服务名称为[频道1]、调谐信息中频率为[312MHz]、程序号为[101]的组。服务再现部1702为了进行服务的再现,将服务的识别符原样传递到服务管理器1704。服务再现部1702与服务管理器1704的交换细节如后所述。
另外,图18中,1820表示最后选择的服务的识别符。若在再现中,用户按下面板1400的上游标1401与下游标1402,则从输入部513通过CPU514接收按下的通知,变更再现的服务。首先,服务再现部1702将当前再现中的服务的识别符存储在2次存储部510中。图19A、图19B和图19C是保存在2次存储部510中的服务的识别符的实例。图19A中,存储识别符[3],参照图18,表示服务名称为[TV 3]的服务处于再现中。在图19A的状态下,若用户按下上游标1401,则服务再现部1702为了参照图18的服务信息,并将再现切换到作为表中前一服务的服务名称[频道2]的服务,将服务名称[频道2]的识别符[2]传递到服务管理器。同时,改写成存储在2次存储部510中的服务识别符[2]。图19B表示改写服务识别符的状态。另外,在图19A的状态下,若用户按下下游标1402,则服务再现部1702参照图18的服务信息,为了将再现切换到作为表中下一服务的服务名称[TV Japan]的服务,将服务名称[TV Japan]的识别符[4]传递到服务管理器。同时,改写成存储在1次存储部511中的服务识别符[4]。图19C表示改写服务识别符的状态。
JavaVM1703是依次解析执行用Java(TM)语言记述的程序的Java虚拟设备。将用Java语言记述的程序编译成称为字节代码的、不依赖于硬件的中间代码。Java虚拟设备是执行该字节代码的翻译器。另外,部分Java虚拟设备也可将字节代码翻译成CPU514可理解的执行形式,传递给CPU514并执行。JavaVM1703对核心程序1701a指定执行的Java程序并启动。在本实施方式中,核心程序1201a指定服务管理器1704,作为执行的Java程序。Java语言的细节在书籍[Java Language Specification(ISBN 0-201-63451-1)]等众多书籍中被解说。这里,省略其细节。另外,JavaVM自身的详细动作等在[Java Virtual Machine specification(ISBN 0-201-63451-X)]等众多书籍中被解说。这里,省略其细节。
服务管理器1704是用Java语言写的Java程序,由JavaVM1703依次执行。服务管理器1704可通过JNI(Java Native Interface),调用未用Java语言记述的其它子程序,或被调用。就JNI而言,在书籍[Java NativeInterface]等众多书籍中被解说。这里,省略其细节。
服务管理器1704如图20所示构成。服务管理器1704由ServiceContext管理部2001、ServiceContext取得部2002、XAIT信息取得部2003和XAIT信息保存部2004构成。ServiceContext管理部2001成对保持ServiceContext的识别符与ServiceContext。如图21所示,2101的列表示ServiceContext的识别符,2102的列表示ServiceContext。行2103表示将ServiceContext的识别符[1]与In-band的服务用ServiceContextA相对应。行2104通过ServiceContext的识别符[2]来表示In-band的服务用ServiceContextB。行2105通过ServiceContext的识别符[3]来表示Abstract服务用ServiceContext。
这里所说的In-band的服务是进行包含映像、声音、Java程序等的显示、执行的单位,在DVB-MHP标准(正式应为ETSI TS 101 812 DVB-MHP标准V1.0.2)中是指9章中定义的服务。
ServiceContext由JavaTV(Java TV API Version1.0 specification)标准定义。所谓In-band的服务用ServiceContextA2106、In-band的服务用ServiceContextB2107是指特定使一个服务动作所需的资源组,并使用该资源组来执行一个In-band的服务。
图22表示In-band的服务用ServiceContextA2106、或In-band的服务用ServiceContextB2107。2201是服务执行部,2202是资源组保持部,2203是资源组取得部。若将服务识别符传递给服务执行部2201,则服务执行部2201使用由资源组保持部2202表示的资源组,执行In-band的服务。资源组保持部2202由图23表示。图23示出成对保持资源组识别符2301与资源组2302(包含表示一个或多个资源的资源组信息的信息)的实例。资源组取得部2203取得资源组保持部2202保持的资源组。在本实施方式中,资源组取得部2203仅被Java库1705利用。
图24中示出资源的一例。图24中所示的资源是调谐器A501a、调谐器B501b、TS解码器A505a、TS解码器B505b、音频解码器A506a、音频解码器B506b、视频解码器A508a、视频解码器B508b。2410、2411表示各资源组。因为调谐器A501a、调谐器B501b、TS解码器A505a、TS解码器B505b、音频解码器A506a、音频解码器B506b、视频解码器A508a、视频解码器B508b已在图5中进行说明,所以这里省略。
另外,在本实施方式中,作为资源,考虑调谐器A501a、调谐器B501b、TS解码器A505a、TS解码器B505b、音频解码器A506a、音频解码器B506b、视频解码器A508a、视频解码器B508b,但即便是其它结构或其它资源,也可实施本实施方式。
为了使一个In-band的服务动作,向服务管理器1704管理的ServiceContextA2002或ServiceContextB2003的服务执行部2201指定想动作的服务识别符。图25表示该一系列的流程图。例如,在服务再现部1702想执行In-band的服务的情况下,服务再现部1702首先对服务管理器1704的ServiceContext取得部2002执行ServiceContext的取得请求(步骤S2501)。ServiceContext取得部2002对应于取得请求,从ServiceContext管理部2001取得ServiceContextA2106或ServiceContextB2107,并通知给服务再现部1702(步骤S2502)。服务再现部1702将服务识别符传递给取得的ServiceContextA2106或ServiceContextB2107的服务执行部2201(步骤S2503)。传递了服务识别符的ServiceContextA2106或ServiceContextB2107的服务执行部2201使用所用的资源组A2410或资源组B2411,执行对应于In-band的服务A2601或服务B2602(步骤S2504)。
图26表示服务与ServiceContext和资源组的关系。ServiceContextA2106使用资源组A2410来执行In-band的服务A2601。ServiceContextB2107使用资源组B2411来执行服务B2602。其它结构单元已示于图24中,所以省略说明。
在本实施方式中,考虑首先由用户接通电源,之后,由面板1400的两画面按钮408来进行两画面显示的情况。
若由用户接通电源,则执行存储在2次存储部510中的最后选择的服务识别符表示的In-band的服务。
服务再现部1702将服务识别符传递到In-band的服务用ServiceContextA2106的服务执行部2201。
In-band的服务用ServiceContextA2106的服务执行部2201首先将服务识别符传递到位于Java库1705中的Tuner1705c,委托调谐。为了委托调谐,服务执行部2201执行图27的流程图中所示的动作。服务执行部2201对Tuner1705c请求取得调谐器A501a的Java分类的实例(步骤S2701)。Tuner1705c特定请求了调谐器A501a的Java分类实例的调用源(步骤S2702)。例如,Tuner1705c通过线程(thread)来判断请求实例的调用源。这里,线程可通过该线程所属的组来识别Java程序。从Java程序取得所属的服务(Service),由此询问服务管理器,可特定ServiceContextA2106。Tuner1705c从步骤S2702中特定的ServiceContextA2106的资源组取得部2203取得资源的组A2410(步骤S2703)。Tuner1705c返回表现使用步骤S2703中取得的资源组2410中包含的、调谐器A501a的调谐器的Java分类的实例(步骤S2704)。服务执行部2201指定步骤S2704中取得的实例,对Tuner1705c执行调谐请求(步骤S2705)。若Tuner1705c接收调谐请求,则参照2次存储部510存储的服务信息,获得调谐信息。若In-band的服务用ServiceContextA2001的服务执行部2201将服务识别符[2]传递到Tuner1705c,则Tuner1705c参照图18的行1812,获得对应的调谐信息[156MHz]。Tuner1705c通过OS1701的程序库1701b,向调谐器A501a传递调谐信息。调谐器A501a根据提供的调谐信息,解调从前端101发送的信号,通过多路复用器516传递给POD504。
接着,In-band的服务用ServiceContextA2001的服务执行部2201委托位于Java库1705中的CA1705d执行解扰。CA1705d通过OS1701的程序库1701b将译码所需的信息提供给POD504。POD504根据提供的信息,译码从调谐器A501a提供的信号,通过去多路复用器515传递给TS解码器505。
接着,In-band的服务用ServiceContextA2001的服务执行部2201向位于Java库1705中的JMF1705a提供服务识别符,委托映像、声音的再现。
图28表示流程图。
首先,服务执行部2201请求取得表示JMF1705a中再现映像、声音用的资源(TS解码器A505a、音频解码器506a、视频解码器508a)Java分类的实例(步骤S2801)。
JMF1705a例如通过线程来判断请求再现映像、声音用的资源的Java分类的实例的调用源(步骤S2802)。这里,线程可通过该线程所属的组来识别Java程序,由此特定服务,并通过询问服务管理器1704,特定ServiceContextA2106。
JMF1705a从步骤S2802中特定的ServiceContextA2106的资源组取得部2203取得资源组A2410(步骤S2803)。
JMF1705a返回表现再现步骤S2803中取得的资源组2410中包含的、映像、声音用的资源组的Java分类的实例(步骤S2804)。
服务执行部2201使用步骤S2804中取得的实例,对JMF1705a执行映像、声音的再现请求(步骤S2805)。JMF1705a在接收再现请求后,从PAT、PMT取得用于特定应再现的映像与声音的数据包ID。PAT或PMT是由MPEG2标准来规定的、表现MPE62传输流内的节目结构的表格,被嵌入包含于MPEG2传输流的数据包的有效载荷中,与声音或映像一起发送。细节请参照标准书。这里仅说明概要。
PAT是节目组合表(Program Association Table)的简称,存储在数据包ID
的数据包中发送。JMF1705a为了取得PAT,通过OS1701的程序库1701b,向TS解码器A505a指定数据包ID
与CPU514。TS解码器A505a利用数据包ID
来执行过滤,传递给CPU514,从而JMF1705a收集PAT的数据包。
图29是模式表示收集到的PAT信息一例的表。列2901是程序号。列2902是数据包ID。列2902的数据包ID被用于取得PMT。行2911-2913是与服务的程序号对应的数据包ID的组。这里,定义3个服务。行2911定义程序号[101]与数据包ID[501]的组。
当前,若将提供给JMF1705a的服务识别符设为[2],则JMF1705a参照图18的行1812,获得对应的程序号[102],接着,参照图19的PAT行2912,获得对应于程序号[102]的数据包ID[502]。PMT是节目映射表(Program MapTable)的简称,存储在由PAT规定的数据包ID的数据包中发送。JMF1705a为了取得PMT,通过OS1701的程序库1701b,向TS解码器A505a指定数据包ID与CPU514。这里,设指定的数据包ID为[502]。TS解码器A505a利用数据包ID[502]来进行过滤,通过传递给CPU514,JMF1705a收集PMT的数据包。
图30是模式表示收集到的PMT信息一例的表。列3001是流种类。列3002是数据包ID。在由列3002指定的数据包ID的数据包中,将由流种类指定的信息存储在有效载荷中发送。列3003是补充信息。行3011-3014是被称为基本流的、与数据包ID一起发送的信息种类的组。行3011是流种类[声音]与数据包ID 的组,表示在数据包ID 的有效载荷中存储声音。JMF1705a从PMT获得再现的映像与声音的数据包ID。参照图30,JMF1705a从行3011获得声音的数据包ID ,从行3012获得映像的数据包ID 。
接着,JMF1705a通过OS1701的程序库1701b,将获得的声音数据包ID与作为输出处的音频解码器A506a、映像的数据包ID与作为输出处的视频解码器508a的组提供给TS解码器A505a。TS解码器A505a根据提供的数据包ID与输出处,进行过滤。这里,将数据包ID 的数据包传递到音频解码器A506a,将数据包ID 的数据包传递到视频解码器A508a。音频解码器A506a执行提供的数据包的数模变换,通过扬声器507,再现声音。视频解码器A508a执行提供的数据包的数模变换,输出到显示器件A520a,合成后,在显示器509中显示映像。
最后,In-band的服务用ServiceContextA2106的服务执行部2201向位于Java库1705中的AM1705b提供服务识别符,委托数据广播再现。这里,所谓数据广播再现是指抽取包含于MPEG2传输流中的Java程序,由JavaVM1703执行。在MPEG2传输流中嵌入Java程序的方法使用MPEG标准书ISO/IEC13818-6中记述的所谓DSMCC的方式。这里,省略DSMCC的详细说明。DSMCC方式规定编码MPE62传输流的数据包中、由计算机使用的目录或文件构成的文件系统的方法。另外,按称为AlT的形式将执行的Java程序的信息嵌入MPEG2传输流的数据包中发送。AIT是DVB-MHP标准(正式应为ETSI TS101 812 DVB-MHP标准V1.0.2)的10章中定义的、Application InformationTable的简称。
AM1705b通过线程来判断调用源的Java程序,取得ServiceContextA2106,由此特定利用的TS解码器A505a。首先,为了获得AIT,与JMF1705a一样,取得PAT、PMT,获得存储AIT的数据包的数据包ID。若现在提供的服务识别符为[2]、发送图29的PAT、图30的PMT时,则按与JMF1705a一样的顺序,获得图30的PMT。AM1705b从PMT中、流种类为[数据]、具有[AIT]作为补充信息的基本流中抽取数据包ID。参照图30,对应行3013的基本流,获得数据包ID 。
AM1705b通过0S1701的程序库1701b,向TS解码器A505a提供AIT的数据包ID与作为输出处的1次存储部511。TS解码器A505a用提供的数据包ID来执行过滤,将AIT存储在1次存储部511中。结果,AM1705b可收集AIT的数据包。图31是模式表示收集到的AIT信息一例的表。列3101是Java程序的识别符。列3102是Java程序的控制信息。在控制信息中有[autostart][present][kill]等,[autostart]意味着终端装置500马上自动执行该程序,[present]意味着不自动执行,[kill]意味着停止程序。列3103是按DSMCC方式抽取包含Java程序的数据包ID的DSMCC识别符。列3104是Java程序的程序名称。行3111与3112是Java程序的信息组。由行3111定义的Java程序是识别符[301]、控制信息[autostart]、DSMCC识别符[1]、程序名称[a/TopXlet]的组。由行3112定义的Java程序是识别符[302]、控制信息[present]、DSMCC识别符[1]、程序名称[b/GameXlet]的组。这里,两个Java程序具有相同的DSMCC识别符,这表示在按1个DSMCC方式编码的文件系统内包含两个Java程序。这里,对Java程序仅规定4个信息,但实际上定义更多的信息。细节请参照DVB-MHP标准。
AM1705b从AIT中找出[autostart]的Java程序,抽取对应的DSMCC识别符和Java程序名称。参照图31,AM1705b抽取行3111的Java程序,获得DSMCC识别符[1]和Java程序名称[a/TopXlet]。
接着,AM1705b使用从AIT取得的DSMCC识别符,从PMT获得按DSMCC方式存储Java程序的数据包的数据包ID。具体而言,取得PMT中流种类为[数据]、补充信息的DSMCC识别符吻合的基本流的数据包ID。
若现在DSMCC识别符为[1]、PMT为图30所示时,则行3014的基本流吻合,取得数据包ID 。
AM1705b指定通过OS1701的程序库1701b而按DSMCC方式将数据嵌入TS解码器A505a中的数据包的数据包ID与作为输出处的1次存储部511。这里,提供数据包ID 。TS解码器A505a按提供的数据包ID执行过滤,将DSMCC形式的数据存储在1次存储部511中。结果,AM1705b可收集必需的数据包。AM1705b根据收集到的数据包,按照DSMCC方式,恢复文件系统,保存到1次存储部511中。下面,将从MPEG2传输流中的数据包中取出文件系统等数据并保存到1次存储部511等存储单元中称为下载。
图32是下载后的文件系统的一例。图中,圆表示目录,四边形表示文件,3201是根目录,3202是目录[a],3203是目录[b],3204是文件[TopXlet.class],3205是文件[Game Xlet.class]。
接着,AM1705b从下载到1次存储部511的文件系统中将执行的Java程序传递到JavaVM1703。若现在设执行的Java程序名称为[a/TopXlet],则在Java程序名称的最后附加了[.class]的文件[a/TopXlet.class]构成应执行的文件。[/]是目录和文件名的分隔符,参照图32,文件3204是应执行的Java程序。下面,AM1705b将文件3204传递给JavaVM1703。
JavaVM1703执行传递的Java程序。图33表示执行由服务识别符[2]表示的In-band的服务的实例。509表示显示器,603、606如图6中的那样。3301表示由服务识别符[2]表示的In-band服务,3302表示由执行的Java程序显示的图符。例如,通过用户按下面板的[OK]按钮1405,可如图34所示在整个画面中显示综合信息程序3401。
接着,若用户按下面板1400的[两画面]按钮1408,则显示两个服务。例如,服务再现部1702向服务识别符[1]传递给In-band的服务用ServiceContextB2107的服务执行部2201。
此时,使用图5的调谐器B501b、TS解码器B505b、音频解码器B506b、视频解码器B508b来同样执行服务B2602。图35表示显示两个服务的实例。图35中,3501表示由服务识别符[1]表示的In-band的服务。其它结构单元如图33所示,所以省略说明。3502表示游标,在输入部为面板1400的情况下,通过按下[画面选择]按钮1409,游标3502如图36所示移动。另外,若经过规定时间,则游标3502自动消失。
图36中,游标3502执行由服务识别符[2]表示的In-band服务。此时,若用户例如按下下游标按钮1402,则正执行由服务识别符[2]表示的In-band服务的ServiceContextA2002的服务执行部2201接收其它服务识别符,例如服务识别符[3],通过包含于Java库1705中的各程序库,停止执行通过包含于同一Java库1705中的各程序库、由ServiceContextA2002执行的In-band服务A2601中包含的再现映像、声音和Java程序,并根据重新接收的服务识别符[3],执行包含于新的In-band服务中的映像、声音和Java程序。此时,不停止在ServiceContextB2403上执行的In-band服务B2602,原样执行。图37是同时显示服务识别符[3]与服务识别符[1]的一例。3701是由服务识别符[3]表示的In-band服务。Java库1705是存储在ROM512中的多个Java库的集合。在本实施方式中,这里,Java库1705包含JMF1705a、AM1705b、Tuner1705c、CA1705d、POD Lib1705e。
另外,在本实施方式中,通过2次存储部510保存ROM512保存的内容,也可删除ROM512来实施。另外,2次存储部510由多个子2次存储部构成,各个子2次存储部保存不同的信息也可实施。例如,1个子2次存储部仅保存调谐信息,另一子2次存储部保存OS1201的程序库1201b,其它的子2次存储部保存下载的Java程序等详细分割是可能的。
所谓Abstract服务由一个或多个Java程序构成。抽象(Abstract)服务不依赖于调谐,例如EPG等可实现。EPG是Electric Program Guide的简称。后面描述EPG。
Abstract服务用ServiceContext执行Abstract服务。
图39表示Abstract服务用ServiceContext。Abstract服务用ServiceContext2108由服务执行部3901与ServiceContext设定部3902、以及ServiceContext保持部3903构成。ServiceContext设定部3902关联Abstract服务用ServiceContext与In-band的Abstract服务用ServiceContext,使之保持在ServiceContext保持部3903中,从而在服务执行部3901执行服务时,特定利用的资源组。
服务管理器1704的XAIT信息取得部2003通过Java库1705中包含的POD Lib1705e,与前端101进行双向通信。该双向通信通过POD Lib1705e经OS1701的程序库1701b和POD504,使用QPSK解调部502、QPSK调制部503来实现。
服务管理器1704的XAIT信息取得部2003使用该通信,从前端101接收终端装置500应保存在2次存储部510中的Java程序的信息。将该信息称为XAIT信息。XAIT信息以任意形式在前端101与POD504之间发送。无论采用哪种发送形式,只要XAIT中包含必需的信息,则本发明可实施。
图41是模式表示从前端101取得的XAIT的信息一例的表。列4101是Abstract服务的识别符。该Abstract服务的识别符还分别对应于一个Abstract服务。列4102是Abstract服务的控制信息。在控制信息中有[true][false]等,[true]意味着终端装置500在电源接通时自动执行该程序,[false]意味着不自动执行。列4103是用于按DSMCC方式抽取包含Java程序的数据包ID的DSMCC识别符。列4104是Java程序的程序名称。列4105是Java程序的优先级。列4106是Java程序的控制信息,当执行服务时,若为[autostart]则执行。列4107是Java程序的识别符。行4111、4112和4113是Java程序的信息组。由行4111定义的Java程序是识别符[701]、服务控制信息[true]、Java程序识别符 、DSMCC识别符[1]、程序名称[a/EPGXlet]、Java程序的优先级 、Java程序的控制信息[autostart]的组。这里,仅对Java程序规定7个信息,但即使定义更多或更少的信息,本发明也可实施。
服务管理器1704若通过XAIT信息取得部2003接收XAIT信息,则按与从AIT信息下载Java程序的顺序相同的顺序,通过XAIT信息保存部2004将文件系统从MPEG2传输流保存到1次存储部511中。之后,将保存的文件系统复制到2次存储部510中。另外,也可不经1次存储部511而直接下载到2次存储部510来实施。
另外,在本实施方式中,复制到2次存储部510中,但也可保存在1次存储部511中。其中,在保存在1次存储部511中的情况下,电源OFF时,保存的信息全部消失。
之后,服务管理器1704的XAIT信息保存部2004将下载的文件系统的存储位置与XAIT信息相对应,保存在2次存储部510中。图42表示2次存储部510对应保存XAIT信息与下载的文件系统的一例。图42中,与图41相同序号的要素与图41相同,所以省略说明。列4411存储对应的下载的文件系统的保存位置。图中,保存位置用箭头表示。4210是下载的文件系统,在内部保持顶部目录4211、目录[a]4212、目录[b]4213、文件[EPGXlet.class]4214、文件[TOPXlet.class]4215、文件[PPVXlet.class]4216。
这里,从保存Java程序开始,保存XAIT信息,但也可在保存Java程序之前保存XAIT信息。终端装置500自动使作为控制信息[true]的Abstract服务识别符所示的Abstract服务动作。
向JavaVM1703指定服务管理器1704,JavaVM1703在启动服务管理器1704之后,服务再现部1702参照来自XAIT信息保持部2004的各Abstract服务的控制信息,从XAIT信息取得部2003取得作为[true]的Abstract服务,另外,从ServiceContext取得部2002取得Abstract服务用ServiceContext2108,由Abstract服务用ServiceContext2108的服务执行部2201来执行。
在本实施方式中,作为包含于Abstract服务中的Java程序,考虑EPG执行的情况。
图81表示EPG的结构例。EPG8101由向用户显示节目一览和接收来自用户的输入的节目显示部8102、和进行服务选台的节目再现部8103构成。当用户接通电源时,显示器509显示最后执行的服务,表示EPG8101的Java程序在执行中,但画面中未显示。在输入部513由图14所示的面板构成的情况下,用户通过按下输入部513的EPG按钮1407,开始显示于显示器509中。
在本实施方式中,考虑当显示器509如图37所示显示时,用户按下输入部513的EPG按钮1407的情况。用户若按下输入部513的EPG按钮1407,则EPG8101的节目显示部8102接收该识别符,在显示器509中显示节目信息。图38表示按下EPG按钮1407时的显示器509。3801表示EPG。图40A和图40B是显示于显示器509中的EPG3801的一例。参照图40A,在显示器509中,以格子状显示节目信息。在列4001中显示时刻信息。在列4002中,显示服务名称[频道1]、和在对应于列4001的时刻的时间带放映的节目。表示在[频道1],在9:00-10:30放映节目[新闻9],在10:30-12:00放映[电影AAA]。列4003也与列4002一样,显示服务名称[频道2]、和在对应于列4001的时刻的时间带放映的节目。在9:00-11:00放映节目[电影BBB],在11:00-12:00放映[新闻11]。4030是游标。若按下面板1400的左游标1403与右游标1404,则游标4030移动。在图40A的状态下,若按下右游标1404,则游标4030向右移动,如图40B所示。另外,在图40B的状态下,若按下左游标1403,则游标4030向左移动,如图40A所示。
在图40A的状态下,若按下面板1400的OK按钮1405,则节目显示部8102将[频道1]的识别符通知给再现部8103。在图40B的状态下,若按下面板1400的OK按钮1405,则节目显示部1702a将[频道2]的识别符通知给再现部1402b。
另外,节目显示部8102定期通过POD504从前端101向1次存储部511中存储显示的节目信息。一般,从前端取得节目信息花费时间。当按下输入部513的EPG按钮1407时,通过显示事先保存在1次存储部511中的节目信息,可尽快显示节目表。
图40A和图40B中,4010、4011再现作为游标的服务的映像、声音。包含于Abstract服务中的Java程序当再现映像、声音时,使用程序JMF1705a指定想再现的映像、声音的识别符,并使用音频解码器A506a或音频解码器B506b、视频解码器A508a或视频解码器B508b来再现。
在本实施方式中,Abstract服务用ServiceContext上动作的Abstract服务中包含的Java程序为了指定使用哪个资源组来再现映像、声音,将Abstract服务用ServiceContext与In-Band的服务用ServiceContextA2106或B2107相关联。
图39中示出Abstract服务用ServiceContext。ServiceContext设定部3902将Abstract服务用ServiceContext与In-Band的服务用ServiceContextA相关联。Java程序通过向ServiceContext设定部3902指定In-Band的ServiceContextA2106,可将使用的资源组特定成资源组A2410。
图43是将Abstract服务用ServiceContext与In-Band的服务用ServiceContextA相关联的图。2108表示Abstract服务用ServiceContext,Abstract服务E4301在其上动作。其它单元与图26一样,所以省略说明。图43中,通过将Abstract服务用ServiceContext2108与ServiceContextA2106相关联,可指定ServiceContextA2106特定的资源组。
图44是将Abstract服务用ServiceContext与In-Band的服务用ServiceContext相关联的方法的一例。
图44中,将Abstract服务用ServiceContext定义为AbstractServiceContext分类4402。AbstractServiceContext分类4402继承In-Band的服务用ServiceContext的ServiceContext分类4401。图39中示出的服务执行部2201与ServiceContext分类4401一样。ServiceContext设定部3902定义方法。在图44中,作为实例,定义setServiceContext(ServiceContext)方法4410。通过向该方法的自变量指定想关联的In-Band的服务用ServiceContext,可特定In-Band的服务用ServiceContext保持的资源组。
在本实施方式中,通过向setServiceContext(ServiceContext)的自变量指定两个In-Band的服务用ServiceContext中哪个In-Band的服务用ServiceContext,Abstract服务用ServiceContext可特定资源组,例如可指定在图37表示的两个In-Band的服务3701、3501中的哪个显示Abstract服务。
图45是包含于Abstract服务中的Java程序再现映像、声音时的流程图。
在本实施方式中,如图38所示,示出表示EPG的Java程序使用In-Band的服务用ServiceContextA的资源的实例。Java程序从服务管理器1704的ServiceContext取得部取得In-Band的服务用ServiceContext(步骤S4501)。接着,Java程序使用setServiceContext(ServiceContext)4410关联Abstract服务用ServiceContext2108与In-Band的服务用ServiceContextA2106。将自变量的ServiceContext保持在Abstract服务用ServiceContext2108的ServiceContext保持部3903中(步骤S4502)。Java程序使JMF1705a取得表示资源组的Java分类的实例(资源组信息),用该实例来请求映像、声音的再现(步骤S4503)。JMF1705a再现由指定的实例使用的资源组2410指定的映像、声音(步骤S4504)。这里,步骤S4503的细节如图28所示。
另外,在包含于Abstract服务用ServiceContext中的Java程序想同时再现两个映像、声音的情况下,也可通过图46的顺序来同时再现映像、声音。
首先,Java程序从服务管理器1704的ServiceContext取得部取得In-Band的服务用ServiceContext(步骤S4601)。接着,Java程序使用setServiceContext(ServiceContext)4410关联Abstract服务用ServiceContext2108与In-Band的服务用ServiceContextA2106(步骤S4602)。Java程序使JMF1705a取得表示资源组的Java分类的实例,用该实例来指定映像、声音,从而请求该映像、声音的再现(步骤S4603)。JMF1705a再现由该实例特定的资源组A2410指定的映像、声音(步骤S4604)。之后,使用AbstractServiceContext的方法setServiceContext(serviceContext)4410将Abstract服务用ServiceContext与In-Band的服务用ServiceContextB2107相关联(步骤S4605)。Java程序使JMF1705a取得表示资源组的Java分类的实例,使用该实例来指定映像、声音,从而请求再现该映像、声音(步骤S4606)。JMF1705a使用该实例特定的资源组A2410来再现指定的映像、声音(步骤S4607)。这样,本实施方式也可操作多个资源组。另外,在本实施方式中,明示与In-Band的服务用ServiceContext相关联,但也可通过默认来与某个In-Band的服务用ServiceContext相关联。
另外,在本实施例中,示出与In-Band的服务用ServiceContext相关联的Abstract服务用ServiceContext的实例,但也可以是其它不能与ServiceContext相关联的Abstract服务用ServiceContext。
另外,在本实施方式中,POD504为可拆装的方式,但即使内置也可实施。另外,在内置的情况下,也可取下POD504的CPU706,CPU514也可执行CPU706的动作,这也是可实施的。
登录在POD Lib1705e中的Java程序不仅是下载的Java程序,也可是事先内置的Java程序。另外,若拆装SD存储卡等可拆装的存储媒体,则也可装配槽部,从其中取得Java程序。另外,也可装配连接于网络上的网络部,从因特网中取出Java程序。
(实施方式2)本实施方式定义与实施方式1中定义的、图39的Abstract服务用ServiceContext不同结构的Abstract服务用ServiceContext。此外的部分与实施方式1相同,所以在本实施方式中,就Abstract服务用ServiceContext的结构、尤其是Abstract服务用ServiceContext与In-Band的服务用ServiceContext的关联进行说明。
图47中示出本实施方式中的Abstract服务用ServiceContext。结构单元由服务执行部4701与ServiceContext保持部3903构成。服务执行部4701在Abstract服务用ServiceContext2108的服务执行部4701接收服务识别符的同时,接收In-Band的服务用ServiceContext,由此关联Abstract服务用ServiceContext与In-Band的服务用ServiceContext。将接收到的In-Band的服务用ServiceContext保持在ServiceContext保持部3903中。图49是关联Abstract服务用ServiceContext与In-Band的服务用ServiceContext的方法一例。图49中,ServiceContext4401在图44中定义。AbstractServiceContext分类4902继承ServiceContext分类4401。服务执行部4701重新具有执行服务的方法select(Service、ServiceContext)4911。通过该方法,在执行指定给自变量的Abstract服务的同时,将指定给自变量的In-Band的服务用ServiceContext保存在ServiceContext保持部3903中,进行关联。由此,在执行在Abstract服务用ServiceContext上指定的Abstract服务时,使用In-Band的服务用ServiceContext特定的资源组。另外,当Abstract服务中包含的Java程序必需某个资源时(例如再现映像、声音),使用指定给select方法的自变量的ServiceContext特定的资源。
图50示出本实施方式的流程图。服务再现部1702从服务管理器1704的ServiceContext取得部2002取得In-Band的服务用ServiceContext(步骤S5001)。服务再现部1702在执行Abstract服务时,通过向AbstractServiceContext的select(Service、ServiceContext)4911指定In-Band的服务用ServiceContext,服务再现部4702将指定给自变量的In-Band的服务用ServiceContext存储在ServiceContext保持部3903中(步骤S5002)。Java程序使JMF1705a取得表示资源组的Java分类的实例,使用该实例来指定映像、声音,由此请求再现该映像、声音(步骤S5003)。JMF1705a使用步骤S5003中取得的实例特定的资源组A2410或资源组B2411,再现指定的映像、声音(步骤S5004)。这里,步骤S5003的细节如图28所示。
(实施方式3)本实施方式定义与实施方式1的不同之处在于Abstract服务用ServiceContext2108与In-Band的服务用ServiceContext的关联方式。此外的部分与实施方式1相同,所以在本实施方式中,就Abstract服务用ServiceContext与In-Band的服务用ServiceContext的关联方式进行说明。
图51中示出本实施方式中的服务管理器1704的结构。在本实施方式中,通过服务管理器1704的ServiceContext映射部5101来实现Abstract服务用ServiceContext与In-Band的服务用ServiceContext的关联。ServiceContext映射部5101保持Abstract服务用ServiceContext与In-Band的服务用ServiceContext的关联。图52示出ServiceContext映射部5101的结构。ServiceContext映射部5101由ServiceContext映射保持部5201、In-Band的服务用ServiceContext取得部5202、ServiceContext的匹配实现部5203构成。图53表示ServiceContext映射保持部5201的一例。图53中,列5303表示Abstract服务用ServiceContext,列5304表示In-Band的服务用ServiceContext。用行5301、5302来分别关联位于同一行中的In-Band的服务用与Abstract服务用ServiceContext。若为同一行,则使用相同的资源组。
另外,图53中,多对一个In-Band的服务用ServiceContext关联一个Abstract服务用ServiceContext,但是,即使多个Abstract服务用ServiceContext关联相同的In-Band的服务用ServiceContext,也可适用本实施方式。
In-Band的服务用ServiceContext取得部5202从ServiceContext的匹配实现部5203取得关联Abstract服务用ServiceContext的In-Band的服务用ServiceContext,并返回。ServiceContext的匹配实现部5203关联Abstract服务用ServiceContext与In-Band的服务用ServiceContext。图48表示本实施方式中的Abstract服务用ServiceContext。Abstract服务用ServiceContext由服务执行部4801构成。若服务执行部4801传递服务识别符,则取得ServiceContext映射部5101的In-Band的服务用ServiceContext,特定资源组,执行服务。
图54是关联Abstract服务用ServiceContext与In-Band的服务用ServiceContext的方法一例。图54中,将ServiceContext映射部表示为ServiceContextMap分类5401。为了实现ServiceContext匹配实现部5203,定义viod setserviceContext(AbstractServiceContext、ServiceContext)5413。getserviceContext(AbstractServiceContext)5412从表现ServiceContext映射保持部5201的ServiceContextMap5411取得当前关联自变更的AbstractServiceContext分类的ServiceContext。setserviceContext(AbstractServiceContext、ServiceContext)5413关联自变量的两个serviceContext,保持在ServiceContextMap中。另外,作为实现In-Band的服务用ServiceContext取得部5202的方法,定义从ServiceContextMap5411中取得In-Band的服务用ServiceContext的ServiceContext getServiceContext(AbstractServiceContext)5412。
图55表示本实施方式的流程图。
包含于Abstract服务中的Java程序从服务管理器1704的ServiceContext取得部2002取得In-Band的服务用ServiceContext(步骤S5501)。接着,Java程序使用setserviceContext(AbstractServiceContext、ServiceContext)5413关联Abstract服务用ServiceContext2108与In-Band的服务用ServiceContextA0106(步骤S5502)。Java程序使JMF1705a取得表示资源组的Java分类的实例,使用该实例来指定映像、声音,从而请求再现该映像、声音(步骤S5503)。JMF1705a使用步骤S5003中取得的实例特定的资源组A2410、或资源组B2411来再现指定的映像、声音(步骤S5504)。
(实施方式4)在实施方式1-实施方式3中,通过关联Abstract服务用ServiceContext与In-Band的服务用ServiceContext,特定资源组。在本实施方式中,与实施方式1-实施方式3不同,通过直接特定资源组来实现Abstract服务用ServiceContext。此外的部分与实施方式1相同,所以在本实施方式中,就资源组与Abstract服务用ServiceContext的映射方法进行说明。图22中示出本实施方式中的In-Band的服务用ServiceContext的结构。另外,图56中示出Abstract服务用ServiceContext。Abstract服务用ServiceContext由服务执行部5611、资源组指定部5601、资源组保持部5602构成。图56中,若传递服务识别符,则服务执行部5611从In-Band的服务用ServiceContext的资源组取得部2203取得资源组,特定资源组并执行服务。资源组指定部5601通过指定由资源组取得部2203取得的资源组,与该资源组关联。将由资源组指定部5601指定的资源组保持在资源组保持部5602中。图58是关联Abstract服务用ServiceContext与资源组的方法的一例。图58中,In-Band的服务用ServiceContext重新定义获得资源集getResourceSet()4411,作为资源组(集)取得部2203。通过该方法可取得关联的资源组。AbstractServiceContext分类4402继承In-Band的服务用ServiceContext分类,资源组指定部5601重新定义方法。图58中,作为实例,定义所谓setResourceSet(ResourceSet)4412的方法。这里,自变量ResourceSet5801是表示资源组的分类。通过向该方法的自变量指定想关联的资源组,可特定资源组。
图60表示本实施方式的流程图。
包含于Abstract服务中的Java程序从服务管理器1704的ServiceContext取得部取得In-Band的服务用ServiceContext(步骤S6001)。接着,Java程序通过getResourceSet()从取得的In-Band的服务用ServiceContext取得ResourceSet(步骤S6002)。用setResourceSet(ResourceSet)关联Abstract服务用ServiceContext2108与ResourceSet 5801(步骤S6003)。Java程序使JMF1705a取得表示资源组的Java分类实例,用该实例来指定映像、声音,从而请求再现该映像、声音(步骤S6004)。JMF1705a使用步骤S6003中取得的实例特定的资源组A2410、或资源组B2411来再现指定的映像、声音(步骤S6005)。
这里,图59中示出步骤S6004的详细流程图。首先,服务执行部5611请求取得表示JMF1705a中再现映像、声音用的资源(TS解码器A505a、音频解码器506a、视频解码器508a)的Java分类的实例(步骤S5901)。JMF1705a例如通过线程来判断请求再现映像、声音用的资源的Java分类的实例的调用源(步骤S5902)。这里,线程可通过该线程所属的组来识别Java程序,从中特定服务,并询问服务管理器1704,从而取得ServiceContextA2106,并可取得ResourceSet和资源组(步骤S5903)。JMF1705a返回表现用于再现步骤S5903中取得的资源组2410中包含的映像、声音的资源组的Java分类实例(步骤S5904)。服务执行部2201使用步骤S5904中取得的实例,对JMF1705a执行映像、声音的再现请求(步骤S5905)。即,JMF1705a用作资源管理单元,取得关联于ServiceContextA2106的资源组(包含资源组信息的信息),将取得的所述资源组信息提供给服务。
(实施方式5)在本实施方式中,与实施方式1-实施方式3不同,通过直接对Abstract服务用ServiceContext特定资源组来特定使用的资源。此外的部分与实施方式1相同,所以在本实施方式中,就资源组与Abstract服务用ServiceContext的映射方法进行说明。
本实施方式中的In-Band的服务用ServiceContext的结构如图22所示,所以省略说明。
图57是Abstract服务用ServiceContext(服务执行环境)的结构图。Abstract服务用ServiceContext由服务执行部5701(服务执行单元)和资源组保持部5702构成。在图57的Abstract服务用ServiceContext的服务执行部5701接收服务的识别符的同时,通过接收资源组,关联Abstract服务用ServiceContext与资源组(包含表示一个或多个资源的资源组信息的信息)。另外,由资源组保持部5702保持接收到的资源组。即,具有这种资源组保持部5702的Abstract服务用ServiceContext2108由于保持在ServiceContext管理部2001中,所以该ServiceContext管理部2001用作保持彼此关联的Abstract服务用ServiceContext与资源组的保持单元。
图61是关联Abstract服务用ServiceContext与资源组的方法一例。图61中,ServiceContext分类6101表示In-Band的服务用ServiceContext,AbstractServiceContext分类6102表示Abstract服务用ServiceContext,ResourceSet分类5801表示资源组。ServiceContext分类6101重新定义getResourceSet()6111,作为资源组取得部2203。通过该方法,可取得正使用的资源组。AbstractServiceContext分类6102继承In-Band的服务用ServiceContext分类6101。服务执行部5701重新追加select(Service、ResourceSet)方法6112。这里,Service是表示Abstract服务的分类,ResourceSet是表示资源组的分类。通过该方法,在执行指定给自变量的Abstract服务的同时,与指定给自变量的ResourceSet相关联。从而,在Abstract服务用ServiceContext上执行Abstract服务时,使用指定的资源组。另外,当包含于Abstract服务中的Java程序必需某个资源时(例如再现映像、声音),使用指定给select方法的自变量的资源组。即,该select(Service、ResourceSet)方法6112用作关联服务执行环境与资源组的关联单元。
这样,在本发明中,因为关联作为服务执行环境的ServiceContext与资源组,所以在执行服务时,可控制一个或多个资源作为资源的[组]。
图62中示出本实施方式的流程图。服务再现部1702从服务管理器1704的ServiceContext取得部取得In-Band的服务用ServiceContext(步骤S6201)。接着,服务再现部1702通过getResourceSet()从取得的In-Band的服务用ServiceContext取得ResourceSet(步骤S6202)。当服务再现部1702执行Abstract服务时,对AbstractServiceContext的select(Service、ResourceSet)方法指定ResourceSet,特定使用的ResourceSet(步骤S6203)。即,关联AbstractServiceContext与ResourceSet。Java程序使JMF1705a取得表示资源组的Java分类实例,用该实例来指定映像、声音,从而请求再现该映像、声音(步骤S6204)。JMF1705a使用步骤S6203中关联的ResourceSet特定的资源组A2410、或资源组B2411来再现指定的映像、声音(步骤S6205)。这里,步骤S6204的详细流程图示于图59中。
(实施方式6)本实施方式与实施方式1-实施方式3不同,通过直接对Abstract服务用ServiceContext特定资源组来特定使用的资源。此外的部分与实施方式1相同,所以在本实施方式中,就资源组与Abstract服务用ServiceContext的映射方法进行说明。
本实施方式在服务管理器1704中执行Abstract服务用ServiceContext与资源组的映射。图63中示出本实施方式中的服务管理器1704的结构。图63中,6301是ServiceContext-资源组映射部。图64中示出ServiceContext-资源组映射部的结构。ServiceContext-资源组映射部6301由资源组保持部6401、资源组取得部6402、资源组映射实现部6403构成。图65中示出资源组保持部6401。图65中,列6504表示Abstract服务用或In-Band的服务用ServiceContext。列6505表示资源组。行6501-6503分别表示关联的ServiceContext与资源组。
资源组取得部6402取得关联Abstract服务用ServiceContext或In-Band的服务用ServiceContext的资源组。资源组映射实现部6403关联Abstract服务用ServiceContext与资源组。
图66是关联Abstract服务用ServiceContext与资源组的方法的一例。图66中,将资源组保持部6401表示为resourceSetMap分类(CLASS)6211。作为实现资源组取得部6402的方法,定义getResourceSet(ServiceContext)6212。另外,为了实现资源组映射实现部6403,定义void setResourceSet(AbstractServiceContext、ResourceSet)方法6213。getResourceSet(ServiceContext)6212从表现资源组保持部6401的ResourceMap取得与自变量的ServiceContext关联的ResourceSet。voidsetResourceSet(AbstractServiceContext、ResourceSet)方法6213关联自变量的AbstractServiceContext与ResourceSet,保存在ResourceSetMap中。这里,ResourceSet5801是表示资源组的分类。
图67中示出本实施方式的流程图。
包含于Abstract服务中的Java程序从服务管理器1704的ServiceContext取得部取得In-Band的服务用ServiceContext(步骤S6701)。接着,Java程序通过getResourceSet(ServiceContext)6212,使用取得的In-Band的服务用ServiceContext取得ResourceSet(步骤S6702)。Java程序通过ResourceSetMap6201的setResourceSet(AbstractServiceContext、ResourceSet)方法6213指定ResourceSet,特定使用的ResourceSet(步骤S6703)。即,Java程序关联AbstractServiceContext与ResourceSet。Java程序使JMF1705a取得表示资源组的Java分类实例,用该实例来指定映像、声音,从而请求再现该映像、声音(步骤S6704)。JMF1705a使用步骤S6703中关联的ResourceSet特定的资源组A2410、或资源组B2411来再现指定的映像、声音(步骤S6705)。这里,步骤S6704的详细流程图示于图59中。
(实施方式7)本实施方式与实施方式1-实施方式6不同,通过直接对Abstract服务用ServiceContext指定资源,特定包含该资源的资源组。此外的部分与实施方式1相同,所以在本实施方式中,就资源组与Abstract服务用ServiceContext的映射方法进行说明。
在本实施方式中,服务管理器1704执行ServiceContext与资源组的映射、资源组与各个资源的映射,对Abstract服务用ServiceContext指定各个资源,由此自动对该Abstract服务用ServiceContext指定资源组。图68中示出本实施方式中的服务管理器1704的结构。图68中,6801是ServiceContext-资源映射部。图69中示出ServiceContext-资源映射部的结构。ServiceContext-资源映射部6801由资源保持部6901、资源组保持部6401、资源取得部6902、资源组取得部6402、资源映射实现部6903构成。资源组取得部6402、资源组保持部6401示于图64中,所以这里省略说明。图70中示出资源保持部6901的一例。行7001表示资源组,行7002表示调谐器,行7003表示TS解码器,行7004表示音频解码器,行7005表示视频解码器。另外,列7006表示资源组A2410与资源组A2410中包含的资源,列7007表示资源组B2411与资源组B2411中包含的资源。
另外,资源保持部6901作为资源,保持上述调谐器、TS解码器、音频解码器、视频解码器,但即使是其它结构也可实施本实施方式。
资源取得部6902取得关联Abstract服务用ServiceContext或In-Band的服务用ServiceContext的资源。资源映射实现部6903关联Abstract服务用ServiceContext与资源。
图71是关联Abstract服务用ServiceContext与资源组的方法的一例。
图71中,将资源组保持部6401表示为resourceSetMap6211。将资源保持部6901表示为resourceMap7111。作为实现资源组取得部6402的方法,定义getResourceSet(ServiceContext)6212。作为资源取得部6902,定义getResource(ServiceContext、String)方法7112。另外,为了实现资源映射实现部6903,定义void setResource(AbstractServiceContext、Object)方法7113。getResource(ServiceContext、String)7112使用resourceSetMap6211、resourceMap7111,取得自变量的ServiceContext当前正利用的resourceSet中包含的String表示的资源。利用资源的名称、例如“Tuner”等字符串对String进行指定,结果,作为返回值,例如返回表示TunerA501a的Object。setResource(AbstractServiceContext、Object)7113关联自变量的AbstractServiceContext与包含由自变量指定的Object表示的资源的resourceSet,保存在resourceSetMap6211中。这里,ResourceSet5801是表示资源组的分类。
图72中示出本实施方式的流程图。
包含于Abstract服务中的Java程序从服务管理器1704的ServiceContext取得部取得In-Band的服务用ServiceContext(步骤S7201)。接着,Java程序通过getResource(ServiceContext、String),使用取得的In-Band的服务用ServiceContext与想取得的资源的名称,取得表示资源的Object(例如表示调谐器的Object)(步骤S7202)。Java程序通过ResourceMap的setResourceSet(AbstractServiceContext、Object)方法,对AbstractServiceContext指定资源的Object,并特定使用的ResourceSet(步骤S7203)。即,Java程序关联AbstractServiceContext与包含步骤S7202中取得的资源的ResourceSet。Java程序使JMF1705a取得表示资源组的Java分类实例,用该实例来指定映像、声音,从而请求再现该映像、声音(步骤S7204)。JMF1705a使用步骤S7203中关联的ResourceSet特定的资源组A2410、或资源组B2411来再现指定的映像、声音(步骤S7205)。这里,步骤S7204的详细流示于图59中。
(实施方式8)在本实施方式中,实施方式1至实施方式7是通过关联Abstract服务用ServiceContext与In-Band的服务用ServiceContext、或资源组,从In-Band的服务用ServiceContext中指定特定资源组或资源的目标。但是,在Abstract服务用ServiceContext例如想使用两个视频解码器的情况下,每次操作视频解码器,都存在关联In-Band的服务用ServiceContext或资源组的复杂。图75是使用两个视频解码器的一例。7501是CM的映像。因为其它结构单元示于图38中,所以省略说明。
在本实施方式中,使用Java库1705,取得实际与资源关联的Java目标,由此特定资源。其它与实施方式1一样,所以在本实施方式中,主要描述资源的特定方法。
考虑实施方式1中参照的图17的Java库1705如图73所示构成的情况。图73中,SFL7301表示区间过滤器。SFL7301使用图11A和图11B中所示的区间过滤器A1102a、区间过滤器B1102b,执行区间的过滤,存储在1次存储部511中。Device7302控制图5中所示的显示器件A520a、显示器件B520b。音响7303使用音频解码器A506a、或音频解码器B506b,再现声音。其它结构单元在图17中说明,所以省略。
这些程序库定义表示物理资源的、或特定并可执行资源的Java分类。记述各分类与实际的资源的关系的图74记述表示物理资源的、或特定并可执行资源的Java分类与实际的资源的关系。图74中,7420中表示Java分类的实例,7421中表示实际的资源。NetworkInterface分类7401由DAVIC标准(DAVICI.4.1 Specification Part9、Complete DAVIC Specifications,下面称为DAVIC标准)定义,管理NetworkInterface分类的实例的分类NetworkInterfaceManager可通过方法public NetworkInterface[]getNetworkInterfaces()、或public NetworkInterfacegetNetworkInterface(TransportStream)取得。对Tuner1705a定义NetworkInterface分类,在内部特定调谐器A501a。SectionFilterGroup7402由DAVIC标准定义,可由SectionFilterGroup的制造者取得。对SFL7301定义SectionFilterGroup,利用区间过滤器7411。Player7403通过界面,其安装分类再现映像。Player在Java MediaFramework标准(Java MediaFramework API Version 1.0 Constants)中定义。Player的安装分类的实例可通过生成Player的分类Manager的方法createPlayer(DataSource)、createPlayer(MediaLocator)、createP1ayer(URL)取得。对JMF1705a定义Player,在内部,使用TS解码器505a、音频解码器A506a、视频解码器A508a来实现其安装分类。HSound7404再现声音。HSound分类由HAVi标准(HAViv1.1 Java L2 APIs、15-May-2001,下面称为HAVi标准)定义,可由HSound分类的制造者取得。对音响7303定义HSound分类,利用音频解码器A506a。HGraphicsDevice7405、HvideoDevice7406、HBackgroundDevice7407按HAVi标准定义,可分类的实例可通过管理HGraphicsDevice7405、HVideoDevice7406、HBackgroundDevice7407的HScreen分类的方法publicHGraphicsDevice[] getHVideoDevices()、publicHVideoDevice[]getHVideoDevices()、public HBackgroundDevice[]getHBackgroundDevice()、或public HGraphicsDevicegetDefaultHGraphicsDevice()、publicHVideoDevicegetDefaultHVideoDevice()、public HBackgroundDevicegetDefaultHBackgroundDevice()取得。对器件7302定义HGraphicsDevice7405、HvideoDevice7406、HBackgroundDevice7407,分别表示图形器件7412、视频器件7413、背景器件7414。
另外,本实施方式中,分别用图74中示出的结构来考虑表示或利用资源的Java分类的实例与物理资源,但即使是其它结构,本实施方式也可实施。
图76表示In-Band的服务用ServiceContext的一例。In-Band的服务用ServiceContext定义getResourceSet()方法7611,并返回ResourceSet实例。ResourceSet7602表示资源组,定义getResource(String)7612。getResource(String)7612通过向String指定利用资源的Java分类,返回表示或使用该资源组中包含的资源的Java实例。例如,通过指定为getResource(“NetworkInterface”),可取得NetworkInterface分类的实例。该自变量由String(字符串)来指定,但也可由资源的识别符等来指定。另外,getResources()方法7613返回表现全部资源的Java分类的实例。例如,返回NetworkInterface分类的实例7401、SectionFilterGroup分类的实例7402、Player分类的实例7403、HSound分类的实例7404、HGraphicsDevice分类的实例7405、HVideoDevice分类的实例7406、HBackgroundDevice分类的实例7407。Abstract服务用ServiceContext2108通过调用ServiceContext的getResource(String)或getResources(),可取得关联于资源的Java的实例,可特定资源。
另外,即使一个ServiceContext保持多个ResourceSet,也可通过对ServiceContext7601定义public ResourceSet[]getResourceSet()来实现。
另外,也可对ServiceContext定义public Object[]getResourceSet()、public Object getResource(String),取得表示资源的分类的实例。
(实施方式9)在实施方式8中,可通过从In-Band的服务用ServiceContext取得Java分类的实例来特定资源。但是,在Abstract服务用ServiceContext直接从Java库1705取得表示物理资源的实例、或利用资源的Java分类的实例的情况下,不知道资源包含在由哪个In-Band的服务用ServiceContext特定的资源组中。在本实施方式中,通过询问In-Band的服务用ServiceContext从Java库中取得的实例,确定In-Band的服务用ServiceContext特定的资源组中是否包含资源。其它与实施方式1一样,所以在本实施方式中,主要描述资源的特定方法。
图77表示In-Band的服务用ServiceContext的一例。7701表示In-Band的服务用ServiceContext。isContained(Object)方法7711采用表示指定给自变量的物理资源、或利用资源的Java分类的实例,判断指定给该自变量的实例是否使用包含于该ServiceContext特定的资源组中的资源。在使用该ServiceContext特定的资源的情况下,返回true,在不使用的情况下,返回false。从而,可特定哪个资源组中包含由自变量的Object指定的资源。
(实施方式10)在实施方式9中,判断Java分类的实例是否使用包含于ServiceContext特定的资源组中的资源。但是,例如设图5的显示器件为一个,且其结构单元如图78所示,视频器件7801为一个的情况下,有时两个In-Band的服务用ServiceContext会共有一个视频器件。在这种情况下,在是否与某个ServiceContext关联的判断外,必需明确是否共有的方法。图79表示In-Band的服务用ServiceContext的一例。图79中,对表示In-Band的服务用ServiceContext的ServiceContext分类7901,除图77所示的isContained方法7711之外,还重新定义方法isShared(Object)7911。该方法7911若在两个In-Band的服务用ServiceContext之间共有资源,则例如若共有相同的视频器件7801,则该方法返回true,若不共有,则返回false。
(实施方式11)
除实施方式9之外,追加调查物理资源是否在使用中的方法。由此,可特定空闲的资源。图80表示In-Band的ServiceContext的一例。图80中,ServiceContext分类8001表示In-Band的服务用ServiceContext。在ServiceContext分类8001中,isUsed(Object)方法8011若传递给自变量的Java分类的实例使用的物理资源当前正在使用,则返回true,若不使用,则返回false。isContained(Object)7711如图77所示,所以省略。
另外,也可同时定义实施方式8与从实施方式9至实施方式11之一的组合。
(实施方式12)在实施方式9至实施方式11中,当从Java库1705取得表示资源的实例或利用资源的分类的实例时,有可能无法取得与想使用的资源组关联的实例。在从制造者生成实例的情况下,或取得Player时,也有可能仅取得通常利用某个特定资源组的实例,例如SectionFilterGroup、HSound的实例等。此时,就这些方法而言,通过对In-Band的服务用ServiceContext定义例如publicvoid connectResource(Object)方法,可变更关联的资源组。对自变量的Object指定表示资源的实例或利用资源的分类的实例。
另外,本实施方式通过对In-Band的服务用ServiceContext定义publicvoid connectResource(Object)方法来特定资源,但也可通过对Abstract服务用ServiceContext定义public void connectResource(ServiceContext、Object)来实现。这里,对自变量的ServiceContext指定In-Band的服务用ServiceContext。
另外,本实施方式即使限于特定表示指定给自变量Object的资源的实例、或利用资源的分类的实例,也可实施。例如,因为实施方式8中所述的实例中、NetworkInterface分类的实例可取得全部与现实的资源关联的实例,所以考虑不能指定给本实施方式的方法的自变量等。
(实施方式13)在实施方式8中,通过从In-Band的服务用ServiceContext取得Java分类的实例,可特定资源。但是,在Abstract服务用ServiceContext直接从Java库1705取得表示物理资源的实例、或利用资源的Java分类的实例的情况下,不知道资源包含在由哪个In-Band的ServiceContext特定的资源组中。
在本实施方式中,当取得表示物理资源的实例、或利用资源的Java分类的实例时,通过向自变量提供ServiceContext,特定使用的资源和资源组。其它与实施方式1一样,所以在本实施方式中,主要描述资源的特定方法。用Java库1705来定义下面的方法。
当取得NetworkInterface分类的实例时,通过向管理NetworkInterface分类的实例的分类NetworkInterfaceManager追加方法publicNetworkInterface[]getNetworkInterfaces(ServiceContext),取得特定物理资源的NetworkInterface分类的实例。就SectionFilterGroup而言,通过向自变量提供ServiceContext,取得特定物理资源的SectionFilterGroup分类的实例。通过向生成Player的分类Manager的方法追加向自变量提供ServiceContext的方法createPlayer(DataSource、ServiceContext)、createPlayer(MediaLocator、ServiceContext)、createPlayer(URL、ServiceContext)之一或全部,取得特定物理资源的Player分类的实例。这里,DataSource、MediaLocator、URL指定再现的AV资源的部位。
HGraphicsDevice、HVideoDevice、HBackgroundDevice通过追加HScreen分类的方法public HGraphicsDevice[]getHVideoDevices(ServiceConext)、public HVideoDevice[]getHVideoDevices(ServiceConext)、publicHBackgroundDevice[]getHBackgroundDevices(ServiceConext)、或publicHGraphicsDevice getDefaultHGraphicsDevice(ServiceConext)、publicHVideoDevice getDefaultHVideoDevice(ServiceConext)、publicHBackgroundDevicegetDefaultHBackgroundDevice(ServiceConext),特定物理资源。
另外,在本实施方式中,向自变量指定ServiceContext,但也可通过定义特定资源组的分类ResourceSet,并将其指定给自变量等,指定表示资源组的识别符来实现。
另外,在本实施方式中,作为表示上述资源的实例、或利用资源的分类的实例的取得方法,考虑上述方法,但除这些方法之外,也可通过向自变量指定ServiceContext、或ResourceSet分类的实例来实施。
如上所述,根据本发明,通过具备执行一个或多个服务的服务执行单元;特定所述服务使用的资源集合的执行环境的执行环境保持单元;和执行环境选定单元,通过将所述服务与所述环境保持单元保持的执行环境相对应,对应所述环境与所述执行环境特定的资源集合,可分配在执行在所述执行环境下动作的所述服务内的映像、声音、程序等时所需的资源集合。
另外,具备从所述执行环境保持单元取得表示所述执行环境的执行环境识别符的执行环境识别符取得单元,所述执行环境识别符具备接收服务的识别符的服务的识别符接收部,从而所述服务可分配所述资源集合来执行。
另外,所述执行环境保持单元具备执行环境识别符取得单元,保持多个执行环境,并从所述执行环境保持单元取得表示所述执行环境的执行环境识别符,所述执行环境识别符具有接收第二执行环境识别符的执行环境识别符接收部,当所述执行环境识别符接收部接收所述第二执行环境识别符时,执行环境选定单元通过对应在所述执行环境识别符表示的执行环境下动作的服务与所述第二执行环境识别符表示的执行环境的资源集合,可分配任意的执行环境特定的资源集合,作为执行在所述执行环境中动作的所述服务中包含的映像、声音、程序等时所需的资源集合,另外,通过交互分配多个资源集合,可控制多个资源集合。
另外,在所述执行环境识别符表示的执行环境下动作的服务通过所述执行环境识别符取得单元取得第二执行环境识别符,将第二服务传递给所述第二执行环境识别符的服务识别符接收部,使所述第二服务动作,从而,在所述执行环境下动作的服务可在所述第二执行环境识别符表示的执行环境下使第二服务动作。
另外,虽在所述执行环境识别符表示的执行环境下动作的服务中进行限定,但通过所述执行环境识别符取得单元取得第二执行环境识别符,向所述第二执行环境识别符的服务接收部传递第二服务,使所述第二服务动作,从而在执行环境中动作的服务中、限定的服务在第二执行环境识别符表示的执行环境下使第二服务动作。
另外,在所述服务的识别符接收部接收服务的识别符的同时,还接收执行环境识别符,当所述服务的识别符接收部与服务的识别符一起接收由所述执行环境识别符取得单元取得的第二执行环境识别符时,执行环境选定单元通过对应在所述执行环境识别符表示的执行环境下动作的服务与所述第二执行环境识别符表示的执行环境的资源集合,可分配由其它执行环境特定的资源集合,作为执行在所述执行环境中动作的服务中包含的映像、声音、程序等时所需的资源集合,可弹性控制资源集合。
另外,具备从所述执行环境保持单元取得表示所述执行环境的执行环境识别符的执行环境识别符取得单元,所述执行环境识别符具备取得所述执行环境识别符表示的执行环境特定的资源集合的资源集合取得部,从而可取得资源集合,可知道装置内的资源集合。
另外,所述执行环境保持单元保持多个执行环境,所述执行环境识别符具有接收从所述执行环境识别符取得单元取得的第二执行环境识别符的从所述资源集合取得部取得的资源集合的资源集合接收部,当所述资源集合接收部接收所述资源集合时,所述执行环境选定单元通过对应在所述执行环境识别符表示的执行环境下动作的服务与所述执行环境特定的所述资源集合,可明示地分配所述资源集合,作为执行在所述执行环境中动作的服务内的映像、声音、程序等时所需的资源集合,可弹性控制资源集合。
另外,所述资源集合具有取得单个资源的单个资源取得部,从而可控制单个资源,特定资源的集合,单独执行映像、声音、程序等。
另外,所述单个资源取得部取得包含在所述资源集合中的全部资源,从而可知道包含于所述资源集合中的全部资源。
另外,具备从所述执行环境保持单元取得表示所述执行环境的执行环境识别符的执行环境识别符取得单元,所述执行环境识别符具有取得所述执行环境识别符表示的执行环境特定的资源集合中包含的各个资源的资源取得部,从而可取得资源集合中包含的各个资源,可特定资源集合,单独执行映像、声音、程序等。
另外,所述资源取得部通过取得所述资源集合的全部资源,可取得全部资源,可知道所述资源集合中包含的全部资源。
另外,通过具备可取得所述执行环境保持单元保持的执行环境特定的资源集合中包含的各个资源的单独资源取得单元,可取得全部执行环境的资源集合中包含的各个资源,特定资源集合,单独执行映像、声音、程序等。
另外,具备从所述执行环境保持单元取得表示所述执行环境的执行环境识别符的执行环境识别符取得单元,具备判断所述执行环境识别符表示的执行环境特定的资源集合是否包含由所述单独资源取得单元取得的资源的资源判断部,从而特定包含各个资源的资源集合,由此可特定包含于特定资源集合中的资源,特定资源集合,单独执行映像、声音、程序等。
另外,具备资源共有判断部,判断所述执行环境识别符取得单元取得的第二执行环境识别符表示的环境特定的资源集合与所述执行环境识别符表示的执行环境特定的资源集合是否共有由所述单独资源取得单元取得的资源,通过判断多个资源集合是否共有各资源,在不共有的情况下,可保障所述执行环境识别符表示的执行环境下动作的程序排他使用该资源,不对其它服务造成影响地单独执行映像、声音、程序等。
另外,所述执行环境识别符表示的执行环境中,所述单独资源取得单元取得的所述资源具备资源使用判断部,判断从执行环境识别符取得单元取得的执行环境识别符表示的执行环境是否在使用中,从而可判断各个资源是否当前正在使用中,从而可使用空闲的资源来单独执行映像、声音、程序等。
另外,具备从所述执行环境保持单元取得表示所述执行环境的执行环境识别符的执行环境识别符取得单元,所述执行环境识别符具备资源连接部,对应所述执行环境识别符表示的执行环境特定的资源集合与所述单独资源取得单元取得的资源,从而将所述资源包含于所述资源集合中,由此将资源包含在想控制的资源的集合中。
另外,具备从所述执行环境保持单元取得表示所述执行环境的执行环境识别符的执行环境识别符取得单元,所述单独资源取得单元指定所述执行环境识别符取得单元取得的执行环境识别符,从而取得所述执行环境识别符表示的执行环境的、包含于特定资源集合中的资源,由此可使用所述执行环境特定的资源集合中包含的资源,单独执行映像、声音、程序等。
另外,所述执行环境保持单元具备执行环境识别符取得单元,保持多个执行环境,从所述执行环境保持单元取得表示所述执行环境的执行环境识别符;和执行环境对应单元,对应所述执行环境识别符与由所述执行环境识别符取得单元取得的第二执行环境识别符,当通过所述执行环境对应单元对应所述执行环境识别符与所述第二执行环境识别符时,执行环境选定单元通过对应所述执行环境识别符表示的执行环境下动作的服务与所述第二执行环境识别符表示的执行环境的资源集合,可分配第二执行环境识别符表示的执行环境特定的资源集合,作为执行在执行环境下动作的服务内的映像、声音、程序等时所需的资源集合。
另外,所述执行环境保持单元具备执行环境识别符取得单元,保持多个执行环境,从所述执行环境保持单元取得表示所述执行环境的执行环境识别符,所述执行环境识别符具有取得所述执行环境识别符表示的执行环境特定的资源集合的资源集合取得部,并具备对应所述执行环境识别符与从批二执行环境识别符的资源集合取得部取得的资源集合的资源集合对应单元,当通过所述资源集合对应单元对应所述执行环境识别符与所述资源集合时,执行环境选定单元通过对应所述执行环境识别符表示的执行环境下动作的服务与对应所述资源集合的执行环境和资源集合,可分配第二执行环境识别符表示的执行环境特定的资源集合,作为执行在执行环境下动作的服务内的映像、声音、程序等时所需的资源集合。
另外,作为一种计算机可读取的记录媒体,记录发挥如下单元的各功能的程序,这些单元是执行一个或多个服务的服务执行单元;特定所述服务使用的资源集合的执行环境的执行环境保持单元;和执行环境选定单元,通过将所述服务与所述环境保持单元保持的执行环境相对应,对应所述环境与所述执行环境特定的资源集合,由此可提高可传输性。
产业上的可利用性根据本发明的服务执行装置通过具备执行一个或多个服务的服务执行单元;特定所述服务使用的资源集合的执行环境的执行环境保持单元;和执行环境选定单元,通过将所述服务与所述环境保持单元保持的执行环境相对应,对应所述环境与所述执行环境特定的资源集合,在数字广播接收机中,当包含于服务中的程序控制画中画(Picture in Picture)或双视窗(DoubleWindow)等的多个资源集合时有用。另外,不限于数字广播接收机,也可应用于控制个人计算机或便携电话等通过软件控制的信息设备的多个资源集合等的用途中。
权利要求
1.一种服务执行装置,其特征在于具备服务执行单元,在执行使用一个或多个资源的服务用的服务执行环境中,执行所述服务;关联单元,在应用程序对所述服务执行单元请求执行服务时,将所述服务执行环境与表示所述服务使用的一个或多个资源的资源组信息相关联;保持单元,保持由所述关联单元关联的所述服务执行环境与所述资源组信息;以及资源管理单元,在由所述保持单元保持的服务执行环境,向所述服务提供保持在所述保持单元中的所述资源组信息。
2.根据权利要求1所述的服务执行装置,其特征在于所述资源管理单元取得与所述服务执行环境相关联的所述资源组信息,并向所述服务提供取得的所述资源组信息。
3.根据权利要求1所述的服务执行装置,其特征在于所述资源是选台单元。
4.一种服务执行方法,其特征在于包含关联步骤,在从应用程序请求执行使用一个或多个资源的服务时,将执行所述服务的服务执行环境与表示所述服务使用的一个或多个资源的资源组信息相关联;存储步骤,将由所述关联步骤关联的所述服务执行环境与所述资源组信息存储在存储媒体中;资源管理步骤,在被存储于所述存储媒体中的所述服务执行环境,向所述服务提供被存储于所述存储媒体中的所述资源组信息;和服务执行步骤,通过使用由所述资源管理步骤提供的资源组信息表示的一个或多个资源,在所述服务执行环境执行所述服务。
5.一种程序,其特征在于使计算机执行以下步骤关联步骤,在从应用程序请求执行使用一个或多个资源的服务时,将执行所述服务的服务执行环境与表示所述服务使用的一个或多个资源的资源组信息相关联;存储步骤,将由所述关联步骤关联的所述服务执行环境与所述资源组信息存储在存储媒体中;资源管理步骤,在被存储于所述存储媒体中的所述服务执行环境,向所述服务提供被存储在所述存储媒体中的所述资源组信息;和服务执行步骤,通过使用由所述资源管理步骤提供的资源组信息表示的一个或多个资源,在所述服务执行环境执行所述服务。
全文摘要
本发明提供的服务执行装置,其具备服务执行部(5701),在抽象眼务用ServiceContext(2108)中执行服务;当应用程序对服务执行部(5701)请求执行服务时,将ServiceContext(2108)与表示服务使用的多个资源的资源组信息相关联的方法(6112);ServiceContext管理部(2001),保持由该方法(6112)关联的ServiceContext(2108)与资源组信息;和向服务提供保持在ServiceContext管理部(2001)中的资源组信息的JMF(1705a)。
文档编号H04N5/445GK1581946SQ20041005639
公开日2005年2月16日 申请日期2004年8月6日 优先权日2003年8月6日
发明者原田真, 川上义雄, 盐见隆一, 铃木孝聪 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1