热门标签 | HotTags
当前位置:  开发笔记 > 开放平台 > 正文

音视频编码过程,编码解码三种模式

视频编码,是视频处理中的一个核心技术。当采集到视频数据,将视频传输之前,需要对视频数据进行编码。视频编码的理论基础是jddyb的信息论,信息论是用概率和数理统计的方法研究信息、信息


视频编码是视频处理中的核心技术。


现代我们看到的所有视频,包括电视、网络和手机,大多数视频都是经过编码和解码的。


整个视频技术的基本流程是视频数据采集、视频数据编码、视频数据传输、视频数据解码、视频数据处理。


在收集视频数据并传输视频之前,必须对视频数据进行编码。 本文整理并回答以下三个问题。


为什么要进行视频编码? 为什么可以进行视频编码? 视频编码的终极目标是什么? 1 .为什么要进行视频编码? 简单地说,这是为了减少传输的视频数据量。 视频编码的主要目的是压缩原始视频的数据量。


为什么要减少传输的数据量呢? 由于网络带宽资源有限,传输大量视频数据的成本非常高,为了降低成本,提高传输效率,对原始数据进行压缩编码。


第一篇文章【视频编解码-01】像素-PPI-比特率-码率……计算了100分钟的电影原始数据量,如果不压缩,不仅传输成本高,存储成本也高。


2 .为什么可以进行视频编码? 我理解了需要视频编码的理由。 让我们看看为什么可以进行视频压缩编码。 这个问题是,视频压缩编码的条件是什么? 视频压缩编码压缩了什么样的数据?


视频编码的理论基础是jddyb的信息论,信息论是利用概率和数理统计方法研究信息、信息熵、通信系统、数据传输、密码学和数据压缩等问题的基础理论。 视频编码是数据压缩的范畴,因此信息论是视频压缩的基础。


关于jddyb的信息论,请参考百度百科、jddyb三定理。


首先,让我们来理解信息熵这个概念。


以下公式表示源s的熵:


单位:位/字符


信息熵到底是什么呢? 信息量的测量单位。 请不要想什么不确定性。 让我们认为,抽象而让人想吸的是信息的多样性吧。 它的实际意义有两个:


源s平均信息量对所有码元s的平均所需的比特数进行编码


直观理解,源熵是编码该源的平均所需的最小位数。 为什么可以进行视频压缩编码?


第一个条件:jddyb第一定理【边长无失真新原编码定理】,它将原始源符号转换为新的码元,使码元尽可能遵循等概分布,使每个码元具有唯一性


*第二个条件: **视频数据本身存在大量数据冗馀。


视频数据的冗馀归纳起来,主要有以下冗馀


空间冗余是静止图像存在的主要数据冗馀性。 广阔一致的空间像素相似度非常高


从信息论中可以看出,作为视频序列、即相邻帧之间包含的非运动背景数据的编码冗余也为了表示图像数据的一个像素点,根据其信息熵的大小来对应由于在获取图像时很难获取像素的信息熵,一般如果每个像素用相同的位数来表示,则必然存在信息熵冗余;视觉冗余,人眼对图像不敏感、不均匀、非线性。 对某些失真不敏感,无法感知图像的细微变化。 这些微妙的变化失去了,人眼也感觉不到。 然而,当记录视频的原始数据时,通常假定视觉系统是线性均匀的,它产生比理想编码多的数据。 这在视觉上是冗长的;知识冗余图像包含图像中脸部的五官结构等人们的先验知识,这些位置信息是固定的; 在现有知识的基础上,可以建立某一图像中所含物体的模型,建立特征库。 这样,对图像进行编码时,只需保存几个特征参数就可以减少数据量。 知识冗馀是模型编码利用的主要特性;结构冗余,图像可以具有很强的纹理结构或自相似性,如果已知像素分布模式,则可以用特定过程来产生图像; 以上两个必要条件回答了为什么视频压缩编码是可能的。


3 .视频编码的终极目标是什么? 回答这个问题,也就是说视频压缩编码的上限是什么? 压缩到什么程度就不能压缩了。


数字视频具有数据冗馀性,可以进行压缩。


数字视频在数字化过程中采用帧内和帧间均匀采样,均匀表达由RGB三个分量采样量化后的数据,导致了空间冗馀、时间冗馀、编码冗馀。 正因为有了这三种冗馀,视频才能被压缩。 显然是视频编码的上限就是当冗余不再存在时的数据表达 。


参考例


推荐阅读
  • 杭州国际数字教育大会:高照实验学校Pepper机器人课程引发关注
    随着数字经济的蓬勃发展,教育领域的数字化转型成为必然趋势。2020年12月10日至11日,杭州国际博览中心举办了2020(杭州)国际数字教育大会,会议聚焦教育与科技的深度融合,展示了包括高照实验学校Pepper机器人课程在内的多项创新成果。 ... [详细]
  • 如何安装FARO Scene 2018?详尽的永久授权指南
    FARO Scene 2018 是一款专为专业用户设计的3D点云处理与管理软件。该软件支持从高精度3D激光扫描设备获取的大规模3D扫描数据的查看、管理和处理。本文将详细介绍如何安装及激活FARO Scene 2018的永久许可。 ... [详细]
  • 探讨低代码行业发展现状,分析其未能催生大型企业的原因,包括市场需求、技术局限及商业模型等方面。 ... [详细]
  • 本文介绍了如何在Windows操作系统中安装FFTW库,并详细说明了使用Visual Studio 2010进行4096点快速傅里叶变换(FFT)的步骤。包括下载预编译文件、生成库文件以及配置环境等关键环节。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • 本文详细介绍了如何在Oracle VM VirtualBox中实现主机与虚拟机之间的数据交换,包括安装Guest Additions增强功能,以及如何利用这些功能进行文件传输、屏幕调整等操作。 ... [详细]
  • 软件测试行业深度解析:迈向高薪的必经之路
    本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ... [详细]
  • 解决PHP项目在服务器无法抓取远程网页内容的问题
    本文探讨了在使用PHP进行后端开发时,遇到的一个常见问题:即在本地环境中能够正常通过CURL获取远程网页内容,但在服务器上却无法实现。我们将分析可能的原因并提供解决方案。 ... [详细]
  • 本文探讨了在一个物理隔离的环境中构建数据交换平台所面临的挑战,包括但不限于数据加密、传输监控及确保文件交换的安全性和可靠性。同时,作者结合自身项目经验,分享了项目规划、实施过程中的关键决策及其背后的思考。 ... [详细]
  • 探讨符合特定需求的个人网盘选择,包括分享功能、WebDAV支持及长期稳定性等。 ... [详细]
  • 区块链与IDCC大数据产业的深度融合
    本文探讨了区块链技术如何与IDCC大数据产业结合,推动新型基础设施建设的发展,解决了传统数据处理中的诸多难题,并提出了具体的解决方案。 ... [详细]
  • 深入理解ArrayList
    本文详细解析了ArrayList的工作原理及其性能特点,包括其内存分配机制和增删查改的操作效率。 ... [详细]
  • 本文提供了详细的JDK下载和安装步骤,包括多个可靠的下载源、环境配置以及如何验证安装成功。同时,文章还涉及版权问题处理和个人见解分享。 ... [详细]
  • 本文提供了一系列关于计算机组装与维修课程教学模式的论文大纲模板,旨在帮助教育工作者和学生更好地理解和应用主题式学习、混合式学习以及基于数字化资源平台的自主探究教学模式,以提高教学质量。 ... [详细]
  • 图像滤波是在保持图像关键细节的同时减少或去除图像中的噪声,这一过程是图像预处理的重要组成部分。滤波的效果直接关系到后续图像分析和处理的质量与准确性。 ... [详细]
author-avatar
华女-1_572
这个家伙很懒,什么也没留下!
RankList | 热门文章
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有