JPEG 编码器的
  实现分析
HI , JPEG
            主 要 内 容

 第一部分:介绍了 jpeg 压缩的基本原理

 第二部分: jpeg 编码器架构及实现分析

 第三部分:综合验证
HI , JPEG
            JPEG 文件解析
                           图像的宽、高
                        、 Huffman 表、量
                        化表等等。标记码
                        有很多,但绝大多
                        数的 JPEG 文件只
                        包含几种。标记码
                        的结构为:
                        SOI ,DQT (量化
                        表) ,DRI,SOF0,D
                        HT (哈夫曼编码
                        表) ,SOS




                        压缩数据 , 以 EOI
                        标志结束。
HI , JPEG
                     数据压缩流程图



              RGB            空间变换
                                      8*8图像块
            源图像数据             YCbCr




                                               DCT 变换

                          DPCM 编码

    JPEG压缩文件   哈夫曼
                编码                    量化

                          行程编码



                    未包括
HI , JPEG
            1.1 、 空间变换

         通常把 RGB 空间表示的彩色图像变
  换到其他色彩空间 (YUV) 。
         每个点保存一个 8bit 的亮度值 , 每
  2x2 个点保存一个 Cr Cb 值 , 而图象在肉眼中
  的感觉不会起太大的变化 . 所以 , 原来用 RGB
  模型 , 4 个点需要 4x3=12 字节 . 而现在仅需要
  4+2=6 字节 ; 平均每个点占 12bit.
HI , JPEG
            1.2 、 DCT 变换
HI , JPEG
            1.3 、     量化
      量化过程实际上是简单地把频率领域上
  每个成份,除以一个对于该成份的常数,且接着
  四舍五入取最接近的整数。



                           DC 直
                           流变量




                AC 交流变量
HI , JPEG   1.4 、           “ Z” 字形编
                            排




          对于前面量化的系数所作的 “ Z” 字形编排结果就是:
    底部 − 26 ,− 3 , 0 ,− 3 ,− 3 ,− 6 , 2 ,− 4 , 1
  −4 , 1 , 1 , 5 , 1 , 2 ,− 1 , 1 ,− 1 , 2 , 0 , 0 , 0 , 0 ,
  0 ,− 1 ,− 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
  ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 顶部
HI , JPEG
            1.5 、编 码


一、直流 DC 系数使用 DPCM (差分脉冲
   调制编码 )编码;

二、交流 AC 系数使用 RLE (行程)编
   码;

三、最后用 范式 Huffman 编码来处理。
HI , JPEG
            2.1 空间变换

               计算公式:
                Y = 0.299R + 0.587G + 0.114B
                Cr = 0.713(R - Y)
                Cb = 0.565(B - Y)
HI , JPEG
            激励代码
HI , JPEG
            Rgb2ycbcr 仿真结果
HI , JPEG            2.2 DCT 与 zigzag 部
                             分
          离散余弦变化内部包含 8 组 dct_block ,每组
      dct_block 包含 8 个 dct_unit, 如下图所示:

                                                                                    zigzag

              Dct_     Dct_    Dct_     Dct_      Dct_    Dct_     Dct_      Dct_
             unit0    unit1   unit 2    unit3    unit4   unit 5    unit6    unit7




din                                        ……                                                Dout




             Dct_     Dct_    Dct_      Dct_     Dct_    Dct_      Dct_     Dct_
            unit 0   unit 1   unit2    unit3    unit 4   unit5    unit6    unit 7
HI , JPEG
            模块说明


             类型   端口     描述

             输入   clk    时钟

             输入   ena    使能端

             输入   din    数据输入

             输出   dout   数据输出
HI , JPEG
            Dct_block 模块图
HI , JPEG
             Dct_unit 单元




      通过查 dct_cos_table 表( x , y , u , v )来
 确定离散余弦运算, dct_mac 计算输出值。
HI , JPEG
            dct_cos_table 部分代码
HI , JPEG
            dct_mac 部分代码
HI , JPEG
            zigzag 部分
HI , JPEG
            Zigzag 模块说明
HI , JPEG
            2.3 量化取整


                          量化取整部
                分内部主要包括一个
                divider 模块及产生数据
                输出有效和循环结果到
                最近整数的电
                路, divider 模块主要
                实现除法。
HI , JPEG
            Jpeg-qnr 部分代码
HI , JPEG   2.4 AC 及 DC 数据编
                    码


                    引脚         说明
                           经过 Zigzag 扫描
                    din
                           后的数据
                    size
                              AC DC
                     rle
                             数据输出
                    amp
HI , JPEG




AC 经过 RLE 编码后的数据格式为:

            Rlen ( 0 的个数   Size (非零 AC 有效长度
                                              Amp (非零 AC 值)
            )              )


DC 经过 RLE 编码后的数据格式为:

            Size ( DC 差值有效长度)      Amp ( DC 差值)
HI , JPEG
            编码器总架构



              引脚        说明
              din       八位 RGB 值输入
              qnt_val   八位量化值输入
              amp ;
              size ;    编码后输出值
              rlen ;
HI , JPEG
            三、综合验证
谢   谢!

More Related Content

PDF
系統程式 -- 第 2 章
PDF
系統程式 - 附錄
PDF
08上半年软设上午试题
PDF
數位邏輯隨堂講義 第2章(題目卷)
DOCX
系統程式 - 第二章
PDF
數位邏輯教師手冊+Ch2
DOCX
系統程式 -- 第 11 章 嵌入式系統
PPTX
Nutrición y salud presentacion cd
系統程式 -- 第 2 章
系統程式 - 附錄
08上半年软设上午试题
數位邏輯隨堂講義 第2章(題目卷)
系統程式 - 第二章
數位邏輯教師手冊+Ch2
系統程式 -- 第 11 章 嵌入式系統
Nutrición y salud presentacion cd

Similar to Jpeg realize analysis (20)

PPT
Mpeg
PPT
PPT
PPTX
How to transfer the paper to the box ?
PPTX
Chapter2-5 Finite Element Programming.pptx
PPT
第4章
PPT
Cuda基本介绍
PPT
数字电路复习
PPT
第4章1
PDF
張逸 - 研究所 / 轉學考計算機概論 、公職計算機概要 - 基本計概 - 試閱版
PPT
Android图形系统简介
PDF
GPU通用计算调研报告
PPT
03 计算机的逻辑部件02
PPTX
Image optimization for Sina.com
PPT
基于嵌入式系统的Avs P10编码系统设计
PDF
Arduino 底層原始碼解析心得
PPTX
艾鍗學院-單晶片韌體-CC2500通訊實驗
PDF
Arduino基礎IO控制
PPT
香港六合彩
Mpeg
How to transfer the paper to the box ?
Chapter2-5 Finite Element Programming.pptx
第4章
Cuda基本介绍
数字电路复习
第4章1
張逸 - 研究所 / 轉學考計算機概論 、公職計算機概要 - 基本計概 - 試閱版
Android图形系统简介
GPU通用计算调研报告
03 计算机的逻辑部件02
Image optimization for Sina.com
基于嵌入式系统的Avs P10编码系统设计
Arduino 底層原始碼解析心得
艾鍗學院-單晶片韌體-CC2500通訊實驗
Arduino基礎IO控制
香港六合彩
Ad

Jpeg realize analysis

  • 1. JPEG 编码器的 实现分析
  • 2. HI , JPEG 主 要 内 容 第一部分:介绍了 jpeg 压缩的基本原理 第二部分: jpeg 编码器架构及实现分析 第三部分:综合验证
  • 3. HI , JPEG JPEG 文件解析 图像的宽、高 、 Huffman 表、量 化表等等。标记码 有很多,但绝大多 数的 JPEG 文件只 包含几种。标记码 的结构为: SOI ,DQT (量化 表) ,DRI,SOF0,D HT (哈夫曼编码 表) ,SOS 压缩数据 , 以 EOI 标志结束。
  • 4. HI , JPEG 数据压缩流程图 RGB 空间变换 8*8图像块 源图像数据 YCbCr DCT 变换 DPCM 编码 JPEG压缩文件 哈夫曼 编码 量化 行程编码 未包括
  • 5. HI , JPEG 1.1 、 空间变换 通常把 RGB 空间表示的彩色图像变 换到其他色彩空间 (YUV) 。 每个点保存一个 8bit 的亮度值 , 每 2x2 个点保存一个 Cr Cb 值 , 而图象在肉眼中 的感觉不会起太大的变化 . 所以 , 原来用 RGB 模型 , 4 个点需要 4x3=12 字节 . 而现在仅需要 4+2=6 字节 ; 平均每个点占 12bit.
  • 6. HI , JPEG 1.2 、 DCT 变换
  • 7. HI , JPEG 1.3 、 量化 量化过程实际上是简单地把频率领域上 每个成份,除以一个对于该成份的常数,且接着 四舍五入取最接近的整数。 DC 直 流变量 AC 交流变量
  • 8. HI , JPEG 1.4 、 “ Z” 字形编 排 对于前面量化的系数所作的 “ Z” 字形编排结果就是: 底部 − 26 ,− 3 , 0 ,− 3 ,− 3 ,− 6 , 2 ,− 4 , 1 −4 , 1 , 1 , 5 , 1 , 2 ,− 1 , 1 ,− 1 , 2 , 0 , 0 , 0 , 0 , 0 ,− 1 ,− 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 顶部
  • 9. HI , JPEG 1.5 、编 码 一、直流 DC 系数使用 DPCM (差分脉冲 调制编码 )编码; 二、交流 AC 系数使用 RLE (行程)编 码; 三、最后用 范式 Huffman 编码来处理。
  • 10. HI , JPEG 2.1 空间变换 计算公式: Y = 0.299R + 0.587G + 0.114B Cr = 0.713(R - Y) Cb = 0.565(B - Y)
  • 11. HI , JPEG 激励代码
  • 12. HI , JPEG Rgb2ycbcr 仿真结果
  • 13. HI , JPEG 2.2 DCT 与 zigzag 部 分 离散余弦变化内部包含 8 组 dct_block ,每组 dct_block 包含 8 个 dct_unit, 如下图所示: zigzag Dct_ Dct_ Dct_ Dct_ Dct_ Dct_ Dct_ Dct_ unit0 unit1 unit 2 unit3 unit4 unit 5 unit6 unit7 din …… Dout Dct_ Dct_ Dct_ Dct_ Dct_ Dct_ Dct_ Dct_ unit 0 unit 1 unit2 unit3 unit 4 unit5 unit6 unit 7
  • 14. HI , JPEG 模块说明 类型 端口 描述 输入 clk 时钟 输入 ena 使能端 输入 din 数据输入 输出 dout 数据输出
  • 15. HI , JPEG Dct_block 模块图
  • 16. HI , JPEG Dct_unit 单元 通过查 dct_cos_table 表( x , y , u , v )来 确定离散余弦运算, dct_mac 计算输出值。
  • 17. HI , JPEG dct_cos_table 部分代码
  • 18. HI , JPEG dct_mac 部分代码
  • 19. HI , JPEG zigzag 部分
  • 20. HI , JPEG Zigzag 模块说明
  • 21. HI , JPEG 2.3 量化取整 量化取整部 分内部主要包括一个 divider 模块及产生数据 输出有效和循环结果到 最近整数的电 路, divider 模块主要 实现除法。
  • 22. HI , JPEG Jpeg-qnr 部分代码
  • 23. HI , JPEG 2.4 AC 及 DC 数据编 码 引脚 说明 经过 Zigzag 扫描 din 后的数据 size AC DC rle 数据输出 amp
  • 24. HI , JPEG AC 经过 RLE 编码后的数据格式为: Rlen ( 0 的个数 Size (非零 AC 有效长度 Amp (非零 AC 值) ) ) DC 经过 RLE 编码后的数据格式为: Size ( DC 差值有效长度) Amp ( DC 差值)
  • 25. HI , JPEG 编码器总架构 引脚 说明 din 八位 RGB 值输入 qnt_val 八位量化值输入 amp ; size ; 编码后输出值 rlen ;
  • 26. HI , JPEG 三、综合验证
  • 27. 谢!