专利名称:用于阵列处理的可编程的延迟指数的数据通路寄存器堆的制作方法
技术领域:
本发明涉及数字信号处理,并更加特别地涉及在阵列处理及其它多处理器系统中优化数据存取。
背景技术:
循环缓冲区通常可以在数字信号处理器中发现,比如模拟装置ADSP 2181或Philips REAL DSP,其中,在通过模操作修改地址之后,存储段可以被编址。在此情况下,数据在一个循环中被取出,并且被存储在寄存器中,以及在下一个循环中被用作操作对象。在这类实例中,循环缓冲区被保存在存储器中,并且为了处理缓冲区中存储的数据或恰当地向缓冲区写入新的数据,存储器读/写指令必须被使用。这类指令增加了计算开销、指令集的复杂度以及增加了额外的存储处理时间。
除了循环缓冲区的这类常规应用之外,不存在允许寄存器堆直接模编址或者在阵列处理器中使用模编址的已知设计。模编址允许简化数据元件系列的依次链接,其中,当系列末尾被达到时,序列折回到开始。例如,在有用0到N编号的N个数据存储单元的循环缓冲区中,其中,系统被这样建立,因此给定存储单元X的下一个存储单元被定义为X+1,模编址允许(N-1)+1=0(mod N),从而实现环绕效应。换言之,循环存储器可以被这样建立,因此给定存储单元X的下一个存储单元被定义为X-1,然后0-1=(N-1)(mod N),又实现了环绕效应。
例如,在共同未决的美国专利申请序列号09/968,119的公开内容中,在被设计用于高通过量重复信号处理的多处理器或阵列处理器环境中,单独的单元已经被限制或者取消存储器编址能力。在此情况下,在存储器中保存一个循环缓冲区增加了处理的复杂度;这是根本不可能的。
等效于在存储器中启用循环缓冲区,在处理中简化模编址数据被存储于其中的当前寄存器,从而简化了这类阵列处理器单元中的延迟线等等。不存在允许在数据通路指令中模编址的已知设计。
为了解决常规技术中的缺失,需要一个用数据通路指令来模编址寄存器的方法和设备。该方法将允许处理器在当前寄存器中保存诸如延迟线之类的连续数据系列,从而排除了存储器处理能力的需要。
发明内容
一个延迟编址数据通路寄存器堆,其被设计用于组成多处理器或阵列信号处理系统中的单元的可编程处理器。对于滤波器更新延时为变量的自适应滤波器,内插因子必须是可编程的内插滤波器,和抽取因子必须是可编程的抽取滤波器来说,该延迟可编址寄存器堆是特别有用的。通过减少执行任务所需的循环次数,该可编程性用这个有效方法而被实现。单个参数,即″延迟限制″值在启动时被编程,从而在处理器的寄存器堆内建立一个内部延迟线。从而,通过在运行时间中指定延迟指数,任何延迟寄存器都可以被编址。当处理回路开始新的反复操作时,延迟线前进一个存储单元,即模″延迟限制″。
图例简要说明
图1-2说明指针修改寄存器编址;图1A和2A分别是具有数据寄存器的可仿效内容的图1和2;图3描述一个根据本发明的延迟索引的寄存器组的实例;图4描述图3的寄存器被移位1的情况;图5描述了一个作为均衡器的自适应滤波器的典型结构;图6描述了内插滤波器的多相实施;图7描述了一个抽取滤波器;和图8描述了用于抽取滤波器的双寄存器堆。
在本发明的一个或多个实施例被详细说明之前,应当理解本发明不受限于其申请书中的详细结构和在以下描述中阐述的或在附图中说明的元件安排。本发明能够适用于其它实施例并且能够用多种方式被实践或执行。此外,应当理解,在此使用的措词和术语是为了描述的目的而不应该被认为是任何方式的限制。
最优方案详细说明卷积是在许多申请中,特别是在数字滤波器中都能找到的基本的信号处理操作。数字滤波器可以使用阵列处理技术而被优致地实现,比如在上述共同未决的美国专利申请序列号09/968,119(″主申请″)中说明的用于多标准信道解码器(MSCD)的可重构的自适应滤波器阵列处理器。可重构的处理器阵列由同样的处理器单元组成,每个处理器单元都能够与离它最新的处理器单元通信并且能够被编程来分别执行单个任务。由于需要支持高数据速率和约束成本,因此那些单元必须是简易和有效的。通过设计有效的指令集和支持实现指令的结构,单元的效率在某种程度上被确定。
本发明说明了延迟地址寄存器的设计和相应的指令。这类指令可以在各种滤波应用中被充分利用,包括例如在阵列处理环境中的自适应滤波和多速率滤波。延迟编址数据通路寄存器堆能够被用于任何基于滤波器设计的阵列并且不受限于在主申请中说明的二维阵列。
为了具体说明本发明,先讨论一下关于寄存器编址模式。让给定的处理器具有标号为RI_x的寄存器堆集,其中,x是0和N-1之间的一个值,和N是数据通路寄存器的总数。此外,让处理器具有一个典型的类似于RISC的指令集和一个执行指定回路的顺序控制器。例如,一个加法指令的形式为ADD SRC1 SRC2 DST,其中,SRC1是源操作对象1,SRC2是源操作对象2和DST是目标寄存器。三个操作对象都从寄存器堆提取。一般地,像ADD RI_0 RI_1 RI_2的指令将简单地合计寄存器堆的存储单元0和1中的寄存器的内容并且把结果存储在存储单元2中。在C语言注释中,这将被写作RI[2]=RI
+RI[1]。在这些实例中,所有的编址都是内含的和静态的(按时改正)。
指针修改编址的工作原理略有不同。指针修改编址是一种间接编址形式。一个附加寄存器组、即指针寄存器组被保存,从而用相应的指针寄存器组的内容来映射数据通路寄存器的地址。从而,让指针寄存器组被称作RD_x。类似于ADD RI_0 RI_1 RI_2的指令被实际地转换成方法RI[RD[2]]=RI[RD
]+RI[RD[1]]。从而,指令的操作对象是其地址被包含在RD_x寄存器组中的数据寄存器。如果指针寄存器组的内容是这样的以致RD_x=x,则指针修改编址的工作情况将正好和前一段落中说明的隐含编址的工作情况一样。
本发明使用延迟指数编址。延迟指数编址是指针修改编址的修改形式。它本质上是寄存器堆的指针修改编址,其具有某些RD(指针)寄存器堆内容的初始条件和每个数据周期自动移位指针的机理。RD的内容在启动时被依次增加,其意味着RD_0=0、RD_1=1,...,RD_N=N等等。然后,每当处理循环重新开始,即着每当程序计数器变成0,指针寄存器组中的寄存器内容就被移位到下一个寄存器中,其意味着(″下一个″被定义为后续的)RD_x(当前的)=RD_(x-1)(先前的),并且第一寄存器的内容被调入到最后一个。(如果″下一个″被定义为在前的,则等效移位能够出现,RD_x(当前的)=RD_x+1(先前的),并且最后一个寄存器的内容被调入到第一个寄存器中。)这可以通过参考图1和图2被说明。在RD_x 110、210和RI_x 120、220的这些附图描述的每一个中,寄存器组被示出。为了例证的目的,每组寄存器包括地址为0到3的4个寄存器。寄存器150、250的地址在每个寄存器的(输出)端上被示出。下一个在此被定义为后续的,因此每次移位,给定的RD_x寄存器的内容被转入后续的寄存器,并且最后的寄存器的内容被调入第一个寄存器。指针指出RD_x寄存器的内容的在RI_x寄存器组中的指向。在图1中,t=n 101,即启动情况在左边被说明,其中,RD_x=x。当t=n+1 102时,在图1的右边说明的是,指针寄存器RD_x的内容被移位,因此如上所述RD_x(当前的)=RD_(x_1)(先前的)。这个加法被执行模4,因此0-1=3(mod 4),并且从而当t=n+1时,包含在RD_0中的地址是3。图2完成了时间序列,并且分别描述了t=n+2201和t=n+3 202时的寄存器组。可以看到,对于四个的寄存器组来说,t=n+4和t=n一致。如下所述,这个编址系统将产生一个循环缓冲区。
RD_x寄存器的内容是RI_x寄存器的地址。RI_x寄存器的内容是处理器正在处理的数据。当数据进入和退出处理器时,数据通常会随着时间变化。很容易看出,如果每当程序计数器重新设置进入RI_x寄存器组120、220的新的数据,则层数等于一个小于RD_x中的寄存器数目的延迟线被建立。在图1-2的实例中,层数为3的延迟线从而可以被建立,处理器已经访问了当前数据(通常是在给定抽样率取得的一部分模拟值的抽样)和先前的三个数据或抽样。换言之,处理器已经访问了数据抽样Xn、Xn-1、Xn-2和Xn-3。
图1A和2A分别对应于图1和图2,它们彼此一致,只是添加了数据寄存器组RD_X的内容实例。在任何给定时间的星号示出下一个输入的抽样(即在时间t=n时的抽样Xn+1;通常是在时间t=k时的抽样Xk+1等等)抽样将被写入的位置。可以看见,新的抽样总是覆盖存储在寄存器组中的最旧的抽样,或最延迟的抽样。对于所描述的三个可仿效延迟,新的抽样总是覆盖当前抽样的三个抽样周期后的抽样,或者对于t=n,Xn+1抽样覆盖Xn-3数据抽样。从而,在这个例子中,新的抽样总是被写入在具有当前抽样的寄存器后的RI寄存器,或写入到由RD_(0-1)寄存器、RI[RD_3]指向的RI_X寄存器。当one从RI[RD_0]寄存器向前一次一个地通过所有的数据寄存器时,模4(因此RI[RD_(3+1)]=RI[RD_0]),one发现增加了延迟的抽样。RD_x寄存器从而产生循环缓冲区,其元件由延迟索引(编址)。图3说明了这类对3层延迟缓冲区的延迟索引编址。在图3中,只示出一部分可用的RD_x寄存器,从而存在着层数等于RDx组中的寄存器的实际数目的可能性。由于在RDx组中只有四个寄存器用于延迟线,所以只有RI_x组的0-4的寄存器涉及存储延迟线数据。指令中的RD_0的操作对象指向在延迟缓冲区中有最新值的寄存器,RD3的操作对象指向延迟3的值,或Xn-3。从而,RD-x寄存器组的地址被实际地解释为延迟。这些RD_x寄存器在RI_x组中指向的地点随着时间改变。
图4示出当到达新的状态时寄存器指针的前进。为了在一部分来自数据通路寄存器堆的寄存器组上实现循环缓冲区,在图3-4中称作rlimit的延迟限制被引入并且指针寄存器移位被执行,模(rlimit+1);从而,通过减1(模(rlimit+1)),每个RDx寄存器的内容被改变。模是(rlimit+1),这是因为rlimit是存储在RI x寄存器中的最大延迟,但是延迟线中的寄存器的实际数目是(rlimit+1)来包括零延迟,或当前抽样Xn。
为了在循环缓冲区中保存三个最新的抽样,延迟为零的新的抽样被写入到不断变化(模rlimit+1)的RI_x寄存器,该RI_x寄存器由RD-0寄存器指向。对于图3和4的系统,RDx寄存器的内容会如图1-2中描述的那样按时循环;图3对应于图2中的t=n+2 201,和图4对应于图2中的t=n+3 202。
通常,延迟指数指针寄存器允许处理器实现任何滤波或其它数据处理操作,其它数据处理操作的输入是当前数据和大量在一部分检测中先于当前数据的数据。如果数据按时彼此相对改变,则可以保存一个临时的延迟线,其允许访问当前抽样和大量先前的抽样,正如在FIR滤波器中通常需要的一样。在这种情况下,存储在延迟线中的抽样数目会对应于滤波公式中的或按照图3-4中描述的系统的延迟数目加上1,(rlimit+1)。通过预编程的变量rlimit,处理器知道延迟线中有多少数据抽样,rlimit给出存储在数据寄存器中的最大延迟。通过使用模运算,索引寄存器被自动地加1以便保存不停变化的数据之间的延迟关系。
换言之,″延迟线″可以被实现,其中,抽样不按时间而是按空间变化,比如在图像处理操作中,其中,″先前的″在空间中对应于先前的,这由一个图像内的一些方向来定义。
通过下列实例,这类延迟指数指针寄存器的用处将接着被说明。
应用1自适应滤波器中的误差延时调整延迟索引数据通路寄存器(RD_x)能够被用来简化用于自适应FIR滤波器的抽头延迟线的编程。特别地,考虑最小均方(LMS)算法。滤波公式被提供如下Yn=Σi=0N1CiXXni---------(1)]]>其中,Xn是滤波状态和Cn是滤波系数。滤波系数根据下列公式被更新Cn+=Cni-+μ*Xn-*ϵ----------(2)]]>其中,μ是恒定值,和E是由先前的滤波计算得出的已滤波的输出误差。图5示出在信道均衡器中的这类滤波的应用。实际上,存在一个按照输入抽样周期数目而可测量的有限延时,这个有限延时是在给出的抽样”Xn”在自适应滤波器510的输入端出现的出现时间和误差”E”被计算和被适用到适配单元520的时间之间。如果滤波更新延时超过或等于一个抽样周期,则更新方程必须被修改以使用相等延迟的状态值x,比如Xn-d,其中,d是适当的延迟。
如果自适应滤波器被实现在阵列处理器上,则FIR滤波器的单个抽头被映射到该阵列的一个单元,滤波更新延时是有重新计算的误差到达单元的时间和滤波器抽头输出被调入该单元的时间之间的区别,其在输入数据抽样周期中被测量。为了取出延迟状态,单元需要延迟缓冲区。这个延迟缓冲区从存在的内部寄存器的一个子集被构成,如上所述,其每个元件通过它的相对延迟都被编址到最新到达的本地状态d=0,被存储在RI[(RD-0)]中。例如,如果延时是3,系数Cn+被存储在寄存器RI_5中,则误差被存储在RI_4中,并且当前状态Xn被存储在RI[RD_0]中。为了实现滤波更新公式,单元用延迟限制被编程,rlimit=3,并且更新公式变成RI5=RI5+RI4*RI[RD3]。因为延迟线的寄存器内容被自动地移位,所以在每个数据抽样期间不需要附加的数据移动。
处理器被编程以便自动地把RI_X类型的指令中的操作对象解释为RI[RD X]。从而,用户根本无须考虑指针寄存器到数据寄存器的映射。因此,在下述的实例中,指令将按照RI_X的操作对象而被说明,其被理解成处理器被编程来自动地把那些操作对象转换成RI[RD_X]操作对象。
应用2可编程内插滤波器的有效实施内插滤波器是多速率滤波,其中,输出数据速率是输入数据速率的倍数。常常遇到此倍数是一个整数的情况。这类内插滤波器执行公式1,但是输入序列x是之间插入零的实际输入数据。例如,如果内插倍数是3,则在施加滤波602之前,通过在每双数据抽样之间插入两个零,输入数据流601被修改。因为三个数据值中的两个是零,所以在任何时间点都只有三分之一的滤波抽头制造非零输出。多相滤波器使用这个事实以避免实现零输出抽头。在Proakis和Manolakis的Introduction to Digital Signal Processing(数字信号处理入门)(纽约MacMillan出版社,I988)ISBN0-02-396810-9,pp662-670,第667和668页分别完全说明了这个事实。
图6示出用作内插倍数为3的内插滤波器的多相滤波器的运行。公式1然后被实现为三个滤波器,其采取一个公用输入和它们的输出被按时多路复用。滤波器抽头到单元的映射也在图中被示出。延迟限制寄存器rlimit被编程为2,例如通过专用的指令将其编程为2。系数0、1和2被分别存储在RI_0、RI_1和RI_2中。系数从而被存储在连续的被延迟编址的寄存器中。控制器程序在每个数据抽样期间中执行三个回路。让一个单元中的输入数据被存储在RI3中。然后,一个FIR抽头可以通过指令RI_4=RI_3*RI_2而被模式;因为延迟编址是有效的,所以在第一程序循环中RI_2有系数C0,在第二循环中RI_2有系数C1,和在第三循环中RI_2有系数C2。这等效于被重新配置的整个阵列,从而在第一循环中实现H1 605,在第二循环中实现H2 606,和在第三循环中实现H3 607。每个程序循环中的滤波器输出对应于内插滤波器输出,从而固有地实现输出复用器。应当注意,该状态在滤波器之间被分享;对于9个抽头并且内插因子为3的滤波器来说,只需要3个状态。
应用3可编程抽取滤波器的有效实施抽取滤波器只是双内插滤波器。这类抽取滤波器在图7中被描述。对于3710的抽取因子,来自滤波后的三个输出样值中的两个被丢弃。这意味着被丢弃的滤波器输出不需要首先被计算。通过简单地反向图6中描述的插补器的流向图,这个结构可以被导出,其产生图7中示出的结构。然而,不同于图6的内插结构,该状态不被共享。系统中固有的两个输出延迟被显示图7中的720和730。为了保存独立的状态寄存器,需要一个第二延迟编址寄存器缓冲区,由相同的指针寄存器RDX编址。这类系统实施例只在图8中被示出。两个延迟编址寄存器缓冲区用锁定步骤被编址,取出相应的一对系数和状态。
为了说明这个,让两个延迟编址寄存器缓冲区被标记为RI0_X 810和RI1_X 820。让系数被存储在RI0_X 810中;特别地,对于抽取3次的实例,让RI0_0是C0,RI0_1是C1以及RI_2是C2。让输入数据被存储在R11_X 820中。特别地,让新的数据抽样被存储在R110中,因此RI1_0是Xn,RI1_1是Xn-1以及RI1_2是Xn-2。在上述的内插器实例的情况下,让参数rlimit是2(模3),建立有三个连续元件的延迟线。通常,(rlimit+1)是一个单元中正在被计算的FIR抽头的数目。比如RI1_4=RI0_0*RI1_0的指令模式FIR抽头计算。这实际上在三个连续循环中实现C2*Xn-2、C1*Xn-1、C0*Xn,产生时间多路复用输出,其使用延迟720和730被同步并且被添加到单元的外部。这等价于正在被配置的整个阵列,从而在第一循环中执行滤波器H3 770(关于图7),在第二循环中执行H2 760,在第三循环中执行H1 750。在被新的数据Xn覆盖之前,位于RI10的最旧的数据Xn-3被传递到阵列中的下一个单元。
虽然本发明已经参照不同实施例被详细地描述,但是应当理解,本领域技术人员可能在不背离本发明精神的前提下对其作出不同的改变和修改。例如,一个或多个数据寄存器组RI_X可以由相同的RD_X指针寄存器组索引,每个数据寄存器组用锁定步骤来被编址。同样,在其它实施例中,在不同于数据抽样速率的速率,数据寄存器组和指针寄存器组可以分别被加1。从而,本发明范围被单独地定义在下列权利要求中。
权利要求
1.一个用于处理器的模可编址的数据通路寄存器堆,包括第一组寄存器(RDX)(110、210、310、410)和第二组寄存器(RI_X)(120、220、320、420);其中,第一组寄存器(110、210、310、410)存储第二组寄存器(120、220、320、420)的地址,并且其中,第二组寄存器(120、220)储存数据;和其中,第一组寄存器(110、210、310、410)中的两个或更多的寄存器被顺序排列在一个循环结构中,因此第一寄存器依次向上一个后面的下一个传递。
2.权利要求1的寄存器堆,其中,每当处理器回路开始新的反复操作,循环结构中的寄存器(110、210、310、410)就根据公式RDX=RD_(X+k)(模M)来改变它们的内容,其中,k是一个整数;和其中,模M等于来自用于循环结构的第一组(110、210、310、410)的寄存器的数目乘以非零值|k|,和当k=0时乘以1。
3.权利要求2的寄存器堆,其中,k是0、+/-1、+/-3或+/-4中的一个。
4.权利要求3的寄存器堆,其中,第一组(110、210、310、410)中的N个寄存器被编号为0到N-1。
5.权利要求4的寄存器堆,其中,该循环结构被用来存储N个数据抽样序列,每个抽样比序列中的先前抽样延迟一个抽样周期。
6.权利要求5的寄存器堆,其中,参数N在处理器操作启动时是可编程的,并且它是一个大于最大支持延迟的数,表示为抽样周期单元。
7.权利要求6的寄存器堆,其中,抽样被存储在RI_X寄存器组(120、220、320、420)中。
8.权利要求7的寄存器堆,其中,RI_X(120、220、320、420)寄存器由循环结构中的RD_X寄存器指向。
9.权利要求8的寄存器堆,其中,抽样被存储在RIX寄存器组(120、220、320、420)中的连续存储单元中。
10.一个多处理器系统,包括多个单元,每个单元有一个单独的处理器;其中,每个单元有权利要求6的寄存器堆,和其中,处理器能够执行操作对象是RD_X寄存器(110、210、310、410)的指令。
11.权利要求10的系统,其中,每个单元有一个可编程参数,该可编程参数为该单元设置N的值。
12.优化数字信号处理的一个方法,包括在第一寄存器组(RDX)(110、210、310、410)中实现模编址;启动处理器,从而通过操作指向数据的寄存器来操作第二寄存器组(120、220、320、420)中的数据。
13.权利要求12的方法,其中,每当处理器回路开始一个新的反复操作,在第一寄存器组(110、210、310、410)中的寄存器就根据公式RD_X=RD_(X+k)(模M)来改变它们的内容,其中,k是一个整数;和其中,模M等于用来指向第二寄存器组(120、220、320、420)中的数据的第一寄存器组(110、210、310、410)中的寄存器数目乘以非零值|k|,和当k=0时乘以1。
14.权利要求13的方法,其中,第一(110、210、310、410)或第二(120、220、320、420)寄存器组中未使用过的寄存器存储M的值。
15.权利要求14的方法,其中,第一寄存器组(110、210、310、410)中的一个专用寄存器存储M的值。
16.实现数字滤波的一个方法,包括把当前数据抽样和大量先前的数据抽样存储在第一寄存器组(120、220、320、420)中;通过相对当前抽样的延迟,索引所述的当前抽样和先前的数据抽样;和通过用新的数据抽样覆盖寄存器组(120、220、320、420)中的最延迟抽样,每个抽样周期自动更新第一寄存器组(120、220、320、420)的内容。
17.权利要求16的方法,其中,在第一寄存器组(120、220、320、420)中的数据抽样索引被第二寄存器组(RD_X)(110、210、310、410)保存,第二寄存器组存储第一寄存器组(120、220、320、420)中寄存器的地址。
18.权利要求17的方法,其中,每当处理器回路开始一个反复操作,根据公式RDX=RD_(X+k)(模M),第二寄存器组(110、210、310、410)每个抽样周期就被自动加1,其中,k是一个整数;其中,模M等于用来指向第二寄存器组(120、220、320、420)中的数据的第一寄存器组(110、210、310、310,410)中的寄存器数目乘以非零值|k|,和当k=0时乘以1。
19.实现数字滤波的一个方法,包括把包含当前数据抽样和大量先前的数据抽样的第一数据组存储在第一寄存器组(810)中;把一个或多个附加数据组存储在附加寄存器组(820)中,每个附加数据组包含一个当前数据抽样和大量先前的数据抽样;通过相对当前抽样而延迟一个抽样,索引每个所述的数据组(810、820);和通过用一个新的数据覆盖存储在每个寄存器组中的最延迟抽样,每个抽样周期自动更新第一寄存器组(810)和附加寄存器组(820)中的每个寄存器的内容。
20.权利要求19的方法,其中,在第一寄存器组(810)和附加寄存器组(820)的每个寄存器中的数据抽样索引被指针寄存器组(RDX)(800)保存,指针寄存器组存储第一寄存器组(810)和附加寄存器组(820)中每个寄存器的地址。
21.权利要求20的方法,其中,每当处理器回路开始一个反复操作,根据公式RDX=RD_(X+k)(模M),指针寄存器组(110、210、310、410)每个抽样周期就被自动加1,其中,k是一个整数; 和其中,模M等于用来指向在第一组(810)和附加寄存器组(820)中每一个寄存器的指针寄存器组(800)中的寄存器乘以非零值|k|,和当k=0时乘以1。
全文摘要
一个延迟编址数据通路的寄存器堆,其被设计用于组成多处理器或阵列信号处理系统中的单元的可编程处理器。对于滤波器更新延时为变量的自适应滤波器,内插因子必须是可编程的内插滤波器,和抽取因子必须是可编程的抽取滤波器来说,该延迟可编址寄存器堆是特别有用的。通过减少执行任务所需的循环次数,该可编程性用这个有效的方法而被实现。一个参数,即“延迟限制”值在启动时被编程,从而在处理器的寄存器堆内建立一个内部延迟线。从而,通过在运行时间中指定延迟指数,任何延迟寄存器都可以被编址。当处理回路开始新的反复操作时,延迟线前进一个存储单元,即模“延迟限制”。
文档编号G01R1/00GK1605061SQ02825338
公开日2005年4月6日 申请日期2002年12月3日 优先权日2001年12月21日
发明者K·维亚纳坦, G·F·布恩斯 申请人:皇家飞利浦电子股份有限公司