TWI461065B - 重疊平滑與迴路內(in-loop)去區塊(deblocking)之分段處理 - Google Patents

重疊平滑與迴路內(in-loop)去區塊(deblocking)之分段處理 Download PDF

Info

Publication number
TWI461065B
TWI461065B TW095102015A TW95102015A TWI461065B TW I461065 B TWI461065 B TW I461065B TW 095102015 A TW095102015 A TW 095102015A TW 95102015 A TW95102015 A TW 95102015A TW I461065 B TWI461065 B TW I461065B
Authority
TW
Taiwan
Prior art keywords
block
deblocking
smoothing
macroblock
video
Prior art date
Application number
TW095102015A
Other languages
English (en)
Other versions
TW200704197A (en
Inventor
Bill Kwan
Erik Schlanger
Casey King
Raquel Rozas
Original Assignee
Advanced Micro Devices Inc
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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of TW200704197A publication Critical patent/TW200704197A/zh
Application granted granted Critical
Publication of TWI461065B publication Critical patent/TWI461065B/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
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

重疊平滑與迴路內(IN-LOOP)去區塊(DEBLOCKING)之分段處理
本發明係有關視訊處理技術。在一個態樣中,本發明係有關數位視頻資訊之解壓縮。
因為視頻資訊需要大量的儲存空間,所以視頻資訊通常被壓縮。因此,為了顯示諸如唯讀光碟(CD-ROM)或數位影音光碟(DVD)上儲存的被壓縮之視頻資訊,而必須將該被壓縮之視頻資訊解壓縮,以便提供解壓縮後之視頻資訊。然後以位元流之方式將該解壓縮後之視頻資訊提供給顯示器。通常將解壓縮後之視頻資訊位元流以位元對映(bit map)之方式儲存在與顯示器上的各像素位置對應之記憶體位置。係將於顯示器上呈現單一資訊畫面所需的視頻資訊稱之為圖框(frame)。許多視訊系統之目標是要迅速且有效率地將被壓縮之視頻資訊解碼,以便藉由顯示一序列的圖框而提供動作視訊。
非常需要有記錄媒體、裝置、以及資料處理的各方面(譬如視訊壓縮)之標準化,以供此項技術及其應用的持續成長。用於將視頻資訊壓縮及解壓縮的一些壓縮/解壓縮標準已開發出或正在開發中,這些標準的例子包括諸如用於視訊編碼及解碼的動態圖形專家小組(Moving Pictures Expert Group;簡稱MPEG)標準(例如,MPEG-1、MPEG-2、MPEG-3、MPEG-4、MPEG-7、MPEG-21)或視窗媒體視訊(Windows Media Video)壓縮標準(例如,WMV9)。本說明書特此引用MPEG及WMV標準中之每一標準的全文以供參照。
一般而言,視訊壓縮技術包括圖框內壓縮(intraframe compression)及圖框間壓縮(interframe compression),這些壓縮技術操作時,係減少視頻圖框中呈現的空間及時間上之冗餘,而壓縮視頻資訊。圖框內壓縮技術只使用圖框內所包含的資訊,以壓縮被稱之為I-圖框(I-frame)的圖框。圖框間壓縮技術參考之前及/或之後圖框(通常稱之為預測圖框、P-圖框(P-frame)或B-圖框(B-frame))而壓縮圖框。圖框內及圖框間壓縮技術通常使用基於空間的或區塊的編碼,由此將視頻圖框分為若干用於編碼的區塊(亦稱之為區塊轉換程序)。例如,I-frame被分為8x8區塊。使用一種離散餘弦轉換(Discrete Cosine Transform;簡稱DCT)編碼體系將該等區塊編碼,而該編碼體系將各係數編碼為特定餘弦基函數(cosine basis function)的振幅;或者亦可將某一其他的轉換(例如,整數轉換(integer transform))用於將該等區塊編碼。然後將該等被轉換的係數量化,而產生一些具有非零振幅位準的係數、以及零振幅位準係數的一些束(run)(或子序列(subsequence)。然後對該等被量化的係數進行束位準編碼(run-level encoding)(或束長度編碼(run length encoding)),以便壓縮零系數之該等長束。然後在可變長度編碼器(Variable Length Coder;簡稱VLC)中對上述結果進行一致性編碼(entropy encoding),而該VLC使用一種將字碼(codeword)指定給將要被編碼的值之統計編碼技術,或者使用諸如內容適應性二進制算術編碼(Context-based Adaptive Binary Arithmetic Coding;簡稱CABAC)及內容適應性可變長度編碼(Context Adaptive Variable Length Coding;簡稱CAVLC)等的某些其他一致性編碼技術。將具有高發生頻率的那些值指定給短的字碼,並將不常發生的那些值指定給長的字碼。平均而言,較常出現的較短字碼佔了大部分,因而字碼串(code string)比原始的資料短。因此,基於空間的或區塊的編碼技術壓縮了與單一圖框相關聯的數位資訊。為了壓縮與序列的圖框相關聯之數位資訊,視訊壓縮技術使用P-frame及(或)B-frame,以便利用各連續圖框之間存在有時間關聯性之事實。圖框間壓縮技術將識別不同圖框間之差異,然後使用DCT、量化、束長度及一致性編碼技術而對該差異資訊進行空間上的編碼,但是不同的實施例可使用不同的區塊組態。例如,將P-frame分為若干16x16巨集區塊(macroblock)(例如,具有四個8x8亮度區塊以及兩個8x8色度區塊),並壓縮該等巨集區塊。不論是使用圖框內或圖框間壓縮技術,將基於空間的或區塊的編碼技術用來將視訊資料編碼都意指:已對被壓縮之視訊資料進行可變長度編碼,且已使用前所述的基於區塊的壓縮技術壓縮了該視訊資料。
在接收器或播放裝置上,係反向執行該等壓縮步驟,以便將先前以區塊轉換處理過的視訊資料解碼。第1圖繪示用來將視頻資訊解壓縮的傳統系統(30),該系統(30)包含輸入位元流解碼部分(35)、動作解碼器(38)、加法器(39)、圖框緩衝器(40)、以及顯示器(41)。輸入位元流解碼器(35)在輸入緩衝器(31)上接收被壓縮之視頻資訊位元流,在VLC解碼器(32)上執行可變長度解碼,在反向量化器(33)上反向執行”之”字形掃描(zig-zag)及量化,在反離散餘弦轉換器(Inverse DCT,IDCT)(34)上執行反離散餘弦轉換,並將各區塊的經靜態解壓縮後之視頻資訊提供給加法器(39)。在動作解碼部分(38)中,動作補償單元(37)接收來自VLC解碼器(32)的動作資訊、以及(先前圖像儲存緩衝器(36)中儲存的)先前圖像資料之一拷貝,並將經過動作補償的像素提供給加法器(39)。加法器(39)接收該經過靜態解壓縮後之視頻資訊、及該等經過動作補償的像素,並將解壓縮後之像素提供給圖框緩衝器(40),圖框緩衝器(40)然後將該資訊提供給顯示器(41)。
在傳統的視訊編碼器及解碼器設計下,可能因基於區塊的轉換、動作補償、量化、及(或)其他的有損(lossy)處理步驟,而將區塊贗像(blocking artifact)(各區塊間之顯而易見的不連續)導入圖框中。先前為了減少區塊贗像而作的嘗試已使用了重疊平滑(overlap smoothing)或去區塊(deblocking)過濾(在迴路內執行或在處理之後執行),以便以平滑各區塊間之邊界的方式來處理圖框。例如,在WMV9標準下,指定對整個圖像進行重疊平滑及迴路內去區塊之處理,以便減少區塊贗像。在起動WMV9解碼時,只對各8x8區塊的邊界執行重疊平滑,其中開始時係沿著垂直方向對整個圖框執行平滑,然後沿著水平方向對整個圖框執行重疊平滑。然後,在迴路內去區塊中,當迴路內去區塊被起動時,係按照下列順序執行迴路內去區塊:(i)自最上方水平邊界線開始,對該圖框中之所有8x8區塊的水平邊界線過濾;(ii)自最上方水平邊界線開始,對該圖框中之所有8x4子區塊(sub-block)的水平邊界線過濾;(iii)自最左方垂直邊界線開始,對所有8x8區塊的垂直邊界線過濾;以及(iv)自最左方垂直邊界線開始,對所有4x8子區塊的垂直邊界線過濾。先前的方法對整個圖框使用二階段處理(two passes),其中第一次處理是要執行重疊平滑,而第二步驟係用於迴路內去區塊。雖然可能有也適用的其他要求(例如,涉及參數PQUANT及區塊類型的要求),但是在決定是否要處理個別的步驟時,這些處理的目標都是要平滑16x16巨集區塊、8x8區塊、或4x4子區塊的邊緣,且因而去除二維轉換及量化時所導入的區塊贗像。
在用來處理視訊解壓縮的基於處理器之方法下,平滑或去區塊功能的加入是一種計算繁複的過濾程序。在有大容量的記憶體緩衝器來存放一圖框時(例如,在存放640 x 480像素的VGA大小時,該容量等於307千位元組),可以軟體來執行該處理順序。另一方面,基於硬體的解碼方法並不同時執行平滑及去區塊,且係對整體的圖框執行去區塊,因而需要大容量的區域記憶體,且有可觀的匯流排頻寬要求,並犧牲了記憶體存取時間。
因此,目前非常需要一種減少與解壓縮方法相關聯的處理要求並改善其中特別包括重疊平滑及(或)去區塊過濾作業的解壓縮作業之方法。熟悉此項技術者在檢視本申請案的其餘部分,並參閱各圖式及下文中的詳細說明之後,將可易於了解傳統系統的進一步限制及缺點。
藉由將軟體及硬體的組合用來執行視訊解壓縮,而提供了一種可適於迅速且有效率地處理各種不同的視訊壓縮體系之具有彈性之解壓縮系統。該具彈性之解壓縮系統包含:用來執行前端解壓縮步驟之處理器、以及用來執行後端解壓縮步驟之視訊加速器。為了減少視訊加速器中在對視頻圖框資料執行重疊平滑及迴路內去區塊過濾作業時對記憶體容量及/或頻寬的要求,迴路內過濾器係以一種基於巨集區塊的方式而執行重疊平滑及迴路內去區塊之分段處理。藉由使用對像素的分段處理,即可於擷取(accessing)區塊時,同時執行重疊平滑及迴路內去區塊。藉由將暫存記憶體(scratch pad memory)用來儲存被部分處理過的資料,即可分解平滑及去區塊演算法,並將該等演算法應用於較小的資料區塊。保留了處理的順序,就如同按照圖框的順序執行一般,並可以一種管線化的格式執行處理的順序,以便隱藏等待時間(latency),並平滑過濾器處理能力,以避免提取及儲存區塊的叢發。
根據本發明的一個或多個實施例,提供了一種將已利用區塊轉換而被處理成複數個巨集區塊的視訊資料解碼之視訊處理系統、裝置、及方法。在每一巨集區塊中,係以迴路內過濾器執行分段處理,以便對至少第一區塊中之被選擇的像素資料進行平滑及去區塊,因而在第一過濾作業中部分地處理該第一區塊,然後在第二過濾作業中完全地處理該第一區塊,因而產生一個或多個完成的區塊以及一個或多個部分過濾的區塊。例如,該第一過濾作業可以是對第一列巨集區塊執行的平滑及去區塊過濾,且該第二過濾作業可以是對第二列巨集區塊執行的平滑及去區塊過濾,或者,該第一過濾作業可以是對該第一區塊執行的第一組分段重疊平滑及去區塊過濾,且該第二過濾作業可以是對該第一區塊執行的第二組分段重疊平滑及去區塊作業。因此,可對與先前處理的巨集區塊鄰接之任何區塊完全執行重疊平滑及去區塊過濾,然後於第一過濾作業期間,將該過濾後的區塊輸出為完成的區塊,同時可對與後續處理的巨集區塊鄰接之區塊部分地執行重疊平滑及去區塊過濾,然後將作為部分過濾的區塊之該區塊儲存在暫存記憶體中。可將並未被完全處理的任何部分過濾的區塊儲存在暫存記憶體中,並稍後在第二過濾作業期間對第二巨集區塊中之被選擇的像素資料執行平滑及去區塊時,擷取該部分過濾的區塊以完成該區塊。在選擇的實施例中,係以第一過濾作業執行分段處理,該第一過濾作業對所選擇的垂直及水平區塊邊界執行一序列的重疊平滑,然後對沿著水平及垂直方向的所選擇之區塊及子區塊邊界執行迴路內去區塊。然後,執行第二過濾作業,而在該第二過濾作業中,對其餘的垂直及水平區塊邊界執行重疊平滑,然後對沿著水平及垂直方向的其餘之區塊及子區塊邊界執行迴路內去區塊。藉由一次一個巨集區塊之方式對每一列的巨集區塊執行分段處理,即可將巨集區塊處理管線化。
熟悉此項技術者在參閱下文中之詳細說明,並配合最後的申請專利範圍及各附圖,將可易於了解本發明之目的、優點、及其他新穎特徵。
雖然下文中將說明本發明的一些實施例,但是我們當了解:可在沒有該等指定細節之情形下實施本發明,且可對本說明書述及的本發明作出許多與實施例相關的決定,以便達到開發者的特定目標,這些特定的目標包括諸如符合與系統相關的及與商業相關的限制條件,而該等限制將隨著各實施例而有所不同。雖然此種開發的工作可能是複雜且耗時的,但是此種開發工作仍然是對此項技術具有一般知識者在參開本發明揭示事項後所從事的日常工作。例如,並非詳細示出,而是以方塊圖之形式示出一些所選擇的態樣,以避免模糊了本發明。熟悉此項技術者將這些說明及表示法用來描述其工作之主旨,並將其傳遞給其他熟悉此項技術者。現在將參照下文中述及的圖式而說明本發明。
請參閱第2圖,該圖式提供根據本發明的一例示視訊解壓縮系統(100)之方塊圖。如圖所示,可在諸如桌上型或膝上型電腦、無線或行動裝置、個人數位助理、行動或蜂巢式電話、以及包含視訊成像特徵的任何其他視訊播放裝置等的任何視訊播放裝置中實施視訊解壓縮系統(100)。如第2圖中所示,係將視訊解壓縮系統(100)實施為主機或應用裝置處理單元,其中包含被耦接到一個或多個處理器或處理單元(50)之匯流排(95)、以及視訊或媒體加速硬體單元(101)。此外,視訊解壓縮系統(100)包含主記憶體系統,而該主記憶體系統包含經由雙倍資料率(DDR)控制器(60)而被存取的大容量之雙倍資料率同步動態隨機存取記憶體(DDR SDRAM)(62)、(64)。以額外添加或以替代之方式,經由靜態記憶體控制器(70)而存取一個或多個記憶體(例如,IDE儲存裝置(72)、快閃記憶體單元(74)、及唯讀記憶體(ROM)(76)等)。DDR SDRAM或其他記憶體的其中之一或兩者可與視訊解壓縮系統(100)整合,或設於視訊解壓縮系統(100)之外。當然,可經由個別的控制器(80)、(90)而使用其他的周邊裝置及顯示裝置(80)、(82)、(84)、(92)存取。為了清晰及易於了解,將不詳細說明構成視訊解壓縮系統(100)的所有元件。對此項技術具有一般知識者都知曉這些細節,且這些細節將隨著特定的電腦供應商及微處理器類型而改變。此外,視訊解壓縮系統(100)可根據所需之實施情形而包含其他的匯流排、裝置、及(或)子系統。例如,視訊解壓縮系統(100)可包含快取記憶體、數據機、並聯或串聯介面、SCSI介面、以及網路介面卡等的項目。在所示實施例中,中央處理單元(CPU)(50)執行快閃記憶體(74)及(或)SDRAM(62)、(64)中儲存的軟體。
在第2圖所示之視訊解壓縮系統(100)中,CPU(50)執行如VLD區塊(52)所指示之起始可變長度解碼功能,而媒體加速硬體單元(101)對被解碼的資料執行反向量化(104)、反向轉換(106)、動作補償(108)、迴路內過濾(110)、彩色空間轉換(112)、縮放(114)、以及過濾(116)。可先將所產生的被解碼的資料暫時儲存在輸出緩衝器(118)及(或)圖框緩衝器(圖中未示出)中,然後才在顯示器(92)上顯示。藉由將各解碼處理功能分配到處理器(50)及媒體加速硬體(101),即可以軟體執行前端解碼步驟(例如,可變長度解碼),而可適應各種不同的編碼體系(例如,MPEG-1、MPEG-2、MPEG-3、MPEG-4、MPEG-7、MPEG-21、及WMV9等的編碼體系)。將前端所產生的被解碼的資料提供給媒體加速硬體(101),而媒體加速硬體(101)將該被解碼的資料進一步地解碼,以便以逐一巨集區塊進行之方式將像素值提供給輸出緩衝器(118)或圖框緩衝器,直到完成一圖框為止。
於作業時,視訊解壓縮系統(100)自諸如唯讀光碟(CD-ROM)、數位影音光碟(DVD)、或其他儲存裝置等的視頻信號源接收被壓縮的視頻信號。將該被壓縮的視頻信號以被壓縮之視頻資訊位元流之方式提供給處理器(50),而處理器(50)執行指令,以便將該被壓縮的信號之可變長度編碼部分解碼,以提供可變長度解碼的資料(VLD資料)信號。一旦採用軟體協助以執行可變長度解碼之後,即直接或以使用資料壓縮技術之方式(美國專利申請案________案名:“輸入資料之輕量壓縮(Lightweight Compression of Input Data)”中更完整地述及了此種資料壓縮技術)將該VLD資料(其中包括標頭(header)、矩陣加權值、動作向量、轉換之殘餘係數、以及偶差分動作向量)傳送到媒體加速硬體單元(101)。在媒體加速硬體單元(101)上,一旦接收到該VLD資料之後,即將該資料提供給反向”之”字形掃描及量化電路(104),該電路(104)將該VLD資料信號解碼,而提供經過”之”字形掃描解碼的信號。該反向之字形掃描及量化作業補償係基於下列事實:當壓縮之視訊信號以之字形掃描束長度編碼方式壓縮時,該之字形掃描解碼信號係提供給反離散餘弦轉換電路(106)作為後續區塊之資訊。因此,該經過之字形掃描解碼的信號提供了按照在顯示器(92)上進行光柵掃描(raster scanning)所需順序之各區塊。然後將該經過之字形掃描解碼的信號提供給反向轉換電路(106)(例如,反離散餘弦轉換(IDCT)或及整數轉換電路),而該電路以一種逐一區塊進行之方式對該經過之字形掃描解碼的視頻信號執行反離散餘弦轉換,以便提供經過靜態解壓縮的像素值或經過解壓縮的誤差項(error term)。利用動作補償單元(108)以一種逐一區塊進行之方式處理該經過靜態解壓縮的像素值,而該動作補償單元(108)提供了圖框內預測式雙向動作補償,其中包括對一個、兩個、及四個動作向量(16x16、16x8、及8x8區塊)的支援。迴路內過濾器(110)執行重疊平滑及(或)去區塊,以便根據WMV9壓縮標準而減少或消除區塊贗像,其方式為將暫存記憶體(111)用來儲存部分完成的巨集區塊過濾資料,其中情形將於下文中更完整地加以說明。彩色空間轉換器(112)將一種或多種輸入資料格式(例如,YCbCr 4:2:0)轉換成一種或多種輸出格式(例如,RGB),且在過濾器(116)上對該結果執行過濾及(或)縮放。
如本說明書中所揭示的,平滑及去區塊迴路內過濾器(110)在第一次處理(first pass)期間對每一列的巨集區塊執行部分地過濾或處理,然後在處理次一列的巨集區塊期間完成對該等被部分處理的區塊之處理,而去除各相鄰區塊間之邊界不連續。使用該技術時,可將小容量的暫存記憶體(111)有效率地用來將該等被部分處理的區塊儲存在暫存記憶體中,而不是如同傳統去區塊程序中將大容量的記憶體用來儲存整個圖框的影像以供過濾。當以逐列進行之方式完成對每一區塊的重疊平滑及去區塊處理之後,可先將完成的區塊自過濾器(110)輸出到先進先出(FIFO)緩衝器(圖中未示出),然後才傳送到彩色空間轉換器(CSC)(112)。
第3圖繪示根據本發明之選擇之實施例而將暫存記憶體用來有效率地處理重疊平滑及去區塊的基於巨集區塊的迴路內過濾程序之簡化例示。在該過濾程序中,對一列巨集區塊執行的每一次迴路內過濾處理都產生了完全完成的區塊(這些區塊已被完全過濾,而將該等區塊平滑及去區塊)以及部分完成的區塊(這些區塊被儲存在該暫存記憶體中,以供後續用於對次一列的巨集區塊執行之平滑及去區塊)。如圖所示,該迴路內過濾程序中之每一單一巨集區塊(例如,其中包含四個亮度區塊mb4y0、mb4y1、mb4y2、及mb4y3的例示巨集區塊4或”mb4”)都要歷經下列順序的處理:(i)完全完成對鄰接先前巨集區塊(例如,巨集區塊1)的8x8區塊(例如,mb4y0、mb4y1)的平滑及去區塊,且部分完成對鄰接次一巨集區塊(例如,巨集區塊7)的8x8區塊(例如,mb4y2、mb4y3)的平滑及去區塊;(ii)輸出完成的8x8區塊(例如,mb4y0、mb4y1),並將部分完成的8x8區塊(例如,mb4y2、mb4y3)儲存在該暫存記憶體;(iii)於處理次一巨集區塊(例如,巨集區塊7)時,自該暫存記憶體提取該等部分完成的8x8區塊(例如,mb4y2、mb4y3),並完成對所提取的該等8x8區塊(例如,mb4y2、mb4y3)之處理;以及(iv)連同該次一個巨集區塊的完成之8x8區塊(例如,mb7y0、mb7y1)而輸出該等完成的8x8區塊(例如,mb4y2、mb4y3)。
雖然實施例的細節可隨著應用而改變,但是第3圖示出由若干巨集區塊(例如,巨集區塊mb0、mb1、mb2、mb3、mb4、mb5、mb6、mb7、mb8等)構成由迴路內過濾器(110)處理的影像圖框(150)且該影像圖框(150)被配置在多列(例如,第一列(151)係由mb0、mb1、及mb2所構成)之一個實施例。如第3圖之3A部分所示,迴路內過濾器(110)已經對第一列巨集區塊(151)作了第一次處理。由於對第一列(151)的該第一次處理,已對上方區塊(mb0y0、mb0y1、mb1y0、mb1y1、mb2y0、mb2y1)進行了重疊平滑及去區塊的完全處理(如交叉影線所示),而只對下方區塊(mb0y2、mb0y3、mb1y2、mb1y3、mb2y2、mb2y3)進行了重疊平滑及去區塊的部分處理。為了在對巨集區塊的下一次處理期間完成該第一列(151)的該等被部分處理的區塊,係將該第一列(151)的該等被部分處理的區塊儲存在暫存記憶體(111)中(如點圖樣所示)。
如其他繪示於第3圖之3A部分,迴路內過濾器(110)已開始處理第二列巨集區塊(152),其會完成第一列(151)的該等被部分處理的區塊。結果,mb0y2及mb3y區塊已完全經平滑及去區塊處理,且mb3y2區塊只進行了部分處理(且mb3y2區塊被儲存在暫存記憶體中)。至於在第3圖之3A部分中將由過濾器(110)處理的區塊(已被過濾的區塊(154)且以斜影線示出),mb0y3、mb3y1、及mb3y3區塊已進行了平滑及去區塊的部分處理(且保留在過濾器(110)中),mb1y2區塊是自該暫存記憶體提取的已部分完成的區塊,且從目前的巨集區塊(例如,巨集區塊4)取得其餘的區塊(mb4y0及mb4y2)。當迴路內過濾器(110)處理該等被過濾的區塊(154)時,完成了對該等被部分處理的區塊中之一個或多個區塊(例如,mb0y3、mb3y1)的平滑及去區塊,同時只部分完成了其餘的區塊(mb1y2、mb4y0、mb4y2、及mb3y3)。
在處理了該等被過濾的區塊(154)之後,將迴路內過濾器(110)移至新的資料。係以第3圖之3B部分中所示之圖框(155)示出此情況,而圖中示出藉由輸出任何完成的區塊(例如,mb0y3、mb3y1),藉由將一個或多個部分完成的區塊(例如,mb3y3)儲存在該暫存記憶體中,藉由將其餘部分完成的區塊(例如,mb1y2、mb4y0、mb4y2)移入該過濾器中一個區塊位置,藉由自先前列的巨集區塊提取一個部分完成的區塊(例如,mb1y3),且自目前的巨集區塊載入新的區塊(例如,mb4y1、mb4y3),而由過濾器(110)取得被過濾的區塊(156)。當迴路內過濾器(110)處理該等被過濾的區塊(156)時,完成了對該等被部分處理的區塊中之一或多個區塊(例如,mb1y2、mb4y0)的平滑及去區塊,同時只部分完成了其餘的區塊(mb1y3、mb4y1、mb4y3、及mb4y2)。
在處理了該等被過濾的區塊(156)之後,再度將迴路內過濾器(110)移至新的資料,且係以第3C圖所示之圖框(157)示出此情況。尤係藉由輸出任何完成的區塊(例如,mb1y2、mb4y0),藉由將一個或多個部分完成的區塊(例如,mb4y2)儲存在該暫存記憶體中,藉由將其餘部分完成的區塊(例如,mb1y3、mb41、mb4y3)移入該過濾器中一個區塊位置,藉由自先前列的巨集區塊提取一個部分完成的區塊(例如,mb2y2),且自目前的巨集區塊載入新的區塊(例如,mb5y0、mb5y2),而由過濾器(110)取得被過濾的區塊(158)。當迴路內過濾器(110)處理該等被過濾的區塊(158)時,完成了對該等被部分處理的區塊中之一或多個區塊(例如,mb1y3、mb4y1)的平滑及去區塊,同時只部分完成了其餘的區塊(mb2y2、mb5y0、mb5y2、及mb4y3)。此時,已完成了對巨集區塊4中之上方區塊(mb4y0、mb4y1)的平滑及去區塊,但是只部分完成了下方區塊(mb4y2、mb4y3)。藉由將部分儲存的下方區塊儲存在該暫存記憶體中,即可在過濾器(110)處理次一列巨集區塊時,完成該過濾作業。
第4圖中示出本發明的一替代實施例之額外細節,該圖示出一種在視訊編碼器或解碼器中使用平滑及去區塊過濾器以減少解碼後的圖框中之區塊效應(區塊瑕疵;blockiness)之方法(200)。我們將可了解,可將所示之技術用來處理亮度區塊或色度區塊,但是在每一圖框的周圍可能有特殊角落的情形,此時熟悉此項技術者將視需要而調整並應用本發明。然而,為了簡化,本發明的揭示主要將重點放在對每一圖框的內部巨集區塊執行的迴路內過濾步驟。
請參閱第4圖,在步驟(201)中,一旦該視訊編碼器/解碼器至少產生了該圖框的第一巨集區塊之後,該迴路內過濾程序即以一次一個巨集區塊之方式處理最上方列的巨集區塊,以便對每一區塊與其鄰近區塊間之邊界過濾。我們當了解,因為並未對該圖框的周圍執行平滑及去區塊,所以該圖框之外部並無用於過濾程序的任何部分完成的區塊。然而,當對第一列巨集區塊過濾時,一些部分完成的區塊填滿了該暫存記憶體。在步驟(201)中,自第一巨集區塊開始,該編碼器/解碼器載入所需的區塊,並自該暫存記憶體擷取(除了第一列巨集區塊以外的)來自上方的任何部分完成的鄰接區塊。當一巨集區塊包含四個亮度區塊(y0、y1、y2、y3)以及兩個色度區塊(Cb、Cr)時,該等區塊按照下列順序進入該編碼器/解碼器硬體:y0、y1、y2、y3、Cb、Cr。
然後在步驟(210)中,該視訊編碼器/解碼器將被載入該過濾器的該等區塊與鄰接區塊或子區塊間之預定邊界過濾。在所選擇的實施例中,可使用分段處理技術,以便部分地處理該過濾器中之每一區塊。例如,在步驟(211)中,在將亮度或色度平面中之一8x8區塊解碼之後,使左及(或)右(垂直)邊緣的全部或部分接受平滑過濾程序。在步驟(212)中,以額外添加或以替代之方式,使該區塊的上及(或)下(水平)邊緣的全部或部分接受平滑過濾程序。除了重疊平滑之外,在步驟(213)中,可將去區塊過濾程序施加到該等8x8區塊的所選擇之水平邊界線之全部或部分,且(或)在步驟(214)中,將該去區塊過濾程序施加到各8x4子區塊的所選擇之水平邊界線之全部或部分。以額外添加或以替代之方式,在步驟(215)中,可將該去區塊過濾程序施加到該等8x8區塊的所選擇之垂直邊界線之全部或部分,且(或)在步驟(216)中,將該去區塊過濾程序施加到各4x8子區塊的所選擇之垂直邊界線之全部或部分。
一旦分段處理了該過濾器中之該等區塊之後,儲存結果或將結果移入該過濾器中,以供其他的處理。尤其為了讓該過濾器處理新的資料,在步驟(217)中自該過濾器輸出該過濾器中任何完成的區塊。此外,在判定步驟(218)中決定尚未處理最後一列的巨集區塊時,在步驟(219)中將不連同新區塊而處理的任何部分完成的區塊儲存在暫存記憶體中,以供後續的使用以及連同次一列巨集區塊而進行另外的處理,而在判定步驟(218)中判定正在處理最後一列的巨集區塊(其結果是否定的)之情形中,可略過該暫存記憶體儲存步驟(219)。
在步驟(217)、(219)中儲存所選擇的區塊而在該過濾器中產生了空間之後,該過濾器現在可處理新的資料。尤其在判定步驟(220)中判定該圖框中還有額外的區塊(其結果是肯定的)時,在步驟(222)中將其餘的部分過濾的區塊向左移入該過濾器。在判定步驟(224)判定該等區塊列是在最上方列之下(其結果是否定的)之情形中,在步驟(226)中自該暫存記憶體擷取次一部分完成的區塊,而填入該過濾器中的可用空間,並在步驟(228)中以新的區塊填入該過濾器中之任何剩下的空間。一旦將新的資料載入該過濾器之後,即對該組新的過濾區塊重複該區塊過濾程序(210)。藉由重複該序列的作業,而循序將該圖框中之每一巨集區塊過濾,以便自該暫存記憶體擷取於處理前一列的巨集區塊期間產生的部分完成的區塊,並將被部分地過濾的區塊儲存在該暫存記憶體中,以供在處理次一列的巨集區塊期間之後續使用。另一方面,如果在判定步驟(222)中判定沒有將要過濾的任何剩餘區塊(其結果是否定的)之情形中,即完成對目前圖框的平滑及去區塊處理。此時,在步驟(230)中擷取次一圖框,且自該新圖框的第一巨集區塊開始,而重複該過濾程序。
現在請參閱第5A圖至第5K圖,圖中示出了本發明的一實施例,以便示出如何利用分段處理技術而對巨集區塊4(“mb4”)中之亮度區塊執行WMV9平滑及去區塊程序。第5A圖中示出該過濾程序的起點,此時已將經過重疊平滑(請參閱諸如橢圓形標示(322))及去區塊(請參閱諸如線標示(323))的部分處理之區塊(例如,mb0y3、mb3y1、及mb3y3)載入了過濾器(320)。
然後如第5B圖所示,以額外的區塊填入過濾器(320)。尤其自該暫存記憶體擷取部分完成的區塊(例如,mb1y2),並將該區塊載入該過濾器中。此外,將來自目前巨集區塊(例如,mb4)的選擇之區塊(例如,mb4y0、mb4y2)載入該編碼器/解碼器,然而如(321)所示,該巨集區塊載入序列(例如,mb4y0、mb4y1、mb4y2、及mb4y3)要求:此時至少一個區塊被載入,旦不被移入過濾器(320)。
如第5C圖所示,一旦載入了該等過濾區塊之後,過濾器(320)即執行分段重疊平滑。尤其係對所選擇的內部垂直邊緣(301)、(302)執行垂直重疊平滑(V)。然後,對所選擇的內部水平邊緣(例如,303、304、305、及306)執行水平重疊平滑(H)。
如第5D圖所示,在部分平滑了該等過濾區塊之後,過濾器(320)執行分段去區塊。首先,對所選擇的8x8區塊邊界(例如,307、308、309、310)執行水平迴路內去區塊(HD),然後對所選擇的子區塊邊界(例如,311、312、313、314)執行水平迴路內去區塊(HDH)。然後,該過濾器對所選擇的8x8區塊邊界(例如,315、316)執行垂直迴路內去區塊(VD),然後對所選擇的子區塊邊界(例如,317、318)執行垂直迴路內去區塊(VDH)。
在每一上述的平滑及去區塊步驟內,對該等邊界段(boundary piece)的過濾順序並無關緊要,這是因為該等邊界段之間並無相依性。除了第5C及5D圖所示之分段處理的特定順序之外,亦可根據本發明而實施其他的順序及(或)過濾步驟。例如,可過濾不同順序的邊界邊緣。此外,可施加一種以上類型的平滑及去區塊模式,且該過濾作業可根據過濾體系而施加到邊界的任一側上的多達三個或更多的像素。例如,MPEG-4標準使用兩種去區塊模式,以便在第一種模式中將短過濾施加到區塊邊緣的任一側上的一個像素,並在第二種模式中將較長過濾施加到任一側上的兩個像素。在其他的實施例中,可調整過濾定義、不同的過濾器數目、及(或)適當過濾條件,以便符合特定的要求。
如第5E圖所示,一旦該等平滑及去區塊過濾作業結束之後,即儲存並移出被處理過的過濾區塊。尤其然後可輸出任何完成的區塊(例如,mb0y3、mb3y1),這是因為該等區塊已是完成的。此外,可將一個或多個部分完成的區塊(例如,mb3y3)移到該暫存記憶體,以便在處理下方的鄰接巨集區塊時提供作後續的使用(請參閱例如第3圖所示與mb3y3相關的巨集區塊6)。然後可將該過濾器中任何剩餘的部分完成的區塊(例如,mb1y2、mb4y0、mb4y2)在該過濾器中動作,以便讓出空間給新的資料。第5F圖中示出該等輸出、儲存、及動作步驟的結果。
如第5G圖所示,現在可以新的資料填入過濾器(320)。尤其自該暫存記憶體擷取部分完成的區塊(例如,mb1y3),並將該區塊載入該過濾器中。此外,將來自目前巨集區塊(例如,mb4)的剩餘區塊(例如,mb4y1、mb4y3)載入過濾器(320)。
如第5H圖所示,一旦載入了該等過濾區塊之後,過濾器(320)即執行分段重疊平滑。尤其係對所選擇的內部垂直邊緣執行垂直重疊平滑(V1,V2)。然後,對所選擇的內部水平邊緣執行水平重疊平滑(H1、H2、H3、H4)。
如第5I圖所示,在部分平滑了該等過濾區塊之後,過濾器(320)即執行分段去區塊。首先,對所選擇的8x8區塊邊界執行水平迴路內去區塊(HD1、HD2、HD3、HD4),然後對所選擇的子區塊邊界執行水平迴路內去區塊(HDH1、HDH2、HDH3、HDH4)。然後,過濾器對所選擇的8x8區塊邊界執行垂直迴路內去區塊(VD1、VD2),然後對所選擇的子區塊邊界執行垂直迴路內去區塊(VDH1、VDH2)。
如第5J圖所示,一旦該等平滑及去區塊過濾作業結束之後,即儲存並移出被處理過的過濾區塊。尤其然後可輸出任何完成的區塊(例如,mb1y2、mb4y0),這是因為該等區塊已是完成的。此外,可將一個或多個部分完成的區塊(例如,mb4y2)移到該暫存記憶體,以便在處理下方的鄰接巨集區塊時提供作後續的使用。然後可將該過濾器中任何剩餘的部分完成的區塊(例如,mb1y3、mb4y1、mb4y3)在該過濾器中動作,以便讓出空間給新的資料。第5K圖中示出該等輸出、儲存、及動作步驟的結果,且該結果正對應於第5A圖所示之起始過濾器狀態。因此,可重複第5A至5K圖所示之步驟序列,以便繼續對其中包括次一巨集區塊(例如,巨集區塊5或mb5)的該等過濾區塊進行過濾。
現在請參閱第6A圖至第6F圖,圖中示出本發明的一個實施例,以便顯示如何可用分段處理技術而在巨集區塊中之Cb或Cr區塊上實施WMV9平滑及去區塊程序。因為Cb及Cr巨集區塊是類似的,所以將參照以指標標籤Cb(x,y)識別的目前Cb巨集區塊而提供該例子。第6A圖中示出該過濾程序的起點,此時業已將經過重疊平滑(請參閱例如橢圓形標示(422))及去區塊(請參閱例如線標示(423))的部分處理之區塊(例如,Cb(x-1,y-1)及Cb(x-1,y))載入了過濾器(420)。
然後如第6B圖所示,以額外的區塊填入過濾器(420)。尤其自該暫存記憶體擷取部分完成的區塊(例如,Cb(x,y-1)),並將該區塊載入該過濾器中。此外,將來自目前巨集區塊的區塊(例如,Cb(x,y))載入該過濾器。如第6C圖所示,一旦載入了該等過濾區塊之後,過濾器(420)即執行分段重疊平滑。尤其係對所選擇的內部垂直邊緣執行垂直重疊平滑(V)。然後,對所選擇的內部水平邊緣執行水平重疊平滑(H1,H2)。
如第6D圖所示,在部分地平滑了該等過濾區塊之後,過濾器(420)執行分段去區塊。首先,對所選擇的8x8區塊邊界執行水平迴路內去區塊(HD1,HD2),然後對所選擇的子區塊邊界執行水平迴路內去區塊(HDH1,HDH2)。然後,該過濾器對所選擇的8x8區塊邊界執行垂直迴路內去區塊(VD),然後對所選擇的子區塊邊界執行垂直迴路內去區塊(VDH)。
如第6E圖所示,一旦該等平滑及去區塊過濾作業結束之後,即儲存並移出被處理過的過濾區塊。尤其然後可輸出任何完成的區塊(例如,Cb(x-1,y-1)),這是因為該區塊已是完成的。此外,可將部分完成的區塊(例如,Cb(x-1,y))移到該暫存記憶體,以便在處理下方的鄰接巨集區塊時提供作後續的使用。然後可將該過濾器中任何剩餘的部分完成的區塊(例如,Cb(x,y-1)、Cb(x,y))在該過濾器中動作,以便讓出空間給新的資料。第6F圖中示出該等輸出、儲存、及動作步驟的結果,且該結果正對應於第6A圖所示之起始過濾器狀態。因此,可重複第6A至6F圖所示之步驟序列,以便對次一巨集區塊進行過濾。
從上述可知,在硬體解碼器單元中提供小容量的暫存記憶體,迴路內過濾器可將來自目前巨集區塊(表示為MB(x,y))的亮度區塊及色度區塊的任何部分完成的過濾結果暫時儲存在該暫存記憶體中。然後可將該等被儲存的過濾結果用於對與該巨集區塊鄰接的且在該列之下的區塊之處理。尤其當過濾器正在處理正下方的巨集區塊(亦即,MB(x,y+1))時,自該暫存記憶體提取被儲存的MB(x,y)之資料,並將該資料用於對MB(x,y+1)之處理。
雖然該暫存記憶體中儲存的該等部分完成的過濾結果應至少包含8x8像素資料,但是在選擇的實施例中,該暫存記憶體也儲存了用來判定該區塊是否需要進行邊界過濾的控制資料。例如,該控制資料可包括目前巨集區塊中的六個區塊之每一區塊的一組標頭,該組標頭包括1毫伏(mv)或4毫伏的選擇碼、區塊位址、區塊在圖框中之位置、巨集區塊模式(mbmode)、轉換大小、係數(零或非零)、以及若干動作向量(沿著x及y方向的兩個向前動作向量、以及沿著x及y方向的兩個向後動作向量)。可以一種有效率地使用叢發資料段大小之方式封裝(pack)該等資料。
因為該暫存記憶體的小容量,所以可將記憶體設於與視訊加速器相同的晶片中,然而對於典型的圖框大小而言,可將該暫存記憶體設於諸如DDR記憶體或其他外部記憶體等的不同之晶片中。然而,藉由將該暫存記憶體設於視訊加速器硬體單元(101)中,而可得到更佳的記憶體存取效能。與設有大容量的記憶體緩衝器以儲存整個圖框的資料區塊相比時,本發明藉由儘量減少該暫存記憶體的容量,而可降低該媒體加速硬體單元的製造成本。例如,可以下式計算用來儲存其中包括控制資料及像素資料的部分完成的過濾結果之暫存記憶體的容量:暫存記憶體的容量=(576位元組)×(圖框中沿著水平方向的巨集區塊數目)。
自上式可看出:當圖框在垂直方向有較大尺寸時,該暫存記憶體的容量是相對較小的。換言之,該暫存記憶體的容量係取決於圖框在水平方向的尺寸。
我們當了解,可配合用來存放整個圖框的較大容量之記憶體而有利地使用本說明書中述及的該分段處理技術,此時只要在將整個圖框解碼之前,先開始對第一巨集區塊過濾,即可改善過濾作業的速度。然而,分段處理容許以小容量的內建暫存記憶體而執行該過濾作業,因而比將較大容量的記憶體用來儲存整個圖框之方式有成本及速度上的優勢。此外,使用分段過濾時,與基於圖框的硬體實施例之情形相比下,並無用於存取區塊的額外負擔,且保留了如同傳統基於圖框的過濾作業一般整體處理順序。在選擇的實施例中,可將分段處理管線化,以便隱藏等待時間。管線化也平滑了過濾器處理能力,因而避免提取及儲存區塊的叢發。
前文所揭示的特定實施例只是供例示之用,且不應將該等特定實施例視為對本發明的限制,這是因為熟悉此項技術者在參閱本發明的揭示之後,將可易於以不同但等效之方式修改及實施本發明。因此,前文中說明的用意並非將本發明限制在所述之特定形式,相反地,本發明將涵蓋包含在最後的申請專利範圍所界定的本發明的精神及範圍內之此種替代、修改、及等效方式,因而熟悉此項技術者當可了解:可在不脫離本發明的廣義形式之精神及範圍下,作出各種改變、替代、及改變。
30...系統
31...輸入緩衝器
32...可變長度編碼(VLC)解碼器
33...反向量化器
34...反離散餘弦轉換器(IDCT)
35...輸入位元流解碼部分
36...先前圖像儲存緩衝器
37...動作補償單元
38...動作解碼器
39...加法器
40...圖框緩衝器
41,92...顯示器
50...處理器(CPU)
52...VLD區塊
54...輕量壓縮
60...雙倍資料率(DDR)控制器
62,64...雙倍資料率同步動態隨機存取記憶體(DDR SDRAM)
70...靜態記憶體控制器
72...IDE儲存裝置
74...快閃記憶體單元
76...唯讀記憶體(ROM)
80,90...控制器
82,84,86...周邊裝置
95...匯流排
100...視訊解壓縮系統
101...媒體加速硬體單元
102...解壓縮
104...反向”之”字形掃描及量化器電路
106...反向轉換電路
108...動作補償單元
110...迴路內過濾器
111...暫存記憶體
112...彩色空間轉換器(CSC)
114...縮放器
116,320,420...過濾器
118...輸出FIFO
150,155,157...圖框
151...第一列巨集區塊
152...第二列巨集區塊
154,156,158...被過濾的區塊
200...方法
201,210,211,212,213,214,215,216,217,218,219,220,222,224,226,228,230...步驟
322,422...橢圓形標示
323,423...線標示
301,302...內部垂直邊緣
303,304,305,306...內部水平邊緣
307,308,309,310,315,316...區塊邊界
311,312,313,314,317,318...子區塊邊界
第1圖顯示用來解壓縮視頻資訊之系統之方塊圖;第2圖顯示根據本發明而建構之例示視訊解壓縮系統之方塊圖;第3圖繪示根據本發明的所選擇之實施例而將暫存記憶體用來有效率地以硬體處理重疊平滑及迴路內去區塊的迴路內過濾程序之簡化說明;第4圖繪示在視訊編碼器或解碼器中使用平滑及去區塊過濾器以減少解碼後的圖框中之區塊效應(blockiness)之例示技術;第5A至5K圖例示如何可將分段處理用來執行亮度區塊的平滑及去區塊程序;以及第6A至6F圖例示如何可將分段處理用來執行色度區塊的平滑及去區塊程序。
50...處理器(CPU)
52...VLD區塊
54...輕量壓縮
60...雙倍資料率(DDR)控制器
62,64...雙倍資料率同步動態隨機存取記憶體(DDR SDRAM)
70...靜態記憶體控制器
72...IDE儲存裝置
74...快閃記憶體單元
76...唯讀記憶體(ROM)
80,90...控制器
82,84,86...周邊裝置
92...顯示器
95...匯流排
100...視訊解壓縮系統
101...媒體加速硬體單元
102...解壓縮
104...反向”之”字形掃描及量化器電路
106...反向轉換電路
108...動作補償單元
110...迴路內過濾器
111...暫存記憶體
112...彩色空間轉換器(CSC)
114...縮放器
116...過濾器
118...輸出FIFO

Claims (16)

  1. 一種解碼視訊資料之方法,包含下列步驟:接收視訊資料之至少第一巨集區塊,該視訊資料係經過區塊轉換處理;對該巨集區塊中之被選擇的像素資料執行重疊平滑及去區塊,以產生至少一個第一部分過濾的區塊以及至少一個第一完成的區塊;以及儲存該第一部分過濾的區塊,以用在對第二巨集區塊中之被選擇的像素資料執行重疊平滑及去區塊,其中該重疊平滑及去區塊步驟包含下列步驟:對與先前被處理的巨集區塊鄰接之至少第一區塊完全地過濾,以用於重疊平滑及去區塊;對與後續被處理的巨集區塊鄰接之至少第二區塊部分地過濾,以用於重疊平滑及去區塊;輸出該完全地過濾的第一區塊;以及將該部分地過濾的第二區塊儲存在暫存記憶體中。
  2. 如申請專利範圍第1項之方法,復包含下列步驟:自記憶體提取第二部分過濾的區塊,以便在該重疊平滑及去區塊步驟中使用,而先前在對先前巨集區塊處理的期間已產生了該第二部分過濾的區塊。
  3. 如申請專利範圍第1項之方法,其中以視訊解碼器中之迴路內過濾器執行該重疊平滑及去區塊步驟。
  4. 如申請專利範圍第1項之方法,其中以管線化之方式 對複數個巨集區塊執行該方法。
  5. 如申請專利範圍第1項之方法,其中對至少第一區塊完全地過濾之該步驟包含下列步驟:自暫存記憶體提取部分完成的第三區塊,以用在完成對該第一區塊的過濾。
  6. 如申請專利範圍第1項之方法,復包含下列步驟:當正在對該被後續處理的巨集區塊過濾以用於重疊平滑及去區塊時,提取該部分過濾的第二區塊。
  7. 如申請專利範圍第1項之方法,其中該重疊平滑及去區塊步驟包含下列步驟:對該第一巨集區塊中之每一區塊的被選擇的垂直邊緣執行重疊平滑;對該第一巨集區塊中之每一區塊的被選擇的水平邊緣執行重疊平滑;對該第一巨集區塊中之每一區塊的被選擇的水平邊界執行迴路內去區塊;對該第一巨集區塊中之每一子區塊的被選擇的水平邊界執行迴路內去區塊;對該第一巨集區塊中之每一區塊的被選擇的垂直邊界執行迴路內去區塊;以及對該第一巨集區塊中之每一子區塊的被選擇的垂直邊界執行迴路內去區塊。
  8. 一種視訊加速器,包含迴路內過濾器,用以對每一巨集區塊內之至少第一區塊執行分段重疊平滑及去區塊,以 便在第一過濾作業中部分地處理該第一區塊,然後在第二過濾作業中完全地處理該第一區塊,其中重疊平滑包含執行於兩鄰近區塊邊緣之空間過濾作業;以及暫存記憶體,用以儲存該部分地處理的第一區塊,其中該第二過濾作業自該暫存記憶體提取該部分地處理的第一區塊。
  9. 如申請專利範圍第8項之視訊加速器,其中該第一過濾作業包含對第一列巨集區塊執行的重疊平滑及去區塊作業,且該第二過濾作業包含對第二列巨集區塊執行的重疊平滑及去區塊作業。
  10. 如申請專利範圍第8項之視訊加速器,其中該第一過濾作業包含對該第一區塊執行的第一組分段重疊平滑及去區塊作業,且該第二過濾作業包含對該第一區塊執行的第二組分段重疊平滑及去區塊作業。
  11. 如申請專利範圍第8項之視訊加速器,其中該第一過濾作業包含下列作業:當該第一區塊係鄰接先前被處理的巨集區塊時,完全地將該第一區塊過濾,以用於重疊平滑及去區塊。
  12. 如申請專利範圍第8項之視訊加速器,其中該第二過濾作業包含下列作業:當該第一區塊係鄰接後續被處理的巨集區塊時,部分地將該第一區塊過濾,以用於重疊平滑及去區塊。
  13. 如申請專利範圍第8項之視訊加速器,其中該第一過濾作業包含下列作業: 對至少該第一區塊的被選擇的垂直區塊邊界執行重疊平滑;對至少該第一區塊的被選擇的水平區塊邊界執行重疊平滑;對至少該第一區塊的被選擇的水平區塊邊界執行迴路內去區塊;對至少該第一區塊的被選擇的水平子區塊邊界執行迴路內去區塊;對至少該第一區塊的被選擇的垂直區塊邊界執行迴路內去區塊;以及對至少該第一區塊的被選擇的垂直子區塊邊界執行迴路內去區塊。
  14. 如申請專利範圍第13項之視訊加速器,其中該第二過濾作業包含下列作業:對至少該第一區塊的任何剩餘垂直區塊邊界執行重疊平滑;對至少該第一區塊的任何剩餘水平區塊邊界執行重疊平滑;對至少該第一區塊的任何剩餘水平區塊邊界執行迴路內去區塊;對至少該第一區塊的任何剩餘水平子區塊邊界執行迴路內去區塊;對至少該第一區塊的任何剩餘垂直區塊邊界執行迴路內去區塊;以及 對至少該第一區塊的任何剩餘垂直子區塊邊界執行迴路內去區塊。
  15. 一種在視訊處理系統中解碼來自被壓縮的視訊資料流之視訊資訊之裝置,該裝置包含:處理器,將該被壓縮的視訊資料流部分地解碼,以產生部分解碼的視訊資料;以及視訊解碼電路,將該部分解碼的視訊資料解碼,以產生視訊圖框,該視訊解碼電路包含迴路內過濾器,用以對該等視訊圖框的每一巨集區塊循序地執行重疊平滑及迴路內去區塊的分段處理,其中該視訊解碼電路包含:用於重疊平滑及去區塊在第一巨集區塊中之被選擇的像素資料之機構,以產生至少一個第一部分過濾的區塊以及至少一個第一完成的區塊;以及用以儲存該第一部分過濾的區塊之機構,以使該儲存的區塊用於重疊平滑及去區塊在第二巨集區塊中之被選擇的像素資料。
  16. 如申請專利範圍第15項之裝置,其中該迴路內過濾器循序地處理於視訊圖框中之每一列巨集區塊,以便一次對一個巨集區塊執行重疊平滑及去區塊。
TW095102015A 2005-01-25 2006-01-19 重疊平滑與迴路內(in-loop)去區塊(deblocking)之分段處理 TWI461065B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/042,366 US8576924B2 (en) 2005-01-25 2005-01-25 Piecewise processing of overlap smoothing and in-loop deblocking

Publications (2)

Publication Number Publication Date
TW200704197A TW200704197A (en) 2007-01-16
TWI461065B true TWI461065B (zh) 2014-11-11

Family

ID=36282870

Family Applications (1)

Application Number Title Priority Date Filing Date
TW095102015A TWI461065B (zh) 2005-01-25 2006-01-19 重疊平滑與迴路內(in-loop)去區塊(deblocking)之分段處理

Country Status (8)

Country Link
US (1) US8576924B2 (zh)
JP (1) JP5390773B2 (zh)
KR (1) KR101227667B1 (zh)
CN (2) CN101107861B (zh)
DE (1) DE112006000271T5 (zh)
GB (1) GB2441188B (zh)
TW (1) TWI461065B (zh)
WO (1) WO2006081097A1 (zh)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060013315A1 (en) * 2004-07-19 2006-01-19 Samsung Electronics Co., Ltd. Filtering method, apparatus, and medium used in audio-video codec
US7792385B2 (en) * 2005-01-25 2010-09-07 Globalfoundries Inc. Scratch pad for storing intermediate loop filter data
US7965773B1 (en) 2005-06-30 2011-06-21 Advanced Micro Devices, Inc. Macroblock cache
JP2007060627A (ja) * 2005-07-27 2007-03-08 Victor Co Of Japan Ltd 再生装置および再生方法
CN100370834C (zh) * 2005-08-08 2008-02-20 北京中星微电子有限公司 多模图像编解码芯片中的系数缩放计算模块
US7636497B1 (en) 2005-12-27 2009-12-22 Advanced Micro Devices, Inc. Video rotation in a media acceleration engine
US20070223591A1 (en) * 2006-03-22 2007-09-27 Metta Technology, Inc. Frame Deblocking in Video Processing Systems
JP4797853B2 (ja) * 2006-07-19 2011-10-19 ソニー株式会社 映像信号処理装置及び方法、並びに映像信号復号装置
JP4830691B2 (ja) * 2006-07-26 2011-12-07 ソニー株式会社 映像信号処理方法及び装置、並びに映像信号復号方法
KR100771879B1 (ko) * 2006-08-17 2007-11-01 삼성전자주식회사 내부 메모리 용량을 감소시키는 디블록킹 필터링 방법 및그 방법을 이용하는 영상 처리 장치
JP4848892B2 (ja) * 2006-08-25 2011-12-28 ソニー株式会社 映像信号処理装置及び方法、並びに映像信号復号装置
US7760964B2 (en) * 2006-11-01 2010-07-20 Ericsson Television Inc. Method and architecture for temporal-spatial deblocking and deflickering with expanded frequency filtering in compressed domain
KR100903863B1 (ko) 2007-01-25 2009-06-24 주식회사 씬멀티미디어 Wmv 디코더의 오버랩 변환부와 디블록킹 필터 사이의인터페이스 방법
US8923384B2 (en) * 2007-12-31 2014-12-30 Netlogic Microsystems, Inc. System, method and device for processing macroblock video data
US8462841B2 (en) * 2007-12-31 2013-06-11 Netlogic Microsystems, Inc. System, method and device to encode and decode video data having multiple video data formats
US20090285308A1 (en) * 2008-05-14 2009-11-19 Harmonic Inc. Deblocking algorithm for coded video
US20100053181A1 (en) * 2008-08-31 2010-03-04 Raza Microelectronics, Inc. Method and device of processing video
US8861586B2 (en) * 2008-10-14 2014-10-14 Nvidia Corporation Adaptive deblocking in a decoding pipeline
US8867605B2 (en) * 2008-10-14 2014-10-21 Nvidia Corporation Second deblocker in a decoding pipeline
US20100111166A1 (en) * 2008-10-31 2010-05-06 Rmi Corporation Device for decoding a video stream and method thereof
US9179166B2 (en) * 2008-12-05 2015-11-03 Nvidia Corporation Multi-protocol deblock engine core system and method
EP2452499A1 (en) * 2009-07-06 2012-05-16 Thomson Licensing Methods and apparatus for spatially varying residue coding
US8589942B2 (en) 2010-05-07 2013-11-19 Qualcomm Incorporated Non-real time thread scheduling
US8873637B2 (en) * 2010-05-14 2014-10-28 Qualcomm Incorporated Hardware pixel processing pipeline and video processing instructions
US9143793B2 (en) * 2010-05-27 2015-09-22 Freescale Semiconductor, Inc. Video processing system, computer program product and method for managing a transfer of information between a memory unit and a decoder
US8787443B2 (en) 2010-10-05 2014-07-22 Microsoft Corporation Content adaptive deblocking during video encoding and decoding
US9042458B2 (en) 2011-04-01 2015-05-26 Microsoft Technology Licensing, Llc Multi-threaded implementations of deblock filtering
US20130027748A1 (en) * 2011-07-29 2013-01-31 Canon Kabushiki Kaisha Image processing apparatus
US9460495B2 (en) * 2012-04-06 2016-10-04 Microsoft Technology Licensing, Llc Joint video stabilization and rolling shutter correction on a generic platform
WO2014053517A1 (en) * 2012-10-01 2014-04-10 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Scalable video coding using derivation of subblock subdivision for prediction from base layer
US9854252B2 (en) 2013-05-20 2017-12-26 Texas Instruments Incorporated Method and apparatus of HEVC de-blocking filter
US9471995B2 (en) * 2014-01-14 2016-10-18 Vixs Systems Inc. Codec engine with inline image processing
JP6504174B2 (ja) 2014-03-03 2019-04-24 ソニー株式会社 装置及び方法
US10999602B2 (en) 2016-12-23 2021-05-04 Apple Inc. Sphere projected motion estimation/compensation and mode decision
US11259046B2 (en) 2017-02-15 2022-02-22 Apple Inc. Processing of equirectangular object data to compensate for distortion by spherical projections
US10924747B2 (en) 2017-02-27 2021-02-16 Apple Inc. Video coding techniques for multi-view video
US11093752B2 (en) 2017-06-02 2021-08-17 Apple Inc. Object tracking in multi-view video
US20190005709A1 (en) * 2017-06-30 2019-01-03 Apple Inc. Techniques for Correction of Visual Artifacts in Multi-View Images
US10754242B2 (en) 2017-06-30 2020-08-25 Apple Inc. Adaptive resolution and projection format in multi-direction video
TWI729477B (zh) * 2018-08-31 2021-06-01 聯發科技股份有限公司 視訊編解碼中的子塊去塊及裝置
WO2020089201A1 (en) * 2018-10-30 2020-05-07 Telefonaktiebolaget Lm Ericsson (Publ) Deblocking between block boundaries and sub-block boundaries in a video encoder and/or video decoder
US11134275B2 (en) * 2019-06-04 2021-09-28 Tencent America LLC Method and apparatus for performing primary transform based on filtering of blocks
CN110213579A (zh) * 2019-06-11 2019-09-06 上海富瀚微电子股份有限公司 双核心计算单元实现环路滤波的方法
US11917144B2 (en) * 2021-09-29 2024-02-27 Mediatek Inc. Efficient in-loop filtering for video coding
US11714620B1 (en) 2022-01-14 2023-08-01 Triad National Security, Llc Decoupling loop dependencies using buffers to enable pipelining of loops

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1351513A2 (en) * 2002-04-01 2003-10-08 Broadcom Corporation Method of operating a video decoding system

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4631750A (en) * 1980-04-11 1986-12-23 Ampex Corporation Method and system for spacially transforming images
US5097518A (en) * 1990-02-27 1992-03-17 Eastman Kodak Company Technique for performing digital image scaling by logically combining or replicating pixels in blocks of differing groupsizes
DE69232345T2 (de) * 1991-07-16 2002-07-04 Yozan Inc Verfahren zur Bestimmung der Neigung eines Schriftzeichen enthaltenden Bildes
US5872866A (en) * 1995-04-18 1999-02-16 Advanced Micro Devices, Inc. Method and apparatus for improved video decompression by predetermination of IDCT results based on image characteristics
US5903313A (en) * 1995-04-18 1999-05-11 Advanced Micro Devices, Inc. Method and apparatus for adaptively performing motion compensation in a video processing apparatus
US6075918A (en) * 1995-10-26 2000-06-13 Advanced Micro Devices, Inc. Generation of an intermediate video bitstream from a compressed video bitstream to enhance playback performance
DE69712676T2 (de) * 1996-07-08 2003-01-02 Hyundai Curitel Inc Verfahren zur Videokodierung
US5923782A (en) * 1996-08-01 1999-07-13 Nynex Science & Technology, Inc. System for detecting and identifying substantially linear horizontal and vertical lines of engineering drawings
US5859651A (en) * 1996-08-19 1999-01-12 International Business Machines Corporation Method and apparatus for block data transfer to reduce on-chip storage for interpolative video resizing
KR100213089B1 (ko) * 1997-01-29 1999-08-02 윤종용 루프필터링 방법 및 루프필터
US6188799B1 (en) * 1997-02-07 2001-02-13 Matsushita Electric Industrial Co., Ltd. Method and apparatus for removing noise in still and moving pictures
JPH1198020A (ja) * 1997-09-24 1999-04-09 Sony Corp ビットストリーム解析方法及び装置
US6259734B1 (en) * 1998-04-03 2001-07-10 Matsushita Electric Industrial Co., Ltd. Image processing method, image processing apparatus, and data storage media
US6380945B1 (en) * 1998-11-09 2002-04-30 Broadcom Corporation Graphics display system with color look-up table loading mechanism
US6614930B1 (en) * 1999-01-28 2003-09-02 Koninklijke Philips Electronics N.V. Video stream classifiable symbol isolation method and system
US6441754B1 (en) * 1999-08-17 2002-08-27 General Instrument Corporation Apparatus and methods for transcoder-based adaptive quantization
KR100335055B1 (ko) * 1999-12-08 2002-05-02 구자홍 압축 영상신호의 블럭현상 및 링현상 제거방법
US6771196B2 (en) * 1999-12-14 2004-08-03 Broadcom Corporation Programmable variable-length decoder
JP2001285863A (ja) * 2000-03-30 2001-10-12 Sony Corp 画像情報変換装置及び方法
US6901170B1 (en) * 2000-09-05 2005-05-31 Fuji Xerox Co., Ltd. Image processing device and recording medium
DE10048438A1 (de) * 2000-09-29 2002-04-18 Siemens Ag Referenzbilddrehung
JP4620901B2 (ja) * 2001-06-04 2011-01-26 キヤノン株式会社 2次元光走査装置、及び該2次元光走査装置の駆動方法
US6819803B2 (en) * 2001-07-02 2004-11-16 International Business Machines Corporation Faster lossless rotation of JPEG images
GB0124882D0 (en) * 2001-10-17 2001-12-05 Koninkl Philips Electronics Nv Improved variable length decoder
CN101448162B (zh) * 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
TW563343B (en) * 2002-03-15 2003-11-21 Via Tech Inc Image frame scaling method
US6907079B2 (en) * 2002-05-01 2005-06-14 Thomson Licensing S.A. Deblocking filter conditioned on pixel brightness
MXPA05000335A (es) * 2002-07-09 2005-03-31 Nokia Corp Metodo y sistema para seleccionar tipo de filtro de interpolacion en codificacion de video.
US7084929B2 (en) * 2002-07-29 2006-08-01 Koninklijke Philips Electronics N.V. Video data filtering arrangement and method
US7379496B2 (en) * 2002-09-04 2008-05-27 Microsoft Corporation Multi-resolution video coding and decoding
JP3680845B2 (ja) * 2003-05-28 2005-08-10 セイコーエプソン株式会社 圧縮動画像の伸張装置及びそれを用いた画像表示装置
US20050013494A1 (en) * 2003-07-18 2005-01-20 Microsoft Corporation In-loop deblocking filter
US7254272B2 (en) * 2003-08-21 2007-08-07 International Business Machines Corporation Browsing JPEG images using MPEG hardware chips
JP5280003B2 (ja) * 2003-09-07 2013-09-04 マイクロソフト コーポレーション 映像コーデックにおけるスライス層
CN1285214C (zh) * 2004-01-14 2006-11-15 华中科技大学 一种环路滤波方法和环路滤波器
US7590059B2 (en) * 2004-05-21 2009-09-15 Broadcom Corp. Multistandard video decoder
US7680351B2 (en) * 2004-05-21 2010-03-16 Broadcom Corporation Video deblocking method and apparatus
US20050281339A1 (en) * 2004-06-22 2005-12-22 Samsung Electronics Co., Ltd. Filtering method of audio-visual codec and filtering apparatus

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1351513A2 (en) * 2002-04-01 2003-10-08 Broadcom Corporation Method of operating a video decoding system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Thomas Wiegand (2002.03.15). Working Draft Number 2, Revision 2(WD-2). Joint Video Team (JVT) of ISO/IEC MPEG and ITU-T VCEG. Bin Sheng, Wen Gao, Di Wu (2004.09.04). A platform-based architecture of loop filter for AVS. Signal Processing, 2004 *

Also Published As

Publication number Publication date
JP5390773B2 (ja) 2014-01-15
DE112006000271T5 (de) 2007-12-13
CN103188495A (zh) 2013-07-03
CN101107861B (zh) 2013-03-27
KR101227667B1 (ko) 2013-01-29
CN101107861A (zh) 2008-01-16
US20060165181A1 (en) 2006-07-27
US8576924B2 (en) 2013-11-05
GB0713744D0 (en) 2007-08-22
WO2006081097A1 (en) 2006-08-03
JP2008529411A (ja) 2008-07-31
GB2441188A (en) 2008-02-27
CN103188495B (zh) 2016-12-28
GB2441188B (en) 2010-08-25
KR20070104568A (ko) 2007-10-26
TW200704197A (en) 2007-01-16

Similar Documents

Publication Publication Date Title
TWI461065B (zh) 重疊平滑與迴路內(in-loop)去區塊(deblocking)之分段處理
TWI382764B (zh) 用於儲存中間迴路過濾資料之暫存記憶體(scratch pad)
JP4577048B2 (ja) 画像符号化方法、画像符号化装置および画像符号化プログラム
US8009740B2 (en) Method and system for a parametrized multi-standard deblocking filter for video compression systems
JP4393875B2 (ja) 複雑さの軽減された復号化に適したシングルレイヤビデオ符号化されたビットストリームを供給するシステム及び方法
US7965773B1 (en) Macroblock cache
JP2006197521A (ja) 画像復号装置及び方法
JP6242139B2 (ja) 動画像復号処理装置およびその動作方法
JP2006157925A (ja) パイプラインデブロッキングフィルタ
JP2007013298A (ja) 画像符号化装置
WO2007148619A1 (ja) 動画像復号装置、復号画像記録装置、それらの方法及びプログラム
JP2007258882A (ja) 画像復号装置
KR20050121627A (ko) 동영상 코덱의 필터링 방법 및 필터링 장치
TW202315411A (zh) 視訊編解碼方法及裝置
JP7359653B2 (ja) 動画像符号化装置
US10694190B2 (en) Processing apparatuses and controlling methods thereof
JP5206070B2 (ja) 復号装置および復号方法
KR100636911B1 (ko) 색도 신호의 인터리빙 기반 동영상 복호화 방법 및 그 장치
TW201429259A (zh) 影像資料處理方法以及影像處理裝置
JP3637259B2 (ja) 動画像解析処理方法及び装置
JP2009049460A (ja) 画像処理装置およびその方法、並びにプログラム
JP2020108077A (ja) 映像符号化装置、映像符号化方法、映像符号化プログラム、映像復号装置、映像復号方法、及び映像復号プログラム
Shoham et al. Introduction to video compression
JP2004242056A (ja) 符号化装置および方法、記録媒体、並びにプログラム
JP2007295333A (ja) 画像復号処理回路及び方法及びプログラム、並びに半導体集積回路