天空 Blond - DCT
type: channel
link: https://skyblond.info/tag/DCT/
items: 【代码札记】初探图片隐写术（Steganography）之DWT-DCT-SVD隐写

【代码札记】初探图片隐写术（Steganography）之DWT-DCT-SVD隐写
type: item
date: 2023-07-09T16:40:00+08:00
description: 因为论文太贵了，所以我照着论文标题和摘要尝试复现了一篇论文。上一篇文章讨论了DFT隐写，这种隐写方法能够抵抗各种攻击，但总体来说那更像是盲水印，用于标记而非传递信息。这一篇文章本来想写DCT，但后来我发现单纯的DWT和DCT隐写都是在频域上做手脚，并且效果都不是特别好。后来我看到一篇论文讨论DWT-DCT-SVD隐写，但很遗憾，这篇论文收费的，我在sci-hub上也没有找到，所以就照着论文标题和摘要，问了问ChatGPT，然后基于我和他的解读写了这篇文章。这篇文章并没有前几篇写的那么详尽，因为我对这之中提及的概念并不十分熟练，只是现学现卖。同时这种隐写方法的表现也没有那么好，或者说需要大量的尝试才能发挥出最佳水平。因此这篇文章描述的流程可能和论文里完全不一样，也可能是错的，也可能我漏掉了一些细节，总之我不太想在这种不确定（不清晰）的路径上花费太多精力去打磨。所以这篇文章可能在质量上不如前两篇。论隐写容量还得是LSB啊参考论文这里参考的论文是DWT-DCT-SVD based watermarking。摘要如下：Some works are reported in the frequency domain watermarking using Single Value Decomposition (SVD). The two most commonly used methods are based on DCT-SVD and DWT-SVD. The commonly present disadvantages in traditional watermarking techniques such as inability to withstand attacks are absent in SVD based algorithms. They offer a robust method of watermarking with minimum or no distortion. DCT based watermarking techniques offer compression while DWT based compression offer scalability. Thus all the three desirable properties can be utilized to create a new robust watermarking technique. In this paper, we propose a method of non-blind transform domain watermarking based on DWT-DCT-SVD. The DCT coefficients of the DWT coefficients are used to embed the watermarking information. This method of watermarking is found to be robust and the visual watermark is recoverable without only reasonable amount of distortion even in the case of attacks. Thus the method can be used to embed copyright information in the form of a visual watermark or simple text.隐写方案我拿着论文摘要去问ChatGPT，可能是因为我没开会员，所以ChatGPT也没说出来个所以然。虽然是2008年的论文，可能因为没有公开访问，所以ChatGPT的训练资料中没有相关的内容，总之帮助不大。从论文摘要来看，首先需要将图片应用DWT，然后对DWT结果再进行DCT，然后对DCT结果应用SVD，最后在SVD的S矩阵里进行隐写。DWT是离散小波变换；DCT是离散余弦变换，SVD是线性代数中的奇异值分解。话是这么说，在写DFT隐写的时候我就注意到了，除非有诸如FFT这种经过优化的快速算法，否则按照原始的公式定义去处理大图片会非常慢。但是就我在网络上搜索的结果来看，好像DWT和DCT都没有什么特别好用的快速算法，并且我期待这种隐写结果能够抵御JPEG压缩，所以我认为最好的办法就是从JPEG压缩中找灵感。JPEG压缩JPEG压缩是利用人眼对高频信息和色彩不敏感的原理，丢弃图像中不易被人眼辨识的信息，从而达到减少文件大小的效果。总地来说，JPEG压缩的流程如下：将图像从RGB空间转换成YUV空间，其中Y（明度）完全保留，U和V进行下采样（即…