“實(shí)現(xiàn)‘可變碼率’,最大的技術(shù)難點(diǎn)是什么?”
錢斌想了想,“是……是‘預(yù)測(cè)’。我們無(wú)法準(zhǔn)確地預(yù)測(cè),下一幀畫面到底是什么。也就無(wú)法提前分配一個(gè)合適的碼率。”
林逸點(diǎn)了點(diǎn)頭,“既然無(wú)法‘預(yù)測(cè)未來(lái)’,我們?yōu)槭裁床粨Q一種思路——‘回顧過去’?”
“我叫它,‘兩遍編碼法’!”
“第一遍讓編碼器,快速地把所有內(nèi)容‘看’一遍!但不輸出任何數(shù)據(jù),我們只記錄每一幀畫面的‘復(fù)雜度日志’!哪里是安靜的文戲,哪里是激烈的打斗,全部記錄下來(lái)!”
“第二遍才是真正的編碼!這一次編碼器,手里已經(jīng)有了一份完整的‘劇本’!它知道,第幾分鐘,會(huì)出現(xiàn)爆炸!第幾秒,會(huì)有特寫!它可以根據(jù)這份‘復(fù)雜度日志’,進(jìn)行全全局碼率分配!”
“它,不再是摸著石頭過河的‘預(yù)測(cè)者’!”
“它,是手握著標(biāo)準(zhǔn)答案,回頭去做題的……‘先知’!”
“兩遍編碼法”!
這個(gè)在后世,被視頻壓縮軟件奉為圭臬的、也最高效的vbr實(shí)現(xiàn)方案,呈現(xiàn)在了1989年的中國(guó)!
當(dāng)林逸講解完整個(gè)算法的邏輯閉環(huán)時(shí)。
錢斌和他的“夢(mèng)之隊(duì)”,看著那個(gè)閃耀著智慧光芒的算法模型,眼中的迷茫漸漸散去!
原來(lái)……還可以這樣?!
……太巧妙了!
“我……我怎么就沒想到……”交大博士耗著頭發(fā)喃喃自語(yǔ)。
“都別愣著了!”林逸將眾人從震驚中喚醒,“思路已經(jīng)給你們了。剩下的,不用我再操心了吧!”
“一個(gè)月的時(shí)間!‘盤古’編碼器的測(cè)試版要跑起來(lái)!”
“是!林總!”
“保證完成任務(wù)!”
研發(fā)團(tuán)隊(duì)像打了雞血一樣,投入到了瘋狂的編程和測(cè)試中。
……
解決了“軟件”問題,“硬件”難題又接踵而至。
“可變碼率”,意味著解碼芯片需要處理的,不再是平穩(wěn)的數(shù)據(jù)流,而是動(dòng)態(tài)數(shù)據(jù)。
這對(duì)芯片的“緩沖區(qū)管理”和“實(shí)時(shí)運(yùn)算能力”,遠(yuǎn)超了標(biāo)準(zhǔn)peg-1的要求。
ti的dsp芯片,雖然性能強(qiáng)大,但不是專門為vcd解碼而設(shè)計(jì)的。
在初測(cè)中,問題就出現(xiàn)了。
“林總!不行啊!”王建國(guó)拿著一份布滿了錯(cuò)誤代碼的測(cè)試報(bào)告一臉的凝重。
“一跑,就爆了!芯片的數(shù)據(jù)緩沖區(qū),根本就扛不住這么大的瞬時(shí)數(shù)據(jù)沖擊!畫面直接就卡死,然后花屏!”