具体实施方式
在本发明实施例中,终端从服务器获取与多媒体业务相关的呈现模板和与多媒体业务相关的节目指南数据。将所述节目指南数据和所述SMIL模板进行结合,生成呈现脚本。
然后,终端将所述呈现脚本和与多媒体业务相关的多媒体内容进行结合,实现将所述多媒体内容进行呈现。
上述节目指南数据可以采用XML文档,上述呈现模板可以采用SMIL模板或HTML(HyperText Markup Language,超文本链接标记语言)模板、XHTML(extensible Hyper TextMarkup Language,可扩展超文本链接标记语言)模板、SVG(Scalable VectorGraphics,可扩展向量图形)模板、RME(Rich Media Environment,富媒体应用环境)模板等模板。
下面以SMIL模板为例来说明本发明实施例。
SMIL是一种基于XML的标记语言,包含了URL(通用资源定位器,Universal ResourseLocator)资源管理、基于CSS(层叠样式表单,Cascading Style Sheets)的页面编排控制、HTML(超文本标记语言,HyperText Markup Language)超媒体链接等内容。采用SMIL可以方便地描述各种媒体之间的时间同步关系和空间编排关系,SMIL可以应用于将多媒体内容在终端进行呈现,并在众多的终端设备上都有支持。
下面结合附图来详细描述本发明实施例,本发明实施例所述将多媒体内容在终端上进行呈现的装置的框架示意图如图1所示,该装置的具体结构示意图如图2所示,包括如下模块:
节目指南服务器(Service Guide Server)21,用于制作和管理与移动多媒体业务相关的节目指南数据的XML文档,将该XML文档下发给终端。
呈现服务器(Presentation Server)22,用于制作和管理与终端的移动多媒体业务相关的SMIL模块(Presentation Template),将该SMIL模板下发给终端。包括:基本信息文件模块221、映射关系文件模块222、关联关系文件模块223、未完成文件模块224和资源文件模块225。
内容服务器(Content Server Content Server)23,用于向终端提供与终端的移动多媒体业务相关的多媒体内容。内容服务器为可选的,在存在内容服务器的情况下,主要由该内容服务器来提供和移动多媒体业务相关的多媒体内容;再不存在内容服务器的情况下,上述多媒体内容由节目指南服务器或者终端本地提供。
上述呈现服务器21中的基本信息文件模块221,用于管理所述SMIL模板的基本信息文件,该基本信息包括:SMIL模板的标识ID、有效期、发行者和SMIL模板相关文件中的至少一项,将该基本信息文件下发给终端;
上述呈现服务器21中的映射关系文件模块222,用于管理所述SMIL模板中需要终端填写的未完成SMIL文件中的SMIL元素和终端本地数据之间的映射关系文件,将该映射关系文件下发给终端;
上述呈现服务器21中的关联关系文件模块223,用于管理所述SMIL模板中的各个文件之间的关联关系文件,该关联关系文件的结构为树形结构,将该关联关系文件下发给终端;
上述呈现服务器21中的未完成文件模块224,用于管理所述SMIL模板中的需要终端填写的未完成SMIL文件,将该未完成SMIL文件下发给终端。
上述呈现服务器21中的资源文件模块225,用于管理和所述SMIL文件模板对应的资源文件,将该资源文件下发给终端。
本发明实施例所述的一种进行多媒体内容呈现的终端的结构示意图如图3所示,包括如下模块:
信息获取模块31,用于从节目指南服务器获取与多媒体业务相关的节目指南数据的XML文档,从呈现服务器获取与多媒体业务相关的SMIL模板。包括:模板基本信息获取模块311、映射关系文件获取模块312、关联关系文件获取模块313和未完成文件获取模块314。
呈现脚本生成模块32,用于对所述信息获取模块所获取的XML文档进行解析,提取出相应的节目指南数据,将所述节目指南数据和所述信息获取模块所获取的SMIL模板进行结合,生成呈现脚本。包括:未完成文件填写模块321和SMIL呈现脚本获取模块322。
多媒体呈现模块33,用于将所述呈现脚本生成模块所生成的呈现脚本和与多媒体业务相关的多媒体内容进行结合,实现将所述多媒体内容在终端上进行呈现。
上述信息获取模块31中的模板基本信息获取模块311,用于从呈现服务器获取并存储所述SMIL模板的基本信息文件,该基本信息包括:SMIL模板的标识ID、有效期、发行者和SMIL模板相关文件中的至少一项;
上述信息获取模块31中的映射关系文件获取模块312,用于从呈现服务器获取并存储所述SMIL模板中需要终端填写的未完成SMIL文件中的SMIL元素和终端本地数据之间的映射关系文件;
上述信息获取模块31中的关联关系文件获取模块313,用于从呈现服务器获取并存储所述SMIL模板中的各个文件之间的关联关系文件,该关联关系文件的结构为树形结构;
上述信息获取模块31中的未完成文件获取模块314,用于从呈现服务器获取并存储所述SMIL模板中的需要终端填写的未完成SMIL文件。
上述呈现脚本生成模块32中的未完成文件填写模块321,用于根据所述映射关系文件,确定所述需要终端填写的未完成SMIL文件中的SMIL元素所对应的终端本地数据,根据该终端本地数据对所述SMIL元素进行赋值,得到完整的SMIL文件;
上述呈现脚本生成模块32中的SMIL呈现脚本获取模块322,用于根据所述关联关系文件获取所述SMIL模板的树形结构信息,将所述节目指南数据和所述完整的SMIL文件进行结合,基于所述树形结构信息生成所述SMIL模板的SMIL呈现脚本。
本发明实施例所述的将多媒体内容在终端上进行呈现的方法的实现原理示意图如图4所示,包括如下处理步骤:
步骤41、终端从节目指南服务器获取节目指南数据的XML文档,从呈现服务器获取SMIL模板,从内容服务器获取和移动多媒体业务呈现相关的多媒体内容。
步骤42、终端将获取的节目指南数据的XML文档通过XML解析器处理,提取出相应的节目指南数据。
步骤43、终端的移动多媒体业务中间件将XML解析器所获取的节目指南数据和先前获取的SMIL模板文档进行融合,根据SMIL模板文档的类型和模板的规定,生成用于呈现的脚本语言(Presentation Script)。
上述脚本语言的格式为SMIL格式。
步骤44、终端的移动多媒体中间件将上述脚本语言传递给终端上的播放器。该播放器将该脚本语言和先前获取的多媒体内容进行结合,实现将移动多媒体业务在终端上进行呈现。
下面描述本发明实施例所述方法的一个具体应用实例。在该实施例中,终端已经获取了除SMIL模板之外的其他数据信息,该其他数据信息包括:节目指南数据的XML文档和多媒体内容等。
在该实施例中,呈现服务器向终端下发半成品方式的SMIL模板,该半成品方式的SMIL模板文档通过XML的方式来携带相关的信息,并且在相关信息当中包含了部分未完成的SMIL文件。
终端在获取了上述半成品方式的SMIL模板后,根据Schema的规定,解析出相关内容。然后,根据该相关内容和获取的节目指南数据,对上述部分未完成的SMIL文件进行加工,生成最后用于播放的SMIL的文件和内容。
上述半成品方式的SMIL模板主要包含下面的几部分文件。
SmilTemplate.xml(基本信息文件),该文件主要描述SMIL模板文档的基本信息,该基本信息包括模板的ID、有效期、发行者和模板相关文件等内容,该文件用来对SMIL模板文档进行一个基本的描述。上述模板相关文件包括:SmilTemplateElement.xml(映射关系文件)和SmilTemplateTree.xml(关联关系文件)等。
SmilTemplateElement.xml(映射关系文件),该文件主要描述半成品方式的SMIL模板中的未完成SMIL文件中的SMIL元素和终端本地数据之间的映射关系,该映射关系主要包括上述SMIL元素的变量取值和终端本地数据之间的关联关系。终端可以根据该映射关系,利用本地的节目指南数据和节目内容数据等本地数据对相应的SMIL元素进行赋值。
上述半成品方式的SMIL模板中不需要终端完成的部分,在服务器下发SMIL模板的过程当中就已经完成了相关数据的填写工作。
SmilTemplateTree.xml(关联关系文件),该文件主要描述半成品方式的SMIL模板中的各个文件之间的关联关系,该关联关系文件的结构为树形结构。
ResourceFile(资源文件),该文件主要描述和所述SMIL模板对应的资源文件,如一些图片资源,文字资源等。
NativeSmilFile(半成品文件),该文件主要包括一些所述SMIL模板中的需要终端填写的未完成smil文件。以*.smil文件的形式给出,每个NativeSmilFile文件当中有一个<smil>的Element,是服务器填写的SMIL的文件,当中部分的取值在服务器上进行了填写,其他部分的取值通过变量的形式给出,这些变量需要终端根据上述映射关系文件和数据关系文件给出的逻辑关系,在终端上完成相关的实例化的工作。
由于xml具有跨平台性,并且目前已经作为不同平台之间数据交换的通用的数据形式。因此,下面以xml的形式给出上述半成品方式的SMIL模板中的SmilTemplate.xml、SmilTemplateElement.xml、SmilTemplateTree.xml、ResourceFile和NativeSmilFile的具体实例。
1、SmilTemplate.xml。
<?xml version=″1.0″encoding=″UTF-8″?><!--Xml文档的版本号和编码方式--><SmilTemplate xmlns:xsi=″http://www.w3.org/2001/XMLSchema-instance″xsi:noNamespaceSchemaLocation=″http://www.sample.com/SmilTemplate.xsd″><!--Xml文档元素Element SmilTemplate的定义,包括其中的名字空间--><Version>1.0.0.1</Version><!--版本号信息,是模板的版本号,不是系统版本号--><Global_Template_ID>12345678</Global_Template_ID><!--模板的全局唯一的ID号,在更新过程当中不发生改变--><ValidFrom>0</ValidFrom><!--有效时间,起始时间--><ValidTo>0</ValidTo><!--有效时间,截至时间--><Provider>″CMCC″</Provider><!--模板提供者名称--><ServiceID>12354365</ServiceID><!--业务ID,可选--><ContentID>2354354</ContentID><!--内容ID--><Priority>0</Priority><!--优先级--><Device>″Huawei-v710″</Device><!--目标设备--><UAProf>″http://nds1.nds.huawei.com/uaprof/v710r100.xml″</UAProf><!--用户设备信息--><TemplateTree><!--模板树信息--><FileName>″SMILTemplateTree.xml″</FileName><!--模板的文件名--><Version>1.0.0.1</Version><!--模板的版本号--><Global_ID>Tree_001</Global_ID><!--模板的全局ID--></TemplateTree><!--模板树信息结束--><TemplateElement><!--模板元素ELEMENT信息--><FileName>″SMILTemplateElement.xml″</FileName><!--模板的文件名--><Version>1.0.0.1</Version><!--模板的版本号--> |
<Global_ID>Element_001</Global_ID><!--模板的全局ID--></TemplateElement><!--模板元素ELEMENT信息结束--><OutPut><!--目标输出--><FileName>″Main.smil″</FileName><!--目标输出文件名><OutPut><!--目标输出结束--></SmilTemplate><!--Smil模板的结束--> |
上述SmilTemplate.xml文件的具体实例利用xml的形式来描述SMIL模板的基本信息,对整个SMIL模板内容信息进行了一个总体的描述。同时,SMIL模板的整体更新的判断,以及后续其他SMIL模板信息的获取也是通过该文件来完成的。
上述SmilTemplate.xml文件的具体实例主要包括:
<Version>1.0.0.1</Version>,描述SMIL模板所对应的版本更新,通过判断版本信息是否匹配完成来确定该SMIL模板是否有更新。
<Global_Template_ID>12345678</Global_Template_ID>,描述SMIL模板的Id信息,用于将该SMIL模板同其他SMIL模板进行区分,该Id信息在整个SMIL模板的使用过程当中不会发生变化,是SMIL模板的身份标识。
<ValidFrom>0</ValidFrom>,描述SMIL模板的有效时间的起点,是一个可选的内容。
<ValidTo>0</ValidTo>,描述SMIL模板的有效时间的终点。
<Provider>″CMCC″</Provider>,描述SMIL模板的内容提供商。<ServiceID>12354365</ServiceID>,描述SMIL模板针对的业务的Id,如果SMIL模板是针对一个业务的模板,那么需要在这里指出SMIL模板所匹配的业务的相关信息。该业务的Id在手机电视业务当中主要是指手机电视的不同的频道。
<ContentID>2354354</ContentID>,描述SMIL模板针对的内容的Id,如果SMIL模板是针对一个内容而言的模板,那么需要在这里指出SMIL模板所匹配的内容的相关信息。
<Priority>0</Priority>,描述SMIL模板的优先级信息。如果在终端上同时存在多个SMIL模板,则根据该优先级信息来选择默认的SMIL模板。
<Device>″Huawei-v710″</Device>,描述SMIL模板针对的可用设备的类型信息。不同的设备针对的SMIL模板的类型和版本都不同。
<TemplateTree> <!--模板树信息--><FileName>″SMILTemplateTree.xml″</FileName> <!--模板的文件名--><Version>1.0.0.1</Version> <!--模板的版本号--> |
<Global_ID>Element_001</Global_ID><!--模板的全局ID--></TemplateTree><!--模板树信息--> |
上面的信息的组合主要是描述SMIL模板中所包含的数据映射列表的信息,其中包括文件名,版本号,唯一的ID号等信息。终端在获取了SMIL模板的描述信息之后,可以根据上述的信息进一步获取需要的映射列表信息。并且根据映射列表信息来进一步获取其他内容。同时,本SMIL模板当中的映射列表信息也可以有效地进行更新。
<TemplateElement><!--模板元素ELEMENT信息--><FileName>″SMILTemplateElement.xml″</FileName><!--模板的文件名--><Version>1.0.0.1</Version><!--模板的版本号--><Global_ID>Element_001</Global_ID><!--模板的全局ID--></TemplateElement><!--模板元素ELEMENT信息结束--> |
上面的信息的组合主要是描述SMIL模板当中所包含的数据结构的列表信息,其中包括文件名,版本号,唯一的ID号等信息。终端在获取了SMIL模板的描述信息之后,可以根据该描述信息进一步获取需要的数据结构的列表信息。并且根据数据结构的列表信息来进一步获取其他内容。同时,模板当中的数据结构的列表信息也可以有效地进行更新。
<OutPut><!--目标输出--><FileName>″Main.smil″</FileName><!--目标输出文件名><OutPut><!--目标输出结束--> |
上面的信息的组合主要是描述整个模板在完成所有的工作之后需要输出的目标文件的信息。在这里,为了简单起见,我们仅仅规定了需要输出的文件的名称。
终端可以根据上述SmilTemplate.xml文件描述的SMIL模板的基本信息来获取其它的信息,也可以根据这些信息来对其他的关联文件进行更新。
2、SmilTemplateElement.xml。
<?xml version=″1.0″encoding=″UTF-8″?><!--xml文件头--><SmilTemplateElement xmlns:xsi=″http://www.w3.org/2001/XMLSchema-instance″xsi:noNamespaceSchemaLocation=″http://www.sample.com/SmilTemplate.xsd″><!--smil模板Element信息--><Version>1.0.0.1</Version><!--版本号信息-><Global_ID>Element_001</Global_ID><!--全局唯一的ID信息--><v_MainScreenBackgroundDur><!--主屏幕的背景持续时间--><ID>MainScreenBackgroundDurID</ID><!--主屏幕背景持续时间索引ID--> |
<Replace>″Services time″</Replace><!--替代值映射--></v_MainScreenBackgroundDur><!--主屏幕的背景持续时间结束--><v_MainScreeBackgroundImageID><!--主屏幕背景图片ID--><ID>MainScreeBackgroundImageID</ID><!--主屏幕背景图片索引ID--><Replace>″Services Preview Background″</Replace><!--替代值映射--></v_MainScreeBackgroundImageID><!--主屏幕背景图片ID结束--><v_MainScreenVideoDur><!--主屏幕视频持续时间--><ID>MainScreenVideoDurID</ID><!--主屏幕视频持续时间索引ID--><Replace>″Content time″</Replace><!--替代值映射--></v_MainScreenVideoDur><!--主屏幕视频持续时间结束--><v_MainScreenVideoSource><!--主屏幕视频源--><ID>MainScreenVideoSourceID</ID><!--主屏幕视频源ID--><Replace>″Content Source URI″</Replace><!--替代值映射--></v_MainScreenVideoSource><!--主屏幕视频源结束><v_MainScreenInterDur><!--主屏幕交互持续时间--><ID>MainScreenInterDurID</ID><!--主屏幕交互持续时间ID--><Replace>″Interactive Services time,Oms means no″</Replace><!--替代值映射--></v_MainScreenInterDur><!--主屏幕交互持续时间结束--><v_MainScreenInterImageSource><!--主屏幕交互图像源信息--><ID>MainScreenInterImageSourceID</ID><!--主屏幕交互图像源ID--><Replace>″Interactive Services Source Image,null meansno″</Replace><!--替代值映射--></v_MainScreenInterImageSource><!--主屏幕交互图像源信息结束--><v_MainScreenLogoDur><!--主屏幕Logo持续时间信息--><ID>MainScreenLogoDurID</ID><!--主屏幕Logo持续时间ID--><Replace>″Logo dur time″</Replace><!--替代值映射--></v_MainScreenLogoDur><!--主屏幕Logo持续时间信息结束--><v_MainScreenLogoSource><!-主屏幕Logo资源信息--> |
<ID>MainScreenLogoSourceID</ID><!--主屏幕Logo资源ID--><Replace>″Logo Source URI″</Replace><!--替代值映射--></v_MainScreenLogoSource><!--主屏幕Logo资源信息结束--><v_Souce><!--资源信息--><SourceID>BackGround_001</SourceID><!--资源ID--><Replace><!--替换操作--><Source><!--内容源--><Type>IMAGE</Type><!--资源类型--><Location>″SourceFile/background.jpg″</Location><!--资源位置--><Description>”MAC style Image for Mobile TVBackground”</Description><!--资源用途描述--><Default>Y</Default><!--默认选项--></Source><!--内容源结束--><Source><!--内容源--><Type>IMAGE</Type><!--资源类型--><Location>″SourceFile/background_xp_style.jpg″</Location><!--资源位置--><Description>”WindowsXP style Image for Mobile TVBackground”</Description><!--资源描述--><Default>N</Default><!--默认选项--></Source><!--内容源结束--><Source><!--内容源--><Type>AUDIO</Type><!--资源类型--><Location>”SouceFile/background.mp3”<Location><!--资源位置--><Description>”audio for Mobile TVBackground”</Description><!--资源描述--><Default>Y</Default><!--默认选项--></Source><!--内容源结束--></Replace><!--替换操作结束--><v_Source><!--资源信息结束--></SmilTemplateElement><!--mil模板Element信息结束> |
上述SmilTemplateElement.xml文件的具体实例主要是描述SMIL模板数据的映射关系,下面对其中映射关系进行详细的说明和介绍。
<Version>1.0.0.1</Version>,描述SMIL模板数据的映射文件所对应的版本更新,该映射是否有更新,就是通过判断版本信息是否匹配完成的。
<Global_ID>Element_001</Global_ID>,描述SMIL模板数据的映射文件的Id信息,用于同其他映射文件进行区分。该Id信息在整个SMIL模板的使用过程中不会发生变化,是映射文件的身份标识。
<v_MainScreenBackgroundDur><!--主屏幕的背景持续时间--><ID>MainScreenBackgroundDurID</ID><!--主屏幕背景持续时间索引ID--><Replace>″Services time″</Replace><!--替代值映射--></v_MainScreenBackgroundDur><!--主屏幕的背景持续时间结束--> |
上面的信息的组合主要是描述映射文件当中所包含的数据的映射关系。本组合信息所描述的信息在于,变量的Id为MainScreenBackgroundDurID,他所对应的Smil中的变量名为v_MainScreenBackgroundDur,该变量的取值由节目指南中的″Services time″信息字段进行映射。在节目指南中如何提取″Services time″信息字段的内容不在这里的考虑范围之内,但是可以肯定地是,这样的需求是对现有系统的最低要求。在这里,主要是描述一个映射的关系,具体这个″Services time″的信息字段的取值,如何填写到MainScreenBackgroundDurID的id所对应的变量上,将在后面的过程当中详细描述。
<v_MainScreeBackgroundImageID><!--主屏幕背景图片ID--><ID>MainScreeBackgroundImageID</ID><!--主屏幕背景图片索引ID--><Replace>″Services Preview Background″</Replace><!--替代值映射--></v_MainScreeBackgroundImageID><!--主屏幕背景图片ID结束--> |
同理,上面的信息的组合主要是描述映射文件当中所包含的数据的映射关系。本组合信息所描述的信息在于,变量的Id为MainScreeBackgroundImageID,对应的Smil中的变量名为v_MainScreeBackgroundImageID,该变量的取值由节目指南中的″Services PreviewBackground″信息字段进行映射。
<v_MainScreenVideoDur><!--主屏幕视频持续时间--><ID>MainScreenVideoDurID</ID><!--主屏幕视频持续时间索引ID--><Replace>″Content time″</Replace><!--替代值映射--></v_MainScreenVideoDur><!--主屏幕视频持续时间结束--> |
同理,上面的信息的组合主要是映射文件当中所包含的数据的映射关系。本组合信息所描述的信息在于,变量的Id为MainScreenVideoDurID,对应的Smil中的变量名为v_MainScreenVideoDur,该变量的取值由节目指南中的″Content time″信息字段进行映射。
<v_MainScreenVideoSource><!--主屏幕视频源--><ID>MainScreenVideoSourceID</ID><!--主屏幕视频源ID--><Replace>″Content Source URI″</Replace><!--替代值映射--></v_MainScreenVideoSource><!--主屏幕视频源结束> |
同理,上面的信息的组合主要是描述映射文件当中所包含的数据的映射关系。本组合信息所描述的信息在于,变量的Id为MainScreenVideoSourceID,对应的Smil中的变量名为v_MainScreenVideoSource,该变量的取值由节目指南中的″Content Source URI″信息字段进行映射。
<v_MainScreenInterDur><!--主屏幕交互持续时间--><ID>MainScreenInterDurID</ID><!--主屏幕交互持续时间ID--><Replace>″Interactive Services time,Oms means no″</Replace><!--替代值映射--></v_MainScreenInterDur><!--主屏幕交互持续时间结束--> |
同理,上面的信息的组合主要是描述映射文件当中所包含的数据的映射关系。本组合信息所描述的信息在于,变量的Id为MainScreenInterDurID,对应的Smil中的变量名为v_MainScreenInterDur,该变量的取值由节目指南中的″Interactive Services time,Oms means no″信息字段进行映射。
<v_MainScreenInterImageSource><!--主屏幕交互图像源信息--><ID>MainScreenInterImageSourceID</ID><!--主屏幕交互图像源ID--><Replace>″Interactive Services Source Image,null meansno″</Replace><!--替代值映射--></v_MainScreenInterImageSource><!--主屏幕交互图像源信息结束--> |
同理,上面的信息的组合主要是描述映射文件当中所包含的数据的映射关系。本组合信息所描述的信息在于,变量的Id为MainScreenInterImageSourceID,对应的Smil中的变量名为v_MainScreenInterImageSource,该变量的取值由节目指南中的″InteractiveServices Source Image,null means no″信息字段进行映射。
<v_MainScreenLogoDur><!--主屏幕Logo持续时间信息--><ID>MainScreenLogoDurID</ID><!--主屏幕Logo持续时间ID--><Replace>″Logo dur time″</Replace><!--替代值映射--></v_MainScreenLogoDur><!--主屏幕Logo持续时间信息结束--> |
同理,上面的信息的组合主要是描述映射文件当中所包含的数据的映射关系。本组合信息所描述的信息在于,变量的Id为MainScreenLogoDurID,对应的Smil中的变量名为v_MainScreenLogoDur,该变量的取值由节目指南中的″Logo dur time″信息字段进行映射。
<v_MainScreenLogoSource><!-主屏幕Logo资源信息--><ID>MainScreenLogoSourceID</ID><!--主屏幕Logo资源ID--><Replace>″Logo Source URI″</Replace><!--替代值映射--></v_MainScreenLogoSource><!--主屏幕Logo资源信息结束--> |
同理,上面的信息的组合主要是描述映射文件当中所包含的数据的映射关系。本组合信息所描述的信息在于,变量的Id为MainScreenLogoSourceID,对应的Smil中的变量名为v_MainScreenLogoSource,该变量的取值由节目指南中的″Logo Source URI″信息字段进行映射。
<v_Souce><!--资源信息--><SourceID>BackGround_001</SourceID><!--资源ID--><Replace><!--替换操作--><Source><!--内容源--><Type>IMAGE</Type><!--资源类型--><Location>″SourceFile/background.jpg″</Location><!--资源位置--><Description>”MAC style Image for Mobile TVBackground”</Description><!--资源用途描述--><Default>Y</Default><!--默认选项--></Source><!--内容源结束--><Source><!--内容源--><Type>IMAGE</Type><!--资源类型--><Location>″SourceFile/background_xp_style.jpg″</Location><!--资源位置--><Description>”WindowsXP style Image for Mobile TVBackground”</Description><!--资源描述--><Default>N</Default><!--默认选项--></Source><!--内容源结束--><Source><!--内容源--><Type>AUDIO</Type><!--资源类型--><Location>”SouceFile/background.mp3”<Location><!--资源位置--> |
<Description>”audio for Mobile TVBackground”</Description><!--资源描述--><Default>Y</Default><!--默认选项--></Source><!--内容源结束--></Replace><!--替换操作结束--><v_Source><!--资源信息结束--> |
同前面不同的是,本列表的组合信息包含的内容不是用来将模板映射文件同节目指南相对应的,该组合信息主要是描述映射文件当中所包含的数据同模板资源文件的映射关系。该模板资源文件主要包含图片和音乐,用来提供不同的背景图片和背景音乐的内容。
<v_Souce><!--资源信息--><SourceID>BackGround_001</SourceID><!--资源ID--><Replace><!--替换操作--><Source><!--内容源--><Type>IMAGE</Type><!-资源类型--><Location>″SourceFile/background.jpg″</Location><!--资源位置--><Description>”MAC style Image for Mobile TVBackground”</Description><!--资源用途描述--><Default>Y</Default><!--默认选项--></Source><!--内容源结束--> |
v_Source主要描述该部分的内容用来替换显示模板当中的背景图片。
SourceID主要描述资源的ID号。
Replace指明相关的动作,主要是如何使用这些资源文件。
Type主要描述资源的内容,在此处,资源的类型是图片。
Location主要描述资源在本地存放的位置。
Description主要描述资源用途,一般用来呈现给用户。
Default主要描述资源是否是默认的资源。
3、SmilTemplateTree.xml。
<?xml version=″1.0″encoding=″UTF-8″?><!--xml文件头信息--><SmilTemplateTree xmlns:xsi=″http://www.w3.org/2001/XMLSchema-instance″xsi:noNamespaceSchemaLocation=″http://www.sample.com/SmilTemplate.xsd″><!--SMIL模板树声明信息--> |
<Version>1.0.0.1</Version><!--版本号信息--><Global_ID>Tree_001</Global_ID><!--ID信息,全局唯一--><LayoutOfScreen><!--屏幕的布局信息--><FileName>″LayoutOfScreen.smil″</FileName><!--Smil文件名--><SmilID>″LayoutOfScreenSmilSmilID″</SmilID><!--Smil文件对应的ID--><MainScreenVideo><!--主屏幕的视频信息--><FileName>″MainScreenVideo.smil″</FileName><!--Smil文件名--><SmilID>″MainScreenVideoSmilID″<SmilID><!--Smil文件对应的ID--><To>″LayoutOfScreenSmilID″</To><!--归属的父文件ID--></MainScreenVideo><!--主屏幕的视屏信息结束--><MainScreenInteractive><!--主屏幕的交互信息--><FileName>″MainScreenInteractive.smil″</FileName><!--SMIL文件名--><SmilID>″MainScreenInteractiveSmilID″</SmilID><!--Smil文件对应的ID--><To>″LayoutOfScreenSmilSmilID″</To><!--归属的父文件ID--><MainScreenInteractivePresentation><!--主屏幕交互呈现信息--><FileName>″Pres.smil″<FileName><!--SMIL文件名--><SmilID></SmilID><!--Smil文件对应的ID--><To>″MainScreenInteractiveSmilID″</To><!--归属的父文件ID--></MainScreenInteractivePresentation><!--主屏幕交互呈现信息结束--></MainScreenInteractive><!--主屏幕的交互信息结束--><MainScreenLogo><!--主屏幕Logo信息--> |
<FileName>″MainScreenLogo.smil″</FileName><!--SMIL文件名--><SmilID>MainScreenLogoSmilID</SmilID><!--SMIL文件对应的ID--><To>″LayoutOfScreenSmilID″</To><!--归属的父文件ID--></MainScreenLogo><!--主屏幕Logo信息结束--><SouceImage><!--源图片信息--><SourceID>BackgroundImage</SourceID><!--资源ID信息--><To>″LayoutOfScreen″</To><!--归属的父文件--></SourceImage><!--源图片信息结束--><NativeSmil><!--Native的Smil文件信息--><INPFileName>”INPMain.smil”</INPFileName><!--插入的Smil文件名--><INPSmilID></INPSmilID><!--插入的Smil文件的ID--><OutPutFileName>”main.smil”</OutPutFileName><!--生成的Smil文件名--><OutPutSmilID></OutPutSmilID><!--生成的Smil文件的ID--></NativeSmil><!--Native的Smil文件信息结束-></LayoutOfScreen><!--主屏幕的布局信息结束--></SmilTemplateTree><!--SMIL模板树声明信息结束--> |
上述SmilTemplateTree.xml文件主要是提供SMIL模板文件中的所有文件之间的关联关系信息。在整个SMIL模板中,会包含多个的文件,各个文件之间是存在一定的关联的,这些关联包括数据结构关系上的关联以及存储位置之上的关联。
<Version>1.0.0.1</Version><!--版本号信息--><Global_ID>Tree_001</Global_ID><!--ID信息,全局唯一--> |
<Version>1.0.0.1</Version>,描述上述文件的关联关系文件所对应的版本更新,通过判断版本信息是否匹配来确定关联关系文件是否有更新。
<Global_ID>Tree_001</Global_ID>,描述上述文件的关联关系文件的Id,用于同其他关联关系文件进行区分,这个Id信息在整个模板的使用过程当中不会发生变化,是关联关系文件的身份标识。
<LayoutOfScreen><!--屏幕的布局信息--><FileName>″LayoutOfScreen.smil″</FileName><!--Smil文件名--> |
<SmilID>″LayoutOfScreenSmil″</SmilID><!--Smil文件对应的ID--> |
本实施例中的文件之间的关联关系是以一种树状的结构。需要一层一层地描述该树状的结构关系。LayoutOfScreen是整个文件树状结构的根节点,所有的其它文件都是依据这个根节点来生成的。在本实施中,根节点的文件名为LayoutOfScreen.smil,对应的SMIL的ID号为LayoutOfScreenSmilID。
<MainScreenVideo><!--主屏幕的视频信息--><FileName>″MainScreenVideo.smil″</FileName><!--Smil文件名--><SmilID>″MainScreenVideoSmilID″<SmilID><!--Smil文件对应的ID--><To>″LayoutOfScreenSmilID″</To><!--归属的父文件ID--></MainScreenVideo><!--主屏幕的视屏信息结束--> |
上述MainSreenVideo是LayoutOfScreen的一个子节点,该子节点的文件名为MainScreenVideo.smil,对应的SMIL的ID号为MainScreenVideoSmilID,它的父节点为LayoutOfScreenSmilID的ID的SMIL文件。
<MainScreenInteractive><!--主屏幕的交互信息--><FileName>″MainScreenInteractive.smil″</FileName><!--SMIL文件名--><SmilID>″MainScreenInteractiveSmilID″</SmilID><!--Smil文件对应的ID--><To>″LayoutOfScreenSmilID″</To><!--归属的父文件ID--> |
本实施例中的MainScreenInteractive是LayoutOfScreen的一个子节点,该子节点的文件名为MainScreenInteractive.smil,对应的SMIL的ID号为MainScreenInteractiveSmilID,它的父节点为LayoutOfScreenSmilID的ID的SMIL文件。
<MainScreenInteractivePresentation><!--主屏幕交互呈现信息--><FileName>″Pres.smil″<FileName><!--SMIL文件名--><SmilID></SmilID><!--Smil文件对应的ID--><To>″MainScreenInteractiveSmilID″</To><!--归属的父文件ID--></MainScreenInteractivePresentation><!--主屏幕交互呈现信息结束--> |
本实施例中的MainScreenInteractivePresentation是MainScreenInteractive的一个子节点,该子节点的文件名为Pres.smil,对应的SMIL的ID号根据具体的Smil文件填写,如果有内容,则说明存在互动内容;如果没有内容,则说明没有互动内容。MainScreenInteractivePresentation的父节点为MainScreenInteractiveSmilID的ID的SMIL文件。
<MainScreenLogo><!--主屏幕Logo信息--><FileName>″MainScreenLogo.smil″</FileName><!--SMIL文件名--><SmilID>MainScreenLogoSmilID</SmilID><!--SMIL文件对应的ID--><To>″LayoutOfScreenSmilID″</To><!--归属的父文件ID--></MainScreenLogo><!--主屏幕Logo信息结束--> |
本实施例中的MainScreenLogo是LayoutOfScreen的一个子节点,该节点的文件名为MainScreenLogo.smil,对应的SMIL的ID号为MainScreenLogoSmilID,它的父节点为LayoutOfScreenSmilID的ID的SMIL文件。
<SouceImage><!--源图片信息--><SourceID>BackgroundImage</SourceID><!--资源ID信息--><To>″LayoutOfScreenSmilID″</To><!--归属的父文件--></SourceImage><!--源图片信息结束--> |
上述信息的组合主要描述资源文件的目标文件的关系。
<NativeSmil><!--Native的Smil文件信息--><INPFileName>”INPMain.smil”</INPFileName><!--插入的Smil文件名--><INPSmilID></INPSmilID><!--插入的Smil文件的ID-><OutPutFileName>”main.smil”</OutPutFileName><!--生成的Smil文件名--><OutPutSmilID></OutPutSmilID><!--生成的Smil文件的ID--></NativeSmil><!--Native的Smil文件信息结束--> |
上述信息描述的是用来作为生成的smil文件制作的文件为INPMain.smil,在该文件的基础之上,通过操作,可以生成main(主界面).smil,该文件作为输出文件使用。
4、ResourceFile文件。
该文件的格式可以为现有的媒体资源的格式,终端一般都能够支持,因此不做详细的介绍。
5、NativeSmilFile文件。
主要包括一些未完成的NativeSmilFile文件。
下面的NativeSmilFile文件为MainScreen.smil文件。
上述MainScreen.smil文件提供了一个主界面的Smil文件。在上述的内容当中,主要分为4个区域,主界面区、主界面视频区、主界面的交互区域和主界面的logo显示区域。在实际的方案当中可能会存在更多的区域。在该MainScreen.smil文件中包含一些需要终端来填写的子文件,在这些子文件中的以v开头的变量就是需要终端填写的。
下面的例子为MainScreenInteractive.smil文件。
<?xml version=″1.0″encoding=″UTF-8″?><!--xml文件的头信息--><!DOCTYPE smil PUBLIC″-//W3C//DTD SMIL 2.1//EN″″http://www.w3.org/2005/SMIL21/SMIL21.dtd″><!--SMIL头信息声明--><smil id=″MainScreenInteractiveSmilID″><!--Smil信息--><!--smil id为MainScreenInteractiveSmilID--><head><!--Smil头--><meta name=″Title″content=″MainScreenVideo″/><!--Smil元数据信息--><meta name=″author″content=″CMCC″/><!--Smil元数据信息--></head><!--Smil头结束--><body><!--SMIL体--><par id=″MainScreenInterDurID″dur=v_MainScreenInterDur><!--smilpar元数据信息--><img id=MainScreenInterImageSourceIDsrc=v_MainScreenInterImage region=″MainScreenInteractiveRegionID″/><!--Smil Img元数据的id信息--><smil id=Pres.smil></smil><!--Smil引用其他smil的id信息--></par><!--smil par元数据信息结束--></body><!--smil体结束--> |
上述MainScreenInteractive.smil文件中的Pres.smil是用来提供互动演示的smil文件的文件名。这个文件由运营商或者互动内容提供商提供。
下面的例子为MainScreenLogo.smil文件。
<?xml version=″1.0″encoding=″UTF-8″?><!--xml文件的头信息--><!DOCTYPE smil PUBLIC″-//W3C//DTD SMIL 2.1//EN″″http://www.w3.org/2005/SMIL21/SMIL21.dtd″><!--SMIL头信息声明--><smil id=″MainScreenLogoSmil ID″><!--Smil信息--><!--smil id为MainScreenLogoSmilID--><head><!--Smil头--><meta name=″Title″content=″MainScreenVideo″/><!--Smil元数据信息--><meta name=″author″content=″CMCC″/><!--Smil元数据信息--></head><!--Smil头结束--><body><!--SMIL体--><par id=″MainScreenLogoDurID″dur=v_MainScreenLogoDur><!--smil par元数据信息--><img src=″icq.gif″region=″MainScreenLogoRegionID″/>//needto be change!! <!--Smil Img元数据的id信息--></par><!--smil par元数据信息结束--></body><!--smil体结束--></smil><!--smil信息结束--> |
下面的例子为MainScreenVideo.smil文件。
<?xml version=″1.0″encoding=″UTF-8″?><!--xml文件的头信息--><!DOCTYPE smil PUBLIC″-//W3C//DTD SMIL 2.1//EN″″http://www.w3.org/2005/SMIL21/SMIL21.dtd″><!--SMIL头信息声明--><smil id=″MainScreenVideoSmilID″><!--Smil信息--><!--smil id为MainScreenVideoSmilID--><head><!--Smil头--><meta name=″Title″content=″MainScreenVideo″/><!--Smil元数据信息--> |
<meta name=″author″content=″CMCC″/><!--Smil元数据信息--></head><!--Smil头结束--><body><!--SMIL体--><par id=″MainScreenVideoDurID″dur=v_MainScreenVideoDur><!--smilpar元数据信息--><video id=″MainScreenVideoSourceID″src=v_MainScreenVideoSource region=″MainScreenVideoRegionID″/><!--Smil video元数据的id信息--></par><!--smil par元数据信息结束--></body><!--smil体结束--></smil><!--smil信息结束--> |
下面的例子为INPMain.smil文件。
<?xml version=″1.0″encoding=″UTF-8″?><!--xml文件的头信息--><!DOCTYPE smil PUBLIC″-//W3C//DTD SMIL 2.1//EN″″http://www.w3.org/2005/SMIL21/SMIL21.dtd″><!--SMIL头信息声明--><smil><!--Smil信息--><head><!--Smil头--><meta name=″Title″content=″MainScreenVideo″/><!--Smil元数据信息--><meta name=″author″content=″CMCC″/><!--Smil元数据信息--><layout><!--smil布局信息--><root-layout width=″240″height=″320″/><!--smil的根布局信息--><region id=″MainScreenInteractiveRegionID″width=″240″height=″240″top=″0″fit=″meet″z-index=″0″/><!--smil根布局的区域信息--></layout><!--smil布局信息结束--></head><!--smil头结束--><body><!--SMIL体--><par dur=″100000ms″><!--smil par元数据信息--><!--持续时间--><img src=″main.jpg″region=″MainScreenInteractiveRegionID″/><!--Smil image元数据的id信息--></par><!--smil par元数据信息结束--></body><!--smil体结束--></smil><!--smil信息结束--> |
下面的例子为main.smil文件。
终端需要根据上述SmilTemplate.xml文件描述的映射关系,查找上述子文件中需要终端来填写的变量对应什么本地数据,然后获取该本地数据,用该本地数据对该变量进行赋值。在将所有的需要终端来填写的变量都填写后,根据上述SmilTemplateTree.xml文件描述的关联信息,生成一个用于输出的main.smil文件,该main.smil文件即为上述呈现脚本。
综上所述,应用本发明实施例所述装置和方法后,可以实现终端利用SMIL摸板进行与多媒体业务相关的多媒体内容的呈现。服务器端通过控制SMIL摸板的制作和下发,可以控制终端的呈现处理过程,控制用户所获得的感受,从而有利于业务运营商开展业务。
解决通过服务器控制BCAST业务当中的节目指南内容的呈现问题。通过将节目指南内容同呈现文档内容分别传送,从而在保证BCAST的节目指南传输机制兼容的情况下,来实现可控的节目指南内容的呈现。通过对模板相关文件关系以及文件处理方式的定义,对如何组织和处理呈现文档内容,并且如何将呈现内容同节目指南内容相结合进行了规定。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。