视频基础学习四——视频编码基础一(冗余信息)

文章目录

  • 前言
  • 一、编码压缩的原理
    • 1.空间冗余
      • 帧内预测
    • 2.时间冗余
      • 帧间预测
        • 运动估计
        • 运动补偿
    • 3.编码冗余
    • 4.视觉冗余
  • 二、压缩编码的流程
    • 1.编码器
    • 2.编解码流程
  • 总结


前言

上一篇文章介绍了视频帧率、码率、与分辨率。也介绍了为什么需要对视频进行压缩,因为720P、rgb24编码格式、25帧、1s的视频大小为
1280 ∗ 720 ∗ 3 / 1024 / 1024 ∗ 25 ∗ 1 = 65.75 M B 1280∗720∗3/1024/1024∗25∗1=65.75MB 12807203/1024/1024251=65.75MB
这无疑是很大的内存。

一、编码压缩的原理

视频编码就是为了去除视频帧之间大量的冗余信息,而视频图像中的冗余信息有以下几种:

  • 空间冗余:图像相邻像素之间有较强的相关性
  • 时间冗余:视频序列的相邻图像之间内容相似
  • 编码冗余:不同像素值出现的概率不同
  • 视觉冗余:人的视觉系统对某些细节不敏感
  • 知识冗余:规律性的结构可由先验知识和背景知识得到

压缩技术就是将这些冗余信息去掉,去除数据之间的相关性,包含帧内图像数据压缩技术、帧间图像数据压缩技术和熵编码压缩技术

下面就以这张动态图来进行介绍这几种冗余
在这里插入图片描述

1.空间冗余

我们从这个图片中选中一块区域进行放大,提取像素点在这里插入图片描述
可以看到,相邻像素点之间几乎全部一模一样,这个也就是空间上的相似性,空间信息的冗余。
那么如何进行压缩呢,这里就有一种办法叫做帧内预测

帧内预测

我们预测:在一帧当中,颜色在垂直方向上保持一致,这种预测意味着未知像素颜色与近邻像素相同,看下图
在这里插入图片描述
但是这种预测是错误的,因为该表单中,最右下角的像素颜色不是(255,255,51),而应该是(255,255,204),这个时候我们通过减去实际值,算出残差,这样的数据就更容易压缩
在这里插入图片描述
同样,我们可以通过这个残差预测距离这个残差相邻的数据是什么样的像素

2.时间冗余

时间冗余信息是发生在相邻帧之间的,比如下面一张图片。
在这里插入图片描述
这两张图片具有很大的相似,随着时间的改变,除了海绵宝宝动作在变,背景是一直都没有变化的。
在时间上就构成了像素的相关性,这个就是时间冗余,通过帧间预测的方法可以进行压缩这种冗余信息。

帧间预测

帧间预测是利用视频时域的相关性,使用邻近已编码图像像素预测当前图像的像素,以达到有效去除视频时域冗余的目的。
帧间预测具有两大内容:运动估计(运动搜索、亚像素插值和运动矢量)、运动补偿

运动估计

运动估计是以当前图像的像素块在之前已编码的图像中寻找到最佳的一个匹配块。从而提取到当前图片的运动信息。

比如以当前帧减去上一帧(参考帧),留下的残差就可以视为一个匹配块,当然实际上是远比这要复杂的,最直接的方法是为每个像素指定一个运动向量,但是这种基于像素的运动表示法会有很高的数据量,为了降低这种复杂度,可以将图像分为不同大小的像素块,只有块大小选择合适,每个块的运动参数可以独立进行估计,这就是基于块的运动表示法

运动补偿

运动补偿:一种描述相邻帧(相邻在这里表示在编码关系上相邻,在播放顺序上两帧未必相邻)差别的方法,具体来说是描述前面一帧的每个小块怎样移动到当前帧中的某个位置去。

假使现在一个像素块在t时间坐标为x,t+1时间坐标在x+1,那么我们可以预测下一时间t+2该像素块在x+2位置。
在这里插入图片描述

3.编码冗余

这个纯纯是一种数据运算了,在视频基础学习二——图像深度与格式(RGB与YUV)这篇文章里面,曾介绍过YUV格式,也曾提到过YUV的出现可以大大减少编码存储内存,人眼对于Y分量也就是明度感知最为明显,对于UV分量反而不明显,所以就可以丢弃一些UV分量,而加大Y分量的数据,同时分析Y分量的频率进行压缩。

其中Y分量,也就是明度通过RGB进行转换为
Y = 0.299 R + 0.587 G + 0.114 B ; Y = 0.299R + 0.587G + 0.114B; Y=0.299R+0.587G+0.114B;

其中在编码中又把明度和RGB的关系进行了分级,叫做灰度级,通常分成了0~255个级别
在这里插入图片描述
那么灰度值怎么对于编码压缩提到了帮助呢?这里就用到的数学公式,有兴趣的可以看看博主这边从别的文章中进行摘录过来的

对于图像来说,可以假设一个离散随机变量表示图像的灰度级,并且每个灰度级(rk)出现的概率为pr
在这里插入图片描述

这里L是灰度级数,nk是第k个灰度级在图像中出现的次数, n是图像中的像素总数。如果用于表示每个rk值的比特数为 l(rk),則表达每个像素所需的平均比特数为:
在这里插入图片描述

就是说,将表示每个灰度级值所用的比特数和灰度级出现的概率相乘,将所得乘积相加后得到不同灰度级值的平均码字长度。如果某种编码的平均比特数越接近熵,則编码冗余越小。

4.视觉冗余

视觉冗余:人类的视觉系统由于受生理特性的限制,对于图像场的注意是非均匀的,人对细微的颜色差异感觉不明显。

上面说了人们对于一张图片的明度进行了分级,即灰度级,范围是0~255级,而人类的视觉一般分辨的能力只有26灰度等级,而一般的图像量化采用的是28灰度级。会存在视觉上的冗余,比如下面的图片

在这里插入图片描述
最左边的图显示了一张存在0~255种灰阶的图片,中间则是经过了量化为16种灰度级的图片,通过改进后,减少了假轮廓和颗粒后(IGS标准量化方法)生成的最右边的图像。

值得注意的是,这是一种不可逆的操作,必定会造成定量信息的损失

二、压缩编码的流程

综上所诉,编码器大概压缩过程和编解码器的流程就像下面两张图一样

1.编码器

代码如下(示例):

在这里插入图片描述

2.编解码流程

在这里插入图片描述


总结

其实这边文章并没有介绍实际编码应用中使用到的一些技术,而是偏向编码原理的一些知识,但是我个人还是认为知道这些知识还是非常有意义的,那么下一篇会介绍实际编码中的一些知识。

如果对您有所帮助,请帮忙点个赞吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/511306.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

吴恩达深度学习笔记:深层神经网络(Deep Neural Networks)4.1-4.4

目录 第一门课:神经网络和深度学习 (Neural Networks and Deep Learning)第四周:深层神经网络(Deep Neural Networks)4.1 深层神经网络(Deep L-layer neural network) 第一门课:神经网络和深度学习 (Neural Networks a…

在CentOS 7上安装Python 3.7.7

文章目录 一、实战步骤1. 安装编译工具2. 下载Python 3.7.7安装包3. 上传Python 3.7.7安装包4. 解压缩安装包5. 切换目录并编译安装6. 配置Python环境变量7. 使配置生效8. 验证安装是否成功 二、实战总结 一、实战步骤 1. 安装编译工具 在终端中执行以下命令 yum -y groupin…

【热门话题】WebKit架构简介

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 WebKit架构简介一、引言二、WebKit概览1. 起源与发展2. 模块化设计 三、WebCore…

大数据学习第十二天(hadoop概念)

1、服务器之间数据文件传递 1)服务器之间传递数据,依赖ssh协议 2)http协议是web网站之间的通讯协议,用户可已通过http网址访问到对应网站数据 3)ssh协议是服务器之间,或windos和服务器之间传递的数据的协议…

苹果安卓双端短视频直播系统源码,带后台-支持二开和采集

搭建教程 1.PHP5.6-7.2 mysql 5.6 redis5.0 nginx1.15 2.宝塔就完全满足了 我刚开了台服务器,建议用阿里云的 我这个是腾讯云 先让服务器 自己装着 时间比较长 3.搭建前需要准备的东西 腾讯云直播、七牛存储、百度语音、腾讯地图等好多东西 七牛存储…

文件操作(2)

前言 上节我们学习了文件操作,因为文件操作的内容比较多,我把文件操作的博客拆分成两节来进行讲解,那么事不宜迟,我们正式的开始今天的学习 文件的顺序读写(2) fprintf、fscanf函数的使用 fprintf是格式…

深度学习理论基础(六)注意力机制

目录 深度学习中的注意力机制(Attention Mechanism)是一种模仿人类视觉和认知系统的方法,它允许神经网络在处理输入数据时集中注意力于相关的部分。通过引入注意力机制,神经网络能够自动地学习并选择性地关注输入中的重要信息&…

深度学习系列-python实现-初步学习构建神经网络

深度学习系列-python实现-初步学习构建神经网络 前言1.在Keras中加载MNIST数据集2.构建简单的神经网络模型3.训练模型4.模型的预测和评估5.总结 前言 在数字时代,数据已经成为了一种无处不在的资源。从商业分析到科学研究,从人工智能到机器学习&#xf…

FPGA高端项目:解码索尼IMX327 MIPI相机+图像缩放+视频拼接+HDMI输出,提供开发板+工程源码+技术支持

目录 1、前言免责声明 2、相关方案推荐本博主所有FPGA工程项目-->汇总目录我这里已有的 MIPI 编解码方案 3、本 MIPI CSI-RX IP 介绍4、个人 FPGA高端图像处理开发板简介5、详细设计方案设计原理框图IMX327 及其配置MIPI CSI RX图像 ISP 处理自研HLS图像缩放详解Video Mixer…

Folder Icons for Mac v1.8 激活版文件夹个性化图标修改软件

Folder Icons for Mac是一款Mac OS平台上的文件夹图标修改软件,同时也是一款非常有意思的系统美化软件。这款软件的主要功能是可以将Mac的默认文件夹图标更改为非常漂亮有趣的个性化图标。 软件下载:Folder Icons for Mac v1.8 激活版 以下是这款软件的一…

mac+python3+selenium 4

下载自己的版本 ChromeDriver - WebDriver for Chrome - Downloadshttps://chromedriver.chromium.org/downloads https://googlechromelabs.github.io/chrome-for-testing/known-good-versions-with-downloads.jsonhttps://googlechromelabs.github.io/chrome-for-testing/k…

m2ts是什么文件格式?m2ts手机能播放吗?

大多数现代手机可以播放M2TS(MPEG-2 Transport Stream)格式的视频文件,但也取决于手机型号和操作系统。某些手机可能需要安装第三方播放器才能播放此格式的视频。如果您的手机无法直接播放M2TS文件,可以尝试使用视频转换工具将其转…

试过了,ChatGPT确实不用注册就可以使用了!

看到官网说不用登录也可以直接使用ChatGPT 我们来试一下 直接打开官网 默认是直接进入了chatgpt3.5的聊天界面 之前是默认进的登录页面 聊一下试试 直接回复了,目前属于未登录状态,挺好! 来试下ChatGPT4 跳转到了登录页面 目前来看gpt4还…

Maven是什么? Maven的概念+作用

1.Maven的概念 Maven中文意思为“专家“、”内行“的意思,它是一个项目管理工具,可以对Java项目进行构建、依赖管理,通俗点 就是通过pom.xml文件的配置获取jar包不用手动的去添加jar包。 2.Maven的作用 对于大的工程,需要引用各…

Golang Context是什么

一、这篇文章我们简要讨论Golang的Context有什么用 1、首先说一下Context的基本作用,然后在讨论他的实现 (1)数据传递,子Context只能看到自己的和父Context的数据,子Context是不能看到孙Context添加的数据。 (2)父子协程的协同,比…

游戏引擎架构01__引擎架构图

根据游戏引擎架构预设的引擎架构来构建运行时引擎架构 ​

github本地仓库push到远程仓库

1.从远程仓库clone到本地 2.生成SSH秘钥&#xff0c;为push做准备 在Ubuntu命令行输入一下内容 [rootlocalhost ~]# ssh-keygen -t rsa < 建立密钥对&#xff0c;-t代表类型&#xff0c;有RSA和DSA两种 Generating public/private rsa key pair. Enter file in whi…

用于AGV物流机器人的爱普生陀螺仪传感器XV7000系列

适用于AGV物流机器人的爱普生陀螺仪传感器XV7000系列:XV7001BB&#xff0c;XV7011BB。以前我们都知道XV7001BB&#xff0c;XV7011BB适用于扫地机器人&#xff0c;其实对于AGV物流机器人来说&#xff0c;XV7000系列生陀螺仪传感器也是其中重要一环。AGV机器人又叫做AGV搬运机器人…

day02-SpringCloud02(Nacos、Feign、Gateway)

1.Nacos 配置管理 Nacos 除了可以做注册中心&#xff0c;同样可以做配置管理来使用。 1.1.统一配置管理 当微服务部署的实例越来越多&#xff0c;达到数十、数百时&#xff0c;逐个修改微服务配置就会让人抓狂&#xff0c;而且很容易出错。我们需要一种统一配置管理方案&#x…

2024第八届全国青少年无人机大赛暨中国航空航天科普展览会

2024第八届全国青少年无人机大赛暨中国航空航天科普展览会 邀请函 主办单位&#xff1a; 中国航空学会 重庆市南岸区人民政府 招商执行单位&#xff1a; 重庆港华展览有限公司 为更好的培养空航天产业人才&#xff0c;汇聚航空教育产业创新科技&#xff0c;丰富和完善航…