论文部分内容阅读
嵌入式系统从出现至今已有30多年。随着以计算机软硬件为核心的数字化技术的迅速发展,多媒体技术与互联网应用的广泛普及,嵌入式技术再度成为一个研究热点,许多嵌入式网络应用产品进入了工业生产和人们工作与生活的各个方面。互动机顶盒作为IPTV的终端设备之一,也是嵌入式系统的一种应用。它所提供的互动电视业务,不仅可以为人们提供高清晰的数字节目,也带来了更便捷的交互式服务。为了在电视中浏览到从服务器获取的多媒体信息,通常在机顶盒中实现嵌入式浏览器。当前常见的嵌入式浏览器大致可分成两类:一类是移植开源的Linux浏览器,目前比较流行的有Mozila,konqueror embedded,Dillo,ViewML,DeltaBrowser和JIBrowser;另一类是大公司提供的商业浏览器,如Access Netfront,Open TV device mosaic,Internet Explorer for WinCE和iPanel。这两类嵌入式浏览器各有其优势和缺陷。本文在综合前人研究的基础上,自主研发了一款基于互动机顶盒的嵌入式浏览器。由于从服务器获得的网络文件是用HTML语言所描述的,所以机顶盒上的浏览器首先必须对树形结构的HTML文档进行解析,获得一个逻辑意义上的树形结构。同时在遇有外部样式单时,必须对这个样式单进行解析,并形成一个规则列表的集合,最后对文档树的每个节点从上往下依次选择合适的规则应用到该节点。在完成解析的基础上,浏览器会将逻辑意义上的文档树转化成一颗渲染树,把非可视元素(用来确定样式的元素和逻辑元素)从文档树中剔除,同时计算出每个元素的长和宽以及它们在父元素中的相对位置。最后,浏览器会让所有的元素在显示终端上呈现出来。由于电视的解析度较低,往往PC上一个页面的内容在电视机上需要分多屏来显示,所以采用了部分虚拟画布的技术实现了滚屏。