KR100266708B1 - Conditional replenishment coding method for b-picture of mpeg system - Google Patents

Conditional replenishment coding method for b-picture of mpeg system Download PDF

Info

Publication number
KR100266708B1
KR100266708B1 KR1019970053078A KR19970053078A KR100266708B1 KR 100266708 B1 KR100266708 B1 KR 100266708B1 KR 1019970053078 A KR1019970053078 A KR 1019970053078A KR 19970053078 A KR19970053078 A KR 19970053078A KR 100266708 B1 KR100266708 B1 KR 100266708B1
Authority
KR
South Korea
Prior art keywords
dct
macroblock
picture
value
encoding
Prior art date
Application number
KR1019970053078A
Other languages
Korean (ko)
Other versions
KR19990032109A (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 KR1019970053078A priority Critical patent/KR100266708B1/en
Publication of KR19990032109A publication Critical patent/KR19990032109A/en
Application granted granted Critical
Publication of KR100266708B1 publication Critical patent/KR100266708B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

PURPOSE: A conditional supplementary coding method of a bidirectional predictive picture is provided to improve the coding capacity by applying a conditional supplementary coding method to a bidirectional predictive picture. CONSTITUTION: An intra or a non-intra macro block is determined according to an error dispersive value of an MCP(Motion Compensated Prediction) mode and a dispersive value of a primitive image. An intra coding process is performed when a current macro block is the intra macro block. A predetermined threshold value is compared with an absolute mean error value when the current macro block is the non-intra macro block. A DCT block coding process is performed when the absolute mean error value is larger than the predetermined threshold value. A predictive error is not transmitted when the absolute mean error value is not larger than the predetermined threshold value. A type of the current macro block is determined. A variable length coding for information of the macro block is performed.

Description

양방향 예측 픽쳐의 조건부 보충 부호화 방법(CONDITIONAL REPLENISHMENT CODIMG METHOD FOR B-PICTURE OF MPEG SYSTEM)CONDITIONAL REPLENISHMENT CODIMG METHOD FOR B-PICTURE OF MPEG SYSTEM

본 발명은 MPEG(MOVING PICTURE EXPERTS GROUP) 시스템에 있어서, 예측 오차가 적고 전달 오차가 없는 양방향 예측 픽쳐(B-Picture : Bi-Directional Predictive Picture)(이하 B-픽쳐라 한다)에 조건부 보충 부호화를 적용하여 전체적인 부호화 성능을 향상시키는 양방향 예측 픽쳐의 조건부 보충 부호화 장치 및 방법에 관한 것이다.According to the present invention, conditional supplementary coding is applied to a Bi-Directional Predictive Picture (B-Picture) (hereinafter referred to as a B-picture) in a MPEG (MOVING PICTURE EXPERTS GROUP) system with a small prediction error and no transfer error. The present invention relates to a conditional supplementary encoding apparatus and method for a bidirectional predictive picture for improving overall encoding performance.

일반적으로 MPEG은 프레임과 필드 영상을 적응적으로 부호화하기 위해, 영상간의 중복성을 제거하기 위한 인과적 예측 부호화(Pure Predictive Coding)와 비인과적 예측 부호화(Interpolative Coding)에 의한 이동 보상을 하고, 원영상 또는 예측 오차 신호에서 공간 영역 중복성을 제거하기 위해 DCT 변환 부호화 및 양자화를 하고, 양자화된 DCT 계수와 함께 16 x 16 블럭 단위의 움직임 벡터 정보를 가변 길이 부호화(VLC : Variable Length Coding) 하고, VBR(Variable Bit Rate) 로 발생되는 비트열을 CBR(Constant Bit Rate)로 전송하기 위한 전송율 제어를 한다.In general, in order to adaptively encode a frame and a field image, MPEG compensates for movement by causal predictive coding (Pure Predictive Coding) and non-causal predictive coding (Interpolative Coding) to remove the redundancy between the images. Or DCT transform coding and quantization to remove spatial domain redundancy in the prediction error signal, and variable length coding (VLC) of motion vector information in units of 16 x 16 blocks with quantized DCT coefficients, and VBR ( Variable bit rate) is used to control the rate to transmit the bit stream generated at the constant bit rate (CBR).

상기한 바와 같이 MPEG은 부호화된 비트열에 대한 임의 접근과 이동 보상에 의한 고압축을 가능하게 하기 위해 I-픽쳐(Interpolative Picture), P-픽쳐(Predictive Picture), 및 B-픽쳐의 세종류의 픽쳐를 사용한다.As described above, MPEG uses three types of pictures, i-picture (Interpolative Picture), P-picture (Predictive Picture), and B-picture, to enable high-compression compression by random access to the encoded bit stream and motion compensation. use.

상기 I-픽쳐, P-픽쳐, 및 B-픽쳐는 도 1 에 도시한 바와 같이 주기적으로 입력되는데, 연속하는 두개의 I-픽쳐의 사이의 I,B,P-픽쳐 그룹을 GOP(Group of Picture)라고 하며 임의 접근의 단위 기능을 한다. 또한, 연속하는 두 기준 픽쳐, 즉 I 또는 P- 픽쳐 사이의 픽쳐 그룹을 SGOP(Sub Group of Picture)라고 한다.The I-picture, P-picture, and B-picture are periodically input as shown in FIG. 1, and group I, B, P-picture between two successive I-pictures by GOP (Group of Picture). ) And functions as a unit of random access. Also, a group of pictures between two consecutive reference pictures, i.e., an I or P-picture, is called a SGOP (Sub Group of Picture).

도 1 에 도시한 MPEG은 GOP내의 픽쳐 간격이 12(N=12)이고, SGOP내의 픽쳐 간격이 3(M=3)으로, 기준 픽쳐인 I-픽쳐 사이에는 (N-1)개인 11개의 P 또는 B-픽쳐가 사용되고, 연속하는 B-픽쳐는 (M-1)개인 2개가 된다.The MPEG shown in FIG. 1 has 11 (N = 12) picture intervals in a GOP, 3 (M = 3) picture intervals in an SGOP, and 11 Ps having (N-1) between I-pictures as reference pictures. Or a B-picture is used, and two consecutive B-pictures are (M-1) individuals.

상기 I-픽쳐는 이동 보상을 하지 않은 원영상 데이타만을 이용하여 부호화된 것으로, 다른 픽쳐의 영향이 없기 때문에 부호화된 비트열로의 임의 접근을 가능하게 하는 접근점(Access Point) 역할을 하며, 부호화 과정에서 발생하는 부호화 오류(Coding Error)가 후속 픽쳐로 전파되는 현상(Error Propagation)을 방지할 수 있다.The I-picture is encoded using only original image data without motion compensation. Since the I-picture is not affected by other pictures, the I-picture serves as an access point for enabling random access to the encoded bit stream. An error propagation may be prevented from being propagated to a subsequent picture.

또한, 상기 P-픽쳐는 이전의 I-픽쳐 또는 P-픽쳐로 부터의 인과적 예측(Causal Prediction)에 의한 이동 보상 후에 부호화되는 것으로, 순환적 예측 픽쳐이다. 즉, 현재의 P-픽쳐는 바로 이전의 P-픽쳐나 I-픽쳐로 부터 이동 보상 예측되고, 부호화후 복원된 현재의 P-픽쳐는 다음의 P-픽쳐와 B-픽쳐의 이동 보상을 위한 기준 픽쳐로 사용된다.The P-picture is encoded after motion compensation by causal prediction from previous I-picture or P-picture, and is a cyclic predictive picture. That is, the current P-picture is motion compensated and predicted from the previous P-picture or I-picture, and the current P-picture reconstructed after encoding is a reference for the motion compensation of the next P-picture and B-picture. Used as a picture.

또한, 상기 B-픽쳐는 이전 또는 이후의 I-픽쳐나 P-픽쳐로 부터의 비인과적 예측(Noncausal Prediction)에 의한 이동 보상후에 부호화되는 것으로, 이전의 P-픽쳐 또는 I-픽쳐로 부터의 순방향 움직임 보상 예측(MCP: Motion Compensation Picture), 이후의 P-픽쳐 또는 I-픽쳐로 부터의 역방향 움직임 보상 예측, 및 전후의 P-픽쳐 또는 I-픽쳐로 부터의 양방향 움직임 보상 예측의 세 종류의 움직임 보상 예측을 한다. 이때, B-픽쳐의 각 블럭은 상기 세가지의 움직임 보상 예측에서 예측 오차의 SSE(Sum of Square Error)가 최소인 것을 그 블럭의 최종 움직임 보상 예측 모드로 결정한다.In addition, the B-picture is encoded after motion compensation by non-causal prediction from a previous or subsequent I-picture or a P-picture, and is forward from a previous P-picture or I-picture. Three kinds of motion: motion compensation prediction (MCP), backward motion compensation prediction from a later P-picture or I-picture, and bidirectional motion compensation prediction from a before-and-after P-picture or I-picture Make a reward prediction. In this case, each block of the B-picture determines that the sum of square error (SSE) of the prediction error is the minimum in the three motion compensation predictions as the final motion compensation prediction mode of the block.

여기서, 상기 양방향 움직임 보상 예측은 움직임 보상 보간(MCI : Motion Compensated Interpolation)에 의한 움직임 보상 예측을 말한다.Here, the bidirectional motion compensation prediction refers to motion compensation prediction by motion compensation interpolation (MCI).

그런데, 다른 P-픽쳐 또는 B-픽쳐의 기준 픽쳐로 사용되는 P-픽쳐에 잡음이 발생되면 P-픽쳐의 화질 저하를 발생할 뿐 아니라, 이어지는 P-픽쳐와 B-픽쳐의 화질에도 영향을 미치게 된다. 즉, P-픽쳐는 이전의 P-픽쳐나 I- 픽쳐에 의해 움직 보상 예측되므로, 이어지는 후속 P-픽쳐 또는 B-픽쳐에 영향을 미쳐서 잡음이 누적되는 에러 전달(Error Propagation) 현상이 일어나게 된다. 또한, P-픽쳐는 B-픽쳐의 움직임 보상 예측을 위한 기준 픽쳐이기 때문에 결국 P-픽쳐의 화질 저하는 B-픽쳐에 까지 영향을 미쳐서 전체적인 부호화 성능을 저하시킨다.However, when noise is generated in a P-picture that is used as a reference picture of another P-picture or B-picture, not only the picture quality of the P-picture is degraded, but also the quality of subsequent P-pictures and B-pictures is affected. . That is, since the P-picture is motion compensated and predicted by the previous P-picture or I-picture, an error propagation phenomenon occurs in which noise accumulates by affecting subsequent P-pictures or B-pictures. In addition, since the P-picture is a reference picture for motion compensation prediction of the B-picture, the image quality degradation of the P-picture eventually affects the B-picture, thereby degrading the overall encoding performance.

따라서 본 발명은 MPEG 시스템에 있어서, B-픽쳐를 마크로블럭 계층과 DCT 블럭 계층에서 조건부 보충 부호화하여 전체적인 부호화 성능을 향상시키므로써 화질의 저하를 막기 위한 조건부 보충 부호화 방법을 제공함에 그 목적이 있다.Accordingly, an object of the present invention is to provide a conditional supplementary encoding method for preventing degradation of image quality by improving conditional supplementary encoding of a B-picture in a macroblock layer and a DCT block layer in an MPEG system.

상기 목적을 달성하기 위해 본 발명은 B-픽쳐의 마크로블럭 단위의 예측 오차에 따라 결정된 MCP(Motion Compensated Prediction) 모드의 오차 분산값과 원영상의 분산값에 따라 인트라 마크로블럭 또는 논인트라(Intra/Non-intra) 마크로블럭으로 결정하는 마크로블럭 결정 과정, 상기 결정 결과 현재 마크로 블럭이 인트라 마크로블럭인 경우에는 영상내 부호화를 수행하는 인트라 부호화 과정, 상기 결정 결과 현재 마크로블럭이 논인트라 마크로블럭인 경우에는 상기 마크로블럭의 예측 오차에 대한 절대 평균 오차값을 설정된 문턱값과 비교하여 전송 여부를 판단하는 전송 여부 판단 과정, 상기 판단 결과 상기 절대 평균 오차값이 상기 문턱값보다 크면 마크로블럭내의 DCT 블럭을 부호화하는 DCT 블럭 부호화 과정, 상기 판단 결과 상기 절대 평균 오차값이 상기 문턱값보다 크지 않으면 마크로블럭내의 예측오차를 전송하지 않는 마크로블럭 비부호화 과정, 및 상기 인트라 부호화 과정, 상기 DCT 블럭 부호화 과정, 및 마크로블럭 비부호화 과정을 수행한후 현재 마크로블럭의 타입을 결정하고 상기 마크로블럭 정보를 가변길이 부호화하는 마크로블럭 타입 결정 및 VLC과정에 의해 수행됨을 특징으로 하는 B-픽쳐의 조건부 보충 부호화 방법을 제공한다.In order to achieve the above object, the present invention provides an intra macroblock or non-intra (Intra /) according to an error variance value of the Motion Compensated Prediction (MCP) mode and an variance value of an original image determined according to a prediction error of a macroblock unit of a B-picture. Non-intra) a macroblock determination process for determining a macroblock, if the current macroblock is an intra macroblock as a result of the determination, an intra encoding process for performing intra-image encoding, and if the current macroblock is a non-intra macroblock as a result of the determination In the transmission decision process for determining whether to transmit by comparing the absolute average error value of the prediction error of the macro block with a set threshold value, if the absolute average error value is larger than the threshold value, the DCT block in the macro block is determined. The DCT block encoding process of encoding, wherein the determination result is the absolute mean error value If it is not greater than the value, the macroblock decoding process that does not transmit a prediction error in the macroblock, the intra coding process, the DCT block encoding process, and the macroblock decoding process are performed, and then the type of the current macroblock is determined. A conditional supplemental encoding method of a B-picture, which is performed by a macroblock type determination and a VLC process for variable length encoding of macroblock information, is provided.

도 1 은 일반적인 MPEG의 픽쳐 구조도1 is a picture structure of a typical MPEG picture

도 2 는 본 발명이 적용되는 MPEG 인코더의 구성도2 is a block diagram of an MPEG encoder to which the present invention is applied

도 3 은 본 발명에 의한 B-픽쳐의 조건부 보충 부호화 방법의 흐름도3 is a flowchart of a conditional supplemental coding method of a B-picture according to the present invention.

도 4 는 도 3 의 DCT 블럭 조건부 보충 부호화 단계의 세부 흐름도4 is a detailed flowchart of the DCT block conditional supplemental encoding step of FIG.

도 5 는 도 3 의 조건부 보충 부호화의 문턱값을 설명하기 위한 도면FIG. 5 is a diagram for explaining a threshold of conditional supplemental coding of FIG. 3. FIG.

도 6 은 도 3 의 조건부 보충 부호화에 의해 할당된 각 픽쳐의 비트량을FIG. 6 shows the bit amount of each picture allocated by the conditional supplemental coding of FIG.

나타낸 도면Drawing shown

도 7 은 도 3 의 조건부 보충 부호화에 의한 SNR을 나타낸 도면7 is a diagram illustrating SNR by conditional supplemental coding of FIG. 3.

<도면의 주요 부분에 대한 부호의 설명><Description of the code | symbol about the principal part of drawing>

10, 110 : 프레임 메모리 20 : 움직임 계산부10, 110: frame memory 20: motion calculation unit

30 : 감산기 40 : 제어부30: subtractor 40: control unit

50 : DCT 60 : 양자화기50: DCT 60: quantizer

70 : 역양자화기 80 : IDCT70: dequantizer 80: IDCT

90 : 가산기 100 : VLC90: adder 100: VLC

120 : 적응적 예측기120: adaptive predictor

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

본 발명이 적용되는 MPEG 인코더는 도 2 에 도시한 바와 같이 입력되는 영상 신호를 프레임/필드 단위로 저장하는 프레임/필드 메모리(10), 상기 프레임/필드 메모리(10)로 부터 출력되는 프레임/필드의 영상 신호와 이전의 프레임/필드의 영상 신호를 입력으로 움직임을 계산하여 움직임 벡터를 출력하는 움직임 계산기(20), 상기 움직임 계산기(20)로 부터 출력되는 움직임 벡터와 이전 프레임/필드를 입력으로 다음 프레임/필드를 적응적인 예측하는 적응적 예측기(120), 상기 프레임/필드 메모리(10)로 부터 출력되는 프레임/필드의 영상 신호로 부터 상기 적응적 예측기(120)로 부터 출력되는 예측된 프레임/필드의 영상 신호를 감산하여 오차값을 출력하는 감산기(30), 상기 감산기(30)로 부터 출력되는 오차값에 따라 인트라/논인트라(Intra/Non-intra)를 결정하여 조건부 보충 부호화하도록 제어하는 제어부(40), 상기 제어부(40)의 제어에 따라 상기 오차값을 DCT(Discrete Cosine Transform) 변환하는 DCT부(50), 상기 DCT부(50)의 출력을 양자화하는 양자화기(60), 상기 양자화기(60)의 출력을 가변 길이 부호화(VLC : Variable Length Coding)하는 VLC부(100), 상기 양자화기(60)의 출력을 역양자화하는 역양자화기(70), 상기 역양자화기(70)의 출력을 역DCT하는 역DCT부(80), 상기 역DCT부(80)로 부터 출력되는 오차값과 상기 적응적 예측기(120)로 부터 출력되는 예측된 프레임/필드의 영상 신호를 가산하여 프레임/필드의 영상 신호를 출력하는 가산기(90), 및 상기 가산기(90)로 부터 출력되는 프레임/필드의 영상 신호를 저장하고 상기 적응적 예측기(120)로 출력하는 프레임/필드 메모리(110)로 구성된다.As shown in FIG. 2, the MPEG encoder to which the present invention is applied includes a frame / field memory 10 for storing an input video signal in units of frames / fields, and a frame / field output from the frame / field memory 10. The motion calculator 20 calculates a motion by inputting the video signal of the previous frame / field and outputs a motion vector, and inputs the motion vector and the previous frame / field output from the motion calculator 20 as inputs. An adaptive predictor 120 adaptively predicting a next frame / field, a predicted frame output from the adaptive predictor 120 from an image signal of a frame / field output from the frame / field memory 10 The subtractor 30 outputs an error value by subtracting a video signal of a field, and the intra / non-intra is determined according to the error value output from the subtractor 30. The control unit 40 controls to perform supplementary coding on the key part, the DCT unit 50 for transforming the error value to DCT (Discrete Cosine Transform) under the control of the control unit 40, and the quantization for quantizing the output of the DCT unit 50. 60, a VLC unit 100 for variable length coding (VLC) the output of the quantizer 60, an inverse quantizer 70 for quantizing the output of the quantizer 60, An inverse DCT unit 80 that inverses the output of the inverse quantizer 70, an error value output from the inverse DCT unit 80, and a predicted frame / field output from the adaptive predictor 120 An adder 90 that adds a video signal of a frame / field by adding a video signal of a frame, and a frame that stores a video signal of a frame / field output from the adder 90 and outputs the video signal of the frame / field to the adaptive predictor 120. / Field memory 110.

MPEG은 여러가지 디지탈 저장 매체에 공통적이고 일반적인 부분만을 표준화하는 일반 코딩 기법과, 호환성을 위한 최소한의 기준으로 비디오 시퀀스의 부호화 표현(Coded Representation), 즉 부호화 비트열의 신텍스(Syntex)와 이것으로 부터의 복호화 방법만을 표준화하는 기법이다. 따라서 응용 분야에 따라서 MPEG 인코더의 구조와 성능은 달라질 수 있으며, 성능 개선의 여지도 많다.MPEG is a general coding technique that standardizes only common parts common to various digital storage media, and coded representation of video sequences, that is, the syntax of encoded bit strings and decoding therefrom as a minimum standard for compatibility. It is a technique to standardize only the method. Therefore, the structure and performance of the MPEG encoder may vary depending on the application field, and there is much room for improvement.

그러나, 성능을 개선시키기 위한 어떠한 방법이라도 기존의 신텍스를 부호화 표현이 가능해야 하며, 성능 개선을 위해서 신텍스가 수정되어서는 안된다. 따라서 상기 제어부(40)에서 수행되는 B-픽쳐의 조건부 보충 부호화 방식도 기존의 신텍스를 이용하는 범주에 속한다.However, any method for improving performance should be able to encode representation of an existing syntax, and the syntax should not be modified to improve performance. Therefore, the conditional supplemental coding scheme of the B-picture performed by the controller 40 also belongs to the category using the existing syntax.

MPEG의 인코더에서 부호화된 비트열을 표현하기 위한 신텍스는 각각 서로 다른 기능을 갖는 6개의 계층(Layer)으로 구성되는데, 본 발명에 의한 조건부 보충 부호화 방법에서는 마크로블럭(MB) 계층에서 MB의 예측 오차 크기로 부터 단순히 마크로블럭과 DCT 블럭의 보충 여부를 결정한다.The syntax for representing the bit stream encoded by the encoder of the MPEG is composed of six layers each having different functions. In the conditional supplemental coding method according to the present invention, MB prediction error in the macroblock (MB) layer is used. From the size we simply decide whether to replenish the macroblocks and DCT blocks.

본 발명에 의한 B-픽쳐의 조건부 보충 부호화 방법은 도 3 에 도시한 바와 같이 마크로블럭 결정 과정(200,210,220,230), 인트라 부호화 과정(240,250,260), 전송 여부 판단 과정(270), DCT 블럭 부호화 과정(280,290,300), 마크로블럭 비부호화 과정(310), 및 마크로블럭 타입 결정 및 VLC 과정(320,330)에 의해 수행된다.As shown in FIG. 3, the conditional supplemental encoding method of the B-picture according to the present invention includes a macroblock determination process (200, 210, 220, 230), an intra encoding process (240, 250, 260), a transmission determination process (270), a DCT block encoding process (280, 290, 300). , Macroblock decoding process 310, and macroblock type determination and VLC processes 320 and 330.

상기 마크로블럭 결정 과정(200,210,220,230)은 B-픽쳐의 마크로블럭 단위의 예측 오차에 따라 결정된 MCP(Motion Compensated Prediction) 모드의 오차 분산값과 원영상의 분산값에 따라 인트라 마크로블럭 또는 논인트라(Intra/Non-intra) 마크로블럭으로 결정하는 과정으로, B-픽쳐의 마크로블럭 단위의 양방향 움직임 벡터를 추정하는 양방향 움직임 벡터 추정 단계(200), 상기 추정된 양방향 움직임 벡터에 따라 MCP 모드에 대한 예측 오차의 SSE(Sum of Square Error)를 계산하여 MCP(Motion Compensated Prediction) 모드를 결정하는 MCP 모드 결정 단계(210), 상기 결정된 MCP 모드의 오차 분산값과 원영상의 분산값을 계산하는 오차 분산값 계산 단계(220), 및 상기 계산된 오차 분산값과 원영상의 분산값을 비교하여 상기 계산된 오차 분산값이 원영상의 분산값보다 크면 현재 마크로블럭을 인트라 마크로블럭으로 결정하고 상기 계산된 오차 분산값이 원영상의 분산값보다 크지 않으면 현재 마크로블럭을 논인트라 마크로블럭으로 결정하는 마크로블럭 결정 단계(230)에 의해 수행된다.The macroblock determination process (200, 210, 220, 230) is an intra macroblock or non-intra (Intra / Intra / Intra / block) according to the error dispersion value of the Motion Compensated Prediction (MCP) mode determined according to the prediction error of the macroblock unit of the B-picture and the dispersion value of the original image Non-intra) to determine the macroblock, the bidirectional motion vector estimation step of estimating the bi-directional motion vector in units of the macroblock of the B-picture, the prediction error of the MCP mode according to the estimated bidirectional motion vector MCP mode determination step 210 to determine the Motion Compensated Prediction (MCP) mode by calculating the SSE (Sum of Square Error), error variance calculation step of calculating the variance value of the error and the original image of the determined MCP mode (220) and compares the calculated error variance with the variance of the original image, and if the calculated error variance is greater than the variance of the original image, the current macroblock is checked. La is determined by the macro block, and carried out by macroblock decision step 230 to determine if the calculated error variance value is greater than the variance of the original image, the current macroblock in non-intra macroblock.

상기 인트라 부호화 과정(240,250,260)은 상기 결정 결과 현재 마크로 블럭이 인트라 마크로블럭인 경우에는 영상내 부호화를 수행하는 것으로, 상기 결정 결과 현재 마크로 블럭이 인트라 마크로블럭인 경우 입력 영상 신호를 DCT 처리하는 DCT 단계(240), 상기 DCT 처리된 신호를 양자화하는 양자화 단계(250), 및 상기 양자화된 DCT 계수를 가변 길이 부호화(Variable Length Coding)하는 VLC 단계(260)에 의해 수행된다.The intra encoding process 240, 250, and 260 performs intra-image encoding when the current macro block is an intra macro block as a result of the determination. In the DCT step, DCT processing an input video signal when the current macro block is an intra macro block as a result of the determination. 240, quantization step 250 of quantizing the DCT processed signal, and VLC step 260 of variable length coding of the quantized DCT coefficients.

상기 전송 여부 판단 과정(270)은 상기 결정 결과 현재 마크로블럭이 논인트라 마크로블럭인 경우에는 상기 마크로블럭의 예측 오차에 대한 절대 평균 오차값(MAE)을 설정된 문턱값(TH)과 비교하여 전송 여부를 판단하는 과정이다.In the transmission determining step 270, if the current macroblock is a non-intra macroblock, the transmission result is determined by comparing an absolute average error value MAE of the prediction error of the macroblock with a set threshold TH. The process of judging.

여기서, 상기 문턱값(TH)은 현재의 B-픽쳐에 대한 기준 문턱값(TH0)을 기준으로 하여 해당 마크로블럭의 양자화 레벨에 따라 적응적으로 조절된다.Here, the threshold value TH is adaptively adjusted according to the quantization level of the corresponding macroblock based on the reference threshold value TH0 for the current B-picture.

상기 기준 문턱값(TH0)은 부호화된 이전의 B-픽쳐에 대한 프레임당 절대 평균 오차값(MAE)의 평균(MAEavg-b)에 비례하여 증가하고, 처음의 B-픽쳐인 경우 부호화된 이전의 P-픽쳐의 예측 이득에 대한 프레임당 절대 평균 오차값(MAE)의 평균(MAEavg-p)에 비례하여 증가한다.The reference threshold TH0 increases in proportion to the average MAEavg-b of the absolute average error per frame MAE for the previous encoded B-picture, and in the case of the first B-picture, the encoded previous It increases in proportion to the average (MAEavg-p) of the absolute mean error value (MAE) per frame for the predicted gain of the P-picture.

상기 DCT 블럭 부호화 과정(280,290,300)은 상기 판단 결과 상기 절대 평균 오차값이 상기 문턱값(TH)보다 크면 마크로블럭내의 DCT 블럭을 부호화하는 과정으로, 상기 판단 결과 상기 절대 평균 오차값(MAE)이 상기 문턱값(TH)보다 크면 마크로블럭내의 DCT 블럭을 DCT 처리하는 DCT 단계(280), 상기 DCT 처리된 신호를 양자화하는 양자화 단계(290), 및 상기 마크로블럭내의 각 DCT 블럭의 상기 양자화된 DCT 계수중에서 '0'이 아닌(Non-Zero) DCT 계수의 갯수(Snz)에 따라 상기 마크로블럭내의 각 DCT 블럭의 전송 여부를 판단하여 부호화 및 비부호화를 수행하는 DCT 블럭 조건부 보충 부호화 단계(300)에 의해 수행된다.The DCT block encoding process (280, 290, 300) is a process of encoding a DCT block in a macro block if the absolute mean error value is greater than the threshold value TH as a result of the determination, and the absolute mean error value MAE is determined by the determination result. A DCT step 280 for DCT processing a DCT block in a macroblock if greater than a threshold value TH, a quantization step 290 for quantizing the DCT processed signal, and the quantized DCT coefficients of each DCT block in the macroblock. In the DCT block conditional supplementary encoding step 300 of determining whether or not to transmit each DCT block in the macroblock according to the number Snz of non-zero DCT coefficients, performing encoding and decoding. Is performed by.

즉, 상기 DCT 블럭 조건부 보충 부호화 단계(300)는 상기 마크로블럭내의 각 DCT 블럭의 양자화된 DCT 계수중에서 '0'이 아닌(Non-Zero) DCT 계수의 갯수(Snz)와 해당 DCT 블럭의 절대 평균 오차값(MAEb)을 상기 설정된 문턱값(TH)과 설정된 제1 및 제2 DCT 문턱값(N1,N2)과 비교하여 마크로블럭내의 6개의 DCT 블럭을 부호화 및 비부호화한다.That is, the DCT block conditional supplementary encoding step 300 includes the number of non-zero DCT coefficients (Snz) among the quantized DCT coefficients of each DCT block in the macroblock (Snz) and the absolute mean of the corresponding DCT blocks. The six DCT blocks in the macroblock are encoded and decoded by comparing the error value MAEb with the set threshold TH and the set first and second DCT thresholds N1 and N2.

여기서, 상기 DCT 블럭 조건부 보충 부호화 단계(400,410,420, 430,440, 450,460)는 도 4 에 도시한 바와 같이 상기 마크로블럭내의 해당하는 DCT 블럭에서 양자화된 DCT 계수중에서 '0'이 아닌(Non-Zero) DCT 계수의 갯수(Snz)가 설정된 제1 DCT 문턱값(N1)보다 큰지 검색하는 단계(400), 상기 검색 결과 '0'이 아닌(Non-Zero) DCT 계수의 갯수(Snz)가 설정된 제1 DCT 문턱값(N1)보다 크면 해당 DCT 블럭의 절대 평균 오차값(MAEb)이 상기 문턱값(TH)의 1.5배에 해당하는 값보다 큰지 검색하는 단계(410), 상기 검색 결과 해당 DCT 블럭의 절대 평균 오차값(MAEb)이 상기 문턱값(TH)의 1.5배에 해당하는 값보다 크지 않으면 상기 '0'이 아닌(Non-Zero) DCT 계수의 갯수(Snz)가 설정된 제2 DCT 문턱값(N2)보다 큰지 검색하는 단계(420), 상기 검색 결과 해당 DCT 블럭의 절대 평균 오차값(MAEb)이 상기 문턱값(TH)의 1.5배에 해당하는 값보다 크거나 상기 '0'이 아닌(Non-Zero) DCT 계수의 갯수(Snz)가 설정된 제2 DCT 문턱값(N2)보다 크면 상기 DCT 블럭의 DCT 계수를 가변 길이 부호화하는 단계(430), 상기 검색 결과 상기 '0'이 아닌(Non-Zero) DCT 계수의 갯수(Snz)가 설정된 제1 DCT 문턱값(N1)보다 크지 않거나, 상기 제2 DCT 문턱값(N2)보다 크지 않으면 상기 DCT 블럭의 DCT 계수를 부호화하지 않는 단계(440), 및 상기 마크로블럭내의 모든 DCT 블럭에 대해서 부호화 및 비부호화를 결정하고 처리하였는지 검색하여 마크로블럭내의 모든 DCT 블럭에 대해서 부호화 및 비부호화를 결정하고 처리할때까지 상기 단계들을 반복하여 수행하는 단계(450)에 의해 수행된다.The DCT block conditional supplemental coding step 400, 410, 420, 430, 440, 450, 460 is a non-zero DCT coefficient among DCT coefficients quantized in a corresponding DCT block in the macroblock as shown in FIG. 4. Searching whether the number of times Snz is greater than the set first DCT threshold value N1 (400), and the first DCT threshold value where the number Snz of non-zero DCT coefficients is set as a result of the search. If greater than the value N1, searching for whether the absolute mean error value MAEb of the corresponding DCT block is greater than a value corresponding to 1.5 times the threshold value TH; If the value MAEb is not greater than 1.5 times the threshold value TH, the number of non-zero DCT coefficients Snz is greater than the set second DCT threshold value N2. In step 420, the search results indicate that the absolute mean error value MAEb of the corresponding DCT block is 1.5 times the threshold value TH. Variable length encoding the DCT coefficients of the DCT block when the number Snz of the non-zero DCT coefficients is greater than a corresponding value or greater than the set second DCT threshold value N2 (430). ), If the number Snz of the non-zero DCT coefficients is not greater than the first DCT threshold value N1 or greater than the second DCT threshold value N2, the search result. In step 440 of not encoding the DCT coefficients of the DCT block, and searching for encoding and decoding for all DCT blocks in the macroblock, it is determined whether to encode and decode all DCT blocks in the macroblock. It is performed by step 450 to perform the above steps repeatedly until processing.

즉, 상기 DCT 블럭 조건부 보충 부호화 단계(400,410,420, 430,440,450,460)는 상기 양자화된 DCT 계수중에서 '0'이 아닌(Non-Zero) DCT 계수의 갯수(Snz)가 설정된 제1 DCT 문턱값(N1)보다 크고 해당 DCT 블럭의 절대 평균 오차값(MAEb)이 상기 문턱값(TH)의 1.5배에 해당하는 값보다 크거나, 상기 DCT 블럭의 절대 평균 오차값(MAEb)이 상기 문턱값(TH)의 1.5배에 해당하는 값보다 크지 않고 상기 '0'이 아닌(Non-Zero) DCT 계수의 갯수(Snz)가 설정된 제2 DCT 문턱값(N2)보다 크면 상기 DCT 블럭의 DCT 계수를 가변 길이 부호화하고(430), 상기 '0'이 아닌(Non-Zero) DCT 계수의 갯수(Snz)가 설정된 제1 DCT 문턱값(N1)보다 크지 않거나, 해당 DCT 블럭의 절대 평균 오차값(MAEb)이 상기 문턱값(TH)의 1.5배에 해당하는 값보다 크지 않고 상기 '0'이 아닌(Non-Zero) DCT 계수의 갯수(Snz)가 설정된 제2 DCT 문턱값(N2)보다 크지않으면 상기 DCT 블럭의 DCT 계수를 부호화하지 않는다(440).That is, the DCT block conditional supplementary coding steps 400, 410, 420, 430, 440, 450, and 460 are larger than the first DCT threshold value N1 of the non-zero DCT coefficients Snz among the quantized DCT coefficients. The absolute mean error value MAEb of the corresponding DCT block is greater than 1.5 times the threshold value TH, or the absolute mean error value MAEb of the DCT block is 1.5 times the threshold value TH. If the number of non-zero DCT coefficients Snz is greater than the set second DCT threshold value N2, the DCT coefficients of the DCT block are variable length coded (430). ), The number of non-zero DCT coefficients Snz is not greater than the set first DCT threshold value N1, or the absolute average error value MAEb of the corresponding DCT block is equal to the threshold value (Snz). Not greater than 1.5 times TH) and the number of non-zero DCT coefficients Snz is greater than the set second DCT threshold value N2. If not, the DCT coefficients of the DCT block are not encoded (440).

여기서, 상기 제1 DCT 문턱값(N1)은 상기 제2 DCT 문턱값(N2)보다 작게 설정된다.Here, the first DCT threshold value N1 is set smaller than the second DCT threshold value N2.

상기 마크로블럭 비부호화 과정(310)은 상기 판단 결과 상기 절대 평균 오차값이 상기 문턱값(TH)보다 크지 않으면 마크로블럭내의 예측오차를 전송하지 않는 과정이다.The macroblock decoding process 310 is a process of not transmitting a prediction error in the macroblock unless the absolute average error value is greater than the threshold value TH as a result of the determination.

상기 마크로블럭 타입 결정 및 VLC 과정(320,330)은 상기 인트라 부호화 과정(240,250,260), 상기 DCT 블럭 부호화 과정(280,290,300), 및 마크로블럭 비부호화 과정(310)을 수행한후 현재 마크로블럭의 타입을 결정하고 상기 마크로블럭 정보를 가변길이 부호화하는 과정이다.The macroblock type determination and the VLC process 320 and 330 determine the type of the current macroblock after performing the intra coding process 240, 250 and 260, the DCT block coding process 280, 290 and 300, and the macroblock decoding process 310. Variable length coding is performed on the macroblock information.

이와 같이 수행되는 본 발명에 의한 B-픽쳐의 조건부 보충 부호화 방법의 처리 과정을 상세히 설명한다.The processing of the conditional supplemental coding method of the B-picture according to the present invention performed as described above will be described in detail.

상기 마크로블럭 결정 과정(200,210,220,230)을 수행하여 B-픽쳐의 마크로블럭 단위의 예측 오차에 따라 MCP(Motion Compensated Prediction) 모드의 오차 분산값과 원영상의 분산값에 따라 인트라 마크로블럭 또는 논인트라(Intra/Non-intra) 마크로블럭으로 결정하는데, 이를 세부적으로 설명하면 다음과 같다.Intra macroblock or non-intra is performed according to the macroblock determination process (200, 210, 220, 230) according to the error variance value of the Motion Compensated Prediction (MCP) mode and the variance value of the original image according to the prediction error of the macroblock unit of the B-picture. / Non-intra) macroblock, which will be described in detail below.

B-픽쳐의 마크로블럭 단위의 양방향 움직임 벡터를 추정하는 양방향 움직임 벡터 추정 단계(200)를 수행한후, 상기 추정된 양방향 움직임 벡터에 따라 순방향, 역방향, 및 양방향의 MCP 모드에 대한 예측 오차의 SSE(Sum of Square Error)를 계산한다. 그리고 상기 순방향, 역방향, 및 양방향의 세가지 MCP 모드 중에서 SSE가 최소인 MCP모드를 그 마크로블럭의 MCP모드로 선택하고 결정하므로써 MCP모드 결정 단계(210)를 수행하게 된다. 즉, 해당 마크로블럭의 MCP모드를 예측 오차가 가장 작은 MCP모드로 선택하여 결정한다.After performing the bidirectional motion vector estimating step 200 for estimating the bidirectional motion vector in units of the macroblock of the B-picture, the SSE of the prediction error for the forward, reverse, and bidirectional MCP modes according to the estimated bidirectional motion vector. Calculate (Sum of Square Error). The MCP mode determination step 210 is performed by selecting and determining the MCP mode having the smallest SSE among the three MCP modes of the forward, reverse, and bidirectional as the MCP mode of the macroblock. That is, the MCP mode of the corresponding macroblock is selected as the MCP mode having the smallest prediction error.

이와 같이 MCP모드를 결정한후에는 상기 결정된 MCP 모드의 오차 분산값과 원영상의 분산값을 계산하는 오차 분산값 계산 단계(220)를 수행하고, 상기 계산된 오차 분산값과 원영상의 분산값을 비교하여 상기 계산된 오차 분산값이 원영상의 분산값보다 크면 현재 마크로블럭을 인트라 마크로블럭으로 결정하고 상기 계산된 오차 분산값이 원영상의 분산값보다 크지 않으면 현재 마크로블럭을 논인트라 마크로블럭으로 결정하는 마크로블럭 결정 단계(230)를 수행한다.After determining the MCP mode as described above, an error variance value calculating step 220 for calculating the error variance value and the variance value of the original image of the determined MCP mode is performed, and the calculated error variance value and the variance value of the original image are performed. By comparison, if the calculated error variance is greater than the variance of the original image, the current macroblock is determined as an intra macroblock. If the calculated error variance is not greater than the variance of the original image, the current macroblock is a non-intra macroblock. Determining the macroblock determination step 230 is performed.

즉, 상기 계산된 오차 분산값이 원영상의 분산값보다 크면 현재 마크로블럭을 인트라 마크로 블럭으로 결정하여 상기 인트라 부호화 과정(240,250,260)을 수행하도록 하고, 상기 계산된 오차 분산값이 원영상의 분산값보다 크지 않으면 현재 마크로블럭을 논인트라 마크로블럭으로 결정하여 전송 여부 판단 과정(270)을 수행할 수 있도록 한다.That is, if the calculated error variance value is larger than the variance value of the original image, the current macroblock is determined as an intra macro block to perform the intra coding process (240, 250, 260), and the calculated error variance value is the variance value of the original image. If it is not larger, the current macroblock is determined as a non-intra macroblock so that the transmission decision process 270 may be performed.

상기 인트라 부호화 과정(240,250,260)에서는 상기 현재 마크로 블럭을 인트라 마크로블럭으로 판단하여 영상내 부호화를 수행하게 된다. 즉, 현재 마크로 블럭이 인트라 마크로블럭인 경우 입력 영상 신호를 DCT 처리하고(240), 상기 DCT 처리된 신호를 양자화하는 양자화하고(250), 상기 양자화된 DCT 계수를 가변 길이 부호화(Variable Length Coding)한다(260).In the intra encoding process 240, 250, and 260, the intra macro block is determined as the intra macro block to perform intra-image encoding. That is, when the current macroblock is an intra macroblock, the input video signal is DCT processed (240), the quantized to quantize the DCT processed signal (250), and the variable length coding (Variable Length Coding) (260).

한편, 상기 현재 마크로블럭이 논인트라 마크로블럭인 경우에는 상기 전송 여부 판단 과정(270)을 수행하게 되는데, 이는 상기 마크로블럭의 예측 오차에 대한 절대 평균 오차값(MAE)을 설정된 문턱값(TH)과 비교하여 전송 여부를 판단하는 과정이다.On the other hand, when the current macroblock is a non-intra macroblock, the transmission decision process 270 is performed, which is a threshold value TH that is set to an absolute mean error value MAE for the prediction error of the macroblock. This is a process of determining whether to transmit the data.

B-픽쳐의 움직임 보상 예측 오차가 작은 마크로블럭에서는 마크로블럭의 전체 비트량 중 오버헤드(Overhead) 비트가 차지하는 비중이 커지는데, 이를 상세하게 설명하면 다음과 같다.In a macroblock having a small motion compensation prediction error of a B-picture, an overhead bit of the total bit amount of the macroblock increases, which will be described in detail as follows.

양자화 레벨을 일정하게 한 상태에서 마크로블럭의 예측 오차에 대한 MAE에 따라 발생하는 마크로블럭당 DCT 계수의 평균 비트량을 비교하여 보면, DCT 계수에 대한 비트량은 MAE가 증가할수록, 또한 양자화 레벨이 커질수록 급격하게 증가한다. 또한, 양자화된 '0'이 아닌 DCT 계수의 블럭당 평균 갯수는 DCT 블럭의 MAE에 따라 증가한다. 예를 들어 양자화 레벨이 12이고, MAE가 10보다 작거나 같은 경우 '0'이 아닌 DCT 계수가 블럭당 평균2개 이하로 발생한다. 반면에 DCT 계수를 제외한 마크로블럭의 정보에 대한 오버헤드 비트량은 대체로 MAE나 양자화 레벨의 크기에 관계없이 거의 일정하게 발생한다. 즉, 반드시 전송되어야 할 부호화된 마크로블럭 중에서 예측 오차의 MAE가 작은 마크로블럭에서는 마크로블럭의 전체 비트량 중 오버헤드 비트가 차지하는 비중이 커진다. 따라서 마크로블럭의 양자화된 DCT 계수 중에서 하나라도 '0'이 아니면 그 마크로블럭은 부호화된 마크로블럭으로 결정되기 때문에 MAE가 작은 마크로블럭의 전송은 일종의 전송 비트량의 손실이라 할 수 있다.When comparing the average bit amount of DCT coefficients per macroblock generated according to the MAE for the prediction error of the macroblock with the quantization level fixed, the bit amount for the DCT coefficient is increased as the MAE increases and the quantization level increases. It increases rapidly as it gets larger. Also, the average number per block of non-quantized '0' DCT coefficients increases with the MAE of the DCT block. For example, if the quantization level is 12 and the MAE is less than or equal to 10, non-zero DCT coefficients occur on average less than 2 per block. On the other hand, the amount of overhead bits for the macroblock information except for the DCT coefficients is almost constant regardless of the magnitude of the MAE or quantization level. That is, in the macroblock of which the MAE of the prediction error is small among the encoded macroblocks that must be transmitted, the proportion of the overhead bits in the total bit amount of the macroblocks increases. Therefore, if any one of the quantized DCT coefficients of the macroblock is not '0', the macroblock is determined as an encoded macroblock. Therefore, transmission of a macroblock with a small MAE is a kind of loss of a transmission bit amount.

따라서 도 5 에 도시한 바와 같이 상기 마크로블럭의 예측 오차에 대한 절대 평균 오차값(MAE)을 설정된 문턱값(TH)과 비교하여 전송 여부를 판단한다.Accordingly, as shown in FIG. 5, the absolute average error value MAE of the prediction error of the macroblock is compared with the set threshold TH to determine whether the transmission is performed.

즉, 상기 절대 평균 오차값이 상기 문턱값(TH)보다 크지 않으면 상기 마크로블럭 비부호화 과정(310)을 수행하여 마크로블럭내의 예측오차를 전송하지 않는다. 다시말해서 도 5 에 도시한 바와 같이 각 마크로블럭에 대해서 MAE가 설정된 문턱값(TH)보다 크지 않으면 위에서 설명한 바와 같이 전송 비트량의 손실을 가져올 수 있으므로 부호화하지 않고 전송도 하지 않는다(310).That is, if the absolute mean error value is not greater than the threshold value TH, the macroblock decoding process 310 is performed to not transmit a prediction error in the macroblock. In other words, as shown in FIG. 5, if the MAE for each macroblock is not greater than the set threshold TH, as described above, a loss of the transmission bit amount may occur, so that the transmission is not performed without encoding (310).

마크로블럭 계층에서의 조건부 보충 부호화에 의해 강제로 '비부호화'된 마크로블럭도 DCT 변환과 양자화 과정을 통해 '비부호화'로 결정된 마크로블럭과 마찬가지로 그 마크로블럭의 MCP모드와 움직임 벡터만을 이전 마크로블럭의 것들과 비교하여 '스킵드' 마크로블럭 또는 'MC + 비부호화' 마크로블럭을 결정하고, 그 결과를 부호화하여 전송하면 된다.Macroblocks forcibly 'uncoded' by conditional supplemental coding in the macroblock layer have the same macroblock's MCP mode and motion vector as the macroblock determined to be 'uncoded' through DCT transformation and quantization. Compared with those of the 'skip' macroblock or 'MC + unsigned' macroblock is determined, and the result is encoded and transmitted.

B-픽쳐에서 마크로블럭의 DCT 계수가 전송되지 않는 경우는 마크로블럭 타입이 'MC+비부호화(Not Coded)' 마크로블럭 또는 '스킵드(Skipped)' 마크로블럭으로 결정될때이다. 비부호화 마크로 블럭이란 마크로블럭내의 6개의 DCT 블럭에서 양자화된 모든 DCT 계수가 '0'일때를 의미한다. '비부호화' 마크로블럭 중에서 MCP 모드와 움직임 벡터(MV) 값이 바로 이전 마크로블럭과 동일하면 스킵드 마크로블럭으로, 그렇지 않으면 'MC+비부호화'마크로블럭으로 결정한다. 스킵드 마크로블럭은 마크로블럭에 대한 어떠한 정보도 전송되지 않더라도 이전 마크로블럭의 MCP 모드와 움직임 벡터를 이용하여 복원이 가능한 마크로블럭이지만, 'MC+비부호화' 마크로블럭은 마크로블럭 타입 정보와 MCP 모드에 대한 움직임 정보를 전송해야만 복원이 가능한 마크로블럭이다.When the DCT coefficient of the macroblock is not transmitted in the B-picture, the macroblock type is determined as a 'MC + Not Coded' macroblock or a 'Skipped' macroblock. An unsigned macro block means when all DCT coefficients quantized in six DCT blocks in the macro block are '0'. Among the 'unsigned' macroblocks, if the MCP mode and the motion vector (MV) value are the same as the previous macroblock, it is determined as a skipped macroblock, otherwise it is determined as a 'MC + unsigned' macroblock. The skipped macroblock is a macroblock that can be restored using the MCP mode and the motion vector of the previous macroblock even if no information on the macroblock is transmitted. However, the 'MC + unsigned' macroblock is applied to the macroblock type information and the MCP mode. It is a macroblock that can be restored only by transmitting motion information about a mobile station.

MPEG 에서 B-픽쳐의 비부호화 마크로블럭은 예측 효율이 좋을수록 증가하고, 예측 효율은 복원된 기준 픽쳐의 화질이 좋을수록 증가한다. 그리고 비부호화 마크로블럭으로 결정되는 마크로블럭 수가 증가할수록 B-픽쳐에서 발생하는 부호화 비트량은 감소하게 되고 절약된 만큼의 비트량을 후속되는 I-픽쳐와 P-픽쳐에 할당할 수 있다.The uncoded macroblock of B-picture in MPEG increases with better prediction efficiency, and the prediction efficiency increases with better image quality of the reconstructed reference picture. In addition, as the number of macroblocks determined as uncoded macroblocks increases, the amount of encoded bits generated in a B-picture decreases, and the amount of bits saved can be allocated to subsequent I-pictures and P-pictures.

즉, 도 6 에 도시한 바와 같이 비부호화 마크로블럭의 증가로 B-픽쳐에서 발생하는 부호화 비트량(b1,b2)이 감소되고 감소된 비트량을 후속되는 P-픽쳐에 할당하여 P-픽쳐에 많은 비트량을 상기 감소된 비트량(b1+b2=p1)만큼 증가시킬 수 있다. 부호화될 픽쳐에 더 많은 비트량이 할당될수록 부호화 성능이 향상되기 때문에 결국 비부호화 마크로블럭의 증가는 부호화 성능에 큰 영향을 미치게 된다.That is, as shown in FIG. 6, the amount of encoded bits b1 and b2 generated in a B-picture is reduced due to an increase in an uncoded macroblock, and the reduced bit amount is allocated to a subsequent P-picture to be assigned to a P-picture. A large amount of bits can be increased by the reduced amount of bits b1 + b2 = p1. As more bits are allocated to a picture to be encoded, encoding performance is improved, and thus, an increase in uncoded macroblocks has a significant effect on encoding performance.

따라서, 도 7 에 도시한 바와 같이 P-픽쳐의 부호화 성능이 향상됨에 따라 이후의 B-픽쳐의 부호화 성능이 향상되어 B-픽쳐 뿐만 아니라 P-픽쳐의 SNR(Signal per Noise Ratio)이 증가하게 된다.Therefore, as shown in FIG. 7, as the encoding performance of the P-picture is improved, the encoding performance of the subsequent B-picture is improved, so that not only the B-picture but also the SNR (Signal per Noise Ratio) of the P-picture is increased. .

여기서, 상기 문턱값(TH)은 현재의 B-픽쳐에 대한 기준 문턱값(TH0)을 기준으로 하여 해당 마크로블럭의 양자화 레벨에 따라 적응적으로 조절되고, 상기 기준 문턱값(TH0)은 부호화될 B-픽쳐의 모든 마크로블럭에 공통적으로 적용되는 것으로, 부호화된 이전의 B-픽쳐에 대한 프레임당 절대 평균 오차값(MAE)의 평균(MAEavg-b)에 비례하여 증가하고, 처음의 B-픽쳐인 경우 부호화된 이전의 P-픽쳐의 예측 이득에 대한 프레임당 절대 평균 오차값(MAE)의 평균(MAEavg-p)에 비례하여 증가한다.Here, the threshold value TH is adaptively adjusted according to the quantization level of the corresponding macroblock based on the reference threshold value TH0 for the current B-picture, and the reference threshold value TH0 is encoded. Applied to all macroblocks of a B-picture, it increases in proportion to the average (MAEavg-b) of the absolute mean error value (MAE) per frame for the previous coded B-picture, and the first B-picture. If is increased in proportion to the average (MAEavg-p) of the absolute average error value (MAE) per frame for the prediction gain of the encoded previous P-picture.

조건부 보충 부호화를 위한 문턱값(TH)은 전체 부호화 성능에 큰 영향을 미친다. 문턱값(TH)이 커질수록 '비부호화' 마크로블럭의 수는 증가하기 때문에 B-픽쳐의 부호화 비트량은 감소한다. B-픽쳐에서 절약된 비트량을 다음의 I-픽쳐와 P-픽쳐에 할당할 수 있기 때문에 문턱값(TH)의 증가에 비례하여 I/P 픽쳐의 부호화 성능이 증가한다. 그러나 문턱값(TH)이 어떤 임계치 이상이 되면 B-픽쳐의 성능은 조건부 보충 부호화 방법을 적용하지 않아 문턱값(TH)이 '0'일때보다 오히려 저하되고 블럭 현상이 심화된다. 극단적으로 B-픽쳐의 모든 마크로블럭을 '비부호화' 마크로블럭으로 만들면 I/P 픽쳐는 최상의 부호화 성능을 얻지만 B-픽쳐의 부호화 성능은 예측 이득과 같게 된다.The threshold TH for conditional supplemental coding has a great influence on the overall coding performance. As the threshold TH increases, the number of encoded bits of the B-picture decreases because the number of 'uncoded' macroblocks increases. Since the bit amount saved in the B-picture can be allocated to the next I-picture and P-picture, the encoding performance of the I / P picture increases in proportion to the increase of the threshold value TH. However, when the threshold value TH is greater than or equal to a certain threshold, the performance of the B-picture does not apply the conditional supplemental coding method, so that the threshold value TH is lowered than when the threshold value TH is '0' and the block phenomenon is intensified. Extremely, if all macroblocks of a B-picture are 'uncoded' macroblocks, the I / P picture will get the best coding performance, but the coding performance of the B-picture will be equal to the prediction gain.

상기 기준 문턱값(TH0)은 이미 부호화된 바로 이전의 B-픽쳐에 대한 프레임당 평균 MAE(MAEavg-b)와 프레임당 평균 문턱값(Tavg-b)으로 부터 결정된다. 이때, 기준 문턱값(TH0)은 B-픽쳐의 프레임당 평균 MAE에 비례하여 증가하도록 한다.The reference threshold TH0 is determined from an average MAE (MAEavg-b) and an average threshold (Tavg-b) per frame for the immediately preceding B-picture encoded. In this case, the reference threshold value TH0 is increased in proportion to the average MAE per frame of the B-picture.

그러나 부호화 과정의 첫 B-픽쳐는 이전의 B-픽쳐가 없으므로 이전에 부호화된 P-픽쳐의 예측 이득에 대한 프레임당 평균 MAE(MAEavg-p)로 부터 다음 수학식 1 에 의해 기준 문턱값(TH0)이 결정된다.However, since the first B-picture of the encoding process does not have a previous B-picture, the reference threshold (TH0) is calculated by the following equation 1 from the average per frame MAE (MAEavg-p) for the prediction gain of the previously encoded P-picture. ) Is determined.

TH0=MAEavg-p - (M-1)TH0 = MAEavg-p-(M-1)

여기서, 상기 M은 두 기준 픽쳐, 즉 두개의 I, 또는 P-픽쳐 사이의 픽쳐 간격으로, (M-1)은 M이 증가함에 따라 P-픽쳐의 예측 오차에 대한 MAEavg-p는 커지기 때문에 그 요인을 고려한 것이다.Here, M is a picture interval between two reference pictures, that is, two I or P-pictures, and (M-1) is MAEavg-p for the prediction error of the P-picture as M increases, so that Factors are taken into account.

또한, 이미 부호화된 이전의 B-픽쳐가 있을 경우에는 B-픽쳐의 평균 MAE가 부호화하고자 하는 현재 B-픽쳐의 MAE가 거의 같다고 가정하고, 이전 B-픽쳐의 MAE(MAEavg-b)와 프레임당 평균 문턱값(Tavg-b)에 따라 다음 수학식 2 에 의해 기준 문턱값(TH0)이 결정된다.In addition, if there is a previous B-picture already encoded, it is assumed that the average MAE of the B-picture is almost equal to the MAE of the current B-picture to be encoded, and is equal to the MAE (MAEavg-b) of the previous B-picture. The reference threshold TH0 is determined by the following equation 2 according to the average threshold Tav-b.

Figure 1019970053078_B1_M0001
Figure 1019970053078_B1_M0001

여기서, Kcrc는 문턱치(TH)의 조절에 결정적인 영향을 미치는 값으로, B-픽쳐의 부호화 이득이 최고가 될 때를 기준으로 한 실험 결과에 따르면 M=2인 경우 Kcrc=1.25, M≠2인 경우 Kcrc=1.35 정도일때 전체적인 부호화 이득이 최대가 된다.Here, Kcrc is a value that has a decisive influence on the adjustment of the threshold TH. According to the experimental results based on the time when the coding gain of the B-picture is the highest, when M = 2, Kcrc = 1.25 and M ≠ 2 When Kcrc = 1.35, the overall coding gain is maximum.

한편, 상기 각 마크로블럭의 문턱값(TH)은 현재의 B-픽쳐에 대한 기준 문턱값(TH0)을 기준으로 하여 그 마크로블럭의 양자화 레벨에 따라 적응적으로 조절한다. 즉, 양자화 레벨이 커질수록 '0'이 아닌 DCT 계수의 갯수와 발생 비트량은 줄어든다. 따라서 비효율적인 '부호화된 '마크로블럭의 수를 줄이기 위해서는 양자화 레벨에 비례하도록 문턱값(TH)을 조절하여야 한다. 부호화될 현재 B-픽쳐의 프레임당 평균 양자화 레벨은 이전 B-픽쳐의 것과 같다는 가정하에 다음 수학식 3과 같이 각 마크로블럭의 문턱값(TH)을 조절한다.Meanwhile, the threshold TH of each macroblock is adaptively adjusted according to the quantization level of the macroblock based on the reference threshold TH0 for the current B-picture. That is, as the quantization level increases, the number of non-zero DCT coefficients and the amount of generated bits decrease. Therefore, in order to reduce the number of inefficient 'coded' macroblocks, the threshold TH must be adjusted to be proportional to the quantization level. Assuming that the average quantization level per frame of the current B-picture to be encoded is the same as that of the previous B-picture, the threshold value TH of each macroblock is adjusted as shown in Equation 3 below.

Figure 1019970053078_B1_M0002
Figure 1019970053078_B1_M0002

여기서, 상기 Qmb는 MPEG의 비트율 제어에 따라 결정된 마크로블럭의 양자화 레벨이며, Qavg는 이전 B-픽쳐의 프레임당 평균 양자화 레벨이다. 따라서 첫 B-픽쳐의 경우에는 바로 이전에 부호화된 P-픽쳐의 평균 양자화 레벨을 사용한다.Here, Qmb is the quantization level of the macroblock determined according to the bit rate control of MPEG, and Qavg is the average quantization level per frame of the previous B-picture. Therefore, for the first B-picture, the average quantization level of the P-picture coded just before is used.

다음으로, 상기 전송 여부 판단 과정(270) 수행 결과 상기 절대 평균 오차값이 상기 문턱값(TH)보다 크면 상기 DCT 블럭 부호화 과정(280,290,300)을 수행하여 마크로블럭내의 DCT 블럭을 부호화한다.Next, if the absolute mean error value is greater than the threshold value TH, the DCT block encoding process 280, 290, 300 is performed to encode the DCT block in the macroblock.

즉, 상기 절대 평균 오차값(MAE)이 상기 문턱값(TH)보다 크면 마크로블럭내의 DCT 블럭을 DCT 처리하고(280), 상기 DCT 처리된 신호를 양자화한다(290). 그후, 상기 마크로블럭내의 각 DCT 블럭의 양자화된 DCT 계수중에서 '0'이 아닌(Non-Zero) DCT 계수의 갯수(Snz)에 따라 상기 마크로블럭내의 각 DCT 블럭의 전송 여부를 판단하여 부호화 및 비부호화를 수행하는 DCT 블럭 조건부 보충 부호화 단계(300)를 수행한다.That is, when the absolute mean error value MAE is greater than the threshold value TH, the DCT block in the macro block is DCT-processed (280), and the DCT-processed signal is quantized (290). Thereafter, among the quantized DCT coefficients of each DCT block in the macroblock, whether or not to transmit each DCT block in the macroblock is determined according to the number Snz of non-zero DCT coefficients. A DCT block conditional supplementary encoding step 300 for performing encoding is performed.

MAE가 문턱치(TH)보다 큰 마크로블럭의 6개의 DCT 블럭은 각각 DCT 및 양자화 과정을 수행된후, '0'이 아닌 DCT 계수의 갯수(Snz)에 따라 각 DCT 블럭의 전송 여부, 즉 부호화된 DCT 블럭과 부호화되지 않는 비부호화 DCT블럭으로 결정된다.The six DCT blocks of the macroblock whose MAE is larger than the threshold TH are each DCT and quantized, and then each DCT block is transmitted according to the number of non-zero DCT coefficients (Snz), that is, encoded. It is determined as a DCT block and an uncoded DCT block which is not encoded.

DCT 블럭 계층에서의 조건부 보충 부호화에 의해 강제로 '비부호화' 블럭으로 결정된 DCT 블럭은 DCT 변환과 양자화 과정을 통해 '비부호화'로 결정된 블럭과 동일한 방법으로 부호화된다.A DCT block that is forcibly determined to be an 'uncoded' block by conditional supplemental coding in the DCT block layer is encoded in the same manner as a block that is determined to be 'uncoded' through DCT transformation and quantization.

그러므로, 본 발명에 의한 조건부 보충 부호화 방법은 MPEG에 적용되더라도 부호화된 비트열의 표현에 변화가 없기 때문에 MPEG의 신텍스는 전혀 수정될 필요가 없다.Therefore, even if the conditional supplemental coding method according to the present invention is applied to MPEG, the syntax of the MPEG does not need to be modified at all because there is no change in the representation of the encoded bit string.

이와 같이 DCT 블럭 계층에서 이루어지는 상기 DCT 블럭 조건부 보충 부호화 단계(300)는 상기 마크로블럭내의 각 DCT 블럭의 상기 양자화된 DCT 계수중에서 '0'이 아닌(Non-Zero) DCT 계수의 갯수(Snz)와 해당 DCT 블럭의 절대 평균 오차값(MAEb)을 상기 설정된 문턱값(TH)과 설정된 제1 및 제2 DCT 문턱값(N1,N2)과 비교하여 마크로블럭내의 6개의 DCT 블럭을 부호화 및 비부호화하는데, 이를 도 4 를 참조하여 상세히 설명한다.As described above, the DCT block conditional supplementary encoding step 300 performed in the DCT block layer includes a number Snz of non-zero DCT coefficients among the quantized DCT coefficients of each DCT block in the macroblock. Encoding and uncoding six DCT blocks in a macroblock by comparing the absolute mean error value MAEb of the DCT block with the set threshold TH and the set first and second DCT thresholds N1 and N2. This will be described in detail with reference to FIG. 4.

먼저, 상기 마크로블럭내의 해당하는 DCT 블럭에서 상기 양자화된 DCT 계수중에서 '0'이 아닌(Non-Zero) DCT 계수의 갯수(Snz)가 설정된 제1 DCT 문턱값(N1)보다 큰지 검색하고(400), 상기 검색 결과 '0'이 아닌(Non-Zero) DCT 계수의 갯수(Snz)가 설정된 제1 DCT 문턱값(N1)보다 크면 해당 DCT 블럭의 절대 평균 오차값(MAEb)이 상기 문턱값(TH)의 1.5배에 해당하는 값보다 큰지 검색한다(410). 상기 검색 결과 해당 DCT 블럭의 절대 평균 오차값(MAEb)이 상기 문턱값(TH)의 1.5배에 해당하는 값보다 크지 않으면 상기 '0'이 아닌(Non-Zero) DCT 계수의 갯수(Snz)가 설정된 제2 DCT 문턱값(N2)보다 큰지 검색한다(420).First, the number of non-zero DCT coefficients Snz of the quantized DCT coefficients in the corresponding DCT block in the macroblock is searched for greater than the set first DCT threshold value N1 (400). If the number Snz of non-zero DCT coefficients is greater than the set first DCT threshold value N1, the absolute mean error value MAEb of the corresponding DCT block is equal to the threshold value. TH is searched for greater than 1.5 times that of TH) (410). If the absolute mean error value MAEb of the corresponding DCT block is not greater than 1.5 times the threshold value TH, the number of non-zero DCT coefficients Snz In operation 420, the controller searches whether the second DCT threshold value N2 is greater than the set second DCT threshold value N2.

상기 검색 결과(400,410,420) 상기 양자화된 DCT 계수중에서 '0'이 아닌(Non-Zero) DCT 계수의 갯수(Snz)가 설정된 제1 DCT 문턱값(N1)보다 크고 해당 DCT 블럭의 절대 평균 오차값(MAEb)이 상기 문턱값(TH)의 1.5배에 해당하는 값보다 크거나, 상기 DCT 블럭의 절대 평균 오차값(MAEb)이 상기 문턱값(TH)의 1.5배에 해당하는 값보다 크지 않고 상기 '0'이 아닌(Non-Zero) DCT 계수의 갯수(Snz)가 설정된 제2 DCT 문턱값(N2)보다 크면 상기 DCT 블럭의 DCT 계수를 가변 길이 부호화한다(430).The search results (400, 410, 420) of the quantized DCT coefficients, the number of non-zero DCT coefficients Snz is greater than the set first DCT threshold value N1 and the absolute mean error value of the corresponding DCT block ( MAEb) is greater than 1.5 times the threshold value TH, or the absolute mean error value MAEb of the DCT block is not greater than 1.5 times the threshold value TH and If the number of non-zero DCT coefficients Snz is greater than the set second DCT threshold value N2, the DCT coefficients of the DCT block are variable length coded (430).

또한, 상기 검색 결과(400,410,420) 상기 '0'이 아닌(Non-Zero) DCT 계수의 갯수(Snz)가 설정된 제1 DCT 문턱값(N1)보다 크지 않거나, 상기 제2 DCT 문턱값(N2)보다 크지 않으면 상기 DCT 블럭의 DCT 계수를 부호화하지 않는다(440).In addition, the number of search results 400, 410, and 420 of the non-zero DCT coefficients Snz is not greater than the first DCT threshold value N1 or greater than the second DCT threshold value N2. If it is not large, the DCT coefficients of the DCT block are not encoded (440).

이와 같이 하나의 DCT 블럭에 대해 부호화 및 비부호화를 결정하여 처리한후에는 마크로블럭내의 나머지 DCT 블럭에 대해 상술한 바와 같이 DCT 블럭의 조건부 보충 부호화를 수행한다.As described above, after encoding and uncoding are determined and processed for one DCT block, conditional supplemental encoding of the DCT block is performed on the remaining DCT blocks in the macroblock as described above.

즉, 비부호화 마크로블럭으로 결정된 마크로블럭내의 6개의 DCT 블럭에 대해서 각각 DCT 블럭의 조건부 보충 부호화를 수행하여 각각의 DCT블럭의 비부호화를 결정하게 된다.That is, each of the six DCT blocks in the macroblock determined as the unsigned macroblock is subjected to conditional supplemental coding of the DCT block to determine the uncoding of each DCT block.

한편, 각 DCT 블럭의 전송 여부를 결정하는 상기 제1 DCT 문턱값(N1)과 제2 DCT 문턱값(N2)은 실험에 의해 결정되는데, 마크로블럭을 대상으로 하기 때문에 큰값을 사용할 경우 B-픽쳐의 부호화 성능을 급격히 저하시킨다. 따라서 실험에 의해 B-픽쳐의 부호화 성능을 향상시키면서 전체 픽쳐의 부호화 성능을 향상시킬 수 있도록 적당한 값으로 설정하게 된다. 이때, 상기 제1 DCT 문턱값(N1)은 제2 DCT 문턱값(N2)보다 작은 값이 된다.On the other hand, the first DCT threshold (N1) and the second DCT threshold (N2) for determining whether to transmit each DCT block is determined by an experiment, because the macro block is used as a target for the B-picture Decreases the encoding performance. Therefore, the experiment is set to an appropriate value to improve the coding performance of the entire picture while improving the coding performance of the B-picture. In this case, the first DCT threshold value N1 is smaller than the second DCT threshold value N2.

이와 같이 DCT 블럭 단위의 조건부 보충 부호화 단계(300)를 포함하는 DCT 블럭 부호화 과정(280,290,300), 상기 인트라 부호화 과정(240,250,260), 및 마크로블럭 비부호화 과정(310)을 수행한후에는 상기 마크로블럭 타입 결정 및 VLC 과정(320,330)을 수행하여 현재 마크로블럭의 타입을 결정하고 상기 마크로블럭 정보를 가변길이 부호화한다.As described above, after performing the DCT block encoding process (280, 290, 300), the intra encoding process (240, 250, 260), and the macroblock decoding process (310) including the conditional supplemental encoding step 300 in units of DCT blocks, the macroblock type determination is performed. And VLC processes 320 and 330 to determine the type of the current macroblock and variable length encoding the macroblock information.

즉, 상술한 바와 같이 현재 마크로블럭이 'MC + 비부호화', '스캡드' 인트라 부호화, 'MC + 부호화'의 마크로블럭 타입 중에서 어느 것인지를 결정하고(320) 해당 정보를 가변 길이 부호화하여 전송한다(330).That is, as described above, it is determined whether the current macroblock is one of the macroblock types of 'MC + uncoded', 'capsulated' intra coding, and 'MC + coding' (320). (330).

이상에서 설명한 바와 같이 본 발명에 의한 B-픽쳐의 조건부 보충 부호화 방법은 B-픽쳐에 조건부 보충 부호화를 적용하여 전체적인 부호화 성능을 향상시키는 효과가 있다.As described above, the conditional supplemental coding method of the B-picture according to the present invention has an effect of improving the overall encoding performance by applying conditional supplemental coding to the B-picture.

Claims (10)

B-픽쳐의 마크로블럭 단위의 예측 오차에 따라 결정된 MCP(Motion Compensated Prediction) 모드의 오차 분산값과 원영상의 분산값에 따라 인트라 마크로블럭 또는 논인트라(Intra/Non-intra) 마크로블럭으로 결정하는 마크로블럭 결정 과정;Determined as an intra macroblock or an intra / non-intra macroblock according to an error variance value of a motion compensated prediction mode (MCP) mode determined according to a prediction error of a macroblock unit of a B-picture and a variance value of an original image Macroblock determination process; 상기 결정 결과 현재 마크로 블럭이 인트라 마크로블럭인 경우에는 영상내 부호화를 수행하는 인트라 부호화 과정;An intra encoding process for performing intra-image encoding when the current macro block is an intra macro block as a result of the determination; 상기 결정 결과 현재 마크로블럭이 논인트라 마크로블럭인 경우에는 상기 마크로블럭의 예측 오차에 대한 절대 평균 오차값을 설정된 문턱값과 비교하여 전송 여부를 판단하는 전송 여부 판단 과정;Determining whether the current macroblock is a non-intra macroblock and determining whether to transmit the result by comparing an absolute average error value of the prediction error of the macroblock with a set threshold; 상기 판단 결과 상기 절대 평균 오차값이 상기 문턱값보다 크면 마크로블럭내의 DCT 블럭을 부호화하는 DCT 블럭 부호화 과정;A DCT block encoding process of encoding a DCT block in a macro block if the absolute mean error value is greater than the threshold as a result of the determination; 상기 판단 결과 상기 절대 평균 오차값이 상기 문턱값보다 크지 않으면 마크로블럭내의 예측오차를 전송하지 않는 마크로블럭 비부호화 과정; 및A macroblock decoding process that does not transmit a prediction error in the macroblock if the absolute average error value is not greater than the threshold as a result of the determination; And 상기 인트라 부호화 과정, 상기 DCT 블럭 부호화 과정, 및 마크로블럭 비부호화 과정을 수행한후 현재 마크로블럭의 타입을 결정하고 상기 마크로블럭 정보를 가변길이 부호화하는 마크로블럭 타입 결정 및 VLC과정에 의해 수행됨을 특징으로 하는 B-픽쳐의 조건부 보충 부호화 방법.After performing the intra encoding process, the DCT block encoding process, and the macroblock decoding process, the macroblock type determination and the VLC process determine the type of the current macroblock and variable length encode the macroblock information. A conditional supplemental coding method of a B-picture. 제 1 항에 있어서, 상기 마크로블럭 결정 과정은The method of claim 1, wherein the determining of the macroblocks is performed. B-픽쳐의 마크로블럭 단위의 양방향 움직임 벡터를 추정하는 양방향 움직임 벡터 추정 단계;A bidirectional motion vector estimating step of estimating a bidirectional motion vector in units of macroblocks of a B-picture; 상기 추정된 양방향 움직임 벡터에 따라 MCP 모드에 대한 예측 오차의 SSE(Sum of Square Error)를 계산하여 MCP(Motion Compensated Prediction) 모드를 결정하는 MCP 모드 결정 단계;An MCP mode determination step of determining a Motion Compensated Prediction (MCP) mode by calculating a sum of square error (SSE) of a prediction error for an MCP mode according to the estimated bidirectional motion vector; 상기 결정된 MCP 모드의 오차 분산값과 원영상의 분산값을 계산하는 오차 분산값 계산 단계; 및An error variance calculation step of calculating an error variance value of the determined MCP mode and a variance value of an original image; And 상기 계산된 오차 분산값과 원영상의 분산값을 비교하여 상기 계산된 오차 분산값이 원영상의 분산값보다 크면 현재 마크로블럭을 인트라 마크로블럭으로 결정하고 상기 계산된 오차 분산값이 원영상의 분산값보다 크지 않으면 현재 마크로블럭을 논인트라 마크로블럭으로 결정하는 마크로블럭 결정 단계에 의해 수행됨을 특징으로 하는 B-픽쳐의 조건부 보충 부호화 방법.Comparing the calculated error variance value with the variance value of the original image, if the calculated error variance value is larger than the variance value of the original image, the current macroblock is determined as an intra macroblock, and the calculated error variance value is the variance of the original image. And performing a macroblock determination step of determining the current macroblock as a non-intra macroblock if it is not larger than the value. 제 1 항에 있어서, 상기 인트라 부호화 과정은The method of claim 1, wherein the intra encoding process 상기 결정 결과 현재 마크로 블럭이 인트라 마크로블럭인 경우 입력 영상 신호를 DCT 처리하는 DCT 단계;A DCT step of DCT processing an input video signal when the current macroblock is an intra macroblock as a result of the determination; 상기 DCT 처리된 신호를 양자화하는 양자화 단계; 및A quantization step of quantizing the DCT processed signal; And 상기 양자화된 DCT 계수를 가변 길이 부호화(Variable Length Coding)하는 VLC 단계에 의해 수행됨을 특징으로 하는 B-픽쳐의 조건부 보충 부호화 방법.And a VLC step of performing variable length coding on the quantized DCT coefficients. 제 1 항에 있어서, 상기 문턱값은The method of claim 1, wherein the threshold is 현재의 B-픽쳐에 대한 기준 문턱값을 기준으로 하여 해당 마크로블럭의 양자화 레벨에 따라 적응적으로 조절됨을 특징으로 하는 B-픽쳐의 조건부 보충 부호화 방법.A conditional supplemental encoding method of a B-picture, characterized in that the adaptive adjustment according to the quantization level of the corresponding macroblock based on the reference threshold value for the current B-picture. 제 4 항에 있어서, 상기 기준 문턱값은The method of claim 4, wherein the reference threshold is 부호화된 이전의 B-픽쳐에 대한 프레임당 절대 평균 오차값의 평균에 비례하여 증가함을 특징으로 하는 B-픽쳐의 조건부 보충 부호화 방법.A conditional supplementary encoding method of a B-picture, characterized in that it increases in proportion to the average of the absolute mean error value per frame for the previous coded B-picture. 제 5 에 있어서, 상기 기준 문턱값은The method of claim 5, wherein the reference threshold is 부호화된 이전의 P-픽쳐의 예측 이득에 대한 프레임당 절대 평균 오차값의 평균에 비례하여 증가함을 특징으로 하는 B-픽쳐의 조건부 보충 부호화 방법.A conditional supplemental encoding method of a B-picture, characterized in that it increases in proportion to the average of the absolute average error value per frame with respect to the predicted gain of the previous P-picture. 제 1 항에 있어서, 상기 DCT 블럭 부호화 과정은The method of claim 1, wherein the DCT block encoding process 상기 판단 결과 상기 절대 평균 오차값이 상기 문턱값보다 크면 마크로블럭내의 DCT 블럭을 DCT 처리하는 DCT 단계;A DCT step of DCT processing a DCT block in a macro block if the absolute average error value is greater than the threshold value as a result of the determination; 상기 DCT 처리된 신호를 양자화하는 양자화 단계; 및A quantization step of quantizing the DCT processed signal; And 상기 마크로블럭내의 각 DCT 블럭의 상기 양자화된 DCT 계수중에서 '0'이 아닌 DCT 계수의 갯수에 따라 상기 마크로블럭내의 각 DCT 블럭의 전송 여부를 판단하여 부호화 및 비부호화를 수행하는 DCT 블럭 조건부 보충 부호화 단계에 의해 수행됨을 특징으로 하는 B-픽쳐의 조건부 보충 부호화 방법.DCT block conditional supplemental encoding that performs encoding and decoding by determining whether to transmit each DCT block in the macroblock according to the number of DCT coefficients other than '0' in the quantized DCT coefficients of each DCT block in the macroblock. A conditional supplemental encoding method of a B-picture, characterized in that performed by step. 제 7 항에 있어서, 상기 DCT 블럭 조건부 보충 부호화 단계는8. The method of claim 7, wherein the DCT block conditional supplementary encoding step is 상기 마크로블럭내의 각 DCT 블럭의 양자화된 DCT 계수중에서 '0'이 아닌 DCT 계수의 갯수와 해당 DCT 블럭의 절대 평균 오차값을 상기 설정된 문턱값과 설정된 제1 및 제2 DCT 문턱값과 비교하여 마크로블럭내의 6개의 DCT 블럭을 부호화 및 비부호화함을 특징으로 하는 B-픽쳐의 조건부 보충 부호화 방법.Among the quantized DCT coefficients of each DCT block in the macroblock, the number of non-zero DCT coefficients and the absolute mean error value of the corresponding DCT block are compared with the set threshold and the set first and second DCT thresholds. A conditional supplemental encoding method of a B-picture, characterized by encoding and uncoding six DCT blocks in a block. 제 8 항에 있어서, 상기 DCT 블럭 조건부 보충 부호화 단계는9. The method of claim 8, wherein the DCT block conditional supplemental encoding step is 상기 마크로블럭내의 해당하는 DCT 블럭에서 양자화된 DCT 계수중에서 '0'이 아닌(Non-Zero) DCT 계수의 갯수가 설정된 제1 DCT 문턱값보다 큰지 검색하는 단계;Searching whether the number of non-zero DCT coefficients among the quantized DCT coefficients in the corresponding DCT block in the macroblock is greater than a set first DCT threshold value; 상기 검색 결과 '0'이 아닌 DCT 계수의 갯수가 설정된 제1 DCT 문턱값보다 크면 해당 DCT 블럭의 절대 평균 오차값이 상기 문턱값의 1.5배에 해당하는 값보다 큰지 검색하는 단계;Searching whether the absolute mean error value of the corresponding DCT block is greater than 1.5 times the threshold value if the number of DCT coefficients other than '0' is greater than the set first DCT threshold value; 상기 검색 결과 해당 DCT 블럭의 절대 평균 오차값이 상기 문턱값의 1.5배에 해당하는 값보다 크지 않으면 상기 '0'이 아닌 DCT 계수의 갯수가 설정된 제2 DCT 문턱값보다 큰지 검색하는 단계;Searching whether the number of DCT coefficients other than '0' is greater than a set second DCT threshold value if the absolute mean error value of the corresponding DCT block is not greater than 1.5 times the threshold value; 상기 검색 결과 해당 DCT 블럭의 절대 평균 오차값이 상기 문턱값의 1.5배에 해당하는 값보다 크거나 상기 '0'이 아닌 DCT 계수의 갯수가 상기 설정된 제2 DCT 문턱값보다 크면 상기 DCT 블럭의 DCT 계수를 가변 길이 부호화하는 단계;The DCT of the DCT block if the absolute mean error value of the DCT block is greater than 1.5 times the threshold or the number of non-zero DCT coefficients is greater than the set second DCT threshold. Variable length coding the coefficients; 상기 검색 결과 상기 '0'이 아닌 DCT 계수의 갯수가 설정된 제1 DCT 문턱값보다 크지 않거나, 상기 제2 DCT 문턱값보다 크지 않으면 상기 DCT 블럭의 DCT 계수를 부호화하지 않는 단계; 및Not encoding the DCT coefficients of the DCT block if the number of DCT coefficients other than '0' is not greater than a first DCT threshold value or greater than the second DCT threshold value as a result of the search; And 상기 마크로블럭내의 모든 DCT 블럭에 대해서 부호화 및 비부호화를 결정하고 처리하였는지 검색하여 마크로블럭내의 모든 DCT 블럭에 대해서 부호화 및 비부호화를 결정하고 처리할때까지 상기 단계들을 반복하여 수행하는 단계에 의해 수행됨을 특징으로 하는 B-픽쳐의 조건부 보충 부호화 방법.Performing the above steps until all DCT blocks in the macroblock have been determined and processed for encoding and decoding for all DCT blocks in the macroblock, until the encoding and decoding are determined and processed for all DCT blocks in the macroblock. Conditional supplemental coding method of a B-picture, characterized in that. 제 9 항에 있어서, 상기 제1 DCT문턱값은 상기 제2 DCT문턱값보다 작게 설정됨을 특징으로 하는 B-픽쳐의 조건부 보충 부호화 방법.10. The method of claim 9, wherein the first DCT threshold is set smaller than the second DCT threshold.
KR1019970053078A 1997-10-16 1997-10-16 Conditional replenishment coding method for b-picture of mpeg system KR100266708B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970053078A KR100266708B1 (en) 1997-10-16 1997-10-16 Conditional replenishment coding method for b-picture of mpeg system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970053078A KR100266708B1 (en) 1997-10-16 1997-10-16 Conditional replenishment coding method for b-picture of mpeg system

Publications (2)

Publication Number Publication Date
KR19990032109A KR19990032109A (en) 1999-05-06
KR100266708B1 true KR100266708B1 (en) 2000-09-15

Family

ID=19522860

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970053078A KR100266708B1 (en) 1997-10-16 1997-10-16 Conditional replenishment coding method for b-picture of mpeg system

Country Status (1)

Country Link
KR (1) KR100266708B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100446083B1 (en) * 2002-01-02 2004-08-30 삼성전자주식회사 Apparatus for motion estimation and mode decision and method thereof
KR101057590B1 (en) * 2003-06-03 2011-08-19 제너럴 인스트루먼트 코포레이션 How to reconstruct a group of pictures to provide random access into the group of pictures

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100772391B1 (en) * 2006-01-23 2007-11-01 삼성전자주식회사 Method for video encoding or decoding based on orthogonal transform and vector quantization, and apparatus thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100446083B1 (en) * 2002-01-02 2004-08-30 삼성전자주식회사 Apparatus for motion estimation and mode decision and method thereof
KR101057590B1 (en) * 2003-06-03 2011-08-19 제너럴 인스트루먼트 코포레이션 How to reconstruct a group of pictures to provide random access into the group of pictures

Also Published As

Publication number Publication date
KR19990032109A (en) 1999-05-06

Similar Documents

Publication Publication Date Title
US6037987A (en) Apparatus and method for selecting a rate and distortion based coding mode for a coding system
KR100381830B1 (en) Image signal encoding method and apparatus
KR100238066B1 (en) Method for controlling bit quantity and apparatus for encoding image using quantized activities
Merritt et al. x264: A high performance H. 264/AVC encoder
US20070009025A1 (en) Method and apparatus for operational frame-layer rate control in video encoder
US20050069211A1 (en) Prediction method, apparatus, and medium for video encoder
US20090225847A1 (en) Method and apparatus for encoding and decoding an image by using consecutive motion estimation
KR20100027384A (en) Method and apparatus for determining a prediction mode
EP1592257A1 (en) H.263/MPEG video encoder using average histogram difference and method for controlling the same
KR100594056B1 (en) H.263/MPEG Video Encoder for Effective Bits Rate Control and Its Control Method
US8050324B2 (en) Method and apparatus for selecting a reference frame for motion estimation in video encoding
WO1999059344A1 (en) Conditional masking for video encoder
KR100708182B1 (en) Rate control apparatus and method in video encoder
KR100834625B1 (en) Real-time scene-change detection for rate control of video encoder
JP4130617B2 (en) Moving picture coding method and moving picture coding apparatus
KR20050085730A (en) Elastic storage
KR20040007818A (en) Method for controlling DCT computational quantity for encoding motion image and apparatus thereof
KR100266708B1 (en) Conditional replenishment coding method for b-picture of mpeg system
JP3978810B2 (en) Encoding method and encoding apparatus using the same
Yin et al. A rate control scheme for H. 264 video under low bandwidth channel
JP2000032468A (en) Image encoding method and recording medium with motion compensation mode selection program recorded therein
KR101490521B1 (en) Method for real-time scene-change detection for rate control of video encoder, method for enhancing qulity of video telecommunication using the same, and system for the video telecommunication
JPH11308622A (en) Dynamic image recording device
KR100295327B1 (en) Motion Estimation System Using Adaptive Threshold
KR100778473B1 (en) Bit rate control method

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: 20120604

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20130603

Year of fee payment: 14

LAPS Lapse due to unpaid annual fee