一种虚拟画面处理方法及装置

文档序号:1399864 发布日期:2020-03-06 浏览:26次 >En<

阅读说明:本技术 一种虚拟画面处理方法及装置 (Virtual picture processing method and device ) 是由 李侃 苏泰梁 马钦 刘文剑 于 2019-11-14 设计创作,主要内容包括:本说明书提供一种虚拟画面处理方法及装置,其中所述方法包括:获取虚拟场景中的多个虚拟模型的运动速度;根据多个所述虚拟模型的运动速度将所述虚拟场景的显示画面划分为多个画面区域,并为每个画面区域设置对应的分辨率;根据每个所述画面区域对应的分辨率,生成每个所述画面区域对应的图像数据;将每个所述画面区域对应的图像数据分别传输至客户端,以使客户端合成完整的所述虚拟场景的显示画面。(The present specification provides a virtual image processing method and apparatus, wherein the method includes: obtaining the motion speeds of a plurality of virtual models in a virtual scene; dividing a display picture of the virtual scene into a plurality of picture areas according to the motion speeds of the virtual models, and setting corresponding resolution for each picture area; generating image data corresponding to each picture area according to the resolution corresponding to each picture area; and respectively transmitting the image data corresponding to each picture area to a client so that the client synthesizes a complete display picture of the virtual scene.)

一种虚拟画面处理方法及装置

技术领域

本说明书涉及动画图像绘制及传输技术领域,特别涉及一种虚拟画面处理方法、装置、计算设备及计算机可读存储介质。

背景技术

在现有的三维场景画面中,同一个虚拟场景的显示画面的分辨率是一样的,尤其是对于画面分辨率较高的游戏画面,其数据的处理量较大,同时,随着计算机科技的发展,三维游戏正在成为电子游戏领域的后起之秀,三维游戏是以云计算为基础的游戏方式,在三维游戏的运行模式下,所有游戏都在服务器端运行,并将渲染完毕后的游戏画面压缩后通过网络传送给用户,在客户端的客户端设备不需要任何高端处理器和显卡只需要基本的视频解压能力即可享受高质量的游戏画面,然而现有技术的三维游戏画面传输过程受制于宽带成本和网络资源,对于传输数据量较大的三维游戏在传输过程中往往会出现游戏画面传输滞帧,导致游戏画面卡顿的情况,严重影响了用户的游戏体验。

发明内容

有鉴于此,本说明书实施例提供了一种虚拟画面处理方法、装置、计算设备及计算机可读存储介质,以解决现有技术中存在的技术缺陷。

根据本说明书实施例的第一方面,提供了一种虚拟画面处理方法,包括:

获取虚拟场景中的多个虚拟模型的运动速度;

根据多个所述虚拟模型的运动速度将所述虚拟场景的显示画面划分为多个画面区域,并为每个画面区域设置对应的分辨率;

根据每个所述画面区域对应的分辨率,生成每个所述画面区域对应的图像数据;

将每个所述画面区域对应的图像数据分别传输至客户端,以使客户端合成完整的所述虚拟场景的显示画面。

根据本说明书实施例的第二方面,提供了一种图像处理装置,包括:

速度获取模块,被配置为获取虚拟场景中的多个虚拟模型的运动速度;

画面分割模块,被配置为根据多个所述虚拟模型的运动速度将所述虚拟场景的显示画面划分为多个画面区域,并为每个画面区域设置对应的分辨率;

数据生成模块,被配置为根据每个所述画面区域对应的分辨率,生成每个所述画面区域对应的图像数据;

数据传输模块,被配置为将每个所述画面区域对应的图像数据分别传输至客户端,以使客户端合成完整的所述虚拟场景的显示画面。

根据本说明书实施例的第三方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述虚拟画面处理方法的步骤。

根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现所述虚拟画面处理方法的步骤。

本申请根据多个所述虚拟模型的运动速度将所述虚拟场景的显示画面划分为多个画面区域,并为每个画面区域设置对应的分辨率,对于高速运动的画面区域采用低分辨率进行显示,而低速运动画面区域采用高分辨率进行显示,从而节约了系统对图像数据的处理量,在作为云游戏使用时,可以将图像数据分为多个部分传输到客户端之后再进行合成,极大的节约了带宽,改善云游戏的游戏画面传输滞帧以及画面卡顿的情况,使玩家获得良好的游戏体验。

附图说明

图1是本申请实施例提供的计算设备的结构框图;

图2是本申请实施例提供的虚拟画面处理方法的流程图;

图3是本申请实施例提供的虚拟画面处理方法的另一流程图;

图4是本申请实施例提供的虚拟画面处理方法的另一流程图;

图5是本申请实施例提供的虚拟画面处理方法的示意图;

图6是本申请实施例提供的虚拟画面处理方法的另一流程图;

图7是本申请实施例提供的图像处理装置的结构示意图。

具体实施方式

在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。

在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

首先,对本发明一个或多个实施例涉及的名词术语进行解释。

虚拟场景:一般指由客户端设备生成的三维虚拟场景,例如三维游戏场景等。

虚拟模型:一般指三维虚拟场景中的三维模型,例如三维游戏场景中的虚拟物体、任务或者环境等。

分辨率:分辨率是指屏幕显示的分辨率,屏幕分辨率确定计算机屏幕上显示多少信息的设置,以水平和垂直像素来衡量,分辨率就是屏幕上显示的像素个数,分辨率160×128的意思是水平方向含有像素数为160个,垂直方向像素数128个,屏幕尺寸一样的情况下,分辨率越高,显示效果就越精细和细腻。

在本申请中,提供了一种虚拟画面处理方法、装置、计算设备及计算机可读存储介质,在下面的实施例中逐一进行详细说明。

图1示出了根据本说明书一实施例的计算设备100的结构框图。该计算设备100的部件包括但不限于存储器110和处理器120。处理器120与存储器110通过总线130相连接,数据库150用于保存数据。

计算设备100还包括接入设备140,接入设备140使得计算设备100能够经由一个或多个网络160通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。

在本说明书的一个实施例中,计算设备100的上述部件以及图1中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图1所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。

计算设备100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备100还可以是移动式或静止式的服务器。

其中,处理器120可以执行图2所示方法中的步骤。图2是示出了根据本申请一实施例的虚拟画面处理方法的示意性流程图,包括步骤202至步骤208。

步骤202:获取虚拟场景中的多个虚拟模型的运动速度。

在本申请的实施例中,在三维的虚拟场景中存在多个用于组成所述虚拟场景的虚拟模型,并且所述虚拟模型相对于用户的虚拟镜头之间往往存在相对的运动关系,进一步的,在涉及三维游戏的虚拟场景中,尤其是对于第一人称视角的三维游戏,其虚拟镜头以玩家的视角为第一视角对整个三维游戏的虚拟场景进行观察,并且在游戏的进行过程中玩家控制的虚拟模型将与三维游戏中其他玩家控制的虚拟模型或其他的虚拟模型产生相对运动关系,例如,在第一人称射击游戏和赛车竞速类游戏中,玩家通常以第一视角的方式控制某一特定的虚拟模型(人物或赛车),并在由其他虚拟模型组成的沙盘或地图进行运动,比如行走、跑动、射击和驾驶等等,则以玩家为第一视角的虚拟镜头与虚拟场景中的多个虚拟模型之间就会存在相对的运动速度,其中,所述三维游戏可以是在服务器上运行的云游戏,所述服务器可以获取云游戏对应的三维游戏虚拟场景中的多个虚拟模型相对于虚拟镜头的运动速度。

步骤204:根据多个所述虚拟模型的运动速度将所述虚拟场景的显示画面划分为多个画面区域,并为每个画面区域设置对应的分辨率。

在本申请的实施例中,在虚拟场景中存在多个与虚拟镜头具有相对运动关系的情况下,服务器会根据每个虚拟模型相对与虚拟镜头的运动速度将所述虚拟场景的显示画面划分为至少两个画面区域,并为每个所述画面区域设置对应的分辨率,设置原则为:相对运动速度快的画面区域对应的分辨率低,相对运动速度慢或静止的画面区域对应的分辨率高,例如,在作为云游戏使用的情况下,服务器在对云游戏的显示画面进行预处理时,会根据每个虚拟模型相对与虚拟镜头的运动速度将所述云游戏的显示画面划分为至少两个画面区域,并为每个所述画面区域设置对应的分辨率。

步骤206:根据每个所述画面区域对应的分辨率,生成每个所述画面区域对应的图像数据。

在本申请的实施例中,服务器按照每个所述画面区域设定的分辨率进行虚拟镜头的视锥裁剪以及图像渲染,即根据每个画面区域对应的分辨率对每个画面区域进行绘制,生成每个所述画面区域的图像数据。

步骤208:将每个所述画面区域对应的图像数据分别传输至客户端,以使客户端合成完整的所述虚拟场景的显示画面。

在本申请的实施例中,服务器将每个所述画面区域对应的图像数据通过网络传输至客户端后,所述客户端将各个所述画面区域对应的图像数据重新合成还原为完整的虚拟场景的显示画面并进行实时显示,其中,所述客户端包括台式电脑、机顶盒以及移动终端等,在作为云游戏使用的情况下,客户端的作用仅限于数据的发送、接受以及云游戏的显示画面的呈现,云游戏的储存与运行都是在服务器上完成的,在进行游戏时,玩家操作客户端向服务器发送数据,服务器根据操作运行游戏,将云游戏的显示画面编码压缩,通过网络返回客户端,最后客户端进行解码并输出云游戏的显示画面。

本申请根据多个所述虚拟模型的运动速度将所述虚拟场景的显示画面划分为多个画面区域,并为每个画面区域设置对应的分辨率,对于高速运动的画面区域采用低分辨率进行显示,而低速运动画面区域采用高分辨率进行显示,从而节约了系统对图像数据的处理量,在作为云游戏使用时,可以将图像数据分为多个部分传输到客户端之后再进行合成,极大的节约了带宽,改善云游戏的游戏画面传输滞帧以及画面卡顿的情况,使玩家获得良好的游戏体验。

在本申请的一个实施例中,如图3所示,所述获取虚拟场景中的多个虚拟模型的运动速度包括步骤302至步骤304:

步骤302:获取所述虚拟场景中的多个所述虚拟模型。

在本申请的实施例中,服务器可以实时的获取所述虚拟场景中的多个所述虚拟模型,即在所述虚拟场景中的虚拟镜头在所述虚拟场景中进行运动的情况下,所述虚拟场景中的虚拟镜头会与所述虚拟场景中不同的虚拟模型产生相对运动关系并观察进入视锥范围内,例如,在作为第一人称视角的云游戏使用时,玩家角色会在云游戏对应的三维游戏虚拟场景中的不同位置进行移动,并且沿途会观察到各种虚拟模型,比如各类环境、非玩家角色以及任务道具等等,服务器可以实时的获取所述虚拟镜头观察到的三维游戏虚拟场景中的多个所述虚拟模型。

步骤304:根据每个所述虚拟模型在当前帧以及相邻帧的位置变化计算出每个所述虚拟模型的运动速度。

在本申请的实施例中,服务器可以根据每个所述虚拟模型在当前帧以及相邻帧的位置变化情况,计算出当前时刻每个所述虚拟模型相对于虚拟镜头的运动速度。

在本申请的另一个实施例中,如图4所示,所述根据多个所述虚拟模型的运动速度将所述虚拟场景的显示画面划分为多个画面区域,并为每个画面区域设置对应的分辨率包括步骤402至步骤406:

步骤402:将每个所述虚拟模型的运动速度与预设的多个速度阈值进行比较,将位于同一速度阈值区间内的所述虚拟模型进行划分。

在本申请的实施例中,在服务器内预设有多个速度阈值,相邻两个速度阈值之间形成一个速度阈值区间,服务器将每个所述虚拟模型相对于虚拟镜头的运动速度与速度阈值进行比较,将位于同一速度阈值区间内的所述虚拟模型划分为同一范围,例如,在如图5所示的第一人称视角的赛竞速车类的三维游戏中,在服务器内预设有多个速度阈值例如20m/s、40m/s、60m/s和80m/s等,游戏内的虚拟镜头始终以赛车模型为第一人称视角进行观察,所述赛车模型在行驶的过程中会与赛道模型和所述赛道模型两侧的环境模型产生不同相对运动速度,服务器会在游戏的运行过程中会根据所述赛道模型和环境模型相对于所述赛车模型的运动速度划分为同一类别或不同类别。

步骤404:根据位于同一速度阈值区间内的所述虚拟模型对应的所述虚拟场景的显示画面,将所述虚拟场景的显示画面划分为多个画面区域。

在本申请的实施例中,在如图5所示的第一人称视角的赛竞速车类的三维游戏中,所述赛道模型和所述环境模相对于所述赛车模型(虚拟镜头)的运动不同的情况下,服务器根据所述赛道模型和所述环境模型对应的所述虚拟场景的显示画面,将所述虚拟场景的显示画面划分为区域A1、区域A2和区域B三个区域,其中区域A1和区域A2同为环境模型。

步骤406:根据预设的对应关系规则为每个画面区域设置对应的分辨率。

在本申请的实施例中,服务器根据预设的对应关系规则为每个画面区域设置对应的分辨率,其中,对应关系规则包括每个所述速度阈值区间与分辨率之间的对应关系,例如,在如图5所示的第一人称视角的赛竞速车类的三维游戏中,速度阈值20m/s至速度阈值40m/s之间的速度阈值区间对应的分别率可以是1600×1200,速度阈值40m/s至速度阈值60m/s之间的速度阈值区间对应的分别率可以是1200×800,速度阈值60m/s至速度阈值80m/s之间的速度阈值区间对应的分别率可以是640×480,对应关系规则满足相对运动速度快的画面区域对应的分辨率低,相对运动速度慢的画面区域对应的分辨率高的设置原则。

在上述实施例中,所述将所述虚拟场景的显示画面划分为多个画面区域包括:

将所述虚拟场景的显示画面划分为多个矩形的画面区域。

本申请根据多个所述虚拟模型的运动速度将所述虚拟场景的显示画面划分为多个画面区域,并为每个画面区域设置对应的分辨率,在作为云游戏使用时,无需按照统一的分辨率对云游戏的画面进行渲染,在所述虚拟模型的运动速度较快的情况下采用低分辨率进行渲染,从而节省了图像数据的流量,改善了云游戏画面卡顿的情况。

在本申请的另一个实施例中,如图6所示,在为每个画面区域设置对应的分辨率之后,还包括步骤602至步骤604:

步骤602:在相邻两个画面区域的交界处设置交界区域。

步骤604:将所述交界区域的分辨率设置为由所述相邻两个画面区域中其中一个画面区域的分辨率向另一个画面区域的分辨率逐渐变化。

在本申请的实施例中,服务器可以在相邻两个画面区域的交界处设置交界区域,所述交界区域的分辨率连续变化,以使两个画面区域的分辨率差异能够无缝衔接,在视觉上使得相邻两个画面区域的分辨率变化不明显,例如,在如图5所示的第一人称视角的赛竞速车类的三维游戏中,假设所述赛道模型对应的分辨率为640×480,所述环境模型对应的分辨率为1200×800,则在所述赛道模型对应的画面区域与所述环境模型对应的画面区域之间设置有交界区域,并且所述交界区域的分辨率有640×480向1200×800逐渐变化。

本申请通过在分辨率不同的画面区域之间设置用于过渡的交界区域,在视觉上使得画面区域之间交界部分显示柔和。

与上述方法实施例相对应,本说明书还提供了图像处理装置实施例,图7示出了本说明书一个实施例的图像处理装置的结构示意图。如图7所示,该装置包括:

速度获取模块701,被配置为获取虚拟场景中的多个虚拟模型的运动速度;

画面分割模块702,被配置为根据多个所述虚拟模型的运动速度将所述虚拟场景的显示画面划分为多个画面区域,并为每个画面区域设置对应的分辨率;

数据生成模块703,被配置为根据每个所述画面区域对应的分辨率,生成每个所述画面区域对应的图像数据;

数据传输模块704,被配置为将每个所述画面区域对应的图像数据分别传输至客户端,以使客户端合成完整的所述虚拟场景的显示画面。

可选的,所述速度获取模块701包括:

模型获取单元,被配置为获取所述虚拟场景中的多个所述虚拟模型;

速度计算单元,被配置为根据每个所述虚拟模型在当前帧以及相邻帧的位置变化计算出每个所述虚拟模型的运动速度。

可选的,所述画面分割模块702包括:

模型划分单元,被配置为将每个所述虚拟模型的运动速度与预设的多个速度阈值进行比较,将位于同一速度阈值区间内的所述虚拟模型进行划分;

画面划分单元,被配置为根据位于同一速度阈值区间内的所述虚拟模型对应的所述虚拟场景的显示画面,将所述虚拟场景的显示画面划分为多个画面区域;

分辨率设置单元,被配置为根据预设的速度与分辨率的对应关系为每个画面区域设置对应的分辨率。

可选的,所述画面划分单元还被配置为:

将所述虚拟场景的显示画面划分为多个矩形的画面区域。

可选的,所述装置还包括:

交界区域配置模块705,被配置为在相邻两个画面区域的交界处设置交界区域;

交界区域设置模块706,被配置为将所述交界区域的分辨率设置为由所述相邻两个画面区域中其中一个画面区域的分辨率向另一个画面区域的分辨率逐渐变化。

可选的,所述数据生成模块703包括:

图像绘制单元,被配置为根据每个画面区域对应的分辨率对每个画面区域进行绘制,生成每个所述画面区域的图像数据。

本申请根据多个所述虚拟模型的运动速度将所述虚拟场景的显示画面划分为多个画面区域,并为每个画面区域设置对应的分辨率,对于高速运动的画面区域采用低分辨率进行显示,而低速运动画面区域采用高分辨率进行显示,从而节约了系统对图像数据的处理量,在作为云游戏使用时,可以将图像数据分为多个部分传输到客户端之后再进行合成,极大的节约了带宽,改善云游戏的游戏画面传输滞帧以及画面卡顿的情况,使玩家获得良好的游戏体验。

本申请一实施例还提供一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现以下步骤:

获取虚拟场景中的多个虚拟模型的运动速度;

根据多个所述虚拟模型的运动速度将所述虚拟场景的显示画面划分为多个画面区域,并为每个画面区域设置对应的分辨率;

根据每个所述画面区域对应的分辨率,生成每个所述画面区域对应的图像数据;

将每个所述画面区域对应的图像数据分别传输至客户端,以使客户端合成完整的所述虚拟场景的显示画面。

本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述虚拟画面处理方法的步骤。

上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该计算机可读存储介质的技术方案与上述的虚拟画面处理方法的技术方案属于同一构思,计算机可读存储介质的技术方案未详细描述的细节内容,均可以参见上述虚拟画面处理方法的技术方案的描述。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。

以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。

15页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:键鼠设置方法及装置

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!

技术分类