基于AVS2的图片容器——TPG:现状与改进之路
最近關于codec的新聞有點多,MPEG的HEVC正面臨混亂的專利困境。AV1及國產的AVS2開始發力搶占市場。騰訊推出的圖片格式TPG就是基于AVS2內核的圖片容器,這是AVS2在互聯網上最新,也可能是最廣泛的應用。據騰訊音視頻實驗室(http://medialab.qq.com/)TPG開發負責人丁飄介紹,TPG已在手Q、QQ空間、QQ瀏覽器、騰訊新聞等產品使用。LiveVideoStack對丁飄及騰訊音視頻實驗室進行了訪談,解讀了TPG的特點、短板以及未來改進方向。點擊『閱讀原文』訪問發布在《電信科學》“TPG圖像壓縮技術”,該文對TPG技術做了詳細介紹。
策劃 / LiveVideoStack
LiveVideoStack:首先能簡單介紹一下TPG嗎?
騰訊音視頻實驗室:TPG的全稱是Tiny Portable Graphics,它是騰訊音視頻實驗室基于AVS2視頻壓縮標準推出的一種新的圖片壓縮格式。相比傳統圖片壓縮格式,TPG在壓縮效率方面具有明顯優勢,在相同質量下,TPG壓縮效率比JPG高45%以上,比WebP高20%以上。
LiveVideoStack:目前大家用的主流圖片格式還是JPG,騰訊為什么要推出一個新的圖片格式TPG?
騰訊音視頻實驗室:這個問題很多人比較關注。去年,我們正式對外公布了自研的圖片格式TPG,當時很多人就有此疑問。其實,我們決定做TPG是經過了充分評估和全面考量的,TPG的推出也是業務需求推動研發的一個經典案例。
隨著移動互聯網的發展,終端設備的下載流量大幅增長,這其中圖片流量占比很大。對于騰訊公司來說,圖片流量更是驚人。公司內各類應用比如QQ空間相冊、騰訊新聞圖片等,圖片流量成本壓力非常大。除了流量成本,存儲成本的壓力也是巨大的。以QQ空間相冊為例,用戶每天上傳的圖片以億計,這些圖片都是需要永久保存的,壓力之大可想而知。
由于圖片流量及存儲成本的巨大壓力,業務部門向我們提出了圖片優化的需求,我們也在2014年下半年啟動了圖片優化的工作。最初我們評估了WebP方案,WebP是Google在2010年發布的圖片壓縮格式,它的壓縮效率比JPEG高20%左右。我們知道,WebP是基于VP8的視頻內核,VP8和H.264屬于同一代標準,它的壓縮效率是要低于最新一代標準H.265和AVS2的,那如果采用H.265或者AVS2來進行圖片壓縮,是不是效率更高?對此,我們進行了一輪全面測試,測試結果表明,H.265及AVS2的I幀壓縮效率確實相對WebP具有明顯優勢,壓縮率至少高20%以上。基于以上測試結論,我們推出了全新的圖片格式TPG。
LiveVideoStack:目前大家比較關注的新興的圖片格式,包括WebP,HEIF以及TPG。相對于傳統的JPG格式,新興這些圖片格式有什么創新?
騰訊音視頻實驗室:WebP、HEIF以及TPG都是基于視頻壓縮編碼標準衍生出來的圖片壓縮格式。其中,WebP是基于VP8,HEIF基于H.265,而TPG是基于國內視頻壓縮編碼標準AVS2。由于這些圖片壓縮格式采用了幀內預測等多個JPG沒有的壓縮工具集,所以新興圖片格式的壓縮效率更高。另外,新興圖片格式在功能方面也更加全面。JPG只支持靜態圖片,而WebP、HEIF、TPG除了靜態圖片,還支持動態圖片格式。還有新興圖片格式支持的透明漸變效果,都是JPG不具備的。
LiveVideoStack:能介紹下目前TPG開發的進展嗎?
騰訊音視頻實驗室:目前我們已經完成了TPG整套SDK的開發,包括云轉碼平臺和各平臺客戶端解碼SDK,正在對外推廣中。
LiveVideoStack:TPG和其他的圖片格式相比有什么優勢呢?
騰訊音視頻實驗室:我覺得TPG的優勢主要體現在以下幾個方面:
首先是壓縮效率高。前面我們簡單介紹過,TPG在同等質量下壓縮效率比JPG高45%左右,比WebP也要高20%以上。在主觀質量幾乎無差別的情況下,TPG可以將PNG文件大小減少60%以上,將GIF文件大小減少85%以上。
其次就是性能好。目前我們已經完成了一期TPG編解碼器的開發。其編解碼性能在業界屬于領先。TPG編碼器在壓縮效率比WebP高近20%的同時,編碼速度比WebP(libwebp)還快一些。目前解碼速度比WebP稍慢一點,優化之后,解碼速度也會對齊WebP。
第三,擁有完整的解決方案。我們對外公布TPG圖片格式的時候,也完成了整套TPG圖片轉碼系統的開發。我們的轉碼系統支持JPG、PNG、GIF、APNG、BMP等圖片格式與TPG互轉,支持Linux、Windows、IOS、Android等平臺。
第四,易用性好,接入簡單。我們提供了各平臺的SDK,接口設計非常簡單,業務接入非常方便。在公司內部業務接入的過程中,我們的接口根據業務需求不斷迭代優化,優化后的接口設計更趨合理。以GIF為例,傳統的GIF文件,需要等整個文件下載完后才能播放,而GIF文件通常比較大,所以用戶觀看一個GIF動畫的等待時間會比較長。TPG通過優化設計,能夠提前獲取GIF文件總幀數并支持邊解邊播,用戶觀看動畫的等待時間大大減少,體驗明顯提升。
最后,很重要的一點就是安全性高。一種新的圖片格式,安全性可靠性是非常關鍵的。TPG SDK在發布前,公司內部多個安全部門對TPG進行了全面的安全掃描,修復了一系列的安全漏洞。經過安全掃描后,TPG的防攻擊能力大大增強。
LiveVideoStack:如何評定一種圖片格式(或圖片壓縮引擎)的優劣,其關鍵指標包括哪些?
騰訊音視頻實驗室:評價一種圖片格式的優劣,主要從兩個方面考慮:一個是壓縮率,另外一個就是編解碼性能。壓縮率對比的話,通常以PSNR或者SSIM作為質量評價指標,在質量對齊的前提下,對比圖片大小。性能方面的話,主要是看編解碼一幅圖片的耗時以及內存占用。
LiveVideoStack:為什么WebP,HEIF以及TPG都不約而同的采用codec作為壓縮引擎呢?視頻編碼和圖片編碼有哪些相關性?
騰訊音視頻實驗室:前面我們介紹過,WebP、HEIF和TPG分別采用了VP8、H.265以及AVS2編解碼器作為自己的壓縮內核,主要還是因為視頻編碼的高壓縮效率。視頻編碼與圖片編碼的壓縮原理是相似的,我們以JPG圖片格式為例,JPG編碼也是基于分塊結構的壓縮,也采用的變換量化編碼的編碼模式,這些和視頻編碼基本一致。我們可以將圖片編碼視為視頻編碼的一個子集,圖片編碼相當于視頻編碼里面的I幀編碼。
LiveVideoStack:新興的圖片格式除了帶來更高的壓縮比以外,還存在哪些不足?比如專利風險。
騰訊音視頻實驗室:新興圖片格式相對傳統圖片格式有壓縮效率方面的優勢,但是也有一些不足。
首先,在壓縮效率這塊,雖然對于大部分圖片新格式的壓縮效率優勢比較明顯,但是對于部分圖片,尤其是png8格式的圖片,其壓縮效率優勢很小,甚至壓縮效率還不如png8。這其中原因是因為采用I幀壓縮編碼方式不適合對256色的圖片進行壓縮,怎么提高256色位圖的壓縮效率是新興的圖片格式后續需要優化的。
其次,新興圖片格式在高壓縮率的同時,也帶來了編解碼復雜度的成倍增長。新興圖片格式的編解碼性能和JPG等傳統格式相比,還是有較大的差距的,另外,由于硬件加速對新興圖片格式的支持度普遍較弱,使得性能問題更加突出。不過,近年來隨著CPU性能的不斷提高,以及新興格式由于壓縮率高而節省了大量下載時間,單幀解碼時長稍高也是可以接受的。
另外一個就是新興圖片格式的兼容性問題也比較突出,由于第三方瀏覽器無法全部支持這些新興圖片格式,導致其推廣應用受到很大限制。
當然你剛才提到的專利風險,也是不可忽視的。比如,HEIF基于H.265編碼標準,而H.265的專利費用是非常高昂而復雜的,這個不利于HEIF的推廣。
LiveVideoStack:設備上支持一種圖片格式需要哪些必要條件?僅僅從技術可支持的角度看,除了相應的codec支持以外,還需要哪些軟件或硬件環境支持?
騰訊音視頻實驗室:終端上的應用可分為Native和Web兩大類。
對于Native APP,只需要其集成新圖片格式的解碼器即可。目前TPG Android端SDK大小不到700K。
而對于Web APP,可以有2種方式。首先,如果瀏覽器能夠集成新圖片格式解碼,那么將給新圖片格式的推廣帶來極大的便利,但是,客戶端使用的瀏覽器是多種多樣的,很難保證所有的瀏覽器都會主動支持新格式。其次,如果瀏覽器端不支持新圖片格式的解碼,目前也還有一些其他的方式,比如提供WebAssembly版本的解碼器,這樣能讓所有支持WebAssembly的瀏覽器支持。
LiveVideoStack:WebP在2010年推出以來,依然還有很多平臺不支持(https://caniuse.com/#search=webp)。TPG正在做怎樣的推廣計劃?目前,在騰訊內部和外部,已經有哪些平臺支持(或計劃支持)TPG?
騰訊音視頻實驗室:TPG圖片格式推出之后,在公司內得到了各大業務的大力支持。目前在公司內部已經得到了廣泛應用。公司內的很多產品諸如手Q、空間、QQ瀏覽器、騰訊新聞等都已經完成了TPG的接入。
接下來,我們也會對公司外開放我們的TPG。目前,騰訊云已經完成了TPG后臺轉碼系統的搭建,騰訊云CDN也已經完成了TPG的部署。同時,我們也對外開放了各平臺的TPG解碼器,第三方App應用可以免費集成我們的TPG解碼器,通過騰訊云接入TPG。另外,騰訊瀏覽器X5內核也完成了TPG的支持,只要是使用X5內核的第三方應用,客戶端無需任何開發就可以原生支持TPG格式。
在加快TPG業務落地的同時,我們也在同步推進TPG的標準化工作。TPG在騰訊內部獲得了較好的推廣應用,但是要在全行業獲得大規模應用,還需要很多工作要做。其中,很重要的一點就是將TPG標準化,只有TPG成為一種標準格式,第三方應用,比如各類瀏覽器才更有意愿支持TPG。基于此,我們在去年啟動了TPG的標準化工作。我們向AVS組織提出了制定互聯網圖像標準的提案,并成功將TPG申請成為AVS2的圖像標準容器格式。目前,TPG作為信息技術高效音視頻編碼第7部分(圖像容器),已經申報成為國家標準,我們也期待TPG能夠早日實現標準化,并最終成為一種主流圖片格式。
LiveVideoStack:JPEG格式從誕生至今已有幾十年的時間了,雖然有其他一些新的格式的出現,但是JPEG始終還是占絕對主流,你怎么看新興圖片格式未來的發展前景?還有就是圖片壓縮技術未來的發展方向?
騰訊音視頻實驗室:JPEG經過了幾十年的發展,目前還是占統治地位,這其中最主要原因還是通用性問題。尤其是在PC時代,由于缺乏第三方瀏覽器的支持,私有格式的應用范圍受到了很大限制。但是,在移動互聯網時代,大家對瀏覽器的依賴大大下降,一個移動App只要帶有一個解碼器就能完成對一種新的圖片格式的支持,這給新興圖片格式帶來了機會。我們看到現在很多互聯網應用中都使用了WebP圖片格式,蘋果也在iOS11系統中原生支持HEIF格式了。現在移動端應用的流量越來越大,這對新興圖片格式的發展是一個很好的機遇。
幾十年來,圖片壓縮技術一直在不斷向前演進,未來,關于圖片壓縮的研究肯定不會停止。關于未來的發展方向,總結下來有以下幾個方面:
首先,采用更高復雜度更高壓縮率的標準。比如,未來很有可能出現基于下一代視頻編碼標準FVC的圖片壓縮技術。
第二,采用深度學習進行圖像壓縮。目前已經有很多學校及公司在從事這方面研究,比如Google發布了基于RNN的圖像壓縮技術RAISR,雖然基于深度學習的圖像壓縮技術目前還不成熟,但是未來肯定會有長足發展。
LiveVideoStack 2018年春季招聘
LiveVideoStack是專注在音視頻、多媒體開發的技術社區,通過傳播最新技術探索與應用實踐,幫助技術人員成長,解決企業應用場景中的技術難題。如果你有意為音視頻、多媒體開發領域發展做出貢獻,歡迎成為LiveVideoStack的一員。我們正在招募商務助理,高級編輯,策劃編輯,課程經理。
通過job@livevideostack.com聯系,或在LiveVideoStack公眾號回復『商務助理』,『高級編輯』,『策劃編輯』,『課程經理』了解詳情。
總結
以上是生活随笔為你收集整理的基于AVS2的图片容器——TPG:现状与改进之路的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 北京大学数字视频编解码技术国家工程实验室
- 下一篇: HEVC支持苹果HLS的几个关键问题