CN114972001A - 图像序列渲染方法及装置、计算机可读介质和电子设备 - Google Patents
图像序列渲染方法及装置、计算机可读介质和电子设备 Download PDFInfo
- Publication number
- CN114972001A CN114972001A CN202210642065.0A CN202210642065A CN114972001A CN 114972001 A CN114972001 A CN 114972001A CN 202210642065 A CN202210642065 A CN 202210642065A CN 114972001 A CN114972001 A CN 114972001A
- Authority
- CN
- China
- Prior art keywords
- texture
- image
- rendering
- rendering rate
- gray
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
Abstract
本公开提供一种图像序列渲染方法及装置、计算机可读介质和电子设备,涉及图像处理技术领域。该方法包括:获取待处理的图像序列,并抓取在预处理图像序列时生成的图像纹理块;确定图像纹理块对应的纹理细节等级;根据纹理细节等级确定图像纹理块对应的纹理渲染速率;通过纹理渲染速率构建渲染速率查找表,以在实时绘制图像序列时基于渲染速率查找表完成对图像纹理块的着色渲染。本公开能够自动生成图像纹理对应的纹理渲染速率,有效提升纹理渲染速率的生成效率以及准确性,进而能够在提高图像序列的实时渲染效率的同时,降低设备硬件要求,保证图像质量。
Description
技术领域
本公开涉及图像处理技术领域,具体涉及一种图像序列渲染方法、图像序列渲染装置、计算机可读介质和电子设备。
背景技术
伴随着人们生活水平的不断提高,人们对电子游戏、影视、拍照等领域的图像渲染质量有更高的要求。可变速率着色(Variable Rate Shading,VRS)是一种通过改变帧不同区域的着色速率来提高渲染性能和质量的功能。
相关技术中,在对图像纹理进行分类并对分类后的图像纹理分别设置渲染速率时,是通过手动截帧以及肉眼观察的方式实现,但是这种方式可能导致图像纹理分类不准确,导致渲染速率不准确,进而影响最终呈现的图像质量。
发明内容
本公开的目的在于提供一种图像序列渲染方法、图像序列渲染装置、计算机可读介质和电子设备,进而至少在一定程度上提升纹理渲染速率的生成效率以及准确性,进而提升实时渲染时的图像质量。
根据本公开的第一方面,提供一种图像序列渲染方法,包括:
获取待处理的图像序列,并抓取在预处理所述图像序列时生成的图像纹理块;
确定所述图像纹理块对应的纹理细节等级;
根据所述纹理细节等级确定所述图像纹理块对应的纹理渲染速率;
通过所述纹理渲染速率构建渲染速率查找表,以在实时绘制所述图像序列时基于所述渲染速率查找表完成对所述图像纹理块的着色渲染。
根据本公开的第二方面,提供一种图像序列渲染装置,包括:
纹理块获取模块,用于获取待处理的图像序列,并抓取在预处理所述图像序列时生成的图像纹理块;
纹理细节确定模块,用于确定所述图像纹理块对应的纹理细节等级;
渲染速率确定模块,用于根据所述纹理细节等级确定所述图像纹理块对应的纹理渲染速率;
图像着色渲染模块,用于通过所述纹理渲染速率构建渲染速率查找表,以在实时绘制所述图像序列时基于所述渲染速率查找表完成对所述图像纹理块的着色渲染。
根据本公开的第三方面,提供一种计算机可读介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的方法。
根据本公开的第四方面,提供一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述的方法。
本公开的一种实施例所提供的图像序列渲染方法,可以在预处理阶段,抓取渲染图像序列时生成的图像纹理块,并确定图像纹理块对应的纹理细节等级,进而可以根据纹理细节等级确定图像纹理块对应的纹理渲染速率,同时为了方便应用,可以通过纹理渲染速率构建渲染速率查找表,最后可以在实际运行阶段,基于渲染速率查找表查找图像纹理对应的渲染速率,并根据该渲染速率完成对图像纹理块的实时着色渲染。一方面,通过抓取图像纹理块对应的信息,并根据图像纹理块对应的纹理细节等级,能够快速实现对纹理图像块的分类,进而根据分类结果设置纹理渲染速率,相比于通过人工分类的方式,有效提升纹理渲染速率的生成效率;另一方面,通过确定的纹理细节等级,对纹理图像块分类,能够有效提升设置的纹理渲染速率的准确性,进而在对图像序列进行实时着色渲染时,能够在保证图像序列的实时渲染效率的同时,有效提升实时渲染的图像质量。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了可以应用本公开实施例的一种示例性系统架构的示意图;
图2示意性示出本公开示例性实施例中一种图像序列渲染方法的流程示意图;
图3示意性示出本公开示例性实施例中一种确定图像纹理块对应的纹理细节等级的流程示意图;
图4示出了本示例性实施方式中一种确定图像纹理块中灰度差的原理示意图。
图5示意性示出本公开示例性实施例中一种通过纹理细节等级确定纹理渲染速率的流程示意图;
图6示出了本示例性实施方式中一种通过不同档位下的纹理渲染速率渲染图像纹理块的原理示意图。
图7示意性示出本公开示例性实施例中一种实时绘制图像序列的流程示意图;
图8示出了本示例性实施方式中一种配置游戏程序的可变速率着色功能的流程示意图;
图9示意性示出本公开示例性实施例中图像序列渲染装置的组成示意图;
图10示出了可以应用本公开实施例的一种电子设备的示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
图1示出了可以应用本公开实施例的一种图像序列渲染方法及装置的示例性应用环境的系统架构的示意图。
如图1所示,系统架构100可以包括终端设备101、102、103中的一个或多个,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。终端设备101、102、103可以是各种具有图像处理功能的电子设备,包括但不限于台式计算机、便携式计算机、智能手机和平板电脑等等。应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器105可以是多个服务器组成的服务器集群等。
本公开实施例所提供的图像序列渲染方法一般由终端设备101、102、103中执行,相应地,图像序列渲染装置一般设置于终端设备101、102、103中。但本领域技术人员容易理解的是,本公开实施例所提供的图像序列渲染方法也可以由服务器105执行,相应的,图像序列渲染装置也可以设置于服务器105中,本示例性实施例中对此不做特殊限定。举例而言,在一种示例性实施例中,可以是用户通过终端设备101、102、103包括的用于采集深度图像的深度传感器收集原始深度数据,然后将原始深度数据上传至服务器105,服务器通过本公开实施例所提供的图像序列渲染方法生成深度图像后,将深度图像传输给终端设备101、102、103等。
在相关技术中,在设置图像纹理的纹理渲染速率时,一般是通过手动完成,主要分为两步:首先使用截帧软件,如通过Renderdoc软件对游戏场景图像截帧,然后打开截帧保存的文件,从图像纹理列表中查看图像纹理内容,接着通过肉眼观察图像纹理细节,最后观察的结果对图像纹理进行分类,设置渲染速率。
但是,这种方案中,不仅步骤繁琐,需要使用三方软件对游戏截帧,然后打开软件查看所截内容,而且工作量大,由于游戏内场景众多,不可能对每一个场景都一一截帧;另外,错误率较高,由于游戏场景众多,使用的纹理也很多,手动截帧分类难免会有遗漏并在分类时参杂主观判断因素,导致分类结果准确率下降。
基于相关技术中的一个或者多个问题,本公开首先提供了一种图像序列渲染方法,下面以终端设备执行该方法为例,对本公开示例性实施方式的图像序列渲染方法进行具体说明。
图2示出了本示例性实施方式中一种图像序列渲染方法的流程示意图,包括以下步骤S210至步骤S240:
在步骤S210中,获取待处理的图像序列,并抓取在预处理所述图像序列时生成的图像纹理块。
在一示例性实施例中,图像序列是指需要GPU(Graphics Processing Unit,图像处理单元)实时渲染生成的连续图像构成的集合,例如,图像序列可以是对游戏场景进行实时渲染生成的连续图像构成的集合,也可以是对虚拟现实(Virtual Reality,VR)场景进行实时渲染生成的连续图像构成的集合,当然,图像序列也可以是其他类型的需要由GPU实时渲染输出的连续图像构成的集合,本示例实施例对此不做特殊限定。
纹理图像块是指需要GPU实时渲染的虚拟场景中模型表面对应的纹理贴图,例如,纹理图像块可以是虚拟场景中与人物模型相关的纹理贴图,也可以是虚拟场景中与花草树木模型相关的纹理贴图,本示例实施例不以此为限。
当然,纹理图像块也可以包含多种类型的纹理贴图,例如,纹理图像块可以包含颜色贴图,也可以包含光影贴图(如法线贴图、高度贴图、遮蔽光贴图等),具体纹理图像块中所包含的纹理贴图的种类与应用过程中的虚拟场景有关,本示例实施例对此不做特殊限定。
以实时渲染游戏程序中的游戏场景为例,在游戏程序实时运行过程中,会通过实时渲染游戏场景中的图像纹理块,在终端设备的显示界面中生成图像序列,即最终展示的游戏画面。具体的,可以在预处理阶段,即离屏帧缓冲区(Framebuffer)中,运行待处理的游戏程序,并在GPU实时渲染生成图像序列的过程中,通过钩子函数(Hook)抓取游戏画面对应的图像纹理块并保存图像API(ApplicationProgrammingInterface,应用程序编程接口)指令,例如,可以将图像API指令对应的名称、参数(如当前指令所使用的图像纹理块的大小、存储格式、像素数据、LOD等级)等数据以二进制的形式保存到终端设备的内存中,便于后续使用。
可选的,本实施例中的支持抓取的图形API包括但不限于OpenGL,OpenGL ES,Vulkan,DirectX,Metal等。
在步骤S220中,确定所述图像纹理块对应的纹理细节等级。
在一示例性实施例中,纹理细节等级是指衡量图像纹理块中纹理细腻程序的数据,例如,可以通过图像纹理块中各像素之间的梯度数据表示该图像纹理块对应的纹理细节等级,也可以通过图像纹理块中纹理分布的复杂程度表示该图像纹理块对应的纹理细节等级,本示例实施例对此不做特殊限定。
通过确定不同图像纹理块的纹理细节等级,实现对图像纹理块的分类,能够有效提升实时渲染时图像的显示质量。
在步骤S230中,根据所述纹理细节等级确定所述图像纹理块对应的纹理渲染速率。
在一示例性实施例中,纹理渲染速率是指GPU在实时渲染输出图像时像素绘制的方式,例如,当前图像纹理块对应的纹理渲染速率可以是2*2,即可以表示在实时渲染当前图像纹理块时,输出一个像素的像素值之后,直接以该像素值覆盖2*2区域内所有像素,相当于本来需要计算4个像素的像素值,而在2*2的纹理渲染速率下,仅需要计算1个像素的像素值即可,能够有效提升图像序列实时渲染的效率。
当然,在可变速率着色技术中,图像纹理块对应的纹理渲染速率还可以是1*1纹理渲染速率、1*2纹理渲染速率、2*1纹理渲染速率、4*2纹理渲染速率、2*4纹理渲染速率和4*4纹理渲染速率。
具体的,纹理渲染速率可以根据图像纹理块对应的纹理细节等级进行确定,例如,若纹理细节等级表示图像纹理块的纹理细节越细腻、越复杂,相对应的,为了保证图像质量,图像纹理块对应纹理渲染速率可以设置的越小,如1*1纹理渲染速率、1*2纹理渲染速率、2*1纹理渲染速率、2*2纹理渲染速率等档位,能够有效保证图像的纹理细节;若纹理细节等级表示图像纹理块的纹理细节越粗糙、越简单,相对应的,为了保证图像的实时渲染效率,图像纹理块对应纹理渲染速率可以设置的越大,如4*2纹理渲染速率、2*4纹理渲染速率和4*4纹理渲染速率等档位,能够有效保证图像的实时渲染效率,同时,不损失原图像的图像纹理。
通过纹理细节等级确定图像纹理块对应的纹理渲染速率,能够有效提升纹理渲染速率的准确性,保证实时渲染输出的图像的质量。
在步骤S240中,通过所述纹理渲染速率构建渲染速率查找表,以在实时绘制所述图像序列时基于所述渲染速率查找表完成对所述图像纹理块的着色渲染。
在一示例性实施例中,渲染速率查找表是指将各图像纹理块与对应的纹理渲染速率进行关联存储的映射关系表,通过设置渲染速率查找表,能够有效提升CPU(CentralProcessing Unit,中央处理单元)查找图像纹理块对应的纹理渲染速率,进一步提升图像的实时渲染效率。
在预处理阶段学习好图像序列对应的渲染速率查找表之后,可以将该渲染速率查找表保存在终端设备的存储空间中;在具体应用过程中,如游戏程序的实时运行过程中,可以获取该游戏程序对应的渲染速率查找表,并通过该渲染速率查找表指挥GPU以及相关图形绘制接口对游戏场景中图像纹理块的实时着色渲染,最终生成并输出游戏场景对应的图像序列。
下面,对步骤S210至步骤S240中的内容进行详细说明。
在一示例性实施例中,可以通过图3中的步骤确定图像纹理块对应的纹理细节等级,参考图3所示,具体可以包括:
步骤S310,将所述图像纹理块中的色彩信息转换为灰度信息;
步骤S320,根据所述灰度信息计算所述图像纹理信息中目标像素与所述目标像素对应的周围像素之间的灰度差;
步骤S330,基于所述灰度差确定所述图像纹理块对应的纹理细节等级。
其中,图像纹理块中的色彩信息是指图像纹理块中各像素在对应颜色空间的数值,例如,图像纹理块中的色彩信息可以是各像素在RGB颜色空间下的数值,用于表示某种色彩,如纯红色就是FF0000,也可以通过不同颜色通道进行色彩表示,如纯红色就是(255,0,0),本示例实施例对图像纹理块中的色彩信息的表达形式不做任何特殊限定。
灰色信息就是将图像纹理块中的色彩信息处理成表示当前像素的黑白程度的数据,例如,可以对图像纹理块中的色彩信息进行二值化处理得到灰度信息,也可以对图像纹理块中的色彩信息进行加权平均得到灰度信息,具体的,可以通过0-255表示像素的黑白程度,即灰度信息,本示例实施对色彩信息与灰度信息之间的转换不做任何特殊限定。
目标像素是指图像纹理块中任一像素,周围像素是指目标像素周围邻近的多个像素,例如,周围像素可以是围绕目标像素的8个像素,也可以是预设半径内的多个像素,本示例实施例对此不做特殊限定。
可以根据灰度信息计算图像纹理信息中目标像素与周围像素之间的灰度差,即直接将目标像素与周围像素各自对应的灰度信息作差,得到的灰度差能够表示图像纹理块的梯度信息,进一步能够体现出图像纹理块中的纹理细节。
通过目标像素与周围像素之间的灰度差表征图像纹理块对应的纹理细节等级,一方面,灰度差的计算过程相对简单,能够有效降低在确定图像纹理块对应的纹理细节等级过程中的计算量,提升计算效率;另一方面,灰度差能够有效表示图像纹理块中的纹理细节,通过灰度差表示图像纹理块对应的纹理细节等级,能够提升纹理细节等级对纹理细节的表达程度,提升纹理细节等级的表达准确性,进而能够提升确定的纹理渲染速率的准确性。
在一示例性实施例中,灰度差可以包括第一灰度差和第二灰度差,第一灰度差是指目标像素与周围像素之间在横坐标方向上的灰度差,第二灰度差是指目标像素与周围像素之间在纵坐标方向上的灰度差。
需要说明的是,本示例实施例“第一灰度差”、“第二灰度差”中的“第一”、“第二”仅用于区分不同坐标方向上的灰度差,没有任何特殊含义,并不应对本示例实施例造成任何特殊限定。
由于图像纹理块中的纹理细节在分布上可能处于纵向,也可能处于横向,因此,分别计算目标像素与周围像素之间在横坐标方向上的第一灰度差,以及在纵坐标方向上的第二灰度差,能够有效提升灰度差对于纹理细节等级的表达准确性,有效保证纹理渲染速率的准确性。
具体的,可以根据灰度信息计算将目标像素与周围像素之间在横坐标方向上的一阶梯度和二阶梯度,并将横坐标方向上的一阶梯度和二阶梯度中的最大值作为第一灰度差;可以根据灰度信息计算将目标像素与周围像素之间在纵坐标方向上的一阶梯度和二阶梯度,并纵坐标方向上的一阶梯度和二阶梯度中的最大值作为第二灰度差。
其中,一阶梯度是指目标像素与周围像素这两个像素之间的灰度差,二阶梯度是指目标像素与周围像素这多个像素中间隔的两个像素之间的灰度差。通过计算一阶梯度和二阶梯度,进一步保证计算得到的第一灰度差与第二灰度差的准确性。
举例而言,可以通过关系式组(1)表示计算图像纹理块对应的一阶梯度和二阶梯度的过程:
dh=max[|Pi,j-Pi,j-1|,|Pi,j+1-Pi,j|]
ddh=max[|Pi+1,j+1-Pi+1,j-1|,|Pi-1,j+1-Pi-1,j-1|]
dv=max[|(Pi,j-Pi-1,j)|,|(Pi+1,j-Pi,j)|]
ddv=max[|(Pi+1,j-1-Pi-1,j-1)|,|(Pi+1,j+1-Pi-1,j+1)|] (1)
其中,dh可以表示目标像素与周围像素之间在横坐标方向上的一阶梯度,ddh可以表示目标像素与周围像素之间在横坐标方向上的二阶梯度,dv可以表示目标像素与周围像素之间在纵坐标方向上的一阶梯度,ddv可以表示目标像素与周围像素之间在纵坐标方向上的二阶梯度,Pi,j可以表示图像纹理块中第i行第j列像素的灰度信息。
可以通过关系式组(2)表示计算图像纹理块对应的第一灰度差和第二灰度差的过程:
dx=max(dh,ddh)
dy=max(dv,ddv) (2)
其中,dx可以表示计算图像纹理块在横坐标方向上的第一灰度差,dy可以表示计算图像纹理块在纵坐标方向上的第二灰度差。
对于图像纹理块中的每个像素均执行以上计算过程,可以得到图像纹理块中所有像素对应的第一灰度差以及第二灰度差。
图4示出了本示例性实施方式中一种确定图像纹理块中灰度差的原理示意图。
参考图4所示,图像纹理块400中包括多个像素,以目标像素为像素P1,1为例,目标像素对应的周围像素可以包括像素P0,0、像素P0,1、像素P0,2、像素P1,0、像素P1,2、像素P2,0、像素P2,1和像素P2,2。其中,目标像素与周围像素之间在横坐标方向上的一阶梯度可以是像素P1,1与像素P1,2之间的灰度差,在横坐标方向上的二阶梯度可以是像素P0,0与像素P0,2之间的灰度差;目标像素与周围像素之间在纵坐标方向上的一阶梯度可以是像素P1,1与像素P0,1之间的灰度差,在纵坐标方向上的二阶梯度可以是像素P0,2与像素P2,2之间的灰度差。当然,图4仅是示意性举例说明,并不应对本示例实施例造成任何特殊限定。
在一示例性实施例中,可以将图像纹理块中所有像素对应的第一灰度差中的最小值作为第三灰度差,可以将图像纹理块中所有像素对应的第二灰度差中的最小值作为第四灰度差,最后根据第三灰度差和第四灰度差确定图像纹理块对应的纹理细节等级。
具体的,在通过关系式组(1)和关系式组(2)计算之后,可以得到图像纹理块中各像素对应的第一灰度差以及第二灰度差,通过遍历各像素对应的第一灰度差,确定第一灰度差中的最小值,作为图像纹理块在横坐标方向上的最终梯度变化,即第三灰度差,可以表示为dxmin;同样的,通过遍历各像素对应的第二灰度差,确定第二灰度差中的最小值,作为图像纹理块在纵坐标方向上的最终梯度变化,即第四灰度差,可以表示为dymin。
需要说明的是,本示例实施例“第三灰度差”、“第四灰度差”中的“第三”、“第四”仅用于区分图像纹理块在不同坐标方向上的灰度差,没有任何特殊含义,并不应对本示例实施例造成任何特殊限定。
在一示例性实施例中,可以根据图5中的步骤实现通过纹理细节等级确定纹理渲染速率,参考图5所示,具体可以包括:
步骤S510,获取预设的灰度差阈值,所述灰度差区间包括第一灰度差阈值和第二灰度差阈值;
步骤S520,根据所述第三灰度差、所述第一灰度差阈值和所述第二灰度差阈值,确定所述图像纹理块在横坐标方向上的纹理渲染速率;
步骤S530,根据所述第四灰度差、所述第一灰度差阈值和所述第二灰度差阈值,确定所述图像纹理块在纵坐标方向上的纹理渲染速率;
步骤S540,通过所述横坐标方向上的纹理渲染速率和所述纵坐标方向上的纹理渲染速率,确定所述图像纹理块对应的纹理渲染速率。
其中,灰度差阈值是指预先设置的用于确定纹理渲染速率的判断值,具体的,灰度差阈值可以包括第一灰度差阈值和第二灰度差阈值,第一灰度差阈值和第二灰度差阈值可以构成一个灰度差区间,用于对灰度值大于该灰度差区间、灰度值处于该灰度差区间、灰度值小于该灰度差区间的图像纹理块进行分类,并根据分类结果设置响应的纹理渲染速率。
举例而言,可以通过关系式(3)和关系式(4)实现对图像纹理块的分类,具体如下:
其中,xRate可以表示图像纹理块在横坐标方向上的纹理渲染速率,yRate可以表示图像纹理块在纵坐标方向上的纹理渲染速率,threshold1可以表示第一灰度差阈值,threshold2可以表示第二灰度差阈值,dxmin可以表示图像纹理块在横坐标方向上的第三灰度差,dymin可以表示图像纹理块在纵坐标方向上的第四灰度差。
通过关系式(3)和关系式(4)可以分别得到图像纹理块在横坐标方向上的纹理渲染速率,以及图像纹理块在纵坐标方向上的纹理渲染速率,例如确定在横坐标方向上的纹理渲染速率为xRate=2,确定在纵坐标方向上的纹理渲染速率为yRate=1,那么该图像纹理块对应的纹理渲染速率为2*1。
至此,单张图像纹理块的纹理渲染速率的设置过程结束,接着读取内存中的下一张图像纹理块,直至处理完所有的图像纹理块,最终得到游戏场景或者图像序列对应的渲染速率查找表。
通过第一灰度差阈值和第二灰度差阈值,能够有效调节最终显示的图像指令,例如,若第一灰度差阈值和第二灰度差阈值设置的都比较小,则使用较大速率渲染的纹理会比较少,则最终的图像画质会更加细腻,但相对的,实时渲染效率就会下降;若第一灰度差阈值和第二灰度差阈值设置的都比较大,则有较多的图像纹理使用较大的渲染速率,则最终的图像画质会比较模糊,但相对的,实时渲染效率就会提升。因此,通过自定义设置第一灰度差阈值和第二灰度差阈值,能够调整出最佳的实时渲染效率和图像画质,在有效提升实时渲染效率的同时保证图像画质。具体的第一灰度差阈值和第二灰度差阈值可以根据实际应用情况进行自定义设置,本示例实施例对此不做特殊限定。
在本示例性实施例中,预处理阶段的纹理渲染速率,可以包括1*2纹理渲染速率、2*1纹理渲染速率、2*2纹理渲染速率、4*2纹理渲染速率、2*4纹理渲染速率和4*4纹理渲染速率,并没有设置1*1纹理渲染速率,能够降低渲染速率查找表中的数据量,提升游戏实时运行过程中的渲染速率的查找效率,对于采用1*1纹理渲染速率的图像纹理在本实施例中直接不处理即可。
图6示出了本示例性实施方式中一种通过不同档位下的纹理渲染速率渲染图像纹理块的原理示意图。
参考图6所示,图像纹理块601中的渲染方式可以表示1*1纹理渲染速率,即单个像素值仅用于渲染单个像素;图像纹理块602中的渲染方式可以表示2*1纹理渲染速率,即输出的一个像素值可以用于覆盖横坐标方向上相邻两个像素;图像纹理块603中的渲染方式可以表示1*2纹理渲染速率,即输出的一个像素值可以用于覆盖纵坐标方向上相邻的两个像素;图像纹理块604中的渲染方式可以表示2*2纹理渲染速率,即输出的一个像素值可以用于覆盖渲染2*2区域内的4个像素;图像纹理块605中的渲染方式可以表示2*4纹理渲染速率,即输出的一个像素值可以用于覆盖渲染2*4的矩形区域内的8个像素;图像纹理块606中的渲染方式可以表示4*2纹理渲染速率,即输出的一个像素值可以用于覆盖渲染4*2的矩形区域内的8个像素;图像纹理块607中的渲染方式可以表示4*4纹理渲染速率,即输出的一个像素值可以用于覆盖渲染4*4的正方形区域内的16个像素。由此可见,随着纹理渲染速率的增大,对于相同尺寸下的图像纹理块,实时渲染效率越高,图像质量越低。
在一示例性实施例中,可以获取图像纹理块对应的纹理标识信息,然后可以将纹理标识信息与纹理渲染速率进行关联存储,构建得到渲染速率查找表。
其中,纹理标识信息是指能够唯一标识图像纹理块的数据,例如,纹理标识信息可以是图像纹理块中纹理对应的纹理名称,如“Tree”“Man”等纹理名称,也可以是图像纹理块中纹理对应的哈希值(hash),当然,还可以是为图像纹理块设置的唯一编码,本示例实施例对此不作特殊限定。
渲染速率查找表可以是存储纹理标识信息与纹理渲染速率的json文件,也可以是存储纹理标识信息与纹理渲染速率的XML文件,本示例实施例对渲染速率查找表的存储形式不做特殊限定。
举例而言,渲染速率查找表可以表示为:
其中,value可以表示图像纹理块对应的哈希值,comment可以表示图像纹理块对应的纹理内容,便于后续的调试维护。
通过将纹理标识信息与纹理渲染速率进行关联存储,能够有效提升CPU对于图像纹理块对应的纹理渲染速率的查找效率,进一步提升图像纹理块对应的实时渲染效率。
在一示例性实施例中,图像序列可以包括属于第一场景的第一图像序列以及属于第二场景的第二图像序列,其中,第一场景是指对于实时渲染效率以及图像质量要求较高的场景,例如,以游戏程序为例,第一场景可以是游戏程序中的战斗场景,由于战斗场景对于实时性要求较高,同时画质要求较高,因此需要仔细设置各个图像纹理块对应的纹理渲染速率。相反的,第二场景是指对于实时渲染效率以及图像质量要求较低的场景,例如,继续以游戏程序为例,第二场景可以是游戏程序中的静态场景,由于静态场景对于实时性要求较低,因此在预处理阶段可以将属于第二场景的第二图像序列进行筛除,仅设置属于第一场景的第一图像序列对应的图像纹理块的渲染速率查找表。
因此,在预处理阶段,即离屏帧缓冲区(Framebuffer)中,抓取渲染图像序列时生成的图像纹理块时,可以仅抓取渲染属于第一场景的第一图像序列时生成的图像纹理块。
通过筛除第二场景的第二图像序列,避免预处理不需要设置纹理渲染速率的场景,有效降低预处理阶段的数据量,提升预处理效率。
可选的,还可以将第一场景中的UI区域对应的纹理贴图进行剔除。
可选的,可以预先设置属于不同场景下特殊UI名称,根据该特殊UI名称检测到在当前场景对应的图像序列中出现特殊UI时,可以认为当前场景属于第一场景,若没有,则可以认为当前场景属于第二场景,本示例实施例对于区分第一场景和第二场景的方式不做特殊限定。
在一示例性实施例中,可以通过图7实现基于渲染速率查找表完成对图像纹理块的着色渲染,参考图7所示,具体可以包括:
步骤S710,在实时绘制图像序列时,获取所述图像序列对应的图像绘制操作指令,所述图像绘制操作指令包括多个图像纹理块的绘制;
步骤S720,确定所述图像绘制操作指令对应的目标图像纹理块;
步骤S730,根据所述目标图像纹理块对应的目标纹理标识信息在所述渲染速率查找表中确定目标纹理渲染速率;
步骤S740,基于所述目标纹理渲染速率和图像绘制操作指令对所述目标图像纹理块进行着色渲染,完成对所述图像序列的实时渲染。
其中,图像绘制操作指令可以是drawcall,drawcall是指绘制一个虚拟物体时所需的所有图形操作的统称。
在实际游戏运行过程中,由于每一个图像绘制操作指令drawcall中会绑定多张图像纹理块,而每次纹理渲染速率的设置都会覆盖上一次的设置,因此需要确保在一个drawcall中仅会对一张图像纹理块进行设置。此时,可以选取最能代表本次drawcall绘制内容的目标图像纹理块进行设置,即激活的第一个纹理单元GL_TEXTURE0,仅对该纹理单元中绑定的目标图像纹理块进行渲染速率设置。通过目标图像纹理块的hash值在渲染速率查找表中找到该目标图像纹理块对应的纹理渲染速率,最后通过纹理渲染速率对应的图形接口在每个drawcall的draw操作之前设置图像纹理块的纹理渲染速率即可,进而通过确定的目标纹理渲染速率和图像绘制操作指令对目标图像纹理块进行着色渲染,重复执行,实时着色渲染所有的图像纹理块,最终完成对图像序列的实时渲染。
通过仅对一次drawcall中激活的第一个纹理单元绑定的图像纹理块的纹理渲染速率进行设置,进一步提升CPU端对于纹理渲染速率的查找效率,提升游戏等对实时性要求较高的场景在运行时的流畅性。
图8示出了本示例性实施方式中一种配置游戏程序的可变速率着色功能的流程示意图。
参考图8所示,在步骤S810中,可以获取需要配置可变速率着色功能的游戏程序,当然,也可以是其他对于实时性要求较高的应用程序,例如,也可以是具有VR场景的应用程序;
在步骤S820中,可以判断游戏程序是否已经配置好可变速率着色功能,具体可以运行该游戏程度进行检验,若确定游戏程序没有配置好可变速率着色功能,则执行预处理流程801;若确定游戏程序已经配置好可变速率着色功能,则执行实时运行流程802,并结束当前流程。
其中,预处理流程801可以包括步骤S830至步骤S860,具体如下:
步骤S830,图像纹理块抓取;具体的,可以离屏帧缓冲区(Framebuffer)中通过钩子函数(Hook)抓取图像纹理块加载和保存图形API指令,在游戏程序的运行过程中,将这些图形API指令的名称,参数(如可以包括当前指令所使用的纹理的大小,存储格式,像素数据,LOD等级等数据)以二进制形式保存到终端设备内存803中;
步骤S840,图像纹理块剔除;具体的,在步骤S830中已经获取到游戏程序中所有图像纹理块的信息,但是并不是所有图像纹理都适用VRS技术,本实施例中仅对游戏程序中的第一场景(如战斗场景)的非UI纹理进行学习,因此需要剔除UI和第二场景(如非战斗场景)对应的图像纹理;
步骤S850,图像纹理学习;具体的,对步骤S840筛选得到的图像纹理块使用与步骤S830中相同的图形API指令编写程序在终端设备内存803读取已保存的文件数据,并编写对应的着色器shader,利用GPU对图像纹理块进行处理,并根据图像纹理块对应纹理细节等级决定该图像纹理块的纹理渲染速率;
步骤S860,构建渲染速率查找表;具体的,在所有图像纹理块学习完成之后将学习结果,即纹理渲染速率与图像纹理块的hash值一一对应,按照预设格式保存到json文件或者XML文件中,得到渲染速率查找表,并将渲染速率查找表存储到终端设备内存803中。
其中,实时运行流程802可以包括步骤S870至步骤S880,具体如下:
步骤S870,渲染速率查找表查询;具体的,可以根据游戏程序的标识信息,在终端设备内存803获取对应的渲染速率查找表,并在游戏程序实时渲染到目标图像纹理块时,基于目标图像纹理块的hash值在渲染速率查找表中查询对应的目标纹理渲染速率;
步骤S880,可变速率着色档位设置;具体的,可以调用目标纹理渲染速率对应的图形接口在每个drawcall的draw操作之前设置目标图像纹理块的目标纹理渲染速率,并基于该目标纹理渲染速率完成对目标图像纹理块的着色渲染,最终完成对游戏程度对应的图像序列的实时渲染。
综上所述,本示例性实施方式中,可以在预处理阶段,抓取渲染图像序列时生成的图像纹理块,并确定图像纹理块对应的纹理细节等级,进而可以根据纹理细节等级确定图像纹理块对应的纹理渲染速率,同时为了方便应用,可以通过纹理渲染速率构建渲染速率查找表,最后可以在实际运行阶段,基于渲染速率查找表查找图像纹理对应的渲染速率,并根据该渲染速率完成对图像纹理块的实时着色渲染。一方面,通过抓取图像纹理块对应的信息,并根据图像纹理块对应的纹理细节等级,能够快速实现对纹理图像块的分类,进而根据分类结果设置纹理渲染速率,相比于通过人工分类的方式,有效提升纹理渲染速率的生成效率;另一方面,通过确定的纹理细节等级,对纹理图像块分类,能够有效提升设置的纹理渲染速率的准确性,进而在对图像序列进行实时着色渲染时,能够在保证图像序列的实时渲染效率的同时,有效提升实时渲染的图像质量。
需要注意的是,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
进一步的,参考图9所示,本示例的实施方式中还提供一种图像序列渲染装置900,包括纹理块获取模块910、纹理细节确定模块920、渲染速率确定模块930和图像着色渲染模块940。其中:
纹理块获取模块910用于获取待处理的图像序列,并抓取在预处理所述图像序列时生成的图像纹理块;
纹理细节确定模块920用于确定所述图像纹理块对应的纹理细节等级;
渲染速率确定模块930用于根据所述纹理细节等级确定所述图像纹理块对应的纹理渲染速率;
图像着色渲染模块940用于通过所述纹理渲染速率构建渲染速率查找表,以在实时绘制所述图像序列时基于所述渲染速率查找表完成对所述图像纹理块的着色渲染。
在一示例性实施例中,纹理细节确定模块920可以包括:
灰度转换单元,用于将所述图像纹理块中的色彩信息转换为灰度信息;
灰度差计算单元,用于根据所述灰度信息计算所述图像纹理信息中目标像素与所述目标像素对应的周围像素之间的灰度差;
纹理细节等级确定单元,用于基于所述灰度差确定所述图像纹理块对应的纹理细节等级。
在一示例性实施例中,灰度差可以包括第一灰度差和第二灰度差,灰度差计算单元可以用于:
根据所述灰度信息计算将所述目标像素与所述周围像素之间在横坐标方向上的一阶梯度和二阶梯度,并将所述横坐标方向上的一阶梯度和二阶梯度中的最大值作为第一灰度差;
根据所述灰度信息计算将所述目标像素与所述周围像素之间在纵坐标方向上的一阶梯度和二阶梯度,并所述纵坐标方向上的一阶梯度和二阶梯度中的最大值作为第二灰度差。
在一示例性实施例中,纹理细节等级确定单元可以用于:
将所述图像纹理块中所有像素对应的第一灰度差中的最小值作为第三灰度差;
将所述图像纹理块中所有像素对应的第二灰度差中的最小值作为第四灰度差;
根据所述第三灰度差和所述第四灰度差确定所述图像纹理块对应的纹理细节等级。
在一示例性实施例中,渲染速率确定模块930可以用于:
获取预设的灰度差阈值,所述灰度差区间包括第一灰度差阈值和第二灰度差阈值;
根据所述第三灰度差、所述第一灰度差阈值和所述第二灰度差阈值,确定所述图像纹理块在横坐标方向上的纹理渲染速率;
根据所述第四灰度差、所述第一灰度差阈值和所述第二灰度差阈值,确定所述图像纹理块在纵坐标方向上的纹理渲染速率;
通过所述横坐标方向上的纹理渲染速率和所述纵坐标方向上的纹理渲染速率,确定所述图像纹理块对应的纹理渲染速率。
在一示例性实施例中,图像着色渲染模块940可以用于:
获取所述图像纹理块对应的纹理标识信息;
将所述纹理标识信息与所述纹理渲染速率进行关联存储,构建得到所述渲染速率查找表。
在一示例性实施例中,纹理渲染速率可以包括1*2纹理渲染速率、2*1纹理渲染速率、2*2纹理渲染速率、4*2纹理渲染速率、2*4纹理渲染速率和4*4纹理渲染速率。
在一示例性实施例中,图像序列可以包括属于第一场景的第一图像序列以及属于第二场景的第二图像序列,纹理块获取模块910可以用于:
抓取在预处理所述第一图像序列时生成的图像纹理块。
在一示例性实施例中,图像着色渲染模块940可以用于:
在实时绘制图像序列时,获取所述图像序列对应的图像绘制操作指令,所述图像绘制操作指令包括多个图像纹理块的绘制;
确定所述图像绘制操作指令对应的目标图像纹理块;
根据所述目标图像纹理块对应的目标纹理标识信息在所述渲染速率查找表中确定目标纹理渲染速率;
基于所述目标纹理渲染速率和图像绘制操作指令对所述目标图像纹理块进行着色渲染,完成对所述图像序列的实时渲染。
上述装置中各模块的具体细节在方法部分实施方式中已经详细说明,未披露的细节内容可以参见方法部分的实施方式内容,因而不再赘述。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
本公开的示例性实施方式还提供一种电子设备。该电子设备可以是上述终端设备101、102、103或服务器105。一般的,该电子设备可以包括处理器与存储器,存储器用于存储处理器的可执行指令,处理器配置为经由执行可执行指令来执行上述图像序列渲染方法。
下面以图10中的移动终端1000为例,对该电子设备的构造进行示例性说明。本领域技术人员应当理解,除了特别用于移动目的的部件之外,图10中的构造也能够应用于固定类型的设备。
如图10所示,移动终端1000具体可以包括:处理器1001、存储器1002、总线1003、移动通信模块1004、天线1、无线通信模块1005、天线2、显示屏1006、摄像模块1007、音频模块1008、电源模块1009与传感器模块1010。
处理器1001可以包括一个或多个处理单元,例如:处理器1001可以包括AP(Application Processor,应用处理器)、调制解调处理器、GPU(Graphics ProcessingUnit,图形处理器)、ISP(Image Signal Processor,图像信号处理器)、控制器、编码器、解码器、DSP(Digital Signal Processor,数字信号处理器)、基带处理器和/或NPU(Neural-Network Processing Unit,神经网络处理器)等。
编码器可以对图像或视频进行编码(即压缩),以减小数据大小,便于存储或发送。解码器可以对图像或视频的编码数据进行解码(即解压缩),以还原出图像或视频数据。移动终端1000可以支持一种或多种编码器和解码器,例如:JPEG(Joint PhotographicExperts Group,联合图像专家组)、PNG(Portable Network Graphics,便携式网络图形)、BMP(Bitmap,位图)等图像格式,MPEG(Moving Picture Experts Group,动态图像专家组)1、MPEG10、H.1063、H.1064、HEVC(High Efficiency Video Coding,高效率视频编码)等视频格式。
处理器1001可以通过总线1003与存储器1002或其他部件形成连接。
存储器1002可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器1001通过运行存储在存储器1002的指令,执行移动终端1000的各种功能应用以及数据处理。存储器1002还可以存储应用数据,例如存储图像,视频等文件。
移动终端1000的通信功能可以通过移动通信模块1004、天线1、无线通信模块1005、天线2、调制解调处理器以及基带处理器等实现。天线1和天线2用于发射和接收电磁波信号。移动通信模块1004可以提供应用在移动终端1000上3G、4G、5G等移动通信解决方案。无线通信模块1005可以提供应用在移动终端1000上的无线局域网、蓝牙、近场通信等无线通信解决方案。
显示屏1006用于实现显示功能,如显示用户界面、图像、视频等。摄像模块1007用于实现拍摄功能,如拍摄图像、视频等。音频模块1008用于实现音频功能,如播放音频,采集语音等。电源模块1009用于实现电源管理功能,如为电池充电、为设备供电、监测电池状态等。
传感器模块1010可以包括一种或多种传感器,用于实现相应的感应检测功能。例如,传感器模块1010可以包括惯性传感器,其用于检测移动终端1000的运动位姿,输出惯性传感数据。
本公开的示例性实施方式还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤,例如可以执行图3至图8中任意一个或多个步骤。
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
此外,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。
Claims (12)
1.一种图像序列渲染方法,其特征在于,包括:
获取待处理的图像序列,并抓取在预处理所述图像序列时生成的图像纹理块;
确定所述图像纹理块对应的纹理细节等级;
根据所述纹理细节等级确定所述图像纹理块对应的纹理渲染速率;
通过所述纹理渲染速率构建渲染速率查找表,以在实时绘制所述图像序列时基于所述渲染速率查找表完成对所述图像纹理块的着色渲染。
2.根据权利要求1所述的方法,其特征在于,所述确定所述图像纹理块对应的纹理细节等级,包括:
将所述图像纹理块中的色彩信息转换为灰度信息;
根据所述灰度信息计算所述图像纹理信息中目标像素与所述目标像素对应的周围像素之间的灰度差;
基于所述灰度差确定所述图像纹理块对应的纹理细节等级。
3.根据权利要求2所述的方法,其特征在于,所述灰度差包括第一灰度差和第二灰度差,所述根据所述灰度信息计算所述图像纹理信息中目标像素与所述目标像素对应的周围像素之间的灰度差,包括:
根据所述灰度信息计算将所述目标像素与所述周围像素之间在横坐标方向上的一阶梯度和二阶梯度,并将所述横坐标方向上的一阶梯度和二阶梯度中的最大值作为第一灰度差;
根据所述灰度信息计算将所述目标像素与所述周围像素之间在纵坐标方向上的一阶梯度和二阶梯度,并所述纵坐标方向上的一阶梯度和二阶梯度中的最大值作为第二灰度差。
4.根据权利要求3所述的方法,其特征在于,所述基于所述灰度差确定所述图像纹理块对应的纹理细节等级,包括:
将所述图像纹理块中所有像素对应的第一灰度差中的最小值作为第三灰度差;
将所述图像纹理块中所有像素对应的第二灰度差中的最小值作为第四灰度差;
根据所述第三灰度差和所述第四灰度差确定所述图像纹理块对应的纹理细节等级。
5.根据权利要求4所述的方法,其特征在于,所述根据所述纹理细节等级确定所述图像纹理块对应的纹理渲染速率,包括:
获取预设的灰度差阈值,所述灰度差区间包括第一灰度差阈值和第二灰度差阈值;
根据所述第三灰度差、所述第一灰度差阈值和所述第二灰度差阈值,确定所述图像纹理块在横坐标方向上的纹理渲染速率;
根据所述第四灰度差、所述第一灰度差阈值和所述第二灰度差阈值,确定所述图像纹理块在纵坐标方向上的纹理渲染速率;
通过所述横坐标方向上的纹理渲染速率和所述纵坐标方向上的纹理渲染速率,确定所述图像纹理块对应的纹理渲染速率。
6.根据权利要求1所述的方法,其特征在于,所述通过所述纹理渲染速率构建渲染速率查找表,包括:
获取所述图像纹理块对应的纹理标识信息;
将所述纹理标识信息与所述纹理渲染速率进行关联存储,构建得到所述渲染速率查找表。
7.根据权利要求1所述的方法,其特征在于,所述纹理渲染速率包括1*2纹理渲染速率、2*1纹理渲染速率、2*2纹理渲染速率、4*2纹理渲染速率、2*4纹理渲染速率和4*4纹理渲染速率。
8.根据权利要求1所述的方法,其特征在于,所述图像序列包括属于第一场景的第一图像序列以及属于第二场景的第二图像序列,所述抓取在预处理所述图像序列时生成的图像纹理块,包括:
抓取在预处理所述第一图像序列时生成的图像纹理块。
9.根据权利要求1至7任一项所述的方法,其特征在于,所述在实时绘制所述图像序列时基于所述渲染速率查找表完成对所述图像纹理块的着色渲染,包括:
在实时绘制图像序列时,获取所述图像序列对应的图像绘制操作指令,所述图像绘制操作指令包括多个图像纹理块的绘制;
确定所述图像绘制操作指令对应的目标图像纹理块;
根据所述目标图像纹理块对应的目标纹理标识信息在所述渲染速率查找表中确定目标纹理渲染速率;
基于所述目标纹理渲染速率和图像绘制操作指令对所述目标图像纹理块进行着色渲染,完成对所述图像序列的实时渲染。
10.一种图像序列渲染装置,其特征在于,包括:
纹理块获取模块,用于获取待处理的图像序列,并抓取在预处理所述图像序列时生成的图像纹理块;
纹理细节确定模块,用于确定所述图像纹理块对应的纹理细节等级;
渲染速率确定模块,用于根据所述纹理细节等级确定所述图像纹理块对应的纹理渲染速率;
图像着色渲染模块,用于通过所述纹理渲染速率构建渲染速率查找表,以在实时绘制所述图像序列时基于所述渲染速率查找表完成对所述图像纹理块的着色渲染。
11.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至9中任一项所述的方法。
12.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210642065.0A CN114972001A (zh) | 2022-06-08 | 2022-06-08 | 图像序列渲染方法及装置、计算机可读介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210642065.0A CN114972001A (zh) | 2022-06-08 | 2022-06-08 | 图像序列渲染方法及装置、计算机可读介质和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114972001A true CN114972001A (zh) | 2022-08-30 |
Family
ID=82962580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210642065.0A Pending CN114972001A (zh) | 2022-06-08 | 2022-06-08 | 图像序列渲染方法及装置、计算机可读介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114972001A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115690246A (zh) * | 2022-10-20 | 2023-02-03 | 北京国电通网络技术有限公司 | 图像纹理信息生成方法、装置、设备、介质和程序产品 |
CN116704075A (zh) * | 2022-10-14 | 2023-09-05 | 荣耀终端有限公司 | 图像处理方法、设备及存储介质 |
-
2022
- 2022-06-08 CN CN202210642065.0A patent/CN114972001A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116704075A (zh) * | 2022-10-14 | 2023-09-05 | 荣耀终端有限公司 | 图像处理方法、设备及存储介质 |
CN115690246A (zh) * | 2022-10-20 | 2023-02-03 | 北京国电通网络技术有限公司 | 图像纹理信息生成方法、装置、设备、介质和程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111598776B (zh) | 图像处理方法、图像处理装置、存储介质与电子设备 | |
CN114972001A (zh) | 图像序列渲染方法及装置、计算机可读介质和电子设备 | |
US20140092439A1 (en) | Encoding images using a 3d mesh of polygons and corresponding textures | |
CN112073748B (zh) | 全景视频的处理方法、装置及存储介质 | |
WO2023284401A1 (zh) | 图像美颜处理方法、装置、存储介质与电子设备 | |
CN111932463B (zh) | 图像处理方法、装置、设备及存储介质 | |
CN111612878B (zh) | 将静态照片制作成三维效果视频的方法及装置 | |
CN113706414A (zh) | 视频优化模型的训练方法和电子设备 | |
CN113689372B (zh) | 图像处理方法、设备、存储介质及程序产品 | |
CN109389569A (zh) | 基于改进DehazeNet的监控视频实时去雾方法 | |
US11887218B2 (en) | Image optimization method, apparatus, device and storage medium | |
CN115100337A (zh) | 一种基于卷积神经网络的全身人像视频重照明方法和装置 | |
CN111696034A (zh) | 图像处理方法、装置及电子设备 | |
CN116051593A (zh) | 服装图像提取方法及其装置、设备、介质、产品 | |
CN113920023A (zh) | 图像处理方法及装置、计算机可读介质和电子设备 | |
CN115278189A (zh) | 图像色调映射方法及装置、计算机可读介质和电子设备 | |
US20230119830A1 (en) | A method, an apparatus and a computer program product for video encoding and video decoding | |
CN113542864B (zh) | 视频的花屏区域检测方法、装置、设备及可读存储介质 | |
CN110570441B (zh) | 一种超高清低延时视频控制方法及系统 | |
CN114612341A (zh) | 图像畸变校正方法及装置、计算机可读介质和电子设备 | |
CN113613024A (zh) | 视频预处理方法及设备 | |
CN111866516B (zh) | 一种灰度视频的实时图像增强装置及方法 | |
CN116668773B (zh) | 增强视频画质的方法与电子设备 | |
CN114882012A (zh) | 皮肤干燥度检测方法及装置、存储介质及电子设备 | |
CN114022361A (zh) | 图像处理方法、介质、装置和计算设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |