视频帧同步的制作方法

文档序号:7848259阅读:272来源:国知局
专利名称:视频帧同步的制作方法
技术领域
本发明的多个实施例一般涉及数据通信领域,更具体地涉及视频帧同步。
背景技术
在特定系统中,数据流可以在数据源设备和接收设备之间经由数据链接传输,这些设备可以包括使用或重新传输流数据的宿或中继器设备。在特定实现中,宿或中继设备可以包括多个端口、并且可以在两个或更多的这类端口上接收数据流。例如,视频系统可以在不同的端口上接收多个数据流。然而,由于在设备、距离以及传输协议方面的差异,当视频帧到达宿或中继设备时,这些视频流可能并非正确地彼此对准或同步。在使用这些视频流时,这种时序上的不对准可能带来困难或误差,并且这种不对准会随着时间变化。多个源设备的彼此同步可能 通常需要在这些源设备之间进行通信、并且可能需要针对这些源设备的相当大量的计算开销。附图
简述在附图的这些图例中示出了作为示例而并非限制示出的本发明的多个实施例,在这些附图中类似的附图标记表示类似的元件。图I是采用闭环命令的用于多端口视频帧同步的一个实施例的图示;图2的流程图示出视频帧同步过程的实施例;图3的流程图示出用于更改视频帧传输时间以对这些帧的到达进行同步的过程的实施例;图4是由多个端口生成的显示图像的生成同步的实施例的图示;图5是宿或中继器设备的实施例的图示;图6是源设备的实施例的图示;图7是用于视频帧同步的实施例的对准命令的图示;图8是用于视频帧同步的实施例的接口的图示;以及图9是供视频帧同步之用的装置的实施例的元件图示。

发明内容
本发明的多个实施例一般涉及视频帧同步。在本发明的第一方面,一种方法的实施例包括在多端口设备的第一端口上接收来自第一源的第一数据流,该第一数据流的第一帧在第一到达时间到达第一端口 ;以及在该多端口设备的第二端口上接收来自第二源的第二数据流,该第二数据流的第二帧在第二到达时间到达第二端口。该方法进一步包括确定在第一到达时间与第二到达时间之间的偏差;至少部分地基于偏差确定一个或多个校正因数,该一个或多个校正因数包括用于第一源的第一校正因数;并且向第一源发送第一命令以便利用该校正因数更改在第一帧之后由第一源发送的第三帧的传输时间。
在本发明的第二方面,一个方法实施例包括生成视频帧的数据流以供传输到多端口设备的一个端口上,并且将这些视频帧传输到多端口设备上,包括利用输出时序发生器对这些视频帧的传输进行定时。该方法进一步包括接收来自多端口设备的一个或多个对准命令,每个对准命令包含用于下一个后续视频帧传输的校正因数,以便调整与在多端口设备的一个或多个其他端口处到达的多个视频帧的对准;并且基于包含在每个命令中的校正因数来调整针对下一个后续视频帧的传输时间。详细说明本发明的多个实施例一般涉及视频帧同步。在一些实施例中,一种方法、装置或系统提供视频帧同步,从而允许调整跨多个端口的数据对准。在一些实施例中,一种方法、装置或系统可以利用闭环数字时序命令来提供跨装置或系统的多个端口的多个视频帧的同步。如在此所用的,同步意味着关于数据到达的时序的调整,并且可以包括进行调整以便使视频帧的到达对准到同一时刻,或者提供视 频帧到达的期望偏差。一种在多个端口之间提供帧时序的闭环控制的方法、装置或系统可以允许如DTV(数字电视机)的设备改进端口切换时间,并改进其他特性,如画中画显示。在一些实施例中,方法、装置或系统在接收设备的控制下对于多个数字连接提供视频流同步,例如在具有多个端口的DTV控制下使A/V (音频/视频)数据流的同步。在一些实施例中,接收设备可以是利用已接收数据的设备,在此称之为“宿”,或者可以是中间设备或交换机,在此称之为“中继器”。可以由设备接收处于视频帧流形式的视频数据。视频数据流可以是(例如)通过将压缩视频解码来生成,其中压缩数据包括多种标准,诸如MPEG-2 (运动图像专家组)、MPEG-4、或视频编码专家组(VCEG)的H. 264。在一实现中,源系统中的解码器读取压缩视频信息的多个连续块、并生成像素信息的实际帧以及HSYNC (水平同步)和VSYNC (垂直同步)时序,以便向下一中继器或宿设备输出解压缩的视频。然而,在解码器中,解码逻辑可在一组时钟上运行,而帧输出元件(帧输出状态机)可在另一组不同的时钟上运行。在这种解码器中,帧输出状态机可从最后一个帧缓存器中逐帧读取有待传输的视频帧数据(在此称之为像素数据),这最后一个帧缓存器可以是解码器的存储器架构的一部分。在一些实施例中,因为巾贞输出状态机并未锁定到解码器状态机的时序上,所以当从这最后一个帧缓存器中读取帧时,有可能对该帧的起始时间进行调整。在一些实施例中,利用这种灵活性,帧输出状态机可以生成解压缩的视频流,该视频流的VSYNC边缘处于相对于任何绝对时间的任意较早或较迟的时刻。如在此所使用的,“源”是提供视频数据流的设备,而“宿”设备是使用视频数据流的设备,并且中继器设备是将视频数据流转发(或中继)到另一个设备上的设备。在一示例中,如果绝对时间(这里称之为Τζ·)是视频帧在宿或中继器设备(如用于视频数据的DTV(数字电视)或其他类似元件)上的多个输入端口之一处最晚的到达时间,那么在所有其他输入端口上的这些视频帧的到达时间将早于TZEro。通过将每个端口的到达时间延迟特定的量,有可能使这些端口的视频流的到达时间彼此同步,以使所有的流都在接近Τζ·的时刻到达,或者所有的流彼此间有特定偏差地到达。然而,(例如)基于VSYNC的前沿,帧时序并非是恒定的,即使对于一个视频解析度的连续视频流而言也是如此。例如,若总的帧象周期是一秒钟的六十分之一(1/60),其对应于60Hz的垂直刷新频率,那么在理想状况下,相对于第一帧的到达时间,第N帧将正好在N/60秒时到达。然而,视频管线中的变化会导致这种时序中的变化,因此导致视频帧到达时间的变化。在一些实施例中,端口帧时序的调整是连续提供的,而不是一次性校正。在一些实施例中,为了进行连续校正,从多个视频源到宿(或中继器)上的多个输入端口的接口提供了时序校正的闭环命令通信。在运行时,来自每个源设备的多个视频帧到达宿或中继器的多个输入端口之一。在一些实施例中,宿或中继器的逻辑测量每一巾贞相对于恒定时钟信号的到达时间。在一些实施例中,宿或中继器确定多个校正因数,并且将命令或其他类似的数据发回到每个源以通知该源应该对它的视频帧传输时间进行多大的调整,以便在多个端口的每一个上提供对于多个视频帧到达时间的期望对准。由此,一种方法、装置或系统的实施例提供对多个视频数据流(如多个并发未压缩视频流)的闭环时序校正。与接收视频数据流的端口相关联的链接时钟(也称之为用于视频流数据的像素时 钟)相对于其他端口的视频流的链接时钟可以是异步的。在一些实施例中,在宿或中继器上这些视频帧的到达时间可以利用这些传入像素时钟之一来测量、或利用与这些传入像素时钟之一频率相同的宿或中继器中生成的时钟来测量。使用像素时钟频率允许源设备将其输出频率帧提前或延迟整数个像素时钟周期,这些时钟周期可用来提供适当的调整灵敏度。在一些实施例中,异步端口时序中的任何剩余失配都可以利用多端口存储器、FIFO (先入先出)缓存器、或宿或中继器的其他记忆元件来校正。在一些实施例中,对多个端口的视频流的到达时间进行校正以使所有视频流以几乎重合的VSYNC前沿到达允许宿或中继器对这些端口中任意一个的视频内容进行采样,并从一个端口切换到另一个端口而不必考虑相对的帧时序。因此,所有端口的视频帧都松散地锁定在一起。在一些实施例中,附加的时序调整可以用于有目的地使一个端口的帧时序与另一端口的帧时序有偏差。在一示例中,中继器可以包括四个输入端口(端口 #1-4),并且来自端口 #1的视频将在输出帧的右上四分之一中输出;来自端口 #2的视频在左上四分之一中输出;来自端口 #3的视频在左下四分之一中输出;来自端口 #4的视频在右下四分之一中输出。在一些实施例中,端口 #2、#3、#4与端口 #1 (在本示例中,端口可以是最早的流)之间的时间偏差规定交换机可对每个端口的动态视频进行采样,并构建由每个输入帧的左上四分之一的内容构成的单个输出帧。然而,各个实施例并不限于其中的输出包括这些多输出元素的方法、装置或系统。其他实施例可以包括具有灵活的输入时序调整的附加方案。在一些实施例中,用于将时序校正信息返回到每个源的闭环机制可能随数字互联标准不同而不同。在一示例中,对于HDMI (高清多媒体接口)数据的传输,CEC (消费电子控制)总线命令可以用于将延迟调整值从中继器或宿传送到源上。在第二示例中,对于MHL (移动高清链接)数据,CBUS命令可以用于将延迟调整值从中继器或宿传送到源。使用变化的互联标准可能对每个数据流需要不同的时序。在一些实施例中,所采用的每个信道具有较低的等待时间(例如远小于一帧周期)以及足够的带宽,以允许向在例如60Hz的速率上运行的接口每帧至少传输一次命令。然而,这些实施例不限于此类信道。在一些实施例中,可以假设更快的帧速率不会在帧和帧之间显著变化,并且可以每N帧携带一命令,其中这些命令足够频繁地发送以保持对帧的前沿VSYNC的漂移的控制。在一些实施例中,宿或中继器的存储器结构可能影响命令的频率。宿或中继器中的存储元件(例如多端口存储器或FIFO缓存器)的深度影响了需要系统具有的对帧间时序漂移的控制程度,其中与较浅的存储器相比较深的存储器可以允许更远的帧漂移。在一些实施例中,源侧上的存储控制器能够快速地对发送给它的命令作出反应,以使得校正输出帧时序中的等待时间最小化。在一些实施例中,存储控制器是可编程为小增量(例如单像素时钟计数)地移动“帧起始”时序(至帧缓存器)。在一些实施例中,当多个传入的视频流均为相同的视频模式,诸如720p/60 (HDTV(高清电视)模式,在60Hz刷新率上有720条水平逐行(非隔行的)扫描线)或者1080p/60模式时,将方法、装置或系统应用于宿或中继器上的多个端口。在一些实施例中,用于接收视频流的每个端口都可具有共同的频率像素(或链路)时钟,虽然相位、漂移、以及抖动可能是随端口而不同的。具有相同频率的独立宿侧时钟的存储元件(例如多端口存储器或FIFO缓存器)可以用于进一步地使这些像素流重新同步。 在一些实施例中,当多个传入流处于不同视频模式时,方法、装置或系统可以被应用到宿或中继器的具有不同像素时钟频率的多个端口上,其中可以利用像素重复(一次以上地从为较低解析度视频模式而写入的FIFO缓存器中读取相同像素)或利用数据缩放来实现进一步的重新同步。在一些实施例中,携带时序校正因数的反馈命令可以包含标识数据流的流名称、端口索引(从宿或中继器的角度来看)、有待调整的绝对时间(例如,在像素时钟周期单元内)、以及有可能包含的与保持这种调整相关的其他字段(如调整周期)。在一些实施例中,这些参数的每一个都可以由宿侧逻辑来确定,因此施加在源系统上的负担较小。在一些实施例中,每个源系统读取传入的反馈命令、并且调整输出时序发生器以产生新的帧时序。当源系统诸如在使用者请求下通过改变通道或改变视频模式来改变其视频流时,输出视频流通常会有新的帧时序、并且有可能有新的像素频率。在一些实施例中,宿或中继器识别出这种变化并对其作出反应、并且将反馈命令发送到相应的源以便重新调整帧同步。对于特定数字接口,可以主动地传送新的视频模式或变更到新的通道的通知,从而允许宿或中继器本身为必要的测量和校正决定作好准备。在一些实施例中,因为宿或中继器负责监测端口到端口的帧时序以便对漂移进行评估,该宿同样可以使用相同的机制以对通道变化或视频模式变化作出回应。可以对多个视频数据流,诸如HDMI流、DVI (数字视觉接口)流、以及MHL数据流进行加密。在一些实施例中,包含在数据流中的视频帧可以采用加密的方式进行测量和同步,而无需获取任何流的视频内容。在一些实施例中,视频帧的加密不影响到达时间的测量以及到达多端口装置或系统的不同端口的多个帧之间偏差的校正。在一些实施例中,可以选择宿的输入端口中的任一个作为“主”端口,该主端口是宿的所有其他端口将它们的帧时序与其同步的端口。在一些实施例中,因为帧时序以“垂直刷新率”重复,相对于其他端口可能看起来是最晚到达的端口与下一帧相比时反而可以认为是最早到达的。以此方式,每个端口的时序可以相对于该主端口的时序来进行测量和调

iF. O
一种方法、装置或系统的实施例提供了数字校正、并且与诸如帧锁定与发生器锁相(Genlock)的常规模拟系统的区别在于一个实施例可以包括(a)利用源设备的链接时钟进行帧时序偏差的时钟数字测量;(b)利用命令总线将这些校正因数传送回每个源;(c)有目的地对时序进行偏移,从而使得这些帧的不同部分在宿或中继器上重迭的能力;以及(d)利用单一的数字测量和通信反馈环路适应具有不同信号方面(视频解析度或帧率)的输入。图I是利用闭环命令的多端口视频帧同步的一个实施例的图示。在此图示中,不同的源在此示为源#1 110、源#2 120、源#3 130、以及源#4 140。尽管图I对每个视频数据流示出单独的源,在一些实现中,一个源可能向多个端口提供多个视频数据流。如图I所 示,中继器或宿设备150包括四个端口,尽管源或中继器可以包括任意数量的多个端口。图I示出源#1110向端口 #1 160提供了视频帧流,源#2 120向端口 #2 170提供了视频帧流,源#3 130向端口 #3 180提供了视频帧流,而源#4 140向端口 #4 190提供了视频帧流。在图I提供的示例中,由多个源各自发送的第一视频帧在不同的时刻到达,其中来自源#1 110的帧IA 112在T1到达,来自源#3 130的帧3A 132在T2到达,来自源#2 120的帧2A 122和来自源#4 140的帧4A 142在T3到达。这些视频帧可以是加密或未加密的形式。在一些实施例中,中继器或宿150以及这些源利用闭环命令对视频帧的到达进行同步,以提供这些帧所希望的对准。在一些实施例中,中继器或宿150向这些源中的一个或多个发送反馈对准命令来更改来自此类源的视频帧的传输时间,从而改变对准。在此图示中,命令I 165被传送到源#1 110,命令2 175被传送到源#2 120,命令3 185被传送到源#4130,命令4 175被传送到源#4 140。在一些实施例中,这些源根据接收到的命令更改后续(第二)视频帧的传输。在一些实施例中,中继器或宿随后测量这些第二视频帧的到达时间并将一个或多个新的对准命令传送到这些源上,从而继续此闭合反馈环路。这些对准命令的结果可以是造成下一组帧的更接近对准的同步校正,该组帧(示为帧IB 114、帧2B 124、帧3B 134、帧4B144)以更接近一个统一时刻的方式到达,该统一时刻在这里示出为时刻T4。尽管在图I所示的示例中对于多个视频帧的同步和对准提供了在同一时刻或接近同一时刻到达的多个帧,本发明的实施例并不限于这种对准。对于不同的实现方式,可能希望有不同的对准,包括(例如)对于图4所说明的对准。尽管图I示出中继器或宿150向每个源发送对准,但在一些实施例中这些对准命令可以只发送给需要同步变化的源。图2的流程图示出用于视频帧同步过程的实施例。在一些实施例中,在202,在一个或多个源上生成多个视频数据流,在204,每个数据流的视频帧在多端口宿或中继器设备的一端口上接收。在206,在每个端口上每个帧的到达时间由该多端口宿或中继器设备检测。在208,宿或中继器设备确定在帧到达时间与参考时间(例如绝对时间值)之间的差。宿或中继器设备确定用于每个源的校正因数以更改每个端口上的视频帧的对准。在一些实施例中,在210,该校正因数可以是整数个数据周期,以简化由这些源进行的对传输点的调整。在一些实施例中,在212,宿或中继器设备关于这些校正因数向一个或多个源设备传送命令,以供在每个源设备上传输视频帧。在214,如果对于对准数据需要附加的校正,则在216可以利用该宿或中继器设备的多端口存储元件提供时序校正。然后闭合反馈环路返回到206以检测多端口宿或中继器设备的每个端口上视频帧的到达时间。图3的流程图示出用于更改视频帧的传输时间以使此类帧的到达同步的过程的实施例。在一些实施例中,在302,在源设备上生成视频数据帧流。在一些实施例中,数据帧的生成可以包括使用解码器将编码的数据解码,例如对压缩视频数据进行解码的设备。在其他实施例中,源可以生成多个视频帧而不解码,例如通过游戏控制台或者类似的设备或系统生成视频帧。在304,所生成的视频帧可以存储在存储器中用于传输,例如将这些视频中贞存储在下一巾贞缓存器中。在一些实施例中,在306用于传输的下一巾贞是从该下一巾贞缓存器中获取的,其中这些视频帧旨在用于传输到多端口装置或系统的端口上,该装置或系统是宿或中继器元件。如果在308没有接收到对准命令,那么过程就继续在312建立用于传输下一个视频巾贞的时间并在314在确定的传输时间上传输这个巾贞。然后,在306过程可以继续下一个视频帧。然而,如果在308接收到对准命令,则在310从该对准命令中获取校正因数,该校正因数用于在312建立视频帧的传输时间,由此允许在该多端口装置上同步多个数据帧的到达而不需要这个源设备与其他源设备进行数据传输的协调。图4是从多个端口生成的显示图像的生成同步实施例的图示。在此图示中,中继 器设备400可以在多个端口上接收多个视频帧流,如从源#1450到达数据端口 #1 410的视频帧、从源#2 452到达数据端口 #2 412的视频帧、从源#3454到达数据端口 #3 414的视频帧、从源#4 456到达数据端口 #4 416的视频帧。在这个图示中,这些视频帧被提供到显示器430上,其中来自每个端口的数据流被用于生成显示器内容430的一部分。在此图示中,数据端口 #1 410提供了用于右上部分Ql 440的视频数据,数据端口 #2 412提供了用于左上部分Q2 442的视频数据,数据端口 #3 414提供了用于左下部分Q3 444的视频数据,数据端口 #4 416提供了用于右下部分Q4 446的视频数据。在一些实施例中,中继器设备400向一个或多个源提供了多个闭环对准命令460-466。在一些实施例中,这些对准命令可以被用于有目的地偏移每个端口的帧时序,以允许顺序地从这些帧中的每一个采样从而产生输出。图5是宿或中继器设备的实施例的图示。在这个图示中,宿或中继器设备500包括多个数据端口,这里示为数据端口 #1 510到数据端口 #n 515,其中η是大于等于2的任意整数。每个数据端口可以包括一个时钟,该时钟可被称为用于视频数据的像素时钟,诸如用于数据端口 #1 510的像素时钟#1 520以及用于数据端口 #η 515的像素时钟#η 525。在一些实施例中,每个端口要接收来自源的数据流,其中设备500确定视频帧的到达时间之间的差值并传送闭环命令以调整和保持传入视频帧之间的对准。这在图5中被示为源#1550向数据端口 #1 510提供数据流通过向数据端口 #η 515提供数据流的源#η 560接收对准命令555,并接收对准命令565。在一些实施例中,设备500可以进一步包括用于接收数据的一个或多个接收器530、确定多个到达视频帧之间的时序差并确定对一个或多个源必需的校正的反馈逻辑534、可用于确定这些视频帧到达时间之间的差值的时钟536、以及存储元件,诸如可用于提供进一步的数据对准更改的多端口存储器或FIFO缓存器532 (该存储元件可以从与时钟536具有相同频率的独立时钟533接收时钟信号)。存储元件532可以包括但不限于存储视频帧的全部或部分的缓存器,诸如用于存储一行视频数据的行缓存器。在一示例中,可以将行缓存器实现为允许基于一行视频数据的传输时间的同步定时(例如,行时间的±1/2)。该设备可以包括其他元件,包括存储所需要的特定数据的数据存储器502、控制设备500的运行的控制器或处理器504、以及将数据传送到其他元件的一个或多个发送器506 (诸如从一个或多个端口 544传送到宿设备570)。为了对加密的数据进行寻址,设备500可以包括将收到数据解密的解密引擎546,以及在传输前将数据加密的加密引擎548。如果设备500是宿设备,则设备500可以包括一个或多个演示设备,包括例如用于呈现多媒体数据的视频显示器540以及多个扬声器542。图6是源设备的实施例的图示。在这个图示中,源设备610可以将来自一个或多个数据端口 620的多个视频帧的视频数据流提供到宿或中继器设备650 (诸如图5所示的宿或中继器设备500)的端口上。源设备610可以包括由解码器时钟计时以生成这些视频帧的解码器624,这些视频帧可以缓存在最后一个帧缓存器626中。在其他实施例中,源设备610可以生成多个视频帧而无需解码器。在一些实施例中,源设备610可以包括用以根据输出准备多个帧的帧输出状态机628,连同利用来自输出时钟632的时钟信号来为这些视频巾贞的传输进行定时的输出时序发生器634。在一些实施例中,输出时序发生器634可以根据从宿或中继器650接收的闭环对准命令652来更改用于传输这些视频巾贞的时序。在一些实施例中,输出时序发生器将利用这些对准命令652持续地调整时序,以调节并保持这 些视频帧与其他数据流的视频帧的对准。源设备610可以包括多个其他元件,包括按需存储特定数据的数据存储器612、控制设备610的运行的控制器或处理器614、以及将数据传送至其他元件的一个或多个发送器614。为了对加密数据进行寻址,设备610可以包括将收到的数据解密的解密引擎619以及在传输前将数据加密的加密引擎618。设备610可以进一步包括用于从外部数据源640接收数据的一个或多个接收器630。图7是用于视频帧同步实施例的对准命令的图示。在一些实施例中,源设备可以在闭环反馈中发送一系列的对准命令,以调整和保持到达宿或中继器设备的多个端口的视频帧的对准。在一些实施例中,命令705可包括用于标识数据流的流名称715、用于标识宿或中继器设备的接收数据流的端口的端口索引720、有待调整(例如以像素时钟为单位的调整)的视频帧传输的绝对传输时间、以及多个与保持视频帧传输的调整(如调整周期)有关的其他字段730。图8是用于视频帧同步的实施例的接口的图示。在此图示中,一个或多个源通过多个接口链接到多端口宿或中继器设备850的一个或多个端口上,诸如,源#1 810通过接口缆线#1 820与端口 #1 860耦合,源#2 812通过接口缆线#2 822与端口 #2 862耦合,源#n 816通过接口缆线#n 826与端口 #n 866耦合。中继器设备850可以进一步通过一个或多个端口与宿设备870耦合。在此图示中,这些源810至816可以利用不同的协议与端口 860至866交换数据和命令。在此示例中,源#1 810通过HDMI接口 820与端口 #1 860连接。在此图示中,接口 820可以包括通过数据0+线831、数据O-线832、数据1+线833、数据I-线834、数据2+线835以及数据2-线836传送的多种HDMI差分信号。该接口可以进一步包括差分时钟线时钟+837和时钟-838 ;消费电子控制(CEC)控制总线839 ;显示数据通道(DDC)总线840 ;+5V电源841、CEC/DDC接地842 ;热插拔检测843 ;和差分信号所用的四根屏蔽线844。在一些实施例中,宿或中继器设备850可以利用CEC控制总线839将闭环反馈命令传送至源#1 810。
在另一个示例中,源#2 812通过MHL接口 822与端口 #2 862连接。在此图示中,接口 822可以包括通过数据+线845以及数据-线846、差分时钟线时钟+847和时钟-848,以及控制总线CBUS 849传送的多种MHL差分信号。图9是提供视频帧同步的装置的实施例的元件图示。在此图示中,未示出与本说明书无密切关系的特定标准以及众所周知的部件。在一些实施例中,设备900可以是源设备、中继器设备或宿设备。在一些实施例中,设备900包括用于数据传输的互连或者交叉开关905或者其他通信装置。数据可以包括视听数据以及相关的控制数据。设备900可以包括处理装置,诸如与互连905耦合用于处理信息的一个或多个处理器910。处理器910可以包括一个或多个物理处理器以及一个或多个逻辑处理器。另外,这些处理器910各自可以包括多个处理器内核。为简单起见,将互连905展示为单一互连,但可以代表多个不同的互连或总线,并且到这类互连的部件连接可以改变。图9所示的互连905是抽象表示,它代表由适合的桥路、适配器或控制器连接起来的任何一个或多个独立的物理总线、点对点连接或两者并存。互连905可以包括例如系统总线、PCI或者PCIe总线、HyperTransport或者工业标准架构 (ISA)总线、小型计算机系统接口(SCSI)总线、IIC (12C)总线或有时被称为“火线”的电气和电子工程协会(IEEE)标准1394总线(“高性能串行总线标准” 1394-1995,IEEE, 1996年8月30日发布,及其附件)。设备900进一步可以包括串行总线,例如USB总线970,其上可附接一个或者多个USB适配连接。在一些实施例中,设备900进一步包括随机存取存储器(RAM)或其他动态储存设备作为主存储器920,用于存储有待由处理器910执行的信息和指令。主存储器920还可用于存储数据流数据。RAM存储器包括需要刷新存储内容的动态随机存取存储器(DRAM)以及不需要刷新内容但成本更高的静态随机存取存储器(SRAM)。DRAM存储器可以包括同步动态随机存取存储器(SDRAM)(它包括用于控制信号的时钟信号)以及扩展的数据输出动态随机存取存储器(EDO DRAM)。在一些实施例中,系统的存储器可以是特定的寄存器或者是其他专用存储器。设备900还可以包括只读存储器(R0M)925或者其他静态存储设备,用于为处理器910存储静态信息和指令。设备900可以包括用于存储特定元素的一个或者多个非易失性存储器元件930。数据存储器935还可以耦合到设备900的互连905上,用于存储信息和指令。数据存储器935可包括磁盘、光盘及其相应的驱动器或其他存储设备。这些元件可以组合在一起或者可以是独立的部件,并且使用设备900中其他元件的特定部分。设备900还可以通过互连905耦合至显示器或者演示设备940。在一些实施例中,显示器可以包括用于将信息或者内容显示给终端用户的液晶显示器(LCD)、等离子体显示器、阴极射线管(CRT)显示器或任何其他显示技术。在一些实施例中,显示器940可以用于显示电视节目。在一些环境中,显示器940可以包括触摸屏,该触摸屏还用作输入设备的至少一部分。在一些环境中,显示器940可以是或者可以包括音频设备,诸如用于提供音频信息(包括电视节目的音频部分)的扬声器。输入设备945可以被稱合至互连905,用于将信息和/或命令的选择传递给处理器910。在不同实现中,输入设备945可以是键盘、小键盘、触摸屏与触控笔、语音激活系统或者其他输入设备,或者是这些设备的组合。可以包括的另一类型的用户输入设备是光标控制设备950,诸如鼠标、轨迹球或光标方向键,用于向一个或多个处理器910传送方向信息和命令选择,并用于控制显不器940上的光标移动。一个或者多个发送器或接收器955也可以耦合至互连905。在一些实施例中,设备900可以包括用于接收或传输数据的一个或者多个端口 980。可接收或传输的数据可包括视频数据或音频-视频数据,诸如HDMI、DVI以及MHL数据,并且可以被加密传输,例如HDCP(高带宽数字内容保护)加密数据。在一些实施例中,设备包括一个或多个用于传送和/或接收数据的端口 980用于传送和/或接收内容数据985。另外,设备900可以包括USB (通用串行总线)970。设备900可以进一步包括一个或者多个天线958,用于通过无线电信号接收数据。设备900还可以包括供电设备或系统960,它可以包括用于提供或者生成电能的电源、电池、太阳能电池、燃料电池或者其他系统或设备。由供电设备或系统960提供的电能可以按照需要分配给设备900的多个元件。在以上说明中,为了解释的目的,陈述了很多具体细节,目的是提供对本发明的透 彻理解。然而,显而易见的是,对本领域的熟练技术人员而言,可以在缺少这些具体细节中的某些细节的情况下实现本发明。在其他实例中,以框图的形式示出众所周知的结构和设备。所展示的部件之间可能存在中间结构。在此说明的或展示的这些部件可以具有并未示出或说明的附加的输入或输出。所示多个元件或部件还能够以不同的排列或者顺序来安排,包括任意字段的重新排序或者字段长度的改变。本发明可以包括多个不同的过程。本发明的这些过程可以由硬件部件来执行或者可嵌入多个计算机可读的指令中,这些指令可以用来使通用或专用的处理器或者逻辑电路利用这些指令编程以执行这些过程。可替代地,这些过程可以通过硬件和软件的组合来实现。本发明的多个部分可以作为计算机程序产品提供,它们可以包括其上已经存储了计算机程序指令的计算机可读介质,根据本发明这些指令可以用来对计算机(或其他电子设备)进行编程以执行过程。计算机可读介质包括,但不限于,适于存储电子指令的软盘、光盘、CD-ROM (只读光盘存储器)以及磁光盘、ROM (只读存储器)、RAM (随机存取存储器)、EPROM (可擦除可编程只读存储器)、EEPROM (电可擦除可编程只读存储器)、磁卡或者光卡、闪存或者其他类型的介质/计算机可读介质。此外,本发明还可以作为计算机程序产品而被下载,其中该程序可以从远程计算机传送至请求计算机上。这些方法中很多都是以其最基本的形式进行说明的,但从这些方法的任何一个中都可以添加或者删除多个过程,并且从所述消息的任何一个中都可以添加或者削减信息,前提是不背离本发明的基本范围。对本领域的技术人员显而易见的是可以做出很多进一步的更改与适配。这些具体的实施例并不用于限制本发明,而是为了解释本发明。如果提到元件“A”耦合到元件“B”或者与之相耦合,那么元件A可以直接地耦合到元件B或者间接地通过(例如)元件C进行耦合。当本说明书提到部件、特征、结构、过程、或者特性A “导致”部件、特征、结构、过程、或者特性B时,它是指“A”至少是“B”的部分原因,但是还可以有至少一个其他的部件、特征、结构、过程、或者特性帮助导致“B”。如果本说明书指出部件、特征、结构、过程、或者特性“可以”、“也许”、或者“能够”被包括,则具体的部件、特征、结构、过程、或者特性并不是必须被包括。如果本说明书提到“一个/ 一种/ 一”元件,这并不意味着仅有一个所述元件。
—个实施例是本发明的一种实现方式或不例。说明书中参考的“一个实施例”、“一种实施例”、“一实施例”、“特定实施例”或“其他实施例”意味着结合这些实施例所说明的具体特点、结构或特征包含在至少特定实施例中,但不一定是包含在所有的实施例中。“一个实施例”、“一种实施例”、“一实施例”或“特定实施例”的不同表现形式不一定全部是指同一 批实施例。应当理解,在本发明的示例性实施例的以上说明中,本发明的不同特征有时在一个单一实施例、图示、或其说明中归集在一起,其目的是使本揭示流畅并帮助理解一个或多个不同的发明方面。
权利要求
1.ー种方法,包括 在多端ロ设备的第一端口上接收来自第一源的第一视频数据流,所述第一视频数据流的第一视频帧在第一到达时间到达所述第一端ロ; 在所述多端ロ设备的第二端ロ上接收来自第二源的第二视频数据流,所述第二视频数据流的第二视频帧在第二到达时间到达所述第二端ロ; 确定所述第一到达时间与所述第二到达时间之间的偏差; 至少部分地基于所述偏差确定ー个或多个校正因数,所述ー个或多个校正因数包括用于所述第一源的第一校正因数;以及 向所述第一源发送第一命令,以利用所述校正因数更改在所述第一视频帧之后由所述第一源发送的第三视频巾贞的传输时间。
2.如权利要求I所述的方法,其特征在于,所述视频数据是HDMI (高清多媒体接ロ)相容数据和MHL (移动高清链接)相容数据中的ー种或多种。
3.如权利要求I所述的方法,其特征在于,所述命令是通过在所述多端ロ设备与所述第一源之间的命令总线发送的。
4.如权利要求I所述的方法,其特征在于,所述第一命令调整由所述第二源传送的所述第二视频帧之后所述第三视频帧的到达与第四视频帧的到达之间的对准。
5.如权利要求4所述的方法,其特征在干,所述第一命令提供将所述第三视频帧在所述第一端ロ的到达以及所述第四视频帧在所述第二端ロ的到达同步在同一时刻上。
6.如权利要求4所述的方法,其特征在干,所述第一命令提供使所述第三视频帧在所述第一端ロ的到达以及所述第四视频帧在所述第二端ロ的到达同步为具有一定偏差。
7.如权利要求I所述的方法,其特征在于,所述第三视频帧在第三到达时刻到达所述第一端ロ,并且所述第四视频帧在第四时刻到达所述第二端ロ,所述方法进ー步包括确定所述第三到达时刻与所述第四到达时刻之间的第二偏差。
8.如权利要求7所述的方法,进ー步包括至少部分地基于所述第二偏差来确定ー个或多个校正因数,所述ー个或多个校正因数包括用于所述第一源的第二校正因数以及用于所述第二源的第三校正因数中的ー个或多个。
9.如权利要求I所述的方法,其特征在于,所述第一视频帧以及所述第二视频帧中的ー个或多个被加密,并且其中确定偏差以及确定ー个或多个校正因数无需对所述第一视频帧或所述第二视频帧进行解密就可进行。
10.ー种装置,包括 多个端ロ,所述端ロ用于从ー组数据源中接收视频数据流,所述多个端ロ各自从ー数据源接收视频数据流,每个视频数据流包括一视频帧流; 时钟信号,用于对多个视频帧在所述多个端口中的每ー个上的到达进行定时; 用于比较视频帧在所述多个端ロ的到达时间、确定所述到达时间之间的偏差值、并且根据所述偏差值生成一个或多个校正因数的逻辑;以及 至与所述ー组数据源的一个或多个总线连接的接ロ,所述装置基于所述ー个或多个校正因数通过所述ー个或多个总线连接将ー个或多个命令传送至所述数据源中的一个或多个,所述ー个或多个命令用来引导对视频帧传输时间的更改以便对多个视频帧在所述多个端ロ的到达进行同歩。
11.如权利要求10所述的装置,其特征在于,所述装置要发送所述ー个或多个命令的ー个系列,以便向所述ー组数据源提供闭环反馈。
12.如权利要求10所述的装置,其特征在于,所述ー个或多个命令用于将多个视频帧在所述多个端口中每ー个上的到达对准到同一时间。
13.如权利要求10所述的装置,其特征在于,所述ー个或多个命令用于将多个视频帧在所述多个端口中的每ー个上的到达对准到彼此具有特定的偏差。
14.如权利要求10所述的装置,进ー步包括用于所述多个端口中每ー个的链接时钟,其中所述时钟信号是由所述端ロ之ー的链接时钟生成的。
15.如权利要求10所述的装置,进ー步包括公共时钟,其中所述时钟信号是由所述公共时钟生成的,所述公共时钟具有与所述多个端ロ之一的链接时钟相同的频率。
16.如权利要求10所述的装置,其特征在干,所述ー个或多个校正因数各自用于将视频帧的传输提前或延迟ー时间因数。
17.如权利要求16所述的装置,其特征在干,所述时间因数是整数个链接时钟周期。
18.如权利要求10所述的装置,进ー步包括用于存储多个视频帧或多个视频帧的多个部分的存储元件,其中,所述装置要使用所述存储元件来校正多个视频帧在所述数据端ロ的到达时间的残余失匹。
19.如权利要求10所述的装置,其特征在于,所述装置被配置为用于接收ー个或多个加密视频帧,并且其中所述逻辑被配置为用于比较多个视频帧的到达时间、确定多个偏差值、并且生成多个校正因数,而无需对所述ー个或多个加密视频帧进行解密。
20.—种方法,包括 生成多个视频帧的视频数据流用于传输到多端ロ设备的一端ロ; 将所述视频帧传送到所述多端ロ设备,包括利用输出时序发生器对所述视频帧的传输进行定时; 接收来自所述多端ロ设备的一个或多个对准命令,每个对准命令包含用于下ー个后续视频帧传输的校正因数,以调整与在所述多端ロ设备的一个或多个其他端口上到达的多个视频帧的对准;以及 基于包含在每个对准命令中的校正因数来调整对于所述下一个后续视频帧的传输时间。
21.如权利要求20所述的方法,其特征在干,每个命令的校正因数用于将所述下ー个后续视频帧的传输提前或延迟ー时间因数。
22.如权利要求20所述的方法,其特征在于,所述时间因数是整数个时钟周期。
23.如权利要求20所述的方法,其特征在于,接收ー个或多个对准命令包括通过在所述多端ロ设备与所述第一源之间的命令总线接收所述ー个或多个命令。
24.一种数据源设备,包括 数据端ロ,用于将多个视频帧构成的数据流传送至多端ロ设备的第一端ロ ; 帧输出元件,用于向所述数据端ロ提供视频帧用于传输; 时钟信号,用于多个视频帧的传输;以及 输出时序发生器,用于向所述巾贞输出兀件提供时序以便传输所述视频巾贞,所述输出时序发生器基于从所述多端ロ设备接收的多个对准命令来调整用于所述视频帧传输的时序。
25.如权利要求24所述的设备,进一歩包括用于存储所述视频帧的存储缓存器,其中所述帧输出元件用于从所述存储缓存器中获取所述视频帧以供传输。
26.如权利要求25所述的设备,进一歩包括被配置为将ー组数据解码成为多个视频帧的解码器,所述解码器用于在所述存储缓存器中存储已解码的帧。
27.如权利要求24所述的设备,其特征在干,每个对准命令包含校正因数,所述校正因数用于将下一个后续视频帧的传输提前或延迟ー时间因数。
28.如权利要求27所述的设备,其特征在于,所述时间因数是整数个时钟周期。
29.一种计算机可读介质,其上存储有代表多个指令序列的数据,所述指令当由处理器执行时致使所述处理器执行操作,所述操作包括 在多端ロ设备的第一端口上接收来自第一源的第一视频数据流,所述第一视频数据流的第一视频帧在第一到达时间到达所述第一端ロ; 在所述多端ロ设备的第二端口上接收来自第二源的第二视频数据流,所述第二视频数据流的第二视频帧在第二到达时间到达所述第二端ロ; 确定在所述第一到达时间与所述第二到达时间之间的偏差; 至少部分地基于所述偏差确定ー个或多个校正因数,所述ー个或多个校正因数包括用于所述第一源的第一校正因数;以及 向所述第一源发送第一命令来利用所述校正因数更改在所述第一视频帧之后由所述第一源发送的第三视频巾贞的传输时间。
全文摘要
本发明的多个实施例一般涉及视频帧同步。一种方法的实施例包括在多端口设备的第一端口上从第一源接收第一视频数据流,该第一视频数据流的第一视频帧在第一到达时间到达第一端口;以及在多端口设备的第二端口上从第二源接收第二视频数据流,该第二视频数据流的第二视频帧在第二到达时间到达第二端口。该方法进一步包括确定在第一到达时间与第二到达时间之间的偏差,至少部分地基于偏差确定一个或多个校正因数,该一个或多个校正因数包括用于第一源的第一校正因数;并且向第一源发送第一命令以便利用校正因数更改在第一帧之后由第一源发送的第三视频帧的传输时间。
文档编号H04N21/442GK102771136SQ201180010900
公开日2012年11月7日 申请日期2011年2月17日 优先权日2010年2月25日
发明者W·C·阿尔特曼 申请人:晶像股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1