CN116708928A - 一种视频拼接方法、设备、系统和存储介质 - Google Patents
一种视频拼接方法、设备、系统和存储介质 Download PDFInfo
- Publication number
- CN116708928A CN116708928A CN202310746126.2A CN202310746126A CN116708928A CN 116708928 A CN116708928 A CN 116708928A CN 202310746126 A CN202310746126 A CN 202310746126A CN 116708928 A CN116708928 A CN 116708928A
- Authority
- CN
- China
- Prior art keywords
- video
- frame
- target
- frames
- videos
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 83
- 238000012545 processing Methods 0.000 claims description 280
- 238000004590 computer program Methods 0.000 claims description 14
- 238000012544 monitoring process Methods 0.000 abstract description 16
- 238000004891 communication Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000004806 packaging method and process Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000012806 monitoring device Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002688 persistence Effects 0.000 description 2
- 230000035807 sensation Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing 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/44016—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请实施例提供一种视频拼接方法、设备、系统和存储介质,涉及视频监控技术领域,该方案包括:获取多路视频源中每路视频源对应的视频,视频包括:多个视频帧。根据每个视频中的多个视频帧中每一视频帧的时间戳,拼接多个视频的视频帧,以得到一个目标视频,目标视频包括:多个目标视频帧,目标视频的帧率与第一视频的帧率相同,第一视频的帧率在多个视频中最高,一个目标视频帧包括第一视频包括的多个视频帧中的一个视频帧,以及多个视频中除第一视频外其他视频包括的多个视频帧中的一个视频帧。该方案用于解决如何将多个视频拼接为一个目标视频时不丢帧,以保证目标视频的数据完整的技术问题。
Description
技术领域
本申请涉及视频监控技术领域,尤其涉及一种视频拼接方法、设备、系统和存储介质。
背景技术
随着影像技术的日新月异,拍摄装置的功能也不断丰富多样,比如多目、变焦等,其拍摄装置所拍摄的图片质量、清晰度也在不断提高。其中,影像技术可以应用于视频监控技术领域的监控设备。各视频监控厂家也会将监控设备与视频处理设备相互通信,以便用户能够随时查看监控内容、录像回放,或者对监控设备进行控制。
视频监控技术领域中多目摄像设备为监控设备之一。多目摄像设备上通常搭载有多个拍摄装置,能够拍摄多个角度的视频,比如全景、特写等。视频处理设备可以将来自多个拍摄装置中的视频进行拼接,以得到拼接后的目标视频。然而现有技术中在进行视频拼接时,可能会存在多个视频拼接为一个目标视频时,视频丢帧的情况,从而导致目标视频中的数据不完整。
发明内容
本申请实施例提供一种视频拼接方法、设备、系统和存储介质,该方案用于解决如何将多个视频拼接为一个目标视频时不丢帧,以保证目标视频的数据完整的技术问题。
第一方面,本申请实施例提供一种视频拼接方法,应用于视频处理设备,该方法包括:获取多路视频源中每路视频源对应的视频,视频包括:多个视频帧,或者多路视频源中存在至少一路视频源对应的视频包括1个视频帧,其他路视频源对应的视频包括视频帧的数量为多个。根据每个视频中的多个视频帧中每一视频帧的时间戳,拼接多个视频的视频帧,以得到一个目标视频,目标视频包括:多个目标视频帧,目标视频的帧率与第一视频的帧率相同,第一视频的帧率在多个视频中最高,一个目标视频帧包括第一视频包括的多个视频帧中的一个视频帧,以及多个视频中除第一视频外其他视频包括的多个视频帧中的一个视频帧,且不同目标视频帧所包括的第一视频的视频帧不同。
本申请实施例提供一种视频拼接方法,应用于视频处理设备,视频处理设备通过获取多个视频,视频包括多个视频帧,以及每一视频帧的时间戳;然后,根据每个视频中的多个视频帧以及每一视频帧的时间戳,拼接多个视频,这样可以得到拼接后的一个目标视频,目标视频包括多个目标视频帧以及每一目标视频帧的时间戳,且多个视频中的任一视频帧包含于多个目标视频帧中,这样,每个视频的任一视频帧可以在多个目标视频帧的一个目标视频帧中找到;由于目标视频的帧率与多个视频中最高的帧率相同,因此每个视频在拼接后得到的目标视频中播放时帧率不会降低,从而解决了如何将多个视频拼接为一个目标视频时不丢帧,以保证目标视频的数据完整的技术问题。
在本申请的一种可能的实现方式中,其他视频存在第二视频,第二视频与第一视频具有不同的帧率,第二视频包括的多个视频帧中存在至少一个视频帧分别对应第一视频中的至少两个视频帧。
在本申请的一种可能的实现方式中,获取多路视频源中每路视频源对应的视频之后,方法还包括:根据图像拼接方式,以多个视频中的第三视频的第一尺寸为基准,调整除第三视频外的其他视频的分辨率,以使得各个视频的第一尺寸相同,第一尺寸为多个视频的分辨率中的宽度或高度。
在本申请的一种可能的实现方式中,获取多路视频源中每路视频源对应的视频之后,方法还包括:统一多个视频的像素格式。
在本申请的一种可能的实现方式中,第一视频包括M个视频帧,第二视频包括N个视频帧,M为大于或等于2的整数,N为大于或等于1的整数,且M≠N,根据每个视频中的多个视频帧中每一视频帧的时间戳,拼接多个视频的视频帧,以得到一个目标视频,包括:拼接第一视频中的首个视频帧和第二视频中的首个视频帧,以得到首个目标视频帧。根据M个视频帧中的每一视频帧的时间戳,以及N个视频帧中的每一视频帧的时间戳,得到至少一个目标视频帧,以及目标视频帧的时间戳。根据首个目标视频帧、至少一个目标视频帧,以及各目标视频帧的时间戳,得到目标视频。
在本申请的一种可能的实现方式中,根据M个视频帧中的每一视频帧的时间戳,以及N个视频帧中的每一视频帧的时间戳,得到至少一个目标视频帧,以及目标视频帧的时间戳,包括:确定第一视频的第i个视频帧为第一待拼接视频帧,2≤i≤M。根据第一待拼接视频帧,从第二视频的第j个视频帧和第j-1个视频帧中确定第二待拼接视频帧,第二待拼接视频帧的时间戳离第一待拼接视频帧的时间戳最近,2≤j≤N。拼接第一待拼接视频帧和第二待拼接视频帧,以得到一个目标视频帧。根据第一待拼接视频帧的时间戳确定目标视频帧的时间戳。重复执行上述步骤,以得到至少一个目标视频帧,以及每一目标视频帧的时间戳。
在本申请的一种可能的实现方式中,在N=1的情况下,则任一目标视频帧的第二待拼接视频帧相同。在第二待拼接视频帧为第N个视频帧,则目标视频中的最后至少一个目标视频帧包括第N个视频帧。
在本申请的一种可能的实现方式中,获取多路视频源中每路视频源对应的视频,包括:获取多路视频源。对多路视频源进行硬件解码,以得到每路视频源对应的视频。或者,在任一视频源和/或视频处理设备不支持硬件解码的情况下,对任一视频源进行软件解码,以得到任一视频源对应的视频。
在本申请的一种可能的实现方式中,根据每个视频中的一个或多个视频帧以及每一视频帧的时间戳,拼接多个视频,以得到一个目标视频之后,方法还包括:对目标视频进行硬件编码或软件编码,以得到编码后的目标视频。输出编码后的目标视频。
在本申请的一种可能的实现方式中,对目标视频进行硬件编码或软件编码,方法还包括:在目标视频和/或视频处理设备不支持硬件编码的情况下,对目标视频进行软件编码,以得到编码后的目标视频。
在本申请的一种可能的实现方式中,对目标视频进行硬件编码或软件编码,方法还包括:目标视频的分辨率不符合第二预设条件,则更新目标视频的分辨率为符合第二预设条件的目标分辨率。
第二方面,本申请实施例提供一种视频处理装置,该视频处理装置可以实现第一方面或第一方面的任意可能的实现方式中的方法,因此也能实现第一方面或第一方面任意可能的实现方式中的有益效果。该视频处理装置可以为视频处理设备,也可以为支持视频处理设备实现第一方面或第一方面的任意可能的实现方式中的方法的装置,例如应用于视频处理设备中的芯片或者控制电路。该视频处理装置可以通过软件、硬件、或者通过硬件执行相应的软件实现上述方法。
作为一种示例,本申请实施例提供一种视频处理装置,该视频处理装置为客户端或者为应用于视频处理设备中的芯片,该视频处理装置包括:获取单元和图像处理单元。其中,获取单元,用于获取多路视频源中每路视频源对应的视频,视频包括:多个视频帧,或者多路视频源中存在至少一路视频源对应的视频包括1个视频帧,其他路视频源对应的视频包括视频帧的数量为多个。图像处理单元,用于根据每个视频中的多个视频帧中每一视频帧的时间戳,拼接多个视频的视频帧,以得到一个目标视频,目标视频包括:多个目标视频帧,目标视频的帧率与第一视频的帧率相同,第一视频的帧率在多个视频中最高,一个目标视频帧包括第一视频包括的多个视频帧中的一个视频帧,以及多个视频中除第一视频外其他视频包括的多个视频帧中的一个视频帧,且不同目标视频帧所包括的第一视频的视频帧不同。
在本申请的一种可能的实现方式中,本申请实施例所提供的视频处理装置还包括:调整单元。调整单元,用于根据图像拼接方式,以多个视频中的第三视频的第一尺寸为基准,调整除第三视频外的其他视频的分辨率,以使得各个视频的第一尺寸相同,第一尺寸为多个视频的分辨率中的宽度或高度。
在本申请的一种可能的实现方式中,本申请实施例所提供的视频处理装置还包括:统一单元。统一单元,用于统一多个视频的像素格式。
在本申请的一种可能的实现方式中,本申请实施例所提供的视频处理装置还包括:拼接单元。拼接单元,用于拼接第一视频中的首个视频帧和第二视频中的首个视频帧,以得到首个目标视频帧。
在本申请的一种可能的实现方式中,获取单元,还用于根据M个视频帧中的每一视频帧的时间戳,以及N个视频帧中的每一视频帧的时间戳,得到至少一个目标视频帧,以及目标视频帧的时间戳。
在本申请的一种可能的实现方式中,获取单元,还用于根据首个目标视频帧、至少一个目标视频帧,以及各目标视频帧的时间戳,得到目标视频。
在本申请的一种可能的实现方式中,本申请实施例所提供的视频处理装置还包括:确定单元。确定单元,用于确定第一视频的第i个视频帧为第一待拼接视频帧。
在本申请的一种可能的实现方式中,确定单元,还用于根据第一待拼接视频帧,从第二视频的第j个视频帧和第j-1个视频帧中确定第二待拼接视频帧,第二待拼接视频帧的时间戳离第一待拼接视频帧的时间戳最近,2≤j≤N。
在本申请的一种可能的实现方式中,拼接单元,还用于拼接第一待拼接视频帧和第二待拼接视频帧,以得到一个目标视频帧。
在本申请的一种可能的实现方式中,确定单元,还用于根据第一待拼接视频帧的时间戳确定目标视频帧的时间戳。
在本申请的一种可能的实现方式中,获取单元,还用于获取多路视频源。
在本申请的一种可能的实现方式中,本申请实施例所提供的视频处理装置还包括:解码单元。解码单元,用于对多路视频源进行硬件解码,以得到每路视频源对应的视频,或者,在任一视频源和/或视频处理设备不支持硬件解码的情况下,对任一视频源进行软件解码,以得到任一视频源对应的视频。
在本申请的一种可能的实现方式中,本申请实施例所提供的视频处理装置还包括:编码单元。编码单元,用于对目标视频进行硬件编码或软件编码,以得到编码后的目标视频。
在本申请的一种可能的实现方式中,本申请实施例所提供的视频处理装置还包括:输出单元。输出单元,用于输出编码后的目标视频。
在本申请的一种可能的实现方式中,编码单元,还用于目标视频的分辨率不符合第二预设条件,则更新目标视频的分辨率为符合第二预设条件的目标分辨率。
第三方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序或指令,当计算机程序或指令在计算机上运行时,使得计算机执行如第一方面至第一方面的任意一种可能的实现方式中描述的一种视频拼接方法。
第四方面,本申请实施例提供一种包括指令的计算机程序产品,当指令在计算机上运行时,使得计算机执行第一方面或第一方面的各种可能的实现方式中描述的一种视频拼接方法。
第五方面,本申请实施例提供一种视频处理装置用于实现上述第一方面或第一方面的任一方面的各种可能的设计中的各种方法。该视频处理装置可以为上述视频处理设备,或者包含上述视频处理设备的装置,或者应用于视频处理设备中的部件(例如,芯片)。
第五方面描述的视频处理装置包括实现上述方法相应的模块、单元、该模块、单元可以通过硬件实现,软件实现,或者通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块或单元。
第六方面,本申请实施例提供了视频处理设备,该视频处理设备包括:至少一个处理器和通信接口。其中,当该视频处理设备运行时,该处理器执行该视频处理设备中存储的计算机执行指令或程序,以使该视频处理设备执行如上述第一方面或第一方面中任一方面的各种可能的设计中的任一项的方法。例如,该视频处理设备可以为视频处理装置,或者为应用于视频处理装置中的部件。
应理解,上述第六方面中描述的通信装置中还可以包括:总线和存储器,存储器用于存储代码和数据。可选的,至少一个处理器通信接口和存储器相互耦合。
第七方面,本申请实施例提供一种芯片,该芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行计算机程序或指令,以实现第一方面或第一方面的各种可能的实现方式中所描述的一种视频处理方法。通信接口用于与芯片之外的其它模块进行通信。
第八方面,本申请实施例提供了一种视频处理系统,该系统包括:视频处理设备和视频源设备,视频处理设备与视频源设备连接。其中,视频处理设备用于执行第一方面或第一方面的各种可能的实现方式中所描述的一种视频拼接方法。
第九方面,本申请实施例提供了一种视频处理设备,该设备包括:图像处理单元以及视频采集单元。其中,视频采集单元用于采集多路视频源,多路视频源用于确定多个视频,图像处理单元用于执行第一方面或第一方面的各种可能的实现方式中所描述的一种视频拼接方法。
附图说明
图1为本申请实施例提供的一种视频拼接的系统的示意图;
图2为本申请实施例提供的一种视频处理设备的结构示意图;
图3为本申请实施例提供的另一种视频处理设备的结构示意图;
图4为本申请实施例提供的一种视频拼接方法的流程示意图;
图5为本申请实施例提供的第一种视频拼接的示意图;
图6为本申请实施例提供的拼接方式的示意图;
图7为本申请实施例提供的第二种视频拼接的示意图;
图8为本申请实施例提供的一种视频拼接方法的具体实现图;
图9为本申请实施例提供的一种视频处理设备装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请实施例进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在介绍本申请实施例之前,首先对本申请涉及的相关名词进行如下释义:
(1)视频拼接:指将多路视频数据中的视频帧以图像拼接的方式拼接为一个目标视频帧,从而实现多个视频同步播放的技术。
例如,以一种全景视频拼接为例,全景视频拼接是一种利用实景图像组成全景空间的技术,它将多幅图像拼接成一幅大尺度图像或360度全景图。
(2)帧(Frame):即本文中所述的视频帧。视频是连续的图像序列,由连续的视频帧构成,一个视频帧即为一幅图像。由于人眼的视觉暂留效应,当视频帧的序列以一定的速率播放时,用户观看到的为连续的视频。
(3)帧率(Frames Per Second,FPS):1秒内平均图像刷新次数,也指1秒钟视频包含多少幅图画,类似动画片和电影胶片,帧率越大看起来更连贯,帧率用fps表示。常见的帧率有25fps、30fps。一般来说,帧率低于15帧/秒,连续的运动视频就会有停顿的感觉,而60fps可以具有交互感和逼真感。
(4)分辨率(Resolution Ratio):视频中的图像在横向(宽度)和纵向(高度)上各拥有的像素个数。比如一帧中图像的分辨率为1920x1080,意思是这张照片是由横向1920个像素点和纵向1080个像素点构成,一共包含了1920x1080个像素点。
(5)像素格式(Pixel Format):指图像的具体像素用什么所表示。常见的像素格式有:YUV格式,RGB格式等。其中,比如YUV分为三个分量,“Y”表示明亮度(Luminance),也就是灰度值;而“U”和“V”表示的则是色度(Chrominance),作用是描述影像色彩及饱和度,用于指定像素的颜色。
(6)视频编码:由于人眼的视觉暂留效应,当视频帧以一定的速率播放时,用户看到的就是动作连续的视频。由于连续的视频帧之间相似性极高,为便于储存和传输,用户需要对原始的视频进行编码,以去除空间、时间维度的冗余。通过压缩技术,将原始视频格式的文件转换成另一种视频格式文件的方式。视频流传输中最为重要的编码标准有:H.261、H.263、H.264、H.265、H.266。
(7)视频解码:由于视频处理设备所接收到的视频源可能是通过视频编码技术压缩所得到的数据。视频处理设备在对视频源进行处理时,需要对接收到的数据进行视频解码,以得到可进行视频处理的数据。视频流传输中最为重要的解码标准有:H.261、H.263、H.264、H.265、H.266。
随着影像技术的日新月异,拍摄装置的功能也不断丰富多样,比如多目、变焦等,其拍摄装置所拍摄的图片质量、清晰度也在不断提高。其中,影像技术可以应用于视频监控技术领域的监控设备。各视频监控厂家也会将监控设备与视频处理设备相互通信,以便用户能够随时查看监控内容、录像回放,或者对监控设备进行控制。
视频监控技术领域中多目摄像设备为监控设备之一。多目摄像设备上通常搭载有多个拍摄装置,能够拍摄多个角度的视频,比如全景、特写等。视频处理设备可以将来自多个拍摄装置中的视频进行拼接,以得到拼接后的目标视频。然而现有技术中在进行视频拼接时,可能会存在多个视频拼接为一个目标视频时,视频丢帧的情况,从而导致目标视频中的数据不完整。
比如,每个视频的帧率各不相同。比如,视频A的帧率为45fps,视频B的帧率为60fps,拼接为目标视频的帧率为45fps。此时,视频B的帧率在目标视频中低于原本的帧率,在视频A和视频B进行拼接时,视频B中的视频帧的数量大于视频A中的视频帧的数量,视频B在目标视频中可能会丢帧,从而导致视频B在目标视频中的数据不完整。
因此,本申请实施例提供一种视频拼接方法、设备、系统和存储介质,该方案用于如何将多个视频拼接为一个目标视频时不丢帧,以保证目标视频的数据完整的技术问题。
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
如图1所示,图1为本申请实施例提供的一种图像处理系统的示意图,该系统包括:视频处理设备100和视频源设备200。
本申请实施例中的视频源设备200用于向视频处理设备100提供多路视频源或者用于向视频处理设备100提供各路视频源对应的解码后的视频帧。
比如,视频处理设备100可以是手机、电脑等终端设备,或者服务器,本申请实施例对此不作限定。
示例性的,视频源设备200可以是多目视频设备(比如多目摄像设备,例如监控设备),用于采集多路视频源,并向视频处理设备100提供多路视频源。比如,多目视频设备上部署的多个视频设备,每个视频设备用于提供一路视频源。当然,视频源设备200也可以指多个单目视频设备,每个单目视频设备用于采集一路视频源,并向视频处理设备100提供一路视频源。当然,视频源设备200也可以看作是存储有多路视频源或者存储有各路视频源对应的解码后的视频帧的存储设备。
示例性的,视频处理设备100和视频源设备200可以是独立的两个设备,当然,可选的,该视频处理设备100也可以和视频源设备200为部署在同一个图像处理设备中的两个部件。
示例性的,视频处理设备100与视频源设备200之间具有连接。通过该连接,视频处理设备100可以获取到来自视频源设备200的多路视频源。
当视频处理设备100与视频源设备200是独立的两个设备时,视频处理设备100与视频源设备200之间可以建立无线通信连接或有线通信连接。比如,无线通信连接可以是比如Wi-Fi(Wireless Fidelity)连接、蓝牙(BlueTooth,BT)连接、近场通信(Near FieldCommunication,NFC)等。比如,有线通信连接,例如以太网(Ethernet)连接等,本申请实施例对此不做具体限定。
当视频处理设备100与视频源设备200为部署在同一个图像处理设备中的两个部件时,二者可以通过内部接口通信,本申请实施例对此不做限定。
作为一种可能实现的方式,视频处理设备100包括:图像处理单元和视频采集单元。
其中,图像处理单元与视频采集单元连接。图像处理单元用于实现本实施例中由视频处理设备所执行的步骤,比如,图像处理单元用于接收来自视频采集单元所采集到的多路视频源。比如,图像处理单元用于对接收到的多路视频源进行处理(例如,视频拼接)。
视频采集单元用于实现本实施例中由视频源设备所执行的步骤,比如,视频采集单元用于采集多路视频源,或者,视频采集单元用于获取视频处理设备100中所存储的多路视频源对应的解码后的视频帧。
作为一种示例,如图2所示,图2为本申请实施例提供的一种视频处理设备的结构示意图。其中,视频处理设备包括:输入接口、解析单元、解码单元、图像处理单元、编码单元、封装单元和输出接口。
其中,输入接口连接解析单元,解析单元连接解码单元,解码单元连接图像处理单元,图像处理单元连接编码单元,编码单元连接封装单元,封装单元连接输出接口。
可选的,输入接口和输出接口可以是两个独立的通信接口,也可以集成为一个通信接口,该通信接口具有输入接口和输出接口的功能。
其中,视频处理设备用于利用输入接口获取视频源。
解析单元,即解封装单元,用于对接收到输入接口传输的视频源进行解析,以得到多个待解码的视频帧。
可以理解的是,由于视频以特定格式(比如FLV、MKV、MP4等格式)在网络上传输或存储设备中存储,因此视频设备需要根据特定协议进行数据解封装,以得到一帧帧待解码的视频帧。常见的特定协议有TS(Transport Stream,传输流)、RTP(Real-time TransportProtocol,实时传输协议)、MP4(MPEG-4)等。
解码单元用于对接收到解析单元的多个待解码的视频帧进行解码处理,以得到多个解码后的视频帧,以及视频帧的时间戳。
图像处理单元用于实现下述实施例中描述的视频拼接方法。
编码单元用于对图像处理单元处理后得到的目标视频进行编码处理。
封装单元用于将编码单元中的编码后的目标视频进行封装,并发送给输出接口。
可以理解的是,封装单元为解析单元的反过程,即将编码单元输出的目标视频按照特定协议封装好。
作为一种示例,如图3所示,图3为本申请实施例提供的另一种视频处理设备100的结构示意图,如图3所示,该视频处理设备100包括:处理器101、通信线路102、至少一个通信接口(图3中示例性的以通信接口103为例进行说明)。
处理器101可以是一个通用中央处理器(Central Processing Unit,CPU),微处理器,特定应用集成电路(Application-Specific Integrated Circuit ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
通信线路102可包括一通路,在上述组件之间传送信息。
通信接口103,用于与其他装置进行信息交互,例如使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(Radio Access Network,RAN),无线局域网(Wireless Local Area Networks,WLAN)等。
可选的,该视频处理设备100还可以包括存储器104。
存储器104可以是只读存储器(Read-Only Memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(Random Access Memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Discread-OnlyMemory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器104可以是独立存在,通过通信线路102与处理器101相连接。存储器104也可以和处理器101集成在一起。
其中,存储器104用于存储执行本申请方案的计算机执行指令,并由处理器101来控制执行。处理器101用于执行存储器104中存储的计算机执行指令,从而实现本申请下述实施例提供的一种视频拼接方法。
可选的,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。
在具体实现中,作为一种实施例,处理器101可以包括一个或多个CPU,例如图3中的CPU0和CPU1。
在具体实现中,作为一种实施例,视频处理设备100可以包括多个处理器,例如图3中的处理器101和处理器105。这些处理器中的每一个可以是一个单核(Single-CPU)处理器,也可以是一个多核(Multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,视频处理设备100还可以包括:处理器106。处理器106可以是一个图像处理器(Graphics Processing Unit,GPU),微处理器,特定应用集成电路(Application-Specific Integrated Circuit ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。处理器106中的每一个可以是一个单核(Single-GPU)图像处理器,也可以是一个多核(Multi-GPU)图像处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
示例性的,处理器106可以执行关于本申请实施例中的视频处理设备中所包括的解码单元和编码单元中的具体步骤。
当然,处理器101和/或处理器106也可以执行关于本申请实施例中的视频处理设备中所包括的解码单元和编码单元中的具体步骤。
在本申请实施例中,一种视频拼接方法的执行主体的具体结构,本申请实施例并未特别限定,只要可以通过运行记录有本申请实施例的一种视频拼接方法的代码的程序,以根据本申请实施例的一种视频拼接方法进行通信即可。例如,本申请实施例提供的一种视频拼接的方法的执行主体可以是视频处理设备中能够调用程序并执行程序的功能模块,或者为应用于视频处理设备中的一种视频处理装置,例如,芯片。本申请对此不进行限定。
下述实施例以一种视频拼接方法的执行主体以视频处理设备为例进行描述。
如图4所示,图4示出了本申请实施例提供的一种视频拼接方法的流程示意图,该方法包括:
步骤410、视频处理设备获取多路视频源中每路视频源对应的多个视频。
其中,视频包括多个视频帧。或者,多路视频源中存在至少一路视频源对应的视频包括1个视频帧,而其他路视频源对应的视频包括视频帧的数量为多个。
可以理解的是,每路视频源对应的视频中的地点可能不同,比如,视频源A对应的视频中的地点为地点A,视频源B对应的视频中的地点为地点B;每路视频源对应的视频中的地点也可能相同,比如视频源A和视频源B所采集到的是地点A对应的两个不同角度。
在存在多路视频源的情况下,为了方便用户查看多个地点的视频源的视频,或者,为了方便用户查看一个地点的多个角度的视频源的视频,可以将多路视频源的视频拼接为一个目标视频。
可以理解的是,本申请实施例中各路视频源对应的视频包括的视频帧的数量可以相同,也可以不同。
作为一种示例,本申请实施例中多路视频源的帧率可以相同,也可以不相同,如图5所示,以视频A和视频B对应的视频源的帧率不同为例,视频A和视频B各包括多个视频帧。其中,视频A中包括:视频帧a1~视频帧a15,其中视频帧a1~视频帧a15。视频B中包括视频帧b1~视频帧b25。
可以理解的是,每个视频帧对应一个时间戳。
作为一种示例,视频帧a1的时间戳为T1,视频帧a15的时间戳为T1+933毫秒(ms)。本申请实施例中任一两个视频帧的时间戳用于反映两个视频帧之间的时间间隔。比如,可以根据视频帧a15的时间戳:T1+933ms确定视频帧a15与视频帧a1之间的时间间隔为933ms。比如,a2的时间戳:T1+67ms确定视频帧a2与视频帧a1之间的时间间隔为67ms。
可以理解的是,任一视频的首个视频帧的时间戳可以不为零。比如,视频帧a1的时间戳为T1,视频帧b1的时间戳为T2。T1和T2可以是大于或等于零的数值。
需要解释的是,视频处理设备所获取到的多个视频为解码后的视频。具体的,视频处理设备接收到的视频源设备的数据为编码后的视频源。在对这些视频源进行视频拼接之前,视频处理设备可以对这些视频源进行解码,以得到解码后的视频。关于视频处理设备如何对多个视频源进行解码,可以参考下述实施例,此处不再赘述。当然,视频处理设备也可以接收其他设备处理后的多路视频源中每路视频源对应的多个视频帧,即由其他设备对多路视频源中每路视频源进行解析以及解码操作,并将得到的每路视频源对应的多个视频帧提供给视频处理设备。
需要解释的是,视频A中包括的视频帧a1~视频帧a15,或者视频B中包括:视频帧b1~视频帧b25为本申请实施例中所举例的一段时长为1秒(s)的视频。视频A可以还包括视频帧a16以及更多的视频帧,视频B也可以还包括视频帧b26,以及更多的视频帧。
可选的,多路视频源可以是存储于视频源设备中的视频源,也可以是视频处理设备自身所采集到的视频源,当然,多路视频源也可以是视频处理设备从其他设备(比如云端或者视频源设备处)获取到的。当然,多路视频源中可以存在部分视频源存储于视频源设备中,另外部分视频源由视频处理设备从其他设备处获取,本申请实施例对此不做限定。
示例性的,视频处理设备所获取到的多个视频,可以分为以下三种情况:
情况1、多个视频来自视频源设备。
示例性的,视频源设备可以具有两路视频源(比如视频源A和视频源B),视频处理设备可以对来自视频源设备的视频源的解码后的视频(比如视频A和视频B)进行视频拼接。其中,视频源设备可以是多目视频设备,用于提供多路视频源;或者,视频源设备可以是多个单目视频设备,每个单目视频设备用于提供一路视频源,比如单目视频设备A提供视频源A,单目视频设备B提供视频源B。
情况2、多个视频中的至少一个视频来自视频源设备,多个视频中的其他视频来自视频处理设备。
示例性的,视频处理设备可以对视频源设备中的两路视频源(比如视频源A和视频源B)的解码后的视频(比如视频A、视频B)和视频处理设备所存储的视频(比如视频C和视频D)进行视频拼接。
情况3、多个视频来自视频处理设备。
示例性的,视频处理设备也可以对存储在视频处理设备的多个视频(比如视频C和视频D)进行视频拼接。
示例性的,视频处理设备可以向视频源设备发送视频请求的指示信息。视频源设备在接收到视频处理设备的视频请求的指示信息时,将自身所采集到的视频发送给视频处理设备。或者,多个摄像装置可以在进行视频拍摄的同时,将拍摄到的视频实时发送给视频处理设备。
步骤420、视频处理设备根据每个视频中的多个视频帧中每一视频帧的时间戳,拼接多个视频的视频帧,以得到一个目标视频帧。
其中,目标视频包括多个目标视频帧。
作为一种示例,如图5所示,目标视频由视频A和视频B拼接得到。视频A中包括视频帧a1~视频帧15,视频B中包括视频帧b1~视频帧b25。拼接得到的目标视频包括目标视频帧1~目标视频帧25。
可以理解的是,每一目标视频帧对应一个时间戳。
作为一种示例,每个目标视频帧对应一个时间戳。比如,目标视频帧1的时间戳为T,目标视频帧4的时间戳为T+120ms。本申请实施例总任一两个目标视频帧的时间戳用于反应两个目标视频帧之间的时间间隔。比如,可以根据目标视频帧4的时间戳(即T+120ms)确定目标视频帧3与目标视频帧1之间的时间间隔为120ms。
可以理解的是,目标视频的首个目标视频帧的时间戳可以不为零。比如,目标视频帧1的时间戳为T,T可以是大于或等于零的数值。
其中,目标视频的帧率与第一视频的帧率相同,第一视频的帧率在多个视频中最高。
作为一种示例,如图5的(a)所示,图5的(a)中为本申请实施例所提供的时长为1s的视频A和视频B。由于视频A的帧率为15fps,视频A具有15个视频帧(视频帧a1~视频帧a15)。同理,由于视频B的帧率为25fps,图5中时长为1s的视频B具有25个视频帧(视频帧b1~视频帧b25)。由于视频B的帧率大于视频A的帧率,则第一视频为视频B。
作为另一种示例,如图5的(b)所示,图5的(b)中为本申请实施例所提供的时长为1s的目标视频。由于拼接得到的目标视频具有25个目标视频帧(目标视频帧1~目标视频帧25),可以确定目标视频的帧率与视频B的帧率相同,即目标视频的帧率为25fps。
需要解释的是,每路视频源对应的视频的帧率可以是相同的,也可以是不相同的。比如,如图5所示的视频源1对应的视频A的帧率为15fps,视频源2对应的视频B的帧率为25fps。此时,目标视频的帧率与第一视频的帧率相同,第一视频为视频B,则目标视频的帧率为25fps。
当然,在三路视频源对应的视频中,视频源1对应的视频A的帧率、视频源2对应的视频B的帧率、视频源3对应的视频C的帧率都相同,比如帧率都为25fps。此时,目标视频的帧率与第一视频的帧率相同,第一视频为视频A、视频B和视频C中的任意一个视频,则目标视频的帧率为25fps。
其中,一个目标视频帧包括第一视频包括的多个视频帧中的一个视频帧,以及多个视频中除第一视频外其他视频包括的多个视频帧中的一个视频帧,且不同目标视频帧所包括的第一视频的视频帧不同。
作为一种示例,在每路视频源对应的视频的帧率相同的情况下,比如,视频源2对应的视频B的帧率为25fps、视频源3对应的视频C的帧率为25fps,则不同目标视频帧所包括的每个视频的视频帧不同。比如,视频B包括视频帧b1~视频帧b25,视频C包括视频帧c1~视频帧c25。目标视频帧1由视频b1和视频c1拼接,目标视频帧2由视频b2和视频c2拼接,目标视频帧3由视频b3和视频c3拼接......
作为一种示例,在每路视频源对应的视频的帧率不相同的情况下,比如,如图5所示的视频源1对应的视频A的帧率为15fps,视频源2对应的视频B的帧率为25fps,视频A与视频B具有不同的帧率,则视频A包括的多个视频帧(视频帧a1~视频帧a15)中存在至少一个视频帧分别对应视频B中的至少两个视频帧。比如,视频帧a2和视频帧b2拼接得到目标视频帧2,视频帧a2和视频帧b3拼接得到目标视频帧3。再比如。视频帧a3和视频帧b4拼接得到目标视频帧4,视频帧a3和视频帧b5拼接得到目标视频帧5。
本申请实施例提供一种视频拼接方法,应用于视频处理设备,视频处理设备通过获取多路视频源中每路视频源对应的视频,视频包括多个视频帧;然后,根据每个视频中的多个视频帧的时间戳,拼接多个视频的视频帧,以得到一个目标视频,目标视频包括多个目标视频帧;由于目标视频的帧率与第一视频的帧率相同,第一视频的帧率在多个视频中最高,这样,目标视频的目标视频帧的数量与多个视频中第一视频中包括的视频帧的数量相同,且每个视频在拼接后得到的目标视频中播放时的帧率不会降低;由于一个目标视频帧包括第一视频包括的多个视频帧中的一个视频帧,以及多个视频中除第一视频外其他视频包括的多个视频帧中的一个视频帧,这样可以实现多个视频拼接为一个目标视频帧;不同目标视频帧所包括的第一视频的视频帧不同,其他帧率小于第一视频的帧率的视频所包括的多个视频帧中存在至少一个视频帧分别对应第一视频中的至少两个视频帧;基于上述方法,可以解决如何将多个视频拼接为一个目标视频时不丢帧,以保证目标视频的数据完整的技术问题。
在本申请的一种可能的实施例中,其他视频存在第二视频。
其中,第二视频与第一视频具有不同的帧率,第二视频包括的多个视频帧中存在至少一个视频帧分别对应第一视频中的至少两个视频帧。
关于第二视频与第一视频具有不同的帧率的情况,可以参考上述实施例的描述,此处不再赘述。
由于视频处理设备在对多个视频进行视频拼接时,需要对视频的分辨率进行调整,以使得目标视频的形状规整,因此作为一种可能的实施例,在步骤410之后,本申请实施例所提供的方法还包括:视频处理设备根据视频拼接的图像拼接方式,以多个视频中的第三视频的第一尺寸为基准,调整除第三视频外的其他视频的分辨率,以使得各个视频的第一尺寸相同。
其中,图像拼接方式可以是纵向拼接,如图6的(a)所示的视频A和视频B所拼接的方式;图像拼接方式也可以是横向拼接,如图6的(a)所示的视频A和视频B所拼接的方式。
比如,第三视频可以是多个视频中的任一个视频。当然,第三视频也可以是多个视频中由用户指定的视频,或者第三视频为多个视频中优先级最高的视频,或者第三视频所对应的视频源设备(多目视频设备)为各个视频分别对应的视频源设备中优先级最高的,或者第三视频为多目视频设备对应的图像采集区域中优先级最高的。
其中,第一尺寸为多个视频的分辨率中的宽度或高度。视频的分辨率以宽度*高度来表示。比如,视频A的分辨率为1920*1080pi,视频B的分辨率为1696*1696pi。
作为一种示例,视频A的分辨率为1920*1080pi,视频B的分辨率为1696*1696pi。视频A和视频B为纵向拼接,则第一尺寸为宽度,如图6的(a)所示,以选择的第三视频为视频A为例,则视频处理设备可以将视频B的分辨率按比例调整,则视频B的宽度从1696pi调整为1920pi,相应的,调整后视频B的分辨率为1920*1920pi。
作为另一种示例,视频A和视频B为横向拼接,则第一尺寸为高度,如图6的(b)所示。以选择的第三视频为视频A为例,则视频处理设备可以将视频B的分辨率按比例调整,则视频B的宽度从1696pi调整为1080pi,相应的,调整后视频B的分辨率为1080*1080pi。
可选的,视频处理设备调整其他视频的分辨率的方式,可以是对其他视频按比例进行缩放,也可以是对其他视频的第一尺寸进行调整,其他的尺寸保持不变。比如,视频处理设备调整视频B的分辨率,使得视频B的宽度与视频A相同。调整后的视频B可以是1920*1920pi。或者,调整后的视频B可以是1920*1696pi。
在本申请的一种可能的实施例中,在步骤410之后,本申请实施例所提供的方法还包括:视频处理设备统一多个视频的像素格式。
由于多个视频源的解码方式可能不同,因此解码后的视频可能具有不同的像素格式。解码的方式不同,可能由于解码器不同,比如视频A使用硬件解码,视频B使用软件解码;解码的方式不同,也可能是编码参数不同,比如采用H264的Main Profile(4:2:0)、High 4:2:2Profile、High 4:4:4Profile。解码后的视频可能具有不同的像素格式,比如解码后的视频A的像素格式为YUV格式中的一种格式,解码后的视频B的像素格式为RGB格式的一种格式。或者,比如解码后的视频A的像素格式为YUV格式中的一种格式,解码后的视频B的像素格式为RGB格式中的另一种格式。视频处理设备需要对相同的像素格式的视频进行视频拼接,因此需要将具有不同的像素格式的视频统一为相同的视频格式的视频。比如,将具有像素格式为YUV的视频A和具有像素格式为RGB的视频B统一为像素格式为YUV的视频A和视频B。这样可以提高视频处理设备的兼容性。
作为一种示例,视频处理设备在进行视频拼接之前确定特定的像素格式1。在接收到多个视频的视频帧时,如果某一视频的视频帧不是特定的像素格式1,比如视频A的视频帧的像素格式为像素格式2,视频处理设备对视频A的视频帧进行像素格式的转换,从视频A的像素格式转换为像素格式1。
可选的,视频处理设备统一多个视频的像素格式的步骤可以是在视频处理设备调整视频的分辨率之前,也可以是在视频处理设备调整视频的分辨率之后,也可以是与视频处理设备调整视频的分辨率同时进行。
在本申请的一种可能的实施例中,上述步骤410包括以下方式:视频处理设备获取多路视频源。视频处理设备对多路视频源进行硬件解码,以得到每路视频源对应的视频。或者,在任一视频源和/或视频处理设备不支持硬件解码的情况下,视频处理设备对任一视频源进行软件解码,以得到任一视频源对应的视频。
以多个视频源为来自多目视频设备为例,其中,视频源1来自多目视频设备的A路,视频源2来自多目视频设备的B路,视频源3来自多目视频设备的C路。
可以理解的是,视频处理设备可以通过GPU,对多个视频源进行硬件解码。具体的,在视频处理设备不具有GPU,即不支持硬件解码,或者多个视频源的图像质量过高(比如图像分辨率过高),即视频源的数据不支持硬件解码的情况下,视频处理设备可以通过CPU,对多个视频源进行软件解码。由于视频处理设备可以采用多种方式对视频源进行解码,这样可以提高视频处理设备的兼容性。
在本申请的一种可能的实施例中,上述步骤420之后,本申请实施例所提供的方法还包括:视频处理设备对目标视频进行硬件编码或软件编码,以得到编码后的目标视频。视频处理设备输出编码后的目标视频。
作为一种示例,视频处理设备可以对目标视频通过GPU进行硬件编码,或者通过CPU进行软件编码,以得到编码后的目标视频。视频处理设备可以将编码后的目标视频发送给其他设备,比如云端、手机等。或者,视频处理设备可以将编码后的目标视频存储在视频处理设备中。
在本申请的一种可能的实施例中,视频处理设备对目标视频进行硬件编码或软件编码,本申请实施例所提供的方法还包括:在目标视频或者视频处理设备不支持硬件编码的情况下,视频处理设备对目标视频进行软件编码,以得到编码后的目标视频。
示例性的,目标视频不支持硬件编码,可以是目标视频的图像质量可能影响视频处理设备对目标视频的硬件编码。比如,目标视频的分辨率大于视频处理设备的硬件编码的编码条件,则视频处理设备采用软件编码的方式对目标视频进行编码。或者,示例性的,视频处理设备不支持硬件编码,比如,视频处理设备不具有GPU。
在本申请的一种可能的实施例中,对目标视频进行硬件编码或软件编码,本申请实施例所提供的方法还包括:目标视频的分辨率不符合第二预设条件,则视频处理设备更新目标视频的分辨率为符合第二预设条件的目标分辨率。
可以理解的是,在目标视频的分辨率大于视频处理设备的硬件编码或者软件编码的编码条件,视频处理设备还可以采用降低目标视频的分辨率,以使目标视频的目标分辨率符合第二预设条件。
其中,第二预设条件为视频处理设备的硬件编码或者软件编码的编码条件,比如视频处理设备能够处理的最高分辨率的数值。该第二预设条件可以是视频处理设备预配置的,也可以是人工配置,本申请实施例对此不作具体限制。
在本申请的一种可能的实施例中,多个视频还包括第二视频。第一视频包括M个视频帧,第二视频包括N个视频帧。
其中,M为大于或等于2的整数,N为大于或等于1的整数,且M≠N,
作为一种示例,如图5或图7所示,以第一视频为视频B,第二视频为视频A。视频B包括25个视频帧(视频帧b1~视频帧b25),视频A包括15个视频帧(视频帧a1~视频帧a15)。则M=25,N=15。
在本申请的一种可能的实施例中,上述步骤420包括以下步骤:
步骤421、视频处理设备拼接第一视频中的首个视频帧和第二视频中的首个视频帧,以得到首个目标视频帧。
作为一种示例,以图7的(a)所示,视频B中的视频帧b1和视频A中的视频a1拼接得到目标视频帧1。
可以理解的是,目标视频帧1的时间戳可以为0,也可以不为0。比如,如图7所示的目标视频帧1的时间戳为T,T为大于或等于零的整数。
步骤422、视频处理设备根据M个视频帧中的每一视频帧的时间戳,以及N个视频帧中的每一视频帧的时间戳,得到至少一个目标视频帧,以及目标视频帧的时间戳。
作为一种示例,如图5所示,比如,以视频A中的视频帧a2,视频B中的视频帧b3为例,拼接得到目标视频帧3。其中,视频帧a2的时间戳为T1+67ms(即视频帧a2的时间戳相对于视频帧a1的时间戳间隔67ms)。视频帧b3的时间戳为T2+80ms(即视频帧b3的时间戳相对于视频帧b1的时间戳间隔80ms)。目标视频帧3的时间戳为T+80ms(即目标视频帧3的时间戳相对于目标视频帧1的时间戳间隔80ms)。视频处理设备确定T+120ms为目标视频帧4的时间戳。
步骤423、视频处理设备根据首个目标视频帧、至少一个目标视频帧,以及各目标视频帧的时间戳,得到目标视频。
作为一种示例,如图5所示,视频处理设备根据目标视频帧1~目标视频帧25,以及各个目标视频帧的时间戳,得到目标视频。
在本申请的一种可能的实施例中,上述步骤422包括以下步骤:
步骤4221、视频处理设备确定第一视频的第i个视频帧为第一待拼接视频帧,其中,2≤i≤M。
作为一种示例,如图7所示,以第一视频为视频B为例。比如,如图7的(b)所示,视频处理设备确定视频B的第二个视频帧为第一待拼接视频帧(视频帧b2);如图7的(c)所示,视频处理设备确定视频B的第三个视频帧为第一待拼接视频帧(视频帧b3);如图7的(d)所示,视频处理设备确定视频B的第四个视频帧为第一待拼接视频帧(视频帧b4)。
步骤4222、视频处理设备根据第一待拼接视频帧,从第二视频的第j个视频帧和第j-1个视频帧中确定第二待拼接视频帧。
其中,第二待拼接视频帧的时间戳离第一待拼接视频帧的时间戳最近,2≤j≤N。
作为一种示例,如图7所示,以第二视频为视频A为例。比如,如图7的(b)所示,视频处理设备根据第一待拼接视频帧(视频帧b2),从视频帧a1和视频帧a2中确定视频帧a2为第二待拼接视频帧。再比如,如图7的(c)所示,视频处理设备根据第一待拼接视频帧(视频帧b3),从视频帧a2和视频帧a3中确定视频帧a2为第二待拼接视频帧。再比如,如图7的(d)所示,视频处理设备根据第一待拼接视频帧(视频帧b4),从视频帧a2和视频帧a3中确定视频帧a3为第二待拼接视频帧。
步骤4223、视频处理设备拼接第一待拼接视频帧和第二待拼接视频帧,以得到一个目标视频帧。
作为一种示例,如图7的(b)所示,视频处理设备拼接第一待拼接视频帧(视频帧b2)和第二待拼接视频帧(视频帧a2),得到目标视频帧2。如图7的(c)所示,视频处理设备拼接第一待拼接视频帧(视频帧b3)和第二待拼接视频帧(视频帧a2),得到目标视频帧3。如图7的(d)所示,视频处理设备拼接第一待拼接视频帧(视频帧b4)和第二待拼接视频帧(视频帧a3),得到目标视频帧4。
步骤4224、视频处理设备根据第一待拼接视频帧的时间戳确定目标视频帧的时间戳。
作为一种示例,如图7的(b)所示,视频处理设备拼接第一待拼接视频帧(视频帧b2)的时间戳(T2+40ms),确定目标视频帧2的时间戳(T+40ms)。如图7的(c)所示,视频处理设备拼接第一待拼接视频帧(视频帧b3)的时间戳(T2+80ms),确定目标视频帧3的时间戳(T+80ms)。如图7的(d)所示,视频处理设备拼接第一待拼接视频帧(视频帧b4)的时间戳(T2+120ms),确定目标视频帧4的时间戳(T+120ms)。
步骤4225、视频处理设备重复执行上述步骤,以得到至少一个目标视频帧,以及每一目标视频帧的时间戳。
作为一种示例,如图7的(e)所示,视频处理设备重复执行上述步骤,得到目标视频帧2~目标视频帧25。
在本申请的一种可能的实施例中,上述步骤422包括以下情况:
情况1、在N=1的情况下,则任一目标视频帧的第二待拼接视频帧相同。
可以理解的是,在第二视频只有一个视频帧的情况下,比如视频C为第二视频帧,视频C包括视频帧c1,则视频处理设备在将视频B(视频B包括视频帧b1~视频帧b25)和视频C进行视频拼接时,每一次视频拼接时,视频处理设备选取视频帧c1为视频C的第二待拼接视频帧。
情况2、在第二待拼接视频帧为第N个视频帧,则目标视频中的最后至少一个目标视频帧包括第N个视频帧。
可以理解的是,如图7的(e)所示,在视频处理设备处理目标视频帧24时,第二待拼接视频帧为视频帧a15,为视频A的第N个视频帧,即尾部视频帧。视频处理设备则确定视频帧a15为目标视频帧24的第二待拼接视频帧。相应的,视频处理设备处理目标视频帧25时,视频处理设备依然确定视频帧a15为目标视频帧25的第二待拼接视频帧。
如图8所示,图8以视频处理设备将视频A和视频B进行拼接以得到目标视频为例,描述本申请实施例的一种视频拼接方法的具体实现:
步骤801、视频处理设备取出视频A的首个视频帧a1和视频B的首个视频帧b1。
其中,视频A和视频B具有多个视频帧。视频A和视频B中的多个视频帧以时间戳由小到大的顺序分别组成队列。示例性的,视频A和视频B在进行视频拼接之前,视频A对应的队列的头部为首个视频帧a1,首个视频帧a1的下一帧为视频帧a2,视频帧a2的下一帧为视频帧a3,并以此类推,视频A对应的队列的尾部为视频帧a15。视频B对应的队列的头部为首个视频帧b1,首个视频帧b1的下一帧为视频帧b2,视频帧b2的下一帧为帧b3,并以此类推,视频B对应的队列的尾部为视频帧b25。
步骤802、视频处理设备记录首个视频帧a1的时间戳FirstT1,以及首个视频帧b1的时间戳FirstT2。
步骤803、视频处理设备拼接首个视频帧a1和首个视频帧b1,得到首个目标视频帧。
步骤804、视频处理设备确定首个目标视频帧的时间戳为0。
需要解释的是,本申请实施例下文所述的步骤805~步骤811可以在一个目标视频帧拼接完成后,重新执行步骤805,以使得视频处理设备执行对该目标视频帧的下一个目标视频帧进行视频拼接。
步骤805、视频处理设备计算视频A中队列头部的视频帧Ready1的时间戳与FirstT1之间的时间间隔,得到ReadyT1。
需要解释的是,Ready1为视频处理设备上一轮进行一视频拼接得到一个目标视频帧中视频A中的视频帧。
比如,在首个视频帧a1和首个视频帧b1进行拼接得到首个目标视频帧的情况下,步骤805中视频处理设备将视频A中的首个视频帧a1作为Ready1。
比如,在视频帧a3和视频帧b4进行拼接得到目标视频帧4的情况下,步骤805中视频处理设备将视频A中的视频帧a3作为Ready1。
步骤806、视频处理设备计算视频B中队列头部的视频帧Ready2的时间戳与FirstT2之间的时间间隔,得到ReadyT2。
需要解释的是,Ready2为视频处理设备上一轮进行一视频拼接得到一个目标视频帧中视频B中的视频帧。
比如,在首个视频帧a1和首个视频帧b1进行拼接得到首个目标视频帧的情况下,步骤806中视频处理设备将视频B中的首个视频帧b1作为Ready2。
比如,在视频帧a3和视频帧b4进行拼接得到目标视频帧4的情况下,步骤805中视频处理设备将视频B中的视频帧b4作为Ready2。
步骤807、视频处理设备计算视频A中Ready1的下一帧Next1的时间戳与FirstT1之间的时间间隔,得到NextT1。
步骤808、视频处理设备计算视频B中Ready2的下一帧Next2的时间戳与FirstT2之间的时间间隔,得到NextT2。
步骤809、视频处理设备判断是否NextT1<NextT2。
步骤8101、在NextT1<NextT2的情况下,视频处理设备判断是否NextT1≤ReadyT2,或者,是否Interval1<Interval2。
其中,Interval1=NextT1-ReadyT2,ReadyT2为Ready2的时间戳与FirstT1之间的时间间隔。
其中,Interval2=NextT2-ReadyT1,ReadyT1为Ready1的时间戳与FirstT1之间的时间间隔。
步骤81011、在NextT1≤ReadyT2或者Interval1<Interval2的情况下,视频处理设备拼接Next1和Ready2为目标视频帧,且Next1为视频A中队列头部。
可以理解的是,此时,目标视频帧的待拼接视频帧为:Next1和Ready2。
可以理解的是,步骤81011中的Next1为下一轮中步骤805中视频处理设备中的Ready1。
步骤81012、在NextT1>ReadyT2,以及Interval1≥Interval2的情况下,视频处理设备拼接Next1和Next2为目标视频帧,且Next1为视频A中队列头部,Next2为视频B中队列头部。
可以理解的是,此时,目标视频帧的待拼接视频帧为:Next1和Next2。
可以理解的是,步骤81012中的Next1为下一轮中步骤805中视频处理设备中的Ready1,Next2为下一轮中步骤806中视频处理设备中的Ready2。
步骤8102、在NextT1≥NextT2的情况下,视频处理设备判断是否NextT2≤ReadyT1,或者,是否Interval2<Interval1。
步骤81021、在NextT2≤ReadyT1,或者,是否Interval2<Interval1的情况下,视频处理设备拼接Ready1和Next2为目标视频帧,且Next2为视频B中队列头部。
可以理解的是,此时,目标视频帧的待拼接视频帧为:Ready1和Next2。
可以理解的是,步骤81021中的Next2为下一轮中步骤805中视频处理设备中的Ready1。
步骤81022、在NextT2>ReadyT1,以及Interval2≥Interval1的情况下,视频处理设备拼接Next1和Next2,且Next1为视频A中队列头部,Next2为视频B中队列头部。
可以理解的是,此时,目标视频帧的待拼接视频帧为:Next1和Next2。
可以理解的是,步骤81022中的Next1为下一轮中步骤805中视频处理设备中的Ready1,Next2为下一轮中步骤806中视频处理设备中的Ready2。
步骤811、视频处理设备确定符合比较条件的时间戳为目标视频帧的时间戳。
其中,符合比较条件的时间戳可以是指队列头部的视频帧的时间戳最小(即待拼接视频帧中时间戳最小),且该视频帧不为Ready1以及不为Ready2。
比如,待拼接视频帧为Next1和Ready2,则确定NextT1为目标视频帧的时间戳。再比如,待拼接视频帧为Next2和Ready1,则确定NextT2为目标视频帧的时间戳。再比如,待拼接视频帧为Next1和Next2,则确定选取NextT1和NextT2中较小的为目标视频帧的时间戳。
可以理解的是,在视频A和视频B还具有未拼接过的视频帧的情况下,在视频处理设备执行完步骤811之后,视频处理设备循环执行805。
可以理解的是,视频处理设备对比视频A的队列头部的视频帧的时间戳以及视频B的队列头部的视频帧的时间戳,时间戳较小的为本轮次中目标视频帧的时间戳。
上述主要从各个网元之间交互的角度对本申请实施例的方案进行了介绍。可以理解的是,各个设备,例如视频处理设备为了实现上述功能,其包括了执行各个功能相应的结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对视频处理设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
上面结合图1至图8,对本申请实施例的方法进行了说明,下面对本申请实施例提供的执行上述方法的设备进行描述。本领域技术人员可以理解,方法和装置可以相互结合和引用,本申请实施例提供的视频处理装置可以执行上述一种视频拼接方法中由视频处理设备执行的步骤。
在采用集成单元的情况下,图9示出了上述实施例中所涉及的视频处理装置,该视频处理装置可以是视频处理设备也可以是应用于视频处理设备中的装置,比如芯片或者处理电路,该视频处理装置可以包括:获取单元910和图像处理单元920。
在一种可选的实现方式中,视频处理装置还可以包括存储单元,用于存储视频处理装置的程序代码和数据。
一种示例,视频处理装置为视频处理设备,或者为应用于视频处理设备中的芯片。其中,获取单元910,用于获取多路视频源中每路视频源对应的视频,视频包括:多个视频帧,或者多路视频源中存在至少一路视频源对应的视频包括1个视频帧,其他路视频源对应的视频包括视频帧的数量为多个。图像处理单元920,用于根据每个视频中的多个视频帧中每一视频帧的时间戳,拼接多个视频的视频帧,以得到一个目标视频,目标视频包括:多个目标视频帧,目标视频的帧率与第一视频的帧率相同,第一视频的帧率在多个视频中最高,一个目标视频帧包括第一视频包括的多个视频帧中的一个视频帧,以及多个视频中除第一视频外其他视频包括的多个视频帧中的一个视频帧,且不同目标视频帧所包括的第一视频的视频帧不同。
在本申请的一种可能的实现方式中,本申请实施例所提供的视频处理装置还包括:调整单元。调整单元,用于根据图像拼接方式,以多个视频中的第三视频的第一尺寸为基准,调整除第三视频外的其他视频的分辨率,以使得各个视频的第一尺寸相同,第一尺寸为多个视频的分辨率中的宽度或高度。
在本申请的一种可能的实现方式中,本申请实施例所提供的视频处理装置还包括:统一单元。统一单元,用于统一多个视频的像素格式。
在本申请的一种可能的实现方式中,本申请实施例所提供的视频处理装置还包括:拼接单元。拼接单元,用于拼接第一视频中的首个视频帧和第二视频中的首个视频帧,以得到首个目标视频帧。
在本申请的一种可能的实现方式中,获取单元910,还用于根据M个视频帧中的每一视频帧的时间戳,以及N个视频帧中的每一视频帧的时间戳,得到至少一个目标视频帧,以及目标视频帧的时间戳。
在本申请的一种可能的实现方式中,获取单元910,还用于根据首个目标视频帧、至少一个目标视频帧,以及各目标视频帧的时间戳,得到目标视频。
在本申请的一种可能的实现方式中,本申请实施例所提供的视频处理装置还包括:确定单元。确定单元,用于确定第一视频的第i个视频帧为第一待拼接视频帧。
在本申请的一种可能的实现方式中,确定单元,还用于根据第一待拼接视频帧,从第二视频的第j个视频帧和第j-1个视频帧中确定第二待拼接视频帧,第二待拼接视频帧的时间戳离第一待拼接视频帧的时间戳最近,2≤j≤N;
在本申请的一种可能的实现方式中,拼接单元,还用于拼接第一待拼接视频帧和第二待拼接视频帧,以得到一个目标视频帧。
在本申请的一种可能的实现方式中,确定单元,还用于根据第一待拼接视频帧的时间戳确定目标视频帧的时间戳。
在本申请的一种可能的实现方式中,获取单元910,还用于获取多路视频源。
在本申请的一种可能的实现方式中,本申请实施例所提供的视频处理装置还包括:解码单元。解码单元,用于对多路视频源进行硬件解码,以得到每路视频源对应的视频,或者,在任一视频源和/或视频处理设备不支持硬件解码的情况下,对任一视频源进行软件解码,以得到任一视频源对应的视频。
在本申请的一种可能的实现方式中,本申请实施例所提供的视频处理装置还包括:编码单元。编码单元,用于对目标视频进行硬件编码或软件编码,以得到编码后的目标视频。
在本申请的一种可能的实现方式中,本申请实施例所提供的视频处理装置还包括:输出单元。输出单元,用于输出编码后的目标视频。
在本申请的一种可能的实现方式中,编码单元,还用于目标视频的分辨率不符合第二预设条件,则更新目标视频的分辨率为符合第二预设条件的目标分辨率。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,DVD);还可以是半导体介质,例如,固态硬盘(solid state drive,SSD)。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看附图、公开内容,以及所附权利要求书,可理解并实现公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包括这些改动和变型在内。
Claims (15)
1.一种视频拼接方法,其特征在于,应用于视频处理设备,包括:
获取多路视频源中每路视频源对应的视频,所述视频包括:多个视频帧,或者多路所述视频源中存在至少一路所述视频源对应的视频包括1个视频帧,其他路视频源对应的视频包括视频帧的数量为多个;
根据每个所述视频中的多个所述视频帧中每一所述视频帧的时间戳,拼接多个所述视频的视频帧,以得到一个目标视频,所述目标视频包括:多个目标视频帧,所述目标视频的帧率与第一视频的帧率相同,所述第一视频的帧率在所述多个视频中最高,一个所述目标视频帧包括所述第一视频包括的多个视频帧中的一个视频帧,以及所述多个视频中除所述第一视频外其他视频包括的多个视频帧中的一个视频帧,且不同所述目标视频帧所包括的所述第一视频的视频帧不同。
2.根据权利要求1所述的方法,其特征在于,所述其他视频存在第二视频,所述第二视频与所述第一视频具有不同的帧率,所述第二视频包括的多个视频帧中存在至少一个所述视频帧分别对应所述第一视频中的至少两个视频帧。
3.根据权利要求1所述的方法,其特征在于,获取多路视频源中每路视频源对应的视频之后,所述方法还包括:
根据图像拼接方式,以多个所述视频中的第三视频的第一尺寸为基准,调整除所述第三视频外的其他所述视频的分辨率,以使得各个所述视频的第一尺寸相同,所述第一尺寸为多个所述视频的分辨率中的宽度或高度。
4.根据权利要求1所述的方法,其特征在于,获取多路视频源中每路视频源对应的视频之后,所述方法还包括:
统一多个所述视频的像素格式。
5.根据权利要求1~4任一项所述的方法,其特征在于,所述第一视频包括M个视频帧,第二视频包括N个视频帧,M为大于或等于2的整数,N为大于或等于1的整数,且M≠N,
根据每个所述视频中的多个所述视频帧中每一所述视频帧的时间戳,拼接多个所述视频的视频帧,以得到一个目标视频,包括:
拼接所述第一视频中的首个视频帧和所述第二视频中的首个视频帧,以得到首个目标视频帧;
根据M个所述视频帧中的每一所述视频帧的时间戳,以及N个所述视频帧中的每一所述视频帧的时间戳,得到至少一个所述目标视频帧,以及所述目标视频帧的时间戳;
根据所述首个目标视频帧、至少一个所述目标视频帧,以及各所述目标视频帧的时间戳,得到所述目标视频。
6.根据权利要求5所述的方法,其特征在于,根据M个所述视频帧中的每一所述视频帧的时间戳,以及N个所述视频帧中的每一所述视频帧的时间戳,得到至少一个所述目标视频帧,以及所述目标视频帧的时间戳,包括:
确定所述第一视频的第i个视频帧为第一待拼接视频帧,2≤i≤M;
根据所述第一待拼接视频帧,从所述第二视频的第j个视频帧和第j-1个视频帧中确定第二待拼接视频帧,所述第二待拼接视频帧的时间戳离所述第一待拼接视频帧的时间戳最近,2≤j≤N;
拼接所述第一待拼接视频帧和所述第二待拼接视频帧,以得到一个目标视频帧;
根据所述第一待拼接视频帧的时间戳确定所述目标视频帧的时间戳;
重复执行上述步骤,以得到至少一个所述目标视频帧,以及每一所述目标视频帧的时间戳。
7.根据权利要求6所述的方法,其特征在于,
在N=1的情况下,则任一所述目标视频帧的第二待拼接视频帧相同;
在所述第二待拼接视频帧为第N个所述视频帧,则所述目标视频中的最后至少一个目标视频帧包括第N个所述视频帧。
8.根据权利要求1~4任一项所述的方法,其特征在于,获取多路视频源中每路视频源对应的视频,包括:
获取多路视频源;
对多路所述视频源进行硬件解码,以得到每路视频源对应的视频;
或者,在任一所述视频源和/或所述视频处理设备不支持所述硬件解码的情况下,对任一所述视频源进行软件解码,以得到所述任一所述视频源对应的视频。
9.根据权利要求1~4任一项所述的方法,其特征在于,根据每个视频中的一个或多个视频帧以及每一所述视频帧的时间戳,拼接多个所述视频,以得到一个目标视频之后,所述方法还包括:
对所述目标视频进行硬件编码或软件编码,以得到编码后的目标视频;
输出所述编码后的目标视频。
10.根据权利要求9所述的方法,其特征在于,对所述目标视频进行硬件编码或软件编码,所述方法还包括:
在所述目标视频和/或所述视频处理设备不支持所述硬件编码的情况下,对所述目标视频进行软件编码,以得到所述编码后的目标视频。
11.根据权利要求10所述的方法,其特征在于,对所述目标视频进行硬件编码或软件编码,所述方法还包括:
所述目标视频的分辨率不符合第二预设条件,则更新所述目标视频的分辨率为符合所述第二预设条件的目标分辨率。
12.一种视频处理装置,其特征在于,所述视频处理装置为视频处理设备或者为所述视频处理设备中的芯片,所述视频处理装置包括:
获取单元,用于获取多路视频源中每路视频源对应的视频,所述视频包括:多个视频帧,或者多路所述视频源中存在至少一路所述视频源对应的视频包括1个视频帧,其他路视频源对应的视频包括视频帧的数量为多个;
图像处理单元,用于根据每个所述视频中的多个所述视频帧中每一所述视频帧的时间戳,拼接多个所述视频的视频帧,以得到一个目标视频,所述目标视频包括:多个目标视频帧,所述目标视频的帧率与第一视频的帧率相同,所述第一视频的帧率在所述多个视频中最高,一个所述目标视频帧包括所述第一视频包括的多个视频帧中的一个视频帧,以及所述多个视频中除所述第一视频外其他视频包括的多个视频帧中的一个视频帧,且不同所述目标视频帧所包括的所述第一视频的视频帧不同。
13.一种视频处理设备,其特征在于,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1~11任一项所述的方法。
14.一种视频处理系统,其特征在于,包括:视频处理设备和视频源设备,所述视频处理设备与所述视频源设备连接,所述视频处理设备用于实现权利要求1~11任一项所述的方法,或者
视频处理设备包括图像处理单元以及视频采集单元,视频采集单元用于采集多路视频源,所述多路视频源用于确定多个视频,图像处理单元用于实现权利要求1~11任一项所述的方法。
15.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1~11任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310746126.2A CN116708928A (zh) | 2023-06-21 | 2023-06-21 | 一种视频拼接方法、设备、系统和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310746126.2A CN116708928A (zh) | 2023-06-21 | 2023-06-21 | 一种视频拼接方法、设备、系统和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116708928A true CN116708928A (zh) | 2023-09-05 |
Family
ID=87837184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310746126.2A Pending CN116708928A (zh) | 2023-06-21 | 2023-06-21 | 一种视频拼接方法、设备、系统和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116708928A (zh) |
-
2023
- 2023-06-21 CN CN202310746126.2A patent/CN116708928A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10491711B2 (en) | Adaptive streaming of virtual reality data | |
US10244167B2 (en) | Apparatus and methods for image encoding using spatially weighted encoding quality parameters | |
US20170347084A1 (en) | Virtual reality panoramic video system using scalable video coding layers | |
US11153615B2 (en) | Method and apparatus for streaming panoramic video | |
KR101342781B1 (ko) | 3차원 입력 포맷들을 따르는 비디오 데이터 변환 | |
US20190158933A1 (en) | Method, device, and computer program for improving streaming of virtual reality media content | |
Shi et al. | Freedom: Fast recovery enhanced vr delivery over mobile networks | |
US10999583B2 (en) | Scalability of multi-directional video streaming | |
KR20170123656A (ko) | 구면 영상 스트리밍 | |
WO2018010662A1 (zh) | 视频文件的转码方法,装置及存储介质 | |
CN111416989A (zh) | 视频直播方法、系统及电子设备 | |
CN112219403B (zh) | 沉浸式媒体的渲染视角度量 | |
US20180176650A1 (en) | Information processing apparatus and information processing method | |
CN113302928A (zh) | 传输多视频流的系统和方法 | |
Zhang et al. | Deepvista: 16k panoramic cinema on your mobile device | |
CN105979189A (zh) | 一种视频信号处理与存储方法与系统 | |
US20230025664A1 (en) | Data processing method and apparatus for immersive media, and computer-readable storage medium | |
CN116708928A (zh) | 一种视频拼接方法、设备、系统和存储介质 | |
CN115567756A (zh) | 基于视角的vr视频系统和处理方法 | |
EP4272432A1 (en) | Multi-view video streaming | |
CN113706891A (zh) | 交通数据传输方法、装置、电子设备和存储介质 | |
KR102160409B1 (ko) | 영상 정보 제공 방법 및 이를 수행하는 바디 카메라 장치 | |
WO2024183387A1 (zh) | 一种图像编解码方法、装置及系统 | |
CN118450071A (zh) | 监控视频生成及存储方法、摄像装置及视频监控系统 | |
CN115499634A (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 |