【Android论文栏目提醒】:以下是网学会员为您推荐的Android论文-[精品]Android操作系统与数字电视中间件的对比分析 - 期刊论文,希望本篇文章对您学习有所帮助。
有线网络 CATV
Android 操作系统与数字电视中间件的 对比分析 ◎ 陈德林 赵良福 王 颖 国家广电总局广播科学研究院 不统一,导致机顶盒无法规模化生产,成本难以下降 ;应用 摘要 : 自从
Android 之类的操作系统成功移植到机顶盒 软件缺少统一的运行支撑环境,应用的开发需要与终端绑定, 后,出现了抛弃数字电视中间件的片面言论。
本文对 而运营商采购的机顶盒软硬件版本太多,部署新的业务非常
Android 操作系统和数字电视中间件进行对比分析,指出 困难 ;缺少开放、统一的软件开发环境,应用开发门槛高、 必须对现有的
Android 操作系统进行必要的裁剪和扩展 参与者少,不利于产业的发展。
后才能适用于数字电视领域,经裁剪和扩展后的
Android 为解决机顶盒终端软件平台统一化的问题,传统做法是 实际上就是数字电视中间件的一种具体实现。
采用数字电视中间件。
所谓数字电视中间件是指建立在数字 电视接收终端底层资源层之上、顶层应用层之下的软件层, 关键词 :
Android 操作系统 中间件 机顶盒 数字电视 向下可以屏蔽底层软硬件平台的差异,向上为应用的开发提 NGB ,提升应用的互操 供一套完整、统一的应用编程接口(API) 作性,即同一款终端能够执行不同应用提供商开发的应用, 同一个应用能够在不同的终端上运行。
但由于缺少统一的中 0 引言 、 ,依然没 间件标准,导致市场还是“诸侯割据”“七国八制” 目前广播电视在向 NGB 演进的过程中,接收终端成为制 有解决终端产品加工生产的水平化市场问题。
约发展的瓶颈之一 :运营商各自为政,Loader、CA 等标准 国家广电总局于 2010 年 2 月组织成立了 NGB 中间件工 1. 演播室高度得以降低 :虽然我台新台的新闻演播室高 灯具的用量。
度为 9 米,但应用中,灯具的悬挂高度都在 3.2 米以下。
这 作为最先吃螃蟹的人,我们在应用中也走过一些弯路。
说明未来新建演播室的高度可以为标准建筑高度的 3.4 米。
演 照射距离和光圈的设定是采用 LED 灯具遇到的最多的两个困播室对建筑高度的宽容度拓宽能够容许将办公室改建为演播 难,借此机会也与大家进行一下分享。
在开始阶段,沿用传室,也能够使未来的演播室建设更为经济。
统灯光的布置方式出现效果并不好,通过实践摸索,我们总 2. 演区布置更灵活,占用空间更小。
LED 灯具的低热量, 结出了 LED 灯具适合的照射距离和入射角度,演区排布进行使得灯具可以距离主持人更近,在演区布置时主持人与背景 了相应调整,效果得到较大的改善。
在开始阶段,我们也经之间的距离可以拉到近至 1.5 米,这对于演区空间局促的场合 历了对摄像机光圈的设定的摸索,总结出了在锁定人物面部具有非常大的实用价值。
光圈之后,再提升一档的光圈设定方式。
一般来说,我们目 3. 当使用光效足够强大的 LED 灯具时,演播室进行布光 前的节目所设定光圈一般在 3.85 范围段均比较适合 LED 灯时可以取消侧光。
与使用三基色冷光灯作为面光从正向投向 光场景。
通过不断的摸索和提高,三年后的今天,我们可以人物的布光方式不同,可以从斜侧方对人物施以主辅面光, 认为我台的大胆创新最终取得了较为完美的成功。
此时就不再需要侧光的补充。
这一布光方式能够极大地减少2012 年第 1 期 广播与电视技术 87 有线网络 CATV作组(笔者注 :NGB 中间件与智能电视操作系统专题组的前 2. 应用框架层 ,从事数字电视中间件相关标准的研究,提出的 NGB 数身) 从概念上讲,这里所谓的应用框架是指编写
Android 应 1字电视中间件功能架构概要,见图 1 所示 。
用所使用的 API 框架,Google 发布的核心应用程序使用该 NGB 数字电视中间件需要支持 Java 应用、Web 应用和 API 框架,其它应用程序开发人员也可以使用这些 API 框架来Flash 应用,与此对应中间件应包含 Java 虚拟机、Web 引擎 开发自己的应用程序。
和 Flash 引擎来支撑相应类型的应用。
从软件代码看,应用框架实际上是使用 Java 语言编写的 在此架构需求的指导下,NGB 中间件工作组从 2010 年 软件层,向上为应用程序提供 Java API 接口供应用调用,向8 月开始着手数字电视中间件标准的制定工作,但在 2011 年 下通过 JNI 接口直接调用或通过 Java 核心库间接调用底层的3 月份的 CCBN 展会上展出了很多移植了
Android 操作系统 C/C 支撑库来实现应用框架的功能(注 :Java 核心库最终的机顶盒,这些机顶盒除可实现数字电视的基本功能之外, 也是通过 JNI 接口调用底层的 C/C 支撑库)。
例如内容检索,还可支持运行于
Android 平台之上的多种应用, 应用框架运行在 Java 虚拟机之上,包括如下模块 :方便用户查找电视频道、网站、应用程序、电视剧、电影等 1 视图系统(View System):可以用来构建应用程序,各种内容 ;支持 Chrome 浏览器,把互联网上的海量内容和 包括列表、网格、文本框、按钮,甚至是可嵌入的 Web 浏览器;应用引入到机顶盒中。
由于
Android 平台的开放性,使得应 : 2 内容提供器(Content Providers) 使得应用程序可以用的开发与终端平台无关,将来会有更多的应用开发商参与 访问另一个应用程序的数据,或共享它们自己的数据 ;到数字电视增值业务的开发,实现终端产品加工生产的水平市场化,有利于促进数字电视产业的发展。
Android 在机顶盒中的成功移植,使得广电从业者看到了解决问题的曙光,认为只要在机顶盒中引入
Android 之类的操作系统就可以解决一切问题,于是出现了抛弃数字电视中间件的言论。
然而这种言论是片面的,没有认识到问题的本质。
笔者撰写本文的目的就是想对
Android 之类的操作系统其本质进行分析,论述
Android 之类的操作系统和数字电视中间件的关系,指出无论外表多么华丽、神秘,究其本质,移植到数字电视领域的
Android 操作系统也仅是数字电视中 图 1 NGB 数字电视中间件功能架构概要间件的一种具体实现方式而已。
尽管
Android 很强大,但目前的版本依然不能满足 NGB 数字电视发展的需要,数字电视中间件的存在依然十分必要。
1
Android系统架构分析1.1
Android 系统架构简介 根据公开资料得到的
Android 系统架构见图 22。
Android 系统采用了分层的架构,从高层到底层分别是应用层、应用框架层、系统运行库层和 Linux 内核层,本文对各个软件层次简要介绍如下。
1. 应用层 应用层是一系列应用程序的集合,包括 Google 发布的核心应用、第三方开发的应用和用户自己开发的应用,例如 E-mail 客户端、电话簿、日历、浏览器等。
所有的应用程序均使用 Java 语言编写。
图 2
Android 系统架构图 88 广播与电视技术 2012 年第 1 期 有线网络 CATV 式 Linux 系统定制。
Android 运 行 时 环 境 包 括 Java 核 心 库 和 Dalvik 虚 拟 机, 支 撑 上 层 Java 应 用 程 序 的 运 行。
每 一 个
Android 应用程序都在它自己的进程中运行,都拥有一 个独立的 Dalvik 虚拟机实例。
Android 可以同时运行多 个 Dalvik 虚拟机实例。
Dalvik 虚拟机依赖 Linux 内核的 图 3
Android 系统架构简图 一些功能,例如线程机制和底层内存管理机制等。
3 资源管理器(Resource Manager) 提供非代码资源 : 4. Linux 内核层的访问,如本地字符串、图形和布局文件等 ;
Android 的内核基于 Linux 2.6。
Linux 内核作为底层硬 4 提示管理器(Notification Manager) 使得应用可以在 : 件和软件资源的抽象层,为
Android 的核心服务提供了支撑,状态栏中显示自定义的提示信息 ; 例如安全性、内存管理、进程管理、电源管理、网络协议栈 5 活动管理器(Activity Manager) 用来管理应用程序 : 和驱动模型等。
Linux 内核层各模块的功能介绍,本文不再赘生命周期并提供常用的导航回退功能 ; 述。
6 窗口管理器(Window Manager) 管理所有的窗口程 : 1.2
Android 的实质序; 为 了 更 加 清 晰 地 认 识
Android 的 实 质, 对 图 2 所 示 的 7 包管理器(Package Manager)
Android 系统内的程 : 系 统 架 构 图 进 行 简 化, 见 图 3。
从 图 3 可 以 清 晰 地 看 出,序管理 ;
Android 实际上是包含操作系统、中间件和典型应用的软件集 8 电话管理器(Telephony Manager) 管理所有的移动 : 合 3 :设备功能 ; 1. 操作系统 :基于 Linux 内核 2.6 ; 9 位置管理器(Location Manager) 提供位置服务。
: 2. 中间件 :包括应用程序框架、C/C 支撑库和 Java 3. 系统运行库层 运行时环境,见图 3 虚线框内部分所示 ; 系统运行库层包括 C/C 支撑库和运行时环境。
随 3. 典型应用 :
Android 软件包一同发行的核心应用。
基于 Java 开发的
Android 应用程序,最终都将通过 JNI 由图 3 可知,通常将
Android 称之为操作系统实际上是接口调用 C/C 库来实现相应功能,
Android 系统主要包括 不严谨的,实际的操作系统是 Linux,
Android 是基于 Linux如下 C/C 支撑库 : 进行了丰富和扩展,为应用程序的开发和运行提供了统一的 1 Surface Manager :实现显示子系统的管理,并且为多 环境,实现 Dalvik 虚拟机,通过提供虚拟环境的方式实现应个应用程序提供了 2D 和 3D 图层的无缝融合 ; 用一次开发到处运行。
2 MediaFramework :基 于 PacketVideo OpenCORE 的 2
Android与数字电视中间件的比较分析多媒体库,该库支持多种常见格式音频、视频的回放和录制, 此处将
Android 与数字电视中间件进行比较有点不太合以及支持静态图像文件的回放,例如 MPEG4、MP3、AAC、 适,毕竟它们不是同一个功能层次的东西。
Android 包含了典AMR、JPG、PNG 等 ; 型应用、中间件和操作系统,而数字电视中间件一般是指应 3 SQLite :轻量级关系型数据库引擎 ; 用层之下、系统层之上居于中间位置的软件层,见图 1 中的 4 OpenGLES :基于适用于嵌入式系统的 OpenGL 接口 中间件层。
为此,若不特殊说明,
Android 与数字电视中间件实现的 3D 效果支持库 ; 所要进行对比的实际上是
Android 的中间件部分。
5 FreeType :位图和矢量字体显示引擎 ; 2.1 共同点 6 WebKit :Web 浏览器引擎 ;
Android 操作系统的中间件与数字电视中间件相比,主要 2D 7 SGL : 图形引擎 ; 有如下几个共同点 : 8 SSL :位于 TCP/IP 协议与各种应用层协议之间,为数 1. 软件架构和功能相似 :居于中间层,向下屏蔽底层软据通信提供安全支持 ; 硬件平台的差异,向上为应用的开发提供统一的 API,提升了 C 9 libc : 语言标准库,系统最底层的库,专为基于嵌入2012 年第 1 期 广播与电视技术 89 有线网络 CATV应用的互操作性,均能满足应用程序一次开发到处运行的需 进程执行。
独立的进程可以防止在虚拟机崩溃的时候所有程求; 序都被关闭。
有 2. 支撑的业务类型相似 : Java 虚拟机和 Web 浏览器, 不同的虚拟机实现机制决定了 Java 应用的运行方式,在可以支持 Java 应用、Web 应用和 Flash 应用。
开发多进程、多窗口应用时两者会有一定的差别。
2.2 不同点 4. 浏览器和 Java 虚拟机的关系不一样
Android 操作系统的中间件部分与数字电视中间件相比, 数字电视中间件要求同时支持 Web 应用和 Java 应用,主要有如下几个不同点。
Web 应用的执行环境是浏览器,Java 应用的执行环境是 Java 1. 软件架构的细化程度不一样 虚拟机。
但是一般并不约定浏览器和 Java 虚拟机之间的相互 一直以来,无论是国外的 MHP/GEM 标准还是国内的 关系 : 所提出的数字电视中间件软件架构均是黑盒模型,DTVM 标准, 1 方式一 :系统软件启动后由 Java 虚拟机接管一切,浏约定统一的上层应用编程接口和底层系统移植接口,或只约 览器作为一个 Java 应用运行在 Java 虚拟机之上 ;定上层的应用编程接口,中间件的内部实现完全由各中间件 2 方式二 :系统软件启动后由浏览器接管一切,Java 虚厂商自由发挥,这也是体现各家中间件技术实力的关键之处。
拟机作为浏览器的一个插件,由浏览器激活调用。
由于各家内部实现机制不一样,尽管制定了统一的应用编程 从
Android 软件架构图可以明确地看到,
Android 的浏览接口,应用在不同中间件平台上运行或多或少会有一些兼容 器是作为一个 Java 应用运行于 Dalvik 虚拟机之上的。
性问题。
5. 支撑的业务领域不一样 相 比 较 而 言,
Android 提 出 的 软 件 架 构 则 细 化 得 多。
数字电视中间件的主要目的是为了支撑数字电视业务,
Android 约定了统一的上层应用编程接口,由于基于 Linux 例 如 直 播、 点 播、 时 移、 推 送、 轮 播、PVR、EPG 等, 而内核开发,因此底层系统移植接口也是统一的。
不仅如此,
Android 推出之初主要目的就是为了支撑移动通话业务。
针
Android 操作系统还详细规定了应用程序框架和 C/C 支撑 对的应用领域不一样,导致软件架构的功能模块也有所差别。
库的模块。
更由于
Android 操作系统仅有 Google 一家提供, 当然这也不是技术问题,而是由不同的应用需求决定的。
因此基于
Android 开发的应用兼容性问题相对较少。
2.3 存在的问题 从功能上来讲,
Android 的软件架构其实是对中间件黑盒 从
Android 现在公开的资料来看,目前还无法支撑数字模型的一种细化。
电视业务。
举例来说,
Android 应用基于应用框架开发,而图 2. 与底层操作系统的绑定关系不一样 2 所示的应用框架缺少与数字电视相关的模块,例如 Tuner 调 数字电视中间件一般不指定底层的操作系统,可以基于 谐解调控制、PSI/SI 解析、EPG、业务选择等等。
欲想支撑数Linux 移植,也可以基于 OS20 移植等等。
从理论上来讲,如 字电视业务,
Android 应用框架必须要扩展。
果制定统一的底层系统移植接口,数字电视中间件可以移植 另一方面,由于
Android 推出之初是针对移动通话业务在多种操作系统之上。
的,因此其应用框架中与移动通信相关的模块对数字电视而
Android 目前仅能移植在 Linux 内核上。
当然这不是
Android 的技术缺点,这与它的技术路线有关。
若非要移植在其它操作系统之上,理论上也是可以做到的。
3. Java 虚拟机的实现机制不一样 数字电视中间件标准(MHP/GEM 或 DTVM)尽管没有明确 Java 虚拟机的实现方式,但从上下文分析,一般是基于 Sun 公司的 J2ME 虚拟机,例如 KVM 和CVM,这类虚拟机基于栈实现。
而
Android 采用了 Dalvik 虚拟机,该虚拟机基于寄存器,允许在有限的内存空间中同时运行多个虚拟机的.