淘新聞

乾貨:如何打造出色的消費級全景相機?|硬創公開課

雖然VR行業的許多人對消費級全景相機不屑一顧,認為它們拍攝的不是真正的VR內容,但我們且先按下關于VR內容定義的討論,回到用戶角度來看。

事實上,消費級全景相機生產的內容確實可以用VR頭顯觀看,這類相機也是最親民的VR拍攝工具。從YouTube、優酷上的360度視頻,到各大直播平臺推出VR直播產品,再到普通人用360度視頻記錄自己的生活,都需要用到它們。

在從業者紛紛抱怨VR內容短缺的今天,消費級全景相機是最容易擴充內容庫的工具,將其排除在外顯然並不明智。

但話又說回來,對低品質VR內容的容忍同樣會給VR行業造成傷害,顯然,當下UGC全景視頻內容的品質仍然有待提高,而更好的創作工具是推動內容品質提高的關鍵。

於是,本期公開課雷鋒網邀請了完美幻境創始人趙博,為大家講解如何打造出色的消費級全景相機。

嘉賓介紹

趙博,完美幻境創始人,哈爾濱工業大學電子資訊專業碩士,曾在華為擔任研發工程師,後加入航太資訊,參與和編寫了國家級大型專案全國外來人口管理系統和全國港澳通行證專案的系統設計方案,並帶領團隊完成了中國首台電子港澳通行證制證管理系統和中國首套外來人口居住證管理系統的硬體設備和軟體,鑄就了為數億級人口研發產品的能力。

完美幻境團隊組建於2013年,先後獲得英特爾兩輪融資和金浦、天善等投資,專注視覺領域的產品研發,目前主攻全景相機軟硬體產品和VR全景直播的解決方案。即將上市的兩款產品分別是針對企業級的6K相片,4K30fps的直播拍攝一體機和一款超小超薄的消費級全景相機。

以下內容整理自公開課分享。

1、全景相機包含哪些種類?消費級全景相機與專業級產品的區別是什麼?

簡單分:消費類全景相機、行業應用的企業級全景相機。

消費類相機分為手機配件試的全景相機和WiFi獨立工作的全景相機,這類相機主打性價比,需要在畫質、功耗、產品形態上做一些平衡。

行業應用的全景相機分為光場全景相機、3D全景和全景相機,主打高解析度、高幀率、全面的參數設定和後期處理等功能,價格上相比消費級也更加昂貴。

2、為什麼大多數消費級全景相機都不做3D全景?

目前消費級全景相機各個公司全球出貨量總和也不到百萬,說明這個市場還非常早期,市場沒有被完全教育。因此產品定義要綜合考慮性價比、受眾人群特點和消費能力等因素。

3D需要輸出設備觀看, 目前只有頭盔在市場進行推廣,裸眼3D還沒形成規模,未來半年到1年,3D不會很快形成主流。

再就是全景長視頻佩戴頭盔應用場景不是很理想,觀看者不停晃動頭部看一個2小時的全景視頻是不合理的。全景短視頻和全景相片市場更容易接受。無論是短視頻還是照片都不需要頭盔,並且目前3d主要是近景3D 而目前全景以拍攝環境和遠景居多,所以廠商綜合考慮以上因素暫時不推3D全景。

3、如何做好全景視頻和照片的畫面拼接?

全景相機的工作流程一般是:

1)圖像獲取,通過相機取得圖像。

通常需要根據失真較大的魚眼鏡頭和失真較小的窄視角鏡頭決定演算法處理方式。單鏡頭和多鏡頭相機在演算法處理上也會有一定差別。

2)魚眼圖像矯正。

若相機鏡頭為魚眼鏡頭,則圖像需要進行特定的畸變展開處理。3圖片匹配。根據素材圖片中相互重疊的部分估算圖片間匹配關係。主要匹配方式分兩種:

A.與特徵無關的匹配方式。最常見的即為相關性匹配。

B.根據特徵進行匹配的方式。最常見的即為根據SIFT、SURF等素材圖片中局部特徵點,匹配相鄰圖片中的特徵點,估算圖像間投影變換矩陣。

4)圖片拼接。

根據步驟3所得圖片相互關係,將相鄰圖片拼接至一起。

5)圖像融合。

對拼接得到的全景圖進行融合處理。

6)全景圖像投射。

將合成後的全景圖投射至球面、柱面或立方體上並建立合適的視點,實現全方位的視圖流覽。

這裡面的4和5簡單細化一下:拼接不同鏡頭之間有幾何的差異和顏色的差異 幾何拼接好的方案是估算一個合理景深 在景深上保證幾何誤差為零 ,總體在各個景深上平均很好,幾何拼接在後處理上會採用更好的演算法使得在不同景深上仍然可以做到幾何誤差全域最小。

顏色誤差是靠後端調整去解決光暈和順光逆光下的顏色差異。如果以上兩點同時解決,還需要優化鏡頭間的拼接縫,優化拼接縫要靠一個混合演算法解決。

4、2D畫面和3D畫面的拼接是否有區別?

拼接上沒有區別3D全景要解決不同觀察方向上景深的真實性問題,大部分的解決方案實際上在景深的估算上都是不真實的,不同的拼接方案,技術方案和理論體系不一樣 所以3d全景的拼接方案也是完全不同的,拼接演算法是不一樣的。

5、針對VR的全景視頻內容,幀率是否比解析度更重要?

VR視頻內容的終極形態應該是全景+3D自帶景深的,但是今天各個公司還是理性的選擇從全景視頻切入市場,一方面受限於VR市場尚在培育期,輸出端頭盔還沒有真正爆發,另一方面受限於商業模式的選擇。選擇消費類市場和專業好級市場,適配的硬體是完全不同的。目前市場上生產全景視頻內容的專業級產品只有Jaunt是120幀,單眼解析度8K×4K。

GoPro、Odyssey、諾基亞的OZO、等專業級多鏡頭全景相機普遍都會8K,30fps,雙目的消費級全景相機有2K,3K,4K,幀率普遍是30fps,如果脫離VR頭盔使用,低於90fps的幀率是可以的,解析度上面全景4k是一個最低標準,今天我們看到的4K全景相機其實很多是3K解析度的。

我們以主流VR眼鏡搭配主流手機為例,眼鏡視野100度,手機解析度1920×1080,分屏後單目的圖元為960x1080,水準圖元為960,按照球形投影近似估算,每角度約需要填充10個圖元,360度則需要3600個圖元。3840×1920解析度的4K視頻即可滿足此需求。

硬體方面,隨著手機和VR眼鏡的性能提升,視頻的解析度要求也將進一步提升。但是目前H.264編碼的視頻格式最大只能支援4K解析度視頻,同時主流手機對更高解析度視頻解碼能力也有限,因而更高級別的視頻錄製,短期內在普通場景下不具有太大的實用性。

目前市面上的雙目全景相機,如果標稱單目視頻採集解析度可達4K(3840×2160),則單目一般可輸出直徑2160圖元的內切圓,雙目視頻合併輸出可以到4320×2160,但是這種視頻對整幀圖元的利用率較低(理想情況下也僅能達到78.5%)且考慮到視頻重合率,圖像邊緣畸變帶來的畫質損失,實際拼接後的視頻的圖元只能達到3K級別,僅能滿足手機全景預覽的需求,並不能滿足真正的VR頭顯觀賞需求。所以今天3k-4k的畫質對於移動VR場景來說是足夠的,如果脫離頭盔的話,幀率也不需要120fps這麼高。

至於通過頭盔現實的全景視頻,幀數與刷新率要保持一致。假設幀數是刷新率的1/10,那就是意味著顯卡每10次向顯示器輸出的畫面是用一幅畫面。

相反,如果幀數是刷新率的10倍,那麼畫面每改變10次,其中只有1次是被顯卡發送並在顯示器上顯示的。這就意味著,高於刷新率的幀數都是無效幀數,對畫面效果沒有任何提升,反而可能導致畫面異常。

目前能引爆行業的內容並不多見,120幀的出現我們認為還是會率先在優質高清PGC內容裡出現,高幀率下捕捉的動作和視覺效果,目前是仁者見仁智者見智,李安的120幀的2d電影也是褒貶不一,但是科技的進步趨勢是無法阻擋的,我個人認為未來一年主要是畫質 跟解析度關係最密切 120幀在未來3-5年隨著頭盔的刷新率增大會有大量應用。目前市場還是在解決0和1的問題,先從畫質著手,等到時機成熟在考慮增加幀率。

6、直播是消費級全景相機的一大應用,如何在頻寬受限碼流較低的情況下通過高水準的壓縮來提高直播視頻的品質?

目前市場上提到的VR直播只要是全景視頻直播和180度3D直播,消費級全景相機雖然都支援直播功能,但是真正商業化落地其實很少,並且受目前網路頻寬的限制,4Mbps/s幾乎已經是上限了。大家肉眼看到的效果與優酷app裡面的720p的傳統視頻效果差不多。目前完美幻境的解決方式是通過高水準的壓縮和更好的投影格式來提高直播視頻的品質。

如果要基於H.264編碼優化的話,以下幾點可以供參考:

1)優化H.264的首幀,改寫播放機邏輯讓播放機拿到第一個關鍵幀後就給予顯示。

GOP 的第一幀通常都是關鍵幀,由於載入的資料較少,可以達到 “首幀秒開”。如果直播伺服器支援 GOP 緩存,意味著播放機在和伺服器建立連接後可立即拿到資料,從而省卻跨地域和跨運營商的回源傳輸時間。GOP 體現了關鍵幀的週期,也就是兩個關鍵幀之間的距離,即一個幀組的最大幀數。

假設一個視頻的恒定幀率是 24fps(即1秒24幀圖像),關鍵幀週期為 2s,那麼一個 GOP 就是 48 張圖像。一般而言,每一秒視頻至少需要使用一個關鍵幀。增加關鍵幀個數可改善畫質(GOP 通常為 FPS 的倍數),但是同時增加了頻寬和網路負載。這意味著,用戶端播放機下載一個GOP,但是因為GOP存在一定資料體積,因此如果播放端網路環境差,有可能無法快速下載完該GOP,進而影響觀感體驗。

如果不能更改播放機行為邏輯為首幀秒開,直播伺服器也可以做一些取巧處理,比如從緩存 GOP 改成緩存雙關鍵幀(減少圖像數量),這樣可以極大程度地減少播放機載入 GOP 要傳輸的內容體積。

2)在 APP 業務邏輯層面方面優化。

比如提前做好 DNS 解析(省卻幾十毫秒),和提前做好測速選線(擇取最優線路)。經過這樣的預處理後,在點擊播放按鈕時,將極大提高下載性能。

一方面,可以圍繞傳輸層面做性能優化;另一方面,可以圍繞客戶播放行為做業務邏輯優化。兩者可以有效的互為補充,作為秒開的優化空間。

上面回答的是秒開的問題,針對直播首次載入的播放體驗,如何保障直播持續播放過程中的畫面和聲音視聽流暢呢?因為,一個直播畢竟不是一個 HTTP 一樣的一次性請求,而是一個 Socket 層面的長連接維持,直到主播主動終止推流。

卡頓的定義即播放時畫面滯幀,觸發了人們的視覺感受。在不考慮終端設備性能差異的情況下,針對網路傳輸層面的原因,我們看看如何保障一個持續的直播不卡頓。

這其實是一個直播過程中傳輸網路不可靠時的容錯問題。例如,播放端臨時斷網了,但又快速恢復了,針對這種場景,播放端如果不做容錯處理,很難不出現黑屏或是重新載入播放的現象。

為了容忍這種網路錯誤,並達到讓終端使用者無感知,用戶端播放機可以考慮構建一個FIFO(先進先出)的緩衝佇列,解碼器從播放緩存佇列讀取資料,緩存佇列從直播伺服器源源不斷的下載資料。通常,緩存佇列的容量是以時間為單位(比如3s),在播放端網路不可靠時,用戶端緩存區可以起到“斷網無感”的過渡作用。

顯然,這只是一個“緩兵之計”,如果直播伺服器邊緣節點出現故障,而此時用戶端播放機又是長連接,在無法收到對端的連接斷開信號,用戶端的緩衝區容量再大也不管用了,這個時候就需要結合用戶端業務邏輯來做調度。

重要的是用戶端結合服務端,可以做精准調度。在初始化直播推流之前,例如基於 IP 地理位置和運營商的精確調度,分配線路品質最優的邊緣接入節點。在直播推流的過程中,可以即時監測幀率回饋等質量數據,基於直播流的品質動態調整線路。

3)優化IBP幀。

視訊壓縮中,每幀代表一幅靜止的圖像。而在實際壓縮時,會採取各種演算法減少資料的容量,其中IPB就是最常見的。I幀是關鍵幀,屬於幀內壓縮。就是和AVI的壓縮是一樣的。 P是向前搜索幀,B是雙向搜索幀,他們都是基於I幀來壓縮資料,一般的相機只有I幀或者是P幀,不會有B幀(B幀是一個動畫幀,影視設備才有,普通的手機或者是硬體基本不會有),如果推流的時候有音視頻不同步,一般是視頻裡面插了一個B幀,因為多一個幀就多一個網路資料。

4)優化網路結點。

因為推流對網路結點要求很高,做VR直播的時候要提前溝通好網路結點,看終端推流端到終端的延時大概要多久,然後優化網路結點。

以上這4點供大家做參考,但是我們覺得未來h.265編碼會逐步取代H.264編碼成為主流,H265編碼可以壓縮一半的碼率,但是更好的投影格式可以降低80%的頻寬,結合演算法的優化綜合最高可以降低90%。

7、全景相機如何與VR音訊相結合?

完美幻境的VR音訊主要合作夥伴是北京時代拓靈,劉恩和他的團隊專注做VR音訊的軟硬體。我跟劉恩聊得也比較多,首先是為何需要全景聲?打造沉浸感音訊起到非常多的作用,特別是VR/AR下面,體驗需要即時互動的情況。

全景聲的技術:有ambisonic(Google/Facebook), 人工頭,Object Audio (杜比)幾類技術。

目前看了以Google主推的開放式Ambisonic,特別是一階(FOA)是一個比較經濟實惠且發展空間大的一種,因此FOA全景聲技術未來一段時間會比較流行,目前安卓7.0和YouTube直接就支援了。

因此建議全景相機在考慮經濟性、效果、硬體體積、音訊相容性方面應該推薦使用Ambisonic的全景聲為首要選擇。

目前已有的ambisonic可以是3麥克方案,或者4麥克方案。經過測試可以使用定向麥克或者全向麥克均有不錯效果。具體選擇方案需要根據自己全景相機需求決定。

在具體實施中有一個很大問題就是降噪技術,即採集時候防止收到本機自帶散熱風扇干擾,經過測算,採用定向麥克可以在軟體和硬體上達到超過20杜比的降噪效果,即至少超過10倍的降噪效果,應該說風扇影響較小了。

8、將消費級的全景相機縮小到手機攝像頭的大小需要做哪些事情(犧牲)?

全景功能集成到手機中是大趨勢,我們也會在積極跟蹤產業鏈這個方向上的突破和進展。

當下最突出的問題是鏡頭和產品體驗。手機很薄,要做到鏡頭不能凸出太多,雙鏡頭全景所必須的魚眼鏡頭做到5mm左右的TTL。這是有相當的設計難度和工藝難度的。

同時手機用sensor圖元尺寸都很小,對鏡頭解析力要求很高。因此我們需要在清晰度和尺寸上做很多權衡,現在還沒有一個好的答案。在產品體驗上,凸出的魚眼鏡頭也會導致鏡頭更加破碎或磨花,用戶實際使用要時刻小心翼翼,也極大損害了用戶體驗。

手機配件類全景相機產品,在當前階段,是最符合市場需求的產品形態,定位於存量手機用戶市場,用戶也容易接受。當市場成熟度進一步提高之後,全景手機會更加水到渠成。

9、消費級全景相機的未來發展方向是什麼?

無論是手機配件全景相機還是獨立全景相機都會有市場,只是份額大小不同罷了。

簡單說是更好的用戶體驗,包含了:拍攝的畫質,後處理的功能,功耗,產品形態,針對特定人群的使用特點的app體驗,等等;畫質會越來越高,功耗越來越低,幀率也會更高,同時直播功能會更強大。

Q&A環節:

Q1:目前全景相機的方案晶片主要有哪些?

趙博:

國外大廠晶片:高通、安霸、三星、NVIDIA;

國內晶片可以選擇:聯詠、全志、聯發科等。

Q2:360度全景相機如何解決白平衡問題?

趙博:

一個參考的做法是採用其中一個相機作為master,其餘的相機跟定master進行白平衡調節;另一個參考做法是統計每路相機的色溫資料,再平均得出白平衡參數。

Q3:使用3ds MAX + VRay 輸出全景圖,其相機成像原理是怎樣的?

趙博:

用3D渲染軟體輸出的全景圖,從本質上講和拍攝真實場景的全景圖理論基礎是一致的。

都是以一個空間點為中心,向三維空間發出射線,打在一個單位球體上的射線積分形成的畫面。

Q4:全景相機用在安防視頻監控和行車監控的市場前景?

趙博:

但是這個市場我不認為創業公司適合做,因為深入理解客戶需求,針對客戶需求開發產品,目前已經有一些巨頭公司在開始做。

如果創業團隊一定要選擇切入的話,需要對市場做進一步細分。