一種實(shí)現(xiàn)幀間預(yù)測(cè)主控系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及視頻編碼技術(shù)領(lǐng)域,尤其涉及一種實(shí)現(xiàn)幀間預(yù)測(cè)主控系統(tǒng)。
【背景技術(shù)】
[0002]H.264標(biāo)準(zhǔn)是聯(lián)合視頻組(JVT Joint Video Team)提出的一種高性能數(shù)字視頻編解碼標(biāo)準(zhǔn),它最大的優(yōu)勢(shì)是具有很高的數(shù)據(jù)壓縮率。H.264采用率失真優(yōu)化(RateDistort1n Optimizat1n,RD0)來(lái)判斷選擇分塊模式,編碼器對(duì)每個(gè)宏塊所有可能的模式分別計(jì)算率失真代價(jià),然后對(duì)它們進(jìn)行比較,選擇率失真代價(jià)最小的模式為最佳預(yù)測(cè)模式。
【發(fā)明內(nèi)容】
[0003]本發(fā)明要解決的技術(shù)問(wèn)題,在于提供一種實(shí)現(xiàn)幀間預(yù)測(cè)主控系統(tǒng),用于控制率失真優(yōu)化rdo的模式判決模塊的判決提供了代價(jià)依據(jù),提高了視頻編解碼的準(zhǔn)確性。
[0004]本發(fā)明是這樣實(shí)現(xiàn)的:一種實(shí)現(xiàn)幀間預(yù)測(cè)主控系統(tǒng),所述系統(tǒng)包括幀間預(yù)測(cè)模式模塊、幀間預(yù)測(cè)控制模塊、幀間預(yù)測(cè)模塊、h264頂層控制模塊、以及率失真優(yōu)化rdo模式判斷豐旲塊;
[0005]所述幀間預(yù)測(cè)模式模塊、h264頂層控制模塊、幀間預(yù)測(cè)模塊均與幀間預(yù)測(cè)控制模塊連接,所述幀間預(yù)測(cè)控制模塊與率失真優(yōu)化rdo模式判斷模塊連接;
[0006]所述幀間預(yù)測(cè)模式模塊和幀間預(yù)測(cè)控制模塊進(jìn)行交互中,包括正常模式對(duì)應(yīng)的預(yù)測(cè)運(yùn)動(dòng)矢量mvp和跳幀skip模式對(duì)應(yīng)的運(yùn)動(dòng)矢量mv均做分像素運(yùn)動(dòng)補(bǔ)償處理;
[0007]正常模式對(duì)應(yīng)的預(yù)測(cè)運(yùn)動(dòng)矢量mvp做分像素運(yùn)動(dòng)補(bǔ)償處理時(shí),h264頂層控制模塊輸入分?jǐn)?shù)像素運(yùn)動(dòng)估計(jì)矢量fme mv給幀間預(yù)測(cè)控制模塊,幀間預(yù)測(cè)模式模塊輸入預(yù)測(cè)運(yùn)動(dòng)矢量mvp給幀間預(yù)測(cè)控制模塊,幀間預(yù)測(cè)控制模塊將預(yù)測(cè)運(yùn)動(dòng)矢量mvp與分?jǐn)?shù)像素運(yùn)動(dòng)估計(jì)矢量fme mv相減得到運(yùn)動(dòng)矢量殘差mvd后輸出給率失真優(yōu)化rdo模式判斷模塊進(jìn)行模式判決和編碼;
[0008]跳幀skip模式對(duì)應(yīng)的運(yùn)動(dòng)矢量mv做分像素運(yùn)動(dòng)補(bǔ)償處理時(shí),幀間預(yù)測(cè)模式模塊輸入運(yùn)動(dòng)矢量mv給幀間預(yù)測(cè)控制模塊后直接輸出給幀間預(yù)測(cè)模塊做分像素插值來(lái)獲得預(yù)測(cè)數(shù)據(jù)。
[0009]進(jìn)一步的,所述幀間預(yù)測(cè)控制模塊內(nèi)部時(shí)序會(huì)等待所述幀間預(yù)測(cè)模式模塊做完,在相對(duì)應(yīng)的位置內(nèi)得到所述幀間預(yù)測(cè)模式模塊輸入的vld信號(hào)接收數(shù)據(jù),幀間預(yù)測(cè)控制模塊開(kāi)始進(jìn)一步解析和實(shí)現(xiàn)內(nèi)部功能。
[00?0]進(jìn)一步的,所述分?jǐn)?shù)像素運(yùn)動(dòng)估計(jì)矢量fme mv的坐標(biāo)x軸方向和y軸方向位寬都為6bits,并且為無(wú)符號(hào)數(shù),在與預(yù)測(cè)運(yùn)動(dòng)矢量mvp相減時(shí)需要減(8,5)的坐標(biāo)。
[0011 ]進(jìn)一步的,所述跳幀skip模式對(duì)應(yīng)的運(yùn)動(dòng)矢量mv做分像素運(yùn)動(dòng)補(bǔ)償處理時(shí),幀間預(yù)測(cè)控制模塊處理運(yùn)動(dòng)矢量mv信息,包括從分?jǐn)?shù)像素運(yùn)動(dòng)估計(jì)矢量fme mv的輸入,分成三個(gè)層次分別管理,并輸出給幀間預(yù)測(cè)模塊做分像素插值,所述h264頂層控制模塊輸入三個(gè)搜索窗坐標(biāo),所述跳幀skip模式對(duì)應(yīng)的運(yùn)動(dòng)矢量mv需要等幀間預(yù)測(cè)模式模塊計(jì)算完成后判斷是否落在三個(gè)搜索窗坐標(biāo)內(nèi)再輸出給幀間預(yù)測(cè)模塊做預(yù)測(cè)分像素插值,如果沒(méi)有落在三個(gè)搜索窗坐標(biāo)內(nèi)則不選跳幀skip模式;
[0012]分?jǐn)?shù)像素運(yùn)動(dòng)估計(jì)矢量fmemv的輸入,分為4x4、8x8、16xl6三個(gè)層次并行輸入,然后并行轉(zhuǎn)發(fā)給幀間預(yù)測(cè)模塊做預(yù)測(cè)分像素計(jì)算,由于取數(shù)模塊中2x2、4x4、8x8三層只有一個(gè)端口交互,所以在幀間預(yù)測(cè)控制模塊做一個(gè)綜合控制機(jī)制,來(lái)統(tǒng)籌管理。
[0013]進(jìn)一步的,判斷是否落在三個(gè)搜索窗坐標(biāo)內(nèi)的具體判斷方式如下:
[0014]在幀間預(yù)測(cè)模式模塊中值需判斷亮度和色度運(yùn)動(dòng)矢量mv是否在三個(gè)搜索窗坐標(biāo)內(nèi),輸入三個(gè)搜索窗亮度坐標(biāo)分別為(10,70)(11,71)(12,72),判斷色度時(shí)需要在1和7方向各右移一位;
[0015]h264頂層控制模塊輸入的分?jǐn)?shù)像素運(yùn)動(dòng)估計(jì)矢量fme mv信息的x軸方向6bits,y軸方向6bits,固定落在某一個(gè)搜索窗范圍內(nèi),并且在前級(jí)分?jǐn)?shù)像素運(yùn)動(dòng)估計(jì)矢量fme mv內(nèi),運(yùn)動(dòng)矢量mv限定的范圍會(huì)更??;
[0016]三個(gè)搜索窗信息,在每個(gè)視頻編解碼器CTU宏塊開(kāi)始階段做第O個(gè)CTU宏塊的運(yùn)動(dòng)矢量mv解析之前輸入,h264頂層控制模塊輸入是一整個(gè)CTU宏塊的變量,分別輸入三個(gè)搜索窗X軸和y軸坐標(biāo)以及窗有效信號(hào);
[0017]其中,
[0018]跳幀skip模式的運(yùn)動(dòng)矢量mv判斷是否在三個(gè)有效搜索窗內(nèi),需要考慮實(shí)時(shí)的小數(shù)分量來(lái)判斷擴(kuò)邊信息,同時(shí)考慮亮度Iuma以及色度chroma的小數(shù)分量是否存在,然后再加上對(duì)應(yīng)擴(kuò)邊行數(shù)或者列數(shù),來(lái)判斷是否在三個(gè)有效搜索窗內(nèi);
[0019]有效搜索窗的判斷,跳幀skip模式得到的運(yùn)動(dòng)矢量mv是在最大窗內(nèi)的坐標(biāo),加入擴(kuò)邊信息考慮是否在三個(gè)有效搜索窗內(nèi),如果落在有效搜索窗內(nèi),則對(duì)運(yùn)動(dòng)矢量mv進(jìn)行轉(zhuǎn)換從運(yùn)動(dòng)矢量X分量mv_x的Ilbits,運(yùn)動(dòng)矢量y分量11^_7的1bits,轉(zhuǎn)成1bits和9bits ;其中搜索窗內(nèi)CTU宏塊的坐標(biāo)(12,9)可能由外部調(diào)整;
[0020]跳幀skip模式的運(yùn)動(dòng)矢量mv判斷是否有效,按照三個(gè)搜索窗硬件處理機(jī)制進(jìn)行串行處理,或者根據(jù)實(shí)際時(shí)序情況三套平行判斷,當(dāng)存在同時(shí)落在兩個(gè)有效搜索窗內(nèi)時(shí),按照搜索窗0、搜索窗1、搜索窗2三者的順序選落在那個(gè)有效搜索窗內(nèi);
[0021]跳幀skip模式的運(yùn)動(dòng)矢量mv判斷完在其中的一個(gè)搜索窗內(nèi)之后,對(duì)運(yùn)動(dòng)矢量mv值做調(diào)整是為了與分?jǐn)?shù)像素運(yùn)動(dòng)估計(jì)矢量fme mv類(lèi)型保持一致,并能減小數(shù)據(jù)位寬,具體從運(yùn)動(dòng)矢量X分量nr^u^llbits,運(yùn)動(dòng)矢量y分量mv_}^tllObits,轉(zhuǎn)成1bits和9bits。
[0022]進(jìn)一步的,所述幀間預(yù)測(cè)控制模塊包括inter_pred_2x2、inter_pred_4x4、inter_pred_8x8三個(gè)模塊;在幀間預(yù)測(cè)控制模塊中處理預(yù)測(cè)像素,是通過(guò)inter_pred_2x2、inter_pred_4x4、inter_pred_8x8三個(gè)模塊中實(shí)現(xiàn),把需要計(jì)算預(yù)測(cè)像素的運(yùn)動(dòng)矢量mv信息輸出給inter_pred_2x2、inter_pred_4x4、inter_pred_8x8三個(gè)模塊中,計(jì)算完成之后按每個(gè)周期cycle—行一行輸入預(yù)測(cè)像素值;并且在幀間預(yù)測(cè)控制模塊內(nèi)需要轉(zhuǎn)存到一 h264計(jì)算優(yōu)先級(jí)調(diào)度模塊h264_cal_arb中;
[0023]正常模式,inter_pred_2x2模塊輸入的為色度2x2U/V塊預(yù)測(cè)數(shù)據(jù),一個(gè)周期cycle輸入一行,2個(gè)周期cycle內(nèi)輸完,輸出給h264計(jì)算優(yōu)先級(jí)調(diào)度模塊h264_cal_arb需要I個(gè)周期cycle輸入4x4塊數(shù)據(jù),需要緩存4次共8個(gè)周期cycle數(shù)據(jù)搬運(yùn)才給夠h264_cal_arb需要的數(shù)據(jù)格式;
[0024]正常模式,inter_pred_4X4模塊輸入分為亮度或者色度U/V4x4塊預(yù)測(cè)數(shù)據(jù),一個(gè)周期cycle輸入一行數(shù)據(jù),亮度分像素預(yù)測(cè)一行輸出4個(gè)預(yù)測(cè)像素值,色度一行輸出8個(gè)預(yù)測(cè)像素值,分別為4個(gè)色度U像素和4個(gè)色度V像素;輸出給h264_cal_arb需要I個(gè)周期cycle輸入4x4塊數(shù)據(jù),需要緩存4次共4個(gè)周期cycle數(shù)據(jù)搬運(yùn)才給夠h264計(jì)算優(yōu)先級(jí)調(diào)度模塊h264_cal_arb需要的數(shù)據(jù)格式;
[0025]正常模式,inter_pred_8X8模塊輸入分為亮度或者色度U/V8x8塊預(yù)測(cè)數(shù)據(jù),一個(gè)周期cycle輸入一行數(shù)據(jù),亮度分像素預(yù)測(cè)一行輸出8個(gè)預(yù)測(cè)像素值,色度一行輸出8個(gè)預(yù)測(cè)像素值,分別為4個(gè)色度U像素和4個(gè)色度V像素;輸出給h264_cal_arb其中8x8的數(shù)據(jù)緩存inter_data_buf中時(shí)I個(gè)周期cycle輸入一行8個(gè)亮度像素值,所以8x8塊的數(shù)據(jù)緩存inter_data_buf能直接對(duì)應(yīng)輸出;輸出給h264計(jì)算優(yōu)先級(jí)調(diào)度模塊h264_cal_arb其中4x4的數(shù)據(jù)緩存inter_data_buf中時(shí)需要I個(gè)周期cycle輸入4x4塊數(shù)據(jù),需要緩存4次共4個(gè)周期cycle數(shù)據(jù)后才開(kāi)始給h264計(jì)算優(yōu)先級(jí)調(diào)度模塊h264_cal_arb的4x4塊數(shù)據(jù)準(zhǔn)備好需要的數(shù)據(jù)格式;
[0026]跳幀skip模式,inter_pred_8X8模塊輸入分為亮度或者色度U/V8x8塊預(yù)測(cè)數(shù)據(jù),一個(gè)周期cycle輸入一行數(shù)據(jù),亮度分像素預(yù)測(cè)一行輸出8個(gè)預(yù)測(cè)像素值,色度一行輸出8個(gè)預(yù)測(cè)像素值,分別為4個(gè)色度U像素和4個(gè)色度V像素。
[0027]本發(fā)明具有如下優(yōu)點(diǎn):本發(fā)明通過(guò)幀間預(yù)測(cè)模式模塊、幀間預(yù)測(cè)控制模塊、幀間預(yù)測(cè)模塊、h264頂層控制模塊、以及率失真優(yōu)化rdo模式判斷模塊之間的互相交互處理,這樣編碼器能對(duì)每個(gè)宏塊所有可能的模式分別計(jì)算率失真代價(jià),然后對(duì)它們進(jìn)行比較,選擇率失真代價(jià)最小的模式為最佳預(yù)測(cè)模式。該系統(tǒng)用于控制率失真優(yōu)化rdo的模式判決模塊的判決提供了代價(jià)依據(jù),提高了視頻編解碼的準(zhǔn)確性。
【附圖說(shuō)明】
[0028]圖1為本發(fā)明系統(tǒng)的結(jié)構(gòu)不意圖。
[0029]圖2為本發(fā)明系統(tǒng)的詳細(xì)結(jié)構(gòu)示意圖。
[0030]圖3為本發(fā)明幀間預(yù)測(cè)模式模塊輸入預(yù)測(cè)運(yùn)動(dòng)矢量mvp數(shù)據(jù)的處理流程示意圖。[0031 ]圖4為本發(fā)明預(yù)測(cè)運(yùn)動(dòng)矢量mvp數(shù)據(jù)解析示意圖。
[0032]圖5為本發(fā)明skip模式/分?jǐn)?shù)像素運(yùn)動(dòng)估計(jì)矢量fmemv分各層次輸出給幀間預(yù)測(cè)模塊的結(jié)構(gòu)示意圖。
[0033]圖6為本發(fā)明三個(gè)搜索窗在大的窗內(nèi)位置的結(jié)構(gòu)示意圖。
[0034]圖7為本發(fā)明跳幀skip模式對(duì)應(yīng)的運(yùn)動(dòng)矢量mv在窗內(nèi)有效性判斷的結(jié)構(gòu)示意圖。
[0035]圖8為本發(fā)明跳幀skip模式對(duì)應(yīng)的運(yùn)動(dòng)矢量mv亮度和色度窗內(nèi)判斷過(guò)程的結(jié)構(gòu)示意圖。
[0036]圖9為本發(fā)明H264搜索窗格