圖像數(shù)據(jù)的處理方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種圖像數(shù)據(jù)的處理方法及裝置。其中,該方法包括:確定參考幀匹配塊的圖像的出界信息;根據(jù)出界信息從外部存儲器中獲取圖像未出界部分的圖像數(shù)據(jù);利用圖像未出界部分的圖像數(shù)據(jù)填充圖像出界部分的圖像。通過本發(fā)明,僅從外部存儲器中獲取圖像未出界部分的圖像數(shù)據(jù),減小了外部存儲器中獲取圖像數(shù)據(jù)的數(shù)據(jù)量,從而降低了圖像數(shù)據(jù)處理中運動補償對圖像處理系統(tǒng)的帶寬需求。
【專利說明】圖像數(shù)據(jù)的處理方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,具體而言,涉及一種圖像數(shù)據(jù)的處理方法及裝置。
【背景技術(shù)】
[0002]現(xiàn)有的視頻編解碼標準是以圖像宏塊或塊為基礎(chǔ)的算法實現(xiàn)的。在運動補償中,以圖像宏塊或塊為基礎(chǔ)在參考幀圖像中尋找最佳匹配塊,用來減少視頻序列中的空域冗余。在運動較劇烈圖像的運動補償計算中,得到的運動矢量有可能指向圖像之外,即部分數(shù)據(jù)實際不存在,在運動補償中需要用圖像的邊界像素對圖像外的像素做填充(padding)處理。
[0003]在相關(guān)技術(shù)中,對圖像外數(shù)據(jù)的填充處理包括兩種方式。一種是軟件方式,即軟件將圖像邊界的像素值拷貝到圖像外的部分,運動補償時讀取數(shù)據(jù)不需要做其他的處理,這種方式處理速度較慢,降低解碼效率。另外一種方式是硬件處理,通過單獨的填充模塊將圖像外的數(shù)據(jù)用邊界像素替換,這種方式需要耗費一定的硬件資源,控制流程也比較復(fù)雜。
[0004]針對相關(guān)技術(shù)中,圖像數(shù)據(jù)的處理速度較慢而降低解碼效率的問題;以及,圖像數(shù)據(jù)的處理耗費硬件資源和控制流程復(fù)雜的問題,目前尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0005]針對圖象處理中對數(shù)據(jù)帶寬的要求較高而影響視頻解碼的效率的問題;以及,圖像數(shù)據(jù)的處理耗費硬件資源和控制流程復(fù)雜的問題,本發(fā)明提供了一種圖像數(shù)據(jù)的處理方法及裝置,以至少解決上述問題之一。
[0006]根據(jù)本發(fā)明的一個方面,提供了一種圖像數(shù)據(jù)的處理方法,包括:確定參考幀匹配塊的圖像的出界信息;根據(jù)所述出界信息從外部存儲器中獲取所述圖像未出界部分的圖像數(shù)據(jù);利用所述圖像未出界部分的圖像數(shù)據(jù)填充所述圖像出界部分的圖像。
[0007]優(yōu)選地,根據(jù)所述出界信息從外部存儲器中獲取所述圖像未出界部分的圖像數(shù)據(jù),包括:根據(jù)所述出界信息直接從所述外部存儲器中讀取所述圖像未出界部分的圖像數(shù)據(jù)。
[0008]優(yōu)選地,根據(jù)所述出界信息從外部存儲器中獲取所述圖像未出界部分的圖像數(shù)據(jù),包括:向外部DMA模塊發(fā)送攜帶有所述出界信息的DMA請求;接收所述外部DMA根據(jù)所述出界信息從所述外部存儲器中讀取的所述圖像未出界部分的圖像數(shù)據(jù)。
[0009]優(yōu)選地,在所述圖像出界部分為水平方向的情況下,利用所述圖像未出界部分的圖像數(shù)據(jù)填充所述圖像出界部分的圖像,包括:在從外部存儲器中獲取所述圖像未出界部分的圖像數(shù)據(jù)時,利用所述圖像在水平方向的邊界部分的圖像數(shù)據(jù)對所述圖像出界部分的圖像進行水平方向填充;將進行水平方法填充后的所述圖像存儲至內(nèi)部存儲器。
[0010]優(yōu)選地,在所述圖像出界部分為垂直方向的情況下,利用所述圖像未出界部分的圖像數(shù)據(jù)填充所述圖像出界部分的圖像,包括:將獲取的所述圖像未出界部分的圖像數(shù)據(jù)存儲至內(nèi)部存儲器;利用所述圖像在垂直方向的邊界部分的圖像數(shù)據(jù)對所述圖像出界部分的圖像進行垂直方向填充,將進行垂直方向填充后的所述圖存儲至所述內(nèi)部存儲器。
[0011]優(yōu)選地,在所述圖像出界部分同時包括垂直方向和水平方向的情況下,利用所述圖像未出界部分的圖像數(shù)據(jù)填充所述圖像出界部分的圖像,包括:在從外部存儲器中獲取所述圖像未出界部分的圖像數(shù)據(jù)時,利用所述圖像在水平方向的邊界部分的圖像數(shù)據(jù)對所述圖像出界部分的圖像進行水平方向填充,將進行水平方法填充后的所述圖像存儲至內(nèi)部存儲器;利用進行水平填充后的所述圖像在垂直方向的邊界部分的圖像數(shù)據(jù)對所述圖像出界部分的圖像進行垂直方向填充,將進行垂直方向填充后的所述圖存儲至所述內(nèi)部存儲器。
[0012]優(yōu)選地,將進行水平方向填充后的所述圖像存儲至內(nèi)部存儲器之后,所述方法還包括:將進行水平填充后的所述圖像在垂直方向的邊界部分的圖像數(shù)據(jù)存儲至內(nèi)部緩存;利用進行水平填充后的所述圖像在垂直方向的邊界圖像數(shù)據(jù)對所述圖像出界部分的圖像進行垂直方向填充之前,所述方法還包括:從所述內(nèi)部緩存讀取所述進行水平填充后的所述圖像在垂直方向的邊界部分的圖像數(shù)據(jù)。
[0013]優(yōu)選地,確定參考幀匹配塊的圖像數(shù)據(jù)的出界數(shù)據(jù)的出界信息,包括:根據(jù)獲取的運動矢量和所述參考幀匹配塊的位置確定所述圖像出界;確定所述圖像的出界位置信息,其中,所述位置信息包括:水平出界和/或垂直出界;確定所述圖像未出界部分的圖像數(shù)據(jù)在所述外部存儲器中的位置。
[0014]優(yōu)選地,確定參考幀匹配塊的圖像的出界信息之前,還包括:獲取所述參考幀匹配塊的塊大小信息。
[0015]根據(jù)本發(fā)明的另一個方面,提供了一種圖像數(shù)據(jù)的處理裝置,包括:確定模塊,用于確定參考幀匹配塊的圖像的出界信息;獲取模塊,用于根據(jù)所述出界信息從外部存儲器中獲取所述圖像未出界部分的圖像數(shù)據(jù);填充模塊,用于利用所述圖像未出界部分的圖像數(shù)據(jù)填充所述圖像出界部分的圖像。
[0016]優(yōu)選地,所述獲取模塊按照以下方式從所述外部存儲器中獲取所述圖像未出界部分的圖像數(shù)據(jù):根據(jù)所述出界信息直接從所述外部存儲器中讀取所述圖像未出界部分的圖像數(shù)據(jù)。
[0017]優(yōu)選地,所述獲取模塊包括:發(fā)送單元,用于向外部DMA模塊發(fā)送攜帶有所述出界信息的DMA請求;接收單元,用于接收所述外部DMA根據(jù)所述出界信息從所述外部存儲器中讀取的所述圖像未出界部分的圖像數(shù)據(jù)。
[0018]優(yōu)選地,所述填充模塊包括:第一填充單元,用于在從外部存儲器中獲取所述圖像未出界部分的圖像數(shù)據(jù)時,利用所述圖像在水平方向的邊界部分的圖像數(shù)據(jù)對所述圖像出界部分的圖像進行水平方向填充;第一存儲單元,用于將進行水平填充后的所述圖像存儲至內(nèi)部存儲器。
[0019]優(yōu)選地,所述填充模塊包括:第二存儲單元,用于將獲取的所述圖像未出界部分的圖像數(shù)據(jù)存儲至內(nèi)部存儲器;第二填充單元,用于利用所述圖像在垂直方向的邊界部分的圖像數(shù)據(jù)對所述圖像出界部分的圖像進行垂直方向填充;所述第二存儲單元,還用于將進行垂直方向填充后的所述圖存儲至所述內(nèi)部存儲器。
[0020]優(yōu)選地,所述填充模塊包括:水平填充單元,用于在從外部存儲器中獲取所述圖像未出界部分的圖像數(shù)據(jù)時,利用所述圖像在水平方向的邊界部分的圖像數(shù)據(jù)對所述圖像出界部分的圖像進行水平方向填充;第三存儲單元,用于將進行水平填充后的所述圖像存儲至內(nèi)部存儲器;垂直填充單元,用于利用進行水平填充后的所述圖像在垂直方向的邊界部分的圖像數(shù)據(jù)對所述圖像出界部分的圖像進行垂直方向填充;所述第三存儲單元,還用于將進行垂直方向填充后的所述圖存儲至所述內(nèi)部存儲器。
[0021]優(yōu)選地,所述填充模塊還包括:第四存儲單元,用于將進行水平填充后的所述圖像在垂直方向的邊界圖像數(shù)據(jù)存儲至內(nèi)部緩存;讀取單元,用于從所述內(nèi)部緩存讀取所述進行水平填充后的所述圖像在垂直方向的邊界圖像數(shù)據(jù)。
[0022]通過本發(fā)明,確定參考幀匹配塊的圖像的出界信息后,根據(jù)出界信息從外部存儲器中獲取圖像未出界部分的圖像數(shù)據(jù),并利用圖像未出界部分的圖像數(shù)據(jù)填充圖像出界部分的圖像。僅從外部存儲器中獲取圖像未出界部分的圖像數(shù)據(jù),減小了外部存儲器中獲取圖像數(shù)據(jù)的數(shù)據(jù)量,從而降低了圖像數(shù)據(jù)處理中運動補償對圖像處理系統(tǒng)的帶寬需求。
【專利附圖】
【附圖說明】
[0023]此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當限定。在附圖中:
[0024]圖1是根據(jù)本發(fā)明實施例的圖像數(shù)據(jù)的處理方法的流程圖;
[0025]圖2是根據(jù)本發(fā)明實施例的圖像上邊界出界的示意圖;
[0026]圖3是根據(jù)本發(fā)明實施例的圖像下邊界出界的示意圖;
[0027]圖4是根據(jù)本發(fā)明實施例的圖像數(shù)據(jù)的處理裝置的示意圖;
[0028]圖5是根據(jù)本發(fā)明實施例一種優(yōu)選的圖像數(shù)據(jù)的處理裝置的示意圖;
[0029]圖6是根據(jù)本發(fā)明實施例一種優(yōu)選的填充模塊的示意圖;
[0030]圖7是根據(jù)本發(fā)明實施例另一種優(yōu)選的填充模塊的示意圖;
[0031]圖8是根據(jù)本發(fā)明實施例又一種優(yōu)選的填充模塊的示意圖;
[0032]圖9是根據(jù)本發(fā)明實施例再一種優(yōu)選的填充模塊的示意圖;
[0033]圖10是根據(jù)本發(fā)明實施例的運動補償裝置的示意圖;
[0034]圖11是根據(jù)本發(fā)明實施例的運動補償中出界像素填充的方法的流程示意圖;
[0035]圖12是根據(jù)本發(fā)明實施例的圖像上邊界出界情況下PADDING的示意圖;
[0036]圖13是根據(jù)本發(fā)明實施例的圖像下邊界出界情況下PADDING的示意圖。
【具體實施方式】
[0037]下文中將參考附圖并結(jié)合實施例來詳細說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。
[0038]實施例一
[0039]根據(jù)本發(fā)明實施例,提供了一種圖像數(shù)據(jù)的處理方法,降低了圖像數(shù)據(jù)處理中運動補償對圖像處理系統(tǒng)的帶寬需求。
[0040]圖1是根據(jù)本發(fā)明實施例的圖像數(shù)據(jù)的處理方法的流程圖,如圖1所示,該方法主要包括以下幾個步驟(步驟S102-步驟S106):
[0041]步驟S102,確定參考幀匹配塊的圖像的出界信息;
[0042]步驟S104,根據(jù)出界信息從外部存儲器中獲取圖像未出界部分的圖像數(shù)據(jù);[0043]步驟S106,利用圖像未出界部分的圖像數(shù)據(jù)填充圖像出界部分的圖像。
[0044]通過本發(fā)明實施例,確定參考幀匹配塊的圖像的出界信息后,根據(jù)出界信息從外部存儲器中獲取圖像未出界部分的圖像數(shù)據(jù),并利用圖像未出界部分的圖像數(shù)據(jù)填充圖像出界部分的圖像。僅從外部存儲器中獲取圖像未出界部分的圖像數(shù)據(jù),減小了外部存儲器中獲取圖像數(shù)據(jù)的數(shù)據(jù)量,從而降低了圖像數(shù)據(jù)處理中運動補償對圖像處理系統(tǒng)的帶寬需求。
[0045]在本發(fā)明實施例的一個優(yōu)選實施方式中,確定參考幀匹配塊的圖像的出界信息之前,還可以獲取參考幀匹配塊的塊大小信息,以支持各種視頻標準中的塊劃分,支持的圖像塊的大小從4x4到16x16等。
[0046]在本發(fā)明實施例中,確定參考幀匹配塊的圖像數(shù)據(jù)的出界數(shù)據(jù)的出界信息時,可以根據(jù)獲取的運動矢量和參考幀匹配塊的位置確定圖像出界,進一步的可以確定圖像的出界位置信息,該位置位置信息可以包括水平出界和/或垂直出界(即,圖像出界可以包括:水平方向的出界、垂直方向的出界,以及水平方向和垂直方向的出界),還可以確定圖像未出界部分的圖像數(shù)據(jù)在外部存儲器中的位置。
[0047]確定參考幀匹配塊的圖像出界后,可以從外部存儲器中獲取參考幀匹配塊的圖像未出界部分的圖像數(shù)據(jù),并對圖像出界部分的圖像數(shù)據(jù)進行運動補償處理。在本發(fā)明實施例的一個優(yōu)選實施方式中,根據(jù)出界信息從外部存儲器中獲取圖像未出界部分的圖像數(shù)據(jù)時,運動補償系統(tǒng)可以根據(jù)出界信息直接從外部存儲器中讀取圖像未出界部分的圖像數(shù)據(jù);或者,運動補償系統(tǒng)向外部DMA模塊發(fā)送攜帶有出界信息的DMA請求,并接收外部DMA根據(jù)出界信息從外部存儲器中讀取的圖像未出界部分的圖像數(shù)據(jù)。通過本發(fā)明實施例,靈活地實現(xiàn)了運動補償系統(tǒng)從外部存儲器獲取圖像未出界部分的圖像數(shù)據(jù)。
[0048]在圖像出界部分為水平方向的情況下,利用圖像未出界部分的圖像數(shù)據(jù)填充圖像出界部分的圖像時,可以直接在從外部存儲器中獲取圖像未出界部分的圖像數(shù)據(jù)時,利用圖像在水平方向的邊界部分的圖像數(shù)據(jù)對圖像出界部分的圖像進行水平方向填充,并將進行水平方法填充后的圖像存儲至內(nèi)部存儲器。例如,水平方向出界時,可以判斷出出界的像素的個數(shù),然后找到圖像最邊界的像素,用這個最邊界的像素將圖像外的像素填充。
[0049]在圖像出界部分為垂直方向的情況下,利用圖像未出界部分的圖像數(shù)據(jù)填充圖像出界部分的圖像時,可以將獲取的圖像未出界部分的圖像數(shù)據(jù)存儲至內(nèi)部存儲器,并利用圖像在垂直方向的邊界部分的圖像數(shù)據(jù)對圖像出界部分的圖像進行垂直方向填充,將進行垂直方向填充后的圖存儲至內(nèi)部存儲器。
[0050]在圖像出界部分同時包括垂直方向和水平方向的情況下,利用圖像未出界部分的圖像數(shù)據(jù)填充圖像出界部分的圖像時,可以先進行水平填充,后進行垂直填充。在本發(fā)明實施例的一個優(yōu)選實施方中,可以在從外部存儲器中獲取圖像未出界部分的圖像數(shù)據(jù)時,利用圖像在水平方向的邊界部分的圖像數(shù)據(jù)對圖像出界部分的圖像進行水平方向填充,并將進行水平方法填充后的圖像存儲至內(nèi)部存儲器;然后,利用進行水平填充后的圖像在垂直方向的邊界部分的圖像數(shù)據(jù)對圖像出界部分的圖像進行垂直方向填充,將進行垂直方向填充后的圖存儲至內(nèi)部存儲器。
[0051]進行水平填充后,圖像在垂直方向的邊界部分的圖像數(shù)據(jù)將發(fā)生變化,在進行垂直方向的填充時,需要從內(nèi)部存儲器中讀取進行水平填充后的圖像在垂直方向的邊界部分的圖像數(shù)據(jù),為了避免上述讀取處理影響處理性能,在本發(fā)明實施例的一個優(yōu)選實施方式中,將進行水平方法填充后的圖像存儲至內(nèi)部存儲器之后,可以將進行水平填充后的圖像在垂直方向的邊界部分的圖像數(shù)據(jù)存儲至內(nèi)部緩存。在利用進行水平填充后的圖像在垂直方向的邊界部分的圖像數(shù)據(jù)對圖像出界部分的圖像進行垂直方向填充時,可以先從內(nèi)部緩存讀取進行水平填充后的圖像在垂直方向的邊界圖像數(shù)據(jù)。
[0052]在具體實施過程中,圖像像素的填充可以分為X方向和Y方向,S卩,水平方向和垂直方向兩種。其中,X方向的填充可以將圖像未出界部分的最左或者最右邊界的像素進行水平方向的復(fù)制,然后存儲至內(nèi)部隨機存儲器(Random Access Memory,簡稱為RAM)中;Y方向的填充是將圖像未出界部分的最上或者最下邊界的像素進行垂直方向的復(fù)制。Y方向的圖像填充相對于X方向的圖像填充較為復(fù)雜,可以將Y方向最邊界的一行像素進行標記,同時將經(jīng)過X方向填充后的像素放到緩存(buffer)中,將垂直方向出界部分的圖像用buffer中的數(shù)據(jù)填充。具體的,可以計算圖像在水平方向和垂直方向的出界像素的范圍,然后將未出界的參考幀圖像像素從外部存儲器中讀取到運動補償系統(tǒng)中,先進行水平方向的填充,并將上邊界或者下邊界的像素緩存到內(nèi)部的寄存器中,然后對出界像素進行填充處理,將緩存的圖像數(shù)據(jù)存儲到內(nèi)部RAM的未填滿區(qū)域。
[0053]例如,匹配塊的大小為X*Y,尋找的匹配塊的圖像內(nèi)的大小為a*b,這樣在水平方向上出界的像素個數(shù)為(Χ-a)個,垂直方向上的出界像素個數(shù)為(Υ-b)個。可以利用二維DMA模塊將圖像內(nèi)的像素(即未出界的圖像數(shù)據(jù))從外部存儲器中讀出,共讀取b行,每行a個像素。若匹配塊為上邊出界,如圖2所示,則出界的行數(shù)為(Y-b)行,進行運動補償時,讀取數(shù)據(jù)的同時將第O行至b-Ι行數(shù)據(jù)放到內(nèi)部RAM的Y-b行至Y-1行中,同時將第O行的數(shù)據(jù)存放到內(nèi)部寄存器中,并將第O行的數(shù)據(jù)填充到RAM的第O行至Υ-b-l行中。若圖像匹配塊為下邊出界,如圖3所示,出界的行數(shù)為(Y-b)行,進行運動補償時,將第O行至b-1行數(shù)據(jù)放到內(nèi)部RAM的第O行至b-Ι行中,再將b-Ι行的圖像數(shù)據(jù)填充到RAM的b行至Y-1行。
[0054]圖像有巾貞和場兩種方式,一巾貞圖像可以由頂場和底場組成,兩場圖像分開解碼,最后組成一幀圖像數(shù)據(jù)。在本發(fā)明實施例中,可以支持各種視頻標準中的塊劃分,支持的圖像塊的大小從4x4到16x16等,同時支持場模式。
[0055]在垂直方向上出界情況下,可以在不同的塊劃分下標識最邊界的一行像素,并將該行像素存放到內(nèi)部緩存中,進行運動補償時,將內(nèi)部緩存中存儲的最邊界一行數(shù)據(jù)填充到數(shù)據(jù)RAM中。
[0056]根據(jù)本發(fā)明實施例,還提供了 一種圖像數(shù)據(jù)的處理裝置,用以實現(xiàn)本發(fā)明上述實施例提供的圖像數(shù)據(jù)的處理方法。
[0057]圖4是根據(jù)本發(fā)明實施例的圖像數(shù)據(jù)的處理裝置的示意圖,如圖4所示,該裝置主要包括:確定模塊10、獲取模塊20和填充模塊30。其中,確定模塊10,用于確定參考幀匹配塊的圖像的出界信息;獲取模塊20,與確定模塊10相耦合,用于根據(jù)出界信息從外部存儲器中獲取圖像未出界部分的圖像數(shù)據(jù);填充模塊30,與獲取模塊20相耦合,用于利用圖像未出界部分的圖像數(shù)據(jù)填充圖像出界部分的圖像。
[0058]通過本發(fā)明實施例,確定模塊10確定參考幀匹配塊的圖像的出界信息后,獲取模塊20根據(jù)出界信息從外部存儲器中獲取圖像未出界部分的圖像數(shù)據(jù),并由填充模塊30利用圖像未出界部分的圖像數(shù)據(jù)填充圖像出界部分的圖像。獲取模塊20僅從外部存儲器中獲取圖像未出界部分的圖像數(shù)據(jù),減小了外部存儲器中獲取圖像數(shù)據(jù)的數(shù)據(jù)量,從而降低了圖像數(shù)據(jù)處理中運動補償對圖像處理系統(tǒng)的帶寬需求。
[0059]在本發(fā)明實施例的一個優(yōu)選實施方式中,獲取模塊20根據(jù)出界信息從外部存儲器中獲取圖像未出界部分的圖像數(shù)據(jù)時,可以根據(jù)出界信息直接從外部存儲器中讀取圖像未出界部分的圖像數(shù)據(jù)。或者,在如圖5所示的裝置中,獲取模塊20可以包括:發(fā)送單元202,用于向外部DMA模塊發(fā)送攜帶有出界信息的DMA請求;接收單元204,與發(fā)送單元202相耦合,用于接收外部DMA根據(jù)出界信息從\外部存儲器中讀取的圖像未出界部分的圖像數(shù)據(jù)。通過本發(fā)明實施例,靈活地實現(xiàn)了獲取模塊20從外部存儲器獲取圖像未出界部分的圖像數(shù)據(jù)。
[0060]在本發(fā)明實施例中,確定參考幀匹配塊的圖像數(shù)據(jù)的出界數(shù)據(jù)的出界信息時,可以根據(jù)獲取的運動矢量和參考幀匹配塊的位置確定圖像出界,進一步的可以確定圖像的出界位置信息,該位置位置信息可以包括水平出界和/或垂直出界,還可以確定圖像未出界部分的圖像數(shù)據(jù)在外部存儲器中的位置。出界位置可以包括:水平出界和/或垂直出界。
[0061]在圖像出界部分為水平方向的情況下,填充模塊30利用圖像未出界部分的圖像數(shù)據(jù)填充圖像出界部分的圖像時,可以直接在從外部存儲器中獲取圖像未出界部分的圖像數(shù)據(jù)時。并由填充模塊30利用圖像在水平方向的邊界部分的圖像數(shù)據(jù)對圖像出界部分的圖像進行水平方向填充,并將進行水平方法填充后的圖像存儲至內(nèi)部存儲器。因此,在如圖
6所示的裝置中,填充模塊30可以包括:第一填充單元302,用于在從外部存儲器中獲取圖像未出界部分的圖像數(shù)據(jù)時,利用圖像在水平方向的邊界部分的圖像數(shù)據(jù)對圖像出界部分的圖像進行水平方向填充;第一存儲單元304,與第一填充單元302相耦合,用于將進行水平填充后的所述圖像存儲至內(nèi)部存儲器。
[0062]在圖像出界部分為垂直方向的情況下,填充模塊30利用圖像未出界部分的圖像數(shù)據(jù)填充圖像出界部分的圖像時,可以將獲取的圖像未出界部分的圖像數(shù)據(jù)存儲至內(nèi)部存儲器,并利用圖像在垂直方向的邊界部分的圖像數(shù)據(jù)對圖像出界部分的圖像進行垂直方向填充,將進行垂直方向填充后的圖存儲至內(nèi)部存儲器。因此,在如圖7所示的裝置中,填充模塊30可以包括:第二存儲單元306,用于將獲取的\圖像未出界部分的圖像數(shù)據(jù)存儲至內(nèi)部存儲器;第二填充單元308,與第二存儲單元306相耦合,用于利用圖像在垂直方向的邊界部分的圖像數(shù)據(jù)對圖像出界部分的圖像進行垂直方向填充。并由第二存儲單元306將進行垂直方向填充后的圖存儲至內(nèi)部存儲器。
[0063]在圖像出界部分同時包括垂直方向和水平方向的情況下,利用圖像未出界部分的圖像數(shù)據(jù)填充圖像出界部分的圖像時,可以先進行水平填充,后進行垂直填充。在本發(fā)明實施例的一個優(yōu)選實施方中,如圖8所示,填充模塊30可以包括:水平填充單元310,用于在從外部存儲器中獲取圖像未出界部分的圖像數(shù)據(jù)時,利用圖像在水平方向的邊界部分的圖像數(shù)據(jù)對圖像出界部分的圖像進行水平方向填充;第三存儲單元312,用于將進行水平填充后的圖像存儲至內(nèi)部存儲器;垂直填充單元314,用于利用進行水平填充后的圖像在垂直方向的邊界部分的圖像數(shù)據(jù)對圖像出界部分的圖像進行垂直方向填充。并由第三存儲單元312將進行垂直方向填充后的圖存儲至內(nèi)部存儲器。
[0064]進行水平填充后,圖像在垂直方向的邊界部分的圖像數(shù)據(jù)將發(fā)生變化,在進行垂直方向的填充時,需要從內(nèi)部存儲器中讀取進行水平填充后的圖像在垂直方向的邊界部分的圖像數(shù)據(jù),為了避免上述讀取處理影響處理性能,在本發(fā)明實施例的一個優(yōu)選實施方式中,如圖9所示,填充模塊30可以還包括:第四存儲單元316,與水平填充單元310相耦合,用于將進行水平填充后的圖像在垂直方向的邊界圖像數(shù)據(jù)存儲至內(nèi)部緩存;讀取單元318,與垂直填充單元314相耦合,用于從內(nèi)部緩存讀取進行水平填充后的圖像在垂直方向的邊界圖像數(shù)據(jù)。
[0065]在本發(fā)明實施例的一個優(yōu)選實施方式中,確定參考幀匹配塊的圖像的出界信息之前,還可以獲取參考幀匹配塊的塊大小信息,以支持各種視頻標準中的塊劃分,支持的圖像塊的大小從4x4到16x16等。
[0066]實施例二
[0067]根據(jù)本發(fā)明實施例,提供了一種運動補償中出界像素填充的方法,可以應(yīng)用在視頻編解碼標準中。如果運動補償模塊在讀取的參考幀匹配塊圖像數(shù)據(jù)出界時,運動補償裝置從外部memory中只讀取圖像內(nèi)的有效數(shù)據(jù),然后在運動補償裝置內(nèi)部用圖像內(nèi)像素向外部進行padding,有效地減少對外部memory的帶寬需求。
[0068]在如圖10所示的運動補償裝置中,主要包括:預(yù)處理模塊40、DMA模塊50和PADDING模塊60。其中,預(yù)處理模塊40相當于上述確定模塊10,用于根據(jù)輸入的運動矢量和宏塊所在位置,計算圖像是否出界,以及在圖像出界時出界的像素個數(shù)和其他出界的情況。DMA模塊(內(nèi)部)50相當于上述獲取模塊20,用于根據(jù)計算的最邊界像素的在外部memory的存儲位置向外部DMA模塊發(fā)起DMA請求,由外部DMA模塊將圖像內(nèi)的數(shù)據(jù)從外部DMA模塊搬移到運動補償裝置。PADDING模塊60相當于上述填充模塊30,用于在讀取數(shù)據(jù)的同時根據(jù)水平方向的出界情況,同時進行水平方向的填充,水平方向的填充和數(shù)據(jù)的放置是同時進行的。待圖像內(nèi)的數(shù)據(jù)行都放置到內(nèi)部RAM中后,如果存在垂直出界,PADDING模塊60還用于進行垂直行的數(shù)據(jù)padding。
[0069]圖像有幀和場兩種方式,一幀圖像可以由頂場和底場組成,兩場圖像分開解碼,最后組成一幀圖像數(shù)據(jù)。在本發(fā)明實施例中,運動補償裝置支持的圖像塊的大小從4x4到16x16等,。塊大小信息可以視頻在碼流中獲取,根據(jù)獲知的塊大小,進行與塊大小對應(yīng)的處理。在本發(fā)明實施中,還支持場模式。
[0070]在垂直方向上出界情況下,可以在不同的塊劃分下標識最邊界的一行像素,并將該行像素存放到數(shù)據(jù)buffer中,進行運動補償時,將數(shù)據(jù)buffer中緩存的最邊界一行數(shù)據(jù)填充到數(shù)據(jù)RAM中。
[0071]進行運動補償處理時,可以根據(jù)運動矢量和當前塊的位置計算出在水平方向和垂直方向的出界像素數(shù)目,同時確定是上出界、下出界、左出界或者右出界的情況。并計算出最邊界像素的在外部memory的存儲位置。通過內(nèi)部DMA獲取參照幀數(shù)據(jù)。若是左出界或者右出界,就要進行水平方向的出界像素的padding操作。若左出界,將最左邊的像素進行padding,并將padding后的像素數(shù)據(jù)放到RAM或者buffer中。若是右出界,貝U需將最右邊的像素做padding處理。上出界或者下出界需要做垂直方向的出界像素的padding。此時需要根據(jù)垂直方向上出界的行數(shù),確定垂直方向上最邊界的一行圖像數(shù)據(jù),并將數(shù)據(jù)放置到內(nèi)部buffer中。將其他的圖像內(nèi)的數(shù)據(jù)放到內(nèi)部RAM中。在上邊界的padding過程中,涉及到RAM addr的wrap操作。地址需要繞回到出界的地址位置將buffer中的數(shù)據(jù)填充進去。
[0072]下面結(jié)合圖11對本發(fā)明實施例的運動補償中出界像素填充的方法進行描述,圖11示出了運動補償中參考幀匹配塊出界像素padding的方法的處理流程。
[0073]如圖11所示,首先判斷獲取參考塊數(shù)據(jù)是否出界,若不出界,則將從外部讀取的數(shù)據(jù)直接按照讀取的順序放到內(nèi)部RAM中,提供給后續(xù)的插值模塊使用。若出界,則根據(jù)不同的情況做不同的處理。
[0074]在只有左邊或者右邊出界的情況下,只需要根據(jù)出界的像素個數(shù),找出最邊界的像素進行水平復(fù)制,放到內(nèi)部的RAM中即可。在其他的情況下,需要進行垂直方向的padding操作,如果存在左邊或者右邊出界,還需要先進行水平的padding,未出界的部分用水平padding后的數(shù)據(jù)填充,如果是最邊界的像素還可以進行緩存,圖像外的數(shù)據(jù)直接用緩存buffer的數(shù)據(jù)填充到RAM中。
[0075]上邊界和下邊界的padding處理有所不同。如圖12所示的8?15行是圖像內(nèi)像素,(Γ7行為圖像外像素,需要進行padding,(Γ7行部分的數(shù)據(jù)需要用第8行的數(shù)據(jù)填充,填充的順序如12圖中左邊的編號所示。如圖12所示,首先填充圖像內(nèi)的像素行,同時將最邊界的一行像素保存,然后將填充地址繞回,將第8行的數(shù)據(jù)填充到第O行至第7行。如圖13所示,圖像匹配塊的下邊像素出界,(Γ7行數(shù)據(jù)為圖像內(nèi)像素,第8行是最邊界的像素行,填充的地址和數(shù)據(jù)行號一致,但需要將第8行數(shù)據(jù)緩存,然后順序填充到RAM中。
[0076]通過本發(fā)明實施例,可以支持各種視頻標準中的4*4到16*16的塊劃分方式,進行運動補償時,只讀取圖像內(nèi)的像素數(shù)據(jù),不額外的讀取不需要的數(shù)據(jù),有效地節(jié)省了帶寬。只添加一行數(shù)據(jù)buffer等很少的資源,硬件的占用比較少,相對于相關(guān)技術(shù)在效率上有很大的改善。
`[0077]從以上的描述中,可以看出,本發(fā)明實現(xiàn)了如下技術(shù)效果:確定參考幀匹配塊的圖像的出界信息后,根據(jù)出界信息從外部存儲器中獲取圖像未出界部分的圖像數(shù)據(jù),并利用圖像未出界部分的圖像數(shù)據(jù)填充圖像出界部分的圖像。進行運動補償時,只讀取圖像內(nèi)的像素數(shù)據(jù),不額外的讀取不需要的數(shù)據(jù),有效地節(jié)省了帶寬。同時,只添加一行數(shù)據(jù)buffer等很少的資源,硬件的占用比較少,相對于相關(guān)技術(shù)在效率上有很大的改善。
[0078]顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
[0079]以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種圖像數(shù)據(jù)的處理方法,其特征在于,包括: 確定參考幀匹配塊的圖像的出界信息; 根據(jù)所述出界信息從外部存儲器中獲取所述圖像未出界部分的圖像數(shù)據(jù); 利用所述圖像未出界部分的圖像數(shù)據(jù)填充所述圖像出界部分的圖像。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,根據(jù)所述出界信息從外部存儲器中獲取所述圖像未出界部分的圖像數(shù)據(jù),包括: 根據(jù)所述出界信息直接從所述外部存儲器中讀取所述圖像未出界部分的圖像數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,根據(jù)所述出界信息從外部存儲器中獲取所述圖像未出界部分的圖像數(shù)據(jù),包括: 向外部DMA模塊發(fā)送攜帶有所述出界信息的DMA請求; 接收所述外部DMA根據(jù)所述出界信息從所述外部存儲器中讀取的所述圖像未出界部分的圖像數(shù)據(jù)。
4.根據(jù)權(quán)利要求1至3中任一項所述的方法,其特征在于,在所述圖像出界部分為水平方向的情況下,利用所述圖像未出界部分的圖像數(shù)據(jù)填充所述圖像出界部分的圖像,包括: 在從外部存儲器中獲取所述圖像未出界部分的圖像數(shù)據(jù)時,利用所述圖像在水平方向的邊界部分的圖像數(shù)據(jù)對所述圖像出界部分的圖像進行水平方向填充;` 將進行水平方法填充后的所述圖像存儲至內(nèi)部存儲器。
5.根據(jù)權(quán)利要求1至3中任一項所述的方法,其特征在于,在所述圖像出界部分為垂直方向的情況下,利用所述圖像未出界部分的圖像數(shù)據(jù)填充所述圖像出界部分的圖像,包括: 將獲取的所述圖像未出界部分的圖像數(shù)據(jù)存儲至內(nèi)部存儲器; 利用所述圖像在垂直方向的邊界部分的圖像數(shù)據(jù)對所述圖像出界部分的圖像進行垂直方向填充,將進行垂直方向填充后的所述圖存儲至所述內(nèi)部存儲器。
6.根據(jù)權(quán)利要求1至3中任一項所述的方法,其特征在于,在所述圖像出界部分同時包括垂直方向和水平方向的情況下,利用所述圖像未出界部分的圖像數(shù)據(jù)填充所述圖像出界部分的圖像,包括: 在從外部存儲器中獲取所述圖像未出界部分的圖像數(shù)據(jù)時,利用所述圖像在水平方向的邊界部分的圖像數(shù)據(jù)對所述圖像出界部分的圖像進行水平方向填充,將進行水平方法填充后的所述圖像存儲至內(nèi)部存儲器; 利用進行水平填充后的所述圖像在垂直方向的邊界部分的圖像數(shù)據(jù)對所述圖像出界部分的圖像進行垂直方向填充,將進行垂直方向填充后的所述圖存儲至所述內(nèi)部存儲器。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于, 將進行水平方向填充后的所述圖像存儲至內(nèi)部存儲器之后,所述方法還包括:將進行水平填充后的所述圖像在垂直方向的邊界部分的圖像數(shù)據(jù)存儲至內(nèi)部緩存; 利用進行水平填充后的所述圖像在垂直方向的邊界圖像數(shù)據(jù)對所述圖像出界部分的圖像進行垂直方向填充之前,所述方法還包括:從所述內(nèi)部緩存讀取所述進行水平填充后的所述圖像在垂直方向的邊界部分的圖像數(shù)據(jù)。
8.根據(jù)權(quán)利要求1至3中任一項所述的方法,其特征在于,確定參考幀匹配塊的圖像數(shù)據(jù)的出界數(shù)據(jù)的出界信息,包括: 根據(jù)獲取的運動矢量和所述參考幀匹配塊的位置確定所述圖像出界; 確定所述圖像的出界位置信息,其中,所述位置信息包括:水平出界和/或垂直出界; 確定所述圖像未出界部分的圖像數(shù)據(jù)在所述外部存儲器中的位置。
9.根據(jù)權(quán)利要求1至3中任一項所述的方法,其特征在于,確定參考幀匹配塊的圖像的出界信息之前,還包括: 獲取所述參考幀匹配塊的塊大小信息。
10.一種圖像數(shù)據(jù)的處理裝置,其特征在于,包括: 確定模塊,用于確定參考幀匹配塊的圖像的出界信息; 獲取模塊,用于根據(jù)所述出界信息從外部存儲器中獲取所述圖像未出界部分的圖像數(shù)據(jù); 填充模塊,用于利用所述圖像未出界部分的圖像數(shù)據(jù)填充所述圖像出界部分的圖像。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述獲取模塊按照以下方式從所述外部存儲器中獲取所述圖像未出界部分的圖像數(shù)據(jù): 根據(jù)所述出界信息直接從所述外部存儲器中讀取所述圖像未出界部分的圖像數(shù)據(jù)。
12.根據(jù)權(quán)利要求10所述 的裝置,其特征在于,所述獲取模塊包括: 發(fā)送單元,用于向外部DMA模塊發(fā)送攜帶有所述出界信息的DMA請求; 接收單元,用于接收所述外部DMA根據(jù)所述出界信息從所述外部存儲器中讀取的所述圖像未出界部分的圖像數(shù)據(jù)。
13.根據(jù)權(quán)利要求10至12中任一項所述的裝置,其特征在于,所述填充模塊包括: 第一填充單元,用于在從外部存儲器中獲取所述圖像未出界部分的圖像數(shù)據(jù)時,利用所述圖像在水平方向的邊界部分的圖像數(shù)據(jù)對所述圖像出界部分的圖像進行水平方向填充; 第一存儲單元,用于將進行水平填充后的所述圖像存儲至內(nèi)部存儲器。
14.根據(jù)權(quán)利要求10至12中任一項所述的裝置,其特征在于,所述填充模塊包括: 第二存儲單元,用于將獲取的所述圖像未出界部分的圖像數(shù)據(jù)存儲至內(nèi)部存儲器; 第二填充單元,用于利用所述圖像在垂直方向的邊界部分的圖像數(shù)據(jù)對所述圖像出界部分的圖像進行垂直方向填充;所述第二存儲單元,還用于將進行垂直方向填充后的所述圖存儲至所述內(nèi)部存儲器。
15.根據(jù)權(quán)利要求10至12中任一項所述的裝置,其特征在于,所述填充模塊包括: 水平填充單元,用于在從外部存儲器中獲取所述圖像未出界部分的圖像數(shù)據(jù)時,利用所述圖像在水平方向的邊界部分的圖像數(shù)據(jù)對所述圖像出界部分的圖像進行水平方向填充; 第三存儲單元,用于將進行水平填充后的所述圖像存儲至內(nèi)部存儲器; 垂直填充單元,用于利用進行水平填充后的所述圖像在垂直方向的邊界部分的圖像數(shù)據(jù)對所述圖像出界部分的圖像進行垂直方向填充; 所述第三存儲單元,還用于將進行垂直方向填充后的所述圖存儲至所述內(nèi)部存儲器。
16.根據(jù)權(quán)利要求15所述的裝置,其特征在于,所述填充模塊還包括: 第四存儲單元,用于將進行水平填充后的所述圖像在垂直方向的邊界圖像數(shù)據(jù)存儲至內(nèi)部緩存; 讀取單元,用于從所述內(nèi)部緩存讀取所述進行水平填充后的所述圖像在垂直方向的邊界圖像數(shù)據(jù)?!?br>
【文檔編號】H04N7/24GK103428482SQ201210150164
【公開日】2013年12月4日 申請日期:2012年5月15日 優(yōu)先權(quán)日:2012年5月15日
【發(fā)明者】高崇興 申請人:中興通訊股份有限公司