专利名称:快速中值滤波器的制作方法
技术领域:
本发明一般涉及中值滤波器领域,具体的讲,本发明涉及到一种用于具有预定数量元素、供处理器使用的快速中值滤波器的系统和方法。
在当今数字处理模式中,经常需要运用中值滤波器来处理信号,例如,用来减少脉冲噪声。中值滤波器为非线性滤波器,能被用来得到令人瞩目的结果——在诸如基于媒体处理器的视频、图象、话音,以DTV为中心的视频电话/邮件系统及其它一些使用信号处理的各种各样应用方面之中。
数字或者采样数据类型的中值滤波器通过操作一固定长度的数据样本列来实现功能。该中值滤波器确定出哪个在此固定长度列上的样本用算法表示了在该列中某个中值的值。例如,该中值滤波器依次考察某个图象中的每个象素并且观察其邻近象素以确定其是否为其周边象素的代表。这不同于简单地用相邻象素值的平均值来代替该象素值的方法,而是采用那些值的中值来替代之。该中值通过以下方法计算出首先,把邻近处的所有象素值以数值顺序来排序;然后,用该中间象素值来替代正被考察的象素。如果考察的区域涵盖了偶数个象素,则使用中间两个象素值的算术平均。
该中值滤波器可通过软件和硬件方法来实现。软件方法利用在通用微处理器或者数字信号处理器(DSP)中的预定排序算法来把数据列排序,进而在被排序的数据列中得到具有该中间值的数据。以硬件方法来实现该中值滤波器的现有技术公开于专利号为5,138,567的美国专利申请之中。在此用硬件来实现中值滤波器的情形中,以成本和集成度的观点来采纳少量门电路是有益的。
但是,在这些常规类型的中值滤波器中有许许多多的缺点,包括为找出中值则必须把邻近的所有象素值以数值顺序来排序,而即便是用诸如quicksort等快速排序算法,这也是相当缓慢的。因而,对于即使具有快速排序的实时应用程序来说,这仍然还是不够快的。所以,在中值滤波器中任何计算复杂性的降低或者任一在处理器中所需电路组件的减少都可能改善了需要这些滤波器应用程序的整体速度。
本发明的一个目标就是,对在处理器内的常规中值滤波器的一些界定进行阐述——正如以上所叙述的那样。本发明由独立权利要求所定义。从属权利要求定义了优选实施方案。
在一个优选实施方案中,本发明提供一种中值滤波器处理器指令结构,该结构减少了有关中值计算的数值操作。此外,还提供用当有限数量的元素被指定用于某个中值滤波进程的时候,以避免耗时的排序操作的一种方法和系统。依次,有效地增加该处理器中中值计算的整体速度。
通过根据本发明原则的装置能够减少或者克服处理器内中值滤波计算的缺点。在本发明的一个实施方案中,具有预定数量的元素中值滤波器,通过利用仅采用两种类型运算符,更具体而言为最大和最小两个运算符的处理器操作被构造出来。
本发明的这些及其它实施方案及其它特征将在以下详细公开说明中示出。
本发明的特征和优点,将通过参考采用以下附图来阐明的优选实施方案的详细说明予以理解,其中
图1是根据本发明学说的、基于处理器的五元素中值滤波器的一个示意性装置的方框图。
以下部分详述将说明根据在处理器中的程序或者算法以及有关数据位操作的符号表达法。这些算法描述和表达法是这样一些装置,它们被本数据处理领域中的技术人员用来把他们工作精要最有效地传输给本领域其他技术人员。在本文中的一种算法通常被设想成产生所需结果的、一系列自我一致的步骤。这些步骤是需要物理量来实现的。这些量,通常但不是必须,采用的形式为能够被存储、传输、合并、比较的以及还能被操作的电信号、磁性信号或光学信号。
本发明的优选实施方案参照附图1将被详细描述。图1中示出了结构性方框图来举例说明出根据本发明学说的快速五元素中值滤波器的一个实施方案。可以认识到图1被简化以用于解释目的,且适用于本发明的、完整的处理器环境将包含,例如,缓存存储器,RAM和ROM存储器,编译器或者汇编器,I/O设备等等——这些并未都在图中一一示出。
用于实现图1中的中值滤波器的处理器26,例如Trimedia处理器,包含了所需用于控制该中值滤波器操作的逻辑、控制、监督、翻译等大部分功能。此类型的处理器一般具有特别的或者快速的指令以用于诸如最大和最小这两个操作等等的操作。另外,处理器能使用供传输软件或者代码的中值滤波器而升级以实现预定元素的中值过滤和/或最大、最小操作。
在本发明中,使用仅仅两种类型的操作来构造三个的中值。其后,五个的中值也以类似的方式被构造出来。
参照图1,根据本发明实施方案的中值滤波器相当于对五个的中值滤波器,该中值滤波器由五个中值单元10到14组成。该中值单元10到14(之后称为MS10-14)连接到一个输入端20;以及通过一个允许进行数据操作并允许存储中间操作的常规开关电路24(例如,开关,寄存器,或者单元寻址模式)将这些中值单元连接到一个输出端22。另外,该常规开关电路24可被集成于处理器26之中(未图示出)。
根据本发明的原则,为了确定三个中值单元的中值,要让Max(MS10,MS11)表示MS10和MS11的最大值;而同时Min(MS10,MS11)表示MS10和MS11的最小值。然后,三个(MS10,MS11,MS12)的中值就被构造为Med3(MS10,MS11,MS12)=Min(Max(Min(MS10,MS11),MS12),Max(MS10,MS11))首先,Min(MS10,MS11)和Max(MS10,MS11)通过把MS10与MS11进行比较而被确定出来。然后,MS12又与Min(MS10,MS11)相比较。由于此次比较后的较小值为三个中的最小值,故,它不是中值。较大值,即Max(Min(MS10,MS11),MS12)或是MS10,MS11,MS12的中值或是这三个值的最大值,并且它不在Max(MS10,MS11)之内。其后,它进一步与Max(MS10,MS11)进行比较。我们就知道此次比较的较大值为此三个中的最大值,而此次比较的较小值即为中值。
为了确定五个的中值,使用三个的中值结果和以下方法(1)四个的最大值从来不能是此五个一组的中值,而这五个又由增加一个元素到此现有四个的组所组成;以及(2)四个的最小值从来不能是此五个一组的中值,而这五个又由增加一个元素到此四个的组所组成。
因此,确定五个的中值方法是通过先排除四个的最大值、最小值,然后再求这三个元素的中值。此方法被描述为Med1=Min(Max(MS10,MS11),Max(MS12,MS13))Med2=Max(Min(MS10,MS11),Min((MS12,MS13))Med5(MS10,MS11,MS12,MS13,MS14)=Med3(Med1,Med2,MS14)Med5使用Med3,它有如上所述的类似构造。
从有利方面来说,该五元素中值滤波器通过利用仅采用两种类型的两次操作,更具体为最大和最小的两次操作被构造出。当它被用在诸如Trimedia处理器等等基于媒体的、而其上两次操作又被作为专门或者快速操作来实现的处理器系统中时(已知作为Trimedia处理器中的客户操作Customer-ops),它就快到足以应付各种各样应用程序的实时视频/图象处理需求。
以下仅仅说明本发明的原则。因此可以理解那些本领域的技术人员将能够设计出各种各样装置,这些装置实施了本文虽未明确说明或图示出且被包含于如独立权利要求所定义的范围之内本发明原则。此外,本文中论述本发明的原则、方面以及实施方案的所有语句,还有其具体实例,都试图涵盖其结构和功能这两者的等价物。并且试图使这些等价物既包括当今已知的等价物也包括了将来所开发出的等价物,即将被开发出来执行相同功能而无论其结构的任何元素。
图1所示的各种各样元素的功能,可通过使用专用硬件以及能够把适当软件相关联以执行软件的硬件来被提供。这些功能当被处理器提供时则可由单个专用处理器、单个共享处理器或者由多个单独处理器而其中一些可能又是共享处理器等等所提供出来。此外,术语“处理器”、“服务器”或者“控制器”不应被解释成仅指能够执行软件的硬件,而可毫无限制地隐性包括数字信号处理器(DSP)硬件,用于存储软件的只读存储器(ROM),随机存储器(RAM)以及非易失性存储。其它常规的和/或定制的硬件也可被包括其中。
在本文的权利要求之中表达为执行指定功能装置的任何单元都试图涵盖执行该项功能的任何方式,例如,该方式包括a)多个电路单元的某个组合来执行该功能,或者b)固件、微代码等等任何形式的软件与用于执行该软件的适当电路相结合来执行该功能。由这些权利要求所定义的本发明基于这一事实,即各种所述装置提供的功能以这些权利要求所要求的方式来被结合及带入。申请人因此把能提供这些功能的任何装置视同等价于本文已示出的这些装置。
权利要求
1.一种被处理器(26)使用的中值滤波器,所述中值滤波器包含-预定数量的中值单元(10-14),每个所述中值单元(10-14)都被连接到一个输入端(20)和一个输出端(22);以及-用于确定所述预定数量中值单元中值的装置,该装置仅使用所述处理器(26)的最小(Min)和最大(Max)操作。
2.权利要求1的中值滤波器,其中,所述预定数量中值单元(10-14)的数量是五个。
3.权利要求2的中值滤波器,其中,用于确定所述中值的装置包括了用于确定三个所述预定数量中值单元的中值的第一装置,所述第一装置由以下关系所定义Med3(a,b,c)=Min(Max(Min(a,b),c),Max(a,b))。
4.权利要求3的中值滤波器,其中,用于确定所述中值的装置包括了用于确定五个所述预定数量中值单元的中值的第二装置,所述第二装置由以下关系所定义Med5(a,b,c,d,e)=Med3((Min(Max(a,b),Max(c,d))),(Max(Min(a,b),Min(c,d))),e)。
5.一种在处理器(26)里,中值过滤预定数量元素的方法,所述方法又包含以下步骤-在预定数量的中值单元(10-14)内存储所述预定数量的元素;-仅使用所述处理器(26)的最小(Min)和最大(Max)操作来确定所述预定数量中值单元的中值。
6.权利要求5的方法,其中,所述预定数量中值单元的数量是五个。
7.权利要求6的方法,其中的确定步骤包括首先确定三个所述预定数量中值单元的中值,而所述首先确定步骤又由以下关系所定义Med3(a,b,c)=Min(Max(Min(a,b),c),Max(a,b))。
8.权利要求7的方法,其中的确定步骤进一步包括其次确定五个所述预定数量中值单元的中值,而所述其次确定步骤又由以下关系所定义Med5(a,b,c,d,e)=Med3((Min(Max(a,b),Max(c,d))),(Max(Min(a,b),Min(c,d))),e)。
全文摘要
公开了一种快速的中值滤波器及其方法。由处理器(26)所使用的该中值滤波器包含了每个中值单元又都被连接到同一输入端和同一输出端、预定数量的中值单元(10-14),仅利用该处理器(26)的最小(Min)和最大(Max)操作,通过一种开关电路(24)以及一种装置,来确定所述预定数量中值单元的中值。
文档编号H03H17/02GK1473393SQ02802926
公开日2004年2月4日 申请日期2002年6月26日 优先权日2001年7月18日
发明者陈迎卫 申请人:皇家菲利浦电子有限公司