抗锯齿系统及方法_2

文档序号:9235942阅读:来源:国知局
[0化3] 将所述抗银齿操作的结果传送给合成器,W便与其他视频处理电路对所述像素数 据所执行的操作的结果进行组合。
[0054]根据本发明的第十一方面,提供了一种其上存储有指令的计算机可读介质,当被 处理时所述指令用于创建能够执行下述方法的电路,所述方法包括:
[0化5] 对像素数据执行抗银齿操作,其中,所述抗银齿操作可从包含W下各项的组中选 出;根据可选抗银齿系数的多重采样、根据可选抗银齿系数的超采样、W及时间域抗银齿;W及
[0056] 接收其他抗银齿操作的结果,W便与所述执行的抗银齿操作的结果进行组合。
[0化7] 通过参考来加W结合
[005引该里通过在相同程度上进行参考来结合在此说明书中所提及的所有公布和专利 申请,就好像每个相应公布或专利申请被专口地且分别地表明为通过参考进行结合。
【附图说明】
[0化9] 图1是根据一个实施例的视频处理系统的框图;
[0060] 图2是根据一个实施例的利用抗银齿的视频处理的示意图;
[0061] 图3-8是根据各个实施例举例说明抗银齿的几种模式的像素示意图;
[0062] 图9A和9B分别显示了 6XMSAA和12XMSAA的结果;
[0063] 图10A显示了不采用SSAA所产生的屏幕;
[0064] 图10B显示了利用2XSSAA所产生的与图10A相同的屏幕;
[0065] 图11A显示了不采用SSAA所产生的屏幕;
[0066] 图11B显示了利用2XSSAA所产生的与图11A相同的屏幕;
[0067] 图12是根据一个实施例的包括抗银齿的视频处理系统的框图;
[0068] 图13是根据一个实施例的包括抗银齿的视频处理系统的各个组件的框图;
[0069] 图14是视频处理系统的更详细的框图,其配置与根据实施例的图13的配置相 似;
[0070] 图15是依照一个实施例的单卡视频处理系统的示意图;
[0071] 图16是依照一个实施例的单卡视频处理系统的示意图;
[0072] 图17是依照一个实施例的双卡视频处理系统的示意图;
[0073] 图18是依照一个实施例的双卡视频处理系统的示意图;W及
[0074] 图19是依照一个实施例的连结模块(interlink mo化le,IM)的框图。
【具体实施方式】
[0075] 在此描述了一种可减轻边缘银齿效应和表面银齿效应的抗银齿(AA)的系统和方 法。实施例包括在具有至少一个图形处理单元(GPU)或视频处理单元(VPU)的系统中应用 多重采样技术与超采样技术的组合。如该里所用,GPU和VPU是可交换的术语。在一个实 施例中,所述系统是可编程的,从而使得由一个或多个VPU将样本位置相对于初始位置在 像素内进行可编程地偏移。初始位置例如由系统的公共视频驱动器来确定。在一个实施例 中,多个VPU中的每一个都并行地处理同一视频帖,并且在每个VPU中将相同的像素内的样 本偏移到不同的可编程位置。合并(或组合或合成)由多个VPU中的每一个所处理的视频 帖,W便生成将要显示的帖。在要显示的帖中,AA采样系数实际上乘WVPU的数目。例如, 如果每个VPU执行2X采样,则要显示的帖就包括4X采样。在各个实施例中,驱动器是可编 程的,W指导VPU来执行按照可选放大系数的多重采样、按照可选放大系数的超采样、或者 按照可选放大系数的多重采样与按照可选放大系数的超采样的组合。
[0076] 图1是依照实施例的视频处理系统100的框图。所述系统100包括应用程序102。 应用程序102是要求视频处理能力的最终用户应用程序,诸如视频游戏应用程序。应用程 序102与应用程序编程接口(API) 104通信。几个API可用于在视频处理环境中使用。API 被开发为在诸如应用程序102之类的应用软件与运行所述应用程序的视频硬件之间的中 介物。随着新的巧片组甚至全新的硬件技术不断出现,应用程序开发者很难考虑并利用最 新的硬件功能。为每种可预见的硬件组专口编写应用程序也是不可能的。API防止应用程 序必须过于具体到硬件。应用程序可W依照标准化格式向API而不是直接向硬件输出图 形数据和命令。可用API的例子包括DirectX(来自Microsoft)和Open化(来自Silicon Graphics)。
[0077]API104可W是用于运行视频应用程序的多个可用API中的任何一个。API104 与驱动器106进行通信。驱动器106典型情况下由视频硬件的制造商编写,并且驱动器106 将从API接收的标准代码转换为硬件所理解的本地格式。驱动器允许来自例如应用程序、 进程或用户直接设置的输入。在此处描述的实施例中,该种设置包括用于选择多重采样系 数、超采样系数或其组合的设置。例如,用户可W经由用户接口扣I)来选择设置,所述用户 接口包括利用如该里所描述的视频处理硬件和软件向用户所提供的UI。
[007引在一个实施例中,视频硬件包括两个视频处理单元;VPUA108和VPUB110。在 其它实施例中,可W有少于或多于两个的VPU。在各个实施例中,VPUA108和VPUB110 是完全相同的。在各个其它实施例中,VPUA108和VPUB110不是完全相同的。下面将 非常详细地描述包括视频处理系统的不同配置的各个实施例。
[0079] 驱动器106向VPU A 108和VPU B 110发出命令。同时向VPU A 108和VPU B 110 发出的命令用于处理将要显示的同一帖。VPU A 108和VPU B 110均执行用于处理该帖的 一系列命令,包括W-种可编程的方式,从API中所接收到的样本位置开始相对于像素和/ 或像素中屯、偏移样本位置。驱动器106可编程地命令VPU A 108和VPU B 110按照抗银齿 (AA)系数来多重采样和/或超采样像素和/或像素中屯、。在一个实施例中,VPU A和VPU B相对于相同的像素和/或像素中屯、偏移样本,但是把它们偏移到不同的样本位置。
[0080] 当VPUA108和VPUB110中的任何一个完成执行用于该帖的命令时,该帖数据 被发送到合成器114。合成器114选择性地包括在连结模块112中,如下面更完整地描述。 在合成器114中组合或合并或合成来自VPUA108和VPUB110中每一个的帖数据,W产 生将要被擅染到显示器116的帖。在要显示的帖中,AA采样系数实际上乘WVPU的数目。 例如,如果每个VPU执行2X采样,则要显示的帖就包括4X采样。在各个实施例中,驱动器 104是可编程的,W指导VPUA108和VPUB110来执行按照可选放大系数的多重采样、按 照可选放大系数的超采样、或者按照可选放大系数的多重采样与按照可选放大系数的超采 样的组合。如该里所用,术语组合、合并、合成、混合或连结指的都是如该里所描述的IM112 和/或合成器114的相同能力。
[0081] 图2是依照一个实施例的利用AA的视频处理200的示意图。如参考图1所在先 描述的那样,VPU A 208和VPU B 210均根据来自可编程驱动器(未示出)的指令来处理视 频数据。显示了由VPU A 208所输出的采样图案213的图例。采样图案213是用于表明2X 采样的12X12网格。对于每一个像素来说,在12X12网格中放入2个像素样本。12X12 的尺寸仅仅是举例的目的,也可W设想任何其他可操作的尺寸。在所示例子中,黑色正方形 是像素中屯、,而"X"是像素样本。像素样本偏离于由API(未示出)所指定的初始默认位置。 偏移位置可在驱动器中进行编程,并且在从驱动器到VPU A 208的命令中对其进行指定。
[0082] 在整个说明书中,为了方便起见,由VPU输出的样本图案还被称为VPU的输出。例 如,样本图案213还被称为VPUA208的输出213。本领域技术人员应当理解并明白,由VPU 输出的样本图案(或此处被称为VPU的输出)在大多数实施例中不被输出到显示器中。相 反地,由VPU输出的样本图案(或其一部分)用来产生最终要被输出到诸如LCD、平板CRT 等等之类的显示器的帖或其一部分。也就是说,所输出的样本图案在当前实施例和大多数 实施例中被用作到VPU的另一部分的输入,W产生要输出到显示器的帖(或其一部分)。
[0083] 由VPUA208在线性空间中W-种已知的方式对样本进行平均。然而,像素数据 一般在伽玛(gamma)空间中,因此必须在进行平均之前用去伽玛(degamma)运算来转换到 线性空间。VPUA208执行去伽玛运算,执行平均运算,然后执行伽玛运算W便使VPU的输 出处于伽玛空间中。通常该么做是为了提高所显示图像的质量。因此再次重申,在常规系 统中,VPU的输出自动处于伽玛空间中。然而,在此处的各个实施例中,所需要的是具有在 线性空间中的输出,W便进行如下所述的组合或合成操作。因此,VPUA208执行额外的去 伽玛运算W把输出213转换到线性空间。在一个实施例中,VPUA208的视频流水线中的 纹理单元用来执行去伽玛运算。在其他实施例中,该个去伽玛运算可在VPU外部执行,例如 在合成器212中执行。
[0084] 作为伽玛校正的一个例子,专利号为5, 398, 076、题目为"GammaCorrecting ProcessingofVideoSi即als"(授权给ATI技术公司)的美国专利中,描述了一种包括 像素数据的伽玛校正的处理视频信号的方法。另外,专利号为6, 020, 921、题目为"Simple GammaCorrectionCircuitforMultimedia"(授权给ATI技术公司)的美国专利中描述 了一种伽玛校正电路。在一个实施例中,根据W下函数来执行伽玛校正:
[0085]If狂< =0. 00304)
[0086]Y= 12. 92巧;
[0087]Else
[00能]Y= 1. 055*pow(X,1. 0/2. 4)-〇.055
[0089] 在一个实施例中,根据W下函数来执行去伽玛运算
[0090]If狂< =0. 03928)
[00川 Y=X/12. 92
[009引Else
[009引Y=pow狂+0. 055) /I. 055, 2. 4)
[0094] 在一个实施例中,由合成器212执行的算法也可W如下所述对(来自VPUA208 和VPUB210)两个输入流上的每一个像素的S原色中的每一种进行平整(flatten);把 VPUA208与VPUB210之间的每种相应颜色相加;除W2并转到下一步(例如,(slave, green+master_green)/2-〉预先输出的绿色);W及把预先输出的像素转换回经过伽玛校 正的颜色值。在一个实施例中,采用了伽玛校正查找表。
[0095] 类似地,显示了来自VPUB210的输出215。输出215是用于表明2X采样的12X12 网格。对于每一个像素来说,在12X12网格中放入2个像素样本。12X12的尺寸仅仅是 举例的目的,也可W设想任何其他可操作的尺寸。在所示例子中,黑色正方形是像素中屯、, 而"X"是像素样本。像素样本偏离于由API(未显示)指定的初始默认位置。偏移位置可 在驱动器中进行编程,并且在从驱动器到VPUB210的命令中对其进行指定。
[0096] 由VPUB210在线性空间中W-种已知的方式对样本进行平均。然而,像素数据 一般在伽玛空间中,因此必须在进行平均之前用去伽玛运算来转换到线性空间。VPUB210 执行去伽玛运算,执行平均运算,然后执行伽玛运算W便使VPU的输出处于伽玛空间中。通 常该么做是为了提高所显示图像的质量。因此再次重申,在常规系统中,VPU的输出自动处 于伽玛空间
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1