视频基础知识一、视频基本概念1.视频是什么视频一连串连续的静态图像帧音频人眼视觉暂留效应美妙足够多帧看起来就是流畅的运动画面。2.关键基础名词帧Frame一张静态图片帧率FPS/Frame Rate:每秒显示多少帧。常见24fps(电影)、25fpsPAL电视、30fps、60fps高流畅分辨率Resolution画面横向*纵向像素数 常见标清/高清480pSD标清720p: HD高清1080pFHD高清2k/1440p:QHD4K/2160p:UHD超高清8K超超高清二、色彩与画面基础1.像素Pixel画面最小单位每个像素包含颜色信息2.色彩空间Color SpaceRGB最直接的色彩模型通过红、绿、蓝三原色的亮度组合表示颜色。主要用于图像采集和显示。YUV/YCbCr视频领域最核心的色彩模型。它将亮度信息Y和色度信息UV/CbCr分离。优势人眼对亮度敏感对色彩不敏感。因此可以对色度信息进行降采样如YUV420大幅减少数据量而视觉损失很小。采样格式YUV420意味着每4个Y像素共享1个U和1个V值压缩效率高是主流格式。3.色深Bit Depth每个通道用多少位表示颜色8bit:日常视频、网络视频10bit高画质、HDR、电影级、色彩过渡更平滑无断层4.HDR(高动态范围)亮部更亮、暗部更暗色彩更真实常见格式HDR10、Dolby Vision杜比视界三、视频编码与压缩原理原始视频数据量巨大例如1080p 30fps 未经压缩的数据速率约为1.5Gbps),必须进行压缩才能存储和传输。这就是视频编码的核心人物。1.为什么能压缩冗余类型空间冗余同一帧内相邻像素的颜色往往相似。时间冗余相邻帧间大部分背景内容是静止或者缓慢变化的。视觉冗余人眼对某些细节如高频信息、细微色彩变化不敏感。2.如何压缩编码原理以主流编码器H.264/AVC\H.265/HEVC,AV1为例帧类型I 帧关键帧自包含的完整帧压缩率低作为随机访问点。P帧前向预测帧): 只存储与前一帧(或P帧)的差异部分压缩率高。B帧双向预测帧存储与前后帧的差异压缩率最高但编解码延迟大。核心过程1.预测利用空间/时间冗余进行预测压缩率低作为随机访问点。2.变换和量化将“预测残差”实际块与预测块的差值从像素域变换到频域如DCT),再量化有损地减少数据精度。3.熵编码对量化后的数据进行无损压缩如CAVLC、CABAC。重要概念码率单位时间内视频数据的大小如1Mbps。固定码率CBR和可变码率VBR是两种控制策略。GOP两个I帧之间的间隔。GOP越长压缩率越高但随机访问和容错性就越差。编码标准VS编码器H.264是标准x264开源和 Intel Media SDK(硬件)实现此标准的编码器。四、常见的视频编码格式五、视频数据yuv内存布局YUV数据内存布局的核心区别在于采样格式和存储排列。最常见的YUV420有两种主流内存布局YUV420PPlannar平面格式和YUV420SPSemi-Planar,半平面格式。1.采样格式回顾以YUV420为例其含义是每4个Y像素2*2块共享一个U和1个V值。因此Y、U、V分量的数据量比例为4:1:12.关键内存布局YUV420PPlanar布局Y、U、V三个分量分别存储在三个独立的连续内存平面中。内存排列如下[所有Y数据][所有U数据][所有V数据]计算大小对于一张width*height的图片Y_size width*height;U_size V_size (width/2)*(height/2);总大小Y_sizeU_sizeV_size(width * height*3)/2常见子类型I420存储顺序为YUV。这是标准的YUV420格式YV12存储顺序为YVU。YUV420SPSemi-Planar布局Y分量单独一个平面而UV分量交错存储在第二个平面。内存排序格式如下[所有Y数据][U0 V0,U1,V1,.....]计算大小总大小同样为widthheight3/2. UV交错平面的大小为width*height/2.常见子类型NV12UV交错顺序为U,V主流IOS默认格式NV21UV交错顺序为VU。Android相机预览默认格式