CN106412669B - 一种全景视频渲染的方法和设备 - Google Patents
一种全景视频渲染的方法和设备 Download PDFInfo
- Publication number
- CN106412669B CN106412669B CN201610821164.XA CN201610821164A CN106412669B CN 106412669 B CN106412669 B CN 106412669B CN 201610821164 A CN201610821164 A CN 201610821164A CN 106412669 B CN106412669 B CN 106412669B
- Authority
- CN
- China
- Prior art keywords
- pixel
- frame
- image
- integer
- input video
- 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
- 238000000034 method Methods 0.000 title claims abstract description 136
- 238000009877 rendering Methods 0.000 title claims abstract description 121
- 238000013507 mapping Methods 0.000 claims abstract description 314
- 238000012937 correction Methods 0.000 claims abstract description 34
- 238000004422 calculation algorithm Methods 0.000 claims description 37
- 230000003321 amplification Effects 0.000 claims description 34
- 238000003199 nucleic acid amplification method Methods 0.000 claims description 34
- 238000012216 screening Methods 0.000 claims description 23
- 238000004091 panning Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 70
- 238000004364 calculation method Methods 0.000 description 58
- 230000006870 function Effects 0.000 description 33
- 230000009466 transformation Effects 0.000 description 24
- 230000015654 memory Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 5
- 230000005291 magnetic effect Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 210000001503 joint Anatomy 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000003936 working memory Effects 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/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4038—Image mosaicing, e.g. composing plane images from plane sub-images
-
- 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/44012—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 rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/698—Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/80—Camera processing pipelines; Components thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/265—Mixing
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
Abstract
本申请的目的是提供一种全景视频渲染的方法和设备,通过获取不同机位同一时段的每一输入视频的同一时刻的一帧图像;根据所述每一输入视频的同一时刻的一帧图像,得到所述输入视频的同一时刻的一帧图像与对应一帧的全景拼接结果图像之间的位置映射关系和对应于所述位置映射关系的像素值映射关系;根据所述每一输入视频的同一时刻的一帧图像和像素值映射关系计算对应一帧的全景拼接结果图像中每一像素的像素值。从而使计算位置映射关系和对应的像素值映射关系仅需执行一次,节省了现有技术中畸变矫正、拼接、输出映射等步骤和插值过程中的大量计算,且全景拼接图像中每个像素的计算是独立的,可并行化处理,加快计算速度。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种全景视频渲染的方法和设备。
背景技术
视频在信息的表达中起着非常重要的作用,随着信息技术的发展,有关视频图像的研究和应用也快速发展起来。但是,目前由于单一摄像头视野范围有限,用户不能同时观看不同角度的自己感兴趣的场景,无法满足个性化要求。基于图像绘制的全景图像就是把离散的图像信息在一幅图像上完整的表现出来,全景图的出现,克服了用户被动观察固定视角的限制。全景视频是指在不同时刻采集的全景图序列,其承载的信息量非常丰富,可以实时地表现变化的场景。
对于全景视频的渲染,涉及畸变矫正,拼接,计算映射表等多个过程,每个过程中都需要渲染,目前的技术都是将每一帧作为一幅图像,将每一步进行单独渲染的方式,渲染步骤较多,引入了较多的图像信息损失和失真,需要对每一帧图像按照相关参数重新计算渲染,计算量较大。
发明内容
本申请的目的是提供一种全景视频渲染的方法与设备,以解决现有技术中由于多次图像插值引入的图像信息损失和失真,以及计算量大的问题。
根据本申请的一个方面,提供了一种全景视频渲染的方法,包括:
获取不同机位同一时段的每一输入视频的同一时刻的一帧图像;
根据所述每一输入视频的同一时刻的一帧图像,得到所述输入视频的同一时刻的一帧图像与对应一帧的全景拼接结果图像之间的位置映射关系和对应于所述位置映射关系的像素值映射关系;
根据所述每一输入视频的同一时刻的一帧图像、位置映射关系和对应于所述位置映射关系的像素值映射关系计算对应一帧的全景拼接结果图像中每一像素的像素值。
进一步地,上述方法中,所述位置映射关系和像素值映射关系包含于一渲染函数中;
所述渲染函数根据所述每一输入视频的同一时刻的一帧图像中的参数信息集将畸变矫正、拼接和所述像素值映射关系进行合并得到。
进一步地,上述方法中,所述渲染函数表示如下:
P′(x′,y′)=FA(K|x,y),其中,表示所述参数信息集,P′(x′,y′)表示所述全景拼接结果图像中位置(x′,y′)处像素的像素值,FA(K|x,y)表示所述渲染函数,(x,y)表示每一输入视频的同一时刻的一帧图像的位置,(xi0,yi0)表示第i幅输入视频一帧图像的中心位置,di表示拍摄第i幅输入视频一帧图像的镜头的有效区域直径,表示拍摄第i幅输入视频一帧图像的镜头的视场角,(dxi,dyi)表示第i幅输入视频一帧图像的平移位置,βi表示第i幅输入视频一帧图像的旋转参数,si表示第i幅输入视频一帧图像的缩放参数,n表示正整数。
进一步地,所述位置映射关系,包括:
所述全景拼接结果图像中某一像素与一个或多个输入视频的同一时刻的一帧图像中的一个或多个像素的位置对应关系。
进一步地,所述像素值映射关系包括所述全景拼接结果图像中某一像素对应的一个或多个输入视频一帧图像中的像素的像素值及像素权值。
进一步地,上述方法中,根据所述每一输入视频的同一时刻的一帧图像,得到所述输入视频的同一时刻的一帧图像与对应一帧的全景拼接结果图像之间对应于所述位置映射关系的像素值映射关系,包括:
当根据所述位置映射关系确定所述全景拼接结果图像中某一像素对应一个或多个输入视频一帧图像中的非整数像素位置时,根据所述对应的每一帧图像中的所述非整数像素位置周围的整数像素位置的像素值和插值算法,计算得到所述对应的每一帧图像中的非整数像素位置的像素值;
根据所述非整数像素位置确定对应的像素权值。
进一步地,上述方法中,根据所述每一输入视频的同一时刻的一帧图像,得到所述输入视频的同一时刻的一帧图像与对应一帧的全景拼接结果图像之间对应于所述位置映射关系的像素值映射关系,包括:
当根据所述位置映射关系确定所述全景拼接结果图像中某一像素对应一个或多个输入视频一帧图像中的非整数像素位置和整数像素位置时,根据所述对应的每一帧图像中的所述非整数像素位置周围的整数像素位置的像素值和插值算法,计算得到所述对应的每一帧图像中的非整数像素位置的像素值;
根据所述非整数像素位置和整数像素位置的像素值分别确定对应的像素权值。
进一步地,上述方法中,所述根据所述每一输入视频的同一时刻的一帧图像、位置映射关系和对应于所述位置映射关系的像素值映射关系计算对应一帧的全景拼接结果图像中每一像素的像素值,包括:
根据所述一个或多个输入视频一帧图像中的像素、位置映射关系确定对应一帧的全景拼接结果图像中每一整数像素位置;
根据所述一个或多个输入视频一帧图像中的非整数像素位置的像素值,或者所述一个或多个输入视频一帧图像中的非整数像素位置和整数像素位置的像素值,及所述像素值映射关系计算对应一帧的全景拼接结果图像中每一整数像素位置的像素值。
进一步地,根据所述对应的每一帧图像中的所述非整数像素位置周围的整数像素位置的像素值和插值算法,计算得到所述对应的每一帧图像中的非整数像素位置的像素值,包括:
将所述对应的每一帧图像中的非整数像素位置周围的一个或多个整数像素位置的像素值进行加权平均,计算得到所述对应的每一帧图像中的非整数像素位置的像素值。
进一步地,所述根据所述每一输入视频的同一时刻的一帧图像、位置映射关系和对应于所述位置映射关系的像素值映射关系计算对应一帧的全景拼接结果图像中每一像素的像素值,包括:
根据所述位置映射关系,当所述一个或多个输入视频一帧图像中的整数像素位置对应于一帧全景拼接结果图像中某一整数像素位置时;
根据所述一个或多个输入视频一帧图像中的整数像素位置的像素值和所述像素值映射关系,计算所述全景拼接结果图像中的所述整数像素位置的像素值。
进一步地,所述根据所述每一输入视频的同一时刻的一帧图像、位置映射关系和对应于所述位置映射关系的像素值映射关系计算对应一帧的全景拼接结果图像中每一像素的像素值,包括:
根据所述位置映射关系,当所述一个或多个输入视频一帧图像中的整数像素位置对应于一帧全景拼接结果图像中某一非整数像素位置;
根据所述一个或多个输入视频一帧图像中的整数像素位置的像素和所述像素值映射关系,计算所述全景拼接结果图像中的非整数像素位置的像素值;
根据所述一帧全景拼接结果图像中的非整数像素位置的像素值和插值算法,计算得到所述一帧全景拼接结果图像中非整数像素位置周围的整数像素位置的像素值。
进一步地,根据所述一帧全景拼接结果图像中的非整数像素位置的像素值和插值算法,计算得到所述一帧全景拼接结果图像中非整数像素位置周围的整数像素位置的像素值,包括:
根据所述一帧全景拼接结果图像中的整数像素位置周围的非整数像素位置的像素值的加权平均,得到所述一帧全景拼接结果图像中所述整数像素位置的像素值。
进一步地,得到所述输入视频的同一时刻的一帧图像与对应一帧的全景拼接结果图像之间对应于所述位置映射关系的像素值映射关系之后,还包括:
将所述对应的一个或多个输入视频一帧图像的像素中像素权值大于预设阈值的像素作为筛选后的像素。
进一步地,所述根据所述每一输入视频的同一时刻的一帧图像、位置映射关系和对应于所述位置映射关系的像素值映射关系计算对应一帧的全景拼接结果图像中每一像素的像素值,包括:
根据所述每一输入视频的同一时刻的一帧图像、位置映射关系和对应于所述位置映射关系的像素值映射关系,计算所述全景拼接结果图像中某一像素对应的一个或多个输入视频一帧图像中的各像素或筛选后的各像素的像素值与对应的像素权值的乘积;
对所述各像素或筛选后的各像素的像素值与对应的像素权值的乘积进行求和,得到所述全景拼接结果图像中所述像素的像素值。
进一步地,所述将对应的一个或多个输入视频一帧图像的像素中像素权值大于预设阈值的像素作为筛选后的像素之后,包括:
将筛选后的像素的像素权值乘以放大系数并舍弃小数部分后,得到对应的放大像素权值,其中,所述放大系数为预设阈值的倒数。
更进一步地,所述放大系数为2的整数次方的正整数。
更进一步地,根据所述每一输入视频的同一时刻的一帧图像和对应于所述位置映射关系的像素值映射关系计算对应一帧的全景拼接结果图像中每一像素的像素值,包括:
根据所述每一输入视频的同一时刻的一帧图像和对应于所述位置映射关系的像素值映射关系,计算所述全景拼接结果图像中某一像素对应的一个或多个输入视频一帧图像中的筛选后的各像素的像素值与对应的放大像素权值的乘积;
对所述筛选后的各像素的像素值与对应的放大像素权值的乘积进行求和,得到所述全景拼接结果图像中对应像素的放大像素值;
将所述放大像素值除以所述放大系数,得到所述全景拼接结果图像中对应像素的像素值。
根据本申请的另一方面,还提供了一种全景视频渲染的设备,包括:
获取装置,用于获取不同机位同一时段的每一输入视频的同一时刻的一帧图像;
计算装置,用于根据所述每一输入视频的同一时刻的一帧图像,得到所述输入视频的同一时刻的一帧图像与对应一帧的全景拼接结果图像之间的位置映射关系和对应于所述位置映射关系的像素值映射关系;
渲染装置,用于根据所述每一输入视频的同一时刻的一帧图像、位置映射关系和对应于所述位置映射关系的像素值映射关系计算对应一帧的全景拼接结果图像中每一像素的像素值。
进一步地,上述设备中,所述位置映射关系和像素值映射关系包含于一渲染函数中,所述设备包括:
确定渲染函数装置,用于所述渲染函数根据所述每一输入视频的同一时刻的一帧图像中的参数信息集将畸变矫正、拼接和所述像素值映射关系进行合并得到。
进一步地,所述渲染函数表示如下:
P′(x′,y′)=FA(K|x,y),其中,表示所述参数信息集,P′(x′,y′)表示所述全景拼接结果图像中位置(x′,y′)处像素的像素值,FA(K|x,y)表示所述渲染函数,(x,y)表示每一输入视频的同一时刻的一帧图像的位置,(xi0,yi0)表示第i幅输入视频图像的中心位置,di表示拍摄第i幅输入视频的镜头的有效区域直径,表示拍摄第i幅输入视频的镜头的视场角,(dxi,dyi)表示第i幅输入视频图像的平移位置,βi表示第i幅输入视频图像的旋转参数,si表示第i幅输入视频图像的缩放参数,n表示正整数。
进一步地,所述位置映射关系,包括:
所述全景拼接结果图像中某一像素与一个或多个输入视频的同一时刻的一帧图像中的一个或多个像素的位置对应关系。
进一步地,所述像素值映射关系包括所述全景拼接结果图像中某一像素对应的一个或多个输入视频一帧图像中的像素的像素值及像素权值。
进一步地,上述设备中,所述计算装置用于:
当根据所述位置映射关系确定所述全景拼接结果图像中某一像素对应一个或多个输入视频一帧图像中的非整数像素位置时,根据所述对应的每一帧图像中的所述非整数像素位置周围的整数像素位置的像素值和插值算法,计算得到所述对应的每一帧图像中的非整数像素位置的像素值;
根据所述非整数像素位置确定对应的像素权值。
进一步地,所述计算装置用于:
当根据所述位置映射关系确定所述全景拼接结果图像中某一像素对应一个或多个输入视频一帧图像中的非整数像素位置和整数像素位置时,根据所述对应的每一帧图像中的所述非整数像素位置周围的整数像素位置的像素值和插值算法,计算得到所述对应的每一帧图像中的非整数像素位置的像素值;
根据所述非整数像素位置和整数像素位置的像素值分别确定对应的像素权值。
进一步地,所述渲染装置用于:
根据所述一个或多个输入视频一帧图像中的像素、位置映射关系确定对应一帧的全景拼接结果图像中每一整数像素位置;
根据所述一个或多个输入视频一帧图像中的非整数像素位置的像素值,或者所述一个或多个输入视频一帧图像中的非整数像素位置和整数像素位置的像素值,及所述像素值映射关系计算对应一帧的全景拼接结果图像中每一整数像素位置的像素值。
进一步地,所述渲染装置用于:
将所述对应的每一帧图像中的非整数像素位置周围的一个或多个整数像素位置的像素值进行加权平均,计算得到所述对应的每一帧图像中的非整数像素位置的像素值。
进一步地,所述渲染装置用于:
根据所述位置映射关系,当所述一个或多个输入视频一帧图像中的整数像素位置对应于一帧全景拼接结果图像中某一整数像素位置时;
根据所述一个或多个输入视频一帧图像中的整数像素位置的像素值和所述像素值映射关系,计算所述全景拼接结果图像中的所述整数像素位置的像素值。
进一步地,所述渲染装置用于:
根据所述位置映射关系,当所述一个或多个输入视频一帧图像中的整数像素位置对应于一帧全景拼接结果图像中某一非整数像素位置;
根据所述一个或多个输入视频一帧图像中的整数像素位置的像素和所述像素值映射关系,计算所述全景拼接结果图像中的非整数像素位置的像素值;
根据所述一帧全景拼接结果图像中的非整数像素位置的像素值和插值算法,计算得到所述一帧全景拼接结果图像中非整数像素位置周围的整数像素位置的像素值。
进一步地,所述渲染装置用于:
根据所述一帧全景拼接结果图像中的整数像素位置周围的非整数像素位置的像素值的加权平均,得到所述一帧全景拼接结果图像中所述整数像素位置的像素值。
进一步地,在上述设备中,所述设备还包括:
筛选装置,用于将所述对应的一个或多个输入视频一帧图像的像素中像素权值大于预设阈值的像素作为筛选后的像素。
进一步地,所述渲染装置用于:
根据所述每一输入视频的同一时刻的一帧图像、位置映射关系和对应于所述位置映射关系的像素值映射关系,计算所述全景拼接结果图像中某一像素对应的一个或多个输入视频一帧图像中的各像素或筛选后的各像素的像素值与对应的像素权值的乘积;
对所述各像素或筛选后的各像素的像素值与对应的像素权值的乘积进行求和,得到所述全景拼接结果图像中所述像素的像素值。
进一步地,在上述设备中,还包括:筛选装置,用于将筛选后的像素的像素权值乘以放大系数并舍弃小数部分后,得到对应的放大像素权值,其中,所述放大系数为预设阈值的倒数。
更进一步地,所述放大系数为2的整数次方的正整数。
更进一步地,在上述设备中,所述渲染装置用于:
根据所述每一输入视频的同一时刻的一帧图像和对应于所述位置映射关系的像素值映射关系,计算所述全景拼接结果图像中某一像素对应的一个或多个输入视频一帧图像中的筛选后的各像素的像素值与对应的放大像素权值的乘积;
对所述筛选后的各像素的像素值与对应的放大像素权值的乘积进行求和,得到所述全景拼接结果图像中对应像素的放大像素值;
将所述放大像素值除以所述放大系数,得到所述全景拼接结果图像中对应像素的像素值。
与现有技术相比,本申请通过获取不同机位同一时段的每一输入视频的同一时刻的一帧图像,获取到所有输入视频的第一帧图像可为后续的将畸变矫正、拼接、计算映射关系等多个步骤进行合并得到的渲染函数提供相关参数信息;接着,根据所述每一输入视频的同一时刻的一帧图像,得到所述输入视频的同一时刻的一帧图像与对应一帧的全景拼接结果图像之间的位置映射关系和对应于所述位置映射关系的像素值映射关系;因此,当在映射关系未发生变化时,每一帧图像中像素点的像素值计算都可以直接利用该映射关系,无需重新计算,从而减少了运算量。随后,根据所述每一输入视频的同一时刻的一帧图像和像素值映射关系计算对应一帧的全景拼接结果图像中每一像素的像素值。将畸变矫正、拼接等多个步骤合并为单一步骤,省去了每个步骤渲染中的图像插值,将总的图像插值次数减少为一次,减少了由于图像插值引入的图像信息损失和失真,同时节省了现有技术中畸变矫正、拼接、输出映射等步骤和插值过程中的大量计算,且全景拼接图像中每个像素的计算是独立的,可并行化处理,加快计算速度。
进一步地,所述位置映射关系,包括:所述全景拼接结果图像中某一像素与一个或多个输入视频的同一时刻的一帧图像中的一个或多个像素的位置对应关系。在本申请中,通过确定位置映射关系,指定全景拼接结果图像中某一像素,能够定位到该全景拼接结果图像对应的输入视频,并确定输入视频中像素位置所对应的像素点与全景拼接结果图像中指定像素是对应的,根据位置映射关系计算后续所需的对应的像素值映射关系。
进一步地,像素值映射关系包括所述全景拼接结果图像中某一像素对应的一个或多个输入视频一帧图像中的像素的像素值及像素权值,通过对像素值映射关系的计算,方便后续确定每一帧图像中像素的像素值,减少计算各像素的像素值这一过程的计算量,提高拼接成全景拼接结果图像的速度。
进一步地,本申请通过对输入视频图像中的非整数位置的像素进行插值,得到所述非整数位置的像素的像素值,进而计算对应的全景拼接结果图像中的某一像素位置的像素值,在此,对于输入视频图像中任意非整数位置的像素,按照不同的插值算法,其像素值可以通过周围一定区域的像素值计算得到,周围区域的大小和形状由插值算法决定。利用本申请所述的在输入视频图像进行插值的方法,渲染过程只需在输入图像中进行插值一次即可,在全景拼接结果图像中不需再做插值,将现有技术中每一步骤都需插值的次数减少为一次,减少了图像信息损失和失真。
进一步地,本申请还可通过根据所述位置映射关系,当所述一个或多个输入视频一帧图像中的整数像素位置对应于一帧全景拼接结果图像中某一非整数像素位置;根据所述一个或多个输入视频一帧图像中的整数像素位置的像素和所述像素值映射关系,计算所述全景拼接结果图像中的非整数像素位置的像素值;根据所述一帧全景拼接结果图像中的非整数像素位置的像素值和插值算法,计算得到所述一帧全景拼接结果图像中非整数像素位置周围的整数像素位置的像素值。即当输入视频图像不做插值时,对应的全景拼接结果图像中会计算得到非整数像素位置的像素值,此时需要对全景拼接结果图像做插值,将计算得到的非整数像素位置的像素值转换为需要的整数像素位置的像素值。因此,只有全景拼接结果图像中做插值,即在渲染过程结束后的一次插值,减少了插值引起的图像失真。
进一步地,在本申请中全景拼接结果图像中一个像素与一个或多个输入图像中的像素对应,其像素值根据对应输入图像中的像素的像素值及其像素权值计算得到,通过预设的筛选方法将不满足条件的像素剔除,只利用筛选后的像素的像素值和像素权值进行计算,加快计算速度。
进一步地,将对应的所述一个或多个输入视频一帧图像中像素的像素权值乘以所述放大系数并舍弃其小数部分,得到对应的放大像素权值;取放大系数为2的整数次方的正整数时,将浮点运算转换成了整数及移位运算,加快了运算速度。更进一步地,根据所述每一输入视频的同一时刻的一帧图像和对应于所述位置映射关系的像素值映射关系,计算所述全景拼接结果图像中某一像素对应的一个或多个输入视频一帧图像中的筛选后的各像素的像素值与对应的放大像素权值的乘积;对所述筛选后的各像素的像素值与对应的放大像素权值的乘积进行求和,得到所述全景拼接结果图像中对应像素的放大像素值;将所述放大像素值除以所述放大系数,得到所述全景拼接结果图像中对应像素的像素值。通过确定对应的放大像素权值更新对应的像素值映射关系,由更新后的像素值映射关系计算全景拼接结果图像中每一像素的像素值,计算结果除以放大系数,完成对全景拼接结果图像的渲染,优化渲染过程的整数化性能。在本申请中,将乘法运算替换为移位运算,在计算机操作过程中,体现为将浮点乘除法运算转换为整数移位运算,加快了运算速度,此外,还将浮点数乘法转换为整数乘法,便于在一些不支持浮点或浮点运算较慢的平台(如FPGA)上实施。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个方面的一种全景视频的渲染的方法流程示意图;
图2示出根据本申请一个方面的一个实施例的确定渲染函数的过程示意图;
图3示出现有技术中畸变矫正过程中畸变参数的示意图;
图4示出现有技术中的拼接过程的示意图;
图5示出根据本申请一个方面的插值算法的一个实施例的示意图;
图6示出根据本申请另一个方面的一种全景视频的渲染的设备结构示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
图1示出根据本申请一个方面的一种全景视频的渲染的方法流程示意图;所述方法包括步骤S11、步骤S12和步骤S13,其中,在步骤S11中,获取不同机位同一时段的每一输入视频的同一时刻的一帧图像;在步骤S12中,根据所述每一输入视频的同一时刻的一帧图像,得到所述输入视频的同一时刻的一帧图像与对应一帧的全景拼接结果图像之间的位置映射关系和对应于所述位置映射关系的像素值映射关系;在步骤S13中,根据所述每一输入视频的同一时刻的一帧图像、位置映射关系和对应于所述位置映射关系的像素值映射关系计算对应一帧的全景拼接结果图像中每一像素的像素值。在本申请中利用每一输入视频的同一时刻的一帧图像,计算得到输入视频的同一时刻的一帧图像与对应一帧的全景拼接结果图像之间的位置映射关系和对应的像素值映射关系,存储全景拼接结果图像中每个像素的位置映射关系和像素值映射关系,在映射关系未发生变化时无需重新计算,利用位置映射关系和像素值映射关系逐帧计算每一帧的像素值,完成各帧图像的渲染,减少了计算量。同时,因仅利用了存储的位置映射关系和像素值映射关系从而省去了现有技术中每个步骤渲染中的图像插值,将总的图像插值次数减为一次,减少了由于图像插值引入的图像信息损失和失真。
具体地,在步骤S11中,获取不同机位同一时段的每一输入视频的同一时刻的一帧图像;在此,将不同机位的镜头拍摄的视频渲染成全景视频,需要获取到不同机位同一时段的所有输入视频的同一时刻的一帧图像,这里优选为第一帧图像,获取到所有输入视频的第一帧图像可为后续的将畸变矫正、拼接、计算映射关系等多个步骤进行合并得到的渲染函数提供相关参数信息。
接着,在步骤S12中,根据所述每一输入视频的同一时刻的一帧图像,得到所述输入视频的同一时刻的一帧图像与对应一帧的全景拼接结果图像之间的位置映射关系和对应于所述位置映射关系的像素值映射关系;在此,全景拼接结果图像中任意一个像素点是由一个或多个输入视频图像中的像素点合并得到的,计算全景拼接结果图像中的某一个像素点的像素值需要找到输入视频图像中对应的像素点及它们之间的像素值计算的映射关系,其中,映射关系表现为全景拼接结果图像上每个位置的像素,和所对应的由输入图像源编号和像素在图像中的偏移位置及像素权值三因素组成的集合,所述映射关系包括了全景拼接结果图像中每个像素位置和输入图像中相关像素的位置及像素权值关系。因此,计算全景拼接结果图像中每一像素点的像素值时,需要获得所述输入视频的同一时刻的一帧图像与对应一帧的全景拼接结果图像之间的位置映射关系和对应于所述位置映射关系的像素值映射关系。因此,当在映射关系未发生变化时,每一帧图像中像素点的像素值计算都可以直接利用该映射关系,无需重新计算,从而减少了运算量。
具体地,在步骤S13中,根据所述每一输入视频的同一时刻的一帧图像、位置映射关系和对应于所述位置映射关系的像素值映射关系计算对应一帧的全景拼接结果图像中每一像素的像素值。在此,按照上述计算获得的每一输入视频的同一时刻的一帧图像和像素值映射关系,逐帧对全景拼接结果视频中的图像进行渲染,即计算图像中每个像素的像素值,在像素值映射关系未发生变化时无需重新计算,减少了计算量,且由于计算全景拼接图像中每个像素所需的信息都已被独立计算,因此可以利用GPU进行并行计算加速,实现实时的全景视频拼接。
优选地,所述位置映射关系和像素值映射关系包含于一渲染函数中,包括:所述渲染函数根据所述每一输入视频的同一时刻的一帧图像中的参数信息将畸变矫正、拼接和所述像素值映射关系进行合并得到。在此,全景视频的渲染过程通常涉及畸变矫正,拼接融合,按照模型输出(按照像素值映射关系输出)等多个渲染过程。对于渲染过程的合并,可以按照渲染过程的变换分为连续变换和离散变换两类。对于连续变换,多个变换过程可以直接合并。即将f(A)=B,g(B)=C合并为g(f(A))=C,其中f和g表示变换过程。可以按此方式将多个变换过程合并为一个,然后再按照合并后的变换过程,计算渲染信息,即计算像素值映射关系。需要说明的是,本申请一优选应用场景为对于连续的视频拍摄的全景视频的渲染,将多个连续变换过程合并为一个后,可以将多个变换过程中的插值过程合并为一个,减少运算量的同时减少了插值引起的图像损失。但对于离散变换,由于无法保证两个变换过程之间结果集和输入集的对接,因此插值过程无法省略,变换过程也无法合并为一个。因此对于离散变换,需要按照变换过程,逐个计算渲染信息,并用前一个变换的渲染信息作为下一个变换的输入,最终得到整个渲染过程的渲染信息。离散变换过程的合并可以得到最终的渲染信息,但与连续变换的合并相比,并没有减少变换过程的插值运算。
优选地,所述渲染函数表示如下:P′(x′,y′)=FA(K|x,y),其中,表示所述参数信息集,P′(x′,y′)表示所述全景拼接结果图像中位置(x′,y′)处像素的像素值,FA(K|x,y)表示所述渲染函数,(x,y)表示每一输入视频的同一时刻的一帧图像的位置,(xi0,yi0)表示第i幅输入视频一帧图像的中心位置,di表示拍摄第i幅输入视频一帧图像的镜头的有效区域直径,表示拍摄第i幅输入视频一帧图像的镜头的视场角,(dxi,dyi)表示第i幅输入视频一帧图像的平移位置,βi表示第i幅输入视频一帧图像的旋转参数,si表示第i幅输入视频一帧图像的缩放参数,n表示正整数。在一实施例中,如图2所示,将畸变矫正、等角圆柱投影、拼接、按照模型输出(像素值映射关系计算)等步骤合并得到渲染函数,其中,畸变矫正是指将相机拍摄到的原始数字化图像在真实空间方位信息进行还原的过程。畸变矫正的计算过程通常由一个固定的矫正模型和依赖于具体图像的畸变参数来描述,因此在进行畸变矫正前,首先需要进行图像中心、有效缩放倍数等畸变参数的计算。对于等距鱼眼镜头,矫正模型公式为:
其中,参考图3所示,畸变参数图像中心(x0,y0)和镜头有效区域直径d需要从图像中计算获得,像素点P在直角坐标系中的位置为(x,y),经过矫正后,像素点P的直角坐标转换为极坐标系中坐标畸变参数鱼眼镜头视场角为镜头属性。将上述步骤记为:
接着,拼接过程是将n个输入图像,按照位置关系合并为同一幅图像,平面拼接图像之间的位置关系一般为平移、旋转、缩放;如图4所示,X1、X2、X3、X4为输入图像,将该4幅图像进行拼接,某一像素点P(x,y)在拼接完成后对应为像素点P(x’,y’)。对于平面拼接,设定第i幅图像的平移xy,旋转,缩放参数分别为dxi,dyi,,βi,si,这些参数通过图像配准来计算,图像配准可以采取基于特征点或图像轮廓的简单平移配准,仿射变换等不同方式计算。拼接过程记为:P′(x′,y′)=Fs(dx1..n,dy1..n,β1..n,s1..n|i,x,y)。
全景图像按照投影到平面的不同模型可以输出为不同的平面图像,如等角圆柱投影,立方体投影,等面积投影。
对于等角圆柱投影:
对于立体投影:
将投影过程记为:
综上所述,将畸变矫正、等角圆柱投影、拼接、按照模型输出(像素值映射关系计算)等步骤合并得到渲染函数:P′(x′,y′)=FA(K|x,y),其中,参数信息集
优选地,所述位置映射关系,包括:所述全景拼接结果图像中某一像素与一个或多个输入视频的同一时刻的一帧图像中的一个或多个像素的位置对应关系。在一实施例中,如输入视频为A、B、C,它们的第一帧图像为a1、b1和c1,全景拼接结果视频的第一帧图像为N,N中的某一像素点n1的像素位置为(xn1,yn1),输入视频的同一时刻的一帧图像与对应一帧的全景拼接结果图像之间的位置映射关系在(xn1,yn1)处的表现为:(xn1,yn1)处的像素点是由图像a1中的(xa1,ya1)处的像素点及图像b1中(xb1,yb1)处的像素点合并得到的。又如,N中的另一像素点n2的像素位置(xn2,yn2)与图像a1中的像素位置(xa2,ya2)、图像b1中的像素位置(xb2,yb2)及图像c1中的像素位置(xc2,yc2)对应。在本申请中,通过确定位置映射关系,指定全景拼接结果图像中某一像素,就可以定位到该全景拼接结果图像对应的输入视频,并确定输入视频中哪些像素与全景拼接结果图像中指定像素是对应的,根据位置映射关系计算后续所需的对应的像素值映射关系。优选地,像素值映射关系包括所述全景拼接结果图像中某一像素对应的一个或多个输入视频一帧图像中的像素的像素值及像素权值。接上述实施例,此时,图像a1中的(xa1,ya1)处的像素点的像素值为Ap,且在全景拼接结果图像中的像素权值为0.6,图像b1中的(xb1,yb1)处的像素点的像素值为Bp,且在全景拼接结果图像中的像素权值为0.4,则对应的像素值映射关系为(xn1,yn1)处的像素点的像素值Np由(Ap,0.6)和(Bp,0.4)确定的映射关系,比如Np=Ap*0.6+Bp*0.4。通过对像素值映射关系的计算,方便后续确定每一帧图像中像素的像素值,减少计算各像素的像素值这一过程的计算量,提高拼接成全景拼接结果图像的速度。
优选地,在步骤S12中,当根据所述位置映射关系确定所述全景拼接结果图像中某一像素对应一个或多个输入视频一帧图像中的非整数像素位置时,根据所述对应的每一帧图像中的所述非整数像素位置周围的整数像素位置的像素值和插值算法,计算得到所述对应的每一帧图像中的非整数像素位置的像素值;根据所述非整数像素位置确定对应的像素权值。在本申请的一具体实施例中,根据位置映射关系确定所述全景拼接结果图像中某一像素N1(2,2)对应的A、B、C三个输入视频一帧图像中的像素位置分别为a1(1.5,2)、b1(1.5,0.5)和c1(2,1.5),N1(2,2)这点的像素值是由a1(1.5,2)、b1(1.5,0.5)和c1(2,1.5)这三点的像素值和像素权值计算得到,因a1、b1和c1的像素位置都为非整数位置,因此需要分别计算这三点非整数位置的像素值,在一帧图像中根据非整数位置的周围整数位置的像素值和插值算法计算a1、b1和c1的像素值,并确定对应的像素权值。通过对输入视频图像中的非整数位置的像素进行插值,得到所述非整数位置的像素的像素值,进而计算对应的全景拼接结果图像中的某一像素位置的像素值,渲染过程只需在输入图像中进行插值一次即可,将现有技术中每一步骤都需插值的次数减少为一次,减少了图像信息损失和失真。
优选地,在步骤S12中,当根据所述位置映射关系确定所述全景拼接结果图像中某一像素对应一个或多个输入视频一帧图像中的非整数像素位置和整数像素位置时,根据所述对应的每一帧图像中的所述非整数像素位置周围的整数像素位置的像素值和插值算法,计算得到所述对应的每一帧图像中的非整数像素位置的像素值;根据所述非整数像素位置和整数像素位置的像素值分别确定对应的像素权值。在又一实施例中,根据位置映射关系确定所述全景拼接结果图像中某一像素N2(3,4)对应的A、B、C三个输入视频一帧图像中的像素位置分别为a2(2.5,4)、b2(3,4)和c2(3.5,3.5),N2(3,4)这点的像素值是由a2(2.5,4)、b2(3,4)和c2(3.5,3.5)这三点的像素值和像素权值计算得到,b2(3,4)为整数像素位置,则像素值是确定的,而a2、和c2的像素位置都为非整数位置,因此需要分别计算这两点非整数位置的像素值,在一帧图像中根据非整数位置的周围整数位置的像素值和插值算法计算a2和c2的像素值,并确定对应的像素权值。需要说明的是,根据所述位置映射关系确定所述全景拼接结果图像中某一像素对应三个输入视频一帧图像中的两个非整数像素位置和一个整数像素位置仅为举例,其他现有的或今后可能出现的输入视频一帧图像中的非整数像素位置的个数和整数像素位置的个数不做限定,如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
优选地,在步骤S13中,将所述对应的每一帧图像中的非整数像素位置周围的一个或多个整数像素位置的像素值进行加权平均,计算得到所述对应的每一帧图像中的非整数像素位置的像素值。当对输入视频图像进行插值时,对于输入视频图像中任意非整数位置的像素,按照不同的插值算法,其像素值可以通过周围一定区域的像素值计算得到,周围区域的大小和形状由插值算法决定。对于双线性插值,目标位置的像素值是周围两个坐标轴上最近的四个点以位置距离的远近为权值因子得到的加权平均值。由于插值过程的权值因子仅和位置有关,因此权值因子可以预先计算作为参数。如图5所示,计算非整数像素位置P的像素值,通过周围的整数像素位置P1、P2、P3和P4的像素值计算:
P=(1-Δx)·(1-Δy)·P1+Δx·(1-Δy)·P2+Δy·(1-Δx)·P3+Δx·Δy·P4。
其中,Δx为点P4到P点的横坐标轴上的距离,Δy为点P4到P点的纵坐标轴上的距离。需要说明的是,上述双线性插值仅为本申请的一种插值算法,还可以利用最邻近插值方式等,其他现有的或今后可能出现的插值算法,如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
优选地,步骤S13包括:根据所述一个或多个输入视频一帧图像中的像素、位置映射关系确定对应一帧的全景拼接结果图像中每一整数像素位置;根据所述一个或多个输入视频一帧图像中的非整数像素位置的像素值,或者所述一个或多个输入视频一帧图像中的非整数像素位置和整数像素位置的像素值,及所述像素值映射关系计算对应一帧的全景拼接结果图像中每一整数像素位置的像素值。综上两个实施例可知,当根据位置映射关系确定全景拼接结果图像中每一整数像素位置对应的一个或多个输入视频一帧图像中包括非整数像素位置时,需要对包括非整数像素位置的一帧图像做插值,计算该非整数像素位置的像素值,及确定对应的像素权值,根据像素值映射关系计算对应一帧的全景拼接结果图像中每一整数像素位置的像素值,本申请的这一全景渲染方案使得插值过程只进行了一次,即只在输入视频图像中进行插值,对应的全景拼接结果图像中不再做插值,减少了由于图像插值引入的图像信息损失和失真。
优选地,在步骤S13中,根据所述位置映射关系,当所述一个或多个输入视频一帧图像中的整数像素位置对应于一帧全景拼接结果图像中某一整数像素位置时;根据所述一个或多个输入视频一帧图像中的整数像素位置的像素值和所述像素值映射关系,计算所述全景拼接结果图像中的所述整数像素位置的像素值。在此,当输入视频图像中不做插值时,根据位置映射关系,当一个或多个输入视频一帧图像中的整数像素位置对应于一帧全景拼接结果图像中某一整数像素位置时,如有三个输入视频一帧图像A、B、C三个图像中的整数像素位置分别为a3(2,3)、b3(2,3)和c3(2,3),对应于全景拼接结果图像中的一点像素位置N3(2,3),因a3(2,3)、b3(2,3)和c3(2,3)都为整数像素位置,像素值已确定,则根据a3(2,3)、b3(2,3)和c3(2,3)的像素值及对应的像素值映射关系,计算全景拼接结果图像中的N3(2,3)处的像素值。需要说明的是,当根据位置映射关系确定一个或多个输入一帧图像中的整数像素位置对应于全景拼接结果图像中某一整数像素位置时,计算全景拼接结果图像中该整数位置的像素值直接利用位置映射关系和像素值映射关系计算即可,不需要做插值;而会有一种情况,当根据位置映射关系确定一个或多个输入一帧图像中的整数像素位置对应于全景拼接结果图像中某一非整数像素位置时,此时需要对全景拼接结果图像做插值操作。具体如下:
优选地,在步骤S13中,根据所述位置映射关系,当所述一个或多个输入视频一帧图像中的整数像素位置对应于一帧全景拼接结果图像中某一非整数像素位置;根据所述一个或多个输入视频一帧图像中的整数像素位置的像素和所述像素值映射关系,计算所述全景拼接结果图像中的非整数像素位置的像素值;根据所述一帧全景拼接结果图像中的非整数像素位置的像素值和插值算法,计算得到所述一帧全景拼接结果图像中非整数像素位置周围的整数像素位置的像素值。在一具体实施例中,A、B、C三个输入视频一帧图像中的像素位置分别为a4(5,6)、b4(5,5)和c4(5,6)这三点的像素位置对应于一帧全景拼接结果图像中一非整数像素位置N4(5.5,6),则在计算过程中根据a4(5,6)、b4(5,5)和c4(5,6)这三点的像素值及对应的像素权值计算N4(5.5,6)的像素值,但在全景拼接结果图像中该处非整数像素位置并不显示,只存在于计算过程中,因此需要将该处的非整数像素位置的像素值分散到其周围的整数像素位置的像素值计算中,如N4(5.5,6)周围的一整数位置N5(5,6)处的像素值可能利用到了N4(5.5,6)处的像素值。在此,更优选地,根据所述一帧全景拼接结果图像中的非整数像素位置的像素值和插值算法,计算得到所述一帧全景拼接结果图像中非整数像素位置周围的整数像素位置的像素值,包括:根据所述一帧全景拼接结果图像中的整数像素位置周围的非整数像素位置的像素值的加权平均,得到所述一帧全景拼接结果图像中所述整数像素位置的像素值。例如,继续接上述实施例,N4(5.5,6)处的像素值由位置映射关系和像素值映射关系计算得到,相同的计算过程可确定同一帧图像中的N3(5,5.5)、N6(4.5,6)和N7(5,6.5)处的像素值,则整数像素位置N(5,6)处的像素值可以利用其周围的非整数像素位置N3(5,5.5)、N4(5.5,6)、N6(4.5,6)和N7(5,6.5)的像素值的加权平均计算得到。需要说明的是,N(5,6)处的像素值也有可能是直接利用位置映射关系和像素值映射关系计算得到,如N(5,6)对应于输入视频中的整数像素位置,也可能是其周围的整数像素位置和非整数像素位置的像素值共同确定,总之,当输入视频图像不做插值时,对应的全景拼接结果图像中会计算得到非整数像素位置的像素值,此时需要对全景拼接结果图像做插值,将计算得到的非整数像素位置的像素值转换为需要的整数像素位置的像素值。通过上述对全景拼接结果图像做插值的方法,只有渲染过程结束后的一次插值,减少了插值引起的图像失真。
优选地,所述步骤S12之后,还包括:将所述对应的一个或多个输入视频中的像素中像素权值大于预设阈值的像素作为筛选后的像素。在此,全景拼接结果图像中一个像素与一个或多个输入图像中的像素对应,其像素值根据对应输入图像中的像素的像素值及其像素权值计算得到,当输入视频中的像素中有的像素权值太过于极小时,可以通过预设的筛选方法将不满足条件的像素剔除,只利用筛选后的像素的像素值和像素权值进行计算,加快计算速度。在一具体实施例中,全景拼接结果图像N中的某一像素点n1的像素值P由输入图像A1、A2、A3,A4中对应位置的像素点的像素值及像素权值确定,各输入图像中对应位置的像素的像素值及像素权值组成的集合{(P1,w1),(P2,w2),(P3,w3),(P4,w4)},其中,(Pi,wi)为第i幅图对应位置的像素点的像素值和像素权值,其中,i=1,2,3,4。像素权值的预设阈值为M,则经过筛选后的像素点的像素值及像素权值的集合为{(P1,w1),(P4,w4)},全景拼接结果图像N中的某一像素点n1的像素值P的计算结果利用筛选后的集合{(P1,w1),(P4,w4)}计算得到。
优选地,步骤S13包括:根据所述每一输入视频的同一时刻的一帧图像、位置映射关系和对应于所述位置映射关系的像素值映射关系,计算所述全景拼接结果图像中某一像素对应的一个或多个输入视频一帧图像中的各像素或筛选后的各像素的像素值与对应的像素权值的乘积;对所述各像素或筛选后的各像素的像素值与对应的像素权值的乘积进行求和,得到所述全景拼接结果图像中所述像素的像素值。全景拼接结果图像中像素位置(x’,y’)处像素的值为:其中,Pm(i,x,y)代表第im幅输入图像(xm,ym)位置处的像素值P(im,xm,ym),继续接上述实施例,经过筛选后的像素点的像素值及像素权值的集合为{(P1,w1),(P4,w4)},则计算P=P1*w1+P4*w4,全景拼接结果图像N中的某一像素点n1的像素值P的计算过程通过筛选步骤,加快了计算速度。
更优选地,所述将对应的一个或多个输入视频一帧图像的像素中像素权值大于预设阈值的像素作为筛选后的像素之后,包括:将筛选后的像素的像素权值乘以放大系数并舍弃小数部分后,得到对应的放大像素权值,其中,所述放大系数为预设阈值的倒数。在一具体实施例中,四个输入视频的一帧图像中有对应的四个像素点a3(2,3)、b3(2,3)、c3(2,3)和d3(2,3)与全景拼接结果图像中N3(2,3)对应,预设的阈值为T,将对应的所述四个输入视频一帧图像中像素的像素权值分别与T比较进行筛选,得到筛选后的像素点为a3(2,3)和d3(2,3),之后将a3(2,3)处的像素权值乘以放大系数M并舍去小数部分的放大像素权值w1=m1;d3(2,3)处像素权值乘以M并舍去小数部分的放大像素权值w4=m4;其中,放大系数M为预设的阈值T的倒数,利用筛选后的像素点为a3(2,3)和d3(2,3)这两点的放大像素权值和像素值计算N3(2,3)的像素值。
更优选地,所述放大系数包括为2的整数次方的正整数。在上述具体实施例中,M=220,因筛选后的像素点为a3(2,3)和d3(2,3),将a3(2,3)处的像素权值乘以220后像素权值为2.13,舍去小数部分为放大像素权值P1=2;d3(2,3)处像素权值乘以220后像素权值为3.33,舍去小数部分为放大像素权值P4=3。利用此两点的放大像素权值和像素值计算N3(2,3)的像素值,将浮点运算转换为整数运算,加快运算速度。需要说明的是,上述出现的数值2.13,3.33仅为举例说明像素权值乘以220后的数值可能会出现非整数的情况,并不为实际应用中的像素权值的数值。
优选地,步骤S13包括:根据所述每一输入视频的同一时刻的一帧图像和对应于所述位置映射关系的像素值映射关系,计算所述全景拼接结果图像中某一像素对应的一个或多个输入视频一帧图像中的筛选后的各像素的像素值与对应的放大像素权值的乘积;对所述筛选后的各像素的像素值与对应的放大像素权值的乘积进行求和,得到所述全景拼接结果图像中对应像素的放大像素值;将所述放大像素值除以所述放大系数,得到所述全景拼接结果图像中对应像素的像素值。继续接上例,筛选后的像素点为a3(2,3)和d3(2,3),利用此两点的放大像素权值和像素值计算N3(2,3)的像素值P’,则P=Pa3*w3+Pd3*w4,p’=p/M,其中,Pa3为像素点为a3(2,3)的像素值,Pd3为像素点为d3(2,3)的像素值,M为放大系数(优选取M=220)。根据上述的整数化性能优化方法,则全景拼接结果图像中某一像素的像素值的计算公式修改为:
其中,如w×220=w<<20表示将w向左移位20位,将乘法运算替换为移位运算,在计算机操作过程中,体现为将浮点乘除法运算转换为整数移位运算,加快了运算速度,为本申请全景视频的渲染方法的一个整数化性能优化过程,此外将像素权重w从浮点数转换为整数,将w×p的浮点数乘法转换为整数乘法,便于在一些不支持浮点或浮点运算较慢的平台(如FPGA)上实施。
综上所述,在本申请所述的全景视频的渲染方法中,对于全景视频,在连续的拍摄期间、相机镜头、相机之间的位置以及输出投影方式都不会发生变化,将畸变矫正、拼接和所述像素值映射关系进行合并得到渲染函数的过程不会发生变化;插值一般综合考虑性能和效果选择用一种固定的插值方式,不会轻易改变。因此,对于连续的视频拍摄,使用本申请所述的全景视频的渲染的方法是可行的,与现有技术相比,节省了每一步骤的插值过程中的大量计算,且本申请所述的方法对视频的每一帧执行一次,根据渲染函数计算全景拼接结果图像中每个像素是独立无关的,可以并行化计算,通过GPU等并行计算进行加速,实现实时的全景视频拼接。
图6示出根据本申请另一个方面的一种全景视频渲染的设备的结构示意图;所述设备1包括获取装置11、计算装置12和渲染装置13,其中,获取装置11用于获取不同机位同一时段的每一输入视频的同一时刻的一帧图像;计算装置12用于根据所述每一输入视频的同一时刻的一帧图像,得到所述输入视频的同一时刻的一帧图像与对应一帧的全景拼接结果图像之间的位置映射关系和对应于所述位置映射关系的像素值映射关系;渲染装置13用于根据所述每一输入视频的同一时刻的一帧图像、位置映射关系和对应于所述位置映射关系的像素值映射关系计算对应一帧的全景拼接结果图像中每一像素的像素值。在本申请中利用每一输入视频的同一时刻的一帧图像,计算得到输入视频的同一时刻的一帧图像与对应一帧的全景拼接结果图像之间的位置映射关系和对应的像素值映射关系,存储全景拼接结果图像中每个像素的位置映射关系和像素值映射关系,在映射关系未发生变化时无需重新计算,利用位置映射关系和像素值映射关系逐帧计算每一帧的像素值,完成各帧图像的渲染,减少了计算量。同时,因仅利用了存储的位置映射关系和像素值映射关系从而省去了现有技术中每个步骤渲染中的图像插值,将总的图像插值次数减为一次,减少了由于图像插值引入的图像信息损失和失真。
具体地,获取装置11获取不同机位同一时段的每一输入视频的同一时刻的一帧图像;在此,将不同机位的镜头拍摄的视频渲染成全景视频,需要获取到不同机位同一时段的所有输入视频的同一时刻的一帧图像,这里优选为第一帧图像,获取到所有输入视频的第一帧图像可为后续的将畸变矫正、拼接、计算映射关系等多个步骤进行合并得到的渲染函数提供相关参数信息。
接着,计算装置12根据所述每一输入视频的同一时刻的一帧图像,得到所述输入视频的同一时刻的一帧图像与对应一帧的全景拼接结果图像之间的位置映射关系和对应于所述位置映射关系的像素值映射关系;在此,全景拼接结果图像中任意一个像素点是由一个或多个输入视频图像中的像素点合并得到的,计算全景拼接结果图像中的某一个像素点的像素值需要找到输入视频图像中对应的像素点及它们之间的像素值计算的映射关系,其中,映射关系表现为全景拼接结果图像上每个位置的像素,和所对应的由输入图像源编号和像素在图像中的偏移位置及像素权值三因素组成的集合,所述映射关系包括了全景拼接结果图像中每个像素位置和输入图像中相关像素的位置及像素权值关系。因此,计算全景拼接结果图像中每一像素点的像素值时,需要获得所述输入视频的同一时刻的一帧图像与对应一帧的全景拼接结果图像之间的位置映射关系和对应于所述位置映射关系的像素值映射关系。因此,当在映射关系未发生变化时,每一帧图像中像素点的像素值计算都可以直接利用该映射关系,无需重新计算,从而减少了运算量。
具体地,渲染装置13根据所述每一输入视频的同一时刻的一帧图像、位置映射关系和对应于所述位置映射关系的像素值映射关系计算对应一帧的全景拼接结果图像中每一像素的像素值。在此,按照上述计算获得的每一输入视频的同一时刻的一帧图像和像素值映射关系,逐帧对全景拼接结果视频中的图像进行渲染,即计算图像中每个像素的像素值,在像素值映射关系未发生变化时无需重新计算,减少了计算量,且由于计算全景拼接图像中每个像素所需的信息都已被独立计算,因此可以利用GPU进行并行计算加速,实现实时的全景视频拼接。
优选地,所述位置映射关系和像素值映射关系包含于一渲染函数中,所述设备1包括:确定渲染函数装置14(未示出),用于所述渲染函数根据所述每一输入视频的同一时刻的一帧图像中的参数信息将畸变矫正、拼接和所述像素值映射关系进行合并得到。在此,全景视频的渲染过程通常涉及畸变矫正,拼接融合,按照模型输出(按照像素值映射关系输出)等多个渲染过程。对于渲染过程的合并,可以按照渲染过程的变换分为连续变换和离散变换两类。对于连续变换,多个变换过程可以直接合并。即将f(A)=B,g(B)=C合并为g(f(A))=C,其中f和g表示变换过程。可以按此方式将多个变换过程合并为一个,然后再按照合并后的变换过程,计算渲染信息,即计算像素值映射关系。需要说明的是,本申请一优选应用场景为对于连续的视频拍摄的全景视频的渲染,将多个连续变换过程合并为一个后,可以将多个变换过程中的插值过程合并为一个,减少运算量的同时减少了插值引起的图像损失。但对于离散变换,由于无法保证两个变换过程之间结果集和输入集的对接,因此插值过程无法省略,变换过程也无法合并为一个。因此对于离散变换,需要按照变换过程,逐个计算渲染信息,并用前一个变换的渲染信息作为下一个变换的输入,最终得到整个渲染过程的渲染信息。离散变换过程的合并可以得到最终的渲染信息,但与连续变换的合并相比,并没有减少变换过程的插值运算。
优选地,所述渲染函数表示如下:P′(x′,y′)=FA(K|x,y),其中,表示所述参数信息集,P′(x′,y′)表示所述全景拼接结果图像中位置(x′,y′)处像素的像素值,FA(K|x,y)表示所述渲染函数,(x,y)表示每一输入视频的同一时刻的一帧图像的位置,(xi0,yi0)表示第i幅输入视频一帧图像的中心位置,di表示拍摄第i幅输入视频一帧图像的镜头的有效区域直径,表示拍摄第i幅输入视频一帧图像的镜头的视场角,(dxi,dyi)表示第i幅输入视频一帧图像的平移位置,βi表示第i幅输入视频一帧图像的旋转参数,si表示第i幅输入视频一帧图像的缩放参数,n表示正整数。在一实施例中,如图2所示,将畸变矫正、等角圆柱投影、拼接、按照模型输出(像素值映射关系计算)等步骤合并得到渲染函数,其中,畸变矫正是指将相机拍摄到的原始数字化图像在真实空间方位信息进行还原的过程。畸变矫正的计算过程通常由一个固定的矫正模型和依赖于具体图像的畸变参数来描述,因此在进行畸变矫正前,首先需要进行图像中心、有效缩放倍数等畸变参数的计算。对于等距鱼眼镜头,矫正模型公式为:
其中,参考图3所示,畸变参数图像中心(x0,y0)和镜头有效区域直径d需要从图像中计算获得,像素点P在直角坐标系中的位置为(x,y),经过矫正后,像素点P的直角坐标转换为极坐标系中坐标畸变参数鱼眼镜头视场角为镜头属性。将上述步骤记为:
接着,拼接过程是将n个输入图像,按照位置关系合并为同一幅图像,平面拼接图像之间的位置关系一般为平移、旋转、缩放;如图4所示,X1、X2、X3、X4为输入图像,将该4幅图像进行拼接,某一像素点P(x,y)在拼接完成后对应为像素点P(x’,y’)。对于平面拼接,设定第i幅图像的平移xy,旋转,缩放参数分别为dxi,dyi,,βi,si,这些参数通过图像配准来计算,图像配准可以采取基于特征点或图像轮廓的简单平移配准,仿射变换等不同方式计算。拼接过程记为:P′(x′,y′)=Fs(dx1..n,dy1..n,β1..n,s1..n|i,x,y)。
全景图像按照投影到平面的不同模型可以输出为不同的平面图像,如等角圆柱投影,立方体投影,等面积投影。
对于等角圆柱投影:
对于立体投影:
将投影过程记为:
综上所述,将畸变矫正、等角圆柱投影、拼接、按照模型输出(像素值映射关系计算)等步骤合并得到渲染函数:P′(x′,y′)=FA(K|x,y),其中,参数信息集
优选地,所述位置映射关系,包括:所述全景拼接结果图像中某一像素与一个或多个输入视频的同一时刻的一帧图像中的一个或多个像素的位置对应关系。在一实施例中,如输入视频为A、B、C,它们的第一帧图像为a1、b1和c1,全景拼接结果视频的第一帧图像为N,N中的某一像素点n1的像素位置为(xn1,yn1),输入视频的同一时刻的一帧图像与对应一帧的全景拼接结果图像之间的位置映射关系在(xn1,yn1)处的表现为:(xn1,yn1)处的像素点是由图像a1中的(xa1,ya1)处的像素点及图像b1中(xb1,yb1)处的像素点合并得到的。又如,N中的另一像素点n2的像素位置(xn2,yn2)与图像a1中的像素位置(xa2,ya2)、图像b1中的像素位置(xb2,yb2)及图像c1中的像素位置(xc2,yc2)对应。在本申请中,通过确定位置映射关系,指定全景拼接结果图像中某一像素,就可以定位到该全景拼接结果图像对应的输入视频,并确定输入视频中哪些像素与全景拼接结果图像中指定像素是对应的,根据位置映射关系计算后续所需的对应的像素值映射关系。
优选地,像素值映射关系包括所述全景拼接结果图像中某一像素对应的一个或多个输入视频一帧图像中的像素的像素值及像素权值。接上述实施例,此时,图像a1中的(xa1,ya1)处的像素点的像素值为Ap,且在全景拼接结果图像中的像素权值为0.6,图像b1中的(xb1,yb1)处的像素点的像素值为Bp,且在全景拼接结果图像中的像素权值为0.4,则对应的像素值映射关系为(xn1,yn1)处的像素点的像素值Np由(Ap,0.6)和(Bp,0.4)确定的映射关系,比如Np=Ap*0.6+Bp*0.4。通过对像素值映射关系的计算,方便后续确定每一帧图像中像素的像素值,减少计算各像素的像素值这一过程的计算量,提高拼接成全景拼接结果图像的速度。
优选地,计算装置12当根据所述位置映射关系确定所述全景拼接结果图像中某一像素对应一个或多个输入视频一帧图像中的非整数像素位置时,根据所述对应的每一帧图像中的所述非整数像素位置周围的整数像素位置的像素值和插值算法,计算得到所述对应的每一帧图像中的非整数像素位置的像素值;根据所述非整数像素位置确定对应的像素权值。在本申请的一具体实施例中,根据位置映射关系确定所述全景拼接结果图像中某一像素N1(2,2)对应的A、B、C三个输入视频一帧图像中的像素位置分别为a1(1.5,2)、b1(1.5,0.5)和c1(2,1.5),N1(2,2)这点的像素值是由a1(1.5,2)、b1(1.5,0.5)和c1(2,1.5)这三点的像素值和像素权值计算得到,因a1、b1和c1的像素位置都为非整数位置,因此需要分别计算这三点非整数位置的像素值,在一帧图像中根据非整数位置的周围整数位置的像素值和插值算法计算a1、b1和c1的像素值,并确定对应的像素权值。通过对输入视频图像中的非整数位置的像素进行插值,得到所述非整数位置的像素的像素值,进而计算对应的全景拼接结果图像中的某一像素位置的像素值,渲染过程只需在输入图像中进行插值一次即可,将现有技术中每一步骤都需插值的次数减少为一次,减少了图像信息损失和失真。
优选地,计算装置12用于,当根据所述位置映射关系确定所述全景拼接结果图像中某一像素对应一个或多个输入视频一帧图像中的非整数像素位置和整数像素位置时,根据所述对应的每一帧图像中的所述非整数像素位置周围的整数像素位置的像素值和插值算法,计算得到所述对应的每一帧图像中的非整数像素位置的像素值;根据所述非整数像素位置和整数像素位置的像素值分别确定对应的像素权值。在又一实施例中,根据位置映射关系确定所述全景拼接结果图像中某一像素N2(3,4)对应的A、B、C三个输入视频一帧图像中的像素位置分别为a2(2.5,4)、b2(3,4)和c2(3.5,3.5),N2(3,4)这点的像素值是由a2(2.5,4)、b2(3,4)和c2(3.5,3.5)这三点的像素值和像素权值计算得到,b2(3,4)为整数像素位置,则像素值是确定的,而a2、和c2的像素位置都为非整数位置,因此需要分别计算这两点非整数位置的像素值,在一帧图像中根据非整数位置的周围整数位置的像素值和插值算法计算a2和c2的像素值,并确定对应的像素权值。需要说明的是,根据所述位置映射关系确定所述全景拼接结果图像中某一像素对应三个输入视频一帧图像中的两个非整数像素位置和一个整数像素位置仅为举例,其他现有的或今后可能出现的输入视频一帧图像中的非整数像素位置的个数和整数像素位置的个数不做限定,如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
优选地,渲染装置13用于,将所述对应的每一帧图像中的非整数像素位置周围的一个或多个整数像素位置的像素值进行加权平均,计算得到所述对应的每一帧图像中的非整数像素位置的像素值。当对输入视频图像进行插值时,对于输入视频图像中任意非整数位置的像素,按照不同的插值算法,其像素值可以通过周围一定区域的像素值计算得到,周围区域的大小和形状由插值算法决定。对于双线性插值,目标位置的像素值是周围两个坐标轴上最近的四个点以位置距离的远近为权值因子得到的加权平均值。由于插值过程的权值因子仅和位置有关,因此权值因子可以预先计算作为参数。如图5所示,计算非整数像素位置P的像素值,通过周围的整数像素位置P1、P2、P3和P4的像素值计算:
P=(1-Δx)·(1-Δy)·P1+Δx·(1-Δy)·P2+Δy·(1-Δx)··P3+Δx·Δy·P4。
其中,Δx为点P4到P点的横坐标轴上的距离,Δy为点P4到P点的纵坐标轴上的距离。需要说明的是,上述双线性插值仅为本申请的一种插值算法,还可以利用最邻近插值方式等,其他现有的或今后可能出现的插值算法,如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
优选地,渲染装置13用于:根据所述一个或多个输入视频一帧图像中的像素、位置映射关系确定对应一帧的全景拼接结果图像中每一整数像素位置;根据所述一个或多个输入视频一帧图像中的非整数像素位置的像素值,或者所述一个或多个输入视频一帧图像中的非整数像素位置和整数像素位置的像素值,及所述像素值映射关系计算对应一帧的全景拼接结果图像中每一整数像素位置的像素值。综上两个实施例可知,当根据位置映射关系确定全景拼接结果图像中每一整数像素位置对应的一个或多个输入视频一帧图像中包括非整数像素位置时,需要对包括非整数像素位置的一帧图像做插值,计算该非整数像素位置的像素值,及确定对应的像素权值,根据像素值映射关系计算对应一帧的全景拼接结果图像中每一整数像素位置的像素值,本申请的这一全景渲染方案使得插值过程只进行了一次,即只在输入视频图像中进行插值,对应的全景拼接结果图像中不再做插值,减少了由于图像插值引入的图像信息损失和失真。
优选地,渲染装置13用于,根据所述位置映射关系,当所述一个或多个输入视频一帧图像中的整数像素位置对应于一帧全景拼接结果图像中某一整数像素位置时;根据所述一个或多个输入视频一帧图像中的整数像素位置的像素值和所述像素值映射关系,计算所述全景拼接结果图像中的所述整数像素位置的像素值。在此,当输入视频图像中不做插值时,根据位置映射关系,当一个或多个输入视频一帧图像中的整数像素位置对应于一帧全景拼接结果图像中某一整数像素位置时,如有三个输入视频一帧图像A、B、C三个图像中的整数像素位置分别为a3(2,3)、b3(2,3)和c3(2,3),对应于全景拼接结果图像中的一点像素位置N3(2,3),因a3(2,3)、b3(2,3)和c3(2,3)都为整数像素位置,像素值已确定,则根据a3(2,3)、b3(2,3)和c3(2,3)的像素值及对应的像素值映射关系,计算全景拼接结果图像中的N3(2,3)处的像素值。需要说明的是,当根据位置映射关系确定一个或多个输入一帧图像中的整数像素位置对应于全景拼接结果图像中某一整数像素位置时,计算全景拼接结果图像中该整数位置的像素值直接利用位置映射关系和像素值映射关系计算即可,不需要做插值;而会有一种情况,当根据位置映射关系确定一个或多个输入一帧图像中的整数像素位置对应于全景拼接结果图像中某一非整数像素位置时,此时需要对全景拼接结果图像做插值操作。具体如下:
优选地,渲染装置13用于,根据所述位置映射关系,当所述一个或多个输入视频一帧图像中的整数像素位置对应于一帧全景拼接结果图像中某一非整数像素位置;根据所述一个或多个输入视频一帧图像中的整数像素位置的像素和所述像素值映射关系,计算所述全景拼接结果图像中的非整数像素位置的像素值;根据所述一帧全景拼接结果图像中的非整数像素位置的像素值和插值算法,计算得到所述一帧全景拼接结果图像中非整数像素位置周围的整数像素位置的像素值。在一具体实施例中,A、B、C三个输入视频一帧图像中的像素位置分别为a4(5,6)、b4(5,5)和c4(5,6)这三点的像素位置对应于一帧全景拼接结果图像中一非整数像素位置N4(5.5,6),则在计算过程中根据a4(5,6)、b4(5,5)和c4(5,6)这三点的像素值及对应的像素权值计算N4(5.5,6)的像素值,但在全景拼接结果图像中该处非整数像素位置并不显示,只存在于计算过程中,因此需要将该处的非整数像素位置的像素值分散到其周围的整数像素位置的像素值计算中,如N4(5.5,6)周围的一整数位置N5(5,6)处的像素值可能利用到了N4(5.5,6)处的像素值。在此,更优选地,渲染装置13用于:根据所述一帧全景拼接结果图像中的整数像素位置周围的非整数像素位置的像素值的加权平均,得到所述一帧全景拼接结果图像中所述整数像素位置的像素值。例如,继续接上述实施例,N4(5.5,6)处的像素值由位置映射关系和像素值映射关系计算得到,相同的计算过程可确定同一帧图像中的N3(5,5.5)、N6(4.5,6)和N7(5,6.5)处的像素值,则整数像素位置N(5,6)处的像素值可以利用其周围的非整数像素位置N3(5,5.5)、N4(5.5,6)、N6(4.5,6)和N7(5,6.5)的像素值的加权平均计算得到。需要说明的是,N(5,6)处的像素值也有可能是直接利用位置映射关系和像素值映射关系计算得到,如N(5,6)对应于输入视频中的整数像素位置,也可能是其周围的整数像素位置和非整数像素位置的像素值共同确定,总之,当输入视频图像不做插值时,对应的全景拼接结果图像中会计算得到非整数像素位置的像素值,此时需要对全景拼接结果图像做插值,将计算得到的非整数像素位置的像素值转换为需要的整数像素位置的像素值。通过上述对全景拼接结果图像做插值的方法,只有渲染过程结束后的一次插值,减少了插值引起的图像失真。
优选地,所述设备1还包括:筛选装置15(未示出),用于将对应的所述输入视频中的像素中像素权值大于预设阈值的像素作为筛选后的像素。在此,全景拼接结果图像中一个像素与一个或多个输入图像中的像素对应,其像素值根据对应输入图像中的像素的像素值及其像素权值计算得到,当输入视频中的像素中有的像素权值太过于极小时,可以通过预设的筛选方法将不满足条件的像素剔除,只利用筛选后的像素的像素值和像素权值进行计算,加快计算速度。在一具体实施例中,全景拼接结果图像N中的某一像素点n1的像素值P由输入图像A1、A2、A3,A4中对应位置的像素点的像素值及像素权值确定,各输入图像中对应位置的像素的像素值及像素权值组成的集合{(P1,w1),(P2,w2),(P3,w3),(P4,w4)},其中,(Pi,wi)为第i幅图对应位置的像素点的像素值和像素权值,其中,i=1,2,3,4。像素权值的预设阈值为M,则经过筛选后的像素点的像素值及像素权值的集合为{(P1,w1),(P4,w4)},全景拼接结果图像N中的某一像素点n1的像素值P的计算结果利用筛选后的集合{(P1,w1),(P4,w4)}计算得到。
优选地,渲染装置13用于:根据所述每一输入视频的同一时刻的一帧图像、位置映射关系和对应于所述位置映射关系的像素值映射关系,计算所述全景拼接结果图像中某一像素对应的一个或多个输入视频一帧图像中的各像素或筛选后的各像素的像素值与对应的像素权值的乘积;对所述各像素或筛选后的各像素的像素值与对应的像素权值的乘积进行求和,得到所述全景拼接结果图像中所述像素的像素值。全景拼接结果图像中像素位置(x’,y’)处像素的值为:其中,Pm(i,x,y)代表第im幅输入图像(xm,ym)位置处的像素值P(im,xm,ym),继续接上述实施例,经过筛选后的像素点的像素值及像素权值的集合为{(P1,w1),(P4,w4)},则计算P=P1*w1+P4*w4,全景拼接结果图像N中的某一像素点n1的像素值P的计算过程通过筛选步骤,加快了计算速度。
更优选地,所述筛选装置15用于:将筛选后的像素的像素权值乘以放大系数并舍弃小数部分后,得到对应的放大像素权值,其中,所述放大系数为预设阈值的倒数。在一具体实施例中,四个输入视频的一帧图像中有对应的四个像素点a3(2,3)、b3(2,3)、c3(2,3)和d3(2,3)与全景拼接结果图像中N3(2,3)对应,预设的阈值为T,将对应的所述四个输入视频一帧图像中像素的像素权值分别与T比较进行筛选,得到筛选后的像素点为a3(2,3)和d3(2,3),之后将a3(2,3)处的像素权值乘以放大系数M并舍去小数部分的放大像素权值w1=m1;d3(2,3)处像素权值乘以M并舍去小数部分的放大像素权值w4=m4;其中,放大系数M为预设的阈值T的倒数,利用筛选后的像素点为a3(2,3)和d3(2,3)这两点的放大像素权值和像素值计算N3(2,3)的像素值。
更优选地,所述放大系数包括为2的整数次方的正整数。在上述具体实施例中,M=220,因筛选后的像素点为a3(2,3)和d3(2,3),将a3(2,3)处的像素权值乘以220后像素权值为2.13,舍去小数部分为放大像素权值P1=2;d3(2,3)处像素权值乘以220后像素权值为3.33,舍去小数部分为放大像素权值P4=3。利用此两点的放大像素权值和像素值计算N3(2,3)的像素值,将浮点运算转换为整数运算,加快运算速度。需要说明的是,上述出现的数值2.13,3.33仅为举例说明像素权值乘以220后的数值可能会出现非整数的情况,并不为实际应用中的像素权值的数值。
优选地,渲染装置13用于:根据所述每一输入视频的同一时刻的一帧图像和对应于所述位置映射关系的像素值映射关系,计算所述全景拼接结果图像中某一像素对应的一个或多个输入视频一帧图像中的筛选后的各像素的像素值与对应的放大像素权值的乘积;对所述筛选后的各像素的像素值与对应的放大像素权值的乘积进行求和,得到所述全景拼接结果图像中对应像素的放大像素值;将所述放大像素值除以所述放大系数,得到所述全景拼接结果图像中对应像素的像素值。继续接上例,筛选后的像素点为a3(2,3)和d3(2,3),利用此两点的放大像素权值和像素值计算N3(2,3)的像素值P’,则P=Pa3*w3+Pd3*w4,P’=p/M,其中,Pa3为像素点为a3(2,3)的像素值,Pd3为像素点为d3(2,3)的像素值,M为放大系数(优选取M=220)。根据上述的整数化性能优化方法,则全景拼接结果图像中某一像素的像素值的计算公式修改为:
其中,如w×220=w<<20表示将w向左移位20位,将乘法运算替换为移位运算,在计算机操作过程中,体现为将浮点乘除法运算转换为整数移位运算,加快了运算速度,为本申请全景视频的渲染方法的一个整数化性能优化过程,此外将像素权重w从浮点数转换为整数,将w×p的浮点数乘法转换为整数乘法,便于在一些不支持浮点或浮点运算较慢的平台(如FPGA)上实施。
综上所述,在本申请所述的设备1用于全景视频的渲染,对于全景视频,在连续的拍摄期间、相机镜头、相机之间的位置以及输出投影方式都不会发生变化,将畸变矫正、拼接和所述像素值映射关系进行合并得到渲染函数的过程不会发生变化;插值一般综合考虑性能和效果选择用一种固定的插值方式,不会轻易改变。因此,对于连续的视频拍摄,使用本申请所述的设备1用于全景视频的渲染是可行的,与现有技术相比,节省了每一步骤的插值过程中的大量计算,且本申请所述的方法对视频的每一帧执行一次,根据渲染函数计算全景拼接结果图像中每个像素是独立无关的,可以并行化计算,通过GPU等并行计算进行加速,实现实时的全景视频拼接。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (32)
1.一种全景视频渲染的方法,其中,所述方法包括:
获取不同机位同一时段的每一输入视频的同一时刻的一帧图像;
根据所述每一输入视频的同一时刻的一帧图像,得到所述输入视频的同一时刻的一帧图像与对应一帧的全景拼接结果图像之间的位置映射关系和对应于所述位置映射关系的像素值映射关系,其中,所述位置映射关系和像素值映射关系包含于一渲染函数中,所述渲染函数根据所述每一输入视频的同一时刻的一帧图像中的参数信息集将畸变矫正、拼接和所述像素值映射关系进行合并得到;
根据所述每一输入视频的同一时刻的一帧图像、位置映射关系和对应于所述位置映射关系的像素值映射关系计算对应一帧的全景拼接结果图像中每一像素的像素值。
2.根据权利要求1所述的方法,其中,所述渲染函数表示如下:
P′(x′,y′)=FA(K|x,y),
其中,表示所述参数信息集,P′(x′,y′)表示所述全景拼接结果图像中位置(x′,y′)处像素的像素值,FA(K|x,y)表示所述渲染函数,(x,y)表示每一输入视频的同一时刻的一帧图像的位置,(xi0,yi0)表示第i幅输入视频一帧图像的中心位置,di表示拍摄第i幅输入视频一帧图像的镜头的有效区域直径,表示拍摄第i幅输入视频一帧图像的镜头的视场角,(dxi,dyi)表示第i幅输入视频一帧图像的平移位置,βi表示第i幅输入视频一帧图像的旋转参数,si表示第i幅输入视频一帧图像的缩放参数,n表示正整数。
3.根据权利要求1所述的方法,其中,所述位置映射关系,包括:
所述全景拼接结果图像中某一像素与一个或多个输入视频的同一时刻的一帧图像中的一个或多个像素的位置对应关系。
4.根据权利要求3所述的方法,其中,所述像素值映射关系包括所述全景拼接结果图像中某一像素对应的一个或多个输入视频一帧图像中的像素的像素值及像素权值。
5.根据权利要求4所述的方法,根据所述每一输入视频的同一时刻的一帧图像,得到所述输入视频的同一时刻的一帧图像与对应一帧的全景拼接结果图像之间对应于所述位置映射关系的像素值映射关系,包括:
当根据所述位置映射关系确定所述全景拼接结果图像中某一像素对应一个或多个输入视频一帧图像中的非整数像素位置时,根据所述对应的每一帧图像中的所述非整数像素位置周围的整数像素位置的像素值和插值算法,计算得到所述对应的每一帧图像中的非整数像素位置的像素值;
根据所述非整数像素位置确定对应的像素权值。
6.根据权利要求4所述的方法,根据所述每一输入视频的同一时刻的一帧图像,得到所述输入视频的同一时刻的一帧图像与对应一帧的全景拼接结果图像之间对应于所述位置映射关系的像素值映射关系,包括:
当根据所述位置映射关系确定所述全景拼接结果图像中某一像素对应一个或多个输入视频一帧图像中的非整数像素位置和整数像素位置时,根据所述对应的每一帧图像中的所述非整数像素位置周围的整数像素位置的像素值和插值算法,计算得到所述对应的每一帧图像中的非整数像素位置的像素值;
根据所述非整数像素位置和整数像素位置的像素值分别确定对应的像素权值。
7.根据权利要求5或6所述的方法,所述根据所述每一输入视频的同一时刻的一帧图像、位置映射关系和对应于所述位置映射关系的像素值映射关系计算对应一帧的全景拼接结果图像中每一像素的像素值,包括:
根据所述一个或多个输入视频一帧图像中的像素、位置映射关系确定对应一帧的全景拼接结果图像中每一整数像素位置;
根据所述一个或多个输入视频一帧图像中的非整数像素位置的像素值,或者所述一个或多个输入视频一帧图像中的非整数像素位置和整数像素位置的像素值,及所述像素值映射关系计算对应一帧的全景拼接结果图像中每一整数像素位置的像素值。
8.根据权利要求5或6所述的方法,根据所述对应的每一帧图像中的所述非整数像素位置周围的整数像素位置的像素值和插值算法,计算得到所述对应的每一帧图像中的非整数像素位置的像素值,包括:
将所述对应的每一帧图像中的非整数像素位置周围的一个或多个整数像素位置的像素值进行加权平均,计算得到所述对应的每一帧图像中的非整数像素位置的像素值。
9.根据权利要求3所述的方法,所述根据所述每一输入视频的同一时刻的一帧图像、位置映射关系和对应于所述位置映射关系的像素值映射关系计算对应一帧的全景拼接结果图像中每一像素的像素值,包括:
根据所述位置映射关系,当所述一个或多个输入视频一帧图像中的整数像素位置对应于一帧全景拼接结果图像中某一整数像素位置时;
根据所述一个或多个输入视频一帧图像中的整数像素位置的像素值和所述像素值映射关系,计算所述全景拼接结果图像中的所述整数像素位置的像素值。
10.根据权利要求3所述的方法,所述根据所述每一输入视频的同一时刻的一帧图像、位置映射关系和对应于所述位置映射关系的像素值映射关系计算对应一帧的全景拼接结果图像中每一像素的像素值,包括:
根据所述位置映射关系,当所述一个或多个输入视频一帧图像中的整数像素位置对应于一帧全景拼接结果图像中某一非整数像素位置;
根据所述一个或多个输入视频一帧图像中的整数像素位置的像素和所述像素值映射关系,计算所述全景拼接结果图像中的非整数像素位置的像素值;
根据所述一帧全景拼接结果图像中的非整数像素位置的像素值和插值算法,计算得到所述一帧全景拼接结果图像中非整数像素位置周围的整数像素位置的像素值。
11.根据权利要求10所述的方法,其中,根据所述一帧全景拼接结果图像中的非整数像素位置的像素值和插值算法,计算得到所述一帧全景拼接结果图像中非整数像素位置周围的整数像素位置的像素值,包括:
根据所述一帧全景拼接结果图像中的整数像素位置周围的非整数像素位置的像素值的加权平均,得到所述一帧全景拼接结果图像中所述整数像素位置的像素值。
12.根据权利要求4所述的方法,其中,得到所述输入视频的同一时刻的一帧图像与对应一帧的全景拼接结果图像之间对应于所述位置映射关系的像素值映射关系之后,还包括:
将所述对应的一个或多个输入视频一帧图像的像素中像素权值大于预设阈值的像素作为筛选后的像素。
13.根据权利要求4或12所述的方法,其中,所述根据所述每一输入视频的同一时刻的一帧图像、位置映射关系和对应于所述位置映射关系的像素值映射关系计算对应一帧的全景拼接结果图像中每一像素的像素值,包括:
根据所述每一输入视频的同一时刻的一帧图像、位置映射关系和对应于所述位置映射关系的像素值映射关系,计算所述全景拼接结果图像中某一像素对应的一个或多个输入视频一帧图像中的各像素或筛选后的各像素的像素值与对应的像素权值的乘积;
对所述各像素或筛选后的各像素的像素值与对应的像素权值的乘积进行求和,得到所述全景拼接结果图像中所述像素的像素值。
14.根据权利要求12所述的方法,其中,所述将对应的一个或多个输入视频一帧图像的像素中像素权值大于预设阈值的像素作为筛选后的像素之后,包括:
将筛选后的像素的像素权值乘以放大系数并舍弃小数部分后,得到对应的放大像素权值,其中,所述放大系数为预设阈值的倒数。
15.根据权利要求14所述的方法,其中,所述放大系数为2的整数次方的正整数。
16.根据权利要求14所述的方法,其中,根据所述每一输入视频的同一时刻的一帧图像和对应于所述位置映射关系的像素值映射关系计算对应一帧的全景拼接结果图像中每一像素的像素值,包括:
根据所述每一输入视频的同一时刻的一帧图像和对应于所述位置映射关系的像素值映射关系,计算所述全景拼接结果图像中某一像素对应的一个或多个输入视频一帧图像中的筛选后的各像素的像素值与对应的放大像素权值的乘积;
对所述筛选后的各像素的像素值与对应的放大像素权值的乘积进行求和,得到所述全景拼接结果图像中对应像素的放大像素值;
将所述放大像素值除以所述放大系数,得到所述全景拼接结果图像中对应像素的像素值。
17.一种全景视频渲染的设备,其中,所述设备包括:
获取装置,用于获取不同机位同一时段的每一输入视频的同一时刻的一帧图像;
计算装置,用于根据所述每一输入视频的同一时刻的一帧图像,得到所述输入视频的同一时刻的一帧图像与对应一帧的全景拼接结果图像之间的位置映射关系和对应于所述位置映射关系的像素值映射关系,其中,所述位置映射关系和像素值映射关系包含于一渲染函数中;
确定渲染函数装置,用于所述渲染函数根据所述每一输入视频的同一时刻的一帧图像中的参数信息集将畸变矫正、拼接和所述像素值映射关系进行合并得到;
渲染装置,用于根据所述每一输入视频的同一时刻的一帧图像、位置映射关系和对应于所述位置映射关系的像素值映射关系计算对应一帧的全景拼接结果图像中每一像素的像素值。
18.根据权利要求17所述的设备,其中,所述渲染函数表示如下:
P′(x′,y′)=FA(K|x,y),
其中,表示所述参数信息集,P′(x′,y′)表示所述全景拼接结果图像中位置(x′,y′)处像素的像素值,FA(K|x,y)表示所述渲染函数,(x,y)表示每一输入视频的同一时刻的一帧图像的位置,(xi0,yi0)表示第i幅输入视频图像的中心位置,di表示拍摄第i幅输入视频的镜头的有效区域直径,表示拍摄第i幅输入视频的镜头的视场角,(dxi,dyi)表示第i幅输入视频图像的平移位置,βi表示第i幅输入视频图像的旋转参数,si表示第i幅输入视频图像的缩放参数,n表示正整数。
19.根据权利要求17所述的设备,其中,所述位置映射关系,包括:
所述全景拼接结果图像中某一像素与一个或多个输入视频的同一时刻的一帧图像中的一个或多个像素的位置对应关系。
20.根据权利要求19所述的设备,其中,所述像素值映射关系包括所述全景拼接结果图像中某一像素对应的一个或多个输入视频一帧图像中的像素的像素值及像素权值。
21.根据权利要求20所述的设备,其中,所述计算装置用于:
当根据所述位置映射关系确定所述全景拼接结果图像中某一像素对应一个或多个输入视频一帧图像中的非整数像素位置时,根据所述对应的每一帧图像中的所述非整数像素位置周围的整数像素位置的像素值和插值算法,计算得到所述对应的每一帧图像中的非整数像素位置的像素值;
根据所述非整数像素位置确定对应的像素权值。
22.根据权利要求20所述的设备,其中,所述计算装置用于:
当根据所述位置映射关系确定所述全景拼接结果图像中某一像素对应一个或多个输入视频一帧图像中的非整数像素位置和整数像素位置时,根据所述对应的每一帧图像中的所述非整数像素位置周围的整数像素位置的像素值和插值算法,计算得到所述对应的每一帧图像中的非整数像素位置的像素值;
根据所述非整数像素位置和整数像素位置的像素值分别确定对应的像素权值。
23.根据权利要求21或22所述的设备,其中,所述渲染装置用于:
根据所述一个或多个输入视频一帧图像中的像素、位置映射关系确定对应一帧的全景拼接结果图像中每一整数像素位置;
根据所述一个或多个输入视频一帧图像中的非整数像素位置的像素值,或者所述一个或多个输入视频一帧图像中的非整数像素位置和整数像素位置的像素值,及所述像素值映射关系计算对应一帧的全景拼接结果图像中每一整数像素位置的像素值。
24.根据权利要求21或22所述的设备,其中,所述渲染装置用于:
将所述对应的每一帧图像中的非整数像素位置周围的一个或多个整数像素位置的像素值进行加权平均,计算得到所述对应的每一帧图像中的非整数像素位置的像素值。
25.根据权利要求20所述的设备,其中,所述渲染装置用于:
根据所述位置映射关系,当所述一个或多个输入视频一帧图像中的整数像素位置对应于一帧全景拼接结果图像中某一整数像素位置时;
根据所述一个或多个输入视频一帧图像中的整数像素位置的像素值和所述像素值映射关系,计算所述全景拼接结果图像中的所述整数像素位置的像素值。
26.根据权利要求20所述的设备,其中,所述渲染装置用于:
根据所述位置映射关系,当所述一个或多个输入视频一帧图像中的整数像素位置对应于一帧全景拼接结果图像中某一非整数像素位置;
根据所述一个或多个输入视频一帧图像中的整数像素位置的像素和所述像素值映射关系,计算所述全景拼接结果图像中的非整数像素位置的像素值;
根据所述一帧全景拼接结果图像中的非整数像素位置的像素值和插值算法,计算得到所述一帧全景拼接结果图像中非整数像素位置周围的整数像素位置的像素值。
27.根据权利要求26所述的设备,其中,所述渲染装置用于:
根据所述一帧全景拼接结果图像中的整数像素位置周围的非整数像素位置的像素值的加权平均,得到所述一帧全景拼接结果图像中所述整数像素位置的像素值。
28.根据权利要求20所述的设备,其中,所述设备还包括:
筛选装置,用于将所述对应的一个或多个输入视频一帧图像的像素中像素权值大于预设阈值的像素作为筛选后的像素。
29.根据权利要求20或28所述的设备,其中,所述渲染装置用于:
根据所述每一输入视频的同一时刻的一帧图像、位置映射关系和对应于所述位置映射关系的像素值映射关系,计算所述全景拼接结果图像中某一像素对应的一个或多个输入视频一帧图像中的各像素或筛选后的各像素的像素值与对应的像素权值的乘积;
对所述各像素或筛选后的各像素的像素值与对应的像素权值的乘积进行求和,得到所述全景拼接结果图像中所述像素的像素值。
30.根据权利要求28所述的设备,其中,所述筛选装置用于:
将筛选后的像素的像素权值乘以放大系数并舍弃小数部分后,得到对应的放大像素权值,其中,所述放大系数为预设阈值的倒数。
31.根据权利要求30所述的设备,其中,所述放大系数为2的整数次方的正整数。
32.根据权利要求30所述的设备,其中,所述渲染装置用于:
根据所述每一输入视频的同一时刻的一帧图像和对应于所述位置映射关系的像素值映射关系,计算所述全景拼接结果图像中某一像素对应的一个或多个输入视频一帧图像中的筛选后的各像素的像素值与对应的放大像素权值的乘积;
对所述筛选后的各像素的像素值与对应的放大像素权值的乘积进行求和,得到所述全景拼接结果图像中对应像素的放大像素值;
将所述放大像素值除以所述放大系数,得到所述全景拼接结果图像中对应像素的像素值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610821164.XA CN106412669B (zh) | 2016-09-13 | 2016-09-13 | 一种全景视频渲染的方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610821164.XA CN106412669B (zh) | 2016-09-13 | 2016-09-13 | 一种全景视频渲染的方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106412669A CN106412669A (zh) | 2017-02-15 |
CN106412669B true CN106412669B (zh) | 2019-11-15 |
Family
ID=58000074
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610821164.XA Active CN106412669B (zh) | 2016-09-13 | 2016-09-13 | 一种全景视频渲染的方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106412669B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108668108B (zh) * | 2017-03-31 | 2021-02-19 | 杭州海康威视数字技术股份有限公司 | 一种视频监控的方法、装置及电子设备 |
CN108933920B (zh) * | 2017-05-25 | 2023-02-17 | 中兴通讯股份有限公司 | 一种视频画面的输出、查看方法及装置 |
CN107566757A (zh) * | 2017-08-25 | 2018-01-09 | 包谦 | 一种全景视频的制作方法 |
CN110035316B (zh) * | 2018-01-11 | 2022-01-14 | 华为技术有限公司 | 处理媒体数据的方法和装置 |
CN109166078A (zh) * | 2018-10-22 | 2019-01-08 | 广州微牌智能科技有限公司 | 环视图拼接方法、装置、环视***、设备和存储介质 |
CN111325674A (zh) * | 2018-12-17 | 2020-06-23 | 北京京东尚科信息技术有限公司 | 图像处理方法、装置及设备 |
CN110503621B (zh) * | 2019-08-23 | 2022-07-01 | 上海圭目机器人有限公司 | 基于定位数据的图像全局拼接方法 |
CN113209604A (zh) * | 2021-04-28 | 2021-08-06 | 杭州小派智能科技有限公司 | 一种大视角vr渲染的方法和*** |
CN114677280A (zh) * | 2022-04-11 | 2022-06-28 | 贝壳技术有限公司 | 生成全景图像的方法、装置、设备和程序产品 |
CN115861050A (zh) * | 2022-08-29 | 2023-03-28 | 如你所视(北京)科技有限公司 | 用于生成全景图像的方法、装置、设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103763479A (zh) * | 2013-12-31 | 2014-04-30 | 深圳英飞拓科技股份有限公司 | 实时高速高清全景视频的拼接装置及其方法 |
CN105516596A (zh) * | 2015-12-30 | 2016-04-20 | 完美幻境(北京)科技有限公司 | 一种全景拍摄处理方法、装置及*** |
CN105516597A (zh) * | 2015-12-30 | 2016-04-20 | 完美幻境(北京)科技有限公司 | 一种全景拍摄处理方法及装置 |
CN105678722A (zh) * | 2014-11-20 | 2016-06-15 | 深圳英飞拓科技股份有限公司 | 一种全景拼接图像弯曲矫正方法及装置 |
-
2016
- 2016-09-13 CN CN201610821164.XA patent/CN106412669B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103763479A (zh) * | 2013-12-31 | 2014-04-30 | 深圳英飞拓科技股份有限公司 | 实时高速高清全景视频的拼接装置及其方法 |
CN105678722A (zh) * | 2014-11-20 | 2016-06-15 | 深圳英飞拓科技股份有限公司 | 一种全景拼接图像弯曲矫正方法及装置 |
CN105516596A (zh) * | 2015-12-30 | 2016-04-20 | 完美幻境(北京)科技有限公司 | 一种全景拍摄处理方法、装置及*** |
CN105516597A (zh) * | 2015-12-30 | 2016-04-20 | 完美幻境(北京)科技有限公司 | 一种全景拍摄处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106412669A (zh) | 2017-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106412669B (zh) | 一种全景视频渲染的方法和设备 | |
US10887519B2 (en) | Method, system and apparatus for stabilising frames of a captured video sequence | |
US10410397B2 (en) | Picture presentation method and apparatus | |
US9262807B2 (en) | Method and system for correcting a distorted input image | |
JP7253635B2 (ja) | 画像融合方法及び携帯端末 | |
JP7116142B2 (ja) | 任意ビューの生成 | |
WO2018047687A1 (ja) | 三次元モデル生成装置及び三次元モデル生成方法 | |
CN112215880A (zh) | 一种图像深度估计方法及装置、电子设备、存储介质 | |
JP5911292B2 (ja) | 画像処理装置、撮像装置、画像処理方法、および、画像処理プログラム | |
KR20120020821A (ko) | 영상 왜곡 보정 장치 및 방법 | |
WO2019228219A1 (zh) | 一种去除视频抖动的方法及装置 | |
CN108765582B (zh) | 一种全景图片显示方法及设备 | |
US7522189B2 (en) | Automatic stabilization control apparatus, automatic stabilization control method, and computer readable recording medium having automatic stabilization control program recorded thereon | |
US20130120461A1 (en) | Image processor and image processing method | |
WO2022247394A1 (zh) | 图像拼接方法及装置、存储介质及电子设备 | |
US11893704B2 (en) | Image processing method and device therefor | |
JP7164873B2 (ja) | 画像処理装置及びプログラム | |
JP2013069012A (ja) | 多眼撮像装置 | |
US20220092796A1 (en) | Image Processing Method and Device Thereof | |
JP2024113100A (ja) | 任意ビューの生成 | |
JP2004227470A (ja) | 画像変換方法及び画像変換用コンピュータプログラム | |
CN118134944A (zh) | 图像处理方法、装置、终端设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240530 Address after: Room 212, Building 14, No. 350 Xianxia Road, Changning District, Shanghai, 200050 Patentee after: SHANGHAI ISMARTV NETWORK TECHNOLOGIES Co.,Ltd. Country or region after: China Address before: Room 3024, 3rd floor, 2879 Longteng Avenue, Xuhui District, Shanghai, 201620 Patentee before: WHALEY TECHNOLOGY Co.,Ltd. Country or region before: China |
|
TR01 | Transfer of patent right |