CN1153975C - 稀疏矢量光栅化 - Google Patents
稀疏矢量光栅化 Download PDFInfo
- Publication number
- CN1153975C CN1153975C CNB99102253XA CN99102253A CN1153975C CN 1153975 C CN1153975 C CN 1153975C CN B99102253X A CNB99102253X A CN B99102253XA CN 99102253 A CN99102253 A CN 99102253A CN 1153975 C CN1153975 C CN 1153975C
- Authority
- CN
- China
- Prior art keywords
- vector
- pixel
- hits
- vec
- brightness
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R13/00—Arrangements for displaying electric variables or waveforms
- G01R13/20—Cathode-ray oscilloscopes
- G01R13/22—Circuits therefor
- G01R13/34—Circuits for representing a single waveform by sampling, e.g. for very high frequencies
- G01R13/345—Circuits for representing a single waveform by sampling, e.g. for very high frequencies for displaying sampled signals by using digital processors by intermediate A.D. and D.A. convertors (control circuits for CRT indicators)
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
公开一种把一组电压-时间数据-地址对光栅化成数字式示波器或类似的电子数据采集仪表的多位光栅显示存储器水平和垂直位置的方法。该方法通过使操作者或基于仪表触发脉冲速率的某种功能可以设定用来点亮受每个获取数据对的光栅化影响的象素的亮度单位数,来提供控制数字亮度的新途径。稀疏矢量光栅化避免了在点方式和矢量方式之间硬性地二中选一,并给予用户类似于模拟式的产生观察选择的感觉的连续统一体的亮度控制。
Description
本发明涉及数字式示波器的显示,更具体地说,涉及对采集的波形数据进行处理,以便为这样一种示波器产生灰度光栅扫描显示的方法。
数字式示波器一般都采用光栅扫描显示器把电信号的活动呈现给它们的用户。每一种光栅扫描显示器,诸如我们每天在计算机屏幕上看到的,都由象素的二维矩阵组成,其中每一个象素单元都是由行号和列号唯一地确定。这种类型显示器中最简单和最便宜的一种是“一位”显示器,之所以这样称呼,是因为它们由其中得到准备显示的信息用的存储器只有一位与每一个象素相联系的亮度信息。在这样一种显示器中,这一位信息决定与此相关的象素是“亮”还是“灭”,“亮”就决定了该象素以预定的亮度来点亮,而“灭”则表示该象素完全不被点亮。
对一位显示器的比较复杂且比较昂贵的替代方案是多位或灰度显示器。与灰度显示器每一位相联系的存储器单元含有多位的亮度信息,指出它们可以点亮的多个亮度等级中的哪一个。像一位显示器的象素一样,多位显示器的象素可以显示“灭”或黑暗状态,但不是只有一个亮度值,而是有多个值。一般可用值的个数为2N-1,其中N为光栅存储器每一个地址的存储深度。这样,例如,4位深度的光栅扫描存储器可以支持不完全到最大点亮的15个等级,以及黑暗状态或“灭”状态。
利用这样较大的数据量,多位显示器可以传递较多的关于被观察的电信号波形的行为的信息,尤其是在信号的重复性不太好,因而在某些部分比在其他部分活动较少的情况下。通过引用结合在本文中的授予Katayama等人的美国专利4,940,931“具有浓淡色调显示的数字式波形测量装置”描述了一种产生数字式灰度显示的系统。多位亮度信息还使建立类似模拟“余辉”效果,亦即信号亮度随着时间而衰减成为可能。在较老式的模拟示波器中,余辉是一种阴极射线管(CRT)的照度的衰减现象,随着阴极射线管(CRT)结构中所用磷粉种类及加在CRT管不同元件上的电压的不同而不同。在数字式示波器中,余辉衰减功能可以通过使与每一个点亮的象素的亮度值按某种算法逐渐减小来实现。通过引用结合在本文中的授予Hanson等人的美国专利4,504,827“光栅扫描显示器用的合成余辉”描述了一种在光栅扫描显示器中使亮度数据伪随机地逐渐减小的方法。通过引用结合在本文中的授予Long等人的美国专利5,254,983“光栅扫描示波器显示用的数字合成灰度”描述了一种用于解决以数字形式储存的所采集的波形的类似余辉的衰减的方法。通过引用结合在本文中的授予Alappat等人的美国专利5,387,896“具有自适应衰减的光栅扫描显示器”描述了一种光栅化系统,它根据以象素初始值为依据的计算用两种方法中的一种对局部象素产生影响。
一般,数字式示波器通过周期性地对探头与被观察的电路某些结点接触处出现的电压进行采样而采集关于波形行为的信息。示波器的探头及示波器的正面设计来精确地复现信号、或信号某些预定部分,或多个信号,并把它送到模数转换器。模数转换器的输出是一系列储存在采集存储器中的多位数字字。依次采集的样值顺序地储存在采集存储器中相关的地址上,以此与时间刻度相关。这些地址最后将转换成时间刻度,其中一个代表示波器光栅扫描显示上沿着x-轴的水平距离。
如前所述,光栅由水平的行和垂直的列组成。每一行可以由沿着垂直轴(y轴)的单元号识别,而每一列可以由沿着水平轴(x轴)的单元号识别。一般在示波器中,从采集存储器单元的数据内容得出的电压振幅值确定了点亮的象素的垂直位置(行号),而从采集存储器的地址得出的时间值确定了水平位置(列号)。把采集存储器的内容和地址加以扩展以产生二维光栅存储器的内容的过程称为“光栅化”。
采集存储器的数字内容以及该存储器中顺序的地址的时间有效位,只需要与它们所代表的电压和时间值成正比。仪器采集和显示的设定将确定它们所代表的实际电压和时间值,并且将确定以映射到光栅存储器中的数据的形式应用的刻度函数。
对于示波器显示器设定和所采集的波形数据的任何特定组合,都会有一些函数,它把所采集的数据点映射到时间(x轴)-电压(y轴)显示光栅上。这些映射函数包括准备映射的样值数目和光栅显示器中象素列的数目的某种比例。尽管该比例可以是1∶1,但是一般都是N∶1或1∶N。若数据点数多于它们必须被映射到其中的象素的列数,则需要采用某种形式的数据压缩。最简单的方法是,这可能意味着每隔N-1个数据点抽取一个,其余全部抛弃(称作“小数式抽数法”),尽管这意味着丢失原数据组中可用的某些信息内容。
若所采集的数据必须映射入的光栅存储器有多个位与每一个象素单元相联系,亦即支持灰度亮度值,则可以用显示上的亮度变化(亮度差)把对同一象素的多次命中(也称为“击中”)跟单次命中,或不同的命中次数区分开来。在一位显示器中,这样的区分是不可能的,因为每一个象素不是亮就是灭,即,点亮或不点亮。图1A-1C,2A-2C,5,6,9和10举例说明一位光栅化的输出。在这些图中,用“D”和“R”标识的象素全都点亮到大体相同的亮度。正如下面还将进一步讨论的,这些“D”和“R”指的是点亮一个特定象素的判断来源,而与该象素的亮度毫无关系。
数字式示波器显示器具有以称作“点方式光栅化”和“矢量方式光栅化”的两种基本方法之一历史地映射和呈现的所采集的波形数据,后一种方法亦称“矢量化”。图1A,1B和1C举例说明正弦波形的点方式光栅化。在图1A中,约1.5周的这种波形用来自采集存储器的20个波形数据点来呈现。因为输入数据和光栅象素点列之间有一对一的关系,故无需数据压缩或扩展,20个采集的数据点直接映射入所示的20个象素列。用这个方法激活的象素用“D”标示,它既指与实际数据点的对应关系,在此情况下又指点方式处理的输出。
图1B表示类似的波形数据的点方式光栅化,但在图1B中,以2∶1的压缩比例表示3个周期。正如从这些图中可以看到的,采用点方式时,只有直接被光栅化映射函数“命中”的象素才点亮,或具有增大后的亮度值,而光栅显示中的其他象素不受影响。图1C亦举例说明点方式光栅化,但它以1∶2的扩展表示约3/4周期。
接着参照图2A和2B,这些图表示图1A和1B点方式光栅化用的同一输入数据的矢量方式光栅化。如图2A和2B所示,矢量方式光栅“命中”(亦即将其点亮或增大其亮度)点方式所命中的象素之间的全部象素。在这些图中,与实际的采集数据对应的象素标以“D”,而光栅化过程所提供的象素标以“R”。无论如何,两组象素都同样地点亮,结果位图光栅图象可以用每个象素一位来描述。
光栅化过程的输出通常是与光栅存储器某些预先存在的内容结合的,而此后有规律地对所得的复合光栅内容进行某种衰减处理。为了获得该领域中的更多的信息,参见通过引用结合在本文中的下列美国专利:授予Alappat等人的美国专利5,440,676“象素亮度分等级的光栅扫描波形显示光栅化器”;授予Alappat等人的美国专利5,387,896“自适应衰减的光栅扫描显示”;授予Long等人的美国专利5,254,983“光栅扫描示波器显示用的数字合成灰度”;“具有A浓淡色调显示功能的数字式波形测量设备”。
应该指出,光栅化过程一般一次只对一列信息进行。对这个过程的输入一般是该列中当前点的垂直坐标及下一点的垂直坐标。这些垂直坐标是从采集存储器中数据-地址对的数据部分得出的。被更新的列由同一数据-地址对的地址部分确定。由于数据地址向象素列的映射可以是多对一、一对一或一对多的,所以上面所指的“下一点”就可能与下一列相关,如图1A所示,或与同一列相关,如图1B时间部分的情况。当下一列没有直接映射于其中的数据点时,光栅化器以外的水平插值器可以确定一个点,并将其提供给光栅化器。光栅化器以与直接来自数据-地址对的其他输入相同的方法处理这些水平插值的点。
在特定的情况下最好采用哪一种光栅化方式,点方式还是矢量方式,这往往要视波形输入速率而定。数字式示波器响应“触发”事件而采集波形数据。尽管触发器可以以比较复杂的事件作为依据,但一般都是在特定方向上当被观察的信号振幅跨越振幅阈值时产生一次触发。一般触发事件的振幅和方向是由示波器的操作者决定的,但是它也可以由某些示波器自动提供,至少在某些方式下是如此。一般,操作者找出看来适宜于看到他或她感兴趣的部分的触发电平和方向,然后迭代地进行时间基线、垂直振幅和亮度的调整,或许还有触发电平的调整,直至在显示器上产生令人满意的波形图象为止。
若触发事件迅速发生,则示波器忽略其中的一部分,因为它没有足够的时间来处理和显示上一次采集来的数据。由于光栅化会减慢分析和显示过程,选择矢量方式时一般波形信息吞吐量都减少。因此,尽管矢量方式操作产生较好的波形图象,但点方式最适合供较大的波形信息吞吐量用。
若有足够的触发脉冲和波形,而且示波器有适当的数据处理能力,则点方式光栅化一般都能提供适当的波形显示。反之,若触发脉冲速率低,而示波器有足够的时间来处理每一个波形,则矢量方式光栅化一般能提供最好的波形图象。但是,有时波形采集速率是中等大小,而不论点方式还是矢量方式都不能完全适合提供最优波形显示的任务。在这些情况下,操作者可以手动地在点方式和矢量方式之间来回切换,但是可能发现,不论哪一种方式都不真正适合于产生最优的显示。下面将要描述的本发明的目的是提供一种适合这些情况的替代方案。
作为进一步的背景,应该指出,多年来数字式示波器只限于有效地处理和向用户显示探头电极头处活动的百分之几。尽管不太熟练的用户和那些只熟悉模拟示波器的用户有这样的印象,即他们看到了他们的数字式示波器探头电极头处的活动的大部分和全部,但在许多情况下显示器只显示那里所发生实际活动的百分之几。这是因为这些示波器处理信号所花费的时间比采集它们所用的多得多。若信号的重复性很好,这样损失“有效时间”并不成问题,因为一个波形看上去和另一个都差不多。但是,当信号显示某种间歇的异常行为时,有效时间的百分数低就会使这样的异常现象检测不出来。因此,增加波形信息吞吐量和能让用户实际观察到的探头电极头处信号活动的百分数,一直是一些比较新型的数字式示波器设计的目标。通过引用结合在本文中的授予Meadows等人的美国专利5,412,579“带有快速采集系统的数字式示波器的慢速显示方法”描述了一种示波器系统,其中采集结果复合在交替的(亦称“乒乓”)显示缓冲区中,使得尽管一个显示缓冲区的内容正用来向用户显示数据,而另一个缓冲区别正用来收集和复合更多的数据。但是,这种设计的缓慢显示每个象素只提供一位的亮度数据,因此不具备类似于模拟式的灰度能力。
其他的示波器已经成功地产生灰度显示,但是这些显示器是以作为基础的波形的比较低的信息吞吐量为基础的。如上所述,这种数字式余辉的衰减时间是可以变化的,以便为用户提供类似于模拟示波器显示所具备的控制能力。把数字式余辉特性关闭,就表现为“无限长余辉”的显示,其中正在到来的所采集的波形迭加在若干已经点亮的象素上,或迭加在其亮度上,但永远不会使其亮度消失,或使它们回到不点亮的状态。这样,随着时间的推移,每一个受到影响的象素都会达到最大亮度。
如前所述,增大探头电极头处的“有效时间”和处理大量波形的能力是数字式示波器非常希望得到的特性。通过引用结合在本文中的授予Etheridge等人的美国专利5,530,454“具有加大的工作比的用于信号监视的数字式示波器结构”描述了一种每秒能够采集400,000个波形的示波器。这种示波器依时基设置而定以有效时间百分数在50%到接近99%之间变化的模拟示波器性能作为竞争对手。这种速度是靠利用两个光栅存储器来达到的,一个用于采集系统,另一个用于显示系统。这些光栅存储器中的第一个称作“光栅采集存储器”,几乎不断地被供以所采集的波形,这些波形是由采集光栅化器和图象组合器复合到该光栅采集存储器中的。这样复合了许多波形之后,将每个象素一位的光栅采集存储器的内容转移到每个象素多位的显示光栅存储器上,在这里与以前显示的数据组合。该显示光栅存储器也如前所述地受到数字式余辉控制。尽管这种按照Etheridge的“454专利”所讲授的知识建造的示波器达到了非常高的波形信息吞吐量,而且产生非常好的显示,但是这一设计有赖于大量高速而昂贵的硬件才得以成功。成本较低的光栅化器,一般所要求的操作时间都与其亮度受光栅化过程影响的象素的数目成正比。
对于许多用户而言,尤其是那些对模拟示波器有某些经验的用户而言,可变的亮度会有用地传递关于所观察的活动的信息。例如,平时重复性的信号以每10次出现一次的几率出现的间歇的异常现象,在这种类型的模拟示波器上会清楚地显现出来,但其亮度明显地低于每10次出现其余9次的主信号的亮度。当然,若该信号变得过于间歇,它在亮度上就会微弱得完全被示波器的操作者忽略。
在通过引用结合在本文中的授予Meadows等人的美国专利5,412,579“带有快速采集系统的数字式示波器的慢显示方法”中,每个象素一位的两个光栅存储器以一种能给予操作者有间歇性信号存在的指示的方法使用。这是利用限制把最新的波形复合到以前累积的波形的随机化过程来达到的。采用这样的方法,间歇性足够大的波形只以虚线显示,而大部分时间都出现的波形一般都以实线出现。因为这种实施方案受到每个象素一位的限制,极其稀疏和不那么稀疏的波形往往被识别错了,分别被错误地识别为无法辨别或总是存在。
显示器光栅存储器的多位、灰度实施方案提供了绕过上述限制的途径。在一个刚才讨论过并通过引用结合在本文中的授予Etheridge等人的美国专利5,530,454所描述的系统中,可以用非常逼真的类似于模拟的方法使间歇行为表现出来,因为偶尔被命中的象素永远也达不到与经常被命中的象素相同的亮度值。若数字式余辉被激活,则被命中而被激活的象素全都将按照某种适当的函数衰减,但是难得被命中的象素,其亮度不那么经常被增大,因此显得比几乎每次光栅化都被命中的象素暗。
除了至今已经描述的数字式示波器的能力上的改进之外,在某些情况下,有些示波器用户强烈地偏爱另一种类似于模拟示波器的行为,即“斜率响应矢量化”。因为模拟示波器在水平回扫期间产生垂直移动,以提供探头电极头处信号活动的实时图象,它们固有地倾向于与它们所产生的线条的斜率成反比地改变显示器的亮度。它的出现是因为CRT(阴极射线管)阴极电子枪产生的电子供应量是恒定的,取决于“亮度”控制器的设定。
因为这个电子供应量是恒定的,而且因为电子束的水平移动是恒定的,所以显示的感觉“亮度”或强度随着信号的垂直活动量呈相反的变化。若无垂直运动,则在特定的时间间隔内产生的所有的电子能量都送到一条短的水平线上,显得比较亮。另一方面,若在同一时间间隔内有大量的垂直运动,同样数量的能量便分散到在相当的时间间隔内产生的长得多的线上。尽管这会使急速上升的垂直沿难以看到,但这给用户一种信号活动的“感觉”,而在亮度比较均匀的或以断续的点稀疏散落的数字式显示上可能失去这种感觉。在这一方面类似模拟示波器的系统在通过引用结合在本文中的授予Siegel等人的美国专利5,550,963“数字压缩波形的分等级显示”中做了描述。
把上述总结一下,并弄清将在下面描述的本发明的必要性,示波器制造商为了最好地满足示波器用户的需要,长期以来一直力求通过生产一种既保留能够在采集之后储存和处理所采集的数据的所固有的优点,而同时又比较成功地模拟模拟式示波器显示最好地传递所观察的信号的信息的那些特性的数字式示波器来达到“两个世界中的最优者”。尽管在这个方向上取得了很大的进步,但是基于数字式光栅扫描的用以传递波形信息的方法最难解决的问题(most resistant artifacts)之一是点方式和矢量方式两种光栅化方法之间截然分开(sharpdichotomy)。因为与每一个激活的象素相关的存储器单元更新所涉及的读-修改-写活动都要有时间开销,所以矢量方式光栅化一般都比点方式光栅化消耗多得多的时间,然而在许多情况下点方式往往提供不适当的波形图象。当波形和触发脉冲数量相当大,而且示波器可以足够迅速地采集这些波形以便能够适当地捕获稀少的事件,然而却没有足够的时间来把所有这些波形完全光栅化,也没有足够的数据尤其是在波形非重复的部分,以作出给予用户他或她所需的信息的可视性的适当的点方式显示时,这是一个特别令人沮丧的问题。
按照本发明,公开一种把一组电压-时间、数据-地址对光栅化成数字式示波器或类似的电子数据采集仪表的多位光栅显示存储器的水平和垂直位置的方法。该方法通过提供一种基于仪表触发脉冲速率来设定在绘制每一个矢量时准备改变的象素的最大个数、而同时操作者控制的参数确定每一项修改可用的亮度的单位数的功能,来提供一种控制数字亮度的新途径。若一个矢量具有的象素多于准备改变的象素的最大个数,则按这样一种算法把修改的象素在该矢量的整个长度上分散开来,该算法最好包括至少某种程度的随机化。若可用的象素修改个数大于该矢量上的象素个数,则它们所代表的多余亮度内容,不是可以沿着该矢量中可用于修改的象素分散,就是可以将其忽略或弃置。若该矢量没有长度,则所有可用的亮度或亮度较小一部分都放在一个象素上。设置一个小的最小矢量长度,低于该值只作有限的矢量填充,通过限制为不重要的细节而花费的大量时间,可以节省时间。为那些受光栅化过程影响的象素设置最大和最小亮度电平,在一个极端上可以限制饱和,而在另一个极端上保证那些只接收一个或少数几个命中的区域仍旧具有亮得足以察觉的亮度电平。稀疏矢量光栅化避免了在点方式和矢量方式之间硬性地二中选一,并给予用户类似于模拟式的产生观察选择的感觉的连续统一体的亮度控制。这是在有多少波形正在被采集并需要处理的情况下使被更新的象素数达到最大的同时实现的。
图1A举例说明约一个半周正弦波的(先有技术)单值点方式光栅化,对于这种光栅化的输入在输出中每个光栅象素列具有单个采集波形数据点。
图1B举例说明约3周正弦波的(先有技术)单值点方式光栅化,对于这种光栅化的输入在输出中每个光栅象素列具有两个采集的波形数据点。
图1C举例说明约3/4周正弦波的(先有技术)单值点方式光栅化,对于这种光栅化的输入在输出中每两个光栅象素列具有一个采集的波形数据点。
图2A举例说明与输入到图1A的相同的波形数据的(先有技术)单值矢量方式光栅化。
图2B举例说明与输入到图1B的相同的波形数据的(先有技术)单值矢量方式光栅化。
图2C举例说明与输入到图1C的相同的波形数据的(先有技术)单值矢量方式光栅化。
图3A举例说明根据本发明的与输入到图1A和2A的相同的波形的多值稀疏矢量方式光栅化,光栅化器输入的控制参数设定如下:AVEC=2,AUNITS=3及LMIN=0。
图3B举例说明根据本发明的与输入到图1B和2B的相同的波形的多值稀疏矢量方式光栅化,光栅化器输入的控制参数设定如下:AVEC=2,AUNITS=3及LMIN=0。
图3C举例说明根据本发明的与输入到图1C和2C的相同的波形的多值稀疏矢量方式光栅化,光栅化器输入的控制参数设定如下:AVEC=2,AUNITS=3及LMIN=0。
图4是举例说明本发明具体实现中所涉及的步骤的逻辑流程图。
图5举例说明具有上升沿和下降沿的脉冲信号的(先有技术)单值点方式光栅化。
图6举例说明与图5中所示相同的脉冲信号的(先有技术)单值矢量方式光栅化。
图7举例说明按照本发明的与图5和6所示的相同的脉冲信号的多值稀疏矢量方式光栅化,光栅化器输入的控制参数设定如下:AVEC=4,AUNITS=3,LMIN=0及WLESS=0.25。
图8举例说明图7中所示类型复合成累加的光栅扫描图象的三次稀疏矢量光栅化。假定图4算法的随机部分在每一种情况下均不相同,以便举例说明如何随机地填充各光栅化器输出未填充的象素。
图9举例说明跨越在小的噪声波形上的噪声尖峰的(先有技术)单值点方式光栅化。
图10举例说明与图9中所示以点方式光栅化的相同的输入波形的(先有技术)单值矢量方式光栅化。
图11举例说明按照本发明的与图9和10中所示光栅化的相同的信号的多值稀疏矢量方式光栅化,AVEC=5,AUNITS=2及LMIN=3。
下面的讨论紧紧地依靠含有对光栅化器输出的说明的各图。但是,由于篇幅所限和需要把注意力集中在细节上,所以必须明白,这些说明只有20行和20列,比任何实足尺寸,一般均约为400×500象素的光栅化器扫描显示要小得多。因此,这些显示与实足尺寸时的图象相比颗粒性看来要严重得多。还应该指出,在稀疏矢量生成中插值点的最优分布,至少部分地是随机的,具有用随机偏移量的值检索的恒定间隔。实际上,这里仅示出一次的操作,实际上将进行很多次,使得对大量事件起作用的概率定律将有机会消除这些“快照”示例中出现的颗粒性。
参照图1A,该图举例说明一个半周正弦波按照先有技术点方式光栅化的结果。输入的20个采集的波形数据点映射成这里看到的输出中的振幅-时间图的20个点。这种输出是单值的,意思是每一个点的亮度,举例说明图中用“D”标示,是相同的。
接着参照图1B,这是图1A所示相同类型先有技术点方式光栅化的另一个举例说明图,差别只是输入波形数据点数,亦即40比输出中的象素列的个数,亦即20多了一倍。这2对1的压缩使同样的正弦波形能够沿着水平轴显示多一倍或约3周。输出也是单值的,意思是响应这一光栅存储器图象每一个象素以相同的亮度点亮。
下面参照图1C,这是图1A和1B所示相同类型先有技术点方式光栅化的另一个举例说明图,差别只是输入波形数据点数,亦即10只有输出中象素列数,亦即20的一半。这1对2的扩展提供同样的正弦波形沿着水平轴显示的一半,或约3/4周。输出也是单值的,意思是响应这一光栅存储器图象每一个象素以相同的亮度点亮。
现参照图2A,2B和2C,这些图分别表示与图1A,1B和1C点方式光栅化后显示的相同的波形的矢量方式光栅化。图2A中所示的矢量方式光栅化的输出具有50个(单值的)激活的象素,而相比之下,图1A中所示的点方式光栅化输出产生20个激活的象素。图2B中所示的矢量方式光栅化输出沿着水平轴(与图2A相比)时间长一倍,包含105个激活的象素,而相比之下,图1B中所示的点方式光栅化输出产生40个激活的象素。图2C中所示的矢量方式光栅化输出沿着水平轴(与图2A相比)时间仅为一半,,包含29个激活的象素,而相比之下,图1C中所示的点方式光栅化输出产生10个激活的象素。这样,可以看出,先有技术矢量方式光栅化(亦即矢量化)产生的激活象素比相同波形的点方式光栅化多得多。因此,在更新与每一个象素相关的存储器单元所涉及的读-修改-写活动有时间开销的情况下,矢量方式光栅化需要的时间比点方式光栅化多得多。
接着参照图3A,现在我们看到按照本发明用“稀疏矢量方式”光栅化所产生的多值光栅输出。这里的输入和图1A中所示的产生点方式输出的输入及图2A中所示的产生矢量方式输出的输入相同。但是,在这个由稀疏矢量光栅化产生的输出中,只有34个激活(“命中”)的象素,相比之下,先有技术的正常(完全)的矢量方式产生50个激活象素。类似地,图3B表示与图2B所示正常矢量方式光栅化输出相同的输入的稀疏矢量方式光栅化的输出。对于图2B中所示矢量方式输出中的产生105个激活的象素的3个周期的输入,我们在这里仅看到由稀疏矢量方式产生的65个激活的象素。在图3C中,命中的象素个数与图2C相比没有差别。
图3A和3B中所示稀疏矢量光栅化输出是“多值的”,意思是它们激活的象素含有多于一个非零亮度等级,在这种情况下,是“3”和“6”,因为在这个实施例中,每个矢量命中的赋值数是“2”,亦即AVEC=2,而每次命中的亮度单位是“3”,亦即AUNITS=3。这些设定及其意义在后面还将进一步讨论,但我们在这里指出,一次“命中”指的是光栅显示存储器象素单元内容的修改,亦即通过读-修改-写的操作顺序进行的修改,其效果是在显示器上接收的相关象素的亮度单位数增大。
因为限于图1A-3C这些实例所用的尺寸(亦即20×20象素),AVEC选择了非常小的数值,亦即“2”。这使得这些小的实例可以表示出“稀疏性”,亦即矢量中某些象素不接收亮度。在具有较大的现实尺寸,例如400×500象素的光栅扫描显示中,AVEC的值要大得多,例如511或1023,以便用于不常见的波形的完全矢量化以及许许多多波形的非常稀疏的矢量化。
图4是举例说明本发明的稀疏矢量方式的特定实现步骤的流程图。这种实现有时是用硬件完成的,具体地说,用户ASIC(特定应用集成电路),但是也可以用各种各样的硬件类型或技术,或者几乎完全用软件来实现。在阅读下面的讨论时,参照以下的略语表可能是比较方便的。
略语表
AAMT AVEC>=LVEC时使用的可变的命中数 |
AMAX,VAL 允许的命中亮度最大值 |
AUNITS 每次命中的亮度单位 |
AVEC 每个矢量的命中赋值数,选为2的幂次 |
IMIN,ATK 最小命中亮度 |
INEW 当前命中的象素的新亮度 |
IOLD 当前命中的象素的旧亮度 |
LMIN 被完全命中的矢量的最小长度 |
LVEC 当前矢量的长度,总是>=1 |
LVECL LVEC的对数形式,用作除数 |
UYA 命中位置预期的外加亮度的单位数 |
UY0 Y0位置预期的外加亮度的单位数 |
UY(0+OFFSET) Y(0+OFFSET)位置预期的外加亮度的单位数 |
UY1 Y1位置预期的外加亮度的单位数 |
U(Yn-1) Y(n-1)位置预期的外加亮度的单位数 |
WLESS 加权减小系数,当AVEC>=LVEC时减小U值 |
Y0 该列实际数据点的Y轴位置 |
YN 下一个实际数据点的Y轴位置 |
YN-1 当前矢量(下一个负1)末端的Y轴位置 |
每个矢量的命中赋值数AVEC最好由触发脉冲速率确定,使得它以后可以确定每个波形光栅化要化多少时间,因而反应波形以多高的速率采集。AVEC的选择限制为2的幂次,而大部分算术运算都以2的幂次的方式进行。
每个命中的亮度单位AUNITS,最好由操作者确定,使得他或她可以根据触发脉冲的速率控制显示的亮度。从操作者观点出发的目的是使之对亮度按钮的“感觉”感到满意,并尽可能有用。从光栅观点出发的目的是在给定当前触发脉冲和波形采集速率的情况下,在可能达到的情况下给予波形光栅化过程尽量长的时间和尽量好的结果质量。
再次参照图4,在该举例说明的实施例中,光栅化过程逐列进行。它从新的数据点10出发,然后在11处通过计算该列实际数据点的y轴位置Y0和下一个数据点的y轴位置YN之间差值的绝对值,求出以象素量度的当前矢量的长度LVEC。下一个数据点可以在当前列,也可能在下一列,而且如果不是每一列都有实际采集数据的话,则可能不是实际的数据点,而是水平内插的点。还应指出,若认为相邻矢量最好在它们的端点重叠,则可用YN加一个象素来代替YN。LVEC的最小值为1,而用作除数时,近似为2的幂次,称作LVECL。尽管需要YN-Y0的绝对值,并在几处使用,但仍需保留其符号,并在下面用来确定矢量方向,以作出四舍五入的判断。
然后在判断框12中,把当前矢量的长度LVEC与被全部命中的矢量的最小长度LMIN比较。若当前矢量的长度大于或等于最小矢量长度,LVEC>=LMIN,则接着在判断框16中把每个矢量的命中赋值数AVEC与当前矢量的长度LVEC比较。
若每个矢量的命中赋值数大于或等于当前矢量的长度AVEC>=LVEC,则逻辑流程进到方框18,计算AAMT。在一个实现的实施例中,其中这个过程大部分由电子硬件完成,量AVEC*AUNITS*WLESS由软件计算,然后作为一个数提供给硬件。除以LVECL是比较容易完成的,因为它近似为2的幂次。只要作移位即相当于除法。该操作的结果乘以AUNITS和WLESS。WLESS是加权减小系数,是一个常数,它提供一种手段,借以在AVEC小于LVEC时可以减小AAMT的值。
判断框31比较AAMT与AUNITS,若AAMT不大于或等于AUNITS,则在方框32中把AAMT设置为等于AUNITS。然后在方框33中把该矢量中UY(0+OFFSET)到U[<Y(N-1)]的亮度预期单位数设置为AAMT,必要时舍位。方框31和32的目的是把从希望命中数较该矢量长度中的象素数多而加权至较小(Weighted-to-Smaller)区域向希望命中数较该矢量长度中的象素数少而不加权的区域过渡“平滑化”。尤其是,若WLESS给定一个小的值,因而对于比AVEC短的最长的矢量,AAMT可能变得比AUNITS小得多,显示会由于这种差别而显得明显不自然(Artifacts)。方框31和32通过使该两区域(由判断框16在逻辑上隔开的)之间的过渡平滑化而防止AAMT变得比AUNITS小,从而防止这一效应。
回到方框16,若每个矢量的命中赋值数不大于或等于当前矢量的长度,则判断框17检查随机化是否设置为“on”。若不,则在21处把OFFSET设置为0。若随机化设置为“on”,则方框19令OFFSET为一0至小于当前矢量长度LVEC除以每个矢量命中的赋值数AVEC的比值(再次简化,因为限制AVEC为2的幂次)的任何数的随机数。这种随机化包括分数部分,而不只是整数。
下一个动作由方框20确定,它令每次命中的亮度单位数AUNITS设置为沿着矢量长度从OFFSET到OFFSET+x(LVEC/AVEC),对于每产生小于Y(N-1)的值的每一个x,每隔(LVEC/AVEC)-1个Y轴位置UY的值。必要时在这一步骤中将预期亮度的单位数U四舍五入。在最佳实施方案中,计算所有y的实例,并作为非整数保存。四舍五入推迟到Y值为最后值的方框26。
回到判断框12,若当前矢量长度不大于或等于最小矢量长度,则该方框产生“否”。然后方框30确定从0至小于LVEC的OFFSET的值。然后,根据设计和/或操作选择,可以采用以下任选项中的任何一个:在13处什么也不作(完全忽略这一点和矢量);在14处将每次命中的亮度单位数AUNITS和每个矢量的赋值命中单位乘以每次命中的亮度单位数除以近似为2的幂次的矢量长度(并永远不允许小于1)(AVEC*AUNITS*WLESS)/(LVECL)之中最大的一个设置为当前实际数据点加OFFSET的y轴位置中预期的附加亮度U(Y0+OFFSET)(并且对该矢量的其他象素中任何一个什么都不作;UY0->UY(N-1)=0,U(Y0+OFFSET)除外);或在15处把每个矢量命中赋值数AVEC乘以每次命中的亮度单位数AUNITS再乘以加权减小系数WLESS的所有乘积放入该初始数据点,(对该矢量的其他象素任何一个什么都不做;UY0->UY(N-1)=0,除UY0+OFFSET外)。这三种选择可以粗略地归结为“消除短矢量”,“短矢量截短”和“短矢量集中”。消除短矢量被认为用处有限,而短矢量截短和短矢量集中在大部分情况下都会产生适当的显示。但是,它们都有减少在最短矢量中光栅化每一点所花费的时间的效果。因为示波器一般都连续地对大量波形进行光栅化,含有最短矢量的这些区域将迅速地受到大量亮度命中的影响,尽管利用适当的LMIN值可以避免在这里花费大量时间。一般,这些值将在1至3个象素的范围内。0的值将完全去掉该特性。
方框26把所有y的当前值四舍五入为特定的象素单元。如何进行这种四舍五入是有某种随意性的,并且可以受其他地方所作的设计选择的影响。但是,在这里所描述的最佳实施例中,所有的四舍五入都朝向进行该处理的矢量的原点。每一个连续的垂直变量都被四舍五入为离其矢量的原点Y0最近的整数。这就要求知道矢量当前的方向。该信息就是方框11中完成的减法结果的符号,尽管这里不必确定矢量的量值。
跟在方框12-21,26和30-33所决定的结果之后,判断框24将每个命中单元上预期的附加亮度的单位数,UYA与允许命中亮度最大值,AMAX,VAL比较,若它大于该最大值,则在25处令其为该最大值,UYA=AMAX,VAL。
然后方框27进行读一修改操作,取出老的亮度值,IOLD,加上命中象素预期的附加亮度单位,UYA,便得到新的亮度值,INEW。判断框28将新亮度值与最小命中亮度值,UMIN,ATK比较,若小于,则方框29增大新亮度值,使之等于最小命中亮度。若新亮度值已经大于最小值,则用作该过程的输出。然后将每一个象素修改后的值作为INEW送回它们的存储器单元,对该矢量中每一个受影响的象素重复这个过程。尽管在这里没有明显地显示出来,但是INEW值可以要求修剪,以便适用于光栅显示存储器中每一个象素单元可用的数据空间的长度。
在一个任选的替代的实施例中,在判断框22检查看是否“DOT=ON”(点(方式)=接通)。若是,则在23处每次命中的一个亮度单元,AUNITS(或其他某个值)加到初始点单元Y0上。这提供了一种手段,来像点方式中一样保证实际数据位置被点亮,而不管为运行稀疏矢量方式而对其他任选项已经编程。但是,还应该指出,若给被完全命中的矢量最小长度,LMIN,设置一个非常长的长度,诸如512,则点方式的效果也可以由判断框12和方框12,30和14或15的操作来实现。设置AVEC=1和RANDOM=OFF(随机=断)是达到相当于点方式的一种最佳方法。
改变每个矢量命中赋值数AVEC的能力可以控制光栅化的次数,并以此使光栅化器能够在变化的速度下处理矢量。这种速度可以作为触发脉冲速率的函数来控制,以此通过改变各次光栅化的质量来使波形信息吞吐量达到最大,以适应所述变化。以某种程度的随机性对大量的波形进行光栅化将填充各个波形中的“孔穴”。AUNITS可以通过使用旋钮、菜单选择,或其他人机界面装置作为操作者的控制来提供。它使操作者可以在改变由AVEC建立的信息吞吐量的情况下控制显示器的总“亮度”(强度)。每一种控制形式的相对贡献可以作为设计选择或按照其他仪器的设定或显示环境的各个方面来改变。
在上面描述的这种光栅化器的实施例中,首先从输入变量AAMT,AMAX,VAL,AVEC,AUNITS,IMIN,ATK,LMIN和WLESS如何能够达到新的和期望的显示控制能力的观点来对它们进行描述和讨论。但应指出,所给出的控制这些输入的方法和手段并未说尽,还可以发现其他方法来使用本发明提供的资源。其他操作方式以及与其他控制装置的互作用可以产生各种各样不同的结果。例如,可以有各种各样的方法来利用上述输入参数达到可变余辉的效果,在可变余辉的效果上的本发明的一般方法和相当多先有技术,其中一些通过引用而被包括在本文中。
还应该指出,来自显示器的信息反馈,诸如有多少象素正被激励到饱和亮度或接近饱和亮度,或有多少象素被激活但低于用户所能察觉的水平,都可以用来帮助确定输入参数的最优设置。类似地,测量完成最近一次光栅化所需的时间,或完成最近若干次光栅化所需的平均或总的时间,可以提供在控制输入参数方面有用的其他类型的操作变量,以便就某种考虑使性能最优化。
现回到图1A和3A,让我们跟随图4,看看图3A中的值是如何确定的。在第一列,方框11算出LVEC=1。鉴于LMIN=0,判断框12产生“是”,使我们进到判断框16。由于AVEC=2和LVEC=1,方框16也产生“是”,使我们进到方框18。AVEC=2对LVEC=1的比率是2,然后将其乘以AUNITS=3和W=1,便得到AAMT=6。列2沿着相同的途径达到相同的结果。
在列3,矢量长度是3,故判断框12再次产生“是”。判断框16产生“否”,因为AVEC=2不大于或等于LVEC=3。假定“RANDOM=on”(随机=接通),在方框19将求出OFFSET在0至<1.5的范围内。在这个例子中,我们将假定随机地确定OFFSET为0.75。然后方框20确定亮度的AUNITS=3将放在(预先四舍五入)单元3+0.75=3.75和3+0.75+1.5=5.25。然后将它们向该矢量原点的方向四舍五入,故列3的象素3和5得到3单位的亮度。
在列4,原点在象素6处的矢量长度为4,判断框12的结果再次为“是”。判断框16再次产生“否”,因为AVEC=2不大于或等于LVEC=4。假定“random=on”,方框17产生“是”,方框19产生OFFSET为0至<2。我们将假定,随机过程产生1.5的OFFSET。然后方框20把AUNITS=3提供给单元6+1.5=7.5和7.5+2=9.5。这些数向下朝着该矢量的原点四舍五入,给象素7和9各3个亮度单位。
按照类似的过程,在列5有原点在象素10的长度为4的矢量,但假定随机确定OFFSET=0.5,从方框20得到的结果是:10.5和12.5。然后把3个亮度单位放在列5的象素10和12。在图3A和3B中见到的其余命中的象素是按照图4的逻辑的类似过程产生的。
图4中实现的单列光栅化器用的概念也可以一般化为跨越多个列的稀疏矢量光栅化。为了做到这一点,上述过程中的几个步骤需要扩展。方框11进行修改以计算近似的矢量长度。简单易行的近似方法是把Δ-X和Δ-Y分量的绝对值加起来,于是LVEC=|Yn-Y0|+|Xn-X0|。(有比较精确的求矢量长度近似值的方法,但本法容易计算,便于阐明本概念)。该过程的其他主要扩展是在上面计算Y坐标的每一个地方都计算X坐标和Y坐标。
现参考图3C,我们看到一种使稀疏矢量点在二维空间分布的实施例。再参照图1C,看看数据输入的位置,我们看到在图3C中列1和2输入数据点之间的距离是在Y方向是1个单位,而在X方向是2个单位。由此我们计算该矢量的长度为3。这将从判断框12得出“是”,并从判断框16得出“否”。假定从判断框17得出“RANDOM=ON”,方框19将求出OFFSET的值,一个是X方向的,另一个是Y方向的。
对方框19进行修改,以便通过计算在Y方向上该矢量的长度LYVEC和在X方向上该矢量的长度LXVEC来适应X和Y方向。计算一个在0和1之间的随机数R。然后把Y的初始偏移量计算为R和LYVEC/AVEC的乘积。类似地把X的初始偏移量计算为R和LXVEC/AVEC的乘积。若该随机数碰巧是0.75,则Y的初始偏移量为R*LYVEC/AVEC=0.75*-1/2=-0.325,X的初始偏移量为R*LXVEC/AVEC=0.75*2/2=-0.75。方框20算出这两个点作为输出。第一个点是相对于该矢量的原点的(x,y)=(0.75,-0.325)。第二点通过把LXVEC/AVEC加到X的初始坐标和把LYVEC/AVEC加到Y的初始坐标上而算出。这样,第二点为相对于该矢量的原点的(x,y)=(1.75,-0.825)。最后,将这些坐标四舍五入至象素单元。对于这个例子,我们将X象素地址舍位,并把Y地址四舍五入至最近的整数。(这相当于把1/2加到所有的X地址,然后将X和Y地址都四舍五入至最近的整数)。这个过程产生列1象素3和列2象素2的3单位的命中。
下一个矢量在列3象素2上产生3单位命中,而不管随机OFFSET假定为何值。在列4的象素2或象素3处是否放置第二个3单位亮度取决于所产生的OFFSET值是在偏移量允许值的下半部分还是上半部分。对于原点在列5象素3处的矢量,Y轴上的长度,LYVEC是3,而X轴上的长度,LXVEC是2。近似矢量长度LVEC算出为5,并在方框16处产生“否”。假定“RANDOM=ON”,方框17产生“是”。方框19产生一个0与1之间的随机值。若我们假定该值为0.2,则我们可以计算初始X和Y偏移量的值。Y的初始偏移量为R*LYVEC/AVEC=0.2*4/2=0.4。X的初始偏移量为R*LXVEC/AVEC=0.2*2/2=0.2。方框20产生两个点作为输出,亦即相对于该矢量的起点的(0.2,0.4)和(1.2,2.4)。通过将X值舍位,并把Y值四舍五入至最近的整数,这个过程产生列5象素3和列6象素5的3单位的命中。
跨越多列的光栅化还可以通过由单列光栅化器完成一系列操作而完成。外部的外插器可以求出在相继出现的数据点之间矢量横跨有关列的点,通过四舍五入或舍位识别出该列的象素,然后将其提供给单列光栅化器,作为下一列的数据点。
图5和6分别表示按照先有技术用点方式和矢量方式光栅化的带有上升沿和下降沿的脉冲信号。单值激活的象素数,在点方式为20,而在矢量方式为48。图7显示用稀疏矢量方式光栅化的相同的输入数据,每个矢量赋值命中数是3,每次命中的亮度单位数等于3,最小矢量长度设置为0。这些数值产生37个象素命中,与矢量方式完成的命中数相比,这个数字更接近点方式完成的命中数。记住这里所示各个稀疏矢量方式的输出只是将要复合在一起的许多这样的输出中的一个,借以允许随机效果来填充这里的空白区域,这种光栅化方式的累积作用将产生斜率响应波形,上升沿和下降沿上线条相对昏暗,而在脉冲波形顶部和底部恒压区域线条比较明亮。下面将进一步详细讨论的图8表示刚好3次稀疏矢量光栅化的复合结果。
为了看看图4中所举例说明的稀疏矢量光栅化器过程如何产生图7所示输出,我们现将简单地分析一下这个波形的产生。为了进行这种光栅化,我们将假定每个矢量的赋值命中数AVEC设置为4,每次命中的亮度单位数AUNITS设置为3,最小矢量长度设置为0,LMIN=0,而加权减小系数设置为1/4,WLESS=0.25。
为了简化这个讨论,我们可以立即做几列,而不是像稀疏矢量光栅化实际所做那样,顺序地做。在列1-2,7-14和18-20矢量长度全是0或1,而且由于矢量长度被限制具有最小值1,我们可以得出结论,所有这些列的亮度值计算是相同的。这样,对于这些列,判断框12以及判断框16都产生“是”。方框18求出AAMT=(AVEC/LVECL)*AUNITS*WLESS=(4/1)*3*0.25=3。判断框31产生“是”,因为AAMT=3等于AUNITS=3。方框33将设置U=3,作为列1-2和19-20象素2,列8-14象素19,列7象素20和列18象素1的预期亮度值。(对于这个实例,我们假定不使用方框22和23,或”DOT=OFF”(点(方式)=断开),所以方框23不为每个命中提供额外的亮度单位)。
现在看看列3,矢量长度为2。因为2大于或等于0,判断框12产生“是”,并作出判断转到方框16。因为AVEC=4>=LVEC=2,判断框16也产生“是”。然后方框18算出AAMT=1.5。因为1.5不大于或等于3,所以判断框31产生“否”。然后方框32把AAMT改为3,即AUNITS的值。然后方框33设置从Y0到Y(N-1)所有的UY,以接受AAMT=3作为它们的值。
接着进到列4,矢量长度为6。通过判断框12,现在AVEC=4小于LVEC=6,所以判断框16产生“否”。由于”random=on”,我们进到方框19,它产生从0至<(6/4),亦即小于1.5的随机OFFSET值。对于这个实施例,假定随机OFFSET值确定为0.5,然后方框20把从Y(0+OFFSET)到<Y(N-1)每隔LVEC/AVEC=1.5距离的位置的UY都设置为等于AUNITS=3。这是:4+0.5=4.5,4.5+1.5=6,6+1.5=7.5及7.5+1.5=9。当方框26把这些Y轴位置向着该矢量的原点向下四舍五入时,它们变为4,6,7和9。
在列5,矢量长度为7。判断框12再次产生“是”。因为AVEC=4小于LVEC=7,判断框16产生“否”。再次假定”random=on”,判断框17产生“是”,过程进到方框19,它产生在0至<1.75范围内的OFFSET。对于这个实例,我们把OFFSET设置为1.25。然后方框20把从Y(0+OFFSET)到<Y(N-1)每隔LVEC/AVEC=1.75距离的位置的UY都设置为等于AUNITS=3。这是:10+1.25=11.25,11.25+1.75=13,13+1.75=14.75及14.75+1.75=16.5。当方框26把这些Y轴位置向着该矢量的原点向下四舍五入时,它们变为11,13,14和16。
原点在列6象素17的矢量长度为3。因为AVEC=4大于LVEC=3,判断框16产生“是”。然后方框18算出AAMT=(AVEC/LVECL)*AUNITS*WLESS=(4/4)*3*0.25=0.75。因为它小于AUNITS的值3,所以判断框31产生“否”,方框32把AAMT增大至等于AUNITS,亦即3。方框33把该AAMT的值3给予从17至小于20范围内或17,18和19位置的全部UY。
跳过列7-14,它们的值用上述方法确定,下面我们看看原点在列15象素18的矢量。其长度为3,所以LVEC=3,而判断框12产生“是”。因为AVEC=4大于LVEC=3,判断框16产生“是”。方框18求出AAMT=(AVEC/LVECL)*AUNITS*WLESS=(4/2)*3*0.25=1.5。因为它小于AUNITS的值,亦即3,所以判断框31产生“否”,方框32把AAMT增大至等于AUNITS,亦即3。方框33把该AAMT的值3给予从18至大于15范围内或18,17和16位置的全部UY。因为这个矢量是从顶到底运动的,于是具有负号,方框33的”小于”实际上变成”大于”。
原点在列16象素15的矢量,其长度为7个象素,所以判断框12产生“是”。因为AVEC=4不大于LVEC=7,所以判断框16产生“否”。由于”random=on”,判断框17产生“是”,而方框19随机地确定从0到大于-1.75的OFFSET的值。若我们假定OFFSET为-0.25,则方框20产生Y轴位置的输出15-0.25=14.75,14.75-1.75=13,13-1.75=11.25和11.25-1.75=9.5。然后方框26将这些值朝它们所在的矢量的原点方向四舍五入,而3个单位的亮度将进入列16的象素15,13,12和10。
下面进到列17,该矢量的长度为7。通过判断框12,现在AVEC=4小于LVEC=7,所以判断框16产生“否”。由于“random=on”,我们进到方框19,它随机地确定从0到>(-7/4),亦即大于-1.75的OFFSET值。对于这个例子,若我们假定算出随机OFFSET值为-0.5,则方框20把从Y(0+OFFSET)到<Y(N-1)每隔LVEC/AVEC=1.75距离的位置的UY都设置为等于AUNITS=3。这是:8-0.5=7.5,7.5-1.75=5.75,5.75-1.75=4及5.75-1.75=4和4-1.75=2.25。当方框26把这些Y轴位置向着该矢量的原点四舍五入时,它们变为8,6,4和3。
在图7中可以看到,所产生的矢量并不太”稀疏”,而总命中数,37,比矢量方式(图6)所需的48个少得不太多。另外,该脉冲的上升沿和下降沿,除了波形上有”孔穴”外,该脉冲的基线和顶部接收相同的亮度值。这部分地由于加权减小系数WLESS设定为0.25,大大减小了波形基线和顶部的亮度,因为所有的都是短矢量。缺少亮度对比度的另一个原因是AVEC的4和这个小脉冲的最长矢量6和7之间相互关系。这些矢量相对较短都因为这种说明中的小尺寸20×20,以及这些边缘的上升或下降不是非常陡。若读者设想比较现实的尺寸500×400个象素,而且该尺寸的脉冲并带有陡峭的上升和下降边缘,很快就会看出在这种情况下由于AVEC仅为4的设定矢量会是非常暗的,亦即矢量中会有大得多的”孔穴”。
读者被要求承认,经过足够的尝试,”random=on”将产生所有可能的结果,而所示看来稀疏的输出将适当地填充经过这单次实例的说明仍旧空白的区域。图8表示3次图7所举例说明的类型的稀疏矢量光栅化的复合结果,带有”随机的”结果,为了举例说明的目的,在每一种情况下都(非随机地)选得彼此不同。注意,在上升和下降边缘上亮度是如何相当均匀地降低的。
还可以发现,若在短的矢量中命中的象素较少,则采用稀疏矢量法可以做得更有效。把最小矢量长度LMIN设置为某个小的整数,然后利用它来提高普通稀疏矢量法的质量,在不这样做噪声或其他有大量短矢量的源就会浪费大量时间的地方,以较少的时间产生相当令人满意的显示。这样的约束并不影响较大和比较感兴趣的信号特征。下面对图9,10和11的讨论将有助于说明这一特点。
参照图9,这是从噪声背景中冒出的大的噪声尖峰或小信号的先有技术单值点方式光栅化。在这个点方式例子中,采集的波形输入点数(20)等于光栅输出中的水平象素列的数目(20)。图10表示当这相同的输入波形数据用矢量方式处理时的输出。激活的输出象素的数目从20增加到58。
在图11中,我们看到作为图9和10所示输出的基础的相同的波形的稀疏矢量光栅化。在这种光栅化中,最小矢量长度设置为3(LMIN=3),每个矢量的赋值命中数为4(AVEC=4),每个命中的亮度单位数为2(AUNITS=2),而WLESS设置为0。可以看出,除了该波形中间的电压峰值附近之外,所有的矢量均具有长度3或更小。
现参照图4的方框30,14和15,以及图11,请注意,对于所有LVEC<4的值都采用LMIN=4,判断框12将产生“否”。然后方框30将产生从0到小于LVEC的OFFSET值。这样,方框14或15算出的亮度值将沿着这些矢量被放置在随机选择的象素中。长度为2和3的矢量,因为它们在由它们的普通对数近似的方框14中呈现,因此看来都是2,将产生为AUNITS的最大值的输出值,这在这个实例中是2,或(AVEC*AUNITS*WLESS)/LVECL=(4×2×1)/(2)=8/2=4。这样,对于长度为2或3的矢量,方框14的输出为4。长度为0或1的矢量导致方框14产生(4×2×1)/(1)=8的值,因为它也大于其他替代值2。为了允许LVECL作除数,正像LVEC一样,LVECL被限制具有1的最小值。
继续使用图4,9和11,我们进一步处理图1中较长的矢量。在列8,矢量长度为6。6的矢量长度使判断框产生“是”的结果,因为最小矢量长度是4。6的LVEC使判断框16产生“否”的结果,因为AVEC为4。鉴于“random=on”,判断框17产生“是”,而方框19产生从0到小于1.5的OFFSET值。对于本实例的这一部分,我们假定,OFFSET的输出为0。然后方框20使2的亮度值(AUNITS=2)放入从0的OFFSET开始的每隔1.5的每一个象素中。这样,方框20的y轴输出将是:3+0=3,3+1.5=4.5,4.5+1.5=6和6+1.5=7.5。因为方框26要将这些值向该矢量的原点向下四舍五入,所以列8的下列象素每一个都得到2的亮度单位:3,4,6和7。
继续处理列9,矢量长度为10。10的矢量长度使判断框12产生“是”,因为最小矢量长度是4。10的LVEC使判断框16产生“否”的结果,因为AVEC是4。鉴于”random=on”,判断框17提供“是”,而方框19产生从0到小于2.5的OFFSET。对于本实施例的这一部分,我们假定,OFFSET的输出是2.25。然后方框20使2的亮度值(AUNITS=2)被放入以偏移量2.25开始的每隔2.5的象素中。这样,方框20的y轴输出将是:9+2.25=11.25,11.25+2.25=13.5,13.5+2.25=15.75和15.75+2.25=18。因为方框26要将这些值向该矢量的原点向下四舍五入,所以列9的下列象素每一个都得到2的亮度单位:11,13,15和18。
继续处理列10,这次矢量长度为18。18的矢量长度使判断框12产生“是”,因为最小矢量长度是4。8的LVEC使判断框16产生”否”的结果,因为AVEC是4。鉴于”random=on”,判断框17提供”是”,而方框19产生从0到大于2的OFFSET(负的矢量改变OFFSET范围的符号)。对于本实施例的这一部分,我们假定,OFFSET的输出是1.0。然后方框20使2的亮度值(AUNITS=2)被放入以偏移量1.0开始的每隔2的每个象素中。这样,方框20的y轴输出将是:19-1.0=18,18-2=16,16-2=14和14-2=12。当方框26将这些值向该矢量的原点向下四舍五入时,列9的下列象素每一个都得到2的亮度单位:18,16,14和12。
最后把注意力集中到列11,这次矢量长度为5。5的矢量长度使判断框12产生“是”,因为最小矢量长度是4。5的LVEC使判断框16产生“否”的结果,因为AVEC是4。鉴于“random=on”,判断框17提供“是”,而方框19产生从0到大于1.25的OFFSET(负的矢量再次改变OFFSET范围的符号)。对于本实施例的这一部分,我们假定,OFFSET的输出是0.25。然后方框20使2的亮度值(AUNITS=2)被放入以偏移量0.25开始的每隔1.25的每个象素中。这样,方框20的y轴输出将是:11-0.25=10.75,10.75-1.25=9.5,9.5-1.25=8.25和8.25-1.25=7。当方框26将这些值向该矢量的原点向上四舍五入时,列11的下列象素每一个都得到2的亮度单位:11,10,9和7。
把最小矢量长度设置为诸如4这样较高的值的主要作用是显著减少命中数目,在本实施例中,从LMIN=0情况下产生46个命中减至利用最小矢量长度4产生32个命中。处理若干个重复性的波形和噪声所固有的随机性将填充短矢量的区域和较长矢量电压尖峰中的”孔穴”,经过若干次波形光栅化之后产生类似于”斜率响应矢量化”所表现的波形(类似于由授予Siegel等人的美国专利5,550,963“数字合成波形的分级显示”所产生的波形)。
这种光栅化的首要目的是双重的。首先,提供一种有效的方法,根据新波形采集的速率,使光栅化器的运行时间保持最优。AVEC完成这一目的,方法是允许在可用的波形变多时使每一个波形上所花费的时间减少。本方法的另一个目的是向操作者提供亮度(或”强度”)控制,其感觉和作用就象模拟CRT(阴极射线管)的亮度或强度控制。根据操作者的喜好通过设置AUNITS使所有的波形亮一些或暗一些,而大体上与触发脉冲或波形采集速率或AVEC对它们的响应方式无关。
尽管在本发明的最佳实现中源于操作者使用”亮度”控制器的输入首先影响AUNITS的值,但它与其他设置的相互作用也可以在把AVEC和AUNITS应用于光栅化的方式方面产生差别。这些变量所取的值可以由仪器的设置和输入的一个或多个波形的性质控制。例如,改变采集和显示中起作用的通道数将增大要求光栅化的波形数,而这会影响每一个波形的亮度,假定共享一个光栅化器,而且它具有固定的最大绘图速度。这样,赋予AVEC的值必须减小以便允许增大光栅化器的输入,然后AUNITS亦必须增大,以便产生比较恒定的亮度。操作者对分辨率设置的选择也必须考虑进去,因为在分辨率和更新速率之间必须平衡。仪器实际的触发速率一般控制AVEC,但是正如上面所指出的,其数值必须加以调整,以补偿仪器其他设置。尽管上面勾划的目的反映设计环境中本发明者的喜好,正如广义理解的,本发明并不一定限于这样的目的,稀疏矢量方式光栅化器控制的其他处理方法仍在本发明的范围内。
在判断框12用的LMIN的值一般固定为一个小的值,例如2或3。在这样的设置下,可以在不明显影响显示质量的情况下显著地缩短绘图时间。但是,若触发速率足够低,LMIN可以设置为0或1。随机特性一般都设置为”on”,以避免显示装置混淆。为了灵活性而包括了由”dot=on”提供的选项,但是至今尚未发现在最佳实现中在改进波形质量方面有多大作用。
AMAX,VAL控制用来帮助防止在高触发速率下出现饱和,这里希望有高的波形亮度。它有助于限制每一个光栅化波形的亮度,以减小波形平面在绘制多个波形时饱和的趋势。与用户选择的最高亮度控制设定配合使用Imin控制。通过提高最小亮度等级,它用来保证让用户看见每一个数据,即使这是以显示器的大部分上的灰度信息为代价的。
尽管已经显示和描述了本发明的最佳实施例,但是,对于本专业的技术人员来说,显然在不脱离本发明的情况下可以在其更广泛的方面作出许多变化和修改。例如,独立和不独立的变量可以是上述电压-时间变量以外的其他变量。类似地,可以把垂直和水平轴翻转过来。所描述的控制互作用之中有许多肯定可以用各种替代的途径来实现,以达到不同的设计目标。因此,后附的权利要求书准备覆盖承认本发明的各国专利法所允许的所有这些变化和修改。
Claims (14)
1.一种用来将一组电压-时间、数据-地址对光栅化为电子数据采集仪表多位光栅扫描显示器中的象素矢量的方法,所述方法包括以下步骤:
(a)提供一系列准备光栅化的数据地址对,每一个数据地址对的地址部分规定多位光栅扫描显示器的特定列,每一个数据地址对的数据部分规定该列中的特定象素;
(b)选择每个矢量的命中数,每个矢量的命中数是每一个矢量光栅化过程中完成的象素修改数目的近似值;
(c)选择每次命中的亮度单位数,每个亮度单位代表准备由多位光栅扫描显示器的一个象素显示的亮度额;
(d)通过以下步骤求出每一个当前矢量中的象素个数:
(1)从当前数据地址对算出第一端象素位置;
(2)从下一个数据地址对算出第二端象素位置;以及
(3)利用第一端象素位置和第二端象素位置算出当前矢量的以象素计的长度;以及
(e)若所选每个矢量的命中数等于或大于当前矢量中的象素数,则把所选每次命中的亮度单位数,或算出的所选每次命中的亮度单位数的倍数应用于当前矢量的每一个象素;或
(f)若所选每个矢量的命中数小于当前矢量中的象素数,则把所选每次命中的亮度单位数分配到当前矢量的若干象素中每一个象素,所述当前矢量中的象素个数近似地等于或小于所选每个矢量的命中数。
2.按照权利要求1的光栅化方法,其特征在于:通过包括把所选每个矢量的命中数除以代表当前矢量中象素个数的步骤求出应用于步骤(e)的所述算出的倍数。
3.按照权利要求2的光栅化方法,其特征在于:代表当前矢量中象素个数的所述数字,是当前矢量中象素的个数、通过向下四舍五入逼近2的幂次的最接近的数字。
4.按照权利要求1的光栅化方法,其特征在于:所述分配的步骤(f)包括应用一种随机化功能,即产生从0至小于象素中当前矢量长度除以所选择的每个矢量命中数的比值范围的一个数。
5.按照权利要求1的光栅化方法,其特征在于所述分配的步骤(f)包括以下步骤:
(1)计算以象素量度的初始偏移量值;
(2)计算以象素量度的周期增量值;以及
(3)利用所述初始偏移量值和周期增量值,确定当前矢量中哪些象素要接受所述亮度单位数。
6.按照权利要求5的光栅化方法,其特征在于:所述计算步骤(f)(1)包括使用一种随机化功能,即产生从0至小于象素中当前矢量长度除以所选择的每个矢量命中数的比值范围的一个数。
7.按照权利要求1的光栅化方法,其特征在于:选择每个矢量的命中数的所述步骤至少部分地依赖于电子数据采集仪表的触发脉冲速率。
8.按照权利要求1的光栅化方法,其特征在于:选择每次命中的亮度单位数的所述步骤至少部分地依赖于操作者的输入。
9.按照权利要求1的光栅化方法,其特征在于:若当前矢量中的象素个数小于预先赋值的最小值,则所述亮度单位数只应用于所述当前矢量中的单个象素。
10.按照权利要求1的光栅化方法,其特征在于步骤(e)还包括以下步骤:
(1)把所选的每次命中的亮度单位数的算出的倍数中的总亮度单位数与预定的最大数比较;以及
(2)若步骤(1)的比较表明总亮度单位数超过预定的最大数,则把所述总亮度单位数减小到预定的最大数。
11.按照权利要求1的光栅化方法,其特征在于所选的每个矢量的命中数被限制为总是2的幂次。
12.按照权利要求1的光栅化方法,其特征在于:步骤(e)的所述算出的倍数受到为减小提供给当前矢量中的每一个象素的总亮度单位数而可以调整的常数值的影响。
13.按照权利要求1的光栅化方法,其特征在于所述多位光栅扫描显示器的所述象素矢量是垂直地定位的,而矢量中所有象素都在光栅扫描显示的一列中。
14.按照权利要求1的光栅化方法,其特征在于:所述多位光栅扫描显示器的所述象素矢量包括具有水平分量的矢量,并且所述矢量中某些象素处于所述多位光栅扫描显示器的不同于第一端象素位置所处的列中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/026185 | 1998-02-19 | ||
US09/026,185 US6104374A (en) | 1998-02-19 | 1998-02-19 | Sparse vector rasterization |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1234506A CN1234506A (zh) | 1999-11-10 |
CN1153975C true CN1153975C (zh) | 2004-06-16 |
Family
ID=21830366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB99102253XA Expired - Fee Related CN1153975C (zh) | 1998-02-19 | 1999-02-15 | 稀疏矢量光栅化 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6104374A (zh) |
EP (1) | EP0937987B1 (zh) |
JP (1) | JP3375062B2 (zh) |
CN (1) | CN1153975C (zh) |
DE (1) | DE69926557T2 (zh) |
TW (1) | TW440694B (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6195080B1 (en) * | 1998-04-03 | 2001-02-27 | Tektronix, Inc. | High probability capture of slow trigger rate acquisitions in a digital oscilloscope with variable intensity rasterization |
US6384825B2 (en) | 1998-06-25 | 2002-05-07 | Tektronix, Inc. | Method of controlling a sparse vector rasterizer |
JP2000238338A (ja) * | 1999-02-23 | 2000-09-05 | Matsushita Electric Ind Co Ltd | 画像処理装置 |
US6778931B1 (en) * | 1999-09-24 | 2004-08-17 | Tektronix, Inc. | Test and measurement instrument having multi-channel telecommunications mask testing capability |
US6980212B2 (en) * | 2001-04-17 | 2005-12-27 | Tektronix, Inc. | Method and apparatus for computing thresholds for identification of waveform anomalies |
US7167185B1 (en) | 2002-03-22 | 2007-01-23 | Kla- Tencor Technologies Corporation | Visualization of photomask databases |
JP2004127073A (ja) * | 2002-10-04 | 2004-04-22 | Smk Corp | 指示入力装置 |
US20050057253A1 (en) * | 2003-09-03 | 2005-03-17 | Gee Edward C. | Digital phosphor spectrum analyzer |
JP4571811B2 (ja) * | 2004-02-16 | 2010-10-27 | Hoya株式会社 | レンズ鏡筒のカム機構 |
US8059129B2 (en) * | 2006-03-29 | 2011-11-15 | Tektronix, Inc. | Fast rasterizer |
US8102396B2 (en) * | 2006-07-17 | 2012-01-24 | Tektronix, Inc. | Apparatus and method for improved measurement speed in test and measurement instruments |
DE102006041824A1 (de) * | 2006-09-06 | 2008-03-27 | Rohde & Schwarz Gmbh & Co. Kg | Vorrichtung und Verfahren für Analyse von Signalverläufen unter Verwendung von Masken |
DE102006047994A1 (de) * | 2006-10-10 | 2008-04-17 | Rohde & Schwarz Gmbh & Co. Kg | Verfahren und Vorrichtung zur Darstellung von Ordinaten-Abszissen-Wertepaaren auf einer Anzeige-Einrichtung |
US7692654B1 (en) * | 2006-12-08 | 2010-04-06 | Nvidia Corporation | Nondeterministic pixel location and identification in a raster unit of a graphics pipeline |
DE102007042323A1 (de) * | 2007-09-06 | 2009-03-12 | Rohde & Schwarz Gmbh & Co. Kg | Verfahren und Vorrichtung zur Anzeige von Linien zwischen abgetasteten Messwerten |
US8447954B2 (en) * | 2009-09-04 | 2013-05-21 | International Business Machines Corporation | Parallel pipelined vector reduction in a data processing system |
CN102109540B (zh) * | 2009-12-25 | 2015-05-20 | 北京普源精电科技有限公司 | 一种可以在光栅显示器中显示等效采样波形的数字示波器及其等效采样点的设置方法 |
US8806458B2 (en) | 2012-02-16 | 2014-08-12 | Microsoft Corporation | Vectorization of shaders |
DE102012202941A1 (de) | 2012-02-27 | 2013-08-29 | Rohde & Schwarz Gmbh & Co. Kg | Verfahren und Vorrichtung zur Darstellung von Ordinaten-Abszissen-Wertepaaren auf einer Anzeigeeinrichtung |
DE102012208405A1 (de) * | 2012-05-21 | 2013-11-21 | Rohde & Schwarz Gmbh & Co. Kg | Messgerät und Verfahren zur verbesserten Abbildung von Spektralverläufen |
CN103869120A (zh) * | 2012-12-13 | 2014-06-18 | 北京普源精电科技有限公司 | 具有精细等效触发功能的示波器及其精细等效触发方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4940931A (en) * | 1988-06-24 | 1990-07-10 | Anritsu Corporation | Digital waveform measuring apparatus having a shading-tone display function |
GB2245743B (en) * | 1990-06-29 | 1994-07-20 | Acorn Computers Ltd | Method and apparatus for producing grey levels on a raster scan video display device |
US5387896A (en) * | 1990-08-06 | 1995-02-07 | Tektronix, Inc. | Rasterscan display with adaptive decay |
US5790764A (en) * | 1993-05-26 | 1998-08-04 | Kyocera Corporation | Image output device and image control method for smoothing image or increasing image resolution by use of same |
US5949399A (en) * | 1996-02-12 | 1999-09-07 | Snap-On Technologies, Inc. | Electronic signal measurement apparatus for the acquisition and display of short-duration analog signal events |
US6151010A (en) * | 1996-05-24 | 2000-11-21 | Lecroy, S.A. | Digital oscilloscope display and method therefor |
US5995117A (en) * | 1998-02-19 | 1999-11-30 | Tektronix, Inc. | Rasterization control method |
-
1998
- 1998-02-19 US US09/026,185 patent/US6104374A/en not_active Expired - Lifetime
-
1999
- 1999-02-09 DE DE69926557T patent/DE69926557T2/de not_active Expired - Lifetime
- 1999-02-09 EP EP99300927A patent/EP0937987B1/en not_active Expired - Lifetime
- 1999-02-15 CN CNB99102253XA patent/CN1153975C/zh not_active Expired - Fee Related
- 1999-02-16 JP JP03781899A patent/JP3375062B2/ja not_active Expired - Fee Related
- 1999-05-03 TW TW088102329A patent/TW440694B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
US6104374A (en) | 2000-08-15 |
EP0937987B1 (en) | 2005-08-10 |
DE69926557T2 (de) | 2006-06-08 |
EP0937987A3 (en) | 2000-02-23 |
JP3375062B2 (ja) | 2003-02-10 |
TW440694B (en) | 2001-06-16 |
EP0937987A2 (en) | 1999-08-25 |
CN1234506A (zh) | 1999-11-10 |
DE69926557D1 (de) | 2005-09-15 |
JPH11282394A (ja) | 1999-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1153975C (zh) | 稀疏矢量光栅化 | |
CN1214631C (zh) | 运动及边缘自适应去隔行扫描 | |
EP0822416B1 (en) | Method and apparatus for improving time variant image details on a raster display | |
CN1218287C (zh) | 用复合数据字减少相邻像素电极间数据相差的系统和方法 | |
CN100452851C (zh) | 处理视频图像的方法和装置 | |
CN1305022C (zh) | 等离子显示面板的自动功率控制方法和装置以及等离子显示面板装置 | |
CN1738576A (zh) | 超声波诊断装置 | |
CN1519620A (zh) | 显示方法、显示装置和可以用于显示装置的数据写入电路 | |
CN1153974C (zh) | 对异常波形的反应 | |
CN1265337C (zh) | 等离子显示装置及其亮度校正方法和显示方法 | |
CN1172527A (zh) | 坐标检测装置,其方法和游戏装置 | |
CN1183468C (zh) | 异常波形的检测 | |
CN1419227A (zh) | 用于驱动在复位周期内以中间放电模式工作的等离子体显示屏的方法和装置 | |
CN1234236C (zh) | 处理视频图像的方法和装置 | |
CN1198818A (zh) | 显示装置、电子设备及驱动方法 | |
CN1197033C (zh) | 多函数数字余辉衰变 | |
CN1201278C (zh) | 可降低数据写入时耗电的多灰度级图像显示装置 | |
CN200956040Y (zh) | 一种数字示波器 | |
CN1604162A (zh) | 用于显示等离子体显示面板灰度的方法和装置 | |
CN1407790A (zh) | 用于等离子体显示板的图像显示方法和系统 | |
JP2000214187A (ja) | デジタル試験測定機器の調整方法及び装置 | |
CN1956039A (zh) | 等离子显示装置及其驱动方法 | |
CN1103972C (zh) | 数据转换装置及图象发生装置 | |
CN1731495A (zh) | 驱动等离子显示面板的方法和设备 | |
CN1135393C (zh) | 在具有可变强度光栅扫描仪的数字示波器中低触发率采集的高可能性捕获 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20040616 Termination date: 20160215 |
|
CF01 | Termination of patent right due to non-payment of annual fee |