基于用户移动信息显示图像的方法和装置

文档序号:1760377 发布日期:2019-11-29 浏览:32次 >En<

阅读说明:本技术 基于用户移动信息显示图像的方法和装置 (The method and apparatus for showing image based on user mobile information ) 是由 禹志焕 E.伊普 崔秉斗 权东旭 于 2018-03-06 设计创作,主要内容包括:提供了一种由服务器基于用户移动信息发送关于全向图像的信息的方法和装置。从用户佩戴的用于显示全向图像的装置接收移动参数。基于接收到的移动参数生成用户移动信息。基于用户移动信息生成与用户位置相对应的第一封装信息。基于用户移动信息生成与紧靠近用户位置的位置相对应的第二封装信息。基于第一封装信息和第二封装信息生成第三封装信息。第一封装信息、第二封装信息和第三封装信息中的至少一个被发送到该装置。(Provide a kind of method and apparatus for sending the information about omni-directional image based on user mobile information by server.The device for showing omni-directional image worn from user receives moving parameter.User mobile information is generated based on the moving parameter received.The first packaging information corresponding with user location is generated based on user mobile information.The second packaging information corresponding with the position near user location is generated based on user mobile information.Third packaging information is generated based on the first packaging information and the second packaging information.At least one of first packaging information, the second packaging information and third packaging information are sent to the device.)

基于用户移动信息显示图像的方法和装置

技术领域

本公开一般地涉及一种用于显示图像的方法和装置,并且更具体地,涉及一种用于基于用户移动信息显示图像的方法和装置。

背景技术

互联网现在正在演进成物联网(Internet of things,IoT),在物联网中,诸如事物的分布式实体在没有人类干预的情况下交换和处理信息。通过与云服务器连接,IoT技术和大数据处理技术相结合的万物联网(Internet of everything,IoE)已经出现。由于IoT实施方式对诸如例如传感技术、有线/无线通信和网络基础设施、服务接口技术和安全技术的技术元素的需求,所以最近已经对例如传感器网络、机器对机器(machine-to-machine,M2M)通信、和机器类型通信(machine type communication,MTC)进行了研究。

IoT环境可以提供智能互联网技术服务,其通过收集和分析在连接的事物之间生成的数据来创造新的价值。IoT可以通过现有信息技术(information technology,IT)和工业应用的融合和组合应用于各种领域,包括例如智能家庭、智能建筑、智能城市、智能汽车或联网汽车、智能电网、医疗保健、智能电器和高级医疗服务。在IoT环境中控制IoT设备可能对用户并不友好。例如,用户在IoT环境中可能难以识别IoT设备,难以连接到IoT设备,并难以控制IoT设备。

随着虚拟现实(virtual reality,VR)技术的最新发展,在VR中显示沉浸式图像的重要性日益增加。目前,考虑到VR中的图像数据使用的限制,有必要根据用户移动自然地显示图像。

VR是指由基于计算机的人工技术或创造环境或情境的技术创造的、逼真的但不真实的特定环境或情境。作为VR内容提供给用户的环境或情境通过刺激用户的感觉使得用户能够获得逼真的空间和时间体验。此外,用户可以通过操纵真实设备或借助真实设备执行命令来与VR内容中实现的对象进行交互。用户也可以简单地沉浸在VR内容中。VR内容与单边模拟的不同之处在于VR内容能够与用户交互并创建用户体验。

VR内容可以通过VR设备提供给用户。一种这样的VR设备是安装在用户的头部的头戴式显示器(head-mounted display,HMD),其中VR内容显示在设置在用户的眼睛前方的显示屏上。

用户可以使用VR设备在各个方向上移动头部,并且可以根据这样的移动改变用户观看的方向。此外,用户可以佩戴着VR设备移动,并且VR设备基于用户的移动来改变VR图像,从而提供逼真的VR内容。

发明内容

技术问题

一个或多个示例实施例提供了一种用于基于用户移动信息显示图像的方法和装置。

技术方案

本公开是为了至少解决上述问题和/或缺点,并且至少提供下述优点而提出的。因此,本公开的一方面提供了一种用于在VR中基于用户移动自然地显示VR内容的方法和装置。

本公开的另一方面提供了一种用于针对6自由度(degrees of freedom,6DoF)观看,根据用户移动提供与用户的视点(point of view,PoV)匹配的自然图像的系统。

根据本公开的一方面,提供了一种由服务器基于用户移动信息发送关于全向图像的信息的方法。该方法包括:由服务器的收发器从用于显示全向图像显示设备的装置接收移动参数,该装置由用户佩戴。服务器的处理器基于接收到的移动参数生成用户移动信息。处理器基于用户移动信息生成与用户位置相对应的第一封装(packing)信息。处理器基于用户移动信息生成与紧靠近用户位置的位置相对应的第二封装信息。处理器基于第一封装信息和第二封装信息生成第三封装信息。将第一封装信息、第二封装信息和第三封装信息中的至少一个从收发器发送到该装置。

根据本公开的另一方面,提供了一种用于基于用户移动信息发送关于全向图像的信息的服务器。服务器包括存储器和连接到存储器的至少一个处理器。该至少一个处理器被配置为从用于显示全向图像的装置接收移动参数,该装置由用户佩戴。该至少一个处理器还被配置为基于接收到的移动参数生成用户移动信息。该至少一个处理器还被配置为基于用户移动信息生成与用户位置相对应的第一封装信息,基于用户移动信息生成与紧靠近用户位置的位置相对应的第二封装信息,以及基于第一封装信息和第二封装信息生成第三封装信息。该至少一个处理器另外被配置为将第一封装信息、第二封装信息和第三封装信息中的至少一个发送到该装置。

根据本公开的另一方面,提供了一种通过用于显示全向图像并由用户佩戴的装置基于用户移动信息来显示图像的方法。该装置的收发器向服务器发送通过分析用户移动获得的移动参数,并从服务器接收封装信息。该装置的处理器基于接收到的封装信息渲染VR图像,并显示渲染的VR图像。服务器被配置为基于移动参数生成用户移动信息,基于用户移动信息生成与用户位置相对应的第一封装信息,基于用户移动信息生成与紧靠近用户位置的位置相对应的第二封装信息,以及基于第一封装信息和第二封装信息生成第三封装信息。封装信息包括第一封装信息、第二封装信息和第三封装信息中的至少一个。

根据本公开的另一方面,提供了一种由用户佩戴的、用于基于用户移动信息显示全向图像的装置。该装置包括存储器和连接到存储器的至少一个处理器。该至少一个处理器被配置为向服务器发送通过分析用户移动获得的移动参数,从服务器接收封装信息,基于接收到的封装信息渲染VR图像,并且显示渲染的VR图像。服务器被配置为基于移动参数生成用户移动信息,基于用户移动信息生成与用户位置相对应的第一封装信息,基于用户移动信息生成与紧靠近用户位置的位置相对应的第二封装信息,以及基于第一封装信息和第二封装信息生成第三封装信息。封装信息包括第一封装信息、第二封装信息和第三封装信息中的至少一个。

附图说明

当结合附图时,本公开的某些实施例的上述和其他方面、特征和优点将从以下详细描述中变得更加显而易见,其中:

图1是示出根据实施例的用于执行用于基于用户移动信息显示图像的方法的计算机系统的结构的框图;

图2是示出用于通过用户移动检测技术自然地显示在用户已经移动到的位置处生成的内容的方法的图;

图3是示出根据实施例的用于在VR中基于用户移动信息显示图像的方法的图;

图4是示出根据另一实施例的用于在VR中基于用户移动信息显示图像的方法的图;

图5是示出根据实施例的用于在VR中基于用户移动信息显示图像的方法的流程图;

图6是示出根据部分实施例的梯形封装(trapezoid packing)方法的图;

图7是示出根据部分实施例的由用户移动引起的投影变化的图;

图8是示出根据部分实施例的由用户移动引起的封装变化的图;

图9是示出根据实施例的八面体封装(packing)的图;

图10是示出用于通过用户移动检测技术自然地显示与用户已经移动到的位置相对应的内容的方法的图;

图11A、图11B、图11C、图11D和图11E图示了各种投影方法和封装方法;

图12是示出根据实施例的用于基于移动信息显示图像的方法和装置的流程图;

图13是示出根据另一实施例的用于基于移动信息显示图像的方法和装置的流程图;

图14是示出根据另一实施例的用于基于移动信息显示图像的方法和装置的流程图;

图15是示出根据另一实施例的用于基于移动信息显示图像的方法和装置的流程图;

图16是示出根据实施例的梯形封装方法的图;

图17是示出根据实施例的梯形封装方法的图;

图18A和图18B是示出基于用户移动的梯形封装方法的图;

图19是示出基于用户移动信息的梯形封装方法的图;

图20是示出根据实施例的封装的梯形的旋转的示例性视图;

图21是示出根据另一实施例的基于用户移动信息的梯形封装方法的图;

图22是示出根据实施例的基于用户移动信息的梯形封装方法的图;

图23是示出根据实施例的图像分发服务器中的逐段封装方法的流程图;

图24是示出根据实施例的用于在HMD设备中获取逐段封装的数据的方法的流程图;

图25是示出根据实施例的用于获得用户移动距离d2的方法的图;

图26是示出根据实施例的用于显示360度图像的方法和装置的图;和

图27是示出根据另一实施例的用于显示360度图像的方法和装置的图。

具体实施方式

下面参考附图详细描述本公开的实施例。相同或相似的组件可以用相同或相似的附图标记表示,尽管它们在不同的附图中示出。可以省略本领域已知的结构或过程的详细描述,以避免模糊本公开的主题。

尽管本文使用的术语是考虑到实施例中的功能来定义的,但是术语可以根据用户或操作者或客户的意图来改变。因此,不应简单地通过实际使用的术语,而是通过本公开内的每个术语的含义来理解本公开。

图1是示出根据实施例的用于执行用于基于用户移动信息显示图像的方法的计算机系统的结构的框图。

用于基于用户移动信息显示图像的方法可以在计算机系统100中实施或者记录到记录介质上。如图1所示,计算机系统100包括至少一个处理器110和存储器120。

至少一个处理器110可以是中央处理单元(central processing unit,CPU)或处理存储在存储器120中的命令的半导体设备。

至少一个处理器110可以是控制计算机系统100的所有操作的控制器。控制器可以通过读取存储在存储器120中的程序代码并运行读取的程序代码来执行计算机系统100的操作。

计算机系统100还包括用户输入设备150、数据通信总线130和用户输出设备160中的至少一个。前述组件中的每一个都可以经由数据通信总线130进行数据通信。

计算机系统100还包括连接到网络180的网络接口170。

存储器120包括各种类型的易失性或非易失性存储介质。例如,存储器120包括只读存储器(read only memory,ROM)123和随机存取存储器(random access memory,RAM)126。

因此,基于用户移动信息显示图像的方法可以实施为计算机可执行的方法。如果基于用户移动信息显示图像的方法在计算机设备中实施,则计算机可读指令可以运行根据本公开的操作方法。

基于用户移动信息显示图像的方法可以实施为计算机可读记录介质中的计算机可读代码。计算机可读记录介质可以包括存储由计算机系统100可解释的数据的任何类型的记录介质,诸如,例如,ROM、RAM、磁带、磁盘、闪存和光学数据存储装置。此外,计算机可读记录介质可以分布在连接到计算机通信网络的计算机系统100上,以便以分散的方式将计算机可读代码写入其中并从其运行。

图2是示出通过用户移动检测技术自然地显示与用户已经移动到的位置相对应的VR内容的方法的图。

根据实施例,可以检测用户移动,并且可以基于检测到的用户移动自然地显示与用户位置相对应的VR内容。用户移动可以包括用户位置、用户注视方向、用户移动方向和用户速度中的至少一个。例如,用户可以从第一位置210移动到第二位置250,并且HMD设备可以检测用户移动,确定用户已经移动。用户可以移动到第二位置250,同时观看由HMD设备在第一位置210处显示的图像220。HMD设备应该能够以在第一位置220处显示的图像可以无缝地连接到在第二位置250处显示的图像的这样的方式提供在第二位置250处显示的图像。

图3是示出根据实施例的用于在VR中基于用户移动信息显示图像的方法的图。

为了在VR中根据用户移动显示自然图像,需要基于用户移动的渲染。可以生成与用户移动匹配的最佳投影数据(信息),并且可以生成和发送与投影数据相对应的封装数据(信息)。

如何应用投影方法和封装方法是本公开中的问题。此外,如果传统的封装图像被修改,则由于图像已经被编码和解码,所以可能发生图像退化(degradation)。

根据本公开,可以通过使用一种方法来减少图像退化,在该方法中,通过传统立方体投影根据用户移动生成封装数据,并且发送生成的封装数据。

立方体投影313是在球形模型310的虚拟球形表面上显示的图像到立方体的每个面上的投影方法,从而以立方体的网的形式获取在每个面上的二维(two-dimensional,2D)图像。

当用户从第一位置T1 330移动到第二位置T2 333时,提出了一种用于通过立方体投影根据用户移动生成投影数据和封装数据的方法。

图4是示出根据另一实施例的用于在VR中基于用户移动信息显示图像的方法的图。

在图4中,使用球形模型将立方体投影313与截顶正方形棱锥(truncated squarepyramid,TSP)投影413进行比较。

基于立方体投影生成包括投影在6个正方形区域上的图像的封装数据316。根据用户移动生成各种TSP投影,并且基于TSP投影生成包括梯形图像的封装数据416。

此外,在TSP投影的情况下,可以根据用户移动生成各种投影形状。

根据用户移动,可以改变用户的PoV(point of view,视点),并且可以生成根据视点而变化的梯形封装数据。在VR中,基于用户移动的封装数据可以通过使用生成的梯形封装数据来发送。

图5是示出根据实施例的用于在VR中基于用户移动信息显示图像的方法的流程图。

在VR中基于用户移动信息显示图像的方法包括:在步骤S510中,获得用户移动信息,在步骤S520中,发送基于获得的移动信息生成的移动参数,在步骤S530中,基于移动参数分析用户移动,在步骤S533和S536中,生成与用户位置相对应的第一投影信息和第一封装信息,在步骤S543和S546中,生成与靠近用户位置的位置相对应的第二投影信息和第二封装信息,在步骤S550中,通过将生成的第一封装信息与第二封装信息组合来生成第三封装信息,在步骤S513中,渲染生成的第三封装信息,并且在步骤S519中,解封装第三封装信息。

移动信息可以包括关于从参考PoV改变的PoV处的至少一个角度以及用户移动距离(用户的移动距离)的信息。该至少一个角度可以是三维(three-dimensional,3D)欧拉角。

图6是示出根据部分实施例的梯形封装方法的图。

根据参数调整,梯形封装的方法可以表示各种封装,诸如,例如三角形封装、梯形封装和正方形封装。投影(诸如,例如,用作360度图像处理方法的二十面体投影(icosahedral projection,ISP)、八面体投影(octahedron projection,OHP)、截顶棱锥投影和可交换分配概率函数(exchangeable partition probability function,EPPF))可以用梯形封装来封装。

如框610所示,封装帧是矩形。在框613中,矩形帧被转换成封装的梯形帧。

如果pack_sb_indicator为1,这指示梯形的较短基部(base)是顶侧,如方框630所示。如果pack_sb_indicator为2,这表示梯形的较短基部是底侧,如方框633所示。如果pack_sb_indicator为3,这表示梯形的较短基部在左侧,如方框636所示。如果pack_sb_indicator为4,这表示梯形的较短基部是右侧,如方框639所示。

图7是示出根据部分实施例的由用户移动引起的投影变化的图。

根据立方体投影713,球体710的表面被划分为6个相等的表面,并且6个表面中的每一个投影到正方形上。根据立方体投影,可以对每个表面应用相同的权重,并且可以表示全向图像。基于立方体投影713的封装数据716包括与6个表面相对应的图像。

根据实施例,球体750的TSP投影753可以通过应用用户移动距离来将靠近用户已经移动到的位置的面763的一侧的长度设置为长,并且将远离用户已经移动到的位置的面766的一侧的长度设置为短。其他的面可以成形为梯形。封装数据756可以通过重新定位每个面来生成。虽然附近的面和远处的面可以是但不限于正方形,但是附近的面和远处的面可以是矩形。

图8是示出根据部分实施例的由用户移动引起的封装变化的图。

根据用户移动,用户和观察的对象之间的距离和角度被改变。笛卡尔坐标系中位置的估计可以通过梯形封装来改变。为了通过梯形封装改变笛卡尔坐标系中的坐标,可以计算旋转和缩放参数,使得可以根据用户移动显示图像。

为了生成与全向图像相对应的投影图像或封装图像,在封装过程中生成梯形图像,如框810和框813所示,并且在投影过程中生成梯形图像,如框820和框823所示。也就是说,梯形图像可以通过封装过程或投影过程选择性地生成。为了支持梯形封装方法,需要提供一种包括proj_reg_sb_offset、proj_reg_sb_length、pack_reg_sb_offset和pack__reg_sb_length的语法。

表1描述了用于梯形封装方法的语法。

[表1]

表2描述了上述语法的语义。[表2]

例如,投影帧包括立方体投影的所有六个面。立方体投影的六个面可以称为投影帧的区域。

proj_reg_width[i]、proj_reg_height[i]、proj_reg_top[i]和proj_reg_left[i]以投影帧中的像素为单位来指示。投影帧的宽度和高度分别等于proj_reg_width和proj_reg_height。

proj_reg_width[i]指定投影帧的第i个区域的宽度。proj_reg_width[i]大于0。

proj_reg_height[i]指定投影帧的第i个区域的高度。proj_reg_height[i]大于0。

proj_reg_top[i]指定投影帧中的第i个区域中的垂直位置。proj_reg_top[i]等于或大于0。如果proj_reg_top[i]为0,则指示投影帧中的最高位置。

proj_reg_left[i]指定投影帧中的第i个区域中的水平位置。proj_reg_left[i]等于或大于0。如果proj_reg_left[i]为0,则指示投影帧中最左的位置。

投影帧的最左上角坐标为(0,0),以及投影帧的最右下角坐标为(proj_frame_height-1,proj_frame_width-1)。

proj_reg_width[i]和proj_reg_left[i]受到限制,使得proj_reg_width[i]+proj_reg_left[i]小于proj_frame_width。

如果投影帧具有多个视图,则proj_reg_width[i]、proj_reg_height[i]、proj_reg_top[i]和proj_reg_left[i]标识区域,并且投影帧上的区域位于投影帧的单个组成帧内。

proj_reg_sb_indicators[i]指定投影帧中的第i个区域的矩形的一侧为矩形的较短基部。

如果proj_reg_sb_indicators[i]等于0,则第i个区域是矩形。如果proj_reg_sb_indicators[i]大于0,则第i个区域为梯形。

由proj_reg_sb_indicators[i]定义的梯形形状列于下表3。

[表3]

proj_reg_sb_indicators[i] 较短基部(形状)
0 没有较短基部(矩形)
1 顶侧
2 底侧
3 左侧
4 右侧

proj_reg_sb_offset[i]指定从矩形的顶点到投影帧中的第i个区域的较短基部的起点的距离。

proj_reg_sb_length[i]指定投影帧中的第i个区域的较短基部的长度。

如果flip[i]等于0,这指示第i个区域没有被翻转。如果区域被翻转,则该区域的图像会在镜子上水平地或垂直地反射。如果flip[i]等于1,这指示第i个区域被水平地翻转。如果flip[i]等于2,这指示第i个区域被垂直地翻转。其他值被保留。

rotation[i]指示第i个区域相对于第i个区域的中心旋转的角度。如果rotation[i]为0,这指示第i个区域没有被旋转。如果rotation[i]为1,这指示第i个区域已经以逆时针方向被旋转了90度。如果rotation[i]为2,这指示第i个区域已经以逆时针方向被旋转了180度。如果rotation[i]为3,这指示第i个区域已经以逆时针方向被转了270度。如果rotation[i]为4,这指示第i个区域已经以逆时针方向被旋转了45度。如果rotation[i]为5,这指示第i个区域已经以逆时针方向被旋转了135度。如果rotation[i]是6,这指示第i个区域已经以逆时针方向被旋转了225度。如果rotation[i]为7,这指示第i个区域已经以逆时针方向被旋转了315度。

投影帧中的第i个区域可以在翻转后被旋转,并重新定位到封装帧中。

封装帧包括,例如,与立方体投影的六个面相对应的所有面。这些面可以被称为封装帧的区域。

pack_reg_width[i]、pack_reg_height[i]、pack_reg_top[i]和pack_reg_left[i]分别指定封装帧中的区域的宽度、高度、顶部位置和最左位置。

pack_reg_sb_indicators[i]指定矩形的一侧是封装帧中的第i个区域的较短基部。当pack_reg_sb_indicators[i]等于0时,则第i个区域是矩形。如果pack_reg_sb_indicators[i]大于0,则第i个区域是梯形。

由pack_reg_sb_indicators[i]定义的梯形形状列于下表4。

[表4]

pack_reg_sb_offset[i]指定从矩形的顶点到封装帧中的第i个区域的较短基部的起点的距离。

pack_reg_sb_length[i]指定封装帧中的第i个区域的较短基部的长度。

Transform_type[i]指定应用于将投影帧的第i个区域映射到封装帧的旋转和镜像(反转、镜像或翻转)。如果Transform_type[i]指定旋转和镜像两者,则在镜像后应用旋转。表5列出了指定的值,并且其他值被保留。

[表5]

语义
1 没有变换
2 水平地镜像
3 旋转180度(逆时针)
4 水平地镜像后旋转180度(逆时针)
5 水平地镜像后旋转90度(逆时针)
6 旋转90度(逆时针)
7 水平地镜像后旋转270度(逆时针)
8 旋转270度(逆时针)

上述值对应于EXIF取向标签。

应该严格考虑值的顺序。

表1和表2中列出的flip[i]和rotation[i]可能完全与transform_type[i]相对应。与transform_type[i]相对应的flip[i]和rotation[i]的值列于下表6。

[表6]

Transform_type[i]的值 对应的flip[i] 对应的rotation[i]
1 0 0
2 1 0
3 0 2
4 1 2
5 1 1
6 0 1
7 1 3
8 0 3

根据实施例的梯形封装方法可以通过45度旋转来实施八面体封装。

与八面体封装相对应的flip[i]和rotation[i]的值列于下表7。

[表7]

flip[i] rotation[i] 旋转角度
0 4 旋转45度(逆时针)
0 5 旋转135度(逆时针)
0 6 旋转225度(逆时针)
0 7 旋转315度(逆时针)
1 4 水平地镜像后旋转45度(逆时针)
1 5 水平地镜像后旋转135度(逆时针)
1 6 水平地镜像后旋转225度(逆时针)
1 7 水平地镜像后旋转315度(逆时针)

图9是示出根据实施例的八面体封装的图。

图9示出了根据表7中所列的通过45度旋转的八面体封装方法,基于用户移动信息显示图像的方法。

根据柏拉图多面体投影方法投影的帧可以以柏拉图多面体的网的形式表示,并且投影帧的区域可以通过翻转和旋转柏拉图多面体的网来改变位置并封装。封装数据(封装帧)可以通过封装投影帧的区域来生成。

图9示出了八面体的网910、在使用90度旋转的封装方法中生成的封装数据920、以及在使用45度旋转的封装方法中生成的封装数据930。

首先,对于封装,八面体的每个面(正三角形)可以被转换成等腰直角三角形,并且8个等腰直角三角形可以通过90度旋转被转换成矩形,从而生成封装数据920。封装数据930可以通过将封装数据920旋转45度来生成。封装数据920由矩形定义,以及封装数据930由正方形定义。

上述操作可以通过提供存储与通信系统中的实体、功能、AP(接入点)、服务器或UE的组件中的操作相对应的程序代码的存储器设备来执行。也就是说,实体、功能、AP、服务器或UE的控制器可以通过从存储器设备读取程序代码并借助于处理器或CPU运行程序代码来执行上述操作。

图10是示出了通过用户移动检测技术自然地显示与用户已经移动到的位置相对应的内容的方法的图。

图10是示出根据实施例的用于通过使用用户移动信息来表示VR图像的方法的图。如图10所示,用户从第一位置1010移动到第二位置1020。

HMD设备可以显示图像,确定第一位置是球形坐标系的原点。在用户移动到第二位置之后,考虑到6DoF(Degree of Freedom,自由度),HMD设备应该能够自然地显示图像。本公开提出一种投影方法和封装方法,使得HMD设备甚至可以在用户已经移动到的位置处自然地显示图像。例如,当基于用户移动信息生成VR图像时,可以用截顶棱锥方法生成360度图像。

用户移动信息可以包括关于用户位置、用户移动距离、用户移动方向和用户速度中的至少一个的信息。与VR图像相关的投影方法和封装方法可以根据用户移动信息而改变。

为了生成自然的VR图像,可以使用TSP投影方法和梯形封装方法。VR图像数据可以根据与用户移动相对应的封装方法预先生成,可以检测用户移动,并且可以通过分析检测到的用户移动来适当地选择封装的VR图像数据。

用户可以根据时间的推移沿着特定路径移动。预期的路径可以被划分为更小的分段,并且相同的封装方法可以应用于相同的分段。如果用户在特定路径中移动,则路径的方向可以是用户的PoV(视点或视角)的方向。因此,本公开的封装方法可以根据路径的方向来确定。由于相同的封装方法被应用于相同的分段,所以可以减少预先生成的VR图像。可以预先生成和准备与下一分段相对应的VR图像。

根据根据本公开的封装VR图像的方法,服务器可以预先生成预期要使用的封装数据。

用于VR图像的全向媒体应用格式(omnidirectional media applicationformat,OMAF)标准采用3DoF。假设用户位于虚拟球体中心,OMAF标准通过偏航角、俯仰角和滚动角来定义用户的PoV和视场(field of view,FoV)。视口(viewport)由PoV和FoV来定义。

另一方面,可以认为用户不在球体中心,而是在球体内移动。本文中,用户在球体内的位置被表示为根据用户已经移动到的位置确定的(x,y,z)坐标。用户移动信息可以包括(x,y,z)坐标和上述偏航角、俯仰角和滚转角。随着VR图像根据用户的位置而改变,用户可以体验到生动的存在感和沉浸感。

投影方法和封装方法可以根据由用户移动信息指定的用户的位置、移动方向和速度来确定。

应用用户已经移动到的位置(x,y,z)以及传统的3DoF被称为6DoF。

图11A、图11B、图11C、图11D和图11E是示出各种投影方法和封装方法的图。

图11A示出了立方体投影和基于立方体投影的封装方法,作为提供360度图像的方法。

如果用户位于VR图像中视图(a)中的球体中心,则可以通过视图(b)中的立方体投影(六面体投影)生成360度图像。而另一种投影方法,等矩形投影(equirectangularprojection,ERP)具有朝向顶部(北极)部分和底部(南极)部分的失真变得严重的缺点,尽管中间(赤道)部分的失真较小,但是立方体投影提供了在每个面上失真较小的好处,因为立方体投影的每个面都是以类似的方式产生的。

图11B示出了各种基于立方体投影的封装方法。

用于封装立方体投影的方法可以包括:在视图(a)中的通过填充表示投影图像的立方体的网的空白来封装投影图像的4×3封装方法,在视图(b)中的其中通过重新定位每个面来配置两行使得每行包括三个面的3×2封装方法,以及在视图(c)中的其中通过将顶面、底面、左侧面、右侧面和背面缩放到1/2,其中正面保持不变来生成封装数据的加权封装方法。为了便于描述,正面、背面、顶面、底面、左侧面和右侧面按原样称呼,这不应被解释为限制本公开的范围。

当用户通过HMD设备观看360度图像(全向图像)时,正面的图像可能更重要。因此,正面的图像的数据可以增加。在这方面,图11B的视图(c)中所示的加权封装方法可能是有用的。然而,由于每个面的分辨率不同,所以在加权封装方法中,图像可能在任意两个面之间的边界处失真。

为了防止任意两个面之间的边界失真,可以使用基于TSP投影的梯形封装方法。

图11C和图11D示出了根据本公开实施例的基于TSP投影的梯形封装方法。

TSP投影可以减小背面的大小,同时保持正面的大小。如图11D所示,背面的大小可以是选择性的,并且背面可以是正方形或长方形。

在3D柏拉图多面体投影(例如,立方体投影)中,如果与柏拉图多面体的每个面相对应的信息以相同的大小(例如,在立方体的情况下是正方形)发送,则可以认为由用户观看的区域和未由用户观看的区域用分配给这些区域的相同权重来处理。这意味着相同的资源被分配给具有不同重要程度的区域,这是低效的。

为了向由用户观看的区域分配更多信息,本公开提出了一种截顶棱锥封装方法。

为了使用截顶棱锥封装方法,根据实施例,每个面可以被映射到3D投影中的梯形。例如,在立方体的情况下,可以使用矩形到梯形的映射方法。

在立方体投影中,由用户观看的区域(例如,正面)保持原始图像的分辨率,而背面可以是以预定比率缩小的正方形。另一方面,顶面、底面、左侧面和右侧面可以是梯形。可以通过将一部分正方形面映射到梯形来执行封装,使得通过组合顶面、底面、左侧面和右侧面获得的图像可以具有与正面的分辨率相同的分辨率。

图11D中的视图(a1)、(b1)和(c1)示出了具有成形为正方形的背面的TSP投影方法,并且图11D的视图(a2)、(b2)和(c2)示出了分别与图11D的视图(a1)、(b1)和(c1)相对应的梯形封装方法。背面更大按照视图(a2)、(b2)和(c2)的顺序。

此外,图11D的视图(d1)示出了具有成形为矩形的背面的TSP方法,并且图11D的视图(d2)示出了与图11D的视图(d1)相对应的梯形封装方法。

图11E示出了根据实施例的立方体投影和TSP投影之间的比较。

根据TSP封装方法,立方体投影帧可以转换为TSP投影帧。

参考图11E,例如,正面可以是以1:1采样的正方形,背面可以是以1:9采样的正方形,并且右侧、左侧、顶面和底面中的每一个可以是以2:9采样的等腰梯形。

图11E所示的TSP封装方法具有减少任意两个面之间的边界处失真的效果。

图12是示出根据实施例的用于基于移动信息显示图像的方法的流程图。

在步骤S1210中,HMD设备1203检测用户移动。关于检测到的用户移动的信息可以包括关于距球体中心的距离d和用户的注视方向(从用户位置到用户的PoV的方向)的信息,并且可以进一步包括关于用户速度的信息。

在步骤S1220中,HMD设备1203基于用户移动信息生成移动参数,并将生成的移动参数发送到图像分发服务器1206。

在步骤S1230中,图像分发服务器1206基于接收到的移动参数分析移动。在步骤S1240中,图像分发服务器1206基于分析的移动生成投影帧,并且在步骤S1250中,基于生成的投影帧生成封装数据。

在步骤S1260中,图像分发服务器1206将生成的封装数据发送到HMD设备。

在步骤S1270中,HMD设备1203通过渲染接收到的封装数据来生成VR图像。在步骤S1280中,HMD设备显示VR图像。

图13是示出根据另一实施例的用于基于移动信息显示图像的方法和装置的流程图。

在步骤S1310中,HMD设备1203检测用户移动。关于检测到的用户移动的信息可以包括关于距球体中心的距离d和用户的注视方向的信息,并且可以进一步包括关于用户速度的信息。

在步骤S1313中,HMD设备1203基于用户移动信息生成移动参数,并将生成的移动参数发送到图像分发服务器1206。

在步骤S1316中,图像分发服务器1206基于接收到的移动参数分析移动。在步骤S1319中,图像分发服务器1206基于分析的移动生成第一投影帧,并且在步骤S1323中,基于生成的第一投影帧生成第一封装数据。此外,在步骤S1326中,图像分发服务器1206将第一投影数据和第一封装数据存储在存储装置中。

另外,在步骤S1329和S1333中,生成与第一投影数据和第一封装数据相对应的位置附近的第二投影数据和第二封装数据。在步骤S1336中,第二投影数据和第二封装数据被存储在存储装置中。存储装置可以是包括在服务器中的存储设备或者连接到服务器的独立存储设备。存储装置的类型不受限制。因为用户通常移动到当前位置的附近,所以可以使用对于该附近的第二投影数据和第二封装数据无缝地提供服务。在步骤S1339中,图像分发服务器1206基于第一封装数据和第二封装数据来确定要发送到HMD设备1203的封装数据。

在步骤S1343中,图像分发服务器1206将生成的封装数据发送到HMD设备。

在步骤S1346中,HMD设备1203渲染接收到的封装数据,并且在步骤S1349中,显示渲染的VR图像。

图14是示出根据另一实施例的用于基于移动信息显示图像的方法和装置的流程图。

以在存储装置中搜索投影帧和封装帧,而不需要如图13所示的每次都生成投影数据(投影帧)和封装数据(封装帧)。通过使用预先存储的投影帧和封装帧,可以减少投影和封装所花费的时间。

在步骤S1410中,HMD设备1203检测用户移动,并且在步骤S1413中,将基于检测到的用户移动生成的移动参数发送到图像分发服务器1206。在步骤S1416中,图像分发服务器1206通过基于接收到的移动参数分析用户移动来生成用户移动信息。在步骤S1419中,图像分发服务器1206基于生成用户移动信息搜索投影数据和封装数据。在步骤S1423中,图像分发服务器1206从存储装置获得投影数据和封装数据,并且在步骤S1426中,确定要发送到HMD设备1203的封装数据。在步骤S1433中,HMD设备1203从图像分发服务器1206接收封装数据,在步骤S1446中,基于接收到的封装数据渲染图像,并且在步骤S1449中,显示渲染的图像。

图15是示出根据另一实施例的用于基于移动信息显示图像的方法和装置的流程图。

如上所述,服务器可以预先生成封装数据,将封装数据存储在存储装置中,并基于分析的用户移动参数从生成的封装数据当中选择适当的封装数据。

在步骤S1507中,图像分发服务器1206预先生成封装数据。在步骤S1510,HMD设备1203检测用户移动,并且在步骤S1513中,将基于检测到的用户移动生成的移动参数发送到图像分发服务器1206。在步骤S1516中,图像分发服务器1206通过基于接收到的移动参数分析用户移动来生成用户移动信息。在步骤S1519中,图像分发服务器1206通过基于生成的用户移动信息在生成的封装数据中搜索投影数据和封装数据来确定要发送到HMD设备1203的封装数据。在步骤S1533中,HMD设备1203从图像分发服务器1206接收封装数据,在步骤S1546中,基于接收到的封装数据渲染图像,并且在步骤S1549中,显示渲染的图像。

图16是示出根据实施例的梯形封装方法的图。

根据投影方法,投影帧的每个区域可以是矩形。与投影帧的区域相对应的封装帧的一个区域可以是矩形或梯形。封装帧的一个区域的位置可以由pack_reg_left和pack_reg_top指定。此外,封装帧的一个区域的大小可以由pack_sb_width和pack_sb_height指定。如果封装帧的一个区域是正方形,则pack_sb_width可能等于pack_sb_height。

为了将矩形封装成梯形,梯形的较长基部设置为pack_sb_width,梯形的较短基部的起始位置设置为pack_sb_offset,以及梯形的较短基部的长度设置为pack_sb_length。

封装之前矩形的高度可以等于封装梯形的高度,以及矩形可以按预定比率放大或缩小。梯形的较短基部的位置可以由pack_sb_indicator确定。如果pack_sb_indicator为1,这可能意味着梯形的较短基部是顶侧。

图17是示出根据实施例的梯形封装方法的图。

图17示出了梯形封装方法中根据pack_sb_indicator的值的梯形的较短基部的位置。如果pack_sb_indicator为1,则梯形的较短基部为顶侧,如果pack_sb_indicator为2,则梯形的较短基部为底侧,如果pack_sb_indicator为3,则梯形的较短基部为左侧,如果pack_sb_indicator为4,则梯形的较短基部为右侧。

图18A和图18B是示出基于用户移动的梯形封装方法的图。

立方体投影(立方体封装)可以通过仅改变区域的位置而不转换每个区域本身来封装投影图像的区域。如果立方体的一侧的长度为L,则每个封装面(正方形)的一侧的长度也为L。因此,在4:3封装的情况下,立方体可以被封装成具有宽度为4L以及长度为3L的矩形。在3:2封装的情况下,立方体可以被封装成具有宽度为3L以及长度为2L的矩形。在图18A中,封装帧的区域中的封装数据可以具有相同的大小,而不管用户移动如何。

图18B是示出当用户在球形模型中从球体中心移动了距离d时,根据移动距离d的TSP投影方法和梯形封装方法的图。

根据实施例,如果用户已经从球体中心移动了距离d,则根据距离d确定p(p>1)。梯形封装方法通常在保持背面的形状的同时减小背面的图像的大小和分辨率,同时保持正面的图像以原始图像的大小、形状和分辨率。可以通过减小相对不重要的背面的图像的数据的大小来减小发送和接收数据的大小。另一方面,右侧面、左侧面、顶面和底面可以是梯形,并且可以根据顶面和底面的大小来确定。如前所述,术语正面、背面、顶面、底面、右侧面和左侧面是为了便于描述而使用的,这不应被解释为限制本公开。

此外,背面可以是矩形,而不是正方形。如果背面是矩形,可以参考图11D的视图(d1)和(d2)。

如上所述,正面的大小和分辨率并不总是最大的。例如,当用户用HMD设备观看VR图像时,用户可以向后移动。即使用户向后移动,用户仍然可以更加关注正面的图像。在这种情况下,正面的分辨率可能高于背面的分辨率。然而,当用户向后移动时,用户可能暂时向前看,并且可能突然地转身(向后转)并继续前进。在这种情况下,因为背面可能比正面更重要,所以背面的分辨率可能高于正面的分辨率。

正面、背面、左侧面、右侧面、顶面和底面的位置不固定。在本公开中,在用户注视的方向上的立方体的面可以被称为正面,与正面相对的面可以被称为背面,并且可以基于用户观看的正面来确定顶面、底面、左侧面和右侧面。

在根据另一实施例的显示图像的方法中,用于正面、背面、左侧面、右侧面、顶面和底面的投影数据是基于用户在球形模型中从球体中心移动的距离和方向通过立方体投影生成的。根据基于距离d确定的比率p,将生成的投影数据转换成封装数据。

用户的注视方向和移动方向是不同的。然而,由于用户通常倾向于在用户观看的方向上移动,所以用户的注视方向和移动方向可以相似。假设用户的移动方向是用户的PoV,正面存在于移动方向上,并且背面与正面相对,可以根据移动距离d来计算放大率p。可以通过使用计算的p来应用TSP投影方法和梯形封装方法。下面参考图25更详细地描述用户的注视方向和移动方向不同的情况。

为了在6DoF图像中的特定位置处生成投影数据,可以在球体模型中球体内部的多个位置处以立方体的形式预先生成第一投影数据。预先生成的第一投影数据可以不管用户的注视如何而生成,并且以图11B的视图(b)中示出的3×2封装方法生成。使用VR设备的用户的注视由用户观看的方向确定,并且用户的注视方向在观看VR图像期间改变。因此,当预先生成第一投影数据时,可以不考虑用户的注视。第一投影数据是通过在立方体投影中平等地处理六个面而产生的。用于预先生成第一投影数据的坐标系可以被称为全局坐标系,并且基于用户的注视生成的坐标系可以被称为局部坐标系。

如果用户移动到特定位置,则可以使用与特定位置附近相对应的多个预先生成的第一投影数据来生成与用户的移动的位置相对应的第二投影数据。与用户的移动的位置相对应的第二投影数据可以根据用户的注视转换成第三投影数据。立方体投影的使用便于根据用户的注视转换投影数据。

图19是示出基于用户移动信息的梯形封装方法的图。

在基于TSP投影的梯形封装中,p(p>1)可以基于用户移动的距离来计算。相对于正面的大小的背面的大小可以由p决定。这里,梯形可以是等腰梯形。

梯形的较短基部的长度pack_sb_length可以使用以下等式(1)确定为pack_reg_width/p:

[数学式1]

如果封装区域的梯形是等腰梯形,背面的一侧的长度L/p由p决定。由于等腰梯形是水平地对称的,所以用于梯形封装的pack_sb_offset可以使用下面的等式(2)来确定:

[数学式2]

图20是示出根据实施例的封装梯形的旋转的图。

如上所述,梯形的旋转可以用pack_sb_indicator表示。

图21是示出根据另一实施例的梯形封装方法的图。

在根据实施例的梯形封装方法中,背面可以是矩形,而不是正方形。

p1和p2可以基于用户移动的距离d来确定。

pack_sb_offset由图21中的ox和oy确定。ox和oy的值可以以类似于等式(1)的方式获得。pack_sb_indicator的值列于下表8。参考图21的视图(c),ox表示用于顶面和底面的pack_sb_offset,并且oy表示用于左侧面和右侧面的pack_sb_offset。

一旦p1和p2由用户移动的距离d确定,则ox和oy可以由等式(1)和等式(2)计算。

表8列出了图21的视图(c)所示的梯形封装方法中的用于顶面、底面、左侧面和右侧面的pack_sb_indicator的值。

pack_sb_indicator指定梯形的较短基部的位置。

[表8]

pack_sb_indicator
2
1
3
4

对于3DoF,假设用户位于虚拟球形屏幕的中心。对于6DoF,假设用户移动,而不是位于球体中心。

如果用户从球体中心移动的距离是d,则可以根据距离d来确定大于1的放大率p。原始图像的正面(正方形)的一侧的长度由L表示。然后,背面为正方形的一侧的长度可以被确定为L/p。此外,可以根据距离d确定每个都大于1的放大率p1和p2,使得背面可以具有不同的宽度和高度,并且背面的宽度和高度可以分别被确定为L/p1和L/p2。可以确定背面的一侧的长度,并且可以确定顶面、底面、左侧面和右侧面的梯形形状。梯形可以是等腰梯形或直角梯形。根据背面的位置和形状,顶面、底面、左侧面和右侧面可以具有不同的梯形形状,这是示例性的,并不限制本公开的范围。

例如,每个面都被映射以获得封装数据。关于对于每个面的映射面,如果顶面、底面、左侧面和右侧面被成形为相同的梯形,则背面可以是正方形。如果顶面和底面具有相同的形状,则左侧面和右侧面具有相同的形状,并且顶面和左侧面具有不同的形状,则背面可以是矩形。

再次参考图21,背面的位置可以由ox和oy确定。顶面、底面、左侧面和右侧面的梯形形状可以通过确定背面的位置和形状并将背面的每个顶点连接到与该顶点相对应的、具有与正面的大小相同的大小的正方形的点来确定。出于封装效率的目的,假设背面的每一侧平行于对应于背面的一侧的与正面的大小相同的大小的正方形的一侧。因此,封装所需的参数的数量可以减少。如果背面和正面的中心相同,并且背面是正方形,则所有面的大小和形状可以仅由放大率p确定,而无需使用附加参数。

除了用户的位置之外,放大率p或放大率p1和p2还可以根据用户的速度来确定。此外,放大率p或放大率p1和p2可以根据用户的位置和速度来确定。

根据本公开,用于基于用户移动封装图像的服务器可以从VR图像数据预测下一个移动,选择要应用于图像的封装方法,并且预先生成封装数据。

HMD设备可以检测用户的位置和速度,并将检测到的信息发送到服务器。服务器可以将预先生成的封装数据发送到HMD设备,或者生成与检测到的信息相对应的新的封装数据,并将新的封装数据发送到HMD设备。

生成的封装数据可以存储在数据库中,以供以后用作响应于用户请求而发送的封装数据。

HMD设备可以检测用户移动。用户移动可以包括移动距离、移动方向和速度。

移动参数可以基于检测到的用户移动来获得。移动参数可以被发送到服务器。

服务器可以通过分析移动参数来确定用户是否已经在同一分段中移动。

图22是示出根据实施例的用于基于用户移动信息的梯形封装方法的图。

在图22中,用户已经移动的路径显示为单独的分段。由于投影数据和封装数据可能不是针对用户的移动路径上的所有位置生成的,所以投影数据和封装数据可能是针对特定的分段生成的。

用户的VR设备可以检测用户移动,并将关于用户移动的信息发送到服务器。服务器可以通过分析用户移动来确定用户请求的下一个VR图像是否针对与当前VR图像的相同的分段。在相同分段的情况下,服务器可以生成具有高移动可能性的封装候选组,而在不同分段的情况下,服务器可以生成新的封装数据。

例如,在图22的分段1、分段2和分段3中,用户以相似的速度在相似的方向上移动。因此,相同的投影方法和相同的封装数据可以用于分段1、分段2和分段3。相反,用户在分段4中的速度和方向不同于在分段1、分段2和分段3中的速度和方向,因此,可以针对分段4使用不同的封装方法。

图23是示出根据实施例的图像分发服务器中的逐段封装方法的流程图。

在步骤S2310中,图像分发服务器从HMD设备接收移动参数,并且在步骤S2320中,基于接收到的移动参数分析用户移动。在步骤S2330中,确定用户是否已经在同一分段中移动。如果用户已经在同一分段移动,则在步骤S2340中,图像分发服务器搜索预先生成的封装数据,并在步骤S2350中获得封装数据。在步骤S2370中,图像分发服务器将获得的封装数据发送到HMD设备。

如果用户已经在不同的分段移动,则在步骤S2360中,图像分发服务器根据用户移动生成封装数据,并且在步骤S2370中,将生成的封装数据发送到HMD设备。

图24是示出根据实施例的在HMD设备中获取每一分段的封装数据的方法的流程图。

在步骤S2410中,HMD设备通过感测用户移动来生成移动参数。在步骤S2420中,HMD设备基于生成的移动参数分析用户移动。在步骤S2430中,确定用户是否已经在同一分段中移动。如果用户已经在同一分段中移动,则在步骤S2440中,HMD设备向图像分发服务器请求封装数据。如果用户已经在不同的分段中移动,则在步骤S2450中,HMD设备请求图像分发服务器根据用户移动生成封装数据。在步骤S2460中,HMD设备从图像分发服务器接收封装数据。

图25是示出根据实施例的用于计算用户移动的距离d2的方法的图。

用户从第一位移(点O)移动到第二位移(点P),并且用户的移动的方向可以不同于用户在移动的位置处的注视方向。

如果球形图像基于球形模型中距球体中心的虚拟距离(球形半径)r的假设,则用户的移动距离d1可以小于r。

一旦确定了用户在第二位移处的注视,就确定了用户的PoV。由于PoV由距球体的中心的偏航角和俯仰角确定,所以PoV的位置由偏航角和俯仰角指定。可以获得包括PoV的经度,并且可以获得PoV与赤道相交的点(点Q)。这由PoV的偏航角来指定。

可以获得从点P到线OQ的垂足(点H)。本文中,可以通过使用线OH(d2)作为用户的移动距离d来生成封装数据,可以考虑用户的PoV和位置两者来生成6DoF封装数据。

根据实施例,用于显示图像的方法和装置可以基于用户移动添加特殊效果。例如,如果用户向前移动,则用户的向前移动的效果可以通过在用于左侧面和右侧面的封装数据中沿着从向前方向到向后方向的轨迹移动虚拟对象来实现。封装数据可以通过根据移动方向和速度添加视觉效果来生成。

此外,在存在从上方垂直地下落的对象(诸如雨滴)的情况下,对象的轨迹可以根据移动方向改变为以预定角度。

此外,增强现实(augmented reality,AR)可以通过根据移动速度添加声音效果(诸如,例如,风的声音或由移动产生的声音)来提供。

基于上述视觉效果和声音效果,服务器可以通过估计用户移动来预先生成各种环境的虚拟现实图像数据。当服务器向用户发送预先生成的数据时,服务器可以快速提供服务。

图26是示出根据实施例的用于显示360度图像的方法和装置的图。

为了生成360度图像,使用由全向相机(360度相机、全景相机等)捕获的图像。

例如,可以通过在图26中黑点的位置2610处安装全向相机来捕获360度图像。在图26中,总共有25个黑点2610,并且可以使用25个全向相机在每个位置处获得360度图像。全向相机的数量是示例性的,并不限制本公开的范围。由于视频制作成本随着全向相机的数量而增加,所以可以合理地确定全向相机的数量。然而,为了回放精确和自然的图像,所需的每一位置全向图像的数量可以大于由全向相机捕获的图像的数量。由于成本限制,全向相机的数量可能不会无限地增加。为了根据用户位置获得全向图像,可以基于由全向相机捕获的图像来合成非捕获位置2620的全向图像。公开了通过使用多个当前全向图像在中点处生成全向图像的各种技术。

在图26中,存在于25个黑点之间的总共56个有图案的点表示基于由相邻全向相机生成的全向图像合成附加全向图像所在的位置。

在图26中,可以使用25个全向图像生成56个附加全向图像。在图26中描述的数字是示例性的,并不限制本公开的范围。

参考图26,由全向相机在捕获位置2610捕获的图像可以用于区域2630,以及对于非捕获位置2620的没有由实际的全向相机捕获但基于在附近捕获的图像生成的图像可以用于区域2640。

图27是示出根据另一实施例的用于显示360度图像的方法和装置的图。

图27是图26的一部分的放大视图。黑点2710表示实际的全向相机捕获图像所在的位置,而有图案的点2720、2730和2740表示通过合成由相邻的全向相机捕获的全向图像来虚拟捕获附加全向图像所在的位置。此外,用户移动路径如图27所示。

每个位置2710、2720、2730或2740对应于从图27中显示的总区域划分的四个区域中的一个。对于每个区域,可以使用由实际相机捕获的全向图像(第一全向图像)或基于实际捕获的全向图像生成的虚拟全向图像(第二全向图像)生成的投影数据。

从图27所示的总区域划分的四个区域可以进一步划分。在图27中,每个区域被划分为9个子区域。尽管每个区域的9个子区域使用相同的全向图像,但是对于子区域中的每一个可以使用不同的封装方法。

在图27中,虚线表示用户移动路径。用户移动路径可以基于子区域被划分为多个分段。可以使用相同的封装方法为每个分段生成封装数据。也就是说,根据用户移动路径的一部分,可以确定应用相同封装方法的特定分段。

从正面的描述中显而易见的是,根据实施例,可以通过检测用户移动来自然地显示在用户位置处生成的内容。

根据实施例,由于可以通过分析用户移动信息来选择针对用户移动而优化的用于VR图像渲染的封装数据,所以可以向用户提供更高的沉浸感。在传统封装方法中仅有八种模式可用的变换部分被划分为翻转部分和旋转部分,从而增加自由度。此外,以90度为单位的旋转的精度被改变为以45度为单位的旋转的精度,从而增加了传统上没有处理过的八面体封装的压缩效率。

可以封装投影的360度图像,并且可以基于封装数据来表示VR图像。VR设备可以通过使用各种投影模型和封装模型,通过与用户移动无关的预定封装模型来显示图像。此外,可以根据用户移动生成最佳投影模型和封装模型,并且VR设备可以估计用户移动,生成针对移动而优化的封装模型,然后显示图像。

根据实施例,由于VR用户的移动被估计,然后与估计的移动相对应的最佳封装模型被选择并被重新发送给VR用户,所以可以增加沉浸感。此外,当发送封装数据时,数据压缩效率可以通过45度旋转变换效果来提高,这在传统上是不被支持的。

根据实施例,通过为具有高视觉重要性的区域提供更多信息,可以有效地使用有限的资源。

如在本公开中所描述的,实体、功能、AP、服务器或UE的各种组件和模块可以使用硬件电路来操作,诸如硬件电路(诸如基于互补金属氧化物半导体(complementary metaloxide semiconductor,CMOS)的逻辑电路)、固件和软件和/或硬件、以及嵌入在机器可读介质中的固件和/或软件的组合。例如,可以使用诸如晶体管、逻辑门和专用集成电路(application specific integrated circuits,ASIC)的电路来实施各种电子结构和方法。

虽然已经参考本公开的某些实施例示出和描述了本公开,但是本领域技术人员将理解,在不脱离由所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以在形式和细节上进行各种改变。

52页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:显示控制装置、显示控制方法及程序

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!