一、 原理

图像变换编码是指将以空间域中像素形式描述的图像转换至变换域(频域),以变换系数的形式加以表示。由于绝大多数图像都含有较多平坦区域和内容变化缓慢的区域,适当的变换可使图像能量在空间域的分散分布转换为在变换域的相对集中分布,以达到去除空间冗余的目的。
        在H.265/HEVC中,对经过预测编码后的预测残差进行变换,并根据预测残差的特点使用离散余弦变换和离散正弦变换两种变换方式。

二、离散余弦变换(DCT)

2.1 DCT原理及特点

傅里叶变换表明,任何信号都能表示为多个不同振幅和频率的正弦或余弦信号的叠加。如果将离散信号分解为余弦信号的叠加,则称为离散余弦变换(DCT)。数学上共存在8中DCT:

在以上8类DCT中,前四类对应于偶数阶的实偶DFT,后四类对应于奇数阶的实偶DFT。在图像、音视频编码等多媒体信号处理领域,Ⅱ类DCT应用最为广泛。对于预测编码后的残差信号,多集中于低频区域。图5.1给出了二维8x8DCT基图像,任一8x8像素块可以表示为图5.1中的64个基图像的加权和,其权值即为对应位置的DCT系数。

2.2 整数DCT

为了便于硬件实现,提高计算速度,从H.264/AVC开始视频编码中使用了整数DCT,最初仅使用了4x4整数DCT变换矩阵。4x4整数DCT变换矩阵的推导过程如下:




在H.264/AVC中规定,变换过程只进行式(5-3)中的矩阵相乘“C_f XC_f^T”部分,而标量相乘部分与后续的量化过程一块进行。
        8x8整数DCT变换矩阵的推导过程与4x4整数DCT类似,结果如下:

2.3 H.265/HEVC中的整数DCT

H.265/HEVC中沿用了H.264/AVC所采用的整数DCT技术,但进行了一些改进。H.265/HEVC中使用了4中不同尺寸的整数DCT,分别为4x4、8x8、16x16、32x32。对于变换矩阵,H.265/HEVC没有采用近似的方式调整c和b的值,而是利用与较大的整数相乘来保留一定的小数精度。

另外三种尺寸的整数DCT推导方法与4x4整数DCT相同。

三、离散正弦变换(DST)

3.1 DST的原理及特点

如果将离散信号分解为正弦信号,则称为离散正弦信号(DST)。在数学上存在8种DST:


在上述8类DST中,前四类对应于偶数阶的实奇DFT,后四类对应于奇数阶的实奇DFT。H.265中使用的是Ⅶ类DST,其二维形式为:

3.2 H.265/HEVC中的整数DST

H.265/HEVC标准规定,在帧内4x4模式亮度分量残差编码中使用4x4整数DST,而在帧内其他模式、帧间所有模式,以及所有色差分量的残差编码中一律使用整数DCT。这主要是由于帧内预测利用周围已重构块边缘像素预测当前块的方法使得帧内预测残差具有如下特征:距离预测像素越远,预测残差越大。而DST的基函数能够很好的适应这一特征。4x4整数DST的推导过程如下:


四、变换结构

4.1 变换单元


参考文献:新一代高效视频编码H.265HEVC原理、标准与实现 [万帅,杨付正 编著] 2014年版

H.265/HEVC学习笔记:变换相关推荐

  1. H.265/HEVC学习笔记:量化

    量化是指将信号的连续取值(或者大量可能的离散取值)映射为有限多个离散幅值的过程,实现信号取值多对一的映射.在视频编码中,残差信号经过DCT后,变换系数往往具有较大的动态范围.因此对变换系数进行量化可以 ...

  2. H.265/HEVC学习笔记:帧内预测编码

    帧内预测编码是指利用视频空间域的相关性,使用当前图像已编码的像素预测当前像素,然后将预测残差(当前像素真实值与预测值之间的差值)作为后续编码模块的输入,进行下一步编码处理.在解码端解码时使用同样的方式 ...

  3. H.265/HEVC学习之xCompressCU函数

    H.265/HEVC的CU划分只有四叉树划分方式,如下图所示: 在HEVC的参考软件HM中,CU的划分是通过调用xCompressCU函数实现的,通过递归调用自身实现CU的划分以及编码,递归划分的流程 ...

  4. 读H.265/HEVC编码笔记(一)

    为了适应不同网络环境和视频应用,HEVC也采取了视频编码层(Video coding Layer VCL)和网络适配层(Network Abstract layer NAL). NAL:对视频压缩后的 ...

  5. 【笔记】H.265/HEVC 视频编码(四)——预测编码

    预测编码时视频编码中的核心技术之一.对于视频信号来说,一幅图像内邻近像素之间有较强的空间相关性,相邻图像之间有较强的时间相关性.因此采用帧内预测和帧间预测的方式,去除视频的空域和时域的相关性.视频编码 ...

  6. 笔记:新一代高效视频编码H.265/HEVC原理、标准与实现

    第一章绪论 3个色彩基本分量,或亮度和色度分量. 每秒播放的帧的数目叫做帧率,单位fps.为了使人眼能够有平滑连续的感受,视频的帧率需要达到25~30 fps以上. H.265/HEVC几乎在每个模块 ...

  7. 【笔记】H.265/HEVC 视频编码(三)——编码结构

    H.265/HEVC在编解码的设计上添加了多种新的语法结构,使得H.265/HEVC在压缩效率和网络适应性两个方面有显著提升. 一.编码结构 1.分层处理架构 视频序列是由若干连续时间连续的图像组成的 ...

  8. 【笔记】H.265/HEVC 视频编码(二)——数字视频格式

    一.数字视频 视频技术泛指一系列的图像以电信号的方式加以捕捉.记录.处理.存储.传送与重现的各种技术.数字视频即以数字形式记录的视频,数字视频由一幅幅数字图像组成,每幅图像由N行,每行M个像素组成,每 ...

  9. 视频编码第一节:H.265/HEVC原理——入门

    写在开头:         最近工作原因接触了视频编码方面的技术,觉得有必要对经典的H.265/HEVC视频编码技术了解学习,开这个版块的博客目的一方面作为学习笔记,另一方面希望能多和大家一起沟通交流 ...

最新文章

  1. MNE-Python专辑 (2) MNE中数据结构Raw及其用法简介(更新)
  2. kickstart research
  3. 自定义标签 (choose)
  4. 五大质量工具详解及运用案例_掌握质量管理五大工具,实现九段质量管理成长...
  5. 云栖专辑 | 阿里开发者们的第6个感悟:享受折磨 1
  6. ie8浏览器自定义工具栏设置教程
  7. 远程断点调试不需要跟时间赛跑
  8. HDU 4336 Card Collector(容斥原理+状态压缩)
  9. python向lt新增5个元素_Python学习第十一课-MOOC嵩天
  10. 学习scala03 控制结构
  11. win-pe 重置win10密码“SAM 文件只读属性,修改操作无法保存”的解决办法
  12. 厘米换算英尺英寸java
  13. Mac电脑快捷键盘点:QuickTime Player 键盘快捷键和手势大全
  14. User Agreement(APP用户协议)
  15. 域名是什么?怎样注册一个域名?
  16. c语言中常量有何作用,正确的C语言常量是什么?
  17. tmdb电影票房_TMDb Vue.js应用程序:电影数据库应用程序
  18. 6.5 使用调整边缘命令柔化选择区域 [原创Ps教程]
  19. Android性能优化-内存优化
  20. 华为计算机技能,华为笔记本电脑技术参数及功能一览

热门文章

  1. 配置好的HTTPS服务,无法访问
  2. Studio One v4.6.2 x64 WiN 音乐制作编曲宿主软件下载
  3. HttpReques
  4. 浙江大学PAT考试基础知识整理
  5. 使用切换器导致一台电脑分辨率被降低的解决方法
  6. 计算机开机黑屏90,终于晓得笔记本电脑开机黑屏检修步骤
  7. Licheepi_nano开发板:根文件系统编译
  8. 如何用qt实现学生信息管理系统
  9. C语言字符串 string强转为int
  10. Java官方教程(三-1)运算符 operator(2020.12.18)