CN1268061C - Method and apparatus for varied length coding and decoding - Google Patents
Method and apparatus for varied length coding and decoding Download PDFInfo
- Publication number
- CN1268061C CN1268061C CN 97101046 CN97101046A CN1268061C CN 1268061 C CN1268061 C CN 1268061C CN 97101046 CN97101046 CN 97101046 CN 97101046 A CN97101046 A CN 97101046A CN 1268061 C CN1268061 C CN 1268061C
- Authority
- CN
- China
- Prior art keywords
- data
- scanning
- encoding
- scan
- degrees
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 94
- 230000009466 transformation Effects 0.000 claims description 6
- 230000001131 transforming effect Effects 0.000 claims 12
- 238000010586 diagram Methods 0.000 description 11
- 239000013598 vector Substances 0.000 description 8
- 239000000872 buffer Substances 0.000 description 7
- 238000013139 quantization Methods 0.000 description 6
- 230000001186 cumulative effect Effects 0.000 description 5
- 238000009825 accumulation Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000011550 data transformation method Methods 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000011426 transformation method Methods 0.000 description 1
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
A metehod and system for coding and decoding, utilising an optimised scanning pattern according to various scanning patterns for coding the data which have given size and decoding the coding data to further store and transmit the datacompresion. Segment data are converted into symbols according to various scanning patterns, accumulates the various lengths of variable-length-coded data, selects a scanning pattern corresponding to a minimum accumulated length, transmits or stores the coded data according to the selected scanning pattern, scans the transmitted or retrieved data according to the same scanning pattern as applied to the coding process, thereby decoding the scanned data.
Description
Technical Field
The present invention relates to a system for encoding and decoding digital data, and more particularly, to an encoding and decoding system for encoding digital data having a predetermined size in a most suitable mode among a plurality of scanning modes and decoding the encoded data to further improve compression of stored or transmitted data.
Background
Recently, in systems for transmitting and receiving video and audio signals, various methods of encoding video and audio signals transmitted or stored in a storage medium into digital data and decoding the encoded digital data for reproducing the video and audio signals have been employed. However, technical methods for further compressing the amount of data to be transmitted are sought to improve the efficiency of data transmission in encoding and decoding systems. Examples of encoding methods for digital data to be transmitted or stored include transform coding, Differential Pulse Code Modulation (DPCM), vector quantization, and variable length coding. These encoding methods compress the full amount of data by removing the excess data in the transmitted or stored digital data.
Video data of each frame is divided into segments of a set length, and data processing is performed in an encoding and decoding system for storage, transmission, and reception of video signals. Each piece of data or difference data between pieces of data is orthogonally transformed, and video data is transformed into transform coefficients in the frequency domain. Known segment data transformation methods include Discrete Cosine Transform (DCT), Walsh-hadamard transform (WHT), Discrete Fourier Transform (DFT), and Discrete Sine Transform (DST). The transform coefficients obtained by these transform methods are appropriately encoded according to the characteristics of the coefficient data, and the compression efficiency is improved. Since human vision is more sensitive to low frequencies than high frequencies, high frequency data is reduced by data processing. Thus, the amount of data to be encoded can be reduced.
Disclosure of Invention
An object of the present invention is to solve the above-mentioned problems and to provide an encoding method and apparatus for encoding segment data using a scan pattern that is most suitable for the distribution characteristics of each segment data.
It is another object of the present invention to provide a decoding method and apparatus for decoding segment data using the same scan pattern as that selected for use in each segment data encoding process.
The invention provides a method of encoding digital data in which an object in an image is segmented, characterised in that the method comprises the steps of: obtaining a transformation coefficient of the data of the section, wherein the coefficient is two-dimensional data; scanning the data obtained in the above step according to a scanning mode selected according to the segment data distribution characteristics suitable for the object, and encoding the scanned data; outputting the encoded data and the scan pattern data representing the scan information of the encoded data.
The invention also provides a method of decoding data for coding objects in a picture in segments, characterized in that the method comprises the steps of: receiving the encoded data and decoding; a step of receiving data representing a scanning pattern and converting the data decoded in the step into two-dimensional data based on scanning information provided by the data representing the scanning pattern; the data representing the scanning mode is provided together with the encoded data and represents scanning information used by the encoded data.
The present invention may be used for the purpose of encoding and/or decoding data transmitted or stored in and recovered from semiconductor memory, magnetic tape, magnetic disk, cd-rom, dvd, or other storage media.
Drawings
Fig. 1 is a block diagram of an embodiment of an existing encoder employing a variable length encoder.
Fig. 2 is a block diagram of an embodiment of a prior art decoder employing a variable length decoder.
Fig. 3A to 3C are diagrams illustrating an example of a conventional method of division, scanning mode and encoding process of digital data.
Fig. 3D-3G are diagrams illustrating another example of the present invention of digital data segmentation, scanning mode and encoding process according to various objects.
Fig. 3H is a flowchart of arbitrary modality conversion by POCS.
Fig. 4 is a block diagram illustrating a state of distribution of variable-length-coded data.
Fig. 5 is a block diagram illustrating an embodiment of a variable length encoder according to the present invention.
Fig. 6 is a block diagram illustrating an embodiment of a variable length decoder according to the present invention.
Fig. 7A to 7C are diagrams for explaining the scanning mode used in connection with fig. 5 and 6.
Fig. 8A to 8C are simple example diagrams showing a multi-segment scan according to the present invention.
Fig. 8D to 8E are simple example diagrams showing a multi-segment scan pattern according to the present invention.
Detailed Description
Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.
Fig. 1 is a block diagram schematically showing an existing encoding apparatus for video data using a variable length encoding method. The input 10 receives data segments corresponding to image segments segmented in block mode or data segments corresponding to image segments segmented by object. A block-shaped segment is generally represented by a size of M1 × M2, but for convenience of explanation, it is assumed that M1 is equal to M2 and equal to M3. The segment data inputted from the input terminal 10 is added to the set feedback data by the first adder a1, and the difference data between the two sets of data (i.e., the input data and the feedback data) is calculated. The orthogonal transformer 11 performs discrete cosine transform on the input differential data, and transforms the differential data into coefficients in the frequency domain. The quantizer 12 changes the transform coefficients into a multilayer representative value through a set quantization process. At this time, the quantizer 12 variably quantizes the data output from the orthogonal transformer 11 according to the quantization level Q input from the buffer 14. The variable length encoder 13 variable length-encodes the segment data according to the statistical characteristics of the quantization coefficients and generates compressed data VCD. The process of variable-length coding video data is described later. The buffer 14 receives the compressed data from the variable length encoder 13 and outputs the data to the transmission path at a fixed rate. At this time, the quantization level Q is output, and the purpose thereof is to control the amount of compressed data in order to prevent overflow and underflow of data.
Generally, similar patterns exist between adjacent frames of video data. Thus, when an image moves slightly, the motion of its image can be inferred from a comparison of the current frame and the past frame. The calculation of the motion vector MV depends on the result of the motion estimation and motion compensation can be derived from past frames based on the motion vector. Since the amount of differential data between the segment data obtained from the motion compensation and the segment data input to the input terminal 10 is very small, the data can be further compressed by the above-described method of encoding processing. A feedback loop for motion estimation and motion compensation is constituted by the inverse quantizer 15, the inverse orthogonal transformer 16, the frame memory 17, the motion estimator 18, and the motion compensator 19. The inverse quantizer 15 inversely quantizes the quantized coefficient output from the quantizer 12, and the inverse orthogonal transformer 16 inversely converts the output data of the inverse quantizer 15 into video data in a spatial domain via inverse discrete cosine. The second adder a2 outputs segment data resulting from the addition of the video data output from the inverse-orthogonal transformer 16 to the feedback data input from the second switch SW 2. The segment data output from the second adder a2 is sequentially stored in the frame memory 17, thereby reconstructing the frame. The motion estimator 18 obtains segment data of a pattern closest to the segment data inputted through the input terminal 10 from the frame data stored in the frame memory 17, and calculates a motion vector MV used for image motion estimation from the two segment data. In order to be able to use the motion vectors MV in the coding system, they are transmitted to the receiver and to the motion compensator 19. The motion compensator 19 reads out segment data corresponding to the motion vector MV from the frame data in the frame memory 17, and applies the read-out data to the first adder a 1. As described above, the first adder a1 calculates the difference data between the segment data input from the input terminal 10 and the segment data input from the motion compensator 19, encodes the difference data, and transmits the encoded difference data to the receiver. Further, the two switches SW1 and SW2 in fig. 1 are update switches, and the purpose is to update data into a frame or segment unit of a set size in order to prevent a difference between encoded frame data and unprocessed frame data from being generated by accumulation of differential data.
Encoded video data VCDEither stored in a storage medium or transmitted in the receiver to the input of the decoder as shown in figure 2. The variable length decoder 21 performs inverse process of variable length coding on the input video data VCDAnd decoding is carried out. The inverse quantizer 22 decodes the quantized coefficients input from the variable length decoder 21 and then outputs transform coefficients of a frequency domain. Contrary and positiveThe alternating transformer 23 transforms the transform coefficients of the frequency domain input from the quantizer 22 into video data of the spatial domain. The motion vector MV output from the motion estimator 18 of the encoder is input to the motion compensator 24 of the decoder. The motion compensator 24 reads out segment data corresponding to the motion vector from the frame data stored in the frame memory 25, and adds the read out data to the adder a. The adder a adds the difference data output from the inverse-orthogonal converter 23 to the segment data input from the motion compensator 24, and outputs reconstructed segment data resulting from the addition. A switch SW is connected to the output of the motion compensator and functions as the refresh switch in the encoder of fig. 1 described above.
For the purpose of variable length coding, the existing coding system uses a Huffman coding technique. The Huffman coding method is that codes with different lengths are distributed to input data according to the probability of set symbols. That is, the higher the probability, the shorter the code assigned, and the lower the probability, the longer the code assigned. In encoding using the huffman algorithm, there are a large number of different symbols, and when a specific symbol has a low probability, data processing becomes more complicated in encoding and decoding processes when a long code is assigned to a small number of symbols that occur rarely according to the huffman algorithm. In order to solve this problem, if a predetermined fixed-length code can be assigned to a distribution domain (hereinafter referred to as an escape domain) of a few symbols, the complexity of data processing can be significantly reduced even if the average code length is longer than the average value of the huffman code.
FIG. 3A shows an example of a data structure partitioned into segments of 8 x 8 size; FIG. 3B shows the transformation of 8 × 8 pieces of data into the frequency domain and the 8 × 8 quantized coefficients generated from quantizing the transformed data; fig. 3C shows zigzag scanning of quantized coefficients from low frequency to high frequency and encoding of the scanned coefficients to [ run, level ] symbols, considering that a large number of quantized coefficients are "0" in the frequency domain. In the run-level coding technique, "run" means the number of times "0" is generated between coefficients other than "0", and "level" means the absolute value of the coefficients other than "0". In the case of 8 × 8 data in fig. 3A to 3C, the value of "run" is from "0" to "63", and the value of "level" is from "1" to "255" when the quantized output has integer values from "-255" to "255". The code of which is otherwise indicated.
Fig. 3D shows another method of segmenting image data in a manner consistent with another object of the diversified segmentation. Generally, each data segment corresponds to an independently formed object. Fig. 3E shows an example of encoding of a data segment corresponding to an object. Since the shape of an object is arbitrary, a special transformation method, conventional block-based orthogonal transformation, is necessary over a rectangle surrounding a given object. By appropriately selecting the pixel values outside the given object and within the rectangle surrounding it, the given object can be reconstructed optimally according to the selected number of transform coefficients. Fig. 3F shows an example of selecting transform coefficients. In the case of a data segment representing an image portion having L pixels, L significant transform coefficients may be present in the transform domain. The coefficients of the shaded portion of fig. 3F form 0 or known values, depending on the selection of the outer pixel values of fig. 3E. With run-length coding and variable-length coding, the selected number L or less of pixels and the transform coefficient that becomes 0 in fig. 3F can be further compressed.
The selection and extrapolation process of the transform coefficients may be further explained based on the flow chart of fig. 3H.
The external pixel values for a given object may be selected in an iterative manner based on POSC. In the first iteration, the outer pixel values can be arbitrarily set, which is known to be valid for the iteration or to reflect the inner pixel values [ S.F. Chang and D.G. Messerschmitt, "Transform Coding of arbitrary-shaped Image segments" Proceedings of ACMMulteriodia, August, 1993 ]. Once the outer pixel values are selected, the rectangular block is forward transformed in an attempt to obtain L or fewer transform coefficients. Since the size of each transform coefficient corresponds to the energy associated with its coefficient, one method of coefficient selection is to select the L (or less than the number that has been set) largest transform coefficients.
Once a coefficient is selected, the other coefficients that are not selected are set to "0". Since setting these coefficients to "0" causes signal distortion in the spatial domain, the pixel values inside and on the boundary of the object are replaced with the original values after the inverse transformation of the coefficients set to "0" at the unselected positions.
Only the external pixel values are affected by the forward transform, inverse transform and internal pixel replacement, and the coefficient values of the unselected locations no longer become "0". Thus, the previous "forward transform → zero-padding → inverse transform → intra pixel replacement" process is repeated until convergence. Convergence is known to be guaranteed [ e.g., H.H.ChenM.R.Civanlar and B.G.Haskell, "A Block Transform Coder for arbitrary Shaped image Segments)" Proceedings of IEEE International Conference on image processing, 1994, Vol.1, 85-89 ]. If it converges, the transform coefficients that have completed the conformal transform may be further compressed using the same example of run-length level coding and variable length coding as shown in FIGS. 3F and 3G. The transform coefficient block in fig. 3F is scanned and run-length level encoded in a zigzag scan order. The [ run, level ] symbols can be further compressed with variable length coding.
Fig. 4 shows escape (escape) fields and rule fields classified by probability according to [ trip, level ] symbols. Statistically, the probability that [ run, level ] symbols possess a large value of "run" and/or "level" is very low. In the low probability symbol distribution domain, namely the escape domain, the symbols are represented as a fixed-length escape sequence, and the regular Huffman code is distributed to other domains, namely the regular domain. For example, in the case of 8 × 8 pieces of data, the escape sequence is composed of a 6-bit escape symbol, a 6-bit "run" indicating "0" to "63", an 8-bit "level" indicating "1" to "255", and a 1-bit sign bit. Thus, the escape sequence has a fixed length of 21 bits in total.
In the existing variable length coding system, the energy of the video signal is concentrated in the low frequency domain constituting the center of the AC (alternating current) component, so in the variable length coding of the video data, the zigzag scanning mode is used for the N × N quantized coefficients (see fig. 3A to 3C). However, depending on the video signal mode, the energy of the video signal may be more widely distributed in the frequency components in the horizontal or vertical direction. Thus, the existing zigzag scanning mode is not the optimal scanning mode for performing variable length coding of video data. Therefore, for variable length coding and variable length decoding, a scan pattern inclined to the horizontal or vertical direction is desirable so as to have compatibility that varies with the distribution characteristics of video data.
Fig. 5 shows a variable length encoder according to an embodiment of the present invention. The encoder shown in fig. 5 is composed of the following components: coefficient storage means CM for storing quantization coefficients of quantized segment data such as the quantized segment data shown in fig. 3B and 3F1~CMN(ii) a N scan address output parts SAG for providing respective scan addresses to coefficient storage parts1~SAGN(ii) a N run-level encoders CD for run-level encoding of each coefficient of each storage section of coefficients according to scan patterns1~CDN(ii) a Run, level output from each run level encoder according to a variable length coding map]N variable length coders VLC with symbols variable length coding1~VLCN(ii) a N buffers BF for storing variable length coded data of variable length coder1~BFN(ii) a N accumulators ACCM for accumulating lengths of variable-length-coded data outputted from respective variable-length encoders1~ACCMN(ii) a A minimum selector for selecting a minimum value from the lengths accumulated in the N accumulators; a selection switch 54 for selecting and transmitting the buffer output of the variable length code channel selected in the minimum selector 52.
First, quantized coefficients quantized into segments of a set size are stored in N coefficient storage sections CM, respectively1~CMN. The 1 st, 2 nd and Nth coefficient storage sections receive the 1 st, 2 nd and Nth scan addresses output from the 1 st, 2 nd and Nth scan address output sections, respectively. The following describes scanning according to N kinds of scanningAnd the coding channel of the 1 st coefficient storage unit in the N coefficient storage units for address scanning.
The 1 st coefficient memory part CM is scanned and stored in the 1 st coefficient memory part CM according to the 1 st scanning address in the set scanning direction1Quantized coefficients in (1) run-length level encoder CD1In which the quantized coefficients are coded with a long run, level]And (4) a symbol. 1 st variable length encoder VLC1Variable length coding from the 1 st run level encoder CD according to the set variable length coding mapping1Output run, level]Symbols outputting variable-length coded data D one by oneVLCAnd a data length L after variable length codingVLC. From 1 st variable length encoder VLC1Outputted variable-length encoded data DVLCStored in a1 st buffer BF1Performing the following steps; length L of variable length encoded dataVLCInput to the accumulation VLC formed by the 1 st variable-length coder1Length of code LVLC1 st accumulator ACCM1In (1), the integration is performed. 1 st accumulator ACCM1By an adder A1And 1 st cumulative length memory part LM1And (4) forming. At adder A1From the 1 st variable length encoder VLC1Length L of inputted variable length coded dataVLCAnd from 1 st cumulative length memory part LM1The accumulated lengths of the feedbacks are added. 1 st cumulative length memory part LM1Store slave adder A1The updated accumulated length is output.
This encoding channel composed of a series of components is applied to the 2 nd, 3 rd and Nth coefficient storage sections CM2、CM3、CM4The quantized coefficients of (1). However, another mode may be used in order to scan the quantized coefficients of one segment stored one by one in the N coefficient storage sections. Fig. 7 shows an embodiment of a plurality of individual scan patterns. Fig. 7A shows a scan pattern with a 0 degree scan direction, fig. 7B shows a scan pattern with a 30 degree scan direction, and fig. 7C shows a scan pattern with a 45 degree scan direction.
In the case of data segments corresponding to arbitrarily shaped objects and to image segments for which a transformation operation is performed on the enclosed rectangle, the scan pattern need not cover all of the frequency components.
In the variable length coding channel according to multiple scanning modes, the ACCM stored in N accumulators1~ACCMNThe accumulated length data of the accumulated length memory section of (2) are supplied to N input terminals of the minimum value selector 52 one by one, and the minimum value selector 52 determines the minimum value of the accumulated length. N buffers BF storing data variable-length-coded according to N types of scanning modes1~BFNAre connected to the N inputs of the selection switch 54, respectively. The minimum selector 52 stores the components LM from the N cumulative lengths1~LMNThe minimum value is selected from the accumulated length data input separately. The minimum selector 52 outputs the scan pattern data DSCANThis data represents the scanning pattern of the variable-length code channel having the smallest selected one of the accumulation lengths, and the prescribed selection control signal SEL corresponding to the smallest selected one of the accumulation lengths is supplied to the selection switch 54. The selection switch 54 selects the variable length coded data DVLCAnd output the data DVLCCorresponding to the minimum value of the accumulated length in the input data input to the N input terminals one by one.
The minimum value selector 52 generates a reset signal RST to reset the N buffers BF each time the minimum value is selected, that is, each time variable length encoding of each section data is completed1~BFNAnd N cumulative length memory parts LM1~LMN. Variable length encoded data DVLCAnd scan pattern data DSCANThe output from the variable length encoder is either stored or transmitted as digital data to a receiver for decoding.
Fig. 6 shows an embodiment of a variable length decoder according to the present invention. Referring to fig. 6, variable-length encoded data D input to the variable-length decoder 61VLCMapping to run, level according to variable length decoding]And (4) a symbol. Also, the scanning pattern data D transmitted from the decoderSCANInput deviceTo the scan pattern selector 62, this scan pattern selector 62 is used to store respective scan addresses corresponding to a plurality of scan patterns (1 st to nth scans) as shown in fig. 7. The scan mode selector 62 selects and inputs the scan mode data DSCANThe corresponding scan address ADDRs is outputted. Run-level decoder 63 receives run-level input from variable length decoder 61 in accordance with scan address ADDRs received from scan pattern selector 62]The symbols are transformed into two-dimensional quantized coefficients. Thereafter, the quantized coefficients are supplied to an inverse quantizer.
As described above, according to the variable length coding system of the present invention, the scan pattern for minimizing the data length of the variable length code after variable length coding each data segment in the scan pattern for transmitting data diversity is stored in the digital recording medium, and the data is transmitted in the scan pattern for variable length coding, or is stored in the digital recording medium for later decoding. According to the variable length decoding system of the present invention, decoding is performed using the same scanning pattern as that used in the variable length encoding process of the variable length encoded data stored or transmitted. As a result, the system of variable length coding and variable length decoding can further compress the transmission data.
In the present invention, each piece of data is suitable for diversified sizes and shapes of image portions. That is, the present invention can be used for encoding and decoding of segment data regardless of the manner in which digital data is divided into segment data. This can be further understood based on fig. 3D to 3H. If the conformal transform is completed as described above, the transform coefficients within the rectangular blocks are scanned in multiple scan orders, and then a particular scan order is selected in the same manner as described in fig. 5. It is thus clear how the invention described in connection with fig. 5 can be extended to more general case image sections with diversified sizes and shapes.
The invention has been illustrated and described above with respect to a variable length encoder/decoder, but other types of encoders/decoders may be used in the invention. For example, a huffman or arithmetic encoder/decoder may be used instead. Further, the advantages of the present invention are obtained with the most appropriate scanning mode regardless of the type of encoder/decoder, and therefore, the present invention can be used without a variable length encoder/decoder.
Furthermore, although the present invention is illustrated and described in connection with two-dimensional data, the present invention is also applicable to encoding and decoding systems that employ multidimensional data.
The extension to multiple dimensions can be achieved according to the method of scanning multiple segments together. Fig. 8A shows a specific example of obtaining a plurality of segments from the same image. However, as shown by way of example in FIG. 8B, other time segments may be scanned simultaneously. As shown in fig. 8C, the two cases of fig. 8A and 8B can be mixed without any limitation. Fig. 8D and 8E show examples of scanning patterns for multiple segments. The numbers shown in fig. 8D and 8E indicate the scanning order of the data segments in fig. 3A or 3C.
The present invention can be applied to a multi-dimensional situation without any limitation.
Claims (60)
1. A method of encoding digital data in which an object in an image is segmented, the method comprising the steps of:
obtaining a transformation coefficient of the data of the section, wherein the coefficient is two-dimensional data;
scanning the data obtained in the above step according to a scanning mode selected according to the segment data distribution characteristics suitable for the object, and encoding the scanned data;
outputting the encoded data and the scan pattern data representing the scan information of the encoded data.
2. The encoding method according to claim 1, wherein the segment data is data indicating a size and a shape of an image segment selected by an object in the image and corresponding to a pixel value of the object.
3. The encoding method according to claim 1, wherein the data obtained in said step of obtaining the transform coefficient corresponds to two-dimensional data in accordance with a data distribution characteristic of said object section.
4. The encoding method according to claim 1, wherein the distribution area of the data obtained in said step of obtaining the transform coefficient coincides with an area of the data segment after the image segment corresponding to the object pixel value is shifted.
5. The encoding method according to any one of claims 1 to 4, wherein the two-dimensional data obtained in the step of obtaining the transform coefficient is a set coefficient, and the set coefficient is scanned in accordance with the selected scanning mode in the encoding step and then variable-length-encoded.
6. The encoding method of claim 5, wherein said set coefficient is a quantized coefficient.
7. The encoding method of claim 6, wherein said quantized coefficients are configured two-dimensional quantized coefficients.
8. The encoding method according to claim 5, wherein the range of scanning in said encoding step according to the selected scanning pattern is a distribution area covering only set coefficients corresponding to said segment data.
9. The encoding method as claimed in claim 8, wherein the scanning mode selected in said encoding step has a scanning direction which is one of a horizontal direction and a vertical direction.
10. The encoding method of claim 8, wherein said scan pattern selected in said encoding step has a scan direction with a tilt angle of one of 30 degrees or 45 degrees.
11. The encoding method according to any one of claims 1 to 4, wherein the scan pattern data in the outputting step is obtained by scanning and encoding using a scan pattern most suitable for the distribution characteristics of the segment data.
12. The encoding method according to any one of claims 1 to 4, wherein the data obtained in the encoding step is scanned and encoded in a plurality of scanning modes, respectively, and the scanning mode corresponding to the minimum value among the accumulated length values of the encoded data is the selected scanning mode.
13. The encoding method of claim 12, wherein said given plurality of scan patterns comprise scan patterns having angular orientations of 0 degrees (horizontal), 30 degrees, 45 degrees (zigzag), and 90 degrees (vertical), respectively.
14. The encoding method according to any one of claims 1 to 4, wherein the encoding step scans the obtained two-dimensional data in accordance with the selected scanning pattern and arithmetically encodes the scanned data.
15. The encoding method of claim 14, wherein a scanning range of said scanning pattern is a distribution area covering only two-dimensional data.
16. The encoding method of claim 15, wherein a scanning direction of said scanning pattern is one of a horizontal direction or a vertical direction.
17. The encoding method of claim 15, wherein said scan pattern in said encoding step has a scan direction with a tilt angle of one of 30 degrees or 45 degrees.
18. The encoding method according to any one of claims 1 to 4, wherein the segment data in the step of finding the transform coefficient is a plurality of segment data corresponding to a plurality of objects, and the transform coefficients of a plurality of two-dimensional data are found for the segment data.
19. The encoding method of claim 18, wherein said segment data corresponds to a plurality of segment data of one picture.
20. The encoding method according to claim 18, wherein said segment data is a plurality of segment data corresponding to a plurality of pictures.
21. The encoding method according to claim 18, wherein said transform coefficient is a plurality of two-dimensional quantized coefficients in accordance with distribution characteristics of said object segment data.
22. The encoding method according to claim 18, wherein a range for which said transform coefficient is scanned in accordance with the selected scanning mode in its encoding step is a distribution area covering only each piece of data of said object.
23. The encoding method of claim 22, wherein the scanning mode selected in said encoding step has a scanning direction that is one of a horizontal direction and a vertical direction.
24. The encoding method of claim 22, wherein said scan pattern selected in said encoding step has a scan direction with one of a 30 degree or 45 degree tilt.
25. The encoding method as claimed in claim 22, wherein said encoding step scans and encodes said transform coefficients in a given plurality of scanning modes, respectively, and a scanning mode corresponding to a minimum value among accumulated length values of the respective encoded data is the selected scanning mode.
26. The encoding method of claim 24, wherein said given plurality of scan patterns comprise scan patterns having tilt directions of 0 degrees (horizontal), 30 degrees, 45 degrees (Z-shaped) and 90 degrees (vertical), respectively
27. The encoding method as claimed in claim 18, wherein said encoding step variable-length-encodes the scanned data.
28. The encoding method of claim 18, wherein said encoding step huffman encodes the scanned data.
29. The encoding method as claimed in claim 18, wherein the encoding step arithmetically encodes the scanned data.
30. A method of decoding data in which objects within an image are encoded in segments, the method comprising the steps of:
receiving the encoded data and decoding;
a step of receiving data representing a scanning pattern and converting the data decoded in the step into two-dimensional data based on scanning information provided by the data representing the scanning pattern; wherein,
the data representing the scanning pattern is provided together with the encoded data and represents scanning information employed by the encoded data.
31. The decoding method as claimed in claim 30, wherein the encoded data received in said decoding step is variable length coded data, and the encoded data is variable length decoded.
32. The decoding method according to claims 30 and 31, wherein said transforming step transforms the decoded data into two-dimensional set coefficients in a scanning direction and a scanning range specified according to the provided scanning information.
33. The decoding method of claim 32, wherein the scan direction specified in said transforming step according to said scan information is one of a horizontal direction or a vertical direction.
34. The decoding method of claim 32, wherein the scan direction specified in said transforming step according to said scan information has a tilt angle of one of 30 degrees or 45 degrees.
35. The decoding method according to claims 30 and 31, wherein the converting step further comprises the step of generating a corresponding scan address according to the provided scan information, and converting the decoded data into two-dimensional set coefficients along with the scan address.
36. The decoding method as claimed in claim 35, wherein the distribution of the set coefficients transformed according to the scan address arrangement in said transforming step is consistent with the distribution of the segment data of said encoded data before encoding.
37. The decoding method of claim 35 wherein the scan address generated in said transforming step has one of a horizontal or vertical orientation.
38. The decoding method of claim 35 wherein the scan address generated in said transforming step has a direction with a tilt of one of 30 degrees or 45 degrees.
39. The decoding method of claim 35, wherein the scan address generated in said converting step is a selected one of a plurality of scan addresses based on the scan information provided.
40. The method of claim 39, wherein said plurality of scan addresses comprise scan addresses having angular orientations of 0 degrees (horizontal), 30 degrees, 45 degrees (Z-shaped), and 90 degrees (vertical).
41. The decoding method as claimed in claim 30, wherein the encoded data received in said decoding step is arithmetically encoded data, and the encoded data is arithmetically decoded.
42. The decoding method as claimed in claims 30 and 41, wherein said transforming step reconstructs said arithmetically decoded data into two-dimensional data according to the provided scan information.
43. The decoding method as claimed in claim 42, wherein the two-dimensional data reconstructed in said transforming step has distribution characteristics in accordance with distribution characteristics of the received section data of the encoded data before the arithmetic encoding.
44. The decoding method of claim 42, wherein the scanning direction in said transforming step is one of a horizontal direction or a vertical direction according to the scanning information.
45. The decoding method as claimed in claim 42, wherein the scanning direction specified in said transforming step according to the scanning information has a direction of inclination of one of 30 degrees or 45 degrees.
46. The decoding method of claim 30, wherein the encoded data received in said decoding step corresponds to a plurality of segments of data.
47. The decoding method of claim 30, wherein the encoded data received in said decoding step is a plurality of segment data corresponding to one picture.
48. The decoding method of claim 30, wherein the encoded data received in said decoding step is a plurality of segment data corresponding to a plurality of pictures.
49. The decoding method as claimed in any one of claims 30 and 46 to 48, wherein the encoded data received in said decoding step is variable-length encoded data, and the encoded data is variable-length decoded.
50. The decoding method according to any one of claims 30 and 46 through 48, wherein the encoded data received in the decoding step is Huffman encoded data, and the encoded data is Huffman decoded.
51. The decoding method according to any one of claims 30 and 46-48, wherein the encoded data received in the decoding step is arithmetically encoded data, and the encoded data is arithmetically decoded.
52. The decoding method according to any one of claims 30 and 46-48, wherein said transforming step arranges the decoded data into a plurality of two-dimensional data based on scan information provided by the received data representing the scan pattern.
53. The decoding method as claimed in claim 52, wherein the plurality of two-dimensional data arranged in said transforming step are in accordance with distribution characteristics of each piece of data of the encoded data before encoding.
54. The decoding method according to claim 52, wherein the scanning direction specified in said converting step based on the scanning information has one of a horizontal direction and a vertical direction, and the decoded data is arranged to constitute a plurality of two-dimensional data following the scanning direction.
55. The decoding method as claimed in claim 52, wherein the scanning direction specified in said converting step according to the scanning information has a tilt angle of one of 30 degrees or 45 degrees, and the decoded data is arranged to constitute a plurality of two-dimensional data.
56. The decoding method according to claim 52, wherein the converting step generates the scanning address in accordance with the scanning direction specified by the scanning information, and arranges the decoded data in accordance with the generated scanning address to construct the plurality of two-dimensional data.
57. The decoding method of claim 56, wherein the generated scan address is a correspondingly selected one of a plurality of scan addresses based on the provided scan information.
58. The method of claim 57, wherein the plurality of scan addresses comprise scan addresses having angular orientations of 0 degrees (horizontal), 30 degrees, 45 degrees (Z-shaped), and 90 degrees (vertical).
59. The decoding method as claimed in any of claims 32 or 35, wherein said set coefficients are two-dimensional quantized coefficients.
60. The coding method of claim 59, further comprising the step of inverse quantizing said quantized coefficients.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 97101046 CN1268061C (en) | 1996-01-25 | 1997-01-24 | Method and apparatus for varied length coding and decoding |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1588/96 | 1996-01-25 | ||
CN 97101046 CN1268061C (en) | 1996-01-25 | 1997-01-24 | Method and apparatus for varied length coding and decoding |
Related Child Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2005100082144A Division CN1652468A (en) | 1996-01-25 | 1997-01-24 | Variable length coding method and device , and variable length decoding method and device |
CNB00126057XA Division CN100568742C (en) | 1996-01-25 | 1997-01-24 | Object in the image is encoded and interpretation method by segment data |
CNB001260588A Division CN1178395C (en) | 1996-01-25 | 1997-01-24 | Method for arithmetically encoding and decoding to objects in images |
CNB00126060XA Division CN1178396C (en) | 1996-01-25 | 1997-01-24 | Length variable encoding and decoding method |
CNB001260596A Division CN1179486C (en) | 1996-01-25 | 2000-08-29 | Length variable encoding and decoding method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1162872A CN1162872A (en) | 1997-10-22 |
CN1268061C true CN1268061C (en) | 2006-08-02 |
Family
ID=5165482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 97101046 Expired - Fee Related CN1268061C (en) | 1996-01-25 | 1997-01-24 | Method and apparatus for varied length coding and decoding |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1268061C (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100454339C (en) * | 2001-09-14 | 2009-01-21 | 诺基亚有限公司 | Method and system for context-based adaptive binary arithmetic coding |
JP4113044B2 (en) * | 2003-05-23 | 2008-07-02 | 松下電器産業株式会社 | Image encoding device |
CN100496128C (en) * | 2004-06-16 | 2009-06-03 | 浙江大学 | Method and apparatus for scanning converting coefficient in visual or image compression |
WO2006051796A1 (en) * | 2004-11-09 | 2006-05-18 | Matsushita Electric Industrial Co., Ltd. | Two step arithmetic decoding with conversion into an intermediate format |
CN102256139B (en) * | 2010-05-19 | 2013-10-02 | 晨星软件研发(深圳)有限公司 | Medium coding system, quantized coefficient coding device and quantized coefficient coding method |
CN102595134B (en) * | 2012-02-23 | 2014-06-11 | 杭州士兰微电子股份有限公司 | Four-channel zig-zag scanning structure and method |
CN106057165B (en) * | 2016-08-12 | 2018-07-10 | 昆山龙腾光电有限公司 | For the control device and control method of liquid crystal display device |
CN112449187B (en) * | 2019-08-28 | 2022-02-25 | 腾讯科技(深圳)有限公司 | Video decoding method, video encoding device, video encoding medium, and electronic apparatus |
-
1997
- 1997-01-24 CN CN 97101046 patent/CN1268061C/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1162872A (en) | 1997-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5714950A (en) | System for variable-length-coding and variable-length-decoding digitaldata | |
US5654706A (en) | System for variable length decoding digital transmission data which has been compressed by selecting a scanning pattern | |
US10034025B2 (en) | Variable length coding method and variable length decoding method | |
KR0129558B1 (en) | Adaptive variable length coding method and apparatus | |
US7109898B2 (en) | Variable length coding method and variable length decoding method | |
JP4111644B2 (en) | Embedded encoding / decoding method and system | |
JP3888597B2 (en) | Motion compensation coding apparatus and motion compensation coding / decoding method | |
US9077960B2 (en) | Non-zero coefficient block pattern coding | |
JP2006054846A (en) | Coding method and device, decoding method and device, and program thereof | |
CN1347621A (en) | Reducing 'blocking picture' effects | |
CN1726644A (en) | Apparatus and method for multiple description encoding | |
CN1268061C (en) | Method and apparatus for varied length coding and decoding | |
JP2022539311A (en) | Separate CABAC for subsections of pictures | |
KR100242635B1 (en) | A system for variable-length-coding and variable-length-decoding digital data | |
JP2010136454A (en) | Decoding method, decoding apparatus, program therefor and recording medium | |
CA2436437A1 (en) | Moving picture information compressing method and its system | |
JP2023531163A (en) | Data encoding and decoding | |
US20060149801A1 (en) | Method of encoding a signal into a bit stream | |
WO2002013539A1 (en) | Sub-optimal variable length coding | |
KR0134358B1 (en) | Coding and decoding system of variable scan method | |
KR0171749B1 (en) | A compatible encoder | |
JP2022538007A (en) | Image data encoding and decoding | |
KR20030083703A (en) | Moving picture information compressing method and its system | |
EP0874465A1 (en) | Error resilient variable length code | |
JP2022548685A (en) | Encoding and decoding image data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20060802 Termination date: 20160124 |
|
EXPY | Termination of patent right or utility model |