一種vp9熵解碼計(jì)算方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)芯片領(lǐng)域,尤其涉及一種VP9熵解碼計(jì)算方法和裝置。
【背景技術(shù)】
[0002]隨著科學(xué)技術(shù)的發(fā)展,高清甚至是超高清的視頻解碼越來越得到普遍的應(yīng)用,而高分辯率的視頻通常要求的碼率較高,因而高效的視頻熵解碼設(shè)計(jì)成為視頻解碼設(shè)計(jì)中需要特別關(guān)注的問題。VP9是Google主導(dǎo)開發(fā)的下一代開源視頻編解碼器,壓縮效率比H264編碼器高,是私有編解碼器H265的竟?fàn)帉?duì)手。
[0003]VP9協(xié)議中規(guī)定了視頻的碼流數(shù)據(jù)進(jìn)行編解碼時(shí)的幾個(gè)計(jì)算元素,split、prob、range、value,其中prob為查找概率表的值,range是編解碼算法中的范圍值,value為熵解碼需要輸入的必要參數(shù),split為計(jì)算中間變量。具體地,split值的計(jì)算公式如下:split=(range-1) *prob?8+l0從公式可以看出,split值的計(jì)算公式較為復(fù)雜,用硬件實(shí)現(xiàn)過程中往往會(huì)導(dǎo)致關(guān)鍵路徑無法滿足的問題。關(guān)鍵路徑指的是在一個(gè)有限的時(shí)間段里面做了很多操作,導(dǎo)致時(shí)序上無法滿足。而如果硬件電路在時(shí)序上無法滿足,則會(huì)導(dǎo)致硬件電路無法達(dá)到需要的頻率,無法實(shí)現(xiàn)預(yù)期的產(chǎn)品功能。
[0004]綜上所述,如何解決VP9硬件電路在計(jì)算split值時(shí),由于單個(gè)周期個(gè)需要的計(jì)算量過大,進(jìn)而導(dǎo)致硬件電路時(shí)序上無法滿足,影響熵解碼的效率,進(jìn)而影響產(chǎn)品性能的問題,是計(jì)算機(jī)芯片領(lǐng)域一個(gè)亟需解決的問題。
【發(fā)明內(nèi)容】
[0005]為此,需要提供一種VP9熵解碼計(jì)算的技術(shù)方案,用以解決VP9硬件電路在計(jì)算split值時(shí),由于單個(gè)周期個(gè)需要的計(jì)算量過大,進(jìn)而導(dǎo)致硬件電路時(shí)序上無法滿足,影響熵解碼的效率,進(jìn)而影響產(chǎn)品性能的問題。
[0006]為實(shí)現(xiàn)上述目的,發(fā)明人提供了一種VP9熵解碼計(jì)算裝置,其特征在于,所述裝置包括參數(shù)獲取模塊、減法模塊、乘法模塊、加法模塊、移位模塊和比較模塊;所述參數(shù)獲取模塊包括第一參數(shù)獲取模塊、第二參數(shù)獲取模塊和第三參數(shù)獲取模塊;所述減法模塊包括第一減法模塊和第二減法模塊;所述第一參數(shù)獲取模塊與第一減法模塊連接,所述第一減法模塊與乘法模塊連接,所述乘法模塊與第二參數(shù)獲取模塊連接,所述乘法模塊與移位模塊連接;所述第三參數(shù)模塊與第二減法模塊連接,所述第二減法模塊與比較模塊連接,所述移位模塊與比較模塊連接;
[0007]所述第一參數(shù)獲取模塊用于獲取第一參數(shù),所述第二參數(shù)獲取模塊用于獲取第二參數(shù),所述第三參數(shù)獲取模塊用于獲取第三參數(shù);
[0008]所述第一減法模塊用于對(duì)所獲取的第一參數(shù)執(zhí)行第一減法操作,得到第一變量;
[0009]所述乘法模塊用于將第一變量與第二參數(shù)相乘,得到第三變量;
[0010]所述移位模塊用于對(duì)第三變量進(jìn)行移位操作,得到第四變量;
[0011]所述第二減法模塊用于對(duì)所獲取的第三參數(shù)執(zhí)行第二減法操作,得到第五變量;
[0012]所述比較模塊用于判斷第五變量是否大于第四變量,若是則輸出第一碼流值,并執(zhí)行第一操作;否則輸出第二碼流值,并執(zhí)行第二操作。
[0013]進(jìn)一步地,所述裝置還包括第三減法模塊、第四減法模塊和輸出模塊;所述第三減法模塊比較模塊連接,所述第四減法模塊連接,所述輸出模塊與第三減法模塊連接,所述輸出模塊與第四減法模塊連接;則所述第一操作具體包括:
[0014]所述第三減法模塊用于將第一參數(shù)與第四變量相減,得到第一輸出參數(shù);
[0015]所述第三減法模塊用于將第三參數(shù)與第四變量相減,得到第二輸出參數(shù);
[0016]所述輸出模塊用于輸出第一輸出參數(shù)與第二輸出參數(shù)。
[0017]進(jìn)一步地,所述裝置包括輸出模塊,則所述第二操作具體包括:所述輸出模塊還用于輸出第一輸出參數(shù),所述第一輸出參數(shù)為第四變量的值。
[0018]進(jìn)一步地,所述裝置還包括精度整合模塊,所述精度整合模塊用于對(duì)第一輸出參數(shù)以及第四變量進(jìn)行精度整合。
[0019]進(jìn)一步地,所述第一碼流值為1,所述第二碼流值為0。
[0020]以及發(fā)明人還提供了一種VP9熵解碼計(jì)算方法,所述方法應(yīng)用于VP9熵解碼計(jì)算裝置,所述裝置包括參數(shù)獲取模塊、減法模塊、乘法模塊、加法模塊、移位模塊和比較模塊;所述參數(shù)獲取模塊包括第一參數(shù)獲取模塊、第二參數(shù)獲取模塊和第三參數(shù)獲取模塊;所述減法模塊包括第一減法模塊和第二減法模塊;所述第一參數(shù)獲取模塊與第一減法模塊連接,所述第一減法模塊與乘法模塊連接,所述乘法模塊與第二參數(shù)獲取模塊連接,所述乘法模塊與移位模塊連接;所述第三參數(shù)模塊與第二減法模塊連接,所述第二減法模塊與比較模塊連接,所述移位模塊與比較模塊連接;所述方法包括以下步驟:
[0021]第一參數(shù)獲取模塊獲取第一參數(shù),所述第二參數(shù)獲取模塊獲取第二參數(shù),第三參數(shù)獲取模塊獲取第三參數(shù);
[0022]第一減法模塊對(duì)所獲取的第一參數(shù)執(zhí)行第一減法操作,得到第一變量;
[0023]乘法模塊將第一變量與第二參數(shù)相乘,得到第三變量;
[0024]移位模塊對(duì)第三變量進(jìn)行移位操作,得到第四變量;
[0025]第二減法模塊對(duì)所獲取的第三參數(shù)執(zhí)行第二減法操作,得到第五變量;
[0026]比較模塊判斷第五變量是否大于第四變量,若是則輸出第一碼流值,并執(zhí)行第一操作;否則輸出第二碼流值,并執(zhí)行第二操作。
[0027]進(jìn)一步地,所述裝置還包括第三減法模塊、第四減法模塊和輸出模塊;所述第三減法模塊比較模塊連接,所述第四減法模塊連接,所述輸出模塊與第三減法模塊連接,所述輸出模塊與第四減法模塊連接;則所述第一操作具體包括以下步驟:
[0028]第三減法模塊將第一參數(shù)與第四變量相減,得到第一輸出參數(shù);
[0029]第三減法模塊將第三參數(shù)與第四變量相減,得到第二輸出參數(shù);
[0030]輸出模塊輸出第一輸出參數(shù)與第二輸出參數(shù)。
[0031]進(jìn)一步地,所述裝置包括輸出模塊,則所述第二操作具體包括以下步驟:
[0032]輸出模塊輸出第一輸出參數(shù),所述第一輸出參數(shù)為第四變量的值。
[0033]進(jìn)一步地,所述裝置還包括精度整合模塊,所述方法還包括以下步驟:
[0034]精度整合模塊對(duì)第一輸出參數(shù)以及第四變量進(jìn)行精度整合。
[0035]進(jìn)一步地,所述第一碼流值為1,所述第二碼流值為0。
[0036]區(qū)別于現(xiàn)有技術(shù),上述技術(shù)方案所述的一種VP9熵解碼計(jì)算方法和裝置,所述方法應(yīng)用于VP9熵解碼計(jì)算裝置,所述裝置包括參數(shù)獲取模塊、減法模塊、乘法模塊、加法模塊、移位模塊和比較模塊,所述方法包括以下步驟:第一參數(shù)獲取模塊獲取第一參數(shù),所述第二參數(shù)獲取模塊獲取第二參數(shù),第三參數(shù)獲取模塊獲取第三參數(shù);第一減法模塊對(duì)所獲取的第一參數(shù)執(zhí)行第一減法操作,得到第一變量;乘法模塊將第一變量與第二參數(shù)相乘,得到第三變量;移位模塊對(duì)第三變量進(jìn)行移位操作,得到第四變量;第二減法模塊對(duì)所獲取的第三參數(shù)執(zhí)行第二減法操作,得到第五變量;比較模塊判斷第五變量是否大于第四變量,若是則輸出第一碼流值,并執(zhí)行第一操作;否則輸出第二碼流值,并執(zhí)行第二操作。由于將原有在計(jì)算第四變量時(shí)的加法操作取消,取而代之的是對(duì)第三參數(shù)執(zhí)行第二減法操作,從而縮短了計(jì)算第四變量的時(shí)間,可以保證第四變量在一個(gè)時(shí)鐘周期內(nèi)處理完成,從而使得硬件電路整體滿足時(shí)序要求,保證了產(chǎn)品性能。
【附圖說明】
[0037]