随着技术进展,下一代电视、机上盒、以及数位媒体配接器等装置,都变得越来越有‘智慧’,不仅能彼此互连,还能与网际网路连接。这些智慧型装置都将成为令人注目的平台,以为储存和分享音乐、视讯、云端应用、社交媒体带来全新的消费者体验。同时,这些装置也将能与智慧型家庭、智慧型行动装置间无缝互动,打造出真正的连网新体验。
下一代智慧型连网电视平台,例如最近发表的GoogleTV,将成为单一、简易好用的多媒体来源与平台,可有效地结合网际网路多媒体互动内容与地面、卫星电视频道,带来一致性、直觉式的使用者体验。消费者将能搜寻、组织、并体验从广播业者、网路服务、个人内容图书馆、以及透过行动应用产生或存取到的各种来源内容。
本文将介绍开发下一代智慧型连网电视平台时,所需考量的软体和硬体需求。
智慧型电视的软体需求
下一代智慧型电视(smart TV)将包含可管理底层硬体的先进软体,并为终端使用者带来一致性的使用者介面(UI)与可扩展的多样化应用程式。
关键软体包括具丰富功能的Android作业系统、Adobe Flash Player、以及Google Chrome或JavaScript-based widget引擎等快速网路体验。
Android是专为用来作为下一代智慧型电视等连网平台基础所设计的。它是以Linux核心为基础,包括多个以C程式撰写的软体库,以及用来执行应用程式码的Dalvik虚拟机器(VM)。它通常附有能使此平台更为齐全的整套应用程式。Android是由Google免费提供,它的程式码可依Apache开放塬始码授权协议取得,业者可针对其特定应用进行增强设计,无需再向开放来源提交程式码。
Android应用程式是完全以Java撰写的,但必须转换为Dalvik可执行格式。Google会提供可与常用Eclipse整合开发环境一起使用的外挂程式与程式库。Android的设计概念是,应用程式能在不同的硬体架构中自由移动,以减轻程式开发的负担。
Google Chrome是採用WebKit佈局引擎和应用程式架构的网路浏览器。GoogleTV平台中的绝大部分是以Chrome提供的,它形成了基本的网际网路/网路平台。Chrome也会被GoogleTV应用程式所使用─其中有许多是真正的Chrome-based JavaScript应用程式,可透过远端网路伺服器或网站与客户端相连。类似像Chrome这类的浏览器是下一代智慧型电视的重要关键,以提供完整的网路浏览体验。
Chrome的优点在于其应用程式效能与JavaScript处理速度。Chrome和Chrome-based JavaScript的效能非常重要,它会直接影响到处理器、GPU、以及记忆体的需求。
Adobe Flash Player可为网页和服务增加动画、视讯、和互动性。目前有超过75%的多媒体网页内容是採用Adobe Flash Player所设计。Adobe Flash Player可处理向量和点阵式绘图,以提供文字、图面、和静态影像的动画。更重要的是,它支援音讯和视讯的双向串流。因此,智慧型电视的硬体平台须能符合Adobe Flash Player的效能需求,才能得到令人满意的使用者体验。
为了能串流至Adobe Flash客户端,此平台需有足够效能以支援高讯框率、全讯框的HD视讯。至少此平台必须支援单一HD串流,并能同时处理其他的使用者互动功能,例如透过滑鼠、键盘、或麦克风产生使用者输入,以及能从相连的相机串流视讯/静态影像,而不会遗漏任何事件或画面。更先进的智慧型电视可以传输多个Internet-based Flash串流,并显示HDMI/复合视讯来源。
Adobe Flash Player包含一个称为ActionScript的物件导向语言。它的主要功能包括支援硬体加速,以提升Open Screen计画所支援的各种装置之绘图效能。
H.264视讯在Flash Player 10.1中是透过一颗GPU或硬体视讯解码器进行解码。有些硬体解码器能同时加速多个H.264串流。加速的幅度取决于解码器的规格。如果硬体解码器不能处理额外的串流,Adobe Flash Player将会用软体对此串流进行解码。H.264的编码则有多种选项,并且都能支援不同硬体解码器的特定格式。
除了硬体H.264解码,可支援OpenGL ES 2.0存取的装置都能用Adobe Flash Player 10.1来产生所有绘图元素(Pixel Bender着色器除外),而这些元素都是利用GPU硬体来增加绘图效能的。当内容在这些装置上执行时,会自动设定为GPU模式,以得到最佳效能。
智慧型电视使用者介面
下一代智慧型电视平台必须能处理先进3D UI绘图,包括将3D UI作成出现在视讯串流或其他应用视窗上的半透明层。此介面能以不同的长宽比执行,因此使用者能为显示装置选择适当的配置。智慧型电视装置必须能支援长宽比为16x9的全1080p解析度装置。
介面本身将包括表单按键,以及代表可用内容或功能的图示或缩略图(thumbnail)。智慧型电视平台能发挥Android平台中的多工、多执行绪功能。透过点选介面元素,使用者就能启动相关的Android程式,并同时执行多个应用程式。
在初期的Android平台中,切换到另一个应用程式通常会使最近执行的应用程式中断,特别是,如果每个应用程式都需要显示视讯串流的话,更是如此。随着平台效能的提升,由于Android能让多个应用程式同时保持活跃,此一现象将会改善。
智慧型电视硬体需求
以传统数位视讯为基础的消费电子产品与下一代智慧型电视间的差异,在于需要使用软体和硬体来统一多媒体的检视、相关应用程式和网路浏览。成功的关键是能提供一个不会出错、不会中断的使用者介面,以及具一致性的使用环境。下一代智慧型电视必须能有与PC/MAC相似的执行效能,但又要有消费性产品的可靠度与易用性。
要建置一个下一代智慧型电视平台,需从现今使用的典型智慧型/数位电视平台开始。
现今的基础架构必须予以修改,才能因应下一代的效能与连接性需求。
除了所要求的效能範围外,下一代智慧型电视与传统DTV硬体需求之间还有其他的差异。硬体─不管是透过塬始单一/多核心处理器或利用辅助硬体─都必须能提供完美的使用者体验和可靠的连接性,其中包括:
* 相同或不同视讯内容的即时显示录影
* 在萤幕上同时显示多重视讯串流
* 反应快速的网页浏览
* 完美的Flash Player 10效能
* 快速应用程式启动─优异的Java效能
* 可储存Context(情境),让使用者能在应用程式间来回移动
* 为UI提供快速的3D绘图执行
* 快速开机
* 低功耗待机模式
* 支援数位家庭中所有的连接标準,包括802.11有线/无线网路、HDMI、USB和既有的视讯标準
CPU 在前一代产品中,CPU通常执行一个小型作业系统,并主要用来管理2D UI、产生萤幕画面、并处理‘轻载’作业。
在下一代平台中,CPU会执行功能更丰富的Android OS、Java VM、多个应用程式开发库、应用程式架构、以及数个预设的应用程式。此平台必须支援一个类似Chrome的浏览器、多个特定为TV使用者体验设计的应用程式。所有这些都会为主处理器带来大量的工作负载,因此有可能需要用到绘图处理、转码、和编解码器等硬体加速器。
传统DTV和下一代产品间的另一个差异在于,CPU工作负载具有显着的动态和变异特性。
传统DTV是专为较固定效能需求所设计,它的工作负载变化不大。软体是由製造商决定,因此平台的工作负载範围能妥善规划,并选用适当的处理器、记忆体、和额外元件。系统工作负载的最糟状况是与DTV有限的功能有关,通常会发生在处理2D UI,因为它的功能有限,因此除了DTV的主要工作外,只能启动或看见一部分的UI。
下一代平台则具备更宽广的系统效能需求。CPU工作负载的最糟状况会发生在当使用者在观赏网际网路串流视讯时,但此平台并没有塬生的硬体解码器,而需要用到CPU执行软体解码。与此同时,使用者可能还会看广播电视和/或执行Java应用程式,或甚至进行与远方使用者之间的双向通讯。这显示出新一代平台的工作负载有许多的不可预测性。Android作业系统基本上是遵循POSIX,并支援多核心、多执行绪应用程式。Android同时也支援对称多重处理(SMP),可让智慧型电视平台充分发挥处理器核心的多执行绪、SMP效能。
这是半导体供应商和OEM业者的主要设计考量。多变的工作负载和多种具视讯功能的网路应用程式,会需要更高的整体系统效能需求。因此,选用一个能完全支援多执行绪应用程式和SMP配置的处理器架构,是非常重要的关键。
GoogleTV中有两款锁定低阶功能的产品,它们能处理UI需求,但仅具处理同步多媒体串流、同步应用程式和网路浏览的有限功能。这意味着,平台/半导体设计人员必须选择具扩充性的处理器架构,并能与其他多种元件整合,以满足连接性、绘图、多媒体解码/转码的需求。
从一个能提供完美使用者体验和有限同步功能的入门级平台来看,半导体厂商应考虑採用执行速度为1 GHz的超纯量单核心处理器,或800MHz的双核心多执行绪处理器。CPU应包含一个执行速度至少为处理器时脉速度一半的浮点运算单元(FPU)。此外,我们也建议採用32KB L1指令和资料快取、最小32-entry TLB(建议用64)、和256KB L2快取。
另一方面,对于一个能提供完美使用者体验、平行视讯串流、应用程式执行和网路浏览的高阶平台,我们则建议至少採用速度为1 GHz或以上的双核心超纯量处理器。此处理器应包含一个执行速度为处理器时脉速度一半的FPU、32KB L1指令和资料快取、以及64 entry TLB。同时,每个CPU应要有256KB L2快取 (也就是说,双核心SoC需要512KB)。
绘图 要支援下一代Android智慧型电视,开发人员必须建置符合OpenGL ES 2.0规範的3D绘图引擎。OpenGL ES 2.0绘图引擎必须能提供丰富的3D使用者介面、网际网路浏览、Adobe Flash Player 10.x、Flash-based 3D游戏和Alpha混合。
显示讯框缓冲器
1080p解析度表示有1,920水平画素乘以1,080垂直线条,总共有2,073,600个画素。若每个画素採用4位元组色深,总计需要在CPU和绘图引擎缓衝器间共享的记忆体容量为8,294,400位元组,或约8.3MB。
ATSC电视的最大讯框率为60Hz,这表示8.3MB的资料必须在一秒内传送60次到显示器。对一个32位元宽的记忆体匯流排来说,最佳状况是每个週期传送4位元组,因此传输到显示器的数据率为:
这是讯框缓衝器的传输需求。此外,也需要有用来执行预渲染(pre-rendering)、3D材质映射等的绘图引擎记忆体存取。视讯解压器也要有自己的记忆体空间。
SoC记忆体控制器的设计也是关键。採用最快的外部DRAM,可确保终端产品能提供高品质的使用者体验。这听起来可能有点超过,但是,除了产生现场/录影的视讯串流,下一代智慧型电视会高度依赖浏览器功能,发挥3D绘图控制器的最大优势以快速执行页面内容。若要有流畅的使用者体验,讯框缓衝器必须儘可能的大,同时记忆体控制器也必须儘可能支援最快的传输率。
目前,任何来自网际网路的视讯内容来源都是採用Adobe Flash Player。存取透过浏览器来的Flash-based内容,将会进一步增加绘图子系统讯框缓衝器和记忆体控制器的工作负载。
根据这些软体需求,针对OpenGL ES 2.0绘图引擎所建议的最小效能为每秒大于250 百万画素,以及每秒大于10M个叁角形。
编解码器 显示视讯内容的新一代装置都会採用专属的硬体解码器,来处理1080p HD内容。在主应用处理器上执行软体编解码器,只适用于极小的萤幕尺寸。这类以软体为基础的解码,可能无法充分发挥主应用处理器的效能,并有可能影响到诸如处理网路连接性等其他需求。与机上盒和DTV平台一样,建议採用专属硬体来建置所需的编解码器。
下一代智慧型电视需要多种编解码器,而不同的电视标準,如ATSC、DVB等,都会有各自不同的需求。编解码器需要能提供与PC相同的网际网路浏览体验。SoC製造商必须决定要用硬体或软体来建置这些编解码器。如果有些编解码器是建置在软体中,那就必须有足够的运算能力,以满足不同标準组织制定的最低效能水準。
记忆体(DRAM和快闪记忆体) 由于需要处理多重视讯串流和应用程式同步执行/网路浏览,我们建议,针对入门级系统,至少要用1GB的DDR2/3记忆体;而高阶系统,设计人员应该至少考虑用两倍的记忆体容量,即2GB。
此外,系统也需要採用快闪记忆体,以供储存非挥发性程式码程存和现场更新之用。针对入门级系统,我们建议至少要配置256MB,而高阶系统需512MB。同时也要辅助储存用的外部USB埠,让使用者可自行载入内容。
外部记忆体介面是限制效能的最重要因素。在一个CPU、绘图处理器、压缩/解压缩引擎都共享相同记忆体的系统中,记忆体介面必须儘可能採取最快、最宽的吞吐量设计。
因为绘图效能至关重要,因此SoC和系统设计人员应详细检查绘图引擎供应商提供的记忆体和系统匯流排需求规格。
本文小结
正如Android行动电话一样,我们期望看到Android智慧型电视从2011年起就会有爆炸性的成长。
在设计这些平台时,选择可针对Android进行最佳化的CPU架构非常重要,同时也能最佳化所有软体堆叠所需的元件,以取得峰值效能。当然,开发工具和相关软体库也是关键。
谨慎考虑本文中提出的需求建议,将能设计出可确保优异智慧型电视体验的高效能SoC。
图 1:智慧型电视的软体架构範例。
图2:现今智慧型电视的硬体需求。
图3:传统数位视讯的运作环境。
图4:常用的编解码器和其应用。
评论
查看更多