0%

Video

听觉享受。

Why

What

视频播放基本原理

2018-09-01

视音频技术主要包含以下几点:封装技术,视频压缩编码技术以及音频压缩编码技术。

基本定义

视频

视频(Video)泛指将一系列静态影像以电信号的方式加以捕捉、纪录、处理、储存、传送与重现的各种技术连续的图像变化每秒超过24帧(frame)画面以上时,根据视觉暂留原理,人眼无法辨别单幅的静态画面;看上去是平滑连续的视觉效果,这样连续的画面叫做视频。

帧率

指的是视频格式每秒钟播放的静态画面数量。典型的画面更新率由早期的每秒6或8张(frame per second,简称fps)至现今的每秒120张不等。

编解码

我们知道,其实视频就是一帧一帧的图片。计算一下,一部25帧每秒,90分钟,分辨率为1024*768,24位真彩色的视频,没有经过压缩,大小为

1Byte(字节) = 8bit(位)
一帧大小 = 1024 768 24 = 18874368(bit) = 2359296(Byte)
总帧数 = 90 60 25 = 135000
总大小 = 一帧大小 总帧数 = 2359296 135000 = 318504960000(Byte)= 303750(MB)≈ 296(GB)

从上面的计算可以看出,我们储存一部90分钟没压缩的电影需要296GB的,2部电影便可占满我们电脑整个硬盘。所以我们需要对视频进行压缩,这种视频压缩技术就是我们所说的编码。解码就是将编码的视频解压缩处理。

封装格式

封装格式指的是压缩过的视频数据和音频数据打包成一个文件的规范。我们常见的mp4,flv,avi,rmvb,mkv等,都是代表视频的封装格式。

基本原理


播放视频的基本流程是:解封装 → 解码 → 视音频同步。

解封装

就是将输入的封装格式的数据,分离成为音频流压缩编码数据和视频流压缩编码数据。封装格式种类很多,例如MP4,MKV,RMVB,TS,FLV,AVI等等,它的作用就是将已经压缩编码的视频数据和音频数据按照一定的格式放到一起。例如,FLV格式的数据,经过解封装操作后,输出H.264编码的视频码流和AAC编码的音频码流。

解码

就是将视频/音频压缩编码数据,解码成为非压缩的视频/音频原始数据。音频的压缩编码标准包含AAC,MP3,AC-3等等,视频的压缩编码标准则包含H.264,MPEG2,VC-1等等。解码是整个系统中最重要也是最复杂的一个环节。通过解码,压缩编码的视频数据输出成为非压缩的颜色数据,例如YUV420P,RGB等等;压缩编码的音频数据输出成为非压缩的音频抽样数据,例如PCM数据。

视音频同步

就是根据解封装模块处理过程中获取到的参数信息,同步解码出来的视频和音频数据,并将视频音频数据送至系统的显卡和声卡播放出来。

视音频同步的实现方式其实有三种,分别是:

以音频为主时间轴作为同步源;
以视频为主时间轴作为同步源;
以外部时钟为主时间轴作为同步源;

How

如何生成非矩形的视频画面(英文)

本文是一篇简单的教程,讲解使用 ffmpeg 命令行工具,利用遮罩生成上图那样的非矩形的视频画面。

如何将 24 帧的电影看出 60 帧的感觉?


社交媒体时代有意思的一点就是,谁更富攻击性谁的发声更多更大,谁就占据了舆论的先手。互联网出身的小米自然深谙此道。只是在电视领域中小米电视一直处于没有正面对手的情况,所以相对来说一直比较安静。

去年华为和荣耀的入场则像是一种催化剂,让声量不大的电视市场开始有了社交活力,智慧屏的出现更是一颗深水炸弹逼迫小米不得不正面交锋。而在这个你来我往的过程中,很多原先并不为大家熟知的东西或技术名词开始一个个被抛出来,比如之前的扬声器功率之争,而在小米电视 5 Pro 之前一直不支持的 MEMC 功能也在这场厮杀中成了小米的一个软肋。

认识 MEMC 是什么,有什么用处

MEMC 是简写,原文单词为 Motion Estimate and Motion Compensation,意为运动估计和运动补偿。

直白一点说,这是一种目前很常见的视频插帧技术,在电视的插帧补偿中其实一共大体出现过三种不同的插帧类型,分别是插复制帧、插黑帧和插计算帧。

其中插复制帧的效果最差,只是提升了原视频的帧速,但是对于视频的流畅度平滑度并没有帮助。插黑帧的目的是减轻视觉残留现象以减小拖影的感觉。而插计算帧则是效果最好的一种,随着芯片计算能力的猛增,这种插帧方法效果也越来越好,同时插帧数量也能支持到更多。

插计算帧的作用原理就是通过运动估计预估画面中运动物体的轨迹,然后通过插帧技术在两个相邻帧中间插入一张中间帧,这样原视频的帧数就能够实现翻倍,30 帧速率的视频变成 60 帧视觉上就会流畅平滑很多。

以现在电视显示芯片的计算能力来看,很多电视早已不仅支持「倍速驱动」了,如今甚至能把视频插帧达到 200 帧速率,同时结合多种插帧方法可以做到画面效果的最优化,比如索尼的 MotionFlow 技术就是通过插帧和扫黑两种方式来提高画面流畅度与减小拖影现象。


▲ 三星的插帧技术叫 Auto Motion Plus

不光是索尼,其实大多数电视品牌早就都上马了类似的技术,只不过功能的叫法不太一样,比如三星的叫 Auto Motion Plus,LG 的叫 TruMotion,东芝的叫做 ClearFrame 等等。国产电视像华为的智慧屏,和小米最新的小米电视 5 Pro 也都具备 MEMC 技术。

虽然大家都有类似的技术,但最终的效果却可能仍然有很大差距,比如目前公认插帧效果最好的应当属索尼的高端电视,而为什么索尼的效果好,自然是因为运动估算的更准,计算生成的中间帧也更合适。

在知乎蓝大仙人的素材中有一段素材是华为智慧屏和索尼 XG8500 在 MEMC 功能上的对比,通过慢镜头来看,左边智慧屏的画面抖动和流畅度都逊色于右边,索尼电视明显要平滑许多。

「人无我有,人有我优」,至于怎么做到优秀,那就靠的是技术的积累和沉淀了。

DeepCreator:人无我有,人有我优,人优我新。

在实际应用场景中,MEMC 在电视领域更多的应用案例是在体育赛事类节目,比如足球或者赛车竞速之类。由于物体运动速度较快以及镜头摆动幅度较大,这类节目最大的问题就是画面又糊又晃,而通过 MEMC 补偿之后,画面的流畅度的会得到质的提升,晃动感也会有所减弱。

MEMC 不仅用在电视上,现在手机上也有了

尽管 MEMC 在电视上使用的已经很频繁,但是在我们每天接触更多的移动设备上却鲜有涉及。

插帧技术并不稀奇,但前提是需要具备独立的显示计算芯片,对于红海竞争非常激烈的手机来说,多一块芯片就是多一截成本,在大众需求还没有挖掘到这个领域的时候,搭载独立的显示计算芯片可能只是徒增成本。

如果把游戏手机也归类到主流手机中,可能只有黑鲨是较早在做 MEMC 补偿的手机,这项功能在黑鲨手机里叫做超级影院模式,本质上就是利用那颗 Pixelworks Iris 显示处理芯片进行插帧补偿,但是这项功能却一直没有出现在更主流的手机厂商中。

因此,几天前一加的那场屏幕技术沟通会就值得一提了,除了我们已经熟悉的 120Hz 高刷新率之外,也正式公布了支持 MEMC 功能消息,最高能够将视频插帧到 120 帧播放。

手机上的 MEMC 究竟应该用在哪些方面,其实也是一个可以讨论的问题,值得一提的是在手机上并非所有的 App 都支持高刷新率,很多应用都是限制到了 60Hz 的最高刷新率,如果能够通过全局插帧的方式去进行补帧,这可能是拉近软件流畅度的一次曲线救国。

在电视上 MEMC 最大的用途是体育赛事,但是在手机上尽管现在赛事直播很多,但真正用手机日常看球赛等体育运动的人相对来说还是比较少的,所以像黑鲨宣传的超级影院插帧功能更多是为电影而服务。

把 24 帧的电影看出 60 帧感觉会更好吗

回到标题的那个问题,如何将 24 帧的电影看出 60 帧的感觉?答案已经全在上面了。

当然,以现有的技术来说,其实直接拍 60 帧电影或者更高的 120 帧电影都不是问题,只是在制作成本上以及电影观众的观看习惯来说,沿用了多年的 24 帧标准依然是权衡利弊的最佳选择。

比如电影中经常遇到需要进行单帧调色或者做一些复杂特效的场景,24 帧的电影一秒只需要做 24 帧的特效,而 120 帧一秒就需要做 120 帧的特效画面,是 24 帧工作量的五倍,同样制作成本也会急剧上升。

另外放映端同样是一个问题,导演拍出了 60 帧甚至 120 帧的电影时,许多影院因为放映机采用的还是 24 帧标准的老设备所以不能播放,而升级技术设备对影院来说不仅是额外一笔开支,更可能面临后续高帧率电影数量不足的放映问题。

以拍文艺片而闻名的导演李安算是个异类,从《比利林恩的中场战事》到《双子杀手》,他两次采用 120 帧+4K+3D 的拍摄技术,但受限于题材和设备,两部影片都不像第一个采用 3D 技术拍摄的《阿凡达》那样票房全球大爆,也为超高帧率电影的前景蒙上了一层阴影。

对于电影本身来说,尽管最后压制的时候基本都是 24 帧,但不同的导演有可能会在不同的片段通过减帧的手段来丰富自己的表达手法。

举个例子,在 B 站《一代宗师》的电影中,有很多个镜头的帧数明显不足,比如在叶问在和宫羽田掰饼二人转那一段,镜头切换很多,但一部分镜头的帧数肉眼可见要低于正常的 24 帧。

有人说《一代宗师》里部分有「掉帧」和噪点的镜头是技术瑕疵,也有人说这是王家卫的表达风格,在《重庆森林》和《旺角卡门》中都有过类似的画面,具体原因如何王家卫肯定不会解释,我们也就当做艺术表达手法就好。

其实这种艺术手法叫做「step printing」,中文翻译叫做抽帧。既然有 MEMC 这样的自动补帧来提升流畅感,有主动抽帧来营造不连贯的迷幻感自然并不奇怪。抽帧造成的不连贯不光能营造迷幻,有些动画电影甚至会采用抽帧来打造更独特的观感。

2018 年末,索尼娱乐打造的电影《蜘蛛侠:平行宇宙》中,索尼就大量采用了抽帧的手法配合屏幕上的拟声词来营造一种类似漫画的感觉。

对于电影来说,MEMC 的插帧技术是一把双刃剑,一不小心甚至就会「弄巧成拙」,因为插帧不完善而导致画面撕裂的状况时有发生,这个现象叫做「肥皂剧效应」(soap opera effect),形容的就是高速运动的画面因为插帧不完善导致图像像肥皂一样容易撕裂。

所以对于许多电影导演和演员来说他们其实完全不喜欢插帧技术,甚至是厌恶。《银河护卫队》的导演 James Gunn 曾公开发文抵制插帧技术带来的「肥皂剧效应」,他还联合了《极盗车神》的导演 Edgar Wright,《星球大战:最后的绝地武士》导演 Rian Johnson,《猩球崛起》系列导演 Matt Reeves 等一起发声。

过高的帧数和过于平滑的效果也会让电影本身产生一种「不像电影」的感觉,但同时也不像我们用肉眼去观看世界,有时候会觉得有点儿像游戏 CG,但画面又过于真实,最接近这种感觉的反而是家电卖场里那些高端电视播放的高帧率展示片段。

目前来说,MEMC 对中高端电视来说已经是必备功能,在电视上也已经十分普及。对于手机来说,MEMC 还在起步的阶段,也更像是作为一个锦上添花的功能,在一加去年带起过一波 90Hz 刷新率后,这些更为专注特定领域的功能或许又能引发一次集体跟进。

因为从今年开始,更高素质的 OLED 面板将会比以往出货量更多,在旗舰机显示效果平均线提升的情况下,MEMC 这种高端功能就能够为拉开差距添砖加瓦。

至于会不会又是一个「真香」技术,今年的新机或许会给我们答案。

Experience

《火车进站》4K 版

法国卢米埃尔兄弟1895年拍摄的50秒短片《火车进站》,是人类的第一部电影,展现了一辆火车在蒸汽机车的牵引下,驶进法国沿海小镇拉西奥塔一处火车站的情景。

原始电影的影像非常模糊,有严重的颗粒感。最近,有人使用神经网络,将这部1895年的视频提升到了 4K 分辨率,效果非常好,逼真地还原了100多年前的情景,火车、衣服和乘客面部的细节清晰可见。

下面就是这段 4K 视频,是采用商业软件在家用电脑上完成的。

Youtube 最热门视频

一个数据科学家分析了2019年美国 Youtube 的7万部热门视频,发现美国人观看次数最多的视频,居然是韩国 BTS 组合的歌曲《Boy With Luv》,全年播放了1.9亿次。截止本周,这首歌的全球播放量达到了8.5亿次。

这只是韩国娱乐业 K-Pop 在美国极其流行的一个例子,BTS 是现在美国最受欢迎的乐队。韩国女团 Blackpink 的 MV 最近打破 BTS 的记录,在 Youtube 上架 24小时内,播放了8000万次。今年的奥斯卡最佳电影和最佳外语片都给了韩国影片《寄生上流》。韩国娱乐业的实力令人刮目相看。

Reference

  1. 全世界都在刷抖音
  2. 视频特效怎么加?3 招教你用手机打造朋友圈「大片」
  3. 阮一峰的网络日志
  4. 什么是1080p、2k、4k?视频基础参数解释
  5. Sisvel推出的VP9和AV1视频编码许可平台
  6. AVS标准工作组
  7. 解密AVS标准工作组
  8. lossless-cut
  9. MPEG-5 EVC 视频编码标准获得批准,华为高通三星率先支持

欢迎关注我的其它发布渠道