基于量化思想的水印嵌入模型的主要目的是为了实现盲检测。其主要思想是根据水印信息的不同将原始载体数据量化到不同的量化区间,而检测时根据所属的量化区间来识别
水印信息。常见的两种量化方式是QIM和SCS方法,前一种方法是稳健的,主要用于版权保护后一种方法是脆弱的,主要用于内容认证。

QIM的主要思想是将坐标轴等间隔划分成A区间集与B区间集,区间大小为△。规定A区间集代表0,B区间集代表0,根据水印值是0或1,调整待嵌入水印的值,使其等于离自己最近的对应区间内的中间值,当检测水印时,只需判断该数值落在的区间是A集还是B集,就可以得到对应的水印信息是0或1。

对于变换域来说,调制的对象数据是变换域的幅度或相位,也可以是实部或虚部。假设变换域系数为xl,嵌入水印的位为b,原理如图所示:

  1. 划分区间集选取量化步长△。将坐标轴分割成如图所示的A区间集和B区间集。

确定坐标值的两重意义:如果用于计算,区间集内的坐标值具有表示数量大小的实际意义;如果用于表示水印位信息,则无论坐标值大小,凡是属于A区间集的坐标都代表位1,凡属于B区间集的坐标都代表位“0”.

2.取整数商和余数运算:选取量化步长△。对待量化的参数也就是DFT变系数的幅度值进行取整数商和余数运算。假设求得的整数商为m、余数位r,则有

3.量化嵌入:对参数量化处理与水印位b的取值密切相关

当b=1时,使量化结果等于与最接近的A集中某一区间的中间坐标值

当b=0时,使等于与最接近的B区间集中某一区间的中间坐标值

4.检测水印时,对待检测数据做DFT变换,根据水印嵌入位置、量化方案及参数值属于A区间还是属于B区间,就可以得到对应的水印信息是0或是1。

5.将提取的水印序列进行反置乱,如果是二维图像,要进行序列升维,最终得到二维图像。

QIM量化的更多相关文章

  1. Atitit  图像处理Depixelizing Pixel Art像素风格画的矢量化

    Atitit  图像处理Depixelizing Pixel Art像素风格画的矢量化 在去年的时候,偶然看到hqx算法. 一个高质量的插值放大算法. 与双线性插值等插值算法相比,这个算法放大后对人眼 ...

  2. 《量化投资:以MATLAB为工具》连载(2)基础篇-N分钟学会MATLAB(中)

    http://www.matlabsky.com/thread-43937-1-1.html   <量化投资:以MATLAB为工具>连载(3)基础篇-N分钟学会MATLAB(下)     ...

  3. 《量化投资:以MATLAB为工具》连载(1)基础篇-N分钟学会MATLAB(上)

    http://blog.sina.com.cn/s/blog_4cf8aad30102uylf.html <量化投资:以MATLAB为工具>连载(1)基础篇-N分钟学会MATLAB(上) ...

  4. 矢量化的HTML5拓扑图形组件设计

    HT一直被客户称道的就是其全矢量化的设计特色,矢量相比传统图片好处太多了: www.hightopo.com/guide/guide/core/vector/ht-vector-guide.html ...

  5. K-means算法和矢量量化

    语音信号的数字处理课程作业——矢量量化.这里采用了K-means算法,即假设量化种类是已知的,当然也可以采用LBG算法等,不过K-means比较简单.矢量是二维的,可以在平面上清楚的表示出来. 1. ...

  6. 3. 量化交易策略 - https://github.com/3123958139/blog-3123958139/README.md

    3. 量化交易策略 * 输入数据 - 只取最原始可靠的,如 * date * open * high * low * close * volume * 输出数据 - 根据数理统计取权重,把 o, h, ...

  7. (转载)高速ADC的关键指标:量化误差、offset/gain error、DNL、INL、ENOB、分辨率、RMS、SFDR、THD、SINAD、dBFS、TWO-TONE IMD

    (一)一个基本概念 分贝(dB):按照对数定义的一个幅度单位.对于电压值,dB以20log(VA/VB)给出:对于功率值,以10log(PA/PB)给出.dBc是相对于一个载波信号的dB值:dBm是相 ...

  8. 一个采用python获取股票数据的开源库,相当全,及一些量化投资策略库

    tushare: http://tushare.waditu.com/index.html 为什么是Python? 就跟javascript在web领域无可撼动的地位一样,Python也已经在金融量化 ...

  9. ITQ迭代量化方法解析

    一.问题来源 来源于换关键字,从LSH转换为hash检索,这要感谢李某. 二.解析 笔者认为关键思想是数据降维后使用矩阵旋转优化,其他和LSH一样的. 2.1 PCA降维 先对原始空间的数据集 X∈R ...

随机推荐

  1. Cannot set property 'innerHTML' of null

    异常处理汇总-前端系列 http://www.cnblogs.com/dunitian/p/4523015.html 看如下错误代码: 知道是加载的问题就好解决了

  2. 跟angular2学一键开启项目--关于上个react-redux项目的一键调试

    一键调试类似于webpack的hot-loader,但是这个hot-loader并不怎么好用,想省事的同学可以配置一下就完了. 今天介绍browser-sync,用它来一键开启项目.它可以监听任意文件 ...

  3. Python中的实例方法、classmethod和staticmethod的区别

    class NewsPaper(object): # 类属性 __print_times = 0 # 下划线表示私有属性 # 实例方法 def __init__(self, title, conten ...

  4. CodeForces 407C 组合数学(详解)

    题面: http://codeforces.com/problemset/problem/407/C 一句话题意:给一个长度为n的序列g,m次操作,每次操作(l,r,k)表示将g[l]~g[r]的每个 ...

  5. 洛谷P1020 导弹拦截

    n²谁都会打,不说了. 这里讨论一下nlogn算法(单调不减): 首先开始考虑单调性,我习惯性的以为是单调队列/栈优化的那个套路,想要找到一个跟下标有关的单调性却发现没有. 例如:我想过当下标增加时f ...

  6. django 分类搜索(根据不同的单选框,改变form提交的地址)

    前端html部分form <form id="searchform" action="#" method="get" class=&q ...

  7. C#项目获取当前时间的农历时间

    https://blog.csdn.net/cstester/article/details/7407044 using System.Globalization; class CnCanlendar ...

  8. http请求415错误Unsupported Media Type

    王子乔 每一个认真生活的人,都值得被认真对待 http请求415错误Unsupported Media Type 之前用了封装的ajax,因为请求出了点问题,我试了下jQuery的$.ajax,报出了 ...

  9. TestNg-数据驱动-dataProvider

    参考https://blog.csdn.net/hjianhui24/article/details/50554828 之前的用例自己一笔一划写出来的,知道了数据驱动的概念之后,修改了一下用例. @D ...

  10. selenium-server-standalone 和selenium-server, selenium-java的区别

    https://stackoverflow.com/questions/30865539/selenium-server-standalone-jar-vs-selenium-java-jar