專利名稱:參考數(shù)據(jù)載入方法、裝置及視頻編碼器的制作方法
技術領域:
本發(fā)明涉及視頻編碼技術,尤其涉及一種參考數(shù)據(jù)載入方法、裝置及視頻 編碼器。
背景技術:
視頻編碼技術是將數(shù)字視頻信息壓縮,以節(jié)省存儲空間,提高傳輸速度。
目前通常采用的^L頻壓縮編碼標準有MPEG2 (由運動圖像專家組Moving Picture Experts Group, MPEG制定)、MPEG4-Part2 、 H. 263 (由國際電孑言if關合 會International Telecommunication Union, ITU制定)及最新的H. 264/AVC (由聯(lián)合一見頻專家組Joint Video Team,JVT制定)等。上述碎見頻編碼標準均 采用基于塊的運動估計和運動補償技術,能夠提供高質量的視頻壓縮效果。在 視頻編碼器的實現(xiàn)中,運動估計運算量巨大,是影響編碼性能的主要瓶頸。
視頻由連續(xù)的圖像組成,對于逐行視頻,圖像即為幀,對于隔行視頻,在 按場編碼時將場稱為圖像,按幀編碼時將幀稱為圖像。對每個圖像編碼時,將 圖像分成宏塊,宏塊是編碼的基本單位。在現(xiàn)有編碼標準中, 一個宏塊由一個 16xl6亮度(Y)塊、兩個8x8色度(Cr和Cb各一)塊組成。宏塊在預測、變換 和量化中被進一步分成子宏塊(也稱塊),子宏塊(或塊)大小有16*16、 16x8、 8 x 16、 8 x 8等。
運動估計(Motion Estimation,ME)以每個宏塊的各亮度子宏塊(或塊)為 單位,包括整象素運動估計和亞象素(半像素和l/4像素)運動估計。為節(jié)省運 動估計載入數(shù)據(jù)量和運算量,通常先統(tǒng)一讀入一個宏塊的參考數(shù)據(jù)和當前圖像 數(shù)據(jù),并先進行整象素運動估計再進行亞象素運動估計,分層算法或金字塔算 法是常見的運動估計算法。為方便描述期間,本專利中運動矢量的單位為一個亮度抽樣值,在垂直方向為一個掃描行。
運動估i+也常稱為塊匹配,它是對于當前圖像中的當前子宏塊在參考圖像 中給定的搜索范圍(搜索窗)內,根據(jù)一定的匹配準則找出與當前子宏塊最相 似的宏塊,即匹配子宏塊,由匹配子宏塊與當前子宏塊的相對位移計算出運動
矢量(Motion Vector, MV)。
在對當前宏塊進行運動估計時,必須首先選取尋找匹配宏塊所需的搜索窗 的范圍。下面以對宏塊僅劃分成一個16 x 16子宏塊(以下也稱為宏塊)的情況 下的整像素運動估計為例說明搜索窗的選取方法。如圖1所示,MB ( j, k)為當 前圖像中進行運動估計的16*16宏塊,其中,k表示行數(shù),j表示一個宏塊行中的 宏塊數(shù)。對每一個宏塊選取的搜索位置范圍為水平[-24, +24)/垂直[-24, +24),,那么,對宏塊MB(j, k)進行運動估計時,搜索窗S(j, k)的范圍為以 參考圖像中與宏塊MB ( j, k)對應的位置為中心,包括其周圍范圍為(24 +16 + 24 ) x ( 24 + 16 + 24 ) = 64 乂64的圖像區(qū)域。在搜索窗中,采用一定的匹配 準則,例如,差分絕對值累積和(Sum of Absolute Difference: SAD ),計算 出宏塊MB ( j, k)的最佳匹配塊Match (j,k), /人而得到Match ( j,k)與MB ( j, k)之間運動矢量MV ( j, k),對應的水平和垂直運動矢量分別為MVX ( j,k)、 M—vT ( j, k )。
視頻編碼器在對一個宏塊進行運動估計之前,需要載入對該宏塊進行運動 估計所需的搜索范圍內的參考數(shù)據(jù)。通常視頻編碼器的片上存儲器容量較小, 不足以存儲一個視頻圖像,視頻圖像只能存儲在片外存儲器中。由于對片外存 儲器進行訪問的延遲較大,為了保證運動估計運算的實時性和高效性,視頻編 碼器對進行運動估計時通常采用兩級存儲體制,如圖2所示,包括片上存儲器和存中,進行參考數(shù)據(jù)的載入,進行運動估計運算時,再從片上存儲器中的搜索 數(shù)據(jù)緩存讀取所需參考數(shù)據(jù)。
現(xiàn)有技術中,視頻編碼器進行參考數(shù)據(jù)載入的方法如圖3所示,對一幀間編
碼P幀圖像P (n)按從上到下順序,逐個宏塊行進行參考數(shù)據(jù)載入。選取運動估 計搜索位置范圍為水平[-24, +24 )/垂直[-24, +24),對于第k宏塊行第j個1646 宏塊MB ( j, k),搜索窗S(j, k)范圍為(48 + 16 ) x ( 48 + 16 ) = 64 x 64,對 宏塊MB(j, k)進行運動估計時,需要載入的參考數(shù)據(jù)為參考圖像中搜索窗S(j, k)內圖像像素值。同樣地,對宏塊MB(j, k)右邊緊臨的宏塊MB ( j+l,k),搜 索窗S(j+l,k)的范圍為(48 + 16 ) x ( 48 + 16 ) = 64 x 64,需要載入的參考數(shù) 據(jù)為參考圖像中搜索窗S (j+l, k)內圖像像素值。由于S (j, k)和S (j+l, k)大部分 是重疊的,這樣,對宏塊MB (j+l,k)進行運動估計時,需要新增載入的參考數(shù) 據(jù)僅為DS ( j+l,k) =24 x ( 48 + 16 )范圍內的圖像像素值(這里未考慮亞像素 多階插值濾波情形)。依次類推,搜索窗口水平滑動增量式載入?yún)⒖紨?shù)據(jù),直到 完成第k宏塊行中所有宏塊的運動估計,總計載入的參考數(shù)據(jù)為宏塊行寬度x (48 + 16)塔圍內的圖像像素值。
在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術中至少存在如下問題現(xiàn)有 技術中的參考數(shù)據(jù)載入方法,只是在水平方向使參考數(shù)據(jù)按增量式載入,避免 了水平方向參考數(shù)據(jù)的大量重復載入,優(yōu)化了水平方向參考數(shù)據(jù)的載入量。但 是,在垂直方向上進行參考數(shù)據(jù)載入時,采用一個固定的較大的范圍,存在大 量參考數(shù)據(jù)的重復載入,增加了系統(tǒng)總線和外存帶寬的占用,提高了系統(tǒng)的成 本和功庫毛。
發(fā)明內容
一方面,本發(fā)明實施例提供了一種參考數(shù)據(jù)載入方法,能夠顯著減小參考數(shù)據(jù)的載入量。
本發(fā)明實施例采用的技術方案如下 一種參考數(shù)據(jù)載入方法,該方法包括 預測當前圖像當前宏塊行的垂直載入長度;
根據(jù)所述垂直載入長度獲取所述當前圖像當前宏塊行的垂直載入范圍; 根據(jù)所述垂直載入范圍,載入所述當前圖像當前宏塊行中每個宏塊運動估
計所需要的參考數(shù)據(jù)。
另一方面,本發(fā)明實施例提供了一種參考數(shù)據(jù)載入裝置,能夠顯著減小參
考數(shù)據(jù)的載入量。
本發(fā)明實施例采用的技術方案如下 一種參考數(shù)據(jù)載入裝置,該裝置包括: 垂直載入長度預測單元,用于預測當前圖像當前宏塊行的垂直載入長度; 垂直載入范圍獲取單元,用于根據(jù)所述垂直載入長度預測單元預測的垂直
載入長度,獲取所述當前圖像當前宏塊行的垂直載入范圍;
載入單元,用于根據(jù)所述垂直載入范圍獲取單元獲取的垂直載入范圍,載
入所述當前圖像當前宏塊行中每個宏塊運動估計所需要的參考數(shù)據(jù)。
另一方面,本發(fā)明實施例提供了一種視頻編碼器,能夠顯著減小參考數(shù)據(jù)
的載入量。
本發(fā)明實施例采用的技術方案如下 一種視頻編碼器,包括
外部存儲器,用于存儲當前圖像和參考圖像的數(shù)據(jù);
參考數(shù)據(jù)載入裝置,用于預測當前圖像當前宏塊行的垂直載入長度,根據(jù) 所述垂直載入長度確定垂直載入范圍,根據(jù)所述垂直載入范圍和從編碼運動估 計處理單元接收的水平載入范圍信息,將當前圖像當前宏塊行的每個宏塊的參 考數(shù)據(jù)從所述外部存儲器讀出,送入?yún)⒖紨?shù)據(jù)緩存器;
參考數(shù)據(jù)緩存器,用于存儲由所述參考數(shù)據(jù)載入裝置傳送的參考數(shù)據(jù);編碼運動估計處理單元,用于讀入當前子宏塊數(shù)據(jù),根據(jù)所述參考數(shù)據(jù)緩 存器中的參考數(shù)據(jù),對當前圖像當前宏塊行的每個宏塊的子宏塊進行運動估計, 輸出所述子宏塊的垂直運動矢量和水平運動矢量。
本發(fā)明實施例對當前圖像當前宏塊行每個宏塊的運動估計進行參考數(shù)據(jù)的 載入時,針對當前圖像當前宏塊行,對載入?yún)⒖紨?shù)據(jù)垂直方向的長度進行預測, 獲取對當前宏塊行進行運動估計時,所需參考數(shù)據(jù)的垂直載入長度。對當前圖 像中每一個宏塊行采用相同的方法,獲取每一個宏塊行所需的垂直載入長度。
本發(fā)明實施例對當前圖像中各宏塊行進行參考數(shù)據(jù)載入時,通過預測的各宏塊 行的垂直載入長度,獲取所述垂直載入范圍,各宏塊行進行運動估計所需載入 的參考數(shù)據(jù)的垂直載入范圍發(fā)生自適應的改變,有效減'J、 了每一個宏塊行中每 個宏塊所需參考數(shù)據(jù)的載入范圍,從而,顯著減少了^L頻編碼運動估計參考數(shù) 據(jù)的載入量,減小了視頻編碼系統(tǒng)總線和外存帶寬占用,降低了系統(tǒng)成本和功 耗。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施 例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述 中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付 出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為視頻編碼中進行運動估計時的原理示意圖; 圖2為進行參考數(shù)據(jù)載入時視頻編碼器的結構示意圖; 圖3為現(xiàn)有技術進行參考數(shù)據(jù)載入時的原理示意圖; 圖4為本發(fā)明實施例提供的參考數(shù)據(jù)載入方法流程圖; 圖5為本發(fā)明實施例一提供的參考數(shù)據(jù)載入方法流程圖;圖6為本發(fā)明實施例二提供的參考數(shù)據(jù)載入方法流程圖7為本發(fā)明實施例三提供的參考數(shù)據(jù)載入方法流程圖8為本發(fā)明實施例四提供的參考數(shù)據(jù)載入方法流程圖9為本發(fā)明實施例提供的參考數(shù)據(jù)載入裝置結構圖10為本發(fā)明實施例一提供的參考數(shù)據(jù)載入裝置結構圖11為本發(fā)明實施例二提供的參考數(shù)據(jù)載入裝置結構圖12為本發(fā)明實施例三提供的參考數(shù)據(jù)載入裝置結構圖13為本發(fā)明實施例四提供的參考數(shù)據(jù)載入裝置結構圖14為本發(fā)明實施例提供的一種視頻編碼器結構圖15為本發(fā)明實施例提供的另一種視頻編碼器結構圖16為本發(fā)明實施例提供的一種視頻編碼器中參考數(shù)據(jù)載入裝置結構圖17為本發(fā)明實施例提供的另一種視頻編碼器中參考數(shù)據(jù)載入裝置結構圖。
具體實施例方式
為了更清楚地說明本發(fā)明實施例的技術方案,下面將結合附圖對本發(fā)明的 實施例進行詳細的介紹,下面的描述僅僅是本發(fā)明的一些實施例,對于本領域 普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些實施例獲 取本發(fā)明的其他的實施方式。
本發(fā)明實施例提供了一種參考數(shù)據(jù)載入方法、裝置及視頻編碼器,能夠顯 著減小參考數(shù)據(jù)的載入量。
如圖4所示,本發(fā)明實施例提供一種參考數(shù)據(jù)載入方法,該方法包括如下步
驟
步驟41、預測當前圖像當前宏塊行的垂直載入長度;步驟42、根據(jù)所述垂直載入長度獲取所述當前圖像當前宏塊行的垂直載入
范圍;
步驟43、根據(jù)所述垂直載入范圍,載入所述當前圖像當前宏塊行中每個宏 塊運動估計所需要的參考數(shù)據(jù)。
本發(fā)明實施例對當前圖像當前宏塊行每個宏塊的運動估計進行參考數(shù)據(jù)的 載入時,針對當前圖像當前宏塊行,對載入?yún)⒖紨?shù)據(jù)垂直方向的長度進行預測, 獲取對當前宏塊行進行運動估計時,所需參考數(shù)據(jù)的垂直方向載入長度。對當 前圖像中每一個宏塊行采用相同的方法,獲取每一個宏塊行所需的垂直載入長 度。本發(fā)明實施例對當前圖像中各宏塊行進行參考數(shù)據(jù)載入時,通過預測各宏 塊行的垂直載入長度,獲取所述垂直載入范圍,各宏塊行進行運動估計所需載 入的參考數(shù)據(jù)垂直范圍發(fā)生自適應的改變,有效減小了每一個宏塊行中每個宏 塊所需參考數(shù)據(jù)的載入范圍,從而,顯著減少了視頻編碼運動估計參考數(shù)據(jù)的 載入量,減小了視頻編碼系統(tǒng)總線和外存帶寬占用,降低了系統(tǒng)成本和功耗。
下面對本發(fā)明實施例提供的參考數(shù)據(jù)載入方法進行詳細說明。
實施例一
在本發(fā)明實施例一中,如圖5所示,步驟41預測當前圖像當前宏塊行的垂 直載入長度具體包括
步驟411 、根據(jù)當前圖像所屬的圖像組中已進行過運動估計的子宏塊的垂直 運動矢量預測所述當前圖像當前宏塊行的垂直載入長度。
對所有已進行過運動估計的宏塊,其所有子宏塊的垂直運動矢量是已知的。 根據(jù)該已知的垂直運動矢量,可以采用多種方法預測所述當前圖像當前宏塊行 的垂直載入長度。例如,從前一宏塊行中按等宏塊間隔每個宏塊取第一個子宏 塊,共獲取32個垂直運動矢量,按同樣方式從前一圖像同位置宏塊行也獲取32個垂直運動矢量,將所述64個垂直運動矢量分成正向(向下)和負向(向上) 兩組,對每組求平均值和方差,即得到正向垂直運動矢量平均值 和方差 , 負向垂直運動矢量平均值a和方差 ,按3a準則來估計出本宏塊行正向和負 向運動矢量的最大值,即正向垂直載入長度plen和負向垂直載入長度nlen,分 別為(^ + 3 )和(a + 3 )。
本發(fā)明實施例提供的技術方案包括但不局限于上述方法,所屬領域的技術
步驟42、根據(jù)所述垂直載入長度獲取所述當前圖像當前宏塊行的垂直載入 范圍。
該范圍向下為以當前宏塊行的行數(shù)加上所述plen長度包含的宏塊行的行 數(shù),向上為所述nlen長度包含的宏塊行的行數(shù),對于有亞象素預計多項式插值 的情形,還要加上附加的若干行。例如,若正向垂直載入長度為12,加向上等 于負向載入長度8,對于H.264半象素6階插值的情形,載入范圍以當前行號 為基準,向下26行(包括當前行,16 + 8 + 2 = 26),向上10行(8 + 2 = 10 )。
步驟43、根據(jù)所述垂直載入范圍,載入所述當前圖像當前宏塊行中每個宏 塊運動估計所需要的參考數(shù)據(jù)。
在水平方向,每個宏塊水平載入范圍可以是預定的,按照宏塊以增量方式
宏塊進行運動估計時,所需的前一宏塊已載入的參考數(shù)據(jù)不需重復載入,僅載 入與前一宏塊相比當前宏塊所需參考數(shù)據(jù)的增量部分,在背景技術中對該方法 已經(jīng)了詳細介紹,此處不再贅述。
本發(fā)明實施例對當前圖像中各宏塊行進行參考數(shù)據(jù)載入時,通過預測各宏 塊行的垂直載入長度,獲取所述垂直載入范圍,各宏塊行進行運動估計所需載入的參考數(shù)據(jù)垂直范圍發(fā)生自適應的改變,有效減小了每一個宏塊行中每個宏 塊所需參考數(shù)據(jù)的載入范圍,從而,顯著減少了視頻編碼運動估計參考數(shù)據(jù)的
載入量,減小了視頻編碼系統(tǒng)總線和外存帶寬占用,降低了系統(tǒng)成本和功耗。
本發(fā)明提供的不同方法實施例中,區(qū)別主要在于步驟41預測當前圖像當前
宏塊行的垂直載入長度,下述的方法實施例主要對步驟41進行說明,對步驟42 和43參見實施例一。 實施例二
在本發(fā)明實施例二中,如圖6所示,步驟41預測當前圖像當前宏塊行的垂 直載入長度包括
步驟412、根據(jù)當前圖像當前宏塊行的上一宏塊行中子宏塊的垂直運動矢量 預測當前圖像當前宏塊行的垂直載入長度。
若當前宏塊行為視頻序列第一圖像中的第一宏塊行,可采用現(xiàn)有技術中參 考數(shù)據(jù)的載入方法對該宏塊行進行處理,從第二宏塊行開始,利用上一宏塊行 的垂直運動矢量預測垂直栽入長度。
以第一圖像中的第二宏塊行為例進行說明,為簡化描述,這里每個宏塊僅 劃分為一個16 x 16子宏塊(以下也稱宏塊)。對于該圖像中的第一宏塊行MBR (n,k),其中,n表示圖像序號,k表示宏塊行序號,根據(jù)已載入的參考數(shù)據(jù), 進行運動估計,獲得第一宏塊行中每一個宏塊的運動矢量MV (j,k-l),對應的 水平和垂直運動矢量分別為MVX ( j,k-1)、 MVY(j,k-1),其中,k表示行數(shù)(這 里k為2), j表示一行中的宏塊數(shù),j的取值為正整數(shù)。
下面對本發(fā)明實施例二中步驟412進行詳細介紹,包括如下步驟
步驟S1、設置第一預測放大系數(shù)和預測余量值;
取第一預測放大系數(shù)L1為不小于1的放大系數(shù),取預測余量值L3為正整數(shù),設置第一預測放大系數(shù)和預測余量值用于適當增加預測長度,提高運動估 計的準確性。
步驟S2、根據(jù)當前圖像當前宏塊行的上一宏塊行中子宏塊的垂直運動矢量 獲取所述當前圖像當前宏塊行的上一宏塊行的正向最大垂直運動矢量值和負向
最大垂直運動矢量;
根據(jù)第一宏塊行中每一個宏塊的垂直運動矢量MVY (j, k-1 ),本發(fā)明實施例 采用循環(huán)處理的方法找出第一宏塊行中垂直運動矢量的正向最大值PMVYmax(n, k-l )和負向最大值NMVYmax (n, k-l ),其中,n表示圖像序號,k表示行數(shù), 這里n為1, k為2。
在第一宏塊行MBR (n,k-1 )中,從第一個宏塊(j-l )到最后一個宏塊循環(huán) 執(zhí)行以下處理
初始置PMVYmax (n, k-1 ) = PMVY ( j, k - 1 ),畫VYtnax(n, k-1 )=畫VY (j,k —1),其中,k=2;
該第一個宏塊右側下一個宏塊MB ( j + 1, k - 1 )的垂直運動矢量,正向記為 + PMV (j+l, k - 1 ),負向記為+麗(j+l, k - 1 )。
若PMV ( j+l, k - 1) 〉 PMVYmax ( n, k一l),則PMVYmax ( n, k—1) - PMVY (j + l,k - 1);
若NMV ( j+l, k — 1 ) 〉 NMVYmax ( n, k—l ),貝寸NMVYmax ( n, k—l ) = NMVY ( j + l,k-1),循環(huán)執(zhí)行上述比較的兩個步驟,直至對所述第一宏塊行中所有宏塊 處理完畢,找到第一宏塊行中垂直運動矢量的正向最大值PMVYmax (n, k-l )和 負向最大值NMVYmax (n, k-l),該循環(huán)處理方法無須存儲每一個宏塊的所述垂 直運動矢量,節(jié)省了存儲空間。
步驟S3、根據(jù)所述第一預測放大系數(shù)、預測余量值和所述正向最大垂直運動矢量,獲取所述正向垂直載入長度,所述正向垂直載入長度PLEN (n, k)為 PLEN (n, k) = L3+ PMVYmax (n, k-1 ) xLl,其中,n表示圖像序號,k表示 宏塊行序號,PLEN(n, k)表示為第n個圖像中第k宏塊行預測的正向垂直載 入長度,PMVYmax (n, k-l )表示第n個圖像第k-l宏塊行的正向最大垂直運動 矢量,Ll為第一預測放大系數(shù),L3為預測余量值;
步驟S4、根據(jù)所述第一預測放大系數(shù)、預測余量值和所述負向最大垂直運 動矢量,獲取所述負向垂直載入長度,所述負向垂直載入長度NLEN為NLEN(n, k) =13+羅¥丫!^)( (n, k-l) xLl,其中,n表示圖像序號,k表示宏塊行序號, NLEN(n, k)表示為第n個圖像中第k宏塊行預測的負向垂直載入長度,NMVYmax (n, k-l)表示第n個圖像第k-l宏塊行的正向最大垂直運動矢量,Ll為第一 預測放大系數(shù),L3為預測余量值。
本發(fā)明實施例對當前圖像中各宏塊行進行參考數(shù)據(jù)載入時,通過預測各宏 塊行的垂直載入長度,獲取所述垂直載入范圍,各宏塊行進行運動估計所需載 入的參考數(shù)據(jù)垂直范圍發(fā)生自適應的改變,有效減小了每一個宏塊行中每個宏 塊所需參考數(shù)據(jù)的載入范圍,從而,顯著減少了;f見頻編碼運動估計參考數(shù)據(jù)的
載入量,減小了視頻編碼系統(tǒng)總線和外存帶寬占用,降低了系統(tǒng)成本和功耗。 實施例三
在本發(fā)明實施例三中,如圖7所示,步驟41預測當前圖像當前宏塊行的垂 直載入長度具體包括
步驟413、根據(jù)當前圖像的前一圖像中與當前宏塊行位置相同的宏塊行中子
宏塊的垂直運動矢量預測當前圖像當前宏塊行的垂直載入長度,該步驟具體為 步驟T1、設置第二預測放大系數(shù)和預測余量值;
取第二預測放大系數(shù)L2為不小于1的放大系數(shù),預測余量值L3為正整數(shù)。步驟T2 、'根據(jù)當前圖像的前一圖像中與當前宏塊行位置相同的宏塊行中子 宏塊的垂直運動矢量獲取當前圖像的前一圖像中與當前宏塊行位置相同的宏塊
行的正向最大垂直運動矢量值和負向最大垂直運動矢量;
所述當前圖像的前一 圖像中與當前宏塊行位置相同的宏塊行中的各子宏 塊,根據(jù)已載入的參考數(shù)據(jù),已經(jīng)進行運動估計,各子宏塊的垂直運動矢量已
知,為簡化描述,這里每個宏塊僅劃分為一個16xl6子宏塊(以下也稱宏塊)。
采用與方法實施例二中相同的循環(huán)處理方法,獲取當前圖像的前一圖像中 與當前宏塊行位置相同的宏塊行的正向最大垂直運動矢量值PMVYmax (n-l, k) 和負向最大垂直運動矢量麗VYmax (n-l, k )。
步驟T3、根據(jù)所述第二預測放大系數(shù)、預測余量值和所述與所述當前宏塊 行位置相同的宏塊行的正向最大垂直運動矢量,獲取所述正向垂直載入長度, 所述正向垂直載入長度PLEN為PLEN (n, k) = L3+ PMVYmax (n-1, k) xL2, 其中,n表示圖像序號,k表示宏塊行序號,PLEN(n, k)表示為第n個圖像中 第k宏塊行預測的正向垂直載入長度,PMVYmax (n-l, k)表示第n-l個圖像第 k宏塊行的正向最大垂直運動矢量,L2為第二預測放大系數(shù),L3為預測余量值;
步驟T4、根據(jù)所述第二預測放大系數(shù)、預測余量值和所述與所述當前宏塊 行位置相同的宏塊行的負向最大垂直運動矢量,獲取所述負向垂直載入長度, 所述負向垂直載入長度NLEN為NLEN (n, k ) = L3+應VYmax ( n-1, k) xL2, 其中,n表示圖像序號,k表示宏塊行序號,NLEN(n, k)表示為第n個圖像中 第k宏塊行預測的負向垂直載入長度,麗VYmax(n-l, k)表示第n-l個圖像第 k宏塊行的負向最大垂直運動矢量,L2為第二預測放大系數(shù),L3為預測余量值。
本發(fā)明實施例對當前圖像中各宏塊行進行參考數(shù)據(jù)載入時,通過預測各宏 塊行的垂直載入長度,獲取所述垂直載入范圍,各宏塊行進行運動估計所需載入的參考數(shù)據(jù)垂直范圍發(fā)生自適應的改變,有效減小了每一個宏塊行中每個宏 塊所需參考數(shù)據(jù)的載入范圍,從而,顯著減少了視頻編碼運動估計參考數(shù)據(jù)的 載入量,減小了視頻編碼系統(tǒng)總線和外存帶寬占用,降低了系統(tǒng)成本和功耗。 實施例四
在本發(fā)明實施例四中,如圖8所示,步驟41預測當前圖像當前宏塊行的垂 直載入長度包括
步驟414、根據(jù)當前圖像當前宏塊行的上一宏塊行中子宏塊的垂直運動矢量 和當前圖像的前一圖像中與當前宏塊行位置相同的宏塊行中子宏塊的垂直運動 矢量預測當前圖像當前宏塊行的垂直載入長度,該步驟具體包括
步驟U1、設置第一預測放大系數(shù)、第二預測放大系數(shù)和預測余量值;
取第一預測放大系數(shù)L1和第二預測放大系數(shù)L2為不小于1的放大系數(shù), 取預測余量值L3為正整數(shù),設置第一預測放大系數(shù)、第二預測放大系數(shù)和預測 余量值用于適當增加預測長度,提高運動估計的準確性。
步驟U2、根據(jù)當前圖像當前宏塊行的上一宏塊行中子宏塊垂直運動矢量獲 取所述當前圖像當前宏塊行的上一宏塊行的正向最大垂直運動矢量值和負向最 大垂直運動矢量;
根據(jù)當前圖像的前一圖像中與當前宏塊行位置相同的宏塊行中子宏塊的垂 直運動矢量獲取當前圖像的前一圖像中與當前宏塊行位置相同的宏塊行的正向 最大垂直運動矢量值和負向最大垂直運動矢量;
該步驟可參見方法實施例二與三。
步驟U3、根據(jù)所述第一預測放大系數(shù)、第二預測放大系數(shù)、預測余量值和 所述上一宏塊行的正向最大垂直運動矢量及所述與所述當前宏塊行位置相同的 宏塊行的正向最大垂直運動矢量,獲取所述正向垂直載入長度,所述正向垂直載入長度PLEN(n, k)為:PLEN(n, k )= L3+max (PMVYmax( n, H ) x Ll, PMVYmax (n-l, k) xL2),其中,n表示圖像序號,k表示宏塊行序號,PLEN(n, k) 表示為第n個圖像中第k宏塊行預測的正向垂直載入長度,PMVYmax (n, k-l ) 表示第n個圖像第k-l宏塊行的正向最大垂直運動矢量,PMVYmax (n-l, k)表 示第n-l個圖像第k宏塊行的正向最大垂直運動矢量,Ll為第一預測放大系數(shù), L2為第二預測放大系數(shù),L3為預測余量值。
步驟U4、根據(jù)所述第一預測放大系數(shù)、第二預測放大系數(shù)、預測余量值和 所述上一宏塊行的負向最大垂直運動矢量及所述與所述當前宏塊行位置相同的 宏塊行的負向最大垂直運動矢量,獲取所述負向垂直載入長度,所述負向垂直 載入長度NLEN(n, k)為:NLEN(n, k ) = L3+max (NMVYmax( n, k-l ) xLl,匿Ymax (n-1, k) xL2), 其中,n表示圖像序號,k表示宏塊行序號,NLEN(n, k) 表示為第n個圖像中第k宏塊行預測的負向垂直載入長度,麗VYmax(n, k-l ) 表示第n個圖像第k-1宏塊行的負向最大垂直運動矢量,畫VYmax(n-1, k)表 示第n-1個圖像第k宏塊行的負向最大垂直運動矢量,Ll為第一預測放大系數(shù), L2為第二預測放大系數(shù),L3為預測余量值。
在本發(fā)明實施例中,預測的當前圖像當前宏塊行的垂直載入長度,根據(jù)不 同宏塊行所需參考數(shù)據(jù)的不同發(fā)生自適應改變,對不同宏塊行進行運動估計時 載入的參考爽據(jù)量也發(fā)生自適應改變,由于對一個宏塊行進行運動估計時載入 的參考數(shù)據(jù)不會再被相鄰宏塊行使用,本發(fā)明實施例通過對每一個宏塊行載入
參考數(shù)據(jù)量的控制,顯著減小了對圖像進行運動估計時參考數(shù)據(jù)的載入量。
本發(fā)明實施例還提供了 一種參考數(shù)據(jù)載入裝置,能夠顯著減小參考數(shù)據(jù)的 載入量。
一種參考數(shù)據(jù)載入裝置,如圖9所示,該裝置包括垂直載入長度預測單元91,用于預測當前圖像當前宏塊行的垂直載入長度;
垂直載入范圍獲取單元92,用于根據(jù)所述垂直載入長度預測單元91預測的 垂直載入長度,獲取所述當前圖像當前宏塊行的垂直載入范圍;
載入單元93,用于根據(jù)所述垂直載入范圍獲取單元92獲取的垂直載入范 圍,載入所述當前圖像當前宏塊行中每個宏塊運動估計所需要的參考數(shù)據(jù)。
本發(fā)明實施例對當前圖像當前宏塊行每個宏塊的運動估計進行參考數(shù)據(jù)的 載入時,針對當前圖像當前宏塊行,對載入?yún)⒖紨?shù)據(jù)垂直方向的長度進行預測, 獲取對當前宏塊行進行運動估計時,所需參考數(shù)據(jù)的垂直載入長度。對當前圖 像中每一個宏塊行采用相同的方法,獲取每一個宏塊行所需的垂直載入長度。
本發(fā)明實施例對當前圖像中各宏塊行進行參考數(shù)據(jù)載入時,通過預測的各宏塊 行的垂直載入長度,獲取所述垂直載入范圍,根據(jù)各宏塊行進行運動估計所需 載入的參考數(shù)據(jù)的不同,所述垂直載入范圍發(fā)生自適應的改變,有效減小了每 一個宏塊行參考數(shù)據(jù)的載入范圍,從而,顯著減少了參考數(shù)據(jù)的載入量,減小 了視頻編碼系統(tǒng)總線和外存帶寬占用,降低了系統(tǒng)成本和功耗。
下面對本發(fā)明實施例進行詳細介紹,在本發(fā)明裝置實施例中,所述垂直載 入范圍獲取單元92和載入單元93的工作原理相同,區(qū)別主要在所述垂直載入 長度預測單元91,所以在不同的裝置實施例中,主要對所述垂直載入長度預測 單元91進行介紹。
實施例一
如圖IO所示,本發(fā)明實施例一提供的垂直載入長度預測單元91包括 第一預測模塊911,用于根據(jù)當前圖像所屬的圖像組中已進行過運動估計的 子宏塊的垂直運動矢量預測所述當前圖像當前宏塊行的垂直載入長度。
對所有已進行過運動估計的宏塊,其所有子宏塊的垂直運動矢量是已知的。所述第一預測模塊911根據(jù)該已知的垂直運動矢量,可以采用多種方法預 測所述當前圖像當前宏塊行的垂直載入長度。在本發(fā)明實施例中,所迷第一預
測模塊911從前一宏塊行中按等宏塊間隔每個宏塊取第一個子宏塊,共獲取32 個垂直運動矢量,按同樣方式從前一圖像同位置宏塊行也獲取32個垂直運動矢 量,將所述64個垂直運動矢量分成正向(向下)和負向(向上)兩組,對每組 求平均值和方差,即得到正向垂直運動矢量平均值A和方差c^,負向垂直運 動矢量平均值A和方差 ,按3a準則來估計出本宏塊行正向和負向運動矢量 的最大值,即正向垂直載入長度PLEN和負向垂直載入長度NLEN,分別為(^ + 3 )和(// + 3 )。
本發(fā)明實施例對當前圖像中各宏塊行進行參考數(shù)據(jù)載入時,通過預測各宏 塊行的垂直載入長度,獲取所述垂直載入范圍,各宏塊行進行運動估計所需載 入的參考數(shù)據(jù)垂直范圍發(fā)生自適應的改變,有效減小了每一個宏塊行中每個宏 塊所需參考數(shù)據(jù)的載入范圍,從而,顯著減少了視頻編碼運動估計參考數(shù)據(jù)的
載入量,減小了視頻編碼系統(tǒng)總線和外存帶寬占用,降低了系統(tǒng)成本和功耗。 實施例二
如圖11所示,本發(fā)明實施例二提供的垂直載入長度預測單元91包括第
二預測模塊912,用于根據(jù)當前圖像當前宏塊行的上一宏塊行中子宏塊的垂直運
動矢量預測當前圖像當前宏塊行的垂直載入長度。 '所述第二預測模塊912包括
第二設置模塊9121,用于設置第一預測放大系數(shù)和預測余量值; 第二最大垂直運動矢量獲取模塊9122,用于根據(jù)當前圖像當前宏塊行的上
一宏塊行中子宏塊的垂直運動矢量獲取所述當前圖像當前宏塊行的上一宏塊行
的正向最大垂直運動矢量值和負向最大垂直運動矢量;第二正向垂直載入長度獲取模塊9123,用于根據(jù)所述第一預測放大系數(shù)、 預測余量值和所述正向最大垂直運動矢量,獲取所述正向垂直載入長度;
第二負向垂直栽入長度獲取模塊9124,用于根據(jù)所述第一預測放大系數(shù)、 預測余量值和所述負向最大垂直運動矢量,獲取所述負向垂直載入長度。
本發(fā)明實施例對當前圖像中各宏塊行進行參考數(shù)據(jù)載入時,通過預測各宏 塊行的垂直載入長度,獲取所述垂直載入范圍,各宏塊行進行運動估計所需載 入的參考數(shù)據(jù)垂直范圍發(fā)生自適應的改變,有效減小了每一個宏塊行中每個宏 塊所需參考數(shù)據(jù)的載入范圍,從而,顯著減少了視頻編碼運動估計參考數(shù)據(jù)的 載入量,減小了視頻編碼系統(tǒng)總線和外存帶寬占用,降低了系統(tǒng)成本和功耗。
實施例三
如圖12所示,本發(fā)明實施例三提供的垂直載入長度預測單元91包括第 三預測模塊913,用于根據(jù)當前圖像的前一 圖像中與當前宏塊行位置相同的宏塊 行中子宏塊的垂直運動矢量預測當前圖像當前宏塊行的垂直載入長度。
所述第三預測模塊913包括
第三設置模塊9131,用于設置第二預測放大系數(shù)和預測余量值; 第三最大垂直運動矢量獲取模塊9132,用于根據(jù)當前圖像的前一圖像中與 當前宏塊行位置相同的宏塊行中子宏塊的垂直運動矢量獲取當前圖像的前一圖 像中與當前宏塊行位置相同的宏塊行的正向最大垂直運動矢量值和負向最大垂 直運動矢量;
第三正向垂直載入長度獲取模塊9133,用于根據(jù)所述第二預測放大系數(shù)、 預測余量值和所述與所述當前宏塊行位置相同的宏塊行的正向最大垂直運動矢 量,獲取所述正向垂直載入長度;
第三負向垂直載入長度獲取模塊9134,用于根據(jù)所述第二預測放大系數(shù)、預測余量值和所述與所述當前宏塊行位置相同的宏塊行的負向最大垂直運動矢 量,獲取所述負向垂直載入長度。
本發(fā)明實施例對當前圖像中各宏塊行進行參考數(shù)據(jù)載入時,通過預測各宏 塊行的垂直載入長度,獲取所述垂直載入范圍,各宏塊行進行運動估計所需載 入的參考數(shù)據(jù)垂直范圍發(fā)生自適應的改變,有效減小了每一個宏塊行中每個宏 塊所需參考數(shù)據(jù)的載入范圍,從而,顯著減少了視頻編碼運動估計參考數(shù)據(jù)的 載入量,減小了視頻編碼系統(tǒng)總線和外存帶寬占用,降低了系統(tǒng)成本和功耗。
實施例四
如圖13所示,本發(fā)明實施例四提供的垂直載入長度預測單元91包括第 四預測模塊914,用于根據(jù)當前圖像當前宏塊行的上一宏塊行中子宏塊的垂直運 動矢量和當前圖像的前一圖像中與當前宏塊行位置相同的宏塊行中子宏塊的垂 直運動矢量預測當前圖像當前宏塊行的垂直載入長度。
所述第四預測^t塊914包括
第四設置模塊9141,用于設置第一預測放大系數(shù)、第二預測放大系數(shù)和預 測余量值;
第四最大垂直運動矢量獲取模塊9142,用于根據(jù)當前圖像當前宏塊行的上 一宏塊行中子宏塊垂直運動矢量獲取所述當前圖像當前宏塊行的上一宏塊行的 正向最大垂直運動矢量值和負向最大垂直運動矢量;并且,根據(jù)當前圖像的前 一圖像中與當前宏塊行位置相同的宏塊行中子宏塊的垂直運動矢量獲取當前圖 像的前一圖像中與當前宏塊行位置相同的宏塊行的正向最大垂直運動矢量值和 負向最大垂直運動矢量;
第四正向垂直載入長度獲取模塊9143,用于根據(jù)所述第一預測放大系數(shù)、 第二預測放大系數(shù)、預測余量值和所述上一宏塊行的正向最大垂直運動矢量及
27所述與所述當前宏塊行位置相同的宏塊行的正向最大垂直運動矢量,獲取所述 正向垂直載入長度;
第四負向垂直載入長度獲取模塊9144,用于根據(jù)所述第一預測放大系數(shù)、 第二預測放大系數(shù)、預測余量值和所述上一宏塊行的負向最大垂直運動矢量及 所述與所述當前宏塊行位置相同的宏塊行的負向最大垂直運動矢量,獲取所述 負向垂直載入長度。
本發(fā)明實施例對當前圖像中各宏塊行進行參考數(shù)據(jù)載入時,通過預測各宏 塊行的垂直載入長度,獲取所述垂直載入范圍,各宏塊行進行運動估計所需栽 入的參考數(shù)據(jù)垂直范圍發(fā)生自適應的改變,有效減小了每一個宏塊行中每個宏 塊所需參考數(shù)據(jù)的載入范圍,從而,顯著減少了視頻編碼運動估計參考數(shù)據(jù)的 載入量,減小了視頻編碼系統(tǒng)總線和外存帶寬占用,降低了系統(tǒng)成本和功耗。
本發(fā)明裝置實施例中各單元與模塊的具體工作方法,可參照本發(fā)明的方法 實施例,此處不再贅述。
本發(fā)明實施例還提供一種視頻編碼器,如圖14所示,該視頻編碼器包括
外部存儲器141,用于存儲當前圖像和參考圖像的數(shù)據(jù);
參考數(shù)據(jù)載入裝置142,用于預測當前圖像當前宏塊行的垂直載入長度,根 據(jù)所述垂直載入長度確定垂直載入范圍,根據(jù)所述垂直載入范圍和從編碼運動 估計處理單元接收的水平載入范圍信息,將當前圖像當前宏塊行的每個宏塊的 參考數(shù)據(jù)從所述外部存儲器141讀出,送入?yún)⒖紨?shù)據(jù)緩存器;
參考數(shù)據(jù)緩存器143,用于存儲由所述參考數(shù)據(jù)載入裝置142傳送的參考數(shù)
據(jù);
編碼運動估計處理單元144,用于讀入當前子宏塊數(shù)據(jù),根據(jù)所述參考數(shù)據(jù) 緩存器143中的參考數(shù)據(jù),對當前圖像當前宏塊行的每個宏塊的子宏塊進行運動估計,輸出所述子宏塊的垂直運動矢量和水平運動矢量。
如圖15所示,本發(fā)明實施例提供的視頻編碼器還包括運動估計控制單元 145,用于控制所述參考數(shù)據(jù)載入裝置142和編碼運動估計處理單元144。 如圖16所示,所述參考數(shù)據(jù)載入裝置142包括
垂直載入長度預測模塊1421,用于預測當前圖像當前宏塊行的垂直載入長
度;
垂直載入范圍獲取模塊1422,用于根據(jù)所述垂直載入長度獲取當前圖像當 前宏塊行的垂直載入范圍;
載入模塊1423,用于根據(jù)所述垂直載入范圍獲取模塊獲取的垂直載入范圍, 在傳送命令的控制下,將相應的參考數(shù)據(jù)從外部存儲器141讀出,送入?yún)⒖紨?shù) 據(jù)緩存器143。
如圖17所示,本發(fā)明實施例提供的所述參考數(shù)據(jù)載入裝置142還包括 載入控制模塊1424,用于根據(jù)所述垂直載入范圍獲取模塊獲取的垂直載入
范圍和從所述編碼運動估計處理單元144接收的水平載入范圍信息,輸出所述
傳送命令。
本發(fā)明實施例提供的視頻編碼器的典型實現(xiàn)形式是半導體芯片,包括數(shù)據(jù)電 路實現(xiàn)或處理器編程實現(xiàn),運動估計所需的參考圖像數(shù)據(jù)及當前圖像數(shù)據(jù)存儲 在外部存儲器141中,外部存儲器141 一般為同步隨機存儲器(Synchronous random access memory, SRAM)、 同步動態(tài)隨機存儲器(Synchronous Dynamic random access memory, SDRAM )、雙通道同步動態(tài)隨機存儲器(Double Date Rate Synchronous Dynamic Random Access Memory,腿SDRAM)或DDR2 SDRAM等。 本發(fā)明實施例對當前圖像當前宏塊行每個宏塊的運動估計進行參考數(shù)據(jù)的 載入時,針對當前圖像當前宏塊行,對載入?yún)⒖紨?shù)據(jù)垂直方向的長度進行預測,獲取對當前凌塊行進行運動估計時,所需參考數(shù)據(jù)的垂直載入長度。對當前圖 像中每一個宏塊行采用相同的方法,獲取每一個宏塊行所需的垂直載入長度。 本發(fā)明實施例對當前圖像中各宏塊行進行參考數(shù)據(jù)載入時,通過預測的各宏塊 行的垂直載入長度,獲取所述垂直載入范圍,各宏塊行進行運動估計所需載入 的參考數(shù)據(jù)的垂直載入范圍發(fā)生自適應的改變,有效減小了每一個宏塊行中每 個宏塊所需參考數(shù)據(jù)的載入范圍,從而,顯著減少了^L頻編碼運動估計參考數(shù) 據(jù)的載入量,減小了視頻編碼系統(tǒng)總線和外存帶寬占用,降低了系統(tǒng)成本和功耗。
本發(fā)明中所稱的圖像,對逐行掃描圖像為幀,對隔行掃描圖像根據(jù)編碼是
幀模式或場模式可以是幀或場。本發(fā)明思想同樣適用于任何幀間預測運動估計
情況,包括幀間預測P圖像、雙向預測(B)圖像、可伸縮編碼(SVC)中的幀 間預測、多-見編碼(Multi-view)幀間或3見間的運動估計。
通過程序來指令相關硬件完成。所述實施例對應的軟件可以存儲在一個計算機 可存儲讀取的介質中。
當然,本發(fā)明的實施例還可有很多種,在不背離本發(fā)明的實施例精神及其
和變形,但這些相應的改變和變形都應屬于本發(fā)明的實施例所附的權利要求的 保護范圍。
權利要求
1、一種參考數(shù)據(jù)載入方法,其特征在于,該方法包括預測當前圖像當前宏塊行的垂直載入長度;根據(jù)所述垂直載入長度獲取所述當前圖像當前宏塊行的垂直載入范圍;根據(jù)所述垂直載入范圍,載入所述當前圖像當前宏塊行中每個宏塊運動估計所需要的參考數(shù)據(jù)。
2、 根據(jù)權利要求1所述的參考數(shù)據(jù)載入方法,其特征在于,所述預測當前 圖像當前宏塊行的垂直載入長度的步驟包括根據(jù)當前圖像所屬的圖像組中已進行過運動估計的子宏塊的垂直運動矢量 預測所述當前圖像當前宏塊行的垂直載入長度。
3、 根據(jù)權利要求l所述的參考數(shù)據(jù)載入方法,其特征在于,所述預測當前 圖像當前宏塊行的垂直載入長度的步驟包括根據(jù)當前圖像當前宏塊行的上一宏塊行中子宏塊的垂直運動矢量預測當前 圖像當前宏塊行的垂直載入長度。
4、 根據(jù)權利要求l所述的參考數(shù)據(jù)載入方法,其特征在于,所述預測當前 圖像當前宏塊行的垂直載入長度的步驟包括根據(jù)當前圖像的前一圖像中與當前宏塊行位置相同的宏塊行中子宏塊的垂 直運動矢量預測當前圖像當前宏塊行的垂直載入長度。
5、 根據(jù)權利要求l所述的參考數(shù)據(jù)載入方法,其特征在于,所述預測當前 圖像當前宏塊行的垂直載入長度的步驟包括根據(jù)當前圖像當前宏塊行的上一宏塊行中子宏塊的垂直運動矢量和當前圖 像的前一 圖像中與當前宏塊行位置相同的宏塊行中子宏塊的垂直運動矢量預測 當前圖像當前宏塊行的垂直載入長度。
6、 根據(jù)權利要求3所述的參考數(shù)據(jù)載入方法,其特征在于,所述根據(jù)當前圖像當前宏塊行的上一宏塊行中子宏塊的垂直運動矢量預測當前圖像當前宏塊行的垂直載入長度的步驟包括設置第 一預測放大系數(shù)和預測余量值;根據(jù)當前圖像當前宏塊行的上一宏塊行中子宏塊的垂直運動矢量獲取所述 當前圖像當前宏塊行的上一宏塊行的正向最大垂直運動矢量值和負向最大垂直 運動矢量;根據(jù)所述第一預測放大系數(shù)、預測余量值和所述正向最大垂直運動矢量, 獲:f又所述正向垂直載入長度,所述正向垂直載入長度PLEN (n, k)為PLEN(n, k) =L3+PMVYmax (n, k-l ) xLl,其中,n表示圖像序號,k表示宏塊行序號, PLEN(n, k)表示為第n個圖像中第k宏塊行預測的正向垂直載入長度,PMVYmax (n, k-1)表示第n個圖像第k-l宏塊行的正向最大垂直運動矢量,Ll為第一 預測放大系數(shù),L3為預測余量值;根據(jù)所述第一預測放大系數(shù)、預測余量值和所述負向最大垂直運動矢量, 獲取所述負向垂直載入長度,所述負向垂直載入長度NLEN為NLEN(n, k)=L3+ NMVYmax (n, ,k-1 ) xLl,其中,n表示圖像序號,k表示宏塊行序號,NLEN(n, k)表示為第n個圖像中第k宏塊行預測的負向垂直載入長度,麗VYmax(n, k-1 ) 表示第n個圖像第k-l宏塊行的正向最大垂直運動矢量,Ll為第一預測放大系 數(shù),U為預測余量值。
7、根據(jù)權利要求4所述的參考數(shù)據(jù)載入方法,其特征在于,所述根據(jù)當前 圖像的前一圖像中與當前宏塊行位置相同的宏塊行中子宏塊的垂直運動矢量預 測當前圖像當前宏塊行的垂直載入長度的步驟包括設置第二預測放大系數(shù)和預測余量值;根據(jù)當前圖像的前一圖像中與當前宏塊行位置相同的宏塊行中子宏塊的垂直運動矢量獲取當前圖像的前一圖像中與當前宏塊行位置相同的宏塊行的正向最大垂直運動矢量值和負向最大垂直運動矢量;根據(jù)所述第二預測放大系數(shù)、預測余量值和所述與所述當前宏塊行位置相 同的宏塊行的正向最大垂直運動矢量,獲取所述正向垂直載入長度,所述正向 垂直載入長度PLEN為PLEN (n, k) = L3+ PMVYmax (n-l, k) xL2,其中,n 表示圖像序號,k表示宏塊行序號,PLEN(n, k)表示為第n個圖像中第k宏塊 行預測的正向垂直載入長度,PMVYmax (n-l, k)表示第n-l個圖像第k宏塊行 的正向最大垂直運動矢量,L2為第二預測放大系數(shù),L3為預測余量值;根據(jù)所述第二預測放大系數(shù)、預測余量值和所述與所述當前宏塊行位置相 同的宏塊行的負向最大垂直運動矢量,獲取所述負向垂直載入長度,所述負向 垂直載入長度NLEN為NLEN (n, k) = L3+ NMVYmax (n-l, k) xL2,其中,n 表示圖像序號,k表示宏塊行序號,NLEN(n, k )表示為第n個圖像中第k宏塊 行預測的負向垂直載入長度,麗VYmax(n-1, k )表示第n-1個圖像第k宏塊行 的負向最大垂直運動矢量,L2為第二預測放大系數(shù),L3為預測余量值。
8、根據(jù)權利要求5所述的參考數(shù)據(jù)載入方法,其特征在于,所述根據(jù)當前 圖像當前宏塊行的上一宏塊行中子宏塊的垂直運動矢量和當前圖像的前一圖像 中與當前宏塊行位置相同的宏塊行中子宏塊的垂直運動矢量預測當前圖像當前 宏塊行的垂直載入長度的步驟包括設置第一預測放大系數(shù)、第二預測放大系數(shù)和預測余量值;根據(jù)當前圖像當前宏塊行的上一宏塊行中子宏塊垂直運動矢量獲取所述當 前圖像當前宏塊行的上一宏塊行的正向最大垂直運動矢量值和負向最大垂直運 動矢量;根據(jù)當前圖像的前一 圖像中與當前宏塊行位置相同的宏塊行中子宏塊的垂直運動矢量獲取當前圖像的前一圖像中與當前宏塊行位置相同的宏塊行的正向最大垂直運動矢量值和負向最大垂直運動矢量;根據(jù)所述第一預測放大系數(shù)、第二預測放大系數(shù)、預測余量值和所述上一 宏塊行的正向最大垂直運動矢量及所述與所述當前宏塊行位置相同的宏塊行的 正向最大垂直運動矢量,獲取所述正向垂直載入長度,所述正向垂直載入長度 PLEN (n, k)為PLEN (n, k) = L3+ max (PMVYmax (n, k—1 ) x Ll, PMVYmax (n-l, k) xL2),其中,n表示圖像序號,k表示宏塊行序號,PLEN(n, k) 表示為第n個圖像中第k宏塊行預測的正向垂直載入長度,PMVYmax (n, k-l ) 表示第n個圖像第k-1宏塊行的正向最大垂直運動矢量,PMVYmax (n-1, k)表 示第n-l個圖像第k宏塊行的正向最大垂直運動矢量,Ll為第一預測放大系數(shù), L2為第二預測放大系數(shù),L3為預測余量值;根據(jù)所述第一預測放大系數(shù)、第二預測放大系數(shù)、預測余量值和所述上一 宏塊行的負向最大垂直運動矢量及所述與所述當前宏塊行位置相同的宏塊行的 負向最大垂直運動矢量,獲取所述負向垂直載入長度,所述負向垂直載入長度 NLEN(n, k)為NLEN(n, k ) = L3+max (麗VYmax ( n, k-1 ) x Ll,麗VYmax ( n-1 , k) xL2), 其中,n表示圖像序號,k表示宏塊行序號,NLEN(n, k)表示為 第n個圖像中第k宏塊行預測的負向垂直載入長度,麗VYmax(n, k-1 )表示第 n個圖像第k-l宏塊行的負向最大垂直運動矢量,麗VYmax(n-l, k )表示第n-l 個圖像第k宏塊行的負向最大垂直運動矢量,Ll為第一預測放大系數(shù),L2為第 二預測放大系數(shù),L3為預測余量值。
9、 一種參考數(shù)據(jù)載入裝置,其特征在于,該裝置包括 垂直載入長度預測單元,用于預測當前圖像當前宏塊行的垂直載入長度; 垂直載入范圍獲取單元,用于根據(jù)所述垂直載入長度預測單元預測的垂直載入長度,獲取所述當前圖像當前宏塊行的垂直載入范圍;載入單元,用于根據(jù)所述垂直載入范圍獲取單元獲取的垂直載入范圍,載 入所述當前圖像當前宏塊行中每個宏塊運動估計所需要的參考數(shù)據(jù)。
10、 根據(jù)權利要求9所述的參考數(shù)據(jù)載入裝置,其特征在于,所述垂直載 入長度預測單元包括第一預測模塊,用于根據(jù)當前圖像所屬的圖像組中已進行過運動估計的子 宏塊的垂直運動矢量預測所述當前圖像當前宏塊行的垂直載入長度。
11、 根據(jù)權利要求9所述的參考數(shù)據(jù)載入裝置,其特征在于,所述垂直載 入長度預測單元包括第二預測模塊,用于根據(jù)當前圖像當前宏塊行的上一宏塊行中子宏塊的垂 直運動矢量預測當前圖像當前宏塊行的垂直載入長度。
12、 根據(jù)權利要求9所述的參考數(shù)據(jù)載入裝置,其特征在于,所述垂直載 入長度預測單元包括第三預測模塊,用于根據(jù)當前圖像的前一圖像中與當前宏塊行位置相同的 宏塊行中子宏塊的垂直運動矢量預測當前圖像當前宏塊行的垂直載入長度。
13、 根據(jù)權利要求9所述的參考數(shù)據(jù)載入裝置,其特征在于,所述垂直載 入長度預測單元包括第四預測模塊,用于根據(jù)當前圖像當前宏塊行的上一宏塊行中子宏塊的垂 直運動矢量和當前圖像的前一圖像中與當前宏塊行位置相同的宏塊行中子宏塊 的垂直運動矢量預測當前圖像當前宏塊行的垂直載入長度。
14、 根據(jù)權利要求11所述的參考數(shù)據(jù)載入裝置,其特征在于,所述第二預 測模塊包括第二設置模塊,用于設置第一預測放大系數(shù)和預測余量值;第二最大垂直運動矢量獲取模塊,用于才艮據(jù)當前圖像當前宏塊行的上一宏 塊行中子宏塊的垂直運動矢量獲取所述當前圖像當前宏塊行的上一宏塊行的正 向最大垂直運動矢量值和負向最大垂直運動矢量;第二正向垂直載入長度獲取模塊,用于根據(jù)所述第一預測放大系數(shù)、預測余量值和所述正向最大垂直運動矢量,獲取所述正向垂直載入長度;第二負向垂直載入長度獲取模塊,用于根據(jù)所述第一預測放大系數(shù)、預測余量值和所述負向最大垂直運動矢量,獲取所述負向垂直載入長度。
15、 根揚權利要求U所述的參考數(shù)據(jù)載入裝置,其特征在于,所述第三預 測模塊包括第三設置模塊,用于設置第二預測放大系數(shù)和預測余量值; 第三最大垂直運動矢量獲取模塊,用于根據(jù)當前圖像的前一圖像中與當前 宏塊行位置相同的宏塊行中子宏塊的垂直運動矢量獲取當前圖像的前一圖像中 與當前宏塊行位置相同的宏塊行的正向最大垂直運動矢量值和負向最大垂直運 動矢量;第三正向垂直載入長度獲取模塊,用于根據(jù)所述第二預測放大系數(shù)、預測 余量值和所述與所述當前宏塊行位置相同的宏塊行的正向最大垂直運動矢量, 獲取所述正向垂直載入長度;第三負向垂直載入長度獲取模塊,用于根據(jù)所述第二預測放大系數(shù)、預測 余量值和所述與所述當前宏塊行位置相同的宏塊行的負向最大垂直運動矢量, 獲取所述負向垂直載入長度。
16、 根據(jù)權利要求13所述的參考數(shù)據(jù)載入裝置,其特征在于,所述第四預 測模塊包括第四設置模塊,用于設置第一預測放大系數(shù)、第二預測放大系數(shù)和預測余量值;第四最大垂直運動矢量獲取模塊,用于根據(jù)當前圖像當前宏塊行的上一宏 塊行中子宏塊垂直運動矢量獲取所述當前圖像當前宏塊行的上一宏塊行的正向最大垂直運動矢量值和負向最大垂直運動矢量;并且,根據(jù)當前圖像的前一圖像中與當前宏塊行位置相同的宏塊行中子宏塊的垂直運動矢量獲取當前圖像的 前一圖像中與當前宏塊行位置相同的宏塊行的正向最大垂直運動矢量值和負向最大垂直運動矢量;第四正向垂直載入長度獲取模塊,用于根據(jù)所述第一預測放大系數(shù)、第二 預測放大系數(shù)、預測余量值和所述上一宏塊行的正向最大垂直運動矢量及所述 與所述當前宏塊行位置相同的宏塊行的正向最大垂直運動矢量,獲取所述正向 垂直載入長度;第四負向垂直載入長度獲取模塊,用于根據(jù)所述第一預測放大系數(shù)、第二 預測放大系數(shù)、預測余量值和所述上一宏塊行的負向最大垂直運動矢量及所述 與所述當前宏塊行位置相同的宏塊行的負向最大垂直運動矢量,獲取所述負向 垂直載入長度。
17、 一種^L頻編碼器,其特征在于,包括外部存儲器,用于存儲當前圖像和參考圖像的數(shù)據(jù);參考數(shù)據(jù)載入裝置,用于預測當前圖像當前宏塊行的垂直載入長度,根據(jù) 所述垂直載入長度確定垂直載入范圍,4艮據(jù)所述垂直載入范圍和從編碼運動估 計處理單元接收的水平載入范圍信息,將當前圖像當前宏塊行的每個宏塊的參 考數(shù)據(jù)從所述外部存儲器讀出,送入?yún)⒖紨?shù)據(jù)緩存器;參考數(shù)據(jù)緩存器,用于存儲由所述參考數(shù)據(jù)載入裝置傳送的參考數(shù)據(jù);編碼運動估計處理單元,用于讀入當前子宏塊數(shù)據(jù),根據(jù)所述參考數(shù)據(jù)緩存器中的參考數(shù)據(jù),對當前圖像當前宏塊行的每個宏塊的子宏塊進行運動估計, 輸出所述子宏塊的垂直運動矢量和水平運動矢量。
18、 根據(jù)權利要求17所述的視頻編碼器,其特征在于,所述視頻編碼器還 包括運動估計控制單元,用于控制所述參考數(shù)據(jù)載入裝置和編碼運動估計處理 單元。
19、 根據(jù)權利要求17或18所述的視頻編碼器,其特征在于,所述參考數(shù) 據(jù)載入裝置包括垂直載入長度預測模塊,用于預測當前圖像當前宏塊行的垂直載入長度; 垂直載入范圍獲取模塊,用于根據(jù)所述垂直載入長度獲取當前圖像當前宏塊行的垂直載入范圍;載入模塊,用于根據(jù)所述垂直載入范圍獲取模塊獲取的垂直載入范圍,將相應的參考數(shù)據(jù)從外部存儲器讀出,送入?yún)⒖紨?shù)據(jù)緩存器。
20、 根據(jù)權利要求19所述的視頻編碼器,其特征在于,所述參考數(shù)據(jù)載入 裝置還包括載入控制模塊,用于根據(jù)所述垂直載入范圍獲取模塊獲取的垂直載入范圍和 從所述編碼運動估計處理單元接收的水平載入范圍信息,輸出所述傳送命令。
全文摘要
本發(fā)明公開了一種參考數(shù)據(jù)載入方法、裝置及視頻編碼器,涉及視頻編碼技術,解決了現(xiàn)有技術中因參考數(shù)據(jù)的載入量過多,占用的系統(tǒng)總線和外存帶寬過大,系統(tǒng)成本和功耗過高的問題。本發(fā)明實施例提供的參考數(shù)據(jù)載入方法包括預測當前圖像當前宏塊行的垂直載入長度;根據(jù)所述垂直載入長度獲取所述當前圖像當前宏塊行的垂直載入范圍;根據(jù)所述垂直載入范圍,載入所述當前圖像當前宏塊行中每個宏塊運動估計所需要的參考數(shù)據(jù)。
文檔編號H04N7/50GK101321288SQ20081011134
公開日2008年12月10日 申請日期2008年5月27日 優(yōu)先權日2008年5月27日
發(fā)明者孟新建 申請人:華為技術有限公司