详解JPEG编码格式

  • 参考文章1参考文章2

  • MJPEG是一种视频压缩格式,其中的每一帧图像都使用JPEG编码 实际上 M J P E G 图像数据流就是一帧一帧的 J P E G 格式图片 \textcolor{OliveGreen}{实际上MJPEG图像数据流就是一帧一帧的JPEG格式图片} 实际上MJPEG图像数据流就是一帧一帧的JPEG格式图片

  • JFIF是JPEG文件格式中广泛使用的交换格式用于在不同的设备和程序之间交换JPEG图像数据

  • JPEG文件包含多条数据段,每条数据段包括段标记码数据流

    • 段标记码:每个段标记码由**2个字节(一个字节8位)**组成,高位字节在前,低位字节在后

      段标记码数值含义
      SOI(start of image)FFD8图像开始
      APPn(application)FFE0-FFEF应用程序段,其中n为标识号,不同的厂家可以定义不同的APP段来保存一些额外的信息
      DQT(Define Quantization Table)FFDB定义量化表。通过调整量化表中的量化因子,可以控制压缩比以及在不同压缩比下的图像质量
      SOF(Start of Frame)FFC0帧图像开始,C0后的第4,5两个字节表示图像高度;第6,7两个字节表示图像宽度;第8个字节若为1则表示为灰度图,若为3则表示为彩色图
      DHT(Define Huffman Table)FFC4定义哈夫曼表,为了实现高效图像压缩
      SOS(Start of Scan)FFDA指定扫描行的参数,以便解码器能够正确解码压缩的数据并恢复原始的图像数据
      EOI(end of image)FFD9图像结束

      SOI标记标识整个JPEG文件的开始,而SOF标记标识一张图像的开始,它描述了图像的一些基本属性。

    • 数据流:记录了关于JPEG文件的相应信息(有些数据段无数据流)

      APP0字段占字节大小含义
      长度20011代表该段有17个字节长度
      应用程序标识符544 75 63 6B 79="Ducky”,是一种无压缩的彩色图像格式
      JFIF版本200 01表示版本1.0
      密度单位100:无单位;width:height像素宽高比=Xdensity:Ydensity)
      01:每英寸像素(2.54厘米)
      02:每厘米像素
      Xdensity2水平像素密度,不得为零
      Ydensity2垂直像素密度,不得为零
      Xthumbnail1嵌入的RGB缩略图的水平像素数,可以为零
      Ythumbnail1嵌入的RGB缩略图的垂直像素数,可以为零

  • 软件:winhex
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值