基于H.264裸流的视频信息隐藏实现

PS:从来搞过视频编解码的新手,写的分享类文章,都是在做毕设慢慢摸索出来的,应该有很多不严谨的地方,大佬们看看就好。

(视频隐写应该主要依靠预测模式,运动矢量等从编码过程进行信息的嵌入,本文的做法算不上真正意义上的视频隐写,算是对图片进行了信息隐藏处理,最后还原回了视频)

提要:最近做的毕业设计,是做《宏块级最小化失真的H.264/AVC的视频信息隐藏算法研究》的相关实现,赶在离校之前的最后一天写下。

主要内容原本应该是主要针对 H.264/AVC 标准 I 帧亮度分量预测编码过程,提出了一种宏块级最小化失真的 H.264/AVC 视频信息隐藏算法。该算法以 I 帧亮度 4×4 块预测模式为嵌入位置,充分考虑 4×4 块预测模式方向相关性建立映射规则,基于率失真理论设计失真函数,通过 STC 编码(Syndrome Trellis Codes)生成具有最小失真值的含密序列。预测模式的调制过程是在含密序列和映射规则的共同限制下通过二次编码来完成。而实际情况:对于我这样从来没有搞过视频编解码的人,对视频进行嵌入秘密信息就十分复杂,一头雾水,更别提STC(针对预测模式的提取和映射规则的建立都弄了好久,最后饶了大半圈也不知道如何嵌入信息),于是简单了信息隐藏,主要利用Lsb和gibbs采样来进行隐写。针对预测模式的提取和映射规则的建立,饶了大半圈也不知道如何嵌入信息。后来看了很多资料,终于找到了如何做的思路。一篇H.265的隐写点醒了我

研究的主要问题是:

1. 信息隐藏的载体是什么?

2. 如何怎么提取载体?

3. 信息隐藏算法如何选择?

4. 信息隐藏前后的PSNR以及SSIM表现如何,还有安全性

5. 信息隐藏前后的比特增长率

设计方案:
从最开始的这样一种思路(在编码过程中进行信息的嵌入,需要对编码过程很熟悉)到
在这里插入图片描述
后面这种思路(在编码完成后,进行信息的嵌入,不需要很熟悉编码过程,实现起来更简单
在这里插入图片描述

所以于是针对第二种思路,就开始了对H.264的信息隐藏。

针对上述方案,进行如下的设计内容

- 编解码器
编解码采用的是学术上常用的JM,我的版本是最新版19.0

- 截取视频帧
截取视频帧这一步主要是利用雷神的Videoeye,而且还可以进行灰度处理,后面用gibbs采样进行隐写时刚好需要用到灰度图片。另外雷神的这个软件功能特别多,可以多了解下。

- 算法选择
信息隐藏算法的选择上用了最简单的LSB算法,以及数学上常用的gibbs采样,主要是针对图像高低频域的部分进行处理。

- 图像帧的还原
将图片帧还原成原来的视频,这里靠的剪视频的朋友用PR替我还原回了MP4,最后我用ffmpeg还原回了H.264的格式。

根据上述的设计内容开始进行实现,素材是YUV_Sequence里的news.yuv(除此之外还有很多素材可供下载):
1.首先对JM进行配置在这里插入图片描述
在这里插入图片描述

没有修改什么配置,只修改了输出后的文件,要记清楚生成的ReconFile,因为在解码时会输出SNR信噪比的值,来比对编解码视频前后质量评价。
在这里插入图片描述这样(这里用的灰度的来演示一下,所以只有Y亮度的SNR值,而色度UV是0)

2.截取视频帧
截取两组图像帧,一组RGB作为LSB的信息隐藏载体,一组灰度作为GIBBS采样的载体。
在这里插入图片描述
RGB:在这里插入图片描述
灰度:
在这里插入图片描述
3.算法选择:
这里不对算法进行描述,LSB的图像嵌入可自行百度,我主要是通过嵌入文字以及选择最后1-5位来进行嵌入,能看到逐渐的失真。
在这里插入图片描述
对于文字的嵌入提取可以利用Stegsolve来进行检查是否嵌入信息。
Gibbs采样参考这里

这里主要的坑是8位深256色png图片,别想着用Python写个脚本直接修改文件后缀名,用不了。最开始这里卡了好久。

4.图像还原视频Pr或AE输出MP4,再使用ffmpeg还原为H.264裸流
在这里插入图片描述
注:最后进行H.264解码回yuv的时候,记得修改reconfile参考文件以获得正确的SNR值,灰度和RGB需要分开进行实验。

5.对于PSNR以及SSIM值主要是比对图像嵌入前后的情况,百度有一大堆,python以及matlab都可以实现,这里也不放实验结果的柱状折线图。

6.对于比特增长率来说,信息嵌入前后不能太大,如果越大对视频传输过程就有较大的影响,占用的带宽会增大,对网络会有一定的影响,如下的仅仅是300帧的视频流,不会很明显,而对于如今的4K高清,其前后就会有很大的区别。
在这里插入图片描述

最后简单结论下:

  • LSB实现简单,隐藏量大

  • LSB鲁棒性差,易受到攻击,嵌入后比特增长率大

  • Gibbs对于处理高频部分容易出现块效应而造成失真严重

以上都是个人拙见,有什么问题,可以在评论下方留言,大家互相交流学习。

<think>好的,我现在需要帮用户解答关于紫微斗数中“天干飞星禄遇到生年禄”的问题。首先,我得确认自己对这两个术语的理解是否正确。 用户提到的“天干飞星禄”应该是指根据宫位天干飞出的禄存星,而“生年禄”则是出生年天干带来的禄存星。当这两者在同一宫位相遇时,可能产生某种叠加效应。不过,我需要回忆一下紫微斗数中禄存的飞星法则,以及生年四化的应用。 接下来,我需要考虑这两者的相互作用。禄存代表财富、福气,但飞星禄和生年禄相遇时,是不是意味着双倍的吉利?或者有没有可能因为星曜之间的冲突而产生变化?比如,如果宫位本身有煞星,或者主星不同,结果可能不同。 然后,还要注意宫位的重要性。比如,财帛宫遇到这种情况可能主财运旺盛,而夫妻宫可能影响感情关系。同时,天干飞星禄是否属于年或大运的范畴,而生年禄是先天命盘的因素,两者的时间维度叠加可能会有不同的应期。 另外,用户可能想知道具体的案例或者如何判断吉凶。需要提醒他们结合整个命盘来分析,比如其他星曜的分布、四化的引动等。避免过于简化的结论,强调综合分析的必要性。 最后,确保语言通俗易懂,避免使用过多专业术语,但必要时解释清楚。结构上分点说明,先解释概念,再分析相遇的情况,最后给出实际建议。同时,提醒可能存在不同派的解释差异,建议咨询专业人士。</think>在紫微斗数中,“天干飞星禄遇到生年禄”是一个需要结合飞星四化与生年四化综合分析的特殊情况,其意义需从以下层面逐步理解: --- ### 一、基础概念解析 1. **生年禄** 指出生年天干所化出的禄存星,代表命主先天福报与机遇,反映一生中较稳定的福气、财源或人缘优势。 2. **天干飞星禄** 指根据宫位天干飞化出的禄存星(如某宫天干为甲,则甲廉贞化禄),主后天环境或事件引发的增益机会,常与年、大运、特定事件相关。 --- ### 二、二者相遇的象征意义 当某宫位同时存在 **生年禄** 与 **天干飞星禄** 时,形成“双禄交驰”,通常体现为: - **吉象叠加**:财富、人缘、机遇的强化,可能带来双重助力(如贵人相助、财源广进)。 - **动态联动**:先天福报与后天努力共振,易触发实质收益(如投资获利、合作成功)。 - **宫位特性放大**:若在财帛宫则财运亨通,在夫妻宫则感情和谐,在迁移宫则外出顺利。 --- ### 三、需注意的变量 1. **星曜组合** 若该宫主星为财星(如武曲、太阴),吉象更显;若主星弱或逢煞忌(如擎羊、陀罗),则可能“禄逢冲破”,需防利益纠纷或昙花一现。 2. **时间维度** - **生年禄**:贯穿一生,但需大运、年引动方显效。 - **飞星禄**:时效性强,常应验于特定事件或阶段(如某年合作项目获利)。 3. **四化交互** 若其他天干化出权、科、忌与此宫关联,需综合判断。例如: - 逢化权:机遇伴随竞争或需主动争取。 - 逢化忌:需防乐极生悲或因得利招妒。 --- ### 四、实例说明 **案例**:某人命盘夫妻宫有生年禄(甲干廉贞化禄),年夫妻宫天干为癸引发破军化禄(癸干破军化禄)。 - **解释**:双禄强化感情关系,可能促成婚恋或修复矛盾,但若破军化禄与擎羊同度,需注意激情后的稳定性。 --- ### 五、总结建议 1. **把握机遇**:双禄叠加期宜积极行动,尤其在相关宫位领域(如财帛宫宜投资)。 2. **防范风险**:检视宫位煞忌,避免盲目乐观。 3. **结合全盘**:需参考本宫主星、三方四正及大运年,建议咨询专业命理师详析。 若需进一步分析,请提供命盘具体信息(如宫位、星曜分布)。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值