H.264学习笔记2——帧内预测
帧内预测:根据经过反量化和反变换(没有进行去块效应)之后的同一条带内的块进行预测。
A、4x4亮度块预测:
用到的像素和预测方向如图:

a~f是4x4块中要预测的像素值,A~Q是临块中解码后的参考值。0~8是4x4的亮度块的9个预测方向(模式)。当E~H不可得时,用D代替。
A~Q在下面情况下不可用:
》不在当前图像或条带;在该4x4块之前还没有被编码;位于帧间编码宏块,且constrained_intra_pred为1;
对于9个预测模式,简述如下:
》模式0:垂直模式,条件:A~D可用。
》模式1:水平模式,条件:I~L可用。
》模式2:DC模式,条件:A~D或I~L可用。
》模式3~8:方向模式,条件和预测值参考书籍。
其中模式0~5的预测值计算方法如下图:

B、16x16的亮度块预测:
参考像素为左边16个、上边16个和左上1个共33个像素,分别记为p(-1,y)、p(x,-1)、p(-1,-1)。参考像素在下面情况下不可用:
》不位于当前图像或条带;位于帧间宏块,且constrained_intra_pred为1;
预测模式有4种:
》模式0:垂直预测,条件:p(x,-1)可用;
》模式1:水平预测,条件:p(-1,y)可用;
》模式2:DC预测,条件:p(x,-1)或p(-1,y)可用;
》模式3:平面(plane)预测。
C、8x8的色度块预测:
色度块类似16x16的亮度块,参考像素为17个,共垂直、水平、DC和平面1中预测模式。
D、帧内预测模式的选择:
亮度和色度的帧内预测,都有多种预测策略,因此实际应用中要选择最优的帧内预测策略。
对于色度块预测,只能采用8x8的分块大小,只需要比较4中模式的代价(用RDO模型),选择代价最小的模式即可。
对于亮度块预测,可以采用16x16和4x4的块大小,所以需要先后计算出9中4x4预测模式的最小代价(RDO模型)和4中16x16预测模式的最小代价(SATD公式),然后从中选择较小的预测模式。
E、4x4亮度块的预测模式编码:
由于4x4块有9种预测模式,如果完全编码需要4bits,所以根据该块周围(上和左)边的4x4块的预测方式来推断当前块的预测模式。如果推断的预测模式一直,则只需要传输1bit(pred_intra4x4_pred_mode_flags=0),否则传输需要4(rem_intra4x4_pred_mode为4x4亮度块预测模式的编码值)+1(pred_intra4x4_pred_mode_flags=1)=5bits。
H.264学习笔记2——帧内预测的更多相关文章
- H.264学习笔记3——帧间预测
帧间预测主要包括运动估计(运动搜索方法.运动估计准则.亚像素插值和运动矢量估计)和运动补偿. 对于H.264,是对16x16的亮度块和8x8的色度块进行帧间预测编码. A.树状结构分块 H.264的宏 ...
- H.264学习笔记1——相关概念
此处记录学习AVC过程中的一些基本概念,不定时更新. frame:帧,相当于一幅图像,包含一个亮度矩阵和两个色度矩阵. field:场,一帧图像,通过隔行扫描得到奇偶两场,分别称为顶场和底场或奇场和偶 ...
- H.264学习笔记
1.帧和场的概念 视频的一场或一帧可用来产生一个编码图像.通常,视频帧可以分成两种类型:连续或隔行视频帧.我们平常看的电视是每秒25帧,即每秒更换25个图像,由于视觉暂留效应,所以人眼不会感到闪烁.每 ...
- H.264学习笔记4——变换量化
A.变换量化过程总体介绍 经过帧内(16x16和4x4亮度.8x8色度)和帧间(4x4~16x16亮度.4x4~8x8色度)像素块预测之后,得到预测块的残差,为了压缩残差信息的统计冗余,需要对残差数据 ...
- 02:H.264学习笔记
H.264组成 1.网络提取层 (Network Abstraction Layer,NAL) 2.视讯编码层 (Video Coding Layer,VCL) a.H.264/AVC影像格式阶层架构 ...
- H.264学习笔记之一(层次结构,NAL,SPS)
一 H.264句法 1.1元素分层结构 H.264编码器输出的Bit流中,每个Bit都隶属于某个句法元素.句法元素被组织成有层次的结构,分别描述各个层次的信息. 图1 H.264分层结构由五层组成,分 ...
- H.264学习笔记6——指数哥伦布编码
一.哥伦布码 哥伦布码就是将编码对象分能成等间隔的若干区间(Group),每个Group有一个索引值:Group Id. >对于Group Id采用二元码编码: >对于Group内的编码对 ...
- H.264学习笔记5——熵编码之CAVLC
H.264中,4x4的像素块经过变换和量化之后,低频信号集中在左上角,大量高频信号集中在右下角.左边的低频信号相对数值较大,而右下角的大量高频信号都被量化成0.1和-1:变换量化后的残差信息有一定的统 ...
- H.264 White Paper学习笔记(二)帧内预测
为什么要有帧内预测?因为一般来说,对于一幅图像,相邻的两个像素的亮度和色度值之间经常是比较接近的,也就是颜色是逐渐变化的,不会一下子突变成完全不一样的颜色.而进行视频编码,目的就是利用这个相关性,来进 ...
随机推荐
- 2016/3/10 PHP (超文本预处理器) 是什么?
PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言.语法吸收了C语言.Java和Perl的特点,利于学习,使用广泛,主要适用于W ...
- xcode10的那些事
前言 这里主要介绍一下Xcode10 版本主要更新的内容.随着iOS12的发布,Xcode10已经可以从Mac App Store下载.Xcode10包含了iOS12.watchOS 5.macOS1 ...
- How to use filters in a GridPanel
You can just link statically required files in your index.html <link rel="stylesheet" t ...
- fastjson将json字符串中时间戳转化为日期
开发中,调用接口,往往会返回一个json字符串.对于json中的时间戳应该如何转为日期对象呢? 定义一个DateValueFilter类,这个类实现了fastjson中ValueFilter接口.其作 ...
- 并不对劲的bzoj3214:p3333:[ZJOI2013]丽洁体
题目大意 有三个由若干个单词组成的字符串\(T,A,B,C(|T|,|A|,|B|,|C|\leq 5*10^4,单词长度\leq5,每个单词出现次数\leq500)\) 求从\(T\)中至少删去多少 ...
- bzoj 2006 超级钢琴 —— ST表
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2006 本来应该是可以用主席树,找区间最小值,取出来后再找那段区间的次小值...... 但也可 ...
- hdu 1480
钥匙计数之二 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Sub ...
- 2.jeesite增删改查
一.准备数据 在数据库中中添加一张表和数据,以mysql为例 SET NAMES utf8; SET FOREIGN_KEY_CHECKS = 0; -- ---------------------- ...
- 461. Hamming Distance(汉明距离)
The Hamming distance between two integers is the number of positions at which the corresponding bits ...
- Codeforces Round #386 (Div. 2)G. New Roads [构造][树]
题目链接:G. New Roads 题意:给出n个结点,t层深度,每层有a[i]个结点,总共有k个叶子结点,构造一棵树. 分析: 考虑一颗树,如果满足每层深度上有a[i]结点,最多能有多少叶子结点 那 ...