Chapter 3. Video Coding Concepts
本章主要介绍一些有关视频编码的概念
时域模型(Temporal Model)
时域模型的作用是去除帧间冗余。如:将第二帧减去第一帧,得到的剩余信息,其能量会远小于第二帧本身。
基于块的运动估计和补偿
运动估计:针对于当前帧的M*N大小的块,在参考帧中寻找与它最相近的块(找相减后剩余能量最小的)。
运动补偿:当前帧的块减去参考帧中匹配的块,得到一个剩余块。
运动向量:上述两个块之间的位移。
宏块(Macroblock)
在多数视频编码标准中(MPEG-1,MPEG-2,MPEG-4 Visual, H.261,H.263,H.264),单帧中的一个16*16(通常的大小)的像素区域被称之为一个宏块。
宏块的编码方式有如下两种:
- 帧内(intra)编码:比如场景切换的时候,由于邻近帧的内容与当前帧会有较大的差距,因此如果采用残差+运动补偿的编码方式,压缩效率并不会太高,因此直接采用帧内编码。
- 帧间(inter)编码:即参考邻近帧的相似宏块进行编码,在两帧内容变化不大的情况下能够有效的压缩数据。
宏块的大小
如书中第35页配图,在没有运动补偿的情况下,相邻两帧相见的剩余帧依然会有比较多的能量,加上运动补偿后,剩余能量显著降低。此时随着宏块的变小,剩余能量也会不断地下降,但是越小的宏块意味着越复杂的算法复杂度(需要搜索更多的宏块区域)以及更多的运动向量,因此两者之间是一个相互平衡的关系。
在例如H.264等视频标准中,可以采用自适应的宏块大小。
子像素(Sub-pixel)
搜索宏块时,如果把搜索的基本单位细化到半像素,甚至四分之一像素,或许可以得到更加精确的结果,但是要表示浮点型的运动向量,则需要更多的数据位数。
因此:更精确的运动补偿需要更多的位数对运动向量进行编码,但由于匹配变得更加精确,因此剩余块的编码所需要的位数会降低;反之,不太精确的运动补偿所需要的位数会减少,但是因为匹配也变得不太精确,所以剩余块的编码所需要的位数会增加。这还是一个在两者之间需要平衡的问题。
基于区域的运动补偿
通常自然界中的很多物体都不会是矩形,对特定区域内的像素进行运动补偿有时候会有更好的效果,在MPEG-4 Visual中有支持这方面特性的工具。
图像的预测编码
有DPCM等。
图像的变换编码
这里列出常见的几种
DCT
对图像做DCT变换,得到的DCT洗漱其实对应了不同基底的系数,常见的二维DCT基底在书中48页给出
小波
思想和DCT其实比较类似。二维小波变换将图像变成四个子图像(LL,HL,LH,HH),其中第一个为低频分量,后面三个都是高频分量。
熵编码
用来压缩数据冗余,例如JPEG中使用的是霍夫曼编码。
Chapter 3. Video Coding Concepts的更多相关文章
- Overview of the High Efficiency Video Coding (HEVC) Standard阅读笔记
1.INTRODUCTION High Efficiency Video Coding(HEVC) <-> H.265 MPEG-4 Advanced Video Coding(AVC) ...
- Deep Learning-Based Video Coding: A Review and A Case Study
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! 1.Abstract: 本文主要介绍的是2015年以来关于深度图像/视频编码的代表性工作,主要可以分为两类:深度编码方案以及基于传统编码方 ...
- Chapter 2. Video Formats and Quality
本章节主要介绍一些视频格式相关的基础知识. 交织(Interlace) 即每一个采样帧采样时隔行采样,奇数行和偶数行交替. YCbCr 人眼视觉系统(Human Visual System, HVS) ...
- DeepCoder: A Deep Neural Network Based Video Compression
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! Abstract: 在深度学习的最新进展的启发下,我们提出了一种基于卷积神经网络(CNN)的视频压缩框架DeepCoder.我们分别对预测 ...
- Chapter 1. Introduce
前言 本书全名是<H.264 and MPEG-4 Video Compression, Video Coding For Next-generation Multimedia>,作者为 ...
- video codec 学习笔记
一. H.264 (http://www.baike.com/wiki/H264) 三大标准: AVC(Advanced Video Coding,AVC) H.264,同时也是MPEG-4第十部分 ...
- 【HEVC帧间预测论文】P1.2 An Efficient Inter Mode Decision Approach for H.264 Video Codin
参考:An Efficient Inter Mode Decision Approach for H.264 Video Coding <HEVC标准介绍.HEVC帧间预测论文笔记>系列博 ...
- Video processing systems and methods
BACKGROUND The present invention relates to video processing systems. Advances in imaging technology ...
- RTP Payload Format for H264 Video
基础传输结构 rtp中对于h264数据的存储分为两层,分别是 VCL: video coding layer 视频编码层 这是h264中block, macro block 以及 slice级别的定义 ...
随机推荐
- 无分类编址(CIDR)构成超网
CIDR(无分类域间路由选择) CIDR最主要有两个以下特点: 消除传统的A,B,C地址和划分子网的概念,更有效的分配IPv4的地址空间,CIDR使IP地址又回到无分类的两级编码.记法:IP地址::= ...
- Python数据类型和变量
一.数据类型1.整型整型类型比较简单,就是我们数学中的正整数(1,2,520..).负整数(-2,-9..);与java不同的是,python中的整数可以无限大,而java的整数类型int为四个字节, ...
- vim 和grep 正则表达式相似和区别
正则表达式由两种基本字符类型组成:原义(正常)文本字符和元字符.元字符使正则表达式具有处理能力.所谓元字符就是指那些在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符前面的字符 ...
- java关键字transient与volatile小结
本文转自:http://heaven-arch.iteye.com/blog/1160693 transient和volatile两个关键字一个用于对象序列化,一个用于线程同步,都是Java中比较高阶 ...
- 纯css实现多标签浮动居中(任意个数)
在做的一个网页上有一块要用浮动标签,具体就是网页底部有未知数量,未知尺寸的元素要水平居中,有点类似于分页器. 首先,我们先新建一个容器con,就是标签的爸爸,用来控制标签在页面的位置,.father{ ...
- 什么是ZigBee、Wifi无线技术?有什么优势?
Zigbee:是基于IEEE802.15.4标准的低功耗个域网协议.根据这个协议规定的技术是一种短距离.低功耗的无线通信技术.这一名称来源于蜜蜂的八字舞,由于蜜蜂(bee)是靠飞翔和"嗡嗡& ...
- 决策树模型比较:C4.5,CART,CHAID,QUEST
(1)C4.5算法的特点为: 输入变量(自变量):为分类型变量或连续型变量. 输出变量(目标变量):为分类型变量. 连续变量处理:N等分离散化. 树分枝类型:多分枝. 分裂指标:信息增益比率gain ...
- R中用黏贴板读取excel数据以及用R生成人名
本人尚在超级菜鸟级别,中间有些代码写的很low,请不要见笑! 1.今天先跟大家分享一个小技巧,用黏贴板将excel中的数据读进R 首先选中要读入R的数据 如图,上面是我分析的病人相关资料,Ctrol+ ...
- Eclipse导入项目常见问题----jdk版本问题(有个红色感叹号)01
我们导入项目时,有时会看到项目上有一个[红色的感叹号!],这说明该项目的jdk版本和你的电脑安装的jdk版本不匹配. 可能导入的项目时jkd1.6,1.8等等,而你安装的是jdk1.7 如下图: 解决 ...
- day_ha配置文件
流程图: 代码 #!/sur/bin/env python # -*- coding: utf-8 -*- #{"backend": "www.oldboy.org&qu ...