计算机网络基础知识_计算机网络基础知识整理大全
视频基本概念(1)根据视觉暂留原理,连续的图像变化每秒超过24帧(Frame)画面以上时,人眼无法辨别单幅的静态画面,看上去是平滑连续的视觉效果
视频基本概念(1)根据视觉暂留原理,连续的图像变化每秒超过24帧(Frame)画面以上时,人眼无法辨别单幅的静态画面,看上去是平滑连续的视觉效果,这样连续的图像画面构成即视频。
在这里插入图片描述(2)一个完整的视频文件主要由音频和视频两部分组成的,视频编码是为了压缩视频数据而做的一种压缩算法,是音视频质量的决定因素;视频封装格式也叫做容器 Container,它是将已经编码压缩好的视频流、音频流以及元数据按照一定的结构规则编排放到一个文件中,不同封装格式编排规则不一样,应用场景和优点也不同。
视频文件的播放流程
像素:屏幕显示是把有效面积化为为很多个小格子,每个格子只显示一种颜色,是成像的最小元素,因此就叫做“像素”分辨率:屏幕在长度和宽度这俩个方向上各有多少像素,就叫做分辨率,一般用 AXB 来表示分辨率越高,每个像素的面积越小,显示效果就越平滑细腻。
每一个像素点的 RGB 通道分别对应屏幕位置上的子像素点绘制到屏幕上,进而显示整个图像1、RGB 表示图像一张图像是由每个像素点绘成的,那么一像素点的 RGB 又该如何表示呢?浮点表示归一化表示,取值范围 0.0~1.0,如 openGL 对每个子像素点的表示方式。
整数表示取值范围 0~255 或者 00~FF,8bit 表示一个子像素如图像格式 RGBA_8888,表示 4*8bit 表示一个像素,而 RGB_565 用 5 + 6 + 5 bit 表示一个像素。
一张 1280 * 720, RGBA_8888 格式的图片的大小= 1280 * 720 * 32bit = 1280 * 720 * 32 / 8 byte,也是位图在内存中占用 的大小所以每一张图像的裸数据都是很大的。
2、YUV 表示图像YUV (又称为 YCbCr),一种亮度与色度分离的色彩格式;Y : 亮度,即灰度值,除了表示亮度信号外,还含有较多的绿色通道量;U : 蓝色通道与亮度的差值;V : 红色通道与亮度的差值;
YUV 的优势,人眼对亮度敏感,对色度不敏感,因此减少部分 UV 的数据量,人眼无法感知,从而可以通过压缩 UV 的分辨率, 在不影响观感的前提下,减小视频的体积;视频帧裸数据之所以采用 YUV 色彩空间,使用为亮度信号 Y 和色度信号 UV 是分离的。
当无 UV 色度信号,只有 Y 亮度信号时,那么这样表示的图像就是黑白灰度图像彩色电视正是使用 YUV 空间使用 Y 亮度信号解决彩色电视与黑白电视的兼容问题、使黑白电视也能接收彩色电视信号最常用的 YUV 都使用 8 个 字节来表示,所以取值范围就是 0~255。
音频最开始需要采样,图像也是一样的,YUV 最常用的采样格式是 4:2:0YUV 格式有两大类:planar 和 packed YUV420 PlanarYYYY YYYY UU VVYUV 444 Packed。
YUVYUVYUVYUVYUV 码流的存储格式其实与其采样的方式密切相关,主流的采样方式有三种,YUV4:4:4,YUV4:2:2, YUV4:2:0。
在这里插入图片描述
YUV 4:4:4 采样,每一个 Y 对应一组 UV 分量YUV 4:2:2 采样,每两个 Y 共用一组 UV 分量YUV 4:2:0 采样,每四个 Y 共用一组 UV 分量3、YUV 和 RGB 转化。
凡是渲染到屏幕上的东西(文字、图片或者其他),都要转换为 RGB 的表示形式,那么 YUV 的表示形 式和 RGB 的表示形式之间是如何进行转换的呢?为了实现格式转换,我们首先要明确待转换格式和目标格式的特点和相互转换关系,这是编程实现转换的核心。
对于 RGB 转 YUV 的过程,我们要首先拿到 RGB 文件的数据,再通过上图的 YUV 计算公式对其做 运算,得到 YUV 数据,从而实现转换而对于 YUV 转 RGB 则要首先获得 YUV 数据,用第二组 RGB 公式计 算得到 RGB 数据。
在本实验中,转换公式如下Y = 0.298R + 0.612G + 0.117B;U = -0.168R - 0.330G + 0.498B + 128;V = 0.449R - 0.435G - 0.083B + 128;。
R = Y + 1.4075( V - 128);G = Y - 0.3455( U - 128) - 0.7169( V - 128);B = Y + 1.779( U - 128);视频编码视频压缩必要性
以常见的1080P60的视频计算一下没有压缩时数据量的大小(按红绿蓝三原色各一个字节数据量计算)一秒钟数据量:1920(宽)x 1080(高)x 60(每秒帧数)x 3(像素3原色字节)= 373.248MB = 2.98Gbs
一小时数据量:373.248MB x 3600秒 = 13.43T字节/小时这个数据量很大,近3G的原始数据量在任何常规网络上都无法实现视频的传输因此我们就需要一种数据处理方式将海量的原始图像数据压缩到可在互联网上传输的数据量,这个过程叫做视频的编码。
视频压缩原理帧内压缩(1)将帧画面进行分层压缩(Y层:亮度相关、cr层:颜色相关、cb层:颜色相关),人对黑白亮度非常敏感,对颜色不太敏感,所以Y层尽量减少压缩,cr层、cb层多压缩(2)宏块压缩:一帧画面可以分很多方块,相同的方块可以压缩,不同的保留。
帧间压缩I帧:关键帧,记录一帧完整的数据P帧:前向帧,记录本帧与前一帧不同的数据。B帧:双向帧,记录本帧与前帧和下一帧不同的数据。
帧与帧率帧,视频的一个基本概念,表示一张画面,一个视频就是由许多帧组成的;帧率,即单位时间内帧的数量,单位为 : 帧/秒 或 fps(frames per second),帧率越高则画面越顺滑过渡越自然;
硬解码和软解码软解码,指利用 CPU 的计算能力来解码,通常若 CPU 的能力不是很强的时候,一则解码速度会比较慢,二则手机可能出现发热现象;但是, 由于使用统一的算法,兼容性会很好;硬解码,指的是利用专门的解码芯片来加速解码,通常硬解码的解码速度会快很多,但是由于硬解码由各个厂家实现,质量参差不齐,非常容易出现兼容性问题。
免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186