首页 / 专利库 / 多媒体工具与应用 / 流式视频 / 一种多路视频合成的方法及装置

一种多路视频合成的方法及装置

阅读:552发布:2020-05-08

专利汇可以提供一种多路视频合成的方法及装置专利检索,专利查询,专利分析的服务。并且本 发明 实施例 提供了一种多路视频合成的方法及装置。该多路视频合成的方法包括:接收用户输入的目标 帧 率,并根据目标帧率确定多个连续的目标时间戳;获取多路 视频流 ,并建立视频流中 视频帧 与目标时间戳的对应关系;每路视频流中,对应目标时间戳的视频帧的时间戳等于目标时间戳,或者早于目标时间戳且距离目标时间戳最近;根据对应关系,将同一目标时间戳对应的多个视频帧合成一个视频帧,得到多个合成后的视频帧;将多个合成后的视频帧进行处理,得到一路目标帧率的视频流。本发明实施例中以多画面的方式播放合成后的视频流时,各画面之间具有良好的同步性。同时,可以通过调整目标帧率以使合成后的视频流适用于不同配置的播放器。,下面是一种多路视频合成的方法及装置专利的具体信息内容。

1.一种多路视频合成的方法,其特征在于,包括:
接收用户输入的目标率,并根据所述目标帧率确定多个连续的目标时间戳;
获取多路视频流,并建立所述视频流中视频帧与所述目标时间戳的对应关系;其中,每一目标时间戳对应每路视频流中的一个视频帧;每路视频流中,对应所述目标时间戳的视频帧的时间戳等于所述目标时间戳,或者早于所述目标时间戳且距离所述目标时间戳最近;
根据所述对应关系,将同一所述目标时间戳对应的多个视频帧合成一个视频帧,得到多个合成后的视频帧;
将多个合成后的视频帧进行处理,得到一路所述目标帧率的视频流。
2.根据权利要求1所述的方法,其特征在于,所述多个连续的目标时间戳从零开始,并且相邻两个目标时间戳之间的时长等于所述目标帧率对应的时间基。
3.根据权利要求1所述的方法,其特征在于,所述获取多路视频流的步骤包括:
获取多个终端设备分别录制的视频流,其中所述视频流包括多个视频帧,并且每个视频帧携带有不同的时间戳。
4.根据权利要求1所述的方法,其特征在于,所述建立所述视频流中视频帧与所述目标时间戳的对应关系的步骤包括:
按照目标时间戳从早到晚的顺序,依次选择每一所述目标时间戳;
根据每个视频帧的时间戳,在每路视频流中查找与选择出的目标时间戳相同的第一视频帧,若找到所述第一视频帧,将所述第一视频帧与选择出的目标时间戳建立对应关系;
若未找到所述第一视频帧,查找早于选择出的目标时间戳并且距离选择出的目标时间戳最近的第二视频帧,将所述第二视频帧与选择出的目标时间戳建立对应关系。
5.根据权利要求1所述的方法,其特征在于,所述根据所述对应关系,将同一所述目标时间戳对应的多个视频帧合成一个视频帧的步骤包括:
根据所述对应关系,确定每个目标时间戳对应的多个视频帧;
分别对每个目标时间戳对应的多个视频帧进行合屏处理,得到多个合成后的视频帧。
6.根据权利要求5所述的方法,其特征在于,在所述分别对每个目标时间戳对应的多个视频帧进行合屏处理的步骤之前,所述方法还包括:
将每个目标时间戳对应的多个视频帧分别进行缩放处理。
7.一种多路视频合成的装置,其特征在于,包括:
设置模,用于接收用户输入的目标帧率,并根据所述目标帧率确定多个连续的目标时间戳;
对应模块,用于获取多路视频流,并建立所述视频流中视频帧与所述目标时间戳的对应关系;其中,每一目标时间戳对应每路视频流中的一个视频帧;每路视频流中,对应所述目标时间戳的视频帧的时间戳等于所述目标时间戳,或者早于所述目标时间戳且距离所述目标时间戳最近;
合成模块,用于根据所述对应关系,将同一所述目标时间戳对应的多个视频帧合成一个视频帧,得到多个合成后的视频帧;
处理模块,用于将多个合成后的视频帧进行处理,得到一路所述目标帧率的视频流。
8.根据权利要求7所述的装置,其特征在于,所述对应模块包括:
选择单元,用于按照目标时间戳从早到晚的顺序,依次选择每一所述目标时间戳;
第一对应单元,用于根据每个视频帧的时间戳,在每路视频流中查找与选择出的目标时间戳相同的第一视频帧,若找到所述第一视频帧,将所述第一视频帧与选择出的目标时间戳建立对应关系;
第二对应单元,用于若未找到所述第一视频帧,查找早于选择出的目标时间戳并且距离选择出的目标时间戳最近的第二视频帧,将所述第二视频帧与选择出的目标时间戳建立对应关系。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的多路视频合成的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至6中任一项所述的多路视频合成的方法的计算机程序。

说明书全文

一种多路视频合成的方法及装置

技术领域

[0001] 本发明涉及视频合成领域,特别是涉及一种多路视频合成的方法及装置。

背景技术

[0002] 目前,在视频会议的场景下,多方参会人员通过不同终端设备进入视频会议中。当对视频会议进行记录时,需要记录每一方参会人员的视频数据。为方便后续查看会议记录时可以同时观看多路视频数据,将多路视频数据合成一路视频数据,从而多个画面显示在同一显示屏的不同区域上,其中每个画面对应一路视频数据。
[0003] 然而,由于录制每路视频数据的终端设备不同,或者终端设备的配置参数不同,使得多路视频数据各自的率不同,最终导致在对多路视频合成的一路视频进行播放时,各个画面不同步。

发明内容

[0004] 鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的多路视频合成的方法及装置。
[0005] 第一方面,本发明实施例公开了一种多路视频合成的方法,所述方法包括:
[0006] 接收用户输入的目标帧率,并根据所述目标帧率确定多个连续的目标时间戳;
[0007] 获取多路视频流,并建立所述视频流中视频帧与所述目标时间戳的对应关系;其中,每一目标时间戳对应每路视频流中的一个视频帧;每路视频流中,对应所述目标时间戳的视频帧的时间戳等于所述目标时间戳,或者早于所述目标时间戳且距离所述目标时间戳最近;
[0008] 根据所述对应关系,将同一所述目标时间戳对应的多个视频帧合成一个视频帧,得到多个合成后的视频帧;
[0009] 将多个合成后的视频帧进行处理,得到一路所述目标帧率的视频流。
[0010] 可选的,所述多个连续的目标时间戳从零开始,并且相邻两个目标时间戳之间的时长等于所述目标帧率对应的时间基。
[0011] 可选的,所述获取多路视频流的步骤包括:
[0012] 获取多个终端设备分别录制的视频流,其中所述视频流包括多个视频帧,并且每个视频帧携带有不同的时间戳。
[0013] 可选的,所述建立所述视频流中视频帧与所述目标时间戳的对应关系的步骤包括:
[0014] 按照目标时间戳从早到晚的顺序,依次选择每一所述目标时间戳;
[0015] 根据每个视频帧的时间戳,在每路视频流中查找与选择出的目标时间戳相同的第一视频帧,若找到所述第一视频帧,将所述第一视频帧与选择出的目标时间戳建立对应关系;
[0016] 若未找到所述第一视频帧,查找早于选择出的目标时间戳并且距离选择出的目标时间戳最近的第二视频帧,将所述第二视频帧与选择出的目标时间戳建立对应关系。
[0017] 可选的,所述根据所述对应关系,将同一所述目标时间戳对应的多个视频帧合成一个视频帧的步骤包括:
[0018] 根据所述对应关系,确定每个目标时间戳对应的多个视频帧;
[0019] 分别对每个目标时间戳对应的多个视频帧进行合屏处理,得到多个合成后的视频帧。
[0020] 可选的,在所述分别对每个目标时间戳对应的多个视频帧进行合屏处理的步骤之前,所述方法还包括:
[0021] 将每个目标时间戳对应的多个视频帧分别进行缩放处理。
[0022] 第二方面,本发明实施例还公开了一种多路视频合成的装置,该装置包括:
[0023] 设置模块,用于接收用户输入的目标帧率,并根据所述目标帧率确定多个连续的目标时间戳;
[0024] 对应模块,用于获取多路视频流,并建立所述视频流中视频帧与所述目标时间戳的对应关系;其中,每一目标时间戳对应每路视频流中的一个视频帧;每路视频流中,对应所述目标时间戳的视频帧的时间戳等于所述目标时间戳,或者早于所述目标时间戳且距离所述目标时间戳最近;
[0025] 合成模块,用于根据所述对应关系,将同一所述目标时间戳对应的多个视频帧合成一个视频帧,得到多个合成后的视频帧;
[0026] 处理模块,用于将多个合成后的视频帧进行处理,得到一路所述目标帧率的视频流。
[0027] 可选的,多个连续的目标时间戳从零开始,并且相邻两个目标时间戳之间的时长等于目标帧率对应的时间基。
[0028] 可选的,对应模块,具体用于获取多个终端设备分别录制的视频流,其中视频流包括多个视频帧,并且每个视频帧携带有不同的时间戳。
[0029] 可选的,所述对应模块包括:
[0030] 选择单元,用于按照目标时间戳从早到晚的顺序,依次选择每一所述目标时间戳;
[0031] 第一对应单元,用于根据每个视频帧的时间戳,在每路视频流中查找与选择出的目标时间戳相同的第一视频帧,若找到所述第一视频帧,将所述第一视频帧与选择出的目标时间戳建立对应关系;
[0032] 第二对应单元,用于若未找到所述第一视频帧,查找早于选择出的目标时间戳并且距离选择出的目标时间戳最近的第二视频帧,将所述第二视频帧与选择出的目标时间戳建立对应关系。
[0033] 可选的,合成模块包括:
[0034] 确定单元,用于根据所述对应关系,确定每个目标时间戳对应的多个视频帧;
[0035] 合成单元,用于分别对每个目标时间戳对应的多个视频帧进行合屏处理,得到多个合成后的视频帧。
[0036] 可选的,所述装置还包括:
[0037] 缩放单元,用于在分别对每个目标时间戳对应的多个视频帧进行合屏处理之前,将每个目标时间戳对应的多个视频帧分别进行缩放处理。
[0038] 第三方面,本发明实施例还公开了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述方法。
[0039] 第四方面,本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述第一方面所述方法的计算机程序。
[0040] 本发明实施例提供的多路视频合成的方法及装置,可以接收用户输入的目标帧率,并根据目标帧率确定多个连续的目标时间戳。由于目标帧率是由用户输入的,因此该目标帧率的数值可以由用户根据需要自行决定,提供了更大的灵活性。然后获取多路视频流,并建立视频流中视频帧与目标时间戳的对应关系;其中,每一目标时间戳对应每路视频流中的一个视频帧;每路视频流中,对应目标时间戳的视频帧的时间戳等于目标时间戳,或者早于目标时间戳且距离目标时间戳最近。所有与同一目标时间戳建立对应关系的多个视频帧的时间戳相同或者相近,并且都不会晚于对应的目标时间戳,从而保证与同一目标时间戳对应的多个视频帧之间的时间同步。根据对应关系,将同一目标时间戳对应的多个视频帧合成一个视频帧,得到多个合成后的视频帧;将多个合成后的视频帧进行处理,得到一路目标帧率的视频流。使得得到的目标帧率的视频流可以同时显示多路视频流的画面,并且各画面之间具有很好的同步性;同时可以通过调整目标帧率,以使合成的一路视频流适用不同配置的播放设备。附图说明
[0041] 图1是本发明实施例提供的一种多路视频合成的方法步骤示意图;
[0042] 图2是本发明实施例提供的视频帧与目标时间戳建立对应关系的步骤示意图;
[0043] 图3是本发明实施例视频会议的应用场景架构图;
[0044] 图4是本发明实施例视频会议的应用场景下多路视频合成的实现步骤示意图;
[0045] 图5是本发明实施例提供的一种多路视频合成的装置示意图;
[0046] 图6是本发明实施例提供的对应模块示意图;
[0047] 图7是本发明实施例提供的一种视联网的组网示意图;
[0048] 图8是本发明实施例提供的一种节点服务器硬件结构示意图;
[0049] 图9是本发明实施例提供的一种接入交换机的硬件结构示意图;
[0050] 图10是本发明实施例提供的一种以太网协转网关的硬件结构示意图。

具体实施方式

[0051] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
[0052] 在已有的视联网中增设视联网服务器时,首先会通过网线等实现增设视联网服务器与视联网的物理连接,但可能存在线路连接错误或者交换机策略的问题,导致增设的视联网服务器并未成功连入该已有的视联网。本发明针对这种情况提出了解决办法,可以确定增设的视联网服务器是否已经成功连入该已有的视联网,即成功连入时可以接收到该已有视联网中传输的网络包。
[0053] 图1示出了本发明一实施例提供的多路视频合成的方法,该包括以下步骤:
[0054] 步骤101,接收用户输入的目标帧率,并根据目标帧率确定多个连续的目标时间戳。
[0055] 应当说明的是,多个连续的目标时间戳从零开始,并且相邻两个目标时间戳之间的时长等于目标帧率对应的时间基。其中每个帧率对应一个时间基,例如帧率为20fps时,则时间基为50ms,生成的多个连续的目标时间戳为0、50ms、100ms、150ms、200ms……,以此类推,相邻两个目标时间戳中后一个时间戳比前一个时间戳晚50ms(即一个时间基的时长)。目标帧率是由用户输入的,因此该目标帧率的数值可以由用户根据需要自行决定,提供了更大的灵活性。目标帧率可以为30fps,但不限于此。
[0056] 步骤102,获取多路视频流,并建立视频流中视频帧与目标时间戳的对应关系。
[0057] 应当说明的是,每路视频流由一个终端设备录制而成,并且视频流为多个视频帧构成的一段视频数据。终端设备在录制生成视频流时,每生成一个视频帧将对生成的视频帧打上时间戳,其中时间戳是针对视频数据包所作的时间标记,用于解码,播放显示等环节参照。对视频帧打时间戳为现有常规操作,例如可以通过执行代码实现,执行代码为pts=inc++*(1000/fps);其中pts为时间戳,inc是一个静态的,初始值为0,每次打完时间戳inc加1,fps为帧率。较佳的,获取多路视频流的步骤包括:获取多个终端设备分别录制的视频流,其中视频流包括多个视频帧,并且每个视频帧携带有不同的时间戳。
[0058] 针对一路视频流,在同一时刻只需要显示一个视频帧即可。并且在同时显示多路视频流中的视频帧时,同时显示的视频帧的时间戳相同或者相近可以保证较好的时间同步。因此每一目标时间戳对应每路视频流中的一个视频帧;每路视频流中,对应目标时间戳的视频帧的时间戳等于目标时间戳,或者早于目标时间戳且距离目标时间戳最近。
[0059] 步骤103,根据对应关系,将同一目标时间戳对应的多个视频帧合成一个视频帧,得到多个合成后的视频帧。
[0060] 应当说明的是,针对每个目标时间戳,可以合成一个视频帧,因此可以得到多个合成后的视频帧。并且每个合成的视频帧包含了多个视频帧的图像信息。较佳的,合成后的视频帧的时间戳即为对应的目标时间戳。例如第一目标时间戳对应视频帧A、视频帧B、视频帧C以及视频帧D,每个视频帧属于一路不同的视频流,根据视频帧A、视频帧B、视频帧C以及视频帧D,生成视频帧M,则视频帧M的时间戳为第一目标时间戳。
[0061] 步骤104,将多个合成后的视频帧进行处理,得到一路目标帧率的视频流。
[0062] 应当说明的是,得到的一路视频流每秒钟播放视频帧的数目等于目标帧率的数值。
[0063] 本发明实施例中,可以接收用户输入的目标帧率,并根据目标帧率确定多个连续的目标时间戳。由于目标帧率是由用户输入的,因此该目标帧率的数值可以由用户根据需要自行决定,提供了更大的灵活性。然后获取多路视频流,并建立视频流中视频帧与目标时间戳的对应关系;其中,每一目标时间戳对应每路视频流中的一个视频帧;每路视频流中,对应目标时间戳的视频帧的时间戳等于目标时间戳,或者早于目标时间戳且距离目标时间戳最近。所有与同一目标时间戳建立对应关系的多个视频帧的时间戳相同或者相近,并且都不会晚于对应的目标时间戳,从而保证与同一目标时间戳对应的多个视频帧之间的时间同步。根据对应关系,将同一目标时间戳对应的多个视频帧合成一个视频帧,得到多个合成后的视频帧;将多个合成后的视频帧进行处理,得到一路目标帧率的视频流。使得得到的目标帧率的视频流可以同时显示多路视频流的画面,并且各画面之间具有很好的同步性;同时可以通过调整目标帧率,以使合成的一路视频流适用不同配置的播放设备。
[0064] 如图2所示,为了保证对应同一目标视频帧的多个视频帧之间具有良好的时间同步性,在上述发明实施例的基础上,本发明实施例中,建立视频流中视频帧与目标时间戳的对应关系的步骤包括:
[0065] 步骤201,按照目标时间戳从早到晚的顺序,依次选择每一目标时间戳。
[0066] 应当说明的是,目标时间戳从早到晚的顺序,即为目标时间戳的数值从小到大的顺序。
[0067] 步骤202,根据每个视频帧的时间戳,在每路视频流中查找与选择出的目标时间戳相同的第一视频帧,若找到第一视频帧,将第一视频帧与选择出的目标时间戳建立对应关系。
[0068] 步骤203,若未找到第一视频帧,查找早于选择出的目标时间戳并且距离选择出的目标时间戳最近的第二视频帧,将第二视频帧与选择出的目标时间戳建立对应关系。
[0069] 应当说明的是,与目标时间戳建立对应关系的多个视频帧的时间戳,距离目标时间戳较近,并且不晚于目标时间戳。具体的,在一路视频流中与第一目标时间戳建立对应关系的视频帧A,是该路所有视频帧中距离第一目标时间戳最近的,并且不晚于第一目标时间戳的视频帧。
[0070] 为了使一个视频帧同时显示多个视频帧的图像信息,在上述各发明实施例的基础上,本发明实施例中,根据对应关系,将同一目标时间戳对应的多个视频帧合成一个视频帧的步骤包括:
[0071] 根据对应关系,确定每个目标时间戳对应的多个视频帧;
[0072] 分别对每个目标时间戳对应的多个视频帧进行合屏处理,得到多个合成后的视频帧。
[0073] 应当说明的是,通过合屏处理,可以将不同视频帧的图像信息,通过一个视频帧表示。即播放合屏处理后的视频帧时,可以同时显示合屏处理器的多个视频帧。也就是一块显示屏可以显示多个画面。
[0074] 为了使多个画面之间具有较好的一致性,较佳的,在分别对每个目标时间戳对应的多个视频帧进行合屏处理的步骤之前,该方法还包括:
[0075] 将每个目标时间戳对应的多个视频帧分别进行缩放处理。
[0076] 可以根据显示屏的分辨率、获取的多路视频流的路数以及显示屏多画面显示的方式对视频帧进行缩放处理。其中显示屏多画面显示的方式是指显示屏采用2行2列、2行3列、3行2列等方式对多个画面进行显示。
[0077] 如图3所示,为视频会议的应用场景架构图;视联网会议发起者发起视频会议,并通过视联网会议控制终端对视频会议进行控制。参见视频会议的人员分别通过视联网终端1、视联网终端2、视联网终端3以及视联网终端4加入视频会议。该场景架构图中会管服务器接收视联网会议控制终端的指令,将指令解析后经由互联网转发给自治服务器,发起会议;
自治服务器负责自治内的协议解析和业务处理;存储网关为负责视联网存储资源的一个平台;媒体处理服务器是存储服务系统中用于处理音视频文件的程序;视频合成策略模块,设置有将多路视频流合成一路视频流的策略。其中存储服务系统负责视联网的音视频数据的存储,互联网的音视频数据传输到视联网。
[0078] 以下为视联网中可能用到技术术语的相关解释。
[0079] 视联网:视联网是网络发展的重要里程碑,是互联网的更高级形态,是一个实时网络,能够实现目前互联网无法实现的全网高清视频实时传输,将众多互联网应用推向高清视频化,高清面对面。最终将实现世界无距离,实现全球范围内人与人的距离只是一个屏幕的距离。
[0080] 64位视联网:视联网的第二个架构,支持最大寻址空间为2的64次方个。
[0081] 自治云:是视联网网络结构中的最小单位,包括自治服务器,边界路由器,终端控制服务器,及各种终端设备组成。
[0082] 微云路由器:负责终端的心跳保持和跨自治云的数据转发。
[0083] 自治服务器:负责自治云内的协议解析和业务处理。
[0084] 实体终端:接入视联网的实体硬件盒子或者软件
[0085] 存储网关:负责视联网存储资源的一个平台。
[0086] 虚拟终端:接入视联网的软件对象。
[0087] 网管:视联网的管理终端。
[0088] 视联网存储服务系统:负责视联网的音视频数据的存储,互联网的音视频数据传输到视联网。
[0089] 文件服务器:视联网存储服务系统的一个模块,负责文件下载和转码功能。
[0090] 媒体合成器:用于将多个视频画面合并为一个画面的高性能硬件编解码设备。
[0091] 会议控制终端:连接会管服务器,发起控制会议的指令。
[0092] 会管服务器:接收会议控制终端的指令,将指令解析后转发给自治服务器,发起会议。
[0093] 时间戳:针对音视频数据包所作的时间标记,用于解码,播放显示等环节参照。
[0094] 媒体处理服务器:存储服务系统中用于处理音视频文件的程序,当前主要实现录制存储视频文件及截图功能。
[0095] 参见图4为视频会议的应用场景下多路视频合成的实现步骤。实现步骤包括:
[0096] 步骤401,开始,视联网会议发起者发起多路视频合成指令,并输入目标帧率。
[0097] 步骤402,存储网关接收到来自视联网的多路视频流。
[0098] 步骤403,将多路视频流转发至媒体处理服务器,主要经过用户数据报协议进行转发。
[0099] 步骤404,媒体处理服务器根据视频合成策略模块中的策略进行视频合成,取每一路视频流中的一个视频帧,然后合成一个视频帧,较佳的,在合成之前先对视频帧进行缩放处理。
[0100] 步骤405,对合成后的视频帧进行编码处理。
[0101] 步骤406,对编码之后的视频帧进行封装处理生成预定格式的视频文件,该预定格式可以为任一视频格式,例如flv格式,但不限于此。
[0102] 步骤407,结束。
[0103] 需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
[0104] 图5和图6示出了本发明又一实施例提供的多路视频合成的装置,该装置包括:
[0105] 设置模块501,用于接收用户输入的目标帧率,并根据目标帧率确定多个连续的目标时间戳;
[0106] 对应模块502,用于获取多路视频流,并建立视频流中视频帧与目标时间戳的对应关系;其中,每一目标时间戳对应每路视频流中的一个视频帧;每路视频流中,对应目标时间戳的视频帧的时间戳等于目标时间戳,或者早于目标时间戳且距离目标时间戳最近;
[0107] 合成模块503,用于根据对应关系,将同一目标时间戳对应的多个视频帧合成一个视频帧,得到多个合成后的视频帧;
[0108] 处理模块504,用于将多个合成后的视频帧进行处理,得到一路目标帧率的视频流。
[0109] 应当说明的是,多个连续的目标时间戳从零开始,并且相邻两个目标时间戳之间的时长等于目标帧率对应的时间基。
[0110] 对应模块502,具体用于获取多个终端设备分别录制的视频流,其中视频流包括多个视频帧,并且每个视频帧携带有不同的时间戳。
[0111] 对应模块502包括:
[0112] 选择单元5021,用于按照目标时间戳从早到晚的顺序,依次选择每一目标时间戳;
[0113] 第一对应单元5022,用于根据每个视频帧的时间戳,在每路视频流中查找与选择出的目标时间戳相同的第一视频帧,若找到第一视频帧,将第一视频帧与选择出的目标时间戳建立对应关系;
[0114] 第二对应单元5023,用于若未找到第一视频帧,查找早于选择出的目标时间戳并且距离选择出的目标时间戳最近的第二视频帧,将第二视频帧与选择出的目标时间戳建立对应关系。
[0115] 合成模块503包括:
[0116] 确定单元,用于根据对应关系,确定每个目标时间戳对应的多个视频帧;
[0117] 合成单元,用于分别对每个目标时间戳对应的多个视频帧进行合屏处理,得到多个合成后的视频帧。
[0118] 缩放单元,用于在分别对每个目标时间戳对应的多个视频帧进行合屏处理之前,将每个目标时间戳对应的多个视频帧分别进行缩放处理。
[0119] 本发明实施例中,可以接收用户输入的目标帧率,并根据目标帧率确定多个连续的目标时间戳。由于目标帧率是由用户输入的,因此该目标帧率的数值可以由用户根据需要自行决定,提供了更大的灵活性。然后获取多路视频流,并建立视频流中视频帧与目标时间戳的对应关系;其中,每一目标时间戳对应每路视频流中的一个视频帧;每路视频流中,对应目标时间戳的视频帧的时间戳等于目标时间戳,或者早于目标时间戳且距离目标时间戳最近。所有与同一目标时间戳建立对应关系的多个视频帧的时间戳相同或者相近,并且都不会晚于对应的目标时间戳,从而保证与同一目标时间戳对应的多个视频帧之间的时间同步。根据对应关系,将同一目标时间戳对应的多个视频帧合成一个视频帧,得到多个合成后的视频帧;将多个合成后的视频帧进行处理,得到一路目标帧率的视频流。使得得到的目标帧率的视频流可以同时显示多路视频流的画面,并且各画面之间具有很好的同步性;同时可以通过调整目标帧率,以使合成的一路视频流适用不同配置的播放设备。。
[0120] 对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0121] 本发明实施例还公开了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一实施例所述的方法。
[0122] 本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述实现上述任一实施例所述的方法的计算机程序。
[0123] 本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0124] 本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0125] 本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0126] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0127] 这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0128] 视联网是网络发展的重要里程碑,是一个实时网络,能够实现高清视频实时传输,将众多互联网应用推向高清视频化,高清面对面。
[0129] 视联网采用实时高清视频交换技术,可以在一个网络平台上将所需的服务,如高清视频会议、视频监控、智能化监控分析、应急指挥、数字广播电视、延时电视、网络教学、现场直播、VOD点播、电视邮件、个性录制(PVR)、内网(自办)频道、智能化视频播控、信息发布等数十种视频、语音、图片、文字、通讯、数据等服务全部整合在一个系统平台,通过电视或电脑实现高清品质视频播放。
[0130] 为使本领域技术人员更好地理解本发明实施例,以下对视联网进行介绍:
[0131] 视联网所应用的部分技术如下所述:
[0132] 网络技术(Network Technology)
[0133] 视联网的网络技术创新改良了传统以太网(Ethernet),以面对网络上潜在的巨大视频流量。不同于单纯的网络分组交换(Packet Switching)或网络电路交换(Circuit Switching),视联网技术采用网络分组交换满足Streaming(译为成流、流、连续播送,是一种数据传送技术,把收到的数据变成一个稳定连续的流,源源不断地送出,使用户听到的声音或看到的图像十分平稳,而且用户在整个数据传送完之前就可以开始在屏幕上进行浏览)需求。视联网技术具备分组交换的灵活、简单和低价,同时具备电路交换的品质和安全保证,实现了全网交换式虚拟电路,以及数据格式的无缝连接。
[0134] 交换技术(Switching Technology)
[0135] 视联网采用以太网的异步和包交换两个优点,在全兼容的前提下消除了以太网缺陷,具备全网端到端无缝连接,直通用户终端,直接承载IP数据包。用户数据在全网范围内不需任何格式转换。视联网是以太网的更高级形态,是一个实时交换平台,能够实现目前互联网无法实现的全网大规模高清视频实时传输,将众多网络视频应用推向高清化、统一化。
[0136] 服务器技术(Server Technology)
[0137] 视联网和统一视频平台上的服务器技术不同于传统意义上的服务器,它的流媒体传输是建立在面向连接的基础上,其数据处理能与流量、通讯时间无关,单个网络层就能够包含信令及数据传输。对于语音和视频业务来说,视联网和统一视频平台流媒体处理的复杂度比数据处理简单许多,效率比传统服务器大大提高了百倍以上。
[0138] 储存器技术(Storage Technology)
[0139] 统一视频平台的超高速储存器技术为了适应超大容量和超大流量的媒体内容而采用了最先进的实时操作系统,将服务器指令中的节目信息映射到具体的硬盘空间,媒体内容不再经过服务器,瞬间直接送达到用户终端,用户等待一般时间小于0.2秒。最优化的扇区分布大大减少了硬盘磁头寻道的机械运动,资源消耗仅占同等级IP互联网的20%,但产生大于传统硬盘阵列3倍的并发流量,综合效率提升10倍以上。
[0140] 网络安全技术(Network Security Technology)
[0141] 视联网的结构性设计通过每次服务单独许可制、设备与用户数据完全隔离等方式从结构上彻底根除了困扰互联网的网络安全问题,一般不需要杀毒程序、防火墙,杜绝了黑客与病毒的攻击,为用户提供结构性的无忧安全网络。
[0142] 服务创新技术(Service Innovation Technology)
[0143] 统一视频平台将业务与传输融合在一起,不论是单个用户、私网用户还是一个网络的总合,都不过是一次自动连接。用户终端、机顶盒或PC直接连到统一视频平台,获得丰富多彩的各种形态的多媒体视频服务。统一视频平台采用“菜谱式”配表模式来替代传统的复杂应用编程,可以使用非常少的代码即可实现复杂的应用,实现“无限量”的新业务创新。
[0144] 视联网的组网如下所述:
[0145] 视联网是一种集中控制的网络结构,该网络可以是树型网、星型网、环状网等等类型,但在此基础上网络中需要有集中控制节点来控制整个网络。
[0146] 如图7所示,视联网分为接入网和城域网两部分。
[0147] 接入网部分的设备主要可以分为3类:节点服务器,接入交换机,终端(包括各种机顶盒、编码板、存储器等)。节点服务器与接入交换机相连,接入交换机可以与多个终端相连,并可以连接以太网。
[0148] 其中,节点服务器是接入网中起集中控制功能的节点,可控制接入交换机和终端。节点服务器可直接与接入交换机相连,也可以直接与终端相连。
[0149] 类似的,城域网部分的设备也可以分为3类:城域服务器,节点交换机,节点服务器。城域服务器与节点交换机相连,节点交换机可以与多个节点服务器相连。
[0150] 其中,节点服务器即为接入网部分的节点服务器,即节点服务器既属于接入网部分,又属于城域网部分。
[0151] 城域服务器是城域网中起集中控制功能的节点,可控制节点交换机和节点服务器。城域服务器可直接连接节点交换机,也可直接连接节点服务器。
[0152] 由此可见,整个视联网络是一种分层集中控制的网络结构,而节点服务器和城域服务器下控制的网络可以是树型、星型、环状等各种结构。
[0153] 形象地称,接入网部分可以组成统一视频平台(圈中部分),多个统一视频平台可以组成视联网;每个统一视频平台可以通过城域以及广域视联网互联互通。
[0154] 视联网设备分类
[0155] 1.1本发明实施例的视联网中的设备主要可以分为3类:服务器,交换机(包括以太网网关),终端(包括各种机顶盒,编码板,存储器等)。视联网整体上可以分为城域网(或者国家网、全球网等)和接入网。
[0156] 1.2其中接入网部分的设备主要可以分为3类:节点服务器,接入交换机(包括以太网网关),终端(包括各种机顶盒,编码板,存储器等)。
[0157] 各接入网设备的具体硬件结构为:
[0158] 节点服务器:
[0159] 如图8所示,主要包括网络接口模块801、交换引擎模块802、CPU模块803、磁盘阵列模块804。
[0160] 其中,网络接口模块801,CPU模块803、磁盘阵列模块804进来的包均进入交换引擎模块802;交换引擎模块802对进来的包进行查地址表805的操作,从而获得包的导向信息;并根据包的导向信息把该包存入对应的包缓存器806的队列;如果包缓存器806的队列接近满,则丢弃;交换引擎模802轮询所有包缓存器队列,如果满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零。磁盘阵列模块804主要实现对硬盘的控制,包括对硬盘的初始化、读写等操作;CPU模块803主要负责与接入交换机、终端(图中未示出)之间的协议处理,对地址表805(包括下行协议包地址表、上行协议包地址表、数据包地址表)的配置,以及,对磁盘阵列模块804的配置。
[0161] 接入交换机:
[0162] 如图9所示,主要包括网络接口模块(下行网络接口模块901、上行网络接口模块902)、交换引擎模块903和CPU模块904。
[0163] 其中,下行网络接口模块901进来的包(上行数据)进入包检测模块905;包检测模块905检测包的目的地址(DA)、源地址(SA)、数据包类型及包长度是否符合要求,如果符合,则分配相应的流标识符(stream-id),并进入交换引擎模块903,否则丢弃;上行网络接口模块902进来的包(下行数据)进入交换引擎模块903;CPU模块904进来的数据包进入交换引擎模块903;交换引擎模块903对进来的包进行查地址表906的操作,从而获得包的导向信息;如果进入交换引擎模块903的包是下行网络接口往上行网络接口去的,则结合流标识符(stream-id)把该包存入对应的包缓存器907的队列;如果该包缓存器907的队列接近满,则丢弃;如果进入交换引擎模块903的包不是下行网络接口往上行网络接口去的,则根据包的导向信息,把该数据包存入对应的包缓存器907的队列;如果该包缓存器907的队列接近满,则丢弃。
[0164] 交换引擎模块903轮询所有包缓存器队列,在本发明实施例中分两种情形:
[0165] 如果该队列是下行网络接口往上行网络接口去的,则满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零;3)获得码率控制模块产生的令牌。
[0166] 如果该队列不是下行网络接口往上行网络接口去的,则满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零。
[0167] 码率控制模块908是由CPU模块904来配置的,在可编程的间隔内对所有下行网络接口往上行网络接口去的包缓存器队列产生令牌,用以控制上行转发的码率。
[0168] CPU模块904主要负责与节点服务器之间的协议处理,对地址表906的配置,以及,对码率控制模块908的配置。
[0169] 以太网协转网关:
[0170] 如图10所示,主要包括网络接口模块(下行网络接口模块1001、上行网络接口模块1002)、交换引擎模块1003、CPU模块1004、包检测模块1005、码率控制模块1008、地址表
1006、包缓存器1007和MAC添加模块1009、MAC删除模块1010。
[0171] 其中,下行网络接口模块1001进来的数据包进入包检测模块1005;包检测模块1005检测数据包的以太网MAC DA、以太网MAC SA、以太网length or frame type、视联网目的地址DA、视联网源地址SA、视联网数据包类型及包长度是否符合要求,如果符合则分配相应的流标识符(stream-id);然后,由MAC删除模块1010减去MAC DA、MAC SA、length or frame type(2byte),并进入相应的接收缓存,否则丢弃;
[0172] 下行网络接口模块1001检测该端口的发送缓存,如果有包则根据包的视联网目的地址DA获知对应的终端的以太网MAC DA,添加终端的以太网MAC DA、以太网协转网关的MAC SA、以太网length or frame type,并发送。
[0173] 以太网协转网关中其他模块的功能与接入交换机类似。
[0174] 终端:
[0175] 主要包括网络接口模块、业务处理模块和CPU模块;例如,机顶盒主要包括网络接口模块、视音频编解码引擎模块、CPU模块;编码板主要包括网络接口模块、视音频编码引擎模块、CPU模块;存储器主要包括网络接口模块、CPU模块和磁盘阵列模块。
[0176] 1.3城域网部分的设备主要可以分为3类:节点服务器,节点交换机,城域服务器。其中,节点交换机主要包括网络接口模块、交换引擎模块和CPU模块;城域服务器主要包括网络接口模块、交换引擎模块和CPU模块构成。
[0177] 2、视联网数据包定义
[0178] 2.1接入网数据包定义
[0179] 接入网的数据包主要包括以下几部分:目的地址(DA)、源地址(SA)、保留字节、payload(PDU)、CRC。
[0180] 如下表所示,接入网的数据包主要包括以下几部分:
[0181]DA SA Reserved Payload CRC
[0182] 目的地址(DA)由8个字节(byte)组成,第一个字节表示数据包的类型(例如各种协议包、组播数据包、单播数据包等),最多有256种可能,第二字节到第六字节为城域网地址,第七、第八字节为接入网地址。
[0183] 源地址(SA)也是由8个字节(byte)组成,定义与目的地址(DA)相同。
[0184] 保留字节由2个字节组成。
[0185] payload部分根据不同的数据报的类型有不同的长度,如果数据报的类型是各种协议包,则payload部分的长度是64个字节,如果数据报的类型是单组播数据包,则payload部分的长度是32+1024=1056个字节,当然并不仅仅限于以上2种。
[0186] CRC有4个字节组成,其计算方法遵循标准的以太网CRC算法
[0187] 2.2城域网数据包定义
[0188] 城域网的拓扑是图型,两个设备之间可能有2种、甚至2种以上的连接,即节点交换机和节点服务器、节点交换机和节点交换机、节点交换机和节点服务器之间都可能超过2种连接。但是,城域网设备的城域网地址却是唯一的,为了精确描述城域网设备之间的连接关系,在本发明实施例中引入参数:标签,来唯一描述一个城域网设备。
[0189] 本说明书中标签的定义和多协议标签交换(Multi-Protocol Label Switch,MPLS)的标签的定义类似,假设设备A和设备B之间有两个连接,那么数据包从设备A到设备B就有2个标签,数据包从设备B到设备A也有2个标签。标签分入标签、出标签,假设数据包进入设备A的标签(入标签)是0x0000,这个数据包离开设备A时的标签(出标签)可能就变成了0x0001。城域网的入网流程是集中控制下的入网过程,也就意味着城域网的地址分配、标签分配都是由城域服务器主导的,节点交换机、节点服务器都是被动的执行而已,这一点与MPLS的标签分配是不同的,MPLS的标签分配是交换机、服务器互相协商的结果。
[0190] 如下表所示,城域网的数据包主要包括以下几部分:
[0191]DA SA Reserved 标签 Payload CRC
[0192] 即目的地址(DA)、源地址(SA)、保留字节(Reserved)、标签、payload(PDU)、CRC。其中,标签的格式可以参考如下定义:标签是32bit,其中高16bit保留,只用低16bit,它的位置是在数据包的保留字节和payload之间。
[0193] 尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
[0194] 最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈