编解码
文章平均质量分 83
jamsShadow
这个作者很懒,什么都没留下…
展开
-
vp9 prob 详细分析
VP9 probe 的概念vp9 prob 实际是vp9 probability的缩写,指的是各个编码参数出现在码流的概率。为什么需要在码流里面传递这样的参数。这个是为了节省熵编码的比特数。例子:算术编码 编码帧间预测的模式vp9的帧间预测模式有4种NEW, NEAREST, NEAR, ZERO 。 如果说这4种模式出现的概率相等,那么编码的时候就可以每个模式都分配同样的两个比特。如果说ZERO 出现的概率是50%, NEAREST 是 25%, NEAR/NEW 12.5% 。那么最原创 2021-01-07 20:49:57 · 963 阅读 · 0 评论 -
vp9 segment 详细分析
参考资料:vp9提供了一种新的划分称为segment,tile也好,hevc的slice也好,都是画面内按顺序的区域划分,但segment不是,所以segment的标记是对每个处理块标记一个id,画面最多可被划分为八个segment。每个segment可拥有四种能力:-SEG_LVL_ALT_Q:设定自己的qp,应用场景如实现ROI,或者进行码率控制等,后面会再提到因为vp9不对每个block设定qp,所以画面内的画质调制啊码率控制啊就可以通过这个功能来实现。-SEG_LVL_ALT_LF...原创 2021-01-07 20:43:57 · 1519 阅读 · 0 评论 -
HEVC帧间预测实现(HM实现)
帧间预测简要流程Inter 进行解码的基本单位是pu, 读一个pu 相关的信息,然后解码相应的pu块。 pu块的信息包括mv的信息等,解码pu块就是利用mv 从相应的参考帧中去出参考的块,然后利用参考块插值或者不插值出预测块。 1、参考帧数据的来源主要是m_apcRefPicList这个参考数据是怎么得来的,有调用getRefPic( RefPicListe, IntiRefIdx) 实际是返回的m_apcRefPicList。 TComPic*...原创 2021-01-07 20:29:17 · 653 阅读 · 0 评论 -
H264 协议和JM实现详细分析
目标: 对协议各个部分有比较深入的了解 对JM代码有深入了解,重点了解intra、inter、loopfilter、dpb管理这几个模块 分析 调试码流问题的一些方法 H264 协议了解重点了解解码部分,而解码实际上是编码的反过程,所以也需要理解编码过程的一些概念。分层次、分块 视频实际是由一帧帧图像有序的组合在一起而形成,而在帧图像这一层,一帧图像可以分成一个个slice,每个slice在滤波之前都是可以进行独立的解码。 因为在编码的时候会将熵...原创 2020-09-30 11:04:34 · 2510 阅读 · 1 评论 -
HEVC-熵编码
HEVC 熵编码 需要理解和学习的内容? 学习的目的还是主要用于回顾,后续如果用到相关的知识,希望能够看到文章之后,能够迅速的了解1、熵编码是什么?熵编码的目的?熵编码的通用流程?2、熵编码的方法有有哪些?3、HEVC 中的熵编码一、熵编码是什么?熵编码的目的?熵编码的通用流程? 了解熵编码,首先要了解熵是什么? 熵是衡量某个事件的信息量在编解码中就是码流的信息量。熵跟码流的概率成反比。 码流中某个符号出现的概率越大,那么对应的熵就越小。也就是说在这个符号传输之前...原创 2020-06-18 20:30:11 · 1624 阅读 · 0 评论 -
HEVC-环路滤波之样点自适应补偿
sao 是什么? sao解决了什么问题? sao用了什么技术?一 、 sao是什么以及解决了什么问题 振铃效应和样点自适应补偿 振铃效应 是从量化过程中引入的,数据经过DCT变换、量化后,高频的信息产生失真。这些失真的信息经过解码恢复的时候就会在图像边缘周围产生波纹现象。 SAO(样点自适应补偿)滤波就是为消除这种振铃效应而设计的。它通过对重建图像的分类,对每一类图像像素值加减一个偏移,达到减少失真的目的。在HEVC中包含了两种像素值补偿方法:边界补偿(Edge Offset...原创 2020-06-05 23:51:05 · 1108 阅读 · 0 评论 -
HEVC-环路滤波 之去块效应滤波
HEVC系列的目标:1、对基本概念的进行了解,不深入公式推导当中。在学习进行之前存在的疑问,学习之后是不是都一一解决了?2、在一段时间忘记相关概念的时候,是不是可以通过阅读之前的记录 最快的回忆起相关概念。 环路滤波是什么?环路滤波在编解码框架的哪个部分?环路滤波是为了解决什么问题的?环路滤波用了哪些技术?环路滤波的流程是怎样的?一、 环路滤波是什么? 环路滤波顾名思义就是在环路上面对数据进行滤波操作,而所谓的滤波操作就是将数据乘上某一个权重数据。二、环路滤波在编码框架...原创 2020-06-03 00:09:40 · 1818 阅读 · 0 评论 -
HEVC量化
HEVC系列浅尝辄止,不对具体公式推导进行深入的理解。 目标是 知道相关的一些概念,了解这么做的原因,而不是莫名其妙的就一堆公式,一堆算法。HEVC中的一系列算法都是许许多多实验室,研究机构的工作集合。别人都是经过数年的研究,实验得到这么一个结论。所以首先要知道模块相关的基本概念,了解采用某些算法和方法的原因,对算法了解个结论就好了。一、 量化1.1 量化是什么? 量化(Quantization)是指将信号的连续取值(或大量可能的离散取值)映射为有限多个离散幅值的过程,实现信...原创 2020-05-29 18:16:16 · 1599 阅读 · 0 评论 -
HEVC 变换编码
一、 变换编码是什么?是为了解决什么问题的? 图像变换编码是指将以空间域中像素形式描述的图像转换至变换域,以变换系数的形式加以表示。绝大多数图像都含有较多平坦区域和内容变化缓慢的区域,适当的变换可使图像能量在空间域的分散分布转为在变换域的相对集中分布,以达到去除空间冗余的目的,获得对图像信息的有效压缩。 变换总的操作可以用Y = AX 来表示,其中X表示经过预测后得到的残差、预测模式,mv等数据。 A 是变换矩阵。通过和X进行矩阵的乘法,得到一个Y 系数矩阵。系数矩阵是往下级模块进行处理...原创 2020-05-21 00:17:08 · 1068 阅读 · 0 评论 -
H264 码率控制原理
一、H264编码模型如图,关注前向的编码路径。理解H264的码率控制,首先要理解编码中的预测和量化。1.1 预测模式 编码传输的是当前帧和预测帧之间的差值。预测帧可以通过帧内 或者帧间的预测的方式得到。帧内或者帧间具体如何来得到预测帧 ,就有相应的预测模式。(如预测帧某个8X8可通过编码重构后的帧上下或者左右的8X8的块得到)。采用编码重构后的帧是因为解码端也是通过残差来进行重构解码图像的。 预测模式有很多种,不同的预测模式会有不同的失真?如何决定使用哪种预测模式...原创 2020-05-15 10:01:03 · 4310 阅读 · 1 评论 -
HEVC Tile 编码器-kvazaar
一、项目介绍 Kvazaar是屡获殊荣的学术性开源HEVC编码器,它是用C语言从零开始开发的。Kvazaar目标是设计一种模块化,便携式HEVC编码器,以最佳的编码速度和资源获得高编码效率。可以从GitHub下载Kvazaar源代码和二进制文件,也可以通过FFmpeg或Libav使用它。 相比于x265,使用上面感觉快很多,而且支持设置tile的参数进行编码。项目地址:http://ultravideo.cs.tut.fi/https://github.com/ultravideo..原创 2020-05-11 20:27:55 · 2938 阅读 · 1 评论 -
HEVC帧内预测原理
一、HEVC 角度预测模式的基本概念H.265/HEVC亮度分量帧内预测支持5种大小的PU: 4x4, 8x8, 16x16, 32x32, 64x64每一种大小的PU都有35种预测模式:1. Planar模式2. DC 模式3. 33种角度模式通过角度18 将 角度 的模式进一步 分为 垂直 和 水平所谓的水平 和 垂直 是指 通过 26 和 10 这两...原创 2020-04-27 18:11:01 · 1390 阅读 · 1 评论 -
HEVC帧内预测HM实现
1、具体代码位置角度预测的代码路径:TLibCommon\TComPrediction.cpp xPredIntraAng()2、代码流程 const Bool bIsModeVer = (dirMode >= 18); const Int intraPredAngleMode = (bIsModeVer) ? ...原创 2020-04-27 19:00:21 · 526 阅读 · 0 评论 -
HEVC帧间预测原理
一、帧间预测基本原理 主要原理是为当前图像的每个像素块在之前已编码图像中寻找一个最佳匹配块,该过程称为运动估计( Motion Estimation,ME)。其中用于预测的图像称为参考图(Reference Frame),参考块到当前像素块的位移称为运动向量(Motion Vector, MV),当前像素块与参考块的差值称为预测残差( Prediction Residual )。二、原理展开 如果说按照每个像素去参考帧上面去找一个最匹配的像素,然后传输像素到参考像素的位移信息,那么编码...原创 2020-05-11 20:19:58 · 2058 阅读 · 0 评论 -
HEVC编码视频格式
一、编码图像的格式1、 亮度分量和色度分量SPS 中说明了编码的 图像格式 其中chroma_format_idc表明了支持的色度格式:为0 表示只有Y分量 没有UV 分量。1:4个Y共用一组UV,也就是4个Y有一个u和一个v。对于每个色度分量而言 宽高都为亮度的一半。2:2个Y共用一组uv,也就是2个Y有一个u和一个v。对于每个色度分量,宽为亮度的一半。3...原创 2020-04-26 20:13:04 · 2811 阅读 · 0 评论 -
HEVC 编解码框架
一、基本的编解码原理1、 包含的模块、每个模块的作用、 模块的原理 编码器的流程:首先编码器是将yuv数据经过不同的 协议的 算法 压缩 成对应协议的流。具体来说首先将原始图像进行分块, 然后编码器中的预测模块 生成预测块。 将原始图像的块 同预测块相减 就得到残差数据,残差经过量化 变换 熵编码 后得到码流。这个码流加上预测所需要的一些信息(如预测模式,mv数据等)组成编码后...原创 2020-04-26 20:08:49 · 1199 阅读 · 0 评论