一、数字视频的采样格式及数字化标准

模拟视频的数字化包括不少技术问题,如电视信号具有不同的制式而且采用复合的YUV信号方式,而计算机工作在RGB空间;电视机是隔行扫描,计算机显示器大多逐行扫描;电视图像的分辨率与显示器的分辨率也不尽相同等等。因此,模拟视频的数字化主要包括色彩空间的转换、光栅扫描的转换以及分辨率的统一。
模拟视频一般采用分量数字化方式,先把复合视频信号中的亮度和色度分离,得到YUV或YIQ分量,然后用三个模/数转换器对三个分量分别进行数字化,最后再转换成RGB空间。

(一)、数字视频的采样格式

根据电视信号的特征,亮度信号的带宽是色度信号带宽的两倍。因此其数字化时可采用幅色采样法,即对信号的色差分量的采样率低于对亮度分量的采样率。用Y:U:V来表示YUV三分量的采样比例,则数字视频的采样格式分别有4:1:1、4:2:2和4:4:4三种。电视图像既是空间的函数,也是时间的函数,而且又是隔行扫描式,所以其采样方式比扫描仪扫描图像的方式要复杂得多。分量采样时采到的是隔行样本点,要把隔行样本组合成逐行样本,然后进行样本点的量化,YUV到RGB色彩空间的转换等等,最后才能得到数字视频数据。

(二)、数字视频标准

为了在PAL、NTSC和 SECAM电视制式之间确定共同的数字化参数,国家无线电咨询委员会(CCIR)制定了广播级质量的数字电视编码标准,称为CCIR 601标准。在该标准中,对采样频率、采样结构、色彩空间转换等都作了严格的规定,主要有:
1、采样频率为f s=13.5MHz
2、分辨率与帧率

3、根据f s的采样率,在不同的采样格式下计算出数字视频的数据量:

这种未压缩的数字视频数据量对于目前的计算机和网络来说无论是存储或传输都是不现实的,因此在多媒体中应用数字视频的关键问题是数字视频的压缩技术。

(三)、视频序列的 SMPTE 表示单位

通常用时间码来识别和记录视频数据流中的每一帧,从一段视频的起始帧到终止帧,其间的每一帧都有一个唯一的时间码地址。根据动画和电视工程师协会 SMPTE ( Society of Motion Picture and Television Engineers )使用的时间码标准,其格式是:小时:分钟:秒:帧,或 hours : minutes : seconds : frames 。 一段长度为 00 : 02 : 31 : 15 的视频片段的播放时间为 2 分钟 31 秒 15 帧,如果以每秒 30 帧的速率播放,则播放时间为 2 分钟 31.5 秒。

根据电影、录像和电视工业中使用的帧率的不同,各有其对应的 SMPTE 标准。由于技术的原因 NTSC 制式实际使用的帧率是 29.97fps 而不是 30fps ,因此在时间码与实际播放时间之间有 0.1% 的误差。为了解决这个误差问题,设计出丢帧( drop-frame )格式,也即在播放时每分钟要丢 2 帧(实际上是有两帧不显示而不是从文件中删除),这样可以保证时间码与实际播放时间的一致。与丢帧格式对应的是不丢帧( nondrop-frame )格式,它忽略时间码与实际播放帧之间的误差。

视频压缩的目标是在尽可能保证视觉效果的前提下减少视频数据率。视频压缩比一般指压缩后的数据量与压缩前的数据量之比。由于视频是连续的静态图像,因此其压缩编码算法与静态图像的压缩编码算法有某些共同之处,但是运动的视频还有其自身的特性,因此在压缩时还应考虑其运动特性才能达到高压缩的目标。

在视频压缩中常需用到以下的一些基本概念:

一、有损和无损压缩:在视频压缩中有损(Lossy)和无损(Lossless)的概念与静态图像中基本类似。无损压缩也即压缩前和解压缩后的数据完全一致。多数的无损压缩都采用RLE行程编码算法。有损压缩意味着解压缩后的数据与压缩前的数据不一致。在压缩的过程中要丢失一些人眼和人耳所不敏感的图像或音频信息,而且丢失的信息不可恢复。几乎所有高压缩的算法都采用有损压缩,这样才能达到低数据率的目标。丢失的数据率与压缩比有关,压缩比越小,丢失的数据越多,解压缩后的效果一般越差。此外,某些有损压缩算法采用多次重复压缩的方式,这样还会引起额外的数据丢失。

二、帧内和帧间压缩:帧内(Intraframe)压缩也称为空间压缩(Spatialcompression)。当压缩一帧图像时,仅考虑本帧的数据而不考虑相邻帧之间的冗余信息,这实际上与静态图像压缩类似。帧内一般采用有损压缩算法,由于帧内压缩时各个帧之间没有相互关系,所以压缩后的视频数据仍可以以帧为单位进行编辑。帧内压缩一般达不到很高的压缩。

采用帧间(Interframe)压缩是基于许多视频或动画的连续前后两帧具有很大的相关性,或者说前后两帧信息变化很小的特点。也即连续的视频其相邻帧之间具有冗余信息,根据这一特性,压缩相邻帧之间的冗余量就可以进一步提高压缩量,减小压缩比。帧间压缩也称为时间压缩(Temporalcompression),它通过比较时间轴上不同帧之间的数据进行压缩。帧间压缩一般是无损的。帧差值(Framedifferencing)算法是一种典型的时间压缩法,它通过比较本帧与相邻帧之间的差异,仅记录本帧与其相邻帧的差值,这样可以大大减少数据量。

三、对称和不对称编码:对称性(symmetric)是压缩编码的一个关键特征。对称意味着压缩和解压缩占用相同的计算处理能力和时间,对称算法适合于实时压缩和传送视频,如视频会议应用就以采用对称的压缩编码算法为好。而在电子出版和其它多媒体应用中,一般是把视频预先压缩处理好,尔后再播放,因此可以采用不对称(asymmetric)编码。不对称或非对称意味着压缩时需要花费大量的处理能力和时间,而解压缩时则能较好地实时回放,也即以不同的速度进行压缩和解压缩。一般地说,压缩一段视频的时间比回放(解压缩)该视频的时间要多得多。例如,压缩一段三分钟的视频片断可能需要10多分钟的时间,而该片断实时回放时间只有三分钟。

目前有多种视频压缩编码方法,但其中最有代表性的是MPEG数字视频格式和AVI数字视频格式。

图像压缩技术简介

动图压缩技术主要包括M-JPEG,MPEG-1、MPEG-2及MPEG-4。在视频通讯上,则有H.261及H.263,H.261用於LAN和Internet,H.263则用於PSTN。小波压缩主要用在静图的压缩.在同等条件下,如同样的压缩比和信噪比(压缩后的图象质量与源图相比),则MPEG有优势。

图像压缩技术一览表

压缩标准 MPEG4 MPEG2 MPEG1 MJPEG

特点 兼容前几种标准,采用更为优化的编码技术,基于场景描述和面向带宽设计 基于帧重建算法进行压缩和传输,动态监测图像变化,根据对象的空间及时间特征来调整压缩方法, 帧间加入预测帧 单独对一帧进行压缩,基本不考虑视频流中不同帧之间的变化

优点 图像质量好; 可变带宽传输; 错误恢复能力强。 压缩比可调范围广,支持包括高速体育运动在内的活动图像 在实时压缩、每帧数据量和处理速度上优于MJPEG 图像质量好

缺点 无现成算法,实现的技术难度大 压缩效率仍不理想、窄带网传输质量受限,对媒体的兼容能力有待提高 图像质量相当于VHS视频,不能满足广播级的要求;传输带宽有一定的要求。 实时性差,压缩效率低, 文件量巨大

应用领域 固定和无线网络,交互AV服务以及远程传输 DVD, 广播级的数字电视, HDTV VCD, CD-ROM, VOD

分辨率 768X576(PAL) 或720X480(NTSC) NTSC: 720X480 SIF标准分辨率(NTSC:352X240;PAL: 352X288)

码流 多种带宽可调 分四级,3 -100Mbits/sec 最高1.5Mbits/sec

图像质量 在各种码率下画质良好 极低码率下无法保证图像质量 基本无法进行窄带传输

多路实时存储 多路实时存储,占用存储空间小 能实现多路实时存储,文件量大,消耗硬盘。 能实现多路实时存储,文件量大,消耗硬盘。 单路存储,丢帧切换

联网要求 全带宽解决方案,支持PSTN,ISDN,DDN,局域网,广域网等 适用于局域网 适用于局域网 定制带宽,不支持联网。

什么是算法?

算法即信号编解码器(Codec) 压缩/解压缩的运算法则。也就是压缩与解压缩所使用的压缩标准。一般的编码包括将模拟视频信号转换到压缩视频文件(比如MPEG)或将模拟声音信号转变为数字化声音(比如RealAudio)。

MPEG视频压缩算法采用了哪些技术?

为满足高压缩比和随机访问两方面的要求,MPEG视频算法采用了预测和插补两种帧间编码技术。MPEG视频压缩算法中包含两种基本技术:一种是基于16×16子块的运动补偿,用来减少帧序列的时域冗余;另一种是基于DCT的压缩,用于减少帧序列的空域冗余,在帧内压缩及帧间预测中均使用了DCT变换。

什么是运动补偿?

运动补偿是当前视频图像压缩技术中使用最普遍的方法之一。包括:

1、 运动补偿预测

  视频的相邻帧间的运动部分具有连续性,即当前画面上的图像可以看成是前画某时刻画面上图像的位移,位移的幅度值和方向在画面各处可以不同。利用运动位移信息与前面某时刻的图像对当前画面图像进行预测的方法,称为前向预测。反之,根据某时刻的图与位移信息预测该时刻之前的图像,称为后向预测。

MPEG的运动补偿将画面分成若干16×16的子图像块(称为补偿单元或宏块),并根据一定的条件分别进行帧内预测、前后预测、后向预测及平均预测。

2、 运动补偿插值

以插补方法补偿运动信息是提高视频压缩比的最有效措施之一。在时域中插补运动补偿是一种多分辨率压缩技术。例如1/15秒或1/10秒时间隔选取参考子图,对时域较低分辨率子图进行编码,通过低分辨子图反映运动趋势的附加校正信息(运动夭量)进行插值,可得到满分辨率(帧率1/30秒)的视频信号。插值运动补偿也称为双向预测,因为它既利用了前面帧的信息又利用了后面帧的信息。

什么是关键帧 (Key Frame)?

在一些压缩方案中,有些帧被指定为关键帧。既然两帧之间的画面的大部分内容往往没有太大区别,就可以将后续帧和关键帧进行比较,而保存真正发生变化的部分。这样可以节省空间。

什么是M-JPEG算法?

Motion-JPEG(简称M-JPEG),它是针对活动图像而优化的JPEG压缩而称。而JPEG是针对一帧图像通过帧内的DCT(离散余弦变换)变换来对图像数据进行压缩,通过对电视数字信号(4:2:2数据)在帧内进行JPEG压缩,以减少电视数字信号数据量。因而,M-JPEG格式常常用于以帧为单位的电视编辑、特技制作等。而在监控系统等其它应用中, M-JPEG的主要问题是在一定的视频图像质量前提下,压缩比难以提高,占用的设备资源巨大,在实时压缩和传输方面难于实现。

什么是CBR和VBR?

VBR(Variable Bit-Rate,变比特率):在给定目标码率要求下,码流可根据场景和线路条件变化,从而获得最优质量。通常用于视频流内容编码转换。

CBR(Constant Bit-Rate,定比特率):按给定比特率提供码流,通常用于实时或在带宽条件有限的情况下的视频应用。

数字视频基础知识简介相关推荐

  1. IT:后端进阶技术路线图(初级→中级→高级)、后端开发工程师(技术方向分类之后台业务开发/中间件/内核/分布式架构)基础知识简介、技术路线/技术趋势指南(如何选择自己的技术方向)之详细攻略

    IT:后端进阶技术路线图(初级→中级→高级).后端开发工程师(技术方向分类之后台业务开发/中间件/内核/分布式架构)基础知识简介.技术路线/技术趋势指南(如何选择自己的技术方向)之详细攻略 目录 后端 ...

  2. 音视频基础知识---音频编码格式

    音视频基础知识汇总: 音视频基础知识---协议相关RTSP RTMP HLS 音视频基础知识---封装格式 音视频基础知识---视频编码格式 音视频基础知识---音频编码格式 音视频基础知识---像素 ...

  3. 听趣拍云产品经理剖析视频基础知识

    https://mbd.baidu.com/newspage/data/landingsuper?context={"nid"%3A"news_3310310027998 ...

  4. C++实战手把手教您用ffmpeg和QT开发播放器--01音视频基础知识

    笔记:https://blog.csdn.net/tainjau/article/category/9272757 音视频基础知识 封装.解码.重采样.像素格式 1.MPEG-4 MPEG-4标准将众 ...

  5. InSAR基础知识简介

    InSAR基础知识简介 合成孔径雷达干涉测量 雷达相位 跨轨干涉仪&沿轨干涉仪 地形干涉测量 干涉图解译 相干 1.配准 2.去除平地相位 3.大气延迟相位 4.多视和滤波处理.去除散斑 5. ...

  6. 000视频基础知识入门--科普向

    本文所有知识资源均来自网络,如有侵权,联系可注明来源或删除本文章.本文为音视频基本知识入门,偏向科普性质. 视频基础知识入门-成像到显示 1 成像 1.1 三原色 1.1.1 加色法 1.1.2减色法 ...

  7. 音视频基础知识(流媒体、多媒体),视频文件等

    Video Render: Media Codec,OpenGL ES:  Audio Render: OpenSL ES,AudioTrack:  视频的编辑处理.上传和播放.  音视频流程:视频采 ...

  8. Android音视频学习系列(六) — 掌握视频基础知识并使用OpenGL ES 2.0渲染YUV数据

    系列文章 Android音视频学习系列(一) - JNI从入门到精通 Android音视频学习系列(二) - 交叉编译动态库.静态库的入门 Android音视频学习系列(三) - Shell脚本入门 ...

  9. 视频转换与数字视频基础笔记

    视频转换与数字视频基础笔记 前言 今天写了<图像处理笔记(OpenCV)>,于是顺势写一下图形处理的一个应用领域--视频转换与视频压缩. 这是数字影视技术基础回顾第四章的一个展开 把原理明 ...

最新文章

  1. 高级C语言教程-C语言函数setjmp()函数
  2. gVim 中文内容显示为乱码的解决办法
  3. python数据分析师工作内容_数据分析师日常工作是什么?
  4. Struts学习笔记_i18n
  5. php 删除数组的空元素,php删除数组空元素的方法_后端开发
  6. Log4net系统日志
  7. eureka server配置_Spring Boot(十):注册中心Eureka-客户端视角
  8. 『编程题全队』Alpha 阶段冲刺博客集合
  9. java key value 数据类型_JAVA面试锦囊(一)
  10. win7 64位下 memcached安装
  11. 计算机p除c,计算机【电脑】中,Ctrl S/C/P/PrtSc/break/numberlock.分别表明什么?
  12. 薪酬体系:了解越多,满意越高
  13. 计算机不断自动重启,电脑不断自动重启怎么办?
  14. Python面向对象子类中重用父类的属性
  15. [原创]Xilinx工具关联UEStudio
  16. 几个可以提高工作效率的Python内置小工具
  17. Codewars(3)
  18. 我的世界java版红石电梯_《我的世界》红石电梯建造教程
  19. 基于python的梯度下降法的实现代码
  20. AutoIt3常用命令

热门文章

  1. 样本均值和样本方差的无偏性证明、正态分布样本方差的方差
  2. Shell函数的定义及用法
  3. Java运算符的优先级和C语言中有何异同,C语言运算符优先级小结
  4. 盛邦安全入选《2022年中国网络安全市场全景图》10项细分领域
  5. 牛客网小bai月赛40
  6. Citrix Virtual Apps and Desktops 7 2203 LTSR虚拟云桌面完整教程
  7. 【独家】彩虹最新6.6版本/免授权/后台同步官方版本升级
  8. IRIS Docker的安装
  9. 一个建筑挽救一个城市
  10. Gitlab使用指引1(基础篇)