CN104641412A - 用于选择性显示刷新的方法和设备 - Google Patents
用于选择性显示刷新的方法和设备 Download PDFInfo
- Publication number
- CN104641412A CN104641412A CN201380046073.8A CN201380046073A CN104641412A CN 104641412 A CN104641412 A CN 104641412A CN 201380046073 A CN201380046073 A CN 201380046073A CN 104641412 A CN104641412 A CN 104641412A
- Authority
- CN
- China
- Prior art keywords
- frame
- buffer
- buffer zone
- segments
- sub
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1415—Digital output to display device ; Cooperation and interconnection of the display device with other functional units with means for detecting differences between the image stored in the host and the images displayed on the displays
-
- 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/399—Control of the bit-mapped memory using two or more bit-mapped memories, the operations of which are switched in time, e.g. ping-pong buffers
-
- 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
- G09G2320/00—Control of display operating conditions
- G09G2320/10—Special adaptations of display systems for operation with variable images
- G09G2320/103—Detection of image changes, e.g. determination of an index representative of the image change
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2350/00—Solving problems of bandwidth in display systems
-
- 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
-
- 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
Abstract
提供了用于提供图像帧的方法和设备。该方法包括输出第一帧的相对于一个或多个其它帧已改变的部分而不输出第一帧的相对于一个或多个其它帧未改变的部分。如果渲染引擎在每个部分的边界内的位置已写到帧缓冲区,则该部分被确定为有所改变。这个输出响应于第一帧的一个或多个部分相对于一个或多个其它帧已改变而完成。
Description
优先权
本申请是下列专利申请的非临时申请并要求其优先权:2012年9月5日提交的标题为“METHOD AND DEVICE FOR SELECTIVEDISPLAY REFRESH”的美国临时专利申请号61/697,261和2013年9月5日提交的标题为“METHOD AND DEVICE FOR SELECTIVEDISPLAY REFRESH”的美国专利申请号14/018,869,这两个专利申请的公开特此通过引用被明确地并入。
本公开的领域
本公开涉及用于提供在用于显示的视觉数据的帧(例如图形—其包括视频数据—的帧)的处理期间的效率的方法和设备。本公开更具体地涉及用于选择性地更新帧的被更新的片段的方法和设备。
背景
双缓冲或基于交换链的OS图形接口使用软件和/或硬件加速混合和帧缓冲交换链的组合来产生待显示的最终帧缓冲区。交换链是用于向用户显示帧的一组缓冲区。每当应用显现新的帧用于显示时,在交换链中的下一缓冲区就取代当前显示的缓冲区(屏幕/前置缓冲区)。这个过程被称为交换或反转。因为图形处理器简单地使用表面的指针来代表前置缓冲区,所以简单的指针改变是将后置缓冲区设置为前置缓冲区的所有所需的东西。对于每个缓冲区反转,整个缓冲区被传递到显示控制器用于输出或显示。
然而在很多实例中,屏幕的较大部分不在连续的帧之间改变。因此对于这个较大部分,帧的读取、处理和公布/输出导致在显示设备(面板)上显现的内容中无改变。因此,在向显示设备提供帧时扩展的处理能力和能量(功率)的一部分未能导致对那个努力的可以感觉到的奖励。
在2004年公布的视频电子标准协会(VESA)数字分组视频链接(DVPL)标准提到有部分屏幕刷新的可能性,其中未改变部分不刷新,但该标准没有提供关于这将如何实现的细节或解释。
因此,存在对提供新的帧数据到显示设备的传输而不需要整个帧的传输的改进的方法和装置。
附图简述
图1是示出在本发明的某些方面的实施方案中的基于交换链的图形接口的架构的图;
图2是示出在本发明的某些方面的实施方案中的使用网格系统和写检测功能的基于交换链的图形接口的图;
图3是示出在本发明的某些方面的实施方案中的示例性缓冲区和由此保持的帧以及其通过图形接口的处理的图;以及
图4是示出在本发明的某些方面的实施方案中的由图1的架构执行的过程的流程图。
实施方案的详细描述
在示例性和非限制性实施方案中,在提供图像帧的方法中体现方面。方法包括输出第一帧的相对于一个或多个其它帧已改变的部分而不输出第一帧的相对于一个或多个其它帧未改变的部分。如果渲染引擎在每个部分的边界内的位置已写到帧缓冲区,则该部分被确定为有所改变。这个输出响应于第一帧的一个或多个部分相对于一个或多个其它帧已改变而完成。
简要地,在另一示例性实施方案中,提供显示刷新设备,其包括:操作来将图像信息写到一个或多个存储缓冲区的渲染引擎;多个存储缓冲区,每个存储缓冲区具有多个部分;多个存储缓冲区中的每个的多个部分中的每个的改变状态的指示器,如果渲染引擎在每个部分的边界内的位置已写到帧存储缓冲区,则该部分被确定为有所改变;以及显示控制器,其操作来解释指示器以选择性地从多个存储缓冲区的第一存储缓冲区读出部分。
在另一示例性实施方案中,提供了计算机可读介质,其上具有非临时指令。当指令由处理器解释时,它们使处理器:确定第一帧的一个或多个部分相对于一个或多个其它帧是否已改变;确定第一帧的一个或多个部分相对于一个或多个其它帧是否未改变,如果渲染引擎在每个部分的边界内的位置已写到帧缓冲区,则该部分被确定为有所改变;以及输出第一帧的相对于一个或多个其它帧已改变的部分而不输出第一帧的相对于一个或多个其它帧未改变的部分。
在又一示例性实施方案中,提供显示内容的方法。该方法包括从接口接收视频信号数据,包括部分帧,部分帧是在帧缓冲区中的帧的那些部分,其中渲染引擎在部分的边界内的位置已写到帧缓冲区;以及将部分帧添加到另一帧的部分以创建组合帧。
图1示出用于向显示器(面板18)提供视频信息的架构。架构示出基于交换链的图形接口。接口包括改变确定器10、渲染引擎12、存储器14、显示控制器16和面板18。
渲染引擎12是将图像的规范转换成表示像素的数据的软件或硬件。在一个例子中,渲染引擎12不同于存储控制器。在另一实施方案中,渲染引擎12是也包括存储控制器的集成电路的子系统。显示控制器16是负责在计算或游戏系统中产生视频信号的集成电路。术语“显示控制器”的使用并不意欲排除显示处理器或图形处理单元。实际上,显示控制器16意欲包括能够从缓冲区20读出图像信息并引导它以显示在面板18上的任何软件和/或硬件。面板18是允许图像的像素的用户感知的任何显示设备。
“交换链”指位于存储器14内的多个虚拟帧缓冲区20。虚拟帧缓冲区20的序列用于帧率稳定化和几个其它功能。交换链被显示为存在于图形存储器中,但它也可存在于系统存储器中。在没有交换链的情况下,扫描残迹和/或不完整的图像更新渲染可产生。很多图形应用编程接口(API)需要交换链的存在和利用。
被称为屏幕缓冲区的帧缓冲区20之一是由显示控制器16读取以输出到面板18的缓冲区20。每当新帧被显示时,在交换链中的第一后置缓冲区取代屏幕缓冲区。这被称为显现或交换。一旦被显现,屏幕缓冲区就返回到交换链的后面用于进一步处理。缓冲区20的这个运动不是空间运动,而更确切地是概念运动和通过指定的运动。通过在显示控制器16中的参考来实现帧缓冲区20被指定为屏幕缓冲区。通过在显示控制器16中编程来实现改变,其中缓冲区20被指定为屏幕缓冲区。显示控制器16改变它指定哪个帧缓冲区20作为屏幕缓冲区,并依赖于该缓冲区20来使下一帧被显现到面板18。一旦帧从屏幕缓冲区20取回且渲染引擎12指示在交换链中的下一缓冲区20准备好,则屏幕缓冲区的内部指定就切换到交换链中的下一缓冲区20。图3示出在三缓冲区链中的缓冲区20的概念运动。在图3的每行中,最右边的缓冲区是指定的平面缓冲区。
在本公开的实施方案中,每个帧且因此每个缓冲区经由“掩码”分割(虚拟地)成有限的子区段。在本公开中,掩码子元素是矩形。图2示出在缓冲区20上的帧的概念子分区。作为例子,图2示出分成24个子区段22的每个帧。掩码假定提供具有相同的尺寸和位置的子区段22的每个缓冲区20。
在三缓冲区系统中,每个缓冲区操纵每第三个帧。数据源11引导渲染引擎以将像素写到缓冲区20。可以是处理器执行软件或可以是专用硬件的改变确定器10确定哪些像素(或如下讨论的存储缓冲区20的哪些部分)对于相对于存储缓冲区20上次被使用而渲染的当前帧被写入。(在三缓冲区系统中,这将是在当前帧之前的三个帧。)在另一实施方案中,改变确定器10确定在待渲染的当前帧和三个以前渲染的帧之间哪些像素(或部分)已改变。
在一个实施方案中,数据源11提供渲染引擎12只写入当前帧的相对于对缓冲区20的以前写入已改变(或在最后三个帧内已改变)的像素。虽然对缓冲区20的写入并不总是已知指示改变,但是任何写入被假设指示改变。
当像素经由渲染引擎12渲染到当前后置缓冲区20时,通过改变确定器10做出关于当前后置缓冲区20的哪些部分(子区段22)(图2)由渲染引擎12写入的确定。这个信息存储在存储器14中。在本例中,信息作为多个状态位24存储在存储器14中。每个子区段22被分配一个状态位24。应认识到,虽然每个缓冲区20在图1中被示为具有与其相关的单个状态位24,但是多个状态位实际上与每个缓冲区20相关,使得对缓冲区20的每个部分(或子区段22)有一个状态位24。当渲染引擎12写到当前后置缓冲区20(或自从最后一次写到当前后置缓冲区20以来已写到在其它缓冲区20之一中的类似地定位的子区段22)时,子区段22的状态位24被打开以将子区段22标记为“脏的”。表示为“脏的”用于指示在子区段22内的值已改变或必须假设已改变。类似地,如果子区段的状态位被关掉,则它被指示为“干净的”或未改变的。
换句话说,假设通过渲染引擎12写入指示改变。通过渲染引擎12的这个写入与子区段22的掩码比较以确定哪个子区段22被写入并从而确定子区段22已改变。经由状态位24存储改变的这些确定。当前缓冲区20的改变的子区段22与其它缓冲区20的改变的子区段组合(如由它们的相关状态位24注释的)以得到自从当前缓冲区20的最后一次显示以来已改变的子区段22的列表。
显示控制器16读取状态位24以知道缓冲区30的哪些子区段22必须被读取和公布到其输出(这导致面板18)。
在本例中,状态位24被设置为渲染引擎12写到哪里的函数。然而应认识到,设想设置状态位24的其它方式和指示显示控制器的其它方式。一个这样的额外方式是通过使改变确定器10直接与掩码通过接口连接以设置状态位。
在一个例子中,显示控制器读取大到足以包括被注释为脏的所有子区段22的帧的连续区段。在另一例子中,显示控制器只读取被注释为脏的子区段22。在本例中,显示控制器能够选择性地读取单独的非连续子区段22。
此外,子区段22的干净/脏状态可由明确的操作系统到显示器驱动器调用和/或在现有操作系统到显示器驱动器调用中的基于显示器-驱动器的拦截的组合实现,现有操作系统到显示器驱动器调用知道更新的子区段22并指示显示控制器16如何更新子区段22的干净/脏状态。
通过将少于全部的屏幕传输到面板18,相对于处理和传输整个帧来实现功率节省。因为少于全部的屏幕被传输,所以面板18能够操纵接收信息的少于全部的帧。面板18保持被显示或将被显示在缓冲区中的帧。所接收的子区段22然后被盖写到面板18的缓冲区,使得前一帧的部分被保留,所述部分的新子区段22未被接收到。帧然后从缓冲区公布到面板18的屏幕。
现在将参考图3和4讨论该过程。图3示出交换链的三个缓冲区20(缓冲区0、缓冲区1和缓冲区2)。对于每行,最右边的缓冲区20由显示控制器表示为屏幕缓冲区。在一行中的左边和中心缓冲区20是后置缓冲区。每个帧细分成子区段或部分,块100。阴影子区段22是由状态位注释为脏的/更新的或相反的子区段。
在第1行的缓冲区0和第2行的缓冲区1之间没有改变。因此,没有子区段22被注释为脏的。当显示控制器16读取缓冲区1的状态位时,显示控制器16被告知所有子区段22都是干净的,块120。因此,显示控制器16不向面板18提供刷新,块130。因此,在缓冲区1将被显示的时隙期间,实际上显示第1行的缓冲区0。这是合乎需要的,因为两个帧是相同的,且在面板18上的期望显示在显示控制器16向面板18输出缓冲区1的情况下被实现。
然而在第2行的缓冲器1和第3行的缓冲区2之间,左上角子区段22已改变。渲染引擎因此写到左上角子区段22。这个写入使这个区段的状态位24被注释为脏的,块110。显示控制器16读取状态位并知道左上子区段22代表脏的子区段22。显示控制器16还知道左上子区段22是在帧内的唯一脏子区段22。因此,显示控制器16只读取左上子区段22并将左上子区段22输出到面板18,块130。再次,期望图像显示在面板18上,而不需要完整的图像紧接着在其显示之前传输到面板。一旦左上子区段22由显示控制器16读出,状态位24(或多个状态位24)就被重置为干净的,块140。
类似地,第4行的缓冲区0代表表示改变的两个子区段22。因此,显示控制器16只读取脏子区段22并将脏子区段22输出到面板18。再次,期望图像显示在面板18上,而不需要完整的图像紧接着在其显示之前传输到面板。
现在看图3的左侧,示出写到缓冲区20中和将子区段22标记为脏的的过程。由渲染引擎12写入在子区段22内的像素使该子区段22被标记为脏的,且状态位24被设置为反映该写入。为了两个原因写像素。第一个原因是像素在1)当前缓存器最后一次被使用和2)在当前缓冲区前面的缓冲区之间的帧中已改变(“临时改变”)。第二个原因是像素在1)在当前缓冲区前面的缓冲区和2)当前缓冲区之间已改变(“当前改变”)。
除了状态位24的设置以外,渲染引擎12单独地留意哪些子区段22由于“当前改变”经由状态位被标记为脏的(与由于临时改变而被标记为脏的相反)。渲染引擎12可以或可以不使用状态位24来帮助留意哪些区域由于当前改变而是脏的。此外,在本领域中已知的任何方法可用于这样的目的。在本实施方案中,渲染引擎12留意过去的缓冲区的哪些子区段22由于与状态位24本身分离的当前改变而被标记为脏的。
在输出到面板18且使状态24重置之后,前面的屏幕缓冲区20(最右边的位置,图3)旋转到最左边的位置以变成后置缓冲区20。渲染引擎12写到最左边的后置缓冲区20中。首先,渲染引擎12指其关于最老缓冲区(最早建立的,可能是屏幕缓冲区)的哪些子区段22在它被渲染时具有对其的“当前改变”。这些子区段22被考虑为对当前缓冲区的“临时改变”。渲染引擎12然后将所指示的子区段22从链中的最老缓冲器拷贝到当前缓冲区(“拷贝的子区段”)。应认识到,从渲染引擎的轨迹而不是状态位24本身确定哪些子区段22应拷贝到当前缓冲区的确定。
当确定临时改变时,只考虑每个过去的缓冲区的当前改变。因此,状态位24的使用应被包括在内,因为状态位指示那些过去的缓冲区的临时改变和当前改变。将屏幕缓冲区的当前改变拷贝到当前缓冲区将当前缓冲区更新为与屏幕缓冲区一致。渲染引擎12然后将具有当前改变(如渲染引擎的轨迹所指示的)的所有子区段22从下一最老的缓冲区拷贝到当前缓冲区。这个拷贝相对于最老和第二最老的缓冲区更新待更新的当前缓冲区。对链中的所有缓冲区执行这个拷贝,使得当前缓冲区被更新为在交换链中的紧接着在它前面的缓冲区。每个拷贝引起到当前缓冲区的写入,并使状态位24对当前缓冲区20的每个相关子区段22被设置为脏的。
渲染引擎12然后继续进行以对于下一帧将数据写到当前缓冲区20中。写入只对那些像素完成,对像素的哪些改变只由数据源11指示。这提供当前缓冲区20的当前改变。写入将包含被写入的像素的子区段22渲染为脏的,且状态位24被这样设置(除了由于临时改变被设置为脏的那些)。因此,被标记为脏的那些子区段22是具有临时改变、当前改变或这两者的那些子区段。
“脏”的记号稍后由显示控制器16使用来确定屏幕缓冲区的哪些子区段被读出并提供到面板18。因此,被提供到面板18的区段是经历临时改变、当前改变或这两者的那些子区段22。那些改变的子区段22通过从前一缓冲区(临时改变)拷贝或通过由渲染引擎12在数据源11的方向上写入(当前改变)而放置到缓冲区中。一旦将正确的子区段22输出到面板18,就重置状态位24。然而,渲染引擎12保留哪些区域由于与其相关的当前改变而具有脏状态位24的指示。这个保留用于确定哪些子区段24需要拷贝到随后的缓冲区(如上面描述的)。
上面的解决方案也能够修改以在提供图像的比例缩放时提供功率节省。一种这样修改的解决方案包括“接近脏”的第三子区段状态的使用。干净/脏算法知道比例缩放的程度以及什么特定的子区段22是脏的。干净/脏算法还确定哪些子区段22足够接近脏的子区段22以对于比例缩放的程度变成相关的。对于干净的但接近脏像素的子区段22,干净/脏算法指定“接近脏”的状态。当显示控制器16基于实际上“脏的”子区段22、垂直和水平比例缩放比和由于比例缩放而发展的任何邻近的子区段来计算到面板18的实际输出时,显示控制器16于是知道读取待使用的“接近脏”的子区段22。如将认识到的,比例缩放仅仅是本领域中的普通技术人员已知的一种图形后处理技术。其它形式的后处理被已知使用不同数量和位置的邻近子区段。例如,一些解块技术(另一类型的后处理)只参考在空间上紧邻的子区段。其它解块技术使用多于一个邻近的子区段(紧邻焦点子区段的一个子区段,例如脏子区段,以及在空间上比紧邻的子区段更远地被移除的一个或多个子区段)。
应认识到,子区段22的尺寸可改变以给出变化程度的粒度。较小的子部分22创建更多的子部分22,并提供子部分22将被发现是“干净”的增加的可能性。因此,较小的子部分产生更多的预先处理工作并需要更多的存储空间,但增加了节省功率和在显示控制器16处的处理的可能性。不考虑子区段的尺寸,每个子区段22关于被表示为改变的部分或未改变的部分被处理为单个实体。
仅为了说明和描述而不是限制的目的介绍了本文描述的上面的详细描述和例子。例如,所描述的操作可以用任何适当的方式完成。该方法可以按任何适当的顺序完成,仍然提供所描述的操作和结果。因此设想当前的实施方案涵盖落在上面公开和本文描述的基本基础原理的精神和范围内的任何和所有修改、变化或等效形式。此外,虽然上面的描述说明了以处理器执行代码的形式的硬件,但是也设想以状态机的形式的硬件或能够产生相同的效果的专用逻辑。
本文描述的软件操作可在硬件例如分立逻辑固定功能电路(包括但不限于状态机、现场可编程门阵列、专用集成电路或其它适当的硬件)中实现。硬件可以用存储在非临时存储器例如RAM、ROM或其它适当的存储器中的可执行代码以硬件描述符语言(例如但不限于RTL和VHDL或任何其它适当的格式)表示。可执行代码在被执行时可使集成制造系统使用本文描述的操作来制造IC。
此外,基于存储在计算机可读介质(例如但不限于CDROM、RAM、其它形式的ROM、硬盘驱动器、分布式存储器等)上的可执行指令创建具有集成电路的晶片的集成电路设计系统/集成制造系统(例如工作站,如在本领域中已知的,包括一个或多个处理器、经由一个或多个总线或其它适当的互连和其它已知的外围设备通信的相关存储器)是已知的。指令可由任何适当的语言(例如但不限于硬件描述符语言(HDL)、Verilog或其它适当的语言)表示。因此,本文描述的逻辑和电路也可作为集成电路由这样的系统使用计算机可读介质用存储在其中的指令产生。例如,可使用这样的电路制造系统创建具有前述逻辑和结构的集成电路。在这样的系统中,计算机可读介质存储由一个或多个集成电路设计系统可执行的指令,其使一个或多个集成电路设计系统产生集成电路。
Claims (22)
1.一种提供图像帧的方法,其包括:
响应于第一帧的一个或多个部分相对于一个或多个其它帧已改变,输出所述第一帧的相对于所述一个或多个其它帧已改变的所述部分而不输出所述第一帧的相对于所述一个或多个其它帧未改变的部分,如果渲染引擎在每个部分的边界内的位置已写到帧缓冲区,则所述部分被确定为有所改变。
2.如权利要求1所述的方法,其中所述输出由显示控制器执行。
3.如权利要求1所述的方法,其中所述第一帧细分成多个部分。
4.如权利要求3所述的方法,其中每个部分是连续多边形。
5.如权利要求3所述的方法,其中每个部分关于改变的部分或未改变的部分被处理为单个实体。
6.如权利要求1所述的方法,其中所述渲染引擎只对自从最后一次写到所述帧缓冲区以来已改变的部分写入所述帧缓冲器的部分。
7.如权利要求1所述的方法,其中如果渲染引擎自从所述缓冲区最后一次被所述显示控制器读取以来已写到在每个部分的边界内的位置,则所述部分被确定为有所改变。
8.如权利要求7所述的方法,其中如果所述渲染引擎自从当前缓冲区最后一次被所述显示控制器读取以来已写到在所述当前缓冲区或不同的缓冲区上的每个部分的边界内的位置,则所述部分被确定为有所改变。
9.如权利要求1所述的方法,其还包括存储哪些部分已改变的记号。
10.如权利要求9所述的方法,其中所述记号存储在存储器中。
11.如权利要求1所述的方法,其中所述第一帧至少部分地被写到第一缓冲区,所述第一缓冲区是交换缓冲区链的后置缓冲区,且当所述第一缓冲区是所述交换缓冲区链的屏幕缓冲区时,从所述第一缓冲区输出读取部分。
12.如权利要求1所述的方法,其还包括在输出所述部分之前将后处理应用于所述改变的部分,所述后处理包括读取相邻于所述改变的部分的部分。
13.如权利要求12所述的方法,其中所述后处理是比例缩放。
14.如权利要求12所述的方法,其中相邻于所述改变的部分的所述读取部分是进行选定后处理技术所必需的部分。
15.一种显示刷新设备,其包括:
渲染引擎,其操作来将图像信息写到一个或多个存储缓冲区;
多个存储缓冲区,每个存储缓冲区具有多个部分;
所述多个存储缓冲区中的每个的所述多个部分中的每个的状态改变的指示器,如果渲染引擎已写到在存储缓冲区的每个部分内的像素,则所述部分被确定为有所改变;以及
显示控制器,其操作来解释所述指示器以选择性地从所述多个缓冲区的第一缓冲区读出部分。
16.如权利要求15所述的设备,其中所述显示控制器操作来只读取具有指示所述部分有所改变的相关指示器的部分。
17.如权利要求16所述的设备,其中所述显示控制器操作来只读取具有指示自从所述缓冲区最后一次最后一次被使用以来所述部分已改变的相关指示器的部分。
18.如权利要求15所述的设备,其中所述多个缓冲区是交换缓冲区链的部分。
19.如权利要求15所述的设备,其中每个缓冲区具有相应的相同地放置和相同尺寸的部分。
20.如权利要求15所述的设备,其还包括可操作来设置所述多个存储缓冲区的每个的改变的所述指示器的改变确定器。
21.一种计算机可读介质,其上具有非临时指令,所述非临时指令在由处理器解释时使所述处理器:
确定第一帧的一个或多个部分相对于一个或多个其它帧是否已改变;
确定所述第一帧的一个或多个部分相对于所述一个或多个其它帧是否未改变,如果渲染引擎在每个部分的边界内的位置已写到帧缓冲区,则所述部分被确定为有所改变;以及
输出所述第一帧的相对于所述一个或多个其它帧已改变的所述部分而不输出所述第一帧的相对于所述一个或多个其它帧未改变的部分。
22.如权利要求21所述的介质,其中所述指令以适合于描述、设计、组织、制造或验证硬件中的一个或多个的硬件描述语言来体现。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261697261P | 2012-09-05 | 2012-09-05 | |
US61/697,261 | 2012-09-05 | ||
US14/018,869 US10134106B2 (en) | 2012-09-05 | 2013-09-05 | Method and device for selective display refresh |
US14/018,869 | 2013-09-05 | ||
PCT/CA2013/050682 WO2014036652A1 (en) | 2012-09-05 | 2013-09-05 | Method and device for selective display refresh |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104641412A true CN104641412A (zh) | 2015-05-20 |
CN104641412B CN104641412B (zh) | 2018-05-25 |
Family
ID=50186917
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380046073.8A Active CN104641412B (zh) | 2012-09-05 | 2013-09-05 | 用于选择性显示刷新的方法和设备 |
Country Status (7)
Country | Link |
---|---|
US (1) | US10134106B2 (zh) |
EP (1) | EP2893529B1 (zh) |
JP (1) | JP6275146B2 (zh) |
KR (1) | KR102065564B1 (zh) |
CN (1) | CN104641412B (zh) |
IN (1) | IN2015DN02499A (zh) |
WO (1) | WO2014036652A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106997561A (zh) * | 2017-04-18 | 2017-08-01 | 湖南福米信息科技有限责任公司 | 股票行情数据的显示方法、系统及终端设备 |
CN107316270A (zh) * | 2016-04-25 | 2017-11-03 | 联发科技股份有限公司 | 为由多个帧组成的图像数据生成脏信息的方法及图形系统 |
CN111611031A (zh) * | 2019-02-26 | 2020-09-01 | 华为技术有限公司 | 一种图形绘制方法和电子设备 |
CN113950716A (zh) * | 2019-06-10 | 2022-01-18 | Ati科技无限责任公司 | 可变速率刷新显示器的帧重放 |
CN114500880A (zh) * | 2020-10-23 | 2022-05-13 | 宏正自动科技股份有限公司 | 图像处理装置及多画面显示的图像处理方法 |
CN115380325A (zh) * | 2020-09-10 | 2022-11-22 | 微芯片技术股份有限公司 | Lcc(低成本无控制器)图形处理 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9640148B2 (en) * | 2013-06-03 | 2017-05-02 | Arm Limited | Method of and apparatus for controlling frame buffer operations |
GB2525223B (en) | 2014-04-16 | 2020-07-15 | Advanced Risc Mach Ltd | Graphics processing systems |
WO2016092704A1 (ja) * | 2014-12-12 | 2016-06-16 | 三菱電機株式会社 | 情報処理装置及び動画再生方法及び動画再生プログラム |
US10446118B2 (en) * | 2015-06-02 | 2019-10-15 | Intel Corporation | Apparatus and method using subdivided swapchains for improved virtual reality implementations |
US10078883B2 (en) | 2015-12-03 | 2018-09-18 | Qualcomm Incorporated | Writing graphics data from local memory to system memory |
US10283078B2 (en) * | 2016-01-20 | 2019-05-07 | Mediatek Inc. | Adaptive display partial update methods and apparatus thereof for power saving in pixel processing |
US9997141B2 (en) * | 2016-09-13 | 2018-06-12 | Omnivision Technologies, Inc. | Display system and method supporting variable input rate and resolution |
US10545242B2 (en) | 2016-09-14 | 2020-01-28 | Apple Inc. | Systems and methods for in-frame sensing and adaptive sensing control |
US10672367B2 (en) * | 2017-07-03 | 2020-06-02 | Arm Limited | Providing data to a display in data processing systems |
US10504452B2 (en) | 2018-03-12 | 2019-12-10 | Apple Inc. | Pixel contrast control systems and methods |
US10516812B2 (en) | 2018-04-02 | 2019-12-24 | Intel Corporation | Devices and methods for selective display frame fetch |
US11935149B2 (en) * | 2020-11-13 | 2024-03-19 | Samsung Electronics Co., Ltd | Electronic device and image rendering method thereof for adjusting frame rate |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040179019A1 (en) * | 2003-03-12 | 2004-09-16 | Nvidia Corporation | Double-buffering of pixel data using copy-on-write semantics |
US7038689B2 (en) * | 2002-02-19 | 2006-05-02 | Intel Corporation | Sparse refresh double-buffering |
CN101000757A (zh) * | 2006-01-13 | 2007-07-18 | 雅马哈株式会社 | 图像处理装置 |
CN101075422A (zh) * | 2005-12-16 | 2007-11-21 | 英特尔公司 | 用于显示旋转的图像的方法和设备 |
CN101176142A (zh) * | 2005-04-20 | 2008-05-07 | 诺基亚公司 | 利用存储控制单元显示图像 |
US7671865B2 (en) * | 2001-12-07 | 2010-03-02 | Intel Corporation | Refresh of display |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5801717A (en) * | 1996-04-25 | 1998-09-01 | Microsoft Corporation | Method and system in display device interface for managing surface memory |
US6128026A (en) * | 1998-05-04 | 2000-10-03 | S3 Incorporated | Double buffered graphics and video accelerator having a write blocking memory interface and method of doing the same |
US6847358B1 (en) * | 1999-08-06 | 2005-01-25 | Microsoft Corporation | Workstation for processing and producing a video signal |
US6943801B2 (en) * | 2000-03-31 | 2005-09-13 | Scott A. Rosenberg | System and method for refreshing imaging devices or displays on a page-level basis |
FR2948770B1 (fr) * | 2009-07-31 | 2011-10-07 | Airbus Operations Sas | Procede de caracterisation electrique d'un materiau composite pour la fabrication d'un aeronef |
US8803898B2 (en) * | 2009-12-17 | 2014-08-12 | Arm Limited | Forming a windowing display in a frame buffer |
WO2011127941A1 (de) * | 2010-04-14 | 2011-10-20 | Siemens Enterprise Communications Gmbh & Co. Kg | Verfahren zum deblocking-filtern |
US8824560B2 (en) * | 2010-07-07 | 2014-09-02 | Netzyn, Inc. | Virtual frame buffer system and method |
JP5613249B2 (ja) * | 2010-09-16 | 2014-10-22 | 株式会社東芝 | 画像生成装置およびその方法 |
US20120218277A1 (en) * | 2011-02-25 | 2012-08-30 | ST-Ericcson SA | Display list mechanism and scalable display engine structures |
US8862906B2 (en) * | 2011-04-01 | 2014-10-14 | Intel Corporation | Control of platform power consumption using coordination of platform power management and display power management |
US9472018B2 (en) * | 2011-05-19 | 2016-10-18 | Arm Limited | Graphics processing systems |
-
2013
- 2013-09-05 EP EP13835341.2A patent/EP2893529B1/en active Active
- 2013-09-05 IN IN2499DEN2015 patent/IN2015DN02499A/en unknown
- 2013-09-05 US US14/018,869 patent/US10134106B2/en active Active
- 2013-09-05 CN CN201380046073.8A patent/CN104641412B/zh active Active
- 2013-09-05 WO PCT/CA2013/050682 patent/WO2014036652A1/en active Application Filing
- 2013-09-05 KR KR1020157008157A patent/KR102065564B1/ko active IP Right Grant
- 2013-09-05 JP JP2015530251A patent/JP6275146B2/ja active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7671865B2 (en) * | 2001-12-07 | 2010-03-02 | Intel Corporation | Refresh of display |
US7038689B2 (en) * | 2002-02-19 | 2006-05-02 | Intel Corporation | Sparse refresh double-buffering |
US20040179019A1 (en) * | 2003-03-12 | 2004-09-16 | Nvidia Corporation | Double-buffering of pixel data using copy-on-write semantics |
CN101176142A (zh) * | 2005-04-20 | 2008-05-07 | 诺基亚公司 | 利用存储控制单元显示图像 |
CN101075422A (zh) * | 2005-12-16 | 2007-11-21 | 英特尔公司 | 用于显示旋转的图像的方法和设备 |
CN101000757A (zh) * | 2006-01-13 | 2007-07-18 | 雅马哈株式会社 | 图像处理装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107316270A (zh) * | 2016-04-25 | 2017-11-03 | 联发科技股份有限公司 | 为由多个帧组成的图像数据生成脏信息的方法及图形系统 |
CN106997561A (zh) * | 2017-04-18 | 2017-08-01 | 湖南福米信息科技有限责任公司 | 股票行情数据的显示方法、系统及终端设备 |
CN111611031A (zh) * | 2019-02-26 | 2020-09-01 | 华为技术有限公司 | 一种图形绘制方法和电子设备 |
CN113950716A (zh) * | 2019-06-10 | 2022-01-18 | Ati科技无限责任公司 | 可变速率刷新显示器的帧重放 |
US11862066B2 (en) | 2019-06-10 | 2024-01-02 | Ati Technologies Ulc | Frame replay for variable rate refresh display |
CN115380325A (zh) * | 2020-09-10 | 2022-11-22 | 微芯片技术股份有限公司 | Lcc(低成本无控制器)图形处理 |
CN115380325B (zh) * | 2020-09-10 | 2024-03-29 | 微芯片技术股份有限公司 | Lcc(低成本无控制器)图形处理 |
CN114500880A (zh) * | 2020-10-23 | 2022-05-13 | 宏正自动科技股份有限公司 | 图像处理装置及多画面显示的图像处理方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2893529A4 (en) | 2016-05-04 |
JP6275146B2 (ja) | 2018-02-07 |
JP2016500163A (ja) | 2016-01-07 |
IN2015DN02499A (zh) | 2015-09-11 |
CN104641412B (zh) | 2018-05-25 |
KR20150047612A (ko) | 2015-05-04 |
US10134106B2 (en) | 2018-11-20 |
EP2893529B1 (en) | 2020-01-15 |
EP2893529A1 (en) | 2015-07-15 |
KR102065564B1 (ko) | 2020-03-02 |
WO2014036652A1 (en) | 2014-03-13 |
US20140063034A1 (en) | 2014-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104641412A (zh) | 用于选择性显示刷新的方法和设备 | |
CN106204712B (zh) | 分段线性不规则光栅化 | |
TW202024866A (zh) | 飛行中適應性注視點顯像 | |
US8949554B2 (en) | Idle power control in multi-display systems | |
KR102279120B1 (ko) | 라인 버퍼 유닛 당 메모리 할당 결정 | |
US10438317B2 (en) | Method and apparatus for rendering | |
KR102278021B1 (ko) | 이미지 프로세서 런타임 효율성을 개선하기 위한 프로그램 코드 변환 | |
JP2009015248A (ja) | 画像生成装置、画像生成方法および画像生成プログラム | |
CN107563951A (zh) | 在二维图像处理器上的统计操作 | |
US7830397B2 (en) | Rendering multiple clear rectangles using a pre-rendered depth buffer | |
CN111080761B (zh) | 一种渲染任务的调度方法、装置及计算机存储介质 | |
US20150189012A1 (en) | Wireless display synchronization for mobile devices using buffer locking | |
US11631212B2 (en) | Methods and apparatus for efficient multi-view rasterization | |
JP2010287110A (ja) | 情報処理装置、情報処理方法、プログラム及び記録媒体 | |
TWI698834B (zh) | 用於圖形處理之方法及裝置 | |
CN110364127A (zh) | 智能大屏幕系统的自适应显示方法及装置 | |
CN106407009A (zh) | 一种图片显示方法和装置 | |
CN104517273A (zh) | 一种图像超分辨率处理方法及装置 | |
CN113496537B (zh) | 动画播放方法、装置及服务器 | |
US11682109B2 (en) | Configurable apron support for expanded-binning | |
EP4066217B1 (en) | Methods and apparatus for reducing draw command information | |
CN112866777B (zh) | 图层移动方法及装置、视频处理设备系统和存储介质 | |
US10528278B2 (en) | Data processing apparatus, data processing method, and computer readable medium | |
CN114331807A (zh) | 静态图像处理方法、装置以及系统和计算机可读存储介质 | |
EP4055552A1 (en) | Methods and apparatus for reducing the transfer of rendering information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |