CN104735471B - 用于数字内容保护方案的安全预设的技术 - Google Patents

用于数字内容保护方案的安全预设的技术 Download PDF

Info

Publication number
CN104735471B
CN104735471B CN201410658756.5A CN201410658756A CN104735471B CN 104735471 B CN104735471 B CN 104735471B CN 201410658756 A CN201410658756 A CN 201410658756A CN 104735471 B CN104735471 B CN 104735471B
Authority
CN
China
Prior art keywords
module
encrypted
processor
media stream
encrypted media
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.)
Expired - Fee Related
Application number
CN201410658756.5A
Other languages
English (en)
Other versions
CN104735471A (zh
Inventor
A·纳恩达
王长亮
S·W·程
M·L·库尔特
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN104735471A publication Critical patent/CN104735471A/zh
Application granted granted Critical
Publication of CN104735471B publication Critical patent/CN104735471B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/167Systems rendering the television signal unintelligible and subsequently intelligible
    • H04N7/1675Providing digital key or authorisation information for generation or regeneration of the scrambling sequence
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • G11B20/00217Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source
    • G11B20/00224Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source wherein the key is obtained from a remote server
    • 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/426Internal components of the client ; Characteristics thereof
    • H04N21/42607Internal components of the client ; Characteristics thereof for processing the incoming bitstream
    • H04N21/42623Internal components of the client ; Characteristics thereof for processing the incoming bitstream involving specific decryption arrangements
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4367Establishing a secure communication between the client and a peripheral device or smart card
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4385Multiplex stream processing, e.g. multiplex stream decrypting
    • H04N21/43853Multiplex stream processing, e.g. multiplex stream decrypting involving multiplex stream decryption
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4433Implementing client middleware, e.g. Multimedia Home Platform [MHP]
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4627Rights management associated to the content
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8355Generation of protective data, e.g. certificates involving usage data, e.g. number of copies or viewings allowed

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Storage Device Security (AREA)

Abstract

本文描述了用于数字内容保护方案的安全预设的技术。描述了用于对经加密的媒体流的改善的解密的技术。在一个实施例中,系统可以包括用于接收经加密的媒体流的接收器,用于提取所述经加密的媒体流的加密特征的提取模块,用于从所述所提取的加密特征产生配置命令的第一处理器,用于接收所述经加密的媒体流和所述配置命令以及基于由所述配置命令指出的解密方案来产生经解密的媒体的第二处理器,以及用于将解密密钥分发到所述第二处理器电路的密钥分发模块。

Description

用于数字内容保护方案的安全预设的技术
背景技术
随着诸如平板电脑和智能电话之类的移动低功率设备变为用于诸如经加密的视频、音乐等等之类的受保护音频/视频内容的越来越受欢迎的播放设备,提供诸如高质量视频回放和视频会议之类的功率高效音频/视频处理解决方案变得越来越重要。视频回放和视频会议解决方案需要内容安全,以使得例如,恶意软件不能访问、复制,或以别的方式盗窃内容。
在市场上有保护内容的各种加密方案,例如,由国家标准与技术协会(NIST)于2001年11月26日作为联邦信息处理标准发布的高级加密标准(AES)。AES是对称加密方案,以便相同密码密钥用于编码和解码。AES方案本身有多种变体,诸如AES计数器模式、AES密码分组链接(CBC)+密文窃取(CTS)、RSA,等等。在请求注解(Request for Comment:RFC)3962,“用于Kerberos 5的高级加密标准(AES)加密(Advanced Encryption Standard(AES)Encryption for Kerberos 5)(2005年2月)中描述了AES的某些变体,此处引用该文作为参考。各种加密方案对加密与解密实现施加了不同的限制。限制会影响包括硬件模块的视频处理流水线。相应地,需要用于低功率设备的更加灵活的加密方案实现。
附图简述
图1示出了解码和解密媒体内容的系统。
图2示出了解码和解密媒体内容的系统一个实施例。
图3A-3B示出了解码和解密媒体内容的实施例的过程。
图4示出了设备的一个实施例。
图5示出了存储介质的一个实施例。
图6示出了第二系统的一个实施例。
图7示出了第三的一个实施例。
图8示出了设备的一个实施例。
具体实施方式
各实施例可以一般性地涉及用于便携式设备上的经加密的媒体内容或媒体流的改善的解密和使用的技术。在一个实施例中,例如,设备可以包括可编程协处理器,该协处理器可配置以使用多个方案之中的可选择解码和/或解密方案,来解码和/或解密受保护音频/视频。可以描述并要求保护其他实施例。
多个实施例可包括一个或多个元件。元件可以包括被安排用于执行某些操作的任何结构。每个元件可以按一组给定设计参数或性能限制的需要而被实现为硬件、软件或其任意组合。尽管作为示例可按照某一拓扑的有限数量的元件来描述实施例,但该实施例可包括按照为给定实现所需要的替换拓扑的更多或更少的元件。值得注意的是,对“一个实施例”或“实施例”的任何提及都表示结合该实施例描述的特定特征、结构或特性被包括在至少一个实施例中。在整个说明书中的不同位置出现短语在“一个实施例中”或“在某些实施例中”,以及“在各实施例中”不一定都是指同一个实施例。
如此处所使用的,术语“模块”是一般是指步骤、过程或组件的逻辑序列或关联。例如,软件模块可以包括计算机程序内的一组相关联的例程或子例程。可另选地,模块可以包括基本上独立的硬件设备。模块也可以包括过程的逻辑组,不管任何软件或硬件实现方式。
PC、平板电脑、智能电话或类似的便携式计算设备的常规设计包括用于流水线化的视频计算(包括支持音频和/或视频媒体或媒体流的加密和/或解密的计算)的固定(例如,专用)硬件功能。这样的功能可以以一个或多个硬件模块来实现。基于硬件的固定功能通常只处理有限数量的加密算法。基于硬件的功能根据信任来交换信息。应用程序软件和图形驱动器的组合负责通过密钥交换,与硬件建立信任,然后,转换安全工作负荷,以便硬件固定功能可以解密视频数据,供用户消费。图1示出了用于以视频播放模式进行处理的系统100。
系统100可以依赖于移动操作系统(OS)环境111,诸如AndroidTM OS、OS、或Windows MobileTM OS。系统100可以包括芯片外解密引擎模块141、媒体模块151、最终用户(EU)接口和显示器模块161以及音频编解码器模块171,它们可以互连,如图1所示。也可以使用提供类似功能的替换的互连。
移动OS环境111包括抗窜改软件(TRS)模块131、被配置成接受外部经加密的视频模块101的媒体提取器模块113、被配置成接受模块113的输出的经加密的视频分组化基本流(PES)模块115、被配置成接受模块115的输出的视频重新格式化模块117、被配置成接受模块117的输出的重新格式化的经加密的PES(CBC+CTS)模块119、被配置成接受模块119的输出并向芯片外解密引擎模块141提供输出的媒体播放器服务模块121、被配置成向音频编解码器模块171提供输出的经解密的音频PES模块123,以及,被配置成接受许可证服务器模块103的输出并向芯片外解密引擎模块141提供输出的手推车(cart)模块125。移动OS环境111的组件可以互连,如图1所示。也可以使用提供类似功能的替换的互连。
TRS模块131用以将媒体流的加密格式转换为更适合于硬件解密的不同的加密格式,并以对抗经解密的数据或软件代码的非法复制的方式执行此功能。其次,TRS模块131保护可能会被暴露于系统100的无保护的处理部分或与这些部分接口的中间数据,而根本不会改变数据的本质。TRS模块131包括受保护的音频视频路径(PAVP)经加密的ES模块133,该模块133被配置成接受来自芯片外解密引擎141的输出。PAVP支持硬件加速的解码。PAVP可以以至少两种模式来操作。在第一模式下,视频流是加密的,其解码通过集成图形核来加速。另外,系统存储器将被预留,排他地供PAVP使用。在第二模式下,视频流是加密的,其解码通过集成图形核来加速。在第二模式下,没有系统存储器将被预留来供PAVP使用。如果PAVP被禁用,则对受HDCP保护的视频内容的硬件加速的解码被禁用。TRS模块131还包括被配置成接受模块133的输出的PAVP解密模块135、被配置成接受模块135的输出的未加密的标头模块137,以及被配置成接受模块137的输出并向媒体模块151提供输出的标头解析模块139。TRS模块131的组件可以互连,如图1所示。也可以使用提供类似功能的替换的互连。
芯片外解密引擎模块141包括被配置成接受来自手推车模块125的输入的认证和密钥推导模块147。认证和密钥推导模块147向数字权限管理(DRM)解密全帧模块143、媒体模块151、EU和显示器模块161,以及音频编解码器模块171提供输出。DRM解密全帧模块143进一步接受来自媒体播放器服务模块121的输入。DRM解密全帧模块143的输出被提供给PAVP加密模块145。PAVP加密模块145的输出被提供给移动OS环境111的TRS模块131。芯片外解密引擎模块141的组件可以互连,如图1所示。也可以使用提供类似功能的替换的互连。
媒体模块151包括PAVP解密模块153,该模块153接受来自TRS模块131的标头解析模块139的输入。PAVP解密模块153向解码模块155提供输出,解码模块155使用由AES模块157接收到的解密密钥来进行操作。解码模块155向移动OS环境111附带的PAVP加密的视频模块105提供输出。PAVP加密的视频模块105被示为跨在移动OS环境111的边界上,因为PAVP加密的视频模块105的一部分使用来自移动OS环境111的标准功能调用(例如,API),而PAVP加密的视频模块105的一部分使用存储在受保护数据存储中的安全编程代码。PAVP加密的视频模块105允许对跨系统100的未受保护部分(例如,移动OS环境111)和受保护部分(例如,媒体模块151)的安全预设的否定(negation),以及系统100的受保护部分中的密钥管理。媒体模块151的组件可以互连,如图1所示。也可以使用提供类似功能的替换的互连。
PAVP加密的视频模块105向EU和显示器模块161提供输出,该EU和显示器模块161包括接受来自PAVP加密的视频模块105的输入的视频处理模块163。视频处理模块163使用由AES模块167接收到的解密密钥来进行操作。由视频处理模块163所产生的经解密的视频在显示器模块165上呈现,例如,供用户消费。EU和显示器模块161的组件可以互连,如图1所示。也可以使用提供类似功能的替换的互连。
经解密的音频PES模块123被配置成向音频编解码器模块171提供输出。TRS模块131可能不需要处理经解密的音频PES模块123的输出,而只需要缓冲它,并将它传递到音频编解码器模块171。音频编解码器模块171包括接受来自经解密的音频PES模块123的输入的音频解码模块173。音频解码模块173还使用由AES模块177接收到的解密密钥来解密音频。经解码并解密的音频由呈现模块175(例如,由被配置成驱动供用户使用的耳塞式电路)呈现。音频编解码器模块171的组件可以互连,如图1所示。也可以使用提供类似功能的替换的互连。
系统100可以使用多个加密与解密密钥。例如,系统100内的用密钥符号“1”标记的模块可以使用DRM A/V密钥。系统100内的用密钥符号“2”标记的模块可以使用PAVP A/V密钥。系统100内的用密钥符号“3”标记的模块可以使用Serpent(蛇形)密钥,Serpent已知为对称密钥块密码,其是AES的替代方案。多个密钥提供不同级别的保护,例如,DRM A/V密钥可以被用来验证DRM A/V密钥的持有人有资格接收内容,诸如在用户的订购期限内,而PAVPA/V密钥可以被用来编码或解码内容——一旦访问它的权限通过使用DRM A/V密钥进行了验证。值得注意的是,DRM A/V密钥可以用于安全性和图形处理单元(GPU)中,而PAVP A/V密钥可以与服从于硬件实现的加密/解密过程匹配。媒体播放器服务121本身不需要使用密钥。
音频/视频流包括到呈现引擎的命令,该呈现引擎指示呈现引擎如何呈现音频或视频内容。系统100使用GPU之外的可编程引擎(例如,芯片外解密引擎模块141)来转换命令。GPU之外的引擎处理经加密的流,然后,将命令置于存储器中,GPU驱动器使用存储器来将命令传递到GPU。建立了抗窜改软件(TRS)层,以确保传递的命令不能被恶意主机软件访问。
然而,系统100有几个缺点。首先,系统100复杂,因为它使用软件来控制异步地运行的多个解密引擎。软件负责控制和管理解密引擎之间的数据流量。可能需要特殊硬件预设以改善安全性。
其次,系统100使用在系统100的不同的部分以不同频率运行的解密引擎。然而,总体流水线本质上是串行的,并被其最慢的组件限制。此外,在图形和系统存储器之间还产生多个数据副本。
第三,系统100可能具有安全漏洞。随着数据通过共享存储器从一个解密引擎传递到另一解密引擎,可能会出现安全漏洞。这些缓冲器可能被无意地从比较安全的存储器(例如,系统存储器)复制到不太安全的存储器(例如,图形存储器)。系统100具有确保所有中间缓冲器被安全保护的额外的任务。
第四,需要TRS模块131或类似的功能。要求提高系统复杂性并提高平台级别的功率消耗的特定的软件模块。
为了克服系统100的缺点,根据本发明的各实施例实现如图2所示的系统200。系统200还假设音频/视频流包括到呈现引擎的命令,该命令指示呈现引擎如何呈现音频或视频内容。在系统200中,向GPU流水线中添加可编程微控制器。系统200包括带有可编程性的用于支持基本加密方案的协处理器和用于视频流解析的协处理器,该视频流解析包括视频流中的编码的元素的硬件加速的解析。系统200还包括直接编程视频硬件固定功能单元的能力,以及在设备中在节目流或传输流级别处理完整的内容流而无需使用CPU的能力。
具体而言,系统200可以包括移动OS环境211、计算机安全模块241、媒体模块251、显示模块261以及音频编解码器模块271。系统200的组件可以互连,如图2所示。也可以使用提供类似功能的替换的互连。移动OS环境211可以包括不受保护域,例如,不包括完全在经加密的和未加密的组件之间的域内的接口的未加密的域。域可以包括可作为带有共同的地址的组来寻址的一组处理元件。
移动OS环境211可以包括被配置成接受外部经加密的视频模块201的媒体提取器模块213、被配置成接受模块213的输出的经加密的流模块215,以及被配置成接受模块215的输出的媒体中间件模块217。将媒体中间件模块217的输出提供给驱动器205,该驱动器205随后进而被提供给媒体模块251。媒体中间件模块217基于媒体流的特定的设置(例如,加密类型、帧速率等等),管理解码器和解密器的设置。
移动OS环境111还可以包括图像信息模块219,该模块219接受来自媒体模块251的输入,并向媒体中间件模块217提供输出。移动OS环境211还可以包括经加密的音频缓冲器模块221和经加密的视频缓冲器模块223。缓冲器模块221,223各自都可以接受来自媒体模块251的输入。缓冲器模块221可以向271提供输出,而经加密的视频缓冲器模块223可以向显示器模块261提供输出。移动OS环境211还可以包括手推车模块225,该手推车模块225被配置成接受许可证服务器模块203的输出并向计算机安全模块241提供输出。手推车模块225提供密钥存储器。
移动OS环境211还可以包括耦合到存储器的第一处理器。第一处理器可以被用来执行媒体中间件模块217的功能。存储器可以被用来存储执行媒体中间件模块217的功能所需的数据和/或软件模块。存储器可以进一步用于提供数据缓冲器,例如,缓冲器221,223。
计算机安全模块241管理加密密钥的更新和向系统200内的需要加密密钥的其他模块的分发。计算机安全模块241包括认证和密钥推导模块243,该模块243被配置成接受来自手推车模块225的输入,并向密钥交换模块247和与系统200相关联的各种AES模块,例如,向AES模块295,257,265和279,提供输出。密钥推导模块243从由手推车模块225所提供的加密许可证推导其输出。计算机安全模块241还可以包括被配置成接受来自密钥预设模块207的输入的密钥盒(key box)模块245。密钥预设模块207可以是,例如,至少允许初始密钥被预设的外部输送设备。计算机安全模块241的组件可以互连,如图2所示。也可以使用提供类似功能的替换的互连。
媒体模块251包括微控制器/固定功能硬件(FF)模块281,以及命令流送器模块253,该模块253被配置成接受来自驱动器205的输入,并向微控制器/FF模块281提供输出。媒体模块251还包括:解密/解码处理器模块255,该解密/解码处理器模块255被配置成接受来自微控制器/FF模块281的输入,并向移动OS环境211的经加密的音频缓冲器模块221和经加密的视频缓冲器模块223提供输出;以及AES模块257。解密/解码处理器模块255可以通过使用由AES模块257接收到的解密密钥来进行操作。解密/解码处理器模块255执行类似于由系统100的标头解析模块139执行的功能的功能。
微控制器/FF模块281可配置为对各种不同的加密方案提供基于软件的支持。微控制器/FF模块281包括AES模块295,以及接受来自命令流送器模块253的输入并向搜索标头模块285提供输出的解密模块283。解密模块283可以处于微控制器/FF 281的程序控制之下,并由此具有适用于各种不同的加密方案的灵活性。解密模块283可以使用由AES模块295接收到的DRM A/V解密密钥。搜索标头模块285向仿真字节模块287提供输出,该仿真字节模块287进而向解码标头模块289提供其输出。由于媒体流混合数据字节和控制字节,因此有时候,数据流偶然可以包含模仿控制字节序列的数据字节序列。仿真字节模块287将搜索数据字节中的这样的模式,并移除或替换这些字节。
搜索标头模块285、仿真字节模块287,以及解码标头模块289一起的组合提供微控制器/FF 281缓冲和执行芯片上的解码操作的能力,因此改善灵活性,简化电路和处理设计,以及允许移动设备外壳设备200的功率消耗的相应的缩小,因为不再需要某些芯片外驱动电路。
微控制器/FF模块281还可以包括显示流水线缓冲器(DPB)模块291,该模块291可以根据需要用于重新排列视频帧缓冲器。DPB模块291向切片(slice)程序模块293提供输出。切片编程模块293允许微控制器/FF模块281对硬件解码器直接编程,而无需涉及较高级语言。切片编程模块293向解码标头模块289提供输出。解码标头模块289向移动OS环境211的图像信息模块219提供输出。切片编程模块293向解密/解码处理器模块255提供另一输出。解密模块283和/或解密/解码处理器模块255可以通过合适的指令编程,以支持一个或多个不同的加密方案。在某些实施例中,解密/解码处理器模块255可以只处理媒体流的视频部分,例如,通过经由使用DRM A/V密钥,解密视频部分,但是,然后,通过PACP密钥来加密视频流。解密/解码处理器模块255可以进一步被配置成让音频流流过,而不会解密它。微控制器/FF模块281的组件可以互连,如图2所示。也可以使用提供类似功能的替换的互连。
显示器模块261可以包括解密和显示器模块263,该模块263被配置成接收来自经加密的显示缓冲器模块223的输入,并产生可以被用户查看的显示信号。显示器模块261还可以包括AES模块265,该模块265接收解密密钥,该解密密钥可以被显示器模块261用来解密视频信号。显示器模块261的组件可以互连,如图2所示。也可以使用提供类似功能的替换的互连。
音频编解码器模块271可以包括接收解密密钥的AES模块279、被配置成接受来自经加密的音频缓冲器模块221的输入、通过使用解密密钥,解密音频,并向音频解码模块275提供输出的AES解密模块273。音频解码模块275进而向呈现模块277提供输出。经解码并解密的音频由呈现模块277(例如,通过被配置成驱动供用户使用的耳塞式电路)呈现。音频编解码器模块271的组件可以互连,如图2所示。也可以使用提供类似功能的替换的互连。
关于密钥管理,值得注意的是,虽然DRM密钥用于在GPU中提供安全性,但是,没有加密或解密密钥用于媒体播放器服务121。
在系统200中,微控制器/FF模块281负责解密命令流,并在解密过程中内部地创建命令缓冲器。微控制器/FF模块281由于其可编程安全性协处理器而能够解决多个加密方案。微控制器/FF模块281接收来自驱动器205的指示用于经加密的媒体或媒体流的安全性算法的类型的消息。微控制器/FF模块281配置其本身来支持指示的安全性算法的类型——例如,通过执行代码模块、设置为所指示的安全性算法的类型所特有的标志/开关等等。然后,系统200相应地解密和解析命令流。在解析命令流之后,微控制器/FF模块281编程解密/解码处理器模块255中的视频和音频引擎,而无需移动OS环境211中的CPU或任何其他外部处理器的任何参与。微控制器/FF模块281还可以通过图像信息模块219,将关于微控制器/FF模块281正在处理的视频流的非关键的数据和信息(例如,反馈信息)传回到移动OS环境211中的CPU。例如,传回的数据和/或信息可以包括下列各项中的一项或多项:对视频流的类型的标识、分辨率、帧速率、编码序列和定时信息,等等。
根据本发明的各实施例通过提供单独的微控制器/FF模块281——该微控制器/FF模块281处于结合到移动OS环境211的媒体中间件模块217中的图形驱动器的控制之下——解决系统100的缺点。系统200是与系统100相比具有稍少的对同步的需要的比较简单的设计,系统100是复杂的,因为系统100使用软件来控制异步地运行的多个解密引擎。微控制器/FF模块281也可以与其他引擎(在图2中未示出)并行地操作,以实现更好的性能。
此外,根据本发明的各实施例还提供改善的安全性。与系统100(其中,当数据通过共享存储器或非故意的复制从一个解密引擎传递到另一解密引擎时,可能会出现安全漏洞)相比,系统200所使用的数据始终停留在图形存储器中,并可以通过标准图形存储器安全技术来保护。
根据本发明的各实施例还提供对于新的和新兴的DRM方案的更灵活的支持,如此,提供更快的商业化和上市时间。各实施例还通过消除经解密的内容可能被不适当地复制或访问的点,来改善通过GPU流水线的视频内容的总体安全性。这使得各实施例更安全,因此,对消费者和/或内容提供商而言,更合乎需要的。通过降低或消除驱动器与外部硬件模块交换数据的必要性,使包括系统200的移动设备的功率消耗的节省成为可能。
图3A示出了根据本发明的一实施例的逻辑流程300。与用于解密和/或解码受保护的媒体的已知的解决方案相比,逻辑流程300适用于使用单独的可编程处理器的基于软件的解密和/或解码平台。
与已知技术相比,逻辑流程300包括多个优点。首先,与传统的解密器和解码器相比,逻辑流程300避免使用过量的模块,因此,避免对同步的需要。其次,逻辑流程300通过使未受保护数据的非法复制的机会较少,来提供更好的安全性。第三,逻辑流程300为新的和新兴的DRM方案提供更灵活的支持。
逻辑流程300从框301开始,在那里,通过系统200来表示的便携式设备接收受知识产权(IP)保护媒体。IP保护可以通过利用例如加密、DRM等等。受保护媒体可以是流送媒体,或可以是从耦合到便携式设备的存储设备中读取的媒体。受保护媒体可以是音频数据(例如,音乐MP3)或视频数据(例如,基于预订的视频内容)。
接下来,逻辑流程300的控制转到框303,在那里,检测受保护媒体所使用的IP保护方案。
接下来,逻辑流程300的控制转到框305,在那里,为检测到的IP保护方案配置了单独的可编程解密模块。协处理器是在它不是便携式设备的移动操作系统的一部分的意义上而言是单独的。
接下来,逻辑流程300的控制转到框307,在那里,可编程解密模块被配置成移除IP保护,以便产生未受保护媒体。
接下来,逻辑流程300的控制转到框309,在那里,将经解码的、未受保护的媒体传输到便携式设备。
图3B示出了根据本发明的一实施例的逻辑流程350。逻辑流程350将来自解密处理器(例如,单独的可编程处理器,诸如微控制器/FF模块281)的反馈提供到控制解密处理器的操作系统环境。逻辑流程350可以由例如解密处理器来执行。
逻辑流程350从框351开始,在那里,解密处理器检测度量和/或有关经加密的数据流的信息。例如,度量可以指示微控制器/FF模块281的操作状态(例如,存储器或CPU使用率)。有关经加密的数据流的信息可以包括加密参数、涉及经加密的数据流的元数据,等等。
接下来,逻辑流程350的控制转到判断框353,在那里,解密处理器可以判断度量和/或其他信息是否将影响移动OS环境的操作,例如,影响媒体中间件模块217,并且具体地以将影响解码过程的方式影响媒体中间件模块217。如果判断框353的结果是否定的,则逻辑流程350的控制回到框351。如果判断框353的结果是肯定的,则逻辑流程350的控制继续进行到框355。
在框355,解密处理器将度量和/或其他信息提供到移动OS环境。例如,可以使用从微控制器/FF模块281到图像信息模块219的反馈路径。
接下来,逻辑流程350的控制转到到框357,在那里,解密处理器从移动OS环境(例如,从媒体中间件模块217)接收更新的配置命令,更新的配置命令是基于度量和/或作为反馈提供的其他信息。
接下来,逻辑流程350的控制转到框359,在那里,解密处理器基于更新的配置命令来重新配置其本身。
图4示出了设备400的实施例。在某些示例中,设备400可以被配置为在无线网络中进行无线通信。设备400可以实现,例如,Wi-Fi接入点、存储介质和/或逻辑电路470。逻辑电路470可以包括执行为其他设备描述的操作的物理电路。如图4所示,设备400可以包括无线电接口410、基带电路420,以及计算平台430,但是示例不仅限于此配置。
设备400可以在单个计算实体中,诸如完全在单个设备内,实现设备、存储介质600/900和/或逻辑电路470的某些或全部结构和/或操作。这些实施例不限于这种上下文。
无线电接口410可以包括适用于传输和/或接收单载波或多载波调制信号(例如,包括补码键控(CCK)和/或正交频分多路复用(OFDM)符号和/或单载波频分多路复用(SC-FDM)的组件或组件组合,但是各实施例不仅限于任何特定的无线电接口或调制方案。无线电接口410可以包括,例如,接收器412、传输器416和/或频率合成器414。无线电接口410可以包括偏压控制、晶体振荡器和/或一个或多个天线418-f。在另一个实施例中,根据需要,无线电接口410可以使用外部电压-控制振荡器(VCO)、表面声波滤波器、中间频率(IF)滤波器和/或射频滤波器。由于各种潜在的RF接口设计,省略了其详细描述。
基带电路420可以与无线电接口410进行通信,以处理接收和/或传输信号,并可以包括,例如,用于下转换接收到的信号的模拟-数字转换器422,用于上转换信号用于发射的数字-模拟转换器424。进一步地,基带电路420可以包括基带或物理层(PHY)处理电路426,用于相应的接收/传输信号的PHY链路层处理。基带电路420可以包括,例如,用于媒体接入控制(MAC)/数据链路层处理的处理电路428。基带电路420可以包括用于例如通过一个或多个接口434,与MAC处理电路428和/或计算平台430进行通信的存储器控制器432。
在某些实施例中,PHY处理电路426可以包括帧构造和/或检测模块,与诸如缓冲存储器之类的额外的电路相结合,以构建和/或解构(deconstruct)通信帧(例如,包含子帧)。可另选地或另外,MAC处理电路428可以共享这些功能中的某些的处理或独立于PHY处理电路426,执行这些过程。在某些实施例中,MAC和PHY处理可以集成到单个电路中。
计算平台430可以提供设备400的计算功能。如图所示,计算平台430可以包括处理组件440。另外,或者可另选地,设备400的基带电路420可以使用处理组件430,来执行其他设备、存储介质,以及逻辑电路470的处理操作或逻辑。处理组件440(和/或PHY 426和/或MAC 428)可以包括各种硬件元件、软件元件,或两者的组合。硬件元件的示例可包括器件、逻辑器件、组件、处理器、微处理器、电路、处理器电路(处理器电路420)、电路元件(例如,晶体管、电阻器、电容器、感应器等等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、存储器单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等等。软件元件的示例可包括软件组件、程序、应用、计算机程序、系统程序、软件开发程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号,或其任何组合。判断示例是否使用硬件元件和/或软件元件来实现可以根据任意数量的因素而不同,这些因素诸如所希望的计算速率、功率级别、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度,及给定示例所需的其他设计或性能约束。
计算平台430还可以包括其他平台组件450。其他平台组件450可以包括常见的计算元件,诸如一个或多个处理器、多核处理器、协处理器、存储器单元、芯片组、控制器、外围设备、接口、振荡器、定时设备、视频卡、音频卡、多媒体输入/输出(I/O)组件(例如,数字显示器)、电源,等等。存储器单元的示例可以包括,但不仅限于,一种或多种更高速度的存储器单元形式的各种类型的计算机可读的和机器可读存储介质,诸如只读存储器(ROM)、随机存取存储器(RAM)、动态RAM(DRAM)、双倍数据速率DRAM(DDRAM)、同步(SDRAM)、静态RAM(SRAM)、可编程ROM(PROM)、可擦除编程ROM(EPROM)、电可擦可编程序只读存储器(EEPROM)、闪存、聚合物存储器,如铁电聚合物存储器、奥氏存储器、相位变化或铁电存储器、硅氧化物氮化物氧化物硅(SONOS)存储器、磁卡或光卡,设备阵列,诸如独立磁盘冗余阵列(RAID)驱动器、固态存储器设备(例如,USB存储器、固态驱动器(SSD)),以及适用于存储信息的任何其他类型的存储介质。
计算平台430还可以包括网络接口460。在某些示例中,网络接口460可以包括支持遵循一个或多个无线宽带技术,诸如在与IEEE 802.11相关联的一个或多个标准中所描述的那些,诸如IEEE 802.11ad,操作的网络接口的逻辑和/或特征。
设备400可以是,例如,用户设备、计算机、个人计算机(PC)、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板电脑、其他小计算设备、智能电话、嵌入式电子器件、游戏控制台、服务器、服务器阵列或服务器场、web服务器、网络服务器、因特网服务器、工作站、微型计算机、大型计算机、超级计算机、网络电器、web电器、分布式计算系统、多处理器系统、基于处理器的系统,或其组合。相应地,在设备400的各实施例中,如所希望的,此处所描述的设备400的功能和/或特定的配置可以被包括或省略。在某些实施例中,设备400可以被配置成兼容于与用于WLAN的和/或用于无线对接的IEEE 802.11标准相关联的协议和频率,但是示例在这一方面不受限制。
设备400的各实施例可以使用单输入单输出(SISO)天线体系结构来实现。然而,某些实现可以包括多个天线(例如,天线418-f),用于使用用于射束成形的自适应天线技术或空分多址(SDMA)和/或使用多输入多输出(MIMO)通信技术来进行发射和/或接收。
设备400的组件和特征可以使用分立电路、专用集成电路(ASIC)、逻辑门和/或单芯片体系结构的任何组合来实现。进一步地,在适当的情况下,设备400的特征可以使用微控制器、可编程逻辑阵列和/或微处理器或前面的各项的任何组合来实现。值得注意的是,硬件、固件和/或软件元件可以共同地或分别地称为“逻辑”或“电路”。
应该理解,图4的框图所示出的示例性设备400可以表示许多潜在的实现的一个功能上描述性的示例。相应地,附图中所描绘的块功能的分割、省略或包括不会推断用于实现这些功能的硬件组件、电路、软件和/或元件将一定被分割,省略,或包括在各实施例中。
图5示出了存储介质500的实施例。存储介质500可以包括制品。在一个实施例中,存储介质500可以包括任何非瞬态计算机可读介质或机器可读介质,诸如光学存储、磁存储或半导体存储。存储介质可以存储各种类型的计算机可执行指令,诸如用于实现逻辑流程300的指令。计算机可读或机器可读存储介质的示例可包括能够存储电子数据的任何有形的介质,包括易失性存储器或非易失性存储器,可移动或不可移动存储器,可擦除或不可擦存储器,可写入或可重写存储器等等。计算机可执行指令的示例可包括任何合适类型的代码,如源代码、已编译的代码、已解释的代码、可执行代码、静态代码、动态代码、面向对象的代码、视觉代码等等。这些实施例不限于这种上下文。
图6示出了系统600的一个实施例。在各实施例中,系统600可以代表适合用于此处所描述的一个或多个实施例的系统或体系结构,诸如图2的系统200、图3A的逻辑流程300、图3B的逻辑流程350,和/或图5的存储介质500。这些实施例在此方面不受限制。
如图6所示,系统600可以包括多个元件。按设计或性能限制的给定集所需,一个或多个元件可使用一个或多个电路、组件、寄存器、处理器、软件子例程、模块、或其任意组合实现。尽管图6示出特定拓扑中有限数目的元件作为示例,但可以理解可按给定实现所需在系统600中使用任意适当拓扑中或多或少的元件。这些实施例不限于这种上下文。
在各实施例中,系统600可以包括处理器电路602。处理器电路602可以使用任何处理器或逻辑设备来实现。
在一个实施例中,系统600可以包括耦合到处理器电路602的存储器单元604。按给定实现所需,存储器单元604可经由通信总线643、或通过处理器电路602与存储器单元602之间的专用通信总线耦合于处理器电路604。存储器单元604可以使用能够存储数据的任何机器可读或计算机可读介质来实现,包括易失性和非易失性存储器,并可以与图2的缓冲器221、223相同或类似。在某些实施例中,机器可读或计算机可读介质可以包括非瞬态介质。这些实施例不限于这种上下文。
在各实施例中,系统600可以收发器644。收发器644可以包括能够使用各种合适的无线通信技术传输和接收信号的一个或多个无线电,并可以与图5中的收发器516相同或类似。
在各实施例中,系统600可包括显示器645。显示器645可以包括能够显示从处理器电路602接收到的信息的任何显示设备,并可以与图2的解密和显示模块263相同或类似。这些实施例不限于这种上下文。
在各实施例中,系统600可包括存储646。存储646可实现为非易失性存储设备,例如但不限于,磁盘驱动器、光盘驱动器、磁带驱动器、内部存储设备、附属存储设备、闪存、电池备用SDRAM(同步DRAM)和/或网络可访问存储设备。在各实施例中,存储646可包括用于当例如包括多个硬盘驱动器时增加有价值数字媒体的存储增强保护的技术。存储器646的进一步的示例可以包括硬盘、软盘、只读紧致盘存储器(CD-ROM)、可记录紧致盘(CD-R)、可重写光盘(CD-RW)、光盘、磁性介质、磁光介质、可移动存储器卡或盘、各种类型的DVD设备、磁带设备、磁带盒设备等等。这些实施例不限于这种上下文。
在各实施例中,系统600可以包括一个或多个I/O适配器647。I/O适配器647的示例可包括通用串行总线(USB)端口/适配器、IEEE 1394火线端口/适配器等。这些实施例不限于这种上下文。
图7示出了系统700的实施例。在各实施例中,系统700可以代表适合用于此处所描述的一个或多个实施例的系统或体系结构,诸如图2的系统200、图3A的逻辑流程300、图3B的逻辑流程350,图5的存储介质500,和/或图6的系统600。这些实施例在此方面不受限制。
如图7所示,系统700可以包括多个元件。根据给定的一组设计或性能限制的需要,一个或多个元件可使用一个或多个电路、组件、寄存器、处理器、软件子例程、模块、或其任意组合实现。尽管图7示出特定拓扑中有限数目的元件作为示例,但可以理解可按给定实现所需在系统700中使用任意适当拓扑中或多或少的元件。这些实施例在此方面不受限制。
在各实施例中,系统700可以是媒体系统,但是系统700不限于此上下文。例如,系统700可被纳入到个人计算机(PC)、膝上计算机、超薄笔记本电脑、平板计算机、触摸板、便携式计算机、手持式计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合式蜂窝电话/PDA、电视机、智能设备(例如智能电话、智能平板计算机或智能电视机)、移动互联网设备(MID)、发消息设备、数据通信设备等中。
在各实施例中,系统700包括耦合到显示器745的平台701。平台701可以从诸如内容服务设备748、或内容递送设备749之类的内容设备或其他类似的内容源接收内容。包括一个或多个导航特征的导航控制器750可以被用来与例如平台701和/或显示器745进行交互。在下文中更详细地描述这些组件中的每一个。
在各实施例中,平台701可包括处理器电路702、芯片组703、存储器单元704、收发器744、存储746、应用751和/或图形子系统752的任何组合。芯片组703可以在处理器电路702、存储器单元704、收发器744、存储器746、应用751,和/或图形子系统752之间提供相互通信。例如,芯片集703可包括能够提供与存储746的相互通信的存储适配器(未示出)。
处理器电路702可以使用任何处理器或逻辑设备来实现,并可以与图6在处理器电路602相同或类似。
存储器单元704可以使用能够存储数据的任何机器可读或计算机可读介质来实现,并可以与图6中的存储器单元604相同或类似。
收发器744可以包括能够使用各种合适在无线通信技术,传输和接收信号在一个或多个无线装置,并可以与图6中的收发器644相同或类似。
显示器745可以包括任何电视机类型监视器或显示器,并可以与图6中的显示器645相同或类似。
存储746可以实现为非易失性存储设备,并可以与图6中的存储646相同或类似。
图形子系统752可执行对例如静止图像或视频的图像的处理以供显示。图形子系统752可以例如是图形处理单元(GPU)或视觉处理单元(VPU)。模拟或数字接口可用于通信地耦合图形子系统752和显示器745。例如,接口可以是高清多媒体接口(HDMI)、显示器端口、无线HDMI和/或无线HD适应技术中的任何一种。图形子系统752可被集成至处理器电路702或芯片组703。图形子系统752可以是与芯片集703可通信地耦合的独立卡。
本文中所描述的图形和/或视频处理技术可在各种硬件体系结构中实现。例如,图形和/或视频功能可被集成在芯片集中。替代地,可使用分立的图形和/或视频处理器。作为又一实施例,图形和/或视频功能可由包括多核处理器的通用处理器实现。在又一实施例中,这些功能可实现在消费者电子设备中。
在各实施例中,内容服务设备748可由任何国内、国际和/或独立服务所主持,并因此可经由例如因特网对平台701访问。内容服务设备748可耦合到平台701和/或显示器745。平台701和/或内容服务设备748可耦合到网络753以向网络753传递媒体信息并对来自网络760的媒体信息进行传递(例如,发送和/或接收)。内容传递设备749也可耦合到平台701和/或显示器745。
在各实施例中,内容服务设备748可以包括有线电视盒、个人计算机、网络、电话、启用因特网的设备或能够分发数字信息和/或内容的电器,以及能够通过网络745或直接在内容提供商和平台701和/或显示器753之间单方向地或双向地传递内容的任何其他类似的设备。将能理解,内容可经由网络753单向和/或双向地传递到和传递自系统700中的各组件中的任一个和内容提供者。内容的示例可包括任何媒体信息,包括例如视频、音乐、医疗和游戏信息等等。
内容递送设备748接收内容,诸如有线电视节目,包括媒体信息、数字信息和/或其他内容。内容提供者的例子可包括任何有线或卫星电视或无线电,或者互联网内容提供者。给出的例子不旨在对所公开的主题的实施例构成限制。
在各实施例中,平台701可从具有一个或多个导航特征的导航控制器750接收控制信号。导航控制器750的导航特征可以被用来例如与用户界面754进行交互。在一些实施例中,导航控制器750可以是定点设备,它可以是允许用户将空间(例如连续和多维)数据输入到计算机中的计算机硬件组件(具体地说是人机接口设备)。许多系统——例如图形用户接口(GUI)以及电视机和监视器——允许用户使用身体姿势控制并将数据提供给计算机或电视机。
导航控制器750的导航特征的移动可以通过指针、光标、焦点环,或显示在显示器上的其他视觉指示器,反映在显示器上(例如,显示器745)。例如,在软件应用751的控制下,位于导航控制器750上的导航特征可被映射至显示在用户界面754上的视觉导航特征。在各实施例中,导航控制器750可以不是单独组件,而是集成到平台701和/或显示器745上。然而,各实施例并不限于这些元件或在本文中示出或描述的上下文中不受限制。
在各实施例中,驱动器(未示出)可以包括允许用户立即打开和关闭平台701的技术,类似于电视机,例如,当启用时,在初始引导之后,按下按钮。在平台被“关闭”时,程序逻辑可以允许平台701将内容流送到媒体适配器或其他内容服务设备748或内容递送设备749。另外,芯片组703还可以包括,例如,对于5.1环绕声音频和/或高清晰度7.1环绕声音频的硬件和/或软件支持。驱动器可包括用于集成的图形平台的图形驱动器。在各实施例中,图形驱动器可以包括外围组件互连(PCI)快速图形卡。
在各实施例中,系统700中所示组件中的任意一个或多个可被集成。例如,平台701和内容服务设备748可被集成,或者平台701和内容传递设备749可被集成,或者平台701、内容服务设备748和内容传递设备749可被集成。在各实施例中,平台701和显示器745可以是集成单元。例如,显示器745和内容服务设备748可被集成,或者显示器745和内容传递设备749可被集成。这些示例不限制所公开的主题。
在各实施例中,系统700可实现为无线系统、有线系统或两者的组合。当实现为无线系统时,系统700可包括适于在无线共享介质上通信的组件和接口,例如一个或多个天线、发射机、接收机、收发机、放大器、过滤器、控制逻辑等等。无线共享媒体的一个例子可包括无线频谱的一些部分,例如RF频谱等。当实现为有线系统时,系统700可以包括适用于通过有线通信介质进行通信的组件和接口,诸如I/O适配器、将I/O适配器与相应的有线通信介质连接的物理连接器、网络接口卡(NIC)、光盘控制器、视频控制器、音频控制器等等。有线通信介质的示例可包括,线路、电缆、金属导线、印刷电路板(PCB)、后面板、交换机结构、半导体材料、双绞线、同轴电缆、光纤等等。
平台701可建立一个或多个逻辑或物理通道以交换信息。该信息可包括媒体信息和控制信息。媒体信息可指代表针对用户的内容的任何数据。内容的示例可以包括,例如,来自语音谈话、视频会议、流式视频、电子邮件消息、语音邮件消息、字母数字符号、图形、图像、视频、文本等等的数据。来自语音会话的数据可以是,例如,语音信息、静默时间长度、背景噪声、舒适噪声、音调等等。控制信息可以是指表示用于自动化系统的命令、指令或控制字的任何数据。例如,控制信息可用于使媒体信息路由通过系统,或指示节点以预定方式处理该媒体信息。然而,各实施例不限于图7中所示出的或所描述的上下文中的元件。
如上文所描述的,系统700可以以不同的物理样式或形状因子来体现。图8示出了其中可以实现系统700的小形状因子设备800的各实施例。在一些实施例中,例如设备800可被实现为具有无线能力的移动计算设备的一部分。移动计算设备可指具有处理系统以及移动电源或供电(诸如一个或多个电池)的任何设备。
如前所述,移动计算设备的例子可包括个人计算机(PC)、膝上计算机、超薄笔记本电脑、平板计算机、触摸板、便携式计算机、手持式计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合式蜂窝电话/PDA、电视机、智能设备(例如智能电话、智能平板计算机或智能电视机)、移动互联网设备(MID)、发消息设备、数据通信设备等。
移动计算设备的例子也可包括被配置成由人们佩戴的计算机,例如手腕式计算机、手指式计算机、戒指式计算机、眼镜式计算机、皮带夹计算机、腕带式计算机、鞋式计算机、服饰式计算机以及其它可佩戴计算机。在各实施例中,例如移动计算设备可被实现为能够执行计算机应用以及语音通信和/或数据通信的智能电话。尽管已经以实现为智能电话的移动计算设备为例描述了一些实施例,但可理解其他实施例也可利用其他无线移动计算设备来实现。这些实施例不限于这种上下文。
如图8所示,设备800可以包括显示器845、导航控制器850、用户界面854、外壳855、I/O设备856,以及天线857。显示器845可以包括用于显示适合于移动计算设备的任何合适的显示单元,并可以与图7中的显示器745相同或类似。导航控制器850可以包括一个或多个导航特征,这些导航特征可以被用来与用户界面854进行交互,并可以与图7中的导航控制器750相同或类似。I/O设备856可以包括用于向移动计算设备中输入信息的任何合适的I/O设备。I/O设备856的示例可以包括字母数字键盘、数字键区、触摸板、输入键、按钮、开关、往复式开关、话筒、扬声器、语音识别设备以及软件等等。信息也可借助麦克风被输入到设备800中。该信息可通过语音识别设备数字化。这些实施例不限于这种上下文。
逻辑流程可以以软件、固件,和/或硬件来实现。在软件和固件实施例中,逻辑流程可通过计算机执行的指令来实现,该计算机执行的指令被存储在例如光学存储、磁存储或半导体存储之类的至少一种非瞬态计算机可读介质或机器可读介质上。这些实施例不限于这种上下文。
各个实施例可利用硬件部件、软件部件或两者的组合来实现。硬件部件的例子可包括处理器、微处理器、电路、电路元件(例如晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片集等等。软件的示例可包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、程序、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或它们的任意组合。判断一个实施例是否使用硬件元件和/或软件元件来实现可以根据任意数量的因素而不同,这些因素诸如所希望的计算速率、功率级别、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度,及其他设计或性能约束。
至少一个实施例的一个或多个方面可以由存储在机器可读介质上的表征性指令来实现,该指令表示处理器中的各种逻辑,该指令在被机器读取时使得该机器制作用于执行本文所述的技术的逻辑。被称为“IP核”的这样的表示可以存储在有形的机器可读介质中,并提供给各种客户或生产设施,以加载到实际制造逻辑或处理器的制造机器中。例如,可使用机器可读介质或者制品来实现一些实施例,这些介质或者制品可存储指令或者指令集,这些指令或指令集在由机器执行时可使该机器根据实施例来执行方法和/或操作。这样的机器可以包括,例如,任何合适的处理平台、计算平台、计算设备、处理设备、计算系统、处理系统、计算机、处理器等等,并可以使用硬件和/或软件的任何合适的组合来实现。机器可读取的介质或制品可以包括,例如,任何合适类型的存储器单元、存储器设备、存储器制品、存储器介质、存储设备、存储器制品、存储器介质和/或存储器单元,例如,存储器、可移动或不可移动介质、可擦除的或非可擦除的介质,可写入的或重写的介质、数字或模拟介质、硬盘、软盘、只读紧致盘存储器(CD-ROM)、可记录紧致盘(CD-R)、可重写紧致盘(CD-RW)、光盘、磁性介质、磁光介质、可移动存储器卡或盘、各种类型的数字多功能盘(DVD)、磁带、磁带盒等等。指令可包括任何合适类型的代码,如源代码、已编译的代码、已解释的代码、可执行代码、静态代码、动态代码、加密代码等等,使用任何合适的高级别的、低级别的、面向对象的、可视的、已编译的和/或解释性编程语言来实现。
下列示例涉及进一步的实施例:
一种用于解密经加密的媒体流的设备可以包括用于接收经加密的媒体流的接收器,用于提取所述经加密的媒体流的加密特征的提取模块,用于从所述所提取的加密特征产生配置命令的第一处理器,用于接收经加密的媒体流和配置命令以及基于由配置命令指出的解密方案来产生经解密的媒体的第二处理器。
关于这样的设备,处理器可以位于未受保护域中。
这样的设备还可以进一步包括未受保护域中的经解密的媒体缓冲器。
关于这样的设备,经加密的媒体流包括通过高级加密标准(AES)加密的流送媒体。
这样的设备还可以进一步包括从第二处理器到第一处理器的反馈通信路径。
关于这样的设备,反馈通信路径调整第一处理器的配置。
一种用于解密经加密的媒体流的系统可以包括用于接收经加密的媒体流的接收器,用于提取所述经加密的媒体流的加密特征的提取模块,用于从所述所提取的加密特征产生配置命令的第一处理器,用于接收经加密的媒体流和配置命令以及基于由配置命令指出的解密方案产生经解密的媒体的第二处理器,以及,用于将解密密钥分发到所述第二处理器电路的密钥分发模块。
关于这样的系统,第一处理器可以位于未受保护域中。
关于这样的系统,系统还可以进一步包括未受保护域中的经解密的媒体缓冲器。
关于这样的系统,经加密的媒体流可以包括通过高级加密标准(AES)加密的流送媒体。
关于这样的系统,系统还可以进一步包括从第二处理器到第一处理器的反馈通信路径。
关于这样的系统,反馈通信路径用于调整第一处理器的配置。
关于这样的系统,系统还可以进一步包括到用户视频接口的接口和到用户-音频接口的接口。
关于这样的系统,密钥分发模块还可以进一步包括用于接收加密许可证的第一输入,用于接收密钥预设的第二输入,以及,用于从所述加密许可证和所述密钥预设产生所述解密密钥的处理器。
至少一个机器可读取介质可以包括多个指令,所述指令响应于在计算设备上执行,可以导致计算设备:接收经加密的媒体流,提取所述经加密的媒体流的加密特征,通过使用第一处理器,从所述所提取的加密特征产生配置命令,以及接收经加密的媒体流和配置命令,以及,通过使用第二处理器,基于配置命令指示的解密方案,产生经解密的媒体。
关于这样的至少一个机器可读取介质,第一处理器可以位于未受保护域中。
这样的至少一个机器可读取介质包括指令,所述指令响应于在计算设备上执行,还可以进一步导致计算设备:将经解密的媒体存储到未受保护域中。
关于这样的至少一个机器可读取介质,经加密的媒体流还可以进一步包括通过高级加密标准(AES)加密的流送媒体。
这样的至少一个机器可读取介质还可以包括指令,所述指令响应于在计算设备上执行,还可以进一步导致计算设备:提供从第二处理器到第一处理器的反馈通信路径。
这样的至少一个机器可读取介质可以包括指令,所述指令响应于在计算设备上执行,还可以进一步导致计算设备:使用来自用于调整第一处理器的配置的反馈通信路径的信息。
由处理器电路执行的解密经加密的媒体的方法可以包括接收经加密的媒体流,提取所述经加密的媒体流的加密特征,由第一处理器从所述所提取的加密特征产生配置命令,由第二处理器接收经加密的媒体流和配置命令,以及,由所述第二处理器基于由所述配置命令指示的解密方案,产生经解密的媒体。
关于这样的方法,第一处理器可以位于未受保护域中。
这样的方法还可以进一步包括将经解密的媒体存储在未受保护域中。
关于这样的方法,经加密的媒体流还可以进一步包括通过高级加密标准(AES)加密的流送媒体。
这样的方法还可以进一步包括提供从第二处理器向第一处理器提供反馈。
关于这样的方法,反馈可以调整第一处理器的配置。
这样的方法还可以进一步包括向用户-视频接口提供经解密的视频,以及向用户-音频接口提供经解密的音频。
这样的方法还可以进一步包括接收加密许可证,接收密钥provision,以及,从所述加密许可证和所述密钥预设产生所述解密密钥。
一种用于解密经加密的媒体流的系统可以包括用于接收经加密的媒体流的装置,用于提取所述经加密的媒体流的加密特征的装置,用于从所述所提取的加密特征产生配置命令的装置,用于接收经加密的媒体流和配置命令的装置,以及,用于基于由所述配置命令指示的解密方案来产生经解密的媒体的装置。
关于这样的系统,用于产生配置命令的装置可以位于未受保护域中。
这样的系统还可以进一步包括用于将经解密的媒体存储在所述未受保护域中的装置。
关于这样的系统,经加密的媒体流可以包括通过高级加密标准(AES)加密的流送媒体。
这样的系统还可以进一步包括用于从用于产生经解密的媒体的装置向用于产生配置命令的装置提供反馈的装置。
关于这样的系统,反馈可以被用来调整用于产生配置命令的装置的配置。
这样的系统还可以进一步包括用于向用户-视频接口提供经解密的视频的装置,以及用于向用户-音频接口提供经解密的音频的装置。
这样的系统还可以进一步包括用于接收加密许可证的装置,用于接收密钥预设的装置,以及,用于从所述加密许可证和所述密钥预设产生所述解密密钥的装置。
在此已经阐明了许多具体的细节,以便对这些实施例有透彻的理解。然而,本领域技术人员将会理解,可在没有这些具体细节的情况下实施这些实施例。在其它实例中,未对公知操作、组件和电路进行详细描述,以免使这些实施例难以理解。可以认识到,在此公开的、特定的结构细节和功能细节可以是代表性的,不一定限制这些实施例的范围。
可以使用表达“耦合”和“连接”以及它们的推导词来描述某些实施例。这些术语并不旨在作为彼此的同义词。例如,某些实施例可以使用术语“连接的”和/或“耦合的”来描述,以指示两个或更多个元件彼此直接物理或电气接触。然而,术语“耦合”也可以意味着,两个或更多彼此不直接接触,但是仍彼此合作或进行交互的元件。
除非特别声明,应该理解,诸如“处理”、“计算”、“运算”、“确定”等等之类的术语是指计算机或计算系统,或类似的电子计算设备的动作和/或进程,所述计算系统或类似的电子计算设备操纵和/或转换表示为计算系统的寄存器和/或存储器内的物理(如,电子)量的数据,将这些数据转换为类似地表示为计算系统存储器或寄存器或其他这样的信息存储器、传输或显示设备内的物理量的其他数据。这些实施例不限于这种背景。
应当注意,本文所描述的方法不必以所述顺序或任何特定顺序来执行。此外,参考本文标识的方法而描述的各种活动可以按串行或并行方式执行。
尽管在本文中已经图示并描述了各特定实施例,但应当认识到,被预计能够实现相同目的的任何安排可以替换所示的特定实施例。本文公开内容旨在覆盖各种实施例的任何和全部适应(adaptation)或变形。应当理解,以上描述是以说明性的方式而非限制性的方式进行的。对于本领域技术人员而言,在阅读了以上描述之后,上述实施例的组合以及未在本文中具体描述的其它实施例是显而易见的。因此,各种实施例的范围包括了使用以上各组分、结构和方法的任何其它应用。
要强调的是,提供可公开内容的摘要以符合37C.F.R.第1.72(b)段,要求将可使读者快速地弄清本技术公开的特征的摘要。但应理解,它不能被用来解释或限制权利要求的范围或含义。此外,由上述具体实施方式摂可见,将各种特征组合在单个实施例中是为了使公开内容流畅。这种公开方式不应被解释为反映了这样一种意图,即所要求保护的实施例需要比各权利要求清楚记载的特征要多的特征。相反,如所附权利要求反映出来的那样,本发明的方面少于以上公开的单个实施例的所有特征。如此,下面的权利要求被包括到具体实施方式摂,每一个权利要求本身也作为单独的优选实施例。在所附权利要求书中,术语“包含”和“其中(in which)”被用作相应的术语“包含”和“其中(wherein)”的普通英语等效词。此外,“第一”、“第二”和“第三”等术语仅用作标号,不是对其对象的数字要求。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。

Claims (21)

1.一种用于解密经加密的媒体流的设备,包括:
接收器,用于接收经加密的媒体流;
提取模块,用于提取所述经加密的媒体流的加密特征;
第一处理器组件,用于从所提取的加密特征产生配置命令;
第二处理器组件,用于接收所述经加密的媒体流和所述配置命令,以及基于由所述配置命令指示的解密方案来产生经解密的媒体;以及
从所述第二处理器到所述第一处理器的反馈通信路径,所述第二处理器组件用于检测关于所述经加密的媒体流的度量、确定所述度量会影响由所述第一处理器组件所执行的操作系统的操作、以及在解密后经由所述反馈通信路径将描述所述经加密的媒体流和所述度量的反馈信息传递至所述第一处理器组件。
2.如权利要求1所述的设备,其特征在于,所述第一处理器位于未受保护域中。
3.如权利要求2所述的设备,其特征在于,进一步包括所述未受保护域中的经解密的媒体缓冲器。
4.如权利要求1所述的设备,其特征在于,所述经加密的媒体流包括通过高级加密标准(AES)加密的流送媒体。
5.如权利要求1所述的设备,其特征在于,所述反馈通信路径用于调整所述第一处理器的配置。
6.一种用于解密经加密的媒体流的系统,包括:
接收器,用于接收经加密的媒体流;
提取模块,用于提取所述经加密的媒体流的加密特征;
第一处理器电路,用于从所提取的加密特征产生配置命令;
第二处理器电路,用于接收所述经加密的媒体流和所述配置命令,以及基于由所述配置命令指示的解密方案来产生经解密的媒体;
密钥分发模块,用于将解密密钥分发到所述第二处理器电路;以及
从所述第二处理器电路到所述第一处理器电路的反馈通信路径,所述第二处理器组件用于检测关于所述经加密的媒体流的度量、确定所述度量会影响由所述第一处理器组件所执行的操作系统的操作、以及在解密后经由所述反馈通信路径将描述所述经加密的媒体流和所述度量的反馈信息传递至所述第一处理器组件。
7.如权利要求6所述的系统,其特征在于,所述第一处理器电路位于未受保护域中。
8.如权利要求7所述的系统,其特征在于,进一步包括所述未受保护域中的经解密的媒体缓冲器。
9.如权利要求6所述的系统,其特征在于,所述经加密的媒体流包括通过高级加密标准(AES)加密的流送媒体。
10.如权利要求6所述的系统,其特征在于,所述反馈通信路径用于调整所述第一处理器电路的配置。
11.如权利要求6所述的系统,其特征在于,进一步包括到用户视频接口的接口和到用户-音频接口的接口。
12.如权利要求6所述的系统,其特征在于,所述密钥分发模块进一步包括:
用于接收加密许可证的第一输入;
用于接收密钥预设的第二输入;以及
用于从所述加密许可证和所述密钥预设产生所述解密密钥的处理器。
13.一种用于解密经加密的媒体流的方法,包括:
接收经加密的媒体流;
提取所述经加密的媒体流的加密特征;
由第一处理器组件从所提取的加密特征产生配置命令;
由第二处理器组件接收所述经加密的媒体流和所述配置命令;
在所述第二处理器组件处检测关于所述经加密的媒体流的度量;
在所述第二处理器组件处确定所述度量会影响由所述第一处理器组件所执行的操作系统的操作;以及
在解密后经由从所述第二处理器组件到所述第一处理器组件的反馈通信路径将描述所述经加密的媒体流和所述度量的反馈信息从所述第二处理器组件传递至所述第一处理器组件。
14.如权利要求13所述的方法,其特征在于,所述第一处理器位于未受保护域中。
15.如权利要求14所述的方法,其特征在于,进一步包括将经解密的媒体存储在所述未受保护域中。
16.如权利要求13所述的方法,其特征在于,所述经加密的媒体流包括通过高级加密标准(AES)加密的流送媒体。
17.如权利要求13所述的方法,其特征在于,所述反馈用于调整所述第一处理器的配置。
18.如权利要求13所述的方法,其特征在于,进一步包括向用户-视频接口提供经解密的视频,以及向用户-音频接口提供经解密的音频。
19.如权利要求18所述的方法,其特征在于,进一步包括:
接收加密许可证;
接收密钥预设;以及
从所述加密许可证和所述密钥预设产生所述解密密钥。
20.一种具有指令的计算机可读存储介质,所述指令在被执行时使机器执行如权利要求13-19中的任一项所述的方法。
21.一种包括用于执行如权利要求13-19中的任一项所述的方法的装置的计算机系统。
CN201410658756.5A 2013-12-18 2014-11-18 用于数字内容保护方案的安全预设的技术 Expired - Fee Related CN104735471B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/133,050 US10104342B2 (en) 2013-12-18 2013-12-18 Techniques for secure provisioning of a digital content protection scheme
US14/133,050 2013-12-18

Publications (2)

Publication Number Publication Date
CN104735471A CN104735471A (zh) 2015-06-24
CN104735471B true CN104735471B (zh) 2019-05-03

Family

ID=52013820

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410658756.5A Expired - Fee Related CN104735471B (zh) 2013-12-18 2014-11-18 用于数字内容保护方案的安全预设的技术

Country Status (3)

Country Link
US (1) US10104342B2 (zh)
EP (1) EP2897366A1 (zh)
CN (1) CN104735471B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101891420B1 (ko) * 2013-12-24 2018-08-23 인텔 코포레이션 DaaS를 위한 컨텐츠 보호
US10838882B2 (en) * 2015-04-07 2020-11-17 Vanco International, Llc HDMI extender with bidirectional power over twisted pair
US9747236B2 (en) * 2015-04-07 2017-08-29 Vanco International, Llc HDMI extender with bidirectional power over twisted pair
US20170061164A1 (en) * 2015-06-27 2017-03-02 Mcafee, Inc. Two-device scrambled display
US10616184B2 (en) * 2016-06-30 2020-04-07 Intel Corporation Wireless display streaming of protected content
JP6738022B2 (ja) * 2017-03-28 2020-08-12 富士通クライアントコンピューティング株式会社 情報処理装置、情報処理方法および情報処理プログラム
US11552789B2 (en) * 2020-05-27 2023-01-10 Volodymyr Vasiliovich Khylenko System for an encoded information transmission
CN112583853B (zh) * 2020-12-28 2023-02-21 深圳数字电视国家工程实验室股份有限公司 内容流保护方法、系统及计算机可读存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7296154B2 (en) * 2002-06-24 2007-11-13 Microsoft Corporation Secure media path methods, systems, and architectures
US20040221304A1 (en) * 2003-02-13 2004-11-04 Sparrell Carlton J. Digital video recording and playback system with seamless advertisement insertion and playback from multiple locations via a home area network
US7627868B2 (en) * 2003-06-20 2009-12-01 N2 Broadband, Inc. Systems and methods for distributing software for a host device in a cable system
US7545932B2 (en) * 2004-10-29 2009-06-09 Thomson Licensing Secure authenticated channel
US7945052B2 (en) * 2007-03-29 2011-05-17 Gary Stephen Shuster Method of distributing a decryption key in fixed-content data
US8385542B2 (en) * 2009-04-27 2013-02-26 Nagrastar L.L.C. Methods and apparatus for securing communications between a decryption device and a television receiver
US9160974B2 (en) * 2009-08-26 2015-10-13 Sling Media, Inc. Systems and methods for transcoding and place shifting media content
US9100693B2 (en) 2010-06-08 2015-08-04 Intel Corporation Methods and apparatuses for securing playback content
US8442224B2 (en) 2010-06-28 2013-05-14 Intel Corporation Protecting video content using virtualization
US8625788B2 (en) 2011-01-05 2014-01-07 Intel Corporation Method and apparatus for building a hardware root of trust and providing protected content processing within an open computing platform
KR101355697B1 (ko) 2011-12-01 2014-01-27 인텔 코포레이션 디지털 컨텐츠 보호 방식의 보안 프로비전
WO2013147908A1 (en) * 2012-03-31 2013-10-03 Intel Corporation Methods and systems for cryptographic access control of video

Also Published As

Publication number Publication date
US10104342B2 (en) 2018-10-16
US20150172600A1 (en) 2015-06-18
EP2897366A1 (en) 2015-07-22
CN104735471A (zh) 2015-06-24

Similar Documents

Publication Publication Date Title
CN104735471B (zh) 用于数字内容保护方案的安全预设的技术
US11658814B2 (en) System and method for encryption and decryption based on quantum key distribution
CN109150499B (zh) 动态加密数据的方法、装置、计算机设备和存储介质
US20120269340A1 (en) Hierarchical encryption/decryption device and method thereof
CN101196855B (zh) 移动加密存储设备及密文存储区数据加解密处理方法
CN109214201B (zh) 一种数据共享方法、终端设备及计算机可读存储介质
US20160087792A1 (en) Techniques for distributing secret shares
US10455286B2 (en) Protected media decoding system supporting metadata
JP5889436B2 (ja) 電子コードブック暗号化におけるパターン認識の防止
US20120054498A1 (en) System and method for managing secure information within a hybrid portable computing device
CN101685425A (zh) 移动存储设备及实现移动存储设备加密的方法
WO2013108698A1 (ja) 文字列がオートマトンに受理されるか否かを認証するシステム
WO2017028711A1 (zh) 数据处理的方法、穿戴式电子设备和系统
CN107609410A (zh) 基于HOOK的Android系统数据保护方法、终端设备及存储介质
CN109257162A (zh) 加密算法白盒化的方法和装置
CN114764512A (zh) 加密密钥管理
CN101539890B (zh) 数据处理系统、密码管理方法及数据读取与写入方法
Zegers et al. A lightweight encryption and secure protocol for smartphone cloud
US11461507B2 (en) Systems and methods for secure peripherals
CN106612170A (zh) Drm服务提供装置及方法、内容再现装置及方法
CN116010991A (zh) 数据加密方法、数据解密方法、电子设备及可读存储介质
US20230041437A1 (en) System for end-to-end electronic data encryption using an intelligent homomorphic encryped privacy screen
CN109391607A (zh) 数据加解密方法和装置、系统
KR101835872B1 (ko) 클록의 속도를 셋팅하기 위한 장치 및 방법
KR20220121221A (ko) 동형 암호문의 변환 장치 및 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190503

Termination date: 20191118

CF01 Termination of patent right due to non-payment of annual fee