发明内容
有鉴于此,本申请实施例提供一种同步显示方案,以至少部分解决上述问题。
根据本申请实施例的第一方面,提供了一种同步显示方法,应用于同步显示系统中的控制终端,所述同步显示系统中还包括显示终端,所述显示终端配置有多个显示屏,所述方法包括:
向所述显示终端发送针对待缓存图像帧的缓存指令,以使所述显示终端将所述待缓存图像帧缓存至本地并返回缓存成功通知;
向所述显示终端发送针对已缓存图像帧的显示指令,以使所述显示终端在接收到同步信号时,从本地读取所述已缓存图像帧并在各显示屏中进行图像帧显示。
根据本申请实施例的第二方面,提供了一种同步显示方法,应用于同步显示系统中的显示终端,所述显示终端配置有多个显示屏,所述同步显示系统中还包括:控制终端,所述方法包括:
接收所述控制终端发送的针对已缓存图像帧的显示指令;所述显示指令是所述控制终端确认所述显示终端将所述已缓存图像帧存储在本地之后发出的;
响应于接收到同步信号,从本地读取所述已缓存图像帧并在各显示屏中进行图像帧显示。
根据本申请实施例的第三方面,提供了一种同步显示方法,应用于同步显示系统中的控制终端,所述同步显示系统中还包括显示终端,所述显示终端配置有多个显示屏,所述方法包括:
获取基于三维场景渲染得到的二维纹理图像;
向所述显示终端发送针对所述二维纹理图像的缓存指令,以使所述显示终端将所述二维纹理图像缓存至本地并返回缓存成功通知;
向所述显示终端发送针对所述二维纹理图像的显示指令,以使所述显示终端在接收到同步信号时,从本地读取所述二维纹理图像并在各显示屏中进行图像帧显示;
获取摄像机采集的以所述显示屏的显示内容为背景的虚拟背景图像。
根据本申请实施例的第四方面,提供了一种同步显示装置,位于同步显示系统中的控制终端,所述同步显示系统中还包括显示终端,所述显示终端配置有多个显示屏,所述装置包括:
缓存指令发送模块,用于向所述显示终端发送针对待缓存图像帧的缓存指令,以使所述显示终端将所述待缓存图像帧缓存至本地并返回缓存成功通知;
显示指令发送模块,用于向所述显示终端发送针对已缓存图像帧的显示指令,以使所述显示终端在接收到同步信号时,从本地读取所述已缓存图像帧并在各显示屏中进行图像帧显示。
根据本申请实施例的第五方面,提供了一种同步显示装置,位于同步显示系统中的显示终端,所述显示终端配置有多个显示屏,所述同步显示系统中还包括:控制终端,所述装置包括:
显示指令接收模块,用于接收所述控制终端发送的针对已缓存图像帧的显示指令;所述显示指令是所述控制终端确认所述显示终端将所述已缓存图像帧存储在本地之后发出的;
显示模块,用于响应于接收到同步信号,从本地读取所述已缓存图像帧并在各显示屏中进行图像帧显示。
根据本申请实施例的第六方面,提供了一种控制终端,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如第一方面或第三方面所述方法对应的操作。
根据本申请实施例的第七方面,提供了一种显示终端,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述显示终端还配置有多个显示屏;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如第二方面所述方法对应的操作。
根据本申请实施例的第八方面,提供了一种同步显示系统,包括:如第六方面所述的控制终端和如第七方面所述的显示终端。
根据本申请实施例的第九方面,提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面至第三方面中任一方面所述的方法。
根据本申请实施例提供的同步显示方案,一方面,在发送图像帧显示指令之前,控制终端先确定显示终端已经对图像帧进行了缓存,即通过缓存机制,保证了在显示操作执行之前,各显示终端均已获取到了待显示的图像帧,从而避免了因网络传输、图像帧解码、图像帧渲染等操作耗时不稳定导致的获取待显示图像帧时机延迟,进而导致的图像内容显示不同步现象;另一方面,图像帧显示时,显示终端并不是在接收到控制终端发送的显示指令后即刻开始图像帧的显示操作,而是,在接收到同步信号之后,才开始执行显示操作,这样可以保证显示终端是在同一时刻向各显示屏提交待显示的图像帧,各显示屏是在同一时刻开始图像帧显示操作(更新操作)的,从而避免了因各显示屏响应时间差异导致的图像帧显示不同步问题。综上,本申请实施例,可以有效缓解各显示屏显示不同步的问题,改善显示屏接缝处的撕裂现象,提升图像帧显示质量。
具体实施方式
为了使本领域的人员更好地理解本申请实施例中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请实施例保护的范围。
参见图1A,图1A为适用本申请实施例的同步显示方法的示例性同步显示系统的示意图,为便于理解,首先结合图1A对本申请实施例一提供的同步显示方法的应用场景进行解释说明。
如图1A所示,该系统可以包括控制终端和配置有显示屏显示终端,其中,控制终端和显示终端之间通过网络连接。进一步地,为降低网络传输延迟、保持网络同步,可以将控制终端和显示终端接入同一局域网。该系统中,显示终端的数量可以为一个或多个,显示终端可以配置多个显示屏,其中,当显示终端的数量为1个时,其可以配置多个显示屏,当显示终端的数量为多个时,各显示终端可以配置1个或者多个显示屏。本申请实施例中对于显示屏的具体类型、显示终端的数量,以及各显示终端配置的显示屏的数量,均不做限定,可以根据实际情况设定。图1A中将显示屏示例为LED显示屏、将显示终端的数量示例为2个,单个显示终端示例性地配置有2个LED显示屏,即:共有4个LED显示屏,组成完整的LED屏幕墙。
参见图1A,控制终端可以是安装了用于实现本申请实施例提供的同步显示方法的同步插件(该插件可以为控制终端应用中的插件)的任何适当的设备。在一些实施例中,控制终端可以执行任何适当的功能。例如,在一些实施例中,控制终端可以向显示终端发送图像帧缓存指令,以使显示终端进行图像帧缓存;之后,可以向显示终端发送图像帧显示指令,以使显示终端进行图像帧显示。进一步地,控制终端中还可以配置连接有同步信号发生器的显卡,以接收同步信号发生器发送的同步信号,进而基于接收到的同步信号进行LED屏幕的同步显示。
显示终端可以是包含与控制终端中的同步插件对应且用于实现本申请实施例提供的同步显示方法的同步插件(该插件可以为显示终端应用中的插件)、连接上述同步信号发生器的显卡任何适当的设备。例如,在一些实施例中,显示终端可以包括台式计算机。显示终端中的同步插件用于在适当时机将图像数据提交至显卡,显卡基于接收到的同步信号将图像数据输出至LED屏幕,以实现多个LED屏幕的同步显示。
进一步地,图1A所示的同步显示系统,可以应用于虚拟拍摄场景:通过在LED屏幕墙上投影实时渲染的3D场景或2D视频,摄像机同时拍摄演员和LED屏幕墙,从而将真实演员置身于虚拟场景中,从而达到在影棚内拍摄外景或科幻背景的目的。
在图像渲染过程中,可以采用N台渲染服务器进行完整三维场景的渲染,其中,N为大于1的自然数。具体地,每台渲染服务器可以负责整个三维场景1/N图像的渲染,渲染完成之后,各渲染服务器将其渲染完成的图像编码传输到控制终端,控制终端接收到各图像后,可以重新拼接出完整的图像。例如:参见图1A,可以采用4台渲染服务器进行完整三维场景的渲染,其中,每台渲染服务器负责整个三维场景1/4图像的渲染,渲染完成之后,各渲染服务器将其渲染完成的图像编码传输到控制终端,控制终端接收到各图像后,可以重新拼接出完整的如图1中LED屏幕墙中显示的完整图像。
另外,本申请实施例中的LED屏幕墙也可以为立体形式的。具体地,可以为由多个设置在不同方位的LED显示屏拼接而成,如图1B所示,可以在拍摄现场搭建彼此垂直(两个相互垂直的立式显示屏和一块地式显示屏)的三块LED显示屏(简称三折屏)以拼接成立体的LED屏幕墙,之后将控制终端拼接完成的完整图像根据摄像机与LED屏幕墙间的相对位置,显示到LED屏幕墙上。
实施例一
参照图2,图2为根据本申请实施例一的一种同步显示方法的步骤流程图,该方法可以应用于图1所示同步显示系统中的控制终端。具体地,本实施例提供的同步显示方法包括以下步骤:
步骤202,向显示终端发送针对待缓存图像帧的缓存指令,以使显示终端将待缓存图像帧缓存至本地并返回缓存成功通知。
待缓存图像帧通常并不是存储在显示终端中的,因此,接收到缓存指令之后,显示终端可以先从其他设备接收编码图像帧,进而再对编码图像帧进行解码操作,从而得到待缓存的图像帧。
本申请实施例中,对于显示终端获取待缓存图像帧的具体方式不做限定,例如:可以是控制终端发送缓存指令之后,显示终端从其他设备(如渲染服务器集群)接收编码后的图像帧,再进行解码得到的;也可以是控制终端发送缓存指令时,同时将编码图像帧发送至显示终端,显示终端再进行解码操作得到的,等等。
本申请实施例中,最终呈现在LED显示屏中的内容可以为二维图像帧,也可以为三维场景。具体地,当显示内容为二维图像帧时,显示终端获取待缓存图像帧的过程为:其他设备将编码图像帧发送至显示终端,显示终端进行解码从而得到待缓存图像帧;当显示内容为三维场景时,显示终端获取待缓存图像帧的过程为:其他设备(如渲染服务器集群)基于三维场景信息进行图像渲染,得到渲染完成的二维纹理图像,再对上述二维纹理图像进行编码并传输至显示终端,显示终端进行解码从而得到待缓存图像帧。
步骤204,向显示终端发送针对已缓存图像帧的显示指令,以使显示终端在接收到同步信号时,从本地读取已缓存图像帧并在各显示屏中进行图像帧显示。
具体地,本步骤中,显示终端在接收到显示指令之后,并未执行图像帧显示操作,而是进一步地,等接收到同步信号时,再读取已缓存图像帧并在各显示屏中进行图像帧显示。这样可以保证显示终端是在同一时刻向各显示屏提交待显示的图像帧(已缓存图像帧),各显示屏是在同一时刻开始图像帧显示操作(图像帧更新操作)的,从而避免了因各显示屏响应时间差异导致的图像帧显示不同步问题。
可选地,在其中一些实施例中,步骤202可以包括:
响应于接收到第一同步信号,向显示终端发送针对目标视频流中目标图像帧的缓存指令,以使显示终端将目标图像帧缓存至本地并返回缓存成功通知。
对应地,步骤204可以包括:
向显示终端发送针对目标视频流中已缓存的图像帧的显示指令,以使显示终端在接收到第二同步信号时,从本地读取已缓存的图像帧并在各显示屏中进行图像帧显示。
具体地,同步信号发生器可以按照固定的输出帧率分别向控制终端和显示终端发送同步信号,上述第一同步信号和第二同步信号可以为同一同步信号发生器发出的不同帧的同步信号,第一同步信号的发出时间早于第二同步信号的发出时间。第一同步信号和第二同步信号可以为连续的(相邻的)同步信号,也可以为相隔预设数量个同步信号的两个同步信号。
为便于理解,举例如下:第一同步信号可以为从当前时刻开始,控制终端接收到的第一个(帧)同步信号,第二同步信号可以为显示终端接收到显示指令之后,接收到的第P个(帧)同步信号,其中,P为大于0的自然数。例如:若P=1,则表明从接收到显示指令开始,当显示终端接收到同步信号时,则执行图像帧的显示操作;若P=2,则表明从接收到显示指令起,当显示终端第二次接收到同步信号时,执行图像帧的显示操作。
目标图像帧可以为当前时刻视频流中未缓存的图像帧中,时间戳最早的图像帧。例如:依时间戳从早到晚的顺序依次针对视频流中的各图像帧发送缓存指令,当前时刻若已缓存至第Q帧,则目标图像帧可以为第Q+1帧图像帧。
已缓存的图像帧为已经缓存至本地的图像帧,例如:已缓存的图像帧可以为目标图像帧的前序图像帧,即:时间戳早于上述目标图像帧的图像帧,例如:若目标图像帧为第Q+1帧,则前序图像帧可以为第W帧,其中,W≤Q。本申请实施例中,对于W的具体取值不做限定,可以根据实际情况设定。例如:可以将前序图像帧设置为目标图像帧之前1帧的图像帧,也可以为目标图像帧之前2帧的图像,等等;又如:若第二同步信号的发出时间比第一同步信号的发出时间晚较长时间,当第二同步信号发出时目标图像帧已被缓存至本地,此种情况下,已缓存的图像帧也可以为目标图像帧。
上述实施例中,对于控制终端而言,每获取到一次同步信号,就可以执行两个操作:发送针对目标视频帧的缓存指令,以及,针对前序图像帧的显示指令;对应地,在两次连续的同步信号之间,显示终端会对后续图像帧进行缓存,并且,对已缓存的图像帧进行显示。这样,随着同步信号的周期性更新,对图像帧的缓存操作,以及,对已缓存的图像帧的显示操作也会周期性地进行,最终,可以使得各显示屏中图像帧的刷新频率与同步信号的输出频率保持一致,即实现了使用外部同步信号驱动显示屏同步刷新画面的效果。
可选地,在其中一些实施例中,在执行步骤202之前,还可以先执行如下步骤:
获取包含预设图案的原始图像;原始图像由多个子图像组成,子图像与显示屏一一对应;预设图案贯穿多个子图像;
基于原始图像,按照预设规则改变预设图案的位置,得到多个测试图像;
按照预设时间间隔向显示终端发送测试图像,以使显示终端在各显示屏中进行图像显示;其中,当显示终端为多个时,同一发送时刻向各显示终端发送的测试图像为同一图像;
在图像显示过程中,确定预设图案在显示屏的拼接处是否出现断裂;
若是,执行向显示终端发送针对待缓存图像帧的缓存指令的步骤。
具体地,在采用本申请实施例提供的同步显示方法之前,可以先判断同步显示系统的同步状态是否正常,具体地,如上所述,可以先按照预设的规则,改变预设图案的位置,从而得到多个测试图像;之后,按照一定的时间间隔通过控制终端向显示终端发送测试图像,并且,当显示终端为多个时,在同一发送时刻,控制终端向各显示终端发送的为同一测试图像。当图像显示过程中,显示屏的拼接处出现断裂现象(可以通过操作人员目测等方式确定是否出现断裂现象),则表明同步显示系统的同步状态存在异常,之后,可以采用本申请实施例提供的同步显示方法克服上述异常问题;若不存在断裂现象,则表明同步显示系统的同步状态正常,即:网络传输、解码、渲染等操作耗时较为稳定,各显示屏可以在同一时刻显示同一帧画面。之后,则可以由控制终端向各显示终端发送显示指令,以进行图像帧的显示,而无需在发送显示指令之前,先发送缓存指令以将图像帧预先缓存。
具体地:可以对原始图像中包含的预设图案进行移动,从而得到不同的测试图像。
另外,为便于操作,可以将预设图案设置为:线条类图案,如:一条横跨原始图像中各子图像(子图像为对应的显示屏显示的图像区域)的直线;对应地,移动规则可以为:沿垂直于上述直线的方向,以固定的速度(如4像素/帧,等等)移动上述直线,从而得到不同的测试图像(帧)。参见图3,图3为同步显示系统同步状态对比图。其中,显示屏的数量为4个,4个显示屏横向排列组成屏幕墙。左侧图为同步状态正常时各显示屏显示的图像内容,右侧图为同步状态异常时各显示屏显示的图像内容,从右侧图中可以看出,在显示屏拼接处出现了明显的图案断裂现象。
本申请实施例中,对于预设图案的具体形状、改变图案位置的预设规则的具体内容均不作限定,可以根据实际情况自定义设定。例如:预设图案的形状也可以为贯穿原始图像的各子图像的圆形、矩形、三角形,或者,人物外形轮廓,等等。
本申请实施例中,一方面,在发送图像帧显示指令之前,控制终端先确定显示终端已经对图像帧进行了缓存,即通过缓存机制,保证了在显示操作执行之前,各显示终端均已获取到了待显示的图像帧,从而避免了因网络传输、图像帧解码、图像帧渲染等操作耗时不稳定导致的获取待显示图像帧时机延迟,进而导致的图像内容显示不同步现象;另一方面,图像帧显示时,显示终端并不是在接收到控制终端发送的显示指令后即刻开始图像帧的显示操作,而是,在接收到同步信号之后,才开始执行显示操作,这样可以保证显示终端是在同一时刻向各显示屏提交待显示的图像帧,各显示屏是在同一时刻开始图像帧显示操作(图像帧更新操作)的,从而避免了因各显示屏响应时间差异导致的图像帧显示不同步问题。综上,本申请实施例,可以有效缓解各显示屏显示不同步的问题,改善显示屏接缝处的撕裂现象,提升图像帧显示质量。
实施例二
参照图4,图4为根据本申请实施例二的一种同步显示方法的步骤流程图,该方法可以应用于图1所示同步显示系统中的显示终端。具体地,本实施例提供的同步显示方法包括以下步骤:
步骤402,接收控制终端发送的针对已缓存图像帧的显示指令;所述显示指令是控制终端确认显示终端将已缓存图像帧存储在本地之后发出的。
步骤404,响应于接收到同步信号,从本地读取已缓存图像帧并在各显示屏中进行图像帧显示。
具体地,本申请实施例中,显示终端在接收到显示指令之后,可以在之后首次接收到同步信号时,执行从本地读取已缓存图像帧并在各显示屏中进行图像帧显示的操作,也可以在之后第S次接收到同步信号时,执行从本地读取已缓存图像帧并在各显示屏中进行图像帧显示的操作,其中,S为大于1的自然数。
可选地,在其中一些实施例中,同步显示方法还包括:
接收控制终端发送的针对待缓存图像帧的缓存指令;
获取待缓存图像帧,将待缓存图像帧存储在本地中;
向控制终端返回缓存成功通知。
具体地,在获取到待缓存图像帧之后,可以将待缓存图像帧存储在本地建立的缓存队列中。进一步地,可以按照各待缓存图像帧的获取时间的先后顺序,将各待缓存图像帧存储至上述缓存队列中。
本申请实施例中,一方面,在发送图像帧显示指令之前,控制终端先确定显示终端已经对图像帧进行了缓存,即通过缓存机制,保证了在显示操作执行之前,各显示终端均已获取到了待显示的图像帧,从而避免了因网络传输、图像帧解码、图像帧渲染等操作耗时不稳定导致的获取待显示图像帧时机延迟,进而导致的图像内容显示不同步现象;另一方面,图像帧显示时,显示终端并不是在接收到控制终端发送的显示指令后即刻开始图像帧的显示操作,而是,在接收到同步信号之后,才开始执行显示操作,这样可以保证显示终端是在同一时刻向各显示屏提交待显示的图像帧,各显示屏是在同一时刻开始图像帧显示操作(图像帧更新操作)的,从而避免了因各显示屏响应时间差异导致的图像帧显示不同步问题。综上,本申请实施例,可以有效缓解各显示屏显示不同步的问题,改善显示屏接缝处的撕裂现象,提升图像帧显示质量。
参见图5,图5为本申请实施例提供的同步显示方法的关键流程示意图:
第一步,硬件连接和配置。具体地,包括如下三个方面的连接和配置:第一方面,网络连接和配置:将控制终端和显示终端接入到同一局域网内,进一步地,为达到更好地同步显示效果,还可以使得局域网内平均传输延迟小于1ms;第二方面,同步信号连接和配置:将控制终端和显示终端的显卡分别连接至同步信号发生器,并配置各显卡使用外部同步信号来驱动显示屏的刷新;第三方面,显示屏连接和配置:单个显示终端可以连接多个(如4至8个)显示屏,并配置显示屏的刷新率与同步信号发生器的输出帧率一致。
第二步,初始化同步插件并检测系统同步状态。具体地:在第一步的硬件配置和连接完成后,可以启动控制端应用和显示终端应用并完成同步插件(参见图1)的初始化。显示终端同步插件初始化可以包括枚举显示终端连接的显示屏的数量,每个显示屏的分辨率等信息。控制端同步插件的初始化包括连接局域网内所有的显示终端,获取显示终端回传的显示屏信息(如分辨率等信息),根据显示屏信息确认各显示屏显示的图像区域。另外,在同步插件初始化完成后,可以先检测一下同步显示系统的同步状态是否正常,若出现异常,则可以采用后续步骤,克服上述异常现象,进行正式的图像渲染和显示。
第三步,准备图像数据。具体地:该步骤可以指显示终端将待显示的图像数据缓存至本地。如上所述,最终呈现在显示屏中的内容可以为二维图像帧,也可以为三维场景。具体地,当显示内容为二维图像帧时,显示终端准备图像数据的过程为:其他设备将编码后的图像数据发送至显示终端,显示终端进行解码从而得到解码后的图像数据并缓存至本地;当显示内容为三维场景时,显示终端准备图像数据的过程为:其他设备(如渲染服务器集群)基于三维场景信息进行图像渲染,得到渲染完成的二维纹理图像,再对上述二维纹理图像进行编码并传输至显示终端,显示终端进行解码从而得到解码后的图像数据并缓存至本地。
第四步,提交和显示图像数据。具体地:控制终端在收到一次同步信号后,可以将需要显示视频流中第N帧图像帧的指令发送给各显示终端,显示终端从本地读取第N帧图像帧,并提交给显卡;显卡在接收到提交的第N帧图像数据后,可以在收到下一次同步信号时将上述第N帧图像帧输出到播放处理器并最终显示到显示屏上。至此,完成了视频流中第N帧图像帧的显示,之后,可以循环执行第三步和第四步,从而对下一帧数据进行处理。
参见图6,图6为本申请实施例提供的同步显示方法的详细交互流程图。下面结合图6,对本申请实施例提供的同步显示方法进行示例性讲解:
具体地,同步信号发生器分别与控制终端和显示终端连接,以向控制终端和显示终端发送同步信号;当同步信号发生器输出第N帧同步信号后,控制终端可以向显示终端发送缓存第N(N为非负整数)帧图像数据的缓存指令,以使显示终端将第N帧图像数据缓存至本地,并向控制终端返回运行状态反馈信息,该反馈信息中可以包含缓存成功通知,还可以包含当前时刻显示终端的运行负载等信息;另外,在控制终端接收到第N帧同步信号后,还可以向显示终端发送显示第M(M<N,且M为非负整数)帧图像数据的显示指令;显示终端在接收到上述显示指令后,若再次接收到同步信号(第N+1帧同步信号),则开始第M帧图像数据的显示操作:刷新显示屏,显示第M帧画面;依次类推,当同步信号发生器输出第N+1帧同步信号后,控制终端可以向显示终端发送缓存第N+1帧图像数据的缓存指令,以使显示终端将第N+1帧图像数据缓存至本地,并向控制终端返回运行状态反馈信息;另外,在控制终端接收到第N+1帧同步信号后,还可以向显示终端发送显示第M+1帧图像数据的显示指令;对应地,在显示终端接收到第N帧同步信号之前,显示终端接收到控制终端发送的显示第M-1帧图像帧的显示指令,当显示终端接收到第N帧同步信号后,则可以刷新显示屏,显示第M-1帧画面。综上,同步信号发生器的输出帧率,与显示屏的刷新帧率一致,即:同步信号发生器输出一次同步信号,显示屏则刷新一次屏幕,进行下一帧画面的显示。
实施例三
参照图7,图7为根据本申请实施例三的一种同步显示方法的步骤流程图,该方法可以应用于图1所示同步显示系统中的控制终端,具体应用场景可以为:LED虚拟拍摄场景。具体地,本实施例提供的同步显示方法包括以下步骤:
步骤702,获取基于三维场景渲染得到的二维纹理图像。
步骤704,向显示终端发送针对二维纹理图像的缓存指令,以使显示终端将二维纹理图像缓存至本地并返回缓存成功通知。
步骤706,向显示终端发送针对二维纹理图像的显示指令,以使显示终端在接收到同步信号时,从本地读取二维纹理图像并在各显示屏中进行图像帧显示。
步骤708,获取摄像机采集的以显示屏的显示内容为背景的虚拟背景图像。
具体地,可以将真实的演员或者实物放置于显示屏前方,通过摄像机采集以显示屏的显示内容为背景,且包含上述演员或者实物的虚拟背景图像。
本申请实施例中,一方面,在发送二维纹理图像的显示指令之前,控制终端先确定显示终端已经对二维纹理图像进行了缓存,即通过缓存机制,保证了在显示操作执行之前,各显示终端均已获取到了待显示的二维纹理图像,从而避免了因网络传输、图像帧解码、图像帧渲染等操作耗时不稳定导致的获取待显示的二维纹理图像时机延迟,进而导致的图像内容显示不同步现象;另一方面,二维纹理图像显示时,显示终端并不是在接收到控制终端发送的显示指令后即刻开始显示操作,而是,在接收到同步信号之后,才开始执行显示操作,这样可以保证显示终端是在同一时刻向各显示屏提交待显示的二维纹理图像,各显示屏是在同一时刻开始二维纹理图像的显示操作(更新操作)的,从而避免了因各显示屏响应时间差异导致的二维纹理图像显示不同步问题。综上,本申请实施例,可以有效缓解各显示屏显示不同步的问题,改善显示屏接缝处的撕裂现象,提升场景显示质量。
实施例四
图8为根据本申请实施例四的一种同步显示装置的结构框图。本申请实施例提供的同步显示装置可以应用于同步显示系统中的控制终端,该装置包括:
缓存指令发送模块802,用于向显示终端发送针对待缓存图像帧的缓存指令,以使显示终端将待缓存图像帧缓存至本地并返回缓存成功通知;
显示指令发送模块804,用于向显示终端发送针对已缓存图像帧的显示指令,以使显示终端在接收到同步信号时,从本地读取已缓存图像帧并在各显示屏中进行图像帧显示。
可选地,在其中一些实施例中,缓存指令发送模块802,具体用于:
响应于接收到第一同步信号,向显示终端发送针对目标视频流中目标图像帧的缓存指令,以使显示终端将目标图像帧缓存至本地并返回缓存成功通知;
可选地,在其中一些实施例中,显示指令发送模块804,具体用于:
向显示终端发送针对目标视频流中已缓存的图像帧的显示指令,以使显示终端在接收到第二同步信号时,从本地读取已缓存的图像帧并在各显示屏中进行图像帧显示。
可选地,在其中一些实施例中,同步显示装置还包括:
原始图像获取模块,用于取包含预设图案的原始图像;原始图像由多个子图像组成,子图像与显示屏一一对应;预设图案贯穿多个子图像;
测试图像得到模块,用于基于原始图像,按照预设规则改变预设图案的位置,得到多个测试图像;其中,所述预设图案在不同的测试图像中的位置不同;
测试图像发送模块,用于按照预设时间间隔向显示终端发送测试图像,以使显示终端在各显示屏中进行图像显示;其中,当显示终端为多个时,同一发送时刻向各显示终端发送的测试图像为同一图像;
确定模块,用于在图像显示过程中,确定预设图案在显示屏的拼接处是否出现断裂;若是,触发缓存指令发送模块802。
本实施例的同步显示装置用于实现前述多个方法实施例中相应的同步显示方法,并具有相应的方法实施例的有益效果,在此不再赘述。此外,本实施例的同步显示装置中的各个模块的功能实现均可参照前述方法实施例中的相应部分的描述,在此亦不再赘述。
实施例五
图9为根据本申请实施例五的一种同步显示装置的结构框图。本申请实施例提供的同步显示装置可以应用于同步显示系统中的显示终端,该装置包括:
显示指令接收模块902,用于接收控制终端发送的针对已缓存图像帧的显示指令;显示指令是控制终端确认显示终端将已缓存图像帧存储在本地之后发出的;
显示模块904,用于响应于接收到同步信号,从本地读取已缓存图像帧并在各显示屏中进行图像帧显示。
可选地,在其中一些实施例中,同步显示装置还包括:
缓存指令接收模块,用于接收控制终端发送的针对待缓存图像帧的缓存指令;
缓存模块,用于获取待缓存图像帧,将待缓存图像帧存储在本地;
通知返回模块,用于向控制终端返回缓存成功通知。
本实施例的同步显示装置用于实现前述多个方法实施例中相应的同步显示方法,并具有相应的方法实施例的有益效果,在此不再赘述。此外,本实施例的同步显示装置中的各个模块的功能实现均可参照前述方法实施例中的相应部分的描述,在此亦不再赘述。
实施例六
参照图10,示出了根据本申请实施例六的一种控制终端的结构示意图,本申请具体实施例并不对控制终端的具体实现做限定。
如图10所示,该控制终端可以包括:处理器(processor)1002、通信接口(Communications Interface)1004、存储器(memory)1006、以及通信总线1008。
其中:
处理器1002、通信接口1004、以及存储器1006通过通信总线1008完成相互间的通信。
通信接口1004,用于与其它电子设备或服务器进行通信。
处理器1002,用于执行程序1010,具体可以执行上述同步显示方法实施例中的相关步骤。
具体地,程序1010可以包括程序代码,该程序代码包括计算机操作指令。
处理器1002可能是CPU,或者是特定集成电路ASIC(Application SpecificIntegrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路。智能设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器1006,用于存放程序1010。存储器1006可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序1010可包括多条计算机指令,程序1010具体可以通过多条计算机指令使得处理器1002执行前述多个方法实施例中实施例一或实施例三所描述的同步显示方法对应的操作。
程序1010中各步骤的具体实现可以参见上述方法实施例中的相应步骤和单元中对应的描述,并具有相应的有益效果,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
实施例七
参照图11,示出了根据本申请实施例七的一种显示终端的结构示意图,本申请具体实施例并不对显示终端的具体实现做限定。
如图11所示,该显示终端可以包括:处理器(processor)1102、通信接口(Communications Interface)1104、存储器(memory)1106、以及通信总线1108。
其中:
处理器1102、通信接口1104、以及存储器1106通过通信总线1108完成相互间的通信。
通信接口1104,用于与其它电子设备或服务器进行通信。
处理器1102,用于执行程序1110,具体可以执行上述同步显示方法实施例中的相关步骤。
具体地,程序1110可以包括程序代码,该程序代码包括计算机操作指令。
处理器1102可能是CPU,或者是特定集成电路ASIC(Application SpecificIntegrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路。智能设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器1106,用于存放程序1110。存储器1106可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序1110可包括多条计算机指令,程序1110具体可以通过多条计算机指令使得处理器1102执行前述多个方法实施例中实施例二所描述的同步显示方法对应的操作。
程序1110中各步骤的具体实现可以参见上述方法实施例中的相应步骤和单元中对应的描述,并具有相应的有益效果,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
本申请实施例还提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述多个方法实施例中任一实施例所描述的方法。该计算机存储介质包括但不限于:只读光盘(Compact Disc Read-Only Memory,CD-ROM)、随机存储器(RandomAccess Memory,RAM)、软盘、硬盘或磁光盘等。
本申请实施例还提供了一种计算机程序产品,包括计算机指令,该计算机指令指示计算设备执行上述多个方法实施例中的任一同步显示方法对应的操作。
此外,需要说明的是,本申请实施例所涉及到的与用户有关的信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于对模型进行训练的样本数据、用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
需要指出,根据实施的需要,可将本申请实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本申请实施例的目的。
上述根据本申请实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD-ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如专用集成电路(Application Specific Integrated Circuit,ASIC)或现场可编辑门阵列(Field Programmable Gate Array,FPGA))的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,随机存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的方法。此外,当通用计算机访问用于实现在此示出的方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的方法的专用计算机。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。
以上实施方式仅用于说明本申请实施例,而并非对本申请实施例的限制,有关技术领域的普通技术人员,在不脱离本申请实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本申请实施例的范畴,本申请实施例的专利保护范围应由权利要求限定。