在第一篇中,我们分享了数字家庭软件平台的发展趋势和特点; 在第二篇中,我们归纳了将Android移植到电视、机顶盒平台需要面对的五大技术挑战并重点探讨了挑战1 : 符合电视体验的2D/3D图形性能和用户交互模式方面的挑战。
在第三篇中, 我们探讨了更多的挑战, 包括“适合大屏的丰富多媒体影音体验”,“如何集成数字电视相关功能”, “如何推动应用开发者开发适合于TV的Android应用”;
在本篇中,我们将一起来关注在内容保护/系统安全方面的挑战以及Android TV和GoogleTV的一些简单对比。
- 挑战 5 : 如何部署内容保护:
- 如何部署CA?
- 如何部署DRM?
在第三篇中,我们已经谈过对CA模块的集成;由于CA模块由各个CA公司严格控制,而且CA模块的系统集成由CA公司主导;因此技术上没有太多挑战;更多的挑战在于如何将CA相关的API标准化。 相对与CA, DRM在Android上走的更远一点, Android 3.0增加了DRM相关的API。 图一表述了Android3.0是如何实现DRM API的。
从上图可以看出, Android3.0实现了一套Java Level的DRM API, 同时也实现了一个C/C++ level的DRM Manager。各个具体DRM策略的实现则是以Plug In的方式link到DRM Manager。 具体的DRM Plug In由各个系统厂商根据实际需要来实现;而应用开发者则可以根据标准化的DRM API来开发相关的应用。
在实现DRM的过程中, ARM架构级的安全技术TrustZone可以从硬件架构层面加固DRM的安全性。 那么什么是TrustZone呢? 简单点讲TrustZone是系统架构级别的安全技术, 它将整个SoC虚拟成“普通世界(Normal World)”和“安全世界(Security World)”两个模式。在“安全世界模式”下,系统可以访问所有的资源,包括配置为“安全”和“非安全”的数据存储/内存/外设等;而在普通世界模式下只能访问配置为“非安全”的资源。图二表述了TrustZone的架构。
从上图中,我们可以看到通用的操作系统,比如Android、Ubuntu、ChromeOS、Windows,Symbian等等都运行在“普通世界”,而需要安全加密的服务则运行在“安全世界”, 包括加密用的根密钥都储存在“安全世界”。“普通世界”运行的软件无法访问“安全世界”的资源,包括被配置为“安全”的数据存储/内存/外设的设备。图三从系统架构的角度描述TrustZone是如何工作的。
从图三,我们可以看出系统中的设备被分为“普通(Normal)”, “安全(Secure)”, “可配置(Switchable)”三类。因此, TrustZone从系统级别阻断了“普通世界”对“安全”资源的访问,从根本上增强了系统的安全性。一个很典型的例子是:在我们现在的智能手机上,通过触摸屏输入密码,无论运用什么加密方式来传递这个密码,这些数据始终是在手机操作系统中流动,依旧有被hack的危险。而如果使用TrustZone技术,则可将LCD Controller设置为“可配置”,当用户需要输入密码的时候,可将LCD Controller设置为“安全”, 这样手机操作系统就无法访问该设备,而所有的数据流会直接进入“安全世界”;当用户输入密码结束,再将LCD Controller切回“普通”,这样手机操作系统又可以正常使用它。
具体到如何将TrustZone技术应用到DRM, 图四给出了一个用TrustZone来加密DRM的流程图。
到这里,我们已经讨论完了将Android带入互联网数字家庭的五大挑战;下面我们来看看Android TV 和 GoogleTV之间的一些对比。
事实上, ARM的合作伙伴有三个方式部署以Android为base的智能电视:
第一,直接与Google合作通过license GoogleTV, 成为GoogleTV的leading partner;
第二,等待Google开源GoogleTV项目;
第三,将已经开源的Android版本定制移植到电视平台(我的这四篇博文都围绕着这个选项进行)。
那么, GoogleTV和Android TV有什么区别呢?
众所周知, GoogleTV是以Android为Base。第一代GoogleTV(也就是所
谓GoogleTV 1.0)是以Android2.1为base;而第二代GoogleTV(GoogleTV 2.0)则将Android base的版本更新到3.1。根据Android最新的路线图,Google将在Ice Cream Sandwich中形成一个适用于电话,平板,电视三类产品的统一的版本。
GoogleTV 1.0去年已经上市, GoogleTV 1.0的软件架构是以双系统架构为基础:GoogleTV Android系统 + DTV系统。 DTV系统由电视系统厂商来开发,一般会选择重用已有的DTV系统; GoogleTV系统部分则主要关注WebTV的功能上,同时也增加了和DTV系统通讯的控制模块。
GoogleTV虽然是以Android为基础,但是Google对此做了大量针对电视应用的修改和优化,包括浏览器升级为Chrome,提升2D/3D Graphic的性能,改进多媒体框架(支持Dual View),优化Flash Plug in,新的Home Screen 和 UI Layout等等。但是由于双系统的设计,GoogleTV内没有实际DTV的功能模块,只有一些对DTV系统进行控制的通讯模块,包括对外部输入的控制等等。因此在GoogleTV演化成单系统之前, GoogleTV的SDK中很难加入对DTV功能的API的支持。
从GoogleTV的发展趋势来看, GoogleTV会向单系统方案进化。实际上,多家ARM的电视芯片合作伙伴已经在和Google合作GoogleTV项目,相关的产品会陆续上市。另外, Google也有计划逐步发布GoogleTV的开发工具,包括GoogleTV SDK和NDK以及相关的CTS和CDD。
另外,当ARM的合作伙伴选择自己定制移植Android到电视/机顶盒平台时, 我们一般都建议他们从架构层面考虑下面两点:
第一,如何使得定制化的工作能够适应Android版本的快速变化?
第二,当GoogleTV开源后,如何能快速的重用在Android TV上的工作?
当考虑清楚上述两个问题后,可以减少Android TV开发过程的风险,
应对Android版本的快速变化和GoogleTV的可能性开源!
最后, 我想和大家分享的是,今天,不断涌现的新的互联网设备,如智能手机,平板已经让人们花在电视前的时间越来越少, 如果不重新定义电视,如果电视不走互联化,智能化之路, 电视将没有未来!在这个过程中, Android的出现可以极大的加速数字家庭的互联智能化的进程,使其迅速与其他智能设备在家庭中实现互通融合,实现真正的智能家庭!(全篇完)
Leon Zhang, APAC Ecosystem Marketing Manager, ARM, Leon has many years of engineering experiences in a range of CE products and marketing experiences in building software ecosystem. Since he joined in ARM, he worked as Home Software Architect of Strategic Software Alliances, and specialized in the increasingly complex software stacks required to power the next generation of internet connected digital home, and helped to advance the software ecosystem. In his current role, he is acting as the local representative of Mali ecosystem in Asia Pac region, and focusing on building a strong ecosystem for Mali GPU. Leon graduated from Tongji University with the degree of Master and is currently based in Shanghai, China.
章立(Leon Zhang) , 亚太区生态系统市场经理, ARM, Leon拥有多年的消费电子产品研发经验和丰富的软件生态系统相关的市场工作经验.他加入ARM后,首先是作为战略联盟家庭软件架构师,专注于下一代互联网智能电视和数字家庭的软件架构;同时也致力于软件生态系统的建设和维护.他现在的角色是担任Mali GPU生态系统在亚太区的代表,负责为Mali GPU打造一个强大的生态系统! Leon 硕士毕业于同济大学,目前工作地点在中国上海.
All company and product names appearing in the ARM Blogs are trademarks and/or registered trademarks of ARM Limited per ARM’s official trademark list. All other product or service names mentioned herein are the trademarks of their respective owners.
5 Comments On This Entry
Please log in above to add a comment or register for an account
Page 1 of 1
pinaudio
29 July 2011 - 04:30 AM
Hi Leon, 从ARMv4, ARMv5E, ARMv6到现在的NOEN, 我一般在ARM core做multimedia codec 算法移植和优化,近二年OS都是Android. 看到你这一系列的文章收获很大,谢谢你的sharing. 我想问一下,我能不能把你这一系列的文章转载到我的blog(http://www.cnblogs.com/huaping-audio/), 便于将来温习?thanks!
Owen Ou
01 August 2011 - 03:20 PM
Dear Leon,我是台灣CTimes媒體(www.ctimes.com.tw)的編輯總監, 目前台灣工程師對Android TV的開發相當有興趣, 有可能請到您來台灣, 開一個Android TV開發的講座課程嗎?我的email是 ou.owen@gmail.com , 若方便, 可以用mail來進一步討論~
Page 1 of 1
»
Blog Tags
»
Search My Blog
»












