嵌入流程:输入图像 → YUV分离 → 8×8分块 → JND自适应强度 → Arnold交织 → DCT系数对调制 → tile局部封包复制 + GRL全局分散 → m序列同步头封帧 → 水印输出
YUV 色彩空间分离
输入图像转为 YUV,水印仅嵌入亮度通道 Y,色度通道 U/V 保持不变。① 人眼对亮度微小调制察觉阈值更高;② JPEG 对色度 4:2:0 下采样,Y 通道水印不受影响。
通道:
8×8 像素分块 + DCT 变换域
Y 通道划分为不重叠 8×8 块,每块独立做 DCT。分块与 JPEG 标准对齐,确保 JPEG 压缩后系数对齐不偏移。水印藏在中频系数对 F(4,1) ↔ F(1,4)。
选块:
块 4
JND 视觉掩蔽自适应(Weber-Fechner 定律)
每块计算局部方差 σ²,嵌入强度 δ = δ₀·(α + β·ln(1+σ²/σ̄²))。纹理区(σ² 大)承受强嵌入不被察觉;平坦区(σ² 小)用弱嵌入避免可见噪点。
基础强度 δ₀:
25
Arnold 比特交织——抗突发错误
水印比特经 Arnold 猫脸变换置乱后再嵌入,将相邻比特分散到矩阵各处。JPEG 压缩造成的连续错误变成离散错误,提取后反置乱 + 多数表决即可纠正。
DCT 系数对调制(基础 DCT,c0/c1 参数)
取中频系数对 F(4,1) 与 F(1,4),通过调整二者大小关系编码比特:b=1→A>B,b=0→A<B。调制量 δ 由 JND 控制(c0/c1 微调对称性)。相对关系调制对加性噪声和线性滤波鲁棒。
嵌入比特:
调制强度 δ:
18
tile 模块——局部封包与重复嵌入
完整数据包(同步头+长度+载荷)被分成若干 tile,每个 tile 在局部相邻区域复制多份。轻微裁剪或局部攻击后,相邻副本多数表决可恢复该 tile。与 GRL 全局分散形成双层冗余。
裁剪比例:
裁掉 20%
GRL(Global Robust Layer)——全局伪随机分散嵌入
GRL 按伪随机置换表将水印比特全局分散到整张图的各 DCT 块,而非顺序写入。攻击者无法定位并针对性消除特定比特;任意保留区域均含足够信息恢复,通过重复/投票提升压缩与全图扰动下的恢复概率。
分散密度:
60%
m 序列同步头——帧定位锚点
每数据包以 31 位 m 序列(最大长度序列)作前缀。核心特性:自相关函数仅在完全对齐时出现尖峰(=31),其余偏移≈−1。提取时滑动窗口扫描,峰值位置即为数据包起点,即使有少量比特翻转仍可稳定定位。