CN107566757A - 一种全景视频的制作方法 - Google Patents
一种全景视频的制作方法 Download PDFInfo
- Publication number
- CN107566757A CN107566757A CN201710740081.2A CN201710740081A CN107566757A CN 107566757 A CN107566757 A CN 107566757A CN 201710740081 A CN201710740081 A CN 201710740081A CN 107566757 A CN107566757 A CN 107566757A
- Authority
- CN
- China
- Prior art keywords
- video
- frame
- file
- panoramic
- preparation
- 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
Abstract
本发明公开了一种全景视频的制作方法,包括以下步骤:a)导入至少两个视频源采集的视频,并获取相对于视频的拍摄镜头的参数;b)解码,将至少两个视频源的视频分别逐帧进行解码,通过解码获取到每一帧的图像数据,将图像数据从内存上传至显存内;d)合成,在显存内通过GPU将多个图像文件逐帧快速合成多个全景图像文件;e)编码,将多个全景图像文件编码成视频文件,最后将多个原视频文件中的其中一个音频文件与该视频文件合成最后的全景视频文件;该全景视频的制作方法通过将多段视频先通过解码器逐帧解码后将每一帧的图像进行拼接后再编码成全景视频,整个过程操作简单,而且由于经过精确的计算,所以处理后的图像拼接效果好。
Description
技术领域
本发明涉及视频处理技术领域,特别涉及一种全景视频的制作方 法。
背景技术
全景视频一般都是由多个视频拼接出来的,现有的全景视频的制 作过程大多是通过多个软件的交叉使用,才能拼接完成,但是由于软 件本身的漏洞以及两者之间的兼容性问题所以生成的全景视频在拼 接处会有很多的瑕疵,因为拼接的视频可能会有因为两个景深不同或 者标定误差问题导致拼接处有错位,导致整张全景视频效果差,实用 性不强。
发明内容
为了解决现有全景视频拼接效果差,操作繁琐的问题,本发明提 供一种操作简单,拼接效果好的全景视频的制作方法。
为了实现上述目的,本发明提供的技术方案是:一种全景视频的 制作方法,包括以下步骤:a)将视频导入至少两个视频源的视频, 并获取相对于视频的拍摄镜头的参数;b)解码,将至少两个视频源 的视频分别逐帧进行解码,将解码后的视频图像上传至显存;d)合 成,在显存内通过GPU将多个图像文件逐帧快速合成多个全景图像 文件;e)编码,将多个全景图像文件编码成视频文件,最后将多个 原视频文件中的其中一个音频文件与该视频文件进行同步并合成最 后的全景视频文件。
在上述技术方案中,所述步骤a)包括以下步骤:a1)将至少两 个视频的源文件导入计算机;a2)通过着色器生成相应的拍摄镜头的 映射表;a3)通过映射表计算该图像每个像素的影响权重,从而生成 影响权重表;a4)将所述映射表和影响权重表上传至显存。
作为优选的技术方案,所述用于生成全景视频的初始视频的数量 为四个,且四个视频在同一平面拍摄而成,相邻两张视频之间的拍摄 角度相差80度90度。
在上述技术方案中,所述影响权重表中的数据包括每个像素距离 该图像中心位置的水平距离,根据权重值,来计算对应像素点的颜色。
在上述技术方案中,进一步的,所述映射表通过相机的畸变参数 生成。
本发明相对于现有技术的有益效果是:该全景视频的制作方法通 过将多段视频先通过解码器逐帧解码后将每一帧的图像进行拼接后 再编码成全景视频,整个过程操作简单,而且由于经过精确的计算, 所以处理后的图像拼接效果好。
附图说明
图1是本发明的初步运算流程图;
图2是本发明的解码流程图;
图3是本发明视频拼接流程图
图4-7是本发明的图像处理前的原图;
图8-11是本发明的图像是原图经过映射公式展开的图像;
图12-15是本发明的影响权重表图像;
图16是本发明合成后的图像。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步说明。在此需要 说明的是,对于这些实施方式的说明用于帮助理解本发明,但并不构 成对本发明的限定。此外,下面所描述的本发明各个实施方式中所涉 及的技术特征只要彼此之间未构成冲突就可以相互组合。
一种全景视频的制作方法,该全景视频通过四个视频源处理而来, 该四个视频源通过四个广角镜头拍摄而来,这四个广角镜头在同一平 面且每两个之间相差80°至90°设置,作为优选的的,在本实施例 中,采用相差90°设置,将四个镜头拍摄出来的视频导入计算机, 处理过程如下:
首先获取相机的各项参数,然后进行初步运算,如图1所示,具 体的步骤如下:
S11:初始化OpenGL运行状态,分配内存和显存资源,加载着色 器程序;
S12:获取全景相机的畸变参数;每一个相机的畸变参数在相机出 厂时就已经产生,只需将该参数数据导入该程序即可,该参数包括径 向畸变系数和切向畸变参数;径向畸变发生在相机坐标系转图像物理 坐标系的过程中,而切向畸变是发生在相机制作过程。
S13:在显卡内运行着色器程序,根据畸变参数生成全景图像的映 射表;
根据最后生成全景图像的高度和宽度,在显卡内创建同样大小的 映射表格,表格的每个元素都会运行一次着色器程序,着色器程序计 算出四个源图像的一个位置,后面的程序会通过查表方式取四个源图 像的四个像素颜色值进行混合,这四个位置都会保存在映射表内。
举例:假设全景图大小为7680x3840,四张源图每张图像的大小 为4608x3456。则映射表的大小为7680x3840,每个元素保存了八个短 整型数据,,例如某个映射表元素内值为(2031,1023,4011,2111, 3241,2145,2344,3120),则表示分别从第一张源图像的第2031行第1023列的像素位置处取出第一个颜色值,从第二张源图像的第 4011行第2111列的像素位置处取出第二个颜色值,从第三张源图像 的第3241行第2145列的像素位置处取出第三个颜色值,从第四张源 图像的第2344行第3120列的像素位置处取出第四个颜色值。
对于着色器程序,如果全景图大小为7680x3840,则会运行 7680x3840次着色器,计算出映射表内每个像素元素的内容。
着色器计算映射表每个元素的过程,则是通过每台相机的三个畸 变参数以及所拍照片相机的中心位置处计算得出,具体公式为 (0.5*width+dr*px/r+xoff,0.5*height+r*py/r+yoff)其中,width为图 像宽度,height为图像高度;px表示正在运行着色器的像素所在位 置与鱼眼图像中心的水平位置的偏差;py表示正在运行着色器的像 素所在位置与鱼眼图像中心的垂直位置的偏差;dr为校正后的圆周 鱼眼图像的半径,通过三个畸变参数(a,b,c)求解得出;r为原图中拍 照所形成圆圈的半径大小;xoff、yoff分别表示镜头位置的偏移。
实现过程如下,首先四张源图如图4-7所示,然后根据映射表展 开四张图,得到如图8-11所示。
S14:根据映射表计算四个广角镜头对全景图像每个像素的影响权 重,并将其保存为影响权重表;影响权重用来计算每个镜头的中心在 全景图的位置,计算每个像素距离镜头中心位置的水平距离,距离 越远权重值越低,根据权重值,来计算对应像素点颜色,用于优化拼 接接缝处的色差,改善拼接效果;其中四个像素的权重值之和必须为 1.0。
每张展开的图像计算出每个像素距离中心位置的距离来得出混合 权重百分比,算出的四张权重表,如图12-15所示;
S15:将生成的影响权重表和映射表上传至显存;
然后进行四个视频文件的处理,首先进行解码,如图2所示,具 体步骤如下:
S21:设置全景输出视频的分辨率,码率,帧率,编码质量;
S22:判断输入的推流地址是否有效;并连接推流服务器;
S23:读取四个输入视频的文件地址,判断是否有效的视频文件, 并获取视频的解码器,播放长度,帧率等信息;
S24:创建四个解码线程分别解码四个视频文件,用于编码全景视 频的图像和声音;
S25:创建两个先进先出队列分别保存待编码的图像和音频数据;
S26:输入四个视频的同步时间信息,设置四个视频解码的最初位 置;
S27:逐帧解码视频文件,分别获取四个视频的图像内容和音频内 容;
S28:解码出四个视频文件中的一个视频的音频内容,并设置该段 音频内容的PTS时间信息,将其压入待编码的音频队列中,并放弃其 他三个视频的音频;
然后进行视频的拼接,如图3所示:
S31:上传视频文件其图像内容的YUV数据至显存内,在显存内通 过着色器程序直接对YUV数据转换为RGB数据;
S32:将解码后的图像逐帧进行拼接,通过显存内的映射表生成四 张全景图像,每张图像只包含一个视频的图像内容,通过显存内的影 响权重表混合四张全景图像得到最终的每一帧的全景图,如图16所 示;
S33:最后就是将每一帧的全景图编码合成最终的全景视频的图像 信息,首先,将最终的每一帧全景图从RGB空间转换至YUV空间, 然后将图像的内容从显存导出至内存中,再设置该图像内容的PTS时 间信息,并将其压入待编码的图像队列中,最终在程序窗口中展示生 成的全景视频文件;
其中编码线程的步骤是这样的,调用编码器根据图像的PTS时间 和图像的YUV数据进行编码,将生成的编码内容写入输出文件内,然 后调用编码器根据声音的PTS时间和声音数据进行编码,将生成的编 码内容写入输出文件内,最后根据推流设置将全景视频内容发送给推 流服务器。
拼接后的全景视频帧率要和源视频的帧率一致,假设采集的源视 频帧率为30帧每秒,则每个视频源每秒生成30张图像,每秒将会拼 出30张全景图像,并将其编码至视频文件中。
该全景视频的制作方法通过将多段视频先通过解码器逐帧解码后 将每一帧的图像进行拼接后再编码成全景视频,整个过程操作简单, 而且由于经过精确的计算,所以处理后的图像拼接效果好。
以上结合附图对本发明的实施方式作了详细说明,但本发明不限 于所描述的实施方式。对于本领域的技术人员而言,在不脱离本发明 原理和精神的情况下,对这些实施方式进行多种变化、修改、替换和 变型,仍落入本发明的保护范围内。
Claims (5)
1.一种全景视频的制作方法,其特征在于,包括以下步骤:a)导入至少两个视频源的视频,并获取相对于视频的拍摄镜头的参数;b)解码,将至少两个视频源的视频分别逐帧进行解码,将解码后的视频文件上传至显存;c)转换,将解码后的视频文件分别转换成单个的图像文件;d)合成,将多个图像文件逐帧合成多个全景图像文件;e)编码,将多个全景图像文件编码成视频文件,最后将多个原视频文件中的其中一个音频文件与该视频文件合成最后的全景视频文件。
a)导入至少两个视频源采集的视频,并获取相对于视频的拍摄镜头的参数;b)解码,将至少两个视频源的视频分别逐帧进行解码,通过解码获取到每一帧的图像数据,而后将图像数据从内存上传至显存内;
d)合成,在显存内通过GPU将多个图像文件逐帧快速合成多个全景图像文件;
e)编码,将多个全景图像文件编码成视频文件,最后将多个原视频文件中的其中一个音频文件与该视频文件合成最后的全景视频文件。
2.根据权利要求1所述的制作方法,其特征在于,所述步骤a)包括以下步骤:a1)将至少两个视频的源文件导入计算机;a2)通过着色器生成相应的拍摄镜头的映射表;a3)通过映射表计算该图像每个像素的影响权重,从而生成影响权重表;a4)将所述映射表和影响权重表上传至显存。
3.根据权利要求1或2所述的制作方法,其特征在于:所述用于生成全景视频的初始视频的数量为四个,且四个视频在同一位置处拍摄而成,相邻两张视频之间的拍摄角度相差80至90度。
4.根据权利要求2所述的制作方法,其特征在于:所述影响权重表中的数据包括每个像素距离该图像中心位置的水平距离,根据权重值,来计算对应像素点的颜色。
5.根据权利要求2所述的制作方法,其特征在于:所述映射表通过相机的畸变参数生成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710740081.2A CN107566757A (zh) | 2017-08-25 | 2017-08-25 | 一种全景视频的制作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710740081.2A CN107566757A (zh) | 2017-08-25 | 2017-08-25 | 一种全景视频的制作方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107566757A true CN107566757A (zh) | 2018-01-09 |
Family
ID=60976825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710740081.2A Pending CN107566757A (zh) | 2017-08-25 | 2017-08-25 | 一种全景视频的制作方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107566757A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101146231A (zh) * | 2007-07-03 | 2008-03-19 | 浙江大学 | 根据多视角视频流生成全景视频的方法 |
WO2015092119A1 (en) * | 2013-12-18 | 2015-06-25 | Planmeca Oy | Generating dental panoramic images |
CN105516596A (zh) * | 2015-12-30 | 2016-04-20 | 完美幻境(北京)科技有限公司 | 一种全景拍摄处理方法、装置及系统 |
CN106412669A (zh) * | 2016-09-13 | 2017-02-15 | 微鲸科技有限公司 | 一种全景视频渲染的方法和设备 |
WO2017080206A1 (zh) * | 2015-11-13 | 2017-05-18 | 深圳大学 | 一种视频全景生成方法及并行计算系统 |
-
2017
- 2017-08-25 CN CN201710740081.2A patent/CN107566757A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101146231A (zh) * | 2007-07-03 | 2008-03-19 | 浙江大学 | 根据多视角视频流生成全景视频的方法 |
WO2015092119A1 (en) * | 2013-12-18 | 2015-06-25 | Planmeca Oy | Generating dental panoramic images |
WO2017080206A1 (zh) * | 2015-11-13 | 2017-05-18 | 深圳大学 | 一种视频全景生成方法及并行计算系统 |
CN105516596A (zh) * | 2015-12-30 | 2016-04-20 | 完美幻境(北京)科技有限公司 | 一种全景拍摄处理方法、装置及系统 |
CN106412669A (zh) * | 2016-09-13 | 2017-02-15 | 微鲸科技有限公司 | 一种全景视频渲染的方法和设备 |
Non-Patent Citations (1)
Title |
---|
王庆波: "基于DAS的实时全景视频拼接系统的设计与实现", 《中国优秀硕士学位论文全文数据库-信息科技辑》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107454468B (zh) | 对沉浸式视频进行格式化的方法、装置和流 | |
JP6472429B2 (ja) | Luma値を決定するための方法、装置、およびシステム | |
CN102693538B (zh) | 生成高动态范围图像的全局对准方法和装置 | |
JP6316910B2 (ja) | シーン基準のメタデータ捕捉のための基準カード | |
AU2012226283B2 (en) | Render-orientation information in video bitstream | |
US20170041585A1 (en) | Depth image enhancement for hardware generated depth images | |
KR102545042B1 (ko) | 화상 처리 장치 및 파일 생성 장치 | |
AU2017317839B2 (en) | Panoramic video compression method and device | |
JP7177034B2 (ja) | レガシー及び没入型レンダリングデバイスのために没入型ビデオをフォーマットする方法、装置、及びストリーム | |
US10616551B2 (en) | Method and system for constructing view from multiple video streams | |
US8994789B2 (en) | Digital video signal, a method for encoding of a digital video signal and a digital video signal encoder | |
WO2016054889A1 (zh) | 一种调整图像动态范围的方法、终端和存储介质 | |
Chengjia et al. | Octagonal mapping scheme for panoramic video encoding | |
CN107566757A (zh) | 一种全景视频的制作方法 | |
Chen et al. | Simplified carriage of MPEG immersive video in HEVC bitstream | |
JP6396932B2 (ja) | 画像合成装置、画像合成装置の動作方法およびコンピュータプログラム | |
US20230247222A1 (en) | Texture based immersive video coding | |
GB2616188A (en) | Method and apparatus for creating panoramic picture on basis of large screen, and intelligent terminal and medium | |
CN108495053B (zh) | 高动态范围信号的元数据处理方法和装置 | |
WO2020190374A1 (en) | Processing the in-between points of a point cloud | |
KR20220066328A (ko) | 볼류메트릭 비디오를 인코딩, 송신 및 디코딩하기 위한 방법 및 장치 | |
WO2021001193A1 (en) | Processing a point cloud | |
US20130279605A1 (en) | Perceptual Media Encoding | |
US20230086988A1 (en) | Method and apparatus for processing multi-view video, device and storage medium | |
CN114245137A (zh) | 由gpu执行的视频帧处理方法和包括gpu的视频帧处理装置 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180109 |