AI加持的竖屏沉浸播放新体验
本文由愛(ài)奇藝劉小輝在LiveVideoStackCon 2020 線上峰會(huì)的演講內(nèi)容整理而成,內(nèi)容主要講述通過(guò)AI智能的視頻畫面主體識(shí)別能力和字幕識(shí)別能力,實(shí)現(xiàn)在手機(jī)端豎屏全屏觀看橫拍視頻的新體驗(yàn),給用戶提供沉浸視界新體驗(yàn)。
文 /?劉小輝
整理 / LiveVideoStack
大家好,我是愛(ài)奇藝的劉小輝,本次我分享的題目是《AI加持的豎屏沉浸播放新體驗(yàn)》,我會(huì)從三個(gè)方面介紹豎屏沉浸播放是什么,為什么這么做,我們是如何做的。
豎屏沉浸播放是什么
豎屏沉浸播放,即當(dāng)我們?cè)谪Q屏握有手機(jī)的時(shí)候,期望展示內(nèi)容是能全屏展示的,但當(dāng)視頻是橫版視頻的時(shí)候,如果按照常規(guī)的等比例顯示,就會(huì)出現(xiàn)上下都是黑邊的情況。但是我們以最舒適的豎版握有手機(jī)的時(shí)候,我們需要有一種方式可以顯示畫面中最感興趣的部分,而橫屏的時(shí)候又能展示出整個(gè)畫面的內(nèi)容,這樣在播放的時(shí)候,豎橫向轉(zhuǎn)換的時(shí)候都比較平滑不至于被打斷,這就是我們的最終訴求,如圖中橫版視頻中居中的人物是我們想要展示的,在轉(zhuǎn)動(dòng)過(guò)程中也能夠依然聚焦在主體人物之上,同時(shí)在橫屏的時(shí)候也能夠把整個(gè)內(nèi)容展示出來(lái)。
最終的訴求目的是橫版視頻能夠豎屏觀看,同時(shí)做到豎屏橫屏能夠無(wú)縫切換。
我們?cè)趷?ài)奇藝APP上的實(shí)現(xiàn)效果如圖。打開視頻后,會(huì)顯示有沉浸播放按鈕,點(diǎn)擊進(jìn)入后進(jìn)入豎屏狀態(tài)滿屏播放,轉(zhuǎn)動(dòng)屏幕的過(guò)程中會(huì)展示整個(gè)視頻的畫面,再轉(zhuǎn)回豎屏狀態(tài)又會(huì)聚焦在當(dāng)前畫面的人物位置、焦點(diǎn)位置。這就是我們想做的豎屏沉浸播放的展示。
為什么做豎屏沉浸播放
我們?yōu)槭裁匆@么做呢?因?yàn)樵谝曨l的發(fā)展歷程上,從最早的長(zhǎng)視頻,主要集中在橫屏視頻,到近幾年發(fā)展比較快的短視頻,尤其是全屏播放的豎版視頻,而后又出現(xiàn)長(zhǎng)短視頻結(jié)合的形式,這種形式下橫豎屏結(jié)合就尤為重要。愛(ài)奇藝也是在做這樣橫豎視頻播放的拓展,所以如何在豎屏狀況下播放現(xiàn)有的存量視頻,對(duì)內(nèi)容提供者應(yīng)該提供什么樣的視頻,都是需要解決的問(wèn)題。
所以我們可以在圖上看到,橫軸是時(shí)間線,縱軸是長(zhǎng)短視頻的分類,比較早期大家都接受長(zhǎng)視頻,近些年短視頻發(fā)展非???#xff0c;最近一兩年集中在長(zhǎng)短視頻發(fā)展的邊界。
?
現(xiàn)在常見的播放形式是長(zhǎng)短視頻結(jié)合的播放視頻,同時(shí)對(duì)內(nèi)容創(chuàng)作者來(lái)講,以什么樣的形式提供視頻?能不能做到提供一個(gè)橫版視頻,在豎屏的時(shí)候也可以播?在短視頻場(chǎng)景下也可以比較完美的播放出來(lái),這都對(duì)我們提出了更高的要求。豎屏沉浸播放最終就是為了解決這兩個(gè)問(wèn)題,讓長(zhǎng)視頻,短視頻,豎屏和橫屏有機(jī)結(jié)合在一起的播放,而且做到流暢平滑的切換,對(duì)于內(nèi)容創(chuàng)作者來(lái)說(shuō)只需要?jiǎng)?chuàng)作一個(gè)橫版視頻就可以了。
如何實(shí)現(xiàn)豎屏沉浸播放
下面我將從以上幾個(gè)方面介紹一下我們是怎么實(shí)現(xiàn)豎屏沉浸播放的,首先介紹一下它的基本架構(gòu)圖,然后會(huì)介紹我們?cè)谠贫撕徒K端都做了哪些事情。
云端和終端之間交互其中有個(gè)重要的內(nèi)容——AI焦點(diǎn)文件,它描述了當(dāng)前視頻每一幀畫面的焦點(diǎn)位置,還包含了如字幕等其他信息。在云端有幾個(gè)主要的工作點(diǎn),如場(chǎng)景的分割、目標(biāo)檢測(cè)、顯著性檢測(cè)、人臉檢測(cè)等,它們主要是做內(nèi)容分析,分析當(dāng)前畫面的焦點(diǎn)位置。字幕檢測(cè)和字幕識(shí)別主要為完善畫面剪裁之后能夠展示完整字幕,然后每個(gè)畫面焦點(diǎn)位置計(jì)算完成之后會(huì)做一個(gè)剪裁優(yōu)化,最后一個(gè)穩(wěn)像平滑,以此規(guī)避相鄰畫面之間中心點(diǎn)微小的變化帶來(lái)的畫面抖動(dòng)。
在終端主要是根據(jù)當(dāng)前陀螺儀的姿態(tài)信息、當(dāng)前畫面的焦點(diǎn)區(qū)域信息、屏幕大小計(jì)算應(yīng)該呈現(xiàn)畫面中的哪塊區(qū)域。隨后就是圖像的渲染,為支持用戶可以手動(dòng)改變聚焦位置,我們也做了一個(gè)縮略圖渲染,以支持用戶的手動(dòng)調(diào)節(jié)。還有一個(gè)擴(kuò)展功能就是字幕的擦除與渲染,由于字幕在局部區(qū)渲染的時(shí)候會(huì)被截?cái)?#xff0c;需要把完整的字幕在豎屏狀態(tài)下再渲染出來(lái)。
在云端我主要針對(duì)五個(gè)點(diǎn)做介紹,分別是:場(chǎng)景分割、內(nèi)容分析、聚焦中心構(gòu)建、字幕檢測(cè)和識(shí)別、競(jìng)品對(duì)比。
場(chǎng)景分割的目的為了在減少計(jì)算耗時(shí)的同時(shí)提高準(zhǔn)確性。因?yàn)樵谝曨l畫面中場(chǎng)景是多個(gè)鏡頭構(gòu)建在一起的,多數(shù)情況下,單一的鏡頭里圖像的變化比較小,比如主人公說(shuō)話只有唇部或者手部較小的變化。因此在單一鏡頭下,我們可以利用抽幀分析,不用計(jì)算每一幀,比如間隔若干幀來(lái)分析畫面內(nèi)容,這樣可以顯著減少計(jì)算耗時(shí)。如圖是截取的一段兩分鐘視頻,分成若干鏡頭,會(huì)發(fā)現(xiàn)每一個(gè)處理的時(shí)間也就幾秒鐘甚至更少,但是可以發(fā)現(xiàn)同一鏡頭中的畫面變化是非常小的。
在內(nèi)容分析這塊主要利用的是幾個(gè)點(diǎn)。運(yùn)用的當(dāng)前的深度學(xué)習(xí),AI的一些算法去做的一些檢測(cè)或者識(shí)別,最重要的就是目標(biāo)檢測(cè)、顯著性檢測(cè)、說(shuō)話人檢測(cè)、最后是人臉檢測(cè),每個(gè)步驟都配有一個(gè)權(quán)重來(lái)協(xié)助分析最終的畫面點(diǎn)。下面我再對(duì)四個(gè)點(diǎn)進(jìn)行展開的介紹。
目標(biāo)檢測(cè),我們現(xiàn)在運(yùn)用的算法對(duì)常見的80類物體敏感,檢測(cè)當(dāng)前畫面中的物體之后,會(huì)做一個(gè)目標(biāo)篩選,我們也對(duì)此制定了規(guī)則,如當(dāng)前目標(biāo)的物體位置信息是否居中;物體尺寸大小,我們會(huì)認(rèn)為尺寸越大吸引人眼球的可能性就越大,這也是符合導(dǎo)演在拍攝這個(gè)鏡頭的創(chuàng)作意圖;最后一個(gè)就是物體置信度,它最可能是一個(gè)什么樣的物體,比如是人、動(dòng)物、桌椅,但影視上我們當(dāng)然對(duì)人物的賦予的權(quán)重會(huì)更高一點(diǎn)。
顯著性檢測(cè)。在拍攝過(guò)程中,主角位置或者說(shuō)最吸引人眼的部分一定會(huì)出現(xiàn)在聚焦點(diǎn)上,這也是我們視頻播放的時(shí)候期望的中心點(diǎn)。右上圖是影視畫面,可以看到只有主體人物在畫面的中間,我們通過(guò)顯著性檢測(cè),會(huì)發(fā)現(xiàn)人臉部分是整個(gè)畫面最吸引人眼的部分,利用這種檢測(cè),亮度越高的區(qū)域就是人眼越感興趣的地方,也是應(yīng)該在豎屏狀況下被顯示的部分。
說(shuō)話人檢測(cè)主要是為了區(qū)分如果當(dāng)前畫面有兩個(gè)人物且權(quán)重差不多,或者在交替講話的時(shí)候,如何做區(qū)分?用到識(shí)別的方法,主要運(yùn)用聲紋特征和人臉特征做一個(gè)構(gòu)建,聲音輔助比對(duì)當(dāng)前誰(shuí)在說(shuō)話,以此來(lái)調(diào)整權(quán)重。
人臉檢測(cè),是為了輔助分析當(dāng)前圖像中如果人臉占比較小,定位Y軸信息,集中想突出的人臉部分,準(zhǔn)確定位人臉的中心點(diǎn)。圖中做例的兩張圖,人臉檢測(cè)時(shí)候可以準(zhǔn)確的檢測(cè)前景人物的面部位置,同時(shí)也做了一個(gè)排序。右圖可以看到左邊人臉位置與正臉位置都是被檢測(cè)到的,同時(shí)左邊人物的權(quán)重是較高的,但我們會(huì)在后面看到真正聚焦的位置點(diǎn)是在誰(shuí)的身上。
檢測(cè)到每一幀或者每一場(chǎng)景的焦點(diǎn)位置之后,我們會(huì)做一個(gè)聚焦中心的構(gòu)建,會(huì)用到幾個(gè)策略。穩(wěn)像策略,就是平滑相鄰幀微小的位移;第二個(gè)點(diǎn)就是連續(xù)變化,一直在平移的這種做了一個(gè)擬合,擬合的目的是為了減小AI焦點(diǎn)文件中的數(shù)據(jù)總量。
穩(wěn)像策略我們可以看到上圖右側(cè)結(jié)果,多數(shù)場(chǎng)景下它都是平的線段,代表了當(dāng)前人物的中心點(diǎn)是沒(méi)有變化的,雖然可能有說(shuō)話或者其他手部動(dòng)作的,但不會(huì)影響整個(gè)人物中心的變化。如果說(shuō)有連續(xù)的尖峰或者短的尖峰,結(jié)果就是畫面出現(xiàn)頻繁變化,就會(huì)出現(xiàn)抖動(dòng)的問(wèn)題。我們也舉了一個(gè)例子,比如在箭頭所指的區(qū)域是一個(gè)斜線,其中描述的擬合點(diǎn),代表是逐步平移的中心點(diǎn)。
字幕識(shí)別的目的是為了展示完整的字幕,因?yàn)樵谪Q屏沉浸播放的時(shí)候,字幕會(huì)被截?cái)?。字幕識(shí)別首先需要找到原始整個(gè)字幕的位置,文本的劇情內(nèi)容和持續(xù)的時(shí)長(zhǎng),這里也會(huì)針對(duì)異常的數(shù)據(jù)進(jìn)行剔除,異常數(shù)據(jù)來(lái)源主要是圖像內(nèi)容的廣告牌或者其他內(nèi)容中被誤檢的文字,根據(jù)字幕出現(xiàn)的位置點(diǎn)和時(shí)長(zhǎng)的規(guī)則關(guān)系會(huì)剔除一部分噪聲數(shù)據(jù),比如字幕時(shí)長(zhǎng)大于300ms或者底部居中,不符合的數(shù)據(jù)就會(huì)被剔除掉
在今年2月份,谷歌也開展了類似的工作,推出了一個(gè)叫Auto Flip的產(chǎn)品,我們用他們的算法做了一個(gè)檢測(cè)的對(duì)比,上圖為某一視頻跑出的數(shù)據(jù)結(jié)果。我們可以發(fā)現(xiàn)在起始的部分藍(lán)色的線在劇烈的抖動(dòng),說(shuō)明鏡頭是在一直變化的,而愛(ài)奇藝的分析結(jié)果可以發(fā)現(xiàn)是比較平滑的。在其他的位置也可以看到很多不同的差異,這是由于兩套算法對(duì)不同識(shí)別結(jié)果的分配權(quán)重不同而產(chǎn)生的結(jié)果差異。我們可以看到谷歌給出的樣例小視頻與我們愛(ài)奇藝處理后的對(duì)比分析結(jié)果。
左邊1/2是原始視頻,右邊1/2是兩份結(jié)果,結(jié)果中左側(cè)是愛(ài)奇藝的沉浸播放結(jié)果,右側(cè)是谷歌 Auto Flip結(jié)果。我們會(huì)發(fā)現(xiàn)很有意思的點(diǎn),在有人物的地方都可以被正確的檢測(cè),尤其是單人的情況下,二者比較一致。但是在有些場(chǎng)景,比如雙人場(chǎng)景下,愛(ài)奇藝會(huì)將焦點(diǎn)人物完整的展示出來(lái),而谷歌的結(jié)果就會(huì)有一些偏差。并且在一些場(chǎng)面下,愛(ài)奇藝能夠準(zhǔn)確地識(shí)別到說(shuō)話的人,而谷歌卻選擇聚焦距離鏡頭較近的兩個(gè)人。
呈現(xiàn)的結(jié)果與算法的權(quán)重分配有一定關(guān)系,同時(shí)具有一定的主觀性,所以我們不太容易評(píng)判誰(shuí)優(yōu)誰(shuí)劣,但總體來(lái)看愛(ài)奇藝的結(jié)果還是比較符合我們的預(yù)期和人們的觀看習(xí)慣的。
接下來(lái)我們介紹一下終端的相關(guān)內(nèi)容。終端做的事情包括:窗口尺寸自適應(yīng)、自動(dòng)與手動(dòng)的雙模式切換、字幕回寫、橫屏豎屏自由的旋轉(zhuǎn)切換。
窗口尺寸自適應(yīng)有兩個(gè)點(diǎn)需要介紹,第一是相同的影片相同的窗口尺寸,但分辨率不同該如何展示;第二個(gè)點(diǎn)是相同的影片分辨率、但不同的手機(jī)窗口尺寸該如何展示。
以當(dāng)前視頻為例,它的分辨率是一定的,我們來(lái)看一下兩個(gè)不同的手機(jī)是如何展示的。左邊的手機(jī)比例是3:4,我們會(huì)發(fā)現(xiàn)人物頂部的帽子與底部衣服領(lǐng)口是不可見的,而右邊是9:16的常見手機(jī)屏幕比例,它從縱軸上截取了當(dāng)前視頻的整個(gè)畫面,保證了視頻的縱橫比。
上圖展現(xiàn)的是同樣的手機(jī)尺寸,針對(duì)不同的視頻分辨率是如何處理的。設(shè)備比例都是9:16,從像素高度上是比左側(cè)視頻要高要大的,我們可以發(fā)現(xiàn)在截取視頻位置之后做一個(gè)縮放,保證了視頻的縱橫比,讓畫面內(nèi)容在窗口上不出現(xiàn)拉伸。
如果屏幕尺寸比視頻尺寸要小一些,在原圖之間以聚焦中心點(diǎn)為中心,我們會(huì)發(fā)現(xiàn)在帽子和衣服是被截掉了一部分的??傮w的原則是保證窗口的縱橫比在原始圖片中,以聚焦中心點(diǎn)為中心截取一塊最大的區(qū)域,同時(shí)保證做到畫面內(nèi)容不拉伸。
以上是同一個(gè)視頻在不同的窗口尺寸所作的對(duì)比,其中窗口的寬度是固定的,高度按照不同比例在原視頻中做的截取。放大的窗口來(lái)源于從原視頻中截取的一個(gè)9:16的小圖片,渲染到一個(gè)9:16的大窗口,最終呈現(xiàn)的就是這樣的效果。這是一個(gè)兩分鐘視頻的結(jié)果對(duì)比,總結(jié)來(lái)看,不同的手機(jī)尺寸的效果都是可接受的,在觀感上并不違和,都能找到畫面的主體部分和聚焦中心,也比較契合影片中鏡頭的焦點(diǎn)區(qū)域。
在APP真正落地的時(shí)候,一定會(huì)出現(xiàn)的一種狀況是,如果按照當(dāng)前AI算法計(jì)算的焦點(diǎn)不一定是當(dāng)前用戶感興趣的人物時(shí),用戶可以用手勢(shì)在屏幕滑動(dòng),將聚焦位置切換成畫面中的其他人物。
比如圖中展示了我們?cè)趯?shí)踐的過(guò)程中增加了一個(gè)縮略圖,這個(gè)縮略圖描述了當(dāng)前聚焦人物,滑動(dòng)時(shí)豎屏呈現(xiàn)結(jié)果會(huì)進(jìn)行轉(zhuǎn)換,即支持自動(dòng)調(diào)焦又支持手動(dòng)調(diào)焦。
為了實(shí)現(xiàn)完整字幕的顯示,我們?cè)诒唤財(cái)嗟淖帜蛔隽艘粋€(gè)字幕擦除,然后再將完整的字幕回寫出來(lái)。圖中是一個(gè)被截?cái)嗟膱D片,字幕的區(qū)域被放大擦除,我們將完整的原始字幕回寫,同時(shí)對(duì)字體大小也進(jìn)行了調(diào)整。
在橫屏豎屏的切換部分,豎屏?xí)r,我們會(huì)展示框內(nèi)內(nèi)容;當(dāng)旋轉(zhuǎn)屏幕時(shí),我們會(huì)依照畫面中心點(diǎn)旋轉(zhuǎn)作為畫面的截取。當(dāng)然,依據(jù)屏幕尺寸的大小,我們還會(huì)做一個(gè)放大處理,這樣一直轉(zhuǎn)到橫屏?xí)r,整個(gè)畫面的內(nèi)容都可以被展示出來(lái)了。
總結(jié)以上內(nèi)容,豎屏沉浸播放讓我們的AI能力在端上做一個(gè)落地應(yīng)用;同時(shí)在長(zhǎng)短視頻、橫豎播放有了一個(gè)有機(jī)的結(jié)合;在內(nèi)容創(chuàng)作的時(shí)候,創(chuàng)作者不再需要提供兩版視頻(橫、豎版)就可以在愛(ài)奇藝獲得一個(gè)很好的播放效果。
LiveVideoStackCon 2020?北京
2020年10月31日-11月1日
點(diǎn)擊【閱讀原文】了解更多詳細(xì)信息
總結(jié)
以上是生活随笔為你收集整理的AI加持的竖屏沉浸播放新体验的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 当AI成为基础资源,360OS 发力在线
- 下一篇: 亚马逊团队在Interspeech 20