新四季網

預測元的存儲方法

2023-09-21 19:25:50 2

專利名稱:預測元的存儲方法
技術領域:
本發明涉及一種使用存儲器存取的預測式解碼方法,特別是涉及一種使用至少一存儲裝置存取一視訊畫面中的多個預測元,並減少存儲裝置的使用量的方法。
背景技術:
1988年MPEG(Motion Picture Experts Group,動畫專家群組)成立。MPEG為ISO(國際標準組織)的一個工作小組,這個工作小組建立並推廣了一些數字視訊及音訊的標準壓縮格式,這些壓縮格式如今已廣泛地應用在全球數位化內容產品的製作上。自1988年成立以來,MPEG公布了數項重要的標準。在影音文件的格式中,動態影像壓縮標準MPEG-2和MPEG-4是其中的佼佼者,兩者在加解碼的操作流程上,也多有相似之處。關於動態影像壓縮標準MPEG-4的部分解碼程序請參閱圖1,圖1為一MPEG-4解碼器(decoder)10中部分裝置的功能方塊圖。圖1的解碼器10包含了一可變長度解碼單元(variable length decoder)12、一反掃描單元14(inverse scanner)、一反DC/AC預測模塊(inverse DC/AC prediction module)16、一反量化單元(inverse quantization unit)18、一反離散餘弦轉換器(inverse DCT)20、以及一移動補償單元(motion compensation unit)22。請見圖1,經壓縮後的視訊(video)數據經過可變長度解碼單元12,經一可變長度解碼程序處理之後,可將編碼端傳來的視訊數據作一基本的解碼操作,接下來經過反掃描單元14進行一反掃描程序,將一維矩陣格式(one-dimensional array)的視訊數據重新還原為二維矩陣格式(two-dimensional array)的視訊數據,而反DC/AC預測模塊16的詳細說明將於之後的篇幅提供。前述該此二維矩陣格式的視訊數據會再經過反量化單元18執行反量化程序後,還原成原來在頻域(frequencydomain)的離散餘弦轉換係數(DCT coefficient)。接下來,產生的該離散餘弦轉換係數隨即輸入至反離散餘弦轉換器20,產生許多非零值的輸出,將影像在頻域上的訊號轉換成為在空間(spatial domain)上的訊號,以將訊號回復成壓縮前的數據流,最後,由移動補償單元22進行一移動補償程序,將所收到的數據流作整合,並根據參考畫面的信息與移動向量來產生出最後的解碼輸出畫面。
請注意,上面簡述中未提及的反DC/AC預測模塊16的相關功能,實為MPEG-4解碼器10最重要的技術特徵之一。請參閱圖2,圖2為一已知反DC/AC預測模塊16的運作的示意圖。圖2承襲了圖1的架構,說明了由反掃描單元14所產生的二維矩陣格式的視訊訊號,會再經反DC/AC預測模塊16進行一預測操作(預測運算),進一步於二維空間上解碼出整個視訊畫面的像素係數(pixel coefficient)。而在反DC/AC預測模塊16的運作過程中,整個視訊畫面被區分為多個8*8像素大小的區塊(block),下一個將被解碼得出的新的區塊的像素係數,則是依據之前已被解碼完成的區塊的部分像素係數,由預測選擇單元24送至反DC/AC預測模塊16,再加上由可變長度解碼單元12計算出的差動值(differential value),兩者合併完成。為求清楚說明圖2的反DC/AC預測模塊16及預測選擇單元24於一視訊畫面上的運作情形,請先參閱圖3。圖3為於一視訊畫面30上的一宏區塊(macro-block)32中執行上述預測操作的示意圖。在動態影像壓縮標準MPEG中,最基本的處理單位是8*8像素大小的區塊,而一個宏區塊32具有16*16像素大小,包含了四個區塊。由於動態影像壓縮標準MPEG採用亮度(luminance)及色度(chrominance)的色彩表示格式,在本實施例中的宏區塊32實際上指的是亮度宏區塊(luminance macro-block)。如此一來,若水平和垂直的色度數據是以相當於亮度的取樣頻率一半的取樣頻率取樣,則原16×16像素被取樣以及該取樣的亮度與色度數據被編碼以產生一亮度宏區塊(Y)與二個色度區塊(Cr和Cb),其中該亮度宏區塊包含有對應於該16×16像素的亮度信息,而該二色度區塊分別包含有對應於該16×16像素的一半的色度信息。
請繼續參閱圖3,宏區塊32包含了一第一區塊B、一第二區塊C、一第三區塊A、及一欲加以解碼的第四區塊X。欲對第四區塊X進行解碼的工作前,會於鄰近區塊(第一區塊B、第二區塊C、第三區塊A)中各自定義出多個預測元(predictor),而此多個預測元依據在每一區塊中的空間配置,又可區分成DC係數(DC coefficient)與AC(AC coefficient)係數兩種。如圖3所示,第一區塊B、第二區塊C、與第三區塊A各自包含一DC係數,分別為DCB、DCC、DCA(圖中雙斜線填滿的格),而對第四區塊X而言,在本次預測操作中,第二區塊C中還包含了多個(七個)AC係數ACC(以二維矩陣格式表示ACC
[n],n為1到7的整數);同理,第三區塊A包含了七個AC係數ACA(以二維矩陣格式表示ACA[n]
,n為1到7的整數)。由於第四區塊X中的部分像素係數有兩個預測元的來源由位於上方的第二區塊C或位於左方的第三區塊A,為了判斷第四區塊X的像素係數是由第二區塊C或第三區塊A中的預測元而得,必須經由一下述的判斷式以決定出一移動向量(|DCA-DCB|<|DCB-DCC|)(式一)若式一成立,則圖2的預測選擇單元24會判斷第四區塊X中的部分像素係數由第二區塊C而來,並決定出一第一移動向量(DCAC方向向量)M1,反的,若式一不成立,則判斷第四區塊X中的部分像素係數由第三區塊A而來,並決定出一第二移動向量M2。在確定預測元的來源及移動向量之後,圖2的反DC/AC預測模塊16則將來源區塊的DC係數加上一DC差動值,設為第四區塊X的DC係數,也就是圖3中所顯示的第四區塊X中的第一個像素係數。接著,圖2的預測選擇單元24會將來源區塊的預測元的AC係數送至反DC/AC預測模塊16,讓AC係數加上一AC差動值,設為第四區塊X的AC係數,且此AC係數位於第四區塊X中的一第一儲存列(storingrow)或一第一儲存行(storing column)。舉例而言,若來源為上方的第二區塊C,圖2的反DC/AC預測模塊16則會將第二區塊C的DCC及ACC分別加上由可變長度解碼單元12計算出的DC差動值及AC差動值,並將得出的結果值設為第四區塊X中一第一儲存列(33)的像素係數,再將整個第四區塊X解碼。同理,若來源為左方的第三區塊A,則第三區塊A的DCA與ACA則會分別加上由可變長度解碼單元12計算出的DC差動值及AC差動值,將得出的結果值設為第四區塊X中一第一儲存行(35)的像素係數,再將整個第四區塊X解碼。
由上可知,MPGE-4的壓縮標準會依據空間上相鄰且已解碼的區塊的預測元,得出欲加以解碼的區塊中的部分像素係數。對整個視訊畫面30而言,依序將每一個區塊經過上述預測操作的處理後,則可產生整個視訊畫面30的像素係數。此外,在解碼的過程中,由於需要不斷的決定出預測元以供欲加以解碼的區塊使用,則系統(如圖1及圖2所示的解碼器10)中必須配置至少一存儲裝置以供儲存多個預測元的用。為推演出完整的預測操作的程序,以下述圖4的例子描述將一宏區塊42解碼的情形,同時也觀察在過程中所需儲存的預測元的數目。請參閱圖4,其為已知技術一實施例的示意圖。與圖3實施例的定義略為不同,於本實施例中欲加以解碼的區塊包含一第一區塊X、一第二區塊Y、一第三區塊X』、及一第四區塊Y』,並將此四區塊合併視為一宏區塊42。在此四區塊的周圍分別有一參考區塊(reference block)B、一第一鄰接區塊A(adjacent block)、一第二鄰接區塊C、一第三鄰接區塊C』、與一第四鄰接區塊A』。此時,請回頭同時參照圖2的架構。承襲圖3實施例中利用上方及左方兩鄰近區塊以得出欲加以解碼的區塊的數據的特徵,在處理第一區塊X時,需要提供位於其左上方的參考區塊B的一預測元(DCB)、位於其上方的第一鄰接區塊A的八個預測元(一個DCC及七個ACC
[1-7])、與位於其上方的第二鄰接區塊C的八個預測元(一個DCC及七個ACC[1-7]
),在圖2中的預測選擇單元24由DCB、DCC、及DCA判斷出正確的預測元來源後,將其餘的AC係數傳送至圖2中的反DC/AC預測模塊16,與可變長度解碼單元12送來的差動值結合,得出第一區塊X的像素係數。意即,為完成第一區塊X的解碼,在系統中需設置一可儲存相當於17個預測元(17=1+8+8)的容量的存儲裝置。在完成第一區塊X的編碼後,在處理第二區塊Y前,由於與第二區塊Y緊鄰的是第一區塊X和第三鄰接區塊C』,則需將第一區塊X的最左行設為預測元,繼續利用第二鄰接區塊C的DCC、第一區塊X的DCX與ACX[1-7]
、以及第三鄰接區塊C』的DCC與ACC』
[1-7]以決定出第二區塊Y的部分像素係數。同理,第一鄰接區塊A的DCA、第一區塊X的DCX與ACX
[1-7]、以及第四鄰接區塊A』的DCA』與ACA』[1-7]
可決定出第三區塊X』的部分像素係數。第一區塊X的DCX、第二區塊Y的DCY與ACY
[1-7]、以及第三區塊X』的DCX』與ACX』[1-7]
可決定出第四區塊Y』的部分像素係數。
對於每一個宏區塊42(包含圖3所述的一(16×16像素大小的)亮度宏區塊32、一個(8×8像素大小的)Cb色度區塊、與一個(8×8像素大小的)Cr色度區塊)而言,上述的預測操作與解碼程序可歸納於圖5,圖5為一已知技術的步驟101在處理宏區塊中的任一區塊時(如圖4的第一區塊X)時,判斷是否具有可執行預測操作的各個預測元。(例如,對於圖4的第一區塊X而言,所需的預測元包含區塊的預測元DCB、第一鄰接區塊A的預測元DCA及ACA[1-7]
、第二鄰接區塊C的預測元DCC與ACC
[1-7]),若有,則進行步驟103,若無,則進行步驟102步驟102以一預定方式設定該欲加以解碼的區塊所需的預測元,如設定所需的DC係數為一固定值,同時設定所需的AC係數為0,預設完成後進行步驟104;步驟103判斷並確定預測元的來源及一相關的移動向量,得出該欲加以解碼的區塊所需的預測元。於實際實施時,可由上述於系統中用來儲存預測元的存儲裝置中,將所需的預測元讀出,並進行步驟104;步驟104將多個預測元中的一DC係數加上由可變長度解碼單元計算出的一DC差動值,產生該欲加以解碼的區塊的DC係數;再將多個預測元中多個AC係數加上由可變長度解碼單元計算出的AC差動值,產生該欲加以解碼的區塊的AC係數,並置於該欲加以解碼的區塊中的第一儲存列或第一儲存行;步驟105使用一計數器(counter),將計數器存儲器的值(整數)加一;步驟106判斷計數器存儲器的值是否大於4,若否,則回頭進行步驟101,繼續處理此宏區塊中的另一區塊,若計數器存儲器的值大於4,則代表將此宏區塊中的四個區塊皆處理完成,則進行步驟107;步驟107執行預測操作與解碼程序於一8×8像素大小的Cb色度區塊與一8×8像素大小的Cr色度區塊;步驟108結束此宏區塊中的預測操作與解碼程序,跳至下一個宏區塊。
上述的已知技術除了已有部分規範於動態影像壓縮標準MPEG-4中之外,許多相關方法及架構披露於Haskell等人提出的US Patent No.6,005,622,「Video coder providing implicit or explicit prediction for image coding andintra coding of video」中。請注意,如圖4實施例中所述,在預測操作與解碼過程中,由於需要不斷決定出預測元以供欲加以解碼的區塊使用,系統中必須配置至少一存儲裝置以供儲存多個預測元之用。依據圖4實施例所述的內容概略推算,宏觀而言,於每一宏區塊的任一區塊中,位於該區塊的最左行及最上列的像素係數都會被決定成預測元,而為了將一宏區塊解碼,系統中必須設置一個可儲存相當於17*6個預測元的容量的存儲裝置(前述的17*6的6的計算方式是四個Y區塊、一個Cb區塊與一個Cr區塊)。繼續以此類推,若欲於二維空間上解碼出一整個視訊畫面中全部的像素係數,所需存取的預測元的數量則相當可觀(以一720×480像素大小的視訊畫面為例,約略會決定出30*45*17*4個預測元)。這也意味著,系統中設置的存儲裝置的容量必須要能儲存如此巨大數量的預測元。只是,關於存儲裝置的容量的考慮,在主要以軟體(Software)操作完成解碼程序的已知技術(如已知專利US Patent No.6,005,622)中並不重要,然而,在今日產業界均欲以一硬體單元整合相關視訊編/解碼器的趨勢下,在系統中,以嵌入晶片(On-chip)式的方法設置具有如此龐大容量的存儲裝置則變的不可行。

發明內容
因此本發明的主要目的在於一種使用較少的存儲空間來存取一視訊畫面中的多個預測元的方法,以解決上述問題。
本發明提供一種預測式解碼方法(predictive decoding method),用以解碼一視訊畫面(picture)以產生對應於該視訊畫面的多個區塊的多個預測元(predictor),該預測式解碼方法包含有(a)將一第一區塊的多個第一垂直預測元(vertical predictor)儲存至一第一存儲裝置的一儲存行(storingcolumn),以及將一第二區塊的多個第一水平預測元(horizontal predictor)儲存至該第一存儲裝置的一儲存列(storing row);(b)執行一預測運算(prediction operation)以依據該多個第一垂直預測元與該多個第一水平預測元來產生一第一目標區塊的多個目標垂直預測元與多個目標水平預測元,其中該第一目標區塊相鄰於該第一與該第二區塊,而該第一區塊與該第一目標區塊系位於同一行;以及(c)利用該多個目標垂直預測元來更新該第一存儲裝置的該儲存行,以及利用該多個目標水平預測元來更新該第一存儲裝置的該儲存列。
本發明還提供一種用以將一宏區塊(macro-block)的多個預測元(predictor)儲存至一第一存儲裝置與一第二存儲裝置內的方法,該宏區塊包含有一第一區塊、一第二區塊、一第三區塊,以及一第四區塊,該方法包含有(a)依據一第一鄰接區塊(adjacent block)與一第二鄰接區塊來產生該第一區塊的多個預測元;(b)於進行步驟(a)後,將該第一區塊的該多個預測元儲存至該第一存儲裝置;(c)於進行步驟(b)後,依據一第三鄰接區塊與該第一區塊產生該第二區塊的多個預測元;(d)於進行步驟(c)後,將該第二區塊的該多個預測元儲存至該第一存儲裝置內;(e)於進行步驟(d)後,依據一第四鄰接區塊或該第一區塊產生該第三區塊的多個預測元;(f)於進行步驟(e)後,將該第三區塊的該多個預測元儲存至該第一存儲裝置與該第二存儲裝置內;(g)於進行步驟(f)後,依據該第二區塊與該第三區塊來產生該第四區塊的多個預測元;以及(h)於進行步驟(g)後,將該第四區塊的該多個預測元儲存至該第一存儲裝置與該第二存儲裝置內。


圖1為一MPEG-4解碼器中部分裝置的功能方塊圖。
圖2為一已知反DC/AC預測模塊的運作的示意圖。
圖3為於一視訊畫面上一宏區塊中執行預測解碼的示意圖。
圖4為已知技術一實施例的示意圖。
圖5為一已知技術的方法實施例的流程圖。
圖6為一視訊畫面的空間配置圖。
圖7為本發明一實施例的示意圖。
圖8為本發明的一詳細方法實施例的流程圖。
圖9為於圖8所示的實施例中再加入一第二存儲裝置的相關操作的流程圖。
圖10為圖7存儲裝置中的儲存行及儲存列的內容變化情形的列表。
附圖符號說明10解碼器12可變長度解碼單元14反掃描單元16反DC/AC預測模塊18反量化單元20反離散餘弦轉換器22移動補償單元 24預測選擇單元30、50視訊畫面 32、42、52宏區塊33第一儲存列35第一儲存行51宏區塊列 53Cb色度區塊55Cr色度區塊56存儲裝置
58第二存儲裝置具體實施方式
在本發明的預測式解碼方法中,該視訊數據比特流(video bitstream)包含有多個視訊畫面(picture),而每一該視訊畫面可以是一動態影像壓縮標準MPEG(moving picture expert group,簡稱MPEG)的規格所定義的一幀(frame)、一上圖場(top field)或是一底圖場(bottom field)。一視訊畫面可區分成多個宏區塊(macro-block)52,而每一個16*16像素(pixel)大小的宏區塊52可被視為是一處理單元(processing unit)。請參閱圖6,圖6為一視訊畫面50的空間配置圖。視訊畫面50包含有多個宏區塊列(macro-blockrow)51,每一宏區塊列51包含有多個宏區塊52,而每一個宏區塊52包含了四個8*8像素大小的區塊。以一720×480像素大小的視訊畫面50為例,其包含了30個宏區塊列51,每一宏區塊列51包含了45個宏區塊52。此外,圖6中亦顯示出一箭號MR1,其代表了本發明處理宏區塊52的順序依序(由左至右)處理在一宏區塊列51中的每一個宏區塊52。承襲圖4的基本架構,在本實施例中所示的宏區塊52可單指一亮度宏區塊(luminancemacro-block),而若水平和垂直的色度數據是以相當於亮度的取樣頻率的一半的取樣頻率取樣,則對應於一宏區塊52的兩個8×8像素大小的色度區塊(分別為Cr和Cb)53、55會先被處理,而接著才會去解碼之後的16×16像素大小的宏區塊52。
請參閱圖7,圖7為本發明一實施例的示意圖,顯示了本發明如何利用一存儲裝置進行預測元(predictor)的存取,以降低相關存儲裝置所需容量的技術特徵。類似於圖4已知實施例中的定義,於本實施例中欲加以解碼的宏區塊52包含一第一區塊X」、一第二區塊Y」、一第三區塊X,以及一第四區塊Y。在此四區塊的周圍分別有一參考區塊(reference block)B』、一第一鄰接區塊A』(adjacent block)、一第二鄰接區塊C』、一第三鄰接區塊C」、與一第四鄰接區塊A」。請注意,於圖7中,在欲加以解碼的宏區塊52的周圍顯示了一存儲裝置(memory device)56,存儲裝置56包含一儲存行56C(storing column)及一儲存列56R(storing row),用來儲存於預測式解碼過程中所產生的預測元,為方便說明起見,存儲裝置56中每一存儲單元(memory cell),如圖7中儲存行56C及儲存列56R中的每一區塊皆可用來儲存一預測元。依循動態影像壓縮標準MPEG-4的預測解碼規則,在處理欲加以解碼的區塊時,利用其鄰近區塊的預測元以得出欲加以解碼的區塊的數據。請見圖7,在處理第一區塊X」時,系統需要提供位於其左上方的參考區塊B』的一預測元(DCB』)、位於其左方的第一鄰接區塊A』的八個預測元(DCA』與ACA』[1-7]
)、與位於其上方的第二鄰接區塊C』的八個預測元(DCC』與ACC』
[1-7])。
在本發明中,我們將預測元依據她們的空間位置來區分成三類垂直預測元(vertical predictor)、水平預測元(horizontal predictor)、以及對角預測元(diagonal predictor)。例如,第一鄰接區塊A』內位於同一行的八個預測元(包含ACA』[1-7]
與DCA』)皆視為垂直預測元,第二鄰接區塊C』內位於同一列的八個預測元(包含ACC』
[1-7]與DCC』)皆視為水平預測元,而位於參考區塊B』內左下角的預測元DCB』則被視為一對角預測元。於本實施例中,每一區塊內的左上角的預測元皆被定義為另一區塊所需的一對角預測元,舉例而言,參考區塊B』的預測元DCB』是第一區塊X」的一對角預測元,而第二鄰接區塊C』的預測元DCC』是第二區塊Y」的一對角預測元;換句話說,一區塊的一水平預測元亦可視為是另一區塊的一對角預測元,以及/或一區塊的一垂直預測元亦可視為是另一區塊的一對角預測元。儲存列56R的八個存儲單元(定義為56R
)將儲存第二鄰接區塊C』的八個水平預測元,而儲存行56C的八個存儲單元(定義為56C
)將儲存第一鄰接區塊A』的八個垂直預測元,而存儲裝置56另有一存儲單元56D,其被保留以存放參考區塊B』的對角預測元DCB』。
請繼續參閱圖7,在系統依據DCB、DCC與DCA』判斷出正確的預測元來源後,將其餘的AC係數與相關的差動值結合(關於與差動值結合的運作程序可參照圖2的已知實施例),得出第一區塊X」的像素係數(pixelcoefficient)。接著,為完成宏區塊52中其餘區塊的預測解碼,將第一區塊X」的最左行及最上列的像素係數都設為預測元,並存入存儲裝置56中。於本實施例中,新決定出的第一區決X」的(水平)預測元DCX」與ACX」
[1-7]會取代原先儲存於儲存列56R
中的第二鄰接區塊C』的八個水平預測元,並儲存至儲存列56R
中。同理,新決定出的第一區塊X」的(垂直)預測元DCX」與ACX」[1-7]
會取代原先儲存於儲存行56C
中的第一鄰接區塊A』的八個垂直預測元,並儲存至儲存行56C
中。如此一來,藉由在存儲裝置56中利用置換取代的方法,即無須浪費額外的空間來儲存預測元。在完成第一區塊X」的解碼後,緊接著準備處理第二區塊Y」。由於與第二區塊Y」緊鄰的是第一區塊X」和第三鄰接區塊C」,因此,需先依據DCC』、DCX」與DCC」來判斷出正確的預測元來源,之後再利用第一區塊X」的DCX」與ACX」[1-7]
以及第三鄰接區塊C」的DCC」與ACC」
[1-7]以決定出第二區塊Y」的預測元的部分像素係數。之後,新決定出的第二區塊Y」的(水平)預測元DCY」與ACY」
[1-7]會取代原先儲存於儲存列56R[8-15]中的第三鄰接區塊C」的八個水平預測元,並儲存至儲存列56R[8-15]中。而新決定出的第二區塊Y」的(垂直)預測元DCY」與ACY」[1-7]
會取代於前一操作中存入儲存行56C
中的第一區塊X」的DCX」與ACX」[1-7]
,並儲存至儲存行56C
中。
同理,在第一鄰接區塊A』的DCA』、第一區塊X」的DCX」與ACX」
[1-7],以及第四鄰接區塊A」的DCA」與ACA」[1-7]
決定出第三區塊X的部分像素係數之後,將會決定出第三區塊X的預測元DCX、預測元ACX
[1-7]與預測元ACX[1-7]
,隨後,新決定出的預測元DCX與ACX[1-7]
將會取代原先儲存於儲存行56C[8-15]中的第四鄰接區塊A」的八個垂直預測元,並儲存至儲存行56C[8-15]中。然後,第一區塊X」的DCX」第二區塊Y」的DCY」與ACY」
[1-7],以及第三區塊X的DCX與ACX[1-7]
將會決定出第四區塊Y的部分像素係數,之後將會決定出第四區塊Y的預測元DCY、預測元ACY
[1-7]與預測元ACY[1-7]
,而隨後,新決定出的預測元DCY與ACY[1-7]
將會取代於前一操作中存入儲存行56C[8-15]中的第三區塊X的DCX與ACX[1-7]
,並儲存至儲存行56C[8-15]中。
本實施例將垂直預測元、水平預測元與對角預測元儲存至存儲裝置56的儲存行56C、儲存列56R與一另外的存儲單元56D,並於存儲裝置56內利用置換取代的方式來節省存儲裝置56的空間。而於實際實施時,存儲裝置56可以為一運作緩存器(processing register),或是在硬體效能容許的情況下,可為一普通的緩存器(register)。本實施例使用一存儲裝置56存取一視訊畫面50中的多個預測元,而執行預測式解碼的方法可歸納於下列步驟,並請見圖8,圖8為本發明的一詳細方法實施例的流程圖
步驟200開始;步驟201當處理一宏區塊52中的一第一區塊X」時,參考多個鄰接區塊以產生第一區塊X」所需的多個預測元(包含多個水平預測元、多個垂直預測元,以及一對角預測元),之後進行至步驟202;請參閱圖7,其中第一區塊X」位於宏區塊52的左上方,而前述該多個鄰接區塊包含有一位於第一區塊X」的左上方的參考區塊B』、一位於第一區塊X」的左方的第一鄰接區塊A』,以及一位於第一區塊X」的上方的第二鄰接區塊C』;步驟202將該多個垂直預測元儲存於儲存行56C
,將該多個水平預測元儲存於儲存列56R
,並將一對角預測元儲存於上述的存儲單元56D,之後進行至步驟203;而新決定出的第一區塊X」的該多個水平預測元將會取代原先儲存於儲存列56R
內的第二鄰接區塊C』的該多個水平預測元,新決定出的第一區塊X」的該多個垂直預測元將會取代原先儲存於儲存行56C
內的第二鄰接區塊C』的該多個垂直預測元,而第二區塊Y」所需的對角預測元DCC』將會取代原先儲存於存儲單元56D內的第一區塊X」所需的對角預測元DCB』;步驟203當處理宏區塊52中的一第二區塊Y」時,參考多個鄰接區塊以產生第二區塊Y」所需的多個預測元(包含多個水平預測元、多個垂直預測元,以及一對角預測元),之後進行至步驟204。請參閱圖7,其中第二區塊Y」位於宏區塊52的右上方,而前述該多個鄰接區塊包含有位於第二區塊Y」的左上方的第二鄰接區塊C』、位於第二區塊Y」的左方的第一區塊X」,以及一位於第二區塊Y」的上方的第三鄰接區塊C」。;步驟204將第二區塊Y」的該多個垂直預測元(共8個)儲存於儲存行56C
,將該多個水平預測元(共8個)儲存於儲存列56R[8-15],並將一對角預測元儲存於該存儲單元56D,之後進行至步驟205。而新決定出的第二區塊Y」的水平預測元將會取代原先儲存於儲存列56R[8-15]內的第三鄰接區塊C」的該多個水平預測元,新決定出的第二區塊Y」的該多個垂直預測元將會取代原先於步驟202中儲存至儲存行56C
內的第一區決X」的該多個垂直預測元(共8個),而第三區塊X所需的對角預測元DCA將會取代原先儲存於存儲單元56D內的第二區塊Y」所需的對角預測元DCC』;步驟205當處理宏區塊52中的一第三區塊X時,參考多個鄰接區塊以產生第三區塊X所需的多個預測元(包含多個垂直預測元,以及一對角預測元),之後進行至步驟206。請參閱圖7,其中第三區塊X位於宏區塊52的左下方,而該多個鄰接區塊包含有位於第三區塊X的左上方的第一鄰接區塊A』、位於第三區塊X的左方的第四鄰接區塊A」,以及位於第三區塊X的上方的第一區塊X」;步驟206將該多個垂直預測元儲存於儲存行56C[8-15],並將一對角預測元儲存於存儲單元56D,之後進行至步驟207。而新決定出的第三區塊X的該多個垂直預測元將會取代原先儲存於儲存行56C[8-15]內的第四鄰接區塊A」的該多個垂直預測元,第四區塊Y所需的對角預測元DCX」將會取代原先儲存於存儲單元56D內的第三區塊X所需的對角預測元DCA』;步驟207當處理宏區塊52中的一第四區塊Y時,參考多個鄰接區塊以產生第四區塊Y所需的多個預測元(包含多個垂直預測元,以及一對角預測元),之後進行至步驟208;請參閱圖7,其中第四區塊Y位於宏區塊52的右下方,而該多個鄰接區塊包含有位於第四區塊Y的左上方的第一區塊X」、位於第四區塊Y的左方的第三區塊X,以及位於第四區塊Y的上方的第二區塊Y」;步驟208將該多個垂直預測元儲存於儲存行56C[8-15],並將一對角預測元儲存於存儲單元56D,之後進行至步驟209。而新決定出的第四區塊Y的該多個垂直預測元將會取代原先儲存於儲存行56C[8-15]內的第三區塊X的該多個垂直預測元,下一宏區塊的一第一區塊所需的對角預測元DCC將會取代原先儲存於存儲單元56D內的第四區塊Y所需的對角預測元DCX;步驟209於一8×8像素大小的Cb色度區塊與一8×8像素大小的Cr色度區塊執行預測操作與解碼程序;以及步驟210結束此宏區塊52中的預測操作與解碼程序,之後處理下一個宏區塊。
請依據圖8的流程圖,並回頭對照圖6的空間配置圖,可清楚得知本發明實施例於處理每一宏區塊52時的預設順序(如箭號MR2所示)。因此,在處理每一宏區塊52時,依照一Z字型的方向依序處理其中四個區塊,而處理完此(16×16像素大小的)亮度宏區塊52後,再處理其所對應的二個8×8像素大小的的色度區塊(分別為Cr和Cb)。處理完一個宏區塊52後,再繼續處理同一宏區塊列中的下一個宏區塊52,依序由左至右(如箭號MR1所示)地處理在該宏區塊列中的每一個宏區塊52。由上可知,宏區塊的處理順序是由左至右於一宏區塊列51中進行,因此當系統在處理完一個宏區塊52時,由於不須立即處理位於該剛被處理完的宏區塊52下方的另一宏區塊52,因此,不需要立即將第三區塊X的水平預測元(DCX與ACX
[1-7])與第四區塊Y的水平預測元(DCY與ACY
[1-7])則存入存儲裝置56中,此亦是因為上述多個水平預測元與位於該剛被處理完的宏區塊52的下方的多個宏區塊52的處理是較無關聯與幫助的,並且其自身仍然等待被處理,所以,這也是為何於圖8的流程圖的步驟中,並未出現如「將新決定出的第三區塊X的水平預測元取代原先儲存於儲存列56R
中的第一區塊X」的水平預測元」以及/或「將新決定出的第四區塊Y的水平預測元取代原先儲存於儲存列56R[8-15]中的第二區塊Y」的水平預測元」等操作步驟。於另一實施例中,除了前述的存儲裝置56外,另規劃一第二存儲裝置58於圖9中,而第二存儲裝置58可用一動態隨機存取存儲器(DRAM)、一靜態隨機存取存儲器(SRAM)、或是一緩存器來實施,用來儲存每一宏區塊52中的(左下方)第三區塊的水平預測元及(右下方)第四區塊的水平預測元,等到處理完整個宏區塊列中的所有宏區塊52後,則可利用儲存於第二存儲裝置58中的預測元對下一個宏區塊列中的宏區塊52作預測解碼的操作。請見圖9,圖9為於圖8所示的實施例中再加入第二存儲裝置58的相關操作的流程圖步驟211於圖8的步驟206中,將第三區塊X的多個水平預測元儲存於第二存儲裝置58內;步驟212於圖8的步驟208中,將第四區塊Y的多個水平預測元儲存於第二存儲裝置58內。
依照圖7所披露的實施例,我們可將儲存行56C
、儲存行56C[8-15]、儲存列56R
與儲存列56R[8-15]中各自內容被取代的情形加以列表整理於圖10。在前述預測操作與解碼過程中,由於本發明將存儲裝置區分成一儲存行與一儲存列,以分別存取並置換儲存於其中的多個垂直預測元、多個水平預測元以及對角預測元,因此,即使需要不斷地決定出預測元以供欲加以解碼的宏區塊使用,所以,本發明能以遠少於實際產生的預測元數量的存儲空間來完整達成預測解碼的功能,而無須如已知技術般用大量的存儲空間來將所有產生的預測元分別儲存。此外,與已知的實施例作比較,在將一宏區塊預測解碼時,本發明只需要一個具有33個存儲單元的存儲裝置即可(33個存儲單元的計算方式是以圖7的實施例為例儲存行56C
、儲存行56C[8-15]、儲存列56R
與儲存列56R[8-15]共耗費4*8=32(存儲單元),再加上儲存一對角預測元所需的1存儲單元),而即使是將上述一第二存儲裝置的容量計算進去,一宏區塊也只多需要16個額外的存儲單元。
於本發明中,系統中所要求的存儲裝置56的所需使用空間大幅減少,以一整張(如720×480像素大小的)視訊畫面為例,能節省下來的存儲空間的容量更是驚人,如此一來,不只是減少了以運作緩存器實施的存儲裝置56的使用空間容量需求,前述以動態隨機存取存儲器實施的第二存儲裝置58亦只需被佔用很小的容量,便可使如圖7所示的存儲裝置56(及第二存儲裝置58)能以嵌入晶片(on-chip)式的方法來整合入硬體系統中,以迎合一降低成本並加速以一單一晶片整合相關於視訊編/解碼器(video CODECs)所有硬體組件的趨勢。
以上所述僅為本發明的較佳實施例,凡依本發明權利要求所做的均等變化與修飾,皆應屬本發明的涵蓋範圍。
權利要求
1.一種用以將一宏區塊的多個預測元儲存至一第一存儲裝置與一第二存儲裝置內的方法,該宏區塊包含有一第一區塊、一第二區塊、一第三區塊,以及一第四區塊,該方法包含有(a)依據一第一鄰接區塊與一第二鄰接區塊來產生該第一區塊的多個預測元;(b)於進行步驟(a)後,將該第一區塊的該多個預測元儲存至該第一存儲裝置;(c)於進行步驟(b)後,依據一第三鄰接區塊與該第一區塊產生該第二區塊的多個預測元;(d)於進行步驟(c)後,將該第二區塊的該多個預測元儲存至該第一存儲裝置內;(e)於進行步驟(d)後,依據一第四鄰接區塊或該第一區塊產生該第三區塊的多個預測元;(f)於進行步驟(e)後,將該第三區塊的該多個預測元儲存至該第一存儲裝置與該第二存儲裝置內;(g)於進行步驟(f)後,依據該第二區塊與該第三區塊來產生該第四區塊的多個預測元;以及(h)於進行步驟(g)後,將該第四區塊的該多個預測元儲存至該第一存儲裝置與該第二存儲裝置內。
2.如權利要求1所述的方法,其中相對應於每一區塊的多個預測元包含有多個垂直預測元、多個水平預測元,以及一對角預測元,該方法還包含有(i)於步驟(b)中,將該第一區塊的多個垂直預測元儲存於該第一存儲裝置的一儲存行,將該第一區塊的多個水平預測元儲存於該第一存儲裝置的一儲存列;(j)於步驟(d)中,將該第二區塊的多個垂直預測元儲存於該第一存儲裝置的該儲存行,將該第二區塊的多個水平預測元儲存於該第一存儲裝置的該儲存列;(k)於步驟(f)中,將該第三區塊的多個垂直預測元儲存於該第一存儲裝置的該儲存行,將該第三區塊的多個水平預測元儲存於該第二存儲裝置;以及(l)於步驟(h)中,將該第四區塊的多個垂直預測元儲存於該第一存儲裝置的該儲存行,將該第四區塊的多個水平預測元儲存於該第二存儲裝置內。
3.如權利要求2所述的方法,其中於步驟(j)中,儲存於該第一存儲裝置的該儲存行內的該第二區塊的該多個垂直預測元取代原本儲存於該儲存行內的該第一區塊的該多個垂直預測元,以及於步驟(l)中,儲存於該第一存儲裝置的該儲存行內的該第四區塊的該多個垂直預測元取代原本儲存於該儲存行內的該第三區塊的該多個垂直預測元。
4.如權利要求2所述的方法,其中一區塊的該多個垂直預測元位於該區塊的最左行,該區塊的該多個水平預測元位於該區塊的最上列,該區塊的該多個垂直預測元以及該多個水平預測元系分別包含有多個AC係數以及一DC係數。
5.如權利要求1所述的方法,其中該第一區塊位於該宏區塊的一左上方,該第二區塊位於該宏區塊的一右上方,該第三區塊位於該宏區塊的一左下方,而該第四區塊位於該宏區塊的一右下方。
6.如權利要求1所述的方法,其中該第一鄰接區塊位於該第一區塊的左方,該第二鄰接區塊位於該第一區塊的上方,該第三鄰接區塊位於該第二區塊的上方,該第四鄰接區塊位於該第三區塊的左方。
7.如權利要求1所述的方法,其中該宏區塊系符合一動態影像壓縮標準MPEG的規格。
全文摘要
一種存儲包含第一區塊、第二區塊、第三區塊和第四區塊的宏區塊的多個預測元的方法,包括(a)依據第一鄰接區塊與第二鄰接區塊產生第一區塊的多個預測元;(b)在步驟(a)後,將第一區塊的多個預測元儲存至第一存儲裝置;(c)在步驟(b)後,依據第三鄰接區塊與第一區塊產生第二區塊的多個預測元;(d)在步驟(c)後,將第二區塊的多個預測元儲存至第一存儲裝置內;(e)在步驟(d)後,依據第四鄰接區塊或第一區塊產生第三區塊的多個預測元;(f)在步驟(e)後,將第三區塊的多個預測元儲存至第一存儲裝置與第二存儲裝置內;(g)在步驟(f)後,依據第二區塊與第三區塊來產生第四區塊的多個預測元;以及(h)在步驟(g)後,將第四區塊的多個預測元儲存至第一存儲裝置與第二存儲裝置內。
文檔編號H04N7/32GK1913643SQ200610108800
公開日2007年2月14日 申請日期2003年8月18日 優先權日2003年8月18日
發明者郭惠華, 林恭生 申請人:聯發科技股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀