CN111949068B - 一种多设备间时序调整的方法及系统 - Google Patents
一种多设备间时序调整的方法及系统 Download PDFInfo
- Publication number
- CN111949068B CN111949068B CN201910397322.7A CN201910397322A CN111949068B CN 111949068 B CN111949068 B CN 111949068B CN 201910397322 A CN201910397322 A CN 201910397322A CN 111949068 B CN111949068 B CN 111949068B
- Authority
- CN
- China
- Prior art keywords
- scanning
- preset
- line
- frame
- delta
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
Abstract
本发明提供一种多设备间时序调整的方法及系统,主设备发送同步事件给与其连接的从设备;所述从设备根据所述同步事件确定所述从设备与所述主设备之间的异步偏差;所述从设备根据所述异步偏差调整显示时序;从设备能够根据确定出的异步偏差进行独立的调整,补偿其与主设备之间的异步偏差,从而实现与主设备的显示节拍的拟合,能够实现各设备之间的帧内同步,解决了多设备之间异步时钟导致的显示不同步的问题,带来更好的多屏拼接显示效果。
Description
技术领域
本发明涉及同步显示领域,尤其涉及一种多设备间时序调整的方法及系统。
背景技术
现有技术中涉及到多设备进行显示的场景比比皆是,比如广告机、电视墙、超市货架产品展示屏等。在通过多个设备播放显示帧时,其中一个最关键的内容是各个设备播放的显示帧的同步性。
为了实现各个设备播放的显示帧的同步性,通常有以下两种方式,一种是各个设备基于同步时钟源进行播放,信号分拆到多个显示屏显示,能够实现完全同步,另一种是各个设备之间采用的是异步时钟。对于采用异步时钟的情况,现有的一般只是进行各设备间帧起点的同步,并未做显示帧的调整,这就存在异步问题,由于异步时钟的存在,随着时间的推移,各个设备之间会积累偏差,从而会导致各设备间显示的不同步,不同设备之间因为异步时钟最大可能导致一帧不同步的显示问题。
发明内容
本发明所要解决的技术问题是:提供一种多设备间时序调整的方法及系统,能够实现帧内同步,解决多设备之间异步时钟导致的显示不同步的问题。
为了解决上述技术问题,本发明采用的一种技术方案为:
一种多设备间时序调整的方法,其特征在于,包括步骤:
S1、主设备发送同步事件给与其连接的从设备;
S2、所述从设备根据所述同步事件确定所述从设备与所述主设备之间的异步偏差;
S3、所述从设备根据所述异步偏差调整显示时序。
进一步的,所述步骤S1包括:
主设备和从设备分别根据主设备设置的起始显示时间和结束显示时间进行显示,当主设备扫描到预设扫描行时向与其连接的从设备发送同步事件,所述同步事件包含所述预设扫描行;
所述步骤S2包括:
所述从设备确定接收到所述同步事件时的当前实际扫描行,根据所述预设扫描行和所述当前实际扫描行之间的差值ΔLine确定所述从设备与所述主设备之间的异步偏差;
所述步骤S3包括:
所述从设备根据所述差值ΔLine以及预设扫描时序参数对实际扫描时序进行调整。
进一步的,所述步骤S1包括:
主设备广播同步事件给与其连接的从设备,所述同步事件包括主设备时间;
所述步骤S2包括:
所述从设备将所述主设备时间转换到显示器逻辑上对应的第一时钟点;
所述从设备确定接收到所述主设备时间时本地显示器对应的第二时钟点;
所述从设备根据所述第一时钟点和第二时钟点之间的间隔确定所述主设备与从设备之间的扫描行的差值ΔLine,并根据所述差值ΔLine确定所述从设备与所述主设备之间的异步偏差;
所述步骤S3包括:
所述从设备根据所述差值ΔLine和预设扫描时序参数对实际扫描时序进行调整。
进一步的,所述主设备定时发送同步事件给与其连接的从设备。
进一步的,所述步骤S2还包括:
所述从设备确定预设时间段内接收到同步事件的各个时间点对应的异步偏差,根据各个时间点对应的异步偏差确定所述预设时间段内的平均偏差;
判断所述平均偏差是否大于预设阈值,若是,将所述平均偏差设置为异步偏差,并执行步骤S3。
进一步的,所述步骤S3包括:
所述预设扫描时序参数包括预设帧扫描总行数Vtotal;
所述从设备根据所述差值ΔLine对当前帧的预设帧扫描总行数Vtotal调节ΔLine行,并在下一帧恢复为所述预设帧扫描总行数Vtotal;
或者所述从设备根据所述差值ΔLine分N帧进行帧扫描总行数的调节,每帧的预设帧扫描总行数调节ΔLine/N行,并在N+1帧恢复为所述预设帧扫描总行数。
进一步的,所述步骤S3包括:
所述预设扫描时序参数包括预设行扫描总像素值Htotal和预设帧扫描总行数Vtotal;
所述从设备根据所述差值ΔLine和所述预设行扫描总像素值Htotal确定像素差值ΔTotalPixel=ΔLine*Htotal;
所述从设备对当前帧每一行的预设行扫描总像素值Htotal调节ΔTotalPixel/Vtotal个像素,并在下一帧恢复为所述预设行扫描总像素值Htotal;
或者所述从设备根据所述像素差值ΔTotalPixel分N帧进行行扫描总像素值的调节,对预设行扫描总像素值Htotal的调节使N帧中每一帧调整ΔTotalPixel/N个像素,并在N+1帧恢复为所述预设行扫描总像素值Htotal。
进一步的,所述步骤S3包括:
所述预设扫描时序参数包括预设行扫描总像素值Htotal、预设帧扫描总行数Vtotal和预设扫描像素频率PixelClock;
根据所述差值ΔLine、所述预设扫描像素频率PixelClock和所述预设扫描像素频率PixelClock确定完成ΔLine行扫描所需要的时间ΔT=ΔLine*Htotal/PixelClock;
根据所述预设行扫描总像素值Htotal、预设帧扫描总行数Vtotal和预设扫描像素频率PixelClock确定所述从设备一帧的扫描时间Tframe=Vtotal*Htotal/PixelClock;
根据所述ΔT和所述Tframe确定所述从设备当前帧调整后的扫描时间Tframe1;
根据所述Tframe1、Htotal和Vtotal确定所述从设备当前帧调整后的扫描像素频率,并在下一帧恢复为所述预设扫描像素频率PixelClock;
或者所述从设备根据所述ΔT分N帧进行扫描像素频率的调节,每帧需要调节的时间为ΔT/N;
根据所述ΔT/N和所述Tframe确定所述从设备N帧中每一帧调整后的扫描时间Tframe2;
根据所述Tframe2、Htotal和Vtotal确定所述从设备N帧中每一帧调整后的扫描像素频率,并在第N+1帧恢复为所述预设扫描像素频率PixelClock。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种多设备间时序调整的系统,包括主设备和从设备,所述主设备包括第一存储器、第一处理器以及存储在所述第一存储器上并可在所述第一处理器上运行的第一计算机程序,所述从设备包括第二存储器、第二处理器以及存储在所述第二存储器上并可在所述第二处理器上运行的第二计算机程序;
所述第一处理器执行所述第一计算机程序时实现以下步骤:
S1、发送同步事件给与其连接的从设备;所述第二处理器执行所述第二计算机程序时实现以下步骤:
S2、接收主设备发送的同步事件,根据所述同步事件确定所述从设备与所述主设备之间的异步偏差;
S3、根据所述异步偏差调整显示时序。
进一步的,所述步骤S1包括:
根据主设备设置的起始显示时间和结束显示时间进行显示,当扫描到预设扫描行时向与其连接的从设备发送同步事件,所述同步事件包含所述预设扫描行;
所述步骤S2包括:
根据主设备设置的起始显示时间和结束显示时间进行显示,确定接收到所述主设备发送的同步事件时的当前实际扫描行,根据所述预设扫描行和所述当前实际扫描行之间的差值ΔLine确定所述从设备与所述主设备之间的异步偏差;
所述步骤S3包括:
S3、根据所述差值ΔLine以及预设扫描时序参数对实际扫描时序进行调整。
进一步的,所述步骤S1包括:
广播同步事件给与其连接的从设备,所述同步事件包括主设备时间;
所述步骤S2包括:
接收主设备发送的主设备时间,将所述主设备时间转换到显示器逻辑上对应的第一时钟点;
确定接收到所述主设备时间时本地显示器对应的第二时钟点;
根据所述第一时钟点和第二时钟点之间的间隔确定所述主设备与从设备之间的扫描行的差值ΔLine,并根据所述差值ΔLine确定所述从设备与所述主设备之间的异步偏差;
所述步骤S3包括:
根据所述差值ΔLine和预设扫描时序参数对实际扫描时序进行调整。
进一步的,所述步骤S1中定时发送同步事件给与其连接的从设备。
进一步的,所述步骤S2还包括:
确定预设时间段内接收到同步事件的各个时间点对应的异步偏差,根据各个时间点对应的异步偏差确定所述预设时间段内的平均偏差;
判断所述平均偏差是否大于预设阈值,若是,将所述平均偏差设置为异步偏差,并执行步骤S3。
进一步的,所述步骤S3包括:
所述预设扫描时序参数包括预设帧扫描总行数Vtotal;
所述从设备根据所述差值ΔLine对当前帧的预设帧扫描总行数Vtotal调节ΔLine行,并在下一帧恢复为所述预设帧扫描总行数Vtotal;
或者所述从设备根据所述差值ΔLine分N帧进行帧扫描总行数的调节,每帧的预设帧扫描总行数调节ΔLine/N行,并在N+1帧恢复为所述预设帧扫描总行数。
进一步的,所述步骤S3包括:
所述预设扫描时序参数包括预设行扫描总像素值Htotal和预设帧扫描总行数Vtotal;
所述从设备根据所述差值ΔLine和所述预设行扫描总像素值Htotal确定像素差值ΔTotalPixel=ΔLine*Htotal;
所述从设备对当前帧每一行的预设行扫描总像素值Htotal调节ΔTotalPixel/Vtotal个像素,并在下一帧恢复为所述预设行扫描总像素值Htotal;
或者所述从设备根据所述像素差值ΔTotalPixel分N帧进行行扫描总像素值的调节,对预设行扫描总像素值Htotal的调节使N帧中每一帧调整ΔTotalPixel/N个像素,并在N+1帧恢复为所述预设行扫描总像素值Htotal。
进一步的,所述步骤S3包括:
所述预设扫描时序参数包括预设行扫描总像素值Htotal、预设帧扫描总行数Vtotal和预设扫描像素频率PixelClock;
根据所述差值ΔLine、所述预设扫描像素频率PixelClock和所述预设扫描像素频率PixelClock确定完成ΔLine行扫描所需要的时间ΔT=ΔLine*Htotal/PixelClock;
根据所述预设行扫描总像素值Htotal、预设帧扫描总行数Vtotal和预设扫描像素频率PixelClock确定所述从设备一帧的扫描时间Tframe=Vtotal*Htotal/PixelClock;
根据所述ΔT和所述Tframe确定所述从设备当前帧调整后的扫描时间Tframe1;
根据所述Tframe1、Htotal和Vtotal确定所述从设备当前帧调整后的扫描像素频率,并在下一帧恢复为所述预设扫描像素频率PixelClock;
或者所述从设备根据所述ΔT分N帧进行扫描像素频率的调节,每帧需要调节的时间为ΔT/N;
根据所述ΔT/N和所述Tframe确定所述从设备N帧中每一帧调整后的扫描时间Tframe2;
根据所述Tframe2、Htotal和Vtotal确定所述从设备N帧中每一帧调整后的扫描像素频率,并在第N+1帧恢复为所述预设扫描像素频率PixelClock。
本发明的有益效果在于:主设备发送同步事件给与其连接的从设备,从设备根据同步事件确定从设备与主设备之间的异步偏差,并根据异步偏差调整从设备的显示时序;从设备能够根据确定出的异步偏差进行独立的调整,补偿其与主设备之间的异步偏差,从而实现与主设备的显示节拍的拟合,能够实现各设备之间的帧内同步,解决了多设备之间异步时钟导致的显示不同步的问题,带来更好的多屏拼接显示效果。
附图说明
图1为本发明实施例的一种多设备间时序调整的方法的步骤流程图;
图2为本发明实施例的一种多设备间时序调整的系统的结构示意图;
图3(a)为本发明实施例的未采用多设备间时序调整方法的各设备间的时序对比图;
图3(b)为本发明实施例的采用多设备间时序调整方法的各设备间的时序对比图;
标号说明:
1、主设备;2、第一存储器;3、第一处理器;4、从设备;5、第二存储器;6、第二处理器;7、一种多设备间时序调整的系统。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
本发明的多设备间时序调整的方法及系统可以用于任何需要同步多设备间的显示屏的同步显示的应用场景,比如广告机、电视墙、超市货架产品展示屏等需要多屏拼接的场景,下面结合具体的应用场景来说明。
请参照图1,一种多设备间时序调整的方法,包括步骤:
S1、主设备发送同步事件给与其连接的从设备;
具体的,所述主设备和从设备分别根据主设备设置的起始显示时间和结束显示时间进行显示,当主设备扫描到预设扫描行时向与其连接的从设备发送同步事件,所述同步事件包含所述预设扫描行;
将多个带有显示屏的设备通过网络或硬件GPIO连接在一起,并确定其中一个设备为主设备,主设备可称之为主控制设备,其余设备为从设备,从设备也可以称之为被控制设备;
其中,主设备带有人机交互界面,通过所述主设备确定各个设备显示输出控制模块的起始显示时间和结束显示时间,所述主设备通过网络或者硬件GPIO将其设置的起始显示时间和结束显示时间发送给所述从设备;
在确定了各个设备显示输出控制模块的起始显示时间和结束显示时间后,各个设备分别根据主设备设置的起始显示时间和结束显示时间进行显示;
事先设置好主设备在显示过程中触发中断时对应的预设扫描行logicScaneLine,当主设备的显示输出控制模块扫描到第logicScaneLine行时触发中断,并由主设备通过网络或者硬件GPIO向所有从设备发送同步事件,所述同步事件包含所述预设扫描行logicScaneLine;
S2、所述从设备根据所述同步事件确定所述从设备与所述主设备之间的异步偏差;
具体的,所述从设备确定接收到所述同步事件时的当前实际扫描行,根据所述预设扫描行和所述当前实际扫描行之间的差值ΔLine确定所述从设备与所述主设备之间的异步偏差;各从设备接收到同步事件后,分别获取当前设备显示输出控制模块的实际扫描行号RealScaneLine;
各从设备分别计算主设备和从设备的显示输出控制模块的扫描行差值ΔLine=logicScaneLine-RealScaneLine,该差值ΔLine即为从设备与主设备之间的异步偏差;
在另一个可选的实施例中,主设备广播同步事件给与其连接的从设备,所述同步事件包括主设备时间;
所述从设备将所述主设备时间转换到显示器逻辑上对应的第一时钟点;
具体的,从设备以一个约定的预设逻辑显示起点(比如1970年1月1日0时0分0秒),把主设备时间转换到显示器逻辑上的第X帧第Y个时钟点上;
所述从设备确定接收到所述主设备时间时本地显示器对应的第二时钟点,即每次同步时,获取该同步时刻的本地显示器对应的帧内时钟点M;
所述从设备根据所述第一时钟点和第二时钟点之间的间隔(Y-M)确定所述主设备与从设备之间的扫描行的差值ΔLine,并根据所述差值ΔLine确定所述从设备与所述主设备之间的异步偏差;
在另一个优选的实施例中,可以每隔一预设时间设置一预设扫描行,或者主设备定时广播主设备时间给各从设备,从而实现定期同步,即实现主设备定时发送同步事件,从而避免随着时间的推移主设备与从设备之间再次产生失步;S3、所述从设备根据所述异步偏差调整显示时序;
具体的,所述从设备根据所述差值ΔLine以及预设扫描时序参数对实际扫描时序进行调整;
根据所述差值ΔLine以及预设扫描时序参数对实际扫描时序进行调整,从而实现各个设备之间的同步。
在另一个可选的实施例中,所述预设扫描时序参数包括预设帧扫描总行数Vtotal;
所述从设备根据所述差值ΔLine对当前帧的预设帧扫描总行数Vtotal调节ΔLine行,并在下一帧恢复为所述预设帧扫描总行数Vtotal,具体的调节如下:
实际帧扫描总行数=Vtotal+ΔLine;
或者所述从设备根据所述差值ΔLine分N帧进行帧扫描总行数的调节,每帧的预设帧扫描总行数调节ΔLine/N行,并在N+1帧恢复为所述预设帧扫描总行数,具体的调节如下:
所述N帧中每一帧的实际帧扫描总行数=Vtotal+ΔLine/N;
在另一个可选的实施例中,所述预设扫描时序参数包括预设行扫描总像素值Htotal和预设帧扫描总行数Vtotal;
所述从设备根据所述差值ΔLine和所述预设行扫描总像素值Htotal确定像素差值ΔTotalPixel=ΔLine*Htotal;
所述从设备对当前帧每一行的预设行扫描总像素值Htotal调节ΔTotalPixel/Vtotal个像素,并在下一帧恢复为所述预设行扫描总像素值Htotal,具体的调节如下:
实际行扫描总像素值=Htotal+ΔTotalPixel/Vtotal;
或者所述从设备根据所述像素差值ΔTotalPixel分N帧进行行扫描总像素值的调节,对预设行扫描总像素值Htotal的调节使N帧中每一帧调整ΔTotalPixel/N个像素,并在N+1帧恢复为所述预设行扫描总像素值Htotal,具体的调节如下:
可以在所述N帧中的每一帧中随机选择M行,对所述M行的行扫描总像素值进行调整使得所述帧正好调整ΔTotalPixel/N个像素,优选的,所述M行中每行的实际行扫描总像素值=Htotal+ΔTotalPixel/N/M;
在另一个可选的实施例中,所述预设扫描时序参数包括预设行扫描总像素值Htotal、预设帧扫描总行数Vtotal和预设扫描像素频率PixelClock;
根据所述差值ΔLine、所述预设扫描像素频率PixelClock和所述预设扫描像素频率PixelClock确定完成ΔLine行扫描所需要的时间ΔT=ΔLine*Htotal/PixelClock;
根据所述预设行扫描总像素值Htotal、预设帧扫描总行数Vtotal和预设扫描像素频率PixelClock确定所述从设备一帧的扫描时间Tframe=Vtotal*Htotal/PixelClock;
根据所述ΔT和所述Tframe确定所述从设备当前帧调整后的扫描时间Tframe1=Tframe+ΔT;
根据所述Tframe1、Htotal和Vtotal确定所述从设备当前帧调整后的扫描像素频率,并在下一帧恢复为所述预设扫描像素频率PixelClock,具体的调节如下:
当前帧的实际扫描像素频率=Htotal*Vtotal/Tframe1;
或者所述从设备根据所述ΔT分N帧进行扫描像素频率的调节,每帧需要调节的时间为ΔT/N;
根据所述ΔT/N和所述Tframe确定所述从设备N帧中每一帧调整后的扫描时间Tframe2=Tframe+ΔT/N;
根据所述Tframe2、Htotal和Vtotal确定所述从设备N帧中每一帧调整后的扫描像素频率,并在第N+1帧恢复为所述预设扫描像素频率PixelClock,具体的调节如下:
所述N帧中每一帧的实际扫描像素频率=Htotal*Vtotal/Tframe2;
通过上述不同的预设扫描时序参数对能够对不同实际扫描时序进行调整,从而实现从设备与主设备之间扫描时序的一致性,从而实现不同设备之间的帧内同步;
可选的,也可以对实际扫描像素频率、实际行扫描总像素值或帧扫描总行数中的任意两个或三个进行组合调整以消除从设备与主设备之间的扫描行差值ΔLine,从而实现从设备与主设备之间扫描时序的一致性;
在另一个优选的实施例中,所述从设备确定预设时间段内接收到同步事件的各个时间点对应的异步偏差,根据各个时间点对应的异步偏差确定所述预设时间段内的平均偏差;
判断所述平均偏差是否大于预设阈值,若是,将所述平均偏差设置为异步偏差,并执行步骤S3;
具体的,在所述预设时间段内确定主设备发送同步事件的各个时间点t1,t2,……,tn,确定各个时间点对应的异步偏差ΔLine1、ΔLine2,……,ΔLinen,计算所述预设时间段内的平均偏差ΔLine_avg=(ΔLine1+ΔLine2+……+ΔLinen)/n;
判断ΔLine_avg是否大于一预设阈值,若是,则设置ΔLine=ΔLine_avg,并执行步骤S3;
通过对偏差的累计并判断累计偏差是否达到指定阈值,若是,才执行时序调整,避免了每次同步都执行时序调整,既保证同步精度,也避免了大的计算量。图3所示为未采用上述多设备间时序调整方法和采用了上述多设备间时序调整方法的各设备间的时序对比图,图3(b)中的硬件调节即表示开始执行上述多设备间时序调整的方法,通过对比可以看到采用了上述多设备间时序调整方法后,不同设备间由于异步时钟导致的不同步问题能够被定期同步,上述多设备间时序调整方法很好地解决了不同设备间由于异步时钟导致的不同步问题。
请参照图2,一种多设备间时序调整的系统7,包括主设备1和从设备4,所述主设备1包括第一存储器2、第一处理器3以及存储在所述第一存储器2上并可在所述第一处理器3上运行的第一计算机程序,所述从设备4包括第二存储器5、第二处理器6以及存储在所述第二存储器5上并可在所述第二处理器6上运行的第二计算机程序;
所述第一处理器2执行所述第一计算机程序时实现以下步骤:
S1、发送同步事件给与其连接的从设备;
具体的,根据主设备设置的起始显示时间和结束显示时间进行显示,当扫描到预设扫描行时向与其连接的从设备发送同步事件,所述同步事件包含所述预设扫描行;
将多个带有显示屏的设备通过网络或硬件GPIO连接在一起,并确定其中一个设备为主设备,主设备可称之为主控制设备,其余设备为从设备,从设备也可以称之为被控制设备;
其中,主设备带有人机交互界面,通过所述主设备确定各个设备显示输出控制模块的起始显示时间和结束显示时间,所述主设备通过网络或者硬件GPIO将其设置的起始显示时间和结束显示时间发送给所述从设备;
在确定了各个设备显示输出控制模块的起始显示时间和结束显示时间后,各个设备分别根据主设备设置的起始显示时间和结束显示时间进行显示;
事先设置好主设备在显示过程中触发中断时对应的预设扫描行logicScaneLine,当主设备的显示输出控制模块扫描到第logicScaneLine行时触发中断,并由主设备通过网络或者硬件GPIO向所有从设备发送同步事件,所述同步事件包含所述预设扫描行logicScaneLine;
优选的,可以每隔一预设时间设置一预设扫描行,从而实现定期同步,即实现主设备定时发送同步事件,从而避免随着时间的推移主设备与从设备之间再次产生失步;所述第二处理器5执行所述第二计算机程序时实现以下步骤:
S1、接收主设备发送的同步事件,根据所述同步事件确定所述从设备与所述主设备之间的异步偏差;
具体的,根据主设备设置的起始显示时间和结束显示时间进行显示,确定接收到所述主设备发送的同步事件时的当前实际扫描行,根据所述预设扫描行和所述当前实际扫描行之间的差值ΔLine确定所述从设备与所述主设备之间的异步偏差;
各从设备接收到同步事件后,分别获取当前设备显示输出控制模块的实际扫描行号RealScaneLine;
各从设备分别计算主设备和从设备的显示输出控制模块的扫描行差值ΔLine=logicScaneLine-RealScaneLine,该差值ΔLine即为从设备与主设备之间的异步偏差;
在另一个可选的实施例中,主设备广播同步事件给与其连接的从设备,所述同步事件包括主设备时间;
所述从设备将所述主设备时间转换到显示器逻辑上对应的第一时钟点;
具体的,从设备以一个约定的预设逻辑显示起点(比如1970年1月1日0时0分0秒),把主设备时间转换到显示器逻辑上的第X帧第Y个时钟点上;
所述从设备确定接收到所述主设备时间时本地显示器对应的第二时钟点,即每次同步时,获取该同步时刻的本地显示器对应的帧内时钟点M;
所述从设备根据所述第一时钟点和第二时钟点之间的间隔(Y-M)确定所述主设备与从设备之间的扫描行的差值ΔLine,并根据所述差值ΔLine确定所述从设备与所述主设备之间的异步偏差;
在另一个优选的实施例中,可以每隔一预设时间设置一预设扫描行,或者主设备定时广播主设备时间给各从设备,从而实现定期同步,即实现主设备定时发送同步事件,从而避免随着时间的推移主设备与从设备之间再次产生失步;
S3、根据所述差值ΔLine以及预设扫描时序参数对实际扫描时序进行调整;
根据所述差值ΔLine以及预设扫描时序参数对实际扫描时序进行调整,从而实现各个设备之间的同步;
在另一个可选的实施例中,所述预设扫描时序参数包括预设帧扫描总行数Vtotal;
所述从设备根据所述差值ΔLine对当前帧的预设帧扫描总行数Vtotal调节ΔLine行,并在下一帧恢复为所述预设帧扫描总行数Vtotal,具体的调节如下:
实际帧扫描总行数=Vtotal+ΔLine;
或者所述从设备根据所述差值ΔLine分N帧进行帧扫描总行数的调节,每帧的预设帧扫描总行数调节ΔLine/N行,并在N+1帧恢复为所述预设帧扫描总行数,具体的调节如下:
所述N帧中每一帧的实际帧扫描总行数=Vtotal+ΔLine/N;
在另一个可选的实施例中,所述预设扫描时序参数包括预设行扫描总像素值Htotal和预设帧扫描总行数Vtotal;
所述从设备根据所述差值ΔLine和所述预设行扫描总像素值Htotal确定像素差值ΔTotalPixel=ΔLine*Htotal;
所述从设备对当前帧每一行的预设行扫描总像素值Htotal调节ΔTotalPixel/Vtotal个像素,并在下一帧恢复为所述预设行扫描总像素值Htotal,具体的调节如下:
实际行扫描总像素值=Htotal+ΔTotalPixel/Vtotal;
或者所述从设备根据所述像素差值ΔTotalPixel分N帧进行行扫描总像素值的调节,对预设行扫描总像素值Htotal的调节使N帧中每一帧调整ΔTotalPixel/N个像素,并在N+1帧恢复为所述预设行扫描总像素值Htotal,具体的调节如下:
可以在所述N帧中的每一帧中随机选择M行,对所述M行的行扫描总像素值进行调整使得所述帧正好调整ΔTotalPixel/N个像素,优选的,所述M行中每行的实际行扫描总像素值=Htotal+ΔTotalPixel/N/M;
在另一个可选的实施例中,所述预设扫描时序参数包括预设行扫描总像素值Htotal、预设帧扫描总行数Vtotal和预设扫描像素频率PixelClock;
根据所述差值ΔLine、所述预设扫描像素频率PixelClock和所述预设扫描像素频率PixelClock确定完成ΔLine行扫描所需要的时间ΔT=ΔLine*Htotal/PixelClock;
根据所述预设行扫描总像素值Htotal、预设帧扫描总行数Vtotal和预设扫描像素频率PixelClock确定所述从设备一帧的扫描时间Tframe=Vtotal*Htotal/PixelClock;
根据所述ΔT和所述Tframe确定所述从设备当前帧调整后的扫描时间Tframe1=Tframe+ΔT;
根据所述Tframe1、Htotal和Vtotal确定所述从设备当前帧调整后的扫描像素频率,并在下一帧恢复为所述预设扫描像素频率PixelClock,具体的调节如下:
当前帧的实际扫描像素频率=Htotal*Vtotal/Tframe1;
或者所述从设备根据所述ΔT分N帧进行扫描像素频率的调节,每帧需要调节的时间为ΔT/N;
根据所述ΔT/N和所述Tframe确定所述从设备N帧中每一帧调整后的扫描时间Tframe2=Tframe+ΔT/N;
根据所述Tframe2、Htotal和Vtotal确定所述从设备N帧中每一帧调整后的扫描像素频率,并在第N+1帧恢复为所述预设扫描像素频率PixelClock,具体的调节如下:
所述N帧中每一帧的实际扫描像素频率=Htotal*Vtotal/Tframe2。
在另一个优选的实施例中,所述从设备确定预设时间段内接收到同步事件的各个时间点对应的异步偏差,根据各个时间点对应的异步偏差确定所述预设时间段内的平均偏差;
判断所述平均偏差是否大于预设阈值,若是,将所述平均偏差设置为异步偏差,并执行步骤S3。
具体的,在所述预设时间段内确定主设备发送同步事件的各个时间点t1,t2,……,tn,确定各个时间点对应的异步偏差ΔLine1、ΔLine2,……,ΔLinen,计算所述预设时间段内的平均偏差ΔLine_avg=(ΔLine1+ΔLine2+……+ΔLinen)/n;
判断ΔLine_avg是否大于一预设阈值,若是,则设置ΔLine=ΔLine_avg,并执行步骤S3。
综上所述,本发明提供的一种多设备间时序调整的方法及系统,连接在一起的主设备和从设备根据主设备设置的显示时间进行显示,各从设备定时根据与主设备的扫描行差值以及预设扫描时序参数对各自的实际扫描时序进行独立调整,可以通过对实际扫描像素频率或实际行扫描总像素值或帧扫描总行数进行调整从而实现对实际扫描时序的调整,并且可以在一帧内实现集中调整,也可以通过多帧实现分布调整,进而实现各从设备与主设备之间扫描时序的一致性,调整灵活性高,并且通过对实际扫描时序的调整能够达到各设备的帧内同步,解决了多设备之间异步时钟导致的显示不同步的问题,带来更好的多屏拼接显示效果。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (14)
1.一种多设备间时序调整的方法,其特征在于,包括步骤:
S1、主设备发送同步事件给与其连接的从设备;
S2、所述从设备根据所述同步事件确定所述从设备与所述主设备之间的异步偏差;
S3、所述从设备根据所述异步偏差调整显示时序;
所述步骤S1包括:
主设备和从设备分别根据主设备设置的起始显示时间和结束显示时间进行显示,当所述主设备扫描到预设扫描行时向与其连接的从设备发送同步事件,所述同步事件包含所述预设扫描行;
所述步骤S2包括:
所述从设备确定接收到所述同步事件时的当前实际扫描行,根据所述预设扫描行和所述当前实际扫描行之间的差值ΔLine确定所述从设备与所述主设备之间的异步偏差;
所述步骤S3包括:
所述从设备根据所述差值ΔLine和预设扫描时序参数对实际扫描时序进行调整。
2.根据权利要求1所述的一种多设备间时序调整的方法,其特征在于,所述步骤S1包括:
主设备广播同步事件给与其连接的从设备,所述同步事件包括主设备时间;
所述步骤S2包括:
所述从设备将所述主设备时间转换到显示器逻辑上对应的第一时钟点;
所述从设备确定接收到所述主设备时间时本地显示器对应的第二时钟点;
所述从设备根据所述第一时钟点和第二时钟点之间的间隔确定所述主设备与从设备之间的扫描行的差值ΔLine,并根据所述差值ΔLine确定所述从设备与所述主设备之间的异步偏差;
所述步骤S3包括:
所述从设备根据所述差值ΔLine和预设扫描时序参数对实际扫描时序进行调整。
3.根据权利要求1至2中任一项所述的一种多设备间时序调整的方法,其特征在于,所述主设备定时发送同步事件给与其连接的从设备。
4.根据权利要求3所述的一种多设备间时序调整的方法,其特征在于,所述步骤S2还包括:
所述从设备确定预设时间段内接收到同步事件的各个时间点对应的异步偏差,根据各个时间点对应的异步偏差确定所述预设时间段内的平均偏差;
判断所述平均偏差是否大于预设阈值,若是,将所述平均偏差设置为异步偏差,并执行步骤S3。
5.根据权利要求1或2或4所述的一种多设备间时序调整的方法,其特征在于,所述步骤S3包括:
所述预设扫描时序参数包括预设帧扫描总行数Vtotal;
所述从设备根据所述差值ΔLine对当前帧的预设帧扫描总行数Vtotal调节ΔLine行,并在下一帧恢复为所述预设帧扫描总行数Vtotal;
或者所述从设备根据所述差值ΔLine分N帧进行帧扫描总行数的调节,每帧的预设帧扫描总行数调节ΔLine/N行,并在N+1帧恢复为所述预设帧扫描总行数。
6.根据权利要求1或2或4所述的一种多设备间时序调整的方法,其特征在于,所述步骤S3包括:
所述预设扫描时序参数包括预设行扫描总像素值Htotal和预设帧扫描总行数Vtotal;
所述从设备根据所述差值ΔLine和所述预设行扫描总像素值Htotal确定像素差值ΔTotalPixel=ΔLine*Htotal;
所述从设备对当前帧每一行的预设行扫描总像素值Htotal调节ΔTotalPixel/Vtotal个像素,并在下一帧恢复为所述预设行扫描总像素值Htotal;
或者所述从设备根据所述像素差值ΔTotalPixel分N帧进行行扫描总像素值的调节,对预设行扫描总像素值Htotal的调节使N帧中每一帧调整ΔTotalPixel/N个像素,并在N+1帧恢复为所述预设行扫描总像素值Htotal。
7.根据权利要求1或2或4所述的一种多设备间时序调整的方法,其特征在于,所述步骤S3包括:
所述预设扫描时序参数包括预设行扫描总像素值Htotal、预设帧扫描总行数Vtotal和预设扫描像素频率PixelClock;
根据所述差值ΔLine、所述预设行扫描总像素值Htotal和所述预设扫描像素频率PixelClock确定完成ΔLine行扫描所需要的时间ΔT=ΔLine*Htotal/PixelClock;
根据所述预设行扫描总像素值Htotal、预设帧扫描总行数Vtotal和预设扫描像素频率PixelClock确定所述从设备一帧的扫描时间Tframe=Vtotal*Htotal/PixelClock;
根据所述ΔT和所述Tframe确定所述从设备当前帧调整后的扫描时间Tframe1;
根据所述Tframe1、Htotal和Vtotal确定所述从设备当前帧调整后的扫描像素频率,并在下一帧恢复为所述预设扫描像素频率PixelClock;
或者所述从设备根据所述ΔT分N帧进行扫描像素频率的调节,每帧需要调节的时间为ΔT/N;
根据所述ΔT/N和所述T f r a m e确定所述从设备N帧中每一帧调整后的扫描时间Tframe2;
根据所述Tframe2、Htotal和Vtotal确定所述从设备N帧中每一帧调整后的扫描像素频率,并在第N+1帧恢复为所述预设扫描像素频率PixelClock。
8.一种多设备间时序调整的系统,其特征在于,包括主设备和从设备,所述主设备包括第一存储器、第一处理器以及存储在所述第一存储器上并可在所述第一处理器上运行的第一计算机程序,所述从设备包括第二存储器、第二处理器以及存储在所述第二存储器上并可在所述第二处理器上运行的第二计算机程序;
所述第一处理器执行所述第一计算机程序时实现以下步骤:
S1、发送同步事件给与其连接的从设备;
所述第二处理器执行所述第二计算机程序时实现以下步骤:
S2、接收主设备发送的同步事件,根据所述同步事件确定所述从设备与所述主设备之间的异步偏差;
S3、根据所述异步偏差调整显示时序;
所述步骤S1包括:
根据主设备设置的起始显示时间和结束显示时间进行显示,当扫描到预设扫描行时向与其连接的从设备发送同步事件,所述同步事件包含所述预设扫描行;
所述步骤S2包括:
根据主设备设置的起始显示时间和结束显示时间进行显示,确定接收到所述主设备发送的同步事件时的当前实际扫描行,根据所述预设扫描行和所述当前实际扫描行之间的差值ΔLine确定所述从设备与所述主设备之间的异步偏差;
所述步骤S3包括:
S3、根据所述差值ΔLine以及预设扫描时序参数对实际扫描时序进行调整。
9.根据权利要求8所述的一种多设备间时序调整的系统,其特征在于,所述步骤S1包括:
广播同步事件给与其连接的从设备,所述同步事件包括主设备时间;
所述步骤S2包括:
接收主设备发送的主设备时间,将所述主设备时间转换到显示器逻辑上对应的第一时钟点;
确定接收到所述主设备时间时本地显示器对应的第二时钟点;
根据所述第一时钟点和第二时钟点之间的间隔确定所述主设备与从设备之间的扫描行的差值ΔLine,并根据所述差值ΔLine确定所述从设备与所述主设备之间的异步偏差;
所述步骤S3包括:
根据所述差值ΔLine和预设扫描时序参数对实际扫描时序进行调整。
10.根据权利要求8至9中任一项所述的一种多设备间时序调整的系统,其特征在于,所述步骤S1中定时发送同步事件给与其连接的从设备。
11.根据权利要求10所述的一种多设备间时序调整的系统,其特征在于,所述步骤S2还包括:
确定预设时间段内接收到同步事件的各个时间点对应的异步偏差,根据各个时间点对应的异步偏差确定所述预设时间段内的平均偏差;
判断所述平均偏差是否大于预设阈值,若是,将所述平均偏差设置为异步偏差,并执行步骤S3。
12.根据权利要求8或9或11所述的一种多设备间时序调整的系统,其特征在于,所述步骤S3包括:
所述预设扫描时序参数包括预设帧扫描总行数Vtotal;
所述从设备根据所述差值ΔLine对当前帧的预设帧扫描总行数Vtotal调节ΔLine行,并在下一帧恢复为所述预设帧扫描总行数Vtotal;
或者所述从设备根据所述差值ΔLine分N帧进行帧扫描总行数的调节,每帧的预设帧扫描总行数调节ΔLine/N行,并在N+1帧恢复为所述预设帧扫描总行数。
13.根据权利要求8或9或11所述的一种多设备间时序调整的系统,其特征在于,所述步骤S3包括:
所述预设扫描时序参数包括预设行扫描总像素值Htotal和预设帧扫描总行数Vtotal;
所述从设备根据所述差值ΔLine和所述预设行扫描总像素值Htotal确定像素差值ΔTotalPixel=ΔLine*Htotal;
所述从设备对当前帧每一行的预设行扫描总像素值Htotal调节ΔTotalPixel/Vtotal个像素,并在下一帧恢复为所述预设行扫描总像素值Htotal;
或者所述从设备根据所述像素差值ΔTotalPixel分N帧进行行扫描总像素值的调节,对预设行扫描总像素值Htotal的调节使N帧中每一帧调整ΔTotalPixel/N个像素,并在N+1帧恢复为所述预设行扫描总像素值Htotal。
14.根据权利要求8或9或11所述的一种多设备间时序调整的系统,其特征在于,所述步骤S3包括:
所述预设扫描时序参数包括预设行扫描总像素值Htotal、预设帧扫描总行数Vtotal和预设扫描像素频率PixelClock;
根据所述差值ΔLine、所述预设行扫描总像素值Htotal和所述预设扫描像素频率PixelClock确定完成ΔLine行扫描所需要的时间ΔT=ΔLine*Htotal/PixelClock;
根据所述预设行扫描总像素值Htotal、预设帧扫描总行数Vtotal和预设扫描像素频率PixelClock确定所述从设备一帧的扫描时间Tframe=Vtotal*Htotal/PixelClock;
根据所述ΔT和所述Tframe确定所述从设备当前帧调整后的扫描时间Tframe1;
根据所述Tframe1、Htotal和Vtotal确定所述从设备当前帧调整后的扫描像素频率,并在下一帧恢复为所述预设扫描像素频率PixelClock;
或者所述从设备根据所述ΔT分N帧进行扫描像素频率的调节,每帧需要调节的时间为ΔT/N;
根据所述ΔT/N和所述T f r a m e确定所述从设备N帧中每一帧调整后的扫描时间Tframe2;
根据所述Tframe2、Htotal和Vtotal确定所述从设备N帧中每一帧调整后的扫描像素频率,并在第N+1帧恢复为所述预设扫描像素频率PixelClock。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910397322.7A CN111949068B (zh) | 2019-05-14 | 2019-05-14 | 一种多设备间时序调整的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910397322.7A CN111949068B (zh) | 2019-05-14 | 2019-05-14 | 一种多设备间时序调整的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111949068A CN111949068A (zh) | 2020-11-17 |
CN111949068B true CN111949068B (zh) | 2022-12-13 |
Family
ID=73336519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910397322.7A Active CN111949068B (zh) | 2019-05-14 | 2019-05-14 | 一种多设备间时序调整的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111949068B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113589883B (zh) * | 2021-05-19 | 2024-04-19 | 浙江大华技术股份有限公司 | 信号调整方法、电子设备和计算机存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104238977A (zh) * | 2013-06-13 | 2014-12-24 | 炬力集成电路设计有限公司 | 多屏显示装置及其方法 |
CN105635752A (zh) * | 2016-01-27 | 2016-06-01 | 广州偕作信息科技有限公司 | 一种用于分布式拼接屏的多级同步显示系统及显示方法 |
CN106161870A (zh) * | 2015-04-10 | 2016-11-23 | 杭州海康威视数字技术股份有限公司 | 一种多屏控制设备及同步系统 |
CN106303287A (zh) * | 2015-05-26 | 2017-01-04 | 中国移动通信集团公司 | 一种基于近场通信的多移动终端屏幕拼接方法、设备及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6831648B2 (en) * | 2000-11-27 | 2004-12-14 | Silicon Graphics, Inc. | Synchronized image display and buffer swapping in a multiple display environment |
US7337344B2 (en) * | 2003-01-31 | 2008-02-26 | Point Grey Research Inc. | Methods and apparatus for synchronizing devices on different serial data buses |
CN103500068B (zh) * | 2013-10-08 | 2017-03-22 | 惠州Tcl移动通信有限公司 | 图像显示方法和主移动设备 |
US20160357493A1 (en) * | 2013-10-30 | 2016-12-08 | Barco Control Rooms Gmbh | Synchronization of videos in a display wall |
-
2019
- 2019-05-14 CN CN201910397322.7A patent/CN111949068B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104238977A (zh) * | 2013-06-13 | 2014-12-24 | 炬力集成电路设计有限公司 | 多屏显示装置及其方法 |
CN106161870A (zh) * | 2015-04-10 | 2016-11-23 | 杭州海康威视数字技术股份有限公司 | 一种多屏控制设备及同步系统 |
CN106303287A (zh) * | 2015-05-26 | 2017-01-04 | 中国移动通信集团公司 | 一种基于近场通信的多移动终端屏幕拼接方法、设备及系统 |
CN105635752A (zh) * | 2016-01-27 | 2016-06-01 | 广州偕作信息科技有限公司 | 一种用于分布式拼接屏的多级同步显示系统及显示方法 |
Non-Patent Citations (2)
Title |
---|
Impulsive control of time-delay systems using delayed impulse and its application to impulsive master-slave synchronization;Jitao Sun等;《Physics Letters A》;20081013;第372卷(第42期);全文 * |
多屏显示的并行绘制同步控制算法;陈安太等;《计算机工程与设计》;20111016;第32卷(第10期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111949068A (zh) | 2020-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI649745B (zh) | 一種分佈式視頻顯示系統、控制裝置及控制方法 | |
CN105872419B (zh) | 一种显示方法、装置及液晶电视 | |
US20160357493A1 (en) | Synchronization of videos in a display wall | |
CN106161870B (zh) | 一种多屏控制设备及同步系统 | |
CN103065610B (zh) | 一种拼接屏同步处理方法和一种拼接屏同步处理装置 | |
CN105100658A (zh) | 多屏显示控制方法和控制系统 | |
US20110206344A1 (en) | Method and apparatus for providing a synchronized video presentation without video tearing | |
CN101953149B (zh) | 远程视频源的同步锁相同步 | |
CN112217960A (zh) | 一种多屏播放画面同步显示的方法 | |
JPH1152940A (ja) | マルチディスプレイ立体コンピュータグラフィックスシステムにおける左右チャンネル表示と垂直リフレッシュの同期 | |
CN101010720A (zh) | 画面同步控制装置 | |
CN111949068B (zh) | 一种多设备间时序调整的方法及系统 | |
CN110475137A (zh) | 一种高精度分布式显控帧同步方法和系统 | |
CN112653532A (zh) | 时钟同步的方法、装置和系统 | |
KR100330029B1 (ko) | 표준신호 처리장치 | |
CN101383913B (zh) | 显示叠加控制系统及其控制方法 | |
JP3214820B2 (ja) | デジタル画像表示装置 | |
CN116055779B (zh) | 视频模式码片数据流传输时序控制方法及装置 | |
CN111309274B (zh) | 拼接屏的同步系统 | |
CN111031194B (zh) | 一种多路解码器同步控制方法、设备及存储介质 | |
CN113542876A (zh) | Lcd液晶拼接实现画面同步方法及系统 | |
KR100620519B1 (ko) | 비월 방식 비디오 신호 보상 방법 및 장치 | |
CN102523369B (zh) | 视频时序信号发生器及其实现方法 | |
JPS6153880A (ja) | 文字画像表示制御装置 | |
JP2728570B2 (ja) | マトリクス表示装置 |
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 | ||
CB02 | Change of applicant information |
Address after: 350000 building 18, 89 software Avenue, Gulou District, Fuzhou City, Fujian Province Applicant after: Ruixin Microelectronics Co.,Ltd. Address before: 350000 building 18, 89 software Avenue, Gulou District, Fuzhou City, Fujian Province Applicant before: FUZHOU ROCKCHIP ELECTRONICS Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |