帧内压缩
帧间压缩


帧内压缩技术:如一张图片,它占用一定的空间,所谓的帧内压缩技术,就是解决这张图片内的数据压缩问题。比如图片的背景是蓝色的背景,在背景前有一个物体,那么整个蓝色的背景就可以用一个非常小的数据量进行存储,后面在进行解压缩的时候,通过很少的数据量就能完全还原回去。

帧间压缩:

余弦变换 与 CABAC 属于无损压缩。帧内压缩与帧间压缩属于有损压缩(去掉不必要的数据)。


帧内压缩



上图中白色区域为 4*4的宏块,可以根据不同的模式 推测出来



帧间压缩





将一张图划分为很多的小宏块,图中的每一个格子并不是像素,而是宏块。图中代表的是 一组GOP 的众多强相关的视频帧,为台球以及球桌,台球从一个角运动到另一个角,在这一组帧中抽出相邻的两个帧,左为第一帧 右为第二帧, 第一帧中的小球在某个宏块中,那么可以扫描第二帧中的每一个宏块,对比哪一个宏块的相似度 最近接 第一帧台球所在的宏块, 就找到第二帧中的台球的位置,并记住坐标,有了连续两帧的目标宏块的坐标,此时就可以得到前两帧的台球的运动矢量,简单理解为方向。这里只是说明的台球的查找,事实上 一帧图像中的每一个宏块都要做类似的查找,只是因为由于本例中台球桌的背景色一直,所以可以优化掉,最主要的就是查找台球这一个宏块。


宏块的查找的整个过程其实就是运动估计,将GOP中每张图的运动估计都得到就得到了右图虚线部分,背景只需要存很小的一部分数据就可以,最主要的是存储台球的运动矢量。

除了要获取台球的运动矢量之外,还有一个残差值,对于台球的宏块来说,在相邻帧匹配查找时,是有一定的变化的,还是有一定差别的,这些差别就是残差值,如下图中很虚的一部分,深红的运动矢量,虚宏是残差值。在后面解码的时候 需要有运动矢量和残差值。




会影响残差值和运动矢量,丢失帧 这部分的残差值和运动矢量都没有了,这样就会有一些模糊的数据。
这里的丢帧主要指的是 B帧与P帧。如果是I帧 那实际上后面所有的数据都没办法解出来。


假如 250帧传一个 IDR帧,如果发生丢帧,等待下一个IDR帧,如果我们每秒是30帧,那么要等好几秒。所以就会由卡顿现象。
所以花屏 和 卡顿 是比较矛盾的。不能完全同时满足,没办法完全同时兼顾。具体看自己选择。

有朋友说 可以一秒钟插一个IDR帧,这样最多也就卡顿一秒,但是这样就会有一个问题,由于你是1秒插一个IDR帧,那么就要插很多IDR帧,那数据量必然就会增加,因为IDR帧属于帧内压缩技术,他的压缩比没有帧间压缩比高,对整个带宽有很大影响,如果带宽OK 多插一些倒是没事。

帧间压缩 与 帧内压缩相关推荐

  1. H264视频GOP组和视频压缩技术之有损压缩(帧间压缩、帧内压缩)、无损压缩(ACBAC压缩)

    H264视频GOP组和视频压缩技术之有损压缩(帧间压缩.帧内压缩).无损压缩(ACBAC压缩) 一. 编码帧的分类 1.I帧(intraframe frame), 关键帧,采用帧内压缩技术.IDR帧属 ...

  2. 视频压缩编码 gop(Group of Pictures)(I帧间隔)的概念、IDR、I帧(关键帧,intra picture)、P帧、B帧、帧内压缩、帧间压缩、pts(显示时间)、dts(解码时间)

    文章目录 前言: 关于视频的基础定义 GOP:Group of Pictures 压缩(也就是编码) 帧内压缩:自己本身压缩,不参考其他的帧. 帧间压缩:参考其他视频帧压缩. 解码(解压缩) 为什么好 ...

  3. iOS视频硬编码技术

    iOS视频硬编码技术 一.iOS视频采集硬编码 基本原理 硬编码 & 软编码 硬编码:通过系统自带的Camera录制视频,实际上调用的是底层的高清编码硬件模块,即显卡,不使用CPU,速度快 软 ...

  4. H.264基础知识及视频码流解析

    H.264基础知识及视频码流解析 目录 H.264概述 H264相关概念 H264压缩方式 H264分层结构 H264码流结构 H264的NAL单元 H.264视频码流解析及代码实现 1. H.264 ...

  5. H264中I、B、P帧编码原理及pts和dts分析

    转载自:https://blog.csdn.net/bingqingsuimeng/article/details/9982107 --前言-- H264是新一代的编码标准,以高压缩高质量和支持多种网 ...

  6. Android视频开发基础

    Android视频开发基础 版权声明:本文为[viclee]原创,如需转载请注明出处~ https://blog.csdn.net/goodlixueyong/article/details/6205 ...

  7. 音视频开发(19)---Android视频开发基础(一)

    Android视频开发基础(一) 版权声明:本文为[viclee]原创,如需转载请注明出处~ https://blog.csdn.net/goodlixueyong/article/details/6 ...

  8. Android音视频【一】H264编码基础

    人间观察 岁月催人,时间过的太快了 音视频编码解码就是指通过特定的压缩/解压技术,将某个音视频格式的数据转换为另一种音视频格式数据.目前在Android中的音视频用的最多的就是H264+aac的方式进 ...

  9. 视频压缩编码基础知识(上)

    文本位于文章底部 目前最新的视频编码器应该是H265/HEVC主要应用于高质量视频压缩,为未来2K.4K视频传输打基础,缺点是编解码消耗资源大 预测编码: 利用帧内部的相关性,只传输实际像素与参考像素 ...

最新文章

  1. OpenStack工作流服务Mistral简介
  2. Docker之tomcat和nginx的部署
  3. Qt学习笔记之项目管理(pro)文件
  4. vim 分屏 最大化_Vim的分屏功能命令大全
  5. case when mysql_mysql条件语句case when的实例
  6. docker安装测试及问题解决
  7. Glide加载圆形图片并且带白色边框(绝对实用)
  8. 男人在最穷、最落魄,事业低谷期的时候最需要的是什么?
  9. 如何在本地使用markdown进行博客编辑
  10. 查找和杀掉postgresql堵塞的会话
  11. 《More_Effective_C++》pdf
  12. 32. 如果确实需要删除元素,则需要在remove这一类算法之后调用erase
  13. java-用cmd运行java命令
  14. Javaweb阶段学习
  15. 重磅:2019 前端开发者进阶指南.pdf
  16. 【TypeScript】TS与Vue
  17. 企业级呼叫中心 如何构建?
  18. Born近似和Rytov近似
  19. HarmonyOS服务开放平台全面了解
  20. 内核二分缺陷_缺陷跟踪

热门文章

  1. FSSC22000认证咨询,FSSC 22000食品行业可以采用风险管理和在其他行业广泛得到验证的质量保证技术
  2. 软件功能设计-checklist
  3. 腾讯手游助手诛仙手游服务器对不上手机,诛仙手游和电脑互通吗
  4. 简单的音频能量和rmse计算方法
  5. 学生课堂提问系统java源码_课堂管理系统;在线教辅平台;java课设(示例代码)...
  6. 小虎电商浏览器:智能店长软件应该怎么打单?
  7. Raspberry Pi 4B树莓派 | #入门教程09# 树莓派广角摄像头使用教程
  8. 南艺附中 计算机音乐,南艺附中难考吗?那群牛炸天的孩子就在这里起步
  9. 虚拟直播硬核开启线上发布会未来可能性,XR直播技术加速品牌破圈
  10. anchor译中文,Anchor[锚]的中文翻译及英文名意思