用于图像变换过程的自适应滤波的制作方法

文档序号:7941413阅读:192来源:国知局
专利名称:用于图像变换过程的自适应滤波的制作方法
技术领域
本发明涉及用于变换图像数据,诸如但不限于,对图像数据进行智能重新采样、调 整大小、或各向异性滤波的智能或自适应系统和过程。背景作为关于常规系统的背景,在将源图像数据变换成目标图像数据时,在源图像数 据与目标图像数据中的像素的数量不同的情况下,执行调整大小或重新采样操作,因为源 像素不能在一对一的基础上精确地映射到目标像素。例如,当在计算机上将来自源视频数 据的视频数据呈现给软件媒体播放器时,在计算机屏幕上观看的目标像素空间通常与源像 素空间不同,并且因此对源视频数据中表示的图像进行重新采样以适合目标像素空间来用 于正确的观看。在某些情况下,用户可以在进行中改变屏上像素空间,在这种情况下,动态 地调整图像数据大小以供快速显示的能力是合乎需要的。当今,这一调整大小或重新采样操作是通过对于目标中的每一给定像素位置确定 目的地像素值来执行的,该值是通过关于源图像中定义的与该目的地像素的位置相对应的 某像素区域进行内插来确定的。向设计者给出了用于执行这种内插的各种不同的固定滤 波算法,每一种都具有变化的复杂度、成本、以及性能折衷。就此,当今,呈现系统的设计者 根据不同的性能折衷特性选择固定算法之一来执行这一调整大小或重新采样操作,通常针 对最差情况来设计或针对给定应用来优化速度对复杂度。然而,这种选择可导致对简单图 像数据的过度复杂的实现,从而执行大量不必要的工作,并且反过来,在变换复杂图像数据 时,这种选择可导致产生过多不可接受伪像的过度简单的实现。因此,提供用于变换视频或图像数据的、不对所有图像数据盲目地应用预先选择 的变换算法而将性能限于该预先选择的算法的改进算法是合乎需要的。上述使用常规视频 或图像变换算法的缺点仅旨在提供常规系统的一些问题的概览,并且不旨在是穷尽性的。 在仔细阅读了以下描述后,当今图形领域的其他问题和各非限制性实施例的对应好处可变 得显而易见。概述此处提供了简化概述以帮助能够对以下更详细的描述和附图中的示例性、非限制 性实施例的各方面有基本或大体的理解。然而,本概述并不旨在是详尽的或穷尽的。相反, 本概述的唯一目的是以简化的形式来提出与一些示例性非限制性实施例相关的一些概念, 作为以下各实施例的更为详细的描述的序言。在各实施例中,阐明了改进视频回放性能的自适应滤波技术。计算正在经历图像 变换操作的源像素的色彩相似性度量以确定目标像素位置的色值。色彩相似性度量的值定 义了选择什么算法来从源像素确定目标像素位置的色值。尽管色彩相似性度量的计算引入 对每一像素的附加指令,但比常规系统有利的是,通过在更简单的指令集就足够的情况下 避免不必要的复杂内插指令集而获得的极大性能节省超过了因附加指令而导致的任何这 样的成本。如针对图像数据的自适应滤波的各实施例所描述的,除视频回放之外,色彩相似 性度量的概念可有效地适用于各种各样的图形上下文。
4
附图简述参考附图进一步描述用于图像变换过程的自适应滤波的各实施例,附图中

图1示出用于确定目标图像中的像素值的图像变换过程的框图;图2是示出用于基于源图像中的像素的色值差来选择像素变换算法的一般过程 的框图;图3是示出用于基于源图像中的像素的色值是否基本相似来选择像素变换算法 的过程的框图;图4是示出计算系统中的用于基于源图像中的像素的色值差来选择像素变换算 法的一组总体动作的流程图;图5是示出计算系统中的用于基于源图像中的像素的色值是否基本相似来选择 像素变换算法的一组动作的流程图;图6示出用于确定目标图像变换中的像素值的各向异性滤波过程的框图;图7是示出用于基于源图像的一段中的像素的色值是否基本相似来选择用于各 向异性滤波过程的混合算法的过程的框图;图8是示出用于基于源图像的一段中的像素的色值是否基本相似来选择用于各 向异性滤波过程的混合算法的一组动作的流程图;图9是示出用于根据此处描述的各实施例变换图像的各种技术之间的性能折衷 的优化的一方面的框图;图10是示出用于确定两个像素之间的色距的非限制性方式的框图;图11是示出用于基于一组像素之间的色距来计算色彩相似性度量的各非限制性 方式的框图;图12是示出其中被用来确定选择什么目标像素值计算算法的一个或多个阈值色 彩相似性基于动态图像特性而实时地改变的实施例的框图;图13是表示其中可实现一个或多个实施例的示例性、非限制性网络化环境的框 图;以及图14是表示其中可实现本发明的各方面的示例性、非限制性计算系统或操作环 境的框图。详细描述概览如在背景中所讨论的,在呈现图像时,如由于从源图像分辨率到显示器分辨率的 改变,它们通常经历从源图像中表示的像素到目标图像中表示的像素的尺寸和/或透视的 改变。在这些情况下,当像素在目标图像中的位置与像素在源图像中的位置不在一对一的 基础上精确对应的任何时候,通常执行重新采样操作,这可以是用于确定目标图像的每一 像素的结果色值的任何算法,例如邻近像素、源图像中的邻近像素的混合、跨源图像的部分 或全部像素所应用的窗口滤波等。类似地,大多数时候,当在屏幕上绘制纹理形状时,在不对纹理像素(texel)进行 任何重新采样的情况下,该纹理不与其所存储的完全一样来显示。结果,大多数像素最终使 用纹理上的在纹理像素“之间”的点。将源图像调整大小或重新采样成目标图像的一示例 性、非限制性图像变换操作在图1中概括地示出。
在图1中,可以将源图像10的大小调整成具有更多像素的目标图像20,但为避免 疑惑,调整大小还适用于具有更少像素的目标图像,并且调整大小可独立地应用于垂直或 水平轴。使用这一调整大小操作,目标图像20中的目标像素位置22对应于源图像10中的 像素位置12,但如图所示,像素位置12落在两个或更多个像素之间。就此,像素位置12落 在源图像中的、目标像素位置所映射到的最接近像素14中,例如源图像中的四个最接近像素。如上所述,存在可用来计算目的地像素或纹理像素值的各种常规算法,其中目的 地像素或纹理像素位置映射回源图像中的像素或纹理像素之间的某一位置。常规算法中的 每一种都具有性能折衷,这使它们在不同的情况下合乎需要。一开始过于简化一些,一些算 法相对简单且快速,但只在特定情况下有效,否则它们可能将诸如区块效应(blockiness) 等伪像引入结果图像。其他算法更加复杂但结果更缓慢,但却在更一般情况下有效,即使是 在色值在源图像上快速和/或不可预测地变化的情况下也有效。其他算法表示这些极端之 间的各种性能折衷。因此,在以下描述的各实施例中,提供了在基于与被变换的像素相关联的动态条 件变换图像时使得能够实现混合性能折衷的自适应滤波技术。在一个实施例中,试探指的 是引入色彩相似性值来驱动哪一算法适用于确定目标图像的目标像素值。基于从来自源图 像的与目标图像中的目标像素相对应的像素确定的色彩相似性值,应用适当的内插技术。 例如,在一个非限制性实施例中,在色彩相似性值指示源图像中的像素之间的高度色彩相 似性的情况下执行最接近邻居内插,在色彩相似性值表示源像素的高度不相似色彩的情况 下执行双线性或双三次内插。用于图像变换过程的自适应滤波一般而言,为维持视频的良好质量,在缩放结果以适合所需目标时应对结果进行 滤波。不幸的是,具有最高性能特性的、在变换图像数据时能够解决源图像中的快速变化图 像数据的算法(例如,双线性内插、双三次内插等)是相当CPU密集的。因此,对于更简单 快速的算法表现相同、更好、或几乎一样好的许多像素变换,盲目应用这些算法通常“做得 过度”。尽管在时间或成本(考虑任何增加的硬件要求)不是限制时“过度复杂来实现更优 结果”是可以接受的,但经调整大小的视频的实时呈现可能不能够承受对整个视频序列的 每一源图像所遇到的每一像素变换过程采用高昂内插算法的奢侈。就此,大多数视频序列的现实是色值在视频序列的任何源图像中的任何给定小段 (locus)像素上的高度变化的概率很低。换言之,视频图像中的大多数区域可以通过平滑色 彩过渡或淡变来表征,例如在墙、桌、窗、脸、衬衫等的表面可找到的,其中跨该表面预期有 相同或相似的色彩。相反,就图像的总体百分比而言,图像的非常小的一部分通常涉及对人 眼的任何显著程度的色彩变化,例如通常,在将源图像变换成目标图像时所牵涉的图像变 换过程中小于大约5-20%可从计算上密集的内插受益。5-20%的范围不是固定范围,并且 可从计算上密集的内插受益的像素的实际百分比取决于图像数据本身,但此处使用该示例 范围来示出从高质量内插算法受益的图像变换过程的少数量。同样,这是由于图像的大部 分是平滑的观察结果。这造成以下观察结果在此处描述的各实施例中显而易见的,如果快速地执行则 即使在原始表面的色彩的邻域中的坏的猜测也可对大约80-95%的图像变换过程表现良好,同时可以对将受益的5-20%的操作保留一个或多个更高质量算法。因此,在一个实施例 中,基于源图像中的与图像变换过程的目标图像中的目标像素位置相关的像素集合来确定 相似性度量。因此,在各非限制性实施例中,提供了用于将来自源图像的像素或纹理像素数据 重新采样成目标图像中的对应位置的自适应图像变换技术。在一个实施例中,提供了一种算法,该算法在逐像素的基础上确定是否将从一个 或多个高级算法发生好处,并且如果否,则选择将产生良好或至少相似结果的较便宜的较 不复杂的和/或较快速的算法。图2示出该一般实施例,其中对于要从对源图像进行某种方 式的变换来生成的目标图像的每一像素230,首先发生对源图像的映射到像素230的源像 素200的评估。这一评估确定像素邻域200的像素“在色彩上有多接近”。因此,如图所示, 选择在源图像中映射到像素位置230的位置的四个最接近像素,分别具有色值Cll、C12、 C21、以及C22。因此,取决于205处的评估色值差的函数,随后自适应地选择一算法来使用 适当复杂度的算法。在一个非限制性实现中,例如,首先在C11-C21和C12-C22之间内插一个点,并随 后在该点处执行色彩比较以确定邻域200中的色彩相似性。实际上,这样的实现是有利的, 因为其产生在认为邻域200中的色彩基本上不相似的情况下对双线性内插仍然有用结果。 即使对于可接受结果不需要双线性内插,C11-C21和C12-C22之间的内插仍然可输出给若 干像素以用于缩放操作。例如,如果色值差处于针对任意色彩描绘的第一容许范围内(实际上描绘灰度, 但本领域技术人员可以明白,可以使用根据任何任意色彩模型的任何任意色彩),即如果像 素邻域200包括充分相似色彩的像素,则可以选择用于从源图像进行采样的简单算法来形 成目标像素位置230的值。例如,在此类情况下,可以采用以下算法其是色值Cll、C12、 C21、或C22中的任一个,因为它们都是相似色彩。作为处于第一容许范围200内的阈值可 以试探式地设置,或通过设置在人眼的平均能力所规定的色差检测阈值内来设置。类似地,如果像素邻域200的色值差规定根据第二容许范围215的色彩相似性,例 如源像素200有点相似但也有点不相似,则基于第一替换过程235 (例如,双线性内插)来 确定目标像素位置230的色值。这适用于N个容许范围,以使得在像素邻域200的色值差规定根据第N个容许范 围210的色彩相似性的情况下,例如源像素200的色彩高度不相似,则可以使用第(N-1)个 替换过程250 (如双三次内插)。就此,在205评估的色彩相似性度量使得能够快速确定结 果内插过程需要多复杂。通常,执行算法240在目标图像中并不产生危害或不可检测的危 害,在这种情况下,性能通过此处描述的自适应滤波技术而显著增强。图3是示出采用阈值色彩相似性评估来确定从源图像的像素邻域300如何内插到 目标像素位置330的值的自适应滤波的实施例的框图。就此,如果色彩Cll、C12、C21、和 C22是阈值色彩相似性的,如色值320的情况,则选择简单算法340,该算法选择例如最接近 的邻居。该附图中的最接近邻居是像素邻域300的右上象限的源像素,并且因此向目标像 素位置330分配值C12。然而,如果色彩C11、C12、C21、和C22不是彼此阈值相似性的,如色 值310所示,则可采用更精确的内插技术350来执行内插,例如使用双线性内插。图4是示出根据此处描述的实施例的用于执行自适应滤波的总体过程的流程图。在400,对于目标像素空间的每一像素位置,标识源图像中的对应的像素集合。在410,测量 源图像中的像素集合的色值的相似性。在420,基于所测量的像素集合的色彩的相似性,选 择或挑选将设定目标像素位置的色值的算法。随后,如步骤430、40、450及以后的步骤所表 示的,取决于在410确定的色彩相似性落入的色彩相似性范围,可以选择任何数量的不同 算法来执行目标像素的值的内插。例如,尽管存在多种计算“色彩相似性”的方式,但一种方式是观察差别相对于最 大差别(如100%差别,其中两种色彩在色谱的两端)的百分比是什么。因此,在一个实施 例中,在430,如果来自源图像的像素集合的色彩充分相似,例如在0% -5%的色彩差别内, 则根据最接近邻居技术将目标图像的像素位置的色值设为该像素集合中的一个像素的色 值。随后,尽管对给定应用可以选择多种不同的具体范围和值,但可以选择另一算法(例 如,双线性内插)来处理源像素集合的色彩指示大约5-10%的色彩差别的情况。类似地,如 果源像素集合的色彩指示大约10-25%的色彩差别,则在450,可以应用又一算法(例如双 三次),并且对于设计者定义的那样多或那样少的范围或差别容限依此类推。图5示出其中确定阈值色彩相似性的存在并且规定采用简单还是更复杂内插技 术的非限制性实施例。如图所示,在500,对于目标像素空间的每一像素位置,确定源图像中 的对应像素集合。在510,如果该像素集合的色值之间的计算得到的色距不超过(即小于) 阈值距离,则在520,采用最接近邻居内插。如果否,则在530,通过诸如双线性内插、双三次 内插等更高质量算法来确定该像素位置的色值。例如,在将图像转移到屏幕涉及调整大小变换时,应用其中不需要复杂度的较快 算法的净效果是显著地降低了将图像转移到屏幕所花费的时间。因此,提供了用于从盘或 从流传输网络源实时地呈现视频数据的基本上更好的体验,因为减轻了因呈现流水线中的 计算瓶颈而导致的影响。在采用没有当今专用硬件的好处的主要软件呈现技术的情况下, 这具有更多好处。然而,应当注意,此处描述的各实施例对硬件实现也实现了性能增益。作为一个观察结果,根据对来自各媒体流的样本图像运行的测试,显示出自适应 滤波算法的实现比现有实现平均每像素花费小35%到50%,包括双线性和双三次内插的 实现。图6示出称为各向异性滤波的另一图形图像变换过程,作为对象的透视变化的一 部分,该过程帮助目标图像在该对象退回背景或进入前景时保留该对象的锐度。形成经滤 波图像620以将图像数据表示成针对透视变化而被重新采样的图像数据。就此,与上述实 施例相类似,从源对象或图像600的样本中确定经滤波图像620的每一目标像素位置(如 目标像素位置622)的色值。一般而言,像素段605最终对应于目标像素位置,如目标像素 位置622。在这种情况下,混合源图像600的像素段605以形成目标像素位置622的值。混 合多个像素是昂贵的操作。然而,如图7所示,如果这一段700的像素包含充分相似的色彩,例如如示出像素 PI、P2、P3、P4、P5、P6、P7、P8、P9、P10的示例相似色彩的像素色值720所示,则可以采用最 接近邻居方法740,其中最接近像素(例如P8)确定目标像素位置730的色值。在其中该段 的色彩基本上不相似的情况下,例如如示例色值710所示,则更精确的混合技术750可以顾 及像素 PI、P2、P3、P4、P5、P6、P7、P8、P9、以及 P10 的所有色值。上述用于自适应各向异性滤波的方法在图8的流程图中表示。在800,对于目标像素空间的每一像素位置,确定源图像中的对应像素集合,例如沿透视线的像素段。在810,如 果该像素集合的色值之间的计算得到的色距不超过(即小于)阈值距离,则在820,对该像 素集合采用简单的混合操作。如果否,则在830,通过更高质量算法,如对该像素集合的全部 像素执行加权混合的算法,来确定该像素位置的色值。能以高色彩相似性为基础的较低复杂度操作的一非限制性示例是输入沿透视线 的较少样本来作为形成输出的一部分的操作。因此,在沿透视线的色彩高度相似的情况下, 可以使用较少数量的样本来产生目标图像中目标位置处的对应色值。相反,在沿透视线的 像素段展示更高的色彩变化程度的情况下,可以使用更多数量的样本来作为输入,其中最 高的变化程度使用所有样本来作为混合操作的一部分以产生目标像素值。用于确定可接受沿该段的多少样本来计算目标图像中的像素的色值的另一替换 或补充技术是确定目标图像中的像素位置距目标图像的查看者有多远。在目标图像的像素 位置相对远离目标图像的查看者的情况下,通常需要较多数量的源样本来生成有质量的结 果。相反,在目标图像中的像素位置相对接近目标图像的查看者的情况下,通常需要较少数 量的源样本来产生可接受的质量。图9是示出此处描述的各实施例的一般适用性的框图,其中本发明的技术适用于 对源图像中的像素集合900、902、…、90n进行变换或重新采样以生成目标图像空间的目标 样本的任何色彩相关图像变换。就此,因为人眼无法很好地检测到色彩的微小变化,尤其是 在以视频呈现图像的速率的情况下,所以可以采用简单色彩相似性度量910来规定在920 处选择哪一算法来进行该目标像素的变换。与用于处理高度相似色彩内容的快速算法相 比,在920选择并在930执行以计算目标像素的色值的这一算法可以具有低复杂度,因为在 这些情况下不可能注意到任何误差。此外,对于色彩不相似性的每一等级,可以选择其他更 复杂但相对更慢的算法。因为图像中的大多数小像素区域往往具有相似的色彩内容,所以 除非需要更精确否则默认最接近邻居方法的一实施例可以是对于依赖于源图像的像素的 色值的任何复杂图像变换操作的高效实现。图10和图11是示出用于确定两个像素之间的色距的非限制性方式的框图。例 如,在图10中,两个像素1000、1010分别具有红、绿、蓝(RGB)色彩空间的色值R1、G1、B1和 R2、G2、B2。计算像素1000和像素1010之间的色距D的一种方式是计算各单独的分量级距 离表示红色分量的距离dl、表示绿色分量的距离d2、以及表示蓝色分量的距离d3。随后, 可将D作为dl、d2、和d3的任何合理函数。例如,D可被定义成(dl2+d22+d32)的平方根或 简单定义成dl+d2+d3,即在色彩变得更相似或更不相似时往往增大或减小的任何度量。与RGB色彩空间相反,诸如YUV色彩空间等色彩空间以亮度为基础,并且因而严格 来讲,可以基于人眼的限制来仔细地指定距离计算。在存在时间的情况下,或在进程能以其 他方式进行上述实施例中的任一个的情况下,可基于人眼的非线性特性来将源图像数据转 换成色彩模型。然而,实际上,RGB色彩空间中的色距对人眼也是有意义的,并且因此发现 在RGB色彩空间中大约5-10 %差距的阈值差是有效的。图11还示出即使在定义了用于确定两个像素之间的色距的函数之后,定义像素 集合1100、1110、1120、1130(或任意数量)的色彩相似性设计设计度量时的附加选择。例 如,在存在四个像素的情况下,如图所示,可以确定6个比较或6个距离Dl、D2、D3、D4、D5、 以及D6。距离计算的次数随添加到该像素集合的每一像素而增长。
9
确定像素集合之间的色彩相似性的单个分数的一种方式是确定作为Dl、D2、D3、 D4、D5、以及D6的函数的任何函数1140。例如,函数1140可以确定D1、D2、D3、D4、D5、以及 D6中的任一个是否超过预定义阈值。另一方式是检查源图像中的映射到目的地或目标像素 的最接近邻居像素。在图11中,假定像素是像素1110。则较快算法可只检查与最接近邻 居像素1100的距离,即只计算Dl、D2、和D5并且将其与预定义阈值相比较。因此,可以看 到,存在用于形成确定源图像中的一段像素在色彩方面有多相似的色彩相似性度量的大量 替换。图12示出显示用于合并到此处描述的各实施例中的任一个的可任选特征的框 图。如上所述,在1210,基于源图像中的像素1200、1202、…、120n来计算色彩相似性度量 1210。在1220,根据色彩相似性度量1210并根据一些预定义范围或阈值来选择目标像素计 算算法。随后,在1230采用该算法来内插目标像素的色值。同时,在作为视频序列的一部 分呈现的逐图像级别上,可以维护关于一个或多个过去或新近图像的一些数据。由于像素 色值的跨图像并在图像内保持平滑的时间以及空间趋势,时间信息可以通知对决定哪些算 法适用于给定像素集合的哪些色彩相似性值的范围或阈值的选择。例如,假定已经处理了最新近图像的呈现系统知道对该最新近图像只选择了一次 更复杂的算法(例如,维护一简单计数器),并且还知道实时视频呈现要求可以支持在每一 帧中进行更复杂算法的数千次执行。则,可以针对当前帧动态地降低用于在色彩相似性方 面达到该更复杂算法的阈值,从而在不采取性能命中的情况下达到更高质量,因为当前帧 也可能具有高度相似的色彩内容。因此,一般而言,正被变换的图像数据的一些已知特性 1250 (例如,对先前图像帧的频率内容的一些知识)可被输入到调节组件1240,该组件基于 可用处理带宽和实时需求来动态地调节应当应用哪一计算算法。在这一方面,通过将阈值 移位,可以根据所需折衷来动态地调节图像变换的质量。作为另一非限制性实施例,在视频中存在关键帧(对比增量帧)的情况下,在编码 中已经可以获得关于给定帧将改变多少的信息,并且因而在解码视频时可以提取这一信息 中的至少一些并将其用于动态地调节一个或多个色彩相似性阈值来达到最优折衷。与用于与自适应滤波技术一起使用的各替换滤波算法相关的补充上下文对于关于在可以从一个或多个复杂算法得到好处的情况下从简单算法回退到该 一个或多个复杂算法的各替换自适应滤波实现的进一步的补充上下文,以下描述概括地描 述了该一个或多个复杂算法的一些替换。作为一般背景,认为位图是在每一像素上采样的, 而非超采样(多于每像素一个数据点)或次采样(少于每像素一个数据点)。对该位图重 新采样涉及创建覆盖在像素上的样本网格。根据每一网格点与每一像素的原始中心相距多 远,并根据使用的是什么重新采样算法,向新样本点给出色值。位图重新采样背后的数学是两个空间变量之间的多变量内插,并且对每一色彩通 道分开执行,其概括了对位图重新采样可用的方法。最简单的多变量方法被称为最接近邻 居或点采样。使用与每一样本网格点最接近的像素中心,而没有来自其他周围像素的输入。 最接近邻居内插因而是用于一个或多个维度的多变量内插的简单方法。内插是在给定围绕某些空间中的非给定点的各点的一些值的情况下逼近该点的 值的问题。最接近邻居算法简单地选择最接近点的值,并且根本不考虑其他邻近点的值,从 而产生分段恒定的内插。
由于其相似性,有时结合多列直插映射(mipmapping) —起使用的最接近邻居方 法对某几种应用也是有效的,但对其他应用并不一样有效。与以下描述的更复杂算法形成 对比,最接近邻居算法相对快速,但引入注意得到的图像伪像,尤其是在被调整大小的具有 高色彩变化级别的图像区域中(例如,一般对应于高频内容)。总而言之,使用最接近邻居方法,新位图网格基本上覆盖在原始网格上,并且使用 最接近新目标像素的坐标的那一原始像素坐标的值。最接近邻居方法在处理方面也是简单 系统,其具有图像中使用的色彩是不变的直接优点,这在处理其中色彩调色板已经有限且 固定的经索引的图形交换文件(GIF)图像时是有益的。作为最接近邻居方法的不足,每一输出像素的坐标不可能直接覆盖原始像素的坐 标,并且在每一图像内,一些像素将是比其他像素更接近的匹配。另外,在目标图像中可能 丢弃许多原始像素,而其他像素可能被使用超过一次。例如,这可在图像变换涉及源图像的 旋转的情况下发生。像素值选择的任意性在造成快速选择的同时还导致对图像特征的“分 解”,尤其是成角度线和其他强烈色彩对比特征,这导致“阶梯”、“锯齿”、和/或用于图像中 的失真或误差的其他行业术语。如上所述,大多数时间,当在呈现期间在屏幕上绘制纹理形状或调整图像的大小 时,该纹理或源图像各自不在没有任何失真的情况下与其所存储的完全一样地显示,即,大 多数像素映射回该纹理或源图像上的分别在两个或更多个纹理像素或像素之间的点。就 此,作为最接近邻居技术的替换,双线性滤波使用这些点来在最接近该像素所表示的点的 四个纹理像素或四个像素之间执行双线性内插。双线性滤波是用于在显示成在任何维度上 大于或小于它们实际的大小时对纹理进行平滑的纹理滤波方法。双线性滤波相当精确,直至纹理缩放伸缩到该纹理的原始大小的一半以下的点或 双倍以上的点——即,如果纹理在每一方向上都是256个像素,则因为丢失像素或过多平 滑,将其缩放到128个像素以下或512个像素以上都可产生差的结果。通常,使用多列直插 映射来提供纹理的缩小版本以在经缩小的多列直插映射级别获得更好的性能和更好的图 像质量;然而,使用双线性滤波,纹理上两个不同大小的多列直插映射之间的过渡在透视上 是陡峭的。此外,多列直插映射本身构建起来在计算上是昂贵的,这可能影响视频应用或服 务的实时变换要求。三线性滤波虽然有点更复杂且执行起来更昂贵,但可以使该过渡到处都更平滑。 就此,开销自身可表现为用于更快地执行固定指令集的更昂贵硬件的成本,或者开销自身 还可表现为平均必须执行的算法指令数量的增加并且因而表现为花费来执行该算法的时 间量的增加。三线性滤波因而是双线性纹理滤波方法的扩展,其还执行多列直插映射之间 的线性内插。双线性滤波具有使其在许多情况下成为不具吸引力的选择的若干缺点在缩放到 非常小的大小的时候将其用于全细节纹理会因丢失纹理像素而造成准确性问题,并且通过 在整个多边形中使用多个多列直插映射来补偿这一点导致模糊度的陡峭变化,这在相对于 照相机成尖锐角度的多边形中是最明显的。为解决这一问题,三线性滤波在最接近该像素 处的多边形所需的细节的两个多列直插映射上的双线性滤波的结果之间进行内插,但同样 要注意三线性滤波的附加开销。三线性滤波也是次最优的,因为仍然假定像素在纹理上占据正方形区域。具体而言,在纹理与照相机相比成陡峭角度时,可能丢失细节,因为像素实际上占据窄但长的不规 则四边形在窄方向上,该像素得到来自比其实际所覆盖的纹理像素更多纹理像素的信息, 所以模糊了细节,并且在长方向上,该像素得到来自比其实际所覆盖的纹理像素更少纹理 像素的信息,所以细节落在像素之间。为减轻这一点,可以使用各向异性(即方向无关)滤 波。在计算机图形学中,各向异性滤波(有时简称为AF)是一种增强在相对于照相机 呈倾斜视角的表面上的纹理的图像质量的方法,其中纹理的投影(与该纹理在其上呈现的 多边形或其他图元相比)显得是非正交的。如双线性和三线性滤波一样,各向异性滤波消 除了混叠效果,但在极端查看角度引入较少模糊并且因而保留更多细节。各向异性滤波通 常在计算上是相对昂贵的,但适用标准空间_时间折衷规则。各向异性滤波当今在现代图 形硬件中是常见的,并且由用户通过驱动程序设置或经由编程接口通过图形应用程序和视 频游戏来启用。在数学子域数值分析中,双三次内插是一种在两个维度进行多变量内插的方法。 就此,只在离散的点处具有已知值的两变量函数可以使用内插在这些离散的点之间逼近, 并且术语“双三次”指的是经内插的表面在各处都是连续的,并且在一阶导数中在所有方向 上也连续,这意味着值的变化率是连续的。尽管比双线性内插更复杂且更慢,但从图像质量观点来看,双三次内插一般表现 得更好。结果,对于许多非实时呈现应用,双三次算法通常用于缩放图像和视频以供显示, 因为已知其一般保留精细的细节,例如如在面纱或服装中的花边中可找到的,这比双线性 算法更好。Lanczos重新采样是用于通过重新采样来使数字图像更大或更小的另一多变量内 插方法。使用Lanczos重新采样,最终值是原始值的基于与原始图像的相对位置的加权和, 其中加权是由Lanczos加权sine函数给出的。Lanczos技术采用归一化sine函数的加窗 (windowed)积来作为用于图像重新采样的卷积核。spline内插是一种形式的内插,其中内插是称为spline的一种特殊分段多项式。 spline内插比多项式内插优选,因为即使在将低次多项式用于spline时也可以使内插误 差很小。其他线性滤波器也是已知的Lanczos、Mitchell、Catmull-Rom、以及其他spline。总而言之,线性重新采样方法表示三个伪像之间的折衷模糊、混叠、以及振铃 (ringing)。模糊是图像锐度的损失。这可以在使用双线性或双三次内插来放大的图像上 看到。混叠表现为锯齿边缘(在放大期间)或波纹图案(在缩小期间)。其存在于使用所 有线性方法放大的图像中,但其在最接近邻居、双三次、以及双线性方法中最为可见。振铃也被称为Gibbs现象,表现为光环边缘。其在sine、Lanczos、以及双三次方 法中清晰可见。一些少量振铃提高了图像的感知锐度,但大量振铃是不合需要的。因此,可 以看到,不同的内插方法产生非常不同的结果并且实现起来具有不同的复杂度。结果,基于 源像素的色彩相似性的自适应滤波技术是平衡这些折衷的高效方式。示例性联网和分布式环境本领域普通技术人员可以理解,此处描述的各实施例可以结合任何计算机或其他 客户机或服务器设备的任何图形处理系统或子系统来实现,这些设备可作为计算机网络的 一部分来部署或部署在分布式计算环境中并可连接到任何种类的数据存储。就此,自适应滤波技术可涉及任何计算机系统或环境,其具有任意数量的存储器或存储单元,以及发生 在任意数量的存储单元或卷上的任意数量的应用程序和进程,它们可结合根据此处的实施 例的变换图像技术来使用。分布式计算通过计算设备和系统之间的交换提供了计算机资源和服务的共享。这 些资源和服务包括信息的交换、对于诸如图形数据等对象的高速缓存存储和盘存储。分布 式计算利用网络连接,从而允许客户机利用它们的集体力量来使整个企业受益。就此,各种 设备可具有可整体或部分地执行此处描述的图像处理实施例中的一个或多个的应用程序、 对象、或资源。图13提供了示例性的联网或分布式计算环境的示意图。该分布式计算环境包括 服务器计算对象或设备1310、1312等,和计算对象或设备1320、1322、1324、1326、1328等。 这些对象可包括程序、方法、数据存储、可编程逻辑等等。这些对象可包括诸如PDA、音频/ 视频设备、MP3播放器、个人计算机、移动电话等相同或不同设备的各部分。每一对象可通 过通信网络1300与另一对象通信。网络1300本身可以包括向图13的系统提供服务的其 他计算对象和计算设备,且其本身还可以表示多个互连的网络。每一对象或设备1310、1312 等或1320、1322、1324、1326、1328等可包含可利用API或其他对象、软件、固件、和/或硬件 的适用于执行此处描述的图像变换过程的各实施例中的任一个的应用程序。存在支持分布式计算环境的各种系统、组件和网络配置。例如,计算系统可以通过 有线或无线系统、本地网络或广泛分布的网络连接在一起。当前,许多网络被耦合至因特 网,后者为广泛分布的计算提供了基础结构并包含许多不同的网络。这些基础结构中的任 一个都可用于使得易于进行此处描述的图像变换过程的示例性通信。例如,在其中图像数 据从媒体服务器持续流传输到呈现客户机设备的流视频应用中,客户机和/或软件媒体呈 现客户机应用或服务处的媒体呈现硬件可利用该基于色彩相似性的自适应技术以高效地 实时呈现图像数据。因此,网络基础结构允许各种各样的网络拓扑结构,诸如客户机/服务器、对等、 或混合体系结构。“客户机”是使用与它无关的另一类或组的服务的一个类或组中的成员。 由此,在计算时,客户机是进程,即,粗略地而言是一组请求由另一程序提供的服务的指令 或任务。客户机进程利用所请求的服务,而不必“知道”有关其他程序或服务本身的任何工 作细节。在客户机/服务器体系结构中,尤其在网络化系统中,客户机通常是访问由例如 服务器等另一计算机提供的共享的网络资源的计算机。在图13的图示中,作为示例,计算 机1320、1322、1324、1326、1328等可以被认为是客户机,而计算机1310、1312等可以被认为 是服务器,其中服务器1310、1312等维护随后被复制到客户计算机1320、1322、1324、1326、 1328等的数据,但取决于环境,任何计算机都可被认为是客户机、服务器或两者。这些计算 设备中的任一个可以结合根据此处描述的实施例中的任一个所执行的图像变换操作来接 收、发送、存储、或处理数据。服务器通常是可通过诸如因特网或无线网络基础架构等远程网络或本地网络访 问的远程计算机系统。客户机进程可以在第一计算机系统中活动,而服务器进程可以在第 二计算机系统中活动,它们通过通信介质彼此通信,从而提供分布式功能并允许多个客户 机利用服务器的信息收集能力。用于执行此处所描述的图像变换操作的技术所使用的任何 软件对象因此可分布在多个计算设备或对象上。
13
例如,在其中通信网络/总线1300是因特网的网络环境中,服务器1310、1312等 可以是客户机1320、1322、1324、1326、1328等通过诸如HTTP等多种已知协议中的任一种与 其通信的web服务器。服务器1310、1312等也可担当客户机1320、1322、1324、1326、1328 等,这是分布式计算环境的特性。示例性计算设备如上所述,其中需要变换图像数据的任何设备可以使用此处阐明的自适应过程, 例如在根据与原始图像数据规定的大小或尺度所不同的任何大小或尺度来从该原始图像 数据显示或以其他方式确定图像数据时。因此,应当理解,还构想了使用所有种类的手持 式、便携式、以及其他计算设备和计算对象,即只要设备可包括图形处理和/或显示能方。因此,以下在图14中描述的通用远程计算机仅是一个示例,并且自适应滤波过程 可以用任何独立设备来实现或结合网络中的服务器或客户机关系来实现。尽管并非所需, 但自适应滤波可以部分地经由操作系统来实现,以供设备或对象的服务开发者使用,和/ 或被包括在应用软件中。软件可以在由诸如客户机工作站、服务器或其他设备等一个或多 个计算机执行的诸如程序模块等计算机可执行指令的通用上下文中描述。本领域的技术人 员可以理解,此处描述的各替换实施例可以用其他计算机系统配置和协议来实施。因此,图14示出了合适的计算系统实现环境1400的示例,但如上所述,计算系统 环境1400仅是合适的计算环境的一个示例,并且不旨在对此处描述的各实施例的使用范 围或功能提出任何限制。也不应该将计算环境1400解释为对示例性操作环境1400中示出 的任一组件或其组合有任何依赖性或要求。参考图14,示例性远程设备包括计算机1410形式的通用计算设备。计算机1410 的组件可以包括,但不限于,处理单元1420、系统存储器1430和将包括系统存储器在内的 各种系统组件耦合至处理单元1420的系统总线1421。计算机1410通常包括各种计算机可读介质,并可以是可由计算机1410访问的任 何可用介质。系统存储器1430可以包括诸如只读存储器(ROM)和/或随机存取存储器 (RAM)等易失性和/或非易失性存储器形式的计算机存储介质。作为示例而非限制,存储器 1430还可以包括操作系统、应用程序、其他程序模块、和程序数据。用户可以通过输入设备1440向计算机1410输入命令和信息。监视器或其他类型 的显示设备也经由接口,诸如输出接口 1450连接至系统总线1421。除监视器之外,计算机 还可以包括其他外围输出设备,如扬声器和打印机,它们可以通过输出接口 1450连接。计算机1410可使用至一个或多个远程计算机,诸如远程计算机1470的逻辑连接 在网络化或分布式环境中操作。远程计算机1470可以是个人计算机、服务器、路由器、网络 PC、对等设备或其他常见网络节点、或任何其他远程媒体消费或传输设备,并且可以包括上 面关于计算机1410所描述的任何或全部元件。图14所示的逻辑连接包括诸如局域网(LAN) 或广域网(WAN)等的网络1471,但也可以包括其他网络/总线。这样的联网环境在家庭、办 公室、企业范围计算机网络、内联网和因特网中是常见的。如上所述,尽管结合各种计算设备和网络体系结构描述了各示例性实施例,但基 本概念可被应用于其中需要执行高效的图像变换的任何网络系统和任何计算设备或系统。有多种实现此处描述的自适应滤波的方法,例如适当的API、工具箱、驱动程序代 码、操作系统、控件、独立或可下载软件对象等,它们使得应用程序和服务能够使用该自适应图像变换过程。因此,此处描述的本发明的各种实现可以具有完全采用硬件、部分采用硬 件并且部分采用软件、以及采用软件的方面。在本文中使用的词语“示例性”意味着用作示例、范例或说明。为避免疑惑,本文公 开的主题不受限于这样的示例。此外,本文描述为“示例性”的任何方面或设计不必解释成 优于其他方面或设计或比其他方面或设计有利,它也不旨在排除本领域的普通技术人员所 知的等效示例性结构和技术。而且,就术语“包括”、“具有”、“包含”和其他类似的词语在详 细描述或权利要求书中的使用而言,为避免疑惑,这样的术语旨在以类似于术语“包括”作 为开放的过渡词的方式解释而不排除任何附加或其他元素。如上所述,此处所述的各种技术可结合硬件或软件,或在适当时以两者的组合来 实现。如在此所使用的,术语“组件”、“系统”等同样指的是计算机相关实体,或者是硬件、 硬件和软件的组合、软件或执行中的软件。例如,组件可以是,但不限于是,在处理器上运行 的进程、处理器、对象、可执行码、执行的线程、程序和/或计算机。作为说明,运行在计算机 上的应用程序和计算机本身都可以是计算机组件。一个或多个组件可以驻留在进程和/或 执行的线程中,并且组件可以位于一个计算机内和/或分布在两个或更多的计算机之间。已经关于若干组件之间的交互描述了前述系统。应该理解,这样的系统和组件可 以包括根据前述的各种置换和组合的那些组件或指定的子组件、指定的组件或子组件中的 某一些、和/或另外的组件。子组件也可以被实现为通信耦合至其它组件而非被包括在父 组件(分层)内的组件。另外,应注意到一个或多个组件可被组合成提供聚集功能的单个 组件,或被分成若干单独的子组件,且诸如管理层等任何一个或多个中间层可被设置成通 信耦合到这样的子组件以便提供集成功能。此处描述的任何组件也可以与在此未具体描述 但本领域的技术人员公知的一个或多个其它组件交互。考虑到以上描述的示例性系统,参考各附图的流程图将可以更好地理解依照所公 开的主题实现的方法。尽管出于说明简单的目的,各方法被显示和描述为一系列框,但应该 理解和领会,所要求保护的主题不受框次序的限制,因为一些框能够以不同的次序和/或 与在此描绘和描述的其他框并发地发生。尽管经由流程图示出了非顺序或分支的流程,但 可以理解,可实现达成相同或类似结果的各种其他分支、流程路径和框次序。而且,并非所 有示出的框都是实现以下描述的方法所必需的。尽管结合各附图的优选实施例描述了各实施例,但可以理解,可以使用其他类似 的实施例,或可以对所描述的实施例进行修改和添加来执行相同或类似的功能而不背离本 发明。此外,自适应滤波过程可以在多个处理芯片或设备中实现或跨多个处理芯片或设备 实现,且存储可以类似地跨多个设备来实现。因此,没有单个实施例应被认为是限制性的, 而相反,保护范围应当根据所附权利要求书以及任何等效方案的广度和范围来解释。
1权利要求
一种用于将图像数据从具有第一像素的第一表示变换成具有第二像素的第二表示的方法,其中所述第一表示的第一像素不全都在一对一的基础上映射到所述第二表示的第二像素,所述方法包括对于所述第二表示的每一像素位置,确定所述第一表示中的对应的至少两个像素的集合400;确定所述第一表示中的所述至少两个像素的色值之间的色距是否指示阈值色彩相似性410;如果所述至少两个像素之间的色距指示阈值色彩相似性,则将所述第二表示的所述像素位置的色值设定成所述第一表示中的所述至少两个像素之一的色值430;以及如果所述色距不指示所述阈值色彩相似性,则执行至少一个替换过程440或450来设定所述第二表示的所述像素位置的色值。
2.如权利要求1所述的方法,其特征在于,所述设定430包括根据最接近邻居内插来设 定所述第二表示的所述像素位置的色值。
3.如权利要求1所述的方法,其特征在于,所述确定色距是否是阈值色彩相似性410包 括确定所述至少两个像素之间的最大色距是否处于阈值色距内。
4.如权利要求1所述的方法,其特征在于,所述确定色距是否是阈值色彩相似性410包 括确定所述至少两个像素之间的最大色距是否处于相关联的色彩模型所表示的最大色距 的预定义百分比内。
5.如权利要求1所述的方法,其特征在于,所述执行至少一个替换过程440或450包括 内插来自所述第一表示中的对应于所述第二表示的所述像素位置的多个像素的色值的内 插像素值,并将所述第二表示的所述像素位置的色值设定成所述内插色值。
6.如权利要求1所述的方法,其特征在于,所述执行至少一个替换过程440或450包括 执行双线性内插以设定所述第二表示的所述像素位置的色值。
7.如权利要求1所述的方法,其特征在于,所述执行至少一个替换过程440或450包括 执行双三次内插以设定所述第二表示的所述像素位置的色值。
8.如权利要求1所述的方法,其特征在于,还包括基于至少从由所述方法所处理的过 去图像数据导出的至少一个特性来动态地调节所述阈值色彩相似性1240。
9.一种包括用于执行如权利要求1所述的方法的计算机可执行指令的有形地具体化 的计算机可读介质。
10.一种包括用于执行如权利要求1所述的方法的计算机硬件装置。
11.一种用于将来自源图像的源像素数据的大小调整成具有至少一个与所述源图像不 同的维度的目标图像的目标像素数据的方法,包括对于所述目标图像的每一像素位置,标识所述源图像中的与所述目标图像中的所述像 素位置最接近的对应的四个像素的集合500 ;确定所述源图像中的所述四个最接近像素的集合是否是充分相似的色彩510 ;如果所述源图像中的所述四个最接近像素的集合是充分相似的色彩,则将所述目标图 像的所述像素位置的色值设定成所述源图像中的所述四个最接近像素之一的色值520 ;以 及如果所述源图像中的所述四个最接近像素的集合不是充分相似的色彩,则执行至少包括所述源图像中的所述四个最接近像素的色值的色值的内插530 ;
12.如权利要求11所述的方法,其特征在于,所述确定510包括确定所述源图像中的所 述四个最接近像素的集合的色值之间的色距是否低于阈值色距。
13.如权利要求11所述的方法,其特征在于,如果所述源图像中的所述四个最接近像 素的集合是充分相似的色彩,则所述设定530包括执行将所述目标图像的所述像素位置的 色值设定成所述四个最接近像素中的最接近者的色值的最接近邻居内插。
14.如权利要求11所述的方法,其特征在于,如果所述源图像中的所述四个最接近像 素的集合不是充分相似的色彩,则执行所述源图像中的所述四个最接近像素的色值的双线 性内插530。
15.如权利要求11所述的方法,其特征在于,如果所述源图像中的所述四个最接近像 素的集合不是充分相似的色彩,则执行所述源图像中的另一像素集合的色值的双三次内插 以确定所述目标图像的所述像素位置的色值530。
16.一种包括用于执行如权利要求11所述的方法的计算机可执行指令的有形地具体 化的计算机可读介质。
17.一种用于根据源图像的透视变换来执行从所述源图像的源数据到目标图像的目标 数据的各向异性滤波的方法,包括对于所述目标图像的每一像素位置,标识所述源图像中的、要被混合以生成所述目标 图像中的所述像素位置的色值的、沿一个段的对应的像素集合800 ;确定所述源图像中的沿所述段的像素集合是否是充分相似的色彩810 ;如果所述源图像中的沿所述段的像素集合是充分相似的色彩,则将所述目标图像的所 述像素位置的色值设定成所述源图像中的沿所述段的各像素中最接近地映射到所述目标 图像的所述像素位置的像素的色值820 ;以及如果所述源图像中的沿所述段的像素集合不是充分相似的色彩,则执行包括至少所述 源图像中的沿所述段的像素的色值内插的色值内插830。
18.如权利要求17所述的方法,其特征在于,所述确定所述源图像中的沿所述段的像 素述集合是否是充分相似的色彩810包括确定所述像素集合之间的最大色距是否处于阈 值色距内。
19.如权利要求17所述的方法,其特征在于,如果所述源图像中的沿所述段的像素集 合不是充分相似的色彩,则所述内插的执行830包括对沿所述对的像素的色值执行混合操作。
20.至少一种包括用于执行如权利要求17所述的方法的装置的硬件设备。
全文摘要
阐明了改进视频回放性能的自适应滤波技术。计算正在经历图像变换操作的源像素的色彩相似性度量以确定目标像素位置的色值。色彩相似性度量的值定义了使用什么算法来从源像素确定目标像素位置的色值。尽管色彩相似性度量的计算引入对每一像素的附加指令,但比常规系统有利的是,通过在更简单的指令集就足够的情况下避免不必要的复杂内插指令集而获得的极大性能节省超过了因附加指令而导致的任何这样的成本。
文档编号H04N9/64GK101855912SQ200880116371
公开日2010年10月6日 申请日期2008年11月12日 优先权日2007年11月14日
发明者A·A·米哈尔, D·D·卡尔洛夫 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1