h.264学习(五)----基础概念和流程学习
来源:互联网 发布:淘宝 指定商品包邮 编辑:程序博客网 时间:2024/05/16 18:30
我们将一场(交替的视频)或一帧(逐行或交替的视频)视频编码产生的内容称为编码的图像。
编码的帧有一个与解码次序无关的帧号(位流的标记),逐行或交替帧的每个编码场与图片次序有关的计数有关,这个计数用于确定场的解码次序,以前编码的图像(称为参考图像)可以进一步用于编码图像的帧间预测。参考图片被组织成一个活两个列表(用数组对应参考图像),描述为list0和list1。
由一组宏块组成一个编码的图像,每个宏块由16*16的亮度块和相应的色度块(色度快8*8Cb和8*8Cr)组成。
h.264的档次与级别
基本档次:支持帧内编码和帧间编码(使用I条带和P条带)及自适应上下文变长的编码(CAVLC)的熵编码, 应用与可视电话、视频会议和无线通信;
主要档次:支持交替视频,使用B条带的帧间编码,使用加权预测的帧间编码,使用基于上下文的算数编码(CABAC)的熵编码,应用于电视广播和视频存储;
扩展档次:不支持交替视频或CABAC熵编码,但增加了一种模式允许有效的交换编码的位流,即SI、SP帧,并改进了错误恢复机制(采用数据分割),应用在流媒体流域;
数据格式:
编码的H.264视频序列由一系列NAL单元组成。每个NAL单元包含一个RBSP,编码的条带(包括数据分区条带和IDR条带)和一个视频序列结束标志。
RBSB:Raw Byte Sequence Payload.
每个RBSB单元类型包含序列参数集、SEI、图像参数集、I条带、图像界定、P条带;
IDR(Instantancons Decoding Refresh)
编码器 发送一个瞬时解码更新(IDR)的编码图像(由I条带和SI条带组成)来清除参考图像缓存器中的内容。一旦接受到一个IDR编码图像,解码器就把参考缓冲器中的所有图像标记为不用作参考图像。所有随后传输的条带不必参考IDR之前的解码图像就可以被解码。对此,任何编码视频序列的第一帧总是IDR图像。
H.264支持编码和解码4:2:0的逐行和交替的视频格式。
由一个或多个条带来组织一幅编码的视频图像,在一幅图像中(每个图像最少一个条带)的每个条带所包含的的宏块数目从一到总的宏块数的一个整数。
在一幅图像内的每个条带的宏块数目是不固定的。
H.264条带模型
(1)I(帧内) (2)P(帧间) (3)B(双向) (4)SP(交换P) (5)SI(交换I)
一个宏块包含对应于视频帧的16*16(16*16亮度采样点,8*8Cb和8*8Cr采样点)采样区域的编码数据
- h.264学习(五)----基础概念和流程学习
- [C++][基础概念](五)继承的学习
- H.264学习(一)——帧和场的概念
- H.264学习(一)——帧和场的概念(zz)
- H.264学习(一)——帧和场的概念
- H.264学习(一)——帧和场的概念
- VB.Net学习笔记(基础概念和语法)
- VB.Net学习笔记(基础概念和语法)
- 前端知识学习(1) 基础概念和相关知识
- Java学习的基础概念和知识点
- 机器学习基础概念和名词
- Linux多线程基础学习(五)线程同步-同步概念、互斥锁
- 深度学习基础(五):循环神经网络概念、结构及原理实现
- XML学习基础(五)
- Java基础学习(五)
- python基础学习(五)
- Python基础学习(五)
- javascript基础学习(五)
- delphi ics中ftp的使用 请教?
- Android Camera架构浅析
- 分布式存储一致性理论和算法介绍
- mysql字段类型范围说明:int、bigint、smallint、tinyint,char、varchar、nvarchar
- 发现一个非常棒的mongdb的入门教程
- h.264学习(五)----基础概念和流程学习
- C# 文件操作全收录
- linux的目录配置
- JM18.4 MVC 报告二
- 在tomcat下直接访问Html报错,说找不到资源(404)
- php写日报功能追加
- html5的canvas写一个简单的画板程序
- Tlelechips 8925的时钟系统配置
- Oracle to_char格式化函数