TWI373734B - Method and apparatus for improving video quality of low bit-rate video - Google Patents

Method and apparatus for improving video quality of low bit-rate video Download PDF

Info

Publication number
TWI373734B
TWI373734B TW93107090A TW93107090A TWI373734B TW I373734 B TWI373734 B TW I373734B TW 93107090 A TW93107090 A TW 93107090A TW 93107090 A TW93107090 A TW 93107090A TW I373734 B TWI373734 B TW I373734B
Authority
TW
Taiwan
Prior art keywords
adjacent blocks
block
blocks
subdivided
edge pixels
Prior art date
Application number
TW93107090A
Other languages
Chinese (zh)
Other versions
TW200508987A (en
Inventor
Vijayalakshmi R Raveendran
Ann C Irvine
Original Assignee
Qualcomm 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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of TW200508987A publication Critical patent/TW200508987A/en
Application granted granted Critical
Publication of TWI373734B publication Critical patent/TWI373734B/en

Links

Description

1373734 玖、發明說明: 【發明所屬之技術領域】 本發明大致係關於資料壓縮,且特定言之係關於基於區 塊之壓縮系統。 【先前技術】 轉換編碼係一種普通影像壓縮技術,其將影像分爲子影 像或區塊以便處理。因爲區塊是被獨立編碼的,所以基於 區塊之壓縮在區塊邊界之間引入了假像(artifact)。因此, 該轉換並未將區塊邊界之間的相關性考慮在内。因此,該 技術通常導致低位元率影像,該影像被高度壓縮,但含有 嚴重壓縮的假像,諸如分塊、振盪及運動汙迹。 .結果,已提出若干用於解區塊之後處理演算法以減少及/ 或消除壓縮假像。然而,其多數涉及複雜的計算且可能在 輸出衫像上造成全面的模糊效果。其他的區塊濾波器不能 有效保存邊緣資訊且在硬體中實施通常較複雜。因此,需 要一種更簡單的及/或更有效的解區塊處理。 【發明内容】 一種用於處理使用基於區塊之壓縮所壓縮的影像之方法 及裝置,其可包括:判定兩區塊是否爲鄰近區塊;判定該 等兩鄰近區塊是否均被細分;若該等兩鄰近區塊未均被細 分,則針對該等兩鄰近區塊之一或多個邊緣像素執行解區 塊濾波。判定兩鄰近區塊是否均被細分可包括:獲取該等 兩鄰近區塊之每一區塊的方差值;比較該等方差值與第— 臨限值,及基於该等方差冑與該第.一臨限值之比較來判定 92036.doc 1373734 該等兩鄰近區塊是否均被細分。或者,判定兩鄰近區塊是 否均被細分同樣也可包#:獲取區塊大小指派值;及使用 該區塊大小指派值來判定該等兩鄰近值是否被細分。 該方法及裝置可進-步包括:若該等兩鄰近區塊未均被 細分,則判定該等兩鄰近區塊之一是否被細分;若該等兩 鄰近區塊之一被細分,則針對該等兩鄰近區塊之一或多個 邊緣像素使用第一解區塊濾波器;及若該等兩鄰近區塊均 未被細分’則針對該等兩鄰近區塊之一或多個邊緣像素使 用第二解區塊濾波器。 S亥方法及裝置可進一步包括:若該等兩鄰近區塊均未被 細分,則獲取該等兩鄰近區塊的一或多個邊緣像素之一或 多個差值;比較該一或多個差值與第二臨限值;及基於該 一或多個差值與該第二臨限值之比較選擇第二解區塊濾波 器。 獲取一或多個差值可包括獲取該等兩鄰近區塊之三個邊 緣像素之間的差值;及若該等差值中至少兩個大於該第二 臨限值’則選擇該第二區塊滤波器可包括使用高斯據波器 (Gaussian filter)。 【實施方式】 在使用基於區塊之離散余弦轉換(DCT)的壓縮系統中,資 料流被劃分爲像素區塊且被離散余弦轉換。因爲該轉換未 考慮區塊邊界之間的相關性,且因爲每一區塊是獨立編碼 的’所以該基於區塊之處理在區塊邊界之間引入了區塊假 像。 92036.doc 1373734 通常,在使用DCT的壓縮系統中,每一資料區塊之大小 係固定的。然而,動態影像壓縮技術能提供顯著的壓縮, 同時能利用編碼化DCT係數資料之自適應大小化區塊和子 區塊保存影像訊號的品質。該等技術稱爲可變區塊大小 DCT。題爲「自適應區塊大小影像壓縮方法及系統」的美 國專利第5,021,891號揭示一種可變區塊大小DCT的實例爲 該自適應區塊大小離散余弦轉換(ABSDCT)。題爲「自適應 區塊大小影像壓縮方法及系統」的美國專利第5,1〇7,345號 也揭不了 DCT技術,且題爲「自適應區塊大小影像壓縮方 法及系統」的美國專利第5,452,104號論述了組合了離散四 SS^KDiscrete Quadtree)轉換技術的ABSDCT技術之使用。 k擇該專自適應區塊大小以開發因一影像資料訊框中的資 訊而存在的冗餘(redundancy)。隨後將詳細描述AbSdc丁。 以下描述的實施例藉由提供一簡單且有效的,能容易地 在使用基於區塊之DCT的壓縮系統中實施的解區塊處理來 減 > 假像。該等實施例在可變區塊大小DCT中尤其有效。 在下列說明中,給出具體細節以提供對該等實施例的徹 底理解。然而,一般技術者瞭解可無需此等具體細節而實 踐該等實施例。舉例而言,可在方塊圖中展示電路以免在 不必要的細節上混淆該等實施例。在另一種情況下,可詳 細展示衆所熟知的電路、結構及技術以免混淆該等實施例。 應注意’可將該等實施例描述爲—處理.程序(pr〇cess), 該處理程序被福_爲流程圖表、流程圖、結構圖或方塊圖。 儘管流程圖表可能將該等操作描述爲_連續的處理程序, 92036.Uoc 1373734 然而多數該等操作可被並列或同時執行。此外,可 列該等操作之序列。當處理程序操作完成時,該處理程序 終止。處理程序(process)可對應於方法、函式、程序 (procedure)、例行子程式、子程式等。當處理程序對=於 函式時,其終止對應於該函式返回至調用函式或主函式。 圖1展示了一影像壓縮器100的實例,及圖2展示了與該影 像壓縮II1GG對稱的-影像解壓縮器的實例。影像壓縮 器1〇〇包括一可變區塊大小DCT(VBSDCT)模組u〇、_量化 模組120及一可變長度編碼(VLC)模組13〇。影像解壓縮器 200包括一可變長度解碼(VLD)模組21〇、一反向量化模組 220及一反向VBSDCT模組23〇。影像解壓縮器2〇〇進一步包 括一必要時過濾區塊邊緣之解區塊濾波器模組24〇及一用 以控制該解區塊渡波器模組2 4 0之處理器2 5 〇。 r 通常地,輸入影像壓縮器ι〇α之資料流由影像訊框組成。 一影像訊框可大致被分爲多個片段,一片段可被分爲多個 資料區塊及一資料區塊可被分爲多個像素,像素爲影像之 最小單元。每一影像訊框都包括整數個片段,且每—影像 片段代表一組η個連續掃描線(如16個連續掃摇線)之影像資 訊。在該種情況下’每一資料區塊對應於跨越訊框之影像 的16 X 16像素區塊。同樣,一訊框可被分爲偶及奇片段,藉 此形成偶半訊框及奇半訊框。此外’ 一影像像素通常能用 紅、綠及藍(RGB)色彩成份系統代表。然而,因爲人類的眼 睛對亮度之改變較敏感及對色度之改變較不敏感,所以 YCbCr色彩空間通常用在視訊壓縮中以代表影像像素。該 1373734 YCbCr色彩空間係RGB成份之線性轉換,其中γ係該色度成 伤,且Cb及Cr係該等色彩成份。若訊框被分爲偶/奇訊框, 則影像訊框將由對應於成份Y、Cb&Cr之三個偶半訊框與 三個奇半訊框組成。 在以上說明中,一片段能代表除16個連續掃描線以外的 一組連續掃描線。同樣,若該區塊能被細分,則該資料區 塊可爲nxm區塊,其中η不等同於出。此外,具有相同或不 同色彩成份數量之不同色彩空間可用於代表影像像素。然 而’以下將藉由1 6X 1 6像素之區塊大小及該YCbCr色彩空間 來進行闡釋。 回到圖i,VBSDCT模組110自空間域至頻域轉換數位元 影像資訊,且產生具有對應的區塊大小指派(BSA)資訊之 DCT係數。VBSDCT模組11〇依需要劃分及處理區塊及子區 塊中的數位元影像資訊。圖3展示了一種判定一區塊是否被 細分之處理程序300。在處理程序3〇〇中,獲取DCT區塊之 方差值(3 1 G)。接著將这方差值與爲該區塊之大小而設定的 臨限值tbs進行比較(320)。基於該方差值與該臨限值Tbs之 比較來判定該區塊是否被細分。即,若該方差值大於Tbs , 則該區塊被細分(33G及340)。㈣,該區塊未被細分(35〇)。 在此T針對一子區塊使用類似處理程序以判定該子區塊 是否被細分。在該種情況下’將該方差值與爲該子區塊之 大小而設定的臨限值進行比較。 若-區塊係被劃分的,則該BSA資訊指示一區塊係如何 被細分的。例如,該BSA資訊可指示_,ΐ6χΐ6區塊被細分爲 92036.doc -10· 1373734 四個8x8區塊(如圖4 A),或者一8x8區塊被細分爲四個4x4 區塊(如圖4B)。在其他系統中,該BSA資訊可能指示一 1 6 X 16區塊被細分爲四個8><8區塊(如圖4(:所示)。如圖所 示,基於該系統之組態及/或需要,圖4C中的一 8x8區塊被 細分爲四個4x4區塊,及進一步被細分爲四個2 χ2區塊(同樣 如圖4C所示)。量化模組120接著量化DCT係數,及VLC130 使用可變長度編碼技術來壓縮該等量化的DCT係數。 在影像解壓縮器2 00處,VLD模組210解壓已壓縮的影像 資訊;量化模組220反向量化該解壓的影像資訊;及反向 VBSDCT模組23 0使用該區塊大小指派資訊,自頻域至空間 域轉化該反向量化的影像資訊。如圖5所示,處理器2 5 0判 定該影像之兩區塊是否爲鄰近區塊。接著,處理器250基於 區塊邊緣活動量或忙碌量來判定該等兩鄰近區塊是否需要 解區塊。若認爲解區塊係必要的,則藉由解區塊濾波器模 ’’’且2 4 0來過渡該寻兩鄰近區塊之一或多個共同邊緣像素。接 著輸出後處理影像資訊及/或爲了顯示而儲存該後處理影 像資訊到顯示器。 圖6展示了一種用以處理使用基於區塊之壓縮來壓縮的 衫像之處理程序600。在處理程序6〇〇中,做出兩鄰近區塊 是否均被細分之判定(61〇ρ在此,可使用該BSA資訊判定 該等兩鄰近區塊是否被細分。若該等兩鄰近區塊未均被細 刀,則針對該等兩鄰近區塊之一或多個邊緣像素使用解區 塊濾波器(620)。 圖7展示了另一種用以處理使用基於區塊之壓縮來壓縮 92036 doc 1373734 在處理程序7〇〇中,做出兩鄰近區1373734 发明, INSTRUCTION DESCRIPTION: TECHNICAL FIELD OF THE INVENTION The present invention relates generally to data compression, and in particular to block-based compression systems. [Prior Art] Conversion coding is an ordinary image compression technique that divides an image into sub-images or blocks for processing. Because blocks are independently coded, block-based compression introduces artifacts between block boundaries. Therefore, this conversion does not take into account the correlation between block boundaries. Therefore, this technique typically results in a low bit rate image that is highly compressed but contains severely compressed artifacts such as blocking, oscillating, and motion smear. As a result, several post-blocking processing algorithms have been proposed to reduce and/or eliminate compression artifacts. However, most of them involve complex calculations and may cause a full blurring effect on the output shirt image. Other block filters do not effectively preserve edge information and are often more complex to implement in hardware. Therefore, a simpler and/or more efficient solution block processing is needed. SUMMARY OF THE INVENTION A method and apparatus for processing an image compressed using block-based compression may include: determining whether two blocks are adjacent blocks; determining whether the two adjacent blocks are subdivided; If the two adjacent blocks are not evenly subdivided, then deblock filtering is performed for one or more edge pixels of the two adjacent blocks. Determining whether two adjacent blocks are subdivided may include: obtaining a variance value of each of the two adjacent blocks; comparing the variance values with a first threshold, and based on the variances A comparison of the first threshold is used to determine 92036.doc 1373734 whether or not the two adjacent blocks are subdivided. Alternatively, it is determined whether both neighboring blocks are subdivided or not. #: Get the block size assignment value; and use the block size assignment value to determine whether the two neighboring values are subdivided. The method and apparatus may further include: if the two adjacent blocks are not subdivided, determining whether one of the two adjacent blocks is subdivided; if one of the two adjacent blocks is subdivided, One or more edge pixels of the two adjacent blocks use a first deblocking filter; and if the two adjacent blocks are not subdivided ', one or more edge pixels for the two adjacent blocks A second deblocking filter is used. The method and apparatus may further include: obtaining one or more difference values of one or more edge pixels of the two adjacent blocks if the two adjacent blocks are not subdivided; comparing the one or more a difference value and a second threshold value; and selecting a second deblocking filter based on the comparison of the one or more difference values to the second threshold value. Obtaining one or more difference values may include obtaining a difference between three edge pixels of the two adjacent blocks; and selecting the second if at least two of the difference values are greater than the second threshold value The block filter can include the use of a Gaussian filter. [Embodiment] In a compression system using block-based discrete cosine transform (DCT), a data stream is divided into pixel blocks and converted by discrete cosine. Since the conversion does not take into account the correlation between block boundaries, and because each block is independently coded, the block-based process introduces block artifacts between block boundaries. 92036.doc 1373734 Generally, in a compression system using DCT, the size of each data block is fixed. However, motion picture compression techniques can provide significant compression while at the same time utilizing adaptively sized blocks and sub-blocks of coded DCT coefficient data to preserve the quality of the video signal. These techniques are referred to as variable block size DCTs. An example of a variable block size DCT is the adaptive block size discrete cosine transform (ABSDCT), which is disclosed in U.S. Patent No. 5,021,891, the entire disclosure of which is incorporated herein by reference. U.S. Patent No. 5,1,7,345, entitled "Adaptive Block Size Image Compression Method and System", also discloses DCT technology, and U.S. Patent No. 5,452 entitled "Adaptive Block Size Image Compression Method and System" , No. 104 discusses the use of ABSDCT technology combined with discrete four SS^KDiscrete Quadtree) conversion techniques. k Select the adaptive block size to develop redundancy due to the information in an image data frame. AbSdc Ding will be described in detail later. The embodiments described below reduce > artifacts by providing a simple and efficient deblocking process that can be easily implemented in a block-based DCT-based compression system. These embodiments are particularly effective in variable block size DCT. In the following description, specific details are set forth to provide a thorough understanding of the embodiments. However, it will be apparent to those skilled in the art that the embodiments may be practiced without the specific details. For example, circuits may be shown in block diagrams in order to avoid obscuring the embodiments in unnecessary detail. In other instances, well-known circuits, structures, and techniques may be shown in detail to avoid obscuring the embodiments. It should be noted that the embodiments may be described as a process. The process is a flowchart, a flowchart, a block diagram, or a block diagram. Although the flowchart table may describe such operations as a contiguous handler, 92036. Uoc 1373734, however, most of these operations may be performed side by side or simultaneously. In addition, a sequence of such operations can be listed. The handler terminates when the handler operation completes. A process can correspond to a method, a function, a procedure, a routine subroutine, a subroutine, and the like. When the handler pairs the = function, its termination corresponds to the return of the function to the calling or main function. Figure 1 shows an example of an image compressor 100, and Figure 2 shows an example of an image decompressor symmetrical with the image compression II1GG. The image compressor 1 includes a variable block size DCT (VBSDCT) module u, a quantization module 120, and a variable length coding (VLC) module 13A. The image decompressor 200 includes a variable length decoding (VLD) module 21, an inverse quantization module 220, and a reverse VBSDCT module 23A. The image decompressor 2 further includes a deblocking filter module 24 for filtering the edge of the block if necessary, and a processor 2 5 for controlling the deblocking block module 220. r Normally, the data stream of the input image compressor 〇α consists of image frames. An image frame can be roughly divided into a plurality of segments, a segment can be divided into a plurality of data blocks and a data block can be divided into a plurality of pixels, and the pixels are the smallest unit of the image. Each image frame includes an integer number of segments, and each image segment represents image information of a set of n consecutive scan lines (e.g., 16 consecutive scan lines). In this case, each data block corresponds to a 16 x 16 pixel block of the image across the frame. Similarly, a frame can be divided into even and odd segments, thereby forming an even frame and an odd frame. In addition, an image pixel can usually be represented by a red, green, and blue (RGB) color component system. However, because human eyes are more sensitive to changes in brightness and less sensitive to changes in chromaticity, the YCbCr color space is often used in video compression to represent image pixels. The 1373734 YCbCr color space is a linear conversion of RGB components, wherein gamma is the chromaticity damage, and Cb and Cr are the color components. If the frame is divided into even/odd frames, the frame will consist of three even frames and three odd frames corresponding to the components Y, Cb & Cr. In the above description, a segment can represent a group of consecutive scan lines other than 16 consecutive scan lines. Similarly, if the block can be subdivided, the data block can be an nxm block, where η is not equivalent to the output. In addition, different color spaces having the same or different number of color components can be used to represent image pixels. However, the following will be explained by the block size of 16×16 pixels and the YCbCr color space. Returning to Figure i, the VBSDCT module 110 converts the digital image information from the spatial domain to the frequency domain and produces DCT coefficients with corresponding block size assignment (BSA) information. The VBSDCT module 11 divides and processes the digital image information in the block and sub-blocks as needed. Figure 3 illustrates a process 300 for determining if a block is subdivided. In the processing procedure 3, the variance value (3 1 G) of the DCT block is obtained. This variance value is then compared (320) to the threshold tbs set for the size of the block. Whether the block is subdivided is determined based on the comparison of the variance value with the threshold value Tbs. That is, if the variance value is greater than Tbs, the block is subdivided (33G and 340). (d) The block is not subdivided (35〇). Here, T uses a similar handler for a sub-block to determine if the sub-block is subdivided. In this case, the variance value is compared to the threshold value set for the size of the sub-block. If the block is divided, the BSA information indicates how a block is subdivided. For example, the BSA information may indicate _, ΐ6χΐ6 blocks are subdivided into 92036.doc -10· 1373734 four 8x8 blocks (as shown in Figure 4A), or an 8x8 block is subdivided into four 4x4 blocks (as shown in Figure 4B). In other systems, the BSA information may indicate that a 16 6 16 block is subdivided into four 8><8 blocks (as shown in Figure 4 (:). As shown, based on the configuration of the system And/or need, an 8x8 block in Figure 4C is subdivided into four 4x4 blocks, and further subdivided into four 2 χ 2 blocks (also shown in Figure 4C). Quantization module 120 then quantizes the DCT coefficients. And the VLC 130 compresses the quantized DCT coefficients using a variable length coding technique. At the image decompressor 200, the VLD module 210 decompresses the compressed image information; the quantization module 220 inversely quantizes the decompressed image information. And the reverse VBSDCT module 230 uses the block size assignment information to convert the inverse quantized image information from the frequency domain to the spatial domain. As shown in FIG. 5, the processor 250 determines two blocks of the image. Whether it is a neighboring block. Next, the processor 250 determines whether the two neighboring blocks need to be deblocked based on the block edge activity amount or the busy amount. If the solution block is considered necessary, the solution block is solved. Filter mode ''' and 240 to transition one or more of the two adjacent blocks The same edge pixel. The output post-processing image information and/or the post-processing image information is stored to the display for display. Figure 6 illustrates a process 600 for processing a shirt image compressed using block-based compression. In the processing procedure, a determination is made as to whether both adjacent blocks are subdivided (61〇ρ here, the BSA information can be used to determine whether the two adjacent blocks are subdivided. If the two adjacent blocks are not Both are fine-knife, and a deblocking filter (620) is used for one or more of the two neighboring blocks. Figure 7 shows another method for processing the use of block-based compression to compress 92036 doc 1373734 In the processing program 7〇〇, make two adjacent areas

&等兩郴近區塊均未被細分,則針對該等兩鄰近區塊之一 或多個像素使用第二解區塊濾波器。 的影像之處理程序7〇〇。在肩 塊疋否均被細分的判定(7 1 〇) 、細分,則不#田站 更特疋5之,獲取該等兩鄰近區塊之一或多個對應邊緣 像素之間的差值(740)。差值代表跨區塊邊界之方差,且可 使用各種技術獲得及/或導出該差值。可獲取兩鄰近區塊之 兩個對應邊緣像素之間的簡單一階差值。在其他實施例 了獲取或使用一階差值。比較.該一或多個差值與臨限 值丁 d(7 5 0)。基於該一或多個差值與該臨限值丁〇之比較來選 擇該第二解區塊濾波器(760)。 该臨限值TD大致取決於亮度,且可對不同系統及/或影像 之不同類型提前設定臨限值。在一實施例中,該等兩鄰近 區塊之中值的平均值可用作臨限值Td。或者,該臨限值τ〇 可爲該等兩鄰近區塊之中值之差。也可藉由一比例因數α 表優化該臨限值丁D以處理影像之強度變化,該比例因數α 與以下定義之對比率成比例,其中μ。係當前區塊之中值及μ。 92〇36.d〇c -12- 1373734 係S有用於獲取該等差值的邊緣像素的區塊之中值。 α = (\με- μ〇\)/μ〇 α值之範圍係自〇至1。 此外,在一實施例中,獲取及與臨限值Td比較該等兩鄰 近區塊之三個邊緣像素之間的差值。若該等差值中的至少 兩個大於TD,則選擇高斯濾波器。即,若該等三個差值中 的三個都大於TD ,則針對該等兩鄰近區塊之六個邊緣像素 使用六點高斯濾波器。若該等三個差值中的兩個大於Td, 則針對該等兩鄰近區塊之四個邊緣像素使用四點高斯濾波 益。若該等三個差值之一大於TD,則針對該等兩鄰近區塊 之兩個邊緣像素使用平均濾波器。 回到圖2,處理器250能因此判定是否需要解區塊。如前 所述’處理器250也能根據該等鄰近區塊之特徵來選擇(在 系統允許下)不同的解區塊渡波器。因此,解區塊遽波器模 組240可包括一或多種類型的濾波器’諸如(但不限於)平均 濾波器及/或高斯濾波器。 此外,如上所述,可藉由ABSDCT實施VBSDCT模組110。 接著將使用16x16像素之區塊大小來描述使用ABSDCT之 壓縮技術。大致上,亮度及色度成份都被傳遞至區塊交錯 器(未圖示)。在一實施例中,如圖8A至8D所示,提供一 16x16 區塊給區塊交錯器’其排序1 6 X 16區塊中的影像樣品以産生 區塊及合成用於DCT分析之資料的子區塊。將一 1 6x16 DCT 應用於一第一排序,四個8x8 DCT應用於一第二排序,16 個4x4 DCT應用於一第三排序’及64個2x2 DCT應用於一第 92036.doc -13 - 1373734 四排序。該DCT操作減少該影像源内部之空間冗餘。執行 該DCT後’大部分影像訊號能力傾向於集中於幾個dct係 數中。 就16 X 16區塊及每一子區塊來說,分析該等經轉換係數以 判定編碼該區塊或子區塊所需之位元的數目。接著,選出 編碼所需最少位元數目的該區塊或子區塊之組合以代表該 影像區段。例如,可選出兩個8 X 8子區塊、六個4 X 4子區塊 及八個2x2子區塊以代表該影像區段》接著適當地按序排列 選出的區塊或子區塊之組合。 分析該等經轉換係數並選擇該區塊或子區塊之組合以代 表該影像區段。因此,産生了在ηχη區塊中代表該區塊大小 指派之區塊大小指派資訊。就16 X 16資料區塊來說, ABSDCT技術產生了被稱爲代表該16x16區塊中的區塊大 小指派之PQR資訊的資料。該PQR資訊係可變位元寬度資 料’且福述了 16 X 16區塊可被細分到什麼程度。該PQR攔位 之R位元代表了該16x16區塊是否被細分爲四個8><8區塊。如 圖9Α所示,若該R位元爲"〇·,,則該區塊仍然完整。在此種 情況下,不需要進一步的PQR資訊,且該Pqr欄位僅有1位 元長。若該R位元爲"1 ",則該16 X 16區塊被細分爲四個8 X 8 區塊(如圖9Β所示)’且在該PQR欄位中將存在至少四個額外 位元。 額外的四個位元被稱作nQ"資訊。每一 Q位元表示8x8區塊 細刀爲四個4><4區塊。就每一設定的Q位元來說,存在四個 更夕的P位元以指不該專4x4區塊之任一區塊是否被細分爲 92036.doc -14· 1373734 2x2。相應地,視該16x16區塊中的區塊大小指派而定,PQR 資料的長度可爲1至21位元長。若每一 區塊被細分,則 該PQR資訊將爲21位元長。圖10A-D展示了對應於PQR資料 的1 6 X 1 6區塊之若干實例。 相應地,視指派標準而定,每一區塊可被細分爲大小爲 8x8、4x4及2x2的子區塊。細分ηχη區塊之標準係如下的區 塊方差: /V-l i 1 Ν-\ Ν-\ ~ΣΣχ(^η) ⑽ce(區塊方差 m=〇 n=0 /71=0 n=0 若ηχη區塊之方差超過特定的臨限值,則像素之ηχη區塊 應被細分爲4個η/2 χη/2子區塊。在此,對於1 〇位元影像,該 區塊中值可在範圍(0,1023)中。因此,該影像被分爲12個 倉(bin),且一組臨限值用於每一色彩成份之每一倉(bin)。 同樣’基於自許多不同類型的影像訊框所收集的統計可確 定該等臨限值。圖12A-C展示了一種典型的臨限值設定。 圖11例示了 一用以產生該所示的16χ16區塊之PQR資訊 之實例處理程序1100。就每一區塊來說,獲取該中值及方 差乂,6^ 1〇〇)。比較該方差Vl0與該對應中值之適當臨限值 τ 16( 111 5)。若該方差V!6不大於臨限值Ti6,則將該PQR資料 之R值设定爲0及該處理程序終止(112〇)。·否則,將該r值設 疋爲1(1125)。接著獲取如圖9B所示之四個8x8子區塊〇至3 之每一子區塊的方差Vs(i),{丨=1至4丨,且比較每一方差%⑴ 與該適當臨限值Τα以判定該Pqr資料之q值(113〇至 1140)。若方差Vs(i)不大於臨限值Τ8,則將對應設定爲 0(1145)。否則,將該Q⑴值設定爲i(U5〇)。接著獲得Q⑴ 92036.doc -15- 1373734 設定爲1的每一 8x8區塊之四個4x4子區塊之每一子區塊的 方差V4(j),{j = l至4},且比較每一方差%⑴與該適當臨限值 T4以判定該PQR資料之p值(1155至1165)。若方差%⑴不大 於臨限值A,則將該對應Q⑴設定爲0(117〇^否則,將該 Q(j)設定爲 1(1175)。 因此’可産生該PQR資訊並將該PqR資訊用於在影像解壓 縮器(如影像解壓縮器200)中解區塊。該pqR資訊用於判定 影像中的邊緣内容。區塊中的邊緣資訊越多,區塊大小就 越小及PQR編碼就越長。圖14展示了用於處理使用ABSDCT 壓縮的影像之一實例處理程序1400,及圖IS展示了在處理 程序1400中使用的變量定義。 當判定是否對兩鄰近區塊使用解區塊濾波器時,獲取每 一區塊之PQR資訊(1410)。若兩個PQR位元均大於5位元 (1 4 1 5) ’則該處理程序終止。即,判定兩區塊均被細分,且 認爲其含有足夠的邊緣資訊。否則,若該等PQR位元之一 大於5位元’則針對{xl,使用兩點平均濾波器(142〇及 1425)。若PQR位元均未大於5位元,則獲得差值dl、们及 d3(1430)。若dl、d2及d3大於臨限值TD,則針對{χΐ,χ2, x3, y1,y2,y3}使用6點高斯濾波器(1435及1440)。若dl及d2大 於臨限值TD ’則針對{x 1,X2,y 1,y2}使用4點高斯濾波器 (1445及1450)。若dl大於臨限值TD,則針對{χΐ,yl}使用兩 點平均渡波器(1 455及1460)。 在處理程序1400中,該實施例不限於平均濾波器及/或高 斯渡波器。可使用不同於平均濾波器及/或高斯濾波器之各 92036.doc -16- 叫3734 種濾波器。 如所不’可在解壓縮器中容易地實施解區塊濾波器模 組=應地’可顯著減少假像,且改良影像中的視覺品質: 應注意,雖然所示的解區塊濾波器模組24〇爲獨立於反向 彻DCT模組23G與處理器25〇而實施的但是解區塊遽波 器模組24〇、反向VBSDCT模組23〇與處理器wo之任意組合 可一起實施。 同樣,可藉由硬體、軟體、動體、中間件、微碼或其任 意:合來實施該等實施例。當以軟體、韌體、巾間件或微 碼實施時,該實施例之元件爲程式碼或程式碼區段以執行 必要工作,該等必要工作可儲存在機器可讀媒體中(未圖 不)。程式碼區段可代表程序、函式、子程式程式、例行 程式、例行子程式、模組、軟體套件、類別及指令、資料 锆構或程式内容之任意組合。藉由傳遞及/或接收資訊、資 料、引數(argument)、參數、或記憶體内容,程式碼區段可 耦合於另一程式碼區段或硬體電路。可經由任一適當手 又匕括3己憶體共用、讯息傳遞、記號傳遞、網路傳輸等 來傳遞、轉遞或傳輸資訊、引數、參數、資料等。同樣, 該機器可讀媒體可實施於用於電腦系統之製造品中,並可 包含具體化於其中的機器可讀程式碼構件。 另外,儘管描述的實施例爲使用可變區塊大*DCT,但 如上述之解區塊技術能在具有固定區塊大小的DCT中實 施。在該種情況下,將産生BSA資訊,但是BSA資訊不用於 貫際的DCT。貫情爲,該BSA資訊將用在影像解壓縮器處 92036.doc 17 1373734 以判定對兩鄰近區塊來說解區塊是否爲必需的。 應注意,前述的實施例僅僅爲實例,衫限制本發明。 該等實施例之說明只爲說明性的’並不限”請專利範圍 的範疇。同樣的,本教示能容易的應用於其他類型裝置, 且熟悉此項技術者將明瞭多種替代型、改變型及變型。 【圖式簡單說明】 參照下列圖式詳細描述了多個實施例,圖式中相同參考 數字代表相同元件,其中: 圖1爲影像壓縮器之一實例; 圖2爲影像解壓縮器之一實例; 圖3展示了判定一區塊是否被細分的一實例處理程序; 圖4 A至圖4 D展示了區塊細分之實例; 圖5展示了一影像中兩鄰近區塊之實例; 圖6展示了判定是否使用解區塊濾波器的一實例處理程 序; 圖7展示了判定是否使用解區塊濾波器的另一實例處理 程序; 圖8A至圖8D展示了一 16x16區塊ABSDCT的序列; 圖9A和圖9B展示了區塊大小指派資料的實例; 圖1 Ο A和圖10D展示了區塊大小指派資料的更多實例; 圖11展示了産生ABSDCT區塊大小指派資料的一實例處 理程序; 圖12係展示該差異方差臨限值之表格; 圖13展示了若干變量定義;及 92036.doc -18- 1373734 圖14展示了判定在使用ABSDCT的系統中是否使用解區 塊濾波器之一實例處理程序。 【圖式代表符號說明】If both adjacent blocks are not subdivided, a second deblocking filter is used for one or more of the two adjacent blocks. The processing of the image is 7〇〇. In the determination that the shoulder block is subdivided (7 1 〇), subdivision, then #田站更特疋5, obtain the difference between one or more corresponding edge pixels of the two adjacent blocks ( 740). The difference represents the variance across the block boundaries and can be obtained and/or derived using various techniques. A simple first-order difference between two corresponding edge pixels of two adjacent blocks can be obtained. In other embodiments, a first order difference is obtained or used. Compare. The one or more differences and the threshold value d (7 5 0). The second deblocking filter (760) is selected based on the comparison of the one or more differences to the threshold. The threshold TD is substantially dependent on the brightness and the threshold can be set in advance for different types of different systems and/or images. In an embodiment, the average of the values of the two adjacent blocks may be used as the threshold Td. Alternatively, the threshold τ 〇 may be the difference between the values of the two adjacent blocks. The threshold D can also be optimized by a scale factor α table to process the intensity variation of the image, which is proportional to the contrast ratio defined below, where μ. Is the value of the current block and μ. 92〇36.d〇c -12- 1373734 is the value of the block in which the edge pixels of the difference values are obtained. The range of α = (\με- μ〇\)/μ〇 α is from 〇 to 1. Moreover, in an embodiment, the difference between the three edge pixels of the two adjacent blocks is obtained and compared to the threshold Td. If at least two of the differences are greater than TD, a Gaussian filter is selected. That is, if three of the three differences are greater than TD, a six-point Gaussian filter is used for the six edge pixels of the two adjacent blocks. If two of the three differences are greater than Td, four-point Gaussian filtering is used for the four edge pixels of the two neighboring blocks. If one of the three differences is greater than TD, an averaging filter is used for the two edge pixels of the two adjacent blocks. Returning to Figure 2, the processor 250 can therefore determine if a deblock is needed. The processor 250, as previously described, can also select (with the system permission) different deblocking ferrites based on the characteristics of the neighboring blocks. Thus, the deblocking chopper module 240 can include one or more types of filters such as, but not limited to, averaging filters and/or Gaussian filters. Furthermore, as described above, the VBSDCT module 110 can be implemented by ABSDCT. The block size of 16x16 pixels will then be used to describe the compression technique using ABSDCT. In general, both luminance and chrominance components are passed to the block interleaver (not shown). In one embodiment, as shown in Figures 8A through 8D, a 16x16 block is provided for the block interleaver 'which sorts the image samples in the 16 6 16 block to generate blocks and synthesize data for DCT analysis. Subblock. Applying a 16x16 DCT to a first order, four 8x8 DCTs to a second sort, 16 4x4 DCTs to a third sort 'and 64 2x2 DCTs to a 92036.doc -13 - 1373734 Four sorts. This DCT operation reduces spatial redundancy within the image source. After performing this DCT, most of the image signal capabilities tend to be concentrated in several dct coefficients. For 16 X 16 blocks and each sub-block, the transformed coefficients are analyzed to determine the number of bits needed to encode the block or sub-block. Next, a combination of the blocks or sub-blocks encoding the minimum number of bits required to encode is selected to represent the image segment. For example, two 8 X 8 sub-blocks, six 4×4 sub-blocks, and eight 2×4 sub-blocks may be selected to represent the image segment. Then, the selected block or sub-block is appropriately arranged. combination. The transformed coefficients are analyzed and a combination of the blocks or sub-blocks is selected to represent the image segment. Therefore, block size assignment information representing the block size assignment in the nχη block is generated. For the 16 X 16 data block, the ABSDCT technique produces data known as PQR information representing the block size assignments in the 16x16 block. The PQR information is a variable bit width information' and it is said to what extent the 16 X 16 block can be subdivided. The R bit of the PQR block represents whether the 16x16 block is subdivided into four 8><8 blocks. As shown in Figure 9, if the R bit is "〇·, then the block is still intact. In this case, no further PQR information is required and the Pqr field is only 1 bit long. If the R bit is "1 ", the 16 X 16 block is subdivided into four 8 X 8 blocks (as shown in Figure 9A) and there will be at least four extras in the PQR field. Bit. The extra four bits are called nQ" information. Each Q bit represents an 8x8 block. The fine knife is four 4><4 blocks. For each set of Q bits, there are four more P-bits to indicate whether any block of the dedicated 4x4 block is subdivided into 92036.doc -14· 1373734 2x2. Accordingly, depending on the block size assignment in the 16x16 block, the length of the PQR data can be from 1 to 21 bits long. If each block is subdivided, the PQR information will be 21 bits long. Figures 10A-D show several examples of 16 6 16 blocks corresponding to PQR data. Accordingly, depending on the assignment criteria, each block can be subdivided into sub-blocks of size 8x8, 4x4, and 2x2. The standard of the subdivided ηχη block is the following block variance: /Vl i 1 Ν-\ Ν-\ ~ΣΣχ(^η) (10)ce (block variance m=〇n=0 /71=0 n=0 if ηχη区If the variance of the block exceeds a certain threshold, the ηχη block of the pixel should be subdivided into four η/2 χη/2 sub-blocks. Here, for a 1-bit image, the median value of the block can be in the range. (0,1023). Therefore, the image is divided into 12 bins, and a set of thresholds is used for each bin of each color component. Also 'based on many different types of images The statistics collected by the frame determine these thresholds. Figures 12A-C show a typical threshold setting. Figure 11 illustrates an example handler for generating the PQR information for the 16 16 blocks shown. 1100. For each block, obtain the median and variance 乂, 6^ 1〇〇). The variance Vl0 is compared to the appropriate threshold τ 16 (111 5) of the corresponding median. If the variance V!6 is not greater than the threshold Ti6, the R value of the PQR data is set to 0 and the processing is terminated (112 〇). • Otherwise, set the r value to 1 (1125). Then, the variance Vs(i) of each of the four 8x8 sub-blocks 〇 to 3 as shown in FIG. 9B is obtained, {丨=1 to 4丨, and each variance %(1) is compared with the appropriate threshold. The value Τα is used to determine the q value (113〇 to 1140) of the Pqr data. If the variance Vs(i) is not greater than the threshold Τ8, the correspondence is set to 0 (1145). Otherwise, set the Q(1) value to i(U5〇). Then obtain the variance V4(j) of each sub-block of each of the four 4x4 sub-blocks of each 8x8 block set to 1 by Q(1) 92036.doc -15- 1373734, {j = l to 4}, and compare each One side difference % (1) and the appropriate threshold value T4 are used to determine the p value (1155 to 1165) of the PQR data. If the variance %(1) is not greater than the threshold A, the corresponding Q(1) is set to 0 (117〇^ otherwise, the Q(j) is set to 1 (1175). Therefore, the PQR information can be generated and the PqR information can be generated. It is used to solve the block in the image decompressor (such as image decompressor 200.) The pqR information is used to determine the edge content in the image. The more edge information in the block, the smaller the block size and the PQR code. The longer it is, Figure 14 shows an example handler 1400 for processing images compressed using ABSDCT, and Figure IS shows the variable definitions used in handler 1400. When determining whether to use deblocking for two neighboring blocks When the filter is used, the PQR information of each block is obtained (1410). If both PQR bits are greater than 5 bits (1 4 1 5) ' then the processing is terminated. That is, it is determined that both blocks are subdivided. And think that it contains enough edge information. Otherwise, if one of the PQR bits is greater than 5 bits, then for the {xl, use two-point averaging filters (142〇 and 1425). If the PQR bits are not greater than 5 bits, the difference dl, and d3 (1430) are obtained. If dl, d2 and d3 are greater than the threshold TD, then Use a 6-point Gaussian filter (1435 and 1440) for {χΐ, χ2, x3, y1, y2, y3}. If dl and d2 are greater than the threshold TD ', use for {x 1,X2,y 1,y2} 4-point Gaussian filter (1445 and 1450). If dl is greater than threshold TD, a two-point average ferrite (1 455 and 1460) is used for {χΐ, yl}. In process 1400, this embodiment is not limited Average filter and/or Gaussian waver. Each of the 92036.doc -16- 3734 filters different from the average filter and / or Gaussian filter can be used. If not, it can be easily implemented in the decompressor. The deblocking filter module = should be 'can significantly reduce artifacts and improve the visual quality in the image: It should be noted that although the deblocking filter module 24 shown is independent of the reverse DCT module The combination of the 23G and the processor 25 but the deblocking chopper module 24〇, the reverse VBSDCT module 23〇 and the processor wo can be implemented together. Similarly, it can be implemented by hardware, software, and motion. Body, middleware, microcode or any of the following: these embodiments are implemented together. When implemented in software, firmware, towel or microcode, The components of the embodiments are code or code segments to perform the necessary operations, which may be stored in a machine readable medium (not shown). The code segments may represent programs, functions, subprograms, Any combination of routines, routines, modules, software suites, categories and instructions, data structures, or program content. By passing and/or receiving information, materials, arguments, parameters, or memories The body code, the code segment can be coupled to another code segment or a hardware circuit. Information, arguments, parameters, data, etc. can be transmitted, transmitted or transmitted via any appropriate hand, including 3 shared memory, message passing, token passing, network transmission, and the like. Likewise, the machine readable medium can be implemented in an article of manufacture for use in a computer system and can include machine readable code means embodied therein. Additionally, although the described embodiment uses variable block large *DCT, the deblocking technique as described above can be implemented in a DCT having a fixed block size. In this case, BSA information will be generated, but the BSA information will not be used for the continuous DCT. As a matter of fact, the BSA information will be used at the image decompressor 92036.doc 17 1373734 to determine if it is necessary to resolve the block for two adjacent blocks. It should be noted that the foregoing embodiments are merely examples, and the shirts limit the invention. The description of the embodiments is merely illustrative and not limited to the scope of the patent scope. Similarly, the teachings can be readily applied to other types of devices, and those skilled in the art will recognize a variety of alternative and alternative types. BRIEF DESCRIPTION OF THE DRAWINGS [Brief Description of the Drawings] Various embodiments are described in detail with reference to the drawings in which the same reference numerals represent the same elements, in which: Figure 1 is an example of an image compressor; Figure 2 is an image decompressor An example; FIG. 3 shows an example process for determining whether a block is subdivided; FIG. 4A to FIG. 4D show an example of block subdivision; FIG. 5 shows an example of two adjacent blocks in an image; Figure 6 illustrates an example process for determining whether to use a deblocking filter; Figure 7 illustrates another example process for determining whether to use a deblocking filter; Figures 8A-8D illustrate a 16x16 block ABSDCT Sequences; Figures 9A and 9B show examples of block size assignment data; Figure 1 Ο A and Figure 10D show more examples of block size assignment data; Figure 11 shows the generation of ABSDCT block size assignments An example processing procedure for the material; Figure 12 is a table showing the difference variance threshold; Figure 13 shows several variable definitions; and 92036.doc -18- 1373734 Figure 14 shows whether the solution is used in a system using ABSDCT An instance handler for the block filter. [Graphic representation symbol description]

110 VBSDCT 模組 120 量化模組 130 VLC模組 210 VLD模組 220 反向量化模組 230 反向VBSDCT模組 240 解區塊濾波器模組 250 處理器110 VBSDCT Module 120 Quantization Module 130 VLC Module 210 VLD Module 220 Inverse Quantization Module 230 Reverse VBSDCT Module 240 Deblocking Filter Module 250 Processor

92036.doc -19-92036.doc -19-

Claims (1)

% % 8曰修正本 1^73734 拾、申請專利範圍: 第093107090號專利申請案 中文_請專利範圍替換本(101年5月) -種用於處理#用基於區塊之壓縮所壓縮的影像之方 法,包含: 使用一處理器或電腦以執行以下步驟: 判定像素之兩區塊是否爲鄰近區塊; 若判定該等兩區塊爲鄰近區塊,則判定該等兩鄰近區 塊是否均被細分; ★在判定該等兩鄰近區塊之至少一者未被細分後,對該 等兩鄰近區塊之-或多個邊緣像素執行解區塊渡波; 若該等兩鄰近區塊之僅一者被細分,則對該等兩鄰近 區塊之一或多個邊緣像素使用一第一解區塊濾波器; 若該等兩鄰近區塊均未被細分,則獲取該等兩鄰近區 塊的一或多個邊緣像素之一或多個差值; 比較该一或多個差值與一第二臨限值; 基於遠一或多個差值與該第二臨限值之比較來選擇一 第二解區塊濾波器;及 若該等兩鄰近區塊均未被細分,則對該等兩鄰近區塊 之一或多個邊緣像素使用該第二解區塊濾波器。 2.如申明專利範圍第丨項之方法,其中判定兩鄰近區塊是否 均被細分包括: 獲取該等兩鄰近區塊之每一區塊的方差值; 比較該等方差值與一第一臨限值;及 基於》亥等方差值與該第一臨限值之比較來判定該等兩 鄰近區塊是否均被細分。 92036-l010511.doc 1373734 3_如申請專利範圍第1項之方法,其中判定兩鄰近區塊是否 均被細分包括: 獲取一區塊大小指派值;及 使用該區塊大小指派值以判定該等兩鄰近值是否被細 分。 4. 如申請專利範圍第1項之方法,其中使用該第二解區塊濾 波器包括: 對該等兩鄰近區塊之兩個邊緣像素使用一兩點平均滤 波器。 5. 如申請專利範圍第丄項之方法,其中該獲取一或多個差值 包括: 獲取該等兩鄰近區塊之邊緣像素之間的一一階差值。 6. 如申請專利範圍第丨項之方法,其中該獲取一或多個差值 包括: 獲取該等兩鄰近區塊之邊緣像素之間的一二階差值。 7. 如申請專利範圍第1項之方法,其中獲取一或多個差值包 括: 獲取該等兩鄰近區塊之三個邊緣像素之間的差值;及 其中選擇該第二解區塊濾波器包括: 若該等差值之至少兩者大於該第二臨限值,則使用一 高斯濾波器。 8. 如申請專利範圍第7項之方法,其中使用一高斯濾波器包 括: 若該等差值大於該第二臨限值,則對該等雨鄰近區塊 92036-1010511.doc 之,、個邊緣像素使用一六點高斯濾波器。 9.如申請專利範圍第7項之方法,其中使用一高斯遽波器包 括: 若》亥等差值之兩者大於該第二臨限值,則對該等兩鄰 近區塊之四個邊緣像素使用一四點高斯濾波器。 10·如申請專利範圍第7項之方法,其中選擇該第二解區塊遽 波器進一步包括: 若該等差值之一者大於該第二臨限值,則對該等兩鄰 近區塊之兩個邊緣像素使用一平均濾波器。 11. 一種用於處理使用基於區塊之壓縮所壓縮的影像之裝 置,包括: 用於判定像素之兩區塊是否爲鄰近區塊之構件; 用於若判定該等兩區塊爲鄰近區塊,則判定該等兩鄰 近區塊是否均被細分之構件; 用於在判定該等兩鄰近區塊之至少一者未被細分後, 對該等兩鄰近區塊之一或多個邊緣像素濾波之構件; 用於若該等兩鄰近區塊之僅一者被細分,則對該等兩 鄰近區塊之一或多個邊緣像素使用一第一解區塊濾波器 之構件; U 用於若該等兩鄰近區塊均未被細分,則獲取該等兩鄰 近區塊的一或多個邊緣像素之一或多個差值之構件; 用於比較該一或多個差值與一第二臨限值之構件; 用於基於該一或多個差值與該第二臨限值之比較來選 擇一第二解區塊濾波器之構件;及 92036-10丨 05 丨丨.doc 1373734 用於若該等兩鄰近區塊均未被細分,則對該等兩鄰近 區塊之一或多個邊緣像素使用該第二解區塊濾波器之構 件, 其中該裝置係一硬體裝置。 12. 如申請專利範圍第11項之裝置,其中該用於判定兩鄰近 區塊是否均被細分之構件包括: 用於獲取該等兩鄰近區塊之每一的方差值之構件; 用於比較該等方差值與一第一臨限值之構件;及 用於基於該等方差值與該第一臨限值之比較,來判定 該等兩鄰近區塊是否均被細分之構件。 13. 如申請專利範圍第&quot;項之裝置,其中該用於判定兩鄰近 區塊是否均被細分之構件包括: 用於獲取一區塊大小指派值之構件;及 用於使用該區塊大小指派值以判定該等兩鄰近值是否 被細分之構件。 14. 如申請專利範圍第丨丨項之裝置,其中該用於獲取一或多 個差值之構件包括: 用於獲取該等兩鄰近區塊之三個邊緣冑素之間的差值 之構件;及 其中該用於選擇該第二解區塊濾波器之構件包括: 用於若。亥等差值之至少兩者大於該第二臨限值,則使 用一高斯濾波器之構件。 15. 如申明專利範圍第14項之裝置’纟中該用於使用一高斯 濾波器之構件包括: 92036-1010511.doc 1373734 。用於右該等差值大於該第二臨限值,則對該等兩鄰近 區塊之六個邊緣像素使用一六點高斯遽波器之構件。 16.如申請專利範圍第14項之裝置,其_該用於使用一高斯 遽'波器之構件包括: 用於若該等差值之兩者大於該第二臨限值,則對該等 兩鄰近區塊之四個邊緣像素使用一四點高斯據波器:構 件。 如申請專利範圍第14項之裝置,其中該用於選擇該第二 解區塊濾波器之構件進一步包括: 用於若該等差值之一者大於該第二臨限值,則對該等 兩鄰近區塊之兩個邊緣像素使用一平均濾波器之構件。 18· —種處理使用基於區塊之壓縮所壓縮的影像之裝置,其 包括: ^ 一處理器’其被組態以判定像素之兩區塊是否爲鄰近 區塊,且若判定該等兩鄰近區塊爲鄰近區塊,則判定該 等兩鄰近區塊是否被細分; 一第一解區塊濾波器,其被組態以在判定該等兩鄰近 區塊的僅一者被細分後’則對該等兩鄰近區塊之—或多 個邊緣像素濾波;及 一第二解區塊濾波器,其被組態以在判定該等兩鄰近 區塊均未被細分後,則對該等兩鄰近區塊之一或多個邊 緣像素遽波, 其中s玄處理器亦被組態以獲取該等兩鄰近區塊的一或 多個邊緣像素之一或多個差值;若該等兩鄰近區塊均未 92036-l0I0511.doc 1373734 被細分,則比較該—或多個差值與一第二臨限值丨及基 於該或多個差值與該第二臨限值之比較來選擇該第二 解區塊濾波器。 19. 20. 如申吻專利範圍第18項之裝置,其中該處理器使用區塊 大小指派資訊來判定兩鄰近區塊是否被劃分。 如申明專利範圍第18項之裝置,其中該處理器基於每一 區塊之方差值來判定兩鄰近區塊是否被劃分。% % 8曰Revised 1^73734 Pickup, Patent Application: Patent No. 093107090 Chinese Application _Recommended Patent Range Replacement (May 101) - Used to process #Image compressed by block-based compression The method includes: using a processor or a computer to perform the following steps: determining whether two blocks of pixels are adjacent blocks; if determining that the two blocks are adjacent blocks, determining whether the two adjacent blocks are average Subdivided; ★ after determining that at least one of the two adjacent blocks is not subdivided, performing deblocking waves on the two or more edge pixels of the two adjacent blocks; if only the two adjacent blocks are If one of the two neighboring blocks is not subdivided, the two neighboring blocks are acquired. One or more edge pixels of the one or more edge pixels; comparing the one or more difference values with a second threshold value; selecting based on a comparison of the far one or more difference values and the second threshold value a second deblocking filter; and if the two neighbors No block is subdivided, then the other one of the two or more edge pixels neighboring blocks using the second deblocking filter. 2. The method of claim 2, wherein determining whether two adjacent blocks are subdivided comprises: obtaining a variance value of each block of the two adjacent blocks; comparing the variance values with a first a threshold value; and determining whether the two adjacent blocks are subdivided based on a comparison between the variance value such as "Hai" and the first threshold value. The method of claim 1, wherein determining whether both adjacent blocks are subdivided comprises: obtaining a block size assignment value; and using the block size assignment value to determine the Whether two adjacent values are subdivided. 4. The method of claim 1, wherein the using the second deblocking filter comprises: using a two-point average filter for the two edge pixels of the two adjacent blocks. 5. The method of claim </ RTI> wherein the obtaining one or more differences comprises: obtaining a first order difference between edge pixels of the two adjacent blocks. 6. The method of claim 2, wherein the obtaining the one or more differences comprises: obtaining a second order difference between edge pixels of the two adjacent blocks. 7. The method of claim 1, wherein obtaining the one or more differences comprises: obtaining a difference between three edge pixels of the two adjacent blocks; and selecting the second deblocking filter The apparatus includes: using a Gaussian filter if at least two of the differences are greater than the second threshold. 8. The method of claim 7, wherein the use of a Gaussian filter comprises: if the difference is greater than the second threshold, the rain adjacent blocks 92036-1010511.doc, Edge pixels use a six-point Gaussian filter. 9. The method of claim 7, wherein the use of a Gaussian chopper comprises: if both of the difference values are greater than the second threshold, then the four edges of the two adjacent blocks The pixel uses a four-point Gaussian filter. 10. The method of claim 7, wherein the selecting the second deblocking chopper further comprises: if one of the differences is greater than the second threshold, the two neighboring blocks The two edge pixels use an averaging filter. 11. An apparatus for processing an image compressed using block-based compression, comprising: means for determining whether two blocks of pixels are neighboring blocks; for determining that the two blocks are adjacent blocks Determining whether the two adjacent blocks are subdivided; for determining that one or more edge pixels of the two adjacent blocks are filtered after determining that at least one of the two adjacent blocks is not subdivided a component; if only one of the two adjacent blocks is subdivided, a component of the first deblocking filter is used for one or more edge pixels of the two adjacent blocks; And the two neighboring blocks are not subdivided, and one or more of the one or more edge pixels of the two adjacent blocks are obtained; for comparing the one or more differences with a second a component of a threshold value; a component for selecting a second deblocking filter based on the comparison of the one or more difference values with the second threshold value; and 92036-10丨05 丨丨.doc 1373734 If the two adjacent blocks are not subdivided, then the two adjacent The one or more edge pixels of the block use the second deblocking filter component, wherein the device is a hardware device. 12. The device of claim 11, wherein the means for determining whether both adjacent blocks are subdivided comprises: means for obtaining a variance value of each of the two adjacent blocks; Comparing the variance values with a first threshold component; and for determining whether the two adjacent blocks are subdivided based on the comparison of the variance values with the first threshold value. 13. The apparatus of claim 2, wherein the means for determining whether both adjacent blocks are subdivided comprises: means for obtaining a block size assignment value; and for using the block size A value is assigned to determine whether the two neighboring values are subdivided. 14. The device of claim 3, wherein the means for obtaining one or more differences comprises: means for obtaining a difference between three edge elements of the two adjacent blocks And the means for selecting the second deblocking filter includes: A component of a Gaussian filter is used if at least two of the difference values are greater than the second threshold. 15. The means for using a Gaussian filter in the device of claim 14 of the patent scope includes: 92036-1010511.doc 1373734. If the difference for the right is greater than the second threshold, then a six-point Gaussian chopper is used for the six edge pixels of the two adjacent blocks. 16. The device of claim 14, wherein the means for using a Gaussian wave means comprises: for if both of the difference values are greater than the second threshold value, The four edge pixels of the two adjacent blocks use a four-point Gaussian data filter: component. The device of claim 14, wherein the means for selecting the second deblocking filter further comprises: for if one of the differences is greater than the second threshold, then The two edge pixels of the two adjacent blocks use a component of an averaging filter. 18. Apparatus for processing a compressed image based on block-based compression, comprising: a processor configured to determine whether two blocks of pixels are adjacent blocks, and if the two neighbors are determined If the block is a neighboring block, it is determined whether the two adjacent blocks are subdivided; a first deblocking filter configured to determine that only one of the two adjacent blocks is subdivided' Filtering the two adjacent blocks - or a plurality of edge pixels; and a second deblocking filter configured to determine that the two adjacent blocks are not subdivided One or more edge pixels of the neighboring block are chopped, wherein the s-shaped processor is also configured to obtain one or more of the one or more edge pixels of the two adjacent blocks; if the two neighbors The block is not 92036-l0I0511.doc 1373734 is subdivided, then comparing the - or multiple differences with a second threshold 丨 and selecting based on the comparison of the one or more differences with the second threshold Second deblocking filter. 19. The device of claim 18, wherein the processor uses the block size assignment information to determine whether the two adjacent blocks are divided. The apparatus of claim 18, wherein the processor determines whether two adjacent blocks are divided based on a variance value of each block. 種處理使用基於區塊之壓縮所壓縮的影像之方法,包 含: 使用一處理器或電腦以執行以下步驟·· 判疋來自影像之像素之兩鄰近區塊是否均被細分; 在判疋像素之該等兩鄰近區塊之至少一者未被細分 後對像素之該等兩鄰近區塊之一或多個邊緣像素執行 解區塊濾波; 在像素之該等兩鄰近區塊之一或多個對應邊緣像素之 間判定一或多個差值; 當該一或多個差值之一者超過一臨限值,使用一平均 渡波器對該等邊緣像素濾波;及 當該一或多個差值之兩或多個以上超過該臨限值,使 用一高斯濾波器對該等邊緣像素濾波, 其中該高斯濾波器包含一N點高斯濾波器,其中N指示 二乘以超過該臨限值的該一或多個差值之一數目。 22.如申請專利範圍第21項之方法,其中判定兩鄰近區塊是 否被細分包括: 92036-1010511.doc 1373734 判疋像素之該專兩鄰近區塊的像素之一第一區塊的 大小; 基於像素之該第一區塊之像素判定一區塊方差;及 當該區塊方差超過一與該經判定之大小相關聯的臨限 值’判定像素之該第一區塊被細分。 23. 如申請專利範圍第21項之方法,其中判定來自一影像之 像素之兩鄰近區塊是否被細分包括: 擷取與像素之一第一區塊相關聯之區塊大小指派資 訊,其中該區塊大小指派資訊指示像素之該第—區塊如味 何被細分。 24. 如申請專利範圍第21項之方法,其進一步包括. 當像素之該等兩鄰近區塊的像素之一笛一 乐一眭塊被細 分’選擇像素之兩鄰近子區塊; 判定像素之該等兩鄰近子區塊是否均被細分;及 當判定像素之該等兩鄰近子區塊之 夕 者未被舍 分’對像素之該等兩鄰近子區塊之—赤夕如* 或多個邊緣像素| 行解區塊濾波。 25. 如申請專利範圍第24項之方法,其進—步包括 判定像素之該等兩鄰近子區塊的像素之_第 的一大小; 子區塊 基於像素之該第一子區塊之像素判一 义一子區塊方差. 及 , 當該子區塊方差超過一 限值,判定像素之該第一 與該經判定夕+ , i 心之大小相關聯的 子區機被細分。 臨A method for processing a compressed image based on block-based compression, comprising: using a processor or a computer to perform the following steps: determining whether two adjacent blocks of pixels from the image are subdivided; Performing, by the subdivision, at least one of the two adjacent blocks, performing deblock filtering on one or more of the two adjacent blocks of the pixel; one or more of the two adjacent blocks in the pixel Determining one or more differences between corresponding edge pixels; and when one of the one or more differences exceeds a threshold, filtering the edge pixels using an average ferrometer; and when the one or more differences Two or more of the values exceed the threshold, and the edge pixels are filtered using a Gaussian filter, wherein the Gaussian filter comprises an N-point Gaussian filter, where N indicates a square multiplication to exceed the threshold The number of one or more differences. 22. The method of claim 21, wherein determining whether the two adjacent blocks are subdivided comprises: 92036-1010511.doc 1373734 determining the size of the first block of one of the pixels of the two adjacent blocks; A block variance is determined based on pixels of the first block of pixels; and the first block of the decision pixel is subdivided when the block variance exceeds a threshold associated with the determined size. 23. The method of claim 21, wherein determining whether two neighboring blocks from a pixel of an image are subdivided comprises: extracting block size assignment information associated with a first block of one of the pixels, wherein The block size assignment information indicates that the first block of the pixel is subdivided. 24. The method of claim 21, further comprising: when one of the pixels of the two adjacent blocks of the pixel is decimate, the two neighboring sub-blocks of the selected pixel are selected; Whether the two adjacent sub-blocks are subdivided; and when the two neighboring sub-blocks of the pixel are determined to be not rounded off, the two neighboring sub-blocks of the pixel are - Edge pixels | Row solution block filtering. 25. The method of claim 24, further comprising determining a size of a pixel of the two adjacent sub-blocks of the pixel; the sub-block is based on a pixel of the first sub-block of the pixel A sub-block variance is determined. And, when the variance of the sub-block exceeds a limit value, the sub-regional machine that determines the first pixel associated with the size of the determined eve +, i heart is subdivided. Pro 92036-1010511.doc 1373734 26. 如申請專利範圍第21項之方法,其進一步包括: 獲取像素之該等兩鄰近區塊之一或多個邊緣像素之— 或多個差值; 判定該一或多個差值之一數目超過一臨限值;及 基於該數目選擇一解區塊濾波器。 27. 如申請專利範圍第26項之方法,其中選擇該解區塊濾波 器包括: 當該數目等於1,選擇一第一解區塊渡波器;及 當該數目大於1,選擇一第二解區塊濾波器。 28. —種包含碼之機器可讀媒體,當該碼由一處理器所執行 時造成該處理器: 判定像素之兩區塊是否爲鄰近區塊; 若判定該等兩區塊爲鄰近區塊,則判定該等兩鄰近區 塊是否均被細分; 在判定該等兩鄰近區塊之至少一者未被細分後,對該 等兩鄰近區塊之一或多個邊緣像素執行解區塊濾波; 輸出該等經濾波之區塊至一顯示器; 若該等兩鄰近區塊之僅一者被細分,則對該等兩鄰近 區塊之一或多個邊緣像素使用一第一解區塊濾波5| ; 若該等兩鄰近區塊均未被細分’則獲取該等兩鄰近區 塊的一或多個邊緣像素之一或多個差值; 比較該一或多個差值與一第二臨限值; 基於該一或多個差值與該第二臨限值之比較來選擇一 第二解區塊濾波器;及 92036-1010511.doc 若該等兩鄰近區塊均未被細分,則對該等兩鄰近區塊 之一或多個邊緣像素使用該第二解區塊濾波器。 沙如申請專利範圍第28項之機器可讀媒體,其中造成該處 娌器判定該等兩鄰近區塊是否均被細分之碼包括碼其 造成該處理器: 獲取該等兩鄰近區塊之每一區塊的方差值; 比較該等方差值與一第一臨限值;及 基於該等方差值與該第-臨限值之比較來判定該等兩 鄰近區塊是否均被細分。 3〇.如申請專利範圍第28項之機器可讀媒體,其中造成該處 理器判定該等兩鄰近區塊是否均被細分之碼包括碼其 造成該處理器: 獲取一區塊大小指派值;及 使用該區塊大小指派值以判定該等兩鄰近值是否被細 分。 3 1.如申請專利範圍第28項之機器可讀媒體,其中造成該處 理器使用該第二解區塊濾波器之碼包括碼,其造成該處 理器對該等兩鄰近區塊之兩個邊緣像素使用—兩點平均 濾波器。 32. 如申請專利範圍第28項之機器可讀媒體,其中造成該處 理器獲取一或多個差值之碼包括碼,其造成該處理器獲 取該等兩鄰近區塊之邊緣像素之間的--階差值。 33. 如申請專利範圍第28項之機器可讀媒體,其中該造成該 處理器獲取一或多個差值之碼包括碼,其造成該處理器 92036-10105H.doc 1373734 獲取該等兩鄰近區塊之邊緣像素之間的一二階差值。 34·如申請專利範圍第28項之機器可讀媒體,其中: 造成該處理器獲取一或多個差值之碼包括碼,其造成 該處理器獲取該等兩鄰近區塊之三個邊緣像素之間的差 值;及 造成該處理器選擇該第二解區塊濾波器之碼包括碼, 其造成該處理器若該等差值之至少兩者大於該第二臨限 值’則使用一高斯濾波器。 3 5_如申請專利範圍第34項之機器可讀媒體,其中造成該處 理器使用一兩斯濾波器之碼包括碼,其造成該處理器若 該等差值大於該第二臨限值,則對該等兩鄰近區塊之六 個邊緣像.素使用二六點高斯濾波器。 36·如申請專巧範:圍:第Μ項之機器可讀媒體,其中造成該處 理器使用一尚斯濾波器之碼包括碼,其造成該處理器若 該等差值之兩者大於該第二臨限值,則對該等兩鄰近區 塊之四個邊緣像素使用一四點高斯濾波器。 37.如申請專利範圍第34項之機器可讀媒體,其中造成該處 理器選擇該第二解區塊遽波器之碼進—步包括碼,其造 成該處理器若該等差值之一者大於該第二臨限值,則對 該等兩鄰近區塊之兩個邊緣像素使用一平均濾波器。26. The method of claim 21, further comprising: obtaining one or more of the two adjacent blocks of the pixel - or a plurality of difference pixels; determining the one or The number of one of the plurality of differences exceeds a threshold; and a deblocking filter is selected based on the number. 27. The method of claim 26, wherein the selecting the deblocking filter comprises: selecting a first deblocking wave breaker when the number is equal to 1, and selecting a second solution when the number is greater than one Block filter. 28. A machine readable medium comprising code, the code causing the processor to perform: determining whether two blocks of the pixel are adjacent blocks; and determining that the two blocks are adjacent blocks Determining whether the two adjacent blocks are all subdivided; after determining that at least one of the two adjacent blocks is not subdivided, performing deblock filtering on one or more edge pixels of the two adjacent blocks Outputting the filtered blocks to a display; if only one of the two adjacent blocks is subdivided, using one of the two neighboring blocks or a plurality of edge pixels to filter using a first deblocking block 5| ; if the two neighboring blocks are not subdivided ', one or more of the one or more edge pixels of the two adjacent blocks are obtained; comparing the one or more differences with a second a threshold value; selecting a second deblocking filter based on the comparison of the one or more difference values with the second threshold value; and 92036-1010511.doc if the two adjacent blocks are not subdivided, Then using the second solution block for one or more edge pixels of the two adjacent blocks filter. The machine readable medium of claim 28, wherein the code causing the device to determine whether the two adjacent blocks are subdivided includes a code that causes the processor to: acquire each of the two adjacent blocks a variance value of a block; comparing the variance values with a first threshold; and determining whether the two neighboring blocks are subdivided based on the comparison of the variance values and the first threshold value . 3. The machine readable medium of claim 28, wherein the processor causing the processor to determine whether the two neighboring blocks are subdivided comprises a code that causes the processor to: obtain a block size assignment value; And using the block size assignment value to determine whether the two neighbor values are subdivided. 3. The machine readable medium of claim 28, wherein the code causing the processor to use the second deblocking filter comprises a code that causes the processor to treat the two adjacent blocks Edge pixels use a two-point averaging filter. 32. The machine readable medium of claim 28, wherein the processor causing the processor to acquire one or more difference codes comprises a code that causes the processor to acquire between edge pixels of the two adjacent blocks - Step difference. 33. The machine readable medium of claim 28, wherein the code causing the processor to acquire one or more differences comprises a code that causes the processor 92036-10105H.doc 1373734 to acquire the two neighboring regions A second-order difference between the edges of the block. 34. The machine readable medium of claim 28, wherein: the code causing the processor to acquire one or more differences comprises a code that causes the processor to acquire three edge pixels of the two adjacent blocks a difference between the code and the code causing the processor to select the second deblocking filter, the code causing the processor to use one if at least two of the differences are greater than the second threshold Gaussian filter. 3. The machine readable medium of claim 34, wherein the code causing the processor to use a two-second filter comprises a code that causes the processor to have the difference greater than the second threshold, Then, the six edge images of the two adjacent blocks use a two-six Gaussian filter. 36. The method of claim </ RTI> </ RTI> <RTIgt; </ RTI> <RTIgt; </ RTI> <RTIgt; </ RTI> <RTIgt; </ RTI> <RTIgt; </ RTI> <RTIgt; </ RTI> <RTIgt; For the second threshold, a four-point Gaussian filter is used for the four edge pixels of the two adjacent blocks. 37. The machine readable medium of claim 34, wherein the processor causing the processor to select the code of the second deblocking chopper comprises a code that causes the processor to have one of the differences If the second threshold is greater than the second threshold, an averaging filter is used for the two edge pixels of the two adjacent blocks. 92036-1010511.doc -10-92036-1010511.doc -10-
TW93107090A 2003-03-17 2004-03-17 Method and apparatus for improving video quality of low bit-rate video TWI373734B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US45603003P 2003-03-17 2003-03-17

Publications (2)

Publication Number Publication Date
TW200508987A TW200508987A (en) 2005-03-01
TWI373734B true TWI373734B (en) 2012-10-01

Family

ID=36760957

Family Applications (1)

Application Number Title Priority Date Filing Date
TW93107090A TWI373734B (en) 2003-03-17 2004-03-17 Method and apparatus for improving video quality of low bit-rate video

Country Status (5)

Country Link
CN (1) CN100424717C (en)
AR (1) AR043643A1 (en)
TW (1) TWI373734B (en)
UA (1) UA87660C2 (en)
ZA (1) ZA200507507B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI444047B (en) * 2006-06-16 2014-07-01 Via Tech Inc Deblockings filter for video decoding , video decoders and graphic processing units
WO2011126277A2 (en) 2010-04-05 2011-10-13 Samsung Electronics Co., Ltd. Low complexity entropy-encoding/decoding method and apparatus
KR20110112168A (en) * 2010-04-05 2011-10-12 삼성전자주식회사 Method and apparatus for video encoding based on internal bitdepth increment, method and apparatus for video decoding based on internal bitdepth increment
EP3113107B1 (en) * 2015-07-02 2018-12-05 Continental Automotive GmbH Static soiling detection and correction

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5107345A (en) * 1990-02-27 1992-04-21 Qualcomm Incorporated Adaptive block size image compression method and system
KR100243225B1 (en) * 1997-07-16 2000-02-01 윤종용 Signal adaptive filtering method for reducting blocking effect and ringing noise and filter thereof
KR100269125B1 (en) * 1997-10-25 2000-10-16 윤덕용 Image post processing method and apparatus for reducing quantization effect
US6529634B1 (en) * 1999-11-08 2003-03-04 Qualcomm, Inc. Contrast sensitive variance based adaptive block size DCT image compression
WO2003021936A2 (en) * 2001-09-05 2003-03-13 Emblaze Semi Conductor Ltd Method for reducing blocking artifacts

Also Published As

Publication number Publication date
AR043643A1 (en) 2005-08-03
CN1774722A (en) 2006-05-17
UA87660C2 (en) 2009-08-10
CN100424717C (en) 2008-10-08
TW200508987A (en) 2005-03-01
ZA200507507B (en) 2007-06-27

Similar Documents

Publication Publication Date Title
KR100983996B1 (en) Method and apparatus for improving video quality of low bit-rate video
US6845180B2 (en) Predicting ringing artifacts in digital images
JP5384696B2 (en) Adaptive block size DCT image compression based on variance
EP1747676B1 (en) Method and apparatus for image enhancement for low bit rate video compression
AU2002315160B2 (en) Configurable pattern optimizer
AU2002315160A1 (en) Configurable pattern optimizer
WO2005081515A1 (en) Image compression method, image compression device, image transmission system, data compression pre-processing device, and computer program
JP2009153128A (en) Selective chrominance decimation for digital images
JP2010193097A (en) Scanning converter, image encoder and method of controlling the same
TWI373734B (en) Method and apparatus for improving video quality of low bit-rate video
JP5309046B2 (en) Encoding device and program
JP3924420B2 (en) Image compression apparatus and method
EP3982632A1 (en) Image coding device, image decoding device, method, and program
KR100982835B1 (en) Deblocking method and equipment for image data
US20210377533A1 (en) Image encoding apparatus, image encoding method, image decoding apparatus, image decoding method, and non-transitory computer-readable storage medium
JPH08191444A (en) Video signal decoder
EP3902254A1 (en) Image encoding device, image decoding device, and method and program for controlling same
JP2010161749A (en) Device and method for compressing image
JPH0338185A (en) Discrete cosine conversion coding system
JP2005312072A (en) Video signal decoding apparatus
KR20020084712A (en) Memory map having 16bit unit address structure for deblocking filter
JP2005217896A (en) Image encoding device
KR20040105274A (en) Method for blocking artifact reduction included ended image based on bdct