硬件解码器加速器的增强安全性的制作方法

文档序号:9332710阅读:594来源:国知局
硬件解码器加速器的增强安全性的制作方法
【专利说明】硬件解码器加速器的増强安全性
[0001] 优先权声明
[0002] 本申请要求2013年3月15日提交的第61/789, 855号美国临时专利申请的优先 权益,所述申请的全部公开内容是以引用方式并入本文。
[0003] 本申请要求2014年2月27日提交的第14/192, 782号美国专利申请的优先权益, 所述申请的全部公开内容是以引用方式并入本文。
技术领域
[0004] 本公开的方面涉及压缩数字信号的解码。特定地说,本公开涉及解码器加速器的 安全。
【背景技术】
[0005] 数字信号压缩(有时候称作视频编码(video coding或video encoding))在许多 多媒体应用和装置中广泛使用。使用编码器/解码器(编解码器)进行的数字信号压缩允 许串流媒体(诸如音频或视频信号)通过互联网传输或存储在光盘上。已涌现出数字视频 压缩的多种不同标准,包括Η. 261、H. 263 ;DV ;MPEG-1、MPEG-2、MPEG-4、VC1 ;和AVC(H. 264)。 这些标准以及其它视频压缩技术力图通过消除图片中和连续图片之间的空间和时间冗余 度来有效地表示视频帧图片。通过使用这些压缩标准,视频内容可被携带在高度压缩的视 频位流中且因此有效地存储在磁盘中或通过网络传输。
[0006] 还称作H. 264的MPEG-4AVC(先进视频编码)是提供的压缩显著大于其前任的视 频压缩标准。H. 264标准预期提供多达两倍于早期MPEG-2标准的压缩。H. 264标准还预期 提供知觉质量的改善。结果,越来越多的视频内容以AVC(H. 264)编码流的形式传递。两种 竞争的DVD格式(HD-DVD格式和蓝光光盘格式)支持H. 264/AVC高配置文件解码作为强 制性播放器特征。AVC(H. 264)编码在2012年1月瑞士日内瓦的国际电信联盟电信标准化 部门的 ^Recommendation ITU-T Η. 264. Series H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS Infrastructure of audiovisual services-CodinR of moving video. "Advanced video coding for generic audiovisual services"中加以更详细描述,所述文件的全部内容是 针对全部目的以引用方式并入本文。
[0007] 视频编码可在通用计算机上以软件进行或可以用称作硬件视频编码器的专用硬 件进行。硬件视频编码器的使用被视为以低系统资源使用量实现高性能视频压缩的关键。
[0008] 硬件解码器加速器是由多个用户共享的系统资源。通常,加速器具有高于正常程 序特权以访问用户的私人存储器、系统寄存器且有时候访问内核存储器。此使得加速器成 为安全攻击的可能目标。
[0009] 本公开的方面产生于此背景内。
【附图说明】
[0010] 本公开的教学可通过结合附图考虑以下详述而容易了解,其中:
[0011] 图1是根据本公开的方面的使用包括硬件视频解码器加速器和用于加速器的软 件安全层的系统的计算系统的方框图。
[0012] 图2是根据本公开的方面的说明指示增强安全的可能实施方式的硬件加速器的 顶部上的软件堆栈的实例的方框图。
[0013] 图3是说明本公开的方面的背景内的串流数据图片的一种可能划分的示意图。
[0014] 图8是根据本公开的方面的利用硬件解码器加速器和软件安全增强层两者的系 统的实例的示意图。
【具体实施方式】
[0015] 虽然以下详述针对说明目的而包括许多具体细节,但是所属领域一般技术人员将 明白,以下细节的许多变动和更改是在本发明的范围内。因此,下文描述的本发明的示例性 实施方案经说明而无对本发明的一般性的任何损失且不强加限制于本发明。
[0016] 本公开的方面涉及用于保护硬件解码器加速器不被危及且在加速器被危及时最 小化损坏的软件安全增强层。
[0017] 介绍
[0018] 在现有技术中,硬件解码器加速器通常已由个别硬件装置厂商实施。每一硬件厂 商根据其产品的需求定义其自身的安全特征,且实施这些安全特征作为硬件的部分。例如, 对于许多个人计算机(PC)硬件厂商,安全目标是保护有版权的视频内容。因此,大部分硬 件加速器具有内容保护相关安全特征。
[0019] -些装置具有不同的安全目标。具体地说,对于某些游戏控制器提供商,安全目标 可以是保护视频内容和游戏控制器本身的系统内核。结果,我们必须用额外的软件层来增 强安全。
[0020] 硬件解码器的增强安全的需要对于计算机安全专家来说可能并不明显。从计算机 安全专家的视角来看,硬件解码器加速器只执行视频信号处理任务,且其只需要极简单的 安全保护。然而,从视频处理专家的视角来看,硬件解码器加速器是被配置来执行嵌入在已 编码视频流中的指令的可编程装置。通过细心地设计输入视频流,解码器加速器可被指示 做任何事情。此包括对装置有害的事情。因此,增强安全保护是使用硬件解码器加速器的 某些装置所必需的。
[0021] 根据本公开的某些方面,解码器加速器的增强安全可以由软件安全增强层实施。 例如且无限制,此软件层可被实施为解码器服务后台程序、解码器加速器内核驱动程序中 或加速器固件内部的一款软件。其还可被实施为硬件块。一些安全保护还可以应用于具有 硬件视频编码器加速器的硬件中。
[0022] 详细解释
[0023] 如图1中所示,计算机系统100可以包括中央处理器单元(CPU) 102、集成硬件视 频解码器加速器104和一个或多个可编程模块106。加速器104被配置来解码已编码的视 频流。这些已编码的视频流可以遵循视频编码标准,诸如H. 264、MPEG2、MPEG4和VCI。CPU 102通过一些系统寄存器108控制硬件解码器加速器104。CPU 102和加速器104两者共享 共同的系统存储器110。任选地,硬件解码器加速器104还可以是可编程的。解码器功能的 部分可在软件中实施,所述软件可以被实施为存储在存储器110中的指令112。用软件扩增 硬件加速器的能力可使加速器更加灵活。然而,其也给黑客创造了更多机会来攻击加速器 104。这是显著的,因为市场上的当前几乎所有硬件解码器加速器均是可编程的。为了防止 攻击,指令112可以包括软件安全层114,其可以如下文讨论般配置。
[0024] 指令112可以在软件堆栈中实施,所述软件堆栈包括用户软件、系统软件和硬件 层。图2展示了可以作用于硬件加速器104的顶部的典型软件堆栈200的实例(指示针对 安全层114的堆栈内的可能位置)。如图2中所示,一个或多个用户应用202可以调用用户 空间库204中的功能以将解码任务提交给内核驱动程序206。用户应用202和空间库204 是在称作"用户软件"的软件堆栈的部分中。内核驱动程序206是操作系统软件的部分。内 核驱动程序206经由系统寄存器108操作硬件加速器104。
[0025] 根据本公开的方面,安全增强层114可为硬件层中(例如固件中)或内核驱动程 序206中的额外模块。替代地,安全增强层可为内核驱动程序206上的额外一款系统软件。
[0026] 如图2中所示,用户应用只可访问系统存储器110内的用户存储器空间中的存储 器缓冲区208。有时候,硬件加速器104不能访问用户的存储器空间。在此情况中,操作系 统软件可为硬件加速器104映射或复制系统存储器中的用户的数据缓冲区208。
[0027] 为了了解安全增强层114可如何工作,了解硬件加速器104如何工作且其可受黑 客入侵和其它安全威胁的容易程度是有用的。通常,用硬件加速器解码图片的程序可以总 结如下。
[0028] 用户应用将输入视频流存储在用户的存储器空间中的存储器缓冲区中。然后,操 作系统软件将打开用户存储器缓冲区以使硬件加速器104进行访问或操作系统将用户存 储器缓冲区复制到硬件加速器的可见存储器空间。有时候,此硬件加速器可见存储器空间 是内核存储器空间。
[0029] 用户应用202通过调用用户空间库204中的功能创建解码任务。视频解码任务的 控制参数取决于实际硬件加速器104和操作系统。例如,Microsoft DXVA定义了用户应用 如何使用Windows PC上的硬件加速器。
[0030] 内核驱动程序206将用户请求写入到系统寄存器中。硬件解码器加速器104接收 解码命令并解码输入视频流的部分。解码结果存储在用户可见存储器缓冲区208中。硬件 加速器104通知内核驱动程序206 :经由系统寄存器108完成任务。用户应用202从内核 驱动程序206接收解码完成通知且从硬件加速器104接收解码器输出数据。
[0031] 为了完成以上任务,硬件解码器加速器104具有某些特权。例如,硬件解码器加速 器能够
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1