(数字图像处理MATLAB+Python)第十二章图像编码-第三、四节:有损编码和JPEG

文章目录

  • 一:有损编码
    • (1)预测编码
      • A:概述
      • B:DM编码
      • C:最优预测器
    • (2)变换编码
      • A:概述
      • B:实现变换编码的主要问题
  • 二:JPEG

一:有损编码

(1)预测编码

A:概述

预测编码:是一种数据压缩技术,旨在通过利用数据中的统计规律来减少存储或传输所需的比特数。它基于预测模型,根据已经观察到的数据来预测未来的数据,并将预测误差编码和传输。预测编码的过程通常包括以下几个步骤

  • 模型训练:首先,根据已有的数据,建立一个预测模型。这可以是简单的算术模型,也可以是更复杂的统计模型,如线性回归、自回归模型等。
  • 预测:使用训练好的模型来预测下一个数据点的值。预测结果与实际观测值之间的差异称为预测误差。
  • 编码:将预测误差转换成二进制序列。较大的误差通常需要更多的比特表示,而较小的误差则需要较少的比特。
  • 传输/存储:将编码后的二进制序列进行传输或存储。由于预测误差经过编码后变得更紧凑,所以可以节省存储空间或减少传输带宽。

在解码时,接收端使用相同的预测模型和解码器来还原预测误差,并通过与先前的预测值相加来重建原始数据

B:DM编码

DM编码:也称为差分脉冲调制(Differential Manchester coding),是一种数字信号编码方法。它的主要特点是通过改变信号的边沿来传输信息,而不是依赖信号的电平。编码原理如下

  • 每个位周期被分成两个时间间隔,通常称为一个时钟周期
  • 逻辑值 1 被表示为从高电平到低电平或者从低电平到高电平的过
  • 逻辑值 0 被表示为在时钟周期中的每个中点处发生电平的变化
  • 在每个时钟周期开始时,信号的边沿都会发生变化,不管数据位的值如何,这样可以提供同步和时钟恢复的机制

DM编码优势如下

  • 抗干扰能力强:由于在每个时钟周期都有信号边沿的变化,DM编码在面对噪声和干扰时具有较好的抗干扰能力。
  • 同步性好:由于每个时钟周期开始时信号边沿都会变化,接收端可以利用这些边沿来进行时钟恢复和数据解码,保证了通信双方的同步性。
  • 错误检测能力强:由于每个位周期中的边沿变化是固定的,如果接收到的信号不符合DM编码规则,可以判断出错误发生

f ^ N ( x , y ) = a ⋅ f N ′ ( x , y ) e N ′ ( x , y ) = { + c if  e N ( x , y ) > 0 − c if  e N ( x , y ) ≤ 0 \begin{array}{l}\hat{f}_{N}(x, y)=a \cdot f_{N}^{\prime}(x, y) \\e_{N}^{\prime}(x, y)=\left\{\begin{array}{lll}+c & \text { if } & e_{N}(x, y)>0 \\-c & \text { if } & e_{N}(x, y) \leq 0\end{array}\right.\end{array} f^N(x,y)=afN(x,y)eN(x,y)={+cc if  if eN(x,y)>0eN(x,y)0

如下,假设输入序列如下,DM编码系统中的 a = 1 a=1 a=1 c = 6 c=6 c=6

在这里插入图片描述

DM编码过程实现如下

在这里插入图片描述

C:最优预测器

最优预测器:是一种能够根据给定的数据和模型,对未来事件或现象进行准确预测的算法或系统。它能够通过分析历史数据、探索潜在模式和趋势,以及应用统计学和机器学习方法,对未知情况进行预测

  • 数据驱动:最优预测器通过利用可用的数据来进行预测,这些数据可以是过去的观测结果、实验数据、传感器数据等。它依赖于大量的数据,并利用这些数据中的模式和趋势来做出预测
  • 模型选择:最优预测器需要选择合适的模型来对数据进行建模。这些模型可以是统计模型、机器学习模型、时间序列模型等。选择合适的模型是提高预测准确性的重要因素之一
  • 特征工程:最优预测器通常需要对原始数据进行特征提取和特征工程,以便更好地表示数据的信息和特征。这可以包括对数据进行降维、标准化、归一化等操作,以及选择合适的特征子集
  • 参数调整:最优预测器可能有一些参数需要调整,以便使模型更好地适应数据和预测任务。这可以通过交叉验证、网格搜索等方法进行
  • 评估准则:最优预测器需要选择合适的评估准则来度量其预测性能。这可以是均方根误差(RMSE)、平均绝对百分比误差(MAPE)等。通过评估准则,可以比较不同模型或算法的性能,选择最优的预测器

求解最佳预测系数需要满足如下条件,这种限制是为了确保预测器的输出能落到灰度级的允许范围内,并减少传输噪声的影响,传输噪声的影响通常在重构图像中表现为水平的条纹

∑ i = 1 m a i ≤ 1 \sum_{i=1}^{m} a_{i} \leq 1 i=1mai1
如下是一个4阶的线性预测系统

在这里插入图片描述

(2)变换编码

A:概述

变换编码:是一种用于信号压缩的技术,它通过将信号转换到另一个表示域进行编码和压缩。在变换编码中,常用的变换方法包括傅里叶变换、离散余弦变换(DCT)、小波变换等

  • 信号分帧:将长时间的连续信号切分成若干个短时段的信号帧,通常每帧长度为2的幂次方
  • 变换:对每个信号帧应用某种变换方法,将信号从时域转换到频域或其他表示域。常用的变换方法有傅里叶变换、DCT、小波变换等
  • 量化:在变换领域中,对获得的转换系数进行量化,将其映射为离散的数值。通过量化可以减少表示数字的位数,从而实现数据压缩
  • 编码:对量化后的系数进行编码,将其转换为更紧凑的码字表示。常用的编码方法包括霍夫曼编码、熵编码等
  • 压缩:将编码后的数据进行存储或传输

在解码时,需要按照相反的步骤对压缩数据进行解码和恢复。即先进行解码,还原出量化系数,然后逆变换到原始的时域信号。变换编码的优势在于能够通过剔除冗余信息和利用信号的统计特性来实现高效的信号压缩。通过选择合适的变换方法和调整量化参数,可以实现在保持较高信号质量的前提下,显著减少数据的存储空间或传输带宽需求

下图是变换编码系统组成

在这里插入图片描述

B:实现变换编码的主要问题

问题一:子块尺寸选择

  • 通常划分子块需要满足
    • 相邻子块间相关程度减到某个可接受水平
    • 子块的长和宽通常为2的整数次幂
  • 好处是
    • 使正交变换后能量更加集中
    • 大大降低计算复杂度
    • 一般典型的划分子块尺寸是8×8或16×16

问题二:正交变换

  • K-L变换:很少使用。其严重依赖图像数据,每次都重新计算协方差矩阵,计算量大
  • DFT变换:块效应严重
  • DCT变换:被认为是准最佳变换。被国际压缩标准采纳。优点是
    • 基本没有块效应
    • 信息封装能力强,把最多的信息封装在最少的系数中

问题三:比特分配

  • 区域编码
    • 由于变换系数集中在低频区域,而低频区集中在变换域的左上角,可对该区域变换系数进行量化、编码、传输
    • 而右下角高频区既不编码又不传输,可达压缩目的。缺点为高频分量被丢弃,图像可视分辨率下降
  • 阈值编码:设定一门限值,只对变换系数幅值大于此阈值的编码,这样使低频成分不仅保留,而且某些高频成分也被选择编码。重建图像时,品质得到改善

二:JPEG

JPEG((Joint Photographic Experts Group)):是一种广泛应用于图像压缩的标准算法。它由国际电信联盟(ITU-T)和国际标准化组织(ISO)共同制定,旨在实现高效的图像压缩,以减小图像文件的大小并保持较好的视觉质量。JPEG压缩算法主要分为两个阶段

  • 离散余弦变换(DCT):JPEG将输入图像分成8x8的块,并对每个块应用离散余弦变换。这将图像从空域转换到频域,得到频域系数。DCT的作用是将图像中的能量集中在少数重要的低频系数上,而抑制高频细节
  • 量化:在DCT之后,JPEG使用量化表对频域系数进行量化。量化表中的元素决定了各个频域系数所保留的精度,即决定了压缩比。高频系数通常具有较低的量化值,因此会更加粗糙,而较低频的系数则可能获得较高的精度

通过DCT和量化过程,JPEG能够去除图像中的高频细节和冗余信息,实现图像压缩。压缩后的数据可以通过编码(如熵编码)进一步减小文件大小

下图是JPEG编码流程

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/103394.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1000元订金?华为折叠屏手机MateX5今日开始预订,售价尚未公布

华为最新款折叠屏手机Mate X5今日在华为商城开始预订,吸引了众多消费者的关注。预订时需交纳1000元的订金,而具体售价尚未公布。据华为商城配置表显示,Mate X5预计将搭载Mate 60系列同款麒麟9000S处理器,或可能搭载麒麟9100处理器…

Navicat连接openGauss数据库报错

错误信息:fe_sendauth:invalid authentication request from server:AUTH_REQ_SASL_CONT without AUTH_REQ_SASL 解决步骤: 1)关闭防火墙: 切换root用户执行:su - root 输入密码 systemctl status firewalld 查…

YOLOV7改进-添加P2和P6检测层(以YOLOV7-Tiny为例)

下载三个配置文件地址 1、加p6 1、配置文件添加 2、让它自己利用k-means算法进行聚类 3、如果从8或9出来,在这里改 完整

Container容器

Container继承体系 Winow是可以独立存在的顶级窗口,默认使用BorderLayout管理其内部组件布局;Panel可以容纳其他组件,但不能独立存在,它必须内嵌其他容器中使用,默认使用FlowLayout管理其内部组件布局;ScrollPane 是 一个带滚动条…

K210-CanMV IDE开发软件

K210-CanMV IDE开发软件 界面功能简介连接设备临时运行开机运行程序 界面功能简介 区域①菜单栏:操作文件,使用工具等。 区域②快捷按钮:区域①中的文件和编辑中部分功能的快捷方式。 区域③连接设备:连接设备和程序控制按钮。 …

WebDAV之π-Disk派盘 + 百灵创作

百灵创作是一款简约而不简单、功能强大且安全的高颜值码字工具,为网络写手和小说作者提供跨平台的写作环境,并提供强大的数据备份和云同步技术,以保障作者的数据安全,并提供流畅的多端无缝切换体验。 百灵创作的特点和功能包括: 简约而不简单:提供简洁直观的界面和操作,…

英飞凌TC3xx--深度手撕HSM安全启动(三)--TC3xx HSM系统架构

今天聊TC3xx HSM系统,包括所用内核、UCB相关信息、Host和HSM交互方式。 1、HSM系统架构 下图来源于英飞凌官网培训材料。 TC3xx的HSM内核是一颗32位的ARM Cortex M3,主频可达100MHz,支持对称算法AES128、非对称算法PKC(Public Key Crypto) ECC256、Hash SHA2,以及T…

ABY2.0:更低的通信开销

参考文献: [ABY] Demmler D, Schneider T, Zohner M. ABY-A framework for efficient mixed-protocol secure two-party computation[C]//NDSS. 2015.[ABY3] Mohassel P, Rindal P. ABY3: A mixed protocol framework for machine learning[C]//Proceedings of the…

【C++从0到王者】第二十八站:二叉搜索树的应用

文章目录 前言一、Key模型二、Key/Value模型总结 前言 二叉搜索树的在现实世界的应用很广泛,比如Key模型,Key-Value模型就是常见的两种的模型 一、Key模型 K模型:K模型即只有key作为关键码,结构中只需要存储Key即可&#xff0c…

机器学习入门教学——人工智能、机器学习、深度学习

1、人工智能 人工智能相当于人类的代理人,我们现在所接触到的人工智能基本上都是弱AI,主要作用是正确解释从外部获得的数据,并对这些数据加以学习和利用,以便灵活的实现特定目标和任务。例如: 阿尔法狗、智能汽车简单…

Arm 架构 Ubuntu 使用 Docker 安装 Gitlab 并使用

官方 gitlab 文档 我的系统是 arm 架构的 ubuntu 官网没有提供 arm 架构的 docker 的 gitlab 的安装方式,直接安装的也是后来加的,文档也是随笔带过,,,我用到了,记录一下 默认已经安装了 docker 在 docker …

​Vue + Element UI前端篇(二):Vue + Element 案例 ​

Vue Element UI 实现权限管理系统 前端篇(二):Vue Element 案例 导入项目 打开 Visual Studio Code,File --> add Folder to Workspace,导入我们的项目。 安装 Element 安装依赖 Element 是国内饿了么公司提…