能够进行滚动进程的显示屏的制作方法

文档序号:2637378阅读:333来源:国知局
专利名称:能够进行滚动进程的显示屏的制作方法
技术领域
本发明涉及一种在能够进行滚动进程的显示屏(如数字电视屏幕)上显示文档(如HTML(超文本标记语言)页面)的方法。
背景技术
本发明所述领域具体为对HTML页面的显示,如专利申请EP 1 164499所述。
可以在以下因特网地址处找到HTML标准版本(“HEML 4.01Specification W3C Recommendation 24 December 1999”)http//www.w3.org/TR/1999/REC-htmT401-1999 1224。
HTML页面是能够由读取程序解译以在计算机监视器或电视屏幕上产生可视并可能是音频的输出的文档。显示在屏幕上的HTML页面通常由主文档和可能包含图形或声音元素或源代码的次要文档构成。
为了考虑此HTML页面,HTML引擎加载这些文档,将其存储在存储器中,并进行处理。将此页面的显示存储在图形存储器中,以便进行显示。
HTML引擎是能够显示可以通过因特网进行访问的超文本和多媒体文档的交互式应用程序。其还能够发送和接收电子邮件,以及查阅所谓的“新闻”服务器。
在数字电视领域,用户通过遥控装置或借助于红外小键盘来驱动这种交互式应用程序。实际上,所述应用程序可以集成允许用户只利用遥控装置就能执行所有文本条目等的替代接口。在屏幕上进行文档的显示。
通过特定服务器上的查询来执行对因特网上的文档的检索。在数字电视领域,此操作可以是不对称的。具体地,查询和文档不必通过相同的媒介可以通过调制解调器经由电话网络进行查询,而文档可以通过天线(即通过卫星传输)或通过调制解调器返回。于是,用户可以选择返回的类型。
HTML页面的内容可能会超出监视器或电视屏幕上可用的空间。在这种情况下,监视器或电视屏幕只显示部分HTML页面。于是,用户可以滚动显示,以实现对HTML页面剩余部分的浏览。
在滚动之后,必须显示HTML文档的新可视部分。必须绘制或重绘与新可视部分交叉的每个图形元素。
通常按照几种方式来实现文档的滚动。最简单的方式是进行显示,而不在缓冲图形存储器中进行预先的准备,即通过在显示在屏幕上的窗口中直接绘制。如果滚动文档,则通过到窗口中其新位置的大量复制来显示总是保持可视的窗口内容。通过单独地重绘每个图形对象来显示新出现的其余区域。此方法具有以下缺点当图形系统较慢时,将看到对构成图形对象中的每一个的逐渐绘制。
为了克服此问题,所使用的解决方案是在缓冲图形存储器中准备部分要显示的文档,如像素映射等,并在可视窗口中一次性显示此像素映射的内容。这里,使用了两种技术。第一种是使此缓冲存储器只覆盖文档的可视区域。在这种情况下,当请求滚动时,在缓冲存储器中准备文档的新可视部分,在新可视部分就绪时,对其进行显示(被称为“双重缓冲”的技术)。第二种是以缓冲图形存储器覆盖整个文档,准备整个文档,并在需要时,对其进行显示。
这两种技术的主要问题在于在第一种技术中,在清楚的滚动请求时,准备显示,结果,在请求和实际滚动之间可能会发生令用户厌烦的特定时间,滚动是不流畅的;在第二种技术中,尽管等待时间的问题并不存在,但其可能需要大量的图形存储器,由于其与文档的大小相关。在因特网上,文档的大小不受限制,因此为了利用此第二种技术所需的图形存储器量可能是相当大的。
这种解决方案也不适合于解码器的显示,由于后者需要相当大的存储器来存储在显示之前所计算出的像素映射数据。现在,电视解码器的存储器容量是有限的。例如,为2兆字节数量级的图形存储器。因此,比可以是32兆字节或64兆字节等的计算机具有更多的限制。
本发明的目的是解决这些问题,即在有限存储器的环境下提供文档的流畅滚动,例如,此文档可以是HTML页面。

发明内容
本发明涉及一种在能够进行滚动进程的显示屏上显示文档的方法,其特征在于包括以下步骤-将一些图形存储器分配给文档,从而创建文档可视部分以及被称为“预期带”的最接近此可视部分的区域的缓冲存储器;-作为文档大小、可视部分和预期区域的函数,计算并将此存储器切割为像素映射;-相对于完整的文档及其可视部分,对这些像素映射进行相关定位;-可以作为后台任务来执行,利用优先级系统,根据像素映射与可视区域的接近程度,来填充像素映射的内容;-当对文档进行显示进程或滚动时,将像素映射的内容复制到显示窗口中,如果需要的话,之前可以进行以下步骤如果前一步骤还未终止,则强制更新显示中所涉及的像素映射;-以及返回到作为可视部分的新位置的函数,相对于文档,对像素映射进行相关定位的步骤。
有利地,在水平和垂直滚动的情况下,除了可视窗口靠近文档的边缘的情况之外,预期带最少包括在可视窗口左右的一列像素映射以及上下的一行像素映射。将像素映射切割为利用后台任务的每次调用连续绘制的矩形。
如果尺寸较大,则像素映射填充可能是冗长的,并在操作期间,禁用系统。以小尺寸的矩形填充像素映射能够将填充操作稀释到系统的其他处理操作之间,并能够根据需要快速响应用户。
后台任务还具有构建预期带的功能。
利用此后台任务的每次调用,处理如下-如果已经执行了滚动,对像素映射的可能的重新组织;
-如果未发生像素映射的重新定位,绘制作为距文档可视区域的距离条件的函数而确定的像素映射的第一矩形。
有利地,本发明的方法利用同步机制,允许将要显示的数据可能地强制到像素映射中。
在两种情况下,执行立即绘制-当“暴露”事件迫使绘制显示窗口的一部分时,虽然在预期带中仍未绘制此部分;-当在显示窗口中图形地修改文档的元素时。
本发明的方法尤其用于HTML文档的显示和/或数字电视解码器。


图1示出了根据本发明的方法对预期区域的显示。
图2示出了预期区域的典型转移。
图3示出了同步机制,当未填充像素映射的一部分时,以及当请求显示时。
图4示出了在本发明方法的典型实现中、子窗口树的构成。
图5示出了对图4所示的树的显示。
图6和7中的每一个均示出了根据本发明的方法、在页面设置之后的HTML文档;利用图7的像素映射,能够覆盖文档的整个宽度,而对于图6的像素映射,是不可能的。
具体实施例方式
根据本发明,在能够进行滚动进程的显示屏上显示如HTML页面等文档的方法由以下步骤构成将此文档切割为可以由其尺寸依赖于显示区域的尺寸的像素映射所覆盖的区域;以及提供预期了由像素映射实际覆盖的部分文档的区域。
此预期区域形成像素映射矩阵,覆盖所述文档、可视部分和围绕此可视部分的最接近带,按照准备可视部分和如果滚动文档则即将可视的区域的内容的方式。
预期区域的目的是提高重绘部分文档的操作的可视再现。具体地,在大多数情况下,显示窗口中的预期区域的副本是足够的。
图1示出了这种预期区域10,这里由18行、12列的像素映射13形成,在可视窗口11中显示文档12。
应当注意,这样形成的三个区域的层次包含关系,文档12包括预期区域10,预期区域10包含文档的可视窗口11。如果可用空间足够的话,预期区域实际上可以沿宽度方向或高度方向覆盖文档,如图7所示。
图2示出了在向下滚动文档12的显示的操作之后,预期区域10的演变。此滚动操作必然伴有预期区域底部第一行的转移。于是,必须对此行进行重绘。
除了可视窗口11靠近文档12的边缘的情况之外,预期区域最少包括可视窗口左右的一列像素映射区域以及上下的一行像素映射区域。如果在滚动之后,未满足此规则,预期区域按照重新建立的方式转移。
为了不冒着将应用程序禁用几秒钟的危险,在其创建或滚动之后,预期区域的绘制是作为后台任务按以下几个步骤进行将像素映射区域形成为在每次调用后台任务时顺序绘制的矩形。
此后台任务还具有构建预期区域的功能。
利用此后台任务的每次调用,处理如下-如果需要预期区域转变像素映射行或列,则进行转移;-如果对预期区域进行了正确定位,则绘制预期区域的像素映射的第一矩形。
如果在显示时,要显示的像素映射未准备好,则同步机构使其能够对要在像素映射中显示的数据进行强制刷新。
在两种情况下,执行立即绘制-当“暴露”事件迫使绘制显示窗口的一部分时,虽然在预期区域中仍未绘制此部分;-或者当在显示窗口中图形地修改文档的元素时。
这两种情况分别对应于与图像有关的新数据的注入,和修改图像元素的绘制的聚焦处理。
在这两种情况下,绘制与要绘制的区域具有公共交点的全部等待矩形。图3示出了之后构成预期区域的元素-已经绘制的矩形20;-未绘制矩形21;-显示窗口22;-在“暴露”事件之后要绘制的矩形23;-未绘制矩形24,与矩形23相互作用,通过同步来强制绘制其内容。
本发明的方法在HTML应用中的实现现在,将考虑本发明的方法在解码器中的HTML应用中的典型实现。
第一操作在于将可用图形存储器分割为子窗口树(或HTML“帧”)。
在解码器级,限制可用于创建像素映射的图形存储器的数量。为了确保与HTML引擎同时操作的其他应用正确发挥作用,HTML引擎只利用此存储器的一部分来创建预期区域。在运行HTML引擎时,定义可用存储器的数量。在几个下拉文档在屏幕上同时可视的情况下(HTML子窗口或“帧”的情况),每个文档必须能够得利于本发明的方法所构成的流畅滚动机制。因此,必须在同时可视的所有文档之间分配可用存储器量。
本发明的方法只涉及下拉文档。声明HTML子窗口的文档决不是下拉的。只有子窗口树的叶文档才可能是下拉的,因而是本发明的方法的潜在用户。因此,能够是下拉的HTML文档的可视部分的和精确地覆盖了为HTML引擎的显示所保留的区域。此属性用于确保本发明的方法用于每个叶文档。
HTML引擎按照每个子窗口的面积的函数,成比例地分割图形存储器-M表示为HTML引擎所保留的图形存储器的数量;-Wm & HmHTML引擎的显示窗口的尺寸,以像素为单位;-Wf & Hf任意子窗口的尺寸,以像素为单位。
此子窗口可用于创建其预期区域的图形存储器的量与面积成正比Mf=M*(Wf*Hf)/(Wm*Hm)其中每个方框均构成HTML文档的典型子窗口树如图4所示。因而,存在根文档,例如600×400像素,产生文档帧1,例如600×100像素,以及文档帧2,例如600×300像素,文档帧2产生文档帧2-1,例如200×300像素,和文档帧2-2,例如400×300像素。
对此树的显示给出了如图5所示的结果。
在此示例中,可以按照如下方式来实现对图形存储器的分割,M=1920千字节-根文档(帧声明)=0字节;-“帧1”(叶文档)=480千字节;-“帧2”(帧声明)=0字节;-“帧2.1”(叶文档)=480千字节;-“帧2.2”(叶文档)=960千字节。
以下的操作在于确定像素映射的粒度的问题对于可用于文档的图形存储器数量,需要确定何种像素映射尺寸和粒度将允许系统正确操作。目的是确保滚动的至少一个增量,预测可视区域在任意一侧的运动,以及具有能够沿一侧或另一侧转移的至少一行像素映射。
图6示出了在页面设置之后的完整HTML文档12,由像素映射13和可视部分11覆盖的部分。此文档12可以在同一时刻具有水平滚动和垂直滚动。
图中所示包括以下参数-Wd & Hd页面设置之后的完整文档的宽度和高度,以像素为单位;-Wf & Hf文档可视部分的宽度和高度,以像素为单位(子窗口大小);-Wp & Hp像素映射的宽度和高度,以像素为单位。
还包括此图中未示出的其他参数-Nx & Ny水平或垂直像素映射数;
-Px & Py确保在可视区域任意一侧水平和垂直可用的预期带(此预期带至少对应于滚动增量);-T像素尺寸,以字节为单位(依赖于颜色编码系统),-Mf可用于与文档相关联的像素映射的图形存储器量。
首先考虑可以水平和垂直滚动文档12,以及图形存储器的数量不足以用于利用像素映射水平和垂直地覆盖整个文档。
为了能够确保像素映射的转移,以及同时,确保预测带在每一侧的存在,必须满足以下不等式-2Px+Wf≤Wp(Nx-1)+1 (1)其中Nx>1-2Py+Hf≤Hp(Ny-1)+1 (2)其中Ny>1存储器限制还提出了约束。像素映射的总和必须不超过所保留的存储器量Mf≥Nx*Ny*Wp*Hp*T (3)公式的数量仍然不足以确定像素映射的数量和大小。因此,选择特定的条件-Px,将确保水平预期区域定义为等于水平滚动增量。
-Py,将确保垂直预期区域定义为等于垂直滚动增量。
-Px=αWf滚动的水平增量与文档的显示宽度成比例。
-Py=αHf滚动的垂直增量与文档的显示高度成比例,其中,0≤α≤1,α是HTML引擎的常数(确保能够通过递增滚动来查阅整个文档的约束)。
-(Wp*Nx)*Hf=(Hp*Ny)*Wf(4)预期区域的尺寸与显示区域的尺寸成正比。
利用公式(3)和(4)并考虑必须使用的图形存储器的最大容量来确定水平像素映射的尺寸和数量。得到以下结果Wp*Nx=((Mf*Wf)/(Hf*T))1/2(5)其中Wp*Nx对应于预期区域的宽度,以像素为单位。
利用公式(1)和(5),得到像素映射的最大宽度
Wpmax=((Mf*Wf)/(Hf*T))1/2+1-(2α+1)Wf通过使(5)的预期区域的宽度(Wp*Nx)除以像素映射的最大宽度Wpmax,并上取整为下一整数,获得像素映射区域宽度方向上的最小数目Nxmin。
对于Nx≥Nxmin的所有数值,确保了本发明方法的正确操作。在HTML引擎的实现中,为切割保留数值Nxmin。具体地,在解码器级,限制可以创建的像素映射数。从而,确保使用本发明方法的可能性最大,且由此避免了达到此临界值。
通过将(5)的预期区域的宽度(Wp*Nx)除以所得到的像素映射数Nxmin,并下取整为下一整数,获得像素映射的实际宽度Wp。
在“帧2.2”的示例中,通过取系数α为10%,以及T=4字节,所得到的结果如下-Nx=7-Wp=80像素按照与水平方向相同的方式执行垂直方向上像素映射数的确定。
在所考虑的示例中,针对“帧2.2”而获得的结果如下-Ny=7-Hp=60像素利用此计算方案,像素映射的粒度在水平和垂直方向上总是相同的。
在解码器的实现中,需要考虑额外的参数所创建的像素映射必须总是具有8个像素的倍数的尺寸。因此,在沿一个方向确定每个像素映射的尺寸和像素映射数之后,在将此尺寸下取整为8的倍数的同时,检查在所处理的第一方向上、等式(1)或(2)是否仍然满足。如果不再满足,则必须将像素映射的粒度增加1,并必须重新计算像素映射的新尺寸。
利用这些取整,不再完全使用为一个方向上的计算而保留的存储器部分。于是,在计算出像素映射的尺寸和数量之前,将此存储器过剩转入其他方向。在这些新条件下,水平和垂直粒度可以变得不同。
如图7所示,在Wp*Nx≥Wd的情况下,能够以像素映射覆盖文档的整个宽度。因此,不需要水平转移机构。对像素映射数和粒度的确定是不同的。将水平滚动级可用的图形存储器的过剩分配给垂直滚动。于是,像素映射的宽度可以是解码器中创建像素映射的最大宽度。
权利要求
1.一种在能够进行滚动进程的显示屏上显示文档(12)的方法,其特征在于包括以下步骤-将图形存储器量分配给文档,从而创建文档可视部分以及被称为预期带(10)的、最接近此可视部分的区域的缓冲存储器;-作为文档大小、可视部分和预期带(10)的函数,计算并将此存储器切割为像素映射;-相对于完整的文档及其可视部分,对这些像素映射进行相关定位;-可以作为后台任务来执行,利用优先级系统,根据像素映射与可视区域的接近程度,来填充像素映射的内容;-当对文档进行显示进程或滚动时,将像素映射的内容复制到显示窗口中,如果需要的话,之前可以进行以下步骤如果前一步骤还未终止,则强制更新显示中所涉及的像素映射;-以及返回到作为可视部分的新位置的函数,相对于文档,对像素映射进行相关定位的步骤。
2.根据权利要求1所述的方法,其特征在于除了可视窗口(11)靠近文档(12)的边缘的情况之外,预期带(10)最少包括在可视窗口(11)左右的一列像素映射以及上下的一行像素映射。
3.根据权利要求1所述的方法,其特征在于将像素映射切割为利用后台任务的每次调用连续绘制的矩形。
4.根据权利要求3所述的方法,其特征在于后台任务还具有构建预期带(10)的功能。
5.根据权利要求3所述的方法,其特征在于利用此后台任务的每次调用,存在以下处理-如果已经执行了滚动,对像素映射的可能的重新组织;-如果未发生像素映射的重新定位,绘制作为距文档可视区域的距离条件的函数而确定的像素映射的第一矩形。
6.根据权利要求1所述的方法,其特征在于利用同步机制,允许将要显示的数据可能地强制加入到像素映射中。
7.根据权利要求1所述的方法,其特征在于在两种情况下,执行立即绘制-当“暴露”事件迫使绘制显示窗口的一部分时,虽然在预期带(10)中仍未绘制此部分;-当在显示窗口中图形地修改文档的元素时。
8.根据前述权利要求之一所述的方法用于HTML文档的显示的用途。
9.根据权利要求1到7之一所述的方法在数字电视解码器中的用途。
全文摘要
本发明涉及一种在能够进行滚动进程的显示屏上显示文档(12)的方法,包括以下步骤将图形存储器量提供给文档,以创建文档可视部分以及最接近所述可视部分的区域的缓冲存储器;计算并将所述存储器切割为像素映射;相对于完整的文档及其可视部分,对所述像素映射进行相关定位;填充像素映射的内容,当对文档进行显示或滚动进程时,将像素映射的内容复制到显示窗口中;以及相对于文档,重复对像素映射的相关定位。
文档编号G09G5/34GK1703733SQ200380101000
公开日2005年11月30日 申请日期2003年10月13日 优先权日2002年10月16日
发明者让斯蒂芬·维勒斯 申请人:卡纳尔技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1