剛才說的是從編碼的角度,我們有去空間冗余、去時間冗余和去編碼冗余三種技術,來把視頻流里的冗余去掉,這三種技術包含了許多算法,有變換、濾波、運動補償、熵編碼等等。分類就是像剛才說的,去空間冗余最主要的工具是變化,把時域變到頻域上再進行處理,對于空間的冗余主要是采用預測編碼的方式去除,對于感知主要是通過熵編碼去除。

壓縮性能來源估計(倍數(shù))
再細分一下,這三代到底是哪個工具做了多大的貢獻?上圖左邊兩列,色彩空間和這幾代大概貢獻度是6倍,第三類是預測與運動估計。這一塊每一代是不一樣的,比如第一代貢獻3左右,第二代貢獻6左右,第三代貢獻10左右。熵編碼這三代有點變化,但是沒有構成成倍的變化,基本大約是3倍左右。所以乘起來,針對高清視頻,第一代是75倍,二代是150倍,三代是300倍,我們正在做第四代,希望做600倍。
剛才我們說第一代、第二代、第三代,它的應用場景是什么?應用場景是電視、電影,因為我們什么東西都是需求拉動的,它最大的需求是什么?過去30年一直是廣播電視和電影,廣播電視和電影有個假定,即場景要經(jīng)常換。為什么?場景不換,人的注意力就會失散掉,很有可能就打瞌睡睡著了。所以,它有一個假定是最長30秒就必須換掉場景,這樣人腦能被抓住,隨著情節(jié)的演化,人能夠深入進去。這個假定已經(jīng)被視頻編碼界廣泛接受,也就是說背景是要經(jīng)常換的。并且,經(jīng)過反復實驗,認為0.5-2秒為最合適的間隔。
但是如果應用于監(jiān)控,故事就不一樣了,這是為什么?因為一個場景長時間不變,這時候假定是錯誤的。現(xiàn)在監(jiān)控里面用的算法和廣播電視一模一樣,只不過有的廠商比較聰明一點,說咱們能不能別2秒鐘就切換,能不能再長一點,比如弄1分鐘、2分鐘,有這樣的案例,效果也確實提高了一些。但是又有一個問題,盡管場景是不換的,但鏡頭拉得近的時候,場景里面公交車站分之一畫面,你也不知道它什么時候進來,剛好你切換時公交車在里面,切換完公交車走了,這個場景和你后面參考的場景變化非常大,這時候就來問題了,就是多少秒或多少分鐘的擦分全都不對了,這個突然馬力就上來了,系統(tǒng)就崩潰掉。
現(xiàn)在做模式識別時,壓得狠了以后把目標里面很重要的特征給濾掉了。如果我知道哪個是前景,這個我壓得輕一點,后面的識別就會好了。對于背景,因為反正它是背景,沒有人在乎好一點差一點,背景可以壓得稍微狠一點,這樣可以把真正有用信息保留得多一點。怎么樣做背景建模呢?我的學生們做了一些工作,可以通過算法把它們組合到一起。預測場景怎么建立起來,什么時間更新,多長時間需要更新,更新的點是什么,是固定更新,還是發(fā)現(xiàn)過了哪個域值就要更新,有兩個博士論文都是做這樣的工作。
把所有這些東西集成在一起,我們做的音視頻標準里面,專門有個分值做監(jiān)控視頻,這個正在走國家標準化的程序。它經(jīng)過嚴格的測試,在視頻流里面我們加上這個模式,然后在里面做點優(yōu)化,比廣電里面用性能高一倍,提前完成了在2023年做到的任務,也就是說從監(jiān)控視頻角度我們已經(jīng)做到了第四代,它已經(jīng)性能提高了一倍,測試的結果是基本可以翻一番了。我們把同樣的技術架到,國外最好的編碼叫HEVC,我們把同樣的場景技術加到HEVC上,其他什么都不動,加上背景建模技術進去,它的性能可以提高40%,提到50%就是下一代了,我們沒做優(yōu)化,直接加上去就做到這樣的效果,這是非常好的技術,這個技術目前還沒有開始用,我們也希望找到一些好的用戶,特別是建大的城市的數(shù)據(jù)中心時最好采用這種技術,存儲就會節(jié)省很多。作為AVS2這個標準本身,它現(xiàn)在已經(jīng)在一些地方開始使用。
編碼有很多有意思的需求,不是所有的都能做,像這種需求我們認為在監(jiān)控里能做得動的就做了,現(xiàn)在正在做VR,這是第一個挑戰(zhàn)。
二、看不清:面向?qū)ο髾z測、跟蹤與識別解決模式識別問題
第二個挑戰(zhàn),對象檢測、跟蹤識別挑戰(zhàn)。不僅僅是模式識別率再高、人臉識別再準再高,識別的準和不準有算法的好壞,還有一點是在編碼那端能不能對我提供支持。以往這兩個系統(tǒng)像軌道一樣完全平行,我們希望編碼和識別能合作,把中間那堵墻翻過去或者拆掉。怎么拆掉?編碼時候要考慮怎么辦。現(xiàn)在我們提出個支持是ROI,就是編碼時候識別出來哪個區(qū)域可能是識別要用的區(qū)域,把這個區(qū)域定義成感興趣區(qū)域,對于感興趣區(qū)域要描繪出來,現(xiàn)在語法里對感興趣區(qū)域有專門的描述,除了這個區(qū)域以外還包括其他的,比如你可以放GPS信息、攝像機參數(shù)信息。有了這個以后,我在后面編碼時候,會針對編碼參數(shù)進行調(diào)整,ROI區(qū)域壓得輕一點,這樣關鍵的信息丟失的會少一點。