WO2004075556A1 - 画像圧縮装置、画像圧縮方法、画像圧縮プログラム、及び圧縮符号化方法、圧縮符号化装置、圧縮符号化プログラム、並びに復合化方法、復合化装置、復合化プログラム - Google Patents

画像圧縮装置、画像圧縮方法、画像圧縮プログラム、及び圧縮符号化方法、圧縮符号化装置、圧縮符号化プログラム、並びに復合化方法、復合化装置、復合化プログラム Download PDF

Info

Publication number
WO2004075556A1
WO2004075556A1 PCT/JP2004/001717 JP2004001717W WO2004075556A1 WO 2004075556 A1 WO2004075556 A1 WO 2004075556A1 JP 2004001717 W JP2004001717 W JP 2004001717W WO 2004075556 A1 WO2004075556 A1 WO 2004075556A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
compression
occurrence probability
encoding
slope
Prior art date
Application number
PCT/JP2004/001717
Other languages
English (en)
French (fr)
Inventor
Hajime Banno
Makoto Ikarashi
Original Assignee
Ishikawajima-Harima Heavy Industries Co., Ltd.
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from JP2003041021A external-priority patent/JP3835411B2/ja
Priority claimed from JP2003057330A external-priority patent/JP3835416B2/ja
Priority claimed from JP2003204646A external-priority patent/JP3797349B2/ja
Application filed by Ishikawajima-Harima Heavy Industries Co., Ltd. filed Critical Ishikawajima-Harima Heavy Industries Co., Ltd.
Priority to US10/545,873 priority Critical patent/US7536054B2/en
Publication of WO2004075556A1 publication Critical patent/WO2004075556A1/ja

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction

Definitions

  • Image compression apparatus image compression method, image compression program, and compression encoding method
  • compression encoding apparatus compression encoding program
  • Decoding method Decoding device, Decoding program
  • the first embodiment of the present invention relates to an image compression apparatus for compressing an image with high reproducibility, an image compression method and an image compression program, and a second embodiment of the present invention, which compresses an image with high reproducibility in a short time.
  • Image compression apparatus, image compression method, image compression program, and third embodiment which perform compression encoding method and apparatus for reducing temporal data by encoding and compressing temporally continuous data, and
  • the present invention relates to a program, a decoding method and an apparatus for decoding compressed code data compressed and encoded by the apparatus, and a program therefor.
  • Image data has a large amount of data, and if it is stored without compression, the performance will decrease in all of the speed at which data is used and the data storage efficiency. Therefore, high-efficiency compression is essential for storing and reusing image data.
  • JPEG Joint Photographic Expert Group
  • 10918-1 is known. Image compression by JPEG is performed by the following procedure.
  • the DC component is subjected to Huffman coding, which is a type of entropy coding, to obtain compressed data.
  • the compressed data and parameters are multiplexed in a predetermined order.
  • a BTC (Block Truncation Coding) method described in Patent Document 1 is known as a method of coding a block.
  • This method uses pattern information that indicates whether each pixel color in the block to be encoded is greater than or less than the block average, the block average, and the magnitude of the gradation that changes depending on the pattern. (E.g., the variance of the pixel values in the block)
  • This is an encoding method that expresses a block with three types of parameters.
  • Patent Document 1 JP-A-60-087596
  • Patent Document 2 JP-A-3-192876
  • the present invention has been made in view of such circumstances, and enables an image compression apparatus, an image compression method, and an image capable of performing compression processing without increasing the calculation processing time and improving image quality.
  • the purpose is to provide a compression program.
  • the background art and the purpose of the second embodiment of the present invention are as follows.
  • Image data has a large amount of data, and if it is stored without compression, the performance decreases in all of the speed at the time of data use and the data storage efficiency. Therefore, high-efficiency compression is essential for storing and reusing image data.
  • JPEG Joint Photographic Expert Group ISO IEC 10918-1
  • Image compression by JPEG is performed by the following procedure. (1) Divide the image into 8 x 8 pixel blocks. (2) Use DCT (Discrete Cosine Transform) for encoding. Transforms into eight components in each of the y and y directions, for a total of 64 frequency components Qij and DC components DC.
  • Qij which is originally a real number, is multiplied by a constant (obtained so that the result of the multiplication falls within the range of 128 to 127), and discarded so as to reduce the absolute value. Convert to integer data by normalization based on a certain rule. In addition, Qij is picked up in a zigzag manner to form a data string. (However, if 0 is found, the subsequent data is regarded as 0.) (4) Qij series The Huffman coding, which is a type of entropy coding, is performed on the DC component to obtain compressed data. (5) Compressed data copy The parameters are multiplexed in a predetermined order.
  • a BTC (Block Truncation Coding) method described in Patent Document 1 is known as a method of coding a block.
  • This method uses pattern information indicating whether each pixel color in the block to be encoded is greater than or less than the block average value, the block average value, and the magnitude of the gradation that changes depending on the pattern.
  • This is a coding method in which a block is represented by three kinds of parameters, such as a value (for example, a variance value of pixel values in the block).
  • BTC is an encoding method that faithfully reproduces edges and is a method that can process faster than discrete cosine transform.However, when the number of colors to be developed increases, the compression ratio drops extremely, so high-efficiency compression is performed. In some cases, the number of colors is limited, and when reproducing the gradation, it gradually becomes a field-like shape, and the boundaries between colors become conspicuous.
  • Edge extraction is performed for each block.
  • BTC encoding and BTC decoding are performed on the edge portion, and an image with an edge canceled is prepared.
  • the second embodiment of the present invention has been made in view of such circumstances, and an image compression apparatus capable of performing compression processing in a short calculation processing time and improving image quality. It is an object to provide an image compression method and an image compression program.
  • the background art and the object of the third embodiment of the present invention are as follows.
  • the temperature of the device In a plant such as a factory, the temperature of the device, Monitoring devices that monitor sounds emitted from the device or images of the appearance of the device are used. Since this monitoring device continuously monitors, various monitoring data such as temperature data obtained by measuring temperature, spectrum data obtained by measuring sound, or image data captured by a monitoring camera Are output from the monitoring device continuously or intermittently in chronological order.
  • monitoring data Since the volume of such monitoring data is enormous, for example, when storing and managing monitoring data, a large-capacity recording device is required, or in a monitoring room installed in a remote place.
  • monitoring data When monitoring data is transmitted and analyzed, there is a problem that it takes a long time to transmit monitoring data.
  • the monitoring data is compressed by encoding to reduce the amount of data to be recorded or the amount of data to be transmitted.
  • the monitoring data output from the above monitoring device does not have a predetermined measurement time, and is approximately 24 hours. It is data that is output continuously or intermittently, and is not data that has a chronological correlation and whose content changes significantly. Therefore, it is necessary to use a method of sequentially encoding and compressing continuously obtained monitoring data. Data having such characteristics is often compressed by entropy coding.
  • the main method is to combine block coding, which reduces the amount of data by extracting the value indicating the characteristics of the above, into the preceding stage of end-to-end P-coding.
  • data compression by entropy coding uses an occurrence probability for each piece of data included in data to be compressed (hereinafter referred to as compression target data), and uses a code having a small number of bits for data having a high occurrence probability.
  • compression target data data with a low probability of allocation and occurrence is compressed by allocating a code with a large number of bits.
  • P x the probability of occurrence of data X included in the data to be compressed is P x
  • P x is obtained by (the number of data X / the total number of data to be compressed).
  • the most efficient compression can be achieved when a code having a bit number of I og 2 (1 / PJ) is assigned.
  • occurrence probability table The table showing the occurrence probabilities for each data used in entropy coding (hereinafter referred to as “occurrence probability table”) is used not only when encoding data but also when decoding compressed data (hereinafter referred to as “compressed code data”). Is also required. Unless the same occurrence probability table as used in encoding is used in decoding, compressed encoded data cannot be decoded correctly. Use for encoding side and decoding side For example, the following method is used to make the occurrence probability tables the same.
  • the encoding side records or transmits the occurrence probability data used during encoding in the compressed code data, and the decoding side compresses using the occurrence probability data stored or transmitted in the compressed code data. Decode the code data.
  • a predetermined occurrence probability table is prepared on both the encoding side and the decoding side, and the encoding side is encoded using the prepared occurrence probability table, and only the compressed code data is recorded or recorded.
  • the transmitting and decoding side decodes the stored or transmitted compressed code data using the occurrence probability table prepared in advance.
  • the rate may decrease, and in some cases, the total amount of compressed code data may be larger than the total amount of data to be compressed.
  • the following third method has been devised as a method for preventing such a problem.
  • a plurality of types of occurrence probability data are prepared in advance for both the encoding side and the decoding side, and the encoding side is encoded using an occurrence probability table close to the occurrence probability distribution of the data to be compressed.
  • Information indicating the occurrence probability data used during encoding. Is recorded or transmitted in the compressed code data, and the decoding side decodes the compressed code data using the occurrence probability data indicated by the information stored or transmitted in the compressed code data. For details of this method, see, for example, Patent Document 2 below.
  • Patent Document 3 JP-A-53-1110338
  • Patent Document 4 JP-A-7-2741 71
  • Non-patent document 1 "C MAGAZ INE ⁇ August 2001, p. 11 1-1 16
  • Non-patent document 2 is used C MAGAZ INE ⁇ September 2001, p. 95-100
  • Non-patent document 3 “C MAGAZ INE ⁇ July 2002, p. 16-35
  • the occurrence probability table does not need to be included in the compressed code data, but the occurrence probability distribution of the data to be compressed matches the occurrence probability table to be used. If not, the compression ratio will decrease, and in some cases, the total data amount of the compressed code data may be larger than the total data amount of the data to be compressed.
  • the above-mentioned first for example, used in JPEG
  • the third method described above it is only possible to select an occurrence probability table close to the occurrence probability distribution of the data to be compressed from among a plurality of occurrence probability tables which are easily prepared in advance.
  • the compression ratio is reduced, and in some cases, the possibility that the total data amount of the compression code data is larger than the total data amount of the data to be compressed is potentially increased. Had the problem of having
  • the present invention has been made in view of the above circumstances, and aims to reduce the total data amount when sending a plurality of continuous compressed data even when an occurrence probability table is included in compressed code data. It is an object of the present invention to provide a compression encoding method, a device, and a program, and a decoding method, a device, and a program for decoding compressed code data encoded by the device and the like.
  • An image compression device, an image compression method, and an image compression program as means for solving the object of the first embodiment of the present invention are as follows.
  • the invention according to claim 1 is a block dividing unit that divides an entire image into blocks of nxm pixels (n and m are natural numbers equal to or greater than 4), and a pixel value of the block.
  • First slope calculating means for obtaining a parameter for specifying a first slope approximating the lock; and calculating a difference between the first slope and each pixel value in the block to obtain n X m error amounts.
  • a coding means for losslessly coding parameters for specifying the first and second slopes.
  • the invention according to claim 2 is characterized in that the first slope calculating means obtains a parameter for specifying the slope from pixel values of only the outer edge portion of the block.
  • the invention according to claim 3 is an image compression method for irreversibly compressing image data, comprising: a step of dividing a whole image into blocks of nxm pixels (where n and m are natural numbers of 4 or more).
  • a first slope calculating step of calculating a parameter for specifying a first slope approximating the block from the pixel values of the block, and calculating a difference between the first slope and each pixel value in the block
  • the method is characterized by comprising a second slope calculating step of obtaining a parameter for specifying the second slope from only the value, and an encoding step of losslessly coding the parameter for specifying the first and second slopes.
  • the first slope calculating step includes an outer edge portion of the block. It is characterized in that a parameter for specifying a slope is obtained from only pixel values.
  • An invention according to claim 5 is an image compression program for irreversibly compressing image data, comprising: a block division process for dividing an entire image into blocks of nxm pixels (n, m is a natural number of 4 or more); A first slope calculation process for obtaining a parameter for specifying a first slope approximating the block from the pixel values of the block, and calculating a difference between the first slope and each pixel value in the block.
  • the invention according to claim 6 is characterized in that, in the first slope calculation processing, a parameter for specifying a slope is obtained from pixel values of only an outer edge portion of the block.
  • the invention according to claim 7 is characterized in that: a block dividing unit that divides the entire image into blocks of n X m pixels (n and m are natural numbers of 4 or more); and a pixel value of only an outer edge portion of the block.
  • Outer edge slope calculation to find parameters specifying slopes approximating outer edge Output means correction value calculating means for calculating n X m correction values by calculating a difference between the slope and each pixel value in the block, and irreversibly encoding the correction values.
  • Encoding means for reversibly encoding the encoding correction value and the parameter specifying the slope.
  • the invention according to claim 9 is an image compression method for irreversibly compressing image data, comprising a step of dividing a whole image into blocks of nxm pixels (n and m are natural numbers of 4 or more).
  • An outer edge slope calculating step of obtaining a parameter for identifying a slope approximating the outer edge portion from pixel values of only the outer edge portion of the block; and calculating a difference between the slope and each pixel value in the block.
  • An image compression program for irreversibly compressing image data comprising: a block division process for dividing an entire image into blocks of nxm pixels (n and m are natural numbers of 4 or more); An outer edge slope calculation process of calculating a parameter for specifying a slope approximating the outer edge portion from pixel values of only the outer edge portion of the block, and calculating a difference between the slope and each pixel value in the block by n X a correction value calculation process for calculating m correction values, and an encoding process for irreversibly encoding the correction values and losslessly encoding the encoded correction values and the parameters for specifying the slope. It is characterized by having a combi-user perform it.
  • the compression encoding method is a compression encoding method that encodes data to be compressed (D 1) that is correlated in a time series to generate compressed code data (D 2).
  • the change of the occurrence probability for each data included in the data to be compressed obtained in a serial manner
  • the method is characterized by including a generating step (S314) and a combining step (S317) for including the difference probability data in the compressed code data.
  • the magnitude of the change in the probability of occurrence for each piece of data included in the data to be compressed is determined, and the difference probability data including the probability of occurrence of the data with the large amount of change is generated. Since only the difference probability data is included in the compressed code data, the total data amount of the finally obtained compressed code data can be reduced. In particular, if the time series correlation of the data to be compressed is high, the probability of occurrence to be included in the difference probability data becomes extremely small, so that the total amount of compressed code data can be significantly reduced.
  • the compression encoding method assumes that a change in the occurrence probability of the data is small, and sets the occurrence probability of the data as the difference probability data to the compressed encoded data.
  • the decrease in the data amount of the compressed code data due to not including it is larger than the increase in the data amount of the compressed code data due to an error generated when the compression target data is encoded using the occurrence probability before the change. It is characterized in that the determination is made using a threshold value set to be large.
  • the threshold value is a change amount allowance table that defines an upper limit value and a lower limit value of a change amount of an occurrence probability allowed for each of the data.
  • the change amount of the occurrence probability of the data is larger than the upper limit value or smaller than the lower limit value defined in the change allowance table.
  • the change of the occurrence probability is set. It is characterized in that the amount is determined to be large.
  • the threshold value is a data number condition in which a data number condition indicating a data occurrence probability and a maximum number of the data for each change amount of the occurrence probability is defined.
  • the determination step is set in a table, and when the number of data of the data included in the data to be compressed is larger than the data number condition defined in the data number condition table, the amount of change in the occurrence probability is large. It is characterized by determining that
  • the threshold is set to the data amount decrease
  • the determination step is obtained from the number of data of the data, an occurrence probability, and a change amount of the occurrence probability.
  • the increase in the data amount is larger than the decrease in the data amount, it is determined that the change amount of the occurrence probability is large.
  • the difference probability data generating step is such that, for the data determined to have a small change in the occurrence probability, the occurrence probability is the same as the previous occurrence probability. Is included in the difference probability data.
  • the compression encoding device further comprising: an encoding unit (3) that encodes compression target data (D 1) having a time series correlation and generates compressed encoded data (D 2).
  • the compression encoding apparatus further comprising: a change amount judging unit (31) for judging a magnitude of a change amount of an occurrence probability for each data included in the data to be compressed obtained in time series; A difference probability data generator (312) for generating difference probability data (D3) including the occurrence probability of data determined to have a large change in probability; and a difference generated by the difference probability data generator.
  • a synthesizing unit (316) that includes the probability data in the compressed code data generated by the encoding unit.
  • a compression encoding program encodes data to be compressed (D 1) having a time series correlation to generate compressed code data (D2).
  • a decoding method wherein the differential probability data (D3) included in the compressed code data (D4) generated by the compression coding method, the compression coding device, or the compression coding program is divided and extracted. (S 321, S 322), and an update step (S 323) of updating an occurrence probability table representing an occurrence probability for each data included in the data to be compressed using the extracted difference probability data. , A decoding step (S324) of decoding the compressed code data using the updated occurrence probability table.
  • a decoding method includes dividing and extracting differential probability data included in compressed compressed code data, updating a differential probability table, and performing division using the updated differential probability table.
  • a decoding device Since the compressed code data is decoded, decoding is performed using the same occurrence probability table as that used for the compression code, and a correct decoding result is obtained.
  • a decoding device wherein the differential probability data (D3) included in the compressed code data (D4) generated by the compression coding method, the compression coding device, or the compression coding program is divided and extracted.
  • An update unit (322) for updating the occurrence probability table stored in the storage unit using the update unit; and a decoding unit (3) for decoding the compressed code data divided using the updated occurrence probability table.
  • the decoding program according to the third embodiment of the present invention includes a compressed code data (D) generated by the above-described compression coding method, compression coding device, or compression coding program.
  • D compressed code data
  • FIG. 1 is a block diagram showing a configuration of the first exemplary embodiment of the present invention.
  • FIG. 2 is a flowchart showing the operation of the apparatus shown in FIG.
  • FIG. 3 is an explanatory diagram showing an outer edge portion of the block.
  • FIG. 4 is an explanatory diagram schematically showing pixel values.
  • FIG. 5 is an explanatory diagram showing a slope to be obtained.
  • 6A and 6B are explanatory diagrams showing a method of calculating the inclination.
  • FIG. 7 is an explanatory diagram illustrating an example of block data.
  • FIG. 8 is an explanatory diagram showing a calculation formula for each pixel.
  • FIG. 9 is an explanatory diagram showing each pixel value on the first slope.
  • FIG. 10 is an explanatory diagram showing another definition method of the slope.
  • FIG. 11 is an explanatory diagram showing an error amount.
  • FIG. 12 is an explanatory diagram showing the pixel values for which the second slope is calculated.
  • FIG. 13 is an explanatory diagram showing each pixel value on the second slope.
  • FIG. 14 is an explanatory diagram showing an example of the belonging slope map.
  • FIG. 15 is an explanatory diagram showing the pixel values of the restored image.
  • FIGS. 16A and 16B are explanatory diagrams showing the effect of the image compression method according to the present invention.
  • FIGS. 17A, 17B, and 17C are explanatory diagrams showing the effect of the image compression method according to the present invention.
  • FIGS. 18A, 18B, and 18C are explanatory diagrams showing the effect of the image compression method according to the present invention.
  • FIG. 19 is a block diagram showing a configuration of the second exemplary embodiment of the present invention.
  • FIG. 20 is a flowchart showing the operation of the apparatus shown in FIG.
  • FIG. 21 is an explanatory diagram showing an outer edge portion of the block.
  • FIG. 22 is an explanatory diagram schematically showing pixel values.
  • FIG. 23 is an explanatory diagram showing a slope to be obtained.
  • 24A and 24B are explanatory diagrams illustrating a method of calculating the inclination.
  • FIG. 25 is an explanatory diagram showing a state in which pixel values form a convex surface.
  • FIG. 26 is an explanatory diagram illustrating an example of block data.
  • FIG. 27 is an explanatory diagram showing a calculation formula for each pixel. '
  • FIG. 28 is an explanatory diagram showing each pixel value on the slope.
  • FIG. 29 is an explanatory diagram showing another method of defining a slope.
  • FIG. 30 is an explanatory diagram showing the correction values.
  • FIG. 31 is an explanatory diagram illustrating an example of the correction map.
  • FIG. 32 is an explanatory diagram illustrating an example of an addition / subtraction value.
  • FIG. 33 is an explanatory diagram illustrating pixel values of a restored image.
  • FIG. 34 is an explanatory diagram showing the effect of the lossy encoding of the correction value.
  • FIG. 35 is an explanatory diagram showing the effect of irreversible encoding of a correction value.
  • FIG. 36 is a block diagram illustrating a configuration of a compression encoding device according to an embodiment of the present invention.
  • FIG. 37 is a diagram illustrating an example of compression target data D1 input to the compression encoding device according to an embodiment of the present invention.
  • FIG. 38 is a diagram illustrating an example of a change amount allowable table used in the change amount determination unit 11.
  • FIGS. 39A and 39B are diagrams illustrating an example of a data number condition table used in the change amount determination unit 11.
  • FIG. 40 is a flowchart showing a compression encoding method according to an embodiment of the present invention.
  • FIGS. 41 1 and 41 1 show a state of a change in the occurrence probability and the occurrence of a data change in which the occurrence probability greatly changes. It is a figure showing an example of signs that a probability is extracted.
  • FIG. 42 is a block diagram illustrating a configuration of a decoding device according to an embodiment of the present invention.
  • FIG. 43 is a flowchart showing a decoding method according to an embodiment of the present invention.
  • BEST MODE FOR CARRYING OUT THE INVENTION DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS will be described. I do.
  • the present invention is not limited to the following embodiments. For example, components of these embodiments may be appropriately combined.
  • FIG. 1 is a block diagram showing the configuration of the embodiment.
  • reference numeral 101 denotes an image input unit for inputting image data to be compressed, and the input image data is held therein.
  • the image data held in the image input unit 1 is sampled “quantized data.
  • each pixel is represented by an 8-bit luminance value (hereinafter,“ pixel luminance value ”).
  • the image data is expressed as “pixel value”.
  • Reference numeral 102 denotes a block division unit that divides the image into image blocks held in the image input unit 101.
  • Reference numeral 103 denotes a first slope calculation unit that calculates a slope based on the pixel values of the outer edges of the divided blocks.
  • Reference numeral 104 denotes an error amount calculation unit that calculates an error amount from a difference between the slope obtained by the first slope calculation unit 3 and each pixel value in the block.
  • Reference numeral 105 denotes a second slope calculation for calculating a new slope only by pixels exceeding the threshold when the error calculated by the error calculator 4 exceeds a predetermined threshold.
  • Reference numeral 106 denotes encoding for encoding the slope obtained by the first slope calculation unit 3, the error amount obtained by the error amount calculation unit 4, and the slope obtained by the second slope calculation unit 5.
  • Department. Code 107 is the coded value of each block. An image output unit that outputs recompressed image data by multiplexing the compressed data. Next, the operation of the image compression device shown in FIG. 1 will be described with reference to FIG.
  • FIG. 2 is a flowchart showing an image compression operation of the image compression device shown in FIG.
  • the image input unit 101 inputs image data and holds it internally (step S111).
  • the image data held in the image input unit 1 is data obtained by sampling and quantizing a video signal or the like, and is represented by a pixel position (X, y) and a luminance value (0 to 255). I have.
  • the block division unit 2 divides the input image into blocks (Step S112).
  • the description will be made assuming that the image is divided into 4 ⁇ 4 pixel blocks.
  • an input image of 32 ⁇ 32 pixels is divided into 64 blocks.
  • the division result of the input image is held in the block division unit 2.
  • the number of pixels in the X direction and the number of pixels in the Y direction of the block need not be the same, and may be determined based on the number of pixels of the entire image.
  • the first slope calculating unit 103 reads out pixel values in one of the blocks divided by the block dividing unit 2. Then, a slope is calculated from the pixel value of the outer edge portion of the read block (step S103).
  • the slope is a plane including a horizontal plane.
  • the outer edge part is 25% of the number of pixels in the vertical direction from the top of the block, 25% of the number of pixels in the horizontal direction from the left end of the block, 25% of the number of pixels in the vertical direction from the bottom of the block and 25% of the number of pixels in the horizontal direction from the end of the block.In both the vertical and horizontal directions, the number of pixels in the outer edge portion and the central portion surrounded by the outer edge portion are the same. Set to be.
  • this value (25% of the number of pixels) should be applied to applications with high computational power and a low update rate, such as security video with time-lapse.
  • applications that require a large amount of processing compared to the performance of the device such as mobile terminals that cannot be said to have high computational power or high-speed measurement devices that compress images with high update rates, the amount of calculation is smaller than the accuracy of the image.
  • the emphasis is placed on the ability to reduce pixel, and the outer edge is one pixel from the top, bottom, left and right edges regardless of the size of the block.
  • a method of calculating the slope by the first slope calculating unit 103 will be described.
  • a pixel diagram in a block of 4 ⁇ 4 pixels is represented in a schematic diagram as shown in FIG.
  • the slope is expressed by the center value of the slope, the slope in the X direction, and the slope in the Y direction.
  • the inclination in the X direction is calculated from the average value of the outer edge along the left edge of the block (the portion marked with "+") as shown in Fig. 6A.
  • the average value of the marked area is subtracted (rounded down to the nearest decimal point).
  • the value obtained by subtracting the average value of the outer edge portion where “one” is entered (rounded down to the decimal point).
  • the center value of the slope is The average value (rounded off to the decimal point) of the pixel value at the outer edge is obtained.
  • FIG. 7 shows an example of the divided blocks.
  • the numerical values shown in FIG. 7 are the pixel values of each pixel.
  • the slope in the X direction—30, the slope in the Y direction—16, and the center value 32 of the slope are parameters indicating the slope.
  • the slope calculation method may be a known plane calculation method.
  • a parameter defining a plane obtained by a least square method or the like may be used.
  • FIG. 8 shows the formula for calculating each pixel value.
  • m is the center value of the slope (32 in this example)
  • d X is the slope of the X direction of the Z block.
  • dy is the number of pixels in the Y direction of the gradient Z block in the Y direction (4 in this example).
  • Fig. 9 shows the result (rounded off to the decimal point) of each pixel value obtained by the calculation formula shown in Fig. 8. By this processing, the slope is obtained from the outer edge.
  • the direction where the slope becomes the largest is found, and the slope is calculated along that direction.
  • a method of calculating the center (average value) m, the inclination direction r, and the inclination amount d of the inclined surface may be used.
  • the error amount calculating section 104 calculates the error amount of each pixel (step S104).
  • x and y are pixel positions in the block and are integers from 1 to 4.
  • Fig. 11 shows the amounts of error determined by this formula. By this processing, the amount of error between each pixel in the block and the slope is determined.
  • the second slope calculation unit 105 determines the absolute value of each error amount for each of the obtained error amounts. It is determined whether there is a pixel exceeding the threshold (step S105).
  • the allowable range was from 5 X 1Z2 to 2.5 X 2, and the exponential intermediate value of 2.5 was standard.
  • the average value of the absolute values of the error amounts is 4.3, and 2.5% of the value that can be represented by 8 bits is 6, so the threshold value is 6. If the result of this determination is that there are no pixels exceeding the threshold, the flow proceeds to step S107.
  • the pixel shown in FIG. 12 is extracted. If there is a pixel exceeding the threshold value, the second slope calculating section 5 calculates a new slope based only on the pixel value whose error amount exceeds the threshold value (Step S106).
  • the slope may be calculated by a known method, for example, using the least squares method.
  • the second slope calculation unit 105 obtains the value of each pixel when the slope obtained here is expressed in a block.
  • Figure 13 shows the value of each pixel when the slope determined based on the four pixel values is represented in the block.
  • the parameters for defining this slope are the X direction inclination, the ⁇ direction inclination, and the center value of the slope, as in the case of the slope described above.
  • the slope calculated from the pixel value of the outer edge portion of the block (this is referred to as a first slope) and the slope calculated from the pixel value whose error amount exceeds the threshold (this is referred to as the second slope) ) (The slopes shown in Figs. 9 and 13).
  • the pixel value in the block is approximated by using two slopes, but the amount of error from the second slope is further determined, and pixels exceeding a predetermined threshold are determined.
  • the third slope may be calculated.
  • the continuation of processing is stopped when the number of pixels whose error amount exceeds a predetermined threshold value becomes equal to or less than a predetermined number. You may do so. This is the case when the number of pixels in a block increases. Effective.
  • the encoding unit 106 encodes the pixel values in the block by encoding the two slopes (step S107).
  • the two slopes obtained earlier may be respectively encoded.
  • a pixel belonging to the first slope is set to “0” and a pixel belonging to the second slope is set to “1”, and a belonging slope map is created.
  • An example of this belonging slope map is shown in FIG. If the number of slopes used for approximation is three or more, the value of the belonging slope map may be multi-valued according to the number of slopes.
  • the encoding unit 106 sets parameters representing each of the two slopes obtained above (the first slope and the second slope) (in this example, the X-direction slope, the Y-direction slope, and the slope of the slope).
  • Lossless compression is performed by entropy-encoding the median value, the number of slopes (2 in this example), and the belonging slope map.
  • Huffman coding, arithmetic coding, range coder method, etc. can be used for entropy coding. These methods may be used for each data.
  • step S108 the entire image is encoded.
  • the image output unit 107 multiplexes and outputs each of the encoded data (step S109).
  • a buffer for storing data is provided before entropy encoding, and entropy encoding is performed collectively, block encoding is performed, and entropy encoding is performed sequentially every time data is output by quantization.
  • a method of accumulating the results may be used.
  • the parameters representing the first slope and the second slope, the number of slopes, and the belonging slope map are restored by entropy decoding.
  • the slopes shown in FIGS. 9 and 13 can be restored. If the pixel values in the block are restored with reference to the data of these two slopes and the belonging slope map, the pixel values shown in Fig. 15 can be restored.
  • the resulting image contains errors compared to the original image (pixel values shown in Fig. 7).
  • the overall inclination (the brightness increases toward the upper right) is preserved, and when viewed as part of a large image, it is recognized as a very similar image.
  • data that changes as shown in this example in a small range such as 4 ⁇ 4 pixels is rare in an actual image, and it can be seen that the visual features are preserved even in such a case.
  • the original image (Fig. 16A) with some fluctuations in the pixel values tilted in the gradation part is image-compressed, the gradient surface fits into the gradation as shown in Fig. 16B.
  • the image is restored, it is reproduced as an inclined surface when the image is restored.
  • the fluctuation from the slope included in the gradation changes so much that humans cannot recognize it. An image with high reproducibility can be obtained.
  • the slope parameter of the color (pixel value) that fits the background and the slope of the color (pixel value) that fits the line The parameters of the block were obtained by obtaining the belonging information indicating which slope belongs to each pixel, and used as the parameter indicating the image of the block. Can reproduce two color slopes, and each pixel can be painted separately as the color slope indicated by the corresponding affiliation information (Fig. 18C). Humans pay attention to the boundary between the line and the background, the shape of the line, etc., and it is difficult to notice small changes in the color in the line.Therefore, the overlap between the image background and the line is intuitively reproducible. A high image can be obtained.
  • the present invention has a function of compressing an image while maintaining high reproducibility with respect to the three features that a human focuses on when recognizing an image. It is possible to perform irreversible compression with little decrease in ease of use.
  • the color does not change abruptly at the joints of blocks even if blocks with strong inclination continue, eliminating block boundary noise. Image quality can be improved.
  • a program for realizing the function of each processing unit in FIG. 1 is recorded on a recording medium readable by a computer, and the program recorded on this recording medium is reproduced.
  • the image compression processing may be performed by causing a computer system to read and execute the image compression processing.
  • the “computer system” includes an OS and hardware such as peripheral devices.
  • “Computer system” also includes a WWW system equipped with a home page providing environment (or display environment).
  • the “computer-readable recording medium” refers to a portable medium such as a flexible disk, a magneto-optical disk, a ROM, a CD-ROM, and a storage device such as a hard disk built in a computer system.
  • a “computer-readable recording medium” is a volatile memory (RAM) inside a computer system that becomes a server or a client when a program is transmitted via a network such as the Internet or a communication line such as a telephone line. This includes programs that hold programs for a certain period of time.
  • RAM volatile memory
  • the program may be transmitted from a computer system in which the program is stored in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium.
  • the “transmission medium” for transmitting a program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line.
  • the above program may be for realizing a part of the functions described above.
  • differential files differential programs
  • a function of compressing an image while retaining high reproducibility for a feature of interest when a human recognizes an image is used to achieve a visual appearance.
  • the effect is obtained that it is possible to perform non-reversible compression with little reduction in image quality and in ease of discriminating image contents.
  • the color does not change abruptly at the joints of blocks even if blocks with strong inclination continue, eliminating block boundary noise.
  • the effect that the image quality can be improved is also obtained.
  • an image compression apparatus according to a second embodiment of the present invention will be described with reference to FIGS. 19-35.
  • FIG. 19 is a block diagram showing the configuration of the present embodiment.
  • reference numeral 201 denotes an image input unit for inputting image data to be compressed, and the input image data is held inside.
  • the image data held in the image input unit 201 is sampled / quantized data.
  • each pixel is image data that is represented by an 8-bit luminance value (hereinafter, “pixel luminance value” is referred to as “pixel value”).
  • Reference numeral 202 denotes a block division unit that divides the image into image blocks held in the image input unit 1.
  • Reference numeral 203 denotes an outer edge slope calculator that calculates a slope based on the pixel value of the outer edge portion of the divided block.
  • Symbol 4 is outer slope calculation This is a correction value calculation unit that calculates a correction value from the difference between the slope obtained by the unit 203 and each pixel value in the block.
  • Reference numeral 205 denotes an encoding unit that encodes the slope obtained by the outer edge slope calculation unit 203 and the correction value obtained by the correction value calculation unit 4.
  • Reference numeral 206 denotes an image output unit that outputs recompressed image data by multiplexing the encoded data of each block.
  • FIG. 20 is a flowchart showing an image compression operation of the image compression device shown in FIG.
  • the image input unit 201 inputs image data and holds it internally (step S201).
  • the image data held in the image input unit 201 is data obtained by sampling and quantizing a video signal or the like, and is represented by a pixel position (X, y) and a luminance value (0 to 255). Is expressed.
  • the block division unit 202 divides the input image into blocks in response to the fact that the image data is held in the image input unit 20 "I (step S202). For the sake of simplicity, the description will be made assuming that the input image is divided into blocks of 4 ⁇ 4 pixels.For example, an input image of 32 ⁇ 32 pixels is divided into 64 blocks. The division result of the input image is held in the block division unit 202. The number of pixels in the block in the X direction and the number of pixels in the Y direction do not need to be the same, and the pixels in the entire image are not necessary. What is necessary is just to determine based on a number.
  • the outer edge slope calculating unit 203 receives the blocks divided by the block dividing unit 202. Read the pixel value in one block of the lock. Then, a slope is calculated from the read pixel values of the outer edge portion of the block (step S203).
  • the slope here is a plane including a horizontal plane. Also, as shown in Figure 21, the outer edge part is 25% of the number of pixels in the vertical direction from the top of the block, 25% of the number of pixels in the horizontal direction from the left end of the block, and the vertical direction from the bottom of the block.
  • this value (25% of the number of pixels) should be applied to applications that have a large computational capacity and a low update rate, such as security videos that perform time-lapse photography.
  • applications that require a large amount of processing compared to the performance of the device such as mobile terminals that cannot be said to have high computational power or high-speed measurement devices that compress images with a high update rate, calculations are performed in comparison with the image accuracy. Emphasis is placed on the ability to reduce the amount, and the outer edge is one pixel from the top, bottom, left and right edges, regardless of the size of the block.
  • a method in which the outer edge slope calculating unit 203 calculates the slope will be described.
  • a pixel diagram in a block of 4 ⁇ 4 pixels is represented in a schematic diagram as shown in FIG.
  • the slope is represented by the median value of the slope, the slope in the X direction, and the slope in the Y direction.
  • the inclination in the X direction is the average value of the outer edge portion (the portion marked with "+”) along the left edge of the block.
  • the inclination in the Y direction is a value obtained by subtracting the average value of the outer edge portion indicated by “one” from the average value of the outer edge portion indicated by “+” shown in FIG. ).
  • the center value of the slope is determined by the average value (rounded down to the decimal point) of the pixel values at the outer edge.
  • the average value at the center (the part that is not the outer edge) in the block is an extremely large value compared to the pixel value range (the range from the minimum value to the maximum value of the pixel value) at the outer edge. If the value is small, or if the value is small, it is highly probable that the surface is convex or concave.
  • FIG. 26 shows an example of the divided blocks.
  • the numerical values shown in FIG. 26 are the pixel values of each pixel.
  • the slope in the X direction—30, the slope in the Y direction—16, and the center value 32 of the slope are parameters indicating the slope.
  • each pixel is obtained when the slope based on the previously obtained parameters is expressed in the block.
  • Figure 9 shows the calculation formula for calculating each pixel value.
  • m is the median value of the slope (32 in this example)
  • d X is the slope in the X direction / the number of pixels in the X direction of the block (17.5 in this example)
  • dy is Y The number of pixels in the Y direction of the tilt block in the direction (4 in this example).
  • Figure 28 shows the results (rounded down to the decimal point) of each pixel value obtained by the calculation formula shown in Fig. 27. By this processing, the slope is obtained from the outer edge.
  • the direction in which the slope becomes the largest is searched, and the slope is calculated along that direction.
  • a method of calculating the center (average value) m, the inclination direction r, and the amount of inclination d may be used.
  • the correction value calculating section 204 calculates a correction value of each pixel (step S203).
  • x and y are pixel positions in the block, and are integers of “! ⁇ 4.
  • Each correction value obtained by this calculation formula is shown in FIG. 30. With this processing, the correction value of each pixel in the block is obtained. Is required.
  • the encoding unit 205 encodes the pixel values in the block (step S205).
  • the encoding first binarizes the correction value obtained earlier depending on whether the value is positive or negative.
  • the result obtained by this binarization processing is called a correction map.
  • FIG. 31 is an example of a correction map obtained by binarizing the correction values shown in FIG. In FIG. 31, “1” indicates that the correction value is positive, and “0” indicates that the correction value is negative.
  • the average of the absolute value of the positive correction value and the average of the absolute value of the negative correction value are calculated, and the two weighted average values are obtained as an amplitude index indicating the magnitude of the correction value.
  • FIG. 31 is an example of a correction map obtained by binarizing the correction values shown in FIG. In FIG. 31, “1” indicates that the correction value is positive, and “0” indicates that the correction value is negative.
  • the average of the absolute value of the positive correction value and the average of the absolute value of the negative correction value are calculated, and the two weight
  • the positive portion has seven pixels, and the absolute value of the average is
  • 6.6.
  • the negative part has 9 pixels, and the average absolute value is
  • 3.3.
  • — ⁇ — Y (x, yf may be used.
  • the correction value of each block can be represented by a total of 24 bits of 16 bits of the correction map and 8 bits of the amplitude index.
  • the correction value is sufficiently larger than the tilt in the X and Y directions, and is larger than 1.5 times the tilt of one pixel in the direction in which the change in the X and Y directions is large (a value that can absorb fluctuation due to errors).
  • the portion that is visually affected by the undulation correction value increases.
  • data with the inclination (X, Y directions) set to 0 is created, and the correction value is recalculated and the correction value is re-encoded.
  • the condition for removing the gradient is when the maximum value of each gradient in the X and Y directions (Max (dx, dy)) The width x1.5 of the Z block is smaller than the amplitude index.
  • the amplitude index is small
  • data reduction processing is further performed. For example, there are cases where the correction value is small and the effect of the correction is visually meaningless.
  • the amplitude index obtained earlier is smaller than a change that cannot be visually discerned in a general image
  • the image at the time of restoration is almost completely changed by not generating data for correction processing.
  • Reduce data without letting it.
  • the correction amount is expressed as 0, and when the correction amount is 0, the correction map is not included in the data. This makes it possible to reduce 2 bytes for the correction map.
  • the correction map is skipped using the correction amount 0 as an index, and the reduction is reproduced by setting all correction values to 0.
  • the change that cannot be visually discriminated is a result obtained experimentally, and is 1/60 of the range of values that data can take (25.6 when the pixel value is 8 bits). When the pixel value is 8 bits, it means about 4) change. If necessary, change this ignored value as a parameter to one-twentieth of the value range (the minimum value of the eye-catching change in the image was determined by experiment).
  • the balance between the image quality and the compression ratio may be changed by increasing the amount of data reduction in exchange for the deterioration of the image quality attached to the image.
  • the amplitude index is 5, and the amplitude index (5) ⁇ the larger value of the amount of inclination (7.5) ⁇ 1.5, which is not equivalent to the case where the above-mentioned amplitude index is large.
  • the index is 5, it is not smaller than 4 (the amount of change that cannot be visually discriminated), so it does not correspond to the case where the correction value described above is deleted. Therefore, the encoded value of the correction value is encoded as the following 16-bit and 8-bit values.
  • the encoding unit 205 encodes the five values of the slope center value, the X-direction slope, the Y-direction slope, the amplitude index, and the correction map obtained by the entropy coding. Further reduce the amount of data. Since the frequency of occurrence of these five values varies, it is possible to further reduce the data amount by entropy coding.
  • the coding methods that can be used here include Huffman coding, arithmetic coding, and range coder.
  • the entire image is coded by applying the coding process to one block to all the blocks (step S206). Then, the image output unit 206 multiplexes and outputs each of the encoded data (step S206).
  • a buffer for storing data is provided before entropy coding, and entropy coding is performed collectively, block coding is performed, and entropy coding is performed sequentially each time data is output by quantization.
  • a method of accumulating the data may be used.
  • the operation of decoding image data encoded by the above-described method will be briefly described.
  • the entropy-coded data is decoded.
  • the five values of the center value of the slope, the inclination in the X direction, the inclination in the Y direction, the amplitude index, and the correction map are restored.
  • the value of each pixel when the slope is represented in the block is obtained by the calculation formula shown in FIG. Since the center value of the slope, the slope in the X direction, and the slope in the Y direction are reversible data, the value of each pixel is as shown in FIG.
  • the resulting image contains errors compared to the original image (pixel values shown in Fig. 26).
  • the visual features such as the overall inclination (the brightness increases toward the upper right) and the areas where there is a large change (the thick solid line pixel boundary shown in Fig. 33) are preserved, and a large image is preserved.
  • the visual features such as the overall inclination (the brightness increases toward the upper right) and the areas where there is a large change (the thick solid line pixel boundary shown in Fig. 33) are preserved, and a large image is preserved.
  • data that changes as much as shown in this example in a small range such as 4 ⁇ 4 pixels is rare in an actual image, and it can be seen that the visual features are preserved even in such a case.
  • JPEG is the most standard compression method using DCT coding.
  • the data was 380 bytes.
  • the entropy coding of the second embodiment of the present invention it is possible to obtain a higher compression ratio.
  • this image size it is offset with the auxiliary information necessary for encoding such as the occurrence rate, or the improvement in the compression rate is not limited to the amount of data that would be effective even with dynamic entropy encoding. Therefore, it can be said that the compression ratio at this level is comparable to that of JPEG that has been entropy-encoded.
  • the number of times can be calculated as follows when only calculating the one-dimensional DCT in the X direction in the two-dimensional DCT.
  • the method using DCT increases the calculation time by about 40% even if the calculation time for multiplication and addition / subtraction are equal, and increases the multiplication (because the number of digits is doubled).
  • the processing time is increased by about 800/0.
  • the method according to the present invention has slightly uneven color at edges. In exchange for the problem, the image quality has improved mainly in the gradation area.
  • the correction value obtained as the difference from the slope can be compressed by another coding model such as DCT, but in the present invention, the correction value obtained by collecting the signal indicating the sign of the undulation of each pixel is particularly used in the present invention.
  • the effect is described below, with two values representing the average amplitude. In the explanation, the way of recognizing the people in the block changes depending on whether the undulation is larger than the inclination or not.
  • the amount of change in the rough color is recognized first.On the other hand, if it is seen as a pattern in which the color is added on a background with sloping pixel values, the shape and its shape The concentration is recognized.
  • the information is recognized as information to be added to the pixel value slope and the rough slope, the irregularity of the ups and downs, including the surrounding blocks, is irregular, and the pattern is indicated by a positive and negative distribution.
  • the outline of the shape of the object it will be sufficient information to check the shape.
  • the amount of change between pixels is recognized as the degree of roughness.
  • the density difference in Fig. 34 The value representing the magnitude of blurring in both directions taking into account the shift in the positive direction and the shift in the negative direction for the amount of change of each pixel from the undulating reference plane is the density of the pattern and roughness, This is obtained by using the result of performing statistical processing such as averaging the absolute value of the correction value. Therefore, even if the correction value is reduced to a smaller amount of information by this method, the surface can be reproduced with a rough surface or a pattern on it, and it can be similarly recognized under the characteristics of human vision. It can be reproduced as an image.
  • a program for realizing the function of each processing unit in FIG. 19 is recorded on a computer-readable recording medium, and the program recorded on this recording medium is read and executed by a computer system.
  • image compression processing may be performed.
  • the “computer system” includes an OS and hardware such as peripheral devices.
  • the computer system J also includes a WWW system having a home page providing environment (or display environment).
  • “Computer-readable recording medium” refers to a flexible disk, optical disk, It refers to portable media such as magnetic disks, ROMs, and CD-ROMs, and storage devices such as hard disks built into computer systems.
  • a “computer-readable recording medium” refers to volatile memory (RAM) in a computer system that becomes a server or a client when a program is transmitted via a network such as the Internet or a communication line such as a telephone line. ), which includes programs that are held for a certain period of time.
  • RAM volatile memory
  • the program may be transmitted from a computer system in which the program is stored in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium.
  • the “transmission medium j” for transmitting a program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line.
  • the above-mentioned program may be for realizing a part of the above-mentioned functions, and may be for realizing the above-mentioned functions in combination with a program already recorded in a computer system. It may be a so-called difference file (difference program).
  • the second embodiment of the present invention by using the inclined surface approximating the outer edge portion as a reference, even if blocks having a strong inclination continue, the blocks can be maintained. Since the color does not change abruptly, the effect that the block boundary noise does not occur and the image quality can be improved can be obtained. Also, for rapid changes that cannot be expressed by the gradient when the edge is compressed again, extreme undulations unique to the edge are switched between concave and convex for each pixel, and as a model that reproduces the details of the original image By approximating the correction value and adding the approximation value to the slope information, image quality degradation such as dullness of the edge portion and noise along the edge portion does not occur, and the image quality can be improved. can get.
  • the area of the block is increased from 1.25 times to 1.5 times (such as DCT).
  • the calculation amount is smaller than the method of calculating the order of (n x m x m + n x n x m times by FFT), and the increase in the calculation amount when the block area becomes large is also limited. .
  • the compression encoding method, the device, and the program, and the decoding method, the device, and the program according to the third embodiment of the present invention will be described in detail with reference to FIGS. [Compression encoding method, apparatus, and program]
  • FIG. 36 is a block diagram illustrating a configuration of a compression encoding device according to an embodiment of the present invention.
  • the compression encoding apparatus includes a frequency totaling unit 310, a change amount determining unit 311, a difference probability data generating unit 312, and an occurrence probability table reconstructing unit 313.
  • the occurrence table buffer 3 14, the entropy encoder 3 15, and It is configured to include the synthesizing unit 3 16.
  • the frequency tabulation unit 310 collects the compression target data D1 that is continuously or intermittently input, and collects the appearance frequency of each data included in the collected compression target data D1, and collects the data for each data. An occurrence probability is obtained to generate an occurrence probability table.
  • the frequency totaling unit 310 also calculates the total number of input compression target data D1.
  • the compression target data D1 is monitoring data output from, for example, a monitoring device provided in the plant, and is data having a time-series correlation.
  • the monitoring data is, for example, data such as temperature data obtained by measuring a temperature, spectrum data obtained by measuring a sound, or image data captured by a monitoring camera.
  • the compression target data D1 is image data.
  • the compression target data D1 will be described.
  • FIG. 37 is a diagram illustrating an example of compression target data D1 input to the compression encoding device according to an embodiment of the present invention.
  • an imaging device such as a camera provided in the monitoring device.
  • difference data F1 and F2 shown in FIG. 37 are obtained.
  • the difference data F 1 is data obtained by taking the difference between the data D 1 to be compressed obtained at the time (t ⁇ 2) and the data D 1 to be compressed obtained at the time (t ⁇ 1). It is composed of data d 11 indicating a decrease in information representing the moving object OB 1 and data d 12 indicating an increase in the information representing the moving object OB 1.
  • the difference data F 2 is data obtained by taking the difference between the compression target data D 1 obtained at time (t ⁇ 1) and the compression target data D 1 obtained at time t, and the moving object OB 1
  • the data d 21 represents a decrease in the information representing the moving object OB 1
  • the data d 22 represents an increase in the information representing the moving object OB 1.
  • the data amount of the difference data F1 and F2 becomes smaller. If the data amount of the difference data F 1 and F 2 is small, the change in the content of the compression target data D 1 obtained before and after is small, and the occurrence probability of each of the data included in the compression target data D 1 obtained at each time The change in distribution is small. Conversely, if the data amount of the difference data F 1 and F 2 is large, the content of the compression target data D 1 obtained before and after changes greatly, and the data included in the compression target data D 1 obtained at each time is The occurrence probability distribution changes greatly.
  • the frequency tally unit 3 10 The data to be compressed D1 is collected, the appearance frequency of each data included in the data to be compressed D1 is totaled, and the occurrence probability for each data is obtained to generate an occurrence probability table.
  • the change amount determination unit 11 includes the occurrence probability table generated by the frequency counting unit 10, the occurrence probability table stored in the occurrence probability table buffer 14, and Z or the input.
  • the magnitude of the change in the occurrence probability table is determined using the total number of compressed data D1.
  • the change amount determination unit 11 uses a preset threshold value to determine whether the change amount of the occurrence probability of each of the data included in the compression target data D1 exceeds the above threshold value.
  • the occurrence probability table generated by the frequency tabulation unit 310 is obtained from the currently input compression target data D1, and the occurrence probability table stored in the occurrence probability table buffer 14 is used. The table is obtained from the data to be compressed D1 previously or previously input.
  • the threshold value used in the change amount determination unit 311 is set such that the total data amount of the finally output compressed code data D4 decreases.
  • a plurality of types of threshold setting methods are prepared, and the threshold is set using any one of these methods. The details of the method of setting the threshold will be described later.
  • the difference probability data generation unit 32 when the change amount determination unit 311 determines that the change amount of the occurrence probability table exceeds a predetermined threshold, calculates the difference of the occurrence probability table. Generate the difference probability data D 3 consisting of Where the difference probability tape The difference between the data is the data obtained by collecting the occurrence probabilities of the data included in the compression target data D1 that have greatly different occurrence probabilities. Note that the difference probability data generation unit 312, for data for which the change amount determination unit 311 determines that the change amount of the occurrence probability table does not exceed a preset threshold value, the occurrence probability of the previous The difference probability data D3 including information indicating the same as the raw probability is generated.
  • the occurrence probability table reconstructing unit 3 1 3 generates an occurrence probability table buffer 1 4 for data for which the change amount of the occurrence probability table has been determined by the change amount determining unit 3 1 1 to be greater than a predetermined threshold value. Is updated to the occurrence probability table generated by the frequency tabulation unit 310.
  • the occurrence probability table buffer 14 temporarily stores an occurrence probability table used when encoding and compressing the compression target data D 1 or an occurrence probability table used when encoding past compression target data D 1. .
  • the entropy encoder 3 15 encodes and compresses the compression target data D 1 using an occurrence probability table temporarily stored in an occurrence probability table buffer 14 to generate compressed code data D 2 I do.
  • the combining unit 316 combines the compressed code data D2 generated by the entropy coding unit 315 with the difference probability data D3, and includes the difference probability data D3 in the compressed code data D2. Generate compression code data D4.
  • the threshold value is set so that the total data amount of the compressed code data D4 finally output is reduced.More specifically, when the occurrence probability distribution of the compression target data D1 changes, Assuming that the change amount is small, the difference amount of the compressed code data D 4 obtained by not including the corresponding difference probability data D 3 in the compressed code data D 4 is calculated by using the occurrence probability table before the change.
  • the threshold is set so as to be larger than the increase in the data amount of the compressed coded data D4 due to an error generated when the coding is performed.
  • the error occurs because encoding is performed using an occurrence probability table before change having an occurrence probability different from the actual probability distribution of the compression target data D1.
  • a method of setting the threshold will be described in detail.
  • P x t Probability of occurrence of data X obtained from currently input compression target data D 1
  • P No 1 Probability of occurrence of data X obtained from previous input of compression target data
  • D 1 m Difference of one data
  • r Data amount of difference probability data D3 (bits) consisting of information indicating that the occurrence probability of one data is the same as the previous occurrence probability
  • the difference probability data D3 is m—r bits only Can be reduced.
  • the data amount of the compressed code data D2 that increases when coding is performed using the occurrence probability changed by ⁇ times is ⁇ _ ⁇ ( ⁇ , ⁇ ) bits. Therefore, when the data amount decrease m ⁇ r is larger than the data amount increase 1_ ⁇ ( ⁇ , ⁇ ), the information indicating the occurrence probability is regarded as almost unchanged, and the information indicating the occurrence probability is compressed. If not included in the data, the total data amount of the finally obtained compressed coded data D4 can be reduced.
  • the decrease in data amount m-r on the left side is a constant
  • _ ⁇ ( ⁇ , ⁇ ) is the data to be compressed. It is a function expressed by the number of data of D1, the occurrence probability PX when the occurrence probability of data X does not change, and the variation amount ⁇ of the occurrence probability. Therefore, in order to satisfy the conditional expression (8), it is important that the change amount ⁇ of the occurrence probability is a value close to “1” (the change amount ⁇ is small). For this reason, the threshold value set in the change amount determination section 311 is basically determined based on the change amount ⁇ of the occurrence probability. Hereinafter, a method of setting the threshold will be described.
  • the first setting method is the change amount ⁇ in the occurrence probability table. Leave create a variation tolerance table set the upper limit value T ma x and the lower limit value T min for is for the Re this with a threshold value.
  • the data included in the data to be compressed D 1 is X
  • the data to be compressed that is currently input is the occurrence probability of the data X that was previously included in the data to be compressed D 1 minus 1 . It is determined whether or not the amount of change in the occurrence probability of the data X included in D1 is within the range of the inequality shown in the following equation (9).
  • the above method of using the variation allowable table as a threshold is used when the total data amount of the compression target data D1 does not change much over time (that is, the number of data on the right side of the above equation (8) is almost constant). Is applied).
  • the data D 1 to be compressed is image data (moving image data)
  • entropy encoding is performed as determined by JPEG (ISO TEC 1 091 8-1) or the like. First, image data is often cut out into blocks of 8x8 pixels, separated into DC (direct current) and AC (alternating current) components, and then entropy-compressed.
  • FIG. 38 is a diagram illustrating an example of a change amount allowable table used in the change amount determination unit 311. Referring to FIG. 38, as the occurrence probability P increases, the upper limit T max is set to decrease and converge to the value “1”, and the lower limit T min increases and converges to the value “1”. Is set to
  • the first setting method described above is used when the temporal variation of the total data amount of the data D1 to be compressed hardly occurs, that is, when it is assumed that the number L of data on the right side of the above equation (8) is almost constant.
  • the second setting method described here sets the threshold value in consideration of the temporal variation of the total data amount of the compression target data D1.
  • the second setting method when changing the value of the change amount of the occurrence probability P and the probability of occurrence of data X ⁇ ( ⁇ ⁇ ⁇ one 1 Roh) substituted into equation (8), obtained by substituting each value ( 8)
  • a number-of-data condition table that sets the number-of-data condition L th that satisfies the conditional expression shown in the equation is created, and this is set as the threshold.
  • the number of data X included in the input compression target data D 1 is the data set according to the occurrence probability and the variation ⁇ If the number condition is less than L th, it is determined that the change amount of the data X is small and does not exceed the threshold, and if it is larger than the data number condition L th , the occurrence probability of the data X It is determined that the amount of change in P x 1 exceeds the threshold value.
  • FIG. 39 is a diagram illustrating an example of a data number condition table used in the change amount determination unit 31 1.
  • 39 A is an example of the data number condition table when the change amount ⁇ of the occurrence probability is larger than 1.
  • 39 39 is a diagram showing an example of a data number condition table when the change amount ⁇ of the occurrence probability is smaller than 1.
  • FIG. Now, in Fig. 39 ⁇ , focusing on data in which the occurrence probability is “0.125 (1 no 8)” and the variation ⁇ of the occurrence probability is “1.2J, The numerical condition is set to “1885 J. Therefore, if the number of data of this data is less than“ 1885 ”, it is determined that the threshold is not exceeded, and it is larger than“ 1885 ”. In this case, it is determined that the threshold is exceeded.
  • the table is obtained in advance and the threshold is set.
  • the left side of the conditional expression shown in the above equation (8) is set as the threshold.
  • the change amount determination unit 311 uses the number of data of the compression target data D 1, the occurrence probability p x when the occurrence probability of the data X does not change, and the change amount ⁇ of the occurrence probability to obtain (8) ) Find the value on the right side of the expression and determine whether this value is greater than or equal to the value of expression (8).
  • the method of setting the threshold has been described above.
  • the first setting method described above is used when the number L of data of the compression target data D1 does not change much over time
  • the second setting method is the data of the compression target data D1.
  • the third setting method makes a determination using a mathematical expression, it is preferable to use the third setting method when there is room in the calculation capability of the change amount determination unit 311.
  • the compression target data D1 has a slight change in the number L of data over time, and the change amount determination unit 311 changes the data L1 according to the first setting method described above. It is assumed that a quantity allowance table has been set. Further, it is assumed that the occurrence probability table of the compression target data D1 previously input is stored in the occurrence probability table buffer 14 shown in 36.
  • the compression target data D1 input in the frequency counting unit 310 is collected (step S310), and the collected compression target data D1 is collected.
  • the occurrence frequency of each data included in the data is aggregated, the occurrence probability of each data is obtained, and an occurrence probability table is generated (step S311).
  • the change amount determination unit 311 compares the occurrence probability table generated in the frequency aggregation unit 3110 with the occurrence probability table temporarily stored in the occurrence probability table buffer 14, and The magnitude of the change in the probability of occurrence is determined using the change allowance table (see Fig. 38), and the data with a large change in the probability of occurrence is detected (step S312).
  • FIG. 41 is a diagram showing an example of a state of occurrence probability change and an appearance of extraction of the occurrence probability of data whose occurrence probability has greatly changed.
  • the curve labeled T1 is the occurrence probability distribution temporarily stored in the occurrence probability table buffer 14 (the occurrence probability distribution obtained from the previously input compression target data D1).
  • Indicate The curve denoted by the symbol T2 shows the distribution of the probability of occurrence obtained from the data D1 to be compressed this time.
  • the change in the probability of occurrence of the data belonging to the range denoted by G1 and G3 is small, and the change in the probability of occurrence of the data belonging to the range denoted by G2 is large. It is determined, and data belonging to the range denoted by the symbol G2 is detected.
  • Fig. 41B is a diagram showing an example of the occurrence probabilities extracted by the difference probability data generation unit 312.
  • the probability of occurrence of data belonging to the range indicated by the symbol G2 in Fig. 4 1A is extracted.
  • the curve indicated by the symbol T3 indicates the distribution of the extracted occurrence probabilities.
  • the difference probability data generation unit 312 generates difference probability data D3 using the extracted difference probability data (step S314).
  • the difference probability data generation unit 312 includes the occurrence probability extracted in step S3 13 for data with a large change in the occurrence probability, and the occurrence probability for the data with a small change in the occurrence probability.
  • the difference probability data D3 is generated by including information indicating that the probability is the same as the occurrence probability of.
  • data belonging to the range denoted by reference sign G2 is For the data belonging to the range marked with G1 and G2, including the occurrence probability shown in Fig. 41B, the difference including the information indicating that the occurrence probability is the same as the previous occurrence probability Generate probability data D 3.
  • the occurrence probability table reconstructing unit 3 13 is stored in the occurrence probability table buffer 3 14 based on the detection result obtained from the determination result of the change amount determining unit 3 11
  • the occurrence probability table is updated (step S315).
  • the occurrence probabilities of data in the range indicated by the symbol G2 in the occurrence probability distribution indicated by the symbol T1 are updated to the occurrence probabilities shown in FIG. 41B.
  • the entropy coding unit 3 15 entropy-encodes and compresses the compression target data D 1 input this time using the updated occurrence probability table, and compresses the compressed code data D 1. 2 is generated (step S3 16).
  • the difference probability data D 3 generated by the difference probability data generation unit 3 12 and the compressed code data D 2 generated by the entropy coding unit 3 15 are combined by the synthesis unit.
  • Compressed code data D4 is generated in which the difference probability data D3 is combined in the compressed code data D2 in step 316 (step S3117).
  • the processing when the data to be compressed D1 is input has been described above.Every time the data to be compressed D1 is input continuously or intermittently continuously, the same processing as described above is performed. Is performed. As described above, in the present embodiment, the magnitude of the change in the occurrence probability is determined, and only the occurrence probability of data having a large change in the occurrence probability is determined.
  • the total data amount of the compressed code data D4 can be reduced.
  • the probability of occurrence to be included in the difference probability data D 3 becomes extremely small, so that the total data amount of the compression code data D 4 can be significantly reduced. it can.
  • the probability of occurrence of all data included in the data D1 to be compressed is included in the difference probability data D3, and the difference probability data D3 is included in the compressed code data D2.
  • D 4 is generated.
  • each of the blocks shown in FIG. 36 is configured in terms of hardware, and these are combined to form a compression encoding device.
  • hardware It is also possible to configure the compression encoder as a computer system, and to realize the function of each block constituting the compression encoder by a program.
  • the compression encoding device When the compression encoding device is configured as a computer system, all of the programs for realizing the functions of the above-described blocks constituting the compression encoding device are pre-compressed. It is not always necessary to incorporate it in the compression coding device.
  • a recording device (not shown) storing a program for realizing the function of each of the above blocks is prepared, and the program content can be read from the recording medium, and the recording device can be detached from the reading device. (Not shown) is connected to a compression encoding device configured as a computer system.
  • the compression encoding device reads the program contents necessary for realizing the function from the recording medium loaded in the reading device, and executes the read program. It can be configured as follows.
  • a configuration can be adopted in which the compression encoding device reads out the program content from a recording medium loaded in the reading device and installs the program content inside. Furthermore, a configuration may be adopted in which the program contents necessary for realizing the functions are installed in the compression encoding device via a communication network using the Internet or the like.
  • the above-mentioned recording media include magnetic recording media (magnetic disk, magnetic tape, etc.), electrical recording media (PROM, battery, backup RAM, EEPROM, other semiconductor memory, etc.) Optically recorded items (compact discs (CD), DVDs (registered trademark)) such as those that record magneto-optically (such as magneto-optical discs) and those that record electromagnetically (such as digital audio tape (DAT)) )), Etc. can be employed.
  • a recording medium on which the program contents for realizing the functions are recorded it is possible to install and re-install the program so that later programs can be installed. It will be possible to easily modify the contents and upgrade the version to improve performance.
  • FIG. 42 is a block diagram illustrating a configuration of a decoding device according to an embodiment of the present invention.
  • the decoding device of the present embodiment includes an input section 320, a compressed code data overnight division section 321, an occurrence probability table update section 32, an occurrence probability table buffer 32, It is configured to include a decoding unit 324 and an output unit 325.
  • the input unit 320 inputs the compressed code data D4 that has been compressed by coding using the above-described compression coding apparatus, method, or program.
  • the input unit 320 has a function corresponding to, for example, a reading unit that reads out the recorded compressed code data D4 when the compressed code data D4 is recorded on a recording device such as a hard disk.
  • the compressed code data D4 When the compressed code data D4 is transmitted, it has a function corresponding to a receiving unit that receives the transmitted compressed code data D4.
  • the compression code data division unit 3 2 1 divides the compression code data D 2 and the difference probability data D 3 included in the compression code data D 4 input from the input unit 3 2 0, and extracts the difference probability data D 3 I do.
  • the probability-of-occurrence table updating unit 32 2 updates the content of the probability-of-occurrence table buffer 23 using the difference probability data D 3 extracted by the compression code data dividing unit 21.
  • the occurrence probability table buffer 23 temporarily stores an occurrence probability table buffer used when decoding the compressed code data D2 divided by the compressed code data dividing unit 21.
  • the decoding unit 3 2 4 generates the probability table buffer 2
  • the compressed code data D 2 divided by the compressed code data division unit 3 2 1 is decoded by using the occurrence probability table temporarily stored in 3.
  • the output unit 325 outputs the decoded data D5 decoded by the decoding unit 324.
  • FIG. 43 is a flowchart illustrating a decoding method according to an embodiment of the present invention.
  • the occurrence probability table extracted from the previously input compressed code data D 4 is stored in the occurrence probability table buffer 23 shown in FIG. I do.
  • step S320 When new compression code data D4 is input, it is obtained at the input section 320 (step S320).
  • the new compressed code data D 4 obtained by the input unit 320 is divided into the compressed code data D 2 and the difference probability data D 3 by the compressed code data dividing unit 3 21 (step S 3 2 1).
  • Difference probability data D 3 is extracted (step S 3 2 2).
  • the extracted difference probability data D3 is output to the occurrence probability table updating unit 3222 and used for updating the occurrence probability table buffer 23 (step S32).
  • the difference probability data D 3 includes only the occurrence probability of data with a large change in the probability of occurrence at the time of compression coding, and the data with the small change in the probability of occurrence has the same occurrence probability as the previous occurrence probability Information indicating the fact is included.
  • the occurrence probability table update unit 3 222 stores only the data whose occurrence probability is included in the difference probability data D 3 among the occurrence probability tables stored in the occurrence probability table buffer 23.
  • the probability of occurrence is not updated for data that contains information indicating that the probability of occurrence is the same as the previous probability of occurrence.
  • the decoding unit 24 decodes the compressed code data D 2 divided by the compressed code data division unit 21 using the updated occurrence probability table (step S 2). 3 2 4).
  • the decoded data decoded by the decoding unit 24 is output from the output unit 25 as decoded data D5 (step S325).
  • the processing when the compressed code data D 4 is input has been described above.Every time the compressed code data D 4 is input continuously or intermittently continuously, the same processing as described above is performed. Is performed.
  • the compressed code data D2 included in the compressed code data D4 and the difference probability data D3 are divided to extract the difference probability data D3, and the extracted difference probability data D3 Is used to update the contents of the occurrence probability table buffer 23, and decoding is performed using the updated occurrence probability table. For this reason, the compressed code data D2 is decoded using the same occurrence probability table as used when encoding the compressed code data D2, so that a correct decoding result is obtained.
  • the difference probability data D3 included in the compression target data D4 includes the occurrence probabilities of all the data included in the compression target data D1. Therefore, if all of the contents of the difference probability data D3 are stored in the occurrence probability table buffer 23 and the decoding is performed, the decoding can be performed without any problem.
  • each block shown in FIG. 42 is configured in hardware and a decoding device is configured by combining them.
  • the decoding device it is also possible to configure the decoding device as a computer system and realize the functions of each block constituting the decoding device by a program.
  • the decoding device When the decoding device is configured as a computer system, all of the programs for realizing the functions of the above-described blocks constituting the decoding device are previously stored in the decoding device in the same manner as in the above-described compression encoding device. It is not always necessary to incorporate it into For example, a recording medium (not shown) storing a program for realizing the function of each of the above blocks is prepared, and the program contents can be read from the recording medium, and the recording medium can be detached. Connected to a decoding device configured as a computer system, the decoding device reads the program contents necessary for realizing the functions from the recording medium loaded in the reading device, and reads the read program contents. The program can be configured to execute.
  • the decoding device can read out the program contents from a recording medium loaded in the reading device and install it inside. Furthermore, using the Internet, etc., the programs required to realize the functions via the communication network It is also possible to adopt a configuration in which the contents of the program are installed in the decryption device. It should be noted that the same recording medium as described above can be used as the recording medium. In this way, by using a recording medium on which the program contents for realizing the functions are recorded or by installing the program, it is possible to correct the program contents later in the multifunction peripheral. And version upgrades to improve performance can be performed easily.
  • the compression encoding method, the device, and the program, and the decoding method, the device, and the program according to the embodiment of the present invention have been described.
  • the present invention is not limited to the above embodiment, and the scope of the invention Can be changed freely.
  • the magnitude of the change in the occurrence probability of each piece of data included in the data to be compressed is determined, and the difference probability data including the occurrence probability of the data having a large change is generated.
  • the difference probability data since only the difference probability data is included in the compressed code data, there is an effect that the total data amount of the finally obtained compressed code data can be reduced.
  • the probability of occurrence to be included in the difference probability data becomes extremely small, so that the total data amount of the compressed code data can be greatly reduced.
  • the differential probability data included in the compressed compressed code data is divided and extracted, the differential probability table is updated, and the divided compressed code data is decoded using the updated differential probability table. Therefore, decoding is performed using the same occurrence probability table as that used for the compression code, and a correct decoding result is obtained.
  • the present invention provides an image compression apparatus, method, and program capable of improving the image quality without lengthening the calculation processing, and further reduces the total data amount even when the occurrence probability is included. Since it provides a compression encoding method, apparatus, and program that can perform encoding, and an encoding method, apparatus, and program of encoded compressed encoded data, image compression, encoding of compressed data, and encoding of the encoded data are performed. Can be used for decoding. In particular, in the compression of a moving image, a compression encoding method, apparatus, program, or a second embodiment of the present invention combining the first embodiment of the present invention and the third embodiment of the present invention. By using the compression-encoding method, the device, and the program that combine the embodiment of the present invention and the third embodiment of the present invention, it is possible to further reduce the data amount while suppressing the deterioration of the image quality.

Abstract

本発明は、画像圧縮の装置と方法とプログラム、圧縮符号データの符号化装置と方法とプログラム、並びに複合化装置と方法とプログラムと示す。画像圧縮装置は、画像全体をブロックに切り分けるブロック分割し、ブロックの画素値から各ブロックを近似する斜面または外縁部分を特定するパラメータと求める斜面または外縁斜面を算出し、この斜面または外縁斜面と各画素値との差分を算出する誤差量または差分値を算出し、各ブロックの符号化補正量を算出する手段と、斜面または外縁斜面を特定するパラメータを可逆符号化する符号化手段とを備える。符号化装置は時系列的に得られる圧縮対象データに含まれる発生確率の変化量を判定し、発生確率の大きいデータの発生確率を含む差分確率データを生成し、生成された差分確率データを圧縮符号化データに合成する合成手段を有する。

Description

明 細 書 画像圧縮装置、 画像圧縮方法、 画像圧縮プログラム、 及び圧縮符号化方法、 圧縮符号化装置、 圧縮符号化プログラム、
並びに複号化方法、 複号化装置、 複号化プログラム 技術分野
本発明の第 1の実施の形態は、 再現性よく画像の圧縮を行う画像圧縮装置、 画 像圧縮方法及び画像圧縮プログラム、 第 2の実施の形態は、 短い時間で再現性よ く画像の圧縮を行う画像圧縮装置、 画像圧縮方法及び画像圧縮プログラム、 第 3 の実施の形態は、 時間的に連続するデータを符号化して圧縮することによリデー タ量を低減する圧縮符号化方法と装置及びそのプログラム、 並びに当該装置等に より圧縮符号化された圧縮符号データの復号化を行う復号化方法と装置及びその プログラムに関する。 背景技術
本発明の第 1の実施の形態の背景技術とその目的は次のとおリである。
画像データはデータ量が多く、 圧縮せずに蓄積した場合、 データ利用時の速度、 データの蓄積効率のすべてにおいて性能が低下する。このため画像データを蓄積、 利用する再には高効率の圧縮を行うことが必須となっている。 このような画像圧 縮を行う手法として J P E G (Joi nt Photographi c Expert Group ん ISO I EC 10918-1)が知られている。 J P EGによる画像圧縮は、以下に示す手順で圧縮処 理が行われる。
( 1 ) 画像を 8 X 8画素のブロックに切リ分ける。
(2) 符号化に DCT変換 (Discrete Cosine Transform:離散コサイン変換) を 用い X方向、 y方向各 8要素づっ、 合計 64要素の周波数成分 Qij、 および、 直 流成分 DCに変換する。
(3) 量子化では本来実数である Qijに (乗算の結果が一 1 28〜1 27の範囲 におさまるように求めた) 定数を乗算し、 絶対値が小さくなるように切り捨てる 等、 一定の法則に基づいた正規化によって整数データに変換する。 さらに、 ジグ ザグに Qij 拾い上げてデータ列にする。 (ただし、 0を見つけたらそれ以降のデ ータを 0とみなす。)
(4) Qijの系列 DC成分についてエントロピ一符号化の一種であるハフマン符 号化を行い圧縮データとする。
( 5 ) 圧縮データやパラメータを所定の順番で多重化する。
また、 これ以外にもブロックを符号化する方法として特許文献 1に記載された BTC (Block Truncation Coding) 法が知られている。 この手法は、 符号化対象 となっているブロック内の各画素色がブロック平均値以上になるか、 少ないかを 示したパターン情報、 さらに、 ブロック平均値、 そして、 パターンによって変化 する階調の大きさを示す (たとえば、 ブロック中の画素値の分散値などの) 値、 の 3種類のパラメータでブロックを表現する符号化方法である。
人間が画像を理解しょうとする際には 「色の境界エッジ」 や 「背景とライン組 み合わせ」、そして「グラデーション」 といった人間が特徴として認識し注目する 部分の再現性に問題があると、 画像を間違って認識してしまつたり、 誤差が目立 つて画質の低下を強く感じるなどの問題が発生する可能性が高くなるという問題 がある。
ところが、 J P E Gのように離散コサイン変換でブロックのデータを符号化し た場合には、 ブロック内のエッジにそって歪 (周波数成分を合成した場合特有の D C Tノイズ) が発生することが良く知られている。 一方、 B T Cはエッジを忠 実に再現する符号化方法であり離散コサイン変換より高速に処理できる手法であ るが、 発色する色数を増やすと圧縮率が極端に落ちるため、 高効率の圧縮を行う 際には色数が限定されてしまい、 グラデーションを再現する際に段々畑状になり 色の境目が目立つことになる。 さらに、 離散コサイン変換、 B T Cの両者におい ても、 ブロック内の全画素を均等に极つて圧縮しているため中心に多く発生して いる色合いがあれは、 外縁部の微妙な色合いまで中心の色に近くなつてしまい、 ブロックとブロックの境目で色の違いが目立ってしまう。
このような歪みが発生するという問題を解決するために、 これらの手法につい ての改良方法などもいくつか提案されている。 例えば、 特許文献 2に記載された 離散コサイン変換と B T Cを併用して画質を向上させる手法が提案されている この手法は、 以下に示す手順で処理される。
(1 ) 画像をブロックに分ける。
(2) 各ブロックごとにエッジ抽出を行う。
(3) エッジ部には BTC符号化と BTC復号を行い、 エッジを打ち消した画像 を用 、する。
(4) エツジを打ち消した画像に対し離散コサイン変換を行う。
この手法を用いれば、 ブロック内に現れるグラディエーシヨンに対してでもェ ッジに対してでも誤差が少ない符号化が可能となる。
特許文献 1 :特開昭 60— 087596号公報
特許文献 2 :特開平 3— 1 92876号公報
従来から用いられている J P EGなどの圧縮アルゴリズムを置き換えることを 考えると、 J P EGで符号化する際の計算量 (これが増加すると通信回線で伝送 できる画像の枚数が減少するなど問題が発生する) と同等程度に収まる計算量で ある必要があることが前提となるが、 特許文献 2では、 ブロックのエッジ抽出、 D C Tといった計算量が多い処理を行うとともに、 複数の処理を実施しなければ ならない。 このように J P EGと同程度の計算量という前提を満たしながら画像 を蓄積、 もしくは、 伝送して再生するために用いる画像圧縮として重要な上記 3 つの特徴のいずれもが良好な再現性を持った圧縮を行うことが難しいという問題 める。 本発明は、 このような事情に鑑みてなされたもので、 計算処理時間を長くする ことなく圧縮処理を実施することが可能で、 画質を向上させることができる画像 圧縮装置、 画像圧縮方法及び画像圧縮プログラムを提供することを目的とする。 本発明の第 2の実施の形態の背景技術とその目的は次のとおりである。
画像データはデータ量が多く、圧縮せずに蓄積した場合、データ利用時の速度、 データの蓄積効率のすべてにおいて性能が低下する。このため画像データを蓄積、 利用する再には高効率の圧縮を行うことが必須となっている。 このような画像圧 縮を行う手法として J P E G (Joint Photographic Expert Group ん ISO I EC 10918-1)が知られている。 J P EGによる画像圧縮は、以下に示す手順で圧縮処 理が行われる。 (1 ) 画像を 8 X 8画素のブロックに切り分ける。 (2) 符号化に DCT変換 (Discrete Cosine Transform:離散コサイン変換) を用い χ方向、 y 方向各 8要素づっ、 合計 64要素の周波数成分 Qij、 および、 直流成分 DCに変 換する。 (3) 量子化では本来実数である Qij に (乗算の結果が一 1 28〜1 2 7の範囲におさまるように求めた) 定数を乗算し、 絶対値が小さくなるように切 リ捨てる等、 一定の法則に基づいた正規化によって整数データに変換する。 さら に、 ジグザグに Qij 拾い上げてデータ列にする。 (ただし、 0を見つけたらそれ 以降のデータを 0とみなす。) (4) Qijの系列 DC成分についてエントロピー符 号化の一種であるハフマン符号化を行い圧縮データとする。 (5)圧縮データゃパ ラメータを所定の順番で多重化する。
また、 これ以外にもブロックを符号化する方法として前記特許文献 1に記載さ れた B T C (B l ock Truncat i on Cod i ng) 法が知られている。 この手法は、 符号化 対象となっているブロック内の各画素色がブロック平均値以上になるか、 少ない かを示したパターン情報、 さらに、 ブロック平均値、 そして、 パターンによって 変化する階調の大きさを示す (たとえば、 ブロック中の画素値の分散値などの) 値、 の 3種類のパラメータでブロックを表現する符号化方法である。
ところで、 J P E Gのように離散コサイン変換でブロックのデータを符号化し た場合には、 ブロック内のエッジにそって歪 (周波数成分を合成した場合特有の D C Tノイズ) が発生することが良く知られている。 一方、 B T Cはエッジを忠 実に再現する符号化方法であり離散コサイン変換より高速に処理できる手法であ るが、 発色する色数を増やすと圧縮率が極端に落ちるため、 高効率の圧縮を行う 際には色数が限定されてしまい、 グラデーションを再現する際に段々畑状になり 色の境目が目立つことになる。 さらに、 離散コサイン変換、 B T Cの両者におい ても、 ブロック内の全画素を均等な扱いで圧縮しているため中心に多く発生して いる色合いがあれは、 外縁部の微妙な色合いまで中心の色に近くなつてしまい、 ブロックとブロックの境目で色の違いが目立ってしまう
このような歪みが発生するという問題を解決するために、 これらの手法につい ての改良方法などもいくつか提案されている。 例えば、 前記特許文献 2に記載さ れた離散コサイン変換と B T Cを併用して画質を向上させる手法が提案されてい る。 この手法は、 以下に示す手順で処理される。 (1 ) 画像をブロックに分ける。
( 2 )各ブロックごとにエッジ抽出を行う。 (3 )エッジ部には B T C符号化と B T C復号を行い、エッジを打ち消した画像を用意する。 (4 )エッジを打ち消した 画像に対し離散コサイン変換を行う。
この手法を用いれば、 ブロック内に現れるグラデイエーシヨンに対してでもェ ッジに対してでも誤差が少ない符号化が可能となる。
しかしながら、 特許文献 2に記載された手法にあっては、 ブロックの境目のノ ィズについてはどちらの性質を持っても減少させることは難しい上に、 ブロック 内のエッジ抽出、 D C Tといった計算量が多い処理が用いられているとともに、 複数の処理を実施しなければならないため処理時間が非常に長くなつてしまうと いう問題がある。
本発明の第 2に実施の形態は、 このような事情に鑑みてなされたもので、 短い 計算処理時間で圧縮処理を実施することが可能で、 画質を向上させることができ る画像圧縮装置、 画像圧縮方法及び画像圧縮プログラムを提供することを目的と する。 本発明の第 3の実施の形態の背景技術とその目的は次のとおりである。
工場等のプラントにおいては、装置の稼働状況を監視するために、装置の温度、 装置から発せられる音、 又は装置の外観の画像等を監視する監視装置が用いられ ている。 この監視装置は連続して監視を行っているため、 温度を計測して得られ た温度データ、 音を計測して得られたスペクトルデータ、 又は監視カメラにより 撮像された画像データ等の各種監視データが時系列的に連続して又は間欠的に連 続して監視装置から出力されることになる。
これらの監視データのデータ量は膨大なものとなるため、 例えば監視データを 蓄積して管理する場合には大容量の記録装置が必要になリ、 又は遠隔地に設けら れた監視室等に監視データを送信して解析する場合には監視データの送信に長時 間を要するといった不具合が生ずる。 かかる不具合を解決するために、 監視デー タを符号化により圧縮して、 記録するデータ量又は送信するデータ量の低減が図 られる。
データを符号化して圧縮する方法は従来から様々な方法が案出されているが、 上記の監視装置から出力される監視データは、 計測時間が予め定まっている訳で はなく、 ほぼ 2 4時間連続して、 もしくは間欠的にて出力されるデータであり、 時系列的に相関関係があって内容が大幅に変化するデータではない。 このため、 連続的に得られる監視データを逐次符号化して圧縮する方法を用いる必要がある。 このような特性を有するデータはエントロピー符号化により圧縮されることが多 い。
また、 動画像を扱う場合には、 多数の画像をひとまとめにしたブロック毎にそ の特徴を示す価を抽出する事で、 データ量を減少させるブロック符号化をェン卜 口ピー符号化の前段に組み合わせる手法を主に用いる。
エントロピー符号化によるデータ圧縮は、 周知の通り、 圧縮しょうとするデー タ (以下、 圧縮対象データという) に含まれるデータ毎の発生確率を用い、 発生 確率の高いデータにはビット数が少ない符号を割り当て、 発生確率の低いデータ にはビット数が多い符号を割り当てることで圧縮するものである。 ここで、 圧縮 対象データに含まれるデータ Xの発生確率を P xとすると、 P xは (データ Xの数 /圧縮対象データの総データ数) で求められ、 圧縮する際にデータ Xに対して I o g 2 ( 1 / P J のビット数を有する符号を割り当てたときに最も効率良く圧縮 することができる。
上記のエントロピー符号化を用いた具体的な符号化方法として、算術符号化法、 ハフマン符号化法、及び算術符号化法を変形したレンジコーダ法が知られている ό 上記算術符号化法の詳細については以下の特許文献 1を参照されたい。 また、 上 記の各種符号化方法の具体例については以下の非特許文献 1〜 3を参照されたい。 エントロピー符号化において用いられるデータ毎の発生確率を表したテーブル (以下、 発生確率テーブルという) は、 データの符号化時のみならず、 圧縮した データ (以下、 圧縮符号データという) を復号する際にも必要となる。 尚、 符号 化時に用いた発生確率テーブルと同一のものを復号化時に用いなければ、 圧縮符 号データを正しく復号することができない。 符号化する側と復号化する側とで用 いる発生確率テーブルを同一にするために、 例えば以下の手法が用いられる。
[第 1の手法]
符号化する側において符号化時に用いた発生確率データを圧縮符号データに含 めて記録又は送信し、 復号化する側は圧縮符号データに含められて記憶又は送信 された発生確率データを用いて圧縮符号データを復号する。
[第 2の手法]
予め定めた発生確率テーブルを符号化する側及び復号化する側の双方に用意し ておき、 符号化する側においては予め用意された発生確率テーブルを用いて符号 化して圧縮符号データのみを記録又は送信し、 復号化する側は予め用意された発 生確率テーブルを用いて記憶又は送信された圧縮符号データを復号する。
また、 圧縮符号化時においては、 圧縮対象データに含まれるデータ毎の発生確 率の分布 (以下、 発生確率分布という) に適合した発生確率テーブルを用いて圧 縮対象データを圧縮しなければ圧縮率が低下し、 場合によっては圧縮対象データ の総データ量よりも圧縮符号データの総データ量の方が大きくなることがある。 かかる不具合を防止する方法として以下の第 3の手法が案出されている。
[第 3の手法]
符号化する側と復号化する側との双方に予め複数種類の発生確率データを用意 しておき、 符号化する側においては圧縮対象データの発生確率分布に近い発生確 率テーブルを用いて符号化を行い、 符号化時に用いた発生確率データを示す情報 を圧縮符号データに含めて記録又は送信し、 復号化する側は圧縮符号データに含 ぬられて記憶又は送信された情報で示される発生確率データを用いて圧縮符号デ 一タを復号する。 尚、 この手法の詳細については、 例えば以下の特許文献 2を参 照されたい。
特許文献 3 :特開昭 53—1 1 0338号公報
特許文献 4 :特開平 7— 2741 71号公報
非特許文献 1 :「C MAGAZ I NE丄 2001年 8月, p. 1 1 1 - 1 1 6 非特許文献 2 :「C MAGAZ I N E丄 2001年 9月, p. 95- 1 00 非特許文献 3 : 「C MAGAZ I NE丄 2002年 7月, p. 1 6— 35 ところで、 上記の第 1の手法を用いた場合には、 圧縮符号データに対して発生 確率テーブルの全てを含めなければならいため、 圧縮対象データのデータ量を低 減しているにも拘わらず、 記録又は送信する総データ量がさほど低減されず、 場 合によっては圧縮対象データのデータ量よりも記録又は送信する総データ量が大 きくなるという問題があった。
また、 上述した第 2の手法を用いた場合には、 発生確率テーブルを圧縮符号デ 一夕に含める必要がないが、 使用する発生確率テーブルに対して圧縮対象データ の発生確率分布が適合していないと圧縮率が低下し、 場合によっては圧縮対象デ 一夕の総データ量よりも圧縮符号データの総データ量の方が大きくなるという問 題があった。 特に、 動画像を扱う場合には、 連続する画像間で、 データの発生確率に関連性 があるにも係わらず、上述の第 1 (例えば、 J P E Gで用いられている)、 もしく は、 上述の第 2 (例えば、 M P E Gで用いられている) の手法を用いている。 更に、 前述した第 3の手法を用いた場合には、 予め容易されている複数の発生 確率テーブルの内から、 圧縮対象データの発生確率分布に近い発生確率テーブル を選択することができるだけであり、 上記の第 2の手法と同様に、 圧縮率が低下 し、 場合によっては圧縮対象データの総デ一タ量よりも圧縮符号デ一タの総デー タ量の方が大きくなる可能性を潜在的に有しているという問題があつた。
本発明は上記事情に鑑みてなされたものであり、 圧縮符号データに対して発生 確率テーブルを含める場合であっても、連続した複数の圧縮データを送る場合に、 総データ量の低減を図ることができる圧縮符号化方法、 装置、 及びプログラム、 並びに当該装置等により符号化された圧縮符号データを復号化する復号化方法、 装置、 及びプログラムを提供することを目的とする。
発明の開示
本発明の第 1の実施の形態の目的を解決するための手段である画像圧縮装置、 画像圧縮方法及び画像圧縮プログラムは以下のとおりである。
請求項 1に記載の発明は、 画像全体を n x m画素 (n , mは 4以上の自然数) のブロックに切り分けるブロック分割手段と、 前記ブロックの画素値から、 該ブ ロックを近似する第 1の斜面を特定するパラメータを求める第 1斜面算出手段と、 前記第 1の斜面と前記ブロック内の各画素値との差分を算出することで n X m個 の誤差量を算出する誤差量算出手段と、 前記誤差量が所定のしきい値を超える画 素値が存在する場合に、 誤差量が所定のしきい値を超える画素値のみから第 2の 斜面を特定するパラメータを求める第 2斜面算出手段と、 前記第 1及び第 2の斜 面を特定するパラメータを可逆符号化する符号化手段とを備えたことを特徴とす る。
請求項 2に記載の発明は、 前記第 1斜面算出手段は、 前記ブロックの外縁部分 のみの画素値から斜面を特定するパラメータを求めることを特徴とする。
請求項 3に記載の発明は、画像データを非可逆圧縮する画像圧縮方法であって、 画像全体を n X m画素 (n , mは 4以上の自然数) のブロックに切り分けるプロ ック分割過程と、 前記ブロックの画素値から、 該ブロックを近似する第 1の斜面 を特定するパラメータを求める第 1斜面算出過程と、 前記第 1の斜面と前記プロ ック内の各画素値との差分を算出することで n X m個の誤差量を算出する誤差量 算出過程と、 前記誤差量が所定のしきい値を超える画素値が存在する場合に、 誤 差量が所定のしきい値を超える画素値のみから第 2の斜面を特定するパラメータ を求める第 2斜面算出過程と、 前記第 1及び第 2の斜面を特定するパラメータを 可逆符号化する符号化過程とを有することを特徴とする。
請求項 4に記載の発明は、 前記第 1斜面算出過程は、 前記ブロックの外縁部分 のみの画素値から斜面を特定するパラメータを求めることを特徴とする。
請求項 5に記載の発明は、 画像データを非可逆圧縮する画像圧縮プログラムで あって、 画像全体を n X m画素 (n, mは 4以上の自然数) のブロックに切り分 けるブロック分割処理と、 前記ブロックの画素値から、 該ブロックを近似する第 1の斜面を特定するパラメータを求める第 1斜面算出処理と、 前記第 1の斜面と 前記ブロック内の各画素値との差分を算出することで n X m個の誤差量を算出す る誤差量算出処理と、 前記誤差量が所定のしきい値を超える画素値が存在する場 合に、 誤差量が所定のしきい値を超える画素値のみから第 2の斜面を特定するパ ラメータを求める第 2斜面算出処理と、 前記第 1及び第 2の斜面を特定するパラ メータを可逆符号化する符号化処理とをコンピュータに行わせることを特徴とす る。
請求項 6に記載の発明は、 前記第 1斜面算出処理は、 前記ブロックの外縁部分 のみの画素値から斜面を特定するパラメータを求めることを特徴とする。 本発明の第 2の実施の形態の目的を解決するための手段である画像圧縮装置、 画像圧縮方法及び画像圧縮プログラムは以下のとおリである。
請求項 7に記載の発明は、 画像全体を n X m画素 (n , mは 4以上の自然数) のブロックに切リ分けるブロック分割手段と、 前記ブロックの外縁部分のみの画 素値から、 該外縁部分を近似する斜面を特定するパラメータを求める外縁斜面算 出手段と、 前記斜面と前記ブロック内の各画素値との差分を算出することで n X m個の補正値を算出する補正値算出手段と、 前記補正値を非可逆符号化するとと もに、 該符号化補正値と前記斜面を特定するパラメータとを可逆符号化する符号 化手段とを備えたことを特徴とする。
請求項 8に記載の発明は、 前記符号化手段は、 前記 n x m個の補正値の各々に ついて正負を 1ビッ卜で表現する符号計算手段と、 ブロック内の補正値を統計的 に処理することで、 前記ブロックの補正値の変動の大きさを示す値を求める統計 的計算手段を含むことを特徴とする。
請求項 9に記載の発明は、画像データを非可逆圧縮する画像圧縮方法であって、 画像全体を n X m画素 (n, mは 4以上の自然数) のブロックに切り分けるプロ ック分割過程と、 前記ブロックの外縁部分のみの画素値から、 該外縁部分を近似 する斜面を特定するパラメータを求める外縁斜面算出過程と、 前記斜面と前記ブ 口ック内の各画素値との差分を算出することで n X m個の補正値を算出する補正 値算出過程と、 前記補正値を非可逆符号化するとともに、 該符号化補正値と前記 斜面を特定するパラメータとを可逆符号化する符号化過程とを有することを特徴 とする。
請求項 1 0に記載の発明は、 前記符号化過程は、 前記 n X m個の補正値の各々 について正負を 1ビッ卜で表現するとともに、 各補正値の絶対値に対し統計処理 を行い、 補正の大きさを示す統計的指標を求め全ての補正値の振幅値とすること によリ非可逆符号化することを特徴とする。
請求項 1 1に記載の発明は、 画像データを非可逆圧縮する画像圧縮プログラム であって、 画像全体を n x m画素 (n, mは 4以上の自然数) のブロックに切り 分けるブロック分割処理と、 前記ブロックの外縁部分のみの画素値から、 該外縁 部分を近似する斜面を特定するパラメータを求める外縁斜面算出処理と、 前記斜 面と前記ブロック内の各画素値との差分を算出することで n X m個の補正値を算 出する補正値算出処理と、 前記補正値を非可逆符号化するとともに、 該符号化補 正値と前記斜面を特定するパラメータとを可逆符号化する符号化処理とをコンビ ユータに行わせることを特徴とする。
請求項 1 2に記載の発明は、 前記符号化処理は、 前記 n X m個の補正値の各々 について正負を 1ビッ卜で表現するとともに、 各補正値の絶対値に対し統計処理 を行い、 補正の大きさを示す統計的指標を求め全ての補正値の振幅値とすること によリ非可逆符号化することを特徴とする。 本発明の第 3の実施の形態の目的を解決するための手段である時系列的に求め られる画像圧縮データの符号化装置と方法及びプログラム、 並びに複合化装置と 方法及びプログラムは、 以下のとおりである。
請求項"! 3の圧縮符号化方法は、時系列的に相関のある圧縮対象データ (D 1〉 を符号化して圧縮した圧縮符号データ (D 2 ) を生成する圧縮符号化方法におい て、 時系列的に得られる前記圧縮対象データに含まれるデータ毎の発生確率の変 化暈の大小を判定する判定ステップ (S 3 1 2 ) と、 前記発生確率の変化量が大 であると判定されたデータの発生確率を含む差分確率データ (D 3 ) を生成する 差分確率データ生成ステップ (S 3 1 4 ) と、 前記差分確率データを前記圧縮符 号データに含める合成ステップ (S 3 1 7 ) とを含むことを特徴としている。
この発明の第 3の実施の形態によれば、 圧縮対象データに含まれるデータ毎の 発生確率の変化量の大小を判定し、 変化量が大きいデータの発生確率を含む差分 確率データを生成し、 この差分確率データのみを圧縮符号データに含めるように しているため、 最終的に得られる圧縮符号データの総データ量を低減することが できる。 特に、 圧縮対象データの時系列的な相関関係が高いと、 差分確率データ に含めるべき発生確率が極めて少なくなるため、 圧縮符号データの総データ量を 大幅に低減することができる。
請求項 1 4に記載の圧縮符号化方法は、 前記判定ステップが、 前記データの発 生確率の変化が小さいと仮定して前記データの発生確率を前記差分確率データと して前記圧縮符号データに含めないことによる前記圧縮符号データのデータ量減 少分が、 変化前の発生確率を用いて前記圧縮対象データを符号化した際に発生す る誤差による前記圧縮符号データのデータ量増加分よりも大きくなるよう設定し た閾値を用いて前記判定を行うことを特徴としている。
請求項 1 5に記載の圧縮符号化方法は、 前記閾値が、 前記データ各々について 許容される発生確率の変化量の上限値及び下限値を定めた変化量許容テーブルと して設定され、 前記判定ステップが、 前記データの発生確率の変化量が前記変化 量許容テーブルで定められた上限値を越えて大きく又は下限値を越えて小さい場 合に、 前記発生確率の変化量が大であると判定することを特徴としている。 請求項 1 6に記載の圧縮符号化方法は、 前記閾値が、 前記データの発生確率及 び当該発生確率の変化量毎に前記データの最大数を示すデータ数条件を定めたデ —タ数条件テーブルで設定され、 前記判定ステップが、 前記圧縮対象データに含 まれるデータのデータ数が前記データ数条件テーブルで定められたデータ数条件 を越えて大きい場合に、 前記発生確率の変化量が大であると判定することを特徴 としている。
請求項 1 7に記載の圧縮符号化方法は、 前記閾値が、 前記データ量減少分に設 定され、 前記判定ステップが、 前記データのデータ数、 発生確率、 及び発生確率 の変化量から求められる前記データ量増加分が前記データ量減少分を越えて大き い場合に、 前記発生確率の変化量が大であると判定することを特徴としている。 請求項 1 8に記載の圧縮符号化方法は、 前記差分確率データ生成ステップが、 前記発生確率の変化量が小であると判定されたデータについて、 発生確率が前回 の発生確率と同じである旨を示す情報を前記差分確率データに含めることを特徴 としている。
請求項 1 9に記載の圧縮符号化装置は、 時系列的に相関のある圧縮対象データ ( D 1 ) を符号化して圧縮した圧縮符号データ (D 2 ) を生成する符号化部 (3 1 5) を備える圧縮符号化装置において、 時系列的に得られる前記圧縮対象デ一 タに含まれるデータ毎の発生確率の変化量の大小を判定する変化量判定部 (31 ) と、 前記発生確率の変化量が大であると判定されたデータの発生確率を含む 差分確率データ (D3) を生成する差分確率データ生成部 (31 2) と、 前記差 分確率データ生成部で生成された差分確率データを前記符号化部で生成された前 記圧縮符号データに含める合成部 (31 6) とを含むことを特徴としている。 請求項 22に記載の圧縮符号化プログラムは、 時系列的に相関のある圧縮対象 データ (D 1 ) を符号化して圧縮した圧縮符号データ (D2) を生成する圧縮符 号化プログラムにおいて、 時系列的に得られる前記圧縮対象データに含まれるデ ータ毎の発生確率の変化量の大小を判定する判定ステップ (S 31 2) と、 前記 発生確率の変化量が大であると判定されたデータの発生確率を含む差分確率デー タ (D3) を生成する差分確率データ生成ステップ (S31 4) と、 前記差分確 率データを前記圧縮符号データに含める合成ステップ (S 31 7) とを含むこと を特徴としている。
請求項 28に記載の復号化方法は、 上記の圧縮符号化方法、 圧縮符号化装置、 又は圧縮符号化プログラムにより生成された圧縮符号データ (D4) に含まれる 差分確率データ (D3) を分割抽出する分割抽出ステップ(S321、 S 322) と、 抽出された前記差分確率データを用いて前記圧縮対象データに含まれるデー タ毎の発生確率を表す発生確率テーブルを更新する更新ステップ(S 323)と、 更新された発生確率テーブルを用いて前記圧縮符号データの復号化を行う復号化 ステップ (S 324) とを含むことを特徴としている。 本発明の第 3に実施の形態の複合化方法は、 圧縮された圧縮符号データに含ま れる差分確率データを分割抽出して差分確率テーブルを更新し、 更新した差分確 率テーブルを用いて分割された圧縮符号データを復号しているため、 圧縮符号時 に用いた発生確率テーブルと同一のものを用いて復号化が行われて正しい復号結 果が得られる。 請求項 29に記載の復号化装置は、 上記の圧縮符号化方法、 圧縮符号化装置、 又は圧縮符号化プログラムにより生成された圧縮符号データ (D4) に含まれる 差分確率データ (D3) を分割抽出する抽出部 (321 ) と、 前記圧縮対象デー タに含まれるデータ毎の発生確率を表す発生確率テーブルを記憶する記憶部 ( 3 23) と、 前記分割抽出部で抽出された前記差分確率データを用いて前記記憶部 に記憶された発生確率テーブルを更新する更新部 (322) と、 更新された発生 確率テーブルを用いて分割された前記圧縮符号データの復号化を行う復号部 (3
24) と、 を含むことを特徴としている。
本発明の第 3の実施の形態の復号化プログラムは、 上記の圧縮符号化方法、 圧 縮符号化装置、 又は圧縮符号化プログラムにより生成された圧縮符号データ (D
4) に含まれる差分確率データ (D3) を分割抽出する分割抽出ステップ (S 3
21、 S 322) と、 抽出された前記差分確率データを用いて前記圧縮対象デー 夕に含まれるデータ毎の発生確率を表す発生確率テーブルを更新する更新ステツ プ (S 3 2 3 ) と、 更新された発生確率テーブルを用いて前記圧縮符号データの 復号化を行う復号化ステップ (S 3 2 4 ) とを含むことを特徴としている。 図面の簡単な説明
図 1は、 本発明の第 1の実施の形態の構成を示すブロック図である。
図 2は、 図 1に示す装置の動作を示すフローチヤ一トである。
図 3は、 ブロックの外縁部分を示す説明図である。
図 4は、 画素値を模式図で示した説明図である。
図 5は、 求める斜面を示す説明図である。
図 6 A、 6 Bは、 傾きの算出方法を示す説明図である。
図 7は、 ブロックデータの一例を示す説明図である。
図 8は、 画素毎の計算式を示す説明図である。
図 9は、 第 1の斜面の各画素値を示す説明図である。
図 1 0は、 斜面の他の定義方法を示す説明図である。
図 1 1は、 誤差量を示す説明図である。
図 1 2は、 第 2の斜面を算出する対象の画素値を示す説明図である。
図 1 3は、 第 2の斜面の各画素値を示す説明図である。
図 1 4は、 所属斜面マップの一例を示す説明図である。
図 1 5は、 復元画像の画素値を示す説明図である。 図 1 6 A, 1 6 Bは、 本発明による画像圧縮方法の効果を示す説明図である。 図 1 7 A , 1 7 B、 1 7 Cは、 本発明による画像圧縮方法の効果を示す説明図 である。
図 1 8 A、 1 8 B、 1 8 Cは、 本発明による画像圧縮方法の効果を示す説明図 である。
図 1 9は、 本発明の第 2の実施の形態の構成を示すブロック図である。
図 2 0は、 図 1 2に示す装置の動作を示すフローチャートである。
図 2 1は、 ブロックの外縁部分を示す説明図である。
図 2 2は、 画素値を模式図で示した説明図である。
図 2 3は、 求める斜面を示す説明図である。
図 2 4 A、 2 4 Bは、 傾きの算出方法を示す説明図である。
図 2 5は、 画素値が凸面を構成する場合の状態を示す説明図である。
図 2 6は、 ブロックデータの一例を示す説明図である。
図 2 7は、 画素毎の計算式を示す説明図である。 '
図 2 8は、 斜面の各画素値を示す説明図である。
図 2 9は、 斜面の他の定義方法を示す説明図である。
図 3 0は、 補正値を示す説明図である。
図 3 1は、 補正マップの一例を示す説明図である。
図 3 2は、 加減算値の一例を示す説明図である。 図 3 3は、 復元画像の画素値を示す説明図である。
図 3 4は、 補正値の非可逆符号化の効果を示す説明図である。
図 3 5は、 補正値の非可逆符号化の効果を示す説明図である。
図 3 6は、 本発明の一実施形態による圧縮符号化装置の構成を示すブロック図 である。
図 3 7は、 本発明の一実施形態による圧縮符号化装置に入力される圧縮対象デ ータ D 1の一例を示す図である。
図 3 8は、 変化量判定部 1 1で用いられる変化量許容テーブルの一例を示す図 である。
図 3 9 A、 3 9 Bは、 変化量判定部 1 1で用いられるデータ数条件テーブルの 一例を示す図である。
図 4 0は、 本発明の一実施形態による圧縮符号化方法を示すフローチヤ一卜で 図 4 1 Α、 4 1 Βは、 発生確率の変化の様子及び発生確率が大きく変化したデ 一夕の発生確率を抽出した様子の一例を示す図である。
図 4 2は、 本発明の一実施形態による復号化装置の構成を示すブロック図であ る。
図 4 3は、本発明の一実施形態による復号化方法を示すフローチヤ一トである。 発明を実施するための最良の形態 以下、 図面を参照しつつ、 本発明に係る画像圧縮装置、 画像圧縮方法、 画像圧 縮プログラム及び圧縮符号化装置、 方法、 プログラム、 並びにその複合化装置、 方法、 プログラムについて最適な実施例について説明する。 ただし、 本発明は以 下の各実施例に限定されるものではなく、 例えばこれら実施例の構成要素同士を 適宜組み合わせてもよい。 以下、 本発明の一実施形態による画像圧縮装置を図面を参照して説明する。 図 1は同実施形態の構成を示すブロック図である。この図において、符号 1 0 1は、 圧縮対象の画像データを入力する画像入力部であり、 入力した画像データは内部 に保持される。 画像入力部 1内に保持される画像データは、 標本化 "量子化され たデータである。以下の説明においては、各画素を 8ビッ卜の輝度値(以下、 「画 素の輝度値」 を 「画素値」 と称する) で表現する画像データであるものとする。 符号 1 0 2は、 画像入力部 1 0 1に保持されている画像ブロックに分割するプロ ック分割部である。 符号 1 0 3は、 分割されたブロックの外縁部分の画素値に基 づいて、 斜面を算出する第 1斜面算出部である。 符号 1 0 4は、 第 1斜面算出部 3で得られた斜面とブロック内の各画素値との差から誤差量を算出する誤差量算 出部である。 符号 1 0 5は、 誤差量算出部 4において算出された誤差量が予め決 められたしきい値を超える場合に、 このしきい値を超える画素のみによって新た な斜面を算出する第 2斜面算出部である。 符号 1 0 6は、 第 1斜面算出部 3で得 られた斜面と、 誤差量算出部 4で得られた誤差量と、 第 2斜面算出部 5で得られ た斜面とを符号化する符号化部である。 符号 1 0 7は、 各ブロックの符号化され たデータを多重化することによリ圧縮画像データを出力する画像出力部である。 次に、 図 2を参照して、 図 1に示す画像圧縮装置の動作を説明する。 図 2は、 図 1に示す画像圧縮装置の画像圧縮動作を示すフローチャートである。 まず、 画 像入力部 1 0 1は、 画像データを入力し、 内部に保持する (ステップ S 1 1 1 )。 画像入力部 1内に保持される画像データは、 ビデオ信号等を標本化し、 量子化し たデータなどであり、 画素の位置 (X , y ) と輝度値 (0〜2 5 5 ) で表現され ている。
次に、 ブロック分割部 2は、 画像入力部 1 0 1に画像データが保持されたこと を受けて、入力画像をブロックに分割する (ステップ S 1 1 2 )。 ここでは、説明 を簡単にするために、 4 X 4画素のブロックに分割するものとして説明する。 こ の分割処理によって、 例えば 3 2 X 3 2画素の入力画像であれば、 6 4個のプロ ックに分割されることとなる。 入力画像の分割結果は、 ブロック分割部 2内に保 持される。 なお、 ブロックの X方向の画素数と Y方向の画素数は同数である必要 はなく、 画像全体の画素数に基づいて決定すればよい。
次に、 第 1斜面算出部 1 0 3は、 ブロック分割部 2において分割されたブロッ クのうち 1つのブロック内の画素値を読み出す。 そして、 読み出したブロックの 外縁部分の画素値から斜面を算出する(ステップ S 1 0 3 )。ここでいう斜面とは、 水平面を含む平面である。 また、 外縁部分とは、 図 3に示すように、 ブロックの 上端から縦方向の画素数の 2 5 %、ブロックの左端から横方向の画素数の 2 5 %、 ブロックの下端から縦方向の画素数の 2 5 %、 ブロックのお端から横方向の画素 数の 2 5 %とし、 縦横方向ともに、 外縁部分と外縁部分に囲まれる中央部分の画 素数が同じになるように設定する。 例えば、 コマ撮りを行う警備用ビデオのよう に計算能力が大きく更新レー卜が低いアプリケーションに用いる場合は、 この値 (画素数の 2 5 %) を適用する。 一方、 計算能力が大きいとはいえない携帯端末 や、 高い更新レートの画像を圧縮する高速度の計測装置など、 装置の性能に比し て処理量が多いアプリケーションについては画像の精度に比べ計算量を減らす能 力に重点をおき、 ブロックの大きさに関係なく上下、 左右の端から全て 1画素ず つを外縁部分とする。
ここで、 第 1斜面算出部 1 0 3が斜面を算出する方法について説明する。 例え ば、 4 X 4画素のブロック内の画素値を模式図で表現すると図 1 0 4のようにな る。 そして、 中心部分の 4画素を除く外縁部分の画素値のみに注目し、 これらの 画素値から斜面を求めると、 図 5に示すような斜面を求められる。 斜面は、 斜面 の中心値、 X方向の傾き及び Y方向の傾きで表す。 X方向の傾きは図 6 Aに示す ように、 ブロックの左端に沿った外縁部分(「 +」が記入してある部分) の平均値 から、 ブロックの右端に沿った外縁部分(「一 Jが記入してある部分) の平均値を 減算した値 (小数点以下切り捨て) とする。 また、 Y方向の傾きも同様に図 6 B に示す「 +」が記入してある外縁部分の平均値から、 「一」が記入してある外縁部 分の平均値を減算した値(小数点以下切り捨て)とする。また、傾斜の中心値は、 外縁部分の画素値の平均値 (小数点以下四捨五入) で求める。
次に、 具体例を挙げて、 斜面の中心値、 X方向の傾き及び Y方向の傾きを求め る算出方法を説明する。 図 7に分割したブロックの一例を示す。 図 7に示す数値 は、各画素の画素値である。まず左端の外縁部分の平均値を求めると、 (24 + 2 1 +14+1 1 ) 4=1 7. 5となる。 次に、 右端の外縁部分の平均値を求め ると、 (54 + 51 +44 + 41 ) Z4 = 47. 5となる。 この 2つの平均値から X方向の傾きを求めると、 1 7. 5-47. 5=— 30となる。 同様に、 上端、 下端の平均値を求めると、それぞれ(24 + 36 + 44 + 54)ノ 4 = 39. 5、 (1 1 +10 + 29 + 41 ) =22. 75となり、 Y方向の傾きは 39. 5-2 2. 75=1 6 (小数点以下切り捨て) となる。 一方、 傾斜面の中心値 (24 +36+44+54+21 +51 +14+44+1 1 +1 0+29+41 ) / 1 2 = 32 (小数点以下四捨五入) となる。
この結果、 X方向傾き一 30、 Y方向傾き 1 6、 斜面の中心値 32が斜面を示 すパラメータとなる。
なお、 斜面算出方法は、 周知の平面算出方法で求めてもよく、 例えば、 最小二 乗法等で求めた平面を定義するパラメータを用いるようにしてもよい。
続いて、 先に求めたパラメータに基づく斜面をブロック内において表現した場 合の各画素の値を求める。 各画素値を計算する計算式を図 8に示す。 図 8におい て、 mは、斜面の中心値 (この例では 32)、 d Xは、 X方向の傾き Zブロックの X方向の画素数(この例では一 7. 5)、 d yは、 Y方向の傾き Zブロックの Y方 向の画素数 (この例では 4) である。 図 8に示す計算式によって各画素値を求め た結果 (小数点以下四捨五入) を図 9に示す。 この処理によって、 外縁部分から 斜面が求められたこととなる。
なお、 斜面を定義する方法として、 図 1 0に示すように、 最も傾斜が大きくな る方向 (図 1 0に示す太い矢印の水平回転角度) を探し出し、 その方向にそって 傾斜を計算し、 傾斜面の中心 (平均値) mと傾斜方向 rと傾斜量 dを求める方法 を用いてもよい。
次に、 第 1斜面算出部 1 03が斜面を求めたのを受けて、 誤差量算出部 1 04 は、各画素の誤差量を算出する (ステップ S 1 04)。 ここでいう誤差量とはプロ ック内の実際の画素値と先に求めた斜面との差を意味する値のことであり、 図 7 に示す実際の画素値から図 9に示す斜面の画素値を減算した結果の値である。 す なわち、 ブロック中の実際の値を B ( X , y)、 斜面に基づく値を S ( X , y)、 誤差量を R ( X , y) とすると、 R ( X , y) =B (x, y) 一 S (x, y) に よって誤差量を算出する。 ここで、 x、 yはブロック内の画素位置であり 1〜4 の整数となる。 この計算式によって求めた各誤差量を図 1 1に示す。 この処理に よってブロック内の各画素の斜面との誤差量が求められたこととなる。
次に、 誤差量算出部 1 04が誤差量を求めたのを受けて、 第 2斜面算出部 1 0 5は、 求めた誤差量のそれぞれについて、 各誤差量の絶対値が予め決められたし きい値を超える画素があるかを判定する(ステップ S 1 05)。 ここで用いるしき い値は、 誤差量の絶対値の平均値 (誤差量の絶対値を全て加算し、 ブロック内の 画素数 1 6で除算した値) と、 画素値を量子化する場合のビット数で表現できる 値の 2. 5%の値 (8ビットの場合、 255 X 0. 025 = 6) とのいずれか大 きい値とする。 この 2. 5%という値は必要な画像の精度に応じて、 詳細画質が 必要な場合ほど小さくなるように 1 Z2〜 2倍の間で変化させて用いてもよい。 この変化量は人間が変化のある画像中において見つけ出すことのできる最低画像 変化量が 1. 25%であり、 人間が無視できない画面中の構造の画素値変化量が 5%であことから、 2. 5 X 1Z2〜2. 5 X 2までを許容範囲とし、 その指数 的中間値である 2. 5を標準的な値とした。
図 1 1に示す例では、 誤差量の絶対値の平均値は、 4. 3となり、 8ビットで 表現できる値の 2. 5%は 6であるので、しきい値は 6となる。この判定の結果、 しきい値を超える画素がない場合は、 ステップ S 1 07へ進む。 図 1 1に示す誤 差量に基づいて判定することにより、 しきい値を超える画素を判定すると図 1 2 に示す画素が抽出される。 しきい値を超える画素がある場合、 第 2斜面算出部 5 は、誤差量がしきい値を超える画素値のみに基づいて、新たな斜面を算出する(ス テツプ S 1 06)。斜面の算出方法は、周知の方法で算出すればよく、例えば、最 小二乗法を用いて算出する。 このとき、 第 2の斜面を算出するための画素値の数 が 2以下、 もしくは直線にならんでしまった場合には最も離れている 2画素で X 座標の差と Y座標の差を求め、 その差が小さい方向には傾斜が無いと仮定して、 距離の差が大きい座標軸へのみの傾きを持った平面としてパラメータを求める。 さらには、 属さない画素数が 1の場合には傾き 0の平面としてパラメータを求め る。
次に、 第 2斜面算出部 1 0 5は、 ここで求めた斜面をブロック内において表現 した場合の各画素の値を求める。 4つの画素値に基づいて求めた斜面をブロック 内において表現した場合の各画素の値を図 1 3に示す。 この斜面を定義するため のパラメータは、 先に説明した斜面と同様に、 X方向傾き、 Υ方向傾き、 斜面の 中心値とする。
以上の処理動作によって、 ブロックの外縁部分の画素値から算出した斜面 (こ れを第 1の斜面という)と誤差量がしきい値を超える画素値から算出した斜面(こ れを第 2の斜面という) の 2つの斜面 (図 9、 図 1 3に示す斜面) が得られたこ ととなる。
なお、 前述した説明においては、 2つの斜面を用いて、 ブロック内の画素値を 近似するものとして説明したが、 さらに第 2の斜面との誤差量を求め、 所定のし きい値を超える画素がある場合は、 第 3の斜面を算出するようにしてもよい。 こ のとき、 幾つの斜面を算出するかを決定するする必要がある場合は、 誤差量が所 定のしきい値を超える画素の個数が所定の個数以下になった場合に処理の続行を 止めるようにしてもよい。 これは、 ブロック内の画素数が多くなつた場合におい て有効である。
次に、 2つの斜面が求められたことを受けて、 符号化部 1 0 6は、 2つの斜面 の符号化することにより、ブロック内の画素値を符号化する(ステップ S 1 0 7 )。 符号化は、 先に求めた 2つの斜面をそれぞれ符号化してもよいが、 より正確な近 似データを求めるため、 各画素がいずれの斜面に属するかを決定する。 所属する 斜面の判定は、 |画素値一第 1の斜面の値 |≤ |画素値一第 2の斜面の値 |であ れぱ、 この画素は第 1の斜面に属するものとし、 |画素値一第 1の斜面の値 | > I画素値一第 2の斜面の値 Iであれば、 この画素は第 2の斜面に属するものとす る。 そして、 第 1の斜面に属する画素を 「0」、 第 2の斜面に属する画素を 「1」 として、所属斜面マップを作成する。この所属斜面マップの一例を図 1 4に示す。 なお、 近似に用いる斜面の数が 3以上である場合は、 所属斜面マップの値を斜面 数に応じた多値とすればよい。
次に、 符号化部 1 0 6は、 先に求めた 2つの斜面 (第 1の斜面と第 2の斜面) のそれぞれを表現するパラメータ (この例では、 X方向傾き、 Y方向傾き、 斜面 の中心値) と斜面の数 (この例では 2 ) と所属斜面マップをエントロピー符号化 することにより可逆圧縮を行う。 エントロピー符号化にはハフマン符号化、 算術 符号化、 レンジコーダ法などが使用可能である。 また、 データ毎にこれらの方法 を使いわけても良い。
次に、 1つのブロックに対する符号化処理を全てのブロックに対して施す (ス テツプ S 1 0 8 ) ことにより、 画像全体の符号化がされる。 そして、 画像出力部 1 0 7は、 各符号化データを多重化して出力する (ステップ S 1 0 9 )。
なお、 エントロピー符号化の前段階にデータを蓄積するバッファを設け一括で ェントロピー符号化を行う方法やブロック符号化する方法、 量子化によリデータ が出力されるたびに逐次にエントロピ一符号化を行いその結果を蓄積する方法等 を用いてもよい。 また、 動画像を扱う場合には、 本発明の第 3の実施の形態を使 用し、 よりデータの低減を図ることが好ましい。
次に、 前述した方法で符号化した画像データを復号化する動作を簡単に説明す る。 まず、 エントロピー復号化によって、 第一の傾斜面及び第 2の斜面を表すパ ラメータ、 斜面の数、 所属斜面マップを復元する。 そして、 斜面のパラメータに 基づいて斜面を復元すると、 図 9、 図 1 3に示す斜面を復元することができる。 この 2つの斜面のデータと所属斜面マップを参照して、 ブロック内の画素値を復 元すると、 図 1 5に示す画素値が復元できる。
結果として得られた画像 (図 1 5に示す画素値) は、 元画像 (図 7に示す画素 値) と比べると誤差が含まれている。 しかし、 全体的な傾き具合 (右上に向かつ て輝度が大きくなる) が保存され、 大きな画像の一部として見た場合には良く似 た画像として認識される。 また、 4 X 4画素といった小さい範囲でこの例に示さ れたほど変化するデータは実際の画像ではまれであり、 このような場合でも視覚 的特長が保存されていることが分かる。 このように、 グラデーションの部分について傾斜した画素値にいくらかの揺ら ぎがあるような原画像 (図 1 6 A ) を画像圧縮した場合、 図 1 6 Bに示すように グラデーションにフイツ卜する傾斜面のパラメータを取り出し、 画像の復元時に はその傾斜面として再現するようにしたため、 グラデーションに含まれる斜面か らの揺らぎ部分については人間が認識できない程度の変化となるため、 グラデー ション部分は感覚的に再現性が高い画像とすることができる。
また、 図 1 7 Aのように色の境界によるエッジにおいても、 図 1 7 Bに示すよ うに境界で区切られた両側の領域の色変化にそれぞれフイツ卜する色の斜面のパ ラメータを求め、 また、 各画素ごとにどちらの領域に属するかを示す情報と併せ て画像を表現するようにしたため、 復元時には 2つの色斜面を再現しておき、 そ れぞれの画素は対応する所属情報が示す色の斜面として塗り分けることができる (図 1 7 C )。色の境界でもグラデーシヨンと同様に色境界で区切られたそれぞれ の領域の中にいくらかの揺らぎがあるが、 人間はエッジのような強い変化に注目 するため小さな揺らぎは気づきにくいため、 再現性が高い画像とすることができ る。
また、 図 1 8 Aのように背景に別の色のラインが重なっている画像では、 背景 にフィットする色 (画素値) の斜面のパラメータとラインにフィットする色 (画 素値) の傾斜面のパラメータを求め、 さらに、 各画素毎にどちらの斜面に属する かを示す所属情報を得てブロックの画像を示すパラメータとしたため、 復元時に は 2つの色斜面を再現しておき、 それぞれの画素は対応する所属情報が示す色の 斜面として塗り分けることができる(図 1 8 C )。人間はラインと背景の境目ゃラ インの形状などに注目し、 ラインの中の色の小さな変化などには気づきにくいた め、 画像の背景とラインの重なリ部分は感覚的に再現性が高い画像とすることが できる。
また、 大きなサイズの画像を一度に処理する場合には以上の画像パターンが複 合して存在する場合にも対処できる必要があるが、 本発明では小さなサイズのブ ロック内で独立に処理をするため、 各処理中に複数の認識パターンは混在しにく く、 以上のパターンをブロック内で個々に再現する機能を有することで、 画像中 の構造を抽出するような複雑な計算なしで上記 3つの特徴について人間の感覚的 に高い再現性を得ることが可能となる。
以上のように本発明では、 人間が画像を認識する際に着目する 3つの特徴につ いて高い再現性を残しながら画像を圧縮する機能をもつことにより、 見た目の画 質低下、 画像内容の判別しやすさの低下が少ない非可逆圧縮を行うことが可能と なる。 また、 外縁部分を近似する斜面を基準にすることで、 強い傾斜をもったブ ロックが連続してもブロックの継ぎ目で色が急激に変化することがないため、 ブ ロック境界ノイズが発生しなくなり画質を向上させることが可能となる。
なお、 図 1における各処理部の機能を実現するためのプログラムをコンビユー タ読み取り可能な記録媒体に記録して、 この記録媒体に記録されたプログラムを コンピュータシステムに読み込ませ、 実行することにより画像圧縮処理を行って もよい。 なお、 ここでいう 「コンピュータシステム」 とは、 O Sや周辺機器等の ハードウェアを含むものとする。また、 「コンピュータシステム」は、ホームぺー ジ提供環境 (あるいは表示環境) を備えた WWWシステムも含むものとする。 ま た、 「コンピュータ読み取り可能な記録媒体」 とは、 フレキシブルディスク、光磁 気ディスク、 R O M、 C D— R O M等の可搬媒体、 コンピュータシステムに内蔵 されるハードディスク等の記憶装置のことをいう。 さらに 「コンピュータ読み取 リ可能な記録媒体」 とは、 インターネット等のネットワークや電話回線等の通信 回線を介してプログラムが送信された場合のサーバやクライアントとなるコンビ ユータシステム内部の揮発性メモリ (R A M) のように、 一定時間プログラムを 保持しているものも含むものとする。
また、 上記プログラムは、 このプログラムを記憶装置等に格納したコンビユー タシステムから、 伝送媒体を介して、 あるいは、 伝送媒体中の伝送波により他の コンピュータシステムに伝送されてもよい。 ここで、 プログラムを伝送する 「伝 送媒体」 は、 インターネット等のネットワーク (通信網) や電話回線等の通信回 線 (通信線) のように情報を伝送する機能を有する媒体のことをいう。 また、 上 記プログラムは、 前述した機能の一部を実現するためのものであっても良い。 さ らに、 前述した機能をコンピュータシステムにすでに記録されているプログラム との組み合わせで実現できるもの、 いわゆる差分ファイル (差分プログラム) で あっても良い。
以上説明したように、 本発明の第 1の実施の形態によれば、 人間が画像を認識 する際に着目する特徴について高い再現性を残しながら画像を圧縮する機能をも つことにより、 見た目の画質低下、 画像内容の判別しやすさの低下が少ない非可 逆圧縮を行うことが可能になるという効果が得られる。 また、 外縁部分を近似す る斜面を基準にすることで、 強い傾斜をもったブロックが連続してもブロックの 継ぎ目で色が急激に変化することがないため、 プロック境界ノイズが発生しなく なり画質を向上させることが可能になるという効果も得られる。 以下、 本発明の第 2の実施の形態による画像圧縮装置を図 1 9— 3 5を参照し て説明する。
図 1 9は本実施形態の構成を示すブロック図である。 この図において、 符号 2 0 1は、 圧縮対象の画像データを入力する画像入力部であり、 入力した画像デー タは内部に保持される。画像入力部 2 0 1内に保持される画像データは、標本化- 量子化されたデータである。 以下の説明においては、 各画素を 8ビットの輝度値 (以下、 「画素の輝度値」 を「画素値」 と称する) で表現する画像データであるも のとする。 符号 2 0 2は、 画像入力部 1に保持されている画像ブロックに分割す るブロック分割部である。 符号 2 0 3は、 分割されたブロックの外縁部分の画素 値に基づいて、 斜面を算出する外縁斜面算出部である。 符号 4は、 外縁斜面算出 部 2 0 3で得られた斜面とブロック内の各画素値との差から補正値を算出する補 正値算出部である。 符号 2 0 5は、 外縁斜面算出部 2 0 3で得られた斜面と、 補 正値算出部 4で得られた補正値とを符号化する符号化部である。 符号 2 0 6は、 各プロックの符号化されたデータを多重化することによリ圧縮画像データを出力 する画像出力部である。
次に、 図 2 0を参照して、 図 1 9に示す画像圧縮装置の動作を説明する。 図 2 0は、 図 1 9に示す画像圧縮装置の画像圧縮動作を示すフローチャートである。 まず、 画像入力部 2 0 1は、 画像データを入力し、 内部に保持する (ステップ S 2 0 1 )。画像入力部 2 0 1内に保持される画像データは、 ビデオ信号等を標本化 し、 量子化したデータなどであり、 画素の位置 (X , y ) と輝度値 (0〜2 5 5 ) で表現されている。
次に、 ブロック分割部 2 0 2は、 画像入力部 2 0 "Iに画像データが保持された ことを受けて、 入力画像をブロックに分割する (ステップ S 2 0 2 )。 ここでは、 説明を簡単にするために、 4 X 4画素のブロックに分割するものとして説明する。 この分割処理によって、 例えば 3 2 X 3 2画素の入力画像であれば、 6 4個のブ ロックに分割されることとなる。 入力画像の分割結果は、 ブロック分割部 2 0 2 内に保持される。 なお、 ブロックの X方向の画素数と Y方向の画素数は同数であ る必要はなく、 画像全体の画素数に基づいて決定すればよい。
次に、 外縁斜面算出部 2 0 3は、 ブロック分割部 2 0 2において分割されたブ ロックのうち 1つのブロック内の画素値を読み出す。 そして、 読み出したブロッ クの外縁部分の画素値から斜面を算出する(ステップ S 2 0 3 )。 ここでいう斜面 とは、 水平面を含む平面である。 また、 外縁部分とは、 図 2 1に示すように、 ブ ロックの上端から縦方向の画素数の 2 5 %、 ブロックの左端から横方向の画素数 の 2 5 %、 ブロックの下端から縦方向の画素数の 2 5 %、 ブロックの右端から横 方向の画素数の 2 5 o/oとし、 縦横方向ともに、 外縁部分と外縁部分に囲まれる中 央部分の画素数が同じになるように設定する。 例えば、 コマ撮りを行う警備用ビ デォのように計算能力が大きく更新レー卜が低いアプリケーションに用いる場合 は、 この値 (画素数の 2 5 %) を適用する。 一方、 計算能力が大きいとはいえな い携帯端末や、 高い更新レートの画像を圧縮する高速度の計測装置など、 装置の 性能に比して処理量が多いアプリケーションについては画像の精度に比べ計算量 を減らす能力に重点をおき、 ブロックの大きさに関係なく上下、 左右の端から全 て 1画素ずつを外縁部分とする。
ここで、 外縁斜面算出部 2 0 3が斜面を算出する方法について説明する。 例え ば、 4 X 4画素のブロック内の画素値を模式図で表現すると図 2 2のようになる。 そして、 中心部分の 4画素を除く外縁部分の画素値のみに注目し、 これらの画素 値から斜面を求めると、 図 2 3に示すような斜面を求められる。 斜面は、 斜面の 中心値、 X方向の傾き及び Y方向の傾きで表す。 X方向の傾きは図 2 4 Aに示す ように、 ブロックの左端に沿った外縁部分(「 +」が記入してある部分) の平均値 から、 ブロックの右端に沿った外縁部分(「一」が記入してある部分)の平均値を 減算した値 (小数点以下切り捨て) とする。 また、 Y方向の傾きも同様に図 24 Bに示す「 +」が記入してある外縁部分の平均値から、 「一」が記入してある外縁 部分の平均値を減算した値 (小数点以下切り捨て) とする。 また、 傾斜の中心値 は、 外縁部分の画素値の平均値 (小数点以下四捨五入) で求める。
なお、 図 25に示すように、 ブロック内の中心部 (外縁部分でない部分) の平 均値が外縁部分の画素値範囲 (画素値の最小値から最大値の範囲) に比べて極端 に大きい値、 もしくは、 小さい値をとっている場合には、 凸面、 凹面である可能 性が高いため例外的に処理をする。 この例外処理時には傾斜面のパラメータを斜 面の傾き =0 (X, Y共)、斜面の中心はブロック内すベての画素の平均値とする。 次に、 具体例を挙げて、 斜面の中心値、 X方向の傾き及び Y方向の傾きを求め る算出方法を説明する。 図 26に分割したブロックの一例を示す。 図 26に示す 数値は、各画素の画素値である。まず左端の外縁部分の平均値を求めると、 (24 + 1 9 + 1 6 + 9) /4=1 7となる。 次に、 右端の外縁部分の平均値を求める と、 (54 + 49 + 46 + 39) 4 = 47となる。この 2つの平均値から X方向 の傾きを求めると、 1 7— 47=— 30となる。 同様に、 上端、 下端の平均値を 求めると、 それぞれ(24 + 40 + 44 + 54) Z4 = 40. 5、 (9 + 21 +2 7 + 39〉 =24となり、 Y方向の傾きは 40. 5-24= 1 6 (小数点以下切 リ捨て) となる。 一方、 傾斜面の中心値 (24 + 40 + 44 + 54+ 1 9 + 4 9 +1 6 + 46 + 9 + 21 +27 + 39) ノ 1 2 = 32 (小数点以下四捨五入) となる。 また、 外縁部分の値の範囲が 9〜 54であるので外縁部分ではない画素 の平均 (39 + 40 + 40 + 42) /4 = 40. 25が含まれているため、 凹凸 面時の例外処理は実施されない。
この結果、 X方向傾き一 30、 Y方向傾き 1 6、 斜面の中心値 32が斜面を示 すパラメータとなる。
続いて、 先に求めたパラメータに基づく斜面をブロック内において表現した場 合の各画素の値を求める。 各画素値を計算する計算式を図 9に示す。 図 27にお いて、 mは、斜面の中心値 (この例では 32)、 d Xは、 X方向の傾き /ブロック の X方向の画素数(この例では一 7. 5)、 d yは、 Y方向の傾きノブロックの Y 方向の画素数 (この例では 4) である。 図 27に示す計算式によって各画素値を 求めた結果 (小数点以下四捨五入) を図 28に示す。 この処理によって、 外縁部 分から斜面が求められたこととなる。
なお、 斜面を定義する方法として、 図 29に示すように、 最も傾斜が大きくな る方向 (図 29に示す太い矢印の水平回転角度) を探し出し、 その方向にそって 傾斜を計算し、 傾斜面の中心 (平均値) mと傾斜方向 rと傾斜量 dを求める方法 を用いてもよい。
次に、 外縁斜面算出部 203が斜面を求めたのを受けて、 補正値算出部 204 は、各画素の補正値を算出する (ステップ S 203)。 ここでいう補正値とはプロ ック内の実際の画素値と先に求めた斜面との差を意味する値のことであり、 図 2 6に示す実際の画素値から図 28に示す斜面の画素値を減算した結果の値である。 すなわち、ブロック中の実際の値を B (x, y)、斜面に基づく値を S ( X , y)、 補正値を R ( X , y) とすると、 R ( X , y) =B (x, y) 一 S (x, y) に よって補正値を算出する。 ここで、 x、 yはブロック内の画素位置であり "!〜 4 の整数となる。 この計算式によって求めた各補正値を図 30に示す。 この処理に よってブロック内の各画素の補正値が求められたこととなる。
次に、 補正値算出部 204力《補正値を求めたのを受けて、 符号化部 205は、 ブロック内の画素値を符号化する (ステップ S 205)。符号化は、 まず、値が正 の値か負の値かによつて先に求めた補正値を 2値化する。 この 2値化処理によつ て得られた結果を補正マップと呼ぶ。 図 31は図 30に示す補正値を 2値化して 得られた補正マップの一例である。図 31において、 「1」は、補正値が正である ことを示し、 「0」は補正値が負であることを示す。そして、正の補正値の絶対値 の平均と負の補正値の絶対値の平均を計算し、その 2つの重み付け平均値を求め、 補正値の値の大きさを示す振幅指標とする。 図 30に示す例においては、 正の部 分は 7画素あり、 平均の絶対値は | 46Z7 | =6. 6となる。 また、 負の部分 は 9画素あり、 平均の絶対値は |一 34 9 | =3. 3となる。 これらの重み付 け平均値を求めると、 (6. 6 7 + 3. 3 X 9) /1 6 = 5となる。 また、 この 補正値の大きさを指標化する方法として、 絶対値の平均の代わリに 2乗平均 —^—Y (x, yf を用いてもよい。
n— m
これによリ各ブロックの補正値は、 補正マップの 1 6ビットと振幅指標の 8ビ ッ卜の合計 2 4ビットで表現できることになる。
なお、 補正値が大きい場合には、 データ削減処理をさらに施すようにする。 例 えば、 X , Y方向の傾きより補正値が十分大きく、 X , Y方向の内変化が大きい 方向への 1画素分の傾き 1 . 5倍 (誤差による揺らぎを吸収できる値) 以上に大 きい画素値の変化が振幅指標として補正の指示があった場合、 視覚的に作用する のは起伏の補正値による部分が大きくなる。 この場合には、 傾き (X , Y方向) を 0にしたデータを作成して、 補正値の再計算および補正値の再符号化を実施す る。 これにより、 もともと 0に近い値が大きい確率で発生している傾きデータを さらに 0での発生確率を増加させることで再現時の画像を視覚的にほとんど変化 させずに後に行うエントロピー符号化した際のデータ量を減少させる。 傾きを削 除する条件は、 X , Y方向の各傾きの最大値 (M a x ( d x , d y ) ) Zブロック の幅 x 1 . 5が、 振幅指標よリ小さい場合である。
また、 振幅指標が小さい場合には、 データ削減処理をさらに施すようにする。 例えば、 補正値が小さく、 補正の効果が視覚的に見て意味がない場合がある。 す なわち先に求めた振幅指標が一般的な画像中で視覚的に判別できない程度の変化 より小さい場合には、 補正処理用のデータを生成しないことにより復元時の画像 を視覚的にほとんど変化させずにデータを削減する。 この削減の方法としては、 削減時には補正量を 0と表すとともに補正量が 0の時には補正マツプをデータに 含めないものとする。 これにより補正マップ分の 2バイ卜の削減が可能である。 復元時には補正量 0を指標に補正マップを読み飛ばし、 全ての補正値を 0とする ことで削減を再現する。 ここで、 視覚的に判別できない程度の変化とは、 実験的 に求めた結果であり、 データの取りうる値の範囲 (画素値が 8ビットの場合は 2 5 6 ) の 6 0分の 1 (画素値が 8ビットの場合は 4 ) 程度の変化のことをいう。 この無視する値は必要に応じてパラメータとして値の範囲の 2 0分の 1 (画像中 の目を引く変化の最小値を実験で求めた値) まで変化させて、 上記の設定の場合 より目に付く画質の劣化と引き換えにデータの削減量を増やして、 画質と圧縮率 のバランスを変化させるようにしてもよい。
この例では、 振幅指標が 5であり、 振幅指標 (5 ) <傾斜量の大きいほうの値 ( 7 . 5 ) X 1 . 5となり、 前述した振幅指標が大きい場合に相当せず、 また、 振幅指標が 5の場合は 4 (視覚的に判別できない程度の変化量) より小さくもな いので、 前述した補正値を削除する場合にも相当しない。 したがって、 補正値を 符号化した値は以下の 1 6ビッ卜と 8ビッ卜の値としてと符号化される。
'補正マップ = 1 0 1 1 1 0 1 1 0 0 0 0 1 0 1 1 ( 2進数)
■振幅指標 = 5 ( 1 0進数)
次に、 符号化部 2 0 5は、 先に求めた斜面の中心値、 X方向の傾き、 Y方向の 傾き、 振幅指標及び補正マップの 5つの値をェントロピー符号化することにより データ量をさらに減少させる。 これらの 5つの値はその値の発生頻度に偏リがあ るためエントロピ一符号化によってデータ量をさらに減少させることが可能とな る。 ここで用いることができる符号化方法にはハフマン符号化、 算術符号化、 レ ンジコーダ法などがある。
次に、 1つのブロックに対して符号化処理を全てのブロックに対して施す (ス テツプ S 2 0 6 ) ことにより、 画像全体の符号化がされる。 そして、 画像出力部 2 0 6は、 各符号化データを多重化して出力する (ステップ S 2 0 6 )。
なお、 エントロピー符号化の前段階にデータを蓄積するバッファを設け一括で ェントロピー符号化を行う方法やブロック符号化する方法、 量子化によりデータ が出力されるたびに逐次にエントロピー符号化を行いその結果を蓄積する方法等 を用いてもよい。 また、 動画像を扱う場合には、 本発明の第 3の実施の形態を使 用し、 よりデータ量の低減を図ることが好ましい。
次に、 前述した方法で符号化した画像データを復号化する動作を簡単に説明す る。 まず、 エントロピー符号化したデータを復号する。 これにより、 斜面の中心 値、 X方向の傾き、 Y方向の傾き、 振幅指標及び補正マップの 5つの値が復元さ れる。 そして、 図 2 7に示す計算式によって斜面をブロック内において表現した 場合の各画素の値を求める。 斜面の中心値、 X方向の傾き及び Y方向の傾きは、 可逆のデータであるので、 各画素の値は、 図 2 8に示す値となる。
次に、 復号した補正マップと振幅指標 (ここでは 5 ) に基づいて、 各画素毎の 加減算値を求める。 補正マップの値が 「1」 であれば、 1 X振幅指標 = 5、 補正 マップの値が 「0」 であれば、 一1 X振幅指標 =—5となる。 この結果、 図 3 2 に示すように各画素毎の加減算値が得られる。 この加減算値と図 2 8に示す斜面 の画素値とを加算することにより、 ブロック内の画像を復元する。 この処理によ つて復元した画像の画素値を図 3 3に示す。
結果として得られた画像 (図 3 3に示す画素値) は、 元画像 (図 2 6に示す画 素値) と比べると誤差が含まれている。 しかし、 全体的な傾き具合 (右上に向か つて輝度が大きくなる) や、 大きな変化がある (図 3 3に示す太い実線の画素境 界) 部分といった視覚的特長が保存され、 大きな画像の一部として見た場合には 良く似た画像として認識される。 また、 4 X 4画素といった小さい範囲でこの例 に示されたほど変化するデータは実際の画像ではまれであり、 このような場合で も視覚的特長が保存されていることが分かる。
次に、 3 2 X 3 2画素の画像を対象にして、 本発明による画像圧縮方法と従来 技術による画像圧縮方法の比較結果について説明する。
く圧縮率の比較 >
本発明の第 2の実施の形態の方法において、 4 4画素のブロックを用いて画 像圧縮を行った場合、 6 4個のブロックに分割される。 各ブロックについて、 斜 面の中心値 (1バイト)、 X方向の傾き (1バイト)、 Y方向の傾き (1バイト)、 振幅指標及び補正マップ (2 4ビット = 3バイト) のデータを持つ必要があるの で、 1ブロック当たり、 6バイトのデータ量となる。 画像全体では、 6 4ブロッ クであるので、 6バイト X 6 4ブロック = 3 8 4バイ トとなる。 本画像は、 1バ イト X 3 2画素 X 3 2画素 = 1 0 2 4バイ卜であるため、 最も圧縮率が悪い場合 でも 3 7 . 5 %に圧縮される。さらに前述した補正値情報のデータ削減処理で 3
8 4バイ卜からさらに最大 1 2 8バイ卜 (2バイ ト X 6 4ブロック) のうち減少 処理対象となつたブロック比のデータ量を減少させたデータにすることも可能で ある。 自然画におけるこの減少量ははほとんどが最大減少量の 3 0〜9 0 %とな る。 比較条件時にこの減少処理を適用した場合の減少量を調べた結果、 4 0バイ 卜となっていた。 ,
—方、 D C T符号化を利用した圧縮手法として J P E Gが最も標準的手法とな つている。 この J P E G手法をモノクロ (グレースケール) 限定、 Quality= 6 0 ( 0 :圧縮率優先〜 1 0 0 :画質優先、 実質 2 0〜 9 0での利用が勧められてい る) で同じような画質に圧縮を行った結果、 3 8 0バイ トのデータとなった。 また、 本発明の第 2の実施の形態のエントロピー符号化によればさらに高い圧 縮率を得ることが可能になる。 ただし、 この画像サイズでは発生率など符号化に 必要な補助情報と相殺となる、 もしくは、 動的エントロピ一符号化を行っても効 果が充分出るデータ量ではなく圧縮率の向上は限られているため、 このままの圧 縮率でェントロピー符号化済みの J P E Gと比較し同程度の値と言える。
<計算時間の比較 > 本発明による方法において、 発生する回数が多い計算は各画素毎に、 傾きを決 めるため外縁部分の平均 (加算)、斜面計算 (加算 3回)、補正値算出 (減算)、補 正値の平均(加算)、補正値の符号化(ビット演算)がー回づっ発生する。つまり、 各画素に対して加減算 5回、 ビット演算 2回の計算が必要になり、 さらに、 傾き よリ起伏が大きく傾きを無視する場合には再計算となリ補正値の計算が 2回繰り 返されるため、 合計で加減算 6回、 ビット演算 1回が行われる。 したがって、 加 減算は、 3 2画素 X 3 2画素 X 6回 =約 6千回、 ビット演算は 3 2画素 X 3 2画 素 X 1回=約1千回となリ、 合計で約 7千回の演算が発生する。
一方、 D C Tの計算を用いた場合には D C Tは座標軸ごとに分離可能なので 2 次元 D C T中における X方向の 1次元 D C Tの計算だけで考えると以下の回数と なる。 Internatilnal Com. on Acoustic, Speech, and, Signal
Process.pp988_991(1989.May)に Loeffler,A.Ligtenbei'g,G.S.Moschytzら力 rPractical fast I'D DCT algorithm with 11 multiplicationsjに提案した高速化 した D C Tでも 8 x 1画素毎に 1 1回の乗算と 2 9回の加算が必要である。 この 場合には、 全画面で 4 3 2 1 1回の乗算と 4 X 3 2 X 2 9回の加算を行う事 になる。 この計算は Y方向の 1次元 D C Tでも同じ回数だけ計算を行うため 2次 元 D C Tの計算量は高速化した場合でも、 乗算が 2 . 8千回、 加算が 7 . 2千回 となる。 D C Tを用いた方法は本発明で提案する手法に比べ、 乗算と加減算の計 算時間が等しいとしても計算時間が約 4 0 %増し、乗算が(桁数が倍になるため) 計算時間が倍になる場合には約 8 0 0/0増しの処理時間となっている。 このように、 本発明が提案する手法を導入することにより、 画質を劣化させる ことなく、 処理時間を短縮させることができる。
く画質の比較 >
人間が画像を認識しょうとする際に着目しやすい、 エッジや線画、 そして、 グ ラデーシヨンといった部分について、 B T C法を用いた方法と比較した結果、 本 発明による方法は、 エッジではやや色むらが発生する問題と引き換えに、 グラデ ーシヨン部を中心に画質が向上している。
<補正値の非可逆符号化 >
斜面からの差分として得られた補正値は、 D C Tなど、 その他の符号化モデル で圧縮することも可能であるが、 本発明では特に各画素毎の起伏の正負を表す信 号を集めた値とその平均振幅量を表す数値の 2つで表すものとし、 以下に効果を 説明する。 説明は、 傾きに比べて起伏か大きい場合とそれ以外でブロック内の人 間の認識の仕方が変わるのでそれぞれについて説明する。
( 1 ) 傾きに比べて起伏が大きくない場合
ブロック内といった小さな領域での部分画像を人間が認識する際にはその意識 は一番特徴的なものに引きずられる。 傾きに比べて起伏やエッジが大きくなけれ はブロックの全体的な傾向かつ簡単な特徴である傾きに引きずられる。 この様に 画素値の傾きに注意を奪われている状態で、 傾き以外に認識できる構造があると しても傾きの表面が荒れる感じや、 傾きの変化に模様が重なっている感じとして 理解される。 荒れている場合にはその荒れている色の変化量がまず認識され、 一 方、 画素値が傾斜している背景に色が上乗されている模様として見る場合には模 様の形状とその濃度が認識される。 画素値の傾きと大まかな傾斜に付加する情報 として認識を行っている場合には、 周囲のブロックも含めて起伏の正負が不規則 に並ぶことで荒れていることをまた、 正負の分布で模様の形状の概形表現するこ とで充分な形に閲する情報となる。 さらに、 荒れていると見える場合には画素間 での変化量がその荒れ具合の強さとして認識される。 一方、 模様の場合にも模様 の明るい部分と暗い部分に分けその濃度差を量として認識するだけである。 これ らの場合、 細かい量的な分布の変化、 つまり、 濃度差が細かく変化する形では認 識されない(図 3 4の濃度差)。起伏の基準面からの各画素の変化量を正の方向へ の偏移、 負の方向への偏移を加味した両方向のブレの大きさを表した値が模様や 荒れの濃度であるが、 これは補正値の絶対値を平均などの統計処理を行った結果 を用いることで得られるものである。 よって、 本手法による補正値をさらに少な い情報量にする符号化を行っても、 表面への荒れや、 模様を乗せる形での再現か 行え、 人間の視覚の特性下において同様に認識されうる画像として再現すること が可能となる。
( 2 ) 傾きに比べ起伏が大きい場合
ブロック内といった小さな領域で部分画像を人間が認識する際には、 その意識 は一番特徴的なものに引きずられる。 大きな起伏を含む場合には、 その起伏の形 状やエッジに注意を奪われそれ以外の構造を意識しない傾向がある。 このように 見落とされる部分としては、 明るい部分の中ての微妙な輝度変化や暗い部分の中 での微妙な変化がある (図 3 5の (A ) 部分に相当)。 さらには、 エッジの周囲で は明るい部分の輝度、 暗い部分の輝度についても、 それぞれが元々の値から多少 ずれたとしてもエツジで発生する輝度変化の大きさに意識を奪われるがために無 視される傾向がある (図 3 5の (B )部分に相当)。 このため、 エッジを境とした 両側の画素の変化量と各画素が明るい部分、 暗い部分のどちらに属しているかを 表現できることで人間の視覚的特性に合った符号化となる。 よって、 本手法用い ることで補正値をさらに少ない情報量にする符号化を行ってもエッジの形状とそ の変化が再現され、 人間の視覚の特性下において同様と認識されうる画像として 再現が可能となる。
一方、 この補正値に D C Tを適用しデータ量を少なくしたとき、 傾きに比べて 起伏が大きくない場合では問題が少ないが、 傾きに比べ起伏が大きい場合の補正 量の形状がなまる、 もしくは、 エッジ部分について高周波を削った影響の局所的 で大きなノイズが乗る部分について人間の視覚特性下で同様に認識されにくくな る場合がある。 このように、 ただ単純に効率の良い符号化方法を用いれは良いと いうわけではない。 ところが、 本手法を用いると傾きに比べて起伏が大きくない 場合、 傾きに比べ起伏が大きい場合の両方に対して同じ手法で斜面からの補正値 として必要な人間の視覚特性に合わせた特徴の部分を表現することが可能となる。 このように、 画像の圧縮率を D C Tによる方法と同程度に圧縮した場合であつ ても、 大幅に処理時間を短縮することが可能となる。 また、 B T Cによる方法に おいて発生しやすいグラデーション部の画質劣化を防止することができる。 した がって、 D C Tと B T Cを組み合わせた方法によって得られる画質の画像を短時 間で得ることが可能となる。
なお、 前述した説明においては、 各画素が輝度値のみを有している画像につい て説明したが、 本発明による方法が扱うデータとして R G Bを独立したデータと して扱っても、 R G Bを組み合わせ 3次元のべクトル値として一括処理しても、 また、 Y U Vを独立したデータとして扱っても、 Y U Vを組み合わせ 3次元べク トル値として一括処理しても、 さらには、 Yを独立したデータ、 U Vを 2次元べ クトル値として一括処理しても同様の効果を得ることが可能である。
なお、 図 1 9における各処理部の機能を実現するためのプログラムをコンビュ ータ読み取り可能な記録媒体に記録して、 この記録媒体に記録されたプログラム をコンピュータシステムに読み込ませ、 実行することによリ画像圧縮処理を行つ てもよい。 なお、 ここでいう 「コンピュータシステム」 とは、 O Sや周辺機器等 のハードウエアを含むものとする。 また、 Γコンピュータシステム Jは、ホームぺ —ジ提供環境 (あるいは表示環境) を備えた WWWシステムも含むものとする。 また、 「コンピュータ読み取り可能な記録媒体」 とは、 フレキシブルディスク、光 磁気ディスク、 R O M、 C D— R O M等の可搬媒体、 コンピュータシステムに内 蔵されるハードディスク等の記憶装置のことをいう。 さらに 「コンピュータ読み 取り可能な記録媒体」 とは、 インターネット等のネットワークや電話回線等の通 信回線を介してプログラムが送信された場合のサーバやクライアントとなるコン ピュータシステム内部の揮発性メモリ (R A M) のように、 一定時間プログラム を保持しているものも含むものとする。
また、 上記プログラムは、 このプログラムを記憶装置等に格納したコンビユー タシステムから、 伝送媒体を介して、 あるいは、 伝送媒体中の伝送波により他の コンピュータシステムに伝送されてもよい。 ここで、 プログラムを伝送する 「伝 送媒体 j は、 インターネット等のネットワーク (通信網) や電話回線等の通信回 線 (通信線) のように情報を伝送する機能を有する媒体のことをいう。 また、 上 記プログラムは、 前述した機能の一部を実現するためのものであっても良い。 さ らに、 前述した機能をコンピュータシステムにすでに記録されているプログラム との組み合わせで実現できるもの、 いわゆる差分ファイル (差分プログラム) で あっても良い。
以上説明したように、 この発明の第 2の実施の形態によれば、 外縁部分を近似 する傾斜面を基準にすることで、 強い傾斜をもったブロックが連続してもブロッ クの維ぎ目で色が急激に変化することがないため、 ブロック境界ノイズが発生し なくなり画質を向上させることができるという効果が得られる。 また、 エツジを圧縮する再には傾斜で表現しきれない急激な変化については、 エッジ特有の極端な起伏を各画素ごとに凹、 凸を切り替えることで、 元画像の細 部まで再現するモデルとして補正値を近似し、 その近似値を傾斜情報に付加する ことで、 エッジ部分のなまり、 エッジ部分に沿ったノイズの発生といった画質低 下が発生しなくなり、 画質を向上させることができるという効果も得られる。 また、 符号化処理において、 簡単な加減算のみで処理を行うことが可能となる ため、 D C Tなどのようにブロック毎にブロックの面積の 1 . 2 5乗回から 1 . 5乗回 (正確には F F Tで n X m X m + n X n X m回) のオーダの計算を行う手 法に比べ計算量が少なくて済み、 さらに、 ブロック面積が大きくなつたときの計 算量増加も限定される。 このため、 高速に画像を処理することが可能になり、 ブ ロックサイズの変化にも柔軟に対応できるため、 最適なブロックサイズを選んで ェンコ一ドできるため、圧縮率を向上させることができるという効果も得られる。 以下、 図 3 6〜4 3を参照して本発明の第 3の実施の形態による圧縮符号化方 法、 装置、 及びプログラム、 並びに復号方法、 装置、 及びプログラムについて詳 細に説明する。 〔圧縮符号化方法、 装置、 及びプログラム〕
図 3 6は、 本発明の一実施形態による圧縮符号化装置の構成を示すブロック図 である。図 3 6に示す通り、本実施形態の圧縮符号化装置は、頻度集計部 3 1 0、 変化量判定部 3 1 1、 差分確率データ生成部 3 1 2、 発生確率テーブル再構成部 3 1 3、 発生確率テーブルバッファ 3 1 4、 エントロピー符号化部 3 1 5、 及び 合成部 3 1 6を含んで構成される。
頻度集計部 3 1 0は、 連続して又は間欠的に入力される圧縮対象データ D 1を 収集し、 収集した圧縮対象データ D 1に含まれるデータ各々についての出現頻度 を集計してデータ毎の発生確率を求めて発生確率テーブルを生成する。 尚、 頻度 集計部 3 1 0は入力された圧縮対象データ D 1の総データ数も算出する。ここで、 圧縮対象データ D 1は、 例えばプラントに設けられた監視装置から出力される監 視データであって、 時系列的に相関関係があるデータである。 この監視データと しては、 例えば温度を計測して得られた温度データ、 音を計測して得られたスぺ クトルデータ、 又は監視カメラにより撮像された画像データ等のデータである。 尚、 以下の説明においては、 圧縮対象データ D 1が画像データであるとする。 ここで、 圧縮対象データ D 1について説明する。 図 3 7は、 本発明の一実施形 態による圧縮符号化装置に入力される圧縮対象データ D 1の一例を示す図である。 いま、 監視装置に設けられるカメラ等の撮像装置 (不図示) により、 移動物体 O B 1と静止物体 O B 2とが撮像されているとする。 尚、 簡単のため、 背景の時間 的変化は無いものとする。
このような移動物体 O B 1及び静止物体 O B 2を撮像装置で撮像すると、 時刻 ( t一 2 )、 時刻 (t—1 )、 及び時刻 tのぞれぞれにおいて、 図 3 7に示す通り 移動物体 O B 1の位置のみが変化した圧縮対象データ D 1が得られる。 このよう に圧縮対象データ D 1は、 頻繁にその内容が変化して前後の時間における圧縮対 象データ D 1間に全く関連性が無くなる訳ではなく、 ある程度の相関関係を有し ている。
このような時系列的に相関関係がある圧縮対象データ D 1について、 前後で得 られた圧縮対象データ D 1の差分を求めると、 例えば図 3 7に示す差分データ F 1 , F 2が得られる。 差分データ F 1は、 時刻 (t— 2 ) で得られる圧縮対象デ ータ D 1と時刻 ( t— 1 ) で得られる圧縮対象データ D 1との差分を取って得ら れたデータであり、 移動物体 O B 1を表す情報の減少を意味するデータ d 1 1と 移動物体 O B 1を表す情報の増加を意味するデータ d 1 2とからなる。 差分デー タ F 2は、 時刻 ( t一 1 ) で得られる圧縮対象データ D 1と時刻 tで得られる圧 縮対象データ D 1 との差分を取って得られたデータであり、 移動物体 O B 1を表 す情報の減少を意味するデータ d 2 1と移動物体 O B 1を表す情報の増加を意味 するデータ d 2 2とからなる。
圧縮対象データ D 1の時系列的な相関関係が高いと、 差分データ F 1, F 2の データ量はより少なくなる。 この差分データ F 1 , F 2のデータ量が小さいと前 後で得られる圧縮対象データ D 1の内容の変化が小さく、 各々の時刻で得られる 圧縮対象データ D 1に含まれるデータ各々の発生確率分布の変化は小さい。逆に、 差分データ F 1, F 2のデータ量が大きいと前後で得られる圧縮対象データ D 1 の内容の変化が大きく、 各々の時刻で得られる圧縮対象データ D 1に含まれるデ —タ各々の発生確率分布が大きく変化する。 頻度集計部 3 1 0は、 各時刻で得ら れる圧縮対象データ D 1を収集して、 圧縮対象データ D 1に含まれるデータ各々 についての出現頻度を集計してデータ毎の発生確率を求めて発生確率テーブルを 生成する。
図 3 6に戻り、 変化量判定部 1 1は、 頻度集計部 1 0で生成された発生確率テ —ブル、 発生確率テーブルバッファ 1 4に格納されている発生確率テーブル、 及 び Z又は入力された圧縮対象データ D 1の総データ数を用いて発生確率テーブル の変化量の大小を判定する。 この判定にあたって変化量判定部 1 1は予め設定さ れた閾値を用い、 圧縮対象データ D 1に含まれるデータの各々についての発生確 率の変化量が上記閾値を越えているか否かを判定する。 ここで、 頻度集計部 3 1 0で生成された発生確率テーブルは、 現在入力された圧縮対象データ D 1から得 られたものであり、 発生確率テーブルバッファ 1 4に格納されている発生確率テ 一ブルは、 前回又は前回以前に入力された圧縮対象データ D 1から得られたもの である。 変化量判定部 3 1 1で用いられる閾値は、 最終的に出力する圧縮符号デ ータ D 4の総データ量が減少するように設定される。 閾値の設定方法は複数種類 用意されており、 これらの何れか 1つを用いて閾値が設定される。 尚、 閾値の設 定方法の詳細については後述する。
差分確率データ生成部 3 2は、 変化量判定部 3 1 1において発生確率亍ーブ ルの変化量が予め設定された閾値を越えていると判定された場合に、 発生確率テ 一ブルの差分からなる差分確率データ D 3を生成する。 ここで、 差分確率テープ ルの差分とは、 圧縮対象データ D 1に含まれるデータの内の発生確率が大きく異 なるデータについての発生確率を集めたデータである。 尚、 差分確率データ生成 部 3 1 2は、 変化量判定部 3 1 1において発生確率テーブルの変化量が予め設定 された閾値を越えていないと判定されたデータについては、 発生確率が前回の発 生確率と同じである旨を示す情報からなる差分確率データ D 3を生成する。
発生確率テーブル再構成部 3 1 3は、 変化量判定部 3 1 1において発生確率亍 一ブルの変化量が予め設定された閾値を越えていると判定されたデータについて、 発生確率テーブルバッファ 1 4に格納されている発生確率テーブルを、 頻度集計 部 3 1 0で生成された発生確率テーブルに更新する。 発生確率テーブルバッファ 1 4は、 圧縮対象データ D 1を符号化して圧縮する際に用いる発生確率テーブル 又は過去の圧縮対象データ D 1を符号化した際に用いた発生確率テーブルを一時 的に記憶する。
エントロピ一符号化部 3 1 5は、 発生確率テーブルバッファ 1 4に一時的に格 納されている発生確率テーブルを用いて圧縮対象データ D 1を符号化して圧縮し、 圧縮符号データ D 2を生成する。 合成部 3 1 6はエントロピー符号化部 3 1 5で 生成された圧縮符号データ D 2と差分確率データ D 3とを合成して、 差分確率デ ータ D 3を圧縮符号データ D 2に含めた圧縮符号データ D 4を生成する。
以上、 本発明の一実施形態による圧縮符号化装置の構成について説明したが、 次に変化量判定部 3 1 1で用いられる閾値の設定方法について説明する。 前述し た通り、 閾値は最終的に出力する圧縮符号データ D 4の総データ量が減少するよ うに設定されるが、 より具体的には、 圧縮対象データ D 1の発生確率分布が変化 した場合に、 その変化量が少ないと仮定して該当する差分確率データ D 3を圧縮 符号データ D 4に含めないことで得られる圧縮符号データ D 4のデータ量減少分 が、 変化前の発生確率テーブルを用いて符号化を行った際に発生する誤差による 圧縮符号データ D 4のデータ量増加分よリも大きくなるように閾値を設定する。 ここで、 誤差が生ずるのは圧縮対象データ D 1の実際の確率分布とは異なる発生 確率を有する変化前の発生確率テーブルを用いて符号化を行うためである。以下、 閾値の設定方法について詳細に説明する。
まず、 以下の変数を定義する。
P x t :現在入力された圧縮対象データ D 1から求めたデータ Xの発生確率 Pノー1 :前回入力された圧縮対象データ D 1から求めたデータ Xの発生確率 m : 1つのデータについての差分確率データ D 3のデータ量 (ビット) r : 1つのデータについての発生確率が前回の発生確率と同じである旨を 示す情報からなる差分確率データ D 3のデータ量 (ビット)
L :圧縮対象データ D 1の総データ数 (個)
いま、 データ番号 X = Xのデータの発生確率 P xが α倍に変化して誤差付き発 生確率 ρ Λ χ =α ρ χになった場合を考える。 尚、 表記の都合上、 記号 Γ ρ」 の上 部にハット記号 「Λ」 が付された記号を Γ ρ Λ」 と表記する場合がある。 1つの データについての発生確率が α倍に変化した場合には、 データ X以外のデータの 発生確率は、 各々の間の発生確率の比が保たれるように変化すると考えると、 デ —タ X以外のデータ i ( i≠X) の発生確率は Ρ Λ , = P ■ (1 - Px) / (1 -α Px) となる。
データ Xの発生確率が変化しない場合 (発生確率 Pxの場合) に、 エントロピ 一圧縮を行ったときの 1つのデータについての平均データ量 (ビット数) Eは以 下の (1 ) 式で表され、 総データ量 Sは以下の (2) 式で表される。
E = Y:Pxlog2(l/Px) • (1)
一方、データ Xの発生確率が誤差付き発生確率 Ρ Λ χ=αΡχに変動した場合に、 エントロピー圧縮を行ったときの 1つのデータについての平均データ量 (ビット 数) Ε Λは (3) 式で表され、総データ量 S Λは以下の (4) 式で表される。 尚、 表記の都合上、 記号 「Ε」 の上部にハット記号 「Λ」 が付された記号を 「Ε Λ」 と表記する場合があり、 記号 「S」 の上部にハツ卜記号 「Λ」 が付された記号を 「S Λ」 と表記する場合がある。 ^ = Alog2(l/ ) ····(3)
ここで、データが Xでないことが判った際にデータが iである発生確率を Px i と表すと、 上記 (1 ) 式は以下の (5) 式の通り表すことができる。 尚、 P i = (1 — Px) Px iである。
=
6 ^ ί ηη . ,
一方、 データ Xの発生確率が α倍に変化したときのデータ X以外のデータ iの 発生確率 P iは、 データが Xでない確率 (1— αΡχ) と上記の発生確率 Px iとか ら、 P ,' = ( 1 ~αΡχ) Ρχ ίと求まるので、 上記の (3) 式は、 以下の (6) 式 ,— ^ = UM
Η Η
上記 (5) 式及び (6) 式から、 データ Xの発生確率が α倍に変化した場合の 符号化対象データ 1つ当たりの圧縮符号データの増加量 ΔΕは以下の (7) 式で 表すことができる。 Ε= Ε-Ε
= Ρχ {log2(l - log2(l/P )}
+(1― Px) {log2(l/(l― αΡχ))一 log2(l/(l一 Ρχ))}
= Px log2(l/a) + (1— Fx) log2((l― Ρχ)/(1 - αΡχ)) … ·( 7 ) 上記 (7) 式で表される増加量 ΔΕを発生確率 Ρ及び変化量 αの関数と考えて ΔΕ (Ρ, α) と表すと、 総データ量の増加量は LAE (Ρ, α) となる。
圧縮対象データ D 1に含まれる 1つのデータについて、 その発生確率が殆ど変 化していないとして発生確率を示す情報を圧縮符号データに含めない場合には、 差分確率データ D 3を m— rビットだけ減少させることができる。 一方、 α倍に 変化した発生確率を用いて符号化を行った場合に増加する圧縮符号データ D 2の データ量は Ι_ΔΕ (Ρ, α) ビットである。 従って、 上記のデータ量減少分 m— r が上記のデータ量増加分 1_ΔΕ (Ρ, α) よりも大きい場合に、 発生確率の変化量 が殆ど変化していないとして発生確率を示す情報を圧縮符号データに含めないよ うにすれば最終的に得られる圧縮符号データ D 4の総データ量を減少させること ができる。
本実施形態において、 圧縮符号データ D 4の総データ量を減少させることがで きる条件式は、 以下の (8) 式で表される m-r > L-{Px log2(l/a) + (1 - Ρχ) log2((l― Ρχ)/{1― αΡχ))}
·*·' (8) 上記 (8) 式を参照すると、 左辺に示すデータ量減少分 m— rは定数であり、 右 辺に示すデータ量増加分 |_ΔΕ (Ρ, α) は圧縮対象データ D 1のデータ数し、 デ ータ Xの発生確率が変動しない場合の発生確率 P X、 及び発生確率の変動量 αで 表される関数である。 従って、 上記 (8) 式の条件式が満たされるためには、 発 生確率の変化量 αが 「1」 に近い値であること (変化量 αが小さいこと) が重要 になる。 このため、 変化量判定部 3 1 1に設定される閾値は基本的には発生確率 の変化量 αに基づいて定められる。 以下、 閾値の設定方法について説明する。
[閾値の第 1設定方法]
第 1設定方法は、 発生確率テーブルの変化量 α に対する上 限値 Tma x及び下限値 Tm i nを設定した変化量許容テーブルを作成しておき、 こ れを閾値とするものである。 つまり、 圧縮対象データ D 1に含まれるデータを X としたときに、 前回入力された圧縮対象データ D 1に含まれていたデータ Xの発 生確率 -1に対して現在入力された圧縮対象データ D 1に含まれるデータ X の発生確率 の変化量が以下の (9) 式に示す不等式の範囲であるか否かを判 定する。 データ Xの発生確率 の変化量が下記 (9) 式に示す不等式の範囲内 である場合には、データ Xの発生確率 の変化量が僅かであって閾値を越えて いないと判定する 上記 (9) 式中の上限値 Tmax及び下限値 Tmi nはデータ Xの発生確率 毎 に設定される。 上限値 Tm3Xはデータ Xの発生確率 P が増加するにつれて減少 又は同じ値を維持し、 最も値が大きい発生確率 について値" 1"に収束するよ う設定される。 下限値 T m ,。はデータ Xの発生確率 P x 1が増加するにつれて増加 又は同じ値を維持し、 最も値が大きい発生確率 P について値" 1"に収束するよ う設定される。
以上の変化量許容テーブルを閾値として用いる方法は、 圧縮対象データ D 1の 総データ量が時間的にさほど変化しない場合 (つまり、 上記 (8) 式右辺のデ一 タ数しがほぼ一定であると仮定した場合) に適用したものである。 例えば、 圧縮 対象データ D 1が画像データ (動画データ) である場合であるが、 J P EG ( I SO I TEC 1 091 8— 1 ) 等で決められているように、 エントロピ一符 号化を行う前に、 画像データを 8X8画素のブロック毎に切り出して DC (直流) 成分と AC (交流) 成分とに分離して、 その後それぞれをエントロピー圧縮する ことが多い。 圧縮対象データ D 1の画素数が 640X480画素である場合には、 データ数しの最大値は (640/8) X (480X8) =4800個であり値は 殆ど変化しない。 ちなみに、 本発明の第 1及び第 2の実施の形態では、 4 X4画 素のブロックであるため、 ブロック毎のデータは、それぞれ(640ノ 4) X (4 80/4) =1 9200個となる。
このような圧縮対象データ D 1に対して、 データの発生確率情報の量子化精度 が 8ビットである場合、 データ量 mを 「8」 とし、 データ量 rを ONZO F Fを 示すビット等を用いるとして 「1」 とすると、 例えば図 38に示す変化量許容テ 一ブルが設定される。 図 38は、 変化量判定部 31 1で用いられる変化量許容テ 一ブルの一例を示す図である。 図 38を参照すると、 発生確率 Pが増加するにつ れて上限値 Tmaxは減少して値" 1"に収束するよう設定され、下限値 Tmi nは増加 して値" 1"に収束するよう設定される。
[閾値の第 2設定方法]
上記の第 1設定方法は、 圧縮対象データ D 1の総データ量の時間的変動がさほ ど生じない場合、 つまり上記 (8) 式右辺のデータ数 Lがほぼ一定であると仮定 した場合に適用される方法であるが、 ここで説明する第 2設定方法は、 圧縮対象 データ D 1の総データ量の時間的変動をも考慮して閾値を設定するものである。 第 2設定方法は、 データ Xの発生確率 P 及び発生確率の変化量 α (Ρχ ι1 ノ) の値を変えて上記 (8) 式に代入し、 各々の値を代入したときに (8) 式に示す条件式が満たされるデータ数条件 L t hを設定したデータ数条件亍一ブ ルを作成しておき、 これを閾値とする。 入力される圧縮対象データ D 1に含まれ るデータ Xのデータ数が、発生確率 及び変化量 αに応じて設定されたデータ 数条件 Lt h以下である場合に、データ Xの発生確率 Pノの変化量が僅かであって 閾値を越えていないと判定し、 データ数条件 Lt hよりも大きい場合に、 データ X の発生確率 P x 1の変化量が大きく閾値を越えていると判定する。
図 39は、 変化量判定部 31 1で用いられるデータ数条件テーブルの一例を示 す図であって、 39 Aは発生確率の変化量 αが 1よりも大きいときのデータ数条 件テーブルの一例を示す図であリ、 39 Βは発生確率の変化量 αが 1よリも小さ いときのデータ数条件テーブルの一例を示す図である。いま、図 39 Αにおいて、 発生確率が 「0. 1 25 (1ノ 8)」 であって、 発生確率の変化量 αが 「1. 2J であるデータに着目すると、 このデータに対してはデータ数条件し が 「1 88 5 J に設定されている。 このため、 このデータのデータ数が 「1 885」 以下で ある場合には閾値を越えていないと判定され、 「1 885」よりも大きい場合には 閾値を越えていると判定される。
また、 発生確率が ΓΟ. 1 25 (1 8)」 であって、 発生確率の変化量ひが 「2 Jであるデータに着目すると、このデータに対してはデータ数条件 Lt hが「1
01 J に設定されており、 上記の場合よりも小さな値が設定されている。 このよ うに、発生確率 Pが同じものに着目すると、 データ数条件 Lt hは発生確率の変化 量 αが大きくなるにつれて (変化量 αの値 「1」 に対するずれ量が大きくなるに つれて) 値が小さくなるように設定されている。 これは、 発生確率の変化量 αが 大きくなるにつれて符号化時に生ずる誤差も大きくなつて、 上記 (8) 式の右辺 の値が大きくなるため、 データ数条件 L t hの値を小さくすることで、 (8 ) 式に 示す条件式が満たされるようにしている。 尚、 発生確率の変化量 ctが同じものに 着目すると、データ数条件 L t hは発生確率が大きいものには小さな値が設定され、 逆に発生確率が小さいものには大きな値が設定されている。 [閾値の第 3設定方 法]
上記第 1, 第 2設定方法は、 何れもテーブルを予め求めて閾値としていたが、 第 3設定方法は上記 (8 ) 式に示す条件式の左辺を閾値とするものである。 つま リ、 変化量判定部 3 1 1は、 圧縮対象データ D 1のデータ数し、 データ Xの発生 確率が変動しない場合の発生確率 p x、及び発生確率の変動量 αを用いて上記( 8 ) 式の右辺の値を求め、 この値が (8 ) 式の値以上であるか否かを判定する。 (8 ) 式のお辺の値が左辺の値以下であリ、 ( 8 )式に示す条件式が満たされる場合には 発生確率の変化量が小さく閾値を越えていないと判定し、 満たされない場合には 発生確率の変化量が大きく閾値を越えていると判定する。
以上、 閾値の設定方法について説明したが、 上述した第 1設定方法は圧縮対象 データ D 1のデータ数 Lが時間的にさほど変化しない場合に用い、 第 2設定方法 は圧縮対象データ D 1のデータ数 Lが時間的に大きく変化する場合に用いるとい つた具体に、 圧縮対象データ D 1の性質に応じて使い分けるのが好適である。 ま た、 上述した第 3設定方法は、 数式を用いた判定を行っているため、 変化量判定 部 3 1 1の演算能力に余裕があるときに用いることが好ましい。 次に、 本発明の一実施形態による圧縮符号化装置の動作、 つまり本発明の一実 施形態による圧縮符号化方法について説明する。 図 4 0は、 本発明の一実施形態 による圧縮符号化方法を示すフローチャートである。 尚、 以下の説明では、 簡単 のために、 圧縮対象データ D 1は時間的なデータ数 Lの変化量が僅かであり、 変 化量判定部 3 1 1には上述した第 1設定方法により変化量許容テーブルが設定さ れているとする。 また、 3 6に示す発生確率テーブルバッファ 1 4には前回入力 された圧縮対象データ D 1の発生確率テーブルが格納されているものとする。 新たな圧縮対象データ D 1が入力されると、 頻度集計部 3 1 0において入力さ れた圧縮対象データ D 1が収集され(ステップ S 3 1 0 )、収集された圧縮対象デ ータ D 1に含まれるデータ各々についての出現頻度が集計され、 データ毎の発生 確率が求められて発生確率テーブルが生成される (ステップ S 3 1 1 )。次に、変 化量判定部 3 1 1は、 頻度集計部 3 1 0において生成された発生確率テーブルと 発生確率テーブルバッファ 1 4に一時的に記憶されている発生確率テーブルとを 比較し、 上記の変化量許容テーブル (図 3 8参照) を用いて発生確率の変化量の 大小を判定し、発生確率が大きく変化したデータを検出する(ステツプ S 3 1 2 )。
図 4 1は、 発生確率の変化の様子及び発生確率が大きく変化したデータの発生 確率を抽出した様子の一例を示す図である。 図 4 1 Aにおいて、 符号 T 1を付し た曲線は発生確率テーブルバッファ 1 4に一時的に格納されている発生確率分布 (前回入力された圧縮対象データ D 1から得られた発生確率分布)を示しておリ、 符号 T 2を付した曲線は今回入力された圧縮対象データ D 1から得られた発生確 率分布を示している。 図 4 1 Αに示す例では符号 G 1 , G 3を付した範囲に属す るデータの発生確率の変化量は小さく、 符号 G 2を付した範囲に属するデータの 発生確率の変化量は大きいと判定されて、 符号 G 2を付した範囲に属するデータ が検出される。
次に、 差分確率データ生成部 3 1 2は、 変化量判定部 3 1 "Iの判定結果から得 られた検出結果に基づいて、 頻度集計部 3 1 0で生成された発生確率テーブルか ら発生確率が大きく変化したデータの発生確率を抽出する (ステップ S 3 1 3 )。 図 4 1 Bは、 差分確率データ生成部 3 1 2により抽出された発生確率の一例を示 す図である。 図 4 1 Bに示す例では、 図 4 1 A中の符号 G 2を付した範囲に属す るデータの発生確率 (今回入力された圧縮対象データ D 1から得られた発生確率) が抽出された様子を示しておリ、 符号 T 3を付して示す曲線が抽出された発生確 率の分布を示している。
次に、 差分確率データ生成部 3 1 2は、 抽出した差分確率データを用いて差分 確率データ D 3を生成する (ステップ S 3 1 4 )。 このとき、差分確率データ生成 部 3 1 2は発生確率の変化量が大きなデータについてはステップ S 3 1 3で抽出 した発生確率を含め、 発生確率の変化量が小さなデータについては発生確率が前 回の発生確率と同じである旨を示す情報を含めて差分確率データ D 3を生成する。 つまり、 図 4 1 Aに示す例では、 符号 G 2を付した範囲に属するデータについて は、 図 4 1 Bに示す発生確率を含め、 符号 G 1 , G 2を付した範囲に属するデー タについては、 発生確率が前回の発生確率と同じである旨を示す情報を含めた差 分確率データ D 3を生成する。
以上の処理が終了すると、 発生確率テーブル再構成部 3 1 3は、 変化量判定部 3 1 1の判定結果から得られた検出結果に基づいて、 発生確率テーブルバッファ 3 1 4に格納されている発生確率テーブルを更新する(ステップ S 3 1 5 )。例え ば、 図 4 1 Aに示す例においては符号 T 1を付した発生確率分布の内の符号 G 2 を付した範囲のデータに関する発生確率を図 4 1 Bに示す発生確率に更新する。 発生確率テーブルバッファ 1 4の更新が完了するとエントロピー符号化部 3 1 5は、 更新された発生確率テーブルを用いて今回入力された圧縮対象データ D 1 をエントロピー符号化して圧縮し、 圧縮符号データ D 2を生成する (ステップ S 3 1 6 )。圧縮対象データ D 1の符号化が終了すると、差分確率データ生成部 3 1 2で生成された差分確率データ D 3とエントロピー符号化部 3 1 5で生成された 圧縮符号データ D 2とが合成部 3 1 6で合成され、 差分確率データ D 3が圧縮符 号データ D 2に含められた圧縮符号データ D 4が生成される(ステップ S 3 1 7 )。 以上、 圧縮対象データ D 1が入力されたときの処理について説明したが、 圧縮 対象データ D 1が時間的に連続して又は間欠的に連続して入力される度に以上説 明した処理と同様の処理が行われる。 このように、 本実施形態においては、 発生 確率の変化量の大小を判定し、 発生確率の変化量が大きいデータの発生確率のみ を差分確率データ D 3に含めて、 発生確率の変化量が小さいデータについては発 生確率が前回の発生確率と同じである旨を示す情報を差分確率データ D 3に含め ているため、最終的な圧縮符号データ D 4の総データ量を低減することができる。 特に、 圧縮対象データ D 1の時系列的な相関関係が高いと、 差分確率データ D 3 に含めるべき発生確率が極めて少なくなるため、 圧縮符号データ D 4の総データ 量を大幅に低減することができる。
尚、 以上の実施形態においては、 過去に少なくとも 1度、 圧縮対象データ D 1 が圧縮符号化装置に入力されている場合の動作について説明したが、 圧縮符号化 装置に最初に入力された圧縮対象データ D 1については、 圧縮対象データ D 1に 含まれる全てのデータの発生確率が差分確率データ D 3に含められ、 この差分確 率データ D 3が圧縮符号データ D 2に含められた圧縮符号データ D 4が生成され る。
また、 以上の実施形態においては、 図 3 6に示す各ブロックをハードウェア的 に構成し、 これらを組み合わせて圧縮符号装置を構成する場合を例に挙げて説明 した。 しかしながら、 ハードウ:!:ァ的には圧縮符号装置を計算機システムとして 構成し、 圧縮符号装置を構成する各ブロックの機能をプログラムによって実現す ることも可能である。
また、 圧縮符号装置を計算機システムとして構成した場合には、 圧縮符号装置 を構成する上記の各ブロックの機能を実現するためのプログラムの全てを予め圧 縮符号装置に内蔵することは必ずしも必須ではない。 例えば、 上記の各ブロック の機能を実現するためのプログラムを格納した記録媒体 (図示省略) を用意する とともに、 この記録媒体からプログラム内容を読み出し可能であり、 かつ、 記録 媒体を着脱可能な読取装置 (図示省略) を計算機システムとして構成された圧縮 符号装置に接続し、 圧縮符号装置が読取装置に装填された記録媒体から機能実現 のために必要なプログラム内容を読み出し、 読み出したプログラムを実行するよ うに構成することができる。
また、 圧縮符号装置が読取装置に装填された記録媒体からプログラム内容を読 み出して、 内部にインストールする構成とすることができる。 更に、 インターネ ット等を利用し、 通信ネッ卜ワークを介して機能実現のために必要となるプログ ラム内容を圧縮符号装置にィンストールする構成とすることもできる。
尚、 上記の記録媒体としては、 磁気的に記録するもの (磁気ディスク、 磁気テ ープ等)、 電気的に記録するもの (PROM、 バッテリ ■バックアップ付 RAM、 EEPROM、その他の半導体メモリ等)、光磁気的に記録するもの (光磁気ディ スク等)、 電気磁気的に記録するもの (デジタルオーディオテープ (DAT) 等) 等、 光学的に記録するもの (コンパクトディスク (CD)、 DVD (登録商標)) 等の種々の記録形態で記録するものを採用することができる。 以上のように、 機 能を実現するためのプログラム内容を記録した記録媒体を使用したリ、 インスト —ルしたりすることが可能なように構成することにより、 後におけるプログラム 内容の修正や、 性能向上のためのバージョンアップ等を容易に行うことができる ようになる。 〔符号化方法、 装置、 及びプログラム〕
図 4 2は、 本発明の一実施形態による復号化装置の構成を示すブロック図であ る。 図 4 2に示す通り、 本実施形態の復号化装置は、 入力部 3 2 0、 圧縮符号デ 一夕分割部 3 2 1、 発生確率テーブル更新部 3 2 2、 発生確率テーブルバッファ 3 2 3、 復号部 3 2 4、 及び出力部 3 2 5を含んで構成される。
入力部 3 2 0は、 上述した圧縮符号装置、 方法、 又はプログラムを用いて符号 化により圧縮された圧縮符号データ D 4を入力する。 この入力部 3 2 0は、 例え ば、 圧縮符号データ D 4がハードディスク等の記録装置に記録されている場合に はその記録された圧縮符号データ D 4を読み出す読出部に相当する機能を有し、 圧縮符号データ D 4が送信される場合には送信されてくる圧縮符号データ D 4を 受信する受信部に相当する機能を有する。
圧縮符号データ分割部 3 2 1は、 入力部 3 2 0から入力された圧縮符号データ D 4に含まれる圧縮符号データ D 2と差分確率データ D 3とを分割し、 差分確率 データ D 3を抽出する。 発生確率テーブル更新部 3 2 2は、 圧縮符号データ分割 部 2 1において抽出された差分確率データ D 3を用いて発生確率テーブルバッフ ァ 2 3の内容を更新する。 発生確率テーブルバッファ 2 3は、 圧縮符号データ分 割部 2 1で分割された圧縮符号データ D 2を復号する際に用いる発生確率テープ ルバッファを一時的に記憶する。 復号部 3 2 4は、 発生確率テーブルバッファ 2 3に一時的に記憶された発生確率テーブルを用いて圧縮符号データ分割部 3 2 1 で分割された圧縮符号データ D 2を復号する。 出力部 3 2 5は復号部 3 2 4で復 号された復号データ D 5を出力する。
次に、 本発明の第 3の実施の形態による復号化装置の動作、 つまり本発明の一 実施形態による復号化方法について説明する。 図 4 3は、 本発明の一実施形態に よる復号化方法を示すフローチャートである。 尚、 以下の説明では、 簡単のため に、 図 4 2に示す発生確率テーブルバッファ 2 3には前回入力された圧縮符号デ —タ D 4から抽出された発生確率テーブルが格納されているものとする。
新たな圧縮符号データ D 4が入力されると、 入力部 3 2 0において獲得される (ステップ S 3 2 0 )。 入力部 3 2 0で獲得された新たな圧縮符号データ D 4は、 圧縮符号データ分割部 3 2 1で圧縮符号データ D 2と差分確率データ D 3とに分 割され(ステップ S 3 2 1 )、差分確率データ D 3が抽出される (ステップ S 3 2 2 )。抽出された差分確率データ D 3は発生確率テーブル更新部 3 2 2に出力され て、 発生確率テーブルバッファ 2 3の更新に用いられる (ステップ S 3 2 3 )。 差分確率データ D 3には、 圧縮符号時において発生確率の変化量が大きいデー タの発生確率のみが含められ、 発生確率の変化量が小さいデータについては発生 確率が前回の発生確率と同じである旨を示す情報が含められている。 発生確率テ 一ブル更新部 3 2 2は、 発生確率テーブルバッファ 2 3に記憶されている発生確 率テーブルのうち、 差分確率データ D 3に発生確率が含まれているデータのみに ついて更新を行い、 発生確率が前回の発生確率と同じである旨を示す情報が含ま れているデータについては発生確率の更新は行わない。
発生確率テーブルバッファ 3 2 3が更新されると、 更新された発生確率テープ ルを用いて復号部 2 4が圧縮符号データ分割部 2 1で分割された圧縮符号データ D 2を復号する(ステップ S 3 2 4 )。復号部 2 4で復号された復号データは出力 部 2 5から復号データ D 5として出力される (ステップ S 3 2 5 )。
以上、 圧縮符号データ D 4が入力されたときの処理について説明したが、 圧縮 符号データ D 4が時間的に連続して又は間欠的に連続して入力される度に以上説 明した処理と同様の処理が行われる。 このように、 本実施形態においては、 圧縮 符号データ D 4に含まれる圧縮符号データ D 2と差分確率データ D 3とを分割し て差分確率データ D 3を抽出し、 抽出した差分確率データ D 3を用いて発生確率 テーブルバッファ 2 3の内容を更新し、 更新後の発生確率テーブルを用いて復号 している。 このため、 圧縮符号データ D 2は、 圧縮符号データ D 2を符号化する ときに用いた発生確率テーブルと同一のものを用いて復号されるため、 正しい復 号結果が得られる。
尚、 以上の実施形態においては、 過去に少なくとも 1度、 圧縮符号データ D 4 が復号化装置に入力されている場合の動作について説明した。 復号化装置に最初 に入力された圧縮符号データ D 4については、 圧縮対象データ D 4に含まれる差 分確率データ D 3に圧縮対象データ D 1に含まれる全てのデータの発生確率が含 められているため、 この差分確率データ D 3の内容の全てを発生確率テーブルバ ッファ 2 3に格納して復号を行えば、 問題なく復号を行うことができる。
また、 以上の実施形態においては、 図 4 2に示す各ブロックをハードウェア的 に構成し、 これらを組み合わせて復号化装置を構成する場合を例に挙げて説明し た。 しかしながら、 ハードウェア的には復号化装置を計算機システムとして構成 し、 複号化装置を構成する各ブロックの機能をプログラムによって実現すること も可能である。
また、 復号化装置を計算機システムとして構成した場合には、 前述した圧縮符 号装置と同様に、 復号化装置を構成する上記の各ブロックの機能を実現するため のプログラムの全てを予め復号化装置に内蔵することは必ずしも必須ではない。 例えば、 上記の各ブロックの機能を実現するためのプログラムを格納した記録媒 体 (図示省略) を用意するとともに、 この記録媒体からプログラム内容を読み出 し可能であり、 かつ、 記録媒体を着脱可能な読取装置 (図示省略) を計算機シス テムとして構成された復号化装置に接続し、 復号化装置が読取装置に装填された 記録媒体から機能実現のために必要なプログラム内容を読み出し、 読み出したプ ログラムを実行するように構成することができる。
また、 復号化装置が読取装置に装填された記録媒体からプログラム内容を読み 出して、 内部にインストールする構成とすることができる。 更に、 インタ一ネッ ト等を利用し、 通信ネットワークを介して機能実現のために必要となるプログラ 厶内容を復号化装置にインストールする構成とすることもできる。 尚、 上記の記 録媒体としては、 前述したものと同様のものを採用することができる。 このよう に、 機能を実現するためのプログラム内容を記録した記録媒体を使用したり、 ィ ンストールしたりすることが可能なように構成することにより、 複合装置におい ても、 後におけるプログラム内容の修正や、 性能向上のためのバージョンアップ 等を容易に行うことができるようになる。
以上、 本発明の一実施形態による圧縮符号化方法、 装置、 及びプログラム、 並 びに復号方法、 装置、 及びプログラムについて説明したが、 本発明は上記実施形 態に制限されず、 本発明の範囲内で自由に変更が可能である。
本発明の第 3の実施の形態によれば、 圧縮対象データに含まれるデータ毎の発 生確率の変化量の大小を判定し、 変化量が大きいデータの発生確率を含む差分確 率データを生成し、 この差分確率データのみを圧縮符号データに含めるようにし ているため、 最終的に得られる圧縮符号データの総データ量を低減することがで きるという効果がある。 特に、 圧縮対象データの時系列的な相関関係が高いと、 差分確率データに含めるべき発生確率が極めて少なくなるため、 圧縮符号データ の総データ量を大幅に低減することができるという効果がある。
また、 本発明によれば、 圧縮された圧縮符号データに含まれる差分確率データ を分割抽出して差分確率テーブルを更新し、 更新した差分確率テーブルを用いて 分割された圧縮符号データを復号しているため、 圧縮符号時に用いた発生確率テ 一ブルと同一のものを用いて復号化が行われて正しい復号結果が得られるという 効果がある
産業上の利用の可能性
本発明は、 計算処理を長くさせずに画質を向上させることの可能な画像圧縮装 置、 方法、 及びそのプログラム、 さらに、 発生確率を含める場合であっても、 総 データ量の低減を図ることができる圧縮符号化方法、 装置、 プログラム、 並びに 符号化された圧縮符号データの複号化方法、 装置、 プログラムを提供しているの で、 画像圧縮、 圧縮データの符号化、 その符号化データの複号に利用することが できる。 特に、 動画像の圧縮においては、 本発明の第 1の実施の形態と、 本発明 の第 3の実施の形態を組み合わせた圧縮符号化方法、 装置、 プログラム、 もしく は、 本発明の第 2の実施の形態と本発明の第 3の実施の形態を組み合わせた圧縮 符号化方法、 装置、 プログラム、 を利用することで、 画質の低下を抑えつつ、 さらにデータ量の低減を図ることができる。

Claims

請求の範囲
1 . 画像全体を n x m画素 (n, mは 4以上の自然数) のブロックに切り分ける ブロック分割手段と、
前記ブロックの画素値から、 該ブロックを近似する第 1の斜面を特定するパラ メータを求める第 1斜面算出手段と、
前記第 1の斜面と前記ブロック内の各画素値との差分を算出することで n X m 個の誤差量を算出する誤差量算出手段と、
前記誤差量が所定のしきい値を超える画素値が存在する場合に、 誤差量が所定 のしきい値を超える画素値のみから第 2の斜面を特定するパラメータを求める第 2斜面算出手段と、
前記第 1及び第 2の斜面を特定するパラメ一夕を可逆符号化する符号化手段と を備えたことを特徴とする画像圧縮装置。
2 . 前記第 1斜面算出手段は、 前記ブロックの外縁部分のみの画素値から斜面を 特定するパラメータを求めることを特徴とする請求項 1に記載の画像圧縮装置。
3 . 画像データを非可逆圧縮する画像圧縮方法であって、
画像全体を n x m画素 (n , mは 4以上の自然数) のブロックに切り分けるブ ロック分割過程と、
前記ブロックの画素値から、 該ブロックを近似する第 1の斜面を特定するパラ メータを求める第 1斜面算出過程と、
前記第 1の斜面と前記ブロック内の各画素値との差分を算出することで n x m 個の誤差量を算出する誤差量算出過程と、
前記誤差量が所定のしきい値を超える画素値が存在する場合に、 誤差量が所定 のしきい値を超える画素値のみから第 2の斜面を特定するパラメータを求める第 2斜面算出過程と、
前記第 1及び第 2の斜面を特定するパラメータを可逆符号化する符号化過程と を有することを特徴とする画像圧縮方法。
4 . 前記第 1斜面算出過程は、 前記ブロックの外縁部分のみの画素値から斜面を 特定するラメータを求めることを特徴とする請求項 3に記載の画像圧縮方法。
5 . 画像データを非可逆圧縮する画像圧縮プログラムであって、
画像全体を n m画素 (n , mは 4以上の自然数) のブロックに切り分けるプロ ック分割処理と、
前記ブロックの画素値から、 該ブロックを近似する第 1の斜面を特定するパラ メータを求める第 1斜面算出処理と、 前記第 1の斜面と前記ブロック内の各画素値との差分を算出することで n x m 個の誤差量を算出する誤差量算出処理と、
前記誤差量が所定のしきい値を超える画素値が存在する場合に、 誤差量が所定 のしきい値を超える画素値のみから第 2の斜面を特定するパラメータを求める第 2斜面算出処理と、
前記第 1及び第 2の斜面を特定するパラメータを可逆符号化する符号化処理と をコンピュータに行わせることを特徴とする画像圧縮プログラム。
6 . 前記第 1斜面算出処理は、 前記ブロックの外縁部分のみの画素値から斜面を 特定するパラメータを求めることを特徴とする請求項 5に記載の画像圧縮プログ ラム。
7 . 画像全体を n x m画素 (n , mは 4以上の自然数) のブロックに切り分ける ブロック分割手段と、
前記プロックの外縁部分のみの画素値から、 該外縁部分を近似する斜面を特定 するパラメータを求める外縁斜面算出手段と、
前記斜面と前記プロック内の各画素値との差分を算出することで n X m個の補 正値を算出する補正値算出手段と、
前記補正値を非可逆符号化するとともに、 該符号化補正値と前記斜面を特定す るパラメータとを可逆符号化する符号化手段と
を備えたことを特徴とする画像圧縮装置。
8 . 前記符号化手段は、 前記 n X m個の補正値の各々について正負を 1 ビッ卜で 表現する符号計算手段と、 ブロック内の補正値を統計的に処理することで、 前記 ブロックの補正値の変動の大きさを示す値を求める統計的計算手段を含むことを 特徴とする請求項 7に記載の画像圧縮装置。
9 . 画像データを非可逆圧縮する画像圧縮方法であって、
画像全体を n X m画素 (n , mは 4以上の自然数) のブロックに切り分けるブ ロック分割過程と、
前記プロックの外縁部分のみの画素値から、 該外縁部分を近似する斜面を特定 するパラメータを求める外縁斜面算出過程と、
前記斜面と前記ブロック内の各画素値との差分を算出することで n X m個の補 正値を算出する補正値算出過程と、
前記補正値を非可逆符号化するとともに、 該符号化補正値と前記斜面を特定す るパラメータとを可逆符号化する符号化過程と
を有することを特徴とする画像圧縮方法。
1 0 . 前記符号化過程は、 前記 n X m個の補正値の各々について正負を 1ビット で表現するとともに、 各補正値の絶対値に対し統計処理を行い、 補正の大きさを 示す統計的指標を求め全ての補正値の振幅値とすることにより非可逆符号化する ことを特徴とする請求項 9に記載の画像圧縮方法。
1 1 · 画像データを非可逆圧縮する画像圧縮プログラムであって、
画像全体を n x m画素 (n , mは 4以上の自然数) のブロックに切り分けるブ ロック分割処理と、
前記ブロックの外縁部分のみの画素値から、 該外縁部分を近似する斜面を特定 するパラメータを求める外縁斜面算出処理と、
前記斜面と前記ブロック内の各画素値との差分を算出することで n X m個の補 正値を算出する補正値算出処理と、
前記補正値を非可逆符号化するとともに、 該符号化補正値と前記斜面を特定す るパラメータとを可逆符号化する符号化処理と
をコンピュータに行わせることを特徴とする画像圧縮プログラム。
1 2 . 前記符号化処理は、 前記 n X m個の補正値の各々について正負を 1ビッ卜 で表現するとともに、 各補正値の絶対値に対し統計処理を行い、 補正の大きさを 示す統計的指標を求め全ての補正値の振幅値とすることにより非可逆符号化する ことを特徴とする請求項 1 1に記載の画像圧縮プログラム。
1 3 . 時系列的に相関のある圧縮対象データを符号化して圧縮した圧縮符号デー タを生成する圧縮符号化方法において、
時系列的に得られる前記圧縮対象データに含まれるデータ毎の発生確率の変化 量の大小を判定する判定ステップと、
前記発生確率の変化量が大であると判定されたデータの発生確率を含む差分確 率データを生成する差分確率データ生成ス亍ップと、
前記差分確率データを前記圧縮符号データに含める合成ステップと
を含むことを特徴とする圧縮符号化方法。
1 4 . 前記判定ステップは、 前記データの発生確率の変化が小さいと仮定して前 記データの発生確率を前記差分確率データとして前記圧縮符号データに含めない ことによる前記圧縮符号データのデータ量減少分が、 変化前の発生確率を用いて 前記圧縮対象データを符号化した際に発生する誤差による前記圧縮符号データの データ量増加分よリも大きくなるよう設定した閾値を用いて前記判定を行うこと を特徴とする請求項 1 3に記載の圧縮符号化方法。
1 5 . 前記閾値は、 前記データ各々について許容される発生確率の変化量の上限 値及び下限値を定めた変化量許容テーブルとして設定され、
前記判定ステツプは、 前記データの発生確率の変化量が前記変化量許容テープ ルで定められた上限値を越えて大きく又は下限値を越えて小さい場合に、 前記発 生確率の変化量が大であると判定することを特徴とする請求項 1 4に記載の圧縮 符号化方法。
1 6 . 前記閾値は、 前記データの発生確率及び当該発生確率の変化量毎に前記デ 一夕の最大数を示すデータ数条件を定めたデータ数条件テーブルで設定され、 前 記判定ステップは、 前記圧縮対象データに含まれるデータのデータ数が前記デー タ数条件テーブルで定められたデータ数条件を越えて大きい場合に、 前記発生確 率の変化量が大であると判定することを特徴とする請求項 1 4記載の圧縮符号化 方法。
1 7 . 前記閾値は、 前記データ量減少分に設定され、 前記判定ステップは、 前記 データのデータ数、 発生確率、 及び発生確率の変化量から求められる前記データ 量増加分が前記データ量減少分を越えて大きい場合に、 前記発生確率の変化量が 大であると判定することを特徴とする請求項 1 4に記載の圧縮符号化方法。
1 8 . 前記差分確率データ生成ステップは、 前記発生確率の変化量が小であると 判定されたデータについて、 発生確率が前回の発生確率と同じである旨を示す情 報を前記差分確率データに含めることを特徴とする請求項 1 3から請求項 1 7の 何れか一項に記載の圧縮符号化方法。
1 9 . 時系列的に相関のある圧縮対象データを符号化して圧縮した圧縮符号デー タを生成する符号化部を備える圧縮符号化装置において、
時系列的に得られる前記圧縮対象データに含まれるデータ毎の発生確率の変化 量の大小を判定する変化量判定部と、
前記発生確率の変化量が大であると判定されたデータの発生確率を含む差分確 率データを生成する差分確率データ生成部と、
前記差分確率データ生成部で生成された差分確率データを前記符号化部で生成 された前記圧縮符号データに含める合成部と
を含むことを特徴とする圧縮符号化装置。
2 0 . 前記変化量判定部は、 前記データの発生確率の変化が小さいと仮定して前 記データの発生確率を前記差分確率データとして前記圧縮符号データに含めない ことによる前記圧縮符号データのデータ量減少分が、 変化前の発生確率を用いて 前記圧縮対象データを符号化した際に発生する誤差による前記圧縮符号データの データ量増加分よリも大きくなるよう設定した閾値を用いて前記判定を行うこと を特徴とする請求項 1 9に記載の圧縮符号化装置
2 1 · 前記差分確率データ生成部は、 前記発生確率の変化量が小であると判定さ れたデータについて、 発生確率が前回の発生確率と同じである旨を示す情報を前 記差分確率データに含めることを特徴とする請求項 1 9又は請求項 2 0に記載の 圧縮符号化装置。
2 2 . 時系列的に相関のある圧縮対象データを符号化して圧縮した圧縮符号デ一 タを生成する圧縮符号化プログラムにおいて、
時系列的に得られる前記圧縮対象データに含まれるデータ毎の発生確率の変化 量の大小を判定する判定ス亍ップと、
前記発生確率の変化量が大であると判定されたデータの発生確率を含む差分確 率データを生成する差分確率データ生成ステップと、
前記差分確率データを前記圧縮符号データに含める合成ステップと
を含むことを特徴とする圧縮符号化プログラム。
2 3 . 前記判定ステップは、 前記データの発生確率の変化が小さいと仮定して前 記データの発生確率を前記差分確率データとして前記圧縮符号データに含めない ことによる前記圧縮符号データのデータ量減少分が、 変化前の発生確率を用いて 前記圧縮対象データを符号化した際に発生する誤差による前記圧縮符号データの データ量増加分よりも大きくなるよう設定した閾値を用いて前記判定を行うこと を特徴とする請求項 2 2に記載の圧縮符号化プログラム。
2 4 . 前記閾値は、 前記データ各々について許容される発生確率の変化量の上限 値及び下限値を定めた変化量許容テーブルとして設定され、
前記判定ステップは、 前記データの発生確率の変化量が前記変化量許容テープ ルで定められた上限値を越えて大きく又は下限値を越えて小さい場合に、 前記発 生確率の変化量が大であると判定することを特徴とする請求項 2 3記載の圧縮符 号化プログラム。
2 5 . 前記閾値は、 前記データの発生確率及び当該発生確率の変化量毎に前記デ 一夕の最大数を示すデータ数条件を定めたデータ数条件テーブルで設定され、 前記判定ステツプは、 前記圧縮対象データに含まれるデータのデータ数が前記 データ数条件テーブルで定められたデータ数条件を越えて大きい場合に、 前記発 生確率の変化量が大であると判定することを特徴とする請求項 2 3に記載の圧縮 符号化プログラム。
2 6 . 前記閾値は、 前記データ量減少分に設定され、 前記判定ステップは、 前記 データのデータ数、 発生確率、 及び発生確率の変化量から求められる前記データ 量増加分が前記データ量減少分を越えて大きい場合に、 前記発生確率の変化量が 大であると判定することを特徴とする請求項 2 3に記載の圧縮符号化プログラム。
2 7 . 前記差分確率データ生成ステップは、 前記発生確率の変化量が小であると 判定されたデータについて、 発生確率が前回の発生確率と同じである旨を示す情 報を前記差分確率データに含めることを特徴とする請求項 2 2から請求項 2 6の 何れか一項に記載の圧縮符号化プログラム。
2 8 . 請求項 1 3から請求項 1 8.の何れか一項に記載の圧縮符号化方法、 請求項 1 7から請求項 2 1の何れか一項に記載の圧縮符号化装置、 又は請求項 2 2から 請求項 2 7の何れか一項に記載の圧縮符号化プログラムにより生成された圧縮符 号データに含まれる差分確率データを分割抽出する分割抽出ステップと、
抽出された前記差分確率データを用いて前記圧縮対象データに含まれるデータ 毎の発生確率を表す発生確率テーブルを更新する更新ステップと、
更新された発生確率テーブルを用いて前記圧縮符号データの復号化を行う復号 化ステップと、 を含むことを特徴とする復号化方法。
2 9 . 請求項 1 3から請求項 1 8の何れか一項に記載の圧縮符号化方法、 請求項 1 9から請求項 2 1の何れか一項に記載の圧縮符号化装置、 又は請求項 2 2から 請求項 2 7の何れか一項に記載の圧縮符号化プログラムにより生成された圧縮符 号データに含まれる差分確率データを分割抽出する抽出部と、 前記圧縮対象データに含まれるデータ毎の発生確率を表す発生確率テーブルを 記憶する記憶部と、 前記分割抽出部で抽出された前記差分確率データを用いて前記記憶部に記憶さ れた発生確率テーブルを更新する更新部と、 更新された発生確率テーブルを用いて分割された前記圧縮符号データの復号化 を行う復号部と を含むことを特徴とする復号化装置。
3 0 . 請求項 1 3から請求項 1 8の何れか一項に記載の圧縮符号化方法、 請求項 1 9から請求項 2 1の何れか一項に記載の圧縮符号化装置、 又は請求項 2 2から 請求項 2 7の何れか一項に記載の圧縮符号化プログラムにより生成された圧縮符 号データに含まれる差分確率データを分割抽出する分割抽出ステップと、 抽出された前記差分確率データを用いて前記圧縮対象データに含まれるデータ 毎の発生確率を表す発生確率テーブルを更新する更新ステップと、 更新された発生確率テーブルを用いて前記圧縮符号データの複号化を行う復号 化ステップと
を含むことを特徴とする復号化プログラム。
PCT/JP2004/001717 2003-02-19 2004-02-17 画像圧縮装置、画像圧縮方法、画像圧縮プログラム、及び圧縮符号化方法、圧縮符号化装置、圧縮符号化プログラム、並びに復合化方法、復合化装置、復合化プログラム WO2004075556A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/545,873 US7536054B2 (en) 2003-02-19 2004-02-17 Image compression device, image compression method, image compression program, compression encoding method, compression encoding device, compression encoding program, decoding method, decoding device, and decoding program

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2003041021A JP3835411B2 (ja) 2003-02-19 2003-02-19 画像圧縮装置、画像圧縮方法及び画像圧縮プログラム
JP2003-41021 2003-02-19
JP2003-57330 2003-03-04
JP2003057330A JP3835416B2 (ja) 2003-03-04 2003-03-04 画像圧縮装置、画像圧縮方法及び画像圧縮プログラム
JP2003-204646 2003-07-31
JP2003204646A JP3797349B2 (ja) 2003-07-31 2003-07-31 圧縮符号化方法、装置、及びプログラム、並びに復号方法、装置、及びプログラム

Publications (1)

Publication Number Publication Date
WO2004075556A1 true WO2004075556A1 (ja) 2004-09-02

Family

ID=32912835

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2004/001717 WO2004075556A1 (ja) 2003-02-19 2004-02-17 画像圧縮装置、画像圧縮方法、画像圧縮プログラム、及び圧縮符号化方法、圧縮符号化装置、圧縮符号化プログラム、並びに復合化方法、復合化装置、復合化プログラム

Country Status (2)

Country Link
US (1) US7536054B2 (ja)
WO (1) WO2004075556A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109738008A (zh) * 2019-01-15 2019-05-10 朱桂湘 现场解析度分析平台

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060126718A1 (en) * 2002-10-01 2006-06-15 Avocent Corporation Video compression encoder
US7321623B2 (en) * 2002-10-01 2008-01-22 Avocent Corporation Video compression system
US9560371B2 (en) * 2003-07-30 2017-01-31 Avocent Corporation Video compression system
US7457461B2 (en) * 2004-06-25 2008-11-25 Avocent Corporation Video compression noise immunity
US8718147B2 (en) * 2006-02-17 2014-05-06 Avocent Huntsville Corporation Video compression algorithm
US7555570B2 (en) 2006-02-17 2009-06-30 Avocent Huntsville Corporation Device and method for configuring a target device
MY149291A (en) * 2006-04-28 2013-08-30 Avocent Corp Dvc delta commands
JP2007312126A (ja) * 2006-05-18 2007-11-29 Toshiba Corp 画像処理回路
JP5764122B2 (ja) 2010-04-26 2015-08-12 株式会社日本触媒 ポリアクリル酸(塩)、ポリアクリル酸(塩)系吸水性樹脂及びその製造方法
BR112012027407B1 (pt) 2010-04-26 2020-04-07 Nippon Catalytic Chem Ind resina absorvedora de água tipo ácido poliacrílico (sal), material sanitário contendo a mesma, método para produzir e identificar a mesma e método para produzir ácido poliacrílico (sal)
JP5843472B2 (ja) * 2010-07-26 2016-01-13 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
FR2972588A1 (fr) 2011-03-07 2012-09-14 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
FR2977111A1 (fr) 2011-06-24 2012-12-28 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
JP5507515B2 (ja) * 2011-09-14 2014-05-28 富士フイルム株式会社 非可逆圧縮装置およびその動作制御方法ならびにその動作制御プログラム
GB2496423B (en) * 2011-11-11 2016-08-17 Ibm Data compression
US8879858B1 (en) 2013-10-01 2014-11-04 Gopro, Inc. Multi-channel bit packing engine
GB2523347B (en) 2014-02-20 2016-01-13 Gurulogic Microsystems Oy Encoder, decoder and method
US9641854B2 (en) * 2014-05-19 2017-05-02 Mediatek Inc. Count table maintenance apparatus for maintaining count table during processing of frame and related count table maintenance method
JP6882083B2 (ja) * 2017-06-07 2021-06-02 キヤノン株式会社 画像処理装置、画像形成装置、画像処理方法及びプログラム
CN111046893B (zh) * 2018-10-12 2024-02-02 富士通株式会社 图像相似性确定方法和装置、图像处理方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6096079A (ja) * 1983-10-31 1985-05-29 Matsushita Electric Ind Co Ltd 多値画像の符号化方法
JPH099266A (ja) * 1995-06-22 1997-01-10 Canon Inc 画像符号化装置及び方法
JPH09200775A (ja) * 1996-01-23 1997-07-31 Matsushita Electron Corp 画像符号化方法
JPH1051771A (ja) * 1996-08-06 1998-02-20 Matsushita Electric Ind Co Ltd 画像圧縮方法及び画像圧縮装置
JPH10322222A (ja) * 1997-05-15 1998-12-04 Nippon Telegr & Teleph Corp <Ntt> 可変長符号化・復号方法および装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4122440A (en) 1977-03-04 1978-10-24 International Business Machines Corporation Method and means for arithmetic string coding
US4363036A (en) * 1981-03-16 1982-12-07 Ncr Canada Ltd - Ncr Canada Ltee Method and apparatus for compressing digital data using non-adaptive predictive techniques
JPH067688B2 (ja) 1983-10-20 1994-01-26 株式会社日立製作所 カラ−画像情報の符号化処理方法
JP3005007B2 (ja) 1989-12-21 2000-01-31 キヤノン株式会社 画像符号化装置
JPH0575477A (ja) 1991-09-13 1993-03-26 Sony Corp ハフマン符号化装置および復号化装置
WO1995009487A1 (en) * 1993-09-28 1995-04-06 Sony Corporation High efficiency encoding/decoding device
US5966465A (en) * 1994-09-21 1999-10-12 Ricoh Corporation Compression/decompression using reversible embedded wavelets
JP2951861B2 (ja) 1994-12-28 1999-09-20 シャープ株式会社 画像符号化装置及び画像復号装置
JP3302210B2 (ja) 1995-02-10 2002-07-15 富士通株式会社 データ符号化/復号化方法及び装置
DE19516743A1 (de) 1995-05-06 1996-11-07 Philips Patentverwaltung Verfahren zur Bilddatenreduktion mittels fraktaler Bildcodierung sowie Encoder und Decoder zur Durchführung des Verfahrens
US6014463A (en) * 1995-05-16 2000-01-11 Canon Kabushiki Kaisha Image processing apparatus and method
US6061474A (en) * 1995-06-22 2000-05-09 Canonkabushiki Kaisha Image processing apparatus and method
US6101282A (en) * 1995-06-22 2000-08-08 Canon Kabushiki Kaisha Apparatus and method for image data encoding
JP3919038B2 (ja) 1997-10-02 2007-05-23 Kddi株式会社 可変長符号化方法及び装置
US6795578B1 (en) * 1999-09-29 2004-09-21 Canon Kabushiki Kaisha Image processing apparatus and method, and storage medium
JP4928451B2 (ja) * 2004-07-30 2012-05-09 ユークリッド・ディスカバリーズ・エルエルシー ビデオデータを処理する装置および方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6096079A (ja) * 1983-10-31 1985-05-29 Matsushita Electric Ind Co Ltd 多値画像の符号化方法
JPH099266A (ja) * 1995-06-22 1997-01-10 Canon Inc 画像符号化装置及び方法
JPH09200775A (ja) * 1996-01-23 1997-07-31 Matsushita Electron Corp 画像符号化方法
JPH1051771A (ja) * 1996-08-06 1998-02-20 Matsushita Electric Ind Co Ltd 画像圧縮方法及び画像圧縮装置
JPH10322222A (ja) * 1997-05-15 1998-12-04 Nippon Telegr & Teleph Corp <Ntt> 可変長符号化・復号方法および装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109738008A (zh) * 2019-01-15 2019-05-10 朱桂湘 现场解析度分析平台

Also Published As

Publication number Publication date
US7536054B2 (en) 2009-05-19
US20060092271A1 (en) 2006-05-04

Similar Documents

Publication Publication Date Title
WO2004075556A1 (ja) 画像圧縮装置、画像圧縮方法、画像圧縮プログラム、及び圧縮符号化方法、圧縮符号化装置、圧縮符号化プログラム、並びに復合化方法、復合化装置、復合化プログラム
Singh et al. Various image compression techniques: lossy and lossless
JP3017380B2 (ja) データ圧縮方法及び装置並びにデータ伸長方法及び装置
US8655085B2 (en) Burst mode image compression and decompression
US6654419B1 (en) Block-based, adaptive, lossless video coder
JP3356663B2 (ja) 画像符号化装置、画像符号化方法および画像符号化プログラムを記録した記録媒体
EP1345447A2 (en) Motion image capture system incorporating metadata to facilitate transcoding
US5943447A (en) Video signal encoding/decoding method based on adaptive lattice quantization
US6862371B2 (en) Method of compressing images of arbitrarily shaped objects
KR101367777B1 (ko) 적응 이미지 압축시스템 및 그 방법
US6697529B2 (en) Data compression method and recording medium with data compression program recorded therein
JP2000050268A (ja) 画像符号化装置
US20180324438A1 (en) Method, device, and computer-readable medium for compressing image
US7657108B2 (en) Encoding of digital data combining a plurality of encoding modes
US7031538B2 (en) Method and apparatus for feature-based quantization and compression of data
US20160316204A1 (en) Method and system for image compression using image block characteristics
Cogranne Determining JPEG image standard quality factor from the quantization tables
Malo et al. The role of perceptual contrast non-linearities in image transform quantization
US7269341B2 (en) Adaptive digital video recorder and method of controlling the same
JPH09186883A (ja) 多値画像符号化装置
HUE033524T2 (en) Procedure for compressing data
JP7147075B2 (ja) 複数の画像全体の圧縮
CN115908594A (zh) 图像特征压缩、解压方法、装置、存储介质及电子设备
JP3835416B2 (ja) 画像圧縮装置、画像圧縮方法及び画像圧縮プログラム
JP2924416B2 (ja) 高能率符号化方法

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
ENP Entry into the national phase

Ref document number: 2006092271

Country of ref document: US

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 10545873

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 10545873

Country of ref document: US

122 Ep: pct application non-entry in european phase