KR0178223B1 - Improved pattern vector encoding system and codeword renewal method thereof - Google Patents

Improved pattern vector encoding system and codeword renewal method thereof Download PDF

Info

Publication number
KR0178223B1
KR0178223B1 KR1019950023356A KR19950023356A KR0178223B1 KR 0178223 B1 KR0178223 B1 KR 0178223B1 KR 1019950023356 A KR1019950023356 A KR 1019950023356A KR 19950023356 A KR19950023356 A KR 19950023356A KR 0178223 B1 KR0178223 B1 KR 0178223B1
Authority
KR
South Korea
Prior art keywords
pattern
memory
codewords
subblocks
codeword
Prior art date
Application number
KR1019950023356A
Other languages
Korean (ko)
Other versions
KR970009400A (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 KR1019950023356A priority Critical patent/KR0178223B1/en
Publication of KR970009400A publication Critical patent/KR970009400A/en
Application granted granted Critical
Publication of KR0178223B1 publication Critical patent/KR0178223B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/94Vector quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]

Abstract

본 발명은, 패턴 벡터 부호화를 위해 분할된 부블럭에 상응하는 입력 패턴에 대응하는 기준 패턴의 코드워드를 그 사용빈도에 따라 갱신 가능하도록 한 개선된 패턴 벡터 부호화 시스템 및 그에 사용되는 코드워드를 갱신하는 방법에 관한 것으로, 이를 위하여 본 발명은, 메모리에는 기설정 코드워드들을 저장하기 위한 제1메모리 영역과 갱신하고자 하는 새로운 코드워드들을 저장하기 위한 제2메모리 영역이 구비되며, 분할된 각 부블럭에 대한 각 입력 패턴에 대응하는 각각의 기준 패턴의 코드워드들을 제1메모리 영역에서 검색하여 각 입력 패턴에 대해 그 오차값이 가장 적은 최적의 기준 패턴들을 각각 결정한 다음, 그 결정된 각 기준 패턴에 대한 인덱스 값들을 벡터 양자화 수단에 제공하며, 각 입력 패턴과 기준 패턴과의 제곱 절대차를 체크하여 기설정된 드레숄드값을 초과하면 코드워드 갱신을 위한 갱신신호를 발생하는 패턴 매칭수단; 이 패턴 매칭수단으로부터의 갱신신호에 의거하여 생성되는 해당 입력 패턴에 상응하는 갱신하고자 하는 새로운 코드워드를 일시적으로 저장하기 위한 제3메모리 수단; 상기 제3메모리 수단의 소정부분에 저장되는 새로운 코드워드의 어드레스를 저장하는 포인터; 패턴 매칭수단으로 부터의 갱신신호에 의거하여 새로운 코드워드를 위한 레퍼런스를 증가시킴으로서 새로운 코드워드의 발생횟수를 카운트하기 위한 카운트 수단을 포함하고, 또한, 패턴 매칭수단은, 상기 새로운 코드워드의 발생횟수가 기설정된 소정횟수가 되면 제3메모리 수단에 저장된 새로운 코드워드를 판독하여 제2메모리 영역에 저장함과 동시에 출력측에 제공하며, 벡터 양자화 수단으로부터의 각 인덱스 값들과 패턴 매칭수단으로 부터의 코드워드들을 다중화하여 전송하는 멀티플렉서를 포함한다.The present invention provides an improved pattern vector encoding system and a codeword used for updating a codeword of a reference pattern corresponding to an input pattern corresponding to a divided subblock for pattern vector encoding according to a frequency of use thereof. According to the present invention, a memory includes a first memory area for storing preset codewords and a second memory area for storing new codewords to be updated. The codewords of the respective reference patterns corresponding to the respective input patterns for are searched in the first memory area to determine optimal reference patterns having the least error value for each input pattern, and then for each of the determined reference patterns. Index values are provided to the vector quantization means, and the squared absolute difference between each input pattern and the reference pattern is checked. Pattern matching means for generating an update signal when the code word for the update exceeds a predetermined drain shawl deugap; Third memory means for temporarily storing a new codeword to be updated corresponding to the corresponding input pattern generated based on the update signal from the pattern matching means; A pointer for storing an address of a new codeword stored in a predetermined portion of said third memory means; Counting means for counting the number of occurrences of the new codeword by incrementing the reference for the new codeword based on the update signal from the pattern matching means, and the pattern matching means further comprising: the number of occurrences of the new codeword. When a predetermined number of times is a predetermined number of times, a new codeword stored in the third memory means is read out, stored in the second memory area, and provided to the output side. Each index value from the vector quantization means and codewords from the pattern matching means are read. It includes a multiplexer for multiplexing and transmitting.

따라서, 본 발명은 소정 크기로 분할된 각 부블럭에 상응하는 입력 패턴에 따라 연속적으로 코드워드를 갱신해 가면서 벡터 양자화를 수행함으로서, 효율적인 양자화는 물론 수신측 복원영상의 화질열화를 효과적으로 개선할 수 있는 것이다.Therefore, according to the present invention, by performing vector quantization while continuously updating codewords according to an input pattern corresponding to each subblock divided into a predetermined size, it is possible to effectively improve image quality deterioration of the reconstructed image as well as efficient quantization. It is.

Description

개선된 패턴 벡터 부호화 시스템 및 그의 코드워드 갱신방법Improved Pattern Vector Coding System and Its Codeword Update Method

제1도는 본 발명의 바람직한 일실시예에 따른 개선된 패턴 벡터 부호화 시스템의 블럭구성도.1 is a block diagram of an improved pattern vector coding system according to a preferred embodiment of the present invention.

제2도는 본 발명의 바람직한 일실시예에 따른 개선된 패턴 벡터 부호화 시스템의 블럭구성도.2 is a block diagram of an improved pattern vector encoding system according to an embodiment of the present invention.

제3도는 본 발명의 개선된 패턴 벡터 부호화 시스템에 채용되는 코드워드 메모리 블럭의 세부적인 블럭구성도.3 is a detailed block diagram of a codeword memory block employed in the improved pattern vector encoding system of the present invention.

제4도는 본 발명에 따라 입력 영상의 패턴에 적응할 수 있도록 코드워드를 갱신하는 과정을 도시한 플로우챠트.4 is a flowchart illustrating a process of updating a codeword to adapt to a pattern of an input image according to the present invention.

제5도는 종래의 전형적인 패턴 벡터 부호화 시스템의 블럭구성도.5 is a block diagram of a conventional typical pattern vector coding system.

제6도는 본 발명에 따른 개선된 패턴 벡터 부호화 시스템 또는 종래의 패턴 벡터 부호화 시스템에서 일예로서 하나의 DCT블럭을 4개의 부블럭으로 분할하거나 16개의 부블럭으로 분할한 예를 보여주는 도면.6 is a diagram illustrating an example of dividing one DCT block into four subblocks or 16 subblocks as an example in the improved pattern vector coding system or the conventional pattern vector coding system according to the present invention.

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

1030 : 프레임 메모리 12 : 감산기1030 frame memory 12 subtractor

14 : DCT 블럭 16 : VQ 블럭14 DCT block 16 VQ block

18 : 제어 블럭 20 : 메모리 블럭18: control block 20: memory block

22 : 카운터 24 : 블럭 복원 블럭22: counter 24: block recovery block

26 : IDCT 블럭 28 : 가산기26: IDCT block 28: adder

32 : 움직임 예측 블럭 34 : 멀티플렉서32: motion prediction block 34: multiplexer

202, 204 : 메모리 2041 : 어드레스 처리 블럭202 and 204 memory 2041 address processing block

2043 : 버퍼 2045 : 포인터2043: buffer 2045: pointer

2047 : 레퍼런스 처리블럭2047: reference processing block

본 발명은 패턴 벡터 양자화를 이용한 영상 부호화 시스템에 관한 것으로, 보다 상세하게는 코드워드를 이용하여 패턴 벡터 양자화를 수행하는 부호화 시스템에서 다양한 영상변화에 적응할 수 있도록 코드워드의 갱신이 가능한 개선된 패턴 벡터 부호화 시스템에 관한 것이다.The present invention relates to an image coding system using pattern vector quantization. More particularly, the present invention relates to an improved pattern vector capable of updating codewords to adapt to various image changes in an encoding system performing pattern vector quantization using codewords. It relates to an encoding system.

이 기술분야에 잘 알려진 바와 같이, 이산화된 영상신호의 전송은 아나로그 신호보다 좋은 화질을 유지할 수 있다. 일련의 이미지 프레임으로 구성된 영상신호가 디지털 형태로 표현될 때, 특히 고품질 텔레비젼(HDTV)의 경우 상당한 양의 데이터가 전송되어야 한다. 그러나, 종래의 전송 채널의 사용가능한 주파수 영역이 제한되어 있으므로, 많은 양의 디지털 데이터를 전송하기 위해서는 전송하고자 하는 데이터를 압축하여 그 전송량을 줄일 필요가 있다. 또한, 압축되는 영상신호와 오디오신호는 그들 신호의 특성상 서로 다른 부호화 기법을 통해 각각 부호화되는데, 이와같은 부호화에 있어서 오디오신호에 비해 보다 많은 양의 디지털 데이터가 발생하는 영상신호의 압축 기법은 특히 중요한 부분을 차지한다고 볼 수 있다.As is well known in the art, the transmission of discrete video signals can maintain better image quality than analog signals. When a video signal composed of a series of image frames is represented in digital form, a considerable amount of data must be transmitted, especially for high-definition television (HDTV). However, since the usable frequency range of the conventional transmission channel is limited, in order to transmit a large amount of digital data, it is necessary to compress the data to be transmitted and reduce the amount of transmission. In addition, the compressed video signal and the audio signal are encoded through different encoding techniques due to the characteristics of the signals. In this encoding, a compression technique of a video signal in which a larger amount of digital data is generated than an audio signal is particularly important. It can be said to take part.

한편, 영상신호를 부호화하는데 주로 이용되는 다양한 압축기법으로서는, 확률적 부호화 기법과 시간적, 공간적 압축기법을 결합한 하이브리드 부호화 기법이 가장 효율적인 것으로 알려져 있다.On the other hand, as the various compression methods mainly used for encoding the video signal, the hybrid coding method combining the stochastic coding method and the temporal and spatial compression method is known to be the most efficient.

상기한 효율적인 부호화 기법중의 하나인 대부분의 하이브리드 부호화 기법은 움직임 보상 DPCM(차분 펄스 부호 변조), 2차원 DCT(이산 코사인 변환), DCT계수의 양자화, VLC(가변장 부호화)등을 이용한다. 여기에서, 움직임보상 DPCM은 현재 프레임과 이전 프레임간의 물체의 움직임을 결정하고, 물체의 움직임에 따라 현재 프레임을 예측하여 현재 프레임과 예측치간의 차이를 나타내는 차분신호를 만들어내는 방법이다. 이러한 방법은, 예를 들어 Staffan Ericsson의 Fixed and Adaptive Predictors for Hybrid Predictive/Transform Coding, IEEE Transactions on Communication, COM-33, NO.12(1985년, 12월), 또는 Ninomiy와 Ohtsuka의 A motion Compensated Interframe Coding Scheme for Television Pictures, IEEE Transactions on Communication, COM-30, NO.1(1982년, 1월)에 기재되어 있다.Most hybrid coding schemes, which are one of the efficient coding schemes described above, use motion compensated DPCM (differential pulse code modulation), two-dimensional discrete cosine transform (DCT), quantization of DCT coefficients, VLC (variable length coding), and the like. Here, the motion compensation DPCM determines a motion of the object between the current frame and the previous frame, and predicts the current frame according to the motion of the object to generate a differential signal representing the difference between the current frame and the prediction value. These methods are, for example, Staffan Ericsson's Fixed and Adaptive Predictors for Hybrid Predictive / Transform Coding, IEEE Transactions on Communication, COM-33, NO.12 (1985, December), or A motion Compensated Interframe from Ninomiy and Ohtsuka. Coding Scheme for Television Pictures, IEEE Transactions on Communication, COM-30, NO.1 (January, 1982).

보다 상세하게, 움직임보상 DPCM에서는 현재 프레임과 이전 프레임간에 추정된 물체의 움직임에 따라, 현재 프레임을 이전 프레임으로부터 예측하는 것이다. 여기에서, 추정된 움직임은 이전 프레임과 현재 프레임간의 변위를 나타내는 2차원 움직임벡터로 나타낼 수 있다.More specifically, the motion compensation DPCM predicts the current frame from the previous frame according to the motion of the object estimated between the current frame and the previous frame. Here, the estimated motion may be represented by a two-dimensional motion vector representing the displacement between the previous frame and the current frame.

통상적으로, 물체의 화소 변위를 추정하는 데에는 여러 가지 접근방법에 있으며, 이들은 일반적으로 두 개의 타입으로 분류되는데 그중 하나는 블럭단위의 움직임 추정방법이고 다른 하나는 화소단위의 움직임 추정방법이며, 블럭단위 움직임 추정에서는 현재 프레임의 블럭을 이전 프레임의 블럭들과 비교하여 최적 정합블럭을 결정한 다음, 이로부터, 전송되는 현재 프레임에 대해 블럭 전체에 대한 프레임간 변위 벡터(프레임간에 블럭이 이동한 정도)가 추정된다.In general, there are several approaches to estimating the pixel displacement of an object, and they are generally classified into two types, one of which is a block-based motion estimation method and the other is a pixel-based motion estimation method. In motion estimation, the block of the current frame is compared with the blocks of the previous frame to determine an optimal matching block. From this, the interframe displacement vector (how much the block has moved between frames) with respect to the entire frame is transmitted. It is estimated.

따라서, 송신측에서는 영상신호를 전송할 때 상술한 바와 같은 부호화 기법을 통해 블럭단위 또는 화소단위로 영상신호가 갖는 공간적, 시간적인 상관성을 고려해 압축 부호화하여 출력측의 버퍼에 차례로 저장하게 되며, 이와같이 저장된 부호화된 영상데이터는 채널의 요구에 부응하여 소망하는 비트 레이트로 전송채널을 통해 수신측의 복호화 시스템에 전송하게 된다.Therefore, when transmitting a video signal, the transmitting side compresses and encodes the image signal in the buffer of the output side in order by taking into account the spatial and temporal correlation of the image signal in block units or pixel units through the above-described encoding technique. The video data is transmitted to the decoding system on the receiving side through the transmission channel at a desired bit rate in response to the channel request.

보다 상세하게, 송신측의 부호화 시스템에서는 이산 코사인 변환(DCT)등의 변환부호화를 이용하여 영상신호의 공간적인 중복성을 제거하고, 또한 움직임 추정, 예측등을 통한 차분부호화를 이용하여 영상신호의 시간적인 중복성을 제거함으로서, 영상신호를 효율적으로 압축하게 된다.More specifically, the encoding system on the transmitting side removes spatial redundancy of the video signal by using transform coding such as discrete cosine transform (DCT), and further uses temporal encoding of the video signal by using differential coding through motion estimation and prediction. By eliminating redundant redundancy, the video signal can be efficiently compressed.

그러나, 상술한 바와 같은 DPCM/DCT 하이브리드 부호화 기법은 목표 비트레이트가 Mbps급이고, 그 응용분야가 CD-ROM, 컴퓨터, 가전제품(디지털 VCR 등), 방송(HDTV)등이며, 세계 표준화기구에 의해 표준안이 이미 완성된, 영상내의 블럭단위 움직임의 통계적 특성만을 주로 고려하는, 고전송율의 부호화에 관한 MPEG1,2 및 H.261부호화 알고리즘에 주로 관련된다.However, the DPCM / DCT hybrid coding technique described above has a target bitrate of Mbps, and its application fields are CD-ROM, computers, home appliances (digital VCRs, etc.), broadcasting (HDTV), and the like. It is mainly concerned with MPEG-1, 2 and H.261 encoding algorithms for high bit rate encoding, which mainly consider only the statistical characteristics of block-by-block motion in the image, which has already been completed by the standard.

한편, 최근들어 PC의 성능 향상과 보급 확산, 디지털 전송기술의 발전, 고화질 디스플레이 장치의 실현, 메모리 디바이스의 발달 등으로 가전제품을 비롯한 각종 기기들이 방대한 데이터를 가진 영상 정보를 처리하고 제공할 수 있는 기술중심으로 재편되고 있는 실정이며, 이러한 요구를 충족시키기 위하여 비트레이트가 kbps급인 기존의 저속 전송로(PSTN, LAN, 이동 네트워크 등)를 통한 오디오-비디오 데이터의 전송과 한정된 용량의 저장장치로의 저장을 위해 고압축율을 가진 새로운 부호화 기술을 필요로 한다.On the other hand, in recent years, due to the improvement and spread of PC performance, the development of digital transmission technology, the realization of high-definition display device, the development of memory device, various devices such as home appliances can process and provide image information with huge data. In order to meet this demand, the transmission of audio-video data through the existing low-speed transmission path (PSTN, LAN, mobile network, etc.) and the storage capacity of limited capacity to meet these demands. New storage techniques with high compression rates are needed for storage.

그러나, 상술한 바와같이, MC-DCT(움직임 보상 DCT)를 이용하여 영상신호의 시간적 및 공간적인 중복성을 제거하는 종래의 전형적인 영상 부호화 시스템은 부호화의 효율면에서 볼 때, 어느 정도의 특성을 얻을 수는 있으나, 실제적인 구현에 있어서는 그 압축율의 한계성 때문에 상기한 바와 같은 고압축율을 요하는 시스템에의 적용이 곤란하다는 문제가 있다.However, as described above, the conventional video coding system that removes temporal and spatial redundancy of video signals using MC-DCT (motion compensation DCT) can obtain some characteristics in terms of coding efficiency. Although it is possible, in practical implementation, there is a problem in that it is difficult to apply to a system requiring a high compression ratio as described above because of the limitation of the compression ratio.

따라서, 상술한 바와 같은 점을 고려하여 고압축율을 충족할 수 있는 기법으로서 MC-DCT를 이용한 하이브리드 기법 대신에 DCT블럭을 소정크기의 부블럭으로 분할한 다음 다수의 코드워드를 갖는 코드 테이블을 이용하여 벡터 양자화를 적용함으로서 패턴 벡터 부호화를 수행하는 패턴 벡터 부호화 시스템이 제안되고 있으며, 이러한 전형적인 통상의 패턴 벡터 부호화 시스템의 일예로서는 제4도에 도시된 바와 같은 형태의 것이 있다.Therefore, in consideration of the above-described points, instead of the hybrid technique using MC-DCT, the DCT block is divided into subblocks of a predetermined size as a technique capable of satisfying the high compression ratio, and then a code table having a plurality of codewords is used. By applying vector quantization, a pattern vector coding system for performing pattern vector coding has been proposed. An example of such a typical conventional pattern vector coding system has a form as shown in FIG.

동도면에 도시된 바와 같이, 종래의 패턴 벡터 부호화 시스템은, 프레임 메모리(100), 이산여현 변환 블럭(Discrete Cosine Transform : 이하 DCT라 약칭함)(110), 벡터 양자화(VQ) 블럭(120), 패턴 매칭 블럭(130) 및 코드 테이블(140)을 포함한다.As shown in the figure, the conventional pattern vector coding system includes a frame memory 100, a discrete cosine transform block (hereinafter abbreviated as DCT) 110, and a vector quantization (VQ) block 120. , Pattern matching block 130 and code table 140.

제4도에 있어서, DCT블럭(110)은, 입력측의 프레임 메모리(100)로부터 제공되는 시간영역의 영상신호(화소 데이터)를 코사인함수를 이용하여 8×8 단위블럭의 주파수영역의 DCT변환계수로 변환한다.In FIG. 4, the DCT block 110 uses the cosine function of the video signal (pixel data) in the time domain provided from the frame memory 100 on the input side of the DCT block 110 in a frequency domain of 8 × 8 unit blocks. Convert to

그런다음, 이와같이 8×8 블럭단위로 변환된 DCT변환계수들은 다음단의 벡터 양자화 블럭(120)으로 제공된다. 따라서, 벡터 양자화 블럭(120)에서는, 전형적인 패턴 벡터 부호화를 위해, 제5도(a)에 도시된 바와 같은 8×8 블럭의 DCT변환계수들을 다시 소정크기의 부블럭으로 분할, 예를들면 제5도(b)에 도시된 바와같이, 각각의 8×8 크기의 DCT변환계수 블럭을 4×4 크기의 4개의 부블럭으로 분할하거나, 제5도(c)에 도시된 바와같이, 2×2 크기의 16개 부블럭으로 분할한다. 여기에서는 각 DCT블럭들을 4×4의 4개의 부블럭들로 분할한 경우를 일예로서 설명한다.Then, the DCT transform coefficients transformed in 8 × 8 block units are provided to the next vector quantization block 120. Accordingly, in the vector quantization block 120, for typical pattern vector coding, the DCT transform coefficients of the 8x8 block as shown in FIG. 5 (a) are further divided into subblocks of a predetermined size, e.g. As shown in Fig. 5 (b), each 8 × 8 size DCT transform coefficient block is divided into four subblocks of 4 × 4 size, or as shown in Fig. 5 (c). It is divided into 16 subblocks of 2 sizes. Here, an example of dividing each DCT block into four subblocks of 4x4 will be described.

즉, 벡터 양자화 블럭(120)에서는 DCT블럭(110)으로부터 제공되는 각 DCT변화계수 블럭을 분할하여 얻어진 각각의 부블럭(예를들면, 하나의 DCT블럭에 대한 4개의 부블럭)을 패턴 매칭 블럭(130)에 제공하게 된다.That is, in the vector quantization block 120, each subblock (for example, four subblocks for one DCT block) obtained by dividing each DCT change coefficient block provided from the DCT block 110 is divided into pattern matching blocks. To 130.

따라서, 패턴 매칭 블럭(130)에서는 상기한 벡터 양자화 블럭(120)으로부터 제공되는 입력되는 각 부블럭, 즉 입력 패턴에 가장 유사한 값을 갖는 코드워드(기준 패턴)를 코드 테이블(140)로부터 검색하여 기준 패턴을 결정, 다시 말해 부블럭에 상응하는 해당 입력 패턴에 대해 그 오차값이 가장 적은 최적의 기준 패턴을 결정한 다음, 그 결정된 기준 패턴에 대한 인덱스(index)값을 벡터 양자화 블럭(120)으로 출력하며, 그 결과 벡터 양자화 블럭(120)에서는 각각의 입력 패턴에 대응하는 인덱스 값들을 도시 생략된 전송기로 전송한다.Accordingly, the pattern matching block 130 searches for the codeword (reference pattern) having the value most similar to the input subblocks provided from the vector quantization block 120, that is, the input pattern, from the code table 140. A reference pattern is determined, that is, an optimal reference pattern having the smallest error value is determined for the corresponding input pattern corresponding to the subblock, and then the index value for the determined reference pattern is converted into the vector quantization block 120. As a result, the vector quantization block 120 transmits index values corresponding to each input pattern to a transmitter not shown.

즉, 종래의 패턴 벡터 부호화 시스템에서는, 종래의 하이브리드 부호화 기법에서와 같이, MC-DCT를 이용하여 영상의 시간적, 공간적 중복성을 제거함으로서 영상신호를 압축 부호화하지 않고, 전체 영상에 대해 8×8의 DCT블럭들을 4개의 4×4의 부블럭으로 각각 분할한 다음 그 분할된 부블럭들 각각에 대해 코드워드를 이용한 패턴 벡터 부호화를 수행함으로서, 효과적인 고압축율의 영상 부호화를 구현하고 있다.That is, in the conventional pattern vector coding system, as in the conventional hybrid coding scheme, by using the MC-DCT, the video signal is not compressed and encoded by removing the temporal and spatial redundancy of the image. By dividing the DCT blocks into four 4 × 4 subblocks, and then performing pattern vector encoding using codewords on each of the divided subblocks, an effective high compression rate image encoding is implemented.

그러나, 상술한 바와 같은 종래의 패턴 벡터 부호화 시스템의 경우, 한정된 코드워드에서 분할된 각 부블럭들에 대응하는 패턴을 찾으려 함으로서, 해당 부블럭이 코드 테이블내의 코드워드와 일치하지 않는 경우, 소망하는 벡터 양자화가 이루어지지 않게 되어 결과적으로 수신측의 복호화 시스템에서 최종 복원되는 화질의 열화가 야기되거나, 또는 분할된 부블럭에 실제 대응할 수 있는 코드워드가 존재하지 않는 경우 효과적인 패턴 검색이 곤란해 소망하는 압축율하의 실시간 처리를 위한 고속실현의 저해요인이 되고 있다.However, in the conventional pattern vector coding system as described above, if the corresponding subblock does not match the codeword in the code table by searching for a pattern corresponding to each subblock divided in a limited codeword, As a result, vector quantization is not performed, resulting in deterioration of the image quality finally restored in the decoding system at the receiving side, or when there is no codeword that can actually correspond to the divided subblock, effective pattern search is difficult. It is becoming a deterrent to high speed realization for real time processing under compression ratio.

따라서, 본 발명은 상기한 종래기술의 문제점을 해결하기 위한 것으로, 패턴 벡터 부호화를 위하 분할된 부블럭에 상응하는 입력 패턴에 대응하는 기준 패턴의 코드워드를 그 사용빈도에 따라 갱신 가능한 개선된 패턴 벡터 부호화 시스템을 제공하는 데 그 목적이 있다.Accordingly, the present invention is to solve the above problems of the prior art, an improved pattern capable of updating the codeword of the reference pattern corresponding to the input pattern corresponding to the sub-block divided for the pattern vector encoding according to the frequency of use The purpose is to provide a vector encoding system.

본 발명의 다른 목적은 고압축율하의 패턴 벡터 부호화를 위해 분할된 부블럭에 상응하는 입력 패턴에 대응하는 기준 패턴의 코드워드를 그 사용빈도에 따라 갱신 가능한 개선된 패턴 벡터 부호화 시스템을 제공하는 데 있다.Another object of the present invention is to provide an improved pattern vector encoding system capable of updating a codeword of a reference pattern corresponding to an input pattern corresponding to a divided subblock for high-compression pattern vector encoding according to a frequency of use thereof. .

본 발명의 또다른 목적은 패턴 벡터 부호화에 있어서, 각 입력 영상의 패턴에 대해 적응적으로 코드워드를 갱신할 수 있는 코드워드 갱신방법을 제공하는 데 있다.Another object of the present invention is to provide a codeword updating method capable of adaptively updating codewords for a pattern of each input image in pattern vector encoding.

상기 목적을 달성하기 위한 일관점의 일형태에 따른 본 발명은, 각 입력 영상에 대해 코사인 함수를 이용하는 이산 코사인 변환을 통해 얻어진 8×8의 각 DCT 변환계수 블럭들을 소정 크기의 복수의 부블럭으로 분할하고, 이 분할된 각 부블럭들에 대해 메모리에 구비된 복수의 기설정 코드워드들을 이용하는 벡터 양자화 수단을 통해 양자화를 수행함으로서, 상기 각 부블럭의 입력 패턴들에 상응하는 인덱스를 출력하는 패턴 벡터 부호화 시스템에 있어서, 상기 메모리는 상기 기설정 코드워드들을 저장하기 위한 제1메모리 영역과 갱신하고자 하는 새로운 코드워드들을 저장하기 위한 제2메모리 영역을 구비하며, 상기 분할된 각 부블럭에 대한 각 입력 패턴에 대응하는 각각의 상기 기준 패턴의 코드워드들을 상기 제1메모리 영역에서 검색하여 상기 각 입력 패턴에 대해 그 오차값이 가장 적은 최적의 기준 패턴들을 각각 결정한 다음, 그 결정된 각 기준 패턴에 대한 인덱스 값들을 상기 벡터 양자화 수단에 제공하며, 상기 각 입력 패턴과 기준 패턴과의 제곱 절대차를 체크하여 기설정된 드레숄드값을 초과하면 코드워드 갱신을 위한 갱신신호를 발생하는 패턴 매칭수단; 상기 패턴 매칭수단으로부터의 상기 갱신신호에 의거하여 생성되는 해당 입력 패턴에 상응하는 갱신하고자 하는 새로운 코드워드를 일시적으로 저정하기 위판 제3메모리 수단; 상기 제3메모리 수단의 소정부분에 저장되는 상기 새로운 코드워드의 어드레스를 저장하는 포인터; 상기 패턴 매칭수단으로 부터의 갱신신호에 의거하여 상기 새로운 코드워드를 위한 레퍼런스를 증가시킴으로서 상기 새로운 코드워드의 발생횟수를 카운트하기 위한 카운트 수단을 포함하고, 상기 패턴 매칭수단은, 상기 새로운 코드워드의 발생횟수가 기설정된 소정횟수가 되면 상기 제3메모리 수단에 저장된 상기 새로운 코드워드를 판독하여 상기 제2메모리 영역에 저장함과 동시에 출력측에 제공하며, 상기 벡터 양자화 수단으로부터의 각 인덱스 값들과 상기 패턴 매칭수단으로 부터의 상기 각 코드워드들을 다중화하여 전송하는 멀티플렉서를 포함하는 것을 특징으로 하는 개선된 패턴벡터 부호화 시스템을 제공한다.In accordance with one aspect of the present invention, there is provided a plurality of subblocks of a predetermined size of 8 × 8 DCT transform coefficient blocks obtained through a discrete cosine transform using a cosine function for each input image. A pattern for dividing and outputting indexes corresponding to the input patterns of the respective subblocks by performing quantization through vector quantization means using a plurality of predetermined codewords provided in the memory for each of the divided subblocks. In the vector encoding system, the memory includes a first memory area for storing the predetermined codewords and a second memory area for storing new codewords to be updated, each of the divided subblocks. The codewords of each of the reference patterns corresponding to the input pattern are searched in the first memory area, and the The optimum reference patterns having the least error value are determined for the output pattern, and then index values for the determined respective reference patterns are provided to the vector quantization means, and the squared absolute difference between each input pattern and the reference pattern is determined. Pattern matching means for generating an update signal for updating codewords when it checks and exceeds a predetermined threshold value; Third memory means for temporarily storing a new codeword to be updated corresponding to the corresponding input pattern generated based on the update signal from the pattern matching means; A pointer for storing an address of the new codeword stored in a predetermined portion of the third memory means; Counting means for counting the number of occurrences of the new codeword by incrementing a reference for the new codeword based on an update signal from the pattern matching means, wherein the pattern matching means includes: When the number of occurrences is a predetermined number of times, the new codeword stored in the third memory means is read out, stored in the second memory area, and provided to the output side, and the pattern matching is performed with the respective index values from the vector quantization means. And a multiplexer for multiplexing and transmitting the respective codewords from the means.

상기 목적을 달성하기 위한 일관점의 다른 형태에 따른 본 발명은, 현재의 입력 프레임과, 이 현재 프레임 및 이전 프레임간의 움직임 추정 보상을 통해 생성되는 예측 프레임간의 차분신호에 대해 코사인 함수를 이용하는 이산 코사인 변환을 통해 얻어진 8×8의 각 DCT 변환계수 블럭들을 소정 크기의 복수의 부블럭으로 분할하고, 이 분할된 각 부블럭들에 대해 메모리에 구비된 복수의 기설정 코드워드들을 이용하는 벡터 양자화 수단을 통해 양자화를 수행함으로서, 상기 각 부블럭의 입력 패턴들에 상응하는 인덱스를 출력하는 패턴 벡터 부호화 시스템에 있어서, 상기 메모리는 상기 기설정 코드워드들은 저장하기 위한 제1메모리 영역과 갱신하고자 하는 새로운 코드워드들을 저장하기 위한 제2메모리 영역을 구비하며, 상기 분할된 각 부블럭에 대한 각 입력 패턴에 대응하는 각각의 상기 기준 패턴의 코드워드들을 상기 제1메모리 영역에서 검색하여 상기 각 입력 패턴에 대해 그 오차값이 가장 적은 최적의 기준 패턴들을 각각 결정한 다음, 그 결정된 각 기준 패턴에 대한 인덱스 값들을 상기 벡터 양자화 수단에 제공하며, 상기 각 입력 패턴과 기준 패턴과의 제곱 절대차를 체크하여 기설정된 드레숄드 값을 초과하면 코드워드 갱신을 위한 갱신신호를 발생하는 패턴 매칭수단; 상기 패턴 매칭수단으로 부터의 상기 갱신신호에 의거하여 생성되는 해당 입력 패턴에 상응하는 갱신하고자 하는 새로운 코드워드를 일시적으로 저장하기 위한 제3메모리 수단; 상기 제3메모리 수단의 소정부분에 저장되는 상기 새로운 코드워드의 어드레스를 저장하는 포인터; 상기 패턴 매칭수단으로 부터의 갱신신호에 의거하여 상기 새로운 코드워드를 위한 레퍼런스를 증가시킴으로서 상기 새로운 코드워드의 발생횟수를 카운트하기 위한 카운트 수단을 포함하고, 상기 패턴 매칭수단은, 상기 새로운 코드워드의 발생횟수가 기설정된 소정횟수가 되면 상기 제3메모리 수단에 저장된 상기 새로운 코드워드를 판독하여 상기 제2메모리 영역에 저장함과 동시에 출력측에 제공하며, 상기 벡터 양자화 수단으로부터 제공되는 상기 각 인덱스 값들과 상기 패턴 매칭수단으로 부터의 상기 각 코드워드들을 다중화하여 전송하는 멀티플렉서를 포함하는 것을 특징으로 하는 개선된 패턴 벡터 부호화 시스템을 제공한다.According to another aspect of the present invention, there is provided a discrete cosine using a cosine function for a difference signal between a current input frame and a prediction frame generated through motion estimation compensation between the current frame and a previous frame. Vector quantization means for dividing each 8 × 8 DCT transform coefficient block obtained through the transformation into a plurality of subblocks of a predetermined size, and using a plurality of predetermined codewords included in the memory for each of the divided subblocks. In the pattern vector encoding system for outputting an index corresponding to the input patterns of each subblock by performing quantization, the memory includes a first memory area for storing the predetermined codewords and a new code to be updated. And a second memory area for storing words, each subblock corresponding to the divided subblocks. Codewords of each of the reference patterns corresponding to each input pattern are searched in the first memory area to determine optimal reference patterns having the least error value for each of the input patterns, and then to each of the determined reference patterns. Pattern matching means for providing the index values to the vector quantization means, and checking an absolute square difference between the input pattern and the reference pattern and generating an update signal for updating a codeword when a predetermined threshold value is exceeded; Third memory means for temporarily storing a new codeword to be updated corresponding to a corresponding input pattern generated based on the update signal from the pattern matching means; A pointer for storing an address of the new codeword stored in a predetermined portion of the third memory means; Counting means for counting the number of occurrences of the new codeword by incrementing a reference for the new codeword based on an update signal from the pattern matching means, wherein the pattern matching means includes: When the number of occurrences is a predetermined number of times, the new codeword stored in the third memory means is read out, stored in the second memory area, and provided to the output side. The index values and the index values provided from the vector quantization means are provided. An improved pattern vector encoding system comprising a multiplexer for multiplexing and transmitting the respective codewords from the pattern matching means.

상기 목적을 달성하기 위한 다른 관점에서 따른 본 발명은, 이산코사인 변환을 통해 얻어진 8×8의 각 DCT변환계수 블럭들을 소정 크기의 복수의 부블럭으로 분할하고, 이 분할된 각 부블럭들에 대해 메모리에 구비된 복수의 기설정 코드워드들을 이용하여 패턴 벡터 부호화를 수행함으로서 상기 각 부블럭의 입력 패턴들에 상응하는 인덱스 값을 출력하는 시스템에서 코드워드를 갱신하는 방법에 있어서, 상기 메모리는 상기 복수의 기설정 코드워드들을 저장하기 위한 제1메모리 영역과 갱신하고자 하는 새로운 코드워드들을 저장하기 위한 제2메모리 영역을 구비하며, 상기 부블럭의 입력 패턴이 인가되면 상기 제1메모리 영역으로부터 기준 패턴의 코드워드들을 검색하여 해당 입력 패턴에 대한 오차값이 가장 적은 최적의 기준 패턴을 결정하는 단계; 상기 해당 입력 패턴과 기준 패턴과의 제곱 절대차 값을 산출하고, 이 산출된 절대차 값이 기설정된 드레숄드 값을 초과하는 지의 여부를 체크하는 단계; 상기 체크단계에서의 판단결과 상기 산출된 절대차 값이 상기 기설정된 드레숄드 값을 초과하는 것으로 판단되면 상기 해당 입력 패턴에 상응하는 새로운 코드워드를 임시 버퍼에 저장하고, 해당 카운트 값을 1 증가시키는 단계; 상기 새로운 코드워드에 대한 상기 카운트 값을 체크하여 그 값이 소정의 기설정된 카운트 값이 아니면 상기 각 과정을 반복 수행하고, 상기 체크된 카운트 값과 기설정된 카운트 값이 일치하면 상기 임시 버퍼에 저장된 상기 새로운 코드워드를 판독하여 상기 제2메모리 영역에 갱신된 새로운 코드워드로서 저장하는 단계; 상기 갱신된 새로운 코드워드를 상기 각 부블럭의 입력 패턴들에 상응하는 인덱스 값과 다중화하여 출력하는 단계로 이루어진 패턴 벡터 부호화 시스템에서의 코드워드 갱신방법을 제공한다.According to another aspect of the present invention, the 8 × 8 DCT transform coefficient blocks obtained through discrete cosine transform are divided into a plurality of subblocks of a predetermined size, and for each of the divided subblocks. A method of updating a codeword in a system for outputting index values corresponding to input patterns of each subblock by performing pattern vector encoding using a plurality of preset codewords included in a memory, the memory may include: A first memory area for storing a plurality of preset codewords and a second memory area for storing new codewords to be updated, and when a sub-block input pattern is applied, a reference pattern from the first memory area Retrieving codewords of to determine an optimal reference pattern having the smallest error value for the corresponding input pattern; Calculating a squared absolute difference value between the corresponding input pattern and the reference pattern, and checking whether the calculated absolute difference value exceeds a predetermined threshold value; If it is determined that the calculated absolute difference value exceeds the preset threshold value, the new codeword corresponding to the input pattern is stored in a temporary buffer and the corresponding count value is increased by one. step; If the count value for the new codeword is checked and the value is not a predetermined count value, the process is repeated. If the checked count value and the preset count value match, the count value stored in the temporary buffer is stored. Reading a new codeword and storing it as an updated new codeword in the second memory area; A method of updating a codeword in a pattern vector encoding system comprising multiplexing the updated new codeword with an index value corresponding to the input patterns of each subblock is output.

본 발명의 상기 및 기타 목적과 여러 가지 장점은 이 기술분야에 숙련된 사람들에 의해 첨부된 도면을 참조하여 하기에 기술되는 본 발명의 바람직한 실시예로부터 더욱 명확하게 될 것이다.The above and other objects and various advantages of the present invention will become more apparent from the preferred embodiments of the present invention described below with reference to the accompanying drawings by those skilled in the art.

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

먼저, 본 발명에서 이용하고자 하는 패턴 벡터 부호화는 코드테이블을 가지고 그 코드 테이블내의 기준 패턴(코드워드)들을 입력 영상을 소정크기, 예를 들면 4×4 또는 2×2의 영역으로 분할된 각 부블럭에 상응하는 입력 패턴(즉, 영상의 변화에 기인하여 생성되는 새로운 입력 패턴)에 따라 연속적으로 갱신해 가면서 벡터 양자화를 수행한다는 데 가장 큰 기술적인 특징을 갖는 것으로, 이러한 새로운 어떤 입력 패턴이 기설정된 소정횟수 이상 연속되는 경우, 이 입력 패턴에 대응하는 코드워드를 메모리에 기록해 두므로서 그 이후에 다시 입력될 해당 입력 패턴의 코드워드들중의 하나로서 이용하게 된다.First, the pattern vector encoding to be used in the present invention has a code table, and the reference patterns (codewords) in the code table are divided into regions having a predetermined size, for example, 4 × 4 or 2 × 2, of the input image. The most technical feature is that vector quantization is performed continuously according to an input pattern corresponding to a block (i.e., a new input pattern generated due to a change in image). When a predetermined number of times or more continue, the codeword corresponding to the input pattern is recorded in the memory and used as one of the codewords of the corresponding input pattern to be input again later.

물론, 본 발명에 따라 상기와 같이 새롭게 갱신되는 코드워드들은 패턴 벡터 부호화된 인덱스들과 함께 전송기를 통해 원격지의 수신측에 전송된다. 따라서, 수신측에서 패턴 벡터 부호화된 영상 데이터는 송신측의 부호화 시스템과 동일하게 갱신되는 코드워드들을 갖게 되는 수신측의 복호화 시스템을 통해 원신호로 복원될 수 있을 것이다.Of course, according to the present invention, the newly updated codewords are transmitted to the receiving end of the remote place through the transmitter together with the pattern vector coded indices. Therefore, the pattern vector coded image data at the receiving side may be restored to the original signal through the decoding system at the receiving side having the codewords updated in the same manner as the encoding system at the transmitting side.

[실시예 1]Example 1

제1도는 본 발명의 제1실시예에 따른 개선된 패턴 벡터 부호화 시스템의 개략적인 블럭구성도를 나타낸다. 동도면으로부터 알 수 있는 바와 같이, 본 발명에 따른 영상 부호화 시스템은, 패턴 벡터 부호화를 위한 패턴 매칭수단으로서, 제어 블럭(18), 메모리 블럭(20) 및 카운터(22)를 구비한 것에 그 구성상의 주된 특징을 갖는 것으로, 이들 구성부재들에 의해 본 발명이 목적으로 하는 바가 달성된다.1 shows a schematic block diagram of an improved pattern vector coding system according to a first embodiment of the present invention. As can be seen from the figure, the video encoding system according to the present invention comprises a control block 18, a memory block 20, and a counter 22 as pattern matching means for pattern vector encoding. Having the main features of the phase, the objects of the present invention are achieved by these components.

제1도에 있어서, 프레임 메모리(10), DCT블럭(14) 및 벡터 양자화 블럭(16)들 각각은, 종래기술을 도시한 제4도의 그것들과 실질적으로 동일한 기능을 수행하는 동일 구성부재인 것으로, 이들 구성부재들의 동작에 대하여서는 앞에서 이미 상세하게 기술하였으므로 불필요한 중복기재를 피하기 위하여 여기에서의 설명은 생략한다.In FIG. 1, each of the frame memory 10, the DCT block 14, and the vector quantization block 16 are the same components that perform substantially the same functions as those in FIG. Since the operation of these components is already described in detail above, the description thereof will be omitted to avoid unnecessary duplication.

따라서, DCT블럭(14)으로부터 8×8의 DCT변환계수 블럭들이 제공되면, 벡터 양자화 블럭(16)에서는, 전술한 종래기술에서와 마찬가지로, 패턴 벡터 부호화를 위해, 제5도(a)에 도시된 바와 같은 8×8의 DCT변환계수 블럭들을 다시 소정 크기의 부블럭으로 분할, 예를들면 제5도(b)에 도시된 바와같이, 각각의 8×8 크기의 DCT 변환계수 블럭을 4×4 크기의 4개의 부블럭으로 분할하거나, 제5도(c)에 도시된 바와 같이, 2×2 크기의 16개의 부블럭으로 분할한다. 본 실시예에서는, 제5도(c)에 도시된 바와 같이, 각 DCT블럭들을 4×4의 4개의 부블럭들로 분할한 경우를 일예로서 설명한다.Therefore, if 8 × 8 DCT transform coefficient blocks are provided from the DCT block 14, the vector quantization block 16, as in the above-described prior art, is shown in Fig. 5A for pattern vector encoding. The 8 × 8 DCT transform coefficient blocks are divided into subblocks of a predetermined size, for example, each 8 × 8 DCT transform coefficient block is divided into 4 × as shown in FIG. It is divided into four subblocks of 4 sizes or into 16 subblocks of 2x2 size, as shown in FIG. In this embodiment, as shown in FIG. 5C, the case where each DCT block is divided into four sub-blocks of 4x4 will be described as an example.

즉, 벡터 양자화 블럭(16)에서는 전단의 DCT블럭(14)으로부터 제공되는 각 DCT 변화계수 블럭들을 분할하여 얻어진 각각의 부블럭(예를들면, 하나의 DCT블럭에 대한 4개의 부블럭)을 제어 블럭(18)에 제공하게 된다.That is, the vector quantization block 16 controls each subblock (eg, four subblocks for one DCT block) obtained by dividing each DCT change coefficient block provided from the DCT block 14 at the front end. Block 18 is provided.

따라서, 제어 블럭(18)에서는 상기한 벡터 양자화 블럭(16)으로부터 입력되는 부블럭들, 즉 입력 패턴들과 기설정되어 메모리 블럭(20)에 저장되어 있는 기준 패턴들과의 패턴 매칭을 수행한다. 즉, 제어 블럭(18)은 입력 패턴에 가장 유사한 값을 갖는 코드워드(기준 패턴)를 메모리 블럭(20)으로부터 검색하여 기준 패턴을 결정, 즉 부블럭에 상응하는 해당 입력 패턴에 대해 그 오차값이 가장 적은 최적의 기준 패턴을 결정한 다음, 그 결정된 기준 패턴에 대한 인덱스(index)값을 벡터 양자화 블럭(16)으로 출력함과 동시에 출력측의 멀티플렉서(MUX)(34)로 출력하게 된다.Accordingly, the control block 18 performs pattern matching with the subblocks input from the vector quantization block 16, that is, the input patterns, and the reference patterns preset in the memory block 20. . That is, the control block 18 searches the memory block 20 for a codeword (reference pattern) having a value most similar to the input pattern to determine the reference pattern, that is, the error value for the corresponding input pattern corresponding to the subblock. After determining the least optimal reference pattern, an index value for the determined reference pattern is output to the vector quantization block 16 and output to the multiplexer (MUX) 34 on the output side.

이때, 제어 블럭(18)에서는, 아래의 식과 같이, 해당 입력 패턴에 가장 유사한 값을 갖는 기준 패턴(코드워드)과 입력 패턴과의 제곱 절대 차값이 기설정된 드레숄드 값을 초과하는지의 여부를 체크하게 되며, 체크 결과 기준 패턴과 입력 패턴과의 제곱 절대 차값이 기설정된 드레숄드 값을 초과하는 것으로 판단되면 해당 입력 패턴에 대응할 수 있는 새로운 코드워드로의 갱신을 위한 제어신호를 발생하여 새로운 코드워드를 래치에 일시적으로 저장한 다음 카운터(22)의 카운트값을 1로 세팅하게 된다.At this time, the control block 18 checks whether or not the absolute value of the square of the reference pattern (codeword) having the most similar value to the corresponding input pattern and the input pattern exceeds the predetermined threshold value as shown in the following equation. If it is determined that the absolute difference value of the square between the reference pattern and the input pattern exceeds the preset threshold value, a control signal for updating to a new codeword corresponding to the input pattern is generated and a new codeword is generated. Is temporarily stored in the latch, and then the counter value of the counter 22 is set to one.

| Vin - Cin |2Th| Vin-Cin | 2 Th

상기 식에서 Vin은 입력 패턴을, Cin은 기준 패턴을, Th는 기설정되는 드레숄드 값을 각각 의미한다.In the above formula, Vin denotes an input pattern, Cin denotes a reference pattern, and Th denotes a preset threshold value.

보다 상세하게, 메모리 블럭(20)은, 제3도(a)에 도시된 바와같이, 기준 패턴들에 대한 코드워드들이 저장되는 제1메모리(202)와 새로운 코드워드의 갱신을 위한 제2메모리(204)로 구성되며, 여기에서 새로운 코드워드의 갱신을 위한 제2메모리(204)는, 동도(b)에 도시된 바와같이, 어드레스 처리 블럭(2041), 버퍼(2043), 래치로 구성되는 포인터(2045), 및 레퍼런스 처리 블럭(2047)을 포함한다.More specifically, the memory block 20 may include a first memory 202 in which codewords for reference patterns are stored and a second memory for updating a new codeword, as shown in FIG. 204, wherein the second memory 204 for updating a new codeword is composed of an address processing block 2041, a buffer 2043, and a latch, as shown in FIG. A pointer 2045, and a reference processing block 2047.

제3도(b)에 있어서, 어드레스 처리 블럭(2041)은 버퍼(2043)에 저장되는 갱신하고자 하는 새로운 코드워드들을 관리하고, 또한 새로운 코드워드의 갱신 등의 처리를 수행하는 것으로서, 하나의 새로운 코드워드가 기설정된 횟수만큼 발생되어 이를 기준 패턴으로서 제1메모리(202)에 저장하고자 할 때, 버퍼(2043)로부터 해당 코드워드를 판독하며, 이 판독된 코드워드를 라인 L13을 통해 다시 제어 블럭(18)에 제공한다.In FIG. 3 (b), the address processing block 2041 manages new codewords to be updated stored in the buffer 2043, and also performs processing such as updating of new codewords. When a codeword is generated a predetermined number of times and is to be stored in the first memory 202 as a reference pattern, the corresponding codeword is read from the buffer 2043, and the read codeword is read again through the line L13. Provide to 18.

또한, 어드레스 처리 블럭(2041)은 라인 L11을 통해 제어블럭(18)으로부터 새로운 코드워드에 대한 갱신신호가 입력되면, 이 새로운 코드워드를 버퍼(2043)에 기록한 다음 새로운 코드워드의 어드레스를 래치로 된 포인터(2045)에 기록한다. 이때, 레퍼런스 처리 블럭(2047)은 실질적으로 덧셈기와 메모리로 구성되는 것으로, 레퍼런스 카운트 값을 처리한다. 즉, 레퍼런스 처리 블럭(2047)은 라인 L12를 통해 제어 블럭(18)으로부터 새로운 코드워드의 갱신신호가 입력되면 코드워드 갱신을 위한 해당 레퍼런스를 1 증가시킨 다음 카운터(22)의 카운트값을 1증가시킨다. 여기에서, 버퍼(2043)는 선입선출 버퍼로서 갱신하고자 하는 새로운 코드워드들을 일시적으로 저장하기 위한 것이다.In addition, when an update signal for a new codeword is input from the control block 18 through the line L11, the address processing block 2041 writes this new codeword into the buffer 2043, and then latches the address of the new codeword. To the pointer 2045. At this time, the reference processing block 2047 substantially consists of an adder and a memory, and processes the reference count value. That is, when the update signal of the new codeword is input from the control block 18 through the line L12, the reference processing block 2047 increments the corresponding reference for codeword update by 1 and then increases the count value of the counter 22 by one. Let's do it. Here, the buffer 2043 is for temporarily storing new codewords to be updated as a first-in first-out buffer.

상술한 바와 같은 과정을 통해 갱신하고자 하는 새로운 코드워드들이 버퍼(2043)에 저장되면, 각각의 새로운 코드워드에 대한 카운트 값을 체크하여 그 카운트 값이 기설정된 소정횟수, 예를들면 10회가 되었는지의 여부를 체크하여 갱신하고자 하는 해당 코드워드의 카운트 값이 10회가 된 것으로 판단되면(즉, 어떤 새로운 코드워드가 소정시간 동안에 10회 발생한 것임), 어드레스 처리 블럭(2041)은 버퍼(2043)로부터 해당되는 새로운 코드워드를 판독하여 라인 L13을 통해 제3도(a)의 제어 블럭(18)에 제공한다. 이때, 갱신하고자 하는 새로운 코드워드가 기설정된 10회 발생하여 이를 제어 블럭(18)에 제공할 때 동시에 버퍼(2043)에 저장되어 있던 그 새로운 코드워드가 삭제되고 또한 카운터(22)에서의 해당 카운트 값은 클리어 된다.When new codewords to be updated are stored in the buffer 2043 through the above-described process, the count value for each new codeword is checked to determine whether the count value has been a predetermined number of times, for example, 10 times. If it is determined that the count value of the corresponding codeword to be updated is 10 times (that is, a new codeword has occurred 10 times in a predetermined time), the address processing block 2041 is buffer 2043. The corresponding new codeword is read from and provided to the control block 18 of FIG. 3 (a) via line L13. At this time, when a new codeword to be updated is generated 10 times and provided to the control block 18, the new codeword stored in the buffer 2043 is deleted at the same time, and the corresponding count in the counter 22 is deleted. The value is cleared.

즉, 제어 블럭(18)에서는 버퍼(2043)으로부터 판독되어 제공되는 해당 입력 패턴에 대응하는 새로운 코드워드를 기준 패턴으로서 제1메모리(202)에 저장하고, 또한 이 새로운 코드워드에 대한 인덱스 값을 제1도의 벡터 양자화 블럭(16)에 제공함과 동시에 새로운 코드워드를 제1도의 멀티플렉서(MUX)(34)로 출력하게 된다. 이때, 제1메모리(202)에 저장되는 각 코드워드들은 입력되는 순서대로 순차 기록되며, 용량이 다 채워지는 경우, 먼저 입력된 코드워드 값들부터 순차적으로 버림으로서 메모리 용량의 한계성을 극복할 수 있을 것이다. 여기에서, 제1메모리(202)는 기존의 코드워드와 갱신되는 새로운 코드워드를 저장하는 분리된 영역을 갖으며, 새로운 코드워드를 위한 메모리 영역만이 선입선출 버퍼로서의 역할을 수행하게 된다.That is, the control block 18 stores a new codeword corresponding to the input pattern read out from the buffer 2043 in the first memory 202 as a reference pattern, and stores an index value for the new codeword. A new codeword is output to the multiplexer (MUX) 34 of FIG. 1 while being provided to the vector quantization block 16 of FIG. In this case, the codewords stored in the first memory 202 are sequentially recorded in the order of input, and when the capacity is filled up, the limit of the memory capacity may be overcome by sequentially discarding the first input codeword values. will be. Here, the first memory 202 has a separate area for storing the existing codeword and the new codeword to be updated, and only the memory area for the new codeword serves as a first-in first-out buffer.

따라서, 멀티플렉서(34)에서는 제어 블럭(18)으로부터 제공되는 새로운 코드워드들과 벡터 양자화 블럭(16)으로부터 제공되는 인덱스 값들을 다중화하여 도시 생략된 전송기로 전송하게 된다.Therefore, the multiplexer 34 multiplexes the new codewords provided from the control block 18 and the index values provided from the vector quantization block 16 and transmits them to a transmitter not shown.

제4도는 본 발명에 따라 각 입력 패턴에 대응하는 코드워드를 검색하여 출력하거나 또는 새로운 코드워드로 갱신하는 과정을 도시한 플로우챠트를 나타낸다. 따라서, 하기에서는 제4도의 플로우챠트를 주로 참조하여 본 발명에 따라 새로운 코드워드를 갱신하는 과정에 대하여 보다 상세하게 설명한다.4 is a flowchart illustrating a process of retrieving and outputting a codeword corresponding to each input pattern or updating to a new codeword according to the present invention. Therefore, the following describes the process of updating a new codeword in more detail with reference to the flowchart of FIG. 4 mainly.

제4도를 참조하면, 제어 블럭(18)에서는 벡터 양자화 블럭(16)으로부터 입력 패턴이 들어오면(단계 S10), 먼제 제3도(a)의 제1메모리(202) 영역을 검색하여 해당 입력 패턴에 가장 유사한 값을 갖는 기준 패턴(코드워드)을 판독한다(단계 S11).Referring to FIG. 4, when an input pattern is input from the vector quantization block 16 (step S10), the control block 18 searches for an area of the first memory 202 of FIG. The reference pattern (codeword) having the value most similar to the pattern is read (step S11).

그런다음, 제어 블럭(18)은 기준 패턴(코드워드)과 해당 입력 패턴과의 제곱 절대 차값이 기설정된 드레숄드 값 보다 큰지의 여부를 체크한 다음(단계 S12), 그 제곱 절대 차값이 기설정된 드레숄드 값 보다 작은 것으로 판단되면, 처리는 후술되는 단계(S19)로 진행되며, 따라서 제어 블럭(18)은 해당 입력 패턴에 대응하는 코드워드에 대한 인덱스 값을 벡터 양자화 블럭(16)으로 출력하게 된다.Then, the control block 18 checks whether the square absolute difference value between the reference pattern (codeword) and the corresponding input pattern is larger than the preset threshold value (step S12), and then the square absolute difference value is preset. If it is determined that the threshold value is smaller than the threshold value, the process proceeds to step S19 described later, so that the control block 18 outputs the index value for the codeword corresponding to the corresponding input pattern to the vector quantization block 16. do.

한편, 상기 단계(S13)에서의 체크 결과, 그 제곱 절대 차값이 기설정된 드레숄드 값 보다 큰 것으로 판단되면, 제어 블럭(18)에서는 해당 입력 패턴에 대응할 수 있는 새로운 코드워드로의 갱신을 위한 제어신호를 발생하여 해당 입력 패턴에 대응하는 새로운 코드워드를 제3도(b)의 버퍼(2043)에 일시적으로 저장한 다음(단계 S13), 카운터(22)의 카운트값을 1 증가시킨다(단계 S14).On the other hand, if it is determined in the step S13 that the absolute absolute difference value is larger than the preset threshold value, the control block 18 controls to update to a new codeword that can correspond to the corresponding input pattern. Generates a signal and temporarily stores a new codeword corresponding to the corresponding input pattern in the buffer 2043 of FIG. 3B (step S13), and then increments the count value of the counter 22 by one (step S14). ).

그런다음, 카운터(22)에서 카운트된 갱신하고자 하는 새로운 코드워드에 대한 카운트 횟수를 체크, 즉 그 새로운 코드워드에 대한 카운트값이 기설정된 소정횟수(N), 예를들면 10회, 인지의 여부를 체크하여(단계 S15), N=10이 아닌 것으로 판단되면, 처리는 전술한 단계(S10)로 진행되어 그 이후의 과정을 반복 수행하게 된다.Then, the number of counts for the new codeword to be updated counted at the counter 22 is checked, i.e. whether the count value for the new codeword is a predetermined number N, for example, 10 times. Is checked (step S15), if it is determined that N is not equal to 10, the process proceeds to step S10 described above to repeat the subsequent steps.

다른한편, 상기 단계(S15)에서의 체크 결과, 새로운 코드워드에 대한 카운트 값이 기설정된 소정횟수인 N인 것으로 판단되면, 제어 블럭(18)으로 부터의 판독 어드레스 신호에 의거하여 어드레스 처리 블럭(2041)은 버퍼(2043)로부터 그 새로운 코드워드 값을 판독하여 다시 제어 블럭(18)에 제공하며(단계 S16), 따라서, 제어 블럭(18)에서는 그 새로운 코드워드를 제1메모리(202)에 저장한다(단계 S17).On the other hand, if it is determined that the count value for the new codeword is N, which is a predetermined number of times, as a result of the check in the step S15, the address processing block (based on the read address signal from the control block 18) 2041 reads the new codeword value from the buffer 2043 and provides it to the control block 18 again (step S16), so that the control block 18 sends the new codeword to the first memory 202. Save (step S17).

따라서, 이러한 과정을 통해 기설정된 소정횟수 만큼 발생한 새로운 코드워드에 대한 갱신이 이루어지는 것이다. 이때, 제1메모리(202)이 저장되는 각 코드워드들은 입력되는 순서대로 순차 기록되며, 용량이 다 채워지는 경우, 먼저 입력된 코드워드 값들부터 순차적으로 버려진다. 즉, 제1메모리(202)의 용량이 모두 채워지면 발생빈도가 저조하고 오래된 코드워드 값들이 버려지게 되는 것이다.Therefore, the update of the new codeword generated a predetermined number of times through this process is performed. In this case, the respective codewords stored in the first memory 202 are sequentially recorded in the order of input. When the capacity is full, the first codewords 202 are discarded sequentially from the inputted codeword values. That is, when the capacity of the first memory 202 is completely filled, the frequency of occurrence is low and the old codeword values are discarded.

그러므로, 제어 블럭(18)에서 벡터 양자화 블럭(16)에 각 입력 패턴들에 각각 상응하는 코드워드들에 대한 각 인덱스 값들을 제공함으로서(단계 S18, S19), 벡터 양자화 블럭(16)에서는 DCT 블럭(14)으로부터 제공되는 소정크기로 분할된 부블럭들의 각 입력 패턴에 각각 대응하는 각 인덱스 값들을 다음단의 멀티플렉서(34)로 출력하게 된다. 물론, 제어 블럭(18)에서는 벡터 양자화 블럭(16)에 제공하는 인덱스 값의 코드워드가 갱신된 새로운 코드워드인 경우, 이 갱신된 코드워드를 출력측의 멀티플렉서(34)에 제공하게 된다.Therefore, by providing the index values for the codewords corresponding to the respective input patterns to the vector quantization block 16 at the control block 18 (steps S18 and S19), the vector quantization block 16 at the DCT block. Each index value corresponding to each input pattern of sub-blocks divided into predetermined sizes provided from 14 is output to the next multiplexer 34. Of course, in the control block 18, when the codeword of the index value provided to the vector quantization block 16 is an updated new codeword, the updated codeword is provided to the multiplexer 34 on the output side.

그런다음, 멀티플렉서(34)가 제어 블럭(18)으로부터 제공되는 갱신된 코드워드들과 벡터 양자화 블럭(16)으로 부터의 인덱스 값들을 다중화하여 도시 생략된 전송기로 전송함으로서, 본 발명에 따른 소망하는 패턴 벡터 부호화된 영상신호가 원격지의 수신측으로 보내지게 된다.The multiplexer 34 then multiplexes the updated codewords provided from the control block 18 and the index values from the vector quantization block 16 and transmits them to the transmitter, not shown, thereby providing a desired method according to the present invention. The pattern vector coded video signal is sent to the receiving side of the remote site.

따라서, 본 실시예에 따르면, 소정 크기로 분할된 각 부블럭에 상응하는 입력 패턴 또는 새로운 입력 패턴(즉, 영상의 변화에 기인하여 생성되는 새로운 코드워드)에 따라 연속적으로 코드워드를 갱신해가면서 벡터 양자화를 수행함으로서, 효율적인 양자화는 물론 수신측 복원영상의 화질열화를 효과적으로 개선할 수가 있다.Therefore, according to the present embodiment, the codewords are continuously updated according to an input pattern or a new input pattern (that is, a new codeword generated due to a change in image) corresponding to each subblock divided into a predetermined size. By performing the vector quantization, not only efficient quantization but also image quality deterioration of the received reconstructed image can be effectively improved.

[실시예 2]Example 2

제2도는 본 발명의 제2실시예에 따른 개선된 패턴 벡터 부호화 시스템의 개략적인 블럭구성도를 나타낸다.2 shows a schematic block diagram of an improved pattern vector coding system according to a second embodiment of the present invention.

본 실시예는 전술한 제1실시예와 마찬가지로 패턴 벡터 부호화에 있어서, 기설정된 코드워드 뿐만 아니라 영상의 변화에 따라 발생 가능한 새로운 코드워드를 갱신해 가면서 패턴 벡터 부호화를 수행한다는 점에 있어서는 실질적으로 동일하다고 할 수 있으나, 가장 특징적인 다른점은 MC-DCT를 채용함으로서 얻어지는 움직임 보상 차분 부호화된 영상 프레임에 대해 코드워드를 갱신해 가면서 패턴 벡터 부호화를 할 수 있다는 것이다. 따라서, 본 실시예는 전술한 제1실시예에서 얻어지는 효과는 물론 입력 영상의 고압축이 가능할 것이다.This embodiment is substantially the same in pattern vector encoding as in the first embodiment described above, in that pattern vector encoding is performed while updating not only a predetermined codeword but also a new codeword that can be generated according to a change in an image. However, the most distinctive difference is that the pattern vector coding can be performed while updating the codeword for the motion compensated differentially coded video frame obtained by employing the MC-DCT. Therefore, the present embodiment may enable high compression of the input image as well as the effect obtained in the above-described first embodiment.

제2도를 참조하면, 본 실시예에서는 전술한 제1실시예를 도시한 제1도에서와 같이 실질적으로 동일한 기능을 수행하는 동일 구성부재들에 대해서 이해를 쉽게 하기 위하여 동일 참조번호로서 도시하였다. 따라서, 하기에서는 기타 구성부재들의 기능에 대해서는 이미 앞에서 상세하게 설명하였으므로 본 실시예에서 영상의 시간축을 고려한 움직임 추정 보상을 위해 새로이 부가되는 구성부재들의 동작을 중심으로 하여 설명하고자 한다.Referring to FIG. 2, in the present embodiment, the same reference numerals are shown as like reference numerals in order to facilitate understanding of the same constituent members which perform substantially the same functions as in FIG. . Therefore, in the following, since the functions of the other components have already been described in detail above, the present invention will be described based on the operation of the newly added components for motion estimation compensation in consideration of the time axis of the image.

먼저, 본 실시예에 따라 영상의 시간축을 고려한 움직임 추정 보상을 위한 예측 프레임을 생성하는 국부 복원 및 예측 수단은, 제2도로부터 명백한 바와 같이, 블럭 복원 블럭(24), IDCT 블럭(26), 가산기(28), 제2프레임 메모리(30), 움직임 예측 블럭(32) 및 감산기(12)를 포함한다.First, local reconstruction and prediction means for generating a predictive frame for motion estimation compensation in consideration of the time axis of an image according to the present embodiment, as is apparent from FIG. 2, includes a block reconstruction block 24, an IDCT block 26, The adder 28 includes a second frame memory 30, a motion prediction block 32, and a subtractor 12.

제2도에 있어서, 블럭 복원 블럭(24)에서는 상기한 벡터 양자화 블럭(16)으로부터 제공되는 각 DCT블럭들을, 예를 들면 4개의 4×4 부블럭으로 각각 분할하고 그 분할된 부블럭들 각각에 대해 패턴 벡터 부호화한 기준 패턴들에 대한 인덱스 값들에 대해, 제어 블럭(18)과 기존의 코드워드와 갱신된 새로운 코드워드가 저장된 메모리 블럭(20)을 이용하여 패턴 벡터 부호화되기 이전의 8×8의 DCT변환계수 블럭들로 복원한다.In FIG. 2, the block reconstruction block 24 divides each DCT block provided from the vector quantization block 16 into four 4x4 subblocks, respectively, and each of the divided subblocks. For the index values for the reference patterns coded with the pattern vector for, the 8 × before the pattern vector is coded using the control block 18 and the memory block 20 in which the existing codeword and the updated new codeword are stored. Restore to 8 DCT transform coefficient blocks.

이때, 본 실시예에서는 동일한 제어 블럭(18)과 메모리 블럭(20)을 벡터 양자화시와 움직임 추정 보상을 위한 블럭 복원시에 공동으로 사용하는 것으로 도시하였으나, 입력 패턴에 대한 기준 패턴의 탐색시에 야기될 수도 있는 충돌 또는 대기(우선순위 설정)등의 발생 가능성을 고려하여 각각 별도의 구성을 할 수도 있다.In this embodiment, although the same control block 18 and the memory block 20 are shown to be used jointly at the time of vector quantization and block reconstruction for motion estimation compensation, when searching for the reference pattern with respect to the input pattern Each may be configured separately in consideration of the possibility of collision or waiting (priority setting) that may be caused.

따라서, IDCT블럭(26)에서는 상기한 블럭 복원 블럭(24)으로부터 제공되는 복원된 영상 프레임의 각 DCT 변환계수들에 대해 움직임 추정, 보상을 위해 변환 부호화 되기 이전의 원래의 신호(화소 데이터)로 복원하여 다음단의 가산기(28)에 제공한다.Accordingly, in the IDCT block 26, the DCT transform coefficients of the reconstructed image frame provided from the block reconstruction block 24 are used as original signals (pixel data) before transform-coding for motion estimation and compensation. It restores and provides to the adder 28 of the next stage.

그런다음, 가산기(28)가 상기한 IDCT 블럭(26)으로부터 제공되는 복원된 현재 프레임신호(차분신호)와 라인 L22를 통해 움직임 에측 블럭(32)으로부터 제공되는 예측 프레임신호를 가산하여 제2프레임 메모리(30)에 제공함으로서, 제2프레임 메모리(30)에는 복원된 현재의 프레임신호, 즉 현재 부호화를 위해 입력되는 현재 프레임신호의 바로 이전 프레임으로서 저장된다.Then, the adder 28 adds the restored current frame signal (differential signal) provided from the IDCT block 26 and the predicted frame signal provided from the motion side block 32 through the line L22 to add a second frame. By providing the memory 30, the second frame memory 30 is stored as a frame immediately before the restored current frame signal, that is, the current frame signal input for current encoding.

따라서, 이와같은 과정을 통해 제2프레임 메모리(30)에 저장되는 이전 프레임신호가 현재 부호화되는 입력 영상데이터 바로 이전의 영상데이터로서 연속적으로 갱신된다. 이와같이 갱신되는 이전 프레임신호는 움직임 예측 및 보상을 위해 다음단의 움직임 예측 블럭(32)에 제공되며, 이러한 일련의 과정을 통해 시간적으로 연속하는 프레임간의 시간적인 중복성이 제거된다.Therefore, through this process, the previous frame signal stored in the second frame memory 30 is continuously updated as the image data immediately before the currently encoded input image data. The previous frame signal updated in this way is provided to the motion prediction block 32 of the next stage for motion prediction and compensation, and temporal redundancy between successive frames is removed through this series of processes.

즉, 움직임 예측 블럭(32)에서는 제1프레임 메모리(10)로부터의 현재 프레임과 제2프레임 메모리(30)으로 부터의 이전 프레임을 통해 소정의 탐색범위내, 예를 들면 16×16 단위로 그 움직임을 추정, 즉 현재 프레임의 블럭과 가장 유사한 이전 프레임의 블럭을 결정한 다음 이 결정된 해당 블럭을 입력하여 라이니 L22를 통해 전술한 감산기(12)와 가산기(28)에 각각 제공한다.That is, in the motion prediction block 32, the current frame from the first frame memory 10 and the previous frame from the second frame memory 30 are within a predetermined search range, for example, in units of 16 × 16. The motion is estimated, i.e., the block of the previous frame most similar to the block of the current frame is determined, and then the determined corresponding block is inputted to the above-described subtractor 12 and adder 28 through LINY L22.

또한, 제2도에서의 도시는 생략 하였으나 움직임 예측 블럭(32)에서 결정된 일련의 움직임벡터들은 수신측 복호화 시스템으로의 전송을 위해 소정의 부호화 과정을 거쳐 부호화된 다음 전송기(도시생략)로 보내진다.In addition, although not shown in FIG. 2, a series of motion vectors determined by the motion prediction block 32 are encoded through a predetermined encoding process for transmission to a receiving side decoding system, and then sent to a transmitter (not shown). .

그 결과, 감산기(12)에서는 제1프레임 메모리(10)로 부터의 현재 프레임신호와 움직임 예측 블럭(32)으로부터 제공되는 움직임 추정, 보상된 예측 프레임신호와의 감산을 통해 그 차분신호(차분화소값)가 얻어지며, 이와같이 현재 프레임과 움직임 추정 보상된 예측 프레임간의 차분신호는 전술한 바와같은 DCT 및 벡터 양자화를 통해 소정의 압축율로 압축 부호화된다.As a result, the subtractor 12 subtracts the difference signal (differential pixel) by subtracting the current frame signal from the first frame memory 10 with the motion estimation provided from the motion prediction block 32 and the compensated prediction frame signal. Value), and the difference signal between the current frame and the motion estimation compensated prediction frame is compressed and coded at a predetermined compression rate through DCT and vector quantization as described above.

또한, 움직임 예측 블럭(32)은, 제2도에서의 도시는 생략되었으나 현재 프레임과 이전 프레임간의 움직임 추정시에 발생되는 일련의 움직임 벡터들을 출력측의 멀티플렉서(34)에 제공하며, 따라서 멀티플렉서(34)에서는 벡터 양자화블럭(16)으로 부터의 인덱스 값들, 제어 블럭(18)으로 부터의 갱신된 새로운 코드워드들 및 움직임 예측 블럭(32)으로 부터의 일련의 움직임 벡터들을 다중화하여 도시 생략된 전송기로 전송하게 된다.In addition, the motion prediction block 32 provides the multiplexer 34 on the output side with a series of motion vectors generated in estimating the motion between the current frame and the previous frame, although the illustration in FIG. 2 is omitted. ), Multiplexed the index values from the vector quantization block 16, the updated new codewords from the control block 18, and the series of motion vectors from the motion prediction block 32 to a transmitter not shown. Will be sent.

따라서, 본 실시예는 MC-DCT를 채용함으로서 얻어지는 움직임 보상 차분 부호화된 영상 프레임에 대해 코드워드를 갱신해 가면서 패턴 벡터 부호화를 수행함으로서, 전술한 제1실시예에서 얻어지는 효과는 물론 효과적인 고압축율의 패턴 벡터 부호화를 실현할 수가 있다.Therefore, the present embodiment performs pattern vector coding while updating codewords on a motion compensated differentially coded image frame obtained by employing MC-DCT, thereby achieving the effect obtained in the above-described first embodiment as well as effective high compression ratio. Pattern vector coding can be realized.

Claims (16)

각 입력 영상에 대해 코사인 함수를 이용하는 이산 코사인 변환을 통해 얻어진 8×8의 각 DCT변환계수 블럭들을 소정 크기의 복수의 부블럭으로 분할하고, 이 분할된 각 부블럭들에 대해 메모리에 구비된 복수의 기설정 코드워드들을 이용하는 벡터 양자화 수단을 통해 양자화를 수행함으로서, 상기 각 부블럭의 입력 패턴들에 상응하는 인덱스를 출력하는 패턴 벡터 부호화 시스템에 있어서, 상기 메모리는 상기 기설정 코드워드를 저장하기 위한 제1메모리 영역과 갱신하고자 하는 새로운 코드워드들을 저장하기 위한 제2메모리 영역을 구비하며, 상기 분할된 각 부블럭에 대한 각 입력 패턴에 대응하는 각각의 상기 기준 패턴의 코드워드들을 상기 제1메모리 영역에서 검색하여 상기 각 입력 패턴에 대해 그 오차값이 가장 적은 최적의 기준 패턴들을 각각 결정한 다음, 그 결정된 각 기준 패턴에 대한 인덱스 값들을 상기 벡터 양자화 수단에 제공하며, 상기 각 입력 패턴과 기준 패턴과의 제곱 절대차를 체크하여 기설정된 드레숄드 값을 초과하면 코드워드 갱신을 위한 갱신신호를 발생하는 패턴 매칭수단; 상기 패턴 매칭수단으로 부터의 상기 갱신신호에 의거하여 생성되는 해당 입력 패턴에 상응하는 갱신하고자 하는 새로운 코드워드를 일시적으로 저장하기 위한 제3메모리 수단; 상기 제3메모리 수단의 소정부분에 저장되는 상기 새로운 코드워드의 어드레스를 저장하는 포인터; 상기 패턴 매칭수단으로 부터의 갱신신호에 의거하여 상기 새로운 코드워드를 위한 레퍼런스를 증가시킴으로서 상기 새로운 코드워드의 발생횟수를 카운트하기 위한 카운트 수단을 포함하고, 상기 패턴 매칭수단은, 상기 새로운 코드워드의 발생횟수가 기설정된 소정횟수가 되면 상기 제3메모리 수단에 저장된 상기 새로운 코드워드를 판독하여 상기 제2메모리 영역에 저장함과 동시에 출력측에 제공하며, 상기 벡터 양자화 수단으로 부터의 각 인덱스 값들과 상기 패턴 매칭수단으로 부터의 상기 각 코드워드들을 다중화하여 전송하는 멀티플렉서를 포함하는 것을 특징으로 하는 개선된 패턴 벡터 부호화 시스템.Each 8 × 8 DCT transform coefficient block obtained through a discrete cosine transform using a cosine function for each input image is divided into a plurality of subblocks of a predetermined size, and a plurality of subblocks provided in the memory for each of the divided subblocks. In the pattern vector encoding system for outputting an index corresponding to the input patterns of each subblock by performing quantization by vector quantization means using predetermined codewords of the memory, the memory stores the preset codeword. A first memory area for storing the second code area and a second memory area for storing new codewords to be updated, wherein the codewords of the respective reference patterns corresponding to the respective input patterns of the divided subblocks are stored in the first memory area; Search the memory area to find the optimal reference patterns with the lowest error value for each input pattern. After the determination, the index values for the determined reference patterns are provided to the vector quantization means. The absolute value of the square between the respective input patterns and the reference pattern is checked to update the codeword when the threshold value is exceeded. Pattern matching means for generating a signal; Third memory means for temporarily storing a new codeword to be updated corresponding to a corresponding input pattern generated based on the update signal from the pattern matching means; A pointer for storing an address of the new codeword stored in a predetermined portion of the third memory means; Counting means for counting the number of occurrences of the new codeword by incrementing a reference for the new codeword based on an update signal from the pattern matching means, wherein the pattern matching means includes: When the number of occurrences is a predetermined number of times, the new codeword stored in the third memory means is read out and stored in the second memory area and provided to the output side, and the index values and the pattern from the vector quantization means are provided to the output side. And a multiplexer for multiplexing and transmitting the respective codewords from the matching means. 제1항에 있어서, 상기 분할된 복수의 부블럭은 상기 각 8×8 DCT 변환계수 블럭을 4×4 단위로 분할한 4개의 부블럭인 것을 특징으로 하는 개선된 패턴 벡터 부호화 시스템.2. The improved pattern vector encoding system of claim 1, wherein the plurality of divided subblocks are four subblocks obtained by dividing each of the 8x8 DCT transform coefficient blocks into 4x4 units. 제1항에 있어서, 상기 분할된 복수의 부블럭은 상기 각 8×8 DCT 변환계수 블럭을 2×2 단위로 분할한 16개의 부블럭인 것을 특징으로 하는 개선된 패턴 벡터 부호화 시스템.2. The improved pattern vector encoding system of claim 1, wherein the plurality of divided subblocks are 16 subblocks obtained by dividing each of the 8x8 DCT transform coefficient blocks into 2x2 units. 제1항, 제2항 또는 제3항에 있어서, 상기 제2메모리 영역은, 상기 새로운 코드워드들을 그 입력순서에 따라 순차 소거하는 선입선출 버퍼 메모리인 것을 특징으로 하는 개선된 패턴 벡터 부호화 시스템.4. The improved pattern vector encoding system of claim 1, 2 or 3, wherein the second memory area is a first-in first-out buffer memory that sequentially erases the new codewords according to an input order thereof. 제1항, 제2항 또는 제3항에 있어서, 상기 포인터는 래치로 구성된 것을 특징으로 하는 개선된 패턴 벡터 부호화 시스템.4. The improved pattern vector coding system of claim 1, 2 or 3, wherein the pointer is comprised of a latch. 현재의 입력 프레임과, 이 현재 프레임 및 이전 프레임간의 움직임 추정 보상을 통해 생성되는 예측 프레임간의 차분신호에 대해 코사인 함수를 이용하는 이산 코사인 변환을 통해 얻어진 8×8의 각 DCT 변환계수 블럭들을 소정 크기의 복수의 부블럭으로 분할하고, 이 분할된 각 부블럭들에 대해 메모리에 구비된 복수의 기설정 코드워드들을 이용하는 벡터 양자화 수단을 통해 양자화를 수행함으로서, 상기 각 부블럭의 입력 패턴들에 상응하는 인덱스를 출력하는 패턴 벡터 부호화 시스템에 있어서, 상기 메모리는 상기 기설정 코드워드들을 저장하기 위한 제1메모리 영역과 갱신하고자 하는 새로운 코드워드들을 저장하기 위한 제2메모리 영역을 구비하며, 상기 분할된 각 부블럭에 대한 각 입력 패턴에 대응하는 각각의 상기 기준 패턴의 코드워드들을 상기 제1메모리 영역에서 검색하여 상기 각 입력 패턴에 대해 그 오차값이 가장 적은 최적의 기준 패턴들을 각각 결정한 다음, 그 결정된 각 기준 패턴에 대한 인덱스 값들을 상기 벡터 양자화 수단에 제공하며, 상기 각 입력 패턴과 기준 패턴과의 제곱 절대차를 체크하여 기설정된 드레숄드 값을 초과하면 코드워드 갱신을 위한 갱신신호를 발생하는 패턴 매칭수단; 상기 패턴 매칭수단으로 부터의 상기 갱신신호에 의거하여 생성되는 해당 입력 패턴에 상응하는 갱신하고자 하는 새로운 코드워드를 일시적으로 저장하기 위한 제3메모리 수단; 상기 제3메모리 수단의 소정부분에 저장되는 상기 새로운 코드워드의 어드레스를 저장하는 포인터; 상기 패턴 매칭수단으로부터의 갱신신호에 의거하여 상기 새로운 코드워드를 위한 레퍼런스를 증가시킴으로서 상기 새로운 코드워드의 발생횟수를 카운트하기 위한 카운트 수단을 포함하고, 상기 패턴 매칭수단은, 상기 새로운 코드워드의 발생횟수가 기설정된 소정횟수가 되면 상기 제3메모리 수단에 저장된 상기 새로운 코드워드를 판독하여 상기 제2메모리 영역에 저장함과 동시에 출력측에 제공하며, 상기 벡터 양자화 수단으로부터 제공되는 상기 각 인덱스 값들과 상기 패턴 매칭수단으로 부터의 상기 각 코드워드들을 다중화하여 전송하는 멀티플렉서를 포함하는 것을 특징으로 하는 개선된 패턴 벡터 부호화 시스템.Each 8 × 8 DCT transform coefficient block obtained through a discrete cosine transform using a cosine function for the difference signal between the current input frame and the prediction frame generated through the motion estimation compensation between the current frame and the previous frame is obtained. By subdividing into a plurality of subblocks and performing quantization through vector quantization means using a plurality of predetermined codewords provided in the memory for each of the divided subblocks, the subblocks correspond to the input patterns of the subblocks. In the pattern vector encoding system for outputting an index, the memory includes a first memory area for storing the predetermined codewords and a second memory area for storing new codewords to be updated, the divided angles Codewords of the respective reference patterns corresponding to each input pattern for the subblock Search in the first memory area to determine optimal reference patterns having the lowest error value for each input pattern, and then provide index values for the determined reference patterns to the vector quantization means, wherein each input pattern is obtained. Pattern matching means for checking an absolute difference between a pattern and a reference pattern and generating an update signal for updating codewords when a predetermined threshold value is exceeded; Third memory means for temporarily storing a new codeword to be updated corresponding to a corresponding input pattern generated based on the update signal from the pattern matching means; A pointer for storing an address of the new codeword stored in a predetermined portion of the third memory means; Counting means for counting the number of occurrences of the new codeword by incrementing a reference for the new codeword based on an update signal from the pattern matching means, wherein the pattern matching means generates the new codeword. When the number of times is a predetermined number of times, the new codeword stored in the third memory means is read out and stored in the second memory area and provided to the output side, and the index values and the patterns provided from the vector quantization means are provided. And a multiplexer for multiplexing and transmitting the respective codewords from the matching means. 제6항에 있어서, 상기 분할된 복수의 부블럭은 상기 각 8×8 DCT 변환계수 블럭을 4×4 단위로 분할한 4개의 부블럭인 것을 특징으로 하는 개선된 패턴 벡터 부호화 시스템.7. The improved pattern vector encoding system of claim 6, wherein the plurality of divided subblocks are four subblocks obtained by dividing each of the 8x8 DCT transform coefficient blocks by 4x4 units. 제6항에 있어서, 상기 분할된 복수의 부블럭은 상기 각 8×8 DCT 변환계수 블럭을 2×2 단위로 분할한 16개의 부블럭인 것을 특징으로 하는 개선된 패턴 벡터 부호화 시스템.7. The improved pattern vector encoding system of claim 6, wherein the plurality of divided subblocks are 16 subblocks obtained by dividing each of the 8x8 DCT transform coefficient blocks by 2x2 units. 제6항, 제7항 또는 제8항에 있어서, 상기 제2메모리 영역은, 상기 새로운 코드워드들을 그 입력순서에 따라 순차 소거하는 선입선출 버퍼 메모리인 것을 특징으로 하는 개선된 패턴 벡터 부호화 시스템.9. The improved pattern vector encoding system of claim 6, 7, or 8, wherein the second memory area is a first-in first-out buffer memory that sequentially erases the new codewords according to an input order thereof. 제6항, 제7항 또는 제8항에 있어서, 상기 포인터는 래치로 구성된 것을 특징으로 하는 개선된 패턴 벡터 부호화 시스템.9. The improved pattern vector coding system of claim 6, 7, or 8, wherein said pointer is comprised of a latch. 제6항, 제7항 또는 제8항에 있어서, 상기 부호화 시스템은, 동일한 상기 패턴 매칭수단을 이용하여, 상기 분할된 복수의 부블럭들에 대한 패턴 벡터 부호화를 수행하고, 상기 예측 프레임의 생성을 위해 상기 패턴 벡터 부호화된 상기 부블럭들의 각 입력 패턴에 대한 인덱스 값들을 역양자화하고 역이산 코사인 변환을 수행하는 것을 특징으로 하는 개선된 패턴 벡터 부호화 시스템.The method of claim 6, 7, or 8, wherein the encoding system performs pattern vector encoding on the divided subblocks using the same pattern matching means, and generates the prediction frame. And inversely quantize index values for each input pattern of the sub-blocks encoded in the pattern vector and perform inverse discrete cosine transform. 제6항, 제7항 또는 제8항에 있어서, 상기 부호화 시스템은, 상기 분할된 복수의 부블럭에 대한 패턴 벡터 부호화를 수행하는 상기 패턴 매칭수단과, 상기 예측 프레임의 생성을 위해 상기 패턴 벡터 부호화된 상기 부블럭들의 각 입력 패턴에 대한 인덱스 값들을 역양자화하고 역이산 코사인 변환을 수행하는 필요로 하는 다른 패턴 매칭수단을 포함하는 것을 특징으로 하는 개선된 패턴 벡터 부호화 시스템.10. The apparatus of claim 6, 7, or 8, wherein the encoding system comprises: the pattern matching means for performing pattern vector encoding on the plurality of divided subblocks, and the pattern vector for generating the prediction frame. And other pattern matching means for inversely quantizing index values for each input pattern of the encoded subblocks and performing inverse discrete cosine transform. 이산 코사인 변환을 통해 얻어진 8×8의 각 DCT 변환계수 블럭들을 소정 크기의 복수의 부블럭으로 분할하고, 이 분할된 각 부블럭들에 대해 메모리에 구비된 복수의 기설정 코드워드들을 이용하여 패턴 벡터 부호화를 수행함으로서 상기 각 부블럭의 입력 패턴들에 상응하는 인덱스 값을 출력하는 시스템에서 코드워드를 갱신하는 방법에 있어서, 상기 메모리는 상기 복수의 기설정 코드워드들을 저장하기 위한 제1메모리 영역과 갱신하고자 하는 새로운 코드워드들을 저장하기 위한 제2메모리 영역을 구비하며, 상기 부블럭의 입력 패턴이 인가되면 상기 제1메모리 영역으로부터 기준 패턴의 코드워드들을 검색하여 해당 입력 패턴에 대한 오차값이 가장 적은 최적의 기준 패턴을 결정하는 단계; 상기 해당입력 패턴과 기준 패턴과의 제곱 절대차 값을 산출하고, 이 산출된 절대차 값이 기설정된 드레숄드 값을 초과하는지의 여부를 체크하는 단계; 상기 체크단계에서의 판단결과 상기 산출된 절대차 값이 상기 기설정된 드레숄드 값을 초과하는 것으로 판단되면 상기 해당 입력 패턴에 상응하는 새로운 코드워드를 임시 버퍼에 저장하고, 해당 카운트 값을 1 증가시키는 단계; 상기 새로운 코드워드에 대한 상기 카운트 값을 체크하여 그 값이 소정의 기설정된 카운트 값이 아니면 상기 각 과정을 반복 수행하고, 상기 체크된 카운트 값과 기설정된 카운트 값이 일치하면 상기 임시 버퍼에 저장된 상기 새로운 코드워드를 판독하여 상기 제2메모리 영역에 갱신된 새로운 코드워드로서 저장하는 단계; 상기 갱신된 새로운 코드워드를 상기 각 부블럭의 입력 패턴들에 상응하는 인덱스 값과 다중화하여 출력하는 단계로 이루어진 패턴 벡터 부호화 시스템에서의 코드워드 갱신방법.Each 8 × 8 DCT transform coefficient block obtained through the discrete cosine transform is divided into a plurality of subblocks of a predetermined size, and a pattern is obtained by using a plurality of predetermined codewords provided in the memory for each of the divided subblocks. A method of updating a codeword in a system that outputs index values corresponding to input patterns of each subblock by performing vector encoding, the memory may include a first memory area for storing the plurality of preset codewords. And a second memory area for storing new codewords to be updated, and when the input pattern of the subblock is applied, the codewords of the reference pattern are searched from the first memory area to obtain an error value for the input pattern. Determining the least optimal reference pattern; Calculating a squared absolute difference value between the corresponding input pattern and the reference pattern and checking whether the calculated absolute difference value exceeds a predetermined threshold value; If it is determined that the calculated absolute difference value exceeds the preset threshold value, the new codeword corresponding to the input pattern is stored in a temporary buffer and the corresponding count value is increased by one. step; If the count value for the new codeword is checked and the value is not a predetermined count value, the process is repeated. If the checked count value and the preset count value match, the count value stored in the temporary buffer is stored. Reading a new codeword and storing it as an updated new codeword in the second memory area; And multiplexing the updated new codeword with index values corresponding to the input patterns of the subblocks, and outputting the multiplexed codewords. 제13항에 있어서, 상기 분할된 복수의 부블럭은 상기 각 8×8 DCT 변환계수 블럭을 4×4 단위로 분할한 4개의 부블럭인 것을 특징으로 하는 패턴 벡터 부호화 시스템에서의 코드워드 갱신방법.The method of claim 13, wherein the plurality of divided subblocks are four subblocks obtained by dividing each of the 8x8 DCT transform coefficient blocks into 4x4 units. . 제13항에 있어서, 상기 분할된 복수의 부블럭은 상기 각 8×8 DCT 변환계수 블럭을 2×2 단위로 분할한 16개의 부블럭인 것을 특징으로 하는 패턴 벡터 부호화 시스템에서의 코드워드 갱신방법.The method of claim 13, wherein the plurality of divided subblocks are 16 subblocks obtained by dividing each of the 8x8 DCT transform coefficient blocks into 2x2 units. . 제13항, 제14항 또는 제15항에 있어서, 상기 제2메모리 영역은, 상기 갱신된 새로운 코드워드들을 그 입력순서에 따라 순차 소거하는 선입선출 버퍼 메모리인 것을 특징으로 하는 패턴 벡터 부호화 시스템에서의 코드워드 갱신방법.16. The system of claim 13, 14 or 15, wherein the second memory area is a first-in first-out buffer memory that sequentially erases the updated new codewords according to an input order. How to update your codeword.
KR1019950023356A 1995-07-31 1995-07-31 Improved pattern vector encoding system and codeword renewal method thereof KR0178223B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950023356A KR0178223B1 (en) 1995-07-31 1995-07-31 Improved pattern vector encoding system and codeword renewal method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950023356A KR0178223B1 (en) 1995-07-31 1995-07-31 Improved pattern vector encoding system and codeword renewal method thereof

Publications (2)

Publication Number Publication Date
KR970009400A KR970009400A (en) 1997-02-24
KR0178223B1 true KR0178223B1 (en) 1999-05-01

Family

ID=19422351

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950023356A KR0178223B1 (en) 1995-07-31 1995-07-31 Improved pattern vector encoding system and codeword renewal method thereof

Country Status (1)

Country Link
KR (1) KR0178223B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100857384B1 (en) * 2008-01-28 2008-09-05 엘지전자 주식회사 A method of selecting a reference picture for processing a field macroblock
KR100857385B1 (en) * 2008-01-28 2008-09-05 엘지전자 주식회사 A method of selecting a reference picture for processing a field macroblock
KR100857383B1 (en) * 2008-01-28 2008-09-05 엘지전자 주식회사 A method of selecting a reference picture for processing a field macroblock

Also Published As

Publication number Publication date
KR970009400A (en) 1997-02-24

Similar Documents

Publication Publication Date Title
KR0178198B1 (en) Apparatus for encoding an image signal
US5550847A (en) Device and method of signal loss recovery for realtime and/or interactive communications
KR100209410B1 (en) Apparatus for encoding an image signal
US6804299B2 (en) Methods and systems for reducing requantization-originated generational error in predictive video streams using motion compensation
KR100212559B1 (en) The contour coding system and motion prediction method for object
KR0178221B1 (en) Improved pattern vector encoding system using average value of pixels
KR0178223B1 (en) Improved pattern vector encoding system and codeword renewal method thereof
KR100385620B1 (en) Improved MPEG coding method, moving picture transmitting system and method thereof
KR100207378B1 (en) Image encoding system using adaptive vector quantization
KR100207391B1 (en) Image coding system and moving information detecting method using adaptive vector quantization
KR100259471B1 (en) Improved shape coding apparatus and method
EP0720373A1 (en) Method and apparatus for encoding a video signal using region-based motion vectors
KR0178205B1 (en) Image coding system uisng wavelet transform
KR0178203B1 (en) The improved pattern vector coding system
KR100229791B1 (en) Adaptive image coding system having functions for controlling bandpath of video signals
KR0178206B1 (en) Adaptive image coding system
KR100229792B1 (en) Improved image coding system having functions for adaptively determining image coding mode
KR100229793B1 (en) Improved image coding system having functions for adaptively determining image coding mode
KR100207388B1 (en) Image encoder using adaptive vector quantization
KR100203638B1 (en) Method for estimating motion using half-pixel by half-pixel
KR0178207B1 (en) The high-speed pattern matching apparatus and method in vector coding system
KR100220680B1 (en) The vertex coding apparatus for object contour encoder
KR0153984B1 (en) Method and apparatus for encoding video signal using classified vector quantization
KR0178204B1 (en) Pattern vector coding system using subband transform and method thereof
KR100203709B1 (en) Improved image coding system having functions for controlling generated amount of coded bit stream

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

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20121101

Year of fee payment: 15

LAPS Lapse due to unpaid annual fee