CN110889799A - 用于产生更高分辨率帧的方法、装置和处理器 - Google Patents

用于产生更高分辨率帧的方法、装置和处理器 Download PDF

Info

Publication number
CN110889799A
CN110889799A CN201910824712.8A CN201910824712A CN110889799A CN 110889799 A CN110889799 A CN 110889799A CN 201910824712 A CN201910824712 A CN 201910824712A CN 110889799 A CN110889799 A CN 110889799A
Authority
CN
China
Prior art keywords
tile
frame
tiles
generating
rendered
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
Application number
CN201910824712.8A
Other languages
English (en)
Other versions
CN110889799B (zh
Inventor
达仁·克罗克斯福德
肖恩·特里斯特拉姆·勒盖·埃利斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ARM Ltd
Original Assignee
ARM Ltd
Apical Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ARM Ltd, Apical Ltd filed Critical ARM Ltd
Publication of CN110889799A publication Critical patent/CN110889799A/zh
Application granted granted Critical
Publication of CN110889799B publication Critical patent/CN110889799B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4023Scaling of whole images or parts thereof, e.g. expanding or contracting based on decimating pixels or lines of pixels; based on inserting pixels or lines of pixels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4053Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0007Image acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0135Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Generation (AREA)

Abstract

本公开涉及用于产生更高分辨率帧的方法、装置和处理器。一种产生全分辨率帧的方法,包括生成帧的图块表示。图块表示包括多个图块,每个图块与帧的区域相关联。方法还包括消除每个图块的一个或多个预定部分,并且渲染每个图块的保留部分以产生经渲染的图块。方法还将经渲染的图块转换为经处理的图块。然后从经处理的图块构造全分辨率帧。

Description

用于产生更高分辨率帧的方法、装置和处理器
技术领域
本发明涉及用于产生帧的方法、装置和显示处理器。更具体地,涉及基于图块(tile)的渲染处理器上的帧。
背景技术
现代显示器通常能够以非常高的分辨率(例如,以4K(3840x2160像素))显示图形。为显示器生成具有如此多像素的内容在计算上非常昂贵。此外,随着消费电子产品开发的进展,在移动计算设备(例如,智能电话和平板电脑)中使用这种显示器意味着以高频率产生这种高分辨率图像需要大量计算资源,具有高功率要求。
处理用于这种显示器的数据需要具有必要存储器和处理能力的图形处理单元(“GPU”)来生成和存储大量渲染像素。类似地,对于某些应用,有必要计算像素值,并快速和有效地渲染帧。某些应用(例如,视频游戏和视频播放器)通常需要每秒渲染许多帧。视频游戏以大约60fps的速度运行并不罕见。在过去,在显示器的最大分辨率为720p(1280x720像素)或1080p(1920x1080像素)的情况下,设备将使用图形处理单元来渲染帧内的信息。能够生成和存储许多像素是在现代设备的可能性范围内的。随着显示器的分辨率增加,并且随着消费者需要更高质量的图像,GPU需要对每个帧进行的处理量显著增加。这是移动设备上的一个特殊问题,其中,资源(例如,处理功率和能量)的有效管理是至关重要的。
减少需要渲染的像素的数量是降低所需处理功率的一种方式,并且因此降低了渲染帧的能量需求。一种这样做的方法是放大。当放大时,GPU渲染较低分辨率版本的帧,并且然后复制较低分辨率帧内的像素,以将其呈现在具有比最初以某一分辨率渲染帧的该某一分辨率高的分辨率的显示器上。例如,移动设备可以在720p处渲染帧并且通过缩放将其放大到1080p,例如通过复制每个像素的像素值。然而,放大经常导致不期望的较低质量的图像。类似地,当在移动设备上处理高分辨率帧时,一些GPU将帧划分为区域,这些GPU被称为图块或延迟模式GPU,并且在将它们组装成完整帧之前单独渲染每个区域。与立即模式GPU相比,这样做降低了外部存储器带宽的数量,同时有助于提高效率并降低能量需求。但是,不降低渲染这种高分辨率帧所需的处理量。
发明内容
根据本发明的第一方面,提供了一种产生帧的方法,包括:生成帧的图块表示,其中,图块表示包括多个图块,每个图块与帧的区域相关联;消除每个图块的一个或多个预定部分;渲染每个图块的保留部分以产生经渲染的图块;将经渲染的图块转换为经处理的图块;以及从经处理的图块构造帧。
根据本发明的第二方面,提供了一种用于产生帧的装置,包括:生成模块,用于生成帧的图块表示,其中,图块表示包括多个图块,每个图块与帧的区域相关联;消除模块,用于消除每个图块的一个或多个预定部分;渲染模块,用于渲染每个图块的保留部分并且产生经渲染的图块;转换模块,用于将经渲染的图块转换为经处理的图块;以及构造模块,用于从经处理的图块构造帧。
附图说明
从以下参考附图仅以示例方式给出的描述中,进一步的特征将变得显而易见,在附图中,相同的附图标记用于表示相同的特征。
图1是被细分为图块的帧的表示;
图2是示出根据示例的用于产生帧的方法的流程图;
图3是示出根据示例的用于产生帧的第二方法的流程图;
图4示出了图2和图3所示的用于产生帧的方法的步骤的结果的概况;
图5是示出根据示例的用于产生帧的第三方法的流程图;
图6示出了图5所示的产生帧的第三方法的步骤的结果的概况;
图7是示出根据示例的用于将输出帧输出到显示器的方法的流程图;并且
图8示例性地示出了用于生成和输出帧的系统。
具体实施方式
从以下参考附图的描述,根据示例的方法、装置和处理器的细节将变得显而易见。在本说明书中,出于解释的目的,阐述了某些示例的许多特定细节。说明书中对“示例”或类似语言的引用意味着结合该示例描述的特定特征、结构或特性被包括在至少该一个示例中,但不一定必须包括在其它示例中。还应注意,为了易于解释和理解以下示例的概念,某些示例被示例性地描述,其中某些特征被省略和/或必须被简化。
图1是被细分为图块102、104的帧100的表示。当在图形处理单元(“GPU”)上执行时,图1的帧100的表示可由下文描述的图2、图3和图5的流程图中所示的方法使用,该图形处理单元(“GPU”)被布置为通过将帧细分为图块来渲染帧。
帧100的表示被细分为多个图块,例如图块102和图块104。帧100的每个表示与待渲染的帧(未示出)的大小相同。然而,将理解,表示可以替代地表示帧的预定部分。例如,该帧可以是视频帧或来自以高分辨率(例如,4K(3840x2160像素))渲染的视频游戏的帧。将理解,帧100的表示可以包括多于六个(如图1所示)的图块。
棋盘渲染是一种当渲染用于高分辨率显示器(例如,4K)的帧时可以降低GPU计算要求的方法。当以这样的分辨率并且以相对高的频率(例如,60Hz)来渲染帧时,所需的计算功率和能量的量特别高。
棋盘渲染在帧中每隔一个像素渲染。然后使用运动矢量来确定来自前一帧的哪些像素应该在当前帧的未渲染部分中被重新使用。在一些实施例中,也可以执行过滤。因此,每隔一个像素渲染减少了所需的计算功率和资源的量。
当在基于图块的GPU上使用棋盘渲染技术时,每个图块102、104被细分成多个块,诸如102a、104a处的那些块,并且每个块被给予唯一标识符(a…h;z…s)。出于图示的目的,仅第一行块示出了标识符,然而将了解,图块的每个块被给予唯一标识符。块的数目取决于能够由GPU处理的图块大小。例如,
Figure BDA0002188719030000041
Mali图形处理单元(“Mali GPU”)处理具有16像素乘16像素的尺寸的图块。由于每个基于图块的GPU具有固定图块大小,减少需要渲染的像素的数目,因此棋盘渲染效率低下,因为存在若干没有价值的像素。以下关于图2、图3和图5描述的方法可用于在基于图块的GPU上有效地执行棋盘渲染技术。
当使用棋盘渲染技术时,每个块102a、104a表示图块102、104内的2像素乘2像素区域,尽管可以使用其它大小和纵横比的区域。因此,当使用例如Mali GPU时,每个图块是8块乘8块,例如图1中所示的图块102、104。每个图块102、104如下面将描述的那样被处理。然后,组合所有处理的图块以产生帧。
图2是示出根据示例的用于产生帧的方法200的流程图。方法200可以在基于图块的GPU上实施用于产生使所需的计算资源和功率最小化的帧。
在图2的方法200的条目210处,产生待渲染的帧的图块表示。如图1所示,帧的图块表示包括多个图块,每个图块表示帧的区域。例如,在帧是4K图像并且图像要使用Mali GPU来渲染的情况下,当Mali GPU渲染16像素乘16像素的图块时,图块表示将包括以240图块乘135图块的网格方式布置的32,400个图块,每个图块包括8块乘8块的网格中的64个块。
一旦已产生图块表示,基于图块的GPU便开始处理每个图块。在条目220处,消除图块的一个或多个预定块。这可以例如通过将掩模和/或模板应用到图块来实现。该掩模/模板可以是任何图案,然而当使用棋盘渲染方法时,掩模被布置为消除交替的块。
在条目230处,渲染图块。仅渲染图块的未被消除的那些块。仅渲染未被消除的块可以将所需的处理量减少50%,因为仅渲染包含在图块内的块的一半。传统上对未被消除的块进行光栅化。此外,在一些实施例中,帧中的每个多边形(也称为图元)可以被分配标识符,使得其移动可以在若干帧上被跟踪,从而提供更精确的渲染,如下面将关于图7和图8所讨论的。
一旦已经渲染了图块,则在条目240处将其转换为处理的图块。在一些实施例中,转换需要渲染两个图块,如下面关于图5和图6所讨论的,其它实施例仅需要单个图块。在渲染期间,基于图块的GPU将生成图块列表,该图块列表指示哪些多边形/图元位于特定图块中。例如,渲染16x16图块的GPU(例如,Mali GPU),将生成16x16大小的图块列表。当使用两个渲染的图块时,可以正常地生成图块列表,并且随后可以在图块缓冲器中组合两个图块列表。当仅将已渲染并且位于图块内的那些多边形/图元添加到图块列表中时,这使得两个图块能够如同它们为单个图块一样被压缩和构造,从而使得基于图块的处理器能够更有效地处理图块。可选地,基于图块的GPU可以被布置为处理具有标准图块的两倍宽度的图块。例如,Mali GPU可以被布置为生成双倍宽度图块列表,即包含32乘16图块区域的图块列表,随后该双倍宽度列表被发送到图块缓冲器并且不需要与另一图块列表组合。这消除了在条目240处应用转换过程之前渲染多于一个图块的要求。当使用具有高分辨率帧(例如,4K)的该方法时,这可以改善处理时间并且减少所需的处理功率和能量的量,尤其是在使用其中每秒需要渲染大量帧的相对高的频率(例如,60Hz)下的方法时。因此,一次处理两个图块减少了渲染每个帧所需的处理时间。
在条目250处,转换的图块被压缩。压缩图块,减少了产生整个帧所需的缓冲存储量,通过减小图块写入的大小进一步改善了生成帧所需的资源量。例如,压缩步骤可以使用
Figure BDA0002188719030000051
帧缓冲压缩(“AFBC”)算法、无损压缩算法,这减少了在系统的组件(例如,显示处理器)之间传输块信息所需的带宽和功率的量,如下所述。应当理解,在一些实施例中,可以未压缩地写出转换的图块。
在条目260处,转换和压缩的图块被构造。构造包括扩展转换的图块,例如,获取8块乘8块的图块并将其扩展回两个8块乘8块的图块。该扩展重新引入在条目240处的转换步骤期间被移除的未渲染块。未渲染块是在条目220处最初被消除的那些块。可以使用运动矢量来生成每个未渲染块中的像素值,以确定应当在当前帧的未渲染部分中重新使用来自前一帧的哪些像素。一旦构建了图块,并且已经生成了未渲染块的像素值,该方法就循环,并且对于每个剩余图块执行条目220、230、240、250和260处的步骤。
构造步骤(其中构造每个图块)可以在GPU上发生,并且然后整个帧被写入帧缓冲器以供显示处理器稍后读取。可选地,如下面关于图7和图8所讨论的,还可以使用其他信息以及相邻块的信息来生成每个未渲染块中的像素值。构造步骤可以在GPU外部发生,例如在显示处理器中。在该实施例中,在条目250处生成的压缩的图块被写入存储器以供显示处理器稍后读取。
图3是示出根据示例的用于产生帧的第二方法300的流程图。图3示出了第二方法300,其中根据待渲染的帧序列的帧编号来应用图块的不同部分被消除。条目210、230、240、250和260可以与上面关于图2描述的方法200中的相同。然而,在条目220处,其中图块的部分被消除,可以采取附加的方法步骤。在条目222,首先确定待产生的帧是否具有偶数或奇数帧编号。如果待产生的帧是奇数帧,则第一组块被消除,例如通过在条目224处将第一类型的掩模/模板应用于图块。相反,如果待产生的帧是偶数帧,则第二组块被消除,例如通过在条目226处将第二类型的掩模/模板应用于图块。一旦已经消除了所需的块,方法300就前进到条目230并且该方法如上面关于图2所讨论的那样继续。在一些实施例中,应当理解,可以产生多于两个帧的帧。例如,可以产生多于三个帧(其中,第一帧生成像素的三分之一,第二帧生成像素的另外三分之一,并且第三帧产生像素的最后三分之一)的帧。这将进一步减少处理量。
例如,当使用棋盘渲染方法时,第一掩模/模板可以是棋盘配置,并且第二掩模/模板可以是反转(inverse)的棋盘配置,下面关于图4示出和描述了这种情况的一个示例。此外,如下面将关于图7和图8描述的,使用两个掩模/模板(其中一个是另一个的反转),使得在条目260处的构造步骤期间能够更有效和准确地生成掩模块。
图4示出了图2和图3所示的用于产生帧的方法200、300的步骤的结果的概况。该概况示出了两个图块102、104,每个图块包括多个块(a..h;z..s)如上面关于图1所讨论的。每个图块102、104表示图1中所示的帧100的预定部分。
如上面关于图2和图3的步骤220所描述的,消除每个图块102、104的部分。在该实施例中,当使用棋盘渲染时,从处理中消除图块102、104的交替的块。这产生包括一半数量的块的图块102m,104m,例如,图块102m包括具有标识符a、c、e、g的块,并且图块104m包括具有标识符z、x、w、t的块。
在可选实施例中,例如上面关于图3描述的实施例,可以根据帧来消除图块的不同部分。例如,当使用掩模/模板来消除图块的部分时,可以将第一掩模类型应用于奇数帧,并且可以将第二掩模类型应用于偶数帧。在
图4所示的示例中,图块102m具有所应用的棋盘掩模,并且图块102m’具有所应用的反转的棋盘掩模。使用反转掩模,尤其是在棋盘渲染中,可以改善消除的块的像素值的生成。
一旦移除了图块102m、104m的预定块,保留的块如上所述地被渲染,以产生渲染的图块102mr、104mr。然后渲染的图块102mr、104mr被转换。这涉及首先创建双倍宽度图块106,其包含彼此相邻定位的渲染的图块102mr、104mr。然后进一步处理双倍宽度图块106,并且移除未渲染的块以产生处理的图块108a。应当理解,可以处理其他纵横比或大小,例如双倍深度图块、或三倍宽度图块或三倍深度图块(在一次处理帧的三分之一时)。处理的图块108a的第一部分包括来自图块102m的渲染块102p,并且处理的图块108a的第二部分包括来自图块104m的渲染块104p。
在一些实施例中,应当理解,不需要发生转换过程的第一步骤。在可能的情况下,GPU可以处理具有一个尺寸的图块,该尺寸是优选图块大小的两倍。例如,当使用Mali GPU时,图块大小可以增加到32像素乘16像素,因此,当处理图块并且消除未渲染的块时,处理的图块108a将具有优选的尺寸,即16像素乘16像素。
然后,如上所述,处理的图块108a被转发用于压缩和构造。
图5中所示的可选实施例是示出根据示例的用于产生帧的第三方法500的流程图。图5示出了第三方法500,其中应用了不同的转换算法。条目210、220、230和250可以与上面关于图2描述的方法200中的相同。然而,在条目240处,其中渲染的图块被转换,采取附加方法步骤。在条目242,首先确定方法500是否正在转换待产生的帧的多个图块。如果是,则在条目244处,如上面关于图2的条目240所讨论的那样对两个相邻的图块进行组合。在又一可选实施例中,当在条目210处生成的每个图块的一个尺寸的大小是能够由GPU有效处理的两倍时,也可以使用条目244处的步骤。例如,当在Mali GPU上产生帧时,有效的图块大小为16像素乘16像素。因此,当在步骤210处生成的图块表示是32像素乘16像素时,也可以使用条目244处的步骤。
如果方法500在处理器上使用,该处理器不能同时处理多于单个图块的图块,或者处理其中图块的一个尺寸是能够由GPU处理的两倍的图块,则该方法500可以进行到条目246。
在条目246处,存在用于转换图块的两个选项。根据可用的硬件,可以优先选择使用哪个选项。在步骤247处,渲染的图块被转换,移除未渲染的块。这使得图块中一半大小在一个尺寸上。例如,在其中图块为16像素乘16像素的Mali GPU上,移除未渲染的块产生8像素乘16像素的转换的图块。由于基于图块的GPU被设计为当图块是预定大小时最有效地处理图块,如果GPU要处理具有该尺寸的图块,则这将导致效率低下。因此,在步骤247处,复制具有移除的未渲染块的图块的数据。在上面关于Mali GPU提到的示例中,这产生具有期望的图块大小(16像素乘16像素)的图块。
可选地,该方法可以进行到条目248,由此渲染的图块被转换以移除未渲染的块。然后用零值块填充保留的图块空间,从而确保转换的图块具有期望的图块大小。
一旦已经转换了图块,如同方法200那样,在方法500中,图块被压缩。条目250处的压缩步骤可以消除与复制块或零值块相关联的任何开销。
一旦在条目250处压缩,将构造图块。与方法200的条目250一样,这需要为每个未渲染的块插值像素值。然而,由于图块包括复制块或零值块,因此必须提供所使用的转换方法,以便可以精确地构造块。
图6示出了产生帧的第三方法的步骤的结果的概况。该概况示出了如上面关于图1所讨论的包括多个块(a..h)的单个图块102。图块102表示图1中所示的帧100的预定部分。
如上面关于图2的步骤220所描述的,图块102具有从其中消除的预定块。在该实施例中,当使用棋盘渲染时,从处理中消除图块102的交替的块。这使得图块102m包括一半数量的块,如图6所示,例如图块102m包括具有标识符a、c、e、g的块。
在可选实施例中,例如上面关于图3描述的实施例,可以根据帧来消除图块102的不同部分。例如,如上所述,第一类型掩模可以应用于奇数帧,并且第二类型掩模可以应用于偶数帧。在图6所示的示例中,图块102m具有所应用的棋盘掩模,并且图块102m’具有所应用的反转的棋盘掩模。使用反转掩模,尤其是在棋盘渲染中,可以改善消除的块的像素值的生成,如下面关于图7和图8所讨论的。
一旦已经消除了图块102m的预定部分,则如上所述保留的块被渲染,以产生渲染的图块(未示出)。然后渲染的图块被转换。在该实施例中,存在用于转换渲染的图块的多个选项。
一种选项是移除未渲染的块,并且然后复制渲染的块数据以产生所需尺寸的处理的图块108c。因此,处理的图块108c包括具有相同渲染的块数据102p的第一和第二部分。例如,如图6所示,处理的图块的第一行将包括具有标识符a、c、e、g、a、c、e、g的块。
可选选项是移除未渲染的块,并且然后将零值数据放置在剩余块中以产生所需尺寸的处理的图块108b。处理的图块108b包括具有渲染的块数据102p的第一部分和具有零值数据的第二部分。例如,如图6所示,处理的图块的第一行将包括具有标识符a、c、e、g、0、0、0、0的块。
然后,如上所述,处理的图块108b、108c被转发用于压缩和构造。在压缩期间,还可以提供关于用于转换图块所采取的选项的细节,这使得能够更有效地构造图块,因为它可以帮助减少或消除与像素的复制和零值块的添加相关联的任何开销。
图7是示出根据示例的用于将输出帧输出到显示器的方法700的流程图。在条目710处,从与帧的生成相关联的存储器中读取数据。该数据可以包括当前帧数据、前一帧数据以及与渲染的帧中的多边形相关联的运动矢量元数据。
当前帧数据可以包括由上面关于图2、图3和图5描述的方法200、300、500生成的转换的图块(例如,108a、108b、108c)的数据组。前一帧数据可以包括前一帧的版本,并且运动矢量元数据可以包括与渲染场景内的多边形的位置相关联的信息。
在条目720处,当已经从存储器读取数据时,方法700生成当前版本的帧。如上面关于图2、图3和图5中的条目260所述,帧的生成包括扩展转换的图块108a、108b、108c并且生成用于先前消除的块的像素值。
使用前一帧数据和帧中的每个多边形的运动矢量元数据,可以生成先前消除的块的像素值。当使用例如使用当前帧的反转掩模进行掩模的数据来生成前一帧数据时,可以提高消除的块的像素值的生成精度,如上面关于图3所示的方法300所描述的。
一旦已经生成帧数据844,便向显示器输出这些值。生成的帧数据844也被反馈以在生成已经从下一帧的图块中消除的块时使用。
图8示例性地示出了根据示例的用于产生和输出帧的系统800。系统800包括处理单元810、显示处理器820和显示器830。显示处理器820包括生成模块822和存储器824。例如,存储器824可以是随机存取存储器(RAM)(例如,DDR-SDRAM(双倍数据速率同步动态随机存取存储器))。在其他示例中,存储器824可以是或包括非易失性存储器,例如,固态驱动器(SSD)(例如,闪存)。存储器824可以从显示处理器820移除或不可移除,并且在一些实施例中可以在显示处理器820的外部。
处理单元810可以是基于图块的图形处理器,例如Mali GPU。可选地,处理单元810可以是被设计为执行本文所述的功能的更通用的处理器,例如中央处理单元(“CPU”)或替代处理器,例如微处理器、通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、离散门或晶体管逻辑、分立硬件组件或前述的任何合适的组合。
在一些实施例中,处理单元810将渲染图块,如上面关于图1至图6所讨论的,其中渲染的图块已被转换,并且仅包括尚未被消除的块。经转换和渲染的图块数据840(例如,图4和图6中的108a、108b和108c)被提供给显示处理器820的生成模块822。处理单元810还可以向生成模块822提供与帧内的多边形相关联的运动矢量元数据842。
可选地,处理单元810可以向生成模块822仅提供运动矢量元数据842。此外,生成模块822可以被布置为执行上述方法200、300和500,从而减少处理单元810所需的计算量。
除了当前帧的经转换和渲染的图块数据840以及运动矢量元数据之外,生成模块822还可以接收先前生成的帧数据844。先前生成的帧数据844可以包括来自单个前一帧的数据,或者可选地包括来自多个前一帧的数据。
生成模块822使用先前生成的帧数据844和运动矢量元数据842来生成当前帧数据840中先前消除的块的像素值。
一旦已经生成像素值,生成模块822便将生成的帧数据844输出到存储器824。然后,显示器830读取存储器824的内容并显示该帧。
例如,当使用显示处理器820来渲染帧序列时,第一帧中的所有像素由输出全帧的处理单元810进行渲染。显示处理器820读取该帧并将其输出以用于显示。然后,处理单元810渲染序列中的第二帧的一半像素,其被输出为半帧。显示处理器820读取该半帧,并且使用棋盘渲染技术使用来自第一帧的像素信息来生成未渲染的像素,然后输出第二全帧以用于显示。接下来,处理单元810渲染来自第三帧的一半像素,其被输出为半帧,显示处理器820读取该半帧,并且使用棋盘渲染技术使用来自经渲染的第一帧和经渲染的第二半帧的像素来生成未渲染的像素,然后输出第三全帧以用于显示。
在显示处理器820中进行图块的构造以产生帧,减少了每张图像所需的帧读取和写入动作的数量。这有助于减少去往/来自存储器的外部业务量,并减少功耗。
应当理解,显示处理器820可以将生成的帧直接从生成模块822输出到标准显示器830,或者甚至输出到增强现实设备或虚拟现实头戴式耳机,而不首先将生成的帧写入到存储器824。
系统800的组件可以使用系统总线(未示出)进行互连。这允许数据在各个组件之间传输。总线可以是或者包括任何适当的接口或总线。例如,可以使用
Figure BDA0002188719030000121
先进微控制器总线体系结构
Figure BDA0002188719030000122
接口,例如先进可扩展接口(AXI)。
上述示例中的处理步骤的顺序仅仅是示例。在其它示例中,这些处理步骤可以以不同的顺序执行。例如,可以在呈现未掩模的块之前执行图2、图3和图5中所示的方法200、300和500的条目240处的转换步骤。
应当理解,上述方法和装置可以用作由处理单元采用的帧渲染技术的一部分。例如,所述方法可以与其他技术相结合,以在高分辨率帧的渲染中进一步驱动效率。一种这样的技术可以是在虚拟现实环境中的注视点渲染。当与注视点渲染技术一起使用时,处理单元可以渲染用户关注的区域。然后可以使用上述技术来渲染外围区域。这可以提供用户关注的最佳分辨率图像,同时通过使用计算效率更高的方法来渲染外围区域,从而有效地管理资源和计算能力。
应当理解,关于任何一个示例描述的任何特征可以单独使用,或者与所描述的其他特征组合使用,并且还可以与任何其他示例的一个或多个特征组合使用,或者与任何其他示例的任何组合进行组合使用。此外,在不脱离所附权利要求的范围的情况下,也可以采用上面未描述的等同物和修改。

Claims (10)

1.一种产生帧的方法,包括:
生成所述帧的图块表示,其中,所述图块表示包括多个图块,每个图块与所述帧的区域相关联;
消除每个图块的一个或多个预定部分;
渲染每个图块的保留部分以产生经渲染的图块;
将所述经渲染的图块转换为经处理的图块;以及
从所述经处理的图块构造所述帧。
2.根据权利要求1所述的产生帧的方法,其中,所述图块包括多个像素块。
3.根据权利要求1所述的产生帧的方法,其中,像素块是两个像素宽乘以两个像素高。
4.根据权利要求1所述的产生帧的方法,其中,消除每个图块的一个或多个预定部分的步骤包括:施加具有棋盘图案的模板,所述模板被布置为消除交替的像素块。
5.根据权利要求1所述的产生帧的方法,其中,转换所述经渲染的图块的步骤包括:
组合两个相邻的图块;
利用零值块来扩充来自单个图块的数据;或
从单个图块复制数据。
6.根据权利要求1所述的产生帧的方法,还包括:压缩所述经处理的图块的步骤。
7.根据权利要求1所述的产生帧的方法,其中,构造所述帧的步骤包括:应用棋盘渲染技术来确定所述图块中被消除的那一个或多个部分的像素值。
8.根据前述权利要求中任一项所述的产生帧的方法,还包括:应用所述方法来产生第二帧,并且其中,消除所述图块的一个或多个预定部分的步骤包括:应用模板,所述模板是应用于第一帧的模板的反转。
9.一种用于产生帧的装置,包括:
生成模块,用于生成所述帧的图块表示,其中,所述图块表示包括多个图块,每个图块与所述帧的区域相关联;
消除模块,用于消除每个图块的一个或多个预定部分;
渲染模块,用于渲染每个图块的保留部分并且产生经渲染的图块;
转换模块,用于将所述经渲染的图块转换为经处理的图块;以及
构造模块,用于从所述经处理的图块构造所述帧。
10.一种用于将输出帧输出到显示器的显示处理器,所述显示处理器包括:
帧模块,用于从当前帧缓冲器、至少一个前一帧缓冲器和运动矢量中读取数据;
帧生成模块,用于从由所述帧模块读取的数据来生成所述输出帧;以及
输出模块,用于将所述输出帧输出到所述显示器。
CN201910824712.8A 2018-09-11 2019-09-02 用于产生更高分辨率帧的方法、装置和处理器 Active CN110889799B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1814773.6A GB2577062B (en) 2018-09-11 2018-09-11 Methods, apparatus and processor for producing a higher resolution frame
GB1814773.6 2018-09-11

Publications (2)

Publication Number Publication Date
CN110889799A true CN110889799A (zh) 2020-03-17
CN110889799B CN110889799B (zh) 2024-07-02

Family

ID=

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111901551A (zh) * 2020-06-19 2020-11-06 成都东方盛行电子有限责任公司 超高清小分辨率渲染编辑方法、系统、终端设备及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5867221A (en) * 1996-03-29 1999-02-02 Interated Systems, Inc. Method and system for the fractal compression of data using an integrated circuit for discrete cosine transform compression/decompression
US20030142871A1 (en) * 2002-01-31 2003-07-31 Canon Kabushiki Kaisha Image processing method and apparatus
US20080226186A1 (en) * 2007-03-16 2008-09-18 Taku Kodama Image processing apparatus and method of image processing
CN101650821A (zh) * 2008-07-16 2010-02-17 Arm有限公司 监视图形处理
CN105809728A (zh) * 2015-01-19 2016-07-27 想象技术有限公司 在图形处理单元中渲染场景的视图
CN105809687A (zh) * 2016-03-08 2016-07-27 清华大学 一种基于图像中边沿点信息的单目视觉测程方法
US20170316601A1 (en) * 2016-04-29 2017-11-02 Arm Limited Graphics processing systems
CN108227894A (zh) * 2016-12-15 2018-06-29 联发科技股份有限公司 动态调整帧率的方法及其图形系统
CN108476324A (zh) * 2015-10-08 2018-08-31 皇家Kpn公司 增强视频流的视频帧中的感兴趣区域

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5867221A (en) * 1996-03-29 1999-02-02 Interated Systems, Inc. Method and system for the fractal compression of data using an integrated circuit for discrete cosine transform compression/decompression
US20030142871A1 (en) * 2002-01-31 2003-07-31 Canon Kabushiki Kaisha Image processing method and apparatus
US20080226186A1 (en) * 2007-03-16 2008-09-18 Taku Kodama Image processing apparatus and method of image processing
CN101650821A (zh) * 2008-07-16 2010-02-17 Arm有限公司 监视图形处理
CN105809728A (zh) * 2015-01-19 2016-07-27 想象技术有限公司 在图形处理单元中渲染场景的视图
CN108476324A (zh) * 2015-10-08 2018-08-31 皇家Kpn公司 增强视频流的视频帧中的感兴趣区域
CN105809687A (zh) * 2016-03-08 2016-07-27 清华大学 一种基于图像中边沿点信息的单目视觉测程方法
US20170316601A1 (en) * 2016-04-29 2017-11-02 Arm Limited Graphics processing systems
CN108227894A (zh) * 2016-12-15 2018-06-29 联发科技股份有限公司 动态调整帧率的方法及其图形系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111901551A (zh) * 2020-06-19 2020-11-06 成都东方盛行电子有限责任公司 超高清小分辨率渲染编辑方法、系统、终端设备及存储介质

Also Published As

Publication number Publication date
US20200082505A1 (en) 2020-03-12
GB201814773D0 (en) 2018-10-24
US11055820B2 (en) 2021-07-06
GB2577062B (en) 2021-04-28
GB2577062A (en) 2020-03-18

Similar Documents

Publication Publication Date Title
CN108810571B (zh) 编码和解码二维点云的方法和设备
JP5811106B2 (ja) 映像処理装置、表示装置および映像処理方法
US9818170B2 (en) Processing unaligned block transfer operations
JP5823515B2 (ja) 圧縮されたスーパータイル画像をディスプレイすること
JP4987070B2 (ja) 画像生成装置及び画像生成方法
JP2006014341A (ja) Mcuバッファを用いて画像データを格納するための方法及び装置
US11055820B2 (en) Methods, apparatus and processor for producing a higher resolution frame
JP2012242855A (ja) データ処理装置及びデータ処理方法
JP4113098B2 (ja) ラスタスキャン順序の画像データとブロックスキャン順序の画像データとの間の変換のための画像処理装置及び方法
EP1141892B1 (en) Method and apparatus for stretch blitting using a 3d pipeline processor
JP3687945B2 (ja) 画像処理装置およびその方法
CN110889799B (zh) 用于产生更高分辨率帧的方法、装置和处理器
US10593111B2 (en) Method and apparatus for performing high throughput tessellation
JP2008084302A (ja) 描画装置、描画方法、および描画プログラム
JP2004280157A (ja) 画像処理装置
JP2005012460A (ja) 変換符号化係数のサンプリング変換・解像度変換装置
EP4333437A1 (en) Information processing device and information processing method
WO2023202366A1 (zh) 图形处理器、系统、电子装置、设备及图形处理方法
JP2006141001A (ja) 電力消耗が減少した画像処理装置及び方法
CN117834903A (zh) 一种jpeg图像序列并行解码和渲染方法
JP2000048182A (ja) 画像情報処理装置及び方法、並びにエンタテインメント装置
WO2024049632A2 (en) High-performance and low-latency implementation of a wavelet-based image compression scheme
JPH05292393A (ja) 動画編集処理方式
JP2015210375A (ja) 画像処理装置、その制御方法及びプログラム
EP3675027A1 (en) Image providing apparatus, image providing method, and image providing program

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
TA01 Transfer of patent application right

Effective date of registration: 20220803

Address after: Britain Camb

Applicant after: Arm Ltd.

Address before: Cambridge County, England

Applicant before: Apical Ltd.

Applicant before: ARM Ltd.

TA01 Transfer of patent application right
GR01 Patent grant