用于部分帧缓冲区更新的系统和方法技术方案

技术编号:19966397 阅读:25 留言:0更新日期:2019-01-03 13:57
本发明专利技术的多个方面包括一种像素源,该像素源产生了用于分成多个区域的一个被渲染表面的数据。一种映射识别出多个存储器区段,这些存储器区段存储了用于该表面的每个区域的像素数据。这种映射可以从一个先前被渲染表面中指向在对该渲染处理进行渲染的过程中未被改变的区域识别出存储了像素数据的存储器区段。此类改变的/未改变的状态是在逐区域的基础上进行跟踪的。可以为每个存储器区段维持一个计数器,以便跟踪多少个表面使用了存储在其中的像素数据。可以维持一个空闲存储器区段池。读取一个表面(如为了通过一个显示控制器来显示一个被渲染表面)包括:识别并读取这种映射以便识别存储了用于该表面的多个区域的像素数据的每个存储器区段、对其进行读取、并且更新用于被读取的这些存储器区段的计数器。

System and Method for Partial Frame Buffer Updating

Several aspects of the present invention include a pixel source that generates data for a rendered surface divided into multiple regions. A mapping identifies multiple memory segments that store pixel data for each area on the surface. This mapping can identify memory segments that store pixel data from a previously rendered surface pointing to unchanged areas in the rendering process. Such changed/unchanged states are tracked on a region-by-region basis. A counter can be maintained for each memory segment to track how many surfaces use the pixel data stored therein. A free memory segment pool can be maintained. Reading a surface (for example, to display a rendered surface through a display controller) includes identifying and reading such mappings to identify each memory segment storing pixel data for multiple areas of the surface, reading them, and updating counters for those memory segments being read.

【技术实现步骤摘要】
用于部分帧缓冲区更新的系统和方法本申请是申请日为2013年9月25日、申请号为201310401067.1、专利技术名称为“用于部分帧缓冲区更新的系统和方法”的专利技术专利申请的分案申请。
技术介绍
专利
:以下内容涉及图形处理、图形处理系统,如图形处理器单元(GPU),并且在示例具体方面涉及影像合成和图像生产技术。相关领域:用于存储等待被输出至显示器的数据的缓冲区通常被称为“帧缓冲区”,引发了显示一个帧时间序列中的一帧的概念,其中“帧”为一个完整的像素数据集合。在一些计算架构中,帧缓冲区还可以用作有待如被GPU进一步处理的数据源。在这种情况下,GPU可以从帧缓冲区(例如,存储图像数据的存储器中的一个位置,如位图)上读取数据,并使用该数据和其他数据一起形成一张合成图像。然后该GPU将展现整个合成图像的数据写出至输出帧缓冲区。显示控制器可以从该输出帧缓冲区上读取该合成图像并引起显示该合成图像。因此,存储整个像素数据集以展现每个可显示帧。作为一个更加具体的示例,可以设置一个常规渲染和显示系统以执行三倍缓冲方法,其中,预留了存储器的三个部分,每个部分能够保存一个全分辨率可显示帧(例如,缓冲区0、1和2),并且被安排在一条翻转链(flipchain)内。例如,图形处理器可以将有待显示的连续帧写到缓冲区0、1和2并从0重新开始。类似地,在再次返回读取缓冲区0之前,显示控制器读取缓冲区0、1和2。当缓冲区0、1和2中的任一个或多个之间像素数据相同时,在该像素数据出现的所有缓冲区内重复该像素数据。
技术实现思路
在根据本披露的实现方式中,展现多个渲染表面的数据(例如,有待显示的像素数据帧)括用于该渲染表面的表面区域和存储器区段之间的一个对应的映射集合。每个渲染表面可以被展现作为来自先前的表面的多个区域以及被确定为不同于该先前的表面的像素数据的像素数据区域的像素数据的组合。作为示例,一种用于渲染的方法包括存储展现一个第一被渲染表面的数据,该第一被渲染表面包括多个存储用于该第一被渲染表面的对应区域的像素数据的存储器区段,以及这些区域与这些对应的存储器区段之间的映射。该方法还包括跟踪使用各存储器区段中的像素数据的多个被渲染表面。为了存储展现一个后续被渲染表面(该表面具有具有对应于该第一被渲染表面内的像素数据区域的像素数据区域),该方法包括确定该后续被渲染表面内哪些区域具有未从该第一参引表面改变的像素数据以及哪些区域具有不同的像素数据。对于带有相同像素数据的区域,用于该后续被渲染表面的映射被创建成包括一个指向与该第一表面相同的存储器区段的参引项。对于带有不同像素数据的区域,此类像素数据被写至从空闲区段池中获得的存储器区段,并且在该映射中提供了指向这些存储器区段的参引项。维持了存储用于该第二表面的像素数据的所有存储器表面的计数,这些计数可以包括对用于每个表面的计时器进行增值。为了读取根据上述方法存储的表面,一种装置存取用于该表面的映射,以确定用于该表面的每个像素数据区域被存储在哪儿(例如,在通过具体的存储地址识别的存储器区段内)。该装置存取该像素数据并更新从那些存储器区段使用像素数据的那些表面的跟踪。带有像素数据的不再被任何表面使用的存储器区段可以被释放返回可用的空闲存储器区段池以接收用于进一步的被渲染表面的像素数据。附图说明本披露的各种特征和方面将从以下详细说明中变得更加明显,将结合附图阅读以下详细说明,其中:图1描绘了系统的功能元件的概观,在该系统中可以实践所披露的方法和结构方面;图2描绘了此处根据所披露的实施例的可以由一个或多个渲染表面构成的可显示帧的时间流程;图3描绘了定义被分成多个区域的第一表面的数据的展示;图4描绘了像素源以及像素汇的多个示例方面,该像素源渲染表面并存储存储器区段内的被渲染表面的区域以及产生区域到存储器区段的映射,该像素汇消耗该被渲染表面的区域;图5描绘了一个第二表面的展示,包括与该第一表面一样的区域;图6描绘了展现使用展现该第一表面的数据的区域的第二表面以及修改后的区域到存储器区段的映射的方面;图7描绘了存储器区段中存储器表面区域的进一步的方面;图8基于展现该第一表面的数据描绘了一种示例方法,该方法用于确定展现该第二表面的数据集合以及存储用于具有不同于该第一表面的像素数据的第二表面的区域的数据的存储器区段;图9描绘了根据本披露的多个方面存取像素数据表面的示例过程,如用于产生可显示帧;图10描绘了执行图9的过程中的示例数据流图11描绘了在其中可以实践所披露的方面的系统的多个方面;以及图12描绘了可以配置成执行本披露的多个方面的示例处理器的多个方面。具体实施方式许多常见的计算装置(如台式计算机、膝上型计算机、平板计算机或移动电话)包括一个可以产生用于显示的图形数据的图形子系统,如液晶显示器(LCD)或其他合适的显示技术。该显示器具有一个分辨率,该分辨率通常特征在于多个水平和竖直像素,如1080p显示器,其具有1920个水平像素(列)和1080个竖直像素(排)。刷新速率确定该显示器上显示的图像多长时间变化一次。该显示器上显示的每张独特的图像可以被认为是一个可显示帧。在将图像数据存储在存储器内的背景下,将存储器表面概念化为一个平面,该平面具有根据一种图案分布在该平面上的多个像素位置。每个像素位置将具有被分配用于存储展现该像素的数据的存储量。因此,对于1080p显示器而言,该存储器表面将包括1920×1080像素,每个像素带有一定量被分配的存储空间,如4个字节。然而,此类存储器表面的物理实现方式可以在实现方式之间不同并且不必遵循该概念模型。在本披露的背景下,渲染表面被分成多个区域,并且每个区域在该表面内包含这些像素中的一些。例如,一个区域可以是一个8×8的正方形像素块、一个矩形、一个竖直或水平像素带等。更通常地,一个区域可以是任何形状,尽管希望该形状将是一个矩形,并且高度和宽度各自为一个或多个像素,并且典型地至少一个尺寸为多个像素。区域可以由不连续的像素形成,但为了简单性,本说明书描述了在像素区域为连续的假设下的示例实现方式。可以基于系统架构考虑选定一个区域内的多个像素和一个区域的长度VS宽度。例如,设计目标可以是使存储页面大小与存储一个像素区域所需的存储量相匹配。然而,没有要求一个像素区域存储在存储器的一个连续部分内。相反,每个像素区域指向存储器表面内的其他像素区域将具有一个已知的相对位置,从而使得可以通过根据那些相对位置安排这些区域的像素来展现该存储器表面内的所有像素。同样地,普通技术人员将认识到一个表面内的那些像素区域各自为该表面内建立的像素的具体分组的一个逻辑结构。在一些情况下,一个渲染表面全等于一个可显示帧,而在其他情况下,渲染表面可以是一个可显示帧的一部分,可以包括一个可显示帧和“屏幕外”像素,或者可以是有待被渲染和存储在存储器内的图像数据,或者两者都是。例如,像素数据可以被渲染至一个表面并且被存储用于用作纹理以及被显示。图1描绘了根据本披露的系统3的实现方式的概念图。系统3包括一个像素源6和一个像素汇7,其分别起到生成和消耗像素数据的作用。像素源6可以从存储器10读取并写至存储器10。像素源6可以从存储器区段池12中读取并写入像素存储器区段(例如,如以上介绍的,写入和读取用于存储器表面的区域的本文档来自技高网...

【技术保护点】
1.一种存储用于渲染表面的区域的像素图像数据的方法,包括:提供多个渲染表面,每个渲染表面包括像素图像数据的多个区域;以及针对每个渲染表面:确定所述多个区域中的哪些区域具有与来自先前的渲染表面的像素图像数据的相应的对应区域中的值不同的像素图像数据值、以及所述多个区域中的哪些区域具有与来自所述先前的渲染表面的像素图像数据的相应的对应区域中的值相同的像素图像数据值,其中用于所述先前的渲染表面的每个区域的像素图像数据被存储在相应的存储器区段之中;响应于确定区域具有与来自所述先前的渲染表面的像素图像数据的所述相应的对应区域中的值不同的像素图像数据值,将用于所述区域的所述像素图像数据存储到所述存储器的相应的存储器区段之中,并且存储指向用于所述区域的所述存储器区段的参引项;以及响应于确定区域具有与来自所述先前的渲染表面的像素图像数据的所述相应的对应区域中的值相同的像素图像数据值,存储指向用于存储用于所述先前的渲染表面的所述区域的所述像素图像数据的所述存储器区段的参引项。

【技术特征摘要】
2012.09.06 US 61/697,7851.一种存储用于渲染表面的区域的像素图像数据的方法,包括:提供多个渲染表面,每个渲染表面包括像素图像数据的多个区域;以及针对每个渲染表面:确定所述多个区域中的哪些区域具有与来自先前的渲染表面的像素图像数据的相应的对应区域中的值不同的像素图像数据值、以及所述多个区域中的哪些区域具有与来自所述先前的渲染表面的像素图像数据的相应的对应区域中的值相同的像素图像数据值,其中用于所述先前的渲染表面的每个区域的像素图像数据被存储在相应的存储器区段之中;响应于确定区域具有与来自所述先前的渲染表面的像素图像数据的所述相应的对应区域中的值不同的像素图像数据值,将用于所述区域的所述像素图像数据存储到所述存储器的相应的存储器区段之中,并且存储指向用于所述区域的所述存储器区段的参引项;以及响应于确定区域具有与来自所述先前的渲染表面的像素图像数据的所述相应的对应区域中的值相同的像素图像数据值,存储指向用于存储用于所述先前的渲染表面的所述区域的所述像素图像数据的所述存储器区段的参引项。2.根据权利要求1所述的方法,进一步包括对与每个存储被确定与所述渲染表面和所述先前的渲染表面中相同的像素图像数据区域的存储器区段相关联的相应计数进行增值。3.根据权利要求2所述的方法,进一步包括响应于消耗来自每个存储器区段的所述像素图像数据,对与所述存储器区段相关联的相应计数进行减值。4.根据权利任意前述权利要求所述的方法,其中指向所述存储器区段的所述参引项包括所述相应的存储器区段的存储器地址。5.一种被配置为存储用于渲染表面的区域的像素数据的计算机图形系统,包括:像素数据源,所述像素数据源用于提供各自具有像素数据的多个区域的渲染表面,其中所述像素数据源被配置为:针对每个渲染表面,确定用于所述渲染表面的像素数据的所述多个区域中的哪些区域具有与来自先前的渲染表面的像素数据的相应的对应区域中的值不同的像素数据值、以及所述多个区域中的哪些区域具有与来自所述先前的渲染表面的像素数据的相应的对应区域中的数据相同的像素数据值,其中用于所述先前的渲染表面的每个区域的像素数据被存储在相应的存储器区段之中;响应于确定区域具有与来自所述先前的渲染表面的像素数据的所述相应的对应区域中的值不同的像素数据值,将用于所述区域的所述像素数据存储到所述存储器的相应的存储器区段之中,并且存储指向用于所述区域的所述存储器区段的参引项;以及响应于确定区域具有与来自所述先前的渲染表面的像素数据的所述相应的对应区域中的值相同的像素数据值,存储指向用于存储用于所述先前的渲染表面的所述区域的所述像素数据的所述存储器区段的参引项。6.根据权利要求5所述的计算机图形系统,其中所述系统被配置为对与每个存储被确定与所述渲染表面和所述先前的渲染表面中相同的像素数据区域的存储器区段相关联的相应计数进行增值。7.根据权利要求6所述的计算机图形系统,其中所述系统被配置为响应于消耗来自每个存储器区段的所述像素数据,对与所述存储器区段相关联的相应计数进行减值。8.根据权利要求5所述的计算机图形系统,其中所述像素源包括3-D图形处理器和视频编码器中的一项或多项。9.根据权利要求5-8中任一项所述的计算机图形系统,所述计算机图形系统还包括用于读取用于所选择的渲染表面的像素图像数据值的像素数据汇,所述像素数据汇被配置为:读取所选择的所述渲染表面的每个区域与指向存储用于所述区域的像素图像数据的存储器区段的参引项之间...

【专利技术属性】
技术研发人员:J·A·梅特卡夫
申请(专利权)人:想象技术有限公司
类型:发明
国别省市:英国,GB

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1