当前位置: 首页 > 专利查询>英特尔公司专利>正文

使用三维流水线伸拉位闪的方法和装置制造方法及图纸

技术编号:2950771 阅读:148 留言:0更新日期:2012-04-11 18:40
提供一种用于图像缩放的方法和装置。3D流水线包括命令流控制器以启动矩形方式。所述3D流水线包括窗口器以产生用于由顶点定义的矩形的地址。滤波器内插在基于相对位置的相邻点之间,以产生每个像素的属性。色彩计算器调整输出数据并把输出数据写到目标表面。(*该技术在2020年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及电子装置的图形显示。更具体地说,本专利技术涉及对由电子装置显示的图形的伸拉位图(stretch blitting)操作。高质量实时3D图示技术的关键是,要具有支持杂乱场景的着色的系统结构和存储器访问方案,在所述杂乱场景中有抬高了像素存储器访问次数的多层对象。相关的处理负荷必须不会把系统刷新率降低到我们所认为的实时(30Hz)以下。一些提出的解决方案把处理卸载给应用程序(application’s shoulders),因而在对简单场景进行实时着色时有困难。更好的加速器将加速那些处理器增强的硬件功能,留着处理器用于高级功能。一般,定制的加速硬件(专用集成电路ASIC-硅)执行着色功能更快,为软件应用程序留有更多时间。这种图形3D着色引擎,即3D流水线,使用大量的乘法和加法电路。电视会议和其他视频图像处理也提到日程中。一个期望用在可视电信会议中的特征是在传输前把视频图像缩放到各种大小的能力。图像越小、同时提供的细节越少,则需要的通信带宽越小并且能被接收者计算机越快地再现。一般,摄相机将产生其最大尺寸由摄相机图像传感器限定的视频图像。然后可由缩放装置把该图像缩放成更小或更大的图像。采用对源像素的进行数字滤波来提供缩放的输出的现有的视频摄相机被设计成在源像素时钟的单个周期内产生每个输出像素。换言之,多抽头滤波器的抽头中的每个必须用在同一个时钟周期中。因此,需要大量乘法和加法电路来并行处理每个单独的滤波器抽头。随着乘法和加法电路的数量增加,滤波器传播延迟和功耗也增加。而且,当缩放装置是用集成电路(IC)来实现时,加法和乘法电路的增加的数量转变为增加的实现IC的芯片尺寸。最终结果是更昂贵的缩放引擎。如果计算机系统包括3D着色以及视频成像系统,则用于辅助加速计算的硬件就面积和门而论变得昂贵。因而,如果减少用于包括三维着色和视频缩放的成像系统的门数量,则会有好处。详细描述现在描述用于以纹理映射引擎进行图示技术的伸拉位图的方法和装置。在以下描述中,为说明起见,给出大量特定细节以便提供对本专利技术的全面理解。但是显然,对于本专业的技术人员,可以不用这些特定的细节来实践本专利技术。另外,以方框图的形式表示结构和装置以避免使本专利技术模糊不清。在说明书中提到“一个实施例”或“实施例”指的是联系实施例描述的具体特征、结构或特性是被包括在本专利技术的至少一个实施例中的。“在一个实施例中”这个短语在说明书中各个位置的出现不一定都指的是同一实施例。在包括三维着色和视频的计算机系统中,实现重复使用辅助3D着色和伸拉位图的硬件所用的门的系统。用于伸拉位图和3D着色的计算是类似的。因而,可以使用带有修改的、用于对三维图像着色的3D流水线来对视频图像放大和缩小、滤波、改变表面格式,以及改变彩色空间。如下所述,在3D流水线中用纹理映射引擎来进行图像处理。这是有好处的,因为用于修改3D流水线以允许图像处理的门数量,与单独地实现这些功能相比,大大地减少了。采用3D流水线来执行伸拉位图导致性能改善、并且节省了孤立的伸拉位图引擎所需要的门。还通过利用3D流水线的功能性由于具有更好缩放和滤波而改进了伸拉位图引擎。而且,3D流水线的高度流水格式被有利地用来提高伸拉位图引擎的性能。实现对标准3D流水线的很多变化。修改设置引擎和窗口器以使3D流水线能处理除三角形之外的矩形。另外,修改映射地址产生器以便能够在4∶2∶2和4∶2∶0数据中寻址。另外,修改高速缓存以便能够对这些类型的数据寻址。下面将更详细地讨论所有这些变化。附图说明图1是本专利技术可以在其中实现的计算机系统的方框图。该系统可包括一个或一个以上的处理器110。可把所述处理器110耦合到主机总线115。可把所述主机总线115耦合到主机桥接器120,以便把图形卡或图形子系统130耦合到处理器110。也可把存储器125耦合到主机桥接器120。可进一步把所述主机桥接器120耦合到系统总线150上,如PCI总线150。可把PCI总线150耦合到PCI至ISA桥接器160。可把端口以及扩展ISA总线耦合到PCI至ISA桥接器160。图形加速器130包括用于对三维图像着色的3D引擎140。正如下面将要描述的,3D引擎140还可用于伸拉位图。可把各种输入和输出装置耦合到图形卡130,如视频输入、显示器、电视机等。图形卡130还可包括用于加速图形操作的局部内存147。另外,中央单元140、145可包括局部高速缓冲存储器,如下所述。可把图形卡130经总线135或类似的连接装置耦合到主机桥接器120上。图2是3D流水线的方框图。3D引擎210包括纹理流水线215。如本领域中众所周知的,可把这种3D引擎用于三维着色。如下面将要描述的,还可把3D流水线用于伸拉位图。在一个实施例中,响应指定了矩形基元类型的、在这里称为GFXPRIMITIVE的具体命令(以下称为GFX矩形命令)而执行伸拉位图解码;但是,也可以使用其他命令名称和格式。命令流控制器220连接成从外部信源例如处理器或缓冲器接收命令。命令流控制器220对命令分析和解码以执行适当的控制功能。如果收到的命令不是GFX矩形命令,命令流控制器220把控制信号和数据传递给设置引擎225。命令流控制器220还控制关于非GFX矩形命令的内存管理、状态变量管理、二维操作等等。在一个实施例中,当命令流控制器220收到GFX矩形命令时,把顶点信息送到设置引擎225。在一个实施例中,命令流控制器220为设置引擎225提供矩形的左上顶点、右下顶点和左下顶点。设置引擎225用这些顶点来计算平面方程的三项关于X、关于Y以及原点的属性变化率。另外,当执行纹理映射时,设置引擎225确定包含由顶点定义的三角形的有边界框。设置引擎225从命令流控制器220接收目标位置的左上顶点、右下顶点和左下顶点。设置引擎225还接收定义原始尺寸、在每个顶点处的第二组坐标。设置引擎225计算两组坐标的比值以确定伸拉的比例,在尺寸上或者扩展或者缩小。目标坐标是相对窗口的,而源的坐标是相对于源图像的左上角、即左上角坐标总是0,0。注意,设置引擎方程是为用于3D着色的三角形所做计算的子集。因而,不需要附加的硬件。设置引擎225还产生边缘,定义矩形基元的有边界框。设置引擎225向窗口器230提供有边界框信息。窗口器230产生目标平面的地址。窗口器230一般通过划出经过每对顶点的线来产生这些地址。顶端线510以上的区域被标为负的,而顶端线510以下的区域被赋予正值。底线520以下区域被标为负的,而底线520以上区域被赋予正值。在边缘线530以内的区域被赋予正值,而在边缘线530以外的区域被标为负的。这称为边缘测试。这确定了显示的三角形540。在图5A和5B中说明了这些。对于伸拉位图,使用了窗口器230的另一方面。窗口器230永远不显示在由设置引擎225传递给窗口器230的有边界框590以外的区域。因而,迫使边缘测试总为正,由此把该区域定义为有边界框590的整个区域。窗口器230在有边界框内迭代像素以产生由GFX矩形命令写入的数据的读和写地址。换言之,总是传递三角形边缘方程,这使窗口器230能处理整个矩形而不是停留在三角形边界上。这些读和写地址被传递给映射地址发生器。窗口器230产生像素读写地址以把数据接入高速缓冲存储器本文档来自技高网...

【技术保护点】
一种用于三维着色和伸拉位图的3D流水线,所述用于伸拉位图的3D流水线包括:用于启动矩形方式的命令流控制器;用于产生由顶点定义的矩形的地址的窗口器;在基于相对位置的相邻点之间插入的、用于每个像素以产生每个像素的属性的滤波器;用于校准输出数据并且把所述输出数据写到目标表面的色彩计算器。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:VG库克SW詹森
申请(专利权)人:英特尔公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1