Abstract:
An information compression apparatus which compresses information and uses a DCT frequency conversion algorithm includes a plurality of block registers, a correction level register, a first control mechanism, and a data correction mechanism. The plurality of block registers store block-based multi-bit quantized data converted from the information output from an quantization execution module. The correction level register presets a correction level indicating a degree of data correction. The first control mechanism controls so as to perform a scanning operation for scanning each block of the plurality of block registers and a search operation for searching a block having a valid coefficient. The data correction mechanism corrects data to modify the valid coefficient of the block searched by the first control mechanism to an invalid coefficient based on the correction level started in the correction level register.

Description:
FIELD  
         [0001]    This patent specification describes an apparatus, a method and a program for compressing information which include an image processing apparatus for use of DCT (Discrete Cosine Transform) frequency conversion algorithm or a sound compression processing apparatus for use of conversion algorithm such as an adaptive differential PCM (Pulse Code Modulation). More particularly, the patent specification describes an apparatus, a method and a program for compressing information applied to a digital copier, a printer, a digital camera, or an audio transceiver device, an intermediate equipment in a public communication network, and an intermediate equipment of satellite communication and the like.  
         BACKGROUND  
         [0002]    Conventionally, transmission of image information and storage of the image information in a storage device require a steep communications charge and a large capacity storage. To efficiently transmit or store image information, various technologies are currently used for compressing images.  
           [0003]    One such example is to reduce an amount of coding by using image features and to omit a portion of information. Another is an entropy coding which assigns a short code to a value which frequently occurs. Another is to reduce an amount of coding by increasing a statistical bias.  
           [0004]    An image compression method includes an information conversion process and an entropy coding process to represent the image information with minimum codes, 1 and 0. In the information conversion process, as mentioned previously, a previous processing for matching image contents is performed by reducing the amount of coding, omitting a portion of information, modifying images to features rather than pixels, and converting image features so as to increase a statistical bias. In the entropy coding, a short code is assigned to a value which frequently occurs.  
           [0005]    Additionally, sound compression also possesses problems in that sound is susceptible to noise and distortion during transmission. This causes these inaccuracy information to be stored in a recording medium. To efficiently transmit or store sound information, various technologies are currently used for compressing sound. One such example is to covert analog signals into digital signals to reduce noise, distortion, and degradation of information during transmission. However, bit rates may well be limited to 9.6 k bits/second based on current modem technology. Since the above-described techniques take 60 k bits/second to transmit the signals, the resultant signals cannot be transmitted via a communication line. Therefore, the sound signal compression (i.e., low bit coding) is required to transmit information.  
           [0006]    As distribution of a signal amplitude is uniform, a given bit is effectively used and much information can be transmitted. According to this theory, the distribution of the signal amplitude is made as uniform as possible before it is coded. As a result, much information can be transmitted with less bits.  
           [0007]    From this theory, a non-linear (logarithmic) companding PCM and a differential PCM and the like are further improved to develop an ADPCM (Adaptive Differential PCM).  
           [0008]    In an image compression apparatus, a discrete cosine transform (DCT) is performed on an 8 times 8 pixel block to quantize the resultant value. In many cases, an alternating, or AC component are Huffman coded by scanning in a zigzag towards a high frequency from a low frequency (i.e., a zigzag scan). The Huffman codes are of variable length so that the codes are variable based on a likelihood of occurrence.  
           [0009]    In addition, there is a trade off between a code amount and an original image. In general, increasing the size of a quantization table for less codes significantly degrades image quality. On the other hand, decreasing the size of the quantization table for less image degradation usually increases the code amount.  
           [0010]    [0010]FIG. 1 is a drawing illustrating an example of a quantized 8 times 8 block register in a DCT coefficient algorithm. Zigzag arrows show a sequence of zigzag scanning at the time of Huffman coding. A pixel r 00  represents a directing, or DC component which shows intensities (i.e., brightness) of 8 times 8 blocks. The other components are AC components represented by a slope from a low-frequency component to a high-frequency component as indicated by a translucent arrow.  
           [0011]    After quantization, the coefficient is not likely to exist in the high frequency component. If any, the coefficient has little influence on images.  
           [0012]    However, the Huffman coding is run length-dependent, but it is not affected by frequencies. If the high-frequency component has a isolated coefficient, an amount of coding is increased.  
           [0013]    Japanese Laid-Open Patent Application Publication, No. 2000-125295, entitled “MOVING PICTURE CODER, ITS METHOD, MOVING PICTURE DECODER, ITS METHOD AND STORAGE MEDIUM” describes a method for reducing the quantity of transmission data while optimizing Huffman codes.  
           [0014]    According to the above-mentioned specification, an optimum Huffman code is designed from quantized DCT transform coefficient data. An existing Huffman code is compared with the newly designed Huffman code to discriminate the necessity of a change of the Huffman code. When the new Huffman code is selected, a Huffman code table of the new Huffman code is stored in a table buffer, the new Huffman code table is added to the head of a JPEG file, and Huffman coding is applied to quantized DCT transform coefficient data and the result is added to the JPEG file. when the Huffman coding is applied to the data by using the existing Huffman code table, the Huffman code table does not need to be added to each frame.  
           [0015]    Thus, the existing Huffman code table includes redundant information, which causes a decrease in coding efficiency. The new Huffman code table is optimally designed depending on a statistical nature of each frame. In the method of the above-mentioned specification, the difference between the existing Huffman code and the newly designed Huffman code is determined. If the resultant difference is less than a predetermined threshold value, the existing Huffman code table is utilized. If the difference is greater than the predetermined threshold value, the newly designed Huffman code table is utilized.  
           [0016]    As described previously, in the image compression apparatus, there is a trade off between a code amount and an original image. In general, increasing the size of a quantization table for less codes significantly degrades image quality. On the other hand, decreasing the size of the quantization table for less image degradation usually increases the code amount.  
           [0017]    To reduce the code amount while maintaining fidelity with an original image, an optimum quantized table needs to be selected from image types to be coded, as described in the above-mentioned specification. All existing techniques, however, possess their own distinct disadvantages. In a digital copier and a printer application, the optimum quantized table is downloaded for each image, which causes a decrease in system performance from a viewpoint of a processing speed.  
           [0018]    Moreover, when the image types are not predicable, the quantized table is often predetermined in accordance with degree of image compression. As a result, an output code is not always the optimum code.  
           [0019]    For sound compression, the same problems as the image compression occurs. There is a trade off between a code amount and an sound amount. Since the distribution of the signal amplitude is made as uniform as possible before it is coded, much information can be transmitted with less bits. However, when too few bits are transmitted, fidelity of sound is decreased.  
         SUMMARY  
         [0020]    In one embodiment, a novel information compression apparatus which compresses information and uses a DCT frequency conversion algorithm includes a plurality of block registers, a correction level register, a first control mechanism, and a data correction mechanism. The plurality of block registers store block-based multi-bit quantized data converted from the information output from an quantization execution module. The correction level register presets a correction level indicating a degree of data correction. The first control mechanism controls so as to perform a scanning operation for scanning each block of the plurality of block registers and a search operation for searching a block having a valid coefficient. The data correction mechanism corrects data to modify the valid coefficient of the block searched by the first control mechanism to an invalid coefficient based on the correction level started in the correction level register.  
           [0021]    The valid coefficient may be a coefficient having any coding amount except 0.  
           [0022]    The scanning operation may include an inverse zigzag operation.  
           [0023]    The above-mentioned information compression apparatus may further include a second control device which receives multi-bit quantized data output from the quantized execution module before the multi-bit quantized data is transmitted to the plurality of block registers and causes the first control mechanism to start the search operation.  
           [0024]    The data correction device may move addresses of an isolated valid coefficient searched instead of modifying the valid coefficient to the invalid coefficient when modifying the valid coefficient to the invalid coefficient based on the correction level causes the information deterioration to an extent exceeding a predetermined limit so that the isolated valid coefficients are consecutively arranged.  
           [0025]    The above-mentioned information compression apparatus may further include a block register net. The block register net may include a plurality of logical OR circuits corresponding to a plurality of frequencies used by the DCT frequency conversion algorithm such that each of the plurality of logical OR circuits outputs  1  when any one of the block registers connected thereto has a valid coefficient, and wherein the first control mechanism cancels its scanning operation.  
           [0026]    A number of the plurality of logical OR circuits may be equal to a number of the plurality of frequencies.  
           [0027]    When a quantization table for quantizing the plurality of block coefficients stored in registers is relatively large, the plurality of logical OR circuits for a high frequency side may be connected to each other.  
           [0028]    The apparatus may use a Huffman coding method. The apparatus may use a JPEG coding method. The apparatus may use a sound data coding method.  
           [0029]    Further, in one embodiment, a novel information compression method for compressing information and using a DCT frequency conversion algorithm includes the steps of presetting, latching, performing, modifying, counting, modifying, incrementing, continuously performing, and transferring. The presetting step presets a predetermined correction level indicating a degree of data correction. The latching step latches quantized data including valid coefficients and invalid coefficients into a block register. The performing step performs an inverse zigzag scan for scanning the block register to search a valid coefficient. The modifying step modifies an initially searched valid coefficient to an invalid coefficient. The counting step counts a number of searched valid coefficients. The modifying step modifies a subsequent searched valid coefficient to the invalid coefficient. The incrementing step increments the number of valid coefficients by one. The continuously performing step performs the inverse zigzag scan when the number of searched coefficients counted in the counting step is smaller than the collection level in the presetting step. The transferring step transforms the data of the block register to a coding module when the correction counter value reaches the correction level.  
           [0030]    When a valid coefficient is modified to an invalid coefficient in the modifying steps, valid coefficients smaller than a predetermined threshold value may be deleted.  
           [0031]    The above-mentioned program of an information compression may further include a presearching step for searching quantized data output from the quantization execution module before the search step.  
           [0032]    The above-mentioned program of an information compression may further include an address moving step for moving addresses of isolated valid coefficients searched such that the isolated valid coefficients are consecutively arranged when the information deterioration to an extent exceeds a predetermined limit in the modifying steps, and wherein the modifying the steps are canceled instead.  
           [0033]    The above-mentioned program of an information compression may further include a calculating step and a start address changing step. The calculating step calculates a total sum of coefficients of block registers arranged along each scanning line corresponding to one of different frequencies used in the DCT frequency conversion algorithm. The start address changing step changes an address of the block register to start the inverse zigzag scan.  
           [0034]    The above-mentioned information compression method may further include a summing up step for summing up a plurality of the total sums calculating by calculating step to execute code calculation at an appropriate part of the block register.  
           [0035]    Further, in one embodiment, a novel program of an information compression causing a computer using a JPEG coding method to execute an information compression operation according to a method includes the steps of presetting, latching, performing, modifying, counting, modifying, incrementing, continuously performing, and transferring.  
           [0036]    The presetting step presets a predetermined correction level indicating a degree of data correction. The latching step latches quantized data including valid coefficients and invalid coefficients into a block register. The performing step performs an inverse zigzag scan for scanning the block register to search a valid coefficient. The modifying step modifies an initially searched valid coefficient to an invalid coefficient. The counting step counts a number of searched valid coefficients. The modifying step modifies a subsequent searched valid coefficient to the invalid coefficient. The incrementing step increments the number of valid coefficients by one. The continuously performing step performs the inverse zigzag scan when the number of searched coefficients counted in the counting step is smaller than the collection level in the presetting step. The transferring step transfers the data of the block register to a coding module when the correction counter value reaches the correction level.  
           [0037]    When a valid coefficient is modified to an invalid coefficient in the modifying steps, valid coefficients smaller than a predetermined threshold value may be deleted.  
           [0038]    The above-mentioned program of an information compression may further include a presearching step for searching quantized data output from the quantization execution module before the search step.  
           [0039]    The above-mentioned program of an information compression may further include an address moving step for moving addresses of isolated valid coefficients searched such that the isolated valid coefficients are consecutively arranged when the information deterioration to an extent exceeds a predetermined limit in the modifying steps, and wherein the modifying the steps are canceled instead.  
           [0040]    The above-mentioned program of an information compression may further include a calculating step and a start address changing step. The calculating step calculates a total sum of coefficients of block registers arranged along each scanning line corresponding to one of different frequencies used in the DCT frequency conversion algorithm. The start address changing step changes an address of the block register to start the inverse zigzag scan.  
           [0041]    The above-mentioned program of an information compression may further include a summing up step for summing up a plurality of the total sums calculating by calculating step to execute code calculation at an appropriate part of the block register.  
           [0042]    Further, in one embodiment, a novel program of an information compression causing a computer using a JPEG coding method to execute an information compression operation according to a method includes the steps of presetting, latching, performing, modifying, counting, modifying, incrementing, continuously performing, and transferring. The presetting step presets a predetermined correction level indicating a degree of data correction. The latching step latches quantized data including valid coefficients and invalid coefficients into a block register. The performing step performs an inverse zigzag scan for scanning the block register to search a valid coefficient. The modifying step modifies an initially searched valid coefficient to an invalid coefficient. The counting step counts a number of searched valid coefficients. The modifying step modifies a subsequent searched valid coefficient to the invalid coefficient. The incrementing step increments the number of valid coefficients by one. The continuously performing step performs the inverse zigzag scan when the number of searched coefficients counted in the counting step is smaller than the collection level in the presetting step. The transferring step transforms the data of the block register to a coding module when the correction counter value reaches the correction level.  
           [0043]    Further, in one embodiment, a novel program of an information compression causing a computer using a sound data coding method to execute an information compression operation according to a method includes the steps of presetting, latching, performing, modifying, counting, modifying, incrementing, continuously performing, and transferring. The presetting step presets a predetermined correction level indicating a degree of data correction. The latching step latches quantized data including valid coefficients and invalid coefficients into a block register. The performing step performs an inverse zigzag scan for scanning the block register to search a valid coefficient. The modifying step modifies an initially searched valid coefficient to an invalid coefficient. The counting step counts a number of searched valid coefficients. The modifying step modifies a subsequent searched valid coefficient to the invalid coefficient. The incrementing step increments the number of valid coefficients by one. The continuously performing step performs the inverse zigzag scan when the number of searched coefficients counted in the counting step is smaller than the collection level in the presetting step. The transferring step transforms the data of the block register to a coding module when the correction counter value reaches the correction level.  
           [0044]    Further, in one embodiment, a novel computer-readable media storing a program of an information compression causing a computer to execute an information compression operation using a DCT frequency conversion algorithm according to a method includes the steps of presetting, latching, performing, modifying, counting, modifying, incrementing, continuously performing, and transferring. The presetting step presets a predetermined correction level indicating a degree of data correction. The latching step latches quantized data including valid coefficients and invalid coefficients into a block register. The performing.step performs an inverse zigzag scan for scanning the block register to search a valid coefficient. The modifying step modifies an initially searched valid coefficient to an invalid coefficient. The counting step counts a number of searched valid coefficients. The modifying step modifies a subsequent searched valid coefficient to the invalid coefficient. The incrementing step increments the number of valid coefficients by one. The continuously performing step performs the inverse zigzag scan when the number of searched coefficients counted in the counting step is smaller than the collection level in the presetting step. The transferring step transforms the data of the block register to a coding module when the correction counter value reaches the correction level. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0045]    A more complete appreciation of the disclosure and many of the attendant advantages thereof will be readily obtained as the same becomes better understood by reference to the following detailed description when considered in connection with the accompanying drawings, wherein:  
         [0046]    [0046]FIG. 1 is a drawing illustrating an example of a quantized 8 times 8 block register in a general DCT coefficient encoder;  
         [0047]    [0047]FIG. 2 is a block diagram illustrating an embodiment of an information compression apparatus according to the present specification;  
         [0048]    [0048]FIG. 3 is a block diagram illustrating another embodiment of an information compression apparatus according to the present specification;  
         [0049]    [0049]FIG. 4 is a flowchart illustrating an embodiment of an information compression method for explaining an operation of FIG. 2 according to the present specification;  
         [0050]    [0050]FIG. 5 is a drawing illustrating an inverse zigzag scan sequence of a quantized 8 times 8 block register for explaining an operation of FIG. 2 according to the present specification;  
         [0051]    [0051]FIG. 6 is a drawing illustrating an embodiment of block register nets of an 8 times 8 block register according to the present specification;  
         [0052]    [0052]FIG. 7 is a drawing illustrating another embodiment of block register nets of an 8 times 8 block register according to the present specification; and  
         [0053]    [0053]FIG. 8 is flowchart illustrating an embodiment of an information compression method for explaining an operation of FIG. 6 according to the present specification. 
     
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS  
       [0054]    In describing preferred embodiments illustrated in the drawings, specific terminology is employed for the sake of clarity. However, the disclosure of this patent specification is not intended to be limited to the specific terminology so selected and it is to be understood that each specific element includes all technical equivalents that operate in a similar manner. Referring now to the drawings, wherein like reference numerals designate identical or corresponding parts throughout the several views, particularly to FIG. 2, a DCT coefficient encoder block  20  according to a preferred embodiment of the present specification is explained.  
         [0055]    As shown in FIG. 2, the DCT coefficient encoder block  20  is newly placed between a quantization execution module  10  of a first stage and a Huffman coding execution module  30  of a second stage. The DCT coefficient encoder block  20  includes a correction level setup register  22 , a correction counter  23 , an 8 times 8 pixel block register  21 , a search control device  24 , and a data correction device  25 . The correction level setup register  22  sets up a level of correction. The correction counter  23  corrects the number of times of correction to be executed. The 8 times 8 pixel block register  21  stores data on an 8 times 8 pixel basis after a quantization. The search control device  24  searches data to be corrected. The data correction device  25  corrects searched data. Conventionally provided is the 8 times 8 pixel block register  21  which has a quantization table for showing an execution result of the quantization execution module  10 .  
         [0056]    [0056]FIG. 4 is a flowchart illustrating an decreased amount of coding of the DCT coefficient encoder block  20  in FIG. 2. FIG. 5 is a drawing illustrating an operation of the quantized 8 times 8 pixel block register in FIG. 4.  
         [0057]    As indicated by arrows of FIG. 1, a correction level is set in the correction level setup register  22  (Step  101 ). The correction level refers to an coefficient for indicating a degree of data correction for setting the number of times of data correction or a value of amount of coding. An increase in the correction level degrades image, but reduces the amount of coding to be generated.  
         [0058]    The quantization execution module  10  then performs a DCT transformation and latches the quantized data into the 8 times 8 block register  21  (Step  102 ).  
         [0059]    Referring now to FIG. 5, the 8 times 8 pixel block register  21  is inversely zigzag scanned to search valid coefficients. In a conventional JPEG algorism, Huffman coding is performed in accordance with a zigzag scan order (i.e., in a forward direction) shown in FIG. 1. As a result, as one exemplary coefficient r 13  shown in FIG. 5 (see r 13  of FIG. 1), a code length of Huffman coding is increased when a front and back blocks of the coefficient r 13  are invalid (coefficients with 0 value).  
         [0060]    The valid coefficient (r 13  with 1 value) initially searched by the inverse zigzag scan is modified to 0 (Steps  103  and  104 ). At the same time, the correction counter  23  is counted up from 0 to 1 (Step  104 ).  
         [0061]    When the correction counter  23  lacks a correction level or the number of a coefficient to be modified is greater than one or the coefficient exceeds a predetermined value even if one coefficient is modified from 1 to 0 (Step  105 ), the inverse zigzag scan continues and the next valid coefficient (r 30  with 1 value) is modified to 0 (Steps  103  and  104 ).  
         [0062]    In this step, when the correction counter  23  reaches the correction level (Step  105 ), it determines that the correction of the 8 times 8 pixel block register  21  has terminated to transfer data of the block register  21  to the Huffman coding execution module  30  (Step  106 ). At the same time, the value of the correction counter  23  is reset.  
         [0063]    After the data transfer is completed, the quantization execution module  10  inputs a next 8 times 8 pixel block image into the 8 times 8 pixel block register  21 . In Step  107 , it is determined whether or not one page data is transferred. If the data is transferred, a process terminates. Otherwise, returning to Step  102 , the 8 times 8 pixel block register  21  receives the next data block. This process is iterated until all data are input to the 8 times 8 pixel block register  21 .  
         [0064]    The above-mentioned flow may be applied to mula or chroma components.  
         [0065]    In Step  103 , when a newly searched valid coefficient  1  is located at a relatively low frequency or a coefficient itself has a large value, correction affects the image. To avoid these affects, a register which sets up minimum frequency or maximum valid coefficient for correction may be applied.  
         [0066]    When the image deterioration exceeds a limit even when the above-mentioned techniques, an address of an isolated valid coefficient may be moved to line up other valid coefficients together without modifying the valid coefficient to the invalid coefficient. For example, in FIG. 4, the r 13  pixel has a coefficient  1 . The coefficient  1  is modified to 0. At the same time, r 22  pixel located in front of r 13  is modified to a coefficient  1  in the inverse zigzag scan.  
         [0067]    As a result, since the valid coefficient is moved to some extent in a high frequency direction without modifying the valid coefficient to the invalid coefficient, the image deterioration is minimized.  
         [0068]    This process also reduces a code generated by Huffman coding. In addition, when the valid coefficient is modified to the invalid coefficient in the modifying steps, valid coefficients smaller than a predetermined threshold value are deleted.  
         [0069]    [0069]FIG. 6 is a drawing illustrating an example of an separated 8 times 8 pixel block register  21  according to another embodiment of the present specification. FIG. 8 is a flowchart for explaining an operation of FIG. 6.  
         [0070]    In the above-mentioned embodiment shown in FIG. 2, when the 8 times 8 pixel block register  21  is inversely zigzag scanned, each register block is required to be accessed so that substantially amount of time is consumed. This embodiment improves this point for efficiency of the scan time.  
         [0071]    A block register shown in FIG. 6 is provided with an OR circuit (i.e., block register nets f 1  to f 15 ) at the same time the coefficient is set to each block per scan lines or in accordance with each frequency (which is used by the DCT conversion) of a table after quantization.  
         [0072]    The block register nets include OR circuits of all registers for each frequency (f 1  to f 15 ). Left numbers of f 1  to f 15  represent results of OR circuits. Therefore, when one pixel or one bit is input, the value of the block register net is 1. In this process, 1 is set to the block register nets f 1  to f 15  immediately once data are input in all  64  blocks so that a correction address is immediately selected without the inverse zigzag scan.  
         [0073]    In this embodiment, the structure of an information compression apparatus is the same as FIG. 1 except the block net registers f 1  to f 15  are added to the 8 times 8 pixel block register  21 .  
         [0074]    Referring to FIG. 8, an general operation of the information compression apparatus is illustrated.  
         [0075]    The correction level is set in the correction level setup register  22  (Step  201 ). The quantization execution module  10  then performs a DCT transformation and latches the quantized data into the 8 times 8 block register  21  (Step  202 ). The valid coefficient is searched from the register blocks included in the searched block register net (Step  203 ). The block register is checked to search the block which closes to the high-frequency. In FIG. 6, the f 5  is searched (Step  204 ). The initially searched valid coefficient (r 13  with 1 value) is corrected to the invalid coefficient (r 13  with 0 value). At the same time, the correction counter  13  is counted up from 0 to 1 (Step  205 ).  
         [0076]    When the correction counter  23  lacks a correction level (Step  206 ), the search device  24  continues to inversely search the block register net (Step  204 ) and the data correction device  25  modifies the next valid coefficient (r 14  with 1 value) to 0 (Step  205 ).  
         [0077]    In this step, when the correction counter  23  reaches the correction level (Step  206 ), the correction of the 8 times 8 pixel block register  21  has terminated and data of the block register  21  is transferred to the Huffman coding execution module  30  (Step  207 ). At the same time, the value of the correction counter  23  is reset. After the data transfer is completed, the quantization execution module  10  inputs the next 8 times 8 pixel block image into the 8 times 8 pixel block register  21  (Step  202 ). If one page data is transferred (Step  208 ), the process terminates. This process is iterated until all data are input to the 8 times 8 pixel block register  21 .  
         [0078]    [0078]FIG. 7 is a drawing illustrating an example of the 8 times 8 pixel block register  21  according to another embodiment of the present specification.  
         [0079]    In the embodiment shown in FIG. 6, fifteen block register nets are used to split the 8 times 8 pixel block register  21 . However, when fidelity to the original image of a desired image is known and a quantization table is used to locate the point where the valid coefficient exists, the above-mentioned split method is modified to efficiently reduce a generated code. For example, as shown in FIG. 7, when the quantization table is relatively large, a high-frequency component often includes the invalid coefficient so that it is beneficial to search the block register nets f 9  to f 15  shown in a dotted triangle as one block. Therefore, an operation flowchart is the same steps as FIG. 8. However, the time for checking the block register net of Step  203  to search the value except 0 is reduced.  
         [0080]    [0080]FIG. 3 is a drawing illustrating an example of the information compression apparatus according to another embodiment of the present specification.  
         [0081]    In the embodiments shown in FIGS. 2, 6 and  7 , the quantization execution module  10  transfers data into the 8 times 8 block register  21  and the 8 times 8 block register  21  receives the data to set the coefficient to each block of the register  21 . Subsequently, the zigzag scan is performed or OR circuits are provided with all register blocks of the register  21  at each frequency to perform OR operations. The resulting data is displayed in the block register nets f 1  to f 15 . Therefore, the 8 times 8 block register  21  receives the data and then the process stars so that it takes time to start the process. This embodiment solves the above-mentioned point.  
         [0082]    As shown in FIG. 3, a control device  40  is connected at the output side of the quantization execution module  10 . The quantization execution module  10  connects to the search register  24  of the DCT coefficient encoder block  20  for operating both devices together.  
         [0083]    When the embodiment shown in FIG. 5 is applied to FIG. 2, the quantization execution module  10  performs the DCT transformation and outputs the quantized data into the 8 times 8 block register  21 . At the same time, the search device  40  receives the data to transfer it to the search control device  24  which is prepared to inversely zigzag scan the valid coefficient.  
         [0084]    The 8 times 8 block register  21  receives the data and latches the data into each block of the registers. At the same time, the search control device  24  performs the inverse zigzag scan to start searching the valid coefficient with 1 value. Prior to this process, the correction level is required to be set to the correction level setup register  22 . In addition, the valid coefficient address may be moved to other address.  
         [0085]    When the embodiments shown in FIGS. 6 and 7 are applied to FIG. 3, the operation is the same steps as FIG. 5. In order word, the quantization execution module  10  performs the DCT transformation and outputs the quantized data into the 8 times 8 block register  21 . At the same time, the search device  40  receives the data to transfer it to the search control device  24 . As a result, the search control device  24  is prepared to operate the block register nets f 1  to f 15 . In addition, when the embodiment shown in FIG. 7 is applied to FIG. 3, only block register nets f 1  to f 8  need be configured to operate for further reducing process time.  
         [0086]    The block register  21  may include a calculating step for calculating a total sum of coefficients of block registers arranged along each scanning line corresponding to one of different frequencies used in the DCT frequency conversion algorithm, and a start address changing step for changing an address of the block register to start the inverse zigzag scan.  
         [0087]    According to another embodiment of the present specification, an example of a sound compression is described. The sound compression is also applied to the above-mentioned embodiments so that the 8 times 8 block register can be formed. Scanning images provide analog signals as image information. To faithfully represent this waveform as digital signals, a value of the longitudinal axis in the position of a plane needs to be numerically represented. Therefore, a quantized value of the vertical axis in each position is numerically represented.  
         [0088]    On the other hand, in the case of a sound, air pressure generated by utterances vibrates an air in the vicinity. Since the air vibrates a tympanic member, the sound is audible. The vibration of the air (i.e., sound pressure) is converted into an electrical signal by a microphone so that an audio signal is provided. The audio signal is time varying. Therefore, a graph is represented as an analog waveform with time on the horizontal axis and vibration (i.e., sound pressure) on the vertical axis. Thus, the sound is compressed in the similar manner as the image, except that the horizontal axis represents a distance for the image and the horizontal axis represents time for the sound.  
         [0089]    In a digital image compression, a brightness of the image is quantized into a discrete value and is provided as the brightness (i.e., a pixel value) per pixel. In the 8 times 8 block register  21  taking a pixel value per column, this pixel value is a numerical representation of the brightness of the image, where 0 represents black, 255 represents white, and others represent gray. The value is inversely discrete cosine transformed (DCT) to yield DCT coefficients. The coefficients represent a frequency component (i.e., amplitude) when the image represented by the digital signal is converted into the frequency component. In JPEG and MPEG, the DCT coefficient value instead of the pixel value is encoded.  
         [0090]    In the sound compression, the digital signal is provided when the horizontal axis value of the analog waveform is sampled and the vertical axis value of the analog waveform is quantized. As distribution of a signal amplitude is uniform, much information can be transmitted so that the amplitude is encoded after making it as uniform as possible. From this principle, a compression method such as a non-linear (logarithmic) companding PCM and a differential PCM has been available. In recent years, another compression method, referred to as an Adaptive Differential PCM, has developed. The Adaptive Differential PCM controls (i.e., increases and decreases) a quantization interval based on the result of current encoding to compress information (i.e., reduce bits). The resulting code value is discrete cosine transformed (DCT) to provide the DCT coefficient. This coefficient represents a frequency component (i.e., amplitude) when the sound signal represented by the digital signal is converted into the frequency component.  
         [0091]    Thus, in a time period, a frequency column is changed from the signal waveform of the above-mentioned sound signal compression method and takes a quantized value. Subsequently, the sanitized value is converted into a DCT coefficient value to form the 8 times 8 block register  21 .  
         [0092]    In this way, if the sound is applicable to the 8 times 8 block register  21 , it is possible to integrate the structures shown in FIGS. 2 and 3 into a portion of the sound compression apparatus. Thus, similarly to the image compression, the sound compression is also applied to the embodiments shown in FIGS. 2, 3,  6  and  7 .  
         [0093]    The flowchart of the embodiment shown in FIG. 4 is designed to quantize the 8 times 8 pixel blocks and then transmit or receive data. However, in this embodiment, the above-mentioned flowchart is redesigned to quantize an 8 times 8 matrix for sound signals and then transmit or receive data. Subsequently, in FIG. 5, the zigzag scan is performed to search the valid coefficient, followed by a modification of the coefficient from 1 to 0 and a replacement of the coefficient. As a result, the amount of coding is reduced without much affecting the sound. In addition, compression processing time is further reduced.  
         [0094]    The sound compression is also applied to the embodiments shown in FIGS. 6 and 7. Accordingly, since the block register nets include OR circuits of all registers for each frequency, the inverse zigzag scan is not required to reflect the valid coefficient  1  in the block register nets. The block register nets effectively converts the valid coefficient into the invalid coefficient and replaces the coefficient.  
         [0095]    In the embodiment shown in FIG. 3, the control device  40  immediately receives an output from the quantization execution module  10  and then the search control device  24  prepares for an operation, resulting in a reduction of processing time.  
         [0096]    If the sound compression is represented with a sound pressure on the vertical axis, then the image compression is represented with an intensities on a Z axis to form an 8 times 8 times 8 register block. For the image compression, when the 8 times 8 register block  21  is Huffman coded, the zigzag scanning treats a two-dimension array as a one-dimension array. Therefore, it is possible to treat the sound and the image with the same way.  
         [0097]    Further, when each step of the flowcharts shown in FIGS. 4 and 8 is transformed into an information compression program which is stored in a recording medium such as a CD-ROM, it is convenient to sell, buy, assign and transfer the program. In addition, the recording medium is inserted into a system computer for processing images or sounds for installation to realize the present specification readily.  
         [0098]    This specification may be conveniently implemented using a conventional general purpose digital computer programmed according to the teachings of the present specification, as will be apparent to those skilled in the computer art. Appropriate software coding can readily be prepared by skilled programmers based on the teachings of the present disclosure, as will be apparent to those skilled in the software art. The present specification may also be implemented by the preparation of application specific integrated circuits or by interconnecting an appropriate network of conventional component circuits, as will be readily apparent to those skilled in the art.  
         [0099]    Numerous additional modifications and variations are possible in light of the above teachings. It is therefore to be understood that within the scope of the appended claims, the disclosure of this patent specification may be practiced otherwise than as specifically described herein.  
         [0100]    This patent specification is based on Japanese patent application, No. 2002-345104 filed on Nov. 28, 2002 in the Japanese Patent Office, the entire contents of which are incorporated by reference herein.