音视频通用的基本概念有码率、时长,而不同音视频有不同的封装格式、编码协议。其中视频关键参数有分辨率、帧率、画质、旋转角度、像素格式,而音频关键参数有采样率、声道数、声道布局、音质。接下来与大家详细分享与讨论。
一、视频
1、码率
码率,又叫比特率,单位时间内传输的数据量,单位一般为kbps(千位每秒)。需要注意的是,这里b代表bit,而不是byte。计算公式:码率(kbps)=文件大小(kb)*8/时间(s)。
恒定码率:CBR,码率稳定可控,带宽要求不高,图像变化量比较大时方块效应比较明显。
动态码率:VBR,码率波动较大,带宽要求较高,图像变化量比较大时方块效应有所改善。发生网络抖动时,比较容易丢包,需要重传,或者FEC前向纠错,从而带来延时。
2、分辨率
分辨率又称为解析度,分辨率越高,像素越多,图像越清清晰。
视频分辨率:又称为图像分辨率,由视频的宽高组成,表示形式宽x高,常见的视频分辨率有480P、720P、1080P、2K(2048x1080/2160x1440)、4K(4096x2160/3840x2160),具体如下表1所示。
屏幕分辨率:又称为显示分辨率,描述屏幕分辨率的单位是ppi(pixel per inch,每英寸的像素数)。
位分辨率:又称为位深(BitDepth),每个像素点存储信息的位数。常见的有:8位、16位、24位、32位色彩。Android的Bitmap常见的有ALPHA_8、RGB_565、ARGB_4444、ARGB_8888。
显示模式 |
水平像素x垂直像素 |
宽高比 |
QCIF |
176x144 |
11:9 |
QVGA |
320x240 |
4:3 |
CIF |
352x288 |
11:9 |
nHD |
640x360 |
16:9 |
VGA |
640x480 |
4:3 |
HD |
1280x720 |
16:9 |
Full HD |
1920x1080 |
16:9 |
2K(FHD+) |
2048x1080 |
17:9 |
4K(UHD) |
3840x2160 |
16:9 |
表1-常见分辨率及其显示模式
3、帧率
视频帧率:测量显示帧数的量度,单位为每秒显示帧数(FPS,全称为Frame Per Second)。一般视频帧率为24fps,P制(PAL,德国提出,中国、印度、巴基斯坦等国家使用)为25fps,也就是每帧显示40ms,N制(NTSC,美国标准委员会提出,美国、日本、韩国等国家使用)为30fps。有些超高帧率的视频达到60fps。
显示帧率:以帧为单位的位图图像连续出现在显示器的频率,也称为刷新速率。Android设备刷新率一般为60Hz,也就是帧率为60fps,每帧为16ms,超过16ms能给人的肉眼带来延迟卡顿的感觉。做性能优化方面,也就是保证从测量、布局、绘制、上传指令、与GPU交换缓冲区等一系列动作在16ms完成。Android11支持120Hz的更高帧率,一般为对帧率要求极高的应用场景,比如互动游戏。
4、像素格式
像素格式:像素色彩分量的排列,由每个像素使用的总位数以及各分量的位数决定。图像的像素格式一般是RGBA四个分量通道各占8bits,组成一个32位的像素。其中R代表Red、G代表Green、B代表Blue、A代表Alpha。但是,视频压缩存储的像素格式不是RGBA,而是YUV,其中Y代表亮度(Luma),U代表色度(Chroma),V代表对比度(Contrast)。
5、画质
画质:画面质量,由清晰度、锐度、解析度、色彩纯度、色彩平衡等指标构成。
清晰度:指图像细节纹理及其边界的清晰程度。
锐度:反应图像平面清晰程度,以及图像边缘的锐利程度。
解析度:指像素点的数量,与分辨率对应,分辨率越高,解析度越高。
色彩纯度:指色彩的鲜艳程度。所有色彩都是三原色组成,其他颜色都是三原色混合而成,理论上可以混合出256种颜色。原色的纯度最高。色彩纯度是指原色在色彩中的百分比。
色彩平衡:用来控制图像的色彩分布,使得图像整体达到色彩平衡。
6、色域与HDR
色域:指某种表色模式所能表达的颜色构成的范围区域,色域空间越大,所能表现的颜色越多。
HDR:High Danamic Range,高动态范围,比普通图像提供更多动态范围和图像细节,能够更好反应真实环境的视觉效果。颜色值经过归一化后,范围一般是[0,1]。而HDR可以表达超出1的颜色值,拥有更大的颜色范围。
7、旋转角度
旋转角度:视频的YUV储存方向。一般的视频旋转角度是0,对应的是横屏显示。后置摄像头竖屏拍的视频,旋转角度为90,解码时或者显示时需要顺时针旋转90度回来。前置摄像头竖屏拍的视频,解码时或显示时需要顺时针旋转270度回来,或者逆时针旋转90度。Android中可以通过MediaMetaDataRetriever获取旋转角度,Android5.0以上使用MediaCodec解码可以把带有旋转角度的视频帧旋转补偿回来。
8、时长
视频所有图像播放所需要的时间称为视频时长。计算公式:时长(s)=帧数x每帧时长=帧数x(1/帧率)。假设一个视频帧数为1000,帧率为25fps,那么时长为40s。
9、封装格式
视频的封装格式,由特定格式头+媒体信息+音视频轨(字幕)数据+视频轨索引组成。常见的封装格式有:mp4、mkv、webm、avi、3gp、mov、wmv、flv、mpeg、asf、rmvb等。
10、编码协议
视频经过解封装得到的视频轨数据,是经过编码的,所以显示视频帧前需要解码。不同编码算法组成不同编码协议,常见的有:H264(AVC,一般使用x264编码)、H265(HEVC,一般使用x265编码)、VP8、VP9、MPEG4、MJPEG、WMV3等。
二、音频
1、采样率
采样率:对声音信号每秒的采样次数,采样率越高,声音的还原越真实。采样率单位为Hz,常见的采样率有:8000Hz、16000Hz、44100Hz、48000Hz。
2、声道
声道:指声音在录制或播放时,在不同空间位置采集或回放的相互独立音频信号。声道数指在录音时的音源数量,或者在播放时的扬声器数量。
3、声道布局
不同声道数对应不同声道布局。常见的声道布局有单声道(mono)、立体声道(stereo)、四声环绕、5.1声道。
单声道:只有一个声道,优点数据量小,amr_nb和amr_wb默认为单声道,缺点是缺乏对声音位置定位。
立体声道:一般为两个声道,由左声道、右声道组成,改善对声音位置定位的状况。
四声环绕:由前左、前右、后左、后右组成,形成立体环绕。4.1声道是在四声环绕基础上,增加一个低音。
5.1声道:在4.1基础上,增加一个中场声道,杜比AC3就是采用5.1声道,也就是影院宣传的杜比音效。
4、音质
音质:声音的质量,经过编码压缩后的音频信号保真度,由音量、音高和音色组成。
音量:音频的强度,数值范围0-100,静音时为0,最大值为100。Android中有提供音量增强LoudnessEnhancer,调节声音分贝值。
音高:声音的音调,即音频频率或每秒变化次数。
音色:音频泛音,又称为音品,不同声音表现在波形方面与众不同的特性。
5、封装格式
音频的封装格式,与视频封装格式类似,由特定格式头+媒体信息+音频轨数据组成。常见的封装格式有:mp3、m4a、ogg、amr、wma、wav、flac、aac、ape等。
6、编码协议
音频经过解封装得到的音频轨数据,也是经过编码的。常见的音频编码协议有:mp3、aac、amr_nb、amr_wb、vorbis、opus、flac、wmav2等。
来源:oschina
链接:https://my.oschina.net/u/4358286/blog/4543565