應用於影像解碼器與編碼器的影像處理方法
2023-08-03 23:54:56 1
專利名稱::應用於影像解碼器與編碼器的影像處理方法
技術領域:
:本發明提供一種用來對影像信號進行編碼/解碼的影像處理方法,尤指一種對影像信號進行編碼/解碼時,可以降低存儲需求的位移補償方法/位移估測方法。
背景技術:
:MPEG(movingpictureexpertsgroup)規格,譬如常見的MPEG-2規格(ISO-13818)已經廣泛地使用在各種影像相關的應用之中;MPEG-2規格提出了一種經編碼過以及壓縮過的位串流(bit-stream),其可大大降低頻寬的使用。此外,MPEG-2規格所定義的壓縮操作,原則上是一有耗損的壓縮伴隨著一個無耗損的壓縮。經編碼且壓縮過後的數位訊號會由符合MPEG-2規格的解碼器來加以解壓縮與解碼。MPEG-2規格定義了一種位串流形式,其通過一種具有非常高壓縮率的壓縮技術;此壓縮技術是無法單靠幀內編碼(intraframecoding)或是單靠幀間編碼(interframecoding)便可以辦到的,然而卻保留著幀內編碼所具有的隨機存取優點。MPEG-2規格所定義的壓縮方式是奠基於區塊(blockbased)的壓縮方式,其結合了頻譜(frequencydomain)上的幀內編碼以及內插(interpolative)/預測(predictive)幀間編碼,因此,MPEG-2規格所定義的壓縮方式同時結合了幀間編碼與幀內編碼兩者的優點。如前所述,MPEG-2規格定義了內插與預測幀間編碼以及頻譜上的幀內編碼。奠基於區塊的位移估測與位移壓縮操作是用來降低時間上的冗餘信息,而奠基於區塊的離散餘弦轉換(discretecosinetransform,DCT)壓縮操作是用來降低空間上的冗餘信息。在MPEG-2的規格定義之下,位移補償是由預測編碼、內插編碼以及可變長度編碼(variablelengthcoded,VLC)位移向量。與位移相關的信息是奠基於16×16數組的像素,並且和空間的信息一起被傳輸;位移信息是利用可變長度碼(例如霍夫曼碼(Huffmancode))來加以壓縮。一般來說,在同一個圖片(影像)中,於彩度上,幾何圖案上以及其它特徵值上都會具有一些相似度,而為了減少這些空間上的冗餘信息,必須要將圖片上重要的元素標示出來,並且要將不重要或是重複的冗餘元素移除。舉例來說,根據MPEG-2規格,一張圖片是藉由消除空間上的冗餘信息來完成壓縮,而消除空間上的冗餘信息是藉由彩度取樣、離散餘弦轉換以及量化操作來完成。此外,視訊數據是由一連串連續的圖片構成,此時,因為人類視覺系統對圖片具有「視覺暫留」的特性,所以這一連串連續的圖片就被感知為動態影像,因此,圖片之間的時間間隔是非常短的,並且相鄰的圖片之間所具有的差異也非常微小,其差異大多是以物體位置之間的變化呈現,所以,MPEG-2規格便將連續圖片之間的相似部分於時間上所造成的冗餘信息加以消除,因而達到壓縮視訊數據的目的。為了消除前述的時間上的冗餘信息,MPEG-2規格也提出了一個流程,其稱之為位移估測(motionestimation)或位移補償(motioncompensation)。位移估測或位移補償是與決定圖片間冗餘信息有關;在執行位移補償之前,一欲處理的目前圖片(currentpicture)通常會被分為16×16像素大小的宏區塊(macro-block,MB),而對於每一個目前宏區塊來說,一參考圖片(可為前面的圖片或後面的圖片)的最相似預測區塊會藉由比較目前宏區塊與該參考圖片的多個「候選」宏區塊來決定;而最相似預測區塊會被視為一參考區塊,並且目前區塊與該參考區塊之間的位置差異會接著被記錄為一個位移向量;而前述用來取得位移向量的流程便為前述的位移估測。在此請注意,若該參考區塊隸屬的圖片位於目前圖片之前時,前述的操作流程便稱之為向前預測(forwardprediction);另一方面,若該參考圖片位於目前圖片之後時,前述的操作流程便稱之為向後預測(backwardprediction)。此外,若位移向量是藉由參考前面的圖片與後面的圖片而產生,那麼前述操作流程便稱之為雙向預測(bi-directionalprediction)。一般使用的位移探測方法是區塊比對(block-matching)方法,由於參考區塊並不會完全與目前區塊相同,當進行區塊比對的時候,必須要計算目前區塊與參考區塊之間的差異(可視為一預測誤差);於是,此預測誤差便可用來對目前區塊進行解碼。MPEG-2規格定義了三種編碼圖片的編碼機制內編碼(intraencoding)、預測編碼(predictiveencoding)以及雙向預測編碼(bi-directionallypredictiveencoding)。內編碼圖片(I圖片(Ipicture))獨立編碼完成,而無需利用其它前面的圖片或是後面的圖片做輔助;而預測編碼圖片(P圖片(Ppicture))是參考前面的圖片進行編碼,其中前面的圖片可為一I圖片或是一P圖片;此外,雙向預測編碼圖片(B圖片(Bpicture))是一併應用前面的圖片與後面的圖片進行編碼,因此,雙向預測編碼圖片可以具有最高的壓縮率,並且在解碼的時候必須利用一前面的圖片以及一後面的圖片來重建出雙向預測編碼圖片的內容。此外,在此請注意,內編碼圖片或是預測編碼圖片皆可用來解碼其它圖片,但是雙向預測編碼圖片卻無法用來解碼其它圖片,亦即雙向預測編碼圖片可視為非參考圖片,在此請注意,在其它的壓縮規格之中(譬如H.264),雙向預測編碼圖片可以用來作為其它圖片的解碼參考,因此,圖片編碼機制到底是屬於參考圖片還是屬於非參考圖片便會根據不同的壓縮規格而隨之變化。如前所述,一圖片是由多個宏區塊所組成,並且每張圖片皆以一個宏區塊為單位進行編碼;其中每個宏區塊具有一對應的移動種類參數,用來代表其位移補償種類。在此請參閱圖1,圖1為公知位移估測所使用的區塊比對流程的示意圖。一目前圖片120分為多個區塊,其中各區塊可為一特定大小,舉例來說,在MPEG規格中,目前圖片120一般會被分割為多個16×16像素大小的宏區塊,而對於目前圖片120而言,每個幀間編碼區塊的產生是藉由目前圖片120中一區塊與前一圖片110或後一圖片130中區塊之間的差異來進行編碼。此外,在進行目前區塊100的區塊比對過程時,目前區塊100是與前一圖片110中一搜尋範圍115中相同大小的「候選」區塊進行比較,或是與後一圖片130中一搜尋範圍135中相同大小的「候選」區塊進行比較;此時,若前一圖片110的一候選區塊或是後一圖片130的一候選區塊與目前區塊100之間具有最小的差異(譬如前一圖片110的區塊150),那麼該候選區塊便會視為一參考區塊,而參考區塊150與目標區塊100之間的位移向量與殘量(residue)便會進行運算與編碼操作。因此,目前區塊100便可以藉由參考區塊150的編碼以及參考區塊150與目前區塊100之間的位移向量與殘量,以利用解壓縮的方式重現(restore)出來。在MPEG-2規格定義下,位移補償的基本單位是一宏區塊;如前所述,一宏區塊具有16×16的像素大小。位移信息包含有對應向前預測(forwardpredicted)宏區塊的一向量,對應向後預測(backwardpredicted)宏區塊的一向量,以及對應雙向預測(bi-directionallypredicted)宏區塊的兩向量,如此一來,宏區塊可以藉由前面的或是其後的圖片中宏區塊的像素的轉換而加以預測出來;原本像素與預測像素之間的差異量會包含於相對應的位串流中,換言之,影像編碼器的輸出是一數字影像位串流,其包含有可被一解碼系統所解碼的已編碼圖片。在此請參閱圖2,圖2是顯示MPEG-2規格所定義的圖片的顯示順序與解碼順序之間的區別。如前所述,MPEG-2規格是利用各式各樣的預測與內插編碼工具以消除時間上的冗佘信息。如圖2所示,MPEG-2規格利用了三種類型的幀(亦可被視為圖片)「I」內編碼圖片,「P」預測編碼圖片,以及「B」雙向編碼圖片。在圖2中,為了要對P圖片與B圖片進行編解碼,數字影像位串流的圖片傳輸順序與圖片顯示順序並不相同。此外,解碼器會將一校正信息加入至預測像素的區塊之中,以產生重建的區塊,一般來說,影像解碼器接收數字影像位串流並且產生解碼後的數字影像信息,其儲存於被稱為幀緩衝器(framebuffer)的外部存儲中。如前所述並且於圖2所示,P圖片中每個宏區塊可以依據前面最靠近的I圖片或是前面最靠近的P圖片加以編碼;此外,B圖片中每個宏區塊可以利用向前預測的方式而依據其前方最靠近的I圖片或P圖片加以編碼出來、利用向後預測的方式而依據其後方最靠近的I圖片或P圖片加以編碼出來或者利用雙向預測的方式而一併依據其前方最靠近的I圖片或P圖片與其後方最靠近的I圖片或P圖片加以編碼。因此,為了適當地將所有種類的編碼圖片解碼出來並且適當地顯示數字影像信息,至少需要下面所述的三個幀緩衝器1.之前的參考幀緩衝器(pastreferenceframebuffer)2.其後的參考幀緩衝器(futurereferenceframebuffer)3.目前的幀緩衝器(currentframebuffer)其中,每一個緩衝器的儲存容量必定要夠大,以便儲存數字影像數據中一張完整的圖片(譬如720×480像素)。此外,如業界所公知,亮度數據與彩度數據需要經過類似的處理。為了使影像解碼器的成本降低,減少解碼所需的存儲器大小(亦即幀緩衝器的大小)便成為一個非常重要的目標。舉例來說,在公知技術中已經有一些方法,其藉由將幀數據以一壓縮格式儲存於幀緩衝器中,以減少解壓縮一已壓縮幀時所需要的存儲。於解壓縮操作過程中,解碼模塊對已壓縮幀進行解壓縮操作以取得一已解壓縮幀;接著,一外加壓縮模塊會再度對已解碼幀加以壓縮以取得一再壓縮後幀,並將再壓縮後幀儲存於存儲中。此時,由於必須用來解碼其它幀或是用來顯示的幀已經以一壓縮格式儲存於存儲中,因此解碼系統僅須比較少的存儲。然而,這樣的架構具有一些缺點;首先,儲存於存儲中的再壓縮參考幀無法允許其內部的預測區塊進行隨機存取;再者,外加的再壓縮與解碼模塊會增加解碼系統整體的硬體成本與能量損耗;此外,當前述的解決方式使用在影像編碼器時,會具有類似的問題。
發明內容因此本發明的目的之一在於提供一種可以降低存儲需求的位移估測/位移補償的影像處理方法,以解決公知技術中的問題。根據本發明的一實施例,其揭露一種影像處理方法。該方法包含有自一幀緩衝器的第一開始地址,儲存一參考圖片至幀緩衝器;自幀緩衝器的第二開始地址,儲存一目前圖片的至少一部分,以覆寫參考圖片的至少一子集合;於儲存目前圖片的各區塊時,保護參考圖片的多個區塊以防止參考圖片的多個區塊遺失;執行對應目前圖片的一特定區塊的位移補償程序,位移補償是藉由搜尋參考圖片中被保護的多個區塊的至少一部分;以及在覆寫目前圖片的至少一區塊至幀緩衝器之後,改變參考圖片中被保護的多個區塊,以解除對該參考圖片中被保護的多個區塊中至少一過期區塊的保護,並開始保護參考圖片的另一未保護區塊。根據本發明的另一實施例,其揭露一種影像處理方法。該方法包含有自第一起始地址,儲存一參考區塊至一幀緩衝器;藉由自第二起始地址,儲存一目前圖片的至少一部分至幀緩衝器,以覆寫參考圖片中至少一子集合;保護參考圖片的多個區塊,以於儲存目前圖片的每個區塊至幀緩衝器時,避免該多個區塊遺失;以及執行對應目前圖片的一特定區塊的位移補償流程,其中位移補償是藉由搜尋該參考區塊中被保護的至少一部分。圖1為公知位移估測所使用的區塊對比流程的示意圖。圖2是顯示MPEG-2規格所定義的圖片的顯示順序與解碼順序之間的區別。圖3為本發明有關於目前圖片的目前宏區塊的位移補償程序而被儲存於幀緩衝器的參考圖片中多個區域的示意圖。圖4為本發明影像處理方法的一實施例的流程圖。圖5為依據圖4的一第一實施例而自同一起始地址起儲存至幀緩衝器的參考圖片與目前圖片的示意圖。圖6為本發明影像處理方法的一些實施例中的幀緩衝器一起使用的一快取緩衝器與一可忽略宏區塊對照表的示意圖。圖7為依據圖4的一第二實施例而自不同的起始地址儲存至幀緩衝器的參考圖片與目前圖片的示意圖。圖8為圖4的一第三實施例中儲存至三個不同緩衝器的參考圖片與目前圖片的示意圖。圖9為圖4所示的保護區域的步驟404的另一實施例的示意圖。圖10為圖4的另一實施例中自不同的起始地址儲存至幀緩衝器的參考圖片與目前圖片的示意圖。圖11為與圖10所示的實施例相似的另一實施例的示意圖。符號說明100目前區塊110前一圖片115、125、135、314、316搜尋範圍120目前圖片130後一圖片150、312區塊300參考圖片302第一區域304第二區域306第三區域308目前圖片310目前宏區塊312、900、902數據片段602快取緩衝器604可忽略宏區塊對照表800、802、804緩衝器具體實施方式請參閱3圖,圖3為本發明有關於目前圖片308的目前宏區塊310的位移補償程序而被儲存於幀緩衝器的參考圖片300中的第一、第二、第三區域302、304、306的示意圖。在此請注意,位移補償程序可包含有與影像編碼/解碼操作相關的位移估測或位移補償。於本發明的一實施例中,位移補償程序包含有於該參考區塊的一搜尋範圍內進行區塊搜尋,而如前所述,為了於已編碼的影像信息中消去時間上的冗餘信息,在MPEG規格定義下,會進行一個稱之為位移補償的流程。位移補償與圖片間的冗餘信息相關,並且在執行位移補償之前,欲處理的目前圖片308一般會被分割成16×16像素大小的宏區塊,譬如圖3所示的目前宏區塊310。對於每個目前宏區塊310來說,目前宏區塊310會與之前或其後的參考圖片300中的「候選」宏區塊進行比較,以決定出參考圖片300中最相近的預測區塊。在此請注意,候選宏區塊一般是位於參考圖片300中一搜尋範圍316內,其對應於目前圖片308中的搜尋範圍314,此外,於目前宏區塊310之前具有一數據片段312(其包含有多個區塊),若目前圖片308於處理過程中變成另一圖片的參考圖片時,則當處理另一圖片中對應宏區塊310的相同位置的目前宏區塊時,對於另一圖片的目前宏區塊而言,數據片段312與宏區塊310便成為前述的第二區域304。舉例來說,在此假設圖3中目前圖片308的宏區塊是從左上角的第一個宏區塊開始一個一個地進行處理(編碼/解碼操作),直到最右下角的最後一個宏區塊處理完畢。如圖3所示,參考圖片300的第一區域302包含有多個宏區塊,其於位移補償流程處理宏區塊310之前已用來進行過相關處理,因此,在後續操作中,參考圖片300中位於第一區域302的數據已經不需要了。參考圖片300的第二區域304包含有多個宏區塊,其已經用來處理目前圖片308中一些宏區塊,但是第二區域304的資料仍須再次用來處理目前圖片308中後續至少一尚未處理的宏區塊。最後,參考圖片300的第三區域306則包含有一些宏區塊,其對應於目前圖片308中位於相同位置且位於宏區塊310之後尚未處理過的宏區塊。為了減少存儲的需求,於本發明的第一實施例中,原先儲存於幀緩衝器的參考圖片300的第一區域302,會被其它的數據覆寫。舉例來說,於本實施例中,在儲存目前圖片308的宏區塊的時候,便會對第一區域302進行覆寫;如此一來,毋需於後續操作中使用的第一區域302數據便不會浪費幀緩衝器的容量,並且幀緩衝器的總體容量大小也可以對應地降低。第二區域304包含了許多後續操作中仍需使用以處理目前圖片308的至少一目前宏區塊310的宏區塊;因此,第二區域304的數據會被保護起來,以避免其於儲存目前圖片308的每一個區塊至幀緩衝器時遺失。在此請注意,在其後的揭露之中,將說明本發明如何將第二區域304中多個宏區塊保護起來的不同實施例,故在此便不另贅述。最後,由於參考圖片300的第三區域306包含有對應目前圖片308中位於相同位置且位於宏區塊310之後但尚未處理過的宏區塊的宏區塊,由於第三區域306的數據尚須用於其後的位移補償程序中,因此儲存於幀緩衝器中屬於第三區域306的數據便不能被覆寫掉。圖4為本發明影像處理方法的一實施例的流程圖。假設可大致上可得到相同結果,本發明並未受限於圖4流程中各步驟的順序;此外,各步驟也並未限制必須為連續執行,在實際應用上,可以於兩步驟之間插入其它步驟。於本實施例中,位移補償流程包含有下列步驟步驟400自第一起始地址起,儲存一參考圖片300至一幀緩衝器;步驟402自第二起始地址,利用儲存目前圖片308至該幀緩衝器的方式,覆寫參考圖片300中至少一子集合;步驟404對參考圖片300中多個區塊(圖3所示的第二區域304)加以保護,以避免其於儲存目前圖片308的各區塊至幀緩衝器時遺失;步驟406參照該參考圖片中被保護的至少一部分區塊,執行對應目前圖片308的位移補償流程;步驟408於儲存目前圖片308的至少一區塊至幀緩衝器之後,調整參考圖片300中被保護的多個區塊,以停止保護參考圖片300中被保護的多個區塊中至少一過期區塊(expiredblock)並開始保護該參考圖片的另一未保護區塊;其中,過期區塊是指參考圖片300中一個在後續位移補償流程中不會再需使用到的區塊,因此,過期區塊便可以被目前圖片308中一個尚未處理的宏區塊來加以覆寫;步驟410於一影像編碼器執行位移估測時,根據對應儲存至幀緩衝器的多個區塊,位移補償流程會產生一編碼位串流(encodedbitstream);或者是,於一影像編碼器/影像解碼器執行位移補償時,產生儲存至幀緩衝器的一解碼圖片(decodedpicture)。圖5為依據圖4的一第一實施例而自同一起始地址起儲存至幀緩衝器的參考圖片300與目前圖片308的示意圖。於本實施例中,參考圖片300首先會自一第一起始地址(其對應5圖所示的pic_1_base_addr)儲存至幀緩衝器中,接著,對應目前圖片308的每個目前宏區塊的位移補償操作會一個區塊接著一個區塊地執行。當對應目前圖片308的目前宏區塊310的位移補償操作已經執行完畢之後,目前宏區塊310便會自第二起始地址pic_2_base_addr(其等同於第一起始地址pic_1_base_addr)起儲存於幀緩衝器中。因此,當目前圖片308的區塊儲存於幀緩衝器中,這些區塊便會覆寫參考圖片300的一部分數據。一般來說,每一張圖片(無論是參考圖片或是其它圖片)都會具有相同的最大儲存容量,因此,於本實施例中,幀緩衝器的容量只須等同於參考圖片的儲存需求(或是目前圖片的儲存需求)即可,這使得整體對於存儲容量的需求變成一半。圖6為本發明影像處理方法的一些實施例中連同圖5所示的幀緩衝器一起使用的一快取緩衝器(cachebuffer)602與一可忽略宏區塊對照表(skiptable)604的示意圖。如前所述,必須對參考圖片300的第二區域304中多個區塊加以保護,以避免其於儲存目前圖片308的各區塊至幀緩衝器時遺失,這是由於在後續的位移補償流程中,第二區域304的宏區塊尚須被使用到,因此,於本實施例中,為了允許對第二區域304的宏區塊的保護,參考圖片中被保護的宏區塊儲存於快取緩衝器602中。於本發明的其它實施例中,則將目前圖片儲存於快取緩衝器中,以保護參考圖片300的第二區域304的區塊。在此請注意,快取緩衝器602一般建置於幀緩衝器的外部,並且各儲存區塊暫存單一個M×N大小的宏區塊(譬如16×16大小的宏區塊)。在此請注意,前述用來執行位移補償流程的方法不但可應用於影像編碼器,也可應用於影像解碼器之中。舉例來說,當其應用於編碼器的位移估測操作時,圖4的流程圖可另包含步驟410,以根據對應存入幀緩衝器的區塊的位移補償流程而產生一編碼位串流;相同地,當其應用於解碼器的位移補償操作時,圖4的流程圖可包含步驟410以顯示儲存於幀緩衝器中的區塊。圖9為圖4所示的保護第二區域304的步驟404的另一實施例的示意圖。一般來說,影像編碼器會使用一個搜尋範圍高速緩存(searchrangecache),其是一存儲裝置,可儲存圖9所示的參考圖片300中包含於搜尋範圍316中的數據片段;由於編碼器的搜尋範圍高速緩存已經儲存有包含於搜尋範圍316中的數據片段,因此便無需將數據片段900另行保護於快取緩衝器602中,如此一來,步驟404可以修改為於影像編碼器執行位移估測操作時,將該參考圖片中被保護的一搜尋範圍316中多個區塊儲存於一搜尋範圍緩衝器中以及將該參考圖片中其它被保護的數據片段902(其包含多個區塊)儲存於一快取緩衝器,以便保護該參考圖片的多個區塊。如此一來,由於數據片段900的那一部分無需額外儲存,所以快取緩衝器602的存儲容量需求便可以更進一步地降低。在此請注意,當應用於一影像解碼器時,影像解碼與影像顯示必須同步,以確保區塊可以於影像顯示之前及時地解碼出來。換言之,若目前圖片的區塊一開始儲存於快取緩衝器中以保護參考圖片的特定區塊(譬如圖9所示的數據片段902);那麼這些儲存於快取緩衝器的區塊便會讀取出來,以供前述的顯示操作並且將其重新存入幀緩衝器的原本地址。在及時地顯示這些區塊之後,這些儲存於快取緩衝器的區塊會重新存入幀緩衝器中,以供後續的位移補償流程使用;此外,若快取緩衝器用來儲存該參考圖片中必須保護以避免覆寫的特定區塊,那麼原先儲存於快取緩衝器的這些區塊可被顯示而無需重新存入幀緩衝器。為了將位移估測操作或位移補償操作相關的影像處理流程加以最佳化,本發明另利用圖6所示的可忽略宏區塊對照表604來指出哪些宏區塊分類為可忽略宏區塊(skipblock),以進而提供一增強措施。由於可忽略區塊的分類方式已為業界所公知,故不另贅述於此。被分類為可忽略的各區塊可於對照表中604具有一對應位設置(bitset);如此一來,若一區塊被分類為可忽略區塊,那麼該區塊便無需存入幀緩衝器,這是因為儲存於幀緩衝器的參考圖片的原始數據仍可適用於目前圖片,因此覆寫該區塊至幀緩存器的操作便可以省略。很明顯地,前述的增強措施不但可以節省時間並且亦可降低幀緩衝器的頻寬需求。在此請參閱圖7,圖7為依據圖4的一第二實施例而自不同的起始地址儲存至幀緩衝器的參考圖片300與目前圖片308的示意圖。如圖7所示,於本實施例之中,步驟404中保護參考圖片的多個區塊的操作是藉由定義該參考圖片的第一起始地址(如圖7所示的pic_1_base_addr),其與目前圖片的第二起始地址(如圖7所示的pic_2_base_addr)之間具有一間隔d,其中間隔d等於或大於參考圖片中欲保護的多個區塊的總容量;換言之,前述的間隔d的最小值對應圖3所示的第二區域304的大小。如此一來,幀緩衝器所具有的的容量大小等於參考圖片加上參考圖片中欲保護的多個區塊的存儲需求,或是所具有的的容量大小等於目前圖片加上參考圖片中欲保護的多個區塊的存儲需求,其等於前兩者中最大的。於位移補償流程之中,當先前的起始地址(譬如前述的pic_1_base_addr)與目前的起始地址(譬如前述的pic_2_base_addr)隨著每個存入幀緩衝器的目前圖片變動時,先前的起始地址(譬如前述的pic_1_base_addr)與目前的起始地址(譬如前述的pic_2_base_addr)之間的間隔仍維持一常數。在本實施例中,由於每個後續圖片的起始地址都會循環性的變動,如圖7所示,間隔d是由目前起始地址之後的區塊所組成,如此一來,更新後續圖片的起始地址的操作便如一環狀緩衝器(circularbuffer)。雖然相較於前述的第一實施例,幀緩衝器的存儲容量需求會稍微增加,但是本實施例不須快取緩衝器便可加以實施。此外,於圖10所示的另一實施例中,於幀緩衝器中,先前的起始地址與目前的起始地址的值是固定值,以供存入幀緩衝器的每個新的參考圖片300與每個新的目前圖片308之用;換言之,當目前圖片成為一個新的參考圖片以供新的目前圖片之用時,在本發明將新的目前圖片存入該幀緩衝器之前,便必須將新的參考圖片的所有數據從目前起始地址移動至先前的起始地址。如圖10所示,於時點1,當圖片pic_1已經完全處理完畢,圖片pic_1便會儲存於幀緩衝器中;而於時點2,會開始對圖片pic_2進行處理,而且圖片pic_2是從幀緩衝器的最上面開始儲存,並且逐漸地覆寫圖片pic_1;當圖片pic_2已經完全處理完畢,於時點3時,一部分的圖片pic_1已經被覆寫了;於時點4,由於其後的操作已經無需使用圖片pic_1,因此整張圖片pic_2便會被移動(或複製)至原本圖片pic_1所在的位置。在重新安置圖片pic_2的過程中,區塊會從幀緩衝器中讀取出來,並且可以同時被輸出以進行顯示。在此請注意,本實施例包含有輸出區塊以進行顯示的步驟,但於實際應用中,此步驟必須考量到整體系統的數據處理能力以實施之,舉例來說,解碼的速度與顯示的需求必須配合的很好。接著,於時點5時,會開始對圖片pic_3進行處理;當圖片pic_3完全處理完畢之後,於時點6時,一部分的圖片pic_2會被覆寫,並且其操作便會如前述的流程般進行。在此請參閱圖11,圖11則再顯示另一實施例,其與圖10所示的實施例相似。圖11與圖10所示的實施例之間的差別在于于圖10所示的實施例中,當圖片/幀完全處理完畢之後,圖10所示的實施例會一次將整張圖片移動/複製;但是於圖11所示的實施例中,圖片會被分割成多個部分,並且當每個部分完全處理完畢之後,圖11所示的實施例對處理完畢的部分進行移動/複製。如圖所示,每張圖片都會被分割成3個部分,在此請注意,於所有的實施例中,被保護的區域都必須大於或等於圖3所示的第二區域304或是圖9所示的有使用到搜尋範圍緩衝器下的數據片段902。如圖11所示,於時點1,圖片pic_1已經完全處理完畢圖片;於時點2,圖片pic_2的部分P2_1已經儲存於幀緩衝器的第一區段;於時點3,當圖片pic_2的部分P2_1的處理已經進行完畢,其後的操作便無需使用圖片pic_1的部分P1_1,因此,部分P2_1便會被移動/複製至第二區段以覆寫部分P1_1。再者,在重新定位部分P2_1的時候,可以將部分P2_1輸出並用來顯示。幀緩衝器的第一區段(最上面的區段)具有圖6所示的快取緩衝器的類似功能;於時點4,會將部分P2_2儲存至幀緩衝器的第一區段以覆寫部分P2_1以開始對部分P2_2進行相關處理;於時點5,當其後的操作無需使用部分P1_2時,部分P2_2會複製至幀緩衝器的第三區段以覆寫部分P1_2;於時點6,會開始處理部分P2_3;於時點7,當其後的操作無需使用部分P1_3,部分P2_3會複製至幀緩衝器的第四區段以覆寫部分P1_3;最後,於時點8,會開始處理圖片pic_3,因此便會循環開始又一次前述的流程。在此請參閱圖8,圖8為圖4的一第三實施例中儲存至三個不同緩衝器800、802、804的參考圖片300與目前圖片308的示意圖。在此請注意,本實施例與圖7所示的實施例相當類似;然而,於圖8中,幀緩衝器中三個不同的儲存庫(storagebank)是用來儲存參考圖片300與目前圖片308的區塊。在此請另行注意,本發明並未限制緩衝器的數目,在實際應用上,若每張圖片被分割為N個部分,那麼便至少必須要使用到N+1個緩衝器以暫存所輸入的圖片的數據。在本發明的一實施例中,幀緩衝器可以用一動態隨機存取存儲器(DRAM)來加以實作,且每一個緩衝器(亦即儲存庫)便以動態隨機存取存儲器的一不同的儲存庫實現之。因此,於前述的操作中,在時點1,參考圖片pic_1的第一部分會先存入至第一儲存庫800中,而參考圖片pic_1的第二部分便會存入第二儲存庫802中,目前圖片pic_2的第一部分會存入第三儲存庫804中;並且於時點2,目前區塊的第二部分會存入第一儲存庫800中以覆寫參考圖片的第一部分;於時點3,下一張圖片pic_3的第一部分會存入儲存庫802中;於時點4,下一張圖片pic_3的第二部分會存入儲存庫804中。因此,後續的圖片會以相同的順序儲存入這些儲存庫800、802、804中,如此一來,經由使用不同的儲存庫,在進行位移補償的流程時,便可以減少因為存儲分頁未命中(pagemiss)而造成的存儲分頁切換操作。在此請注意,雖然前述的揭露著重應用於I圖片(intra-codedpicture)與P圖片(predictedpicture)的位移估測操作或位移補償操作,但是對此領域具有通常知識者而言,可輕易明白本發明亦可應用於B圖片(bi-directionalinterpolatedpicture)。舉例來說,本發明可以藉由另包含一個幀緩衝器,以暫存解壓縮後的B圖片,其中P圖片的每一個宏區塊可以依據先前最接近的I圖片加以編碼或是根據先前最靠近的P圖片來加以解碼;接著,B圖片的每一個宏區塊可以根據一個或多個之前的I圖片或P圖片以向前預測的方式加以編碼,或是可以根據一個或多個其後的I圖片或P圖片以藉由向後預測的方式加以編碼,亦或是同時藉由先前與其後的I圖片或P圖片而以雙向預測的方式來加以編碼。當位移補償流程通過參考該參考圖片中被保護的多個區塊以處理一目前圖片的特定區塊時,藉由自一第一起始地址儲存一參考圖片至一幀緩衝器,自一第二起始地址儲存一目前圖片的一部分至該幀緩存器以覆寫該參考圖片中至少一子集合,以及儲存該目前圖片的每個區塊至該幀緩衝器時保護該參考圖片中多個區塊以避免遺失,本發明便可以大大降低幀緩衝器的儲存容量需求。以上所述僅為本發明的較佳實施例,凡依本發明申請專利範圍所做的均等變化與修飾,皆應屬本發明的涵蓋範圍。權利要求1.一種應用於影像解碼器與編碼器的影像處理方法,該方法包含有自一幀緩衝器的一第一開始地址起,儲存一參考圖片至該幀緩衝器;自該幀緩衝器的第二開始地址起,儲存一目前圖片的至少一部分以覆寫該參考圖片的至少一子集合;於儲存該目前圖片的各區塊時,保護該參考圖片的多個區塊以避免該參考圖片的該多個區塊遺失;執行對應該目前圖片的一特定區塊的一位移補償程序,藉由參考該參考圖片中被保護的該多個區塊的至少一部分;以及在將該目前圖片的至少一區塊覆寫至該幀緩衝器之後,改變該參考圖片中被保護的該多個區塊,以停止保護該參考圖片中被保護的該多個區塊中至少一過期區塊以及開始保護該參考圖片的至少一下一區塊。2.如權利要求1所述的方法,其另包含有根據對應該特定區塊的一指定搜尋範圍,執行對應該目前圖片的該特定區塊的位移補償程序,藉由參考該參考圖片中被保護的該多個區塊的一子集合中。3.如權利要求2所述的方法,其中該參考圖片中被保護的該多個區塊對應於該目前圖片中相同位置且已經處理過的區塊,但是被保護的該多個區塊於執行後續區塊的位移補償流程中仍須被使用到。4.如權利要求1所述的方法,其中該第一起始地址與該第二起始地址相同。5.如權利要求1所述的方法,其中保護該參考圖片中該多個區塊的步驟包含有將該參考區塊中被保護的該多個區塊儲存於一快取緩衝器中。6.如權利要求1所述的方法,其中保護該參考圖片中該多個區塊的步驟包含有將該目前圖片中對應於該參考圖片中被保護的該多個區塊的相同位置的多個區塊儲存於一快取緩衝器中。7.如權利要求6所述的方法,其另包含有顯示儲存於該快取緩衝器的多個區塊以及將顯示過的該多個區塊重新存入該幀緩衝器中的原本位置。8.如權利要求1所述的方法,其中保護該參考圖片中該多個區塊的步驟包含有將該參考區塊中被保護的多個區塊儲存於一位移估測流程中所使用的一搜尋範圍緩衝器中;以及將該參考區塊中被保護的其餘多個區塊儲存於一快取緩衝器。9.如權利要求1所述的方法,其中該幀緩衝器所具有的一容量大小與該參考圖片的存儲需求相同,或所具有的一容量大小與該目前圖片的存儲需求相同。10.如權利要求1所述的方法,其應用於一編碼器中以執行位移估測操作,其中該方法另包含有根據位移補償處理多個區塊後的結果來產生一編碼位串流。11.如權利要求1所述的方法,其應用於一解碼器中以執行位移補償,其中該方法另包含有將儲存於該幀緩衝器的多個幀加以顯示。12.如權利要求1所述的方法,其另包含有不將被分類為可忽略區塊的任何區塊儲存於該幀緩衝器中。13.一種應用於影像解碼器與編碼器的影像處理方法,該方法包含有自一第一起始地址起,儲存一參考區塊至一幀緩衝器;自一第二起始地址起,儲存一目前圖片的至少一部分至該幀緩衝器以覆寫該參考圖片中至少一子集合;保護該參考圖片中多個區塊,以避免其於儲存該目前圖片的每個區塊至該幀緩衝器時遺失;以及執行對應該目前圖片的一特定區塊的一位移補償流程,藉由參考該參考區塊中被保護的至少一部分。14.如權利要求13所述的方法,其中保護該參考圖片的該多個區塊的步驟包含有定義該第一起始地址與該第二起始地址為兩個分隔的地址,其中該第一起始地址與該第二起始地址之間具有一間隔,以及該間隔是等於或大於該參考圖片中欲保護的該多個區塊的容量大小。15.如權利要求13所述的方法,其另包含有根據對應該目前圖片的該特定區塊的一指定搜尋範圍,執行對應該目前圖片的該特定區塊的該位移補償流程,藉由參考該參考圖片中被保護的該多個區塊的一子集合。16.如權利要求15所述的方法,其中該參考圖片中被保護的該多個區塊對應於該目前圖片中相同位置且已經處理過的區塊,但是被保護的該多個區塊於執行後續區塊的位移補償流程中仍須被使用到。17.如權利要求13所述的方法,其中該幀緩衝器所具有的一容量大小不小於該參考圖片加上該參考圖片中欲保護的該多個區塊的存儲需求,或是所具有的一容量大小不小於該目前圖片加上該參考圖片中欲保護的該多個區塊的存儲需求。18.如權利要求13所述的方法,其中當該第一起始地址與該第二起始地址伴隨著儲存於該幀緩存器的每個新的參考圖片或每個新的目前圖片而改變時,該第一起始地址與該第二起始地址之間的間隔固定不變。19.如權利要求13所述的方法,其中對於儲存於該幀緩存器的每個新的參考圖片或是每個新的目前圖片的該第一起始地址與該第二起始地址固定不變。20.如權利要求13所述的方法,其另包含有於儲存該參考圖片與該目前圖片時,提供位於該幀緩衝器中的一第一儲存庫、一第二儲存庫與一第三儲存庫以供儲存使用;儲存該參考圖片的一第一部分至該第一儲存庫;儲存該參考圖片的一第二部分至該第二儲存庫;儲存該目前圖片的一第一部分至該第三儲存庫;以及儲存該目前圖片的一第二部分至該第一儲存庫。21.如權利要求13所述的方法,其中該幀緩衝器是一動態隨機存取存儲器,並且該第一、第二、第三儲存庫是該動態隨機存取存儲器中不同的儲存庫。22.如權利要求13所述的方法,其應用於一編碼器中以執行位移估測操作,其中該方法另包含有根據位移補償處理多個區塊後的結果來產生一編碼位串流。23.如權利要求13所述的方法,其應用於一解碼器中以執行位移補償,其中該方法另包含有將儲存於該幀緩衝器的多個幀加以顯示。全文摘要本發明提供一種應用於影像解碼器與編碼器的影像處理方法,該方法包含自第一開始地址儲存一參考圖片至一幀緩衝器;自第二開始地址儲存一目前圖片的至少一部分,以覆寫參考圖片的至少一子集合;於儲存目前圖片的各區塊至幀緩衝器時,保護參考圖片的多個區塊以防止其遺失;執行對應目前圖片的一特定區塊的位移補償程序,藉由參考參考圖片中被保護的多個區塊。文檔編號H04N7/26GK1968420SQ200610147040公開日2007年5月23日申請日期2006年11月13日優先權日2005年11月14日發明者李坤儐申請人:聯發科技股份有限公司