用于增加图像的位深的系统和方法与流程

文档序号:11161160阅读:448来源:国知局
用于增加图像的位深的系统和方法与制造工艺

数字图像和视频用像素表示,每个像素都具有颜色值。可以用来表示单独的像素的颜色的数量是用来描述颜色的位的数量的函数。增加用来表示颜色的位的数量则增加了可以表示的颜色的数量。这称为位深。

经常按照每种颜色每个像素有八位的色位深来存储和/传输图像。在具有高分辨率和高对比度的显示器上观看时,令人反感的视觉伪影由于色位深而变得明显。将常见的和非常明显的视觉伪影称为“条带(banding)”或者“假轮廓(false contouring)”,其出现在本应该是平滑的逐渐的颜色转变(即,梯度)的图像区域反而却由其间具有明显边界的色带来表示时。可以通过按照更高位深存储图像和视频来消除这些伪影,在更高位深时,每个像素的颜色值用更多的位来表示。然而,许多先前记录的图像都已经按照低位深(诸如每种颜色每个像素有八位)存储。另外,增加图像的位深导致在存储图像所需的空间和必须传输以便通过网络发送图像的数据量方面的对应增加。



技术实现要素:

本公开大体上涉及增加图像和视频的位深。

本公开的实施例的一方面是一种用于处理具有第一位深的图像的方法。该方法包括执行位深增强操作的两次或者更多次迭代,该位深增强操作将图像的位深增加到高于第一位深的第二位深。位深增强操作包括将图像划分为多个区域,执行边缘检测操作以识别多个区域中不包含边缘特征的一个或者多个区域,并且将模糊应用到多个区域中不包含边缘特征的一个或者多个区域。在位深增强操作的第一次迭代中,该多个区域包括第一数量的区域,并且包括在多个区域中的区域的数量随位深增强操作的每次后续迭代而减少。

本公开的实施例的另一方面是一种用于处理具有第一位深的图像的设备。该设备包括:存储器;以及处理器,该处理器被配置为执行存储在存储器中的指令以执行位深增强操作的两次或者更多次迭代,该位深增强操作将图像的位深增加到高于第一位深的第二位深。位深增强操作包括将图像划分为多个区域,执行边缘检测操作以识别多个区域中不包含边缘特征的一个或者多个区域,并且将模糊应用到多个区域中不包含边缘特征的一个或者多个区域。在位深增强操作的第一次迭代中,多个区域包括第一数量的区域,并且包括在多个区域中的区域的数量随位深增强操作的每次后续迭代而减少。

本公开的实施例的另一方面是一种包括可由一个或者多个处理器执行的程序指令的非暂时性计算机可读存储装置,该程序指令在被执行时使一个或者多个处理器执行用于处理具有第一位深的图像的操作。该操作包括执行位深增强操作的两次或者更多次迭代,该位深增强操作将图像的位深增加到高于第一位深的第二位深。位深增强操作包括将图像划分为多个区域,执行边缘检测操作以识别多个区域中不包含边缘特征的一个或者多个区域,并且将模糊应用到多个区域中不包含边缘特征的一个或者多个区域。在位深增强操作的第一次迭代中,多个区域包括第一数量的区域,并且包括在多个区域中的区域的数量随位深增强操作的每次后续迭代而减少。

在这些公开的实施例的一些实施方式中,包括在该多个区域中的区域的数量随位深增强操作的每次后续迭代减少大约百分之七十五。

在这些公开的实施例的一些实施方式中,通过针对第一次迭代和每次后续迭代使用恒定区域大小来执行将图像划分为多个区域。在其它实施方式中,通过针对第一次迭代使用第一区域大小并且针对每次后续迭代增加区域大小来执行将图像划分为多个区域。

在这些公开的实施例的一些实施方式中,该多个区域中的每个区域包括各自具有像素值的多个像素,并且边缘检测操作包括将每个区域中的最大像素值与每个区域中的最小像素值进行比较。在这些实施方式的变化中,在该多个区域中的相应区域中的最大像素值与最小像素值之差超过阈值时,识别边缘特征。

在这些公开的实施例的一些实施方式中,该多个区域中的每个区域包括各自具有像素值的多个像素,并且应用模糊包括对在不包含边缘特征的一个或者多个区域中的每个区域中的像素值进行平均。

鉴于这些方面的变化,下文以另外的细节描述了实施方式和实施例。

附图说明

本文的描述参考了附图,其中,贯穿多个视图,类似的附图标记表示类似的部分,并且其中:

图1是示出了可以实施用于增加图像的色位深的系统的环境的示例的框图;

图2是示出了接收站的硬件配置的示例的框图;

图3是示出了输入图像的示例的图示;

图4是示出了用于增加图像的色位深的系统的操作的框图;

图5是示出了用于增加图像的色位深的示例过程的流程图;

图6是示出了将图像划分为区域并且检测这些区域中的边缘特征的第一示例的图示;

图7是示出了将图像划分为区域并且检测这些区域中的边缘特征的第二示例的图示;以及

图8是示出了用于增加图像的色位深的图像增强功能的示例的框图。

具体实施方式

本文描述的系统和方法涉及通过按照多个尺度应用基于阈值的模糊来增加数字图像的位深。通过按照多尺度应用模糊,来自动确定模糊的大小。通过应用每个尺度的阈值,避免了基于图像的内容来明确分割图像的需要。可以将每个模糊操作和阈值操作单独应用到图像的离散区域(诸如像素组),以局部化模糊的影响并且维持边缘特征。可选地,可以通过使用图像的偏移副本来应用滤波操作以确保平滑插值。

图1是示出了可以实施用于增加图像的位深的系统的环境100的示例的框图。环境100包括通过网络130连接的传输站110和接收站120。可以按照许多方式(诸如,按照具有存储器和处理器的一个或者多个计算装置的形式)来实施传输站110和接收站120。网络130可以是或者包括互联网、局域网(LAN)、广域网(WAN)、虚拟专用网(VPN)、蜂窝电话网、或者将信息从传输站110传送到接收站120的任何其它装置中的任何一种或者所有。

可操作接收站120以通过根据本文所教导的方法对图像进行处理来增加图像的位深。然后,可以输出图像以在接收站120处向用户显示。如本文使用的,图像可以是单独的静态图像,诸如数码照片、或者来自视频的帧。

在一种实施方式中,将接收站120处理的图像经由网络130从传输站110传输到接收站120,并且在接收到这些图像之后,通过接收站120对这些图像进行处理。例如,图像可以是来自视频流的帧。响应于来自接收站120的请求,传输站110可以将视频流传输到接收站120。在一些实施方式中,在传输视频流之前,通过传输站110对视频流进行编码。在其它实施方式中,先前已经对视频流进行了编码并且将其存储在传输站110处。按照第一色位深对视频流进行编码。在接收到视频流并且对视频流进行编码之后,接收站120根据本文所教导的方法处理来自视频流的图像(即,帧)以便增加图像的位深。

图2是图1的接收站120的硬件配置的示例的框图。可以使用相同硬件配置或者相似硬件配置来实施传输站110。接收站120可以包括CPU 210。CPU 210可以是传统的中央处理单元。可替代地,CPU 210可以是现在存在的或者以后会开发出来的能够操纵或者处理信息的任何其它类型的装置、或者多个装置。尽管可以用如图所示的单个处理器(例如,CPU 210)来实践所公开的示例,但是可以通过使用一个以上的处理器来实现在速度和效率方面的优势。

接收站120可以包括存储器220,诸如随机存取存储器装置(RAM)。也可以将任何其它适合的类型的存储装置用作存储器220。存储器220可以包括可以通过使用总线230由CPU 210访问的代码和数据222。存储器220可以进一步包括一个或者多个应用程序224和操作系统226。应用程序224可以包括使CPU 210执行此处描述的操作和方法的计算机可执行程序指令形式的软件部件。

可选地,可以按照任何适合的计算机可读介质(诸如硬盘驱动器、存储器装置、闪存驱动器、或者光驱)的形式来提供存储装置240。一个或者多个输入装置250(诸如键盘、鼠标、或者手势敏感输入装置)接收用户输入并且可以将指示用户输入的信号或者数据输出到CPU 210。可以提供一个或者多个输出装置,诸如显示装置260。显示装置260(诸如液晶显示器(LCD)或者阴极射线管(CRT))允许将输出呈现给用户,例如,响应于接收到视频信号。

尽管图2将接收站120的CPU 210和存储器220描绘为集成到单个单元中,但可以利用其它配置。可以跨多个机器(每个机器具有一个或者多个处理器)来分布CPU 210的操作,该多个机器可以直接地耦合或者跨局域网或者其它网络耦合。可以跨多个机器来分布存储器220,诸如基于网络的存储器或者在多个机器中的存储器。尽管此处将接收站120的总线230描绘为单条总线,但接收站120的总线230可以由多条总线组成。进一步地,可以将存储装置240直接耦合至接收站120的其它部件或者可以经由网络来访问存储装置240,并且该存储装置240可以包括单个集成单元(诸如存储卡)或者多个单元(诸如多个存储卡)。因此,可以将接收站120实施为各种各样的配置。

图3是示出了可以通过使用本文公开的系统和方法来处理的输入图像300的示例的图示。如在本领域中众所周知的,输入图像300是由像素定义的数字图像。每个像素都具有颜色值,该颜色值定义了当输出相应像素以便显示时该相应像素的颜色。例如,可以通过多个分量值来定义每个颜色值,如在众所周知的颜色空间(诸如RGB颜色空间、YUV颜色空间、HSV颜色空间、或者HSL颜色空间)中一样,该颜色空间可以将像素表示为分量值的元组。

输入图像300包括高细节区域310和低细节区域320。高细节区域310是输入图像300的包括了邻近像素值的显著变化的部分。本文将这些变化称为边缘特征。输入图像300的低细节区域320包括其颜色值的细微变化,例如,颜色值的逐渐和渐进改变(例如,梯度)。例如,高细节区域310可能是特定图像的前景部分,其中,图像中的特征密集并且在焦距内,而低细节区域320是图像的背景部分。

可以按照低色位深来存储输入图像300,诸如每种颜色每个像素有八位的色位深。这可以导致可用颜色的数量不足以表示自然存在于图像中的颜色的细微变化。相反,在输出图像以便进行显示时,可以在图像中看见视觉伪影(诸如假轮廓330),从而使得,在低细节区域320中,图像的观看者可以能够感知从一个颜色值到下一个颜色值的可见转变。

图4示出了用于增加图像的色位深的系统400的操作。系统400接收输入图像300作为其输入,并且生成输出图像440作为其输出。例如,可以通过接收站120执行计算机程序指令,来在接收站120处实施系统400。

首先,可以根据视频或者静态图像格式或者任何类型对输入图像300进行编码。如本领域中众所周知的,在解码子系统410处接收输入图像300作为输入,该解码子系统410将输入图像解码成任何适合形式的像素值。作为示例,像素值可以是RGB格式或者YUV格式。

然后,将表示输入图像300的像素值传递到位深增强子系统420。位深增强子系统420将输入图像300的位深从第一位深增加到高于该第一位深的第二位深。

可操作位深增强子系统420以通过按照多个尺度但不按照预定大小应用模糊来增加输入图像300的色位深。相反,通过检测输入图像300中的边缘特征来动态确定模糊的大小。例如,针对多个渐进变大的模糊大小中的每一个,可以将图像划分为区域:不对包含边缘特征的区域进行模糊以便保留边缘特征,并且对不包含边缘特征的区域进行模糊。在一个示例中,通过对区域内的像素值进行平均,并且将所有像素设置为平均值或者基于该平均值修改所有像素值,来在图像的该区域内执行模糊。在没有边缘特征的区域内,模糊操作使图像的像素值改变为按照图像的原始色位深不可用的颜色值,因此增加了图像中颜色信息量。

在一种实施方式中,位深增强子系统420通过将图像划分为多个区域,执行边缘检测操作以识别多个区域中不包含边缘特征的一个或者多个区域,并且将模糊应用到多个区域中不包含边缘特征的该一个或者多个区域,来执行位深增强操作的两次或者更多次迭代。在位深增强操作的第一次迭代中,该多个区域包括第一数量的区域,并且区域的数量随位深增强操作的每次后续迭代而减少。可以通过增加区域的单像素大小,或者通过在随着每次迭代而将图像下缩放(downscale)的同时维持区域的恒定单像素大小,来减少区域的数量。当按照不同的尺度创建多个图像时,随后将这些图像上缩放(upscale)并且将它们进行组合,从最大尺度的图像中获取该组合后的图像中的区域,在该最大尺度时,在相应的区域中识别到边缘特征。

滤波子系统430可以对图像进行滤波以去可的除能通过位深增强子系统420创建视觉伪影(若存在)。在位深增强子系统420执行的处理之后或者并行于位深增强子系统420执行的处理,滤波子系统430可以通过按照渐进变大的模糊大小中的每一个应用滤波,来执行滤波操作。在通过滤波子系统430应用的滤波操作的一个示例中,针对图像的第一副本和图像的通过一个像素对角线移位已经偏移的第二副本,来执行由位深增强子系统420应用的每个模糊步骤。然后,将图像的两个副本进行平均以生成输出图像440。可以利用其它滤波方法来生成输出图像440。在一些实施方式中,省略了滤波子系统430,并且在不进行滤波的情况下通过位深增强子系统420来生成输出图像440。

图5是示出了用于增加图像的色位深的过程500的第一示例的流程图。可以在一个或者多个计算机处(诸如在接收站120处)执行结合过程500描述的操作。在将操作描述为由一个或者多个计算机执行时,在通过独立工作的一个计算机、或者共同工作的多个计算机来执行该操作时,完成该操作。结合过程500描述的操作可以体现为包括可由一个或者多个处理器执行的程序指令的非暂时性计算机可读存储介质,该程序指令在被执行时使该一个或者多个处理器执行该操作。例如,可以将结合过程500描述的操作存储在接收站120的存储器220处并且该操作可由其CPU 210执行。

操作510包括获取输入图像,诸如输入图像300。例如,可以通过访问来自存储器的图像、访问来自存储装置的图像、或者经由网络传输(诸如经由网络130从传输站110到接收站120的传输)接收图像,来获取输入图像。如有必要,可以对图像进行解码以获取图像的像素值。

在操作510之后,图像处理子过程的第一次迭代开始,从操作520开始并且还包括操作530、540、550和560。在图像处理子过程的第一次迭代中,按照第一尺度来应用模糊。在子过程的每次迭代中,改变模糊的尺度。

在操作520中,将图像划分为多个区域。通过在操作520中将图像划分为多个区域来控制模糊的尺度。基于第一次迭代的初始尺度并且按照后续迭代的改变的尺度,来划分图像,如本文进一步解释的。

在操作530中,执行边缘检测操作以识别图像的高细节区域和低细节区域。可以将边缘检测操作分别应用到在操作520中定义的每个区域。因此,边缘检测操作可以针对在操作520中定义的每个区域确定该相应区域是否包含边缘特征。边缘检测操作受在操作520中定义的区域的大小的影响。具体地,区域的大小在每次迭代中相对于图像的原始大小增加。随着区域的大小的增加,在每次迭代中发现边缘的可能性也增加了。其结果是,如本文将进一步解释的,在每次迭代中增加了模糊的强度,但减小了受模糊影响的图像的区域。

在一个示例中,该多个区域中的每个区域包括各自具有像素值的多个像素,并且边缘检测操作包括将每个区域中的最大像素值与每个区域中的最小像素值进行比较。在该示例中,在该多个区域中的相应区域中的最大像素值与最小像素值之差超过阈值时,将边缘特征识别为存在于图像的相应区域内。例如,阈值可以是1,从而使得,如果相对于输入图像的原始色位深存在一个以上的色调的差,那么就认为是存在边缘。检测边缘的其它方法是已知的,并且可以用在操作530中。

存储边缘检测操作的结果以便以后使用。例如,可以将值(诸如1或者0)分配到每个区域以指示边缘特征是否存在于该区域中。在一种实施方式中,按照值的矩阵的形式将这些值存储为边缘图,每个值表示图像的对应区域,矩阵中的位置在空间上对应于图像中的位置。同样,可以针对图像处理子过程的每次迭代来存储边缘图,从而使得来自图像处理子过程的每次迭代的边缘图在该图像处理子过程结束之后可供使用。

在操作540中,应用模糊。该模糊的尺度由在操作520中定义的区域定义。在一个示例中,在操作520处定义的多个区域中的每个区域包括各自具有像素值的多个像素,并且,通过基于在相应区域中的所有像素值来确定平均值并且将区域中的所有像素值设置为平均像素值,来执行在操作540处应用模糊。

将模糊应用到图像的低细节区域,诸如不包含边缘特征的一个或者多个区域。可以通过对不包含边缘特征的图像的所有区域进行模糊,基于在操作530处检测到的边缘特征,来应用模糊。在一种实施方式中,仅对图像的不包含边缘特征的区域进行模糊,并且不对图像的包含边缘特征的区域进行模糊。在另一种实施方式中,对整个图像进行模糊,但是,通过随后在输出图像的生成期间针对图像增强子过程的相应迭代使用边缘图,仅对图像的低细节区域应用模糊。

在操作550中,作出关于是否满足条件的确定。满足条件指示:已经执行了图像增强子过程的合适数量的迭代,并且不需要完成更多次迭代。在一个示例中,在已经执行了预定数量的迭代时,满足了条件。在另一示例中,计算要执行的迭代的次数。作为示例,可以基于图像的大小、区域的初始大小、和可以基于缩放因子来将区域上缩放的次数,来确定迭代的次数。在第一次迭代中区域是2像素宽x 2像素高并且区域的大小随着每次迭代相对于图像的初始大小翻了一倍的示例,可以计算迭代的次数,作为图像的最大尺寸的以2为底的对数。

如果不满足操作550的条件,那么将执行图像处理子过程的另一次迭代。过程500进入操作560中,在操作560中,改变要应用模糊的尺度。作为一个示例,这可以通过将在操作520处要定义的每个区域的大小设置得更大(按像素计)来完成,诸如通过将每个区域的宽度和高度翻一倍。如果每个区域的宽度和高度翻了一倍,那么相对于图像处理子过程的前一次迭代,在图像处理子过程的下一次迭代中的区域的数量将会减少大约百分之七十五,由于舍入误差,该减少是近似的。作为另一示例,这可以通过将图像下缩放并且针对区域使用相同的像素大小来完成。在该示例中,按照宽度和高度尺寸的一半,对图像进行下采样,但区域中的单像素大小保持相同,其结果是每个区域表示比前一次迭代中的图像的部分更大。相对于图像处理子过程的前一次迭代,这将会导致区域的数量减少百分之七十五,由于舍入误差,该减少是近似的。随后,在生成最终的输出图像时,对图像的下采样后的副本进行上采样。这类型的实施方式降低了在每次迭代中要执行的计算的复杂性,并且通过将图像下缩放并且稍后上缩放,隐式地对图像进行模糊。在这些示例中的两个示例中,在操作520中定义的多个区域在图像处理子过程的第一次迭代中是最大的,并且区域的数量随着每次后续迭代而减少。

在操作560之后,过程返回到操作520,在操作520中,图像处理子过程的附加迭代开始。

如果满足操作550的条件,那么不执行图像处理子过程的进一步迭代,并且过程500前进到操作570。在操作570中,生成输出图像,诸如输出图像440。该输出图像将在图像处理子过程的每次迭代中执行的图像处理的结果组合在一起。如果图像中有任何一个图像是下采样的图像,那么将它们上采样到在进行组合之前的输入图像的原始大小。

将每次迭代所产生的图像进行组合,从而使得将图像的在每次迭代中被识别为包括边缘的部分保留并且并入最终图像中,并且对图像的其它部分进行模糊。因此,从具有存在边缘特征的最小区域大小(相对于图像的原始大小)的迭代保留来自图像的特征。按照这种方式,将边缘特征保留在输出图像中,而按照不会导致边缘特征丢失的最大可能大小将模糊应用到图像的剩余部分。

例如,可以从来自应用了最大尺度模糊的最终迭代的图像的模糊副本开始,生成输出图像440。针对图像的被确定为具有边缘特征的任何区域,从应用了更低程度的模糊的前一次迭代将那些区域并入。因此,通过将其相应区域首次识别为包括边缘特征的迭代,并且按照将它们首次识别为包括边缘特征的最小区域大小,来保留边缘特征。

图6是示出了将图像划分为区域并且检测这些区域中的边缘特征的第一示例的图示。在该示例中,针对边缘检测和模糊操作的每次迭代来对图像进行下采样,并且通过针对第一次迭代和每次后续迭代使用恒定区域大小来执行将图像划分为多个区域。

将第一代图像610划分为各自包括特定数量的像素的第一数量的区域612。例如,每个区域可以是两个像素x两个像素的正方形。针对这些区域,可以使用其它大小和几何图形。第一代图像包括一个或者多个高细节特征614。由于边缘检测操作(诸如应用于区域612中的每一个的最小和最大像素值的阈值),将区域612中的一些识别为边缘特征区域616(由影线指示)。在创建最终输出图像时,会包括来自第一代图像610中的边缘特征区域616,而用后代图像的部分来表示图像的其它部分。对第一代图像610进行下采样以定义第二代图像620,该第二代图像被划分为与第一代的区域612具有相同像素大小的区域,但却表示原来图像的更大区域。因此,第二代中的区域622比第一代中的区域612的数量更少。按照先前描述的方式,在第二代图像620中识别边缘特征区域626。在输出图像中,将来自第二代图像620的图像信息用于图像的被识别为具有第二代图像620中的而不是第一代图像610中的边缘特征的那些部分。对第二代图像620进行下采样以定义第三代图像630,该第三代图像630被划分为数量进一步减少但像素大小相同的区域632。按照先前描述的方式识别边缘特征区域636,并且如先前所描述地,可以将其并入生成的最终图像中。

图7是示出了将图像划分为区域并且检测这些区域中的边缘特征的第二示例的图示。该示例与图6的示例的区别在于不对图像进行下采样。相反,增加了区域的像素宽度和像素高度。因此,在图7的示例中,通过针对第一次迭代使用第一区域大小并且针对每次后续迭代增加区域大小来执行将图像划分为多个区域。

第一代图像710包括第一数量的区域712、和一个或者多个高细节特征714。将包括高细节特征714的区域712识别为边缘特征区域716。第二代图像720具有与第一代图像710相同的像素宽度和高度,但是,如先前描述地,在区域712中的每个内应用了模糊。第二代图像720包括更少数量的区域722,与区域712相比,每个区域722具有更大的像素尺寸(例如,按照像素测得的宽度和高度),并且应用边缘检测来识别边缘特征区域726。然后,基于模糊处理后的第二代图像720来生成第三代图像730,将第三代图像730划分为数量更少但大小更大的区域732,并且再次应用边缘检测来识别边缘特征区域736。如先前所描述地,创建最终图像。

图8是示出了用于增加图像的色位深的函数800的示例的框图,该函数在递归操作中执行边缘检测和模糊的迭代。函数800接收三个图像作为输入,将这三个图像表示为输入802、max_in 804和min_in806。函数800生成表示为输出图像808的输出图像。

在函数800的第一次迭代中,在正常调用函数800时,输入802、max_in 804和min_in 806是单个输入图像的副本。在函数800的后续迭代中,在递归地调用函数800时,输入802、max_in 804和min_in 806将分别包括不同的信息。

在进入函数800时,针对输入802、max_in 804和min_in 806中的每一个,执行堆栈操作810。针对这些图像中的每一个,堆栈操作810制作图像的副本并且将其放置为接近原始图像,但该副本具有一个像素对角线移位。如此,会同时处理输入802、max_in 804和min_in 806中的每一个的两个副本,以允许后续通过简单地对原始图像与副本进行平均来执行滤波。

然后,将下缩放操作820应用到输入802、max_in 804和min_in 806中的每一个。下缩放操作820对每个图像中的像素组操作,因此,如先前所描述地,将每个图像划分为区域。例如,下缩放操作820可以将每个图像划分为像素组并且计算每组的单个值,从而使得产生的图像的下采样后的版本会包括与每组对应的一个像素。下缩放操作820可以通过输出每个像素组的平均值来将输入802下缩放,可以通过输出每个像素组的最大像素值来对max_in 804进行下采样,并且可以通过输出每个像素组的最小像素值来对min_in 806进行下采样。

将max_in 804和min_in 806的下采样后的图像提供到边缘检测操作830,在这种情况下,该边缘检测操作830比较max_in 804和min_in806的差并且将该差与阈值进行比较以定义边缘图,该边缘图在上缩放操作840中被上采样并且作为输入被传递到图像组合操作870中。

还将输入802、max_in 804和min_in 806的下采样后的图像提供到递归函数调用850,该递归函数调用850使函数800得以递归地调用。针对函数800的每次迭代,递归函数调用850将继续直到满足了条件,如关于过程500中的操作550描述的。例如,可以将期望迭代次数设置为变量,当调用函数800时,将该变量传递给函数800,并且可以针对每一代来递减该变量直到已经执行了期望迭代次数,此时,在没有递归函数调用850的附加实例的情况下,将结束函数800。

递归函数调用850的结果是来自函数的递归实例的输出图像852,由于函数800的完成按照与针对输出图像808所描述的方式相同的方式来生成该输出图像852。将输出图像852传递给上缩放操作860,将来自递归函数调用850的上缩放的输出图像提供到图像组合操作870。

图像组合操作870将输入802的堆栈版本与来自递归函数调用850的上缩放的输出图像进行组合。通过使用边缘图来组合这些图像。针对图像的每个区域,如果存在边缘特征(例如,max_in 804和min_in 806之差不小于阈值,在边缘图中,可将该差表示为0),则保持来自输入802的对应区域,并且,如果不存在边缘特征(例如,max_in 804和min_in 806之差小于阈值,在边缘图中,可将该差表示为1),则保持来自递归函数调用850的输出图像的对应区域。

将图像组合操作870所创建的组合图像提供到拆堆栈操作880,该拆堆栈操作880将在堆栈操作810中创建的两个堆栈副本分成两个单独的图像,在平均操作890中对这两个单独的图像进行平均,因此对图像进行滤波以去除伪影并且产生输出图像808。由于通过下缩放操作820和后续上缩放操作860的组合执行了模糊处理,所以可以按照比针对输入802使用的色位深更高的色位深表达输出图像808中的像素值。

如针对滤波子系统430所解释的,堆栈操作810、拆堆栈操作880和平均操作890按照组合的方式与位深增强并行地执行滤波操作。在没有滤波的情况下可以使用函数800,在这种情况下,将省略堆栈操作810、拆堆栈操作880和平均操作890。

在上面的描述中,堆栈操作810中的每个导致单个像素移位的副本与原始图像堆叠,并且拆堆栈操作880产生两个图像,这两个图像然后在平均操作890中被进行平均。可以修改与原始图像堆叠的副本的数量,并且明确地考虑到了涉及图像的一个以上的副本的滤波操作。例如,可以将三个副本与原始图像堆叠,原始图像不移位,第一个副本水平移位1个像素,第二个副本垂直移位1个像素,并且第三个副本对角线移位1个像素。

本文使用的词语“示例”或者“示例性”是指用作示例、实例或者图示。本文作为“示例”或者“示例性”描述的任何方面或者设计不一定需要理解为比其它方面或者设计优选或者有益。相反,词语“示例”或者“示例性”的使用旨在具体地呈现构思。如在本申请中所使用的,术语“或者”是指包容性“或者”而不是排斥性的“或者”。即,除非另外规定,否则从上下文可以清楚,“X包括A或者B”是指任何自然的包容性排列。即,如果X包括A、X包括B、或者X包括A和B,那么在前面的任何实例下都满足“X包括A或者B”。此外,在本申请和随附权利要求书中所使用的冠词“一”和“一个”应该被一般地解释为意味着“一个或者多个”,除非另有规定或者从上下文中明确得知其指的是单数形式。此外,贯穿全文,除非如此描述,否则术语“实施方式”或者“一个实施方式”不旨在指相同的实施例或者实施方式。

传输站110和/或者接收站120(以及存储在其上和/或通过其执行的算法、方法、指令等)的实施方式可以实现在硬件、软件、或者其任何组合中。硬件可以包括:例如,计算机、知识产权(IP)核、专用集成电路(ASIC)、可编程逻辑阵列、光学处理器、可编程逻辑控制器、微代码、微控制器、服务器、微处理器、数字信号处理器或者任何其它合适的电路。在权利要求书中,应该将术语“处理器”理解为包含任何上述的硬件,单个地或者按照组合。术语“信号”和“数据”可互换地使用。进一步地,传输站110和接收站120的部分不一定需要按照相同的方式来实施。

可以通过使用通用计算机或者具有计算机程序的通用处理器来实施传输站110和/或接收站120,该计算机程序在被执行时进行本文描述的相应方法、算法和/或指令中的任何一种。另外或者可替代地,例如,可以利用可以包含用于进行本文描述的方法、算法、或者指令中的任何一种的其它硬件的专用计算机/处理器。

进一步地,例如,本发明中的所有实施方式或者部分实施方式可以采取可从有形计算机可用或者计算机可读介质存取的计算机程序产品的形式。计算机可用或者计算机可读介质可以是任何装置,例如,该装置可以有形地包含、存储、传送或者运输程序,以供任何处理器使用或者结合任何处理器使用。该介质可以是,例如,电子、磁性、光学、电磁、或者半导体装置。也可以使用其它合适的介质。

已经描述了上面描述的实施例、实施方式、和方面以便允许容易地理解本发明,但不限制本发明。相反,本发明旨在覆盖在随附权利要求的范围内包括的各种修改和等效布置,该范围应该被赋予最广泛的解释以便囊括法律准许的所有这种修改和等效结构。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1