MPEG学习

2022-09-20 10:09:24 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

Mpeg:moving picture experts group 移动图片专家组

导入:Mpeg技术在我理解就是我们对音视频信息的一个输出标准。主要包括MPEG-1、MPEG-2、MPEG-4、MPEG-7及MPEG-21。这个输出标准牵涉到一个很重要的概念,就是压缩,可以说压缩技术是牵涉到mepg标准一步步升级的关键。那为啥要引入压缩呢?一来,我们采集的音频或者视频信息数据量过于庞大,占据存储器内存和需要较大的宽带传输。二来,这些数据中存在很大的信息冗余。所以通过去除不相关的信息或者相关度比较低的信息来实现压缩就成为了一种必然。

视频压缩,关键概念:去除冗余,主要从时间冗余和空间冗余入手。

什么是空间冗余: 图像中有一片连续的区域,这个区域的像素都是相同的颜色,那么空间冗余就产生了。 什么是时间冗余:例如,人们在会议室中开会,随着会议的进行,时间在改变,但是背景(房间、家具等)一直是相同的、而且没有移动,变化的只是人们的动作和位置。这里的背景就反映为时间冗余。

而为了减少这种冗余,采取关键帧处理技术。在通信过程中每隔一段时间采取一次关键帧,传输时只传输关键帧的完整信息,两幅关键帧之间之传输与前一幅的不同之处(差帧)。关键帧的不足:传输过程中网络因素,造成失贞,如果连续失贞,而且关键帧的时间选取有比较大,那就非常难还原原来选取的图像了。

十分明显,数据的压缩程度,或者说数据输出比特率,决定于再量化的处理过程。不同的比特率需要不同的加权表。在MPEG中,有可能使用各种不同的加权表,应将所使用的加权表传送至解码器,以保证解码的正确性。

为什么会有mpeg这个标准:

  1. 对视频和音频采集信息进行压缩,那么如何压缩,怎么去做到最大限度的压缩,压缩需要考虑的方向。Group of pictures图像组。图像组的基本单位是帧。包含I P B帧,I帧是独立的,是关键帧,P(prohead向前的)需要依靠前面的I帧来识别,B(bidirectional双向的)需要依靠前后来识别,所以常见的一种情况是:网络不好的情况收不到I帧导致黑屏或者打马赛克的情况
  2. 视频压缩中,每帧代表一幅静止的图像。而在实际压缩时,会采取各种算法减少数据的容量,其中IPB就是最常见的。

I的压缩率是7(跟JPG差不多),P是20,B可以达到50,可见使用B帧能节省大量空间,节省出来的空间可以用来保存多一些I帧,这样在相同码率下,可以提供更好的画质

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/167437.html原文链接:https://javaforall.cn

0 人点赞