視頻編碼將來簡史

本文根據RTC2017實時互聯網大會中,下一代雲端音視頻技術專場,馬思偉老師的演講內容整理得來。前端

歡迎訪問 RTC 開發者社區,與更多 RTC(Real-Time Communication)技術開發者交流,參與更多開發者活動。編程

馬思偉:
北京大學信息科學技術學院教授
2005年博士畢業於中國科學院計算技術研究所。2005年8月至2007年8月在美國南加州大學進行博士後研究,以後到北大工做至今。2013年獲國家天然科學基金委優青項目資助,2015年入選中組部第二批青年拔尖人才計劃。主要研究方向爲視頻編碼及處理,已發表論文200餘篇,已獲受權發明專利40多項。擔任IEEE Transactions on Circuits and System for Video Technolgoy(TCSVT)、Journal of Visual Communication and Representation(JVCIR)期刊編委(AE)、中國圖象圖形學學會理事、AVS視頻組聯合組長等。自2002年起,陸續參與組織AVS一、AVS+、AVS2一系列國家標準的制定,曾獲國家技術發明獎二等獎、國家科學技術進步獎二等獎等獎勵。
複製代碼

首先咱們回顧一下視頻編碼的歷史,視頻編碼起源於廣播電視,在很長一段時間裏視頻編解碼的變革主要推進力是來自於廣播電視。固然,今天咱們看互聯網的視頻編碼是速度愈來愈快,昨天在ICET2017年世界大會上,ICET的主席還說到之前一個編碼是十年更新一版,可是如今從H.265最新進展的來看,可能不到十年。後端

咱們看到這個圖,你們可能在小的時候見到過,電視上一個圓盤,這是最主要的電視測試信號,這是1951年第一部數字電視和廣播。這個起源是脈衝調製編碼,至關於一個脈衝一個象素值,比較早的是用固定的比特,用8比特表示圖象電視信號編碼傳輸。這是在廣播電視領域。

到了咱們計算機行業,計算機誕生於1946年,可是在計算機上出現圖象是到了1957年, Kirsch是第一幅數字圖象的創造者,他用他的兒子作了第一章數字圖像。2007年是這一幅圖象誕生50週年,如今是60週年了,原來的小baby如今也已是50、60歲的老頭了。今天的數字圖象,已經到了4K甚至8K。bash

到了編碼,編碼的原理是由於視頻裏面有不少冗餘,包括連續兩幅圖象出現的時域冗餘,還有人眼對高頻信息不敏感的感知冗餘,還有對感知不敏感的感知冗餘。基於這個原理,我如今視頻編解碼框架早期261開始,一直到今天266快出來了,框架基本上沒有太多變化。網絡

在這個框架裏面,編碼技術能夠主要分紅三大塊。其中一部分是變換編碼,剛剛提到經過變換把高頻信息把冗餘信息去除掉。其中還有空域、時域把冗餘信息去除掉。還有預測編碼,還有熵編碼。這是三大塊編碼的技術。框架

若是看三大塊的編碼技術,其實是1950年差很少,1946年計算機誕生,1948年是相對信息論,50年代初開始了數字化開始視頻數字編碼時代。在早期因爲計算能力限制,基本上是基於象素去處理,都是機遇統計去處理,像咱們看到的huffma編程統計編碼技術。計算能力加強了以後如今有基於塊的處理。原來只能是基於圖象去作,後面才能夠基於塊的處理,基於塊的運動估計、運動補償,像塊大小也能夠變化,今天咱們看到的H.26四、265都是這樣。 變換,在70年代末的時候,基本上奠基了咱們今天的視頻編碼行業,也就是說40年來基本上都是處於老瓶新酒的狀態。再看後面這是最近幾年的狀況,固然265也有幾年歷史了,這是看到這塊的進展,包括像變換這塊有正象變換。這是視頻編碼的技術發展。ide

再看當下的視頻編碼技術進展。首先是空間的分辨率,從原來的小圖象到標清、到高清、再到超高清。第二,是時間分辨率,從原來的15幀,還有更高的20幀,到120。第三,採樣精度,如今的 HDR高動態範圍電視,至少是10比特了,可是10比特夠不夠,未來還會發展,也可能到了20比特。第四,視點數和視場範圍,這兩個是密切相關的。視頻傳的不是一路視頻,多是兩路,多是多路,這是視點數。視頻的範圍,看到的角度,愈來愈寬,這是視場範圍。第五,模型數據。模型數據是包括輪廓對象的刻劃。深度數據,還包括特徵,對圖像內容、對象的認識。還有是點雲,徹底能夠把對象重建出來,遠景重現就依賴這項技術。工具

模型編碼,是標準以外的編碼。模型編碼這個概念也是比較久了,大概在80年代後期,一直到90年代中期的時候,曾經有一個很大的呼聲,模型編碼是第二類編碼,可是今天爲止咱們發現二代始終沒上臺,始終在用原來的二代。模型編碼的概念很光,能夠把原基於象素的編碼均可以涵蓋,也是模型,只不過它的模型是基於信號模型。固然咱們熟悉的是對象模型,這個概念很新,可是它也沒有用起來,也是有不少問題,在這裏提到場景的解析,人和場地的解析。 更進一步,包括對人這塊,對人的身體、人的臉能夠更精度的建模型,這對於編碼嘗試也不少。因此這對應表格上是在早期過去編碼歷史也有反應,包括基於人臉模型,甚至人臉哭和笑,只要是作好模型,未來傳不多的數據就能夠還原。 固然最後邊的發展最後還提到智能編碼,這是綜合了信號與視覺的模型,基於學習的視頻編碼。

再看看視頻編碼的發展趨勢。4K愈來愈流行。咱們看到互聯網廣播,包括最近廣東也開會提出下一步要提出4K電視廣播技術,咱們北京也提出2022年冬奧會是8K的試播。上圖能夠對比一下,有測試8K,左上角的高清多麼小。固然8K視頻不僅是分辨率的問題,還有配套的技術,包括採樣精度、幀率和聲音。性能

這是關於壓縮的發展趨勢是8K。可是咱們說的8K它並不僅是分辨率的問題,下面還有象素、更高精度。這是10億象素的相機拍攝的一張照片,圖片一直放大,能夠清楚的看到「太和殿」三個字。

分辨率上去以後,並非說要傳一個更大的視頻,對於後端來講,意味着能夠能夠提供更多的視頻應用形式。其中一個是AR和VR。如今4K作VR的視覺效果仍是有問題的,仍是須要更高的視頻帶寬和視頻精度去傳輸。模型編碼,對AR也有更大的提高做用。

挑戰方面,一個是說數據量的壓縮,依然是比較嚴峻的。8K、4K、HDR這樣的視頻,原始數據級是60Gbps。

第二個挑戰是,從壓縮到分析。剛剛講到視頻編碼的第一個推進做用是廣播電視,看到更好的視覺質量。可是到今天爲止,世界上好多視頻,好比監控,並非人要去看的,是計算機要去看的。咱們沒有人去盯監控視頻,但願計算機來可以完成分析。目前的壓縮是面向存儲和傳輸,下降帶寬佔用,可是分析的支持至關弱。因此,不少視頻分析的研究是在壓縮完以後進行。可是,隨着如今前期分析識別技術愈來愈強,不少視頻分析開始在視頻編碼時就進行智能分析、智能編碼。

最新進展我也快速過一下,一個是最關心的JEM266,高通推進新一代的發展,最先是在MPEG會議提出,提出HM—KTA—1.0,到2020年制定新的標準。學習

JEM的性能有很大提高。客觀性測試上,編碼效率已經提高了30%,複雜度增長了12倍,這對編碼實現仍是頗有壓力的。這是剛剛出來的雛形,後端確定會在複雜度和性能之間的作更多優化作更多技術。

最近已經有幾家平臺基於JEM作了一些嘗試,能夠看到他們的測試結果。在SDR、HDR、360video三個平臺,能夠看到基本上原來的碼率下一半的時候能夠達到同等的要求。這個對8K頗有吸引力。

從固定精度運動矢量到自適應精度運動矢量,離預測中心比較近是,用高精度,比較遠時用低精度,以此來節省運動矢量編碼的碼率。

第二個是關於劃分,劃分模式太多,你們在選擇起來比較頭疼。

再說一下360,基本上是把投影拼接,拼接完了以後再壓縮編碼。在這個環節裏面最重要的是投影數據,投影數據決定你要壓縮什麼、丟失什麼,對整個VR的體驗影響不少。這是很重要的方向。

從圖象這塊咱們能夠看到全景視頻投影,從立方體、八面體、二十面體、球體,JEM裏面有十幾種投影方式。

對於質量評價不同,固然這種質量評價也是影響你編碼工具的設計,這兒有一個WSPSNR的概念由於它是從球面投到平面上去,有些數據丟了,如何計算WSPSNR很難,固然還有不少其餘的方式。

剛剛講到JEM的技術。像光場這塊原來是聚焦一個圖象,如今是把不一樣方向的內容光線記錄下來,一遍是利用相機陣列,或者微透鏡成像。

廣場圖像壓縮,JPEG比較積極,它是在2017年1月份發佈光場圖象壓縮平臺。

在這裏咱們作了初步探索,對光場圖象裏面有不少問題,每個小透鏡採集的光和圖象不同,中間有不少差別。弄完以後實際上每一個濾波就是一個視頻,每個小透鏡就是一個小圖象,這些差別須要處理。

再後來數據採集就是點雲採集,把人臉模型變成動畫場面。後面咱們要把三維場景傳輸過去,這是下一步場景三維模型建模的技術發展方向。在這塊MPE也是比較迅速。

在今年4微分發布的CFP,大概10月份確立第一個驗證平臺,這個是相似於AR、VR能夠把動態模型用三維模型傳輸過去。

這塊是序列編碼框架,把編碼數據包裝到每個盒子裏面,固然對於點雲的數據要複雜的多一些。

這是對比的效果圖,能夠看到這是原始數據,一幀電暈多是136MB,咱們看到壓縮一千倍、一萬倍,信息會丟掉很多。

下面討論關於將來,原本簡史咱們很熟悉,包括人類簡史、將來簡史,包括赫拉利講到人類簡史說三個革命,一個是認知革命,由於認知革命會製造工具,還有一個是農業革命能夠養活更多的人,由於有個更多的人,纔有人力去搞科學革命。 在視頻編碼方面,我把認知革命改爲「採集革命」。視頻採集的深度、點雲、以及壓縮感知,Nyquist採樣定理等對採集有很大影響。採集是編碼的源頭,採集會影響到編碼的框架設計。 第二個計算革命,剛剛說農業能夠創造更多的糧產,能夠養活更多的人。在視頻編碼領域,能編碼,是由於計算能力的支持。計算的初期是基於像素、後來是基於塊,如今有更多更復雜的計算。早期是CPU,後來GPU,如今有NPU。這些計算能力很強大,可是視頻編碼目前尚未利用上這些計算能力。目前正在探索,利用這些計算能力如今在探索基於神經網絡的編碼,就是想利用這種更高效的計算能力。 第三個是科學革命,我認爲對於編碼來講是認知革命。認識視頻裏的內容,對內容有所識別。這裏麪包括簡單的視覺特徵,高級一點是深度學習,更高級是類腦計算學習。這個過程是支持將來視頻編碼的方向。 這三者相輔相成,採集有新東西了,計算能力要跟上。計算越強會支持採集。一樣對於認知也是,計算能力更強也會增強認知。因此這三者是相互支撐的關係。

咱們下面看採集革命,輸出的時候是離散的數字信號,這裏面最有名的就是奈奎斯特採樣定理,是要過採樣。4K、8K那麼大,採集到的數據有不少是冗餘的,是爲了重建。

可是這種採集,與人眼的處理差異是很大的。這裏引入了壓縮感知,採樣時強調稀疏採樣。

這裏面一個直接的應用,e是原圖象。採樣時經過係數採樣,只採樣20%的象素,採集到的是a,再基於稀疏圖象的原理還原成e。數據量大大下降。

信號採集在時間上和幅度上都是離散的,這就是離散信號。可是離散信號帶來的問題就是數據量增長特別多。這都是過採樣的方式。

可是人腦的採集過程是,一開始是光刺激發生,經過視網膜光電轉換和編碼,最後經過視網膜認出來。從圖像出來到人腦把這個圖像認出來,須要通過160ms。確定今天的採集技術是比人眼採集頻率高不少,可是智能分析識別上人要比設備高不少。

人臉採集不同,上面是模擬信號,下面是數據信號,實際上咱們人眼被稱之爲神經脈衝編碼,是指當人看到一個東西若是沒有發生變化,是不發放神經脈衝的,至關於不傳信號。因此,人腦的功耗是特別的。若是人腦的功耗也很高,就會把大腦燒掉。因此,人是靠很低功耗的計算,來實現分析識別。

這是一個很低功耗的圖象傳感器,區別於傳統的CMOS、CCD,作陣列刷新。這是一種事件驅動的採集,對於事件的發生分析,精度要求是很高效。

計算革命我也有一些思考.一個是咱們知道前端計算,對於視頻編解碼都有專門的芯片,好比早期的C-Cube的處理器,VCD、DVD都使用這種處理器。最近有很強的ARM處理器能夠支持4K,Tesla在使用的H.265編解碼器,能夠處理8K。最新的寒武紀深度學習神經網絡處理器。

這裏咱們仍是從變換提及,變換是視頻編碼很重要的模塊,最先的變化是基於8x8 DCT。DCT的好處是當信號相關性很強,相關係數達到0.95的時候,DCT就是最優的變換。可是實際信號差異很大,若是圖像一旦有邊緣,DCT就變得不高效,由於相關性下降了。這是就提出了基於方向的變化,排列一下,分別進行相關性變換。基於這種原理,擴展出了DST,離散正弦變化。到了正弦變化以後還不算完,在H.265發展過程開始經過尋來找KLT最優變換。在H.266提出了更新的作法,原來是離線訓練,H.266中使用在線訓練,經過前面一兩幀的數據在線訓練。

1987年,神經網絡編碼提出。最近,Google開始引起關於神經網絡編碼的革命。這麼多年的發展,神經網絡編碼的原理,基本上仍是想通的。

上文講的是神經網絡能夠進行更多的計算,那麼這裏給一個例子,進行這麼多計算,做用在哪?左邊是縮倍率示意圖,右邊是編碼複雜度示意圖,咱們關注最後面兩個,一個是JPEG和Residual(基於神經網絡的編碼)的GRU和CPU。壓縮倍率,JPEG和Residual的都是15倍。在計算複雜度上,若是把JPEG當作是1,那麼Residual在GPU上進行的編碼複雜度是3200,在CPU上的是26萬。

原來作濾波是作統計,求一個最優的濾波係數。這也能夠用神經網絡代替,基於神經網絡作濾波,不訓練,直接經過神經網絡就能計算的特別好。

前文是基於空域的濾波。還有基於時域的,像和幀之間的相關性,也能夠用上,經過訓練改善優化,都能得到性能的提高。

神經網絡也能夠作生成預測。

最後是認知革命。認知革命是講前端處理都是基於塊,咱們看到的塊都是像素值、是數。可是人腦處理的時候從邊緣到輪廓到對象,差異很大。若是更高效、更智能的編碼,應該是基於特徵的編碼,才能夠作更高效的分析處理。

近期就是基於特徵的編碼(CDVA),最新的2018年的標準。視頻監控是一個典型應用。上百萬路視頻,若是是傳統的編碼,數據量達到1Tbps,若是是CDVA,則數據量降到10Gbps,上萬倍壓縮比。傳不多的數據達到分析識別的目的。

紋理特徵聯合編碼,如今已經有一些方案了。一路傳視頻、一路傳特徵,來輔助分析識別。

總結: 4K正在普 ,8K是將來趨勢,下一代標準值得關注; 採集革命進一步擴展了視覺數據的維度,豐富了視覺數據編碼的多樣性; 採集、計算和認知技術的融合,使得智能編碼成爲可能 。

相關文章
相關標籤/搜索