MXPA96006644A - Ima data compression system - Google Patents
Ima data compression systemInfo
- Publication number
- MXPA96006644A MXPA96006644A MXPA/A/1996/006644A MX9606644A MXPA96006644A MX PA96006644 A MXPA96006644 A MX PA96006644A MX 9606644 A MX9606644 A MX 9606644A MX PA96006644 A MXPA96006644 A MX PA96006644A
- Authority
- MX
- Mexico
- Prior art keywords
- compression
- data
- compressor
- variable
- exhibits
- Prior art date
Links
- 238000007906 compression Methods 0.000 title claims abstract description 135
- 238000000034 method Methods 0.000 claims description 18
- 230000001747 exhibiting Effects 0.000 claims description 4
- 230000011664 signaling Effects 0.000 description 5
- 230000003111 delayed Effects 0.000 description 4
- 230000003044 adaptive Effects 0.000 description 3
- 230000001934 delay Effects 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000004069 differentiation Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241001442055 Vipera berus Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000875 corresponding Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000004301 light adaptation Effects 0.000 description 1
- 230000000051 modifying Effects 0.000 description 1
- 230000002441 reversible Effects 0.000 description 1
- 230000001131 transforming Effects 0.000 description 1
Abstract
A block-based data compression system employs two independent, parallel compression networks. One network (20, 22) provides fixed compression, the other network (14, 16) provides variable compression. The compressed data is chosen from one or other of these networks, to obtain a satisfactory image quality and a desired compression factor. The output of the fixed compression network for use (25) is selected, if a bit counter (18) determines that the output of the variable compression network does not achieve the compression factor desired.
Description
COMPRESSION SYSTEM OF IMAGE DATA
The present invention relates to a data compression network for use in a digital signal processing system. In particular, the invention relates to a data compression network for an image signal processor, such as that which can be employed in a television system. Sophisticated digital signal processing systems, with associated large memory requirements, are becoming increasingly common. The need to limit memory requirements, particularly in consumer products such as video and television systems, is important to keep the costs of these products at a reasonable level. There are different data compression techniques available to reduce memory requirements, and to facilitate the transmission of data over limited channels in their bandwidth, while maintaining acceptable image quality. These compression techniques include differential pulse code modulation (DPCM), sub-scripting band coding including transformation coding, vector quantization, hybrid coding, and adaptive versions of these techniques. Recent developments in signal processing of
images, include the development of the signal processing standard of the MPEG (Group of Experts in Moving Images) (ISO / IEC 13818-2, May 10, 1994). This widely accepted standard uses image block processing, and is particularly attractive for use with satellite, cable, and terrestrial broadcasting systems, including high definition television (HDTV) systems. The execution of the MPEG decoding algorithm requires the storage of previously decoded data. In accordance with the principles of the present invention, it is recognized as desirable to reduce the storage requirements by using a block-based compression system. In accordance with the principles of the present invention, a data compression system using two different compression networks is described. The compressed data from one or the other of these networks are selected to obtain a satisfactory image quality and a desired compression factor. In one preferred embodiment described, one network provides fixed data compression, and the other network provides variable data compression, the data compression is based on the blocks, and the two data compression networks operate concurrently in parallel. The output of the fixed compression network is used if it is determined that the
The output of the variable compression network does not reach the desired compression factor.
Brief Description of the Drawings Figure 1 is a block diagram of a portion of an image data processing system that includes a data compression network in accordance with the principles of the present invention. Figure 2 shows the variable length compressor of Figure 1 in greater detail. Figure 3 illustrates a pixel scanning pattern of image blocks for a predictive coding process. Figure 4 illustrates a group of pixels useful in understanding the operation of a portion of the predictive coding process. Figure 5 shows the fixed-length compressor of Figure 1 in greater detail. Figure 6 illustrates an alternative dual trajectory compression network. The compression system to be described uses a variable compression network in parallel with a fixed compression network. Compression networks operate concurrently on the same pixel block. The variable compression network has the advantage that it has no losses
or substantially no losses, and it is the preferred compression network. If the variable compression network is not successful to achieve a desired predetermined amount of data compression, the output of the fixed compression network is used instead. Although the fixed compression network can obtain the desired amount of compression with this network, it has the drawback of having losses. In Figure 1, a source of representative image data is applied from a source 10 to an input terminal 12 of a data compression network that includes parallel independent data compression paths 14 and 20. The path 14 is a trajectory substantially lossless, and includes a variable compression processor 16 that provides compressed data to one of the signal inputs of a multiplexer (MUX) 25, and a bit counter 18. The counter 18 monitors the bit count of each block of data compressed by the unit 16, and provides a switching control signal to a control input of the multiplexer 25. Additional details of the compression path 14 are shown and discussed in connection with Figure 2. The path 20 is a loss trajectory including a fixed compression processor 22 as shown in greater detail in Figure 5. The output data compressed from the unit 22 is p they provide another signal input from the multiplexer 25.
The multiplexer 25 provides the compressed data from the path 14, or the compressed data from the path 20, to an output terminal 28 of the compression network, as will be explained in more detail below. The compressed output data is provided to a memory 30. The output data from the memory 30 is decompressed by the unit 34 before being provided to a visual display processor 35. The processor 35 is essentially a collapse of video data, and it may comprise a motion compensation processor within an MPEG decoding cycle, or other types of video processor that require data from a frame storage element such as memory 30. In this mode, source 10 provides output data which represent a visual display of the image scanned in a grid, the data being provided in the form of a succession of blocks of pixels (image elements), for example, blocks of 8 x 8 pixels. This is done in a well-known manner, such as by using a buffer with properly controlled read / write functions. Each pixel value is defined by an 8-bit word. The compression network based on blocks 14, 20, compresses each block of pixels in an independent manner, and essentially guarantees that each block is compressed by
a previously determined or greater compression factor. The output of any compression path 14 or 20 is selected to be used by the utilization network 30, 34, 35 to provide a satisfactory image quality and the desired compression factor. The compression factor indicates the amount of memory space that will be saved when a block of pixels is stored. For example, a 50 percent compression factor results in a compressed block that is 50 percent of its original size, and will occupy 50 percent less memory space compared to the original block. Compression factors greater than 50 percent can be used as well. However, it has been determined that compression factors that do not exceed 50 percent produce good results. A compression factor of 25 percent is essentially transparent, compared to a conventional decoder that processes without this compression. At a 50 percent compression, the results are less transparent, but the results are acceptable and are not considered to be significantly different than conventional decoder processing without memory reduction. The nature of multiple trajectories of the compression network achieves a high image quality and guarantees that at least the fixed compression factor is reached. The variable compression path 14 exhibits a compression
no losses or almost no losses, but the number of output bits provided by the path 14 is variable. The number of output bits of the compressed block from the path 14 is monitored by the counter 18. If the number of bits of the compressed block 14 is equal to, or less than, or a previously determined objective bit count associated with the factor of previously determined compression, the output of compressed data from the path 14 is selected by the multiplexer 25, and is conveyed to the memory 30. Otherwise, the output of the compressed block is used from the fixed compressor 22. As will be discussed, the compressor-fixed 22 uses a lossy compression routine, with a quantization to produce a fixed objective bit output. To facilitate decompression, for each compressed block, each compression network inserts signaling information into the data stream to indicate the type of compression that was performed on the block. The signaling information could be one or more bits inserted at the beginning of each compressed data block, for example, in a header. The signaling bits are detected by the decompression networks 34, which perform the inverse of the compression that was used to compress the block associated with the given signaling bits. The header may contain other control information, such as quantization control information, for example.
Preferably, variable compression is used in the smooth areas of an image, to avoid annoying contour artifacts. The quality of the image is essentially guaranteed as high over these areas, because the variable compressor 16 uses little or no quantization, which is a substantially lossless process. On the other hand, the fixed compressor 22 can be used in the image areas containing significant detail information. Since there is no likelihood that the quantization noise in these areas will introduce much perceptible error, quite possibly the perceived quality of an image area subjected to the fixed compression in the path 20 will be good. However, it is not necessary to selectively use variable compression and fix in this way, although in many systems it will be beneficial to do so. The selection of which of the two compressed blocks to use is simply based on the bit count of the compressed block from the variable compressor 16. If the bit indicates that the compressor 16 has reached the desired compression, it is used. The compressor 16 is the preferred compressor, because it has no losses. Otherwise, the compressor 22 is used. The block-based compression performed by the compression network 14, 20, and the independent compression of each block, allows a decoder to decode each block without the need for information with respect to any other
block. Since each block is compressed by a previously determined compression factor, the memory address of the first pixel of each block is known in advance. It is desirable that block-based compression be able to achieve both high compression performance and easy access to each pixel of a block of pixels, even when these two results are rivals in nature. That is, a high compression performance requires a large block size, while simple access to the pixels requires a small block size. It has been found that substantially these two characteristics can be achieved with block sizes of pixel pixels of 8 x 8 and pixels of 16 x 4. The blocks are formed in the pixel sizes N x N required in unit 10 as mentioned previously. In this example, each block of field-based pixels is scanned in a raster fashion as shown in Figure 3, from left to right in a downward direction. This oration is performed on both units 16 and 22 using delay elements 52, 54 and 56. Figure 2 shows the variable compression network. This network uses a DPCM cycle with an adaptive prediction to produce a (residual) difference signal using known techniques. This difference is coded with variable length, and the resulting number of coded difference bits is monitored to indicate whether or not the factor has been achieved.
desired compression for the block in progress. The architecture of Figure 2 is a classic predictive coding network that resembles an MPEG compression cycle. In Figure 2, the differentiation of the network 42 produces an output representing the difference (residue) between the input pixel values applied to a non-inverting input (+) of the unit 42 and the predicted pixel values applied. to an inversion input (-) of unit 42, respectively. The predicted value is obtained using a DPCM processing cycle, which includes a differentiator 42, a variable length encoder 44 and a variable length decoder 46 which performs the inverse of the coding operation performed by unit 44. The encoder of Variable length may include an optional high resolution quantizer and an entropy encoder (eg, a Huffman encoder) for lossless or near lossless compression. The variable length decoder includes a reverse quantizer and an entropy decoder. The reverse decoded output of the unit 46 is added to a unit 48 with an output of a prediction network including a prediction mechanism 50 and associated pixel delay elements 52, 54 and 56. These elements provide delays of one, seven , and one pixel, respectively. A predicted pixel value output of unit 50 is applied to adder 48 inputs and
differentiator 42. Figure 4 shows an exemplary arrangement of a group of four pixels A, B, C, and X (the pixel to be predicted) associated with the predictive processing and coding operation of the DPCM network. Reference is also made to this group of pixels in the block of pixels shown in Figure 3. In this example, pixel B is delayed by a range of one pixel in relation to pixel C, pixel A is delayed by a range of seven pixels relative to the pixel B, and the pixel X is delayed by a range of one pixel relative to the pixel A. The prediction process DPCM is well known and will be discussed later. The compressed pixel data is separated from the output of the variable length encoder 44 by a unit 60 before being provided to the MUX 25 of FIG. 1. The separator 60 stores the output of the variable compression process until the complete block has been processed. , at which time it is possible to determine if the objective compression factor has been reached or not. The bit count of each compressed block output of the encoder 44 is verified by a bit counter 18, which can be implemented by any of several known techniques. After each block of pixels has been variablely compressed, the counter 18 will provide a Control output signal if the count of
compressed bits is at or below a predetermined threshold, indicating that the desired amount of compression has been reached or exceeded by the variable compressor. This Control signal is applied to the switching control input of the multiplexer 25 to cause the multiplexer 25 to transmit the output from the variable length compressor to the utilization network. Otherwise, the output of the compressed block (for the same pixel block) of the fixed-length compressor is transmitted to the utilization network. Figure 5 shows the fixed compression network. This network also uses a DPCM cycle with adaptive prediction, as in the case of the variable compressor. In Figure 5, the elements 48, 50, 52, 52, 54 and 56 perform the same functions as the elements correspondingly marked in Figure 2. The differentiation network 42 also serves the same purpose as the unit 42 in the Figure 2, to produce a residual pixel value, but in a slightly different context, as explained below. The fixed compression network uses nonlinear quantization of the difference pixel values (residuals) provided at the output of the unit 42, as a result of the DPCM processing. A non-inverting input (+) of the unit 42 receives intervals of 64 delayed pixels of input pixel values by a delay element of
64 pixels 55. The reversal input (-) of the unit 42 receives predicted pixel values from the prediction mechanism 50. The output of the residual pixel value of the unit 42 is subjected to inverse quantization and quantization by units 56 and 58 , respectively. The quantization provided by unit 56 is fixed and guarantees a desired fixed amount of data compression. For example, to achieve 25 percent compression of an 8-bit data word, unit 56 removes the last two least significant bits. The amount of fixed compression is not less than the desired amount of compression. Units 56 and 58 operate under the control of a Minimum / Maximum 60 comparison network, which determines the minimum and maximum pixel values for each block of pixels. The quantizer 56 can also be arranged to use a fixed quantizer rule. However, it is more efficient to adapt the quantizer rule in accordance with the minimum and maximum pixel values associated with the block being processed. The Minimum / Maximum comparison unit 60 determines these values. The element 55 provides the necessary time delay for the minimum and maximum values of the 64 pixels of a given block that are to be examined before the first pixel of the block is processed. Referring again to Figure 1, the compressor 22 has no inherent delay, but the combination of the
minimum / maximum comparison and the delay element 55 (Figure 5) causes the compressor 22 to exhibit a delay of one block, which coincides with the delay of a block exhibiting the variable compression path. The fixed-length compression network evaluates twice each of the values of the 64 pixels of each pixel block of 8 x 8, to determine the minimum and maximum pixel values of that block. This process is facilitated by the 64-pixel delay (one block) provided by the element 55. The minimum and maximum values are used to adaptively select between non-linear quantizing rules to be used for each block being processed. The two-step approach that is needed to evaluate each block twice does not add additional latency to the system due to the latency of a block exhibited by the separator 60 of the variable compression path when determining whether the variable compressor has achieved the desired compression . As noted above, when compressors 16 and 22 are arranged in parallel, and the compressor. The fixed compressor uses minimum / maximum comparison, there is a delay of one block in the compressor 22. The variable compressor 16 does not have a delay of an inherent block, so that the bit separator 60 keeps the bits a longer block of time with the object of waiting for the output of the compressor 22. If the fixed compressor 22 does not use minimum / maximum comparison, then the
compressor 22 would not exhibit a delay of one block. The variable compressor 16 does not exhibit an inherent delay of a block due to the spacer 60. The spacer 460 stores the compressor 16 bits before a decision is made as to which of the variable or fixed compression outputs to use. The bit counter 18 determines which output to use when the variable and fixed compression networks are arranged in parallel. As shown in Figure 6, however, compressors 16 and 22 do not need to be arranged in parallel. In this case, the compressor 16 processes a pixel block first, and at the same time the Minimum / Maximum comparison unit 60 (FIG. 5) determines the minimum and maximum pixel values for the block, as explained above. After a delay of one block, it will be known if the compressor 16 has achieved the objective compression or not, and by the same, if the fixed compressor 22 needs to process the block or not. If the variable compressor 16 has achieved the objective compression factor, it will output the variable compressed block to the frame memory. Otherwise, unit 22 will compress the block. Since compressors 16 and 22 may contain architecture and similar functional elements, this implementation conveniently allows similar elements that are used for variable compression in unit 16 to be used again for fixed length compression.
in unit 22. It is not essential to adaptively change the quantizing rules with respect to quantizer 56 of Figure 5. Simple linear quantization can be used. The adaptation of the quantizer rule in accordance with the minimum / maximum pixel values reduces the amount of loss. Each block is scanned once to find the minimum and maximum pixel values. Knowledge of these values allows an appropriate quantitative rule to be chosen before the first (residual) value is quantified. Element 55 delays the first pixel until the quantizing rule is established, which rule also uses the inverse quantizer 58. This may require that signaling bits be added to the data stream to notify the decompression function of the quantizing rule that is is using. The quantizer can be considered as a form of search table, with output bits from the unit 42 representing the address. The quantizer 56 outputs 4-bit data in the case of 50 percent of the compression. The output of the quantizer 56 is an index that the unit 58 uses to approximate the output of the unit 42. This is where a loss can occur, since if the input to the unit 58 is a data of only 4 bits, they are only possible combinations of 16 data, while unit 42 can provide up to 256 possible outputs. The compression network
Figure 5 does not require an output separator. In this modality, the compression networks of Figures 2 and 5 employ the same predictive coding process of the DPCM. The current pixel being coded is predicted by using previously encoded pixels, which are known for the decompressor 34. The prediction process can be explained with reference to Figure 4, where pixel X is the pixel value which is going to be encoded predictively. The pixels A, B and C have been previously predicted and are known for the decompression section. A prediction of X, Xprea / uses the values of A, B and C in accordance with the following pseudocode, which describes the algorithm to be used: yes (| AC | < e? & | BC | > e2 ), Xpred = B (| BC | < e1 & | AC | > e2) f Xpred = A ed ยป(A + B) / 2 The values el and e2 are constants that represent predetermined thresholds. This algorithm is used only for pixels not located in the first row of the first column of the block that is being processed. Some exceptions are handled as follows: the first pixel is encoded very finely in a block, without reference to any other pixel, the pixels in the first row use the value of pixel A as the prediction mechanism, and the pixels in the first column they use the value of pixel B as the prediction mechanism. Basically, this
algorithm tries to detect an edge. In the first case, a vertical edge is suggested between the pixels C and B, and between the pixels A and X. In this way, B is the best prediction mechanism. The second case suggests a horizontal border between A and C, and between B and X. In this way, A is the best prediction mechanism. In the third case, no obvious edge was found. In this case both A and B are equally good predictors, so that their average value is used. The block-based data compression network described can conveniently be used to process compatible MPEG data words. The network exhibits almost lossless compression to reduce the amount of memory needed to store 8x8 luminance data, or 4x4 U, V (croinancia) data. The amount of compression can be selected and can be, for example, 25 percent or 50 percent. Usually, low contrast, low detail image blocks are compressed without loss, while high contrast, high detail data blocks may experience some acceptable loss, particularly in the case of 50 percent compression data. Although in some cases the decompressed pixel blocks can exhibit differences compared to the original pixel blocks, the compression system described on the horizontal detail reduction is preferred to reduce
memory requirements. The described compression system can be applied to all Profiles and all Levels of the MPEG specification, as well as to other digital data processing schemes. In addition, the compression system described in consumer image processing products, such as standard definition and high definition television systems, can be conveniently used. In the proposed Grand Alliance HDTV system for the United States of America, image sequences of 1920 x 1088 pixels in size are encoded using the MPEG standard. The corresponding decoder in a television receiver requires at least 71.72 Mbits of memory to store decoded frames. Since the memory cost can be a significant cost of any system, particularly a frame-based decoding system, any means that can reduce memory requirements can significantly reduce the cost of the decoding system.
Claims (10)
1. A system for processing representative digital image data, including an apparatus, characterized by: a first data compressor (16) exhibiting a first data compression feature; a second data compressor (22) exhibiting a second data compression feature; an input (10, 12) for applying said image data concurrently to both the first and the second compressor; a utilization network (30-35); and a selection network (25) for transmitting compressed data exhibiting a desired compression factor from one or other of said first and second compressors to said utilization network.
2. A system, according to claim 1, characterized in that the first compressor exhibits a variable compression characteristic; and the second compressor exhibits a fixed compression characteristic.
3. A system, according to claim 2, characterized in that variable compression to fixed compression is preferred, such that the selection network selects (a) variable compressed data from the first compressor, when the variable compressed data exhibits a desired or greater compression factor, and (b) compressed data fixed from the second compressor when the variable compressed data exhibits less than the compression factor.
4. A system, according to claim 1, for the processing of representative digital images of images, arranged in the form of blocks of pixels (pixels), characterized in that: said first data compressor exhibits a compression characteristic of variable data; said second data compressor exhibits a fixed data compression characteristic, the second compressor operating in parallel with the first compressor; further comprising: elements coupled to the first compressor to determine if a data block processed by the first compressor exhibits a desired compression factor; and the selection network selectively transmits to the utilization network (a) variable compressed data from the first compressor, when the variable compressed data exhibits a predetermined or greater desired compression factor, and (b) fixed compressed data from the second compressor. compressor when the variable compressed data exhibits less than the compression factor.
5. A system, according to claim 4, characterized in that the determining element comprises a bit counter for determining the number of bits comprising a compressed block.
6. A system, according to claim 4, characterized in that the utilization network comprises a memory.
7. A system, according to claim 4, characterized in that the image data is data compatible with MPEG; and the utilization network comprises a memory. A system, according to claim 7, characterized in that the second compressor comprises a data quantizer; and the first and second compressors include a DPCM network. 9. A method for processing digital data representative of images, arranged in the form of blocks of pixels (pixels), characterized by the steps of: compressing the image data with a first compression characteristic; process the image data with a second different compression feature; determining whether the data subjected to said first compression exhibits a predetermined compression factor or greater compression; transmitting the first compressed data to an output, if said first compressed data exhibits said predetermined compression factor or a higher compression factor; or transmitting the second compressed data to the output, if said first compressed data exhibits a compression lower than said predetermined compression factor. A method, according to claim 9, characterized in that the first compression characteristic is a variable compression characteristic; the second compression characteristic is a fixed compression characteristic; and the image data is data compatible with MPEG.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
MX9606644A MX9606644A (en) | 1996-12-18 | 1996-12-18 | Block based data compression system. |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US579193 | 1995-12-27 | ||
MX9606644A MX9606644A (en) | 1996-12-18 | 1996-12-18 | Block based data compression system. |
Publications (2)
Publication Number | Publication Date |
---|---|
MXPA96006644A true MXPA96006644A (en) | 1998-01-01 |
MX9606644A MX9606644A (en) | 1998-01-31 |
Family
ID=39165329
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
MX9606644A MX9606644A (en) | 1996-12-18 | 1996-12-18 | Block based data compression system. |
Country Status (1)
Country | Link |
---|---|
MX (1) | MX9606644A (en) |
-
1996
- 1996-12-18 MX MX9606644A patent/MX9606644A/en unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0782345B1 (en) | Memory management for a video decoder | |
CA2452550C (en) | An apparatus and method for encoding digital image data in a lossless manner | |
JP4216341B2 (en) | Pixel block compression apparatus in an image processing system | |
US7162091B2 (en) | Intra compression of pixel blocks using predicted mean | |
US7181072B2 (en) | Intra compression of pixel blocks using predicted mean | |
JP4491349B2 (en) | Intra-coding method and apparatus for video data | |
US20030185303A1 (en) | Macroblock coding technique with biasing towards skip macroblock coding | |
US8811493B2 (en) | Method of decoding a digital video sequence and related apparatus | |
JP2015039176A (en) | System and method for decoding digital image and audio data in lossless manner | |
WO2004038921A2 (en) | Method and system for supercompression of compressed digital video | |
WO2007079781A1 (en) | Picture coding using adaptive colour space transformation | |
EP0782341A2 (en) | Image data compression system | |
KR20040098631A (en) | Adaptive universal variable length codeword coding for digital video content | |
US20180213247A1 (en) | Method and device for lossless compression of video data | |
KR100531259B1 (en) | Memory efficient compression method and apparatus in an image processing system | |
US20030012431A1 (en) | Hybrid lossy and lossless compression method and apparatus | |
US6823015B2 (en) | Macroblock coding using luminance date in analyzing temporal redundancy of picture, biased by chrominance data | |
EP1977602A1 (en) | Picture coding using adaptive colour space transformation | |
US5764357A (en) | Zero-run-length encoder with shift register | |
KR100549208B1 (en) | Overhead data processor in a memory efficient image processing system | |
KR100277953B1 (en) | Digital tv receiver | |
MXPA96006644A (en) | Ima data compression system | |
EP1142345A1 (en) | Video memory management for mpeg video decode and display system | |
KR100208983B1 (en) | An encoder using adaptive quantization | |
EP1758403A2 (en) | Video memory management for MPEG video decode and display system |