当前位置: 首页 > 专利查询>微软公司专利>正文

具有可扩展媒体格式的托管应用程序平台制造技术

技术编号:7170836 阅读:219 留言:0更新日期:2012-04-11 18:40
此处描述了媒体交互系统,所述媒体交互系统允许托管应用程序独立于媒体内容的格式消费和/或产生丰富的媒体内容,同时仍然维护主机的安全。所述媒体交互系统接受来自托管应用程序的原始、未压缩的媒体数据,并且允许托管应用程序通过沙箱API来提供其自己的编解码器,所述沙箱API将编解码器能够执行的动作限于可信动作集。然后,应用程序将未压缩的数据提供给用于回放的系统。因此,媒体交互系统提供应用程序开发者支持的任意格式的丰富的媒体内容,并且维护用户的计算机系统的安全。

【技术实现步骤摘要】
【国外来华专利技术】具有可扩展媒体格式的托管应用程序平台背景当代的浏览器和其它应用程序允许插件,所述插件一般包括与主存浏览器/应用程序交互以提供另外的功能的托管软件代码。使用插件的一个原因是提高安全,因为主存浏览器限制托管代码(通常是不可信的)能够执行的动作。因特网已经变得非常危险,有恶意网站经常示图导致用户下载和运行可以损害用户的计算机系统或者摧毁用户的数据的有害代码。因此,网页浏览器通常包括对能够运行的代码以及被允许在用户计算机系统上执行动作的插件的限制。插件增加了由浏览器提供的沙箱的大小,因为它们在减少安装的不可信应用程序的数量的同时允许网页上更多的功能。一个这样的插件是微软 的 Silverlight ,它提供了允许应用程序开发者创建在浏览器中主存的丰富的网页应用程序的平台,所述浏览器一般包括动画、矢量图形和/或媒体(例如音频/视频)内容回放。另一个示例插件是Adobe 的Flash 。一般地,为了播放媒体,平台提供托管应用程序代码调用的应用程序编程接口(APIs)以指定存储特定媒体内容的位置,例如通过指定标识出在打包媒体内容的服务器上的文件或其它容器的统一资源定位符(URL)。平台然后产生网络请求以开始下载媒体。平台通过解包媒体内容来解析媒体内容,以提取媒体内容流来将其提供给用于回放的媒体流水线。像其它平台一样,微软⑧的Silverlight 通过允许应用程序下载或流动包含所支持格式的组合的文件来提供回放各种格式(WMV、WMA, MP3、H. 264、 AAC)的视频和音频的功能。允许的音频和视频类型是不可扩展的,并且执行到所支持格式之一的转换是资源密集的。不幸的是,如上文所述,这样的平台一般限于播放由平台设计者预期的一种或多种已知格式的媒体内容。例如,平台可以包括诸如运动图像专家组第4版(MPEG4或MP4)、 DIVX或其它格式等特定媒体类型的压缩机和解压缩机(编解码器)。随着用于进一步压缩媒体内容的新算法的发现以及用于传递与媒体内容相关的附加信息的新场景的标识,快速进化是编解码器所常见的。因此,随着时间推移平台可以支持过时的或者不再流行或最有效的媒体格式。平台更新一般是添加新的媒体格式支持的唯一途径。此外,平台设计者必须执行额外的工作以实现对每种媒体格式的支持,这会造成平台实现的庞大并且减缓将新的媒体类型支持添加至平台的进程。一些编解码器是专有的,因此如果有的话,平台设计者无法添加对使用编解码器而不通过编解码器提供者授权编解码器的媒体类型的支持。平台经常施加控制于哪些编解码器应用程序可以使用平台的原因是为了确保安全。编解码器经常与计算机系统硬件密切地互动以显示视频和回放音频,并且可以执行对用户计算机系统有害的动作。现在的系统交换更广发的媒体类型安全支持。此外,下载速度是通常检查的插件度量,并且随着平台尺寸的增加,下载速度将降低。 因此,平台设计者有动机支持更少的媒体格式以保持小的平台尺寸。概述此处描述了媒体交互系统,所述媒体交互系统允许托管应用程序独立于媒体内容的格式消费和/或产生丰富的媒体内容,同时仍然维护主机的安全。所述媒体交互系统接受来自托管应用程序的原始、未压缩的媒体数据,并且允许托管应用程序通过沙箱API来提供其自己的编解码器,所述沙箱API将编解码器能够执行的动作限于可信动作集。媒体交互系统调用提供给系统的应用程序。应用程序运行和下载来自服务器的压缩的媒体内容,或者可以在运行中创建媒体数据。媒体交互系统提供其中应用程序可以安全地运行解压缩代码的沙箱,并且应用程序提供代码以将压缩的媒体数据转化为用于回放的未压缩的数据。然后,应用程序将未压缩的数据提供给用于回放的系统。因此,媒体交互系统提供应用程序开发者支持的任意格式的丰富的媒体内容,并且维护用户的计算机系统的安全。提供本概述以便以简化形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识出所要求保护的主题的关键或必要特征,也不旨在用于限定所要求保护的主题的范围。附图简述附图说明图1是示出在一个实施例中的媒体交互系统的组件的框图。图2是示出在一个实施例中的系统在平台级播放媒体的处理的流程图。图3是示出在一个实施例中的系统在应用级播放媒体的处理的流程图。图4是示出在一个实施例中的媒体交互系统的操作环境的框图。图5是示出在一个实施例中的其中应用级代码来自抽象类型的更具体示例的框图。图6是示出在一个实施例中的与图5的示例对应的回放步骤的流程图。图7是示出在一个实施例中的处理自定义容器格式的媒体流源 (MediaStreamSource)的子类划分的数据流图。详细描述此处描述了媒体交互系统,所述媒体交互系统允许托管应用程序独立于媒体内容的格式消费和/或产生丰富的媒体内容,同时仍然维护主机的安全。所述媒体交互系统接受来自托管应用程序的原始、未压缩的媒体数据,并且允许托管应用程序通过沙箱API来提供其自己的编解码器,所述沙箱API将编解码器能够执行的动作限于可信动作集。媒体交互系统调用提供给系统的应用程序。例如,网页可以包括对系统的嵌入式参考以及指定应用程序的参数。应用程序运行和下载来自服务器的压缩的媒体内容,或者可以在运行中创建媒体内容。例如,应用程序可以从基于因特网的内容服务器处下载视频,或者基于本地信息来合成新的视频(例如基于音频文件中的节拍的音频可视化)。媒体交互系统提供其中应用程序可以安全地运行解压缩代码的沙箱,并且应用程序提供代码以将压缩的媒体数据转化为用于回放的未压缩的数据。然后,应用程序将未压缩的数据提供给用于回放的系统。因此,媒体交互系统提供应用程序开发者支持的任意格式的丰富的媒体内容,并且维护用户的计算机系统的安全。原始媒体数据可以指一般是由媒体流水线准备播放而不需要进一步解压缩或类似处理的未压缩的常见格式的多种类型的媒体数据。例如,视频解码器可以输出原始的 YV12帧,或者音频解码器可以输出PCM样本。媒体内容可以以各种压缩的或者其它编码格式(例如MP4或DIVX)到达托管应用程序,由托管应用程序解压缩,并且然后以准备就绪用于播放的常见格式提供给媒体交互系统。通过更新应用程序而不更新平台,可以进行对新媒体类型的更新。应用程序还可以通过直接合成或者通过处理现有的音频和视频数据(例如应用效果)来产生音频和视频数据以产生原始媒体数据。例如,游戏可以“在运行中”产生声音效果以避免在因特网上发送和接收声音数据。作为另一个示例,应用程序可以接收在绿屏前拍摄的视频,并且处理视频以删除绿色背景和动态地插入不同的背景。在一些应用中,平台可以接收平台支持的格式的压缩的视频数据和未压缩的音频数据,反之亦然。这些类型的场景在现有平台上是困难或者不可能的,但是可以由媒体交互系统轻松地支持。图1是示出一个实施例中的媒体交互系统的组件的框图。媒体交互系统100包括调用应用程序组件110、执行沙箱组件120、原始媒体接口组件130、请求媒体数据组件140、 媒体回放组件150以及硬件接口组件160。调用应用程序组件110加载和调用平台中的应用程序代码。例如,网页可以参考代表平台的对象,或者可以包括指定平台将调用的应用程序的一个或多个参数。调用应用程序组件可以例如通过诸如因特网的网络从服务器处下载与其它基于web的内容一样的应用程序。例如,本文档来自技高网...

【技术保护点】
1.一种用于在托管应用程序平台中处理可扩展媒体格式的计算机实现的方法,所述方法包括:接收210托管应用程序,所述应用程序与所述托管应用程序平台交互以回放媒体;调用220接收到的应用程序;向所述应用程序请求230媒体;从所述应用程序处接收24由至少一个处理器来执行。0未压缩的媒体,所述应用程序被配置为执行从所述应用程序接收所述媒体的格式到未压缩媒体的媒体解压缩,并且所述平台允许应用程序支持新的媒体格式而不更新平台;以及使用可用硬件通过用于回放的媒体回放流水线来发送250所述未压缩媒体。其中所述以上步骤

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:G·科扎姆S·J·乔治B·J·埃旺恰克L·W·奥尔森M·R·哈什
申请(专利权)人:微软公司
类型:发明
国别省市:US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1