[go: up one dir, main page]

TWI290438B - A pipelined deblocking filter - Google Patents

A pipelined deblocking filter Download PDF

Info

Publication number
TWI290438B
TWI290438B TW94141084A TW94141084A TWI290438B TW I290438 B TWI290438 B TW I290438B TW 94141084 A TW94141084 A TW 94141084A TW 94141084 A TW94141084 A TW 94141084A TW I290438 B TWI290438 B TW I290438B
Authority
TW
Taiwan
Prior art keywords
block
filtering
pixel
edge
vector
Prior art date
Application number
TW94141084A
Other languages
Chinese (zh)
Other versions
TW200629909A (en
Inventor
Yun-Kyoung Kim
Jung-Sun Kang
Original Assignee
Samsung Electronics Co Ltd
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
Priority claimed from KR1020040099724A external-priority patent/KR20060060919A/en
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of TW200629909A publication Critical patent/TW200629909A/en
Application granted granted Critical
Publication of TWI290438B publication Critical patent/TWI290438B/en

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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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

Landscapes

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

Abstract

An apparatus and method for pipelined deblocking includes a filter having a filtering engine, a plurality of registers in signal communication with the filtering engine, a pipeline control unit in signal communication with the filtering engine, and a finite state machine in signal communication with the pipeline control unit; and a method of filtering a block of pixel data processed with block transformations to reduce blocking artifacts includes filtering a first edge of the block, and filtering a third edge of the block no more than three edges after filtering the first edge, wherein the third edge is perpendicular to the first edge.

Description

1290俱pifdoc 九、發明說明: • 【發明所屬之技術領域】 轉明書的内容是有關於影像編碼器與解碼器(統稱 為“CODEC”),以及特別是有關於具有去區塊滤波器 (deblocking filter )的影像C0DEC。提供了用來避免區塊 效應(blocking artifact)的管線式濾波裝置與方法。 【先前技術】 影像貧料一般以位元流(bitstream)形式進行處理與 _ 傳运。影像編碼器-般應用一種區塊轉換編碼[例如離散 餘弦轉換(discrete cosine transform,DCT )]以壓縮原始資 料。相應的影像解碼器一般[例如藉由應用一種反離散餘弦 轉換(inverse discrete cosine transform,IDCT)]給執行了 區塊轉換編碼的位元流資料解碼以給此區塊解壓縮。 數位影像壓縮技術可在無重大品質損失的情況下把自 然影像圖像轉換成壓縮圖像。目前已出現許多影像壓縮標 準,包括 H.26卜 H.263、MPEG_b MPEG-2、以及 MPEG-4。 鲁與先雨的壓縮標準相比,在編碼品質相同的條件下,提出 的 ITU-T 推薦 H.264 ISO/IEC 14496-10 AVC 影像壓縮標準 (H.264/AVC)在編碼效率方面取得了重大進步。例如, H.264/AVC的種典型應用為壓縮比(⑽加^ ) 要求較南的無線影像,例如為應用於影像行動電話。 去區塊濾波器通常與以區塊為基礎的數位影像壓縮系 統共同使用。去區塊濾波器可應用於壓縮迴圈 (compression loop)中,其中此濾波器是應用於編碼器與1290 pifdoc IX, invention description: • [Technical field of invention] The contents of the transcript are related to video encoders and decoders (collectively referred to as "CODEC"), and in particular with deblocking filters ( Deblocking filter ) image C0DEC. A pipelined filtering apparatus and method for avoiding blocking artifacts is provided. [Prior Art] Image poor materials are generally processed and transported in the form of bitstreams. Image encoders typically use a block transform coding [such as discrete cosine transform (DCT)] to compress the original data. The corresponding video decoder typically decodes the bitstream data that has been subjected to block transform coding, for example by applying an inverse discrete cosine transform (IDCT), to decompress the block. Digital image compression technology converts natural imagery into a compressed image without significant loss of quality. Many image compression standards have emerged, including H.26, H.263, MPEG_b MPEG-2, and MPEG-4. Compared with the compression standard of the first rain, the proposed ITU-T recommended H.264 ISO/IEC 14496-10 AVC image compression standard (H.264/AVC) has achieved coding efficiency in the same coding quality. Significant progress. For example, a typical application of H.264/AVC is a compression ratio ((10) plus ^) that requires a relatively souther wireless image, such as for use in an image mobile phone. Deblocking filters are commonly used with block-based digital image compression systems. The deblocking filter can be applied to a compression loop, where the filter is applied to the encoder and

I290H 上。另—種情況’去區塊m也可在壓縮迴圈之 ;ίϊ=㈣器上。一種典型的去區塊濾波器在整個區 (low-pass filter) ^ 乍,在此期間完成區塊轉換編碼(例士口 dct)斑 二區塊濾波器可減小解壓縮影像中被稱 二一Ζ ίΐ ( Μ—’)的負面視覺影響,值是 ^ :又要求影像編碼H和/或解碼器執行大量的複雜計曾。 為使得到的輸出圖像盡可能接近原始輸人圖像,^ =慮=作以藉由去區塊濾波器減少區塊效應。由於利用 X像素W執行DCT與量化步驟用於餘量(_ 碼,故而區塊效應-般比H.264/AV 圭扁 ,所,這種先前標準一般可選擇採用== 二,264崎標準中,執行dct與量化要使用= :素早兀’廷將產生更多的區塊效應 ::VC推薦的C峨來說,有效的去區丄:: 【發明内容】 上及皮器裝置與方法解決了先前技術的以 η,及缺點。管線式去區塊濾波器 ΐ進多,存器—),與濾、波引擎^ 卿、甬’官線控制單元’與濾波引擎之間進行 一種對經過區塊轉換處理的像«料區塊執行濾波以 I29〇mpifdoc =小&塊效觸實施方法包括:對此區塊執㈣ 波,以及在執行完第-邊緣濾波之後,對不超過ϋ慮 的區塊執行第三邊緣濾波,其中第三邊緣垂直―」条邊緣On I290H. In another case, the block m can also be compressed in the loop; ίϊ = (4). A typical deblocking filter is in the low-pass filter ^ 乍, during which the block conversion coding (such as the dct) patch 2 block filter can be reduced in the decompressed image. The negative visual impact of a ΐ ΐ ( Μ — '), the value is ^: requires the image encoding H and / or the decoder to perform a large number of complex calculations. In order to make the resulting output image as close as possible to the original input image, ^ = worry = to reduce the block effect by deblocking the filter. Since the XCT is used to perform the DCT and quantization steps for the margin (_code, and therefore the block effect is generally better than H.264/AV, this prior standard can generally be chosen to use == 2, 264 saz In the implementation of dct and quantification to use = : prime early 兀 'Ting will produce more block effect:: VC recommended C峨, effective de-zone ::: [Summary] Upper and lower device and method The prior art has solved the problem of η, and the disadvantages. The pipeline type deblocking filter is more than the buffer, and the filter-wave engine ^ Qing, the 官 'the official line control unit' and the filtering engine are paired. After the block conversion processing, the material block performs filtering with the I29〇mpifdoc=small&block effect implementation method including: performing the (four) wave for this block, and after performing the first-edge filtering, the pair does not exceed ϋ The third block performs a third edge filtering, where the third edge is perpendicular to the edge of the strip

為讓本發明之±述和其他目的、賴和優 :::下:文特舉較佳實施例’並配合所附圖式,作;S 【實施方式】 本發明提供了適合於使用H264/AVc掉 像處理的去區塊渡波器,其包括高速移動應用4執^ 量=== 彳 =發生之前執行’也可在參考當前圖的處理與 ^ m扁碼為之貫施例,其以參考數字10π 表不。此編碼器100包括一影像輪入端112,豆 fff 114的正向輸入端以執行訊號通信。加法區塊 ==區整體轉換以提供係數 (ent—y-coding)區塊118,用:!馬,到「熵編碼 _ 用又執订烟編碼以提供輪屮 /塊116又轉接到—回路内部件!20中的定 Wg)及逆轉換㈣咖transf瞻)區塊122。此^ 1290儀 if.doc 及逆轉換區塊122耦接到一加法區塊124,加法區塊124 再耦接到訊框内(intra-frame)預測區塊126。訊框内預測 區塊126可切換地耦接到開關(switch) 127,開關127再 I馬接到加法區塊124的第二輸入端,同時還輕接到加法區 塊114的反向輸入端。 加法區塊124的輸出端耦接到限制去區塊濾波器 140。限制去區塊濾波器140耦接到訊框儲存器128。訊&amp; 儲存128耦接到移動補償(moti〇n c〇mpensati〇n)區塊 13〇,移動補償區塊130耦接到開關127的第二選擇輸入 影像輸入端112又耦接到移動估計(m〇ti〇nestimati〇n) 區塊119以提供移動向量(moti〇n vect〇r)。限制去區塊 濾波器140耦接到移動估計區塊119的第二輸入端。移動 估計區塊119的輸出端耦接到移動補償區塊13〇,同時耦 接到熵編碼區塊118的第二輸入端。影像輸入端112又耦 接到編碼裔控制區塊160。編碼器控制區塊16〇耦接到區 ,116、118、119、122、126、130、以及140的控制輸二 柒,用來提供控制訊號以控制編碼器10()的操作。 A參照圖2,-種帶有回路内去區塊遽波器的解碼界之 貫施例一般用參考數字200表示。這種解碼器2〇〇包括一 熵解碼(entropy-decoding)❸鬼210,用來接收輸入位元 流。熵解碼區塊210耦接到回路内部件22〇中的定標及逆 轉換區塊222以提供係數。&amp;定標及逆轉換區塊222輕^ =法區塊224,加法區塊224再_到訊框内預測區塊 。汛框内預測區塊226可切換地耦接到開關227,開關 I29〇mPi,d〇c Γ區=:加法區塊224的第二輸入端,同時耗接到加 限制去區^=輸入端。加法區塊224的輸出端·到 σσ鬼濾波裔240,用來提供輸出圖像。 儲去區塊濾波器輕接到訊框儲存器228。訊框 耦:二2二f接到移動補償區塊230,移動補償區塊230 ::接至_ 227的第二選擇輸入端。熵解碼區塊2 補償區塊挪的第二輸入端以提供移動向量。烟 於^21()又祕到解碼器控制輯262以提供控制訊 唬。解碼器控制區塊262耦接到區塊222、226、23〇、以 ==的控制輸人端,絲傳輸控制訊號並控制解碼器· 區挣照圖3 ’ 一種帶有後處理(P〇St-pr〇CeSsing)去 二接^波5的解碼&amp;之實施例’其轉考數字%。表示。 器300包括一熵解碼區塊310 ’用來接收輸入位 々丨L。、商解碼區塊310耦接到回路内部件 =區塊322。此定標及逆轉換區塊㈣=: 内 力口法區塊324再搞接到訊框内預測區塊Μ6。訊框 Z區塊326可切換_接到開關327,開關奶再搞 Γ,ί法區塊324的第二輸入端’同時輕接到加法區塊3H 的反向輪入端。 以掉2區塊324的輸出端輕接到限制去區塊渡波器340 =供輸出圖像。加法區塊324又_到訊框儲存器似。 W諸存H 328減到移動補魅塊现,移動補償 33〇輕接到開關327的第二選擇輪入端。烟解碼 ι〇 I29043S8pif.doc i 償區塊330的第二輸入端以提供移動向 碼區塊31〇又耦接到解碼器控制區塊362 控制訊號。解碼器控制區塊362 _到區塊322、326、挪 制輸入端’用來傳輸控制訊號並控制解碼器 之每=4=示,一種帶有回路内去區塊濾波器的編碼器 ===其以參考數字400表示。這種編碼器4〇〇包括 』入鳊412 ’用來接收具有多個巨集區塊 力=rk)的輸入影像圖像。影像輸入端412耦接到 二=广㈣輸入端以執行訊號通信。加法區塊414 區塊416 ’用來接收餘量、執行離散餘弦轉 搞接到;^、以及對減執彳了量化(Q)。功能區塊416 trr區塊418,用來執行熵或可變長度編碼 (v:blelength⑺ding ’ VLC)以提供輸出位元流。 叫塊416又減到反量化0聰e quantization, 二iL:散餘弦轉換(idct)區塊422。反量化及反離 接到:=ίΐί去區塊濾波器物。去區塊濾波器440耦 —^ '料428以提供輸出影像圖像。訊框儲存器428 ==模組429的第一輸入端以提供-參考訊框給預 預測模組429包括—移動補償區塊43〇 . 區塊419:!'請。訊框儲存器428又耦接到移動估計 =9的弟_輸人端以提供—參考訊框給此區塊。 象輪入ir而412又轉接到移動估計區塊419的第二輸In order to make the present invention and other objects, and the advantages and advantages of the present invention are as follows: </ RTI> </ RTI> </ RTI> <RTIgt; The AVc off-process deblocking waver, which includes the high-speed mobile application 4, the quantity === 彳=execution before the occurrence, can also be referred to the processing of the current picture and the method of the method, which The reference number 10π is not shown. The encoder 100 includes an image wheeling end 112, the forward input of the bean fff 114 for performing signal communication. Addition block == zone overall conversion to provide the coefficient (ent-y-coding) block 118, with: ! horse, to "entropy coding _ with the binding of the smoke code to provide the rim / block 116 and transfer to - Block W in the loop! 20 and inverse transform (4) Trans.) Block 122. This 1290 instrument if.doc and inverse transform block 122 are coupled to an add block 124, and the add block 124 is recoupled. An intra-frame prediction block 126 is received. The intra-frame prediction block 126 is switchably coupled to a switch 127, and the switch 127 is further coupled to the second input of the addition block 124. At the same time, it is also lightly coupled to the inverting input of the add block 114. The output of the add block 124 is coupled to the limit deblocking filter 140. The restricted deblocking filter 140 is coupled to the frame store 128. The storage &amp; storage 128 is coupled to the mobile compensation (moti〇nc〇mpensati〇n) block 13〇, and the motion compensation block 130 is coupled to the second selected input image input 112 of the switch 127 and coupled to the motion estimation ( M〇ti〇nestimati〇n) block 119 to provide a motion vector (moti〇n vect〇r). The restricted deblocking filter 140 is coupled to the mobile estimation The second input of the block 119. The output of the motion estimation block 119 is coupled to the motion compensation block 13A and is coupled to the second input of the entropy coding block 118. The image input 112 is coupled to An encoding control block 160. The encoder control block 16 is coupled to the control inputs of the zones 116, 118, 119, 122, 126, 130, and 140 for providing control signals to control the encoder 10 ( Operation A. Referring to Figure 2, a representation of a decoding boundary with a de-blocking chopper in a loop is generally indicated by reference numeral 200. This decoder 2 includes an entropy decoding (entropy-decoding). The ghost 210 is configured to receive an input bit stream. The entropy decoding block 210 is coupled to the scaling and inverse conversion block 222 in the in-loop component 22 to provide coefficients. &amp; scaling and inverse conversion block 222 Light ^ = normal block 224, addition block 224 and then to the intra-frame prediction block. The intra-frame prediction block 226 is switchably coupled to the switch 227, the switch I29〇mPi, d〇c = == The second input of the addition block 224 is simultaneously consumed by the addition limit area ^= input. The output of the addition block 224 is to the σσ ghost The filtering source 240 is used to provide an output image. The stored block filter is lightly connected to the frame storage 228. The frame coupling: 2 2 2 f is connected to the motion compensation block 230, and the motion compensation block 230 is selected: A second selection input to 227. Entropy decoding block 2 compensates for the second input of the block to provide a motion vector. The smoke is then secreted to the decoder control set 262 to provide control information. The decoder control block 262 is coupled to the blocks 222, 226, 23, with the control input of ==, the wire transmits the control signal and controls the decoder. The area is broken. Figure 3 'With post-processing (P〇 St-pr〇CeSsing) goes to the second embodiment of the decoding &amp; Said. The coder 300 includes an entropy decoding block 310' for receiving the input bit 々丨L. The quotient decoding block 310 is coupled to the in-loop component = block 322. The scaling and inverse conversion block (4) =: The internal force port block 324 is again connected to the intra-frame prediction block Μ6. The frame Z block 326 can be switched _ to the switch 327, and the switch milk is again engaged. The second input end of the ί block 324 is simultaneously lightly connected to the reverse wheel of the addition block 3H. The output of the 2 block 324 is lightly connected to the limit deblocking wave 340 = for outputting an image. The addition block 324 is again _ to the frame storage. W 存 H 328 is reduced to the mobile compensation block, and the mobile compensation 33 〇 is lightly connected to the second selection wheel of the switch 327. The smoke decoding ι〇 I29043S8pif.doc i compensates for the second input of the block 330 to provide the mobile direction code block 31 and is coupled to the decoder control block 362 control signal. The decoder control block 362 _ to the blocks 322, 326, the offset input terminal 'is used to transmit the control signal and controls the decoder every = 4 = display, an encoder with a de-blocking filter in the loop == = It is indicated by reference numeral 400. The encoder 4 includes an input port 412' for receiving an input image image having a plurality of macroblock forces = rk). Image input 412 is coupled to the two = wide (four) input to perform signal communication. The addition block 414 block 416' is used to receive the margin, perform the discrete cosine transfer, and receive the quantization (Q) for the subtraction. Function block 416 trr block 418 is used to perform entropy or variable length coding (v: blelength(7)ding ' VLC) to provide an output bit stream. Block 416 is again reduced to inverse quantization 0, and iL: idct block 422. Dequantization and Detachment Receive: =ίΐί to block filter. The deblocking filter 440 is coupled to the material 428 to provide an output image image. The frame memory 428 == the first input of the module 429 to provide a reference frame to the predictive module 429 includes a motion compensation block 43 〇 . Block 419: ! ' Please. The frame storage 428 is in turn coupled to the _ input terminal of the mobile estimate = 9 to provide a reference frame to the block. Like the round ir and 412 is transferred to the second loss of the motion estimation block 419

10 12904祕 8pif.doc 入端以提供移動向量。 預測模組429的第二輪入立计區塊419的輸出端耗接到 移動估計區塊419的於中I’ /、耦接到移動補償區塊430。 二輸入端。與訊框二熵編碼區塊418的第 =區-的反向輪號=10 12904 Secret 8pif.doc Into the end to provide a mobile vector. The output of the second wheeling block 419 of the prediction module 429 is coupled to the center I' / of the motion estimation block 419 and coupled to the motion compensation block 430. Two inputs. The inverse wheel number of the = area of the frame 2 entropy coding block 418 =

3 4所示之編碼器伽的操作中,例如,一輸入圖 ,或峨被分成若干巨集區塊(_。則,每 :巨集區塊都⑽16像素’且每一巨集塊按順序輸入到 ^、vc系統中。預測模組429查看參考訊框(它是先 月過遽波的訊框之-)的全部巨集塊,並把與輸入娜 攻相似的巨集區塊輸出作為預測訊號。因此,預測訊號的 像素值跟當前MB最接近。餘量是指當前MB與預測訊號 之間的像素值之差。係數是藉由對餘量執行DCT與量化操 作而產生。跟餘量相比,係數的資料尺寸大大減小。In the operation of the encoder gamma shown in FIG. 4, for example, an input map, or 峨 is divided into a plurality of macroblocks (_. Then, each: macroblocks are (10) 16 pixels' and each macroblock is in order Input into the ^, vc system. The prediction module 429 looks at all the macroblocks of the reference frame (which is the frame of the first wave over the chopping wave), and outputs the macro block output similar to the input Nat attack as a prediction. Therefore, the pixel value of the prediction signal is closest to the current MB. The margin is the difference between the pixel value between the current MB and the prediction signal. The coefficient is generated by performing DCT and quantization operations on the margin. In comparison, the data size of the coefficients is greatly reduced.

係數可藉由(如區塊418中的)熵編碼而編碼成輸出 位元流。此輸出位元流可被儲存或傳輸到其他系統中。此 外,係數還可藉由IQ與DCT操作而轉換為餘量。餘量被 加到預測訊號上’並被轉換為重建(recon )資料。recon_data 具有區塊效應或塊效應,這是由巨集區塊(16x16像素) 或區塊(4x4像素)之邊界產生的。 參照圖5,一種以H.264/AVC標準為依據的濾波順 序,其以參考數字500表示。濾波順序50〇包括垂直邊緣 I29〇mpif.d〇〇 510的水平濾波(horizontal filtering)和水平邊緣520的垂 . 直濾波(vertical filtering)。H.264/AVC 標準要求一圖像 的全部巨集塊都要執行濾波。濾波是分別以巨集區塊 (MB)的列、行為基礎、4x16像素與16x4像素來執行的, 其中巨集區塊為16χ16像素,每一區塊為4&gt;&lt;4像素。以 Η.264標準為依據的去區塊渡波順序如下所述。對於亮度 (luminance )而言,如510所示,從左邊緣開始對4條垂 直邊緣執行濾波’這稱為水平濾、波。如520所示,從上邊 _ 緣開始以相同方式對4條水平邊緣執行濾波,這稱為垂直 濾波。色度(chrominance)濾波也遵守相同的排序。因此, 要分別對Cb與Cr執行2次垂直邊緣510濾波與2次水平 邊緣520濾波。 由於頻繁地執行記憶體存取,因此去區塊渡波通常是 費曰守的過程。要對垂直邊緣2執行濾波,就要對緩衝記 十思體執行左(先前)與右(當前)列資料存取。因此,對 於每一邊緣要應用兩次4x16像素資料存取。根據 • H.264/AVC標準,水平濾波(亮度步驟1、2、3及4)完 成後’垂直濾波(亮度步驟5、6、7及8)開始。執行垂 直濾波,必須應用先前在水平濾波步驟中存取的資料。 16x16像素巨集塊中的全部4χ4像素區塊都被儲存。因此, 渡波邏輯尺寸和濾波時間都增加。 對於當前實施例,一巨集區塊之去區塊濾波時間應限 ^在500個時脈迴圈(clock cycle)範圍内以便觀看到高 /月晰圖像。為達到此比率,亮度(lu·)渡波與色度() 12 I29〇4MPi,d〇c 行以便及時完成濾波。遺憾的是,並列執行 路,因此大心了濾^度與色度的麵電 其以:表Ϊ發明2出的-種管線式濾波排序, 度或黃色缝财61〇、序_包括亮 .^ &amp;色色度濾波排序620、以及红辛 ==63(1°亮輯、波排序61G包括亮度濾波步驟1 μ Γ度區塊p。藍色色度濾波排序620包括The coefficients may be encoded into an output bit stream by entropy encoding (as in block 418). This output bit stream can be stored or transferred to other systems. In addition, the coefficients can be converted to margins by IQ and DCT operations. The margin is added to the prediction signal' and converted to recon data. Recon_data has a block effect or block effect, which is generated by the boundary of a macroblock (16x16 pixels) or a block (4x4 pixels). Referring to Figure 5, a filtering sequence based on the H.264/AVC standard is indicated by reference numeral 500. The filtering order 50 〇 includes horizontal filtering of vertical edges I29 〇 mpif.d 510 and vertical filtering of horizontal edges 520. The H.264/AVC standard requires that all macroblocks of an image be filtered. The filtering is performed in columns of macroblocks (MB), behavioral basis, 4x16 pixels and 16x4 pixels, respectively, wherein the macroblock is 16χ16 pixels, and each block is 4&gt;&lt;4 pixels. The deblocking wave order based on the Η.264 standard is as follows. For luminance, as shown at 510, filtering is performed on the four vertical edges from the left edge. This is called horizontal filtering, wave. As shown at 520, filtering is performed on the four horizontal edges in the same manner from the upper edge, which is called vertical filtering. Chromanation filtering also follows the same ordering. Therefore, two vertical edge 510 filtering and two horizontal edge 520 filtering are performed on Cb and Cr, respectively. Deblocking is often a sloppy process due to frequent memory accesses. To perform filtering on the vertical edge 2, the left (previous) and right (current) column data accesses are performed on the buffer. Therefore, 4x16 pixel data access is applied twice for each edge. According to the • H.264/AVC standard, horizontal filtering (luminance steps 1, 2, 3, and 4) is completed after 'vertical filtering (luminance steps 5, 6, 7, and 8). To perform vertical filtering, the data previously accessed in the horizontal filtering step must be applied. All 4 χ 4 pixel blocks in the 16x16 pixel macroblock are stored. Therefore, the wave logic size and filtering time increase. For the current embodiment, the deblocking filtering time of a macroblock should be limited to 500 clock cycles to view the high/month clear image. To achieve this ratio, the luminance (lu·) wave and the chrominance () 12 I29〇4MPi, d〇c lines are used to complete the filtering in time. Unfortunately, the side-by-side execution of the road, so the focus of the filter and the chromaticity of the surface of the electricity: to the invention of the 2 out of a kind of pipeline filter sorting, degree or yellow stitching 61 〇, order _ including bright. ^ &amp; Chromaticity Filter Ordering 620, and Red Symplectic == 63 (1° Brightness, Wave Ordering 61G includes Luminance Filtering Step 1 μ 区 区 block p. Blue chrominance filtering order 620 includes

=ίΐί步驟33到4〇,用於藍色色度區塊Q到T=ίΐίSteps 33 to 4, for blue chroma blocks Q to T

48用於ΓΓί排序⑽包括紅色色度濾、波步驟41到 48,用於紅色色度區塊U到X。 J -==礎中執:區:;慮,:_開區塊(如 於亮度而言為上而:二細的行或列(如’對 =行。應用當前所述之濾波排序 如 言為4X16像素,對於色度而言為柯像辛): 如成若干段(如,對於亮度而言為4段,對於色声 =段)。如H.264/AVC標準中規定的,這種排““ 仗左到右、從上到下的順序。 、寸 由於濾波操作是以區塊(树像素 、 a己L體存取次數減少。此外,由於當 =利用了鄰近區塊之間的資料相關性,:而二二 13 129043&amp;p if.doc 厂毒600 r作中,一區塊(4x4像素)中的 =二=次執行濾波。舉例來說,就區 區換二㈣、)/、12及13按此順序執行濾波。此外, Λ F 20 對於&amp;塊1而§,邊緣21是上邊緣)。 區塊F的邊緣濾波過程如下所述 區塊E之上邊缘::素=更新到左側暫存器中用來對 存:中。第二,區塊G之像素值被發送到一 擎利用區緩衝器執行濾波。帛三,藉由此引 像+ f #右邊緣12執行濾波縣。區塊F_ ==側暫存器中,而區塊。的新像素值被更 , 子中。第四,區塊B的像素值從頂端緩衝哭 上端執行驗操作。區塊B _像餘被更新到 中。第六,&quot;V喜Γ區塊F的新像素值被更新到左側暫存器 波。 H21將在區塊了的邊緣濾波過程中執行濾 憶體S取切參考的像素值不必儲存到記憶體中或從記 存到記憶體Ji!1騎算出新像素值錢,不必將其儲 器。由於記恃U5己憶體中將其取回即可立即更新暫存 ^體存取鮮降低以及使㈣區塊為基礎的小 14 I29043(88pif.d〇c 濾、波單元,故濾波邏輯簡化,且濾波時間縮短。應當理解, 對於亮度、紅色色度和藍色色度’濾波排序是分開界定的。 •也就是說,亮度濾波可以在紅色、藍色色度滤波之前、之 後或之間執行,而紅色色度濾波可以在藍色色度濾波、亮 度濾波或者此兩者之前或之後執行。因此,除了作為示範 的4:1:1 Υ/Cb/Cr格式以外,當前所述之區塊濾波排序也可 應用於其他類型的區塊格式。 如圖7所示,根據本發明一實施例提出的一種去區塊 ►滤波器,其以參考數字700表示。這種去區塊滤波器7〇〇 包括一緩衝器或當前記憶體710,用來儲存當前巨集塊 (mb)的重建f料。緩衝器710與濾波單元712相二進 行讯唬通信以提供當前資料與MB啟動訊號給此濾波單 元。濾波單元712包括一引擎714、一暫存器區塊7^、以 及一有限狀態機(finite state machine,FSM ) 718。滅波單 70 712中的FSM 718與當前資料控制器72〇相連進行訊號 通信以提供FSM狀態訊號和計數訊號給當前資料控制器 ^ πο。當前資料控制器720再連接到當前記憶體71〇 =行二 號通k以提供記憶訊號或靜態隨機存取記憶體(他He random access memory,SRAM)控制訊號給此記憶體。當 重建資料(它是預測訊號加上餘量)被儲存到當前記情^ 71〇中時執行濾波。 〜且 濾波單元712與濾波邊界強度(fiitering B〇undary Strength,BS)發生器722相連進行訊號通信以提供狀態 訊號、計數訊號及標記訊號給此狀態發生器。濾波邊界強48 is used for ΓΓί sorting (10) including red chroma filtering, wave steps 41 to 48 for red chrominance blocks U to X. J -==Based in the middle: Area:; Consider:: _ Open block (if in terms of brightness is above: two thin rows or columns (such as 'pair = line. Apply the filter order currently described as saying 4X16 pixels, for chrominance, ke like symplectic): as several segments (eg, 4 segments for brightness, for color sound = segment). As specified in the H.264/AVC standard, this row "" 仗 left to right, top to bottom order. 寸, because the filtering operation is a block (tree pixel, a l L body access times reduced. In addition, because = use the data between adjacent blocks Correlation, and in the 2nd 13 129043 &amp;p if.doc factory poison 600 r, in a block (4x4 pixels) = two = times to perform filtering. For example, the area is changed to two (four),) /, Filtering is performed in this order 12 and 13. In addition, Λ F 20 is for &amp; block 1 and §, edge 21 is the upper edge). The edge filtering process of block F is as follows: The upper edge of block E:: prime = updated to the left side register for storing: medium. Second, the pixel value of block G is sent to the engine to perform filtering using the area buffer. Third, the filter county is executed by the reference + f # right edge 12. Block F_ == side register, and block. The new pixel value is more in the sub. Fourth, the pixel value of block B is buffered from the top to perform the test. Block B _ is updated to medium. Sixth, the new pixel value of the &quot;V magpie block F is updated to the left register wave. H21 will perform the pixel value of the filter S in the edge filtering process of the block without having to store it in the memory or calculate the new pixel value from the memory to the memory Ji!1, without having to store it. Since the U5 memory is retrieved from the memory, the temporary memory access can be updated immediately and the (4) block-based small 14 I29043 (88pif.d〇c filter, wave unit is used, so the filter logic is simplified. And the filtering time is shortened. It should be understood that the filtering ordering for luminance, red chrominance and blue chrominance is separately defined. • That is, luminance filtering can be performed before, after or between red and blue chrominance filtering, Red chrominance filtering can be performed before or after blue chrominance filtering, luminance filtering, or both. Therefore, in addition to the exemplary 4:1:1 Υ/Cb/Cr format, the currently described block filtering ordering It can also be applied to other types of block formats. As shown in Fig. 7, a deblocking block filter according to an embodiment of the present invention is denoted by reference numeral 700. This deblocking filter 7〇〇 A buffer or current memory 710 is included for storing the reconstructed material of the current macro block (mb). The buffer 710 and the filtering unit 712 perform two-way communication to provide current data and MB start signals to the filtering unit. Filter The element 712 includes an engine 714, a register block 7^, and a finite state machine (FSM) 718. The FSM 718 in the annihilator 70 712 is connected to the current data controller 72A for signal communication. To provide the FSM status signal and the counting signal to the current data controller ^ πο. The current data controller 720 is then connected to the current memory 71 〇 = line 2 number k to provide a memory signal or static random access memory (He He random The access memory (SRAM) control signal is given to the memory. When the reconstructed data (which is the prediction signal plus the margin) is stored in the current record, the filtering is performed. The filtering unit 712 and the filtering boundary strength (fiitering) The B〇undary Strength, BS) generator 722 is connected to perform signal communication to provide status signals, count signals, and flag signals to the state generator.

15 129043?&amp;8pif.doc 度發生裔722再與鄰近區塊量化參數(Quantizati〇n - Parameter of neighbor block,QP)記憶體 724 相連進行訊 . 唬通信。濾波邊界強度發生器722又與濾波單元712相連 進行訊號通信以提供參數給此濾波單元。濾波單元712又 與鄰近控制為726相連進行訊號通信以把來自FSM 718的 狀悲訊號及計數值提供給此鄰近控制器。控制哭72盘 近記憶體或緩衝器728相連進行訊號通信⑽存鄰近= 區塊。鄰近緩衝器728接收來自控制器726的記憶訊號或 鲁 狰恶卩边機存取記憶體(SRAM)控制訊號。緩衝器728與 濾波單元712相連進行訊號通信,提供第一鄰近資料給濾 波單元712,並接收來自此濾波單元的第二鄰近資料。 濾波邊界強度發生器722又與鄰近控制器726、頂端 控制器730、以及直接記憶體存取(此似mem〇ry, DMA)控制器734相連進行訊號通信以提供參數給這些控 制裔。濾波單元712又與頂端控制器73〇相連進行訊號通 信以提供狀態訊號與計數訊號給此頂端控制器,且與DMA • 控制器734相連進行訊號通信以提供狀態訊號、計數訊號 及色度“ δ己§fl號給此DMA控制器。頂端控制器730再與 頂端記憶體732相連進行訊號通信以提供SRAM控制訊號 給此頂端記憶體。頂端記憶體732與濾波單元712相連進 行訊號通信以提供第-頂端資料並接收來自此渡波單元的 第二頂端資料,其中頂端資料是用於垂直濾波的。DMA 控制器734與DMA記憶體736相連進行訊號通信以提供 SRAM控制訊號給此DMA記憶體。濾波單元712也與 129043 名8pif.doc DMA記憶體736相連進行訊號通信以提供濾波後的資料 給此DMA記憶體。頂端記憶體732與DMA記憶體736 都與切換單元738相連進行訊號通信,切換單元738再與 DMA匯流排介面740相連進行訊號通信以提供濾波後的 資料給DMA匯流排。從而,濾波後的資料藉由DMA匯 流排介面740傳輸給DMA。 麥照圖 …,… 征&amp;冰八云应塊濾波器架構之實施例,15 129043?&amp;8pif.doc The ancestor 722 is then connected to the Quantizati〇n - Parameter of neighbor block (QP) memory 724 for communication. The filtered boundary strength generator 722 is in turn coupled to the filtering unit 712 for signal communication to provide parameters to the filtering unit. Filtering unit 712, in turn, is coupled to proximity control 726 for signal communication to provide a sad alarm and count value from FSM 718 to the proximity controller. Control crying 72 disks Near memory or buffer 728 is connected for signal communication (10) storage adjacent = block. The proximity buffer 728 receives the memory signal from the controller 726 or the sneak edge machine access memory (SRAM) control signal. The buffer 728 is coupled to the filtering unit 712 for signal communication, provides first neighboring data to the filtering unit 712, and receives second neighboring data from the filtering unit. The filtered boundary strength generator 722 is in turn coupled to the proximity controller 726, the top controller 730, and the direct memory access (this mem〇ry, DMA) controller 734 for signal communication to provide parameters to the controllers. The filtering unit 712 is further connected to the top controller 73A for signal communication to provide status signals and counting signals to the top controller, and is connected to the DMA controller 734 for signal communication to provide status signals, counting signals and chrominances "δ". The top controller 730 is connected to the top memory 732 for signal communication to provide an SRAM control signal to the top memory. The top memory 732 is coupled to the filtering unit 712 for signal communication to provide the first - top data and receiving second top data from the wave unit, wherein the top data is for vertical filtering. The DMA controller 734 is coupled to the DMA memory 736 for signal communication to provide SRAM control signals to the DMA memory. The unit 712 is also connected to the 129043 8pif.doc DMA memory 736 for signal communication to provide the filtered data to the DMA memory. The top memory 732 and the DMA memory 736 are both connected to the switching unit 738 for signal communication, and the switching unit 738 is further connected to the DMA bus interface 740 for signal communication to provide filtered data to the DMA bus. The filtered data is transmitted to the DMA through the DMA bus interface 740. The illuminating image of the aging &amp;

其以參考數字800表示。這種管線式架構可結合有效的渡 波排序使用以進-步縮短驗時間。這種去區塊濾波器形 成分層管線4x4區塊段801與4xl像素段8〇2。 4x4區塊管線段801回應圖7中的fsm 718。管線式 架構議包括第-區塊預先提取及尋找步驟⑽,藉由此 2把鄰近貧料從圖7之鄰近緩衝器728預先提取到暫存 緩衝器710中讀取當前資料,以及藉由產生 像素值哥找BS減波灸备。势 _ ^ ^ 盥筮心皮〉數第一區塊濾波及儲存步驟812It is indicated by reference numeral 800. This pipelined architecture can be used in conjunction with efficient wave sequencing to further reduce inspection time. This deblocking filter is formed into a layer 4x4 block segment 801 and a 4x1 pixel segment 8〇2. The 4x4 block pipeline segment 801 responds to fsm 718 in FIG. The pipelined architecture includes a first-block pre-fetching and finding step (10) by which the neighboring lean material is pre-fetched from the neighboring buffer 728 of FIG. 7 into the temporary buffer 710 to read the current data, and by generating Pixel value brother looking for BS declining moxibustion. Potential _ ^ ^ 盥筮Carpel> Number of first block filtering and storage steps 812

=-區塊預先提取及尋找步驟81()部 濾波及儲存步驟812對㈣ = 儲存到緩衝記憶體中。執行1 丁£新’並把結果 驟810之後,執料二^以―區塊預先提取及尋找步 後對剩餘區塊執行心步^先^取及尋找步驟814,然 存步驟812之後,執行第 ^仃完第—區塊滤波及儲 後對剩餘區塊執行818等牛驟° :::波及儲存步驟816 ’然 步驟814與第—區塊濾“二弟二區塊預先提取及尋找 及儲存步驟816都部^交疊。子步驟812、第二區塊濾波 I29〇4S^pif.d〇c 4xl像素邊緣管線段802回應圖7中 像素邊緣管線段8〇2包括:第— 擎4。此 ,用來預先提取像素的第—4xl步驟 第一 4X1尋找步驟822,在執行完步驟820之後尋X找:、 beta及tcO芩數給第一區塊的第一列丨以 =存步驟824 ’在執行完步驟822之後用來濾二= ^ 一 4&gt;&lt;4區塊的第一 4x!列。像素邊緣管線段‘子 弟一 4x1像素預先提取步驟83 匕括· 叫尋找步驟紐,與步驟咖力最為822父豐;第二 及儲存步驟834,在步驟832之彳^弟二4X1濾波 還包括·笛二/ ,你主i 更執仃。此外,像素段802 繁- 4 ! ί 像素提取步驟840,與步驟832交A · 弟二4x1哥找步驟842,與步 六田·、 又且, 濾波及儲存步驟844,在步驟 =,以及第二4x1 m ^ 2之後執行。還有第四4x1 像素預先k取步驟85〇,與步驟84 步驟852,與步驟844交疊;以 且, x哥找 驟854,在步驟852之後執行。弟四4x1濾波及儲存步 1像素#又802之預先提取步驟 ^ 找步驟822和預先提取步驟83〇 = J的尋 第二預先提取步驟814執行期;在4X4區塊段咖之 824、尋找步驟832、以及預先的。濾波及儲存步驟 822與預先提取㈣請之後840是在尋找步驟 請之第二濾波步㈣執行期間==在區塊 數4操作中’由於4X1像素段的預先i取步驟、;:丄 數步驟、以及濾波及儲存步驟都是在-區塊段之 12904讯 pifdoe 例來說,執行完了/£仏間。舉 需度濾波之後可執行色度濾波。因此,只 而具=i)f魏,綠域度地糾了硬體尺寸。 回參t 奎中,去‘ r L 5 ·寻為主例來說明。在本說明= - Block pre-fetching and finding step 81 () section Filtering and storing step 812 pairs (4) = stored in the buffer memory. After executing 1 新£新' and taking the result 810, the material is pre-extracted and the step is searched for the remaining blocks to perform the step 814, and after the step 812, the execution is performed. After the first block-block filtering and post-storage, the remaining blocks are executed 818 and so on. ::: Waves and storage steps 816 'Rare step 814 and block-block filter "Second two blocks pre-extract and search and The storage step 816 is overlapped. The sub-step 812, the second block filtering I29〇4S^pif.d〇c 4xl pixel edge pipeline segment 802 is in response to the pixel edge pipeline segment 8〇2 in FIG. 7 including: the first engine 4 In this case, the first 4×1 searching step 822 for pre-extracting the pixels, after performing step 820, finds X, :beta and tcO turns to the first column of the first block to save steps. 824 'The first 4x! column used to filter the second = ^ a 4&lt;4 block after performing step 822. The pixel edge pipeline segment 'children a 4x1 pixel pre-extraction step 83 匕 · 叫 寻找 寻找 寻找 寻找With step coffee power most 822 father Feng; second and storage step 834, in step 832 彳 ^ brother 2 4X1 filtering also includes Flute II / , your main i is more stubborn. In addition, the pixel segment 802 繁 - 4 ! ί pixel extraction step 840, with step 832 A · 弟二 4x1 brother find step 842, with step six Tian ·, and, and The storing step 844 is performed after the step=, and the second 4x1 m^2. There is also a fourth 4x1 pixel pre-k taking step 85〇, and step 84 step 852, overlapping with step 844; and, x brother finds 854, after step 852. The fourth four 4x1 filtering and storing step 1 pixel # 802 pre-extracting step ^ finding step 822 and pre-extracting step 83 〇 = J finder second pre-extracting step 814 execution period; in the 4X4 area Block 824, search step 832, and pre-filtering and storing step 822 and pre-fetching (four) please 840 after searching for the second filtering step (4) during execution == in block number 4 operation 'because The pre-i step of the 4X1 pixel segment, the steps of the parameter, and the filtering and storing steps are all performed in the 12904 pifdoe case of the block segment, and the execution of the chroma is performed after the demand filtering. Filtering. Therefore, only = i) f Wei, the green domain is correcting the hardware Inch. Press the parameter t Kui, to 'r L 5 · seeking mainly to illustrate the present illustration

^ λ J 知)暫存态的新像素值被更新到當前(上 二;存器^,而鄰近暫存器的新像素值被更新到鄰近暫 4、6執仃濾波後即將執行水傾波的魏(如邊緣 ^ 12等等)计异出不同結果。例如對於有圓圈的邊 扁號4而言’當前暫存器的新像素值(即區塊Β)被更 2鄰近暫㈣巾。㈣,區塊C像素值直接從當前記憶 ^載入、。在邊緣4濾、波(其恰好跟在邊緣3濾波之後)之 二’鄰近暫存財特區塊Α像素值。這樣,以相同方法計 舁出32條邊緣中的8條邊緣(即,邊緣4、6、&amp; 14、 2〇、22、28及30)。 一下面參照圖9,一種濾波電路,其以參考數字9〇〇表 不。這種濾波電路900包括一有限狀態機(FSM) 91〇,與 引擎912相連進行訊號通信。FSM 910接收MB啟動訊 號(MB—start),並提供色度標記訊號(Chr〇ma一Flag)、 fsm計數訊號(inFSM—cnt)、線計數訊號(Hne-Cnt)、 以及?81^狀態訊號(1^]\4^&amp;16)。?8]\4又與一輸入開關 或多工器(multiplexer) 914之控制輸入端相連進行訊號通 19 ^9〇4^pifdoc k,多工器914接收第一鄰近資料(neig—datal )、第一頂 端資料(top一datal)、或當前資料(current—data),並且 每次提供這幾種資料中的一種資料給暫存器916。暫存器 916再與輸出開關918相連進行訊號通信以提供第二鄰近 資料(neig—data2)、第二頂端資料(top—data2)、或濾波 資料(filtered一data)。引擎912具有:一輸入端,用來接 收BS及參數訊號;一輸入端,用來接收從暫存器916輸 入的當前鄰近像素及當前像素(p與q);以及一輸出端, 用來提供更新後的鄰近像素及像素(p,與q,)輸出訊號 給暫存器916。在本說明書中,MB—START與娜―end 刀別為表示1MB濾波開始與結束的標記,其中fsm 的輸出汛號中有MB—END。Chroma一Flag是表示亮度或色 度的標記。FSM一state是FSM的輸出訊號,表示當前4x4 區塊在16χ16ΜΒ中所處的水平位置。inFSM—cnt訊號表示 -區塊中的hi像素管線段是否完成操作。line-ent訊號 ^示一區塊在一 MB中的垂直位置。neig—datal是用於當 雨MB水平渡波的4xl像素鄰近資料。吨一杨】是儲存 到-緩衝器中用於下一個MB水平濾波的㈣像素資料。 top一datal是用於當前區塊垂直濾波的柯頂端資料。 t叩一—2是儲存到一緩衝器中用於 直 二1 — ta是當前4x1像素資料。 data是執行完濾波操作的柯像素資料 分別疋濾波前與遽波後的鄰近4χΗ象素 又、 濾波前與毅後的當前柯像素。暫存器包括-暫it 20 1290儒 Pif.d0c 列。引擎根據FSM的狀態執行濾波操作。 如圖10所示’一種帶有其他區塊的濾波電路,其以參 考數字1000表示。這種濾波電路1000包括一引擎1〇12, 用來接收來自多工器(MUX) 1010的當前鄰近像素(p) 和來自MUX 1011的當前像素(q)。引擎1〇12與mux 1013、MUX 1014相連進行訊號通信。Μυχ 1〇π再與4x4 區塊暫存器陣列2 1016相連進行訊號通信,此4x4區塊暫 存器陣列2 1016與MUX 1018相連進行訊號通信。MUX 1018提供鄰近資料(neig_data2 )給鄰近記憶體 (NEIG—MEM) 1020,此鄰近記憶體1〇2〇再提供另一鄰 近資料(neig—datal)給MUX 1010。4x4區塊暫存器陣列 2 1016又與頂端記憶體(TOP—MEM) 1022相連進行訊號 通信,此頂端記憶體1022與MUX 1024相連進行訊號通 信。MUX 1024再與4x4區塊暫存器陣列1 1026相連進行 訊號通信。此4x4區塊暫存器陣列1 1〇26與MUX 1028相 連進行訊號通信,MUX 1028與匯流排介面(BUS_IF)1030 相連進行訊號通信以把濾波後的資料提供給此介面,其中 此介面與DMA記憶體相連進行訊號通信以提供去區塊輸 出訊號(DEBLOCK_OUT)。^ λ J knows that the new pixel value of the temporary state is updated to the current (the second; the memory ^, and the new pixel value of the adjacent register is updated to the adjacent temporary 4, 6 execution filter will be executed after the water gradient Wei (such as edge ^ 12, etc.) counts different results. For example, for a circled edge number 4, the new pixel value of the current register (ie, the block Β) is further 2 adjacent to the temporary (four) towel. (4), the block C pixel value is directly loaded from the current memory ^. In the edge 4 filter, the wave (which happens to follow the edge 3 filter) two 'near the temporary fiscal block block Α pixel value. Thus, in the same way Counting 8 of the 32 edges (ie, edges 4, 6, &amp; 14, 2, 22, 28, and 30). Referring now to Figure 9, a filter circuit is referenced to 9 The filter circuit 900 includes a finite state machine (FSM) 91A that is connected to the engine 912 for signal communication. The FSM 910 receives the MB start signal (MB_start) and provides a chroma flag signal (Chr〇ma Flag), fsm count signal (inFSM-cnt), line count signal (Hne-Cnt), and ?81^ status signal (1^]\4^&am p;16).8]\4 is further connected to an input switch or a control input of a multiplexer 914 for signal transmission 19^9〇4^pifdoc k, and the multiplexer 914 receives the first adjacent data ( Neig-datal), first top data (top-datal), or current data (current-data), and each time one of these kinds of data is provided to the temporary register 916. The register 916 and the output switch The 918 is connected to perform signal communication to provide second neighboring data (neig-data2), second top data (top-data2), or filtered data. The engine 912 has: an input terminal for receiving the BS and the parameter. a signal for receiving a current neighboring pixel and a current pixel (p and q) input from the register 916; and an output for providing the updated neighboring pixel and pixel (p, and q,) The output signal is sent to the register 916. In this specification, the MB-START and Na-end cutters are marks indicating the start and end of the 1MB filter, and the output apostrophe of the fsm has MB-END. Chroma-Flag indicates the brightness. Or the color of the mark. FSM a state is the output of the FSM , indicates the horizontal position of the current 4x4 block in 16χ16ΜΒ. The inFSM-cnt signal indicates whether the hi pixel pipeline segment in the block completes the operation. The line-ent signal indicates the vertical position of a block in one MB. Neig-datal is a 4xl pixel neighboring data used for rain MB level crossings. Tonne-Yang] is the (four) pixel data stored in the -buffer for the next MB horizontal filtering. Top-datal is the top information for the vertical filtering of the current block. t叩一-2 is stored in a buffer for straight two 1 - ta is the current 4x1 pixel data. Data is the pixel data of the filtering operation after the filtering operation, respectively, the adjacent 4 pixels after filtering and after chopping, and the current co-pixels before and after filtering. The scratchpad includes - temporary it 20 1290 Confucian Pif.d0c column. The engine performs filtering operations based on the state of the FSM. As shown in Fig. 10, a filter circuit with other blocks is indicated by reference numeral 1000. This filter circuit 1000 includes an engine 1 〇 12 for receiving the current neighboring pixel (p) from the multiplexer (MUX) 1010 and the current pixel (q) from the MUX 1011. The engine 1〇12 is connected to the mux 1013 and the MUX 1014 for signal communication. Μυχ 1〇π is connected to the 4x4 block register array 2 1016 for signal communication. The 4x4 block register array 2 1016 is connected to the MUX 1018 for signal communication. The MUX 1018 provides neighboring data (neig_data2) to the neighboring memory (NEIG-MEM) 1020, and the neighboring memory 1〇2〇 provides another neighboring data (neig_datal) to the MUX 1010. The 4x4 block register array 2 1016 is further connected to the top memory (TOP-MEM) 1022 for signal communication, and the top memory 1022 is connected to the MUX 1024 for signal communication. The MUX 1024 is then coupled to the 4x4 block register array 1 1026 for signal communication. The 4x4 block register array 1 1〇26 is connected to the MUX 1028 for signal communication, and the MUX 1028 is connected to the bus interface (BUS_IF) 1030 for signal communication to provide filtered information to the interface, wherein the interface and the DMA are provided. The memory is connected for signal communication to provide a deblocking output signal (DEBLOCK_OUT).

濾波電路1000又包括一對當前記憶體(CURRJV1EM) 1032,用來接收重建資料(RECON_DATA)。每一當前 記憶體1032與MUX 1034相連進行訊號通信,MUX 1034 再與MUX 1011相連進行訊號通信以提供當前資料 (curr_data )給此MUX 1011。當前記憶體1032又與FSM 21 l29〇mP,doc 1036相連進行訊號通信以把啟動訊號(mb—start)提供 給FSM4X4區塊管線架構1036 4SM 1036與控制器1038 相連進行訊號通信以把訊號FSM__state、line_count及 ChiOma一flag提供給此控制器1038,並接收來自此控制器 1038的訊號inFSM_count給4x1像素管線。控制器1〇38 與每一 MUX 1010、1011、1014、1018、1024、1028 及 1034 的控制輸入端相連進行訊號通信,用來控制這些MUX以 回應 FSM—state、line—count、Chroma—flag 及 inFSM—count 訊號。 在操作中,當recon_data訊號被儲存到CURR_MEM 中且濾波操作開始時產生MB_START訊號。FSM接收來 自4x1管線控制器的控制訊號inFSM_cnt以查看此4xl像 素管線段是否執行完操作。由於亮度濾波與色度濾波使用 同一濾、波引擎,所以需使用Chroma_Flag訊號。經引擎滤 波後的資料藉由BUS_IF傳輸到記憶體或DMA。 參照圖11,一種管線式架構的時序圖,其以參考數字 1100表示。這種時序圖1100分別繪示為訊號HCLK、 MB—start、line—cnt、FSM、inFSM—cnt、Filtering—ON、BS、 ALPHA/BETA/TCO、p、q、filterSampleFlag、filtered—p、 以及filtered_q的相對時序。 時序圖1100又緣示為4x4區塊管線段,其包括:步 驟1110,預先提取及尋找BS給第一區塊;步驟1112,執 行濾波並儲存濾波結果給第一區塊;步驟1114,尋找 alpha、beta及tcO參數給第一區塊,其中步驟1114與步驟 22 ^29〇43〇 塌 pif.doc • H〇、1112交疊;步驟1120,預先提取及尋找BS給第二 • $ ;步驟1122,執行濾波並儲存濾波結果給第二區塊; 二^1124’尋找aipha、beta及tc〇參數給第二區塊,其中 1124與步驟1120、1122交疊;步驟113〇,預先提取 $评找BS給第三區塊;步驟lm,執行濾波並儲存濾波 二,給第二區塊,步驟1134,尋找alpha、beta及tcO參數 〜第三區塊,其中步驟U34與步驟1130、1132交疊。 • 此外,用於第二區塊的步驟Π20與用於第一區塊的步 顿1112、1114父豐,用於第二區塊的步驟1124與用於第 區塊的步驟1112交疊,用於第三區塊的步驟113〇與用 ,第二區塊的步驟Π22交疊。下面參照圖12,根據本發 月種區塊滤波排序提出的一種濾波方法一般用參考數字 12〇〇表示。一巨集塊被編組成一亮度部分12〇2、一第一色 度部分1204、以及一第二色度部分12〇6,每一部分具有垂 直邊緣,從左邊緣m=0開始,且每一部分具有水平邊緣, 上邊緣π=0開始。 此濾波方法1200包括啟動區塊1210,其初始設定為 Chr〇ma=No、m=0以及η=〇。啟動區塊1210把控制訊號傳 遞給功能區塊1212,其對m=〇的MB之垂直4χ4區塊邊 緣執行濾波。功能區塊1212把控制訊號傳遞給功能區塊 U14,其對m=l的MB之垂直4x4區塊邊緣執行濾波。功 能區塊1214把控制訊號傳遞給功能區塊1216。功能區塊 1216對m=0的MB之水平4x4區塊邊緣執行濾波,並把 控制訊號傳遞給判定點1217。 23 1290儒pif.doc 判定點1217判定此區塊是否為色度區塊,如果是,則 • 把控制訊號傳遞給功能區塊1218。如果此區塊不是色度區 塊’則把控制訊號傳遞給功能區塊122〇。功能區塊1220 對m=2的MB之垂直4x4區塊邊緣執行濾波,並把控制訊 號傳遞給功能區塊1218。功能區塊1218對m= 1的mb之 第一水平邊緣執行濾波’並把控制訊號傳遞給判定點 1222。 判定點1222判定此區塊是否為色度區塊,如果是,則 # 把控制訊號傳遞給判定點1224。判定點1224判定此區塊 是否為MB中的結束區塊’如果是,則把控制訊號傳遞給 結束區塊1226。如果不是,則判定點1224把控制訊號傳 遞給判定點1225。 判定點1225判定是否n=l。如果η=ι,則將其重設為 n=0。如果η不等於1,則η按1遞增。判定點1225之後, 控制訊號被傳遞給功能區塊1212。另一方面,如果判定點 1222判定當前區塊不是色度區塊,則把控制訊號傳遞給功 鲁 能區塊丨228。功能區塊I228對m=3的MB之垂直4&gt;&lt;4區 塊邊緣執行濾波,並把控制訊號傳遞給功能區塊123〇。功 能區塊1230對m=2的MB之第三水平邊緣執行濾波,並 把控制訊號傳遞給功能區塊1232。功能區塊1232再對m=3 的MB之第四水平邊緣執行濾波,並把控制訊號傳遞給判 定點1234。 判疋點1234判定是否n=3。如果n=3,則將其重設為 n=〇 ’並且設定chromates。如果η不等於3,則η按1 24 I29〇43^if.d〇c 遞增。判定1J; Ho &gt;· 1212。根據本說明==制訊號被傳遞給功能區塊 發明的以上及1他&amp; u技*者可容易地發現本 可擴展Ah二 與優點。例如,應當理解,本發明 缩短濾以:亮度濾波與色度濾波的實施例以進-步 之前、之心亮度濾波可在紅色、藍色色度濾波 波、亮产紅色色度濾波可在藍色色度濾 又濾波、或此兩者之前或之後執行。除了The filter circuit 1000 further includes a pair of current memories (CURRJV1EM) 1032 for receiving the reconstructed data (RECON_DATA). Each current memory 1032 is connected to the MUX 1034 for signal communication, and the MUX 1034 is connected to the MUX 1011 for signal communication to provide current data (curr_data) to the MUX 1011. The current memory 1032 is further connected to the FSM 21 l29〇mP, doc 1036 for signal communication to provide an activation signal (mb_start) to the FSM4X4 block pipeline architecture 1036. The 4SM 1036 is connected to the controller 1038 for signal communication to transmit the signal FSM__state, Line_count and ChiOma-flag are provided to the controller 1038 and receive the signal inFSM_count from the controller 1038 to the 4x1 pixel pipeline. Controllers 〇38 are coupled to the control inputs of each of the MUXs 1010, 1011, 1014, 1018, 1024, 1028, and 1034 for signal communication to control the MUXs in response to FSM-state, line-count, Chroma-flag, and inFSM-count signal. In operation, the MB_START signal is generated when the recon_data signal is stored in CURR_MEM and the filtering operation begins. The FSM receives the control signal inFSM_cnt from the 4x1 pipeline controller to see if this 4xl pixel pipeline segment has completed its operation. Since the same filtering and wave engine are used for luminance filtering and chroma filtering, the Chroma_Flag signal is required. The engine filtered data is transferred to the memory or DMA by BUS_IF. Referring to Figure 11, a timing diagram of a pipelined architecture is indicated by reference numeral 1100. The timing diagram 1100 is shown as signals HCLK, MB_start, line_cnt, FSM, inFSM_cnt, Filtering-ON, BS, ALPHA/BETA/TCO, p, q, filterSampleFlag, filtered_p, and filtered_q, respectively. Relative timing. The timing diagram 1100 is further illustrated as a 4x4 block pipeline segment, which includes: Step 1110, pre-fetching and searching for the BS to the first block; Step 1112, performing filtering and storing the filtering result to the first block; Step 1114, searching for an alpha , beta and tcO parameters are given to the first block, wherein step 1114 and step 22^29〇43 collapse pif.doc • H〇, 1112 overlap; step 1120, pre-fetch and find BS to second • $; step 1122 Performing filtering and storing the filtering result to the second block; 2^1124' searching for the aipha, beta, and tc〇 parameters to the second block, where 1124 overlaps steps 1120 and 1122; step 113〇, pre-fetching $evaluation The BS is given to the third block; in step lm, filtering is performed and the filter is stored, and the second block is sent to the second block. In step 1134, the alpha, beta and tcO parameters to the third block are searched, wherein step U34 overlaps steps 1130 and 1132. • In addition, step Π20 for the second block is used with the step 1122 for the first block and 1114 for the parent, the step 1124 for the second block overlaps with the step 1112 for the first block, In step 113 of the third block, the second block is overlapped with step 22. Referring now to Figure 12, a filtering method proposed in accordance with the filtering block ordering of the present month is generally indicated by reference numeral 12?. A macroblock is grouped into a luminance portion 12〇2, a first chrominance portion 1204, and a second chrominance portion 12〇6, each portion having a vertical edge, starting from the left edge m=0, and each portion With a horizontal edge, the upper edge starts at π=0. This filtering method 1200 includes activating block 1210 that is initially set to Chr〇ma=No, m=0, and η=〇. Boot block 1210 passes the control signal to functional block 1212, which performs filtering on the edge of the vertical 4χ4 block of the MB of m=〇. The function block 1212 passes the control signal to the function block U14, which performs filtering on the edge of the vertical 4x4 block of the MB of m=l. The function block 1214 passes the control signal to the functional block 1216. The function block 1216 performs filtering on the horizontal 4x4 block edge of the MB of m = 0 and passes the control signal to the decision point 1217. 23 1290 Confucian pif.doc Decision point 1217 determines if the block is a chroma block, and if so, • passes the control signal to function block 1218. If the block is not a chroma block, then the control signal is passed to the function block 122. Function block 1220 performs filtering on the vertical 4x4 block edge of the MB of m = 2 and passes the control signal to functional block 1218. The function block 1218 performs filtering on the first horizontal edge of mb of m = 1 and passes the control signal to the decision point 1222. Decision point 1222 determines if the block is a chroma block, and if so, # passes the control signal to decision point 1224. Decision point 1224 determines if the block is an end block in the MB. If so, the control signal is passed to end block 1226. If not, decision point 1224 passes the control signal to decision point 1225. Decision point 1225 determines if n = 1. If η=ι, reset it to n=0. If η is not equal to 1, η is incremented by 1. After decision point 1225, the control signal is passed to functional block 1212. On the other hand, if decision point 1222 determines that the current block is not a chroma block, then the control signal is passed to power block 228. The function block I228 performs filtering on the vertical 4&gt;&lt;4 block edge of MB of m=3, and passes the control signal to the function block 123A. The function block 1230 performs filtering on the third horizontal edge of the MB of m = 2 and passes the control signal to the functional block 1232. The function block 1232 then performs filtering on the fourth horizontal edge of the MB of m = 3 and passes the control signal to the decision point 1234. The judgment point 1234 determines whether n=3. If n=3, reset it to n=〇 ' and set chromates. If η is not equal to 3, then η is incremented by 1 24 I29〇43^if.d〇c. Judge 1J; Ho &gt;· 1212. According to this description, the == signal is transmitted to the functional block. The above and the other ones of the invention can easily find the extensible Ah II and the advantages. For example, it should be understood that the present invention shortens the filtering to: the embodiment of luminance filtering and chrominance filtering, before the step-by-step, the heart luminance filtering can be filtered in red, blue chrominance, and the bright red chrominance filtering can be in blue color. Filtering is filtered again, or both before or after. apart from

應用於弁夕其他類型的區塊格式。本說明書中揭露 =264/A^C標準為依據的巨倾塊的較佳邊緣遽波排 序,但是應當理解’每—區塊的通用濾波排序(穿^執行 St平邊緣的細作)可應用於各種其他類型 應當理解,本發明可採用各種形式的硬體、軟體、韌 體、特殊用途處理器、或其組合來執行。而且,軟體最好 是作為程式儲存裝置中實質存在的應用程式來執行操作。 應用程式可上載到一包含任何適當架構的機器上並由其執 行操作。此機器最好能夠在一具備硬體[如一個或多個中央 處理器(central processing unit,CPU)、一隨機存取記憶 體(random access memory,RAM )、以及輸入/輸出 (input/output,I/O)介面]的電腦平臺上執行操作。此電 腦平臺也可包括一作業系統與微指令代碼 (microinstruction code)。本說明書中所述的各種方法與 功能既可以是微指令代碼的一部分又可以是應用程式的一 25 1290爾⑸。c 操mi其任意組合的—部分’它們可由cpu執行 外資料儲存單=頁他,設::連接到電腦平臺,如額 間的實際件或處理功能區塊之 、/、、連接根據貫施例設計方式的不同而不同。 限定:二:發啸佳實施例揭露如上’然其並非用以 和範何熟習此技藝者,在不脫離本發明之精神Applied to other types of block formats. In this specification, the preferred edge chopping order of the giant tilt block based on the =264/A^C standard is disclosed, but it should be understood that the 'per-block general filtering ordering (wearing the implementation of the St flat edge) can be applied. Various Other Types It should be understood that the present invention can be implemented in various forms of hardware, software, firmware, special purpose processors, or combinations thereof. Moreover, the software preferably operates as an application that is substantially present in the program storage device. An application can be uploaded to and executed by a machine containing any suitable architecture. Preferably, the machine can be hardware-equipped (such as one or more central processing units (CPUs), a random access memory (RAM), and input/output (input/output, I/O) interface] performs operations on the computer platform. The computer platform can also include an operating system and microinstruction code. The various methods and functions described in this specification can be either part of the microinstruction code or an application of 25 1290 (5). c f, any combination of them - part of 'they can be executed by the cpu external data storage list = page him, set:: connected to the computer platform, such as the actual part of the amount or processing function block, /,, the connection according to the implementation The design method varies from case to case. Qualifications: 2: The implementation of the whistling embodiment is as described above, but it is not intended to be familiar with the artist, without departing from the spirit of the invention.

,當視後者;:本發明之保護 【圖式簡單說明】 2明書中根據以下實施圖提出管線式去區塊滤波器 與方1,其巾相_元件可射目關參考符號來表示。 圖1繪示為帶有回路内去區塊濾波器的編碼哭一實施 例的示意方塊圖。 口口 一圖2繪示為帶有回路内去區塊濾波器且可使用圖1所 不之編碼器的解碼器一實施例的示意方塊圖。 圖3繪示為帶有後處理去區塊濾波器的解碼器一實施 例的示意方塊圖。 圖4繪示為帶有回路内去區塊濾、波器的codec —實 施例的示意方塊圖,其中此CODEC符合H.264/AVC標準。 圖5繪示為以H.264/AVC標準為依據的基本濾波順序 的示意資料圖。 圖6繪示為滿足H.264/AVC標準要求且是根據本發明 一實施例提出的濾波順序的示意資料圖。 圖7繪示為根據本發明一實施例提出的一種去區塊濾 26 I29〇4^§Pif.d〇c 波器的示意方塊圖。 ㈣圖!/=為根據本發明—實施例提出的—種管線式架 構的不意時序圖。 一 f 9、、、g不為根據本發明一實施例提出的一種濾波電路 的示意方塊圖。 圖10繪示為根據本發明一實施例提出的一種濾波器 及有關區塊的示意方塊圖。The latter is considered; the protection of the present invention [Simple description of the drawing] In the following table, the pipeline deblocking filter and the square 1 are proposed according to the following embodiment, and the material phase_component can be represented by a reference symbol. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a schematic block diagram of an embodiment of a coded cry with an in-loop deblocking filter. Port Figure 2 is a schematic block diagram of an embodiment of a decoder with an in-loop deblocking filter and an encoder not shown in Figure 1. 3 is a schematic block diagram of an embodiment of a decoder with a post-processing deblocking filter. 4 is a schematic block diagram of a codec with an in-loop deblocking filter, which conforms to the H.264/AVC standard. Figure 5 is a schematic diagram showing the basic filtering sequence based on the H.264/AVC standard. 6 is a schematic diagram of a filtering sequence that satisfies the H.264/AVC standard requirements and is proposed in accordance with an embodiment of the present invention. FIG. 7 is a schematic block diagram of a deblocking filter according to an embodiment of the invention. (d) Figure! / = is an unintentional timing diagram of a pipelined architecture proposed in accordance with the present invention. A f 9, , g is not a schematic block diagram of a filter circuit according to an embodiment of the present invention. FIG. 10 is a schematic block diagram of a filter and related blocks according to an embodiment of the invention.

圖Η %不為根據本發明一實施例提出的一種管線式 架構區塊的局部示意時序圖。 圖12_纟胃示為根據本發明—實施例提出的一種排序濾 波方法的示意流程圖。 【主要元件符號說明】 100、400 ··編碼器 112、412 ·•影像輸入端 114、124、214、224、314、324、414、424 ··加法區 塊 116、416 :功能區塊 118、 418 :熵編碼區塊 119、 419 :移動估計區塊 120、 220、320 ·•回路内部件 122、222、322 :逆轉換區塊 126、 226、326、426:訊框内預測區塊 127、 227、327 ··開關 128、 228、328、428··訊框儲存器 27 I29〇4si7%)if.doc 130、230、330、430 :移動補償區塊 140、240、340、440、700 :去區塊濾波器 160 ·編碼器控制區塊 200、300 :解碼器 210、310 :熵解碼區塊 262、362 :解碼器控制區塊 422 :反量化及反離散餘弦轉換區塊 429 :預測模組 recon_data :重建資料 500、600 :濾波順序 510 :垂直邊緣 520 :水平邊緣 1、2、3、4、5、6、7、8:濾波步驟 610 :亮度或黃色濾波排序 620 :藍色色度濾波排序 630 :紅色色度濾波排序 1到32 :亮度濾波步驟 33到40 :藍色色度濾波步驟 41到48 :紅色色度濾波步驟 A到P :亮度區塊 Q到T:藍色色度區塊 U到X:紅色色度區塊 712 ··濾波單元 714、912、1012 :引擎 28 12904溫 pif.doc 716 :暫存器區塊 718、910、1036 :有限狀態機(FSM) 720(CURR_CTRL):當前資料控制器 722(BS__GEN):濾波邊界強度發生器 724(QP_MEM):鄰近區塊量化參數記憶體 726(NEIG—CTRL)、730(TOP_CTRL)、1038 :控制器 710(CURR一 MEMX2) 、 728(NEIG—MEM) 、 732(TOP—MEM)、1020(NEIG—MEM)、1022( TOP—MEM)、 1032(CURR_MEM):記憶體 734(DMA_CTRL):直接記憶體存取控制器 736(DMA_MEMx2):直接記憶體存取記憶體 738 ··切換單元 740(DMAJBUS_IF) : DMA 匯流排介面 SRAM CONTROL、FSM—STATE、INFSM—CNT、 NEIG—DATA1 、 NEIG—DATA2 、 TOPDATA1 、 TOP_DATA2、PARAMETER、FSM、LINE—CNT、 CHROMA—FLAG、FILTERED DATA、OURR一DATA、 MB—START、CURRENT一DATA、BS、p、p’ 、q、q’ 、 ALPHA、BETA、TCO、HCLK、FILTERING一ON、 FILTERSAMPLEFLAG、FILTERED_p、FILTERED—q :訊 號 800 :管線式去區塊濾波器架構 8 01 · 4 χ 4區塊段 802 : 4x1像素段 29 1290爆f.doc 810、812、814、815、816、818、820、822、824、 , 830、832、834、840、842、844、850、852、854 :步驟 900、1000 :濾波電路 914、1010、ion、1013、1014、1018、1024、1028、 1034 :多工器(MUX) 916 :暫存器 918 :輸出開關 1016、1026 : 4x4區塊暫存器陣列 • 1030 (BUS—IF):匯流排介面 1100 :管線式架構時序圖 1110、1112、1114、1120、1122、1124、1130、1132、 1134 :步驟 1200 :濾波方法 1202 :亮度部分 1204、1206 :色度部分 1210 :啟動區塊 $ 1212、1214、1216、1218、1220、1228、1230、1232 : 功能區塊 1217、1222、1224、1225、1234 :判定點 1226 :結束區塊 30Figure Η % is not a partial schematic timing diagram of a pipelined architecture block proposed in accordance with an embodiment of the present invention. Figure 12 is a schematic flow diagram of a sorting filtering method proposed in accordance with the present invention. [Description of main component symbols] 100, 400 · Encoders 112, 412 · Image input terminals 114, 124, 214, 224, 314, 324, 414, 424 · Addition blocks 116, 416: Function block 118, 418: Entropy coding blocks 119, 419: motion estimation blocks 120, 220, 320 • In-loop components 122, 222, 322: inverse conversion blocks 126, 226, 326, 426: intra-frame prediction block 127, 227, 327 · · switch 128, 228, 328, 428 · frame memory 27 I29 〇 4si 7%) if.doc 130, 230, 330, 430: motion compensation block 140, 240, 340, 440, 700: Deblocking Filter 160 - Encoder Control Blocks 200, 300: Decoders 210, 310: Entropy Decoding Blocks 262, 362: Decoder Control Block 422: Inverse Quantization and Inverse Discrete Cosine Transform Block 429: Prediction Mode Group recon_data: Reconstruction data 500, 600: Filtering sequence 510: Vertical edge 520: Horizontal edge 1, 2, 3, 4, 5, 6, 7, 8: Filtering step 610: Brightness or yellow filtering ordering 620: Blue chrominance filtering Sort 630: Red Chroma Filter Sort 1 to 32: Luma Filter Steps 33 to 40: Blue Chroma Filter Steps 41 to 48: Red Chroma filtering steps A to P: luminance blocks Q to T: blue chrominance blocks U to X: red chrominance block 712 ··filtering units 714, 912, 1012: engine 28 12904 temperature pif.doc 716: temporary Storing blocks 718, 910, 1036: finite state machine (FSM) 720 (CURR_CTRL): current data controller 722 (BS__GEN): filtering boundary strength generator 724 (QP_MEM): neighboring block quantization parameter memory 726 (NEIG) - CTRL), 730 (TOP_CTRL), 1038: Controller 710 (CURR-MEMX2), 728 (NEIG-MEM), 732 (TOP-MEM), 1020 (NEIG-MEM), 1022 (TOP-MEM), 1032 ( CURR_MEM): memory 734 (DMA_CTRL): direct memory access controller 736 (DMA_MEMx2): direct memory access memory 738 · · switching unit 740 (DMAJBUS_IF): DMA bus interface SRAM CONTROL, FSM-STATE, INFSM—CNT, NEIG—DATA1, NEIG—DATA2, TOPDATA1, TOP_DATA2, PARAMETER, FSM, LINE—CNT, CHROMA—FLAG, FILTERED DATA, OURR-DATA, MB—START, CURRENT-DATA, BS, p, p', q, q', ALPHA, BETA, TCO, HCLK, FILTERING-ON, FILTERSAMPLEFLAG, FILTERED_p, FILTERED-q: Signal 800: Pipeline deblocking filter architecture 8 01 · 4 χ 4 block segment 802: 4x1 pixel segment 29 1290 burst f.doc 810, 812, 814, 815, 816, 818, 820, 822, 824, , 830, 832, 834, 840, 842, 844, 850, 852, 854: steps 900, 1000: filter circuits 914, 1010, ion, 1013, 1014, 1018, 1024, 1028, 1034: multiplexer (MUX) 916 : register 918: output switch 1016, 1026: 4x4 block register array • 1030 (BUS_IF): bus interface 1100: pipeline architecture timing diagrams 1110, 1112, 1114, 1120, 1122, 1124, 1130 1, 1122, 1134: Step 1200: Filtering Method 1202: Luminance Section 1204, 1206: Chroma Section 1210: Boot Blocks $1212, 1214, 1216, 1218, 1220, 1228, 1230, 1232: Function Blocks 1217, 1222 1224, 1225, 1234: decision point 1226: end block 30

Claims (1)

日修(七^替換頁 修正日期96年7月4日 1290438 爲第94141084號中文專利範圍 18678pifl.doc 十、申請專利範圍: _ 1. 一種濾波方法,採用區塊轉換對像素貧料區魏執行 濾波以減少區塊效應,該濾波方法包括 對該區塊執行第^一邊緣遽波’以及 執行完第-邊緣濾波後,對不超過三條邊緣的區塊執 行第三邊緣濾波,其中第三邊緣蚕直於第一邊緣。 2. 如申請專利範圍第1項所述之濾波方法,其中第一 邊緣為該區塊的左邊緣,而第三邊緣為該區塊的上邊緣。 3. 如申請專利範圍第1項所述之濾波方法’又包括執 行完第一邊緣濾波後對不超過雨條邊緣的區塊執行第二邊 緣濾波,其中第二邊緣平行於第一邊緣。 4·如申請專利範圍第3項所述之濾波方法,其中第二 k緣為該區塊的右邊緣。 5·如申請專利範圍第1項所述之濾波方法,其中該區 塊包括4x4像素資料。 6·如申請專利範圍第1項所述之濾波方法,其中該區 塊為包含一巨集區塊的16個區塊的其中之一。 7·如申請專利範圍第6項所述之濾波方法’其中該巨 集區塊中的區塊是從左到右、從頂行到底行一次一行地依 次執行濾波。 8·如申請專利範圍第1項所述之濾波方法,其中像素 資料區塊包括多行、多列或多個像素向量,該濾波方法叉 包括·· 預先提取鄰近區塊像素資料給第一暫存器陣列; 1290438 18678pifl.doc 預先提取當前區塊像素資料給第二暫存 尋找當前邊緣的邊界強度,回 接二'’乂及 資料和預先提取的當前像素資料。… 、#近像素 請專利範圍第8項所述之濾波方法,又包括. 預先,上端區塊像素資料給第三暫存器陣列括· L0亡一申:,範圍第8項所述之濾波方法,又包括. 給滤=擎:存轉财預先提取像素㈣的鄰近向量 給遽暫存器陣列中預先提取像素資料的當前向量 向量皮量參數給當前輯之邊界強度所對應的鄰近 波;向對躲雜波錢的鄰近衫⑽麵量執行慮 以及 的鄰近向量到 η.如申請專賴存轉列中。 從第一暫存器陣列中生处之濾波方法,又包括: 給濾波引擎; 、无提取像素資料的鄰近向量 給二二暫存器陣列中預先一 ^ 向量 尋找濾波參數給當前 與當前向量; °°4之邊界強度所對應的 向對應於該濾波參數的鄰近向量與 鄰近 當前向量執行濾 32 1290438 18678pifl.doc 波; 把渡波後的鄰近向量儲存到-記憶體中;以及 更新濾波後的當前向量到第二暫存器陣列中。 12.如申請專利範圍第1〇 丄、 對已更新的第二暫存哭陵、丨处.’思;方法’又包括: 列執行更新; u㈣㈣觸第-暫存器陣 鲁 ,存更新,第1存器陣列到—記憶體中;以及 取其一 i巴更,、的第暫存器陣列儲存到記憶體時預先提 另-像素#料區塊給第二暫存器陣列。 13=申請專利範圍第1G項所述之濾波方法,又包括·· 在哥找濾波麥數給第一鄰近向量時,從第一暫存器 列中預先提取第二像素資料鄰近向量給濾波引擎; 在尋找濾波參數給第一當前向量時7從第二暫存器陣 列中預先提取第二像素資料當前向量給濾波引擎; 在對第-鄰近向量與第一當前向量執行滤、波時,尋找 ,波參數給當前區塊之邊界強度所對應的第二鄰近向量與 苐二當前向量; ^向對應於該濾波參數的第二鄰近向量與第二當前向 量執行濾波; μ 更新第二濾波鄰近向量到第一暫存器陣列中;以及 更新第二濾波當前向量到第二暫存器陣列中。 14·如申請專利範圍第12項所述之濾波方法,又包括 處理第二像素資料區塊的區塊管線。 15·如申請專利範圍第η項所述之濾波方法,區塊管 33 1290438 18678pifl.docJapanese repair (seven ^ replacement page revision date July 4, 1996 1290438 for the 94141084 Chinese patent scope 18678pifl.doc X. Patent scope: _ 1. A filtering method, using block conversion to the pixel poor area Wei Filtering to reduce blockiness, the filtering method includes performing a first edge chopping on the block and performing third edge filtering on the block of no more than three edges after performing the first edge filtering, wherein the third edge The silkworm is straight to the first edge. 2. The filtering method of claim 1, wherein the first edge is the left edge of the block and the third edge is the upper edge of the block. The filtering method of claim 1 further comprises performing a second edge filtering on the block not exceeding the edge of the rain strip after performing the first edge filtering, wherein the second edge is parallel to the first edge. The filtering method of claim 3, wherein the second k-edge is a right edge of the block. 5. The filtering method of claim 1, wherein the block comprises 4×4 pixel data. Shen The filtering method of claim 1, wherein the block is one of 16 blocks including a macroblock. 7. The filtering method as described in claim 6 of the patent application The blocks in the cluster block are sequentially filtered from left to right and from the top row to the bottom row. The filtering method described in claim 1, wherein the pixel data block includes multiple rows and more Column or a plurality of pixel vectors, the filtering method fork includes: pre-extracting adjacent block pixel data to the first register array; 1290438 18678pifl.doc pre-fetching current block pixel data to the second temporary memory to find the boundary of the current edge Intensity, back to the second ''乂 and the data and the pre-extracted current pixel data...., # near pixel please filter the method described in item 8 of the patent scope, including: advance, upper block pixel data to the third temporary storage The array of arrays includes the filtering method described in item 8 of the range, including: filtering the engine: pre-extracting the neighboring vector of the pixel (4) to the pre-extracted pixel data in the register array current The vector vector skin amount parameter gives the adjacent wave corresponding to the boundary strength of the current series; the neighboring vector (10) of the neighboring shirt (10) is used to perform the neighboring vector to the η. The filtering method in the register array further includes: feeding the filtering engine; and extracting the neighboring vector of the pixel data to the second and second register arrays to find the filtering parameter to the current and current vectors; °°4 The boundary strength corresponding to the neighboring vector corresponding to the filtering parameter and the neighboring current vector perform filtering 32 1290438 18678pifl.doc wave; storing the neighboring vector after the wave into the memory; and updating the filtered current vector to the first In the second register array. 12. If the scope of the patent application is 1st, the second temporary storage of the crying mausoleum, the squatting place. 'Thinking; the method' includes: the column performs the update; u (four) (four) touches the first-stage register, saves the update, The first register array is in the memory; and the first register array is stored in the memory, and the pixel-block is pre-followed to the second register array. 13=Application of the filtering method described in the 1Gth scope of the patent, further comprising: when the filter is used to obtain the first neighbor vector, the second pixel data neighboring vector is pre-extracted from the first register column to the filtering engine. When searching for the filter parameter to the first current vector, 7 pre-extracting the current vector of the second pixel data from the second register array to the filtering engine; when performing filtering and wave on the first neighbor vector and the first current vector, searching The wave parameter gives a second neighboring vector corresponding to the boundary strength of the current block and a second current vector; ^ performs filtering on the second neighboring vector and the second current vector corresponding to the filtering parameter; μ updates the second filtered neighboring vector Going to the first register array; and updating the second filtered current vector to the second register array. 14. The filtering method of claim 12, further comprising processing a block pipeline of the second pixel data block. 15. The filtering method described in item n of the patent application, block tube 33 1290438 18678pifl.doc 線處理方法包括: 預先提取第二區塊像素資料給第一暫存器陣列;以及 尋找該區塊的邊界強度。 16. 如申請專利範圍第15項所述之濾波方法,區塊管 線處理方法又包括: 在尋找濾波參數給第一像素向量時,從該區塊中預先 提取第二像素向量;以及 在對第一像素向量執行濾波與儲存第一像素向量這 兩操作中的至少一個操作時,尋找濾波參數給第二像素向 量。 17. 如申請專利範圍第15項所述之濾波方法,向量管 線濾波又包括: 在尋找濾波參數給先前的像素向量時,從該區塊中預 先提取另一像素向量;以及 在對先前的像素向量執行濾波與儲存先前的像素向 量這兩操作中的至少一個操作時,尋找濾波參數給另一像 素向量。 18. 如申請專利範圍第1項所述之濾波方法,其中像素 資料區塊包括具有多個像素的行、列或向量,該濾波方法 又包括對多個像素執行濾波的像素管線。 11如申請專利範圍第18項所述之濾波方法,像素管 線濾波包括: 從該些像素中預先提取一第一像素; 尋找濾波參數給第一像素; 34 1290438 18678pifl.doc 月 日修(冬)正替换頁 對第一像素執行濾波; 儲存第一像素; 取一 皮$給第-像素時,從該些像素中預先提 在執行第彳象素濾波與第—像素這兩操 至少-個操作時,尋職波參數給第二像辛。 Μ 線渡專利細19項所述之樹法,像素管 在^皮n給先前像素時,從該些像素巾預先 取另一像素;以及 凡 在執行先兩像素濾波與先前像素儲存這兩操作中的 至乂一個操作時,尋找濾波參數給另_像素。 21.—種官線式去區塊濾波器,用來對經過區塊轉換處 的像素資料區塊執行濾波以減少區塊效應,該管線式去 區塊濾波器包括: 一濾波引擎; 多,暫存器,與該濾波引擎進行訊號通信; :官線控制單元,與該濾波引擎進行訊號通信;以及 有限狀態機,與該管線控制單元進行訊號通信。 器 U·如申請專利範圍第21項所述之管線式去區塊濾波 結合一編碼器用來給像素資料編石馬作為多個區塊轉換 糸t其中该管線式去區塊濾波器配置以給重建像素資料 之區塊轉換執行濾波以回應區塊轉換係數。 、 23·如申請專利範圍第21項所述之管線式去區塊濾波 35 1290438 18678pifl.doc 器,結合一解碼器用來給編碼後的區塊轉換 供重建?素資料,其中該管線式去_濾&quot;配置=重 建像素資料之區塊轉換執行濾波。 _ ^ 24. 如申請糊範目第2i項所述之 器,其中有限狀態機配置以控制該管 塊處波 區塊管線段。 去區塊濾波器的 25. 如申請專利範圍第21項所述 器,其中引擎配置以控制 ^去&amp;塊處波 量管線段。 ^職&amp;線式去區魂濾波器的像素向 器 =中如申請專雜㈣21項料之請式去區塊據波 區魏ΪΪΓ狀態機配置以控制該管線式去區塊濾波器的 量管Ϊ1丨擎η以控制該管線式去區塊濾波器的像素向 ^ &gt;is ~ A '、. 資料區塊執行濾波,先對該區 三邊緣濾波,執行絲—邊賴波後再對不超過 1緣的區塊執行第三邊緣濾、波,其巾第三邊緣垂直於 步一邊緣。 I 電腦I/ 一/種電腦可讀取之儲存媒體,可被電腦讀取,包含 輕你:亍Ob々程式,以執行程式步驟從而對經過區塊 換處理的像素資料區塊執行濾波,該程式步驟包括: 區塊執行第一邊緣濾波;以及 亍元弟邊緣濾波後對不超過三條邊緣的區魏執 36The line processing method includes: pre-fetching the second block pixel data to the first register array; and finding the boundary strength of the block. 16. The method according to claim 15, wherein the block pipeline processing method further comprises: pre-fetching a second pixel vector from the block when searching for the filter parameter to the first pixel vector; When at least one of the two operations of filtering and storing the first pixel vector is performed by one pixel vector, the filter parameter is sought for the second pixel vector. 17. The filtering method of claim 15, wherein the vector pipeline filtering further comprises: pre-fetching another pixel vector from the block when looking for the filtering parameter to the previous pixel vector; and in the previous pixel When the vector performs at least one of the two operations of filtering and storing the previous pixel vector, the filter parameter is sought for another pixel vector. 18. The filtering method of claim 1, wherein the pixel data block comprises a row, a column or a vector having a plurality of pixels, the filtering method further comprising a pixel pipeline that performs filtering on the plurality of pixels. 11 The filtering method according to claim 18, wherein the pixel pipeline filtering comprises: pre-fetching a first pixel from the pixels; and searching for a filtering parameter to the first pixel; 34 1290438 18678pifl.doc 月日修(冬) The positive replacement page performs filtering on the first pixel; stores the first pixel; when taking a pico to the first pixel, preliminarily performs at least one operation of performing the second pixel filtering and the first pixel from the pixels When the job search wave parameter is given to the second image.线 线 渡 专利 专利 专利 专利 专利 专利 专利 专利 专利 专利 专利 专利 专利 专利 专利 专利 专利 专利 专利 专利 专利 专利 专利 专利 专利 专利 专利 专利 专利 专利 专利 专利 专利 专利 专利 专利 专利 专利 专利 专利 专利 专利 专利 专利 专利 专利In the middle of an operation, look for the filter parameters to another _pixel. 21. An official line deblocking filter for performing filtering on a pixel data block at a block conversion to reduce blockiness, the pipelined deblocking filter comprising: a filtering engine; a register, the signal communication with the filtering engine; an official line control unit, performing signal communication with the filtering engine; and a finite state machine for signal communication with the pipeline control unit. U. The pipelined deblocking filtering described in claim 21 of the patent application is combined with an encoder for rasterizing the pixel data as a plurality of block conversions, wherein the pipelined deblocking filter is configured to give The block conversion of the reconstructed pixel data performs filtering in response to the block conversion coefficients. 23) The pipelined deblocking filter 35 1290438 18678pifl.doc described in claim 21, combined with a decoder for converting the coded block for reconstruction, the pipeline data is _ Filter &quot;Configuration=Rebuild the block conversion of the pixel data to perform filtering. _ ^ 24. As described in the application of Paragraph 2i, the finite state machine is configured to control the wave block pipeline segment at the block. Deblocking filter 25. The apparatus described in claim 21, wherein the engine is configured to control the wave segment of the &amp; block. The position of the line-to-zone filter is as follows: Tube Ϊ1丨 η η to control the pixel of the pipelined deblocking filter to perform filtering on the ^ &gt;is ~ A ', . data block, first filter the three edges of the zone, and then perform the wire-edge lag wave and then A block of no more than one edge performs a third edge filter, wave, and the third edge of the towel is perpendicular to the edge of the step. I computer I / one / kind of computer readable storage media, can be read by the computer, including light you: 亍Ob々 program to execute the program step to perform filtering on the block data block processed by the block, The program steps include: the block performs the first edge filtering; and after the edge filtering of the 亍, the area is not more than three edges. 1290438 18678pifl.doc 行第三邊緣渡波’其中第三邊緣垂直於第— 28·如申請直苳 k緣。 步驟又^ Λ利範圍第27項所述之儲存媒體,該程式 •在執行完第一邊緣濾、波後對不超過兩條邊緣 的區塊執行第二邊緣濾波,其中第二邊緣平行於第一邊緣。 29·如申請專利範^第2、7頊所述之儲存媒體,其中像 素資料區塊包括多行、多㈣_像素向量,該程式步驟 又包括:1290438 18678pifl.doc The third edge of the wave is 'the third edge is perpendicular to the first - 28 · If you apply for the k-edge. Step 2: The storage medium described in item 27 of the profit area, the program performs a second edge filtering on the block not exceeding two edges after performing the first edge filtering and wave, wherein the second edge is parallel to the An edge. 29. The storage medium of claim 2, wherein the pixel data block comprises a plurality of rows and a plurality of (four) _ pixel vectors, the program step further comprising: ,·以及 街應預先提取的鄰近像素 預先提取鄰近區塊像素資科 預先提取當前區塊像素資科 尋找當前邊緣的邊界強度’ 資料和預先提取的當前像素資料, and the neighboring pixels that should be pre-fetched by the street. Pre-fetching the neighboring block pixel. Pre-fetching the current block pixel. Finding the boundary strength of the current edge' data and the pre-fetched current pixel data. 3737
TW94141084A 2004-12-01 2005-11-23 A pipelined deblocking filter TWI290438B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020040099724A KR20060060919A (en) 2004-12-01 2004-12-01 Deblocking Filter and Filtering Method to Eliminate Blocking Effect in H.264 / MFP-4
US11/226,563 US20060115002A1 (en) 2004-12-01 2005-09-14 Pipelined deblocking filter

Publications (2)

Publication Number Publication Date
TW200629909A TW200629909A (en) 2006-08-16
TWI290438B true TWI290438B (en) 2007-11-21

Family

ID=36441944

Family Applications (1)

Application Number Title Priority Date Filing Date
TW94141084A TWI290438B (en) 2004-12-01 2005-11-23 A pipelined deblocking filter

Country Status (3)

Country Link
JP (1) JP2006157925A (en)
DE (1) DE102005058508A1 (en)
TW (1) TWI290438B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8285774B2 (en) 2008-03-24 2012-10-09 Novatek Microelectronics Corp. Operation method and apparatus for performing overlap filter and core transform
TWI391878B (en) * 2009-12-01 2013-04-01 Mstar Semiconductor Inc Block-edge detection method and block-edge detection device
TWI513279B (en) * 2008-06-19 2015-12-11 Thomson Licensing Method for determining a filter for interpolating one or more pixels of a frame and method and device for encoding or decoding a frame

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4834446B2 (en) 2006-04-11 2011-12-14 株式会社東芝 Image processing device
KR100922275B1 (en) * 2006-12-15 2009-10-15 경희대학교 산학협력단 Derivation process of a boundary filtering strength and deblocking filtering method and apparatus using the derivation process
JP5183664B2 (en) 2009-10-29 2013-04-17 財團法人工業技術研究院 Deblocking apparatus and method for video compression
TWI469643B (en) * 2009-10-29 2015-01-11 Ind Tech Res Inst Deblocking apparatus and method for video compression
JP2012151690A (en) * 2011-01-19 2012-08-09 Hitachi Kokusai Electric Inc Deblocking filter device, deblocking filter processing method, and encoding device and decoding device using the same
WO2013037254A1 (en) 2011-09-13 2013-03-21 Mediatek Inc. Method and apparatus for reduction of deblocking filter
JP5867050B2 (en) * 2011-12-14 2016-02-24 富士通株式会社 Image processing device

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100418437B1 (en) * 2001-12-24 2004-02-14 (주)씨앤에스 테크놀로지 A moving picture decoding processor for multimedia signal processing
US8516026B2 (en) * 2003-03-10 2013-08-20 Broadcom Corporation SIMD supporting filtering in a video decoding system
US7792194B2 (en) * 2003-04-10 2010-09-07 Lefan Zhong MPEG artifacts post-processed filtering architecture
US7362810B2 (en) * 2003-05-13 2008-04-22 Sigmatel, Inc. Post-filter for deblocking and deringing of video data

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8285774B2 (en) 2008-03-24 2012-10-09 Novatek Microelectronics Corp. Operation method and apparatus for performing overlap filter and core transform
TWI382768B (en) * 2008-03-24 2013-01-11 Novatek Microelectronics Corp Method and apparatus for concurrently performing lapped transform and core transform operations
TWI513279B (en) * 2008-06-19 2015-12-11 Thomson Licensing Method for determining a filter for interpolating one or more pixels of a frame and method and device for encoding or decoding a frame
TWI391878B (en) * 2009-12-01 2013-04-01 Mstar Semiconductor Inc Block-edge detection method and block-edge detection device

Also Published As

Publication number Publication date
JP2006157925A (en) 2006-06-15
TW200629909A (en) 2006-08-16
DE102005058508A1 (en) 2006-06-08

Similar Documents

Publication Publication Date Title
CN1794814B (en) Pipelined deblocking filter
CN100568973C (en) Digital image filtering method and filtering device
TWI650007B (en) Image processing device and method, computer program product and recording medium
CN102484714B (en) Image processing device and method
Ozcan et al. A high performance deblocking filter hardware for high efficiency video coding
US20060133504A1 (en) Deblocking filters for performing horizontal and vertical filtering of video data simultaneously and methods of operating the same
WO2001049026A1 (en) Digital camera, memory control device usable for it, image processing device and image processing method
US20120134424A1 (en) Method and System for a Parameterized Multi-Standard Deblocking Filter for Video Compression Systems
JP2008529412A (en) Scratch pad for storing intermediate loop filter data
TW201233188A (en) Image processing device and image processing method
TWI290438B (en) A pipelined deblocking filter
EP1613095B1 (en) Deblocking filter apparatus and methods using sub-macro-block-shifting register arrays
JP4593437B2 (en) Video encoding device
JP2022538968A (en) Transform Skip Residual Encoding of Video Data
CN102792693A (en) Device and method for processing image
JP3680845B2 (en) Compressed video decompression device and image display device using the same
CN117596413A (en) Video processing method and device
US20080130745A1 (en) Method and Apparatus for Intra Prediction for Rru
JP4945513B2 (en) Variable length decoding apparatus and moving picture decoding apparatus using the same
TW201233191A (en) Image processing device, image processing method, and program
KR20070033417A (en) Method and system for performing deblocking filtering
WO2022252222A1 (en) Encoding method and encoding device
CN102918841A (en) Image processing device and method
KR100816461B1 (en) Real-time Deblocking Filter and Deblocking Method Using the Same
KR100824287B1 (en) Low Power Fast Deblocking Filter

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees