http://blog.csdn.net/bytxl/article/details/50436875

版权声明:本文为博主原创文章,未经博主允许不得转载。

目录(?)[+]

GOP(Group of Pictures)

策略影响编码质量:所谓GOP,意思是画面组,一个GOP就是一组连续的画面。MPEG编码将画面(即帧)分为I、P、B三种,I是内部编码帧,P是前向预测帧,B是双向内插帧。简单地讲,I帧是一个完整的画面,而P帧和B帧记录的是相对于I帧的变化。没有I帧,P帧和B帧就无法解码,这就是MPEG格式难以精确剪辑的原因,也是我们之所以要微调头和尾的原因。GOP 越长,B 帧所占比例更高,编码的率失真性能越高。

In Video coding, a group of pictures specifies the order in which intra- and inter-frames are arranged.

The GOP is a group of successive pictures within a coded video stream.

Each coded video stream consists of successive GOPs.

From the pictures contained in it, the visible frames are generated.

A GOP can contain the following picture types:

§ I-picture or I-frame (intra coded picture) - reference picture,

which represents a fixed image and which is independent of other picture types.

Each GOP begins with this type of picture.

§ P-picture or P-frame (predictive coded picture) - contains motion-compensated difference

information from the preceding I- or P-frame.

§ B-picture or B-frame (bidirectionally predictive coded picture) - contains difference information

from the preceding and following I- or P-frame within a GOP.

§ D-picture or D-frame (DC direct coded picture) - serves the fast advance.

A GOP always begins with an I-frame. Afterwards several P-frames follow, in each case with

some frames distance. In the remaining gaps are B-frames. A few video codecs allow for more than

one I-frame in a GOP.

The I-frames contain the full image and do not require any additional information to reconstruct it.

Therefore any errors within the GOP structure are corrected by the next I-frame.

B-frames within a GOP only propagate errors in H.264, where B-frames can be referenced by other pictures in order to increase compression efficiency.

The more I-frames the video stream has, the more editable it is. However, having more I-frames increases the stream size. In order to save bandwidth and disk space, videos

prepared for internet broadcast often have only one I-frame per GOP.

The GOP structure is often referred by two numbers, for example M=3, N=12. The first one

tells the distance between two anchor frames (I or P). The second one tells the distance

between two full images (I-frames): it is the GOP length <就是说GOP长度是两个I帧的距离>.

For the example M=3 N=12, the GOP structure is IBBPBBPBBPBBI.

QP <quantization parameter> 量化参数

Wikipedia上居然没有对这个做一个解释,至少现在还木有。只好查了别的资料,解释如下:

H.264编解码器中,量化参数QP和量化步长Qstep的关系:

量化步长Qstep共有52个值。(对于亮度编码而言)

量化参数QP是量化步长Qstep的序号,取值0~51。

QP取最小值0 时,表示量化最精细;相反,QP取最大值51时,表示量化是最粗糙的。

Qstep随着QP的增加而增加,QP每增加6,Qstep增加一倍。

对于色度编码,QP的最大值是39。

在深度视频实验里我用的QP分别是22,27,32,37;结果可见22的最清晰,37的最模糊。

Bit Rate 码率

In telecommunications and computing, bitrate (sometimes written bit rate, data rate or as a variable R[1])

is the number of bits that are conveyed or processed per unit of time.

码率就是数据传输时单位时间传送的数据位数,一般我们用的单位是kbps即千位每秒。 通俗一点的理解就是取样率,单位时间内取样率越大,精度就越高,处理出来的文件就越接近原始文件,也就是说画面的细节就越丰富,但压缩率也就越小。 

码流 x 时间 = 总容量

Multimedia encoding

In digital multimedia, bit rate often refers to the number of bits used per unit of playback time to

represent a continuous medium such as audio or video aftersource coding (data compression).

The encoding bit rate of a multimedia file is the size of a multimedia file in bytes divided by the

playback time of the recording (in seconds), multiplied by eight.

For realtime streaming multimedia, the encoding bit rate is the goodput that is required to avoid interrupt:

Encoding bit rate = Required goodput

The term average bitrate is used in case of variable bitrate multimedia source coding schemes. In this context,

the peak bit rate is the maximum number of bits required for any short-term block of compressed data.[12]

A theoretical lower bound for the encoding bit rate for lossless data compression is the source information rate,

also known as the entropy rate.(熵率)

Entropy rate ≤ Multimedia bit rate

PSNR  Peak signal-to-noise ratio

The phrase peak signal-to-noise ratio, often abbreviated PSNR, is an engineering term

for the ratio between the maximum possible power of a signal and the power of

corrupting noise that affects the fidelity(保真度) of its representation.

Because many signals have a very wide dynamic range, PSNR is usually expressed

in terms of the logarithmic decibel scale.

The PSNR is most commonly used as a measure of quality of reconstruction of

lossy compression codecs (e.g., for image compression). The signal in this case

is the original data, and the noise is the error introduced by compression.

When comparing compression codecs it is used as an approximation to human perception of

reconstruction quality, therefore in some cases one reconstruction may appear

to be closer to the original than another, even though it has a lower PSNR

(a higher PSNR would normally indicate that the reconstruction is of higher quality).

One has to be extremely careful with the range of validity of this metric;

it is only conclusively valid when it is used to compare results from the same codec

(or codec type) and same content.

PSNR值越大,就代表失真越少。 

熵编码

熵编码即编码过程中按熵原理不丢失任何信息的编码。信息熵为信源的平均信息量(不确定性的度量)。常见的熵编码有:香农(Shannon)编码、哈夫曼(Huffman)编码和算术编码(arithmetic coding)。在视频编码中,熵编码把一系列用来表示视频序列的元素符号转变为一个用来传输或是存储的压缩码流。输入的符号可能包括量化后的变换系数,运动向量,头信息(宏块头,图象头,序列的头等)以及附加信息(对于正确解码来说重要的标记位信息)。

SODB

SODB是String of Data Bits,最原始的编码数据,没有任何附加数据。

RBSP

RBSP是原始字节序列载荷:Raw Byte Sequence Payload,在SODB的后面填加了结尾比特(RBSP trailing bits 一个bit“1”和若干比特“0”),以便字节对齐。

EBSP

EBSP是Encapsulation Byte Sequence Packets,在RBSP基础上填加了仿校验字节(0X03),它的原因是: 在NALU加到Annexb上时,需要添加每组NALU之前的开始码StartCodePrefix,如果该NALU对应的slice为一帧的开始则用4字节表示(0x00000001),否则用3字节表示(0x000001)。为了使NALU主体中不包括与开始码相冲突的连续字节码,在编码时,每遇到两个字节连续为0,就插入一个字节的0x03。解码时将0x03去掉。也称为脱壳操作。即:

在对整帧图像的数据比特串(SODB)添加原始字节序列载荷(RBSP)结尾比特(RBSP trailing bits,添加一比特的“1”和若干比特“0”,以便字节对齐)后,再检查RBSP 中是否存在连续的三字节“00000000 00000000 000000xx”;若存在这种连续的三字节码,则在第三字节前插入一字节的“0x03”,以免与起始码竞争,形成EBSP码流。这需要将近两倍的整帧图像码流大小。为了减小存储器需求,在每个宏块编码结束后即检查该宏块SODB中的起始码竞争问题,并保留SODB最后两字节的零字节个数,以便与下一宏块的SODB的开始字节形成连续的起始码竞争检测;对一帧图像的最后一个宏块,先添加结尾停止比特,再检测起始码竞争。

NAL(Network Abstraction Layer)基本上可分两种:1,以有序字节流方式传送的针对 H.320的NAL;2,针对IP网络的RTP打包方式的NAL。

NAL作用:specified to format that  data and provide header information in a manner appropriate for conveyance on  a variety of communication channels or storage media.

        NAL的处理过程基本上分为两步: 

1,将VCL层输出的SODB封装成nal_unit.   Nal_unit是一个通用封装格式,可以适用于有序字节流方式和IP包交换方式。

2,针对不同的传送网络 (电路交换|包交换),将nal_unit 封装成针对不同网络的封装格式。

第一步的具体过程: VCL层输出的比特流SODB(String Of Data Bits)到nal_unit之间,经过了以下三步处理:

1,SODB字节对齐处理后封装成RBSP(Raw Byte Sequence Payload)。

2,为防止RBSP的字节流与有序字节流传送方式下的SCP(start_code_prefix_one_3bytes ,0x000001)出现字节竞争情形,循环检测RBSP前三个字节,在出现字节竞争时在第三字 节前加入emulation_prevention_three_byte (0x03),具体方法:

nal_unit(  NumBytesInNALunit ) 

    forbidden_zero_bit 
    nal_ref_idc 
    nal_unit_type  
    NumBytesInRBSP = 0 
    for( i = 1; i < NumBytesInNALunit; i++ ) 
    { 
        if( i + 2 <  NumBytesInNALunit && next_bits( 24 ) = = 0x000003 ) 
        { 
            rbsp_byte[NumBytesInRBSP++ ] 
            rbsp_byte[ NumBytesInRBSP++ ] 
            i += 2 
            emulation_prevention_t 
            hree_byte /* equal to 0x03 */ 
        } 
        else 
            rbsp_byte[ NumBytesInRBSP++ ] 
    } 
}

3,防字节竞争处理后的RBSP再加一个字节的header(forbidden_zero_bit+  nal_ref_idc+ nal_unit_type),封装成nal_unit。

第二步的具体过程:

case1:有序字节流的封装 
    byte_stream_nal_unit(NumBytesInNALunit) 
    {
        while (next_bits(24) != 0x000001) 
            zero_byte /* equal  to 0x00 */ 
        if (more_data_in_byte_stream()) 
        {
            start_code_prefix_one_3bytes
            /* equal to 0x000001 */ nal_unit(NumBytesInNALunit)
        }
    }    
Case2:
    IP网络的RTP打包封装。

H.264其它术语缩写

RDO, Rate Distortion Optimization, 率失真优化
QP, Quantization Parameter, 量化参数
RC, Rate Control, 码率控制
ABR, Average BitsRate, 平均码率
VBV, Video Buffer Verify(or Verifier), 视频缓冲验证(或验证器)
FMO :Flexable Macroblock Ordering ,灵活的宏块排序,就是各个宏块和slicegroup的对应关系.
SH:Slice Header.
EC, Error Concealment, 误码掩盖
ASO                 任意条带顺序,条带编码可以不是光栅扫描顺序
BAB                 二值Alpha块,用于标示区域的边界
BAP                 身体动画参数
块                  做变换的宏块区域 8x8 4x4
块匹配                 矩形图象区域上的运动估计
块效应                 图象的方块或矩形失真区域
B帧                双向运动补偿预测的编码图像(条带)
CABAC                基于上下文的自适应二值算数编码
CAE                基于上下文的算数编码
CAVLC                基于上下文的自适应变长编码
色度                色彩差异分量
CIF                通用中间格式,一种彩色图像格式 352 x 288
色彩空间        表示彩色图像的方法
DCT                离散余弦变换
直接预测        一种编码模式,此模式中不传输运动适量
DPCM                差分脉冲编码调制
DSCQS                双激励连续质量等级,主管质量衡量的等级和方法
DWT                离散小波变换
熵编码                降低冗余的编码方法
错误隐藏        编码图像的后处理,以消除或减小可见的错误效应
Exp-Colomb        指数哥伦布变长编码
FAP                脸部动画参数
FBA                脸部和身体动画
FGS                精细颗粒分级
场                隔行视频序列的偶数行或奇数行
流程图                变换算法的图示表示
FMO                灵活的宏块顺序,宏块的编码顺序可以不是光栅扫描顺序
完全搜索        一种运动估计算法
GMC                全局运动补偿,用于整个编码对象
GOP                图像组,编码视频图像的集合
哈夫曼编码        降低冗余的编码方法
HVS                人体视觉系统,用来官场和解释视频图像的系统
混合                以涌动补偿和变换为特征的编解码器
IEC                国际电工委员会,一个标准体;
帧间编码        使用时间预测和补偿的视频帧编码
隔行扫描        表示为一系列场的视频数据
帧内编码        不使用时间预测的视频帧编码
ISO                国际标准化组织
ITU                国际电信联盟
JPEG                联合图像专家组,ISO的委员会
JPEG2000        一种编码标准
延迟                通过通信系统的延迟
级别                符合一定特性的参数集合(适用于档次)
环内滤波器        编码或解码反馈环路里的空间滤波器
宏块                帧编码的单元
宏块分块        有自己的运动适量的宏块子区域
宏块子分块        有自己的运动适量的宏块子区域
媒体处理器        具有媒体编码和处理特性的处理器
运动补偿        视频帧预测的运动模型
运动估计        两个或多个视频帧之间的相对运动估计
运动适量        用于运动补偿的指示位移块或区域的适量
NAL                网络提取层
主观质量        衡量算法的视频图像视觉质量
OBMC                重叠块运动补偿
图像                编码的视频帧
P帧                使用参考帧作豫补偿预测的编码图像
档次                视频编解码器的工具集
逐行扫描        由完整帧的序列来表示视频数据
PSNR                峰值信噪比,一种客观质量的量度方法
QCIF                四分之一通用中间格式 176 x 144
量化                降低标量或矢量地精度
码率控制        编码视频信号的比特率的控制
码率失真        编解码器性能的量度
RBSP                原始字节序列载荷
RGB                红/绿/蓝色彩空间
环状效应        解码图像中尖锐边缘周围的"波纹"装痕迹
RTP                实时传输协议
RVLC                可逆变长编码
分级编码        把信号编码成若干层
SI条带                用于在编码的比特流之间切换的帧内条带
条带                编码图像的一个区域
SNHC                合成的图像,自然的图像混合编码
SP条带                用于在编码的比特流之间切换的帧间条带
Sprite                可以包含在一系列解码帧中的纹理区域
统计冗余        由数据的统计分布引起的冗余
演播室质量        无损或接近无损的视频质量
主观质量        由人的眼睛感觉到的视频质量
主管冗余        由主管上不重要的数据带来的冗余
半像素(运动补偿)        整数像素位插值形成的参考区域的运动补偿预测
测试模型        描述视频编码标准的参考实现的软件模型和文档
纹理                图像或残差数据
树结构运动补偿        以分块尺寸的灵活可变为特征的运动补偿
TSS                三步搜索法,一种运动估计算法
VCEG                视频编码专家组
VCL                视频编码层
视频包                合适打包的编码单元
VLC                变长码
VLD                变长解码器
VLE                变长编码器
VLSI                超级大规模集成电路
VO                视频对象
VOP                视频对象面
VQEG                视频质量专家组
加权预测        来自两个参考区域的预测点做尺度变换的运动补偿
YCbCr                亮度,蓝色度,红色度的色彩空间
YUV                一个色彩空间

参考文档:

http://blog.csdn.net/abcjennifer/article/details/6593705

http://blog.chinaunix.net/uid-17053077-id-1987956.html

http://blog.chinaunix.net/uid-17053077-id-1987957.html

http://blog.163.com/zhaijiong@126/blog/static/11174277620112892317148/

http://wenku.baidu.com/link?url=JijeZhwq84IFY6xJeg_Ohg2hEeAB-zKtCfrPJHu58qnf925zBxsEql3ong0UlUE7UtnBwmWizHkQ1nmEYQ-q6kwd8By5G-PKMiaII2Mie2a

转载于:https://www.cnblogs.com/stnlcd/p/7266621.html

视频编码名词参数解释——非常全面详细相关推荐

  1. 视频编码,各种参数~sps ,pps ,nalu ,frame ,silce ect....

    H.264中NAL.Slice与frame意思及相互关系 NAL nal_unit_type中的1(非IDR图像的编码条带).2(编码条带数据分割块A).3(编码条带数据分割块B).4(编码条带数据分 ...

  2. iOS音视频开发八:视频编码,H.264 和 H.265 都支持

    我们将通过拆解采集 → 编码 → 封装 → 解封装 → 解码 → 渲染流程并实现 Demo 来向大家介绍如何在 iOS/Android 平台上手音视频开发. 这里是第八篇:iOS 视频编码 Demo. ...

  3. 【视频相关】视频中常出现的参数解释——2018年6月16日

    视频中常出现的参数解释 [帧 Frame] 帧速率(FPS,frame per second 帧率):每秒钟出现的帧数 由胶片概念的产生而出现,把静态的连续画面进行播放以达到动态影像需要每秒出现8格, ...

  4. sklearn之pipeline:sklearn.pipeline函数使用及其参数解释之详细攻略

    sklearn之pipeline:sklearn.pipeline函数使用及其参数解释之详细攻略 目录 sklearn.pipeline函数使用及其参数解释 sklearn.pipeline函数使用及 ...

  5. 什么是HEVC?解释了高效视频编码,H.265和4K压缩

    什么是HEVC?解释了高效视频编码,H.265和4K压缩 高效视频编码(HEVC),也称为H.265,可以通过蓝光最佳视频压缩方法实现两倍的压缩.但它是如何工作的,是否足以让我们看到更好看的4K内容? ...

  6. 微软工程师详细介绍了Windows 11原生DX12视频编码API

    导读 作为一套 Windows 平台上的多媒体解决方案,DirectX 12 在游戏和视频领域颇有建树.此前,微软已经提供了用于 GPU 加速的视频解码处理.以及运动估算的应用程序接口.而在近日的一篇 ...

  7. 3dmax:3dmax三维VR渲染设置之高级灯光渲染(自然光照明+人工光照明+灯光属性讲解、灯光渲染参数解释、不布光顺序)图文教程之详细攻略

    3dmax:3dmax三维VR渲染设置之高级灯光渲染(自然光照明+人工光照明+灯光属性讲解.灯光渲染参数解释.不布光顺序)图文教程之详细攻略 目录 3dmax三维VR渲染设置之高级灯光渲染(打光顺序. ...

  8. 传奇身上装备升级系列脚本,以及UPGRADEITEMEX 脚本的详细参数解释

    UPGRADEITEMEX 脚本的详细参数解释如下: UPGRADEITEMEX 物品位置(0-12) 属性位置(0-14) 成功机率(0-100) 点数机率(0-255) 是否破碎(0,1) 物品位 ...

  9. 新一代视频编码标准:VVC、AVS3

    本文来自北京大学信息科学技术学院教授马思伟在LiveVideoStackCon 2018大会上的演讲,详细介绍了最新一代VVC和AVS3视频编码标准进展,包括关键技术特色以及未来的应用展望. 文 / ...

最新文章

  1. 33 个 JavaScript 核心概念系列(三): 显式 (名义) 与 隐式 (鸭子)类型转换
  2. 封装js千分位加逗号和删除逗号
  3. android json字符串转成json对象_在PHP中处理JSON数组以及对象
  4. pack unpack 用法 转载
  5. 手动配置 hibernate 项目
  6. 汉字转拼音(同音异形)-工具
  7. 联网时浏览器跳出MSN中国网页
  8. acfun json 弹幕 转换 bilibili xml 弹幕
  9. 爬虫项目十三:用Python两分钟爬下微信公众号900篇文章
  10. win10 企业版LTSC 激活方式
  11. 基于单片机at89s52的频率计设计c语言程序,基于AT89S52单片机电子万年历设计(附程序,电路原理图)...
  12. 全国行政区划代码到行政村_行政任务
  13. InnoDB中的数据库索引
  14. NYOJ-57-6174问题-2013年6月29日11:58:06
  15. 魔方解法 -- Rubic cube
  16. 范蠡传(司马迁-史记)
  17. 1.软件工程—数据流图
  18. 航运大数据——机遇和挑战
  19. 全国城市API(精确到县级)JSON数据
  20. 如何高效录制教学视频?

热门文章

  1. 高cpu_实用脚本:检查高 CPU / 内存消耗进程 | Linux 中国
  2. matlab txt写入excel,怎么把matlab的GUI文本编辑器中的数据存入EXCEl
  3. linux访问网页元素,Linux_DOM和JAVASCRIPT访问页面上的元素,访问方法:getElementById() - phpStudy...
  4. 企业网络推广中用户行为到底能为企业网络推广带来多少影响?
  5. 网络营销专员表示网络营销中设置不当会影响蜘蛛爬虫对网站抓取
  6. 网站站内优化新方案,SEO运营人员值得一看
  7. 用计算机测出你真实的年龄,一款神奇的App:能够测出你的真实年龄
  8. leetcode 136. Single Number
  9. Google回归中国对SEO们意味着什么
  10. Shiro 使用 JWT Token 配置类参考