一种基于sgdma的图像分割处理装置的制作方法

文档序号:6443162阅读:373来源:国知局
专利名称:一种基于sgdma的图像分割处理装置的制作方法
技术领域
本发明涉及数字图像处理技木,尤其涉及一种基于SGDMA的图像分割处理装置, 其特別适用于大型数字拼接显示墙领域。
背景技术
DMA (Direct Memory Access,直接内存存取)是高速数据传输的ー种理想方式, DMA方式将数据在内存与I/O设备之间直接传输,其数据操作由DMA控制器完成而不需更 CPU的參与,因而大大地提高了 CPU的利用率。DMA有两种实现方式一种是块传输式DMA (block DMA)方式;另ー种是 SGDMA (Scatter Gather DMA,分散聚合式DMA)方式,可以将非连续存储的数据搬移到连续地址空间,反之也行。DMA传输数据的过程中通常要求源物理地址和目标物理地址是连续的,但在某些应用中会出现源物理地址和目标物理地址不连续的情况,则DMA传输要分成多次完成。针对这类应用,SGDMA方式通过ー个DMA链表描述物理不连续的存储器。DMA控制器传输完一块物理连续的数据后,根据DMA链表传输下ー块物理连续的数据,最后发起一次中断。目前,DMA已得到广泛应用。比如,在图像处理领域,现有的图像处理过程大致如下采集图像数据,用 DMA 方式通过 PCIE (Peripheral Component Interconnection Express,外设组件互连标准扩展)总线将采集到的图像数据传送到显存或者内存,然后利用GPU (Graphic Processing Unit,图形处理器)或者CPU对图像数据进行处理。对于大型数字拼接显示墙领域来说,则需要多个GPU同时处理ー副完整的图像, 每个GPU只需要处理其中的ー小块数据。因此,图像分割技术在这种情况下显得尤为重要, 简述如下。请參见图1,是现有图像分割处理装置的示意图。该图像分割处理装置包括数据采集器101,用于将采集视频解码芯片100解码后的图像数据,并将采集的图像数据存储到外部存储器104中;DMA控制器102,用于将存储在外部存储器104中的图像数据传输到显存/内存105中;CPU 107,可以将DMA链表(具体结构形式请參见图2、存储到外部存储器 104或显存/内存105中;GPU 108,用做图像处理,其中包含图像分割器106,用于实现对图像的分割。如图1所示,由于有多个单元会对外部存储器104进行读写操作,因此,为了避免产生冲突,可以通过仲载器103来控制这些不同单元对外部存储器104的操作。具体而言, 在数据采集器101和DMA控制器102对外部存储器104进行读写操作吋,由仲裁器103用于分配读写操作的控制权。例如,若数据采集器101向外部存储器104发起读写请求,而DMA 控制器102未发起读写请求,此时仲裁器103将外部存储器104的读写控制权分配给数据采集器101 ;若数据采集器101和DMA控制器102同时发起读写请求,此时仲裁器103可以优先将读写控制器权分配给DMA控制器102。需要说明的是,上述图像分割处理装置中的DMA控制器102、数据采集器101、仲裁器103都可以由FPGA(Field Programmable Gate Array,现场可编程门陈列)来实现。如图2所示,上述DMA链表可以由CPU 107根据需要传输的数据的外部存储地址、 数据大小、以及显存或内存的地址等信息而预先生成。如图2所示,该DMA链表可以是单向结构或环形结构,其中包括数据源地址和数据目的地址。还可进一步包括控制字和下一节点指针等信息,其中控制字中包含数据位宽、数据块大小、当前块传输结束是否引发中断等控制信息。DMA块传输可看作是只含有一个节点,且下一节点指针总是指向当前节点的散列传输。由前文可知,现有技术在分割处理一副完整图像时,是其将一副图像数据完整地同时传送到每个GPU 108,然后由GPU 108完成图像的分割功能。这种图像分割方式的缺点是(1)该分割方法将一副图像数据完整地传送到每个GPU,而实际上每一 GPU需要的只是其中的一部分数据,这导致数据在传输过程中需要占用总线的带宽,因此,这种方法导致总线上带宽的利用率较低;(2)图像数据是从外部存储器取出来的,过多的无效数据也会降低外部存储器的带宽利用率;(3)由GPU实现图像分割功能,增加了 GPU编程的复杂度。

发明内容
有鉴于此,本发明的目的在于提供一种基于SGDMA的图像分割处理装置,可以提高带宽利用率。为解决以上技术问题,本发明的技术方案是,一种基于SGDMA的图像分割处理装置,包括DMA控制器、连接至DMA控制器的外存储器、通过总线连接至DMA控制器的显存/ 内存、连接至显存/内存的GPU,包括图像分割控制器,该图像分割控制器接于DMA控制器和外存储器之间,用于预先将外部存储器中的整幅图像数据分割成块,之后由DMA控制器传输到显存/内存,再由GPU进行后续处理。较优地,包括数据采集器,用于采集整幅图像数据,并存储到外部存储器中。较优地,包括视频解码芯片,该视频解码芯片与数据采集器连接,用于对获取的视频信号进行解码,向数据采集器输出整幅图像数据。较优地,包括仲裁器,该仲裁器接于数据采集器和图像分割控制器之间,用于分配数据采集器和DMA控制器对外部存储器的读写操作控制权,在DMA控制器取得对外部存储器的读写操作控制权时,启动图像分割控制器分割外部存储器中的整幅图像数据。较优地,DMA控制器、图像分割控制器、数据采集器及仲裁器集成于FPGA中。较优地,外存储器或显存/内存中存储整幅图像的DMA链表,其中每个DMA链表节点中包括数据源地址和目的地址,以便图像分割控制器将数据源地址的图像数据分割成块,由DMA控制器传输到显存/内存后,再由目的地址对应的GPU进行后续处理。较优地,包括通过总线连接至DMA控制器的CPU,用于根据需要传输数据的外部存储地址、数据大小以及显存或内存的地址信息,预先生成并存储该DMA链表。较优地,DMA链表为单向结构或环形结构。较优地,每个DMA链表节点中包括控制字和下一节点指针,其中控制字中包含数据位宽、数据块大小、当前块传输结束是否引发中断的控制信息。较优地,每个DMA链表节点中,下一节点指针总是指向当前节点。与现有技术相比,本发明在DMA传输前即对图像数据进行分割,可以取得包括但不仅限于以下有益效果(1)提高总线带宽的利用效率。在DMA传输前即对图像数据进行分割,仅向每个 GPU传输特定数据,而不是向每个GPU传输完整的图像数据,因此可减少传输数据量,使得总线带宽利用率提高;(2)提高外部存储器的带宽利用率。DMA传输前即对图像数据进行分割,数据针对性強,从外存储器读取的无效数据減少,这无疑会提高外部存储器的带宽利用率。


图1是现有图像分割处理装置的示意图;图2是现有图像分割处理方法中DMA链表的数据结构图;图3是本发明基于SGDMA的图像分割处理装置的示意图。
具体实施例方式本发明的核心思想是,设置图像分割控制器,在DMA传输前即对图像数据进行分割,实现仅向GPU传输对应区域的部分图像数据,因而可提高总线带宽的利用效率和外部存储器的带宽利用效率。为了使本领域的技术人员更好地理解本发明的技术方案,下面结合附图和具体实施例对本发明作进ー步的详细说明。參见图3,表示本发明基于SGDMA的图像分割处理装置的较优实施例。该图像分割处理装置包括视频解码芯片100、数据采集器101、DMA控制器102、图像分割控制器303、 仲裁器103、外部存储器104、显存/内存105、GPU 108, CPU 107等元件,其中显存/内存 105及CPU 107通过总线连接至DMA控制器102,该显存/内存105还与GPU连接;图像分割控制器303连接至DMA控制器102 ;外存储器104通过仲裁器103接入图像分割控制器 303和数据采集器101,该数据采集器101还连接至视频解码芯片100。以下分别对各主要元件进行说明。数据采集器101,用于采集视频解码芯片100解码后的图像数据,并将采集的图像数据存储到外部存储器104中。外部存储器104中不仅存储有整幅数据图像,还可存储整幅图像的DMA链表(该 DMA链表页可存储于显存/内存105中)。该DMA链表可以是单向结构或环形结构,一般由 CPU 107根据需要传输的数据的外部存储地址、数据大小、以及显存或内存的地址等信息预先生成。其中,该DMA链表的每个节点中包括数据源地址和目的地址;还可进ー步包括控制字和下一节点指针等信息,其中该控制字中包含数据位宽、数据块大小、当前块传输结束是否引发中断等控制信息。整个DMA块传输则可看作是只含有ー个节点,且下ー节点指针总是指向当前节点的散列传输。仲裁器103,用于分配数据采集器和DMA控制器对外部存储器的读写操作控制权, 这样就可避免冲突。例如,当数据采集器101向外部存储器104发起读写请求而DMA控制器102未发起读写请求时,将外部存储器104的读写控制权分配给数据采集器101 ;当数据采集器101和DMA控制器102同时发起读写请求,优先将读写控制器权分配给DMA控制器 102,而在DMA控制器102取得对外部存储器的读写操作控制权时,即可启动图像分割控制器303分割外部存储器中的整幅图像数据。图像分割控制器303,用于实现图像的分割功能。该图像分割控制器303接于DMA 控制器和外存储器之间,可预先将外部存储器中的整幅图像数据分割成块,形成目标区域图像数据,之后DMA控制器102可仅向GPU传输对应区域的部分图像数据。DMA控制器102,在取得对外存储器104的读写控制权时,DMA控制器102用于图像分割控制器303获取存储在外部存储器104中的图像数据,并在分割成块成目标区域图像数据后,将之传输到显存/内存105中。GPU 108,则接收显存/内存105中的该目标区域图像数据,并按预定策略进行后续处理,具体处理按现有技术处理则可。CPU 107,可用于根据需要传输数据的外部存储地址、数据大小以及显存或内存的地址信息,预先生成并存储该DMA链表到外存储器104或显存/内存105中,以便DMA控制器102进行相应操作。需说明的是,本实施例中DMA控制器102、图像分割控制器303、数据采集器101及仲裁器103较优地由FPGA来实现。以上实施例中图像分割方法的优点是(1)在DMA传输前即对图像数据进行分割, 仅向每个GPU传输特定数据,而不是向每个GPU传输完整的图像数据,因此可减少传输数据量,使得总线带宽利用率提高;⑵DMA传输前即对图像数据进行分割,数据针对性强,从外存储器读取的无效数据减少,这无疑会提高外部存储器的带宽利用率。以上仅是本发明的优选实施方式,应当指出的是,上述优选实施方式不应视为对本发明的限制,本发明的保护范围应当以权利要求所限定的范围为准。对于本技术领域的普通技术人员来说,在不脱离本发明的精神和范围内,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种基于SGDMA的图像分割处理装置,包括DMA控制器、连接至DMA控制器的外存储器、通过总线连接至DMA控制器的显存/内存、连接至显存/内存的GPU,其特征在于,包括图像分割控制器,该图像分割控制器接于DMA控制器和外存储器之间,用于预先将外部存储器中的整幅图像数据分割成块,之后由DMA控制器传输到显存/内存,再由GPU进行后续处理。
2.如权利要求1所述的基于SGDMA的图像分割处理装置,其特征在于,包括数据采集器,用于采集整幅图像数据,并存储到外部存储器中。
3.如权利要求1所述的基于SGDMA的图像分割处理装置,其特征在于,包括视频解码芯片,该视频解码芯片与数据采集器连接,用于对获取的视频信号进行解码,向数据采集器输出整幅图像数据。
4.如权利要求2所述的基于SGDMA的图像分割处理装置,其特征在于,包括仲裁器,该仲裁器接于数据采集器和图像分割控制器之间,用于分配数据采集器和DMA控制器对外部存储器的读写操作控制权,在DMA控制器取得对外部存储器的读写操作控制权时,启动图像分割控制器分割外部存储器中的整幅图像数据。
5.如权利要求4所述的基于SGDMA的图像分割处理装置,其特征在于,DMA控制器、图像分割控制器、数据采集器及仲裁器集成于FPGA中。
6.如权利要求1 5任一项所述的基于SGDMA的图像分割处理装置,其特征在于,外存储器或显存/内存中存储整幅图像的DMA链表,其中每个DMA链表节点中包括数据源地址和目的地址,以便图像分割控制器将数据源地址的图像数据分割成块,由DMA控制器传输到显存/内存后,再由目的地址对应的GPU进行后续处理。
7.如权利要求6所述的基于SGDMA的图像分割处理装置,其特征在于,包括通过总线连接至DMA控制器的CPU,用于根据需要传输数据的外部存储地址、数据大小以及显存或内存的地址信息,预先生成并存储该DMA链表。
8.如权利要求6所述的基于SGDMA的图像分割处理装置,其特征在于,DMA链表为单向结构或环形结构。
9.如权利要求6所述的基于SGDMA的图像分割处理装置,其特征在于,每个DMA链表节点中包括控制字和下一节点指针,其中控制字中包含数据位宽、数据块大小、当前块传输结束是否引发中断的控制信息。
10.如权利要求9所述的基于SGDMA的图像分割处理装置,其特征在于,每个DMA链表节点中,下一节点指针总是指向当前节点。
全文摘要
本发明公开一种基于SGDMA的图像分割处理装置,包括DMA控制器、连接至DMA控制器的外存储器、通过总线连接至DMA控制器的显存/内存、连接至显存/内存的GPU;此外,还包括图像分割控制器,该图像分割控制器接于DMA控制器和外存储器之间,用于预先将外部存储器中的整幅图像数据分割成块,之后由DMA控制器传输到显存/内存,再由GPU进行后续处理。本发明在DMA传输前即对图像数据进行分割,由此仅向每个GPU传输特定数据,可提高总线及外部存储器带宽利用率。
文档编号G06F3/14GK102566958SQ20111044046
公开日2012年7月11日 申请日期2011年12月23日 优先权日2011年12月23日
发明者兰进城, 景博, 曹捷, 林文富 申请人:广东威创视讯科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1