KR0134342B1 - Coding apparatus and method of motion - Google Patents
Coding apparatus and method of motionInfo
- Publication number
- KR0134342B1 KR0134342B1 KR1019930006100A KR930006100A KR0134342B1 KR 0134342 B1 KR0134342 B1 KR 0134342B1 KR 1019930006100 A KR1019930006100 A KR 1019930006100A KR 930006100 A KR930006100 A KR 930006100A KR 0134342 B1 KR0134342 B1 KR 0134342B1
- Authority
- KR
- South Korea
- Prior art keywords
- quantization
- motion
- data
- matrix
- quantization matrix
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
- H04N19/615—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding using motion compensated temporal filtering [MCTF]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명은 동작추정에 의한 부호화방법 및 그 장치에 관한 것으로, 특히 연속적인 화면으로 구성된 동영상에서 인접한 화면사이의 움직임을 추정하는 동추정부와, 추정된 운동의 성질에 따라 방향성 표시를 하여 주는 동분류부와, 분류된 운동성분에 따라서 적응적으로 양지화행렬의 양지화스텝을 순차적으로 출력시킬 수 있는 양자화행렬메모리에 의하여 영상데이타를 양자화함으로써 압축효율을 높일 수 있을 뿐 아니라 전체적인 화질을 개선시킬 수 있는 효과를 제공한다.The present invention relates to a method and apparatus for encoding by motion estimation. In particular, a motion estimation unit for estimating motion between adjacent screens in a moving picture composed of continuous screens, and a classification for displaying directionality according to the estimated motion characteristics By quantizing the image data by the quantization matrix memory which can output the quantization step of the quantization matrix sequentially according to the classification and the motion components classified, not only the compression efficiency can be increased but also the overall image quality can be improved. Provide the effect.
Description
제 1 도는 본 발명에 따른 동작추정에 의한 부호화장치를 나타내는 블록도.1 is a block diagram showing an encoding apparatus by motion estimation according to the present invention.
제 2 도는 제 1 도 장치에서 동분류부를 나타내는 상세블록도.2 is a detailed block diagram showing the same classification in the FIG. 1 apparatus.
* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings
11 : DCT부12 : 양자화부11 DCT unit 12 quantization unit
13 : 가변장부호화부14 : 버퍼13 variable length encoding unit 14 buffer
15 : 역양자화부16 : 역DCT부15: inverse quantization unit 16: inverse DCT unit
17 : 프레임메모리18 : 동추정부17: frame memory 18: winter weight
19 : 동보상부20 : 동분류부19: Compensation Compensation Part 20: Compensation Division
21 : 분리부22 : 연산부21: separating unit 22: calculating unit
23 : 비교부24 : 디코더23: comparison unit 24: decoder
30 : 양자화행렬메모리31 : 양자화인자선택부30: quantization matrix memory 31: quantization factor selector
32 : 곱셈기32: multiplier
본 발명은 영상데이타를 부호화하여 데이타량을 압축하기 위한 부호화시스템에 관한 것으로, 특히 영상신호의 동작추정정보데이타에 상응하여 선택된 양자화행렬에 양자화인자를 적응적으로 가중하여 영상신호를 양자화하므로써, 전송데이타의 압축효율을 높일 수 있는 동작추정에 의한 부호화방법 및 그 장치에 관한 것이다.The present invention relates to an encoding system for compressing a data amount by encoding image data, and more particularly, by quantizing an image signal by adaptively weighting a quantization factor to a quantization matrix selected according to the motion estimation information data of the image signal. The present invention relates to a method and apparatus for encoding by motion estimation that can increase the compression efficiency of data.
근래에 와서, 영상 및 음향을 송·수신하는 시스템에서 영상신호 음성신호를 디지탈신호로 부호화하여 전송하거나 저장부에 저장하고, 이를 다시 복호화하여 재생하는 방식이 주로 사용되고 있다. 이러한 부호화 및 복호화시스템에서는 데이타의 전송효율을 극대화시키기 위해 전송데이타량을 보다 더 압축하기 위한 기술이 요구되고 있다. 일반적으로, 영상신호의 부호화를 위해 사용되고 있는 방식에는 변환부호화(Transform Coding)방식, DPCM(Differential Pulse Code Modulation)방식, 벡터양자화방식 및 가변장부호화(Variable Length Coding)방식 등이 있다. 이 부호화방식들은 디지탈영상신호에 포함되어 있는 데이타중복성(Redundancy Data)를 제거하여 전체데이타량을 압축시키기 위해 사용된다. 이와 같은 부호화방식을 수행하기 위해 화면을 소정크기의 블록들로 구분하고, 각 블록 또는 블록간의 차신호에 대해 소정의 변환을 행하여 영상데이타를 주파수 영역의 변환계수로 변환한다. 각 블록에 대한 데이타변환방식에는 DCT(Discrete Cosine Transform), WHT(Walsh-Hadamard Transform), DFT(Discrete Fourier Transform) 및 DST(Discrete Sine Transform)등이 있다. 이와 같은 변환계수들을 데이타 특성에 따라 적절히 부호화하여 전송하므로써 전송데이타를 압축한다. 또한, 사람의 시각은 고주파다 저주파에 민감하므로, 영상신호를 처리함에 있어서 고주파부분의 신호를 감쇄시키므로써 전송데이타량을 더욱 감소시킬 수 있다.Recently, in a system for transmitting and receiving video and sound, a video signal audio signal is encoded into a digital signal, transmitted or stored in a storage unit, and decoded and reproduced. In such an encoding and decoding system, a technique for further compressing the amount of transmission data is required to maximize data transmission efficiency. In general, a method used for encoding an image signal includes a transform coding method, a differential pulse code modulation (DPCM) method, a vector quantization method, and a variable length coding method. These coding schemes are used to compress the total amount of data by removing redundancy data included in the digital video signal. In order to perform such an encoding method, a screen is divided into blocks having a predetermined size, and predetermined conversion is performed on each block or a difference signal between blocks to convert image data into a conversion coefficient of a frequency domain. Examples of data transformation methods for each block include DCT (Discrete Cosine Transform), WHT (Walsh-Hadamard Transform), DFT (Discrete Fourier Transform), and DST (Discrete Sine Transform). The transmission data is compressed by appropriately encoding and transforming such transform coefficients according to data characteristics. In addition, since human vision is sensitive to high frequency and low frequency, the amount of transmission data can be further reduced by attenuating the signal of the high frequency part in processing the video signal.
일반적으로 가변장부호화 및 복호화장치를 이용하여 영상신호를 압축하는 경우 입·출력 데이타량이 일정하게 유지되도록 버퍼가 마련되어 있다. 버퍼의 오버플로우나 언더플로우를 방지하기 위하여 버퍼의 상태에 따라서 양자화스텝을 조절하여 출력되는 부호량을 조절한다. 또한 화면과 화면간에는 유사한 부분이 많으므로, 약간의 움직임이 있는 화면인 경우 그 움직임을 추정하여 동벡터를 산출하고, 이동벡터를 이용하여 데이타를 보상하여 주면 인접한 화면간의 차신호는 매우 작으므로 전송데이타를 더욱 압축시킬 수 있다. 또한 부호화에 있어서 가장 중요한 파라미터중의 하나인 양자화의 스텝을 어떻게 결정할 것이냐가 매우 중요한 문제이다. 종래의 양자화스텝(Quantization Step)은 양자화행렬메모리에서 출력되는 양자화값과 출력단에 연결된 버퍼의 상태에 따라 양자화인자선택부에서 선택출력되는 양자화인자(Scaling Factor)를 곱해서 결정된다. 양자화스텝이 크면 출력되는 부호량은 작은 대신 복원했을때 오차가 커지게 된다. 반대로, 양자화스텝이 작으면 출력되는 부호량은 많은 대신 복원했을 때 오차가 작아진다. 이러한 양자화스텝결정방식은 출력되는 비트량이 정해졌을 때 출력버퍼량에 따라서 양자화인자를 적절히 조절하여 주므로 전체적인 비트량을 정확하게 조절할 수 있으나 화면의 성질을 전혀 고려하지 못하는 문제점이 있었다.In general, when a video signal is compressed using a variable length encoding and decoding device, a buffer is provided so that the amount of input / output data is kept constant. In order to prevent overflow or underflow of the buffer, the amount of code to be output is controlled by adjusting the quantization step according to the state of the buffer. In addition, since there are many similar parts between the screen and the screen, the motion vector is calculated by estimating the motion and the data is compensated using the motion vector, and the difference between the adjacent screens is very small. The data can be further compressed. In addition, how to determine the quantization step, which is one of the most important parameters in the encoding, is a very important problem. The conventional quantization step is determined by multiplying the quantization factor output from the quantization matrix memory by the quantization factor selected by the quantization factor selector according to the state of the buffer connected to the output terminal. If the quantization step is large, the output code amount is small, but the error is large when reconstructed. On the contrary, when the quantization step is small, an error is small when the output code amount is restored instead. Since the quantization step determination method adjusts the quantization factor according to the output buffer amount when the output bit amount is determined, the overall bit amount can be precisely adjusted, but there is a problem in that the nature of the screen is not considered at all.
따라서, 본 발명의 목적은 영상데이타를 데이타량이 압축된 전송데이타로 부호화함에 있어서, 인간의 시각특성을 고려하여 영상데이타의 동작추정정보데이타와 버퍼상태를 상호 적응적으로 조화시켜 양자화스텝을 결정하므로 전체적인 화면의 시각적인 화질을 높일 수 있는 방법을 제공함에 있다.Therefore, an object of the present invention is to determine the quantization step by adaptively matching the motion estimation information data and the buffer state of the image data in consideration of the visual characteristics of the human in encoding the image data into the transmission data compressed data amount The present invention provides a method for improving the visual quality of the entire screen.
본 발명의 다른 목적은 전술한 동작추정에 의한 부호화방법을 구현하기 위한 장치를 제공함에 있다. 이와 같은 본 발명의 목적은, 소정 크기의 블록들로 분할된 영상데이타를 동작추정에 의한 최적의 양자화스텝을 이용하여 부호화하기 위한 방법에 있어서, 입력영상데이타와 이전프레임신호사이의 동작을 추정하는 단계와, 상기 동작추정치의 운동방향을 검출하는 단계와, 상기 검출된 운동방향에 해당하는 양자화행렬의 양자화스텝을 순차적으로 출력하는 단계와, 상기 양자화행렬의 양자화스텝에 소정의 양자화인자를 가중시켜 최적의 양자화스텝을 구하는 단계 및 상기 블록데이타의 각 샘플데이타를 상기 최적의 양자화스텝에 맞춰 양자화하는 단계에 의하여 달성된다.Another object of the present invention is to provide an apparatus for implementing the encoding method according to the above-described motion estimation. As described above, an object of the present invention is to estimate an operation between an input image data and a previous frame signal in a method for encoding image data divided into blocks having a predetermined size using an optimal quantization step by motion estimation. Detecting a motion direction of the motion estimation value, sequentially outputting a quantization step of the quantization matrix corresponding to the detected motion direction, and weighting a predetermined quantization factor to the quantization step of the quantization matrix Obtaining an optimal quantization step and quantizing each sample data of the block data according to the optimal quantization step.
본 발명의 다른 목적은, 소정 크기의 블록들로 분할된 영상데이타를 DPCM를 이용하여 부호화하고, 부호화된 데이타를 일정 비트율로 전송시키는 버퍼를 구비한 부호화장치에 있어서, 입력단을 통해 인가되는 영상데이타와 가장 유사한 패턴을 갖는 데이타를 이전화면데이타로부터 추출하여 두 데이타간의 움직임을 나타내는 동벡터를 산출하는 동추정부와, 상기 동추정부로부터 인가되는 동벡터의 성분을 체크하여 이에 해당하는 이진형태의 신호를 출력하는 동분류부와, 움직임방향에 따라 다수의 양자화행렬을 저장하고, 상기 동분류부로부터 인가되는 이진신호에 응답하여 최적의 양자화행렬을 선택하여 출력하는 양자화행렬메모리와, 상기 버퍼상태의 제어를 받아 해당 양자화인자를 선택하여 출력하는 양자화인자선택부와, 상기 최적의 양자화행렬에 양자화인자를 가중시 양자화스텝을 구하는 곱셈기 및 상기 블록데이타의 각 샘플데이타를 양자화스텝에 맞춰 순차적으로 양자화하는 양자화부에 의하여 달성된다.It is another object of the present invention to encode an image data divided into blocks having a predetermined size using DPCM, and to provide an encoding apparatus having a buffer for transmitting encoded data at a predetermined bit rate, the image data being applied through an input terminal. Extracts the data having the most similar pattern from the previous screen data and calculates the motion vector representing the motion between the two data, and checks the components of the motion vector applied from the motion tracking part to check the binary signal A quantization matrix memory for storing a plurality of quantization matrices according to a moving direction, selecting and outputting an optimal quantization matrix in response to a binary signal applied from the same sorting unit, and controlling the buffer state A quantization factor selector that receives and outputs a corresponding quantization factor and the optimal quantity A multiplier that obtains a quantization step by weighting a quantization factor to a magnetization matrix, and a quantization unit that sequentially quantizes each sample data of the block data according to the quantization step.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 기술하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
제 1 도는 본 발명에 따른 동작추정에 의한 영상데이타의 부호화장치를 나타내는 블록도이다. 제 1 도의 장치는 입력단을 통해 인가되는 블록단위의 영상데이타와 소정의 궤환데이타사이의 오차데이타를 산출하는 제 1 가산기(A1)를 구비한다. 제 1 가산기(A1)의 출력단에는 오차데이타를 주파수영역의 데이타로 변환시키는 DCT부(11)가 연결된다. DCT부(11)의 출력단에는 변환계수들을 일정레벨의 대표값들을 바꾸어주는 양자화부(12)가 연결된다. 양자화부(12)의 출력단에는 양자화된 데이타를 가변장부호화하여 데이타를 압축시키는 가변장부호화부(13)가 연결된다. 가변장부호화부(13)의 출력단에는 전송데이타(VCD)의 비트레이트를 일정하게 유지시키는 버퍼(14)가 연결된다. 양자화부(12)의 출력단에는 또한 양자화계수를 역양자화시킨 다음 역변환시켜 공간영역의 영상데이타로 변환시키는 역양자화부(15) 및 역DCT부(16)가 연결된다. 역DCT부(16)의 출력단에는 역변환데이타와 소정의 궤환데이타를 가산하여 화면을 재구성하는 제 2 가산기(A2) 및 프레임메모리(17)가 연결된다. 프레임메모리(17)와 입력단사이에는 입력되는 영상데이타와 가장 유사한 패턴의 블록데이타를 프레임메모리(17)에서 찾아 블록간의 움직임을 나타내는 동벡터(MV)를 산출하는 동추정부(18)를 구비한다. 동추정부(18)의 출력단에는 또한 동벡터(MV)를 이용하여 데이타를 보상하는 동보상부(19)가 연결된다. 동추정부(18)의 출력단에는 또한 동벡터(MV)의 수평·수직방향성분에 따라 이진형태의 신호를 발생하는 동분류부(20)가 연결된다. 동분류부(20)의 출력단에는 동분류부(20)에서 출력되는 이진신호에 응답하여 해당 양자화행렬을 출력시키는 양자화행렬메모리(30)가 연결된다. 버퍼(14)의 출력단에는 버퍼상태검출치에 따라 양자화인자(SF)를 선택하여 출력하는 양자화인자선택부(31)가 연결된다. 양자화행렬메모리(30)와 양자화인자선택부(31)사이에는 양자화행렬과 양자화인자를 곱해서 양자화스텝(QS)를 얻어내는 곱셈기(32)로 구성된다.1 is a block diagram showing an apparatus for encoding video data by motion estimation according to the present invention. The apparatus of FIG. 1 has a first adder A1 for calculating the error data between the block data and the predetermined feedback data applied through the input terminal. The output terminal of the first adder A1 is connected to a DCT section 11 for converting error data into data in the frequency domain. The output terminal of the DCT unit 11 is connected to a quantization unit 12 for converting the transformation coefficients of representative values of a predetermined level. A variable length coding unit 13 for variable length coding the quantized data and compressing the data is connected to the output terminal of the quantization unit 12. The output of the variable length coding unit 13 is connected to a buffer 14 for keeping the bit rate of the transmission data V CD constant. An output terminal of the quantization unit 12 is also connected to an inverse quantization unit 15 and an inverse DCT unit 16 which inversely quantize a quantization coefficient and then inversely transform it into image data of a spatial domain. A second adder A2 and a frame memory 17 for reconstructing a screen by adding inverse transform data and a predetermined feedback data are connected to an output terminal of the inverse DCT unit 16. Between the frame memory 17 and the input end, a tracking unit 18 for finding block data having a pattern most similar to the input image data in the frame memory 17 and calculating the motion vector MV representing the movement between blocks is provided. Also connected to the output end of the dynamic estimation unit 18 is a dynamic compensation unit 19 for compensating data using the dynamic vector (MV). An output terminal of the copper weighing unit 18 is also connected to a copper classifier 20 that generates a binary signal according to the horizontal and vertical components of the copper vector MV. A quantization matrix memory 30 for outputting a corresponding quantization matrix in response to a binary signal output from the same classification unit 20 is connected to an output terminal of the coclassification unit 20. The output terminal of the buffer 14 is connected to a quantization factor selector 31 for selecting and outputting the quantization factor SF according to the buffer state detection value. The quantization matrix memory 30 and the quantization factor selector 31 are constituted by a multiplier 32 that multiplies the quantization matrix by the quantization factor to obtain a quantization step QS.
제 1 도에서, 입력단을 통해 입력되는 블록단위(8화소×8화소)의 영상데이타는 소정의 궤환데이타와 제 1 가산기(A1)에서 오차데이타를 산출한다. 이 오차데이타는 DCT부(11)에서 주파수영역의 데이타로 변환되고, 이때 변환된 변환계수의 에너지는 주로 저주파쪽으로 모이게 된다. 양자화부(12)는 소정의 양자화과정을 통해 변환계수들을 일정레벨의 대표값들로 바꾸어준다. 즉, 양자화부(12)의 양자화스텝은 주파수에 따른 인간의 공간적인 시각특성을 고려하여 작성된 양자화행렬메모리(30)의 양자화행렬과 양자화인자(SF)를 곱셈기(32)에 의해서 곱하여 구한다. 양자화스텝이 크면 출력되는 부호의 양은 작아지고 오차는 커진다. 반대로 양자화스텝이 작으면 출력되는 부호의 양은 커지고 오차는 작아진다. 양자화된 DCT 계수에 대해 가변장부호화부(13)는 지그재그스캔(Zigzag Scan)과 연속영부호화(0 Run Length)후 빈도수가 높게 발생하는 심복에 대해서 길이가 짧은 부호를 빈도수가 낮게 발생하는 심볼에 대해서는 길이가 긴 부호를 부여하므로써 전송되는 데이타(VCD)를 압축시킨다. 그러면, 버퍼(14)는 가변장부호화부(13)에서 공급되는 압축데이타량과 버퍼에서 출력되는 데이타량이 같아지도록 버퍼상태검출치를 출력한다. 버퍼상태검출치는 양자화인자선택부(31)로 인가되어 양자화인자선택부(31)에 저장된 다수의 양자화인자중 하나를 선택한다. 선택된 양자화인자(SF)는 양자화행렬메모리(20)에서 출력되는 양자화행렬값과 곱셈기(32)에서 곱하여져 양자화스텝을 출력한다. 이 양자화스텝결정과정은, 추후에 상세히 설명하기로 한다. 한편, 화면과 화면간에는 유사한 부분이 많으므로, 약간의 움직임이 있는 화면인 경우 그 움직임을 추정하여 동벡터(MV)를 산출하고, 이 동벡터를 이용하여 데이타를 보상하여 주면인접한 화면간의 차신호는 매우 작으므로 전송데이타를 더욱 압축시킬 수 있다. 이러한 동보상을 수행하기 위해, 역양자부(15) 및 역DCT부(16)는 양자화부(12)에서 출력되는 양자화계수를 역양자화시킨 다음 역변환시켜 공간영역의 영상데이타로 변환시킨다. 역DCT부(16)에서 출력되는 영상데이타는 소정의 궤환데이타와 제 2 가산기(A2)에서 가산되어 프레임메모리(17)에 저장되므로써 화면을 재구성한다.In FIG. 1, image data in block units (8 pixels x 8 pixels) input through an input terminal calculates error data in a predetermined feedback data and the first adder A1. The error data is converted into data in the frequency domain by the DCT unit 11, and the energy of the converted conversion coefficient is mainly collected toward the low frequency side. The quantization unit 12 converts the transform coefficients into representative values of a predetermined level through a predetermined quantization process. In other words, the quantization step of the quantization unit 12 is obtained by multiplying the quantization matrix and the quantization factor SF of the quantization matrix memory 30 prepared in consideration of the spatial visual characteristics of the human being according to the frequency by the multiplier 32. If the quantization step is large, the amount of code output is small and the error is large. On the contrary, when the quantization step is small, the amount of code output is large and the error is small. For the quantized DCT coefficients, the variable-length encoding unit 13 transmits a short length code to a symbol having a low frequency for a pawn having a high frequency after Zigzag Scan and 0 Run Length. In this case, the transmitted data (V CD ) is compressed by giving a long code. Then, the buffer 14 outputs the buffer state detection value so that the amount of compressed data supplied from the variable length coding unit 13 and the amount of data output from the buffer are the same. The buffer state detection value is applied to the quantization factor selector 31 to select one of a plurality of quantization factors stored in the quantization factor selector 31. The selected quantization factor SF is multiplied by the multiplier 32 and the quantization matrix value output from the quantization matrix memory 20 to output a quantization step. This quantization step determination process will be described later in detail. On the other hand, since there are many similar parts between the screen and the screen, in the case of a screen with a slight movement, the motion vector (MV) is calculated by estimating the motion, and the difference signal between the adjacent screens is compensated by using the movement vector Is very small, which can further compress the transmission data. In order to perform such dynamic compensation, the inverse quantization unit 15 and the inverse DCT unit 16 inversely quantize the quantization coefficients output from the quantization unit 12 and then inversely transform the image data in the spatial domain. The image data output from the inverse DCT unit 16 is added to the predetermined feedback data by the second adder A2 and stored in the frame memory 17 to reconstruct the screen.
즉, 이러한 과정은 하나의 프레임에 대해서 계속되는데 한 프레임의 모든 처리가 끝나면 프레임메모리(17)에는 이미 압축전송된 화면과 동일한 화면이 저장된다. 그 화면은 수신측 혹은 재생시에 재현되는 그림과 동일하다는 것을 의미한다. 그 다음 화면이 입력되면 동추정부(18)는 입력되는 영상데이타와 가장 유사한 패터의 블록데이타를 프레임메모리(17)에 저장된 프레임데이타에서 찾아 2개 블록간의 움직임을 나타내는 동벡터(MV)를 산출한다. 이러한 동추정은 블록정합(Block Match)으로 하는데 소정의 블록크기로 화면을 분할하고 현재화면의 블록을 이전화면에서 그 위치에 해당하는 블록크기의 각 화소마다 차를 구하여 누적시켜 합한다. 그 누적합은 현재화면속의 블록과 이전화면속의 블록사이의 차이를 의미한다. 그리고 하나의 화소씩 움직이면서 이러한 과정을 계속한다. 인접된 화면사이의 최대운동량과 계산량은 일반적으로 기준점에서 -8∼+7 내지 -16∼+15의 범위를 넘어가지는 않는다. 그러한 범위내에서 누적합이 가장 적은 위치는 이전프레임의 기준점으로부터 그 위치까지 이동했다고 볼 수 있다.That is, this process is continued for one frame. After all processing of one frame is completed, the same screen as the screen that has already been compressed and transmitted is stored in the frame memory 17. It means that the picture is the same as the picture reproduced at the receiving side or at the time of reproduction. Next, when the screen is input, the tracking unit 18 finds the block data of the pattern most similar to the input image data from the frame data stored in the frame memory 17 and calculates a moving vector MV representing the movement between the two blocks. . This dynamic estimation is a block match, in which a screen is divided into a predetermined block size, and a block of the current screen is obtained by accumulating and accumulating a difference for each pixel of the block size corresponding to the position of the previous screen. The cumulative sum refers to the difference between the block in the current picture and the block in the previous picture. And this process continues by moving one pixel. The maximum momentum and calculation between adjacent screens generally do not exceed the range of -8 to +7 to -16 to +15 at the reference point. The position with the lowest cumulative sum within such a range can be regarded as moving from the reference point of the previous frame to that position.
따라서 동벡터(MV)는 그 이동량과 같다. 이 동벡터(MV)는 복호화시스템에서 이용되기 위해 가변장부호화부(13)로 전송되고, 또한 동보상부(19) 및 동분류부(20)로 전송된다. 동보상부(19)는 프레임메모리(17)의 프레임데이타에서 동벡터(MV)에서 상응하는 블록데이타를 독출하여 제 1 가산기(A1)로 공급한다. 그러면, 제 1 가산기(A1)는 입력되는 영상데이타와 동보상부(19)에서 출력되는 블록데이타간의 오차데이타를 산출하고, 이 오차데이타는 다시 부호화되어 수신측으로 전송된다. 이와 같이 입력되는 일련의 화면을 부호화하는 경우를 화면내(Intra Frame : I)라 하고, 이전화면으로부터 움직임을 추정하여 부호화하는 경우를 예측화면(Predicted Frame : P)이라고 한다. 또한, 압축효율을 올리기 위해서 미래화면으로부터 예측하는 방식을 역방향예측화면(Backward Predicted Frame)이라 하며, 과거와 미래화면으로부터 예측 및 보간에 의해서 화면을 구성하는 방식을 보간화면(Interpolated Frame : B)이라 한다. 화면의 구성순서도 목적에 따라서 [IBBPBBPBBPI]같이 다양하게 구성할 수 있다. 제 1 도는 [IPIP…]로 구성되었다. 동분류부(20)는 동벡터에 상응하는 이진형태의 신호를 양자화행렬메모리(30)로 공급한다.Therefore, the vector V is equal to the movement amount. This moving vector (MV) is transmitted to the variable length coding unit 13 for use in the decoding system, and also to the moving compensation unit 19 and the same classification unit 20. The compensating unit 19 reads out the corresponding block data from the moving vector MV from the frame data of the frame memory 17 and supplies it to the first adder A1. Then, the first adder A1 calculates error data between the input image data and the block data output from the compensator 19, and the error data is encoded again and transmitted to the receiving side. The case of encoding a series of input screens as described above is called an intra frame (I), and the case of encoding by estimating motion from a previous screen is called a predicted frame (P). In addition, in order to increase the compression efficiency, the method of predicting from the future screen is called a backward predicted frame, and the method of configuring the screen by predicting and interpolating from the past and future screens is called an interpolated frame (B). do. The order of the screens can also be configured in various ways, such as [IBBPBBPBBPI], depending on the purpose. First degree is [IPIP ... ]. The co-classifier 20 supplies a binary signal corresponding to the co-vector to the quantization matrix memory 30.
제 2 도에는 동분류부(20)의 상세블록도가 도시되어 있다. 제 2 도의 동분류부는, 동추정부(18)에서 공급되는 동벡터(MV)를 수평·수직성분으로 분리하는 분리부(21)를 구비한다. 분리부(21)의 출력단에 대응되는 연산기를 구비하여, 연산기에 구비하여, 연산기에 입력된 각 성분값의 절대치를 구하는 연산부(22)가 분리부(21)에 연결된다. 다수의 비교기(COMP1,COMP2)를 구비하고, 연산부(22)의 대응되는 각 연산기로부터 절대값을 인가받아 사전설정한 값과 비교하여 이진형태의 신호를 발생하는 비교부(23)가 있다. 비교부(23)의 출력단에는 이진신호를 디코딩하는 디코더(24)가 연결된다.2 shows a detailed block diagram of the same classifier 20. The same sorting part of FIG. 2 is provided with the separating part 21 which isolate | separates the copper vector MV supplied from the copper weighting part 18 into horizontal and vertical components. An arithmetic unit 22 having an arithmetic unit corresponding to the output terminal of the separating unit 21 is provided to the arithmetic unit, and the arithmetic unit 22 which obtains the absolute value of each component value input to the arithmetic unit is connected to the separating unit 21. There is a comparator 23 having a plurality of comparators COMP1 and COMP2 and generating a binary signal by receiving an absolute value from each corresponding calculator of the calculator 22 and comparing it with a preset value. A decoder 24 for decoding a binary signal is connected to an output terminal of the comparator 23.
먼저, 동추정부(18)에서 출력되는 동벡터(MV)는 동분류부(20)의 분리부(21)로 인가된다. 분리부(21)는 동벡터(MV)를 수평성분(X component)(Y component)분리부(21)(MVbX,MVY)를 각 연산기로 인가받아 그 성분값의 절대치를 얻어낸다. 비교부(23)는 대응되는 연산기로부터 각 운동성분의 절대치를 인가받아 사전설정하고 있는 기준값과 비교한다. 이때 입력되는 운동성분의 값이 기준값(Threshold) 보다 크면 그 성분의 운동이 시미한 경우로 하이(High)상태의 이진신호를 발생하고, 입력되는 운동성분의 값이 기준값보다 작으면 그 성분의 운동이 없는 경우로 로우(Low)상태의 이진신호를 발생한다.First, the copper vector MV output from the sinusoidal unit 18 is applied to the separating unit 21 of the same classifier 20. The separating unit 21 receives the copper vector MV by the horizontal component X component (Y component) separating unit 21 (MV bX, MV Y ) to each calculator to obtain an absolute value of the component value. The comparison unit 23 receives an absolute value of each motion component from a corresponding calculator and compares it with a preset reference value. At this time, if the value of the inputted motion component is greater than the threshold, the motion of the component is insignificant. If the value of the inputted motion component is less than the reference value, the binary signal is generated. In this case, a binary signal in a low state is generated.
디코더(24)는 비교부(23)의 각 비교기(COMP1,COMP2)로부터 인가되는 이진신호를 디코딩하여 양자화행렬메모리(30)에 저장되어 있는 다수의 양자화행렬중 하나를 선택하도록 한다. 이와 같은 운동성분과 디코더(24)의 출력관계가 다음의 표1에 기재되어 있다.The decoder 24 decodes binary signals applied from the comparators COMP1 and COMP2 of the comparator 23 to select one of a plurality of quantization matrices stored in the quantization matrix memory 30. The relationship between the motion components and the output of the decoder 24 is shown in Table 1 below.
[표 1]TABLE 1
양자화행렬메모리(30)는 동분류부(20)의 디코더(24)로부터 인가되는 신호에 상응하는 양자화행렬을 선택하여 출력한다. 양자화행렬은 다음의 표 2에 나타낸 바와 같이 저주파영역(표의 좌측상단쪽)에서 보다 고주파영역(표의 우측하단쪽)에서의 양자화 스텝이 더 큰 값을 갖는다. 이것은 영상데이타를 양자화시킬 때 양자화계수간의 오차에 대한 시각적효과가 저주파영역에서 보다 고주파영역에서 적게 민감한 점을 이용한 것이다.The quantization matrix memory 30 selects and outputs a quantization matrix corresponding to a signal applied from the decoder 24 of the same classifier 20. As shown in Table 2 below, the quantization matrix has a larger quantization step in the high frequency region (lower right side of the table) than in the low frequency region (upper left side of the table). This is because the visual effect of the error between the quantization coefficients is less sensitive in the high frequency region than in the low frequency region when quantizing the image data.
[표 2]TABLE 2
여기서, 표 2의 양자화행렬은 8×8 블록데이타에 대한 행렬로서, 8×8의 양자화스텝을 갖는다. 양자화행렬메모리(30)에는 다음 표3에 나타낸 바와 같이 운동방향에 따른 인자행렬을 양자화행렬(표 2에 도시됨)과 곱하여 운동방향에 따른 최적의 양자화행렬들을 만들어 저장하여 둔다.Here, the quantization matrix shown in Table 2 is a matrix for 8x8 block data, and has a quantization step of 8x8. As shown in Table 3, the quantization matrix memory 30 multiplies the factor matrix according to the movement direction with the quantization matrix (shown in Table 2) to store and store optimal quantization matrices according to the movement direction.
[표 3]TABLE 3
양자화행렬메모리(30)는 동분류부(20)의 디코더(24)로 부터 인가되는 디코딩신호에 응답하여 저장하고 있는 다수의 양자화행렬중 하나를 선택하여 출력한다. 즉, 양자화행렬메모리(30)는 동분류부(20)의 디코더(24)로부터 출력되는 이진신호가 0일때는 표 3(a)에 의해서 만들어진 양자화행렬을 선택하여 출력하고, 1이면 표 3(b), 10이면 표 3(c) 및 11이면 표 3(d)에 의해서 만들어진 양자화행렬을 선택하여 출력한다. 운동이 발생할 때 양자화행렬을 원래의 값보다 크며, 이것은 그때 시간적으로 둔감하다는 것을 의미한다. 그리고 방향성분에 따라서 움직이는 방향으로 더 양자화스텝이 크게 되도록 하여 압축효율을 더욱 높이면서 시각적으로는 오차가 잘 눈에 거슬리지 않도록 한다. 또한, 버퍼(14)에서 궤환되는 버퍼상태검출치는 양자화인자선택부(31)로 인가되어 해당 양자화인자를 선택출력하도록 한다. 곱셈기(32)는 동작추정치에 의해 양자화행렬메모리(30)에서 선택되어 출력되는 양자화행렬과 버퍼상태 검출치에 의해 양자화인자선택부(31)에서 선택되어 출력되는 양자화인자(SF)를 곱해서, 양자화스텝(QS)을 결정한다. 양자화부(12)는 DCT(11)로부터 N×N 블록변환계수를 공급받고 곱셈기(32)를 통해 양자화스텝(QS)를 순차적으로 공급받아, N×N 블록데이타의 각 변환계수를 N×N 양자화행렬의 각 양자화스텝에 맞춰 대응적으로 양자화하여, 그 양자화계수를 가변장부호화부(13)로 전송한다.The quantization matrix memory 30 selects and outputs one of a plurality of quantization matrices stored in response to the decoding signal applied from the decoder 24 of the co-classifier 20. That is, the quantization matrix memory 30 selects and outputs the quantization matrix made by Table 3 (a) when the binary signal output from the decoder 24 of the same classifier 20 is 0, and if it is 1, Table 3 ( b), if 10, Table 3 (c) and if 11, Table 3 (d) selects and outputs the quantization matrix. When motion occurs, the quantization matrix is larger than its original value, which means that it is then insensitive in time. In addition, the quantization step becomes larger in the moving direction depending on the directional component, thereby increasing the compression efficiency while preventing visual errors from being unobtrusive. In addition, the buffer state detection value fed back from the buffer 14 is applied to the quantization factor selector 31 to selectively output the quantization factor. The multiplier 32 multiplies the quantization matrix, which is selected and output from the quantization matrix memory 30 by the operation estimation value, and the quantization factor SF, which is selected and output from the quantization factor selector 31 by the buffer state detection value, to quantize the quantization matrix. Step QS is determined. The quantization unit 12 receives the N × N block transform coefficients from the DCT 11 and sequentially receives the quantization step QS through the multiplier 32, and receives each transform coefficient of the N × N block data N × N. The quantization coefficient is correspondingly quantized according to each quantization step of the quantization matrix, and the quantization coefficient is transmitted to the variable length encoding unit 13.
상술한 바와 같이, 본 발명은 동작추정에 의해 부호화방법 및 그 장치에 관한 것으로 부호화되는 데이타량에 따라 버퍼에서 궤환되는 버퍼상태검출치에 의해 가변적으로 양자화인자가 선택되고, 동추정부에서 구한 동벡터의 온동성분에 따라 가변적으로 양자화행렬을 선택하여, 선택된 최적의 양자화행렬과 양자화인자를 곱하여 얻어낸 새로운 양자화행렬의 양자화스텝에 맞춰 블록데이타를 양자화한다. 따라서 화면상의 움직임정도에 따라 양자화스텝을 결정하므로 화면전체의 시각적인 화질을 높일 수 있는 효과를 갖는다.As described above, the present invention relates to the encoding method and the apparatus by motion estimation, and the quantization factor is variably selected by the buffer state detection value returned from the buffer in accordance with the amount of data encoded. The quantization matrix is variably selected according to the dynamic components of and the block data is quantized according to the quantization step of the new quantization matrix obtained by multiplying the selected optimal quantization matrix by the quantization factor. Therefore, since the quantization step is determined according to the degree of motion on the screen, the visual quality of the entire screen can be improved.
Claims (5)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019930006100A KR0134342B1 (en) | 1993-04-13 | 1993-04-13 | Coding apparatus and method of motion |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019930006100A KR0134342B1 (en) | 1993-04-13 | 1993-04-13 | Coding apparatus and method of motion |
Publications (2)
Publication Number | Publication Date |
---|---|
KR940025195A KR940025195A (en) | 1994-11-19 |
KR0134342B1 true KR0134342B1 (en) | 1998-04-29 |
Family
ID=19353808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019930006100A KR0134342B1 (en) | 1993-04-13 | 1993-04-13 | Coding apparatus and method of motion |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR0134342B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100708182B1 (en) * | 2005-09-26 | 2007-04-16 | 삼성전자주식회사 | Apparatus and method for controlling bit rate of video encoder |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100468950B1 (en) * | 1997-07-09 | 2005-04-06 | 주식회사 팬택앤큐리텔 | How to Implement QualityScalability Using Probability Tables Used for CAE |
EP0890923A3 (en) * | 1997-07-09 | 2005-06-15 | Hyundai Curitel, Inc. | Method and apparatus for image coding and decoding |
-
1993
- 1993-04-13 KR KR1019930006100A patent/KR0134342B1/en not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100708182B1 (en) * | 2005-09-26 | 2007-04-16 | 삼성전자주식회사 | Apparatus and method for controlling bit rate of video encoder |
Also Published As
Publication number | Publication date |
---|---|
KR940025195A (en) | 1994-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2509469B2 (en) | Method and apparatus for adaptive encoding and decoding of continuous image by conversion | |
JP3888597B2 (en) | Motion compensation coding apparatus and motion compensation coding / decoding method | |
JP3442028B2 (en) | Data decoding method and apparatus | |
KR0155784B1 (en) | Adaptable variable coder/decoder method of image data | |
JP3025610B2 (en) | Encoding method and apparatus | |
JP3109854B2 (en) | Image coding method and apparatus | |
US6721359B1 (en) | Method and apparatus for motion compensated video coding | |
KR0139154B1 (en) | Coding method in a neural network | |
US6252905B1 (en) | Real-time evaluation of compressed picture quality within a digital video encoder | |
CN1366778A (en) | Video compression | |
KR0162203B1 (en) | Adaptive encoding method and device using quantization step size | |
KR0152013B1 (en) | Motion Estimation System Considering Variable Coding | |
US5508745A (en) | Apparatus for controlling a quantization level to be modified by a motion vector | |
KR0134342B1 (en) | Coding apparatus and method of motion | |
KR0157465B1 (en) | Method and apparatus for determining quantization level according to image characteristics of image data | |
KR100219133B1 (en) | Transformation Coding System Selection Method and Apparatus thereof | |
KR0148150B1 (en) | Adaptive Quantization Step Size Determination Method According to Complexity of Image Data and Its Apparatus | |
KR0166728B1 (en) | Image Signal Encoding Device and Quantization Level Decision Method Considering Edge Characteristics | |
KR100595144B1 (en) | An adaptive quantization algorithm for video coding | |
KR0134358B1 (en) | Coding and Decoding System Using Variable Scan Method | |
JP3948442B2 (en) | Motion compensation decoding apparatus | |
KR0152036B1 (en) | Method and apparatus for determining quantization level according to image characteristics of image data | |
KR100203694B1 (en) | Method and apparatus for encoding an image signal having an object by using an extension-interpolation technique | |
JP3397682B2 (en) | Image coding device | |
JPH06225288A (en) | Movement compensation predictive coder/decoder |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 19930413 |
|
PG1501 | Laying open of application | ||
A201 | Request for examination | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 19941231 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 19930413 Comment text: Patent Application |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 19971128 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 19971230 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 19971230 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20001128 Start annual number: 4 End annual number: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20011129 Start annual number: 5 End annual number: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20021129 Start annual number: 6 End annual number: 6 |
|
PR1001 | Payment of annual fee |
Payment date: 20031128 Start annual number: 7 End annual number: 7 |
|
PR1001 | Payment of annual fee |
Payment date: 20041129 Start annual number: 8 End annual number: 8 |
|
PR1001 | Payment of annual fee |
Payment date: 20051129 Start annual number: 9 End annual number: 9 |
|
PR1001 | Payment of annual fee |
Payment date: 20061129 Start annual number: 10 End annual number: 10 |
|
FPAY | Annual fee payment |
Payment date: 20071129 Year of fee payment: 11 |
|
PR1001 | Payment of annual fee |
Payment date: 20071129 Start annual number: 11 End annual number: 11 |
|
LAPS | Lapse due to unpaid annual fee | ||
PC1903 | Unpaid annual fee |
Termination category: Default of registration fee Termination date: 20091110 |