KR100230841B1 - Block cancelation method and apparatus in moving picture decoder - Google Patents

Block cancelation method and apparatus in moving picture decoder Download PDF

Info

Publication number
KR100230841B1
KR100230841B1 KR1019960016007A KR19960016007A KR100230841B1 KR 100230841 B1 KR100230841 B1 KR 100230841B1 KR 1019960016007 A KR1019960016007 A KR 1019960016007A KR 19960016007 A KR19960016007 A KR 19960016007A KR 100230841 B1 KR100230841 B1 KR 100230841B1
Authority
KR
South Korea
Prior art keywords
pixel values
current block
value
boundary
boundary pixel
Prior art date
Application number
KR1019960016007A
Other languages
Korean (ko)
Other versions
KR970078645A (en
Inventor
김상호
Original Assignee
전주범
대우전자주식회사
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 전주범, 대우전자주식회사 filed Critical 전주범
Priority to KR1019960016007A priority Critical patent/KR100230841B1/en
Priority to DE69730375T priority patent/DE69730375T2/en
Priority to EP04075207A priority patent/EP1469680B1/en
Priority to EP97303246A priority patent/EP0808068B1/en
Priority to DE69738787T priority patent/DE69738787D1/en
Priority to US08/856,474 priority patent/US6144700A/en
Priority to CNB971042667A priority patent/CN1179575C/en
Priority to JP9124159A priority patent/JPH1051775A/en
Publication of KR970078645A publication Critical patent/KR970078645A/en
Application granted granted Critical
Publication of KR100230841B1 publication Critical patent/KR100230841B1/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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation

Landscapes

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

Abstract

본 발명은 동영상 복호기의 블록화 현상 제거 방법 및 그 장치에 관한 것으로, 복호화된 영상신호를 프레임 단위로 입력받아 각 블록이 블록화 현상이 눈에 띄는 부분인 평탄 지역인지를 판단하여, 평탄 지역인 블록들에 대해 경계 화소값과 경계 화소값의 상하에 위치된 화소값들의 평균값을 계산하고, 블록의 경계 화소값을 상기 평균값으로 보정하여 출력함으로써, 블록화 현상이 눈에 띄는 부분인 평탄 지역에서만 블록의 경계 화소값들에 대해 필터링을 하여 블록화 현상을 제거하고, 블록화 현상이 눈에 잘 보이지 않는 비평탄 지역에서는 필터링을 하지 않아 본래의 화상을 흐려지지 않도록 할 수 있는 것이다.The present invention relates to a method and a device for removing a blocking phenomenon of a video decoder. The present invention relates to a block having a flat area by receiving a decoded video signal in units of frames and determining whether each block is a flat area where a block phenomenon is outstanding. By calculating the average value of the boundary pixel value and the pixel values positioned above and below the boundary pixel value, and correcting the output boundary pixel value of the block to the average value, the block boundary is detected only in the flat area where the blocking phenomenon is noticeable. By filtering on the pixel values, the blocking phenomenon is eliminated, and in the non-flat region where the blocking phenomenon is hard to see, the filtering is performed so that the original image is not blurred.

Description

동영상 복호기의 블록화현상 제거 방법 및 그 장치(Method of and Device for eliminating blocking effect in a motion a motion picture decoder)Method of and device for eliminating blocking effect in a motion a motion picture decoder

제1도는 MPEG-2 영상 부호기의 블록도.1 is a block diagram of an MPEG-2 video encoder.

제2도는 MPEG-2 영상 복호기의 블록도.2 is a block diagram of an MPEG-2 video decoder.

제3a도는 양자화 과정을 설명하기 위한 그래프,Figure 3a is a graph for explaining the quantization process,

b도는 역양자화 과정을 설명하기 위한 그래프.b is a graph illustrating the inverse quantization process.

제4도는 본 발명에 따른 블록화 현상 제거 방법의 흐름도.4 is a flowchart of a blocking phenomenon removal method according to the present invention.

제5도는 본 발명에 따른 블록화 현상 제거 장치의 블록도.5 is a block diagram of a blocking phenomenon removing device according to the present invention.

제6도는 본 발명에 따른 블록화 현상 제거 방법 및 그 장치를 설명하기 위한 8×8 블록을 도시한 것이고,FIG. 6 illustrates an 8 × 8 block for explaining a blocking phenomenon removing method and apparatus thereof according to the present invention.

제7도는 본 발며에 따른 블록화 현상 제거 장치의 화소 추출부를 설명하기 위한 도면,7 is a view for explaining a pixel extraction unit of the blocking effect removing apparatus according to the present invention;

제8도는 본 발명에 따른 블록화 현상 제거 장치가 구비된 동영상 복호기의 블록도이다.8 is a block diagram of a video decoder provided with a blocking phenomenon removing apparatus according to the present invention.

* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings

50 : 프레임 메모리 52 : 현재블록 경계부 추출부50: frame memory 52: current block boundary extraction unit

54 : 주변블록 경계부 추출부 56 : 평탄지역 판단부54: peripheral block boundary extraction unit 56: flat area determination unit

58 : 화소 추출부 60 : 선택출력부58: pixel extraction unit 60: selective output unit

62 : 경제화소 필터부 80 : 블록화 현상 제거부62: economic pixel filter unit 80: blocking phenomenon removal unit

본 발명은 동영상 복호기의 블록화 현상 제거 방법 및 그 장치에 관한 것이다.The present invention relates to a method and a device for removing a blocking phenomenon of a video decoder.

일반적으로, 현대 사회를 일컬어 정보화 사회라고 하는 바, 처리해야 하는 정보의 양이 나날이 늘어나는 추세이므로, 기존의 전송대역을 효과적으로 이용하기 위해서는 데이터를 압축하여야 한다. 특히, 디지털 영상신호의 경우에는 정보량이 매우 방대하기 때문에 정보의 저장과 검색, 전송등을 보다 효율적으로 하기 위해서는 영상 데이터를 압축하는 것이 필수적이다.In general, since modern society is also called an information society, since the amount of information to be processed is increasing day by day, data must be compressed to effectively use the existing transmission band. In particular, in the case of digital video signals, since the amount of information is very large, it is essential to compress the video data in order to more efficiently store, retrieve, and transmit the information.

영상 데이터를 압축한다는 것은 영상 신호에 내재하는 중복성(redundancy)을 제거하는 것으로, 상기 영상 신호에 내재하는 중복성에는 색 성분간의 스펙트럼의 중복성(spectral redundancy), 화면과 화면간의 시간축 방향의 시간적 중복성(temporal redundancy), 그리고 화면내 공간의 이웃하는 화소간의 공간적 중복성(spatial redundancy) 및, 통계적 중복성이 있다.Compressing the image data removes the redundancy inherent in the image signal. The redundancy inherent in the image signal includes spectral redundancy between color components and temporal redundancy in the time axis direction between the screen and the screen. redundancy, spatial redundancy, and statistical redundancy between neighboring pixels in the intra-screen space.

제1도는 상기와 같이 영상신호에 내재하는 중복성을 제거함으로써 영상 데이터를 압축하는 동영상 부호기의 블록도로서, 풀-디지탈 고화질 텔레비젼(full-digital HDTV) 뿐만 아니라 여러 응용 분야에 널리 쓰이는 일반적인 동영상 부호기의 블록도이다. 상기 제1도에 도시된 동영상 부호기는, 차영상생성부(2)와, 이산여현변환부(4), 양자화기(6), 가변장부호기(8), 출력버퍼(10), 역양자화기(12), 역이산여현변환부(14), 가산기(16), 프레임 메모리(18), 움직임 추정부(20) 및, 움직임 보상부(22)로 이루어져 있다.FIG. 1 is a block diagram of a video encoder for compressing video data by removing redundancy inherent in a video signal as described above. FIG. 1 is a block diagram of a general video encoder widely used in various applications as well as full-digital HDTV. It is a block diagram. The video encoder shown in FIG. 1 includes a difference image generator 2, a discrete cosine transform unit 4, a quantizer 6, a variable long encoder 8, an output buffer 10, and an inverse quantizer. (12), an inverse discrete cosine transforming unit 14, an adder 16, a frame memory 18, a motion estimating unit 20, and a motion compensating unit 22.

상기와 같은 동영상 부호화기에 있어서, 차영상생성부(2)는 현재 영상과 이전 영상의 차영상을 구하여 이산여현변환부(4)로 출력한다.In the video encoder as described above, the difference image generator 2 obtains a difference image between the current image and the previous image and outputs the difference image to the discrete cosine transform unit 4.

그리고, 상기 이산여현변환부(4)는 상기 차영상생성부(2)에서 입력된 차영상을 여러개의 블록으로 분할한 후 각 블록에 해당하는 픽셀의 에너지 성분을 주파수 성분으로 나타내는 것이다. 즉, 이산여현변환부(4)에서는 픽셀간의 상관성을 제거하기 위하여 프레임간 차 영상을 8×8 픽셀의 블록으로 이산여현변환(DCT : discret cosine transform)하여 이산여현변환 계수를 출력하는 것이다.The discrete cosine transforming unit 4 divides the difference image inputted from the difference image generating unit 2 into a plurality of blocks, and then represents an energy component of a pixel corresponding to each block as a frequency component. In other words, the discrete cosine transform unit 4 outputs a discrete cosine transform coefficient by performing a discret cosine transform (DCT) on the inter-frame difference image into a block of 8x8 pixels in order to remove the correlation between pixels.

그리고, 상기 양자화기(6)는 상기 이산여현변환부(4)에서 주파수 영역으로 변환된 후, 실수값을 갖는 각 주파수 계수를 한정된 데이터 길이로 표현하기 위해 양자화한다. 즉, 상기 양자화기(6)에서는 상기 이산여현변환부(4)에서 출력되는 프레임간 차 영상의 이산여현변환 계수를 소정의 양자화간격으로 양자화하여 출력한다. 이때, 상기 양자화기(6)에서 양자화하기 위한 양자화 스텝 사이즈는 출력 버퍼(10)와 입력 블록의 복잡성에 따라 결정되어진다.Then, the quantizer 6 is transformed into the frequency domain by the discrete cosine transform unit 4, and then quantizes each frequency coefficient having a real value to represent a limited data length. That is, the quantizer 6 quantizes and outputs the discrete cosine transform coefficients of the interframe difference image output from the discrete cosine transforming unit 4 at a predetermined quantization interval. At this time, the quantization step size for quantization in the quantizer 6 is determined according to the complexity of the output buffer 10 and the input block.

또한, 상기 가변장 부호기(8)는 상기 양자화기(6)에서 양자화된 주파수 계수를 통계적 특성에 따라 가변장 부호를 사용하는 엔트로피 부호화를 통해 압축하는데, 이 과정은 양자화 과정과는 달리 무손실 부호화이다. 엔트로피 부호로는 허프만 코드, 산술 코드, 유니버설 코드 등이 있는데, 양자화된 DCT 계수는 주로 허프만 코드를 사용하여 가변장 부호화된다. 이때, DCT 계수 중 DC계수와 AC계수를 구분하여 다른 방법으로 부호화한다. 보통 각 블록의 DC값은 이전블록의 DC값과 많은 상관성이 있으므로 이전 블록의 DC값과 차이를 구하여 그 차이값을 부호화하고, 첫 번째 블록의 DC는 DC값의 가변범위의 중간값인 128과의 차이를 구하여 부호화 한다. 이렇게 구해진 DC의 차이값들은 일차원 가변장 부호화를 통하여 부호화하게 되는 것이다. 또한, AC계수는 DCT 영역에서 DC계수 부근의 AC계수값이 "0"이 아닐 확률이 높고, DC계수에서 멀어질수록 "0"이 발생할 확률이 높다는 점을 이용하여 보다 더 효과적인 데이터 압축을 위해 계수들을 재정렬하는데, 주로 지그-재그주사(zig-zag scan)를 통하여 1차원으로 정렬한다. 여기서 "0"이 연속적으로 나타나는 갯수(zero-run)와 "0"이 아닌 계수들의 값(level)을 (런, 레벨)의 2차원으로 표현된다.In addition, the variable length encoder 8 compresses the frequency coefficient quantized by the quantizer 6 through entropy coding using a variable length code according to statistical characteristics, which is a lossless coding unlike the quantization process. . Entropy codes include Huffman codes, arithmetic codes, and universal codes. The quantized DCT coefficients are variable length coded using Huffman codes. At this time, the DC coefficient and the AC coefficient among the DCT coefficients are distinguished and encoded in another method. Usually, the DC value of each block is highly correlated with the DC value of the previous block. Therefore, the difference between the DC value of the previous block is obtained and the difference value is encoded. Find the difference and encode it. The DC difference values thus obtained are encoded by one-dimensional variable length coding. In addition, the AC coefficient has a high probability that the AC coefficient value near the DC coefficient is not "0" in the DCT region, and the more likely that the "0" occurs as the distance from the DC coefficient increases, the more effective for data compression. The coefficients are rearranged, usually in one dimension by a zig-zag scan. Here, the number of zero-runs in which "0" appears consecutively and the level of coefficients other than "0" are expressed in two dimensions of (run, level).

예를 들어, 지그-재그 스캔이 되어, 30, 2, 0, 0, -8, 0, 0, 0, 9···와 같이 정열된 DCT계수는 줄길이 부호화를 통하여 (0, 30), (0, 2), (2, -8), (3, 9) ···와 같이 표현된다. 그리고 지그-재그 주사된 계수들이 어떤 위치 이후에 계속해서 끝까지 발생할 경우는 블록의 끝을 나타내는 EOB(end of block) 부호를 추가한다. 이와 같이, 줄길이 부호화된 데이터는 허프만 테이블에 의해 가변장 부호화되는 것이다.For example, a zig-zag scan is performed, and the aligned DCT coefficients such as 30, 2, 0, 0, -8, 0, 0, 0, 9 ... are (0, 30), It is expressed as (0, 2), (2, -8), (3, 9). And if the zig-zag scanned coefficients continue to end after some position, add an end of block (EOB) sign indicating the end of the block. In this way, the line length coded data is variable length coded by the Huffman table.

그리고, 상기 가변장 부호화기(8)에서 출력된 영상 데이터는 출력 버퍼(10)를 통해 전송되는 것이다. 이때, 전송 채널의 대역폭은 고정되어 있는 반면, 영상 데이터들은 최종적으로 가변장 부호로 부호화되므로 발생되는 데이터 량이 시간에 따라 달라진다. 따라서, 주어진 전송율에 맞추어 발생하는 데이터량을 조절하는 레이트 콘트롤(rate control)이 필요하다. 레이트 콘트롤은 주로 버퍼(10)의 충만도에 따라 양자화기(6)의 스텝 사이즈를 가변함으로써 데이터의 발생량을 조절한다.The image data output from the variable length encoder 8 is transmitted through the output buffer 10. At this time, while the bandwidth of the transmission channel is fixed, the image data is finally encoded with a variable length code, so the amount of data generated varies with time. Therefore, there is a need for a rate control that adjusts the amount of data that occurs to a given rate. The rate control adjusts the amount of data generation mainly by varying the step size of the quantizer 6 in accordance with the fullness of the buffer 10.

한편, 역양자화기(12)는 상기 양자화기(6)에 의해 양자화되어 출력된 DCT 계수를 역양자화하여 역이산여현변환부(14)로 출력하며, 상기 역양자화기(12)에서 역양자화된 DCT 계수는 역이산여현변환부(14)를 통해 원 영상 신호로 복원된다. 상기 원 영상 신호는 가산기(16)에서 움직임 보상된 영상신호와 더해져 프레임 메모리(18)로 출력되고, 상기 프레임 메모리(14)에서 프레임 단위로 딜레이되어 이전 영상신호가 출력된다.Meanwhile, the inverse quantizer 12 inversely quantizes the DCT coefficients quantized and output by the quantizer 6 and outputs the inverse discrete cosine transformer 14 to inverse quantized the inverse quantizer 12. The DCT coefficient is restored to the original video signal through the inverse discrete cosine transform unit 14. The original video signal is added to the motion-compensated video signal by the adder 16 and output to the frame memory 18. The original video signal is delayed by the frame unit in the frame memory 14 to output the previous video signal.

그리고, 움직임 추정기(20)는 상기 프레임 메모리(14)에서 출력된 이전 영상 신호와 현재 영상신호의 화소값의 차이의 절대값인 추정 오차를 비교하여 움직임 벡터를 출력한다. 움직임 보상기(22)는 상기 움직임 추정기(20)에서 출력된 움직임 벡터에 따라 상기 프레임 메모리(14)에서 출력된 이전 영상을 움직임 보상하여 상기 차영상생성부(2)로 입력한다.The motion estimator 20 outputs a motion vector by comparing an estimation error that is an absolute value of the difference between the previous video signal output from the frame memory 14 and the pixel value of the current video signal. The motion compensator 22 motion-compensates the previous image output from the frame memory 14 according to the motion vector output from the motion estimator 20 and inputs the same to the difference image generator 2.

한편, 상기와 같은 압축과정을 통해 전송된 영상 데이터는 동영상 복호기에서 원래의 데이터로 복원되며, 이러한 동영상 복호기는 상기 동영상 부호기를 역으로 구현하면 되는 것이다.On the other hand, the video data transmitted through the compression process as described above is restored to the original data in the video decoder, such a video decoder is to implement the video encoder in reverse.

제2도는 MPEG-2 동영상 복호기의 블록도로서, 입력버퍼(30)와, 가변장 복호기(32), 역양자화기(34), 역이산여현변환부(36), 움직임 보상부(38) 및, 프레임 메모리(40)로 이루어져 있다. 상기와 같은 영상 복호기에 있어서, 가변장 복호기(32)는 입력 버퍼(30)를 통해 입력된 압축된 영상신호로부터 가변장 부호화된 DCT 계수를 뽑아서 가변장 복호화하여 역 양자화기(34)로 출력하고, 상기 역 양자화기(34)는 상기 가변장 복호기(32)에서 출력된 데이터를 실제의 DCT 계수값으로 복원하여 역이산여현변환부(36)로 출력한다.2 is a block diagram of an MPEG-2 video decoder including an input buffer 30, a variable length decoder 32, an inverse quantizer 34, an inverse discrete cosine transformer 36, a motion compensator 38, And a frame memory 40. In the video decoder as described above, the variable length decoder 32 extracts the variable length coded DCT coefficients from the compressed video signal inputted through the input buffer 30 and variably decodes them to output to the inverse quantizer 34. The inverse quantizer 34 restores the data output from the variable length decoder 32 to the actual DCT coefficient value and outputs the data to the inverse discrete cosine transformer 36.

그리고, 역이산여현변환부(36)는 상기 역양자화기(34)에서 출력된 신호를 역이산여현변환하여 움직임 보상부(38)로 출력한다. 움직임 보상부(38)는 이전 영상 및 움직임 벡터를 이용하여 상기 역이산여현변환부(36)에서 출력된 영상신호를 움직임 보상하여 출력한다. 프레임 메모리(40)는 상기 움직임 보상부(38)에서 출력된 영상을 딜레이시켜 이전 영상으로 상기 움직임 보상부(38)에 입력한다.In addition, the inverse discrete cosine transforming unit 36 performs inverse discrete cosine transforming on the signal output from the inverse quantizer 34 and outputs it to the motion compensation unit 38. The motion compensator 38 motion-compensates the video signal output from the inverse discrete cosine transform unit 36 by using the previous image and the motion vector. The frame memory 40 delays an image output from the motion compensator 38 and inputs it to the motion compensator 38 as a previous image.

상기와 같은 동영상 복호기에 의해 복호화된 영상신호를 디스플레이하게 되면 블록의 경계 부분이 눈에 보이는 블록화 현상(blocking effect)이 발생되는 문제점이 있었다. 이러한 블록화 현상은 양자화 및 역양자화 과정에 의해 발생되는 DCT 계수의 양자화 잡음에 의해 발생된다.When displaying a video signal decoded by the video decoder as described above, there is a problem in that a blocking effect in which a boundary portion of a block is visible occurs. This blocking phenomenon is caused by the quantization noise of the DCT coefficients generated by the quantization and dequantization processes.

예를 들어, 제3도에 도시된 바와 같이, (1/2)×스텝사이즈≤DCT 계수값 〈(3/2)×스텝사이즈 이면, 상기 DCT 계수값이 "1"로 양자화되고, 양자화된 값("1")을 역양자화하여 원래의 DCT 계수값으로 복원하면 "1" 양자화 스텝 사이즈가 된다. 따라서, 원래의 DCT 계수값과 상기 DCT 계수값이 양자화 및 역양자화된 후의 DCT 계수값과의 차이, 즉 양자화 잡음은 최대 (1/2)×스텝사이즈 까지 될 수 있다. 즉, 복호화된 영상 신호의 블록화 현상을 일으키는 원인인 양자화 잡음은 0≤양자화 잡음≤(1/2)×스텝사이즈의 범위가 된다.For example, as shown in FIG. 3, if (1/2) x step size ≤DCT coefficient value <(3/2) x step size, the DCT coefficient value is quantized to "1" and quantized. When the value "1" is dequantized and restored to the original DCT coefficient value, it becomes "1" quantization step size. Therefore, the difference between the original DCT coefficient value and the DCT coefficient value after the DCT coefficient value is quantized and dequantized, that is, the quantization noise, can be up to (1/2) x step size. That is, the quantization noise that causes the blocking of the decoded video signal is in the range of 0 ≦ quantization noise ≦ (1/2) × step size.

따라서, 본 발명은 상기와 같은 블록화 현상을 제거하여 블록의 경계 부분이 눈에 보이지 않도록 함으로써, 화질을 향상시킬 수 있는 동영상 복호기의 블록화 현상 제거 방법 및 그 장치를 제공하는데 그 목적이 있다.Accordingly, an object of the present invention is to provide a method and apparatus for removing a blocking phenomenon of a video decoder, which can improve image quality by removing the blocking phenomenon such that the boundary of a block is not visible.

이러한 목적을 달성하기 위한 본 발명에 따른 동영상 복호기의 블록화 현상 제거 방법은, 현재블록의 경계 화소값들을 차례대로 추출하는 단계와; 상기 현재블록에 인접하는 주변블록의 경계 화소값들을 차례대로 추출하는 단계; 현재블록의 모든 경계 화소값들에 대해 현재블록의 경계 화소값과 이 화소값이 인접하는 주변블록의 경계 화소값의 차이값을 계산하는 단계; 상기 각 차이값의 절대값들이 모두 소정의 임계값 보다 작거나 같은가를 판단하여 임계값보다 크면 종료하는 단계; 절대값들이 모두 임계값보다 작거나 같으면 현재블록의 각 경계 화소값들과 이 화소값들의 상하에 위치된 화소값들을 추출하는 단계; 현재블록의 모든 경계 화소값들에 대해 현재블록의 경계 화소값과 이 화소값의 상하에 위치된 화소값들의 평균값들의 평균값을 계산하는 단계 및; 현재블록의 경계 화소값들을 평균값들로 보정하는 단계로 순차 동작하는 것을 특징으로 한다.According to an aspect of the present invention, there is provided a method of removing a blocking phenomenon of a video decoder, the method including: sequentially extracting boundary pixel values of a current block; Extracting boundary pixel values of neighboring blocks adjacent to the current block in order; Calculating a difference value between the boundary pixel values of the current block and the boundary pixel values of the neighboring blocks to which the pixel values are adjacent for all boundary pixel values of the current block; Determining whether the absolute values of the difference values are all smaller than or equal to a predetermined threshold value and ending when the absolute values of the difference values are larger than a threshold value; Extracting respective boundary pixel values of the current block and pixel values located above and below the pixel values if the absolute values are all less than or equal to the threshold value; Calculating an average value of the boundary pixel values of the current block and the average values of pixel values located above and below the pixel values for all boundary pixel values of the current block; And sequentially correcting the boundary pixel values of the current block to average values.

그리고, 본 발명에 따른 블록화 현상 제거 장치는, 복호화된 영상 신호를 프레임 단위로 입력받아 저장하는 한편, 현재블록의 경계 화소값들을 피드백된 현재블록의 경계 화소값으로 보정함과 더불어 한 프레임이 모두 보정되었으면 보정된 프레임을 출력하는 프레임 메모리와; 상기 프레임 메모리에 저장된 프레임중 현재블록의 경계 화소값들을 추출하여 차례대로 출력하는 현재블록 경계부 추출부; 상기 프레임 메로리에 저장된 프레임중 현재블록에 인접하는 주변블록의 경계 화소값들을 추출하여 차례대로 출력하는 주변블록 경계부 추출부; 상기 현재블록의 경계 화소값들과 이 화소값들이 인접하는 주변블록의 경계 화소값들의 차이값을 각각 구하고, 이 차이값의 절대값을 소정의 임계값과 비교하여 제1 선택신호 또는 제2 선택신호를 출력하는 평탄지역 판단부; 상기 프레임 메모리에 저장된 현재블록의 각 경계 화소값들과 이 화소값들에 인접하여 상하에 위치된 화소값들을 추출하여 출력하는 화소 추출부; 상기 평탄지역 판단부에서 출력된 제1 선택신호 또는 제2 선택 신호에 따라 상기 화소 추출부에서 출력된 화소값들을 선택적으로 출력하는 선택출력부 및; 상기 선택출력부를 통해 입력된 화소값들에 필터 계수를 곱한 다음, 필터 계수와 곱해진 화소값들을 더하여 상기 프레임 메모리로 피드백시키는 경계화소 필터부를 포함하여 구성된 것을 특징으로 한다.In addition, the apparatus for removing blocking according to the present invention receives and stores the decoded video signal in units of frames, corrects the boundary pixel values of the current block to the boundary pixel values of the fed back current block, and all one frame. A frame memory for outputting a corrected frame if corrected; A current block boundary extractor for sequentially extracting boundary pixel values of the current block among frames stored in the frame memory; A neighboring block boundary extractor for extracting boundary pixel values of neighboring blocks adjacent to the current block among frames stored in the frame memory and sequentially outputting the extracted pixel values; The difference value between the boundary pixel values of the current block and the boundary pixel values of neighboring blocks adjacent to each other is obtained, and the absolute value of the difference value is compared with a predetermined threshold to select a first selection signal or a second selection. A flat area determination unit for outputting a signal; A pixel extraction unit for extracting each boundary pixel value of the current block stored in the frame memory and pixel values located above and below the pixel values; A selection output unit for selectively outputting pixel values output from the pixel extracting unit according to a first selection signal or a second selection signal output from the flat area determination unit; And a boundary pixel filter unit multiplying the pixel values input through the selection output unit, and then adding the multiplied pixel values to the frame memory to feed back the frame memory.

이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명한다.Hereinafter, with reference to the accompanying drawings will be described an embodiment of the present invention;

제4도는 본 발명에 따른 블록화 현상 제거방법의 흐름도로서, 본 발명에 따른 블록화 현상 제거 방법은, 현재블록의 경계 화소값들(제6도의 A0∼A7,B0∼B7,C0∼C7, D0∼D7)을 차례대로 추출하는 단게(S1)와; 상기 현재블록에 인접하는 주변블록의 경계 화소값들(a0∼a7, b0∼b7,c0∼c7,d0∼d7)을 차례대로 추출하는 단계(S2); 현재블록의 모든 경계 화소값들(A0∼A7,B0∼B7,C0∼C7,D0∼D7)에 대해 현재블록의 경계 화소값과 이 화소값이 인접하는 주변블록의 경계 화소값의 차이값을 계산하는 단계(S3); 각 차이값의 절대값들이 모두 소정의 임계값 보다 작거나 같은가를 판단하여 임계값 보다 크면 종료하는 단계(S4); 절대값들이 모두 임계값 보다 작거나 같으면 현재블록의 각 경계 화소값들과 이 화소값들의 상하에 위치된 화소값들을 추출하는 단계(S5); 현재블록의 모든 경계 화소값들(A0∼A7,B0∼B7,C0∼C7,D0∼D7)에 대해 현재블록의 경계 화소값과 이 화소값의 상하에 위치된 화소값들의 평균값을 계산하는 단계(S6) 및; 현재블록의 경계 화소값들을 평균값들로 보정하는 단계(S7)로 순차 동작한다. 상기 단계(S4)에서는 임계값을 "4"로 하는 것이 바람직하며, 이는 DC계수의 양자화스텝 사이즈인 "8"의 ½이다.4 is a flowchart of a blocking phenomenon removing method according to the present invention, and the blocking phenomenon removing method according to the present invention includes boundary pixel values of the current block (A 0 to A 7 , B 0 to B 7 , and C 0 of FIG. 6) . ~C 7, and Tange (S1) of extracting, as the D 0 ~D 7) in turn; Extracting boundary pixel values (a 0 to a 7 , b 0 to b 7, c 0 to c 7, d 0 to d 7 ) of neighboring blocks adjacent to the current block in sequence (S2); For all boundary pixel values (A 0 to A 7, B 0 to B 7, C 0 to C 7, D 0 to D 7 ) of the current block, the boundary pixel value of the current block and the neighboring block adjacent to this pixel value Calculating a difference value between the boundary pixel values of S3; Determining whether the absolute values of the difference values are all smaller than or equal to a predetermined threshold value and ending when the absolute value of each difference value is greater than the threshold value (S4); If the absolute values are all less than or equal to the threshold value, extracting respective boundary pixel values of the current block and pixel values located above and below these pixel values; For all boundary pixel values A 0 to A 7, B 0 to B 7, C 0 to C 7, D 0 to D 7 of the current block, the boundary pixel values of the current block Calculating an average value of the pixel values (S6); In operation S7, the boundary pixel values of the current block are corrected to average values. In the step S4, it is preferable to set the threshold value to "4", which is ½ of "8" which is the quantization step size of the DC coefficient.

상기 단계(S5)에서는 현재블록의 경계 화소값과 이 현재블록의 경계 화소값의 상하에 위치된 화소값들을 각각 2개씩 추출하여 총5개의 화소값을 추출하는 것이 바람직하다.In the step S5, it is preferable to extract five pixel values by extracting two boundary pixel values of the current block and two pixel values positioned above and below the boundary pixel value of the current block.

제5도는 상기와 같은 본 발명에 따른 블록킹 현상 제거방법을 하드웨어로 구현한 것으로, 본 발명에 따른 블록킹 현상 제거장치는, 프레임 메모리(50)와, 현재블록 경계부 추출부(52), 주변블록 경계부 추출부(54), 평탄지역 판단부(56), 화소 추출부(58), 선택 출력부(60) 및, 경계화소 필터부(62)를 포함하여 구성되어 있다.5 is a hardware implementation of the blocking phenomenon removing method according to the present invention as described above, the blocking phenomenon removing apparatus according to the present invention, the frame memory 50, the current block boundary extraction unit 52, the peripheral block boundary The extraction unit 54, the flat area determination unit 56, the pixel extraction unit 58, the selection output unit 60, and the boundary pixel filter unit 62 are configured.

제5도를 참조하면 알 수 있듯이, 프레임 메모리(50)는 복호화된 영상신호를 프레임 단위로 입력받아 저장하는 한편, 피드백된 현재블록의 경계 화소값들을 보정하고, 한 프레임의 모든 블록들이 보정되었으면 보정된 프레임(블록화 현상이 제거된 프레임)을 출력하도록 되어 있다.Referring to FIG. 5, the frame memory 50 receives and stores the decoded video signal in units of frames, corrects boundary pixel values of the feedback current block, and if all blocks of one frame are corrected. The corrected frame (frame from which the blocking phenomenon is removed) is output.

그리고, 현재블록 경계부 추출부(52)는 상기 프레임 메모리(50)에 저장된 프레임중 현재블록의 경계 화소값들을 추출하여 차례대로 출력하도록 되어 있다. 그리고, 주변블록 경계부 추출부(54)는 상기 프레임 메모리(50)에 저장된 프레임중 현재블록에 인접하는 주변블록의 경계 화소값들을 추출하여 차례대로 출력하도록 되어 있다.The current block boundary extractor 52 extracts boundary pixel values of the current block among the frames stored in the frame memory 50 and sequentially outputs them. The peripheral block boundary extractor 54 extracts boundary pixel values of neighboring blocks adjacent to the current block among frames stored in the frame memory 50 and sequentially outputs them.

이때, 제6도에 도시된 바와 같이, 현재블록은 상기 프레임 메모리(50)에 저장된 프레임중 블록화 현상을 제거하고자 하는 블록이며, 상기 현재블록의 경계 화소값들(A0∼A7, B0∼B7, C0∼C7, D0∼D7)은 모두 32개가 된다. 즉, 현재블록과 인접하는 주변블록은 현재블록의 상측, 하측, 좌측, 우측 블록 4개이고, 한 블록이 8×8화소로 이루어지므로 현재블록의 경계 화소값들(A0∼A7, B0∼B7, C0∼C7, D0∼D7)은 32개 이며, 이 현재블록의 경계 화소값들(A7, B0∼B7, C0∼C7, D0∼D7)에 인접하는 주변블록들의 경계 화소값들(a0∼a7, b0∼b7, c0∼c7, d0∼d7) 역시 32개이다.In this case, as shown in FIG. 6, the current block is a block to remove a blocking phenomenon among frames stored in the frame memory 50, and boundary pixel values A 0 to A 7 and B 0 of the current block. ~B 7, C 0 ~C 7, D 0 ~D 7) are all 32 dogs. That is, since neighboring blocks adjacent to the current block are four blocks of the upper, lower, left, and right sides of the current block, and one block is composed of 8x8 pixels, the boundary pixel values A 0 to A 7 and B 0 of the current block. -B 7 , C 0 -C 7 , D 0 -D 7 ) are 32, and the boundary pixel values A 7 , B 0 -B 7 , C 0 -C 7 , D 0 -D 7 of this current block The boundary pixel values a 0 to a 7 , b 0 to b 7 , c 0 to c 7 , and d 0 to d 7 of neighboring blocks adjacent to are also 32.

그리고, 평탄지역 판단부(56)는 현재블록의 경계 화소값들(A0∼A7, B0∼B7, C0∼C7, D0∼D7)과 주변블록의 경계 화소값들(a0∼a7, b0∼b7, c0∼c7, d0∼d7)을 각각 차례로 입력받아 서로 인접하는 현재블록의 화소값과 주변블록의 경계 화소값의 차이값을 각각 구하고, 이 차이값의 절대값이 모두 소정의 임계값 보다 작거나 같으면 제1 선택신호를 출력하고, 한개 이상의 절대값이 임계값 보다 크면 제2 선택신호를 출력하도록 되어 있다. 이때, 상기 소정의 임계값은 "4"가 바람직하며, 이는 DC계수의 양자화스텝 사이즈인 "8"의 ½이다. 그리고 현재블록의 경계 화소값들(A0∼A7, B0∼B7, C0∼C7, D0∼D7)과 주변블록의 경계 화소값들(a0∼a7, b0∼b7, c0∼c7, d0∼d7)은 각각 32개 이므로, 차이값도 32개가 된다. 따라서, 이 차이값의 절대값이 "4" 보다 작거나 같은지를 판단하여, 32개의 절대값이 모두 4보다 작거나 같으면 제1 선택신호를 출력하고, 32개의 절대값중 한 개 이상의 절대값이 4보다 크면 제2 선택신호를 출력한다.And, the flat region determination unit 56 is the boundary pixel values of the current block (A 0 ~A 7, B 0 ~B 7, C 0 ~C 7, D 0 ~D 7) and around the block boundary pixel values (a 0 to a 7 , b 0 to b 7 , c 0 to c 7 , and d 0 to d 7 ), respectively, in turn. The difference between the pixel values of adjacent current blocks and the boundary pixel values of neighboring blocks are respectively determined. The first selection signal is outputted when all absolute values of the difference value are less than or equal to a predetermined threshold value, and the second selection signal is outputted when one or more absolute values are larger than the threshold value. In this case, the predetermined threshold value is preferably "4", which is ½ of "8" which is the quantization step size of the DC coefficient. In addition, the boundary pixel values A 0 to A 7 , B 0 to B 7 , C 0 to C 7 , and D 0 to D 7 of the current block and the boundary pixel values a 0 to a 7 and b 0 of the neighboring block. ~b 7, c 0 ~c 7, d 0 ~d 7) is so 32 respectively, and the dog 32 difference values. Therefore, it is determined whether the absolute value of this difference is less than or equal to "4", and if all 32 absolute values are less than or equal to 4, a first selection signal is output, and at least one absolute value of the 32 absolute values is If greater than 4, the second selection signal is output.

그리고, 화소 추출부(58)는 상기 프레임 메모리(50)에 저장된 현재블록의 각 경계 화소값들(A0∼A7, B0∼B7, C0∼C7, D0∼D7)과 이 화소값들에 인접하여 상하에 위치된 화소값들을 추출하여 차례대로 출력하도록 되어 있다.The pixel extraction section 58 of each boundary pixel values of the current block stored in the frame memory (50) (A 0 ~A 7 , B 0 ~B 7, C 0 ~C 7, D 0 ~D 7) And pixel values located above and below the pixel values are output in order.

예를 들어, 제7도에 도시된 바와 같이, 현재블록의 어떤 경계 화소값(A3)을 n2라 하고, n2의 상측에 위치한 화소값들을 n3, n4라 하며, n2의 하측에 위치한 화소값들을 n1, n0라 하면, 현재블록의 경계 화소값n2(A3)과 n0, n1, n3, n4의 4개 화소값을 같이 추출하여 총5개를 출력한다. 따라서, 상기 화소 추출부(58)에서 추출되어 출력되는 화소값들은 현재블록의 경계 화소값들(32개)의 5배인 160개이다.For example, referred to the seventh degree, the pixel value of a boundary of the current block (A 3) d n 2, and the pixel values located on the upper side of the n 2 n 3, as shown in n 4, and the n 2 If the pixel values located at the lower side n 1, n 0 La, a total of five to extract, as the boundary pixel value n 2 (a 3) and the four pixel values of n 0, n 1, n 3 , n 4 of the current block Outputs Accordingly, the pixel values extracted by the pixel extracting unit 58 are 160, which is five times the boundary pixel values 32 of the current block.

그리고, 선택출력부(60)는 상기 평탄지역 판단부(56)에서 출력된 제1 선택신호 또는 제2 선택신호에 의해 상기 화소 추출부(58)에서 출력된 화소값들을 선택적으로 출력하도록 되어 있다. 즉, 상기 평탄지역 판단부(56)에서 제2 선택신호가 입력되면, 상기 화소 추출부(58)에서 출력된 화소값들을 경계 화소 필터부(62)를 통해 프레임 메모리(50)로 피드백시키고, 제1 선택신호가 입력되면 상기 화소 추출부(58)에서 출력된 화소값들을 직접 프레임 메모리(50)로 피드백시키도록 되어 있다.The selection output unit 60 selectively outputs pixel values output from the pixel extraction unit 58 by the first selection signal or the second selection signal output from the flat area determination unit 56. . That is, when the second selection signal is input from the flat area determiner 56, the pixel values output from the pixel extractor 58 are fed back to the frame memory 50 through the boundary pixel filter 62. When the first selection signal is input, the pixel values output from the pixel extraction unit 58 are fed back to the frame memory 50.

그리고, 경계화소 필터부(62)는 상기 선택출력부(60)를 통해 입력된 화소값들에 필터 계수를 곱한 다음, 필터 계수와 곱해진 화소값들을 더하여 상기 프레임 메모리(50)로 피드백시키도록 되어 있다. 예를 들어, 상기 화소 추출부(58)에서 현재블록의 경계 화소값 n2(A3)과 n0, n1, n3, n4의 4개 화소값을 같이 추출하여 총5개를 출력하면, 상기 경계 화소 필터부(62)는 [ ]계수를 갖는 5-탭 필터를 사용하여 [n0+ n1+ n2+ n3+ n4] 값을 계산하여 출력한다.The boundary pixel filter unit 62 multiplies the pixel values input through the selection output unit 60 with the filter coefficients, and then adds the pixel values multiplied by the filter coefficients to the frame memory 50 to feed back the frame memory 50. It is. For example, the pixel extracting unit 58 extracts the boundary pixel values n 2 (A 3 ) of the current block and four pixel values of n 0 , n 1 , n 3 , and n 4 together to output a total of five. Then, the boundary pixel filter unit 62 calculates and outputs a value of [n 0 + n 1 + n 2 + n 3 + n 4 ] using a 5-tap filter having a [] coefficient.

상기와 같이 구성된 본 발명에 따른 블록화 현상 제거 장치의 동작을 제5도와 제6도 및 제7도를 참조하여 상세히 설명하면 다음과 같다.The operation of the blocking phenomenon removing apparatus according to the present invention configured as described above will be described in detail with reference to FIGS. 5, 6, and 7.

복호화된 영상신호는 프레임 메모리(50)에 프레임 단위로 저장됨과 더불어 상기 프레임 메모리(50)에 저장된 프레임중 현재블록의 경계 화소값들을 피드백된 현재블록의 경계 화소값으로 대체되어 재 저장된다. 이와 같이 한 프레임이 모두 보정(블록화 현상이 제거)되었으면 보정된 프레임을 출력 영상신호로 출력하는 것이다.The decoded video signal is stored in the frame memory 50 in units of frames, and the boundary pixel values of the current block among the frames stored in the frame memory 50 are replaced with the feedback pixel boundary pixel values. When all of the frames are corrected (blocking phenomenon is eliminated) as described above, the corrected frame is output as an output video signal.

상기와 같이 프레임 메모리(50)에 저장된 프레임은 현재블록 경계부 추출부(52)에 의해 현재블록의 경계 화소값들만이 추출되어 평탄지역 판단부(56)에 차례대로 입력되고, 주변블록 경계부 추출부(54)에 의해 상기 현재블록에 인접하는 주변블록의 경계 화소값들만이 추출되어 평탄지역 판단부(56)에 차례대로 입력된다. 즉, 현재블록과 인접하는 주변블록은 현재블록의 상하, 좌우 4개이고, 한 블록이 8×8 화소로 이루어지므로, 현재블록의 경계 화소값들(A0∼A7, B0∼B7, C0∼C7, D0∼D7)은 32개가 되며, 이 현재블록의 경계 화소값들(A0∼A7, B0∼B7, C0∼C7, D0∼D7)에 인접하는 주변블록의 경계 화소값들(a0∼a7, b0∼b7, c0∼c7, d0∼d7)역시 32개가 된다.As described above, the frames stored in the frame memory 50 are extracted only by the boundary pixel values of the current block by the current block boundary extractor 52 and input to the flat area determiner 56 in turn, and the peripheral block boundary extractor By 54, only boundary pixel values of the neighboring block adjacent to the current block are extracted and input to the flat area determination unit 56 in turn. That is, since four neighboring blocks adjacent to the current block are four blocks, the left and right sides of the current block, and one block is composed of 8 × 8 pixels, the boundary pixel values A 0 to A 7 , B 0 to B 7 , C 0 to C 7 , D 0 to D 7 ) are 32, and the boundary pixel values (A 0 to A 7 , B 0 to B 7 , C 0 to C 7 , D 0 to D 7 ) of the current block The boundary pixel values a 0 to a 7 , b 0 to b 7 , c 0 to c 7 , and d 0 to d 7 of neighboring blocks adjacent to are also 32.

따라서, 상기 현재블록 경계부 추출부(52)는 현재블록의 화소값들(총 64개)중에서 주변블록과 인접한 32개의 화소값들(A0∼A7, B0∼B7, C0∼C7, D0∼D7)을 추출하여 차례대로 출력하고, 상기 주변블록 경계부 추출부(54)는 상기 현재블록의 각 화소값들(A0∼A7, B0∼B7, C0∼C7, D0∼D7)에 인접하는 주변블록의 경계 화소값들(a0∼a7, b0∼b7, c0∼c7, d0∼d7)을 차례대로 출력한다.Accordingly, the current block boundary extracting unit 52 is composed of 32 pixel values A 0 to A 7 , B 0 to B 7 , and C 0 to C adjacent to a neighboring block among the pixel values (64 total) of the current block. 7 , D 0 to D 7 are extracted and output in order, and the peripheral block boundary extractor 54 is configured to display pixel values A 0 to A 7 , B 0 to B 7 , and C 0 to the current block. The boundary pixel values a 0 to a 7 , b 0 to b 7 , c 0 to c 7 , and d 0 to d 7 of neighboring blocks adjacent to C 7 and D 0 to D 7 are output in this order.

그리고, 현재블록의 경계 화소값들(A0∼A7, B0∼B7, C0∼C7, D0∼D7)과 주변블록의 경계 화소값들(a0∼a7, b0∼b7, c0∼c7, d0∼d7)은 각각 차례로 평탄지역 판단부(56)로 입력되고, 상기 평탄지역 판단부(56)에서 서로 인접하는 현재블록의 화소값과 주변블록의 경계 화소값의 차이값이 각각 구해지고, 이 차이값의 절대값이 모두 "4"보다 작거나 같으면 제1 선택신호가 출력되며, 한 개 이상의 절대값이 "4"보다 크면 제2 선택신호가 출력된다. 즉, 상기 현재블록 경계부 추출부(52)에서 출력된 현재블록의 경계 화소값들(A0∼A7, B0∼B7, C0∼C7, D0∼D7)과 주변 블록 경계부 추출부(54)에서 출력된 주변블록의 경계 화소값들(a0∼a7, b0∼b7, c0∼c7, d0∼d7)은 각각 32개 이므로, 평탄지역 판단부(56)에서 구해지는 차이값도 32개가 된다. 그리고 상기와 같은 차이값들의 절대값이 "4"보다 작거나 같은지를 판단하여, 32개의 절대값이 모두 4보다 작거나 같으면(평탄지역으로 판단함) 제1 선택신호가 출력되고, 32개의 절대값중 한 개 이상의 절대값이 4보다 크면(비평탄 지역으로 판단함) 제2 선택신호가 출력되는 것이다.Then, the boundary pixel values A 0 to A 7 , B 0 to B 7 , C 0 to C 7 , and D 0 to D 7 of the current block and the boundary pixel values a 0 to a 7 , b of the neighboring block. 0 to b 7 , c 0 to c 7 , and d 0 to d 7 are sequentially input to the flat area determination unit 56, and the pixel values of the current blocks adjacent to each other in the flat area determination unit 56 and the periphery thereof. The difference value of the boundary pixel values of the block is obtained, and if the absolute values of the difference values are all less than or equal to "4", the first selection signal is output. If the at least one absolute value is greater than "4", the second selection value is output. The signal is output. That is, the current block is a boundary of the boundary pixel value of the current block outputted from the extraction section (52) (A 0 ~A 7 , B 0 ~B 7, C 0 ~C 7, D 0 ~D 7) and around the block boundary Since the boundary pixel values a 0 to a 7 , b 0 to b 7 , c 0 to c 7 , and d 0 to d 7 of the neighboring blocks output from the extraction unit 54 are 32, respectively, the flat area determination unit The difference value obtained at 56 is also 32. Then, it is determined whether the absolute values of the difference values as described above are smaller than or equal to "4", and when all 32 absolute values are smaller than or equal to 4 (determined as a flat area), a first selection signal is output and 32 absolute values are output. If the absolute value of at least one of the values is greater than 4 (determined as an uneven area), the second selection signal is output.

그리고, 화소 추출부(58)는 상기 프레임 메모리(50)에 저장된 프레임중 현재블록의 각 경계 화소값들(A0∼A7, B0∼B7, C0∼C7, D0∼D7)과 이 화소값들에 인접하여 상하에 위치된 화소값들을 추출하여 차례대로 출력한다. 즉, 현재블록의 어떤 경계 화소값(A3)을 n2라 하고, n2의 상측에 위치한 화소값들을 n3, n4라 하며, n2의 하측에 위치한 화소값들을 n1, n0라 하면, 현재 블록의 경계 화소값 n2(A3)과 n0, n1, n3, n4의 4개 화소값을 같이 추출하여 총 5개를 출력하는 것이다. 이와 같이 현재블록의 한 경계 화소값에 대해 5개의 화소값이 출력되므로, 상기 화소 추출부(58)에서 추출되는 화소는 160개가 되는 것이다.In addition, the pixel extracting unit 58 stores the boundary pixel values A 0 to A 7 , B 0 to B 7 , C 0 to C 7 , and D 0 to D of the current block among the frames stored in the frame memory 50. 7 ) and the pixel values located above and below the pixel values are output in order. That is, some boundary pixel values A 3 of the current block are n 2 , pixel values located above n 2 are n 3 , n 4 , and pixel values located below n 2 are n 1 , n 0. In this case, the pixel values n 2 (A 3 ) of the current block and the four pixel values n 0 , n 1 , n 3 , and n 4 are extracted together to output a total of five. As described above, five pixel values are output for one boundary pixel value of the current block, and thus, 160 pixels are extracted by the pixel extraction unit 58.

그리고, 상기 평탄지역 판단부(56)에서 출력된 제1 선택신호 또는 제2 선택신호에 의해 선택출력부(60)가 상기 화소 추출부(58)에서 출력된 화소값들을 경계화소 필터부(62)를 통해 프레임 메모리(50)로 피드백시킨다. 즉, 상기 평탄지역 판단부(56)에서 제2 선택신호(비평탄지역으로 판정된 신호)가 입력되면 선택출력부(60)가 상기 화소 추출부(58)에서 출력된 화소값들을 경계화소 필터부(62)를 통해 프레임 메모리(50)로 피드백시키고, 제1 선택신호(평탄지역으로 판정된 신호)가 입력되면 상기 화소 추출부(58)에서 출력된 화소값들을 직접 프레임 메모리(50)로 피드백 시키는 것이다.In addition, the pixel selection unit 60 outputs the pixel values output from the pixel extraction unit 58 by the first output signal or the second selection signal output from the flat area determination unit 56. ) Is fed back to the frame memory 50. That is, when the second selection signal (the signal determined as the non-flat region) is input from the flat area determination unit 56, the selection output unit 60 filters the pixel values output from the pixel extraction unit 58. When the feedback signal is fed back to the frame memory 50 through the unit 62 and a first selection signal (a signal determined as the flat area) is input, the pixel values output from the pixel extraction unit 58 are directly transferred to the frame memory 50. To give feedback.

상기와 같이 선택출력부(60)를 통해 경계화소 필터부(62)로 입력된 화소값들은 경계화소 필터부(62)에서 필터 계수와 곱해진 다음, 필터 계수와 곱해진 화소값들이 서로 더해져 상기 프레임 메모리(50)로 피드백된다. 예를 들어, 상기 화소 추출부(58)에서 현재블록의 경계 화소값 n2(A3)과 이 화소값의 상하에 위치한 n0, n1, n3, n4의 4개 화소값을 같이 추출하여 총 5개를 출력하면, 상기 경계 화소 필터부(62)는 [ ] 계수를 갖는 5-탭 필터를 사용하여[ n0+ n1+ n2+ n3+ n4] 값을 계산하여 상기 프레임 메모리(50)로 피드백 시키는 것이다.As described above, the pixel values inputted to the boundary pixel filter unit 62 through the selection output unit 60 are multiplied by the filter coefficients in the boundary pixel filter unit 62, and then the pixel values multiplied by the filter coefficients are added to each other. It is fed back to the frame memory 50. For example, the pixel extracting unit 58 combines the boundary pixel value n 2 (A 3 ) of the current block with four pixel values n 0 , n 1 , n 3 , and n 4 located above and below the pixel value. After extracting a total of five outputs, the boundary pixel filter unit 62 calculates a value of [n 0 + n 1 + n 2 + n 3 + n 4 ] using a 5-tap filter having a coefficient of []. Feedback to the frame memory 50.

상기와 같은 본 발명에서, 화소 추출부(58)는 한 개의 경계 화소값에 대해 상하 각각 2개씩을 포함한 총 5개의 화소값들을 출력하도록 되어 있으나, 이에 한정될 필요가 없고 상하 각각 1개씩, 또는 상하 각각 3개씩을 추출하여 출력할 수도 있다. 이 경우에는 경계 화소 필터부(62)의 필터 계수가 변경된다. 예를 들어, 상기 화소 추출부(58)에서 현재블록의 경계 화소값과 이 경계 화소값의 상하 1개씩을 포함한 총 3개의 화소값들이 출력되면 경계 화소 필터부(62)는 [⅓,⅓, ⅓] 계수를 갖는 3-탭 필터를 사용하면 되는 것이다.In the present invention as described above, the pixel extraction unit 58 outputs a total of five pixel values including two up and down, respectively, for one boundary pixel value, but need not be limited thereto, and each one up and down, or You can also extract three outputs each up and down. In this case, the filter coefficient of the boundary pixel filter unit 62 is changed. For example, when the pixel extracting unit 58 outputs a total of three pixel values including the boundary pixel value of the current block and one up and down of the boundary pixel value, the boundary pixel filter 62 is [⅓, ⅓, Iii] You can use a 3-tap filter with coefficients.

한편, 제8도는 상기와 같이 동작하는 블록화 현상 제거장치를 포함하는 동영상 복호기의 블록도로서, 제2도에 도시된 MPEG-2 동영상 복호기와 동일하며, 단지 출력단에 본 발명의 블록화 현상 제거장치가 추가로 구비되어 있다. 즉, 본 발명에 따른 블록화 현상 제거 장치가 구비된 동영상 복호기는, 입력버퍼(30)와, 가변장 복호기(32), 역양자화기(34), 역이산여현변환부(36), 움직임 보상부(38), 프레임 메모리(40) 및, 블록화 현상 제거부(80)로 이루어져 있다.8 is a block diagram of a video decoder including a blockage removing device operating as described above, which is the same as the MPEG-2 video decoder shown in FIG. It is further provided. That is, the video decoder equipped with the blocking phenomenon removal apparatus according to the present invention includes an input buffer 30, a variable length decoder 32, an inverse quantizer 34, an inverse discrete cosine transform unit 36, and a motion compensation unit. (38), the frame memory 40, and the blocking phenomenon removing unit 80.

상기와 같은 영상 복호기에 있어서, 가변장 복호기(32)는 입력 버퍼(30)를 통해 입력된 압축된 영상신호로부터 가변장 부호화된 DCT 계수를 뽑아서 가변장 복호화하여 역 양자화기(34)로 출력하고, 상기 역양자화기(34)는 상기 가변장 복호기(32)에서 출력된 데이터를 실제의 DCT 계수값으로 복원하여 역이상여현변환부(36)로 출력한다.In the video decoder as described above, the variable length decoder 32 extracts the variable length coded DCT coefficients from the compressed video signal inputted through the input buffer 30 and variably decodes them to output to the inverse quantizer 34. The inverse quantizer 34 restores the data output from the variable length decoder 32 to an actual DCT coefficient and outputs the data to the inverse ideal cosine conversion unit 36.

그리고, 역이산여현변환부(36)는 상기 역양자화기(34)에서 출력된 신호를 역이산여현변환하여 움직임 벡터를 이용하여 상기 역이산여현변환부(36)에서 출력된 영상신호를 움직임 보상하여 출력한다. 프레임 메모리(40)는 상기 움직임 보상부(38)에서 출력된 영상을 딜레이시켜 이전 영상으로 상기 움직임 보상부(38)에 입력한다.In addition, the inverse discrete cosine transform unit 36 performs inverse discrete cosine transform on the signal output from the inverse quantizer 34 to compensate for the motion of the image signal output from the inverse discrete cosine transform unit 36 using a motion vector. To print. The frame memory 40 delays an image output from the motion compensator 38 and inputs it to the motion compensator 38 as a previous image.

그리고, 블록화 현상 제거부(80)는 상기 움직임 보상부(38)에서 출력된 영상신호를 프레임 단위로 입력받아 각 블록이 블록화 현상이 눈에 띄는 부분인 평탄 지역인지를 판단하여, 평탄지역인 블록들에 대해 경계 화소값과 경계 화소값의 상하에 위치된 화소값들의 평균값을 계산하고, 블록의 경계 화소값을 상기 평균값으로 보정하여 출력하도록 되어 있다.The blockage removing unit 80 receives the image signal output from the motion compensator 38 in units of frames, and determines whether each block is a flat area that is a prominent part of the blocking phenomenon. The average value of the boundary pixel value and the pixel values located above and below the boundary pixel value is calculated, and the boundary pixel value of the block is corrected to the average value and output.

이상에서 살펴본 바와 같이 본 발명에 따르면, 복호화된 영상신호중 블록화 현상이 눈에 띄는 부분인 평탄 지역에서만 블록의 경계 화소값들에 대해 필터링을 하여 블록화 현상을 제거하고, 블록화 현상이 눈에 잘 보이지 않는 비평탄 지역에서는 필터링을 하지 않아 본래의 화상을 흐려지지 않도록 할 수 있는 것이다.As described above, according to the present invention, the blocking pixel is removed by filtering the boundary pixel values of the block only in the flat region where the blocking phenomenon is noticeable in the decoded video signal, and the blocking phenomenon is hardly visible. In non-flat areas, no filtering can be used to avoid blurring the original image.

본 발명은 상술한 바와 같은 동영상 복호기에만 국한되는 것은 아니며, 양자화 과정 및 역양자화 과정에 의해 블록화 현상이 발생되는 모든 분야에 적용 가능한 것이다.The present invention is not limited to the video decoder as described above, and is applicable to all fields in which a blocking phenomenon occurs by a quantization process and an inverse quantization process.

Claims (3)

현재블록의 경계 화소값들(A0∼A7, B0∼B7, C0∼C7, D0∼D7)을 추출하는 단계(S1)와; 상기 현재블록에 인접하는 주변블록의 경계 화소값들(a0∼a7, b0∼b7, c0∼c7, d0∼d7)을 추출하는 단계(S2); 현재블록의 모든 경계 화소값들(A0∼A7, B0∼B7, C0∼C7, D0∼D7)에 대해 현재블록의 경계 화소값과 이 화소값이 인접하는 주변블록의 경계 화소값의 차이값을 계산하는 단계(S3); 상기 각 차이값의 절대값들이 모두 소정의 임계값 보다 작거나 같은가를 판단하여 임계값보다 크면 종료하는 단계(S4); 절대값들이 모두 임계값보다 작거나 같으면 현재블록의 각 경계 화소값들과 이 화소값들의 상하에 위치된 화소값들을 추출하는 단계(S5); 현재블록의 모든 경계 화소값들(A0∼A7, B0∼B7, C0∼C7, D0∼D7)에 대해 현재블록의 경계 화소값과 이 화소값의 상하에 위치된 화소값들의 평균값을 계산하는 단계(S6) 및; 현재블록의 경계 화소값들을 평균값들로 보정하는 단계(S7)를 포함하는 동영상 복호기의 블록화 현상제거방법.Step (S1) of extracting boundary pixel values of the current block (A 0 ~A 7, B 0 ~B 7, C 0 ~C 7, D 0 ~D 7) and; Extracting boundary pixel values (a 0 to a 7 , b 0 to b 7 , c 0 to c 7 , and d 0 to d 7 ) of neighboring blocks adjacent to the current block (S2); For all boundary pixel values (A 0 to A 7 , B 0 to B 7 , C 0 to C 7 , D 0 to D 7 ) of the current block, the boundary pixel value of the current block and the neighboring block adjacent to this pixel value Calculating a difference value between the boundary pixel values of S3; Determining whether the absolute values of the difference values are all less than or equal to a predetermined threshold value and ending when the absolute value of each difference value is greater than the threshold value (S4); If the absolute values are all less than or equal to the threshold value, extracting respective boundary pixel values of the current block and pixel values located above and below these pixel values; For all boundary pixel values A 0 to A 7 , B 0 to B 7 , C 0 to C 7 , and D 0 to D 7 of the current block, Calculating an average value of the pixel values (S6); And a step (S7) of correcting boundary pixel values of the current block to average values. 복호화된 영상신호를 프레임 단위로 입력받아 저장하는 한편, 현재블록의 경계 화소값들을 피드백된 현재블록의 경계 화소값으로 보정함과 더불어 한 프레임이 모두 보정되었으면 보정된 프레임을 출력하는 프레임 메모리(50)와; 상기 프레임 메모리(50)에 저장된 프레임중 현재블록의 경계 화소값들(A0∼A7, B0∼B7, C0∼C7, D0∼D7)을 추출하여 차례대로 출력하는 현재블록 경계부 추출부(52); 상기 프레임 메모리(50)에 저장된 프레임중 현재블록에 인접하는 주변블록의 경계 화소값들(a0∼a7, b0∼b7, c0∼c7, d0∼d7)을 추출하여 차례대로 출력하는 주변블록 경계부 추출부(54); 상기 현재블록의 경계 화소값들(A0∼A7, B0∼B7, C0∼C7, D0∼D7)과 이 화소값들이 인접하는 주변블록의 경계 화소값들(a0∼a7, b0∼b7, c0∼c7, d0∼d7)의 차이값을 각각 구하고, 이 차이값의 절대값을 소정의 임계값과 비교하여 절대값이 모두 소정의 임계값 보다 작거나 같으면 제1 선택신호를 출력하고, 한 개 이상의 절대값이 임계값 보다 크면 제2 선택신호를 출력하는 평탄지역 판단부(56); 상기 프레임 메모리(50)에 저장된 현재블록의 각 경계 화소값들(A0∼A7, B0∼B7, C0∼C7, D0∼D7)과 이 화소값들에 인접하여 상하에 위치된 화소값들을 추출하여 출력하는 화소 추출부(58); 상기 평탄지역 판단부(56)에서 출력된 제1 선택신호 또는 제2 선택신호에 따라 상기 화소 추출부(58)에서 출력된 화소값들을 선택적으로 출력하는 선택출력부(60) 및; 상기 선택출력부(60)를 통해 입력된 화소값들에 필터 계수를 곱한 다음, 필터 계수와 곱해진 화소값들을 더하여 상기 프레임 메모리(50)로 피드백시키는 경계화소 필터부(62)를 포함하여 구성된 동영상 복호기의 블록화 현상 제거 장치.The frame memory 50 which receives and stores the decoded video signal in units of frames, corrects the boundary pixel values of the current block to the boundary pixel values of the fed back current block, and outputs a corrected frame when all the frames are corrected. )Wow; Current to the output, in turn extracts the frame of the memory stored in the 50 frame boundary pixel values of the current block (A 0 ~A 7, B 0 ~B 7, C 0 ~C 7, D 0 ~D 7) Block boundary extracting unit 52; Among the frames stored in the frame memory 50, boundary pixel values a 0 to a 7 , b 0 to b 7 , c 0 to c 7 , and d 0 to d 7 of neighboring blocks adjacent to the current block are extracted. A peripheral block boundary extractor 54 for outputting in sequence; The boundary pixel values of the current block (A 0 ~A 7, B 0 ~B 7, C 0 ~C 7, D 0 ~D 7) and the boundary pixel values of adjacent blocks to the pixel value adjacent to (a 0 ~a 7, b 0 ~b 7, c 0 ~c 7, d 0 ~d obtain a difference value, each of the 7), the absolute value by the absolute value compared with a predetermined threshold value of the difference values are all predetermined threshold A flat area determination unit 56 for outputting a first selection signal if less than or equal to a value, and outputting a second selection signal if at least one absolute value is greater than a threshold; Each boundary pixel values of the current block stored in the frame memory (50) (A 0 ~A 7 , B 0 ~B 7, C 0 ~C 7, D 0 ~D 7) and vertically adjacent to the pixel value A pixel extracting unit 58 for extracting and outputting pixel values located in the pixel; A selection output unit 60 for selectively outputting pixel values output from the pixel extracting unit 58 according to the first selection signal or the second selection signal output from the flat area determining unit 56; And a boundary pixel filter 62 which multiplies the pixel values input through the selection output unit 60 and then feeds back the frame memory 50 by adding the pixel values multiplied by the filter coefficients. Blocking phenomenon of video decoder. 제2항에 있어서, 상기 선택출력부(60)는, 상기 제2 선택신호가 입력되면 상기 화소 추출부(58)에서 출력된 화소값을 상기 경계화소 필터부(62)로 출력하고, 제1 선택신호가 입력되면 상기 화소 추출부(58)에서 출력된 화소값을 상기 프레임 메모리(50)로 직접 입력하도록 된 것을 특징으로 하는 동영상 복호기의 블록화 현상 제거장치.The display device of claim 2, wherein the selection output unit 60 outputs the pixel value output from the pixel extraction unit 58 to the boundary pixel filter unit 62 when the second selection signal is input. And a selection signal is inputted to directly input the pixel value output from the pixel extraction unit (58) to the frame memory (50).
KR1019960016007A 1996-05-14 1996-05-14 Block cancelation method and apparatus in moving picture decoder KR100230841B1 (en)

Priority Applications (8)

Application Number Priority Date Filing Date Title
KR1019960016007A KR100230841B1 (en) 1996-05-14 1996-05-14 Block cancelation method and apparatus in moving picture decoder
DE69730375T DE69730375T2 (en) 1996-05-14 1997-05-13 Reduction of block effects in a motion picture decoder
EP04075207A EP1469680B1 (en) 1996-05-14 1997-05-13 Method and apparatus for removing blocking effects in a motion picture decoder
EP97303246A EP0808068B1 (en) 1996-05-14 1997-05-13 Methods and apparatus for removing blocking effect in a motion picture decoder
DE69738787T DE69738787D1 (en) 1996-05-14 1997-05-13 Reduction of block effects in a motion picture decoder
US08/856,474 US6144700A (en) 1996-05-14 1997-05-14 Method and apparatuses for removing blocking effect in a motion picture decoder
CNB971042667A CN1179575C (en) 1996-05-14 1997-05-14 Method and apparatus for removing blocking effect in motion picture decoder
JP9124159A JPH1051775A (en) 1996-05-14 1997-05-14 Method and device for removing block phenomenon for moving video decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960016007A KR100230841B1 (en) 1996-05-14 1996-05-14 Block cancelation method and apparatus in moving picture decoder

Publications (2)

Publication Number Publication Date
KR970078645A KR970078645A (en) 1997-12-12
KR100230841B1 true KR100230841B1 (en) 1999-11-15

Family

ID=19458648

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960016007A KR100230841B1 (en) 1996-05-14 1996-05-14 Block cancelation method and apparatus in moving picture decoder

Country Status (1)

Country Link
KR (1) KR100230841B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7450641B2 (en) 2001-09-14 2008-11-11 Sharp Laboratories Of America, Inc. Adaptive filtering based upon boundary strength
US7929610B2 (en) 2001-03-26 2011-04-19 Sharp Kabushiki Kaisha Methods and systems for reducing blocking artifacts with reduced complexity for spatially-scalable video coding
US6931063B2 (en) 2001-03-26 2005-08-16 Sharp Laboratories Of America, Inc. Method and apparatus for controlling loop filtering or post filtering in block based motion compensationed video coding

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5384849A (en) * 1992-05-18 1995-01-24 Samsung Electronics Co., Ltd. Apparatus and method for encoding/decoding data including the suppression of blocking artifacts

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5384849A (en) * 1992-05-18 1995-01-24 Samsung Electronics Co., Ltd. Apparatus and method for encoding/decoding data including the suppression of blocking artifacts

Also Published As

Publication number Publication date
KR970078645A (en) 1997-12-12

Similar Documents

Publication Publication Date Title
US10455210B2 (en) Method, medium, and apparatus encoding and/or decoding an image using the same coding mode across components
KR970005831B1 (en) Image coder using adaptive frame/field change coding method
EP2460355B1 (en) Method for decoding a stream of coded data representative of a sequence of images and method for coding a sequence of images
KR101394153B1 (en) Method and apparatus for quantization, and Method and apparatus for inverse quantization
EP2141927A1 (en) Filters for video coding
EP2007147A2 (en) Method and system for context-based adaptive binary arithmetic coding
AU2002334271A1 (en) Method and system for context-based adaptive binary arithmetic coding
JPH06189290A (en) Video signal encoding device using 1d/2d dct
EP1720356A1 (en) A frequency selective video compression
KR19980017213A (en) Image Decoding System with Compensation Function for Degraded Image
KR100801967B1 (en) Encoder and decoder for Context-based Adaptive Variable Length Coding, methods for encoding and decoding the same, and a moving picture transmission system using the same
KR100230841B1 (en) Block cancelation method and apparatus in moving picture decoder
KR100230839B1 (en) Block cancelation method and apparatus in moving picture decoder
KR100230842B1 (en) Block cancelation method and apparatus in moving picture decoder
KR100230840B1 (en) The block cancelation method and apparatus in moving picture decoder
JP3211989B2 (en) Orthogonal transform encoding device and decoding device
Patel et al. VHDL Implementation of H. 264 Video Coding Standard
JPH1056646A (en) Video signal decoder
KR100221308B1 (en) A device for eliminating blocking effects and a moving picture decoder using the device
KR100212823B1 (en) A device for eliminating blocking effects and a moving picture decoder using the device
JPH10234041A (en) Image encoding method, image decoding method, image encoder and image decoder
KR100195692B1 (en) An apparatus for calculating addresses by multi-loop
JP2007306528A (en) Motion picture decoding device and motion picture decoding method
JP2005312072A (en) Video signal decoding apparatus
JPH05227527A (en) Interlace picture encoding method and device

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120802

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20130801

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20150729

Year of fee payment: 17

EXPY Expiration of term