数据压缩
文章平均质量分 87
《数据压缩与编码原理》课程实验和作业记录
3木目
广院工科生
展开
-
【数据压缩】H264编码器JM的编码实验,绘制率失真曲线
实验目的将自行选择或老师给的两个264文件进行解码,得到相应的YUV文件。将两个视频序列编码为.264文件。□固定码率,以不同的GOP长度及形状编码 ■ GOP=15,2B帧;GOP=12,2B帧,GOP=9,2B帧 ■ GOP=4,1B帧;GOP=12,无B帧;GOP=1,全I帧□相同的GOP长度及形状,不同的码率 ■ 例:1000kb/s, 800kb/s,400kb/s,…用码流分析软件检查所生成的码流中各种编码模式和运动矢量等信息。用播放器观看所生成码流的质量,生成率失真曲线实验原创 2021-07-16 11:22:59 · 1148 阅读 · 0 评论 -
【数据压缩】H.264文件解析和码流分析
一、实验课要求选择一个.mp4或者.264文件。在码流分析仪软件中打开该文件,从几个层次进行分析:分析SPS和PPS里都包含哪些主要的信息,给出参数值。(例如分辨率、帧率、GOP结构等等)以一个GOP为例,分析如下信息:每个图像帧的类型及所用的编码比特数、QP值;并以图像帧号为横坐标、每帧所用比特数为纵坐标画出曲线图;以图像帧号为横坐标、每帧所用QP为纵坐标画出曲线图。以第一个I帧作为分析对象,基于该帧图像的空间特性,分析每个宏块所采用的编码类型及其比例。以第一个P帧作为分析对象,基于原创 2021-06-24 14:16:40 · 887 阅读 · 1 评论 -
【数据压缩】MPEG音频分析
一、实验目的二、实验内容原创 2021-06-10 20:24:00 · 265 阅读 · 1 评论 -
【数据压缩】JPEG编码原理和码流分析
一、实验目的掌握JPEG编解码系统的基本原理。初步掌握复杂的数据压缩算法实现,并能根据理论分析需要实现所对应数据的输出。二、实验内容原创 2021-06-09 14:03:00 · 978 阅读 · 0 评论 -
【数据压缩】预测编码的编程实现和分析
一、实验要求掌握DPCM编解码系统的基本原理用C/C++/Python等语言编程实现DPCM编码器,并分析其压缩效率。二、实验内容(1)DPCM编解码原理DPCM,即差分的PCM,简称插值编码,基本原理是对信号插值进行量化。由于图片间像素的相关性,插值后的重复值会比较多,因此信源的熵就会减小。因此经过DPCM系统后再进行熵编码有利于提高压缩效率。在DPCM系统中,需要对前一个值进行解码,以作为当前的预测值。编解码框图如图所示。(2)C++编程实现主函数主函数实现文件的读写,其中Y分原创 2021-04-29 14:12:45 · 492 阅读 · 0 评论 -
【数据压缩】C++实现LZW算法编解码
一、实验目的掌握词典编码的基本原理,用C/C++/Python等语言编程实现LZW解码器并分析编解码算法。选择十种不同格式类型的文件,使用LZW编码器进行压缩得到输出的压缩比特流文件。对各种不同格式的文件进行压缩效率的分析。二、实验内容(1)实验思路1.LZW编码原理和实现算法LZW的编码思想是不断地从字符流中提取新的字符串,通俗地理解为新“词条”,然后用“代号”也就是码字表示这个“词条”。这样一来,对字符流的编码就变成了用码字去替换字符流,生成码字流,从而达到压缩数据的目的。LZW编码是原创 2021-04-22 21:45:08 · 2048 阅读 · 0 评论 -
【数据压缩】C语言实现bmp图片序列生成yuv视频
一、实验要求1、解析BMP格式文件,获取图像信息2、转化BMP图像为YUV格式的图像3、多张BMP图像,转化为YUV视频流二、实验内容(1)bmp文件读取: BITMAPFILEHEADER File_header; BITMAPINFOHEADER Info_header; FILE* bmpFile; bmpFile = fopen("*.bmp", "rb"); if (fread(&File_header, sizeof(BITMAPFILEHEADER), 1原创 2021-03-28 10:22:06 · 2140 阅读 · 2 评论 -
【数据压缩】PNG格式文件分析
一、PNG格式基础PNG格式文件结构很清晰,仅由两部分构成:(1)文件头 (2)文件原创 2021-03-25 11:11:52 · 2105 阅读 · 0 评论 -
【数据压缩】使用C++实现YUV与RGB色彩空间转换
文章目录一、实验要求二、RGB2YUV实验1、实验原理2、代码调试:解决错误查找表3、实验结果三、YUV2RGB实验1、实验原理2、实验过程主函数YUV2RGB函数初始化查找表:InitLookupTable()扩展UV分量:extendUV()函数单个像素转RGB:getR()、getG()、getB()3、实验结果4、误差分析分布统计误差来源四、实验总结一、实验要求阅读并调试rgb转yuv的代码参考代码,自行编写yuv到rgb的转换程序与原RGB文件进行比较,分析误差及其来源。二、RGB2原创 2021-03-15 23:33:51 · 1990 阅读 · 0 评论 -
【数据压缩】使用Audacity软件分析浊音、清音爆破音的时域及频域特性。
文章目录作业要求作业内容1、录制浊音、清音、爆破音2、时域分析(1)波形对比:(2)结果分析3、频域分析:(1)频谱对比(2)结果分析总结:作业要求在Audacity软件中自行录制清音、浊音和爆破音,并分析其时域和频域的特性。作业内容1、录制浊音、清音、爆破音浊音:发声时声带振动,/ju/清音:发声时声带不震动,/s/爆破音:发音器官在口腔中形成阻碍,然后气流冲破阻碍而发出的音,/p/2、时域分析(1)波形对比:放大到同一坐标尺度下对比三个波形并观察(2)结果分析由上图对比观原创 2021-03-06 21:14:40 · 625 阅读 · 2 评论 -
【数据压缩】Python读图片(“down.yuv“,“down.rgb“),计算RGB、YUV各分量的熵
RGB文件的读取和熵的计算《数字式音频处理》实验课中用C++读YUV图像,但这次作业还不太知道图片文件的格式和分布,python能够很方便的调库来显示图片,来看读取是否正确,所以用Python来读图。Python二进制读入无论是rgb还是yuv,首先二进制读入 open(filename,"rb"),再将数据转化为int类型:width=256height=256with open('down.rgb','rb') as f: content=f.read()content=[int(原创 2021-03-05 13:53:49 · 712 阅读 · 0 评论