文 / 刘小辉

AI加持的竖屏沉浸播放新体验_视频_画面 文字写作

整理 / LiveVideoStack

大家好,我是爱奇艺的刘小辉,本次我分享的题目是《AI加持的竖屏沉浸播放新体验》,我会从三个方面先容竖屏沉浸播放是什么,为什么这么做,我们是如何做的。

竖屏沉浸播放是什么

竖屏沉浸播放,即当我们在竖屏握有手机的时候,期望展示内容是能全屏展示的,但当***是横版***的时候,如果按照常规的等比例显示,就会涌现高下都是黑边的情形。
但是我们以最舒适的竖版握有手机的时候,我们须要有一种办法可以显示画面中最感兴趣的部分,而横屏的时候又能展示出全体画面的内容,这样在播放的时候,竖横向转换的时候都比较平滑不至于被打断,这便是我们的终极诉求,如图中横版***中居中的人物是我们想要展示的,在迁徙改变过程中也能够依然聚焦在主体人物之上,同时在横屏的时候也能够把全体内容展示出来。

终极的诉求目的是横版***能够竖屏不雅观看,同时做到竖屏横屏能够无缝切换。

我们在爱奇艺APP上的实现效果如图。
打开***后,会显示有沉浸播放按钮,点击进入后进入竖屏状态满屏播放,迁徙改变屏幕的过程中会展示全体***的画面,再转回竖屏状态又会聚焦在当前画面的人物位置、焦点位置。
这便是我们想做的竖屏沉浸播放的展示。

为什么做竖屏沉浸播放

我们为什么要这么做呢?由于在***的发展进程上,从最早的长***,紧张集中在横屏***,到近几年景长比较快的短***,尤其是全屏播放的竖版***,而后又涌现是非***结合的形式,这种形式下横竖屏结合就尤为主要。
爱奇艺也是在做这样横竖***播放的拓展,以是如何在竖屏状况下播放现有的存量***,对内容供应者该当供应什么样的***,都是须要办理的问题。

以是我们可以在图上看到,横轴是韶光线,纵轴是是非***的分类,比较早期大家都接管长***,近些年短***发展非常快,最近一两年集中在是非***发展的边界。

现在常见的播放形式是是非***结合的播放***,同时对内容创作者来讲,以什么样的形式供应***?能不能做到供应一个横版***,在竖屏的时候也可以播?在短***场景下也可以比较完美的播放出来,这都对我们提出了更高的哀求。
竖屏沉浸播放终极便是为理解决这两个问题,让长***,短***,竖屏和横屏有机结合在一起的播放,而且做到流畅平滑的切换,对付内容创作者来说只须要创作一个横版***就可以了。

如何实现竖屏沉浸播放

下面我将从以上几个方面先容一下我们是怎么实现竖屏沉浸播放的,首先先容一下它的基本架构图,然后会先容我们在云端和终端都做了哪些事情。

云端和终端之间交互个中有个主要的内容——AI焦点文件,它描述了当前***每一帧画面的焦点位置,还包含了如字幕等其他信息。
在云端有几个紧张的事情点,如场景的分割、目标检测、显著性检测、人脸检测等,它们紧张是做内容剖析,剖析当前画面的焦点位置。
字幕检测和字幕识别紧张为完善画面剪裁之后能够展示完全字幕,然后每个画面焦点位置打算完成之后会做一个剪裁优化,末了一个稳像平滑,以此规避相邻画面之间中央点眇小的变革带来的画面抖动。

在终端紧张是根据当前陀螺仪的姿态信息、当前画面的焦点区域信息、屏幕大小打算该当呈现画面中的哪块区域。
随后便是图像的渲染,为支持用户可以手动改变聚焦位置,我们也做了一个缩略图渲染,以支持用户的手动调节。
还有一个扩展功能便是字幕的擦除与渲染,由于字幕在局部区渲染的时候会被截断,须要把完全的字幕在竖屏状态下再渲染出来。

在云端我紧张针对五个点做先容,分别是:场景分割、内容剖析、聚焦中央构建、字幕检测和识别、竞品比拟。

场景分割的目的为了在减少打算耗时的同时提高准确性。
由于在***画面中场景是多个镜头构建在一起的,多数情形下,单一的镜头里图像的变革比较小,比如主人公说话只有唇部或者手部较小的变革。
因此在单一镜头下,我们可以利用抽帧剖析,不用打算每一帧,比如间隔多少帧来剖析画面内容,这样可以显著减少打算耗时。
如图是截取的一段两分钟***,分成多少镜头,会创造每一个处理的韶光也就几秒钟乃至更少,但是可以创造同一镜头中的画面变革是非常小的。

在内容剖析这块紧张利用的是几个点。
利用确当前的深度学习,AI的一些算法去做的一些检测或者识别,最主要的便是目标检测、显著性检测、说话人检测、末了是人脸检测,每个步骤都配有一个权重来帮忙剖析终极的画面点。
下面我再对四个点进行展开的先容。

目标检测,我们现在利用的算法对常见的80类物体敏感,检测当前画面中的物体之后,会做一个目标筛选,我们也对此制订了规则,如当前目标的物体位置信息是否居中;物体尺寸大小,我们会认为尺寸越大吸引人眼球的可能性就越大,这也是符合导演在拍摄这个镜头的创作意图;末了一个便是物体置信度,它最可能是一个什么样的物体,比如是人、动物、桌椅,但影视上我们当然对人物的授予的权重会更高一点。

显著性检测。
在拍摄过程中,主角位置或者说最吸引人眼的部分一定会涌如今聚焦点上,这也是我们***播放的时候期望的中央点。
右上图是影视画面,可以看到只有主体人物在画面的中间,我们通过显著性检测,会创造人脸部分是全体画面最吸引人眼的部分,利用这种检测,亮度越高的区域便是人眼越感兴趣的地方,也是该当在竖屏状况下被显示的部分。

说话人检测紧张是为了区分如果当前画面有两个人物且权重差不多,或者在交替讲话的时候,如何做区分?用到识别的方法,紧张利用声纹特色和人脸特色做一个构建,声音赞助比对当前谁在说话,以此来调度权重。

人脸检测,是为了赞助剖析当前图像中如果人脸占比较小,定位Y轴信息,集中想突出的人脸部分,准确定位人脸的中央点。
图中做例的两张图,人脸检测时候可以准确的检测前景人物的面部位置,同时也做了一个排序。
右图可以看到左边人脸位置与正脸位置都是被检测到的,同时左边人物的权重是较高的,但我们会在后面看到真正聚焦的位置点是在谁的身上。

检测到每一帧或者每一场景的焦点位置之后,我们会做一个聚焦中央的构建,会用到几个策略。
稳像策略,便是平滑相邻帧眇小的位移;第二个点便是连续变革,一贯在平移的这种做了一个拟合,拟合的目的是为了减小AI焦点文件中的数据总量。

稳像策略我们可以看到上图右侧结果,多数场景下它都是平的线段,代表了当古人物的中央点是没有变革的,虽然可能有说话或者其他手部动作的,但不会影响全体人物中央的变革。
如果说有连续的尖峰或者短的尖峰,结果便是画面涌现频繁变革,就会涌现抖动的问题。
我们也举了一个例子,比如在箭头所指的区域是一个斜线,个中描述的拟合点,代表是逐步平移的中央点。

字幕识别的目的是为了展示完全的字幕,由于在竖屏沉浸播放的时候,字幕会被截断。
字幕识别首先须要找到原始全体字幕的位置,文本的剧情内容和持续的时长,这里也会针对非常的数据进行剔除,非常数据来源紧张是图像内容的广告牌或者其他内容中被误检的笔墨,根据字幕涌现的位置点和时长的规则关系会剔除一部分噪声数据,比如字幕时终年夜于300ms或者底部居中,不符合的数据就会被剔除掉

在今年2月份,谷歌也开展了类似的事情,推出了一个叫Auto Flip的产品,我们用他们的算法做了一个检测的比拟,上图为某一***跑出的数据结果。
我们可以创造在起始的部分蓝色的线在剧烈的抖动,解释镜头是在一贯变革的,而爱奇艺的剖析结果可以创造是比较平滑的。
在其他的位置也可以看到很多不同的差异,这是由于两套算法对不同识别结果的分配权重不同而产生的结果差异。
我们可以看到谷歌给出的样例小***与我们爱奇艺处理后的比拟剖析结果。

左边1/2是原始***,右边1/2是两份结果,结果中左侧是爱奇艺的沉浸播放结果,右侧是谷歌 Auto Flip结果。
我们会创造很故意思的点,在有人物的地方都可以被精确的检测,尤其是单人的情形下,二者比较同等。
但是在有些场景,比如双人场景下,爱奇艺会将焦点人物完全的展示出来,而谷歌的结果就会有一些偏差。
并且在一些场面下,爱奇艺能够准确地识别到说话的人,而谷歌却选择聚焦间隔镜头较近的两个人。

呈现的结果与算法的权重分配有一定关系,同时具有一定的主不雅观性,以是我们不太随意马虎评判谁优谁劣,但总体来看爱奇艺的结果还是比较符合我们的预期和人们的不雅观看习气的。

接下来我们先容一下终真个干系内容。
终端做的事情包括:窗口尺寸自适应、自动与手动的双模式切换、字幕回写、横屏竖屏自由的旋转切换。

窗口尺寸自适应有两个点须要先容,第一是相同的影片相同的窗口尺寸,但分辨率不同该如何展示;第二个点是相同的影片分辨率、但不同的手机窗口尺寸该如何展示。

以当前***为例,它的分辨率是一定的,我们来看一下两个不同的手机是如何展示的。
左边的手机比例是3:4,我们会创造人物顶部的帽子与底部衣服领口是不可见的,而右边是9:16的常见手机屏幕比例,它从纵轴上截取了当前***的全体画面,担保了***的纵横比。

上图展现的是同样的手机尺寸,针对不同的***分辨率是如何处理的。
设备比例都是9:16,从像素高度上是比左侧***要高要大的,我们可以创造在截取***位置之后做一个缩放,担保了***的纵横比,让画面内容在窗口上不涌现拉伸。

如果屏幕尺寸比***尺寸要小一些,在原图之间以聚焦中央点为中央,我们会创造在帽子和衣服是被截掉了一部分的。
总体的原则是担保窗口的纵横比在原始图片中,以聚焦中央点为中央截取一块最大的区域,同时担保做到画面内容不拉伸。

以上是同一个***在不同的窗口尺寸所作的比拟,个中窗口的宽度是固定的,高度按照不同比例在原***中做的截取。
放大的窗口来源于从原***中截取的一个9:16的小图片,渲染到一个9:16的大窗口,终极呈现的便是这样的效果。
这是一个两分钟***的结果比拟,总结来看,不同的手机尺寸的效果都是可接管的,在不雅观感上并不违和,都能找到画面的主体部分和聚焦中央,也比较契合影片中镜头的焦点区域。

在APP真正落地的时候,一定会涌现的一种状况是,如果按照当前AI算法打算的焦点不一定是当前用户感兴趣的人物时,用户可以用手势在屏幕滑动,将聚焦位置切换成画面中的其他人物。

比如图中展示了我们在实践的过程中增加了一个缩略图,这个缩略图描述了当前聚焦人物,滑动时竖屏呈现结果会进行转换,即支持自动调焦又支持手动调焦。

为了实现完全字幕的显示,我们在被截断的字幕做了一个字幕擦除,然后再将完全的字幕回写出来。
图中是一个被截断的图片,字幕的区域被放大擦除,我们将完全的原始字幕回写,同时对字体大小也进行了调度。

在横屏竖屏的切换部分,竖屏时,我们会展示框内内容;当旋转屏幕时,我们会依照画面中央点旋转作为画面的截取。
当然,依据屏幕尺寸的大小,我们还会做一个放大处理,这样一贯转到横屏时,全体画面的内容都可以被展示出来了。

总结以上内容,竖屏沉浸播放让我们的AI能力在端上做一个落地运用;同时在是非***、横竖播放有了一个有机的结合;在内容创作的时候,创作者不再须要供应两版***(横、竖版)就可以在爱奇艺得到一个很好的播放效果。