CN110231968A - 改进图形界面的渲染的方法和处理器 - Google Patents
改进图形界面的渲染的方法和处理器 Download PDFInfo
- Publication number
- CN110231968A CN110231968A CN201810182298.0A CN201810182298A CN110231968A CN 110231968 A CN110231968 A CN 110231968A CN 201810182298 A CN201810182298 A CN 201810182298A CN 110231968 A CN110231968 A CN 110231968A
- Authority
- CN
- China
- Prior art keywords
- address
- content
- buffer
- graphical interfaces
- rendering
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 40
- 238000000034 method Methods 0.000 title claims abstract description 28
- 239000000872 buffer Substances 0.000 claims abstract description 123
- 238000006243 chemical reaction Methods 0.000 claims abstract description 74
- 230000004044 response Effects 0.000 claims abstract description 13
- 230000008859 change Effects 0.000 claims description 4
- 238000003860 storage Methods 0.000 description 21
- 230000003139 buffering effect Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 230000000454 anti-cipatory effect Effects 0.000 description 4
- 238000000926 separation method Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 239000012536 storage buffer Substances 0.000 description 2
- 240000001439 Opuntia Species 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004091 panning Methods 0.000 description 1
- 239000002699 waste material Substances 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
- 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
- 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
- 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)
- Image Generation (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Image Input (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明提出用于改进图形界面的渲染的方法和处理器。其中上述方法包括:响应于所述图形界面的至少一个区域中的平移请求,获取偏移向量;以及响应于用于访问所述区域的缓冲器的地址,根据所述偏移向量将所述地址转换成转换地址,从而执行地址转换。通过利用本发明,可减少渲染的资源需求。
Description
技术领域
本发明涉及用于改进图形界面的渲染(rendering)的方法和处理器,更具体地,涉及改进平移(panning)渲染的方法和处理器。
背景技术
诸如移动电话、智能电话、数码相机、便携式相机、便携式/手持式/平板/笔记本电脑、游戏机、导航仪和/或可穿戴装置等之类的现代电子设备已广泛地采用图形界面,例如用于显示文本、文档、图像、绘图、照片、网页和/或视频等。
在图形界面上,平移是最常见的活动之一。举例来说,平移可以包括向上和/或向下垂直滚动项目列表、聊天记录或网页,水平地向左和/或向右滑动全景照片,以及沿着结合垂直和水平方向的斜方向移动图像以观看图像的不同部分。
发明内容
本发明提出一种用于改进图形界面的渲染的方法,包括:响应于所述图形界面的至少一个区域中的平移请求,获取偏移向量;以及响应于用于访问所述区域的缓冲器的地址,根据所述偏移向量将所述地址转换成转换地址,从而执行地址转换。
本发明另提出一种用于改进图形界面的渲染的处理器,包括:访问电路,用于访问缓冲器;以及地址转换器,耦接所述访问电路,用于:响应于所述图形界面的至少一个区域中的平移请求,获得偏移向量,并响应于用于访问所述区域的所述缓冲器的地址,根据所述偏移向量将所述地址转换成转换地址,从而执行地址转换,然后使得所述访问电路访问所述缓冲器的所述转换地址。
通过利用本发明,可减少渲染的资源需求。
结合附图阅读以下本发明实施例的详细描述,本发明的许多目的、特征和优点将变得显而易见。然而,这里使用的附图是为了描述的目的,不应认为其是限制性的。
附图说明
在阅读以下详细描述和附图之后,本发明的上述目的和优点对于本领域普通技术人员来说将变得更加显而易见,其中:
图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可以是执行图形处理软件和/或固件的硬件图形处理单元(graphicprocessing 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 (20)
1.一种用于改进图形界面的渲染的方法,其特征在于,包括:
响应于所述图形界面的至少一个区域中的平移请求,获取偏移向量;以及
响应于用于访问所述区域的缓冲器的地址,根据所述偏移向量将所述地址转换成转换地址,从而执行地址转换。
2.如权利要求1所述的用于改进图形界面的渲染的方法,其特征在于,所述偏移向量是所述图形界面的生成器根据所述平移请求而提供的。
3.如权利要求1所述的用于改进图形界面的渲染的方法,其特征在于,当所述图形界面的生成器请求在所述缓冲器写入地址时,所述地址转换被执行。
4.如权利要求1所述的用于改进图形界面的渲染的方法,其特征在于,当所述图形界面的使用器请求读取所述缓冲器的地址时,所述地址转换被执行。
5.如权利要求1所述的用于改进图形界面的渲染的方法,其特征在于,所述平移请求使得所述区域从第一内容变为第二内容,并且所述地址转换用于使得所述第二内容的第二像素的地址被转换为存储所述第一内容的第一像素的地址,以及所述第一像素的位置与所述第二像素的位置通过所述偏移向量的反向向量分离。
6.如权利要求1所述的用于改进图形界面的渲染的方法,其特征在于,所述平移请求使得所述区域从第一内容变为第二内容,并且所述地址转换用于使得所述第一内容的像素的地址和所述第二内容的相同像素的地址分别被转换为两个不同的地址。
7.如权利要求1所述的用于改进图形界面的渲染的方法,其特征在于,所述平移请求沿着对齐所述区域的边界的方向,使得所述区域从第一内容改变到第二内容;所述地址转换使得所述第一内容的角落像素的地址被转换为第一地址,并且使得所述第二内容的所述角落像素的地址被转换为第二地址;以及所述方法进一步包括:
在分配给所述区域的所述缓冲器的地址中,从所述第一地址沿着与所述方向相反的方向延伸到所述第二地址,并沿垂直于所述方向的第二方向更新所述缓冲器;以及
所述缓冲器中分配给所述区域的其他地址保持不变。
8.如权利要求1所述的用于改进图形界面的渲染的方法,其特征在于,所述平移请求沿着水平方向和垂直方向结合的方向,使所述区域从第一内容改变到第二内容;所述地址转换使得所述第一内容的角落像素的地址被转换为第一地址,并且使所述第二内容的所述角落像素的地址被转换为第二地址;以及所述方法进一步包括:
在分配给所述区域的所述缓冲器的地址中,从所述第一地址沿着垂直方向上的相反方向延伸到所述第二地址,并水平方向上横跨延伸的区域更新所述缓冲器;
从所述第一地址沿着水平方向上的相反方向延伸到所述第二地址,并且垂直方向上横跨延伸的区域更新所述缓冲器;以及
所述缓冲器中分配给所述区域的其他地址保持不变。
9.如权利要求1所述的用于改进图形界面的渲染的方法,其特征在于,所述地址转换由硬件地址转换器执行。
10.如权利要求1所述的用于改进图形界面的渲染的方法,其特征在于,所述偏移向量通过所述图形界面的生成器调用的应用程序接口获取。
11.如权利要求1所述的用于改进图形界面的渲染的方法,其特征在于,所述平移请求使所述区域从第一内容改变为第二内容;所述第一内容包括所述第二内容未包括的第一部分,所述第二内容包括所述第一内容未包括的第二部分,且所述地址转换用于使得对应所述第二部分的地址被转换成存储所述第一部分的地址。
12.一种用于改进图形界面的渲染的处理器,其特征在于,包括:
访问电路,用于访问缓冲器;以及
地址转换器,耦接所述访问电路,用于:响应于所述图形界面的至少一个区域中的平移请求,获得偏移向量,并响应于用于访问所述区域的所述缓冲器的地址,根据所述偏移向量将所述地址转换成转换地址,从而执行地址转换,然后使得所述访问电路访问所述缓冲器的所述转换地址。
13.如权利要求12所述的用于改进图形界面的渲染的处理器,其特征在于,所述偏移向量是所述图形界面的生成器根据所述平移请求而提供的。
14.如权利要求12所述的用于改进图形界面的渲染的处理器,其特征在于,当所述图形界面的生成器请求在所述缓冲器写入地址时,所述地址转换被执行。
15.如权利要求12所述的用于改进图形界面的渲染的处理器,其特征在于,当所述图形界面的使用器请求读取所述缓冲器的地址时,所述地址转换被执行。
16.如权利要求12所述的用于改进图形界面的渲染的处理器,其特征在于,所述平移请求使得所述区域从第一内容变为第二内容,并且所述地址转换用于使得所述第二内容的第二像素的地址被转换为存储所述第一内容的第一像素的地址,以及所述第一像素的位置与所述第二像素的位置通过所述偏移向量的反向向量分离。
17.如权利要求12所述的用于改进图形界面的渲染的处理器,其特征在于,所述平移请求使得所述区域从第一内容变为第二内容,并且所述地址转换用于使得所述第一内容的像素的地址和所述第二内容的相同像素的地址分别被转换为两个不同的地址。
18.如权利要求12所述的用于改进图形界面的渲染的处理器,其特征在于,所述平移请求沿着对齐所述区域的边界的方向,使得所述区域从第一内容改变到第二内容;所述地址转换使得所述第一内容的角落像素的地址被转换为第一地址,并且使得所述第二内容的所述角落像素的地址被转换为第二地址;以及所述地址转换器进一步通过以下方式形成所述缓冲器中的内容:
在分配给所述区域的所述缓冲器的地址中,从所述第一地址沿着与所述方向相反的方向延伸到所述第二地址,并沿垂直于所述方向的第二方向更新所述缓冲器;以及
所述缓冲器中分配给所述区域的其他地址保持不变。
19.如权利要求12所述的用于改进图形界面的渲染的处理器,其特征在于,所述平移请求沿着水平方向和垂直方向结合的方向,使所述区域从第一内容改变到第二内容;所述地址转换使得所述第一内容的角落像素的地址被转换为第一地址,并且使所述第二内容的所述角落像素的地址被转换为第二地址;以及所述地址转换器进一步通过以下方式形成所述缓冲器中的内容:
在分配给所述区域的所述缓冲器的地址中,从所述第一地址沿着垂直方向上的相反方向延伸到所述第二地址,并水平方向上横跨延伸的区域更新所述缓冲器;
从所述第一地址沿着水平方向上的相反方向延伸到所述第二地址,并且垂直方向上横跨延伸的区域更新所述缓冲器;以及
所述缓冲器中分配给所述区域的其他地址保持不变。
20.如权利要求19所述的用于改进图形界面的渲染的处理器,其特征在于,所述平移请求使所述区域从第一内容改变为第二内容;所述第一内容包括所述第二内容未包括的第一部分,所述第二内容包括所述第一内容未包括的第二部分,且所述地址转换用于使得对应所述第二部分的地址被转换成存储所述第一部分的地址。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810182298.0A CN110231968A (zh) | 2018-03-06 | 2018-03-06 | 改进图形界面的渲染的方法和处理器 |
US15/925,905 US20190279601A1 (en) | 2018-03-06 | 2018-03-20 | Method and processor for improving rendering of graphic interface |
TW107113577A TWI663540B (zh) | 2018-03-06 | 2018-04-20 | 改進圖形介面的渲染的方法和處理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810182298.0A CN110231968A (zh) | 2018-03-06 | 2018-03-06 | 改进图形界面的渲染的方法和处理器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110231968A true CN110231968A (zh) | 2019-09-13 |
Family
ID=67764241
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810182298.0A Withdrawn CN110231968A (zh) | 2018-03-06 | 2018-03-06 | 改进图形界面的渲染的方法和处理器 |
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 (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1111464A (zh) * | 1993-06-30 | 1995-11-08 | 世嘉企业股份有限公司 | 图像处理装置及其方法和带图像处理装置的电子装置 |
CN1697483A (zh) * | 2004-05-13 | 2005-11-16 | 索尼公司 | 图像显示装置 |
CN101071551A (zh) * | 2006-05-11 | 2007-11-14 | 索尼株式会社 | 图像处理装置和方法、图像形成装置和方法、以及程序 |
CN101661715A (zh) * | 2008-08-26 | 2010-03-03 | 深圳艾科创新微电子有限公司 | 一种放大图像平移显示的装置及方法 |
CN103838505A (zh) * | 2012-11-21 | 2014-06-04 | 宏达国际电子股份有限公司 | 于外部显示装置上显示触控装置的画面的方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR960015395B1 (ko) * | 1993-04-09 | 1996-11-11 | 대우전자 주식회사 | 움직임벡터 검출장치 |
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 | 삼성전자주식회사 | 더블 버퍼링을 이용한 화상 데이터 출력 제어장치 |
US9213556B2 (en) * | 2012-07-30 | 2015-12-15 | Vmware, Inc. | Application directed user interface remoting using video encoding techniques |
US9229612B2 (en) * | 2013-08-27 | 2016-01-05 | Industrial Technology Research Institute | Electronic device, controlling method for screen, and program storage medium thereof |
US9727136B2 (en) * | 2014-05-19 | 2017-08-08 | Microsoft Technology Licensing, Llc | Gaze detection calibration |
CN104077056B (zh) * | 2014-06-27 | 2017-05-10 | 广州视睿电子科技有限公司 | 屏幕显示页面的平移方法和系统 |
-
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 (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1111464A (zh) * | 1993-06-30 | 1995-11-08 | 世嘉企业股份有限公司 | 图像处理装置及其方法和带图像处理装置的电子装置 |
CN1697483A (zh) * | 2004-05-13 | 2005-11-16 | 索尼公司 | 图像显示装置 |
CN101071551A (zh) * | 2006-05-11 | 2007-11-14 | 索尼株式会社 | 图像处理装置和方法、图像形成装置和方法、以及程序 |
CN101661715A (zh) * | 2008-08-26 | 2010-03-03 | 深圳艾科创新微电子有限公司 | 一种放大图像平移显示的装置及方法 |
CN103838505A (zh) * | 2012-11-21 | 2014-06-04 | 宏达国际电子股份有限公司 | 于外部显示装置上显示触控装置的画面的方法 |
Also Published As
Publication number | Publication date |
---|---|
US20190279601A1 (en) | 2019-09-12 |
TWI663540B (zh) | 2019-06-21 |
TW201939256A (zh) | 2019-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9232139B2 (en) | Image stabilization using striped output transformation unit | |
US8009174B2 (en) | Processing a data array with a meandering scanning order using a circular buffer memory | |
US8805119B2 (en) | Image rendering device, image rendering method, and recording medium | |
US20030222892A1 (en) | Method and apparatus for display image adjustment | |
WO2023019974A1 (zh) | 文档图像的矫正方法、装置、电子设备和存储介质 | |
US10176560B2 (en) | Multi-block memory reads for image de-warping | |
TWI698834B (zh) | 用於圖形處理之方法及裝置 | |
CN105190701A (zh) | 基于原语的合成 | |
US8908964B2 (en) | Color correction for digital images | |
JP4492567B2 (ja) | 画像処理装置および画像処理方法、並びにプログラム | |
CN110231968A (zh) | 改进图形界面的渲染的方法和处理器 | |
JP4909144B2 (ja) | 画像認識装置及び画像回転処理方法 | |
JP4487959B2 (ja) | 画像処理装置および画像処理方法、並びにプログラム | |
CN108428211A (zh) | 图像的处理方法、装置和机器可读介质 | |
JP3921496B1 (ja) | 画像変換方法および画像変換装置 | |
CN104268098A (zh) | 一种用于超高清视频帧率上变换的片上缓存系统 | |
US9424808B2 (en) | Image cropping manipulation method and portable electronic device | |
WO2007055067A1 (ja) | 情報処理装置、グラフィックプロセッサ、制御用プロセッサおよび情報処理方法 | |
JP5787637B2 (ja) | 画像処理装置、画像処理方法 | |
CN107273072B (zh) | 图片显示方法、装置及电子设备 | |
WO2018214779A1 (zh) | 一种绘制方法及装置 | |
JP2015138403A (ja) | 画像処理装置、画像処理方法及びプログラム | |
US20070198783A1 (en) | Method Of Temporarily Storing Data Values In A Memory | |
US20240320921A1 (en) | Late stage reprojection using tessellated mesh | |
US20230134779A1 (en) | Adaptive Mesh Reprojection for Low Latency 6DOF Rendering |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20190913 |