KR100287214B1 - Method and system for encoding motion pictures - Google Patents

Method and system for encoding motion pictures Download PDF

Info

Publication number
KR100287214B1
KR100287214B1 KR1019940032125A KR19940032125A KR100287214B1 KR 100287214 B1 KR100287214 B1 KR 100287214B1 KR 1019940032125 A KR1019940032125 A KR 1019940032125A KR 19940032125 A KR19940032125 A KR 19940032125A KR 100287214 B1 KR100287214 B1 KR 100287214B1
Authority
KR
South Korea
Prior art keywords
error
motion
compensation
image
quadtree
Prior art date
Application number
KR1019940032125A
Other languages
Korean (ko)
Other versions
KR960020507A (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 KR1019940032125A priority Critical patent/KR100287214B1/en
Priority to GB9524409A priority patent/GB2295742B/en
Priority to JP31130095A priority patent/JP3403561B2/en
Priority to DE1995144787 priority patent/DE19544787B4/en
Priority to FR9514178A priority patent/FR2727545B1/en
Publication of KR960020507A publication Critical patent/KR960020507A/en
Application granted granted Critical
Publication of KR100287214B1 publication Critical patent/KR100287214B1/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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Abstract

PURPOSE: A method and a system for encoding motion pictures are provided to reduce the amount of generation of bits, improve picture quality, and simplify a processing configuration. CONSTITUTION: A system for encoding motion pictures includes the first and second buffers, a motion estimation and compensation unit(52), an MC error generation and division unit(53), the first and second quad-tree processors(54,55), a multiplexer(56), a quantizer(57), a variable-length coder(58), a bit rate controller(60), an inverse quantizer(61), the first and second inverse quad-tree processor(62,63), an adder and a filter. The system divides MC error generated after motion estimation into accumulation error and compensation error, and encodes the errors according to their characteristics.

Description

동영상 부호화방법 및 장치Video encoding method and apparatus

제1도는 일반적인 동영상 부호화기의 구조를 나타낸 것이다.1 illustrates the structure of a general video encoder.

제2도는 보상(memc)에러, 누적(acc)에러, 움직임보상(MC) 에러에 대하여 쿼드트리를 적용하였을 때 생성된 최하단 영역의 수를 나타낸 것이다.FIG. 2 shows the number of lowermost regions generated when the quadtree is applied to a memc error, an acc error, and a motion compensation (MC) error.

제3도는 본 발명에 의한 동영상 부호화장치를 나타낸 블럭도이다.3 is a block diagram showing a video encoding apparatus according to the present invention.

제4도는 제3도에 도시된 움직임 추정 및 보상기와 MC 에러 발생 및 분리기의 상세블럭도이다.4 is a detailed block diagram of the motion estimation and compensator and the MC error generation and separator shown in FIG.

제5도는 제3도에 도시된 제1 및 제2쿼드트리 처리기의 동작을 설명하기 위한 플로우챠트이다.FIG. 5 is a flowchart for explaining the operation of the first and second quadtree processors shown in FIG.

제6도는 제3도에 도시된 가산기 및 필터의 상세블럭도이다.FIG. 6 is a detailed block diagram of the adder and the filter shown in FIG.

제7도는 누적에러와 보상에러에 대한 처리구조를 도식적으로 나타낸 예이다.7 is a diagram schematically showing a processing structure for cumulative errors and compensation errors.

제8도는 보상에러를 처리한 후 남은 누적에러에 대하여 필터링을 통하여 처리한 실험결과를 나타낸 것이다.8 shows the experimental results of filtering cumulative errors remaining after the compensation error is processed.

〈도면의 주요부분에 대한 부호의 설명〉<Explanation of symbols for main parts of drawing>

51, 59 : 버퍼 52 : 움직임 추정 및 보상기51, 59: buffer 52: motion estimation and compensator

53 : MC 에러 발생 및 분리기 54, 55 : 쿼드트리 처리기53: MC error occurrence and separator 54, 55: Quadtree processor

56 : 멀티플렉서 57 : 양자화기56 multiplexer 57 quantizer

58 : 가변장부호화기 60 : 비트율 제어기58: variable length encoder 60: bit rate controller

61 : 역양자화기 62, 63 : 역쿼드트리 처리기61: inverse quantizer 62, 63: inverse quad tree processor

64 : 가산기 및 필터64: adder and filter

본 발명은 동영상 부호화방법 및 장치에 관한 것으로서, 특히 움직임 보상후에 발생되는 MC 에러를 특성에 따라서 누적에러와 보상에러로 분리하고 각각의 특성에 맞도록 부호화처리하기 위한 방법 및 장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a video encoding method and apparatus, and more particularly, to a method and apparatus for separating an MC error generated after motion compensation into a cumulative error and a compensation error according to a characteristic, and encoding the same according to each characteristic.

일반적으로 널리 사용되는 동영상 부호화기는 움직임 처리를 통한 시간적 중복성을 제거하고, 이산여현변환(이하 DCT라 약함) 을 통하여 공간적인 중복성을 제거함으로써 데이타 압축의 효과를 갖는다.In general, video encoders that are widely used have the effect of data compression by removing temporal redundancy through motion processing and spatial redundancy through discrete cosine transform (hereinafter, referred to as DCT).

제1도는 움직임 처리를 통한 시간적 중복성과 DCT를 통한 공간적 중복성을 제거할 수 있도록 고안되어 H.261, MPEG-1, MPEG-2 등의 많은 표준화된 부호화기에서 사용되는 동영상 부호화기의 기본 구조이다.1 is a basic structure of a video encoder that is designed to remove temporal redundancy through motion processing and spatial redundancy through DCT, and is used in many standardized encoders such as H.261, MPEG-1, and MPEG-2.

제1도를 참조하면, 움직임 추정기(11)는 이전의 영상을 참고로 하여 현재의 영상을 구성하기 위한 움직임벡터를 생성한다. 대부분의 부호화기에서는 움직임벡터를 생성하기 위하여 고정된 블럭을 단위로 일정한 범위내에서 최소절대에러(MAE:Minimum Absolute Error)를 기준으로 완전탐색(full search)을 수행한다. 움직임 추정기(11)에서 생성된 움직임벡터는 프레임 스토어 및 움직임보상기(17)로 보내져 이미 메모리에 저장된 이전 영상의 복원영상을 참고로 하여 움직임보상을 통해 움직임 보상 영상을 구성한다. 따라서 움직임 보상 영상은 움직임 추정기(11)의 움직임 추정과 프레임 스토어 및 움직임보상기(17)의 움직임 보상을 통하여 현재 영상과 매우 유사한 영상이 될 수 있다.Referring to FIG. 1, the motion estimator 11 generates a motion vector for configuring a current image by referring to a previous image. Most encoders perform a full search based on the minimum absolute error (MAE) within a fixed range in units of fixed blocks to generate a motion vector. The motion vector generated by the motion estimator 11 is sent to the frame store and the motion compensator 17 to form a motion compensation image through motion compensation by referring to the reconstructed image of the previous image already stored in the memory. Therefore, the motion compensation image may be very similar to the current image through the motion estimation of the motion estimator 11 and the motion compensation of the frame store and the motion compensator 17.

감산기(18)에서는 현재 영상과 움직임보상 영상과의 차가 계산되어 움직임 보상(이하 MC라 약함) 에러를 생성한다. 즉, MC 에러에 움직임 보상 영상을 합치면 완전한 현재의 영상이 생성된다. MC 에러는 DCT(12)로 보내져 공간영역에서 주파수영역으로 변환된다.The subtractor 18 calculates a difference between the current image and the motion compensation image to generate a motion compensation (hereinafter, MC) error. That is, combining the motion compensation image with the MC error produces a complete current image. The MC error is sent to the DCT 12 and converted from the spatial domain to the frequency domain.

양자화기(Q;13)에서는 DCT(12)에서 변환된 MC 에러를 비트율 제어기(18)에서 생성된 양자화간격에 따라서 양자화를 수행한다. 양자화기(13)에서 양자화된 MC 에러는 가변장 부호화기(19)에서 가변장 부호화가 수행되어 멀티플렉서(20)를 통해 부호화기의 최종단인 버퍼(21)로 보내지고 복호기로 전송된다.The quantizer Q 13 performs quantization of the MC error converted by the DCT 12 according to the quantization interval generated by the bit rate controller 18. The MC error quantized by the quantizer 13 is subjected to variable length encoding by the variable length encoder 19 to be transmitted to the buffer 21 which is the last stage of the encoder through the multiplexer 20 and transmitted to the decoder.

역양자화기(Q-1;14)와 역이산여현변환기(DCT-1;15)는 각각 양자화기(13)와 DCT(12)의 역변환과정으로 MC 에러를 다시 역양자화와 역이산여현변환한 후에 가산기 (16)에서 움직임보상 영상과 합쳐져 현재 영상의 복원 영상을 생성한 다음 프레임 스토어 및 움직임보상기(17)에 저장된다. 이때 생성되는 복원영상은 복호기에서 생성되는 복원영상과 100% 같은 영상이다.The inverse quantizer (Q -1 ; 14) and the inverse discrete cosine transformer (DCT -1 ; 15) perform inverse quantization and inverse discrete cosine transforming the MC error through inverse transformation processes of the quantizer 13 and the DCT 12, respectively. The adder 16 then combines the motion compensated image to generate a reconstructed image of the current image, and then stores it in the frame store and the motion compensator 17. The reconstructed image generated at this time is the same image as the reconstructed image generated by the decoder.

따라서 부호화기에서 복호기로 보내지는 데이타는 움직임벡터와 데이타가 일부 손실된 MC 에러이다. 복호기에서는 입력되는 움직임벡터를 이용하여 움직임 보상 영상을 구성한 후에 MC 에러를 역변형하여 프레임 스토어 및 움직임보상기(17)에 저장된 복원영상과 같은 복원영상을 생성하게 된다.Therefore, the data sent from the encoder to the decoder is an MC error in which a motion vector and some data are lost. The decoder constructs a motion compensation image using the input motion vector, and inversely transforms an MC error to generate a reconstructed image such as a reconstructed image stored in the frame store and the motion compensator 17.

감산기(18)에서 출력되는 MC 에러는 2가지 원인에 의하여 발생한다. 첫째는움직임 추정기(11)의 고정된 블럭을 단위로 움직임 평가를 함으로서 블럭내에 2개 이상의 다른 운동성분이 존재하면, 프레임 스토어 및 움직임보상기(17)에서 정확한 움직임 보상을 할 수 없게 되어 움직임보상 영상과 원영상과의 에러가 생성된다. 이때의 에러를 보상에러라고 일컫기로 한다. 보상에러는 영상내에서 운동하는 물체의 경계 에지에서 많이 발생하며 그 이외에서는 거의 발생하지 않는 특성을 갖는다. Strobach 는 이러한 효과를 '라인 드로잉(line drawing) 효과'라고 하였다.The MC error output from the subtractor 18 is caused by two causes. First, if two or more different motion components exist in the block by performing motion estimation based on the fixed block of the motion estimator 11, the frame store and the motion compensator 17 cannot perform accurate motion compensation. An error with the original image is generated. The error at this time will be referred to as a compensation error. Compensation errors occur frequently at the boundary edges of objects moving in the image and rarely occur elsewhere. Strobach calls this effect the 'line drawing effect'.

MC 에러 발생의 둘째 원인은 누적에러이다. MC 에러는 다음의 여러가지 과정에 의해 부호화되므로써 MC 에러가 모두 부호화되면 복원영상에서 에러가 발생하지 않는다. 그러나 목표로 하는 비트전송률에 의하여 비트율 제어기(18)에 의해 설정된 양자화간격에 따라서 양자화를 하면서 에러가 발생한다. 따라서 복호기와 프레임 스토어 및 움직임보상기(17)에서 생성된 복원영상에는 에러가 존재하게 된다. 이러한 에러는 영상에 대한 처리가 계속될수록 누적되며 큰 값을 갖지는 않지만 매우 넓게, 랜덤하게 분포한다.The second cause of MC error is cumulative error. Since the MC error is encoded by the following various processes, if all MC errors are encoded, no error occurs in the reconstructed image. However, an error occurs while quantizing according to the quantization interval set by the bit rate controller 18 according to the target bit rate. Therefore, an error exists in the reconstructed image generated by the decoder, the frame store, and the motion compensator 17. These errors accumulate as the image processing continues and do not have large values, but are very wide and random.

결국 MC 에러는 보상에러와 누적에러가 더해져서 생성되기 때문에 보상에러의 특징과 누적에러의 특징을 모두 갖는다. 즉, 보상에러와 같이 영상내의 움직이는 물체의 경계부분에 높은 에러값을 가지며 또한 누적에러와 같이 모든 영역에 걸쳐서 낮은 에러값들이 불규칙하게 분포한다.After all, since the MC error is generated by adding the compensation error and the cumulative error, it has both the characteristics of the compensation error and the cumulative error. That is, it has a high error value at the boundary of a moving object in the image such as a compensation error, and low error values are irregularly distributed over all regions such as a cumulative error.

상술한 MC 에러는 DCT를 통하여 공간영역에서 주파수영역으로 변환되어 전력의 집중을 기대할 수 있으나, DCT를 통한 전력의 집중은 공간영역에서 각 화소들의 값들의 상호연관성(co-relation)이 많을 경우에만 가능하다. MC 에러는 누적에러의 불규칙한 분포의 성질을 그대로 가지고 있으므로 불규칙한 분포를 갖는 MC 에러에 대하여 DCT를 행하였을 경우 전력이 집중되지 않을 뿐 아니라 오히려 분산되는 경우가 매우 많아진다.The above-mentioned MC error is converted from the spatial domain to the frequency domain through the DCT, and the power concentration can be expected. However, the concentration of the power through the DCT can be achieved only when there are many co-relations of the values of the pixels in the spatial domain. It is possible. Since the MC error has the property of irregular distribution of cumulative errors as it is, when the DCT is performed on the MC error having an irregular distribution, power is not concentrated and is more often distributed.

이렇게 MC 에러에 대하여 DCT를 수행함으로써 전력의 집중을 기대할 수 없다는 것은 이미 Strobach에 의하여 실험적으로 밝혀졌다. Strobach는 MC 에러에 대한 DCT의 비효율성을 지적하면서 그 대안으로써 쿼드트리(quadtree)를 통한 부호화방법을 제시하였다.It is already experimentally proved by Strobach that the concentration of power cannot be expected by performing DCT on the MC error. Strobach pointed out the DCT's inefficiency for MC errors and proposed a quadtree encoding method as an alternative.

쿼드트리를 통한 부호화는 일정한 크기의 블럭에 대하여 블럭내의 화소들이 모두 비슷한 값을 가지고 있을 경우에는 그 블럭내 값들의 평균값을 부호화하며, 블럭내의 화소들이 매우 다른 값을 가지고 있을 경우에는 4등분하여 4개의 작은 블럭에 대하여 블럭내 값들의 유사성을 조사하게 된다. 이러한 방식으로 계속해서 조건이 맞을 때까지 블럭을 4등분하면서 블럭내의 평균값과 쿼드트리의 구조를 부호화한다.The encoding using quadtree encodes the average value of the values in the block if the pixels in the block have a similar value for a block of a constant size, and divides the data into four equal parts if the pixels in the block have very different values. We will examine the similarity of the values in the block for three small blocks. In this way, the block is divided into four quarters until the condition is met, and the mean value in the block and the quadtree structure are encoded.

실제 동영상 부호화에 있어서 MC 에러는 누적에러와 보상에러가 합쳐져서 구성됨에도 불구하고 Strobach는 MC 에러의 특성을 단순한 보상에러의 특성만을 가정함으로써 MC 에러가 누적에러의 불규칙한 분포로 인하여 발생하는 특성을 전혀 고려하고 있지 않다. 즉, 움직이는 물체의 경계 에지에 집중되어 있는 에러 뿐만 아니라 그외의 다른 영역에서도 누적에러의 불규칙한 분포로 인하여 분산이 크기 때문에 쿼드트리를 이용하여 부호화를 하였을 경우 모든 영역에서 매우 잘게 영역들이 분리된다. 따라서 부호화될 쿼드트리 구조에 대한 정보는 물론, 각 영역에 대한 평균값을 부호화해야 하기 때문에 정보량이 불러나는 현상을 초래하게 된다.Although MC errors are composed of cumulative error and compensation error in real video coding, Strobach assumes only MC compensation characteristics as a simple compensation error, and considers the characteristics of MC errors due to irregular distribution of cumulative errors. I'm not doing it. That is, since the dispersion is large due to the irregular distribution of the cumulative errors in other areas as well as the error concentrated on the boundary edge of the moving object, the regions are very finely divided in all regions when the encoding is performed using the quadtree. Therefore, the information about the quadtree structure to be encoded, as well as the average value for each region, must be encoded, resulting in a phenomenon in which the information amount is called out.

또한 누적에러의 불규칙한 분포로 인하여 평균값이 '0'에 가까운 값을 가지는 경우가 많아지기 때문에 이러한 경우 평균값을 전송하여 에러를 보상해도 효과가 두드러지게 나타나지 않는다.Also, due to the irregular distribution of cumulative errors, the average value often has a value close to '0'. In this case, even if the average value is transmitted to compensate for the error, the effect is not remarkable.

제2도는 보상에러, 누적에러 및 MC 에러(보상에러+누적에러) 에 대하여 같은 분산 임계값 400을 적용하여 쿼드트리로 나누었을 때 생성된 최하단영역 (leaf node)들의 갯수를 나타낸다. 이때, 누적에러의 경우 보상에러보다 최하단영역의 갯수가 훨씬 많음을 볼 수 있으며, 이에 따라서 MC 에러도 많아짐을 볼 수 있다.FIG. 2 shows the number of leaf nodes generated when divided into quadtrees by applying the same dispersion threshold 400 for compensation error, cumulative error, and MC error (compensation error + cumulative error). In this case, the cumulative error can be seen that the number of the lowest region is much more than the compensation error, and accordingly the MC error is also increased.

상술한 바와 같이 MC 에러에 대한 부호화를 위하여 기존에 널리 사용되는 DCT 방법은 MC 에러의 불규칙한 분포와 에지에서의 고주파수 성분으로 인하여 비효율적이라는 것을 알 수 있다. 또한, 그 대안으로 제시하고 있는 쿼드트리 방법 역시 MC 에러의 불규칙한 분포로 인하여 비효율적이라는 것을 알 수 있다.As described above, the DCT method widely used for encoding the MC error is inefficient due to the irregular distribution of the MC error and the high frequency component at the edge. In addition, it can be seen that the quadtree method proposed as an alternative is also inefficient due to the irregular distribution of MC errors.

또한, 부호화과정에서 발생하는 데이타 손실에 의하여, 비트율 제어기(18)에서 생성된 양자화간격에 따른 양자화과정에서 오차가 유발된다. 이때, 목표 전송률이 높은 경우에는 양자화 간격이 작기 때문에 오차가 작은 반면, 전송률이 낮은 경우에는 양자화 간격이 크기 때문에 오차가 매우 심해져 복원영상의 화질이 매우 떨어진다.In addition, due to data loss occurring in the encoding process, an error is caused in the quantization process according to the quantization interval generated in the bit rate controller 18. In this case, when the target transmission rate is high, the error is small because the quantization interval is small, whereas when the target transmission rate is low, the error is very severe because the quantization interval is large, so that the image quality of the reconstructed image is very poor.

특히 64 Kbps 이하의 초저전송률 동영상 부호화의 경우에는 제한된 전송률로 인하여 일반적인 DCT 또는 쿼드트리 처리구조에서는 양자화간격이 매우 커져서 많은 데이타가 손실되기 때문에 화면에 처리된 블럭의 크기와 같은 크기들이 나타나는 블럭킹효과와, 움직이는 물체의 경계선에 점의 형태로 에러가 집중되는 모스키토 효과 및 물체의 경계선이 일치하지 않는 현상 등이 발생하여 화질의 저하가 매우 두드러지게 나타나게 된다.Especially, in the case of ultra low bit rate video encoding of 64 Kbps or less, due to limited bit rate, the blocking effect is that the size of the processed block appears on the screen because a lot of data is lost because the quantization interval becomes very large in the general DCT or quadtree processing structure. In addition, the deterioration of the image quality is very prominent due to the mosquito effect in which errors are concentrated in the form of a dot on the boundary of a moving object and a phenomenon in which the boundary of the object does not match.

따라서 본 발명의 목적은 상술한 문제점을 해결하기 위하여 움직임 보상후에 발생되는 MC 에러를 특성에 따라서 누적에러와 보상에러로 분리하고 각각의 특성에 맞도록 부호화처리함으로써 비트발생면과 복원화질면에서 효과적인 부호화를 수행하기 위한 동영상 부호화방법을 제공하는 데 있다.Accordingly, an object of the present invention is to solve the above problems by separating the MC error generated after motion compensation into cumulative errors and compensation errors according to characteristics, and encoding them according to the characteristics to be effective in terms of bit generation and reconstruction quality. The present invention provides a video encoding method for performing encoding.

본 발명의 다른 목적은 상기 동영상 부호화방법을 실현하는데 가장 적합된 장치를 제공하는데 있다.Another object of the present invention is to provide an apparatus most suitable for realizing the video encoding method.

상기 목적을 달성하기 위하여 본 발명에 따른 동영상 부호화방법은In order to achieve the above object, a video encoding method according to the present invention

이전의 원영상을 참조하여 현재의 원영상에 대한 움직임 평가를 수행하여 움직임벡터를 생성하고, 상기 움직임벡터와 이전의 복원영상을 참조하여 움직임보상 영상을 생성하는 움직임 보상과정;A motion compensation process of generating a motion vector by performing motion evaluation on the current original image with reference to a previous original image, and generating a motion compensated image by referring to the motion vector and the previous reconstructed image;

상기 움직임 보상과정을 수행한 후에 발생되는 움직임보상 에러를 누적에러와 보상에러로 분리하는 에러분리과정;An error separation step of separating a motion compensation error generated after the motion compensation process into a cumulative error and a compensation error;

상기 에러분리과정에서 분리된 누적에러와 보상에러를 각 에러의 특성에 맞도록 쿼드트리 처리하는 쿼드트리처리과정;A quadtree processing step of quadtree processing the accumulated error and the compensation error separated in the error separation process so as to match the characteristics of each error;

상기 쿼드트리처리과정에서 처리된 누적에러와 보상에러의 각 쿼드트리에서의 평균값에 대한 양자화를 수행하고, 소정의 양자화간격에 따라서 양자화계수를 결정하는 양자화과정;A quantization step of performing quantization on the mean value in each quadtree of the cumulative error and the compensation error processed in the quadtree processing, and determining a quantization coefficient according to a predetermined quantization interval;

상기 양자화과정에서 양자화된 데이타에 대하여 가변장 부호화를 수행하는 가변장부호화과정;A variable length encoding process of performing variable length encoding on the quantized data in the quantization process;

상기 가변장부호화과정에서 출력되는 데이타를 저장하는 저장과정;A storage process of storing data output in the variable length encoding process;

상기 저장과정에서 저장된 데이타의 양에 따라서 상기 양자화과정에 제공할 양자화간격을 결정하는 비트율 제어과정;A bit rate control process of determining a quantization interval to be provided to the quantization process according to the amount of data stored in the storage process;

상기 양자화과정에서 양자화된 데이타를 양자화되기 이전의 데이타로 변환하는 역양자화과정;An inverse quantization process of converting quantized data into data before being quantized in the quantization process;

상기 역양자화기의 출력데이타 중 특정한 부블럭에서 평균값이 있는 블럭에 대하여 역쿼드트리 처리를 수행하여 재생 보상에러 및 재생 누적에러를 생성하는 역쿼드트리 처리과정; 및An inverse quadtree process of generating a reproduction compensation error and a reproduction accumulation error by performing an inverse quadtree process on a block having an average value in a specific subblock among the output data of the inverse quantizer; And

상기 역쿼드트리 처리과정에서 생성되는 재생 보상에러와 재생 누적에러와 상기 움직임 보상과정에서 생성되는 움직임보상 영상으로부터 1차적인 복원영상을 만든 후에 저역통과필터링을 통하여 최종적인 복원영상을 생성하는 복원영상 생성과정을 포함하는 것을 특징으로 한다.A reconstructed image that generates a final reconstructed image through low pass filtering after a first reconstructed image is generated from a reproduction compensation error generated during the inverse quadtree processing, a reproduction accumulation error, and a motion compensation image generated in the motion compensation process. Characterized in that it comprises a generation process.

상기 다른 목적을 달성하기 위하여 본 발명에 따른 동영상 부호화장치는In order to achieve the above object, a video encoding apparatus according to the present invention

이전의 원영상과 현재의 원영상을 저장하기 위한 제1버퍼;A first buffer for storing a previous original image and a current original image;

상기 제1버퍼에 저장된 이전의 원영상을 참조하여 현재의 원영상에 대한 움직임 평가를 수행하여 움직임벡터를 생성하고, 생성된 움직임벡터와 이전의 복원영상을 참조하여 움직임보상 영상을 생성하기 위한 움직임추정 및 보상기;A motion vector is generated by performing motion evaluation on the current original image by referring to the previous original image stored in the first buffer, and a motion for generating a motion compensation image by referring to the generated motion vector and the previous reconstructed image. Estimator and compensator;

상기 움직임추정 및 보상기에서 생성된 움직임보상 영상과 현재의 원영상을 가지고 움직임보상 에러를 생성하고, 보상에러와 누적에러로 분리하기 위한 움직임보상 에러발생 및 분리기;A motion compensation error generation and separator for generating a motion compensation error with the motion compensation image generated by the motion estimation and compensator and the current original image, and separating the compensation error and the cumulative error;

상기 움직임보상 에러발생 및 분리기에서 출력되는 보상에러와 누적에러에 대하여 부호화를 위한 쿼드트리 처리를 수행하기 위한 제1 및 제2쿼드트리 처리기;First and second quadtree processors for performing quadtree processing for encoding on the compensation error and the cumulative error output from the motion compensation error generator and the separator;

상기 움직임추정 및 보상기에서 생성된 움직임벡터와 상기 제1 및 제2쿼드트리 처리기의 출력데이타를 절환하여 출력하기 위한 절환부;A switching unit for switching and outputting the motion vector generated by the motion estimation and compensator and output data of the first and second quadtree processors;

상기 절환부의 출력데이타 중에서 쿼드트리에서의 평균값에 대한 양자화를 수행하고, 소정의 양자화간격에 따라서 양자화계수를 결정하기 위한 양자화기;A quantizer for performing quantization on an average value in the quadtree among the output data of the switching unit and determining a quantization coefficient according to a predetermined quantization interval;

상기 양자화기에서 양자화된 데이타에 대하여 가변장 부호화를 수행하기 위한 가변장부호화기;A variable length encoder for performing variable length coding on the data quantized by the quantizer;

상기 가변장부호화기에서 출력되는 데이타를 저장하기 위한 제2버퍼;A second buffer for storing data output from the variable length encoder;

상기 제2버퍼에 저장된 데이타의 양에 따라서 상기 양자화기에 재공할 양자화간격을 결정하기 위한 비트율 제어기;A bit rate controller for determining a quantization interval to be provided to the quantizer according to the amount of data stored in the second buffer;

상기 양자화기에서 양자화된 데이타를 양자화되기 이전의 데이타로 변환하기 위한 역양자화기;An inverse quantizer for converting quantized data into data before being quantized;

상기 역양자화기의 출력데이타 중 특정한 부블럭에서 평균값이 있는 블럭에 대하여 역쿼드트리 처리를 수행하여 재생 보상에러 및 재생 누적에러를 생성하기 위한 제1 및 제2역쿼드트리 처리기 ; 및First and second inverse quad tree processors for generating a compensation compensation error and a cumulative reproduction error by performing inverse quadtree processing on a block having an average value in a specific subblock among the output data of the inverse quantizer; And

상기 제1 및 제2역쿼드트리 처리기에서 각각 출력되는 재생 보상에러와 재생 누적에러를 상기 움직임 추정 및 보상기에서 출력되는 움직임보상 영상에 더하여 1차적인 복원영상을 만든 후에 필터링을 통하여 불규칙하게 분포한 에러를 처리하여 최종적인 복원영상을 생성하기 위한 가산기 및 필터를 포함하는 것을 특징으로 한다.After generating the first reconstructed image by adding the reproduction compensation error and the reproduction accumulation error output from the first and second inverse quad tree processors to the motion compensation image output from the motion estimator and the compensator, they are irregularly distributed through filtering. And an adder and a filter for processing an error to generate a final reconstructed image.

이하 첨부된 도면을 참조하여 본 발명에 대하여 상세히 설명하기로 한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

제3도는 본 발명에 의한 동영상 부호화장치를 나타낸 블럭도로서, 제1 및 제2버퍼(51, 59), 움직임 추정 및 보상기(52), MC 에러 발생 및 분리기(53), 제1 및 제2쿼드트리 처리기(54, 55), 절환부 예컨데, 멀티플렉서(56), 양자화기(57), 가변장부호화기(58), 비트율 제어기(59), 역양자화기(61), 제1 및 제2역쿼드트리 처리기(62, 63)와, 가산기 및 필터(64)로 구성된다.3 is a block diagram showing a video encoding apparatus according to the present invention, wherein the first and second buffers 51 and 59, the motion estimation and compensator 52, the MC error generator and separator 53, and the first and second buffers are shown. Quadtree processors 54, 55, switchers for example multiplexer 56, quantizer 57, variable length encoder 58, bit rate controller 59, dequantizer 61, first and second inverse Quadtree processors 62, 63, adders and filters 64 are included.

제3도에 도시된 동영상 부호화장치의 동작을 살펴보면, 제1버퍼(51)는 현재와 이전의 원영상을 저장하고, 움직임추정 및 보상기(52)에서는 제1버퍼(51)에 저장된 이전의 원영상을 참조하여 현재 영상에 대한 움직임 평가를 수행하여 움직임 벡터를 생성하고, 생성된 움직임벡터와 저장하고 있는 전영상의 복원영상을 참조하여 움직임보상(MC) 영상을 생성한다.Referring to the operation of the video encoding apparatus shown in FIG. 3, the first buffer 51 stores current and previous original images, and the motion estimation and compensator 52 stores the previous circles stored in the first buffer 51. A motion vector is generated by performing motion evaluation on the current image with reference to the image, and a motion compensation (MC) image is generated by referring to the generated motion vector and the reconstructed image of all the stored images.

MC 에러 발생 및 분리기(53)에서는 움직임추정 및 보상기(52)에서 생성된 MC 영상과 현재의 원영상을 가지고 MC 에러를 생성하고, MC 에러를 분리하여 보상에러와 누적에러를 생성한다.The MC error generation and separator 53 generates an MC error using the MC image generated by the motion estimation and compensator 52 and the current original image, and separates the MC error to generate a compensation error and a cumulative error.

제1 및 제2쿼드트리 처리기(54, 55)에서는 각각 MC 에러 발생 및 분리기(53)에서 출력되는 보상에러 및 누적에러에 대하여 부호화를 위한 쿼드트리 처리를 행한다.The first and second quadtree processors 54 and 55 perform quadtree processing for encoding on the compensation error and the cumulative error output from the MC error generator and the separator 53, respectively.

멀티플렉서(56)에서는 움직임 추정 및 보상기(52)에서 생성된 움직임벡터와 제1 및 제2쿼드트리 처리기(54, 55)의 출력데이타를 입력받아 순차적으로 선택하여 복호기(미도시)로 전송한다.The multiplexer 56 receives a motion vector generated by the motion estimator and compensator 52 and output data of the first and second quadtree processors 54 and 55, sequentially selects the motion vectors, and transmits the same to a decoder (not shown).

양자화기(57)에서는 멀티플렉서(56)로부터 공급받은 데이타 중에서 쿼드트리에서의 평균값에 대한 양자화를 수행하고, 비트율 제어기 (60)로부터 공급되는 양자화간격에 따라서 양자화계수를 결정한다.The quantizer 57 performs quantization on the average value in the quadtree among the data supplied from the multiplexer 56 and determines the quantization coefficient according to the quantization interval supplied from the bit rate controller 60.

가변장부호화기(58)에서는 양자화기(57)에서 양자화된 데이타에 대하여 가변장 부호화를 수행하고, 제2버퍼(59)에서는 가변장부호화기(58)의 출력데이타를 저장한다.The variable length encoder 58 performs variable length coding on the data quantized by the quantizer 57, and the second buffer 59 stores the output data of the variable length encoder 58.

비트율 제어기(60)에서는 제2버퍼(59)에 저장된 데이타의 양에 따라서 양자화기(57)에 재공할 양자화간격을 결정하고, 역양자화기(61)에서는 양자화기(57)와 반대의 동작을 수행하며, 양자화된 데이타를 양자화되기 이전의 데이타와 유사한 형태로 변환한다.The bit rate controller 60 determines the quantization interval to be provided to the quantizer 57 according to the amount of data stored in the second buffer 59, and the inverse quantizer 61 performs operations opposite to the quantizer 57. And converts the quantized data into a form similar to the data before being quantized.

제1 및 제2역쿼드트리 처리기(62, 63)에서는 역양자화기(61)의 출력데이타 중 특정한 부블럭에서 평균값이 있는 블럭만 추출하여 재생 보상에러 및 재생 누적에러를 생성한다.The first and second inverse quad tree processors 62 and 63 extract only a block having an average value from a specific subblock among the output data of the inverse quantizer 61 to generate a reproduction compensation error and a reproduction accumulation error.

가산기 및 필터(64)에서는 재생 보상에러와 재생 누적에러를 움직임추정 및 보상기(52)에서 출력되는 MC 영상에 더하여 1차적인 복원영상을 만든 후에 필터링을 통하여 불규칙하게 분포한 에러를 처리하여 최종적인 복원영상을 만든다.In the adder and the filter 64, the reproduction compensation error and the accumulated accumulation error are added to the MC image output from the motion estimation and the compensator 52 to form a first reconstructed image, and then an irregular distribution error is processed by filtering to obtain a final reconstructed image. Create a reconstruction image.

우선 MC 에러의 특성은 누적에러와 보상에러의 특성이 함께 혼합된 형태이므로, t 시간에서의 MC 에러 et는 다음 (1) 식과 같이 나타낼 수 있다.First, since the characteristics of the MC error are a mixture of the characteristics of the cumulative error and the compensation error, the MC error e t at the time t can be expressed by the following equation (1).

제1식에서 ME(k)는 k영상을 참조하여 생성한 움직임벡터이고, MC(v,k)는 움직임 v를 이용하고 k영상을 참조하여 복원한 영상이고,는 t 시간에 복원된 영상이고, xt는 t시간의 원영상을 각각 나타낸다.In the first equation, ME (k) is a motion vector generated by referring to k image, MC (v, k) is an image reconstructed by using motion v and referring to k image, Are images reconstructed at time t, and x t represents the original image at time t.

상기 제1식으로 표현된 MC 영상을 다음 제2식과 같이 보상에러(memc)와 누적(acc)에러로 분리함으로써 각 에러의 특성에 적합한 처리가 가능하도록 한다.By separating the MC image represented by the first equation into a compensation error (memc) and cumulative (acc) error, as shown in the second equation to enable the processing suitable for the characteristics of each error.

제2식에서 et는 제1식을 통하여 구할 수 있으며, ememc이므로 eacc=et-ememc를 통하여 누적에러와 보상에러를 구할 수 있다. 보상에러는 움직이는 물체의 외곽 가장자리에 집중하여 분포하며, 그외의 지역에서는 매우 작은 값을 갖는다. 보상에러는 이미 에러값들이 모여 있는 상태이기 때문에 쿼드트리를 사용하여 나눌 경우, 에러가 모여 있는 작은 영역에서만 잘게 나누어지기 때문에 효과적인 부호화가 가능하다. 또한, 나머지 지역에서는 평균값이 '0'에 가깝기 때문에 부호화하지 않는다.In the second equation e t can be obtained from the first equation, e memc is Therefore, cumulative and compensation errors can be obtained through e acc = e t -e memc . Compensation errors are distributed around the outer edge of the moving object and are very small elsewhere. Compensation error is already in the state of gathering the error value, if you divide by using the quadtree, it can be effectively encoded because it is divided into only small areas where the error is gathered. In the rest of the regions, since the average value is close to '0', the encoding is not performed.

한편, 누적에러는 영상전체에 분포하며 매우 불규칙적이며 대부분 작은 규모의 값을 갖고, 큰 크기의 블럭내의 누적에러의 평균은 대부분 '0'이다. 따라서 저역통과필터링 처리를 하면 아무런 데이타의 전송없이도 효과적으로 처리할 수 있다. 그러나 누적에러는 보상에러의 완전하지 못한 처리에서 비롯되는 에러이므로 누적에러를 쿼드트리를 사용하여 보상에러와 같은 방식으로 처리한다. 이때 누적에러는 보상에러의 경우보다 작은 영역으로 나누어지는 경우가 드물며 평균값으로 처리한 후에도 역시 작은 규모의 값과 불규칙한 분포를 가지므로 평균값 처리후에 저역통과필터링을 수행한다.On the other hand, the cumulative error is distributed throughout the image and is very irregular and mostly has a small value, and the average of the cumulative error in a large block is mostly '0'. Therefore, the low pass filtering process can be processed effectively without any data transmission. However, the cumulative error is an error that results from incomplete processing of the compensation error, so the cumulative error is processed in the same way as the compensation error using the quadtree. At this time, the cumulative error is rarely divided into smaller areas than the compensation error, and even after processing with the average value, the low pass filtering is performed after the average value processing because it has a small value and an irregular distribution.

제4도는 제3도에 도시된 움직임 추정 및 보상기(52)와 MC 에러 발생 및 분리기(53)의 상세블럭도로서, 움직임 추정 및 보상기(52)는 움직임 추정기(101)와, 제1 및 제2움직임 보상기(102, 103)로 구성되고, MC 에러 발생 및 분리기(53)는 버퍼(107), 제1 내지 제3감산기(108, 109, 110)으로 구성된다.4 is a detailed block diagram of the motion estimator and compensator 52 and the MC error generation and separator 53 shown in FIG. 3, and the motion estimator and compensator 52 includes the motion estimator 101, Two motion compensators (102, 103), MC error generation and separator 53 is composed of a buffer 107, first to third subtractors (108, 109, 110).

제4도에 도시된 움직임 추정 및 보상기(52)의 동작을 살펴보면, 움직임 추정기(101)에서는 움직임 벡터를 생성하고, 제1움직임 보상기(102)는 이전영상의 원영상을 참조하고 움직임 추정기(101)에서 출력되는 움직임벡터를 이용하여 제1MC 영상을 구성하고, 제2움직임 보상기 (103)에서는 이전영상의 복원영상을 참조하고 움직임 추정기(101)에서 출력되는 움직임벡터를 이용하여 제2MC 영상을 구성한다.Referring to the operation of the motion estimation and compensator 52 shown in FIG. 4, the motion estimator 101 generates a motion vector, and the first motion compensator 102 refers to the original image of the previous image and the motion estimator 101. ) Configures the first MC image using the motion vector output from the motion vector, and the second motion compensator 103 refers to the reconstructed image of the previous image and configures the second MC image using the motion vector output from the motion estimator 101. do.

한편, MC 에러 발생 및 분리기(53)의 동작을 살펴보면, 버퍼(107)는 제2움직임 보상기(103)에서 출력되는 제2MC 영상을 저장하고 복원영상을 구성하고, 제1감산기(108)에서는 제1움직임 보상기(102)에서 출력되는 제1MC 영상과 현재영상의 원영상과의 차를 구하여 보상에러를 생성하고, 제2감산기(109)에서는 제2움직임 보상기(103)에서 출력되는 MC 영상과 현재영상의 원영상과의 차를 구하여 MC 에러를 생성하고, 제3감산기 (110)에서는 제2감산기(109)에서 출력되는 MC 에러와 제1감산기(108)에서 출력되는 보상에러의 차를 구하여 누적에러를 생성한다.Meanwhile, referring to the MC error generation and the operation of the separator 53, the buffer 107 stores the second MC image output from the second motion compensator 103 and composes a reconstructed image. Compensation error is generated by obtaining a difference between the first MC image output from the motion compensator 102 and the original image of the current image, and the MC image output from the second motion compensator 103 and the current are output from the second subtractor 109. The MC error is generated by obtaining the difference between the original image of the image, and the third subtractor 110 calculates and accumulates the difference between the MC error output from the second subtractor 109 and the compensation error output from the first subtractor 108. Generate an error.

제5도는 제3도에 도시된 제1 및 제2쿼드트리 처리기(54, 55)의 동작을 설명하기 위한 플로우챠트이다.FIG. 5 is a flowchart for explaining the operation of the first and second quadtree processors 54 and 55 shown in FIG.

제151단계에서 일정한 블럭 크기의 에러영상이 입력되면 제152단계에서는 블럭전체의 평균값 M과, 쿼드트리로 구분되는 4개부블럭에 대한 평균값 M1, M2, M3, M4를 연산한다.When an error image of a predetermined block size is input in operation 151, in operation 152, an average value M of the entire block and average values M1, M2, M3, and M4 of four subblocks divided into quadtrees are calculated.

제153단계에서는 평균값 M이 미리 설정해 둔 임계값 TH보다 작은지를 판단하여, 평균값 M이 임계값 TH보다 작으면 부블럭의 평균값 M1, M2, M3, M4가 임계값 TH보다 작은지를 판단한다(제154단계). 제154단계에서 부블럭의 평균값 M1, M2, M3, M4가 모두 임계값 TH보다 작으면 쿼드트리 방식의 분할(split)을 중지하고 지금까지 저장된 쿼드트리 구조를 멀티플렉서(제4도의 56)로 전송한다(제155단계).In step 153, it is determined whether the average value M is smaller than the preset threshold TH. If the average value M is smaller than the threshold TH, it is determined whether the average values M1, M2, M3, and M4 of the sub-blocks are smaller than the threshold TH (th). Step 154). If the average values M1, M2, M3, and M4 of the subblocks are smaller than the threshold value TH in step 154, the quadtree-type split is stopped and the quadtree structure stored so far is transmitted to the multiplexer (56 of FIG. 4). (Step 155).

한편, 제153단계에서 평균값 M이 임계값 TH보다 크면 블럭내의 모든 값에서 평균값 M을 뺀 후, 새로운 블럭값을 생성하고(제156단계), 새로운 부블럭들의 평균값을 생성한다(제157단계). 제158단계에서는 제157단계에서 생성한 새로운 부블럭들의 평균값이 임계값 TH보다 작은지를 판단하여, 부블럭들의 평균값이 모두 임계값 TH보다 작으면 쿼드트리 방식의 분할(split)을 중지하고 지금까지 저장된 쿼드트리 구조를 멀티플렉서(제4도의 56)로 전송한다(제155단계).On the other hand, if the average value M is greater than the threshold value TH in step 153, the average value M is subtracted from all values in the block, and then a new block value is generated (step 156), and the average value of the new subblocks is obtained. (Step 157). In step 158, an average value of the new subblocks generated in step 157 is used. It is judged whether it is smaller than this threshold value TH, and the average value of subblocks If all of these are smaller than the threshold value TH, the quadtree type split is stopped and the quadtree structure stored so far is transmitted to the multiplexer (56 in FIG. 4) (step 155).

한편, 제158단계에서 부블럭들의 평균값중의 하나라도 임계값 TH보다 큰 경우에는 현재블럭의 크기가 최소블럭보다 큰가를 판단한다(제159단계). 제159단계에서 현재블럭의 크기가 최소블럭보다 크면 블럭을 퀴드트리로 나누고, 쿼드트리 구조를 저장한후, 제152단계로 복귀하여 각각의 부블럭에 대하여 쿼드트리 처리를 계속한다(제160단계).On the other hand, the average value of the sub-blocks in step 158 If any one is larger than the threshold TH, it is determined whether the size of the current block is larger than the minimum block (step 159). If the size of the current block is greater than the minimum block in step 159, the block is divided into quidtrees, the quadtree structure is stored, and the flow returns to step 152 to continue the quadtree processing for each sub-block (step 160). .

제6도는 제3도에 도시된 가산기 및 필터(64)의 상세블럭도로서, 제1 및 제2가산기(201, 202), 필터 탭 및 계수 결정부(203)와 저역통과필터(204)로 구성된다.FIG. 6 is a detailed block diagram of the adder and filter 64 shown in FIG. 3, which includes first and second adders 201 and 202, filter tap and coefficient determiner 203, and low pass filter 204. FIG. It is composed.

제6도에 도시된 가산기 및 필터(64)의 동작을 살펴보면, 제1가산기(201)에서는 움직임 추정 및 보상기(제4도의 52)에서 출력되는 MC 영상과 제1역쿼드트리 처리기(제4도의 62)에서 출력되는 재생 보상에러를 가산하고, 제2가산기(202)에서는 제1가산기(201)의 출력과 제2역쿼드트리 처리기(제4도의 63)에서 출력되는 재생 누적에러를 가산한다.Referring to the operation of the adder and the filter 64 shown in FIG. 6, the first adder 201 uses the MC image and the first inverse quad tree processor (FIG. 4 of FIG. The reproduction compensation error output from 62 is added, and the second adder 202 adds the output of the first adder 201 and the accumulated accumulation error output from the second inverse quadtree processor (63 of FIG. 4).

필터 탭 및 계수 결정부(203)에서는 제2역쿼드트리 처리기(제4도의 63)에서 출력되는 재생 누적에러의 부블럭 크기에 따라 탭수를 결정하고, 제1가산기(201)에서 출력되는 복원영상에서 같은 위치, 같은 크기에서의 분산에 의해 필터 계수를 결정하고, 저역통과필터(204)에서는 제2가산기(202)의 출력을 필터 탭 및 계수 결정부(203)에서 결정한 필터 계수로 필터링한다.The filter tap and coefficient determiner 203 determines the number of taps according to the subblock size of the reproduction accumulated error output from the second inverse quadtree processor (63 of FIG. 4), and the reconstructed image output from the first adder 201. The filter coefficients are determined by the variance at the same position and the same size, and the low pass filter 204 filters the output of the second adder 202 by the filter coefficients determined by the filter tap and the coefficient determiner 203.

제7도는 누적에러와 보상에러에 대한 처리구조를 도식적으로 나타낸 예이다.7 is a diagram schematically showing a processing structure for cumulative errors and compensation errors.

제7도에 있어서, a)를 원신호로, b)를 누적에러라고 가정한다. 누적에러 b)는 불규칙하고 전신호영역에 걸쳐 존재한다. 누적에러 b)와 원신호 a)를 합치면 c)와 같이 되고, c)에 대하여 저역통과필터링을 함으로써 d)와 같은 복원신호를 생성할 수 있다. 이와 같이 저역통과필터링만으로 원신호와 매우 유사한 복원신호를 생성할 수 있는 것은, 누적에러의 평균값이 '0'이며, 또한 불규칙적으로 분포되어 있기 때문이다. e)는 보상에러를 나타내는 것으로서, a)의 원신호에 e)의 보상에러를 합하면 f)와 같이 보상에러가 존재하는 신호가 된다. f)를 쿼드트리(1차신호에서는 이진트리)로 나누면 g)와 같이 보상에러가 존재하는 영역만 잘게 나누어진다. 에러가 있는 영역은 평균값으로 대체되므로 쿼드트리와 평균값을 사용하여 복원한 보상에러는 h)와 같다. 따라서 f)에서 h)를 빼면 i)와 같은 복원영상을 얻을 수 있다. 이러한 보상에러에 대한 쿼드트리 방법은 보상에러에서 대부분의 에러가 특정지역에 모여 있기 때문에 효과적으로 처리될 수 있다.In FIG. 7, it is assumed that a) is an original signal and b) is a cumulative error. Cumulative error b) is irregular and exists over the entire signal area. When the cumulative error b) and the original signal a) are combined, it becomes as c), and low pass filtering is performed on c) to generate a reconstruction signal as in d). Thus, a low pass filtering can generate a reconstruction signal very similar to the original signal because the average value of the cumulative errors is '0' and is irregularly distributed. e) indicates a compensation error. When the original error of a) and the compensation error of e) are combined, the signal becomes a signal such as f). When f) is divided into quadtrees (binary trees in the primary signal), only regions where compensation errors exist, such as g), are finely divided. Since the errored area is replaced with the mean value, the compensation error restored using the quadtree and the mean value is equal to h). Therefore, subtracting h) from f) yields a reconstructed image like i). The quadtree method for the compensation error can be effectively handled because most of the errors in the compensation error are collected in a specific area.

제8도는 누적에러와 보상에러의 처리에 있어서, 누적에러가 필터링을 통하여 처리되는 정도를 실험한 결과이다. 사용된 동영상 데이타는 "foreman"이라고 하는 영상으로 10Hz로 샘플링되어 있으며 352×288의 크기를 갖는다. 실험에서는 영상에 따라서 적응적인 필터링을 사용하지 않고 단순한 2차원 5탭과 고정된 계수값을 사용하여 필터링한 결과이기 때문에 실제 적응적인 필터링을 사용할 경우 보다 효과적인 결과를 기대할 수 있다. 실험결과에서 볼 수 있듯이 누적에러에 대한 별도의 부호화과정 없이도 3~4dB의 화질 개선이 이루어짐을 알 수 있다.8 is a result of experimenting with the degree to which the cumulative error is processed through filtering in the processing of the cumulative error and the compensation error. The video data used is an image called "foreman" and is sampled at 10Hz and has a size of 352 × 288. In the experiment, the result is filtered using a simple two-dimensional 5-tap and fixed coefficient values instead of the adaptive filtering according to the image. Therefore, more effective results can be expected when the adaptive filtering is used. As can be seen from the experimental results, it can be seen that the picture quality improvement of 3 ~ 4dB is achieved without additional coding process for cumulative error.

상술한 바와 같이 본 발명에 의한 동영상 부호화방법 및 장치에서는 움직임보상 에러신호를 보상에러와 누적에러로 분리하고, 보상에러에 있어서 집중되어 있는 에러신호는 쿼드트리방식으로 처리하여 평균값을 부호화하고 나머지 신호크기가 작은 신호에 대해서는 필터링 처리하며, 또한 누적에러에 있어서 그 특성에 따라 대부분 필터링 처리하고 일부만 평균값을 부호화함으로써 종래 이산여현변환 또는 쿼드트리 방법에 비하여 비트발생량이 감소하므로 초저전송률 동영상 부호화에 적합한 이점이 있다.As described above, in the video encoding method and apparatus according to the present invention, the motion compensation error signal is divided into a compensation error and a cumulative error, and the error signal concentrated in the compensation error is processed by a quadtree method to encode an average value and the remaining signals. The small size signal is filtered and the cumulative error is mostly filtered according to its characteristics, and only a part of the average value is encoded, thereby reducing bit generation as compared to the conventional discrete cosine transform or quadtree method. There is this.

또한, 보상에러에 대한 효과적인 부호화로 물체의 경계선이 일치하지 않는 현상을 크게 감소시킬수 있으며, 필터링을 통하여 모스키토 효과와 블럭킹효과와 같은 현상을 크게 감소시킬수 있으므로 종래의 이산여현변환 또는 일반적인 쿼드트리 방법에 비하여 화질이 개선되는 효과가 있다.Also, the effective coding of compensation error can greatly reduce the disparity of the boundary of the object, and greatly reduce the phenomenon such as mosquito effect and blocking effect through filtering. Compared with this, the image quality is improved.

또한, 본 발명에서 사용하는 처리 구조는 데이타의 영역변환없이 그대로 공간영역에서 처리함으로써 이산여현변환과 같이 영역변환으로 발생되는 처리지연을 없앨수 있으며, 누적에러와 보상에러의 처리에 있어서 일반적인 쿼드트리 구조를 이용할 수 있으므로 에러의 분리처리로 인한 별도의 하드웨어의 추가를 필요로 하지 않는다.In addition, the processing structure used in the present invention can be processed in the spatial domain without changing the area of the data, thereby eliminating the processing delay caused by the area transformation like the discrete cosine transform, and the general quadtree structure in the processing of cumulative error and compensation error. Can be used to eliminate the need for additional hardware due to the separation of errors.

Claims (9)

이전의 원영상을 참조하여 현재의 원영상에 대한 움직임 평가를 수행하여 움직임벡터를 생성하고, 상기 움직임벡터와 이전의 복원영상을 참조하여 움직임보상 영상을 생성하는 움직임 보상과정; 상기 움직임 보상과정을 수행한 후에 발생되는 움직임보상 에러를 누적에러와 보상에러로 분리하는 에러분리과정; 상기 에러분리과정에서 분리된 누적에러와 보상에러를 각 에러의 특성에 맞도록 쿼드트리 처리하는 쿼드트리처리과정; 상기 쿼드트리처리과정에서 처리된 누적에러와 보상에러의 각 쿼드트리에서의 평균값에 대한 양자화를 수행하고, 소정의 양자화간격에 따라서 양자화계수를 결정하는 양자화과정; 상기 양자화과정에서 양자화된 데이타에 대하여 가변장 부호화를 수행하는 가변장부호화과정; 상기 가변장부호화과정에서 출력되는 데이타를 저장하는 저장과정; 상기 저장과정에서 저장된 데이타의 양에 따라서 상기 양자화과정에 제공할 양자화간격을 결정하는 비트율 제어과정; 상기 양자화과정에서 양자화된 데이타를 양자화되기 이전의 데이타로 변환하는 역양자화과정; 상기 역양자화기의 출력데이타 중 특정한 부블럭에서 평균값이 있는 블럭에 대하여 역쿼드트리 처리를 수행하여 재생 보상에러 및 재생 누적에러를 생성하는 역쿼드트리 처리과정; 및 상기 역쿼드트리 처리과정에서 생성되는 재생 보상에러와 재생 누적에러와 상기 움직임 보상과정에서 생성되는 움직임보상 영상으로부터 1차적인 복원영상을 만든 후에 저역통과필터링을 통하여 최종적인 복원영상을 생성하는 복원영상 생성과정을 포함하는 것을 특징으로 하는 동영상 부호화방법.A motion compensation process of generating a motion vector by performing motion evaluation on the current original image with reference to a previous original image, and generating a motion compensated image by referring to the motion vector and the previous reconstructed image; An error separation step of separating a motion compensation error generated after the motion compensation process into a cumulative error and a compensation error; A quadtree processing step of quadtree processing the accumulated error and the compensation error separated in the error separation process so as to match the characteristics of each error; A quantization step of performing quantization on the mean value in each quadtree of the cumulative error and the compensation error processed in the quadtree processing, and determining a quantization coefficient according to a predetermined quantization interval; A variable length encoding process of performing variable length encoding on the quantized data in the quantization process; A storage process of storing data output in the variable length encoding process; A bit rate control process of determining a quantization interval to be provided to the quantization process according to the amount of data stored in the storage process; An inverse quantization process of converting quantized data into data before being quantized in the quantization process; An inverse quadtree process of generating a reproduction compensation error and a reproduction accumulation error by performing an inverse quadtree process on a block having an average value in a specific subblock among the output data of the inverse quantizer; And reconstructing the final reconstructed image through low pass filtering after creating a first reconstructed image from the regeneration compensation error generated during the inverse quadtree processing, the reproducing accumulation error, and the motion compensation image generated in the motion compensation process. Video encoding method comprising the image generation process. 제1항에 있어서, 상기 쿼드트리 처리과정에서 누적에러의 대부분은 저역통과필터링 처리하고, 평균값이 '0'가 아닌 일부에 대해서만 쿼드트리 처리하는 것을 특징으로 하는 동영상 부호화방법.The video encoding method of claim 1, wherein, in the quadtree processing, most of the cumulative errors are lowpass filtered, and the quadtree processing is performed only on a portion of which the average value is not '0'. 제1항에 있어서, 상기 쿼드트리 처리과정에서 보상에러중중되어 있는 에러는 쿼드트리 처리하여 평균값을 부호화하고, 나머지 크기가 작은 에러에 대해서는 부호화하지 않는 것을 특징으로 하는 동영상 부호화방법.The video encoding method of claim 1, wherein the error among the compensation errors in the quadtree processing is quadtree-processed to encode an average value, and the remaining small error is not encoded. 이전의 원영상과 현재의 원영상을 저장하기 위한 제1버퍼; 상기 제1버퍼에 저장된 이전의 원영상을 참조하여 현재의 원영상에 대한 움직임 평가를 수행하여 움직임벡터를 생성하고, 생성된 움직임벡터와 이전의 복원영상을 참조하여 움직임보상 영상을 생성하기 위한 움직임추정 및 보상기; 상기 움직임추정 및 보상기에서 생성된 움직임보상 영상과 현재의 원영상을 가지고 움직임보상 에러를 생성하고, 보상에러와 누적에러로 분리하기 위한 움직임보상 에러발생 및 분리기; 상기 움직임보상 에러발생 및 분리기에서 출력되는 보상에러와 누적에러에 대하여 부호화를 위한 쿼드트리 처리를 수행하기 위한 제1 및 제2쿼드트리 처리기; 상기 움직임추정 및 보상기에서 생성된 움직임벡터와 상기 제1 및 제2쿼드트리 처리기의 출력데이타를 절환하여 출력하기 위한 절환부; 상기 절환부의 출력데이타 중에서 쿼드트리에서의 평균값에 대한 양자화를 수행하고, 소정의 양자화간격에 따라서 양자화계수를 결정하기 위한 양자화기; 상기 양자화기에서 양자화된 데이타에 대하여 가변장 부호화를 수행하기 위한 가변장부호화기; 상기 가변장부호화기에서 출력되는 데이타를 저장하기 위한 제2버퍼; 상기 제2버퍼에 저장된 데이타의 양에 따라서 상기 양자화기에 재공할 양자화간격을 결정하기 위한 비트율 제어기; 상기 양자화기에서 양자화된 데이타를 양자화되기 이전의 데이타로 변환하기 위한 역양자화기; 상기 역양자화기의 출력데이타 중 특정한 부블럭에서 평균값이 있는 블럭에 대하여 역쿼드트리 처리를 수행하여 재생 보상에러 및 재생 누적에러를 생성하기 위한 제1 및 제2역쿼드트리 처리기 ; 및 상기 제1 및 제2역쿼드트리 처리기에서 각각 출력되는 재생 보상에러와 재생 누적에러를 상기 움직임 추정 및 보상기에서 출력되는 움직임보상 영상에 더하여 1차적인 복원영상을 만든 후에 필터링을 통하여 불규칙하게 분포한 에러를 처리하여 최종적인 복원영상을 생성하기 위한 가산기 및 필터를 포함하는 것을 특징으로 하는 동영상 부호화장치.A first buffer for storing a previous original image and a current original image; A motion vector is generated by performing motion evaluation on the current original image by referring to the previous original image stored in the first buffer, and a motion for generating a motion compensation image by referring to the generated motion vector and the previous reconstructed image. Estimator and compensator; A motion compensation error generation and separator for generating a motion compensation error with the motion compensation image generated by the motion estimation and compensator and the current original image, and separating the compensation error and the cumulative error; First and second quadtree processors for performing quadtree processing for encoding on the compensation error and the cumulative error output from the motion compensation error generator and the separator; A switching unit for switching and outputting the motion vector generated by the motion estimation and compensator and output data of the first and second quadtree processors; A quantizer for performing quantization on an average value in the quadtree among the output data of the switching unit and determining a quantization coefficient according to a predetermined quantization interval; A variable length encoder for performing variable length coding on the data quantized by the quantizer; A second buffer for storing data output from the variable length encoder; A bit rate controller for determining a quantization interval to be provided to the quantizer according to the amount of data stored in the second buffer; An inverse quantizer for converting quantized data into data before being quantized; First and second inverse quad tree processors for generating a compensation compensation error and a cumulative reproduction error by performing inverse quadtree processing on a block having an average value in a specific subblock among the output data of the inverse quantizer; And a reproduction compensation error outputted from the first and second inverse quad tree processors and a cumulative reproduction error respectively added to the motion compensation image output from the motion estimator and the compensator to form a first reconstructed image, and then irregularly distributed through filtering. And an adder and a filter for processing the error to generate a final reconstructed image. 제4항에 있어서, 상기 움직임추정 및 보상기는 이전의 원영상을 참조하여 현재의 원영상에 대한 움직임 평가를 수행하여 움직임 벡터를 생성하기 위한 움직임 추정기; 이전의 원영상을 참조하고 상기 움직임벡터를 이용하여 제1 움직임보상 영상을 생성하기 위한 제1움직임 보상기; 및 이전의 복원영상을 참조하고 상기 움직임벡터를 이용하여 제2 움직임보상 영상을 생성하기 위한 제2움직임 보상기로 구성되는 것을 특징으로 하는 동영상 부호화장치.The apparatus of claim 4, wherein the motion estimation and compensator comprises: a motion estimator for generating a motion vector by performing motion estimation on the current original image with reference to a previous original image; A first motion compensator for referring to a previous original image and generating a first motion compensated image by using the motion vector; And a second motion compensator configured to refer to a previous reconstructed image and to generate a second motion compensated image by using the motion vector. 제5항에 있어서, 상기 움직임보상 에러발생 및 분리기는 상기 제2움직임 보상기에서 출력되는 제2 움직임보상 영상을 저장하여 복원영상을 생성하는 버퍼; 상기 제1움직임 보상기에서 출력되는 제1 움직임보상 영상과 현재의 원영상과의 차를 구하여 보상에러를 생성하기 위한 제1감산기; 상기 제2움직임 보상기에서 출력되는 제2 움직임보상 영상과 현재의 원영상과의 차를 구하여 움직임보상 에러를 생성하기 위한 제2감산기; 및 상기 제2감산기에서 출력되는 움직임보상 에러와 상기 제1감산기에서 출력되는 보상에러의 차를 구하여 누적에러를 생성하기 위한 제3감산기로 구성되는 것을 특징으로 하는 동영상 부호화장치.The apparatus of claim 5, wherein the motion compensation error generation and separation unit comprises: a buffer configured to store a second motion compensation image output from the second motion compensator to generate a reconstructed image; A first subtractor for generating a compensation error by obtaining a difference between the first motion compensation image output from the first motion compensator and the current original image; A second subtractor for generating a motion compensation error by obtaining a difference between a second motion compensation image output from the second motion compensator and a current original image; And a third subtractor for generating a cumulative error by obtaining a difference between a motion compensation error output from the second subtractor and a compensation error output from the first subtractor. 제4항에 있어서, 상기 가산기 및 필터는 상기 움직임추정 및 보상기에서 출력되는 움직임보상 영상과 상기 제1역쿼드트리 처리기에서 출력되는 재생 보상에러를 가산하기 위한 제1가산기; 상기 제1가산기의 출력과 상기 제2역쿼드트리 처리기에서 출력되는 재생 누적에러를 가산하기 위한 제2가산기; 상기 제2역쿼드트리 처리기에서 출력되는 재생 누적에러의 블럭크기에 따라 필터 탭을 결정하고, 상기 제1가산기에서 출력되는 복원영상의 분산에 의해 필터계수를 결정하기 위한 필터 탭 및 계수 결정부; 및 상기 제2가산기의 출력을 상기 필터 탭 및 계수 결정부에서 결정한 필터 계수로 필터링하기 위한 저역통과필터로 구성되는 것을 특징으로 하는 동영상 부호화장치.5. The apparatus of claim 4, wherein the adder and the filter comprise: a first adder for adding a motion compensation image output from the motion estimation and compensator and a reproduction compensation error output from the first inverse quad tree processor; A second adder for adding an output of the first adder and a reproduction accumulated error output from the second inverse quadtree processor; A filter tap and coefficient determiner for determining a filter tap according to a block size of a reproduction accumulated error output from the second inverse quad tree processor, and determining a filter coefficient by variance of a reconstructed image output from the first adder; And a low pass filter for filtering the output of the second adder by the filter coefficient determined by the filter tap and the coefficient determiner. 제7항에 있어서, 상기 필터 탭 및 계수 결정부에서 필터 탭수는 상기 제2역쿼드트리 처리기에서 출력되는 재생 누적에러 중 대상블럭의 크기에 비례하는 것을 특징으로 하는 동영상 부호화장치.8. The video encoding apparatus of claim 7, wherein the number of filter taps in the filter tap and coefficient determiner is proportional to a size of a target block among reproduction accumulated errors output from the second inverse quadtree processor. 제8항에 있어서, 상기 필터 탭 및 계수 결정부에서 필터 계수는 상기 제2역쿼드트리 처리기에서 출력되는 재생 누적에러 중 대상블럭과 같은 크기 및 같은 위치에서 보상에러가 합쳐진 움직임보상 영상의 분산이 크면 상기 저역통과필터 중심쪽의 계수값이 다른 계수값에 비하여 커지고, 분산이 작으면 모든 계수값이 비슷해지는 것을 특징으로 하는 동영상 부호화장치.The filter coefficients of claim 8, wherein the filter coefficients of the filter tap and coefficient determination unit are equal to the target block among the reproduction accumulation errors output from the second inverse quadtree processor, and the dispersion of the motion compensation image in which the compensation errors are combined at the same position. The larger the coefficient value toward the center of the low-pass filter is larger than the other coefficient value, and if the variance is small, all the coefficient values are similar.
KR1019940032125A 1994-11-30 1994-11-30 Method and system for encoding motion pictures KR100287214B1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1019940032125A KR100287214B1 (en) 1994-11-30 1994-11-30 Method and system for encoding motion pictures
GB9524409A GB2295742B (en) 1994-11-30 1995-11-29 Method for encoding motion image and apparatus therefor
JP31130095A JP3403561B2 (en) 1994-11-30 1995-11-29 Moving picture coding method and apparatus therefor
DE1995144787 DE19544787B4 (en) 1994-11-30 1995-11-30 Method and device for coding a moving picture
FR9514178A FR2727545B1 (en) 1994-11-30 1995-11-30 METHOD AND DEVICE FOR CODING A MOVING IMAGE

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019940032125A KR100287214B1 (en) 1994-11-30 1994-11-30 Method and system for encoding motion pictures

Publications (2)

Publication Number Publication Date
KR960020507A KR960020507A (en) 1996-06-17
KR100287214B1 true KR100287214B1 (en) 2001-04-16

Family

ID=19399767

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940032125A KR100287214B1 (en) 1994-11-30 1994-11-30 Method and system for encoding motion pictures

Country Status (5)

Country Link
JP (1) JP3403561B2 (en)
KR (1) KR100287214B1 (en)
DE (1) DE19544787B4 (en)
FR (1) FR2727545B1 (en)
GB (1) GB2295742B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101224554B1 (en) * 2007-12-13 2013-01-23 미디어텍 인크. In-loop fidelity enhancement for video compression

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2329781B (en) * 1996-03-11 1999-08-18 Samsung Electronics Co Ltd Motion picture compression circuit and method using motion vector

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3050736B2 (en) * 1993-12-13 2000-06-12 シャープ株式会社 Video encoding device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101224554B1 (en) * 2007-12-13 2013-01-23 미디어텍 인크. In-loop fidelity enhancement for video compression
US10327010B2 (en) 2007-12-13 2019-06-18 Hfi Innovation Inc. In-loop fidelity enhancement for video compression

Also Published As

Publication number Publication date
GB2295742A (en) 1996-06-05
DE19544787A1 (en) 1996-06-05
GB9524409D0 (en) 1996-01-31
GB2295742B (en) 1999-05-05
JP3403561B2 (en) 2003-05-06
JPH08237670A (en) 1996-09-13
FR2727545A1 (en) 1996-05-31
FR2727545B1 (en) 1999-10-08
DE19544787B4 (en) 2006-04-27
KR960020507A (en) 1996-06-17

Similar Documents

Publication Publication Date Title
US5272529A (en) Adaptive hierarchical subband vector quantization encoder
JP3025610B2 (en) Encoding method and apparatus
US6040861A (en) Adaptive real-time encoding of video sequence employing image statistics
KR100203710B1 (en) Improved image coding system having functions for controlling generated amount of coded bit stream
EP1032217A2 (en) Multi-functional transcoder for compressed bit stream
US7822125B2 (en) Method for chroma deblocking
JPH0722962A (en) Method and apparatus for encoding/decoding for suppression of blocking artifact
JPH1051775A (en) Method and device for removing block phenomenon for moving video decoder
JPH07131757A (en) Picture processor
KR0159559B1 (en) Adaptive postprocessing method of a digital image data
JP2005039837A (en) Method and apparatus for video image noise removal
JP3674158B2 (en) Image encoding method and image decoding apparatus
US5675386A (en) Method for encoding motion image and apparatus therefor
JP2000078578A (en) Technique for video communication using encoding match filter device
KR19980017213A (en) Image Decoding System with Compensation Function for Degraded Image
US20060159168A1 (en) Method and apparatus for encoding pictures without loss of DC components
US5742346A (en) Spatially adaptive blur filter
KR100287214B1 (en) Method and system for encoding motion pictures
KR0157465B1 (en) Quantization level decision method and device according to image characteristic
JPH07143483A (en) Adaptive post-processing filter
KR100229795B1 (en) Improved image decoding system
KR100299485B1 (en) Noise removal method for motion picture encoding
KR100229533B1 (en) Improved image decoding system
KR100207378B1 (en) Image encoding system using adaptive vector quantization
KR100229793B1 (en) Improved image coding system having functions for adaptively determining image coding mode

Legal Events

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

Payment date: 20080115

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee