參與啟智社區(qū)開源項(xiàng)目心得分享——韓冰杰

1. 天璇項(xiàng)目簡(jiǎn)介

2019年3月,第六十八次AVS會(huì)議完成AVS3-P2基準(zhǔn)檔次制定工作,AVS3作為新一代視頻壓縮標(biāo)準(zhǔn),相比上一代標(biāo)準(zhǔn)AVS2和HEVC,可節(jié)省近30%碼率。會(huì)議之后,北京大學(xué)深圳研究生院數(shù)字媒體研究中心王榮剛老師團(tuán)隊(duì)便開始著手AVS3解碼器開發(fā),并于2019年12月同時(shí)在鵬城實(shí)驗(yàn)室啟智開源平臺(tái)和Github開源,項(xiàng)目代號(hào)為“天璇”,又名“uAVS3d”。開源之時(shí),uAVS3d已成雛形,解碼性能達(dá)業(yè)界領(lǐng)先水平,并覆蓋PC、手機(jī)等常用智能設(shè)備,開源之后至今(2021年1月13日),又迭代代碼60余次,性能、平臺(tái)適配和代碼魯棒性進(jìn)一步提升。

uAVS3d支持Android/IOS/Windows/Linux/MacOS等常用系統(tǒng)平臺(tái),并針對(duì)ARMv7/ARMv8/X86架構(gòu)處理器做了深度優(yōu)化,支持高位深(10bit)解碼,具備高效的并發(fā)性能。在PC端可以實(shí)現(xiàn)8K實(shí)時(shí)解碼,在移動(dòng)端可支持4K 30fps視頻實(shí)時(shí)播放。不論是單線程的解碼速度還是解碼并行度,uavs3d均大幅領(lǐng)先AV1的開源解碼器dav1d和aomdec。

PC端uAVS3d與AV1和HEVC常用解碼器的解碼性能對(duì)比如下:

2. 開發(fā)心得

天璇項(xiàng)目于2019年3月啟動(dòng),5月底即輸出x86優(yōu)化版本,可實(shí)現(xiàn)8K視頻實(shí)時(shí)解碼,之后又快速推出了Android和IOS版本,快節(jié)奏加之高性能引起了業(yè)內(nèi)不少關(guān)注。華為在uAVS3d移動(dòng)版本完成之后的第一時(shí)間(開源之前)便與我們接觸,針對(duì)華為手機(jī)做定制性優(yōu)化;騰訊、百度、愛奇藝、Bigo等視頻服務(wù)商也在開源前后相繼測(cè)試跟進(jìn),部分廠商已上線應(yīng)用;uAVS3d的接口文件也已集成至多媒體處理開源平臺(tái)FFmpeg的主分支,方便第三方集成驗(yàn)證。

取得如今的成果,著實(shí)不易,技術(shù)層面,uAVS3d之所以能快速成型,與所在團(tuán)隊(duì)多年的積累是分不開的,數(shù)字媒體研究中心曾先后研發(fā)AVS+/AVS2編解碼器,已積累大量?jī)?yōu)秀代碼和經(jīng)驗(yàn)。本人作為項(xiàng)目開發(fā)者之一,主要負(fù)責(zé)解碼器的關(guān)鍵模塊優(yōu)化,具體貢獻(xiàn)為添加分像素插值、幀內(nèi)預(yù)測(cè)、IDCT中DCT2部分、ALF、Deblock、SAO以及其它部分細(xì)節(jié)模塊的SIMD指令實(shí)現(xiàn),SIMD指令覆蓋SSE/AVX2/ARMv7/ARMv8,并且bitdepth為8和10的兩個(gè)版本獨(dú)立優(yōu)化;數(shù)據(jù)結(jié)構(gòu)方面,調(diào)整UV分量存儲(chǔ)結(jié)構(gòu),以提升SIMD并行效率。本人是15屆北大深研院數(shù)字媒體研究中心畢業(yè)生,讀研期間曾參與AVS2解碼器的模塊優(yōu)化,對(duì)各模塊的SIMD優(yōu)化細(xì)節(jié)有一定了解,17年重新加入團(tuán)隊(duì),之后,因項(xiàng)目需要,曾負(fù)責(zé)AVS2解碼器移動(dòng)端優(yōu)化,對(duì)解碼器部分結(jié)構(gòu)調(diào)整(UV分量重建像素交織存儲(chǔ),熵解碼實(shí)現(xiàn)調(diào)整)、完善ARMv7/ARMv8匯編,使得AVS2解碼器性能追齊業(yè)內(nèi)領(lǐng)先的HEVC解碼器。有了uAVS2d的開發(fā)經(jīng)驗(yàn)和代碼積累,uAVS3d的模塊優(yōu)化就順利很多,AVS3的基本框架與AVS2一脈相承,多個(gè)模塊大同小異,只是AVS3的塊尺寸類型比AVS2要多不少,給匯編優(yōu)化帶來一定挑戰(zhàn)。個(gè)人從uAVS3d項(xiàng)目開發(fā)中,收獲很多,加深了對(duì)編解碼框架的理解,移動(dòng)端開發(fā)和匯編代碼編碼也更加得心應(yīng)手。

關(guān)于項(xiàng)目社區(qū)的溝通協(xié)作和運(yùn)營(yíng),本人也是受益很大。第一次負(fù)責(zé)開源項(xiàng)目的運(yùn)營(yíng),項(xiàng)目說明、開源協(xié)議選擇、版本維護(hù)都趟過一些坑,好在選擇的開源平臺(tái)(啟智社區(qū)和Github)以及版本管理工具(git)功能完善,服務(wù)穩(wěn)定易用,目前項(xiàng)目維護(hù)已走上正軌。

最后,給開源社區(qū)的開發(fā)同僚們分享些個(gè)人體會(huì)和建議:

  1. 認(rèn)真對(duì)待每個(gè)開發(fā)細(xì)節(jié),項(xiàng)目整體的效能是眾多細(xì)節(jié)實(shí)現(xiàn)的集中體現(xiàn),細(xì)節(jié)實(shí)現(xiàn)水平可能就是項(xiàng)目脫穎而出的關(guān)鍵。

  2. 放平心態(tài),開源意在分享,為后來者鋪路,減少重復(fù)工作,不宜太計(jì)較單個(gè)項(xiàng)目的得失。技術(shù)講究厚積薄發(fā),認(rèn)真寫下的每一份代碼終是個(gè)人積累的財(cái)富。

  3. 項(xiàng)目啟動(dòng)之前做好調(diào)研分析,選擇合適的方向,了解現(xiàn)有工作,預(yù)估所能達(dá)到的效果,盡可能少做無用功。


上一篇:uavs3d_uavs3e開源項(xiàng)目心得——王振宇
下一篇:最后一頁(yè)

主站蜘蛛池模板: 久久婷婷五月综合97色| 美女奶口隐私免费视频网站| 久久99热国产这有精品| 伊人这里只有精品| 国产日韩中文字幕| 好男人在线视频www官网| 欧美怡红院在线| 老司机深夜影院| 2020求一个网站男人都懂| 久久久久久久久久久久福利| 亚洲精品国产高清在线观看| 国产三级精品视频| 国产精品美女久久久网站| 成人免费视频69| 日韩美女拍拍免费视频网站| 男女性色大片免费网站| 香港三级韩国三级人妇三| 97精品人妻一区二区三区香蕉| 久久亚洲AV无码精品色午夜麻| 亚洲熟妇色xxxxx欧美老妇| 午夜福利视频合集1000| 国产成人无码aa精品一区| 在线播放免费播放av片| 怡红院国产免费| 无码丰满熟妇一区二区| 欧美18-19sex| 欧美多人野外伦交| 精品a在线观看| 色呦呦网站在线观看| 高跟丝袜美女一级毛片| 亚洲伊人tv综合网色| 69式啪啪动图| 91视频第一页| 99久久无色码中文字幕人妻| 一道本在线播放| 中文字幕亚洲激情| 久久久久久久久国产| 久久国产欧美日韩精品免费| 二个人看的www免费视频| 亚洲va中文字幕无码| 亚洲AV无码潮喷在线观看|