美文网首页待读清单@IT·互联网Android技术知识
音视频系列之——视频知识入门,一篇就够了

音视频系列之——视频知识入门,一篇就够了

作者: 奔跑吧李博 | 来源:发表于2017-11-09 01:53 被阅读491次

    要跟对象微信视频了,我的手机摄像头分辨率是720x1280的,那么拍出的每帧图片就有72012801.58 bit = 11M,想要看流畅画面,每秒需要25帧吧,那么就需要1125=275M的带宽,更甚至1080p的593M,如果不压缩视频,根本带不动。那么你的那些高清好莱坞大片,2个小时呢,不经过压缩怎么存呢?

    视频有哪些格式?帧率、码率、分辨率它们是什么关系?什么是压缩?让我们一起来走进视频的内心世界吧。

    基础篇:

    图像与视频:

    什么是图像:
    三维自然场景的对象包括:深度,纹理和亮度
    二维图像: 纹理和亮度信息

    什么是颜色

    RGB色彩空间:
    三原色:RGB
    所有颜色的来源:任何颜色都可以按一定比例的三原色混合产生。
    RGB色度空间:每个色度成分通常用8bit表示,范围都是[0,255]

    YUV色彩空间:
    一般的视频采集芯片输出的码流一般都是YUV数据流的形式。YUV是指亮度参量和色度参量分开表示的像素格式,作用是描述影像色彩及饱和度,用于指定像素的颜色。主要用于电视系统以及模拟视频领域,它将亮度信息(Y)与色彩信息(UV)分离,没有UV信息一样可以显示完整的图像,只不过是黑白的。
    · Y:亮度分量 (Luminance)
    · UV:2个色度分量 (Chrominance)
    · YUV更好的反应HVS特点

    什么是视频?

    连续的图像变化每秒超过24帧画面以上时,根据视觉暂留原理,人眼无法辨别单幅的静态画面;看上去是平滑连续的视觉效果,这样连续的画面叫做视频。

    image.png

    数字视频:
    自然场景空间和时间的数字采样表示。
    ·空间采样 解析度(Resolution) (左图,即分辨率)
    · 时间采样 帧率: 帧/秒

    image.png

    数字视频系统:
    采集: 照相机,摄像机
    处理: 编解码器,传输设备
    显示: 显示器

    人类视觉系统HVS
    HVS: 眼睛 神经 大脑


    image.png

    hvs特点:
    对高频信息不敏感
    对高对比度更敏感
    对亮对比度信息比色度信息更敏感
    对运动信息更敏感

    帧和场图像
    一帧图像包括2场—顶场,底场

    image.png

    音视频的格式有哪些

    音频格式:
    1、 WAV
    WAV是微软公司开发的一种声音文件格式,用于保存windows平台的音频信息资源。是目前PC机上广泛使用的声音文件格式,几乎所有的音频编辑软件都识别WAV格式。
    2、 FLAC
    Free Lossless Audio Codec的缩写,中文可理解为无损音频压缩编码。FLAC是一套著名的音频压缩编码,其特点是无损压缩。
    3、 MP3
    也就是指的是MPEG标准中的音频部分,也就是MPEG音频层。根据压缩质量和编码处理的不同分为3层,分别对应 .mp1 , mp2, . mp3 这3种声音文件。
    其特点是文件小,音质好;知道现在还是主流音频格式。
    4、 WMA
    Windows Media Audio, 这种格式以减少数据流量但保持音质的方法来达到比MP3压缩率更高的木器,WMA的压缩率一般可以达到1:18左右;
    5、 OGG
    OGG格式完全开源,完全免费。与MP3类似,OGG也是对音频进行有损压缩编码,但通过使用更加先进的声学模型去减少损失。因此,相同码率的OGG比MP3的音质更好,文件也更小一些。
    6、 AC-3
    全称“杜比AC-3“,是杜比公司开发的新一代家庭影院多声道数字音频编码方式。杜比数字AC-3是根据感觉来开发的编码系统多声道环绕声。主流的编解码标准的压缩对象都是YUV图像。

    视频格式:
    1、 AVI
    即音频视频交错格式。是将语音和影响同步组合在一起的文件格式。采用一种有损压缩方式,压缩比较高,画面质量不是太好,但由于绝大多数视频编辑及转换软件导入导出avi格式较快。
    2、 MP4
    MP4大多使用mpeg-4或H.264视频编码器压缩。RMVB使用real media视频编码器压缩。
    3、 MKV
    MKV严格的来说并不是一个视频格式,它是多媒体封装格式,最大的特点就是能容纳多种不同类型编码的视频、音频及字幕流,主流的编解码标准的压缩对象都是YUV图像。
    4、 FLV
    FLV是FLASH VIDEO的简称。由于形成的文件极小;加载速度极快,在网络视频中,运用极为广泛。但仅基本用于网络视频。
    5、 MOV
    QuickTime具有跨平台、存储空间要求小等特点,采用了有损压缩方式的MOV格式文件,画面效果较AVI格式要稍微好一些。
    目前基本仅见于IOS、mac上,但大多数播放器仍支持该格式。
    6、3GP
    3GP是一种3G流媒体的视频编码格式,3GP是MP4格式的一种简化版本,减少了储存空间和较低的频宽需求,让手机上有限的储存空间可以使用。

    进阶篇:

    视频帧率、码率、分辨率是什么?到底哪一个影响视频的清晰度?

    分辨率:单位 pixel

    屏幕中宽高像素点的个数
    480x320, 640x480 标清
    1280x720p 高清 HD
    1920x1080p 全高清 FHD
    2560x1440 2k
    3840x2160 4k
    7680x4320 8k
    k是以长为基准说的,清晰度是以宽的清晰度说的。

    码率: 单位 kb/s或者Mb/s

    码率就是数据传输时单位时间传送的数据位数。影响体积,码率越大,体积越大;码率越小,体积越小。
    也就是取样率(并不等同于采样率,采样率单位是HZ,表示每秒采样的次数)
    单位时间内取样率越大,精度就越高。常常看见视频播放软件中的1024,720,高清,标清,流畅等,指的就是各种码率。
    码流越大,文件体积也越大,其计算公式是文件体积=时间X码率/8。例如,网络上常见的一部90分钟1Mbps码流的720P RMVB视频,其大小计算为:60x90×1Mb/8=675MB。

    帧率: 单位 fps

    在一秒钟时间内传输图片的帧数,也可以理解为图形处理器每秒能够刷新几次;快速连续地显示帧便形成了运动的假象,也就成了我们看到的视频。
    影响画面流畅度,与画面流畅度成正比;帧率越大,画面越流畅;

    为什么要进行视频压缩?

    1. 存储困难。
    2. 传输困难。

    为什么可以压缩:
    去除冗余信息:
    空间冗余:图像相邻之间有较强的相关性
    时间冗余:视频序列的相邻图像之间内容相似
    编码冗余:不同像素值出现的概率不同
    视觉冗余:人的视觉系统对某些细节不敏感

    数据压缩分类:

    无损压缩(lossless)

    ·压缩之前和解压之后图像完全一致
    ·压缩比低(2:1 ~ 3:1)
    例如:Windzip,JPEG-LS

    有损压缩:

    · 压缩之前和解压之后图像不一致
    · 压缩比高(10:1 ~ 20:1)
    · 利用人的视觉系统的特性
    例如:MPEG-2, H264/AVC,AVS

    编解码器:
    · 编码器: (Encoder)
    压缩信号的设备或程序

    解码器(Decoder)
    解压缩信号的设备或程序

    编解码器:(Codec)
    编解码器对
    流程:

    image.png

    编解码器:
    · 机顶盒
    · 数字电视
    · 摄像机
    · 监控器

    主流的视频编码标准:
    MPEG-2
    MPEG-4 simple profile
    H.264/AVC
    AVS
    VC-1

    主流的H264 编码

    特点:高压缩、高质量,支持多种网络流媒体传输。

    编码依据:
    在相邻几帧图像中,有差别的像素只有10%以内的点,亮度差变化不超过2%,色度差的变化只有1%以内。

    过程:
    先编码一个完整图像帧I,P帧不编码全部图像,只编入与I帧的差别,这样P帧既能保存自己的信息,又只要原大小的1/10以内,同理以后的编码,就将一段图像压缩了。这段图像称为一个序列,表示有相同特点的一段数据。

    H264协议定义了三种帧:完整编码的帧为I帧;参考前面的帧只包含差异部分编码的帧为P帧;参考前后帧编码的帧叫B帧。H264核心算法是帧内压缩和帧间压缩。生成I帧的算法用的帧内压缩,生成B、P帧算法用的帧间压缩。

    GOP(Group of picture)
    关键帧的周期,也就是两个IDR帧之间的距离,一个帧组的最大帧数,一般而言,每一秒视频至少需要使用 1 个关键帧。通过提高GOP值来提高图像质量是有限度的,在遇到场景切换的情况时,H.264编码器会自动强制插入一个I帧,此时实际的GOP值被缩短了。解码某一个P或B帧时,需要先解码得到本GOP内的I帧及之前的N个预测帧才可以,GOP值越长,需要解码的预测帧就越多,seek预览响应的时间也越长。
    我们在做视频编辑软件初期,就出现seek卡顿的现象,GOP值设置大了,别人家的小影,美摄,Imovie就很流畅。

    1.I帧
    I帧为一个序列的第一帧,叫帧内编码帧,也即常说的关键帧。这一帧画面保存完整,解码时只需要本帧数据就可以完成。

    2.P帧
    P帧画面保存这一帧跟前一帧的差别,解码时需要用以前缓存的画面叠加上本帧数据,最终生成画面;P帧是I帧后相隔1-2帧的编码帧;由于是差值传送,P帧的压缩比较高。

    3.B帧
    双向预测内插编码帧。B帧是双向差别帧,记录的是本帧与前后帧的差别;B帧不是参考帧,不会造成解码错误的扩散;I帧的压缩率是7,P帧是20,而B帧可达50,所以可节省大量空间。

    11月份到了,南方的盆友冷不冷啊,注意保暖。小时候网络不发达,都不知道北京过冬这么暖和!室内穿背心儿!

    相关文章

      网友评论

      本文标题:音视频系列之——视频知识入门,一篇就够了

      本文链接:https://www.haomeiwen.com/subject/yqgumxtx.html