发明内容
本申请为克服上述技术问题或者至少部分地解决上述技术问题,特提出以下技术方案:
第一方面,本申请提供了一种图像展示方法,该方法包括:
获取子视频码流、以及主视频码流对应的目标对象检测框信息;
获取所述主视频码流的预定图像帧,并确定所述预定图像帧对应的第一时间戳;
确定所述子视频码流的图像帧与所述预定图像帧的差异度,并确定与所述预定图像帧的差异度小于预设阈值的图像帧,得到对应的第二时间戳;
根据所述第二时间戳与所述第一时间戳的时差,将所述目标对象检测框信息对应于所述子视频码流进行图像展示。
在一种可选的实现方式中,所述确定所述子视频码流的图像帧与所述预定图像帧的差异度,包括:
将所述子视频码流的图像帧与所述预定图像帧缩放到同一分辨率;
确定同一分辨率的两个图像帧相应的每个像素的平方差的和;
将所述平方差的和确定为所述子视频码流的图像帧与所述预定图像帧的差异度。
在一种可选的实现方式中,所述确定所述子视频码流的图像帧与所述预定图像帧的差异度之前,还包括:
对获取的子视频码流进行解码,得到所述子视频码流的图像帧。
在一种可选的实现方式中,所述获取所述主视频码流的预定图像帧,并确定所述预定图像帧对应的第一时间戳,包括:
按照预定的时间周期,获取所述主视频码流的预定图像帧,并确定所述预定图像帧对应的第一时间戳。
在一种可选的实现方式中,获取所述主视频码流的预定图像帧,包括:
获取所述主视频码流解码后的预定图像帧。
在一种可选的实现方式中,所述根据所述第二时间戳与所述第一时间戳的时差,将所述目标对象检测框信息对应于所述子视频码流进行图像展示,包括:
针对任一时间戳的目标对象检测框信息,根据所述第二时间戳与所述第一时间戳的时差,提取相应时间戳的子视频码流的图像帧;
将所述任一时间戳的目标对象检测框信息与相应时间戳的子视频码流的图像帧进行融合,并将融合结果进行图像展示。
第二方面,本申请提供了一种图像展示装置,该装置包括:
第一获取模块,用于获取子视频码流、以及主视频码流对应的目标对象检测框信息;
第二获取与确定模块,用于获取所述主视频码流的预定图像帧,并确定所述预定图像帧对应的第一时间戳;
第三确定模块,用于确定所述子视频码流的图像帧与所述预定图像帧的差异度,并确定与所述预定图像帧的差异度小于预设阈值的图像帧,得到对应的第二时间戳;
图像展示模块,用于根据所述第二时间戳与所述第一时间戳的时差,将所述目标对象检测框信息对应于所述子视频码流进行图像展示。
在一种可选的实现方式中,所述第三确定模块具体用于将所述子视频码流的图像帧与所述预定图像帧缩放到同一分辨率;确定同一分辨率的两个图像帧相应的每个像素的平方差的和;将所述平方差的和确定为所述子视频码流的图像帧与所述预定图像帧的差异度。
在一种可选的实现方式中,所述第三确定模块还用于对获取的子视频码流进行解码,得到所述子视频码流的图像帧。
在一种可选的实现方式中,所述获第二获取与确定模块具体用于按照预定的时间周期,获取所述主视频码流的预定图像帧,并确定所述预定图像帧对应的第一时间戳。
在一种可选的实现方式中,所述获第二获取与确定模块具体用于获取所述主视频码流解码后的预定图像帧。
在一种可选的实现方式中,所述图像展示模块具体用于针对任一时间戳的目标对象检测框信息,根据所述第二时间戳与所述第一时间戳的时差,提取相应时间戳的子视频码流的图像帧;将所述任一时间戳的目标对象检测框信息与相应时间戳的子视频码流的图像帧进行融合,并将融合结果进行图像展示。
第三方面,本申请提供了一种电子设备,该电子设备包括:
处理器和存储器,存储器存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如本申请的第一方面所示的方法。
第四方面,本申请提供了一种计算机可读存储介质,计算机存储介质用于存储计算机指令、程序、代码集或指令集,当其在计算机上运行时,使得计算机执行如本申请的第一方面所示的方法。
本申请提供的图像展示方法、装置、电子设备及计算机可读存储介质,获取子视频码流、以及主视频码流对应的目标对象检测框信息;获取主视频码流的预定图像帧,并确定预定图像帧对应的第一时间戳;确定子视频码流的图像帧与预定图像帧的差异度,并确定与预定图像帧的差异度小于预设阈值的图像帧,得到对应的第二时间戳;根据第二时间戳与第一时间戳的时差,将目标对象检测框信息对应于子视频码流进行图像展示。本申请通过主视频码流和子视频码流间相似的图像帧的时间戳来确定主视频码流和子视频码流的时差,将子视频码流和主视频码流对应的目标对象检测框信息一起渲染展示,获得时间同步的展示效果,有效提高视频流处理的准确性。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面将对本申请实施方式作进一步地详细描述。
首先需要说明是,本申请实施例涉及的视频码流(Data Rate),是指视频文件在单位时间内使用的数据流量,也称为码率。通常情况下,一个图像采集设备(例如摄像头、无人机等)可以产生分辨率不同的多个视频码流,每个视频码流携带时间戳等信息。考虑到现有技术中,视频码流自带的时间戳存在时间戳、帧率不匹配等问题,会造成视频码流间的时间误差,本申请实施例提供了一种多视频码流的信息同步方法,能够实现精确的视频码流间的时间同步。
下面结合附图对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。
本申请实施例提供了一种多视频码流的信息同步方法,如图1所示,该方法包括:
步骤S101:获取待进行信息同步的视频码流Dr1至视频码流DrN,N≥2;
步骤S102:确定视频码流Dr1的预定图像帧对应的第1时间戳;
步骤S103:确定视频码流Dr2至视频码流DrN的各个图像帧与预定图像帧的差异度,并确定视频码流Dr2中与预定图像帧的差异度小于预设阈值的图像帧对应的第2时间戳,直至视频码流DrN中与预定图像帧的差异度小于预设阈值的图像帧对应的第N时间戳;
步骤S104:根据第2时间戳至第N时间戳分别与第1时间戳的时差,将视频码流Dr2至视频码流DrN分别对照视频码流Dr1进行信息同步处理。
对于本申请实施例,该方法的执行主体可以为智能设备,其中,智能设备可以包括信息交互模块,还可以包括处理模块和/或显示模块。该智能设备一般的工作流程是,通过信息交互模块从多个图像采集设备或网络接入视频码流,随后,通过处理模块对视频码流进行相应的处理,和/或通过显示模块将视频码流的每帧图像进行展示。本申请实施例中,针对通过信息交互模块从任一个图像采集设备接入的多个视频码流,均可在处理模块对视频码流进行相应的处理之前或之后,和/或在显示模块将视频码流的每帧图像进行展示之前,采用上述步骤S101~步骤S104进行处理。
也就是说,本申请实施例中,待进行信息同步的视频码流Dr1至视频码流DrN为针对同一视频内容生成的不同编码格式的多个视频码流。本领域技术人员应能理解,视频码流Dr1至视频码流DrN是对不同的视频码流进行区分,而非对视频码流的顺序进行限定。
作为示例地,当N=2时,视频码流Dr1至视频码流DrN可以为一路主视频码流和对应的一路子视频码流;当N>2时,视频码流Dr1至视频码流DrN可以为一路主视频码流和对应的多路子视频码流;或者,也可以为其他多视频码流的情况,本申请实施例在此不做限定。
实际应用中,在步骤S101中获取到待进行信息同步的视频码流Dr1至视频码流DrN后,先要对视频码流Dr1至视频码流DrN分别进行解码,再对解码后的视频码流Dr1至视频码流DrN执行步骤S102~步骤S104。
具体而言,步骤S102中,需要确定视频码流Dr1的预定图像帧对应的第1时间戳。其中,视频码流Dr1作为信息同步处理的对照视频码流,可以是从图像采集设备或网络接入的多路视频码流中任一视频码流。实际应用中,可以设定特定视频码流为视频码流Dr1,例如主视频码流;也可以根据预设的算法从多路视频码流中选择一个视频码流做为视频码流Dr1,也可以随机选择多路视频码流中一个视频码流做为视频码流Dr1,本申请实施例在此不做限定。
步骤S102中,视频码流Dr1的预定图像帧是从视频码流Dr1中截取的任一个图像帧。实际应用中,可以设定特定图像帧为视频码流Dr1的预定图像帧,例如第一帧;也可以随机从视频码流Dr1选择一个图像帧做为预定图像帧;还可以根据预设的截取规则从视频码流Dr1的全部图像帧中选择一个图像帧进行截取。例如,在步骤S102之前,按照预定的时间周期,确定视频码流Dr1的预定图像帧。
该方案中,可以每隔一段时间就针对视频码流Dr1中截取的图像帧依次执行步骤S102~步骤S104,以实现对多视频码流的多次信息同步。这是因为多个视频码流之间还会存在码率、帧率不同等问题,使得同步后的视频码流再次产生时间误差。而通过预定的时间周期进行多次时间同步,可以实现视频码流间可靠的信息同步,进一步提高视频流处理的准确性。
实际应用中,本领域技术人员可以根据实际情况对时间周期的长度进行设置,本申请实施例在此不做限定。
进一步地,本申请实施例采用从图像采集设备接入的视频码流自带的时间戳,在确定出视频码流Dr1的预定图像帧后,即可在步骤S102中确定视频码流Dr1的预定图像帧对应的时间戳,为下文中便于描述,在此称为第1时间戳。
可以理解,由于视频码流Dr1至视频码流DrN为针对同一视频内容生成的不同编码格式的视频码流,那么任一视频码流中的任一图像帧都可以在其他视频码流中找到相应的图像帧,只是这些相应的图像帧具有不同的分辨率等特征。基于此,本申请实施例中,在给定预定图像帧的第1时间戳后,需要找到其他视频码流中相应图像帧分别对应的时间戳,用于其他视频码流分别对照视频码流Dr1进行同步。
具体而言,在步骤S103中,确定视频码流Dr2至视频码流DrN的各个图像帧与预定图像帧的差异度,并确定视频码流Dr2中与预定图像帧的差异度小于预设阈值的图像帧对应的第2时间戳,直至视频码流DrN中与预定图像帧的差异度小于预设阈值的图像帧对应的第N时间戳。
也就是说,解码出的视频码流Dr2中的每个图像帧,都需要与视频码流Dr1的预定图像帧进行比对,当与预定图像帧的差异度足够小时,可认为是与预定图像帧相对应的图像帧。本领域技术人员可以根据实际情况对差异度的预设阈值进行设置,以便在视频码流Dr2中确定出一定数量的图像帧,例如通过合适阈值,确定出一张差异度值最小的图像帧,又例如通过合适阈值,确定出若干张差异度值较小的图像帧,再通过一定的算法进行筛选,确定出可能性最高的一张图像帧。同理地,采用图像采集设备接入的视频码流自带的时间戳,即可得到视频码流Dr2中确定出的图像帧对应的时间戳,为下文中便于描述,在此称为第2时间戳。以及,视频码流Dr3至视频码流DrN均可参照视频码流Dr2进行处理,在此不再赘述。
本申请实施例中,第1时间戳至第N时间戳仅表针对不同视频码流确定出来的时间戳作出区分,而不能理解对时间戳的值的限定,实际应用中,第1时间戳至第N时间戳的值可以相同也可以不同,在此不做限定。
进一步地,本申请实施例为两个图像帧之间的差异度的计算提供了一种可能的实现方式,即确定任一视频码流的任一图像帧与预定图像帧的差异度的方式,包括:将任一图像帧与预定图像帧缩放到同一分辨率;确定同一分辨率的两个图像帧相应的每个像素的平方差的和;将平方差的和确定为任一图像帧与预定图像帧的差异度,这样,差异度越小,则表示两个图像帧越相近。
可替换地,在步骤S103中,可以确定视频码流Dr2至视频码流DrN的各个图像帧与预定图像帧的相似度,并确定视频码流Dr2中与预定图像帧的相似度大于预设阈值的图像帧对应的第2时间戳,直至视频码流DrN中与预定图像帧的相似度大于预设阈值的图像帧对应的第N时间戳,具体的实现方式可参见上文中通过差异度进行处理的过程,在此不再赘述。
本申请实施例中,通过步骤S102和步骤S103中,即可得到相应的图像帧在视频码流Dr1至视频码流DrN中分别对应的时间戳,进而便可执行步骤S104。
具体地,步骤S104中,根据第2时间戳至第N时间戳分别与第1时间戳的时差,将视频码流Dr2至视频码流DrN分别对照视频码流Dr1进行信息同步处理。其中,第2时间戳与第1时间戳的时差,即第2时间戳的值与第1时间戳的值的差值,根据该差值,即可确定出视频码流Dr1与视频码流Dr2的时间误差,后续便可依据该时间误差将视频码流Dr1与视频码流Dr2进行信息同步处理。以及,视频码流Dr3至视频码流DrN均可参照视频码流Dr2进行处理,在此不再赘述。
本申请实施例提供的多视频码流的信息同步方法,通过确定不同视频码流间图像帧的差异度或相似度,来查找不同视频码流中分辨率不同的相似图像帧,以便根据这些相似的图像帧的时间戳来确定视频码流间的时差,进而实现多个视频码流间的信息同步,有效提高视频流处理的准确性。
本申请实施例中,提供了一种多路视频码流的视频接入在人工智能场景中的应用。具体地,在视频数据量过于庞大的情况下,为了减轻服务器或终端设备计算压力,存在一种智能计算单元,能够对图像采集设备接入的视频数据进行实时解析,例如运行人脸识别算法、车辆监控算法等,从而精简传输到服务器或终端设备的数据量。
以人脸识别算法为例,智能计算单元接入多路IPC的主视频码流,经过算法处理得到人脸框。服务器或终端设备(例如通过浏览器、管理员客户端等,下文中为便于描述,统一用浏览器进行介绍)利用网络访问智能计算单元,得到主视频码流和人脸框后,渲染到界面上。浏览器获取到多路主视频码流后,可能由于解码能力不足(分辨率、编码方式、码率等都会影响解码能力),导致渲染失败。如果浏览器获取的是子视频码流和人脸框,虽然解码能力足够,但因为现有技术中存在的主视频码流和子视频码流不同步的问题,可能会导致人脸框与展示图像不匹配,展示效果糟糕。
基于此,为了获得时间同步的展示效果,本申请实施例提供了一种图像展示方法,如图2所示,该方法包括:
步骤S201:获取子视频码流、以及主视频码流对应的目标对象检测框信息;
步骤S202:确定子视频码流的图像帧与预定图像帧的差异度,并确定与预定图像帧的差异度小于预设阈值的图像帧,得到对应的第二时间戳;
步骤S203:确定子视频码流的图像帧与预定图像帧的差异度,并确定与预定图像帧的差异度小于预设阈值的图像帧,得到对应的第二时间戳;
步骤S204:根据第二时间戳与第一时间戳的时差,将目标对象检测框信息对应于子视频码流进行图像展示。
对于本申请实施例,该方法的执行主体可以为服务器或终端设备,其中,服务器或终端设备可以包括信息交互模块和显示模块。通过信息交互模块从智能计算单元接入视频码流和目标对象检测框信息,随后,通过显示模块进行展示。
实际应用中,对于智能计算单元的不同使用场景,目标对象可以为人脸、车辆、人像等,即目标对象检测框信息可以为人脸框信息等,本申请实施例对此不作限定。
本申请实施例中,由智能计算单元解码主视频码流,并生成主视频码流对应的目标对象检测框信息。也就是说,在步骤S201中,服务器或终端设备从智能计算单元或图像采集设备接入子视频码流,从智能计算单元获取主视频码流对应的目标对象检测框信息。在步骤S202中,服务器或终端设备从智能计算单元获取主视频码流解码后的预定图像帧进行主视频码流的目标对象检测框信息与子视频码流的信息同步,在提升展示效果的同时,减小对服务器或终端设备解码能力的要求。那么,在步骤S203之前,还需要对获取的子视频码流进行解码,得到子视频码流的图像帧。
本申请实施例的步骤S202中,需要确定预定图像帧对应的第一时间戳。其中,预定图像帧是从主视频码流中截取的任一个图像帧。实际应用中,可以设定特定图像帧为主视频码流的预定图像帧,例如第一帧;也可以随机从主视频码流种选择一个图像帧做为预定图像帧;还可以根据预设的截取规则从主视频码流的全部图像帧中选择一个图像帧为预定图像帧。例如,在步骤S202之前,按照预定的时间周期,获取主视频码流的预定图像帧,并确定预定图像帧对应的第一时间戳。
该方案中,可以定期针对主视频码流中截取的图像帧依次执行步骤S202~步骤S204,以实现对主视频码流和子视频码流的多次信息同步。这是因为两个视频码流之间还会存在码率、帧率不同等问题,使得同步后的视频码流再次产生时间误差。而通过预定的时间周期进行多次时间同步,可以实现视频码流间可靠的信息同步,进一步提高视频流处理的准确性。实际应用中,本领域技术人员可以根据实际情况对时间周期的长度进行设置,本申请实施例在此不做限定。
进一步地,本申请实施例采用主视频码流自带的时间戳,在确定出主视频码流的预定图像帧后,即可在步骤S202中确定预定图像帧对应的时间戳,为下文中便于描述,在此称为第一时间戳。
结合上文可知,主视频码流中的任一图像帧都可以在子视频码流中找到相应的图像帧。基于此,本申请实施例中,在给定预定图像帧的第一时间戳后,需要找到子视频码流中相应图像帧对应的时间戳,用于对照主视频码流进行同步。
具体而言,在步骤S203中,确定子视频码流的图像帧与预定图像帧的差异度,并确定与预定图像帧的差异度小于预设阈值的图像帧,得到对应的第二时间戳。
实际应用中,可以确定子视频码流的各个图像帧与预定图像帧的差异度。也就是说,解码出的子视频码流中的每个图像帧,都需要与主视频码流的预定图像帧进行比对,保证识别的精度。或者,考虑到可能存在多帧变化较小的视频帧,可以采取一定的提取规则,例如在按照预定的提取频率,从子视频码流中提取多个图像帧,以减小设备的计算量,进而在步骤S203中,确定子视频码流的多个图像帧与预定图像帧的差异度。
当与预定图像帧的差异度足够小时,可认为是子视频码流中与预定图像帧相对应的图像帧。本领域技术人员可以根据实际情况对差异度的预设阈值进行设置,以便在子视频码流中确定出一定数量的图像帧,例如通过合适阈值,确定出一张差异度值最小的图像帧。又例如通过合适阈值,确定出若干张差异度值较小的图像帧,再通过一定的算法进行筛选,确定出可能性最高的一张图像帧。或者,考虑到通过阈值的设置,若确定出多张差异度值较小的图像帧,此时这些图像帧之间的差异度也较小,任选一张与主视频码流的目标对象检测框信息也可实现匹配的展示效果,因此也可在多张差异度值较小的图像帧中随机选取一张。进一步地,采用子视频码流自带的时间戳,即可得到子视频码流中确定出的图像帧对应的时间戳,为下文中便于描述,在此称为第二时间戳。
本申请实施例中,第一时间戳和第二时间戳仅仅是对不同视频码流确定出来的时间戳作出区分,而不能理解对时间戳的值的限定,实际应用中,第一时间戳和第二时间戳的值可以相同也可以不同,在此不做限定。
本申请实施例为两个图像帧之间的差异度的计算提供了一种可能的实现方式,即确定子视频码流的图像帧与预定图像帧的差异度的方式,包括:将子视频码流的图像帧与预定图像帧缩放到同一分辨率;确定同一分辨率的两个图像帧相应的每个像素的平方差的和;将平方差的和确定为子视频码流的图像帧与预定图像帧的差异度,这样,差异度越小,则表示两个图像帧越相近。可以理解,子视频码流中选取的每个图像帧均可分别采用该方式进行处理,以确定和预定图像帧的相似度。
可替换地,在步骤S203中,确定子视频码流的各个图像帧与预定图像帧的相似度,并确定与预定图像帧的相似度大于预设阈值的图像帧对应的第二时间戳。具体的实现方式,可以通过直方图匹配、图像矩阵分解、基于特征点的相似度计算等方式来计算图像的相似度,也可参见上文中通过差异度进行处理的过程,在此不再赘述。
本申请实施例中,通过步骤S202和步骤S303中,即可得到相应的图像帧在主视频码流和子视频码流中分别对应的时间戳,进而便可执行步骤S204。
具体地,步骤S204中,根据第二时间戳与第一时间戳的时差,将目标对象检测框信息对应于子视频码流进行图像展示。其中,第二时间戳与第一时间戳的时差,即第二时间戳的值与第一时间戳的值的差值,根据该差值,即可确定出主视频码流和子视频码流的时间误差,后续便可依据该时间误差将主视频码流和子视频码流进行信息同步处理。由于目标对象检测框信息与主视频码流同步,浏览器展示子视频码流图像时,便可使用相应时差的目标对象检测框信息与子视频码流图像帧合并展示。
具体而言,可以针对任一时间戳的目标对象检测框信息,根据第二时间戳与第一时间戳的时差,提取相应时间戳的子视频码流的图像帧;将任一时间戳的目标对象检测框信息与相应时间戳的子视频码流的图像帧进行融合,并将融合结果进行图像展示。
作为示例地,若确定出预定图像帧A1的第一时间戳为T1,子视频码流中与预定图像帧相对应的图像帧A2的第二时间戳为T2,则第二时间戳与第一时间戳的时差△T=T2-T1。那么,针对任一时间戳t1的目标对象检测框信息,根据第△T,确定需要提取的子视频码流的图像帧的时间戳t2=t1+△T,继而将时间戳为t1的目标对象检测框信息与子视频码流中时间戳为t2的图像帧进行融合,并将融合结果进行图像展示,即可得到时间同步的展示效果。实际应用中,针对不同时间戳的目标对象检测框信息均可按照该过程进行同步,在此不再赘述。
本申请实施例提供的图像展示方法,通过确定主视频码流和子视频码流间图像帧的差异度或相似度,来查找主视频码流和子视频码流中分辨率不同的相似图像帧,以便根据这些相似的图像帧的时间戳来确定主视频码流和子视频码流的时差,将子视频码流和主视频码流对应的目标对象检测框信息一起渲染展示,获得时间同步的展示效果,同时减小对服务器或终端设备计算能力的要求。
本申请实施例还提供了一种多视频码流的信息同步装置,如图3所示,该信息同步装置30可以包括:获取模块301、第一确定模块302、第二确定模块303和信息同步模块304,其中,
获取模块301用于获取待进行信息同步的视频码流Dr1至视频码流DrN,N≥2;
第一确定模块302用于确定视频码流Dr1的预定图像帧对应的第1时间戳;
第二确定模块303用于确定视频码流Dr2至视频码流DrN的各个图像帧与预定图像帧的差异度,并确定视频码流Dr2中与预定图像帧的差异度小于预设阈值的图像帧对应的第2时间戳,直至视频码流DrN中与预定图像帧的差异度小于预设阈值的图像帧对应的第N时间戳;
信息同步模块304用于根据第2时间戳至第N时间戳分别与第1时间戳的时差,将视频码流Dr2至视频码流DrN分别对照视频码流Dr1进行信息同步处理。
在一种可选的实现方式中,第二确定模块303具体用于将任一图像帧与预定图像帧缩放到同一分辨率;确定同一分辨率的两个图像帧相应的每个像素的平方差的和;将平方差的和确定为任一图像帧与预定图像帧的差异度。
在一种可选的实现方式中,第一确定模块302还用于按照预定的时间周期,确定视频码流Dr1的预定图像帧。
本申请实施例提供的多视频码流的信息同步装置,通过确定不同视频码流间图像帧的差异度或相似度,来查找不同视频码流中分辨率不同的相似图像帧,以便根据这些相似的图像帧的时间戳来确定视频码流间的时差,进而实现多个视频码流间的信息同步,有效提高视频流处理的准确性。
所属领域的技术人员可以清楚地了解到,本申请实施例提供的多视频码流的信息同步装置,其实现原理及产生的技术效果和前述方法实施例相同,为描述的方便和简洁,装置实施例部分未提及之处,可参考前述方法实施例中相应内容,在此不再赘述。
本申请实施例还提供了一种图像展示装置,如图4所示,该图像展示装置40可以包括:第一获取模块401、第二获取与确定模块402、第三确定模块403和图像展示模块404,其中,
第一获取模块401用于获取子视频码流、以及主视频码流对应的目标对象检测框信息;
第二获取与确定模块402用于获取主视频码流的预定图像帧,并确定预定图像帧对应的第一时间戳;
第三确定模块403用于确定子视频码流的图像帧与预定图像帧的差异度,并确定与预定图像帧的差异度小于预设阈值的图像帧,得到对应的第二时间戳;
图像展示模块404用于根据第二时间戳与第一时间戳的时差,将目标对象检测框信息对应于子视频码流进行图像展示。
在一种可选的实现方式中,第三确定模块403具体用于将子视频码流的图像帧与预定图像帧缩放到同一分辨率;确定同一分辨率的两个图像帧相应的每个像素的平方差的和;将平方差的和确定为子视频码流的图像帧与预定图像帧的差异度。
在一种可选的实现方式中,第三确定模块403还用于对获取的子视频码流进行解码,得到子视频码流的图像帧。
在一种可选的实现方式中,获第二获取与确定模块402具体用于按照预定的时间周期,获取主视频码流的预定图像帧,并确定预定图像帧对应的第一时间戳。
在一种可选的实现方式中,获第二获取与确定模块402具体用于获取主视频码流解码后的预定图像帧。
在一种可选的实现方式中,图像展示模块404具体用于针对任一时间戳的目标对象检测框信息,根据第二时间戳与第一时间戳的时差,提取相应时间戳的子视频码流的图像帧;将任一时间戳的目标对象检测框信息与相应时间戳的子视频码流的图像帧进行融合,并将融合结果进行图像展示。
本申请实施例提供的图像展示装置,通过确定主视频码流和子视频码流间图像帧的差异度或相似度,来查找主视频码流和子视频码流中分辨率不同的相似图像帧,以便根据这些相似的图像帧的时间戳来确定主视频码流和子视频码流的时差,将子视频码流和主视频码流对应的目标对象检测框信息,一起渲染展示,获得时间同步的展示效果,同时减小对服务器或终端设备计算能力的要求。
所属领域的技术人员可以清楚地了解到,本申请实施例提供的图像展示装置,其实现原理及产生的技术效果和前述方法实施例相同,为描述的方便和简洁,装置实施例部分未提及之处,可参考前述方法实施例中相应内容,在此不再赘述。
本申请实施例还提供了一种电子设备(计算设备),如图5所示,图5所示的电子设50包括:处理器501和存储器502,存储器502存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集由处理器501加载并执行以实现前述任一方法实施例中相应内容。
可选地,电子设备50还可以包括收发器503。处理器501和收发器503相连,如通过总线504相连。需要说明的是,实际应用中收发器503不限于一个,该电子设备50的结构并不构成对本申请实施例的限定。
其中,处理器501可以是CPU,通用处理器,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器501也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线504可包括一通路,在上述组件之间传送信息。总线504可以是PCI总线或EISA总线等。总线504可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器502可以是ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM、CD-ROM或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
本申请实施例还提供了一种计算机可读存储介质,该计算机存储介质用于存储计算机指令,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。