• / 14
  • 下載費用:30 金幣  

一種GPU摳像方法.pdf

摘要
申請專利號:

CN201610671747.9

申請日:

2016.08.16

公開號:

CN106303162A

公開日:

2017.01.04

當前法律狀態:

實審

有效性:

審中

法律詳情: 實質審查的生效IPC(主分類):H04N 5/222申請日:20160816|||公開
IPC分類號: H04N5/222; H04N5/272; G06T7/00 主分類號: H04N5/222
申請人: 江蘇火米互動科技有限公司
發明人: 楊振
地址: 215000 江蘇省蘇州市竹園路209號蘇州創業園四棟502室
優先權:
專利代理機構: 蘇州慧通知識產權代理事務所(普通合伙) 32239 代理人: 丁秀華
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201610671747.9

授權公告號:

|||

法律狀態公告日:

2017.02.01|||2017.01.04

法律狀態類型:

實質審查的生效|||公開

摘要

本發明涉及一種GPU摳像方法,該方法由CPU將摳像所需的前景圖像數據和背景圖像數據傳入GPU全局內存,由GPU進行摳像處理后再回傳給CPU,通過GPU多線程處理和聚合讀取優化,本發明將GPU的并行計算和浮點運算能力優勢用在摳像處理上,降低了摳像對CPU的要求,性能顯著提高,并且可以滿足高清信號的要求。

權利要求書

1.一種GPU摳像方法,其特征在于,該方法包括如下步驟:
1)CPU獲取摳像所需的圖像數據,包括前景圖像和背景圖像,將所述前景圖像和背景圖
像從RAM傳入GPU全局內存;所述前景圖像和背景圖像的分辨率相同;
2)所述CPU向GPU的全局內存申請空間,用于存放合成后的圖像數據;
3)所述GPU的各個block開始執行kernel函數;
4)所述GPU從全局內存分別聚合讀取前景圖像和背景圖像中的一塊數據到共享內存。
5)所述GPU同步線程,重復步驟4,直至要處理的圖像數據全部讀入共享內存;
6)所述GPU的每個線程從共享內存中各讀取前景圖像和背景圖像中一個像素的數據,
并對讀取的像素進行摳像處理,將處理結果寫入存放合成圖像的共享內存;
7)所述GPU同步線程,每個線程處理一個像素的數據,處理結果都寫入共享內存,最終
形成合成圖像數據;
8)所述GPU將共享內存中的合成圖像數據寫入全局內存;
9)所述GPU將全局內存中的合成圖像數據回傳給所述CPU;
10)顯示合成圖像。
2.根據權利要求1所述的GPU摳像方法,其特征在于,所述聚合讀取為滿足以下兩個條
件的全局內存讀取操作:
(1)所述GPU中任意一個half-warp對全局內存數據的存取都落在全局內存的一個段
內;
(2)所述half-warp中的第n個線程,或者不存取數據,或者必須存取所述段中的第n個
數據。
3.根據權利要求2所述的GPU摳像方法,其特征在于,在所述聚合讀取中,每個線程每次
讀取的所述數據的長度為4字節、8字節或者16字節。
4.根據權利要求1-3任意一項所述的GPU摳像方法,其特征在于,所述GPU的每個block
包括的線程數量在128以上,并且為64的倍數。
5.根據權利要求4所述的GPU摳像方法,其特征在于,所述GPU的每個block包括128個線
程。
6.根據權利要求1-4任意一項所述的GPU摳像方法,其特征在于,所述GPU的每個線程處
理摳像中的一個像素,設線程ID為threadIdx,其處理的像素坐標為(x,y),則有
x=blockIdx.x×blockDim.x+threadIdx.x;
y=blockIdx.y×blockDim.y+threadIdx.y;
其中,blockIdx是線程的block在grid中的索引值,blockIdx.x和blockIdx.y是該索引
值的x分量和y分量;blockDim是該block的尺寸,blockDim.x和blockDim.y分別是x軸尺寸
和y軸尺寸;threadIdx.x和threadIdx.y是線程ID的x分量和y分量。
7.根據權利要求6所述的GPU摳像方法,其特征在于,每個線程通過下述方法進行摳像
處理:
6.1)設P為線程處理的像素的坐標點,前景圖像上P點對應的像素在RGB色彩空間的顏
色為Rcap、Gcap和Bcap,所述線程將其轉換到HSV色彩空間,得到前景圖像上P點對應的像素在
HSV色彩空間的顏色為Hcap、Scap和Vcap;
6.2)設背景圖像上P點對應的像素在RGB色彩空間的顏色為Rbg、Gbg和Bbg;摳像后輸出的
合成圖像在P點對應的像素在RGB色彩空間的顏色為Rresult、Gresult和Bresult;則計算公式如
下:

其中,色鍵Hkey、Skey、Vkey分別是摳像顏色的色相、飽和度和明度,scale是預先定義的摳
像閾值。

說明書

一種GPU摳像方法

【技術領域】

本發明屬于圖像處理領域,涉及視頻制作時的摳像方法,尤其涉及一種基于GPU的
摳像方法。

【背景技術】

隨著視頻演播技術的發展,許多節目在制作時已經不用忙于布置演播室,只需要
一個純色的區域,主持人站在這個區域主持節目,而當節目呈現給觀眾時,觀眾卻可看到主
持人置身于一個特定的節目場景中,這種虛擬演播室的效果要歸功于視頻摳像技術。

但是,在制作高清節目的虛擬演播系統中,摳像設備多數采用價格較高的專用硬
件設備,而價格較低的基于“普通PC+信號輸入板卡”的摳像機在面對高清信號處理要求時,
處理能力不足。目前市面上基于普通PC的現有技術大部分是通過圖像像素掃描,RGB三原色
的判斷,將目標顏色鎖定在一定的RGB值范圍內,通過CPU的運算能力,逐行掃描圖片像素,
分析像素的色域范圍來進行摳像,其具有明顯的兩點缺陷:其一是摳像速度比較慢,由于
CPU的主頻限制,目前現有技術對CPU的提升已經越來越有局限,導致單純依靠CPU來運行的
效率比較差;其二是摳像效果不理想,通過傳統RGB三原色摳像已經很難滿足越來越多元化
的現場光線要求。因此,亟需一種新的摳像方法,可以使用普通PC運行,在節省成本的基礎
上,保證處理能力。

【發明內容】

為了解決現有技術中的上述問題,本發明提出了一種基于GPU并行操作性能的摳
像方法。

本發明采用的技術方案如下:

一種GPU摳像方法,其特征在于,該方法包括如下步驟:

1)CPU獲取摳像所需的圖像數據,包括前景圖像和背景圖像,將所述前景圖像和背
景圖像從RAM傳入GPU全局內存;所述前景圖像和背景圖像的分辨率相同;

2)所述CPU向GPU的全局內存申請空間,用于存放合成后的圖像數據;

3)所述GPU的各個block開始執行kernel函數;

4)所述GPU從全局內存分別聚合讀取前景圖像和背景圖像中的一塊數據到共享內
存。

5)所述GPU同步線程,重復步驟4,直至要處理的圖像數據全部讀入共享內存;

6)所述GPU的每個線程從共享內存中各讀取前景圖像和背景圖像中一個像素的數
據,并對讀取的像素進行摳像處理,將處理結果寫入存放合成圖像的共享內存;

7)所述GPU同步線程,每個線程處理一個像素的數據,處理結果都寫入共享內存,
最終形成合成圖像數據;

8)所述GPU將共享內存中的合成圖像數據寫入全局內存;

9)所述GPU將全局內存中的合成圖像數據回傳給所述CPU;

10)顯示合成圖像。

進一步地,所述聚合讀取為滿足以下兩個條件的全局內存讀取操作:

(1)所述GPU中任意一個half-warp對全局內存數據的存取都落在全局內存的一個
段內;

(2)所述half-warp中的第n個線程,或者不存取數據,或者必須存取所述段中的第
n個數據。

進一步地,在所述聚合讀取中,每個線程每次讀取的所述數據的長度為4字節、8字
節或者16字節。

進一步地,所述GPU的每個block包括的線程數量在128以上,并且為64的倍數。

優選的,所述GPU的每個block包括128個線程。

進一步地,所述GPU的每個線程處理摳像中的一個像素,設線程ID為threadIdx,其
處理的像素坐標為(x,y),則有

x=blockIdx.x×blockDim.x+threadIdx.x;

y=blockIdx.y×blockDim.y+threadIdx.y;

其中,blockIdx是線程的block在grid中的索引值,blockIdx.x和blockIdx.y是該
索引值的x分量和y分量;blockDim是該block的尺寸,blockDim.x和blockDim.y分別是x軸
尺寸和y軸尺寸;threadIdx.x和threadIdx.y是線程ID的x分量和y分量。

進一步地,每個線程通過下述方法進行摳像處理:

6.1)設P為線程處理的像素的坐標點,前景圖像上P點對應的像素在RGB色彩空間
的顏色為Rcap、Gcap和Bcap,所述線程將其轉換到HSV色彩空間,得到前景圖像上P點對應的
像素在HSV色彩空間的顏色為Hcap、Scap和Vcap;

6.2)設背景圖像上P點對應的像素在RGB色彩空間的顏色為Rbg、Gbg和Bbg;摳像后
輸出的合成圖像在P點對應的像素在RGB色彩空間的顏色為Rresult、Gresult和Bresult;則
計算公式如下:


其中,色鍵Hkey、Skey、Vkey分別是摳像顏色的色相、飽和度和明度,scale是預先定義
的摳像閾值。

本發明的有益效果包括:使用普通PC進行摳像,節約成本,通過GPU來完成摳像的
操作,性能相對于CPU顯著提高,并且可以滿足高清信號要求。本發明可以降低CPU的要求,
相對于配置一般的電腦,只要合理利用好CPU和GPU就能發揮出出色的摳像效果。

【附圖說明】

此處所說明的附圖是用來提供對本發明的進一步理解,構成本申請的一部分,但
并不構成對本發明的不當限定,在附圖中:

圖1是本發明基本的摳像流程。

圖2是本發明通過GPU進行摳像處理的基本方法。

圖3是本發明GPU線程配置方案表。

圖4是本發明GPU不同線程配置方案的統計數據表。

【具體實施方式】

下面將結合附圖以及具體實施例來詳細說明本發明,其中的示意性實施例以及說
明僅用來解釋本發明,但并不作為對本發明的限定。

本發明的主要思想是:通過CPU和GPU的共同參與,完成整個摳像過程,并且為了進
一步提高處理速度,利用了GPU操作的異步執行功能,將CPU和GPU的操作執行并行起來,最
終使整個摳像處理達到高清立體節目的要求。

在實現虛擬演播應用中,主持人需要在一個純色的背景前主持節目,之后通過摳
像處理將主持人的圖像從整個畫面中提取出來,疊加到另一個背景上。但是,由于光照強度
的影響,攝像機拍攝到的演播室背景亮度不均,強光照的區域呈現出亮調,弱光照的區域呈
現出暗調,換言之,同樣的色相,色度(飽和度)和亮度不同。因此,為了更好地實現摳像,首
先需要將圖像從RGB色彩空間轉換到HSV色彩空間,在HSV色彩空間中,選定一種色彩(色相
H)后,可以通過改變色彩含量的多少(飽和度S)和色彩明暗程度(明度V)獲得不同顏色,而
且這種變化在其色彩空間模型中是連續的,這也是HSV色彩空間與RGB色彩空間的不同之
處。HSV色彩空間這種可將某種色彩的色度和亮度變化構成的顏色集中在某個區域的特點,
能夠更容易地將演播室背景顏色變化表示出來,所以在HSV的色彩空間下進行摳像比在RGB
空間下更具操作性。

參見附圖1,其示出了本發明的一個基本的摳像流程:

步驟100:演播室中,主持人在一個純色的背景前主持節目,由攝像機拍下主持人
的主持畫面的圖像;現有的攝像機所產生的圖像基本都是由RGB色彩空間表示。

步驟200:將拍攝的圖像由RGB色彩空間轉換到HSV色彩空間,具體的轉換方法在后
面說明。

步驟300:對轉換后的圖像進行摳像,即剔除圖像中的純色背景。

步驟400:輸出摳像后的圖像。

步驟500:將摳像后的圖像疊加到預先設置的虛擬背景上,從而形成主持人在虛擬
背景前主持節目的合成圖像。

步驟600:輸出所述合成圖像。

下面對RGB色彩空間到HSV色彩空間的具體轉換方法作出說明,設圖像上某個像素
在RGB色彩空間的顏色為R(紅色分類)、G(綠色分量)、B(藍色分量),相對應的HSV色彩空間
的顏色為H(色相)、S(飽和度)、V(明度)。則通過以下公式計算HSV

V=max(R,G,B)



H=H×60;如果H<0,H=H+360。

其中,亮度V取RGB三個值中的最大值。在該最大值不為零時,S通過其第一個公式
計算,否則S等于0。計算H的過程稍微復雜,如果S=0,則H值未定義,否則根據RGB三個值哪
個最大,采用對應的三個公式之一計算一個初值,然后將該初值乘以60得到H的結果,如果
該結果還小于0,則再加上360。

在將圖像從RGB色彩空間轉換到HSV色彩空間后,具體的摳像方法如下:

步驟301:輸入兩幅分辨率相同的圖像,一幅為演播室拍攝并轉換到HSV色彩空間
的前景圖像(CAP),一幅為需要疊加的虛擬背景圖像(BG)。

步驟302:掃描前景圖像上的每個像素點,對每一個像素點進行處理,具體處理方
法如下:

設P為圖像上某個像素的位置,前景圖像上P點對應的像素在HSV色彩空間的顏色
為Hcap、Scap和Vcap(即該像素的色相、飽和度和明度),前景圖像上P點對應的像素在RGB色彩
空間的顏色為Rcap、Gcap和Bcap(即該像素的紅色分量、綠色分量和藍色分量)。背景圖像上P點
對應的像素在RGB色彩空間的顏色為Rbg、Gbg和Bbg(即該像素的紅色分量、綠色分量和藍色分
量)。摳像后輸出的合成圖像在P點對應的像素在RGB色彩空間的顏色為Rresult、Gresult和
Bresult(即該像素的紅色分量、綠色分量和藍色分量)。計算公式為:


其中,色鍵Hkey、Skey、Vkey分別是摳像顏色的色相、飽和度和明度,scale是預先定義
的摳像閾值。上述公式說明,在前景圖像像素的三個HSV分量與色鍵的三個分量的差都小于
閾值時,摳像結果取背景圖像像素的RGB值,否則取前景圖像像素的RGB值。

在對兩幅圖像進行摳像處理的過程中,無論是色彩空間的轉換還是與閾值的比
較,都是以像素為單位進行處理,而且像素之間的數據獨立,整個過程是一種高度密集型的
計算。對于這樣的計算,普通CPU的處理能力不足,因此本發明采用GPU進行計算。根據本發
明的實施例,采用普通的支持CUDA1.1計算能力的GeForce 9800GT作為GPU計算工具和CPU
進行合作計算。GeForce 9800GT具有14個多處理器,每個多處理器又有8個核,總共有14×8
=112個核心,由于其時鐘頻率為1.37GHz,那么總的并行處理的時鐘頻率為1.37GHz×112
=153.44GHz,與CPU相比,GPU具有非常高的數據并行運算能力。

參見附圖2,其示出了本發明通過GPU進行摳像處理的基本方法:

1)CPU獲取圖像數據,將RGB24格式的前景圖像數據和背景圖像數據從RAM傳入GPU
全局內存。

2)CPU向GPU的全局內存申請空間,用于存放合成后的圖像數據。

3)GPU的各個block開始執行kernel函數。

4)GPU從全局內存中各讀取前景圖像和背景圖像中一個像素的數據。

5)GPU對步驟4中讀取的像素進行摳像處理,將處理結果寫入存放合成圖像的全局
內存。具體的摳像處理過程類似于上述步驟301-302,即首先將該像素從RGB色彩空間轉換
到HSV色彩空間,然后采用上述步驟302的公式,計算出摳像的處理結果。

6)GPU重復步驟4-5,直到生成最終的合成圖像,將合成圖像回傳給CPU。

7)顯示合成圖像。

在GPU進行摳像處理時,是多線程進行的,每個線程處理一個像素。需要處理多少
個像素,就為GPU分配至少多少個線程,由于線程間處理的像素各不相同,所以各自沒有數
據相關性。

由于處理的數據是平面圖像,可以用二維坐標系來表示圖像中像素的坐標。所以
GPU在計算時,配置grid的維數為二維,block的維數也為二維,各個線程處理的像素的坐標
計算如下:

x=blockIdx.x×blockDim.x+threadIdx.x;

y=blockIdx.y×blockDim.y+threadIdx.y;

其中blockIdx是線程的線程塊(block)在線程格(grid)中的索引值,blockIdx.x
和blockIdx.y是該索引值的x分量和y分量;blockDim是該線程塊的尺寸,blockDim.x和
blockDim.y分別是x軸尺寸和y軸尺寸;threadIdx是線程ID,threadIdx.x和threadIdx.y是
線程ID的x分量和y分量。計算出來的(x,y)就是線程threadIdx處理的像素的坐標。

每個線程占用GPU中的10個寄存器,每個block占用60字節的共享內存和20字節的
常量內存。根據CUDA 1.1能力標準,計算出一個GPU對基本算法的資源限制為:

寄存器:8192/10=819個線程;

共享內存:16K/60=266個block

常量內存:64K>20,未受限

但是,在在CUDA 1.1能力標準中,每個GPU最多可處理768個線程。CUDA中線程塊線
程數量的配置會影響CUDA的處理效率。主要如下:

1、多處理器中活動的warp數量會影響延遲隱藏效果和GPU的使用率。

延遲是指使用多少個時鐘周期去使一個warp完成執行下一個指令的準備工作。延
遲隱藏是指多處理器在每個時鐘周期中總可以執行某個warp中的指令,從而隱藏了其它
warp的延遲。如果warp下一個指令中的輸入操作數未準備好時,warp就無法繼續執行。當輸
入操作數是寄存器,延遲將取決于寄存器的延遲。例如寄存器的寫后讀延遲,當此時輸入的
寄存器操作數是由前一個指令寫入時,GPU無法立即將寄存器數值讀取出來,因此產生了延
遲,在這個延遲期間,warp調度器調用其它準備就緒的warp給多處理器第執行。平均的寄存
器延遲大概是22個時鐘周期,對于計算能力的設備,CUDA建議多處理器必須有6個warp(192
個線程)才能隱藏該類延遲。當輸入操作數不是位于片上內存,即訪問DRAM顯存,延遲為400
到600個時鐘周期。消除該類延遲需要的warp數量取決于GPU代碼。一般來說,GPU代碼中,讀
取片上存儲器的指令與非片上存儲器的指令的比值越小,需要的warp越多。如果比值為1:
15,CUDA 1.1計算能力的設備的每個多處理器需要10個活動的warp才能將延遲隱藏。

2、多處理器中活動的block數量會影響GPU的使用率。

當多處理器只有一個活動的block時,如果執行到線程同步或者非片上存儲器的
讀取操作時,多處理器就會產生空閑。所以多處理器中應包含有多個活動的block,當某個
block在等待時,多處理器調入其它block執行,盡量使GPU忙碌。另外,一個GPU有多個多處
理器,GPU將block平均分配給各個多處理器,最佳的block數量是多處理器數量的整數倍,
每個多處理器的負荷均勻,block的并行化程度最高。

3、block中線程數量也會影響GPU計算效率。

多處理器每次處理一個block,block中的線程又以warp為單位進行調度,如果
block中線程的數量是warp的整數倍,不會在不足32個線程的warp上浪費計算資源,同時也
可以促成block對全局內存的完全的聚合訪問。block中的數量也不能太少,以產生足夠的
warp,實現延遲隱藏。CUDA建議block中線程的數量不少于64,最好在128到256之間。另外,
寄存器內存也存在bank沖突,當block中線程的數量為64的整數倍時,編譯器和線程調度器
可以取得最佳的沖突避免效果。

如果多處理器的活動線程達到其處理上限,多處理的占用率達到100%。是否能滿
負荷運行,取決于block中線程數量的配置和每個線程使用的寄存器資源及其他資源的數
量,其中最重要的還是資源的使用。多處理器的資源必須能夠預留給所有活動線程,如果多
處理器無法為一個block預留資源,kernel的調用將失敗。在多處理器上的各種資源,寄存
器資源是最少的,CUDA提供了一個編譯參數,可以限制每個線程使用寄存器的個數,編譯器
使用本地內存替代寄存器。由于本地內存無緩存和聚合存取機制,本地內存的存取效率是
所有存取DRAM方式中最低的,所以即使多處理的占用率達到100%,GPU算法的執行時間不
一定是最短。

根據以上因素,本發明在GPU的每個block中包含的線程為128以上,并且為64的倍
數,由于block線程上限為512,線程配置組合如附圖3所示。

對附圖3中多處理器占有率100%的配置方案進行比較,通過CUDA Visual
Profiler得到統計數據,如附圖4所示。從附圖4可以看出,當每個block的線程數量為128
時,性能最優,并且與其它多處理器占有率100%的配置方案相比,每個多處理器的活動
block數量最多。

聚合存取的優化

在CUDA中,一個時鐘周期可以執行8次內存操作。但是,對local memory或global
memory的存取有400-600個時鐘周期延遲,每個線程都需要從global memory中讀取數據,
往global memory寫入數據,內存操作與處理的像素成比例增長。由于存取的延遲,非聚合
操作將影響到整個CUDA摳像的效率。為了提高處理效率,必須對數據存取進行聚合優化。如
果數據能夠實現聚合存取,那么多個線程對數據多個存取操作將合并為一個操作,延遲也
將僅有一次存取操作的延遲,否則每次存取操作分開獨立進行,延遲成倍增長。

在CUDA1.1計算能力的硬件中,global memory被劃分成段,有兩種劃分方法,一種
是每一塊global memory從起點開始,連續的128byte的數據就被劃分成一個段,另一種是
從起點開始,連續的64byte的數據被劃分成一個段。由于CUDA對線程的調度是以half-warp
為單位,所以如果一個half-warp對數據的存取能夠落在某個段內,就滿足了聚合讀取的一
個條件。

聚合讀取的另一個條件是,half-warp中第n個線程,要么不存取數據,要么必須存
取段中的第n個數據,數據的長度可以是4byte,8byte或者16byte。

64byte的聚合讀取:16個線程,每個線程讀取4個byte,總共64個byte,總的開銷為
一次讀取的時間。

128byte的聚合讀取:16個線程,每個線程讀取8個byte,總共128個byte,總的開銷
為一次讀取的時間;16個線程,每個線程讀取16個byte,總共256個byte,分兩次讀取,每次
讀取128byte,總的開銷為兩次讀取時間。

每個線程8個byte的聚合存取的帶寬略低于4個byte的,每個線程16byte的聚合存
取的帶寬低于4個byte的很多。而非聚合存取的帶寬大大低于4個byte的聚合讀取,但是與8
個byte的聚合讀取比起來卻只低大約4倍,與16個byte的相比只低于大約2倍。所以4個byte
的聚合讀取帶寬最高。

在前述的基本摳像算法中,每個線程處理一個像素,每個像素是RGB24格式,占3個
byte,開始時每個線程并行地從存放前景圖像的全局內存中存取3個byte,再從存放背景圖
像的全局內存中存取3個byte,最后往存放最終結果的全局內存中寫入3個byte,對全局內
存的存取都不符合聚合存取4個byte,8個byte或16個byte的條件,由于對全局內存的大量
非聚合存取操作,導致存取帶寬非常低,大量的時間消耗在全局內存操作上。基于此,本發
明對基本方法進行聚合讀寫優化。

聚合讀寫優化的基本思想是:在CUDA中,每個多處理器擁有16KB的share memory,
share memory位于片上(on-chip),類似于CPU中的L1緩存,讀取和寫入速度快,每個時鐘周
期可以進行8次share memory操作,且沒有非聚合存取問題,也沒有global memory存取操
作額外的內存延遲。share memory的生命周期為block,使用share memory解決global
memory非聚合存取的高延遲問題時得以block為單位,block中的線程首先將數據讀入
share memory,再讀取出來進行摳像處理。優化后的方法如下:

1)CPU獲取圖像數據,將RGB24格式的前景圖像數據和背景圖像數據從RAM傳入GPU
全局內存。

2)CPU向GPU的全局內存申請空間,用于存放合成后的圖像數據。

3)GPU的各個block開始執行kernel函數。

4)GPU從全局內存分別聚合讀取前景圖像和背景圖像中的一塊數據到共享內存。

5)GPU同步線程,重復步驟4,以保證要處理的數據全部讀入共享內存。

6)GPU的一個線程從共享內存中各讀取前景圖像和背景圖像中一個像素的數據,
并對讀取的像素進行摳像處理,將處理結果寫入存放合成圖像的共享內存。具體的摳像處
理過程與基本方法中說明的相同。

7)GPU同步線程,每個線程處理一個像素的數據,保證處理結果都寫入到共享內
存,最終形成了合成圖像數據。

8)GPU將共享內存中的合成圖像數據寫入全局內存。

9)GPU將全局內存中的合成圖像數據回傳給CPU。

10)顯示合成圖像。由于合成圖像數據實際上已經在顯卡中,因此可以由顯卡直接
顯示合成后的圖像,從而在不降低處理效率的前提下在顯卡上同時實現GPU摳像和結果顯
示,無需將數據回傳到內存再顯示。

以上所述僅是本發明的較佳實施方式,故凡依本發明專利申請范圍所述的構造、
特征及原理所做的等效變化或修飾,均包括于本發明專利申請范圍內。

關 鍵 詞:
一種 GPU 方法
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:一種GPU摳像方法.pdf
鏈接地址:http://www.rgyfuv.icu/p-6100507.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服客服 - 聯系我們

[email protected] 2017-2018 zhuanlichaxun.net網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開
山东11选5中奖结果走势图