博客
关于我
JPEG压缩技术
阅读量:354 次
发布时间:2019-03-04

本文共 779 字,大约阅读时间需要 2 分钟。

JPEG压缩是一种基于离散余弦变换(DCT)的图像压缩技术,旨在在保持图像质量的同时最大程度地减少数据冗余。JPEG通过分离图像的亮度信息(Y)和色彩信息(Cr、Cb),将明暗和色彩分开处理,这种方法基于人眼的特性:人眼对亮度的敏感度高于色彩,而色彩信息对压缩更为敏感。

JPEG压缩的主要步骤

  • 颜色空间转换

    JPEG压缩首先将图像的颜色空间从RGB转换为YUV色彩空间(包括Y、C_b、C_r)。

    • Y:代表图像的明度(亮度)。
    • C_bC_r:分别代表色彩通道,用于捕捉颜色的细节。
      这种转换是因为人眼对亮度的敏感度高于对色彩的敏感度,而色彩信息对压缩更为敏感。
  • 零偏置转换

    在进行DCT之前,JPEG压缩会对像素值进行零偏置处理。

    • 对于8位(0-255)灰度像素,像素值减去128,将值域调整为-128到+127。
    • 这种转换减少了像素值的绝对值出现3位10进制的概率,从而减少数据冗余。
  • 离散余弦变换(DCT)

    将图像分成8x8的块,每个块进行DCT变换。

    • DCT将图像的频率信息重新组织,分离出直流(低频)和交流(高频)成分。
    • 直流成分包含了图像的主要信息,交流成分则包含细节信息。
  • 量化

    量化是JPEG压缩的重要步骤,主要用于降低DCT系数的精度。

    • 原理:将DCT系数除以对应的量化步长,四舍五入为整数。
    • 量化表:量化表与量化因子一一对应,量化因子越大,量化表中的步长越小。
    • 亮度与色彩:亮度(Y)和色彩(Cr、Cb)通道使用不同的量化表。
  • 编码

    • Z形扫描:将8x8的DCT系数转换为1x64的矢量,优化高频成分的排列,减少连续零系数的数量。
    • 编码方式:通常采用哈夫曼编码,对高频成分进行压缩。
  • 通过以上步骤,JPEG压缩有效降低了图像数据的冗余,同时最大限度地保留图像质量。这种压缩方法在保持图像可视性的同时,大幅减少了存储和传输所需的数据量。

    转载地址:http://hsbg.baihongyu.com/

    你可能感兴趣的文章
    最大序列和
    查看>>
    一篇解决JMM与volatile详解(二)
    查看>>
    数据结构之数组与经典面试题(二)
    查看>>
    无锁并发框架-Disruptor的使用(二)
    查看>>
    Android wm命令
    查看>>
    boot.img 解包与打包
    查看>>
    Android4.4 平板背光设置
    查看>>
    递归复习--二叉搜索树
    查看>>
    数据库
    查看>>
    jvm-02
    查看>>
    ThreadLocal的使用总结
    查看>>
    jvm-05
    查看>>
    spring boot@Value和bean执行顺序问题
    查看>>
    从浏览器输入网址到服务器返回经历的过程
    查看>>
    CPU过载内存溢出分析
    查看>>
    解决Genymotion无法拖拽的问题
    查看>>
    中国石油大学《计算机文化基础》在线考试(客观题)
    查看>>
    强化学习(8):Asynchronous Advantage Actor-Critic(A3C)算法
    查看>>
    中国石油大学《 管理心理学(行政管理专业禁选)》在线考试
    查看>>
    石油远程《数控技术》在线考试
    查看>>