新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 数字电视 HbbTV与GoogleTV平台的技术分析

数字电视 HbbTV与GoogleTV平台的技术分析

作者:时间:2010-11-20来源:网络收藏

  3)程序库层

  Android包含一些C/C++库,这些库能被Android系统中不同的组件使用。它们通过Android应用程序框架为开发者提供服务。以下是一些核心库:

  系统C库:从BSD继承来的标准C系统函数库(libc),它是专门为基于嵌入式Linux(Embedded Linux)的设备优化了的;

  媒体库:基于PacketVideo/OpenCORE。该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。支持的编码格式包括MPEG-4、H.264、MP3、AAC、AMR、JPG、PNG等;

  显示管理器(SuRFace Manager):对显示子系统的管理,并且为多个应用程序提供2D和3D图层的无缝融合;

  浏览器引擎(LibWebCore):最新的Web 浏览器引擎用,支持Android 浏览器和可嵌入的Web 视图;

  图性引擎(SGL):底层的2D图形引擎;

  3D图形库(3D libraries):基于OpenGL ES 1.0 APIs 实现;该库可以使用硬件3D加速(如果可用)或者使用高度优化的3D软加速;

  字体引擎(FreeType):点阵(Bitmap)和矢量(Vector)字体显示;

  SQLite:一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。

  4)Android运行库(RunTIme libraries)

  编程语言核心库的大多数功能。 Android包括了一个核心库,它提供了Java

  每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机(Dalvik VM)实例。Dalvik被设计成可以同时高效地运行多个虚拟系统。

  程序的虚拟机,其可执行文件(Dalvik Dalvik虚拟机是由Google公司主导开发的用来解释执行Java executable 编译器编译,然后通过SDK?format)格式文件(.dex)针对小内存使用做了优化。同时Dalvik虚拟机是基于寄存器的,所有类都经由Java 中的dx工具转化成“.dex”格式由虚拟机执行。Dalvik虚拟机依赖Linux内核的一些功能,比如线程机制和底层内存管理机制。

  5)Linux 内核

  Android的核心系统服务依赖于Linux 2.6 内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型。Linux内核也同时作为硬件和软件栈之间的抽象层。

  Android媒体库系统OpenCORE的架构如下图所示:



  图为:Android媒体库软件的组成

  OpenCore的代码非常庞大,它是基于C++的实现,定义了全功能的操作系统移植层,各种基本的功能均被封装成类(Class)的形式,各层次之间的接口多使用继承等方式。

  在Android 2.1及以前的版本中,是不支持JIT的。2010年5月21日的Google I/O大会上,Google发布了Android 2.2版本,主要的新功能包括:

  支持JIT,性能也有提高;

  支持Adobe Flash 10.1及AIR(Apollo Integrated Runtime);

  支援全新的API应用,例如语音辨识功能,可以快速将话语转成文字讯息,进行资料搜寻,甚至用来启动Google Maps等;

  在企业应用上也有相当程度的支持,例如微软的Exchange、Security Policies与GAL lookup(全地址搜索)等,方便在接收即时讯息与内容快速传送之类的运用。

  2.3 比较

  从上面的我们可以看到,是MHP模式的中间件向互联网(基于IP传输的网络)的延伸,其细致的基于IP网络通道应用管理的协议规范,可以有效地将广播通道的应用管理融于一体,使得(简单地说就是中间件平台)可以支持DVB、IP多媒体应用。而平台,是将基于Linux的开放软件包集成在一起,采用开源的媒体播放器来播放音视频流媒体。在的核心Android系统中,并没有支持广播通道(DVB-C/S/T)的协议(至少到目前为止还没有),因此,它是不可以被运营商用来开展增值业务的。这可以说是GoogleTV平台目前的一个重要的缺陷。

  一般情况下,中间件平台(即使是基于MHP规范的),都是与平台的操作系统(RTOS)无关的,例如中间件系统中的文件系统、TCP/IP 协议栈等是可以移植到不同的系统中的,这样基于中间件的业务平台对系统的内存和存储(如Flash等)的要求就会低许多;而Android系统是基于 Linux的,尽管实时Linux操作系统进行了许多的优化,但每个应用需要在一个不同的进程中运行,其需要的存储等都还是比标准的中间件平台要大许多。尤其是Android系统中的图形与图像处理模块、媒体播放器模块、浏览器引擎等都是Google公司从其它的开源代码中集成起来的,是一个GPL软件包的组合与大杂烩。

  程序的执行方式:Dalvik语言进行应用程序的编写,DalvikVM采用了与JavaVM不同的bytecode格式和Java尽管都是采用 Java程序的执行进行了优化。然而,Dalvik虚拟机与传统的Java虚拟机相比的性能提高,还没有权威机构给出数据。在Android2.1版本以前,Google号称其性能优异,无需JIT(Just-In-Time)技术,可是,在最近发布的Android2.2中,JIT技术还是采用了。知识产权问题,当然也对Java?VM是基于寄存器的;JavaVM是基于堆栈的。此举的目的是为了避开Sun公司的Java。

  基于HbbTV的中间件平台,是由不同的技术厂商自行开发和提供的,在符合标准规范(HbbTV、MHP或其它专有中间件规范)的情况下,可以添加运营商需要的功能、从而适合个性化与交互性的应用需要;GoogleTV采用的是开源软件包,是免费的。这成为众多终端整机厂商趋之若鹜的重要原因。

3、数字电视运营对中间件技术平台的要求

  在网络功能趋同、业务融合的今天,数字电视运营已经发生了很大的变化,通过宽带网络、基于IP协议传递视频的业务和多媒体终端已经在大量涌现。在IP网络上进行点播、时移以及录制等都是很普通的功能,而且,应用本身和其数据已经混为一体、不可区分。由于信息量大和及时性要求,这些应用以及越来越多地以HTML网页的形式展现,根据需要及时下载,或者相关信息通过Ajax、RSS等协议自动更新。

  对运营商而言,数字电视数据业务可能来源于广播信道(卫星、有线或无线等)和/或宽带信道(互联网、或其它的IP通道)的信号,音视频与数据可以不加区分地由这两个通道分别接入,在带宽限制的情况下,广播通道可以用来播送高清节目,而宽带的使用形式就会有很广,如视频点播、时移、信息浏览、电子商务等。

  运营商对数字电视的诉求是要通过提供音视频内容、娱乐信息等,来进行增值业务和互动应用的运营。因此,运营商需要一个能够完全掌控的“封闭”环境,形成一个“围墙花园”(Walled Garden),将音视频节目、娱乐信息、增值业务与应用都搬到运营商控制的平台上向用户提供,并对所有业务的运行进行监控。同时,运营商也需要能够有开放系统的可能,允许终端用户访问开放的互联网信息,甚至可以访问互联网音视频内容,如YouTube、优酷网、土豆网等视频网站的内容。当然,从内容安全的角度来看,这些互联网内容需要在服务器端进行过滤与监控。同时,运营商需要一个稳定、可靠的中间件业务平台,根据市场和业务的发展进行功能的更新与改进,他们需要专业的中间件平台技术厂商为其进行针对性和专业化的服务,这势必使得中间件平台逐步个性化和根据运营商的需要进行定制化,即使是基于HbbTV平台的中间件,在不同的运营商市场,会显示出有运营商烙印的特征功能,这将会促进运营商在激烈的竞争中不断推陈出新、发展用户、赢得竞争。

  数字电视行业正在经历着深刻的变化,多媒体视频业务通过多种渠道不断涌现。从老百姓的角度来讲,过去被动地看电视就够了,现在需要越来越多的交互性内容,比如在体育赛事播出时提供增值业务等,观众对数字手段带来好处的要求也越来越多,短信、电子邮件、天气预报也可以搬到电视屏幕上来,除此以外,还有一些个性化的社区服务和社会化电视。

 4、未来的技术平台谁会胜出?

  从业务的角度上来看,数字电视有两类市场:运营商市场和零售市场。数字电视运营商(包括广电运营商和电信运营商)需要在他们的“封闭”网络(“围墙花园”—Walled Garden)中进行经营与发展、创造用户、增加收入。在封闭的网络中,运营商能够丰富他们的业务,提供开放的互联网无法比拟的应用内涵和服务质量。以 HbbTV为基础的中间件融合业务平台,既可以满足运营商采用广播和(或)宽带通道进行增值业务开展的需要,而且又可以支持运营商对应用进行管理和控制。因此,HbbTV中间件平台更能够符合运营商的需要,必将成为运营商的不可或缺的业务运营平台。

  从技术的角度来看,GoogleTV并没有脱离微软公司的WebTV、Apple公司的AppleTV的框架与功能,是WebTV或AppleTV 在互联网电视上的又一次努力,是互联网技术移植到流媒体视频处理领域的技术思路的延续。毫无疑问,采用它去浏览Hulu、YouTube等视频网站的内容以及网上新闻是没有问题的,但对有大量覆盖的有线电视、卫星电视和(或)IPTV电视用户的数字电视运营商来说,我们认为,它是不便于用来进行增值业务运营的。

  GoogleTV当前引起了业界的广泛关注,主要原因是Google公司将Android平台全部开放其源代码,容许Android在终端上的移植层的源代码为各厂家所拥有(各厂家自己进行移植)。我们认为,GoogleTV平台可能适合于数字电视厂家将其移植到零售市场的终端设备上,用来支持互联网流媒体的播放与浏览、增加其终端设备的功能和卖点。运营商市场是不可能使用原封不动的GoogleTV平台的。即使有厂家将GoogleTV系统用于运营商市场,那他们也需要花费巨大的精力将原有Android系统进行技术改造、增加运营商需要的功能。那这样,它也就不成为GoogleTV平台,而只是开源代码为技术厂商所用而已,就象其它的开源代码(如WebKit、OpenGL等)一样。

  总之,Google公司将GoogleTV平台完全开放源代码,其本质目的是使GoogleTV终端能够访问他们的Android应用商店,他们通过此应用商店获取利益,而并非真正是为了数字电视业界有一个普遍适用的技术平台而无利益的考量。不管怎样,GoogleTV是互联网领域向数字电视领域融合的又一次尝试,它为家电厂家的终端研发提供了软件系统的参考,必将对数字电视和互联网视频流媒体业务的未来发展产生深远影响。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

c++相关文章:c++教程


矢量控制相关文章:矢量控制原理

上一页 1 2 3 4 下一页

评论


相关推荐

技术专区

关闭