Jpegli 简介:Google 开源的新一代 JPEG 编码库

news2024/10/6 5:59:21

互联网改变了我们的生活、工作和交流方式。然而,当页面加载缓慢时,它可能会变成令人沮丧的根源。这个问题的核心在于图像的编码。

为了改进这一点,Google 推出了 Jpegli,这是一种先进的 JPEG 编码库,它保持了高度的向后兼容性,同时提供增强的功能,并在高质量压缩设置下将压缩比提高了 35%。

Jpegli 是一个新的 JPEG 编码库,其设计比传统 JPEG 更快、更高效、更美观。它使用了许多新技术来实现这些目标,包括:

  • 它提供了完全可互操作的编码器和解码器,符合原始 JPEG 标准及其最传统的 8 位形式,以及与 libjpeg-turbo 和 MozJPEG 的 API/ABI 兼容性。
  • 高质量:当通过 Jpegli 压缩或解压缩图像时,会执行更精确且心理视觉上有效的计算,并且图像将看起来更清晰并且可观察到的伪影更少。
  • 速度快:在提高图像质量/压缩密度比的同时,Jpegli 的编码速度与 libjpeg-turbo 和 MozJPEG 等传统方法相当。这意味着 Web 开发人员可以轻松地将 Jpegli 集成到他们现有的工作流程中,而无需牺牲编码速度性能或内存使用。
  • 10+ 位:Jpegli 每个组件可以使用 10+ 位进行编码。传统的 JPEG 编码解决方案仅提供每个组件 8 位动态,导致缓慢梯度中出现可见的条带伪影。Jpegli 的 10+ 位编码以原始 8 位形式进行,生成的图像可与 8 位查看器完全互操作。10+ 位动态可作为 API 扩展使用,需要更改应用程序代码才能从中受益。
  • 更密集:Jpegli 比传统 JPEG 编解码器更有效地压缩图像,可以节省带宽和存储空间,并加快网页速度。

Jpegli 工作原理

Jpegli 的工作原理是使用许多新技术来降低噪声并提高图像质量;主要是来自 JPEG XL 参考实现的自适应量化启发式、改进的量化矩阵选择、精确计算中间结果,并有可能使用更高级的色彩空间。所有新方法都经过精心设计,以使用传统的 8 位 JPEG 形式,因此新压缩的图像与现有的 JPEG 查看器(例如浏览器、图像处理软件等)兼容。

自适应量化启发法

Jpegli 使用自适应量化来降低噪声并提高图像质量。这是通过基于心理视觉建模对量化死区进行空间调制来完成的。使用我们最初为 JPEG XL 开发的自适应量化启发式方法,可以提高图像质量并减小文件大小。这些启发式方法比 guetzli 中最初使用的类似方法要快得多。

改进的量化矩阵选择

Jpegli 还使用一组量化矩阵,这些矩阵是通过优化心理视觉质量指标的组合而选择的。 Jpegli 中的精确中间结果可提高图像质量,并且编码和解码都会产生更高质量的结果。 Jpegli 可以使用 JPEG XL 的 XYB 色彩空间来进一步提高质量和密度。

测试 Jpegli

为了量化 Jpegli 的图像质量改进,我们在众包评估者的帮助下比较了 Cloudinary 图像数据集 '22 中的图像对,这些图像使用三种编解码器进行编码:Jpegli、libjpeg-turbo 和 MozJPEG,并以多种比特率进行编码。

在此测试中,我们仅限于比较编码,解码始终使用 libjpeg-turbo 执行。我们在禁用 XYB ICC 颜色配置文件的情况下进行了研究,因为我们预计大多数用户最初会使用 Jpegli。为了简化跨编解码器和设置的结果比较,我们使用国际象棋排名启发 ELO 评分来汇总所有评估者决策。

ELO 分数越高,表明评估者研究中的总体表现越好。我们可以观察到,2.8 BPP 的 jpegli 获得的 ELO 评级高于 3.7 BPP 的 libjpeg-turbo,比特率比 Jpegli 高 32%。

测试结果表明,Jpegli 可以比传统 JPEG 编解码器多压缩 35% 的高质量图像。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1581486.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OpenAI曾转录100万小时视频数据,训练GPT-4

4月7日,纽约时报在官网发布了一篇名为《科技巨头如何挖空心思,为AI收集数据》的技术文章。 纽约时报表示,OpenAI曾在2021年几乎消耗尽了互联网有用的文本数据源。为了缓解训练数据短缺的难题,便开发了知名开源语音识别模型Whispe…

系统架构最佳实践 -- 智慧图书管理系统架构设计

随着数字化时代的到来,智慧图书管理系统在图书馆和机构中扮演着重要的角色。一个优秀的图书管理系统不仅需要满足基本的借阅管理需求,还需要具备高效的性能、良好的扩展性和稳定的安全性。本文将讨论智慧图书管理系统的架构设计与实现,以满足…

spring Cache的基本使用

一、spring Cache基本介绍(其实是通过代理对象来进行操作的) Spring Cache 是 Spring 框架提供的一个缓存抽象,它能够轻松地集成到 Spring 应用程序中,为方法调用的结果提供缓存支持,从而提高应用程序的性能和响应速度…

基于拉格朗日分布算法的电动汽车充放电调度MATLAB程序

微❤关注“电气仔推送”获得资料(专享优惠) 程序简介 该模型主要做的是基于拉格朗日分布算法的电动汽车充放电调度模型。利用蒙特卡洛模拟法模拟出电动汽车负荷曲线,并求解出无序充电功率曲线和有序充电曲线,该模型在电动汽车个…

合并单元格的excel文件转换成json数据格式

github地址: https://github.com/CodeWang-Ay/DataProcess 类型1 需求1: 类似于数据格式: https://blog.csdn.net/qq_44072222/article/details/120884158 目标json格式 {"位置": 1, "名称": "nba球员", "国家": "美国"…

C++设计模式:原型模式(八)

1、定义与动机 定义:使用原型实例指定创建对象的种类,然后通过拷贝这些原型来创建新的对象。 动机: 在软件系统中,经常面临着“某些结构复杂的对象”的创建工作;由于需求的变化,这些对象经常面临着剧烈的变…

登录压力测试

目录 一、准备测试数据 1.1数据库存储过程添加数据 1.2导出为csv作为测试数据(账号、密码) 二、使用fiddler抓包查看接口 2.1.抓到相关接口信息 2.2添加线程组和http请求 2.3将前面接口需要的参数去json格式化 ​2.4填写相关信息 ​ 2.5添加http…

顺序表(C语言实现)

什么是顺序表 顺序表和数组的区别 顺序表本质就是数组 结构体初阶进阶 系统化的学习-CSDN博客 简单解释一下,就像大家去吃饭,然后左边是苍蝇馆子,右边是修饰过的苍蝇馆子,但是那个好看的苍蝇馆子一看,这不行啊&a…

Web前端-Ajax

Ajax 概念:Asynchronous JavaScript And XML,异步的JavaScript和XML。 作用: 1.数据交换:通过Ajax可以给服务器发送请求,并获取服务器响应的数据。 2.异步交互:可以在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页的技术,如:搜索联想、用户名是否可用的校验等等…

「44」直播间换脸,揭开神秘的面纱……

「44」换脸神器 让你瞬间秒变「明星脸」带货 DeepFace是Facebook的人脸识别系统之一,旨在在照片和视频中准确识别和标识人脸。它使用深度学习和神经网络技术来进行高度精确的人脸匹配和验证。 DeepFace利用了大量的训练数据和先进的人脸识别算法,能够…

Redis中的集群(二)

节点 集群数据结构 redisClient结构和clusterLink结构的相同和不同之处 redisClient结构和clusterLink结构都有自己的套接字描述符和输入、输出缓冲区,这两个结构的区别在于,redisClient结构中的套接字和缓冲区是用于连接客户端的,而clust…

使用Vivado Design Suite进行功率优化

功率优化是一个可选步骤,它通过使用时钟门控来优化动态功率。它既可以在Project模式下使用,也可以在Non-Project模式下使用,并且可以在逻辑优化之后或布局之后运行,以减少设计中的功率需求。功率优化包括Xilinx的智能时钟门控解决…

git分支-分支工作流

分支工作流 现在已经掌握了分支和合并的基础知识,可以或应该如何使用它们?在本节中,我们将介绍一些常见的工作流程,这种轻量级的分支使得这些工作流程成为可能,因此我们可以决定是否要将它们纳入到自己的开发周期中。…

每天五分钟深度学习:如何理解逻辑回归算法的假设函数?

本文重点 我们在机器学习专栏中已经学习了逻辑回归算法,本次课程我们将重温逻辑回归算法,该算法适用于二分类的问题,本文主要介绍逻辑回归的假设函数。我们在学习线性回归算法的时候,我们已经知道了线性回归算法的假设hθ(x)=θTX(参数θ的转置*X),但是对于逻辑回归而言…

使用wget下载Github代码文件

前言 使用wget无法直接从Github链接直接下载代码文件,下文介绍解决方案。 解决方案 确保要下载的代码文件是公开文件,否则无法通过wget下载。 进入Github并找到要下载的代码文件,例如: 进入文件后,点击文件右侧的…

Windows完全卸载MySQL后再下载安装(附安装包)

目录 友情提醒第一章:如何完全卸载干净mysql教程(三个步骤完全卸载)1)步骤一:卸载程序2)步骤二:删除文件3)步骤三:删除注册表信息 第二章:下载软件两种方式1&…

R语言数据可视化:ggplot2绘图系统

ggpolt2绘图系统被称为R语言中最高大上的绘图系统,使用ggplot2绘图系统绘图就像是在使用语法创造句子一样,把数据映射到几何客体的美学属性上。因此使用ggplot2绘图系统的核心函数ggplot来绘图必须具备三个条件,数据data,美学属性…

视频插针调研

视频插针 1、评估指标2、准确度3、实时4、视频流处理3、实时RIFE视频插帧测试 1、评估指标 参考:https://blog.csdn.net/weixin_43478836/article/details/104159648 https://blog.csdn.net/weixin_43605641/article/details/118088814 PSNR和SSIM PSNR数值越大表…

【CSS】MDN

一、CSS构建 1.1 CSS选择器 1.1.1 元素选择器 标签不区分大小写 示例: span {background-color: yellow; }1.1.2 通用选择器 选择文档中所有内容,重置样式表中使用较多 鉴于div:first-child(代表所有的div元素,并且是第一个…

IT行业网络安全守护者-行云管家云堡垒机

IT行业即信息技术行业,是一个涵盖广泛的行业领域,主要涉及与信息的处理、存储、传输和应用相关的技术。对于IT行业而言,保障数据安全以及网络安全至关重要,一不小心就容易造成数据泄露事件。今天我们小编就给大家介绍一下IT行业网…