Adaptive variable-length coding method for video data

Abstract: An adaptive variable-length coding/decoding method performs an optimal variable-length coding and decoding depending on an intra mode/inter mode condition, quantization step size and a current zigzag scanning position, such that a plurality of variable-length coding tables having different patterns of a regular region and an escape region according to statistical characteristics of the [run, level] data are set. One of the variable-length coding tables is selected according to mode, quantization step size and scanning position, and the orthogonal transform coefficients according to the selected variable-length coding table are variable-length coded.

Description: Technical Field The present invention relates to adaptive variable-length coding methods for digital image data, and more particularly, to adaptive variable-length coding methods which improve compression efficiency of transmission data by performing variable-length coding adaptively, according to statistical characteristics of image data. Background Art EP-A-0,542,474 discloses the use of a plurality of variable-length coding tables selected for use on the basis of picture type only. Recently, in an apparatus for transmitting and receiving video and audio signals, a method by which the video and audio signals are coded to be digital signals to then be transmitted or stored in a memory and the digital signals are decoded to then be reproduced, has been widely adopted. However, in the case of coding a video signal into digital data, the data quantity is large. Thus, in order to decrease the overall data quantity by removing redundant data contained in the digital video signal, discrete cosine transform (DCT) coding, differential pulse code modulation (DPCM), vector quantization, or variable-length coding (VLC) should be performed. Figure 1 is a schematic block diagram of a general coding system for image data. The apparatus includes means 11 and 12 for performing a DCT function with respect to an NxN block and for quantizing DCT coefficients, means 13 and 14 for variable-length-coding the quantized data and for further compressing data quantity, and means 15, 16, 17, 18, 19, A1, A2, SW1 and SW2 related to the inverse quantization and DCT operations with respect to the quantized data to then perform a motion compensation, which codes image data in an intra mode or inter mode. Figure 2 is a schematic block diagram of a general decoding system for image data. The apparatus decodes and reproduces the image data coded by the coding system shown in Figure 1. The operation of the coding and decoding systems respectively shown in Figures 1 and 2 will be briefly described. In Figure 1, the video signal input through an input port 10 becomes a signal of a frequency domain in the units of NxN blocks in DCT 11, where although the magnitude of a block is generally N 1 xN 2 , it is assumed that N 1 = N 2 =N , for the sake of convenience. The energy of transform coefficients is chiefly concentrated in a low frequency domain. Data transforms for each block are performed by a discrete cosine transform, Walsh-Hadamard transform, discrete Fourier transform, or discrete sine transform method. Here, the transform coefficients are obtained by DCT operation. Quantizer 12 changes the DCT coefficients into representative values of a constant level through a predetermined quantization process. Variable-length encoder 13 variable-length-codes the representative values using their statistical characteristics, thereby further compressing the data. Meanwhile, a quantization step size Q ss , which is varied depending on the state (a fullness) of a buffer 14 wherein the variable-length-coded data is stored, controls quantizer 12 to thereby adjust a transmission bit rate. The quantization step size Q ss is also transmitted to a receiver side, to be used in a decoding system. Also, in general, there are many similar portions between consecutive screens. Therefore, in the case of a screen having motion, a motion vector MV is obtained by estimating the motion, and data is compensated using the motion vector MV. Then, a differential signal between adjacently positioned screens becomes very small, thereby allowing transmission data to be more compressed. In order to perform such motion compensation, an inverse quantizer (Q -1 ) 15 shown in Figure 1 inverse-quantities the quantized data output from quantizer 12. Thereafter, the inverse-quantized data is inverse-DCT-operated in an inverse DCT means (DCT -1 ) 16 to then be a video signal of a spatial domain. The video signal output from inverse DCT means 16 is stored in a frame memory 17 in frame units. Motion estimator 18 searches a block having the most similar pattern to that of an NxN block of input port 10 among the frame data stored in frame memory 17 and estimates the motion between blocks to obtain a motion vector MV. The motion vector MV is transmitted to a receiver side to be used in a decoding system and is simultaneously transmitted to a motion compensator 19. Motion compensator 19 receives the motion vector MV from motion estimator 18 and reads out an NxN block corresponding to the motion vector MV from the previous frame data output from frame memory 17 to then supply the read NxN block to a subtractor A1 connected with input port 10. Then, subtractor A1 obtains the difference between the NxN block supplied to input port 10 and the NxN block having the similar pattern thereto supplied from motion compensator 19. The output data of subtractor A1 is coded and then transmitted to the receiver side, as described above. That is to say, initially, the video signal of one screen (intraframe) is coded wholly to then be transmitted. For the video signal of the following screen (interframe), only the differential signal due to the motion is coded to then be transmitted. Meanwhile, the data whose motion is compensated in motion compensator 19 is summed with the video signal output from inverse DCT means 16 in an adder A2 and is thereafter stored in frame memory 17. Refresh switches SW1 and SW2 are turned off at a certain interval (here, the period is one group of pictures or GOP period) by a control means (not shown), so that an input video signal is coded into a PCM mode to then be transmitted in the case of an intraframe mode and so that only the differential signal is coded to then be transmitted in the case of an interframe mode, thereby refreshing cumulative coding errors for a constant period (one GOP). Also, a refresh switch SW3 allows the transmission errors on a channel to deviate from the receiver side within the constant time period (one GOP). In this manner, the coded image data V c is transmitted to the receiver side to then be input to the decoding system shown in Figure 2. The coded image data V c is decoded through the reverse process to the coding process in a variable-length decoder 21. The data output from variable-length decoder 21 is inverse-quantized in an inverse quantizer 22. At this time, inverse quantizer 22 adjusts the magnitude of the output DCT coefficients depending on the quantization step size Q ss supplied from the encoding system. An inverse DCT means 23 inverse-DCT-operates the DCT coefficients of a frequency domain, supplied from inverse quantizer 22, into the image data of a spatial domain. Also, the motion vector MV transmitted from coding system shown in Figure 1 is supplied to a motion compensator 24 of decoding system. Motion compensator 24 reads out the NxN block corresponding to the motion vector MV from the previous frame data stored in a frame memory 25, compensates the motion and then supplies the compensated NxN block to an adder A3. Then, adder A3 adds the inverse-DCT-operated DPCM data to the NxN block data supplied from motion compensator 24 to then output to a display. Figures 3A, 3B and 3C schematically show the process of coding image data. The sampling data of an NxN block shown in Figure 3A is DCT-operated to be DCT coefficients of a frequency domain by the DCT method, etc., as shown in Figure 3B. The DCT coefficients are quantized and are scanned in a zigzag pattern, to then be coded in the form of run-length and level-length, as shown in Figure 3C. While the scanning is performed from a low frequency component to a high frequency component in scanning the NxN block, as shown in Figure 3C, a "run" and "level" and set as a pair expressed as (run, level), and is then coded. Here, the run represents the number of 0's present between coefficients not being "0" among the quantized coefficients of an NxN block, and the level corresponds to the absolute value of the coefficient not being "0". For example, in the case of an 8x8 block, the run is distributed from "0" to "63" and the level varies depending to the data value output from a quantizer. That is to say, if the quantized output value is indicated as an integer ranging from "-255" to "+255", the level has a value ranging from "1" to "+255". At this time, the positive or negative sign is expressed by an extra sign bit. In this manner, when a (run, level) pair is set as a symbol, if the run or level is large, the probability of the symbol is statistically very low. Therefore, as shown in Figure 4, the block is divided into a regular region and an escape region according to the probability of the symbol. For the regular region where the probability of the symbol is relatively high, a Huffman code is used in coding. For the escape region where the probability of the symbol is low, data of a predetermined fixed length is used in coding. Here, according to the Huffman code, the higher the probability of the symbol, the shorter the code is set, and vice versa. Also, the escape sequence ESQ in which the data of escape region is coded is composed of an escape code ESC, run, level and sign data S, each having a predetermined number of bits, as expressed in the following equation (1): ESQ = ESC + RUN + L + S For example, as described above, if the quantized value is from "-255" to "+255" in an 8x8 block, the escape sequence has a constant data length of 21 bits in total since the escape code data ESC is six bits, run data RUN is six bits, level data L is eight bits, and sign data S is one bit. In this manner, according to the conventional variable-length coding method, since various extra information is also transmitted together with coded data and the escape sequence set by one variable-length coding table depending on the statistical characteristics of data has a constant fixed length, there is a limit in compressing data quantity by coding transmitted data. Disclosure of the Invention Therefore, it is an object of the present invention to provide an adaptive variable-length coding method which improves compression efficiency of data by selecting an optimal variable-length coding table among a plurality of variable-length coding tables according to the current scanning position and quantization step size while scanning in a zigzag pattern by block type, ie. inter/intra mode. It is another object of the present invention to provide a method for decoding data coded by the above adaptive variable-length coding method. According to one aspect of the present invention is an adaptive variable-length coding method in which quantized orthogonal transform coefficients of each of a plurality of blocks are scanned in a predetermined pattern, and then are variable-length coded in a coding system for image data, said method comprising the steps of: selecting one of a plurality of variable-length coding tables; and variable-length coding said quantized orthogonal transform coefficients according to said selected variable-length coding table, characterised in that the selection of one of the plurality of variable-length coding tables is made according to intra/inter mode information, scanning position within a block and quantization step size. The variable-length coding tables may have different patterns of a regular region and an escape region. Said variable-length coding table selecting step includes a selection from a plurality of variable-length coding tables, the selection of a particular table for a given combination of scanning position within a block and quantisation step size being dependent on whether the current block is processed in the intra mode or the inter mode. Said selecting step may include a selection from a plurality of variable-length coding tables, each of which has different coding criteria for assigning variable-length code words of a regular region and an escape region, the selection of a particular table for a given combination of zigzag scanning position within the variable-length coding table and quantization step size being dependant on whether the currently processed block is processed in the intra mode or the inter mode. The regular region may be one in which data is coded according to a first code and the escape region is one in which data is coded to a second code. According to another aspect of the present invention an adaptive variable-length coding apparatus for coding image data comprises: a zigzag scanner for scanning quantized orthogonal transform coefficients of each of a plurality of blocks in a zigzag pattern and modifying said transform coefficients into run level data, where a run value represents the number of zeroes present between non-zero quantised coefficients and a level value corresponds to the absolute value of a non-zero coefficient; a variable-length coder for variable-length coding the run, level data; means for setting a plurality of variable length coding tables having different coding criteria for assigning variable-length code words; and a variable-length coding table selector for selecting one of said plurality of variable-length coding tables; the variable-length coder being operable to variable-length code the orthogonal transform coefficients according to said selected variable-length coding table, characterised in that the variable-length coding table selector is for selecting one of said plurality of variable-length coding tables according to intra/inter mode information of the currently processed block, zigzag scanning position and quantization step size. The variable-length coding selector may be operable to perform a selection from a plurality of variable-length coding tables, each of which has different coding criteria for variable-length coding of variable-length coded data of a regular region and an escape region, the selection of a particular table, for a given combination of zigzag scanning position and quantization step size, being dependent on whether the currently processed block is in the intra or the inter mode. The regular region may be one in which data is coded according to a Huffmann code and the escape region is one in which data is coded to a fixed or variable-length code. Brief Description of the Drawings Figure 1 is a block diagram of a general coding system for image data; Figure 2 is a block diagram of a general decoding system for image data; Figure 3A and 3B are schematic diagrams for explaining steps of the data processing process according to the apparatus shown in Figure 1; Figure 4 shows a conventional variable-length coding and decoding table; Figure 5 is a schematic block diagram of a variable-length encoder for implementing an adaptive variable-length coding method according to the present invention; Figures 6A and 6B illustrate a method for selecting a variable-length coding table partitioned by a predetermined number in the adaptive variable-length coding method according to the present invention, wherein Figure 6A represents the intra mode and Figure 6B represents the inter mode; and Figures 7A, 7B and 7C are histograms [run, level] for each symbol at the first, second and Pth regions shown in Figures 6A and 6B. Best mode for carrying out the Invention Hereinbelow, a preferred embodiment of the present invention will be described with reference to the accompany drawings. In the adaptive variable-length coding method according to the present invention, a plurality of variable-length coding tables are used. The table is selected in accordance with a block type, quantization step size and a current scanning position while scanning a block in a zigzag pattern. This selection is in accordance with the statistical characteristics of (run, level) data which vary depending on block type, i.e., intra mode/inter mode or luminance signal/colour signal, quantization step size and a current zigzag scanning position, and which will be described in more detail. The inter mode for coding the differential signal between the current block data and motion compensated block data generates most of the DCT coefficients as "0" but scarcely generates larger values, compared to the intra mode for coding input block image data sequentially. This is because the variation in a motion compensation estate error thereof is typically smaller than that of the original video signal. Also, the statistical characteristics of color which depend on the decimation in the spatial domain and narrow bandwidth are different from those of luminance. Therefore, in accordance with intra/inter mode and luminance/color information, there may be four block types, i.e., (intra, luminance), (intra color), (inter, luminance) and (inter, color). However, for the block type in the present invention, the luminance/color information is excluded and only the intra/inter mode is considered, because the color statistics are dependent on the down-sampling structure of the color signal. Also, in the case of a large quantization step size, DCT coefficients are not high in the high frequency components and many are generated as "0's" while the quantizer scans in a zigzag pattern. That is to say, in order to utilize the human visual characteristics, the DCT coefficients are divided into primary weighting matrices. Since the weighting matrix for high frequency component is large, when the current scanning is a high frequency component, small values (including "0") are often produced but large values are scarcely generated. Therefore, the present invention proposes an adaptive variable-length coding/decoding method using a plurality of variable-length coding/decoding tables in which the block type (intra/inter mode), scanning position and quantization step size are combined, which is called a Huffman code book. Also, the present invention is adopted for a general coding system shown in Figure 1 and for a general decoding system shown in Figure 2. Figure 5 is a schematic block diagram of a variable-length encoder for implementing the adaptive variable-length coding method according to the present invention. According to Figure 5, quantized DCT coefficients are scanned in a zigzag pattern by zigzag scanner 31. Variable-length coding table selector 32 outputs a control signal for selecting the corresponding first to Pth variable-length coding tables 33.1, 33.2, ... , 33.P according to the block type (intra/inter mode), quantization step size Qss, and scanning position SP. The quantized DCT coefficients output from zigzag scanner 31 are variable-length-coded in accordance with the selected variable-length coding table, to then be transmitted to buffer 14 shown in Figure 1. Variable-length decoder 21 of the decoding system shown in Figure 2 variable-length-decodes data coded in the reverse order to that of the variable-length coding process as shown in Figure 5. Subsequently, the method for selecting a plurality of variable-length coding/decoding tables will be described in detail with reference to Figures 6A, 6B and 7A to 7C. Figure 6A shows P variable-length coding tables T 1 , T 2 , ... , T p selected in accordance with quantization step size Q ss and the current scanning position SP (during zigzag scanning) for the intra mode. Figure 6B shows P variable-length coding tables T 1 , T 2 , ... , T p selected in accordance with quantization step size Q ss and the current scanning position SP (during zigzag scanning) for the inter mode. The "0" scanning position SP corresponds to the DC component, the "63" scanning position SP represents the last scanning position in the corresponding block, and quantization step size Q ss has values ranging from "0" to "62". First, in order to select one of P variable-length coding tables T 1 , T 2 , ... , T p , it is determined whether the currently process block mode is an inter mode or intra mode. That is to say, as shown in Figures 6A and 6B, the blocks for selecting the variable-length coding tables T 1 , T 2 , ... , T p , are different depending on the mode. In other words, compared to the inter mode, the intra mode has larger selection blocks for the first and second variable-length coding tables T 1 and T 2 and a smaller selection block for the Pth variable-length coding table T p . In the determined mode, the first, second or Pth variable-length coding table T 1 , T 2 , or T p are selected in accordance with quantization step size Q ss and scanning position SP. Quantized DCT coefficients are variable-length-coded in accordance with the selected variable-length coding table. Here, an example of P regions partitioned on a (SP, Q ss ) plane in accordance with intra and inter modes shown in Figures 6A and 6B can be expressed as follows. In the intra mode: region 1: SP + Q ss < K 1 ; region 2: K 1 ≤ SP + Q ss < K 2 ; and region P: K p - 1 ≤ SP + Q ss < K p In the inter mode: region 1: SP + Q ss < L 1 ; region 2: L 1 ≤ SP + Q ss < L 2 ; and region P: L p - 1 ≤ SP + Q ss < L p The proper partition as above can be sought empirically based on sufficient statistical analysis for various experimental states. These states include such factors as video sequence, bit rate, GOP and partitioning method. Figures 7A, 7B and 7C show examples of the variable-length coding tables shown in Figures 6A and B. The variable-length coding tables have a regular region and escape region which differ depending on the statistical characteristics of (run, level). That is to say, the first, second, ... , Pth tables T 1 , T 2 , ... , T p , have the regular region and escape region having different patterns and the Pth table T p has a smaller regular region than that of the first or second tables T 1 or T 2 . Meanwhile, the (run, level) symbol is likely to have a low probability thereof if the run and/or level lengths have a large value. As shown in Figure 4, the respective symbols of the escape region has a fixed length of 21 bits obtained by adding a six-bit escape code, an eight-bit run, one-bit sign data. However, in escape coding, since there is redundancy in the run and level fields, the data quantity may be reduced. That is to say, the bit number required for expressing run is dependent on the scanning position during zigzag scanning for two dimensional DCT coefficients and the bit number required for expressing level is dependent on the quantization step size. Also, quantization weighting matrices of intra-coded blocks and inter-coded blocks are different from each other. The new escape sequence ESQ having a fixed length of 21 bits can be modified into that having a variable length using the aforementioned characteristics according to Equation (1) above, where ESQ is composed of six bits, RUN is composed of zero to six bits, L is composed of one to eight bits, S is composed of one bit, the run data is dependent upon scanning position, and the level is dependent upon quantizer. Therefore, since the modified escape sequence has a variable length ranging from eight to 21 bits, compared to the fixed length of 21 bits, image data can be further compressed. In decoding the new escape sequence, since the respective current scanning positions are automatically matched for the coding system and decoding system, the number of bits required for expressing the run value can be matched without transmitting extra information. Also, in the case of the level length, since the quantization step size is transmitted to the decoding system for inverse quantization, the transmitted quantization step size can be used in synchronizing the number of bits required for expressing level, which requires no extra information to be transmitted. The above-described variable-length coding and decoding methods which improve compression efficiency by adjusting the length of the escape sequence variably are disclosed in the U.S. Patent US-A-5,402,123 filed on June 1, 1993 by the assignee of the present invention. According to the present invention, a plurality of variable-length tables are provided for both the coding and decoding sides, which may be slightly more complex in hardware, compared to the case of using a conventional single table. However, the present invention is adopted for the case when a high data compression rate is necessary. Also, the corresponding mode, quantization step size and scanning position information generated in coding side is transmitted to the decoding side. The mode and quantization step size information is transmitted in a constant period of time or is transmitted whenever there is a change. The scanning position information is not transmitted separately but is obtained automatically by accumulating the run values after obtaining [run, level] values of the decoding side. Therefore, although the information on the selected variable-length coding table is not transmitted separately with respect to the block data transmitted to the decoding side, the variable-length coding table selected during coding can be identified from the mode and quantization step size information transmitted from the coding side and the position information automatically calculated from the run value in the decoding side. Then, the same variable-length coding table as that adopted for coding is used for decoding the transmitted block data. As described above, the method according to the present invention can increase data compression efficiency such that image data coded and decoded by selecting one of a plurality of variable-length coding tables having a regular region and an escape region, using mode, quantization step size and zigzag scanning position information. Also, according to present invention, no extra bit which expresses the variable-length coding table selected during coding is necessary to be transmitted for decoding. The transmission data can be further compressed by adjusting variably the run and level lengths of the data to be coded in the escape region of the selected variable-length coding table. Industrial Applicability An adaptive variable-length coding method according to the present invention can improve the compression efficiency of digitally transmitted data and is applicable to various technological fields including digital communication, multimedia and personal computer systems, and digital video apparatuses such as a high definition television or digital videocassette recorder.

Claims: An adaptive variable-length coding method in which quantized orthogonal transform coefficients of each of a plurality of blocks are scanned in a predetermined pattern, and then are variable-length coded in a coding system for image data, said method comprising the steps of: selecting one of a plurality of variable-length coding tables (33); and variable-length coding said quantized orthogonal transform coefficients according to said selected variable-length coding table, characterised in that the selection of one of the plurality of variable-length coding tables is made according to intra/inter mode information, scanning position (SP) within the variable-length coding table (33) and quantization step size (Q ss ). The adaptive variable-length coding method of claim 1, wherein said variable-length coding tables (33) have different patterns of a regular region and an escape region. The adaptive variable-length coding method as claimed in claim 1 or claim 2, wherein said variable-length coding table (33) selecting step includes a selection from a plurality of variable-length coding tables (33), the selection of a particular table for a given combination of scanning position (SP) within the variable-length coding table (33) and quantisation step size (Q ss ) being dependent on whether the current block is processed in the intra mode or the inter mode. An adaptive variable-length coding apparatus for coding image data comprises: a zigzag scanner (31) for scanning quantized orthogonal transform coefficients of each of a plurality of blocks in a zigzag pattern and modifying said transform coefficients into run level data, where a run value represents the number of zeroes present between non-zero quantised coefficients and a level value corresponds to the absolute value of a non-zero coefficient; a variable-length coder for variable-length coding the run, level data; means for setting a plurality of variable length coding tables (33) having different coding criteria for variable-length coding of variable-length coded data; and a variable-length coding table selector (32) for selecting one of said plurality of variable-length coding tables (33); the variable-length coder being operable to variable-length code the orthogonal transform coefficients according to said selected variable-length coding table (33), characterised in that the variable-length coding table selector (32) is for selecting one of said plurality of variable-length coding tables (33) according to intra/inter mode information of the currently processed block, zigzag scanning position (SP) and quantization step size (Q ss ). An adaptive variable-length coding apparatus as claimed in claim 4, wherein the variable-length coding table selector (32) is operable to perform a selection from a plurality of variable-length coding tables (33), each of which has different coding criteria for variable-length coding of variable-length coded data of a regular region and an escape region, the selection of a particular table, for a given combination of zigzag scanning position (SP) and quantization step size (Q ss ), being dependent on whether the currently processed block is in the intra or the inter mode. An adaptive variable-length coding apparatus as claimed in claim 5, wherein the regular region is one in which data is coded according to a Huffmann code and the escape region is one in which data is coded to a fixed or variable-length code. An adaptive variable-length coding method for coding image data as claimed in any one of claims 1 to 3, in which the quantized orthogonal transform coefficients are scanned in a zigzag pattern and are modified into run, level data the method further comprising the steps of: setting a plurality of variable-length coding tables (33) having different proportions and distributions of a regular region and an escape region, according to statistical characteristics of said run, level data; The adaptive variable-length coding method as claimed in claim 7, wherein said variable-length coding table (33) is selected dependant upon whether the particular coding mode is intra or inter coding and, dependent upon a position value for the zigzag scanning operation (SP) within the variable-length coding table (33) and a value of the quantization step size (QSS) for the particular mode.

Inventors: JEON JE CHANG, JO JAE MOON, JEON, JE CHANG, JO, JAE MOON
Applicants: SAMSUNG ELECTRONICS CO LTD, SAMSUNG ELECTRONICS CO., LTD.
Application year: 1994
Main classification: H04N7
IPC codes: H04N7