CN112929694B - 视频拼接方法、装置、存储介质、计算机设备 - Google Patents

视频拼接方法、装置、存储介质、计算机设备 Download PDF

Info

Publication number
CN112929694B
CN112929694B CN202110089157.6A CN202110089157A CN112929694B CN 112929694 B CN112929694 B CN 112929694B CN 202110089157 A CN202110089157 A CN 202110089157A CN 112929694 B CN112929694 B CN 112929694B
Authority
CN
China
Prior art keywords
video
time stamp
variance
frames
preset
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
Application number
CN202110089157.6A
Other languages
English (en)
Other versions
CN112929694A (zh
Inventor
陈科
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Cubesili Information Technology Co Ltd
Original Assignee
Guangzhou Cubesili Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Cubesili Information Technology Co Ltd filed Critical Guangzhou Cubesili Information Technology Co Ltd
Priority to CN202110089157.6A priority Critical patent/CN112929694B/zh
Publication of CN112929694A publication Critical patent/CN112929694A/zh
Application granted granted Critical
Publication of CN112929694B publication Critical patent/CN112929694B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

本发明提供的视频拼接方法、装置、存储介质、计算机设备,包括:按照预设的采集帧率采集多路视频数据,并将各路视频数据送入对应的缓存区进行存储;其中,所述视频数据包括视频帧以及对应的时间戳;提取各个缓存区中预设帧数的视频帧对应的时间戳,根据所述时间戳计算所有的缓存区中各个视频帧对应的时间戳方差,并选取其中最小的时间戳方差对应的视频帧构建索引;在进行视频拼接时,将各个缓存区中索引相同的最新的视频帧进行拼接,得到全景视频;本发明相对传统的技术方案不仅减小了采集数据间的时间间隔,还能够有效降低鬼影现象,提高全景画面的显示效果,并提升用户体验。

Description

视频拼接方法、装置、存储介质、计算机设备
技术领域
本发明涉及图像处理技术领域,尤其涉及一种视频拼接方法、装置、存储介质、计算机设备。
背景技术
全景视频是一种用3D摄像机进行全方位360度进行拍摄的视频,用户在观看视频的时候,可以随意调节视频上下左右进行观看。目前,全景视频运用在多种场景中,例如全景视频直播场景。
在全景视频直播场景中,一般使用多路摄像头采集影像,并将采集到的画面进行拼接后形成全景画面。但是,在使用多路的摄像头进行采集时,由于不同摄像头的采集画面存在较大的时间差异,容易导致拼接后的全景画面的拼缝附近出现明显的鬼影现象,影响全景画面的显示效果,用户体验感较差。
发明内容
本发明的目的旨在至少能解决上述的技术缺陷之一,特别是现有技术中由于不同摄像头的采集画面存在较大的时间差异,容易导致拼接后的全景画面的拼缝附近出现明显的鬼影现象,影响全景画面的显示效果,用户体验感较差的技术缺陷。
本发明提供了一种视频拼接方法,所述方法包括:
按照预设的采集帧率采集多路视频数据,并将各路视频数据送入对应的缓存区进行存储;其中,所述视频数据包括视频帧以及对应的时间戳;
提取各个缓存区中预设帧数的视频帧对应的时间戳,根据所述时间戳计算所有的缓存区中各个视频帧对应的时间戳方差,并选取其中最小的时间戳方差对应的视频帧构建索引;
在进行视频拼接时,将各个缓存区中索引相同的最新的视频帧进行拼接,得到全景视频。
可选地,所述预设的采集帧率不小于视频拼接时的拼接帧率。
可选地,根据所述时间戳计算所有的缓存区中各个视频帧对应的时间戳方差的步骤,包括:
选取每个缓存区中任意一个视频帧对应的时间戳组成时间戳组,根据所述时间戳组中的时间戳以及时间戳数目计算对应的时间戳方差,遍历所述缓存区中的视频数据,直到所有的缓存区中的时间戳方差均计算完毕为止。
可选地,根据所述时间戳组中的时间戳以及时间戳数目计算对应的时间戳方差的步骤之后,还包括:
将所述时间戳方差与预设方差之间进行比对,若所述时间戳方差小于所述预设方差,则依据所述时间戳方差更新所述预设方差。
可选地,所述选取其中最小的时间戳方差对应的视频帧组构建索引的步骤,包括:
选取最终预设方差对应的时间戳组中的视频帧作为标准组来创建索引。
可选地,所述选取其中最小的时间戳方差对应的视频帧构建索引的步骤之后,还包括:
继续采集多路视频数据,并依据所述视频数据中最小的时间戳方差对应的视频帧以及所述标准组赋值索引。
可选地,所述在进行视频拼接时,将各个缓存区中索引相同的最新的视频帧进行拼接,得到全景视频的步骤之后,还包括:
定时提取各个缓存区中预设帧数的视频帧对应的时间戳,根据所述时间戳计算所有的缓存区中各个视频帧对应的时间戳方差,并选取其中最小的时间戳方差对应的视频帧构建索引,依据所述索引修正上一次构建的索引。
本发明还提供了一种视频拼接装置,包括:
数据采集模块,用于按照预设的采集帧率采集多路视频数据,并将各路视频数据送入对应的缓存区进行存储;其中,所述视频数据包括视频帧以及对应的时间戳;
索引创建模块,用于提取各个缓存区中预设帧数的视频帧对应的时间戳,根据所述时间戳计算所有的缓存区中各个视频帧对应的时间戳方差,并选取其中最小的时间戳方差对应的视频帧构建索引;
视频拼接模块,用于在进行视频拼接时,将各个缓存区中索引相同的最新的视频帧进行拼接,得到全景视频。
本发明还提供了一种存储介质,所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上述实施例中任一项所述视频拼接方法的步骤。
本发明还提供了一种计算机设备,所述计算机设备中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上述实施例中任一项所述视频拼接方法的步骤。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明提供的一种视频拼接方法、装置、存储介质、计算机设备,包括:按照预设的采集帧率采集多路视频数据,并将各路视频数据送入对应的缓存区进行存储;其中,所述视频数据包括视频帧以及对应的时间戳;提取各个缓存区中预设帧数的视频帧对应的时间戳,根据所述时间戳计算所有的缓存区中各个视频帧对应的时间戳方差,并选取其中最小的时间戳方差对应的视频帧构建索引;在进行视频拼接时,将各个缓存区中索引相同的最新的视频帧进行拼接,得到全景视频。
本发明中,在视频拼接的时候,传统的技术方案是将每路视频中最新的视频帧进行拼接,而本方案则是通过设置相应的采集帧率来采集各路视频数据,并计算各路视频帧的时间戳方差,获得采集时间最相近的一组采集数据,并依此为依据,给每帧视频数据打上索引,最终根据相同索引来选取视频帧进行拼接,相对传统的技术方案不仅减小了采集数据间的时间间隔,还能够有效降低鬼影现象,提高全景画面的显示效果,并提升用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的应用环境示意图;
图2为本发明实施例提供的一种视频拼接方法的流程示意图;
图3为本发明实施例提供的一种视频拼接装置的结构示意图;
图4为本发明实施例提供的一种计算机设备的内部结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像本申请实施例中一样被特定定义,否则不会用理想化或过于正式的含义来解释。
全景视频是一种用3D摄像机进行全方位360度进行拍摄的视频,用户在观看视频的时候,可以随意调节视频上下左右进行观看。目前,全景视频运用在多种场景中,例如全景视频直播场景。
在全景视频直播场景中,一般使用多路摄像头采集影像,并将采集到的画面进行拼接后形成全景画面。但是,在使用多路的摄像头进行采集时,由于不同摄像头的采集画面存在较大的时间差异,容易导致拼接后的全景画面的拼缝附近出现明显的鬼影现象,影响全景画面的显示效果,用户体验感较差。
综上,本发明的目的在于解决现有技术中由于不同摄像头的采集画面存在较大的时间差异,容易导致拼接后的全景画面的拼缝附近出现明显的鬼影现象,影响全景画面的显示效果,用户体验感较差的技术问题。
下面具体说明本发明的应用环境,参考图1所示,图1是本发明实施例提供的应用环境图;本申请的技术方案可以基于移动终端102上实现,如图1中,移动终端102按照预设的采集帧率采集多路摄像头101中的视频数据,并将各路视频数据送入对应的缓存区进行存储,以实现相关功能;在本申请实施例中,在视频拼接时,移动终端102按照预设的采集帧率采集多路视频数据,并将各路视频数据送入对应的缓存区进行存储,然后提取各个缓存区中预设帧数的视频帧对应的时间戳,根据所述时间戳计算所有的缓存区中各个视频帧对应的时间戳方差,并选取其中最小的时间戳方差对应的视频帧构建索引,从而在进行视频拼接时,将各个缓存区中索引相同的最新的视频帧进行拼接,实现视频拼接功能。
需要说明的是,这里的移动终端102可以是手机、智能手表等,本申请还可以基于全景相机内、pc电脑、服务器等具有存储功能的设备上实现;另外,本申请中采集多路视频数据的方式包括但不限于采集卡、网络视频流、USB、蓝牙等。
下面将通过多个实施例来对本发明的具体实现过程进行阐述:
在一个实施例中,如图2所示,图2为本发明实施例提供的一种视频拼接方法的流程示意图,本发明提供了一种视频拼接方法,具体包括如下步骤:
S110:按照预设的采集帧率采集多路视频数据,并将各路视频数据送入对应的缓存区进行存储;其中,所述视频数据包括视频帧以及对应的时间戳。
本步骤中,当需要使用全景视频进行相关场景的应用时,需要通过多路摄像头采集视频数据,并将采集到的视频数据进行拼接后形成全景视频。例如,在直播场景中使用全景视频进行直播时,需要通过多路摄像头采集视频流,然后将多路视频流进行拼接,形成全景视频并直播。
因此,在进行全景视频拼接之前,需要先采集多路视频数据,然后将各路视频数据送入对应的缓存区进行存储,以便后续对多路视频数据进行相应的处理后拼接。
进一步地,本申请中在采集多路视频数据之前,需要预先设置相应的采集帧率,该采集帧率的设置与视频拼接时的拼接帧率相关;举例来说,若采集帧率越大,则每帧间隔越小,时间戳越相近,而拼接帧率与采集帧率相差越大,则越能取到时间戳更相近的数据。
更进一步地,当通过预设的采集帧率采集到多路视频数据后,可通过相应的缓存区对多路视频数据进行存储,即对应每一路采集的视频数据均会有一个对应的缓存区存储视频数据,并且,缓存区大小可根据需要动态调整,每一个缓存数据均带有一个索引,这里的索引是一个初始值,可为0,通过后续筛选相应的缓存数据后会重新赋值,得到每个缓存数据的索引。
可以理解的是,本步骤中采集摄像头中的视频数据后可通过多种方式发送至移动终端或服务器或全景相机内,该多种方式包含但不限于采集卡、网络视频流、USB、蓝牙等,并且,采集的视频数据包括连续的视频帧,每个视频帧均带有一个当前的采集时间戳。
S120:提取各个缓存区中预设帧数的视频帧对应的时间戳,根据所述时间戳计算所有的缓存区中各个视频帧对应的时间戳方差,并选取其中最小的时间戳方差对应的视频帧构建索引。
本步骤中,当通过步骤S110采集多路摄像头中的视频数据,并将多路视频数据存储至相应的缓存区后,可提取各个缓存区中预设帧数的视频帧对应的时间戳,利用提取的时间戳来计算所有的缓存区中各个视频帧对应的时间戳方差,然后选取所有的时间戳方差中数值最小的,以此来构建相应的索引。
由于本申请的目的是计算出每路视频数据中时间戳最相近的视频帧,并将各路视频数据中时间戳最相近的视频帧组合成一组采集数据,依此为依据,给缓存的每组采集数据打上索引,后续通过索引相同的采集数据进行视频拼接,可以避免鬼影现象。
因此,在提取到各个缓存区中预设帧数的视频帧对应的时间戳后,可利用提取的时间戳来计算所有的缓存区中各个视频帧对应的时间戳方差,然后找到其中数值最小的时间戳方差作为各路视频数据中时间戳最相近的视频帧,组合成一组采集数据,依据该采集数据来构建相应的索引。
进一步地,在提取各个缓存区中的视频帧对应的时间戳时,可预先设置采集的帧数进行提取。假设有N路视频数据,从当前时间开始,取每个缓存区中连续5帧的视频数据作为时间戳方差的计算基础,然后在每个缓存区的视频数据中取一个数据的时间戳出来,计算其对应的时间戳方差,等到所有的缓存区中的视频数据均计算完毕,则选取数值最小的时间戳方差对应的视频数据构建索引。
举例来说,假设有N组视频数据,每组有5帧视频帧,计算时间戳方差时,可从第一组取第一个视频帧对应的时间戳,第二组取第一个视频帧对应的时间戳……第N组取第一个视频帧对应的时间戳,然后使用方差公式:平均值=(数1+数2+…数N)/N,方差=(数1-平均值)的平方+(数2-平均值)的平方+…+(数N-平均值)的平方,计算得到第一组第一个视频帧与其他组第一个视频帧对应的时间戳方差。
接着,从第一组取第二个视频帧对应的时间戳,第二组取第一个视频帧对应的时间戳……第N组取第一个视频帧对应的时间戳,然后使用方差公式计算得到第一组第二个视频帧与其他组第一个视频帧对应的时间戳方差。
以此类推,最终每个组的视频数据都与其他组的所有数据计算过一次,以此来获得各路视频数据中时间戳最相近的视频帧。
可以理解的是,这里的5帧取的是一个较为适当的值,也可为其他帧数,但如果少于5帧,比如3帧,那么计算结果可能会因为一些外部问题,比如相机启动慢了等导致的数据误差较大,如果帧数取多了,则整个流程总时间就会跟着帧数变多而变长,让用户等待过久。
S130:在进行视频拼接时,将各个缓存区中索引相同的最新的视频帧进行拼接,得到全景视频。
本步骤中,当通过步骤S120将各路视频数据中时间戳最相近的视频帧组合成一组采集数据,依此为依据,给缓存的每组采集数据打上索引后,可在进行视频拼接时,将各个缓存区中索引相同的最新的视频帧进行拼接,得到全景视频。
具体地,由于本申请步骤S110中在采集多路视频数据时预先设置了相应的采集帧率,且该采集帧率与视频拼接时的拼接帧率相关,如采集帧率大于拼接帧率,此时,进行视频拼接的话,缓存区中已经保存了多次采集到的视频数据,且每次采集的视频数据均通过步骤S120查找到各路视频数据中时间戳最相近的视频帧并打上索引。因而,在进行视频拼接时,可将各个缓存区中索引相同的最新的视频帧进行拼接,从而得到相应的全景视频。
可以理解的是,这里的最新指的是在进行视频拼接时更新的最新的一组视频帧,比如需要拼接的时候,缓存区内已经不止有一组数据了,可能有索引是87、88、89的三组数据,那么就取索引是89的数据去拼接,87、88的则不要了。
上述实施例中,在视频拼接的时候,传统的技术方案是将每路视频中最新的视频帧进行拼接,而本方案则是通过设置相应的采集帧率来采集各路视频数据,并计算各路视频帧的时间戳方差,获得采集时间最相近的一组采集数据,并依此为依据,给每帧视频数据打上索引,最终根据相同索引来选取视频帧进行拼接,相对传统的技术方案不仅减小了采集数据间的时间间隔,还能够有效降低鬼影现象,提高全景画面的显示效果,并提升用户体验。
在一个实施例中,所述预设的采集帧率不小于视频拼接时的拼接帧率。
本实施例中,由于采集帧率越大,则每帧间隔越小,时间戳越相近,而拼接帧率与采集帧率相差越大,则越能取到时间戳更相近的数据。因此,本申请中在采集多路视频数据之前,需要预先设置相应的采集帧率,且该采集帧率不小于视频拼接时的拼接帧率,以此来进一步提升全景视频的显示效果,减小鬼影出现的可能性。
在一个实施例中,步骤S120中根据所述时间戳计算所有的缓存区中各个视频帧对应的时间戳方差的步骤,可以包括:
S121:选取每个缓存区中任意一个视频帧对应的时间戳组成时间戳组,根据所述时间戳组中的时间戳以及时间戳数目计算对应的时间戳方差,遍历所述缓存区中的视频数据,直到所有的缓存区中的时间戳方差均计算完毕为止。
本实施例中,为了计算出每路视频数据中时间戳最相近的视频帧,并将各路视频数据中时间戳最相近的视频帧组合成一组采集数据,依此为依据,给缓存的每组采集数据打上索引,可在提取到各个缓存区中预设帧数的视频帧对应的时间戳后,利用提取的时间戳来计算所有的缓存区中各个视频帧对应的时间戳方差。
具体地,在计算时间戳方差时,可选取每个缓存区中任意一个视频帧对应的时间戳组成时间戳组,然后根据该时间戳组中的时间戳以及时间戳数目计算对应的时间戳方差,接着遍历缓存区中的视频数据,直到所有的缓存区中的时间戳方差均计算完毕为止。
举例来说,假设有N组视频数据,每组有5帧视频帧,计算时间戳方差时,可从第一组取第一个视频帧对应的时间戳,第二组取第一个视频帧对应的时间戳……第N组取第一个视频帧对应的时间戳,然后使用方差公式计算得到第一组第一个视频帧与其他组第一个视频帧对应的时间戳方差。接着,从第一组取第二个视频帧对应的时间戳,第二组取第一个视频帧对应的时间戳……第N组取第一个视频帧对应的时间戳,然后使用方差公式计算得到第一组第二个视频帧与其他组第一个视频帧对应的时间戳方差。以此类推,获得各路视频数据中时间戳最相近的视频帧。
继续遍历数据,重复上述计算过程。例如,有N帧数据,那么会有(N-1)*5*5次计算,即:第一次计算:从第一组取第一个数、第二组取第一个数、第N组取第一个数;第二次计算:从第一组取第二个数、第二组取第一个数、第N组取第一个数……第五次计算:从第一组取第五个数、第二组取第一个数、第N组取第一个数;第六次计算:从第一组取第一个数、第二组取第二个数、第N组取第一个数……第(N-1)*5*5次计算:从第一组取第五个数、第二组取第五个数、第N组取第五个数;每组的数据都与其他组的所有数据计算过一次,以此来获得各路视频数据中时间戳最相近的视频帧。
在一个实施例中,步骤S121中根据所述时间戳组中的时间戳以及时间戳数目计算对应的时间戳方差的步骤之后,还可以包括:
S211:将所述时间戳方差与预设方差之间进行比对,若所述时间戳方差小于所述预设方差,则依据所述时间戳方差更新所述预设方差。
本实施例中,在计算时间戳方差之前,可以设置预设方差,即定义最小方差变量min_Variance,初始值设为1000000,然后每个缓存区中取一个视频数据的时间戳出来计算时间戳方差,如果比min_Variance小,则更新该时间戳方差的值到min_Variance,即作为新的预设方差。
需要说明的是,由于本申请是为了计算出每路视频数据中时间戳最相近的视频帧,并将各路视频数据中时间戳最相近的视频帧组合成一组采集数据,依此为依据,给缓存的每组采集数据打上索引。因此,若某组视频数据计算得到的时间戳方差比预设方差大,则该组数据不是我们要找的数据,我们的目的是找出时间戳方差最小的一组数据,不是的话就继续计算,最后遍历完所有的视频数据后,计算的时间戳方差肯定有一个比预设的小,该时间戳方差对应的视频数据即为每路视频数据中时间戳最相近的视频帧。
在一个实施例中,步骤S120中选取其中最小的时间戳方差对应的视频帧构建索引的步骤,可以包括:
S122:选取最终预设方差对应的时间戳组中的视频帧作为标准组来创建索引。
本实施例中,在每一次计算时间戳方差后,都需要将该时间戳方差与预设方差进行比对,若小于预设方差,则将该时间戳方差作为下一次计算的时间戳方差的比对值,若大于预设方差,则继续将预设方差作为下一次计算的时间戳方差的比对值。因而,在计算完所有的缓存区中的各个视频数据对应的时间戳方差后,可选取最终预设方差对应的时间戳组中的视频帧作为标准组来创建索引。
需要说明的是,这里的标准组指的是以此次采集的视频数据中时间戳最相近的视频帧来构建索引,并以该索引为基础,赋予下一次采集的视频数据中时间戳最相近的视频帧对应的索引值。
进一步地,由于前期将采集到的的多路视频数据存储到对应的缓存区时,每个视频数据均有一个对应的索引,但该索引为初始值,当得到每路视频数据中时间戳最相近的视频帧时,可将该组视频帧作为采集数据,并为其中的每一个视频帧赋予相同的索引值,以便后续通过索引值相同的视频帧来进行视频拼接。
在一个实施例中,步骤S120中选取其中最小的时间戳方差对应的视频帧构建索引的步骤之后,还可以包括:
S123:继续采集多路视频数据,并依据所述视频数据中最小的时间戳方差对应的视频帧以及所述标准组赋值索引。
本实施例中,由于本申请在采集多路视频数据时预先设置了相应的采集帧率,且该采集帧率与视频拼接时的拼接帧率相关,如采集帧率大于拼接帧率,此时,进行视频拼接的话,缓存区中已经保存了多次采集到的视频数据,且每次采集的视频数据均通过查找各路视频数据中时间戳最相近的视频帧来构建索引。
并且,进行视频拼接时,构建索引的操作并不会停止进行,新采集的视频帧也会通过查找各路视频数据中时间戳最相近的视频帧来生成新的索引。因此,当前采集到多路视频数据并为各路视频数据中时间戳最相近的视频帧构建索引后,可继续采集多路视频数据,并依据当前得到的索引,选取本次采集到的视频数据中最小的时间戳方差对应的视频帧继续构建索引。
举例来说,通过对当前采集的视频数据进行时间戳方差的计算,并获取各路视频数据中时间戳最相近的视频帧来构建索引后,可将该组数据的索引变为0,然后以该组数据为基础,该组后面的数据则按照采集顺序依次索引+1。当需要拼接的时候,缓存区内已经不止有一组数据了,可能有索引是87、88、89的三组数据,那么就取索引是89的数据去拼接,87、88的则不要了。
在一个实施例中,步骤S130中在进行视频拼接时,将各个缓存区中索引相同的最新的视频帧进行拼接,得到全景视频的步骤之后,还可以包括:
S140:定时提取各个缓存区中预设帧数的视频帧对应的时间戳,根据所述时间戳计算所有的缓存区中各个视频帧对应的时间戳方差,并选取其中最小的时间戳方差对应的视频帧构建索引,依据所述索引修正上一次构建的索引。
本实施例中,当为缓存区中的各路视频数据打上索引后,为了进一步校正索引值,可定时提取各个缓存区中预设帧数的视频帧对应的时间戳,以此来计算各路视频数据中时间戳最相近的视频帧,并赋予其相应的索引值,利用该索引值来修正上一次构建的索引,以便保持缓存区中索引值的连贯性。
在一个实施例中,如图3所示,图3为本发明实施例提供的一种视频拼接装置的结构示意图;本发明还提供了一种视频拼接装置,包括数据采集模块210、索引创建模块220、视频拼接模块230,具体包括如下:
数据采集模块210,用于按照预设的采集帧率采集多路视频数据,并将各路视频数据送入对应的缓存区进行存储;其中,所述视频数据包括视频帧以及对应的时间戳;
索引创建模块220,用于提取各个缓存区中预设帧数的视频帧对应的时间戳,根据所述时间戳计算所有的缓存区中各个视频帧对应的时间戳方差,并选取其中最小的时间戳方差对应的视频帧构建索引;
视频拼接模块230,用于在进行视频拼接时,将各个缓存区中索引相同的最新的视频帧进行拼接,得到全景视频。
上述实施例中,在视频拼接的时候,传统的技术方案是将每路视频中最新的视频帧进行拼接,而本方案则是通过设置相应的采集帧率来采集各路视频数据,并计算各路视频帧的时间戳方差,获得采集时间最相近的一组采集数据,并依此为依据,给每帧视频数据打上索引,最终根据相同索引来选取视频帧进行拼接,相对传统的技术方案不仅减小了采集数据间的时间间隔,还能够有效降低鬼影现象,提高全景画面的显示效果,并提升用户体验。
关于视频拼接装置的具体限定可以参见上文中对于视频拼接方法的限定,在此不再赘述。上述视频拼接装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于终端设备中的处理器中,也可以以软件形式存储于终端设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,本发明还提供了一种存储介质,所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上述实施例中任一项所述视频拼接方法的步骤。
在一个实施例中,本发明还提供了一种计算机设备,所述计算机设备中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上述实施例中任一项所述视频拼接方法的步骤。
示意性地,如图4所示,图4为本发明实施例提供的一种计算机设备的内部结构示意图,该计算机设备300可以被提供为一服务器。参照图4,计算机设备300包括处理组件302,其进一步包括一个或多个处理器,以及由存储器301所代表的存储器资源,用于存储可由处理组件302的执行的指令,例如应用程序。存储器301中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件302被配置为执行指令,以执行上述任意实施例的文本识别方法。
计算机设备300还可以包括一个电源组件303被配置为执行计算机设备300的电源管理,一个有线或无线网络接口304被配置为将计算机设备300连接到网络,和一个输入输出(I/O)接口305。计算机设备300可以操作基于存储在存储器301的操作系统,例如WindowsServer TM、Mac OS XTM、Unix TM、Linux TM、Free BSDTM或类似。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (6)

1.一种视频拼接方法,其特征在于,所述方法包括:
在全景视频直播场景中,按照预设的采集帧率采集多路视频数据,并将各路视频数据送入对应的缓存区进行存储;其中,所述视频数据包括视频帧以及对应的时间戳,所述预设的采集帧率不小于视频拼接时的拼接帧率;
提取各个缓存区中预设帧数的视频帧对应的时间戳,根据所述时间戳计算所有的缓存区中各个视频帧对应的时间戳方差,并选取其中最小的时间戳方差对应的视频帧构建索引;
在进行视频拼接时,将各个缓存区中索引相同的最新的视频帧进行拼接,得到全景视频;
根据所述时间戳计算所有的缓存区中各个视频帧对应的时间戳方差,并选取其中最小的时间戳方差对应的视频帧构建索引的步骤,包括:
选取每个缓存区中任意一个视频帧对应的时间戳组成时间戳组,根据所述时间戳组中的时间戳以及时间戳数目计算对应的时间戳方差,将所述时间戳方差与预设方差之间进行比对,若所述时间戳方差小于所述预设方差,则依据所述时间戳方差更新所述预设方差;
遍历所述缓存区中的视频数据,直到所有的缓存区中的时间戳方差均计算完毕为止;
选取最终预设方差对应的时间戳组中的视频帧作为标准组来创建索引。
2.根据权利要求1所述的视频拼接方法,其特征在于,所述选取其中最小的时间戳方差对应的视频帧构建索引的步骤之后,还包括:
继续采集多路视频数据,并依据所述视频数据中最小的时间戳方差对应的视频帧以及所述标准组赋值索引。
3.根据权利要求1所述的视频拼接方法,其特征在于,所述在进行视频拼接时,将各个缓存区中索引相同的最新的视频帧进行拼接,得到全景视频的步骤之后,还包括:
定时提取各个缓存区中预设帧数的视频帧对应的时间戳,根据所述时间戳计算所有的缓存区中各个视频帧对应的时间戳方差,并选取其中最小的时间戳方差对应的视频帧构建索引,依据所述索引修正上一次构建的索引。
4.一种视频拼接装置,其特征在于,包括:
数据采集模块,用于在全景视频直播场景中,按照预设的采集帧率采集多路视频数据,并将各路视频数据送入对应的缓存区进行存储;其中,所述视频数据包括视频帧以及对应的时间戳,所述预设的采集帧率不小于视频拼接时的拼接帧率;
索引创建模块,用于提取各个缓存区中预设帧数的视频帧对应的时间戳,根据所述时间戳计算所有的缓存区中各个视频帧组对应的时间戳方差,并选取其中最小的时间戳方差对应的视频帧组构建索引;
视频拼接模块,用于在进行视频拼接时,将各个缓存区中索引相同的最新的视频帧进行拼接,得到全景视频;
所述索引创建模块,包括:
选取每个缓存区中任意一个视频帧对应的时间戳组成时间戳组,根据所述时间戳组中的时间戳以及时间戳数目计算对应的时间戳方差,将所述时间戳方差与预设方差之间进行比对,若所述时间戳方差小于所述预设方差,则依据所述时间戳方差更新所述预设方差;
遍历所述缓存区中的视频数据,直到所有的缓存区中的时间戳方差均计算完毕为止;
选取最终预设方差对应的时间戳组中的视频帧作为标准组来创建索引。
5.一种存储介质,其特征在于:所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至3中任一项所述视频拼接方法的步骤。
6.一种计算机设备,其特征在于:所述计算机设备中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至3中任一项所述视频拼接方法的步骤。
CN202110089157.6A 2021-01-22 2021-01-22 视频拼接方法、装置、存储介质、计算机设备 Active CN112929694B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110089157.6A CN112929694B (zh) 2021-01-22 2021-01-22 视频拼接方法、装置、存储介质、计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110089157.6A CN112929694B (zh) 2021-01-22 2021-01-22 视频拼接方法、装置、存储介质、计算机设备

Publications (2)

Publication Number Publication Date
CN112929694A CN112929694A (zh) 2021-06-08
CN112929694B true CN112929694B (zh) 2024-01-19

Family

ID=76164867

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110089157.6A Active CN112929694B (zh) 2021-01-22 2021-01-22 视频拼接方法、装置、存储介质、计算机设备

Country Status (1)

Country Link
CN (1) CN112929694B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114900720B (zh) * 2022-04-02 2023-11-21 杭州星犀科技有限公司 媒体流的流畅性评估方法、系统、电子装置和存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105208245A (zh) * 2015-10-19 2015-12-30 擎亚国际贸易(上海)有限公司 基于视频内容的多路视频同步方法及装置
CN108495060A (zh) * 2018-03-26 2018-09-04 浙江大学 一种高清视频实时拼接方法
CN109547768A (zh) * 2018-11-05 2019-03-29 万维科研有限公司 生成三维视频精准深度图的方法
CN111107299A (zh) * 2019-12-05 2020-05-05 视联动力信息技术股份有限公司 一种多路视频合成的方法及装置
CN111343415A (zh) * 2018-12-18 2020-06-26 杭州海康威视数字技术股份有限公司 数据传输方法及装置
CN111669561A (zh) * 2019-03-07 2020-09-15 阿里巴巴集团控股有限公司 多角度自由视角图像数据处理方法及装置、介质、设备
CN112004023A (zh) * 2020-08-31 2020-11-27 深圳创维数字技术有限公司 拍摄方法、多摄像头模组以及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105979159B (zh) * 2016-07-21 2019-01-25 上海小蚁科技有限公司 设备的同步方法和同步系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105208245A (zh) * 2015-10-19 2015-12-30 擎亚国际贸易(上海)有限公司 基于视频内容的多路视频同步方法及装置
CN108495060A (zh) * 2018-03-26 2018-09-04 浙江大学 一种高清视频实时拼接方法
CN109547768A (zh) * 2018-11-05 2019-03-29 万维科研有限公司 生成三维视频精准深度图的方法
CN111343415A (zh) * 2018-12-18 2020-06-26 杭州海康威视数字技术股份有限公司 数据传输方法及装置
CN111669561A (zh) * 2019-03-07 2020-09-15 阿里巴巴集团控股有限公司 多角度自由视角图像数据处理方法及装置、介质、设备
CN111107299A (zh) * 2019-12-05 2020-05-05 视联动力信息技术股份有限公司 一种多路视频合成的方法及装置
CN112004023A (zh) * 2020-08-31 2020-11-27 深圳创维数字技术有限公司 拍摄方法、多摄像头模组以及存储介质

Also Published As

Publication number Publication date
CN112929694A (zh) 2021-06-08

Similar Documents

Publication Publication Date Title
CN105100615B (zh) 一种图像的预览方法、装置及终端
CN113099245B (zh) 全景视频直播方法、系统和计算机可读存储介质
CN113163260B (zh) 一种视频帧输出控制方法、装置及电子设备
US20190335162A1 (en) System that generates virtual viewpoint image, method and storage medium
CN112672060A (zh) 拍摄方法、装置和电子设备
CN111835982B (zh) 图像获取方法、图像获取装置、电子设备及存储介质
US20150229855A1 (en) Abstract camera pipeline for uniform cross-device control of image capture and processing
KR102242694B1 (ko) 비디오 월을 이용한 모니터링 방법 및 장치
CN112929694B (zh) 视频拼接方法、装置、存储介质、计算机设备
CN105635568A (zh) 一种移动终端中的图像处理方法和移动终端
CN111479059B (zh) 拍照处理方法、装置、电子设备及存储介质
CN108683847B (zh) 拍照方法、装置、终端及存储介质
CN103200441A (zh) 一种电视频道信息的获取方法、确认方法及装置
CN113271464B (zh) 视频编码方法、解码方法及相关装置
CN104104881A (zh) 物体的拍摄方法和移动终端
US10924637B2 (en) Playback method, playback device and computer-readable storage medium
CN110913118A (zh) 视频处理方法、装置及存储介质
CN113542909A (zh) 视频处理方法、装置、电子设备及计算机存储介质
CN116614716A (zh) 图像处理方法、图像处理装置、存储介质及电子设备
JP2019140483A (ja) 画像処理システム、画像処理システムの制御方法、伝送装置、伝送方法及びプログラム
US10992901B2 (en) Method, apparatus, device and storage medium for controlling video playback speed
KR102242693B1 (ko) Vms 기반의 모니터링 방법 및 장치
CN104954892A (zh) 一种展示视频主题内容的方法及装置
CN112822404B (zh) 一种图像处理方法及装置、存储介质
CN116567400A (zh) 一种同步帧的筛选方法、装置、电子设备及存储介质

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
GR01 Patent grant
GR01 Patent grant