JPEG格式

1 简介

微处理机中的存放顺序有正序(big endian)和逆序(little endian)之分。正序存放就是高字节存放在前低字节在后,而逆序存放就是低字节在前高字节在后。例如,十六进制数为A02B,正序存放就是A02B,逆序存放就是2BA0。摩托罗拉(Motorola)公司的微处理器使用正序存放,而英特尔(Intel)公司的微处理器使用逆序。JPEG文件中的字节是按照正序排列的。

 


JPEG委员会在制定JPEG标准时,定义了许多标记(marker)用来区分和识别图像数据及其相关信息,但笔者没有找到JPEG委员会对JPEG文件交换格式的明确定义。直到1998年12月从分析网上具体的JPG图像来看,使用比较广泛的还是JPEG文件交换格式(JPEG File Interchange Format,JFIF)
本号为1.02。这是1992年9月由在C-Cube Microsystems公司工作的Eric Hamilton提出的。此外还有TIFF JPEG等格式,但由于这种格式比较复杂,因此大多数应用程序都支持JFIF文件交换格式。

 

JPEG文件使用的颜色空间是CCIR 601推荐标准进行的彩色空间(参看第7章)。在这个彩色空间中,每个分量、每个像素的电平规定为255级,用8位代码表示。从RGB转换成YCbCr空间时,使用下面的精确的转换关系:

       Y = 256 * E'y

      Cb = 256 * [E'Cb] + 128

      Cr = 256 * [E'Cr] + 128
其中亮度电平E'y和色差电平E'Cb和E'Cb分别是CCIR 601定义的参数。由于E'y的范围是0~1,E'Cb和E'Cb的范围是-0.5~+0.5,因此Y, Cb和Cr的最大值必须要箝到255。于是RGB和YCbCr之间的转换关系需要按照下面的方法计算。

(1) 从RGB转换成YCbCr

YCbCr(256级)分量可直接从用8位表示的RGB分量计算得到:

       Y =   0.299 R + 0.587 G  + 0.114 B

     Cb = - 0.1687R - 0.3313G  + 0.5   B + 128

    Cr = 0.5 R - 0.4187G - 0.0813 B + 128

需要注意的是不是所有图像文件格式都按照R0,G0,B0,…… Rn,Gn,Bn的次序存储样本数据,因此在RGB文件转换成JFIF文件时需要首先验证RGB的次序。

(2) 从YCbCr转换成RGB

RGB分量可直接从YCbCr(256级)分量计算得到:

     R = Y                 + 1.402 (Cr-128)

      G = Y - 0.34414 (Cb-128) - 0.71414 (Cr-128)

      B = Y + 1.772 (Cb-128)

在JFIF文件格式中,图像样本的存放顺序是从左到右和从上到下。这就是说JFIF文件中的第一个图像样本是图像左上角的样本。

 

2 文件结构

JFIF文件格式直接使用JPEG标准为应用程序定义的许多标记,因此JFIF格式成了事实上JPEG文件交换格式标准。JPEG的每个标记都是由2个字节组成,其前一个字节是固定值0xFF。每个标记之前还可以添加数目不限的0xFF填充字节(fill byte)。下面是其中的8个标记:

  1. SOI  0xD8            图像开始
  2. APP0 0xE0            JFIF应用数据块
  3. APPn 0xE1 - 0xEF    其他的应用数据块(n, 1~15)
  4. DQT  0xDB           量化表
  5. SOF0 0xC0            帧开始
  6. DHT  0xC4           霍夫曼(Huffman)表
  7. SOS  0xDA           扫描线开始
  8. EOI  0xD9            图像结束

为使读者对JPEG定义的标记一目了然,现将JPEG的标记码列于表6-05,并保留英文解释。

表6-05 JPEG定义的标记

 

Symbol

(符号)

Code Assignment

(标记代码)

Description

(说明)

Start Of Frame markers, non-hierarchical Huffman coding

SOF0

0xFFC0

Baseline DCT

SOF1

0xFFC1

Extended sequential DCT

SOF2

0xFFC2

Progressive DCT

SOF3

0xFFC3

Spatial (sequential) lossless

Start Of Frame markers, hierarchical Huffman coding

SOF5

0xFFC5

Differential sequential DCT

SOF6

0xFFC6

Differential progressive DCT

SOF7

0xFFC7

Differential spatial lossless

Start Of Frame markers, non-hierarchical arithmetic coding

JPG

0xFFC8

Reserved for JPEG extensions

SOF9

0xFFC9

Extended sequential DCT

SOF10

0xFFCA

Progressive DCT

SOF11

0xFFCB

Spatial (sequential) Lossless

Start Of Frame markers, hierarchical arithmetic coding

SOF13

0xFFCD

Differential sequential DCT

SOF14

0xFFCE

Differential progressive DCT

SOF15

0xFFCF

Differential spatial Lossless

Huffman table specification

DHT

0xFFC4

Define Huffman table(s)

arithmetic coding conditioning specification

DAC

0xFFCC

Define arithmetic conditioning table

Restart interval termination

RSTm

0xFFD0~0xFFD7

Restart with modulo 8 counter m

Other marker

SOI

0xFFD8

Start of image

EOI

0xFFD9

End of image

SOS

0xFFDA

Start of scan

DQT

0xFFDB

Define quantization table(s)

DNL

0xFFDC

Define number of lines

DRI

0xFFDD

Define restart interval

DHP

0xFFDE

Define hierarchical progression

EXP

0xFFDF

Expand reference image(s)

APPn

0xFFE0~0xFFEF

Reserved for application use

JPGn

0xFFF0~0xFFFD

Reserved for JPEG extension

COM

0xFFFE

Comment

Reserved markers

TEM

0xFF01

For temporary use in arithmetic coding

RES

0xFF02~0xFFBF

Reserved

 

JPEG文件由下面的8个部分组成:

(1) 图像开始SOI(Start of Image)标记

(2) APP0标记(Marker)

① APP0长度(length)

② 标识符(identifier)

③ 版本号(version)

④ X和Y的密度单位(units=0:无单位;units=1:点数/英寸;units=2:点数/厘米)

⑤ X方向像素密度(X density)

⑥ Y方向像素密度(Y density)

⑦ 缩略图水平像素数目(thumbnail horizontal pixels)

⑧ 缩略图垂直像素数目(thumbnail vertical pixels)

⑨ 缩略图RGB位图(thumbnail RGB bitmap)

(3) APPn标记(Markers),其中n=1~15(任选)

① APPn长度(length)

② 由于详细信息(application specific information)

(4) 一个或者多个量化表DQT(difine quantization table)

① 量化表长度(quantization table length)

② 量化表数目(quantization table number)

③ 量化表(quantization table)

(5) 帧图像开始SOF0(Start of Frame)

① 帧开始长度(start of frame length)

② 精度(precision),每个颜色分量每个像素的位数(bits per pixel per color component)

③ 图像高度(image height)

④ 图像宽度(image width)

⑤ 颜色分量数(number of color components)

⑥ 对每个颜色分量(for each component)

    • ID
    • 垂直方向的样本因子(vertical sample factor)
    • 水平方向的样本因子(horizontal sample factor)
    • 量化表号(quantization table#)

(6) 一个或者多个霍夫曼表DHT(Difine Huffman Table)

① 霍夫曼表的长度(Huffman table length)

② 类型、AC或者DC(Type, AC or DC)

③ 索引(Index)

④ 位表(bits table)

⑤ 值表(value table)

(7) 扫描开始SOS(Start of Scan)

① 扫描开始长度(start of scan length)

② 颜色分量数(number of color components)

③ 每个颜色分量

    • ID
    • 交流系数表号(AC table #)
    • 直流系数表号(DC table #)

④ 压缩图像数据(compressed image data)

(8) 图像结束EOI(End of Image)

表6-06表示了APP0域的详细结构。有兴趣的读者可通过UltraEdit或者PC TOOLS等工具软件打开一个JPG图像文件,对APP0的结构进行分析和验证。

表6-06 JFIF格式中APP0域的详细结构

 

偏移

长度

内容

块的名称

说明

0

2 byte

0xFFD8

(Start of Image,SOI)

图像开始

2

2 byte

0xFFE0

APP0(JFIF application segment)

JFIF应用数据块

4

2 bytes

 

length of APP0 block

APP0块的长度

6

5 bytes

 

"JFIF"+"0"

识别APP0标记

11

1 byte

 

<Major version>

主要版本号(如版本1.02中的1)

12

1 byte

 

<Minor version>

次要版本号(如版本1.02中的02)

13

1 byte

 

<Units for the X
and Y densities>

X和Y的密度单位

units=0:无单位

units=1:点数/英寸

units=2:点数/厘米

14

2 bytes

 

<Xdensity>

水平方向像素密度

16

2 bytes

 

<Ydensity>

垂直方向像素密度

18

1 byte

 

<Xthumbnail>

缩略图水平像素数目

19

1 byte

 

<Ythumbnail>

缩略图垂直像素数目

 

3n

 

< Thumbnail RGB bitmap>

缩略RGB位图(n为缩略图的像素数)

   

Optional JFIF extension APP0 marker segment(s)

任选的JFIF扩展APP0标记段

 

……

 

……

 
 

2 byte

0xFFD9

(EOI) end-of-file

图像文件结束标记

内容概要:本文研究基于豪猪算法(CPO)实现多无人机协同集群在三维空间中的避障路径规划,旨在通过优化目标函数(最低成本,涵盖路径长度、飞行高度、威胁规避和转弯角度)来提升无人机集群的任务执行效率与安全性。该方法采用Matlab进行算法设计与仿真验证,系统性地展示了CPO算法在复杂三维动态环境下的路径搜索能力与优化性能,突出其在多机协同、动态障碍物规避和资源最优分配方面的优势。研究不仅实现了路径规划的核心算法构建,还提供了完整的代码资源与仿真案例,便于进一步对比分析与工程应用。; 适合人群:具备一定Matlab编程基础,从事无人机控制、智能优化算法、路径规划、协同导航、自动化系统等相关领域的科研人员、研究生及工程技术人员。; 使用场景及目标:①开展多无人机协同作业中的三维路径规划研究;②评估并对比豪猪算法(CPO)与其他智能优化算法(如GA、PSO、GWO、TTHHO等)在路径规划任务中的性能差异;③实现复杂环境中多无人机的安全避障、能耗优化与飞行稳定性提升的仿真与验证。; 阅读建议:建议结合提供的Matlab代码进行仿真实践,重点关注目标函数的建模方式、CPO算法的迭代机制与参数敏感性分析,并通过与其它算法的对比实验深入理解其收敛性、鲁棒性及适用范围。
内容概要:本文档围绕“无电流传感器模型预测MPC串联型谐振DAB模型”的Simulink仿真实现展开,系统介绍了基于模型预测控制(MPC)的高性能控制策略在串联型谐振双有源桥(DAB)变换器中的应用,重点突出无需传统电流传感器的设计思路,以降低硬件成本并提升系统可靠性。文档整合了大量电力电子与控制领域的高价值仿真资源,涵盖LLC谐振变换器、微电网调度、状态估计、故障检测、优化算法等多个方向,并提供配套的Matlab/Simulink代码与模型,部分标注为“创新未发表”或“博士/硕士论文复现”,具有较强的科研前瞻性与复现参考价值。所有资料可通过百度网盘及公众号“荔枝科研社”获取。; 适合人群:电力电子、自动化、电气工程及其相关专业的研究生、高校科研人员,以及从事新能源发电、储能系统、电力变换器开发的工程技术人员。; 使用场景及目标:① 深入理解无电流传感器控制与MPC在DAB变换器中的融合机制与实现方法;② 利用所提供的Simulink模型与Matlab代码进行科研复现、算法改进与系统性能优化;③ 拓展应用于谐振变换器、微电网能量管理、电力电子系统稳定性分析等相关课题的研究与工程实践。; 阅读建议:建议结合仿真模型动手实践,优先从基础案例入手,循序渐进地过渡到复杂系统;重点关注标注“复现”与“创新”的内容以激发科研灵感,同时注意梳理各技术模块间的内在联系,构建系统化的知识架构。
内容概要:本文围绕“基于DDPM的光伏功率时序场景生成方法研究”展开,结合Python代码实现,系统阐述了去噪扩散概率模型(DDPM)在光伏发电功率不确定性建模与场景生成中的应用。研究深入剖析了DDPM的前向扩散与反向生成机制,通过构建时序生成框架,有效捕捉光伏出力的随机性与时空相关性,旨在为电力系统调度、储能配置及风险评估提供高质量的输入场景。文中还引入W-GAN作为对比模型,评估不同生成对抗网络在光伏数据生成任务中的表现差异,并进一步探讨了所生成场景在联合市场环境下虚拟电厂(VPP)竞价与优化决策中的实际应用价值。整体研究强调科研过程中“借力”成熟算法框架与自主创新相结合的重要性,倡导通过复现经典模型提升科研效率与工程实践能力。; 适合人群:具备一定Python编程基础和深度学习理论知识,从事新能源发电预测、电力系统优化、智能电网、虚拟电厂运营等相关领域的科研人员、高校研究生及工程技术开发者。; 使用场景及目标:① 学习并动手复现基于DDPM的光伏功率时间序列生成模型;② 探索并解决光伏出力不确定性带来的调度与规划难题,服务于微电网能量管理、电力市场竞价等应用场景;③ 对比分析DDPM与W-GAN等生成模型在新能源功率场景生成任务中的性能优劣,选择最优技术路线; 阅读建议:建议读者结合文中提供的网盘资源(包括完整代码、训练模型与实测数据集)进行同步实践操作,重点关注DDPM模型的网络结构设计、损失函数定义及采样推理过程的代码实现细节,并结合电力系统背景知识深入理解生成场景的实际物理意义与应用潜力。
内容概要:本文系统研究了基于Wasserstein生成对抗网络(W-GAN)的光伏出力场景生成方法,旨在解决光伏发电固有的随机性与波动性所带来的建模难题。通过Python编程实现W-GAN模型,有效缓解传统GAN训练过程中的梯度消失与模式崩溃问题,显著提升了生成时序数据的真实性、多样性及时序相关性。该方法能够生成高保真的光伏功率出力场景,为电力系统中新能源不确定性建模提供了可靠的数据支撑,广泛应用于优化调度、风险评估、储能配置及微电网规划等领域。研究不仅涵盖模型架构设计、损失函数优化与训练策略,还强调生成场景的统计特性验证与实际应用适配性。; 适合人群:具备Python编程能力及机器学习基础,从事新能源发电、电力系统分析、智能电网优化、不确定性建模等相关领域的研究生、科研人员与工程技术开发者。; 使用场景及目标:①为含高比例光伏的电力系统提供多样化、高精度的出力场景输入;②支撑微电网能量管理、储能系统规划与日前调度决策;③提升新能源接入背景下系统运行的安全性与经济性分析能力;④作为深度学习在能源时序数据生成中的典型应用案例进行教学与科研参考。; 阅读建议:建议读者结合所提供的Python代码深入实践,重点关注生成器与判别器的网络结构设计、Wasserstein距离的实现机制以及梯度惩罚项的引入方式,并在不同地区、不同季节的光伏数据集上进行模型训练与效果对比,以全面掌握W-GAN在新能源场景生成中的关键技术细节与调优策略。
内容概要:本文详细介绍了一种针对LLC谐振变换器的变频移相混合控制模型,并基于Simulink平台完成了系统的仿真实现。该模型深度融合变频控制与移相控制的技术优势,旨在提升LLC变换器在宽范围负载条件下的转换效率与动态响应性能,尤其在低压增益工况下展现出优异的稳定性与调节能力。通过构建精确的Simulink仿真系统,全面验证了所提混合控制策略在稳态精度、瞬态响应及系统鲁棒性方面的有效性,为高频高效电源转换系统的工程化设计与优化提供了可靠的理论依据和技术支撑。; 适合人群:具备电力电子技术、自动控制理论及相关仿真技能背景的科研人员、电气工程领域高校研究生,以及从事新能源电源、电动汽车充电系统、光伏微网等高频电源产品研发的工程技术人员。; 使用场景及目标:①用于高性能LLC谐振变换器的控制策略研究与动态性能优化;②适用于对电源转换效率、响应速度和输出稳定性要求严苛的工业与新能源应用场景,如车载充电机、数据中心电源、可再生能源并网系统等;③为相关科研课题、学位论文或企业技术研发项目提供高保真仿真模型与技术验证平台。; 阅读建议:学习者需熟练掌握Simulink建模方法与电力电子电路工作原理,建议结合具体应用参数调整控制器设计,深入探究变频与移相控制间的协同作用机制,并可通过引入非理想因素进一步开展鲁棒性与优化设计研究。
内容概要:本文详细介绍了2.4G无线头戴麦克风的设计与制作过程,采用“发射端+接收端”分体式架构,以MOD2500模块为核心实现2.4G无线音频传输,配合WM8974音频采集芯片和PCM5102A数模转换芯片,完成高保真、低延迟的音频信号采集、传输与还原。系统支持32KHz/16bit音频参数,具备三色LED状态指示、单按键智能控制、快速配对等功能,电源管理采用SC9017充电芯片和RT9193-3.3V稳压电路,确保稳定供电。文章涵盖原理说明、元器件选型、硬件电路设计、PCB布局、焊接制作、模块配置及系统调试全流程,并通过多项性能测试验证其在传输距离、抗干扰、续航和音质还原方面的优良表现。; 适合人群:电子工程、嵌入式系统相关专业的学生,以及从事音频设备开发、无线通信产品设计的工程师和技术人员,具备一定电路设计与焊接基础者更佳。; 使用场景及目标:①用于教学讲解无线音频系统的设计方法;②应用于会议、直播、演出等场景中替代传统有线麦克风;③作为DIY项目帮助开发者掌握2.4G无线传输、音频编解码、电源管理等关键技术的实际应用。; 阅读建议:建议结合文中的电路图、PCB设计与调试步骤动手实践,重点关注MOD2500模块的配置流程与I2S/SPI通信设置,同时在调试阶段使用示波器和万用表辅助排查问题,以全面提升硬件开发与系统集成能力。
YOLOv11城市火灾场景火焰与烟雾目标检测数据集 目标类别:['Fire', 'Smoke'] 中文类别:['火焰', '烟雾'] 训练集:9156 张 验证集:872 张 测试集:435 张 总计:10463 张 该数据集提供了data.yaml文件,内容如下: train: ../train/images val: ../valid/images test: ../test/images nc: 2 names: ['Fire', 'Smoke'] 该数据集聚焦于城市及自然环境中火灾发生时的火焰与烟雾识别,涵盖多种典型火灾场景,包括建筑火灾、森林火灾、车辆燃烧及室内火源等。图像采集覆盖白天与夜间、室内外等多种光照条件,真实还原了火灾在不同环境下的视觉特征,具备高度的现实代表性与应用价值,为火灾早期预警与应急响应系统提供了坚实的数据支撑。 该数据集包含训练集9156张、验证集872张、测试集435张,共计10463张图像,数据分布结构合理,训练样本充足,验证与测试集比例适中,能够有效支持模型训练过程中的性能评估与泛化能力检验,确保模型在实际部署中具备良好的稳定性与可靠性。 标注工作严格按照目标边界框规范执行,火焰与烟雾区域均被精准标注,边界清晰,未出现漏标或误标现象。各类别在复杂背景下的识别标注保持一致性,尤其在烟雾扩散区域和火焰动态变化场景中,标注精度高,充分体现了高质量的人工标注标准,为后续模型学习提供了可靠依据。 该数据集可广泛应用于城市消防监控、森林防火预警、工业安全监测以及智能安防系统等领域,特别适用于需要实时识别火灾初期征兆的场景,如高层建筑、交通枢纽、易燃品仓库等关键场所,助力构建智能化火灾防控体系,提升公共安全水平。
内容概要:本文研究了虚拟电厂(VPP)在“日前-日内”联合电力市场中的竞价与优化策略,提出了一种基于Matlab代码实现的综合优化模型。该模型充分考虑了日前市场与日内市场之间的动态耦合关系,构建了虚拟电厂参与双阶段市场的竞价决策框架,通过引入先进的优化算法实现对分布式能源资源的高效调度,旨在最小化运行成本并提升市场竞争力。研究详细阐述了模型的目标函数、约束条件、求解流程及关键技术环节,并配套提供了完整的Matlab实现代码,便于读者复现与拓展应用。该策略有效增强了虚拟电厂应对可再生能源出力不确定性的能力,为其在复杂多变的电力市场环境中实现经济效益最大化提供了理论支持与技术路径。; 适合人群:具备一定电力系统基础知识和Matlab编程能力的高校研究生、科研人员及从事能源互联网、电力市场运营、分布式能源管理等相关工作的工程技术人员。; 使用场景及目标:①用于虚拟电厂参与“日前-日内”联合电力市场的竞价策略仿真与性能评估;②为高比例可再生能源接入背景下的电力市场机制设计、多时间尺度调度优化提供模型参考;③支持学术论文复现、硕博课题研究及科研项目原型开发。; 阅读建议:建议读者结合Matlab代码逐模块理解模型构建逻辑,重点掌握两阶段优化架构的设计思想、不确定性处理方法及市场出清机制的实现方式,可进一步结合机器学习预测技术提升可再生能源出力预测精度,从而优化整体竞价策略。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值