视频编码方式

2018-01-31  本文已影响35人  霜之幽语

我们通常所说的 .mp4,.flv,.ogv,.webm 等。简单来说,它其实就是一个盒子,用来将实际的视频流以一定的顺序放入,确保播放的有序和完整性。因为,原始的视频流非常大,打个比方就是,你直接使用手机录音,你会发现你几分钟的音频会比市面上出现的 MP3 音频大小大很多,所以视频必须要经过压缩算法封装起来。
首先,由原始数码设备提供相关的数字信号流,然后经由视频压缩算法,大幅度的减少流的大小,然后交给视频盒子,打上相应的 dts,pts 字段,最终生成可用的视频文件。
下面会介绍主要的视频压缩方式即视频编码方式:
视频实际上就是一帧一帧的图片,拼接起来进行播放而已。而图片本身也可以进行相关的压缩,比如去除重复像素,合并像素块等等。不过,还有另外一种压缩方法就是,运动估计和运动补偿压缩,因为相邻图片一定会有一大块是相似的,所以,为了解决这个问题,可以在不同图片之间进行去重。
所以,总的来说,常用的编码方式分为三种:

变换编码

这里就涉及到图像学里面的两个概念:空域和频域。空域就是我们物理的图片,频域就是将物理图片根据其颜色值等映射为数字大小。而变换编码的目的是利用频域实现去相关和能量集中。常用的正交变换有离散傅里叶变换,离散余弦变换等等。

熵编码

熵编码主要是针对码节长度优化实现的。原理是针对信源中出现概率大的符号赋予短码,对于概率小的符号赋予长码,然后总的来说实现平均码长的最小值。编码方式(可变字长编码)有:霍夫曼编码、算术编码、游程编码等。

运动估计和运动补偿

上面那两种办法主要是为了解决图像内的关联性。另外,视频压缩还存在时间上的关联性。例如,针对一些视频变化,背景图不变而只是图片中部分物体的移动,针对这种方式,可以只对相邻视频帧中变化的部分进行编码。

【码率】(kbps)=【文件大小】(字节 )X8 /【时间】(秒)/1000

视频常规尺寸
320×240 352×240 352×288 384×288 480×480 480×576 640×368 640×480 704×480 704×576 720×480 720×576 1280×720

视频格式

细心的用户一定注意到了,这中间怎么没有MPEG-3编码?实际上,大家熟悉的MP3就是采用的MPEG-3(MPEG Layeur3)编码。

音频格式

amr_nb 和 amr_wb 是同一种音频编码的不同规格,简单来说 amr_wb 比 amr_nb 音质好一些.Advanced Audio Coding。一种专为声音数据设计的文件压缩格式 ,与Mp3 不同,它采用了全新的算法进行编码,更加高效,具有更高的”性价比“。利用AAC格式 ,可使人感觉声音质量没有明显降低.

上一篇下一篇

猜你喜欢

热点阅读