CN107911685B - 一种3Dvr直播封装的方法和装置 - Google Patents
一种3Dvr直播封装的方法和装置 Download PDFInfo
- Publication number
- CN107911685B CN107911685B CN201710991891.5A CN201710991891A CN107911685B CN 107911685 B CN107911685 B CN 107911685B CN 201710991891 A CN201710991891 A CN 201710991891A CN 107911685 B CN107911685 B CN 107911685B
- Authority
- CN
- China
- Prior art keywords
- image
- eye
- sdi signal
- sdi
- signal
- 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
Links
Landscapes
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
Abstract
本发明提供一种3Dvr直播封装的方法和装置,包括将左右眼两路SDI视频信号接入视频采集卡,以获得左眼SDI信号和右眼SDI信号;分别在视频采集卡获取的左眼SDI信号和右眼SDI信号中,沿着鱼眼镜头拍摄到的图像的边缘进行裁剪,以去除多余画面;将裁切好的画面进行重新封装,以将重新封装的画面推流至网络服务器。因此,本发明能够解决现有技术中对3Dvr直播的封装效率低,浪费带宽的技术问题。
Description
技术领域
本发明涉及摄影摄像领域,尤其涉及一种3Dvr直播封装的方法和装置。
背景技术
目前,最常见的3Dvr(立体全景视频)视频封装方案是360度全景展开图(所述的360度全景展开图是将本应是球形的画面展开成平面的画面,类似于世界地图。全景展开图会在顶部和底部产生严重的画面畸变。)。对于前面180度采用3D鱼眼镜头(鱼眼镜头是一种焦距为16mm或更短的并且视角接近或等于180°的镜头。它是一种极端的广角镜头,“鱼眼镜头”是它的俗称。为使镜头达到最大的摄影视角,这种摄影镜头的前镜片直径很短且呈抛物状向镜头前部凸出,与鱼的眼睛颇为相似,“鱼眼镜头”因此而得名。)拍摄,后面180度采用建模渲染图(所述的建模渲染图是通过电脑三维软件进行建模并计算生成的图像。)的方式缝合成的用于直播推流(所述直播推流是指将视频流推送到网络上的这个过程。)的视频封装方案。
所述的封装方案是视频在推送至网络前会经过一系列预处理,例如挪动位置,改变颜色等,得到适用于网络传输的新视频,这些处理后的新视频和音频的集合被称为直播封装方案。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:现有的这种直播封装方式是将鱼眼镜头拍摄的图像经过算法展开,在本地服务器中与背景缝合,再进行传输。而这种展开方案的缺点是传输了过多无效画面。
发明内容
有鉴于此,本发明提供一种3Dvr直播封装方法和装置,能够解决现有技术中对3Dvr直播的封装效率低,浪费带宽的技术问题。
为实现上述目的,根据本发明的一个方面,提供了一种3Dvr直播封装方法。
本发明3Dvr直播封装方法包括:将左右眼两路SDI视频信号接入视频采集卡,以获得左眼SDI信号和右眼SDI信号;分别在视频采集卡获取的左眼SDI信号和右眼SDI信号中,沿着鱼眼镜头拍摄到的图像的边缘进行裁剪,以去除多余画面;将裁切好的画面进行重新封装,以将重新封装的画面推流至网络服务器。
可选地,,所述将裁切好的画面进行重新封装,包括:分别计算左眼SDI信号和右眼SDI信号的画面边缘曲线;根据左眼SDI信号和右眼SDI信号的图像的边缘曲线,计算图像的中心位置和曲线半径;分别将左眼SDI信号和右眼SDI信号的图像中心位置放置到与封装图原型的左眼SDI信号和右眼SDI信号的图像中心的中心位置重合,然后将左眼SDI信号和右眼SDI信号的图像缩放以使得左眼画面与右眼画面的边缘曲线相切;对缩放后的左眼画面与右眼画面的边缘填充。
可选地,通过计算全黑和非全黑的分界线,计算左眼SDI信号和右眼SDI信号的图像的边缘曲线。
可选地,所述计算全黑和非全黑的分界线时,分左、右边缘分别进行计算;当计算左边缘时,从左到右扫描图像的每一列,计算出每一列的平均RGB值之和,如果扫描到某一列的平均RGB值超过了预设的第一阈值,则该列作为左边缘;当计算右边缘时,从右向左扫描图像的每一列,计算出每一列的平均RGB值之和,如果扫描到某一列的平均RGB值超过了预设的第一阈值,则该列作为右边缘;将左、右边缘拼接,以获得全黑和非全黑的分界线。
可选地,所述计算图像的中心位置,包括:通过对每一行,从左到右扫描第一个出现的RGB值超过预设第二阈值的点确定该行的左边缘,同理从右到左扫描确定该行的右边缘;然后,计算所有行的所有边缘点的平均值作为所述图像的中心位置。
可选地,获得所述图像的中心位置后,计算中心位置与所有边缘点的距离的平均值作为曲线半径。
可选地,所述对缩放后的左眼画面与右眼画面的边缘填充,包括:如果SDI信号图像缩放后的高度超出了封装图原型,将超出的部分填在SDI信号图像边缘的区域,即采用边缘填充方法。
可选地,还包括:所述重新封装的画面在形成完整3Dvr视频时,需要将画面中按比例缩放填充的部分进行还原,将还原后的所述画面根据投影关系变换到球面上。
可选地,所述将还原后的所述画面根据投影关系变换到球面上,包括:将鱼眼格式的画面投影到了球面上的一部分区域,其他区域利用预设的虚拟场景填满;其中,虚拟场景和鱼眼格式的画面投影的边缘部分采用半透明的虚拟场景。
根据本发明实施例的另一个方面,还提供了一种3Dvr直播封装装置,包括信号采集模块,用于将左右眼两路SDI视频信号接入视频采集卡,以获得左眼SDI信号和右眼SDI信号;信号处理模块,用于分别在视频采集卡获取的左眼SDI信号和右眼SDI信号中,沿着鱼眼镜头拍摄到的图像的边缘进行裁剪,以去除多余画面;封装模块,用于将裁切好的画面进行重新封装,以将重新封装的画面推流至网络服务器。。
根据本发明的技术方案,因为采用了重新封装,终端缝合的技术方案。从而,实现了可以在相同清晰度下,节省超过50%的带宽的技术效果。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施方式的一种3Dvr直播封装方法的主要流程示意图;
图2是根据本发明实施方式左眼SDI信号和右眼SDI信号的画面示意图;
图3是根据本发明实施方式中对缩放后的左眼画面与右眼画面的边缘填充的示意图;
图4是根据本发明实施方式中鱼眼格式的画面示意图;
图5是根据本发明实施方式中球面图像的示意图;
图6是根据本发明实施方式中3Dvr直播封装装置的主要结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本发明可参考实施方式中3Dvr直播封装方法的主要流程示意图,所述3Dvr直播封装方法,应用于服务器,可以包括:
步骤S101,将左右眼两路SDI视频信号接入视频采集卡,以获得左眼SDI信号和右眼SDI信号。
在实施例中,将左右眼两路SDI视频信号接入视频采集卡,可以得到如图2所示的左眼SDI信号和右眼SDI信号。
其中,SDI视频信号:SDI是串行数字接口,被用来传送无压缩的数字视频信号。它的优点是可以进行长距离传输,例如在电视台拍摄,直播,影视剧组中常被使用。
其中,所述的视频采集卡(Video Capture card)也叫视频卡或采集卡,用以将模拟摄像机、录像机、LD视盘机、电视机输出的视频信号等输出的视频数据或者视频和音频的混合数据输入电脑,并转换成电脑可辨别的数字数据并存储,成为可编辑处理的视频数据文件。
步骤S102,分别在视频采集卡获取的左眼SDI信号和右眼SDI信号中,沿着鱼眼镜头拍摄到的图像的边缘进行裁剪,以去除多余画面。
步骤S103,将裁切好的画面进行重新封装。具体的实施过程包括:
步骤一:分别计算左眼SDI信号和右眼SDI信号的画面边缘曲线。
在实施例中,无论是在左眼SDI信号还是在右眼SDI信号中,只有中间的画面部分有图像,边缘则是全黑的。通过计算全黑和非全黑的分界线,可以取得左眼SDI信号和右眼SDI信号的图像的边缘曲线。
进一步地,计算全黑和非全黑的分界线时,可以分左、右边缘分别进行计算。更进一步地,当计算左边缘时,可以从左到右扫描图像的每一列,计算出每一列的平均RGB值之和,如果扫描到某一列的平均RGB值超过了预设的第一阈值,则该列作为左边缘。当计算右边缘时,从右向左扫描,然后如左边缘处理过程一样便可获得右边缘。最后,左、右边缘拼接后可以获得全黑和非全黑的分界线了。
步骤二:分别根据左眼SDI信号和右眼SDI信号的图像的边缘曲线,计算图像的中心位置和曲线半径。
在实施例中,计算图像的中心位置时可以通过对每一行,从左到右扫描第一个出现的RGB值超过预设第二阈值的点确定该行的左边缘,从右到左扫描确定该行的右边缘。然后,计算所有行的所有边缘点的平均值就是所述图像的中心位置。
进一步地,获得所述图像的中心位置后,由于拍摄出的图像形状可以近似为一个圆形,因此便可以直接计算中心位置与所有边缘点的距离的平均值作为曲线半径。
步骤三:分别将左眼SDI信号和右眼SDI信号的图像中心位置放置到与封装图原型的左眼SDI信号和右眼SDI信号的图像中心的中心位置重合,然后将左眼SDI信号和右眼SDI信号的图像缩放以使得左眼画面与右眼画面的边缘曲线相切。
其中,所述的封装图原型的左眼SDI信号和右眼SDI信号的图像是针对不同的摄像机预先定义的不同的图片模板。将图像放入封装图后就可以进行传输了。而所述的图像缩放是指把画面缩放到封装图要求的大小,因为摄像机拍摄输出的格式会有大有小。优选地,左眼SDI信号和右眼SDI信号的图像是同比例的缩放。
步骤四:对缩放后的左眼画面与右眼画面的边缘填充。
在具体实施时,如图3所示,如果SDI信号图像缩放后的高度超出了封装图原型,将超出的部分填在边缘的区域,即可以采用边缘填充方法。如下图的A部分会逆时针旋转90度后,按比例缩放填充到B部分。更进一步地,A部分逆时针旋转了90度,缩放A部分使得A部分的高度与B部分一致,横向缩放A部分的每一行,使得与B部分的对应行的宽度相同。
步骤S104,将重新封装的画面推流至网络服务器。
根据上面各种所述3Dvr直播封装方法的实施例,可以看出本发明省去了背景在网络中传输所占用的带宽,以及在本地服务器做鱼眼展开时多生成出来的画面所占用的带宽,经过测试,可以节省至少50%的网络带宽。
在另一个较佳地实施例中,可以将所述重新封装的画面使用H.264或者H.265视频格式进行转换为视频流。还有,可以使用共有的RTMP协议将画面推流到服务器。另外,也可以使用开源库ffmpeg可以进行转换和推流。
其中,H.264是由ITU-T视频编码专家组(VCEG)和ISO/IEC动态图像专家组(MPEG)联合组成的联合视频组(JVT,Joint Video Team)提出的高度压缩数字视频编解码器标准。而H.265是ITU-T VCEG继H.264之后所制定的新的视频编码标准。H.265标准围绕着现有的视频编码标准H.264,保留原来的某些技术,同时对一些相关的技术加以改进。新技术使用先进的技术用以改善码流、编码质量、延时和算法复杂度之间的关系,达到最优化设置。
其中,RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。ffmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。
作为本发明的一个实施例,终端在接收到网络服务器发送的重新封装的画面数据后,将重新封装的左右眼视频流与应用软件中的虚拟背景重新缝合,再进行投射,以形成完整的3Dvr视频。具体的实施过程包括:
步骤一:获取重新封装的画面数据。
步骤二:将画面中按比例缩放填充的部分进行还原。
在实施例中,如果在封装的过程中使用了边缘填充方法,那么需要将上图中B部分拼回A部分。
步骤三:将还原后的所述画面根据投影关系变换到球面上。
在实施例中,现在图片格式为鱼眼格式,如4图所示,可以按照投影关系变换到球面,如图5所示。较佳地,所述的投影关系为对于球面上的某个点x,y,z,可以用下面的公式计算出它需要对应的球面图像上的位置Position以及半径r:
r=ArcTan(Sqrt[x*x+y*y]/z)/Pi*2
theta=ArcTan(y/x)
Position=(r*Cos(theta),r*Sin(theta))。
在进一步地实施例中,为了能够使球面图像更为自然、顺畅,可以将预设的虚拟场景叠加在球面上,可以做到平滑过渡。其中,所述的虚拟场景可以自由定义。在具体实施的过程中,鱼眼格式的画面只投影到了球面上的一部分区域,其他区域可以用虚拟场景来填满。
优选地,自由定义的虚拟场景和鱼眼格式的画面投影的边缘部分,需要过渡处理才会不那么生硬,所以需要用半透明的虚拟场景来过渡。而半透明下,虚拟场景和真实拍摄可以平滑过渡。
在本发明实施例的另一方面,还给出了一种3Dvr直播封装装置,参阅图6所示,所述3Dvr直播封装装置600包括信号采集模块601、信号处理模块602和封装模块603。其中,采集模块601将左右眼两路SDI视频信号接入视频采集卡,以获得左眼SDI信号和右眼SDI信号。然后信号处理模块602分别在视频采集卡获取的左眼SDI信号和右眼SDI信号中,沿着鱼眼镜头拍摄到的图像的边缘进行裁剪,以去除多余画面。之后封装模块603将裁切好的画面进行重新封装,以将重新封装的画面推流至网络服务器。
需要说明的是,在本发明所述3Dvr直播封装装置的具体实施内容,在上面所述3Dvr直播封装方法中已经详细说明了,故在此重复内容不再说明。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (9)
1.一种3Dvr直播封装的方法,其特征在于,包括:
将左右眼两路SDI视频信号接入视频采集卡,以获得左眼SDI信号和右眼SDI信号;
分别在视频采集卡获取的左眼SDI信号和右眼SDI信号中,沿着鱼眼镜头拍摄到的图像的边缘进行裁剪,以去除多余图像;
将裁切好的图像进行重新封装,以将重新封装的图像推流至网络服务器;
其中,所述将裁切好的图像进行重新封装包括:
分别计算左眼SDI信号和右眼SDI信号的图像边缘曲线;
根据左眼SDI信号和右眼SDI信号的图像的边缘曲线,计算图像的中心位置和曲线半径;
分别将左眼SDI信号和右眼SDI信号的图像中心位置放置到与封装图原型的左眼SDI信号和右眼SDI信号的图像中心的中心位置重合,然后将左眼SDI信号和右眼SDI信号的图像缩放以使得左眼图像与右眼图像的边缘曲线相切;
对缩放后的左眼图像与右眼图像的边缘填充。
2.根据权利要求1所述的方法,其特征在于,通过计算全黑和非全黑的分界线,计算左眼SDI信号和右眼SDI信号的图像的边缘曲线。
3.根据权利要求2所述的方法,其特征在于,所述计算全黑和非全黑的分界线时,分左、右边缘分别进行计算;
当计算左边缘时,从左到右扫描图像的每一列,计算出每一列的平均RGB值之和,如果扫描到某一列的平均RGB值超过了预设的第一阈值,则该列作为左边缘;当计算右边缘时,从右向左扫描图像的每一列,计算出每一列的平均RGB值之和,如果扫描到某一列的平均RGB值超过了预设的第一阈值,则该列作为右边缘;
将左、右边缘拼接,以获得全黑和非全黑的分界线。
4.根据权利要求1所述的方法,其特征在于,所述计算图像的中心位置,包括:
通过对每一行,从左到右扫描第一个出现的RGB值超过预设第二阈值的点确定该行的左边缘,同理从右到左扫描确定该行的右边缘;然后,计算所有行的所有边缘点的平均值作为所述图像的中心位置。
5.根据权利要求4所述的方法,其特征在于,获得所述图像的中心位置后,计算中心位置与所有边缘点的距离的平均值作为曲线半径。
6.根据权利要求1所述的方法,其特征在于,所述对缩放后的左眼图像与右眼图像的边缘填充,包括:
如果SDI信号图像缩放后的高度超出了封装图原型,将超出的部分填在SDI信号图像边缘的区域,即采用边缘填充方法。
7.根据权利要求1所述的方法,其特征在于,还包括:
所述重新封装的图像在形成完整3Dvr视频时,需要将图像中按比例缩放填充的部分进行还原,将还原后的所述图像根据投影关系变换到球面上。
8.根据权利要求7所述的方法,其特征在于,所述将还原后的所述图像根据投影关系变换到球面上,包括:
将鱼眼格式的图像投影到了球面上的一部分区域,其他区域利用预设的虚拟场景填满;其中,虚拟场景和鱼眼格式的图像投影的边缘部分采用半透明的虚拟场景。
9.一种3Dvr直播封装的装置,其特征在于,包括:
信号采集模块,用于将左右眼两路SDI视频信号接入视频采集卡,以获得左眼SDI信号和右眼SDI信号;
信号处理模块,用于分别在视频采集卡获取的左眼SDI信号和右眼SDI信号中,沿着鱼眼镜头拍摄到的图像的边缘进行裁剪,以去除多余图像;
封装模块,用于将裁切好的图像进行重新封装,以将重新封装的图像推流至网络服务器;
其中,所述将裁切好的图像进行重新封装包括:
分别计算左眼SDI信号和右眼SDI信号的图像边缘曲线;
根据左眼SDI信号和右眼SDI信号的图像的边缘曲线,计算图像的中心位置和曲线半径;
分别将左眼SDI信号和右眼SDI信号的图像中心位置放置到与封装图原型的左眼SDI信号和右眼SDI信号的图像中心的中心位置重合,然后将左眼SDI信号和右眼SDI信号的图像缩放以使得左眼图像与右眼图像的边缘曲线相切;
对缩放后的左眼图像与右眼图像的边缘填充。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710991891.5A CN107911685B (zh) | 2017-10-23 | 2017-10-23 | 一种3Dvr直播封装的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710991891.5A CN107911685B (zh) | 2017-10-23 | 2017-10-23 | 一种3Dvr直播封装的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107911685A CN107911685A (zh) | 2018-04-13 |
CN107911685B true CN107911685B (zh) | 2019-08-30 |
Family
ID=61840715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710991891.5A Active CN107911685B (zh) | 2017-10-23 | 2017-10-23 | 一种3Dvr直播封装的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107911685B (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101877767A (zh) * | 2009-04-30 | 2010-11-03 | 爱国者全景(北京)网络科技发展有限公司 | 一种六通道视频源生成三维全景连续视频的方法和系统 |
US10038887B2 (en) * | 2015-05-27 | 2018-07-31 | Google Llc | Capture and render of panoramic virtual reality content |
CN105516569A (zh) * | 2016-01-20 | 2016-04-20 | 北京疯景科技有限公司 | 一种获得全景图像的方法和装置 |
US20170243384A1 (en) * | 2016-02-19 | 2017-08-24 | Mediatek Inc. | Image data processing system and associated methods for processing panorama images and image blending using the same |
CN105898254B (zh) * | 2016-05-17 | 2018-10-23 | 北京金字塔虚拟现实科技有限公司 | 节省带宽的vr全景视频布局方法、装置及展现方法、系统 |
CN106296608B (zh) * | 2016-08-08 | 2020-08-18 | 深圳市Tcl高新技术开发有限公司 | 一种基于映射表的鱼眼图像处理方法及系统 |
CN106604042A (zh) * | 2016-12-22 | 2017-04-26 | Tcl集团股份有限公司 | 一种基于云端服务器的全景直播系统及全景直播方法 |
-
2017
- 2017-10-23 CN CN201710991891.5A patent/CN107911685B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107911685A (zh) | 2018-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11109066B2 (en) | Encoding and decoding of volumetric video | |
EP3249930B1 (en) | Method, apparatus and stream of formatting an immersive video for legacy and immersive rendering devices | |
US11430156B2 (en) | Apparatus, a method and a computer program for volumetric video | |
KR102221301B1 (ko) | 카메라 렌즈 정보를 포함한 360도 비디오를 송수신하는 방법 및 그 장치 | |
KR101340911B1 (ko) | 다중 뷰들의 효율적인 인코딩 방법 | |
US11202086B2 (en) | Apparatus, a method and a computer program for volumetric video | |
KR102305634B1 (ko) | 카메라 렌즈 정보를 포함한 360도 비디오를 송수신하는 방법 및 그 장치 | |
US10614609B2 (en) | Method and apparatus for reduction of artifacts at discontinuous boundaries in coded virtual-reality images | |
CN107426491B (zh) | 一种360度全景视频的实现方法 | |
CN109314791B (zh) | 用于呈现设备的生成流和合成视频的方法、设备和处理器可读介质 | |
KR101933037B1 (ko) | 360도 동영상에서의 가상현실 재생 장치 | |
WO2023098279A1 (zh) | 视频数据处理方法、装置、计算机设备、计算机可读存储介质及计算机程序产品 | |
CN114071116A (zh) | 视频处理方法、装置、电子设备及存储介质 | |
JP7344988B2 (ja) | ボリュメトリック映像の符号化および復号化のための方法、装置、およびコンピュータプログラム製品 | |
CN107911685B (zh) | 一种3Dvr直播封装的方法和装置 | |
WO2021205068A1 (en) | A method, an apparatus and a computer program product for volumetric video coding | |
WO2020195767A1 (ja) | 3dモデル送信装置、及び、3dモデル受信装置 | |
EP3761260A1 (en) | Storage and signaling of entrance pupil parameters for immersive media | |
US20230401752A1 (en) | Techniques using view-dependent point cloud renditions | |
US20210006831A1 (en) | Method and apparatus for encoding/decoding image for virtual view synthesis |
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 |