專利名稱::在用于處理運動圖像的設備中訪問存儲器的方法
技術領域:
:本發明涉及運動圖像的圖像處理領域(諸如,H.264和運動圖像專家組-4(MPEG-4))。更詳細地說,本發明涉及一種訪問存儲器的方法,其中由用于處理運動圖像的設備處理圖像,所述設備使用運動估計技術和運動補償技術。
背景技術:
:H.264或MPEG-4高級視頻編碼(AVC)與由國際標準化組織/國際電工委員會(ISO/IEC)MPEG建立的標準技術相應,其中ISO/IEC是國際標準化組織,并且聯合視頻組(JVT)是國際電信聯盟-電信標準化部門視頻編碼專家組(ITU-TVCEG)的合伙項目。R264標準已提供區別于現有編碼方案的改進的技術以便提高編碼效率的級別。此外,H.264允許將編碼工具(諸如,使用靈活塊大小的幀內預測、環路去塊效應濾波器、1/4像素運動補償等)用作代表性技術。為了才艮據上述標準的設計/采用實時的編碼器/解碼器(編解碼器),不僅有必要減少執行周期的數量,而且有必要最小化訪問存儲器的次數。由于多數視頻CODEC的幀存儲參考緩沖器(framestoragereferencebuffer)位于外部存儲器,因此幀存儲參考緩沖器相對于由CODEC執行的其他功能需要相當大量的訪問時間。以下表格(表1)示出包括在H.264編碼器中的每個功能模塊中的相關存儲器訪問比率。表l<table>tableseeoriginaldocumentpage4</column></row><table>參照以上表格,W和H分別表示寬度和高度。如表1所示,通過以相對較大的訪問需要比率執行運動壓縮的運動補償部分產生大部分存儲器訪問。具體地說,在移動環境中,因為通過減少幀間預測部分中存儲器^皮訪問的次數使幀間預測速率比幀內預測速率增加得更快,所以非常需要提供一種采用比目前所知的解碼器更有效的解碼器的方案。根據H.264中的運動壓縮具有樹結構的事實,單個宏塊被劃分為16x16、16x8、8xl6或8x8像素群,其中,在每種情況下尋找相關運動向量,并且及時在不同的時間點上預測圖像值。上述處理能夠具體應用在8x8大小的塊被組分為8x4、4x8、4x4大小的子宏塊,以便精確感測詳細的運動的情況。目前,當求出1/2像素或1/4像素時,基本圖像分別被放大2倍或4倍,并隨后可執行運動預測。為了放大圖像,在H,264中,通過使用六抽頭濾波器(例如,六階有限沖擊響應(FIR)濾波器)從參考幀取回像素,并隨后執行預測。圖1是示出在普通運動圖像處理期間進行4x4亮度幀間預測所必需的像素的示圖。參照圖1,在4x4大小的塊(以下,稱為"4x4塊")的情況下,為了通過使用六抽頭濾波器來求出內插像素(諸如,1/2像素或1/4像素等),除了4x4塊像素之外還需要包括與相關塊的上側和下側、以及左側和右側相鄰的額外兩個列/行或額外三個列/行。例如,在圖1中,在使用六抽頭濾波器的情況下,為了求出(垂直內插)將被垂直插入像素A0和Al之間的1/2像素(即,內插像素AO'),在內插中使用A—2、A—1、A0、Al、A2和A3。此時,將權重(即,六抽頭濾波器的抽頭值)賦給參與內插的像素。抽頭數(權重)分別被設置為1、-5、20、20、-5和1。無疑地,能夠以不同方法設置參與內插的像素的數量和賦給參與內插的像素的抽頭數。以下表達式1示出通過使用六抽頭濾波器估計1/2像素AO'的值的公式。表達式1A0,=(1xA—2-5xA—1+20xAO+20xAl-5xA2+lxA3)/32如表達式1,內插像素AO'相應于被分配適當權重的A—2、A—1、A0、Al、A2和A3的加權平均數。然而,由于在幀間預測操作期間參考緩沖器位于外部存儲器,因此在該具體示例中,必要像素的數據字節應被加載到相應于內部中央處理單元(CPU)高速緩沖存儲器的存儲器L1和L2。此時,因為當執行一個16x16宏塊的幀間預測時在最壞情況下存在個數為16的4x4塊,所以總共1296(9x9x16=1296)[字節]的塊應被取回以被讀取。而且,在垂直內插的情況下,應對已被加載到存儲器L1和L2的數據執行濾波,由于存儲器的排列不是連續的,因此存儲器被訪問的次數增加。即,在4x4塊的情況下,通過六次加載產生一個內插#_素,并且因為多于最大值20[字節]的字節不能被加載,所以大部分CPU寄存器具有數量大于20的寄存器。由于垂直內插所必需的總字節相當于36(9x4二36)[字節],所以當36[字節]被加載到寄存器從而對36[字節]執行濾波時,為兩次重新加載而訪問存儲器,從而應通過兩次加載實現濾波。結果,當考慮到寄存器被用于取回另一指令的情況時,更多重新加載需要被請求以執行該操作。相對大量的重新加載對操作所花費的時間產生負面影響。
發明內容并且本發明的示例性方面在于提供一種在運動圖像處理設備中訪問存儲器的方法,該運動圖像處理設備配備有比所述設備在運動補償期間具有的計算性能更有效的計算性能。為了實現本發明的這些方面和其它示例性方面,^提供一種在用于處理運動圖像的設備中訪問存儲器的方法,所述設備從外部存儲器的幀緩沖器加載數據并使用運動預測技術。根據本發明一實施例,步驟可包括當在宏塊的分割之后執行大小為8x8的塊的幀間預測時,從幀緩沖器加載一些大小為8x8的相關塊的像素和幀間預測所需要的額外像素數據。在內部高速緩沖存儲器中存儲大小為8x8的相關塊的像素和額外像素數據,并使用存儲的大小為8x8的相關塊的像素和存儲的額外像素數據;以及在大小為8x8的相關塊和子塊的幀間預測期間重復使用存儲在高速緩沖存儲器中的存儲的大小為8x8的相關塊的像素以及額外像素數據。通過結合附圖進行的以下詳細描述,本發明的上述和其它示例性特點的示例、方面和優點將會變得更加清楚,附圖被提供以示出本發明的特定示例性方面以及各種各樣的配置,其中圖1是示出在普通運動圖像處理期間4x4亮度幀間預測所必需的像素的示圖;圖2是示出在普通運動圖像處理期間產生用于4x4亮度幀間預測的1/2像素和1/4像素的方案的示圖;圖3是示出在普通運動圖像處理期間4x4亮度幀間預測所必需的讀出像素的示圖;圖4是示出在圖3示出的亮度幀間預測期間使用六抽頭濾波器產生垂直內插像素的方案的示圖;圖5是示出根據本發明示例性實施例在運動圖像處理期間用于4x4亮度幀間預測的像素的范圍的示圖;圖6是示出根據本發明示例性實施例在運動圖像處理期間產生用于4x4亮度幀間預測的內插像素的方案的示圖;圖7是示出本發明示例性實施例可被應用的多個運動圖像處理設備中的一個的配置的框圖;以及圖8是應用本發明示例性實施例的CPU的硬件示圖。具體實施方式以下,參照附圖描述本發明示例性實施例,提供本發明示例性實施例的目的是說明性的而不是限制性的。盡管在不同附圖中示出相同的部件,但是在下面的整個描述和附圖中,由相同標號指定所述相同的部件。另外,在本發明的以下描述中,當合并于此的已知功能和配置的詳細描述會通過背景信息混淆本發明的主題時,將省略對它們的詳細描述。圖2是示出在普通運動圖像處理期間產生用于4x4亮度幀間預測的1/2像素和1/4像素的方案的示圖。首先,將參照圖2具體描述代表性技術。如圖2所示,在通過使用六抽頭濾波器執行1/2像素和1/4像素內插的情況下,首先,在水平方向和垂直方向執行1/2像素(例如,b、h、j、m、s等)內插之后,產生1/4像素(a、c、d、e、f、g、1、k等)內插以提供運動向量。圖3是示出在普通運動圖像處理期間4x4亮度幀間預測所必需的讀出像素的示圖。如圖3所示,可以理解為了內插單個4x4塊的像素,除4x4塊的原始像素之外,讀出包括附加像素和除所述附加像素之外在加載附加像素的同時被加載的像素的9x9塊的像素。在現有技術配置中,每當處理相關4x4塊時,從外部存儲器加載9x9塊的像素,在存儲器L2中存儲9x9塊的像素,并處理9x9塊的像素。因此,可以理解從外部存儲器加載的數據的總量為9x9x4=324[字節]。圖4是示出在圖3示出的亮度幀間預測期間使用六抽頭濾波器產生垂直內插像素的方案的示圖。參照圖4,在水平方向的數據從存儲在存儲器L2中的9x9塊加載到寄存器的情況下,因為存儲器跨距(stride)是連續的,所以在按照字(word)執行加載之后,CPU或數字信號處理器(DSP)可實施"乘力口法(MultiplyandAccumulate,MAC)"運算。此外,在加載垂直方向的數據的情況下,存儲器的地址以每個跨距被移動,垂直方向的數據以字節被讀入,并且MAC運算應被執行。為了基于算法執行這些功能,在4x4塊的情況下必須執行36(4x9=36)次存儲器訪問。實際上,如圖4所示,通過96(6x4x4=96)次訪問存儲器L2來執行MAC運算。而且,為了在外部存儲器中存儲從相關計算的結果產生的4x4內插像素,總共16(4x4=16)次操作是必要的。在前述的在垂直方向內插像素的方案中,因為在基本執行6次從存儲器L2的加載操作之后執行MAC運算,所以每周期的MAC運算的數量減少,從而導致系統的性能下降。然而,根據本發明,在亮度幀間預測期間訪問外部存儲器所需的次數減少的同時,能夠使存儲器被訪問的次數最小以便促進實時H.264解碼器的實施例。通過在垂直方向產生內插像素期間從存儲器L2讀出不連續字節來改變間預測的代表性方法中,在計算濾波之后將計算的濾波存儲在外部存儲器中。以下,將參照附圖對減少/最小化存儲器被訪問的次數以及實時H.264解碼器的實施例進行描述。圖5是示出根據本發明示例性實施例在運動圖像處理期間用于4x4亮度幀間預測的像素的范圍的示圖。參照圖5,根據本發明,當在執行16x16、8xl6和16x8塊的幀間預測之后執行8x8塊的幀間預測時,不僅8x8塊的像素被加載到內部高速緩沖存儲器(即,存儲器L2),而且額外像素數據也被加載到內部高速緩沖存儲器。此外,被加載的數據被存儲在內部高速緩沖存儲器,并且重新加載的數據的^皮重復使用以執行8x4、4x8和4x4塊的幀間預測。換句話說,根據本發明,對于8x8塊和8x8塊的子塊的幀間預測,從外部存儲器的幀緩沖器僅加載總量為169(13x13=169)[字節]的數據,并且使用加載的數據。如圖5所示,在本發明中,對于單個8x8塊的幀間預測,除原始8x8塊的像素之外,讀出包括附加像素和除附加像素之外在加載附加像素的同時被加載的像素的13x13塊的像素,并且在幀間預測期間按照這些像素中來自8x8塊的像素的4x4塊來重新使用多個像素。當在幀間預測模式中通過樹結構執行16x16、8x16、16x8和8x8塊的幀間預測時,在8x8塊的情況下,存在與包括4x8、8x4和4x4塊的三個子塊相關的幀間預測模式。在現有方案中,在解碼器接收七種具有樹結構的模式之后,執行內插操作。對照在圖4中的敘述,其中,在與小于8x8大小塊的塊相關的四種模式期間從外部幀緩沖器獨立地讀出相關塊像素數據,在本發明中,8x8塊大小以及額外像素數據被加載,因此,在內插操作期間數據加載任務可減少大約49%。圖6是示出根據本發明示例性實施例在運動圖像處理期間產生用于4x4亮度幀間預測的內插像素的示例性方案的示圖。參照圖6,根據本發明示例性實施例的垂直內插不執行通過按照字節從存儲器L2加載被加載到存儲器L2的13x13塊的像素數據中的相關4x4塊的像素以及相關4x4塊的附加像素中的縱列(file)^隊素來采用FIR濾波器的方案。相反,在該示例性實施例中,濾波器的系數與濾波器分離。隨后,實現以字來加載相關4x4塊的像素數據,從而可完成同步任務。即,如圖6所示,在存儲器跨距連續的存儲器L2的一部分以字(即,4[字節])被讀入到寄存器之后,由寄存器通過字節中的打包(packing)任務,將第一加載字、第二加載字分別加載到寄存器。/。rO、。/。rl等,如圖6所示,權重分配給每個加載字,并且加權的加載字根據以下順序被累加。內插的第一垂直像素=%1"0-5xo/orl+20x%r2+20x%r3-5x%r4+%r5在整個任務中,按照順序將最開始的六個縱列字加載到六個寄存器,實現在寄存器中的打包任務,并且從結果產生的四個字節的順續數據中的每個字節相應于在4x4內插像素中第一行的四個像素中的每一像素。即,在從存儲器L2加載字(6次)之后,同時產生四個內插像素。因此,該任務被執行四次,并且產生所有4x4內插像素。按照這種方式產生的4x4內插像素現在能夠通過總共執行四次的任務以字被存儲在外部存儲器的幀緩沖器中。圖7是示出本發明示例性實施例可被應用的運動圖像處理設備的配置的框圖。參照圖7,解碼器設備被配置以按照與編碼器設備中的編碼過程相反的順序執行過程。首先,熵解碼模塊111按照宏塊對視頻編碼層(VCL)和網絡提取層(NAL)的比特流進行熵解碼。在VCL和NAL中,單個幀被分割為多個像條(slice),—個像條由像條頭和數據字段組成,并且每個像條數據可典型地包括至少一個宏塊。反量化和逆變換模塊113在對熵解碼數據編碼的同時例如對量化的離散余弦變換(DCT)系數進行反量化和恢復,并且在編碼期間將離散余弦變換的數據變換為原始數據。變換的數據被提供給預測模塊115,并通過數據總線100存儲在存儲器119中。根據上述有關本發明的某些示例性方面,預測模塊115根據幀內預測模式或幀間預測模式對輸入的宏塊執行運動補償,并恢復與當前宏塊連接的原始圖像。恢復的結果被提供到去塊效應濾波器模塊117,并隨后通過數據總線100存儲在外部存儲器119的幀緩沖器中。該預測模塊115執行幀內預測和幀間預測,并執行根據本發明的亮度幀間預測。去塊效應濾波器模塊in執行去塊效應濾波,以便消除在恢復的圖像上的塊之間的塊效應,去塊效應濾波的結果被輸出到后端,同時,去塊效應濾波的結果被存儲在外部存儲器119中。以下將描述如在本發明中公開并被配置以操作上述過程的示例性實施例的優點和效果。圖8是應用本發明示例性實施例的CPU的硬件示圖。參照圖8,在CPU(210)中包括寄存器(212)和高速緩沖存儲器(214),即,Ll和L2,其中,高速緩沖存儲器(214)從外部存儲器(220)的幀緩沖器加載與宏塊相關的像素數據。如上所述,在根據本發明的用于處理運動圖像的設備和方法中,訪問存儲器的方案能夠減少/最小化在運動補償的操作期間存儲器被訪問的次數,這促使該設備配備有更有效的計算性能,從而可在實際中實現實時的H.264解碼器(所述實時的H.264解碼器目前尚屬未知)。如上所述,在根據本發明的示例性實施例的用于處理運動圖像的設備中,可實現用于訪問存儲器的改善性能,從而減少并降低處理運動圖像所需要的時間。盡管參照本發明特定示例性實施例示出和描述本發明,但是本領域技術人員將理解在不脫離本發明的精神和范圍的情況下,可對其進行形式和細節上的各種改變。因此,本發明的精神和權利要求的范圍不必被定義和限定在描述的本發明示例性實施例。權利要求1、一種由用于處理運動圖像的設備訪問存儲器的方法,所述設備從外部存儲器的幀緩沖器加載數據并使用運動預測技術,所述方法包括步驟在宏塊分割之后執行8×8大小的塊的幀間預測的同時,從幀緩沖器加載幀間預測所必需的8×8大小的相關塊的像素和額外像素數據,在內部高速緩沖存儲器中存儲8×8大小的相關塊的像素和額外像素數據,并使用存儲的8×8大小的相關塊的像素以及存儲的額外像素數據;以及在8×8大小的相關塊和子塊的幀間預測期間,重復使用存儲在高速緩沖存儲器中的存儲的8×8大小的相關塊的像素和存儲的額外像素數據。2、如權利要求1所述的方法,其中,在8x8大小的塊的子塊中的4x4大小的塊的幀間預測期間執行垂直內插的同時,被存儲在高速緩沖存儲器中的用于垂直內插的4x4大小的相關塊的像素和相關塊的像素的額外像素中,在將存儲器跨距連續的一部分高速緩沖存儲器按照指定的范圍以4字節的字分別讀入到寄存器之后,在寄存器的字節中的打包任務被執行,并且同時產生在4x4大小的內插像素中一行的4個內插像素。3、如權利要求2所述的方法,其中,在被存儲在高速緩沖存儲器中的用于垂直內插的4x4大小的相關塊的像素和相關塊的像素的額外像素中,將存儲器跨距連續的所述一部分高速緩沖存儲器按照指定的范圍以4字節的字讀入到寄存器的步驟與將第一、第二、第三、第四、第五和第六加載字加載到%r0、%rl、%r2、%r3、%r4和。/。r5寄存器的處理相應,并且基于以下表達式2執行在寄存器的字節中的打包任務表達式2%r0_5x%rl+20x%r2+20x%r3-5x%r4+%r5。4、如權利要求1至3的任何一個所述的方法,其中,8x8大小的塊的像素和額外像素數據與13x13大小的塊的像素數據相應。5、一種由用于處理運動圖像的設備訪問存儲器的方法,所述設備將數據從外部存儲器的幀緩沖器加載到內部高速緩沖存儲器,并使用運動預測技術,所述方法包括步驟在宏塊的分割之后執行4x4大小的塊的幀間預測的同時,預先從幀緩沖器至少加載幀間預測所必需的4x4大小的相關塊的像素和額外像素數據,并在內部高速緩沖存儲器中存儲4x4大小的相關塊的像素和額外像素數據,并使用存儲的4x4大小的相關塊的像素和存儲的額外像素數據;在被存儲在高速緩沖存儲器中的用于垂直內插的4x4大小的相關塊的像素和相關塊的像素的額外像素中,將存儲器跨距連續的一部分高速緩沖存儲器按照指定的范圍以4字節的字分別讀入到寄存器;以及執行在寄存器的字節中的打包任務,并同時產生在4x4大小的內插像素中一行的四個內插像素。6、如權利要求5所述的方法,其中,在被存儲在高速緩沖存儲器中的用于垂直內插的4x4大小的相關塊的像素和相關塊的像素的額外像素中,將存儲器跨距連續的所述一部分高速緩沖存儲器按照指定的范圍以4字節的字分別讀入到寄存器的處理與將第一、第二、第三、第四、第五和第六加載字加載到。/。r0、%rl、%r2、%r3、%r4和。/。r5寄存器的步驟相應,并且基于以下表達式2執行在寄存器的字節中的打包任務表達式2<formula>formulaseeoriginaldocumentpage3</formula>全文摘要一種用于訪問用于處理運動圖像的存儲器的方法,所述方法從外部存儲器的幀緩沖器加載數據并使用運動預測技術。所述方法包括步驟在宏塊分割之后執行8×8大小的塊的幀間預測的同時,從幀緩沖器加載幀間預測所需要的8×8大小的相關塊的像素和額外像素數據,在內部高速緩沖存儲器中存儲8×8大小的相關塊的像素和額外像素數據。存儲的8×8大小的相關塊的像素以及額外像素數據被使用;并隨后在8×8大小的相關塊和子塊的幀間預測期間,重新使用存儲在高速緩沖存儲器中的存儲的8×8大小的相關塊的像素和存儲的額外像素數據。文檔編號H04N7/32GK101166277SQ200710180899公開日2008年4月23日申請日期2007年10月19日優先權日2006年10月20日發明者吳潤濟,周永勛,崔光杓,金漢相,金贊烈申請人:三星電子株式會社