HEVC预测编码介绍

这篇具有很好参考价值的文章主要介绍了HEVC预测编码介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

预测编码原理

一幅图像内邻近像素之间有着较强的空间相关性,相邻图像之间也有很强的时间相关性

预测编码(Prediction Coding)是指利用已编码的一个或几个样本值,根据某种模型或者方法,对当前的样本值进行预测,并对样本真实值和预测值之间的差值进行编码。

将视频中的每一个像素堪称一个信源符号,它通常与空域上或时域上邻近的像素均具有较强的相关性,因此视频是一种有记忆信源

联合编码条件编码是两种有记忆信源的有效编码方式。

预测编码技术可以理解成一种特定的条件编码,其利用特定的预测模型反应像素间的依赖关系。

视频预测编码的 主要思想 是通过预测来消除像素间的相关性。
HEVC预测编码介绍

帧内预测编码

帧内预测编码是指利用视频空间域的相关性,使用当前图像己编码的像素预测当前像素,以达到去除视频空域冗余的目的,然后将预测残差作为后续编码模块的输入,进行下一 步编码处理;

为了选择最合适的帧内预测模式,h264使用拉格朗日率失真优化RDO进行模式选择,为每一种模式计算其拉格朗日代价;
HEVC预测编码介绍

4x4和8x8模式包含9种预测模式,16x16模式包含4种预测模式;

4种模式: 水平、垂直、DC(所有参考像素的均值)、Plane(水平、垂直的线性滤波器)
9种模式: 垂直、水平、DC、左下对角线、右下对角线、垂直向右、水平向下、垂直向左、水平向上

帧间预测编码

帧间预测是指利用视频时间域的相关性,使用邻近己编码图像像素预测当前图像的像素 ,以达到有效去除视频时域冗余的目的。

视频序列通常包括较多的时城相关性,因此预测残差通常是“ 平坦的”,即很多残差值接近于“0” 。将残差信号作为后续模块的输入进行变换量化扫描熵编码,可实现对视频信号的高效压缩。

目前主要的视频编码标准帧间预测部分都采用了 基于块的运动补偿技术
HEVC预测编码介绍

运动估计ME

为当前图像的每个像素块在之前已编码图像中寻找一个最佳匹配块,该过程称为运动估计(Motion Estimation,ME),所谓的 ME 就是提取当前图像运动信息的过程。

用于预测的图像就称为参考图像(reference frame)

图像中准确分割出运动物体和背景是困难的,最直接的是基于像素为每个像素指定一个运动向量,但复杂度太高,另外一种是基于区域的又很难完全表征出不规则物体出来。所以目前更多的是基于块的运动表示法,属于基于像素和基于区域的折中方案;

运动估计准则: 主要有最小均方误差MSE、最小平均绝对误差MAD、最大匹配像素数MPC、绝对误差和SAD、最小变换域绝对误差和SATD。

运动向量MV

参考块到当前像素块的位移称为 运动向量(Motion Vector,MV)

当前像素块鱼参考块的差值称为 预测残差(Prediction Residual)

MVD = MVc - MVp,MVc表示当前编码块,MVp表示已编码块,MVD表示二者的差值。

MVp(MV预测)

使用相邻已编码块对当前块MV进行预测,将二者差值进行编码,将会大幅节省编码MV所需要的比特数。
主要分为空域预测时域预测(主要针对B slice)

h264规定了7种大小的运动补偿块:16x1616x88x168x88x44x84x4;并且一个宏块 MB内部允许存在不同大小块的组合。
HEVC预测编码介绍

搜索算法

ME的运算复杂度通常较高,寻找高性能、低复杂度的运动搜索算法显得尤为重要。

还需要亚像素搜索,即1/21/41/8等(色度为 1/8 像素精度),所以需要对参考像素进行性插值。

半像素用了6抽头滤波器,1/4在半像素基础上得到。

多参考图像和加权预测

h264标准最多支持15 个参考帧

权衡编码效率和编码时间,一般推荐采用4~6个参考图像

加权预测表示预测像素可以用一个或两个参考图像中像素通过与加权系数相乘;加权预测适用于两图像之间像素整体变化且有相同变化规律的情形,如淡入、淡出等效果,h264 主要有 explicit、implicit 两种加权预测。
HEVC预测编码介绍

h265帧内预测

亮度帧内预测模式

5种大小的PU:4x4、8x8、16x16、32x32、64x64。

每一种PU都对应35种预测模式,Planar模式、DC模式和33种角度模式,所有预测模式都使用相同的预测模板。

h265新增左下方块的边界像素作为当前块的参考,因为h265以四叉树形的编码结构使得这一区域成为可用像素。
HEVC预测编码介绍

帧内编号0: Planar模式;
帧内编号1:DC模式;
帧内编号2~17:水平类模式;
帧内编号18~34:垂直类模式

Planar模式适用于像素值缓慢变化的区域,与其他模式相比能够提升视频的主观质量,使用水平和垂直方向两个线性滤波器,将其二者平均值作为当前像素的预测值;;

DC模式适用于大面积平坦区域,使用左侧和上方的参考像素的平均值;
HEVC预测编码介绍
HEVC预测编码介绍

亮度模式的编码

相邻块的帧内预测模式相同或者相似的概率较大,如果将每个PU的预测模式独立进行编码则会带来不必要的冗余;

h265建立帧内预测模式候选列表candModeList,表中有3个候选预测模式,用来存储相邻PU的预测模式,如果当前PU最优模式在候选列表里,只需要编码在列表里位置即可,若不在,需要遍历比较,编码最终值;

色度模式的编码

5种模式:Planar模式、垂直模式、水平模式、DC模式以及对应亮度分量的预测模式,若对应亮度分量的预测模式为前 4 种模式中的一种,则将其替换成角度模式 34。

h265 直接对色度模式编号进行编码,编码规则:
(1). 对应亮度预测模式不是前 4 种模式中的一种,则直接对模式编码进行编码,模式编号:0–Planar 模式、1–垂直模式、2–水平模式、3–DC 模式、4–对应亮度分量模式;
(2). 对应亮度预测模式是前 4 种模式中的一种,分两种情况编码;
(a) 最优色度模式与亮度模式相同,则色度模式为模式 4;
(b) 否则,按照下面表格不同的组合推断出色度模式编码;
HEVC预测编码介绍

帧内预测过程

35种预测模式是在PU的基础上定义,而具体帧内预测过程的实现则是以TU为单位

h265标注规定PU可以以四叉树形式划分TU,且一个PU内的所有TU共享同一种预测模式。

预测过程: 判断当前TU相邻参考像素是否可用并做相应的处理、对参考像素进行滤波、根据滤波后的参考像素计算当前TU的预测像素值。

如果所有参考区域参考像素都不可用,则参考像素都用固定值填充,固定大小为 128(8Bit)/512(10bit)。

Planar模式下,对于4x4 TU,参考像素不需要进行滤波,其他情况,参考像素都需要进行滤波。

参考像素滤波分为常规滤波强滤波,常规滤波与 h264 相同,强滤波只正对 TU 32x32,同时满足一定的阈值判断。

h265帧间预测

HEVC预测编码介绍

运动估计

基于块运动补偿的视频编码框架中,运动搜索是最为重要的环节之一,同时也是编码端最耗时的模块。

TZSearch算法是h265中出现的新技术,相比全搜算法,运动搜索时间仅为全搜索算法的 1/5,性能略下降,相同 PSNR 下比特率仅仅增加了 0.45%。

AMVP技术来计算起搜点。

亚像素精度运动估计

实际场景中,由于物体运动的距离不一定是像素的整数倍,因此需要将运动估计得精度提升到亚像素级别。

h265中亮度的半像素采用基于DCT的8抽头滤波器生成。

h265中亮度的1/4、3/4像素采用基于DCT的7抽头滤波器生成。
HEVC预测编码介绍

h265中色度需要达到1/8精度,采用基于DCT的4抽头滤波器生成;
HEVC预测编码介绍

经过亚像素插值之后,所有像素值都被放大为原来的 64 倍,主要目的是在中间过程中保持一定的精度。

MV预测技术

h265在MV的预测方面提出两种新技术------ Merge技术AMVP技术

Merge和AMVP区别

Merge可以看成一种编码模式 ,在该模式下,当前PU的MV直接由空域 (或时域)上邻近的PU预测得到,不存在MVD

AMVP可以看成一种MV预测技术,编码器只需要对实际MV与预测MV的差值进行编码,因此是存在MVD的

二者候选MV列表长度不同, 构建候选MV列表的方式也有所区别。

Merge模式

将以往的跳过预测模式 skip mode 和直接预测模式 Direct mode 的概念进行了整合,采用 Merge 模式时,当前 PU 块的运动信息(包括 MV、参考索引、预测模式)都可以通过相邻 PU 的运动信息推到得到;编码时,当前 PU 块只需要传送融合标记 Merge Flag以及融合索引 Merge Index,无需传送其运动信息

为当前PU建立一个MV候选表,表中存在5个候选MV及对应的参考图像,遍历5个候选MV并进行率失真代价计算,选择最小作为该模式下最优MV。

编码器只需要传输最优MV在候选列表中的索引即可,大幅节省了运动信息的编码比特数。

MV候选列表包含空域和时域,空域提供最多4个候选MV,时域最多提供1个候选MV,时域候选列表不能直接使用候选块的运动信息,需要根据于参考图像的位置关系做相应的比例伸缩调整。

候选列表不够5个的时候,需要使用(0,0)进行填补达到规定的数目。

AMVP模式

高级运动向量预测(Advanced Motion Vector Prediction,AMVP)利用空域、时域上运动向量的相关性,为当前PU建立候选预测MV列表,选择最优预测MV,进行差分编码。

解码端通过建立相同的列表,仅需要运动向量残差MVD与预测MV在该列表中的序号即可计算出当前PU的MV。

AMVP候选MV列表包含空域和时域,列表长度为2。

过程:空域MV列表5个里选择2个,时域MV列表2个里选择1个,再合并相同的MV,填补(0,0),保留候选列表中的前2个MV,选择最优MV;
HEVC预测编码介绍

加权预测

修正P slice或B slice中运动补偿预测像素。
两种加权预测方法:默认加权预测、Explicit加权预测。

PCM模式

该模式下,编码器直接传输一个CU的像素值,不经过预测、变换等操作,同理,解码端可以直接恢复当前CU的像素值。

主要适用于图像内容极其不规则或量化参数非常小,该模式与传统的帧内–变换–量化–熵编码相比,编码效率可能会更高,此外 PCM还适用无损编码情形。

参考

新一代高效视频编码H.265HEVC原理、标准与实现 [万帅,杨付正 编著] 2014年版.
T-REC-H.265-202108.文章来源地址https://www.toymoban.com/news/detail-467441.html

到了这里,关于HEVC预测编码介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • HEVC(H.265)视频压缩编码格式与基础概念

    本人最近开始研究视频重编码的检测,因此做个笔记记录一下自己学习的视频编码相关知识。视频编码的目的是为了压缩原始视频,压缩的主要思路是从空间、时间、编码、视觉等几个主要角度去除冗余信息。而H.265(HEVC)则是目前常用的视频压缩编码格式,本文将主要介绍其

    2024年02月15日
    浏览(28)
  • 最简单的基于 FFmpeg 的视频编码器(YUV 编码为 HEVC(H.265))

    参考雷霄骅博士的文章,链接:最简单的基于FFmpeg的视频编码器-更新版(YUV编码为HEVC(H.265)) 前一阵子做过一个基于 FFmpeg 的视频编码器的例子:最简单的基于 FFmpeg 的视频编码器(YUV 编码为 H.264)。 在该例子中,可以将 YUV 像素数据(YUV420P)编码为 H.264 码流。因为 FFmpeg

    2024年04月27日
    浏览(37)
  • 基于Python的pyAV读取H265(HEVC)编码的视频文件

            利用海康威视相机拍出来的视频是H265格式的,相比于常规的H264编码,压缩率更高,但因此如果直接用之前的方法读取,会出现无法读取的情况,如下。         可以看到,对于帧间没有改变的部分,H265编码就只保存一份,因此直接解析出来就都是空白的,只

    2024年02月22日
    浏览(35)
  • 利用opencv怎样旋转一幅图像

    图像旋转是指图像按照某个位置转动一定角度的过程,旋转中图像仍保持着原始尺寸。图像旋转后图像的水平对称轴、垂直对称轴以及中心坐标原点可能都会发生变换,因此需要对图像旋转中的坐标进行相应的转换 图像坐标构成     解释一下上面的各个步骤 由于图像坐标是

    2024年02月09日
    浏览(25)
  • 利用OpenCV把一幅彩色图像转换成灰度图

    图像灰度化的目的是为了简化矩阵,提高运算速度。 彩色图像中的每个像素颜色由R、G、B三个分量来决定,而每个分量的取值范围都在0-255之间,这样对计算机来说,彩色图像的一个像素点就会有256*256*256=16777216种颜色的变化范围! 而灰度图像是R、G、B分量相同的一种特殊彩

    2024年02月07日
    浏览(57)
  • HEVC网络适配层介绍

    ○ 网络类型多种多样,不同的网络环境具有不同的特性,压缩视频在其中进行传输必然会受到影响;比如不同网络的 MTU 有所不同; ○ 不同的应用场景对视频有不同的需求,视频业务会喜用不同的传输协议; ○ 经过熵编码,码流中的二进制符号不再简单地对应实际数值,严

    2024年02月15日
    浏览(17)
  • 唱歌就能画一幅图像? #whisper-to-stable-diffusion

    现在热门的不仅是多模态的文本图像生成,前阵子,OpenAI 发布了一个自动语音识别系统 Whispe 。在处理口音、背景噪声以及技术术语方面,Whisper 几乎达到了人类的水准。 那么将 Whisper 与 Stable Diffusion 结合,可以直接完成语音生成图像的任务。用户可以语音输入一个短句,

    2024年02月16日
    浏览(33)
  • 【音视频原理】图像相关概念 ③ ( RGB 色彩简介 | RGB 排列 | YUV 色彩简介 | YUV 编码好处 )

    RGB 是 计算机 中的 颜色编码方法 , 红 ( R ) / 绿 ( G ) / 蓝 ( B ) 三个颜色通道 可以设置不同的值 , 每个 通道 的 颜色值都可以取值 0 ~ 255 , 这样 三个通道 叠加 , 可以表示出 25 6 3 = 16777216 256 ^3 = 16777216 25 6 3 = 16777216 种颜色值 ; 红 ( R ) / 绿 ( G ) / 蓝 ( B ) 三个颜色通道 都取值 255

    2024年01月20日
    浏览(50)
  • 【图像处理】图像拼接原理介绍

    图像拼接是图像处理的基础之一,虽然自己并没有直接做图像拼接方面的研究,但在面试中却多次被问到这方面的内容,可见这个知识点还是很重要的。事实上,很多场景都会用到图像拼接的知识,例如运动检测与跟踪、游戏画面的重建等。 本文参考自公众号“计算机视觉

    2024年02月05日
    浏览(31)
  • 【音视频原理】图像相关概念 ⑥ ( YUV 与 RGB 之间的转换 | YUV444 颜色编码格式 转为 RGB 格式 | RGB 颜色编码格式 转为 YUV444 格式 )

    YUV 与 RGB 颜色格式之间进行转换时 , 涉及一系列的数学运算 ; YUV 颜色编码格式 转为 RGB 格式 的 转换公式 取决于 于 YUV 的具体子采样格式 : YUV444 YUV422 YUV420 YUV444 格式 转为 RGB 格式 的 转换公式如下 : R = Y + 1.13983 * (V - 128) G = Y - 0.39465 * (U - 128) - 0.58060 * (V - 128) B = Y + 2.03211 * (U

    2024年01月24日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包