• Live Photos原理


    Phone 6s新增的Live Photos,可以拍摄1.5秒钟的动画“图片”,背后的原理:

    一个iPhone的产品经理透露,利用6s的Live Photos功能储存的,并不是视频,只是基于JPEG的动画文件

    一般JPEG只有图不能做动画,但Live Photo使用的,是一段像GIF档的**Motion JPEG**图像格式

    这个格式与其他视频的分别,就是每一个影格图像只会使用 JPEG 编码,视频格式纯粹会在单一影格内压缩,因此系统需求会较为低,加上压缩时会比较前后两个影格的分别进行拼接,减少影格占用的容量大小,令整体占用的储存空间大大减少。Live Photos 的档案大小只是单一JPEG图片的两倍左右。

    声音又如何?6s会另外储存然后在播放的时候嵌入上去,难道声音档未必传送到其他设备之中?

    Motion JPEG

    wiki

    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只使用帧内压缩(区别于算法更复杂的帧间压缩),只单独的对某一帧进行压缩,而不考虑影像画面中不同帧之间的变化。因此压缩效率比较低,一般低于1:20,而使用了帧间压缩的现代影像压缩格式(如MPEG1、MPEG2和H.264/MPEG-4 AVC)一般能超过1:50.由于各帧直接是相互独立的,M-JPEG的编解码在对运算能力和内存的要求较低。

    由于M-JPEG是纯粹的帧内压缩,每帧画面的质量只与编码率和画面的空域复杂度有关。包含大面积平滑变化或者单色区域的帧压缩效果较好,而包含复杂纹理、细线条(如文字)的区域容易产生由于离散余弦变换产生的噪声。M-JPEG的压缩效果与影像的时域复杂度无关。

    对于QuickTime格式,苹果公司定义了两种类型的编码:MJPEG-A和MJPEG-B。MJPEG-B的帧不保存完整的JFIF格式,在把MJPEG-B的帧保存成单独的JPEG文件是需要添加JFIF文件头。

    应用

    M-JPEG被广泛应用在网页浏览器,媒体播放器,数字相机,摄像头,流媒体服务器和非线性剪辑系统中。

    影像录制与剪辑

    由于M-JPEG中的帧可以随机存取,影像录制与非线性编辑系统普遍支持这种格式。

    数字相机

    在MPEG-4编码在消费电子设备上普及之前,数字相机普遍采用M-JPEG编码来保存录制的影像,这样就可以利用相机上的JPEG压缩硬件。但由于录制的音频一般是低采样率、未压缩的自适应差分PCM编码,这样的影像文件大小仍然比大小相似的MPEG文件差。

    DV

    DV使用类似的帧内压缩方法。

  • 相关阅读:
    D3.js:交互式操作
    D3.js:Update、Enter、Exit
    D3.js:动态效果
    D3.js:完整的柱形图
    D3.js:坐标轴
    D3.js
    ES 6 : 数组的扩展
    ES 6 : Math对象的扩展
    拉勾网企业图片列表效果
    拉勾网图片切换效果
  • 原文地址:https://www.cnblogs.com/hencins/p/14229860.html
Copyright © 2020-2023  润新知