TWI473040B - 解碼管線中第二反塊化器 - Google Patents

解碼管線中第二反塊化器 Download PDF

Info

Publication number
TWI473040B
TWI473040B TW98133077A TW98133077A TWI473040B TW I473040 B TWI473040 B TW I473040B TW 98133077 A TW98133077 A TW 98133077A TW 98133077 A TW98133077 A TW 98133077A TW I473040 B TWI473040 B TW I473040B
Authority
TW
Taiwan
Prior art keywords
frame
decoded
decoding
deblocker
frames
Prior art date
Application number
TW98133077A
Other languages
English (en)
Other versions
TW201019271A (en
Inventor
Jia Wei
Original Assignee
Nvidia Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nvidia Corp filed Critical Nvidia Corp
Publication of TW201019271A publication Critical patent/TW201019271A/zh
Application granted granted Critical
Publication of TWI473040B publication Critical patent/TWI473040B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

解碼管線中第二反塊化器
根據本發明之具體實施例概略關於視訊解碼(視訊解壓縮)。
H.264,亦稱之為移動圖像專家群組-4(MPEG-4,“Moving Pictures Experts Group-4”)Part 10或MPEG-4先進視訊編碼(AVC,“Advanced Video Coding”)為一種視訊壓縮的標準。一視訊包括一系列的圖像(或圖框),其每一圖框由像素的二維陣列所構成。該等像素被區分成巨集區塊(一16x16像素陣列)。每個巨集區塊具有一巨集區塊號碼;概言之,該等巨集區塊由該圖框的最左上方開始連續地編號,自左到右、由上到下單調地增加。該等巨集區塊可被群組成薄片,且該等薄片可被群組成薄片群組。在一薄片內的巨集區塊係由聚集區塊號碼A薄片以上升的順序配置,其可包括任何數目的巨集區塊,其可為連續或不連續;也就是說,在一薄片中的巨集區塊可散佈在其它薄片群組之一或多個其它薄片的巨集區塊當中,雖然來自相同薄片群組中的薄片之巨集區塊彼此間並不散佈。
H.264之特徵中允許巨集區塊被群組成薄片,如前所述,其概略稱之為彈性巨集區塊排序(FMO,“Flexible macroblock ordering”),FMO為該錯誤恢復工具之一,其可由一解碼器使用來隱藏錯誤,如果在傳輸期間有遺失薄片或損壞。在一遺失或損壞的薄片中的巨集區塊可由內插或外插來自另一薄片的巨集區塊資訊來重新建構。
另一個H.264特徵概略稱之為任意薄片排序(ASO,“Arbitrary slice ordering”)。利用ASO,薄片可用任何順序傳送。例如,一薄片只要當其預備好即可被傳送,也就是說,一薄片只要當構成該薄片之所有巨集區塊被編碼時即可被串流到一解碼器。因此,來自一薄片群組之薄片可在來自另一個薄片群組之一薄片之後傳送,其後又可跟隨第一薄片群組的另一個薄片,以此類推。
因此,概言之,H.264允許編碼的巨集區塊「無順序性」地傳送。也就是說,該等巨集區塊可用一特定順序編碼(例如由上到下及由左到右,根據巨集區塊號碼以上升順序),但該等巨集區塊被傳送到一解碼裝置的順序,並依此而收到者,可不同於該編碼順序。
除了基本編碼作業之外,解碼裝置執行反塊化作業。在反塊化中,一反塊化過濾器被應用到解碼的巨集區塊,藉以平滑化相鄰巨集區塊間的邊界。
請參照第一圖,為了反塊化巨集區塊M1,會需要巨集區塊M2(為巨集區塊M1左方最近的相鄰者)的資訊,也可能需要巨集區塊M3(在巨集區塊M1上方最近的相鄰者)的資訊。但是,巨集區塊M1可在一薄片中(例如薄片S2),而相鄰巨集區塊M2及M3可在不同薄片(例如薄片S1)或多個薄片中。當ASO致能時,薄片S2可在薄片S1之前被傳送到該解碼器。因此,巨集區塊M1可預備好反塊化,但如果薄片S1尚未到達該解碼器處,反塊化必須被延遲。
因此,H.264解碼基本上使用一兩次通過方式實作。在第一次通過中,執行基本解碼(在反塊化之前解碼),且該解碼的資料依其被解碼時被儲存。在第二次通過中,該解碼的資料被重新載入,並執行反塊化。不幸地是,此種實作對於解碼裝置造成額外的負擔。更特定而言,解碼裝置會需要更高的資料匯流排頻寬來容納資料與記憶體之來回傳送,額外的記憶體來在反塊化之前儲存該解碼的資料,且因為該等第一與第二通過係依序地執行而需要較長的運算時間。
根據本發明之具體實施例,一解碼器包括一第一(在反塊化之前解碼)階段,其係用於解碼一編碼的資料圖框。該解碼器亦可包括一第二(反塊化)階段,其為該第一階段的下游。該第二階段包括一第一反塊化器及一第二反塊化器,其可用於平行地反塊化解碼的圖框。
該等第一及第二反塊化器可彼此平行地作業,亦可與該解碼階段平行作業。例如,該第一反塊化器可反塊化一圖框,而該第二反塊化器正在反塊化另一圖框,同時該解碼階段正在對又另一圖框進行作業。再者,於一些實例中,一反塊化器可對一圖框的一部份進行作業,而該解碼階段正在對相同圖框的一後續部份進行作業。
概言之,一編碼的圖框被接收成為一解碼器之第一階段(該基本解碼階段)之輸入,並被解碼。該解碼的圖框被轉送到該第一反塊化器或該第二反塊化器,使其可被反塊化。在一具體實施例中,該解碼的圖框根據該解碼的圖框如何被分類而被轉送到該第一反塊化器或該第二反塊化器。如果該解碼的圖框被分類成第一種圖框,其被傳送到該第一反塊化器;否則,該解碼的圖框被分類成第二種圖框,其被傳送到該第二反塊化器。
引用一第二反塊化器代表一些圖框的反塊化可自該主要路徑被卸載到一平行的次要路徑。其可降低處理時間,並改善整體效能。
本發明之多種具體實施例的這些及其它目的與好處對於本技藝專業人士將可在閱讀以下例示於多個附圖中該等具體實施例的詳細說明之後而瞭解。
現在將對根據本發明之具體實施例進行詳細參照,其範例皆例示於附屬圖面當中。雖然本發明將配合這些具體實施例說明,其將可瞭解到它們並非要限制本發明到這些具體實施例。相反地,本發明係要涵蓋選項、修正及同等者,其皆包括在由附屬申請專利範圍所定義之本發明的精神及範疇之內。再者,在以下本發明之具體實施例的詳細說明中,為了提供對於本發明之完整瞭解,其提出許多特定細節。但是,本技藝專業人士將可瞭解到本發明可不利用這些特定細節來實施。在其它實例中,並未詳細說明熟知的方法、程序、組件及電路,藉以避免不必要地混淆本發明之具體實施例的態樣。
該等詳細說明的一些部份在以下係以程序、步驟、邏輯方塊、處理,以及其它對於一電腦記憶體內資料位元之作業的符號表示來呈現。這些說明及表示為在資料處理技藝中那些專業人士所使用的手段來最佳地傳遞他們工作的實質內容到本技藝中其他專業人士。概言之,在此處的程序、電腦可執行步驟、邏輯方塊及程序等,其應視為達到所想要結果的一系列自我符合之步驟或指令。該等步驟為那些需要實體數量的實體操縱之步驟。通常但非必要,這些數量可採取電子或磁性信號之型式,其能夠被儲存、轉換、組合、比較,及另可在一電腦系統中操縱。其已證明時而為便利且主要為了通常用法的理由而稱這些信號成為位元、數值、元件、符號、字元、術語、數目或類似者。
但是應要注意到所有這些及類似術語係要關聯於該等適當實體數量,並僅為應用到這些數量的便利標記。除非對於以下討論之說明另有特定陳述,其應瞭解到在本發明中討論所用到的詞語,例如「編碼」、「解碼」、「反塊化」、「接收」、「傳送」、「轉送」、「辨識」、「決定」、「分類」、「比較」、「選擇」、「儲存」、「處理」、「使用」、「初始化」、「設定」、「旗標化」、「存取」、「關聯」或類似者,其代表一電腦系統或類似電子運算裝置之動作及程序,其操縱及轉換表示成該電腦系統之暫存器及記憶體內物理性(電子)個體之資料成為類似地表示成該電腦系統記憶體或暫存器或其它這種資訊儲存器、傳輸或顯示裝置內物理個體之其它資料。
第五圖、第六圖、第八圖及第九圖為根據本發明之具體實施例中用於處理資料之電腦實施方法的範例之流程圖。雖然在流程圖中揭示特定步驟,這些步驟為示例性。也就是說,本發明可良好適用於執行在該等流程圖中所述之多種其它步驟及該等步驟之變化。
第五圖、第六圖、第八圖及第九圖之流程圖可實作成存在於某種型式的電腦可使用媒體之電腦可執行指令,例如程式模組,其由一或多部電腦或其它裝置執行。概言之,程式模組包括例式、程式、物件、組件、資料結構等,其可執行特殊工作或實施特定的摘要資料型態。該等程式模組的功能在多種具體實施例中可視需要組合或分散。
例如(但非限制)電腦可使用媒體可以包含電腦儲存媒體與通信媒體。電腦儲存媒體包括揮發性與非揮發性,可移除與不可移除媒體,其可實施成儲存資訊的任何方法或技術,例如電腦可讀取指令、資料結構、程式模組或其它資料。電腦儲存媒體包括但不限於隨機存取記憶體(RAM,“Random access memory”)、唯讀記憶體(ROM,“Read only memory”)、電性可抹除可程式化ROM(EEPROM)、快閃記憶體或其它記憶體技術、光碟ROM(CD-ROM,“Compact disk ROM”)、數位多功能碟片(DVD,“Digital versatile disk”)、或其它光學儲存器、磁碟片、磁帶、磁碟儲存器、或其它磁性儲存裝置,或任何其它可用於儲存所需要資訊的媒體。
通訊媒體可包含電腦可讀取指令、資料結構、程式模組或其它在一調變的資料信號中的資料,例如載波或其它輸送機制,並包括任何資訊傳遞媒體。該名詞「調變資料信號」代表一信號中其一或多項特性為利用方法設定或改變以在該信號中編碼資訊。藉由範例(而非限制),通信媒體包括有線媒體,像是有線網路或直接線路連接,以及無線媒體,像是聲波、射頻(RF,“Radio frequency”)、紅外線及其它無線媒體。任何上述的組合亦必須包含在電腦可讀取媒體的範圍內。
第二圖為根據本發明之具體實施例在其上可以實作一解碼器之系統20的範例之方塊圖。在第二圖的範例中,該系統包括一主控中央處理單元(CPU,“Central processing unit”)21,其經由一匯流排25耦合至一繪圖處理單元(GPU,“Graphics processing unit”)22。該GPU亦可稱之為一媒體處理單元(MPU,“Media processing unit”)。該CPU與該GPU皆耦合至一記憶體24。在第二圖的範例中,該記憶體為一共享的記憶體,藉此該記憶體同時儲存CPU與GPU的指令與資料。或者,分別也獨立的記憶體專屬於CPU與GPU。該記憶體亦可包括用於儲存驅動一耦合的顯示器23之像素資料的一視訊圖框緩衝器。
概言之,系統20包括一電腦系統平台的基本組件,其實作根據本發明之具體實施例的功能。系統20可實作成例如任何數目之不同種類的電腦系統(例如膝上型、桌上型及筆記型),以及家庭娛樂系統(例如DVD播放器),例如機上盒或數位電視,一攜帶式或掌上型電子裝置(例如攜帶式電話、個人數位助理、或掌上型遊戲裝置),或幾乎任何具有顯示能力的其它種類的裝置。
第三圖為根據本發明一具體實施例的一解碼器30之元件的方塊圖。概言之,該解碼器接收一編碼的位元流31,解碼在該位元流中的資料,並產生可顯示的影像資料34。
在一具體實施例中,未處理影像資料(例如視訊資料)使用某種壓縮方式被壓縮,以產生一組編碼參數,例如但非限於圖框型式(例如外編碼1-圖框,預測的P-圖框或雙預測的B-圖框),巨集區塊預測模式(例如區塊間相對於區塊外),轉換(例如離散餘弦轉換)係數,圖紋係數及行動向量資訊。然後該等編碼參數例如使用Huffman編碼轉譯成可變長度碼(VLC,“Variable length codes”)。該編碼的位元流為含有該等VLC之序列化的位元流。
該解碼器基本上倒反該編碼程序來重新建構該影像資料。在第三圖的範例中,該解碼器包括一解碼管線36,其包括一解碼階段32及一反塊化階段33。
該解碼階段執行基本解碼作業,例如可變長度解碼、反量化、逆轉換及行動補償。概言之,該解碼階段語法解析該編碼的位元流來擷取該等VLC,然後轉譯該VLC來重製該等編碼參數,如上所述。該等編碼參數之後用於重新建構該原始視訊資料(更特定而言為建構該原始視訊資料的一個版本)。
該反塊化階段應用一反塊化過濾器來解碼巨集區塊,藉以當顯像(顯示)該重新建構的影像時可平滑化相鄰巨集區塊之間的邊界。例如,一反塊化過濾器可利用位於或靠近相鄰巨集區塊之邊界處的像素數值之加權平均來混合沿著該邊界的該等巨集區塊,藉以移除由該壓縮(編碼)程序引入的人為效果,如果未移除,其會造成該重新建構的影像呈現出塊狀。在一具體實施例中,該反塊化階段包括兩個反塊化器,其在以下配合第四圖進一步說明。
在以下的討論中,除非另有標註,一「解碼器」稱之為一元件(例如一獨立運作或周邊裝置,或一整合式系統),其同時執行解碼及反塊化。「解碼」除非另有標註,係代表如上述之基本解碼作業(例如可變長度解碼、反量化、逆轉換及行動補償)。該用語「完全解碼資料」及「完整解碼資料」除非另有標註係指已經同時解碼及反塊化的資料。
在一解碼管線中第二反塊化器
第四圖為根據本發明一具體實施例中耦合至一圖框緩衝器45與一顯示器46之解碼器的元件之方塊圖。在第四圖的範例中,該解碼器包括一解碼階段32及一反塊化階段33。該反塊化階段包括一第一反塊化器41與一第二反塊化器42。來自該解碼階段通過該第一反塊化器的路徑在此處可稱之為通過該解碼管線的主要路徑,而來自該解碼階段經由第二反塊化器之路徑在此處可稱之為通過該解碼管線的次要路徑。在一具體實施例中,一儲存元件43耦合在該解碼階段之輸出與該第二反塊化器之輸入之間,且亦耦合至該第一反塊化器之輸入。
該等第一與第二反塊化器之輸出係儲存在該圖框緩衝器中。該圖框緩衝器之內容可依序顯像在該顯示器上及/或用於解碼另一個圖框。在後者的例子中,一旦一圖框(例如一基準圖框,像是I-圖框或P-圖框,或可能為一B-圖框,根據H.264,一B圖框可做為一基準圖框)被解碼,其可被依靠來解碼一或多個後續圖框(例如另一個P-圖框或B-圖框)。由其它圖框所依靠來解碼的每個圖框可保留在該圖框緩衝器中,以在當那些其它圖框被解碼時可以使用。在一些實作中,除了該圖框緩衝器之外的記憶體可用於儲存解碼其它圖框所依靠的圖框。
該等第一及第二反塊化器可彼此平行地作業,亦可與該解碼階段平行作業。例如,該第一反塊化器可反塊化一圖框,而該第二反塊化器正在反塊化另一圖框,同時該解碼階段正在對又另一圖框進行作業。再者,於一些實例中,一反塊化器可對一圖框的一部份進行作業,而該解碼階段正在對相同圖框的一後續部份進行作業。換言之,在某些狀況下,在一圖框中巨集區塊可被解碼,直接輸入到該第一反塊化器,並在該處反塊化,其平行於該圖框中其它巨集區塊的解碼。關於在該處反塊化之額外資訊配合第六圖、第八圖及第九圖提供。
引用一第二、單獨運作之反塊化器代表在以下列舉的狀況之下,一些圖框的反塊化可自該主要路徑被卸載到一平行的次要路徑。其可降低處理時間,並改善整體效能。
概言之,第四圖的解碼器之作業如第五圖之流程圖所描述,其中顯示根據本發明一具體實施例使用一第二反塊化器處理資料的電腦實施方法。在第五圖的方塊51中,一編碼的圖框被接收成為一解碼器之第一階段(該基本解碼階段)之輸入。在方塊52中,該編碼的圖框被解碼,以產生一解碼的圖框(在反塊化之前解碼)。
在方塊53中,該解碼的圖框被轉送到該第一反塊化器或該第二反塊化器,以使其可被反塊化。在一具體實施例中,該解碼的圖框根據該解碼的圖框如何被分類而被轉送到該第一反塊化器或該第二反塊化器。如果該解碼的圖框被分類成第一種圖框,其被傳送到該第一反塊化器;否則,該解碼的圖框被分類成第二種圖框,其被傳送到該第二反塊化器。關於圖框之分類化的額外資訊配合第六圖提供。
在第五圖的方塊54中,該完全解碼(同時解碼及反塊化)之圖框被轉送到一圖框緩衝器,所以其可用於重新建構一後續圖框及/或顯像來觀看。
解碼管線中可調式反塊化
在一具體實施例中,第四圖的解碼器以如第六圖之流程圖中所述之可調式方法作業,,其中顯示根據本發明一具體實施例使用一第二反塊化器處理資料的電腦實施方法。在方塊61中,一解碼器存取一編碼的圖框。
在方塊62中,對於該圖框是否為一「順序中圖框」或「無順序圖框」做出判定。如此處所使用者,一順序中圖框為一圖框中包含以一預定順序安排的巨集區塊,如果在一圖框中巨集區塊的安排可滿足一特定預先定義的順序,則該圖框被分類成一順序中圖框;否則,該圖框被分類成一無順序圖框。如前所述,使用彈性巨集區塊排序(FMO,“Flexible macroblock ordering”)及/或任意薄片排序(ASO,“Arbitrary slice ordering”)編碼的圖框為無順序圖框的示例。
圖框標頭可不包含用於辨識圖框為FMO/ASO圖框或是為順序中圖框及無順序圖框之資訊。但是在一具體實施例中,在該圖框中關聯於每個巨集區塊之巨集區塊號碼可用於推論出一圖框為一順序中圖框或一無順序圖框,其方法在以下說明。
概言之,該等巨集區塊號碼重合於該等巨集區塊被編碼的順序。例如,巨集區塊可被連續地編號,由該圖框的最左上方巨集區塊開始,單調地由左到右及由上到下增加。該等巨集區塊概言之亦由該圖框的最左上方巨集區塊開始編碼,而由左到右及由上到下進行(有時候稱之為「掃描場解析器掃描順序」)。因此,如果在一編碼的圖框中該等巨集區塊以它們被編碼的順序在一解碼器處被接收,則在該圖框中該等巨集區塊號碼即為有順序。
因此在一具體實施例中,如果在一圖框的編碼版本中該等巨集區塊號碼(因此在該圖框的解碼版本中)係依照號碼順序,則該圖框為順序中圖框;否則該圖框為一無順序圖框。在一具體實施例中,當該解碼器接收到一圖框中一巨集區塊(該「有興趣巨集區塊」(macroblock of interest)在此處亦稱之為「目前巨集區塊」(current macroblock)),該解碼器比較該有興趣巨集區塊之巨集區塊號碼與就在該有興趣區塊之前收到的該巨集區塊的巨集區塊號碼。換言之,該解碼器能夠依照該等巨集區塊在該解碼器處接收到的順序來比較巨集區塊的巨集區塊號碼,如下示:如果MB_IDj+1 =MB_IDi +1,對於所有i=0,1,...N-1,則該圖框為順序中;否則該圖框為無順序;其中「MB_ID」為一巨集區塊號碼,「i」對應於該等巨集區塊被接收的順序,而「N」為在該圖框中巨集區塊的號碼。
繼續參照第六圖,如果該圖框被分類成一無順序圖框,則該流程圖進行到方塊63;否則,該流程圖前進到方塊64。
在方塊63中,對於該無順序圖框為一「基準圖框」或一「非基準圖框」做出判定。如此處所使用,一基準圖框為另一圖框所依靠來進行解碼的圖框。基準圖框的範例為1-圖框及P-圖框(有時候稱之為1-圖像及P-圖像)。根據H.264,一B圖框可用做為一基準圖框。如此處所使用者,一非基準圖框為一並非基準圖框的圖框。一B-圖框(或B-圖像)為一非基準圖框的範例。關聯於每個圖框的一圖框標頭在習知上包括可辨識一圖框為一I-圖框、P-圖框或B-圖框的資訊。
如果該圖框被分類成一基準圖框,則該流程圖進行到方塊64;否則該流程圖進行到方塊65。
在方塊64中,一順序中基準圖框或順序中非基準圖框使用第四圖的第一反塊化器來完全解碼(基本解碼加上反塊化)。也就是說,該圖框被「現場」(on-the-spot)反塊化,該圖框在反塊化之前並不需要儲存在記憶體中,其相反於無順序非基準圖框被處理的方式(參見第六圖的方塊65、66及67)。
如果該圖框為一順序中基準圖框或一順序中非基準圖框,則反塊化可在當該圖框被解碼時發生。概言之,為了被分類成一順序中圖框,在該圖框中所有巨集區塊皆為有順序,如上所述。請回頭參照第一圖,為了反塊化巨集區塊M1,其利用來自巨集區塊M2及M3的資訊(例如該巨集區塊之左側的最靠近相鄰者,及/或在該巨集區塊上方最靠近相鄰者)。在一順序中圖框中,一般性的規定為巨集區塊M2及巨集區塊M3皆將在巨集區塊M1預備好反塊化之前被解碼及反塊化,而無關於在該圖框中巨集區塊M1的位置。
概言之,在一順序中之圖框中,被依靠來反塊化一特定巨集區塊的該等巨集區塊將在反塊化該特定巨集區塊前及時被解碼及反塊化。因此,一順序中圖框當在該圖框中每個巨集區塊被解碼時即可在現場被反塊化,該解碼的巨集區塊可直接被轉送到該第一反塊化器,並在基本解碼之後立即被反塊化。
當處理一順序中圖框時,一巨集區塊可在當下一個巨集區塊正在被解碼時被反塊化。類似地,一旦在一圖框中所有巨集區塊皆已被解碼時,該管線的解碼階段即開始解碼下一圖框中的巨集區塊,即使該先前圖框中的巨集區塊正在被反塊化。也就是說,該反塊化階段可以正在處理一圖框的後面巨集區塊,而該解碼階段正在處理下一個圖框之第一巨集區塊。
在第六圖的方塊65中,解碼一無順序非基準圖框(僅做基本解碼)。此時,第四圖的解碼階段可以用來開始解碼下一個圖框。
在第六圖之方塊66中,一解碼的無順序非基準圖框視需要儲存在第四圖的儲存元件43中。當該圖框為一無順序非基準圖框時,其可能需要儲存該圖框中部份或所有的該等解碼巨集區塊,直到需要用來反塊化那些巨集區塊的其他巨集區塊也被解碼。再者,非基準圖框並不會被依靠來解碼另一個圖框,因此如果為了某種理由較佳時,可以延後反塊化。在方塊67中,一無順序非基準圖框使用第四圖的第二反塊化器被反塊化。
因此,完成一無順序非基準圖框的基本解碼之後,該解碼的資料被傳送到該第二反塊化器進行反塊化。同時,該主要解碼路徑可用於解碼下一個圖框。也就是說,當一無順序非基準圖框正在反塊化時,下一個圖框可平行於(在時間上重疊)該反塊化被解碼。依此方式,即使將FMO/ASO致能,非基準圖框解碼可與順序中圖框解碼同樣快速進行。概言之,在一視訊序列中大多數圖框為非基準圖框。因此,藉由相當於一順序中解碼之速率處理非基準圖框,該解碼管線的整體效能可顯著地改善。
總結第六圖之具體實施例,如果一解碼的圖框被分類成一基準圖框(不論在該圖框中該等巨集區塊為順序中或無順序),則該解碼的圖框被直接傳送到該第一反塊化器進行在現場反塊化。如果一解碼的圖框被分類成一順序中無基準圖框,則該解碼的圖框亦直接被傳送到該第一反塊化器進行在現場反塊化。同時,如果一解碼的圖框被分類成一無順序非基準圖框,則其被傳送到該第二反塊化器。換言之,根據上述之具體實施例,該第一反塊化器反塊化基準圖框(順序中或無順序)及順序中非基準圖框,而該第二反塊化器反塊化無順序非基準圖框。
因此,根據本發明一具體實施例,其除了區別基準與非基準圖框之外,亦可能區別順序中與無順序圖框。換言之,基於即時性輸入資料,其有可能立即偵測(更特定而言為推斷)ASO/FMO編碼,然後依此調整該解碼方式(特定而言為該反塊化方式)。即時性偵測ASO/FMO對於通訊應用中要達到低延遲處理特別地重要,其中並不保證在一圖框中薄片的到達順序。此處所述之具體實施例在當未使用ASO/FMO時可執行順序中解碼,而當使用ASO/FMO時可降低處理延遲,而不需要事先知道是否使用ASO/FMO。
根據本發明一具體實施例,一第二反塊化器被引用到一解碼管線中,以使對於某些種類的圖框,該反塊化工作可自該主要解碼路徑(包括該第一反塊化器之路徑)卸載到一平行次要路徑(包括該第二反塊化器之路徑)。因此,該第一反塊化器實際上為保留給反塊化更為基本的圖框(例如基準圖框)。因此,更為基本的圖框之反塊化可以更快地執行。再者,該第一反塊化器亦可有效地保留來反塊化可在現場被反塊化的圖框(例如順序中圖框)。因為在現場反塊化係在當巨集區塊被解碼時完成,使用第一反塊化器進行在現場反塊化並不會對於該解碼管線造成任何延遲。
藉由利用兩個反塊化器來處理不同種類的圖框,圖框解碼及反塊化整體而言可更快速地完成,因為解碼及反塊化可使用對於每一特定圖框種類為最快速的管線路徑來完成。此外,對於基準圖框及順序中圖框使用在現場反塊化可降低通過資料匯流排的流量,且亦降低儲存的資料量,因為其不需要儲存及取出解碼的資料,如同習用的兩次通過實作一般。概言之,使用一第二反塊化器可改善整體解碼器效能。
該第二反塊化器並不必要使用一專屬的處理器或其它專屬硬體資源來實作。該第二反塊化器可使用例如為閒置的GPU或CPU來實作。換言之,在一些並非大多數的狀況下,該第二反塊化器可能不會作用在時間關鍵的圖框,所以當資源可以使用時可利用既有的硬體資源來提供該第二反塊化器的功能。
在一圖框中巨集區塊之在現場反塊化
在以上第六圖的討論中,基準圖框及順序中非基準圖框可以在現場(在解碼之後立即)反塊化,但無順序非基準圖框被解碼、儲存,並在稍後被反塊化。但是,在分類成無順序圖框的一圖框內,可有順序中的巨集區塊之序列。在一些狀況下,在一無順序圖框中的順序中巨集區塊之序列可在現場被反塊化。
特別是,在一圖框中一特定巨集區塊在當在該圖框中於其之前已經被解碼及反塊化(完全解碼)之所有巨集區塊時可被反塊化。另一方面,如果並非所有在一特定巨集區塊之前的巨集區塊已經完全被解碼時,當所有先前的巨集區塊已經完全解碼時該特定巨集區塊被儲存,並在後續對於反區塊來重新載入,其方式類似於以上對於該圖框層級所述。在一巨集區塊被反塊化之後,其之後可用於反塊化已經被解碼但並未反塊化之接續的巨集區塊,其之後可用於反塊化已經被解碼但並未反塊化之另一個接續的巨集區塊,依此類推,直到所有合格可反塊化之巨集區塊已經被反塊化為止。
第七A圖為一陣列70的範例,其可用於追蹤在一圖框中該等巨集區塊的反塊化狀態。該陣列包含在該圖框中每個巨集區塊之一位元值。該位元值被設定來辨識哪些巨集區塊已經被解碼但並未被反塊化。如果一巨集區塊的位元未被設定,則該等巨集區塊不是尚未被解碼,或已經被解碼及反塊化。換言之,該位元被設定來辨識成為反塊化之候選者的巨集區塊。
在第七A圖之範例中,該陣列包括位元值的一4x3陣列。第七A圖代表僅為一視訊資料之一圖框的一部份;概言之,一圖框包括遠比12個巨集區塊要多。初始時,所有該等位元值被設定為相同的位元值(例如零)。在一圖框已經完全解碼之後,該陣列被重新初始化。
第七B圖為該陣列於該等巨集區塊M0、M1、M2及M3已經被解碼及反塊化之後某個時間該陣列之範例。在第七B圖的範例中,巨集區塊M0、M1、M2及M3係在相同薄片(薄片S1)中,其以它們被編碼的順序(例如依以下順序M0、M1、M2、M3)的順序在該解碼器處被接收。巨集區塊M0可在現場被解碼及反塊化,因為其並不依靠在該目前圖框中另一個巨集區塊來進行反塊化。在現場反塊化使用第四圖之第一反塊化器沿著通過該解碼管線的主要路徑來執行。
然後巨集區塊M1可使用該第一反塊化器在現場被解碼及反塊化,因為在目前圖框中其僅依靠巨集區塊M0進行反塊化。概言之,反塊化巨集區塊M1所需要的所有巨集區塊已經被解碼及反塊化。換言之,在編碼順序中巨集區塊M1之前的所有巨集區塊已經被接收及反塊化。相同的一般化依此可應用到巨集區塊M2及M3,因此那些巨集區塊亦可使用該第一反塊化器在現場被解碼及反塊化。在圖面中,使用一星號來代表巨集區塊M0、M1、M2及M3已經被解碼及反塊化。在實際運作中,其不需要有這種差別。
在薄片S1之後,由巨集區塊M6及M7構成的薄片S2在該解碼器處被接收。也就是說,該等巨集區塊並未依順序被接收。巨集區塊M6及M7可被解碼但不能被反塊化,因為在編碼順序上巨集區塊M6及M7之前的所有巨集區塊(例如巨集區塊M4及M5)尚未被接收及反塊化。因此,對應於巨集區塊M6及M7之位元值在該陣列中被設定(例如設定為數值1),如第七C圖所示。同時,該解碼的巨集區塊M6及M7儲存在記憶體中(例如第四圖之儲存元件43)。
在薄片S2之後,由巨集區塊M8及M9構成的薄片S3在該解碼器處被接收。巨集區塊M8及M9可被解碼但不能被反塊化,因為在巨集區塊M8及M9之前尚未接收及反塊化的所有巨集區塊(此時巨集區塊M4及M5尚未被反塊化)。因此,對應於巨集區塊M8及M9之位元值在該陣列中被設定(例如設定為數值1),如第七D圖所示。
在薄片S3之後,由巨集區塊M4及M5構成的薄片S4在該解碼器處被接收。巨集區塊M4可在該第一反塊化器中在現場被解碼及反塊化,因為在編碼順序上於其之前的所有巨集區塊(即巨集區塊M0、M1、M2及M3)已經被解碼及反塊化。在巨集區塊M4被反塊化之後,巨集區塊M5在該第一反塊化器中在現場被解碼及反塊化。
再者,一旦巨集區塊M5被反塊化,在巨集區塊M6之前所有巨集區塊將已經被反塊化,所以巨集區塊M6可自儲存器取得,並被反塊化。在此例中,巨集區塊M6使用第四圖之第一反塊化器沿著通過該解碼管線的主要路徑來反塊化。一旦巨集區塊M6被反塊化,巨集區塊M7自儲存器取得,並使用該第二反塊化器反塊化,依此類推到巨集區塊M9。在此例中,巨集區塊M10及M11在此時並未被反塊化,即使所有先前巨集區塊已經被解碼及反塊化,因為巨集區塊M10及M11本身尚未被接收及解碼。一旦巨集區塊M10及M11被收到,它們使用第四圖之第一反塊化器在現場被解碼及反塊化。
根據上述之具體實施例,一巨集區塊可具有下列三種狀態之一:尚未解碼(不完整基本解碼);解碼但未反塊化;及解碼及反塊化。但是,僅有需要具有兩種狀態之一二元化位元,可代表每個巨集區塊之狀態,因為該陣列用於辨識為反塊化的候選者(那些已經被解碼但未反塊化之巨集區塊)。為了辨識進行反塊化之巨集區塊的目的,其不需要區別尚未被解碼之巨集區塊以及已經被解碼及反塊化者。
第八圖為根據本發明一具體實施例中用於在現場反塊化巨集區塊的電腦實施方法之流程圖。在方塊81中,一變數「Last_Db_MB」(對於最後反塊化的巨集區塊)被初始化到數值-1(負1)。第七A圖的陣列亦被初始化,如此處先前所述。
在方塊82中,目前巨集區塊M之巨集區塊號碼(「MB_ID」)被存取。在方塊83中,MBJD的數值相較於Last_Db_MB加數值1的數值(Last_Db_MB+1)。實際上,方塊83用於決定該等巨集區塊是否以有順序或無順序接收,如果有順序,決定在立即之前的巨集區塊M-1是否被完全解碼(解碼及反塊化)。如果MBJD的數值等於Last_Db_MB+1,目前巨集區塊M為被反塊化之最後巨集區塊Last_Db_MB之後的下一巨集區塊,也就是說,目前巨集區塊M的巨集區塊號碼及最後反塊化的巨集區塊Last_Db_MB之巨集區塊號碼為連續號碼,而該流程圖進行到方塊87。否則,該等巨集區塊以無順序方式接收,或該目前巨集區塊M並非在最後反塊化的Last_Db_MB之後的下一巨集區塊,也就是說,目前巨集區塊M與最後反塊化的巨集區塊Last_Db_MB區隔一或多個尚未被反塊化的巨集區塊,該流程圖進行到方塊84。
在方塊84中,該目前巨集區塊M被解碼(但未被反塊化),且該解碼的資料被儲存(例如在第四圖之儲存元件43中)。在方塊85中,該目前巨集區塊M被旗標化成正在被解碼但並未被反塊化。在一具體實施例中,對應於目前巨集區塊M的一位元值在一陣列中被設定,如以上配合第七A圖到第七D圖所述。
在第八圖的方塊86中,如果該目前巨集區塊M並非在該圖框中的最後巨集區塊,則該流程圖回到方塊82(除非有某種錯誤,第八圖的流程圖在此時將永遠回到方塊82)。
在方塊87中,該目前巨集區塊M使用第四圖之第一反塊化器在現場被解碼及反塊化。如上所述,如果在編碼順序中之前的所有巨集區塊亦已經被反塊化,一巨集區塊可被反塊化。如果在該目前巨集區塊M立即之前的巨集區塊M-1已經被反塊化(如該流程圖中的方塊83中被決定),則該目前巨集區塊M可被反塊化。換言之,為了已經被反塊化,該巨集區塊M-1將已經滿足所有先前巨集區塊已經被反塊化的條件;因為該目前巨集區塊M在該巨集區塊M-1立即之後,其也將會滿足該條件。
在第八圖的方塊88中,自儲存器取得其它合格的巨集區塊,使用第四圖之第二反塊化器來反塊化。也就是說,在編碼順序中在該目前巨集區塊M立即之後的巨集區塊M+1亦可被反塊化,如果巨集區塊M+1先前已經被解碼及儲存。一旦巨集區塊M+1被反塊化時,在編碼順序上在巨集區塊M+1立即之後的巨集區塊M+2可被反塊化,如果其先前已經被解碼及儲存,依此類推。在一具體實施例中,合格進行反塊化之每個巨集區塊在一陣列中被旗標化,例如第七A圖-第七D圖之陣列。在以下亦配合第九圖提供額外的資訊。
在第八圖的方塊89中,如果該目前巨集區塊M(其現在等於最後反塊化的巨集區塊Last_Db_MB)並非該圖框中的最後巨集區塊,則流程圖回到方塊82。否則,該圖框被完全解碼。
第九圖為根據本發明一具體實施例中用於反塊化合格的巨集區塊之電腦實施方法之流程圖。在方塊91中,在該圖框中第N個巨集區塊被反塊化,並辨識合格用於反塊化之其它巨集區塊。在一具體實施例中,像是第七A圖-第七D圖之陣列的陣列被存取來辨識合格的巨集區塊。
在第九圖的方塊92中,最後(最新)反塊化巨集區塊(在方塊91中反塊化的巨集區塊)之巨集區塊號碼在方塊93中增加1(N=N+1),如果N的目前數值大於在該圖框中最後巨集區塊的巨集區塊號碼,則該流程圖前進到區塊95;否則該流程圖進行到區塊94。
在方塊94中,在該陣列中對應於該目前巨集區塊的位元值被讀取。如果該位元值被設定(例如等於1),則該目前巨集區塊可被反塊化,該流程圖回到方塊91,且該目前巨集區塊被反塊化。否則,該流程圖進行到方塊95。
在方塊95中,Last_Db_MB之數值(定義如上)被設定為N的目前數值減一(N-1),且Last_Db_MB的數值被恢復,並如所述配合第八圖利用。
因此,根據發明一具體實施例,巨集區塊只要當它們合格來被反塊化時即可被反塊化。在現場反塊化可對在一無順序(例如ASO/FMO)圖框中對於一些巨集區塊來達成。因此,匯流排流量的量可以降低,因為其不需要在這個圖框與記憶體間轉移所有的巨集區塊,且亦可降低所消耗的記憶體量。再者,運算時間可以降低,因為解碼與反塊化可以平行地完成,即當一巨集區塊正在被解碼時,另一個巨集區塊可被反塊化。
例如,第十圖例示一圖框的一部份,其中在一第一薄片中的巨集區塊(使用陰影方塊來代表)被分散在一第二薄片中的巨集區塊(以無陰影方塊表示),其為棋盤圖型式。該第一薄片先被傳送到該解碼器,接著為該第二薄片,因此該圖框為一ASO/FMO圖框。在解碼期間,該第一(最左上方)巨集區塊Ma可在現場被反塊化,但其它陰影的方塊在反塊化之前被儲存。當在該第二(無陰影)薄片中該等巨集區塊被解碼時,在該第二薄片中每一巨集區塊可在其被解碼之後立即被反塊化,且在該第一薄片中每一巨集區塊可依序自記憶體取出,並反塊化。更特定而言,巨集區塊Mb可在現場被反塊化,因為其依靠正在反塊化的巨集區塊Ma;然後巨集區塊Mc可自記憶體取得,並反塊化;巨集區塊Md可在現場被反塊化,依此類推。因此,其不需要在反塊化之前儲存在該第二薄片中的該等巨集區塊;僅有在該第一薄片中的巨集區塊(除了巨集區塊Ma之外)在反塊化之前被儲存。因此,在此範例中,在該圖框中少於一半的巨集區塊在反塊化之前被儲存,且通過在一匯流排與記憶體之間的流量亦可降低大約一半。
因為行動比較會比反塊化花費更多時間完成,一解碼管線的反塊化階段會時常閒置(例如其會缺乏資料)。但是,利用在現場反塊化,該反塊化階段可使用該閒置時間來處理儲存的巨集區塊,相較於一習用的兩次通過實作可以降低整體解碼時間。
此外,ASO/FMO圖框可及時地被偵測。雖然相較於習用的實作對於解碼順序中圖框達到至少相同的效能,無順序圖框的解碼可顯著地改善。再者,可使用一單一解碼器架構來處理順序中/無順序基準/非基準圖框,通過該解碼器的路徑可基於正在處理的圖框種類來可適性地選擇。
前述本發明之特定具體實施例的說明係為了例示及說明的目的提出。它們並非要窮盡或限制本發明於所揭示的精確型式,在以上的教示之下亦有可能有其它的修正及變化。該具體實施例係被選擇及描述來最佳地解釋本發明及其實際應用的原理,藉此使得本技藝中其它專業人士可在多種具體實施例及多種修正中最佳地利用本發明,使其可適用於所考慮的特定用途。本發明之範疇係要由附屬之申請專利範圍及其同等者來定義。
20...系統
21...中央處理單元
22...繪圖處理單元
23...顯示器
24...記憶體
25...匯流排
30...解碼器
31...編碼的位元流
32...解碼階段(基本解碼)
33...反塊化階段
34...可顯示的影像
36...解碼管線
41...第一反塊化器
42...第二反塊化器
43...儲存器
45...圖框緩衝器
46...顯示器
本發明藉由範例來例示,但並非限制,在附屬圖面的圖形中類似的參考編號代表類似的元件。
第一圖為一巨集區塊陣列。
第二圖為根據本發明之具體實施例可以實作一解碼器之系統的範例之方塊圖。
第三圖為根據本發明一具體實施例的一解碼管線之元件的方塊圖。
第四圖為根據本發明一具體實施例的一解碼器之元件的方塊圖。
第五圖為根據本發明一具體實施例中使用一第二反塊化器處理資料之電腦實施方法的範例之流程圖。
第六圖為根據本發明一具體實施例中以一可調式方法使用一第二反塊化器處理資料之電腦實施方法的範例之流程圖。
第七A圖、第七B圖、第七C圖及第七D圖為根據本發明一具體實施例中可用於追蹤巨集區塊狀態之一陣列的範例。
第八圖為根據本發明一具體實施例中用於反塊化巨集區塊的電腦實施方法的範例之流程圖。
第九圖為根據本發明一具體實施例中用於辨識可合格反塊化之巨集區塊的電腦實施方法之範例的流程圖。
第十圖為根據本發明之具體實施例中可被反塊化之非順序性圖框的範例。
31...編碼的位元流
32...解碼階段(基本解碼)
33...反塊化階段
41...第一反塊化器
42...第二反塊化器
43...儲存器
45...圖框緩衝器
46...顯示器

Claims (14)

  1. 一種用於處理編碼資料的圖框的系統,包含:一處理器;及一耦合於該處理器的記憶體,該系統可操作以執行用於解碼編碼資料的圖框之解碼器,該解碼器包含:一解碼器第一階段,其用於解碼多個編碼的圖框以製造多個解碼的圖框,該些編碼的圖框包含一編碼的第一圖框且該些解碼的圖框包含用該編碼的第一圖框製造的解碼的第一圖框;及一解碼器第二階段,其耦合於該第一階段的下游,該第二階段包含一第一反塊化器及一第二反塊化器,該第一反塊化器和該第二反塊化器平行地且同時地反塊化不同的解碼圖框,其中如果在該編碼的第一圖框中巨集區塊以一指定的順序到達該解碼器,該解碼的第一圖框即被辨識成一順序中圖框,否則該解碼的第一圖框即被辨識為一無順序圖框,且其中如果另一個圖框依靠在該解碼的第一圖框中的資訊進行解碼,則該解碼的第一圖框被辨識為一基準圖框,否則該解碼的第一圖框被辨識為一非基準圖框,其中更如果該解碼的第一圖框被分類成一無順序非基準圖框,則該第二反塊化器被選取以反塊化該解碼的第一圖框,否則該第一反塊化器被選取以反塊化該解碼的第一圖框。
  2. 如申請專利範圍第1項之系統,其中該編碼的第一圖框包含複數巨集區塊,該等巨集區塊具有分別與其相關聯的巨集區塊號碼,其中如果該等巨集區塊以該等巨集區塊號碼為連續且增加的順序而到達該解碼器時,該解碼的第一圖框被辨識為一順序中圖框。
  3. 如申請專利範圍第1項之系統,更包含一儲存元件,其耦合 至該第二反塊化器,並用於在反塊化之前儲存解碼的圖框。
  4. 如申請專利範圍第1項之系統,其中該解碼器第一階段係用於與該解碼的第一圖框之反塊化平行地解碼一編碼的第二圖框。
  5. 如申請專利範圍第1項之系統,其中該解碼器第一階段係用於執行由下列所構成的群組中選出之作業:可變長度解碼、反量化、逆轉換及行動補償。
  6. 一種處理編碼的資料圖框的方法,該方法包含:接收多個編碼的圖框做為輸入到執行於一電腦系統上的一解碼器的一第一階段;解碼該第一階段中的該些編碼的圖框,以製造多個解碼的圖框,該些編碼的圖框包含一編碼的第一圖框,且該些解碼的圖框包含用該編碼的第一圖框製造的一解碼的第一圖框自該第一階段轉送該解碼的第一圖框到該解碼器的一第二階段,其中該第二階段包含一第一反塊化器及一第二反塊化器,其用於平行地且同時地反塊化不同的解碼圖框;及在該第二階段中,反塊化該解碼的第一圖框來產生一解碼及反塊化的第一圖框,其適合於在一顯示裝置上顯像,該反塊化包含:讀取與該解碼的第一圖框相關的一圖框類型;如果在該編碼的第一圖框中巨集區塊如果是一指定的順序,則該解碼的第一圖框即被辨識成一順序中圖框,否則該解碼的第一圖框即被辨識為一無順序圖框;如果另一個圖框依靠在該解碼的第一圖框中的資訊進行解碼,則該解碼的第一圖框被辨識為一基準圖框,否則該解碼的第一圖框被辨識為一非基準圖框;及使用該圖框類型由該第一反塊化器和該第二反塊化器中 擇一以反塊化該解碼的第一圖框,如果該解碼的第一圖框被辨識成一無順序非基準圖框,則該第二反塊化器被選取以反塊化該解碼的第一圖框,否則該第一反塊化器被選取以反塊化該解碼的第一圖框。
  7. 如申請專利範圍第6項之方法,其中該等巨集區塊之每一者具有與其相關聯的一個別巨集區塊號碼,且其中該等複數巨集區塊以漸增的巨集區塊號碼之順序被編碼。
  8. 如申請專利範圍第6項之方法,更包含在反塊化之前儲存一或多個解碼的圖框。
  9. 如申請專利範圍第6項之方法,更包含與該解碼的第一圖框之反塊化平行地解碼一編碼的第二圖框。
  10. 如申請專利範圍第6項之方法,其中該解碼包含由下列所構成之群組中選出的作業:可變長度解碼、反量化、逆轉換及行動補償。
  11. 一種用於處理編碼資料的圖框的系統,包含:一處理器;及一耦合於該處理器的記憶體,該系統可操作以執行用於解碼編碼資料的圖框之解碼器管線,該解碼器管線包含:一解碼階段,其用於解碼多個編碼的圖框以製造多個解碼的圖框,該些解碼的圖框包含一解碼的第一圖框和一解碼的第二圖框;及一反塊化階段,其耦合至該解碼階段,並包含一第一反塊化器,用於反塊化該解碼的第一圖框,及一第二反塊化器,用於反塊化該解碼的第二圖框,其中該解碼的第一圖框和該解碼的第二圖框平行地且同時地被反塊化,其中解碼的基準圖框使用該第一反塊化器而非該第二反塊化器進行反塊化,且其中該等第一與第二反塊化器之一被選擇來根據在該解碼 的非基準圖框之編碼的版本內巨集區塊之順序而反塊化一解碼的非基準圖框,其中如果另一個圖框依靠一個圖框進行解碼,該被依靠圖框被分類成一基準圖框,否則其被分類成一非基準圖框,其中如果在編碼版本的巨集區塊以一指定的順序到達該解碼器,巨集區塊的數字連續且漸增,則解碼的該非基準圖框即被辨識成一順序中圖框,否則解碼的該非基準圖框即被辨識為一無順序圖框,其中該非基準圖框分類為一順序中圖框的話,則被傳送至該第一反塊化器,該非基準圖框分類為一無順序圖框的話,則被傳送至該第二反塊化器。
  12. 如申請專利範圍第11項之系統,更包含一儲存元件,其耦合至該第二反塊化器,並用於在反塊化之前儲存解碼的圖框。
  13. 如申請專利範圍第11項之系統,其中該解碼階段係用於處理一編碼的圖框,而該反塊化階段係用於處理一解碼的圖框,兩者為平行地處理。
  14. 如申請專利範圍第11項之系統,其中該解碼階段係用於執行由下列所構成的群組中選出之作業:可變長度解碼、反量化、逆轉換及行動補償。
TW98133077A 2008-10-14 2009-09-30 解碼管線中第二反塊化器 TWI473040B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/250,809 US8867605B2 (en) 2008-10-14 2008-10-14 Second deblocker in a decoding pipeline

Publications (2)

Publication Number Publication Date
TW201019271A TW201019271A (en) 2010-05-16
TWI473040B true TWI473040B (zh) 2015-02-11

Family

ID=42098825

Family Applications (1)

Application Number Title Priority Date Filing Date
TW98133077A TWI473040B (zh) 2008-10-14 2009-09-30 解碼管線中第二反塊化器

Country Status (5)

Country Link
US (1) US8867605B2 (zh)
JP (1) JP4987049B2 (zh)
KR (1) KR101082184B1 (zh)
CN (1) CN101729895B (zh)
TW (1) TWI473040B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9179166B2 (en) 2008-12-05 2015-11-03 Nvidia Corporation Multi-protocol deblock engine core system and method
US9241167B2 (en) * 2012-02-17 2016-01-19 Microsoft Technology Licensing, Llc Metadata assisted video decoding
US20140056363A1 (en) * 2012-08-23 2014-02-27 Yedong He Method and system for deblock filtering coded macroblocks
CN106470341B (zh) 2015-08-17 2020-10-02 恩智浦美国有限公司 媒体显示系统
KR20210127709A (ko) * 2019-03-07 2021-10-22 디지털인사이트 주식회사 영상 부호화/복호화 방법 및 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080A (en) * 1858-04-27 Improvement in harvesters

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI106071B (fi) 1997-03-13 2000-11-15 Nokia Mobile Phones Ltd Mukautuva suodatin
JPH11205792A (ja) 1998-01-14 1999-07-30 Sony Corp ブロック歪低減方法及び装置
KR100359208B1 (ko) 2000-12-27 2002-11-04 주식회사 팬택앤큐리텔 고속 디블럭킹 필터 장치
US6980596B2 (en) 2001-11-27 2005-12-27 General Instrument Corporation Macroblock level adaptive frame/field coding for digital video content
US6907079B2 (en) 2002-05-01 2005-06-14 Thomson Licensing S.A. Deblocking filter conditioned on pixel brightness
MXPA04002265A (es) 2002-07-11 2004-06-29 Matsushita Electric Ind Co Ltd Metodo de determinacion de resistencia de filtracion, metodo de codificacion de pelicula y metodo de decodificacion de pelicula.
US6917310B2 (en) 2003-06-25 2005-07-12 Lsi Logic Corporation Video decoder and encoder transcoder to and from re-orderable format
EP1659803A4 (en) 2003-08-19 2008-10-29 Matsushita Electric Ind Co Ltd METHOD FOR ENCODING AND DECODING A MOVING IMAGE
US7590059B2 (en) 2004-05-21 2009-09-15 Broadcom Corp. Multistandard video decoder
KR100624426B1 (ko) 2004-07-06 2006-09-19 삼성전자주식회사 파이프 라인 방식의 복호화 장치 및 방법과, 이 장치를제어하는 컴퓨터 프로그램을 저장하는 컴퓨터로 읽을 수있는 기록 매체
EP1777965A1 (en) 2004-08-05 2007-04-25 Matsushita Electric Industrial Co., Ltd. Image decoding device and image encoding device
US8116379B2 (en) 2004-10-08 2012-02-14 Stmicroelectronics, Inc. Method and apparatus for parallel processing of in-loop deblocking filter for H.264 video compression standard
KR20060060919A (ko) 2004-12-01 2006-06-07 삼성전자주식회사 H.264/mpeg-4 에서의 블록킹 효과를 제거하기 위한디블록 필터 및 필터링 방법
JP4270125B2 (ja) 2004-12-16 2009-05-27 ソニー株式会社 データ処理装置、画像処理装置、それらの方法およびプログラム
US8576924B2 (en) 2005-01-25 2013-11-05 Advanced Micro Devices, Inc. Piecewise processing of overlap smoothing and in-loop deblocking
US20060233253A1 (en) 2005-03-10 2006-10-19 Qualcomm Incorporated Interpolated frame deblocking operation for frame rate up conversion applications
JP2006254231A (ja) * 2005-03-11 2006-09-21 Toshiba Corp 情報処理装置および同装置で用いられるプログラム
TWI264951B (en) 2005-05-19 2006-10-21 Cheertek Inc Deblock filter method for applying on video encoding/decoding and the apparatus thereof
US7796792B2 (en) 2005-06-29 2010-09-14 Agfa Healthcare, N.V. Method of identifying disturbing frequencies originating from the presence of an anti-scatter grid during acquisition of a radiation image
KR100772379B1 (ko) 2005-09-23 2007-11-01 삼성전자주식회사 외부 메모리 장치, 그 영상 데이터 저장 방법, 이를 이용한영상 처리 장치
US7796692B1 (en) * 2005-11-23 2010-09-14 Nvidia Corporation Avoiding stalls to accelerate decoding pixel data depending on in-loop operations
JP2007251881A (ja) 2006-03-20 2007-09-27 Funai Electric Co Ltd ブロックノイズ除去装置及び電子機器
US20080056350A1 (en) * 2006-08-31 2008-03-06 Ati Technologies, Inc. Method and system for deblocking in decoding of video data
KR100827107B1 (ko) * 2006-10-20 2008-05-02 삼성전자주식회사 다중 연산부 구조의 h.264 복호화기 및 그 복호화기의압축 영상 데이터 복호화 방법
TW200820783A (en) * 2006-10-25 2008-05-01 Realtek Semiconductor Corp Apparatus and method for deblock filtering
US20080123750A1 (en) * 2006-11-29 2008-05-29 Michael Bronstein Parallel deblocking filter for H.264 video codec
US20080159407A1 (en) 2006-12-28 2008-07-03 Yang Nick Y Mechanism for a parallel processing in-loop deblock filter
US8369411B2 (en) 2007-03-29 2013-02-05 James Au Intra-macroblock video processing
US8861591B2 (en) 2007-05-11 2014-10-14 Advanced Micro Devices, Inc. Software video encoder with GPU acceleration
US20080298473A1 (en) * 2007-06-01 2008-12-04 Augusta Technology, Inc. Methods for Parallel Deblocking of Macroblocks of a Compressed Media Frame
US8265144B2 (en) * 2007-06-30 2012-09-11 Microsoft Corporation Innovations in video decoder implementations
US20090010326A1 (en) * 2007-07-05 2009-01-08 Andreas Rossholm Method and apparatus for parallel video decoding
EP2061250B8 (en) 2007-11-16 2012-02-29 ST-Ericsson SA Deblocking filter
CN101207812B (zh) * 2007-12-10 2010-04-07 海信集团有限公司 一种视频环路滤波方法
US20090304085A1 (en) * 2008-06-04 2009-12-10 Novafora, Inc. Adaptive Deblocking Complexity Control Apparatus and Method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080A (en) * 1858-04-27 Improvement in harvesters

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Chen, To-Wei ; Huang, Yu-Wen ; Chen, ung-Chien -C ; Chen, Yu-Han ; Tsai, Chuan-Yong ; Chen, Liang-Gee Gee," Architecture design of H.264/AVC decoder with hybrid task pipelining for high definition videos",2005,http://ieeexplore.ieee.org/search/searchresult.jsp?newsearch=true&queryText=Architecture+design+of+H.264%2FAVC+decoder+with+hybrid+task+pipelining+for+high+definition+videos&x=-1195&y=-267 *

Also Published As

Publication number Publication date
US20100091878A1 (en) 2010-04-15
CN101729895B (zh) 2013-01-09
JP4987049B2 (ja) 2012-07-25
CN101729895A (zh) 2010-06-09
TW201019271A (en) 2010-05-16
KR20100041681A (ko) 2010-04-22
KR101082184B1 (ko) 2011-11-09
US8867605B2 (en) 2014-10-21
JP2010098725A (ja) 2010-04-30

Similar Documents

Publication Publication Date Title
US8724694B2 (en) On-the spot deblocker in a decoding pipeline
US8861586B2 (en) Adaptive deblocking in a decoding pipeline
US10291925B2 (en) Techniques for hardware video encoding
US20060165181A1 (en) Piecewise processing of overlap smoothing and in-loop deblocking
US8660191B2 (en) Software video decoder display buffer underflow prediction and recovery
US20140086309A1 (en) Method and device for encoding and decoding an image
TWI473040B (zh) 解碼管線中第二反塊化器
US20170311001A1 (en) Moving image encoding method, moving image decoding method, moving image encoding device, and moving image decoding device
KR20160061613A (ko) 코덱과 이를 포함하는 시스템 온 칩, 및 상기 시스템 온 칩을 포함하는 데이터 처리 시스템
RU2265879C2 (ru) Устройство и способ для извлечения данных из буфера и загрузки их в буфер
JP2017537491A (ja) 改善された転置バッファを有するスケーラブルな変換ハードウェアアーキテクチャ
US8879629B2 (en) Method and system for intra-mode selection without using reconstructed data
US10674160B2 (en) Parallel video encoding device and encoder configured to operate in parallel with another encoder
US8427348B2 (en) Parallel processing of sequentially dependent digital data
BR112018003492B1 (pt) Processo e dispositivo de codificação de pelo menos uma imagem cortada em blocos, processo e dispositivo de decodificação de um sinal de dados representativo de pelo menos uma imagem cortada em blocos
WO2008038513A1 (en) Decoding device, decoding method, decoding program, and integrated circuit
KR20170007665A (ko) 스킵 모드 정보를 이용한 레이트 조절 인코딩 방법 및 그에 따른 인코딩 장치
TWI785073B (zh) 多重轉碼器編碼器及多重轉碼器編碼系統
JP4034793B2 (ja) 補完映像を生成してデブロッキング処理に用いる映像圧縮装置及び方法
US11509940B1 (en) Video apparatus with reduced artifact and memory storage for improved motion estimation
US11451805B2 (en) Buffer apparatus
JP2005130417A (ja) 変換符号化方法および変換復号化方法
US20130287100A1 (en) Mechanism for facilitating cost-efficient and low-latency encoding of video streams
CN112788340A (zh) 用于自适应地确定用于编码的图片组的帧数的方法和设备
Ulacha Effective Video Encoding in Lossless and Near-lossless Modes