astc-encoder

astc-encoder

ASTC纹理压缩和解压缩命令行工具

astc-encoder是一款基于ASTC纹理压缩标准的命令行工具,支持低动态范围和高动态范围图像的压缩与解压缩。工具提供多种压缩质量预设,允许在压缩时间和质量间权衡。支持ASTC规范的全部配置文件和块大小,提供0.89至8位/像素的压缩比选择,适用于各种图像压缩需求。

ASTC纹理压缩图像编码OpenGLVulkanGithub开源项目

以下为英文原文的中文翻译:

关于

Arm® Adaptive Scalable Texture Compression (ASTC) Encoder, astcenc是一个命令行工具,用于使用ASTC纹理压缩标准压缩和解压缩图像。

ASTC 格式

ASTC压缩数据格式由Arm®和AMD开发,已被采纳为OpenGL®、OpenGL ES和Vulkan®图形API的官方扩展。它在图像质量和位率以及内容创作者可用的格式和位率灵活性方面取得了重大进展。这使更多资产可以使用压缩,通常位率比其他格式更低,从而减少了存储内存和带宽需求。

请阅读[ASTC格式概述][1]以快速了解该格式,或阅读完整的[Khronos数据格式规范][2]以获取所有详细信息。

许可证

该项目采用Apache 2.0许可证。下载此存储库中的任何组件,即表示您认可LICENSE.txt文件中规定的条款。

编码器功能支持

编码器支持压缩低动态范围(BMP、JPEG、PNG、TGA)和高动态范围(EXR、HDR)图像,以及包装在DDS和KTX容器格式中的部分图像数据,输出为ASTC或KTX格式图像。

解码器支持解压缩ASTC或KTX格式输入图像,输出为低动态范围(BMP、PNG、TGA)、高动态范围(EXR、HDR)或DDS和KTX包装图像。

编码器允许通过"exhaustive"、"verythorough"、"thorough"、"medium"、"fast"和"fastest"编码质量预设来控制压缩时间/质量权衡。

编码器通过报告压缩时间和输入图像与压缩输出之间的峰值信噪比(PSNR)来允许压缩时间和质量分析。

ASTC格式支持

astcenc压缩器支持生成ASTC规范允许的所有三个个人资料的图像:

  • 2D低动态范围(LDR profile)
  • 2D LDR和高动态范围(HDR profile)
  • 2D和3D,LDR和HDR(Full profile)

它还支持所有ASTC块大小和压缩模式,允许内容创作者使用从0.89比特/像素到8比特/像素的全范围质量-比特率选项。

预编译二进制文件

ASTCENC稳定版本的发布构建二进制文件位于[GitHub Releases page][3]。

提供适用于Windows、macOS和Linux的64位构建。

Windows和Linux

对于Windows和Linux,ASTCENC的构建提供了多个二进制文件,每个都针对特定的SIMD指令集进行了优化。

对于x86-64,我们按性能递增的顺序提供:

  • astcenc-sse2 - 使用SSE2
  • astcenc-sse4.1 - 使用SSE4.1和POPCNT
  • astcenc-avx2 - 使用AVX2、SSE4.2、POPCNT和F16C

x86-64 SSE2构建将在所有x86-64机器上运行,但它是最慢的。其他两个需要扩展的CPU指令集支持,这并非普遍可用,但每个步骤都会获得约15%的性能提升。

对于Arm,如果有可用的二进制文件,我们提供:

  • astcenc-neon - 使用NEON

macOS

对于macOS设备,我们提供一个单一的通用二进制文件astcenc,允许操作系统自动使用当前主机机器的正确二进制变体。支持三个架构slice:

  • x86_64 - 使用上述定义的astcenc-sse4.1构建。
  • x86_64h - 使用上述定义的astcenc-avx2构建。
  • arm64 - 使用上述定义的astcenc-neon构建。

存储库分支

main分支是压缩器的主动开发分支。它旨在成为最新主要发布系列的稳定分支,但由于它用于持续开发,因此预计会有一些不稳定性。我们建议使用最新的稳定发布标签进行生产开发。

3.x分支是3.x发布系列的稳定分支。它不再处于活跃开发状态,但它是一个受支持的分支,会继续获得反向移植的错误修复。

1.x2.x分支是较旧版本的稳定分支。它们不再处于活跃开发状态或获得错误修复。

您可能会发现的任何其他分支都是新功能或优化的开发分支,因此可能很有趣,但应被视为临时和不稳定的。

开始

打开终端,切换到适用于您系统的适当目录,然后运行ASTCENC编码器程序,如下所示:

在Linux或macOS上:

./astcenc

在Windows上:

astcenc

调用astcenc -help会给出一个详细的帮助信息,包括使用说明和所有可用命令行选项的详细信息。下面总结了主要的编码器选项。

压缩图像

使用 -cl \ -cs \ -ch \ -cH模式压缩图像。例如:

astcenc -cl example.png example.astc 6x6 -medium

这使用LDR颜色配置文件和6x6块尺寸(3.56比特/像素)压缩example.png-medium质量预设提供了合理的图像质量和相对较快的压缩速度,因此是压缩的良好起点。输出存储为线性颜色空间压缩图像example.astc

可用的模式有:

  • -cl : 使用线性 LDR 色彩配置文件。
  • -cs : 使用 sRGB LDR 色彩配置文件。
  • -ch : 使用针对 HDR RGB 和 LDR A 调整的 HDR 色彩配置文件。
  • -cH : 使用针对 HDR RGBA 调整的 HDR 色彩配置文件。

如果您打算将生成的图像与解码模式扩展一起使用,以将解压缩精度限制为 UNORM8,建议您也指定 -decode_unorm8 标志。这将确保压缩器在选择编码时使用正确的舍入规则。

解压缩图像

使用 -dl-ds-dh-dH 模式解压缩图像。例如:

astcenc -dh example.astc example.tga

这将使用完全 HDR 功能配置文件解压缩 example.astc,并将解压缩的输出存储到 example.tga

可用模式与用于压缩的选项相同,但使用 d 前缀。请注意,对于解压缩,两种 HDR 模式之间没有区别,它们都是为了保持操作的对称性而提供的。

测量图像质量

使用 -tl-ts-th-tH 模式评估压缩质量。例如:

astcenc -tl example.png example.tga 5x5 -thorough

这等同于使用 LDR 色彩配置文件和 5x5 块大小对图像进行压缩,使用 -thorough 质量预设,然后立即解压缩图像并保存结果。这可用于对压缩图像质量进行可视化检查。此外,此模式还会将一些图像质量指标打印到控制台。

可用模式与用于压缩的选项相同,但使用 t 前缀。

实验

高效的实时图形需要尽量减小压缩纹理的大小,因为这可以减少内存占用、减少内存带宽、节省能源,并可提高纹理缓存的效率。然而,像任何有损压缩格式一样,总会存在压缩图像质量无法接受的情况,因为无法用足够的位数来表示所需的输出精度。我们建议您通过实验块占用空间来找到尺寸和质量之间的最佳平衡,因为可微调的压缩比是 ASTC 格式的主要优势之一。

可以通过 -fastest-fast-medium-thorough-exhaustive 来控制压缩速度。一般来说,编码器花费的时间越多,结果就越好,但这种改进幅度会越来越小。

还有许多其他命令行选项可用于调整编码器参数,以微调压缩算法。有关更多详细信息,请参见命令行帮助消息。

编辑推荐精选

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

Hunyuan3D-2

Hunyuan3D-2

高分辨率纹理 3D 资产生成

Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。

3FS

3FS

一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。

3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。

下拉加载更多