CN101617536A - 从服务器向终端传输表示服务的至少一个内容的方法以及相关的设备和计算机程序产品 - Google Patents

从服务器向终端传输表示服务的至少一个内容的方法以及相关的设备和计算机程序产品 Download PDF

Info

Publication number
CN101617536A
CN101617536A CN200880003829A CN200880003829A CN101617536A CN 101617536 A CN101617536 A CN 101617536A CN 200880003829 A CN200880003829 A CN 200880003829A CN 200880003829 A CN200880003829 A CN 200880003829A CN 101617536 A CN101617536 A CN 101617536A
Authority
CN
China
Prior art keywords
service
terminal
content
server
binary data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200880003829A
Other languages
English (en)
Other versions
CN101617536B (zh
Inventor
R·克雷贝尔
埃卢昂·勒科克
让-克洛德·迪富尔
塞德里克·热古
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Streamezzo SA
Original Assignee
Streamezzo SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Streamezzo SA filed Critical Streamezzo SA
Publication of CN101617536A publication Critical patent/CN101617536A/zh
Application granted granted Critical
Publication of CN101617536B publication Critical patent/CN101617536B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25841Management of client data involving the geographical location of the client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/25Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding with scene description coding, e.g. binary format for scenes [BIFS] compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23412Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs for generating or manipulating the scene composition of objects, e.g. MPEG-4 objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234318Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into objects, e.g. MPEG-4 objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25825Management of client data involving client display capabilities, e.g. screen resolution of a mobile phone
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25833Management of client data involving client hardware characteristics, e.g. manufacturer, processing or storage capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25858Management of client data involving client software characteristics, e.g. OS identifier
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41407Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8543Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Abstract

本发明涉及从服务器向终端传输表示服务的至少一个内容的方法。这样的方法包括:所述服务的初步准备阶段,包含:由创建者以包含文本部分和至少一条程序指令的文本描述形式来提供所述服务的步骤;在编译环境中将所述服务的所述文本描述转换为包含可执行指令的服务程序的步骤;在接收到所述终端的请求时,将所述内容传输至所述终端的阶段,包含:在所述服务器上执行所述服务程序,以二进制数据的形式传送所述内容的步骤;将所述二进制数据传输至所述终端的步骤。

Description

从服务器向终端传输表示服务的至少一个内容的方法以及相关的设备和计算机程序产品
技术领域
本发明的技术领域是在例如无线电话、PDA(“个人数字助理”)、膝上型电脑等类型的无线电通信终端上创建和传输多媒体内容。
特别地,多媒体内容被理解成表示如下意思:由至少一个动画图形场景(也被称为多媒体场景)以及使得这个场景能够从一个状态播放到另一个状态的一系列命令组成的集。特别地,多媒体场景对应于无线电通信终端的用户能够与其交互的一组图形对象在时间和空间上的布置。使用取决于场景描述格式的词汇(vocabulary)来描述该布置。能够在文本描述中或者在二进制描述中使用场景词汇。在XML格式的文本描述中,词汇字是描述中所使用的元素的名称。在二进制描述中,字是描述中所使用的二进制对象。
本发明能够应用在需要以具有交互性的图形对象的时空布置形式来表示信号的所有领域。
特别地,本发明应用至已知的图形场景描述格式,如MPEG-4/BIFS(″Binary Format Scene,二进制格式场景)、SVG(″Scalable Vector Graphics,可伸缩矢量图形)、SMIL(″Synchronized Multimedia Integration Language″,同步多媒体集成语言)、XHTML(″Extensible HyperText Markup Language″,可扩展的超文本标记语言)等等。
背景技术
当前存在多种将文本的多媒体场景描述转换为用户可视内容的设备,这些设备包括:
-编码器类型的设备,其根据文本描述构造等同的二进制内容,
-编译器类型的设备,其根据符号集、关键字以及规则(即,计算机语言),使得能够向执行环境描述将构造等同的二进制内容的指令,
-动态公布引擎类型的设备,其使用文档并解释它以将内容发送至用户。
在上述技术中,使用最广泛的是编码器类型的设备。该编码器类型的设备仅仅将以一种格式F1表述的一组多媒体指令转换(translate)为另一种格式F2,其中格式F2与第一种格式F1相比通常被压缩得更多。
该技术的一个缺点在于:其不能让创作者将一组图形场景转换为将根据执行上下文生成内容的可执行代码。因此,该技术不适于生成动态内容。
最先进的技术定义了动态公布引擎设备如何解释文档并且构造打算被直接广播的内容,即,采用用于原始文档的场景描述部分的格式。在接下来的实例中,这样的格式是例如不需要(exempt of)在服务器上执行的脚本的XML或者HTML文本格式。
例如,服务器页面技术(例如,动态服务器页面TM或者XML服务器页面)提供了用于创建动态和交互的万维网服务器应用程序的服务器脚本开发环境。创作者能够关联XML或者HTML页面和脚本命令以创建交互网页或者强大的基于万维网的应用程序。动态页面技术(ASP、PHP等等)的主体基于所解释的代码,它的执行需要很多资源来提供应答。
Java服务器页面(JSP)技术的不同之处在于它们仅仅在已经更新Java服务器页面脚本的情况下被编译。这些JSP技术与被完全解释的技术相比运行得更快。
然而,在每种情况中,文档在用户请求时才被解释,这使得全部内容的先验(priori validation)变得很困难。
另外,这些技术不允许“动态服务”(即,一组动态内容以及连接所述动态内容的导航规则)的先验,更不用说内容生成系统作为一个整体的操作。
此外,在用户请求时进行解释使得在服务中所使用的媒体的任何管理都变得困难或不可能,尤其是在对这些媒体的引用由脚本命令创建时。
最后,JSP技术的另一个缺点是由服务描述的全部词汇字必须是最终语言的字而引起的。不可能在服务描述中进行扩展,这不会与最终语言兼容。
还存在单独地基于编程语言的应用程序设计方法。其实际上可以在计算机程序中包括一系列模块,该计算机程序的功能包含:
-存储器中多媒体场景的创建;
-对所述场景的交互性、动画以及绘制(rendering)的管理;
-与服务器对话并且解释所述服务器的响应。
这些方法使得能够创建任何类型的服务,包括可能在游戏类型的应用程序中所需的数据表示与计算的十分复杂的混合。
另一方面,这些方法就开发时间来说是非常耗时的并且很不适合于在具有不同终端的较宽范围内广播,因为必须在每一种类型的终端上测试每一个应用程序。
最后,以编译器类型的设备为基础的技术仅仅使得能够生成可执行代码,输入时所使用的计算机语言常常描述由执行环境所解释和执行的基本指令而不是内容创建规则,并且因而不能在创建动态内容的框架内使用。
本发明的目的
特别地,本发明的目的是减轻现有技术的这些缺点。
根据本发明的至少一个实施例,该方法使得创作者能够在部署服务之前验证动态服务,即,一组动态内容和连接所述动态内容的导航规则。其接下来被称为“先验”。
根据本发明的至少一个实施例,该方法还使得创作者能够通过减少中间步骤的权重,尤其是通过减少为了执行该服务而要被处理的字符串的量来保证表示动态服务的可执行代码的最优操作。
此外,根据本发明的至少一个实施例,该方法使得能够获得内容创建的可表达性上的改进(gain),因为服务的创作者受益于使得创作者能够同时处理内容表示、在执行环境中执行的指令的解释以及动态模式中这些内容的生成的集成机制。
根据本发明的至少一个实施例,该方法通过在存储器中存储并且仅仅执行所生成的可执行代码而使得能够减少存储量并且使用用于动态服务的执行的计算资源。与传统的公布引擎相反,在执行期间不需要可执行代码中的文档解释器。
根据本发明的至少一个实施例,该方法有利地使得能够获得公布系统的实现上的改进:集成了编译器、编码器以及公布引擎的设备的使用使得能够简化编辑所述内容的过程。这保证了创作者具有集成的环境,从而使得创作者能够在单个接口中生成动态服务并且验证这些服务的复杂性、一致性和操作,而无需对公布服务器平台进行部署。
根据本发明的至少一个实施例,该方法还使得能够获得与传统执行环境的兼容,而同时能够生成与任何兼容执行环境相兼容的可执行代码(即,J2EE平台上的JAVA可执行代码)。
根据本发明的至少一个实施例,该方法还使得能够增加与最终语言不兼容的描述扩展。这些扩展旨在优化服务或者服务的多个阶段中的一个,并且由二进制生成阶段来删除。这种较大的灵活性使得能够为创作者简化表示信息,这对于在服务执行期间优化所生成的代码的执行来说是有用的:例如,服务器缓存指令、包括在多个其它场景中的场景子集的分解。
根据本发明的至少一个实施例,该方法使得能够实现对服务所引用的媒体的微调,原因在于对服务的所有部分(包括对所述媒体的引用)的系统解释。
此外,根据本发明的至少一个实施例,该方法使得能够在设计阶段期间增加可检测的设计错误的数量并且因而使得能够改进服务先验:在将动态服务的文本描述转换为可执行代码的阶段期间,文本描述的两个部分(即场景描述和程序指令)被转换并且被合并成单个描述,这使得能够对所述两个部分之间的链接进行静态和全局分析,而对于已有技术,验证这些链接的唯一方式是在工作环境中执行大量的内容请求。
最后,在根据本发明的至少一个实施例的方法中所使用的技术通过无需任何先进的编程技巧来设计服务而使得开发成本能够降低。此外,能够在每一种类型的终端上测试一个通用绘制器而不管该通用绘制器将使用的服务数量。
发明内容
通过从服务器向终端传输表示服务的至少一个内容的方法来达到这些目的以及在下文中将会变得显而易见的其它目的。
根据本发明,这样的方法包括:
-所述服务的初步准备阶段,包含:
--由创建者以包含文本部分和至少一条程序指令的文本描述形式来提供所述服务的步骤;
--在编译环境中将所述服务的所述文本描述转换为包含可执行指令的服务程序的步骤;
-在接收到所述终端的请求时,将所述内容传输至所述终端的阶段,包含:
--在所述服务器上执行所述服务程序,以二进制数据的形式传送所述内容的步骤;
--将所述二进制数据传输至所述终端的步骤。
按照该方式,根据本发明的方法使得能够响应终端的请求,将表示服务的二进制内容传输至终端,而事先已经完成了服务准备阶段。
该准备阶段首先在于通过服务创建者创建所讨论的服务并且在于将该服务提供至传输服务器。
该提供步骤在于使得服务对于传输服务器可用,该服务于服务设计环境中在该服务器自身“内部”被创建,或者在该服务器外部的设计环境(例如专用于创建服务的计算机或服务器)中被创建。
在第一种情况下,提供步骤在于在单个服务器内传输服务,而在第二种情况下,该步骤在于提供具有如下服务的服务器,该服务相对于该服务器在“外部”被创建。
所创建的服务有利地是包含文本部分以及至少一条程序指令的文本描述形式。
因而,一旦服务已经被创建并且对于服务器可用,该服务就经历在所谓的编译环境中的转换步骤。该转换步骤在于将服务的文本描述转换为包含可执行指令的服务程序。
该转换步骤还出现在传输服务器中。
在传输之前准备服务的这个阶段使得能够实现在处理对终端请求的响应上可观的时间改进,服务已经被预处理并且“准备”以服务程序的形式来执行。
此外,该服务程序的创建使得二进制数据能够在下一个执行步骤中被动态地生成,而无需通过如XML的语言来传递,从而使得能够显著地节省传输表示服务的内容所需的存储量。
传输表示服务的内容的阶段自身包括多个步骤,该多个步骤在接收到来自接收内容的终端的请求时被启动。
第一步骤首先在于在服务器上执行服务程序,从而传送或者生成二进制数据形式的内容。
因而,接下来,响应于终端的请求而将所生成的二进制数据传输至终端。
在所述服务器上执行所述服务程序的所述步骤优选地包括识别(identify)与所述终端相关联的执行上下文、提供所述终端的至少一个特征的子步骤,考虑所述终端的所述至少一个特征用来生成被传输至所述终端的所述二进制数据。
按照这种方式,传输服务器将考虑包含在例如终端所发送的请求中的终端的某些特征,以创建服务程序的执行环境,并且从而使执行适应于所述终端。因而,识别执行上下文的该步骤使得能够优化服务程序执行步骤,且同时考虑终端的特征。
服务器还将考虑与服务相关的特征来创建该执行上下文。
通过使用所述服务的所述文本描述中所使用的场景词汇,所述转换和执行步骤有利地实现为单个编程接口。
因而,转换步骤将特别地确定服务的文本描述是否与场景词汇一致。因而,属于该词汇的术语将用来通过编程接口将文本转换为指令。例如,转换步骤将使用包含场景词汇的术语以及相应指令的字典。
此外,服务程序也与该场景词汇一致。因而,通过使用相同的场景词汇,服务程序执行步骤将使用该相同的编程接口,以解释和执行指令。
依照根据本发明的方法的一个特定方面,所述场景词汇包括引用至少一种媒体的元素。
因而,场景词汇使得能够引用音频或者视频。
依照根据本发明的方法的另一方面,所述程序指令中的至少一个与至少一个多媒体对象相关。
例如,程序指令能够允许创建视频对象(例如,“剪辑(clip)”)或者音频对象(例如,音乐插曲或者“叮当声(jingle)”)。
根据另一个特定实施例,所述程序指令中的至少一个与指向至少一个多媒体对象或者其它内容的至少一个地址相关。
因而,程序指令使得能够使用在服务中没有被直接描述但能够通过例如″URL″的地址来访问的多媒体(音频、视频、...)对象或者内容。
所述传输步骤有利地包括在服务器输出端多路复用所述内容的所述二进制数据的步骤,二进制数据独立于所述内容而生成。
因而,根据本发明的方法使得服务器能够将已经集成了例如音频或者视频数据的其它数据的表示服务的内容传输至终端。多路复用该二进制数据与服务数据以形成要被传输至终端的“完整”内容。
根据又一个特定实施例,并行地执行所述传输和执行步骤,从而所述二进制数据在其被生成时被传输至终端。
因而,随着二进制数据在服务器上的生成,这些传输和执行步骤的并行使得能够进行表示服务的内容的连续模式传输,其还被称为“流”。特别地,这使得即使还没有在服务器上执行整个服务程序就开始将内容传输至终端成为可能。
所述服务的所述初步准备阶段有利地包括在所述转换步骤之前控制所述场景词汇的步骤,从而验证所述文本部分对应于所述场景词汇的元素。
按照这种方式,该控制步骤将使得能够在考虑所选的场景词汇时验证是否已经创建服务,并且通过消除与词汇不一致的描述元素,或者通过校正它们,将使得能够促进服务的文本描述的转换。
此外,根据一个特定实施例,所述服务的所述初步准备阶段包括控制所述程序指令的步骤,从而验证所述程序指令或者多个指令是否对应于可以直接转换为能够由所述服务器来执行的二进制代码序列的计算机程序指令。
该控制步骤使得能够验证服务的描述中出现的程序指令是否与服务器可执行指令一致。同样,该步骤使得转换步骤更容易。
所述服务的所述初步准备阶段有利地包括使用所述相同的编程接口将所述文本部分转换为程序指令的步骤。
因而,该转换步骤使用与在转换和执行步骤中所使用的接口相同的编程接口。
最后,根据又一特定实施例,所述服务的所述初步准备阶段包括一致性控制步骤,其验证所述描述的所述程序指令是否与从所述转换步骤中获得的那些指令一致。
按照这种方式,例如,该方法能够验证指令是否不使用没有在文本描述中出现的元素。此外,该步骤能够验证转换步骤是否已经生成了与服务创建时所出现的指令一致的指令。
本发明还涉及从服务器向终端传输表示服务的至少一个内容的设备。
根据本发明,这样的设备包括:
-所述服务的初步准备装置,包含:
--接收由创建者以包含文本部分和至少一条程序指令的文本描述形式来提供的所述服务的装置;
--在编译环境中将所述服务的所述文本描述转换为包含可执行指令的服务程序的装置;
-在接收到所述终端的请求时,将所述内容传输至所述终端的装置,包含:
--在所述服务器上执行所述服务程序且以二进制数据的形式传送所述内容的装置;
--将所述二进制数据传输至所述终端的装置。
特别地,这样的设备能够实现此前所述的根据本发明的传输方法。
例如,这样的设备是能够将表示服务的内容传输至终端的服务服务器。
本发明进一步涉及计算机程序产品,其能够从通信网络下载和/或被记录在机器可读介质上和/或由处理器执行,其特征在于,所述计算机程序产品包括用于实现此前所述的传输方法的程序代码指令。
附图说明
在阅读了出于非限制性和示例性目的而给出的一个具体实施例的下列描述之后并且根据附图,本发明的其它特征和优点将变得更加明显,附图中:
-图1示出了根据本发明一个实施例的动态服务的示例性设计;
-图2示出了根据本发明的一个具体实施例,对依照图1的实例而设计的动态服务进行传输的实例;
-图3示出了根据本发明一个具体实施例的方法的各个步骤。
具体实施方式
本发明的总体原则
本发明的总体原则在于描述如下方法:将多媒体场景的描述转换为系统代码,然后该系统代码的执行在还被称为动态服务的内容中生成二进制多媒体数据。
根据本发明的方法在于为创作者提供基于场景描述生成能够由计算机系统直接理解的可执行代码的工具。接下来,该代码的执行将产生一组内容,其将取决于所述代码的执行上下文(即,服务以及使用该服务的客户请求)。这些内容被称为是动态的。
结合图3介绍根据本发明一个特定实施例的方法的各个步骤。
各个步骤能够被分组为2个阶段:
-准备阶段31;
-传输阶段32。
第一准备阶段31包括两个步骤,其使得能够生成服务程序。
提供服务的第一步骤311在于设计和创建服务,该服务旨在由请求该服务的终端来使用。能够在传输服务器内部或者外部执行该步骤。
在这两种情况下,对于将该服务转换为服务程序的第二步骤312,使得包含文本部分和至少一条程序指令的以文本描述形式所表示的服务对于服务器可用。
该步骤在于将服务的文本描述转换为服务程序形式的服务器可执行指令。
第二传输阶段32也包括两个步骤,这两个步骤响应于来自终端的请求,使得能够提供二进制内容并且将其传输至终端。
执行服务程序的第一步骤321在于将服务程序转换为二进制数据且同时执行它。该二进制数据形成了在第二传输步骤322中要被传输至终端的内容。
在下文中,结合图1示出了根据本发明一个特定实施例的设计服务的步骤。
一般而言,被称为工作室的创作工具11创建和/或作用于动态服务12的文本描述。接下来,由解释器13基于使动态服务的描述中所述的元素与相应程序指令匹配的字典14来编译所述动态服务12的描述。编译的结果是可执行代码16形式的动态服务15。
图2示出了根据本发明一个特定实施例的、传输如此前所述那样设计的动态服务的步骤。将动态服务15的可执行代码16放置在服务服务器23的环境中。终端20将内容请求21发送至服务服务器23。服务服务器23针对客户端和所请求的服务创建执行上下文24。在该执行上下文24中执行动态服务15的可执行代码16以生成响应22,其接着由服务器23传输至终端20。
设计动态服务
第一实施例
在下文中,结合图1介绍根据本发明第一实施例的设计动态服务的各个步骤。
创作者将利用工作室工具11来制作其中图形对象具有动态特性的多媒体演示。
创作者还表述使得用户能够在各种演示之间导航的导航规则。
在下文中使用术语动态服务来表示所有动态内容和使它们互连的导航规则。
在设计步骤中,动态服务12的描述形式是文本形式,其中通过使用LASeR类型的词汇将程序指令插入到说明性文本描述中。
将创作者所表述的图形元素、图形布置和导航规则输入至特别负责动态内容的文本描述的二进制生成的解释器工具13。基于指令和规则字典14(其还被称为词汇),该解释器13构造也被称为二进制数据的一组可执行代码16,其使得能够:
-将基本图形元素转换为由图2的服务服务器23的执行环境所解释和执行的一组基本命令,
-应用在语义层次上验证描述的一致性的规则,其还被称为词汇控制步骤。应当注意到,这些验证对于例如DTD类型(“文档类型定义”)的句法和非文本描述是不可能的,其使得能够验证XML(“可扩展标记语言”)文档是否与给定语法一致或者是否为XSD类型(“XML模式定义”),这使得能够验证XML文档是否与给定语法一致,
-应用其它内容生产规则,例如,用于管理与场景描述同步的媒体的规则,从而使得能够对用户体验进行优化。
接下来,将该组可执行代码插入到服务服务器23的执行环境中。
第二实施例
在实现本发明的一种特定方式中,动态服务文本描述12经历期望克服与创作工具工作室11相关联的限制的服务设计者的文本编辑步骤。
第三实施例
在实现本发明的另一种方式中,动态服务文本描述12由具有LASeR场景元素和属性以及LASeR场景修改命令的LASeR ML(“LASeR标记语言”)描述(即,LASeR格式的交互性多媒体场景的内容的语句)组成。
在该描述中,插入Java程序指令,如下面一个实例中所述:
    <%@page import=″dynamic.Dynamic Properties″%>
    <saf:SAFSession
xmlns:ev=″http://www.w3.org/2001/xml-events″
    xmlns:saf=″urn:mpeg:mpeg4:SAF:2005″
xmlns:xlink=″http://www.w3.org/1999/xlink″
xmlns:lsr=″urn:mpeg:mpeg4:LASeR:2005″
xmlns=″http://www.w3.org/2000/svg″>
    <saf:sceneHeader>
    <lsr:LASeRHeader   coordBits=″19″   resolution=″1″
profile=″full″>
    <%
    dynamic.DynamicProperties  dp=new
dynamic.DynamicProperties();
    %>
    </lsr:LASeRHeader>
    </saf:sceneHeader>
    <saf:sceneUnit time=″0″>
    <lsr:NewScene>
    <svg height=″100%″width=″100%″viewBox=″0 0 176 208″>
    <rect height=″208″x=″0″width=″176″
    fill=″<%=dp.getBgColor()%>″y=″0″/>
    <polyline points=″...″  stroke=″rgb(0,0,0)″
fill=″rgb(92,140,250)″/>
    </svg>
    </lsr:NewScene>
    </saf:sceneUnit>
    <saf:endOfSAFSession/>
    </saf:SAFSession>
这些Java指令能够引用:
-场景的LASeR描述的已命名的元素,即,具有″id″属性的元素,该属性的值是字符串形式的元素名称;
-包含所述Java指令所插入位置的元素;
-属于使得LASeR元素能够被创建的特定功能(function)库的方法,从而能够在这些指令内创建属性或者元素并且在场景的任何相关位置插入它们;
-属于对在各种终端上设计动态多媒体服务有用的通用功能库的方法,包括:
--来自远程服务器(封装的HTTP客户端)的资源的恢复,
--存储在高速缓冲存储器(数据库)中的资源的处理,
--所述服务服务器上的图像的大小调整/编码转换,
--通过对终端容量信息进行解码来获得与终端有关的信息。
-属于特定服务的专用需求的任何库的方法,一个接下来将必须在服务的执行环境中出现的库。
在该描述中,″<%″和″%″限定程序指令区域。第一区域对应于包含全部所需库的包导入(package imports),第二区域创建使得特性能够被获取的对象,而第三区域检查背景颜色。
在该描述中,以XML格式描述属性,并且在程序指令中(这里是在Java中)定义属性的值。
特别地,这使得创作者能够自由地以一种或者其它形式来定义元素、属性和内容,或者甚至以一种形式部分地定义它们并且以另一种形式来完成它们。
例如,以下的描述摘录实现了对包含程序指令的元素的引用:
<lsr:Insert>
 <text DEF=″text″fill=″rgb(0,0,0)″>
 <%currentText.setString(″toto″);%>
 </text>
</lsr:Insert>
根据本发明各种特定实施例的解释器工具的实例
在实现本发明的第一可能方式中,解释器工具13由下列组成:
-创建场景的LASeR部分的DOM(“文档对象模型”)表示的XML解析器;
-Java预解析器,其分离并且分析服务描述中的程序指令部分;
-转换操作,其分析场景的LASeR部分的DOM表示并且将每个属性和每个元素转换为一系列程序指令;
-把所转换的LASeR描述的程序指令与可能由设计者或创作者增加至服务描述的程序指令合并的步骤;
-程序指令的编译以及编辑链接以获得动态服务15的可执行代码16。相关联的库实现了场景元素创建接口、请求接口以及设计服务所特别需要的其它接口。
在实现本发明的一个优选方式中,解释器工具13由下列组成:
-所谓的“即时”(on-the-fly)XML解析器或者SAX解析器(“用于XML的简单API”),其产生事件;
-解释器,其分析所述事件并且将所述事件转换为生成每个属性和每个元素的一系列程序指令;
-将所转换的LASeR描述的程序指令与可能由设计者或创作者增加至服务描述的程序指令合并的步骤;
-程序指令的编译以及编辑链接以获得所述动态服务15的可执行代码16。相关联的库实现了场景元素创建接口、请求接口以及设计服务所特别需要的其它接口。
动态服务的传输
现在将结合图2介绍根据本发明一个实施例的传输如此前所述那样设计的动态服务的步骤。
在与生成请求21的用户的交互之后,终端20从服务服务器23请求内容。
服务服务器23选择执行环境24并且执行可执行代码16,即,在该代码中包含的各种指令。
特别地,这些各种指令使得能够考虑以下各种参数:
-服务逻辑,即,与特定于服务的序列相对应的逻辑;
-客户端终端20类型的管理逻辑,其基于所述终端20的特征而可能适应场景描述的内容;
-管理所述服务所需的外部资源的逻辑,例如对外部数据库的访问;
-管理所述服务所使用的媒体的逻辑,例如,符合图形规章(graphic charter),需要使用视觉或听觉标志;
基于在执行步骤期间的多种场合中特别地考虑了基于对在前参数的考虑的单个参数的服务,能够以可变的顺序来考虑这些各种参数。
因此,执行步骤遵循通过考虑以上各种逻辑而获得的用于场景描述的二进制生成的逻辑。
服务器接着将内容发送至终端20,该内容描述了图形对象的时空布置,其构成响应22。接下来,将所有的这些步骤重复必要的次数以响应用户的连续请求。
在实现服务服务器23的一个特定方式中,多路复用阶段跟随在二进制生成阶段之后。
在服务有效期的过程内,生成一组二进制场景描述包,并且经由单个通信通道发送包含通常为音频或者视频的媒体框架的一组包。
该多路复用阶段包含对委托给多路复用器的包的发送进行调度的步骤,以及接下来以对用户体验最佳的方式交错各种类型的包的步骤。

Claims (13)

1.一种从服务器向终端传输表示服务的至少一个内容的方法,其特征在于,所述方法包括:
-所述服务的初步准备阶段,包含:
--由创建者以包含文本部分和至少一条程序指令的文本描述形式来提供所述服务的步骤;
--在编译环境中将所述服务的所述文本描述转换为包含可执行指令的服务程序的步骤;
-在接收到所述终端的请求时,将所述内容传输至所述终端的阶段,包含:
--在所述服务器上执行所述服务程序,以二进制数据的形式传送所述内容的步骤;
--将所述二进制数据传输至所述终端的步骤。
2.如权利要求1所述的传输方法,其特征在于,在所述服务器上执行所述服务程序的所述步骤包括识别与所述终端相关联的执行上下文、提供所述终端的至少一个特征的子步骤,考虑所述终端的所述至少一个特征来生成被传输至所述终端的所述二进制数据。
3.如权利要求1所述的传输方法,其特征在于,通过使用所述服务的所述文本描述中所使用的场景词汇,所述转换和执行步骤有利地实现为单个编程接口。
4.如权利要求3所述的传输方法,其特征在于,所述场景词汇包括引用至少一种媒体的元素。
5.如权利要求1所述的传输方法,其特征在于,所述程序指令中的至少一个与至少一个多媒体对象相关。
6.如权利要求1所述的传输方法,其特征在于,所述程序指令中的至少一个与指向至少一个多媒体内容或者其它内容的至少一个地址相关。
7.如权利要求1所述的传输方法,其特征在于,所述传输步骤包括在服务器输出端多路复用所述内容的所述二进制数据的步骤,其中二进制数据独立于所述内容而生成。
8.如权利要求1所述的传输方法,其特征在于,并行地执行所述传输和执行步骤,使得所述二进制数据在其被生成时被传输至终端。
9.如权利要求3所述的传输方法,其特征在于,所述服务的所述初步准备阶段包括在所述转换步骤之前控制所述场景词汇的步骤,从而验证所述文本部分对应于所述场景词汇的元素。
10.如权利要求1所述的传输方法,其特征在于,所述服务的所述初步准备阶段包括使用所述相同的编程接口将所述文本部分转换为程序指令的步骤。
11.如权利要求10所述的传输方法,其特征在于,所述服务的所述初步准备阶段包括一致性控制步骤,其验证所述文本描述的所述程序指令是否与从所述转换步骤中获得的那些指令一致。
12.一种从服务器向终端传输表示服务的至少一个内容的设备,其特征在于,所述设备包括:
-所述服务的初步准备装置,包含:
--接收由创建者以包含文本部分和至少一条程序指令的文本描述形式来提供的所述服务的装置;
--在编译环境中将所述服务的所述文本描述转换为包含可执行指令的服务程序的装置;
-在接收到所述终端的请求时,将所述内容传输至所述终端的装置,包含:
--在所述服务器上执行所述服务程序且以二进制数据的形式传送所述内容的装置;
--将所述二进制数据传输至所述终端的装置。
13.一种计算机程序产品,其能够从通信网络下载和/或被记录在机器可读介质上和/或由处理器执行,其特征在于,所述计算机程序产品包括用于实现如权利要求1至11中的至少一个所述的传输方法的程序代码指令。
CN200880003829XA 2007-02-02 2008-01-25 从服务器向终端传输表示服务的至少一个内容的方法以及相关的设备 Active CN101617536B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0700765A FR2912275B1 (fr) 2007-02-02 2007-02-02 Procede de transmission d'au moins un contenu representatif d'un service, depuis un serveur vers un terminal, dispositif et produit programme d'ordinateur correspondants
FR0700765 2007-02-02
PCT/EP2008/050906 WO2008095800A1 (fr) 2007-02-02 2008-01-25 Procede de transmission d'au moins un contenu representatif d'un service, depuis un serveur vers un terminal, dispositif et produit programme d'ordinateur correspondants

Publications (2)

Publication Number Publication Date
CN101617536A true CN101617536A (zh) 2009-12-30
CN101617536B CN101617536B (zh) 2012-11-28

Family

ID=38669902

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880003829XA Active CN101617536B (zh) 2007-02-02 2008-01-25 从服务器向终端传输表示服务的至少一个内容的方法以及相关的设备

Country Status (5)

Country Link
US (1) US9560401B2 (zh)
EP (1) EP2116056A1 (zh)
CN (1) CN101617536B (zh)
FR (1) FR2912275B1 (zh)
WO (1) WO2008095800A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2912275B1 (fr) * 2007-02-02 2009-04-03 Streamezzo Sa Procede de transmission d'au moins un contenu representatif d'un service, depuis un serveur vers un terminal, dispositif et produit programme d'ordinateur correspondants
US8487941B2 (en) * 2008-12-15 2013-07-16 Leonovus Usa Inc. Media action script acceleration apparatus
US20100149215A1 (en) * 2008-12-15 2010-06-17 Personal Web Systems, Inc. Media Action Script Acceleration Apparatus, System and Method
US8487942B2 (en) * 2008-12-15 2013-07-16 Leonovus Usa Inc. Media action script acceleration system
US20110219097A1 (en) * 2010-03-04 2011-09-08 Dolby Laboratories Licensing Corporation Techniques For Client Device Dependent Filtering Of Metadata
US8447873B1 (en) * 2011-06-29 2013-05-21 Emc Corporation Managing object model communications
CN112486796B (zh) * 2020-12-30 2023-07-11 智道网联科技(北京)有限公司 一种采集车载智能终端信息的方法和装置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4726096B2 (ja) * 1997-04-07 2011-07-20 エイ・ティ・アンド・ティ・コーポレーション Mpegコード化オーディオ・ビジュアル対象物を表すビット・ストリームの発生およびインターフェースで連結するためのシステムおよび方法
JP4035872B2 (ja) * 1997-10-27 2008-01-23 株式会社日立製作所 ファイルフォーマット変換方法とこれを用いたファイルシステム及び情報システム及び電子商取引システム
FI114371B (fi) * 1999-08-09 2004-09-30 Nokia Corp Menetelmä kantopalvelun valitsemiseksi palvelulle langattomassa matkaviestinjärjestelmässä, tiedonsiirtojärjestelmä ja matkaviestinpäätelaite
EP1107550B1 (en) * 1999-12-06 2005-11-09 Alcatel A terminal to execute a terminal application
EP1111506A1 (en) * 1999-12-23 2001-06-27 Alcatel Method and apparatus for processing environment determination
DE60139431D1 (de) * 2000-03-17 2009-09-10 Digital Electronics Corp Steuerungsserver, Steuerungsendgerät, Steuerungssystem und Speichersteuerungskommunikationsprogramm für Aufzeichnungsmedien
FR2819604B3 (fr) * 2001-01-15 2003-03-14 Get Int Procede et equipement pour la gestion des interactions multimedias mono-ou multi-uitilisateurs entre des peripheriques de commande et des applications multimedias exploitant la norme mpeg-4
US7216288B2 (en) * 2001-06-27 2007-05-08 International Business Machines Corporation Dynamic scene description emulation for playback of audio/visual streams on a scene description based playback system
US7395122B2 (en) * 2001-07-13 2008-07-01 Siemens Aktiengesellschaft Data capture for electronically delivered automation services
EP1547343A1 (en) * 2002-09-25 2005-06-29 Koninklijke Philips Electronics N.V. Communication system and method of managing a streaming session
US7251277B2 (en) * 2002-12-04 2007-07-31 International Business Machines Corporation Efficient means for creating MPEG-4 textual representation from MPEG-4 intermedia format
KR100513736B1 (ko) * 2002-12-05 2005-09-08 삼성전자주식회사 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일생성 방법 및 시스템
US8700988B2 (en) * 2002-12-20 2014-04-15 Sap Portals Israel Ltd. Selectively interpreted portal page layout template
US7774751B2 (en) * 2003-12-26 2010-08-10 Yefim Zhuk Knowledge-driven architecture
US20050234844A1 (en) * 2004-04-08 2005-10-20 Microsoft Corporation Method and system for parsing XML data
BRPI0418942B1 (pt) * 2004-07-09 2018-05-29 Telefonaktiebolaget Lm Ericsson Método para prover serviços diferentes em um sistema de comunicação de multimídia, e, servidor de aplicativo em um sistema de comunicação de multimídia
US20060179079A1 (en) * 2005-02-09 2006-08-10 Mikko Kolehmainen System, method and apparatus for data transfer between computing hosts
US7877460B1 (en) * 2005-09-16 2011-01-25 Sequoia International Limited Methods and systems for facilitating the distribution, sharing, and commentary of electronically published materials
FR2898707B1 (fr) * 2006-03-17 2009-05-15 Streamezzo Sa Procede, dispositif et systeme de gestion d'informations structurees au sein d'une scene graphique
FR2899755B1 (fr) * 2006-04-10 2008-10-10 Streamezzo Sa Procede de restitution adaptative d'au moins un contenu multimedia sur un dispositif de visualisation orientable d'un terminal
FR2902543A1 (fr) * 2006-06-20 2007-12-21 Alcatel Sa Procede de creation de contenus multimedia pour terminaux mobiles, produit programme d'ordinateur pour la mise en oeuvre d'un tel procede
US20080052396A1 (en) * 2006-08-22 2008-02-28 Motorola, Inc. Providing a service from an application service provider to a client in a communication system
FR2912275B1 (fr) * 2007-02-02 2009-04-03 Streamezzo Sa Procede de transmission d'au moins un contenu representatif d'un service, depuis un serveur vers un terminal, dispositif et produit programme d'ordinateur correspondants

Also Published As

Publication number Publication date
FR2912275A1 (fr) 2008-08-08
CN101617536B (zh) 2012-11-28
FR2912275B1 (fr) 2009-04-03
US9560401B2 (en) 2017-01-31
EP2116056A1 (fr) 2009-11-11
US20100030852A1 (en) 2010-02-04
WO2008095800A1 (fr) 2008-08-14

Similar Documents

Publication Publication Date Title
CN101617536B (zh) 从服务器向终端传输表示服务的至少一个内容的方法以及相关的设备
US7146615B1 (en) System for fast development of interactive applications
US7376932B2 (en) XML-based textual specification for rich-media content creation—methods
CN100432937C (zh) 传送多媒体描述
US20080010664A1 (en) Method and System for Providing Interactive Services in Digital Television
US20030110297A1 (en) Transforming multimedia data for delivery to multiple heterogeneous devices
US20090157407A1 (en) Methods, Apparatuses, and Computer Program Products for Semantic Media Conversion From Source Files to Audio/Video Files
US20040133635A1 (en) Transformation of web description documents
JP2004533736A (ja) 双方向テレビジョンでの表示のためにコンテンツを再フォーマットする方法及び装置
TWI323126B (en) Method to transmit and receive font information in streaming systems
CN102177484B (zh) 提供基于结构化富媒体数据的用户界面的装置和方法
US9542370B2 (en) Method and apparatus for sharing JavaScript object in webpages
JP3930851B2 (ja) グラフィックデータ圧縮に関するメタ言語を用いた入力ファイルの生成方法およびシステム
Vrba et al. Framework for digital TV applications
CN113778419A (zh) 多媒体数据的生成方法、装置、可读介质及电子设备
KR100494845B1 (ko) 확장성 생성 언어 기반의 메타데이터 부호화 장치 및 그방법
CN103077023B (zh) 基于Flex主应用制作JSP插件的方法及装置
CN100496124C (zh) 使用图形数据压缩的元表示产生输入文件的方法
Pihkala Extensions to the SMIL multimedia language
Rodriguez-Alsina et al. Analysis of the TV interactive content convergence and cross-platform adaptation
Tsekleves et al. Semi-automated creation of converged iTV services: From macromedia director simulations to services ready for broadcast
Shao et al. SMIL to MPEG-4 bifs conversion
Hendrickx et al. An Integrated Approach for Device Independent Publication of Complex Multimedia Documents.
Jacobs Web Vocabularies
Joung et al. XMT tools for interactive broadcasting contents description

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant