图像处理篇---图像压缩格式编码格式

news/2025/2/2 12:20:18/

文章目录

  • 前言
  • 图像压缩格式
    • 无损压缩(Lossless Compression)
      • 1.PNG(Portable Network Graphics)
      • 2.GIF(Graphics Interchange Format)
      • 3.BMP(Bitmap)
      • 4.TIFF(Tagged Image File Format)
    • 有损压缩(Lossy Compression)
      • 1.JPEG(Joint Photographic Experts Group)
      • 2.WebP
      • 3.HEIF/HEIC(High Efficiency Image File Format)
    • 压缩算法简介
  • 编码格式
    • 文本编码格式
      • 1.ASCII(American Standard Code for Information Interchange)
      • 2.UTF-8(Unicode Transformation Format - 8-bit)
      • 3.UTF-16(Unicode Transformation Format - 16-bit)
      • 4.ISO-8859-1(Latin-1)
    • 音频编码格式
      • 1.MP3(MPEG Audio Layer III)
      • 2.AAC(Advanced Audio Coding)
      • 3.WAV(Waveform Audio File Format)
      • 4.FLAC(Free Lossless Audio Codec)
    • 视频编码格式
      • 1.H.264/MPEG-4 AVC(Advanced Video Coding)
      • 2.HEVC(High Efficiency Video Coding)
      • 3.VP9
      • 4.AV1(AOMedia Video 1)
    • 数据编码格式
      • 1.Base64
      • 2.Hexadecimal
      • 3.URL编码
      • 额外小知识
  • 总结


前言

以上就是今天要讲的内容,本文简单介绍了常见的图像压缩格式如JPEG、GIF、WebP,编码格式


图像压缩格式

图像压缩格式是为了减少图像数据的大小,以便于存储、传输和处理。主要的图像压缩格式可以分为两大类:无损压缩和有损压缩。以下是一些常见的图像压缩格式的详细解释:

无损压缩(Lossless Compression)

无损压缩是指在压缩图像的过程中不丢失任何信息,解压后可以完全恢复原始图像。常见的无损压缩格式有:

1.PNG(Portable Network Graphics)

PNG格式支持无损压缩,适合网页图像和图形设计
它使用LZ77算法的一个变种进行压缩。
支持透明背景,并且可以保存多达16位的彩色深度

2.GIF(Graphics Interchange Format)

GIF格式使用LZW(Lempel-Ziv-Welch)算法进行压缩。
它最多支持8位颜色,即256种颜色,因此不适合复杂的彩色图像
GIF支持动画和透明背景

3.BMP(Bitmap)

BMP格式通常不进行压缩,但某些版本的BMP支持RLE(Run-Length Encoding)无损压缩
BMP文件通常较大,因为它保存了图像的每个像素的详细信息

4.TIFF(Tagged Image File Format)

TIFF格式支持无损压缩,通常用于专业图像编辑和打印
支持多种压缩算法,如LZW、JPEG和ZIP

有损压缩(Lossy Compression)

有损压缩是指在压缩图像时牺牲一些质量以大幅度减小文件大小。常见的有损压缩格式有:

1.JPEG(Joint Photographic Experts Group)

JPEG是一种非常常见的图像格式,特别适合照片和其他复杂的图像
它使用离散余弦变换(DCT)来压缩数据,并通过量化来减少颜色信息,从而降低文件大小
压缩级别可以调整,但压缩越多,图像质量损失越大。

2.WebP

WebP是由Google开发的一种图像格式,旨在提供比JPEG更高效的压缩
它同时支持无损和有损压缩,通常比JPEG文件小得多,同时保持相似的质量

3.HEIF/HEIC(High Efficiency Image File Format)

HEIF是一个较新的图像格式,旨在替换JPEG,提供更好的压缩效率
它使用HEVC(High Efficiency Video Coding)压缩算法,可以显著减小文件大小而不牺牲太多质量。

压缩算法简介

  1. LZ77/LZ78/LZW:这些是基于字典的压缩算法,通过查找重复的数据串来压缩数据。
  2. Huffman编码:一种基于概率的压缩方法,频繁出现的字符使用较短的编码,而不常见的字符使用较长的编码。
  3. 算术编码:类似于Huffman编码,但可以更有效地处理符号的概率分布。
  4. 离散余弦变换(DCT):JPEG压缩中使用的算法,将图像数据转换成频率域,然后通过量化去除不重要的信息
    选择哪种压缩格式取决于图像的用途所需的压缩程度以及是否可以接受有损压缩。例如,网页设计可能更倾向于使用PNG或JPEG,而专业摄影则可能使用TIFFRAW格式来保持最高质量。

编码格式

文本编码格式

1.ASCII(American Standard Code for Information Interchange)

ASCII是一种7位编码标准,可以表示128个不同的字符,包括大小写字母、数字、标点符号和一些控制字符。
它是最早的字符编码标准之一,现在仍然被广泛使用。

2.UTF-8(Unicode Transformation Format - 8-bit)

UTF-8是一种可变长度的Unicode编码,可以表示世界上大多数书面语言的字符
它使用1到4个字节来表示一个字符,ASCII字符在UTF-8中仍然是单字节表示。

3.UTF-16(Unicode Transformation Format - 16-bit)

UTF-16使用2或4个字节来表示一个字符,适用于大多数现代语言字符。
它是Unicode的一种早期实现,但现在UTF-8更为流行。

4.ISO-8859-1(Latin-1)

ISO-8859-1是一种8位编码,可以表示西欧语言中的字符。
它是ASCII的超集,增加了额外的128个字符

音频编码格式

1.MP3(MPEG Audio Layer III)

MP3是一种有损音频压缩格式,通过去除音频文件中人类听觉不太敏感的部分来减小文件大小
它非常流行,广泛用于音乐存储和在线流媒体。

2.AAC(Advanced Audio Coding)

AAC是一种比MP3更高效的音频编码格式,提供更好的压缩率和音质
它是苹果产品中常用的音频格式,也被用于许多其他应用。

3.WAV(Waveform Audio File Format)

WAV是一种无损音频格式,通常用于存储未压缩的音频数据
它支持多种采样率和位深度,常用于专业音频工作

4.FLAC(Free Lossless Audio Codec)

FLAC是一种无损音频压缩格式可以减小音频文件的大小而不损失任何数据。
它在音乐爱好者和音响发烧友中很受欢迎。

视频编码格式

1.H.264/MPEG-4 AVC(Advanced Video Coding)

H.264是一种高效的视频编码标准,用于压缩视频数据以减少文件大小,同时保持高质量
它广泛用于视频会议、流媒体、高清电视和蓝光光盘。

2.HEVC(High Efficiency Video Coding)

HEVC是H.264的继任者,提供更高的压缩率,允许更高质量的视频传输同时文件大小更小。
它常用于4K和8K视频内容的编码。

3.VP9

VP9是由Google开发的一种开放视频编码格式,旨在提供比H.264更好的压缩效率。
它用于YouTube和其他在线视频平台。

4.AV1(AOMedia Video 1)

AV1是一种新的开放、免专利费的视频编码格式,由多家公司组成的Alliance for Open Media开发。
它旨在提供比HEVC和VP9更高的压缩率和更好的网络适应性

数据编码格式

1.Base64

Base64是一种将二进制数据转换为ASCII字符序列的编码方法,常用于在文本协议中嵌入二进制数据。
它不是一种加密方法,而是一种编码方式。

2.Hexadecimal

十六进制编码将数据转换为以16为基数的数字系统,通常用于表示内存地址或机器码

3.URL编码

URL编码用于在URL中嵌入特殊字符,将非ASCII字符或特殊字符转换为“%”后跟两位十六进制数的形式。
每种编码格式都有其特定的用途和优势,选择哪种格式取决于应用场景、兼容性需求以及数据传输的效率要求。

额外小知识

一位十六进制数由四位二进制表示,两位十六进制数即八位二进制数即一个字节。


总结

以上就是今天要讲的内容,本文仅仅简单介绍了常见的图像压缩格式如JPEG、GIF、WebP,编码格式


http://www.ppmy.cn/news/1568692.html

相关文章

从0开始使用面对对象C语言搭建一个基于OLED的图形显示框架(基础图形库实现)

目录 基础图形库的抽象 抽象图形 抽象点 设计我们的抽象 实现我们的抽象 测试 抽象线 设计我们的抽象 实现我们的抽象 绘制垂直的和水平的线 使用Bresenham算法完成任意斜率的绘制 绘制三角形和矩形 矩形 三角形 实现 绘制圆,圆弧和椭圆 继续我们的…

2025.1.26机器学习笔记:C-RNN-GAN文献阅读

2025.1.26周报 文献阅读题目信息摘要Abstract创新点网络架构实验结论缺点以及后续展望 总结 文献阅读 题目信息 题目: C-RNN-GAN: Continuous recurrent neural networks with adversarial training会议期刊: NIPS作者: Olof Mogren发表时间…

统计学习方法(第二版) 第十章 隐马尔可夫模型(第二节)

本节主要介绍针对隐马尔可夫模型计算概率的方法. 目录 前言 一、直接计算法 二、前向算法 三、后向算法 总结 前言 上节介绍了隐马尔可夫模型的基本概念,以及隐马尔可夫模型的三个基本问题,本节介绍隐马尔可夫模型的概率计算问题,包括直接计算方法&…

LeetCode LCR180文件组合

滑动窗口算法:寻找连续文件编号组合 问题描述 在文件传输过程中,待传输的文件被切分成多个部分,每个部分的文件编号为一个正整数(至少有两个文件)。传输的要求是:找到所有连续文件编号的组合,…

【深度分析】DeepSeek 遭暴力破解,攻击 IP 均来自美国,造成影响有多大?有哪些好的防御措施?

技术铁幕下的暗战:当算力博弈演变为代码战争 一场针对中国AI独角兽的全球首例国家级密码爆破,揭开了数字时代技术博弈的残酷真相。DeepSeek服务器日志中持续跳动的美国IP地址,不仅是网络攻击的地理坐标,更是技术霸权对新兴挑战者的…

C#面试常考随笔8:using关键字有哪些用法?

1. using 指令:引入命名空间 最常用的用法。通过using 命名空间名字,可以在程序中直接使用该命名空间中的类型,而无需指定类型的完整命名空间路径。例如: using System; using System.Collections.Generic; class Program {sta…

Linux中 端口被占用如何解决

lsof命令查找 查找被占用端口 lsof -i :端口号 #示例 lsof -i :8080 lsof -i :3306 netstat命令查找 查找被占用端口 netstat -tuln | grep 端口号 #示例 netstat -tuln | grep 3306 netstat -tuln | grep 6379 ss命令查找 查找被占用端口 ss -tunlp | grep 端口号 #示例…

python算法和数据结构刷题[1]:数组、矩阵、字符串

一画图二伪代码三写代码 LeetCode必刷100题:一份来自面试官的算法地图(题解持续更新中)-CSDN博客 算法通关手册(LeetCode) | 算法通关手册(LeetCode) (itcharge.cn) 面试经典 150 题 - 学习计…