注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

我心飞翔

我有一个梦想,……

 
 
 

日志

 
 
 
 

嵌入式浏览器研究  

2009-08-22 11:23:35|  分类: 软件、多媒体 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

转自:http://www.eefocus.com/blog/zihao/07-03/1416_9ee9a.html

1.引言

    随着3C融合时代的到来,越来越多的消费类电子产品中有浏览器应用的需求,目前,数字电视机顶盒、IPTV机顶盒、数字电视一体机和手机等等产品中很多都已支持浏览器应用。

    由于消费类电子产品本身的CPU处理能力低、内存容量受限。低功耗等一些特性,使得在PC上非常流行的IE浏览器、Netscape浏览器、

  

目前,嵌入式浏览器分为两大类,一类是用在手机中,基于无线信道、支持WAP协议的嵌入式浏览器,也称作WAP浏览器,另一类就是本文我们要重点介绍的、用于数字电视类终端中的嵌入式Web浏览器。

2.消费类电子产品对浏览器的要求

消费类电子产品对成本非常敏感,而且,显示屏幕、操作方式与PC机都有很大的不同,这就造成了嵌入式浏览器必须满足这些特定的要求,这也是嵌入式浏览器的主要开发难点,这些要求包括:

   l        CPU的开销要低。消费类电子产品CPU 能力弱,功耗低,种类繁多,大多数RISC 架构,有些是基于专门的 DSP 核心,这些处理器的运算能力远远比不上 PC 的CPU,所以,要求浏览器一定要能在100MHz一下的主频上可以运行。

   l        内存占用要小。目前市场上常见的数字电视机顶盒配置是4M Flash,16M内存,一般来说,要求嵌入式浏览器运行期间占用内存在6M下,代码小于1M。IPTV 机顶盒的配置会相对比数字电视机顶盒高,使嵌入式浏览器发挥空间更大。

   l        消费类电子产品是以电视作为显示设备,必须考虑电视显示的特点:标准的电视显示范围为720*576,但是很多模拟电视实际显示不了这么大的范围,一般推荐的范围为640*480,这是浏览器在排版的时候必须要考虑的。另外,目前绝大部分电视还是采用阴极射线管,隔行扫描的方式来显示的,这导致线条,图像,文字在电视机上很容易出现闪烁,目前 

 l        消费类电子产品一般是通过遥控器来操作的,遥控器不可能跟键盘一样复杂。遥控器上的按钮一般包括:上下左右方向键、确认键、返回键、数字键和其他功能键。对于使用嵌入式浏览器来说,主要通过方向键、确认键和返回键来完成。基于这个特点,要求网页中焦点不能过多,另外焦点之间的跳动必须合理。当网页超出电视显示范围的时候,用户可以通过方向键移动,但左右移动不推荐,这要求浏览器必须把网页排版在合理的宽度内,用户可以上下方向移动察看网页内容。

3.嵌入式浏览器的技术需求

3.1应支持的网络通信协议

   首先嵌入式浏览器对多种网络的支持是一个必不可少的要求。这样才能充分利用已有的数据资源,建立业务。嵌入式浏览器要能应用在数字电视终端中,则该浏览器必须支持相应的数字电视数据广播协议。我国的有线数字电视标准是以欧洲DVB 标准为基础,在数据广播中采用以DSMCC 中基于对象的数据轮播(OC)作为数据传输标准,因此数字电视中的嵌入式浏览器技术方案应考虑符合这一标准。

    第二,在IPTV应用中,嵌入式浏览器要做到对HTTP 协议的完整支持,可以实现与Internet 的互联。当然,部分浏览器也提供了对FTP 协议支持,使机对于敏感数据需要采用SSL协议,建议支持SSL2.0/3.0

3.2 应支持的技术规范

   嵌入式浏览器应提供对HTML的支持,这是最基本的要求,目前,一般要求支持HTML4.0及以上。

    CSS(Cascading Style Sheets层叠样式表单 由于实现了网页内容与风格分离,因此可以很好地支持在应用层开发。对CSS 的完整支持为业务的应用开发提供了极大便利,也成为了嵌入式浏览器基本的支撑技术。HTML CSS 在浏览器中的运用最直接体现在电视中的界面美观性,以EPG(电子节目指南)为例,传统EPG 形式单一,样式一旦确定则只能更新数据,无法更改背景、颜色或字体等界面风格;运用HTML CSS 技术则可以动态更新界面,使整个EPG 丰富起来,增强了收视效果,并体现了数字电视个性化发展趋势。目前在嵌入式浏览器中要求支持CSS2.0

    XML 技术对于数字电视和IPTV业务等相关领域来说比较重要,它拥有良好的扩展性、高效的数据传输能力、极佳的自我描述性。但由于业务与成本等多方面的影响,嵌入式浏览器应支持XML 的应用,建议支持XML1.0或以上、以及DOM2(Document Object Model 文档对象模型)。

    嵌入式浏览器需要实现对JavaScript 的支持。JavaScript 作为一种脚本语言本身可以提供良好的网络交互性,还可以被用来开发一些小游戏。建议支持Javascript1.1或以上。

    POP & SMTP等协议的支持,可以使浏览器实现消费电子产品收发电子邮件的功能,一般来讲这是可选实现的。 

    对图片和动画的支持也是嵌入式浏览器的一个主要方面,嵌入式浏览器一般要求提供对JPEG、GIF、BMP、PNG图片格式以及GIF动画的支持,可选支持FLASH动画。

3.3 特殊的显示技术要求

    由于嵌入式操作系统一般没有提供像windows系统一样丰富的图形用户接口,因此在完成同样的显示画面效果时,嵌入式浏览器必须采用自己独特的方式来实现图形显示功能。电视与PC显示器的本质区别决定了嵌入式浏览器的要对这些

4.主流嵌入式浏览器的比较

    在国内消费类电子产品中的嵌入式浏览器主要分为两类,一类是自主研发的专用浏览器,另一类是购买第三方的商用嵌入式浏览器。目前,商用嵌入式浏览器主要有ANT Software Limited的Fresco 浏览器、深圳茁壮公司的浏览器、OpenTV Device Mosaic浏览器、Opera的Opera浏览器EnReach 的 e-Browser浏览器。在数字电视方面,创在国内占有量很大,所以他们的浏览器也在在兼容性方面有欠缺。

5.嵌入式浏览器开发

     除了购买商用嵌入式浏览器外,也有终端厂家自行开发嵌入式浏览器用在自己的产品中。一般地讲,嵌入式浏览器的软件架构可分为传输协议层、浏览器引擎层和显示层三个部分,如下图所示。

           嵌入式浏览器的软件架构图

    传输协议层主要负责网络数据的接收,通过HTTPSSL或数字电视的数据广播协议来正确接收网络传输的数据 

    浏览器引擎层是浏览器的核心,包含了所支持的W3C技术规范的引擎层解析生成带有显示信息和控制信息的中间结果;同时也负责图像数据的解码以及解释执行网页中的JavaScript 脚本. 

   显示层:负责显示由引擎层解析过的网页,并处理用户与页面的交互。一般地,显示层都是基于某一嵌入式GUI库的,如:Qt/E、

   可以看出,引擎层是嵌入式浏览器开发的难点,它涉及了多个标准规范,包含了多方面的技术,开发者从头开始设计,其难度和工作量都是很大的,因此,很多都是在开源浏览器代码基础上经过裁减、优化和移植而来的,但就是这样,其难度也是不小的,有人在通过裁减Firefox

来实现自己的嵌入式浏览器,但最后说:这样做的难度与重新开发一款新的嵌入式浏览器没有什么区别,甚至还会出现更多问题!正是如此,目前嵌入式浏览器领域,真正自己开发做得好的并不多。

         为了便于大家开发浏览器,这里介绍几个开源的浏览器:

    Mozilla

        另外,还有AmayaGhostzilla等等一些开源的浏览器引擎和浏览器可供大家开发时参考。 

  评论这张
 
阅读(200)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017