详解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字段 占字节大小 含义
      长度 2 0011代表该段有17个字节长度
      应用程序标识符 5 44 75 63 6B 79="Ducky”,是一种无压缩的彩色图像格式
      JFIF版本 2 00 01表示版本1.0
      密度单位 1 00:无单位;width:height像素宽高比=Xdensity:Ydensity)
      01:每英寸像素(2.54厘米)
      02:每厘米像素
      Xdensity 2 水平像素密度,不得为零
      Ydensity 2 垂直像素密度,不得为零
      Xthumbnail 1 嵌入的RGB缩略图的水平像素数,可以为零
      Ythumbnail 1 嵌入的RGB缩略图的垂直像素数,可以为零

详解JPEG编码格式_第1张图片

  • 软件:winhex

你可能感兴趣的:(计算机视觉,人工智能,图像处理,视频编解码)