H264编码

news2024/12/23 20:33:34

        H264是一种针对视频的压缩编码方式。

一、压缩方法

        H264主要基于以下几种方法,将数据进行压缩:

1.帧内预测压缩:解决空间域数据冗余的问题

2.帧间预测压缩:(运动估计与补偿)解决时间域数据冗余的问题

3.整数离散余弦变换(DCT):将空间上的相关性转换为频域上的无关性,然后量化

二、压缩后数据

        压缩后,H264文件由I帧B帧P帧GOP图像序列组成。

I帧关键帧,由帧内压缩得到

B帧双向预测帧,由帧间压缩得到,压缩时既考虑前面的帧,又考虑后边的帧

P帧前向预测帧,由帧间压缩得到,压缩时只考虑前面处理的帧

GOP图像序列:由一个关键帧(I 帧)和后续的若干预测帧(P 帧B 帧)组成

三、H264组成

        H264由网络提取层 + 视讯编码层这两层组成。

1.网络提取层(NAL):网络编码后产生的数据流。通过NAL的第一个字节可以判断帧的类型

2.视讯编码层(VCL):是一个过程的汇总,由数据通过压缩编码得到NAL的过程,称为VCL

四、码流结构

        视频数据序列被压缩后形成VCL数据,VCL数据要封装在NAL单元中才可以传输。

SPS:序列参数集,作用于一系列连续的编码图像

PSS:图像参数集,作用于编码视频序列中一个或多个独立图像

         上图中的NALU可以分为两种:VCL类型 和 非VCL类型

五、IDR帧

        IDR帧,一种特殊的I帧

一般由于B和P帧都需要参考前后帧进行压缩,因此缓冲区中总保存着前后帧的信息。当解码器接收到当前是IDR帧时,会清空当前缓冲区,找到第一个IDR帧,并重新解码。

        每一个GOP的第一个帧就是IDR帧。(当图像差异过大时,会出现IDR帧)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AD5270 AD5271 STM32 SPI驱动设计

硬件设计 AD5270 AD5271 简介:1024位、1%电阻容差误差、SPI接口和50-TP存储器数字变阻器。特性:单通道、1024/256位分辨率;标称电阻:20 kΩ,50 kΩ和100 kΩ;标称电阻容差误差:1%(最…

Android 11添加系统服务,并封装jar包供第三方应用使用

概述: 如果你是做技术支持,有没有遇到这种情况,客户既要实现具备系统权限的功能,但是呢,又不想把自己的应用做成系统应用。这时候你咋办。 我们可以添加一个具备系统权限的服务,不管前台的,还是…

原来这就是 布隆过滤器

1.布隆过滤器的引出 一个有趣的现象 不知道大家有没有发现这么一个现象,当我们在使用一些软件的时候,比如像 CSDN、这种具有推荐算法的应用,他并不会给我们推送我们已经浏览过的内容,这是怎么做到的呢? 说白了就是人…

【物理教学】高中物理速度时间练习

速度时间图像代码 这段代码是一个使用Python编写的脚本,它利用matplotlib库来绘制物理问题中的速度-时间图。代码的主要优点如下: 用户交互:代码通过input函数与用户进行交互,允许用户输入物理问题的参数,如初始速度…

钢结构厂房通风天窗使用场景探讨

钢结构厂房通风天窗作为现代建筑中高效通风的解决方案,广泛应用于多个领域,为各类建筑提供优质的室内环境。成都昱合昇带大家一起探讨通风天窗在不同使用场景下的表现。 1、工业厂房降温 工业厂房是通风天窗典型的应用场景之一。在高温季节或生产过程中产…

苏州科技大学商学院:加强生态保护,推动绿色发展

原标题:苏州科技大学商学院:加强生态保护,推动绿色发展,在美丽中国建设中贡献青春力量 建设美丽中国是全面建设社会主义现代化国家的重要目标,也是激励全国人民为实现中华民族伟大复兴中国梦而共同奋斗的伟大旗帜。中…

CSS3 文本效果(text-shadow,box-shadow,white-space等)文本溢出隐藏并且显示省略号

一 text-shadow text-shadow 属性是 CSS3 中用于为文本添加阴影效果的工具。它可以增强文本的可读性和视觉吸引力,提供丰富的视觉效果 1 语法 text-shadow: offset-x offset-y blur-radius color;offset-x:阴影相对于文本的水平偏移量。可以是正值&am…

STM32CUBEIDE FreeRTOS操作教程(四):timer软件定时器

STM32CUBEIDE FreeRTOS操作教程(四):timer软件定时器 STM32CUBE开发环境集成了STM32 HAL库进行FreeRTOS配置和开发的组件,不需要用户自己进行FreeRTOS的移植。这里介绍最简化的用户操作类应用教程。以STM32F401RCT6开发板为例&am…

18047 水仙花数

### 思路 1. 遍历所有的三位数(100到999)。 2. 对于每个数,提取其百位、十位和个位数字。 3. 计算这些数字的立方和。 4. 如果立方和等于原数,则该数是水仙花数,输出该数。 ### 伪代码 1. 遍历i从100到999&#xff1a…

HTTP中常用的4种请求方式——前端如何发送?后端怎么接受?

一.Get请求: 1.什么是Get请求? 2.前后端如何使用Get交互? 2.1.Query参数格式的Get请求 2.2.Path参数格式的Get请求 二.Post请求: 1.什么是Post请求? 2.前后端如何使用Post交互? 三.Put请求&#xf…

数据库操作与集成:使用Python与SQLite、MySQL、PostgreSQL等数据库

目录 引言 一、Python与SQLite的集成 1.1 SQLite简介 1.2 连接SQLite数据库 1.3 创建表 1.4 插入数据 1.5 查询数据 1.6 更新和删除数据 二、Python与MySQL的集成 2.1 MySQL简介 2.2 安装与配置 2.3 连接MySQL数据库 2.4 创建表与插入数据 2.5 查询、更新与删除数…

笔记:《利用Python进行数据分析》之apply的应用

这一节较难,十分灵活,可多花点时间 apply的简单应用 最通用的GroupBy方法是apply。 apply会将待处理的对象拆分成多个片段,然后对各片段调用传入的函数,最后尝试将各片段组合到一起。 回到之前那个小费数据集,假设你…

(四)vForm 动态表单自定义组件、属性

系列文章目录 (一)vForm 动态表单设计器之使用 (二)vForm 动态表单设计器之下拉、选择 (一)vForm 动态表单设计器之使用 文章目录 前言 一、自定义字段组件 1. 获得自定义组件json 2. 源码修改 二、自定义属性面板 1.属性面板文件 2.添加自定义属性 3.为字段组件添加属…

同事用10分钟给公司做了一套数据大屏,实力选手非他莫属!

数据可视化大屏是什么? 数据可视化大屏是一种将大量数据以图形、图表、地图等直观形式展示在大屏幕上。它通常被应用于企业的监控中心、会议室、展厅等场所,用于实时展示企业的关键业务指标、运营数据、市场趋势等信息。 今天给大家分享用JVS-智能BI如何…

DBdoctor快速纳管GBase 8a数据库

目录 如何快速纳管GBase 8a? 1.GBase 8a分析型数据库纳管部署架构 2.一分钟零依赖DBdoctor Server安装 3.快速纳管GBase 8a 重点说明: 针对GBase 8a,DBdoctor提供哪些功能服务? 1.SQL审核 2.深度巡检与报表 3.性能洞察 1&…

WebSocket通信学习笔记

1 简介 WebSocket是一种全双工通信协议,它允许客户端和服务器之间建立持久化的双向连接,从而在不频繁创建HTTP请求的情况下进行实时数据传输。与传统的HTTP协议相比,WebSocket更适合需要实时数据更新的应用场景,如聊天应用、实时…

架构师篇-23、工作坊实战应用架构

复习 ADM - 应用架构【AA】 案例实践 - 应用组件 - 核心模块 案例实践 - xx 项目应用关系 课程内应用架构

科研绘图系列:R语言PCoA图(PCoA plot)

介绍 PCoA(主坐标分析,Principal Coordinate Analysis)是一种多维数据的降维技术,它用于探索高维空间中样本之间的关系。PCoA通常用于生态学、遗传学和其他领域的数据分析,以揭示样本或个体之间的相似性或差异性。 PCoA图的作用: 数据降维:PCoA可以将高维数据(如物种…

18046 字母分类统计

### 思路 1. 读取输入的一行字符。 2. 初始化计数器:字母、数字、空格和其它字符的个数。 3. 遍历每个字符,根据其类型更新相应的计数器。 4. 输出计数结果,格式为:字母、数字、空格和其它字符的个数,中间以空格分隔。…

【2024-2025源码+文档+调试讲解】公开课管理系统

摘 要 随着互联网技术的迅猛发展,教育行业也逐渐迎来了一场全新的变革。在线教育平台的崛起为学习者提供了更加便捷灵活的学习方式,而公开课作为其中的一种形式,因其开放性和多样性而备受欢迎。然而,传统的公开课管理方式存在着…