基于Direct3D技术的图像处理方法及其装置的制作方法

文档序号:6371840阅读:214来源:国知局
专利名称:基于Direct3D技术的图像处理方法及其装置的制作方法
技术领域
本发明涉及图像处理技术领域,尤其涉及一种基于Direct3D技术的图像处理方法和一种基于Direct3D技术的图像处理装置。
背景技术
目前图像采集卡一般采用Direct3D技术显示捕捉到的图像数据。为了采用Direct3D图形流水线来处理采集卡捕获的图像数据,一般做法是先把图像数据发送到系统内存,然后根据系统内存中的图像数据创建动态纹理,再利用Direct3D图形流水线完成对图像数据的处理以及显示。这种做法在对图像数据进行处理之前,需要先将图像数据从系统内存发送至显存中,然后才能利用显存中的图形流水线进行处理。也即图像数据需要在系统内存和显存之间进行传输,存在着CPU占用率高和图像显示效率低等问题,特别是当 进行多窗口显示时这种问题更加明显。

发明内容
为解决上述存在的问题,本发明提供了一种基于Direct3D技术的图像处理方法和一种基于Direct3D技术的图像处理装置。一种基于Direct3D技术的图像处理方法,包括以下步骤通过Direct3D技术创建表面、第一纹理、第二纹理以及与第二纹理绑定的图形流水线;将图像数据发送至所述表面;将所述表面中的图像数据发送至所述第一纹理;将所述第一纹理中的图像数据发送至所述第二纹理;通过所述与第二纹理绑定的图形流水线对图像数据进行处理。与一般技术相比,本发明基于Direct3D技术的图像处理方法通过Direct3D技术在显存中创建表面,利用创建的表面直接接收获取到的图像数据。通过在显存中创建纹理以接收表面中的图像数据,并利用图形流水线对图像进行处理。由于在图像数据的传输过程中无需经过系统内存,并且绕过了 CPU,因此很大程度上提高了图像的处理速度和显示效率。一种基于Direct3D技术的图像处理装置,包括创建模块、图像数据发送模块和图像数据处理模块;所述创建模块用于通过Direct3D技术创建表面、第一纹理、第二纹理以及与第二纹理绑定的图形流水线;所述图像数据发送模块用于将图像数据发送至所述表面,将所述表面中的图像数据发送至所述第一纹理,以及将所述第一纹理中的图像数据发送至所述第二纹理;所述图像数据处理模块用于通过所述与第二纹理绑定的图形流水线对图像数据进行处理。
与一般技术相比,本发明基于Direct3D技术的图像处理装置通过Direct3D技术在显存中创建表面,利用创建的表面直接接收获取到的图像数据。通过在显存中创建纹理以接收表面中的图像数据,并利用图形流水线对图像进行处理。由于在图像数据的传输过程中无需经过系统内存,并且绕过了 CPU,因此很大程度上提高了图像的处理速度和显示效率。


图I是本发明基于Direct3D技术的图像处理方法的示意流程图;图2是本发明基于Direct3D技术的图像处理装置的结构示意图。
具体实施例方式为更进一步阐述本发明所采取的技术手段及取得的效果,下面结合附图及较佳实施例,对本发明的技术方案,进行清楚和完整的描述。 请参阅图1,为本发明基于Direct3D技术的图像处理方法的示意流程图。本发明基于Direct3D技术的图像处理方法包括以下步骤SlOl通过Direct3D技术创建表面、第一纹理、第二纹理以及与第二纹理绑定的图形流水线;通过Direct3D技术创建设备对象一,包括创建表面以及第一纹理;创建设备对象二,包括创建第二纹理以及与第二纹理绑定的图形流水线。作为其中一个实施例,可通过D3D9技术,创建所述表面和所述第一纹理;通过D3D9技术、D3D10技术或者D3D11技术,创建所述第二纹理和所述与第二纹理绑定的图形流水线。例如,可采用Direct3D技术中的D3D9EX创建表面,采用D3D10. I技术创建用于对图像数据进行处理的图形流水线。S102将图像数据发送至所述表面;作为其中一个实施例,可通过图像数据采集卡获取图像数据;向图像数据采集卡发送控制指令,将其捕获的图像数据发送至所述表面。S103将所述表面中的图像数据发送至所述第一纹理;可将表面中的图像数据复制至第一纹理,第一纹理可将图像数据采用共享的方式发送至第二纹理。S104将所述第一纹理中的图像数据发送至所述第二纹理;作为其中一个实施例,可通过Direct3D技术中的共享机制,将所述第一纹理中的图像数据发送至所述第二纹理。例如,可在D3D9EX与D3D10. I之间实现共享,利用Direct3D技术中的表面共享机制,实现两个纹理中图像数据的同步。其中,第二纹理已绑定预先创建的图形流水线。S105通过所述与第二纹理绑定的图形流水线对图像数据进行处理。当图像数据到达第二纹理之后,便可发送绘制指令控制图形流水线开始处理图像数据。例如,可通过D3D10. I中的图形流水线进行图像数据处理。另外,在步骤S105完成之后,还可再次利用表面获取图像数据,然后通过第一纹理共享至第二纹理,并进一步对图像数据进行处理。如此可形成一个循环过程,这样能适应多窗口和大容量图像的数据处理与显示。与一般技术相比,本发明基于Direct3D技术的图像处理方法通过Direct3D技术在显存中创建表面,利用创建的表面直接接收获取到的图像数据。通过在显存中创建纹理以接收表面中的图像数据,并利用图形流水线对图像进行处理。由于在图像数据的传输过程中无需经过系统内存,并且绕过了 CPU,因此很大程度上提高了图像的处理速度和显示效率。本发明可将采集卡采集的图像数据直接提供给D3D10. I可编程图形流水线,便于可编程图形流水线对图像进行灵活处理,以克服图像的放大或缩小中出现的质量问题,如剧齿现象和走样等。通过本发明可把采集卡捕获到的图像数据发送(如采用DMA的方式)至D3D9EX创建的表面,能很大程度上降低CPU资源占用。通过利用图形流水线 对图像数据进行处理可明显提高采集卡捕获的图像的处理效果,以及进一步的显示质量。此外,还公布了一种基于Direct3D技术的图像处理装置。请参阅图2,为本发明基于Direct3D技术的图像处理装置的结构示意图。一种基于Direct3D技术的图像处理装置,包括创建模块201、图像数据发送模块202和图像数据处理模块203 ;所述创建模块201用于通过Direct3D技术创建表面、第一纹理、第二纹理以及与第二纹理绑定的图形流水线;作为其中一个实施例,所述创建模块可包括第一创建模块和第二创建模块;所述第一创建模块用于通过D3D9技术,创建所述表面和所述第一纹理;所述第二创建模块用于通过D3D9技术、D3D10技术或者D3D11技术,创建所述第二纹理和所述与第二纹理绑定的图形流水线。例如,可采用Direct3D技术中的D3D9EX创建表面,采用D3D10. I技术创建用于对图像数据进行处理的图形流水线。所述图像数据发送模块202用于将图像数据发送至所述表面,将所述表面中的图像数据发送至所述第一纹理,以及将所述第一纹理中的图像数据发送至所述第二纹理;作为其中一个实施例,所述图像数据发送模块可包括图像数据获取模块和控制指令发送模块;所述图像数据获取模块用于通过图像数据采集卡获取图像数据;所述控制指令发送模块用于向图像数据采集卡发送控制指令,将其捕获的图像数据发送至所述表面。作为其中一个实施例,所述图像数据发送模块可用于通过Direct3D技术中的共享机制,将所述第一纹理中的图像数据发送至所述第二纹理。所述图像数据处理模块203用于通过所述与第二纹理绑定的图形流水线对图像数据进行处理。当图像数据到达第二纹理之后,便可发送绘制指令控制图形流水线开始处理图像数据。例如,可通过D3D10. I中的图形流水线进行图像数据处理。与一般技术相比,本发明基于Direct3D技术的图像处理装置通过Direct3D技术在显存中创建表面,利用创建的表面直接接收获取到的图像数据。通过在显存中创建纹理以接收表面中的图像数据,并利用图形流水线对图像进行处理。由于在图像数据的传输过程中无需经过系统内存,并且绕过了 CPU,因此很大程度上提高了图像的处理速度和显示效率。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员 来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
权利要求
1.一种基于Direct3D技术的图像处理方法,其特征在于,包括以下步骤 通过Direct3D技术创建表面、第一纹理、第二纹理以及与第二纹理绑定的图形流水线. 将图像数据发送至所述表面; 将所述表面中的图像数据发送至所述第一纹理; 将所述第一纹理中的图像数据发送至所述第二纹理; 通过所述与第二纹理绑定的图形流水线对图像数据进行处理。
2.根据权利要求I所述的基于Direct3D技术的图像处理方法,其特征在于,所述创建表面、第一纹理、第二纹理以及与第二纹理绑定的图形流水线的步骤,包括以下步骤 通过D3D9技术,创建所述表面和所述第一纹理; 通过D3D9技术、D3D10技术或者D3D11技术,创建所述第二纹理和所述与第二纹理绑定的图形流水线。
3.根据权利要求I所述的基于Direct3D技术的图像处理方法,其特征在于,所述将图像数据发送至所述表面的步骤,包括以下步骤 通过图像数据采集卡获取图像数据; 向图像数据采集卡发送控制指令,将其捕获的图像数据发送至所述表面。
4.根据权利要求I所述的基于Direct3D技术的图像处理方法,其特征在于,通过Direct3D技术中的共享机制,将所述第一纹理中的图像数据发送至所述第二纹理。
5.一种基于Direct3D技术的图像处理装置,其特征在于,包括创建模块、图像数据发送模块和图像数据处理模块; 所述创建模块用于通过Direct3D技术创建表面、第一纹理、第二纹理以及与第二纹理绑定的图形流水线; 所述图像数据发送模块用于将图像数据发送至所述表面,将所述表面中的图像数据发送至所述第一纹理,以及将所述第一纹理中的图像数据发送至所述第二纹理; 所述图像数据处理模块用于通过所述与第二纹理绑定的图形流水线对图像数据进行处理。
6.根据权利要求5所述的基于Direct3D技术的图像处理装置,其特征在于,所述创建模块包括第一创建模块和第二创建模块; 所述第一创建模块用于通过D3D9技术,创建所述表面和所述第一纹理; 所述第二创建模块用于通过D3D9技术、D3D10技术或者D3D11技术,创建所述第二纹理和所述与第二纹理绑定的图形流水线。
7.根据权利要求5所述的基于Direct3D技术的图像处理装置,其特征在于,所述图像数据发送模块包括图像数据获取模块和控制指令发送模块; 所述图像数据获取模块用于通过图像数据采集卡获取图像数据; 所述控制指令发送模块用于向图像数据采集卡发送控制指令,将其捕获的图像数据发送至所述表面。
8.根据权利要求5所述的基于Direct3D技术的图像处理装置,其特征在于,所述图像数据发送模块用于通过Direct3D技术中的共享机制,将所述第一纹理中的图像数据发送至所述第二纹理。
全文摘要
本发明公开了一种基于Direct3D技术的图像处理方法,包括通过Direct3D技术创建表面、第一纹理、第二纹理以及与第二纹理绑定的图形流水线;将图像数据发送至表面;将表面中的图像数据发送至第一纹理;将第一纹理中的图像数据发送至第二纹理;通过图形流水线对图像数据进行处理。还公开了一种基于Direct3D技术的图像处理装置,包括创建模块、图像数据发送模块和图像数据处理模块。本发明利用在显存中创建的表面直接接收图像数据,通过在显存中创建纹理以接收表面中的图像数据,并利用图形流水线对图像进行处理。由于在图像数据的传输过程中无需经过系统内存,并且绕过了CPU,因此提高了图像的处理速度和显示效率。
文档编号G06T15/04GK102800122SQ20121020606
公开日2012年11月28日 申请日期2012年6月20日 优先权日2012年6月20日
发明者蒙兴柳 申请人:广东威创视讯科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1