TWI484472B - 顯示影像之方法及裝置 - Google Patents
顯示影像之方法及裝置 Download PDFInfo
- Publication number
- TWI484472B TWI484472B TW102101573A TW102101573A TWI484472B TW I484472 B TWI484472 B TW I484472B TW 102101573 A TW102101573 A TW 102101573A TW 102101573 A TW102101573 A TW 102101573A TW I484472 B TWI484472 B TW I484472B
- Authority
- TW
- Taiwan
- Prior art keywords
- frame
- display
- buffer
- image data
- pixels
- Prior art date
Links
Landscapes
- Controls And Circuits For Display Device (AREA)
Description
本發明係有關於一種影像生成,特別是關於一種有效顯示影像之方法及系統。
MS-RDPRF(係為“Remote Desktop Protocol:RemoteFX Codec Extension”的簡稱,為微軟MSDN技術檔案庫文件(library documentation))、美國專利公告號碼US 7,460,725、美國專利公開號碼US 2011/0141123和美國專利公開號碼US 2010/0226441文獻中揭露一種編碼(encoding)和解碼(decoding)電子資訊的方法及系統。一種編碼系統的磚式模組(tiling module)係將來源影像(source image)分成多個資料磚。一畫框差分模組(frame differencing module)係以逐磚方式(tile-by-tile basis),比較目前來源影像和一先前畫框的相似位置(similarly-located)的資料磚。為減少需要編碼的資料磚之數目,該差分模組只輸出目前來源影像中改變(altered)的資料磚,而這些改變的資料磚係代表與該先前畫框之相對應資料磚之間有差異。一解碼系統的畫框重建器(frame reconstructor)係執行一畫框重建程序以產生一目前
解碼畫框,該目前解碼畫框係包含該些改變的資料磚和來自一先前畫框解碼影像資料之保持不變的資料磚。參考第1圖,畫有影線的部分Dp表示於一目前畫框n和一先前畫框n-1之間的影像資料差異區域。編碼器檢查該差異區域Dp並決定一組相對應該差異區域Dp的資料磚。於此例中,資料磚2-3、6-8和10-12為改變的資料磚。
微軟MSDN技術檔案庫文件,例如遠端桌面通訊協定:繪圖傳輸線擴增(Graphics Pipeline Extensions,MS-RDPEGFX)、繪圖元件介面加速擴增(Graphics Device Interface Acceleration Extensions,MS-RDPEGDI)以及基本連接與繪圖遠端規範(Basic Connectivity and Graphics Remoting Specification,MS-RDPBCGR)等,揭露一繪圖遠端(Graphics Remoting)系統。資料可於金屬導線(wire)上傳送,並被一相容的用戶端所接收、解碼和顯像(render)。在此繪圖遠端系統中,點陣圖(bitmap)從伺服器(server)傳輸至該用戶端的幕後繪圖頁(offscreen surface)、點陣圖於幕後繪圖頁之間傳輸、點陣圖於幕後繪圖頁和一點陣圖快取記憶體(cache)之間傳輸以及利用一預定的顏色填滿一幕後繪圖頁之矩形區域。例如,該系統利用一畫框合成指令(frame composition command)“RDPGFX_MAP_SURFACE_TO_OUTPUT_PDU message”命令(instruct)該用戶端以位元區塊影像傳輸(Bit Block
Image Transfer,BitBlit)或區塊影像傳輸(Block Image Transfer,Blit)一繪圖頁(surface)至一繪圖輸出緩衝器(graphics output buffer,或稱為影緩衝器(shadow buffer)、或稱為幕後緩衝器(offscreen buffer)、或稱為後緩衝器(back buffer))的矩形區域。在該繪圖輸出緩衝器完成重建影像後,為了顯像,將整個畫框影像資料從該繪圖輸出緩衝器搬移至主緩衝器(primary buffer,亦稱為前緩衝器(front buffer))(以下稱之為“單緩衝結構(single buffering structure)”)。
於傳統單緩衝結構中,記憶體存取包括的操作有:(a)以一解碼器寫入解碼資料至一暫時緩衝器(temporary buffer);(b)然後,將該解碼資料從該暫時緩衝器搬移至該影繪圖頁(或後緩衝器);(c)接著,為了顯像,將全部畫框影像內容從該影繪圖頁搬移至該主繪圖頁(primary surface)。在該單緩衝結構中,該影繪圖頁包含一先前畫框的全部畫框影像內容。因此,只需要將影像改變區域從該暫時緩衝器搬動至該影繪圖頁,而該影像改變區域係包含一目前畫框和一先前畫框之間不同的影像資料。在該影像改變資料被搬移至該影繪圖頁後,為了顯像,必須將該影繪圖頁的全部內容搬移至主繪圖頁(或前緩衝器或輸出緩衝器)。如此一來,因為該單緩衝結構需要大量的記憶體存取,所以該系統的性能便明顯地降低。
該單緩衝結構之一主要問題係為螢幕撕裂(screen tearing)。螢幕撕裂係一視覺失真(visual artifact)現象,發生於有兩個或更多不同畫框顯示在一顯示裝置的單一螢幕描繪(single screen draw)中,在顯示裝置的垂直返馳期間(vertical retrace interval)內,高解析度影像沒有足夠時間將畫框影像從該影繪圖頁(幕後繪圖頁)搬移至該主繪圖頁。防止螢幕撕裂的最常見的解法係為利用多畫框緩衝器,例如雙畫框緩衝(double-buffering)。在任一時刻,一緩衝器(前緩衝器或主繪圖頁)的資料被掃描以進行影像顯示,而同時另一緩衝器(後緩衝器或影繪圖頁)也正在被畫入影像。當該前緩衝器正用來被顯示時,後緩衝器也正在填入影像資料,以作為下一畫框顯示之用。一旦該後緩衝器被填滿,該前緩衝器會被命令去檢視該後緩衝器。該前緩衝器變成該後緩衝器,而該後緩衝器變成該前緩衝器。此交換(swap)操作通常在該顯示裝置的垂直返馳期間完成,以防止前述螢幕撕裂現象。
有鑑於上述問題,本發明之目的係提供一種無視覺失真的有效顯示影像方法。
本發明之一實施例提供一種用以顯示影像之方法。該方法係應用於一影像顯示系統,該影像顯示系統包含一顯示裝置和多數個顯示緩衝器,該方法包含以下步驟:傳
送該些顯示緩衝器之一第一顯示緩衝器的內容至該顯示裝置;覆寫(overwrite)第一影像資料至該些顯示緩衝器之一第二顯示緩衝器,其中該第一影像資料代表在兩個對應相鄰畫框間之多數個更新畫素(updated pixel)的資料;根據該些更新畫素,取得一點陣圖遮罩(bitmap mask),其中該點陣圖遮罩指出該兩個對應相鄰畫框間的多數個改變畫素;以及,然後根據至少一點陣圖遮罩,覆寫第二影像資料至該第二顯示緩衝器,其中該第二影像資料係來自該第二顯示緩衝器之外的其餘顯示緩衝器。
本發明之另一實施例提供一種用以顯示影像之裝置,用以顯示影像,係應用於包含一顯示裝置的影像顯示系統,該裝置包含:多數個顯示緩衝器,用以儲存影像資料;一顯示單元,用以傳輸該些顯示緩衝器之一第一顯示緩衝器的內容至該顯示裝置;一更新單元,用以覆寫第一影像資料至該些顯示緩衝器之一第二顯示緩衝器,其中該第一影像資料代表在兩個對應相鄰畫框間之多數個更新畫素的資料;一遮罩產生單元,用以根據該些更新畫素產生一點陣圖遮罩,其中該點陣圖遮罩指出該兩個對應相鄰畫框間的多數個改變畫素;一顯示補償單元,用以根據至少一點陣圖遮罩覆寫第二影像資料至該第二顯示緩衝器,其中該第二影像資料係來自該第二顯示緩衝器之外的其餘顯示緩衝器;以及,一顯示控制單元,用以致使該顯示單元傳輸該第一顯示緩衝器的
內容至該顯示裝置。
33A、33B‧‧‧畫框緩衝器
38A、38B‧‧‧畫框遮罩圖緩衝器
300‧‧‧顯示影像裝置
310‧‧‧顯像引擎
312‧‧‧二維繪圖引擎
314‧‧‧JPEG解碼器
320‧‧‧外部記憶體
321、322‧‧‧暫時緩衝器
340‧‧‧顯示控制單元
350‧‧‧遮罩產生單元
360‧‧‧畫框重建器
361‧‧‧更新單元
363‧‧‧顯示補償單元
365‧‧‧顯示單元
371、373‧‧‧多工器
第1圖說明在一目前畫框和一先前畫框間的影像資料差異區域Dp。
第2A圖顯示有關兩相鄰畫框之三個畫框合成指令的例子。
第2B圖顯示和第2A圖的三個畫框合成指令有關之一部分畫框遮罩圖的例子。
第2C圖係基於一畫框遮罩圖和一個多緩衝結構,顯示遮罩值和資料傳輸路徑的關係圖。
第2D圖係根據本發明之一實施例,說明二個畫框遮罩圖的例子。
第2E圖說明第2D圖的兩個相鄰畫框遮罩圖n和n-1的結合結果。
第2F圖顯示第2E圖的兩個相鄰畫框遮罩圖之結合結果的三種畫素型態。
第2G圖係基於三個畫框遮罩圖,顯示遮罩值和資料傳輸路徑的關係圖。
第3A圖係根據本發明之一實施例,顯示一顯示影像裝置的架構示意圖。
第3B圖係根據本發明之一實施例,顯示第3A圖的畫框重
建器的架構示意圖。
第4圖係根據本發明之一實施例,顯示一顯示影像方法的流程圖。
第5圖係基於一雙緩衝結構和一畫框遮罩圖,顯示畫框重建順序的第一個例子。
第6圖係基於一雙緩衝結構和二畫框遮罩圖,顯示畫框重建順序的第二個例子。
以下之說明將舉出本發明之數個較佳的示範實施例,熟悉本領域者應可理解,本發明可採用各種可能的方式實施,並不限於下列示範之實施例或實施例中的特徵。
在本說明書及後續的申請專利範圍中,”來源緩衝器”一詞係用來指稱在一影像顯示系統之記憶體位置空間中,具有一特定位址之任一記憶體元件。另外,在本說明書及後續的申請專利範圍中,除文意另有所指外,單數詞彙係同時涵蓋單數與複數範圍。
本發明採用一畫框遮罩圖(frame mask map)機制來決定幾個相鄰畫框緩衝器之間不一致的區域。本發明的特色係使用多緩衝結構和至少一畫框遮罩圖來減少從一先前畫框緩衝器至一目前畫框緩衝器(後緩衝器)的資料傳輸,從而加快影像重建的速度。
一般而言,畫框合成指令有相似的格式
(format)。例如,一位元區塊影像傳輸(BitBlt或Bit Blit)指令係執行一矩形畫素的顏色資料之位元區塊(bit-block)傳輸,係從一來源元件內文(source device context)傳輸至一目的元件內文。該BitBlt指令的格式如下:BitBlt(hdcDest,XDest,YDest,Width,Height,hdcSrc,XSrc,YSrc,dwRop),其中hdcDest代表該目的元件內文的指標(handle),XDest和YDest代表目的矩形左上角的x-座標和y-座標,Width和Height代表該來源矩形和目的矩形的寬和高,hdSrc代表該來源元件內文的指標,以及XSrc和YSrc代表該來源矩形左上角的x-座標和y-座標。同樣地,各畫框合成指令包含一個來源指標和四個目的參數(Dest_left、Dest_top、Dest_right、Dest_bottom),該來源指標用來指向(point)該來源元件內文,而該些目的參數係在一輸出畫框緩衝器(目的緩衝器或後緩衝器)中界定一矩形區域。
第2A圖顯示有關兩相鄰畫框之三個畫框合成指令的例子。在第2A圖的範例中,該三個畫框合成指令的聯集(union)表示在該目前畫框n和該先前畫框n-1間的差異區域。第2B圖顯示和第2A圖的三個畫框合成指令有關之一部分畫框遮罩圖(frame mask map)n的例子。利用一遮罩產生單元(mask generation unit)350(其功能將與第3A圖一併說明)將第2A圖的該三個畫框合成指令解碼,並轉換成第2B圖的畫框遮罩圖n。參考第2B圖,在畫框遮罩圖n中,各個畫素
位置係以兩個符號(1或0)之其一來標記(mark),用以表示在該目前畫框n和該先前畫框n-1間之相對應位置的畫素值是否有改變。於該畫框遮罩圖n中,遮罩值1和0分別插入於畫素值有改變和沒改變的相對應畫素位置。第2C圖係基於一畫框遮罩圖和一個多緩衝結構,顯示遮罩值和資料傳輸路徑的關係圖。當在該畫框遮罩圖n之畫素位置標記一遮罩值1(定義其畫素型態為“改變”)時,代表在一畫框重建程序期間,根據該些畫框合成指令,必須將相對應畫素值從一指定來源緩衝器搬移至該後緩衝器(即目前畫框緩衝器)。當在該畫框遮罩圖n之畫素位置標記一遮罩值0(定義其畫素型態為“未改變”)時,代表在該畫框重建程序期間,必須將些相對應畫素值從一先前畫框緩衝器搬移至該後緩衝器(即目前畫框緩衝器)。
第2D圖係根據本發明之一實施例,說明二個畫框遮罩圖的例子。基於該目前畫框n和先前畫框n-1,在一目前畫框遮罩圖n中,標記三個改變區域(Fn.r1,Fn.r2和Fn.r3);而基於先前畫框n-1和n-2,在一先前畫框遮罩圖n-1中,標記二個改變區域(Fn-1.r1和Fn-1.r2)。第2E圖說明第2D圖的兩個相鄰畫框遮罩圖n和n-1的結合(combination)結果。
在一畫框重建程序期間,結合該目前畫框遮罩圖n和該先前畫框遮罩圖n-1以決定需將那一個影像區域從一先前畫框緩衝器搬移至一目前畫框緩衝器(亦即後緩衝
器)。第2F圖顯示第2E圖的兩個相鄰畫框遮罩圖之結合結果的三種畫素型態。參考第2F圖,可將該兩個相鄰畫框遮罩圖n和n-1的結合結果分成三種畫素型態:A、B和C。型態A係指出在該二畫框n和n-1間的未改變影像區域(在該目前畫框遮罩圖n和該先前畫框遮罩圖n-1的相同位置分別標記一目前遮罩值0和一先前遮罩值0),代表”型態A”區域的畫素資料於該目前畫框n和該先前畫框n-1中是一致的,因此於該畫框重建程序期間,不需執行資料傳輸操作。型態C係指出一影像區域(在該目前畫框遮罩圖n和該先前畫框遮罩圖n-1的相同位置分別標記一目前遮罩值0和一先前遮罩值1)中,其每一相對位置的畫素資料在該先前畫框n-1中有改變而在該目前畫框n中未改變,代表”型態C”區域的畫素資料於該目前畫框n和該先前畫框n-1中是不一致的,因此於該畫框重建程序期間,需將該區域的資料從該先前畫框緩衝器拷貝至該目前畫框緩衝器。型態B係指出一影像區域(在該目前畫框遮罩圖n和該先前畫框遮罩圖n-1的相同位置分別標記一目前遮罩值1和一先前遮罩值”X”,X表示一隨意值0或1)中,其每一相對位置的畫素資料在該目前畫框n中有改變。因此,於該畫框重建程序期間,根據該些畫框合成指令,必須將在該“型態B”區域的畫素資料從該來源緩衝器搬移至該目前畫框緩衝器。
第2G圖係基於三緩衝器結構(triple-buffering)
和三個畫框遮罩圖,顯示遮罩值和資料傳輸路徑的關係圖。在一畫框重建程序期間,將該目前畫框遮罩圖n和先前畫框遮罩圖n-1和n-2結合,以決定需將那一個影像區域從一先前畫框緩衝器n-1搬移至一目前畫框緩衝器(亦即該後緩衝器)n和從一先前畫框緩衝器n-2搬移至一目前畫框緩衝器n。
參考第2G圖,可將三個畫框遮罩圖n、n-1和n-2的結合結果分成四種畫素型態:A、B、C1和C2。型態A和型態B與第2F圖中的型態A和型態B有類似的定義,所以不再贅述。型態C1係指出一影像區域(在該目前畫框遮罩圖n和該先前畫框遮罩圖n-1的相同位置分別標記一目前遮罩值0和一先前遮罩值1),其每一相對位置的畫素資料在該先前畫框n-1中有改變而在該目前畫框n中沒有改變,代表在該“型態C1”區域的畫素資料於該目前畫框n和該先前畫框n-1中是不一致的,因此於該畫框重建程序期間,需將該區域的資料從該先前畫框緩衝器n-1拷貝至該目前畫框緩衝器n。型態C2係指出一影像區域(在該目前畫框遮罩圖n、先前畫框遮罩圖n-1和先前畫框遮罩圖n-2的相同位置分別標記一目前遮罩值0、先前遮罩值0及先前遮罩值1),其每一相對位置的畫素資料在先前畫框n-2中有改變、而在畫框n和n-1中沒有改變,代表在該“型態C2”區域的畫素資料於該目前畫框n和該先前畫框n-2中是不一致的,因此於該畫框重建程序期間,需將該區域的資料從一先前畫框緩衝器n-2拷貝至該目前畫框緩
衝器n。
第3A圖係根據本發明之一實施例,顯示一顯示影像裝置的示意圖。基於一雙緩衝結構和二畫框遮罩圖機制,提供第3A圖的顯示影像裝置300。然而,上述雙緩衝結構和二畫框遮罩圖機制僅為示例,而非本發明的限制。在實作中,具一或多畫框遮罩圖機制之多緩衝結構亦屬於本發明的範疇。
參考第3A圖,該本發明之顯示影像裝置300係應用於一影像顯示系統(圖中未顯示)中,包括一顯像引擎(rendering engine)310、二暫時緩衝器321和322、二畫框緩衝器33A和33B、一顯示控制單元340、一遮罩產生單元350、二畫框遮罩圖緩衝器38A和38B、一畫框重建器360以及二多工器(multiplexer)371和373。該顯像引擎310接收輸入影像資料和指令以顯現(render)一輸出影像至二暫時緩衝器321和322。該顯像引擎310包括但不限於:一個二維繪圖引擎(2D graphics engine)、一個三維(3D)繪圖引擎和一個解碼器(能夠對各種影像格式解碼,如JPEG和BMP)。暫時緩衝器的數目取決於該顯像引擎310的功能,於第3A圖的實施例中,該顯像引擎310包括一二維繪圖引擎312和一靜態影像壓縮標準(JPEG)解碼器314,分別對應至二個暫時緩衝器321和322。該2D繪圖引擎312接收輸入的影像資料和2D指令(例如以藍色填滿一特定的矩形),然後產生一著色影像至該暫時
緩衝器321。該JPEG解碼器314接收編碼影像資料和一解碼指令,執行解碼操作並顯現一解碼影像至該暫時緩衝器322。該顯像引擎310產生一狀態訊號(status signal)s1,用以表示該顯像引擎310是否完成操作。例如,當該狀態訊號具有一邏輯值0時,表示該顯像引擎310正執行顯像操作;當該狀態訊號s1具有一邏輯值1時,表示該顯像引擎310完成顯像操作。同樣地,該畫框重建器360產生一狀態訊號s2,用以表示該畫框重建程序是否完成。該遮罩產生單元350產生一狀態訊號s3,用以表示是否已產生畫框遮罩圖。
如上述關於第2A圖和第2B圖的說明,該遮罩產生單元350依照該輸入的畫框合成指令產生一目前畫框n的目前畫框遮罩圖,並將該目前畫框遮罩圖寫入至一目前畫框遮罩圖緩衝器(38A或38B)。依照顯示時序訊號(display timing signal)TS和三狀態訊號s1-s3,該顯示控制單元340更新一重建器緩衝器指標(index)(亦即交換(swap)該後緩衝器與該前緩衝器之角色),以進行雙緩衝控制。其中,一顯示裝置提供該顯示時序訊號TS,例如但並不受限於,來自該影像顯示系統的顯示裝置之垂直同步(vertical synchronization,VS)訊號。或者,該顯示時序訊號TS可能包含已從該先前緩衝器掃描(或傳送)至該顯示裝置的已掃描線(scanned line)數目的資訊。該重建器緩衝器指標包括但並不受限於:一外部記憶體基底位址(base address)、該二暫時
緩衝器基底位址、該目前畫框緩衝器指標、一先前畫框緩衝器指標、該目前畫框遮罩圖指標和一先前畫框遮罩圖指標。該二暫時緩衝器基底位址係為該二暫時緩衝器321和322的基底位址。該目前畫框遮罩圖指標和該先前畫框遮罩圖指標分別指出那一個畫框遮罩圖緩衝器包含該目前畫框遮罩圖和該先前畫框遮罩圖。該目前和該先前畫框緩衝器指標分別指出正將那一個畫框緩衝器的資料掃描(或傳送)至該顯示裝置以及正將影像資料寫入那一個畫框緩衝器。回應該些輸入的畫框合成指令,該畫框重建器360首先將改變區域的影像資料(型態B)從至少一來源緩衝器(包括但不受限於:該二暫時緩衝器321和322以及一外部記憶體320)搬移至該目前畫框緩衝器(後緩衝器)。然後,在存取和結合該目前畫框遮罩圖n和該先前畫框遮罩圖n-1以決定那一個影像區域屬於“型態C”區域之後,該畫框重建器360將其相對應影像資料從該先前畫框緩衝器移動到該目前畫框緩衝器。在完成一顯像程序、一畫框遮罩產生程序和一畫框重建程序之後,於該影像顯示系統之顯示裝置的一垂直返馳期間,進行一雙緩衝交換(double buffering swap)。該顯示裝置的垂直返馳期間係依照該顯示時序訊號(例如,該VS訊號)而產生。其中,該外部記憶體320代表任一位於該裝置300之外的記憶體元件。
第3B圖係根據本發明之一實施例,顯示第3A圖的畫框重建器的示意圖。參考第3B圖,該畫框重建器360包
括一更新單元361、一顯示補償單元363和一顯示單元365。該顯示單元365傳輸該前緩衝器的全部影像資料內容至該影像顯示系統的顯示裝置。因該第3A圖的實施例係基於一雙緩衝結構,所以該前緩衝器相當於該先前畫框緩衝器。根據相對應的畫框合成指令,更新單元361首先將型態B的資料從至少一指定的來源緩衝器傳輸至一目前畫框緩衝器。接著,根據相對應的畫框遮罩圖,該顯示補償單元363將型態C的資料從該先前畫框緩衝器拷貝至該目前畫框緩衝器,而無須將型態A的資料從該先前畫框緩衝器搬移至該目前畫框緩衝器。因此,使用該顯示補償單元363可明顯地降低該先前畫框緩衝器和該目前畫框緩衝器間的資料存取量。
第4圖係根據本發明之一實施例,顯示一顯示影像方法的流程圖。基於一雙緩衝結構並配合兩個畫框遮罩圖,本發明的方法係應用於該影像顯示系統,請同時參考第3A和3B圖,說明各步驟如下。
步驟S402:顯現(或產生)一影像至一暫時緩衝器或一外部記憶體(顯像程序)。例如,該2D繪圖引擎312可能接收輸入的影像資料和一2D指令(如以藍色填滿一特定的矩形),然後顯現一著色影像至該暫時緩衝器321;該JPEG解碼器314可能接收編碼影像資料和一解碼指令,執行解碼操作並顯現(或產生)一解碼影像至該暫時緩衝器322;將一特定的影像寫入至該外部記憶體320。上述影像資料一旦完成寫
入,該顯像引擎310會將該狀態訊號s1設成1,用以表示完成該顯像程序。
步驟S404:掃描該前緩衝器的內容至該顯示裝置(亦即將該前緩衝器的內容寫入至該顯示裝置)。假設該前緩衝器已事先儲存一完整畫框。該顯示單元365傳輸該前緩衝器的全部內容至該影像顯示系統的顯示裝置。因此實施例係基於一雙緩衝結構,所以該前緩衝器相當於該先前畫框緩衝器。系統將該前緩衝器的影像資料掃描至該顯示裝置的同時,也將新資料寫入至該後緩衝器。該寫入程序和該掃描程序係在同一時間開始,但可能結束於不同時間點。於一實施例中,假設全部掃描線的總數係等於1080。假如該顯示裝置產生該顯示時序訊號TS,其包含的資訊是:已掃描線數等於900時,則表示該掃描程序仍持續進行中。相反地,當該顯示裝置產生該顯示時序訊號係指示已掃描線數等於1080時,則表示已完成該掃描程序。在另一實施例中,該顯示時序訊號TS係等於該VS訊號。當接收到一相對應垂直同步脈衝(pulse)時,係表示已完成該掃描程序。
步驟S406:根據至少一畫框合成指令,取得一目前畫框遮罩圖n。該遮罩產生單元350依照輸入的畫框合成指令,例如但不受限於,“bitblt”指令,產生一目前畫框遮罩圖n,並寫入至一目前畫框遮罩圖緩衝器(38A或38B)。一旦完成該目前畫框遮罩圖n,該遮罩產生單元350會將該狀
態訊號s3設成1,用以表示已完成該畫框遮罩圖產生程序。
步驟S408:根據該些畫框合成指令,以該來源緩衝器的內容更新一後緩衝器。根據該些畫框合成指令,該更新單元361將影像資料(型態B)從該來源緩衝器(包括但不受限於:該暫時緩衝器321和322以及該外部記憶體320)搬移至該後緩衝器。
步驟S410:將影像資料從該先前畫框緩衝器拷貝至該後緩衝器。在該更新單元361完成更新操作之後,根據二畫框遮罩圖n和n-1,該顯示補償單元363將影像資料(型態C)從該先前畫框緩衝器拷貝至該後緩衝器。至於該“型態A”區域,因為其為該目前畫框緩衝器和前畫框緩衝器之間資料一致的區域,所以不需執行資料傳輸。一旦該後緩衝器完成所有資料寫入動作,該顯示補償單元363將該狀態訊號s2設成1,用以表示完成該畫框重建程序。
步驟S412:交換該後緩衝器與該前緩衝器的角色。該顯示控制單元340持續地監控三狀態訊號s1-s3和該顯示時序訊號TS。根據該顯示時序訊號TS(例如,該VS訊號或其包含之已掃描線數目)和該三狀態訊號s1-s3,該顯示控制單元340決定是否交換該後緩衝器與該前緩衝器的角色。當該三狀態訊號s1-s3都等於1(表示已完成該顯像程序、該畫框遮罩圖產生程序和該畫框重建程序)和該顯示時序訊號TS顯示已完成該掃描程序時,該顯示控制單元340更新該重建器
緩衝器指標(包括但不受限於:一外部記憶體基底位址、該二暫時緩衝器基底位址、該目前畫框緩衝器指標、一前畫框緩衝器指標、該目前畫框遮罩圖指標和一前畫框遮罩圖指標),於該影像顯示系統之顯示裝置的一垂直返馳期間,交換該後緩衝器與該前緩衝器的角色。相反地,當該三狀態訊號s1-s3和該顯示時序訊號之至少其一表示未完成至少一相對應程序時,該顯示控制單元340將不會更新該重建器緩衝器指標直到上述四個程序全部完成為止。例如,如果只有該狀態訊號s2保持在邏輯值0(表示該畫框重建程序尚未完成),該顯示控制單元340將不會更新該重建器緩衝器指標直到該畫框重建器360完成該畫框重程序為止。
第5圖係基於一雙緩衝結構和一畫框遮罩圖,顯示畫框重建順序的第一個例子。請同時參考第3A和2C圖,以詳述畫框重建順序的第一個例子。請注意,因為第5圖的實施例只使用一個畫框遮罩圖,該裝置300可能只用一個畫框遮罩圖緩衝器38A,於此狀況下,可忽略該畫框遮罩圖緩衝器38B,故在圖中以虛線表示。
參考第5圖,在畫框1期間,該裝置300產生影像資料以重建全部畫框影像資料。因為該畫框緩衝器33A起初是空的,所以開始時係將所有影像資料從一來源緩衝器(包括但不受限於該二暫時緩衝器321和322以及該外部記憶體320)搬移至該畫框緩衝器33A。在畫框1的影像被重建之後,
於該顯示裝置的垂直返馳期間,該二畫框緩衝器33A和33B的角色互換,故該畫框緩衝器33A變成該前緩衝器,而該畫框緩衝器33B變成該後緩衝器。
然後,假設該顯像引擎310顯現(或產生)一改變區域r1至該暫時緩衝器321,該改變區域r1係表示在畫框1和畫框2間資料不一致的區域。為重建全部畫框影像,該畫框重建器360根據該些畫框合成指令,將改變區域r1(亦即根據第2C圖,該白色六邊形r1具有一目前遮罩值1)的影像資料從該暫時緩衝器321搬移至該後緩衝器33B;接著,根據一目前畫框遮罩圖2,將未改變區域(亦即根據第2C圖,在該白色六邊形r1之外之影線區域具有一目前遮罩值0)的影像資料從該前緩衝器33A搬移至該後緩衝器33B。在畫框2的影像被重建之後,於該顯示裝置的垂直返馳期間,再次將該二畫框緩衝器33A和33B的角色交換,使得該畫框緩衝器33B變成該前緩衝器,而該畫框緩衝器33A變成該後緩衝器。
在畫框3的影像重建期間,假設該解碼器314解碼一改變區域r2並據此以更新該暫時緩衝器322。為重建一全部畫框影像,該畫框重建器360根據該些畫框合成指令,將改變區域r2(亦即根據第2C圖,具有一目前遮罩值1)的影像資料從該暫時緩衝器322搬移至該後緩衝器33A,接著根據一目前畫框遮罩圖3,將未改變區域(亦即根據第2C圖,具有一目前遮罩值0)的影像資料從該前緩衝器33B搬移至該後緩衝
器33A。在畫框3的影像被重建之後,於該顯示裝置的垂直返馳期間,再次將該二畫框緩衝器33A和33B的角色交換,使得該畫框緩衝器33A變成該前緩衝器,而該畫框緩衝器33B變成該後緩衝器。後續畫框重建順序依上述相同方式而重複進行。然而,因為只使用一畫框遮罩圖,於畫框重建程序期間,需將大量未改變資料從該先前畫框緩衝器搬移至該目前畫框緩衝器,因而導致龐大的記憶體存取負荷。為解決前述問題,下面提供一個基於二畫框遮罩圖之畫框重建順序的例子。
第6圖係基於一雙緩衝結構和二畫框遮罩圖,顯示畫框重建順序的第二個例子。請同時參考第3A和2F圖,以詳述畫框重建順序的第二個例子。
參考第6圖,在畫框1期間,該裝置300顯現(或產生)影像資料以重建全部畫框影像資料。因為該畫框緩衝器33A起初是空的,所以開始時係將所有影像資料從該來源緩衝器搬移至該畫框緩衝器33A。在畫框1的影像被重建之後,於該顯示裝置的垂直返馳期間,將二個畫框緩衝器的角色交換,使得該畫框緩衝器33A變成該前緩衝器,而該畫框緩衝器33B變成該後緩衝器。
然後,假設將一改變區域r1寫入至該外部記憶體320,該改變區域r1係表示在畫框1和畫框2間不一致的區域。為重建全部畫框影像,該畫框重建器360根據該些畫框
合成指令,將改變區域r1(亦即該白色六邊形r1)的影像資料從該外部記憶體320搬移至該後緩衝器33B;接著,根據一目前畫框遮罩圖2,將未改變區域(亦即在該白色六邊形r1之外的影線區域)的影像資料從該前緩衝器33A搬移至該後緩衝器33B。在畫框2的影像被重建之後,於該顯示裝置的垂直返馳期間,再次將該二畫框緩衝器33A和33B的角色交換,使得該畫框緩衝器33B變成該前緩衝器,而該畫框緩衝器33A變成該後緩衝器。
在畫框3的影像重建期間,假設該顯像引擎310顯現一改變區域r2至該來源緩衝器,該改變區域r2係表示在畫框2和畫框3間不一致的區域。根據本發明,由兩個相鄰畫框遮罩圖可決定在三個畫框間不一致的區域。因此,為重建全部畫框影像,在根據該些畫框合成指令將該改變區域r2(型態B)的影像資料從該來源緩衝器搬移至該後緩衝器33A之後,根據二畫框遮罩圖3和2,該畫框重建器360只需將不一致的影像資料(型態C)從該前緩衝器33B拷貝至該後緩衝器33A,而無需拷貝一致(未改變區域)的影像資料(型態A)。與第5圖作比較,第6圖避免在緩衝器之間寫入一致的影資料,因此可明顯地減少記憶體存取量。
同樣地,本發明可應用在多於兩個畫框緩衝器,例如但非受限於:三畫框(triple frame)緩衝結構(具有三個畫框緩衝器)以及四畫框(quad frame)緩衝結構(具有四個
畫框緩衝器)。請注意,根據本發明,畫框遮罩圖的數目Y係少於或等於畫框緩衝器的數目X,亦即X>=Y。例如,該三畫框緩衝結構可能配合一個、兩個或三個畫框遮罩圖來操作;四畫框緩衝結構可能配合一個、兩個、三個或四個畫框遮罩圖來操作。另外,畫框遮罩圖緩衝器的數目P係大於或等於該畫框遮罩圖的數目Y,亦即P>=Y。
以上雖以實施例說明本發明,但並不因此限定本發明之範圍,只要不脫離本發明之要旨,該行業者可進行各種變形或變更,均應落入本發明之申請專利範圍。
33A、33B‧‧‧畫框緩衝器
38A、38B‧‧‧畫框遮罩圖緩衝器
300‧‧‧顯示影像裝置
310‧‧‧顯像引擎
312‧‧‧二維繪圖引擎
314‧‧‧JPEG解碼器
320‧‧‧外部記憶體
321、322‧‧‧暫時緩衝器
340‧‧‧顯示控制單元
350‧‧‧遮罩產生單元
360‧‧‧畫框重建器
371、373‧‧‧多工器
Claims (24)
- 一種顯示影像的方法,係應用於一影像顯示系統,該影像顯示系統包含一顯示裝置和多數個顯示緩衝器,該方法包含:傳送該些顯示緩衝器之一第一顯示緩衝器的內容至該顯示裝置;覆寫第一影像資料至該些顯示緩衝器之一第二顯示緩衝器,其中該第一影像資料代表在一連續畫框對(frame pair)間之更新區的多數個改變畫素的資料;根據該更新區,取得一點陣圖遮罩(bitmap mask),其中該點陣圖遮罩指出該連續畫框對間的該些改變畫素;以及根據與至少一連續畫框對有關之至少一點陣圖遮罩,覆寫第二影像資料至該第二顯示緩衝器,其中該第二影像資料係來自該第二顯示緩衝器之外的其餘顯示緩衝器。
- 如申請專利範圍第1項所記載之方法,其中在該覆寫該第一影像資料的步驟之前,更包含:顯現該第一影像資料至至少一來源緩衝器;其中,該覆寫該第一影像資料的步驟包含:根據至少一畫框合成指令,覆寫該第一影像資料至該第二顯示緩衝器,其中,該第一影像資料係來自該至少 一來源緩衝器。
- 如申請專利範圍第1項所記載之方法,其中該第一顯示緩衝器被設為一前緩衝器,而其餘顯示緩衝器被設為多個後緩衝器;以及其中,在覆寫該第二影像資料的步驟之後,更包含:根據一顯示時序訊號,將該第二顯示緩衝器設為該前緩衝器,以及將該第一顯示緩衝器設為該些後緩衝器之其一。
- 如申請專利範圍第3項所記載之方法,其中該顯示時序訊號係來自該顯示裝置的垂直同步(VS)訊號。
- 如申請專利範圍第3項所記載之方法,其中該顯示時序訊號包含從該前緩衝器被傳輸至該顯示裝置之已傳輸掃描線的數目。
- 如申請專利範圍第1項所記載之方法,其中該覆寫該第二影像資料的步驟包含:根據一目前點陣圖遮罩,將來自該第一顯示緩衝器的該第二影像資料覆寫至該第二顯示緩衝器。
- 如申請專利範圍第6項所記載之方法,其中該目前點陣圖遮罩指出在一目前畫框中,相較於一緊鄰前一張(immediately previous)畫框,之多數個改變畫素和多數個未改變畫素,以及其中該第二影像資料為該目前畫框中之該些未改變畫素的畫素值。
- 如申請專利範圍第1項所記載之方法,其中該覆寫該第二影像資料的步驟,更包含:根據一目前點陣圖遮罩和一先前點陣圖遮罩,將來自該第一顯示緩衝器的該第二影像資料覆寫至該第二顯示緩衝器。
- 如申請專利範圍第8項所記載之方法,其中該目前點陣圖遮罩指出在一目前畫框中,相較於一緊鄰前第一張畫框,之多數個改變畫素和未改變畫素,其中該先前點陣圖遮罩指出在該緊鄰前第一張畫框中,相較於一緊鄰前第二張畫框,之多數個改變畫素和未改變畫素,其中該第二影像資料為在該目前畫框中多數個特定畫素的畫素值,以及,其中該些特定畫素係在該目前畫框中未改變畫素值,但位在該緊鄰前第一張畫框中之相同位置則有改變畫素值。
- 如申請專利範圍第1項所記載之方法,其中覆寫該第二影像資料的步驟包含:根據一目前點陣圖遮罩、一緊鄰前第一張點陣圖遮罩和一緊鄰前第二張點陣圖遮罩,將該第二影像資料覆寫至該第二顯示緩衝器,其中該第二影像資料係來自該其餘顯示緩衝器之其二。
- 如申請專利範圍第10項所記載之方法,其中該目前點陣圖遮罩指出在一目前畫框中,相較於一緊鄰前第一張畫 框,之多數個改變畫素和未改變畫素,其中該緊鄰前第一張點陣圖遮罩指出在該緊鄰前第一張畫框中,相較於一緊鄰前第二張畫框,之多數個改變畫素和未改變畫素,其中該緊鄰前第二張點陣圖遮罩指出在該緊鄰前第二張畫框中,相較於一緊鄰前第三張畫框,之多數個改變畫素和未改變畫素,其中該第二影像資料為在該緊鄰前第一張畫框之多數個第一畫素的畫素值和該緊鄰前第二張畫框之多數個第二畫素的畫素值,其中該第一畫素係在該緊鄰前第一張畫框中有改變畫素值,但位在該目前畫框中之相同位置則未改變畫素值,以及其中該第二畫素係在該緊鄰前第二張畫框中有改變畫素值,但位在該目前畫框及該緊鄰前第一張畫框中之相同位置則未改變畫素值。
- 一種裝置,用以顯示影像,係應用於包含一顯示裝置的影像顯示系統,該裝置包含:多數個顯示緩衝器,用以儲存影像資料;一顯示單元,用以傳輸該些顯示緩衝器之一第一顯示緩衝器的內容至該顯示裝置;一更新單元,用以覆寫第一影像資料至該些顯示緩衝器之一第二顯示緩衝器,其中該第一影像資料代表在兩個對應相鄰畫框間之多數個更新畫素的資料;一遮罩產生單元,用以根據該些更新畫素產生一點陣 圖遮罩,其中該點陣圖遮罩指出該兩個對應相鄰畫框間的多數個改變畫素;一顯示補償單元,用以根據至少一點陣圖遮罩覆寫第二影像資料至該第二顯示緩衝器,其中該第二影像資料係來自該第二顯示緩衝器之外的其餘顯示緩衝器;以及一顯示控制單元,用以致使該顯示單元傳輸該第一顯示緩衝器的內容至該顯示裝置。
- 如申請專利範圍第12項所記載之裝置,更包含:一來源緩衝器,耦合至該更新單元,用以儲存該第一影像資料;以及一顯像引擎,耦合至該顯示控制單元,用以顯現該第一影像資料至該來源緩衝器並產生一第一狀態訊號。
- 如申請專利範圍第13項所記載之裝置,其中該顯示補償單元更產生一第二狀態訊號,指示該顯示補償單元是否完成寫入動作。
- 如申請專利範圍第14項所記載之裝置,其中該遮罩產生單元更產生一第三狀態訊號,指示是否已產生該點陣圖遮罩,其中該第一顯示緩衝器被設為一前緩衝器,而其餘顯示緩衝器被設為多數個後緩衝器,以及,其中該顯示控制單元根據一顯示時序訊號、該第一狀態訊號、該第二狀態訊號和該第三狀態訊號,致使該顯示單元傳輸該第二顯示緩衝器的內容至該顯示裝置。
- 如申請專利範圍第15項所記載之裝置,其中該顯示時序訊號係一來自該顯示裝置的垂直同步(VS)訊號。
- 如申請專利範圍第15項所記載之裝置,其中該顯示時序訊號包含從該前緩衝器被傳輸至該顯示裝置之已傳輸掃描線的數目。
- 如申請專利範圍第12項所記載之裝置,其中該顯示補償單元根據至少一目前點陣圖遮罩,將第二影像資料覆寫至該第二顯示緩衝器,其中該第二影像資料係來自該第一顯示緩衝器。
- 如申請專利範圍第18項所記載之裝置,其中該目前點陣圖遮罩指出在一目前畫框中,相較於其緊鄰前第一張(immediately previous)畫框,之多數個改變畫素和多數個未改變畫素,以及其中該第二影像資料為該目前畫框中之該些未改變畫素的畫素值。
- 如申請專利範圍第12項所記載之裝置,其中該顯示補償單元根據一目前點陣圖遮罩和一先前點陣圖遮罩,將第二影像資料覆寫至該第二顯示緩衝器,其中該第二影像資料係來自該第一顯示緩衝器。
- 如申請專利範圍第20項所記載之裝置,其中該目前點陣圖遮罩指出在一目前畫框中,相較於一緊鄰前第一張畫框,之多數個改變畫素和未改變畫素,其中該先前點陣圖遮罩指出在該緊鄰前第一張畫框中,相較於一緊鄰前 第二張畫框,之多數個改變畫素和未改變畫素,其中該第二影像資料為在該目前畫框中多數個特定畫素的畫素值,以及,其中該些特定畫素係在該目前畫框中未改變畫素值,但位在該緊鄰前第一張畫框中之相同位置則有改變畫素值。
- 如申請專利範圍第12項所記載之裝置,其中該顯示補償單元根據一目前點陣圖遮罩、一緊鄰前第一張點陣圖遮罩和一緊鄰前第二張點陣圖遮罩,將第二影像資料覆寫至該第二顯示緩衝器,其中該第二影像資料係來自該其餘顯示緩衝器之其二。
- 如申請專利範圍第22項所記載之裝置,其中該目前點陣圖遮罩指出在一目前畫框中,相較於一緊鄰前第一張畫框,之多數個改變畫素和未改變畫素,其中該緊鄰前第一張點陣圖遮罩指出在該緊鄰前第一張畫框中,相較於一緊鄰前第二張畫框,之多數個改變畫素和未改變畫素,其中該緊鄰前第二張點陣圖遮罩指出在該緊鄰前第二張畫框中,相較於一緊鄰前第三張畫框,之多數個改變畫素和未改變畫素,其中該第二影像資料為在該緊鄰前第一張畫框之多數個第一畫素的畫素值和該緊鄰前第二張畫框之多數個第二畫素的畫素值,其中該第一畫素係在該緊鄰前第一張畫框中有改變畫素值,但位在該目前畫框中之相同位置則未改變畫素值,以及其中該第 二畫素代表在該緊鄰前第二張畫框中有改變畫素值,但位在該目前畫框及該緊鄰前第一張畫框中之相同位置則未改變畫素值。
- 如申請專利範圍第12項所記載之裝置,其中該更新單元根據至少一畫框合成指令,將該第一影像資料覆寫至該第二個顯示緩衝器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102101573A TWI484472B (zh) | 2013-01-16 | 2013-01-16 | 顯示影像之方法及裝置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102101573A TWI484472B (zh) | 2013-01-16 | 2013-01-16 | 顯示影像之方法及裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201430826A TW201430826A (zh) | 2014-08-01 |
TWI484472B true TWI484472B (zh) | 2015-05-11 |
Family
ID=51796981
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102101573A TWI484472B (zh) | 2013-01-16 | 2013-01-16 | 顯示影像之方法及裝置 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI484472B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040075657A1 (en) * | 2000-12-22 | 2004-04-22 | Chua Gim Guan | Method of rendering a graphics image |
US20080165178A1 (en) * | 2005-03-30 | 2008-07-10 | Terawins, Inc. | Methods for adjusting the synchronization in digital display application |
TW201215148A (en) * | 2010-09-26 | 2012-04-01 | Mediatek Singapore Pte Ltd | Method for performing video display control within a video display system, and associated video processing circuit and video display system |
US20140125685A1 (en) * | 2012-11-06 | 2014-05-08 | Aspeed Technology Inc. | Method and Apparatus for Displaying Images |
-
2013
- 2013-01-16 TW TW102101573A patent/TWI484472B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040075657A1 (en) * | 2000-12-22 | 2004-04-22 | Chua Gim Guan | Method of rendering a graphics image |
US20080165178A1 (en) * | 2005-03-30 | 2008-07-10 | Terawins, Inc. | Methods for adjusting the synchronization in digital display application |
TW201215148A (en) * | 2010-09-26 | 2012-04-01 | Mediatek Singapore Pte Ltd | Method for performing video display control within a video display system, and associated video processing circuit and video display system |
US20140125685A1 (en) * | 2012-11-06 | 2014-05-08 | Aspeed Technology Inc. | Method and Apparatus for Displaying Images |
Also Published As
Publication number | Publication date |
---|---|
TW201430826A (zh) | 2014-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9129581B2 (en) | Method and apparatus for displaying images | |
JP3442252B2 (ja) | ソフトウェアによるmpegデコーダに対してyuvデータフォーマット変換を支援するハードウェア | |
US6587112B1 (en) | Window copy-swap using multi-buffer hardware support | |
US8665282B2 (en) | Image generating apparatus and image generating method and reading of image by using plural buffers to generate computer readable medium | |
JP2010535382A (ja) | ピクセルをアップデートバッファから供給する方法 | |
JP2007271908A (ja) | マルチ画像生成装置 | |
JP4263190B2 (ja) | 映像合成回路 | |
JP2004280125A (ja) | ビデオ/グラフィックメモリシステム | |
TW389857B (en) | Image drawing apparatus | |
TW201510931A (zh) | 描繪裝置 | |
US10672367B2 (en) | Providing data to a display in data processing systems | |
JPWO2014050845A1 (ja) | グラフィックス描画装置 | |
JPH1074263A (ja) | コンピュータ・グラフィックス・システム | |
CN109643462B (zh) | 基于渲染引擎的实时图像处理方法以及显示设备 | |
TWI484472B (zh) | 顯示影像之方法及裝置 | |
JPH04174497A (ja) | 表示制御装置 | |
JP2005322233A (ja) | 大型のオーバーレイされたカメラ画像を圧縮符号化するためのメモリ効率の良い方法及び装置 | |
JP3481913B2 (ja) | 画像処理装置 | |
JP2005266792A (ja) | 大型のオーバーレイされたカメラ画像を表示するためのメモリ効率の良い方法及び装置 | |
JP2006276269A (ja) | 画像表示装置、画像表示方法及びそのプログラム | |
JPH10187124A (ja) | 描画装置および描画方法 | |
JP3985451B2 (ja) | 画像処理装置および画像表示装置 | |
CN116886860A (zh) | 实现电子后视镜显示摄像头视频的方法、装置、处理器及其计算机可读存储介质 | |
JP2013213898A (ja) | 表示装置 | |
JP2829932B2 (ja) | 画像形成装置 |