KR0148148B1 - Variable length coding method of image signal using variable length coding table - Google Patents
Variable length coding method of image signal using variable length coding tableInfo
- Publication number
- KR0148148B1 KR0148148B1 KR1019940003786A KR19940003786A KR0148148B1 KR 0148148 B1 KR0148148 B1 KR 0148148B1 KR 1019940003786 A KR1019940003786 A KR 1019940003786A KR 19940003786 A KR19940003786 A KR 19940003786A KR 0148148 B1 KR0148148 B1 KR 0148148B1
- Authority
- KR
- South Korea
- Prior art keywords
- region
- variable length
- image data
- run
- length encoding
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/48—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/59—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
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
본 발명은 가변장부호화 방법에 관한 것이다. 보다 상세히 설명하면 영상데이타의 발생빈도에 따라 데이타발생빈도가 높은 영역과 낮은 영역으로 구분하고, 데이타발생빈도가 낮은 영역을 다시 다수의 영역으로 구분하여 부호화모드의 특성에 맞추어 작성되는 각각의 부호화테이블을 개선하여 영상데이타의 부호화효율을 높일 수 있는 가변장부호화테이블 및 가변장부호화 방법에 관한 것이다. 즉, 영상데이타 발생빈도가 낮은 영역을 나타내기 위하여 부호화모드와 구분된 영역에 상관없이 동일부호어를 사용하고 각 영역을 구분하기 위한 부호어를 별도로 사용한 부호화테이블을 사용함으로써 영상데이타의 최대발생비트수를 줄이고 부호화효율을 높일 수 있는 효과를 얻을 수 있다.The present invention relates to a variable length encoding method. In detail, each encoding table is prepared according to the characteristics of the encoding mode by dividing the region with a high data occurrence frequency and a low region according to the frequency of image data, and dividing the region with a low data occurrence frequency into a plurality of regions. The present invention relates to a variable length encoding table and a variable length encoding method capable of improving encoding efficiency of image data. That is, the maximum generation bit of image data is obtained by using an encoding table using the same codeword and separately using a codeword to distinguish each region regardless of the region separated from the encoding mode in order to indicate the region with low frequency of image data generation. The effect of reducing the number and increasing the coding efficiency can be obtained.
Description
제1도는 일반적인 가변장부호화테이블의 예시도.1 is an exemplary diagram of a general variable length encoding table.
제2도는 인트라모드시의 개선된 가변장부호화테이블의 개념도.2 is a conceptual diagram of an improved variable length encoding table in intra mode.
제3도는 인터모드시의 개선된 가변장부호화테이블의 개념도.3 is a conceptual diagram of an improved variable length encoding table in inter mode.
제4도는 본 발명에 의한 인트라모드시의 가변장부호화테이블의 개념도.4 is a conceptual diagram of a variable length coding table in intra mode according to the present invention.
제5도는 본 발명에 의한 인터모드시의 가변장부호화테이블의 개념도.5 is a conceptual diagram of a variable length encoding table in inter mode according to the present invention.
제6도는 본 발명에 의한 가변장부호화테이블을 구비한 가변장부호화장치의 주요부 구성도.6 is a block diagram of an essential part of a variable length coding apparatus having a variable length coding table according to the present invention.
* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings
4 : 양자화부 5 : 제 1가변장부호화부4: quantization unit 5: first variable length encoding unit
6 : 제 2가변장부호화부 7 : 부호화모드제어부6: second variable length coding unit 7: coding mode control unit
8 : 가변장부호화선택부 9 : 버퍼8: variable length encoding selector 9: buffer
본발명은 가변장부호화테이블 및 이를 이용한 디지탈 영상신호의 가변장부호화 방법에 관한 것으로, 특히 인트라모드(Intra mode)와 인터모드(Inter mode)시 사용되는 가변장부호화테이블을 개선하여 영상신호의 가변장부호화 효율을 높이는 가변장부호화테이블 및 영상신호의 가변장부호화방법에 관한 것이다.The present invention relates to a variable length encoding table and a variable length encoding method of a digital video signal using the same. In particular, the variable length encoding table used in the intra mode and the inter mode is improved to improve the variation of the video signal. The present invention relates to a variable length encoding table for increasing long encoding efficiency and a variable length encoding method of an image signal.
최근들어 영상신호를 디지탈데이타로 부호화하여 처리하는 방식이 보편화되었다. 영상신호를 디지탈데이타로 부호화하는 경우 그 데이터량이 상당히 많다. 따라서, 디지탈영상신호에 포함되어 있는 용장성데이타(Redundancy Data)를 제거하여 전체데이타량을 감소시키기 위해 다양한 방법들이 사용된다. 그 방법들중에 그 데이터의 발생빈도에 따라 부호어길이를 가변하는 가변장부호화 방법이 많이 사용된다. 가변장부호화 방법에는 흐프만(Huffman)방식, 아리스메틱(Arithmetec)방식등이 있다. 이 부호화방식들중 흐프만방식이 널리 사용되고 있다. 흐프만부호화방식은 발생확률이 높은 영상신호에는 짧은 부호어를 할당하고 발생확률이 낮은 영상신호에는 긴 부호어를 할당하여 전체영상데이타량을 줄이는 부호화방식이다.Recently, a method of encoding and processing a video signal by digital data has become popular. When video signals are encoded by digital data, the amount of data is quite large. Therefore, various methods are used to reduce the amount of total data by removing redundancy data included in the digital video signal. Among the methods, a variable length encoding method that varies the codeword length according to the frequency of occurrence of the data is frequently used. Variable length coding methods include Huffman and Arithmetec. Of these coding methods, the Huffman method is widely used. The Huffman coding method is a coding method for reducing the total image data amount by allocating a short codeword to a video signal having a high probability of occurrence and a long codeword to a video signal having a low probability of occurrence.
일반적인 영상신호의 부호화방법에 있어서 입력영상데이타가 주파수영역의 신호로 변환된 후 양자화되면 그 양자화된 계수들의 대부분이 0인 경우가 많다. 따라서, 영상데이타량을 줄이기 위하여 양자화된 계수들에 대하여 지그재그스캔(Zig-Zag Scan)등의 방법으로 재배열 후 런/레벨(Run/Level)부호화를 한다. 여기서 런(Run)은 0이 아닌 계수간에 나타난 0의 개수이고, 레벨(Level)은 0이 아닌 계수의 절대값이다. 이러한 러/레벨 부호화된 양자화계수들은 (런, 레벨)의 쌍들로 표시된다. 서로 다른 (런, 레벨)의 쌍들이 나타날 모든 경우의 수는 부호화단위인 블록의 크기와 양자화출력값이 -255~255의 정수값으로 나타난다고 가정하면 서로 다른 (런,레벨)의 쌍들이 나타날 모든 경우의 수는 32,640개이다. 이때, 레벨은 1~255의 값을 취하고 그 음,양의 구별은 별도의 사인비트(Sign Bit)로 표시할 수 있으므로 16,320개의 (런,레벨)의 쌍들로 모든 경우의 수를 나타낼 수 있다. 하지만, 16,320개의 (런,레벨)쌍들을 모두 고려하여 흐프만부호화방식의 알고리즘(Algorithm)에 따라 부호화테이블을 작성할려면 매우 세심한 설계가 필요하다. 그러므로, 종래의 가변장부호화테이블에서는 하드웨어(Hardware)의 단순화를 위하여 가변장부호화테이블의 영역을 데이터발생빈도에 따라 2개의 영역으로 구분하는 방법을 사용하였다. 즉, 가변장부호화테이블을 데이터의 발생빈도가 매우 높은 레귤러(Regular)영역과 그 이외의 에스케이프(Escape)영역으로 구분하고 각 영역에 따라 부호어할당방식을 다르게 적용시켰다.In a general video signal coding method, when the input video data is converted into a signal in the frequency domain and then quantized, most of the quantized coefficients are often zero. Therefore, in order to reduce the amount of image data, run / level encoding is performed after rearranging the quantized coefficients by a method such as a zigzag scan. Run is the number of zeros between nonzero coefficients, and Level is the absolute value of nonzero coefficients. These lu / level coded quantization coefficients are represented by pairs of (run, level). The number of all cases where different (run, level) pairs appear is the size of the block, the coding unit, and the quantization output value is an integer value from -255 to 255. The number of cases is 32,640. At this time, the level takes a value of 1 ~ 255, and the positive and positive distinctions can be represented by a separate sign bit, so that the number of all cases can be represented by 16,320 pairs of (run, level). However, considering all 16,320 (run, level) pairs, a very careful design is required to create an encoding table according to the Huffman coding algorithm. Therefore, in the conventional variable length encoding table, a method of dividing the area of the variable length encoding table into two regions according to the frequency of data generation is used to simplify the hardware. That is, the variable length encoding table is divided into a regular region having a very high frequency of data generation and another escape region, and a codeword allocation scheme is applied differently according to each region.
제1도는 일반적인 부호화테이블의 예시도이다. 도시된 바와같이 세로축은 0~63의 런을 표시하였고 가로축은 1~255의 레벨을 표시하였다. 부호화테이블 내부에 표시된 숫자는 해당(런,레벨)쌍의 부호어 비트수를 표시한 것이다. 이 부호화테이블은 레귤러영역과 에스케이프영역으로 구분되어 있다. 레귤러영역은 데이터의 발생빈도가 높은 영역이고 에스케이프영역은 데이터의 발생빈도가 극히 미약한 영역이다. 에스케이프영역의 데이터가 발생할 확률은 보통 5~6%미만이다. 레귤러영역에는 흐프만부호화방식 알고리즘에 따라 부호어길이가 할당된다. 에스케이프영역에는 부호화/복호화시 하드웨어의 복잡도를 피하기 위하여 고정길이의 부호어가 할당된다. 예를 들어, 에스케이프부호 6비트, 0~63의 런을 표시하기 위한 6비트, 1~255의 레벨을 표시하기 위한 8비트, 음양을 표시하기 위한 1비트의 총 21비트로 구성된 고정길이의 부호어가 에스케이프영역에 할당된다.1 is an exemplary diagram of a general encoding table. As shown, the vertical axis indicated runs of 0-63 and the horizontal axis indicated levels of 1-255. The number displayed in the encoding table represents the number of codeword bits of the corresponding (run, level) pair. This encoding table is divided into a regular region and an escape region. The regular region is a region where data generation frequency is high, and the escape region is a region where data generation frequency is extremely low. The probability of occurrence of data in an escape area is usually less than 5-6%. The codeword length is assigned to the regular domain according to the Huffman coding scheme algorithm. In the escape region, a fixed length codeword is assigned to avoid hardware complexity in encoding / decoding. For example, a fixed-length code consisting of a total of 21 bits of 6 bits of escape code, 6 bits to indicate a run of 0 to 63, 8 bits to indicate a level of 1 to 255, and 1 bit to indicate a yin and yang. The word is assigned to the escape area.
이와같은 부호화테이블이 인트라모드와 인터모드에 상관없이 공통으로 사용되어왔다. 하지만 인트라모드의 경우와 인터모드의 경우 (런, 레벨)쌍의 발생빈도는 서로 상반된 경향을 보인다. 인트라모드는 하나의 화면데이타 전체를 변환부호화하는 경우를 말한다. 인트라모드시 에스케이프영역에서는 런이 0이고 레벨값을 갖는 (런, 레벨)쌍이 많이 발생된다. 그이외의 경우는 극히 미약한 발생빈도를 갖는다. 인터모드는 화면데이타간의 차이 값만을 변환부호화하는 경우를 말한다. 인터모드시, 에스케이프영역에서는 레벨이 1이고 런값을 갖는 (런, 레벨)쌍이 많이 발생된다. 그 이외의 경우는 극히 미약한 발생빈도를 갖는다. 그러므로, 인트라모드와 인터모드에 상관없이 위와같은 하나의 부호화테이블만 사용할 경우 각 모드에 따른 특성을 고려할 수 없어 비효율적이다.Such coding tables have been commonly used regardless of the intra mode and the inter mode. However, the frequency of occurrence of (run, level) pairs in the intra mode and the inter mode tends to be opposite. Intra mode refers to a case of converting and encoding an entire screen data. In intra mode, a large number of (run, level) pairs are generated in the escape region having a run and a level value. In other cases, the occurrence frequency is extremely low. The inter mode refers to a case of converting and encoding only a difference value between screen data. In the inter mode, many (run, level) pairs are generated in the escape area having a level of 1 and a run value. Otherwise, the occurrence frequency is extremely low. Therefore, when only one encoding table is used regardless of the intra mode and the inter mode, the characteristics of each mode cannot be considered, which is inefficient.
이와같은 문제점을 해결하고자 인트라모드와 인터모드에 따라 각기 다른 부호화테이블을 사용하고, 각 부호화테이블을 (런, 레벨)의 발생빈도에 따라 몇 개의 영역으로 구분하여 부호길이를 할당하는 개선된 방식이 동일출원인에 의해 선출원된 특허출원 제 92-8361호에 전안되어 있다.In order to solve this problem, an improved method of assigning code lengths by using different encoding tables according to intra mode and inter mode, and dividing each encoding table into several areas according to the frequency of occurrences of (run and level) Published in Patent Application No. 92-8361 filed by the same applicant.
제2(a)도는 인트라모드시의 개선된 가변장부호화테이블의 개략도이다. 위에서 설명한 바와같이 인트라모드시에는 런이 0이고 레벨값을 갖는 (런, 레벨)쌍이 많이 발생된다. 이에 따라, 부호화테이블을 런/레벨이 0/1~15/16인 영역내에서 데이터발생확률이 지극히 높은 레귤러영역을 제1영역(I), 에스케이프영역중 런이 0이고 레벨값을 갖는 영역을 제2영역(II), 런/레벨이 0/1~15/16인 영역내에서 제1영역(I)에서 제외된 영역을 제3영역(III)으로 구분했었다. 제2,3영역에 포함되지 않은 에스케이프영역에서의 (런, 레벨)쌍은 발생확률이 극히 미약하여 화질에 영향을 거의 미치지 않는다. 따라서, 제 2,3영역에 포함되지 않은 에스케이프영역에 해당되는(런, 레벨)쌍은 데이터로 인정하지 않아도 된다. 여기서, 레귤러영역인 제1영역은 데이터의 발생빈도에 따라 부호길이를 할당하고, 제 2,3영역은 하드웨어의복잡도를 낮추기 위하여 제2(b),(c)도에 도시된 바와같은 형태의 고정된 데이터형식을 갖도록 했었다. 제2(b)도는 제2영역(II)의 데이터 형식이다. 에스케이프코드 ESC1은 4비트, 런은 0이기 때문에 표현이 불필요하며, 레벨은 17~255까지이기 때문에 8비트, 부호는 1비트로 할당했었다. 즉, 제2영역(II)은 총 13비트의 길이를 갖게 했었다.2 (a) is a schematic diagram of an improved variable length coding table in the intra mode. As described above, in intra mode, many (run, level) pairs are generated in which a run is 0 and a level value. Accordingly, the regular region having the highest probability of data generation in the region where the run / level is 0/1 to 15/16 of the encoding table is the first region I and the region having the run value and the level value among the escape regions. The area excluded from the first area (I) in the second area (II) and the run / level of 0/1 to 15/16 was divided into the third area (III). The (run, level) pairs in the escape region not included in the second and third regions have a very low probability of occurrence, and thus have little effect on the image quality. Therefore, the pairs (run and level) corresponding to the escape area not included in the second and third areas may not be recognized as data. Here, the first region, which is a regular region, allocates code lengths according to the frequency of data generation, and the second and third regions, as shown in FIGS. 2 (b) and (c), to reduce the complexity of hardware. We had a fixed data format. FIG. 2 (b) shows the data format of the second region II. Since the escape code ESC1 is 4 bits and the run is 0, no representation is necessary. Since the level is 17 to 255, 8 bits and a sign were assigned as 1 bit. That is, the second area II had a total length of 13 bits.
제2(c)도는 제3영역(III)의 데이터형식이다. 에스케이프코드 ESC2는 10비트, 런은 0~15까지이기 때문에 4비트로 하여도 무관하나 길이의 최대변화에 맞추어 6비트로 할당했었다. 레벨은 1~16까지이므로 5비트만으로도 충분하나 레벨의 최대변화에 맞추어 8비트, 부호는 1비트로 할당했었다. 즉, 제3영역(III)은 총 25비트의 길이를 갖게 했었다.FIG. 2C shows the data format of the third region III. Escape code ESC2 is 10 bits and run is 0 ~ 15, so it can be 4 bits, but it has been allocated to 6 bits according to the maximum change in length. Since the level is from 1 to 16, 5 bits are enough, but 8 bits and 1 bit are allocated to the maximum change of the level. That is, the third region III has a total length of 25 bits.
제3(a)도는 인터모드시의 개선된 가변장부호화테이블의 개략도이다. 위에서 설명한 바와같이 인터모드시에는 레벨이 1이고 런값을 갖는 (런, 레벨)쌍이 많이 발생된다. 이에 따라 부호화테이블을 런/레벨이 0/1~15/16인 영역내에서 데이터발생확률이 지극히 높은 레귤러영역을 제1영역(I), 에스케이프영역중 레벨이 1이고 런값을 갖는 영역을 제2영역(II), 런/레벨이 0/1~15/16인 영역내에서 제1영역(I)에서 제외된 영역을 제3영역(III)으로 구분했었다. 에스케이프영역중 제 2,3영역에 포함되지 않은 영역은 인트라모드시의 경우와 마찬가지의 이유로 이를 무시하여도 된다. 여기서, 레귤러 영역인 제1영역은 데이터의 발생빈도에 따라 부호길이를 할당하고, 제 2,3영역은 하드웨어의 복잡도를 낮추기 위하여 제3(b),(c)도에 도시된 바와같은 형태의 고정된 데이터형식을 갖도록 했었다. 제3(b)도는 제2영역(II)의 데이터형식이다. 에스케이프코드 ESC1은 5비트, 런은 6비트, 레벨은 항상 1이므로 표현하지 않아도 되지만 레벨값에 맞추어 1비트, 부호는 1비트로 할당했었다. 즉, 제2영역(II)은 총 13비트의 길이를 갖게 했었다.3 (a) is a schematic diagram of an improved variable length encoding table in inter mode. As described above, in the inter mode, many (run, level) pairs having a level of 1 and a run value are generated. As a result, in the encoding table, a regular region having a very high probability of generating data in a region having a run / level of 0/1 to 15/16 is defined as a first region I and an region having a run value having a level of 1 among the escape regions. The region excluded from the first region (I) in the second region (II) and the run / level of 0/1 to 15/16 was divided into the third region (III). Areas not included in the second and third areas of the escape area may be ignored for the same reason as in the case of the intra mode. Here, the first region, which is a regular region, allocates code lengths according to the frequency of occurrence of data, and the second and third regions, as shown in FIGS. 3 (b) and (c), in order to reduce the complexity of hardware. We had a fixed data format. FIG. 3 (b) shows the data format of the second region II. The escape code ESC1 is 5 bits, run is 6 bits, and the level is always 1, so it is not necessary to express it. However, 1 bit and sign are assigned according to the level value. That is, the second area II had a total length of 13 bits.
제3(c)도는 제3영역(III)의 데이터형식이다. 에스케이프코드 ESC2는 17비트, 런은 6비트, 레벨은 8비트, 부호는 1비트로 할당했었다. 즉, 제3영역(III)은 총 32비트의 길이를 갖게 했었다.3C shows the data format of the third region III. The escape code ESC2 was assigned 17 bits, run 6 bits, level 8 bits, and sign 1 bit. In other words, the third region III had a total length of 32 bits.
제2도와 제3도를 통하여 상술한 바와같은 가변장부호화테이블에서는 인트라모드와 인터모드, 레귤러영역과 에스케이프영역, 에스케이프영역에서의 I,II영역을 구분하기 위하여 각각 다른 길이의 부호어를 사용하였다. 즉, 인트라모드의 경우 II영역에는 4비트, III영역에는 10비트를 각각 할당하고 인터모드의 경우 II영역에는 5비트, III영역에는 17비트를 각각 할당하여 각 영역을 구분하였다.In the variable length encoding table described above with reference to FIGS. 2 and 3, codewords having different lengths are used to distinguish between intra mode, inter mode, regular region and escape region, and I and II regions in escape region. Used. That is, in the intra mode, 4 bits are allocated to the II area and 10 bits to the III area, and 5 bits are allocated to the II area and 17 bits to the III area, respectively.
다시 설명하면, 부호화테이블의 II,III영역에서는 그 영역의 (런, 레벨)쌍의 평균발생확률에 대하여 흐프만부호화 알고리즘에 따라 그 영역에 고정길이부호어를 할당하였다. 그 고정길이부호에서 런, 레벨, 부호를 표시하기 위한 비트수를 뺀 나머지 비트수로 각 영역을 구분하기 위하여 사용하였다. 예를들어, 인터모드시 III영역에서의 데이터발생확률이 1%라면 그 영역의 각각의 (런, 레벨)쌍에 대한 평균발생확률은 1%의 발생확률을 III영역의 모든 (런, 레벨)쌍의 개수로 나눈 값이다. 이 평균발생확률값에 대하여 흐프만부호화 알고리즘에 따라 구한 III영역의 부호길이가 32비트이다. 여기서 런을 표시하기 위한 6비트, 레벨을 표시하기 위한 8비트, 부호를 표시하기 위한 1비트를 뺀 나머지 17비트로써 인터모드시의 III영역을 나타내었다. 인트라모드의 경우도 마찬가지이다. 인트라모드와 안터모드시 각각의 III영역을 나타내기 위한 10비트, 17비트의 부호어에는 필요없는 비트수가 많이 포함되어 있다.In other words, in region II and III of the encoding table, fixed-length codewords are allocated to regions of the region according to the Huffman coding algorithm with respect to the average probability of occurrence of (run, level) pairs. The fixed length code is used to distinguish each area by the number of bits remaining after subtracting the number of bits for displaying run, level, and codes. For example, if the probability of data generation in region III in inter mode is 1%, the average probability of occurrence of each (run, level) pair in that region is 1%. Divided by the number of pairs. The code length of the region III obtained by the Huffman coding algorithm is 32 bits for this average probability of occurrence. Here, region III in the inter mode is shown as six bits for displaying a run, eight bits for displaying a level, and 17 bits except one for displaying a sign. The same applies to the intra mode. In the intra mode and the antenna mode, the 10-bit and 17-bit codewords for indicating the respective III areas contain a large number of unnecessary bits.
제2도와 제3도를 통하여 상술한 바와같은 부호화테이블을 이용하여 인트라/인터모드에 따라 별개의 가변장부호화테이블을 사용하면 하나의 부호화테이블을 사용한 경우보다 데이터압축효율을 높일 수는 있다. 하지만 최대 32비트의 에스케이프영역의 부호가 발생될 수 있으므로 하드웨어의 구성이 복잡해진다. 뿐만아니라, 부호화모드와 에스케이프영역에 따라 에스케이프영역을 구별하기 위한 에스케이프코드를 서로 다르게 사용함으로써 하드웨어의 구성이 더 복잡해질 뿐만아니라, 부호화효율도 떨어진다.Using variable coding tables according to intra / inter mode using the coding tables described above with reference to FIG. 2 and FIG. 3, data compression efficiency can be improved compared to using one coding table. However, since a code of an escape area of up to 32 bits can be generated, the hardware configuration is complicated. In addition, by using different escape codes for distinguishing the escape area according to the encoding mode and the escape area, not only the hardware configuration is more complicated, but also the encoding efficiency is lowered.
본 발명의 목적은 데이터형식을 개선함으로써 영상데이타의 압축효율을 높일 수 있는 가변장부호화테이블을 제공함에 있다.An object of the present invention is to provide a variable length encoding table that can improve the compression efficiency of image data by improving the data format.
본 발명의 다른 목적은 본 발명의 가변장부호화테이블을 이용하여 영상데이타를 가변장부호화하는 방법을 제공하는데 있다.Another object of the present invention is to provide a method of variable length encoding image data using the variable length encoding table of the present invention.
이와같은 본 발명의 목적은 런/레벨 부호화된 영상데이타를 인트라모드와 인터모드에 따라 구분하여 상기 영상데이타의 발생빈도에 따라 영상데이타의 부호길이를 가변할당하기 위한 가변장부호화테이블에 있어서, 상기 가변장부호화테이블의 전체영역중 영상데이타 발생확률이 가장 큰 제1영역과, 영상데이타 발생확률이 상기 제1영역의 영상데이타 발생확률과 제3영역의 영상데이타 발생확률 사이에 있는 제2영역, 및 상기 제1영역과 같은 크기의 런/레벨영역중 상기 제1영역이외의 영역인 제3영역으로 구성되고, 상기 제1영역에는 영상데이타의 발생확률에 따라 가변길이의 부호어를 할당하며, 상기 제2영역과 상기 제3영역은 상기 제1영역이외의 영역을 표시하기 위한 제1영역구분부호어와, 상기 제2영역과 상기 제3영역을 구분표시하기 위한 제2영역 구분부호어를 갖는 서로 다른 고정길이의 부호어를 할당하는 것을 특징으로 하는 가변장부호화테이블에 의해 달성된다.The object of the present invention is to provide a variable length encoding table for dividing run / level coded image data according to an intra mode and an inter mode, and assigning a code length of the image data according to a frequency of occurrence of the image data. A first region having the highest probability of generating image data among all regions of the variable length encoding table, a second region having an image data occurrence probability between an image data occurrence probability of the first region and an image data occurrence probability of the third region, And a third region, which is a region other than the first region, among run / level regions of the same size as the first region, and assigns a codeword having a variable length to the first region according to a probability of generating image data. The second region and the third region may include a first region division code for displaying an area other than the first region, and a second zero for distinguishing the second region from the third region. To each other with a separator code words assigned to codewords of different fixed length it is achieved by the variable-length coding table, characterized.
이와같은 본 발명의 다른 목적은 연속적으로 인가되는 영상신호의 런/레벨 부호화된 영상데이타를 인트라모드와 인터모드에 따라 구분하여 상기 런/레벨 부호화된 영상데이타의 발생빈도에 따라 전송데이타의 부호길이를 할당하는 가변장보호화 방법에 있어서, 본 발명에 의한 가변장부호화테이블을 준비하는 단계, 상기 영상신호에 대한 입력예측오차의 부가정보에 따라 부호화모드를 선택하는 단계, 및 선택된 부호화모드에 따라 상기 가변장부호화테이블을 이용하여 상기 런/레벨 부호화된 영상데이타를 가변장부호화하는 단계를 포함하는 것을 특징으로 하는 영상신호의 가변장부호화방법에 의하여 달성된다.Another object of the present invention is to classify the run / level-coded video data of a continuously applied video signal according to the intra mode and the inter mode, and code length of transmission data according to the frequency of occurrence of the run / level-coded video data. A variable length protection method for allocating a signal, comprising: preparing a variable length encoding table according to the present invention, selecting an encoding mode according to additional information of an input prediction error for the video signal, and selecting the encoding mode according to the selected encoding mode. And variable length encoding of the run / level coded image data using a variable length encoding table.
이하, 첨부된 도면을 참조하여 본 발명의 일 실시예를 상세하게 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail an embodiment of the present invention.
제4(a)도는 본 발명에 의한 인트라모드시의 가변장부호화테이블의 개념도이다. 도시된 바와같이 부호화테이블을 데이터의 발생빈도에 따라 3개의 영역으로 구분하였다. 각 영역의 구분은 제2(a)도에서와 동일하다. 인트라모드시 가변장부호화테이블으 제2영역(II)과 제3영역(III)에 대한 데이터형식이 제4(b),(c)도에 도시되어 있다.4 (a) is a conceptual diagram of a variable length coding table in the intra mode according to the present invention. As shown, the encoding table is divided into three areas according to the frequency of data generation. The division of each area is the same as in FIG. 2 (a). In the intra mode, data formats for the second region II and the third region III of the variable length encoding table are shown in FIGS. 4 (b) and (c).
제4(b)도는 제2영역(II)의 데이터형식이다. 에스케이프코드 ESC는 6비트, 영역을 구분하기 위한 1비트, 런은 0이기 때문에 표현이 불필요하며, 레벨은 8비트, 부호는 1비트로 각각 할당하였다. 즉, 제2영역(II)은 총16비트의 길이를 갖게 했다.4 (b) shows the data format of the second region II. Because the escape code ESC is 6 bits, 1 bit to distinguish the area, and the run is 0, the expression is unnecessary, and the level is assigned to 8 bits and the sign to 1 bit, respectively. That is, the second area II has a total length of 16 bits.
제4(c)도는 제3영역(III)의 데이터형식이다. 에스케이프코드 ESC는 제2영역(II)에서와 같은 6비트, 영역을 구분하기 위한 1비트, 런은 6비트, 레벨은 8비트, 부호는 1비트로 각각 할당하였다. 즉, 제3영역(III)은 총 22비트의 길이를 갖게 했다.4 (c) shows the data format of the third region (III). The escape code ESC is assigned with 6 bits as in the second area II, 1 bit for distinguishing areas, 6 bits for run, 8 bits for level, and 1 bit for sign. That is, the third region III has a total length of 22 bits.
제5(a)도는 본 발명에 의한 인터모드시의 가변장부호화데이블의 개념도이다. 도시된 바와같이 부호화테이블을 데이터발생빈도에 따라 3개의 영역으로 구분하였다. 각 영역구분은 제3(a)도에서와 동일하다. 인터모드시 부호화테이블의 제2영역(II)과 제3영역(III)에 대한 데이터형식이 제5(b),(c)도에 도시되어 있다.5 (a) is a conceptual diagram of a variable length encoding table in inter mode according to the present invention. As shown, the encoding table is divided into three areas according to the data generation frequency. Each region division is the same as in FIG. 3 (a). The data formats for the second region II and the third region III of the encoding table in the inter mode are shown in Figs. 5 (b) and (c).
제5(b)도는 제2영역(II)에 대한 데이터형식이다. 에스케이프코드 ESC는 인트라모드에서와 마찬가지로 6비트, 영역을 구분하기 위한 1비트, 런은 6비트, 레벨은 항상 1이므로 표현이 불필요하고, 부호는 1비트로 할당하였다. 즉, 제2영역(II)은 총 14비트의 길이를 갖게 하였다.5 (b) shows the data format of the second region II. As in the intra code, the escape code ESC has 6 bits, 1 bit for distinguishing the area, 6 bits for the run, and 1 for the level, so that the expression is unnecessary and the code is assigned to 1 bit. That is, the second region II has a total length of 14 bits.
제5(c)도는 제3영역(III)에 대한 데이터형식이다. 에스케이프코드 ESC는 위의 경우와 마찬가지로 6비트, 영역을 구분하기 위한 1비트, 런은 6비트, 레벨은 8비트, 부호는 1비트로 각각 할당하였다. 즉, 제3영역(III)은 총 22비트의 길이를 갖게 하였다.5 (c) shows the data format for the third region (III). As in the above case, the escape code ESC is assigned with 6 bits, 1 bit for distinguishing areas, 6 bits for run, 8 bits for level, and 1 bit for sign. That is, the third region III has a total length of 22 bits.
즉, 부호화모드와 에스케이프의 각 영역에 따라 각 영역에 따라 각 영역을 구분하기 위하여 서로 다른 길이의 부호어를 사용하던 것을 개선하여 에스케이프영역을 나타내기 위하여 부호화모드와 에스케이프의 각 영역에 상관없이 동일한 부호어를 사용하고 에스케이프의 각 영역을 구분하기 위한 별도의 영역부호어를 할당하였다. 이렇게 함으로써 에스케이프의 각 영역을 구분하기 위한 부호어의 불필요한 비트수를 없애고 영상데이타의 최대발생비트수르 줄일수 있다. 이에 따라 전반적인 데이터압축효율을 높일 수 있을 뿐만아니라, 하드웨어의 구성면에서도 유리하다.That is, the codewords having different lengths are used to distinguish each region according to each region according to each region of the encoding mode and the escape. Regardless, the same codeword is used and a separate area codeword is assigned to distinguish each area of the escape. By doing so, the number of unnecessary bits of the codeword for distinguishing each area of the escape can be eliminated and the maximum number of generated bits of video data can be reduced. This not only increases the overall data compression efficiency, but also advantageous in terms of hardware configuration.
제6도는 본 발명에 의한 가변장부호화테이블을 구비한 가변장부호화장치의 주요부분을 나타낸 구성도이다. 도시된 바와같이 부호화장치는 입력단(1)을 통해 인가되는 영상신호의 소정크기의 블록단위의 영상데이타에서 소정의 궤환데이타를 감산하여 오차데이타를 출력하는 감산기(2)를 구비하고 있다. 이 감산기(2)의 출력단에는 오차데이타를 출력하는 감산기(2)를 구비하고 있다. 이 감산기(2)의 출력단에는 오차데이타를 주파수영역의 데이터로 변환시키는 N×N변환부(3)가 연결되어 있다. N×N변환부(3)의 출력단에는 버퍼(9)에서 궤환되는 양자화레벨신호(Q)에 따라 N×N변환계수를 양자화시키는 양자화부(4)가 연결되어 있다. 양자화부(4)의 출력단에는 제1스위치(SW1)가 설치되어 있다. 이 제1스위치(SW1)의 작동에 의해 선택되어지는 제1가변장부호화부(5)와 제2가변장부호화부(6)가 설치되어 있다. 제1가변장부호화부(5)는 제4도의 가변장부호화테이블을, 제2가변장부호화부(6)는 제5도의 가변장부호화테이블을 각각 구비하고 있다. 제1가변장부호화부(5)와 제2가변장부호화부(6)의 출력단쪽에는 제2스위치(SW1)가 설치되어 있다. 제1스위치(SW1)와 제2스위치(SW2)는 부호화모드제어부(7)에서 인트라/인터모드 정보를 제공받아 제1스위치와 제2스위치를 작동시키는 가변장부호화선택부(8)에 연결되어 있다.6 is a block diagram showing the main part of the variable length coding apparatus having the variable length coding table according to the present invention. As shown in the figure, the encoding apparatus includes a subtractor 2 which outputs error data by subtracting a predetermined feedback data from block data of a block unit of a predetermined size of a video signal applied through the input terminal 1. At the output end of the subtractor 2, a subtractor 2 for outputting error data is provided. An output terminal of the subtractor 2 is connected to an N × N converter 3 for converting error data into data in the frequency domain. The output terminal of the N × N converter 3 is connected to a quantizer 4 for quantizing the N × N transform coefficient according to the quantization level signal Q fed back from the buffer 9. The first switch SW1 is provided at the output end of the quantization unit 4. The first variable length coding unit 5 and the second variable length coding unit 6 selected by the operation of the first switch SW1 are provided. The first variable length encoding unit 5 is provided with the variable length encoding table of FIG. 4, and the second variable length encoding unit 6 is provided with the variable length encoding table of FIG. The second switch SW1 is provided at the output end of the first variable length coding unit 5 and the second variable length coding unit 6. The first switch SW1 and the second switch SW2 are connected to the variable length encoding selector 8 that receives the intra / inter mode information from the encoding mode controller 7 and operates the first switch and the second switch. have.
또한, 제2스위치(SW2)에는 가변장부호화된 영상데이타를 일시 저장하였다가 복호측으로 전송하고, 양자화레벨신호(Q)를 양자화부(4), 역양자화부(10) 및 복호측으로 출력하는 버퍼(9)가 연결되어 있다. 한편, 부호화장치는 양자화부(4)에서 양자화된 양자화계수들을 역양자화하고 역변환하는 역양자화부(10)와 N×N역변환부(11), N×N역변환부(11)에서 출력되는 영상데이타와 소정의 궤환데이타를 가산하는 가산기(12), 가산기(12)를 거친 영상데이타를 저장하여 화면을 재구성하는 프레임메모리(13), 소정의 과정을 거쳐 동보상을 수행하는 동보상부(14) 및 부호화모드제어부(7)에 의해 작동되는 제3스위치(SW3)로 구성된 DPCM루프(Differential Pulse Code Modulation Loop)를 더 구비하고 있다.In addition, the second switch SW2 temporarily stores variable-length encoded image data and transmits it to the decoding side, and outputs the quantization level signal Q to the quantization unit 4, the inverse quantization unit 10, and the decoding side. (9) is connected. Meanwhile, the encoding apparatus inversely quantizes and inversely transforms the quantized coefficients quantized by the quantization unit 4, and image data output from the N × N inverse transform unit 11 and the N × N inverse transform unit 11. And an adder 12 for adding a predetermined feedback data, a frame memory 13 for reconstructing a screen by storing image data passed through the adder 12, a dynamic compensator 14 for performing dynamic compensation through a predetermined process, and It further includes a DPCM loop (Differential Pulse Code Modulation Loop) composed of a third switch SW3 operated by the coding mode control unit 7.
이와같은 중요구성부를 갖는 본 발명에 의한 가변장부호화장치에서 입력단(1)으로 N×N크기의 블록영상데이타(일반적으로 N1×N2블록이나, N1=N2=N으로 가정함)가 인가되면 감산기(2)에서 소정의 궤환데이타와 감산하여 오차데이타를 산출한다. 이 오차데이타는 N×N변환부(3)에서 주파수영역의 데이터로 변환된다. 양자화부(4)는 버퍼(9)에서 궤환되는 양자화레벨신호(Q)에 따라 N×N변환부(3)의 출력데이타를 양자화시킨다. 이때, 부호화모드제어부(7)는 부호화모드제어부(7)에 공급되는 입력예측오차등에 따라 부호화모드를 제어하고 가변장부호화선택부(8)에 인트라/인터모드 정보를 공급한다. 가변장부호화부선택부(8)는 인트라/인터모드 정보를 공급한다. 가변장부호화부선택부(8)는 인트라/인터모드 정보에 따라 제1스위치(SW1)와 제2스위치(SW2)를 동시에 작동시킨다. 즉, 인트라모드일 경우에는 제1, 제2스위치(SW1,SW2)가 제1가변장부호화부(5)를 선택하게 하고, 인터모드일 경우 제1, 제2스위치(SW1,SW2)가 제2가변장부호화부(6)를 선택하게 한다. 그러면, 선택되어진 가변장부호화부는 양자화계수들에 대해 소정의 고정을 거쳐 가변장부호화하여 영상데이타를 더욱 압축시킨다. 가변장부호화된 영상데이타는 버퍼(9)에 공급된다. 버퍼(9)는 부호화된 영상데이타를 일시 저장후 일정속도로 복호측으로 전송하게 된다. 또한, 버퍼(9)는 양자화레벨신호(Q)를 양자화부(4), 역양자화부(10)에 공급하고 복호측으로 전송한다. 한편, 일반적으로 화면과 화면간에는 유사한 부분이 많으므로 전송한다. 한편, 일반적으로 화면과 화면간에는 유사한 부분이 많으므로 약간의 움직임이 있는 화면인 경우 그 움직임을 추정하여 움직임벡터를 산출하고, 이 움직임벡터를 이용해 데이터를 보상하여 주면 인접한 화면간의 차신호는 매우 작으므로 전송데이타를 더욱 압축시킬 수 있다. 이와같은 기능을 수행하는 것이 DPCM루프이다. DPCM루프는 부호화모드제어부(7)에 의해 작동되는 제3스위치(SW3)의 동작에 따라 그 기능을 수행한다. DPCM루프의 동작은 일반적인 것이므로 상세한 설명은 생략한다. 이에 따라, 제3스위치(SW3)가 열려 있으면 제1스위치(SW1)와 제2스위치(SW2)는 제1가변장부호화부(5)를 선택하고, 제3스위치가 닫혀 있으면, 제1스위치와 제2스위치는 제2가변장부호화부(6)를 선택하게 된다. 즉, 인트라모드와 인터모드에 따라 본 발명에 의한 가변장부호화테이블을 달리 사용하면, 부호기에서 발생되는 영상데이타의 최대발생비트수를 줄일 수 있고 부호화효율을 높일 수 있다.In the variable length coding apparatus according to the present invention having such an important component, N × N-sized block image data as the input terminal 1 (generally, assume N 1 × N 2 blocks or N 1 = N 2 = N). If is applied, the subtractor 2 subtracts the predetermined feedback data to calculate the error data. This error data is converted into data in the frequency domain by the N × N converter 3. The quantizer 4 quantizes the output data of the N × N converter 3 according to the quantization level signal Q fed back from the buffer 9. At this time, the encoding mode control unit 7 controls the encoding mode in accordance with an input prediction error supplied to the encoding mode control unit 7, and supplies the intra / inter mode information to the variable length encoding selection unit 8. The variable length encoding unit selection unit 8 supplies the intra / inter mode information. The variable length encoder selector 8 simultaneously operates the first switch SW1 and the second switch SW2 according to the intra / inter mode information. That is, in the intra mode, the first and second switches SW1 and SW2 select the first variable length encoding unit 5, and in the inter mode, the first and second switches SW1 and SW2 are the first. 2 Let the variable length coding unit 6 be selected. Then, the selected variable length encoder further compresses the image data by performing variable length encoding on the quantization coefficients through a predetermined fixation. Variable-length encoded image data is supplied to the buffer 9. The buffer 9 temporarily stores the encoded video data and then transmits the encoded video data to the decoding side at a constant speed. In addition, the buffer 9 supplies the quantization level signal Q to the quantization unit 4 and the inverse quantization unit 10 and transmits it to the decoding side. On the other hand, in general, there are many similar parts between the screen and the screen. On the other hand, in general, since there are many similar parts between the screen and the screen, if there is a slight motion, the motion vector is calculated by estimating the motion, and when the data is compensated using the motion vector, the difference signal between adjacent screens is very small. Therefore, the transmission data can be further compressed. It is the DPCM loop that performs this function. The DPCM loop performs its function according to the operation of the third switch SW3 operated by the encoding mode control unit 7. Since the operation of the DPCM loop is general, detailed description is omitted. Accordingly, when the third switch SW3 is open, the first switch SW1 and the second switch SW2 select the first variable length coding unit 5, and when the third switch is closed, the first switch SW1 and the second switch SW2 are selected. The second switch selects the second variable length coding unit 6. That is, if the variable length encoding table according to the present invention is used differently according to the intra mode and the inter mode, the maximum number of generated bits of video data generated by the encoder can be reduced and the coding efficiency can be increased.
Claims (6)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019940003786A KR0148148B1 (en) | 1994-02-28 | 1994-02-28 | Variable length coding method of image signal using variable length coding table |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019940003786A KR0148148B1 (en) | 1994-02-28 | 1994-02-28 | Variable length coding method of image signal using variable length coding table |
Publications (2)
Publication Number | Publication Date |
---|---|
KR950026283A KR950026283A (en) | 1995-09-18 |
KR0148148B1 true KR0148148B1 (en) | 1998-09-15 |
Family
ID=19378036
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019940003786A KR0148148B1 (en) | 1994-02-28 | 1994-02-28 | Variable length coding method of image signal using variable length coding table |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR0148148B1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100323692B1 (en) * | 1999-05-13 | 2002-02-07 | 구자홍 | Image encode method for rearrangement of huffman table and image encoder and decoder |
KR100462060B1 (en) * | 2001-12-21 | 2004-12-17 | 에스케이 텔레콤주식회사 | UVLC Multiple Decoding Method |
-
1994
- 1994-02-28 KR KR1019940003786A patent/KR0148148B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR950026283A (en) | 1995-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220217351A1 (en) | Data encoding and decoding | |
KR0155784B1 (en) | Adaptable variable coder/decoder method of image data | |
RU2637879C2 (en) | Encoding and decoding of significant coefficients depending on parameter of indicated significant coefficients | |
KR0162197B1 (en) | Image data variable length coding and decoding method and device | |
US5748244A (en) | Adaptive runlength coding based on zero and non-zero subblocks | |
EP0945021B1 (en) | Data efficient quantization table for a digital video signal processor | |
US6205254B1 (en) | Image coding apparatus and method, and image decoding apparatus and method | |
JP3016456B2 (en) | Adaptive variable length coding method | |
JPH06350854A (en) | Picture compression encoding device | |
KR0148148B1 (en) | Variable length coding method of image signal using variable length coding table | |
US5185820A (en) | System for compressing image data having blank lines | |
KR0157463B1 (en) | Adaptive variable length encoding/decoding method for image data | |
JPH09172379A (en) | Variable length en-coding device/method | |
KR0148152B1 (en) | Adaptive variable length coding/decoding method and apparatus of image data | |
KR0166715B1 (en) | Variable length coding method for image signal | |
JP2785209B2 (en) | Data transmission equipment | |
KR100295802B1 (en) | Image data compression device using multiple variable encoding tables | |
KR100245788B1 (en) | Video coding apparatus | |
KR0134359B1 (en) | Coding and decoding system of variable scan region | |
KR0134358B1 (en) | Coding and decoding system of variable scan method | |
KR0148155B1 (en) | Esc coding apparatus and method of image coding | |
JPH06205390A (en) | Coder |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20110428 Year of fee payment: 14 |
|
LAPS | Lapse due to unpaid annual fee |