一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

视频拼接方法、装置、电子设备及可读存储介质与流程

2021-10-19 19:57:00 来源:中国专利 TAG:拼接 电子设备 图像处理 装置 可读


1.本技术涉及图像处理技术,尤其涉及一种视频拼接方法、装置、电子设备及可读存储介质。


背景技术:

2.视频拼接是指将多个显示单元信号输出到多个显示单元,并完成用多个显示单元拼接组成完整的图像。
3.在视频拼接系统中,各显示单元需要保证同时显示同一帧视频的不同内容,才能保证整体画面不会出现撕裂、错位等问题。


技术实现要素:

4.有鉴于此,本技术提供一种视频拼接方法、装置、电子设备及可读存储介质。
5.具体地,本技术是通过如下技术方案实现的:
6.根据本技术实施例的第一方面,提供一种视频拼接方法,包括:
7.基于视频拼接系统的已同步子系统确定未同步子系统的同步时标;
8.当获取到视频流时,在获取到的视频流中添加当前的同步时标,以得到包括第一同步时标的视频流;
9.将所述包括第一同步时标的视频流发送给目标输出端,以使所述目标输出端基于所述视频流中包括的第一同步时标以及本地的第二同步时标进行视频输出,所述目标输出端包括分别对应所述视频拼接系统的目标视频墙的各显示单元的多个输出端。
10.根据本技术实施例的第二方面,提供一种视频拼接装置,包括:
11.确定单元,用于基于视频拼接系统的已同步子系统确定未同步子系统的同步时标;
12.添加单元,用于当获取到视频流时,在获取到的视频流中添加当前的同步时标,以得到包括第一同步时标的视频流;
13.发送单元,用于将所述包括第一同步时标的视频流发送给目标输出端,以使所述目标输出端基于所述视频流中包括的第一同步时标以及本地的第二同步时标进行视频输出,所述目标输出端包括分别对应所述视频拼接系统的目标视频墙的各显示单元的多个输出端。
14.根据本技术实施例的第三方面,提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
15.存储器,用于存放计算机程序;
16.处理器,用于执行存储器上所存放的程序时,实现上述视频拼接方法。
17.根据本技术实施例的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述视频拼接方法。
18.本技术实施例的视频拼接方法,通过基于视频拼接系统的已同步子系统确定未同
步子系统的同步时标;当获取到视频流时,在获取到的视频流中添加当前的同步时标,以得到包括第一同步时标的视频流,并将包括第一同步时标的视频流发送给目标输出端,以使目标输出端基于视频流中包括的第一同步时标以及本地的第二同步时标进行视频输出,保证了视频墙中各显示单元同时显示同一帧视频的不同内容。
附图说明
19.图1为本技术一示例性实施例示出的一种视频拼接方法的流程示意图;
20.图2为本技术又一示例性实施例示出的另一种视频拼接方法的流程示意图;
21.图3为本技术一示例性实施例示出的一种具体应用场景的示意图;
22.图4为本技术一示例性实施例示出的一种视频拼接装置的结构示意图;
23.图5为本技术又一示例性实施例示出的另一种视频拼接装置的结构示意图;
24.图6为本技术一示例性实施例示出的一种电子设备的硬件结构示意图。
具体实施方式
25.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
26.在本技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
27.为了使本领域技术人员更好地理解本技术实施例提供的技术方案,并使本技术实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本技术实施例中技术方案作进一步详细的说明。
28.请参见图1,为本技术实施例提供的一种视频拼接方法的流程示意图,如图1所示,该视频拼接方法可以包括以下步骤:
29.需要说明的是,在本技术实施例中,一个视频墙包括多个显示单元(如显示屏),该多个显示单元对应多个输出端以及一个视频获取设备,该视频获取设备用于获取视频数据,该多个输出端用于进行视频输出(本文中称为目标输出端,一个目标输出端用于向一个或多个显示单元输出视频数据)。
30.示例性的,用于获取视频数据的视频获取设备也可以用于进行视频输出,即该视频获取设备可以为具有视频获取功能的输出端。
31.步骤s100~步骤s120的执行主体为用于视频获取设备。
32.步骤s100、基于视频拼接系统的已同步子系统确定未同步子系统的同步时标。
33.本技术实施例中,为了保证视频墙中各显示单元显示同一帧视频的不同内容,可以基于视频拼接系统的已同步子系统确定未同步子系统的同步时标。
34.在一个示例中,步骤s100中,基于视频拼接系统的已同步子系统确定未同步子系统的同步时标,可以包括:
35.当视频拼接系统中各目标输出端完成输出同步时,基于同步后的视频输出中断进
行计数累加,以确定同步时标。
36.示例性的,为了实现视频输出同步,同一视频墙对应的各目标输出端之间需要进行输出同步,以保证各目标输出端的视频输出中断同步,即视频拼接系统中的已同步子系统包括视频墙对应的各目标输出端。
37.其中,各目标输出端之间进行输出同步的具体实现可以参见现有相关流程中的相关实现,本技术实施例对此不做赘述。
38.考虑到同一视频墙中各显示单元的帧率相同,而目标输出端每输出一帧视频图像,均会产生一个视频输出中断,因此,当各目标输出端之间完成了视频输出中断的同步时,可以通过对视频输出中断进行计数累加的方式确定同步时标,该同步时标可以用于视频获取设备(未同步子系统)与已同步子系统之间的同步。
39.当各目标输出端完成输出同步时,可以基于同步后的视频输出中断进行计数累加,以确定同步时标。
40.需要说明的是,在本技术实施例中,基于视频拼接系统的已同步子系统确定未同步子系统的同步时标的具体实现并不限于上述实施例中描述的方式,例如,当已同步子系统和未同步子系统均由fpga实现时,可以在将fpga芯片的其中一个管脚设置为同步信号管脚,已同步子系统和未同步子系统可以通过该同步信号管脚建立同步信号通道,已同步子系统可以将同步后的时钟节拍信号通过该同步信号通道同步给未同步子系统,以使未同步子系统和已同步子系统的时钟节拍一致,进而,已同步子系统可以基于接收到的时钟节拍信号确定同步时标。
41.步骤s110、当获取到视频流时,在获取到的视频流中添加当前的同步时标,以得到包括第一同步时标的码流。
42.本技术实施例中,为了保证各目标输出端能够在同一时刻输出同一帧视频的不同内容,对于获取到的视频流,如从网络视频源(如ipc(internet protocol camera,网络摄像机))获取到的视频流,在将获取到的视频流发送给各目标输出端时,可以在该视频流中添加同步时标,以便各目标输出端可以基于视频流中的同步时标(本文中将视频流中携带的同步时标称为第一同步时标)进行视频图像输出,保证输出同步。
43.在一个示例中,对于获取到的视频流,在对获取到的视频流进行转封装/解码,即对视频流进行解封装后封装为另一种封装格式的码流/对视频流进行解码后编码为另一种编码格式的码流时,可以在转封装/解码得到的码流中加入同步时标。
44.在一个示例中,步骤s110中,在获取到的视频流中添加当前的同步时标,可以包括:
45.对获取到的视频流进行解封装/解码;
46.对于解封装/解码得到的任一视频帧,基于获取到的该视频帧时本地的同步时标对该视频帧进行另一封装格式/编码格式的封装/编码。
47.示例性的,对于获取到的视频流,可以对其进行解封装/解码,以得到视频数据。
48.对于解封装/解码得到的任一视频帧,可以基于获取到该视频帧时本地的同步时标对该视频帧进行另一种封装格式/编码格式的封装/编码,以得到带有第一同步时标的码流。
49.举例来说,假设视频获取设备获取到视频帧a时本地的同步时标为t1,则视频获取
设备对视频帧a进行封装时,可以将t1携带在视频帧a对应的码流中。
50.示例性的,对于任一视频帧,获取到该视频帧时本地的同步时标可以为视频获取设备获取到该视频帧对应的码流时,视频获取设备本地的同步时标。
51.其中,当视频获取设备的本地同步时标的更新与获取到视频流同步发生时,可以将获取到视频流时更新得到的同步时标确定为获取到该视频流时视频获取设备本地的同步时标;当视频获取设备的本地同步时标的更新与获取到视频流未同步发生时,可以将与获取到视频流的时刻最接近的本地同步时标更新得到的同步时标,确定为获取到该视频流时视频获取设备本地的同步时标。
52.需要说明的是,在本技术实施例中,当视频输入和输出的格式一致时,视频获取设备获取到视频数据时,可以不对获取到的视频流进行解封装/解码和封装/编码,而是在获取到的视频流中添加同步时标后,将携带同步时标的视频流发送给输出端。
53.步骤s120、将包括第一同步时标的视频流发送给目标输出端,以使目标输出端基于视频流中包括的第一同步时标以及本地的第二同步时标进行视频输出;目标输出端包括分别对应视频拼接系统的目标视频墙的各显示单元的多个输出端。
54.本技术实施例中,在按照步骤s110中描述的方式得到了包括第一同步时标的视频流时,可以将包括第一同步时标的视频流发送给目标输出端。
55.目标输出端接收到包括第一同步时标的视频流时,可以基于视频流中包括的第一同步时标以及本地的同步时标(本文中称为第二同步时标)进行视频输出。
56.需要说明的是,由于视频流中包括的第一同步时标是视频获取设备根据获取到视频流时本地的同步时标确定的,而视频获取设备本地的同步时标是一直处于更新状态的,因此,同一网络视频源的不同视频帧对应的码流中包括的第一同步时标不同。
57.同理,目标输出端的本地的第二同步时标也是一直处于更新状态的。
58.可见,在图1所示方法流程中,通过基于视频拼接系统的已同步子系统确定未同步子系统的同步时标,并在获取到视频流时,在获取到的视频流中添加当前的同步时标,以保证各目标输出端能够基于视频流中的同步时标以及本地同步时标进行视频输出,可以保证视频墙中各显示单元同时显示同一帧视频的不同内容。
59.在一种可能的实施例中,如图2所示,上述视频拼接方法还可以包括以下步骤:
60.步骤s200、当接收到包括第一同步时标的视频流时,对该视频流进行解码,以得到视频图像和第一同步时标。
61.步骤s210、当本地的第二同步时标与该视频流中包括的第一同步时标一致时,对解码得到的视频图像进行输出。
62.示例性的,当视频获取设备也用于视频输出时,该视频获取设备也会接收到包括第一同步时标的视频流。
63.当接收到包括第一同步时标的视频流时,可以对该视频流进行解码,得到对应视频图像以及视频流中包括的第一同步时标。
64.视频获取设备得到视频图像以及对应的第一同步时标时,可以比较该第一同步时标与视频获取设备本地的第二同步时标。
65.当本地的第二同步时标与第一同步时标一致时,可以对解码得到的视频图像进行输出。
66.在一个示例中,步骤s210中,对解码得到的视频图像进行输出,可以包括:
67.基于第一同步时标,对接收到的不同网络视频源的视频图像进行特定处理,并确定拼接参数;
68.基于拼接参数,对特定处理后的视频图像和本地视频源的视频图像进行拼接,并输出拼接后的视频图像。
69.示例性的,视频获取设备解码得到视频图像以及对应的第一同步时标时,可以基于该第一同步时标,对接收到的不同网络视频源的视频图像进行特定处理,并确定拼接参数。
70.示例性的,该特定处理可以包括但不限于挖图、缩放以及同步拼接等处理中的一种或多种。
71.举例来说,以一个输出端对应一个显示单元为例,输出端可以基于对应的显示单元在视频墙中的位置,确定显示单元显示的视频图像在整帧视频图像中的位置,并基于该位置从视频图像中进行挖图,进而,基于显示单元的分辨率,以及挖图得到的图像的分辨率对挖图得到的图像进行缩放。
72.当视频获取设备接收到多个包括相同的第一同步时标的视频流(分别对应不同的网络视频源)时,输出端可以基于预先配置的策略,对该多个包括相同的第一同步时标的视频流对应的视频图像进行缩放和同步拼接。
73.例如,视频获取设备通过解码得到对应相同第一同步时标的视频图像a和视频图像b(分别来自网络视频源a和网络视频源b,视频流中可以携带视频图像的来源信息),而预先配置的策略为网络视频源b的视频图像以左上角对齐的方式叠加在网络视频源a的视频图像上,且前者大小为后者大小的3/4,则视频获取设备可以基于所对应的显示单元在视频墙中的位置,分别从视频图像a和视频图像b中挖图,并基于显示单元的分辨率以及预先配置的策略对挖图进行缩放和同步拼接,使视频图像b中的挖图的大小为视频图像a的挖图的大小的3/4,且按照左上角对齐的方式叠加在视频图像a的挖图上。
74.示例性的,视频获取设备得到特定处理后的视频图像和拼接参数时,可以基于该拼接参数,对特定处理后的视频图像和本地视频源的视频图像进行拼接,即按照预先配置的策略对特定处理后的视频图像和本地视频源进行叠加。
75.需要说明的是,进行拼接的特定处理后的视频图像和本地视频源的视频图像需要为对应的同步时标一致的视频图像。
76.其中,特定处理后的视频图像对应的同步时标为其对应的视频流中包括的第一同步时标;本地视频源的视频图像对应的同步时标为获取到该视频图像时本地的第二同步时标。
77.示例性的,基于拼接参数,完成对特定处理后的视频图像和本地视频源的视频图像的拼接时,可以输出拼接后的视频图像。
78.为了使本领域技术人员更好地理解本技术实施例提供的技术方案,下面结合具体实例对本技术实施例提供的技术方案进行说明。
79.请参见图3,为本技术实施例提供的一种视频获取设备的结构示意图,在该实施例中,视频获取设备也用于进行视频输出,如图3所示,该视频获取设备可以包括前级模块、后级模块以及控制模块;前级模块用于进行网络视频源的视频数据处理,后级模块用于本地
视频源的视频数据处理以及视频输出处理,控制模块用于网络视频源的视频获取以及发送以及拼接配置。
80.同一视频墙对应的各输出端(视频获取设备也作为一个输出端)的后级模块进行输出同步,以实现视频输出中断同步,并基于同步好后级模块(即视频拼接系统中的已同步子系统)的视频输出中断进行计数累加确定同步时标,同时将视频输出中断送给前级模块(未同步子系统);前级模块接收到视频输出中断时,从后级模块中读取同步时标,以读取到的同步时标作为后续同步的基准,在对控制模块从网络视频源获取到的视频流进行转封装时,在码流中加入同步时标,并通过控制模块中的网络模块发送给各目标输出端。
81.目标输出端接收到包括同步时标的码流时,对接收到的码流进行解码,得到视频图像和同步时标,并将码流中包括的同步时标(即上文中的第一同步时标)和本地的同步时标(即上文中的第二同步时标)进行比较,当二者一致时,进行视频图像输出。
82.其中,对于不同网络视频源的视频数据,前级模块可以基于码流中包括的同步时标进行同步,对对应的同步时标相同的视频图像进行挖图、缩放、同步拼接,并确定拼接参数,将处理后的视频图像以及拼接参数发送给后级模块;最后,后级模块根据拼接参数对处理后的视频图像以及本地视频源的视频图像进行后级拼接和输出,其具体实现流程如下:
83.1、前级模块接收后级模块同步:各输出端的后级模块完成同步后,通过视频输出中断控制前级模块读取同步时标,同步时标作为后续前级模块同步的基准;
84.2、将步骤1中读到的同步时标通过转封装模块加入到码流封装中;
85.3、步骤2的码流经过解码后得到视频图像和同步时标,视频图像根据同步时标进行同步;
86.4、将步骤3中同步后的视频图像进行拼接并发送给后级模块,同时生成拼接参数;
87.5、后级模块接收步骤4中的视频图像和拼接参数,和后级模块的本地视频源的视频图像一起进行拼接后输出到显示单元进行显示。
88.示例性的,在实际应用中,前级模块可以通过asic(application specific integrated circuit,专用集成电路)芯片实现,后级模块可以通过fpga(field-programmable gate array,现场可编程门阵列)芯片实现。
89.前级模块获取到视频流时,可以通过转封装得到包括同步时标的rtp(real-time transport protocol,实时传输协议)码流,对该rtp码流进行解码得到的视频图像可以为yuv(一种颜色编码方法)视频数据。
90.本技术实施例中,通过基于视频拼接系统的已同步子系统确定未同步子系统的同步时标;当获取到视频流时,在获取到的视频流中添加当前的同步时标,以得到包括第一同步时标的视频流,并将包括第一同步时标的视频流发送给目标输出端,以使目标输出端基于视频流中包括的第一同步时标以及本地的第二同步时标进行视频输出,保证了视频墙中各显示单元同时显示同一帧视频的不同内容。
91.以上对本技术提供的方法进行了描述。下面对本技术提供的装置进行描述:
92.请参见图4,为本技术实施例提供的一种视频拼接装置的结构示意图,如图4所示,该视频拼接装置可以包括:
93.确定单元410,用于基于视频拼接系统的已同步子系统确定未同步子系统的同步时标;
94.添加单元420,用于当获取到视频流时,在获取到的视频流中添加当前的同步时标,以得到包括第一同步时标的视频流;
95.发送单元430,用于将所述包括第一同步时标的视频流发送给目标输出端,以使所述目标输出端基于所述视频流中包括的第一同步时标以及本地的第二同步时标进行视频输出,所述目标输出端包括分别对应所述视频拼接系统的目标视频墙的各显示单元的多个输出端。
96.在一种可选的实施例中,所述确定单元410基于视频拼接系统的已同步子系统确定未同步子系统的同步时标,包括:
97.当所述视频拼接系统中各目标输出端完成输出同步时,基于同步后的视频输出中断进行计数累加,以确定同步时标。
98.在一种可选的实施例中,所述添加单元420在获取到的视频流中添加当前的同步时标,包括:
99.对获取到的视频流进行解封装/解码;
100.对于解封装/解码得到的任一视频帧,基于获取到该视频帧时本地的同步时标对该视频帧进行另一种封装格式/编码格式的封装/编码。
101.在一种可选的实施例中,如图5所示,所述装置还包括:
102.输出单元440,用于当接收到包括第一同步时标的视频流时,对该视频流进行解码,以得到视频图像和第一同步时标;
103.当本地的第二同步时标与该视频流中包括的第一同步时标一致时,对解码得到的视频图像进行输出。
104.在一种可选的实施例中,所述输出单元440对解码得到的视频图像进行输出,包括:
105.基于所述第一同步时标,对接收到的不同网络视频源的视频图像进行特定处理,并确定拼接参数;
106.基于所述拼接参数,对特定处理后的视频图像和本地视频源的视频图像进行拼接,并输出拼接后的视频图像;
107.其中,所述特定处理包括以下之一或多种:
108.挖图、缩放以及同步拼接。
109.请参见图6,为本技术实施例提供的一种电子设备的硬件结构示意图。该电子设备可以包括处理器601、通信接口602、存储器603和通信总线604。处理器601、通信接口602以及存储器603通过通信总线604完成相互间的通信。其中,存储器603上存放有计算机程序;处理器601可以通过执行存储器603上所存放的程序,执行上文描述的视频拼接方法。
110.本文中提到的存储器603可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,存储器602可以是:ram(radom access memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
111.本技术实施例还提供了一种存储有计算机程序的机器可读存储介质,例如图6中的存储器603,所述计算机程序可由图6所示电子设备中的处理器601执行以实现上文中描
述的视频拼接方法。
112.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
113.以上所述仅为本技术的较佳实施例而已,并不用以限制本技术,凡在本技术的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本技术保护的范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜