资源描述
上海大学博士学位论文 基于H.264/AVC的可伸缩视频编码及其相关技术研究
基于H.264_AVC的可伸缩视频编码及其相关技术研究
摘 要
H.264/AVC是ITU-T和ISO联合推出的新标准,采用和发展了近几年视频编码方面的先进技术,以较高编码效率和网络友好性而著称。它仍基于以前视频编码标准的运动补偿混合编码方案,主要不同有:增强的运动预测能力;准确匹配的较小块变换;自适应环内滤波器;增强的熵编码。测试结果表明这些新特征使编码效率比以前的标准约提高50%,但增加了复杂度。本文着重研究经传输层的若干应用问题。
随着新的视频编码标准H.264/AVC的逐步推广应用,如何将H.264/AVC视频流经MPEG-2的系统传输层传输,对于充分利用原有大量的MPEG-2系统有重要意义。对此提出一种解决方案。要点是:先把H.264/AVC视频作为MPEG-2系统层传输的基本流,然后扩展MPEG-2标准中的传输流系统目标解码器(T-STD),使之可以将H.264/AVC编码视频作为MPEG-2传输流(TS)在Internet上传输和解码。被解码的基本流通常来自于一个“容器”(如AVI或者TS),在客户端从服务器端的这个容器中取出H.264/AVC基本流后便可实时解码、显示。经仿真实验表明,该方案能够获得较好的流视频效果,在带宽受限的情况下信噪比低于40dB的帧数少于5%,可用于IP网络流视频或移动视频中。
在完成H.264算法优化和多媒体指令集优化之后,将其扩展至基于比特平面编码的FGS编码,从而实现了基于PC平台的实时SNR(信噪比)精细粒度可伸缩编码,CIF格式编码帧速可达30fps以上。此外,为使H.264/AVC码流能在带宽较大变化的IP和无线等异构网络中传输,本文另外提出一种将H.264扩展至混合空域/时域/SNR精细可伸缩方案,并给出了相应的码率控制策略:根据率失真优化的结果来选择QP(量化参数),在编码器端对基本层作GOP(图像组)级的码率控制,而对增强层作逐次精细化的码率控制。本文方案与由JM8.6的基本层码率控制、FGS比特平面截断作增强层码率控制(简称JM8.6+FGS)的方法相比,视频质量更高,PSNR(峰值信噪比)变化更为平滑。且在接收端,在某一目标比特率约束下,可以由不同时间分辨率(帧速率)和不同空间分辨率(图像格式)配置的终端截取和实时解码。仿真结果表明,本文方法的亮度平均峰值信噪比(Y-PSNR)在CIF格式时优于JM8.6+FGS方法达2.45dB,且与目标比特率更为匹配;也比新近提出的JVT-N020提案,在平均Y-PSNR上有0.15dB的增益,而且图像质量更为平滑。
H.264/AVC支持SP(同步预测)帧,允许不同质量比特流之间的高效切换,MPEG-4支持FGS编码。本文提出一种将两者融合在一起的解决方案,在JM联合模型中实现了流切换的功能,并且加入FGS编码,使得传输的比特流既能适应因特网或无线网传输带宽的大跨度波动,又能灵活适应小范围的带宽变化。仿真实验结果表明:本文所提出方案的亮度Y分量峰值信噪比比FGS平均好0.47dB,比流切换方法平均好0.23dB。且在专为移动业务而设计的H.264/AVC扩展类上,在3GPP/3GPP2无线视频通用测试条件下,本文所提出方案的性能比单一的FGS平均好0.76dB,比单一的流切换方法平均好0.51dB。
关键词:H.264,AVC,MPEG-2,传输流,网络抽象层,可伸缩编码,实时编码,流切换,视频传输,精细可伸缩编码,码率控制,空间可分级,时间可分级,信噪比可伸缩
本项研究受国家自然科学基金重点项目(60332030)和国家自然科学基金项目(60372091)的资助。
ABSTRACT
H.264/AVC is a new video codec standard accepted by ITU-T and ISO, which adopts many advanced technologies and develops them in video codec since recent years, and becomes famous for its higher coding efficiency and better network friendlyship than others. Based on the motion-compensated hybrid coding scheme originated from previous video codec standards, H.264/AVC has other important differences as follows: the enhanced motion prediction capability; accurate matching for small block-size tranforming; adaptive in-loop deblocking filter; enhanced entropy coding. The experimental results are shown that these new characteristics promote the encoder efficiency by about 50% than the previous counterparts, but the complexity addition is inevitable. This thesis focuses all our attentions on some applications studies throughout the transport layer in the IP networks.
With the increasingly extensive applications for the new emerging video coding standard, H.264/AVC, it becomes more and more important that we transport H.264/AVC video stream over MPEG-2 system by exploiting all the existing large amount of the infrastructure of MPEG-2 systems. We propose a solution for it. The key technologies are as follows: Firstly we use an H.264/AVC video as an elementary stream of MPEG-2 system, then extend the Transport stream-System Target Decoder(T-STD) of MPEG-2 standard, so as to pack the H.264/AVC video elementary stream into MPEG-2 Transport Stream(TS) to transport through Internet and decode it in the client. The decoded elementary stream should ordinarily come from a container, such as AVI or TS. We extract the H.264/AVC video from this container to be real-time decoded and be represented in the client after the reception. The experiment results show that we get a good effect, with less than 5% frames whose PSNR<40dB even in the case of bandwidth-constrained scenario. Running in the IP networks, the streaming solution can also be used for mobile video.
After the algorithms optimization and multi-media instruction-set optimization for the H.264 encoder, the FGS (Fine-Granular Scalability) based on bit-plane coding is extended to realize a real-time SNR fine-granular scalable coding based on PC platform, and the frame rate can be 30 fps and over for the video with CIF format. Moreover, to enable transmission of H.264/AVC bit-stream over IP and wireless heterogeneous networks with randomly variable bandwidth, another scheme of hybrid spatial/temporal/SNR refined scalability and its rate control stratege are given: the rate control for GOP (Group of Pictures) level is done on the base-layer at the encoder side to select the QP (Quantization Parameter) according to the RDO (Rate Distortion Optimization) results, and the progressively refined rate control is done on the enhancement-layer. In comparison with the method of JM8.6+FGS (i.e., the base-layer rate control is based on JM8.6, and the enhancement-layer control is based on the FGS bit-plane truncation), our proposed gets better video quality with smoother PSNR (Peak Signal Noise Ratio) variation. At the receiver, under certain target bit-rate constraint, the total bit-stream can be truncated and real-time decoded by the ends configured with different temporal resolutions (i.e. frame rates) and different spatial resolutions (i.e. video formats). The experimental results are shown that the Y-PSNR (PSNR for luma Y component) of ours with CIF format is 2.45dB better than that of JM8.6+FGS, and ours matches the target bit-rate more fitly; additionally, ours is 0.15dB better than recently proposed JVT-N020 in Y-PSNR on average, and ours gets smoother video quality than the other two schemes.
SP (Synchronization-Predictive) frame, which enables high efficiency of switching between two bitstreams with different qualities, is supported by H.264/AVC. And FGS video coding is supported by MPEG-4. This paper proposes a solution for combination between these two tools, and the Joint Model has been extended to support Stream Switching and FGS coding is added into it so as to adapt to high bandwidth variations of Internet or Wireless networks and to low bandwidth variations flexibly for transmitted streams. Experimental results show that our proposed system outperforms FGS by 0.47dB and the H.264/AVC-based stream switching approach by 0.23dB on average, respectively. And for H.264/AVC Extended Profile suitable for mobile services, our proposed system outperforms FGS by 0.76dB and the H.264/AVC-based video stream switching approach by 0.51dB on average, respectively, under 3GPP /3GPP2 wireless common test conditions.
Keywords: H.264, AVC, MPEG-2, transport stream, network abstraction layer, scalable coding, real-time encoding, stream switching, video transmission, fine-granular scalability, rate control, spatial scalability, temporal scalability, SNR scalability
目 录
摘 要 I
ABSTRACT III
目 录 V
缩 略 语 VIII
第一章 绪论 1
1.1 引言 1
1.2 H.264/AVC应用概述 6
1.2.1 NAL简介 7
1.2.1.1 NAL单元 8
1.2.1.2 使用字节流格式的NAL单元 8
1.2.1.3 使用包格式的NAL单元 8
1.2.1.4 VCL的NAL单元和非-VCL的NAL单元 9
1.2.1.5 参数集 9
1.2.1.6 访问单元 9
1.2.1.7 编码视频序列 10
1.2.2 类别及其应用简介 10
1.2.2.1 类(Profile)和级(Level) 10
1.2.2.2 各个类的应用领域 13
1.3 本文的结构与创新点 13
1.3.1 本文主要研究内容及结构安排 13
1.3.2 本文的创新点 14
第二章 H.264/AVC基于IP和无线网络应用的基础 15
2.1 H.264/AVC在IP环境中应用的基础知识 15
2.1.1 IP上的视频传输 15
2.1.1.1 不同应用业务的特点 15
2.1.1.2 IP多媒体传输协议 17
2.1.2 RTP打包 24
2.1.2.1 H.264的NAL单元概念 25
2.1.2.2 打包设计的约束条件 25
2.1.2.3 简单的打包 26
2.1.2.4 NALU分段 26
2.1.2.5 NALU合并 26
2.2 H.264/AVC在无线环境中应用的基础知识 27
2.2.1 移动网络视频的应用和约束 27
2.2.2 无线系统中H.264/AVC传输 29
2.2.3 用于无线视频的通用测试条件 30
2.3 小结 31
第三章 H.264视频流在MPEG-2系统层上流传输 33
3.1 MPEG-2系统层标准 33
3.2 H.264视频流Over MPEG-2系统层传输 34
3.2.1 H.264/AVC Over MPEG-2流视频方案 35
3.2.1.1 系统框图 35
3.2.1.2 约束条件 36
3.2.1.3 T-STD模型扩展 36
3.2.1.4 DPBn 缓存器管理 37
3.2.2 仿真实验 38
3.2.2.1 实验方案 39
3.2.2.2 软件平台 39
3.2.2.3 实验结果 40
3.3 小结 41
第四章 基于H.264的FGS改进方案及码率控制策略 42
4.1 可伸缩编码概述 42
4.1.1 四种可伸缩方法[97] 43
4.1.1.1 质量可分级性 43
4.1.1.2 空间可分级性 45
4.1.1.3 时间可分级性 47
4.1.1.4 频率可分级性 47
4.1.1.5 基本方案的组合 47
4.1.1.6 精细粒度可伸缩性 48
4.1.2 现有的FGS的改进方法 50
4.2 H.264 FGS分析及其改进:基于PC平台的实时FGS编码 50
4.2.1 基于H.264的FGS编码分析 51
4.2.2 基于H.264的FGS解码分析 53
4.2.3 自适应量化 54
4.2.4 基于PC平台的实时FGS编码器 56
4.2.4.1 基于简化RDO的编码器优化 56
4.2.4.2 多媒体指令集优化 57
4.2.4.3 实时FGS编码步骤 58
4.2.4.4 性能测试与比较 60
4.3 可扩大伸缩范围的空时分级SNR-FGS编码方法 62
4.3.1 基于H.264的混合FGS编码的原理和流程 63
4.3.2 QP值的精细化选择 65
4.4 码率控制策略 66
4.4.1 基本层码率控制 66
4.4.2 增强层码率控制 68
4.5 实验结果 69
4.5.1 与JM8.6+FGS方法的比较 69
4.5.2 与JVT-N020的比较 72
4.6 小结 73
第五章 基于H.264-SS与FGS结合的可伸缩自适应选择方法 75
5.1 流切换(SS)的概念和特性 75
5.2 流切换的应用场合和SP/SI帧的编解码方法 78
5.2.1 SP/SI帧的应用场合 78
5.2.1.1 拼接和随机访问 78
5.2.1.2 误码复原 79
5.2.1.3 误码弹性 80
5.2.1.4 视频冗余编码方法 80
5.2.2 SP/SI帧的编解码方法 81
5.2.2.1 主SP帧和SI帧编码过程 81
5.2.2.2 次级SP帧的编码过程 82
5.2.2.3 主SP帧的解码过程 83
5.2.2.4 次级SP帧和SI帧的解码过程 84
5.3 基于H.264 FGS的流切换及其自适应选择算法 84
5.4 仿真实验 88
5.4.1 直通信道下FGS和流切换结合的实验结果 88
5.4.2 无线环境下的可伸缩比特流流切换的实验结果 92
5.5 小结 97
第六章 总结与展望 98
参考文献 100
作者在攻读博士学位期间的成果 112
致 谢 114
缩 略 语
3GPP
(3rd Generation Partnership Project)
第三代合作伙伴项目
3GPP2
(3rd Generation Partnership Project 2)
第3代合作伙伴项目2
ASF
(Advanced Streaming Format)
高级流式文件格式
ASO
(Arbitrary Slice Ordering)
任意的条带排序
AVC
(Advanced Video Coding)
先进视频编码
AVI
(Audio Video Interleaved)
音视频交插记录的文件格式
CABAC
(Context-Based Adaptive Binary Arithmetic Coding)
基于上下文的自适应二进制算术编码
CRC
(Cyclic Redundancy Check)
循环冗余检测
CR LF
(Carriage Return Line Feed)
回车换行
ES
(Elementary Stream)
基本流
FGS
(Fine Granular Scalability)
精细可伸缩
FMO
(Flexible Macroblock Ordering)
灵活的宏块排序
FTP
(File Transfer Protocol)
文件传输协议
GOP
(Group Of Picture)
图像组
HRD
(Hypothetical Reference Decoder)
假说性参考解码器
HTTP
(HyperText Transfer Protocol)
超文本传输协议
ICMP
(Internet Control Message Protocol)
Internet控制消息协议
IDR
(Instantaneous Decoder Refresh)
瞬时解码器刷新
IGMP
(Internet Group Management Protocol)
Internet组管理协议
IP
(Internet Protocol)
网际协议
JM
(Joint Model)
JVT联合模型
MAD
(Mean Absolute Deviation)
平均绝对差
MMS
(Multimedia Messaging Services)
多媒体消息业务
MTU
(Maximum Transmission Unit)
最大传输单元
NAL
(Network Abstract Layer)
网络抽象层
NALU
(NAL Unit)
NAL单元
PCS
(Packet-switching Conversation Service)
分组交换会话业务
PDCP
(Packet Data Convergence Protocol)
分组数据集中协议
PFGS
(Progressive Fine Granularity Scalablability)
渐进精细可伸缩
PPP
(Point-to-Point Protocol)
点对点协议
PS
(Program Stream)
节目流
PSNR
(Peak Signal Noice Ratio)
峰值信噪比
PSS
(Packet-switching Streaming Service)
分组交换流业务
QP
(Quantization Parameter)
量化参数
RDO
(Rate-Distortion Optimization)
率失真优化
RLC
(Radio Link Control)
无线链路控制
RLP
(Radio Link Protocol)
无线链路协议
RTCP
(RTP control protocol)
RTP控制协议
RTP
(Real Time Protocol)
实时传输协议
RTSP
(Real Time Streaming Protocol)
实时流协议
SDU
(Service Data Unit)
业务数据单元
SI
(Synchronization Intra-frame)
同步I帧
SNR
(Signal Noice Ratio)
信噪比
SP
(Synchronization-Predictive frame)
同步预测帧
SS
(Stream Switching)
流切换
STD
(System Target Decoder)
系统目标解码器
TCP
(Transmission Control Protocol)
传输控制协议
TS
(Transport Stream)
传输流
UDP
(User Datagram Protocol)
用户数据报协议
UMTS
(Universal Mobile Telecommunications System)
通用移动通信系统
VCL
(Video Coding Layer)
视频编码层
VLC
(Variable Length Coding)
可变长编码
VLD
(Variable Length Decoding)
可变长解码
114
第一章 绪论
1.1 引言
H.264标准保留了现有标准的共有特点,同时又具有以下一些现有标准不同的新特点:(1) 节省比特率。与H.263v2 (H.263 + ) 或M PEG-4 简单类相比,H.264实现平均节省比特率近50%;(2) 高质量的视频。H.264在多种比特率条件下都能提供高质量的视频,包括低比特率;(3) 自适应延迟。H.264可工作在低延迟模式以适应实时通信应用(如视频会议),同时在其他应用中也允许大的处理延迟(如视频存储、基于服务器的视频流应用);(4) 错误校正。H.264提供必要的工具来处理网络中数据包的丢失和无线网络中的比特错误;(5) 网络友好性。H.264的一个新特点是视频编码层(VCL)和网络抽象层(NAL )的分离,这使数据易于打包和更好地进行数据优先权控制,VCL 对视频图象进行高质量压缩,NAL 对压缩数据进行打包,使其在特定网络上传输。
H.264网络抽象层(NAL)正式定义了视频编/解码器和外部网络之间基于IP包的接口,以便将视频编码层(VCL)视频流进行协议封装后,通过NAL无缝集成到传输层。解码时NAL对VCL的承载过程相反。NAL层的引入将编码与信道隔离,大大提高了H.264适应复杂信道的能力,对现有或未来的各种不同网络都有很强的网络友好性。
随着计算机网络和多媒体技术的飞速发展,在IP网络上传输实时多媒体数据(如声音和视频)的应用越来越多。这种传输音频和视频的实时(Real-time)程序可以容忍一定程度的丢包,但必须要求能够及时地传输,即对传输实时性的要求远高于传输可靠性。然而,现时的IP互联网络并不是等时性( Isochronous)系统,发送的数据包可以被复制、延迟或不按顺序到达,且抖动(Jitter)现象尤其普遍,这就会严重影响网络服务质量(QoS),使多媒体传输的实时性不复存在。因此,为了允许在IP网络上有意义地传输和再现多媒体数字信号,需要额外的协议支持。
为了解决上述问题,互联网技术工作组( Internet Engineering Task Force, IETF)陆续提出了一系列新的协议,如RTP/RTCP、RSVP和RTSP等,通过它们协同工作,在很大程度上可满足实时数据的传输要求[1]。
MPEG-2系统标准定义了传输流格式来传送压缩的视音频节目数据。传输流适于在容易发生错误的环境下传送数据,对于例如卫星信道、数字电视地面广播、IP网络等应用环境,其错误表现为数据位的出错和传输流分组的丢失。为了便于在网络上传输,节省带宽,流传输系统可以考虑使用高效的H.264编解码标准对原始输入视频进行压缩编码,并组成传输流。传送流在IP网上传输,为保证可靠性,紧接着需对数据打包成RTP数据包,然后利用UDP协议将其封装成UDP包,随后系统将数据交给IP层,在IP层中打成IP包后发送到网络上进行传输。客户端收到载有视频信息的IP数据包后,将它解包后交给UDP层,在UDP层去掉UDP包头,解出RTP信息,依次类推,直到将TS流送至H.264解码器进行解压缩,然后在终端进行显示。RTP/UDP/IP不是独立的,其中也发送和接收RTCP分组,并通过和RTCP反馈控制模块的交互来完成对流量的调整和丢包的统计。
在互联网上传输视频流需要解决的一个基本问题是网络带宽的波动[2],不仅是不同的人在不同的时刻用不同的终端设备,甚至是同一个人在同一个时刻,哪怕是在传输同一个视频流,从互联网所得到的数据传输率存在着很大的差异。传统的编码方法生成的视频流很难适应如此复杂的网络带宽的波动,以往处理这个问题有两种方法:码流转换(transcoding)[3],[4]和联播(simulcast)[5],[6]。码流转换是先由编码器生成一个高码率的码流,在传输前再根据网络的带宽将码流转换到一个匹配的码率,这种方法首先会增加视频服务器的负担,其次将码流从高码率转换到低码率也会造成额外的视频质量损失。联播方法是生成多个不同码率的码流,在传输时根据网络的带宽选择一个合适码率的码流,这种方法很难实现传输过程中任意码流的动态切换,码率的变化也被局限在几个特定的码率中,不能充分利用信道的容量。在互联网上传输视频流的另外一个问题是数据包的丢失,在编码过程中为了提高编码效率,视频流的每一个比特都有极其严格的定义,不用说丢失一个数据包,哪怕是一个数据位的错误都会造成大量的视频流不可解码,从而降低了解码图像的视觉质量,并且这种错误还会通过视频编码固有的运动补偿影响到后面许多帧的图像质量。目前,解决上述网络带宽波动和丢包这两个问题的一个最合适的方法是可伸缩性地编码视频序列[7],[8]。可伸缩编码通常生成两个视频流:基本层码流和增强层码流,基本层码流是必须传输的,并且码率比较低,增强层码流可以根据带宽情况进行任意截断,或者不传。由于可伸缩性编码方法生成的视频流可以在一定码率范围内自适应调整,因而能够适应复杂的网络带宽波动[9]。此外,除了基本层码流需要尽量避免数据包的丢失外,由于增强层码流的数据包的丢失不会带来明显的视觉质量的降低,也不会影响到其它帧,因而可伸缩性编码生成的视频流有较好的鲁棒性。
FGS编码[10] 已纳入MPEG-4标准,其基本层采用现有的运动补偿DCT 变换编码,这种基本层的编码也可用于如MPEG-2 和H.264等其它的标准中。 通常基本层的码率较低,因而基本层的量化步长可较大。基本层的量化误差通过比特平面编码技术形成增强层码流,采用比特平面编码技术的好处是它能提供一个非常精细的可伸缩码流。即使在较低的增强层,其编码效率也比变长编码方法高。从FGS 编码结构可以看出,基本层和所有的增强层都是用前一帧的重构基本层为参考, 因此如果在传输过程中增强层码流出现丢失和错误,只需要丢掉这一帧后面的增强层码流即可,在随后的一帧依然可以得到完好的图像质量,增强层码流的丢失和错误不会产生严重的视觉影响和误差累积。但从编码的角度讲,FGS 方法的编码效率是比较低的,因为它总是用最低质量基本层的重构层作为运动补偿的参考,因而运动补偿的效果就比较差,从而降低了整个编码方案的效率,与非可伸缩性编码方法相比,伸缩性编码方法的编码效率会降低2.0dB 以上。为此,[11],[12]提出了渐进FGS(PFGS)编码,其基本思路是在编码增强层时也用一些高质量的增强层作为参考,由于增强层重构图像的质量总是要比基本层高,使得运动补偿更有效,从而提高了可伸缩性编码的编码效率。当然这种编码效率的改进必须以不能牺牲其可伸缩性的特性为前提条件,因而在设计渐进的PFGS 编码框架时有两个关键点:首先在编码增强层时尽量采用高质量的增强层为参考来提高编码效率;其次是必须保留一些从基本层到最高质量的增强层之间完整的预测路径,以使生成的码流具有可伸缩性。
PFGS 比M PEG-4的FGS 编码能提高编码效率约1dB,但仍明显低于非可伸缩性编码方法。且其所生成的码流通过Internet 或无线等易发生错误信道传输时还有许多问题需要解决。例如如果在增强层码流出现数据丢失和错误,该帧后面的码流都不可解,只能继续解码后面的一帧。应该在PFGS的增强层编码时加入一些简单的错误检测和再同步工具,来减少传输错误的影响。此外,PFGS仍如FGS那样,总是假设基本层能得到很好的保护,但是在网络带宽动态变化时,这样的假设不一定成立,这就要进一步研究如何随信道的状态给基本层和增强层动态地分配码率。随着新一代视频编码H.264标准的确立,H.264的可伸缩编码方案也成为人们研究的热点。
为了在网络带宽和延时/缓存的限制下获得持续好的视频质量,码率控制已成为视频编码的关键技术。由于目前各种视频编码国际标准只对编码后比特流的语法和解码器作了规定,没有对码率控制策略进行明确界定,所以不少学者和机构都提出了各自的码率控制策略,目前较为流行的码率控制算法有MPEG-2 TM5[13]、H.263 TMN8[14]、MPEG-4 VM8[15]。码率控制包括两个部分:一是合理分配比特;二是如何通过调整参数实现所分配的比特。对于前者,MPEG-2 TM5的方法是为每一个图像组(Group of Picture, GOP)分配固定的比特数,再将GOP之内的比特数分配给各帧、各宏块,随后的不少方案也延续了这种思想。对于后者,文献[14]提出了用Lagrange方法优化率失真模型的码率控制算法,但是该算法的复杂度大;文献[16]提出一种比较简单的线性模型,发现在视频编码系数变换量化后非零值个数与编码码率之间存在线性关系,但是此种模型需要对系数变换进行处理;文献[15]提出了二次量化模型,该模型形式相对简单,也最接近实际R-Q(Rate-Quantization)关系且不用对系数变换,因此,目前较多的编码控制策略使用二次量化模型。
由于H.264的编码标准中模式选择的复杂性,使其对于码率控制也增加了困难。这是因为H.264采用了R-D优化模式判别,宏块的编码模式与量化参数的选取有关。为了进行宏块的编码模式判别,必须先给出一个量化级,然而为了控制码率,量化级的计算一般要根据编码模式判别后的帧内预测或帧间运动估计残差来决定。JVT-G012[17] 提案给出的码率控制方法是将一帧划分为若干基本单元,在R-D模式判别前对当前基本单元的MAD进行线性预测,并运用MPEG-4中使用的二次R-Q模型计算量化级,用此量化级进行模式选择和编码。
H.264的参考软件JM8.6中采用的是JVT-H014[18]提案中的码率控制算法。该算法采用了分层码率控制的方法,共三层:GOP层码率控制、帧层码率控制、基本
展开阅读全文