本公开内容的方面涉及被配置以响应于由处理单元渲染的图形内容的源帧速率的波动而调整帧扫描输出的定时的系统和方法。在某些实施中,在从帧缓冲器扫描输出帧期间产生的垂直消隐间隔可响应于检测到的产生所述源内容的所述帧速率的改变来调整。在某些实施中,渲染的图形可通过网络流式传输以实时在远程设备上显示,且可调整帧的所述扫描输出,以更好地使压缩和流式传输的所述速率与所述源内容的可变帧速率匹配。
【技术实现步骤摘要】
【专利说明】通过调整垂直消隐进行视频帧速率补偿优先权请求本申请请求在2014年3月12日提交的题为“VIDEO FRAME RATE COMPENSAT1NTHROUGH ADJUSTMENT OF VERTICAL BLANKING”(代理人案卷号 SCEA13043US00)的在共同转让给Roelof Roderick Colenbrander之前、共同未决的美国临时申请号61/951,729的权益,所述美国临时申请的全部内容以引用之方式并入本文。
本公开内容涉及图形处理和视频传输。本公开内容的某些方面涉及当压缩并通过网络流式传输渲染的图形时进行帧速率补偿的系统和方法。
技术介绍
渲染图形以实时传输到显示设备是复杂的过程,其并入许多精心开发的技术以确保新产生的帧被以适当的定时从来源传输到显示器。通常,该过程开始于通常为具有定制用于渲染任务的高度并行结构的图形处理单元(GPU)的处理单元将源内容的每个新帧渲染到称为帧缓冲器的存储器的一部分。本文中被称为“源帧”的源内容的新产生帧每个都被按顺序暂时存储在帧缓冲器中作为具有限定所述特定帧中每个像素的视觉内容的值的数组的图像。当这种情况发生时,在顺序地将图像驱动到显示设备的过程中,这些图像被扫描输出帧缓冲器。同时,显示设备传统上使用被从帧缓冲器扫描输出的图像以固定频率(称为刷新速率)周期性地更新在屏幕上显示的图像。为了将渲染的帧发送到显示器,帧缓冲器中的图像通常被逐行扫描输出并被通过某一视频接口连续地(按顺序)传输到显示设备。在扫描输出期间,产生某些“不可见的”信号以管理传输过程,使得从帧缓冲器输出的实际被传输到显示设备的每个帧(本文中被称为“输出帧”)不仅包括帧的图像的可见像素值,而且包括可被显示设备用以解决如何将接收到的帧显示在屏幕上的其它外部信号。这通常尤其包括在每个扫描输出帧图像之间脉冲的垂直同步信号。每个扫描输出帧图像之间(即,一个帧图像的最后一行或像素与后续帧图像的第一行或像素之间)的时间段被称为“垂直消隐间隔”。这个垂直消隐间隔被产生作为扫描输出过程的一部分,且这个垂直同步脉冲被用于进行图形源和显示器之间的同步。在扫描输出期间垂直同步脉冲发生的频率及因此垂直消隐间隔发生的频率传统上相对于显示设备的刷新速率固定,使得从帧缓冲器扫描输出的每个图像与显示器的每个刷新周期一致。如果原始图形内容的帧速率(即,新源帧被GPU拉到帧缓冲器的速率)与显示器的刷新速率完全同步,那么被GPU拉到帧缓冲器的每个新源帧将1:1对应于在显示设备上呈现的每个图像。例如,如果显示设备的刷新速率为60Hz且GPU与显示器的刷新周期同相地以60FPS的帧速率将新图像渲染到帧缓冲器,那么被在显示器的屏幕上更新的每个图像将完全对应于GPU产生的源帧。然而,在实践中,源内容的帧速率经常随时间变化且可能例如基于当前场景的复杂性或与帧的产生相关联的其它因素而向上和向下波动。例如,如果视频游戏的当前状态导致当前视野中有过多虚拟对象或太多细节,那么帧速率可能由于渲染帧所需的增加的计算负荷而暂时下降。因此,被渲染到帧缓冲器的源内容的帧速率可能与从这个缓冲器的帧的扫描输出和显示设备的相应的刷新周期不同步。换句话说,被拉到帧缓冲器的每个“源帧”可能不完全对应于被驱动到显示设备的每个“输出帧”。源帧速率和显示器刷新之间的这个去同步所导致的不希望的后果是被称为“撕裂”的视觉假象(artifact),其恰如其名,因为看上去似乎对于特定帧显示图像中有水平撕裂。本质上,当帧被扫描输出帧缓冲器时发生撕裂,而存储器的所述部分被以新的后续源帧更新,例如,在被完全扫描输出之前,GPU用后续源帧覆盖缓冲器中的图像。因此,被传输到显示设备的输出帧实际含有来自两个或更多个连续源帧的图像。相应地,当显示设备在所述刷新周期期间更新其屏幕内容时,其同时含有来自源内容的不同连续帧的图像。为了最小化或消除撕裂,帧缓冲器通常包括多个缓冲器,即,前帧缓冲器和一个或多个后帧缓冲器,帧图像被从前帧缓冲器直接扫描输出,当前一帧被扫描输出前帧缓冲器时,GPU可将新的帧拉入后帧缓冲器。当新的帧完成渲染时,后帧缓冲器例如通过将内容复制到前缓冲器或通过改变指定前缓冲器的存储器地址的指针值来与前帧缓冲器交换,使得前缓冲器的内容可被扫描输出到显示设备。为了完全消除撕裂假象,这往往结合防止GPU交换缓冲器的限制,直到刚好在显示设备的刷新周期之后。这通常仅通过迫使GPU在其交换缓冲器之前在垂直消隐间隔期间等待垂直同步脉冲发生来实现。由于这个垂直同步脉冲和垂直消隐间隔传统上相对于显示器的刷新周期以固定间隔产生,它确保了只有完整的源帧被扫描输出帧缓冲器,从而防止发生撕裂假象。虽然这有效地防止撕裂,但是可能会产生被称为“磕巴(stuttering) ”的另一问题,当源帧速率下降且扫描输出单元被迫将相同的帧传输到显示器时,可能发生所述问题。尤其是当GPU被限制以仅在刷新周期之间交换缓冲器时,可断言磕巴,因为帧速率被有效地限制为仅为显示刷新速率的积分因子。由于GPU必须具有完全新的源帧来执行交换,所以如果GPU在同步脉冲的时间尚未完成渲染后续帧,那么它必须等待另外一个完整的周期才可交换缓冲器,即使新的源帧在不久之后以其它方式完成。当磕巴发生时,显示器上感知到的帧速率的突然下降可使观看者分心。在一些情况下,与将帧扫描输出到显示设备不同,理想的是将帧发送到某个其它目的地。例如,云游戏和其它基于云的视频流式传输应用可能需要将渲染的帧压缩并通过网络发送以用于实时显示,而非从帧缓冲器直接传输到显示设备。在这些情况下,优选地,整个源帧被编码器压缩并以最小化等待时间发送到远程设备。为了实现这一任务,编码器必须对受限资源预算进行操作,以确保帧准时到达远程设备。如果源帧速率波动且磕巴发生,那么有价值的压缩资源将朝向压缩相同的帧被浪费。这可能导致编码帧的比起如果压缩资源被更有效地利用所可能达到的图像质量更差的图像质量。另外,如果相同的帧被通过网络流式传输,那么有限的网络带宽就被浪费在不必要的帧上。
技术实现思路
在这样的背景下,产生了本公开内容的方面。本专利技术提供了一种方法,其包括:将多个源帧渲染到缓冲器中,每个所述源帧被以可变帧速率顺序地渲染到所述缓冲器中;使用扫描输出单元从所述缓冲器扫描输出多个输出帧,每个所述输出帧被顺序地扫描输出,在每个所述输出帧的末尾具有垂直消隐间隔;压缩在被扫描输出所述缓冲器的每个所述输出帧内的源帧;检测所述可变帧速率中的一个或多个波动;和响应于所述一个或多个波动而调整所述源帧中一个或多个的所述压缩的定时。本专利技术提供了一种系统,其包括:至少一个处理器单元;至少一个存储器单元,其被耦合到所述处理器单元;和扫描输出单元,其被耦合到所述处理器单元,其中所述处理器单元被配置以执行方法,所述方法包括:将多个源帧渲染到缓冲器中,每个所述源帧被以可变帧速率顺序地渲染到所述缓冲器中;使用扫描输出单元从所述缓冲器扫描输出多个输出帧,每个所述输出帧被顺序地扫描输出,在每个所述输出帧的末尾具有垂直消隐间隔;压缩在被扫描输出所述缓冲器的每个所述输出帧内的源帧;检测所述可变帧速率中的一个或多个波动;和响应于所述一个或多个波动而调整所述源帧中一个或多个的所述压缩的定时本文档来自技高网...
【技术保护点】
一种方法,其包括:将多个源帧渲染到缓冲器中,每个所述源帧被以可变帧速率顺序地渲染到所述缓冲器中;使用扫描输出单元从所述缓冲器扫描输出多个输出帧,每个所述输出帧被顺序地扫描输出,在每个所述输出帧的末尾具有垂直消隐间隔;压缩在被扫描输出所述缓冲器的每个所述输出帧内的源帧;检测所述可变帧速率中的一个或多个波动;和响应于所述一个或多个波动而调整所述源帧中一个或多个的所述压缩的定时。
【技术特征摘要】
...
【专利技术属性】
技术研发人员:RR科伦布兰德,
申请(专利权)人:索尼电脑娱乐美国公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。