(课件)-H264码率控制简介

合集下载

H.264概述

H.264概述

原图数据
连续扫描
隔行扫描
H.264中的像条类型
I 像条:所有宏块不参考视频序列中的其 它图 像; P像条:部分宏块利用帧间预测,每块至多使 用一个运动补偿信号; B像条:部分宏块利用帧间预测,每块可使用 两个运动补偿信号; SP像条:能在不同编码图像之间有效地切换; SI像条:在不同位率编码码流之间进行有效切 换。
♦ 混合编码
自适应场/ 帧编码 BAFF MBAFF
♦无损的信息表示能力
PCM 采样宏块 无损变换
♦ 整数变换 ♦ 预测残留编码 ♦ 分级量化 ♦去块效应滤波器 ♦ 之字形扫描
♦ 熵编码 UVLC CAVLC CABAC ♦ 错误恢复 FMO灵活宏块排序 ASO任意像条排序 冗余图像等 ♦ SP 和SI 在不同流速,不同图像的码流间切 换 ♦ 支持多种色度空间模式(YCbCr 中的YCgCo, RGB等) ♦ 4:2:0, 4:2:2 和 4:4:4彩色取样格式
熵编码
CABAC算术编码使编码和解码两边都能 使用所有句法元素(变换系数、运动矢量)的概 率模型。为了提高算术编码的效率,通过内容 建模的过程,使基本概率模型能适应随视频帧 而改变的统计特性。内容建模提供了编码符号 的条件概率估计,利用合适的内容模型,存在 于符号间的相关性可以通过选择目前要编码符 号邻近的已编码符号的相应概率模型来去除, 不同的句法元素通常保持不同的模型。 与CAVLC相比,CABAC有更高的压缩效 果,同时其编码和解码的复杂度也更高。
整数变换
基于4×4像素块的类似于DCT的变换,以整数为基 础的空间变换。整数DCT变换减少运算量和复杂度。 对残差采用基于块的变换编码,但变换是整数操作 整数操作 而不是实数运算,优点在于:在编码器中和解码器中 允许精度相同的变换和反变换,便于使用简单的定点 运算方式,没有反变换误差 没有反变换误差。变换的单位是4×4块, 没有反变换误差 而不是以往常用的8×8块。为了使小尺寸块的变换方 式对图像中较大面积的平滑区域不产生块之间的灰度 差异,可对帧内宏块亮度数据的16个4×4块的DC系 数(每个小块一个,共16个)进行第二次4×4块的变 换,对色度数据的4个4×4块的DC系数(每个小块一 个,共4个)进行2×2块的变换。

H264编码技术

H264编码技术

H264编码技术一、H.264的制定过程和应用场合在制订完最初的H.263标准之后,ITU-T的视频编码专家组(VCEG)将开发工作分为两部分:一部分称之为“短期(short-term)”计划,目的是给H.263增加一些新的特性(这一计划开发出了H.263+和H.263++);另一部分被称为“长期(long-term)”计划,其最初的目标就是要制定出一个比当时其他的视频编码标准效率提高一倍的新标准。

这一计划在1997年开始,其成果就是作为H.264前身的H.26L(起初叫H.263L)。

在将近2001年底,由于H.26L优越的性能,ISO/IEC的MPEG专家组加入到VCEG中来,共同成立了联合视频小组(JVT),接管了H.26L的开发工作。

这个组织的目标是:“研究新的视频编码算法,其目标是在性能上要比以往制定的最好的标准提高很多。

”这一标准正式成为国际标准是2003年3月在泰国Pattaya举行的JVT第7次会议上通过的。

由于该标准是由两个不同的组织共同制定的,因此有两个不同的名称:在ITU-T中,它的名字叫H.264;而在ISO/IEC中,它被称为MPEG-4的第10部分,即高级视频编码(A VC)。

H.264的应用场合相当广泛,包括可视电话(固定或移动)、实时视频会议系统、视频监控系统、因特网视频传输以及多媒体信息存储等。

目前在国际上,加拿大的UB Video公司开发出了一套基于TMS320C64x系列的H.26L实时视频通信系统,它可以在160kbit/s 的码率下获得与H.263+在320kbit/s下相同的图像质量。

另一家加拿大的公司VideoLocus通过在系统中插入一块基于FPGA的硬件扩展卡,在P4平台上实现了H.264的实时编解码。

二、H.264的特点H.264在编码框架上还是沿用以往的MC-DCT结构,即运动补偿加变换编码的混合(hybrid)结构,因此它保留了一些先前标准的特点,如不受限制的运动矢量(unrestricted motion vectors),对运动矢量的中值预测(median prediction)等。

协议软件部培训PPT-H264视频编解码技术

协议软件部培训PPT-H264视频编解码技术
2021/7/14
培训内容
• 视频编码标准H.263 – 协议结构
H.263有效载荷头定义了三种格式(模式A、模式B和模式C)。在模式A 中,在实际压缩H.263视频比特流之前存在4字节的H.263有效载荷头。 这样允许在GOB边界有分段。在模式B中,使用的是8字节的H.263有效 载荷头,且每个数据包从MB边界开始,没有PB帧选项。最后,模式C中 使用的是12字节的H.263有效载荷头,采用PB帧选项支持在MB边界的帧 分段。
4:4:4 ,Y、Cb 和Cr 具有同样的水平和垂直清晰度,在每一像素位 置,都有Y,Cb 和Cr分量,即不论水平方向还是垂直方向,每4个亮 度像素相应的有4个Cb和4个Cr色度像素。
4:4:4
4:2:0
4:2:2
Y Cb Cr
2021/7/14
• 视频编码的相关术语
1. 场和帧 2. 片和宏块 3. 片组 4. 档次和级 5. SP和SI 6. SPS和PPS 7. 图像序列号(POC) 8. RBSP和SODB
协议软件部培训PPTH264视频编解码技术
2021年7月14日星期三
•目标 •重点 •培训内容 •参考资料
2021/7/14
目录
培训目标 1. 掌握视频信息和视频编码的相关概念 2. 理解H.264编解码器的工作原理和关键算法 3. 掌握主流的H.264开源编解码器的架构和实
现 4. 掌握H.264视频数据RTP传输封包格式
1988年,ISO/IEC信息技术联合委员会成立了活动图像专家 组(MPEG,Moving Picture Expert Group)。1991年 公布了MPEG-1视频编码标准,码率为1.5Mbps,主要 应用于家用VCD的视频压缩;1994年11月,公布了 MPEG-2标准,用于数字视频广播(DVB)、家用 DVD的视频压缩及高清晰度电视(HDTV)。

视频编码技术及H264标准精品PPT课件

视频编码技术及H264标准精品PPT课件

熵编码原理 算术编码的唯一性和效率
• 长度为n的序列的算术编码的平均码长为:
lA P (x)l x
P (x ) lo g
P
1 (x
)
1
P
(
x
)
lo
g
P
1 (x
)
1
1
P (x ) lo g P (x ) 2 P (x )
H X n 2 n H X 2
n H X lA n n H X 2 H X lA H X n 2
Zeroleft: 当前非零系数之前所有零的个数,初始值为TotalZeros
HR.2un6_b4eforCe:A游V程 LC 下面两种情况不需要编码: 最后一个非零系数(反Z方向)前零的个数 没有剩余的零可以编码,∑ Run_before=total_zeros
本例题中:0 3 0 1 -1 -1 0 1 0 0 0 。。。。。
HEVC视频编码标准之熵编码
——基于上下文的自适应二进制算术编码CABAC (Context-based Adapting Binary Arithmetic Coding)
郑明魁
数字电视智能化技术国家地方联合工程研究中心
熵编码基础
目前的视频编码标准主要通过去除空间冗余、时间冗余与编码冗余 来实现压缩。编码器将多种算法有效的结合起来达到较高的压缩性能 ,主要相关技术包括预测编码、变换编码、量化和熵编码技术。
熵编码原理
1.算术编码 Arithmetic Coding(二进制)
在编码过程中,输入数据流中 的信源符号被分为大概率符号 (MPS)和小概率符号(LPS)。
LPS的概率记为Q, MPS的概率记为P=1-Q
熵编码原理 算术编码的唯一性和效率

(课件)-H264码率控制简介

(课件)-H264码率控制简介

bpp u(n(0,0) ) / Fr N pixel
码率控制的经典步骤和公式
桢层码率控制
目标码率 Tbl(ni,
j1 )
Tbl(ni, j
)
Tbl(ni,2 ) Np 1
W~p (ni, j ) (L 1) u(ni, j ) Fr (W~p (ni, j ) W~b (ni, j ) L)
u(ni, Fr
j
)
~ f (ni, j
)
u(ni, j Fr
)
(Tbl(ni, j
)
Bc
(ni, j
))

(ni,
j
)
Wp
(ni,
j 1 )
Wp (ni, j1) Tr N p,r ( j 1) Wb
(ni, (ni,
j) j 1 )
Nb,r
(
j
1)
f
(ni, j
)
fˆ (ni, j
)
(1
)
关于H264码率控制的提案(三个阶段)
吴氏提案(JVT-O016)
继承JVT-G012的传统算法 充分挖掘图像序列的时空相关性 侧重点在RDO模型的改进上
码率控制的经典步骤和公式
流传输模型
Bc
(ni,
j 1 )
Bc
(ni,
j
)
b(ni,
j
)
u(ni, Fr
j
)
Bc (n1,1 ) 0
Bc (ni1,0 ) Bc (ni,N gop )
KLY3nYWD!!Z##RHX*UDHvkC y*t#% FKH(+ YsAxq1cQXj5j F&tToX(U(sn* 3n2xE93OLyB2(7XfH Is+MBKM17R kdgS04w-IKN NU xU &(EZSp$kc yT au2#Gk7O*3% 1oO3lJ nEd)6!$s-7HKtHbUR (Jc0rlhls$XTf9vCT$#hmn( yVYnZGCoZ3ABqxoyyIL&wT m*J y6!9RtauG*3daT- tJaHI+ ccuayuhcslf*Qfo1sS5l4QHnJImblAJzpK#W6!&GyG+OVDK8Qk7#ijQKEX%3a!s4n-7l 3Aj#H G-gzKKC2nx+ m*5dEx5vodvFd! -c0j-T mxG!tq9m5) HFlMg-5Tu2OL$R$h1-

H264标准详解

H264标准详解

H264标准详解H.264 标准详解JVT(Joint Video T eam,视频联合工作组)于2001 年12 月在泰国Pattaya 成立。

它由ITU-T和ISO 两个国际标准化组织的有关视频编码的专家联合组成。

JVT 的工作目标是制定一个新的视频编码标准,以实现视频的高压缩比、高图像质量、良好的网络适应性等目标。

目前JVT 的工作已被ITU-T 接纳,新的视频压缩编码标准称为H.264 标准,该标准也被ISO 接纳,称为A VC(Advanced Video Coding)标准,是MPEG-4 的第10 部分。

H.264 标准可分为三档:基本档次(其简单版本,应用面广);主要档次(采用了多项提高图像质量和增加压缩比的技术措施,可用于SDTV、HDTV 和DVD 等);扩展档次(可用于各种网络的视频流传输)。

H.264 不仅比H.263 和MPEG-4 节约了50%的码率,而且对网络传输具有更好的支持功能。

它引入了面向IP 包的编码机制,有利于网络中的分组传输,支持网络中视频的流媒体传输。

H.264 具有较强的抗误码特性,可适应丢包率高、干扰严重的无线信道中的视频传输。

H.264 支持不同网络资源下的分级编码传输,从而获得平稳的图像质量。

H.264 能适应于不同网络中的视频传输,网络亲和性好。

一、H.264 视频压缩系统H.264 标准压缩系统由视频编码层(VCL)和网络提取层(Network Abstraction Layer,NAL)两部分组成。

VCL 中包括VCL 编码器与VCL 解码器,主要功能是视频数据压缩编码和解码,它包括运动补偿、变换编码、熵编码等压缩单元。

NAL 则用于为VCL 提供一个与网络无关的统一接口,它负责对视频数据进行封装打包后使其在网络中传送,它采用统一的数据格式,包括单个字节的包头信息、多个字节的视频数据与组帧、逻辑信道信令、定时信息、序列结束信号等。

包头中包含存储标志和类型标志。

H264基础简介

H264基础简介

H264基础简介前⾔H264是属于视频的编码层的标准格式,视频编码显然是为了压缩⼤⼩。

我们看下⼀个完全没压缩的视频数据⼤⼩。

假设视频是⾼清(1280 * 720),每秒30帧,也就是每秒的数据1280 * 720 *30 / 8(字节) /1024(KB)/1024(MB) = 3.11MB那么90分钟的电影就要16.7GB,这个数据量显然在当前⽹络下是不现实的。

视频压缩的原理就是去除视频冗余部分,下⾯列举下1,时间冗余时间冗余是序列图像(电视图像、动画)和语⾳数据中所经常包含的冗余。

图像序列中的两幅相邻的图像,后⼀幅图像与前⼀幅图像之间有较⼤的相关性,这反映为时间冗余。

同理,在语⾔中,由于⼈在说话时发⾳的⾳频是⼀连续的渐变过程,⽽不是⼀个完全的在时间上独⽴的过程,因⽽存在时间冗余。

2,空间冗余空间冗余是图像数据中经常存在的⼀种冗余。

在同⼀幅图像中,规则物体和规则背景(所谓规则是指表⾯颜⾊分布是有序的⽽不是杂乱⽆章的)的表⾯物理特性具有相关性,这些相关性的光成像结构在数字化图像中就表现为数据冗余。

,3,知识冗余有许多图像的理解与某些基础知识有相当⼤的相关性,例如:⼈脸的图像有固定的结构。

⽐如,嘴的上⽅有⿐⼦。

⿐⼦的上⽅有眼睛,⿐⼦位于正脸图像的中线上等等。

这类规律性的结构可由先验知识相背景知识得到,我们称此类冗余为知识冗余。

4,结构冗余有些图像从⼤域上看存在着⾮常强的纹理结构,例如布纹图像和草席图像,我们说它们在结构上存在冗余。

5,视觉冗余⼈类视觉系统对于图像场的任何变化,并不是都能感知的。

例如,对于图像的编码和解码处理时,由于压缩或量⽐截断引⼊了噪声⽽使图像发⽣了⼀些变化,如果这些变化不能为视觉所感知,则仍认为图像⾜够好。

事实上⼈类视觉系统⼀般的分辨能⼒约为26灰度等级,⽽⼀般图像量化采⽤28灰度等级,这类冗余我们称为视觉冗余。

通常情况下,⼈类视觉系统对亮度变化敏感,⽽对⾊度的变化相对不敏感;在⾼亮度区,⼈眼对亮度变化敏感度下降。

H.264编码技术简介

H.264编码技术简介

H.264与
其他标准 的比较
3
4 H.264的关键技术
1.帧内预测编码 帧内编码用来缩减图像的空间冗余。为了 提高H.264帧内编码的效率,在给定帧中充分利 用相邻宏块的空间相关性,相邻的宏块通常含有 相似的属性。因此,在对一给定宏块编码时,首 先可以根据周围的宏块预测(典型的是根据左上 角宏块、左边宏块和上面宏块,因为此宏块已经 被编码处理),然后对预测值与实际值的差值进 行编码,这样,相对于直接对该帧编码而言,可 以大大减小码率。
六、H.264的总体优缺点(1)
VCEG和MPEG联合开发H.264标准带来的最大 好处பைடு நூலகம்是,有助于H.264在全球范围内的设备统一化, 推广起来更为简便。但是和此前的视频标准一样,为 了使得应用范围更广,H.264也还是通过等级区别和 类别算法对多种应用场景进行各自的协议支持。
六、H.264的总体优缺点(3)
关键技术
4
关键技术
4
2.帧间预测编码 帧间预测编码利用连续帧中的时间冗余来 进行运动估计和补偿。H.264的运动补偿支持以 往的视频编码标准中的大部分关键特性,而且灵 活地添加了更多的功能,除了支持P帧、B帧外, H.264还支持一种新的流间传送帧——SP帧,如 图3所示。码流中包含SP帧后,能在有类似内容 但有不同码率的码流之间快速切换,同时支持随 机接入和快速回放模式。图3 SP-帧示意图H.264 的运动估计有以下4个特性。
1.更高的编码效率 2.高质量的视频画面 3.提高网络适应能力 4.采用混合编码结构 5.H.264的编码选项较少 6.H.264可以应用在不同场合:H.264可以根据 不同的环境使用不同的传输和播放速率,并且提 供了丰富的错误处理工具,可以很好的控制或消 除丢包和误码。 7.错误恢复功能 8.较高的复杂度

H.264标准简介

H.264标准简介

.H.264标准简介摘要:众所周知,人类社会的三大支柱是:物质、信息和能量,而信息化的支柱就是信息。

作为传递信息的数字视频技术在通信和广播领域获得日益广泛的应用,特别是20世纪90年代以来,随着internet和移动通信的发展,视频信息和多媒体信息在通信领域的处理和传输技术成为了当前我国信息化的热点。

正文:随着HDTV的兴起,H.264这个规范频频出现在我们眼前,HD-DVD和蓝光DVD均计划采用这一标准进行节目制作。

而且自2005年下半年以来,无论是NVIDIA还是ATI都把支持H.264硬件解码加速作为自己最值得夸耀的视频技术。

H.264标准是在1997年由ITU的视频编码专家组(Video Coding Experts Group)提出时被称为H.26L,在ITU与ISO合作研究后被称为MPEG4 Part10(MPEG4 AVC)或H.264(JVT)。

一、H.264标准介绍H.264标准是一种高性能的视频编解码技术。

目前国际上制定视频编解码技术的组织有两个,一个是“国际电联(ITU-T)”,它制定的标准有H.261、H.263、H.263+等,另一个是“国际标准化组织(ISO)”它制定的标准有MPEG-1、MPEG-2、MPEG-4等。

而H.264则是由两个组织联合组建的联合视频组(JVT)共同制定的新数字视频编码标准,所以它既是ITU-T的H.264,又是ISO/IEC的MPEG-4高级视频编码(Advanced Video Coding,A VC),而且它将成为MPEG-4标准的第10部分。

因此,不论是MPEG-4 A VC、MPEG-4 Part 10,还是ISO/IEC 14496-10,都是指H.264。

H.264和以前的标准一样,也是DPCM加变换编码的混合编码模式。

但它采用“回归基本”的简洁设计,不用众多的选项,获得比H.263++好得多的压缩性能;加强了对各种信道的适应能力,采用“网络友好”的结构和语法,有利于对误码和丢包的处理;应用目标范围较宽,以满足不同速率、不同解析度以及不同传输(存储)场合的需求。

基于H.264的码率控制算法

基于H.264的码率控制算法

基于H.264的码率控制算法基于H.264的码率控制算法一、前言随着数字视频通信和视频编码技术的快速发展,H.264编码已成为目前最流行的视频编码标准之一。

为了实现高质量的视频传输和存储,码率控制算法被广泛应用于H.264编码中。

本文将重点探讨基于H.264的码率控制算法。

二、H.264编码简介H.264编码是一种视频压缩技术,通过减少冗余信息以及利用空间和时间相关性来达到数据压缩的目的。

H.264编码算法具有出色的画质表现和高压缩比。

然而,由于视频传输和存储资源有限,需要对视频流的码率进行控制以适应特定的需求。

三、码率控制算法1. 码率控制概述码率控制是指根据特定的应用需求,通过调整编码参数来控制视频编码的码率。

码率控制算法能够根据输入的视频源和目标码率生成合适的视频码流。

常见的码率控制算法包括恒定码率(CBR)、可变码率(VBR)和动态码率(DRC)。

2. CBR码率控制CBR码率控制算法固定每个视频帧的码率,将帧间码率均匀分配,保持恒定的传输速率。

这种算法适用于对传输延迟和网络带宽要求较高的应用,如实时视频通话等。

然而,CBR码率控制算法对于视频中的运动场景和细节丰富的部分可能会出现压缩失真。

3. VBR码率控制VBR码率控制算法根据视频内容的复杂程度动态调整每个视频帧的码率。

在静止或低运动的场景中,VBR算法会降低码率以减少冗余信息的传输,而在高运动的场景中会提高码率以保持画质。

VBR算法可以更好地适应视频内容的变化,但在网络带宽不稳定的情况下,可能会导致传输延迟或视频卡顿。

4. DRC码率控制DRC码率控制算法是基于H.264标准的一种动态码率控制方法,它通过监测编码器的缓冲区状态和网络的带宽情况来动态地调整码率。

当网络带宽较大时,DRC算法会增加码率以提高视频质量,而当网络带宽较小时,DRC算法会降低码率以保持视频的连续性。

DRC算法能够更好地适应网络环境的变化,提供更好的用户体验。

h.264演示文稿

h.264演示文稿
ZCTT
14
4.2.2 解码器
ZCTT
15
• 帧间预测解码步骤
– 由编码器NAL输出的压缩后比特流,经熵解码 得到量化后的一组变换系数X,再经反量化、反 变换得到残差Dn’。 – F’n-1经MC后得到PRED(与编码器中的相同) – Dn’与PRED相加产生uFu’,再经滤波得到重建图 像。
ZCTT
• NAL以NALU为单元来支持编码数据在基于分组交换技 术网络中的传输。网络层和传输层的RTP封装只针对基 于NAL单元本地NAL接口。
– 分组网络中:每个NAL单元以独立的分组传输,在解码之前重 新排序。 – 电路交换环境中:传输之前须在每个NAL单元之前加上起始前 缀码,使解码器能够找出NAL单元的起始位置。
ZCTT
35
H.264一共采用了7种方式对一个宏块进行分割。每种 方式下块的大小和形状都不相同,这就使编码器可以根据图 像的内容选择最好的预测模式。
ZCTT
36
与仅使用16×16块进行预测相比,可以使码率降低15%以上。 大的分割尺寸适合于平坦区域,小尺寸适合于多细节区域。
ZCTT
37
• 亚像素运动矢量的使用(更精细的预测精 亚像素运动矢量的使用( 度)
• 扩展档次
– 支持码流之间有效的切换(SP和SI片)、改进误码性能 (数据分割),但不支持隔行视频和CABAC ,主要应 用于流媒体中。
ZCTT
18
扩展档次
主要档次
SP和SI片 数据分割
B片 加权预测
接口
CABAC I片 P片
CAVLC 片组与ASO (任意片次序) 冗余片
ZCTT
19
基本档次
• 冗余片方法

H.264编码器

H.264编码器

4、编码数据格式


H.264支持4:2:0的连续或隔行视频的编码和解 码,缺省的4:2:0的取样格式见下图。 H.264的功能分为两层,即视频编码层(VCL) 和网络提取层(NAL,Network Abstraction Layer)。VCL数据即编码处理的输出,它表示 被压缩编码后的视频数据序列。在VCL数据传 输或存储之前,这些编码的VCL数据,先被映 射或封装进NAL单元中。
举例



图2给出了一个左上方像素已编码的亮度 宏块。图3给出了4种预测模式预测结果。 其中模式3最匹配原始宏块。帧内16×16 模式适用于图像平坦区域预测。 16×16预测模式
图1 16×16 宏块
图2 帧内 16×16 预测块
8×8色度块预测模式

每个帧内编码宏块的8×8色度成分由已 编码左上方色度像素预测而得,两种色 度成分常用同一种预测模式。4种预测模 式类似于帧内16×16预测的4种预测模式, 只是模式编号不同。其中DC(模式0)、 水平(模式1)、垂直(模式2)、平面 (模式3)。
6、片和片组



1)、片(slice):一个视频图像可编码成一个或更多个片, 每片包含整数个宏块(MB),即每片至少一个MB,最 多时每片包含整个图像的宏块。总之,一幅图像中每 片的宏块数不一定固定。 设片的目的是为了限制误码的扩散和传输,应使编码 片相互间是独立的。某片的预测不能以其它片中的宏 块为参考图像,这样某一片中的预测误差才不会传播 到其它片中去。 编码片共有5种不同类型,除已讲过的I片、P片、B片 外,还有SP片和SI片。其中SP(切换P)是用于不同编 码流之间的切换;它包含P和/或I宏块。它是扩展档次 中必须具有的切换,它包含了一种特殊类型的编码宏 块,叫做SI宏块,SI也是扩展档次中的必备功能。

h.264码流控制规范

h.264码流控制规范

二、H.264标准的码率控制模块(rate control)规范描述H.264标准中码率控制方法的提案主要有三个:JVT-F086(2002)算法、JvT-G012(2003)算法和JVT-O016(2005)算法,后两种即通常所说的李氏提案和吴氏提案。

其JVT-F086可以看成是MPEG-2 TM5改进版本;JVT-G012算法用流量往返模型来分配每个基本单元目标比特数,并采用二次率失真函数计算量化参数后进行编码,而JVT-O016则继承了JVT-G012的传统算法,侧重于率失真优化RDO模型的改进,充分挖掘图像的时空相关性。

2.1 JVT-F086(2002)JVT-F086算法与MPEG-2的码率控制算法TM5类似,其工作流程同样由三步组成。

首先是目标比特分配,在图像编码前,估计出对下一帧图像编码所需要的比特数:接着是速率控制,通过一个虚拟缓存器,给每个宏块设定量化参数的参考值;最后是自适应量化,根据宏块的空间活动性来调整量化参数的参考值,以获得用于宏块的量化参数值。

JVT-F086算法结构如图2-1所示:图2-1 JVT-F086算法结构图在目标比特分配步骤中,首先对图像序列中的第一个I帧,P帧或B帧定义不同的总体复杂度的度量,具体可由下式得到:,具体可由下式得到:=115*bitrate/115=15*bitrate/115=5*bitrate/115得到总体复杂度的度量以后,再求得下一帧图像的目标比特数目,即,根据分配给该组图像(GOP)的总比特数R来计算。

如果当前图像GOP(INTRA帧)是第一个,那么R值更新如下:R=bitrate*(++1)/framerateN是GOP中图像的数目,和分别是当前GOP中未编码的P帧和B帧的数目,且R初始设定为0。

如果当前帧不是GOP中的第一个图像,如果图像序列中已编码比特数为nbits,那么R值更新如下:R- nbits→R计算出分配给下一帧的目标比特数后,步骤一将结果传递给步骤二,进行速率控制,速率控制步骤基于虚拟缓存器的概念,在编码宏j(j>=1)之前,虚拟缓存器饱和度基于图像类型来计算:=QP*10*bitrate/(31*framerate)=(QP+2)*10*bitrate/(31*framerate)=(QP+2)*10*bitrate/31这里,,,的值分别是对I,P,B帧型的虚拟缓存器的初始饱和度值。

H264标准详解

H264标准详解

H.264 标准详解JVT(Joint Video Team,视频联合工作组)于2001 年12 月在泰国Pattaya 成立。

它由ITU-T和ISO 两个国际标准化组织的有关视频编码的专家联合组成。

JVT 的工作目标是制定一个新的视频编码标准,以实现视频的高压缩比、高图像质量、良好的网络适应性等目标。

目前JVT 的工作已被ITU-T 接纳,新的视频压缩编码标准称为H.264 标准,该标准也被ISO 接纳,称为A VC(Advanced Video Coding)标准,是MPEG-4 的第10 部分。

H.264 标准可分为三档:基本档次(其简单版本,应用面广);主要档次(采用了多项提高图像质量和增加压缩比的技术措施,可用于SDTV、HDTV 和DVD 等);扩展档次(可用于各种网络的视频流传输)。

H.264 不仅比H.263 和MPEG-4 节约了50%的码率,而且对网络传输具有更好的支持功能。

它引入了面向IP 包的编码机制,有利于网络中的分组传输,支持网络中视频的流媒体传输。

H.264 具有较强的抗误码特性,可适应丢包率高、干扰严重的无线信道中的视频传输。

H.264 支持不同网络资源下的分级编码传输,从而获得平稳的图像质量。

H.264 能适应于不同网络中的视频传输,网络亲和性好。

一、H.264 视频压缩系统H.264 标准压缩系统由视频编码层(VCL)和网络提取层(Network Abstraction Layer,NAL)两部分组成。

VCL 中包括VCL 编码器与VCL 解码器,主要功能是视频数据压缩编码和解码,它包括运动补偿、变换编码、熵编码等压缩单元。

NAL 则用于为VCL 提供一个与网络无关的统一接口,它负责对视频数据进行封装打包后使其在网络中传送,它采用统一的数据格式,包括单个字节的包头信息、多个字节的视频数据与组帧、逻辑信道信令、定时信息、序列结束信号等。

包头中包含存储标志和类型标志。

H264--1--编码原理以及I帧B帧P帧

H264--1--编码原理以及I帧B帧P帧

H264--1--编码原理以及I帧B帧P帧H264--1--编码原理以及I帧B帧P帧前言-----------------------H264是新一代的编码标准,以高压缩高质量和支持多种网络的流媒体传输著称,在编码方面,我理解的他的理论依据是:参照一段时间内图像的统计结果表明,在相邻几幅图像画面中,一般有差别的像素只有10%以内的点,亮度差值变化不超过2%,而色度差值的变化只有1%以内。

所以对于一段变化不大图像画面,我们可以先编码出一个完整的图像帧A,随后的B帧就不编码全部图像,只写入与A帧的差别,这样B帧的大小就只有完整帧的1/10或更小!B帧之后的C帧如果变化不大,我们可以继续以参考B的方式编码C帧,这样循环下去。

这段图像我们称为一个序列(序列就是有相同特点的一段数据),当某个图像与之前的图像变化很大,无法参考前面的帧来生成,那我们就结束上一个序列,开始下一段序列,也就是对这个图像生成一个完整帧A1,随后的图像就参考A1生成,只写入与A1的差别内容。

在H264协议里定义了三种帧,完整编码的帧叫I帧,参考之前的I帧生成的只包含差异部分编码的帧叫P帧,还有一种参考前后的帧编码的帧叫B帧。

H264采用的核心算法是帧内压缩和帧间压缩,帧内压缩是生成I 帧的算法,帧间压缩是生成B帧和P帧的算法。

----------------------序列的说明----------------------在H264中图像以序列为单位进行组织,一个序列是一段图像编码后的数据流,以I帧开始,到下一个I帧结束。

一个序列的第一个图像叫做IDR 图像(立即刷新图像),IDR 图像都是 I 帧图像。

H.264 引入 IDR 图像是为了解码的重同步,当解码器解码到 IDR 图像时,立即将参考帧队列清空,将已解码的数据全部输出或抛弃,重新查找参数集,开始一个新的序列。

这样,如果前一个序列出现重大错误,在这里可以获得重新同步的机会。

H264编码原理详解

H264编码原理详解

H264编码原理详解前言•在日常生活中我们知道,电脑中的视频文件先要通过视频采集设备对物体进行采集,然后通过编码核心部件得到mp4,rmvb等格式进行保存。

有没有可能不经过上述核心编码部件采集之后直接进行显示呢?答案是可以的。

那为什么还要进行编码呢?答案是原始采集到的视频数据为YUV格式,这种格式不经过处理的话特别大,对于网络传输和永久保存非常不利,为了解决这个问题,就需要对原原始的视频数据进行压缩处理。

而H264则是目前一种流传广泛,成熟的视频压缩算法。

•先来看一个例子在学习H.264编码之前,我们先了解一下在手机相机拍摄视频的过程,如果Camera采集的YUV图像不做任何处理进行传输,那么每秒钟需要传输的数据量是多少?Camera采集的YUV图像通常为YUV420,根据YUV420的采样结构,YUV图像中的一个像素中Y、U、V分量所占比例为1:1/4:1/4,而一个Y分量占1个字节,也就是说对于YUV图像,它的一个像素的大小为(1+1/4+1/4)Y=3/2个字节。

如果直播时的帧率设置为30fps,当分辨率为1280x720,那么每秒需要传输的数据量为1280720(像素)30(帧)3/2(字节)=39.5MB;当分辨率为1920x720,那么每秒需要传输的数据量接近60MB,这对于手机的存储空间有很大考验,因此,我们就必须在拍摄形成视频文件保存在本地之前对采集的视频数据进行压缩编码。

H26X简介H261•目前国际上制定视频编解码技术的组织有两个,一个是“国际电联(ITU-T)”,它制定的标准有H.261、H.263、H.263+等,另一个是“国际标准化组织(ISO)”它制定的标准有MPEG-1、MPEG-2、MPEG-4等。

•H.261是1990年ITU-T制定的一个视频编码标准,属于视频编解码器。

设计的目的是能够在带宽为64kbps的倍数的综合业务数字网(ISDN forIntegrated Services Digital Network)上质量可接受的视频信号。

H264简介

H264简介

H264简介1. H.264中的视频压缩技术一、帧内预测模式在帧内预测模式下,当前块在被编码之前需要与预测值相减,而这些预测值是从已编码并重构的相邻块得到的。

亮度信号的帧内预测分为两种,一种是以4×4 的块为单位,共包括9 种预测方式(图 2.2);另一种是以16×16 的块为单位,共包括4 种预测方式(图2.3)。

色差信号的帧内预测以8×8 的块为单位,也包括4 种预测方式,与亮度信号16×16 的块的预测方式相似。

图2.2 4×4亮度块的9种帧内预测模式图2.3 16×16亮度块的四种预测方式其实相邻块的帧内预测模式也有很大的相关性,尤其在4×4预测模式下。

令块A、B、E分别为左、上及当前块,位置关系如图2.5。

如果A、B块的帧内预测模式都是1,那么块E的最佳模式也很可能是1。

编码器及解码器都需要先计算当前块预测模式的预测值,令这个预测值为A块、B 块中较小的模式值。

如果这个预测值与当前块的最佳模式一致,则发送的prev_intra4x4_pred_mode标志为1,否则为0。

如果为0,则还需要发送一个rem_intra4x4_pred_mode的标志,具体指明采用了哪种模式。

注意到此时由于当前块的模式值与预测值不一致,可以先排除掉一种模式。

如果当前块的模式比预测值小,rem_intra4x4_pred_mode标志就取当前块的模式值;反之,取当前块的模式值减去1。

这样一来,就可以将9种模式映射到[0,7]这个区间内,正好能用3个比特表示。

图2.5 相邻块的位置关系二、帧间编码模式可变尺寸块、多参考帧、带权重预测和1/4像素精度是H.264运动补偿技术的四个新特征。

对于可变块大小的概念其实在H.263中已经出现过了,那就是高级预测模式,一个宏块的亮度块可以分为4个8×8子块分别进行运动估计。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

bpp u(n(0,0) ) / Fr N pixel
码率控制的经典步骤和公式
桢层码率控制
目标码率 Tbl(ni,
j1 )
Tbl(ni, j
)
Tbl(ni,2 ) Np 1
W~p (ni, j ) (L 1) u(ni, j ) Fr (W~p (ni, j ) W~b (ni, j ) L)
马氏提案(JVT-D030)
a比特分配 b第一次RDO c确定量化参数 d第二次RDO
关于H264码率控制的提案(三个阶段)
李氏提案(JVT-G012经典)
基本单元 流传输模型 MAD线性预测模型 目标比特分配 预测MAD 用二次RD模型计算QP 执行RDO GOP层码率控制 桢层码率控制 基本单元层码率控制
u(ni, Fr
j
)
~ f (ni, j
)
u(ni, j Fr
)
(Tbl(ni, j
)
Bc
(ni, j
))

(ni,
j
)
Wp
(ni,
j 1 )
Wp (ni, j1) Tr N p,r ( j 1) Wb
(ni, (ni,
j) j 1 )
Nb,r
(
j
1)
f
(ni, j
)
fˆ (ni, j
)
(1
)
KLY3nYWD!!Z##RHX*UDHvkC y*t#% FKH(+ YsAxq1cQXj5j F&tToX(U(sn* 3n2xE93OLyB2(7XfH Is+MBKM17R kdgS04w-IKN NU xU &(EZSp$kc yT au2#Gk7O*3% 1oO3lJ nEd)6!$s-7HKtHbUR (Jc0rlhls$XTf9vCT$#hmn( yVYnZGCoZ3ABqxoyyIL&wT m*J y6!9RtauG*3daT- tJaHI+ ccuayuhcslf*Qfo1sS5l4QHnJImblAJzpK#W6!&GyG+OVDK8Qk7#ijQKEX%3a!s4n-7l 3Aj#H G-gzKKC2nx+ m*5dEx5vodvFd! -c0j-T mxG!tq9m5) HFlMg-5Tu2OL$R$h1-
提高输出码率控制精度 提高PSNR,减少其波动 提高运算速度(低延时)
关于码率控制算法的改进
改进方法
目标比特分配的改进 利用MAD引入桢的复杂度或者宏块的复杂度 ……
关于码率控制算法的改进
改进方法
MAD模型的改进 改进预测方法 扩展到宏块级码率控制,用APIB代替MAD 用当前桢和上一桢图像灰度直方图的MAD代 替传统意义上MAD
S##0u!bS8523pXpTENF3wL(8kNTiSW+ w4Z d4itR wJc6pmZO+ kEZ!d9T!r2H&6VrcsjXGzbgUK%Al W6#s#a0c Fap&LCj&e+29U*&U OLac1Gw6Il#$Ir&Lb45D WM 1yjQc6T9b8&v71n2H 7)Ys vaf)KTYZ#M% vwMz*PnkvStvd!kYjr) n1)bZ* ZGz-Vz %RCusJzJ4M5s1rgHpdAT 6HO6C WP%$HGI-*eF xBl yK*%qqbk7TeD w(JRT G1i xrji* SdH+ Os9IlKNGO9YUXMKHNYp5M(nOQ6NC#bj%tebP2StSG* vLa-N TD36M znXONH mEq*MX5( WMKXS2kBs5$8s- wIMK&aX#hyNbyeXA59&813o&p1C1&WcrAU mqf*5dIDG8x wguTl xW1e) NhII5p+(NYvf-
总结和展望
码率控制算法的改进点比较多,对于不同图像 序列的运动特征码率控制的算法的效果也相应 的有所不同,更多的结合图像序列的特征进行 码率控制是很有潜力的一个方向。
充分挖掘图像的时空相关性,在JVT-O016F方 案的基础上作进一步的改进
真诚感谢h264乐园的兄弟姐妹! ^-^
fKtbUJLzz*9AJ*tp*XklUNGPcT 3LXf+s aa!w% 6#cUq9RKRIiJ *BR WYHfAO*T- mg+8W+aAGJJ khHXvv4ygtihizGPBj xe$2$R* 6MY(G27adCe$7B2qz*eO%( sr3ehSf3#(CdKMC% 6Y!EJC948Ts UdhrJ kWh-5- 24N7gH4Ut00cqF4jayGWJZ hVydOua%D) eBAq&onSsUfJ kOn0Orelf#k9nx!tn7DrF#QawvI6NzzP$z SDj6w4h+YWsSmDqa%7fq) Ol8+ y#yRVSA3r8jM!OR)BV4Nt$9D Wz&k4uZ y+ 6uI2TOYdZuH vY3jZr W WzdH-
H264码率控制简介
喔喔 05.11.18
引言
码率控制的目的:在给定码率下高效的传输数 据,保证良好稳定的接收端质量。
由于RDO的引入,H264将量化参数同时用于 码率控制和率失真优化,导致了鸡蛋悖论 QPRDOMADQP 因此以往各种经典的玛率控制方法在h264中 并不适用
关于H264码率控制的提案(三个阶段)
关于码率控制算法的改进
R-D模型的改进 公式细节的修补 达到低延时,解决跳桢问题 全新的算法(马氏)
关于码率控制算法的改进
改进方法 理论基础:DCT系数较好的反映了图像的运动 剧烈程度和内容的复杂度 利用DCT系数中的0比率和非0比率建立p-Q 模型
利用DCT系数引入有效比特位的概念
关于H264码率控制的提案(三个阶段)
吴氏提案(JVT-O016)
继承JVT-G012的传统算法 充分挖掘图像序列的时空相关性 侧重点在RDO模型的改进上
码率控制的经典步骤和公式
流传输模型
Bc
(ni,
j 1 )
Bc
(ni,
j
)
b(ni,
j
)
u(ni, Fr
j
)
Bc (n1,1 ) 0
Bc (ni1,0 ) Bc (ni,N gop )
~ f (ni, j
)
码率控制的经典步骤和公式
桢层码率控制
用二次RQ模型计算qp
进行RDO 更新参数
码率控制的经典步骤和公式
基本单元层码率控制
计算结构比特数
Rt ,l
f rb N ub
mhdr
预测MAD
用二次RD模型计算QP
进行RDO
更新剩余比特数和QP初始值
关于码率控制算法的改进
改进目的
线性预测模型 MADcb a1 MADpb a2
码率控制的经典步骤和公式
GOP层码率控制
目标码率
Tr
(ni, j )
Tr
(ni, j1)
u(ni, j
)
u(ni, j1) Fr
(N gop
j)
b(ni, j1)
Qp初始值
ቤተ መጻሕፍቲ ባይዱ
QP0
40
30 20
10
bpp l1 l1 bpp l 2 l 2 bpp l3 bpp l3
相关文档
最新文档