视频基础知识(一) 视频编码 | H.26X 系列 | MPEG 系列 | H.265

文章目录

    • 一、视频编码
    • 二、 H.26X 系列
      • 1、H.261
      • 2、H.263
      • 3、H.264
        • 3.1 I帧
        • 3.2 P帧
        • 3.3 B帧
      • 4、H.265
    • 三、 MPEG 系列
      • 1、MPEG-1
      • 2、MPEG-2
      • 3、MPEG-4
      • 4、MPEG-7

  • 🚀 个人简介:CSDN「博客新星」TOP 10 , C/C++ 领域新星创作者
  • 💟 作    者:锡兰_CC ❣️
  • 📝 专    栏:【音视频基础知识】
  • 🌈 若有帮助,还请关注➕点赞➕收藏,不行的话我再努努力💪💪💪

一、视频编码

  这里的编码和之前音频知识中提到的编码(数字化编码)不是一个编码,这里指的是压缩编码。音频和视频数据是由 0 和 1 组成的,由于音频视频的数据量过大,如果按照裸流数据存储的话,需要消耗非常的存储空间,不利于传送。音频视频中的数据包含了大量 0 和 1 的重复数据,可以通过一定的算法来压缩这些数据。
  视频编码是将视频信号转换为数字数据的过程,以便于存储、传输和播放。在视频编码中,视频帧按一定规则被压缩为数字数据,以减小文件大小并提高传输效率。常见的视频编码方式包括 H.26X 系列 和 MPEG 系列 。

二、 H.26X 系列

1、H.261

  H.261最初是为了可视电话、视频会议而设计的。后面的视频编码标准都可以说是在 H.261 的基础上进行逐步改进,引入新功能得到的。现在只有一些老的视频会议系统和网络视频支持 H.261。

2、H.263

  H.263 主要用于视频会议、网络视频、视频电话上。由于 H.263 的编码比 H.264 的要轻便,对于小尺寸的手持设备,不需要太高的分辨率,通常会使用 H.263 编码。

3、H.264

  H.264 等同于 MPEG-4 的第10部,或者可以称作 AVC。H.264 具备超高压缩率,其压缩率为MPEG-2 的 2 倍,MPEG-4 的 1.5 倍。H.264 被广泛用于高精度视频的录制、压缩和发布格式。
  H.264 性能的改进是通过增加复杂性为代价而获得的,H.264 编码的计算复杂度,解码复杂度相比 H.263 要大上几倍。

  H.264 协议中定义了三种帧,分别为 I 帧、P帧和 B 帧。

3.1 I帧

  帧内编码帧。可以理解为是一帧画面的完整保留,解码时只需要本帧数据就可以完成,不需要参考其他画面。I 帧的数据量比较大。

3.2 P帧

  前向预测编码帧,记录当前帧和上一关键帧或 P 帧的差别,解码时依靠之前缓存对的画面叠加上本帧定义的差别,生成最终画面。数据量对于 I 帧来说偏小。

3.3 B帧

  双向差别帧,记录本帧与前后帧的差别,解码时依赖前后的帧,数据量比 I 帧和 P 帧小很多。

4、H.265

  高效率视频编码,简称 HEVC,HEVC 不仅提升图像质量,同时也能达到 H.264 两倍压缩率,可支持 4K 分辨率甚至超高画质,最高分辨率可以达到 8K。

三、 MPEG 系列

  MPEG 格式是运动图像压缩算法的国际标准,它采用了有损压缩方法从而减少运动图像中的冗余信息。MPEG的压缩方法保留相邻两幅画面绝大多数相同的部分,而把后续图像中和前面图像有冗余的部分去除,从而达到压缩的目的。

1、MPEG-1

  MPEG-1 被广泛地应用在 VCD 的制作和一些视频片段下载的网络应用上面。

2、MPEG-2

  MPEG-2 被广泛用于 DVD、SVCD 和大多数数字视频广播系统和有线分布系统中。

3、MPEG-4

  MPEG-4 用于播放流式媒体的高质量视频,它可利用很窄的带度,通过帧重建技术,压缩和传输数据,以求使用最少的数据获得最佳的图像质量。MPEG-4优点在于它能够保存接近于 DVD 画质的小体积视频文件。

4、MPEG-7

  MPEG-7 不是音视频压缩标准,它被称为“多媒体内容描述接口”。目的就是产生一种描述多媒体信息的标准,并将该描述与所描述的内容相联系,以产生快速有效的检索。

更多专栏订阅推荐:

  • 👍 【开卷数据结构】
  • 💛 【备战蓝桥,冲击省一】
  • 💕   从零开始的 c++ 之旅
  • 💖 【OpenCV • c++】计算机视觉

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/465501.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

OSPF协议全面学习笔记

作者:BSXY_19计科_陈永跃 BSXY_信息学院 注:未经允许禁止转发任何内容 OSPF协议全面学习笔记 1、OSPF基础2、DR与BDR3、OSPF多区域4、虚链路Vlink5、OSPF报文6、LSA结构1、一类/二类LSA(Router-LSA/Network-LSA) 更新完善中... 1、…

STM32的USART能否支持9位数据格式话题

1、问题描述 STM32L051 这款单片机。平常的 USART 串口传输是 8 位数据,但是他的项目需要用串口传输 9 位数据。当设置为 8 位数据时,串口响应中断正常。但是,当设置为 9 位数据时,串口就不产生中断了。USART2 的 ISR 寄存器 RXN…

Monorepo 解决方案 — 基于 Bazel 的 Xcode 性能优化实践

背景介绍 书接上回《Monorepo 解决方案 — Bazel 在头条 iOS 的实践》,在头条工程切换至 Bazel 构建系统后,为了支持用户使用 Xcode 开发的习惯,我们使用了开源项目 Tulsi 作为生成工具,用于将 Bazel 工程转换为 Xcode 工程。但是…

【PyTorch】基础学习:一文详细介绍 torch.load() 的用法和应用

【PyTorch】基础学习:一文详细介绍 torch.load() 的用法和应用 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程&#x1f44…

CMAKE_CUDA_ARCHITECTURES set to ‘native’多版本与版本号矛盾问题,报错

CMAKE_CUDA_ARCHITECTURES set to ‘native’多版本与版本号矛盾问题,报错 1. 报错提醒如下图2. 原因本地安装多个cuda版本导致native寻找到多个版本,导致报错3. 具体配置需要根据你的显卡型号来确认 1. 报错提醒如下图 2. 原因本地安装多个cuda版本导致…

sqllab第二十七关通关笔记

知识点&#xff1a; union select 关键字过滤 通过<> /**/进行截断处理 un<>ion sel<>ect 没效果uni/**/on sel/**/ect 被过滤了双写绕过 这关对select进行了多重过滤&#xff0c;无法进行双写绕过 大小写绕过 UNion SElect (这关可以用&am…

如何实现图片上传至服务器

在绝大多数的项目中都会涉及到文件上传等&#xff0c;下面我们来说一下技术派中是如何实现原生图片上传的&#xff0c;这个功能说起来简单&#xff0c;但其实对于技术还是有考验的。图片的上传涉及到IO读写&#xff0c;一个文件上传的功能&#xff0c;就可以把IO流涉及到的知识…

4500万英镑!英国深化发展量子计算背后“内有乾坤”

内容来源&#xff1a;量子前哨&#xff08;ID&#xff1a;Qforepost&#xff09; 编辑丨慕一 编译/排版丨沛贤 深度好文&#xff1a;2200字丨15分钟阅读 近期&#xff0c;英国国家量子计算中心&#xff08;NQCC&#xff09;宣布量子计算实验台竞赛的结果&#xff0c;七家量子…

【SpringBoot】请求与响应参数 IoC与DI 总结

文章目录 ① —— 请求 ——一、简单参数 RequestParam1.1 参数与形参 命名相同1.2 参数与形参 命名不同 二、实体参数2.1 简单实体对象2.2 复杂实体对象 三、数组集合参数3.1 数组3.2 集合 RequestParam 四、日期参数 DateTimeFormat五、JSON参数 RequestBody六、路径参数 Pat…

202006A卷青少年软件编程(Scratch)等级考试试卷(三级)

第1题:【 单选题】 执行以下脚本后舞台上的角色将 ?( ) A:先克隆自身,克隆体出现后被删除 B:先克隆自身,克隆体出现后删除本体 C:克隆出自身后本体与克隆体同时被删除 D:克隆出自身后本体与克隆体被不会被删除 【正确答案】: A 【试题解析】 : 第2题:【 单选题】…

linux——进程(1)

目录 一、概念 1.1、认识进程 1.2、进程描述符&#xff08;PCB&#xff09; 1.3、进程的结构体&#xff08;task_struct&#xff09; 二、查看进程 三、获取进程的Pid和PPid 3.1、通过系统调用获取进程的PID和PPID 四、创建进程 4.1、fork() 4.2、用if进行分流 五、…

【鸿蒙HarmonyOS开发笔记】状态管理入门

状态管理 为了方便开发者管理组件状态&#xff0c;ArkTS 提供了一系列状态相关的装饰器&#xff0c;例如State&#xff0c;Prop&#xff0c;Link&#xff0c;Provide和Consume等等。 State State用于装饰当前组件的状态变量&#xff0c;State装饰的变量发生变化时会驱动当前组…

Java数据结构二叉树练习

1.检查两棵二叉树是否都是相同的练习 我要求时间复杂度为1&#xff0c;所以我们不用前序中序后序是否都一样来进行判断 如何判断二叉树是否都是相同的子问题方式 先判断根节点是否相同 再判断左子树和右子树是否都是相同的 先用代码判断不相同的情况&#xff0c;都相同的化…

安装使用sqlite

在SQLite 下载页面中下载Windows的预编译的二进制文件 下载sqlite-tools-win32-*.zip和sqlite-dll-win32-*.zip压缩文件 解压下载的两个压缩文件&#xff0c;创建一个sqlite文件夹&#xff0c;把解压的文件放到sqlite的文件夹中&#xff0c;把创建的sqlite文件夹添加到环境变量…

J.砍树【蓝桥杯】树上差分+LCA

树上差分 多次对树上的一些路径做加法操作&#xff0c;然后询问某个点或某条边经过操作后的值&#xff0c;就要考虑树上差分了。 点差分 模拟这个过程 对x到y路径上的点权值均1&#xff0c;可以等价成对x和y的权值加1&#xff0c;对lca的权值-1&#xff0c;对fa[lca]的权值-…

odoo17开发教程(6):用户界面UI的交互-创建Action

前面的文章中我们已经创建了新模型及其相应的访问权限&#xff0c;是时候与用户界面进行交互了。 数据文件&#xff08;XML&#xff09; 在上一篇文章中&#xff0c;我们通过 CSV 文件添加数据。当要加载的数据格式简单时&#xff0c;CSV 格式很方便。当格式比较复杂时&#x…

【前端Vue】Vue3+Pinia小兔鲜电商项目第1篇:认识Vue3,1. Vue3组合式API体验【附代码文档】

全套笔记资料代码移步&#xff1a; 前往gitee仓库查看 感兴趣的小伙伴可以自取哦&#xff0c;欢迎大家点赞转发~ 全套教程部分目录&#xff1a; 部分文件图片&#xff1a; 认识Vue3 1. Vue3组合式API体验 通过 Counter 案例 体验Vue3新引入的组合式API vue <script> ex…

【MySQL】DQL

文章目录 一、基本语法二、基本查询&#xff08;不带任何条件&#xff09;2.1 查询多个字段2.2 字段设置别名 AS2.3 去除重复记录 DISTINCT2.4 案例 三、条件查询&#xff08;WHERE&#xff09;3.1 语法3.2 条件3.3 案例 四、聚合函数&#xff08;count、max、min、avg、sum&am…

Linux——开发工具yum与vim

Linux——开发工具yum与vim 文章目录 Linux——开发工具yum与vim一、Linux 软件包管理器-yum1.1 什么是软件包1.2 yum的使用 二、linux下的编辑器-vim2.1 vim的基本概念2.2 vim的基本操作插入模式下的基本命令底行模式下的基本指令 2.3 vim的配置 一、Linux 软件包管理器-yum …

[数据集][目标检测]铝片表面工业缺陷检测数据集VOC+YOLO格式400张4类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;400 标注数量(xml文件个数)&#xff1a;400 标注数量(txt文件个数)&#xff1a;400 标注类别…