微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

隐藏 H.264 视频每一帧的数据

如何解决隐藏 H.264 视频每一帧的数据

我发现了一些隐写技术,可以在 H.264 视频 (ref) 的编码帧上隐藏数据。但是,我想知道是否有可能在编码之前以某种方式将隐藏数据添加到每个帧,以便在视频解码后可以检索这些数据。

我知道H.264压缩是有损的,所以在编码过程中可能会丢失一些原始图像数据,但是由于压缩算法对一帧的不同区域有不同的影响,我想知道数据可以隐藏在不易变形的区域。

解决方法

H.264 图像在编码前被分成 16x16 宏块。如果您在每个宏块的内部插入小的亮度(亮度)失真,您可能能够从解码的宏块中提取它们。例如,假设这是一条跨越三个宏块、总共 48 个像素的扫描线。例如,x 像素是原始图像,# 是您的失真。

                               #
                              #xx#
              #              #x  xxx
     x     xxxxx        # xx#xx   # xx x#x   ##
      xxxxxx#  #xxx    xxxx#             #x##xxxxxxx
        #  #    # xxxxx#                  #xx  ##
         #
     111111111111111122222222222222223333333333333333

要记住的一些事情。

  1. 避免宏块边缘的失真,因为它们更有可能表现为块状。

  2. 避免高频失真,因为 H.264 的感知编码有时会衰减它们。

  3. 在几帧内保持相同的失真(隐藏信号),然后移动到另一帧。

  4. 在隐藏比特流上使用前向纠错码和大量冗余。在提取时,您正在大海捞针中寻找一根弯曲的针。

我从来没有这样做过,所以我有点猜测。这是moving-pictures adaptation of JPEG steganograpy

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。