CN108227894A - 动态调整帧率的方法及其图形系统 - Google Patents

动态调整帧率的方法及其图形系统 Download PDF

Info

Publication number
CN108227894A
CN108227894A CN201710211934.3A CN201710211934A CN108227894A CN 108227894 A CN108227894 A CN 108227894A CN 201710211934 A CN201710211934 A CN 201710211934A CN 108227894 A CN108227894 A CN 108227894A
Authority
CN
China
Prior art keywords
frame
segment
accumulated value
graphics system
frame per
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
Application number
CN201710211934.3A
Other languages
English (en)
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.)
MediaTek Inc
Original Assignee
MediaTek Inc
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 MediaTek Inc filed Critical MediaTek Inc
Publication of CN108227894A publication Critical patent/CN108227894A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/08Bandwidth reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Graphics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Generation (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

本发明提供一种动态调整帧率的方法及其图形系统。该方法由在图形系统中的帧差发生器硬件执行。该方法包括:在帧缓冲器接收图形数据的同时,自图形系统中的图形处理单元,接收当前帧的图块的图形数据;计算自图形数据计算得到的第一值和表示先前帧的对应图块的第二值之间的差值;累加自先前帧和当前帧的多个图块计算得到的多个差值,以获得累加值;以及报告累加值给由图形系统执行的软件以用于确定帧率的调整。本发明提供的动态调整帧率的方法及其图形系统,可节省功率。

Description

动态调整帧率的方法及其图形系统
技术领域
本发明是有关于图形系统,特别是有关于计算连续帧之间的差值并高效动态调整帧率的图形系统及方法。
背景技术
在计算机图形处理技术中,渲染(render)为自图形物体或模型的描述而产生图像于显示器上的过程。图形处理单元(graphics processing unit,以下简称为GPU)渲染3维图形对象(3D graphical objects)为图像元素(像素),3维图形对象通常由图元(primitive)的组合来表示,例如,点、线、多边形、以及高阶表面(higher ordersurfaces)。
图形处理单元通常包括执行渲染操作的渲染管线(rendering pipeline)。渲染管线包括如下主要阶段:(1)顶点处理,处理并变换顶点(描述图元)于投影空间。(2)光栅化,转换每一个图元为一组3D像素,其与在显示设备上的像素网格对齐,并且具有诸如3D位置,颜色,法线(normal)和纹理的属性;(3)片段处理,处理每个单独的3D像素组;以及(4)输出处理,将所有图元的3D像素合并至2D空间进行显示。
GPU以给定帧率(即,每秒的帧数,也称为“FPS”)输出渲染图像序列(称为“帧”)。帧率可以由在GPU上运行的应用来请求。为了确保高动态的视觉体验,诸如游戏软件设计者的应用设计者会过多设计所请求的帧率(例如,60FPS)以用于所有帧。然而,高帧率通常导致不必要的帧更新,例如当显示内容是静态的(例如,重复的或类似的内容)时。在游戏软件的上下文中,当游戏处于加载阶段或当显示游戏菜单时,静态内容可能经常出现。降低帧率,即减少不必要的帧更新,可以节省GPU消耗的大量功率。例如,将FPS从60降低至30可以节省11%~33%的GPU功率。
因此,需要改进图形系统中的帧率设计。
发明内容
有鉴于此,本发明提出一种动态调整帧率的方法及其图形系统。
依据本发明一实施方式,提供一种用于动态调整帧率的方法。该方法包括:在帧缓冲器接收图形数据的同时,自图形系统中的图形处理单元,接收当前帧的图块的图形数据;计算自图形数据计算得到的第一值和表示先前帧的对应图块的第二值之间的差值;累加自先前帧和当前帧的多个图块计算得到的多个差值,以获得累加值;以及报告累加值给由图形系统执行的软件以用于确定帧率的调整。
依据本发明另一实施方式,提供一种用于动态调整帧率的图形系统。该图形系统包括:图形处理单元;以及帧差发生器硬件,耦接于图形处理单元。帧差发生器进行如下操作:在帧缓冲器接收图形数据的同时,自图形系统接收当前帧的图块的图形数据;计算自图形数据计算得到的第一值和表示先前帧的对应图块的第二值之间的差值;累加自先前帧和当前帧的多个图块计算得到的多个差值,以获得累加值;以及报告累加值给由图形系统执行的软件以用于确定帧率的调整。
本发明提供的动态调整帧率的方法及其图形系统,可实现功率的大量节省。
附图说明
图1描述了本发明的实施例操作于其中的图形系统。
图2描述了根据一个实施例的图形系统。
图3描述了根据一个实施例的用于帧率调整的方法的流程图。
图4描述了根据一个实施例的帧差产生器。
图5描述了根据一个实施例的由在图形系统中的硬件单元执行的动态调整帧率的方法的流程图。
具体实施方式
在下面的描述中,阐述了许多具体细节。然而,应当理解,可以在没有这些具体细节的情况下实践本发明的实施例。在一些情况下,未详细示出公知的电路,结构和技术,以免模糊对本说明书的理解。然而,本领域技术人员将理解,可以在没有这些具体细节的情况下实践本发明。本领域普通技术人员利用所包括的描述,无需过多的实验便能够实现适当的功能。
本发明的实施例提供了一种动态调整图形系统中的帧率的系统和方法。一种硬件组件(称为帧差异产生器(frame difference generator,以下简称为FDG)),高效率计算连续帧之间的差异。GPU将帧的图形数据(一次一个图块(tile))并行地发送到FDG和帧缓冲器。FDG计算表示当前帧的每个图块的哈希值,并且比较两个连续帧的对应图块的哈希值,以计算差值。由FDG计算的差值用于确定是否调整当前帧率。因此,当连续帧之间的差值较低时,图形系统可以操作于较低的帧率。例如,低于用户可察觉的阈值。
图1描述了本发明的实施例操作于其中的图形系统100。图形系统100的图示已经被简化。但是应当理解,图形系统100可以包括为了便于说明而从图1中省略的更多组件。图形系统100包括用于执行图形处理的GPU 110。例如,图形处理包括创建3D场景的2D光栅表示。GPU 110包括固定功能硬件的组合和通用可编程硬件。固定功能硬件的组合是为了加速计算而定制的。通用可编程硬件提供图形渲染中的灵活性。在一些实施例中,通用可编程硬件被称为着色器硬件(shader hardware)。除了渲染图形,着色器硬件还可以执行通用计算任务。
在一个实施例中,图形系统100包括一个或多个中央处理单元(CPU)150。CPU 150可以向GPU 110发出命令以指示GPU 110执行图形计算。在一些实施例中,CPU 150和GPU110可以集成到芯片上系统(SoC)平台中。在一个实施例中,SoC平台可以是移动计算和/或通信设备(例如,智能电话,平板电脑,笔记本电脑,游戏设备等),桌面计算系统,服务器计算系统或云计算系统。
在一个实施例中,GPU 110耦接于到帧差产生器(FDG)120,帧差异产生器120比较连续帧以确定帧的差异或相似性。FDG 120耦接于GPU 110渲染管线的尾端。在一个实施例中,FDG 120是GPU 110的一部分。在替代实施例中,FDG 120在GPU 110的外部。GPU将已渲染的图形数据发送到存储器130中的帧缓冲器。例如动态随机存取存储器(DRAM)或其它易失性或非易失性存储器。显示器140,耦接于存储器130,并从存储器130检索图形数据,以根据同步信号(例如,60Hz的垂直同步VSYNC)而以固定刷新率来显示。该固定刷新率设置帧率的上限,帧率是GPU 110输出连续帧的速率。也就是说,如果帧率超过刷新速率,则不会显示过量的帧。
在一个实施例中,GPU 110并行地向FDG 120和存储器130发送当前帧的图形数据。同样地,FDG 120直接从GPU 110接收图形数据,而没有存储器存取的开销。GPU 110可一次一个区块(即,图块)地处理每一帧,其中图块对应于显示器140中的固定大小的区域(例如,16像素×16像素)。也就是说,每个帧由固定数量的图块而形成。所有这些图块具有相同的大小。在一个实施方式中,当前帧和先前帧中的每一个由相同尺寸的多个图块来形成,以及多个图块由图形处理单元渲染且每次仅渲染一个图块。在由FDG 120接收图块的图形数据之后,FDG 120检索先前帧的对应图块(即,两个图块都在各自帧中的相同位置处)的数据,且产生图块之间的比较结果。FDG 120累加连续帧之间的所有对应图块的比较结果,并将最终比较结果写入存储器130。然后FDG 120向图形系统100(例如,由CPU 150执行的软件)报告或通知最终的比较结果就绪。软件基于最终比较结果确定是否应该调整帧率,并且如果需要,则相应地调整帧率。
当图形应用程序由图形系统100执行时,图形应用程序可以要求一帧率。在一个实施例中,图形系统100的软件可以使用要求的帧率作为基本帧率。如果来自FDG 120的比较结果示出连续帧之间的差值低于一阈值,则帧率将被调整为低于基本帧率。否则,帧率可以保持在基本帧率或被调整为高于基本帧率,但不超过显示器140的刷新速率。
图2描述了根据一个实施例的图形系统100。图形系统100被示为包括在硬件平台上运行的软件框架290。如本实施例所示,软件框架290包括虚线210以上的所有组件;具体地,所示的软件框架290包括帧率控制器270,图形库(graphics library)260和一个或多个应用280。为了简化说明,省略了其他系统或用户空间软件组件。在一个实施例中,软件框架290中的软件可以在诸如CPU 150(图1所示)的主机上执行,其可以将任务分配给GPU 110和硬件平台中的其他硬件组件。
硬件平台包括图1所示的所有硬件组件。在图2的简化说明中,所示的硬件平台包括GPU 110,FDG 120,存储器130和显示器140。GPU 110包括多个管线级(pipelinestages):顶点着色器(vertex shader)210,光栅化220,片段着色器(fragment shader)230和后处理240。管线级210-240中的一些可由相同的硬件组件执行;例如,统一着色器(unified shader)硬件可经编程以执行顶点着色器210和片段着色器230的操作。
在一个实施例中,FDG 120是GPU 110的后处理级240的一部分。当图块的图形数据准备好传送至帧缓冲器250时,还发送图形数据的副本到FDG 120。FDG 120然后执行帧差计算。将参照图3和图4更详细地描述此内容。
图3描述了根据一个实施例的用于帧率调整的方法300的流程图。方法300可由图1和图2的图形系统100执行。请参考图2,方法300以应用程序280通过图形库260请求GPU 110渲染新帧(步骤310)而开始,其中图形库260用作各种应用程序280和底层图形系统(underlying graphics system)100之间的接口层。应用程序280可以指定帧率。GPU 110产生图块的图形数据,并且并行地将图形数据传递到FDG 120和帧缓冲器250(步骤320)。FDG120计算连续帧之间的差值,并通知软件(例如帧率控制器270),以读取计算的差值(步骤330)。在一个实施例中,所计算的差被称为“累加值”,因为它是在连续帧的所有相应图块上累积的值。
基于累加值,帧率控制器270确定是否需要改变当前帧率(步骤340)。在一个实施例中,图形系统100可以以两种帧率中的任一种操作,例如60FPS或30FPS,并且帧率控制器270可以将计算出的差值与阈值(TH1)进行比较,以确定要使用哪个帧率。例如,如果计算的差值小于阈值TH1,则为30FPS,如果计算的差值大于或等于阈值TH1,则为60FPS。在另一实施例中,图形系统100可以以多个帧率中的一个操作,并且每个帧率与累加值的范围相关联。例如,如果阈值V1≤AV1<阈值V2,则可以使用FPS1,如果阈值V2≤AV2<阈值V3,则可以使用FPS2,如果阈值V3≤AV3<阈值V4等,可以使用FPS3,其中阈值V1<阈值V2<阈值V3<阈值V4,FPS1<FPS2<FPS3,以及AV1,AV2和AV3是不同的累加值。在一个实施例中,帧率控制器270可以查找存储不同累加值及其对应的FPS范围的表,用于确定是否调整当前帧率和帧率调整量。
如果当前帧率保持相同(步骤350),则处理返回到步骤310,在步骤310中GPU 110以相同的帧率渲染下一帧。如果要改变当前帧率(步骤350),则帧率控制器270可以通知图形库260调整帧率,或者请求GPU 110调整帧率。然后,图形系统100以新的帧率渲染下一个帧或多个帧(步骤360)。
图4描述了根据一个实施例的帧差产生器120。FDG 120包括哈希生成器410,哈希比较器420,帧差累加器430和先前哈希读取器440。如本文所使用的,术语“图块数据”是指由GPU 110生成并发送到FDG 120的图块的图形数据;术语“中间图块数据”是指在图形数据到达后处理级240之前由GPU 110产生的图形数据;且术语“图块地址”是指识别存储器130中或在帧中的图块的位置的存储器地址或另一类型的位置识别符。
在一个实施例中,当前帧的第一图块的中间图块数据由后处理级240处理为图块数据。GPU 110并行地将块数据发送到存储器130(例如,帧缓冲器)和哈希生成器410。GPU110还发送图块地址,其识别先前帧中的第二图块(也称为对应图块)的位置或地址,其中第一图块和第二图块在各自帧中具有相同位置且占据相同区域。哈希生成器410生成用于第一图块的第一哈希值,并且先前哈希读取器440从存储器130检索第二图块的第二哈希值。哈希比较器420比较第一哈希值和第二哈希值,以及产生差值。帧差累加器430累加当前帧中的所有图块上的差值,并且生成累加值。在处理当前帧的最后一个图块之后,FDG 120将累加值存储到存储器130中作为累加值450,并通知帧率控制器270;例如通过发送中断,以检索累加值450。然后帧差累加器430被复位为零。
在一个实施例中,当前帧中的图块的哈希值(表示为h_t)可以是图块的纠错码值(error correction code value)。先前帧中的相应图块的哈希值被表示为h_t_prev。两个连续帧的对应图块之间的差值(表示为H_d)可以是一或零,指示两个对应图块是否具有不同的哈希值;例如,若(h_t=h_t_prev),则H_d=0;或若(h_t≠h_t_prev)则H_d=1。累加值AV可以通过:AV=AV+H_d/(帧中的图块的数量),来指示两个连续帧之间的不同图块的数量。在一个实施例中,每次处理新帧时,将累加值重置为零。
在另一实施例中,当前帧中的图块的哈希值(h_t)可以是图块的平均颜色值(或百分比)。例如,如果颜色组分红色(R),绿色(G)和蓝色(B)中的每一个的颜色分辨率是256,并且图块中所有像素的平均颜色值是(R,G,B)=(128,128,128),则当前帧中的图块的哈希值h_t可以是128或50%。可类似地计算先前帧中的对应图块的哈希值(h_t_prev)。可以将两个帧之间的颜色距离进行计算以作为当前帧中的图块的哈希值h_t和先前帧中的对应图块的哈希值h_t_prev之间的差值。可以通过:AV=AV+H_d/(帧中的图块的数量),来计算累加值AV,其中如果(h_t=h_t_prev)则H_d=0;或如果(h_t≠h_t_prev)则H_d等于当前帧中的图块的哈希值h_t和先前帧中的对应图块的哈希值h_t_prev之间的颜色距离。
请注意,在哈希值比较的先前示例中,表达式(h_t=h_t_prev)可以被(|h_t-h_t_prev|<Tolerance)替代,其中Tolerance可以是值或百分比。在一个实施例中,FDG 120可以向帧率控制器270不仅报告帧中的多少个图块不同,而且可报告差异的程度;例如通过报告指示两个连续帧不同的累加值。
此外,应注意,在一些情况下,GPU 110可仅写入帧的一部分。因此,帧可以包含一个或多个“未处理”图块。即,没有分配或更新的像素值的图块。在一个实施例中,AV=AV+H_d/(帧中的图块的数目)的上述计算可以由AV=AV+H_d/(帧中的经处理的图块的数目)来替换,其中该帧可以是当前帧或先前帧。“已处理图块”是包含由GPU 110写入的至少一个像素值的图块。使用用于平均计算的已处理图块的数量可以改善差值比较的结果,因为对该帧没有贡献的图块从计算中删除。还要注意,“处理的图块”的数量可以随着一帧到下一帧而不同。还应注意,GPU 110可将相同或不同的像素值写入两个连续帧中的对应图块。这两个对应的图块都是“已处理的图块”,无论它们的内容是否相同。
在一个实施例中,FDG 120可以向帧率控制器270报告以下各项中的一个或多个:帧中的图块的数量,当前(或先前)帧中的已处理图块的数量,以及在当前帧和先前帧之间不同的图块的数量。在一个实施例中,帧率控制器270可以使用由FDG 120报告的信息来执行前述的累加值AV计算。帧率控制器270可以使用由FDG 120报告的信息来执行附加的或替代的帧差计算。
在一个实施例中,存储器130可被设置为包括双缓冲器以存储当前帧数据和先前帧数据。在图4的实施例中,双缓冲器被示为(A_frame,A_hashes)和(B_frame,B_hashes)。当在(A_frame,A_hashes)中处理当前帧时,先前帧及其哈希值可以存储在(B_frame,B_hashes)中;并且当在(B_frame,B_hashes)中处理当前帧时,先前帧及其哈希值可以存储在(A_frame,A_hashes)中。
图5描述了根据一个实施例的由在图形系统中的硬件单元执行的动态调整帧率的方法的流程图。在一些实施例中,硬件单元可以是图1、2和4中的FDG 120。方法500以FDG120从图形系统中的GPU接收当前帧的区块的图形数据,与此同时帧缓冲器接收图形数据(步骤510)而开始。FDG 120计算从图形数据计算的第一值与表示先前帧的对应图块的第二值之间的差值(步骤520)。FDG 120累加来自当前帧和先前帧的多个图块计算的差值,以获得累加值(步骤530)。然后,FDG 120将累加值报告给由图形系统执行的软件,以确定对帧率的调整(步骤540)。
已经参照图1、2和4的实施例描述了图3和图5的流程图的操作。然而,应当理解,图3和图5的流程图的操作可以由图1、图2和图4讨论的那些实施例之外的本发明的其他实施例来执行,并且图1、2和4讨论的实施例可以执行与流程图讨论的实施例不同的操作。虽然图3和图5的流程图示出了本发明的某些实施例执行的操作的特定顺序,但是应当理解,这种顺序是示例性的(例如,替代实施例可以以不同顺序执行操作,组合某些操作,重叠某些操作等)。
尽管本发明以示例和较优实施方式来描述,需要理解的是本发明并非仅限于上述实施方式。与此相反,本发明包括对本领域技术人员显而易见的各种修改和相似排列。因此,本发明的范围应和包括各种修改和相似排列的最广范围一致。

Claims (20)

1.一种用于动态调整帧率的方法,其特征在于,该方法包括:
在接收该图形数据的同时,接收当前帧的图块的图形数据;
计算自该图形数据计算得到的第一值和表示先前帧的对应图块的第二值之间的差值;
累加自该先前帧和该当前帧的多个图块计算得到的多个差值,以获得累加值;以及
报告该累加值给由该图形系统执行的软件以用于确定该帧率的调整。
2.根据权利要求1所述的用于动态调整帧率的方法,其特征在于,计算该差值进一步包括:
计算表示该当前帧的该图块的第一哈希值;
检索表示该先前帧的对应的图块的第二哈希值;
基于该第一哈希值和该第二哈希值之间的不同,计算该差值。
3.根据权利要求2所述的用于动态调整帧率的方法,其特征在于,检索该第二哈希值进一步包括:
由接收该先前帧的对应图块的地址,以用于检索该第二哈希值。
4.根据权利要求1所述的用于动态调整帧率的方法,其特征在于,
该累加值指示关于该当前帧和该先前帧的所有图块的对应图块之间的颜色距离。
5.根据权利要求1所述的用于动态调整帧率的方法,其特征在于,该累加值指示在该当前帧和该先前帧之间的差异程度。
6.根据权利要求1所述的用于动态调整帧率的方法,其特征在于,该累加值指示在该当前帧和该先前帧之间的不同图块的数目。
7.根据权利要求1所述的用于动态调整帧率的方法,其特征在于,累加该累加值进一步包括:
在该当前帧的所有图块处理之后,存储该累加值;以及
通知该软件该累加值准备用于检索。
8.根据权利要求7所述的用于动态调整帧率的方法,其特征在于,进一步包括:
由该软件根据预定阈值或指定累加值和对应帧率的不同范围的表确定该调整的总量。
9.根据权利要求1所述的用于动态调整帧率的方法,其特征在于,报告该累加值进一步包括:
报告该当前帧中的已处理图块的数目,其中每一个已处理图块包括至少一像素值。
10.根据权利要求1所述的用于动态调整帧率的方法,其特征在于,该当前帧和该先前帧中的每一个由相同尺寸的多个图块来形成,以及该多个图块由图形处理单元渲染且每次仅渲染一个图块。
11.一种用于动态调整帧率的图形系统,其特征在于,包括:
图形处理单元;以及
帧差发生器,耦接于该图形处理单元,该帧差发生器进行如下操作:
在帧缓冲器接收该图形数据的同时,自该图形系统接收当前帧的图块的图形数据;
计算自该图形数据计算得到的第一值和表示先前帧的对应图块的第二值之间的差值;
累加自该先前帧和该当前帧的多个图块计算得到的多个差值,以获得累加值;以及
报告该累加值给由该图形系统执行的软件以用于确定该帧率的调整。
12.根据权利要求11所述的用于动态调整帧率的图形系统,其特征在于,该帧差发生器硬件进行如下操作:
计算表示该当前帧的该图块的第一哈希值;
检索表示自存储器的该先前帧的对应的图块的第二哈希值;
基于该第一哈希值和该第二哈希值之间的不同,计算该差值。
13.根据权利要求12所述的用于动态调整帧率的图形系统,其特征在于,该帧差发生器硬件进行如下操作:
接收自该图形处理单元的该先前帧的对应图块的地址,以用于检索该第二哈希值。
14.根据权利要求11所述的用于动态调整帧率的图形系统,其特征在于,
该累加值指示关于该当前帧和该先前帧的所有图块的对应图块之间的颜色距离。
15.根据权利要求11所述的用于动态调整帧率的图形系统,其特征在于,
该累加值指示在该当前帧和该先前帧之间的差异程度。
16.根据权利要求11所述的用于动态调整帧率的图形系统,其特征在于,
该累加值指示在该当前帧和该先前帧之间的不同图块的数目。
17.根据权利要求11所述的用于动态调整帧率的图形系统,其特征在于,该帧差发生器硬件进行如下操作:
在该当前帧的所有图块被处理之后,存储该累加值于存储器中;以及
通知该软件该累加值准备用于检索。
18.根据权利要求11所述的用于动态调整帧率的图形系统,其特征在于,进一步包括:
由该软件根据预定阈值或指定累加值和对应帧率的不同范围的表确定该调整的总量。
19.根据权利要求11所述的用于动态调整帧率的图形系统,其特征在于,
该帧差发生器硬件进行如下操作:
报告该当前帧中的已处理图块之间的数目,其中每一个已处理图块包括由该图形处理单元写入的至少一像素值。
20.根据权利要求11所述的用于动态调整帧率的图形系统,其特征在于,
该当前帧和该先前帧中的每一个由相同尺寸的多个图块来形成,以及该多个图块由图形处理单元渲染且每次仅渲染一个图块。
CN201710211934.3A 2016-12-15 2017-04-01 动态调整帧率的方法及其图形系统 Withdrawn CN108227894A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/379,529 US20180174359A1 (en) 2016-12-15 2016-12-15 Frame difference generation hardware in a graphics system
US15/379,529 2016-12-15

Publications (1)

Publication Number Publication Date
CN108227894A true CN108227894A (zh) 2018-06-29

Family

ID=62561798

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710211934.3A Withdrawn CN108227894A (zh) 2016-12-15 2017-04-01 动态调整帧率的方法及其图形系统

Country Status (3)

Country Link
US (1) US20180174359A1 (zh)
CN (1) CN108227894A (zh)
TW (1) TW201824187A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110889799A (zh) * 2018-09-11 2020-03-17 顶级公司 用于产生更高分辨率帧的方法、装置和处理器
CN114079824A (zh) * 2021-11-02 2022-02-22 深圳市洲明科技股份有限公司 发送卡及其控制方法、显示设备、计算机设备和存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10861421B2 (en) 2018-09-27 2020-12-08 Mediatek Inc. Adaptive control of GPU rendered frame quality

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101068353A (zh) * 2006-06-16 2007-11-07 威盛电子股份有限公司 图形处理单元与计算巨图块的绝对差值加总值的方法
CN101626500A (zh) * 2009-07-31 2010-01-13 北京大学深圳研究生院 一种视频帧率控制方法及装置
CN101668192A (zh) * 2008-09-04 2010-03-10 新奥特(北京)视频技术有限公司 一种基于c/s模式实时传输大数据量图像的方法
US8334857B1 (en) * 2007-12-14 2012-12-18 Nvidia Corporation Method and system for dynamically controlling a display refresh rate
US20140306892A1 (en) * 2013-04-10 2014-10-16 Chip Goal Electronics Corporation Method of dynamically adjusting image frame rate and device using same

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10410398B2 (en) * 2015-02-20 2019-09-10 Qualcomm Incorporated Systems and methods for reducing memory bandwidth using low quality tiles

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101068353A (zh) * 2006-06-16 2007-11-07 威盛电子股份有限公司 图形处理单元与计算巨图块的绝对差值加总值的方法
US8334857B1 (en) * 2007-12-14 2012-12-18 Nvidia Corporation Method and system for dynamically controlling a display refresh rate
CN101668192A (zh) * 2008-09-04 2010-03-10 新奥特(北京)视频技术有限公司 一种基于c/s模式实时传输大数据量图像的方法
CN101626500A (zh) * 2009-07-31 2010-01-13 北京大学深圳研究生院 一种视频帧率控制方法及装置
US20140306892A1 (en) * 2013-04-10 2014-10-16 Chip Goal Electronics Corporation Method of dynamically adjusting image frame rate and device using same

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110889799A (zh) * 2018-09-11 2020-03-17 顶级公司 用于产生更高分辨率帧的方法、装置和处理器
CN114079824A (zh) * 2021-11-02 2022-02-22 深圳市洲明科技股份有限公司 发送卡及其控制方法、显示设备、计算机设备和存储介质
CN114079824B (zh) * 2021-11-02 2024-03-08 深圳市洲明科技股份有限公司 发送卡及其控制方法、显示设备、计算机设备和存储介质

Also Published As

Publication number Publication date
US20180174359A1 (en) 2018-06-21
TW201824187A (zh) 2018-07-01

Similar Documents

Publication Publication Date Title
US11676253B2 (en) Systems, methods, and media for hierarchical progressive point cloud rendering
US10991127B2 (en) Index buffer block compression
US10311548B2 (en) Scaling render targets to a higher rendering resolution to display higher quality video frames
KR101925292B1 (ko) 비-정규 직교 그리드로의 텍스처 매핑을 위한 그라디언트 조정
JP5763195B2 (ja) ディスプレイ上でのピクセルレンダリング
EP3246880A1 (en) Method and device for rendering an image of a scene comprising a real object and a virtual replica of the real object
CN108027955B (zh) 经带宽压缩的图形数据的存储技术
CN103688240A (zh) 用于发送数字场景描述数据的方法以及发送器和接收器场景处理设备
KR20160051154A (ko) 렌더링 방법, 렌더링 장치 및 전자 장치
US9811940B2 (en) Bandwidth reduction using vertex shader
KR20180054797A (ko) 프리-페칭에 의한 효율적 디스플레이 프로세싱
US20190035049A1 (en) Dithered variable rate shading
CN110291562B (zh) 缓冲器索引格式和压缩
KR20180056316A (ko) 타일-기반 렌더링을 수행하는 방법 및 장치
US11321905B2 (en) Error concealment in split rendering
CN108227894A (zh) 动态调整帧率的方法及其图形系统
KR20160031328A (ko) 렌더링 방법 및 장치
CN107533752A (zh) 用于图形处理的基于表面格式的自适应存储器地址扫描
KR20170040698A (ko) 그래픽스 파이프라인을 수행하는 방법 및 장치
US9111328B2 (en) Texture compression and decompression
US10824357B2 (en) Updating data stored in a memory
CN112714357A (zh) 视频播放方法、视频播放装置、电子设备和存储介质
KR20230130756A (ko) 셰이딩 아틀라스를 사용한 분할 렌더링에서의 에러 은닉
KR102308780B1 (ko) 캐시 메모리의 관리 방법 및 그 장치
KR20160004096A (ko) 밉맵 생성 방법 및 장치

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: 20180629