网站排名要怎么做,如何做测评视频网站,网页设计实训报告总结万能模板,免费外贸电商平台⭐二、图像篇 视频基本要素#xff1a;宽、高、帧率、编码方式、码率、分辨率 其中码率的计算#xff1a;码率(kbps)#xff1d;文件大小(KB)#xff0a;8#xff0f;时间(秒)#xff0c;即码率和视频文件大小成正比 YUV和RGB可相互转换 ★YUV#xff08;原始数据宽、高、帧率、编码方式、码率、分辨率 其中码率的计算码率(kbps)文件大小(KB)8时间(秒)即码率和视频文件大小成正比 YUV和RGB可相互转换 ★YUV原始数据 YUV是音视频编解码最常用的格式。 YUV 是一种色彩空间的编码格式用于表述图像或视频帧中的颜色信息。它将颜色分为三个分量 Y亮度明暗信息U 和 V色度分别代表蓝色和红色的偏离度信息用于编码色彩 YUV420/422可通过ffmpeg/opencv直接编码成H264编码 YUV444、YUV422、YUV420 代表 YUV 色彩格式中不同的采样模式描述了亮度Y和色度U、V分量在空间中的采样比例。后面的数字代表y、u、v在一个像素中各自占的比例。 444代表每个像素都有完整的 Y、U 和 V 数据。也就是说色度和亮度分辨率是相同的。 422亮度Y仍然是逐像素采样的但色度U 和 V分量是每两个像素水平采样一次即色度分辨率在水平方向上为亮度的一半。 420亮度Y分量仍然是逐像素采样的但色度U 和 V分量每两个像素水平采样一次并在垂直方向上每两行采样一次因此色度的水平和垂直分辨率都是亮度的一半
YUV的数据格式保存有两种分类方式视频压缩方式即**“空间-间”和“空间-内”。“空间-间”的划分方式主要体现在Y、U、V的比例不同**“空间-内”的划分方式主要体现在Y、U、V的比例一定存储格式不同。
空间-间编码时空编码 空间-间编码也称时空编码是指对帧之间的相关性进行压缩。视频是一系列连续的图像帧其中相邻帧之间通常会有很高的相似度因此通过只记录帧间的差异可以显著降低数据量例如帧间预测P 帧、B 帧利用前后帧的相关性减少数据存储。此种编码方式常用于视频压缩标准如H.264、H.265中的**“帧间预测”**部分。 帧类型 I帧帧内编码帧只参考当前帧内容进行压缩。解码时不需要其他帧因此是独立的适合作为关键帧。 P帧预测帧通过参考前面一个 I 帧或 P 帧进行编码仅记录与参考帧的差异信息 B帧双向预测帧通过参考前后的 I 帧或 P 帧来编码提高了压缩效率。
空间-内编码帧内编码 空间内编码也称帧内编码是指在单帧图像内部进行压缩不参考其他帧。利用图像内部的相似性如色块、纹理等来去除冗余信息只在单个帧内进行压缩。 一般用于视频压缩中的关键帧I帧压缩以确保独立解码 以下是三种不同的YUV图像存储方式。 Packet打包 即先存储一个yuv再存储下一个yuv 示例YUV444 的打包格式可能是 YUV YUV YUV 的顺序而 YUV422 则是 YYUV YYUV。 优点读取方便因为每个像素的颜色分量是连续的。 缺点存储效率较低适合在特定的硬件或视频处理中使用。 Planar平面用P简写代表 先存储y平面再存储u平面再存储v平面即 Y、U、V 分量分开存储每个分量各占一块“平面”区域。 优点适合对每个分量单独进行处理常用于视频压缩和解码中的计算。 缺点因为色度平面的数据较少处理可能会较复杂但节省空间。 Semi-Planner半平面用NV简写代表 先存储y平面再存储uv平面即Y 平面独立存储而 U 和 V 分量共享一个平面 优点节省存储空间读取较为方便因此广泛用于现代视频编解码中。 缺点虽然节省了空间但比完全的平面格式稍难以单独处理 U 和 V。
示例12代表一个像素点占的bit位数 ★H.264编码格式 广泛应用的视频压缩标准。 数据格式 NAL 层Network Abstraction Layer VCL 层Video Coding Layer ◆ VCLH264编码/压缩的核心主要负责将视频数据编码/压缩再切分。 ◆ NALU NALU header NALU payload NAL层 NAL 层是 H.264 编码数据的封装层用于将编码后的视频数据封装成独立的单元以便传输和存储。 每一个 NAL 单元NAL Unit包含一个NAL 头和负载数据 NAL单元的起始码Start Code 常见为 0x000001 或 0x00000001 NAL 头1B用于描述当前 NAL 单元的类型如I帧、P帧等 ◆ Fforbidden_zero_bit1 位初始为0。当网络识别此单元存在比特错误时可将其设为 1以便接收方丢掉该单元。 ◆ NRInal_ref_idc2 位用来指示该NALU 的重要性等级。 ◆ Typenal_unit_type5 位指出NALU 的类型 常见的NAL单元类型 IDR 帧NAL Type 5关键帧独立解码的 I 帧用于随机访问。 非 IDR 帧NAL Type 1用于 P 帧或 B 帧等非关键帧。 序列参数集SPSNAL Type 7包含视频序列的全局参数如分辨率、帧率等。 图像参数集PPSNAL Type 8包含单个或多个图片的参数如预测模式、量化参数等。 负载数据存储实际的视频编码数据如帧内预测、帧间预测的数据等。 VCL层 负责实际的视频数据编码它将视频图像压缩成基本的编码单元如宏块、块等并使用 H.264 的压缩算法生成相应的数据 ◆ 压缩预测帧内预测和帧间预测- DCT变化和量化 - 比特流编码 ◆ 切分数据主要为了第三步。“切片(slice)”、“宏块(macroblock)是在VCL中的概念一方面提高编码效率和降低误码率、另一方面提高网络传输的灵活性。 ◆ 包装成『NAL』。 Slice片每一帧可以由一个或多个 Slice 组成便于错误恢复。Slice 是一组连续的宏块每个 Slice 可以独立解码。宏块MacroblockH.264 中基本的编码单元每个宏块包含 16x16 的像素区域并根据帧内或帧间模式进行编码。块Block宏块可以细分为 8x8 或 4x4 的块用于 DCT 变换和预测。 H.264文件封装格式 H.264 编码的数据可以封装在不同的文件格式中以便在各种应用场景中使用 裸流.264 或 .h264直接存储 H.264 编码后的 NAL 单元数据常用于调试和测试。MP4 / MOV一种常见的容器格式用于存储音视频流包含更多的元数据如时间戳、索引等便于流式播放和快进。MPEG-TS.ts传输流格式常用于广播和网络传输有较好的错误恢复能力。MKV一种开源的多媒体封装格式支持多种编码格式和多音轨广泛用于高质量视频存储。 参考文献https://www.cnblogs.com/say-Hai/articles/18630636