当前位置: 查字典论文网 >> 基于VC++的YUV视频格式处理研究

基于VC++的YUV视频格式处理研究

格式:DOC 上传日期:2023-08-04 16:33:20
基于VC++的YUV视频格式处理研究
时间:2023-08-04 16:33:20     小编:

针对RGB与YUV颜色空间转换的问题,在对现有的RGB颜色空间到YUV颜色空间的转换关系进行分析比较的基础上,提出了颜色空间转换的功能需求,并确定可以实现RGB到YUV颜色空间的转换,探讨了使用C++语言设计实现RGB到YUV颜色空间转换的开发过程,着重分析了它们之间转换的算法等关键开发技术。实验结果显示所设计视频格式处理技术具有明显的优势。

YUVRGB颜色空间VC++

1引言

2颜色空间概述

2.1 YUV颜色空间模型

现实世界中的颜色都需要一个量化的衡量标准,所以可以使用颜色空间模型来描述各种颜色,而且人们对颜色的感知不是很敏感,所以需要使用不同颜色空间模型来描述不同的颜色以满足不同应用领域的不同需求。其中接触最多的颜色空间是RGB颜色空间和YUV颜色空间,RGB颜色空间是按红绿蓝三基色加光系统的原理来描述颜色,而YUV颜色空间则是按亮度和色差的原理来描述颜色。颜色空间模型见如图2.1。

2.2YUV颜色空间

通常在现代彩色电视系统中,通过彩色的CCD摄像机或者三管彩色视频摄像机进行录制,然后将录制的彩色图像信号经过隔离、放大矫正后就得到了RGB,之后经过色彩叠加就得到了Y亮度信号(图像的灰度值)和R-Y(即U)、B-Y(即V)两个色度信号(即描述图像色彩及饱和度的属性),最终将亮度信号和对应的两个色度信号使用同一信道统一发送出去,这就是YUV颜色空间的表示方式。

3 YUV采样格式及存储方式

YUV通常有两大类格式:打包格式和平面格式。其中打包格式是将YUV分量存放在同一数组中由几个相邻的像素组成一个宏像素;而平面格式是将YUV三个分量分别由三个数组分开存放,就像是一个三维平面一样。

3.1 YUV采样格式

YUV中亮度参量和色度参量是分开表示像素格式的,这样做的目的不但可以避免亮度参量和色度参量的相互干扰,还可以降低对色度的采样率并且不会对图像质量有太大影响。由于YUV的色度频道的采样率比Y 频道低,同时不会明显降低视觉质量,所以可以采用AUBUC的表示方法来描述U 、V 与Y 的采样频率比例。其中灯光样例用叉来表示,色度样例则用圈表示。

这两种方案相比较,由于MPEG-2方案更易实现YUV4U2U2格式和YUV4U4U4格式所定义的采样网格的转换,所以,MPEG-2方案在Windows系统中作为4U2U0格式的默认转换方案。

4 BMP位图转换成YUV视频的实现

4.1 BMP文件格式

计算机中数字图像都是以文件的形式进行存储和记录的,通常图像文件主要由文件头、文件体和文件尾三部分组成。位图文件(BMP)格式是由Microsoft公司为其Windows环境设置的图像文件存储格式。BMP位图文件默认的扩展名是BMP或者DIB。BMP图像文件包含位图文件头(BITMAPFILEHEADER)、位图信息头(BITMAPINFOHEADER)、调色板(Palette)、实际的位图数据(Image Data)四部分。

对于真彩色图,图像数据就是实际的R、G、B值。图像的每一扫描行由表示图像像素的连续的字节组成,每一行的字节数取决于图像的颜色数目和用像素表示的图像宽度。规定每一扫描行的字节数必需是4的整倍数,也就是DWORD

对齐的。扫描行是由底向上存储的。如图4.1所示。

4.2 RGB到YUV的转换关系

在处理现实世界的图像时,RGB并非很有效,因为它对所有颜色都用等长像素点的R、G、B三色加以合成,这就使得每个像素在R、G、B三个成分上拥有相同的像素和显示分辨率,而且处理RGB颜色空间的图像也不是最有效的。综上所述,为了满足新的需求很多地方都采用YUV颜色空间,YUV主要是由于U、V分量可以实现高度压缩。

Cr=INT(128.5+(0.439R-0.368G-0.071B))

由于数字视频在存储时数据量大,因此为了便于传输,需要对其进行压缩后通过播放器才能播放出来。压缩后的视频主要分为两类:一类是面向存储的,另一类是面向流式媒体,经常应用在流媒体电影和显示框转播中。论文中主要采用单帧或多帧RGB格式的视频图像转换成YUV420/YUV422格式的视频文件,并保存成YUV格式的文件。主要使用VC++实现RGB到YUV的转换的算法:

其中释放内存的操作,释放内存的好处是节省开发空间,提高开发效率,使用时获得不使用时释放。再者实现的功能是进度条的输出。

5软件测试的效果

6总结

本软件主要实现将单个或多个连续的BMP位图转换成单帧的YUV视频或者多帧的YUV视频,与其他软件相比,首先本软件作为单独的BMP转YUV视频文件可以嵌套到其他格式的转换软件中使用,而且突破了以往转换软件中只能将单个的BMP位图转换成YUV视频格式文件。软件中转换成的.Y/.U/.V文件并不能使用YUV播放器进行播放,这种文件是将单帧的YUV格式进行隔离后分为三个分量进行存储,可以为转换成不同格式的YUV视频文件做准备。

全文阅读已结束,如果需要下载本文请点击

下载此文档

相关推荐 更多