TWI663540B - 改進圖形介面的渲染的方法和處理器 - Google Patents
改進圖形介面的渲染的方法和處理器 Download PDFInfo
- Publication number
- TWI663540B TWI663540B TW107113577A TW107113577A TWI663540B TW I663540 B TWI663540 B TW I663540B TW 107113577 A TW107113577 A TW 107113577A TW 107113577 A TW107113577 A TW 107113577A TW I663540 B TWI663540 B TW I663540B
- Authority
- TW
- Taiwan
- Prior art keywords
- address
- content
- buffer
- area
- addresses
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000009877 rendering Methods 0.000 title claims abstract description 17
- 239000000872 buffer Substances 0.000 claims abstract description 130
- 238000013519 translation Methods 0.000 claims abstract description 42
- 239000013598 vector Substances 0.000 claims abstract description 42
- 238000006243 chemical reaction Methods 0.000 claims abstract description 33
- 230000004044 response Effects 0.000 claims abstract description 10
- 230000014616 translation Effects 0.000 description 33
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 230000007704 transition Effects 0.000 description 6
- 238000004091 panning Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000012536 storage buffer Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/34—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators for rolling or scrolling
- G09G5/346—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators for rolling or scrolling for systems having a bit-mapped display memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/20—Linear translation of whole images or parts thereof, e.g. panning
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/34—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators for rolling or scrolling
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
- G09G5/393—Arrangements for updating the contents of the bit-mapped memory
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
- G09G5/395—Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2310/00—Command of the display device
- G09G2310/04—Partial updating of the display screen
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/04—Changes in size, position or resolution of an image
- G09G2340/0464—Positioning
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/18—Use of a frame buffer in a display terminal, inclusive of the display panel
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Image Generation (AREA)
- Image Input (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本發明提出用於改進圖形介面的渲染的方法和處理器。其中方法包括:響應於所述圖形介面的至少一個區域中的平移請求,獲取偏移向量;以及響應於用於存取所述區域的緩衝器的位址,根據所述偏移向量將所述位址轉換成轉換位址,從而執行位址轉換。
Description
本發明係相關於用於改進圖形介面的渲染(rendering)的方法和處理器,尤指改進平移(panning)渲染的方法和處理器。
諸如行動電話、智慧型電話、數碼相機、可擕式相機、可擕式/掌上型/平板/筆記型電腦、遊戲機、導航儀和/或可穿戴裝置等之類的現代電子設備已廣泛地採用圖形介面,例如用於顯示文本、文檔、圖像、繪圖、照片、網頁和/或視頻等。
在圖形介面上,平移是最常見的活動之一。舉例來說,平移可以包括向上和/或向下垂直滾動項目列表、聊天記錄或網頁,水平地向左和/或向右滑動全景照片,以及沿著結合垂直和水平方向的斜方向移動圖像以觀看圖像的不同部分。
下面所述之發明內容僅是說明性的,不意在以任何方式對本發明進行限定。也就是說,本部分提供的內容用於介紹本發明新穎的、不顯而易見的概念、亮點、益處和優勢。選取的實施方式將在下面的具體實施方式中做進一步描述。因
此,下面所述之發明內容既不是為了確定本發明所要求保護的主題的本質特徵,也不是用於確定本發明所要求保護的範圍。
本發明提出一種用於改進圖形介面的渲染的方法,包括:響應於所述圖形介面的至少一個區域中的平移請求,獲取偏移向量;以及響應於用於存取所述區域的緩衝器的位址,根據所述偏移向量將所述位址轉換成轉換位址,從而執行位址轉換。
本發明另提出一種用於改進圖形介面的渲染的處理器,包括:存取電路,用於存取緩衝器;以及位址轉換器,耦接所述存取電路,用於:響應於所述圖形介面的至少一個區域中的平移請求,獲得偏移向量,並響應於用於存取所述區域的所述緩衝器的位址,根據所述偏移向量將所述位址轉換成轉換位址,從而執行位址轉換,然後使得所述存取電路存取所述緩衝器的所述轉換位址。
100‧‧‧位址轉換器
102‧‧‧生成器
104‧‧‧使用器
106‧‧‧存取電路
108‧‧‧熒幕
110‧‧‧緩衝器
112‧‧‧API
120‧‧‧處理器
130‧‧‧電子設備
200‧‧‧流程
202-206‧‧‧步驟
302、402‧‧‧頂端欄
304、404‧‧‧底端欄
200‧‧‧SS塊
300‧‧‧廣播通道和DMRS的分配
510‧‧‧通訊設備
512、522‧‧‧處理器
514、524‧‧‧記憶體
513、526‧‧‧收發機
520‧‧‧網路設備
600、700、800、900‧‧‧進程
610-630、710-720、810-820、910-920‧‧‧方塊
附圖可用來進一步理解本發明,並包含在本發明中,作為本發明的組成部分。附圖用來說明本發明的實施方式,以與文字描述一起解釋本發明的原理。
第1圖是本發明一實施例的電子設備的示意圖;第2圖是本發明一實施例的流程圖;第3a圖是第1圖中所示的生成器和使用器預期的平移和與緩衝器內容相關的圖形內容的示意圖;第3b圖是本發明中用於第3a圖中所示的平移渲染的位址轉換下的物理緩衝器內容的示意圖;
第4a圖是第1圖中所示的生成器和使用器預期的平移和與緩衝器內容相關的圖形內容的示意圖;第4b圖是本發明中用於第4a圖中所示的平移渲染的位址轉換下的物理緩衝器內容的示意圖。
請參閱第1圖,第1圖是本發明一實施例的電子設備130的示意圖。電子設備130可以是行動電話、智慧手機、數碼相機、可擕式攝像機、可擕式/掌上型/平板/筆記型電腦、遊戲機、導航儀或者可穿戴裝置等。電子設備130可包括處理器120、緩衝器110和螢幕108。處理器120可包括位址轉換器100和耦接緩衝器110的存取電路106。位址轉換器100可耦接在圖形介面的生成器(producer)102、圖形介面的使用器(consumer)104和存取電路106之間。存取電路106可根據地址轉換器100提供的位址存取(例如,讀取和寫入)緩衝器110。
生成器102可以是執行圖形處理軟體和/或韌體的硬體圖形處理單元(graphic processing unit,GPU)、中央處理單元(central processing unit,CPU)或邏輯電路。生成器102可以渲染(例如,計算、生成和/或更新)圖形內容(例如,訊框),並且可以請求存取緩衝器110的位址以將圖形內容寫入緩衝器110。
另一方面,使用器104可以請求存取緩衝器110的位址以從緩衝器110中讀取圖形內容。在一實施例中,使用器104可以是耦接螢幕108的顯示控制器(嵌入在處理器120
中或者在處理器120外部),並且可以控制螢幕108來顯示從緩衝器110讀取的圖形內容。在一實施例中,使用器104可以是圖形編碼器和/或解碼器,用於編碼和/或解碼從緩衝器110讀取的圖形內容。在一個實施例中,使用器104可以是連接非易失性記憶體的介面電路,用於將從緩衝器110讀取的圖形內容傳輸到非易失性記憶體。
例如,可以通過參考第3a圖(現有技術)來理解生成器102和使用器104的操作。第3a圖顯示了一個場景,其中具有偏移向量(0,y1)的第一垂直平移和具有偏移向量(0,y2)的第二垂直平移分別使得圖形介面從訊框f0轉換為訊框f1,以及從訊框f1轉換為訊框f2。如此一來,通過依次將訊框f0的內容c0(顯示文本「項目A」到「項目I」)轉換為訊框f1的內容c1(顯示文本「項目C」到「項目K」)以及轉換為訊框f2的內容c2(顯示文本「項目D」到「項目L」),每個訊框的圖形區域R中顯示的垂直條目(例如,文本「項目A」和「項目B」)列表向上滾動。其中,圖形區域R在頂端欄302和底端欄304之間,在位置pTL、pBL、pTR和pBR具有4個角落像素。在緩衝器110中,可以將從位址a0到位址aE的緩衝區域M分配給圖形區域R的內容。
生成器102和使用器104都可預期緩衝區域M的位址a0和aE分別用於圖形區域R的位置pTL和pBR的角落像素,因此可以預期從位址a0到aE的緩衝器內容反映了從位置pTL到pBR的像素的圖形內容。
例如,為了顯示內容c0,使用器104可以請求向
右向下讀取緩衝器內容b0的位址a0到aE,以獲取圖形內容c0的位置pTL到pBR處的像素。
在從具有內容c0的訊框f0轉換為具有內容c1的訊框f1期間,基於緩衝區域M的位址a0到aE可以反映內容c1的位置pTL到pBR處的像素的預期,生成器102可以預期在緩衝區域M中形成緩衝器內容b1。隨後基於相同的預期,使用器104可以請求讀取緩衝器110的位址a0至aE,以從位置pTL到pBR向右和向下顯示內容c1。
類似地,在從具有內容c1的訊框f1轉換為具有內容c2的訊框f2期間,基於緩衝器內容b2的位址a0到aE可以反映內容c2的位置pTL到pBR處的像素的預期,生成器102可以預期在緩衝區域M中形成緩衝器內容b2。隨後基於相同的預期,使用器104可以請求讀取位址a0至aE,以顯示從位置pTL到pBR的內容c2。
換句話說,與平移的方向和幅度無關,生成器102和使用器104都可以用於請求位址a0,以獲取位置pTL處的左上角像素;並且請求位址aE,以獲取位置pBR處的右下角像素。在這種固定的位址-像素映射下,生成器102和使用器104都可以預期從位址a0到aE的緩衝器內容b0、b1和b2恰好等於從位置pTL到pBR的圖形內容c0、c1和c2。然而,這種固定的位址-像素映射可能會導致資源(功率、時間、匯流排頻寬等)的顯著浪費,因為緩衝區域M的緩衝器內容需要從內容b0完全更新為內容b1和b2。例如,為了從訊框f0轉換為f1,當形成緩衝器內容b1時,需要將存儲緩衝器內容b0
的文本「項目C」到「項目I」的位址更新為存儲文本「項目E」到「項目K」,即使緩衝器內容b1也包括文本「項目C」到「項目I」。類似地,為了從訊框f1轉換為f2,當形成緩衝器內容b2時,需要將存儲緩衝器內容b1的文本「項目D」到「項目K」的位址更新為存儲文本「項目E」到「項目L」,即使緩衝器內容b2也包括文本「項目D」到「項目K」。
請結合第1圖參考第2圖,第2圖是根據本發明一實施例的流程200的示意圖。為了克服上述問題,當圖形介面的圖形區域R中發生具有平移偏移向量(x,y)的平移,並導致圖形區域R從訊框f[i-1]的內容c[i-1]轉換為相鄰訊框f[i]的內容c[i](未示出)時,處理器120可以採用第2圖中的流程200以通過位址轉換器100的操作來改進平移的渲染(例如,內容c[i]的渲染)。如第2圖中所示,生成器102、使用器104、存取電路106和位址轉換器110的主要步驟和協作可以描述如下。
步驟202:響應於圖形區域R中的平移偏移向量(x,y),生成器102可以提供Offset[x,y]的值以反映偏移向量(x,y),以及提供Region[left,top,width,height]的值來反映圖形區域R的位置和範圍,並且可以將Offset[x,y]和Region[left,top,width,height]的值作為兩個輸入參數從而調用應用程式介面(Application Programming Interface,API)112(第1圖)。通過API 112,位址轉換器100可以獲得偏移向量(x,y)和圖形區域R。在一些實施例中,位址轉換器100可以通過諸如直接從生成器102中獲取等其他方式獲得偏移向
量(x,y)和圖形區域R。在一實施例中,上述偏移向量由生成器102根據平移請求提供。
步驟204:當生成器102和/或使用器104請求存取緩衝器110的位址時,響應於該位址,位址轉換器100可以通過根據在步驟202中獲得的偏移向量(x,y),將請求位址轉換成轉換位址(translated address)來執行位址轉換。
步驟206:位址轉換器100可以將轉換位址而不是原始的請求位址發送到存取電路106,並且因此使存取電路106能夠存取緩衝器110的轉換位址,而不是請求位址。
例如,當生成器102請求將像素值(其可以包括多個顏色分量)寫入請求位址時,位址轉換器100可以在步驟204中將請求位址轉換成轉換位址;以及在步驟206中,使得存取電路106能夠將像素值寫入轉換位址而非請求位址。類似地,當使用器104請求從請求位址讀取資料(例如,像素值)時,位址轉換器100可以在步驟204中將請求位址轉換成轉換位址;以及在步驟206中,使得存取電路106能夠讀取並返回存儲在轉換位址中的像素值,而不是存儲在請求位址中的像素值。
繼續第3a圖中所示的例子,請一併參考第3b圖。第3b圖是流程200中位址轉換下的物理緩衝器存取的示意圖。在第3a圖和3b中,具有偏移向量(0,y1)的第一平移導致圖形區域R從內容c0轉換到內容c1。為了通過流程200渲染內容c1,如第3b圖所示,步驟204中的位址轉換可以使對應內容c1的位置pTL處的像素的位址O[1]=a0被轉換成存
儲內容c0的位置pa0處的像素的位址a1,其中幾何位置pa0通過在步驟202中獲得的偏移向量(0,y1)的反向向量(0,-y1)與幾何位置pTL分離。換句話說,在步驟204中執行的位址轉換可以通過將轉換值與請求位址相加來將請求位址轉換為轉換位址,其中轉換值可以反映位址a1和a0之間的差。如果請求位址和轉換值的總和超過緩衝區域M的底部或頂部邊界一垂直超出值,則結果轉換位址可以從垂直超出值所界定的相反端(頂部或底部)迴圈返回。類似地,如果請求位址和轉換值的總和超過緩衝區域M的右邊界或左邊界一水平超出值,則結果的轉換位址可以從水平超出值界定的相反端(左邊或右邊)迴圈返回。例如,如第3b圖所示,當生成器102或使用器104針對內容c1的位置pBL和pBR處的角落像素請求緩衝區域M的位址aL和aE時,位址轉換器100可將位址aL轉換成從頂部迴圈返回在位址a1之上的位址aL1,以及將位址aE轉換成位址aE1。
如第3a圖中所解釋的,在從內容c0轉換為內容c1期間,生成器102可以基於緩衝區域M中從位址a0到aE的內容能夠反映從位置pTL到pBR處的內容c1的預期進行操作。因為位址轉換器100可以將位址a0到aE轉換為位址a1到aE1(步驟204),所以如第3b圖所示,生成器102的操作實際上可以形成緩衝器內容B1(步驟206),而不是第3a圖所示的預期緩衝器內容b1。從位址a1(由位址a0轉換)向下並從頂部迴圈到位址aE1(由位址aE轉換),緩衝器內容B1可以存儲文本「項目C」到「項目I」和「項目J」到「項目K」,
並且可以實際反映內容c1,其從位置pTL到位置pBR顯示文本「項目C」到「項目K」。因此,當使用器104針對內容c1的位置pTL至位置pBR處的像素請求位址a0至aE時,位址轉換器100可以將位址a0至aE轉換為位址a1至aE1(步驟204),並且使存取電路106讀取緩衝器內容B1的位址a1至aE1(步驟206)以正確顯示圖形內容c1。
當由緩衝器內容b0形成緩衝器內容B1(步驟206)時,由於位址轉換(步驟204),生成器102可能不需要更新存儲文本「項目C」到「項目I」的位址,因此可以顯著減少資源浪費。如第3b圖所示,位址轉換器100與生成器102的協作可通過更新緩衝區域M中的一小部分(在緩衝器內容B1中用點劃線示出),即從地址a0向下垂直延伸至地址a1以及水平橫跨緩衝區域M的位址處,來形成緩衝器內容B1(步驟206),以便用文本「項目J」和「項目K」代替緩衝器內容b0的原始文本「項目A」和「項目B」。
在第3a圖和第3b圖的示例中,具有偏移向量(0,y2)的第二平移導致圖形區域R從內容c1轉換為內容c2。為了通過流程200來渲染內容c2,如第3b圖所示,步驟204中的位址轉換可以使對應內容c2的位置pTL處的像素的位址O[2]=a0被轉換成存儲內容c1的位置pa1處的像素的位址a2,其中位置pa1通過在步驟202中獲得的偏移向量(0,y2)的反向向量(0,-y2)與位置pa0分離。換句話說,在步驟204中執行的位址轉換可以通過將請求位址和可以反映偏移向量的大小和方向的轉換值相加,來將請求位址轉換成轉換位
址。例如,如第3b圖所示,當生成器102或使用器104針對內容c2的位置pBL和pBR處的角落像素請求位址aL和aE時,位址轉換器100可將位址aL轉換成從頂部迴圈返回在位址a2之上的位址aL2,並將位址aE轉換成位址aE2。
因為位址轉換器100可以將位址a0至aE轉換成位址a2至aE2(步驟204),所以生成器102的操作實際上形成第3b圖所示的緩衝器內容B2(步驟206),而非第3a圖所示的預期緩衝器內容b2。位址轉換器100和生成器102的協作可以通過更新緩衝區域M中的一小部分(在第3b圖中的緩衝器內容B2中用點劃線示出),即從地址a1向下垂直延伸至地址a2以及水平橫跨緩衝區域M的位址處,來形成緩衝器內容B1(步驟206),以便用文本「項目L」代替原始文本「項目C」。另一方面,位址轉換器100可使得生成器102在其餘位址保持不變,即存儲文本「項目D」到「項目I」和「項目J」到「項目K」的位址保持不變。隨後,使用器104可以針對內容c2的位置pTL到pBR處的像素請求位址a0到aE,而位址轉換器100可以將位址a0到aE轉換成位址a2到aE2(步驟204),並且使得存取電路106讀取緩衝器內容B2的位址a2到aE2(步驟206)以正確地顯示圖形內容c2。因為緩衝器內容B2從位址a2(由位址a0轉換)向下迴圈到位址aE2(由位址aE轉換)存儲的文本「項目D」到「項目I」和「項目J」到「項目L」實際反映了內容c2,其從位置pTL到pBR顯示文本「項目D」到「項目L」。
請注意,在第3a圖和第3b圖所示的例子中,由
位址轉換器100執行的位址轉換可以用於使得第一內容(例如,c1)的像素(例如位置pTL的像素)的位址(例如,a0)和第二內容(例如,c2)的相同像素的位址(例如,a0)分別被轉換為兩個不同的位址(例如,a1和a2)。
還要注意的是,響應于對齊緩衝區域M的邊界方向上的平移(例如,沿著垂直向上方向的第二平移),可使得圖形區域R從第一內容(例如,c1)轉換為第二內容(例如,c2)。如果位址轉換器100使得第一內容的角落像素(例如,位置pTL處的像素)的位址(例如,a0)被轉換為第一位址(例如,a1),以及使得第二內容的角落像素的位址被轉換為第二位址(例如,a2),則位址轉換器100可以使得緩衝區域M的內容(例如,B2)通過以下步驟形成:從第一位址沿著相反方向延伸到第二位址(例如,從位址a1沿著垂直向下方向延伸到a2),以及沿垂直於該方向的第二方向(例如,沿著垂直於垂直方向的水平方向延伸橫跨緩衝區域M)更新緩衝器110,並且為圖形區域R分配的其他地址保持不變。
另外,需要注意的是,若平移(例如,具有偏移向量(0,y2)的第二平移)導致圖形區域R從第一內容(例如,c1)轉換為第二內容(例如c2),第一內容可以包括第二內容未包括的第一部分(例如,文本「項目C」),第二內容可以包括第一內容未包括的第二部分(例如,文本「項目L」),並且步驟204中的位址轉換可以用於使得對應第二部分的位址能夠被轉換為存儲第一部分的位址(例如,使得將對應文本「項目L」的位址轉換為原始在緩衝器內容B1中存儲文本「項目C」
的位址),以便更新緩衝區域M的工作量最少,因為除存儲第一部分的位址以外的其餘位址可以保持不變。
作為另一個示例,第4a圖(現有技術)和4b示出了這樣的情景,其中具有偏移向量(x1,y1)的第一平移和具有偏移向量(x2,y2)的第二平移分別使圖形介面從訊框F0轉換為訊框F1,以及從訊框F1轉換為訊框F2,因此在每個訊框的圖形區域R(在頂端欄402和底端欄404之間,在位置pTL、pBL、pTR和pBR具有四個角落像素)顯示的多個方框內文本(例如方框內文本「11」和「86」)被移動,從而從訊框F0的內容C0依次轉換為訊框F1的內容C1和訊框F2的內容C2。在緩衝器110中,緩衝區域M中從位址a0延伸到位址aE的區域可以分配給圖形區域R。
生成器102和使用器104都可預期緩衝區域M的位址a0到aE的內容可反映位置pTL到pBR的圖形內容。例如,為了顯示內容C0,使用器104可針對圖形內容C0的位置pTL到pBR處的像素,請求向右向下讀取緩衝器內容bb0中的位址a0到aE。
在從具有內容C0的訊框F0轉換為具有內容C1的訊框F1期間,生成器102可以基於緩衝器內容bb1的位址a0到aE可以反映內容C1的位置pTL到pBR處的像素的預期,來預期在緩衝器M中形成緩衝器內容bb1。隨後基於相同的預期,使用器104可以請求讀取緩衝器110中的位址a0至aE,以顯示從位置pTL至pBR的內容C1。
在從具有內容C1的訊框F1轉換為具有內容C2
的訊框F2期間,生成器102可以基於緩衝器內容bb2的位址a0到aE可以反映內容C2的位置pTL到pBR處的像素的預期,來預期在緩衝器M中形成緩衝器內容bb2。隨後基於相同的預期,使用器104可以請求讀取緩衝器110中的位址a0至aE,以顯示從位置pTL至pBR的內容C2。
在第4a圖和第4b圖的示例中,具有偏移向量(x1,y1)的第一平移導致圖形區域R從內容C0轉換為內容C1。為了通過流程200渲染內容C1,如第4b圖所示,步驟204中的位址轉換可以使對應內容c1的位置pTL處的像素的位址O[1]=a0被轉換成存儲內容c0的位置pb0處的像素的位址a1,其中位置pb0通過在步驟202中獲得的偏移向量(x1,y1)的反向向量(-x1,-y1)與位置pTL分離。換句話說,在步驟204中執行的位址轉換可以通過將請求位址和轉換值相加來將請求位址轉換成轉換位址,其中轉換值可以反映位址a1和a0之間的差。例如,如第4b圖所示,當生成器102或使用器104針對內容C1的位置pBL和pBR處的角落像素請求位址aL和aE時,位址轉換器100可將位址aL轉換成從緩衝區域M的頂部迴圈返回在地址a1之上的位址aL1,以及將位址aE轉換成從緩衝區域M的頂部迴圈返回在地址a1之上,並且從緩衝區域M的右邊界迴圈返回在地址aL1左側的地址aE1。
因為位址轉換器100可以將位址a0至aE轉換成位址a1至aE1(步驟204),所以生成器102的操作實際上形成第4b圖所示的緩衝器內容Bb1(步驟206),而非第4a圖所示的預期緩衝器內容bb1。位址轉換器100和生成器102的
協作可以通過更新緩衝區域M的一小部分(在第4b圖中的緩衝器內容Bb1中用點劃線示出)來由緩衝器內容bb0形成緩衝器內容Bb1(步驟206)。該部分可以包括從位址a0向下垂直延伸至位址a1以及水平橫跨緩衝區域M的位址(即原始存儲內容bb0的方框內文本「11」到「26」的地址),以及從地址a0向右水平延伸至地址a1以及垂直橫跨緩衝區域M的位址(即原始存儲內容bb0的方框內文本「11」到「81」的地址)。因此,內容bb0的方框內文本「11」、「81」和「26」等可以用方框內文本「97」、「87」和「A6」等代替。另一方面,位址轉換器100可以使得生成器102能夠保持其餘位址不變,即方框內文本「32」至「86」的地址保持不變。隨後,使用器104可針對內容C1的位置pTL到pBR處的像素請求位址a0到aE,位址轉換器100可將位址a0到aE轉換為位址a1到aE1(步驟204),並且使得存取電路106讀取緩衝器內容Bb1的位址a1至aE1(步驟206)以正確顯示圖形內容C1,因為緩衝器內容Bb1從位址a1(由位址a0轉換)向下和向右並迴圈到位址aE1(由位址aE轉換)存儲方框內文本「32」至「A7」,以實際反映內容C1,其從位置pTL到pBR顯示方框內文本「32」到「A7」。
在第4a圖和第4b圖的示例中,具有偏移向量(x2,y2)的第二平移導致圖形區域R從內容C1轉換為內容C2。為了通過流程200渲染內容C2,如第4b圖所示,步驟204中的位址轉換可以使對應內容c2的位置pTL處的像素的位址O[2]=a0被轉換成存儲內容c1的位置pb1處的像素的位址a2,
其中位置pb1通過在步驟202中獲得的偏移向量(x2,y2)的反向向量(-x2,-y2)與位置pTL分離。換句話說,在步驟204中執行的位址轉換可以通過將請求位址和轉換值相加來將請求位址轉換成轉換位址,其中轉換值可以反映位址a2和a0之間的差異。例如,如第4b圖所示,當生成器102或使用器104針對內容C2的位置pBL和pBR處的角落像素請求位址aL和aE時,位址轉換器100可將位址aL轉換成從緩衝區域M的頂部迴圈返回在地址a1之上的位址aL2,以及將位址aE轉換成從緩衝區域M的頂部迴圈返回在地址a2之上,並且從緩衝區域M的右邊界迴圈返回在地址aL2左側的地址aE2。
因為位址轉換器100可以將位址a0至aE轉換成位址a2至aE2(步驟204),所以生成器102的操作實際上形成第4b圖所示的緩衝器內容Bb2(步驟206),而非第4a圖所示的預期緩衝器內容bb2。位址轉換器100和生成器102的協作可以通過更新緩衝器M的一小部分(在第4b圖中的緩衝器內容Bb2中用點劃線示出)來由緩衝器內容Bb1形成緩衝器內容Bb2(步驟206),該部分可以包括從位址a1向下垂直延伸直到位址a2以及水平橫跨緩衝區域M的位址(即原始存儲內容Bb1的方框內文本「37」到「36」的地址),以及從地址a1向右水平延伸至地址a2以及垂直橫跨緩衝區域M的位址(即原始存儲內容Bb1的方框內文本「92」到「83」的地址)。因此,內容Bb1的方框內文本「37」到「36」和「92」到「83」可以用方框內文本「B7」到「B6」和「98」到「89」等代替。另一方面,位址轉換器100可以使得生成器102能夠保持其餘
位址不變,即方框內文本「44」至「86」,「97」至「A7」,「94」到「A6」和「47」到「87」的地址保持不變。
請注意,在第4a圖和第4b圖所示的例子中,由位址轉換器100執行的位址轉換可以用於使得第一內容(例如,C1)的像素(例如位置pTL的像素)的位址(例如,a0)和第二內容(例如,C2)的相同像素的位址(例如,a0)分別被轉換為兩個不同的位址(例如,a1和a2)。
還要注意的是,既沿著水平方向(例如,向左方向)又沿著垂直方向(例如,向上方向)平移可使得圖形區域R從第一內容(例如,C1)轉換為第二內容(例如,C2)。如果位址轉換器100使第一內容的角落像素(例如,位置pTL處的像素)的位址(例如,a0)被轉換為第一位址(例如,a1),並且使第二內容的角落像素的位址被轉換為第二位址(例如,a2),則位址轉換器100可以使得緩衝區域M的內容(例如,Bb2)通過以下步驟來形成:從第一位址沿著垂直方向上的相反方向(例如,向下)延伸到第二位址,並水平橫跨緩衝區域M進行更新(例如,在原來存儲內容Bb1的方框內文本「37」到「36」的位址更新為存儲方框內文本「B7」到「B6」);以及從第一位址沿著水平方向上的相反方向(例如,向右)延伸到第二位址,並垂直橫跨緩衝區域M進行更新(例如,在原始存儲內容Bb1的方框內文本「92」到「83」的位址更新為存儲方框內文本「98」到「89」);以及另一方面,為圖形區域R分配的其他地址保持不變。
另外,需要注意的是,若平移(例如,具有偏移
向量(x2,y2)的第二平移)導致圖形區域R從第一內容(例如,C1)轉換為第二內容(例如C2),第一內容可以包括第二內容未包括的第一部分(例如,文本「33」),第二內容可以包括第一內容未包括的第二部分(例如,文本「B9」),並且步驟204中的位址轉換可以用於使得第二部分的位址能夠被轉換為存儲第一部分的位址(例如,使得將對應文本「B9」的位址轉換為原始在緩衝器內容Bb1中存儲文本「33」的位址),以便更新緩衝區域M的工作量最少。
此外,雖然在第4a圖和第4b圖的實施例中,偏移向量(x1,y1)與(x2,y2)中的x1、y1、x2、y2均為非0值,但在不同的實施例中,x1、y1、x2與y2中的一個或多個可為0值。換句話說,既沿著水平方向又沿著垂直方向平移包含了水平方向偏移向量為0以及/或者垂直方向偏移向量為0的實施例。
總而言之,本發明可以通過轉換生成器和/或使用器請求的位址來減少平移渲染的資源需求。位址轉換可以由位址轉換器執行,並且可不被生成器和/或使用器知曉。例如,如第4a圖和第4b圖所示,生成器102和/或使用器104可以按照緩衝區域M的內容是內容bb2操作(第4a圖),而位址轉換實際上可以使緩衝器M的內容成為內容Bb2(第4b圖),從而減少渲染的資源需求。因此,生成器和/或使用器的設計、實施和操作可以保持不變,從而最小化實施位址轉換的成本。在一實施例中,位址轉換器可以是滿足高解析度圖形介面的高速需求的硬體。在另一個實施例中,位址轉換器可以是軟體、
韌體、硬體或其組合。
通過前面的論述,應理解到本發明已經為了示例的目的描述了本發明的各實施方式,並且可以在不偏離本發明的範圍和精髓的情況下進行各種改進。因此,本發明所公開的各個實施方式不意在限制,真正的範圍和精髓是通過隨附的申請專利範圍表示的。
Claims (5)
- 一種用於改進一圖形介面的渲染的方法,包括:響應於所述圖形介面的至少一個區域中的一平移請求,獲取一偏移向量;以及響應於用於存取所述區域的一緩衝器的一位址,根據所述偏移向量將所述位址轉換成一轉換位址,從而執行一位址轉換,其中所述平移請求沿著對齊所述區域的一邊界的一方向,使得所述區域從一第一內容改變到一第二內容;所述位址轉換使得所述第一內容的一角落像素的一位址被轉換為一第一位址,並且使得所述第二內容的所述角落像素的一位址被轉換為一第二位址;以及所述方法進一步包括:在分配給所述區域的所述緩衝器的位址中,從所述第一位址沿著與所述方向相反的一方向延伸到所述第二位址,並沿垂直於所述方向的一第二方向更新所述緩衝器;以及所述緩衝器中分配給所述區域的其他位址保持不變。
- 如申請專利範圍第1項所述之用於改進圖形介面的渲染的方法,其中所述偏移向量是所述圖形介面的一生成器根據所述平移請求而提供的。
- 一種用於改進一圖形介面的渲染的方法,包括:響應於所述圖形介面的至少一個區域中的一平移請求,獲取一偏移向量;以及響應於用於存取所述區域的一緩衝器的一位址,根據所述偏移向量將所述位址轉換成一轉換位址,從而執行一位址轉換,其中所述平移請求沿著一水平方向和一垂直方向結合的一方向,使所述區域從一第一內容改變到一第二內容;所述位址轉換使得所述第一內容的一角落像素的一位址被轉換為一第一位址,並且使所述第二內容的所述角落像素的位址被轉換為一第二位址;以及所述方法進一步包括:在分配給所述區域的所述緩衝器的位址中,從所述第一位址沿著垂直方向上的一相反方向延伸到所述第二位址,並水平方向上橫跨延伸的區域更新所述緩衝器;從所述第一位址沿著水平方向上的一相反方向延伸到所述第二位址,並且垂直方向上橫跨延伸的區域更新所述緩衝器;以及所述緩衝器中分配給所述區域的其他位址保持不變。
- 如申請專利範圍第1項所述之用於改進圖形介面的渲染的方法,其中所述偏移向量是所述圖形介面的一生成器根據所述平移請求而提供的。
- 一種用於改進圖形介面的渲染的處理器,包括:一存取電路,用於存取一緩衝器;以及一位址轉換器,耦接所述存取電路,用於:響應於所述圖形介面的至少一個區域中的一平移請求,獲得一偏移向量,並響應於用於存取所述區域的所述緩衝器的一位址,根據所述偏移向量將所述位址轉換成一轉換位址,從而執行一位址轉換,然後使得所述存取電路存取所述緩衝器的所述轉換位址,其中所述平移請求沿著對齊所述區域的一邊界的一方向,使得所述區域從一第一內容改變到一第二內容;所述位址轉換使得所述第一內容的一角落像素的一位址被轉換為一第一位址,並且使得所述第二內容的所述角落像素的一位址被轉換為一第二位址;以及所述位址轉換用於在分配給所述區域的所述緩衝器的位址中,從所述第一位址沿著與所述方向相反的一方向延伸到所述第二位址,並沿垂直於所述方向的一第二方向更新所述緩衝器;以及所述緩衝器中分配給所述區域的其他位址保持不變。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810182298.0A CN110231968A (zh) | 2018-03-06 | 2018-03-06 | 改进图形界面的渲染的方法和处理器 |
??201810182298.0 | 2018-03-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI663540B true TWI663540B (zh) | 2019-06-21 |
TW201939256A TW201939256A (zh) | 2019-10-01 |
Family
ID=67764241
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107113577A TWI663540B (zh) | 2018-03-06 | 2018-04-20 | 改進圖形介面的渲染的方法和處理器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20190279601A1 (zh) |
CN (1) | CN110231968A (zh) |
TW (1) | TWI663540B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI739342B (zh) * | 2019-03-14 | 2021-09-11 | 聯詠科技股份有限公司 | 顯示驅動器裝置和顯示驅動器裝置的操作方法以及顯示裝置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5502492A (en) * | 1993-04-09 | 1996-03-26 | Daewoo Electronics Co., Ltd. | Motion vector detection apparatus |
CN104077056A (zh) * | 2014-06-27 | 2014-10-01 | 广州视睿电子科技有限公司 | 屏幕显示页面的平移方法和系统 |
TW201508618A (zh) * | 2013-08-27 | 2015-03-01 | Ind Tech Res Inst | 電子裝置、螢幕之控制方法及其程式儲存媒體 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BR9405492A (pt) * | 1993-06-30 | 1999-09-08 | Sega Enterprises Kk | Sistema de processamento de imagem e seu processo e sistema eletronico que possui um sistema de processamento de imagem. |
DE10052695B4 (de) * | 2000-10-24 | 2004-04-08 | Infineon Technologies Ag | Verfahren zur Verschiebung eines auf einer Anzeigeneinheit darzustellenden Bilds sowie entsprechende Vorrichtung |
KR100440405B1 (ko) * | 2001-11-19 | 2004-07-14 | 삼성전자주식회사 | 더블 버퍼링을 이용한 화상 데이터 출력 제어장치 |
JP4225241B2 (ja) * | 2004-05-13 | 2009-02-18 | ソニー株式会社 | 画像表示装置 |
JP4129802B2 (ja) * | 2006-05-11 | 2008-08-06 | ソニー株式会社 | 画像処理装置および方法、画像形成装置および方法、並びにプログラム |
CN101661715B (zh) * | 2008-08-26 | 2012-10-03 | 深圳艾科创新微电子有限公司 | 一种放大图像平移显示的装置及方法 |
US9213556B2 (en) * | 2012-07-30 | 2015-12-15 | Vmware, Inc. | Application directed user interface remoting using video encoding techniques |
US20140139431A1 (en) * | 2012-11-21 | 2014-05-22 | Htc Corporation | Method for displaying images of touch control device on external display device |
US9727136B2 (en) * | 2014-05-19 | 2017-08-08 | Microsoft Technology Licensing, Llc | Gaze detection calibration |
-
2018
- 2018-03-06 CN CN201810182298.0A patent/CN110231968A/zh not_active Withdrawn
- 2018-03-20 US US15/925,905 patent/US20190279601A1/en not_active Abandoned
- 2018-04-20 TW TW107113577A patent/TWI663540B/zh not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5502492A (en) * | 1993-04-09 | 1996-03-26 | Daewoo Electronics Co., Ltd. | Motion vector detection apparatus |
TW201508618A (zh) * | 2013-08-27 | 2015-03-01 | Ind Tech Res Inst | 電子裝置、螢幕之控制方法及其程式儲存媒體 |
CN104077056A (zh) * | 2014-06-27 | 2014-10-01 | 广州视睿电子科技有限公司 | 屏幕显示页面的平移方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
TW201939256A (zh) | 2019-10-01 |
US20190279601A1 (en) | 2019-09-12 |
CN110231968A (zh) | 2019-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9373308B2 (en) | Multi-viewport display of multi-resolution hierarchical image | |
JP6884797B2 (ja) | アプリケーションプログラム処理方法及び端末デバイス | |
CN107209693B (zh) | 缓冲器优化 | |
TWI364714B (en) | Caching method and apparatus for video motion compensation | |
JP5830496B2 (ja) | ディスプレイコントローラおよび画面転送装置 | |
JP2018534607A (ja) | プリフェッチを用いた効率的な表示処理 | |
US8805119B2 (en) | Image rendering device, image rendering method, and recording medium | |
JP4742051B2 (ja) | 空間・時間モーションブラー効果の生成方法 | |
US9449585B2 (en) | Systems and methods for compositing a display image from display planes using enhanced blending hardware | |
US20200376375A1 (en) | Method and apparatus for performing client side latency enhancement with aid of cloud game server side image orientation control | |
TWI749756B (zh) | 借助於合成器生成一系列訊框方法和裝置 | |
TWI663540B (zh) | 改進圖形介面的渲染的方法和處理器 | |
US9047846B2 (en) | Screen synthesising device and screen synthesising method | |
CN111901660A (zh) | 一种图像显示方法、终端、电子设备及存储介质 | |
CN109196548B (zh) | 用于在高分辨率显示器上提供多个屏幕区域的机制 | |
TWI698834B (zh) | 用於圖形處理之方法及裝置 | |
US11169683B2 (en) | System and method for efficient scrolling | |
JP6249692B2 (ja) | 画像処理装置、その制御方法及びプログラム | |
TW201901620A (zh) | 一種繪製方法及裝置 | |
JP5025351B2 (ja) | 画像処理装置および画像処理方法 | |
WO2016192060A1 (en) | Low power video composition using a stream out buffer | |
WO2018214779A1 (zh) | 一种绘制方法及装置 | |
WO2024087971A1 (zh) | 用于图像处理的方法、装置及存储介质 | |
TWI783625B (zh) | 用於圖框率控制的晶片組與相關的影像處理方法 | |
JP6476500B2 (ja) | 画像処理システム、遊技機 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |