当前位置首页 > 建筑/施工 > 施工组织
搜柄,搜必应! 快速导航 | 使用教程  [会员中心]

视频图像帧内编码

文档格式:DOC| 5 页|大小 1.28MB|积分 10|2022-08-18 发布|文档ID:137361814
第1页
下载文档到电脑,查找使用更方便 还剩页未读,继续阅读>>
1 / 5
此文档下载收益归作者所有 下载文档
  • 版权提示
  • 文本预览
  • 常见问题
  • 视频图像帧内编码--国立华侨大学一 实验目的1. 了解多媒体通信中图像压缩技术2. 熟悉视频帧内压缩编码过程3. 掌握二维DCT变换算法二 实验原理视频帧内编码有多种模式,最基本的是基于8×8块的DCT顺序编码,将一帧图像分为8×8的块,然后按照从左至右、自上而下的顺序,对块进行DCT、量化和熵编码其编、解码框图如下:DCT熵编码器量化表熵编码表压缩图像数据源图像数据基于DCT的编码器图像子块量化器图1 基于DCT的顺序编码框图DCT解码器IDCT逆量化器熵解码器量化表熵编码表压缩图像数据重构图像图2 基于DCT的顺序解压缩框图视频帧内压缩编码算法的主要步骤:1) 正向离散余弦变换(DCT) 2) 量化(quantization) 3) Z字形扫描(zigzag scan) 4) 使用差分脉冲编码调制(differential pulse code modulation,DPCM)对直流系数(DC)进行编码 5) 使用行程长度编码(run-length encoding,RLE)对交流系数(AC)进行编码 6) 熵编码(entropy coding)三 实验过程实验利用MATLAB仿真软件来实现程序:I=imread('D:\p_large_iUNl_627c0001a3192d12.bmp')figure(1),imshow(I);title('原图像')I=rgb2gray(I); %将真彩色RGB图像转换成灰度图像figure(11),imshow(I);title('灰度图像')I=im2double(I);% double(I)是将I变成double类型的。

    im2double(I)是将图象变成double类型的再归一化,比如对于8比特图象,就是将原来像素值除以255fun_1=@dct2;A_1=blkproc(I,[8 8],fun_1);figure(2),imshow(A_1);title('离散余弦变换后的图像')T=[0.3536 0.3536 0.3536 0.3536 0.3536 0.3536 0.3536 0.3536 0.4904 0.4157 0.2778 0.0975 -0.0975 -0.2778 -0.4157 -0.4904 0.4619 0.1913 -0.1913 -0.4619 -0.4619 -0.1913 0.1913 0.4619 0.4157 -0.0975 -0.4904 -0.2778 0.2778 0.4904 0.0975 -0.4157 0.3536 -0.3536 -0.3536 0.3536 0.3536 -0.3536 -0.3536 0.3536 0.2778 -0.4904 0.0975 0.4157 -0.4157 -0.0975 0.4904 -0.2778 0.1913 -0.4619 0.4619 -0.1913 -0.1913 0.4619 -0.4619 0.1913 0.0975 -0.2778 0.4157 -0.4904 0.4904 -0.4157 0.2778 -0.0975]A_2=blkproc(A_1,[8 8],'x./P1',T);figure(3),imshow(A_2);title('量化后的图像')A_3=blkproc(A_2,[8 8],'x.*P1',T);figure(4),imshow(A_3);title('逆量化后的图像')fun_2=@idct2;I_2=blkproc(A_3,[8 8],fun_2);figure(5),imshow(I_2);title('对逆量化的进行逆离散余弦变换');E=I-I_2;figure(6),imshow(E),colormap(hot);title('误差图像') B=blkproc(I,[8,8],'P1*x*P2',T,T') %计算二维DCT,矩阵T及其转置是DCT函数P1*X*P2的参数 mask=[1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ] %二值掩模,用来压缩DCT系数,只留下DCT系数中左上角的10个B2=blkproc(B,[8 8],'P1.*x',mask) %只保留DCT变换的10个系数I2=blkproc(B2,[8 8],'P1*x*P2',T',T) %重构图像figureimshow(I2);title('压缩图像');inf1=imfinfo('D:\untitled.bmp') %显示图像信息inf=imfinfo('D:\p_large_iUNl_627c0001a3192d12.bmp') %显示图像信息面的高度其仿真结果如下:1.输入图像 2. DCT变换后的频域图像3、8×8的DCT变换后图像4. 压缩后的图像5、误差图像四、实验小结DCT 将原始图像信息块转换成代表不同频率分量的系数集,这有两个优点:其一,信号常将其能量的大部分集中于频率域的一个小范围内,这样一来,描述不重要的分量只需要很少的比特数;其二,频率域分解映射了人类视觉系统的处理过程,并允许后继的量化过程满足其灵敏度的要求。

    点击阅读更多内容
    卖家[上传人]:沈阳哈登
    资质:实名认证