用于選擇性顯示刷新的方法和設備的制造方法
【專利說明】用于選擇性顯示刷新的方法和設備
[0001]優(yōu)先權
[0002]本申請是下列專利申請的非臨時申請并要求其優(yōu)先權:2012年9月5日提交的標題為 “METHOD AND DEVICE FOR SELECTIVE DISPLAY REFRESH” 的美國臨時專利申請?zhí)?1/697,261 和 2013年9 月 5 日提交的標題為“METHOD AND DEVICE FOR SELECTIVE DISPLAYREFRESH”的美國專利申請?zhí)?4/018,869,這兩個專利申請的公開特此通過引用被明確地并入。
[0003]本公開的領域
[0004]本公開涉及用于提供在用于顯示的視覺數(shù)據(jù)的幀(例如圖形一其包括視頻數(shù)據(jù)一的幀)的處理期間的效率的方法和設備。本公開更具體地涉及用于選擇性地更新幀的被更新的片段的方法和設備。
[0005]背景
[0006]雙緩沖或基于交換鏈的OS圖形接口使用軟件和/或硬件加速混合和幀緩沖交換鏈的組合來產(chǎn)生待顯示的最終幀緩沖區(qū)。交換鏈是用于向用戶顯示幀的一組緩沖區(qū)。每當應用顯現(xiàn)新的幀用于顯示時,在交換鏈中的下一緩沖區(qū)就取代當前顯示的緩沖區(qū)(屏幕/前置緩沖區(qū))。這個過程被稱為交換或反轉(zhuǎn)。因為圖形處理器簡單地使用表面的指針來代表前置緩沖區(qū),所以簡單的指針改變是將后置緩沖區(qū)設置為前置緩沖區(qū)的所有所需的東西。對于每個緩沖區(qū)反轉(zhuǎn),整個緩沖區(qū)被傳遞到顯示控制器用于輸出或顯示。
[0007]然而在很多實例中,屏幕的較大部分不在連續(xù)的幀之間改變。因此對于這個較大部分,幀的讀取、處理和公布/輸出導致在顯示設備(面板)上顯現(xiàn)的內(nèi)容中無改變。因此,在向顯示設備提供幀時擴展的處理能力和能量(功率)的一部分未能導致對那個努力的可以感覺到的獎勵。
[0008]在2004年公布的視頻電子標準協(xié)會(VESA)數(shù)字分組視頻鏈接(DVPL)標準提到有部分屏幕刷新的可能性,其中未改變部分不刷新,但該標準沒有提供關于這將如何實現(xiàn)的細節(jié)或解釋。
[0009]因此,存在對提供新的幀數(shù)據(jù)到顯示設備的傳輸而不需要整個幀的傳輸?shù)母倪M的方法和裝置。
[0010]附圖簡述
[0011]圖1是示出在本發(fā)明的某些方面的實施方案中的基于交換鏈的圖形接口的架構的圖;
[0012]圖2是示出在本發(fā)明的某些方面的實施方案中的使用網(wǎng)格系統(tǒng)和寫檢測功能的基于交換鏈的圖形接口的圖;
[0013]圖3是示出在本發(fā)明的某些方面的實施方案中的示例性緩沖區(qū)和由此保持的幀以及其通過圖形接口的處理的圖;以及
[0014]圖4是示出在本發(fā)明的某些方面的實施方案中的由圖1的架構執(zhí)行的過程的流程圖。
[0015]實施方案的詳細描述
[0016]在示例性和非限制性實施方案中,在提供圖像幀的方法中體現(xiàn)方面。方法包括輸出第一幀的相對于一個或多個其它幀已改變的部分而不輸出第一幀的相對于一個或多個其它幀未改變的部分。如果渲染引擎在每個部分的邊界內(nèi)的位置已寫到幀緩沖區(qū),則該部分被確定為有所改變。這個輸出響應于第一幀的一個或多個部分相對于一個或多個其它幀已改變而完成。
[0017]簡要地,在另一示例性實施方案中,提供顯示刷新設備,其包括:操作來將圖像信息寫到一個或多個存儲緩沖區(qū)的渲染引擎;多個存儲緩沖區(qū),每個存儲緩沖區(qū)具有多個部分;多個存儲緩沖區(qū)中的每個的多個部分中的每個的改變狀態(tài)的指示器,如果渲染引擎在每個部分的邊界內(nèi)的位置已寫到幀存儲緩沖區(qū),則該部分被確定為有所改變;以及顯示控制器,其操作來解釋指示器以選擇性地從多個存儲緩沖區(qū)的第一存儲緩沖區(qū)讀出部分。
[0018]在另一示例性實施方案中,提供了計算機可讀介質(zhì),其上具有非臨時指令。當指令由處理器解釋時,它們使處理器:確定第一幀的一個或多個部分相對于一個或多個其它幀是否已改變;確定第一幀的一個或多個部分相對于一個或多個其它幀是否未改變,如果植染引擎在每個部分的邊界內(nèi)的位置已寫到幀緩沖區(qū),則該部分被確定為有所改變;以及輸出第一幀的相對于一個或多個其它幀已改變的部分而不輸出第一幀的相對于一個或多個其它幀未改變的部分。
[0019]在又一示例性實施方案中,提供顯示內(nèi)容的方法。該方法包括從接口接收視頻信號數(shù)據(jù),包括部分幀,部分幀是在幀緩沖區(qū)中的幀的那些部分,其中渲染引擎在部分的邊界內(nèi)的位置已寫到幀緩沖區(qū);以及將部分幀添加到另一幀的部分以創(chuàng)建組合幀。
[0020]圖1示出用于向顯示器(面板18)提供視頻信息的架構。架構示出基于交換鏈的圖形接口。接口包括改變確定器10、渲染引擎12、存儲器14、顯示控制器16和面板18。
[0021]渲染引擎12是將圖像的規(guī)范轉(zhuǎn)換成表示像素的數(shù)據(jù)的軟件或硬件。在一個例子中,渲染引擎12不同于存儲控制器。在另一實施方案中,渲染引擎12是也包括存儲控制器的集成電路的子系統(tǒng)。顯示控制器16是負責在計算或游戲系統(tǒng)中產(chǎn)生視頻信號的集成電路。術語“顯示控制器”的使用并不意欲排除顯示處理器或圖形處理單元。實際上,顯示控制器16意欲包括能夠從緩沖區(qū)20讀出圖像信息并引導它以顯示在面板18上的任何軟件和/或硬件。面板18是允許圖像的像素的用戶感知的任何顯示設備。
[0022]“交換鏈”指位于存儲器14內(nèi)的多個虛擬幀緩沖區(qū)20。虛擬幀緩沖區(qū)20的序列用于幀率穩(wěn)定化和幾個其它功能。交換鏈被顯示為存在于圖形存儲器中,但它也可存在于系統(tǒng)存儲器中。在沒有交換鏈的情況下,掃描殘跡和/或不完整的圖像更新渲染可產(chǎn)生。很多圖形應用編程接口(API)需要交換鏈的存在和利用。
[0023]被稱為屏幕緩沖區(qū)的幀緩沖區(qū)20之一是由顯示控制器16讀取以輸出到面板18的緩沖區(qū)20。每當新幀被顯示時,在交換鏈中的第一后置緩沖區(qū)取代屏幕緩沖區(qū)。這被稱為顯現(xiàn)或交換。一旦被顯現(xiàn),屏幕緩沖區(qū)就返回到交換鏈的后面用于進一步處理。緩沖區(qū)20的這個運動不是空間運動,而更確切地是概念運動和通過指定的運動。通過在顯示控制器16中的參考來實現(xiàn)幀緩沖區(qū)20被指定為屏幕緩沖區(qū)。通過在顯示控制器16中編程來實現(xiàn)改變,其中緩沖區(qū)20被指定為屏幕緩沖區(qū)。顯示控制器16改變它指定哪個幀緩沖區(qū)20作為屏幕緩沖區(qū),并依賴于該緩沖區(qū)20來使下一幀被顯現(xiàn)到面板18。一旦幀從屏幕緩沖區(qū)20取回且渲染引擎12指示在交換鏈中的下一緩沖區(qū)20準備好,則屏幕緩沖區(qū)的內(nèi)部指定就切換到交換鏈中的下一緩沖區(qū)20。圖3示出在三緩沖區(qū)鏈中的緩沖區(qū)20的概念運動。在圖3的每行中,最右邊的緩沖區(qū)是指定的平面緩沖區(qū)。
[0024]在本公開的實施方案中,每個幀且因此每個緩沖區(qū)經(jīng)由“掩碼”分割(虛擬地)成有限的子區(qū)段。在本公開中,掩碼子元素是矩形。圖2示出在緩沖區(qū)20上的幀的概念子分區(qū)。作為例子,圖2示出分成24個子區(qū)段22的每個幀。掩碼假定提供具有相同的尺寸和位置的子區(qū)段22的每個緩沖區(qū)20。
[0025]在三緩沖區(qū)系統(tǒng)中,每個緩沖區(qū)操縱每第三個幀。數(shù)據(jù)源11引導渲染引擎以將像素寫到緩沖區(qū)20。可以是處理器執(zhí)行軟件或可以是專用硬件的改變確定器10確定哪些像素(或如下討論的存儲緩沖區(qū)20的哪些部分)對于相對于存儲緩沖區(qū)20上次被使用而渲染的當前幀被寫入。(在三緩沖區(qū)系統(tǒng)中,這將是在當前幀之前的三個幀。)在另一實施方案中,改變確定器10確定在待渲染的當前幀和三個以前渲染的幀之間哪些像素(或部分)已改變。
[0026]在一個實施方案中,數(shù)據(jù)源11提供渲染引擎12只寫入當前幀的相對于對緩沖區(qū)20的以前寫入已改變(或在最后三個幀內(nèi)已改變)的像素。雖然對緩沖區(qū)20的寫入并不總是已知指示改變,但是任何寫入被假設指示改變。
[0027]當像素經(jīng)由渲染引擎12渲染到當前后置緩沖區(qū)20時,通過改變確定器10做出關于當前后置緩沖區(qū)20的哪些部分(子區(qū)段22)(圖2)由渲染引擎12寫入的確定。這個信息存儲在存儲器14中