显示墙中视频的同步的制作方法

文档序号:10517820阅读:286来源:国知局
显示墙中视频的同步的制作方法
【专利摘要】本发明涉及一种用于同步来自视频图像源的视频插入(IS)的视频流的视频帧的显示的方法和装置,该视频插入同时在由多个显示器(D)组成的显示墙(1)的两个或更多个显示器(D)上得到显示。本发明建议,同步的无撕裂显示通过用于视频帧的视频帧队列,对于参与视频插入(IS)的显示的网络图形处理器而言共同使用的调解函数和同步消息得以实现,其中所述调节函数在显示墙(1)的多次垂直回扫上延伸的调解时段期间确定哪个视频帧被显示器(D)显示并且建立垂直显示频率和视频流频率之间的平衡,并且其中所述同步消息在调解时段开始之前由一个显示器(D)的主网络图形处理器向其他显示器(D)的从网络图形处理器发送。
【专利说明】
显示墙中视频的同步
技术领域
[0001] 本发明涉及在由多个屏幕组成的显示墙的两个或更多显示器上显示的来自视频 流的视频和视频帧的同步。显示器的另一个常用名称是屏幕或监视器。也被称为视频墙的 显示墙包括多个例如采用投影模块或TFT,LED,0LED或IXD屏幕的显示器(D1,D2,……,Dn)。 投影模块包括用于显示由编码器以缩小的比例生成的图像的投影屏幕,所述图像借助投影 装置被放大地投射到投影屏幕上。在此可以区分反向投影和入射光装置。主动式显示器,例 如TFT,LED,0LED或IXD屏幕,各自以原始比例生成图像,无需投影装置。
【背景技术】
[0002] 大型显示器在需要大规模显示大型复杂图像(例如由不同的视频或计算机帧构成 的图像)的情况下具有广泛的用途。大型图像通常被理解为具有大于0.5米并且可高达数米 长的屏幕对角线的图像。这种大型显示器的宽泛使用范围就是由多个人同时观看的(例如 大型会议和展示会上的)图像的显示。
[0003] 当显示的图像在既定的质量需求下超出特定的大小和复杂度时,使用单个显示器 就不再能够实现图像的显示。在这类情况下,图像由各自通过一个显示器显示的子图像组 合而成。由每个显示器显示的图像在这种情况下是由包括多个显示器的显示墙或投影屏幕 的全部显示器一起显示的整体图像的一个子图像。常见的显示墙因此包括多个棋盘形、平 铺式及并排设置的显示器和承载显示器的显示墙框架。
[0004] 显示墙的单个显示器各自显示将要利用显示墙显示的图像的显示细节。为使整体 图像的印象不被破坏,则单个的显示器必须基本上无缝地彼此相邻。甚至一毫米的距离对 于观察者而言在平铺式结构中已经清楚可见并且被感知为具有缺陷。因此存在如下问题, 即以避免造成整体图像的棋盘形图像印象的方式将单个显示器显示的子图像组合成一个 大屏幕。这一方面涉及子图像由中心向其边缘的强度下降。另一方面特别需要避免单个子 图像之间的较宽清楚可见的空白边。
[0005] 根据现有技术可以在大型显示墙的模块化构造中并排排列和/或重叠堆叠大量显 示器,从而在显示墙上显示由单个显示器群的多个子图像组成的大图像。组成显示墙的显 示器的数量多达150个或更多。大型显示墙,例如由12或更多个显示器组成的显示墙具有数 米的显示墙对角线。这种显示墙例如在现代操纵台显示技术中是常见的。
[0006] 在显示墙上同时显示的视频图像源的数量在有些情况下仅为一个,例如当仅需在 一个非常大的显示墙上显示一个视频时。但是也存在多种应用情形,例如在操纵台显示技 术中或在监控装置中,其中同时在显示墙上显示多个视频图像源,该显示墙因此不仅显示 一个视频,而是显示多个视频图像源。
[0007] 但是在显示墙中不仅存在显示器的尽可能没有空白边的布置的问题,而且在显示 器上显示的图像还必须针对同时在多个相邻的显示器上显示的移动对象这样进行同步:即 由参与的显示器组合成的图像为观察者在显示墙上显示一个同步图像。由于技术现实,特 别是由于渡越时间差别,会出现也就是下面在【附图说明】中详细阐述的视觉"撕裂效应",其 中在特定时刻在显示墙的显示器上可能显示视频图像源的属于不同时间的视频帧。这种视 觉效应特别在水平或垂直运动的对象的情况下具有破坏性,就是说在显示运动对象的显示 器的边缘处具有破坏性,因为在从一个显示器到另一个显示器的渡越期间缺少同步,对象 看上去"被撕裂"。
[0008] 在现有技术中存在下列两种方案用于解决这个问题。
[0009] Sungwon Nam,Sachin Deshpande,Venkatram Vishwanath,ByungilJeong,Luc Renambot,Jason Leigh,"Multiapplication,IntertileSynchronization on Ultra-High-Resolution Display Walls",Proceedings of thefirst annual ACM SIGMM conference on multimedia systems,2010Proceeding,p· 145-156,描述了一种在用于以 超高分辨率显示多种应用的显示墙的单元或显示器之间进行同步的方法。但是,不同于视 频流,类属应用没有固有的频率。在该文献中,显示器由计算机集群控制并且每台计算机可 以控制一个或多个显示器。在此在显示器上显示的多个应用可以独立具有相互不同的帧速 率。帧锁定或同步锁定利用硬件方案实现,从而同步图形处理器的垂直同步。由单个全局同 步主机实施内容缓冲器和交换缓冲器的同步。显示器的刷新频率(垂直显示频率)必须大于 所有显示的应用的帧速率的最大值。内容缓冲器和交换缓冲器的同步需要全局同步主机和 显示器节点之间的密集通信。为了显示一帧,在该引用文献中描述的单相算法的情况下需 要通过网络传输(m+l)n个同步消息,而在描述的二相算法的情况下需要通过网络传输(m+ 3)n个同步消息,其中m是视频图像源的个数并且η是显示墙中的显示器的个数。这导致较高 的网络负荷并降低了系统的伸缩性。
[0010] 在Giseok Choe,Jeongsoo Yu ,Jeonghoon Choi ,Jongho Nang,"Designand Implementation of a Real-time Video Player on Tiled-Display System",Seventh International Conference on Computer and Information Technology(CIT 2007), IEEE Computer Society ,2007,p. 621-626中描述了一种平铺式显示系统上的实时视频播 放器,所述显示系统包括多台PC从而形成具有较高分辨率的大型显示墙。在该文献建议的 系统中,主进程借助UDP多播向多台PC传输压缩的视频流。所有PC接收相同的视频流,对其 解压缩,从解压缩的视频帧切割出期待区域并且将期待区域在其显示器上显示,同时视频 帧彼此之间借助一种同步方法被同步。借助PC的硬件时钟的同步避免了显示器墙的显示器 之间的偏斜,并且借助基于视频流的比特率的流控制以及预缓冲避免了抖动。但是,该系统 需要视频帧中准确的时间戳可用并且仅适于用于在显示墙上显示单个的视频图像源而不 是同时显示多个视频图像源。
[0011]因此,现有技术中已知的方案是有缺陷的,特别是在必需的硬件耗费、较高的网络 负荷和针对同时在显示墙上显示多个任意视频图像源而缺失的普适可用性方面。

【发明内容】

[0012]从现有技术出发,本发明的任务在于提供一种改进的方法和相应装置,利用其可 以以如下方式同步同时在显示墙的多个(特别是相邻的)显示器上显示的任意视频图像源 的图像,即由参与的显示器组合而成的图像为观察者在显示墙上提供一个同步图像。相对 于传统的同步方法,降低了为同步显示器上的显示而通过网络传输的同步信息的频率及次 数,网络由此仅具有较小负荷。
[0013] 根据本发明,该任务通过具有所附权利要求1的特征的方法得以实现。本发明的优 选实施方式、改进方案和用途根据从属和独立权利要求以及具有附图的下列说明而变得显 而易见。
[0014] -种根据本发明的用于同步来自视频图像源的视频插入的具有视频流频率匕的 视频流的视频帧的显示的计算机执行方法,该视频插入同时在由多个显示器组成的显示墙 的两个或更多个显示器上得到显示,其中
[0015] 所述显示器各自由包括具有网卡和显卡的计算机的相关网络图形处理器控制并 且以相同的垂直显示频率fd运行,
[0016] 所述网络图形处理器上的本地时钟被同步,优选通过PTP(精确时钟协议)完成,
[0017] 所述网络图形处理器的驱动显示器的显卡的垂直回扫借助帧锁定或同步锁定被 同步,并且
[0018] 视频流通过网络从视频图像源被传输到所述网络图形处理器,其中优选地,视频 图像源在通过网络传输之前借助编码器分别进行编码和压缩,并且在由网络图形处理器接 收之后借助解码器进行解码,
[0019] 该方法具有的特点在于其包括下列步骤:
[0020] 在主从架构中组织参与视频图像源的显示的网络图形处理器,其中一个网络图形 处理器被配置为用于视频图像源的主网络图形处理器并且其它网络图形处理器被配置为 从网络图形处理器,其中对于每个视频图像源角色的相应分配被安排为使得:为了同步视 频图像源的显示,主网络图形处理器将同步消息发送到从网络图形处理器,而该同步消息 由从网络图形处理器接收并评估,
[0021] 所述视频帧各自借助嵌入到视频流中的绝对帧识别号被标识,该绝对帧识别号优 选从视频帧的RTP时间戳导出,
[0022] 在帧同步时刻在网络图形处理器之间同步视频帧的显示,在该帧同步时刻之后各 自跟随一个持续到下一个帧同步时刻的调解时段,该调解时段在显示墙的多次垂直回扫上 延续,其中在帧同步时刻之前不久,即调解时段开始之前,在同步消息时刻由主网络图形处 理器向从网络图形处理器发送同步消息,并且其中在调解时段期间由网络图形处理器同步 显示视频帧,其方法在于网络图形处理器各自借助调解函数局部地确定待显示的视频帧, 该调解函数对于网络图形处理器而言是共同的,并且其中为同步显示视频帧而需要的包括 在调解函数的自变量中的参数在同步消息中被传送,
[0023] 其中,要么这些参数包括由主网络图形处理器测量的视频流频率fs或与此等效的 由主网络图形处理器测量的视频流频率fs的周期Ts和由主网络图形处理器测量的垂直显示 频率f d或与此等效的由主网络图形处理器测量的垂直显示频率fd的周期Td,要么这些参数 包括由主网络图形处理器测量的视频流频率fs与由主网络图形处理器测量的垂直显示频 率fd)的比fs/fd或其与此等效的倒数fd/fs,要么这些参数包括由主网络图形处理器测量的 垂直显示频率fd的周期Td与由主网络图形处理器测量的视频流频率fs的周期Ts的比Td/Ts或 其与此等效的倒数T s/Td,
[0024] 所述主网络图形处理器通过以小于垂直显示频率fd的速率发送同步消息来同步 所述调解函数,
[0025] 视频流的待渲染视频帧各自由网络图形处理器借助局部视频帧计数器局部地计 数并且各自通过链入相应的视频帧队列而被缓冲,包括其相关的绝对帧识别号和相关的局 部视频帧计数器,从而每个视频帧队列包括绝对帧识别号和局部视频帧计数器之间的局部 映射,
[0026] 与主网络图形处理器传向从网络图形处理器的同步消息一起,在同步消息时刻传 送主网络图形处理器的视频帧队列的瞬时图像,该同步消息时刻比下一个帧同步时刻提前 帧同步时刻前段,其中该瞬时图像包括主网络图形处理器的视频帧队列中的视频帧的主网 络图形处理器的绝对帧识别号和局部视频帧计数器之间的局部映射,
[0027] 为在同步消息之前检测局部帧偏移,将由从网络图形处理器与同步消息一起接收 的主网络图形处理器的视频帧队列的瞬时图像与从网络图形处理器的视频帧队列的局部 存储的瞬时图像进行局部地比较,并由该比较确定帧偏移,其中所述帧偏移指示各个从网 络图形处理器上的视频帧的显示相对于主网络图形处理器上的视频帧的显示偏移的视频 帧的数量,
[0028]并且局部帧偏移在从网络图形处理器上从帧同步时刻起被校正,其方法在于在从 网络图形处理器上从帧同步时刻起将帧偏移加到从网络图形处理器的说明待渲染视频帧 的局部视频帧计数器上,
[0029] 从而从网络图形处理器接收来自主网络图形处理器的在同步消息中的为进行同 步所必须的信息,从而既能够在帧同步时刻也能够在其随后的直到后面的帧同步时刻的调 解时段期间自动局部地与主网络图形处理器同步地显示视频插入的视频帧。
[0030] 此外,本发明还涉及一种计算机程序产品,特别是计算机可读的数字数据载体,其 具有存储的计算机可读和计算机可执行的指令以用于实施根据本发明的方法,即具有当其 在处理器、计算机或计算机网络中加载并得到执行时使得所述处理器、计算机或计算机网 络实施根据本发明的方法步骤和操作的指令。
[0031] 另外本发明还涉及一种计算机系统,包括多个网络图形处理器,所述网络图形处 理器各自具有带有网卡、显卡和网络接口的计算机和用于实施根据本发明的方法的视频同 步模块。该视频同步模块在此可以实施为硬件或者优选完全实施为软件。
[0032] 最后,本发明涉及一种由多个显示器组合而成的显示墙,其用于显示来自一个或 多个视频图像源的一个或多个视频流,并且包括根据本发明的计算机系统。
[0033] 本发明基于以下知识,即利用根据本发明的视频帧的同步(其实质上基于对网络 图形处理器中用于视频帧的各个视频帧队列和在网络图形处理器中共同使用的调解函数 的组合使用,并且根据主网络图形处理器以相对较低的速率被同步),可以以如下方式关于 频率和相位同步视频图像源或视频插入的视频帧在显示墙的数个屏幕上的显示,即实现无 撕裂的显示,其中网络仅少量负荷同步过程和同步消息。通过本发明既补偿了显示的视频 流的频率与垂直显示频率之间的差异,也补偿了显示的视频流的视频帧通过网络向各个网 络图形处理器传输的传输时段的差异以及各个网络图形处理器中的视频帧的处理时段的 差异。在此首先,但非唯一地,不同频率的补偿基于调解函数的使用,并且不同的传输和处 理时间的补偿(所谓去抖动)基于视频帧队列的使用。根据本发明的调解函数的使用导致同 步消息的频率大幅降低。本发明因此以有利的方式实现了无撕裂显示,同时网络负荷较低。 [0034]本发明相对于上述Sungwon Nam等所著的引用文献具有以下优点:
[0035] (i)显示器的刷新频率(垂直显示频率)独立于各个视频图像源的帧速率(视频流 频率),因此,可以显示任意视频流频率的多个视频图像源。
[0036] (ii)主机的角色与特定的视频图像源相连。因此,不同的网络图形处理器可以用 作用于不同视频图像源的内容同步的主机。这在实施本发明时相比于其中需要用于同步的 唯 个主机的系统是一个优点。
[0037] (iii)在两个连续的帧同步时刻之间,调解函数确定哪些视频帧被连续显示。但 是,实施帧同步的频率,即帧同步的频率(视频帧的同步显示的再关联)大大小于垂直显示 频率(显示器的同步重复频率,显示器垂直回扫刷新速率,其英文是refresh rate)。这大大 降低了为了避免撕裂而必须通过网络运行的同步过程造成的网络的额外负荷。当更多的 (例如,40至60个)视频图像源或视频插入需要被同步时,这更为有利。
[0038] (iv)同步过程对于每个视频图像源而言独立进行。在以并行的方式对多个网络图 形处理器NGP上的多个视频流(视频插入IS)执行同步时,用于多个同时同步视频流(视频插 入IS)的同步过程相互不影响,就是说,至少当视频插入不需要透明的叠加时(实践中几乎 总是这种情况),这些同步过程相互完全独立地工作。根据本发明的内容同步的方法因此对 于在显示墙上显示的每个视频流,分开以及相互独立地进行,在此用于各个视频流(视频插 入IS)的独立同步过程无须要求相互之间进行协调或同步。
[0039] (v)显卡的输出信号的垂直回扫(英文:vertical retraces)的同步的实现不需要 额外的硬件,其方法在于在每个显卡上通过软件编程像素时钟。因为视频帧被渲染到不可 见的第二缓冲器中(双重缓冲),并且仅在下一个垂直回扫期间在该隐藏缓冲器被复制到可 见区域时变得可见(交换锁定),则关于任意数量的视频图像源的视频帧的重新提取在所有 网络图形处理器之间被自动同步。
[0040]本发明相对于上述Giseok Choe等所著的引用文献具有以下优点:
[0041] (i)本发明可以处理多个具有相互不同的帧速率的视频图像源。视频图像源的帧 速率也可以不同于平铺式布置的显示墙的显示器的刷新速率(垂直显示频率)。
[0042] (ii)嵌入到视频流中的时间戳在本发明中仅用于标识视频帧,时间戳的时间信息 并不用于视频帧的同步。这是具有优点的,因为并非所有编码器都支持正确的时间戳信息。 与此相反,根据该Giseok Choe等所著的引用文献,用于视频帧的同步显示的方案完全取决 于视频帧的正确时间戳的可用性。
[0043] 网络图形处理器(NGP 1,NGP 2,……,NGP η)上的新视频帧的同步的显示还不是 内容同步,就是说,新视频帧的同步的可见并不保证该新视频帧也是来自视频流的同一个 视频帧。最终实现这种内容同步的过程对于每个视频图像源而言是分开并且独立工作的, 其中对于这些过程中的每一个,一个网络图形处理器是主机并且其余全都是从机;在此,视 频图像源的不同显示可以具有不同的网络图形处理器作为主机。主机的角色在于将用于视 频帧内容同步的同步消息发送给所有参与的从机。
[0044]根据本发明的调解函数的主要优点因此在于,为同步所必需的网络负荷大幅降 低,因为不必为视频流的每个单独视频帧通过网络发送同步消息,而是仅以帧同步时刻TS 的时间间隔发送。两个帧同步之间的时间,即两个帧同步时刻TS之间的调解时段ΤΜ在本发 明中典型地持续一秒而不是20毫秒,如其在以50Hz的视频流帧速率进行逐帧同步时所需的 一样。此外特别有利的是,为了根据本发明的帧同步,不需要由从网络图形处理器向主网络 图形处理器发送同步消息,而是将同步消息由主网络图形处理器向从网络图形处理器传送 即已足够。网络图形处理器上用于来自同步消息的信息与本地存储的信息的局部比较和用 于调解函数的计算或用于相应地确定待渲染视频帧的额外数据处理耗费是很低的,并且考 虑到通常使用的网络图形处理器的较高计算功率,其在实践中并不构成值得注意的负荷。
[0045] 根据本发明的同步的实施由调解和帧同步构成,并且优选完全在用于渲染(以及 需要时也用于软件或硬件解码)的标准硬件组件上的(例如在LINUX操作系统上的)软件中 实现。这种网络图形处理器形式的标准硬件组件包括具有网卡、显卡和(以太网)网络接口 的计算机。因此本发明具有以下优点,即本发明可以无需额外的硬件组件在通常使用的显 示墙中以符合标准的现存硬件得以实施。
[0046] 在具有优点的实践实施方式中,根据本发明的方法可以包括特别是一个或多个下 列其它步骤:
[0047]网络图形处理器的显卡的垂直回扫由网络图形处理器借助在网络图形处理器之 间被同步的Vsync计数器局部地计数,
[0048]由网络图形处理器形成局部相对Vsync计数器NSR,该Vsync计数器是表示当前已 同步Vsync计数器与其上一个帧同步时刻时的值之间的差,
[0049]由网络图形处理器使用所述相对的Vsync计数器NSR作为调解函数MF的自变量值, 其中下式适用于该调解函数MF:
[0051]并且调解函数MF计算局部相对视频帧计数器NFR作为函数值,该局部相对视频帧 计数器是将从视频帧队列选出以用于渲染的视频帧的局部视频帧计数器与上一个帧同步 时刻时的视频帧的局部视频帧计数器之间的差,从而由相应的网络图形处理器借助局部相 对视频帧计数器NFR确定和选择用于在显示器上显示的待渲染的视频帧,以用于由网络图 形处理器渲染,
[0052]其中,由于包含在调解函数MF的自变量值中的视频流频率fs除以垂直显示频率fd 的比(或者周期期间的倒数比),如果这两个频率不同,则调解函数MF在处理视频帧的期间 在这两个频率之间进行平衡和调节。
[0053]在具有优点的实施方式中,根据本发明的方法还可以包括特别是一个或多个下列 其它步骤:
[0054]为确定帧偏移,在与同步消息一起被接收的主网络图形处理器的视频帧队列的瞬 时图像与从网络图形处理器的视频帧队列的局部存储的瞬时图像的比较中,使用在这些瞬 时图像中包含的绝对帧识别号,以检查是否在这两个瞬时图像中包含共同的参考视频帧, 并且针对这个参考视频帧,由在绝对帧识别号和在瞬时图像中包含的局部视频帧计数器之 间的局部分配形成视频帧计数器差,该视频帧计数器差是参考视频帧的从网络图形处理器 的局部视频帧计数器与参考视频帧的主网络图形处理器的局部视频帧计数器(NFM)之间的 差,
[0055]并且借助该视频帧计数器差通过如下方式确定帧偏移:首先从网络图形处理器对 于参考视频帧形成换算差,该换算差是其局部视频帧计数器与视频帧计数器差之间的差, [0056] 并且从网络图形处理器通过从所述从网络图形处理器的局部视频帧计数器减去 换算差来计算用于视频帧的主网络图形处理器的局部视频帧计数器,该视频帧在同步消息 时刻由主机为渲染而选出,
[0057]并且计算帧偏移作为用于在同步消息时刻由从网络图形处理器为渲染而选出的 视频帧的主网络图形处理器的局部视频帧计数器与用于在相同的同步消息时刻由主网络 图形处理器为渲染而选出的视频帧的主网络图形处理器的局部视频帧计数器之间的差。 [0058]在这个过程后面存在以下问题,即从网络图形处理器如何借助通过同步消息中接 收的瞬时图像来确定视频帧的局部视频帧计数器,该视频帧在主网络图形处理器上具有一 个局部视频帧计数器。在此,从网络图形处理器将其局部视频帧计数器调整至主网络图形 处理器。这借助视频帧计数器差实现,只要在解码网络图形处理器上的视频流时没有视频 帧例如由于发生故障、干扰、误传输或时间问题而从视频流丢失,则所述视频帧计数器差是 恒定且独立于视频帧的。在确定和校正从网络图形处理器和主网络图形处理器之间的帧偏 移时,需要局部视频帧计数器的视频帧计数器差,以将从网络图形处理器的局部视频帧计 数器换算为主网络图形处理器上的局部视频帧计数器。从网络图形处理器可以针对任意给 定的视频帧通过从其局部视频帧计数器减去换算差来计算主网络图形处理器上的局部视 频帧计数器。
[0059] 为了确定帧偏移,在比较瞬时图像时通常可以查明包含在两个瞬时图像中的任意 绝对帧识别号,就是说包含在与同步消息一起传送给从网络图形处理器的主网络图形处理 器的瞬时图像和从网络图形处理器从NGP的视频帧队列的瞬时图像中,从而借助这个共同 的参考视频帧确定帧偏移。在采用优化方式的优选实施方式中,可以检查包含的绝对帧识 别号的间距是否在两个瞬时图像中重叠,以及确定共同的参考视频帧,优选以根据一个或 两个下列可选方案的方法步骤进行测试:
[0060] 第一种可选方案在于,在比较瞬时图像以确定视频帧计数器差时,查明直接在发 送同步消息之前,最后由从网络图形处理器放入从网络图形处理器的视频帧队列的视频帧 是否包含在主网络图形处理器的瞬时图像中。如果是,则然后可以使用这个视频帧作为共 同的参考视频帧。
[0061] 第二种可选方案在于,为确定视频帧计数器差,对于直接在发送同步消息之前由 网络图形处理器最后放入主网络图形处理器的视频帧队列的视频帧,主网络图形处理器的 局部视频帧计数器的值以及这个视频帧的绝对帧识别号与主网络图形处理器的同步消息 一起向从网络图形处理器传送,并且在比较瞬时图像时查明这个视频帧是否包含在被比较 的两个瞬时图像中。如果是,则然后可以使用这个视频帧作为共同的参考视频帧。
[0062] 在该实施方式中,根据如下方式确定帧偏移:从网络图形处理器计算为了渲染而 在上一个帧同步时刻被选出的视频帧的局部视频帧计数器(其以视频帧计数器差换算到主 机上)与主网络图形处理器的相应视频帧的局部视频帧计数器(与上一个同步消息一起由 主网络图形处理器传送)之间的差,并且利用这个差通过加法或减法校正从网络图形处理 器的局部相对视频帧计数器。
[0063] 这两个测试可以以任意顺序实施,并且当这两个测试之一成功时,即检测到重叠 时,不需要再实施另一个测试。与此相对地,当两个测试都不成功时,在比较的瞬时图像中 不存在共同的参考视频帧。
【附图说明】
[0064] 下面借助在附图中示出的示例详细阐述本发明。在此描述的特点可以单独或彼此 组合地使用,用以提供本发明的优选实施方式。相同或作用相同的部分在不同的附图中以 相同的附图标记标出并且一般仅描述一次,即使在其它实施方式中可以有利地使用这些部 分。其中:
[0065] 图1示出具有3X4显示器的显示墙的示例,
[0066]图2示出显示墙上的视频插入的示例,
[0067]图3示出显示墙中垂直测试条水平移动时帧撕裂的示例,
[0068]图4示出显示墙中水平测试条垂直移动时帧撕裂的示例,
[0069]图5是具有帧锁定的系统配置,
[0070] 图6是具有同步锁定的系统配置,
[0071] 图7示出实施为环形缓冲器的视频帧队列的示例,
[0072] 图8示出fs = fd,即视频流频率fs等于垂直显示频率fd时网络图形处理器上的视频 流的渲染,
[0073]图9示出fs〈fd时网络图形处理器上的视频流的渲染,
[0074]图10示出显示器上图9的视频帧的样式,
[0075]图11示出fs>fd时网络图形处理器上的视频流的渲染,
[0076]图12示出显示器上图11的视频帧的样式,
[0077]图13示出针对一个视频图像源的两个网络图形处理器的同步,
[0078]图14示出针对匕《(1的情况的调解函数的效应,
[0079] 图15示出针对fs>fd的情况的调解函数的效应,
[0080] 图 16 示出函数 floor(x),
[0081] 图17示出同步过程的第一准备阶段,
[0082]图18示出同步过程的第二准备阶段,
[0083]图19示出同步过程,并且
[0084] 图20示出频率fs和fd的测量。
【具体实施方式】
[0085]图1示出具有3X4显示器D的示例性显示墙1的显示器D的俯视图。也被称为视频墙 的显示墙1通常包括多(η)个显示器D(D1,D2,……,Dn),例如投影模块(反向投影或入射光) 或LCD。显示墙1的架构包括以具有i行和j列的矩阵布置的η个邻接的显示器D,就是说iXj =n。这η个显示器D具有相同的显示频率fd并且优选具有相同的大小和分辨率。
[0086] 待由显示墙1的显示器D显示的视频图像源S是多(m)个视频或视频图像源S(S1, S2,……,Sm)。这些视频各自是帧的一个数据流,即视频帧的视频流。多个连续的单个帧组 成视频或影片。由显示器D显示的从包括多个单个帧的视频或影片序列采集的各个帧被称 为视频帧。视频图像源S具有既可以相互不同也可以不同于垂直显示频率fd的视频流频率 fso
[0087]当作为视频图像源的附图标记的S(或源,英文:"source")是指视频数据流的生成 器或源端(例如提供视频作为视频图像源的编码器)时,由视频图像源S的视频流导出的在 显示墙1的显示器D上的显示被称为视频插入IS(英文:"insertions")。特定数量的视频插 入IS从视频图像源S获取并在显示墙1上显示。在此单个的视频插入IS可以仅是视频图像源 S的图像的部分(所谓的"裁剪")或者也可以是图像视频源S的整个图像。视频图像源S的图 像也可以作为多个视频插入IS在一个或多个显示器D上重复显示,同样地这也适用于一个 视频图像源S的图像的部分。通常视频插入IS的数量大于或等于视频图像源S的个数m。在实 践中最常见的情况下,每个视频图像源S仅在显示墙1上显示一次。在这种情况下,视频插入 IS的数量等于视频图像源S的数量m。
[0088] 图2示出图1的显示墙1上的逻辑视频插入IS的示例。在显示墙1上显示的视频插入 IS的空间区域通常跨多个显示器D延伸,其中相关的显示器D上的部分视频插入一起形成逻 辑视频插入IS。在图2中,视频插入IS的叠加区域在整个显示器D6和显示器D1,D2,D3,D5, D7,D9,D10和Dll的部分上延伸,与此相对地,显示器D4,D8和D12不参与视频插入IS的显示。
[0089] 由于各种各样的影响,特别是由于从视频图像源S的编码器到显示器D的网络图形 处理器的不同传输时段(网络延迟)和/或由于例如由不同的CPU负载导致的参与显示器D上 的图像生成的网络图形处理器的不同处理时间(处理延迟),可能发生以下情形:逻辑视频 插入IS的视频流的一个特定视频帧在一个显示器D上以相对于其它显示器D来说具有少量 时间延迟地显示。这就是说,在一个时刻在一个显示器D上显示一个视频帧i时,在同一时刻 在显示墙1的一个或多个其它显示器D上显示视频流中时间上在先的一个或多个视频帧,例 如视频帧(i-Ι)或(i-2),或视频流中后来到达的一个或多个视频帧,例如视频帧(i+Ι)或(i +2)〇
[0090] 这会导致通常称为撕裂(英文中"to tear" =撕裂,在德文中叫作"Einzelbild-ZerreiPen"或"ZeilenreiPen")的一种效应。导致显示墙1的显示器D上的显示出现撕裂的 其它原因还在于,在网络上分布编码的不同视频图像源S可能来自具有不同帧速率的视频 图像源S,以及视频图像源S的帧速率可能不同于显示器D的刷新频率(垂直显示频率)。
[0091] 已知的撕裂是在单个显示器D,例如计算机监视器或数字电视机上显示移动图像 时的一种不期待的效应(所谓的"伪像")。撕裂是视频显示中的一种视觉伪像,该视觉伪像 在视频显示器D以单个图像滚动显示一个或多个视频帧的信息时出现。当各个帧的显示和 结构与监控器显示(例如刷新频率(刷新速率,垂直频率,垂直显示频率))或者图像滚动不 同步时会出现这种效应。这可能是由于刷新频率的调整缺失;在这种情况下,撕裂线在相差 变化时以与频率差成正比的速度移动。但是其也可能是仅由于相同的帧速率之间的相位没 有同步;在这种情况下撕裂线位于由相位差给定的一个固定位置处。
[0092] 在显示移动的图像或者摄像机晃动时,撕裂导致直接对象的边缘的撕裂外观,这 些对象不再彼此无缝相连。于是观察者在相同时间会看到连续帧的数个部分,就是说图像 看上去被"撕裂"。可以通过多重缓冲,例如图像生成和图像显示时的双重缓冲进行补救,其 方法在于将单个图像交错地写入两个存储器区域中,这两个存储器区域中总是有一个可 见。这些存储器区域然后在垂直同步(Vsync)期间以监控器的刷新频率同步地切换,大约为 每秒60次,由此图像变化变得"不可见"。这个原理同样对30Hz或15Hz起作用,只是监视器显 示每个图像稍微更久。这种撕裂效应在更高分辨率的情况下特别有破坏性,其中取决于监 控器面板的结构,可能发生垂直或水平撕裂,甚至两个方向上的撕裂。
[0093]为了避免已知的在单个显示器D中的撕裂,大多既使用多重缓冲,例如双重缓冲, 也使用垂直同步。显卡一直被阻止使显示器存储器中的内容可见,直到显示器存储器已经 结束其当前刷新周期,并且在垂直消隐间隔期间控制器要么使显卡将不可见的图形区域复 制到主动式显示器区域要么将两个存储器区域都视为可见并且简单地在二者之间切换。在 垂直同步中,渲染引擎的帧速率恰好等于监视器的刷新频率(垂直显示频率)。但是其也有 如下缺点,例如抖动(英文:"judder"),其起因在于视频通常以比监控器的刷新速率(通常 为60Hz)更小的帧速率(24-30视频帧/秒)拍摄。由此导致的经常错过起始点和中间帧略微 频繁的显示会导致图像抖动。
[0094]因此,在现有技术中已得到在单个显示器D上在显示期间避免撕裂的显著技术效 果的状况下,其中使用的已知措施不能解决上述问题,这是由于所述渡越时间差别,在一个 特定时刻在显示墙1的显示器D上可以显示在视频流中属于不同时间的视频帧。这种在显示 墙1中出现的视觉效应同样可以被称为"撕裂效应",并且特别在显示水平或垂直移动的对 象时在显示该对象的显示器D的边缘处带来干扰,因为在一个显示器与相邻的显示器之间 的过渡处该对象看上去"被撕裂开"。显示器D的刷新速率(垂直显示频率)和分辨率越高,则 这种效应出现得越多。图3和图4示出该效应,其中在两个相邻的显示器D上延伸的为实施可 复制的测试而经常使用的测试信号以水平和垂直游移的条或测试条的形式得到显示。 [0095]图3示出了垂直条(向+x方向的)水平移动时显示墙1中的帧撕裂的示例。显示器D3 示出视频帧i并且相邻的显示器D1在同一时刻显示之前的视频帧(i-Ι)。由此导致撕裂,就 是说在显示器D1和D3之间的过渡处导致条的显示的偏移,其中该偏移越大,则移动的条的 速度越高。这种偏移歪曲了条的显示并且对观察者而言造成了干扰。该偏移越大,则移动的 条的速度越高。
[0096]图4示出水平条(向+y方向的)垂直移动时显示墙1中的帧撕裂的示例。显示器D3显 示视频帧i并且相邻的显示器D4在同一时刻显示之前的视频帧(i-Ι)。由此将导致撕裂,就 是说在显示器D3和D4之间的过渡处导致条在显示器上的显示中歪曲显示的偏移,其中该偏 移越大,则移动的条的速度越高。
[0097] 相邻显示器上对象的显示的一个视频帧的偏移在观察显示墙1时引人注目(即橡 胶带效应)。在实践中,在没有根据本发明对视频帧的显示进行同步的情况下,显示墙1的显 示器D上的时间帧偏移从+/-1至最大+/-3。但是当在相邻显示器D上显示视频插入时,甚至 +/-1的视频帧的区别都是可见的,特别是在显示快速移动的对象时,并且因为帧偏移摆动, 并且因此应该通过同步而阻止帧偏移。但是在实践中,根据本发明采用视频帧队列和调解 函数校正+/_3的视频帧(即三个连续的垂直回扫)的偏差通常是足够的。
[0098]为了避免显示墙1中帧撕裂的这种可见的伪像,重要的是在显示墙1的不同(物理) 显示器D上在一个时刻恰好显示逻辑视频插入IS的同一个视频帧。视频插入IS的视频帧在 显示墙1的显示器D上的显示因此必须关于频率和相位进行同步,从而避免在特定时刻由显 示器D显示不同的视频帧。
[0099] 为了避免在显示墙1上显示视频图像源时的上述两种类型的撕裂,根据本发明优 选米取如下二种措施:
[0100] (i)在控制显示墙1的单个显示器D的网络图形处理器NGP的每一个上进行多重缓 冲(优选双重缓冲)和交换锁定。
[0101] (ii)各个显示器中的显卡的垂直回扫(英文:"vertical retraces")的同步(帧锁 定或同步锁定)。
[0102] (iii)内容锁定。在此视频图像源S的视频帧的显示这样同步,即在同一个时刻在 参与的显示器D的每一个上恰好显示这个视频图像源的属于逻辑视频插入IS的同一个视频 帧。
[0103] 下面阐述如何根据本发明实现无撕裂的运行,特别是借助根据本发明的内容锁定 而实现。
[0104] 根据本发明,视频帧的显示优选借助网络图形处理器NGP进行多重缓冲(优选双重 缓冲)并且交换锁定。这些概念涉及在网络图形处理器NGP的缓冲存储器中存储的图像数据 (视频帧)如何在相关显示器D上获得显示的过程。在双重缓冲中使用两个缓冲存储器,即包 含当前在显示器D上显示的图像数据的前置缓冲器(或可见缓冲器)和包含下一个视频帧的 图像数据的后置缓冲器。因此双重缓冲表示网络图形处理器NGP的显卡中的板载内存具有 两个存储器区域,即为了在显示器D上显示而被读出的可见区域和由GPU控制的后置缓冲区 域。在多重缓冲中使用适当的额外的缓冲存储器。在交换锁定操作中,在显示器D垂直消隐 间隔(垂直回扫,图像刷新)中进行由后置缓冲器向前置缓冲器的复制或这两个缓冲区域的 角色互换(缓冲器翻转)。交换既可以是真实的复制也可以是缓冲器翻转,即存储器区域的 真实互换。在互换时缓冲内容并不互换,而是从另一缓冲器执行读取。通过多重或双重缓冲 和交换锁定的存储器操作,避免在单个显示器D上进行图像构造期间出现撕裂。这种交换可 以是从隐藏的存储器区域复制到可视存储器区域或者显卡上的视频控制器在硬件层面上 交换这两个存储器区域的角色,这被称为缓冲器翻转。
[0105] 渲染是指将几何图像描述(例如矢量图)转换或变换为像素显示。借助于OpenGL的 视频帧的渲染可被双重缓冲并交换锁定。OpenGL是一种特别允许用纹理渲染的图形子系 统,其中为了渲染视频帧,帧内容作为纹理被成像(映射)到视频插入的矩形显示上。双重缓 冲意味着视频帧被渲染到后置缓冲器中,其内容不在显示器D上可见。并且这在包含在前置 缓冲器中的前面的视频帧被显示期间实现。当激活交换缓冲函数(OpenGL库函数)时,后置 缓冲器和前置缓冲器互换(交换),就是说该后置缓冲器变成新的前置缓冲器,其信息被读 取并且在显示器D上变得可见,并且前置缓冲器变成用于下一个视频帧的渲染过程的新的 后置缓冲器。
[0106] 交换锁定意味着这种缓冲器互换在显示器D的垂直消隐间隔(垂直回扫,图像回 跳,显示回扫,显示回跳)期间实施。交换缓冲函数可以在任意时刻被激活,但是后置缓冲器 仅在显示器D的下一个垂直消隐间隔期间被复制到前置缓冲器。由此在显示器D的每个单独 显示的图像中避免撕裂。
[0107] 根据本发明,此外还在网络图形处理器中同步驱动显示器D的显卡的垂直回扫,就 是说垂直回扫信号具有相同的频率和相同的相位。一种用于实施的可能的方法是,配置有 一个图形处理器(即在此为一个网络图形处理器NGP)的计算机被配置为主机,该主机例如 通过多点线缆向具有图形处理器的每个计算机提供垂直回扫信号Vsync。这种可选方案被 称为"帧锁定"并且在图5中示出。从机这样构成,即其听取这个信号并且根据这个垂直回扫 信号Vsync锁定(英文:lock)其同步。另一种方法是,例如通过多点线缆根据同一个外部垂 直回扫信号Vsync锁定每一个网络图形处理器NGP。这个外部同步信号Vsync到时由同步换 能器SS提供。这种实施也被称为"同步锁定(gen lock)"并且在图6中示出。
[0108] 对于例如使用帧锁定或同步锁定的跨多个图形处理器NGP的显示器D的垂直回扫 信号Vsync的硬件同步可以通过一个特定的额外帧锁定硬件来实现。例如在商业上可以从 美国加利福尼亚州圣克拉拉市的NVIDIACorp.获得的G-Sync Board。然而,该Vsync信号也 可以用软件同步,例如采用通过网络多播消息的方式。显示器D的垂直回扫关于频率和相位 的同步在实践中典型地以1毫秒或更佳的精度实现。
[0109] 显示墙1的显示器D的垂直回扫因此利用垂直回扫信号Vsync关于频率和相位进行 了同步。在根据本发明的软件实现中,由已同步的垂直回扫信号计数器(已同步的垂直同步 计数器NS)从一个垂直回扫信号Vsync到下一个垂直回扫信号(即从一个垂直回扫到下一个 垂直回扫)对垂直回扫信号Vsync进行计数。垂直回扫信号计数器(已同步的Vsync计数器 NS)的当前值与垂直回扫信号Vsync-起传输到网络图形处理器NGP,从而在同一时刻在网 络图形处理器NGP上可获得垂直回扫信号计数器(已同步的Vsync计数器NS)的相同的值。 [0110]没有例如借助帧锁定或同步锁定的Vsync信号的同步,则会在显示墙1上出现显示 器D之间的帧撕裂。帧撕裂的基本起源在这种情况下不同于上述单个显示器D上的帧撕裂。 在没有借助帧锁定或同步锁定将所有网络图形处理器NGP的Vsync信号同步为完全相同的 频率和相位的情况下,则会由相邻显示器D的垂直扫描(图像显示的垂直过程)的相位差造 成帧撕裂,该相位差将导致在显示器D上显示的视频帧在不同的显示器D上的外相显示。
[0111] 为了保证由显示墙1的显示器D显示的图像之间的无撕裂运行,因此,例如通过实 施帧锁定或同步锁定使所有的网络图形处理器NGP的垂直回扫信号Vsync具有完全相同的 频率和相位是有必要的。由此满足在显示器D上以完全相同的频率和相位实现图像构造的 基本条件。
[0112] 图5示出具有帧锁定的系统配置,并且图6示出具有同步锁定的系统配置。待由显 示墙1的η个显示器D1,D2,……,Dn显示的视频图像源S是多个(m个)视频或视频图像源S (S1,S2,……,Sm)。这些视频各自是图像的一个数据流,即视频帧的一个视频流。这些显示 器D是指多个显示器(D1,D2,……,Dn),例如投影长方体(反向投影或入射光)或LCD,其各自 由一个单独的网络图形处理器NGP(NGP 1,NGP 2,……,NGP η)驱动。也被称为渲染引擎的 网络图形处理器NGP是用于具有为实现其功能性所需要的LAN连接,CPU,存储器,硬驱,操作 系统(例如Linux),软件解码器和/或硬件解码器,图形处理器和所有其它组件的专用显示 控制器的通称。每个网络图形处理器NGP的显示输出通过视频显示接口(例如数字视觉接口 (DVI))与各自一个显示器D连接。显示器D和相关的网络图形处理器NGP也共同被称为显示 单元。
[0113] 视频图像源S的视频可以被编码。这种编码各自借助一个编码器EC(英文: "encoder")实现并且是一种压缩技术,其用于降低视频数据中的冗余并且因此降低为传输 视频图像源S的视频的网络中所需的带宽。MPEG2,MPEG4,H. 264和JPEG2000是用于编码视频 的压缩技术的常用标准的示例。有些、大量或全部视频图像源(S1,S2,……,Sm)可以被编 码。编码器EC可以是不同制造商的编码器的混合,例如(加拿大的Impath Networks Inc. 的)i5210-E,(VBrick Systems Inc.的)VBrick 9000系列和(Bosch的)VIP1000。不同的标 准通信协议在这些编码器EC上实施。也可以将未压缩的视频图像源S传输到显示墙1的网络 图形处理器NGP,但是未压缩的视频的传输会造成网络的较高负荷。
[0114] 由编码器EC压缩的视频图像源S的视频图像的数据流通过网络LAN或IP网络(例如 通用LAN或专用视频LAN)和可能的网络交换机SW被传输到网络图形处理器NGP。计算机网络 LAN可以例如是根据IEEE802.3-2008的千兆以太网和/或以太网网络E。视频图像通过网络 LAN的传输例如借助所谓的UDP多播而实现。在计算机网络中,多播表示在从发送方到接收 方的单次传输中将消息或信息从一个发送器(视频图像源S)向一组接收器(接收计算机,网 络图形处理器NGP)同时发送。多播的优点在于,可以同时将消息传输到多个参与者或闭合 的一个参与者群组,而无需将发送器带宽乘以接收者的数量。多播是IP多播的通用称谓,其 使得能够在IP网络中向众多接收者同时有效地发送分组。
[0115] 借助网络图形处理器NGP中的解码器,再次为在显示器D上进行显示而解码通过网 络LAN接收的视频流并且由显示器D进行显示。解码器可以是硬件和/或软件解码器。解码器 功能可以处理不同的压缩标准,例如MPEG2,MPEG4,MJPEG和Η. 264。
[0116] 这意味着所有m个视频图像源S通过LAN IP网络被发送到所有网络图形处理器NGP 处并且由显示墙1的显示器D以特定的组合得到显示。但是网络图形处理器NGP自己不能决 定将哪个或哪些视频图像源S或者一个视频图像源S的哪个或哪些部分在与其分别相关的 显示器D上进行显示,而是由未示出的中央实例或中央处理单元进行控制。视频图像源S在 显示墙1的显示器D上的显示根据一种特定的布局而实现,该布局由未示出的中央实例预先 定义。中央实例通知网络图形处理器NGP与每个网络图形处理器NGP相关的显示器D应该在 显示器D的哪些位置上显示哪个视频图像源S的哪个部分。
[0117] 为了通过网络LAN向网络图形处理器NGP传输视频图像源S,通常使用两个网络,即 一个将所有视频图像源S传输到所有网络图形处理器NGP的视频网以及一个提供来自中央 控制的用于各个显示单元的控制信息的控制或家庭网络。在此控制信息说明将由哪个显示 器D在显示器D的哪个位置上显示哪个视频图像源S或视频图像源S的哪个部分。
[0118] 清楚的是,涉及显示来自网络LAN的逻辑视频插入IS的每个网络图形处理器NGP必 须接收同一个视频数据流,接着将其解码并在其相关的显示器D上显示逻辑视频插入IS的 部分,该部分对应于显示墙1的由各自网络图形处理器NGP控制的相应显示器D。
[0119] 如上所述,由于编码器EC和网络图形处理器NGP之间的不同传输期间(网络延迟) 和/或参与的网络图形处理器NGP的不同CPU负载,可能在显示墙1的一个显示器D上以相对 于显示墙1的其它显示器D的较小时间延迟显示视频图像源S的视频流的一个特定视频帧。 例如,在视频帧i在显示墙1的显示器D上显示的期间,可能在同一时刻在显示墙1的其它显 示器D上显示一个或多个之前的视频帧,例如视频帧(i-Ι)或(i-2)。这导致被称为"撕裂效 应"或"帧撕裂"的可见伪像。
[0120]因此,显示器D的垂直回扫信号Vsync(特别是借助帧锁定或同步锁定)的同步不足 以获得显示墙1的无撕裂运行,因为如上所述,由于编码器EC和网络图形处理器NGP之间的 不同传输期间(网络延迟)和/或参与的网络图形处理器NGP的不同CPU负载,会导致在显示 墙1的一个显示器D上以相对于显示墙1的其它显示器D的较小时间延迟显示视频图像源S的 视频流的一个特定视频帧,即使显示器D的垂直回扫信号Vsync和因此显示器D上的图像显 示关于频率和相位得到同步。为了保证由显示墙1的显示器D显示的图像之间的无撕裂运 行,此外还需要在同一时刻在每一个参与的显示器D上恰好显示一个特定视频图像源S的属 于一个逻辑视频插入IS的相同视频帧。这个条件被称作"内容锁定"并且用于实现的方法被 称作"内容同步"或"内容锁定"。
[0121]显示器D的垂直回扫信号Vsync例如借助帧锁定或同步锁定的同步因此是用于内 容锁定的一个必要不充分条件。为了避免帧撕裂的可视伪像,重要的是在相同的时刻恰好 在不同的(物理)显示器D上(相位相同地)显示逻辑视频插入IS的相同视频帧,并且这意味 着在参与视频插入IS的显示的网络图形处理器NGP之间必须通过内容锁定来同步视频帧的 显不〇
[0122] 用于在显示器D上同步视频帧的显示的根据本发明的内容同步,其方式为在相同 的时刻在每个参与显示器D上恰好显示特定视频图像源S的属于一个逻辑视频插入IS的相 同视频帧,包括下列部分:
[0123] (a)同步网络图形处理器NGP上的时钟,优选通过PTP进行同步。
[0124] (b)在每个网络图形处理器NGP上在视频帧队列中缓冲视频帧。
[0125] (c)使用用于去抖动的调解函数。
[0126] (d)通过同步调解函数在所有参与NGP上重新启动的时刻(帧同步时刻),通过同步 该函数的参数的频率比(视频流频率f s除以显示频率fd),以及通过同步选自视频帧队列以 用于在此时渲染的视频帧,来进行内容锁定。
[0127] 在本发明的上下文中,为了同步网络图形处理器NGP上的时钟而优选使用也称为 IEEE 1588-2008的精确时钟协议(PTP)。该协议是实现计算机网络上多个设备的时钟时间 调整的同步的网络协议。该协议是用于将分组交换计算机网络中的计算机的时钟与可变延 迟时间进行同步的协议。在主从架构中组织该网络的这些计算机。该同步协议相对于主机 时钟确定从机时钟的时间偏移。
[0128] 在本发明的上下文中可以使用该PTP用于同步不同的网络图形处理器NGP。为此, 一个网络图形处理器NGP用作参考(PTP主机)并且所有其它网络图形处理器NGP的时钟以较 高的精确度按照这个PTP主机进行同步。PTP主机的时间被称为系统时间。网络图形处理器 NGP的时钟与PTP主机的时钟的时间偏差可以保持在1 OOys以下。
[0129] 基本上就此可以设想以精确的系统时间并且基于视频帧的时间戳实现内容锁定, 即内容同步。视频帧包括特定视频图像源S的一个完整视频帧的编码内容。每个视频帧由 RTP(实时传输协议)分组报头中的时间戳唯一标识。但是,发现RTP的多种实现具有不够可 靠或不够准确的时间戳。因为时间戳的这种不确定性,在本发明的上下文中,时间戳不用于 任何与时间指示相关的目的,而是仅用于视频帧的标识符(绝对帧识别号)。
[0130] 根据本发明,借助在视频帧队列中缓冲视频帧和使用调解函数的帧同步过程实现 内容锁定,即内容同步。这些方面和概念阐述如下。
[0131] 通过计算机网络LAN分发的(视频图像源S的)已编码视频信号的视频帧不会以时 间等距的方式到达不同的显示器D的网络图形处理器NGP。视频帧可能成束或间歇地出现, 并且之后可能存在没有视频帧到达的时段。在视频图像源S具有50Hz的帧速率的情况下,如 果在例如2秒的足够长的时段上测量接收视频帧的平均时长,该平均时长为20毫秒。在更短 的时间间隔上来看,视频帧可以以远小于或远大于20毫秒的时间间隔到达。这种时间波动 被称为视频抖动。抖动表示在显示连续的视频帧时,视频帧之间的不均匀的时间间隔。
[0132] 抖动的原因基本在于解码器、网络LAN和网络图形处理器NGP,但是也有例如编码 器EC的其它组件可能会造成抖动。抖动使得需要为到达的视频流去抖动,由此移动的内容 可以得到显示而没有抖动伪像。为此,在视频帧队列2中缓冲视频流的已解码视频帧。在本 发明的上下文中,这个视频帧队列2优选实施为环形缓冲器,因为在此可以旋转地重新输入 视频帧并且为渲染而移除视频帧,而无须复制这些视频帧。
[0133] 图7示出实施为环形缓冲器的这种视频帧队列2。该环形缓冲器具有用于可能的条 目的固定数量的位置(在图7的该示例中存在指数0至5的六个位置)。环形缓冲器在软件中 实现为阵列,其中环形结构通过处理放置和取回指针得以实现。
[0134] 为每个视频图像源S在每个网络图形处理器NGP中设置一个视频帧队列2,例如一 个根据图7的环形缓冲器,视频图像源S的视频帧被传输到所述网络图形处理器NGP。对于未 编码的视频图像源S,视频帧被直接输入到视频帧队列2中,而对于已编码的视频图像源S, 视频帧首先被解码器3解码。解码器3接收视频帧的编码流,进行解码并且将解码的视频帧4 输入到环形缓冲器中。第一视频帧被输入到环形缓冲器的位置〇,下一个数据帧被输入到位 置1并以此类推,直到最后的位置5被占用并且再次从位置0处开始。环形缓冲器的存储空间 的读取利用渲染器5或渲染过程实现,该渲染器5或渲染过程为后置缓冲器6提供视频帧。图 7中利用解码器3的解码和利用渲染器5的渲染在每个网络图形处理器NGP中的两个不同过 程中发生。渲染器5各自从各自视频帧队列2中提取由调解函数选出的用于渲染的视频帧。 视频帧队列2中的较老条目已经得到了处理并且因此被视为无效,就是说其在队列中的位 置被释放给新的条目。视频帧队列2的放置指针指向用于下一个由解码器3提供的视频帧4 的空闲位置,并且取回指针指向调解函数为了取回下一个待渲染的视频帧已经确定的位 置。当调解函数将取回指针设置为指向视频帧队列2的另一个位置时,视频帧队列2中的一 个条目变为无效。
[0135] 对于利用下文继续描述的帧同步过程实施的内容同步而言,重要的是渲染器5或 渲染过程作为视频帧队列2(图7中的环形缓冲器)的接受器足够快地从视频帧队列2中提取 在视频帧队列2中存储的用于渲染的视频帧,从而在视频帧队列2中由将来仍需要渲染的视 频帧占用的存储空间不被来自解码器3的新的解码写操作重写。这在视频同步模块中通过 调解函数实现,该调解函数在视频图像源S的到达的视频流的视频流频率f s和显示器D的垂 直显示频率(也被称作垂直频率,显示频率,帧频率,帧刷新频率或刷新频率)fd之间进行调 解。视频同步模块是实施根据本发明的同步的软件的一部分,并且是网络图形处理器NGP中 渲染的一部分。调解函数保证在视频帧队列2中的条目的生成器(解码器3)和接受器(渲染 器5)之间的速度平衡,并且确定哪个视频帧从视频帧队列2中读出并得到继续处理(由渲染 器5植染)。
[0136] 当视频帧队列2在运行中具有大约50%的平均填充率时,即一半以有效的视频帧4 填充并且一半以无效的(已处理的)视频帧4填充时,得到视频帧队列2的最优大小。在这种 情况下,一方面在视频帧队列2中高速缓存足够的视频帧4从而可以去抖动地实施渲染,并 且另一方面该视频帧队列2-半是空的并且因此具有足够空闲的存储空间,从而可以快速 连续地高速缓存来自视频流的到达的视频帧4,而该视频帧队列2不会溢出。在实践应用中 具有大约5至15个位置的视频帧队列2足够使用。但是如果出现视频帧4的大于例如+/-3个 视频帧的时间差,则视频帧队列2可以被扩展。
[0137] 显示器D本身限定了显示器D的垂直显示频率fd和其它显示设置。在显示墙1或显 示器D的初始启动期间,fd由"显示数据通道"(DDC)协议和伴随的标准"扩展显示识别数据" (EDID)定义。显示设置并且因此fd在系统运行期间不变。周期Td作为Td=l/fd而得出。显示 器D的垂直显示频率fd通常在50Hz < fd < 100Hz的范围内,但是其也可以在这个范围之下或 之上。
[0138] 视频流的视频流频率匕是解码器3的输出处或视频帧队列2的输入处的已解码视 频帧4的比率。周期Ts作为T s = l/fs而得出。理想情况下Sfs = fd,但是其可能有巨大的差异; 例如到达的视频流可以具有60Hz的速率fs,而垂直显示频率fd仅为50Hz。此外,视频流的"瞬 时"(或者"差分")视频流频率f s也可以随时间变化,因为不同的视频帧可能采用不同的路 径穿过网络LAN或者因为渡越时间可能由于变化的网络流量而发生变化(也可参见上文描 述的抖动)。视频流的波动的视频流频率f s的另一重要原因还在于编码器EC中的差别或者 不同网络图形处理器NGP的CPU或图形处理器的不同负载。因此通常是f s矣fd的情况,其中既 可能是fs〈fd也可能是fs>fd。此外,fs和fd之间的差异在显示墙1的运行期间可能发生变化。
[0139] 图8至12中示出的是以下三种不同状况下网络图形处理器NGP处的视频流的渲染:
[0140] (l)fs = fd
[0141] (2)fs<fd
[0142] (3)fs>fd
[0143] 图8示出状况(1),即fs = fd的情况下网络图形处理器NGP上的视频流的处理。显示 器D的图示为矩形脉冲的垂直回扫VR被显示为时间t和被渲染到后置缓冲器中的视频帧FR 的编号N,N+1等的函数。在这种实践中几乎不存在的理想场景下,在显示器D的两次连续垂 直回扫VR之间渲染视频流的恰好一个视频帧,没有视频帧必须被省略并且没有视频帧必须 显示比时长Td更久。这不适用图9至12中示出的状况(2)和(3)。
[0144] 图9示出状况(2),即fs〈fd的情况下网络图形处理器NGP上的视频流的渲染。显示器 D的图示为矩形脉冲的垂直回扫VR显示为时间t和被渲染到后置缓冲器6中的视频帧FR的编 号N,N+1等的函数。不同于图8的是,视频帧FR被渲染到后置缓冲器中的时刻不与垂直回扫 VR的时刻一致。被渲染到后置缓冲器6中的视频帧FR依然不是可见的,就是说依然不在显示 器D上得到显示,而是只有当(实施交换缓冲功能之后)图像信息位于前置缓冲器中时才可 见。视频帧的渲染和视频帧变为可见的时刻通常是不同的。在此,仅为图示其原理而理想地 假设以下状况,即当视频帧从解码器3出来时视频流是绝对无抖动的,就是说具有恒定视频 流频率f s的视频帧可用于渲染到后置缓冲器6中。明显不可能在每个周期Td中在两次垂直回 扫VR之间显示一个新的视频帧,即作为将可见的视频帧FV被复制到前置缓冲器中,因为这 与条件f s〈fd不符。由图9可以看出在这种状况下视频帧何时实际在显示器D上变得可见,并 且这在图10中示出。
[0145] 图10示出图9的被渲染到后置缓冲器6中的视频帧FR作为在显示器D上变得可见的 视频帧FV出现。可以看出,不可避免的是有些视频帧(在此为视频帧N+1和N+3)在时长2 X Td 的期间(即在两个帧时间期间)得到显示(或者换言之其被再次显示),以补偿Ts>Td(即fs〈 fd)的事实。通常这会导致显示的移动对象(例如测试条)的某种突然移动。仅当1'8是1(1的整 数倍时,这种移动是均匀的,但当显示的移动对象的速度在两种状况下相同时,与状况(1) 相比,具有显示的移动对象的从一个图像阶段到下一个图像阶段的多个像素的更大的跳 跃。
[0146] 图11示出状况(3),即fs>fd的情况下网络图形处理器NGP上的视频流的显示。显示 器D的图示为矩形脉冲的垂直回扫VR被显示为时间t和被渲染到后置缓冲器6中的视频帧FR 的编号N,N+1等的函数。在这种状况下,出现两个连续的视频帧的(理想的)渲染时刻可能落 入两次连续的垂直回扫VR之间的相同周期Td中的情况,从而第一视频帧在下一次垂直回扫 VR之前被第二视频帧重写。结果,这意味着第一视频帧不会变得可见而是被跳过。由图11清 楚地看到哪些视频帧在显示器D上显示,并且这将在图12中示出。
[0147] 图12示出图11的被渲染到后置缓冲器6中的视频帧FR作为在显示器D上变得可见 的视频帧FV出现。由此可以清楚地看出,有些视频帧(在所示示例中为视频帧N+2,N+5和N+ 8)不可避免地被跳过以补偿T s〈Td(即fs>fd)的事实。在这种状况下,显示的移动对象(例如 测试条)的移动也会变得不均匀,除非1< 1是1'8的整数倍。
[0148] 上述状况对于视频(或视频插入IS)在单个网络图形处理器NGP上的显示明显是有 效的。如果现在期望为了在不仅一个而是多个显示器D上显示视频而同步多个网络图形处 理器NGP上的视频流,(在上述意义上)显示不止一次或者漏掉的那些视频帧在所有参与的 网络图形处理器NGP上必须是相同的,由此避免从一个显示器到另一个显示器的帧撕裂。下 面的附图示出视频流在多个网络图形处理器NGP上的同步。
[0149] 在图13中可以看到一个示例,其中在fs〈fd的状况下,两个网络图形处理器NGP1和 NGP2必须被同步以显示视频流。图13包括两部分,即具有网络图形处理器NGP1中的视频帧N 至N+5的第一部分(图13a)和具有网络图形处理器NGP1中的视频帧N+5至N+10的第二部分 (图13b)。图13b因此跟随图13a,具有所示的较小时间重叠。图13示出两个网络图形处理器 NGP1和NGP2针对示例状况fs = 40Hz和fd = 50Hz的同步。网络图形处理器NGP1作为引导特定 视频图像源S的同步流程的机器。因此其被称为主机并且所有其它网络图形处理器NGP被称 为从机。各自与网络图形处理器NGP之一相关的两个显示器D具有相同的垂直显示频率fd。 网络图形处理器NGP的显卡是同步的,优选为帧锁定或同步锁定的,例如借助上述硬件方 法。就是说不同网络图形处理器NGP的垂直回扫信号Vsync具有相同的频率和相同的相位。 [0150]图13示出属于两个网络图形处理器NGP1和NGP2的显示器D的图示为矩形脉冲的垂 直回扫VR作为时间t的函数,该函数包括被写入视频帧队列2(环形缓冲器,每个属于一个网 络图形处理器NGP)并且因此可用于在视频帧队列2中读取的视频图像源S或视频插入IS的 视频帧FW(即,可从视频帧队列2中读取以用于渲染到后置缓冲器6中的视频帧)的编号N-1, N,N+1等。通过双重缓冲和交换锁定,两个网络图形处理器NGP1和NGP2的垂直回扫VR具有相 同的频率(垂直显示频率〇)和相同的相位。然而,由于上述效应,特别是穿过网络LAN和解 码器3的不同渡越时间,相互对应的视频帧并不同时从解码器3输出或进入视频帧队列2,而 是具有时间差。在图13的示例中,网络图形处理器NGP1的视频帧队列2中的视频帧FW1相对 于网络图形处理器NGP2的视频帧队列2中的视频帧FW2延迟或滞后视频流频率的周期T s的 1.28倍。此外,显示器D的垂直显示频率fd不同于视频流频率fs的周期Ts。此外,视频帧FW1和 FW2的相对时间延迟和视频流频率fs以及可能的显示器D的垂直显示频率fd会发生波动。所 有这些效应在其不被补偿时会导致在网络图形处理器NGP1和NGP2的两个显示器D上在特定 时刻显示不同的视频帧,并且因此出现撕裂效应。
[0151]由于双重缓冲和交换锁定,在视频帧从各自的网络图形处理器NGP作为被渲染到 后置缓冲器6中的视频帧FR写入各自的后置缓冲器6之后,视频帧仅随着以垂直显示频率fd 实施的下一次垂直回扫VR在显示器D上变得可见,并且随着下一次垂直回扫VR作为可见的 视频帧FV在显示器上变得可见。如图13的示例所示,当f s〈fd并且fs不是fd的整数倍时,视频 帧FV变得可见的时刻不匹配由垂直显示频率fd指定的显示器D的时间模式。在没有根据本 发明的内容同步的情况下,例如图13中的网络图形处理器NGP1会选择视频帧FW1 = N+1作为 待渲染的视频帧FR并且会在具有相对Vsync计数器编号NSR= 1 (该相对Vsync计数器编号是 当前返回的计数)的下一次垂直回扫VR之后在显示器D1上显示。同时,网络图形处理器NGP2 会选择视频帧FW2 = N-1作为待渲染的视频帧FR并且会在具有相对Vsync计数器编号NSR=1 的下一次垂直回扫VR之后在显示器D2上显示。这导致在显示器D1和D2上显示的移动对象的 显示中出现帧撕裂,因为在相对Vsync计数器编号NSR=1的垂直回扫VR之后在显示器D1和 D2上显示这些不同的视频帧。在图13的示例中,用于显示器D1的网络图形处理器NGP1稍后 会选出用于渲染的视频帧FWl = N+8,并且同时用于显示器D2的网络图形处理器NGP2会选出 视频帧FW2 = N+7,这也会导致帧撕裂,因为在具有相对Vsync计数器编号NSR= 10的垂直回 扫VR之后在显示器D1和D2上显示这些不同的视频帧。
[0152] 根据本发明的帧同步借助下面描述的调解函数恰好这样构成,即在这样一种场景 下在显示器D上变得可见的实际时刻是理想时刻的最佳近似数并且避免了帧撕裂,从而在 视频图像源S的视频流的显示中涉及的显示器D(在图13中是显示器D1和D2)上同时将相同 的视频帧FR渲染到后置缓冲器6中。为此借助视频帧队列2的高速缓存和借助调解函数的如 下进一步阐述的帧同步,该调解函数将由相对Vsync计数器NSR标识的垂直回扫VR映射到待 处理(即待渲染)的视频帧FR的局部相对视频帧计数器NFR,其中两个计数器NSR和NFR在共 同的帧同步时刻TS在零处开始。"映射"这一概念在此在数学意义上进行理解,即调解函数 建立作为函数参数(自变量)的相对Vsync计数器NSR和作为函数值(因变量)的局部相对视 频帧计数器NFR之间的关系,这种关系为相对Vsync计数器NSR的每个值分配局部相对视频 帧计数器NFR的一个值。
[0153] 计数器NSR和NFR的值在图13中同样得到显示。用于垂直回扫VR的计数器NSR从帧 同步时刻TS起在每次垂直回扫VR时增加1。与此相对地,用于待渲染视频帧FR的计数器NFR 并不持续增加1,而是以下面进一步阐述的方式借助调解函数得出。这种帧同步的结果,BP 作为时间t的函数的用于待渲染视频帧FR的计数器NFR的值在图13上方得到显示,同样的视 频帧FR在图13的下方得到显示,其作为结果由两个网络图形处理器NGP1和NGP2同时渲染, 并且因此由对应的显示器D1和D2无帧撕裂地同步显示。在上述示例性提到的其中没有根据 本发明的帧同步时,网络图形处理器NGP1选出视频帧FW1 = N+1作为待渲染视频帧FR,同时 网络图形处理器NGP2的显示器D2显示视频帧FW2 = N-1作为待渲染的视频帧FR,NSR=1并且 NFR = 0并且由两个网络图形处理器NGP1和NGP2同时选择为待渲染视频帧FR并且因此在垂 直回扫NSR=1之后由两个显示器D1和D2同步显示的视频帧为视频帧FR = N-1。在上述示例 性提到的其中没有根据本发明的帧同步的稍后时间,网络图形处理器NGP1选出视频帧FW1 = N+8作为待渲染视频帧FR,同时网络图形处理器NGP2的显示器D2显示视频帧FW2 = N+7作 为待渲染的视频帧FR,NSR=10并且NFR = 8并且由两个网络图形处理器NGP1和NGP2同时选 择为待渲染视频帧FR并且因此在垂直回扫NSR= 10之后由两个显示器D1和D2同步显示的视 频帧为视频帧FR = N+6。
[0154] 本发明的中心思想在于使用对所有参与视频图像源S或视频插入IS的显示的网络 图形处理器NGP而言"通用的"调解函数,该调解函数在视频流频率f s和垂直显示频率fd之间 促成平衡,从而一方面尽可能均匀地在时间上分配其中再次显示相同的视频帧(在fs〈fd的 状况下)以及其中视频帧被跳过(在f s>fd的状况下)的状况的出现,并且另一方面用于在需 要的情况下保证在所有显示视频图像源S或视频插入IS的显示器D上在任意给定时刻显示 或跳过相同的视频帧。下面简称为调解函数MF的这个函数将由在帧同步时刻TS在零处开始 的相对Vsync计数器NSR(下面称为用于相对的Vsync计数器NSR的变量NSR,该相对的Vsync 计数器对自上一次帧同步起的垂直回扫进行计数,所述上一次帧同步为计数器设置零点) 标识的垂直回扫VR映射到由在同一个帧同步时刻TS在零处开始的计数器(下面称为用于待 处理的,即待渲染的视频帧FR自上一次帧同步时刻TS起的局部相对视频帧计数器NFR的变 量NFR,所述上一次帧同步时刻为计数器设置零点)标识的视频帧上。调解函数MF将相对 Vsync计数器NSR映射到局部相对视频帧计数器NFR上,就是说借助调解函数MF局部地由局 部相对视频帧计数器NFR确定哪个(基于绝对帧识别号id标识的)视频帧被渲染。换言之,调 解函数MF由相对Vsync计数器NSR的值NSR确定待渲染的视频帧FR,该视频帧由局部相对视 频帧计数器NFR标识。
[0155] 调解函数MF可以针对通常状况描述如下,其中"mediation"代表MF:
[0157] 在此函数f loor(x)提供实变量X的整数部分(英文:integer part),即< X的最大 整数。函数floor(x)是C编程语言的标准库函数并且在图16中示出。
[0158] 局部相对视频帧计数器NFR,即具有自变量NSR(NFR = mediation(NSR))的调解函 数MF的函数值,则作为乘积NFR X Ts < NSR X Td的那个最大整数NFR得出,或者相应地作为比 NFR/fs < NSR/fd的那个最大整数NFR得出。
[0159] 帧同步过程优选不仅包括帧开始同步,即在帧同步时刻TS处实施的一次帧同步, 而且还包括之后实施的帧同步,该帧同步是在稍后的帧同步时刻TS实施,也可被称为帧再 同步时刻。帧开始同步和帧再同步在此以相同的方式实施并且因此二者都被称为帧同步。 [0160] 为在多个网络图形处理器NGP上开始视频图像源S的视频流的帧同步,需要通过网 络LAN发送同步消息。针对视频流被定义为主机的主网络图形处理器发送多播同步消息到 所有被定义为从机的网络图形处理器,所述从机都参与视频流的显示并且根据主网络图形 处理器的指示被同步。
[0161] 这个多播同步消息也可以包括系统时间(例如通过PTP)。系统时间是网络图形处 理器的局部绝对时间并且在此作为标准库函数使用。
[0162] 此外,同步消息还包含频率fd(由主网络图形处理器测量的垂直显示频率)和fs(视 频流频率)以及在发送同步消息之前在主网络图形处理器上的最后一个被渲染的最新视频 帧的绝对帧识别号。这个绝对帧识别号用于确定在帧同步时刻之后在网络图形处理器上以 哪个视频帧开始渲染。绝对帧识别号被嵌入到视频流中。该绝对帧识别号对于同步而言是 必要的,从而可以标识视频流中的各个视频帧。
[0163] 这个同步消息在从网络图形处理器中被接收并且确保在从网络图形处理器中在 使用调解函数MF的情况下立即以频率fd和fs的传输值开始帧同步。这种实施在此可选地例 如借助线程(也被称为载体类型或轻量进程)的使用而实现。在此在一段时间(即调解时段) 期间,垂直回扫VR的数量(具有上一个帧同步时刻TS时的零点的相对Vsync计数器NSR)被继 续计数,直到调解函数在下一个帧同步时刻重新开始并且再次在零处开始。这个同步过程 下面被称为帧同步。另一合适的概念可以是视频帧的关联。
[0164] 在一个帧同步时刻TS和下一个帧同步时刻之间获得局部相对视频帧计数器作为 调解函数MF的函数值,其方法在于具有相对Vsync计数器作为自变量。
[0165] 由此正确地继续进行交界(帧同步时刻TS)处的相对Vsync计数器NSR的计数,在调 解函数重新开始之后需要以NSR=1开始,这取决于如何计数,如果NSR = 0则会再次提供参 考视频帧icUrr,其中重复其显示并且连接不匹配。调解函数MF应该在每个交界处(即在帧 同步时刻TS处在调解时段结束时)仅激活一次。这也可以以另一种计数方式得以实现,例如 其方法在于调解时段TM以NSR-1结束并且在交界(帧同步时刻TS)处以NSR=0(而不是NSR = 1)继续计数。这种变换被视为等效的。
[0166] 在图13中用于网络图形处理器NGP1的绝对参考帧识别号icUrr是视频帧FW1 =N的 绝对帧识别号,并且用于网络图形处理器NGP2的绝对参考帧识别号icUrr是视频帧FW2 = N-1的绝对帧识别号。然后根据每个视频帧队列2中的最新的视频帧的这些绝对参考帧识别号 icUrr,通过在各自网络图形处理器NGP中添加局部相对视频帧计数器NFR的值确定待渲染 视频帧FR的绝对帧识别号id。因为在两个网络图形处理器NGP中应用相同的调解函数,所以 可以得出同步的显示,就是说在两个网络图形处理器NGP上显示相同的视频帧。
[0167] 如果以这种方式在在一个帧同步时刻TS实施的帧同步之后在所有网络图形处理 器NGP上的一次垂直回扫VR之前的时段选出被渲染到每个相应后置缓冲器6中的待渲染的 视频帧,则具有绝对帧识别号id的同一个视频帧将以垂直回扫NSR在所有网络图形处理器 NGP上同时并同步地变得可见。特别是,如果由于频率fjPfd中的差异而需要时,省略(即跳 过并且不显示),或重复显示相同的视频帧。
[0168] 在涉及视频帧必须被重复显示的状况匕〈心的图13的示例中,可以看到关于待渲染 的视频帧FR,一些视频帧被重复(即多次)连续地显示在显示器上,例如视频帧N-1和N+7。然 而,通过根据本发明的帧同步,可以这样补偿网络图形处理器NGP的各个后置缓冲器6的视 频帧的不同和随时间变化的处理和渡越时间,即在一个时刻在显示器D上显示相同的视频 帧。在图13中,不管视频帧FW1和FW2的不同和随时间变化的延迟如何,由显示器D同步显示 相同的视频帧FR。调解函数MF因此去除了(例如来自编码器的)抖动或平衡了该抖动。这种 抖动例如可以在视频流频率为40Hz时导致视频帧的实际时间间隔不是规则的40晕秒,而是 介于20毫秒和70毫秒之间,即波动+/-50%。这可以由调解函数MF进行补偿。但是,调解函数 自己或者单独不会导致视频帧的显示在显示器上同步。
[0169] 开始或激活视频帧或帧识别号的帧同步的过程优选不时在新的帧再同步时刻TP 重复,例如以周期性的(即规则的时间间隔)重复。调解函数在这种状况下分段使用,即从一 个帧同步时刻到下一个帧同步时刻(由一个帧同步到下一个帧同步,从调解函数的一次重 置到下一次重置)分段使用。这种由调解函数的一次应用到下一次(在帧同步时刻)应用的 过渡可以被称为交界处。
[0170] 调解函数重新开始的重复可被称为帧再同步。另一种合适的术语可以是再关联。 帧再同步,即帧同步的重复的速率或频率或者同步消息SN由主网络图形处理器主NGP向从 网络图形处理器从NGP发送(即在帧同步时刻TS实施帧同步)的速率或频率优选例如介于 0.05Hz和10Hz之间,优选介于0.1Hz和5.0Hz之间,进一步优选介于0.2Hz和3.0Hz之间,特别 优选介于〇. 5Hz和2.0Hz之间。实施帧同步的速率,即帧同步时刻TS的频率,和调解函数MF由 主网络图形处理器主NGP重置和同步的速率因此显著小于垂直显示频率fd并且可以小于显 示频率fd的1/10、1/20、1/50或1/100,在优选实施方式中其可以大约为视频流频率匕的大约 1/50。其可以适用于网络LAN的特殊设计、硬件配备以及一个或多个视频图像源S的类型和 频率。其可以固定设置或者也可以动态调节。帧再同步以与帧开始同步相同的方式进行。在 帧同步开始时刻TS之后,即在两个连续的帧再同步时刻之间,在网络图形处理器NGP的下一 次垂直回扫VR之前,各个待渲染的视频帧以与在进行帧同步之后相同的方式(即使用调解 函数MF)从视频流中选出。
[0171]在优选实施方式中,调解时段TM是一个固定的预定值。为此,例如调解时段TM可以 预定为固定的时段、固定数量的垂直回扫信号Vsync、固定数量的垂直回扫VR或相对Vsync 计数器的最大值。可选的是,调解时段TM也可以随时间可变地设计,例如用以这样动态地改 变或调节,即以尽可能小的同步消息SN频率(即以尽可能长的调解时段TM),仍实现足够的 内容同步。相应地变体方案在于,调解函数MF由(差分)控制器进行更改,用于使得视频帧队 列2总是具有50%的最佳填充度。在初始化这个过程时,视频帧队列2大约一半被填充并且 渲染以中间的视频帧开始。此后,视频帧队列2的填充度可以被记录。在初始化之后的调解 时段TM中,调解函数MF然后借助调节参数被更改,该调节参数的值取决于实际填充度与目 标填充度之间的差有多大。这个调节参数例如是应用于所测量的调解函数MF的floorU)的 自变量中的比例Td/T s的一个因数。结果由此可以说得到加速的处理,即当视频帧队列2的填 充度太大时得到时间上更早的显示(由此视频帧队列2被空置更多),或者当视频帧队列2的 填充度太小时得到时间上更晚的显示(由此视频帧队列2被填充更多)。
[0172] 图14示出针对其中有些视频帧必须被多次显示的匕《(1的状况下的根据本发明的 调解函数MF的图示示例。这种状况就此而言对应于图13的状况。该图示出具有显示器D的周 期Td的垂直回扫VR,其作为时间t与在垂直回扫VR的每个末端VRE处增加的相对Vsync计数 器NSR的函数,以及示出为渲染而选出的并且存储在后置缓冲器6中的视频帧FR,该视频帧 FR具有周期Ts和用于待渲染视频帧FR的相关局部相对视频帧计数器NFR。在帧同步时刻TS 将两个计数器NSR和NFR设置到零处。当然计数器也可以不设置在零处而是设置在另一起始 值处。在这种情况下,必须在相应的等式中加上或减去恒定的值,例如+1或+2,从而考虑到 这种偏移的计数方式。这种变换应该被视为同等价值的实施方式。
[0173] 调解函数MF将具有NSR = 0和NSR=1的垂直回扫VR映射到具有局部相对视频帧计 数器NFR = 0的待渲染视频帧FR上。同样地,具有NSR = 3以及NSR = 4的垂直回扫VR被映射到 具有NFR = 2的待渲染视频帧FR上。就是说,具有计数NFR = 0和NFR = 2的视频帧FR被显示两 次,即垂直回扫NSR=0和NSR=1时的视频帧NFR=0和垂直回扫NSR = 3和NSR=4时的视频帧 NFR= 2。与此相对地,垂直回扫NSR= 2,NSR = 5,NSR = 6和NSR = 7仅被映射一次,即被映射到 NFR=1,NFR = 3,NFR = 4和NFR = 5上。通过这个调解函数MF补偿fs〈fd。
[0174] 下表示出如图14所示fs〈fd这种状况的数字示例,其针对0 < NSR < 20具有示例值fs =40他(1'3 = 25毫秒)和€(1 = 50他〇(1 = 20毫秒)。在这种状况下,重复具有册1? = 0,册1? = 4, NFR = 8和NFR= 12的视频帧,就是说再次在显示器D上显示它们,如由利用感叹号标记的值 所示。
[0177] 图15示出针对状况fs>fd的对应于图14的场景的示意性示例,其中根据相应的调解 函数MF,需要将视频帧从显示器上的显示中排除。在此,视频帧NFR = 4和NFR = 8被跳过(即 不被渲染),并且因此不在显示器D上显示,由此补偿fs>fd。
[0178] 下表示出如图15所示的fs>fd的这种状况的数字示例,其针对0 SNSRS 20具有示例 值乜=60他(1'3 = 16.67毫秒)和€(1 = 50他〇(1 = 20毫秒)。在这种状况下,跳过具有册1? = 5, NFR= 11,NFR= 17和NFR = 23的视频帧,就是说不在显示器D上显示,如由利用感叹号标记的 邻近值所示。
[0181] 图17至19示出在使用调解函数MF的情况下,在主网络图形处理器主NGP和从网络 图形处理器从NGP之间进行根据本发明的帧同步(内容同步)的操作。示出的是由第一次初 始化同步过程通过其分阶段的完成直到完全同步的完整过程的不同准备阶段。这个实施例 涉及f s〈fd的状况,其中有些视频帧被重复,即再次在显示器D上显示,以补偿频率差异。
[0182] 根据本发明的同步的基本思想在于,从网络图形处理器从NGP接收来自主网络图 形处理器主NGP的在同步消息SN中的用于同步所需的一切信息。这样做使得它们在起始时 间、帧同步时刻TS,以及直至下一个同步消息NS或下一个帧同步时刻TS的周期内,可以独立 地、局部地以及没有额外网络负载地(即,在调解时段TM期间,主网络图形处理器主NGP和从 网络图形处理器从NGP之间没有同步消息SN或同步信息的进一步交换)以同步和无撕裂的 方式显示视频插入。针对调解时段TM仅发生一次同步,即在同步消息SN后面的属于同步消 息SN的帧同步时刻TS的垂直回扫处。对于在调解时段TM期间出现的干扰或中断同步的不规 则事件(例如视频帧队列2的排空或溢出,垂直显示频率fd和/或视频流频率f s等的剧烈频率 变化)不会立即做出反应,而是在当前调解时段TM的末端之后做出反应,其方法在于然后初 始化新的同步。在存在不规则事件的情况下,接受在当前调解时段TM期间不同步地(即带有 撕裂地)实现视频插入的显示,并且仅在下一个帧同步时刻TS之后再次同步。
[0183] 在图17中示出内容同步的同步过程的第一准备阶段。该附图示出了第一次启动, 即第一次初始化之后在帧同步时刻TS的开始。直到第一帧同步时刻TS,视频插入的视频帧 在显示器上的显示完全不同步。示出的是时间t的过程中针对被定义为主机的主网络图形 处理器主NGP的已同步Vsync计数器NS的值。已同步Vsync计数器NS的值由网络图形处理器 NGP的所谓垂直回扫管理提供并且对显示器D或显示墙1的垂直回扫VR(即显示器D的垂直回 扫信号Vsync)进行计数。垂直回扫VR利用显示器D(借助帧锁定或同步锁定)被同步的垂直 回扫信号Vsync的频率(即利用垂直显示频率fd)实现。因此已同步Vsync计数器NS的计数利 用显示频率f d、垂直回扫信号Vsync的频率,在周期Td的时间间隔内实现。
[0184] 已同步Vsync计数器NS是一个计数器,即其值从一个垂直回扫VR到下一次垂直回 扫增加1。该值在所有的网络图形处理器NGP上都是相等的,就是说已同步Vsync计数器NS在 所有的网络图形处理器NGP上被同步(例如借助PTP和帧锁定或同步锁定),从而在任意给定 时刻在所有的网络图形处理器NGP上存在已同步Vsync计数器NS的同一个绝对值。因此,在 图17中,针对从网络图形处理器从NGP得到已同步Vsync计数器NS的相同同步序列。
[0185] 网络图形处理器NGP的同步和同步的实施包括3个相互独立彼此叠置构造的层。最 下面的层是各个网络图形处理器NGP上的本地时钟的例如借助PTP(精确时钟协议)的同步。 该层不知道垂直回扫管理。第二层是利用已同步时钟的垂直回扫管理,从而这样(借助帧锁 定或同步锁定)编程各个网络图形处理器NGP的显卡:使得其垂直回扫在同一时刻以所需的 精确度(误差小于0.5毫秒)实现。这个第二层不知道待处理或待显示的视频流。第三层是所 谓的或真正的实施内容同步的NGP间同步。该第三层从第二层通过函数调用获取由第二层 提供可用的已同步Vsync计数器NS。第三层使用已同步Vsync计数器NS而不是局部已同步时 钟的直接时间值。
[0186] 此外,在图17中针对主网络图形处理器主NGP和从网络图形处理器从NGP显示相对 Vsync计数器NSR的值。该值是已同步Vsync计数器NS关于其值在调解函数MF的上一次重新 启动时(即上一个先前的帧同步时刻TS时)的相对值。相对Vsync计数器NSR是已同步Vsync 计数器NS的当前值和其在上一个帧同步时刻TS时的值之间的差,即一个相对计数器,因为 其相对于上一个帧同步时刻计数。相对Vsync计数器NSR是局部计数器,即各自网络图形处 理器NGP上用于垂直回扫VR相对于上一次实现的帧同步时刻TS处的垂直回扫VR的计数器。 垂直回扫VR以显示器D(借助帧锁定或同步锁定)被同步的垂直回扫信号Vsync的频率,即以 垂直显示频率fd实现。相对Vsync计数器NSR的计数因此利用垂直回扫信号Vsync的频率,即 利用与已同步Vsync计数器NS相同的频率实现。通过将相对Vsync计数器NSR结合已同步 Vsync计数器NS和对显示器D而言共同的帧同步时刻TS,相对Vsync计数器NSR在所有网络图 形处理器NGP上被同步,从而在(第一帧同步时刻TS之后的)任一时刻在所有网络图形处理 器NGP上存在用于相对Vsync计数器NSR的相同值。相对Vsync计数器NSR由在调解函数MF中 用于继续计数的网络图形处理器NGP自一个帧同步时刻TS起局部地使用。
[0187] 在直到第一帧同步时刻TS的未同步的启动阶段,在图17中没有指出用于相对 Vsync计数器NSR的值,因为这在第一帧同步时刻TS之前由于缺乏参考值(即在帧同步时刻 TS选出的已同步Vsync计数器NS)因而是不可能的。在帧同步时刻TS,相对Vsync计数器NSR 被设置为开始值(此处为零)并且从那时起同步计数。相对Vsync计数器NSR的已同步值可以 从那时起作为网络图形处理器NGP的调解函数MF中的自变量使用。
[0188] 在图17中,针对主网络图形处理器主NGP和从网络图形处理器从NGP,也为当前由 各个网络图形处理器NGP的解码器3作为已解码流4写入视频帧队列2的那些视频帧指定绝 对帧识别号id。这些绝对帧识别号从视频帧队列2中得到处理,即为了在显示器D上的显示 从视频帧队列2读出的待渲染视频帧FR,利用渲染器5进行渲染并且作为将变得可见的视频 帧FV被写入后置缓冲器6。视频流的视频帧的这些绝对帧识别号id来自视频流自身,即来自 编码各个视频流的编码器的RTP时间戳,并且被嵌入到视频流中。这些绝对帧识别号标识被 嵌入到视频流中的各个视频帧,并且对于网络图形处理器而言是通用的,就是说对于一个 特定的视频帧在所有网络图形处理器NGP中都是相同的(因此被称为"绝对"值)并且因此可 以在各个网络图形处理器NGP上同步所述视频帧时用作标识视频流中的视频帧。但是,所述 绝对帧识别号id由于RTP协议中的时间戳的不确定性仅可以用作标识视频帧,但不能用于 "定时"的目的,即用于视频帧的显示的时间控制或同步的目的。此外,该绝对帧识别号id也 不是例如指出其也可以从一个视频帧到下一个视频帧不规则地增加多于1的计数。
[0189] 来自解码器3的视频流中的被写入视频帧队列2或由其渲染的视频帧4的频率平均 来说对应于视频流频率fs,从而视频帧平均来说在视频流频率的周期T s的时间间隔中依次 出现。但是由于上述效应,特别是由于抖动,来自解码器3的视频流的视频帧的提供在时间 上是不均匀的,而是在没有根据本发明的同步的情况下波动。这在图17中由在来自解码器3 的已解码视频流4的绝对帧识别号id的情况下的波动时间间隔~1图示出。
[0190] 由于上述效应(不同网络传输时长,解码器3的不同处理时间),在没有根据本发明 的同步的情况下,在网络图形处理器NGP之间未同步视频帧FR的渲染,从而在图17中,视频 帧的解码的完成时刻是不同的并且主网络图形处理器主NGP和从网络图形处理器从NGP之 间的已渲染视频帧FR的绝对帧识别号id也是不同的。因此在一次垂直回扫VR中,即在一个 特定的已同步Vsync计数器NS,针对主网络图形处理器主NGP和从网络图形处理器从NGP将 具有不同绝对帧识别号id的视频帧作为视频帧FR渲染到各自的后置缓冲器6中,这将导致 之前所述的帧撕裂。根据本发明的内容同步用于在所有垂直回扫VR中(即在所有垂直回扫 信号Vsync中)和因此针对已同步Vsync计数器NS的所有的值,保证由参与视频插入的显示 的显示屏幕D显示相同的视频帧,即具有相同的绝对帧识别号id的视频帧,并且由此避免帧 撕裂。
[0191] 这由如下因素实现:用于网络图形处理器NGP上的已解码视频帧的局部视频帧队 列2,局部视频帧计数器NF(主网络图形处理器主NGP上的NFM,从网络图形处理器从NGP上的 NFS),局部相对视频帧计数器NFR(主网络图形处理器主NGP上的NFRM,从网络图形处理器从 NGP上的NFRS),属于帧同步时刻TS并且在此之前不久由主网络图形处理器主NGP向从网络 图形处理器从NGP发送的同步消息SN,以及调解函数MF。
[0192] 针对各个网络图形处理器NGP上的视频流的视频帧的局部视频帧计数器NF(主网 络图形处理器主NGP上的NFM,从网络图形处理器从NGP上的NFS)的值由网络图形处理器NGP 的各自解码器3提供,并且因此局部可供各自网络图形处理器NGP可用。局部视频帧计数器 NF对在各自网络图形处理器NGP上解码的在视频帧队列2中暂存的视频帧进行计数(原则上 自任意开始值起)并且是其值由视频帧到视频帧增加1的计数器。但是,网络图形处理器NGP 的局部视频帧计数器NF对于参与视频插入的显示的网络图形处理器NGP而言是不同步的, 就是说在各个网络图形处理器NGP上为(具有一个特定的绝对帧识别号id的)每个特定的视 频帧各自局部地分配局部视频帧计数器NF的不同值。
[0193] 只要在网络图形处理器NGP上解码视频流时没有从该视频流丢失视频帧,例如由 于发生故障、干扰、误传输或时间问题,在一个网络图形处理器NGP上局部视频帧计数器NF 就会由一个视频帧到下一个视频帧各自增加1。因为这相应地对所有局部视频帧计数器NF 有效,其造成只要在网络图形处理器NGP上解码视频流时没有视频帧从视频流流失,即只要 由网络图形处理器NGP解码的视频帧的顺序不被打断,则局部视频帧计数器NF的成对差,即 一个网络图形处理器NGP的局部视频帧计数器NF和另一个网络图形处理器NGP的局部视频 帧计数器NF之间的差别(8卩"偏移"或"偏差",下面称为"视频帧计数器差")在时间上是恒定 的。
[0194] 因此只要在两个网络图形处理器NGP任一上解码视频流时没有视频帧从视频流流 失,则从网络图形处理器从NGP的局部视频帧计数器NFS和主网络图形处理器主NGP的局部 视频帧计数器NFM之间的视频帧计数器差DNF(DNF = NFS-NFM)在时间上也是恒定的。这最后 一个特性,即从网络图形处理器从NGP的局部视频帧计数器NFS相对于主网络图形处理器主 NGP的局部视频帧计数器NFM的视频帧计数器差DNF的时间恒定性,使得根据本发明的内容 同步可用,因为其在一个从网络图形处理器从NGP上局部地实现了从网络图形处理器从NGP 的局部视频帧计数器NFS与主网络图形处理器主NGP的局部视频帧计数器NFM相关(成比 例),由此从而可以在从网络图形处理器从NGP上选出相同的视频帧,即具有相同绝对帧识 别号id的视频帧,用于像在主网络图形处理器主NGP上一样进行显示。视频帧计数器差DNF 是否恒定借助同步消息SN进行检查,并且在发生变化时在需要的情况下进行相应的校正, 从而再次建立同步的显示。
[0195] 由网络图形处理器NGP针对一定数量的绝对帧识别号id各自在视频帧队列2中存 储源自视频流的绝对帧识别号id和属于该绝对帧识别号id的局部视频帧计数器NF(主网络 图形处理器主NGP上的NFM,各个从网络图形处理器从NGP上的NFS)的相应值。由解码器3写 入视频帧队列2的视频帧因此不但包括图像信息本身(已解码视频帧),还针对各个视频帧 也包括相关的绝对帧识别号id和每个相关的局部视频帧计数器NF的值。在图17中通过视频 帧队列2上的对照参考[2]表明绝对帧识别号id和各自局部视频帧计数器NF之间的在视频 帧队列2中的局部分配,该局部分配被网络图形处理器NGP局部记录。
[0196] 此外,在图17中示出了局部相对视频帧计数器NFR(主网络图形处理器主NGP上的 NFRM,从网络图形处理器从NGP上的NFRS)的值。在网络图形处理器NGP本地,它们各自是局 部视频帧计数器NF的当前值减去用于上一个参考视频帧icU rr(上一个帧同步时刻TS具有 绝对参考帧识别号icUrr的视频帧)的局部视频帧计数器NF?rr的值:
[0197] NFR = NF -NF corr
[0198] 局部相对视频帧计数器NFR也是任意位置处的(用于相对Vsync计数器NSR的任意 值的)调解函数MF的函数值并且用于选出待渲染视频帧FR,就是说局部相对视频帧计数器 NFR通过自帧同步时刻TS起进行计数来确定待处理的(待植染的)视频帧,并且借助局部相 对视频帧计数器NFR确定的视频帧被渲染以用于显示器上的显示。
[0199] 因为图17示出了完全未同步的初始化阶段,直到第一帧同步时刻TS都不显示主网 络图形处理器主NGP上的局部相对视频帧计数器NFRM和从网络图形处理器从NGP上的局部 相对视频帧计数器NFRS的值。
[0200] 在一个同步消息时刻TSN,主网络图形处理器主NGP通过网络向从网络图形处理器 从NGP发送一个同步消息SN。其优选以多播运行方式发送(多播同步消息或多播同步电文), 并且仅由主网络图形处理器主NGP向从网络图形处理器从NGP发送,而不由从网络图形处理 器从NGP向主网络图形处理器主NGP发送或在从网络图形处理器从NGP之间发送。其用于在 随后的帧同步时刻TS实施内容同步,借助该内容同步主网络图形处理器主NGP和从网络图 形处理器从NGP根据主网络图形处理器主NGP的指示相互同步。
[0201] 由主网络图形处理器主NGP向从网络图形处理器从NGP发送的同步消息SN用于保 证在网络图形处理器NGP上调解函数MF在相同时刻以相同的相对Vsync计数器NSR和相同的 频率比f s/fdSTd/Ts开始。因此,同步消息SN可以准时地存在于从网络图形处理器从NGP处 并且可以由从网络图形处理器从NGP同时处理,其在下一个帧同步时刻TS之前不久被发送。 帧同步时刻TS是其中调解函数MF的应用时段结束以及具有重置的局部相对Vsync计数器 NSR的新应用时段开始的时刻。帧同步时刻TS因此是两个调解函数段之间,即两个前后相随 的调解时段TM之间的交界。因为多播同步消息SN在网络内的时延很小(大约1毫秒),所以如 果在帧同步时刻TS之前的一个或两个帧周期Td发送该多播同步消息是足够的。
[0202]由于网络时延,出于安全,同步消息SN必须在下一个帧同步时刻TS之前的时间间 隔内发送,由此其准时地在帧同步时刻TS到达从网络图形处理器从NGP。在正常的网络运行 条件下,为此小于1毫秒的帧同步时刻前段TSV是足够的,在网络顶峰负荷下(小于10毫秒 的)若干毫秒足够。在实践中为此一或两次垂直回扫即足够,就是说通常当这个帧同步时刻 前段TSV介于IX Td和3 XTd之间时是有利的。与此相应地,有利的特征在于与帧同步时刻TS 相关的同步消息SN在同步消息时刻TSN由主网络图形处理器向从网络图形处理器发送,该 同步消息时刻比相应的随后帧同步时刻TS提前帧同步时刻前段TSV,其中所述帧同步时刻 前段介于垂直显示频率fd的二分之一至五个周期Td之间,优选一个至三个周期Td之间,其中 优选值是两个周期Td。
[0203]由主网络图形处理器主NGP向从网络图形处理器从NGP发送的同步消息SN包括在 主网络图形处理器主NGP上局部(例如以表值或协议的形式)记录的消息的提取。这种记录 并不在整个过去阶段进行,而是仅针对大约对应于视频帧队列2的范围的一个特定的较新 时段进行。该记录的信息包括绝对帧识别号id和主网络图形处理器主NGP的视频帧队列2中 的视频帧的主网络图形处理器主NGP的局部视频帧计数器NFM之间的局部映射,就是说主网 络图形处理器主NGP的视频帧队列2中的每个条目都包括视频帧的绝对帧识别号id和相应 的局部视频帧计数器NFM。
[0204]相同的信息相应地被记录在各自的从网络图形处理器从NGP中,其发生在与主网 络图形处理器主NGP可匹配的时段期间。相应地,这些记录的信息包括绝对帧识别号id和从 网络图形处理器从NGP的视频帧队列2中的视频帧的从网络图形处理器从NGP的局部视频帧 计数器NFS之间的局部映射,就是说从网络图形处理器从NGP的视频帧队列2中的每个条目 都包括视频帧的绝对帧识别号id和相关的局部视频帧计数器NFS。
[0205]因此,所有网络图形处理器NGP已知哪个绝对帧识别号id被分配给了用于在视频 帧队列2中缓冲的视频帧的哪个局部视频帧计数器NF。在此确保用于视频帧的视频帧队列2 的所有瞬时图像在相同时刻(在第一(PTP)和第二(垂直回扫管理)层的精确度的范围内)被 保存。
[0206]由主网络图形处理器主NGP向从网络图形处理器从NGP发送的同步消息SN包括对 前述记录的信息的下列提取:
[0207] (i)在相对Vsync计数器NSR的比下一个帧同步时刻TS提前帧同步时刻前段(提前 期)TSV的时刻的主网络图形处理器主NGP的视频帧队列2的瞬时图像(快照,瞬间成像)。在 这个瞬时图像中包括绝对帧识别号id和主网络图形处理器主NGP的视频帧队列2中的视频 帧的主网络图形处理器主NGP的局部视频帧计数器NFM之间的局部映射。
[0208] (ii)用于当前视频帧的主网络图形处理器主NGP的局部视频帧计数器NFM的值,所 述当前视频帧作为上一个(即直接在发送同步消息SN之前)由主网络图形处理器主NGP从主 网络图形处理器主NGP的视频帧队列2中读出以用于渲染。
[0209] (iii)由主网络图形处理器主NGP测量的视频流频率fs(或者与此等效的视频流频 率fs的周期Ts的信息)。
[0210] (iv)垂直显示频率fd(或者与此等效的垂直显示频率fd的周期Td的信息)。该垂直 显示频率〇由主网络图形处理器主NGP测量并且作为统一的值被发送到所有从网络图形处 理器从NGP,由此存在于从网络图形处理器从NGP上的调解函数与主网络图形处理器主NGP 的精确一致。相应地,与由主网络图形处理器主NGP向从网络图形处理器从NGP发送的同步 消息SN-起,发送关于由主网络图形处理器主NGP测量的垂直显示频率fd的消息(或者与此 等效的垂直显示频率fd的周期Td的信息),其中该消息要么包括垂直显示频率fd本身要么包 括与视频流频率f s的比(或者与此等效的关于垂直显示频率的周期和视频流频率的周期的 比的信息)。
[0211] (v)取代根据(iii)(视频流频率fs或视频流频率fs的周期T s)和(iv)(垂直显示频 率fd或垂直显示频率fd的周期Td)的信息,在变换的实施方式中同步消息SN仅包括这些变量 的比,即比fs/fd或Td/Ts,因为在调解函数中仅输入这些变量的比并且因此在从网络图形处 理器从NGP上仅需要这个比的值而不需要这些频率本身。这种变换被视为等效。
[0212] 直到同步消息SN的第一次发送或直到同步的分阶段初始化的结束,并不是所有这 些信息已被存储在主网络图形处理器主NGP或从网络图形处理器从NGP上,或者并不是所有 这些信息都包含在完整的同步消息SN中。直到在图17中示出的第一帧同步时刻TS,显示器D 上的视频帧的显示完全未同步地进行。自第一帧同步时刻TS起,主网络图形处理器主NGP和 从网络图形处理器从NGP在调解函数MF重新开始的时刻,即相对Vsync计数器NSR再次在零 处开始的时刻被同步。这些时刻是帧同步时刻TS并且每个以已同步Vsync计数器NS的相同 值重新开始。由此,实现同步的基本定时,因为自该帧同步时刻TS起,相对Vsync计数器NSR 在主网络图形处理器主NGP和从网络图形处理器从NGP之间被同步。但是,局部相对视频帧 计数器NFR和在显示器D上显示的视频帧尚未同步。
[0213] 图18示出下一个准备阶段的序列,即在第二帧同步时刻TS之前和之后不久的时刻 的图17的值,该第二帧同步时刻跟在第一同步时刻TS的调解时段TM之后。在示出的示例中, 调解时段TM是垂直显示频率fd的周期Td的三十倍大,即TM = 30XTd。在比同步时刻TS提前帧 同步时刻前段TSV的时刻,再次由主网络图形处理器主NGP向从网络图形处理器从NGP发送 同步消息SN。该同步消息已经包括频率f s和fd(或频率比fs/fd)并且因为相对Vsync计数器 NSR已经在第一帧同步时刻被同步,所以自第二帧同步时刻TS起调解函数MF在主网络图形 处理器主NGP和从网络图形处理器从NGP之间被同步,因为调解函数MF的自变量的所有值被 同步。
[0214] 因此,自第二帧同步时刻TS起主网络图形处理器主NGP和从网络图形处理器从NGP 也关于"相位"被同步,并且调解函数MF的函数值确定来自各个网络图形处理器NGP的局部 视频帧队列2的哪个视频帧在网络图形处理器NGP上被局部地渲染。但是,还不存在完整的 同步,因为还缺少内容同步,由此不仅在相同的周期内由网络图形处理器NGP显示这些视频 帧,而且也一致地并且因此无撕裂地显示相同的视频帧(其具有相同的绝对帧识别号id)。 因此,通常在第二帧同步时刻TS之后,被渲染到后置缓冲器6中的视频帧FR仍在主网络图形 处理器主NGP和从网络图形处理器从NGP之间或者在从网络图形处理器从NGP之间存在区 别。
[0215] 为了完整的同步,仍必须在第二帧同步时刻TS之后由从网络图形处理器从NGP局 部地确定一个局部附加值,帧偏移,该帧偏移指示从网络图形处理器从NGP上的视频帧(在 从网络图形处理器从NGP上渲染的视频帧FR)的显示相对于主网络图形处理器主NGP上的视 频帧(在主网络图形处理器主NGP上渲染的视频帧FR)的显示直接在该帧同步时刻TS之前 (更确切地说,在所述同步消息SN之前)偏移了多少个视频帧。然后,假设这个帧偏移在跟在 帧同步时刻TS之后的调解时段TM期间是恒定的,并且这些视频帧的显示在这个时段内通过 附加考虑该帧偏移相应地得到校正,从而然后得到完整的同步。这个帧偏移在每个帧同步 时刻TS被重新确定或检查,从而校正与此有关的变化。
[0216] 由主网络图形处理器主NGP和一个从网络图形处理器从NGP各自渲染的视频帧之 间的帧偏移的这种确定借助使用在图19中示出的直接在第三帧同步时刻TS之前发送的同 步消息SN而进行。图19因此示出同步过程,因为自第三帧同步时刻TS起获得完整的同步。 [0 217]在调解函数MF的每个新段的开始时,即在帧同步时刻TS处将调节函数MF重置成相 对Vsync计数器NSR为零之后,在新调解时段TM的开始时,通过使用之前直接发送的同步消 息SN,在所有网络图形处理器NGP,即在参与所观察的视频插入的显示的主网络图形处理器 主NGP和所有从网络图形处理器从NGP上保存各自的视频帧队列2的瞬时图像。确切地说,瞬 时图像在相同的借助由垂直回扫管理在所有参与的网络图形处理器NGP上提供的已同步 Vsync计数器NS标识的垂直回扫开始时被保存。视频帧队列2中,以及因此瞬时图像中的每 个条目包括视频帧的绝对帧识别号id和相关的局部视频帧计数器NF。利用下一个同步消息 SN,该同步消息由主网络图形处理器主NGP关于帧同步前段TSV(在该示出示例中为下个帧 同步时刻之前的两次垂直回扫和因此在调解函数的下次重置之前的两次垂直回扫)在帧同 步时刻TS之前以多播模式通过网络发送到从网络图形处理器从NGP,所有从网络图形处理 器从NGP及时地在这个下个帧同步时刻TS之前获得主网络图形处理器主NGP的视频帧队列2 的当前瞬时图像,并且可以将该瞬时图像与在与主网络图形处理器主NGP相同的时刻保存 的其自有的瞬时图像进行比较。
[0218]为了确定帧偏移,在从网络图形处理器从NGP中局部地比较与同步消息SN-起接 收的主网络图形处理器主NGP的视频帧队列2的瞬时图像和从网络图形处理器从NGP的视频 帧队列2的局部存储的瞬时图像。在此比较视频帧队列2中的条目。这些条目具有绝对帧识 别号id的重叠区域,就是说有些绝对帧识别号id既在主网络图形处理器主NGP的视频帧队 列2的瞬时图像中也在从网络图形处理器从NGP的视频帧队列2的瞬时图像中出现。
[0219]由其获取包含在两个瞬时图像中的每一个中的绝对帧识别号id,并且从网络图形 处理器从NGP利用其提供的帮助局部地确定帧偏移(局部相对视频帧计数器NFR之间的差)。 随后可以利用这个信息将从网络图形处理器从NGP的局部相对视频帧计数器NFRS按主网络 图形处理器主NGP的系统重新调准。因此可以仅利用在从网络图形处理器从NGP上的局部视 频帧计数器NFRS计算或工作,以确定待渲染的视频帧FR并实施同步,因为从网络图形处理 器从NGP按主网络图形处理器主NGP的系统调准,即与该系统相关并根据其进行调节。
[0220] 原则上,可以在比较从网络图形处理器从NGP上的同步消息SN与从网络图形处理 器从NGP上存储的值时,搜索任意、较新的绝对帧识别号i d,该绝对帧识别号i d包含在两个 瞬时图像中,即包含在与同步消息SN-起被传输到从网络图形处理器从NGP处的主网络图 形处理器主NGP的视频帧队列2的瞬时图像和从网络图形处理器从NGP的视频帧队列2的瞬 时图像中,以借助这个视频帧确定帧偏移。在其中同步消息SN可选地包括主网络图形处理 器主NGP上的最新视频帧的绝对帧识别号id的有利的实施方式中,在同步消息SN中将最新 视频帧的绝对帧识别号id从主网络图形处理器主NGP传输到从网络图形处理器从NGP,以检 查关于这个特定的最新视频帧是否存在重叠。相应地,存在一种有利的实施方式,即主网络 图形处理器主NGP的向从网络图形处理器从NGP发送的同步消息SN也包括主网络图形处理 器主NGP上的最新视频帧(即在主网络图形处理器主NGP上最后被渲染的视频帧)的绝对帧 识别号id,并且在比较这些瞬时图像时查明这个绝对帧识别号id是否包含在比较的瞬时图 像中。在瞬时图像重叠的情况下(无论是针对任意视频帧还是最新视频帧)存在两种可能 性。要么主网络图形处理器主NGP的最后的绝对帧识别号id在从网络图形处理器从NGP的视 频帧队列2的瞬时图像中,要么从网络图形处理器从NGP的最后绝对帧识别号id在主网络图 形处理器主NGP的视频帧队列2的瞬时图像中。
[0221] 如果这两个比较的瞬时图像之间不存在重叠,就是说不存在具有对两个瞬时图像 而言共同的相同绝对帧识别号id的视频帧,则从网络图形处理器从NGP和主网络图形处理 器主NGP之间的视频帧显示中的偏移非常大,使得在选择的最大数量的视频帧队列2中的条 目中,不能实现这些网络图形处理器NGP之间的视频帧的显示中的同步。然后可以尝试通过 扩展视频帧队列2实现同步。然而,这增加了被缓冲的视频帧的数量,并且还增加了显示视 频的延迟,使得如果显示以较小延迟进行则存在限制。
[0222] 如果在第二帧同步时刻TS之后从网络图形处理器从NGP上的视频帧的显示已经与 主网络图形处理器主NGP进行了同步,则从网络图形处理器从NGP会确定其视频帧队列2的 内容(即其瞬时图像的内容)恰好看上去像主网络图形处理器主NGP的视频帧队列2的由主 网络图形处理器主NGP经由同步消息发送的瞬时图像一样,并且内容同步不必干预以进行 调节。但是,通常在结束初始化之后在第二帧同步时刻TS后借助绝对帧识别号id确定存在 显示内容的相对移置,即帧偏移,并且内容同步的目的在于去除以及校正这种移置。为此, 首先必须确定视频帧队列2的视频帧内容相对彼此"偏移"了多少个视频帧。但是,绝对帧识 别号id不能为此被直接使用,因为除了唯一地标识视频帧,其值不能假定任何其他的信息。 两个视频帧之间的距离(即两个视频帧之间存在的视频帧的数量),可以仅利用绝对帧识别 号id的值来非常不可靠地确定。
[0223] 但是局部视频帧计数器NF适用于通过简单的减法确定(相同的网络图形处理器 NGP上的)两个视频帧之间的距离,其总是假设通过网络的编码器和具有其(软件)解码的解 码器的路径上没有视频帧丢失,因为仅在每个网络图形处理器NGP上解码之后产生局部视 频帧计数器NF;因此其不同于绝对帧识别号id,并不来自视频流。但是后者恰好是两个视频 帧之间的距离也不能被简单地计算为其局部视频帧计数器NF跨网络图形处理器的界线的 差的原因;在相同的视频帧中差应该为零,但是这通常并不确定,因为局部视频帧计数器NF 相互独立地在每个网络图形处理器NGP上产生。但是,这个两个网络图形处理器NGP之间用 于视频帧的局部视频帧计数器NF的通常非零的视频帧计数器差DNF独立于为其观察这个差 的已选视频帧。这个视频帧计数器差DNF恰好是一个常数,(总是在没有丢失数据帧的前述 前提下)两个为进行比较而观察的网络图形处理器NGP上的局部视频帧计数器NF由于其不 同的开始点或开始时刻而相差这一常数。因此,针对从网络图形处理器从NGP上的预给定的 局部视频帧计数器NFS,可以利用这个(恒定的)视频帧计数器差DNF在主网络图形处理器主 NGP上指出(由其绝对帧识别号id标识的)相同视频帧的相应局部视频帧计数器NFM,或相 反。
[0224] 从网络图形处理器从NGP的局部视频帧计数器NFS相对于主网络图形处理器主NGP 的局部视频帧计数器NFM的这个视频帧计数器差DNF独立于同步方法的操作并且得以确定, 其方法在于利用既包括在从网络图形处理器从NGP的当前瞬时图像中也包括在经由同步消 息SN最后被主网络图形处理器主NGP接收的主网络图形处理器主NGP的在相同时刻获得的 瞬时图像中的任一视频帧,计算从网络图形处理器从NGP和主网络图形处理器主NGP之间的 局部视频帧计数器NF的差DNF。
[0225] 这用于在同步期间确定从网络图形处理器从NGP(参照读出相应视频帧的指针)向 前或向后需要多少个视频帧来校正其从其视频帧队列2的当前视频帧提取,以用于进一步 处理,即用于渲染以在显示墙的显示器上显示,由此其显示与主网络图形处理器主NGP的显 示同步。为此,从网络图形处理器从NGP在下一个帧同步时刻TS(在此为图19中的第三帧同 步时刻TS)或直到该下一个帧同步时刻计算视频帧的视频帧计数器差DNF,主网络图形处理 器主NGP和从网络图形处理器从NGP在发送上一个同步消息SN(在此为图19中的帧同步时刻 TS之前的同步消息SN)的时刻已经从其视频帧队列中提取了所述视频帧。由此,从网络图形 处理器从NGP可以确定这个视频帧计数器差DNF,主网络图形处理器主NGP还与所述同步消 息SN-起发送其用于当前的,即其在帧同步消息SN(在此为图19中的直接在第三帧同步时 刻TS之前的帧同步消息SN)的先前最近时刻已经处理的最新视频帧的局部视频帧计数器 NFM。通过确定这个帧偏移,然后可以以上述方式进行针对主网络图形处理器主NGP的局部 视频帧计数器NFM的从网络图形处理器从NGP的局部视频帧计数器NFS的"再调整",从而差 为零表示存在相同的视频帧。根据由此在从网络图形处理器从NGP和主网络图形处理器主 NGP之间的各个偏移的确定数量的视频帧,现在通过延迟或提前来校正视频帧由从网络图 形处理器从NGP上的视频帧队列的提取,由此实现视频帧显示的同步。
[0226] 保证针对显示器D的所有已同步Vsync计数器NS显示相同视频帧的在网络图形处 理器NGP上渲染的视频帧的实际对准(内容同步),因此借助与同步消息SN-起被主网络图 形处理器主NGP发送到从网络图形处理器从NGP的瞬时图像形式的表值/协议得以实现。主 网络图形处理器主NGP的具有关于主网络图形处理器主NGP上的哪个绝对帧识别号id属于 哪个局部视频帧计数器NFM的数据的瞬时图像,各自与同步消息SN-起由主网络图形处理 器主NGP发送到从网络图形处理器从NGP。在从网络图形处理器从NGP上,各自进行一个局部 比较过程,其中主网络图形处理器主NGP的这个瞬时图像与各个从网络图形处理器从NGP的 相应局部瞬时图像进行比较。在该过程中,检查是否针对特定的绝对帧识别号id(例如主网 络图形处理器主NGP的最新绝对帧识别号)存在重叠。在此,如果绝对帧识别号id在(主网络 图形处理器主NGP或从网络图形处理器从NGP的)一个瞬时图像中包含多次,即多次被显示, 则采用第一次出现的值。借助在网络图形处理器上通用的绝对帧识别号id,将每个主网络 图形处理器主NGP的局部视频帧计数器NFM与从网络图形处理器从NGP的局部视频帧计数器 NFS进行匹配。通过瞬时图像的这种比较,在每个从网络图形处理器从NGP上获得关于视频 帧数量的信息,每个从网络图形处理器从NGP上的视频帧的显示相对于主网络图形处理器 主NGP偏移(即提前或延后)了该数量的视频帧。然后可以在调解函数的下一次开始时,即在 下一个帧同步时刻TS时,加上或减去该它们各自的偏移,作为用于从网络图形处理器从NGP 的各自局部相对视频帧计数器NFSR的校正值,从而其结果是:从那时起所有的从网络图形 处理器从NGP与主网络图形处理器主NGP同步地显示相同的视频帧。
[0227] 因此,自图19中示出的第三帧同步时刻TS起,实现显示器上的视频插入的显示的 完全同步。自那时起,同步以与第二帧同步时刻TS之后一样的方式继续进行。在帧同步时刻 TS,从网络图形处理器从NGP检查内容同步是否仍然满足或在此期间其是否出现并因此需 要校正。为此,从网络图形处理器从NGP再次检查哪个视频帧在直接先前的同步消息的发送 时刻由主网络图形处理器主NGP进行了处理(渲染),并且通过各自比较在来自主网络图形 处理器主NGP的同步消息SN中接收的瞬时图像与其存储的瞬时图像,确定由各自的从网络 图形处理器从NGP在与主网络图形处理器主NGP的相同时刻处理具有哪个绝对帧识别号id 的哪个视频帧。由此,得到包括在两个瞬时图像的每个中的绝对帧识别号id,并且从网络图 形处理器从NGP在其帮助下局部地检查帧偏移(从网络图形处理器从NGP和主网络图形处理 器主NGP之间的局部视频帧计数器NF的差),以查看是否其相对于上一个调解时段保持相 同。通常还完成了内容同步。如果帧偏移发生了变化,则其自帧同步时刻起通过调节校正值 得到相应地校正。
[0228] 为了调解函数的继续进行,自同步消息SN之后的帧同步时刻TS(在这个示例中是 同步消息SN之后的两次垂直回扫)起,从网络图形处理器从NGP因此确定其各自相对于主网 络图形处理器主NGP偏移了多少个视频帧,并且借助主网络图形处理器主NGP和从网络图形 处理器从NGP之间的局部视频帧计数器的已确定视频帧计数器差将其局部相对视频帧计数 器NFRS调整到主网络图形处理器主NGP的局部相对视频帧计数器NFRM。例如,如果从网络图 形处理器从NGP确定根据其显示其比主网络图形处理器主NGP上的视频插入的显示显示提 前或延后两个视频帧,则校正或补偿这种偏差或时间偏移,其方法在于从网络图形处理器 从NGP在计算已选视频帧时为这个偏移加上调解函数的函数值中的计数器符号。
[0229] 显示器D的垂直频率fd和用于每个视频流的帧速率fs确定用于这个视频流的调解 函数MF的函数值。因为频率fjPfd随着时间流逝也会发生微小的变化,所以其(或者其比)根 据一种有利的实施方式不仅被确定一次,而是不时规则地或以间隔(例如以周期性的,即规 则的时间间隔,并且优选按照垂直显示频率fd的周期)重复对一个或两个变量的测量。该频 率fs和fd(通过主网络图形处理器主NGP)或其比的确定此外优选通过在多个周期内取平均 值实现,从而频率f s和fd的在根据本发明的同步过程中使用的值或其比的值是平均的频率 值。根据一种优选实施方式,可以通过具有时间长度U的时间滑动测量窗口,例如按照垂直 显示频率〇的时间,进行上述取平均值。在此在介于开始和结束值之间的多个周期内取平 均值,其中U表示测量持续时间,即测量窗口的时间长度。根据一种有利的特征因此建议, 要么视频流频率f s或与此等效的视频流频率fs的周期Ts和垂直显示频率fd或与此等效的垂 直显示频率f d的周期Td,要么视频流频率fs与垂直显示频率fd的比fs/fd或与此等效的倒数 fd/fs,要么垂直显示频率fd的周期Td与视频流频率fs的周期Ts的比Td/Ts或其与此等效的倒 数Ts/Td的确定不时地、规则地、间歇地或优选以滑动测量窗口 Μ按照垂直显示频率fd的周期 重复。
[0230] 图20示出作为主机使用的网络图形处理器NGP对垂直显示频率fd和视频流频率fs 的测量。垂直回扫VR的末端VRE处的相对Vsync计数器NSR与用于在视频帧队列2中可用的待 渲染的视频帧FW的局部相对视频帧计数器NFRM被显示为时间t的函数。在此,NSRstart和 NFRMstart是时间长度。的当前测量窗口 Μ中的开始值并且NSRend和NFRMend是其结束值。还显 示了下一个测量窗口 Mne3Xt。频率fd和f s的当前值然后由对当前测量窗口 Μ取平均值得出:
[0233] 相应地,为了确定显示频率fd,主网络图形处理器还可以使用已同步Vsync计数器 NS而非相对Vsync计数器NSR,或者为了确定视频流频率fs,其可以使用局部视频帧计数器 NFM而非局部相对视频帧计数器NFRM。期间求平均值的周期的数量,即包含在取平均值中的 垂直回扫VR的数量应该大于图20的图示中的数量,以获得良好的取平均值。期间取平均值 的垂直回扫VR的数量有利地介于50和200之间,优选为约100。其可以预定或者也可以动态 匹配。例如,具有优点的是可以以较小的测量窗口 Μ开始,以在显示器的初始化期间或同步 期间用于频率fs和fd的初始粗糙值可用。在操作运行中,然后测量窗口 Μ的长度U可以被扩 大,例如其方法在于窗口大小由一个测量到另一个测量逐渐变大直到达到选择的结束值。
[0234] 根据另一有利的实施方式,一旦频率f4Pfd的间歇或持续测量得出比fs/fd或Td/T s 相对于开始值的变化已经超过了例如0.01的一个极限值,则主网络图形处理器主NGP可以 独立于以实施帧同步的基本速率触发较早的帧同步。
[0235] 附图标记列表
[0236] 1 显示墙
[0237] 2 视频帧队列
[0238] 3 解码器
[0239] 4 已解码视频帧
[0240] 5 渲染器
[0241] 6 后置缓冲器
[0242] D 显示器
[0243] D1 显示器1
[0244] Dn 显示器η
[0245] DNF 视频帧计数器差NFS-NFM
[0246] DVI 数字视觉接口
[0247] E 以太网
[0248] EC 编码器
[0249] EC1 编码器 1
[0250] ECm 编码器 m
[0251] FR 被渲染到后置缓冲器中染的视频帧
[0252] FV 变得可见的视频帧
[0253] FW 视频帧队列中的视频帧
[0254] fd 垂直显示频率
[0255] fs 视频流频率
[0256] GbE 千兆以太网
[0257] IS 视频插入
[0258] id 绝对帧识别号
[0259] idcorr 参考视频帧的绝对帧识别号
[0260] LAN 网络
[0261] Μ 测量窗口
[0262] Mnext 下一个测量窗
[0263] m 视频图像源的数量
[0264] MF 调解函数
[0265] η 显示墙的显示器的数量
[0266] NF 局部视频帧计数器
[0267] NFM 局部视频帧计数器主NGP
[0268] NFS 局部视频帧计数器从NGP
[0269] NFR 局部相对视频帧计数器(用于待渲染视频帧的计数器)
[0270] NFRM 局部相对视频帧计数器主NGP
[0271] NFRS 局部相对视频帧计数器从NGP
[0272] NFRend NFR 的结束值
[0273] NFRstart NFR 的开始值
[0274] NGP 网络图形处理器
[0275] NGP 1 网络图形处理器1
[0276] NGP η 网络图形处理器η
[0277] NS 已同步的Vsync计数器
[0278] NSR 相对Vsync计数器
[0279] NSRend NSR 的结束值
[0280] NSRstart NSR 的开始值
[0281] S 视频图像源
[0282] S1 视频图像源1
[0283] Sm 视频图像源m
[0284] SN 同步消息
[0285] SW 交换机
[0286] SS 同步信号生成器
[0287] Td 垂直显示频率的周期
[0288] TS 帧同步时刻
[0289] TSN 同步消息时刻
[0290] TSV 帧同步时刻前段
[0291] Ts 视频流频率的周期
[0292] t 时间
[0293] TM 调解时段
[0294] tm 测量窗口的长度
[0295] VR 垂直回扫
[0296] VRE 垂直回扫的结束
[0297] Vsync 垂直回扫信号
【主权项】
1. 一种用于同步来自视频图像源(S)的视频插入(IS)的具有视频流频率(fs)的视频流 的视频帧的显示的计算机执行方法,该视频插入同时在由多个显示器(D)组成的显示墙(1) 的两个或更多个显示器(D)上得到显示,其中 所述显示器(D)各自由包括具有网卡和显卡的计算机的相关网络图形处理器(NGP)控 制并且以相同的垂直显示频率(fd)运行, 所述网络图形处理器(NGP)上的本地时钟被同步,优选通过PTP(精确时钟协议)进行同 步, 所述网络图形处理器(NGP)的驱动显示器(D)的显卡的垂直回扫(VR)借助帧锁定或同 步锁定被同步,并且 所述视频流通过网络(LAN)从视频图像源(S)被传输到所述网络图形处理器(NGP),其 中优选地,视频图像源(S)在通过网络(LAN)传输之前借助编码器(EC)分别被编码和压缩, 并且在由网络图形处理器(NGP)接收之后借助解码器(3)被解码, 该方法包括下列步骤: 在主从架构中组织参与视频图像源(S)的显示的网络图形处理器(NGP),其中一个网络 图形处理器(NGP)被配置为用于视频图像源(S)的主网络图形处理器(主NGP)并且其它网络 图形处理器(NGP)被配置为从网络图形处理器(从NGP),其中对于每个视频图像源(S),角色 的相应分配被安排为使得:为了同步视频图像源(S)的显示,主网络图形处理器(主NGP)将 同步消息(SN)发送到从网络图形处理器(从NGP),而该同步消息(SN)由从网络图形处理器 (从NGP)接收并评估, 所述视频帧各自借助嵌入到视频流中的绝对帧识别号(id)被标识,该绝对帧识别号 (id)优选从视频帧的RTP时间戳导出, 在帧同步时刻(TS)在网络图形处理器(NGP)之间同步视频帧的显示,在所述帧同步时 刻之后各自跟随一个持续到下一个帧同步时刻(TS)的调解时段(TM),该调解时段在显示墙 (1)的多次垂直回扫上延续,其中在帧同步时刻(TS)之前不久,即调解时段(TM)开始之前, 在同步消息时刻(TSN)由主网络图形处理器(主NGP)向从网络图形处理器(从NGP)发送同步 消息(SN),并且其中,在调解时段(TM)期间由网络图形处理器(NGP)通过如下方式同步显示 视频帧:网络图形处理器(NGP)各自借助调解函数(MF)局部地确定待显示的视频帧,该调解 函数(MF)对于网络图形处理器(NGP)而言是共同的,并且其中,为同步显示视频帧而需要的 包括在调解函数(MF)的自变量中的参数在同步消息(SN)中被传送, 其中,这些参数包括由主网络图形处理器(主NGP)测量的视频流频率(fs)或与此等效的 由主网络图形处理器(主NGP)测量的视频流频率(fs)的周期(Ts)和由主网络图形处理器(主 NGP)测量的垂直显示频率(fd)或与此等效的由主网络图形处理器(主NGP)测量的垂直显示 频率(fd)的周期(Td),或者,这些参数包括由主网络图形处理器(主NGP)测量的视频流频率 (f s)与由主网络图形处理器(主NGP)测量的垂直显示频率(fd)的比(fs/fd)或其与此等效的 倒数(fd/f s),或者,这些参数包括由主网络图形处理器(主NGP)测量的垂直显示频率(fd)的 周期(Td)与由主网络图形处理器(主NGP)测量的视频流频率(f s)的周期(Ts)的比(Td/Ts)S 其与此等效的倒数(Ts/Td), 所述主网络图形处理器(主NGP)通过以小于垂直显示频率(fd)的速率发送同步消息 (SN)来同步调解函数(MF), 视频流的待渲染视频帧各自由网络图形处理器(NGP)借助局部视频帧计数器(NF)局部 地计数并且各自通过链入相应的视频帧队列(2)而被缓冲,包括其相关的绝对帧识别号 (id)和相关的局部视频帧计数器(NF),从而每个视频帧队列(2)包括绝对帧识别号(id)和 局部视频帧计数器(NF)之间的局部映射, 与主网络图形处理器(主NGP)传向从网络图形处理器(从NGP)的同步消息(SN)-起,在 同步消息时刻(TSN)传送主网络图形处理器(主NGP)的视频帧队列(2)的瞬时图像,该同步 消息时刻比下一个帧同步时刻(TS)提前帧同步时刻前段(TSV),其中该瞬时图像包括主网 络图形处理器(主NGP)的视频帧队列(2)中的视频帧的主网络图形处理器(主NGP)的绝对帧 识别号(id)和局部视频帧计数器(NFM)之间的局部映射, 为在同步消息(SN)之前检测局部帧偏移,将由从网络图形处理器(从NGP)与同步消息 (SN) -起接收的主网络图形处理器(主NGP)的视频帧队列(2)的瞬时图像与从网络图形处 理器(从NGP)的视频帧队列(2)的局部存储的瞬时图像进行局部地比较,并由该比较确定所 述帧偏移,其中所述帧偏移指示各个从网络图形处理器(从NGP)上的视频帧的显示相对于 主网络图形处理器(主NGP)上的视频帧的显示偏移的视频帧的数量, 并且局部帧偏移在从网络图形处理器(从NGP)上从帧同步时刻(TS)起被如下校正:,在 从网络图形处理器(从NGP)上从帧同步时刻(TS)起将帧偏移添加到从网络图形处理器(从 NGP)的指明待渲染视频帧的局部视频帧计数器(NFS)上, 从而所述从网络图形处理器(从NGP)接收来自主网络图形处理器(主NGP)的在同步消 息(SN)中的为进行同步所必须的信息,以便既能够在帧同步时刻(TS)也能够在其随后的直 到后面的帧同步时刻(TS)的调解时段(TM)期间自动局部地与主网络图形处理器(主NGP)同 步地显示视频插入(IS)的视频帧。2. 根据权利要求1的方法,其特征在于,视频帧的显示由网络图形处理器(NGP)多次缓 冲,优选双重缓冲,并交换锁定地实现。3. 根据权利要求1或2的方法,包括下列步骤: 网络图形处理器(NGP)的显卡的垂直回扫由网络图形处理器(NGP)借助在网络图形处 理器(NGP)之间被同步的Vsync计数器(NS)局部地计数, 由网络图形处理器(NGP)形成局部相对Vsync计数器(NSR),该相对Vsync计数器表示当 前已同步Vsync计数器(NS)与其上一个帧同步时刻(TS)时的值之间的差, 由网络图形处理器(NGP)使用所述相对Vsync计数器(NSR)作为调解函数(MF)的自变量 值,其中下式适用于该调解函数(MF):\ / V· -S / 并且调解函数(MF)计算局部相对视频帧计数器(NFR)作为函数值,该局部相对视频帧 计数器是将从视频帧队列(2)选出以用于渲染的视频帧的局部视频帧计数器(NF)与上一个 帧同步时刻(TS)时的视频帧的局部视频帧计数器(NF)之间的差,从而由相应的网络图形处 理器(NGP)借助局部相对视频帧计数器(NFR)确定和选择用于在显示器(D)上显示的待渲染 的视频帧,以用于由网络图形处理器渲染, 其中,由于包含在调解函数(MF)的自变量值中的视频流频率(fs)除以垂直显示频率 (fd)的比(或者周期期间的倒数比),如果这两个频率不同,则调解函数(MF)在处理视频帧 的期间在这两个频率之间进行平衡和调节。4. 根据前述权利要求之一的方法,包括以下步骤: 为确定帧偏移,在与同步消息(SN)-起被接收的主网络图形处理器(主NGP)的视频帧 队列(2)的瞬时图像与从网络图形处理器(从NGP)的视频帧队列(2)的局部存储的瞬时图像 的比较中,使用在这些瞬时图像中包含的绝对帧识别号(id),以检查是否在这两个瞬时图 像中包含共同的参考视频帧,并且针对这个参考视频帧,由在绝对帧识别号(id)和在瞬时 图像中包含的局部视频帧计数器(NF)之间的局部分配形成视频帧计数器差(DNF),该视频 帧计数器差是参考视频帧的从网络图形处理器(从NGP)的局部视频帧计数器(NFS)与参考 视频帧的主网络图形处理器(主NGP)的局部视频帧计数器(NFM)之间的差(DNF = NFS-NFM), 并且借助该视频帧计数器差(DNF)通过如下方式确定帧偏移:首先从网络图形处理器 (从NGP)对于参考视频帧形成换算差,该换算差是其局部视频帧计数器(NFS)与视频帧计数 器差(DNF)之间的差, 并且从网络图形处理器(从NGP)通过从所述从网络图形处理器(从NGP)的局部视频帧 计数器(NFS)减去所述换算差,来计算用于视频帧的主网络图形处理器(主NGP)的局部视频 帧计数器(NFM),该视频帧在同步消息时刻(TSN)由主机为渲染而选出, 并且计算帧偏移作为用于在同步消息时刻(TSN)由从网络图形处理器(从NGP)为渲染 而选出的视频帧的主网络图形处理器(主NGP)的局部视频帧计数器(NFM)与用于在相同的 同步消息时刻(TSN)由主网络图形处理器(主NGP)为渲染而选出的视频帧的主网络图形处 理器(主NGP)的局部视频帧计数器(NFM)之间的差。5. 根据前述权利要求之一的方法,其特征在于,在比较瞬时图像以确定视频帧计数器 差(DNF)时,查明直接在发送同步消息(SN)之前,由从网络图形处理器(从NGP)最后放入从 网络图形处理器(从NGP)的视频帧队列(2)的视频帧是否包含在主网络图形处理器(主NGP) 的瞬时图像中。6. 根据前述权利要求之一的方法,其特征在于,为确定视频帧计数器差(DNF),对于直 接在发送同步消息之前由主网络图形处理器(主NGP)最后放入主网络图形处理器(主NGP) 的视频帧队列(2)的视频帧,主网络图形处理器(主NGP)的局部视频帧计数器(NFM)的值以 及这个视频帧的绝对帧识别号(id)与主网络图形处理器(主NGP)的同步消息(SN) -起向从 网络图形处理器(从NGP)传送,并且在比较瞬时图像时查明这个视频帧是否包含在被比较 的两个瞬时图像中。7. 根据前述权利要求之一的方法,其特征在于,重复同步消息(SN)的发送和在帧同步 时刻(TS)的视频帧的显示的同步,优选以周期性的,即以规则的时间间隔重复。8. 根据前述权利要求之一的方法,其特征在于,由主网络图形处理器(主NGP)向从网络 图形处理器(从NGP)发送同步消息(SN)的速率或频率,也即在帧同步时刻(TS)实施帧同步 的速率或频率,介于0.05Hz和10Hz之间,优选介于0.1Hz和5.0Hz之间,进一步优选介于 0.2Hz和3.0Hz之间,特别优选介于0.5Hz和2.0Hz之间。9. 根据前述权利要求之一的方法,其特征在于,调解时段(TM)是一个固定的预定值,特 别是固定的时长,固定数量的垂直回扫信号(Vsync),固定数量的垂直回扫(VR)或相对 Vsync计数器(NSR)的最大值。10. 根据前述权利要求之一的方法,其特征在于,与帧同步时刻(TS)相关的同步消息 (SN)在同步消息时刻(TSN)由主网络图形处理器(主NGP)向从网络图形处理器(从NGP)发 送,该同步消息时刻比相应的下一个帧同步时刻(TS)提前帧同步时刻前段(TSV),其中所述 帧同步时刻前段介于半个和五个,优选介于一个与四个并且特别优选介于一个和三个垂直 显示频率(f d)的周期(Td)之间。11. 根据前述权利要求之一的方法,其特征在于,同步消息(SN)由主网络图形处理器 (主NGP)作为多播消息向从网络图形处理器(从NGP)发送。12. 根据前述权利要求之一的方法,其特征在于,间或地、定期地、间歇地或优选以滑动 测量窗口(M)按照垂直显示频率(fd)的周期重复进行视频流频率(f s)或与此等效的视频流 频率(fs)的周期(Ts)和垂直显示频率(fd)或与此等效的垂直显示频率(fd)的周期(Td),或者 视频流频率(f s)与垂直显示频率(fd)的比(fs/fd)或其与此等效的倒数(f d/fs),或者垂直显 示频率(fd)的周期(Td)与视频流频率(f s)的周期(Ts)的比(Td/Ts)或其与此等效的倒数(IV Td)的确定。13. -种计算机程序产品,特别是计算机可读的数字数据载体,其具有存储的计算机可 读和计算机可执行的指令以用于实施根据前述权利要求之一的方法,即具有当其在处理 器、计算机或计算机网络中加载并得到执行时使得所述处理器、计算机或计算机网络实施 根据前述权利要求之一的方法步骤和操作的指令。14. 一种计算机系统,包括多个网络图形处理器(NGP),所述网络图形处理器各自具有 带有网卡、显卡和网络接口的计算机和用于实施根据前述权利要求之一的方法的视频同步 丰旲块。15. -种由多个显示器(D)组成的显示墙(1),用于显示来自一个或多个视频图像源(S) 的一个或多个视频流,其特征在于,该显示墙包括根据前述权利要求的计算机系统。
【文档编号】G06F3/14GK105874422SQ201380081917
【公开日】2016年8月17日
【申请日】2013年10月30日
【发明人】U·泽瓦斯
【申请人】巴可控制室股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1