基于量化思想的水印嵌入模型的主要目的是为了实现盲检测。其主要思想是根据水印信息的不同将原始载体数据量化到不同的量化区间,而检测时根据所属的量化区间来识别
水印信息。常见的两种量化方式是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. BZOJ2244 拦截导弹

    此题最早看到是在我还什么都不会的去年的暑期集训,是V8讲的DP专题,我当时还跑去问这概率怎么做.这道题要求的是二维最长不上升子序列,加上位置一维就成了三维偏序问题,也就是套用CDQ分治,对位置排序,然 ...

  2. jconsole 连接 wildfly 10 监控

    1,远程wildfly服务器: 访问:http://211.100.75.242:9990 按照提示添加用户,重启后可以登录进入.成功. 2,省事做法.本地解压wildfly服务器,进入wildfly ...

  3. list根据某个字段去重

    方法一:使用Set List<User> newList = new ArrayList<User>(); Set<String> set = new HashSe ...

  4. fopen() 返回 NULL, 奇葩原因:当前进程打开多个句柄,忘记关闭。(bug)

    今天在测试一个程序的时候,突然第一次弹出错误对话框,提示: 创建新文件失败. fopen() 返回 NULL 我又重启程序测试,还是提示同样的错误. 经过几分钟的检查,发现一个规律:当处理到500多个 ...

  5. 2019_01_16 sem_init

    sem_init() #include <semaphore.h> int sem_init(sem_t *sem, int pshared, unsigned int value); S ...

  6. ElasticSearch6.3.2------查询

    进入Kibana的控制台:http://localhost:5601/app/kibana#/dev_tools/ 先放一些测试数据进去,不想一条一条,就用bulk 注意格式 正确格式: 解释:ES期 ...

  7. (最长回文子串 线性DP) 51nod 1088 最长回文子串

    输入一个字符串Str,输出Str里最长回文子串的长度. 回文串:指aba.abba.cccbccc.aaaa这种左右对称的字符串. 串的子串:一个串的子串指此(字符)串中连续的一部分字符构成的子(字符 ...

  8. IAR STM32 ------ CSTACK HEAP 设置一次可用栈的大小,HardFault_Hander

    CSTACK:限制函数中定义数组的最大值,否则进入HardFault_Hander HEAP:限制动态分配内存(C函数库中的malloc)的大小,不用可以设置为0

  9. Ajax结合Json进行交互数据(四)

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  10. 2017-12-18python全栈9期第三天第二节之str常用操作方法及for循环之判断字母数字组成

    #!/user/bin/python# -*- coding:utf-8 -*-name = 'zd123'print(name.isalnum()) #由数字或字母组成print(name.isal ...