a&s专业的自动化&安全生态服务平台
公众号
安全自动化

安全自动化

安防知识网

安防知识网

手机站
手机站

手机站

大安防供需平台
大安防供需平台

大安防供需平台

资讯频道横幅A1
首页 > 资讯 > 正文

数字视频的编解码技术浅析(上)

在数字视频监控领域中,视频的编解码技术是其核心,正确理解数字视频的编解码概念有助于更好地设计数字视频监控系统与合理地选择相关产品。然而长久以来,充斥于网络上关于各种编解码技术的描述艰涩难懂,更谈不上很好地理解。本文试图以简单明了的语言与图解,叙述关于视频编解码的若干重要概念,以便初学者能正确理解这些概念,推动数字视频监控领域的工作,甚至为研究具体的编解码标准打下良好的基础。
资讯频道文章B

【安防知识网】在数字视频监控领域中,视频的编解码技术是其核心,正确理解数字视频的编解码概念有助于更好地设计数字视频监控系统与合理地选择相关产品。然而长久以来,充斥于网络上关于各种编解码技术的描述艰涩难懂,更谈不上很好地理解。本文试图以简单明了的语言与图解,叙述关于视频编解码的若干重要概念,以便初学者能正确理解这些概念,推动数字视频监控领域的工作,甚至为研究具体的编解码标准打下良好的基础。

【相关阅读】

数字视频的编解码技术浅析(中)

数字视频的编解码技术浅析(下)

  模拟视频信号的缺憾及其数字化

  原始的视频信号是模拟信号,即信号的幅度、频率或者相位是随着时间做连续变化的。模拟视频信号在一定条件下能保证图像质量的优秀以及完全没有延时性,因而模拟监控仍然在目前占据主流的地位,在某些对画面质量和延时性要求较高的领域甚至是不可替代的。但是,模拟信号的传输和存储都存在巨大的问题,模拟信号中除了有用的信号之外,还会产生伴生的噪声信号以及在各种因素下侵入的干扰信号。模拟视频信号是由一系列不同频率的正弦信号组成的,和所有电磁波一样,模拟视频信号在介质中传递也会损耗,在同一种介质中,频率越高损耗越剧烈。而对于模拟视频信号来说,频带中的高频分量决定了图像的清晰度和色彩饱和度,这也就解释了为什么模拟视频信号经过较长一段同轴电缆的传递后变得色彩丢失图像模糊了。为了避免在传输介质中的损耗,在传输路径上往往会增设一些放大器,但没用的噪声也被增强放大。同时,由于目前电子产品制造工艺水平的局限,模拟信号传输路径上的各种设备都无法做到输入和输出的完全线性对应,这就是说,模拟视频信号每经过一个设备,就不可避免地对原始信号产生变形和破坏,中间的环节越多,最后输出的信号和原始信号相比就失真越厉害。并且,模拟视频的存储也是一大问题,最初,模拟视频被存储在磁带或者磁盘上,经过一段时间的存放,磁带或磁盘上磁性粉末会变质氧化,造成回放录像资料时图像的劣化,而且随着时间的流逝,这种劣化是不可避免和逐渐加重的。

  为解决上述模拟视频存在的问题,有必要将模拟视频数字化。数字化后,原始视频信号变成由0和1构成的数字流,复杂的信号就变成了简单的2个状态的组合,无论是传输还是存储,维持2个状态的准确性显然要容易的多,无论经过多少级传输,无论视频资料保存多久,只要0与1的数字流不变,输出的视频质量就不会变化。

  如何实现模拟视频信号的数字转化呢?众所周知,模拟视频信号的峰值是1V,即一个周期的视频信号,波峰到波谷的幅度是1V。在数模转化中,通常要使用PCM编码(又叫脉冲编码调制——数字通信的编码方式之一。主要过程是将话音、图像等模拟信号每隔一定时间进行取样,使其离散化,同时将抽样值按分层单位四舍五入取整量化,同时将抽样值按一组二进制码来表示抽样脉冲的幅值)技术,如果这个信号以10位PCM的数字编码表示,那么将把1V均分为1024(即2的10次方)份,因此模数转换后的信号电压幅度误差为1/1024V,此电压叫做量化电压误差,量化电压误差将随着编码位数的增加而下降。1024份不同的幅值从小到大排列,0V、1/1024V、2/1024V、3/1024V⋯⋯1V分别对应的数字编码为0000000000、0000000001、0000000010⋯⋯1111111111。每个这样的0、1组合对应一个特定的幅值,而这个幅值将对应产生此幅值的时刻。这样,每个不同的0、1组合都和一个周期内的某个特定时刻建立了对应关系,至此,一个周期的模拟视频已经完成了数字化的全过程。这样的过程也称模拟视频的编码(注意不同于后文提到的压缩编码),编码设备只需在上述特定的时刻发送一个0、1组合到接受设备即可,接受设备根据接收到的0、1组合可恢复出此时刻的信号幅值,一系列恢复出的幅值连接起来就形成了一个在时间上近似连续的视频信号。编码位数越高,恢复出的信号在波形上就越接近于原始视频信号,这个逆过程就是视频的解码。这就是模拟视频数字化的基本过程,此过程可用图1表示。

[nextpage]

  数字视频的压缩

  模拟视频信号数字化后就具备了在网络上传输以及存储的基本条件,然而,一路模拟视频数字化后的数据量非常大(大概有120M左右),这样的数据量在现有条件下无论是网络传输或者是硬盘存储都显得不现实,所以有必要对数字视频流进行编码压缩,即所谓的压缩的算法,而压缩算法也是数字视频领域内重要的概念。

  通常可以采用有损或者无损压缩的方式来进行图像或者视频的压缩。在无损压缩中,所有的像素都会被保留到解压的同一图像中,其原理类似于WINWAR压缩应用软件。但是无损压缩的缺点在于压缩率十分有限,压缩过的视频数量仍然很大,不适合应用于网络视频解决方案。

  有损视频压缩技术用于减少和删除多余的视频数据,以便更高效地在网络上传输以及节省保存硬盘的容量。从理论上来说,模拟视频经过PCM数字化转换后,就已经对源视频信号产生了损耗,但是只要PCM编码位数高到一定程度,就可以认为视频质量经过数字化转化后仍然是优秀的(可参见数字光端机)。仅仅经过上述过程后生成的数字视频数据量仍然非常大,必须对这些视频流进行某种规则下的压缩,而这些规则必须能在保证视频质量或者尽量维持视频质量的前提下,大量删除那些对视频质量影响不大且人类无法看见的数据,这些数据的删除基本不会影响视频的观感。理论上说,数字视频经过压缩一定会损失一些细节,但是却能大大减小数字视频的信息量,便于网络传输以及节省存储容量,所以这样的牺牲是值得的;以下仅讨论有损压缩技术。

  目前最常用的视频压缩标准分别是M-JEPG、MPEG-4和H.264,其中H.264是最有前途的视频压缩标准,显然H.264将成为市场的主流。

  由于视频可以看做连续的图片,所以在介绍视频压缩算法之前,有必要先介绍一下图片的压缩。图片的压缩算法只处理单幅的图片,最广为人知的图片压缩方式就是JEPG,通常人们看到的图片大都是JEPG文件格式的。JPEG的压缩级别是可以由用户指定的,比如,如果想把绘制好的VISIO图片保存为JPEG文件格式,就会被要求写入压缩比率,压缩比率将会决定生成JEPG图片的文件大小,但是无论如何,生成的JEPG图片的数据量都会小于VISIO图片的数据量。再如,用Windows自带的画图软件画一幅图片,把它保存为JPEG文件格式后,可以明显看到,同一幅图片,JPEG文件的数据量远小于BMP文件的数据量。在把不同文件格式的图片选择保存为JPEG格式时,其实就执行了静态图片压缩算法,只是过程极短,难以察觉。同理,在电脑上看JPEG图片时,电脑其实也执行了相应的解码算法。

  MJPEG-4就是M(MOTION移动)的JPEG算法,网络摄像机或者编码器和数码照相机类似,捕捉压缩单幅的图片输出,如果要看到连续的效果,那么每秒中输出的图片数量不能低于15幅,当帧率达到30时,看到的就是流畅的视频了。由于输出的每幅图片都是JPEG的图片,所以它们都拥有同样的画面质量,最终形成的视频质量取决于数字摄像机或者编码器的内设置的压缩比率。

  以图2为例,对于M-JPEG算法来说,这个视频片段由3幅静态画面构成,每幅图片单独采集,单独进行压缩然后打包传输,每幅图片相对独立,和彼此没有关系。压缩编码芯片将对每幅画面中所有对象进行压缩计算,生成压缩文件,这种方式也叫帧内压缩。[nextpage]

  MPEG-4和H.264是较好的视频压缩算法,均采用帧间压缩的办法进一步压缩视频的数据量。帧间压缩方案基于以下原理:图像采集设备同样先会生成一定帧率的原始帧,然后对比两帧监控前端采集到的图像,第一帧图像将作为参考帧,第二帧图像将和第一帧图像做对比,只有那些变化了的部分才被压缩传输,换句话说,真正压缩传输的那一后续帧只包含变化的部分。解压时将基于参考帧和差异部分来构建一系列视频。显然,一个视频片段中,只需要完全压缩一帧或者个别帧画面,而别的帧只压缩相对于基础帧变化的部分,这样做明显地降低了视频的信息量,如图3所示。

  图3中,房子的图像在一系列画面中不变,那么只在第一帧图像中对房子进行编码压缩,后续视频中不再处理房子的画面,而只压缩发生变化的画面,即跑动的人,显然,视频的数据量会下降很多。这种办法基于差分算法。在这种算法中,相邻的帧存在彼此依存的关系,后续帧的压缩编码要基于基础帧,故这种压缩方法又叫帧间压缩。

  此外,基于“块”的运动补偿技术可以进一步压缩视频数据。这种压缩方法由上述方法演变而来,其原理是:一幅画面由不同的对象构成,可以把图中不同的对象定义为不同的对象“块”。视频序列中大量的 “块”都可以在前面的帧中找到,不同的是,这些变化的对象“块”可能会出现在不同的位置。于是,可以通过在参考帧上查找匹配块的方式逐块地构建新的图像帧,而在此过程中,只需对基础帧中的各个图像块编码压缩,在后续视频中,仅计算相关对象块的移动矢量(带方向的数值)即可,通俗地讲,就是计算每一个块往某个方向移动的距离。新生成的后续帧内将只包含各个块的运动矢量值而不含块本身,而所有的对象块的编码都可以在基础帧内找到。毫无疑问,这样会极大地压缩视频数据量,这种方法叫做运动补偿技术,如图4所示。

  在帧间压缩的视频编码方式里,将把图像序列中不同的帧分为3种类型,分别是I帧、B帧和P帧。

  I帧叫帧内编码帧,这是一种自带全部信息的独立帧,在帧间压缩编码算法中充当基础帧的角色。后续画面将和基础帧进行对比以找出发生变化的部分进行压缩编码。由于I帧本身独立,包含所有视频信息,所以解码时不需要其他图像的参考即可独立解码。I帧的缺点在于,由于包含所有视频信息,故压缩率不可能太大,压缩后的数据量不会很小,这点类似于前述的M-JPEG方式。

  P帧也叫帧间预测编码帧,P帧的构建需要参考前面的I帧或者P帧的内容。P帧内仅仅包含相对于前帧变化的部分压缩编码。正因如此,P帧对前面的I帧或者P帧有着复杂的依赖性,对传输中的错误非常敏感。P帧只需要参考前面的I或P帧。

【相关阅读】

数字视频的编解码技术浅析(中)

数字视频的编解码技术浅析(下)

参与评论
回复:
0/300
文明上网理性发言,评论区仅供其表达个人看法,并不表明a&s观点。
0
关于我们

a&s是国际知名展览公司——德国法兰克福展览集团旗下专业的自动化&安全生态服务平台,为智慧安防、智慧生活、智能交通、智能建筑、IT通讯&网络等从业者提供市场分析、技术资讯、方案评估、行业预测等,为读者搭建专业的行业交流平台。

免责声明:本站所使用的字体和图片文字等素材部分来源于互联网共享平台。如使用任何字体和图片文字有冒犯其版权所有方的,皆为无意。如您是字体厂商、图片文字厂商等版权方,且不允许本站使用您的字体和图片文字等素材,请联系我们,本站核实后将立即删除!任何版权方从未通知联系本站管理者停止使用,并索要赔偿或上诉法院的,均视为新型网络碰瓷及敲诈勒索,将不予任何的法律和经济赔偿!敬请谅解!
© 2020 Messe Frankfurt (Shenzhen) Co., Ltd, All rights reserved.
法兰克福展览(深圳)有限公司版权所有 粤ICP备12072668号 粤公网安备 44030402000264号
用户
反馈