首页 > 知识点讲解
       JPEG编码步骤
知识路径: > 多媒体数据压缩编码技术基础 > 数据压缩编码标准 > 静态图像压缩编码标准 > 静态图像压缩编码标准 > 
被考次数:18次     被考频率:高频率     总体答错率:38%     知识难度系数:     
考试要求:熟悉      相关知识点:3个      
        JPEG压缩编码算法的主要计算步骤如下。
        8×8分块;正向离散余弦变换(FDCT);量化(quantisation); Z字形编码(zigzag scan);使用差分脉冲编码调制(DPCM)对直流系数(DC)进行编码;使用行程长度编码(RLE)对交流系数(AC)进行编码;熵编码(Huffman或算术);组成位数据流。
               8×8分块
               JPEG编码需要先将整个图像分成8×8像素的图像块,然后对每个图像块分别进行编码。在划分过程中,对于不足部分可以通过重复图像的最后一行/列进行填充。被划分成功的图像块作为二维正向离散余弦变换的输入。
               正向离散余弦变换
               JPEG编码对每个单独的颜色图像分量分别进行正向离散余弦变换(Forward Discrete Cosine Transform, FDCT)。
               FDCT变换的好处在于:通过FDCT变换可以把能量集中在频率较低的少数的几个系数上。例如,对于一个8×8像素的灰度图像块进行FDCT变换后的数值如下图所示。
               
               8×8像素的灰度图像块的FDCT变换示例图
               JPEG编码的FDCT变换使用下式计算。
               
               其中,fij)是图像样本矩阵或样本的预测误差矩阵,Fuv)是fij)经过FDCT变换后的系数矩阵。
               
               其中,F(0,0)称为直流系数(Direct Current, DC),表示8×8个像素值的平均值。其他Fuv)称为交流系数(Alternating Current, AC)。其逆变换使用下式计算。
               
               量化
               经过FDCT变换后的系数,其数值变化较多,不利于编码。为了将系数数值映射到更小的取值范围,可以使用量化(quantisation)实现。通过量化可以减小非0系数的幅度和增加0值系数的数目。当然,量化也是导致图像质量下降的主要原因。
               JPEG的有损压缩算法使用均匀标量量化器进行量化,量化步距是按照系数所在的位置和每种颜色分量的色调值确定的。
               由于人眼对亮度信号比对色差信号更敏感,因此JPEG编码中使用了亮度量化表和色差量化表两种标准的量化表,参见下1表和下2表。此外,由于人眼对低频分量的图像比对高频分量的图像更敏感,因此表中的左上角的量化步距要比右下角的量化步距小。
               
               亮度量化值表
               
               色差量化值表
               量化的具体计算公式如下。
               
               其中,Squ,v)为量化后的结果,Fuv)为FDCT系数,Quv)为量化表中的数值,round为舍入取整函数。
               Z字形编排
               量化后的二维系数需要重新编排并转换为一维系数,为了增加连续的0系数的个数,即0的游程长度,JPEG编码中AC系数的编排采用Z字形编排方法,其编排的序号顺序如下图所示。
               
               量化FDCT系数的编排图
               这样就把一个8×8的矩阵变成了一个1×64的矢量,频率较低的系数放在矢量的头部。
               直流系数的编码
               DC直流系数有两个特点:一是系数的数值比较大;二是相邻图像块的DC系数的数值变化不大。根据这些特点,JPEG算法使用了差分脉冲编码调制(DPCM)技术,对相邻图像块之间的DC系数的差值Δ进行如下编码。
               Δ=DC(0,0)k-DC(0, 0)k-1
               其中,k表示当前的编码块,k-1表示前一个编码块。
               交流系数的编码
               量化AC系数的特点是1×63矢量中包含有许多0系数,并且许多0是连续的,因此使用非常简单和直观的游程长度编码(RLE)对它们进行编码。
               JPEG使用了1字节的高4位表示连续0的个数,使用它的低4位表示编码下一个非0系数所需要的位数,紧随其后的是量化AC系数的数值。
               熵编码
               使用熵编码还可以对DPCM编码后的直流DC系数和RLE编码后的交流AC系数做进一步压缩。
               在JPEG有损压缩算法中,通常使用Huffman或算术编码减少熵。使用Huffman编码器的理由是可以使用很简单的查表(lookup table)方法进行快速编码。当压缩数据符号时,Huffman编码器为出现频度较高的符号分配较短的代码,而为出现频度较低的符号分配较长的代码,这种可变长度的Huffman码表可以事先定义。
               下表所示为DC码表符号举例,如果DC的值(value)为4,符号SSS用于表达实际值所需要的二进制位数,则SSS的实际位数为3。
               
               DC码表符号举例
               组成位数据流
               JPEG编码的最后一个步骤是把各种标记代码和编码后的图像数据组成一帧一帧的数据,这样做的目的是便于传输、存储和译码,这样组织的数据通常称为JPEG位数据流(JPEG bitstream)。
 
本知识点历年真题:
隶属试卷 题号/题型 题干 难度系数/错误率
   2015年上半年
   多媒体应用设计..
   上午试卷 综合知识
第40题
选择题
JPEG图像编码标准不支持(38)格式,在编码标准中没有使用到(39)编码技术。在有损编码模式中导致数据损失的步骤是(40)。
①真彩色图像 ②伪彩色图像 ③灰度图像 ④黑白二值图像

42%
   2015年上半年
   多媒体应用设计..
   上午试卷 综合知识
第39题
选择题
JPEG图像编码标准不支持(38)格式,在编码标准中没有使用到(39)编码技术。在有损编码模式中导致数据损失的步骤是(40)。
①真彩色图像 ②伪彩色图像 ③灰度图像 ④黑白二值图像

47%
>>  更多  本知识点历年真题
 
 相关知识点:
 
软考在线指南
优惠劵及余额
在线支付
修改密码
下载及使用
购买流程
取消订单
联系我们
关于我们
联系我们
商务合作
旗下网站群
高级资格科目
信息系统项目管理师 系统分析师
系统架构设计师 网络规划设计师
系统规划与管理师
初级资格科目
程序员 网络管理员
信息处理技术员 信息系统运行管理员
中级资格科目
系统集成项目管理工程师 网络工程师
软件设计师 信息系统监理师
信息系统管理工程师 数据库系统工程师
多媒体应用设计师 软件评测师
嵌入式系统设计师 电子商务设计师
信息安全工程师
 

本网站所有产品设计(包括造型,颜色,图案,观感,文字,产品,内容),功能及其展示形式,均已受版权或产权保护。
任何公司及个人不得以任何方式复制部分或全部,违者将依法追究责任,特此声明。
本站部分内容来自互联网或由会员上传,版权归原作者所有。如有问题,请及时联系我们。


工作时间:9:00-20:00

客服

点击这里给我发消息 点击这里给我发消息 点击这里给我发消息

商务合作

点击这里给我发消息

客服邮箱service@rkpass.cn


京B2-20210865 | 京ICP备2020040059号-5 |京公网安备 11010502032051号 | 营业执照 | Copyright ©2000-2023 All Rights Reserved 软考在线版权所有