H264 编码标准常见术语解释

H264 编码标准

H.264编码标准,也被称作MPEG-4 AVC(Advanced Video Coding),是一种被广泛使用的数字视频压缩标准,由国际电信联盟(ITU-T)和国际标准化组织(ISO)共同开发。这个标准旨在提供比以往视频编解码技术更高的数据压缩率,同时保持或提升视频质量。

H.264的主要特点包括:

  • 高压缩率:H.264能够在保持高质量的视频输出的同时,显著减少所需的数据量。

  • 多种编解码工具:包括帧内预测、帧间预测、变换编码、量化和熵编码等。

  • 灵活性:支持多种分辨率和帧率,适用于不同的网络条件和应用场景。

  • 网络友好性:设计时考虑了网络传输,具有良好的网络亲和性。

  • 分层结构:H.264的码流结构分为视频编码层(VCL)和网络抽象层(NAL),其中VCL负责视频内容的核心压缩,NAL负责数据的封装和传输。

  • 错误恢复机制:提供了解决网络传输中丢包等问题的工具。

  • 可扩展性:通过使用不同的配置文件和级别,H.264可以适应不同的应用需求。

  • 广泛应用:适用于视频会议、流媒体、数字电视、视频点播等多种应用。

  • 多视图视频编码(MVC):H.264的一个扩展,支持3D视频编码。

  • 约束基线配置文件:专为资源受限的环境设计,如移动设备。

H.264的应用:

  • 视频流媒体服务:如YouTube、Netflix等。
  • 视频监控系统:提供高质量的实时视频传输。
  • 数字电视和广播:包括卫星电视和有线电视。
  • 视频会议系统:支持高质量的视频通信。
  • 移动设备:用于录制和播放视频。

H.264的局限性:

  • 尽管H.264是一个强大的标准,但它也有一些局限性,特别是在处理高分辨率视频时。随着4K和8K视频的普及,H.264的后继标准HEVC(H.265)被开发出来,以提供更高的压缩效率

H264编码标准框架

在这里插入图片描述

H264编码标准中常见术语

术语解释
帧frame 和 场field一帧包含一个亮度矩阵采样点和两个对应的色度矩阵采样点,一帧包含两个场,即顶场top field 和底场 bottom field
条带组 slice group图像中宏块或宏块对的子集
条带slice特定条带组内部按照光栅扫描顺序排列的整数个宏块或宏块对
宏块MB,macroblock一个16x16的亮度采样点和相应的两个色度采样点
I帧/P帧/B帧编码帧类型,I帧帧内参考,P帧单向参考,B帧双向参考
比特流bitstream码流,表示编码图像及其相关数据
语法元素syntax element比特流中表示数据的元素
图像picture场或帧的通称
图像序号POC,Picture Order Count一个变量,随着图像位置在输出顺序上的递增具有非递减的值,对解码非常有用
AC/DC系数DC为 频率索引均为0的变换系数,即一个系数矩阵中坐标为(0, 0)处的系数,其余都为AC系数
编码图像缓存区CPB,Coded Picture Buffer保存编码图像队列缓存区
解码图像缓存区DPB,Decoded Picture Buffer保存解码图像的队列缓存区
List0/List1List0为前向参考帧列表,List1为后向参考帧列表
跳过的宏块skiped marcroblock宏块类型,表明宏块除了以“跳过”方式解码外没有任何数据被编码的宏块
宏块位置宏块在图像中的二维位置,以(x,y)表示,图像中左上角位置的宏块,其位置(x,y)等于(0, 0)
运动估计运动估计是视频编码中的一项关键技术,特别是在基于块的混合编码框架中,如H.264/AVC标准。它利用视频序列中连续帧之间的时间冗余来进行压缩
运动矢量MV是一个二维向量,表示在连续两帧中,某个像素块从一帧移动到另一帧的位置变化
变换从像素域转到频域
量化一种减少数据量的重要技术,它通过减少表示图像或视频帧的数据的精度来实现压缩
CAVLC熵编码的一种,基于上下文的自适应可变长编码
CABAC熵编码的一种,基于上下文的自适应二进制算术编码
RDO,Rate Distortion Optimization率失真优化
FMO,flexible macroblock ordering灵活宏块重排
网络抽象层,NAL,Network Abstraction Layer一个语法结构,包含编码后续数据的类型指示和所包含的字节数,数据以RBSP形式出现
原始字节序列载荷,RBSP,Raw Byte Sequence Payload语法结构,包含整个封装于NAL单元中的字节
数据比特串,SODB,String of Data Bit表示语法元素的若干比特位的序列
图像参数集,PPS,picture parameter set语法结构,包含应用于0个或多个编码图像的语法元素
序列参数集,SPS,sequence parameter set语法结构,包含应用与0个或多个完整编码视频序列的语法元素
码率控制编码过程中码率控制方法
码率编码过程中每秒产生的比特数
帧率fps每秒的图像数量
GOP,Group of Pictures是视频流中一段连续的帧的集合,这些帧可以独立于视频流的其他部分进行解码
zigzag扫描在DCT之后,为了进一步压缩数据,变换后的系数通常会按照特定的模式重新排列,这种模式就是所谓的“zigzag扫描”或“zigzag排列”。Zigzag扫描的基本思想是将DCT系数按照从低频到高频的顺序重新组织,从而使得人类视觉系统不敏感的高频系数集中在一起,便于后续的量化和熵编码。
亚像素,Sub-pixel指小于一个像素单位的精度。在H.264/AVC等视频压缩标准中,亚像素技术用于提高运动估计和补偿的精度,从而提高编码效率和视频质量

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

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

相关文章

【蓝牙协议栈】【BLE】低功耗蓝牙工作流程(角色\广播\扫描\连接等专业名词介绍)

1. 精讲蓝牙协议栈(Bluetooth Stack):SPP/A2DP/AVRCP/HFP/PBAP/IAP2/HID/MAP/OPP/PAN/GATTC/GATTS/HOGP等协议理论 2. 欢迎大家关注和订阅,【精讲蓝牙协议栈】和【Android Bluetooth Stack】专栏会持续更新中.....敬请期待&#x…

谷歌搜索seo排名怎么做上去?

谷歌算法纵使千变万化,用户体验(UX)也始终是核心,用户体验包含很多,但核心就是让访问你网站的人觉得你的网站看着顺眼,同时轻松找到他们需要的信息或服务,这意味着你的网站得易于导航&#xff0…

命名空间:namespace

对于无名命名空间 :但是不能再次定义相同名称的变量 在同一文件中

Stable Diffusion WebUI 使用 LoRA 调整风格——详细教程

本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里,订阅后可阅读专栏内所有文章。 大家好,我是水滴~~ 本教程旨在深入探讨 LoRA 模型的奥秘,涵盖其基本概念、独特作用以及实操指南。我们将从下载和使用LoRA的步…

Laravel 6 - 第十五章 验证器

​ 文章目录 Laravel 6 - 第一章 简介 Laravel 6 - 第二章 项目搭建 Laravel 6 - 第三章 文件夹结构 Laravel 6 - 第四章 生命周期 Laravel 6 - 第五章 控制反转和依赖注入 Laravel 6 - 第六章 服务容器 Laravel 6 - 第七章 服务提供者 Laravel 6 - 第八章 门面 Laravel 6 - …

微信小程序实时日志使用,setFilterMsg用法

实时日志 背景 为帮助小程序开发者快捷地排查小程序漏洞、定位问题,我们推出了实时日志功能。开发者可通过提供的接口打印日志,日志汇聚并实时上报到小程序后台。开发者可从We分析“性能质量->实时日志->小程序日志”进入小程序端日志查询页面&am…

【八股】计算机网络篇

网络模型 应用层【HTTP👉报文/消息】 传输层【TCP或UDP👉段👉MSS】网络层【IP、寻址和路由👉MTU】 ①IP(Internet Protocol,网际协议)主要作用是定义数据包的格式、对数据包进行路由和寻址&…

【Linux-14】进程地址空间&虚拟空间&页表——原理&知识点详解

前言 大家好吖,欢迎来到 YY 滴 系列 ,热烈欢迎! 本章主要内容面向接触过Linux的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! YY的《C》专栏YY的《C11》专栏YY的《Lin…

STM32的GPIO输入和输出函数详解

系列文章目录 STM32单片机系列专栏 C语言术语和结构总结专栏 文章目录 1. GPIO模式 2. GPIO输出 2.1 RCC 2.2 GPIO 3. 代码示例 3.1 RCC时钟 3.2 GPIO初始化 3.3 GPIO输出函数 3.4 推挽输出和开漏输出 4. GPIO输入 4.1 输入模式 4.2 数据读取函数 5. C语言语法 1…

2024免费最好用的苹果电脑mac虚拟机工具Parallels Desktop19中文版下载

一、软件概述 Parallels Desktop是一款专为Mac设计的虚拟机软件,它允许用户在Mac上同时运行Windows、Linux等多个操作系统,而无需额外的硬件设备。通过Parallels Desktop,Mac用户可以轻松地在同一台电脑上体验不同操作系统的功能和应用程序。…

Burpsuite CA证书导入浏览器、导入本地

前言 为什么要导入证书,因为要获得浏览器的信任、本地的信任;才能抓包 导入浏览器 1.从bp导出证书 然后打开火狐浏览器 打开bp,设置好代理 火狐浏览器foxyproxy开启代理 访问https://www.baidu.com 可以抓到https的包 本地导入CA证书 可能某一天你要…

AIGC实战——基于Transformer实现音乐生成

AIGC实战——基于Transformer实现音乐生成 0. 前言1. 音乐生成的挑战2. MuseNet3. 音乐数据3.1 巴赫大提琴组曲数据集3.2 解析 MIDI 文件3.3 分词3.4 创建训练数据集 4. MuseNet 模型4.1 正弦位置编码4.2 多输入/输出 5. 音乐生成 Transformer 的分析6. 多声部音乐分词6.1 网格…

牛客NC195 二叉树的直径【simple DFS C++ / Java /Go/ PHP】

题目 题目链接: https://www.nowcoder.com/practice/15f977cedc5a4ffa8f03a3433d18650d 思路 最长路径有两种情况: 1.最长条路径经过根节点,那么只需要找出根节点的左右两棵子树的最大深度然后相加即可。 2.最长路径没有经过根节点&#xf…

JavaSE——常用API进阶二(8/8)-Arrays、Comparable、Comparator(Arrays类提供的的常见方法、用法示例)

目录 Arrays Arrays类提供的的常见方法 用法示例 Comparable、Comparator Comparable Comparator 本篇学习Arrays,不算作是重点知识,但是为学习后面的Lambda表达式打一个基础,或者说,作为铺垫。 Arrays 用来操作数组的一个…

初见-响应式编程-002

🤗 ApiHug {Postman|Swagger|Api...} 快↑ 准√ 省↓ GitHub - apihug/apihug.com: All abou the Apihug apihug.com: 有爱,有温度,有质量,有信任ApiHug - API design Copilot - IntelliJ IDEs Plugin | Marketplace #Reacti…

lnmp架构

目录 环境 步骤 下载nginx源码包,并解压 安装依赖包 进行预编译 、编译安装 安装php、设置开机自启 配置nginx让其支持php服务 浏览器测试 安装mariadb 部署discuz论坛 简介 LNMP架构是一种常见的Web服务器架构,由Linux、Nginx、MySQL和PHP组成。它…

高级数据结构—线段树(一)

学线段树的原因是因为cf的一道题目始终想不出来怎么优化,后来知道区间查询和修改要用到线段树。。。 原题:Iva & Pav 线段树的作用 区间最值查询:可以高效地找到给定区间内的最大值、最小值等。 区间和查询:可以高效地计算…

Leetcode算法训练日记 | day34

专题九 贪心算法 一、K次取反后最大化的数组和 1.题目 Leetcode:第 1005 题 给你一个整数数组 nums 和一个整数 k ,按以下方法修改该数组: 选择某个下标 i 并将 nums[i] 替换为 -nums[i] 。 重复这个过程恰好 k 次。可以多次选择同一个…

关于Spring事务管理之默认事务间调用问题

由事务的传播行为我们知道, 如果将方法配置为默认事务REQUIRED在执行过程中Spring会为其新启事务REQUIRES_NEW, 作为一个独立事务来执行. 由此存在一个问题。 如果使用不慎, 会引发org.springframework.transaction.UnexpectedRollbackException: Transaction rolled back bec…

ACE框架学习

目录 ACE库编译 ACE Reactor框架 ACE_Time_Value类 ACE_Event_Handler类 ACE定时器队列类 ACE_Reator类 ACE Reactor实现 ACE_Select_Reactor类 ACE_TP_Reactor类 ACE_WFMO_Reactor类 ACE库编译 首先去ACE官网下载安装包,通过vs2017或者2019进行编译&#x…