简单记录H264的一些压缩技术(1)
预测编码
- 分帧内编码和帧间编码
- 对于视频信号,一副图像内邻近的像素点之间有着较强的空间相关性,相邻图像之间有着很强的时间相关性。
- 针对空间冗余有帧内预测编码,对于时间冗余有基于运动估计(MotionEstimation,ME)和运动补偿(Motion Compensation,MC)技术的帧间预测编码
- 通过预测,可以得到实际像素值与预测像素值的差值。解码器通过采用与编码器完全相同的预测方法,得到完全相同的预测值,然后用解码出来的预测残差与预测值相加就得到重建图像
帧内压缩(Lossy)
解决的是空域数据冗余问题。
理论:
- 相邻像素的差别不是很大,所以可以进行宏块预测,在帧内可以用一个宏块去预测另一个宏块(有9种模式)
- 人们对亮度的敏感超过色度
- YUV很容易将亮度与色度分开
- 对预测模式信息和帧内预测残差值分别进行压缩。其中预测模式信息是选用9种模式预测后的图像,得到的图像与原图像的差值就是残差值
- 对I帧/IDR帧进行压缩
帧间压缩(Lossy)
解决的是时域数据冗余的问题.
1.运动估计
通过宏块匹配找到运动矢量,常见的宏块查找算法:
1)三步搜索
2)二维对数搜索
3)四步搜索
4)钻石搜索
2. 运动补偿
找到编码后的图像与ori pic的残差值,解码时进行补偿
无论是帧内压缩还是帧间压缩,它们都是以宏块为单位
基本宏块16x16,还可划分为若干子块(16x8,8x16, 8x8, 8x4,4x8, 4x4 )
DCT(Lossless)
整数离散余弦变换,将空间上的相关性变为频域上无关的数据然后进行量化
CABAC压缩(Lossless)
简单记录H264的一些压缩技术(1)相关推荐
- RAISR-master:google图像新压缩技术RAISR的测试代码调试记录(Python实现,没接触过python的小白,内含pip install解决方案)
RAISR-master:google图像新压缩技术RAISR的测试代码调试记录(Python实现,没接触过python的小白,内含pip install解决方案) 参考文章: (1)RAISR-ma ...
- 主流视频编码压缩技术基本概念(二) 算法分析
主流视频编码压缩技术基本概念(二) 算法分析 一.MPEG-1技术介绍 1. MPEG-1的层次及语法结构 ①.运动补偿序列(Sequence) ②.图片组(GOP) ③. 图片(Picture) ④ ...
- 深入浅出雷达脉冲压缩技术
本文讲脉冲压缩技术.我在学习的时候也查过很多资料,尤其是网上搜到的资料,基本都不太清楚或者不好理解.我想通过自己的努力把脉冲压缩技术的今生前世讲讲清楚. 本文是我的第一篇文章,我是一名技术爱好者,典型 ...
- 浅谈存储重删压缩技术(一)
浅谈存储重删压缩技术(一) 作为一个做企业存储市场的存储人,最近两年我不断被重删压缩撩拨着.对于重删压缩这个技术的好坏,真实需求还是伪需求大家看法不一.今天我就只能谈谈我个人的看法.更多观点请关注&q ...
- H.264压缩技术之视频基础(foundation of learning video)——Matlab源码解析
前言 为了后续能更好的理解,I帧编码与P帧编码,所以笔者先对数字视频中的一些基础概念进行铺垫.后续比较复杂的帧内预测,与帧间预测理解起来就会相对容易些. 关于Matlab中h.264的main函数部分 ...
- 【论文阅读】(2023.06.09-2023.06.18)论文阅读简单记录和汇总
(2023.06.09-2023.06.12)论文阅读简单记录和汇总 2023/06/09:虽然下周是我做汇报,但是到了周末该打游戏还是得打的 2023/06/12:好累好困,现在好容易累. 目录 ( ...
- 简单实现h264转ts
https://www.cnblogs.com/dyan1024/p/10224538.html 简单实现h264转ts 转载注明出处:https://www.cnblogs.com/dyan1024 ...
- Java压缩技术(四) GZIP——Java原生实现
转载自 Java压缩技术(四) GZIP--Java原生实现 GZIP常常用在linxu环境下,是一种非常简单的压缩算法.在Java实现API中,它仅仅包含两个实现类:GZIPInputStream ...
- Java压缩技术(五) GZIP相关——浏览器解析
转载自 Java压缩技术(五) GZIP相关--浏览器解析 GZIP本身就是一种网络流压缩算法,而且应用相当广泛.如果网络访问过程中,其数据流较大,势必降低网络访问效率,此时就需要考虑使用压缩!当 ...
最新文章
- 如何管理项目中外包开发人员、测试人员
- 360oauth token是什么意思_我在BOSS直聘上都和面试官聊了些什么?
- mysql利用外连接删除数据_MySQL-快速入门(6)连接查询、子查询、正则表达式查询、数据的插入删除更新...
- squid2.6加速WEB支持虚拟主机配置心得体会 .txt
- 2018年5月5日论文阅读
- 怎么p出模糊的照片_36. 盲去卷积 - 更加实用的图像去模糊方法
- 解决string字符串关于copy函数的C4996错误
- SpringBoot2.0.3 + SpringSecurity5.0.6 + vue 前后端分离认证授权
- 2020年python工资一般多少-2020届毕业生874万,这个岗位月薪2万竟无人问津...
- idea project settings在哪_IntelliJ IDEA如何对project的目录进行筛选显示?
- H.264 AVC 编解码标准
- MagicDraw-参数图
- 高一下册计算机教案,高一信息技术教案
- 大学生如何学习c语言!
- 计算机视觉——Harris角点检测(课堂实验)
- java 微博发布时间_java 对新浪微博微博的发表时间解析
- HBuilder使用夜神模拟器
- 明源云客微信抢房技巧_抢房明源系统是什么意思_明源云客抢房软件
- myeclipse自定义背景颜色
- 现在国际上发行的优秀的儿童期刊杂志有哪些
热门文章
- unsafe java_java Unsafe详细解析
- POI导入导出excel表
- Oracle-delete使用
- Amazon live亚马逊直播选品建议
- 史上最强模型 GPT-4 上线:一张手绘草图能生一个网站、60 秒搞定一个游戏开发!...
- 【五分钟会,半小时懂】人声分离Demucs
- java comparator用法_Java Comparator thenComparingLong()用法及代码示例
- ubuntu linux 自动挂载分区 硬盘 文件 无权限 Permission denied
- ESLint Unary operator '++' used
- Linux-挂载硬盘