用于系统设立的数据流头部的部分加密的制作方法

文档序号:11637487阅读:255来源:国知局
用于系统设立的数据流头部的部分加密的制造方法与工艺



背景技术:

对于计算设备的用户可用的功能性日益增长。这种增长的一个示例是由设备消费和输出视频的能力。为了支持视频的传输和存储,视频经常被压缩,这可以使用诸如h.264/avc和hevc/h.265之类的各种不同的压缩标准(例如,编解码器)来执行。已加密数据流的安全解码可以由代表消费应用执行解密的解码器来完成。

一般地,解码器可以为消费应用提供至少一些设立信息,所述信息使得消费应用能够设立用于数据流和直接操作解码器和/或图形处理系统的处理流水线以便解码数据流。设立信息可以以明文(intheclear)包括受保护内容的已解码部分。这产生个人和恶意应用可以不当使用设立信息机制来收集流的已解码部分、重建数据流和分发盗版内容的安全性风险。因此,常规解码技术的使用可能具有明显的安全性隐患。



技术实现要素:

本文中描述了有损数据流解码器技术。在一个或多个实现方式中,已加密内容的数据流可以在具有被设计成处理内容解码的安全解码器的计算设备处被消费。响应于来自操作系统(os)或其他消费应用的对于已解码内容的请求,解码器可以操作来解析对应于请求的头部以便验证头部并确定包括在相关联数据分组中的数据的类型。数据的被认为与请求有关的各部分基于所述解析而被标识,并且解码器执行有损提取以形成不完整数据,不完整数据然后响应于所述请求而被提供。

例如,有损提取可以提取和解码对应于有关部分的位,而不包括与无关部分相关联的其他位。解码器可以包括解析器,其执行验证以使请求匹配于被认为足以满足请求的数据子集、配置响应以提供该数据子集、以及保留其他数据。这样,消费应用获得足以执行特定操作(诸如图形处理设立)的数据,并且同时减轻了盗版风险,因为消费应用不能以明文得到数据的完整版本。

本发明内容被提供来以简化形式介绍下面在具体实施方式中进一步描述的概念的选择。本发明内容不意图标识要求保护的主题的关键特征或必要特征,其也不意图用于限制要求保护的主题的范围。

附图说明

图1图示了依照一个或多个实现方式的示例操作环境。

图2是描绘可以利用依照一个或多个实现方式的计算设备提供的解码器的示例细节的图。

图3是描述依照一个或多个实现方式的用于处理数据流的示例过程的细节的流程图。

图4是描述依照一个或多个实现方式的用于向数据流应用有损提取的示例过程的细节的流程图。

图5是依照一个或多个实现方式的可以用于有损数据流解码的系统的框图。

具体实施方式

综述

常规解码技术可能具有明显的安全性隐患,因为提供给应用的图形处理设立、图片管理和资源管理信息可以以明文包括受保护内容的已解码部分。个人和恶意应用可以不当使用设立信息来收集流的不同已解码部分、重建完整的数据流以及分发盗版内容。

本文中描述了有损数据流解码器技术。在一个或多个实现方式中,已加密内容的数据流可以在具有被设计成处理内容解码的安全解码器的计算设备处被消费。响应于来自操作系统(os)或其他消费应用的对于已解码内容的请求,解码器可以操作来解析对应于请求的头部以便验证头部并确定包括在相关联数据分组中的数据的类型。数据的被认为与请求有关的各部分基于所述解析而被标识,并且解码器执行有损提取以形成不完整数据,不完整数据响应于所述请求而被提供。

例如,有损提取可以提取和解码对应于有关部分的位,而不包括与无关部分相关联的其他位。解码器执行验证以使请求匹配于被认为足以满足请求的数据子集、配置响应以提供该数据子集、以及保留其他数据。这样,消费应用获得足以执行特定操作(诸如图形处理设立)的数据,并且同时减轻了盗版风险,因为消费应用不能以明文得到数据的完整版本。

在后面的讨论中,题为“操作环境”的小节被提供并描述了其中可以采用一个或多个实现方式的一个环境。此后,题为“有损数据流解码器细节”的小节描述了依照一个或多个实现方式的示例细节和过程。最后,题为“示例系统”的小节描述了可以用来实现一个或多个实现方式的示例计算系统、组件和设备。

操作环境

图1一般地在100处图示了依照一个或多个实施例的操作环境。该环境100包括计算设备102,计算设备102具有带有一个或多个处理器和器件(例如,cpu、gpu、微控制器、硬件元件、固定逻辑器件等)的处理系统104、一个或多个计算机可读介质106、操作系统108以及驻留在计算机可读介质上且可由处理系统执行的一个或多个应用110。处理系统104可以取回和执行来自应用110的计算机程序指令以向计算设备102提供多种多样的功能性,包括但不限于游戏、办公室生产力、电子邮件、媒体管理、打印、联网、web浏览等等。也可以包括与应用110有关的各种数据和程序文件,其示例包括游戏文件、办公室文档、多媒体文件、电子邮件、数据文件、web页面、用户简档和/或偏好数据等等。

计算设备102可以体现为任何合适的计算系统和/或设备,诸如以示例的方式而非限制:游戏系统、桌面型计算机、便携式计算机、平板或板式计算机、诸如个人数字助理(pda)之类的手持式计算机、蜂窝电话、机顶盒、可穿戴设备(例如,手表、带、眼镜等)等等。例如,如图1中所示,计算设备102可以被实现为连接到用以显示媒体内容的显示设备118的电视客户端设备112、计算机114和/或游戏系统116。可替换地,计算设备可以是包括集成显示器122的任何类型的便携式计算机、移动电话或便携式设备120。这些计算设备中的任一个可以用各种组件(诸如一个或多个处理器和存储器设备)以及用不同组件的任何组合来实现。下面关于图5示出和描述可以表示包括计算设备102的各种系统和/或设备的计算系统的一个示例。

以示例的方式而非限制,计算机可读介质可以包括典型地与计算设备相关联的所有形式的易失性和非易失性存储器和/或存储介质。这样的介质可以包括rom、ram、闪存、硬盘、可移除介质等等。计算机可读介质可以包括“计算机可读存储介质”和“通信介质”二者,其示例可以在图5的示例计算系统的讨论中找到。

计算设备102也可以包括与处理系统相分离的图形处理单元(gpu)124,其操作来执行与由计算设备输出以供在显示设备118或集成显示器122上显示的图形有关的各种处理。可替换地,gpu可以被实现为处理系统的组件连同其他硬件(诸如cpu)。gpu124是计算设备的专用于图形处理的硬件组件。由gpu124提供的功能性可以包括分辨率、像素着色操作、颜色深度、纹理映射、3d渲染以及与渲染用于应用的用户接口和图像相关联的其他任务的控制方面。这可以包括处理任务,诸如多边形绘制、位图传输和绘画、窗口重置大小和重新定位、线条绘制、字体缩放等等。gpu124可以能够在硬件中以大于经由cpu或处理系统104的其他处理设备执行的软件的速度处理这些处理任务。因而,gpu124的专用图形处理能力可以加速图形处理、减少处理系统104的工作负担以及释放系统资源用于其他任务。gpu124和其他处理硬件(例如,cpu)可以执行用于帧、图形和/或其他处理任务的渲染的各个不同时间线上的命令的单独串行处理。

为了处理与已加密内容有关的处理任务,gpu124可以包括或以其他方式利用解码器模块126。解码器模块126可以表示被配置成提供用以代表操作系统108和消费内容的其他应用110(例如,“消费应用”)处理、解码、供应和以其他方式管理已加密内容的功能性的硬件、软件、固件、固定器件逻辑及其组合。在所描绘的示例中,解码器模块126被图示为单独的软件模块或硬件组件,但是解码器模块126可以可替换地被提供为gpu的集成硬件组件、os或其他应用的软件组件、经由解码特定微处理器等等。在一个或多个实现方式中,解码器模块126被配置为安全解码器,其被设计成限制以明文访问内容。为此,解码器模块126可以代表消费应用执行已加密内容的解码而不将内容暴露于安全组件和图形处理系统边界之外。

解码器模块126可以被进一步配置成实现如本文档中描述的用于有损数据流解码的各种操作和技术。为此,解码器模块126可以包括或利用如图1中描绘的解析器模块128和有损提取器130。解析器模块128表示与解码器模块126相关联的用以执行用于验证数据流和使来自消费应用的请求匹配于来自数据流的被认为与请求有关的数据的操作的功能性。解析器模块128可以被配置成支持各种自我验证和交叉验证细节,并且其示例稍后在本文档中进行讨论。有损提取器表示与解码器模块126相关联的用以基于对数据流的解析而执行有损提取以提取来自数据流的有关的数据部分的功能性,如本文中详述的。解码器模块126然后可以形成用于回送到消费应用的、包括足以满足请求的有关数据的对于请求的响应,同时保留至少一些其他数据。这样,完整的数据流不被以将使得能够以明文重建已加密内容的方式暴露于消费应用,从而创建对于盗版的坚实屏障。关于解码器模块、数据流的验证和有损提取的这些和其他方面的细节关于下面的图进行讨论。

环境100进一步描绘了计算设备102可以经由网络132通信地耦合到服务提供商134,这使得计算设备102能够访问由服务提供商134使得可用的各种资源136并与之交互。资源136可以包括典型地由一个或多个服务提供商使得通过网络可用的内容和/或服务的任何合适的组合。例如,内容可以包括文本、视频、广告、音频、多媒体流、动画、图像、网页等等的各种组合。服务的一些示例包括但不限于在线计算服务(例如,“云”计算)、认证服务、基于web的应用、文件存储和协同服务、搜索服务、消息发送服务(诸如电子邮件和/或即时消息发送)以及社交联网服务。

以示例的方式,计算设备102可以被导航以访问和下载来自服务提供商134的已加密内容138。已加密内容138可以包括使用某种形式的数字权利管理(drm)而受保护的视频内容、音乐或其他内容。一般地,已加密内容138由服务提供商侧上的编码器(例如,在分发到客户端之前)使用合适的压缩标准和/或加密格式进行编码。解码然后可以经由消费侧上的解码器发生,所述解码器被配置成识别、支持和处理被以一个或多个不同压缩标准和/或加密格式进行编码的内容的解码。

用于内容的数字权利管理的各种合适的压缩标准和/或加密格式可以由编码器和解码器支持,其包括但不限于mpeg-1、mpeg-2、mpeg-4、vp8、smptevc-1、h.264/avc、h.264/mvc、h.264/svc、h.2645/hevc、hevc/h.265等等。因而,依照上面和下面描述的技术,解码器模块126可以被配置成解码使用多个压缩标准(包括本文中列举的示例标准中的一个或多个)进行编码的已加密内容138。

已经描述了示例操作环境,现在考虑与有损数据流解析器的一个或多个实现方式相关联的示例细节和技术。

有损数据流解码器细节

图2一般地在200处描绘了可以利用依照一个或多个实现方式的计算设备102提供的解码器模块126的示例细节。在该示例中,解码器模块126被图示为实现为gpu124的组件。例如,解码器模块126可以被提供为与gpu124集成的专用和安全硬件解码器。还构想如之前提及的其他实现方式,诸如单独的硬件解码器或软件、固件或固定逻辑器件中的实现方式,以及软件、固件、固定逻辑器件和硬件的组合。

在该示例中,已加密内容138的数据流201被表示为由计算设备102接收并且使用图形处理单元124进行处理。数据流201可以包括多个单独的分组201(1),202(2),…,202(x),其每一个包含各自的头部204(1),204(2),…,204(x)和数据206(1),206(2),…,206(x)。这些头部被配置成传达关于分组的信息,诸如分组类型、排序数据、设立参数、格式信息、用于编码的压缩标准的指示、关于包含在分组中的数据的量和类型的指示以及可能与用于解码器和/或消费应用的操作性设定有关的其他元数据、字段和参数。分组的数据部分表示内容负荷,诸如与视频数据流相关联的视频数据的帧或“切片”或者与音频流相关联的音频片段数据。

在操作中,解码器模块126可以被配置成处理与数据流201的处理有关的任务。这可以包括获得和响应来自消费应用的访问和利用内容的各部分的请求。例如,消费应用可以请求访问用以促进设立用于已加密内容138的处理流水线以及控制渲染内容的定时、排序和同步的头部信息和/或特定种类的分组。消费应用可以利用各种设立信息来指导gpu和/或解码器的操作以解码内容。然而出于安全性起见,解码器代表os和消费应用处理解码任务以使得内容不以明文被不适当地暴露并且减轻了盗版风险。

为此,解码器模块126可以调用解析器模块128来执行用于验证数据流、分组、头部和对应数据并且依照验证使来自数据流的部分数据匹配于请求的操作。此处,从验证搜集的关于数据流的结构和内容的信息可以用于确定请求是否合法,并且如果合法,则标识与请求有关的数据的种类。

有关的数据可以是足以执行对应于请求的操作的一个或多个分组或头部的部分。其他数据可以被认为是无关的。例如,头部中的排序字段可以足以用于应用设立帧序列,并且因而可以被识别为与排序请求有关。然而应用可以不需要这些帧的底层内容,并且因此可以认为实际的帧数据与排序请求无关。还构想各种其他示例。

解码器模块126然后可以调用如之前指出的有损提取器130以对数据流执行有损提取。有损提取器操作来基于所述验证提取数据流的被认为有关的各部分。所提取的部分然后可以被解码和/或压缩以形成已解码内容208,所述已解码内容208然后可以响应于所述请求而被提供返回给消费应用。如图2中表示的,已解码内容208被配置成包括用于数据流201的分组、头部和对应数据中的一个或多个的部分数据210。关于用于验证和有损提取的一些示例技术的附加细节就在下面在对应的标题之下进行讨论。

验证

可以作为解码过程的一部分而对数据流执行验证。一般而言,验证包括解析数据流和针对所支持的标准、规范、约束和语法来检验数据流的头部数据、元数据、已解码语法和其他内容以确保数据是有效的。换言之,执行检查以确保数据符合解码器被配置用来识别和处理的压缩标准和格式。另外,验证使得解码器能够检查一致性并且收集关于数据流的信息,诸如分组的类型、包含在分组中的数据的类型、由头部规定的元数据和其他信息、已解码语法等等。基于通过数据流的解析而收集的信息,解码器可以进一步能够进行关于与特定请求和各种请求有关的分组、头部和数据的各部分的评估。通过如此,解码器能够响应于请求来标识数据部分以供包括并且形成具有部分数据的对应响应。另外或可替换地,解码器可以识别可以被安全移除的数据部分并且指定这些部分以供从已解码流中排除。

在一个特定示例中,解码器可以支持h.264/avc压缩标准。在该标准中,内容可以被布置成被称为网络抽象层单元(nalu)的单元(例如,分组)。至少一些nalu对应于包含内容各部分的切片分组,使得每个切片分组包含数据的“切片”(例如,用于图像的像素数据)。每个切片可以被进一步划分成已知为宏块的一组或多组像素,其携带像素颜色、位掩模和布局数据。在该示例中,头部可以被称为切片头部。数据流也可以包括不同种类的分组,诸如图片参数集(pps)分组、序列参数集(sps)分组、切片分组等等。因而,验证可以包括解析切片分组的切片头部以确定与h.264/avc压缩标准的符合性。也可以针对h.264/avc压缩标准验证与图片参数集(pps)分组和序列参数集(sps)分组相关联的头部。另外,交叉验证可以发生以检验包含在切片分组的切片头部内的数据与包含在之前经验证的图片参数集(pps)和序列参数集(sps)分组内的数据一致。进一步地,验证也可以发生以确保包含在pps分组内的数据与包含在之前经验证的sps分组内的数据一致。自然,也可以将相当的验证技术应用于除h.264/avc之外的标准,所述标准包括但不限于本文中列举的示例标准。

特别地,解码器126可以包括解析器模块128或相当的功能性,其被配置成实现包括自我验证和交叉验证二者在内的各种各样的验证检查。自我验证是指诸如针对给定请求和对应的一个或多个切片在特定样本的上下文内进行的检查。自我验证可以针对跨相同或类似类型的分组的一致性而发生,诸如通过将切片头部彼此进行比较。例如,可以针对以下中的一个或多个来验证用于对应于请求的头部的头部语法:与用于内容的压缩标准相关联的有效参数范围、由解码器/系统支持的参数范围以及在头部内或多个头部之间的不同部分中的语法的一致性。

交叉验证是指在不同样本之间和/或关于不同类型的分组/头部进行的检查。例如,可以针对图片参数集(pps)分组、序列参数集(sps)分组和切片分组之间的一致性、约束、支持范围和格式化进行语法检查。还构想不同种类的样本和分组之间的其他样本间和分组间检查。也可以参照预期格式、有效请求和已知良好语法的历史记录来进行交叉验证。因而,交叉验证可以针对基于之前的请求导出的预期格式验证对应于请求的头部和/或相关联数据。

有损提取

可以基于验证而应用有损提取以形成用于响应的输出数据,其并不以明文暴露完整数据。例如,在处理切片头部的示例中,完整的切片头部位并不暴露于下游组件。相反,位子集被提取以生成部分切片头部数据。特别地,可以提取该数据的被认为与来自消费应用的请求有关的各部分。有损提取被通知关于在验证期间收集的数据流的知识以使得提取器适用于标识和取回有关的部分。部分数据被选择以使得数据足以用于消费应用执行操作,诸如流水线处理设立和资源管理。然而,如提及的,被提供的部分数据不足以使得能够以明文重建完整切片头部或取得完整的数据流,这充当对于盗版的安全性措施和遏制。

特别地,解码器126可以被配置成实现有损提取器130,该有损提取器130被配置成执行有损提取。有损提取器130可以应用一个或多个提取算法来形成已解码数据的流,其包含少于用于提取器对其操作的流、分组和/或头部的完整数据。可以采用各种提取技术来保存足以执行操作的数据(例如,有关的数据)而保留数据的至少一些其他部分(例如,无关的数据)。在一个方案中,通过验证而被标识为有关的各部分被提取。然后,可以应用随机、伪随机或非随机提取函数来实现指定水平的损失。这可以包括保持一些无关数据,但是丢弃至少一些无关数据以使得提取是有损的。例如,有损提取器130可以被配置成产生具有在大约百分之五十或更大的范围内的损失的已解码数据。以示例的方式,六位切片头部可以使用有损提取进行解码以创建供消费应用使用的仅具有两个或三个位的已解码输出头部。该部分切片头部足以用于执行消费应用使用已解码头部数据意图执行的操作,但是并不使得能够重建完整的切片头部。

示例过程

为了进一步举例说明,考虑示例流程图的以下讨论,所述流程图描绘了可以依照一个或多个实现方式实现的用于有损数据流解码的过程。所描绘的(多个)示例过程可以结合任何合适的硬件、软件、固件或其组合来实现。在至少一些实施例中,这些方法可以通过适当配置的计算设备(诸如图1的示例计算设备102,其包括或以其他方式利用gpu124和/或解码器模块126)来实现。

在本文档中描述的过程可以利用之前描述的环境、系统、设备和组件并且结合任何合适的硬件、软件、固件或其组合来实现。这些过程可以被表示为一组块,其规定由一个或多个实体执行的操作并且不一定限于所示出的用于由各个块执行操作的顺序。

一般地,关于上面的示例所描述的功能性、特征和概念可以用于在本小节中描述的示例过程的上下文中。进一步地,关于本文档中的不同图和示例描述的功能性、特征和概念可以彼此互换并且不限于特定图或过程的上下文中的实现方式。而且,与本文中不同代表性过程和对应的图相关联的块可以被一起应用和/或以不同方式进行组合。因而,本文中关于不同示例环境、设备、组件和过程描述的各个功能性、特征和概念可以以任何合适的组合被使用并且不限于由本说明书中列举的示例表示的特定组合。

图3是描述依照一个或多个实现方式的用于处理数据流的示例过程300的细节的流程图。已加密内容的数据流被获得(块302)。例如,可以经由计算设备102从在线提供商(诸如图1的示例服务提供商134)访问内容。也可以经由数字媒体播放器、便携式媒体(例如,dvd)、本地流送等等而获得内容。不管怎么被获得,计算设备的图形处理系统可以被配置成处理内容的解码和渲染。这可以通过计算设备的各种组件(诸如本文中描述的gpu124、解码器126、解析器模块128和/或有损提取器130)而发生。

从消费应用接收对于用以促进用于数据流的图形处理的设立的头部信息的请求(块304)。例如,操作系统108或其他应用可以与图形处理系统并且特别地解码器126交互以协调与已加密内容的输出有关的任务。这可以包括诸如这样的操作:处理流水线设立、协调渲染时间线、设备资源管理等等。请求可以从数据流搜索信息的各部分,诸如包含在切片头部或其他分组的头部中的元数据。相应地,解码器126可以响应于请求而执行头部的处理以标识和提取消费应用执行特定任务可能要求的内容部分。然而,为了避免使已加密数据的数据流暴露于侦听和盗版,应用如本文中描述的有损数据流解码技术。

特别地,解析对应于请求的头部以验证头部并且确定与头部相关联的数据的类型(块306),并且基于所述解析标识用以响应于请求而提供给消费应用的头部的各部分(块308)。可以采用包括本文档中列举的示例自我验证和交叉验证在内的各种验证操作来确保头部符合选定的标准并且获得关于分组类型、头部、已解码语法和包含在数据流中的相关联数据的知识。为了执行验证,解码器模块126可以调用如本文中讨论的解析器模块128或等同的功能性。通过经由验证而理解分组的内容,解码器能够使请求匹配于头部中的信息的特定部分和/或数据负荷的相关联部分,所述特定部分和/或相关联部分足以执行如请求所指示的各种任务。因此,解码器可以提供有损数据而不必以明文返回可以潜在地用于使用目标请求的序列重建数据流的成块的已解码数据。

相应地,通过解码和提取被标识的部分而形成部分头部(块310),并且生成被配置成包括用于传送给消费应用的部分头部的对于请求的响应(块312)。这些部分头部被提供来防止消费应用恢复已解码形式的已加密内容。为了执行有损提取,解码器模块126可以调用如本文中讨论的有损提取器130或等同的功能性。有损提取器130可以以之前讨论的方式识别和保留头部的被认为有关的各部分。另外,有损提取器130可以识别和丢弃被认为是无关且因此移除掉是安全的一些部分。这可以包括有目的地移除被识别为对于完成某些任务所不需要的选定类型的语法、字段、分组或序列。验证可以有助于关于来自消费应用的不同请求和各种类型的请求而识别有关数据和无关数据二者。

已经标识和提取了头部的各部分,解码器可以操作来生成对于请求的响应,其包括部分数据,诸如一个或多个部分头部。该响应然后被传送给发出请求的应用,其可以访问响应中的已解码数据以执行对应的任务。由于应用接收部分头部,所以不可能的是可以从暴露的已解码数据重建数据流的有用完整版本。

图4是描述依照一个或多个实现方式的用于向数据流应用有损提取的示例过程400的细节的流程图。响应于来自消费应用的访问已加密数据流中的数据的请求而验证已加密数据流(块402)。这可以包括其示例之前已描述过的各种自我验证(块404)和交叉验证(块406)。然后,基于所述验证标识已加密数据流中的数据的与请求有关的一个或多个部分(块408)。此处,可以使请求匹配于已知类型的请求以确定什么种类的数据与请求有关或无关。该匹配可以取决于对所请求的内容部分的验证以确保那些部分具有预期的语法/格式。另外,可以将足以服务请求的一个或多个类型的数据识别为与请求有关。

此后,执行有损提取以解码被标识为与请求有关的数据部分(块410)。作为提取的一部分,可以移除选定的语法(块412)。所移除的语法可以对应于被认为是无关部分并且因此被识别为移除掉是安全的部分。另外或可替换地,可以随机地移除各个部分以使用如之前指出的合适的提取算法实现指定水平的损失。当然,也可以识别被认为是有关的一个或多个部分,并且可以将这些部分保留在已解码输出流中。例如,可以提取与被标识为足以服务请求的一个或多个类型的数据相匹配的数据,而可以保留其他数据或不是有关的类型的数据。

解码被标识为有关的数据部分以供包括在对于请求的响应中(块414)。这样,应用有损提取以产生具有部分数据的已解码输出流。传送使用有损提取解码的数据部分以供消费应用使用(块416)。

已经考虑了用于有损数据流解码器的示例过程,考虑依照一个或多个实现方式的示例系统的讨论。

示例系统

图5图示了示例系统500,其包括表示可以实现本文中描述的各种技术的一个或多个计算系统和/或设备的示例计算设备502。计算设备502可以为例如服务提供商的服务器、与客户端相关联的设备(例如,客户端设备)、片上系统和/或任何其他合适的计算设备或计算系统。

如图示的示例计算设备502包括彼此通信地耦合的处理系统504、一个或多个计算机可读介质506以及一个或多个i/o接口508。尽管未示出,但是计算设备502可以进一步包括将各个组件彼此耦合的系统总线或其他数据和命令传输系统。系统总线可以包括不同总线结构中的任一个或组合,所述总线结构诸如存储器总线或存储器控制器、外围总线、通用串行总线和/或利用各种总线架构中的任一个的处理器或本地总线。还构想各种其他示例,诸如控制和数据线。

处理系统504表示用以使用硬件执行一个或多个操作的功能性。相应地,处理系统504被图示为包括可以被配置为处理器、功能块等等的硬件元件510。这可以包括硬件中的作为专用集成电路或使用一个或多个半导体形成的其他逻辑器件的实现方式。硬件元件510不受它们从其形成的材料或者其中采用的处理机制限制。例如,处理器可以包括(多个)半导体和/或晶体管(例如,电子集成电路(ic))。在这样的上下文中,处理器可执行指令可以是电子可执行指令。

计算机可读介质506被图示为包括存储器/储存器512。存储器/储存器512表示与一个或多个计算机可读介质相关联的存储器/储存器容量。存储器/储存器512可以包括易失性介质(诸如随机存取存储器(ram))和/或非易失性介质(诸如只读存储器(rom)、闪存、光盘、磁盘等等)。存储器/储存器512可以包括固定介质(例如,ram、rom、固定硬驱等等)以及可移除介质(例如,闪存、可移除硬驱、光盘等等)。计算机可读介质506可以以如下面进一步描述的各种其他方式进行配置。

(多个)输入/输出接口508表示允许用户向计算设备502键入命令和信息并且还允许使用各种输入/输出设备向用户和/或其他组件或设备呈现信息的功能性。输入设备的示例包括键盘、光标控制设备(例如,鼠标)、用于语音操作的麦克风、扫描仪、触摸功能性(例如,被配置成检测物理触摸的容性或其他传感器)、相机(例如,其可以采用诸如红外频率之类的可见或不可见波长来检测作为手势的不包括触摸的运动)等等。输出设备的示例包括显示设备(例如,监视器或投影仪)、扬声器、打印机、网卡、触觉响应设备等等。因而,计算设备502可以以如下面进一步描述的各种方式进行配置以支持用户交互。

在本文中可以在软件、硬件元件或程序模块的一般上下文中描述各种技术。一般地,这样的模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元件、组件、数据结构等等。如本文中使用的术语“模块”、“功能性”和“组件”一般地表示软件、固件、硬件或其组合。本文中描述的技术的特征是平台无关的,意指这些技术可以被实现在具有各种处理器的各种商业计算平台上。

所描述的模块和技术的实现方式可以被存储在某种形式的计算机可读介质上或者跨某种形式的计算机可读介质进行传输。计算机可读介质可以包括可以由计算设备502存取的各种介质。以示例的方式而非限制,计算机可读介质可以包括“计算机可读存储介质”和“通信介质”。

“计算机可读存储介质”是指与仅仅信号传输、载波或信号本身形成对照使得能够存储信息的介质和/或设备。因而,计算机可读存储介质不包括信号承载介质、瞬时信号或信号本身。计算机可读存储介质包括诸如易失性和非易失性、可移除和不可移除介质之类的硬件和/或以适合于信息存储的方法或技术实现的存储设备,所述信息诸如计算机可读指令、数据结构、程序模块、逻辑元件/电路或其他数据。计算机可读存储介质的示例可以包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多用盘(dvd)或其他光学储存器、硬盘、盒式磁带、磁带、磁盘储存器或其他磁存储设备、或适合于存储期望信息且可以由计算机存取的其他存储设备、有形介质或制品。

“通信介质”可以是指被配置成诸如经由网络向计算设备502的硬件传输指令的信号承载介质。通信介质典型地可以体现诸如载波、数据信号或其他输运机制之类的已调制数据信号中的计算机可读指令、数据结构、程序模块或其他数据。通信介质还包括任何信息递送介质。术语“已调制数据信号”意指这样的信号,其使得其特性中的一个或多个以将信息编码在该信号中的这样的方式被设置或改变。以示例的方式而非限制,通信介质包括诸如有线网络或直接连线连接之类的有线介质和诸如声学、rf、红外和其他无线介质之类的无线介质。

如之前描述的,硬件元件510和计算机可读介质506表示以硬件形式实现的、在一些实施例中可以用来实现本文中描述的技术的至少一些方面的指令、模块、可编程器件逻辑和/或固定器件逻辑。硬件元件可以包括以下各项的组件:集成电路或片上系统、专用集成电路(asic)、现场可编程门阵列(fpga)、复杂可编程逻辑器件(cpld)和硅中的其他实现方式或其他硬件设备。在本上下文中,硬件元件可以操作为执行由该硬件元件体现的指令、模块和/或逻辑所定义的程序任务的处理设备以及用于存储供执行的指令的硬件设备(例如,之前描述的计算机可读存储介质)。

也可以采用前述内容的组合来实现本文中描述的各种技术和模块。相应地,包括操作系统108、应用110、解码器模块126、解析器模块128、有损提取器130和其他程序模块的软件、硬件或程序模块可以被实现为体现在某种形式的计算机可读存储介质上和/或由一个或多个硬件元件510体现的一个或多个指令和/或逻辑。计算设备502可以被配置成实现对应于软件和/或硬件模块的特定指令和/或功能。相应地,将作为可由计算设备502执行的模块的各模块实现为软件可以至少部分地在硬件中实现,例如通过使用处理系统的计算机可读存储介质和/或硬件元件510。指令和/或功能可以可由一个或多个制品(例如,一个或多个计算设备502和/或处理系统504)执行/操作以实现本文中描述的技术、模块和示例。

如图5中进一步图示的,示例系统500使得能够实现当在个人计算机(pc)、电视设备和/或移动设备上运行应用时用于无缝用户体验的无处不在的环境。服务和应用在所有三个环境中基本上类似地运行以在利用应用、播放视频游戏、观看视频等等时从一个设备过渡到下一设备时得到共同的用户体验。

在示例系统500中,多个设备通过中央计算设备进行互连。中央计算设备对于多个设备而言可以是本地的或者可以距所述多个设备远程地定位。在一个实施例中,中央计算设备可以是通过网络、因特网或其他数据通信链路连接到所述多个设备的一个或多个服务器计算机的云。

在一个实施例中,该互连架构使得功能性能够跨多个设备进行递送以向多个设备的用户提供共同和无缝的体验。多个设备中的每个可以具有不同物理要求和能力,并且中央计算设备使用平台来使得能够将针对设备量身定制而又对于所有设备而言共同的体验递送给设备。在一个实施例中,创建一类目标设备并且针对通用类的设备量身定制体验。一类设备可以通过设备的物理特征、使用类型或其他共同特性来定义。

在各种实现方式中,计算设备502可以采取各种不同的配置,诸如供计算机514、移动装置516和电视518使用。这些配置中的每个包括可以一般地具有不同构造和能力的设备,并且因而计算设备502可以根据不同设备类中的一个或多个进行配置。例如,计算设备502可以被实现为计算机514类的设备,其包括个人计算机、桌面型计算机、多屏计算机、膝上型计算机、上网本等等。

计算设备502也可以被实现为移动装置516类的设备,其包括移动设备,诸如移动电话、便携式音乐播发器、便携式游戏设备、平板计算机、多屏计算机等等。计算设备502还可以被实现为电视518类的设备,其包括具有或连接到非正式观看环境中的一般地较大屏幕的设备。这些设备包括电视、机顶盒、游戏控制台等等。

本文中描述的技术可以由计算设备502的这些各种配置来支持并且不限于本文中描述的技术的特定示例。这通过包括计算设备502上的解码器模块126而进行图示。由解码器模块126和其他模块/应用表示的功能性也可以全部或部分地通过使用分布式系统(诸如经由如下面描述的平台522通过“云”520)来实现。

云520包括和/或表示用于资源524的平台522。平台522对硬件(例如,服务器)的底层功能性和云520的软件资源进行抽象。资源524可以包括当计算机处理在距计算设备502远程的服务器上被执行时可以利用的应用和/或数据。资源524也可以包括通过因特网和/或通过诸如蜂窝或wi-fi网络之类的订户网络提供的服务。

平台522可以对资源和功能进行抽象以将计算设备502与其他计算设备相连接。平台522也可以用于对资源分级进行抽象以向遇到的对于经由平台522实现的资源524的需求提供对应水平的分级。相应地,在互连设备实施例中,本文中描述的功能性的实现方式可以遍布系统500分布。例如,功能性可以至少部分地在计算设备502上实现以及经由对云520的功能性进行抽象的平台522来实现。

结论

尽管已经以特定于结构特征和/或方法动作的语言描述了主题,但是应理解的是,所附权利要求中限定的主题不一定限于上面描述的特定特征或动作。相反,上面描述的特定特征和动作是作为实现权利要求的示例形式而公开的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1