|Publication number||USRE41458 E1|
|Application number||US 12/238,120|
|Publication date||Jul 27, 2010|
|Priority date||Dec 16, 1993|
|Also published as||CN1071526C, CN1117779A, CN1222110C, CN1280421A, CN1592410A, CN1592411A, CN1592412A, CN1592413A, CN100355286C, CN100355287C, CN100355288C, CN100355289C, DE69425047D1, DE69425047T2, DE69434271D1, DE69434271T2, DE69434271T4, DE69434369D1, DE69434369T2, DE69434667D1, DE69434667T2, DE69434668D1, DE69434668T2, EP0685137A1, EP0685137B1, EP0987899A2, EP0987899A3, EP0987899B1, EP0987900A2, EP0987900A3, EP0987900B1, EP1441536A2, EP1441536A3, EP1441536B1, EP1445962A1, EP1445962B1, EP1484926A2, EP1484926A3, EP1487218A1, EP1494484A1, EP1515568A1, EP1863290A2, EP1863290A3, EP1863291A2, EP1863291A3, EP1863292A2, EP1863292A3, EP1914997A2, EP1914997A3, US5793897, USRE39167, USRE40782, USRE40783, USRE40909, USRE40980, USRE40981, USRE41026, USRE41124, USRE41154, USRE41435, WO1995017073A1|
|Publication number||12238120, 238120, US RE41458 E1, US RE41458E1, US-E1-RE41458, USRE41458 E1, USRE41458E1|
|Inventors||Jae-moon Jo, Je-chang Jeong|
|Original Assignee||Samsung Electronics Co., Ltd.|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (11), Classifications (40)|
|External Links: USPTO, USPTO Assignment, Espacenet|
More than one reissue application has been filed for the reissue of U.S. Pat. No. 5,793,897. The reissue applications are application Ser. No. 09/638,796 filed Aug. 11, 2000, now U.S. Reissued Pat. No. RE39,167, application Ser. No. 09/654,939 filed Aug. 31, 2000, application Ser. No. 11/017,697 filed Dec. 22, 2004, application Ser. No. 11/017,698 filed Dec. 22, 2004, application Ser. No. 11/416,183 filed May 3, 2006, application Ser. No. 11/416,312 filed May 3, 2006, application Ser. No. 11/738,415 filed Apr. 20, 2007, application Ser. No. 11/738,419 filed Apr. 20, 2007, application Ser. No. 12/238,083 filed Sep. 25, 2008, application Ser. No. 12/238,104 filed Sep. 25, 2008, and application Ser. No. 12/238,120 filed Sep. 25, 2008, which is the present application. Application Ser. No. 09/638,796 is a reissue of U.S. Pat. No. 5,793,897. Application Ser. No. 09/654,939 is a divisional application of U.S. Reissued Pat. RE39,167. Application Ser. No. 11/017,697 is a divisional application of Ser. No. 09/654,939. Application Ser. No. 11/017,698 is a divisional application of Ser. No. 09/654,939. Application Ser. No. 11/416,183 is a divisional application of Ser. No. 11/017,697. Application Ser. No. 11/416,312 is a divisional application of Ser. No. 11/017,698. Application Ser. No. 11/738,415 is a divisional application of Ser. No. 09/654,939. Application Ser. No. 11/738,419 is a divisional application of Ser. No. 09/654,939. Application Ser. No. 12/238,083 is a divisional application of Ser. No. 11/017,698. Application Ser. No. 12/238,104 is a divisional application of Ser. No. 11/017,698. Application Ser. No. 12/238,120, which is the present application, is a divisional application of Ser. No. 11/017,698. The entire disclosures of U.S. Pat. No. 5,793,897, U.S. Reissued Pat. No. RE39,167, Application Ser. Nos. 09/654,939, 11/017,697, 11/017,698, 11/416,182, 11/416,183, 11/738,415, 11/738,419, 12/238,083 and 12/238,104 are hereby incorporated by reference.
The present invention relates to adaptive variablelength coding and decoding methods for digital image data, and more particularly, to adaptive variable-length coding and decoding methods which improve compression efficiency of transmission data by performing variable-length coding and decoding adaptively, according to statistical characteristics of image data.
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 variablelength coding (VLC) should be performed.
The operation of the coding and decoding systems respectively shown in
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 Qss, 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 Qss 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
Motion compensator 19 receives the motion vector MV from motion estimator 18 and reads out an N×N block corresponding to the motion vector MV from the previous frame data output from frame memory 17 to then supply the read N×N block to a subtractor A1 connected with input port 10. Then, subtractor A1 obtains the difference between the N×N block supplied to input port 10 and the N×N 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 a 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 Vc is transmitted to the receiver side to then be input to the decoding system shown in FIG. 2. The coded image data Vc 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 Qss 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
While the scanning is performed from a low frequency component to a high frequency component in scanning the N×N block, as shown in
Here, the run represents the number of 0's present between coefficients not being “0” among the quantized coefficients of an N×N block, and the level corresponds to the absolute value of the coefficient not being “0”.
For example, in the case of an 8×8 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
Also, the escape sequence ESQ in which 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 a 8×8 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.
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, i.e., 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.
To accomplish the above object, there is provided an adaptive variable-length coding method according to the present invention whereby quantized orthogonal transform coefficients are scanned in a zigzag pattern, are DCT-operated to be [run, level] data and then are variable-length-coded in a coding system for image data, the method comprising the steps of:
In a decoding system for image data, the adaptive variable-length decoding method according to the present invention for decoding data coded by the adaptive variable-length coding method, comprises the steps of:
Hereinbelow, a preferred embodiment of the present invention will be described with reference to the accompanying 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/color 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 downsampling 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 FIG. 1 and for a general decoding system shown in FIG. 2.
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 FIG. 1.
Variable-length decoder 21 of the decoding system shown in
Subsequently, the method for selecting a plurality of variable-length coding/decoding tables will be described in detail with reference to
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 Qss has values ranging from “0” to “62.”
First, in order to select one of P variable-length coding tables T1, T2, . . ., Tp, it is determined whether the currently process block mode is an inter mode or intra mode.
That is to say, as shown in
In the determined mode, the first, second or Pth variable-length coding table T1, T2 or Tp are selected in accordance with quantization step size Qss 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, Qss) plane in accordance with intra and inter modes shown in
In the intra mode:
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.
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 T1, T2, . ., Tp have the regular region and escape region having different patterns and the Pth table Tp has a smaller regular region than that of the first or second tables T1 or T2.
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
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. pat. application Ser. No. 08/069,914 filed on Jun. 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 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 the 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.
An adaptive variable-length coding/decoding 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.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US4908862||Nov 10, 1987||Mar 13, 1990||Kokusai Denshin Denwa Co., Ltd.||Encoding system capable of accomplishing a high efficiency by anterior and/or posterior processing to quantization|
|US5329318||May 13, 1993||Jul 12, 1994||Intel Corporation||Method for optimizing image motion estimation|
|US5377051||Jan 13, 1993||Dec 27, 1994||Hitachi America, Ltd.||Digital video recorder compatible receiver with trick play image enhancement|
|US5402244||Oct 26, 1993||Mar 28, 1995||Daewoo Electronics Co., Ltd.||Video signal transmission system with adaptive variable length coder/decoder|
|US5559557||Sep 28, 1993||Sep 24, 1996||Sony Corporation||Motion video coding with adaptive precision for DC component coefficient quantization and variable length coding|
|US5982437||Oct 15, 1993||Nov 9, 1999||Sony Corporation||Coding method and system, and decoding method and system|
|EP0447234A2||Mar 14, 1991||Sep 18, 1991||C-Cube Microsystems||Data compression and decompression system and method|
|EP0469835A2||Jul 29, 1991||Feb 5, 1992||Canon Kabushiki Kaisha||Image processing apparatus and method|
|EP0536630A2||Sep 30, 1992||Apr 14, 1993||Kabushiki Kaisha Toshiba||Band-compressed signal processing apparatus|
|EP0542474A2||Nov 5, 1992||May 19, 1993||AT&T Corp.||Adaptive coding and decoding of frames and fields of video signals|
|GB2267410A||Title not available|
|U.S. Classification||382/246, 382/239|
|International Classification||H04N19/134, H04N19/157, H04N19/13, H04N19/46, H04N19/503, H04N19/93, H04N19/70, H04N19/51, H04N19/186, H04N19/625, H04N19/91, H04N19/61, H04N19/167, H04N19/176, H04N5/92, H03M7/42, G06T9/00, G11B20/10, H04N19/60, G06K9/46, G06K9/36|
|Cooperative Classification||H04N19/60, H04N19/13, H04N19/159, H04N19/91, H04N19/61, H04N19/157, H03M7/42, G11B20/10527|
|European Classification||H04N7/50E2, H04N7/26A6S, H04N7/26A6S2, H04N7/30E2, G11B20/10C, H03M7/42, H04N7/50, H04N7/26A4V, H04N7/30|