專利名稱:影像解碼方法
技術領域:
本項發(fā)明中涉及影像解碼方法。
背景技術:
現在,動影像壓縮方法中,為了對宏塊進行編碼,從已經被編碼的之前幀中搜尋與現在宏塊類似的部分,并且將該位置進行傳送;就是通過對將該部分和現在宏塊之間差異進行編碼的方法提高壓縮率。
MPEG(Moving Picture Experts Group)2的視頻編碼中,以16×16大小的宏塊單位進行動態(tài)向量處理,而MPEG4 Part2的視頻編碼中,則使用8×8大小宏塊單位的動態(tài)向量。
再者,MPEG4 Part10的狀況時,將一個宏塊最多分割為16個4×4模塊,并且采取與之相應的利用動態(tài)向量進行處理的方法。
這樣分配動態(tài)向量的模塊大小越小,相差的數據大小就越小,因此可以提高壓縮效率。
但,隨著模塊大小的縮小,相比之下動態(tài)向量的個數就會增多;而且傳送過來的模塊大小越小,與存儲器接近的次數也就越來越多。
圖1是普通MPEG用視頻解碼器概略構成模塊圖,其結構如下對已被壓縮的比特幀進行可調長度解碼處理,將其分割為動態(tài)向量、量子化值和DCT(Discrete Cosine Transform)系數的VLD(VariableLength Decoder)10;對上述VLD10中分離出的DCT系數進行逆量子化(Inverse Quantized)處理的逆量子化裝置20;對在上述逆量子化裝置20中被逆量子化處理的DCT系數進行逆離散余弦轉換(InverseDiscrete Cosine Transform)處理的IDCT30;利用從上述VLD10中提取到的動態(tài)向量,進行動態(tài)補償的動態(tài)補償裝置50;將在上述IDCT30中被逆離散余弦轉換處理的數據和在上述動態(tài)補償裝置50中被補償的數據相加,并且輸出以解碼影像的加法器40。
具備上述結構的MPEG用視頻解碼器,已壓縮比特幀在VLD10中進行可調長度解碼,被分解為動態(tài)向量、量子化值和DCT系數;而逆量子化裝置20則在上述VLD10中對已分離的DCT系數進行逆量子化處理,并且將上述逆量子化裝置20進行逆量子化處理的DCT系數,在IDCT30中進行逆離散余弦轉換。
而且,利用從上述VLD10中讀取到的動態(tài)向量,補償上述動態(tài)補償裝置50的動態(tài),并且在加法器40中對動態(tài)補償裝置50進行補償的數據和上述IDCT30中逆離散余弦轉換處理的數據進行加法處理,然后再輸出已解碼影像。
圖2是現有技術中能夠恢復影像模塊的數據構成方法概略顯示圖;一般性,一個模塊的恢復過程中所需的數據大小,根據模塊大小和構成恢復過程中所需數據的方法決定。
現在被解碼的模塊61參考的位置為整數位置時,則需要現在模塊大小的數據(圖2的‘a’)。
而且,現在被解碼的模塊62參考的位置并不是整數,而且1/2像素或者1/4像素時,要參考比現在模塊大小更大分量的數據(相應于圖2的‘b’),并且要對此進行過濾。
另外,如果相鄰的兩個模塊63、64具備相同的動態(tài)向量,而且參考相同的參考圖象(Reference Picture)時,現有技術中,兩個模塊63、64各自從存儲器中讀取數據進行處理。
這時,各模塊從存儲器中讀取到的數據與圖2中‘c’的劃線部分相同,存在重復讀取的區(qū)域。
因此,具備相同的動態(tài)向量,而且參考相同的參考圖象時,沒有必要的數據讀取量就會增加,最終導致存儲器的使用增加,耗電量增加的問題。
發(fā)明內容
本項發(fā)明的目的就是為了解決上述種種問題提供具有以下特點的影像解碼方法利用相鄰而且相同的動態(tài)向量,合并參考幀相同的模塊,進行動態(tài)補償,以此防止數據的重復度取現象;這樣既可以減少存儲器的使用,而且還可以減小耗電量。
為了達到上述目的,本項發(fā)明提供的影像解碼方法包括以下步驟(1)在圖象之中,判斷由多數宏塊組成的片段要解碼的宏塊是不是P宏塊;(2)如果上述要解碼的宏塊為P宏塊,在參照幀搜尋與要解碼宏塊相應的動態(tài)向量;(3)判斷上述步驟(2)中搜尋動態(tài)向量的宏塊是不是片段當中的最后宏塊;(4)上述步驟(3)之后,持續(xù)性地在上述步驟(3)中搜尋動態(tài)向量的宏塊,并不是片段中的最后一個宏塊,而上述步驟(1)中要解碼的宏塊為P宏塊,繼續(xù)執(zhí)行上述步驟(1)至(3);(5)在上述步驟(4)中執(zhí)行上述步驟(3)的宏塊為片段內的最后宏塊,從每個執(zhí)行步驟(2)的宏塊中,合并(Merge)動態(tài)向量相同的宏塊,并且進行插補(Interpolation)再解碼。
另外,為了達到上述目的,本項發(fā)明還提供的一種影像解碼方法,包括以下步驟
(a)在圖象之中,判斷由多數宏塊組成的片段要解碼的宏塊是不是P宏塊;(b)如果上述要解碼的宏塊為P宏塊,在參照幀搜尋與要解碼宏塊相應的動態(tài)向量;(c)判斷上述步驟(b)中搜尋動態(tài)向量的宏塊是不是片段當中的最后宏塊;(d)上述步驟(c)之后,持續(xù)性地在上述步驟(c)中搜尋動態(tài)向量的宏塊,并不是片段中的最后一個宏塊,而上述步驟(a)中要解碼的宏塊為P宏塊,繼續(xù)執(zhí)行上述步驟(a)至(c);(e)在上述步驟(d)中執(zhí)行上述步驟(c)的宏塊為片段內的最后宏塊,從每個執(zhí)行步驟(b)的宏塊中,合并(Merge)動態(tài)向量相同的宏塊,并且進行插補(Interpolation)再解碼;(f)在上述步驟(5)被解碼的宏塊中,參照數據對I宏塊進行解碼。
如前面所述,本項發(fā)明對相互相鄰,而且具有相同的動態(tài)向量以及相同的參考圖象的模塊進行合并以及動態(tài)補償處理,這樣可以防止數據重復讀取現象,而且還可以減少存儲器的使用和消耗電力。
圖1是普通MPEG用視頻解碼器的模塊的簡要構成圖;圖2是現有技術中恢復影像模塊的數據構成方法圖;圖3是顯示本項發(fā)明中影像解碼方法的流程圖;圖4a和圖4b是本項發(fā)明中片段內宏塊的示意圖;
圖5是本項發(fā)明中片段內宏塊被合并形象的示意圖。
符號說明10VLD(Variable Length Decoder可變長度解碼器)20逆量子化裝置30IDCT(Inverse Discrete Cosine Transform反向離散余弦)40加法器 50動態(tài)補償裝置200、300、400片段 201P宏塊216、301、302、303、406、407、410宏塊304、411I宏塊具體實施方式
下面參照附圖,對本項發(fā)明的實例進行說明。
圖3所示為本項發(fā)明中影像解碼方法的流程圖;在說明圖3之前要說明的是,一個圖象(Picture)由多數片段(Slice)構成,一個片段由多數P宏塊或者多數P宏塊和I宏塊構成。
在這里,P宏塊是在之前幀中參考數據的宏塊,而I宏塊是在現在已解碼宏塊中參考數據的宏塊。
本項發(fā)明中的圖3是對包含在圖象中的一個片段進行解碼的方法;首先要判斷,是不是包含在圖象中,而且由多數宏塊組成的片段要解碼的宏塊是不是P宏塊。(步驟S100)這樣執(zhí)行步驟S100的原因是,如圖4a和4b所示,片段(200、300)中要解碼的宏塊,有可能如圖4a所示是P宏塊201,也有可能如圖4b所示是I宏塊304。
如果,要解碼的宏塊為P宏塊,就在參照幀中搜尋與要解碼宏塊相應的動態(tài)向量。(步驟S110)
接著判斷,執(zhí)行上述步驟S110搜尋動態(tài)向量的宏塊是不是片段中的最后一個宏塊。(步驟S120)然后,上述步驟S120中,搜尋動態(tài)向量的宏塊不是片段中的最后一個宏塊,而步驟S100中要解碼的宏塊為P宏塊時,就是說如圖4a所示,片段宏塊們連續(xù)性地為P宏塊時,繼續(xù)執(zhí)行上述步驟S100至步驟S120。
然后,執(zhí)行上述步驟S110的宏塊如圖4a所示,是最后一個宏塊216,就從之前各自執(zhí)行步驟S110的宏塊中,將動態(tài)向量相同的宏塊合并(Merge)以及插補,以次進行解碼處理。(步驟S130)在這里,上述合并過程中,最好模塊要相鄰,而且進一步滿足參考圖象相同的條件。
一方面,上述步驟S100中要解碼的宏塊不是P宏塊時,如圖4b所示,就是I宏塊304;因此合并之前搜尋動態(tài)向量的宏塊(即,P宏塊),再進行插補以及解碼處理。(步驟S140)在這里,I宏塊304之前的宏塊301、302、303是連續(xù)性的P宏塊,因此是通過繼續(xù)執(zhí)行前述步驟S100至步驟S120搜尋動態(tài)向量的宏塊。
如果參照圖4b進行詳細說明,上述步驟S140中的合并和插補,在I宏塊304之前的宏塊301、302、303中,對動態(tài)向量不相同的一個宏塊301進行插補,而動態(tài)向量相同的宏塊302、303則合并后進行插補。
然后,在現在已解碼宏塊301、302、303中參考數據,對I宏塊304進行解碼處理。(步驟S150)接著,判斷被解碼的I宏塊是不是片段的最后一個宏塊(步驟S160),如果是最后一個宏塊就結束整個處理過程;如果不是最后一個宏塊,就執(zhí)行上述步驟S100。
圖5是本項發(fā)明中片段內宏塊們的合并狀況示意圖;片段400內存在多數宏塊。
使用本項發(fā)明提供的方法進行解碼時,這些宏塊如圖5所示,要解碼的宏塊為I宏塊411,動態(tài)向量相同的宏塊為‘406’、‘407’和‘410’,那么只對四方形形態(tài)的‘406’和‘410’宏塊進行合并以及插補處理。
就是說,本項發(fā)明中能夠合并的宏塊形狀是四方形。
通過上述的說明內容,相關工作人員完全可以在不偏離本項發(fā)明技術思想的范圍內,進行多樣的變更以及修改。
因此,本項發(fā)明的技術性范圍并不局限于說明書上的內容,必須要根據權利范圍來確定其技術性范圍。
權利要求
1.一種影像解碼方法,包括以下步驟(1)在圖象之中,判斷由多個宏塊組成的片段要解碼的宏塊是不是P宏塊;(2)如果上述要解碼的宏塊為P宏塊,在參照幀搜尋與要解碼宏塊相應的動態(tài)向量;(3)判斷上述步驟(2)中搜尋動態(tài)向量的宏塊是不是片段當中的最后宏塊;(4)上述步驟(3)之后,持續(xù)性地在上述步驟(3)中搜尋動態(tài)向量的宏塊,并不是片段中的最后一個宏塊,而上述步驟(1)中要解碼的宏塊為P宏塊,繼續(xù)執(zhí)行上述步驟(1)至(3);(5)在上述步驟(4)中執(zhí)行上述(3)步驟的宏塊為片段內的最后宏塊,從每個執(zhí)行步驟(2)的宏塊中,合并(Merge)動態(tài)向量相同的宏塊,并且進行插補(Interpolation)再解碼。
2.一種影像解碼方法,包括以下步驟(a)在圖象之中,判斷由多個宏塊組成的片段要解碼的宏塊是不是P宏塊;(b)如果上述要解碼的宏塊為P宏塊,在參照幀搜尋與要解碼宏塊相應的動態(tài)向量;(c)判斷上述步驟(b)中搜尋動態(tài)向量的宏塊是不是片段當中的最后宏塊;(d)上述步驟(c)之后,持續(xù)性地在上述步驟(c)中搜尋動態(tài)向量的宏塊,并不是片段中的最后一個宏塊,而上述步驟(a)中要解碼的宏塊為P宏塊,繼續(xù)執(zhí)行上述步驟(a)至(c);(e)在上述步驟(d)中執(zhí)行上述步驟(c)的宏塊為片段內的最后宏塊,從每個執(zhí)行步驟(b)的宏塊中,合并(Merge)動態(tài)向量相同的宏塊,并且進行插補(Interpolation)再解碼;(f)在上述步驟(e)被解碼的宏塊中,參照數據對I宏塊進行解碼。
3.如權利要求項1或者2所述的影像解碼方法,其特征在于,上述合并過程要進一步滿足相互鄰接以及參考圖象要相同的條件。
4.如權利要求項1或者2所述的影像解碼方法,其特征在于,上述被合并宏塊,其形狀為四方形。
全文摘要
本發(fā)明涉及影像解碼方法,包括如下步驟(1)在圖象之中,判斷由多個宏塊組成的片段要解碼的宏塊是不是P宏塊;(2)若所要解碼的宏塊為P宏塊,在參照幀搜尋與要解碼宏塊相應的動態(tài)向量;(3)判斷所搜尋宏塊是不是片段當中的最后宏塊;(4)持續(xù)性地在(3)中搜尋動態(tài)向量的宏塊,而(1)中要解碼的宏塊為P宏塊,繼續(xù)執(zhí)行(1)至(3);(5)在(4)中執(zhí)行(3)的宏塊為片段內的最后宏塊,從每個執(zhí)行(2)的宏塊中,合并動態(tài)向量相同的宏塊,并且進行插補再解碼。本項發(fā)明利用相鄰而且相同的動態(tài)向量,合并參考幀相同的模塊,進行動態(tài)補償,以此防止數據的重復度取現象;既可以減少存儲器的使用,而且還可以減小耗電量。
文檔編號H04N7/26GK1770862SQ20041006780
公開日2006年5月10日 申請日期2004年11月3日 優(yōu)先權日2004年11月3日
發(fā)明者李哲秀 申請人:上海樂金廣電電子有限公司