第一范文网 - 专业文章范例文档资料分享平台

洪苑玲-视频加密 - 图文

来源:用户分享 时间:2025/10/9 19:06:45 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

1. AVI视频文件结构特点[13]

音频视频交错格式AVI(Audio Video Interleaved)是将语音和影像同步组合在一起的文件格式。它对视频文件采用了一种有损压缩方式,但压缩比较高,AVI支持256色和RLE压缩,一个AVI文件可以包含多个不同类型的媒体流,它以一系列的位图来存储视频信息,并在文件中加入以数字形式存储的数字化视频信息。

AVI包含三部分:文件头、数据块和索引块。其中文件头包快文件的通用信息,定义数据格式及压缩算法等参数。数据块包含实际数据流,即图像和声音序列数据,是文件的主体,也是决定文件容量的主要部分。索引块包括数据块列表和它们在文件中的位置,以提供文件内数据随机存取能力。

2.系统模型与问题陈述

超混沌Lorenz系统的动力学方程为:

?1?a(x2?x1)?x4?x?x??2?cx3?x2?x1x3 ?x (1)

??3?x1x2?bx3??4??x1x3?rx4?x 其中x?(x1,x2,x3,x4)T为系统的状态变量,L?(a,b,c,r)T为系统的控制参数,选取参数

?a,b,c,r??(10,8,28,?1)时,该系统处于混沌状态。采用四阶龙格库塔算法产生混沌迭代序列

3D,其具体形式如下:

?K1?f(xi,yi)?K?f(x?h/2,y?K*h/2)2ii1???K3?f(xi?h/2,yi?K2*h/2) (2) ?K?f(x?h,y?K?h)ii3?4??yi?1?yi?h/6(K1?2K2?2K3?K4)根据式(1)和式(2)以及上述参数,可以得到Lorenz混沌系统中吸引子的数值仿真结果,令初始条件x0?{1.2157,3.0436,1.8573,2.9458},t?1040时,图1所示为混沌吸引子的三维图形以及分别在?x,y?,?x,z?,?y,z?平面投影。

2

图1超混沌Lorenz系统的混沌吸引子

3. 基于超混沌Lorenz系统的视频加密算法 3.1 AVI视频文件的读入

利用随机采样到的一段AVI视频进行混沌加密,由于Matlab中只支持ZJmedia Umcompress RGB24编码方式的AVI视频文件,因此有必要把采集到的这段视频文件进行转换处理,使其能够无障碍地载入到Matlab工具中。本文采用的是Matlab默认的视频“clock.avi”,运用mmread工具包读入视频,将视频分别转存为video和audio。

3.2 视频加密原理图

本文基于超混沌Lorenz系统采用四阶龙格库塔算法产生用于视频加密的混沌序列,并使用此混沌序列对视频的图像数据进行了加密,由于希望加密所用的混沌序列能够对明文的变化具有敏感性,因此将明文属性叠加到混沌映射的初值和参数中。视频编码如图所示:

3

从视频的video中读取一帧帧的图片 将每张彩色图片的像素矩阵分为R、G、B三个分量 采用四阶龙格库塔算法产生混沌迭代序列D与R、G、B三个分量做加法 编码前的视频图片 编码后的视频图片

图2 系统的编码模型

3.3 视频加密算法

视频加密的过程中,主要是针对读入视频的图片文件进行加密。具体操作过程如下: (1)对原始视频进行帧处理。主要是读入视频,将视频的每帧转化为图片。相关程序如下:

[vid,audio]=mmread(’clock.avi’); %读取视频; fnum=size(vid.frames,2); %读取视频的帧数; for i=1:fnum

strtemp=strcat(’c:\\转换的图片\\’,int2str(i),’.’,’bmp’); imwrite(vid.frames(i).cdata(:,:,:),strtemp); end

(2)将每张彩色图片的像素矩阵分为R、G、B三个分量。 I=cell(1,12);

for p=1:12

imageName=strcat('c:\\转换的图片\\',num2str(p),'.bmp');

4

I{p} = imread(imageName);

R=I{p}(:,:,1); G=I{p}(:,:,2);

B=I{p}(:,:,3); %将像素矩阵分成R,G,B三个分量 end

(3) 设定Lorenz超混沌系统的初值x0,步长h,及运行时间t1。由龙格库塔法产生迭代矩阵D。

D=zeros(n,4); for i=1:n

k1=xprim(t,x);

k2=xprim(t+h/2,x+(h/2)*k1); k3=xprim(t+h/2,x+(h/2)*k2); k4=xprim(t+h,x+h*k3);

k=h/6*(k1+2*k2+2*k3+k4); %4阶龙格库塔算法 t=t+h; x=x+k; D(i,:)=x; end 其中xprim函数为:

function xprim=xprim(t,x)

xprim(1)=a*(x(2)-x(1))+x(4); xprim(2)=c*x(1)-x(2)-x(1)*x(3); xprim(3)=x(1)*x(2)-b*x(3); xprim(4)=-x(1)*x(3)+r*x(4);

(4)Q?round(D),D?D?Q,D?abs(round(rem((D*1000),256)))。取矩阵D的小数部分,这样处理后得到的非负整数矩阵的元素值在0到255(包括0和255)上均匀分布。

Q=round(D);

D=Q-D; %对数据进行处理 D=abs(round(rem(D*1000,256)));

5

搜索更多关于: 洪苑玲-视频加密 - 图文 的文档
洪苑玲-视频加密 - 图文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c1b6a10s8by2p7v440mi4_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top