编程语言
首页 > 编程语言> > 几种视频水印算法

几种视频水印算法

作者:互联网

一、DCT(分块的离散余弦算法)

参考文献:AN H.264/AVC HDTV watermarking algorithm robust to camcorder recording,2015

水印嵌入:
1.视频解码后将每帧图像由RGB转化为YUV
2.将每帧Y通道图像分为32x32块,每个块又分为16个8x8块
3.将每个8x8的块分为4x4的块,选择具有最大亮度的4x4的块并调整它的亮度,然后计算这个帧所以4x4块的亮度调整程度,获得对应每帧的水印模板W,对应矩阵Wx如下图:

4.时间同步序列是为防止打开播发器和开始录像会使录制视频和原视频不同步,也便于找到水印序列

5.每5帧为一组,嵌入1:前两帧+w,后两帧-w;
                          嵌入0:前两帧-w,后两帧+w

水印提取:
1.带水印的视频使用DEMD(方向经验模式分解)解码,依序分解为帧长度大于5xLenthTW为单个shot

2.嵌入的逆过程,根据连续5帧的变化趋势判断是0还是1,盲水印方式

二、DT-CWT(双树复小波变换算法)

参考文献:An Improved Watermarking Algorithm Robust to Camcorder Recording Based on DT-CWT,2018

算法核心:Antonini9-7小波作为滤波器,Y分量DT-CWT低频区域嵌入水印

同DCT,调整Y后得到W,Wx矩阵如下:

嵌入比特1:前两帧第4级DT-CWT+W
                    后两帧第4级DT-CWT-W
嵌入比特0:前两帧第4级DT-CWT-W
                    后两帧第4级DT-CWT+W

DT-CWT的Y一帧分级区域图像

 嵌入方法与上述DCT类似,但时间同步序列和水印序列分为几个子序列

三、DWT-SVD(离散小波变换和奇异值分解算法)

参考文献:Digital Video Watermarking Robust Against Camcorder Recording Based on DWT-SVD,2019

part1.DWT分区和奇异值分解的简介

 part2.产生水印模板WP
1.计算在LH3上的NVF矩阵(噪声可见度矩阵)

 

part3.嵌入水印序列

3.其中计算WP(i,j)时,当视频背景平滑时ɑ∈[110,160];当视频背景复杂,纹理较多时ɑ∈[20,60];当S±wp时,如果S比ɑ小,则需要加上常数C∈[20,50]。D在这里取100来进行计算。

part4.提取水印

要点:
①使用SURF算法将视频分为单个shots
②时间序列±1汉明码的容错,否则丢弃
③当将时间序列成功提取出来后,如果剩下帧的数量大于或等于5xwatermark length则提取水印序列,否则丢弃

part5.实验与评价指标

1.H.264/AVC视频:1920x1080,25fps,100Mbps
2.通过SURF算法将视频分为单个shots,长度大约为30s
3.时间同步序列为10bits,水印序列为40bits

PSNR(峰值信号比):评价嵌入水印的视频的质量;提取水印的正确率:评价算法的鲁棒性

 

 

标签:视频,嵌入,CWT,水印,算法,DT
来源: https://blog.csdn.net/qq_40167046/article/details/102753684