KR100268171B1 - An image block classification and coding method for image data compression using optimal transform - Google Patents

An image block classification and coding method for image data compression using optimal transform Download PDF

Info

Publication number
KR100268171B1
KR100268171B1 KR1019970071088A KR19970071088A KR100268171B1 KR 100268171 B1 KR100268171 B1 KR 100268171B1 KR 1019970071088 A KR1019970071088 A KR 1019970071088A KR 19970071088 A KR19970071088 A KR 19970071088A KR 100268171 B1 KR100268171 B1 KR 100268171B1
Authority
KR
South Korea
Prior art keywords
converter
block data
data
classification
coefficient
Prior art date
Application number
KR1019970071088A
Other languages
Korean (ko)
Other versions
KR19990051720A (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 KR1019970071088A priority Critical patent/KR100268171B1/en
Publication of KR19990051720A publication Critical patent/KR19990051720A/en
Application granted granted Critical
Publication of KR100268171B1 publication Critical patent/KR100268171B1/en

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

PURPOSE: A method for classifying and encoding a block for compressing optimum conversion video data adapted for classification is provided to perform easily an optimum conversion encoding process for a recovery image quality by improving a block classification method. CONSTITUTION: Input block data are stored in a buffer and a KL converter performs a KL conversion process to classify kinds of block data(302). A conversion coefficient outputted from the KL converter is analyzed and a class is decided according to an order of a maximum coefficient(303). A selective converter code of the optimum KL converter is outputted according to the classified result(304). The selective converter code is decoded(305). The stored block data are outputted from the buffer(306). The selected KL converter converts the stored block data(307). A conversion coefficient of the block data is quantized(308). A coded data stream is outputted by multiplexing the selective converter code and the quantized coefficient(309).

Description

분류화 최적 변환 영상 데이터 압축을 위한 블록 분류 및 부호화 방법Classification and Coding Method for Compression

본 발명은 설계가 용이하고 계산량이 적은 블록 분류방법을 채용하여 높은 압축률과 복구영상 화질의 최적 변환부호화를 쉽게 사용 가능하도록 하는 분류화 최적 변환 영상 데이터 압축을 위한 블록 분류 및 부호화 방법에 관한 것이다.일반적으로 영상 압축장치에서 최적의 변환부호화를 위해 카후넨-로베 (Karhunen-Loeve) 변환(이하 KL 변환이라 함)을 적용한다.The present invention relates to a block classification and encoding method for compressing optimal transformed image data, which makes it easy to design and employs a block classification method with a small amount of calculations, thereby making it possible to easily use an optimal transform encoding of a high compression ratio and a restored image quality. In general, a Karhunen-Loeve transform (hereinafter referred to as a KL transform) is applied for an optimal transform encoding in an image compression apparatus.

KL 변환은 변환계수의 에너지 집중성과 무상관성에서 다른 모든 선형 변환함수보다 나은 최고의 성능을 가지지만, 입력 데이터에 따라 변환을 위한 기저행렬이 달라지는 신호 의존적 특성과 변환을 위한 연산량이 방대하다는 단점이 있다. 그래서 적정화질을 유지하면서 속도가 요구되는 일반적인 영상의 압축/복원에는 KL 변환보다 성능이 떨어지지만 고속의 변환방법이 알려져 있는 불연속 코사인 변환( Discrete Cosine Transform : DCT)을 널리 사용하고 있다. 그러나 의료영상 압축/복원과 같이, 속도보다는 정확한 복구영상이 필요한 응용에서는 영상을 블록단위로 분류하고, 각 블록 종류마다 별도의 기저행렬을 갖는 변환기를 각각 채용함으로써 KL 변환의 신호 의존적 단점을 극복하는 방법들이 사용된다.The KL transform has the best performance than all other linear transform functions in terms of energy concentration and correlation of transform coefficients, but it has the disadvantages of signal dependent characteristics in which the base matrix for transform depends on the input data and the amount of computation for transform. . For this reason, Discrete Cosine Transform (DCT) is widely used for compressing and restoring general images that require speed while maintaining proper image quality. However, in applications requiring accurate recovery images rather than speed, such as medical image compression / reconstruction, image classification is divided into block units, and each block type employs a transducer having a separate base matrix to overcome the signal dependent shortcomings of KL conversion. Methods are used.

상술한 바와 같은 영상 데이터 부호화기의 구조에서는 부호화기를 설계하고, 영상 데이터의 부호화를 수행하는 과정에서 입력 블록 데이터와 최적의 변환기간의 매핑 방법에 따라 부호화기 설계와 부호화 과정이 달라지게 된다.In the structure of the image data encoder as described above, the encoder design and the encoding process vary according to the mapping method between the input block data and the optimal converter in the process of designing the encoder and encoding the image data.

종래에는 이러한 매핑을 위하여 대략 세 가지의 방법이 제시되어 있다.In the past, three methods have been proposed for such mapping.

첫째는 변환기와는 무관하게 입력 데이터 블록을 분류하는 블록 데이터 분류기를 채용하는 방법이다. 설계시에 훈련용 데이터를 클러스터링하여 클래스별로 분류하고, 분류된 클래스별 훈련용 블록 데이터를 최적으로 변환해 줄 수 있는 변환기를 구성한다. 클러스터링 과정에서 얻어진 각 종류를 대표하는 블록 데이터는 참고 블록으로서 블록 데이터 분류기내에 저장해 두고, 부호화 시에는 입력된 블록 데이터를 이들 참고 블록과 비교하는 벡터 양자화 방법을 사용하는 것이다. 각 참고 블록은 변환기와 일대일로 대응된다.The first is to employ a block data classifier that classifies the input data blocks independently of the converter. At the time of design, training data is clustered to classify them by class, and a converter that can optimally convert the classified training blocks by class is constructed. Block data representing each type obtained in the clustering process is stored in a block data classifier as a reference block, and when encoding, a vector quantization method for comparing the input block data with these reference blocks is used. Each reference block has a one-to-one correspondence with a translator.

이 방법을 사용할 경우, 영상 데이터 압축을 위한 최적의 KL 변환이 가능하도록 블록을 분류하기보다는 블록 데이터 자체의 특성에 따른 단순분류가 되는 문제점이 있다. 또한, 벡터 양자화는 벡터 차수가 16 이상이 되면 계산량이 많아져서 현실성이 없는 것으로 알려져 있으며, 이는 블록화된 부영상의 크기가 일반적으로 많이 사용되고 있는 8x8 픽셀 블록일 경우에는 적용하기 곤란하다는 것을 의미한다. 최근 시도되고 있는 블록 분류기에서는 4x4 픽셀 블록 정도로 실험되고 있다.When using this method, there is a problem in that a simple classification is performed according to the characteristics of the block data itself, rather than classifying the block to enable optimal KL conversion for image data compression. In addition, vector quantization is known to be unrealistic because of a large amount of calculation when the vector order is 16 or more, which means that it is difficult to apply when an 8x8 pixel block in which the size of a blocked sub-picture is generally used. In a recent block classifier, we are experimenting with 4x4 pixel blocks.

둘째는 동일한 입력 블록에 대하여 모든 KL 변환기가 동시에 변환을 수행하고, 변환기의 출력인 변환계수를 입력받아 각 변환기의 계수를 비교하여 가장 많은 영상에너지를 포함하고있는 변환계수를 출력하는 변환기의 출력을 입력 블록 데이터의 변환결과로 선택하는 것이다.Second, all KL converters convert the same input block at the same time, take the conversion coefficient which is the output of the converter, compare the coefficients of each converter, and output the conversion coefficient containing the most image energy. It is selected as the conversion result of the input block data.

이 방법은 모든 종류의 블록에 대하여 변환기가 변환을 해야되고, 부호화기를 설계하는 과정에서는 각각의 훈련용 데이터에 대하여 모든 변환기의 출력을 피드백하여 변환기를 새로운 데이터에 적응시키는 과정을 출력이 안정상태에 이를 때까지 반복해야되므로 설계가 복잡하고 시간이 많이 필요한 단점이 있다.This method requires the transformer to transform all kinds of blocks, and the process of designing the encoder feeds back the output of all transformers to each training data and adapts the transformer to the new data. This has to be repeated until it is complicated and time consuming.

세 번째 방법으로는 부호화기내에 각 변환기 출력을 다시 역변환하는 역변환기를 채용하여 복호화기에서 수행할 블록 복구를 부호화기내에서 먼저 수행하여 입력 블록 데이터와 복구된 블록 데이터를 비교하여 최소의 영상손실을 내는 변환기의 출력을 입력 블록 데이터의 변환결과로 선택하는 방법이다.The third method uses an inverse transformer that inversely transforms the output of each converter in the encoder, and performs the block recovery to be performed in the decoder first in the encoder to compare the input block data with the recovered block data and generate the minimum image loss. This method selects the output of the output as the conversion result of the input block data.

이 경우에는 부호화기내에 블록 복구를 위한 역변환기가 있어야 된다는 것과 모든 종류의 블록에 대한 변환과 역변환이 이루어 져야하며, 부호화기 설계시 각각의 훈련용 블록 데이터에 대하여 블록 클래스별 KL 변환을 모두 수행한다. 그 후 다시 역 KL 변환하여 오차가 최소화되는 KL 변환을 선택한 후, 선택된 KL 변환을 다시 새로 분류된 훈련용 블록 데이터에 적응시키는 과정을 전체 부호화기의 평균제곱오차가 수렴할 때까지 반복하게 되므로 압축기 설계과정이 복잡하면서 시간이 많이 소요되고 평균 제곱오차의 수렴성이 보장되지 않을 수도 있다는 문제점이 있다.In this case, there must be an inverse transformer for block recovery in the encoder, and all kinds of blocks must be transformed and inversely transformed. In the encoder design, the KL transform for each training block data is performed for each block class. After selecting the KL transform that minimizes the error by inverse KL transform again, the process of adapting the selected KL transform to the newly classified training block data is repeated until the mean square error of the entire encoder converges. The problem is that the process is complicated and time consuming and the convergence of the mean square error may not be guaranteed.

따라서, 본 발명은 최적 선형변환 부호화 방법인 KL 변환의 입력 블록 데이터 의존적 특성을 극복하기 위하여 여러 개의 변환기를 채용하는 일반적인 구조에서 입력 블록 데이터의 종류에 따른 최적 변환기의 설계와 입력 데이터를 변환할 변환기를 선택함에 있어서, 영상 데이터 부호화 성능을 최대로 하면서 설계가 용이하고, 설계시나 영상 데이터 부호화 시에 계산량도 적은 최적 부호화 방법을 발명하는데 그 목적이 있다.Accordingly, the present invention is to design an optimal converter according to the type of input block data and to convert the input data in a general structure employing a plurality of converters to overcome the input block data dependent characteristics of the KL transform, which is an optimal linear transform coding method. The purpose of the present invention is to invent an optimal encoding method which maximizes the image data encoding performance and makes the design easy, and has a small amount of calculation during design or encoding of image data.

상술한 목적을 달성하기 위한 본 발명인 분류화 최적 변환 영상 데이터 부호화를 위한 블록 분류 방법은 전체 훈련 블록 데이터에 대한 최적 변환기의 기저행렬을 구하여 KL 변환기를 구성하고, 상기 KL 변환기에 훈련 데이터를 입력한 후, 상기 KL 변환기에서 입력 블록 데이터를 변환하는 제 1 단계와, 상기 KL 변환기에서 출력되는 변환계수를 분석하여 분류 클래스가 최대 계수값 계수의 계수 순서상 위치로 결정하고, 입력 블록 데이터를 분류된 클래스의 데이터 그룹에 저장하는 제 2 단계와, 상기 모든 훈련 블록 데이터의 분류 완료 여부를 확인하여, 상기 확인 결과 완료되지 않았을 때 상기 제 1 단계로 회귀하는 제 3 단계와, 상기 확인 결과 완료되었을 때 훈련 데이터 그룹에 대한 최적 변환기의 기저행렬을 구하여 KL 변환기를 구성하는 제 4 단계와, 상기 모든 클래스의 훈련 블록 데이터 그룹에 대한 KL 변환기 구성 완료 여부를 확인하여, 상기 확인 결과 완료되지 않았을 때 상기 제 4 단계로 회귀하고, 상기 확인 결과 완료되었을 때 종료하는 제 5 단계를 포함하여 이루어진 것을 특징으로 한다.In order to achieve the above-described object, the present invention provides a block classification method for encoding optimal transformed image data, constructing a KL transformer by obtaining a base matrix of an optimal transformer for all training block data, and inputting training data to the KL transformer. Then, the first step of converting the input block data in the KL converter, and by analyzing the transform coefficient output from the KL converter, the classification class determines the position in the coefficient order of the maximum coefficient value coefficient, and classifies the input block data A second step of storing in the data group of the class, a third step of checking whether the classification of all the training block data is completed, and returning to the first step when the verification result is not completed, and when the verification result is completed A fourth step of constructing the KL transformer by obtaining the base matrix of the optimal transducer for the training data group; And a fifth step of checking whether the KL converter configuration of the training block data groups of all classes is completed, returning to the fourth step when the verification result is not completed, and ending when the verification result is completed. It features.

본 발명인 분류화 최적 변환 영상 데이터 부호화를 위한 부호화 방법은 블록 데이터를 KL 변환기 및 버퍼에 입력한 후, 상기 입력된 블록 데이터를 버퍼에 저장하고 블록 데이터 클래스를 분류하기 위한 KL 변환을 수행하는 제 1 단계와, 상기 KL 변환기에서 출력되는 변환계수를 분석하여 분류 클래스는 최대 계수값 계수의 계수 순서상의 위치로 결정하고 분류 결과에 따른 최적의 KL 변환기의 선택 변환기 코드를 출력하는 제 2 단계와, 상기 선택 변환기 코드를 디코딩하여 변환기를 지정하고 상기 버퍼에 저장되어 있던 블록 데이터를 출력하고 상기 선택 변환기 코드로 선택된 KL 변환기가 상기 버퍼에서 출력된 블록 데이터를 변환하는 제 3 단계와, 상기 블록 데이터의 변환계수를 양자화하고, 상기 선택 변환기 코드 및 양자화된 변환계수를 다중화하여 부호화된 데이터 열을 출력한 후 종료하는 제 4 단계를 포함하여 이루어진 것을 특징으로 한다.The encoding method for classifying optimal transformed image data encoding according to the present invention comprises: first inputting block data into a KL converter and a buffer, storing the input block data in a buffer, and performing a KL transform to classify a block data class And a second step of analyzing a transform coefficient output from the KL converter to determine a classification class as a position in the coefficient order of the maximum coefficient value coefficient and outputting a selection converter code of an optimal KL converter according to the classification result; A third step of decoding a selection converter code to designate a converter, outputting block data stored in the buffer, and converting the block data output from the buffer by a KL converter selected by the selection converter code; Quantize coefficients, multiplex the selection transformer code and the quantized transform coefficients And a fourth step of outputting the encoded data string and ending the same.

도 1은 본 발명의 구성 예를 나타내는 영상 데이터 부호화기의 블록도.BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a block diagram of a video data encoder showing a structural example of the present invention.

도 2는 본 발명에 따른 부호화기 설계과정의 흐름도.2 is a flowchart of an encoder design process according to the present invention;

도 3은 본 발명에 따른 영상 블록 데이터 부호화 과정의 흐름도.3 is a flowchart of a video block data encoding process according to the present invention;

〈도면의 주요 부분에 대한 부호 설명〉<Description of Signs of Major Parts of Drawings>

101 : KL 변환기 0 102 : KL 변환 계수 분석기101: KL converter 0 102: KL conversion coefficient analyzer

103 : 디코더 104 : 버퍼103: decoder 104: buffer

105 : KL 변환기 K(K=1,2,3,···,K)105: KL converter K (K = 1,2,3, ..., K)

106 : 양자화기 107 : 선택 변환기 코드106: Quantizer 107: Select Converter Code

108 : 다중화기108: multiplexer

본 발명은 영상 압축시의 KL 변환이 최적화 되면서 블록 분류를 위한 계산량이 적도록 하기 위하여 KL 변환과 계수분석을 결합한 블록 분류방법을 채용한다. 전체 훈련용 블록 데이터에 대한 최적의 KL 변환용 기저벡터를 구하여 각 훈련용 블록 데이터에 대한 KL 변환계수를 구한 다음, 변환된 계수의 에너지 분포 특성분석을 수행하여 KL 변환 시에 보다 적은 수의 계수에 에너지가 집중될 수 있는 블록들로 분류한다. 이와 같이 에너지 집중성이 향상된 분류 결과를 이용하여 각 블록 데이터 클래스별 최적 KL 변환용 기저벡터를 구하므로써 영상 데이터 압축에 부합되는 적응적 KL 변환들이 얻어질 수 있다. 영상 압축 시에는 입력 영상 블록 데이터의 KL 변환 계수에 대하여 설계시에 적용된 것과 동일한 계수 에너지 분포 특성분석을 적용하므로써 블록 데이터를 분류한다.The present invention employs a block classification method combining KL transform and coefficient analysis in order to optimize the KL transform during image compression and to reduce the amount of computation for block classification. Obtain the KL transform coefficients for each training block data by obtaining the optimal KL transform basis vector for the entire training block data, and then perform the energy distribution characterization of the transformed coefficients to perform fewer KL transform coefficients. Classify the blocks into which energy can be concentrated. Using the classification result with improved energy concentration, adaptive KL transforms that are suitable for image data compression can be obtained by obtaining a basis vector for optimal KL transform for each block data class. In image compression, the block data is classified by applying the same coefficient energy distribution characteristic analysis as applied at design time to the KL transform coefficients of the input image block data.

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

도 1은 본 발명의 구성 예를 나타내는 영상 데이터 부호화기의 블록도를 나타낸 것이다.Fig. 1 shows a block diagram of an image data encoder showing a structural example of the present invention.

영상 데이터 부호화기는 블록 데이터 분류를 위한 KL 변환기 0(101)과 KL 변환계수 분석기(102), 선택 변환기 코드(107)로부터 K개의 KL 변환기 중 1개를 선택하는 변환기 선택 신호를 만드는 디코더(103), 입력 블록 데이터의 일시 저장을 위한 버퍼(104), 블록 데이터 클래스별로 최적화된 k개의 KL 변환기(105), KL 변환기에서 출력되는 변환계수를 양자화하는 양자화기(106) 및 KL변환계수 분석기(102)에서 입력 블록 데이터의 변환을 담당할 변환기 선택을 위해 출력되는 선택 변환기 코드(107)와 양자화기의 출력을 다중화하여 채널을 통해 복호화기로 전달될 부호화된 출력을 만드는 다중화기(108)로 구성된다.The image data encoder is a decoder 103 for generating a converter selection signal for selecting one of the K KL converters from the KL converter 0 101, the KL transform coefficient analyzer 102, and the selection converter code 107 for block data classification. A buffer 104 for temporary storage of input block data, k KL transformers 105 optimized for each block data class, a quantizer 106 for quantizing the transform coefficients output from the KL converter, and a KL transform coefficient analyzer 102 ), And a multiplexer 108 which multiplexes the output of the quantizer and the output of the quantizer to produce a coded output to be transmitted to the decoder through a channel. .

KL 변환기 0(101)은 부호화기를 설계하기 위해 대표적인 영상들을 블록화 하여 만든 모든 훈련용 블록 데이터의 공분산행렬의 고유벡터들 중에서 고유치가 큰 값에 해당되는 고유벡터들로 변환을 위한 기저행렬을 만들며, 모든 훈련용 블록 데이터에 대하여 최적 변환을 수행한다.The KL converter 0 (101) creates a base matrix for converting into eigenvectors corresponding to a large eigenvalue among the eigenvectors of all covariance matrices of all training block data created by blocking representative images to design an encoder. Optimal transformation is performed on all training block data.

KL 변환계수 분석기(102)는 입력 블록 데이터의 변환계수의 에너지 분포특성을 분석하여 블록의 종류를 판단한다. 본 발명에서는 변환계수 중에서 가장 큰 값을 갖는 계수가 몇 번째 계수인가를 확인하여 최대값을 갖는 계수의 순서상의 위치에 따라 블록 데이터의 클래스를 판단한다. 즉, 첫 번째 계수의 값이 최대인 블록 데이터들은 클래스 1, 두 번째 계수의 값이 최대인 블록 데이터들은 클래스 2 등과 같이 분류한다. 동일한 위치의 계수값이 크다는 것은 블록 데이터가 동일한 단위벡터 성분을 많이 포함하고 있다는 점을 이용하여 이와 같이 분류하며, 분류된 결과는 선택 변환기 코드로 출력된다.The KL transform coefficient analyzer 102 analyzes the energy distribution characteristic of the transform coefficient of the input block data to determine the type of block. In the present invention, the number of coefficients having the largest value among the transform coefficients is checked to determine the class of block data according to the position of the order of the coefficient having the maximum value. That is, the block data having the maximum value of the first coefficient is classified as class 1, and the block data having the maximum value of the second coefficient is classified as class 2 or the like. The large coefficient values at the same position are classified in this way using the fact that the block data contains many identical unit vector components, and the classified results are output to the selection converter code.

디코더(103)는 다음 단계에 수행되는 KL 변환을 담당할 변환기를 선택하는 변환기 선택 신호를 만든다.The decoder 103 generates a converter selection signal for selecting a converter to be responsible for the KL conversion performed in the next step.

버퍼(104)는 KL 변환기 0(101)과 KL 변환계수 분석기(102)가 변환과 분석을 수행하는 동안 입력 블록 데이터를 보관하기 위한 저장소로서, 여러 개의 입력 블록 데이터를 연속하여 처리할 경우 블록 데이터 분류와 부호화를 위한 변환과정을 분리시켜 부호화에 필요한 처리시간을 단축하는 효과도 제공한다.The buffer 104 is a storage for holding input block data while the KL converter 0 101 and the KL transform coefficient analyzer 102 perform the conversion and analysis, and block data when processing multiple input block data in succession. It also provides the effect of reducing the processing time required for encoding by separating the conversion process for classification and encoding.

k개의 KL 변환기(105)는 각각의 클래스별 블록 데이터를 최적으로 변환할 수 있게 설계된 변환기들이다. 설계시에 분류된 종류별 훈련용 블록 데이터에서 동일 종류의 블록 데이터만으로 공분산행렬을 구하고, 그 공분산행렬의 고유벡터 중에서 고유치가 큰 고유벡터들로 변환을 위한 기저행렬을 만든다. 따라서 이 변환기들의 각 종류에 해당되는 블록 데이터에 대해서만 최적의 변환을 수행한다.The k KL converters 105 are converters designed to optimally convert block data for each class. The covariance matrix is obtained from the training block data for each type classified at the time of design, and the base matrix for transformation is made from the eigenvectors of the covariance matrix. Therefore, optimal conversion is performed only for block data corresponding to each type of these converters.

양자화기(106)는 KL 변환기에서 출력되는 변환계수들을 양자화하여 채널을 통해 전송될 데이터의 양을 줄인다.The quantizer 106 quantizes the transform coefficients output from the KL converter to reduce the amount of data to be transmitted through the channel.

다중화기(108)는 블록 분류의 결과라 할 수 있는 선택 변환기 코드와 양자화된 KL 변환계수를 다중화하여 채널을 통해 복호화기로 전달될 부호화된 출력을 만든다.The multiplexer 108 multiplexes the select converter code, which may be the result of block classification, and the quantized KL transform coefficients, to produce an encoded output to be delivered to the decoder over the channel.

선택 변환기 코드(107)는 복호화기에서 복호화를 담당할 변환기를 알려주기 위해 부호화된 출력 속에 다중화되어 포함된다.The selection converter code 107 is multiplexed into the encoded output to inform the decoder which decoder is to be responsible for decoding.

도 2는 본 발명에 따른 부호화기 설계과정의 흐름도를 나타낸 것이다.2 shows a flowchart of an encoder design process according to the present invention.

본 발명에 따른 부호화기 설계과정은 크게 전체 훈련용 블록 데이터를 이용한 블록 데이터 분류용 KL 변환기 구성, 훈련용 블록 데이터 분류과정, 그리고 분류된 각 종류별 훈련 블록 데이터 그룹을 이용한 종류별 KL 변환기 구성의 세단계로 구성된다.The encoder design process according to the present invention is largely divided into three stages: configuration of a KL converter for classifying block data using the entire training block data, classification of training block data, and configuration of a KL converter for each type using the classified training block data groups. It is composed.

전체 훈련용 블록 데이터를 이용한 블록 데이터 분류용 KL 변환기 구성과정은 전체 훈련용 블록 데이터의 공분산행렬을 구하고 이 공분산행렬의 고유벡터들 중에서 고유치가 큰 값에 해당되는 고유벡터들로 변환기의 기저행렬을 만드는 것이다(201).The process of constructing the KL transformer for classifying block data using the entire training block data consists of obtaining the covariance matrix of the entire training block data and converting the base matrix of the transformer into the eigenvectors corresponding to the eigenvalues among the eigenvectors of the covariance matrix. To make it (201).

신경망을 이용하여 구성할 경우, 신경망의 훈련에 모든 훈련용 블록 데이터를 사용하면 된다. 이와 같이 블록 데이터 분류용 KL 변환기가 만들어지면 이를 이용하여 모든 훈련용 블록 데이터를 분류한다. 분류과정은 훈련용 블록 데이터를 하나씩 입력시켜 모든 훈련용 블록 데이터의 분류가 끝날 때까지 반복 수행된다(202). 먼저 하나의 훈련용 블록 데이터를 입력하여 블록 데이터 분류용 KL 변환기로 변환한다(203). 이 변환의 결과로 변환기 구성시에 사용된 공분산행렬의 고유벡터 수만큼의 변환계수를 얻게 되는데, 각 변환계수값은 입력 블록 데이터 내에 포함된 각 고유벡터 성분의 크기를 의미한다. 따라서 큰 계수값에 해당되는 고유벡터가 블록 데이터의 주성분이며, 블록의 특성에 가장 큰 영향을 미친다고 볼 수 있다. 블록의 분류는 이런 변환계수의 특성을 이용하여 이루어진다. 고유벡터의 수만큼 얻어진 변환계수 중에서 가장 큰 값을 갖는 변환계수가 같은 블록 데이터를 동일한 클래스로 분류한다(204). 따라서 블록 데이터의 클래스는 최대 계수값이 변환계수 중에서 몇 번째인가를 의미한다. 이와 같이 블록이 분류되면 각 종류별 블록 데이터 그룹의 목록에 입력 블록 데이터를 추가한다(205). 동일한 과정으로 모든 훈련용 블록 데이터의 분류가 완료되면 각 종류별 훈련용 블록 데이터 그룹의 목록을 얻을 수 있다(206).In case of using neural network, all training block data can be used for neural network training. When the KL converter for classifying block data is created as described above, all the training block data are classified using the same. The classification process is performed by inputting the training block data one by one until the classification of all the training block data is completed (202). First, one training block data is input and converted into a block data classification KL converter (203). As a result of this transformation, the transform coefficients are obtained as many as the eigenvectors of the covariance matrix used in constructing the transformer. Each transform coefficient value represents the size of each eigenvector component included in the input block data. Therefore, the eigenvector corresponding to the large coefficient value is the main component of the block data, and it can be said that it has the greatest influence on the characteristics of the block. The classification of blocks is made using the characteristics of these transform coefficients. Block data having the same transform coefficient having the largest value among the transform coefficients obtained by the number of eigenvectors are classified into the same class (204). Therefore, the class of block data means the number of times the maximum coefficient value of the transform coefficient. When the block is classified as described above, input block data is added to the list of block data groups of each type (205). When the classification of all training block data is completed by the same process, a list of training block data groups for each type may be obtained (206).

클래스별 KL 변환기 구성단계에서는 블록 데이터 분류과정에서 얻어진 각 클래스별 훈련용 블록 데이터 그룹을 이용하여 클래스별로 KL 변환기를 구성한다(207). 동일한 그룹에 속해있는 블록 데이터들의 공분산행렬을 구하고, 이 공분산행렬의 고유벡터들중에서 고유치가 큰 값에 해당되는 고유벡터들로 변환기의 기저행렬을 만드는 것이다. 신경망을 이용할 경우, 동일한 그룹에 속해있는 블록 데이터만을 신경망 훈련에 사용하게 된다. 모든 종류의 그룹에 대하여 KL 변환기가 구성되면 부호화기의 설계과정이 완료된다(208).In the step of configuring a KL converter for each class, a KL converter is configured for each class using the training block data group for each class obtained in the block data classification process (207). The covariance matrix of the block data belonging to the same group is obtained, and the base matrix of the transformer is made from the eigenvectors of the eigenvectors of the covariance matrix. When using a neural network, only block data belonging to the same group is used for neural network training. When the KL converter is configured for all kinds of groups, the design process of the encoder is completed (208).

도 3은 본 발명에 따른 영상 블록 데이터 부호화 과정의 흐름도를 나타낸 것다.3 is a flowchart of a video block data encoding process according to the present invention.

블록 데이터가 블록 데이터 분류용 KL 변환기(101)와 버퍼(104)에 입력되면(301), 버퍼(104)에서는 입력 블록 데이터를 일시 저장하고, KL 변환기(101)는 입력 블록 데이터의 KL 변환을 수행한다(302). 입력 블록 데이터의 변환 결과인 KL 변환계수들은 KL 변환계수 분석기(102)에 입력되어 부호화기 설계과정에서 사용된 블록 데이터 분류방법과 동일한 방법으로 분류된다(303). 즉, 최대 계수값의 위치에 따라 분류되는 것이다. 분류의 결과는 입력 블록 데이터의 부호화를 위한 KL 변환을 담당할 변환기(105)를 지정하는 선택 변환기 코드(107)로 출력된다(304). 선택 변환기 코드(107)는 블록의 종류를 알려주는 정보가 되며, 다음 단계에서 KL 변환계수들과 함께 다중화되어 복호화기로 전달된다. 선택 변환기 코드(107)는 디코더(103)를 거쳐 변환기 선택 신호가 되어 입력 블록 데이터를 변환할 KL 변환기(105)를 지정한다(305). 변환기가 결정되면 버퍼(104)에 저장되어 있던 입력 블록 데이터를 지정된 KL 변환기에 입력시켜 변환한다(306 및 307). 변환결과로 출력되는 KL 변환계수를 양자화하고(308) 선택 변환기 코드와 양자화된 계수를 다중화하여 최종적인 부호화된 데이터 열을 만든다(309).When block data is input to the block data classification KL converter 101 and the buffer 104 (301), the buffer 104 temporarily stores the input block data, and the KL converter 101 performs a KL conversion of the input block data. Perform 302. The KL transform coefficients, which are the result of transforming the input block data, are input to the KL transform coefficient analyzer 102 and classified in the same manner as the block data classification method used in the encoder design process (303). That is, it is classified according to the position of the maximum count value. The result of the classification is output (304) to the selection transformer code 107 which designates a transformer 105 to be responsible for KL transformation for encoding of input block data. The selection converter code 107 becomes information indicating the type of the block, and in the next step, the selection converter code 107 is multiplexed with the KL transform coefficients and transmitted to the decoder. The selection converter code 107, via the decoder 103, becomes a converter selection signal to designate a KL converter 105 to convert the input block data (305). When the converter is determined, the input block data stored in the buffer 104 is inputted to the designated KL converter for conversion (306 and 307). The KL transform coefficients output as the result of the transformation are quantized (308), and the final coded data string is generated by multiplexing the selected transformer code and the quantized coefficients (309).

상술한 바와 같이 본 발명에 의한 블록 분류 최적 변환부호화 방법은 높은 압축률과 복구화면의 화질을 보장하면서 빠른 설계 및 부호화가 가능하므로 의료영상의 압축/복원이 필요한 PACS와 같은 시스템에서 효과적으로 활용할 수 있다. 또한 종래의 손실압축보다 높은 압축률과 복구화면의 화질을 요구하는 일반적인 영상의 압축/복원에도 탁월한 효과가 있다.As described above, the block classification optimal transform encoding method according to the present invention can be efficiently used in a system such as a PACS that needs to compress / restore a medical image because fast design and encoding are possible while ensuring high compression ratio and quality of a restored picture. In addition, there is an excellent effect in the compression / restoration of the general image that requires a higher compression ratio and the quality of the restored picture than the conventional lossy compression.

Claims (2)

전체 훈련 블록 데이터에 대한 최적 변환기의 기저행렬을 구하여 KL 변환기를 구성하고, 상기 KL 변환기에 훈련 데이터를 입력한 후, 상기 KL 변환기에서 입력 블록 데이터를 변환하는 제 1 단계와,A first step of constructing a KL converter by obtaining a base matrix of an optimal converter for all training block data, inputting training data into the KL converter, and then converting input block data in the KL converter; 상기 KL 변환기에서 출력되는 변환계수를 분석하여 분류 클래스가 최대 계수값 계수의 계수 순서상 위치로 결정하고, 입력 블록 데이터를 분류된 클래스의 데이터 그룹에 저장하는 제 2 단계와,A second step of analyzing a transform coefficient output from the KL converter to determine a classification class as a position in a coefficient order of the maximum coefficient value coefficient, and storing the input block data in a data group of the classified class; 상기 모든 훈련 블록 데이터의 분류 완료 여부를 확인하여, 상기 확인 결과 완료되지 않았을 때 상기 제 1 단계로 회귀하는 제 3 단계와,A third step of checking whether the classification of all the training block data is completed, and returning to the first step when the verification result is not completed; 상기 확인 결과 완료되었을 때 훈련 데이터 그룹에 대한 최적 변환기의 기저행렬을 구하여 KL 변환기를 구성하는 제 4 단계와,A fourth step of constructing a KL transformer by obtaining a base matrix of an optimal transducer for a training data group when the verification result is completed; 상기 모든 클래스의 훈련 블록 데이터 그룹에 대한 KL 변환기 구성 완료 여부를 확인하여, 상기 확인 결과 완료되지 않았을 때 상기 제 4 단계로 회귀하고, 상기 확인 결과 완료되었을 때 종료하는 제 5 단계를 포함하여 이루어진 것을 특징으로 하는 분류화 최적 변환 영상 데이터 부호화를 위한 블록 분류 방법.And a fifth step of checking whether the KL converter configuration of the training block data groups of all classes is completed, returning to the fourth step when the verification result is not completed, and ending when the verification result is completed. A block classification method for classifying optimal transformed image data encoding. 블록 데이터를 KL 변환기 및 버퍼에 입력한 후, 상기 입력된 블록 데이터를 버퍼에 저장하고 블록 데이터 클래스를 분류하기 위한 KL 변환을 수행하는 제 1 단계와,A first step of inputting block data to a KL converter and a buffer, and then performing KL transform to store the input block data in a buffer and classify a block data class; 상기 KL 변환기에서 출력되는 변환계수를 분석하여 분류 클래스는 최대 계수값 계수의 계수 순서상의 위치로 결정하고 분류 결과에 따른 최적의 KL 변환기의 선택 변환기 코드를 출력하는 제 2 단계와,A second step of analyzing the transform coefficients output from the KL converter and determining a classification class as a position in the coefficient order of the maximum coefficient value coefficients and outputting a selection converter code of an optimal KL converter according to the classification result; 상기 선택 변환기 코드를 디코딩하여 변환기를 지정하고 상기 버퍼에 저장되어 있던 블록 데이터를 출력하고 상기 선택 변환기 코드로 선택된 KL 변환기가 상기 버퍼에서 출력된 블록 데이터를 변환하는 제 3 단계와,A third step of decoding the selection converter code to specify a converter, outputting block data stored in the buffer, and converting the block data output from the buffer by a KL converter selected by the selection converter code; 상기 블록 데이터의 변환계수를 양자화하고, 상기 선택 변환기 코드 및 양자화된 변환계수를 다중화하여 부호화된 데이터 열을 출력한 후 종료하는 제 4 단계를 포함하여 이루어진 것을 특징으로 하는 분류화 최적 변환 영상 데이터 부호화를 위한 부호화 방법.And a fourth step of quantizing the transform coefficients of the block data, multiplexing the selection converter code and the quantized transform coefficients, and outputting an encoded data string and ending the same. Encoding method for the.
KR1019970071088A 1997-12-19 1997-12-19 An image block classification and coding method for image data compression using optimal transform KR100268171B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970071088A KR100268171B1 (en) 1997-12-19 1997-12-19 An image block classification and coding method for image data compression using optimal transform

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970071088A KR100268171B1 (en) 1997-12-19 1997-12-19 An image block classification and coding method for image data compression using optimal transform

Publications (2)

Publication Number Publication Date
KR19990051720A KR19990051720A (en) 1999-07-05
KR100268171B1 true KR100268171B1 (en) 2000-10-16

Family

ID=19527942

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970071088A KR100268171B1 (en) 1997-12-19 1997-12-19 An image block classification and coding method for image data compression using optimal transform

Country Status (1)

Country Link
KR (1) KR100268171B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019107881A1 (en) * 2017-11-28 2019-06-06 한국전자통신연구원 Method and apparatus for processing images using image transform neural network and image inverse-transforming neural network

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019107881A1 (en) * 2017-11-28 2019-06-06 한국전자통신연구원 Method and apparatus for processing images using image transform neural network and image inverse-transforming neural network

Also Published As

Publication number Publication date
KR19990051720A (en) 1999-07-05

Similar Documents

Publication Publication Date Title
TWI431948B (en) Efficient coding and decoding of transform blocks
JP3195966B2 (en) Method and apparatus for coding data using both vector quantization and run-length coding and further using adaptive run-length coding
JP3237096B2 (en) Adaptive zone coder
US7454071B2 (en) System and method for using pattern vectors for video and image coding and decoding
RU2194361C2 (en) Method and device for coding/decoding digital data on audio/video signals
JP3868014B2 (en) Video signal encoding method and apparatus
US6198412B1 (en) Method and apparatus for reduced complexity entropy coding
US5719961A (en) Adaptive technique for encoder and decoder signal transformation
KR100529311B1 (en) Apparatus and method for selecting the length of variable length coding bit stream using neural network
CN110930408B (en) Semantic image compression method based on knowledge reorganization
CN1327713C (en) Context-sensitive encoding and decoding of a video data stream
KR20080085831A (en) Method and apparatus for signal processing and encoding and decoding method, and apparatus therefor
Aizawa et al. Adaptive discrete cosine transform coding with vector quantization for color images
JPH09200777A (en) Method and device for encoding video signal
KR100248072B1 (en) Image compression/decompression method and apparatus using neural networks
KR100268171B1 (en) An image block classification and coding method for image data compression using optimal transform
JPH06225153A (en) Picture coder
KR100338801B1 (en) digital data encoder/decoder method and apparatus
JP2002223455A (en) Image coding method and device, and image decoding method and device
JPH0380713A (en) Signal transmission equipment
Markas et al. Image compression methods with distortion controlled capabilities
JPH08316846A (en) Image coder, image decoder, image coding method and image decoding method
KR100204468B1 (en) An image encoder and decoder
Liang et al. Comparison between adaptive search and bit allocation algorithms for image compression using vector quantization
JP2002209112A (en) Adaptive still image encoder

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

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee