CN111902807B - 生成硬件兼容压缩纹理的方法、计算机设备和介质 - Google Patents
生成硬件兼容压缩纹理的方法、计算机设备和介质 Download PDFInfo
- Publication number
- CN111902807B CN111902807B CN201980021202.5A CN201980021202A CN111902807B CN 111902807 B CN111902807 B CN 111902807B CN 201980021202 A CN201980021202 A CN 201980021202A CN 111902807 B CN111902807 B CN 111902807B
- Authority
- CN
- China
- Prior art keywords
- hardware
- compressed
- texture
- incompatible
- gpu
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000010801 machine learning Methods 0.000 claims abstract description 115
- 238000012545 processing Methods 0.000 claims abstract description 16
- 230000006835 compression Effects 0.000 claims description 69
- 238000007906 compression Methods 0.000 claims description 69
- 238000004891 communication Methods 0.000 claims description 12
- 238000009434 installation Methods 0.000 claims description 8
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 230000003287 optical effect Effects 0.000 description 14
- 238000012549 training Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 7
- 238000009877 rendering Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000007704 transition Effects 0.000 description 4
- 239000011449 brick Substances 0.000 description 3
- 239000004567 concrete Substances 0.000 description 3
- 239000002184 metal Substances 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 244000025254 Cannabis sativa Species 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- -1 but not limited to Substances 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004880 explosion Methods 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000011435 rock Substances 0.000 description 2
- 239000000779 smoke Substances 0.000 description 2
- 239000002023 wood Substances 0.000 description 2
- 241001386813 Kraken Species 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008713 feedback mechanism Effects 0.000 description 1
- 230000031700 light absorption Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 210000003462 vein Anatomy 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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
- G06T9/00—Image coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/002—Image coding using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/40—Specific encoding of data in memory or cache
- G06F2212/401—Compressed data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/28—Indexing scheme for image data processing or generation, in general involving image processing hardware
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Image Generation (AREA)
Abstract
用于生成硬件兼容压缩纹理的方法和设备可以包括:在应用程序的运行时,访问以与图形处理单元(GPU)不兼容的格式的图形硬件不兼容压缩纹理。方法和设备可以包括使用已训练机器学习模型将图形硬件不兼容压缩纹理直接转换为GPU可使用的硬件兼容压缩纹理。
Description
背景技术
本公开涉及计算机设备、图形处理和纹理压缩。
视频游戏正在经历纹理占用过多存储空间(例如,硬盘空间、光学介质空间和/或下载大小)以便提供当前用于视频游戏的分辨率的细节的问题。例如,视频游戏可能会占用100GB的存储空间,其中30-60GB的存储空间可以是纹理以便以4K分辨率提供细节。游戏在具有相对较大存储占用空间的纹理中进行加载的速度存在另一问题。游戏通常在运行时使用块压缩来节省内存、带宽和高速缓存压力,但是,这些方案具有固定压缩率。其他方案对纹理的压缩率要好得多,但可能不是以图形处理单元(GPU)直接可使用的格式。此外,期望增加具有更多变化的纹理的数量。
因此,在本领域中需要改进纹理压缩。
发明内容
以下给出了本公开的一个或多个实现的简化概述,以提供对这样的实现的基本理解。该概述不是所有预期实现的广泛概述,并且既不旨在标识所有实现的关键或重要元素,也不旨在界定任何或所有实现的范围。其唯一目的是以简化的形式呈现本公开的一个或多个实现的一些概念,作为稍后呈现的更详细描述的序言。
一个示例实现涉及一种计算机设备。该计算机设备可以包括图形处理单元(GPU);用于存储数据和指令的存储器,数据和指令包括应用和以与GPU不兼容的格式的图形硬件不兼容压缩纹理;与存储器通信的至少一个处理器;以及与存储器、至少一个处理器、GPU、和应用通信的操作系统。该应用可以可操作以在应用的运行时访问图形硬件不兼容压缩纹理;并且使用已训练机器学习模型将图形硬件不兼容压缩纹理直接转换为GPU可使用的硬件兼容压缩纹理。
另一示例实现涉及一种用于生成硬件兼容压缩纹理的方法。该方法可以包括:由在计算机设备上执行的应用在应用程序的运行时访问以与图形处理单元(GPU)不兼容的格式的图形硬件不兼容压缩纹理。该方法可以包括使用已训练机器学习模型将图形硬件不兼容压缩纹理直接转换为GPU可使用的硬件兼容压缩纹理。
另一示例实现涉及一种存储由计算机设备可执行的指令的计算机可读介质。该计算机可读介质可以包括用于使计算机设备在应用程序的运行时接收以与图形处理单元(GPU)不兼容的格式的图形硬件不兼容压缩纹理的至少一个指令。该计算机可读介质可以包括用于使计算机设备使用已训练机器学习模型将硬件不兼容压缩纹理直接转换为GPU可使用的硬件兼容压缩纹理的至少一个指令。
与本公开的实现有关的另外的优点和新颖特征将在以下的描述中部分地阐述,并且在对以下内容进行检查或通过实践学习之后对于本领域技术人员将部分地变得更加明显。
附图说明
在附图中:
图1是根据本公开的实现的示例计算机设备的示意性框图;
图2A是根据本公开的实现的用于与纹理一起使用的MIP链的示例;
图2B是根据本公开的实现的用于与纹理一起使用的、移除MIP链的第一图像的已修改MIP链的示例;
图2C是根据本公开的实现的用于与纹理一起使用的、移除MIP链的第一图像以及MIP链的中间图像的已修改MIP链的示例;
图3是根据本公开的实现的训练机器学习模型以放大图像的示例;
图4是根据本公开的实现的训练机器学习模型以对压缩纹理解压缩的示例;
图5是根据一种实现的用于使用机器学习来生成硬件兼容压缩纹理的示例方法流程;
图6是根据一种实现的用于使用机器学习来生成硬件兼容压缩纹理的示例方法流程;以及
图7是根据本公开的实现的示例设备的示意性框图。
具体实施方式
本公开涉及用于在例如适合于从硬盘驱动器(HDD)加载纹理的一种压缩方案与适合于由图形处理单元(GPU)使用的压缩方案(例如,块压缩格式)之间进行转换的设备和方法。
计算机游戏使用块压缩来存储纹理,因为块压缩可以直接由GPU读取,从而节省了计算机设备上的存储器、带宽和/或缓存压力。但是,使用其他类型的压缩(例如,但不限于机器学习图像压缩、联合图像专家组(JPEG)压缩、小波压缩和/或通用无损压缩(例如,zip、lzma和kraken))可以以可接受的图像质量实现更高的压缩率。为了减小输入/输出带宽和/或减小游戏在硬盘、光学介质、闪存上或在通过互联网下载时的大小,可能需要使用对游戏的纹理具有更高压缩率的压缩格式。不幸的是,这些其他压缩方案不能直接由GPU使用。
上述设备和方法可以使用已训练机器学习模型(诸如生成对抗网络(GAN))将硬件不兼容压缩纹理直接解压缩为硬件兼容压缩纹理。例如,已训练机器学习模型可以接收和/或以其他方式访问硬件不兼容压缩纹理,并且可以使用块压缩纹理的各种组件(例如,端点和/或索引)将纹理直接解压缩为GPU可使用的块压缩纹理。可以针对不同的纹理类型(例如,法线贴图、漫反射、光贴图等)和不同的内容类型(例如,砖、草、金属、皮肤等)来创建不同的机器学习网络和/或已训练模型。这些机器学习网络/模型可以基于与应用相关联的纹理进行学习作为离线过程。
上述设备和方法还可以修改与纹理一起使用的MIP链以减小硬盘、光学介质上或在通过互联网下载时的应用大小。MIP链可以包含要在纹理中使用的多个图像,每个图像可以是同一图像的分辨率逐渐降低的表示。可以通过重复缩小MIP链中的第一图像和/或一个或多个中间图像的尺寸来创建MIP链。例如,MIP链的第一图像可能会占用用于MIP链的大部分存储空间。设备和方法可以移除MIP链的第一图像和/或一个或多个中间图像,并且生成已修改MIP链以与应用一起传输,以减少输入/输出带宽和/或减小应用在硬盘、光学介质上或在通过互联网下载时的大小。
设备和方法可以在应用的运行时和/或应用安装时例如使用已训练机器学习模型(诸如生成对抗网络(GAN))来重构MIP链的已删除的第一图像和/或任何被移除的中间图像,并且生成硬件兼容压缩重构MIP链。已训练机器学习模型可以接收和/或以其他方式访问已修改MIP链,并且可以通过放大顶部图像和/或下一最大中间图像以重新创建已修改MIP链中的丢失图像并且将重构MIP链直接解压缩为硬件兼容压缩重构MIP链(诸如块压缩MIP链)来重构MIP链的第一图像和/或任何移除的中间图像。
这样,在应用的运行时和/或安装时,设备和方法可以通过使用机器学习将压缩纹理直接解压缩为GPU可使用的格式来快速地将GPU不兼容压缩纹理转换为GPU可使用的格式。另外,设备和方法可以快速重构任何已修改MIP链的第一图像和/或任何移除的中间图像以与应用中的纹理一起使用。因此,基于本公开,可以使用较高压缩率压缩算法(相对于GPU兼容压缩算法)来压缩纹理以进行存储和/或传输,并且可以将其直接解压缩为GPU可使用的格式。对GPU不兼容纹理进行解压缩可能会产生经压缩的GPU兼容纹理。
现在参考图1-4,用于与纹理压缩和/或放大结合使用的示例系统100可以包括计算机设备102,该计算机设备102可以包括具有纹理26的基于图形的应用10,诸如但不限于游戏,应用10可以由计算机设备102的处理器32和/或操作系统110运行。例如,应用10可以由计算机设备102从硬盘、光学介质访问,和/或通过互联网下载。
应用10可以包括一个或多个纹理26,这些纹理26被包括在与应用10的场景相关联的一个或多个场景或图像中。纹理26可以提供关于在应用10中绘制的图像的信息。例如,纹理26可以包括向对象赋予纹理外观的像素颜色的位图。游戏开发人员可以使用纹理26通过提供详细的表面和/或颜色来在应用10中创建真实感。例如,纹理26可以用于使应用10的场景中的混凝土屏障看起来逼真。另一示例可以包括被层叠以使玩家的皮肤看起来逼真的多个纹理26。例如,纹理26可以包括一个或多个纹理层,诸如一个纹理层可以包括要包括在皮肤中的静脉,而另一纹理层模仿皮肤上的光吸收,并且另一纹理层可以用来模仿在玩家的皮肤上的汗水。另一示例可以包括使用各种纹理26以使场景中的草看起来逼真。这样,游戏开发人员可以使用纹理26的变化来使应用10的场景看起来逼真。纹理26可以包括纹理像素块27(最多为m,其中m是整数)。例如,纹理像素块27可以是但不限于4×4、8×4、4×8和/或8×8纹理像素块27。每个纹理像素可以是纹理26中的像素,并且也可以是可以读取或写入的纹理的最小单位。另外,每个纹理像素块27可以指定模式,其特征在于1至4个相关组件,诸如形状、多个端点、以及指示如何在每个纹理像素的端点之间进行内插的索引。例如,在不应当被理解为限制的一种实现中,示例纹理像素块27可以是8个模式中的1个,每个模式具有多达32个形状,每个形状具有2至4个端点,并且针对每个纹理像素的索引被授予不同的比特数。这样,这些组件定义了搜索空间以用于确定压缩纹理26的方式。
应用10还可以包括一个或多个已修改MIP链14和/或压缩纹理16,使得当将应用10被传输到计算机设备102和/或被存储在存储器34中时,应用10的尺寸大大减小,并且因此,减小了输入/输出带宽和/或应用10在硬盘、光学介质、闪存上和/或通过互联网下载的的大小。例如,压缩纹理16可以使用与GPU不兼容但是与GPU兼容压缩算法/方案(例如,块压缩)相比提供显著更大的压缩率的多种压缩算法或方案中的任何一种被压缩。例如,压缩纹理16可以使用机器学习图像压缩、JPEG、小波、通用无损压缩、和/或产生相对较高压缩率的其他形式的压缩被压缩。然而,如上所述,压缩纹理16可能不能被GPU直接使用。
现在参考图2A,示出了示例MIP链200可以用作应用10的纹理26以增加应用10的场景和/或图像中的绘制速度和图像质量。MIP链200可以包括要用于与纹理一起使用的多个图像201-216,每个图像可以是同一图像的分辨率逐渐降低的表示。可以将来自MIP链200的较低分辨率图像用于可能不需要高细节水平的场景和/或图像中的对象,而可以将来自MIP链200的较高分辨率图像用于可能需要高细节水平的场景和/或图像中的对象。MIP链200可以通过重复缩小第一图像201的尺寸来创建。每个图像201-216可以对应于MIP链200中的不同水平。在所示的示例中,MIP链200可以包括十六个水平,每个水平具有对应图像201-216。与沿MIP链200向下的图像的分辨率相比,第一图像201的分辨率可以是最高分辨率。此外,第一图像201占用了用于MIP链200的大部分存储空间(例如,75%的存储空间)。
现在参考图2B,示出了移除MIP链的第一图像的示例已修改MIP链14,该已修改MIP链14可以与应用10一起传输。已修改MIP链14可以不包括MIP链200(图2A)的第一图像201(图2A)。因此,代替包含十六个水平的图像,已修改MIP链14可以仅包括十五个水平,其中每个水平具有对应图像202-216。已修改MIP链14中包括的图像202-216可以对应于MIP链200(图2A)中的图像202-216。这样,已修改MIP链14可以通过从MIP链200中移除最高分辨率图像(例如,第一图像201)来显著减少存储空间。
现在参考图2C,示出了移除MIP链的第一图像以及MIP链的中间图像的示例已修改MIP链14,该已修改MIP链14可以与应用10一起传输。已修改MIP链14可以不包括MIP链200(图2A)的第一图像201(图2A)和第三图像203(图2A)。因此,代替包含十六个水平的图像,已修改MIP链14可以仅包括十四个水平,每个水平具有对应图像202、204-216。已修改MIP链14中包括的图像202、204-216可以对应于MIP链200(图2A)中的图像202、204-216。这样,已修改MIP链14可以通过从MIP链200中移除最高分辨率图像(例如,第一图像201)以及一个或多个中间图像(例如,第三图像203)来显著减少存储空间。
再次参考图1,在一种实现中,设备和方法可以使用一个或多个计算机设备106离线生成压缩纹理16和/或已修改MIP链14。计算机设备106可以包括压缩引擎30,该压缩引擎30接收针对应用10的纹理26。压缩引擎30可以将纹理26压缩为压缩纹理16。例如,压缩引擎30可以使用GPU不兼容格式化,使用多种压缩形式/技术/算法中的一种或多种,并且对结果进行比较以标识产生最高压缩率的压缩形式,包括但不限于机器学习图像压缩、JPEG、小波、通用无损压缩、和/或这些压缩技术的任何组合。压缩引擎30还可以通过移除MIP链200(图2A)中的第一图像201(图2A)和/或一个或多个中间图像来生成已修改MIP链14。
计算机设备106还可以包括机器学习模型31,该机器学习模型31可以使用一个或多个机器学习网络来生成已训练机器学习模型18。已训练机器学习模型18可以在应用10的运行时和/或在应用10的安装时将压缩纹理16和/或已修改MIP链14直接解压缩为GPU可使用的硬件兼容压缩纹理22和/或硬件兼容压缩重构MIP链20。
现在参考图3,示出了使用机器学习模型31来生成已训练机器学习模型18以用于使用例如计算机设备106(图1)将已修改MIP链14(图1)解压缩为硬件兼容压缩重构MIP链20(图1)的示例。可以将多个MIP链200(例如,多达n个MIP链200,其中n是整数)的第一图像201和第二图像202输入到机器学习模型31中。例如,MIP链200的第一图像201和第二图像202可以来自特定应用、来自应用的子集、来自所有游戏、和/或来自在应用中使用的特定类型的纹理。较低分辨率图像(例如,第二图像202)和较高分辨率图像(例如,第一图像201)可以用于训练机器学习模型以了解如何获取较低分辨率图像(例如,第一图像201),以及然后将较低分辨率图像放大为较高分辨率图像,使得可以重新创建第一图像201,而无需传输MIP链中的第一图像201。通过在训练阶段使用相距单个水平的图像(例如,第一图像201和第二图像202),可以在重构图像中保留数据,并且可以减少重构图像中的伪像。
机器学习模型31可以使用机器学习网络,诸如但不限于卷积神经网络和生成对抗网络(GAN),以使用较低分辨率图像(例如,第二图像202)和较高分辨率的图像(例如,第一图像201)来生成已训练机器学习模型18。在训练过程期间,机器学习网络可以用于减少放大(up-scaled)和/或增加分辨率(up res)的图像中的伪像,使得重构图像尽可能接近MIP链中包括的原始图像。机器学习网络可以在训练过程中评估重构图像的图像和视觉质量,以确定与MIP链200的原始第一图像201相比重构图像中的质量损失量。例如,机器学习网络可以使用信噪比和/或图像的测量来评估重构图像的图像和视觉质量。这样,已训练机器学习模型18可以将较低分辨率图像(例如,MIP链200的第二图像202)放大为较高分辨率图像,其中在重构图像中图像伪像最少。
通过生成已训练机器学习模型18以从较低分辨率图像重新创建较高分辨率图像,可以在与纹理一起传输的数据量中节省大量存储。例如,MIP链200的第一图像201可以构成用于MIP链200的75%的存储空间。这样,如果第一图像201从MIP链200中被移除,则磁盘空间和/或下载数据量可以大大减少。
此外,已训练机器学习模型18可以生成由GPU直接可使用的硬件兼容压缩重构MIP链20(图1)。在一种实现中,硬件兼容压缩重构MIP链20可以包括压缩重构第一图像和/或任何重构中间图像以及多个其他压缩图像。例如,硬件兼容压缩重构MIP链20可以包括多个块压缩图像。
现在参考图4,示出了使用机器学习模型31来生成已训练机器学习模型18以用于使用例如计算机设备106(图1)将硬件不兼容压缩纹理16直接解压缩为硬件兼容压缩纹理22(图1)的示例。在一种实现中,可以将多个源纹理17(多达m个,其中m是整数)输入到机器学习模型31中。多个源纹理17可以包括来自特定应用的纹理和/或来自所有应用的纹理。例如,单个应用可以包括30,000至40,000个纹理。而且,可以使用特定类型的纹理来训练模型。例如,可以将针对法线贴图、反照率贴图、材质信息、包括标识(ID)的、粗糙度、镜面高光强度、和/或针对地形的混合贴图的源纹理17输入到机器学习模型31中。另一示例可以包括将针对包含全局照明性质的纹理(诸如光照贴图、光探测器、辐射度法线贴图、天空穹顶和/或大气模拟)的源纹理17输入到机器学习模型31中。另一示例可以包括稀疏填充的源纹理17或纹理地图集,其中将针对多个不同表面的纹理打包为输入到机器学习模型31的单个贴图。另一示例可以包括针对某些类型的材质的源纹理17,诸如但不限于金属、木材、树皮、植被、岩石、砖块、混凝土、柏油碎石、车身、轮胎、皮肤、眼睛、头发、衣服和/或装甲(板、锁子甲等)。另一示例可以包括可以将针对特定效果的源纹理17(诸如火、烟、爆炸和/或魔术)输入到机器学习模型31中。另一示例可以包括可以将针对用户接口和/或字体的源纹理17输入到机器学习模型31中。
这样,可以在针对特定类型的纹理的曲线上训练机器学习模型和/或针对特定应用中的纹理训练。另外,基于来自不同应用的所有纹理,机器学习模型可以具有更一般的训练。
机器学习模型31可以使用对抗机器学习网络(诸如但不限于卷积神经网络和生成对抗网络(GAN))来生成已训练机器学习模型18。在一种实现中,可以针对应用中使用的纹理提供定制对抗机器学习网络和/或编解码器。机器学习网络可以在训练期间使用块压缩纹理的各个组件(例如,形状、模式、端点和/或索引),使得已训练机器学习模型18可以将硬件不兼容压缩纹理16直接解压缩为硬件兼容压缩纹理。
例如,已训练机器学习模型18可以通过预测针对所标识的纹理17和/或纹理17的区域的块压缩纹理的组件(例如,模式、形状、端点和/或索引)来将所标识的纹理17解压缩为GPU可使用的块压缩纹理。所预测的块压缩纹理可以选择各种模式、形状和/或端点以在针对所标识的纹理17和/或17纹理的区域的块压缩期间使用。
机器学习网络可以通过将所预测的块压缩纹理与用作训练的输入的原始源纹理17进行比较来评估在训练过程期间生成的所预测的块压缩纹理的图像和视觉质量。机器学习网络可以尝试改进所预测的块压缩纹理(例如,修改所选择的模式、形状和/或端点),直到所预测的块压缩纹理与原始源纹理17之间存在最小差异。当预测的块压缩纹理与原始源纹理17之间出现的差异最小时,可能难以区分所预测的块压缩纹理和原始源纹理17。
在预测块压缩纹理时使用的所选择的模式、形状和/或端点可以被保存为元数据19。元数据19可以提供关于哪些模式、形状和/或端点可以产生最佳质量块的指导。这样,已训练机器学习模型18可以使用元数据19来创建与应用10的原始未加工图像非常相似的硬件兼容压缩纹理22。例如,已训练机器学习模型18可以使用元数据19来辅助在将硬件不兼容压缩纹理16直接解压缩为块压缩数字(BCN)纹理时选择块压缩纹理的正确的端点、模式和/或形状。
再次参考图1,计算机设备102可以经由例如有线和/或无线网络104从计算机设备106下载具有已修改MIP链14和/或压缩纹理16的应用10。网络104还可以包括光学介质、硬盘、闪存或任何其他类型的存储。在另一实现中,已修改MIP链14和/或压缩纹理16可以保存在光学介质、闪存或硬盘上。
计算机设备102可以包括由处理器32和/或存储器34执行的操作系统110。计算机设备102的存储器34可以被配置为用于存储定义操作系统110和/或与操作系统110相关联的数据和/或计算机可执行指令,并且处理器32可以执行这样的数据和/或计算机可执行指令以实例化操作系统110。存储器34的示例可以包括但不限于计算机可使用的存储器类型,诸如随机存取存储器(RAM)、只读存储器(ROM)、磁带、磁盘、光盘、易失性存储器、非易失性存储器、及其任何组合。处理器32的示例可以包括但不限于如本文所述特别编程的任何处理器,包括控制器、微控制器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、片上系统(SoC)或其他可编程逻辑或状态机。
计算机设备102可以包括可以可连接到网络的任何移动或固定计算机设备。计算机设备102可以是例如计算机设备(诸如台式或膝上型计算机或平板计算机)、蜂窝电话、游戏设备、混合现实或虚拟现实设备、音乐设备、电视、导航系统、相机、个人数字助理(PDA)、或手持设备、或者具有与一个或多个其他设备和/或通信网络的有线和/或无线连接能力的任何其他计算机设备。
操作系统110和/或应用10可以包括已训练机器学习模型18,其可以接收和/或以其他方式访问已修改MIP链14和/或压缩纹理16。已训练机器学习模型18可以在应用10的运行时和/或在应用10的安装时快速且轻松地实时地将压缩纹理16和/或已修改MIP链14直接解压缩为GPU和/或CPU可使用的硬件兼容压缩纹理22和/或硬件兼容压缩重构MIP链20。
已训练机器学习模型18可以使用元数据19来创建与应用10的原始未加工图像非常相似的硬件兼容压缩纹理22。元数据19可以提供关于哪些模式、形状和/或端点可以产生最佳质量块的指导。例如,当将硬件不兼容压缩纹理16直接解压缩为BCN纹理时,已训练机器学习模型18可以使用元数据19来辅助选择块压缩纹理的正确的端点、模式和/或形状。这样,可以使用已训练机器学习模型18将硬件不兼容压缩纹理16直接解压缩为GPU可使用的硬件兼容压缩纹理22。
已训练机器学习模型18可以在应用10的运行时和/或在应用10的安装时使用GPU24来执行。GPU 24可以是计算机设备102上用于与应用10一起使用的专用显卡。例如,GPU24可以接收和/或以其他方式访问硬件不兼容压缩纹理16,并且可以执行已训练机器学习模型18,以将硬件不兼容压缩纹理16直接解压缩为硬件兼容压缩纹理22。此外,在转换发生之后,应用10可以丢弃硬件不兼容压缩纹理16。
在一种实现中,已训练机器学习模型18可以在包括集成GPU和离散GPU的系统中执行。例如,已训练机器学习模型18可以由计算机设备102上的中央处理单元(CPU)的集成GPU执行,以便离散GPU 24的资源可以不用于生成硬件兼容压缩纹理22。在转换之后,应用10可以丢弃硬件不兼容压缩纹理16。
在另一实现中,已训练机器学习模型18可以由CPU执行。这样,CPU可以接收和/或以其他方式访问硬件不兼容压缩纹理16,并且CPU可以运行已训练机器学习模型18以直接创建硬件兼容压缩纹理22。在转换之后,应用10可以丢弃硬件不兼容压缩纹理16。
硬件兼容压缩纹理22和/或硬件兼容压缩重构MIP链20可以被传输到GPU 24以进行绘制。例如,CPU、GPU和/或直接存储器访问(DMA)设备可以将硬件兼容压缩纹理22和/或硬件兼容压缩重构MIP链20传输到GPU 24以进行绘制。GPU 24可将硬件兼容压缩纹理22绘制成一个或多个绘制目标29以用于呈现在针对应用28的显示器28上。这样,当用户播放应用10并且从应用10的一个场景移动到另一场景时,呈现在显示器28上的绘制目标29可以被更新。
现在参考图5,结合图1-4的架构的描述讨论了由计算机设备102(图1)使用机器学习来生成硬件兼容压缩纹理以用于与应用10(图1)一起使用的方法流程500。
在502,方法500可以包括在应用的运行时或安装时访问与GPU不兼容的格式的图形硬件不兼容压缩纹理。计算机设备102可以经由例如网络104从计算机设备106下载具有已修改MIP链14和/或硬件不兼容压缩纹理16的应用10。在另一实现中,已修改MIP链14和/或硬件不兼容压缩纹理16可以保存在光学介质、闪存或硬盘上。
已修改MIP链14可以不包括最高分辨率图像(例如,MIP链200的第一图像201)和/或一个或多个中间图像(例如,MIP链200的第三图像203)。与沿MIP链200向下的图像的分辨率相比,第一图像201的分辨率可以是最高分辨率。例如,第一图像201可能会占用用于MIP链200的大部分存储空间(例如,75%的存储空间)。这样,已修改MIP链14可以通过从MIP链200中移除最高分辨率图像(例如,第一图像201)和/或一个或多个中间图像来显著减少存储空间。
压缩纹理16可以使用与GPU不兼容但是与GPU兼容压缩算法/方案(例如,块压缩)相比提供显著更大的压缩率的多种压缩算法或方案中的任何一种被压缩。例如,可以使用机器学习图像压缩、JPEG、小波和/或产生相对较高压缩率的其他形式的压缩来压缩压缩纹理16。然而,如上所述,压缩纹理16可能不能被GPU直接使用。
在504,方法500可以包括将硬件不兼容压缩纹理直接解压缩为GPU可使用的硬件兼容压缩纹理。已训练机器学习模型18可以接收和/或以其他方式访问已修改MIP链14和/或硬件不兼容压缩纹理16,并且可以将硬件不兼容压缩纹理16和/或已修改MIP链14直接解压缩为硬件兼容压缩纹理22以与应用10一起使用。例如,已训练机器学习模型18可以将压缩纹理16直接解压缩为GPU可使用的块压缩纹理。
已训练机器学习模型18可以使用元数据19来创建与应用10的原始未加工图像非常相似的硬件兼容压缩纹理22。元数据19可以提供关于哪些模式、形状和/或端点可以产生最佳质量块的指导。例如,当将硬件不兼容压缩纹理16直接解压缩为BCN纹理时,已训练机器学习模型18可以使用元数据19来辅助选择块压缩纹理的正确的端点、模式和/或形状。
此外,已训练机器学习模型18可以放大较低分辨率图像(例如,已修改MIP链14的第一图像201和/或已修改MIP链14中的下一最大中间图像)以重新创建缺失图像,其中在重构图像中具有最少图像伪像,并且生成硬件兼容压缩重构MIP链20。
在一个示例用例中,已修改MIP链14可以传输512×512的第二图像202(图2C)、128×128的第四图像204(图2C)、64×64的第五图像205(图2C)、32×32第六图像206(图2C)和16×16第七图像(图2C)。已训练机器学习模型18可以将512×512的第二图像202放大为1024×1024的第一图像。另外,已训练机器学习模型18可以将128×128的第四图像204放大为256×256的第三图像。此外,已训练机器学习模型18可以生成硬件兼容压缩重构MIP链20,该硬件兼容压缩重构MIP链20包括1024×1024的第一图像、512×512的第二图像202、256×256的第三图像、128×128的第四图像204、64×64的第五图像、32×32的第六图像和16×16的第七图像的压缩版本。
这样,硬件兼容压缩重构MIP链20可以包括压缩重构第一图像以及多个其他压缩图像。在一种实现中,硬件兼容压缩重构MIP链20可以是多个块压缩图像。因此,GPU可以直接使用硬件兼容压缩重构MIP链20。
已训练机器学习模型18可以在应用10的运行时和/或在应用10的安装时使用GPU24来执行。在一种实现中,GPU 24可以接收和/或以其他方式访问硬件不兼容压缩纹理16。GPU 24可以执行已训练机器学习模型18,以将硬件不兼容压缩纹理16直接解压缩为硬件兼容压缩纹理22。在转换发生之后,应用10可以丢弃硬件不兼容压缩纹理16。GPU 24可以是计算机设备102上用于与应用10一起使用的专用显卡。
在一种实现中,已训练机器学习模型18可以在包括集成GPU和分离式GPU的系统中被执行。例如,已训练机器学习模型18可以由计算机设备102上的CPU的集成GPU执行,以使得分离式GPU 24的资源可以不用于生成硬件兼容压缩纹理22。在转换发生之后,应用10可以丢弃硬件不兼容压缩纹理16。
在另一实现中,已训练机器学习模型18可以由CPU执行。这样,CPU可以接收和/或以其他方式访问硬件不兼容压缩纹理16,并且CPU可以运行已训练机器学习模型18以直接创建硬件兼容压缩纹理22。在转换发生之后,应用10可以丢弃硬件不兼容压缩纹理16。
在506,方法500可以可选地包括传输硬件兼容压缩纹理。硬件兼容压缩纹理可以被传输到GPU。例如,CPU、GPU和/或直接存储器访问(DMA)设备可以将硬件兼容压缩纹理22和/或硬件兼容压缩重构MIP链20传输到GPU 24以进行绘制。
在508,方法500可以包括绘制硬件兼容压缩纹理。硬件兼容压缩纹理22和/或硬件兼容压缩重构MIP链20可以由GPU 24绘制。GPU 24可以将硬件兼容压缩纹理22绘制为一个或多个绘制目标29中,并且可以传输一个或多个绘制目标29以用于在针对应用10的显示器28上呈现。这样,当用户播放应用10并且从应用10的一个场景移动到另一场景时,呈现在显示器28上的纹理26可以被更新。
现在参考图6,结合图1-4的架构的描述讨论了由计算机设备102(图1)使用机器学习来生成硬件兼容压缩纹理以与应用10(图1)一起使用的方法流程600。另外,方法流程600可以与方法流程500(图5)结合使用。
在602,方法600可以包括接收以与GPU不兼容的格式的图形硬件不兼容压缩纹理。计算机设备102可以经由例如网络104从计算机设备106下载具有已修改MIP链14和/或硬件不兼容压缩纹理16的应用10。在另一实现中,已修改MIP链14和/或硬件不兼容压缩纹理16可以保存在光学介质、闪存或硬盘上。例如,应用10可以接收和/或以其他方式访问硬件不兼容压缩纹理16和/或已修改MIP链14。在一种实现中,GPU 24可以接收和/或以其他方式访问硬件不兼容压缩纹理16和/或已修改MIP链14。在另一实现中,CPU可以接收和/或以其他方式访问硬件不兼容压缩纹理16和/或已修改MIP链14。
在604,方法600可以包括确定图形硬件不兼容压缩纹理与GPU不兼容。应用10可以标识图形硬件不兼容压缩纹理16的格式。例如,图形硬件不兼容压缩纹理16可以使用产生高压缩率的多种压缩形式/技术/算法(包括但不限于机器学习图像压缩、JPEG、小波、通用无损压缩和/或这些压缩技术的任何组合)中的一种或多种被压缩。在一种实现中,GPU 24和/或CPU可以标识图形硬件不兼容压缩纹理16的格式。
应用10、GPU 24和/或CPU可以将所标识的格式与关于针对GPU 24的硬件兼容格式的信息进行比较。当在针对图形硬件不兼容压缩纹理16的所标识格式与针对GPU 24的硬件兼容格式之间没有发生匹配时,应用10、GPU 24和/或CPU可以确定图形硬件不兼容压缩纹理16与GPU 24不兼容。例如,应用10可以接收关于GPU 24对BCN纹理进行操作的信息。应用10可以确定图形硬件不兼容压缩纹理16的格式不同于GPU 24兼容格式(例如,图形硬件不兼容压缩纹理16不是BCN纹理)。这样,应用10、GPU 24和/或CPU可以向已训练机器学习模型18通知图形硬件不兼容压缩纹理16与GPU 24格式不兼容。
在606,方法600可以包括向已训练机器学习模型提供信息,用于标识在将硬件不兼容压缩纹理转换为硬件兼容压缩纹理时要使用的元数据。例如,应用10、GPU 24和/或CPU可以向已训练机器学习模型18提供可以用于标识在将硬件不兼容压缩纹理16转换为硬件兼容压缩纹理22时要使用的元数据19的信息。例如,该信息可以标识图形硬件不兼容压缩纹理16的格式。该信息还可以包括针对GPU 24的硬件兼容格式。例如,应用10可以向已训练机器学习模型18通知GPU 24使用块压缩格式。
另外,信息还可以包括硬件不兼容压缩纹理中包括的纹理类型。可以由已训练机器学习模型18至少基于所使用的纹理类型和/或所使用的应用来选择不同元数据。例如,针对材质纹理(例如,植被、金属、木材、岩石、砖块、混凝土等)而选择的元数据可以不同于针对特定效果纹理(例如,火、烟、爆炸和/或魔术)而选择的元数据。
这样,已训练机器学习模型18可以使用所接收的信息来确定在将图形硬件不兼容压缩纹理16转换为硬件兼容压缩纹理22时使用什么元数据19。元数据19可以针对所标识的纹理26和/或纹理26的区域。因此,相同的元数据19可以用于纹理26的整个区域。
在608,方法600可以包括使用已训练机器学习模型至少基于所标识的元数据来将图形硬件不兼容压缩纹理直接转换为GPU可使用的硬件兼容压缩纹理。已训练机器学习模型18可以由应用10、GPU 24和/或CPU执行。已训练机器学习模型18可以接收和/或以其他方式访问已修改MIP链14和/或图形硬件不兼容压缩纹理16。
已训练机器学习模型18可以使用所标识的元数据19来创建与应用10的原始未加工图像非常相似的硬件兼容压缩纹理22。元数据19可以提供关于哪些模式、形状和/或端点可以针对所标识的纹理26和/或纹理26的子区域生成最佳质量块的指导。当将硬件不兼容压缩纹理16直接解压缩为BCN纹理时,已训练机器学习模型18可以使用元数据19来辅助选择块压缩纹理的正确的端点、模式和/或形状。例如,元数据19可以针对所标识的纹理指示在针对所标识的纹理选择块压缩纹理的模式时,已训练机器学习模型18可以仅使用8种不同模式中的模式1和2。
此外,已训练机器学习模型18可以放大较低分辨率图像(例如,已修改MIP链14的第一图像201和/或已修改MIP链14中的下一最大中间图像)以重新创建缺失图像,其中在重构图像中具有最少图像伪像,并且生成硬件兼容压缩重构MIP链20。已训练机器学习模型18可以使用所标识的元数据19来辅助生成硬件兼容压缩重构MIP链20。例如,元数据19可以提供关于哪些模式、形状和/或端点可以针对所标识的纹理26和/或纹理26的子区域产生最佳质量块的指导。
通过在将图形硬件不兼容压缩纹理16直接转换为硬件兼容压缩纹理22时使用元数据19,已训练机器学习模型18可以确定针对硬件兼容压缩纹理22的最佳输出。另外,硬件兼容压缩纹理22与原始源图像之间的差异最小。这样,与原始源图像相比,可能难以区分硬件兼容压缩纹理22(例如,在硬件兼容压缩纹理22中可能存在最小图像伪像)。因此,元数据19可以改进硬件兼容压缩纹理22的质量,和/或可以加速从图形硬件不兼容压缩纹理16到硬件兼容压缩纹理22的转换。
现在参考图7,示出了根据实现的示例计算机设备102,与图1相比,该示例计算机设备102包括附加组件细节。在一个示例中,计算机设备102可以包括用于执行与本文中描述的组件和功能中的一项或多项相关联的处理功能的处理器32。处理器32可以包括单组或多组处理器或多核处理器。此外,处理器32可以被实现为集成处理系统和/或分布式处理系统。
计算机设备102还可以包括诸如用于存储由处理器32执行的应用的本地版本的存储器34。存储器34可以包括由计算机可使用的一种类型的存储器,诸如随机存取存储器(RAM)、只读存储器(ROM)、磁带、磁盘、光盘、易失性存储器、非易失性存储器、及其任何组合。另外,处理器32和存储器34可以包括并且执行操作系统110(图1)。
此外,计算机设备102可以包括通信组件36,该通信组件36利用本文中描述的硬件、软件和服务来提供与一方或多方的通信的建立和维护。通信组件36可以在计算机设备102上的组件之间以及在计算机设备102与外部设备(诸如跨通信网络定位的设备和/或串行或本地连接到计算机设备102的设备)之间进行通信。例如,通信组件36可以包括一个或多个总线,并且还可以包括可操作用于与外部设备接口的、分别与传输器和接收器相关联的传输链组件和接收链组件。
另外,计算机设备102可以包括数据存储38,该数据存储38可以是硬件和/或软件的任何合适的组合,数据存储44提供结合本文中描述的实现而采用的信息、数据库和程序的大容量存储。例如,数据存储38可以是用于应用10(图1)、已训练机器学习模型18(图1)、GPU 24(图1)和/或显示器28(图1)的数据仓库。
计算机设备102还可以包括用户接口组件40,该用户接口组件40可操作以从计算机设备102的用户接收输入并且还可操作以生成用于呈现给用户的输出。用户接口组件40可以包括一个或多个输入设备,包括但不限于键盘、数字键盘、鼠标、触敏显示器、导航键、功能键、麦克风、语音识别组件、能够从用户接收输入的任何其他机制、或其任何组合。此外,用户接口组件40可以包括一个或多个输出设备,包括但不限于显示器、扬声器、触觉反馈机制、打印机、能够向用户呈现输出的任何其他机制、或其任何组合。
在一种实现中,用户接口组件40可以传输和/或接收与应用10、已训练机器学习模型18、GPU 24和/或显示器28的操作相对应的消息。此外,处理器32执行应用10、已训练机器学习模型18、GPU 24和/或显示器28,并且存储器34或数据存储38可以存储它们。
如本申请中使用的,术语“组件”、“系统”等旨在包括计算机相关实体,诸如但不限于硬件、固件、硬件和软件的组合、软件、或执行软件。例如,组件可以是但不限于在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。作为说明,在计算机设备上运行的应用和计算机设备都可以是组件。一个或多个组件可以驻留在进程和/或执行线程中,并且组件可以本地位于一个计算机上和/或分布在两个或更多个计算机之间。另外,这些组件可以从其上存储有各种数据结构的各种计算机可读介质执行。组件可以诸如根据具有一个或多个数据分组(诸如来自与本地系统、分布式系统中的另一组件进行交互和/或通过网络(诸如互联网)经由信号与其他系统交互的一个组件的数据)的信号通过本地和/或远程过程进行通信。
此外,术语“或”旨在表示包含性“或”而不是排他性“或”。也就是说,除非另有说明或从上下文中清楚得知,否则短语“X使用A或B”旨在表示任何自然的包含性排列。也就是说,以下任何一种情况都满足短语“X使用A或B”:X使用A;X使用B;或X同时使用A和B。此外,除非另有说明或从上下文中清楚得知指向单数形式,否则在本申请和所附权利要求书中使用的冠词“一个(a)”和“一个(an)”通常应当解释为表示“一个或多个”。
各种实现或特征可能已经根据可以包括多个设备、组件、模块等的系统被呈现。应当理解和意识到,各种系统可以包括附加的设备、组件、模块等,和/或可以不包括结合附图讨论的设备、组件、模块等中的所有。也可以使用这些方法的组合。
结合本文中公开的实施例而描述的各种说明性逻辑、逻辑块和方法的动作可以利用旨在执行本文中描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑设备、分立门或晶体管逻辑、分立硬件组件、或其任何组合中的特别地编程的一种来实现或执行。通用处理器可以是微处理器,但是替代地,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器也可以被实现为计算机设备的组合,例如,DSP和微处理器的组合、多个微处理器、与DSP核心结合的一个或多个微处理器、或任何其他这样的配置。另外,至少一个处理器可以包括可操作以执行一个或多个上述步骤和/或动作的一个或多个组件。
此外,结合本文中公开的实现而描述的方法或算法的步骤和/或动作可以直接体现在硬件中、在由处理器执行的软件模块中、或在这两者的组合中。软件模块可以驻留在RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、闪存、可移动磁盘、CD-ROM、或本领域已知的任何其他形式的存储介质中。示例性存储介质可以耦合到处理器,使得处理器可以从该存储介质读取信息并且可以向该存储介质写入信息。替代地,存储介质可以与处理器成一体。此外,在一些实现中,处理器和存储介质可以驻留在ASIC中。另外,ASIC可以驻留在用户终端中。替代地,处理器和存储介质可以作为分立组件驻留在用户终端中。另外,在一些实施方案中,方法或算法的步骤和/或动作可作为一个代码和/或指令或者代码和/或指令的任何组合或集合而驻留在机器可读介质和/或计算机可读介质上,机器可读介质和/或计算机可读介质可以被并入计算机程序产品中。
在一种或多种实现中,所描述的功能可以以硬件、软件、固件或其任何组合来实现。如果以软件实现,则功能可以作为一个或多个指令或代码被存储在计算机可读介质上或被传输。计算机可读介质包括计算机存储介质和通信介质,包括有助于将计算机程序从一个地方转移到另一地方的任何介质。存储介质可以是计算机可以访问的任何可用介质。作为示例而非限制,这样的计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁性存储设备、或者可以用于以指令或数据结构形式存储期望的程序代码并且可以由计算机访问的任何其他介质。本文中使用的磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常以磁性方式复制数据,而光盘通常通过激光以光学方式复制数据。上述各项的组合也应当被包括在计算机可读介质的范围内。
尽管已经结合本公开的示例描述了本公开的实现,但是本领域技术人员将理解,可以在不脱离本发明范围的情况下对上述实现进行变化和修改。通过考虑说明书或根据本文中公开的示例的实践,其他实现对于本领域技术人员将是很清楚的。
Claims (19)
1.一种计算机设备,包括:
图形处理单元GPU;
存储器,用于存储数据和指令,所述数据和指令包括应用和以与所述GPU不兼容的格式的图形硬件不兼容压缩纹理;
至少一个处理器,与所述存储器通信;
操作系统,与所述存储器、所述至少一个处理器、所述GPU、和所述应用通信,其中所述应用可操作以用于:
在所述应用的运行时或安装时,接收所述图形硬件不兼容压缩纹理;
确定所述图形硬件不兼容压缩纹理与所述GPU不兼容;以及
使用已训练机器学习模型,将所述图形硬件不兼容压缩纹理直接转换为所述GPU能够使用的硬件兼容压缩纹理,其中所述已训练机器学习模型使用元数据,所述元数据提供在转换期间要使用的、针对所述图形硬件不兼容压缩纹理的块压缩的配置,以使得所述硬件兼容压缩纹理与所述应用的原始未加工图像非常相似。
2.根据权利要求1所述的计算机设备,其中所述硬件兼容压缩纹理是以块压缩数字(BCN)纹理的格式,并且其中所述GPU还被配置为绘制来自所述硬件兼容压缩纹理的纹理以呈现在显示器上。
3.根据权利要求1所述的计算机设备,其中所述已训练机器学习模型是通过以下过程而被离线训练的:对所述图形硬件不兼容压缩纹理执行至少一个机器学习搜索,以确定针对所述图形硬件不兼容压缩纹理的块压缩的所述配置。
4.根据权利要求3所述的计算机设备,其中不同的机器学习搜索针对不同纹理类型和不同内容类型中的一种或多种被训练。
5.根据权利要求1所述的计算机设备,其中所述应用还可操作以用于:
访问用于与所述应用的纹理一起使用的已修改MIP链,所述已修改MIP链包括具有变化的分辨率的多个图像,其中所述已修改MIP链从原始MIP链中移除最高分辨率图像,并且所述多个图像与用于与所述应用的所述纹理一起使用的原始MIP链相对应。
6.根据权利要求5所述的计算机设备,其中所述应用还可操作以用于:
通过将所述已训练机器学习模型应用于所述已修改MIP链的第一图像,来重构所述最高分辨率图像;
生成具有所重构的所述最高分辨率图像和所述多个图像的硬件兼容压缩重构MIP链;以及
向所述GPU传输所述硬件兼容压缩重构MIP链。
7.根据权利要求6所述的计算机设备,其中所述硬件兼容压缩重构MIP链包括以块压缩数字(BCN)纹理格式的图像。
8.根据权利要求5所述的计算机设备,其中所述已修改MIP链还从所述原始MIP链中移除一个或多个较低分辨率图像。
9.根据权利要求1所述的计算机设备,其中所述GPU和中央处理单元(CPU)中的至少一者将所述硬件不兼容压缩纹理直接解压缩为所述硬件兼容压缩纹理。
10.一种用于生成硬件兼容压缩纹理的方法,包括:
由在计算机设备上执行的应用在应用程序的运行时或安装时接收以与图形处理单元GPU不兼容的格式的图形硬件不兼容压缩纹理;
确定所述图形硬件不兼容压缩纹理与所述GPU不兼容;以及
使用已训练机器学习模型,将所述图形硬件不兼容压缩纹理直接转换为所述GPU能够使用的硬件兼容压缩纹理,其中所述已训练机器学习模型使用元数据,所述元数据提供在转换期间要使用的、针对所述图形硬件不兼容压缩纹理的块压缩的配置,以使得所述硬件兼容压缩纹理与所述应用的原始未加工图像非常相似。
11.根据权利要求10所述的方法,其中所述硬件兼容压缩纹理是以块压缩数字(BCN)纹理的格式,并且其中所述GPU还被配置为绘制来自所述硬件兼容压缩纹理的纹理以呈现在显示器上。
12.根据权利要求10所述的方法,其中所述已训练机器学习模型是通过以下过程而被离线训练的:对所述图形硬件不兼容压缩纹理执行至少一个机器学习搜索,以确定针对所述图形硬件不兼容压缩纹理的块压缩的所述配置。
13.根据权利要求12所述的方法,其中不同的机器学习搜索针对不同纹理类型和不同内容类型中的一种或多种被训练。
14.根据权利要求10所述的方法,还包括:
访问用于与所述应用的纹理一起使用的已修改MIP链,所述已修改MIP链包括具有变化的分辨率的多个图像,其中所述已修改MIP链从原始MIP链中移除最高分辨率图像,并且所述多个图像与用于与所述应用的纹理一起使用的原始MIP链相对应。
15.根据权利要求14所述的方法,还包括:
通过将所述已训练机器学习模型应用于所述已修改MIP链的第一图像,来重构所述最高分辨率图像;
生成具有所重构的所述最高分辨率图像和所述多个图像的硬件兼容压缩重构MIP链;以及
向所述GPU传输所述硬件兼容压缩重构MIP链。
16.根据权利要求15所述的方法,其中所述硬件兼容压缩重构MIP链包括以块压缩数字(BCN)纹理格式的图像。
17.根据权利要求14所述的方法,其中所述已修改MIP链还从所述原始MIP链中移除一个或多个较低分辨率图像。
18.根据权利要求10所述的方法,其中所述GPU和中央处理单元(CPU)中的至少一者将所述硬件不兼容压缩纹理直接解压缩为所述硬件兼容压缩纹理。
19.一种存储由计算机设备能够执行的指令的非瞬态计算机可读介质,所述指令包括:
用于使所述计算机设备在应用程序的运行时接收以与图形处理单元GPU不兼容的格式的图形硬件不兼容压缩纹理的至少一个指令;
用于使所述计算机设备确定所述图形硬件不兼容压缩纹理与所述GPU不兼容的至少一个指令;以及
用于使所述计算机设备使用已训练机器学习模型将所述硬件不兼容压缩纹理直接转换为所述GPU能够使用的硬件兼容压缩纹理的至少一个指令,其中所述已训练机器学习模型使用元数据,所述元数据提供在转换期间要使用的、针对所述图形硬件不兼容压缩纹理的块压缩的配置,以使得所述硬件兼容压缩纹理与所述应用的原始未加工图像非常相似。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410268019.8A CN118071570A (zh) | 2018-03-30 | 2019-03-23 | 生成硬件兼容压缩纹理的方法、计算机设备和介质 |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862650641P | 2018-03-30 | 2018-03-30 | |
US62/650,641 | 2018-03-30 | ||
US15/994,464 | 2018-05-31 | ||
US15/994,464 US10504248B2 (en) | 2018-03-30 | 2018-05-31 | Machine learning applied to textures compression or upscaling |
PCT/US2019/023769 WO2019190933A1 (en) | 2018-03-30 | 2019-03-23 | Machine learning applied to textures compression or upscaling |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410268019.8A Division CN118071570A (zh) | 2018-03-30 | 2019-03-23 | 生成硬件兼容压缩纹理的方法、计算机设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111902807A CN111902807A (zh) | 2020-11-06 |
CN111902807B true CN111902807B (zh) | 2024-03-08 |
Family
ID=68057067
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980021202.5A Active CN111902807B (zh) | 2018-03-30 | 2019-03-23 | 生成硬件兼容压缩纹理的方法、计算机设备和介质 |
CN202410268019.8A Pending CN118071570A (zh) | 2018-03-30 | 2019-03-23 | 生成硬件兼容压缩纹理的方法、计算机设备和介质 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410268019.8A Pending CN118071570A (zh) | 2018-03-30 | 2019-03-23 | 生成硬件兼容压缩纹理的方法、计算机设备和介质 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10504248B2 (zh) |
EP (1) | EP3776218B1 (zh) |
CN (2) | CN111902807B (zh) |
WO (1) | WO2019190933A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9378560B2 (en) * | 2011-06-17 | 2016-06-28 | Advanced Micro Devices, Inc. | Real time on-chip texture decompression using shader processors |
US10930020B2 (en) * | 2018-08-09 | 2021-02-23 | Electronic Arts Inc. | Texture compression using a neural network |
US10909174B1 (en) * | 2019-02-04 | 2021-02-02 | Amazon Technologies, Inc. | State detection of live feed |
JP2021174404A (ja) * | 2020-04-28 | 2021-11-01 | 株式会社Preferred Networks | データ生成装置、訓練装置及びデータ生成方法 |
US11941780B2 (en) | 2020-05-11 | 2024-03-26 | Sony Interactive Entertainment LLC | Machine learning techniques to create higher resolution compressed data structures representing textures from lower resolution compressed data structures |
US20220092740A1 (en) * | 2020-09-23 | 2022-03-24 | Sony Interactive Entertainment LLC | Machine learning techniques to create higher resolution compressed data structures representing textures from lower resolution compressed data structures and training therefor |
CN114832373B (zh) * | 2021-12-21 | 2023-03-07 | 许磊 | 一种纹理、音频和视频的压缩和重建方法 |
US20230206383A1 (en) * | 2021-12-23 | 2023-06-29 | Intel Corporation | Unified stateless compression system for universally consumable compression |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107250991A (zh) * | 2015-02-13 | 2017-10-13 | 谷歌公司 | 透明硬件辅助存储器解压缩 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110157196A1 (en) | 2005-08-16 | 2011-06-30 | Exent Technologies, Ltd. | Remote gaming features |
US8031197B1 (en) * | 2006-02-03 | 2011-10-04 | Nvidia Corporation | Preprocessor for formatting video into graphics processing unit (“GPU”)-formatted data for transit directly to a graphics memory |
US7768523B2 (en) * | 2006-03-09 | 2010-08-03 | Microsoft Corporation | Shading using texture space lighting and non-linearly optimized MIP-maps |
US8542243B2 (en) | 2009-11-19 | 2013-09-24 | Douglas H. Rogers | High-compression texture mapping |
US8625910B2 (en) * | 2011-02-25 | 2014-01-07 | Adobe Systems Incorporated | Compression of image data |
US9417911B2 (en) * | 2014-03-12 | 2016-08-16 | Live Planet Llc | Systems and methods for scalable asynchronous computing framework |
US11221990B2 (en) | 2015-04-03 | 2022-01-11 | The Mitre Corporation | Ultra-high compression of images based on deep learning |
GB2552323B (en) * | 2016-07-18 | 2020-04-29 | Imagination Tech Ltd | Mip map compression |
US10235740B2 (en) * | 2016-12-16 | 2019-03-19 | Dell Products L.P. | Flexible information handling system display resolution scaling |
-
2018
- 2018-05-31 US US15/994,464 patent/US10504248B2/en active Active
-
2019
- 2019-03-23 CN CN201980021202.5A patent/CN111902807B/zh active Active
- 2019-03-23 CN CN202410268019.8A patent/CN118071570A/zh active Pending
- 2019-03-23 WO PCT/US2019/023769 patent/WO2019190933A1/en active Application Filing
- 2019-03-23 EP EP19715775.3A patent/EP3776218B1/en active Active
- 2019-12-02 US US16/700,820 patent/US11164342B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107250991A (zh) * | 2015-02-13 | 2017-10-13 | 谷歌公司 | 透明硬件辅助存储器解压缩 |
Non-Patent Citations (1)
Title |
---|
基于GPU的遥感纹理压缩解压算法;陆筱霞;段光明;李思昆;;系统仿真学报(第S1期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
WO2019190933A1 (en) | 2019-10-03 |
US11164342B2 (en) | 2021-11-02 |
US10504248B2 (en) | 2019-12-10 |
EP3776218A1 (en) | 2021-02-17 |
US20190304140A1 (en) | 2019-10-03 |
CN118071570A (zh) | 2024-05-24 |
CN111902807A (zh) | 2020-11-06 |
EP3776218B1 (en) | 2023-03-29 |
US20200105030A1 (en) | 2020-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111902807B (zh) | 生成硬件兼容压缩纹理的方法、计算机设备和介质 | |
US11373272B2 (en) | Digital gradient signal processing system and method for signals comprising at least three dimensions | |
US11676325B2 (en) | Layered, object space, programmable and asynchronous surface property generation system | |
JPH11503255A (ja) | データ変換関数およびデータマスクでデータセットを表現する方法およびシステム | |
US11817886B2 (en) | Parallel decompression of compressed data streams | |
US10699443B2 (en) | Reducing the search space for real time texture compression | |
US20220292650A1 (en) | Generating modified digital images using deep visual guided patch match models for image inpainting | |
JP2021524968A (ja) | 畳み込みニューラルネットワークを使用するシーンを再構成する方法、システム、製造物品、および装置 | |
KR20170038525A (ko) | 그래픽 프로세싱 장치 및 그래픽 프로세싱 장치의 동작 방법 | |
US20230051749A1 (en) | Generating synthesized digital images utilizing class-specific machine-learning models | |
US20220012945A1 (en) | Point cloud geometry upsampling | |
US20240185502A1 (en) | Efficient real-time shadow rendering | |
KR20230027098A (ko) | 델타 트리플릿 지수 압축 | |
JP2023530548A (ja) | マルチプレーン画像圧縮 | |
KR20230010672A (ko) | 데이터 압축의 방법 및 장치 | |
WO2023192382A1 (en) | Vector-quantized transformable bottleneck networks | |
CN115953524A (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
US11663763B2 (en) | Image-to-image translation using an auto-regressive generative model | |
CN118153129B (zh) | 基于微调大模型的工件三维模型生成方法、设备及介质 | |
CN112100044B (zh) | 一种识别游戏相似程度的方法与设备 | |
US20230252725A1 (en) | Bounding volume hierarchy leaf node compression | |
US20220414314A1 (en) | Generating scalable and semantically editable font representations | |
WO2023201103A1 (en) | Hardware encoder for color data in a 2d rendering pipeline | |
WO2023201099A1 (en) | Block-based random access capable lossless graphics asset compression | |
WO2023201102A1 (en) | Rasterization optimization for analytic anti-aliasing |
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 |