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学习笔记(二)帧内预测
为什么要有帧内预测?因为一般来说,对于一幅图像,相邻的两个像素的亮度和色度值之间经常是比较接近的,也就是颜色是逐渐变化的,不会一下子突变成完全不一样的颜色.而进行视频编码,目的就是利用这个相关性,来进 ...
随机推荐
- Codeforces 709E. Centroids 树形DP
题目链接:http://codeforces.com/contest/709/problem/E 题意: 给你一棵树,你可以任删一条边和加一条边,只要使得其仍然是一棵树,输出每个点是否都能成为重心 题 ...
- Django's CSRF mechanism
Forbidden (403) CSRF verification failed. Request aborted. You are seeing this message because this ...
- jquery ajax 回调函数
function test(callback){ $.ajax({ url:'/mall/credit', type: 'get', dataType:'json', processData: fal ...
- 省市区三级-javabean和mybatis
bean: package com.baiwang.moirai.model.sys; import com.fasterxml.jackson.annotation.JsonInclude; /** ...
- URAL1099 Work Scheduling —— 一般图匹配带花树
题目链接:https://vjudge.net/problem/URAL-1099 1099. Work Scheduling Time limit: 0.5 secondMemory limit: ...
- 【BZOJ 1233】 干草堆
[题目链接] 点击打开链接 [算法] 这题有一个性质 : 位于顶层的干草堆可以满足宽度最小且高度最高 根据这个性质,用单调队列优化DP,即可 [代码] #include<bits/stdc++. ...
- bzoj4260 REBXOR——Trie树
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4260 对于每个位置,求一个前缀最大值和后缀最大值: 也就是从1到 i 的异或和要找前面某处的 ...
- Identity 使用的命名空间
必须在视图或控制器类中引用 了using Microsoft.AspNet.Identity 这个命名空间. using Microsoft.AspNet.Identity; 才能使用它User.Id ...
- TensorFlow博客翻译——用TensorFlow在云端进行机器学习
https://github.com/tensorflow/tensorflow 原文地址 Machine Learning in the Cloud, with TensorFlow Wednesd ...
- 洛谷 P1083 借教室【二分+差分/线段树】
二分mid,然后用1~mid的操作在差分序列上加减,最后把差分序列前缀和起来,看是否有有超过初始r值的 #include<iostream> #include<cstdio> ...