自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 常见YUV格式

常见YUV格式

2022-07-14 17:07:17 344 1

原创 RGB与YUV转换

RGB与YUV转换

2022-07-14 11:45:29 567 4

原创 AV1 编解码器编译以及使用

AV1编解码器编译以及使用

2022-06-27 10:49:26 5066

原创 VVC之块划分

VVC 之块划分跟 HEVC 相比,VVC 把 CTU 大小增加到了 128×128128 \times 128128×128,并且除了四叉树(QT)之外采用了 二叉树(BT)划分以及三叉树(TT)划分。QT 加 MTT上图是 QT 和 BT、TT 的示意图。对于 BT、TT,⼀般想法是除了 QT 之外,额外进行 BT、TT 以便提供更多的 CU 划分选择,可以更好地捕捉内容特性。但是,这样会导致额外的头信息(side information)数量大大增加。只对 QT 节点进行 BT、TT 划分则可

2022-02-23 00:21:12 2169

原创 HEVC之变换量化

变换量化如上图所示,在基于块的混合编码框架中,每一个经过帧内/帧间预测的残差块都需要进行二维的变换。对每一行和每一列分别应用一维变换以此来实现二维可分离变换。将变换系数 coeffQcoeff_QcoeffQ​ 进行量化(除以量化步长 Qstep 并进行舍入操作)得到量化的变换系数 level 并进行熵编码生成码流。在解码端,熵解码之后的 level 进行反量化(乘以 Qstep)得到 coeffQcoeff_QcoeffQ​。注意:这里的量化、反量化过程会产生失真,这是编码过程中唯一产生失真的地方。最

2022-01-19 19:05:06 3277 3

原创 离散余弦变换DCT

离散余弦变换 DCT先说结论,DCT 变换就是输入信号为实偶函数的 DFT 变换。对于一个长度为 N 的实数离散信号:x[n]={x[0],x[1],...,x[N−1]}x[n]=\{x[0],x[1],...,x[N-1]\}x[n]={x[0],x[1],...,x[N−1]}。其 DFT 可以表示为:X[k]=∑n=0N−1x[n]e−in2πNk(1)X[k] =\sum_{n=0}^{N-1} x[n] e^{-in\frac{2\pi}{N}k}\tag{1}X[k]=n=0∑N−

2022-01-17 17:09:56 790

原创 傅里叶级数与傅里叶变换

傅里叶级数与傅里叶变换三角函数的正交性三角函数系定义:{0,1,sin⁡x,cos⁡x,sin⁡2x,cos⁡2x,...,sin⁡nx,cos⁡nx,...}\{0,1,\sin{x},\cos{x},\sin{2x},\cos{2x},...,\sin{nx},\cos{nx},...\}{0,1,sinx,cosx,sin2x,cos2x,...,sinnx,cosnx,...}频率不同的三角函数相乘在一个周期内(−π-\pi−π 到 π\piπ)的积分必定为 0:∫−ππsin⁡(mx)si

2022-01-17 15:27:56 1213

原创 HEVC之帧间预测

帧间预测HEVC 采用了基于块的运动补偿预测 (Motion compensated prediction, MCP) 来去除视频的时域冗余。假设一个 PU 块内所有像素的运动是均匀的,对于每个块,其可以在已解码的图像(参考帧)中找到对应的块作为预测(但实际上,HEVC 的平移运动模型无法表示物体的复杂运动)。HEVC 的帧间预测主要分为 2 种模式,高级运动矢量预测 (Advanced Motion Vector Prediction, AMVP) 加上运动估计 (Motion Estimation,

2021-09-13 17:52:30 868

原创 HEVC之帧内预测

帧内预测HEVC 的帧内预测框架包括三个步骤:参考像素获取,像素预测,后处理。HEVC 的角度预测为具有方向结构的物体提供了高质量的预测。我的理解:帧内预测只适合用于预测具有 HEVC 规定的 35 种角度的条纹状纹理,如果物体不具有这样的特性,那么就必须通过 RDO 把块分成小块进行预测才能获得更小的失真,但是相应的会增加码率。参考像素获取HEVC 中的帧内预测利用了周围已重建的像素对当前块的所有像素进行预测(利用了像素在空域上的相关性)。参考像素填充一个 2N×2N2N\times 2N2N

2021-09-13 17:46:33 1331 2

原创 HEVC之信息论基础

信息论基础每获得一部分信息就消除一部分不确定性,从这个意义上来说,信息是对不确定性的消除。概率论中概率就可以描述随机事件的不确定性,因此,信息一定是一个概率的函数。信息的定义香农给出的信息的定义:事物运动状态或存在方式不确定性的描述。使用概率来度量不确定性的大小,则不确定性大小 f(p(x))f(p(x))f(p(x)) (p(x)p(x)p(x) 表示事件发生的概率)应该满足以下 3 个条件:f(1)=0f(1) = 0f(1)=0。必然事件的不确定性为 0。f(p(x))f(p(x))f(

2021-09-13 17:39:43 121

原创 HEVC之lambda的推导

混合视频编码器中最常用的RD模型将 RRR 表示为 DDD 的对数函数:R(D)=a×log⁡2(bD)R(D) = a \times \log_2{(\frac{b}{D})}R(D)=a×log2​(Db​)因此:∂R∂D=−a1Dln⁡2=−1λ\frac{\partial R}{\partial D} = -a \frac{1}{D\ln2} = -\frac{1}{\lambda}∂D∂R​=−aDln21​=−λ1​⇒λ=ln⁡2aD\Rightarrow \lambda =

2021-07-01 00:26:18 669

原创 slice,tile和并行化

slice,tile 和并行化sliceslice 由整数个 CTU 组成,并且可以进行独立的编解码。这是通过在每个 slice 末尾终止 CABAC 码流和去除不同 slice 之间的 CTU 的依赖来实现的,但是多个 slice 头和去除不同 slice 的 CTU 之间的依赖会导致码率上升。划分 slice 主要有以下三个目的:1.错误鲁棒性:将图像分割成较小的 slice,可以在数据丢失的情况下,通过重新同步解码和解析过程来获得错误鲁棒性。2.匹配 MTU:slice 大小可以与 IP 网络

2021-06-27 21:46:35 1045

原创 HEVC块划分

块划分每帧图像被划分成固定尺寸的 CTU (Coding Tree Unit),每个 CTU 包含 1 个亮度 CTB (Coding Tree Block) 和 2 个色度 CTB。HEVC 支持的 CTU 尺寸为 2N2^N2N,NNN 可以取 4,5,64,5,64,5,6,即 16×1616\times1616×16,32×3232\times3232×32,64×6464\times6464×64,并且 NNN 在码流中通过序列参数集 (Sequence Parameter Set, SPS)

2021-06-27 21:44:08 1160

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除