HEVC算法和体系结构:编码框架

简介: <p style="text-align:center"><br></p> <h1 style="text-align:center">编码框架</h1> <p style="text-align:center"><br></p> <p style="text-align:justify">2013年4月13日HEVC/H.265被ITU-T正式接受为国际标准。类似以往的国际标准,H


编码框架


2013年4月13日HEVC/H.265被ITU-T正式接受为国际标准。类似以往的国际标准,HEVC仍旧采用“预测+变换”的混合编码框架,如下图所示,包括变换、量化、熵编码、帧内预测、帧间预测以及环路滤波等模块。在HEVC中,几乎每个模块都引入了新的编码技术。



本博文主要介绍HEVC编码框架,从整体结构出发介绍HEVC各个模块的大致功能以及相应的特色编码技术。


HEVC的编码框架主要包括变换、量化、熵编码、帧内预测、帧间预测以及环路滤波等模块。下面依次对各个模块做简单介绍。


1、帧内预测


帧内预测的主要功能是去除图像的空间相关性,通过编码后的重构信息块来预测当前像素块以去除空间冗余信息,提高图像的压缩效率。

在H.264/AVC中,基于4x4大小的编码块采用9种预测模式,而基于16x16大小的编码块采用4种预测模式。

在HEVC中,为了更准确地反映纹理特性,降低预测误差,提出了更为精确的帧内预测技术。对于亮度信号,HEVC提供了35种帧内预测模式,包括33种角度预测以及DC预测模式和Planar预测模式。增加的预测模式可以更好地匹配视频中复杂的纹理,得到更好的预测效果,更加有效地去除空间冗余。


2、帧间预测


帧间预测的主要功能是去除时间相关性,通过将已编码的图像作为当前帧的参考图像,来获取各个块的运动信息,从而去除时间冗余,提高压缩效率。

为了提升帧间预测性能,HEVC引入了一些新的技术,包括运动信息融合技术(Merge)、先进的运动矢量预测技术(Advanced Motion Vector Predictor,AMVP)和基于Merge的Skip模式。

运动信息融合技术(Merge):利用空域相关性和时域相关性来减少相邻块之间的运动参数冗余,具体来说就是取其相邻PU的运动参数作为当前PU的运动参数。

先进的运动矢量预测技术(Advanced Motion Vector Predictor,AMVP):AMVP技术的作用与Merge技术类似,也是利用空域相关性和时域相关性来减少运动参数的冗余。AMVP技术得到的运动矢量一方面为运动估计提供搜索起点,另一方面作为预测运动矢量使用。

基于Merge的Skip模式:后续重点介绍。。。

在HEVC中,帧间预测可以采用单向和双向的参考图像来进行预测,包括类似H.264/AVC中的分层B帧的预测结构。


3、变换量化


通过对残差数据进行变换量化以去除频域相关性,对数据进行有损压缩。变换编码将图像从时域信号变换至频域,将能量集中至低频区域。量化模块可以减小图像编码的动态范围。

RQT(Residual Quad-tree Transform)技术是一种基于四叉树结构的自适应变换技术,它为最优TU模式选择提供了很高的灵活性。大块的TU模式能够将能量更好地集中,小块的TU模式能够保存更多的图像细节。根据当前CU内残差特性,自适应选择变换块大小,可以在能量集中和细节保留两者做最优的折中,与传统的固定块大小的变换相比,RQT对编码效率贡献更大。

变换编码和量化模块从原理上属于两个相互独立的过程,但是在HEVC中,两个过程相互结合,减少了计算的复杂度。


4、环路滤波


在HEVC中,环路滤波模块主要包括去块滤波器(DBF)和样点自适应补偿滤波(SAO)。DBF的主要作用是去方块效应,而SAO的主要作用是去除振铃效应。这部分的具体分析在《HEVC算法和体系结构:环路滤波技术》中已有详细介绍。


5、熵编码


熵编码模块将编码控制数据、量化变换系数、帧内预测数据、运动数据、滤波器控制数据编码为二进制进行存储和传输。熵编码模块的输出数据即是原始视频压缩后的码流。
在HEVC中,采用了基于上下文的自适应二进制算术编码(CABAC)进行熵编码,引入了并行处理架构,在速度、压缩率和内存占用等方面均得到了大幅度改善。



接下来介绍HEVC的两个容易被忽略的新技术:ACS和IBDI。


6、ACS技术


ACS(Adaptive Coefficient Scanning)包括三类:对角扫描、水平扫描和垂直扫描。ACS技术是基于4x4块单元进行的,将一个TU划分为多个4x4块单元,每个4x4块单元内部以及各个4x4块单元之间都按照相同的扫描顺序进行扫描。

对于帧内预测区域的4x4和8x8尺寸的TU,根据所采用的帧内预测方向来选择扫描方法:当预测方向接近水平方向时采用垂直扫描;当预测方向接近于垂直方向时就选用水平扫描,对于其他预测方向使用对角扫描。

对于帧间预测区域,无论TU尺寸多大都采用对角扫描方式。


7、IBDI技术


IBDI(Internal Bit Depth Increase)技术是指在编码器的输入端将未压缩图像像素深度由P比特增加到Q比特(Q>P),在解码器的输出端又将解压缩图像像素深度从Q比特恢复至P比特。

IBDI技术提高了编码器的编码精度,降低了帧内/帧间预测误差。但由于要建立参考队列,像素深度为Q比特的重构图像须占用较大的内存空间。此外,在进行帧间运动估计和补偿时,需要较多的内存访问带宽,这样会给内存受限的系统带来不便,解决的方法是引入参考帧压缩算法,来减小重构图像的数据量。



目录
相关文章
|
3月前
|
机器学习/深度学习 算法 PyTorch
【Pytorch框架搭建神经网络】基于DQN算法、优先级采样的DQN算法、DQN + 人工势场的避障控制研究(Python代码实现)
【Pytorch框架搭建神经网络】基于DQN算法、优先级采样的DQN算法、DQN + 人工势场的避障控制研究(Python代码实现)
103 1
|
5月前
|
机器学习/深度学习 人工智能 算法
AI-Compass RLHF人类反馈强化学习技术栈:集成TRL、OpenRLHF、veRL等框架,涵盖PPO、DPO算法实现大模型人类价值对齐
AI-Compass RLHF人类反馈强化学习技术栈:集成TRL、OpenRLHF、veRL等框架,涵盖PPO、DPO算法实现大模型人类价值对齐
 AI-Compass RLHF人类反馈强化学习技术栈:集成TRL、OpenRLHF、veRL等框架,涵盖PPO、DPO算法实现大模型人类价值对齐
|
3月前
|
机器学习/深度学习 算法 PyTorch
【DQN实现避障控制】使用Pytorch框架搭建神经网络,基于DQN算法、优先级采样的DQN算法、DQN + 人工势场实现避障控制研究(Matlab、Python实现)
【DQN实现避障控制】使用Pytorch框架搭建神经网络,基于DQN算法、优先级采样的DQN算法、DQN + 人工势场实现避障控制研究(Matlab、Python实现)
183 0
|
5月前
|
机器学习/深度学习 人工智能 算法
AI-Compass 强化学习模块:理论到实战完整RL技术生态,涵盖10+主流框架、多智能体算法、游戏AI与金融量化应用
AI-Compass 强化学习模块:理论到实战完整RL技术生态,涵盖10+主流框架、多智能体算法、游戏AI与金融量化应用
|
8月前
|
机器学习/深度学习 人工智能 JSON
这个AI把arXiv变成代码工厂,快速复现顶会算法!Paper2Code:AI论文自动转代码神器,多智能体框架颠覆科研复现
Paper2Code是由韩国科学技术院与DeepAuto.ai联合开发的多智能体框架,通过规划、分析和代码生成三阶段流程,将机器学习论文自动转化为可执行代码仓库,显著提升科研复现效率。
1045 19
这个AI把arXiv变成代码工厂,快速复现顶会算法!Paper2Code:AI论文自动转代码神器,多智能体框架颠覆科研复现
|
搜索推荐 前端开发 数据可视化
【优秀python web毕设案例】基于协同过滤算法的酒店推荐系统,django框架+bootstrap前端+echarts可视化,有后台有爬虫
本文介绍了一个基于Django框架、协同过滤算法、ECharts数据可视化以及Bootstrap前端技术的酒店推荐系统,该系统通过用户行为分析和推荐算法优化,提供个性化的酒店推荐和直观的数据展示,以提升用户体验。
725 1
【优秀python web毕设案例】基于协同过滤算法的酒店推荐系统,django框架+bootstrap前端+echarts可视化,有后台有爬虫
|
搜索推荐 前端开发 算法
基于用户画像及协同过滤算法的音乐推荐系统,采用Django框架、bootstrap前端,MySQL数据库
本文介绍了一个基于用户画像和协同过滤算法的音乐推荐系统,使用Django框架、Bootstrap前端和MySQL数据库构建,旨在为用户提供个性化的音乐推荐服务,提高推荐准确性和用户满意度。
1001 7
基于用户画像及协同过滤算法的音乐推荐系统,采用Django框架、bootstrap前端,MySQL数据库
|
算法
”回溯算法“框架及练习题
”回溯算法“框架及练习题
189 0
|
机器学习/深度学习 算法 TensorFlow
深入探索强化学习与深度学习的融合:使用TensorFlow框架实现深度Q网络算法及高效调试技巧
【8月更文挑战第31天】强化学习是机器学习的重要分支,尤其在深度学习的推动下,能够解决更为复杂的问题。深度Q网络(DQN)结合了深度学习与强化学习的优势,通过神经网络逼近动作价值函数,在多种任务中表现出色。本文探讨了使用TensorFlow实现DQN算法的方法及其调试技巧。DQN通过神经网络学习不同状态下采取动作的预期回报Q(s,a),处理高维状态空间。
279 1

热门文章

最新文章