CN113327303A - 图像处理方法、装置、计算机设备及存储介质 - Google Patents

图像处理方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN113327303A
CN113327303A CN202110888511.1A CN202110888511A CN113327303A CN 113327303 A CN113327303 A CN 113327303A CN 202110888511 A CN202110888511 A CN 202110888511A CN 113327303 A CN113327303 A CN 113327303A
Authority
CN
China
Prior art keywords
target
texture
data
image
texture data
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.)
Granted
Application number
CN202110888511.1A
Other languages
English (en)
Other versions
CN113327303B (zh
Inventor
袁志强
杨衍东
李文焱
周荣鑫
刘雷
赵新达
龚志鹏
杨昊
曹琛
周威
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202110888511.1A priority Critical patent/CN113327303B/zh
Publication of CN113327303A publication Critical patent/CN113327303A/zh
Application granted granted Critical
Publication of CN113327303B publication Critical patent/CN113327303B/zh
Priority to PCT/CN2022/100817 priority patent/WO2023011033A1/zh
Priority to US18/297,304 priority patent/US20230245420A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/54Extraction of image or video features relating to texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/40Analysis of texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream

Abstract

本申请实施例公开了一种图像处理方法、装置、计算机设备及存储介质,其中方法包括:获取目标图像的源压缩纹理数据,源压缩纹理数据是采用源压缩纹理格式对目标图像进行编码得到的;若源压缩纹理格式与显卡不兼容,则确定与显卡适配的目标压缩纹理格式,以及目标压缩纹理格式对应的目标压缩块尺寸;基于目标压缩块尺寸对源压缩纹理数据进行解码对齐处理,得到多个图像纹理数据;采用目标压缩纹理格式以及目标压缩块尺寸,对每个图像纹理数据进行转码处理,得到所述目标图像的目标压缩纹理数据;在需显示目标图像时,调用显卡根据目标压缩纹理数据,渲染显示目标图像。本申请实施例可以有效节省显存占用,提升显卡的运行性能。

Description

图像处理方法、装置、计算机设备及存储介质
技术领域
本申请涉及互联网技术领域,具体涉及图像处理技术领域,尤其涉及一种图像处理方法、装置、计算机设备及存储介质。
背景技术
目前,图像制作者在制作图像的过程中,为了节省图像的占用内存以及传输图像所需的网络资源,通常会采用源压缩纹理格式对图像进行压缩编码,得到该图像的源压缩纹理数据,从而向外界发布该源压缩纹理数据。相应的,外界的任一设备在获取到该图像的源压缩纹理数据后,若检测到源压缩纹理格式与显卡不兼容,则该任一设备通常会直接对该源压缩纹理数据进行解码,并存储解码得到的解码纹理数据,以便于后续根据该解码纹理数据进行图像的渲染显示。虽然,这样的图像处理方式可解决源压缩纹理数据的数据格式和显卡不兼容的问题,但是会导致显存占用过大,影响显卡的运行性能。
发明内容
本申请实施例提供了一种图像处理方法、装置、计算机设备及存储介质,可以有效节省显存占用,提升显卡的运行性能。
一方面,本申请实施例提供了一种图像处理方法,所述方法包括:
获取目标图像的源压缩纹理数据,所述源压缩纹理数据是采用源压缩纹理格式对所述目标图像进行编码得到的;
若所述源压缩纹理格式与显卡不兼容,则确定与所述显卡适配的目标压缩纹理格式,以及所述目标压缩纹理格式对应的目标压缩块尺寸;
基于所述目标压缩块尺寸对所述源压缩纹理数据进行解码对齐处理,得到多个图像纹理数据,每个图像纹理数据的数据尺寸等于所述目标压缩块尺寸的整数倍;
采用所述目标压缩纹理格式以及所述目标压缩块尺寸,对每个图像纹理数据进行转码处理,得到所述目标图像的目标压缩纹理数据,所述目标压缩纹理数据包括:每个图像纹理数据对应的一个或多个转码压缩纹理块;
在需显示所述目标图像时,调用所述显卡根据所述目标压缩纹理数据,渲染显示所述目标图像。
另一方面,本申请实施例提供了一种图像处理装置,所述装置包括:
获取单元,用于获取目标图像的源压缩纹理数据,所述源压缩纹理数据是采用源压缩纹理格式对所述目标图像进行编码得到的;
处理单元,用于若所述源压缩纹理格式与显卡不兼容,则确定与所述显卡适配的目标压缩纹理格式,以及所述目标压缩纹理格式对应的目标压缩块尺寸;
所述处理单元,还用于基于所述目标压缩块尺寸对所述源压缩纹理数据进行解码对齐处理,得到多个图像纹理数据,每个图像纹理数据的数据尺寸等于所述目标压缩块尺寸的整数倍;
所述处理单元,还用于采用所述目标压缩纹理格式以及所述目标压缩块尺寸,对每个图像纹理数据进行转码处理,得到所述目标图像的目标压缩纹理数据,所述目标压缩纹理数据包括:每个图像纹理数据对应的一个或多个转码压缩纹理块;
所述处理单元,还用于在需显示所述目标图像时,调用所述显卡根据所述目标压缩纹理数据,渲染显示所述目标图像。
再一方面,本申请实施例提供了一种计算机设备,所述计算机设备包括输入接口和输出接口,所述计算机设备还包括:
处理器,适于实现一条或多条指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如下步骤:
获取目标图像的源压缩纹理数据,所述源压缩纹理数据是采用源压缩纹理格式对所述目标图像进行编码得到的;
若所述源压缩纹理格式与显卡不兼容,则确定与所述显卡适配的目标压缩纹理格式,以及所述目标压缩纹理格式对应的目标压缩块尺寸;
基于所述目标压缩块尺寸对所述源压缩纹理数据进行解码对齐处理,得到多个图像纹理数据,每个图像纹理数据的数据尺寸等于所述目标压缩块尺寸的整数倍;
采用所述目标压缩纹理格式以及所述目标压缩块尺寸,对每个图像纹理数据进行转码处理,得到所述目标图像的目标压缩纹理数据,所述目标压缩纹理数据包括:每个图像纹理数据对应的一个或多个转码压缩纹理块;
在需显示所述目标图像时,调用所述显卡根据所述目标压缩纹理数据,渲染显示所述目标图像。
再一方面,本申请实施例提供了一种计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行如下步骤:
获取目标图像的源压缩纹理数据,所述源压缩纹理数据是采用源压缩纹理格式对所述目标图像进行编码得到的;
若所述源压缩纹理格式与显卡不兼容,则确定与所述显卡适配的目标压缩纹理格式,以及所述目标压缩纹理格式对应的目标压缩块尺寸;
基于所述目标压缩块尺寸对所述源压缩纹理数据进行解码对齐处理,得到多个图像纹理数据,每个图像纹理数据的数据尺寸等于所述目标压缩块尺寸的整数倍;
采用所述目标压缩纹理格式以及所述目标压缩块尺寸,对每个图像纹理数据进行转码处理,得到所述目标图像的目标压缩纹理数据,所述目标压缩纹理数据包括:每个图像纹理数据对应的一个或多个转码压缩纹理块;
在需显示所述目标图像时,调用所述显卡根据所述目标压缩纹理数据,渲染显示所述目标图像。
本申请实施例在获取到目标图像的源压缩纹理数据后,可基于与显卡适配的目标压缩纹理格式对应的目标压缩块尺寸,对源压缩纹理数据进行解码对齐处理,得到多个图像纹理数据。通过解码对齐处理,可使得每个图像纹理数据的数据尺寸均等于目标压缩块尺寸的整数倍;这样可便于采用目标压缩纹理格式以及目标压缩块尺寸,将每个图像纹理数据转码成一个或多个转码压缩纹理块进行存储,从而有效节省显存占用,提升显卡的运行性能。并且,在需显示目标图像时,通过调用显卡根据包括各个转码压缩纹理块的目标压缩纹理数据,渲染显示目标图像;这样的处理方式使得从存储空间中加载的数据为目标压缩纹理数据,相较于加载解码数据而言,目标压缩纹理数据的数据量更小,因此还可避免数据加载时总线带宽占用过大的问题。进一步的,由于每个转码压缩纹理块的数据格式均为与显卡适配的目标压缩纹理格式,因此还可使得在调用显卡根据包括各个转码压缩纹理块的目标压缩纹理数据,渲染显示目标图像时,有效提升图像渲染效率,从而提升图像显示的及时性。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本申请实施例提供的一种像素压缩编码的示意图;
图1b是本申请实施例提供的一种源压缩纹理块和转码压缩纹理块的对应关系示意图;
图1c是本申请实施例提供的另一种源压缩纹理块和转码压缩纹理块的对应关系示意图;
图2是本申请实施例提供的一种图像处理方法的流程示意图;
图3a是本申请实施例提供的一种按照数据对齐因子,将多个源压缩纹理块划分成多个纹理块组的示意图;
图3b是本申请实施例提供的另一种按照数据对齐因子,将多个源压缩纹理块划分成多个纹理块组的示意图;
图3c是本申请实施例提供的一种区块链的结构示意图;
图3d是本申请实施例提供的一种将目标压缩纹理数据添加至区块链的示意图;
图4a是本申请实施例提供的一种在计算机设备中执行图像处理方法的流程示意图;
图4b是本申请实施例提供的一种计算机设备通过显卡着色器得到目标压缩纹理数据的示意图;
图4c是本申请实施例提供的另一种计算机设备通过显卡着色器得到目标压缩纹理数据的示意图;
图5a是本申请实施例提供的一种云游戏服务器的结构示意图;
图5b是本申请另一实施例提供的一种图像处理方法的流程示意图;
图6是本申请实施例提供的一种图像处理装置的结构示意图;
图7是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
随着互联网技术的不断发展,人工智能(Artificial Intelligence,AI)技术也随之得到更好的发展。所谓的人工智能技术是指利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术;其主要通过了解智能的实质,生产出一种新的能以人类智能相似的方式做出反应的智能机器,使得智能机器具有感知、推理与决策等多种功能。相应的,AI技术是一门综合学科,其主要包括计算机视觉技术(Computer Vision,CV)、语音处理技术、自然语言处理技术以及机器学习(MachineLearning,ML)/深度学习等几大方向。
其中,计算机视觉技术是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR(OpticalCharacter Recognition,光学字符识别)、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D(三维)技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
基于上述所提及的计算机视觉技术中的图像处理技术,本申请实施例提出了一种在计算机设备中执行的图像处理方案;该图像处理方案主要用于在目标图像的源压缩纹理数据的数据格式(即源压缩纹理格式)和计算机设备中的显卡不兼容时,将源压缩纹理数据转换成与显卡适配的目标压缩纹理格式的目标压缩纹理数据,从而避免显卡占用过大的情况,进而提升显卡的运行性能。其中,源压缩纹理格式则是指:图像制作者在制作目标图像的过程中所采用的压缩纹理格式,而目标压缩纹理格式则是指:与显卡适配的压缩纹理格式。所谓的压缩纹理格式是指:以压缩纹理块(简称块(block))为单位,对图像进行像素压缩存储的格式;任一压缩纹理格式均对应一个或多个压缩块尺寸,该压缩块尺寸主要用于指示每个block压缩的像素个数的范围;例如,压缩块尺寸为4×4,则可用于指示每个block压缩的像素个数为4×4,即该4×4可表示每次对4行4列个像素进行压缩以得到一个block(采用B表示),如图1a所示。由此可见,采用源压缩纹理格式对目标图像进行编码所得到的源压缩纹理数据,通常可包括多个源压缩纹理块;需说明的是,本申请实施例所提及的“多个”的含义均是指至少两个。
在具体实现中,该图像处理方案的大致原理如下:首先,可先基于目标压缩纹理格式对应的压缩块尺寸(后续简称目标压缩块尺寸),对源压缩纹理数据进行解码对齐处理,得到多个图像纹理数据,每个图像纹理数据的数据尺寸等于目标压缩块尺寸的整数倍。进一步的,由于每个图像纹理数据的数据尺寸是目标压缩块尺寸的整数倍,因此可按照该目标压缩块尺寸,将每个图像纹理数据转码成整数个的目标压缩纹理格式的压缩纹理块(后续称为转码纹理块);在得到每个图像纹理数据对应的一个或多个转码压缩纹理块后,便可结束转码流程,得到目标压缩纹理格式的目标压缩纹理数据,目标压缩纹理数据包括:各个图像纹理数据所对应的转码压缩纹理块。
基于上述图像处理方案的相关描述,需说明以下几点:
①源压缩纹理数据的数据格式(即源压缩纹理格式)所对应的压缩块尺寸(后续称为源压缩块尺寸),与目标压缩纹理格式对应的压缩块尺寸(后续称为目标压缩块尺寸)可相同,也可不同,对此不作限定。例如,源压缩块尺寸可以为6×6,而目标压缩块尺寸可以为4×4;又如,源压缩块尺寸和目标压缩块尺寸均可以为4×4,等等。
②当源压缩块尺寸和目标压缩块尺寸相同时,源压缩纹理数据中的一个源压缩纹理块(采用B1表示),对应一个目标压缩纹理数据中的一个转码压缩纹理块(采用B2表示),如图1b所示。也就是说,当源压缩块尺寸和目标压缩块尺寸相同时,源压缩纹理数据包括的源压缩纹理块的数量,和目标压缩纹理数据包括的转码压缩纹理块的数量相同。当源压缩块尺寸和目标压缩块尺寸不同时,可以是源压缩纹理数据中的一个源压缩纹理块,对应一个目标压缩纹理数据中的多个转码压缩纹理块,如若源压缩块尺寸为8×8,目标压缩块尺寸为4×4,则1个源压缩纹理块可对应4个转码压缩纹理块,如图1c所示;也可以是多个源压缩纹理块对应一个转码压缩纹理块,如若源压缩块尺寸为4×4,目标压缩块尺寸为8×8,则4个源压缩纹理块可对应1个转码压缩纹理块;还可以是E个源压缩纹理块对应F个转码压缩纹理块,E和F均为大于1的整数,如若源压缩块尺寸为6×6,目标压缩块尺寸为4×4,则4个源压缩纹理块可对应9个转码压缩纹理块。也就是说,当源压缩块尺寸和目标压缩块尺寸不同时,源压缩纹理数据包括的源压缩纹理块的数量,和目标压缩纹理数据包括的转码压缩纹理块的数量不同。
③上述所提及的计算机设备可以是终端或者服务器,对此不作限定;此处所提及的终端可以包括但不限于:智能手机、平板电脑、笔记本电脑、台式计算机、智能手表、智能电视,等等;终端内可运行各式各样的客户端(application,APP),如游戏客户端、多媒体客户端、社交客户端,等等。此处所提及的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content DeliveryNetwork,内容分发网络)、及大数据和人工智能平台等基础云计算服务的云服务器,等等。
进一步的,计算机设备中的显卡是一种以GPU(Graphics Processing Unit,图形处理器)为中心,且用于承担输出显示图像的任务的器件;为了提升解码对齐处理效率,本申请实施例中的显卡可至少包括:GPU、渲染管线、计算着色器解码管线(后续简称解码管线),以及显卡计算着色器(后续简称为显卡着色器)等等。其中:①渲染管线又可称为渲染流水线,是显卡内部处理图形信号相互独立的并行处理单元,其可用于实现图像的渲染显示。②解码管线是一种用于指示显卡着色器的处理流程的处理单元,即本申请实施例中的显卡着色器按照解码管线规定的流程进行工作。③显卡着色器是指在显卡中运行的处理单元,其可包括M个工作组(work group),所谓的工作组可理解成是显卡着色器中具有解码处理能力和转码处理能力的子处理单元;各个工作组之间相互独立,M为大于1的整数。显卡着色器可与用于数据输入的输入显卡着色器缓存块,以及用于数据输出的输出显卡着色器缓存块相连接。在该计算机设备中执行上述的图像处理方案时,主要可利用显卡着色器中的工作组执行相关数据的解码操作和转码操作,具体请参见下述方法实施例的相关描述。
另外,该计算机设备可以位于区块链网络外,也可以位于区块链网络内,对此不作限定;所谓的区块链网络是一种由点对点网络(P2P网络)和区块链所构成的网络,而区块链则是指一种分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,其本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块(或称为区块)。当计算机设备位于区块链网络内,或者与区块链网络存在通信连接时,计算机设备可将内部数据上传至区块链网络的区块链中进行存储,以防止计算机设备的内部数据被篡改,从而提升内部数据的安全性。
经实践表明,本申请实施例上述所提出的图像处理方案可至少具有如下有益效果:①通过解码对齐处理,可使得每个图像纹理数据的数据尺寸均等于目标压缩块尺寸的整数倍;这样可便于采用目标压缩纹理格式以及目标压缩块尺寸,将每个图像纹理数据转码成一个或多个转码压缩纹理块进行存储,从而有效节省显存占用,提升显卡的运行性能。②可实现在需显示目标图像时,从存储空间中加载的数据为目标压缩纹理数据,相较于加载解码数据而言,目标压缩纹理数据的数据量更小,因此还可避免数据加载时总线带宽占用过大的问题,提升图像渲染效率,进而提升图像显示的及时性。③由于每个转码压缩纹理块的数据格式均与显卡适配,因此还可使得在调用显卡根据各个转码压缩纹理块渲染显示目标图像时,进一步有效提升图像渲染效率,从而进一步提升图像显示的及时性。
基于上述的描述,本申请实施例提出一种图像处理方法,该图像处理方法可以在上述所提及的计算机设备中执行。请参见图2,该图像处理方法可包括以下步骤S201-S205:
S201,获取目标图像的源压缩纹理数据。
其中,目标图像可以是任一种图像,如目标游戏中的游戏画面、任一影视剧的视频图像、任一用户的自拍图像、任一景点的风景图像,等等;此处所提及的目标游戏可以是任一普通游戏,或者任一云游戏。所谓的普通游戏是指:直接在玩家用户使用的终端设备内安装的游戏客户端中运行的游戏;所谓的云游戏又可称为游戏点播(gaming on demand),是一种以云计算为基础的游戏方式,此处的云计算是一种基于互联网的计算方式;在云游戏场景下,游戏并不在玩家用户的游戏客户端,而是在云游戏服务器中运行;由云游戏服务器将游戏场景所涉及的游戏画面编码为视频流,通过网络传输给玩家用户的游戏客户端进行播放。进一步的,目标图像的数据格式可以是纹理格式;此处所提及的纹理格式可以例如是RGBA格式;其中,RGBA中的R表示红色通道,G表示绿色通道,B表示蓝色通道,A表示透明通道。
目标图像的源压缩纹理数据是采用源压缩纹理格式对目标图像进行编码得到的,采用源压缩纹理格式对目标图像进行编码的过程,可理解成是将目标图像的数据格式从纹理格式转换成源压缩纹理格式的过程;编码得到的源压缩纹理数据中可包括多个源压缩纹理块,所谓源压缩纹理块是指采用源压缩纹理格式对目标图像进行压缩编码所得到的压缩纹理块。其中,源压缩纹理格式可以是ASTC(Adaptive Scalable Texture Compression)格式、或者ETC格式(一种压缩纹理格式),等等。源压缩纹理格式对应的压缩块尺寸可称为源压缩块尺寸,该源压缩块尺寸可以为A×B,A×B表示将A行B列个像素压缩成一个块,A和B均为大于1的整数。例如,当源压缩纹理格式为ASTC或者ETC时,由于ASTC和ETC对应的源压缩块尺寸可以从4×4到12×12,因此源压缩块尺寸可以为4×4、6×6、8×8或者12×12,等等。以4×4为例,该4×4可表示将4行4列个像素压缩成一个块。
在具体实现中,若计算机设备的本地空间中未预先存储该目标图像的源压缩纹理数据,则步骤S201的具体实施方式可以是:向存储有该源压缩纹理数据的其他设备发送数据获取请求,以请求其他设备返回该源压缩纹理数据;然后,计算机设备可接收该源压缩纹理数据。若计算机设备的本地空间中预先存储有该目标图像的源压缩纹理数据,则计算机设备可通过内部的渲染管线从本地空间中加载该源压缩纹理数据,以实现源压缩纹理数据的获取;即步骤S201的具体实施方式可以是:渲染管线从计算机设备的本地空间中,加载该目标图像的源压缩纹理数据。
S202,若源压缩纹理格式与显卡不兼容,则确定与显卡适配的目标压缩纹理格式,以及目标压缩纹理格式对应的目标压缩块尺寸。
其中,源压缩纹理格式与显卡不兼容的含义是指:显卡不支持对该源压缩纹理格式的任一数据进行图像渲染显示。在源压缩纹理格式与显卡不兼容的情况下,计算机设备可确定与显卡适配的目标压缩纹理格式;该目标压缩纹理格式可以是与显卡适配(或兼容)的任一压缩纹理格式,例如可以是DXT5(一种有损纹理压缩算法)格式,等等。目标压缩块尺寸是指:目标压缩纹理格式对应的压缩块尺寸;该目标压缩块尺寸可以为X×Y,该X×Y表示将X行Y列个像素压缩成一个块,X和Y为大于1 的整数。例如,以目标压缩纹理格式为DXT5格式为例,X和Y均可以等于4,即此时的目标压缩块尺寸可以为4×4。
S203,基于目标压缩块尺寸对源压缩纹理数据进行解码对齐处理,得到多个图像纹理数据。
由于源压缩纹理数据中的各个源压缩纹理块的尺寸均为源压缩纹理格式对应的源压缩块尺寸,而最终需转码得到的压缩纹理块的尺寸为目标压缩块尺寸,只有当源压缩块尺寸是目标压缩块尺寸的整数倍时,可直接调用显卡着色器将各个源压缩纹理块解码并转码成一个或多个目标压缩块尺寸的压缩纹理块;否则,则会导致转码失败。例如,设目标压缩块尺寸为4×4,那么针对源压缩块尺寸为4×4、8×8或者12×12的源压缩纹理块,可以直接调用显卡着色器将各个源压缩纹理块解码并转码成1个、4个或9个尺寸为4×4的压缩纹理块。但针对源压缩块尺寸为6×6的源压缩纹理块,则无法直接调用显卡着色器将该源压缩纹理块转码成若干个目标压缩块尺寸的压缩纹理块。基于此,为便于后续的转码处理,计算机设备可先基于目标压缩块尺寸对源压缩纹理数据进行解码对齐处理,使得处理得到的每个图像纹理数据的数据尺寸等于目标压缩块尺寸的整数倍,从而便于后续在显卡着色器中将各个图像纹理数据转码成目标压缩块尺寸的一个或多个压缩纹理块。
其中,图像纹理数据是指:未被压缩编码的纹理数据,即图像纹理数据的数据格式为纹理格式。图像纹理数据的数据尺寸用于指示图像纹理数据所包括的像素的数量;例如,若图像纹理数据的数据尺寸为128×128,则该数据尺寸表示该图像纹理数据包括128×128个像素。由此可见,图像纹理数据的数据尺寸和目标压缩块尺寸(X×Y)均包括两位数值;那么,所谓的数据尺寸等于目标压缩块尺寸的整数倍的含义是指:数据尺寸的第一位数值是目标压缩块尺寸的第一位数值(即X的值)的整数倍,且数据尺寸的第二位数值是目标压缩块尺寸的第二位数值(即Y的取值)的整数倍。例如,设目标压缩块尺寸为4×4;若数据尺寸为8×8,则由于数据尺寸的第一位数值(数值8)是目标压缩块尺寸的第一位数值(数值4)的2倍,且数据尺寸的第二位数值(数值8)也是目标压缩块尺寸的第二位数值(数值4)的2倍,则数据尺寸8×8等于目标压缩块尺寸的整数倍;若数据尺寸为8×10,则由于数据尺寸的第一位数值(数值8)是目标压缩块尺寸的第一位数值(数值4)的2倍,且数据尺寸的第二位数值(数值10)是目标压缩块尺寸的第二位数值(数值4)的2.5倍,则数据尺寸8×10不等于目标压缩块尺寸的整数倍。
在一种具体实现中,解码对齐处理可包括:先数据解码再数据对齐的处理;所谓的先数据解码再数据对齐的处理是指:先将源压缩纹理数据解码成纹理格式的解码纹理数据,再将解码纹理数据对齐成多个图像纹理数据的处理。相应的,在此具体实现中,步骤S203的具体实施方式可以包括以下步骤s11-s12:
s11,对源压缩纹理数据进行解码处理,得到目标图像的解码纹理数据,该解码纹理数据包括P行Q列个像素,P和Q为大于1的整数。
具体的,可在显卡着色器中为源压缩纹理数据中的每个源压缩纹理块分配一个用于解码的目标工作组,并将每个源压缩纹理块派发给对应的目标工作组;以及,并行地调用显卡着色器中的各个目标工作组,对相应的压缩纹理块进行解码处理,以得到目标图像的解码纹理数据。
s12,按照目标压缩块尺寸,将P行Q列个像素对齐成多组像素;每组像素均包括X行Y列个像素,且一组像素为一个图像纹理数据。
在一种实施方式中,计算机设备在按照目标压缩块尺寸,将P行Q列个像素对齐成多组像素时,可先以每X行为一个单位,基于P行像素中未被执行对齐处理的剩余行像素,确定当前待对齐的X行像素。具体的,若P行像素中未被执行对齐处理的剩余行像素的行数大于或等于X,则可按照从上至下的选取顺序,从剩余行像素中选取当前待对齐的X行像素;若P行像素中未被执行对齐处理的剩余行像素的行数小于X,则可采用J行无效像素将剩余行像素补齐成X行像素,并将补齐得到的X行像素确定当前待对齐的X行像素,J的取值等于X和剩余行像素的行数之间的差值。例如,P为11,X为4;那么计算机设备第一次可选取第1行-第4行像素作为当前待对齐的4行像素,第二次可选取第5行-第8行像素作为当前待对齐的4行像素,第三次由于未被执行对齐处理的剩余行像素为3行,其行数小于X,因此可采用1行无效像素将剩余3行像素对齐成4行像素,并将补齐得到的4行像素作为当前待对齐的4行像素。可见,在剩余行像素的行数小于X时,通过采用J行无效像素进行像素补齐,可使得补齐后的剩余行像素在宽度上可满足后续转码所需的像素个数,从而使得剩余行像素可被成功转码成目标压缩纹理格式的压缩纹理块,避免剩余行像素被丢弃,可有效提升转码结果的准确性。其中,上述所提及的无效像素是指:像素值为指定值的像素,该指定值可根据经验值或者业务需求设置,例如指定值可以为0,255等。
在确定出当前待对齐的X行像素后,计算机设备可按照每Y列对齐一次的对齐频率,对当前待对齐的X行像素进行对齐处理,得到N组像素;N为正整数,且一组像素包括X行Y列个像素。可选的,若在对当前待对齐的X行像素进行对齐处理后,该当前待对齐的X行像素中剩余了K列像素,1≤K<Y,则可采用Y-K列无效像素将K列像素对齐成一组像素。例如,X和Y均为4,而当前待对齐的4行像素中,总共具有11列像素;那么计算机设备可将当前待对齐的4行像素中的第1列-第4列对齐成一组像素,将第5列-第8列对齐成一组像素,然后会剩余3列像素,此时可采用1列无效像素将剩余的3列像素补齐成一组像素。可见,通过采用Y-K列无效像素进行像素补齐,可使得补齐后的K列像素在长度上可满足后续转码所需的像素个数,从而使得K列像素可被成功转码成目标压缩纹理格式的压缩纹理块,避免K列像素被丢弃,可有效提升转码结果的准确性。
另一种实施方式中,计算机设备在按照目标压缩块尺寸,将P行Q列个像素对齐成多组像素时,也可以先以每Y行为一个单位,基于Q列像素中未被执行对齐处理的剩余列像素,确定当前待对齐的Y列像素。具体的,若Q列像素中未被执行对齐处理的剩余列像素的列数大于或等于Y,则可按照从左往右的选取顺序,从剩余列像素中选取当前待对齐的Y列像素;若Q列像素中未被执行对齐处理的剩余列像素的列数小于Y,则可采用F列无效像素将剩余列像素补齐成Y列像素,并将补齐得到的Y列像素确定当前待对齐的Y列像素,F的取值等于Y和剩余列像素的列数之间的差值。在确定出当前待对齐的Y列像素后,计算机设备可按照每X行对齐一次的对齐频率,对当前待对齐的Y列像素进行对齐处理,得到L组像素;L为正整数,且一组像素包括X行Y列个像素。可选的,若在对当前待对齐的Y列像素进行对齐处理后,该当前待对齐的Y行像素中剩余了C行像素,1≤C<X,则可采用X-C行无效像素将C行像素对齐成一组像素。
另一种具体实现中,解码对齐处理可包括:先数据对齐再数据解码的处理;所谓的先数据对齐再数据解码的处理是指:先按照数据对齐因子,将源压缩纹理数据中的多个源压缩纹理块划分成多个纹理块组,再分别将每个纹理块组解码成图像纹理数据的处理。相应的,在此具体实现中,步骤S203的具体实施方式可以包括以下步骤s21-s23:
s21,根据目标压缩块尺寸和源压缩块尺寸,计算数据对齐因子。
其中,该数据对齐因子指示:解码得到一个图像纹理数据所需的源压缩纹理块的数量;例如,数据对齐因子为2,则表明解码得到一个图像纹理数据需要2个源压缩纹理块。由前述可知,源压缩块尺寸为A×B,目标压缩块尺寸为X×Y;基于此,计算机设备在执行步骤s21时,可求取A和X之间的最小公倍数,作为第一最小公倍数;并将第一最小公倍数和A之间的比值,确定为行对齐因子。另外,计算机设备还可求取B和Y之间的最小公倍数,作为第二最小公倍数;并将第二最小公倍数和B之间的比值,确定为列对齐因子。在确定出行对齐因子和列对齐因子后,可对行对齐因子和列对齐因子进行乘法运算,得到数据对齐因子。其中,所谓的最小公倍数是指:两个或两个以上的数值之间的所有公倍数中的最小的公倍数;所谓的公倍数则是指:两个或两个以上的数值之间,共同拥有的倍数。如针对数值4和数值6这两个数值而言,数值4的倍数有4、8、12、16、20、24...,数值6的倍数有6、12、18、24、30…;那么数值4和数值6的公倍数有12、24等,最小公倍数则为12。进一步举例说明数据对齐因子的计算方式:设源压缩块尺寸为6×6,目标压缩块尺寸为4×4;那么可计算得到第一最小公倍数和第二最小公倍数均为12,进一步可计算得到行对齐因子为12÷6=2,以及列对齐因子为12÷6=2,进而可计算得到数据对齐因子为:2×2=4。
可选的,计算机设备在执行步骤s21时,可直接执行求取A和X之间的最小公倍数,作为第一最小公倍数的步骤;也可先检测目标压缩块尺寸和源压缩块尺寸是否相同,若相同,则表明一个源压缩纹理块解码所得到的解码数据的数据尺寸必然是目标压缩块尺寸的整数倍;若不同,则表明一个源压缩纹理块解码所得到的解码数据的数据尺寸可能是目标压缩块尺寸的整数倍,也可能不是。基于此,若目标压缩块尺寸等于源压缩块尺寸,则计算机设备可将单位数值(如数值1)确定为数据对齐因子;若目标压缩块尺寸不等于源压缩块尺寸,则执行求取A和X之间的最小公倍数,作为第一最小公倍数的步骤。采用这样的处理逻辑,可实现在目标压缩块尺寸等于源压缩块尺寸时,避免执行最小公倍数等计算操作,节省处理资源。
s22,按照数据对齐因子,将多个源压缩纹理块划分成多个纹理块组,一个纹理块组包括数据对齐因子指示的数量个源压缩纹理块。
需要说明的是,在具体划分过程中,是基于数据对齐因子所涉及的列对齐因子和行对齐因子,分别从长度和宽度两个方向对多个源压缩纹理块进行划分,以得到多个纹理块组的。例如承接上述例子,设数据对齐因子为4(即2×2),则计算机设备可在长度方向和宽度方向上,各依次选取2个源压缩纹理块来构成一个纹理块组,如图3a所示。进一步的,若长度方向上的源压缩纹理块的数量(即源压缩纹理数据的列数)不是列对齐因子的整数倍,则可在长度方向上,采用一列或多列无效的源压缩纹理块对源压缩纹理数据进行补齐处理,使得补齐后的源压缩纹理数据的列数等于列对齐因子的整数倍;同理,若宽度方向上的源压缩纹理块的数量(即源压缩纹理数据的行数)不是行对齐因子的整数倍,则可在宽度方向上,采用一行或多行无效的源压缩纹理块对源压缩纹理数据进行补齐处理,使得补齐后的源压缩纹理数据的行数等于行对齐因子的整数倍。所谓的无效的源压缩纹理块是指:采用源压缩纹理格式对A×B个无效像素(如像素值为0的像素)进行压缩编码得到的源压缩纹理块。
例如,设列对齐因子和行对齐因子均为2,数据对齐因子则为4;再设源压缩纹理数据在长度方向上,包括3列源压缩纹理块;在宽度方向上,包括4行源压缩纹理块。由于源压缩纹理数据的列数等于3,其不是列对齐因子的整数倍,而源压缩纹理数据的行数等于4,其是行对齐因子的整数倍,因此计算机设备可只在长度方向上,采用1列无效的源压缩纹理块对源压缩纹理数据进行补齐处理,使得补齐后的源压缩纹理数据包括4列源压缩纹理块(即3列原始的源压缩纹理块和1列无效的源压缩纹理块)。然后,再按照数据对齐因子,将补齐后的源压缩纹理数据划分成多个纹理块组,一个纹理块组包括4个源压缩纹理块,如图3b所示。
s23,分别对各个纹理块组进行解码处理,得到多个图像纹理数据,一个纹理块组对应一个图像纹理数据。
具体的,计算机设备可在显卡着色器中为每个纹理块组分别分配一个处理工作组,每个处理工作组均至少具有解码能力;其次,将每个纹理块组派发给对应的处理工作组;然后,可并行地调用各个处理工作组,对相应的纹理块组中的各个源压缩纹理块进行解码处理,得到多个图像纹理数据。采用并行解码的方式,可有效提升解码效率,缩短整个图像处理流程的时长。当然应理解的是,在其他实施例中,也可采用通过显卡着色器中的一个处理工作组,依次对各个纹理块进行解码处理,得到多个图像纹理数据,对此不作限定。
S204,采用目标压缩纹理格式以及目标压缩块尺寸,对每个图像纹理数据进行转码处理,得到目标图像的目标压缩纹理数据。
其中,目标压缩纹理数据包括:每个图像纹理数据对应的一个或多个转码压缩纹理块;所谓的转码压缩纹理块是指:对每个图像纹理数据进行转码得到的,数据格式为目标压缩纹理格式,尺寸为目标压缩块尺寸的压缩纹理块。
在一种实施方式中,若计算机设备在前述执行步骤S203时,是通过先数据解码再数据对齐的处理方式来得到图像纹理数据的,则由于计算机设备通过显卡着色器执行数据解码操作后,会控制显卡着色器输出解码纹理数据,从而执行对解码纹理数据进行数据对齐的操作;因此,此情况下,计算机设备在通过数据对齐得到多个图像纹理数据后,可将多个图像纹理数据再次输入至显卡着色器以进行转码处理。基于此,计算机设备在执行步骤S204时,可在显卡着色器中为多个图像纹理数据分配用于转码的多个转码工作组,一个转码工作组被分配一个或多个图像纹理数据;以及,将每个图像纹理数据派发给对应的转码工作组;然后,并行地调用各个转码工作组,根据目标压缩纹理格式以及目标压缩块尺寸,对相应的图像纹理数据进行转码处理,以得到目标图像的目标压缩纹理数据。
另一种实施方式中,若计算机设备在前述执行步骤S203时,是通过先数据对齐再数据解码的处理方式来得到图像纹理数据的,则由于计算机设备是先通过数据对齐的操作将多个源压缩纹理块划分成多个纹理块组,再将多个纹理块组输入至显卡着色器,由显卡着色器中的处理工作组对相应的纹理块组执行数据解码操作的,且每个处理工作组还具有转码能力;因此,此情况下,显卡着色器中的各个处理工作组在解码得到相应的图像纹理数据后,可直接对相应的图像纹理数据进行转码处理,无需输出解码得到的多个图像纹理数据。基于此,计算机设备在执行步骤S204时,可在任一处理工作组解码得到一个图像纹理数据后,继续调用任一处理工作组,采用目标压缩纹理格式以及目标压缩块尺寸,对相应的图像纹理数据进行转码处理。由此可见,这样的处理方式可调用一次显卡着色器来实现数据解码和转码处理,从而得到目标压缩纹理格式得到目标压缩纹理数据;通过避免显卡着色器的多次调用,可有效减少对显卡着色器的性能影响,从而提升显卡着色器的运行性能,进而提升数据处理效果。
S205,在需显示目标图像时,调用显卡根据目标压缩纹理数据,渲染显示目标图像。
在具体实施过程中,通过步骤S201-S204所得到的目标压缩纹理数据可被缓存至显存中;那么在执行步骤S205时,计算机设备可调用显卡从显存中获取该目标压缩纹理数据,然后对该目标压缩纹理数据进行解码处理,得到纹理格式的目标纹理数据,最后可调用显卡中的渲染管线,根据该纹理格式的目标纹理数据渲染显示目标图像。可选的,若在前述步骤S201-S204的实施过程中,执行了无效像素的补齐处理或无效压缩块的补齐处理,则在解码得到目标纹理数据后,还可基于前述执行补齐处理所对应的补齐位置,在目标纹理数据中确定待过滤的无效像素,并在该目标纹理数据中过滤掉这些待过滤的无效像素,得到过滤后的目标纹理数据;从而调用显卡中的渲染管线,根据过滤后的目标纹理数据渲染显示目标图像。通过过滤掉无效像素,可使得渲染显示的目标图像更加真实,提升图像显示效果。
可选的,计算机设备在得到目标压缩纹理数据后,还可将该目标压缩纹理数据上传至区块链,以防止目标压缩纹理数据被篡改。其中,区块链由多个区块组成,如图3c所示;创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。基于此,将目标压缩纹理数据上传至区块链中的具体实施方式可以是:
若计算机设备位于区块链网络内,则先可将目标压缩纹理数据添加至目标区块的区块主体中,并对区块主体中的目标纹理数据进行哈希运算,得到默克尔哈希值。其次,可采用随机算法生成一个随机数,并采用计算得到的默克尔哈希值、随机数、版本号、上一区块哈希值、当前时间戳以及当前难度值组成目标区块的区块头部,如图3d所示。其中,版本号是指区块链中相关区块协议的版本信息;上一区块哈希值是指上一区块的区块头部的特征值;当前时间戳是指组成区块头部时的系统时间;当前难度值是指计算的难度值,该难度值在固定时间段内为定值,并在超出固定时间段后再次进行确定。然后,可采用特征值算法(如SHA256算法)对区块头部所包含的内容进行一次或多次哈希运算,得到目标区块的区块头部的特征值;此处的哈希运算的次数可根据计算难度确定,计算难度越大,哈希运算的次数越多。在基于上述步骤得到目标区块后,可将该目标区块广播给区块链网络中的各个共识节点进行共识处理;在通过共识处理后,将目标区块添加至区块链上。应理解的是,若计算机设备未位于区块链网络内,则可将目标纹理数据发送给区块链网络中的任一共识节点,由该任一共识节点执行上述步骤,以将该目标压缩纹理数据存储至区块链中。
可选的,计算机设备还可采用云技术对目标压缩纹理数据进行云存储处理。其中,云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。相应的,云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。
本申请实施例在获取到目标图像的源压缩纹理数据后,可基于与显卡适配的目标压缩纹理格式对应的目标压缩块尺寸,对源压缩纹理数据进行解码对齐处理,得到多个图像纹理数据。通过解码对齐处理,可使得每个图像纹理数据的数据尺寸均等于目标压缩块尺寸的整数倍;这样可便于采用目标压缩纹理格式以及目标压缩块尺寸,将每个图像纹理数据转码成一个或多个转码压缩纹理块进行存储,从而有效节省显存占用,提升显卡的运行性能。并且,在需显示目标图像时,通过调用显卡根据包括各个转码压缩纹理块的目标压缩纹理数据,渲染显示目标图像;这样的处理方式使得从存储空间中加载的数据为目标压缩纹理数据,相较于加载解码数据而言,目标压缩纹理数据的数据量更小,因此还可避免数据加载时总线带宽占用过大的问题。进一步的,由于每个转码压缩纹理块的数据格式均为与显卡适配的目标压缩纹理格式,因此还可使得在调用显卡根据包括各个转码压缩纹理块的目标压缩纹理数据,渲染显示目标图像时,有效提升图像渲染效率,从而提升图像显示的及时性。
基于上述图2所示的方法实施例的相关描述,为了便于执行上述图2所示的流程以及转码得到的各个转码压缩纹理块的缓存便利性;本申请实施例还在与显卡着色器相连接的输出显卡着色器缓存块中增加了,用于缓存目标压缩纹理格式的转码压缩纹理块的存储空间;以及,在输入显卡着色器缓存块中增加了如下内容:
a、转码控制参数,该转码控制参数主要用于指示:在解码对齐得到多个图像纹理数据后,显卡着色器中的各个工作组是否将每个图像纹理数据继续转码成目标压缩纹理格式的转码压缩纹理块;
b、目标压缩纹理格式的格式参数,例如:目标压缩纹理格式对应的目标压缩块尺寸,每行数据的对齐尺寸,等等。
c、数据对齐因子,以兼容非对齐的源压缩纹理数据;该数据对齐因子主要指示:解码得到一个图像纹理数据所需的源压缩纹理块的数量。需说明的是,若采用先数据对齐再数据解码的方式,则该输入显卡着色器缓存块中包括该数据对齐因子;若采用先数据解码再数据对齐的方式,则该输入显卡着色器缓存块中可不包括该数据对齐因子。
基于此,图4a示例性的示出了在计算机设备中执行上述图2所示的图像处理方法的大致流程。参见图4a所示,可先对计算机设备中的解码管线进行初始化,并加载着色器解码文件(shader解码文件),该着色器解码文件中不仅包括用于实现对不同压缩纹理格式下的压缩纹理数据进行解码的多条算法指令,还添加了将纹理格式转码成目标压缩纹理格式的转码算法。在成功加载着色器解码文件后,可将该着色器解码文件传输至计算机设备的显卡着色器中;然后,可采用以下任一种处理方式得到目标压缩纹理格式的目标压缩纹理数据:
第一种处理方式,参见图4b所示:首先,可通过输入显卡着色器缓存块将源压缩纹理数据的相关解码参数和目标图像的源压缩纹理数据,输入至计算机设备中的显卡着色器;其中,源压缩纹理数据的相关解码参数可用于指示:目标图像所采用的源压缩纹理格式。然后,显卡着色器可根据该相关解码参数将源压缩纹理数据解码成纹理格式的解码纹理数据;具体的,显卡着色器可为源压缩纹理数据中的各个源压缩纹理块分配一个用于解码的目标工作组,并将每个源压缩纹理块派发给对应的目标工作组,由各个目标工作组并行地根据该相关解码参数对相应的压缩纹理块进行解码处理,以得到目标图像的解码纹理数据。任一目标工作组根据该相关解码参数对相应的压缩纹理块进行解码处理的方式为:先根据相关解码参数从着色器解码文件中获取用于解码源压缩纹理块的算法指令,并采用获取到的算法指令对相应的源压缩纹理块进行解码处理,得到该相应的源压缩纹理块所对应的解码数据。
举例来说,着色器解码文件中可包括:用于实现对ASTC格式下的压缩纹理数据进行解码的第一算法指令,用于实现对ETC格式下的压缩纹理数据进行解码的第二算法指令,等等。若目标图像的源压缩纹理数据的相关解码参数用于指示:目标图像所采用的源压缩纹理格式为ASTC格式,则可根据该相关解码参数从着色器文件中获取第一算法指令,并采用该第一算法指令对相应的源压缩纹理块进行解码处理。若目标图像的源压缩纹理数据的相关解码参数用于指示:目标图像所采用的源压缩纹理格式为ETC格式,则可根据该相关解码参数从着色器文件中获取第二算法指令,并采用该第二算法指令对相应的源压缩纹理块进行解码处理。
任一目标工作组得到解码数据后,可将解码数据缓存至与显卡着色器相连接的输出着色器缓存块中;待各个源压缩纹理块对应的解码数据均被缓存至该输出着色器缓存块中后,可得到目标图像的解码纹理数据,该解码纹理数据可包括各个源压缩纹理块对应的解码数据。在得到解码纹理数据后,计算机设备可按照目标压缩块尺寸,将解码纹理数据对齐成多个图像纹理数据;然后,再次通过输入显卡着色器缓存块将对齐得到的多个图像纹理数据,输入至计算机设备中的显卡着色器,使得显卡着色器分别将每个图像纹理数据转码成一个或多个目标压缩纹理格式的转码压缩纹理块,具体转码方式可参见上述方法实施例中的步骤S204的相关描述,在此不再赘述。进一步的,在得到任一转码压缩纹理块后,显卡着色器可在存储空间中计算该任一转码压缩纹理块对应的着色器缓存块偏移地址,然后将该任一转码压缩纹理块缓存至计算得到的着色器缓存块偏移地址所指示的缓存位置;在所有的转码压缩纹理块均被缓存至存储空间后,可得到目标压缩纹理数据。
第二种处理方式,参见图4c所示:计算机设备可先根据目标压缩块尺寸和所述源压缩块尺寸,计算数据对齐因子;然后,可通过输入显卡着色器缓存块将数据对齐因子和目标图像的源压缩纹理数据,输入至计算机设备中的显卡着色器,使显卡着色器根据该数据对齐因子对源压缩纹理数据进行解码和转码处理,以得到目标压缩纹理数据。具体的,显卡着色器可先按照该数据对齐因子,将多个源压缩纹理块划分成多个纹理块组,一个纹理块组包括数据对齐因子指示的数量个源压缩纹理块;然后,在显卡着色器中为每个纹理块组分别分配一个处理工作组,并将每个纹理块组派发给对应的处理工作组,由各个处理工作组并行地将相应的纹理块组解码成图像纹理数据,再对相应的图像纹理数据进行转码处理,得到转码压缩纹理块。进一步的,在得到任一转码压缩纹理块后,显卡着色器可在存储空间中计算该任一转码压缩纹理块对应的着色器缓存块偏移地址,然后将该任一转码压缩纹理块缓存至计算得到的着色器缓存块偏移地址所指示的缓存位置;在所有的转码压缩纹理块均被缓存至存储空间后,可得到目标压缩纹理数据。
基于上述描述,需要说明的是:若显卡着色器在解码过程或转码过程中,存在解码失败或转码失败的情况,则显卡着色器还可通过输出着色器缓存块输出转码处理过程中所涉及的错误数据,以使相关技术人员及时根据该错误数据分析解码失败或转码失败的原因。
需要说明的是,本申请实施例上述所提及的图像处理方法可被运用到各种需进行图像显示的应用场景中,如云游戏场景、普通游戏场景、视频播放场景,等等。其中,在将图像处理方法运用到云游戏场景时,上述所提及的计算机设备可以是运行云游戏的云游戏服务器。参见图5a所示,云游戏服务器中可包括:设备硬件层、虚拟化层(Hypervisor)以及一个或多个容器,等等。其中,设备硬件层可包括但不限于:CPU(中央处理器)、显卡、网络通信模块以及用于存储的本地空间等;显卡中可包括但不限于:显卡着色器、解码管线以及渲染管线,且该显卡着色器按照解码管线规定的流程进行工作。虚拟化层主要用于以软件的方式,实现一套和物理主机环境完全一样的虚拟环境;云游戏服务器可通过该虚拟化层部署并运行一个或多个容器,所谓的容器是指操作系统级虚拟化的一种类型,其可用于承载操作系统。每个容器可与一个或多个游戏客户端相连接,且每个容器可用于运行一个或多个云游戏;每个容器在运行任一云游戏的过程中,可传输任一云游戏的游戏画面至相连接的游戏客户端中进行显示。
下面以在云游戏场景中运用该图像处理方法为例,本申请实施例进一步提出了图5b所示的图像处理方法;参见图5b所示,该图像处理方法可包括以下步骤S501-S509:
S501,渲染管线从计算机设备的本地空间中,加载目标图像的源压缩纹理数据;其中,目标图像可以是目标云游戏中的任一游戏画面。
S502,渲染管线检测解码管线关于目标压缩纹理格式的转码能力。
具体的,可预先为计算机设备配置一个转码功能,该转码功能包括两个状态:功能开启状态和功能关闭状态;功能开启状态用于指示解码管线具有转码能力,功能关闭状态用于指示解码管线不具有转码能力。基于此,渲染关系在检测解码管线关于目标压缩纹理格式的转码能力时,可获取该转码功能的当前功能状态;若当前功能状态为功能开启状态,则可确定检测到解码管线具有转码能力;若当前功能状态为功能关闭状态,则可确定未检测到解码管线具有转码能力。
S503,若检测到解码管线具有转码能力,则渲染管线根据目标压缩块尺寸和源压缩块尺寸,计算数据对齐因子。
S504,在计算得到数据对齐因子后,渲染管线将数据对齐因子以及源压缩纹理数据,派发给解码管线。
S505,解码管线在成功接收到数据对齐因子以及源压缩纹理数据后,向显卡着色器发送解码通知,以通知显卡着色器执行步骤S506,并在执行步骤S506后,继续执行步骤S507-S508。
S506,显卡着色器按照数据对齐因子,将多个源压缩纹理块划分成多个纹理块组。
S507,显卡着色器分别对各个纹理块组进行解码处理,得到多个图像纹理数据。
S508,显卡着色器采用目标压缩纹理格式以及目标压缩块尺寸,对每个图像纹理数据进行转码处理,得到目标图像的目标压缩纹理数据。
S509,在需显示目标图像时,渲染管线根据目标压缩纹理数据,渲染显示目标图像。
需要说明的是,步骤S503-S509所涉及的各个步骤的具体实施方式可参见上述图2所示的方法实施例的相关描述,在此不再赘述。例如,渲染管线根据目标压缩块尺寸和源压缩块尺寸,计算数据对齐因子的实施方式可参见上述步骤S203的相关描述;又如,显卡着色器按照数据对齐因子,将多个源压缩纹理块划分成多个纹理块组的具体实施方式,以及分别对各个纹理块组进行解码处理,得到多个图像纹理数据的的具体实施方式,均可参见上述步骤S203的相关描述,等等。
可选的,如果计算机设备具有显卡解码模式,该显卡解码模式是指通过显卡着色器进行解码处理的模式;那么,渲染管线在步骤S502的过程中,若检测到解码管线不具有转码能力,则渲染管线可进一步检测显卡解码模式所处的模式状态,模式状态包括模式开启状态或模式关闭状态。当模式状态为模式开启状态时,渲染管线将源压缩纹理数据派发给解码管线;解码管线通知显卡着色器对源压缩纹理数据进行解码处理,得到目标图像的解码纹理数据。在此情况下,在需显示目标图像时,渲染管线可根据解码纹理数据,渲染显示目标图像。当模式状态为模式关闭状态时,渲染管线可调用显卡驱动中央处理器对源压缩纹理数据进行解码处理,并将解码得到的解码纹理数据转码成目标压缩纹理数据;在此情况下,在需显示目标图像时,渲染管线根据目标压缩纹理数据,渲染显示目标图像。
还需要说明的是,虽然本申请实施例是以目标图像为目标云游戏中的任一游戏画面为例进行说明的,但在其他实施例中,当目标图像为其他图像(如普通游戏的游戏画面、任一影视剧的视频图像、任一用户的自拍图像、任一景点的风景图像,等等)时,仍适用于图5b所示的图像处理方法。
本申请实施例利用云游服务器中的显卡(例如AMD 5100和NVIDA T4)的强大浮点运算和并行计算能力,可实现快速将目标云游戏中的任一游戏画面的源压缩纹理数据转码为云游服务器中的显卡所支持的目标压缩纹理格式的目标压缩纹理数据,从而解决显存占用过高的问题以及纹理加载时总线带宽占用过大的问题,从而提升云游戏服务器的显存利用率,以及解决云游服务器因显存占用过高造成云游并发实例受限的问题,提高云游服务器显存利用率和降低运营成本。
为了进一步证明本申请实施例所提出的图像处理方法的有益效果,本申请实施例在云游戏场景下,分别对背景技术所提及的图像处理方式(简称方案1)以及本申请实施例所提出的图像处理方法(简称方案2)进行了测试对比:
首先,分别采用方案1和方案2,对不同大小的ETC2格式的源压缩纹理数据,以及ASTC格式的源压缩纹理数据进行处理;并统计了云游戏服务器的显卡中的GPU在不同情况下所涉及的GPU占用时间,统计结果可具体请参见下述表1所示:
表1
Figure 15087DEST_PATH_IMAGE001
基于上述表1所示的统计结果可知,相对于方案1而言,本申请所提及的方案2在显卡着色器的并发处理下,并不会对云游戏服务器中的显卡上的GPU造成明显的性能影响。
其次,本申请实施例针对同一款目标云游戏,采用了两组测试配置参数,对该目标云游戏分别使用现有的方案1和本申请的方案2后的显存占用情况进行了统计。其中,采用的两组测试配置参数分别是:①1080×720,高清(帧率节能,分辨率节能,画质高清);②1080×720,标清(帧率节能,分辨率节能,画质标清);在这两组测试配置参数下,方案1和方案2所涉及的统计结果可具体参见下述表2所示:
表2
Figure 135490DEST_PATH_IMAGE002
基于上述表2所示的统计结果可知,相对于方案1而言,本申请所提及的方案2在标清画质的情况下,可减少32.3%((501-339)/501×100%=32.3%)的显存开销;在高清画质的情况下,可减少51.8%((951-458)/951×100%=51.8%)的显存开销。
另外,本申请实施例进一步在目标云游戏的5V5(5个用户对战5个用户)的游戏对战场景中,采用了上述两组测试配置参数,对该目标云游戏分别使用现有的方案1和本申请的方案2后的显存占用情况进行了统计,统计结果可具体参见下述表3所示:
表3
Figure 384069DEST_PATH_IMAGE003
基于上述表2所示的统计结果可知,在5V5的游戏对战场景中,相对于方案1而言,本申请所提及的方案2在标清画质的情况下,可减少37.1%((566-356)/566×100%=37.1%)的显存开销;在高清画质的情况下,可减少50.1%((1006-501)/1006×100%=50.1%)的显存开销。
综上可知,相较于方案1而言,本申请所提及的方案2可有效节省显存开销,明显减少显存的占用问题,在保证游戏的流畅性的同时提高服务器的显存利用率,从而提高整体云游戏服务器的游戏并发数;如单卡显存为10G的云游戏服务器为例,方案1在高清画质下使得目标云游戏因显存影响,使得游戏并发路数只能限制在10路;但采用本申请提出的方案2,则可由于显存开销的节省,使得游戏并发数可提升至20路。
基于上述图像处理方法实施例的描述,本申请实施例还公开了一种图像处理装置,所述图像处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码)。该图像处理装置可以执行图2或图5b所示的方法。请参见图6,所述图像处理装置可以运行如下单元:
获取单元601,用于获取目标图像的源压缩纹理数据,所述源压缩纹理数据是采用源压缩纹理格式对所述目标图像进行编码得到的;
处理单元602,用于若所述源压缩纹理格式与显卡不兼容,则确定与所述显卡适配的目标压缩纹理格式,以及所述目标压缩纹理格式对应的目标压缩块尺寸;
所述处理单元602,还用于基于所述目标压缩块尺寸对所述源压缩纹理数据进行解码对齐处理,得到多个图像纹理数据,每个图像纹理数据的数据尺寸等于所述目标压缩块尺寸的整数倍;
所述处理单元602,还用于采用所述目标压缩纹理格式以及所述目标压缩块尺寸,对每个图像纹理数据进行转码处理,得到所述目标图像的目标压缩纹理数据,所述目标压缩纹理数据包括:每个图像纹理数据对应的一个或多个转码压缩纹理块;
所述处理单元602,还用于在需显示所述目标图像时,调用所述显卡根据所述目标压缩纹理数据,渲染显示所述目标图像。
在一种实施方式中,所述目标压缩块尺寸为X×Y,所述X×Y表示将X行Y列个像素压缩成一个块,X和Y为大于1 的整数;相应的,处理单元602在用于基于所述目标压缩块尺寸对所述源压缩纹理数据进行解码对齐处理,得到多个图像纹理数据时,可具体用于:
对所述源压缩纹理数据进行解码处理,得到所述目标图像的解码纹理数据,所述解码纹理数据包括P行Q列个像素,P和Q为大于1的整数;
按照所述目标压缩块尺寸,将所述P行Q列个像素对齐成多组像素;每组像素均包括X行Y列个像素,且一组像素为一个图像纹理数据。
另一种实施方式中,处理单元602在用于按照所述目标压缩块尺寸,将P行Q列个像素对齐成多组像素时,可具体用于:
以每X行为一个单位,基于所述P行像素中未被执行对齐处理的剩余行像素,确定当前待对齐的X行像素;
按照每Y列对齐一次的对齐频率,对所述当前待对齐的X行像素进行对齐处理,得到N组像素;N为正整数,且一组像素包括X行Y列个像素;
若在对所述当前待对齐的X行像素进行对齐处理后,所述当前待对齐的X行像素中剩余了K列像素,1≤K<Y,则采用Y-K列无效像素将所述K列像素对齐成一组像素。
另一种实施方式中,处理单元602在用于以每X行为一个单位,基于所述P行像素中未被执行对齐处理的剩余行像素,确定当前待对齐的X行像素时,可具体用于:
若所述P行像素中未被执行对齐处理的剩余行像素的行数大于或等于X,则按照从上至下的选取顺序,从所述剩余行像素中选取当前待对齐的X行像素;
若所述P行像素中未被执行对齐处理的剩余行像素的行数小于X,则采用J行无效像素将所述剩余行像素补齐成X行像素,并将补齐得到的X行像素确定当前待对齐的X行像素,J的取值等于X和剩余行像素的行数之间的差值。
另一种实施方式中,处理单元602在用于采用所述目标压缩纹理格式以及所述目标压缩块尺寸,对每个图像纹理数据进行转码处理,得到所述目标图像的目标压缩纹理数据时,可具体用于:
在显卡着色器中为所述多个图像纹理数据分配用于转码的多个转码工作组,一个转码工作组被分配一个或多个图像纹理数据;以及,将每个图像纹理数据派发给对应的转码工作组;
并行地调用各个转码工作组,根据所述目标压缩纹理格式以及所述目标压缩块尺寸,对相应的图像纹理数据进行转码处理,以得到所述目标图像的目标压缩纹理数据。
另一种实施方式中,所述源压缩纹理数据包括多个源压缩纹理块,且每个源压缩纹理块的尺寸均为所述源压缩纹理格式对应的源压缩块尺寸;相应的,处理单元602在用于基于所述目标压缩块尺寸对所述源压缩纹理数据进行解码对齐处理,得到多个图像纹理数据时,可具体用于:
根据所述目标压缩块尺寸和所述源压缩块尺寸,计算数据对齐因子,所述数据对齐因子指示:解码得到一个图像纹理数据所需的源压缩纹理块的数量;
按照所述数据对齐因子,将所述多个源压缩纹理块划分成多个纹理块组,一个纹理块组包括所述数据对齐因子指示的数量个源压缩纹理块;
分别对各个纹理块组进行解码处理,得到多个图像纹理数据,一个纹理块组对应一个图像纹理数据。
另一种实施方式中,所述源压缩块尺寸为A×B,所述A×B表示将A行B列个像素压缩成一个块;所述目标压缩块尺寸为X×Y,所述X×Y表示将X行Y列个像素压缩成一个块;其中,A、B、X和Y均为大于1 的整数;相应的,处理单元602在用于根据所述目标压缩块尺寸和所述源压缩块尺寸,计算数据对齐因子时,可具体用于:
求取A和X之间的最小公倍数,作为第一最小公倍数;并将所述第一最小公倍数和A之间的比值,确定为行对齐因子;
求取B和Y之间的最小公倍数,作为第二最小公倍数;并将所述第二最小公倍数和B之间的比值,确定为列对齐因子;
对所述行对齐因子和所述列对齐因子进行乘法运算,得到数据对齐因子。
另一种实施方式中,处理单元602在用于根据所述目标压缩块尺寸和所述源压缩块尺寸,计算数据对齐因子时,还可具体用于:
若所述目标压缩块尺寸等于所述源压缩块尺寸,则将单位数值确定为所述数据对齐因子;
若所述目标压缩块尺寸不等于所述源压缩块尺寸,则执行求取A和X之间的最小公倍数,作为第一最小公倍数的步骤。
另一种实施方式中,处理单元602在用于分别对各个纹理块组进行解码处理,得到多个图像纹理数据时,可具体用于:
在显卡着色器中为每个纹理块组分别分配一个处理工作组,每个处理工作组均至少具有解码能力;
将每个纹理块组派发给对应的处理工作组;
并行地调用各个处理工作组,对相应的纹理块组中的各个源压缩纹理块进行解码处理,得到多个图像纹理数据。
另一种实施方式中,所述每个处理工作组还具有转码能力;相应的,处理单元602在用于采用所述目标压缩纹理格式以及所述目标压缩块尺寸,对每个图像纹理数据进行转码处理,得到所述目标图像的目标压缩纹理数据时,可具体用于:
在任一处理工作组解码得到一个图像纹理数据后,继续调用所述任一处理工作组,采用所述目标压缩纹理格式以及所述目标压缩块尺寸,对相应的图像纹理数据进行转码处理。
另一种实施方式中,所述显卡设置于计算机设备中,所述计算机设备还包括渲染管线和解码管线;其中,所述显卡中的显卡着色器按照所述解码管线规定的流程进行工作;相应的,获取单元601在用于获取目标图像的源压缩纹理数据时,可具体用于:通过所述渲染管线从所述计算机设备的本地空间中,加载目标图像的源压缩纹理数据;
相应的,处理单元602还可用于:
通过所述渲染管线检测所述解码管线关于所述目标压缩纹理格式的转码能力;
若检测到所述解码管线具有所述转码能力,则通过所述渲染管线执行根据所述目标压缩块尺寸和所述源压缩块尺寸,计算数据对齐因子的步骤;
在计算得到所述数据对齐因子后,通过所述渲染管线将所述数据对齐因子以及所述源压缩纹理数据,派发给所述解码管线;
通过所述解码管线在成功接收到所述数据对齐因子以及所述源压缩纹理数据后,向所述显卡着色器发送解码通知,以通知所述显卡着色器执行所述按照所述数据对齐因子,将所述多个源压缩纹理块划分成多个纹理块组的步骤。
另一种实施方式中,所述计算机设备具有显卡解码模式,所述显卡解码模式是指通过所述显卡着色器进行解码处理的模式;相应的,处理单元602还可用于:
若检测到所述解码管线不具有所述转码能力,则通过所述渲染管线检测所述显卡解码模式所处的模式状态,所述模式状态包括模式开启状态或模式关闭状态;
当所述模式状态为所述模式开启状态时,通过所述渲染管线将所述源压缩纹理数据派发给所述解码管线;
通过所述解码管线通知所述显卡着色器对所述源压缩纹理数据进行解码处理,得到所述目标图像的解码纹理数据;
在需显示所述目标图像时,通过所述渲染管线根据所述解码纹理数据,渲染显示所述目标图像。
另一种实施方式中,处理单元602还可用于:
当所述模式状态为所述模式关闭状态时,通过所述渲染管线调用显卡驱动中央处理器对所述源压缩纹理数据进行解码处理,并将解码得到的解码纹理数据转码成目标压缩纹理数据;
在需显示所述目标图像时,通过所述渲染管线根据所述目标压缩纹理数据,渲染显示所述目标图像。
根据本申请的另一个实施例,图6所示的图像处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,基于图像处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图2或图5b中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图6中所示的图像处理装置设备,以及来实现本申请实施例的图像处理方法。所述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
本申请实施例在获取到目标图像的源压缩纹理数据后,可基于与显卡适配的目标压缩纹理格式对应的目标压缩块尺寸,对源压缩纹理数据进行解码对齐处理,得到多个图像纹理数据。通过解码对齐处理,可使得每个图像纹理数据的数据尺寸均等于目标压缩块尺寸的整数倍;这样可便于采用目标压缩纹理格式以及目标压缩块尺寸,将每个图像纹理数据转码成一个或多个转码压缩纹理块进行存储,从而有效节省显存占用,提升显卡的运行性能。并且,在需显示目标图像时,通过调用显卡根据包括各个转码压缩纹理块的目标压缩纹理数据,渲染显示目标图像;这样的处理方式使得从存储空间中加载的数据为目标压缩纹理数据,相较于加载解码数据而言,目标压缩纹理数据的数据量更小,因此还可避免数据加载时总线带宽占用过大的问题。进一步的,由于每个转码压缩纹理块的数据格式均为与显卡适配的目标压缩纹理格式,因此还可使得在调用显卡根据包括各个转码压缩纹理块的目标压缩纹理数据,渲染显示目标图像时,有效提升图像渲染效率,从而提升图像显示的及时性。
基于上述方法实施例以及装置实施例的描述,本申请实施例还提供一种计算机设备。请参见图7,该计算机设备至少包括显卡701、输入接口702、输出接口703以及计算机存储介质704;且该计算机设备内的显卡701、输入接口702、输出接口703以及计算机存储介质704可通过总线或其他方式连接。其中,显卡701中可进一步包括图形处理器7011、显卡着色器7012、解码管线7013以及渲染管线7014。计算机存储介质704可以存储在计算机设备的存储器中,所述计算机存储介质704用于存储计算机程序,所述计算机程序包括程序指令,所述处理器701用于执行所述计算机存储介质704存储的程序指令。进一步的,计算机设备还可包括中央处理器705(Central Processing Unit,CPU)),该中央处理器705是计算机设备的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行一条或多条指令从而实现相应方法流程或相应功能。
在一个实施例中,本申请实施例所述的显卡701可用于进行一系列的图像处理,具体包括:获取目标图像的源压缩纹理数据,所述源压缩纹理数据是采用源压缩纹理格式对所述目标图像进行编码得到的;若所述源压缩纹理格式与显卡不兼容,则确定与所述显卡适配的目标压缩纹理格式,以及所述目标压缩纹理格式对应的目标压缩块尺寸;基于所述目标压缩块尺寸对所述源压缩纹理数据进行解码对齐处理,得到多个图像纹理数据,每个图像纹理数据的数据尺寸等于所述目标压缩块尺寸的整数倍;采用所述目标压缩纹理格式以及所述目标压缩块尺寸,对每个图像纹理数据进行转码处理,得到所述目标图像的目标压缩纹理数据,所述目标压缩纹理数据包括:每个图像纹理数据对应的一个或多个转码压缩纹理块;在需显示所述目标图像时,调用所述显卡根据所述目标压缩纹理数据,渲染显示所述目标图像,等等。
本申请实施例还提供了一种计算机存储介质(Memory),所述计算机存储介质是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括计算机设备中的内置存储介质,当然也可以包括计算机设备所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了计算机设备的操作系统。并且,在该存储空间中还存放了适于被显卡701加载并执行的一条或多条的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的,还可以是至少一个位于远离前述处理器的计算机存储介质。
在一个实施例中,可由显卡701加载并执行计算机存储介质中存放的一条或多条指令,以实现上述有关图2或图5b所示的图像处理方法实施例中的方法的相应步骤;具体实现中,计算机存储介质中的一条或多条指令由显卡701加载并执行如下步骤:
获取目标图像的源压缩纹理数据,所述源压缩纹理数据是采用源压缩纹理格式对所述目标图像进行编码得到的;
若所述源压缩纹理格式与显卡不兼容,则确定与所述显卡适配的目标压缩纹理格式,以及所述目标压缩纹理格式对应的目标压缩块尺寸;
基于所述目标压缩块尺寸对所述源压缩纹理数据进行解码对齐处理,得到多个图像纹理数据,每个图像纹理数据的数据尺寸等于所述目标压缩块尺寸的整数倍;
采用所述目标压缩纹理格式以及所述目标压缩块尺寸,对每个图像纹理数据进行转码处理,得到所述目标图像的目标压缩纹理数据,所述目标压缩纹理数据包括:每个图像纹理数据对应的一个或多个转码压缩纹理块;
在需显示所述目标图像时,调用所述显卡根据所述目标压缩纹理数据,渲染显示所述目标图像。
在一种实施方式中,所述目标压缩块尺寸为X×Y,所述X×Y表示将X行Y列个像素压缩成一个块,X和Y为大于1 的整数;相应的,在基于所述目标压缩块尺寸对所述源压缩纹理数据进行解码对齐处理,得到多个图像纹理数据时,所述一条或多条指令由显卡701加载并执行:
对所述源压缩纹理数据进行解码处理,得到所述目标图像的解码纹理数据,所述解码纹理数据包括P行Q列个像素,P和Q为大于1的整数;
按照所述目标压缩块尺寸,将所述P行Q列个像素对齐成多组像素;每组像素均包括X行Y列个像素,且一组像素为一个图像纹理数据。
另一种实施方式中,在按照所述目标压缩块尺寸,将P行Q列个像素对齐成多组像素时,所述一条或多条指令由显卡701加载并执行:
以每X行为一个单位,基于所述P行像素中未被执行对齐处理的剩余行像素,确定当前待对齐的X行像素;
按照每Y列对齐一次的对齐频率,对所述当前待对齐的X行像素进行对齐处理,得到N组像素;N为正整数,且一组像素包括X行Y列个像素;
若在对所述当前待对齐的X行像素进行对齐处理后,所述当前待对齐的X行像素中剩余了K列像素,1≤K<Y,则采用Y-K列无效像素将所述K列像素对齐成一组像素。
另一种实施方式中,在以每X行为一个单位,基于所述P行像素中未被执行对齐处理的剩余行像素,确定当前待对齐的X行像素时,所述一条或多条指令由显卡701加载并执行:
若所述P行像素中未被执行对齐处理的剩余行像素的行数大于或等于X,则按照从上至下的选取顺序,从所述剩余行像素中选取当前待对齐的X行像素;
若所述P行像素中未被执行对齐处理的剩余行像素的行数小于X,则采用J行无效像素将所述剩余行像素补齐成X行像素,并将补齐得到的X行像素确定当前待对齐的X行像素,J的取值等于X和剩余行像素的行数之间的差值。
另一种实施方式中,在采用所述目标压缩纹理格式以及所述目标压缩块尺寸,对每个图像纹理数据进行转码处理,得到所述目标图像的目标压缩纹理数据时,所述一条或多条指令由显卡701加载并执行:
在显卡着色器中为所述多个图像纹理数据分配用于转码的多个转码工作组,一个转码工作组被分配一个或多个图像纹理数据;以及,将每个图像纹理数据派发给对应的转码工作组;
并行地调用各个转码工作组,根据所述目标压缩纹理格式以及所述目标压缩块尺寸,对相应的图像纹理数据进行转码处理,以得到所述目标图像的目标压缩纹理数据。
另一种实施方式中,所述源压缩纹理数据包括多个源压缩纹理块,且每个源压缩纹理块的尺寸均为所述源压缩纹理格式对应的源压缩块尺寸;相应的,在基于所述目标压缩块尺寸对所述源压缩纹理数据进行解码对齐处理,得到多个图像纹理数据时,所述一条或多条指令由显卡701加载并执行:
根据所述目标压缩块尺寸和所述源压缩块尺寸,计算数据对齐因子,所述数据对齐因子指示:解码得到一个图像纹理数据所需的源压缩纹理块的数量;
按照所述数据对齐因子,将所述多个源压缩纹理块划分成多个纹理块组,一个纹理块组包括所述数据对齐因子指示的数量个源压缩纹理块;
分别对各个纹理块组进行解码处理,得到多个图像纹理数据,一个纹理块组对应一个图像纹理数据。
另一种实施方式中,所述源压缩块尺寸为A×B,所述A×B表示将A行B列个像素压缩成一个块;所述目标压缩块尺寸为X×Y,所述X×Y表示将X行Y列个像素压缩成一个块;其中,A、B、X和Y均为大于1 的整数;相应的,在根据所述目标压缩块尺寸和所述源压缩块尺寸,计算数据对齐因子时,所述一条或多条指令由显卡701加载并执行:
求取A和X之间的最小公倍数,作为第一最小公倍数;并将所述第一最小公倍数和A之间的比值,确定为行对齐因子;
求取B和Y之间的最小公倍数,作为第二最小公倍数;并将所述第二最小公倍数和B之间的比值,确定为列对齐因子;
对所述行对齐因子和所述列对齐因子进行乘法运算,得到数据对齐因子。
另一种实施方式中,在根据所述目标压缩块尺寸和所述源压缩块尺寸,计算数据对齐因子时,所述一条或多条指令还可由显卡701加载并执行:
若所述目标压缩块尺寸等于所述源压缩块尺寸,则将单位数值确定为所述数据对齐因子;
若所述目标压缩块尺寸不等于所述源压缩块尺寸,则执行求取A和X之间的最小公倍数,作为第一最小公倍数的步骤。
另一种实施方式中,在分别对各个纹理块组进行解码处理,得到多个图像纹理数据时,所述一条或多条指令由显卡701加载并执行:
在显卡着色器中为每个纹理块组分别分配一个处理工作组,每个处理工作组均至少具有解码能力;
将每个纹理块组派发给对应的处理工作组;
并行地调用各个处理工作组,对相应的纹理块组中的各个源压缩纹理块进行解码处理,得到多个图像纹理数据。
另一种实施方式中,所述每个处理工作组还具有转码能力;相应的,在采用所述目标压缩纹理格式以及所述目标压缩块尺寸,对每个图像纹理数据进行转码处理,得到所述目标图像的目标压缩纹理数据时,所述一条或多条指令由显卡701加载并执行:
在任一处理工作组解码得到一个图像纹理数据后,继续调用所述任一处理工作组,采用所述目标压缩纹理格式以及所述目标压缩块尺寸,对相应的图像纹理数据进行转码处理。
另一种实施方式中,所述显卡设置于计算机设备中,所述计算机设备还包括渲染管线和解码管线;其中,所述显卡中的显卡着色器按照所述解码管线规定的流程进行工作;相应的,在获取目标图像的源压缩纹理数据时,所述一条或多条指令由显卡701加载并执行:通过所述渲染管线从所述计算机设备的本地空间中,加载目标图像的源压缩纹理数据;
相应的,所述一条或多条指令还可由显卡701加载并执行:
通过所述渲染管线检测所述解码管线关于所述目标压缩纹理格式的转码能力;
若检测到所述解码管线具有所述转码能力,则通过所述渲染管线执行根据所述目标压缩块尺寸和所述源压缩块尺寸,计算数据对齐因子的步骤;
在计算得到所述数据对齐因子后,通过所述渲染管线将所述数据对齐因子以及所述源压缩纹理数据,派发给所述解码管线;
通过所述解码管线在成功接收到所述数据对齐因子以及所述源压缩纹理数据后,向所述显卡着色器发送解码通知,以通知所述显卡着色器执行所述按照所述数据对齐因子,将所述多个源压缩纹理块划分成多个纹理块组的步骤。
另一种实施方式中,所述计算机设备具有显卡解码模式,所述显卡解码模式是指通过所述显卡着色器进行解码处理的模式;相应的,所述一条或多条指令还可由显卡701加载并执行:
若检测到所述解码管线不具有所述转码能力,则通过所述渲染管线检测所述显卡解码模式所处的模式状态,所述模式状态包括模式开启状态或模式关闭状态;
当所述模式状态为所述模式开启状态时,通过所述渲染管线将所述源压缩纹理数据派发给所述解码管线;
通过所述解码管线通知所述显卡着色器对所述源压缩纹理数据进行解码处理,得到所述目标图像的解码纹理数据;
在需显示所述目标图像时,通过所述渲染管线根据所述解码纹理数据,渲染显示所述目标图像。
另一种实施方式中,所述一条或多条指令还可由显卡701加载并执行:
当所述模式状态为所述模式关闭状态时,通过所述渲染管线调用显卡驱动中央处理器对所述源压缩纹理数据进行解码处理,并将解码得到的解码纹理数据转码成目标压缩纹理数据;
在需显示所述目标图像时,通过所述渲染管线根据所述目标压缩纹理数据,渲染显示所述目标图像。
本申请实施例在获取到目标图像的源压缩纹理数据后,可基于与显卡适配的目标压缩纹理格式对应的目标压缩块尺寸,对源压缩纹理数据进行解码对齐处理,得到多个图像纹理数据。通过解码对齐处理,可使得每个图像纹理数据的数据尺寸均等于目标压缩块尺寸的整数倍;这样可便于采用目标压缩纹理格式以及目标压缩块尺寸,将每个图像纹理数据转码成一个或多个转码压缩纹理块进行存储,从而有效节省显存占用,提升显卡的运行性能。并且,在需显示目标图像时,通过调用显卡根据包括各个转码压缩纹理块的目标压缩纹理数据,渲染显示目标图像;这样的处理方式使得从存储空间中加载的数据为目标压缩纹理数据,相较于加载解码数据而言,目标压缩纹理数据的数据量更小,因此还可避免数据加载时总线带宽占用过大的问题。进一步的,由于每个转码压缩纹理块的数据格式均为与显卡适配的目标压缩纹理格式,因此还可使得在调用显卡根据包括各个转码压缩纹理块的目标压缩纹理数据,渲染显示目标图像时,有效提升图像渲染效率,从而提升图像显示的及时性。
需要说明的是,根据本申请的一个方面,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述图2或图5b所示的图像处理方法实施例方面的各种可选方式中提供的方法。
并且,应理解的是,以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (15)

1.一种图像处理方法,其特征在于,包括:
获取目标图像的源压缩纹理数据,所述源压缩纹理数据是采用源压缩纹理格式对所述目标图像进行编码得到的;
若所述源压缩纹理格式与显卡不兼容,则确定与所述显卡适配的目标压缩纹理格式,以及所述目标压缩纹理格式对应的目标压缩块尺寸;
基于所述目标压缩块尺寸对所述源压缩纹理数据进行解码对齐处理,得到多个图像纹理数据,每个图像纹理数据的数据尺寸等于所述目标压缩块尺寸的整数倍;
采用所述目标压缩纹理格式以及所述目标压缩块尺寸,对每个图像纹理数据进行转码处理,得到所述目标图像的目标压缩纹理数据,所述目标压缩纹理数据包括:每个图像纹理数据对应的一个或多个转码压缩纹理块;
在需显示所述目标图像时,调用所述显卡根据所述目标压缩纹理数据,渲染显示所述目标图像。
2.如权利要求1所述的方法,其特征在于,所述目标压缩块尺寸为X×Y,所述X×Y表示将X行Y列个像素压缩成一个块,X和Y为大于1 的整数;
所述基于所述目标压缩块尺寸对所述源压缩纹理数据进行解码对齐处理,得到多个图像纹理数据,包括:
对所述源压缩纹理数据进行解码处理,得到所述目标图像的解码纹理数据,所述解码纹理数据包括P行Q列个像素,P和Q为大于1的整数;
按照所述目标压缩块尺寸,将所述P行Q列个像素对齐成多组像素;每组像素均包括X行Y列个像素,且一组像素为一个图像纹理数据。
3.如权利要求2所述的方法,其特征在于,所述按照所述目标压缩块尺寸,将P行Q列个像素对齐成多组像素,包括:
以每X行为一个单位,基于所述P行像素中未被执行对齐处理的剩余行像素,确定当前待对齐的X行像素;
按照每Y列对齐一次的对齐频率,对所述当前待对齐的X行像素进行对齐处理,得到N组像素;N为正整数,且一组像素包括X行Y列个像素;
若在对所述当前待对齐的X行像素进行对齐处理后,所述当前待对齐的X行像素中剩余了K列像素,1≤K<Y,则采用Y-K列无效像素将所述K列像素对齐成一组像素。
4.如权利要求3所述的方法,其特征在于,所述以每X行为一个单位,基于所述P行像素中未被执行对齐处理的剩余行像素,确定当前待对齐的X行像素,包括:
若所述P行像素中未被执行对齐处理的剩余行像素的行数大于或等于X,则按照从上至下的选取顺序,从所述剩余行像素中选取当前待对齐的X行像素;
若所述P行像素中未被执行对齐处理的剩余行像素的行数小于X,则采用J行无效像素将所述剩余行像素补齐成X行像素,并将补齐得到的X行像素确定当前待对齐的X行像素,J的取值等于X和剩余行像素的行数之间的差值。
5.如权利要求2-4任一项所述的方法,其特征在于,所述采用所述目标压缩纹理格式以及所述目标压缩块尺寸,对每个图像纹理数据进行转码处理,得到所述目标图像的目标压缩纹理数据,包括:
在显卡着色器中为所述多个图像纹理数据分配用于转码的多个转码工作组,一个转码工作组被分配一个或多个图像纹理数据;以及,将每个图像纹理数据派发给对应的转码工作组;
并行地调用各个转码工作组,根据所述目标压缩纹理格式以及所述目标压缩块尺寸,对相应的图像纹理数据进行转码处理,以得到所述目标图像的目标压缩纹理数据。
6.如权利要求1所述的方法,其特征在于,所述源压缩纹理数据包括多个源压缩纹理块,且每个源压缩纹理块的尺寸均为所述源压缩纹理格式对应的源压缩块尺寸;
所述基于所述目标压缩块尺寸对所述源压缩纹理数据进行解码对齐处理,得到多个图像纹理数据,包括:
根据所述目标压缩块尺寸和所述源压缩块尺寸,计算数据对齐因子,所述数据对齐因子指示:解码得到一个图像纹理数据所需的源压缩纹理块的数量;
按照所述数据对齐因子,将所述多个源压缩纹理块划分成多个纹理块组,一个纹理块组包括所述数据对齐因子指示的数量个源压缩纹理块;
分别对各个纹理块组进行解码处理,得到多个图像纹理数据,一个纹理块组对应一个图像纹理数据。
7.如权利要求6所述的方法,其特征在于,所述源压缩块尺寸为A×B,所述A×B表示将A行B列个像素压缩成一个块;所述目标压缩块尺寸为X×Y,所述X×Y表示将X行Y列个像素压缩成一个块;其中,A、B、X和Y均为大于1 的整数;
所述根据所述目标压缩块尺寸和所述源压缩块尺寸,计算数据对齐因子,包括:
求取A和X之间的最小公倍数,作为第一最小公倍数;并将所述第一最小公倍数和A之间的比值,确定为行对齐因子;
求取B和Y之间的最小公倍数,作为第二最小公倍数;并将所述第二最小公倍数和B之间的比值,确定为列对齐因子;
对所述行对齐因子和所述列对齐因子进行乘法运算,得到数据对齐因子。
8.如权利要求7所述的方法,其特征在于,所述根据所述目标压缩块尺寸和所述源压缩块尺寸,计算数据对齐因子,还包括:
若所述目标压缩块尺寸等于所述源压缩块尺寸,则将单位数值确定为所述数据对齐因子;
若所述目标压缩块尺寸不等于所述源压缩块尺寸,则执行求取A和X之间的最小公倍数,作为第一最小公倍数的步骤。
9.如权利要求6所述的方法,其特征在于,所述分别对各个纹理块组进行解码处理,得到多个图像纹理数据,包括:
在显卡着色器中为每个纹理块组分别分配一个处理工作组,每个处理工作组均至少具有解码能力;
将每个纹理块组派发给对应的处理工作组;
并行地调用各个处理工作组,对相应的纹理块组中的各个源压缩纹理块进行解码处理,得到多个图像纹理数据。
10.如权利要求9所述的方法,其特征在于,所述每个处理工作组还具有转码能力;
所述采用所述目标压缩纹理格式以及所述目标压缩块尺寸,对每个图像纹理数据进行转码处理,得到所述目标图像的目标压缩纹理数据,包括:
在任一处理工作组解码得到一个图像纹理数据后,继续调用所述任一处理工作组,采用所述目标压缩纹理格式以及所述目标压缩块尺寸,对相应的图像纹理数据进行转码处理。
11.如权利要求6所述的方法,其特征在于,所述显卡设置于计算机设备中,所述计算机设备还包括渲染管线和解码管线;其中,所述显卡中的显卡着色器按照所述解码管线规定的流程进行工作;
所述获取目标图像的源压缩纹理数据,包括:所述渲染管线从所述计算机设备的本地空间中,加载目标图像的源压缩纹理数据;
所述方法还包括:
所述渲染管线检测所述解码管线关于所述目标压缩纹理格式的转码能力;
若检测到所述解码管线具有所述转码能力,则所述渲染管线执行根据所述目标压缩块尺寸和所述源压缩块尺寸,计算数据对齐因子的步骤;
在计算得到所述数据对齐因子后,所述渲染管线将所述数据对齐因子以及所述源压缩纹理数据,派发给所述解码管线;
所述解码管线在成功接收到所述数据对齐因子以及所述源压缩纹理数据后,向所述显卡着色器发送解码通知,以通知所述显卡着色器执行所述按照所述数据对齐因子,将所述多个源压缩纹理块划分成多个纹理块组的步骤。
12.如权利要求11所述的方法,其特征在于,所述计算机设备具有显卡解码模式,所述显卡解码模式是指通过所述显卡着色器进行解码处理的模式;所述方法还包括:
若检测到所述解码管线不具有所述转码能力,则所述渲染管线检测所述显卡解码模式所处的模式状态,所述模式状态包括模式开启状态或模式关闭状态;
当所述模式状态为所述模式开启状态时,所述渲染管线将所述源压缩纹理数据派发给所述解码管线;
所述解码管线通知所述显卡着色器对所述源压缩纹理数据进行解码处理,得到所述目标图像的解码纹理数据;
在需显示所述目标图像时,所述渲染管线根据所述解码纹理数据,渲染显示所述目标图像。
13.如权利要求12所述的方法,其特征在于,所述方法还包括:
当所述模式状态为所述模式关闭状态时,所述渲染管线调用显卡驱动中央处理器对所述源压缩纹理数据进行解码处理,并将解码得到的解码纹理数据转码成目标压缩纹理数据;
在需显示所述目标图像时,所述渲染管线根据所述目标压缩纹理数据,渲染显示所述目标图像。
14.一种图像处理装置,其特征在于,包括:
获取单元,用于获取目标图像的源压缩纹理数据,所述源压缩纹理数据是采用源压缩纹理格式对所述目标图像进行编码得到的;
处理单元,用于若所述源压缩纹理格式与显卡不兼容,则确定与所述显卡适配的目标压缩纹理格式,以及所述目标压缩纹理格式对应的目标压缩块尺寸;
所述处理单元,还用于基于所述目标压缩块尺寸对所述源压缩纹理数据进行解码对齐处理,得到多个图像纹理数据,每个图像纹理数据的数据尺寸等于所述目标压缩块尺寸的整数倍;
所述处理单元,还用于采用所述目标压缩纹理格式以及所述目标压缩块尺寸,对每个图像纹理数据进行转码处理,得到所述目标图像的目标压缩纹理数据,所述目标压缩纹理数据包括:每个图像纹理数据对应的一个或多个转码压缩纹理块;
所述处理单元,还用于在需显示所述目标图像时,调用所述显卡根据所述目标压缩纹理数据,渲染显示所述目标图像。
15.一种计算机设备,包括输入接口和输出接口,其特征在于,还包括:
处理器,适于实现一条或多条指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如权利要求1-13任一项所述的图像处理方法。
CN202110888511.1A 2021-08-03 2021-08-03 图像处理方法、装置、计算机设备及存储介质 Active CN113327303B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202110888511.1A CN113327303B (zh) 2021-08-03 2021-08-03 图像处理方法、装置、计算机设备及存储介质
PCT/CN2022/100817 WO2023011033A1 (zh) 2021-08-03 2022-06-23 图像处理方法、装置、计算机设备及存储介质
US18/297,304 US20230245420A1 (en) 2021-08-03 2023-04-07 Image processing method and apparatus, computer device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110888511.1A CN113327303B (zh) 2021-08-03 2021-08-03 图像处理方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN113327303A true CN113327303A (zh) 2021-08-31
CN113327303B CN113327303B (zh) 2021-10-29

Family

ID=77426960

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110888511.1A Active CN113327303B (zh) 2021-08-03 2021-08-03 图像处理方法、装置、计算机设备及存储介质

Country Status (3)

Country Link
US (1) US20230245420A1 (zh)
CN (1) CN113327303B (zh)
WO (1) WO2023011033A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114860440A (zh) * 2022-04-29 2022-08-05 北京天融信网络安全技术有限公司 Gpu显存管理方法及装置
WO2023011033A1 (zh) * 2021-08-03 2023-02-09 腾讯科技(深圳)有限公司 图像处理方法、装置、计算机设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070172120A1 (en) * 2006-01-24 2007-07-26 Nokia Corporation Compression of images for computer graphics
CN105761296A (zh) * 2016-01-15 2016-07-13 网易(杭州)网络有限公司 一种压缩纹理的拼装系统及方法、终端
US20160358046A1 (en) * 2015-06-05 2016-12-08 Canon Kabushiki Kaisha Image decoding apparatus and method therefor
CN108432257A (zh) * 2016-01-08 2018-08-21 华为技术有限公司 Jpeg图像到压缩gpu纹理转码器
CN111402380A (zh) * 2020-03-12 2020-07-10 杭州趣维科技有限公司 一种gpu压缩纹理处理方法
CN112379949A (zh) * 2021-01-14 2021-02-19 腾讯科技(深圳)有限公司 一种数据处理方法、装置、设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8542243B2 (en) * 2009-11-19 2013-09-24 Douglas H. Rogers High-compression texture mapping
US10699443B2 (en) * 2018-03-29 2020-06-30 Microsoft Technology Licensing, Llc Reducing the search space for real time texture compression
CN113034629B (zh) * 2021-05-17 2021-08-20 腾讯科技(深圳)有限公司 图像处理方法、装置、计算机设备及存储介质
CN113327303B (zh) * 2021-08-03 2021-10-29 腾讯科技(深圳)有限公司 图像处理方法、装置、计算机设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070172120A1 (en) * 2006-01-24 2007-07-26 Nokia Corporation Compression of images for computer graphics
US20160358046A1 (en) * 2015-06-05 2016-12-08 Canon Kabushiki Kaisha Image decoding apparatus and method therefor
CN108432257A (zh) * 2016-01-08 2018-08-21 华为技术有限公司 Jpeg图像到压缩gpu纹理转码器
CN105761296A (zh) * 2016-01-15 2016-07-13 网易(杭州)网络有限公司 一种压缩纹理的拼装系统及方法、终端
CN111402380A (zh) * 2020-03-12 2020-07-10 杭州趣维科技有限公司 一种gpu压缩纹理处理方法
CN112379949A (zh) * 2021-01-14 2021-02-19 腾讯科技(深圳)有限公司 一种数据处理方法、装置、设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023011033A1 (zh) * 2021-08-03 2023-02-09 腾讯科技(深圳)有限公司 图像处理方法、装置、计算机设备及存储介质
CN114860440A (zh) * 2022-04-29 2022-08-05 北京天融信网络安全技术有限公司 Gpu显存管理方法及装置

Also Published As

Publication number Publication date
US20230245420A1 (en) 2023-08-03
CN113327303B (zh) 2021-10-29
WO2023011033A1 (zh) 2023-02-09

Similar Documents

Publication Publication Date Title
CN111681167B (zh) 画质调整方法和装置、存储介质及电子设备
US11909984B2 (en) Video encoding and decoding for cloud gaming
US8111928B2 (en) Method and apparatus for compression of multi-sampled anti-aliasing color data
CN113457160B (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
CN113034629B (zh) 图像处理方法、装置、计算机设备及存储介质
WO2022257699A1 (zh) 图像画面显示方法、装置、设备、存储介质及程序产品
CN113327303B (zh) 图像处理方法、装置、计算机设备及存储介质
US10652591B2 (en) System for cloud streaming service, method for same using still-image compression technique and apparatus therefor
CN111314741A (zh) 视频超分处理方法、装置、电子设备及存储介质
CN112929705B (zh) 纹理压缩和解压方法、装置、计算机设备和存储介质
CN115292020B (zh) 一种数据处理方法、装置、设备以及介质
EP4030341A1 (en) Image recognition method, video playback method, related device, and medium
CN108650460A (zh) 服务器、全景视频的存储和传输方法和计算机存储介质
CN115695857B (zh) 云应用的视频编码方法及装置
CN112843676A (zh) 数据处理方法、装置、终端、服务器及存储介质
CN115065684A (zh) 数据处理方法、装置、设备以及介质
US20120218292A1 (en) System and method for multistage optimized jpeg output
CN111464812B (zh) 编码解码的方法、系统、装置、存储介质及处理器
KR102417055B1 (ko) 비디오 스트림의 후속 프로세싱을 위한 방법 및 디바이스
CN116700943A (zh) 一种视频播放系统、方法以及电子设备
CN114938408A (zh) 一种云手机的数据传输方法、系统、设备及介质
Kopczynski Optimizations for fast wireless image transfer using H. 264 codec to Android mobile devices for virtual reality applications
CN114217758A (zh) 图像显示方法、装置、电子设备及计算机可读存储介质
CN113663328B (zh) 画面录制方法、装置、计算机设备及存储介质
CN115393490A (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
GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40052188

Country of ref document: HK