基于变长频带选择的JPEG图像可逆数据隐藏-文献学习

news2025/1/11 17:53:36

论文学习
原文题目: Reversible Data Hiding of JPEG Image Based on Adaptive Frequency Band Length
发表期刊: TCSVT 2023(中科院1区)
作者: Ningxiong Mao, Hongjie He, Fan Chen, Yuan Yuan, Lingfeng Qu


摘要

JPEG图像在互联网上被广泛使用。基于quantified discrete cosine transform (DCT) coefficients直方图平移的JPEG图像可逆数据隐藏方法是一个研究焦点。其中频带选择是一个影响JPEG-RDH 性能的关键步骤。在现有算法中频带选择是对整个频带进行嵌入性能评估,但DCT块排序后扩展AC系数的分布是在频带的前部,因此对整个频带进行性能评估会产生误差。本文提出一种自适应频带长度的IPEG图像RDH方法,在选择频带的同时确定频带的使用长度,如此可以有效减少无效平移。将不在使用选择频带的整个长度,而是每个频带的使用长度可能是不同的。然后利用一种联合求解机制求解最优频带长度,在求解频带长度的同时也完成了频带的选择。实验结果表明本文算法在标记图像视觉质量和文件大小增量方面优于现有先进方法。

一、 概述

基于DCT系数修改的JPEG 图像RDH方法主要的研究点有两个:(i)块选择;(ii) 频带选择。如何建立精确的频带失真代价函数是一个研究重点。在现有的工作中在评估一个频带的性能时是使用所有块进行评估,但由于频带中系数的分布是不同的,对整个频带的失真代价进行评估会产生误差。块按零AC系数数目进行降序排序后一般AC系数1和-1在频带的前部。针对上述问题,本文提出了一种自适应频带长度的JPEG-RDH方案。我们不在对整个频带进行嵌入性能评估,而是只使用每个频带中的部分DCT块并且每个频带使用的DCT 块数目可能是不同的。然后我们采用一种自适应求解机制在选择频带的过程中同时确定频带的使用长度。通过自适应频带长度的方法可以提高嵌入率并减少无效平移,从而有效减少失真和降低文件增长。实验分析表明本文方案是优于现有其他先进算法。本文方案的主要贡献如下。

  1. 自适应选择频带长度. 本文不在对整个频带进行嵌入性能评估,而是根据不同频带长度的嵌入性能选择频带的使用长度。选择使用频带的最优长度,如此尽可能的减少无效平移。
  2. 联合求解机制。在求解过程中频带选择和频带长度的确定是同时进行的。在求解频带长度过程中也在确定频带使用的优先级。

二、自适应频带长度模型

在现有算法中频带选择是作为一个重点研究对象,但现有的算法中都是对频带中的所有块或相同长度的部分块进行性能评估以确定频带的嵌入性能。但块经过0 系数数目降序排序后,非0 AC系数的分布一般是扩展系数E 在前部,大部分平移系数S在后部。故在满足嵌入容量的情况下应当尽量使用频带前部的系数。所以在选择频带的同时还需要选择频带的长度,频带的不同长度对应的单位容量失真是不同的。在图2中我们给出了一个自适应确定频带长度的图示。 本文在选择频带的过程中同时选择频带的使用长度。

在现有的工作中可以得出结论,影响频带嵌入性能的主要主要因素有频带在空间域产生的失真成本和 频带的嵌入率。频带的失真成本是由量化表Q决定,但Q是不能更改的。嵌入率是和频带的长度相关的,选择最优的频带长度就是选择最优的嵌入率。对于同一个频带,扩展系数E 的占比是越高则嵌入率越高。 嵌入率是指频带中扩展系数E 与 非零系数的比值,公式如下。
在这里插入图片描述
下图所示展示了四幅图像在不同频带长度的ER随着QF=70 and size 512×512。图中分别测试了块排序后频带中前1,000,2,000, 3,000, 4,000 个块的 嵌入率,可以观察到频带长度越短嵌入率是越高的。如果使用前1000个块即可完成秘密数据嵌入,则不使用更大的频带长度进行数据嵌入。因为使用越长的频带平移系数占比越高,造成的失真越大。如何确定选择频带的最优长度是接下来需要解决的问题。

根据频带长度的单位容量失真顺序更新每个频带的使用长度。每更新一次就是一个解,容量大于等于给定载荷的为可行解。在更新的过程中我们还有一个约束条件,当前更新的频带长度是必须大于前一次更新的频带长度,否则跳过本次更新频带长度保持不变。
在这里插入图片描述

三、嵌入/提取过程

主要介绍秘密数据嵌入,辅助信息的处理,数据提取和标记JPEG图像恢复的过程细节。
嵌入过程
1)对原始JPEG图像进行解码,得到量化后的DCT系数矩阵和量化表Q。
2)根据DCT块中零AC系数的数量对所有DCT块进行排序,对块进行zig-zag扫描展开生成系数矩阵。
3)通过等式(11)我们可以计算频带的每个长度的单位容量失真UT,然后根据单位容量失真的顺序排序频带长度。根据算法1我们可以得到一个可行解集合并找到最优解D。
4)在得到最优频带长度D后,我们可以参考论文[23] 中的直方图平移方法进行数据嵌入和DCT系数修改。
5)对修改的DCT系数进行编码得到标记JPEG图像。
辅助信息
在完成数据嵌入后,为了保证可逆性需要保存一些辅助信息。辅助信息包括:载荷的长度(log_2⁡P),频带选择位图(63bits),频带分割步长K(7bits),选择频带的长度位图。假设选择频带的个数为V,则记录选择频带长度需要的位图大小为 V*log_2⁡(N/K)。然后,这些辅助信息是嵌入到标记JPEG图像的头部。
提取恢复过程
得到标记JPEG图像后,首先对JPEG图像进行解码,得到量化后的DCT系数矩阵,量化表Q和辅助信息。在获得辅助信息后,我们可以根据论文[23]中的秘密数据提取规则提取秘密数据和恢复DCT系数。
对恢复的DCT系数进行编码,将图像无失真的恢复至原始JPEG图像。

四、实验结果

对比的方案有 Huang et al. [23],Hou et al.[24],Wedaj et al.[25],He et al.[28],Yin et al.[29]。本文主要对比了两个数据集,USC-SIPI (http://sipi.usc.edu/database/) database 中的六幅经典图像分别是Lena, Baboon, Peppers, Barbara, Boat and Elaine。

另一个是BOSSbase v1.01 (http://agents.fel.cvut.cz/boss) 数据集,我们从数据集中随机选择200幅图像进行测试。通过对实验结果的对比,验证了本文方案的整体性能是优于其他先进算法的。
参数确定
我们可以看到频带分割长度的数目是由分割步长K 决定的。K的取值将会影响频带的分割长度和解空间大小。在表1中给出了分割步长K取不同值时Lena和Peppers 图像在不同嵌入容量下的性能。在表1中,我们可以观察到当K=100时所有图像都可以得到最优的PSNR值除了lena 在10,000bits 容量下。Lena 和 Peppers 图像在三个容量点的平均值都是在K=100时得到最优的PSNR值,所以本文频带分割步长K=100.

下图中展示Lena 图像在5000bits,10,000 bits 和 15000bits的载荷下得到的频带长度最优解D with image size 512x512。在图4 中可以看到本文算法与传统现有方法的区别,现有方法使用频带长度的固定的一般是整个频带。本文算法选择的每个频带使用的长度可能是不一样的,可以根据频带的嵌入性能自适应确定频带的使用长度。
在这里插入图片描述
下图中展示了在BOSSbase 数据集上200幅测试图像的平均SSIM。本文方案在四个量化因子下的平均SSIM值分别为0.9985,0.9990,0.9994 和 0.9997。我们可以看到SSIM值都是大于0.99 接近于1,说明原始JPEG图像和标记JPEG图像是非常相似的。本文方案的平均SSIM 值也是优于其他先进方案的。上述的PSNR 和SSIM 实验结果都证明了本文方案具有更优的图像视觉质量相较于其他先进方案。
在这里插入图片描述

结论

提出一种自适应频带长度的JPEG可逆数据隐藏算法。在传统的频带选择中是对整个频带的嵌入性能进行评估,但DCT块排序后扩展AC系数是分布在频带的前部,所以对整个频带进行性能评估会产生误差。我们将根据频带中扩展AC系数的分布自适应使用选择频带的长度,尽可能的减少平移AC系数的使用数目。建立了频带长度的选择优化模型,通过联合求解机制确定频带长度最优解。利用联合求解机制我们能够在求解频带长度的同时选择频带。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SolVES模型应用(基于多源环境QGIS\PostgreSQL\ARCGIS\MAXENT\R语言支持下模型应用)

生态系统服务是人类从自然界中获得的直接或间接惠益,可分为供给服务、文化服务、调节服务和支持服务4类,对提升人类福祉具有重大意义,且被视为连接社会与生态系统的桥梁。自从启动千年生态系统评估项目(Millennium Ecosystem Asse…

又双叒叕入选!腾讯安全NDR连续四年获Gartner认可

近日,全球权威研究机构 Gartner发布了2023年《Emerging Tech: Security — Adoption Growth Insights for Network Detection and Response》(《新兴技术:安全-网络检测与响应的采用增长洞察》),腾讯安全连续四年被列为…

内卷把同事逼成了“扫地僧”,把Git上所有面试题整理成足足24W字测试八股文

互联网大厂更多的是看重学历还是技术? 毫无疑问,是技术,技术水平相近的情况下,肯定学历高/好的会优先一点,这点大家肯定都理解。 说实话,学弟学妹们找工作难,作为面试官招人也难呀&#xff01…

使用laf云开发三分钟上线你自己的Midjourney

文章尾部有demo 江湖惯例:先来一波感谢,感谢laf,让我们可以不使用魔法、免费接入Midjourney,不了解laf的请猛戳 Laf介绍 一、写这篇博客的背景 laf官方最近发布了一个活动,活动链接,新手也可以接入哦&…

云渲染平台为什么越来越多的效果图公司开始使用?

随着3dmax版本的不断更迭,包括常用的V-Ray渲染器和Corona渲染器的不断更新,室内设计行业对于 效果图的渲染要求越来越高。而要求更高的渲染精度和更真实的渲染效果,所需要付出的代价则是不断增长的参数,这会使渲染一张效果图的时间…

chatgpt赋能Python-python_lamba

Python Lambda: 什么是Lambda表达式? Python是一种强大的编程语言,它支持许多编程范式,包括函数式编程。Lambda表达式是函数式编程的一个重要概念。许多人对Lambda表达式感到困惑,认为它们很难理解。本文将介绍Python的Lambda表达…

如何对Windows剪切板里的内容进行取证分析 Windows剪切板取证

前言 无论是在现实中对设备进行取证分析,还是在ctf中做取证类的题目,剪切板里的内容都需要去查看,以免遗漏什么重要信息 剪切板位置 剪切板是计算机操作系统提供的一个临时存储区域,用于在不同应用程序之间复制和粘贴文本、图像…

S72402-NANANA伺服驱动器相当于大脑,执行电机相当于手脚

​ S72402-NANANA伺服驱动器相当于大脑,执行电机相当于手脚 伺服驱动器在控制信号的作用下驱动执行电机,因此驱动器是否能正常工作直接影响设备的整体性能。在伺服控制系统中,伺服驱动器相当于大脑,执行电机相当于手脚。而伺服驱动…

从裸机启动开始运行一个C++程序(三)

先序文章请看 从裸机启动开始运行一个C程序(二) 从裸机启动开始运行一个C程序(一) 编写MBR 上一章我们已经成功地在8086上运行了指令,同时也介绍了nasm汇编语言。那么接下来这一章,我们就来看看如何写BIO…

零基础学习网络安全这一块,请问有哪些相关资料可以推荐一下?

一、相关网站推荐 1、FreeBuf 国内关注度最高的全球互联网安全媒体平台,爱好者们交流与分享安全技术的社区,网络安全行业门户。 2、看雪看雪论坛是个软件安全技术交流场所,为安全技术爱好者提供一个技术交流平台和资源。 3、吾爱破解 吾爱破解…

Spring源码阅读:Spring事务传播特性

一、概述 我们平常工作中经常会听到事务的传播级别,但是使用中基本不会太调整这个事务传播级别,因为没什么业务场景需要我们这么做,只需要使用原有的事务传播级别即可解决95%的业务场景。但是为了那5%的业务场景,我们还是还要学习…

半边圆角和选中

为了这效果肝了几天,调了几天,改了几天,头都晕了! 在 ViewBinder 里设置背景 adapter.setViewBinder(new SimpleCursorAdapter.ViewBinder(){public boolean setViewValue(View view, Cursor cursor, int columnIndex){ …

如何理解驱动程序、设备树、platform、device、driver之间的关系

前言 利用设备树来使用或者编写驱动程序,需要梳理哪些概念? 如何理解驱动程序、设备树、platform、device、driver之间的关系 前言一、总线设备驱动模型——总线、设备、驱动二、从代码中看driver与device的关系三、设备树的应用(一&#xf…

简单分享生鲜超市怎么做同城配送小程序

1、蔬菜生鲜产品展示:用户打开买菜必备软件,就能查看琳琅满目的新鲜水果、蔬菜、肉类、零食等产品,为用户展示更多信息,提升用户下单率。经常更新商品的照片、视频,让客户可以在线浏览和挑选,足不出户就能买…

Baumer工业相机堡盟工业相机通过BGAPISDK使用图像回调函数全帧率保存图像(C++)

Baumer工业相机堡盟工业相机通过BGAPISDK使用图像回调函数全帧率保存图像(C) Baumer工业相机Baumer工业相机全帧率保存的技术背景Baumer工业相机通过BGAPISDK使用相机图像回调函数1.引用合适的类文件2.通过BGAPISDK在相机图像回调函数全帧率保存 Baumer工…

LabVIEWCompactRIO 开发指南31 在LabVIEW FPGA中使用DMA FIFO

LabVIEWCompactRIO 开发指南31 在LabVIEW FPGA中使用DMA FIFO 要为流数据创建DMA缓冲区,请右键单击FPGA目标并选择New...FIFO。为FIFO结构指定一个描述性名称,并选择“target to host”作为类型。这意味着数据应该通过这个DMA FIFO从FPGA目标流向实时主…

“饶派杯”XCTF车联网安全挑战赛战队巡礼!

2023年5月31日,“饶派杯” XCTF车联网安全挑战赛将于江西省上饶市重磅开赛。本届大赛由江西省委网信办、江西省工信厅、上饶市人民政府主办,旨在深入贯彻落实国家网络强国和交通强国战略部署,推动智能网联汽车技术与产业发展、加快该领域人才…

大数据(三)大数据技术栈发展史

-系列目录- 大数据(一)背景和概念 大数据(二)大数据架构发展史 大数据(三)大数据技术栈发展史 前两章,我们分析了大数据相关的概念和发展史,本节我们就讲一讲具体的大数据领域的常见技术栈发展史。对主流技术栈有一个初步的认知。 一、总览 大数据技术栈…

课程分享:鸿蒙HarmonyOS系统及物联网开发实战课程(附课程视频及源码下载)

课程名称: 鸿蒙HarmonyOS系统及物联网开发实战课程 课程介绍: HarmonyOS 是一款面向万物互联时代的、全新的分布式操作系统。在传统的单设备系统能力基础上,HarmonyOS 提出了基于同一套系统能力、适配多种终端形态的分布式理念&#xff0c…

设计模式之【状态模式】,如何设计一个“状态管理大师”

文章目录 一、什么是状态模式1、状态模式使用场景2、状态模式优缺点3、状态模式的三大角色4、状态模式与责任链模式的区别5、状态模式与策略模式的区别 二、实例1、状态模式的一般写法(1)简单写法(2)进阶写法(3&#x…