欢迎光临散文网 会员登陆 & 注册

视频格式基础知识

2023-04-08 17:58 作者:吴继文  | 我要投稿

目 录

1 视频基础知识

1.1简介

1.2 RGB格式

1.3 YUV格式

1.3.1 YUV的编码格式

1.3.2 YUV的存储格式

1.3.3

 

YUV的采样方式

1.4 RGB与YUE的转换

硬件设计基础

1 视频基础知识

1.1 简介

常用的像素的格式有两种:

RGB格式

YUV格式

,像素的格式定义了像素在内存中的

编码方式

。在介绍这两种格式的信息之前,我们连接一些常用名词:

● 

像素

:像素是一个图片的基本单位。单位px是picture element的缩写,所以像素有“图像元素”之意。

● 

分辨率

:是指图像的大小或尺寸,比如1920*1080(行周期数*场周期数)。

● 位深:是指在记录数字图像颜色时,计算机实际上是用每个像素所需要的位深来表示的,比如红色、绿色、蓝色的分量用8bit。

● 

帧率

:在1秒钟时间里传输的图片的帧数,也可以理解为图像处理器每秒中能够刷新的次数,比如25fps每秒中有25张图片(帧率通常也称为刷新率)。

● 

码率

:视频文件在单位时间内使用的数据流量,比如1Mbps。(码率就是通常我们描述速率)

● 

Stride

:指在内存中每行像素的所占的空间大小,目的是为了实现内存对齐,每行像素在内存中所占的空间并不一定是图像的宽度。

频率的计算公式为:

频率 = 行周期数 * 场周期数 *帧率

速率的计算公式:

速率 = 频率 * 带宽

以常见的1080P、30fps的视频的时序图为例,主要由三个信号组成H、V、DE。其有效像素的分辨率为1920x1080,算上消隐期,其像素分辨率为2200x1125,为HD-SDI格式,其频率和速率的计算公式为:

频 率 = 2200 × 1125 × 30 = 74.25 M H z

速率=74.25×20=1.485Gbit/s

1.2 RGB格式

RGB格式有三个通道R、G、B,分别对应红色、绿色、蓝色,由这三个分量直接决定颜色。有些图片会附件一个一个Alpha通道,用于表示透明度,即四个分量共同控制颜色(RGBA)。

图1 RGB格式 一张1920*1080的图片,具有2073600个像素点,如果采用RBG的格式进行存储,其占用的空间大小为: 1920*1080*3/1024/1024 = 5.93MB 如果采用RBGA的格式进行存储,其占用的空间大小为: 1920*1080*4/1024/1024 = 7.91MB

1.3 YUV格式

 

1.3.1 YUV的编码格式

相比于RGB格式,YUV格式最大的好处是

在保持图像质量降低不明显的前提下,减小文件大小

。YUV的编码合适采用亮度和色度来指定像素的颜色,其中Y表示亮度,U和V表示色度。对于 YUV 图像来说,并不是每个像素点都需要包含了 Y、U、V 三个分量,根据不同的采样格式,可以每个 Y 分量都对应自己的 UV 分量,也可以几个 Y 分量共用 UV 分量。

1.3.2 YUV的存储格式

YUV的存储格式可分为两种:

平面格式(Plannr)

紧凑模式(Packed)

• 

平面格式(Plannr)

:对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随是存储所有像素点的V,或者是先V后U。 • 

紧凑模式(Packed)

:对于packed的YUV格式,每个像素点的Y,U,V是连续交替存储的。比如YUV420P,其中P表示紧凑,YUV420SP其中的SP表示“半紧凑”。 其中,p表示逐行采样,i表示隔行采样。

1.3.3 YUV的采样方式

YUV主流的擦痒方式有三种:YUV4:4:4、YUV4:2:2、YUV4:2:0。

1 YUV4:4:4格式

YUV4:4:4这种格式占用的空间最大,每个像素都有一个Y分量、U分量、V分量。YUV4:4:4大小和RGB存储的大小是一样的,为3个字节。根据U和V的顺序不同,又有两种不同的格式。YUV4:4:4每个像素包含一个Y分量和一个UV分量。

每个像素的占用的空间:

1byte(Y) + 1byte(U) + 1byte(V) = 3 byte

单帧占用空间:

FrameSize = FrameWith * FrameWith * 3(byte)

● 

单个像素

● 

2*2个像素

2 YUV4:2:2格式

YUV4:2:2是每两个Y分量共用一个UV分量,所以一个像素占用两个字节,根据存储顺序不同分为四种不同格式。

每个像素占用空间为:

1 byte(Y) + 1/2 byte(U) + 1/2 byte(V) = 2 byte

单帧占用空间:

FrameSize = FrameWith * FrameWith * 2(byte)

● 

2个像素

YUV4:2:2(2像素)

● 

4*4个像素

YUV4:2:2(4*4像素)

 

2 YUV4:2:0格式

YUV4:2:0是每四个Y分量共用一个UV分量,所以一个像素占用1.5个字节,根据存储顺序不同分为四种不同格式。

每个像素占用空间为:

1 byte(Y) + 1/4 byte(U) + 1/4 byte(V) = 1.5 byte

单帧占用空间:

FrameSize = FrameWith * FrameWith * 1.5(byte)

● 

四个像素

● 

4*4个像素

 

1.4 RGB与YUE的转换

YUV像素格式来源于RGB像素格式,通过公式运算,YUV三分量可以还原出RGB,YUV转RGB的公式如下:

● R = Y + 1.403V

● G = Y – 0.344U – 0.714V

● B = Y + 1.770U

一般,将RGB和YUV的范围均限制在[0,255]间,则有如下转换公式:

● R = Y + 1.403(V-128)

● G = Y – 0.344(U -128)– 0.714(V-128)

● B = Y + 1.770(U-128) 

视频格式基础知识的评论 (共 条)

分享到微博请遵守国家法律