一种转换全景视频投影格式的方法及显示设备与流程

专利2022-05-09  189


本申请涉及全景视频技术领域,尤其涉及一种转换全景视频投影格式的方法及显示设备。



背景技术:

全景视频是基于360度全景图像而发展的一种新型的多媒体形式,通过将一系列静态的全景图像连续播放而转化成动态的全景视频。全景视频一般由软件将全景摄像机采集的各个方位的视频图像拼合而成的,并使用专门的播放器进行播放,将平面视频投影为360度全景模式,呈现给观赏者水平方向360度、垂直方向180度的全包围空间视域。观赏者可以通过头部动作、眼球运动、遥控器控制等方式控制全景视频的播放,从而体会身临其境的感受。作为一种新型异构多媒体业务,全景视频业务流合有音频、视频、文本、交互、控制指令等多种数据类型,具有多样化的服务质量(qualityofservice,qos)需求。

全景视频是一种在三维空间中观看的具有360度观看视角的交互类视频,而传统的视频存储方式一般为二维平面形式。因此,需要将全景视频转换为二维平面的格式,转换的过程称为投影。

目前,全景视频播放器显示全景视频时,传统的等矩柱状投影(equirectangularprojection,erp)格式转立方体贴图投影(cubemap,cmp)格式的方法中,一般是根据erp图像与cmp图像的投影关系,在中央处理器中(centralprocessingunit,cpu)中逐像素点进行投影计算,效率较低,无法适用一些对实时性要求较高的应用场景(比如直播场景)。



技术实现要素:

本申请提供了一种转换全景视频投影格式的方法及显示设备,用以提高全景视频格式转换的效率。

第一方面,提供一种转换全景视频投影格式显示设备,包括:

显示器,与图形处理器连接,被配置为显示全景视频;

存储器,与图形处理器连接,被配置为存储计算机指令;

所述图形处理器,被配置为根据所述计算机指令执行以下操作:

针对预先创建的待渲染网格的每个投影面,根据所述投影面内各个片元的uv坐标,从等矩柱投影erp全景视频帧中获取所述投影面对应的颜色值,其中,所述各个片元是根据所述投影面内的各个网格顶点与二维屏幕的映射关系,对所述投影面内的各个网格顶点进行光栅化生成的,所述映射关系是根据投影矩阵、所述投影面对应的视图矩阵以及所述投影面内的各个网格顶点的三维坐标确定的,所述投影矩阵是根据显示设备的属性信息生成的,所述视图矩阵是通过改变用户视点朝向得到的,所述用户视点位于所述待渲染网格的中心;

用获取的颜色值渲染预先创建的目标图像,得到目标立方体贴图投影cmp图像。

第二方面,本申请提供一种转换全景视频投影格式的方法,包括:

针对预先创建的待渲染网格的每个投影面,根据所述投影面内各个片元的uv坐标,从等矩柱投影erp全景视频帧中获取所述投影面对应的颜色值,其中,所述各个片元是根据所述投影面内的各个网格顶点与二维屏幕的映射关系,对所述投影面内的各个网格顶点进行光栅化生成的,所述映射关系是根据投影矩阵、所述投影面对应的视图矩阵以及所述投影面内的各个网格顶点的三维坐标确定的,所述投影矩阵是根据显示设备的属性信息生成的,所述视图矩阵是通过改变用户视点朝向得到的,所述用户视点位于所述待渲染网格的中心;

用获取的颜色值渲染预先创建的目标图像,得到目标立方体贴图投影cmp图像。

第三方面,本申请提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令用于使计算机执行如上述第二方面的方法。

本申请的上述实施例中,充分利用渲染引擎的功能,建立预先创建的待渲染网格的每个投影面内各个网格顶点与二维屏幕的映射关系,根据映射关系,对各个网格顶点进行光栅化生成各个片元,针对每一erp全景视频帧,根据每个投影面内各个片元的uv坐标,从erp全景视频帧获取颜色值,并用获取的颜色值渲染预先创建的目标图像,得到cmp图像,该方法可由显示设备内部的图形处理器并行执行,提高了全景视频格式转换的效率。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1示例性示出了本申请的实施例提供的vr头戴显示设备100的结构图;

图2示例性示出了本申请的实施例提供的显示设备200的硬件结构图;

图3中示例性示出了本申请实施例中的erp投影示意图;

图4中示例性示出了本申请实施例中的cmp投影示意图;

图5中示例性示出了本申请实施例中的erp片源示意图;

图6中示例性示出了本申请实施例中的cmp1片源示意图;

图7中示例性示出了本申请实施例中的cmp2片源示意图;

图8中示例性示出了本申请实施例中的cmp3片源示意图;

图9示例性示出了本申请实施例中球面与立方体面的三维映射关系示意图;

图10示例性示出了本申请实施例中球面与立方体面的二维映射关系示意图;

图11示例性示出了本申请实施例提供的转换全景视频投影格式的方法流程图;

图12示例性示出了本申请实施例提供的转换全景视频投影格式的完整方法流程图;

图13示例性示出了本申请实施例提供的转换全景视频投影格式的另一完整方法流程图;图14示例性示出了本申请实施例提供的显示设备的结构图。

具体实施方式

为使本申请的目的、实施方式和优点更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,所描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。

基于本申请描述的示例性实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请所附权利要求保护的范围。此外,虽然本申请中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整实施方式。

需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。

本申请中说明书和权利要求书及上述附图中的术语“第一”、“第.二″、″第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明(unlessotherwiseindicated)。应该理解这样使用的用语在适当情况下可以互换,例如能够根据本申请实施例图示或描述中给出那些以外的顺序实施。

此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。

本申请中使用的术语“模块”,是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。

本申请实施例提供一种转换全景视频格式的方法及显示设备。所述显示设备可以是头戴式显示设备、智能手机、平板电脑、计算机、笔记本电脑、智能电视等具有全景视频播放功能和交互功能的设备。

以虚拟现实(virtualreality,vr)头戴式显示设备为例,图1示例性示出了本申请的实施例提供的vr头戴显示设备100的结构图。如图1所示,vr头戴显示设备100包括透镜组101以及设置于透镜组101正前方的显示屏102,其中透镜组101由左显示镜片101_4和右显示镜片104_2组成。用户在使用vr头戴显示设备100时,人眼可以通过透镜组101观看显示屏102显示的全景视频帧,体验vr效果。

如图4未示出了的,vr头戴显示设备100还包括存储器、图形处理器等芯片,这些芯片可以集成于一个电路板上,也可以独立部署。

以智能电视为例,图2中示例性示出了根据示例性实施例中显示设备200的硬件配置框图。

显示设备200中包括控制器250、调谐解调器210、通信器220、检测器230、外部装置接口240、存储器260、用户接口265、视频处理器270、显示器275、音频处理器280、音频输出接口285、供电电源290。

显示器275,用于接收源自处理器输出的图像信号,进行显示视频内容和图像以及菜单操控界面的组件,比如可以呈现显示设备200中产生且用于控制显示设备200的用户操控ui界面。显示器275包括用于呈现画面的显示屏组件,根据显示器275类型不同,还包括用于驱动显示的驱动组件。显示器275可以是一种投影显示器,还可以包括投影装置和投影屏幕。

通信器220是用于根据各种通信协议类型与外部设备或外部服务器进行通信的组件。例如:通信器可以包括wifi芯片,蓝牙通信协议芯片,有线以太网通信协议芯片等其他网络通信协议芯片或近场通信协议芯片,以及红外接收器中的至少一种。

显示设备200可以通过通信器220与外部控制设备100或内容提供设备之间建立控制信号和数据信号发送和接收。

用户接口265可用于接收控制装置300(如:红外遥控器等)红外控制信号。

检测器230是显示设备200用于采集外部环境或与外部交互的信号。检测器230包括光接收器、图像采集器、温度传感器等。检测器230还可声音采集器等,如麦克风,可以用于接收用户的声音。示例性的,包括用户控制显示设备200的控制指令的语音信号,或采集环境声音,用于识别环境场景类型,使得显示设备200可以自适应环境噪声。

如图2所示,第一接口(输入/输出接口)255被配置为,可进行控制器250与外部其他设备或其他控制器250之间的数据传输。如接收外部设备的视频信号数据和音频信号数据、或命令指令数据等。

外部装置接口240可以包括但不限于如下:可以高清多媒体接口hdmi接口、模拟或数据高清分量输入接口、复合视频输入接口、usb输入接口、rgb端口等任一个或多个接口。也可以是上述多个接口形成复合性的输入/输出接口。

如图2所示,调谐解调器210被配置为通过有线或无线接收方式接收广播电视信号,可以进行放大、混频和谐振等调制解调处理,从多个无线或有线广播电视信号中解调出音视频信号,该音视频信号可以包括用户所选择电视频道频率中所携带的电视音视频信号,以及epg数据信号。

调谐解调器210解调的频点受到控制器250的控制,控制器250可根据用户选择发出控制信号,以使的调制解调器响应用户选择的电视信号频率以及调制解调该频率所携带的电视信号。

控制器250和调谐解调器210可以位于不同的分体设备中,即调谐解调器210也可在控制器250所在的主体设备的外置设备中,如外置机顶盒等。这样,机顶盒将接收到的广播电视信号调制解调后的电视音视频信号输出给主体设备,主体设备经过第一输入/输出接口接收音视频信号。

控制器250,通过存储在存储器上中各种软件控制程序,来控制显示设备的工作和响应用户的操作。控制器250可以控制显示设备200的整体操作。例如:响应于接收到用于选择在显示器275上显示ui对象的用户命令,控制器250便可以执行与由用户命令选择的对象有关的操作。

如图2所示,控制器250包括随机存取存储器251(randomaccessmemory,ram)、只读存储器252(read-onlymemory,rom)、视频处理器270、音频处理器280、其他处理器253(例如:图形处理器(graphicsprocessingunit,gpu)、中央处理器254(centralprocessingunit,cpu)、通信接口(communicationinterface),以及通信总线256(bus)中的至少一种。其中,通信总线连接各个部件。

ram251用于存储操作系统或其他正在运行中的程序的临时数据。

rom252用于存储各种系统启动的指令。

rom252用于存储一个基本输入输出系统,称为基本输入输出系统(basicinputoutputsystem,bios)。用于完成对系统的加电自检、系统中各功能模块的初始化、系统的基本输入/输出的驱动程序及引导操作系统。

在收到开机信号时显示设备200电源开始启动,cpu运行rom252中系统启动指令,将存储在存储器的操作系统的临时数据拷贝至ram251中,以便于启动或运行操作系统。当操作系统启动完成后,cpu再将存储器中各种应用程序的临时数据拷贝至ram251中,然后,以便于启动或运行各种应用程序。

cpu处理器254用于执行存储在存储器中操作系统和应用程序指令。以及根据接收外部输入的各种交互指令,来执行各种应用程序、数据和内容,以便最终显示和播放各种音视频内容。cpu处理器254可以包括多个处理器。多个处理器可包括一个主处理器以及一个或多个子处理器。主处理器,用于在预加电模式中执行显示设备200一些操作,和/或在正常模式下显示画面的操作。一个或多个子处理器,用于在待机模式等状态下一种操作。

图形处理器253用于产生各种图形对象,如:图标、操作菜单、以及用户输入指令显示图形等。包括运算器,通过接收用户输入各种交互指令进行运算,根据显示属性显示各种对象。以及包括渲染器,对基于运算器得到的各种对象,进行渲染,上述渲染后的对象用于显示在显示器上。

视频处理器270被配置为将接收外部视频信号,根据输入信号的标准编解码协议,进行解压缩、解码、缩放、降噪、帧率转换、分辨率转换、图像合成等等视频处理,可得到直接可显示设备200上显示或播放的信号。视频处理器270,包括解复用模块、视频解码模块、图像合成模块、帧率转换模块、显示格式化模块等。

其中,解复用模块,用于对输入音视频数据流进行解复用处理,如输入mpeg-2,则解复用模块进行解复用成视频信号和音频信号等。视频解码模块用于对解复用后的视频信号进行处理,包括解码和缩放处理等。图像合成模块,如图像合成器,其用于将图形生成器根据用户输入或自身生成的gui信号,与缩放处理后视频图像进行叠加混合处理,以生成可供显示的图像信号。帧率转换模块,用于对转换输入视频帧率,如将60hz帧率转换为120hz帧率或240hz帧率,通常的格式采用如插帧方式实现。显示格式化模块,则用于将接收帧率转换后视频输出信号,改变信号以符合显示格式的信号,如输出rgb数据信号。

图形处理器253可以和视频处理器可以集成设置,也可以分开设置,集成设置的时候可以执行输出给显示器的图形信号的处理,分离设置的时候可以分别执行不同的功能,例如gpu frc(framerateconversion))架构。

音频处理器280,用于接收外部的音频信号,根据输入信号的标准编解码协议,进行解压缩和解码,以及降噪、数模转换、和放大处理等处理,得到可以在扬声器中播放的声音信号。

视频处理器270可以包括一颗或多颗芯片组成。音频处理器,也可以包括一颗或多颗芯片组成。

视频处理器270和音频处理器280,可以单独的芯片,也可以于控制器一起集成在一颗或多颗芯片中。

音频输出,在控制器250的控制下接收音频处理器280输出的声音信号,如:扬声器286,以及除了显示设备200自身携带的扬声器之外,可以输出至外接设备的发生装置的外接音响输出端子,如:外接音响接口或耳机接口等,还可以包括通信接口中的近距离通信模块,例如:用于进行蓝牙扬声器声音输出的蓝牙模块。

供电电源290,在控制器250控制下,将外部电源输入的电力为显示设备200提供电源供电支持。供电电源290可以包括安装显示设备200内部的内置电源电路,也可以是安装在显示设备200外部电源,在显示设备200中提供外接电源的电源接口。

用户接口265,用于接收用户的输入信号,然后,将接收用户输入信号发送给控制器250。用户输入信号可以是通过红外接收器接收的遥控器信号,可以通过网络通信模块接收各种用户控制信号。

存储器260,包括存储用于驱动显示设备200的各种软件模块。如:第一存储器中存储的各种软件模块,包括:基础模块、检测模块、通信模块、显示控制模块、浏览器模块、和各种服务模块等中的至少一种。

基础模块用于显示设备200中各个硬件之间信号通信、并向上层模块发送处理和控制信号的底层软件模块。检测模块用于从各种传感器或用户输入接口中收集各种信息,并进行数模转换以及分析管理的管理模块。

目前,将三维空间中的全景视频转换为二维平面图像的投影格式的种类有很多种,各有优缺点,主要使用的投影格式包括但不限于erp格式、cmp格式。其中cmp格式又可以细分为三种子类。不同投影格式的全景视频渲染显示的实现方式各不相同。

下面首先对不同投影格式对应的投影方式进行介绍。

erp是目前应用最为广泛的一种全景视频投影方式。这种投影方式将地球的经线映射成间距相等的垂直线,将地球的纬线映射成间距相等的水平线,则可生成一幅横纵比为2:4的二维地图。图3示例性示出了等距柱状投影的示意图。

cmp是将球面图像内容投影到其外切立方体的6个面上,然后将立方体6个面展开成平面图像进行存储。按照立方体6个面展开组织的不同,cmp可以细分为3种子类,分别称为cmp1、cmp2和cmp3。

图4示例性示出了cmp1、cmp2和cmp3投影示意图。如图4所示,将球面图像内容投影到其外切立方体的6个面(如图4中所示的上、下、前、后、左、右6个面)上。在cmp4投影方式中,在包含4*3个分区的平面图像中,该6个面的图像在该平面图像中的排列位置、图像方向如图4所示;在cmp2投影方式中,在包含4*3个分区的平面图像中,该6个面的图像在该平面图像中的排列位置、图像方向如图4所示;在cmp3投影方式中,在包含3*2个分区的平面图像中,该6个面的图像在该平面图像中的排列位置、图像方向如图4所示。

图5至图8分别示出了erp、cmp1、cmp2、cmp3的片源的示意图。其中,图中的″上″″下″″前″″后″″左″″右″分别对应球面图像内容投影到其外切立方体的6个面,且文字方向用于表示相应面的方向。

由于图像都是以平面矩形存储的,所以为了保证图像完整性,cmp1和cmp2投影方式的6个立方体面以外的部分一般都用纯色填充。对于图像来说,如果相邻像素之间存在差别明显的颜色、亮度、纹理等属性,会认为它们之间存在一条边界。

如图5所示,erp投影方式中,erp投影图像整体是没有边界的,即图像是连续的。

如图6所示,cmp1投影方式中,平面图像的右上方区域604和右下方区域602为纯色填充区域(如图中虚线框中的白色区域);

如图7所示,cmp2投影方式中,平面图像的左上区域704、左下区域702、右上区域703、右下区域704为纯色填充区域(如图中虚线框中的白色区域);

如图8所示,cmp3投影方式中,各个面的图像间都有明显的边界;

如图5至图8所示,不同投影格式的片源图像中,各个面的图像的连续性以及纯色区域的分布规律存在差异。

由cmp投影的定义可知,erp投影转换为cmp投影其实就是分别建立erp图像和球面的映射关系以及球面和立方体面的映射关系,将erp球面图像投影到其外切立方体的6个面上,然后将6个面拼接后就可以得到cmp图像。

图9示例性示出了球面与立方体面的三维映射关系示意图,如图9所示,外切立方体与球体的中心一致,将erp球面图像投影到其外切立方体的6个面上。

图10示例性示出了球面与立方体面的二维映射关系示意图,如图10所示,以一个立方体面为例,由erp投影定义可知,球体经线方向的垂直线间距相等,即角度相等,虚线表示二维屏幕。立方体面(在图10中用粗实线表示)上p1和球面(在图10中用粗点画线表示)上的p2和二维屏幕(在图10中用虚线表示)上的p3一一对应。

在本申请的实施例中,立方体面和球面可视为形状不同的两个投影面。

为详细描述本申请的实施例,下面对本申请实施例中的部分名词进行解释说明。

模型变换:目的是将虚拟世界中(三维场景中)的物体调整到其应该所处的位置,即设定物体的位置和方向。

视图变换:设置虚拟世界中相机(用户视点)的位置和方向。

投影变换:设置视景体,将三维坐标投影为二维屏幕坐标,位于视景体之外的物体将被裁剪掉不进行显示。

视口变换:指定最终图像显示在屏幕(离屏渲染时则表示最终输出的目标图像)的区域范围。

模型变换、视图变换和投影变换均通过矩阵运算实现,三者分别对应模型矩阵、视图矩阵和投影矩阵。

虚拟世界中以(x,y,z)为坐标的物体最终要显示到以(x,y)为坐标的二维屏幕上,这种将虚拟世界中以(x,y,z)为坐标的物体变换到以一个个像素(x,y)来表示的屏幕坐标系中,需经过模型变换、视图变换、投影变换和视口变换几个过程。

需要说明的是,本申请实施例中的虚拟物体为球体或立方体,位置、大小、方向等不会发生变化,因此无需进行模型变换。

本申请的实施例中,投影变换使用的投影矩阵可根据显示设备的属性信息进行设置,属性信息包括但不限于显示设备的水平视场角或垂直视场角、水平视场角与垂直视场角的比值、近裁剪面和远裁剪面,近裁剪面和远裁剪面的位置可根据实际需求进行预先设置。其中,与虚拟相机的距离小于近裁剪面到虚拟相机的距离的物体将被裁剪掉不被显示,与虚拟相机的距离大于远裁剪面到虚拟相机的距离的物体将被裁剪掉不被显示,虚拟相机相当于用户视点。

本申请的实施例中,视图矩阵可通过改变用户视点的朝向得到,使用户视点的朝向分别朝着6个投影面的中心,可以得到6个方向的视图矩阵。

参见图11,为本申请实施例提供的一种转换全景视频投影格式的方法流程图。该流程可由显示设备执行,主要包括以下几步:

s1101:针对预先创建的待渲染网格的每个投影面,根据投影面内各个片元的uv坐标,从erp全景视频帧中获取投影面对应的颜色值。

该步骤中,显示设备启动显示全景视频的应用程序时,会创建一个待渲染网格作为全景视频的渲染载体,用户视点设置为待渲染网格的中心,每个网格由两个三角形组成,包含多个顶点。

在一种可选的实施方式中,创建的待渲染网格可以为立方体网格,此时,投影面的形状为矩形的立方体面,6个立方体面(投影面)的大小相同,相互垂直。由于立方体的6个立方体面均匀分布在″上″″下″″前″″后″″左″″右″6个方向,因此,可设置显示设备的水平视场角为90度,水平视场角与垂直视场角的比值为1,即垂直视场角也为90度。

在另一种可选的实施方式中,由图10可知,球面投影到二维屏幕的图像与对应角度的立方体面投影到二维屏幕上的图像相同,因此,也可以直接创建一个球面网格,此时,投影面为球面等角度划分为6个子球面。

在顶点着色器中,针对待渲染网格的每个投影面,将投影矩阵、投影面对应的视图矩阵以及投影面内的各个网格顶点的三维坐标相乘,确定投影面内的各个网格顶点与二维屏幕的映射关系,根据确定的映射关系,对投影面内的各个网格顶点进行光栅化,生成各个片元,每个片元对应二维屏幕上一个待渲染的像素点。

进一步地,针对erp全景视频中的每一erp全景视频帧,根据投影面内各个片元的uv坐标,从erp全景视频帧中获取投影面对应的颜色值。其中,各个片元的uv坐标可以是实时计算的,也可以是预先确定的。

在一些实施例中,生成投影面内的各个片元后,将各个片元在投影面上的三维坐标转换为球面上的经纬坐标,根据经纬坐标与uv坐标的映射关系,将各个片元的经纬坐标转换为uv坐标。

具体的,当待渲染网格为立方体网格时,根据图10所示的立方体面与球面的映射关系,在片段着色器中,将各个片元在立方体面上的三维坐标转换为球面上的经纬坐标,由于erp图像是由球面投影生成的,因此,图像中的uv坐标都对应于一个经纬度值,根据经纬坐标与uv坐标的对应关系,将各个片元的经纬坐标转换为uv坐标。当待渲染网格为球面网格时,将各个片元在球面上的三维坐标先转换为经纬坐标,再将经纬坐标转换为uv坐标。

为了提高投影转换的性能,在另一些实施例中,预先待渲染网格创建的过程中,可根据投影面内各个网格顶点的uv坐标,在光栅化时,根据各个网格顶点的uv坐标插值得到各个片元的uv坐标。

s1102:用获取的颜色值渲染预先创建的目标图像,得到目标cmp图像。

在一些实施例中,可预先创建一个设定分辨率的空白目标图像(无内容),该目标图像中包含多个图像分区,″上″″下″″前″″后″″左″″右″6个投影面分别对应一个图像分区。与cmp投影格式的类别相关,不同类别下图像分区的排列规则不同,具体参见图4。根据各个图像分区的排列规则,还可预先设置视口信息,包括视口的大小和起始位置,为使渲染后的目标图像覆盖显示屏幕的整个区域,可设置用于显示各个图像分区的视口的大小等于图像分区的大小(像素),且各个视口互不重叠,各个视口的覆盖区域等于目标图像的分辨率。

例如,以图4中的cmp4格式为例,设置″下″图像分区对应的视口的左下角起始坐标为(0,0),″后″图像分区对应的视口的左下角的起始坐标为(0,h),h为图像分区的高度,即目标图像纵向分辨率的4/3。

在执行s1102时,针对每一个投影面,根据预先设置的视口信息,用获取的各个片元的颜色值渲染预先相应的图像分区,将各个投影面渲染后的目标图像作为目标cmp图像。

在另一些实施例中,可预先创建设定分辨率的多个目标图像(无内容),″上″″下″″前″″后″″左″″右″6个投影面分别对应一个目标图像,并按照目标cmp格式类型,预先设置同于显示各个目标图像的视口信息,为使渲染后的各个目标图像覆盖显示屏幕的整个区域,可设置用于显示各个目标图像的视口的大小等于目标图像的分辨率,且各个视口互不重叠。

例如,以图4中的cmp4格式为例,设置″下″投影面对应的第一目标图像的视口的起始坐标为(0,0),″后″投影面对应的第二目标图像的视口的起始坐标为(0,h),h目标图像纵向分辨率。

在执行s1102时,针对每一个投影面,用获取的各个片元的颜色值渲染该投影面对应的目标图像,进一步地,根据预先设定的目标cmp图像的格式类型,对各个目标图像进行拼接,得到目标cmp图像。

例如,当设定目标cmp图像的格式类型为cmp4时,则将″上″″下″″前″″后″″左″″右″6个投影面对应的目标图像拼接为图4中cmp1的格式。

在s1102之后,还可将目标cmp图像保存在预设存储位置,以供后续显示时使用。

本申请的上述实施中,从建立待渲染网格的每个投影面内的各个网格顶点与二维屏幕的映射关系,到从erp全景视频帧中获取颜色值渲染目标图像,得到目标cmp图像,整个转换流程在显示设备的渲染引擎内部执行,并且可充分利用图形处理器(graphicsprocessingunit,gpu)的并行处理能力,各个投影面并行渲染,从而提高全景视频格式转换的效率。

需要说明的是,本申请的实施例以全景视频为例进行的描述,全景图像的转换同样适用本申请实施例提供的方法。

下面以一个投影面对应一个目标图像为例,详细描述将一张erp全景图像转换为目标cpm图像的完整流程。参见图12,该流程由显示设备执行,主要包括以下几步:

s1201:创建一个待渲染网格,并设置用户视点位于待渲染网格的中心。

该步骤中,待渲染网格可以为立方体网格或球面网格,作为全景图像的渲染载体。用户视点位于待渲染网格的中心。待渲染网格的描述参见s1101,在此不再重复。

s1202:根据显示设备的属性信息,生成投影矩阵。

该步骤中,显示设备的属性信息包括显示设备的水平视场角或垂直视场角、水平视场角与垂直视场角的比值、预先设置的近裁剪面和远裁剪面。

s1203:创建待渲染网格的投影面i对应的目标图像i,并设置视口信息。

该步骤中,投影面i对应一个空白的目标图像i,并设置视口的大小和起始坐标。具体的,可按照目标cpm图像的格式类型进行视口设置,保证显示各个目标图像的视口互不重叠。

s1204:改变用户视点的朝向,使用户视点朝着投影面i的中心,生成投影面i对应的视图矩阵。

该步骤中,如图9所示,投影面i可以为立方体面i或球面i。用户视点朝向不同,生成的视图矩阵不同。例如用户视点朝向立方体的″上″投影面时,生成朝向向上的视图矩阵。

s1205:根据投影矩阵、投影面i对应的视图矩阵以及投影面i内的各个网格顶点的三维坐标,确定投影面i内的各个网格顶点与二维屏幕的映射关系。

该步骤中,如图10所示,立方体面或球面上的网格的三维顶点坐标,可以对应到二维屏幕上的uv坐标,建立三维空间到二维屏幕的映射。

s1206:根据确定的映射关系,对投影面i内的各个网格顶点进行光栅化,生成各个片元,将各个片元在投影面i上的三维坐标转换为球面上的经纬坐标,并根据经纬坐标与uv坐标的对应关系,将各个片元的经纬坐标转换为uv坐标。

该步骤中,每个片元对应二维屏幕中一个待渲染的像素点,各个片元的uv坐标是实时计算的。具体描述参见s1104,在此不再重复。

s1207:根据投影面i内各个片元的uv坐标,从erp全景图像中获取投影面i对应的颜色值。

该步骤中,由erp的投影定义可知,erp全景图像为横纵比为2∶1的平面图像,因此,可根据各个片元的uv坐标,从erp全景图像中获取颜色值。

s1208~s1209:用获取的颜色值渲染目标图像i,并确定是否完成每个投影面的渲染,若是执行s1210,否则返回s1202。

该步骤中,如图9所示,待渲染网格分为6个投影面,需对每个投影面进行渲染。

s1210:根据预先设定的目标cmp图像的格式类型,对待渲染网格的每个投影平面对应的目标图像进行拼接,得到目标cmp图像并保存。

上述实施例中,按照设定的目标cmp图像的格式类型,对各个目标图像进行拼接,从而得到完整的目标cmp图像。具体拼接方式参见图4,在此不再展开描述。

下面以一个投影面对应一个目标图像的分区为例,详细描述将一张erp全景图像转换为目标cpm图像的完整流程。参见图13,该流程由显示设备执行,主要包括以下几步:

s1301:创建一个待渲染网格,并设置用户视点位于待渲染网格的中心。

该步骤的详细描述参见s1201,在此不再重复。

s1302:对待渲染网格各个投影面内的各个网格顶点进行光栅化,生成各个片元,并根据各个网格顶点的uv坐标,插值得到各个片元的uv坐标。

该步骤中,为了提高投影转换性能,在顶点着色器中,可根据各个网格顶点的uv坐标插值得到各个片元的uv坐标。

s1303:创建待渲染网格对应的单幅目标图像。

该步骤中,待渲染网格的每个投影面j对应目标图像的一个图像分区j。

s1304:根据显示设备的属性信息,生成投影矩阵。

该步骤的详细描述参见s1202,在此不再重复。

s1305:设置图像分区j的视口信息。

该步骤中,包括设置视口的位置和大小,用于显示每个图像分区的视口位置可根据目标cmp的格式类型进行设置。

s1306:改变用户视点的朝向,使用户视点朝着一个投影面j的中心,生成投影面j对应的视图矩阵。

该步骤的详细描述参见s1204,自此不再重复。

s1307:根据投影矩阵、投影面j对应的视图矩阵以及投影面j内的各个网格顶点的三维坐标,确定投影面j内的各个网格顶点与二维屏幕的映射关系。

该步骤的详细描述参见s1206,在此不再重复。

s1308:根据投影面j内各个片元的uv坐标,从erp全景图像中获取该投影面对应的颜色值。

该步骤的详细描述参见s1207,在此不再重复。

s1309~s1310:用获取的颜色值渲染投影面j对应的图像分区j,并确定是否完成每个投影面的渲染,若是执行s1311,否则返回s1305。

该步骤中,如图9所示,待渲染网格分为6个投影面,需对每个投影面进行渲染,每个投影面对应一个图像分区。

s1311:保存目标cmp图像。

上述实施例中,创建待渲染网格对应的目标图像,按照目标cpm图像的cmp类型进行视口设置,显示各个图像分区的视口互不重叠,针对每一投影面,从erp全景图像中获取颜色值并渲染对应的图像分区,从而得到完整的目标cmp图像。

基于相同的技术构思,本申请实施例提供一种转换全景视频投影格式的显示设备,该显示设备可执本申请实施例提供的全景视频投影格式的转换方法流程,并能达到同样的技术效果,在此不再重复。

参见图14,该显示设备包括处理模块1401、渲染模块1402;

处理模块1401,用于针对预先创建的待渲染网格的每个投影面,根据投影面内各个片元的uv坐标,从等矩柱投影erp全景视频帧中获取投影面对应的颜色值,其中,各个片元是根据投影面内的各个网格顶点与二维屏幕的映射关系,对投影面内的各个网格顶点进行光栅化生成的,映射关系是根据投影矩阵、投影面对应的视图矩阵以及投影面内的各个网格顶点的三维坐标确定的,投影矩阵是根据显示设备的属性信息生成的,视图矩阵是通过改变用户视点朝向得到的,用户视点位于待渲染网格的中心;

渲染模块1402,用于用获取的颜色值渲染预先创建的目标图像,得到目标立方体贴图投影cmp图像。

可选的,目标图像为一个,目标图像包含多个图像分区;

渲染模块1402,具体用于:

根据预先设置的视口信息,用获取的颜色值渲染相应的图像分区;

将渲染后的目标图像作为目标cmp图像。

可选的,图像分区的大小等于视口大小。

可选的,目标图像为多个,每个目标图像对应一个投影面;

渲染模块1402,具体用于:

用获取的颜色值渲染各个投影面对应的目标图像;

根据预先设定的目标cmp图像的格式类型,对各个目标图像进行拼接,得到目标cmp图像。

可选的,目标图像的分辨率等于视口大小。

可选的,处理模块1401,具体用于:

将各个片元在投影面上的三维坐标转换为球面上的经纬坐标,根据经纬坐标与uv坐标的对应关系,将各个片元的经纬坐标转换为uv坐标;或者

根据投影面内各个网格顶点的uv坐标,插值得到各个片元的uv坐标。

可选的,属性信息包括显示设备的水平或垂直视场角、水平视场角与垂直视场角的比值、以及预先设置的近裁剪面和远裁剪面。

可选的,显示设备的水平视场角和垂直视场角为90度。

本申请实施例还提供一种计算机可读存储介质,用于存储一些指令,这些指令被执行时,可以完成前述实施例的方法。

本申请实施例还提供一种计算机程序产品,用于存储计算机程序,该计算机程序用于执行前述实施例的方法。

最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用所述实施方式以及适于具体使用考虑的各种不同的变形的实施方式。


技术特征:

1.一种转换全景视频投影格式的显示设备,其特征在于,包括:

显示器,与图形处理器连接,被配置为显示全景视频;

存储器,与图形处理器连接,被配置为存储计算机指令;

所述图形处理器,被配置为根据所述计算机指令执行以下操作:

针对预先创建的待渲染网格的每个投影面,根据所述投影面内各个片元的uv坐标,从等矩柱投影erp全景视频帧中获取所述投影面对应的颜色值,其中,所述各个片元是根据所述投影面内的各个网格顶点与二维屏幕的映射关系,对所述投影面内的各个网格顶点进行光栅化生成的,所述映射关系是根据投影矩阵、所述投影面对应的视图矩阵以及所述投影面内的各个网格顶点的三维坐标确定的,所述投影矩阵是根据显示设备的属性信息生成的,所述视图矩阵是通过改变用户视点朝向得到的,所述用户视点位于所述待渲染网格的中心;

用获取的颜色值渲染预先创建的目标图像,得到目标立方体贴图投影cmp图像。

2.如权利要求4所述的显示设备,其特征在于,所述目标图像为一个,所述目标图像包含多个图像分区;

所述图形处理器用获取的颜色值渲染预先创建的目标图像,得到目标立方体贴图投影cmp图像,具体被配置为:

根据预先设置的视口信息,用获取的颜色值渲染相应的图像分区;

将渲染后的目标图像作为所述目标cmp图像。

3.如权利要求2所述的显示设备,其特征在于,所述图像分区的大小等于视口大小。

4.如权利要求4所述的显示设备,其特征在于,所述目标图像为多个,每个目标图像对应一个投影面;

所述图形处理器用获取的颜色值渲染预先创建的目标图像,得到目标立方体贴图投影cmp图像,具体被配置为:

用获取的颜色值渲染各个投影面对应的目标图像;

根据预先设定的目标cmp图像的格式类型,对各个目标图像进行拼接,得到所述目标cmp图像。

5.如权利要求4所述的显示设备,其特征在于,所述目标图像的分辨率等于视口大小。

6.如权利要求1-5中任一项所述的显示设备,其特征在于,所述图形处理器通过以下方式确定各个片元的uv坐标:

将所述各个片元在投影面上的三维坐标转换为球面上的经纬坐标,根据经纬坐标与uv坐标的对应关系,将所述各个片元的经纬坐标转换为uv坐标;或者

根据所述投影面内各个网格顶点的uv坐标,插值得到各个片元的uv坐标。

7.如权利要求1-5中任一项所述的显示设备,其特征在于,所述属性信息包括显示设备的水平或垂直视场角、水平视场角与垂直视场角的比值、以及预先设置的近裁剪面和远裁剪面。

8.如权利要求7所述的显示设备,其特征在于,所述显示设备的水平视场角和垂直视场角为90度。

9.一种转换全景视频投影格式的方法,其特征在于,包括:

针对预先创建的待渲染网格的每个投影面,根据所述投影面内各个片元的uv坐标,从等矩柱投影erp全景视频帧中获取所述投影面对应的颜色值,其中,所述各个片元是根据所述投影面内的各个网格顶点与二维屏幕的映射关系,对所述投影面内的各个网格顶点进行光栅化生成的,所述映射关系是根据投影矩阵、所述投影面对应的视图矩阵以及所述投影面内的各个网格顶点的三维坐标确定的,所述投影矩阵是根据显示设备的属性信息生成的,所述视图矩阵是通过改变用户视点朝向得到的,所述用户视点位于所述待渲染网格的中心;

用获取的颜色值渲染预先创建的目标图像,得到目标立方体贴图投影cmp图像。

10.如权利要求9所述的方法,其特征在于,所述目标图像为多个,每个目标图像对应一个投影面;

所述用获取的颜色值渲染预先创建的目标图像,得到目标立方体贴图投影cmp图像,包括:

用获取的颜色值渲染各个投影面对应的目标图像;

根据预先设定的目标cmp图像的格式类型,对各个目标图像进行拼接,得到所述目标cmp图像。

技术总结
本申请公开一种转换全景视频投影格式的方法及显示设备,充分利用渲染引擎的功能,建立预先创建的待渲染网格的每个投影面内各个网格顶点与二维屏幕的映射关系,根据映射关系,对各个网格顶点进行光栅化生成各个片元,针对预先创建的待渲染网格的每个投影面,根据所述投影面内各个片元的UV坐标,从ERP全景视频帧中获取所述投影面对应的颜色值,用获取的颜色值渲染预先创建的目标图像,得到目标CMP图像,其中,所述投影矩阵是根据显示设备的属性信息生成的,所述视图矩阵是通过改变用户视点朝向得到的,所述用户视点位于所述待渲染网格的中心,本申请由图形处理器并行执行,提高了全景视频格式转换的效率。

技术研发人员:任子健;王振杰
受保护的技术使用者:聚好看科技股份有限公司
技术研发日:2021.04.20
技术公布日:2021.08.03

转载请注明原文地址:https://doc.8miu.com/read-564.html

最新回复(0)