專利名稱:Avs視頻標(biāo)準(zhǔn)中時(shí)域直接模式運(yùn)動(dòng)矢量的計(jì)算方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻編解碼領(lǐng)域,尤其涉及一種AVS視頻標(biāo)準(zhǔn)中計(jì)算時(shí)域直接模式運(yùn) 動(dòng)矢量的方法和裝置。
背景技術(shù):
AVS視頻標(biāo)準(zhǔn)采用混合編解碼框架,其基本流程如下首先確定原始?jí)K的最佳預(yù) 測(cè)模式,其次對(duì)原始?jí)K(原始圖像)和預(yù)測(cè)塊(參考圖像)進(jìn)行幀內(nèi)預(yù)測(cè)或幀間預(yù)測(cè),對(duì)預(yù) 測(cè)殘差進(jìn)行8X8整數(shù)變換、量化和掃描,得到一維排列的殘差系數(shù);同時(shí)對(duì)原始?jí)K和預(yù)測(cè) 塊的相對(duì)位置偏移——運(yùn)動(dòng)矢量進(jìn)行中值預(yù)測(cè)和差分編碼;最后,對(duì)殘差系數(shù)和上述差分 編碼的運(yùn)動(dòng)矢量進(jìn)行二進(jìn)制熵編碼,以去除符號(hào)冗余度,并且將碼字輸出。
在AVS、 H264、 MPEG4等第二代數(shù)字視頻標(biāo)準(zhǔn)中,幀間預(yù)測(cè)廣泛應(yīng)用了雙向直接模 式,其包括雙向跳過模式。對(duì)于該模式,在降低碼率的同時(shí),運(yùn)動(dòng)矢量的計(jì)算將使用與后向 參考圖像相關(guān)的大量信息,運(yùn)算更加復(fù)雜,對(duì)片外存儲(chǔ)器的數(shù)據(jù)帶寬要求也更高,尤其是對(duì) 于VLSI (超大規(guī)模集成電路Very Large Scale Integration)。 在AVS視頻標(biāo)準(zhǔn)中,雙向直接模式分為空域直接模式和時(shí)域直接模式。其中,時(shí)域 直接模式8X8塊運(yùn)動(dòng)矢量的計(jì)算是唯一需要使用與后向參考圖像相關(guān)的信息的部分。
AVS視頻標(biāo)準(zhǔn)支持圖像級(jí)幀場(chǎng)自適應(yīng),統(tǒng)計(jì)結(jié)果表明AVS幀場(chǎng)自適應(yīng)編碼具 有幀場(chǎng)選擇方式上的連續(xù)性,即在視頻序列中,幀編碼或場(chǎng)編碼往往連續(xù)出現(xiàn),很少出 現(xiàn)幀編碼和場(chǎng)編碼頻繁切換的情況。如果當(dāng)前宏塊類型為時(shí)域直接模式B—Skip或B— Direct_16 X 16,則其4個(gè)8 X 8塊均為SB_Direct_8 X 8模式,該4個(gè)8 X 8塊的運(yùn)動(dòng)矢量可 能并不一樣,需要針對(duì)每個(gè)8X8塊分別計(jì)算,并且在高分辨率圖像AVS碼流中,B_Skip和 B_Direct_16X 16宏塊出現(xiàn)的概率遠(yuǎn)遠(yuǎn)大于其中僅包含一個(gè)SB_Direct_8X8模式8X8塊 的宏塊出現(xiàn)的概率。 在圖像級(jí)幀場(chǎng)自適應(yīng)AVS編解碼中,后向參考圖像的參考圖像、前向參考圖像、當(dāng) 前B圖像以及后向參考圖像可能為幀,也可能為場(chǎng)。圖1中示出了上述4個(gè)圖像的一種顯示 順序。在存在當(dāng)前B圖像的情況下,圖像的處理順序和顯示順序并不一致。本領(lǐng)域的普通 技術(shù)人員可以理解,關(guān)于圖像顯示順序,后向參考圖像的參考圖像可能出現(xiàn)在前向參考圖 像之前,也可能出現(xiàn)在前向參考圖像和當(dāng)前B圖像之間,還可能出現(xiàn)在當(dāng)前B圖像和后向參 考圖像之間,甚至可能就是前向參考圖像。而按照?qǐng)D像處理順序,如圖l所示,編解碼器首 先處理前向參考圖像和后向參考圖像的參考圖像,然后處理后向參考圖像,最后處理當(dāng)前B 圖像。 計(jì)算時(shí)域直接模式8X8塊的運(yùn)動(dòng)矢量需要的與后向參考圖像相關(guān)的信息包括
1、后向共同位置8X8塊的參考索引MbReferenceIdCol,取值范圍是O 3,2bit 表示,其中后向共同位置8X8塊是指后向參考圖像中與當(dāng)前B圖像中的當(dāng)前時(shí)域直接模式 8X8塊的左上角樣本位置對(duì)應(yīng)的樣本所在的8X8編碼塊; 2、后向共同位置8X8塊的塊距離BlockDistanceCol,取值范圍是O 511,9bit表示; 3、后向共同位置8X8塊的水平運(yùn)動(dòng)矢量mvCol—x,如果圖像水平方向亮度像素樣 本為-2048 2047. 75,其取值范圍是-8192 8191, 14bit表示; 4、后向共同位置8 X 8塊的垂直運(yùn)動(dòng)矢量mVCol_y,如果圖像垂直方向亮度像素樣 本為-512 511. 75,其取值范圍是-2048 2047, 12bit表示。 綜上,與后向共同位置8X8塊相關(guān)的信息至少需要2+9+14+12 = 37bit表示,考 慮到數(shù)據(jù)存儲(chǔ)需要字節(jié)對(duì)齊,與后向參考圖像中每8X8塊相關(guān)的信息以40bit(5Byte)表 示。 下面以高清1080p/1080i圖像為例說明存儲(chǔ)與后向參考圖像相關(guān)的信息所需的 存儲(chǔ)器容量。后向參考圖像所屬的幀以宏塊為單位的寬度和高度
MbWidth = (HorizontalSize+15)/16 = (1920+15)/16 = 120 ;
MbHeight = (VerticalSize+15)/16 = (1080+15)/16 = 68。 因此,對(duì)于每個(gè)高清1080p/1080i幀,存儲(chǔ)與后向參考圖像相關(guān)的 MbReferenceIdCol、 BlockDistanceCol和mvCol所需存儲(chǔ)器的容量至少為120X68X4X5 =163200Byte。考慮到成本和面積問題,如此大量的數(shù)據(jù)片內(nèi)存儲(chǔ)器顯然無法承受,只能存 儲(chǔ)在片外存儲(chǔ)器中。 當(dāng)前8X8塊為時(shí)域直接模式需要有2個(gè)條件, 一是當(dāng)前8X8塊為SB_ Direct_8 X 8, 二是后向共同位置8X8塊的編碼類型不為I_8 X 8 (IsIntraModeCol為0),其 中每宏塊的4個(gè)8X8塊的IsIntraModeCol值要么都是l,要么都是0,因此計(jì)算時(shí)域直接 模式8X8塊的運(yùn)動(dòng)矢量還需要IsIntraModeCol信息。后向共同位置8X8塊的編碼類型 IsIntraModeCol的取值范圍是0 1 ,其中1表示I_8 X 8宏塊類型,0表示非I_8 X 8宏塊類 型,用lbit表示。因此,高清1080p/1080i時(shí)存儲(chǔ)與后向參考圖像相關(guān)的IsIntraModeCol 所需存儲(chǔ)器的容量為120X68X1/8 = 1020Byte,可以考慮存儲(chǔ)到片內(nèi)存儲(chǔ)器中。
計(jì)算時(shí)域直接模式8X8塊的運(yùn)動(dòng)矢量需要的其它全局信息還包括
1、當(dāng)前B圖像的圖像間距PictureDistance,范圍0到255,8bit表示;
2、后向參考圖像的圖像間距PictureDistanceBw,范圍0到255,8bit表示;
3、前向參考圖像的圖像間距PictureDistanceFw,范圍0到255,8bit表示;
4、當(dāng)前B圖像的圖像編碼結(jié)構(gòu)PictureStructure,場(chǎng)為O,幀為l,lbit表示;
5、后向參考圖像的圖像編碼結(jié)構(gòu)PictureStructureBw,場(chǎng)為O,幀為l,lbit表 示; 6、當(dāng)前時(shí)域直接模式8X8塊在當(dāng)前B圖像的場(chǎng)次分布BottomFieldFlag,頂場(chǎng)為 O,底場(chǎng)為1, lbit表示; 7、當(dāng)前宏塊在圖像中的水平位置MbNoX,范圍0到(MbWidth-1); 8、當(dāng)前宏塊在圖像中的垂直位置MbNoY,范圍0到(MbHeight-1); 9、當(dāng)前時(shí)域直接模式8X8塊在宏塊中的位置編號(hào)BlockNo,范圍0到3,2bit表示。 根據(jù)AVS視頻標(biāo)準(zhǔn),由于后向參考圖像先于當(dāng)前B圖像處理,處理后向參考圖像 并且存儲(chǔ)與之相關(guān)的信息時(shí),并不知道當(dāng)前B圖像的圖像編碼結(jié)構(gòu),盡管在大部分情況 下它們是一致的,因此AVS參考編解碼器將與后向參考圖像相關(guān)的MbRef erenceIdCo 1 、
5BlockDistanceCol和mvCol信息以幀、場(chǎng)兩種形式分別存儲(chǔ)到片外存儲(chǔ)器中,以備處理當(dāng) 前B圖像時(shí)選用。并且根據(jù)AVS視頻標(biāo)準(zhǔn)文檔以及參考編解碼器代碼的描述,如果當(dāng)前宏 塊類型為時(shí)域直接模式B_Skip或B_Direct_16 X 16,計(jì)算4個(gè)8 X 8塊的運(yùn)動(dòng)矢量需要對(duì)總 線請(qǐng)求4次以便讀取與后向共同位置8X8塊相關(guān)的信息。這種片外存儲(chǔ)器中數(shù)據(jù)存儲(chǔ)和 讀取機(jī)制產(chǎn)生了兩個(gè)問題一是與后向參考圖像相關(guān)的信息在片外存儲(chǔ)器中存儲(chǔ)了兩次, 浪費(fèi)了片外存儲(chǔ)器的存儲(chǔ)空間;二是計(jì)算每個(gè)時(shí)域直接模式8X8塊運(yùn)動(dòng)矢量時(shí)分別對(duì)片 外存儲(chǔ)器做讀寫訪問,對(duì)總線的大量請(qǐng)求勢(shì)必會(huì)降低運(yùn)動(dòng)矢量的計(jì)算速度。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是克服現(xiàn)有技術(shù)的上述不足,有效節(jié)約片外存儲(chǔ)器的存 儲(chǔ)空間,減少對(duì)總線的請(qǐng)求次數(shù),提高時(shí)域直接模式8X8塊的運(yùn)動(dòng)矢量的計(jì)算速度。
為了達(dá)到上述目的,根據(jù)本發(fā)明的一個(gè)方面,提供了一種AVS視頻標(biāo)準(zhǔn)中時(shí)域直 接模式運(yùn)動(dòng)矢量的計(jì)算方法,包括下列步驟 1)根據(jù)后向參考圖像的圖像編碼結(jié)構(gòu),按照后向參考圖像的宏塊編解碼順序依次 存儲(chǔ)與后向參考圖像相關(guān)的信息; 2)根據(jù)全局信息獲得與后向共同位置8X8塊相關(guān)的信息的存儲(chǔ)地址,并根據(jù)所 述存儲(chǔ)地址讀取所述與后向共同位置8X8塊相關(guān)的信息,并將所述與后向共同位置8X8 塊相關(guān)的信息歸一化; 3)根據(jù)歸一化的與后向共同位置8X8塊相關(guān)的信息計(jì)算時(shí)域直接模式8X8塊的 運(yùn)動(dòng)矢量。 如上所述的方法,在所述步驟1)前包括確定后向參考圖像的宏塊所包含的4個(gè) 8X8塊都不是I_8X8類型的塊。 如上所述的方法,在所述步驟2)中如果當(dāng)前B圖像和所述后向參考圖像的圖像編 碼結(jié)構(gòu)一致,當(dāng)前宏塊類型為時(shí)域直接模式B_Skip或B_Direct_16X 16,并且當(dāng)前8X8塊 在宏塊中的位置編號(hào)為0,則連續(xù)讀取4組與后向共同位置8 X 8塊相關(guān)的信息,并且將后3 組緩存到地址轉(zhuǎn)換映射電路中。 如上所述的方法,在所述步驟2)中如果當(dāng)前B圖像的圖像編碼結(jié)構(gòu)為幀, 所述后向參考圖像的圖像編碼結(jié)構(gòu)為場(chǎng),當(dāng)前宏塊類型為時(shí)域直接模式B—Skip或B— DirectJ6X16,并且當(dāng)前8X8塊在宏塊中的位置編號(hào)為O,則連續(xù)讀取2組與后向共同位 置8X8塊相關(guān)的信息,并且將這2組緩存到地址轉(zhuǎn)換映射電路中。 如上所述的方法,在所述步驟2)中如果當(dāng)前B圖像的圖像編碼結(jié)構(gòu)為場(chǎng),
所述后向參考圖像的圖像編碼結(jié)構(gòu)為幀,當(dāng)前宏塊類型為時(shí)域直接模式B—Skip或B—
DirectJ6X16,并且當(dāng)前8X8塊在宏塊中的位置編號(hào)為0或2,則連續(xù)讀取2組與后向共
同位置8 X 8塊相關(guān)的信息,并且將后1組緩存到地址轉(zhuǎn)換映射電路中。 如上所述的方法,在所述步驟2)中根據(jù)如下公式計(jì)算所述存儲(chǔ)地址Addr :Addr = (AddrYXMbWidth+AddrX) X4+Addr0ffset) X5, 其中AddrX、AddrY和Addr0ff set分別表示后向共同位置8X8塊所屬宏塊在片外 存儲(chǔ)器中的水平位置、垂直位置和后向共同位置8X8塊在宏塊內(nèi)的位置偏移;MbWidth表 示所述后向參考圖像所屬的幀以宏塊為單位的寬度。
6
如上所述的方法,在所述步驟2)中也可以根據(jù)查表法獲得所述存儲(chǔ)地址Addr。
如上所述的方法,對(duì)于所述步驟2)中的所述歸一化步驟 如果當(dāng)前B圖像和所述后向參考圖像的圖像編碼結(jié)構(gòu)一致,則BlockDistanceCol 等于BlockDistanceColRead ; 如果當(dāng)前B圖像的圖像編碼結(jié)構(gòu)為幀,所述后向參考圖像的圖像編碼結(jié)構(gòu)為場(chǎng),且 BlockDistanceColRead的最低位為0,則BlockDistanceCol等于BlockDistanceColRead, 如果如果當(dāng)前B圖像的圖像編碼結(jié)構(gòu)為幀,所述后向參考圖像的圖像編碼結(jié)構(gòu)為場(chǎng),且 BlockDistanceColRead的最低位不為O,則BlockDistanceCol等于BlockDistanceColRead 加1 ; 如果當(dāng)前B圖像的圖像編碼結(jié)構(gòu)為場(chǎng),所述后向參考圖像的圖像編碼結(jié)構(gòu)為幀,
且當(dāng)前8X8i央在當(dāng)前B圖像的頂場(chǎng),則BlockDistanceCol等于BlockDistanceColRead減
l,如果當(dāng)前B圖像的圖像編碼結(jié)構(gòu)為場(chǎng),所述后向參考圖像的圖像編碼結(jié)構(gòu)為幀,且當(dāng)前
8X8i央在當(dāng)前B圖像的底場(chǎng),則BlockDistanceCol等于BlockDistanceColRead ; 其中,BlockDistanceCol為歸一化的塊距離,BlockDistanceColRead為讀取的塊距離。 根據(jù)本發(fā)明的另一方面,還提供了一種AVS視頻標(biāo)準(zhǔn)中時(shí)域直接模式運(yùn)動(dòng)矢量的 計(jì)算裝置,包括片外存儲(chǔ)器、地址轉(zhuǎn)換映射電路、數(shù)據(jù)歸一化電路和時(shí)域直接模式中值預(yù)測(cè) 電路 所述地址轉(zhuǎn)換映射電路,用于根據(jù)后向參考圖像的圖像編碼結(jié)構(gòu),按照后向參考 圖像的宏塊編解碼順序依次將與后向參考圖像相關(guān)的信息存儲(chǔ)到所述片外存儲(chǔ)器,根據(jù)全 局信息獲得與后向共同位置8X8塊相關(guān)的信息在所述片外存儲(chǔ)器中的存儲(chǔ)地址,并根據(jù) 所述存儲(chǔ)地址讀取所述與后向共同位置8X8塊相關(guān)的信息; 數(shù)據(jù)歸一化電路,用于將來自所述地址轉(zhuǎn)換映射電路的所述與后向共同位置8X8 塊相關(guān)的信息歸一化; 時(shí)域直接模式中值預(yù)測(cè)電路,用于根據(jù)歸一化的與后向共同位置8X8塊相關(guān)的 信息計(jì)算時(shí)域直接模式8X8塊的運(yùn)動(dòng)矢量。 如上所述的裝置,所述地址轉(zhuǎn)換映射電路還用于在所有操作前確定后向參考圖像 的宏塊所包含的4個(gè)8X8塊都不是I_8X8類型的塊。 如上所述的裝置,所述地址轉(zhuǎn)換映射電路中包括緩存器,用于緩存一次連續(xù)讀取 但尚未使用的與后向共同位置8X8塊相關(guān)的信息。 本發(fā)明產(chǎn)生的有益效果在于節(jié)約了片外存儲(chǔ)器的存儲(chǔ)空間,另外,根據(jù)本發(fā)明的 優(yōu)選實(shí)施例還優(yōu)化了片外存儲(chǔ)器的數(shù)據(jù)訪問帶寬,從而提高了時(shí)域直接模式運(yùn)動(dòng)矢量的計(jì) 算速度。
圖1是根據(jù)本發(fā)明一個(gè)具體實(shí)施例的時(shí)域直接模式B圖像的顯示和處理順序示意 圖; 圖2是根據(jù)本發(fā)明一個(gè)具體實(shí)施例的與后向參考圖像相關(guān)的信息在片外存儲(chǔ)器 的存儲(chǔ)結(jié)構(gòu)7
圖3是根據(jù)本發(fā)明一個(gè)具體實(shí)施例的片外存儲(chǔ)器、地址轉(zhuǎn)換映射電路和數(shù)據(jù)歸一 化電路的級(jí)聯(lián)關(guān)系圖; 圖4是根據(jù)本發(fā)明一個(gè)具體實(shí)施例的時(shí)域直接模式中值預(yù)測(cè)電路的框圖。
具體實(shí)施例方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖,對(duì)根據(jù)本發(fā) 明一個(gè)實(shí)施例的AVS視頻標(biāo)準(zhǔn)中時(shí)域直接模式運(yùn)動(dòng)矢量的計(jì)算方法和裝置進(jìn)一步詳細(xì)說 明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
作為一種可實(shí)施的方式,本發(fā)明的時(shí)域直接模式運(yùn)動(dòng)矢量的計(jì)算方法將每宏塊所 包括的4個(gè)8X8塊流水線處理。針對(duì)每一時(shí)域直接模式8X8塊,計(jì)算與后向共同位置 8X8塊相關(guān)的信息在片外儲(chǔ)存器的地址,從該地址處讀取的數(shù)據(jù)即為計(jì)算當(dāng)前時(shí)域直接模 式8X8塊的運(yùn)動(dòng)矢量所需的相關(guān)信息。前述的后向參考圖像按照顯示順序在當(dāng)前B圖像之 后,按照處理順序在當(dāng)前B圖像之前。如圖3和圖4所示,根據(jù)本發(fā)明的一個(gè)具體實(shí)施例, 時(shí)域直接模式運(yùn)動(dòng)矢量的計(jì)算方法具體包括如下步驟 步驟l,不論后向參考圖像的圖像編碼結(jié)構(gòu)為幀還是為場(chǎng),在以宏塊為單元編解碼 后向參考圖像的過程中,與后向參考圖像相關(guān)的參考索引MbReferenceldColWrite、塊距離 BlockDistanceColWrite和運(yùn)動(dòng)矢量mvColWrite信息,通過地址轉(zhuǎn)換映射電路,依照宏塊 編解碼順序?qū)懭肫獯鎯?chǔ)器的對(duì)應(yīng)地址處。優(yōu)選地,在此步驟前增加由該地址轉(zhuǎn)換映射電 路預(yù)判后向參考圖像的宏塊的4個(gè)8X8塊的類型是否是L8X8的步驟,如果是,則可以不 對(duì)片外存儲(chǔ)器的對(duì)應(yīng)地址寫入上述信息。由此,避免無用的信息被寫入片外存儲(chǔ)器,浪費(fèi)總 線帶寬。 具體地,如果后向參考圖像的圖像編碼結(jié)構(gòu)為幀,則在處理后向參考圖像的過程 中將與之相關(guān)的信息根據(jù)后向共同位置8X8塊所屬宏塊在幀中的水平位置MbNoX和垂直 位置MbNoY以及后向共同位置8X8塊在宏塊中的位置編號(hào)BlockNo的順序依次寫入片外 存儲(chǔ)器中。圖2示出了根據(jù)本發(fā)明一個(gè)具體實(shí)施例的與后向參考圖像相關(guān)的信息在片外存 儲(chǔ)器的存儲(chǔ)結(jié)構(gòu)圖,其中8X8塊內(nèi)的數(shù)字表示了與后向共同位置8X8塊相關(guān)的信息的存 儲(chǔ)順序,例如,數(shù)字03表示與該8 X 8塊相關(guān)的信息在片外存儲(chǔ)器中第4個(gè)存儲(chǔ)。類似地,如 果后向參考圖像的圖像編碼結(jié)構(gòu)為場(chǎng),則片外存儲(chǔ)器中首先存儲(chǔ)與后向參考圖像頂場(chǎng)相關(guān) 的信息,然后存儲(chǔ)與后向參考圖像底場(chǎng)相關(guān)的信息,存儲(chǔ)順序也是根據(jù)宏塊在場(chǎng)中的水平 位置MbNoX和垂直位置MbNoY以及后向共同位置8X8塊在宏塊中的位置編號(hào)BlockNo。如 所公知的,與每個(gè)后向共同位置8X8塊相關(guān)的信息在片外存儲(chǔ)器中需要5個(gè)字節(jié)來存儲(chǔ)。
步驟2,根據(jù)所接收的全局信息Global Signal,地址轉(zhuǎn)換映射電路獲得與后向 共同位置8X8塊相關(guān)的信息在片外存儲(chǔ)器的存儲(chǔ)地址Addr,并根據(jù)Addr讀取片外存儲(chǔ) 器,獲得與后向共同位置8 X 8塊相關(guān)的信息參考索引MbReferenceldColRead、塊距離 BlockDistanceColRead和運(yùn)動(dòng)矢量mvColRead。應(yīng)該理解,對(duì)于片外存儲(chǔ)器內(nèi)的相同的 地址,寫入的信息參考索引MbReferenceldColWrite、塊距離BlockDistanceColWrite 和運(yùn)動(dòng)矢量mvColWrite即為讀取的信息參考索引MbRef erenceldColRead、塊距離 BlockDistanceColRead禾口運(yùn)動(dòng)矢量mvColRead。 具體地,如果當(dāng)前B圖像和后向參考圖像的圖像編碼結(jié)構(gòu)一致,則后向共同位置8X8塊所屬宏塊在片外存儲(chǔ)器中的水平位置AddrX等于MbNoX,垂直位置AddrY等于 MbNoY ;后向共同位置8X8塊在宏塊內(nèi)的位置偏移AddrOffset等于BlockNo。
如果當(dāng)前B圖像的圖像編碼結(jié)構(gòu)為幀,后向參考圖像的圖像編碼結(jié)構(gòu)為場(chǎng),則 AddrX等于MbNoX, AddrY等于MbNoY的二分之一 ;AddrOffset等于MbNoY的最低位的2倍 加BlockNo的最低位。 如果當(dāng)前B圖像的圖像編碼結(jié)構(gòu)為場(chǎng),后向參考圖像的圖像編碼結(jié)構(gòu)為幀, 則AddrX等于MbNoX ;如果當(dāng)前8 X 8塊在當(dāng)前B圖像的頂場(chǎng),AddrY等于MbNoY的2倍 加BlockNo的最高位,否則,AddrY等于MbNoY的2倍加BlockNo的最高位減MbHeight ; AddrOffset等于BlockNo的最低位。 在上述情況下,Addr = (AddrYXMbWidth+AddrX) X4+AddrOffset) X5。從片外存 儲(chǔ)器的存儲(chǔ)地址Addr處讀取后向共同位置8X8塊的參考索引MbReferenceldColRead、塊 足巨離BlockDistanceColRead禾口運(yùn)動(dòng)矢量mvColRead。 進(jìn)一步地,如果當(dāng)前B圖像和后向參考圖像的圖像編碼結(jié)構(gòu)一致,當(dāng)前宏塊類型 為時(shí)域直接模式B_Skip或B_Direct_16X 16,并且當(dāng)前8 X 8塊在宏塊中的位置編號(hào)為0, 則優(yōu)選地,向片外存儲(chǔ)器總線請(qǐng)求連續(xù)讀取4組與后向共同位置8X8塊相關(guān)的信息,并且 將后3組緩存到地址轉(zhuǎn)換映射電路中,以便當(dāng)前宏塊的其余3個(gè)8X8塊可以直接使用這些 緩存信息。由此,地址轉(zhuǎn)換映射電路中所包含的緩存器的容量至少為3X5 = 15字節(jié)。
如果當(dāng)前B圖像的圖像編碼結(jié)構(gòu)為幀,后向參考圖像的圖像編碼結(jié)構(gòu)為場(chǎng),當(dāng)前 宏塊類型為時(shí)域直接模式B_Skip或B—Directj6 X 16,并且當(dāng)前8 X 8塊在宏塊中的位置編 號(hào)為0,則優(yōu)選地,向片外存儲(chǔ)器總線請(qǐng)求連續(xù)讀取2組與后向共同位置8X8塊相關(guān)的信 息,并且將這2組緩存到地址轉(zhuǎn)換映射電路中,以便當(dāng)前宏塊的其余3個(gè)8X8塊可以直接 使用這些緩存信息,其中位置編號(hào)為2的8X8塊和位置編號(hào)為0的8X8塊使用相同的信 息,位置編號(hào)為3的8X8塊和位置編號(hào)為1的8X8塊使用相同的信息。
如果當(dāng)前B圖像的圖像編碼結(jié)構(gòu)為場(chǎng),后向參考圖像的圖像編碼結(jié)構(gòu)為幀,當(dāng)前 宏塊類型為時(shí)域直接模式B_Skip或B_Direct_16X 16,并且當(dāng)前8X8塊在宏塊中的位置編 號(hào)為0或2,則優(yōu)選地,向片外存儲(chǔ)器總線請(qǐng)求連續(xù)讀取2組與后向共同位置8 X 8塊相關(guān)的 信息,并且將后1組緩存到地址轉(zhuǎn)換映射電路中,以便當(dāng)前宏塊的下一個(gè)8X8塊可以直接 使用這些緩存信息。 上面提供了優(yōu)選的讀取與后向共同位置8X8塊相關(guān)的信息的過程,通過該優(yōu)選 的讀取過程,將相關(guān)的信息提前緩存到了地址轉(zhuǎn)換映射電路中,減少了對(duì)總線的請(qǐng)求次數(shù), 提高了時(shí)域直接模式8X8塊的運(yùn)動(dòng)矢量的計(jì)算速度。但本領(lǐng)域普通技術(shù)人員可以理解,替 代地,也可以每次讀取一組信息。 除了上述的實(shí)現(xiàn)方式,地址轉(zhuǎn)換映射電路也可以使用其他方式來獲得與后向共同 位置8X8塊相關(guān)的信息的存儲(chǔ)地址,例如查表法。 步驟3,數(shù)據(jù)歸 一 化電路根據(jù)來自地址轉(zhuǎn)換映射電路的參考索引 MbReferenceldColRead、塊距離BlockDistanceColRead和運(yùn)動(dòng)矢量mvColRead計(jì)算后向共 同位置8X8塊的歸一化參考索引MbReferenceldCol、歸一化塊距離BlockDistanceCol和 歸一化運(yùn)動(dòng)矢量mvCol。該歸一化的過程使得后面計(jì)算時(shí)域直接模式運(yùn)動(dòng)矢量時(shí),無需考慮 相關(guān)圖像的圖像編碼結(jié)構(gòu)。
具體的,如果當(dāng)前B圖像和后向參考圖像的圖像編碼結(jié)構(gòu) 一 致, 貝U MbReferenceldCol等于MbReferenceldColRead;BlockDistanceCol等于 BlockDistanceColRead ;mvCol等于mvColRead。 如果當(dāng)前B圖像的圖像編碼結(jié)構(gòu)為幀,后向參考圖像的圖像編碼結(jié)構(gòu)為場(chǎng),則 MbReferenceldCol 等于MbReferenceldColRead ;如果BlockDistanceColRead的最低 位為0, BlockDistanceCol等于BlockDistanceColRead,否則,BlockDistanceCol等于 BlockDistanceColRead力卩1 ;mvCol_x等于mvColRead_x ;mvCol_y等于mvColRead_y的2倍。 如果當(dāng)前B圖像的圖像編碼結(jié)構(gòu)為場(chǎng),后向參考圖像的圖像編碼結(jié)構(gòu)為幀,則 MbReferenceldCol等于MbReferenceldColRead ;如果當(dāng)前8X8 i央在當(dāng)前B圖像的頂場(chǎng), 即BottomFieldFlag為0,則BlockDistanceCol等于BlockDistanceColRead減1,否則, BlockDistanceCol等于BlockDistanceColRead ;mvCol_x等于mvColRead_x ;mvCol—y等于 mvColRead_y的二分之一。 上面詳細(xì)公開了一種優(yōu)選的塊距離BlockDistanceColRead的歸一化方式,在該 優(yōu)選方式中,僅利用了當(dāng)前8 X 8塊在當(dāng)前B圖像的場(chǎng)次分布BottomFieldFlag以及自身信 息。當(dāng)然,塊距離BlockDistanceColRead的歸一化方式也可以如所公知的利用所需要的其 他輔助信息和上述BottomFieldFlag以及自身信息來按AVS視頻標(biāo)準(zhǔn)文檔和參考編解碼器 指定的方式進(jìn)行。 本領(lǐng)域的普通技術(shù)人員可以理解,地址轉(zhuǎn)換映射電路的功能在于將與后向共同位 置8X8塊相關(guān)的信息在片外存儲(chǔ)器的讀取地址進(jìn)行重定向,該功能也可以在上述數(shù)據(jù)歸 一化電路中實(shí)現(xiàn),此時(shí),對(duì)于與后向共同位置8X8塊相關(guān)的信息的存儲(chǔ)過程,將是直接對(duì) 片外存儲(chǔ)器操作。 下面根據(jù)圖4詳細(xì)描述,時(shí)域直接模式中值預(yù)測(cè)電路根據(jù)上述后向共同位置8X8 塊的歸一化參考索引MbReferenceldCol、歸一化塊距離BlockDistanceCol和歸一化運(yùn)動(dòng) 矢量mvCol以及全局信息Global Signal計(jì)算時(shí)域直接模式運(yùn)動(dòng)矢量,該時(shí)域直接模式中 值預(yù)測(cè)電路包括時(shí)域直接模式參考索引計(jì)算電路、時(shí)域直接模式塊距離計(jì)算電路和時(shí)域 直接模式運(yùn)動(dòng)矢量計(jì)算電路。上述部件的具體操作如下 步驟4,時(shí)域直接模式參考索引計(jì)算電路計(jì)算每個(gè)8X8塊的前后向參考索引 MbReferenceldFw禾口 MbReferenceIdBw。 具體的,如果當(dāng)前B圖像的圖像編碼結(jié)構(gòu)為幀,則MbReferenceldFw等于0, MbReferenceldBw等于0。 如果當(dāng)前B圖像的圖像編碼結(jié)構(gòu)為場(chǎng),后向參考圖像的圖像編碼結(jié)構(gòu)為幀,則 MbReferenceldFw等于MbReferenceldCol, MbReferenceldBw等于BottomFieldFlag。
如果當(dāng)前B圖像的圖像編碼結(jié)構(gòu)為場(chǎng),后向參考圖像的圖像編碼結(jié)構(gòu)為幀,則 MbReferenceldBw等于BottomFieldFlag ;如果MbReferenceldCol等于BottomFieldFlag, 則MbReferenceldFw等于0,否則MbReferenceldFw等于1。 步驟5,時(shí)域直接模式塊距離計(jì)算電路計(jì)算每個(gè)8X8塊的前后向塊距離 BlockDistanceFw禾卩BlockDistanceBw。
具體的,如果當(dāng)前B圖像的圖像編碼結(jié)構(gòu)為幀,則
BlockDistanceFw = PictureDistance X 2-PictureDistanceFwX 2,
BlockDistanceBw = PictureDistanceBwX 2-PictureDistance X 2。
如果當(dāng)前B圖像的圖像編碼結(jié)構(gòu)為場(chǎng),則 BlockDistanceFw = PictureDistance X 2-PictureDistanceFwX 2+MbReference IdFw+BottomFieldFlag_l, BlockDistanceBw = PictureDistanceBwX 2-PictureDistance X 2+MbReference IdBw_BottomFieldFlag。 步驟6,時(shí)域直接模式運(yùn)動(dòng)矢量計(jì)算電路計(jì)算每個(gè)8 X 8塊的前后向運(yùn)動(dòng)矢量mvFw 禾口 mvBw。 具體地,如果共同位置8X8塊的歸一化運(yùn)動(dòng)矢量水平分量mvC0l_x小于0,則
mvFw_x = -(((16384/BlockDistanceCol)X (l_mvCol_xXBlockDistanceFw)_1) >> 14),mvBw_x = (((16384/BlockDistanceCol) X Q-mvCol_xXBlockDistanceBw) _1) >> 14);
否則, mvFw_x = (((16384/BlockDistanceCol) X Q+mvCol_xXBlockDistanceFw) _1) >> 14), mvBw_x = -(((16384/BlockDistanceCol)X (l+mvCol_xXBlockDistanceBw)_1) >> 14)。 如果共同位置8X8塊的歸一化運(yùn)動(dòng)矢量垂直分量mVCol_y小于0,則 mvFw_y = -(((16384/BlockDistanceCol)X (l_mvCol_yXBlockDistanceFw)_1)
>> 14),mvBw_y = (((16384/BlockDistanceCol) X (l_mvCol_y XBlockDistanceBw) _1) >> 14);
否則, mvFw_y = (((16384/BlockDistanceCol) X (l+mvCol_y XBlockDistanceFw) _1) >> 14), mvBw_y = -(((16384/BlockDistanceCol)X (l+mvCol_yXBlockDistanceBw)_1) >> 14)。 對(duì)于計(jì)算每個(gè)8X8塊的前后向運(yùn)動(dòng)矢量mvFw和mvBw的具體實(shí)施方法,本領(lǐng)域的
工程技術(shù)人員能夠?qū)嵤┏霾煌目尚蟹桨?,可以采用公知技術(shù),在此不一一贅述。 —方面,無論后先參考圖像與當(dāng)前B圖像是何種圖像編碼結(jié)構(gòu),在本發(fā)明中都根
據(jù)后向參考圖像的圖像編碼結(jié)構(gòu),按照后向參考圖像的宏塊編解碼順序依次將與后向參考
圖像相關(guān)的信息僅存儲(chǔ)一次,由此有效節(jié)約了片外存儲(chǔ)器的存儲(chǔ)空間。 另一方面,以本發(fā)明的上述機(jī)制存儲(chǔ)數(shù)據(jù)保證計(jì)算時(shí)域直接模式8X8塊的運(yùn)動(dòng)
矢量時(shí)可以最大程度地連續(xù)讀取和寫入與后向共同位置8X8塊相關(guān)的信息,對(duì)于可能重
復(fù)使用的與后向共同位置8 X 8塊相關(guān)的信息,提前緩存到地址轉(zhuǎn)換映射電路中,盡可能地
減小訪問片外存儲(chǔ)器時(shí)請(qǐng)求總線的次數(shù),從而優(yōu)化了片外存儲(chǔ)器的數(shù)據(jù)訪問帶寬。具體說
來
1、在處理后向參考圖像的過程中,對(duì)于每個(gè)宏塊的4個(gè)8X8塊,避免重復(fù)請(qǐng)求寫 入片外存儲(chǔ)器中地址連續(xù)處的與后向參考圖像相關(guān)的信息,大大減少了寫入過程中訪問片 外存儲(chǔ)器的次數(shù)。 2、對(duì)于當(dāng)前時(shí)域直接模式B—Skip或B—Directj6X16類型宏塊的4個(gè)8X8塊, 對(duì)總線請(qǐng)求一次即可以連續(xù)的讀取與后向參考圖像相關(guān)的信息,最大程度地減少了讀取過 程中訪問片外存儲(chǔ)器的次數(shù)。 3、針對(duì)當(dāng)前B圖像和后向參考圖像的圖像編碼結(jié)構(gòu)不一致的情況,地址轉(zhuǎn)換映射 電路對(duì)與后向共同位置8X8塊相關(guān)的信息在片外存儲(chǔ)器的地址進(jìn)行了重定向,避免了時(shí) 域直接模式中值預(yù)測(cè)電路根據(jù)當(dāng)前B圖像和后向參考圖像的圖像編碼結(jié)構(gòu)分別計(jì)算運(yùn)動(dòng) 矢量,提高了資源的利用率。 本發(fā)明產(chǎn)生以上有益效果,節(jié)約了存儲(chǔ)空間,優(yōu)化了時(shí)域直接模式運(yùn)動(dòng)矢量的計(jì) 算效率和資源利用率,提高了訪問片外存儲(chǔ)器的效率,從而提高了 AVS編解碼器的處理速 度,降低了 AVS編解碼器的硬件實(shí)現(xiàn)復(fù)雜度,尤其對(duì)圖像分辨率高、片內(nèi)存儲(chǔ)器資源有限的 AVS視頻編解碼器性能提升更高。本發(fā)明可用于AVS視頻編解碼芯片和FPGA的IP核設(shè)計(jì)
應(yīng)該注意到并理解,在不脫離后附的權(quán)利要求所要求的本發(fā)明的精神和范圍的情 況下,能夠?qū)ι鲜鲈敿?xì)描述的本發(fā)明做出各種修改和改進(jìn)。因此,要求保護(hù)的技術(shù)方案的范 圍不受所給出的任何特定示范教導(dǎo)的限制。
權(quán)利要求
一種AVS視頻標(biāo)準(zhǔn)中時(shí)域直接模式運(yùn)動(dòng)矢量的計(jì)算方法,包括下列步驟1)根據(jù)后向參考圖像的圖像編碼結(jié)構(gòu),按照后向參考圖像的宏塊編解碼順序依次存儲(chǔ)與后向參考圖像相關(guān)的信息;2)根據(jù)全局信息獲得與后向共同位置8x8塊相關(guān)的信息的存儲(chǔ)地址,并根據(jù)所述存儲(chǔ)地址讀取所述與后向共同位置8x8塊相關(guān)的信息,并將所述與后向共同位置8x8塊相關(guān)的信息歸一化;3)根據(jù)歸一化的與后向共同位置8x8塊相關(guān)的信息計(jì)算時(shí)域直接模式8x8塊的運(yùn)動(dòng)矢量。
2. 根據(jù)權(quán)利要求l所述的方法,其特征在于,在所述步驟l)前包括確定后向參考圖像 的宏塊所包含的4個(gè)8x8塊都不是I_8x8類型的塊。
3. 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,在所述步驟2)中如果當(dāng)前B圖像 和所述后向參考圖像的圖像編碼結(jié)構(gòu)一致,當(dāng)前宏塊類型為時(shí)域直接模式B—Skip或B— DirectJ6x16,并且當(dāng)前8x8塊在宏塊中的位置編號(hào)為O,則連續(xù)讀取4組與后向共同位置 8x8塊相關(guān)的信息,并且將后3組緩存到地址轉(zhuǎn)換映射電路中。
4. 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,在所述步驟2)中如果當(dāng)前B圖像的 圖像編碼結(jié)構(gòu)為幀,所述后向參考圖像的圖像編碼結(jié)構(gòu)為場(chǎng),當(dāng)前宏塊類型為時(shí)域直接模 式B—Skip或B—Directj6xl6,并且當(dāng)前8x8塊在宏塊中的位置編號(hào)為O,則連續(xù)讀取2組 與后向共同位置8x8塊相關(guān)的信息,并且將這2組緩存到地址轉(zhuǎn)換映射電路中。
5. 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,在所述步驟2)中如果當(dāng)前B圖像的 圖像編碼結(jié)構(gòu)為場(chǎng),所述后向參考圖像的圖像編碼結(jié)構(gòu)為幀,當(dāng)前宏塊類型為時(shí)域直接模 式B_Skip或B_Direct_16X16,并且當(dāng)前8x8塊在宏塊中的位置編號(hào)為0或2,則連續(xù)讀取 2組與后向共同位置8x8塊相關(guān)的信息,并且將后1組緩存到地址轉(zhuǎn)換映射電路中。
6. 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,在所述步驟2)中根據(jù)如下公式計(jì)算 所述存儲(chǔ)地址Addr :Addr = (AddrYXMbWidth+AddrX) X4+Addr0ffset) X5,其中AddrX、 AddrY和AddrOffset分別表示后向共同位置8x8塊所屬宏塊在片外存儲(chǔ) 器中的水平位置、垂直位置和所述后向共同位置8x8塊在宏塊內(nèi)的位置偏移;MbWidth表示 所述后向參考圖像所屬的幀以宏塊為單位的寬度。
7. 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,在所述步驟2)中根據(jù)查表法獲得所 述存儲(chǔ)地址Addr。
8. 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,對(duì)于所述步驟2)中的所述歸一化步驟如果當(dāng)前B圖像和所述后向參考圖像的圖像編碼結(jié)構(gòu)一致,則BlockDistanceCol等于 BlockDistanceColRead ;如果當(dāng)前B圖像的圖像編碼結(jié)構(gòu)為幀,所述后向參考圖像的圖像編碼結(jié)構(gòu)為場(chǎng),且 BlockDistanceColRead的最低位為0,則BlockDistanceCol等于BlockDistanceColRead, 如果如果當(dāng)前B圖像的圖像編碼結(jié)構(gòu)為幀,所述后向參考圖像的圖像編碼結(jié)構(gòu)為場(chǎng),且 BlockDistanceColRead的最低位不為0,則BlockDistanceCol等于BlockDistanceColRead 加1 ;如果當(dāng)前B圖像的圖像編碼結(jié)構(gòu)為場(chǎng),所述后向參考圖像的圖像編碼結(jié)構(gòu)為幀,且當(dāng) 前8x8i央在當(dāng)前B圖像的頂場(chǎng),則BlockDistanceCol等于BlockDistanceColRead減l,如 果當(dāng)前B圖像的圖像編碼結(jié)構(gòu)為場(chǎng),所述后向參考圖像的圖像編碼結(jié)構(gòu)為幀,且當(dāng)前8x8塊 在當(dāng)前B圖像的底場(chǎng),則BlockDistanceCol等于BlockDistanceColRead ;其中,BlockDistanceCol為歸一化的塊距離,BlockDistanceColRead為讀取的塊距離。
9. 一種AVS視頻標(biāo)準(zhǔn)中時(shí)域直接模式運(yùn)動(dòng)矢量的計(jì)算裝置,包括片外存儲(chǔ)器、地址轉(zhuǎn) 換映射電路、數(shù)據(jù)歸一化電路和時(shí)域直接模式中值預(yù)測(cè)電路所述地址轉(zhuǎn)換映射電路,用于根據(jù)后向參考圖像的圖像編碼結(jié)構(gòu),按照后向參考圖像 的宏塊編解碼順序依次將與后向參考圖像相關(guān)的信息存儲(chǔ)到所述片外存儲(chǔ)器,根據(jù)全局信 息獲得與后向共同位置8x8塊相關(guān)的信息在所述片外存儲(chǔ)器中的存儲(chǔ)地址,并根據(jù)所述存 儲(chǔ)地址讀取所述與后向共同位置8x8塊相關(guān)的信息;數(shù)據(jù)歸一化電路,用于將來自所述地址轉(zhuǎn)換映射電路的所述與后向共同位置8x8塊相 關(guān)的信息歸一化;時(shí)域直接模式中值預(yù)測(cè)電路,用于根據(jù)歸一化的與后向共同位置8x8塊相關(guān)的信息計(jì) 算時(shí)域直接模式8x8塊的運(yùn)動(dòng)矢量。
10. 根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述地址轉(zhuǎn)換映射電路還用于在所有操 作前確定后向參考圖像的宏塊所包含的4個(gè)8x8塊都不是I_8x8類型的塊。
11. 根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述地址轉(zhuǎn)換映射電路中包括緩存器, 用于緩存一次連續(xù)讀取但尚未使用的與后向共同位置8x8塊相關(guān)的信息。
全文摘要
本發(fā)明提供一種AVS視頻標(biāo)準(zhǔn)中時(shí)域直接模式運(yùn)動(dòng)矢量的計(jì)算方法和裝置,該方法包括下列步驟1)根據(jù)后向參考圖像的圖像編碼結(jié)構(gòu),按照后向參考圖像的宏塊編解碼順序依次存儲(chǔ)與后向參考圖像相關(guān)的信息;2)根據(jù)全局信息獲得與后向共同位置8×8塊相關(guān)的信息的存儲(chǔ)地址,并根據(jù)所述存儲(chǔ)地址讀取所述與后向共同位置8×8塊相關(guān)的信息,并將所述與后向共同位置8×8塊相關(guān)的信息歸一化;3)根據(jù)歸一化的與后向共同位置8×8塊相關(guān)的信息計(jì)算時(shí)域直接模式8×8塊的運(yùn)動(dòng)矢量。本發(fā)明有效節(jié)約了片外存儲(chǔ)器的存儲(chǔ)空間,另外,還優(yōu)化了片外存儲(chǔ)器的數(shù)據(jù)訪問帶寬,提高了時(shí)域直接模式運(yùn)動(dòng)矢量的計(jì)算速度。
文檔編號(hào)H04N7/50GK101783958SQ201010110939
公開日2010年7月21日 申請(qǐng)日期2010年2月10日 優(yōu)先權(quán)日2010年2月10日
發(fā)明者張繪國(guó), 紀(jì)雯, 邢云冰, 陳益強(qiáng) 申請(qǐng)人:中國(guó)科學(xué)院計(jì)算技術(shù)研究所