TWI554975B - 具有遮罩直接記憶體存取之圖形遠端系統與圖形處理方法 - Google Patents
具有遮罩直接記憶體存取之圖形遠端系統與圖形處理方法 Download PDFInfo
- Publication number
- TWI554975B TWI554975B TW104121044A TW104121044A TWI554975B TW I554975 B TWI554975 B TW I554975B TW 104121044 A TW104121044 A TW 104121044A TW 104121044 A TW104121044 A TW 104121044A TW I554975 B TWI554975 B TW I554975B
- Authority
- TW
- Taiwan
- Prior art keywords
- mask
- image
- bit
- buffers
- current
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/28—Indexing scheme for image data processing or generation, in general involving image processing hardware
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Controls And Circuits For Display Device (AREA)
- Image Generation (AREA)
Description
本發明係關於影像處理系統,且更關於具有遮罩直接記憶體存取之方法與系統。
相關現有技術,微軟MSDN文件庫,如遠程桌面協定包含一圖形管線延伸(MS-RDPEGFX)、一圖形元件介面加速延伸(MS-RDPEGDI)、一基本連接以及圖形遠端處理規格(MS-RDPBCGR),用以提供一種圖形遠端系統之說明。圖形遠端系統可透過線路發送資料,並使用相容客戶端(compatible client)操作接收,解碼以及成像(render)資料。圖形遠端系統中,位元地圖(bitmaps)從伺服器傳送到相容客戶端面(surface)、面與面之間傳送、或由面傳送至位元地圖快取。
如第1圖所示,一般的圖形遠端系統100包含圖形成像引擎(graphic render engine)101、至少一個面(surface)102、一直接記憶體存取(DMA,direct memory access)、顯示緩衝器104(也稱
為遮蔽緩衝器(shadow buffer)、幕後繪圖緩衝器(offscreen buffer)或“輸出緩衝器”(output buffer))、以及顯示裝置105。圖形遠端系統100使用一個特殊圖框組成指令“RDPGFX_MAP_SURFACE_TO_OUTPUT_PDU訊息”來指示相容客戶端透過直接記憶體存取103存取面102之一矩形區域,並傳送至顯示緩衝器104。之後圖形完全在顯示緩衝器104重建後,一完整的圖框影像資料將被顯示緩衝器104移到顯示裝置105來顯示。
上述提及之習知技術被稱為單一緩衝器(single buffer)架構。在單一緩衝器架構中,直接記憶體存取需要大量的記憶體,使得系統效能顯著降低。單一緩衝器架構之另一問題是螢幕裂痕(screen tearing)。螢幕裂痕是一種視覺偽影(visual artifact),視覺偽影是指來自兩個或多個不同圖框之資訊在單一螢幕繪出。對於高解析影像,在顯示裝置之垂直回掃間隔中沒有足夠的時間從一緩衝器將圖框影像內容到另一個緩衝器。最普遍解決方法來防止螢幕裂痕係是使用多個圖框緩衝器,例如雙重緩衝(double-buffering)。然而,多個圖框緩衝器儲存一完整圖框影像資料,可能導致記憶體與處理時間成本增加。
如前所述,如何降低記憶體成本並提高圖形遠端系統之處理速度,係需要解決之問題。
如前所述,本發明一實施例揭露了一種具有遮罩直接記憶體存取之圖形遠端系統與處理方法。圖形遠端系統包含一遮罩機制,遮罩機制用以偵測一圖框之更新像素,且該遮罩機制使該圖形遠端系統只需要處理更新之像素,以減少記憶體使用量和處理時間。
本發明一實施例圖形遠端系統的包含一網路、一伺服器、以及一客戶端裝置。網路是應用遠端桌面協定(RDP,Remote Desktop Protocol)。伺服器透過網路傳輸顯示成像指令(Display rendering commands),顯示成像指令用以指示目的區域(Destination region)。客戶端裝置接收顯示t成像指令。本發明實施例之客戶端裝置包含至少一圖形成像引擎(Graphic render engine)、至少一面(Surface)、至少一遮罩產生器(Mask generator)、複數個遮罩緩衝器、至少一具有遮罩之直接記憶體存取、以及複數個顯示緩衝器。面用以儲存影像。圖形成像引擎根據目的區域產生影像以及儲存影像到面中。遮罩緩衝器用以儲存位元遮罩(bit masks);其中遮罩緩衝器內容值用以指示影像儲存在面中的更新區域。遮罩產生器根據目的區域產生位元遮罩,並將位元遮罩儲
存至遮罩緩衝器。遮罩直接記憶體存取讀取目前遮罩緩衝器內容值以及先前之多個遮罩緩衝器內容值,且根據目前與先前遮罩緩衝器內容值來複製儲存在面之影像,以輸出複製影像到顯示緩衝器。顯示緩衝器接收從遮罩直接記憶體存取之複製影像,且根據複製影像重建完整影像,以輸出到顯示裝置。
本發明一實施例圖形處理方法包含以下步驟:產生一個影像、以及根據一目的區域儲存影像至面;根據目的區域產生位元遮罩,且儲存位元遮罩至複數個遮罩緩衝器;其中遮罩緩衝器內容值用以指示影像儲存在面的更新區域;讀取目前遮罩緩衝器與先前遮罩緩衝器之內容值;根據目前與先前遮罩緩衝器內容值,複製儲存在面之影像,以輸出複製影像到顯示緩衝器;接收從遮罩直接記憶體存取之複製影像,且根據複製影像重建完整影像,並輸出完整影像到顯示裝置。
200、100‧‧‧圖形遠端系統
101、203a‧‧‧圖形成像引擎
102、203b‧‧‧面
103、203f‧‧‧直接記憶體存取
104‧‧‧顯示緩衝器
201‧‧‧伺服器
201a‧‧‧虛擬電腦
202‧‧‧網路
203‧‧‧客戶端裝置
203c‧‧‧遮罩產生器
203d‧‧‧遮罩緩衝器
203e‧‧‧顯示緩衝器
204‧‧‧周邊裝置
205、105‧‧‧顯示裝置
參考以下詳細描述以及附圖,可更理解本發明,但不限制本發明之範圍,其中:第1圖顯示習知客戶端裝置之示意圖。
第2圖顯示依據本發明一實施例之圖形遠端系統之示意圖。
第3圖顯示依據本發明一實施例之客戶端裝置之示意圖。
第4A圖顯示依據本發明一實施例之客戶端裝置之運作示意圖。
第4B圖顯示依據本發明另一實施例之客戶端裝置之運作示意圖。
第4C圖顯示依據本發明另一實施例之客戶端裝置之運作示意圖。
第4D圖顯示依據本發明另一實施例之客戶端裝置之運作示意圖。
第5圖顯示依據本發明另一實施例之客戶端裝置之運作示意圖。
第6圖顯示依據本發明一實施例之圖形處理方法之流程圖。
在本說明書以及所附專利範圍,一些特定用語用於描述特定元件。本領域技術人員應當理解,一些硬體製造商可能使用不同名稱表示相同元件。在本說明書以及所附專利範圍,元件不區別它們名稱而是它們的功能。如本文專利範圍,“包含”一詞是包含或者是開放式的概念,並且不排除其他未陳述之元件、組成元件、或方法步驟。此外,“耦接”一詞在本在專利範圍中,是指任何直接或間接連接之方式。因此,如果本說明書描述耦接第一裝置到二裝置,表示該第一裝置可直接連接(經由訊號連接,包含電連接,無線傳輸,光纖傳輸等)到第二裝置,或間接經由另一個裝置或方式連接到第二裝置。
本文專利範圍,“及/或”一詞包含一個相關所列項目或多
個任意以及所有組合。本發明使用之用語“一”和“一個”以及描述上下文“該”和類似參考解釋包括單數和複數,除非本文另有說明或上下文明顯矛盾。
第2圖顯示根據本發明一實施例圖形遠端系統200。一實施例,圖形遠端系統200包含伺服器201、網路202、客戶端裝置203、至少一周邊裝置204、以及一顯示裝置205。
一實施例,網路202可為一具有遠端桌面協定(RDP,Remote Desktop Protocol)之網路。
一實施例,客戶端裝置203可為一有一精簡型用戶盒(Thin-client Box)。
伺服器201包含至少一虛擬電腦PC 201a作為一主機端,且服務至少一個客戶端(如客戶端裝置203)。從周邊裝置根據204鍵盤/滑鼠事件伺服器201可以產生用以指示目的區域之顯示成像指令透過網路202傳送至客戶端裝置203。客戶端裝置203可重建建一完整圖框,該圖框系用以提供至顯示裝置205顯示。
第3圖顯示根據本發明一實施例客戶端裝置203之功能方塊圖。客戶端裝置203接收顯示成像指令。一實施例,客戶端裝置203包含至少一圖形成像引擎203a、至少一面203b至少一個遮罩產生器203c、複數個遮罩緩衝器203d、複數個顯示緩衝器
203e、以及遮罩直接記憶體存取(DMA with masks)203f。
圖形成像引擎203A產生一影像並根據目的地區域(成像區域)DE儲存影像至面203b。例如,圖形成像引擎203A可應用於一遠端桌面協議(Remote Desktop Protocol,RDP)-圖形管線延伸(Graphics Pipeline Extension,EGFX),例如線路到-面處理數據單位(Processing Data Unit PDU)用於寫入編/解碼器ID、一目標矩形(x,y,w,h)與編碼資料從一線路寫入至面、一個面到面處理數據單位(Processing Data Unit PDU)用以將一目標矩形(x,y,w,h)從一個面寫入另一個面、從快取到面處理數據單位(Processing Data Unit PDU)用以將一目標矩形(x,y,w,h)從快取寫入面。
面203用以儲存影像。
遮罩產生器203c根據目的地區域DE產生複數個位元遮罩,且儲存位元遮罩成至遮罩緩衝器203d。
複數個遮罩緩衝器203d用來儲存多個位元遮罩,遮罩緩衝器之內容值用以指示儲存在面影像之更新區域。一實施例,每一位元遮罩(A、B、...)中每個像素位置皆標示有1與0其中之標記( ),用以表示目前面之像素對應先前面相對應位置之像素值是否改變。
遮罩直接記憶體存取203f讀取目前遮罩緩衝器內容值與先前遮罩緩衝器內容值,根據目前與先前遮罩緩衝器內容值複製儲存在面203b之影像,以輸出複製影像到顯示緩衝器203e。
複數個顯示緩衝器203e從遮罩直接記憶體存取203f接收複製影像,且根據複製影像重建完整影像,以輸出完整影像到顯示裝置205。
請注意,位元遮罩中,每像素位置標示兩個標記其中之一,如邏輯0或1,標記用以指示目前面與先前面相應位置之像素值是否改變。
處理更新區域之一實施例,遮罩直接記憶體存取203f比較在先前位元遮罩與目前位元遮罩每一像素相對應位置之標記以產生比較結果,且根據預設規則決定哪一像素位置需要更新以輸出一輸出位元遮罩。舉例而言,預置規則之一實施例如下,當先前位元遮罩與目前位元遮罩相對應像素位置之標記不同時,此像素位置之值需要更新。例如,當目前遮罩之一像素在坐標[X1,Y1]之標記等於1且先前遮罩等於0時,遮罩直接記憶體存取203f複製儲存在面203b影像之像素坐標[X1,Y1]之像素到顯示緩衝器203e;或當目前遮罩在像素在坐標[X2,Y2]之標記等於0且在先前遮罩等於1時,遮罩直接記憶體存取203f複製儲存在面203b
影像之像素坐標[X2,Y2]之像素到顯示緩衝器203e。
預設規則之一實施例,當目前位元遮罩像素位置之標記等於1,表示該像素位置需要更新。舉例而言,當目前遮罩中一坐標[X3,Y3]之像素值等於1,且先前遮罩也等於1時,該遮罩直接記憶體存取203f複製儲存在面203b之影像之像素坐標[X3,Y3]之像素到顯示緩衝器203e。
預設規則之另一實施例,當目前位元遮罩之像素位置之標記等於0時,像素位置不需更新。例如,在目前位元遮罩中坐標[X4,Y4]之標記等於0且先前位元遮罩同一作標之標記等於0時,遮罩直接記憶體存取203f不會複製儲存在面203b影像中坐標[X4,Y4]之像素到顯示緩衝器203e。
預設規則之另一實施例,先前位元遮罩與目前位元遮罩相同像素位置之標記相同時,像素位置不需更新。例如,當目前位元遮罩中坐標[X5,Y5]之標記等於0且先前位元遮罩中相同位置之標記等於0時,遮罩直接記憶體存取203f不會複製儲存在面203b影像中坐標[X5,Y5]之像素到顯示緩衝器203e。
因此,是否將儲存在面203b之影像像素複製到顯示緩衝器203e,可由目前位元遮罩與先前位元遮罩相同座標位之標記比較得到之判斷結果決定。
一實施例,顯示緩衝器203e之數量對應於遮罩緩衝器203d之數量。
本發明一運作實施例之客戶端裝置203說明如下。
首先,假設複數個遮罩緩衝器203d係包含兩個遮罩緩衝器A和B,且複數個顯示緩衝器203e包含兩個顯示緩衝器A和B。請參考第3、4A、4B、及4C圖。在初始狀態(圖框F0)中,圖形成像引擎203A接收目前圖框F0之一目的區域,產生目前圖框F0,然後儲存目前圖框F0到面203b中。遮罩產生器203c根據目的區域產生目前位元遮罩(F0),且以及儲存目前位元遮罩(F0)成遮罩緩衝器203d之遮罩緩衝器A。請注意,由於初始狀態圖框通常設定為黑圖框(Black frame),因此目前圖框F0之全部像素均需要更新。所以,根據目前圖框F0之目的地區由遮罩產生器203c產生之目前位元遮罩(F0)的所有像素值為1,以及根據先前圖框之目的區域由遮罩產生器203c產生之先前位元遮罩之所有像素值自然為0。
然而,遮罩緩衝器203d之遮罩緩衝器A儲存目前位元遮罩(F0),且遮罩緩衝器A之內容值用以指示儲存在面203b之目前圖框F0之目前更新區域。再者,遮罩直接記憶體存取203f對先前位元遮罩與目前位元遮罩(F0)以一像素對像素基礎執行或
(OR)運算或聯合算術運算(Union mathematic operations),以產生輸出位元遮罩(輸出位元遮罩S2OBlitMask(先前位元遮罩(previous bit mask)∥目前位元遮罩(current bit mask(F0))),且複製儲存在面203b之目前圖框F0之目前更新區域以輸出一複製影像到顯示緩衝器203e之緩衝器A。最後,輸出完整影像到顯示裝置205該多個顯示緩衝器203e之緩衝器A接收從遮罩直接記憶體存取203f之複製影像,且根據複製影像重建一完整影像,並輸出完整影像至顯示裝置205。
圖框F1期間,圖形成像引擎203a接收目前圖框F1之一目的區域(x1,y1,w1,h1),如第4圖顯示愛心形狀圖案,產生目前圖框F1,並儲存目前圖框F1到面203b。遮罩產生器203c根據目的地區域(x1,y1,w1,h1)產生目前位元遮罩(F1)。遮罩緩衝器203d之遮罩緩衝器B儲存目前位元遮罩(F1),且遮罩緩衝器B之內容值用以指示儲存在面203b之目前圖框F1之目前更新區域。遮罩直接記憶體存取203f對先前位元遮罩(F0)以及目前位元遮罩(F1)之每一相對像素執行或運算或聯合算術運算,以輸出一輸出位元遮罩S2OBlitMask,如第4B圖顯示輸出位元遮罩(F0 ∥ F1),且複製儲存在面203b之目前圖框F1之目前更新區域與先前圖框F0之先前更新區域,以輸出顯示緩衝器203e之緩
衝器B對應愛心形狀圖案之複製影像。最後,顯示緩衝器203e之緩衝器B接收從遮罩直接記憶體存取203f之複製影像,且根據複製影像重建完整影像,以輸出完整影像到顯示裝置205。
請注意,輸出位元遮罩(F0 ∥ F1)之邏輯1用以指示目前面相對應位置之更新像素值,但邏輯0表示沒有更新像素值在目前面。實際上,會需要多個邏輯1來建構愛心形狀圖案。本實施例,為了簡潔描述,僅在輸出位元遮罩(F0 ∥ F1)中用一個邏輯1來代表圖框F1之愛心形狀圖案。
圖框F2期間,圖形成像引擎203a接收目前圖框F2之目的區域(x2,y2,w2,h2),如第4A圖顯示三角形圖案,以產生目前圖框F2,並儲存目前圖框F2至面203b。遮罩產生器203c根據目的地區域(x2,y2,w2,h2)產生目前位元遮罩(F2)。遮罩緩衝器203d之遮罩緩衝器A儲存目前位元遮罩(F2),且遮罩緩衝器A內容值用以指示儲存在面203b之目前圖框F2之目前更新區域。遮罩直接記憶體存取203f)對先前位元遮罩(F1)以及目前位元遮罩(F2)以像素對像素之基礎執行或(OR)運算或聯合算術運算(Union mathematic operations),以輸出一輸出位元遮罩S2OBlitMask,如第4C圖顯示之輸出位元遮罩(F1 ∥ F2),以及複製儲存在面203b目前圖框F2之目前更新區域與先前圖框F1
之先前更新區域,以輸出對應儲存在面203b之愛心形狀圖案以及三角形圖案到顯示緩衝器203e之緩衝器A。最後,顯示緩衝器203e之緩衝器A接收從遮罩直接記憶體存取203f之複製影像,且根據複製影像重建完整影像,以輸出完整影像到顯示裝置205。
請注意,輸出位元遮罩(F1 ∥ F2)之邏輯1用以指示指示目前面或先前面之對應位置有更新像素,但輸出位元遮罩(F1 ∥ F2)之邏輯0用以指示在目前面與先前面之對應位置沒有更新像素。輸出位元遮罩(F1 ∥ F2)之兩個邏輯1分別對應圖框F1之愛心形圖案與圖框F2之三角形圖案。進一步,實際上可能需要多個邏輯1來構成愛心形狀圖案以及三角形圖案。本實施例,為了簡潔描述,只有兩個邏輯1來分別輸出位元遮罩(F1 ∥ F2)在圖框F1和圖框F2放置愛心形狀圖案與三角形圖案。
圖框F3期間,圖形成像引擎203a接收目前圖框F3之目的區域(x3,y3,w3,h3),如第4A圖顯示月亮形圖案,以產生目前圖框F3,並儲存目前圖框F3至面203b。遮罩產生器203c根據目的地區域(x3,y3,w3,h3)產生目前位元遮罩(F3)。遮罩緩衝器203d之遮罩緩衝器B儲存目前位元遮罩(F3),且遮罩緩衝器B之內容值用以指示儲存在面203b之目前圖框F3之目前更新區域。該遮罩直接記憶體存取203f以像素對像素之基礎對先前位元
遮罩(F2)與目前位元遮罩(F3)執行或運算或聯合算術運算,以輸出輸出位元遮罩S2OBlitMask,如第4D圖顯示之輸出位元遮罩(F2 ∥ F3),且複製儲存在面203b之目前圖框F3之目前更新區域與先前圖框F2之先前更新區域,以輸出對應儲存在顯示緩衝器203e之緩衝器B之三角形圖案與月亮形圖案。最後,顯示緩衝器203e之緩衝器B接收從遮罩直接記憶體存取203f之複製影像,且根據複製影像重建完整影像,以輸出完整影像到顯示裝置205。
請注意,輸出位元遮罩(F2 ∥ F3)之邏輯1用以指示目前面或先前面相應位置之更新像素,但輸出位元遮罩(F2 ∥ F3)之邏輯0用以指示目前面與先前面對應位置沒有更新像素。輸出位元遮罩(F2 ∥ F3)之三個邏輯1分別對應圖框F1愛心形圖案、圖框F2三角形圖案、以及圖框F3月亮形圖案。再者,實際上可能需要多個邏輯1(像素)來構成愛心形狀圖案、三角形圖案、以及月亮形圖案。本實施例,為了簡潔描述,只採用輸出位元遮罩(F2 ∥ F3)之三個邏輯1來代表圖框F1愛心形圖案、圖框F2三角形圖案、以及圖框F3月亮形圖案。
依此方式,客戶端裝置之實施例利用遮罩功能偵測目標區域並擷取更新像素,因此只需要儲存與處理圖框之更新像素,即
僅需處理一部分像素,而不需儲存與處理完整圖框。因此,在維持移除裂痕效應之功能下,記憶體成本可以減少並提升處理速度。
第5圖顯示另一種客戶端裝置之運作實施例。客戶端裝置包含三個遮罩緩衝器與三個顯示緩衝器。本領域技術人員可藉由參考上述說明來了解第5圖之運作方法和原理。因此不再贅述其細節。
第6圖顯示一實施例之處理圖形方法流程圖。處理圖形方法描述如下。
起始步驟S602:產生影像且根據一目的區域將影像儲存至面。
步驟S604:根據目的區域產生複數個位元遮罩,且儲存複數個位元遮罩到複數個遮罩緩衝器;其中遮罩緩衝器內容值用以指示儲存在面之影像之更新區域。
步驟S606:讀取複數個遮罩緩衝器之目前遮罩緩衝器與先前遮罩緩衝器之內容值,且根據目前遮罩緩衝器與先前遮罩緩衝器之內容值,複製儲存在面之影像到顯示緩衝器。
步驟S608:接收從遮罩直接記憶體存取之複製影像,且根據複製影像重建完整影像,以輸出完整影像到顯示裝置。
雖然某些實施例已經描述並顯示在附圖,但應當理解,該實施例僅僅係說明並不限制於本案之廣泛發明,以及本發明不應限制具體架構以及元件的安排,由本領域之技術人員做任何修改與變更皆應落入本案之申請專利範圍。
200‧‧‧圖形遠端系統
201‧‧‧伺服器
201a‧‧‧虛擬電腦
202‧‧‧網路
203‧‧‧客戶端裝置
204‧‧‧周邊裝置
205‧‧‧顯示裝置
Claims (20)
- 一種客戶端裝置,用以接收複數個顯示成像指令,該些顯示成像指令用以指示至少一目的區域,該客戶端裝置包含:至少一面,用以儲存一影像;至少一個圖形成像引擎,根據該目的區域產生該影像,並儲存該影像到該面;複數個遮罩緩衝器,用以儲存複數個位元遮罩,其中該些遮罩緩衝器之內容值用以指示該影像儲存在該面之更新區域;至少一遮罩產生器,用以根據該目的區域產生該些位元遮罩,且儲存該些位元遮罩至該些遮罩緩衝器;至少一遮罩直接記憶體存取,用以讀取該複數個遮罩緩衝器之內容值,且根據該些遮罩緩衝器之內容值的組合結果複製儲存在該面之影像,以輸出該複製影像至複數個顯示緩衝器之其一;以及該複數個顯示緩衝器,用以接收來自該遮罩直接記憶體存取之該複製影像,且根據該複製影像重建一完整影像,以輸出該完整影像到單一顯示裝置。
- 如申請專利範圍第1項所述之裝置,其中該遮罩直接記憶體存取複製一目前圖框之目前更新區域與一先前圖框之先前更新區域到該顯示緩衝器。
- 如申請專利範圍第2項所述之裝置,其中於位元遮罩中,每一像素位置標示兩個標記其中之一,該兩個標記用以表示該目前圖框與該先前圖框相應位置之像素值是否改變。
- 如申請專利範圍第2項所述之裝置,其中該些位元遮罩之先前位元遮罩用以指示該先前圖框之先前更新區域,且該些位元遮罩之目前位元遮罩用以指示該目前圖框之目前更新區域。
- 如申請專利範圍第4項所述之裝置,其中該遮罩直接記憶體存取處理該先前位元遮罩與該目前位元遮罩,以輸出一輸出位元遮罩。
- 如申請專利範圍第1項所述之裝置,其中該遮罩直接記憶體存取對該些遮罩緩衝器之內容值進行或運算、或是聯合算術運算。
- 如申請專利範圍第4項所述之裝置,其中該遮罩直接記憶體存取比較該先前位元遮罩與該目前位元遮罩之每一像素位置之標記以產生比較結果,根據一預設規則判斷需更新之像素位置以輸出一輸出位元遮罩。
- 如申請專利範圍第7項所述之裝置,其中當該目前位元遮罩之像素位置之標記為邏輯1時,該輸出位元遮罩之該像素位置被標示為需要更新。
- 如申請專利範圍第7項所述之裝置,其中當該先前位元遮罩與該目前位元遮罩對應像素位置之標記不同時,該輸出位元遮罩之該 像素位置被標示為需要更新。
- 如申請專利範圍第1項所述之裝置,其中該複數個顯示緩衝器之數量對應該複數個遮罩緩衝器之數量。
- 一圖形遠端系統,包含有:一遠端桌面協定;一伺服器,透過該網路傳輸複數個顯示成像指令,該些顯示成像指令用以指示至少一目的區域;一客戶端裝置,包含:至少一面,用以儲存一影像;至少一圖形成像引擎,根據該目的區域產生該影像且儲存該影像到該面中;複數個遮罩緩衝器,用以儲存複數個位元遮罩,其中該複數個遮罩緩衝器的內容值用以指示該影像儲存在該面的更新區域;至少一遮罩產生器,用以根據該目的區域產生該複數個位元遮罩,並將該複數個位元遮罩儲存至該複數個遮罩緩衝器;至少一遮罩直接記憶體存取,用以讀取該複數個遮罩緩衝器之內容值,且根據該些遮罩緩衝器之內容值的組合結果來複製儲存在該面之該影像,以輸出該複製影像至複數個顯示緩衝器之其一;以及 該複數個顯示緩衝器,用以接收從該遮罩直接記憶體存取之該複製影像,且根據該複製影像重建一完整影像,以輸出該完整影像到單一顯示裝置。
- 如申請專利範圍第11項所述之系統,其中該遮罩直接記憶體存取複製一目前圖框之目前更新區域與一先前圖框之先前更新區域到顯示緩衝器。
- 如申請專利範圍第12項所述之系統,其中於位元遮罩中,每一像素位置標示兩個標記其中之一,該兩個標記用以表示該目前圖框與該先前圖框相應位置之像素值是否改變。
- 如申請專利範圍第13項所述之系統,其中該遮罩直接記憶體存取比較一先前位元遮罩與一目前位元遮罩之每一像素位置之標記以產生比較結果,根據一預設規則判斷需更新之像素位置以輸出一輸出位元遮罩。
- 如申請專利範圍第14項所述之系統,其中當該先前位元遮罩與該目前位元遮罩對應像素位置之標記不同時,該輸出位元遮罩之該像素位置被標示為需要更新。
- 一種圖形處理方法,包含:產生一影像、以及根據包含在複數個顯示成像指令之至少一目的區域儲存該影像至一個面; 根據該目的區域產生複數個位元遮罩,且儲存該些位元遮罩至複數個遮罩緩衝器;其中該遮罩緩衝器內容值用以指示該影像儲存在該面的更新區域;藉由一直接記憶體存取,讀取該些遮罩緩衝器之內容值;藉由該直接記憶體存取,根據該些遮罩緩衝器的內容值之組合結果,複製儲存在該面之該影像,以輸出該複製影像到複數個顯示緩衝器之其一;以及藉由該些顯示緩衝器,接收從該直接記憶體存取之該複製影像,且根據該複製影像重建一完整影像,並輸出該完整影像到單一顯示裝置。
- 如申請專利範圍第16項所述之方法,其中該複製儲存在該面之該影像的步驟更包含:複製一目前圖框之目前更新區域與一先前圖框之先前更新區域到該顯示緩衝器。
- 如申請專利範圍第17項所述之方法,其中於位元遮罩中,每一像素位置標示兩個標記其中之一,該兩個標記用以表示該目前圖框與該先前圖框相應位置之像素值是否改變。
- 如申請專利範圍第16項所述之方法,其中該複製儲存在該面之該影像的步驟包含:比較該些位元遮罩之一先前位元遮罩與一目前位元遮罩之每一像 素位置之標記以產生比較結果;根據一預設規則,判斷需更新之像素位置以輸出一輸出位元遮罩;以及根據該輸出位元遮罩,複製儲存在該面之該影像,以輸出該複製影像到該複數個顯示緩衝器之其一。
- 如申請專利範圍第19項所述之方法,其中該判斷需更新之像素位置的步驟更包含:該當該先前位元遮罩與該目前位元遮罩對應像素位置之標記不同時,將該輸出位元遮罩之該像素位置標示為需要更新。
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/473,607 US9471956B2 (en) | 2014-08-29 | 2014-08-29 | Graphic remoting system with masked DMA and graphic processing method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201608520A TW201608520A (zh) | 2016-03-01 |
| TWI554975B true TWI554975B (zh) | 2016-10-21 |
Family
ID=55403060
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW104121044A TWI554975B (zh) | 2014-08-29 | 2015-06-30 | 具有遮罩直接記憶體存取之圖形遠端系統與圖形處理方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US9471956B2 (zh) |
| TW (1) | TWI554975B (zh) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10841621B2 (en) * | 2017-03-01 | 2020-11-17 | Wyse Technology L.L.C. | Fault recovery of video bitstream in remote sessions |
| CN111179160A (zh) * | 2020-01-02 | 2020-05-19 | 广东博智林机器人有限公司 | 一种信息过滤方法、装置、电子设备及存储介质 |
| US11776507B1 (en) | 2022-07-20 | 2023-10-03 | Ivan Svirid | Systems and methods for reducing display latency |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20090033670A1 (en) * | 2007-07-31 | 2009-02-05 | Hochmuth Roland M | Providing pixels from an update buffer |
| US20110134120A1 (en) * | 2009-12-07 | 2011-06-09 | Smart Technologies Ulc | Method and computing device for capturing screen images and for identifying screen image changes using a gpu |
| TW201411549A (zh) * | 2012-05-15 | 2014-03-16 | Nvidia Corp | 遠端顯示器的虛擬化圖形處理 |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005504363A (ja) | 2000-12-22 | 2005-02-10 | ボリューム・インタラクションズ・プライベイト・リミテッド | グラフィック画像のレンダリング方法 |
| KR100440405B1 (ko) | 2001-11-19 | 2004-07-14 | 삼성전자주식회사 | 더블 버퍼링을 이용한 화상 데이터 출력 제어장치 |
| US20060227243A1 (en) | 2005-03-30 | 2006-10-12 | Terawins, Inc. | Methods for adjusting the synchronization in digital display application |
| JP4327173B2 (ja) | 2006-04-19 | 2009-09-09 | 株式会社ソニー・コンピュータエンタテインメント | グラフィックスプロセッサ、描画処理装置および描画制御方法 |
| US8907959B2 (en) | 2010-09-26 | 2014-12-09 | Mediatek Singapore Pte. Ltd. | Method for performing video display control within a video display system, and associated video processing circuit and video display system |
| US9129581B2 (en) | 2012-11-06 | 2015-09-08 | Aspeed Technology Inc. | Method and apparatus for displaying images |
-
2014
- 2014-08-29 US US14/473,607 patent/US9471956B2/en active Active
-
2015
- 2015-06-30 TW TW104121044A patent/TWI554975B/zh active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20090033670A1 (en) * | 2007-07-31 | 2009-02-05 | Hochmuth Roland M | Providing pixels from an update buffer |
| US20110134120A1 (en) * | 2009-12-07 | 2011-06-09 | Smart Technologies Ulc | Method and computing device for capturing screen images and for identifying screen image changes using a gpu |
| TW201411549A (zh) * | 2012-05-15 | 2014-03-16 | Nvidia Corp | 遠端顯示器的虛擬化圖形處理 |
Also Published As
| Publication number | Publication date |
|---|---|
| US9471956B2 (en) | 2016-10-18 |
| US20160063667A1 (en) | 2016-03-03 |
| TW201608520A (zh) | 2016-03-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10885607B2 (en) | Storage for foveated rendering | |
| JP6726946B2 (ja) | レンダリング方法、レンダリング装置及び電子装置 | |
| US8199164B2 (en) | Advanced anti-aliasing with multiple graphics processing units | |
| JP5917784B1 (ja) | グラフィックス処理ユニットのためのハードウェアによるコンテンツ保護 | |
| CN104641412B (zh) | 用于选择性显示刷新的方法和设备 | |
| JP5313225B2 (ja) | ディスプレイ・データ管理技法 | |
| KR102651126B1 (ko) | 그래픽 프로세싱 장치 및 그래픽스 파이프라인에서 텍스처를 처리하는 방법 | |
| EP2880539B1 (en) | Cache data migration in a multicore processing system | |
| CN106296565A (zh) | 图形管线方法和设备 | |
| CN109978977B (zh) | 使用预取的图形数据执行基于图块的渲染的装置和方法 | |
| KR20120102703A (ko) | Gpu를 사용하여 스크린 이미지를 캡쳐링하고 스크린 이미지 변경을 식별하는 방법 및 컴퓨팅 디바이스 | |
| CN104823220B (zh) | 用于图形处理的图形存储器加载掩模 | |
| TWI622016B (zh) | Depicting device | |
| WO2022179362A1 (zh) | 一种图像融合方法以及装置 | |
| TWI554975B (zh) | 具有遮罩直接記憶體存取之圖形遠端系統與圖形處理方法 | |
| US8823715B2 (en) | Efficient writing of pixels to tiled planar pixel arrays | |
| CN110223369B (zh) | Tbr架构的帧缓存写回方法、装置及计算机存储介质 | |
| CN111179151B (zh) | 一种提高图形渲染效率的方法、装置及计算机存储介质 | |
| WO2022047136A1 (en) | Shader core instruction to invoke depth culling | |
| CN113741836B (zh) | 媒体处理方法、装置和系统 | |
| KR101239965B1 (ko) | 렌더링 장치 및 방법 |