【Atlas500】入门到放弃(六)——【DVPP】浅析HFBC格式数据存在的意义
轉(zhuǎn)載自:https://bbs.huaweicloud.com/blogs/156199, 作者:山人
【摘要】 HFBC格式是一種數(shù)據(jù)壓縮格式,是VDEC解碼后輸出的每一幀數(shù)據(jù)的格式(Hisi Frame Buffer Compress),而對(duì)此格式進(jìn)行解壓縮由VPC完成,因VDEC和VPC是兩個(gè)獨(dú)立模塊,所以用戶在使用過(guò)程中可以看到HFBC數(shù)據(jù)。
HFBC格式是一種數(shù)據(jù)壓縮格式,是VDEC解碼后輸出的每一幀數(shù)據(jù)的格式(Hisi Frame Buffer Compress),而對(duì)此格式進(jìn)行解壓縮由VPC完成,因VDEC和VPC是兩個(gè)獨(dú)立模塊,所以用戶在使用過(guò)程中可以看到HFBC數(shù)據(jù)。
為什么要有HFBC格式呢?
因?yàn)閂DEC解碼每一幀后,將此幀圖像進(jìn)行HFBC壓縮之后再寫入內(nèi)存,既可以降低寫入內(nèi)存的數(shù)據(jù)量,又可以減少輸出此幀的耗時(shí),從而獲取更高解碼性能。
舉例:如下圖,比如此幀圖像分辨率為19201080,正常一幀圖像大小為19201080*3/2=3110400?B,所以需要寫入內(nèi)存的數(shù)據(jù)量為3110400B,而經(jīng)過(guò)HFBC壓縮后(一般壓縮率為50%),寫入內(nèi)存數(shù)據(jù)量?jī)H有1555200B,所以既減少了寫入內(nèi)存的數(shù)量,也減少了寫入內(nèi)存的耗時(shí),從而性能更高。
怎么使用HFBC格式更優(yōu)?
因用戶最終需要的是YUV數(shù)據(jù),而VDEC輸出的是HFBC數(shù)據(jù),所以用戶需要調(diào)用VPC模塊對(duì)HFBC數(shù)據(jù)進(jìn)行解壓縮得到Y(jié)UV數(shù)據(jù)。而一般場(chǎng)景下,用戶最終想要的是送入網(wǎng)絡(luò)大小的圖(比如224x224),并不是原始圖像(比如1920x1080),所以當(dāng)VDEC解碼后輸出每幀HFBC數(shù)據(jù)后,用戶可以將HFBC數(shù)據(jù)送入VPC并同時(shí)配置好resize/crop參數(shù),驅(qū)使VPC直接輸出需要的圖像數(shù)據(jù),即一次性完成【HFBC解壓縮+resize/crop】操作,這樣是最佳使用方式。
若用戶需要原始圖像,則VDEC輸出HFBC格式相比VDEC直接輸出YUV格式并沒(méi)有優(yōu)勢(shì)(因?yàn)閂DEC輸出HFBC后,還需要VPC讀入HFBC數(shù)據(jù)解壓縮后再輸出YUV數(shù)據(jù)),但當(dāng)前芯片VDEC不能直接輸出YUV數(shù)據(jù),所以只能使用HFBC格式數(shù)據(jù)給VPC進(jìn)行處理。
總結(jié)
以上是生活随笔為你收集整理的【Atlas500】入门到放弃(六)——【DVPP】浅析HFBC格式数据存在的意义的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 命名实体识别(NER)发展简史
- 下一篇: stm32 flymcu开始连接...