Motion JPEG/MJPEG数据格式介绍
视频编解码类型MJPEG数据格式介绍 update:2021-9-30 Motion JPEG(M-JPEG或MJPEG,Motion
Joint Photographic Experts
Group,FourCC:MJPG)是一种影像压缩格式,其中每一帧图像都分别使用JPEG编码。M-JPEG常用在数字相机和摄像头之类的图像采集设备上。MJPEG即动态JPEG,按照至少达到25帧/秒速度使用JPEG压缩算法压缩视频信号,完成动态视频的压缩。MJPEG压缩标准是由JPEG专家组制定的,其图像格式是对每一帧JPEG图像进行压缩。MJPEG是一种基于静态图像压缩技术JPEG发展起来的动态图像压缩技术,可以生成序列化的运动图像。实际上MJPEG图像数据流就是一帧一帧的JPEG格式图片。MJPEG只是有帧内压缩(区别于算法更复杂的帧间压缩),只单独的对某一帧进行压缩,而不考虑影像画面中不同帧之间的变化。因此压缩效率比较低,而使用了帧间压缩的现代影像压缩格式(如MPEG1、MPEG2和H.264/MPEG-4
AVC)一般压缩率比较高。MJPEG是一种基于静态图像JPEG压缩标准的动态图像压缩标准,压缩过程是将视频序列的每一帧视为一幅静止图像进行压缩。因此,要进行MJPEG压缩,首先必须实现静态图像的JPEG压缩。JPEG定义了两种基本的算法:基于DCT的有失真压缩算法和基于DPCM的无失真压缩算法。基于DCT的有失真JPEG压缩算法主要分为5个基本步骤:色彩空间变换及采样、离散余弦变换DCT、量化、Z字形编排、编码。
JPEG是一种很灵活的格式,具有调节图像质量的功能,允许用不同的压缩比例对文件进行压缩,支持多种压缩级别。压缩比越大,品质就越低。
JPEG委员会在制定JPEG标准时,定义了许多标记码(marker)或标记段(marker
segments)组成,用来区分和识别图像数据及其相关信息。目前,使用比较广泛的是其交换格式JFIF(Jpeg File
Interchange
Format)。JPEG的每个标记码都是由2个字节组成,其前一个字节是固定值0xFF,每个标记码之前还可以添加数目不限的0xFF填充字节。JPEG文件中的字节是按照正序排列的,即高位字节在前,低位字节在后。JFIF即JPEG文件交换格式(JPEG File Interchange Format,
JFIF)是一个图像文件格式标准。它是一种交换符合JPEG交换格式(JIF)标准的JPEG编码文件的格式。它解决了JIF在简单JPEG编码文件交换方面的一些限制。与所有符号JIF的文件一样,JFIF文件中的图像数据使用JPEG标准的技术压缩,因此JFIF有时被称为”JPEG/JFIF”。在JFIF中,图像样本的存放顺序是从左到右和从上到下。按照JFIF,JPEG文件由两个部分组成:文件头部分和图像压缩数据。其中文件头部分分为一个一个的段来存储(但并不是全部都是段),段的多少和长度并不确定。只要包含了足够的信息,该JPEG文件就能够被打开。文件头部分的每个段都一定包含两部分,一个是段的标记码,它由两个字节构成:第一个字节是十六进制0xFF,第二个字节对于不同的段,有不同的值。紧接着的两个字节存放的是这个段的长度。这个长度的表示方法是按照高位在前,低位在后。另外,为了避免文件头部分和图像压缩数据部分的冲突,在对图像数据进行huffman编码时如果产生了一个0xFF,那么就用0xFF
0x00代替。因此在对压缩数据部分进行解码时,如果一个0xFF的后面字节不是0x00,那么这个字节没有意义,如果0xFF后一字节为0x00,则将此两个字节作为一个字节0xFF进行处理。由于文件头中包含了解码图像时必须的量化表、Huffman表、图像格式等信息,因此输出的第一帧JPEG数据流必须包含文件头。由于接下来编码的图像都是按照相同的方式进行编码的,因此可以不包含文件头,只需要在编码结束时产生一个表示编码结束的标记,用于区分不同帧图像,解码时在图像头部添加上文件头,将编码图像转变为标准的JPEG图像即可。
Referenced from:https://www.pianshen.com/article/8348772319/
Motion JPEG(M-JPEG或MJPEG,Motion Joint Photographic Experts Group,FourCC:MJPG)是一种影像压缩格式,其中每一帧图像都分别使用JPEG编码。M-JPEG常用在数字相机和摄像头之类的图像采集设备上,非线性剪辑系统也常用这种格式。QuickTime播放器和包括Mozilla Firefox,Google Chrome,Safari在内许多网页浏览器原生支持M-JPEG。
M-JPEG被广泛应用在网页浏览器,媒体播放器,数字相机,摄像头,流媒体服务器和非线性剪辑系统中。