8 有损压缩的.jpg图片文件格式详解,解封装拆包

有损压缩的.jpg文件

作者将狼才鲸
创建日期2023-11-28

1)简述

  • JPEG文件描述

    • JPEG协议格式分为JPEG、渐进式JPEG(图片先显示一部分再显示全部)、JPEG2000(压缩品质更好,压缩率更高)
    • 压缩模式:顺序式编码、递增式编码、无失真编码、阶梯式编码;
    • YUV颜色模式
    • 编码时颜色转换、DCT变换(在频率上变换)、量化(浮点数转整数)
      *编码:0值的行程长度编码,熵编码、霍夫曼编码、算术编码
  • .jpg文件格式:

    • SOI文件头 + APP0图像识别信息 + DQT定义量化表 + SOF0图像基本信息 + DHT定义霍夫曼表 + DRI定义重新开始间隔 + SOS扫描行开始 + EOI文件尾
    • JPEG文件包含了一个个段,每个段中{段标识 + 长度 + 段内容}
    • 大端模式,高位在前,低位在后
    • 段与段中间可以填充FF
段类型:
---------------------------------------
名称    标记码       说明
---------------------------------------
SOI     D8          文件头
EOI     D9          文件尾
SOF0    C0          帧开始(标准 JPEG)
SOF1    C1          同上
DHT     C4          定义 Huffman 表(霍夫曼表)
SOS 	DA          扫描行开始
DQT 	DB          定义量化表
DRI     DD          定义重新开始间隔
APP0    E0          定义交换格式和图像识别信息
COM 	FE          注释
-----------------------------------------
  • 段信息
    • APP0图像识别信息:版本号、像素密度、宽高、略缩图
    • DQT定义量化表:QT信息、QT精度、QT值(浮点型转整形用)
    • SOF0基本信息:采样深度、宽高、采样系数、量化表号
    • DHT霍夫曼表:霍夫曼信息、霍夫曼位表、霍夫曼值表,2类霍夫曼表,一类直流DC,一类交流AC,亮度和色度的会分开
    • SOS扫描行开始:压缩的图像数据
    • 硬件解码显示jpeg图片时,有时只需要量化表、霍夫曼表、图片码流、是否需要复位、直流交流选择。
  • 参考网址:https://blog.csdn.net/yun_hen/article/details/78135122
    • jpeg图片格式详解

2).jpg文件详述

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何进行无代码开发?有哪些无代码开发工具和无代码软件开发平台?

无代码开发是指不写代码,通过可视化工具进行应用程序开发。无代码开发让非技术用户通过拖拽和选择等简单操作,就能快速创建应用程序。 如何学习无代码开发 随着科技的不断发展,新的技术和工具不断涌现,无代码开发就是其中一种。掌…

C#中的async/await异步编程模型

前言 当谈到异步编程时,C#中的async/await是一个强大且方便的工具。它使得编写并发和异步操作变得更加简单和可读,同时提供良好的可维护性。本文将详细解释async/await的使用,以及如何在C#中有效地利用它来实现异步操作。 目录 前言1. async…

Win7 SP1 x64 Google Chrome 字体模糊

1 打开 Google Chrome ,地址栏输入 chrome://version/ ,字体模糊。 2 Microsoft Update Catalog 搜索现在更新 kb2670838 ,安装,重启电脑。 3 打开 Google Chrome,地址栏输入 chrome://version/ ,字体正常。…

Cache学习(4):Cache分配策略Cache更新策略Cache逐出策略

Cache的数据流 常用名词 Allocation 分配Eviction 驱逐分配策略和更新策略分别为当产生Cache miss和Cache hit的时候数据流的具体行为 1 Cache分配策略(Cache Allocation Policy) Cache的分配策略是指不同情况下为数据分配Cache Line的不同行为。Cac…

成为网络安全高手!教你如何做出专业级别的渗透测试

01、信息收集 1、域名、IP、端口 域名信息查询:信息可用于后续渗透 IP信息查询:确认域名对应IP,确认IP是否真实,确认通信是否正常 端口信息查询:NMap扫描,确认开放端口 发现:一共开放两…

Zookeeper分布式锁实现Curator十一问

前面我们通过Redis分布式锁实现Redisson 15问文章剖析了Redisson的源码,理清了Redisson是如何实现的分布式锁和一些其它的特性。这篇文章就来接着剖析Zookeeper分布式锁的实现框架Curator的源码,看看Curator是如何实现Zookeeper分布式锁的,以…

仿东郊到家预约按摩小程序开发;

在这个快节奏的现代社会,人们对便捷、高效的服务需求日益增大。正因如此,到家预约系统上门按摩小程序应运而生,它结合了互联网技术和传统按摩服务,不仅满足了人们对便捷按摩服务的需求,还为商家提供了全新的商业价值。…

【创建和排查隐藏进程和隐藏计划任务】

Window 创建隐藏进程和隐藏计划任务: 隐藏进程: 在Windows中,隐藏进程主要通过修改进程属性或使用第三方工具实现。以下是一个使用PowerShell脚本创建隐藏进程的示例: $Script {Start-Process -FilePath "notepad.exe"…

AI生成技术威胁版权保护,水印技术和法律完善是关键/安圭拉小岛以.ai域名注册赚得3000万美元 |魔法半周报​

我有魔法✨为你劈开信息大海❗ 高效获取AIGC的热门事件🔥,更新AIGC的最新动态,生成相应的魔法简报,节省阅读时间👻 🔥资讯预览 AI生成技术威胁版权保护,水印技术和法律完善是关键 Sam Altman对…

海外网红挑选指南:6个方法轻松辨真伪,保障合作最佳效果!

随着社交媒体的飞速发展,海外网红营销已经成为品牌推广的重要渠道之一。然而,与日俱增的网红数量也给广告主带来了选择的困扰,因为市场上充斥着各种水分和虚假的网红。为了确保广告效果最大化,广告主需要学会识别真实的海外网红&a…

解锁Jira本地部署的数据中心版高级功能,打造高效、智能、精细化的项目管理

近日,在龙智携手Atlassian与JFrog共同举办的“大规模开发创新:如何提升企业级开发效率与质量”的线下研讨会中,龙智高级咨询顾问、Atlassian认证专家叶燕秀为大家带来了精彩演讲,解锁Jira Data Center版的诸多高级功能&#xff0c…

【探索Linux】—— 强大的命令行工具 P.17(进程信号 —— 信号保存 | 阻塞信号 | sigprocmask() | sigpending() )

阅读导航 引言一、阻塞信号1. 信号相关常见概念(1)信号递达(2)信号未决(3)阻塞信号(4)忽略信号 2. 信号在内核中的表示⭕信号在内核中的表示示意图 3. sigset_t (数据类型…

四氧化三钴和三元前驱体废水回收钴 钴回收树脂技术

钴是一种稀有金属,也是非常重要的过渡金属材料,因其优异的物理、化学性质,以化学品和金属的形式,广泛应用于锂电池、硬质合金、超耐热合金、绝缘材料和磁性材料、工业催化剂、染料及氧化钴的生产过程中。 钴可以提高锂离子电池的稳…

k8s-deployment控制器 5

K8s控制器是Kubernetes(简称k8s)系统中一个重要的组成部分,它是一个管理Pod的中间层,可以创建和管理多个Pod副本,确保它们按照预定的数量和行为进行运行。 通过编写yaml文件将信息全部存到etcd中,控制器通…

NX二次开发UF_CURVE_create_arc 函数介绍

文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan UF_CURVE_create_arc Defined in: uf_curve.h int UF_CURVE_create_arc(UF_CURVE_arc_p_t arc_coords, tag_t * arc ) overview 概述 Creates an arc. You input the matrix tag, …

【超强笔记软件】Obsidian实现免费无限流量无套路云同步

【超强笔记软件】Obsidian如何实现免费无限流量无套路云同步? 目录 一、简介 软件特色演示: 二、使用免费群晖虚拟机搭建群晖Synology Drive服务,实现局域网同步 1 安装并设置Synology Drive套件 2 局域网内同步文件测试 三、内网穿透群…

PLC与组态王之间Modbus无线通讯的从站设置

本方案主要详述了在多台西门子300PLC与组态王之间Modbus无线通讯中如何设置从站。方案中所用到的无线通讯终端是DTD434MC——欧美系PLC专用无线通讯终端。 一、方案概述 无线Modbus网络组成如下: 二、测试背景 ● PC端组态软件版本:组态王6.55 ● 默…

错误:FinalShell连接CentOs连接失败

需要说明的是:这个错误不是首次连接发生的,而是多次使用后可能发生的错误 正文: 可能的原因是虚拟机的ip地址发生了变更,原因有以下几点: 最最可能的原因:1.DHCP分配变更: 如果虚拟机使用DHCP来获取IP地址,那么DHCP服务器可能会分配给虚拟机一个新的I…

Matplotlib散点图的创建_Python数据分析与可视化

Matplotlib散点图的创建 plot绘制散点图scatter画散点图plot与scatter效率对比 plot绘制散点图 散点图也是在数据科学中常用图之一,前面的文章我们学习了使用plt.plot/ax.plot画线形图的方法。同样的,现在用这些函数来画散点图: x np.lins…

掌握你的Mac,iStat Menus带你了解mac系统状态

iStat Menus for mac是一款强大的mac系统状态监控工具,它能够提供实时的系统信息和性能监测,帮助用户全面了解和管理自己的Mac设备。无论是CPU、内存、网络、硬盘还是传感器数据,iStat Menus都能直观地展示,并且支持自定义布局和样…