MPEG1的码流层次与各层次的作用
1. 序列层(Sequence layer)
序列层主要用于为随机播放提供全局参数支持,这些参数包括图像宽高、像素高宽比、帧率、码率、VBV大小、帧内量化矩阵、帧间量化矩阵。
2. 图像组层(Group of pictures layer)
图像组层也是主要用于为随机播放、视频编辑、分数帧率提供支持,像直播类应用用户随时可能加入视频会话就要求尽可能短的时间内就可以将收到的码流用于解码渲染显示,这时就会有两个选择,要么选择比较短的序列(包括的图像组层要少,极端情况一下一个序列只 包括一个图像组),该方式会稍稍增大码流;要么图像组的closed_gop参数设为1从而向解码器表明某图像组的紧贴I帧后面的B帧不会参考该图像组前面的图像组中的I或P帧,这样能稍稍节省一些码率,同时也是该层存在的原因之一。
3. 图像层(Picture layer)
图像是主要的帧编码单元,以图像组为单位提供每帧的显示顺序编号,帧类型(I、P、B、D(属于帧内编码的一个类型,不过只编码直流系数,主要用于视频快速预览,只能包括于单独的图像序列,也就是说在包括D的图像序列中不能再包括其它帧类型))等信息。
4. 条带层(Slice layer)
条带是再重同步单元,主要用于误码时不至于全坏掉,主要参数是条带的第一个宏块在图像中的位置,第一个条件的位置值为0,位置值最大为175,对于存储类的可靠媒介,可以全部宏块共用一个条带,但对于直播类应用为了应对误码恢复,还是要跟据情况多分一些宏块为好,像MPEG2就会强制要求一个宏块行一个条带,虽然损失了少许灵活性,但是也可以看出标准制定者对直播或广播类应用从规范标准上给予的重视。
5. 宏块层(Macroblock layer)
宏块是运动估计与运动补偿的基本单位,主要提供宏块地扯号、运动信息等。
6. 子块层(Block layer)
子块是DCT、量化、编码的基本单元,编码采用变长游程编码量化后的残差信息,对于一个宏块来说,由于MPEG1只支持YUV 4:2:0色彩空间,所以有4个亮度子块,两个色度子块。
MPEG1的码流层次与各层次的作用的更多相关文章
- (转载)H.264码流的RTP封包说明
H.264的NALU,RTP封包说明(转自牛人) 2010-06-30 16:28 H.264 RTP payload 格式 H.264 视频 RTP 负载格式 1. 网络抽象层单元类型 (NALU) ...
- H.264分层结构与码流结构
H.264分层结构 H.264编码器输出的Bit流中,每个Bit都隶属于某个句法元素.句法元素被组织成有层次的结构,分别描述各个层次的信息. 在H.264 中,句法元素共被组织成 序列.图像.片.宏 ...
- 【知识点】H264, H265硬件编解码基础及码流分析
前言 音视频开发需要你懂得音视频中一些基本概念,针对编解码而言,我们必须提前懂得编解码器的一些特性,码流的结构,码流中一些重要信息如sps,pps,vps,start code以及基本的工作原理,而大 ...
- H264码流打包分析
转自:http://www.360doc.com/content/13/0124/08/9008018_262076786.shtml SODB 数据比特串-->最原始的编码数据 RBSP ...
- H264码流打包分析(精华)
H264码流打包分析 SODB 数据比特串-->最原始的编码数据 RBSP 原始字节序列载荷-->在SODB的后面填加了结尾比特(RBSP trailing bits 一个bit“1”)若 ...
- 关于对H264码流的PS的封装的相关代码实现
1.写在开始之前: 最近因为新工作要维护别人留下的GB模块代码,先熟悉了流程,然后也试着封装了下ps流,结果也能通过测试正常预览了,当然,其中开发读文档的头疼,预览花屏,卡帧的事情都有遇到,当时慢慢的 ...
- 从H264码流中获取视频宽高 (SPS帧) 升级篇
之前写过 <从H264码流中获取视频宽高 (SPS帧)> . 但发现很多局限性,而且有时解出来是错误的. 所以重新去研究了. 用了 官方提供的代码库来解析. 花了点时间,从代码库里单独把解 ...
- 从H264码流中获取视频宽高 (SPS帧)
获取.h264视频宽高的方法 花了2个通宵终于搞定.(后面附上完整代码) http://write.blog.csdn.net/postedit/7852406 图像的高和宽在H264的SPS帧中.在 ...
- 关于ES、PES、PS/TS 码流
一.基本概念 )ES ES--Elementary Streams (原始流)是直接从编码器出来的数据流,可以是编码过的视频数据流(H.264,MJPEG等),音频数据流(AAC),或其他编码 ...
随机推荐
- SSM
今天内容安排 1:复习mybatis 2:复习springMVC 3:springMVC+spring+mybatis组合起来,搭建一个web应用开发的框架 4:用户管理系统,针对用户的CRUD操作, ...
- Javaweb 第7天 Servlet课程
Servlet课程 三日大纲 ● 网络概念,专业术语 ● Tomcat使用,发布网站,使用Myeclispe发布网站(搭建环境) ● 编写Servlet,Servlet生命周期 ● 用户注册,显示所有 ...
- 使用JavaScript把页面上的表格导出为Excel文件
如果在页面上展示了一个数据表格,而用户想把这个表格导出为Excel文件,那么在要求不高的情况下,可以不通过服务器生成表格,而是直接利用JavaScript的Blob和Object URL特性将表格导出 ...
- scrapy 知乎的模拟登陆及抓取用户数据
最近看了python的scrapy 框架并用其抓取了部分知乎用户数据,代码主要是集中在知乎登陆和抓取时候的逻辑处理上. 1. 首先进入知乎登陆页面zhihu.com/#sigin上, 用xpath提取 ...
- php基本(四)表单验证
本文内容来自http://www.w3school.com.cn/php/php_form_url_email.asp PHP 表单验证 - 验证 E-mail 和 URL 本节展示如何验证名字.电邮 ...
- 串string (KMP)
1.Definition 串string,是零个或多个字符组成的有限序列.一般记作S="a1a2a3...an",其中S是串名,双引号括起来的字符序列是串值:ai(1<= i ...
- kettle在linux启动spoon.sh报错
org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed] at org.eclipse.swt.SWT.error ...
- centos 7上搭建HDP2.3集群
centos 7上安装 cat /etc/redhat-release
- 深入JVM锁机制1-synchronized
目前在Java中存在两种锁机制:synchronized和Lock,Lock接口及其实现类是JDK5增加的内容,其作者是大名鼎鼎的并发专家Doug Lea.本文并不比较synchronized与Loc ...
- HDU 3835 R(N)(枚举)
题目链接 Problem Description We know that some positive integer x can be expressed as x=A^2+B^2(A,B are ...