項目背景
2018年12月,我有幸參與了“數字音視頻編解碼技術標準工作組”(簡稱AVS工作組)在深圳鵬城實驗室進行的AVS3標準封閉開發。封閉開發初步完成了AVS3標準第一階段的制定工作以及參考軟件的開發和測試。2019年3月的AVS工作組第68次會議上,AVS3第一階段標準正式公布。當時,正是新一代視頻編碼標準制定的關鍵時刻。國際上,AV1標準正在大力推廣,VVC標準也處于緊張制定的過程中,并在壓縮效率上處于領先地位。與此同時,中美貿易戰和科技戰也正在火熱進行,我國的科技公司面臨越來越大的壓力。而視頻編碼標準是視頻數據傳輸和存儲的基礎技術之一,一個友善的視頻編碼標準對我國信息產業的發展和安全,具有非常重要的作用。
因此,在標準定稿的第一時間,我們課題組就啟動了AVS3編解碼庫的軟件開發工作,力爭盡快推出可商用的AVS3編解碼庫,加快AVS3標準的應用和推廣。
開源心得
在我們進行AVS3編解碼庫開發的最初階段,并未考慮以開源的形式發布,更多傾向于以可執行庫的形式發布,并期待后續進一步的商業合作。但在接觸了多個主要的互聯網廠商之后,我們意識到了AVS3標準面臨的困難。由于H.264、HEVC等標準具有非常成熟的開源編解碼器,國內外行業內的參與度很高,具有非常完整的技術生態。因此,AVS3如果不能建立起較好的生態,業內的各個廠商將始終會處于觀望態度,難以下決心投入使用。其次,業內的多數廠商對于各自的應用,都有不同的定制需求,同時對代碼的把控也具有一定的要求。因此,非開源的編解碼庫對于大家意義有限。
所以最后,為了AVS3標準的推廣,我們選擇了開源,一方面希望能夠吸引更多的參與者,包括參與編解碼庫的開發,以及參與標準相關生態的完善工作(例如各種系統層封裝的支持等)。另一方面,我們也希望開源的編解碼庫能提供各個廠商一個開發的基礎版本,大家可以在這個基礎上進行各種需要的私有的定制化開發,而省去基礎編解碼平臺的開發工作。當然,開源并不意味著生態就可以如預期一樣建立起來,但是我們希望能拋磚引玉,為AVS3標準的推廣開一個頭。
項目心得
在項目的開發過程中,我們也取得了很大的收獲。
首先,項目開源后,獲得了很多的關注,很多業內同行在不同的平臺上編譯、運行和測試AVS3編解碼庫。通過這些測試,我們積累了很多測試反饋,對編解碼庫的跨平臺支持、編解碼庫運行的魯棒性提升等,都有很大的幫助。
同時,除了我們自己項目組,還有其他一些廠商或個人開發者向我們的項目提交了代碼,包括多平臺的一些支持、編碼算法、以及一些底層優化代碼等,幫助項目進一步完善。
此外,項目的開源,對項目組的同學的工作也是一個認可。項目組的同學的工作可以得到更廣泛的了解,對同學們個人也是一種很好的激勵,能更好地調動大家的積極性。
最后,為了在開源過程中降低各參與者溝通和協調的代價,我們在代碼風格、框架設計、代碼文檔等方面,都做了很多的改進和完善,也進一步提升了我們團隊自身工程開發的能力。
作者:王振宇