WO1997039531A1 - Encoder, decoder, encoding method and decoding method - Google Patents

Encoder, decoder, encoding method and decoding method Download PDF

Info

Publication number
WO1997039531A1
WO1997039531A1 PCT/JP1997/001319 JP9701319W WO9739531A1 WO 1997039531 A1 WO1997039531 A1 WO 1997039531A1 JP 9701319 W JP9701319 W JP 9701319W WO 9739531 A1 WO9739531 A1 WO 9739531A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
block
relative
encoding
decoding
Prior art date
Application number
PCT/JP1997/001319
Other languages
French (fr)
Japanese (ja)
Inventor
Hiroyuki Akutsu
Original Assignee
Dome Inc.
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
Application filed by Dome Inc. filed Critical Dome Inc.
Priority to AU25756/97A priority Critical patent/AU2575697A/en
Publication of WO1997039531A1 publication Critical patent/WO1997039531A1/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3053Block-companding PCM systems

Definitions

  • the present invention relates to an apparatus for encoding or decoding data, and more particularly to improving data accuracy.
  • vector quantization is known as a method for compressing image data.
  • Vector quantization is a method of replacing a set (vector) of input pixels of a small block with the most similar pattern.
  • a dictionary in which a corresponding number is assigned to this pattern and stored is called a code book.
  • a plurality of block data composed of a plurality of block configuration data and corresponding codes are stored as candidate data, and when the block data to be encoded is given, the plurality of candidate data is In the data encoding device for encoding using
  • a conversion reference value is determined for each of a predetermined number of blocks for the block data to be encoded, and each block configuration data constituting the predetermined number of blocks is converted into the conversion data.
  • First conversion means for converting relative block data represented by a relative value with respect to a reference value into encoded relative block data using candidate data stored in advance, and outputting encoded data for each block;
  • Relative block data encoding means for outputting the conversion reference value for each predetermined number of blocks,
  • a data decoding device for decoding the data
  • a relative block data decoding unit for decoding the encoded data using candidate data stored in advance
  • Second conversion means for converting the decoded relative block data into block data before encoding using the predetermined number of conversion reference values for each block
  • a plurality of block data composed of a plurality of block configuration data and corresponding codes are stored as candidate data, and when the block data to be encoded is given, the plurality of candidate data are used.
  • the data encoding method to be encoded
  • a conversion reference value is determined for each of a predetermined number of blocks, and each block configuration data constituting the predetermined number of blocks is determined as relative block data represented by a relative value with respect to the conversion reference value.
  • the encoded data is decoded using a previously stored candidate data
  • a storage medium according to the present invention is a computer-readable storage medium storing a computer-executable program, wherein the program implements the above-described apparatus or the above-described method according to the present invention.
  • a storage medium is a storage medium storing computer-readable data, wherein the data has encoded data for each block and a conversion reference value for each of a predetermined number of blocks. I do.
  • FIG. 1 is a functional block diagram of an encoding device 1 according to the present invention.
  • FIG. 2 is a functional block diagram of the decryption device 10 according to the present invention.
  • FIG. 3 is a diagram showing an example of a hardware configuration of the encoding device 1 and the decoding device 10 shown in FIG.
  • FIG. 4 is a flowchart of the encoding process (first embodiment).
  • FIG. 5 is a flowchart of the encoding process (first embodiment).
  • FIG. 6 is a diagram showing image data to be encoded.
  • FIG. 7 is a diagram showing data of one block of image data to be encoded.
  • FIG. 8 is a diagram showing a data structure in the encoding process.
  • FIG. 9 is a diagram showing a data structure of a codebook used for encoding and decoding.
  • FIG. 10 is a flowchart of the decryption process (first embodiment).
  • FIG. 11 is a flowchart of the encoding process (second embodiment).
  • FIG. 12 is a flowchart of the decryption process (second embodiment).
  • FIG. 13 is a diagram for explaining the arrangement relationship of index numbers assigned to each block data in the learning process.
  • FIG. 14 is a flowchart of the learning process.
  • FIG. 15 is a diagram showing a Hadamard transform matrix.
  • the encoding device 1 shown in FIG. 1 stores a plurality of block data composed of a plurality of block configuration data and a plurality of codes corresponding to the block data as candidate data, and receives the block data to be encoded. Then, a data encoding device that encodes using the plurality of candidate data, comprising: a relative block data storage unit 9, a first conversion unit 3, a relative block data encoding unit 7, and a block characteristic data unit. Evening calculation means 5 is provided.
  • the relative block data storage means 9 stores a plurality of relative block data and codes corresponding thereto as candidate data.
  • a plurality of group correspondence tables, which are grouped according to block characteristic data, are stored as candidate data.
  • the first conversion means 3 determines a conversion reference value in the block data based on the block data to be encoded, and converts each block configuration data constituting the block data into a relative value with respect to the conversion reference value. Convert to relative block data represented by.
  • the minimum value of each block configuration data configuring the block data to be encoded is determined as the conversion reference value in the block data.
  • the block characteristic data calculating means 5 calculates the block characteristic data of the block data of the block data to be encoded based on the distribution characteristic of each block configuration data constituting the block data.
  • the distribution characteristic difference data between the maximum value and the minimum value of each block configuration data configuring the block data to be encoded is obtained as the block characteristic data in the block data.
  • the relative block data encoding means 7 is stored in the relative block data storage means 9 1 4 1 Replacement sheet (Rule 26)
  • the relative block data is encoded using the obtained candidate data, and the relative code data and the conversion reference value are output.
  • the relative code data is stored based on the block characteristic data.
  • the conversion reference value is determined for each block for each block to be encoded, but one conversion reference value may be determined for each of the predetermined number of blocks. .
  • the amount of data after compression can be reduced. This is particularly effective when each block data has a correlation like image data.
  • the decoding device 10 illustrated in FIG. 2 is a device that decodes the relative encoded data encoded by the encoding device 1 illustrated in FIG. That is, relative code data obtained by encoding the relative block data converted using the conversion reference value of the block data composed of a plurality of block configuration data and the conversion reference value of the block data are given. And decrypt this.
  • the decoding device 10 includes a relative block data storage means 9, a second conversion means 13, and a relative block data decoding means 17.
  • the relative block data storage means 9 stores the relative block data and a code corresponding thereto as a plurality of candidate data.
  • a plurality of group correspondence tables, which are grouped according to block characteristic data, are stored as candidate data.
  • the relative block data decoding means 17 decodes the relative code data using the candidate data stored in the relative block data storage means. Specifically, when a group name and an intra-group number are given as the relative code data, the group name and the intra-group number determine which candidate data in the group correspondence table is to be used, Decoding is performed in the corresponding relative block overnight.
  • the second conversion unit 13 converts the decoded relative block data into relative block data before encoding using the conversion reference value in the block data.
  • FIG. 3 shows an example of a hardware configuration in which the encoding device 1 shown in FIG. 1 is realized using CPU.
  • the encoding device 21 includes a CPU 23, a memory 27, a hard disk 26, a CRT 30, an FDD 25, a keyboard 28, a transmission control unit 32, and a bus line 29.
  • the CPU 23 controls each unit via a bus line 29 according to a control program stored in the hard disk 26.
  • This control program is read out from the flexible disk storing the program via the FDD 25 and installed on the hard disk 26.
  • a program such as a CD-ROM, an IC card, or the like may be installed on the hard disk from a computer-readable storage medium that is physically integrated. Further, a down line may be performed using a communication line.
  • the program stored in the flexible disk is indirectly executed by the computer.
  • the program stored in the flexible disk may be directly executed from the FDD 25.
  • programs that can be executed by a computer include those that can be directly executed by simply installing the program as it is, and those that need to be converted into another form (for example, programs that have been compressed for a while). Decompression, etc.), and also include those executable in combination with other module parts.
  • the hard disk 26 stores a code book described later.
  • the calculation result and the like are temporarily stored in the memory 27.
  • CRT30 data before encoding and the like are displayed.
  • the transmission control unit 32 transmits and receives data by wire or wirelessly.
  • the CPU 23 reads out the still image data from the hard disk 26 and stores it in the memory 27 (FIG. 4, step ST 1).
  • the CPU 23 divides the image data stored in the memory 27 into a plurality of blocks (ST3 in FIG. 4). In this case, since one block is composed of 4 * 4 pixels, the still image shown in FIG. 6 is divided into m 1 ⁇ m 2/16 blocks.
  • the CPU 23 initializes the processing target block number h (step ST5 in FIG. 4), reads out the block data of the h-th block from the memory 27, and encodes it (step ST7).
  • A00 (a 00 (0) .aOO (l), a00 (15))
  • the block configuration data a ij (0) to a ij (15) constituting each block take any value from 0 to 255. That is, the values of the block configuration data & 1] (0) to 3 ⁇ (15) are expressed in 8 bits.
  • block data A00 of the 00th block is represented by the block configuration data shown in FIG. 8A.
  • FIG. 4 The detailed process of step ST7 will be described with reference to FIG.
  • the CPU 23 obtains shift block configuration data A00, which is obtained by subjecting each block configuration data a00 (0) to a00 (15) of the block data A00 shown in FIG. 1 1).
  • the shift block configuration data A 0 ′ is represented as shown in FIG. 8B.
  • the block configuration data a00 (0) Since a00 (15) is 8-bit data the shift block configuration data a00 (0) ⁇ g ⁇ a00 (15) ⁇ g is a 4-bit data block.
  • (0) ⁇ g ⁇ a00 (15) ⁇ g each take 16 levels. For example, if the block configuration data a ij (0) is “0 1 00 1 1 1 0”, shift Block configuration data a00 (0) ⁇ g becomes 4-bit data of “0 1 00” (quantization).
  • the CPU 23 obtains the maximum value maxAOO 'and the minimum value minA00' of the shift block configuration data a00 (0) ⁇ g0 to a00 (15) (step ST13 in FIG. 5).
  • the maximum value maxAOO 'and the minimum value minA00' are also 4-bit data.
  • the CPU 23 obtains a difference data between the maximum value maxAOO 'and the minimum value minAOO'—evening AOOg (FIG. 5, step ST15). Specifically, the difference data AOOg is obtained by the following equation.
  • This difference data AOOg indicates how much the maximum value and the minimum value are different for each block configuration data of block data A00. That is, when the difference data AOOg is large, the difference between the maximum value and the minimum value is large, and it can be determined that the block data A00 is an image having an edge. On the other hand, an image having a small difference between the maximum value and the minimum value can be determined to be an image that is not so.
  • the CPU 23 shifts the difference data AOOg by one bit to the right, and obtains right one-bit shifted difference data AOOg '. Since the difference data AOOg is represented by 4 bits, the right 1-bit shift difference data AOOg 'is represented by 3 bits. in this case
  • a group at the time of encoding using the codebook K shown in FIG. 9 is specified. That is, in this case, encoding is performed using one of the group numbers “7”.
  • the CPU 23 determines the relative reference value for the block, and calculates the relative reference value from each of the block configuration data a00 (0) ⁇ g to a00 (15) ⁇ g for the shift block data A00 '. To obtain the block configuration relative data
  • this block configuration relative data is expressed as b00 (0) ⁇ g ⁇ b00 (15) ⁇ g
  • the block configuration relative data b00 (0) ⁇ g ⁇ b00 (15) ⁇ g is expressed by the following formula. You.
  • the maximum value maxAOO ' may be used as the relative reference value. As described above, by using the minimum value or the maximum value as the relative reference value, a later-described calculation of a deviation value becomes easy.
  • the relative reference value is not limited to this, and may be any one of the block configuration data, and may be an arbitrary value.
  • step ST21 the block relative data B00 is encoded (step ST21). Encoding is performed as follows.
  • a total deviation value T Oij is obtained for the data of the group number “7” in the codebook K.
  • the total deviation value TO00 of index number 00 can be obtained by the following equation.
  • ABS 0 represents an operation for obtaining an absolute value within 0.
  • the block configuration relative data ⁇ 00 is coded into the group number “7” and the index number “245”. . This is called relative code data.
  • the CPU 23 stores the relative code data and the minimum value minAOO 'in the block as the data after compression in the hard disk 26, and completes the encoding of the 00th block (FIG. 5). Step ST23).
  • the block data A00 is data-compressed to the group number “7” indicated by the shift difference data Aig ′, the index number “245” of the group, and the minimum value minA00 ′ “2”. Since the group number is 3 bits, the index number is 8 pits, and the minimum value is 4 bits, it is compressed into a total of 15 bits. In other words, one block of data is compressed into 15-bit data overnight.
  • step ST9 in FIG. 4 the CPU 23 determines whether or not encoding has been completed for all blocks, and if not completed, increments the processing target block number h (step ST1). 0), repeat the process of step ST7 in Fig. 4.
  • step ST1 the processing target block number
  • step ST9 the encoding is completed.
  • the CPU 23 When encoding is completed and a transmission command is given from the keyboard 28, the CPU 23 sends the transmission command to the transmission control unit 31. Thereby, the transmission control unit 31 transmits the relative code data and the minimum value of all the blocks stored in the hard disk 26 to the decoding device 10. As a result, the image data is transmitted in a data compressed state.
  • the CPU 23 of the decoding device 1 stores the transmitted compressed data on the hard disk 26.
  • the CPU 23 initializes the processing target block number h (step ST31 in FIG. 10), reads the pressure of the hth block from the hard disk 26, and stores it in the memory 27 ( Stetz 'ST 33).
  • the processing target block number h 00
  • the 00th block compressed data is read.
  • the compressed data of the 00th block is composed of the group number “7”, the index number of the group : 245 ”, and the minimum value min A00 ′“ 2 ”, as described in the section of the encoding device 1. .
  • the compressed data read out to the CPU 2 t and the memory 27 is stored in the hard disk 26 and decoded using the codebook K.
  • it is composed of the compressed data of the 00th block, the group number “7”, the index number “245” of the group, and the minimum number “2”. Therefore, it is decoded in the relative block data specified by the group number “7” and the index number “245”.
  • the relative block data is converted using the CPU 2 t and the minimum value min A00 ′ that is the relative reference value (step ST37 in FIG. 10). Specifically, if the minimum value m i n A00 'is added to the relative block configuration data constituting the decoded relative block.
  • the conversion can be performed without significantly lowering the accuracy.
  • the relative block data Bij having the relative reference value of 0 is obtained.
  • the present invention is not limited to this.
  • the difference data may be obtained after obtaining the relative block data B ij.
  • the total of the absolute values of the shift values is obtained, and the one that minimizes the total value is selected, but the conventional method, for example, the following equation: As described above, the total distance may be obtained as the total deviation value.
  • a 4-bit shift process or the like is performed, but such a process may not be performed. Also, the shift may be shifted to less than 4 bits or 5 bits or more.
  • vector quantization is performed by quantization and relativization.
  • vector quantization can be performed by performing relativization and quantization.
  • a left shift operation is performed until the most significant bit of the largest relative block configuration data of the block becomes 1 (hereinafter referred to as a reversible left shift operation). After that, 0 may be added so that the bit length becomes the same. That is, the shift amount in the reversible left shift operation of each block configuration data is dynamically varied.
  • the CPU 23 has the maximum value m ax of the block configuration data e 00 (0) to e 00 (15).
  • the CPU 23 obtains difference data EOOg between the maximum value ma X E00 and the minimum value min E00 (FIG. 11, one step ST 1 53). Specifically, the difference data EOOg is obtained by the following equation.
  • the CPU 23 performs a shift operation on the difference data EOOg so that the difference data becomes three bits long, and obtains shift difference data EOOg ′ (step ST155).
  • a group to be encoded by the codebook K shown in FIG. 9 is specified.
  • the CPU 23 determines a relative reference value in the block, and calculates the relative reference value from each of the block configuration data E 00 (0) to E 00 (15) constituting the block data E 00. Subtraction is performed to obtain block configuration relative data (step ST157).
  • the minimum value minE00 is used as the relative reference value.
  • the block configuration relative data ⁇ Q0 (0) to f00 (15) is represented by the following equation.
  • the maximum value ma X E00 may be used as the relative reference value. As described above, by using the minimum value or the maximum value as the relative reference value, a later-described calculation of a deviation value is facilitated.
  • the relative reference value is not limited to this, and may be any one of the values in the block configuration data, and may be an arbitrary value.
  • the CPU 23 determines, for the block configuration data that is the maximum value among the block configuration data f 00 (0) to f 00 (15), how many bits from the most significant bit MSB continue 0.
  • the indicated shiftable bit amount Sf00 is calculated (step ST155).
  • the maximum value of the block configuration data f 00 (0) to f 00 (15) is “1 5”, which is expressed in binary notation as “00 00 1 1 1 0”.
  • the shiftable bit amount S ⁇ 00 4 is obtained. Since the maximum value of the shiftable bit amount S f00 is “7”, it is three bits long.
  • the CPU 23 performs a reversible left shift operation on the block configuration data f 00 (0) to f 00 (15) based on the shiftable bit amount S f 00 (step ST 16 1). For example, since the shiftable bit amount S f00 of the block configuration data f 00 (0) “0 00 0 1 1 1 0” is 4, the shift operation is performed to “1 1 1 00 0 00”.
  • the CPU 23 encodes the block relative data F00 'specified by the block configuration data f00 (0)' to f00 (15) 'obtained by performing the reversible left shift operation (step ST166).
  • the encoding process is the same as that in step ST21 in FIG. 5, and a description thereof will be omitted.
  • the CPU 23 stores the relative code data obtained by the encoding and the minimum value minE00 in the block on the hard disk 26 as data after compression, and completes the coding of the 00th block. Yes (step ST 1 65).
  • the block data E00 is compressed into the group number indicated by the shift difference data EOOg ', the index number of the group, the minimum value min E00, and the shiftable bit amount Sf00.
  • the group number is 3 bits
  • the index number is 8 bits
  • the minimum value is 5 bits
  • the low-frequency component can be removed by relativizing the clock configuration data by the minimum value. This can reduce the number of codebooks. Furthermore, the number of codebooks can be reduced due to the dynamically changing reversible left shift operation amount. That is, if the number of codebooks is the same, accuracy can be improved. Next, decoding will be described.
  • the CPU 23 initializes the block number h to be processed (step ST 17 1 in FIG. 12), reads out the compressed data of the h-th block from the hard disk 26, and stores it in the memory 27 (step ST 173).
  • the compressed data of the 00th block is read.
  • the compressed data of the 00th block includes a group number, an index number of the group, a minimum value minE00, and a shiftable bit amount Sf00.
  • the CPU 23 decodes the compressed data read out to the memory 27 using the codebook stored in the hard disk 26. Specifically, CPU 23 decodes the relative block data specified by the group number and the index number (step ST175).
  • the CPU 23 performs a reversible right shift operation using the shiftable bit amount Sf00 (step ST177). For example, the block configuration data f 00 (0) ′ “1 1 1 00000 J becomes“ 0000 1 1 1 0 ”.
  • the CPU 23 converts the relative block data using the minimum value minE00 that is the relative reference value (step ST178). Specifically, the minimum value minE00 is added to the relative block configuration data constituting the decoded relative block data. Thus, decoding of the 00th block is completed.
  • step ST39 of FIG. 10 the processing of steps ST173 to ST178 is repeated for all blocks until decoding is completed.
  • the bit length of the block configuration data f 00 (0) ′ to f00 (15) ′ may be made variable. For example, if the shiftable bit amount S f00 of the block number 0 is 4 and the block configuration data of the block number 0 is f 00 (0) “0 0 0 0 1 1 0”, The shift block configuration data f 00 (0) ′ shifted left by 4 bits is “0 1 1 0” instead of “0 1 1 0 0 0 0 0 0 0”.
  • the relative reference value is obtained for each block.
  • one relative reference value may be set for a plurality of blocks.
  • the same relative reference value can be used in a plurality of blocks, so that the compression ratio can be increased accordingly.
  • the shiftable bit amount S fij is 2 for 3 blocks and the shiftable bit amount S fij is 5 for one block.
  • the block with the shiftable bit amount Sf ij of 5 stores the fact that it is further shifted by 3 bits. Specifically, a flag indicating that such special processing has been performed, its block number, and the number of additional shift bits are recorded. Note that, instead of the number of additional shift bits, the shiftable bit amount Sf ij of only that block may be stored.
  • a threshold value may be determined for the decreasing compression ratio, and the determination may be made based on whether or not the data amount does not exceed the threshold value.
  • the block group for setting the relative reference value of 1 is varied according to the spatial frequency of the image to be encoded (the number of blocks is small when the spatial frequency is high, and the number of blocks is low when the spatial frequency is low). May be increased).
  • each of the block configuration data e 00 (0) to e 00 (15) shown in FIG. 8D is quantized by a predetermined number (for example, 2 bits), and the obtained shift block configuration data is relativized.
  • a reversible left shift operation may be performed to perform vector quantization.
  • the codebook store block data corresponding to the image data it is desirable that the codebook store block data corresponding to the image data to be compressed.
  • the process of determining codebook candidate data (learning process) will be described.
  • a code book (FIG. 1) is used as follows using an algorithm of a self-organizing feature mapping developed by T. Kohonen, which is one of the algorithms of the neural network. 9) was processed.
  • Such creation may be determined, for example, by generating a random number for each block candidate data constituting the block data.
  • the range of the random numbers may be determined according to the bit length of the block configuration data stored in the codebook. In this case, in the coat book K (see Fig. 9), since each block configuration data is a 4-bit data, random numbers may be generated in the range of 0 to 15.
  • the index number given to each block data is specified by ij coordinates in a two-dimensional space as shown in FIG.
  • the CPU 23 reads out the still image data from the hard disk 26, stores it in the memory 27, divides it into blocks of 4 * 4 pixels, and creates block data to be tested. Keep it.
  • the block data T e00 to be tested is represented as follows.
  • T e 00 (te00 (0), t e00 (l), ..., t e00 (15))
  • CP-f3 obtains the code 1 and the coded data by using the shift block data Te 00 'as a learning target code book (step ST93).
  • Such encoding is performed, as in the first implementation f, at each block block of index numbers I n00 to I ⁇ ⁇ ,! Then, the total deviation TO is determined, and this is determined by selecting the smallest one;
  • code decoding block data U00 This is code decoding block data U00.
  • Code decoding block u represented by the following equation.
  • CPi 3 determines the block data to be learned (step
  • the first block data to be learned is the block data specified by the index number In32.
  • block data K32 block data K32 is expressed as follows.
  • K32 (k32 (0), k32 (l), ..., k32 (15))
  • Each data constituting the block data K32 is a 4-bit data.
  • the shift block data T e00 ′ obtained by converting the block data T OO to be tested into a 4-bit data block is
  • the difference between the two blocks is multiplied by a factor of 3 and then subtracted from the block to be learned. That is, the block data L32 after the learning is expressed as follows.
  • the block configuration data L32 (0) ′ to L32 (15) ′ forming the block data L32 are obtained as follows.
  • Such a process is performed for the block data identified by the other index numbers In33, In34, In42, In43, In44, In42, In52, In53, and In54.
  • the coefficient) 3 is an arbitrary value, like the coefficient ⁇ , but is large at the beginning of learning and is reduced as the learning progresses. In other words, as the learning progresses, the error correction value decreases.
  • the learning process by the block configuration data T OO to be tested ends.
  • an appropriate code is generated from the codebook generated first in which random numbers are generated. You can create a book.
  • the number of block data created initially is set to 256 for simplicity of explanation, but in the initial state, it is increased to 512, 1026, etc. Then, the converged block data may be combined into one.
  • the square SQ having one side is defined for determining the block data to be explained in the above description, a circle and other polygons may be defined.
  • the index numbers assigned to the respective blocks are determined by ij coordinates in a two-dimensional space as shown in FIG. 13, but the present invention is not limited to this. It may be determined as a position in a dimension and further in a multidimensional space. If a three-dimensional space is considered, a region within a predetermined distance from the index number In 43 may be a solid.
  • the data is divided into groups 0 to 7 based on the difference data. Therefore, test target block configuration data having difference data matching each group may be provided.
  • step ST99 of FIG. 14 is performed so that all the block data located within the square Sq are converged.
  • it can also be processed as follows.
  • the area within the square SQ is divided into two areas, and the area Sqi near the center and the area Sqo far from the center are divided into two areas.
  • Kxy ' Kxy- / 3-(Kxy-T eOO')
  • the block data Kxy 'after learning is represented as follows.
  • Kxy ' Kxy + ⁇ -(Kxy-T eOO')
  • the value of the coefficient] 3 may be changed for the region of.
  • the Kohonen neural network is used as the learning process for the code book candidate data.
  • Other learning methods may be adopted. Further, a plurality of learning methods may be combined.
  • the block configuration data may be subjected to Hadamard (Hadamard) transformation.
  • Hadamard Hadamard
  • the shift block configuration data A00 'shown in FIG. 8A is transformed by a Hadamard matrix shown in FIG. 21 between step ST19 and step ST21 in FIG. I just need.
  • the amount of calculation hardly increases, and the resolution can be increased. This is because low-frequency components are almost eliminated by the relativization process, and the resolution of high-frequency components can be increased. Thus, it is desirable to perform the Hadamard transform after removing the low frequency components of the block configuration data.
  • the Hadamard transform is performed after the relativization process, and then the vector quantization is performed.
  • the obtained block configuration relative data may be subjected to Hadamard transform between step ST157 and step ST159 in FIG.
  • inverse Hadamard transform may be performed between step ST177 and step ST178 in FIG.
  • the Hadamard transform should be performed after the end of the reversible left shift operation (between steps ST 161 and ST 163), not before the reversible left shift operation (step ST 161). You may.
  • the inverse Hadamard transform may be performed between the step ST 17 5 and the step ST 17 7 in FIG. 12.
  • the Hadamard transform is a fast Hadamard transform. Including conversion.
  • the digital image data has been described as being obtained.
  • digital image data can be obtained, for example, by sampling analog still image data.
  • the same processing as described above may be performed for each of the YUV signals (the luminance signal Y and the hue signal UV).
  • the RGB red, green, blue
  • YIQ luminance
  • sampling period of the audio data may be, for example, about 44 ⁇ .
  • the data is classified into eight groups in accordance with the value of the difference data Aijg.
  • the number of,: replies may be increased or decreased. :
  • CPU 23 in order to realize the above-described functions, CPU 23 is used, and this is realized by software F. However, some or all of them are logic times! It may be realized by hardware such as ⁇ .
  • 3 ⁇ 4 encoding and decoding are performed using a codebook. Therefore, by realizing this encoding and U-encoding processing with one chip, a machine that requires data compression! ⁇ For example, simply embedding the chip in video telephone, digital video, etc. High-precision data compression is possible.
  • Block configuration data Refers to data configuring block data.
  • 16 block configuration data represents one block data.
  • “Relative block configuration data” Block configuration data represented by relative values.
  • “Relative block data storage means” In this embodiment, the hard disk 26 storing the code book K in FIG.
  • Conversion reference value data for converting each block configuration data of the block data to be encoded into relative block data represented by a relative value. The minimum value of the block configuration data that constitutes block data was adopted.
  • “Candidate” It is composed of “Block” and codes corresponding thereto. In the first embodiment, this corresponds to the block configuration data and the corresponding index number of the codebook K shown in FIG.
  • First conversion means corresponds to the processing of step ST19 in FIG. 5 of the CPU 23 in the first embodiment.
  • Relative block data encoding means Corresponds to the processing of step ST21 of FIG. 5 of CPU23 in the first embodiment.
  • Block characteristic data overnight calculation means corresponds to the processing of step ST15 and step ST17 in FIG. 5 of the CPU 23 in the first embodiment.
  • Correspondence table by group Grouped according to block characteristic data, and corresponds to codebook K in the first embodiment.
  • Group number a name for specifying which relative block data belonging to a certain group in the codebook K in the first embodiment is used for encoding.
  • the intra-group number is a concept including ID including a name and the like.
  • “Difference data” difference data between the maximum value and the minimum value of each block configuration data constituting the block data to be encoded.
  • the maximum value ma XA ij ′ the minimum value min A ij '.
  • “Second conversion means” corresponds to the process of step ST37 of FIG. 10 of CPU23 in the first embodiment.
  • Relative block data decoding means Corresponds to the processing of step ST35 in FIG. 10 of CPU 23 in the first embodiment.
  • Orthogonal transform In the embodiment, the Hadamard transform corresponds, but other orthogonal transforms include, for example, DCT.
  • Inverse orthogonal transformation Performing the inverse processing of the orthogonal transformation.
  • the inverse Hadamard transformation corresponds. :
  • Reversible left shift operation Performs a shift operation to the left until the most significant bit becomes 1 for the maximum value of block configuration data in each block configuration data for each predetermined block. Then, for example, the process in FIG.
  • a conversion reference value is determined for each of a predetermined number of blocks, and each block constituting the predetermined number of blocks is determined.
  • the configuration data is converted into relative block data represented by a relative value with respect to the conversion reference value, and the converted relative block data is coded with candidate data stored in advance, and coded data is stored for each block.
  • the stored candidate data is the block characteristic data specified based on a distribution characteristic of each block configuration data constituting the relative block data. Are grouped according to Further, based on distribution characteristics of each block configuration data constituting the block data to be encoded, block characteristic data in the block data is calculated, and the stored candidate is calculated based on the block characteristic data. It determines which group of candidate data to use among the data, and outputs the group name and the intra-group number as the relative code data.
  • the candidate data corresponding to the block characteristic data can be stored. This enables highly accurate compression even when the number of candidate data to be stored is reduced. Also, by reducing the number of candidate data to be stored, high-speed encoding becomes possible.
  • the first conversion means determines a minimum value of block configuration data as a conversion reference value for each of the predetermined number of blocks. Therefore, it is easy to determine the conversion reference value.
  • the block characteristic data calculating means may calculate difference data between a maximum value and a minimum value of each block configuration data constituting the block data to be encoded. Obtained as block characteristic data in block data. Therefore, it is possible to obtain the block characteristic data corresponding to the difference data.
  • the relative block data encoding unit performs a predetermined quantization before encoding the block data. Therefore, the number of candidate data to be stored can be reduced. This enables high-speed operation.
  • I 26-Replacement sheet (Rule 26)
  • the most significant bit of the block configuration data having the maximum value among the block configuration data is determined for each predetermined block.
  • a shiftable bit amount indicating how many bits are consecutive from 0 is obtained, and a reversible left shift operation is performed on each block configuration data for each predetermined block based on the shiftable bit amount.
  • orthogonal transform is performed when the block configuration data is converted into the relative block configuration data. Therefore, more accurate conversion can be performed.
  • the first conversion means performs the orthogonal transform after converting the data into relative block data. Therefore, more accurate conversion can be performed.
  • the first conversion unit may convert each block configuration data constituting the block data to be encoded into a relative block data before performing the conversion to a relative block data.
  • the right shift operation is performed in the block configuration data represented by the number of bits. Therefore, the amount of calculation hardly increases, and the resolution can be increased.
  • each block configuration data constituting the block data to be encoded is converted into block configuration data represented by a predetermined number of bits.
  • the reversible left shift operation is performed. In this way, the resolution can be increased by performing reversible left shift and orthogonal transformation after relativization.
  • a reversible left shift operation is performed after the orthogonal transform.
  • the reversibility is reversibly shifted to the left and the resolution can be further improved as compared with the orthogonal transformation.
  • the encoded data is decoded using candidate data stored in advance, and the decoded relative block data is decoded. Using the conversion reference value for each of the predetermined number of blocks, before encoding
  • a group correspondence table divided into groups according to the block characteristic data is stored, and a group name and a group
  • a number is given, it is determined which candidate data in the group correspondence table is to be used based on the group name and the intra-group number. Therefore, when the conversion reference value and the group name and the intra-group number as the relative code data are given, they can be decoded.
  • the maximum value of the block configuration data of each block configuration data is based on the shiftable bit amount indicating how many 0s are consecutive from the most significant bit.
  • each block configuration data is subjected to an inverse shift operation to perform the decoding. Therefore, even if the number of stored candidate data is reduced, decoding can be performed without lowering the accuracy.
  • an inverse orthogonal transform is performed before the data is converted into the block data before encoding. Therefore, decoding processing can be performed on data that has been orthogonally transformed when the data is converted into the relative block configuration data.
  • the second transforming unit performs the inverse orthogonal transform before performing the transform using the transform reference value. Therefore, it is possible to perform a decoding process on the data that has been subjected to the orthogonal transform when the data is converted into the relative block configuration data.
  • the second conversion unit may perform the conversion using the conversion reference value, and then convert each of the block configuration data into a block represented by the predetermined number of bits. Perform left shift operation on configuration data. Therefore, even if each block configuration data is right-shifted over a block configuration data represented by a predetermined number of bits, it can be reliably decoded.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

A data encoder which has a high data recall factor after decompression performs high speed processing and has a high compression ratio. A first converting means (3) determines the minimum value in the block data of the object to be encoded as a conversion reference value and block component data of which the block data are composed are converted into relative block data expressed by the relative values relative to the conversion reference value. The differential data between the maximum values and the minimum values of the respective block component data are produced as block characteristic data by a block characteristic data calculating means (5). A relative block data encoding means (7) encodes the relative block data by using the relative block data in a relative block data memory means (9) and the codes corresponding to the relative block data and outputs the relative encoded data and the conversion reference value.

Description

明細書  Specification
[発明の名称]  [Title of Invention]
符号化装置、 復号化装置およびこれらの方法  Encoding device, decoding device and methods thereof
[技術分野]  [Technical field]
この発明は、 データを符号化または復号化する装置に関し、 特に、 データの精 度向上に関する。  The present invention relates to an apparatus for encoding or decoding data, and more particularly to improving data accuracy.
[背景技術]  [Background technology]
従来、 画像データの圧縮方法として、 ベクトル量子化が知られている。 べクト ル量子化は、 小ブロックの入力画素の組 (ベクトル) を、 最も似たパターンで置 き換える方法である。 このパターンに対応番号を付与して格納した辞書は、 コ一 ドブックと呼ばれている。  Conventionally, vector quantization is known as a method for compressing image data. Vector quantization is a method of replacing a set (vector) of input pixels of a small block with the most similar pattern. A dictionary in which a corresponding number is assigned to this pattern and stored is called a code book.
かかる画像データの圧縮方法においては、 圧縮対象となる画像データの統計的 性質に応じたコードブックを用意する必要がある。 すなわち、 コードブックに記 憶されている画像データの性質と異なる画像データを、 圧縮処理した場合に、 解 凍後の画質が著しく低下する。  In such a method of compressing image data, it is necessary to prepare a code book according to the statistical properties of the image data to be compressed. That is, when image data having a property different from that of the image data stored in the codebook is subjected to compression processing, the image quality after decompression is significantly reduced.
かかる問題を解決する為に、 コ一ドブックにより多くのパターンを記憶するこ とも考えられる。 しかし、 これでは、 比較対象が増えて演算速度が低下する。 かかる問題は、 画像データ以外の音声データ等においても同様である。  To solve this problem, it is conceivable to store more patterns in the codebook. However, in this case, the number of objects to be compared increases and the calculation speed decreases. Such a problem is the same in audio data other than image data.
[発明の開示]  [Disclosure of the Invention]
この発明は、 解凍後のデータ再現率を低下させることなく、 高速処理が可能で、 かつ圧縮率の高いデータ符号化 ·復号化装置またはその方法を提供することを目 的とする。  SUMMARY OF THE INVENTION It is an object of the present invention to provide a data encoding / decoding device or method capable of performing high-speed processing and having a high compression ratio without lowering the data reproducibility after decompression.
本発明にかかるデータ符号化装置においては、  In the data encoding device according to the present invention,
複数のブロック構成デ一夕から構成されるブロックデータおよびこれに対応す る符号を、 候補データとして複数記憶しておき、 符号化対象のブロックデータが 与えられると、 前記複数の候補デ一夕を用いて、 符号化するデータ符号化装置に おいて、  A plurality of block data composed of a plurality of block configuration data and corresponding codes are stored as candidate data, and when the block data to be encoded is given, the plurality of candidate data is In the data encoding device for encoding using
前記符号化対象のブロックデ一夕について、 所定数のプロック毎に変換基準値 を決定し、 当該所定数のブロックを構成する各ブロック構成データを、 前記変換 一 1 ——  A conversion reference value is determined for each of a predetermined number of blocks for the block data to be encoded, and each block configuration data constituting the predetermined number of blocks is converted into the conversion data.
差替え用紙 (規則 26) 基準値に対する相対値で表される相対ブロックデータに変換する第 1変換手段、 前記変換後の相対ブロックデータを予め記憶された候補データによって符号化 し、 各ブロックごとに符号化デ一夕を出力するとともに、 所定数のブロック毎に 前記変換基準値を出力する相対プロックデ一夕符号化手段、 Replacement form (Rule 26) First conversion means for converting relative block data represented by a relative value with respect to a reference value into encoded relative block data using candidate data stored in advance, and outputting encoded data for each block; Relative block data encoding means for outputting the conversion reference value for each predetermined number of blocks,
を備えたことを特徴とする。  It is characterized by having.
本発明にかかるデ一夕復号化装置においては、  In the decoding apparatus according to the present invention,
各ブロックごとの符号化データおよび所定数のブロック毎の変換基準値が与え られると、 これを復号化するデ一夕復号化装置であって、  Given encoded data for each block and transform reference values for a predetermined number of blocks, a data decoding device for decoding the data,
前記符号化データを、 予め記憶された候補データを用いて、 復号化する相対ブ ロックデータ復号化手段、  A relative block data decoding unit for decoding the encoded data using candidate data stored in advance;
前記復号化された相対プロックデ一夕を、 前記所定数のプロック毎の変換基準 値を用いて、 符号化前のプロックデータに変換する第 2変換手段、  Second conversion means for converting the decoded relative block data into block data before encoding using the predetermined number of conversion reference values for each block,
を備えたことを特徴とする。  It is characterized by having.
本発明にかかるデータ符号化方法においては、  In the data encoding method according to the present invention,
複数のブロック構成デ一夕から構成されるブロックデータおよびこれに対応す る符号を、 候補データとして複数記憶しておき、 符号化対象のブロックデータが 与えられると、 前記複数の候補データを用いて、 符号化するデータ符号化方法に おいて、  A plurality of block data composed of a plurality of block configuration data and corresponding codes are stored as candidate data, and when the block data to be encoded is given, the plurality of candidate data are used. In the data encoding method to be encoded,
前記符号化対象のブロックデータについて、 所定数のブロック毎に変換基準値 を決定し、 当該所定数のブロックを構成する各ブロック構成データを、 前記変換 基準値に対する相対値で表される相対ブロックデータに変換し、  For the block data to be encoded, a conversion reference value is determined for each of a predetermined number of blocks, and each block configuration data constituting the predetermined number of blocks is determined as relative block data represented by a relative value with respect to the conversion reference value. To
前記変換後の相対ブロックデ一夕を予め記憶された候補データによって符号化 し、 各ブロックごとに符号化データを出力するとともに、 所定数のブロック毎に 前記変換基準値を出力すること、  Encoding the converted relative block data by using previously stored candidate data, outputting encoded data for each block, and outputting the conversion reference value for each predetermined number of blocks;
を特徴とする。  It is characterized by.
本発明にかかるデータ復号化方法においては、  In the data decoding method according to the present invention,
各プロックごとの符号化データおよび所定数のプロック毎の変換基準値が与え られると、 これを復号化するデータ復号化方法であって、  Given encoded data for each block and a given number of conversion reference values for each block, a data decoding method for decoding the data,
前記符号化データを、 予め記憶された候補デ一夕を用いて、 復号化し、  The encoded data is decoded using a previously stored candidate data,
― 2 一 差替え用紙 (規則 26) 前記復号化された相対プロックデ一夕を、 前記所定数のプロック毎の変換基準 値を用いて、 符号化前のブロックデ一夕に変換すること、 ― 2 i Replacement form (Rule 26) Converting the decoded relative block data into a block data before encoding by using the conversion reference value for each of the predetermined number of blocks;
を特徴とする。  It is characterized by.
本発明にかかる記憶媒体においては、 コンピュータが実行可能なプログラムを 記憶したコンピュータ可読の記憶媒体であって、 前記プログラムは、 本発明にか かる上記装置又は上記方法を実現するものであることを特徴とする。  A storage medium according to the present invention is a computer-readable storage medium storing a computer-executable program, wherein the program implements the above-described apparatus or the above-described method according to the present invention. And
本発明にかかる記憶媒体においては、 コンピュータ可読のデータを記憶した記 憶媒体であって、 前記データは、 各ブロックについての符号化データおよび所定 数のブロック毎に変換基準値を有することを特徴とする。  A storage medium according to the present invention is a storage medium storing computer-readable data, wherein the data has encoded data for each block and a conversion reference value for each of a predetermined number of blocks. I do.
この発明の特徴、 他の目的、 用途、 効果等は、 実施例および図面を参酌するこ とにより明らかになるであろう。  The features, other objects, applications, effects, and the like of the present invention will become apparent from the examples and the drawings.
[図面の簡単な説明]  [Brief description of drawings]
図 1は、 本発明にかかる符号化装置 1の機能ブロック図である。  FIG. 1 is a functional block diagram of an encoding device 1 according to the present invention.
図 2は、 本発明にかかる復合化装置 1 0の機能ブロック図である。  FIG. 2 is a functional block diagram of the decryption device 10 according to the present invention.
図 3は、 図 1に示す符号化装値 1、 複号化装置 1 0のハードウェア構成の一例 を示す図である。  FIG. 3 is a diagram showing an example of a hardware configuration of the encoding device 1 and the decoding device 10 shown in FIG.
図 4は、 符号化処理のフローチャートである (第 1実施形態) 。  FIG. 4 is a flowchart of the encoding process (first embodiment).
図 5は、 符号化処理のフローチャートである (第 1実施形態) 。  FIG. 5 is a flowchart of the encoding process (first embodiment).
図 6は、 符号化対象の画像データを示す図である。  FIG. 6 is a diagram showing image data to be encoded.
図 7は、 符号化対象の画像データの 1ブロックのデータを示す図である。 図 8は、 符号化処理におけるデ一夕構造を示す図である。  FIG. 7 is a diagram showing data of one block of image data to be encoded. FIG. 8 is a diagram showing a data structure in the encoding process.
図 9は、 符号化および複号化に用いるコードブックのデータ構造を示す図であ る。  FIG. 9 is a diagram showing a data structure of a codebook used for encoding and decoding.
図 1 0は、 復合化処理のフローチャートである (第 1実施形態) 。  FIG. 10 is a flowchart of the decryption process (first embodiment).
図 1 1は、 符号化処理のフローチャートである (第 2実施形態) 。  FIG. 11 is a flowchart of the encoding process (second embodiment).
図 1 2は、 復号化処理のフローチャートである (第 2実施形態) 。  FIG. 12 is a flowchart of the decryption process (second embodiment).
図 1 3は、 学習処理における各ブロックデータに付与されるインデックス番号 の配置関係を説明する為の図である。  FIG. 13 is a diagram for explaining the arrangement relationship of index numbers assigned to each block data in the learning process.
図 1 4は、 学習処理におけるフローチャートである。  FIG. 14 is a flowchart of the learning process.
― 3 ― 差替え用紙 (規則 26) 図 1 5は、 アダマール変換行列を示す図である。 ― 3 ― Replacement sheet (Rule 26) FIG. 15 is a diagram showing a Hadamard transform matrix.
[発明を実施する為の最良の形態]  [Best mode for carrying out the invention]
本発明の一実施形態について、 図面を用いて説明する。 An embodiment of the present invention will be described with reference to the drawings.
[A:第 1の実施形態]  [A: First Embodiment]
A 1 . 機能ブロック図の説明 A 1. Explanation of functional block diagram
1 )符号化装置 1  1) Encoder 1
図 1に示す符号化装置 1は、 複数のブロック構成データから構成されるブロッ クデ一夕およびこれに対応する符号を、 候補データとして複数記憶しておき、 符 号化対象のブロックデータが与えられると、 前記複数の候補データを用いて、 符 号化するデータ符号化装置であって、 相対ブロックデータ記憶手段 9、 第 1変換 手段 3、 相対ブロックデータ符号化手段 7、 およびブロック特性デ一夕演算手段 5を備えている。  The encoding device 1 shown in FIG. 1 stores a plurality of block data composed of a plurality of block configuration data and a plurality of codes corresponding to the block data as candidate data, and receives the block data to be encoded. Then, a data encoding device that encodes using the plurality of candidate data, comprising: a relative block data storage unit 9, a first conversion unit 3, a relative block data encoding unit 7, and a block characteristic data unit. Evening calculation means 5 is provided.
相対ブロックデータ記憶手段 9は、 前記相対ブロックデータおよびこれに対応 する符号を候補データとして、 複数記憶する。 本実施形態においては、 候補デー 夕として、 ブロック特性データに応じて、 グループ分けしたグループ別対応表を 複数記憶している。  The relative block data storage means 9 stores a plurality of relative block data and codes corresponding thereto as candidate data. In the present embodiment, a plurality of group correspondence tables, which are grouped according to block characteristic data, are stored as candidate data.
第 1変換手段 3は、 前記符号化対象のプロックデ一夕に基づいて当該プロック データにおける変換基準値を決定し、 当該ブロックデ一夕を構成する各ブロック 構成データを、 前記変換基準値に対する相対値で表される相対ブロックデータに 変換する。 本実施形態においては、 符号化対象のブロックデータを構成する各ブ ロック構成データの最小値を当該ブロックデータにおける変換基準値として決定 した。  The first conversion means 3 determines a conversion reference value in the block data based on the block data to be encoded, and converts each block configuration data constituting the block data into a relative value with respect to the conversion reference value. Convert to relative block data represented by. In the present embodiment, the minimum value of each block configuration data configuring the block data to be encoded is determined as the conversion reference value in the block data.
プロック特性データ演算手段 5は、 前記符号化対象のプロックデータについて、 当該プロックデ一夕を構成する各プロック構成データの分布特性に基づいて、 当 該ブロックデータにおけるブロック特性デ一夕を演算する。 本実施形態において は、 前記分布特性として、 前記符号化対象の当該ブロックデータを構成する各ブ ロック構成データの最大値および最小値との差分データを、 当該プロックデータ におけるブロック特性デ一夕として求めた。  The block characteristic data calculating means 5 calculates the block characteristic data of the block data of the block data to be encoded based on the distribution characteristic of each block configuration data constituting the block data. In the present embodiment, as the distribution characteristic, difference data between the maximum value and the minimum value of each block configuration data configuring the block data to be encoded is obtained as the block characteristic data in the block data. Was.
相対プロックデ一夕符号化手段 7は、 相対プロックデ一夕記憶手段 9に記憶さ 一 4 一 差替え用紙 (規則 26) れた候補データを用いて、 前記相対ブロックデータを符号化し、 この相対符号デ —夕および前記変換基準値を出力する。 本実施形態においては、 この相対符号デ 一夕として、 前記ブロック特性データに基づいて、 相対ブロックデ一夕記憶手段The relative block data encoding means 7 is stored in the relative block data storage means 9 1 4 1 Replacement sheet (Rule 26) The relative block data is encoded using the obtained candidate data, and the relative code data and the conversion reference value are output. In the present embodiment, the relative code data is stored based on the block characteristic data.
9に記憶された候補データのうちいずれのグループの候補データを用いるかを決 定し、 このグループ名およびグループ内番号を採用した。 It was determined which group of candidate data to use from among the candidate data stored in 9, and the group name and intra-group number were adopted.
この実施形態においては、 各符号化対象のブロックデ一夕について、 ブロック 毎に変換基準値を決定するようにしたが、 当該所定数のブロック毎に 1の変換基 準値を決定してもよい。 これにより、 圧縮後のデータ量を小さくすることができ る。 特に、 画像データの様に各ブロックデータが相関関係ある場合には、 効果が ある。  In this embodiment, the conversion reference value is determined for each block for each block to be encoded, but one conversion reference value may be determined for each of the predetermined number of blocks. . As a result, the amount of data after compression can be reduced. This is particularly effective when each block data has a correlation like image data.
2)復号化装置 1 0  2) Decryption device 1 0
図 2に示す復号化装置 1 0は、 図 1に示す符号化装置 1で符号化された相対符 号データを復合化する装置である。 すなわち、 複数のブロック構成デ一夕から構 成されるブロックデータの変換基準値を用いて変換された相対プロックデ一夕を 符号化した相対符号データ、 および当該ブロックデータにおける変換基準値が与 えられると、 これを復号化する。 復合化装置 1 0は、 相対ブロックデータ記憶手 段 9、 第 2変換手段 1 3、 および相対ブロックデ一夕復号化手段 1 7を備えてい る。  The decoding device 10 illustrated in FIG. 2 is a device that decodes the relative encoded data encoded by the encoding device 1 illustrated in FIG. That is, relative code data obtained by encoding the relative block data converted using the conversion reference value of the block data composed of a plurality of block configuration data and the conversion reference value of the block data are given. And decrypt this. The decoding device 10 includes a relative block data storage means 9, a second conversion means 13, and a relative block data decoding means 17.
相対プロックデ一夕記憶手段 9は、 前記相対プロックデ一夕およびこれに対応 する符号を候補データとして、 複数記憶する。 本実施形態においては、 候補デー 夕として、 ブロック特性データに応じて、 グループ分けしたグループ別対応表を 複数記憶している。  The relative block data storage means 9 stores the relative block data and a code corresponding thereto as a plurality of candidate data. In the present embodiment, a plurality of group correspondence tables, which are grouped according to block characteristic data, are stored as candidate data.
相対ブロックデータ復号化手段 1 7は、 前記相対符号デ一夕を、 前記相対プロ ックデータ記憶手段に記憶された候補デ一夕を用いて、 復号化する。 具体的には、 前記相対符号データとして、 グループ名およびグループ内番号が与えられると、 このグループ名およびグループ内番号によって、 前記グループ別対応表のいずれ の候補デ一夕を用いるかを決定し、 対応する相対ブロックデ一夕に復号化する。 第 2変換手段 1 3は、 前記復号化された相対ブロックデータを、 当該ブロック データにおける変換基準値を用いて、 符号化前の相対プロックデータに変換する。  The relative block data decoding means 17 decodes the relative code data using the candidate data stored in the relative block data storage means. Specifically, when a group name and an intra-group number are given as the relative code data, the group name and the intra-group number determine which candidate data in the group correspondence table is to be used, Decoding is performed in the corresponding relative block overnight. The second conversion unit 13 converts the decoded relative block data into relative block data before encoding using the conversion reference value in the block data.
― 5 一 差替え用紙 (規則 26) 本実施形態においては、 各符号化対象のブロックデータについて、 ブロック毎 に変換基準値が付加されている場合について説明したが、 所定数のブロック毎の 変換基準値を用いて、 符号化前のブロックデ一夕に変換する様にしてもよい。 A 2 . ハードウェア構成 ― 5 i Replacement form (Rule 26) In the present embodiment, a description has been given of a case where a conversion reference value is added for each block for each block data to be coded, but a block before coding is converted using a conversion reference value for each of a predetermined number of blocks. You may make it convert into de night. A 2. Hardware configuration
図 3に、 図 1に示す符号化装置 1を C P Uを用いて実現したハードウェア構成 の一例を示す。  FIG. 3 shows an example of a hardware configuration in which the encoding device 1 shown in FIG. 1 is realized using CPU.
符号化装置 2 1は、 C P U 2 3、 メモリ 2 7、 ハードディスク 2 6、 C R T 3 0、 F D D 2 5、 キーボード 2 8、 伝送制御部 3 2およびバスライン 2 9を備え ている。  The encoding device 21 includes a CPU 23, a memory 27, a hard disk 26, a CRT 30, an FDD 25, a keyboard 28, a transmission control unit 32, and a bus line 29.
C P U 2 3は、 ハードディスク 2 6に記憶された制御プログラムにしたがいバ スライン 2 9を介して、 各部を制御する。  The CPU 23 controls each unit via a bus line 29 according to a control program stored in the hard disk 26.
この制御プログラムは、 F D D 2 5を介して、 プログラムが記憶されたフレキ シブルディスクから読み出されてハードディスク 2 6にィンストールされたもの である。 なお、 フレキシブルディスク以外に、 C D— R O M、 I Cカード等のプ ログラムを実体的に一体化したコンピュータ可読の記憶媒体から、 ハードディス クにインストールさせるようにしてもよい。 さらに、 通信回線を用いてダウン口 一ドするようにしてもよい。  This control program is read out from the flexible disk storing the program via the FDD 25 and installed on the hard disk 26. Note that, other than the flexible disk, a program such as a CD-ROM, an IC card, or the like may be installed on the hard disk from a computer-readable storage medium that is physically integrated. Further, a down line may be performed using a communication line.
本実施形態においては、 プログラムをフレキシブルディスクからハードディス ク 2 6にィンストールさせることにより、 フレキシブルディスクに記憶させたプ ログラムを間接的にコンピュータに実行させるようにしている。 しかし、 これに 限定されることなく、 フレキシブルディスクに記憶させたプログラムを F D D 2 5から直接的に実行するようにしてもよい。 なお、 コンピュータによって、 実行 可能なプログラムとしては、 そのままのィンストールするだけで直接実行可能な ものはもちろん、 一旦他の形態等に変換が必要なもの (例えば、 デ一夕圧縮され ているものを、 解凍する等) 、 さらには、 他のモジュール部分と組合して実行可 能なものも含む。  In this embodiment, by installing the program from the flexible disk to the hard disk 26, the program stored in the flexible disk is indirectly executed by the computer. However, without being limited to this, the program stored in the flexible disk may be directly executed from the FDD 25. In addition, programs that can be executed by a computer include those that can be directly executed by simply installing the program as it is, and those that need to be converted into another form (for example, programs that have been compressed for a while). Decompression, etc.), and also include those executable in combination with other module parts.
ハ一ドディスク 2 6には後述するコードブックが記憶される。 メモリ 2 7には 演算結果等が一時記憶される。 C R T 3 0には、 符号化前のデ一夕等が表示され る。 伝送制御部 3 2は、 有線または無線でデータを送受信する。  The hard disk 26 stores a code book described later. The calculation result and the like are temporarily stored in the memory 27. In CRT30, data before encoding and the like are displayed. The transmission control unit 32 transmits and receives data by wire or wirelessly.
一 6 一 差替え用紙 (規則 26) なお、 復号化装置 1 oのハードウェア構成は、 符号化装置 1と同様であるので、 説明は省略する。 1 6 1 Replacement form (Rule 26) Note that the hardware configuration of the decoding device 1 o is the same as that of the coding device 1, and thus the description is omitted.
A3. フローチャート  A3. Flow chart
1)符号化処理 1) Encoding process
つぎに、 図 4、 図 5を用いて、 ハードディスク 26に記憶されているプログラ ムについて説明する。  Next, a program stored in the hard disk 26 will be described with reference to FIGS.
以下では、 図 6に示すような ml *m 2画素の静止画が、 ハードディスク 26 に記憶されており、 この画像データを 4 * 4画素のブロックごとに符号化する場 合について説明する。  Hereinafter, a case will be described in which a still image of ml * m2 pixels as shown in FIG. 6 is stored in the hard disk 26, and this image data is encoded for each block of 4 * 4 pixels.
CPU23は、 ハードディスク 26から、 静止画デ一夕を読み出し、 メモリ 2 7に記憶する (図 4ステップ ST 1)  The CPU 23 reads out the still image data from the hard disk 26 and stores it in the memory 27 (FIG. 4, step ST 1).
CPU 23は、 メモリ 27に記憶された画像データを複数のブロックに分割す る (図 4ステップ ST 3) 。 この場合、 1ブロックは、 4 * 4画素で構成したの で、 図 6に示す静止画は、 m 1 · m 2 / 16のブロックに分割される。  The CPU 23 divides the image data stored in the memory 27 into a plurality of blocks (ST3 in FIG. 4). In this case, since one block is composed of 4 * 4 pixels, the still image shown in FIG. 6 is divided into m 1 · m 2/16 blocks.
つぎに、 CPU23は、 処理対象ブロック番号 hを初期化し (図 4ステップ S T 5) 、 第 hブロックのブロックデ一夕をメモリ 27から読み出して、 符号化す る (ステップ S T 7) 。  Next, the CPU 23 initializes the processing target block number h (step ST5 in FIG. 4), reads out the block data of the h-th block from the memory 27, and encodes it (step ST7).
例えば、 第 i jブロックのブロックデータ A j jを構成するブロック構成デー夕が、 図 7に示すような a ij (0)〜 a ij (15)である場合、 第 jjプロックのプロックデ一 夕を、 Aij= (aij (0)、 aij(l)、 · · ·、 a ij (15)) で表すと、 第 00ブロッ クのブ口ックデ一夕 A00は、 これを構成するプロック構成データ a00(0)〜 aOO (15)によって、 以下の様に表される。  For example, if the block configuration data constituting the block data A ij of the ij-th block is a ij (0) to a ij (15) as shown in FIG. 7, the block data of the j-th block is represented by Aij = (aij (0), aij (l), ..., aij (15)), the block data A00 of the 00th block is the block configuration data a00 (0) ~ Expressed by aOO (15) as follows:
A00= (a 00(0). aOO(l) , · · ·、 a00(15))  A00 = (a 00 (0) .aOO (l), a00 (15))
なお、 本実施形態においては、 各ブロックを構成するブロック構成データ a ij (0)〜 a ij (15)は、 0〜255のいずれかの値をとるものとする。 すなわち、 ブ ロック構成データ &1】(0)〜3^(15)の値は、 8ビットで表される力 ここでは、 分りやすくする為に、 1 0進法で表記する。  In the present embodiment, it is assumed that the block configuration data a ij (0) to a ij (15) constituting each block take any value from 0 to 255. That is, the values of the block configuration data & 1] (0) to 3 ^ (15) are expressed in 8 bits.
ここでは、 第 00ブロックのブロックデータ A00が、 図 8 Aに示すブロック構成 データで表されたものとして、 説明する。  Here, the description will be made assuming that the block data A00 of the 00th block is represented by the block configuration data shown in FIG. 8A.
一 7 ― 差替え用紙 (規則 26) 図 4ステップ ST 7の詳細処理を図 5を用いて説明する。 I 7-Replacement sheet (Rule 26) FIG. 4 The detailed process of step ST7 will be described with reference to FIG.
C P U 2 3は、 図 8 Aに示すブロックデータ A00の各ブロック構成データ a 00 (0)〜 a00(15)を、 右に 4ビットシフト処理したシフトブロック構成データ A00, を求める (図 5ステップ ST 1 1 ) 。 この場合は、 シフトブロック構成デ一夕 A 0' は、 図 8 Bに示すように表される。  The CPU 23 obtains shift block configuration data A00, which is obtained by subjecting each block configuration data a00 (0) to a00 (15) of the block data A00 shown in FIG. 1 1). In this case, the shift block configuration data A 0 ′ is represented as shown in FIG. 8B.
このシフトブロック構成データ A00' を、 A00' = ( a00(0)«4, a00(l)〈ぐ • · · · aOO(15Kぐ) と表わす。 この場合、 ブロック構成デ一夕 a00(0)〜a00 (15)は、 8ビットデータであったので、 シフトブロック構成データ a00(0)〈ぐ〜 a00(15)〈ぐは、 4ビットデ一夕である。 すなわち、 シフトブロック構成デ一夕 a00(0)〈ぐ〜 a00(15)〈ぐは、 それぞれ、 1 6段階の値を取る。 例えば、 ブロッ ク構成データ a ij (0)が 「0 1 00 1 1 1 0」 である場合、 シフトブロック構成 データ a00(0)〈ぐは、 「0 1 00」 の 4ビットデータとなる (量子化) 。 The shift block configuration data A00 'is expressed as A00' = (a00 (0) << 4 , a00 (l) <g • ··· aOO (15K). In this case, the block configuration data a00 (0) Since a00 (15) is 8-bit data, the shift block configuration data a00 (0) <g ~ a00 (15) <g is a 4-bit data block. (0) <g ~ a00 (15) <g each take 16 levels. For example, if the block configuration data a ij (0) is “0 1 00 1 1 1 0”, shift Block configuration data a00 (0) <g becomes 4-bit data of “0 1 00” (quantization).
つぎに、 CPU 2 3は、 シフトブロック構成データ a00(0)〈ぐ〜 a00(15)くぐ のうち、 最大値 ma xAOO' および最小値 m i n A00' を求める (図 5ステップ ST 1 3) 。 この場合、 ブロックデータ A00' については、 最大値 ma xAOO' = 1 6、 最小値 m i nAOO' = 2が求められ (図 8 B参照) 、 メモリ 2 7に記憶 される。 最大値 ma xAOO' および最小値 m i n A00' も 4ビットデータである。 つぎに、 CPU 2 3は、 最大値 ma xAOO' と最小値 m i nAOO' との差分デ —夕 AOOgを求める (図 5ステップ ST 1 5) 。 具体的には、 差分データ AOOg は、 以下の式で求められる。  Next, the CPU 23 obtains the maximum value maxAOO 'and the minimum value minA00' of the shift block configuration data a00 (0) <g0 to a00 (15) (step ST13 in FIG. 5). In this case, the maximum value maxAOO '= 16 and the minimum value minAOO' = 2 are obtained for the block data A00 '(see FIG. 8B) and stored in the memory 27. The maximum value maxAOO 'and the minimum value minA00' are also 4-bit data. Next, the CPU 23 obtains a difference data between the maximum value maxAOO 'and the minimum value minAOO'—evening AOOg (FIG. 5, step ST15). Specifically, the difference data AOOg is obtained by the following equation.
A00g=ma x A00' 一 m i nAOO' = 1 6 - 2= 1 4  A00g = max x A00 'one min AOO' = 1 6-2 = 1 4
この差分データ AOOgは、 プロックデ一夕 A00の各プロック構成デ一夕につい て、 最大値と最小値とがどの程度異なるかを表す。 すなわち、 差分データ AOOg が大きい場合には、 最大値と最小値との差が大きいこととなり、 ブロックデ一夕 A00は、 エッジを有するような画像であると判断できる。 これに対して、 最大値 と最小値との差が小さいものは、 そうではないような画像であると判断できる。 つぎに、 CPU 2 3は、 差分データ AOOgを右に 1ビットずらし、 右 1ビット シフト差分データ AOOg ' を求める。 差分データ AOOgは、 4ビットで表される ので、 右 1ビットシフト差分デ一夕 AOOg ' は、 3ビットで表される。 この場合  This difference data AOOg indicates how much the maximum value and the minimum value are different for each block configuration data of block data A00. That is, when the difference data AOOg is large, the difference between the maximum value and the minimum value is large, and it can be determined that the block data A00 is an image having an edge. On the other hand, an image having a small difference between the maximum value and the minimum value can be determined to be an image that is not so. Next, the CPU 23 shifts the difference data AOOg by one bit to the right, and obtains right one-bit shifted difference data AOOg '. Since the difference data AOOg is represented by 4 bits, the right 1-bit shift difference data AOOg 'is represented by 3 bits. in this case
一 8 ― 差替え用紙 (規則 26) は、 1ビットシフト差分データ AOOg' =7となる。 これにより、 図 9に示すコ ードブック Kによって符号化する際のグループが特定される。 すなわち、 この場 合は、 グループ番号 「7」 のいずれかのデ一夕で符号化することとなる。 I 8-Replacement sheet (Rule 26) Becomes 1-bit shift difference data AOOg '= 7. As a result, a group at the time of encoding using the codebook K shown in FIG. 9 is specified. That is, in this case, encoding is performed using one of the group numbers “7”.
つぎに、 CPU 23は、 そのブロックにおける相対基準値を決定し、 シフトブ ロックデータ A00' を構成する各ブロック構成データ a00(0)〈ぐ〜 a00(15)〈ぐ のそれぞれから、 この相対基準値を減算し、 ブロック構成相対データを求める Next, the CPU 23 determines the relative reference value for the block, and calculates the relative reference value from each of the block configuration data a00 (0) <g to a00 (15) <g for the shift block data A00 '. To obtain the block configuration relative data
(図 5ステップ ST 1 9) 。 本実施形態においては、 最小値 m i nAOO' を相対 基準値とした。 (Figure 5 step ST 19). In the present embodiment, the minimum value minAOO 'is used as the relative reference value.
このブロック構成相対データを、 b00(0)〈ぐ〜 b00(15)〈ぐで表すと、 ブロッ ク構成相対データ b00(0)〈ぐ〜 b00(15)〈ぐは、 以下の式で表される。  If this block configuration relative data is expressed as b00 (0) <g ~ b00 (15) <g, the block configuration relative data b00 (0) <g ~ b00 (15) <g is expressed by the following formula. You.
b 00(0)〈ぐ = a 00(0)〈ぐ— m i n A00'  b 00 (0) <g = a 00 (0) <g — m i n A00 '
b00(l)«4= a00(l)«4-m i n A00' b00 (l) « 4 = a00 (l)« 4 -min A00 '
b00(15)«4= a00(15)«4-m i n A00' b00 (15) « 4 = a00 (15)« 4 -min A00 '
なお、 相対基準値として、 最大値 ma xAOO' を用いてもよい。 このように、 最小値または最大値を相対基準値とすることにより、 後述するずれ値の演算が容 易となる。 なお、 相対基準値は、 これに限定されず、 ブロック構成データのうち、 いずれかの値でもよく、 さらに、 任意の値としてもよい。  Note that the maximum value maxAOO 'may be used as the relative reference value. As described above, by using the minimum value or the maximum value as the relative reference value, a later-described calculation of a deviation value becomes easy. Note that the relative reference value is not limited to this, and may be any one of the block configuration data, and may be an arbitrary value.
このようにして、 シフトブロック構成データ a i (0)〈ぐ〜 a i (15)〈ぐについ て、 最小値 m i nAOO' を相対 0とする値が求められる。 これをブロック相対デ 一夕 BO0とすると、 ブロック相対データ B00は、 図 8 Cに示すように表される。  In this way, for the shift block configuration data a i (0) <g to a i (15) <g, a value is obtained in which the minimum value m inAOO ′ is a relative 0. If this is set as the block relative data overnight BO0, the block relative data B00 is represented as shown in FIG. 8C.
B00= (b00(0)くぐ, b00(l)〈ぐ, · · ·〜, 00(15)«4) B00 = (b00 (0) ku, b00 (l) <g, · · · ~, 00 (15) « 4 )
つぎに、 ブロック相対データ B00をエンコードする (ステップ ST2 1) 。 ェ ンコードは以下の様にして行なわれる。  Next, the block relative data B00 is encoded (step ST21). Encoding is performed as follows.
まず、 コードブック Kのグループ番号 「7」 のデータについて、 ずれ値総計 T Oijを各々求める。 例えば、 インデックス番号 00のずれ値総計 TO00は、 以下の 式で求めることができる。  First, for the data of the group number “7” in the codebook K, a total deviation value T Oij is obtained. For example, the total deviation value TO00 of index number 00 can be obtained by the following equation.
一 9 一 差替え用紙 (規則 26) TO00= {ABS (b00(0)〈ぐ一 k00(0)) +ABS ( b 00 (1)くぐ一 k 00 (1) ) + · . • +ABS (b00(15)«4- k00(l5)) } 1 9 1 Replacement form (Rule 26) TO00 = (ABS (b00 (0) <guichi k00 (0)) + ABS (b00 (1) guichi k00 (1)) + ·. • + ABS (b00 (15) « 4 -k00 (l5 ))}
なお、 ABS 0 は、 0 内の絶対値を求める演算を表す。  Note that ABS 0 represents an operation for obtaining an absolute value within 0.
これを、 インデックス番号 255まで実行し、 ずれ値総計 T〇が最小値となる 相対プロックデータ K rを求め、 そのィンデックス番号に符号化する。  This is performed up to the index number 255, the relative block data K r that minimizes the total deviation value T〇 is obtained, and encoded into the index number.
例えば、 相対ブロックデータ K 245とのずれ値総計 T〇245力 最小であ る場合には、 ブロック構成相対デ一夕 Β00は、 グループ番号 「7」 およびインデ ックス番号 「245」 に符号化される。 これを相対符号データという。  For example, if the total deviation value from the relative block data K 245 is T〇245, the block configuration relative data Β00 is coded into the group number “7” and the index number “245”. . This is called relative code data.
つぎに、 CPU 23は、 この相対符号デ一夕およびそのブロックにおける最小 値 m i nAOO' を圧縮後デ一夕としてハードディスク 26に記憶して、 第 00プロ ックの符号化が終了する (図 5ステップ ST23) 。  Next, the CPU 23 stores the relative code data and the minimum value minAOO 'in the block as the data after compression in the hard disk 26, and completes the encoding of the 00th block (FIG. 5). Step ST23).
ブロックデータ A00は、 シフト差分デ一夕 A i g' で示されるグループ番号 「7」 、 そのグループのインデックス番号 「245」 および最小値 m i n A00' 「2」 にデータ圧縮されたこととなる。 グループ番号は 3ビット、 インデックス 番号は 8ピット、 最小値は 4ビットであるので、 計 1 5ビットのデータに圧縮さ れる。 すなわち、 1ブロックのデータは、 1 5ビットのデ一夕に圧縮されたこと になる。  The block data A00 is data-compressed to the group number “7” indicated by the shift difference data Aig ′, the index number “245” of the group, and the minimum value minA00 ′ “2”. Since the group number is 3 bits, the index number is 8 pits, and the minimum value is 4 bits, it is compressed into a total of 15 bits. In other words, one block of data is compressed into 15-bit data overnight.
つぎに、 CPU 23は、 図 4ステップ ST 9にて、 全ブロックについて、 符号 化が終了したか否か判断し、 終了していない場合には、 処理対象ブロック番号 h をインクリメントし (ステップ ST 1 0) 、 図 4ステップ S T 7の処理を繰返す。 図 4ステップ ST 9にて、 全ブロックについて、 符号化が終了した場合には、 符号化は終了する。  Next, in step ST9 in FIG. 4, the CPU 23 determines whether or not encoding has been completed for all blocks, and if not completed, increments the processing target block number h (step ST1). 0), repeat the process of step ST7 in Fig. 4. In FIG. 4, when the encoding is completed for all the blocks in step ST9, the encoding is completed.
符号化が終了し、 キーボード 28から、 伝送命令が与えられると、 CPU 23 は、 伝送制御部 3 1に伝送命令を送る。 これにより、 伝送制御部 3 1は、 ハード ディスク 26に記憶された全ブロックの相対符号データおよび最小値を、 復号化 装置 1 0に伝送する。 これにより、 画像データはデータ圧縮した状態で伝送され る。  When encoding is completed and a transmission command is given from the keyboard 28, the CPU 23 sends the transmission command to the transmission control unit 31. Thereby, the transmission control unit 31 transmits the relative code data and the minimum value of all the blocks stored in the hard disk 26 to the decoding device 10. As a result, the image data is transmitted in a data compressed state.
2)復合化処理  2) Decomposition processing
つぎに、 図 1 0のフローチャートを用いて、 復号化 (解凍) 処理について説明  Next, the decryption (decompression) process will be described with reference to the flowchart of FIG.
— 10 —  - Ten -
差替え用紙 (規則 26) する。 復号化装置 1 の C PU 2 3は、 伝送された圧縮後のデータをハードディ スク 26に記憶する Replacement form (Rule 26) I do. The CPU 23 of the decoding device 1 stores the transmitted compressed data on the hard disk 26.
C P U 23は、 処 i 対象ブロック番号 hを初期化し (図 1 0ステップ ST 3 1) 、 第 hブロックの圧 ' デ一夕をハ一ドディスク 2 6から読み出して、 メモリ 2 7 に記憶する (ステツ'. ST 33) 。 この場合、 処理対象ブロック番号 h =00であ るので、 第 00ブロッ ' 圧縮データが読み出される。 第 00ブロックの圧縮データ は、 符号化装置 1の' にて説明したように、 グループ番号 「7」 、 そのグルー プのィンデックス番 : 245」 および最小値 m i n A00' 「2」 から構成され ている。 The CPU 23 initializes the processing target block number h (step ST31 in FIG. 10), reads the pressure of the hth block from the hard disk 26, and stores it in the memory 27 ( Stetz 'ST 33). In this case, since the processing target block number h = 00, the 00th block compressed data is read. The compressed data of the 00th block is composed of the group number “7”, the index number of the group : 245 ”, and the minimum value min A00 ′“ 2 ”, as described in the section of the encoding device 1. .
つぎに、 CPU 2 t、 メモリ 2 7に読み出した圧縮データを、 ハードデイス ク 26に記憶されて コードブック Kを用いて復号化する。 この場合、 第 00ブ 口ックの圧縮デ一夕, グループ番号 「7」 、 そのグループのインデックス番号 「24 5」 および最 m i nAOO' 「 2」 から構成されている。 したがって、 グループ番号 「7」 , ンデックス番号 「245」 で特定される相対ブロックデ 一夕に復号化される  Next, the compressed data read out to the CPU 2 t and the memory 27 is stored in the hard disk 26 and decoded using the codebook K. In this case, it is composed of the compressed data of the 00th block, the group number “7”, the index number “245” of the group, and the minimum number “2”. Therefore, it is decoded in the relative block data specified by the group number “7” and the index number “245”.
つぎに、 C PU 2 t ま、 相対基準値である最小値 m i n A00' を用いて、 前記 相対ブロックデータ 換する (図 1 0ステップ ST3 7) 。 具体的には、 復号 化された相対ブロッ 一夕を構成する相対ブロック構成データに最小値 m i n A00' を加算すれば.  Next, the relative block data is converted using the CPU 2 t and the minimum value min A00 ′ that is the relative reference value (step ST37 in FIG. 10). Specifically, if the minimum value m i n A00 'is added to the relative block configuration data constituting the decoded relative block.
つぎに、 CPU 2 i、 最小値 m i nAOO' を加算した相対ブロック構成デー 夕を  Next, the relative block configuration data obtained by adding the CPU 2 i and the minimum value m i nAOO 'is
ブロ Bro
00ブ  00 bu
C  C
終了 End
ンク  Nku
38  38
 S
合化  Combination
Figure imgf000013_0001
このように、 相対基準値からの相対値に変換した後、 符号化することにより、 コ一ドブックに記憶する候補デ一夕を少なくしても、 精度をそれほど落とすこと なく変換が可能となる。 さらに、 前記差分データに応じてグループ化されたコー ドブックを用いて演算することにより、 コードブックに記憶する候補デー夕を少 なくしても、 精度をそれほど落とすことなく変換が可能となる。 すなわち、 精度 が高く、 高速変換が可能であるとともに、 圧縮率の高い符号化が可能となる。 なお、 第 1の実施形態においては、 差分データを求めてから、 相対基準値を相 対 0とする相対ブロックデータ Bijを求めている。 しかしこれに限定されず、 逆 に、 相対ブロックデータ B ijを求めてから、 差分データを求めてもよい。
Figure imgf000013_0001
In this way, by converting to a relative value from the relative reference value and then encoding, even if the number of candidate data stored in the codebook is reduced, the conversion can be performed without significantly lowering the accuracy. Further, by performing calculations using codebooks grouped according to the difference data, even if the number of candidate data stored in the codebook is reduced, conversion can be performed without significantly lowering the accuracy. In other words, high-precision, high-speed conversion is possible, and encoding with high compression ratio is possible. In the first embodiment, after the difference data is obtained, the relative block data Bij having the relative reference value of 0 is obtained. However, the present invention is not limited to this. Conversely, the difference data may be obtained after obtaining the relative block data B ij.
また、 本実施形態においては、 エンコードするに当たって、 ずれ値の絶対値の 総計を求めて、 かかる総計値が最小となるものを、 選択するようにしたが、 従来 の方法、 例えば、 以下の式のように、 ずれ値の総計として、 距離の総計を求める ようにしてもよい。  Also, in the present embodiment, when encoding, the total of the absolute values of the shift values is obtained, and the one that minimizes the total value is selected, but the conventional method, for example, the following equation: As described above, the total distance may be obtained as the total deviation value.
TO00= { (b00(0)«4- k00(0)) 2+ ( b 00 (1) «4 - k 00 (1) ) 2+ · · · (b00(15)«4- k00(15)) Ί 1/2 TO00 = {(b00 (0) «4 - k00 (0)) 2 + (b 00 (1)« 4 - k 00 (1)) 2 + · · · (b00 (15) «4 - k00 (15) ) Ί 1/2
なお、 第 1実施形態においては、 4ビットシフト処理等を行なっているが、 か かる処理を行なわないようにしてもよい。 また、 4ビット未満または 5ビット以 上シフ卜する様にしてもよい。  In the first embodiment, a 4-bit shift process or the like is performed, but such a process may not be performed. Also, the shift may be shifted to less than 4 bits or 5 bits or more.
[Β :第 2の実施形態]  [Β: Second embodiment]
前記第 1実施形態では、 量子化して相対化してベクトル量子化している。 しか し、 これに限定されず、 相対化して量子化してベクトル量子化することもできる。 さらに、 相対化してから、 そのブロックの最大の相対ブロック構成デ一夕の最 上位ビットが 1となるまで左シフト演算を行ない (以下、 可逆性左シフト演算と いう) さらに、 可逆性左シフト演算後も同じビット長となるようにその後に 0を 付加するようにしてもよい。 すなわち、 各ブロック構成データの可逆性左シフト 演算におけるシフト量を動的に変動させるのである。  In the first embodiment, vector quantization is performed by quantization and relativization. However, the present invention is not limited to this, and vector quantization can be performed by performing relativization and quantization. Further, after relativization, a left shift operation is performed until the most significant bit of the largest relative block configuration data of the block becomes 1 (hereinafter referred to as a reversible left shift operation). After that, 0 may be added so that the bit length becomes the same. That is, the shift amount in the reversible left shift operation of each block configuration data is dynamically varied.
この場合の処理を図 1 1を用いて説明する。 この場合、 図 8Dに示すブロック データ Ε 00の各ブロック構成データ e 00 (0)〜 e 00(15)が与えられたものとする。  The process in this case will be described with reference to FIG. In this case, it is assumed that each block configuration data e 00 (0) to e 00 (15) of the block data # 00 shown in FIG. 8D is given.
C PU 2 3は、 ブロック構成データ e 00(0)〜e 00 (15)のうち、 最大値 m a x  The CPU 23 has the maximum value m ax of the block configuration data e 00 (0) to e 00 (15).
― I 2 ― 差替え用紙 (規則 26) EOOおよび最小値 m i n EOOを求める (図 1 1ステップ S T 1 5 1 ) 。 この場合、 ブロックデータ EOOについては、 最大値 ma xE00= 48、 最小値 m i nE00 = 29が求められ (図 8 A参照) 、 メモリ 27に記憶される。 ― I 2 ― Replacement form (Rule 26) The EOO and the minimum value min EOO are determined (FIG. 11, one step ST 15 1). In this case, the maximum value maxE00 = 48 and the minimum value minE00 = 29 are obtained for the block data EOO (see FIG. 8A) and stored in the memory 27.
つぎに、 CPU 23は、 最大値 ma X E00と最小値 m i n E00との差分データ EOOgを求める (図 1 1ステップ S T 1 53) 。 具体的には、 差分データ EOOg は、 以下の式で求められる。  Next, the CPU 23 obtains difference data EOOg between the maximum value ma X E00 and the minimum value min E00 (FIG. 11, one step ST 1 53). Specifically, the difference data EOOg is obtained by the following equation.
EOO g =m a x E00-m i n E00= 44 - 29 = 1 5  EOO g = m a x E00-min i E00 = 44-29 = 1 5
つぎに、 CPU23は、 差分データ EOOgを 3ビットデ一夕となるように、 シ フト演算を行ない、 シフト差分データ EOOg ' を求める (ステップ ST 1 55) 。 これにより、 上記実施形態と同様に、 図 9に示すコードブック Kによって符号化 する際のグループが特定される。  Next, the CPU 23 performs a shift operation on the difference data EOOg so that the difference data becomes three bits long, and obtains shift difference data EOOg ′ (step ST155). As a result, similarly to the above embodiment, a group to be encoded by the codebook K shown in FIG. 9 is specified.
つぎに、 CPU 23は、 そのブロックにおける相対基準値を決定し、 ブロック デー夕 E 00を構成する各ブロック構成デー夕 E 00 (0)〜 E 00 (15)のそれぞれから、 この相対基準値を減算し、 ブロック構成相対データを求める (ステップ ST 1 5 7) 。 本実施形態においては、 最小値 m i n E00を相対基準値とした。  Next, the CPU 23 determines a relative reference value in the block, and calculates the relative reference value from each of the block configuration data E 00 (0) to E 00 (15) constituting the block data E 00. Subtraction is performed to obtain block configuration relative data (step ST157). In the present embodiment, the minimum value minE00 is used as the relative reference value.
このブロック構成相対データを、 f 00(0)〜 f 00 (15)で表すと、 ブロック構成 相対データ ί Q0(0)〜 f 00(15)は、 以下の式で表される。  When the block configuration relative data is represented by f00 (0) to f00 (15), the block configuration relative data ίQ0 (0) to f00 (15) is represented by the following equation.
f 00(0) = E00(0)-m i n E00  f 00 (0) = E00 (0) -min i E00
f 00(1) = EOO(l) -m i n E00  f 00 (1) = EOO (l) -m i n E00
f 00(15) = E00(15)一 m i n E00 f 00 (15) = E00 (15)-one min E00
なお、 相対基準値として、 最大値 ma X E00を用いてもよい。 このように、 最 小値または最大値を相対基準値とすることにより、 後述するずれ値の演算が容易 となる。 なお、 相対基準値は、 これに限定されず、 ブロック構成デ一夕のうち、 いずれかの値でもよく、 さらに、 任意の値としてもよい。  Note that the maximum value ma X E00 may be used as the relative reference value. As described above, by using the minimum value or the maximum value as the relative reference value, a later-described calculation of a deviation value is facilitated. Note that the relative reference value is not limited to this, and may be any one of the values in the block configuration data, and may be an arbitrary value.
このようにして、 ブロック構成デ一夕 E00(0)〜E00(15)について、 最小値 m i n E00を相対 0とする値が求められる。 これをブロック相対データ F00とする  In this way, for the block configuration data E00 (0) to E00 (15), a value in which the minimum value minE00 is relatively 0 is obtained. This is the block relative data F00
— 1 3 — 差替え用紙 (規則 26) と、 ブロック相対データ F00は、 図 8 Eに示すように表される。 — 1 3 — Replacement sheet (Rule 26) And the block relative data F00 is represented as shown in FIG. 8E.
F00= ( f 00(0), f 00(1), · · .〜, f 00(15))  F00 = (f 00 (0), f 00 (1), ···, f 00 (15))
つぎに、 CPU 2 3は、 ブロック構成デ一夕 f 00(0)〜 f 00(15)のうち最大値 であるブロック構成データについて、 最上位ビット MS Bから 0が何ビット連続 しているかを示すシフト可能ビット量 S f 00を演算する (ステップ ST 1 5 9) 。 この場合であれば、 ブロック構成データ f 00(0)〜 f 00(15)のうち最大値は 「1 5」 であり、 これを 2進法表記すると 「00 00 1 1 1 0」 であるので、 シフ卜 可能ビッ卜量 S ί 00=4が得られる。 このシフ卜可能ビッ卜量 S f 00の最大値は 「7」 であるので、 3ビットデ一夕である。  Next, the CPU 23 determines, for the block configuration data that is the maximum value among the block configuration data f 00 (0) to f 00 (15), how many bits from the most significant bit MSB continue 0. The indicated shiftable bit amount Sf00 is calculated (step ST155). In this case, the maximum value of the block configuration data f 00 (0) to f 00 (15) is “1 5”, which is expressed in binary notation as “00 00 1 1 1 0”. Thus, the shiftable bit amount Sί00 = 4 is obtained. Since the maximum value of the shiftable bit amount S f00 is “7”, it is three bits long.
CPU 23は、 シフト可能ビット量 S f 00に基づいて、 ブロック構成デ一夕 f 00(0)〜 f 00(15)を可逆性左シフト演算する (ステップ S T 1 6 1) 。 例えば、 ブロック構成デー夕 f 00 (0) 「 0 00 0 1 1 1 0」 のシフト可能ビット量 S f 00 は 4であるので、 「 1 1 1 00 0 00」 にシフト演算される。  The CPU 23 performs a reversible left shift operation on the block configuration data f 00 (0) to f 00 (15) based on the shiftable bit amount S f 00 (step ST 16 1). For example, since the shiftable bit amount S f00 of the block configuration data f 00 (0) “0 00 0 1 1 1 0” is 4, the shift operation is performed to “1 1 1 00 0 00”.
CPU 2 3は、 可逆性左シフト演算したブロック構成データ f 00(0)' 〜; f 00 (15) ' で特定されるブロック相対デ一夕 F00' をエンコードする (ステップ ST 1 6 3) 。 エンコード処理は、 図 5ステップ ST2 1と同様であるので説明は省 略する。  The CPU 23 encodes the block relative data F00 'specified by the block configuration data f00 (0)' to f00 (15) 'obtained by performing the reversible left shift operation (step ST166). The encoding process is the same as that in step ST21 in FIG. 5, and a description thereof will be omitted.
C P U 23は、 ェンコ一ドによって得られた相対符号データおよびそのプロッ クにおける最小値 m i n E 00を圧縮後デ一夕としてハ一ドディスク 2 6に記憶し て、 第 00ブロックの符号化が終了する (ステップ ST 1 6 5) 。  The CPU 23 stores the relative code data obtained by the encoding and the minimum value minE00 in the block on the hard disk 26 as data after compression, and completes the coding of the 00th block. Yes (step ST 1 65).
これにより、 ブロックデ一夕 E00は、 シフト差分データ EOOg' で示されるグ ループ番号、 そのグループのインデックス番号、 最小値 m i n E00およびシフト 可能ビット量 S f 00にデータ圧縮されたこととなる。 グループ番号は 3ビット、 インデックス番号は 8ビット、 最小値は 5ビット、 シフト可能ビット量 S f 00は 3ビットであるので、 1ブロックのデ一夕 ( 8ビット * 1 6 = 2 5 6ビット) は 1 9ビッ卜のデータに圧縮される。  As a result, the block data E00 is compressed into the group number indicated by the shift difference data EOOg ', the index number of the group, the minimum value min E00, and the shiftable bit amount Sf00. The group number is 3 bits, the index number is 8 bits, the minimum value is 5 bits, and the shiftable bit amount S f00 is 3 bits, so that one block of data (8 bits * 16 = 2 56 bits) Is compressed to 19 bits of data.
このように、 相対化してから、 そのブロックの最大の相対ブロック構成データ の最上位ビッ卜が 1となるまで左へシフト演算を行なうこと (可逆性左シフト演 算) により、 より再現性の高い圧縮を行なうことができる。 なぜなら、 各ブロッ  In this way, by performing the shift operation to the left until the most significant bit of the largest relative block configuration data of the block becomes 1 after relativization (reversible left shift operation), higher reproducibility is obtained. Compression can be performed. Because each block
― I 4 ― 差替え用紙 (規則 26) ク構成データを最小値によって相対化することにより、 低周波成分を除去できる。 これにより、 コードブックの数を減らすことができる。 さらに、 動的に変動する 可逆性左シフト演算量によって、 コードブックの数を減らすことができる。 すな わち、 コードブックの数が同じであれば、 精度を高めることができるからである。 つぎに復号化について説明する。 ― I 4 ― Replacement form (Rule 26) The low-frequency component can be removed by relativizing the clock configuration data by the minimum value. This can reduce the number of codebooks. Furthermore, the number of codebooks can be reduced due to the dynamically changing reversible left shift operation amount. That is, if the number of codebooks is the same, accuracy can be improved. Next, decoding will be described.
CPU 23は、 処理対象ブロック番号 hを初期化し (図 1 2ステップ ST 1 7 1 ) 、 第 hブロックの圧縮デ一夕をハードディスク 26から読み出して、 メモリ 27に記憶する (ステップ ST 1 73) 。 この場合、 処理対象ブロック番号 h = 00であるので、 第 00ブロックの圧縮データが読み出される。 第 00ブロックの圧縮 データは、 既に説明したように、 グループ番号、 そのグループのインデックス番 号、 最小値 m i n E00およびシフト可能ビット量 S f 00から構成されている。 つぎに、 C PU 23は、 メモリ 27に読み出した圧縮データを、 ハードデイス ク 26に記憶されているコードブックを用いて復号化する。 具体的には、 CPU 23は、 グループ番号およびインデックス番号で特定される相対ブロックデ一夕 に復号化する (ステップ ST 1 75) 。  The CPU 23 initializes the block number h to be processed (step ST 17 1 in FIG. 12), reads out the compressed data of the h-th block from the hard disk 26, and stores it in the memory 27 (step ST 173). In this case, since the processing target block number h = 00, the compressed data of the 00th block is read. As described above, the compressed data of the 00th block includes a group number, an index number of the group, a minimum value minE00, and a shiftable bit amount Sf00. Next, the CPU 23 decodes the compressed data read out to the memory 27 using the codebook stored in the hard disk 26. Specifically, CPU 23 decodes the relative block data specified by the group number and the index number (step ST175).
つぎに、 CPU 23は、 シフト可能ビット量 S f 00を用いて可逆性右シフト演 算を行なう (ステップ ST 1 77) 。 例えば、 ブロック構成データ f 00(0)' 「1 1 1 00000 J は 「00001 1 1 0」 となる。  Next, the CPU 23 performs a reversible right shift operation using the shiftable bit amount Sf00 (step ST177). For example, the block configuration data f 00 (0) ′ “1 1 1 00000 J becomes“ 0000 1 1 1 0 ”.
CPU 23は、 相対基準値である最小値 m i n E00を用いて、 この相対ブロッ クデ一夕を変換する (ステップ ST 1 78) 。 具体的には、 復号化された相対ブ ロックデータを構成する相対ブロック構成デ一夕に最小値 m i n E00を加算する。 これにより、 第 00ブロックの復号化が終了する。  The CPU 23 converts the relative block data using the minimum value minE00 that is the relative reference value (step ST178). Specifically, the minimum value minE00 is added to the relative block configuration data constituting the decoded relative block data. Thus, decoding of the 00th block is completed.
その後の処理は、 図 1 0のステップ S T 39と同様に、 全ブロックについて、 復合化が終了するまで、 ステップ ST 1 73〜ステップ ST 1 78の処理を繰返 す。  In the subsequent processing, as in step ST39 of FIG. 10, the processing of steps ST173 to ST178 is repeated for all blocks until decoding is completed.
この実施形態においては、 シフト可能ビット量 S ί ijのビット長が可変であつ ても、 可逆性左シフト演算したブロック構成データ f 00(0)' 〜 f 00(15)' のビ ット長は変化しない。 これにより、 シフ ト可能ビット量 S f ijの分だけ実質的な 有効桁数を減らしつつ、 かつ演算処理を簡易とすることができる。 しかし、 これ  In this embodiment, even if the bit length of the shiftable bit amount Sίij is variable, the bit lengths of the block configuration data f 00 (0) ′ to f 00 (15) ′ subjected to the reversible left shift operation are Does not change. This makes it possible to reduce the effective number of significant digits by the shiftable bit amount S f ij and to simplify the arithmetic processing. But this
― I 5 ― 差替え用紙 (規則 26) に限定されず、 ブロック構成データ f 00 (0) ' 〜 f 00 (15) ' のビット長を可変に してもよい。 例えば、 ブロック番号 0のシフト可能ビット量 S f 00が 4で、 かつ、 ブロック番号 0のブロック構成デ一夕 f 00 (0) 「0 0 0 0 0 1 1 0」 である場合 には、 可逆性左 4ビットシフトしたシフトブロック構成データ f 00 (0) ' は 「0 1 1 0 0 0 0 0」 ではなく、 「0 1 1 0」 となる。 ― I 5 ― Replacement form (Rule 26) The bit length of the block configuration data f 00 (0) ′ to f00 (15) ′ may be made variable. For example, if the shiftable bit amount S f00 of the block number 0 is 4 and the block configuration data of the block number 0 is f 00 (0) “0 0 0 0 1 1 0”, The shift block configuration data f 00 (0) ′ shifted left by 4 bits is “0 1 1 0” instead of “0 1 1 0 0 0 0 0”.
上記第 1および第 2実施形態においては、 1ブロックごとに相対基準値を求め るようにしているが、 複数のブロックで 1の相対基準値を設定するようにしても よい。 これにより、 複数ブロックにて同じ相対基準値を用いることができるので、 その分だけ圧縮率を高くすることができる。 例えば 2 * 2 = 4ブロックで、 1つ の相対基準値を設定すればよい。  In the first and second embodiments, the relative reference value is obtained for each block. However, one relative reference value may be set for a plurality of blocks. As a result, the same relative reference value can be used in a plurality of blocks, so that the compression ratio can be increased accordingly. For example, one relative reference value may be set in 2 * 2 = 4 blocks.
また、 このように、 複数ブロックで共通の相対基準値を設定した場合には、 以 下の様にすることにより、 より正確な符号化をすることができる。  Further, when a common relative reference value is set in a plurality of blocks as described above, more accurate encoding can be performed by performing the following.
例えば、 4ブロックで 1の相対基準値を設定した場合に、 3つのブロックにつ いては、 シフト可能ビット量 S f i jが 2であり、 1つのブロックについては、 シ フト可能ビット量 S f i jが 5であったとする。 この場合、 シフト可能ビット量 S f i jが 5のブロックだけは、 さらに 3ビットシフトしたことを記憶するようにす る。 具体的には、 この様な特殊な処理を行なったというフラグと、 そのブロック 番号と追加シフトビット数を記億する。 なお、 追加シフトビット数ではなく、 そ のブロックだけのシフト可能ビット量 S f i jを記憶するようにしてもよい。  For example, if a relative reference value of 1 is set in 4 blocks, the shiftable bit amount S fij is 2 for 3 blocks and the shiftable bit amount S fij is 5 for one block. Assume that In this case, only the block with the shiftable bit amount Sf ij of 5 stores the fact that it is further shifted by 3 bits. Specifically, a flag indicating that such special processing has been performed, its block number, and the number of additional shift bits are recorded. Note that, instead of the number of additional shift bits, the shiftable bit amount Sf ij of only that block may be stored.
このような特殊処理を行なうことにより、 圧縮率が低下する。 したがって、 例 えば、 低下する圧縮率についてしきい値を決定しておき、 データ量がしきい値を 越えないか否かで決定するようにすればよい。  Performing such special processing lowers the compression ratio. Therefore, for example, a threshold value may be determined for the decreasing compression ratio, and the determination may be made based on whether or not the data amount does not exceed the threshold value.
なお、 かかる 1の相対基準値を設定するブロック群を符号化対象の画像の空間 周波数に応じて、 変動させる (空間周波数が高い場合は、 ブロック数を少なく、 空間周波数が低い場合は、 ブロック数を多くする) ようにしてもよい。  Note that the block group for setting the relative reference value of 1 is varied according to the spatial frequency of the image to be encoded (the number of blocks is small when the spatial frequency is high, and the number of blocks is low when the spatial frequency is low). May be increased).
また、 上記第 1および第 2実施形態を組合わせることもできる。 例えば、 図 8 Dに示す各ブロック構成デ一夕 e 00 (0)〜 e 00 ( 15)について、 予め決められた数 (例えば 2ビット) だけ量子化し、 得られたシフトブロック構成データを相対化 し、 可逆性左シフト演算を行ない、 ベクトル量子化をするようにしてもよい。 可  Further, the first and second embodiments can be combined. For example, each of the block configuration data e 00 (0) to e 00 (15) shown in FIG. 8D is quantized by a predetermined number (for example, 2 bits), and the obtained shift block configuration data is relativized. Alternatively, a reversible left shift operation may be performed to perform vector quantization. Yes
― 1 6 ― 差替え用紙 (規則 26) 逆性左シフト演算については、 既に説明したように、 最上位ビット MS Bから 0 が何ビット連続しているかを示すシフト可能ビット量 S f ijだけ、 シフト演算を 行なう。 ― 1 6 ― Replacement sheet (Rule 26) For the inverse left shift operation, as described above, the shift operation is performed by the shiftable bit amount S f ij indicating how many bits 0 are consecutive from the most significant bit MSB.
[C : コードブックの作成について]  [C: About creating a codebook]
上記実施形態においては、 コードブックには、 圧縮対象の画像デ一夕に応じた ブロックデータを記憶することが望ましい。 以下に、 コードブックの候補データ の決定処理 (学習処理) について説明する。  In the above embodiment, it is desirable that the codebook store block data corresponding to the image data to be compressed. In the following, the process of determining codebook candidate data (learning process) will be described.
本実施形態においては、 ニューラルネッ トワークのアルゴリズムの 1つである コホ一ネン (T. Ko h o n e n n) によって開発された自己組織化特徵写像の アルゴリズムを用いて、 以下の様にして、 コードブック (図 9参照) の作成を 処理を行なった。  In the present embodiment, a code book (FIG. 1) is used as follows using an algorithm of a self-organizing feature mapping developed by T. Kohonen, which is one of the algorithms of the neural network. 9) was processed.
まず、 00~ff (0〜255) までの計 256個のブロックデ一夕を作成してお く。 かかる作成は、 例えば、 ブロックデータを構成する各ブロック候補データに ついて、 乱数を発生させて、 決定すればよい。 なお、 乱数の範囲は、 コードブッ クに記憶されているブロック構成デ一夕のビット長に応じて決定すればよい。 こ の場合、 コートブック K (図 9参照) において、 各ブロック構成デ一夕は 4ビッ トデ一夕であるので、 0〜1 5までの範囲で乱数を発生させればよい。  First, create a total of 256 blocks from 00 to ff (0 to 255). Such creation may be determined, for example, by generating a random number for each block candidate data constituting the block data. Note that the range of the random numbers may be determined according to the bit length of the block configuration data stored in the codebook. In this case, in the coat book K (see Fig. 9), since each block configuration data is a 4-bit data, random numbers may be generated in the range of 0 to 15.
なお、 前記各ブロックデータに付与されるインデックス番号は、 図 1 3に示す ように、 2次元空間における i j座標で特定されるものとする。 この場合、 コ一 ドブック Pには、 256個のブロックデータが存在するので、 インデックス番号 I nは i =0〜 1 6, j =0〜 l 6の 2次元座標で特定できる。 例えば、 インデ ックス番号 I n02という様に、 表される。  The index number given to each block data is specified by ij coordinates in a two-dimensional space as shown in FIG. In this case, since 256 blocks of data exist in the codebook P, the index number In can be specified by the two-dimensional coordinates of i = 0 to 16, j = 0 to l6. For example, it is represented as index number In02.
また、 CPU 23は、 ハードディスク 26から、 静止画デ一夕を読み出し、 メ モリ 27に記憶するとともに、 これを 4 * 4画素で構成されるブロックに分割す して、 テスト対象のブロックデータを作成しておく。 この場合、 テスト対象のブ ロックデータ T e 00は、 以下の様に表される。  In addition, the CPU 23 reads out the still image data from the hard disk 26, stores it in the memory 27, divides it into blocks of 4 * 4 pixels, and creates block data to be tested. Keep it. In this case, the block data T e00 to be tested is represented as follows.
T e 00= ( te00(0)、 t e00(l), · · · 、 t e00(15))  T e 00 = (te00 (0), t e00 (l), ..., t e00 (15))
このブロックデータ T e 00をコードブック Pに記憶されているブロック構成デ —夕のビット長と一致させる為に、 右に 4ビットシフト処理を行なう (図 14ス  In order to make the block data Te 00 coincide with the bit length of the block configuration data stored in the codebook P, a 4-bit shift processing is performed to the right (see FIG. 14).
一 17 ― 差替え用紙 (規則 26) テツプ ST 9 1 : これにより、 以下の様なシフトブロックデ一夕 Te 00' が得 られる。 I 17-Replacement form (Rule 26) Step ST91: Thus, the following shift block data Te00 'is obtained.
T e 00' = ( 、 t e00(l)くぐ、 · · ·、 t e00(15)«4) T e 00 '= (, t e00 (l),,, t e00 (15) « 4 )
つぎに、 CP -f 3は、 シフトブロックデータ Te 00' を学習対象のコードブ ック で、 符号 1 、 符号化データを得る (ステップ ST93) 。 かかる符号化 は、 第 1の実施 f と同様に、 インデックス番号 I n00〜 I η Πのそれぞれのブ ロックデ一夕に、! 'て、 ずれ総計 TOを求め、 これが一番小さいものを選択する ことにより決定; る。  Next, CP-f3 obtains the code 1 and the coded data by using the shift block data Te 00 'as a learning target code book (step ST93). Such encoding is performed, as in the first implementation f, at each block block of index numbers I n00 to I η Π,! Then, the total deviation TO is determined, and this is determined by selecting the smallest one;
つぎに、 得ら; 符号化データを同じコードブック Kを用いて、 デコ一ドする (ステップ S T ) 。 これを符号復合ブロックデータ U00とする。 符号復合ブ 口ックデ一夕 u( 以下の式で表される。  Next, the encoded data is decoded using the same codebook K (step S T). This is code decoding block data U00. Code decoding block u (represented by the following equation.
U00= (uOO' u00(l), · · ·〜, u00(15))  U00 = (uOO 'u00 (l), · · · ~, u00 (15))
つぎに、 CPi 3は、 学習対象となるブロックデータを決定する (ステップ  Next, CPi 3 determines the block data to be learned (step
Figure imgf000020_0001
まず、 1つめの学習対象のブロックデータについて、 学習処理を行なう。 この 場合、 1つめの学習対象のブロックデータは、 インデックス番号 I n32で特定さ れるブロックデータである。 これをブロックデータ K32とすると、 ブロックデ一 夕 K32は以下の様に表される。
Figure imgf000020_0001
First, a learning process is performed on the first block data to be learned. In this case, the first block data to be learned is the block data specified by the index number In32. Assuming this as block data K32, block data K32 is expressed as follows.
K32= (k32(0), k32(l), · · · 、 k32(15))  K32 = (k32 (0), k32 (l), ..., k32 (15))
なお、 ブロックデータ K32を構成する各データは、 4ビットデ一夕である。 一方、 テス卜対象のブロックデータ T e OOを 4ビッ トデ一夕に変換したシフトブ ロックデ一夕 T e 00' は、 Each data constituting the block data K32 is a 4-bit data. On the other hand, the shift block data T e00 ′ obtained by converting the block data T OO to be tested into a 4-bit data block is
T eOO' = ( t e00(0)〈ぐ、 t e00(l)〈ぐ、 · · ·、 t e00(15)«4) T eOO '= (t e00 (0) <g, t e00 (l) <g, ···, t e00 (15) « 4 )
で表される。 It is represented by
この両ブロックデ一夕の差に係数) 3を乗算したものを、 学習対象のブロックデ 一夕から減算する。 すなわち、 学習後のブロックデ一夕 L32は、 以下の様に表さ れる。  The difference between the two blocks is multiplied by a factor of 3 and then subtracted from the block to be learned. That is, the block data L32 after the learning is expressed as follows.
L32 = K32- β · (Κ32-Τ eOO' )  L32 = K32- β · (Κ32-Τ eOO ')
(ここで、 0ぐ 3 < 1とする)  (Where 0 is less than 3 <1)
すなわち、 That is,
L32= ( 1 - )3) -K32- j3 ·Τ eOO'  L32 = (1-) 3) -K32- j3
具体的には、 ブロックデータ L32を構成するブロック構成データ L32(0) ' 〜 L32(15) ' は、 以下のようにして求められる。  Specifically, the block configuration data L32 (0) ′ to L32 (15) ′ forming the block data L32 are obtained as follows.
L32(0) ' = ( 1 - /3) ·Κ32(0) - )3 · t e 00(0)〈ぐ  L32 (0) '= (1-/ 3) Κ32 (0)-) 3 t e 00 (0)
L32(l) ' =( 1 - j3)-K32(l) - /3 · t eO0(l)«4 L32 (l) '= (1-j3) -K32 (l)-/ 3 t eO0 (l) « 4
L32(15) ' = ( 1 一 3) ·Κ32(15)— β · t e L32 (15) '= (1 1 3) · Κ32 (15) — β · t e
このような処理を他のインデックス番号 I n33、 I n34、 I n42、 I n43、 I n44、 I n42、 I n52、 I n53、 I n 54で特定されるブロックデ一夕について行 なう。  Such a process is performed for the block data identified by the other index numbers In33, In34, In42, In43, In44, In42, In52, In53, and In54.
なお、 この場合、 前記正方形 S Q内に位置するブロックデータのうち、 テスト 対象のブロックデータ T e00と、 誤差が多いブロックデータほど、 前記学習処理  In this case, among the block data located in the square SQ, the block data T e00 to be tested and the block data having a larger error
— I 9 — 差替え用紙 (規則 26) における減算値が大きくなり、 誤差が少ないブロックデータほど、 前記学習処理 における減算値が小さくなる。 これにより、 前記正方形 S Q内に位置するブロッ クデ一夕は、 あるブロックデ一夕に収束していくこととなる。 — I 9 — Replacement sheet (Rule 26) The subtraction value in becomes larger, and the smaller the error is, the smaller the subtraction value in the learning process becomes. As a result, the blocks located within the square SQ converge to a certain block.
また、 係数 )3については、 係数 αと同様に、 任意の値とするが、 学習の初期で は大きく、 学習が進むにつれて小さくさせていく。 すなわち、 学習が進むにつれ て、 誤差修正値が小さくなつていく。  Also, the coefficient) 3 is an arbitrary value, like the coefficient α, but is large at the beginning of learning and is reduced as the learning progresses. In other words, as the learning progresses, the error correction value decreases.
このようにして、 テスト対象のブロック構成デ一夕 T e OOによる学習処理が終 了する。 かかる学習処理、 すなわち、 別のテスト対象のブロック構成データ T e 01、 T e 02 · · ·による学習処理を繰返して実行することにより、 最初に乱数を 発生させた作成したコードブックから適切なコードブックを作成することができ る。  In this way, the learning process by the block configuration data T OO to be tested ends. By repeatedly executing the learning process, that is, the learning process using the different block configuration data T e 01 and T e 02 of the test object, an appropriate code is generated from the codebook generated first in which random numbers are generated. You can create a book.
なお、 上記説明では、 説明を簡略化する為に初期に作成するブロックデータの 数を 2 5 6個としたが、 初期状態では、 5 1 2個、 1 0 2 6個等、 多くしておい て、 収束したブロックデータを 1つにまとめるようにしてもよい。  In the above explanation, the number of block data created initially is set to 256 for simplicity of explanation, but in the initial state, it is increased to 512, 1026, etc. Then, the converged block data may be combined into one.
また、 上記説明学習対象のブロックデータを決定するのに、 一辺ひの正方形 S Qを定義したが、 これ以外に円、 その他の多角形を定義するようにしてもよい。 また、 上記説明では、 前記各ブロックデ一夕に付与されるインデックス番号は、 図 1 3に示すように、 2次元空間における i j座標で決定するようにしたが、 こ れに限定されず、 3次元、 さらに多次元空間における位置として決定するように してもよい。 もし、 3次元空間を考える場合には、 インデックス番号 I n 43から 所定距離内にある領域は立体とすればよい。  Further, although the square SQ having one side is defined for determining the block data to be explained in the above description, a circle and other polygons may be defined. In the above description, the index numbers assigned to the respective blocks are determined by ij coordinates in a two-dimensional space as shown in FIG. 13, but the present invention is not limited to this. It may be determined as a position in a dimension and further in a multidimensional space. If a three-dimensional space is considered, a region within a predetermined distance from the index number In 43 may be a solid.
また、 第一実施形態においては、 前記差分データに基づいて、 グループ 0〜 7 に区分されている。 したがって、 各グループごとに合致する差分データを有する テス卜対象ブロック構成データを与えるようにすればよい。  In the first embodiment, the data is divided into groups 0 to 7 based on the difference data. Therefore, test target block configuration data having difference data matching each group may be provided.
なお、 上記実施形態においては、 図 1 4ステップ S T 9 9における学習処理に ついて、 正方形 S q内に位置するブロックデータをすベて、 収束させるように処 理した。 しかし、 以下の様に処理することもできる。  In the above embodiment, the learning process in step ST99 of FIG. 14 is performed so that all the block data located within the square Sq are converged. However, it can also be processed as follows.
正方形 S Q内の領域を 2つに分けて、 中心に近い領域 S q iと中心から遠い領 域 S q oの 2つの領域に分ける。 中心に近い領域 S q iに属するブロックデータ  The area within the square SQ is divided into two areas, and the area Sqi near the center and the area Sqo far from the center are divided into two areas. Block data belonging to the area S q i near the center
― 2 0 ― 差替え用紙 (規則 26) については、 前記両ブロックデータの差に係数 3を乗算したものを、 学習対象の ブロックデータから減算する処理を行なう。 すなわち、 学習後のブロックデ一夕 Kxy* は、 以下の様に表される。 ― 20 ― Replacement sheet (Rule 26) For, a process of subtracting the result of multiplying the difference between the two block data by the coefficient 3 from the block data to be learned is performed. In other words, the block length after learning Kxy * is expressed as follows.
Kxy' =Kxy- /3 - (Kxy-T eOO' )  Kxy '= Kxy- / 3-(Kxy-T eOO')
(ここで、 0<i3ぐ 1とする)  (Where 0 <i3 x 1)
これに対して、 中心から遠い領域 S q oに属するブロックデータについては、 前記両ブロックデ一夕の差に係数 /3を乗算したものを、 学習対象のブロックデー 夕に加算する処理を行なう。 すなわち、 学習後のブロックデータ Kxy' は、 以下 の様に表される。  On the other hand, for the block data belonging to the region Sqo far from the center, a process of multiplying the difference between the two block data by a factor of / 3 and adding the result to the learning target block data is performed. That is, the block data Kxy 'after learning is represented as follows.
Kxy' =Kxy+ β - (Kxy-T eOO' )  Kxy '= Kxy + β-(Kxy-T eOO')
(ここで、 0<j3< 1とする)  (Where 0 <j3 <1)
このような処理を行なうことにより、 中心に近いものは収束させ、 中心からは なれているものについては、 遠ざける処理ができる。 これにより、 より早く収束 させることができる。  By performing such processing, it is possible to converge the one near the center and to move it away from the center. Thereby, convergence can be achieved faster.
なお、 中心に近いものは収束させ、 中心からはなれているものについては、 遠 ざける処理であればどのようなものであってもよく、 減算処理と加算処理にわけ のではなく、 分割した複数の領域について、 係数 ]3の値を変更するようにしても よい。  Note that those that are close to the center are converged, and those that are far from the center are not limited to subtraction processing and addition processing. The value of the coefficient] 3 may be changed for the region of.
なお、 本実施形態においては、 コードブックの候補デ一夕の学習処理として、 コホーネンのニューラルネットヮ一クを用いたが、 マルコフチェ一ンァルゴリズ ム等の他のニューラルネットワーク、 さらに、 GA (Genetic Algorithms), 他 の学習方式を採用してもよい。 さらに、 複数の学習方式を組合わせるようにして もよい。  In the present embodiment, the Kohonen neural network is used as the learning process for the code book candidate data. , Other learning methods may be adopted. Further, a plurality of learning methods may be combined.
[D :アダマール変換について]  [D: About Hadamard transform]
なお、 上記各実施形態においては、 ブロック構成データをアダマール (Ha d am a r d) 変換を行なうようにしてもよい。 例えば、 第 1実施形態では、 図 5 ステップ ST 1 9とステップ ST 2 1の間にて、 図 8 Aに示すシフトブロック構 成データ A00' を、 図 2 1に示すようなアダマール行列によって変換すればよい。 この場合、 復号化処理において、 図 1 0ステップ S T 37とステップ S T 38の  In each of the above embodiments, the block configuration data may be subjected to Hadamard (Hadamard) transformation. For example, in the first embodiment, the shift block configuration data A00 'shown in FIG. 8A is transformed by a Hadamard matrix shown in FIG. 21 between step ST19 and step ST21 in FIG. I just need. In this case, in the decryption process, the steps ST 37 and ST 38 in FIG.
— 2 I — 差替え用紙 (規則 26) 間で、 逆アダマール変換するようにすればよい。 — 2 I — Replacement Form (Rule 26) Inverse Hadamard transformation may be performed between them.
このように、 ベクトル量子化する前に、 アダマール変換を行なうことにより、 より精度の高い変換を行なうことができる。 これは、 アダマール変換によって、 各ブロックにおける直流成分を集中させることができるからである。 なお、 ァダ マール変換以外の直交変換、 例えば D C T等を用いてもよい。  In this way, by performing Hadamard transform before vector quantization, more accurate transform can be performed. This is because the DC component in each block can be concentrated by the Hadamard transform. Note that an orthogonal transform other than the Hadamard transform, such as DCT, may be used.
また、 相対化処理後、 アダマール変換を行なうことにより、 演算量は殆ど増え ず、 分解能を高めることができる。 これは、 低周波成分が相対化処理によって、 ほぼなくなってしまい、 高周波成分の分解能を高くすることができるからである。 このように、 アダマール変換は、 ブロック構成データの低周波成分を取り除いて から行なうことが望ましい。  Also, by performing Hadamard transformation after the relativization processing, the amount of calculation hardly increases, and the resolution can be increased. This is because low-frequency components are almost eliminated by the relativization process, and the resolution of high-frequency components can be increased. Thus, it is desirable to perform the Hadamard transform after removing the low frequency components of the block configuration data.
このように、 第 1実施形態においては、 相対化処理後、 アダマール変換し、 そ の後、 ベクトル量子化を行なっている。  As described above, in the first embodiment, the Hadamard transform is performed after the relativization process, and then the vector quantization is performed.
また、 第 2実施形態にでは、 図 1 1ステップ S T 1 5 7とステップ S T 1 5 9 の間に、 得られたブロック構成相対デ一夕をアダマール変換するようにすればよ い。 この場合、 復号化処理において、 図 1 2ステップ S T 1 7 7とステップ S T 1 7 8の間で、 逆アダマール変換するようにすればよい。  In the second embodiment, the obtained block configuration relative data may be subjected to Hadamard transform between step ST157 and step ST159 in FIG. In this case, in the decoding process, inverse Hadamard transform may be performed between step ST177 and step ST178 in FIG.
なお、 アダマール変換は、 可逆性左シフ ト演算 (ステップ S T 1 6 1 ) 前でな く、 可逆性左シフト演算終了後 (ステップ S T 1 6 1とステップ S T 1 6 3の間) に行なうようにしてもよい。 この場合、 復号化処理において、 図 1 2ステップ S T 1 7 5とステップ S T 1 7 7の間で、 逆アダマール変換するようにすればよレ^ なお、 本明細書において、 アダマール変換には高速アダマール変換を含む。  Note that the Hadamard transform should be performed after the end of the reversible left shift operation (between steps ST 161 and ST 163), not before the reversible left shift operation (step ST 161). You may. In this case, in the decoding process, the inverse Hadamard transform may be performed between the step ST 17 5 and the step ST 17 7 in FIG. 12. In this specification, the Hadamard transform is a fast Hadamard transform. Including conversion.
[ E :他の実施形態]  [E: Other embodiments]
なお、 上記各実施形態においては、 ディジタル画像データが得られているもの として説明したが、 かかるディジタル画像データについては、 例えば、 アナログ 静止画像データを標本化することにより、 得られる。  In the above embodiments, the digital image data has been described as being obtained. However, such digital image data can be obtained, for example, by sampling analog still image data.
また、 このディジタル画像デ一夕がカラー画像である場合には、 Y U V信号 (輝度信号 Yおよび色相信号 U V ) それぞれについて、 前記と同様の処理をすれ ばよい。  When the digital image data is a color image, the same processing as described above may be performed for each of the YUV signals (the luminance signal Y and the hue signal UV).
なお、 Y U V信号ではなく、 R G B (赤、 緑、 青) 信号または、 Y I Q (輝度  Note that instead of the YUV signal, the RGB (red, green, blue) signal or the YIQ (luminance
— 2 2 - 差替え用紙 (規則 26) 信号 Yおよび色相 1| :号 I Q ) などでもよい。 — 2 2-Replacement form (Rule 26) The signal Y and the hue 1 | : IQ) may be used.
また、 人間の視: は明暗で与えられた形状の細部に対しては鋭く、 敏感に反応 するが、 色彩の細; -:に対する反応は鈍いことが知られている。 したがって、 本実 施形態においては- '色相信号 U、 Vについては、 解像度を輝度信号 Yの 1ノ2と した。 これにより. りデータの圧縮度を高くすることができる。 上記各実施形態: : 3いては、 圧縮したデータを伝送する場合について説明した が、 そのまま、 デ '蓄積する場合にももちろん適用できる。  It is also known that human vision: responds sharply and sensitively to the details of a given shape in light and dark, but responds slowly to thin colors;-:. Therefore, in the present embodiment, the resolution of the hue signals U and V is set to 1 to 2 of the luminance signal Y. As a result, the degree of data compression can be increased. Each of the above-described embodiments has been described above: the case where compressed data is transmitted has been described. However, it is of course applicable to the case where data is stored as it is.
また、 上記各実'; 態においては、 静止画像をデータ圧縮する場合について説 明したが、 音声デ; 'についても、 同様に適用できる。 特に上記符号化方法では、 Also, in each of the above embodiments, the case where data compression is performed on a still image has been described, but the same can be applied to audio data. In particular, in the above encoding method,
F F T等の処理が Ί となるので、 高速に処理が可能である。 なお、 音声デ一夕 のサンプリング周 :は、 例えば、 4 4 Κ Η ζ程度とすればよい。 Since processing such as FFT is Ί , high-speed processing is possible. Note that the sampling period of the audio data may be, for example, about 44Κ.
なお、 前記第一- ':形態では、 1つの画素でも最大とか、 最小のものがあると 差分データ A i j g ;:が大きくなる。 すなわち、 ごみ等のエラーがあった場合に は、 本来とは別の.. :: -ドブックを用いて圧縮を行なうおそれがある。 したがって、 かかる問題を解決 4 ;)為に、 たとえば、 差分データ A i j g =最大値一最小値では なく、 差分データ- ί j gを、 (値が大きな画素の数画素分の平均値) から (値が 小さな画素の数画, ナの平均値) を減算することによって求めるようにしてもよ In the first- ′: form, the difference data A ijg;: becomes large if there is a maximum or a minimum even for one pixel. That is, when there is an error such as dust is separate from the original ..:: - there is a possibility to perform compression using a codebook. Therefore, in order to solve such a problem 4 ;), for example, instead of the difference data A ijg = the maximum value-the minimum value, the difference data--jg is calculated from (the average value of several pixels having large values) by (value May be obtained by subtracting several strokes of small pixels,
X  X
い。 { No. {
なお、 前記第 1 ί ¾形態においては、 差分データ A i j gの値に応じて 8グルー プに分類したが、 ,: レープ数については、 これにより多くまたは少なくするよう にしてもよい。 :  In the first embodiment, the data is classified into eight groups in accordance with the value of the difference data Aijg. However, the number of,: replies may be increased or decreased. :
また、 上記各実 _形態においては、 前記各機能を実現する為に、 C P U 2 3を 用い、 ソフトゥェ Fによってこれを実現している。 しかし、 その一部もしくは全 てを、 ロジック回!^等のハードウェアによって実現してもよい。 特に、 上記本実 施形態においては ¾ コードブックによって、 符号化及び復号化する。 したがって、 この、 符号化及 U 号化処理を、 1のチップによって実現することにより、 デー 夕圧縮が必要な機!^ 例えば、 テレビ電話、 デジタルビデオ等の機器にチップを 埋め込むだけで、 速かつ精度の高いデ一夕圧縮が可能となる。  Further, in each of the above-described embodiments, in order to realize the above-described functions, CPU 23 is used, and this is realized by software F. However, some or all of them are logic times! It may be realized by hardware such as ^. In particular, in the present embodiment, ¾ encoding and decoding are performed using a codebook. Therefore, by realizing this encoding and U-encoding processing with one chip, a machine that requires data compression! ^ For example, simply embedding the chip in video telephone, digital video, etc. High-precision data compression is possible.
上記においては 本発明を好ましい実施形態として説明したが、 各用語は、 限  Although the present invention has been described above as preferred embodiments, each term is not limited to
2 3 差替え用紙 (規則 26) 定のために用いたのではなく、 説明のために用いたものであって、 本発明の範囲 および精神を逸脱することなく、 添付のクレームの範囲において、 変更すること ができるものである。 2 3 Replacement form (Rule 26) It has been used for purposes of explanation, not for clarity, and may be modified within the scope of the appended claims without departing from the scope and spirit of the invention.
[ F :用語の定義]  [F: Definition of terms]
課題を解決するために案出した技術思想を表現するのに用いた請求項の用語の 概念を、 以下の様に定義するとともに、 その用語と実施形態との関係について説 明する。  The concept of the terms in the claims used to express the technical idea devised to solve the problem is defined as follows, and the relationship between the terms and the embodiments is explained.
「ブロック構成データ」 :ブロックデータを構成するデータをいい、 実施形態 においては、 1 6のブロック構成データによって、 1のブロックデ一夕を表すよ うにした。  “Block configuration data”: Refers to data configuring block data. In the embodiment, 16 block configuration data represents one block data.
「相対ブロック構成デ一夕」 :相対値で表されたプロック構成データをいう。 「相対ブロックデ一夕記憶手段」 :本実施形態においては、 図 9のコードブッ ク Kを記憶したハードディスク 2 6が該当する。  "Relative block configuration data": Block configuration data represented by relative values. "Relative block data storage means": In this embodiment, the hard disk 26 storing the code book K in FIG.
「変換基準値」 :符号化対象のブロックデータの各ブロック構成データを、 相 対値で表される相対ブロックデータに変換するためのデータであり、 第 1実施形 態においては、 符号化対象のブロックデ一夕を構成するブロック構成データの最 小値を採用した。  “Conversion reference value”: data for converting each block configuration data of the block data to be encoded into relative block data represented by a relative value. The minimum value of the block configuration data that constitutes block data was adopted.
「候補デ一夕」 : ブロックデ一夕およびこれに対応する符号から構成されてい る。 第 1実施形態においては、 図 9に示すコードブック Kのブロック構成データ および対応するインデックス番号に該当する。  “Candidate”: It is composed of “Block” and codes corresponding thereto. In the first embodiment, this corresponds to the block configuration data and the corresponding index number of the codebook K shown in FIG.
「第 1変換手段」 :第 1実施形態における C P U 2 3の図 5ステップ S T 1 9 の処理に該当する。  "First conversion means": corresponds to the processing of step ST19 in FIG. 5 of the CPU 23 in the first embodiment.
「相対ブロックデータ符号化手段」 :第 1実施形態における C P U 2 3の図 5ス テツプ S T 2 1の処理に該当する。  "Relative block data encoding means": Corresponds to the processing of step ST21 of FIG. 5 of CPU23 in the first embodiment.
「ブロック特性デ一夕演算手段」 :第 1実施形態における C P U 2 3の図 5ステ ップ S T 1 5、 ステップ S T 1 7の処理に該当する。  "Block characteristic data overnight calculation means": corresponds to the processing of step ST15 and step ST17 in FIG. 5 of the CPU 23 in the first embodiment.
「グループ別対応表」 :ブロック特性データに応じて、 グループ分けされており、 第 1実施形態におけるコードブック Kが該当する。  “Correspondence table by group”: Grouped according to block characteristic data, and corresponds to codebook K in the first embodiment.
「グループ名」 :第 1実施形態におけるコードブック の、 どのグループに属す  "Group name": which group of the codebook in the first embodiment belongs
— 2 4 — 差替え用紙 (規則 26) る相対ブロックデータをェンコ一ドに用いるかを特定する為の名称である。 なお、 ここでいう名称とは、 番号等を含む I Dをも含む概念である。 — 2 4 — Replacement sheet (Rule 26) This is a name for specifying whether to use relative block data for encoding. The name here is a concept including an ID including a number and the like.
「グループ内番号」 :第 1実施形態におけるコードブック Kの、 あるグループに 属するどの相対ブロックデータをェンコ一ドに用いるかを特定する為の名称であ る。 なお、 ここでいうグループ内番号とは、 名称等を含む I Dをも含む概念であ る。  "Group number": a name for specifying which relative block data belonging to a certain group in the codebook K in the first embodiment is used for encoding. Here, the intra-group number is a concept including ID including a name and the like.
「差分データ」 : 前記符号化対象の当該ブロックデータを構成する各ブロック構 成データの最大値と最小値との差分データであり、 第 1実施形態では、 最大値 m a X A i j ' 一最小値 m i n A i j ' で求められる。  “Difference data”: difference data between the maximum value and the minimum value of each block configuration data constituting the block data to be encoded. In the first embodiment, the maximum value ma XA ij ′ —the minimum value min A ij '.
「第 2変換手段」 :第 1実施形態における C P U 2 3の図 1 0ステップ S T 3 7 の処理に該当する。  "Second conversion means": corresponds to the process of step ST37 of FIG. 10 of CPU23 in the first embodiment.
「相対ブロックデータ復号化手段」 :第 1実施形態における C P U 2 3の図 1 0 ステップ S T 3 5の処理に該当する。  "Relative block data decoding means": Corresponds to the processing of step ST35 in FIG. 10 of CPU 23 in the first embodiment.
「直交変換」 :実施形態では、 アダマール変換が該当するが、 他の直交変換例え ば、 D C Tも含む。  "Orthogonal transform": In the embodiment, the Hadamard transform corresponds, but other orthogonal transforms include, for example, DCT.
「逆直交変換」 :直交変換の逆の処理行なうことをいい、 実施形態では、 逆ァダ マール変換が該当する。 :  "Inverse orthogonal transformation": Performing the inverse processing of the orthogonal transformation. In the embodiment, the inverse Hadamard transformation corresponds. :
「可逆性左シフト演算」 :所定ブロック毎に、 各ブロック構成デ一夕のうち最大 値のブロック構成データについて最上位ビッ卜が 1となるまで左へシフ卜演算を 行なうことをいい、 実施形態では、 例えば、 図 1 1ステップ S T 1 6 1の処理が 該当する。  “Reversible left shift operation”: Performs a shift operation to the left until the most significant bit becomes 1 for the maximum value of block configuration data in each block configuration data for each predetermined block. Then, for example, the process in FIG.
「可逆性右シフト演算」 :可逆性左シフトとは逆側にシフトすることをいい、 実 施形態では、 例えば図 1 2ステップ S T 1 7 7の処理が該当する。  "Reversible right shift operation": Shifting to the opposite side from the reversible left shift. In the embodiment, for example, the process of step ST177 in FIG.
[ G :発明の効果]  [G: Effect of the invention]
本発明にかかる符号化装置、 符号化方法においては、 前記符号化対象のブロッ クデ一夕について、 所定数のブロック毎に変換基準値を決定し、 当該所定数のブ ロックを構成する各プロック構成データを、 前記変換基準値に対する相対値で表 される相対ブロックデータに変換し、 前記変換後の相対ブロックデ一夕を予め記 憶された候補データによって符号化し、 各ブロックごとに符号化データを出力す  In the encoding device and the encoding method according to the present invention, for the block data to be encoded, a conversion reference value is determined for each of a predetermined number of blocks, and each block constituting the predetermined number of blocks is determined. The configuration data is converted into relative block data represented by a relative value with respect to the conversion reference value, and the converted relative block data is coded with candidate data stored in advance, and coded data is stored for each block. Output
— 2 5 — 差替え用紙 (規則 26) るとともに、 所定数のブロック毎に前記変換基準値を出力する。 このように、 前 記所定数のブロック毎に前記相対基準値を用いて、 前記相対ブロックデータに変 換して、 符号化することにより、 記憶する候補データを減らしても、 精度の高い 圧縮が可能となる。 また、 記憶する候補データを減らせることにより、 高速符号 化も可能となる。 — 2 5 — Replacement sheet (Rule 26) And outputs the conversion reference value for each predetermined number of blocks. In this way, even if the number of candidate data to be stored is reduced by performing conversion into the relative block data using the relative reference value for each of the predetermined number of blocks and encoding, the compression can be performed with high accuracy. It becomes possible. Also, by reducing the number of candidate data to be stored, high-speed encoding becomes possible.
本発明にかかる符号化装置、 符号化方法においては、 前記記憶されている候補 データは、 前記相対プロックデ一夕を構成する各ブロック構成データの分布特性 に基づいて特定される前記ブロック特性デ一夕に応じてグループ分けされている。 また、 前記符号化対象のプロックデータを構成する各プロック構成デ一夕の分布 特性に基づいて、 当該ブロックデータにおけるブロック特性データを演算し、 前 記ブロック特性データに基づいて、 前記記憶された候補データのうちいずれのグ ループの候補データを用いるかを決定して、 このグループ名およびグループ内番 号を前記相対符号データとして、 出力する。  In the encoding device and the encoding method according to the present invention, the stored candidate data is the block characteristic data specified based on a distribution characteristic of each block configuration data constituting the relative block data. Are grouped according to Further, based on distribution characteristics of each block configuration data constituting the block data to be encoded, block characteristic data in the block data is calculated, and the stored candidate is calculated based on the block characteristic data. It determines which group of candidate data to use among the data, and outputs the group name and the intra-group number as the relative code data.
したがって、 前記プロック特性データに応じた候補デ一夕を記憶することがで きる。 これにより、 記憶する候補データを減らしても、 精度の高い圧縮が可能と なる。 また、 記憶する候補データを減らせることにより、 高速符号化も可能とな る。  Therefore, the candidate data corresponding to the block characteristic data can be stored. This enables highly accurate compression even when the number of candidate data to be stored is reduced. Also, by reducing the number of candidate data to be stored, high-speed encoding becomes possible.
本発明にかかるデータ符号化装置においては、 前記第 1変換手段は、 前記所定 数のプロック毎にプロック構成データのうちの最小値を変換基準値として決定す る。 したがって、 前記変換基準値の決定が容易である。  In the data encoding device according to the present invention, the first conversion means determines a minimum value of block configuration data as a conversion reference value for each of the predetermined number of blocks. Therefore, it is easy to determine the conversion reference value.
本発明にかかるデータ符号化装置においては、 前記ブロック特性デ一夕演算手 段は、 前記符号化対象の当該ブロックデータを構成する各ブロック構成データの 最大値および最小値との差分データを、 当該ブロックデータにおけるブロック特 性データとして求める。 したがって、 前記差分デ一夕に応じたブロック特性デ一 夕を求めることができる。  In the data encoding device according to the present invention, the block characteristic data calculating means may calculate difference data between a maximum value and a minimum value of each block configuration data constituting the block data to be encoded. Obtained as block characteristic data in block data. Therefore, it is possible to obtain the block characteristic data corresponding to the difference data.
本発明にかかるデータ符号化装置においては、 前記相対ブロックデータ符号化 手段は、 前記各ブロックデータ毎の符号化を行なう前に、 所定の量子化を行なう。 したがって、 記憶する候補デ一夕を減らすことができる。 これにより、 高速演算 が可能となる。  In the data encoding device according to the present invention, the relative block data encoding unit performs a predetermined quantization before encoding the block data. Therefore, the number of candidate data to be stored can be reduced. This enables high-speed operation.
一 2 6 ― 差替え用紙 (規則 26) 本発明にかかるデータ符号化装置または方法においては、 前記各ブロックデー 夕毎の符号化を行なう前に、 所定ブロック毎に、 各ブロック構成データのうち最 大値のブロック構成データについて最上位ビッ 卜から 0が何ビッ卜連続している かを示すシフト可能ピッ卜量を求め、 所定ブロック毎に前記シフ卜可能ビッ ト量 に基づいて各ブロック構成データを可逆性左シフト演算し、 前記符号化を行ない、 所定ブロック毎にシフト可能ビット量を出力する。 したがって、 精度を落とすこ となく記憶する候補デ一夕を減らすことができる。 I 26-Replacement sheet (Rule 26) In the data encoding device or method according to the present invention, before performing the encoding for each of the block data, the most significant bit of the block configuration data having the maximum value among the block configuration data is determined for each predetermined block. , A shiftable bit amount indicating how many bits are consecutive from 0 is obtained, and a reversible left shift operation is performed on each block configuration data for each predetermined block based on the shiftable bit amount. And outputs the shiftable bit amount for each predetermined block. Therefore, the number of candidate data to be stored can be reduced without lowering the accuracy.
本発明にかかるデータ符号化装置または方法においては、 前記ブロック構成デ 一夕を前記相対ブロック構成データに変換する際に直交変換を行なう。 したがつ て、 より精度の高い変換を行なうことができる。  In the data encoding device or method according to the present invention, orthogonal transform is performed when the block configuration data is converted into the relative block configuration data. Therefore, more accurate conversion can be performed.
本発明にかかるデータ符号化装置においては、 前記第 1変換手段は、 相対プロ ックデータに変換した後、 前記直交変換を行なう。 したがって、 より精度の高い 変換を行なうことができる。  In the data encoding device according to the present invention, the first conversion means performs the orthogonal transform after converting the data into relative block data. Therefore, more accurate conversion can be performed.
本発明にかかるデータ符号化装置においては、 前記第 1変換手段は、 相対プロ ックデ一夕に変換する前に、 前記符号化対象のブロックデータを構成する各プロ ック構成デ一夕を、 所定のビッ卜数で表されるブロック構成デ一夕に右シフト演 算する。 したがって、 演算量は殆ど増えず、 分解能を高めることができる。  In the data encoding apparatus according to the present invention, the first conversion unit may convert each block configuration data constituting the block data to be encoded into a relative block data before performing the conversion to a relative block data. The right shift operation is performed in the block configuration data represented by the number of bits. Therefore, the amount of calculation hardly increases, and the resolution can be increased.
本発明にかかるデータ符号化装置においては、 相対ブロックデータに変換した 後、 前記符号化対象のブロックデ一夕を構成する各ブロック構成デ一夕を、 所定 のビット数で表されるブロック構成データに可逆性左シフト演算する。 このよう に、 相対化した後、 可逆性左シフトし、 直交変換することにより、 分解能を高め ることができる。  In the data encoding apparatus according to the present invention, after converting into relative block data, each block configuration data constituting the block data to be encoded is converted into block configuration data represented by a predetermined number of bits. The reversible left shift operation is performed. In this way, the resolution can be increased by performing reversible left shift and orthogonal transformation after relativization.
本発明にかかるデータ符号化装置においては、 前記直交変換後、 可逆性左シフ 卜演算する。 このように、 相対化した後、 直交変換し、 可逆性左シフトすること により、 相対化した後、 可逆性左シフトし、 直交変換と比べてより分解能を高め ることができる。  In the data encoding device according to the present invention, after the orthogonal transform, a reversible left shift operation is performed. In this way, by performing the orthogonal transformation after the relativization and performing the reversible left shift, the reversibility is reversibly shifted to the left and the resolution can be further improved as compared with the orthogonal transformation.
本発明にかかるデータ複号化装置、 デ一夕復号化方法においては、 前記符号化 データを、 予め記憶された候補データを用いて、 復号化し、 前記復号化された相 対ブロックデ一夕を、 前記所定数のブロック毎の変換基準値を用いて、 符号化前  In the data decoding device and the data decoding method according to the present invention, the encoded data is decoded using candidate data stored in advance, and the decoded relative block data is decoded. Using the conversion reference value for each of the predetermined number of blocks, before encoding
— 2 7 — 差替え用紙 (規則 26) のブロックデータに変換する。 したがって、 前記相対符号データおよび前記変換 基準値が与えられると、 これを復号化することができる。 — 2 7 — Replacement sheet (Rule 26) Is converted to block data. Therefore, given the relative code data and the conversion reference value, they can be decoded.
本発明にかかるデータ復号化装置、 データ復号化方法においては、 前記ブロッ ク特性データに応じて、 グループ分けしたグループ別対応表を記憶しており、 前 記相対符号データとして、 グループ名およびグループ内番号が与えられると、 こ のグループ名およびグループ内番号によって、 前記グループ別対応表のいずれの 候補データを用いるかを決定する。 したがって、 前記変換基準値および前記相対 符号データとしてのグループ名およびグループ内番号が与えられると、 これを復 号化することができる。  In the data decoding device and the data decoding method according to the present invention, a group correspondence table divided into groups according to the block characteristic data is stored, and a group name and a group When a number is given, it is determined which candidate data in the group correspondence table is to be used based on the group name and the intra-group number. Therefore, when the conversion reference value and the group name and the intra-group number as the relative code data are given, they can be decoded.
本発明にかかるデータ復号化装置においては、 所定ブロック毎に、 各ブロック 構成データのうち最大値のブロック構成データについて最上位ビッ卜から 0が何 ビット連続しているかを示すシフト可能ビット量に基づいて各ブロック構成デー 夕を逆シフ ト演算し、 前記復号化をする。 したがって、 記憶する候補デ一夕を減 らしても精度を落とすことなく復号化できる。  In the data decoding device according to the present invention, for each predetermined block, the maximum value of the block configuration data of each block configuration data is based on the shiftable bit amount indicating how many 0s are consecutive from the most significant bit. Inversely, each block configuration data is subjected to an inverse shift operation to perform the decoding. Therefore, even if the number of stored candidate data is reduced, decoding can be performed without lowering the accuracy.
本発明にかかるデータ復号化装置またはデ一夕復号化方法においては、 前記符 号化前のブロックデ一夕に変換する前に、 逆直交変換を行なう。 したがって、 前 記相対ブロック構成データに変換する際に直交変換がなされたデータについて、 復号処理をすることができる。  In the data decoding device or the data decoding method according to the present invention, an inverse orthogonal transform is performed before the data is converted into the block data before encoding. Therefore, decoding processing can be performed on data that has been orthogonally transformed when the data is converted into the relative block configuration data.
本発明にかかるデータ復号化装置においては、 前記第 2変換手段は、 前記変換 基準値を用いた変換を行なう前に、 前記逆直交変換を行なう。 したがって、 前記 相対ブロック構成データに変換する際に直交変換がなされたデータについて、 復 号処理をすることができる。  In the data decoding device according to the present invention, the second transforming unit performs the inverse orthogonal transform before performing the transform using the transform reference value. Therefore, it is possible to perform a decoding process on the data that has been subjected to the orthogonal transform when the data is converted into the relative block configuration data.
本発明にかかるデータ復号化装置においては、 前記第 2変換手段は、 前記変換 基準値を用いた変換を行なった後、 前記各ブロック構成データを、 前記所定のビ ット数で表されるブロック構成データに左シフト演算する。 したがって, 各プロ ック構成データが所定のビット数で表されるプロック構成デ一夕に右シフト演算 された場合でも、 確実に復号化することができる。  In the data decoding device according to the present invention, the second conversion unit may perform the conversion using the conversion reference value, and then convert each of the block configuration data into a block represented by the predetermined number of bits. Perform left shift operation on configuration data. Therefore, even if each block configuration data is right-shifted over a block configuration data represented by a predetermined number of bits, it can be reliably decoded.
一 2 8 One two eight
差替え用紙 (規則 26)  Replacement form (Rule 26)

Claims

請求の範囲  The scope of the claims
1 . ' 1. '
複数のブロック構成デ一夕から構成されるブロックデ一夕およびこれに対応す る符号を、 候補データとして複数記憶しておき、 符号化対象のブロックデータが 与えられると、 前記複数の候補デ一夕を用いて、 符号化するデータ符号化装置に おいて、  A plurality of block data composed of a plurality of block data and a code corresponding thereto are stored as candidate data, and when the block data to be coded is given, the plurality of candidate data are stored. In the data encoding device that encodes using the evening,
前記符号化対象のブロックデータについて、 所定数のプロック毎に変換基準値 を決定し、 当該所定数のブロックを構成する各ブロック構成データを、 前記変換 基準値に対する相対値で表される相対ブロックデータに変換する第 1変換手段、 前記変換後の相対ブロックデータを予め記憶された候補データによって符号化 し、 各ブロックごとに符号化データを出力するとともに、 所定数のブロック毎に 前記変換基準値を出力する相対プロックデ一夕符号化手段、  For the block data to be encoded, a conversion reference value is determined for each of a predetermined number of blocks, and each block configuration data constituting the predetermined number of blocks is calculated as relative block data represented by a relative value with respect to the conversion reference value. A first conversion unit that converts the relative block data after conversion into candidate data stored in advance, outputs coded data for each block, and converts the conversion reference value for each of a predetermined number of blocks. Relative block decoding output means for outputting,
を備えたことを特徴とするデータ符号化装置。  A data encoding device comprising:
2 . 2.
請求項 1のデータ符号化装置において、  The data encoding device according to claim 1,
前記所定数は 1であること、  The predetermined number is 1;
を特徴とするデータ符号化装置。  A data encoding device characterized by the above-mentioned.
3 . 3.
請求項 1または請求項 2のデ一夕符号化装置において、  In the data encoding apparatus according to claim 1 or claim 2,
前記符号化対象のブロックデータについて、 当該ブロックデータを構成する各 ブロック搆成デ一夕の分布特性に基づいて、 当該ブロックデ一夕におけるブロッ ク特性データを演算するブロック特性データ演算手段、  For the block data to be encoded, block characteristic data calculating means for calculating block characteristic data in the block data based on the distribution characteristics of each block constituting the block data;
相対値で表される複数のブロック構成データから構成される相対ブロックデー 夕およびこれに対応する符号を候補データとして、 複数記憶する相対プロックデ 一夕記憶手段であって、 前記ブロック特性データに応じて、 グループ分けしたグ ループ別対応表を記憶する相対ブロックデータ記憶手段を備え、  Relative block data composed of a plurality of block configuration data represented by relative values and a code corresponding thereto as candidate data, a relative block data storing a plurality of relative block data, and storing the plurality of relative block data according to the block characteristic data. And relative block data storage means for storing a group-by-group correspondence table,
一 2 9 ― 差替え用紙 (規則 26) 前記相対プロッ ^ ^一夕符号化手段は、 前記プロック特性データに基づいて、 前記相対ブロックラ : -夕記憶手段に記憶された候補データのうちいずれのグルー るかを決定して、 このグループ名およびグループ内番号を して、 出力すること、 I 2 9-Replacement sheet (Rule 26) The relative plot encoding means determines which one of the candidate data stored in the relative blocker : -storage means based on the block characteristic data, and determines the group name. And output the number within the group
符号化装置。
Figure imgf000032_0001
Encoding device.
Figure imgf000032_0001
請求項 1〜請求 のいずれかのデータ符号化装置において、  The data encoding apparatus according to any one of claims 1 to 5,
前記第 1変換手 前記所定数のブロック毎にブロック構成データのうちの 最小値を変換基準 fl^ して決定すること、  Determining the minimum value of the block configuration data for each of the predetermined number of blocks as a conversion criterion fl ^;
を特徴とするデ- 符号化装置。  A data encoding device characterized by the following.
5 . Five .
請求項 3のデー 号化装置において、  In the data converter of claim 3,
前記ブロック特' 一夕演算手段は、 前記符号化対象の当該ブロックデータを 構成する各プロツク^' . i成デ一夕の最大値および最小値との差分データを、 当該ブ ロックデータにお ブロック特性デ一夕として求めること、  The block characteristic calculation unit stores the difference data between the maximum value and the minimum value of each block constituting the block data to be encoded in the block data. What to look for as an overnight characteristic
を特徴とするデ- 1 符号化装置。  A data encoding apparatus characterized in that:
6 "i 6 "i
ロックデータ毎の符号化を行 Encode for each lock data
おり、 Yes,
前記各ブロックデータ毎の符  The mark for each block data
Figure imgf000032_0002
号化を行なう前に、 所定ブロック毎に、 各ブロック構成デ一夕のうち最大値のブ ロック構成デ一夕について最上位ビッ卜から 0が何ビット連続しているかを示す シフト可能ビット量を求め、 所定ブロック毎に前記シフ卜可能ビッ ト量に基づい て各ブロック構成データを可逆性左シフト演算し、 前記符号化を行ない、 所定ブ ロック毎にシフト可能ビッ 卜量を出力すること、
Figure imgf000032_0002
Before performing encoding, the shiftable bit amount indicating the number of consecutive 0's from the most significant bit in the block configuration data having the maximum value among the block configuration data is determined for each predetermined block. Calculating a reversible left shift operation on each block configuration data based on the shiftable bit amount for each predetermined block, performing the encoding, and outputting a shiftable bit amount for each predetermined block;
を特徴とするデータ符号化装置。  A data encoding device characterized by the above-mentioned.
8 . 8.
請求項 7のデータ符号化装置において、  The data encoding device according to claim 7,
前記所定ブロック数は 1ブロックであること、  The predetermined number of blocks is one block,
を特徴とするデ一夕符号化装置。  A data encoding apparatus characterized by the above-mentioned.
9 . 9.
請求項 1〜請求項 5のいずれかのデータ符号化装置において、  In the data encoding device according to any one of claims 1 to 5,
前記第 1変換手段は、 前記ブロック構成データを前記相対ブロック構成データ に変換する際に直交変換を行なうこと、  The first converting means performs orthogonal transform when converting the block configuration data into the relative block configuration data;
を特徴とするデータ符号化装置。  A data encoding device characterized by the above-mentioned.
1 0 . Ten .
請求項 9のデータ符号化装置において、  The data encoding device according to claim 9,
前記第 1変換手段は、 相対ブロックデ一夕に変換した後、 前記直交変換を行な うこと、  The first transformation means performs the orthogonal transformation after the transformation into relative block data,
を特徵とするデータ符号化装置。 1 1 .  A data encoding device characterized by: 1 1.
請求項 1 0のデータ符号化装置において、  The data encoding device according to claim 10, wherein
前記相対ブロックデータ記憶手段に記憶された相対プロックデ一夕は、 所定の ビット数で表されており、  The relative block data stored in the relative block data storage means is represented by a predetermined number of bits,
前記第 1変換手段は、 相対ブロックデータに変換する前に、 前記符号化対象の  The first conversion means may convert the encoding target before converting the data into relative block data.
— 3 1 — 差替え用紙 (規則 26) ブロックデータを構成する各ブロック構成データを、 所定のビット数で表される プロック構成デ一夕に量子化すること、 — 3 1 — Replacement sheet (Rule 26) Quantizing each block configuration data constituting the block data into a block configuration data represented by a predetermined number of bits;
を特徴とするデータ符号化装置。  A data encoding device characterized by the above-mentioned.
1 2 . 1 2.
請求項 6〜請求項 8のいずれかのデータ符号化装置において、  In the data encoding device according to any one of claims 6 to 8,
前記第 1変換手段は、 前記ブロック構成データを前記相対プロック構成データ に変換する際に直交変換を行なうこと、  The first conversion means performs orthogonal transformation when converting the block configuration data into the relative block configuration data;
を特徴とするデータ符号化装置。  A data encoding device characterized by the above-mentioned.
1 3 . 13 .
請求項 1 2のデ一夕符号化装置において、  The data encoding apparatus according to claim 12,
前記第 1変換手段は、 相対ブロックデータに変換した後、 前記符号化対象のブ ロックデータを構成する各ブロック構成データを、 前記可逆性左ビットシフト演 算すること、  The first conversion means converts the block configuration data constituting the block data to be encoded to the reversible left bit shift operation after converting the data into relative block data.
を特徴とするデータ符号化装置。  A data encoding device characterized by the above-mentioned.
1 4 . 14 .
請求項 1 2のデータ符号化装置において、  The data encoding device according to claim 12,
前記第 1変換手段は、 前記直交変換後、 前記可逆性左シフト演算すること、 を特徴とするデータ符号化装置。  The first encoding means performs the reversible left shift operation after the orthogonal transformation.
1 5 · 1 5
各プロックごとの符号化データおよび所定数のブロック毎の変換基準値が与え られると、 これを復号化するデータ復号化装置であって、  Given encoded data for each block and a conversion reference value for each of a predetermined number of blocks, a data decoding device for decoding the data,
前記符号化データを、 予め記憶された候補データを用いて、 復号化する相対ブ ロックデータ復号化手段、  A relative block data decoding unit for decoding the encoded data using candidate data stored in advance;
前記復号化された相対プロックデ一夕を、 前記所定数のプロック毎の変換基準 値を用いて、 符号化前のブロックデ一夕に変換する第 2変換手段、  A second conversion unit that converts the decoded relative block data into a block data before encoding using the conversion reference value for each of the predetermined number of blocks;
— 3 2 — 差替え用紙 (規則 26) を備えたことを特徴とするデータ復号化装置。 — 3 2 — Replacement sheet (Rule 26) A data decoding device comprising:
1 6 . 1 6.
請求項 1 5のデータ復号化装置において、  The data decoding apparatus according to claim 15,
前記所定数は 1であること、  The predetermined number is 1;
を特徴とするデータ復号化装置。  A data decoding device characterized by the above-mentioned.
1 7 . 1 7.
請求項 1 6のデータ復号化装置において、  The data decoding apparatus according to claim 16,
相対ブロックデータおよびこれに対応する符号を候補データとして、 複数記憶 する相対ブロックデータ記憶手段であつて、 前記ブロック特性デ一夕に応じて、 グループ分けしたグループ別対応表を記憶する相対ブロックデータ記憶手段を備 え、  Relative block data storage means for storing a plurality of relative block data and codes corresponding thereto as candidate data, and a relative block data storage for storing a group correspondence table divided into groups according to the block characteristic data. Have the means,
前記相対ブロックデータ復号化手段は、 前記相対符号データとして、 グループ 名およびグループ内番号が与えられると、 このグループ名およびグループ内番号 によって、 前記グループ別対応表のいずれの候補データを用いるかを決定するこ と、  Given a group name and an intra-group number as the relative code data, the relative block data decoding means determines which candidate data of the group correspondence table to use based on the group name and the intra-group number. To do
を特徴とするデ一夕復号化装置。  A decoding apparatus for decoding data overnight.
1 8 . 1 8.
請求項 1 5〜請求項 1 7のいずれかのデータ複号化装置において、  In the data decoding device according to any one of claims 15 to 17,
前記相対ブロックデ一夕復号化手段は、 所定ブロック毎に、 各ブロック構成デ —夕のうち最大値のブロック構成データについて最上位ビットから 0が何ビット 連続しているかを示すシフ卜可能ビット量に基づいて各ブロック構成データを可 逆性右シフト演算し、 前記復号化をすること、  The relative block data decoding means includes, for each predetermined block, a shiftable bit amount indicating how many 0's are consecutive from the most significant bit in the block configuration data having the maximum value in each block configuration data. Performing a reversible right shift operation on each block configuration data based on
を特徴とするデータ復号化装置。  A data decoding device characterized by the above-mentioned.
1 9 . 1 9.
請求項 1 5〜請求項 1 8のデ一夕復号化装置において、  In the data decoding apparatus according to claims 15 to 18,
一 3 3 ―  1 3 3 ―
差替え用紙 (規則 26) 前記第 2変換手段は、 前記符号化前のブロックデータに変換する前に、 逆直交 変換を行なうこと、 Replacement form (Rule 26) The second transforming means performs an inverse orthogonal transform before transforming the data into block data before encoding;
を特徴とするデータ復号化装置。  A data decoding device characterized by the above-mentioned.
2 0 . 2 0.
請求項 1 9のデータ復号化装置において、  The data decoding apparatus according to claim 19,
前記第 2変換手段は、 前記変換基準値を用いた変換を行なう前に、 前記逆直交 変換を行なうこと、  The second transforming unit performs the inverse orthogonal transform before performing the transform using the transform reference value;
を特徴とするデータ復号化装置。  A data decoding device characterized by the above-mentioned.
2 1 . twenty one .
請求項 1 9のデータ復号化装置において、  The data decoding apparatus according to claim 19,
前記第 2変換手段は、 前記変換基準値を用いた変換を行なった後、 前記各プロ ック構成データを、 前記所定のビット数で表されるブロック構成デ一夕に量子化 すること、  The second conversion means, after performing the conversion using the conversion reference value, quantizes the block configuration data into a block configuration data represented by the predetermined number of bits.
を特徴とするデータ復号化装置。  A data decoding device characterized by the above-mentioned.
2 2 . twenty two .
複数のブロック構成データから構成されるブロックデータおよびこれに対応す る符号を、 候補データとして複数記憶しておき、 符号化対象のブロックデータが 与えられると、 前記複数の候補データを用いて、 符号化するデータ符号化方法に おいて、  A plurality of block data composed of a plurality of block configuration data and a code corresponding thereto are stored as a plurality of candidate data, and when block data to be encoded is given, a code is generated using the plurality of candidate data. In the data encoding method to be
前記符号化対象のブロックデータについて、 所定数のブロック毎に変換基準値 を決定し、 当該所定数のブロックを構成する各ブロック構成データを、 前記変換 基準値に対する相対値で表される相対ブロックデータに変換し、  For the block data to be encoded, a conversion reference value is determined for each of a predetermined number of blocks, and each block configuration data constituting the predetermined number of blocks is determined as relative block data represented by a relative value with respect to the conversion reference value. To
前記変換後の相対ブロックデータを予め記憶された候補データによって符号化 し、 各ブロックごとに符号化データを出力するとともに、 所定数のブロック毎に 前記変換基準値を出力すること、  Encoding the converted relative block data with the previously stored candidate data, outputting encoded data for each block, and outputting the conversion reference value for each predetermined number of blocks,
を特徴とするデータ符号化方法。  A data encoding method characterized by the following.
一 3 4 ―  1 3 4 ―
差替え用紙 (規則 26) 2 3 · Replacement form (Rule 26) twenty three ·
請求項 2 2のデータ符号化方法において、  22. The data encoding method according to claim 22,
前記記憶されている候補データは、 前記相対ブロックデータを構成する各プロ ック構成データの分布特性に基づいて特定される前記ブロック特性データに応じ てグループ分けされており、  The stored candidate data is grouped according to the block characteristic data specified based on a distribution characteristic of each block configuration data constituting the relative block data,
前記符号化対象のブロックデータを構成する各ブロック構成デー夕の分布特性 に基づいて、 当該プロックデ一夕におけるプロック特性デ一夕を演算し、  Based on a distribution characteristic of each block configuration data constituting the block data to be encoded, a block characteristic data in the block data is calculated,
前記ブロック特性データに基づいて、 前記記憶された候補データのうちいずれ のグループの候補デー夕を用いるかを決定して、 このグループ名およびグループ 内番号を前記相対符号データとして、 出力すること、  Determining which group of candidate data to use among the stored candidate data based on the block characteristic data, and outputting the group name and the intra-group number as the relative code data;
を特徴とするデータ符号化方法。  A data encoding method characterized by the following.
2 4 . twenty four .
請求項 2 2のデータ符号化方法において、  22. The data encoding method according to claim 22,
前記各プロック構成データは 2進数で表記されており、  Each block configuration data is represented by a binary number,
前記各ブロックデータ毎の符号化を行なう前に、 所定ブロック毎に、 各ブロッ ク構成データのうち最大値のプロック構成データについて最上位ビッ トから 0が 何ビット連続しているかを示すシフト可能ビット量を求め、 所定プロック毎に前 記シフト可能ビット量に基づいて各ブロック構成デ一夕を可逆性左シフト演算し、 前記符号化を行ない、 所定ブロック毎にシフ卜可能ビット量を出力すること、 を特徴とするデータ符号化方法。  Before performing encoding for each block data, a shiftable bit indicating, for each predetermined block, how many 0's from the most significant bit continue for the maximum value block configuration data among the block configuration data. Calculate the amount, perform a reversible left shift operation on each block configuration data based on the shiftable bit amount for each predetermined block, perform the encoding, and output the shiftable bit amount for each predetermined block. A data encoding method characterized by:
2 5 . twenty five .
請求項 2 2〜請求項 2 4のいずれかのデータ符号化方法において、  In the data encoding method according to any one of claims 22 to 24,
前記ブロック構成データを前記相対ブロック構成データに変換する際に直交変 換を行なうこと、  Performing orthogonal transformation when converting the block configuration data into the relative block configuration data;
を特徴とするデータ符号化方法。 一 3 5 ―  A data encoding method characterized by the following. One 3 5 ―
差替え用紙 (規則 26) Replacement form (Rule 26)
2 6 . 2 6.
各プロックごとの符号化データおよび所定数のプロック毎の変換基準値が与え られると、 これを復号化するデータ復号化方法であって、  Given encoded data for each block and a given number of conversion reference values for each block, a data decoding method for decoding the data,
前記符号化データを、 予め記憶された候補データを用いて、 復号化し、 前記復号化された相対プロックデータを、 前記所定数のプロック毎の変換基準 値を用いて、 符号化前のプロックデータに変換すること、  The encoded data is decoded by using candidate data stored in advance, and the decoded relative block data is converted into block data before encoding by using the conversion reference value for each of the predetermined number of blocks. Converting,
を特徴とするデータ複号化方法。  A data decoding method characterized by the following.
2 7 . 2 7.
請求項 2 6のデータ復号化方法において、  26. The data decryption method according to claim 26,
前記ブロック特性データに応じて、 グループ分けしたグループ別対応表を記憶 しており、  In accordance with the block characteristic data, a group-by-group correspondence table is stored, and
前記相対符号データとして、 グループ名およびグループ内番号が与えられると、 このグループ名およびグループ内番号によって、 前記グループ別対応表のいずれ の候補デ一夕を用いるかを決定すること、  Given a group name and an intra-group number as the relative code data, determine which candidate data in the group correspondence table to use based on the group name and the intra-group number,
を特徴とするデータ復号化方法。  A data decoding method characterized by the following.
2 8 . 2 8.
請求項 2 6または請求項 2 7のデ一夕復号化方法において、  In the data decoding method according to claim 26 or claim 27,
前記符号化前のブロックデータに変換する前に、 逆直交変換を行なうこと、 を特徴とするデータ復号化方法。  Performing an inverse orthogonal transform before converting the data into block data before encoding.
2 9 . 2 9.
請求項 1のデータ符号化装置、  The data encoding device according to claim 1,
請求項 1 5のデータ復号化装置、  The data decryption device according to claim 15,
を備えたことを特徴とするデ一夕符号復号化システム。  A decoding code decoding system comprising:
3 0 . 3 0.
送信時には、 請求項 2 2のデータ符号化方法にて、 与えられた符号化対象のブ  At the time of transmission, a given encoding target block is provided by the data encoding method of claim 22.
— 3 6 — 差替え用紙 (規則 26) ロックデータを、 相対符号データおよび前記変換基準値に変換して送信し、 受信時には、 請求項 2 6のデータ復号化方法にて、 受信した前記相対符号デー 夕および前記変換基準値を、 符号化前の相対プロックデ一夕に変換すること、 を特徴とするデータ送受信方法。 — 3 6 — Replacement sheet (Rule 26) The lock data is converted into relative code data and the conversion reference value and transmitted, and upon reception, the received relative code data and the conversion reference value are encoded by the data decoding method according to claim 26. A data transmission / reception method, wherein the data is converted to a previous relative block.
3 1 . 3 1.
デ一夕蓄積時には、 請求項 2 2のデータ符号化方法にて、 与えられた符号化対 象のブロックデータを、 相対符号データおよび前記変換基準値に変換してデータ At the time of data accumulation, the given block data to be encoded is converted into relative code data and the conversion reference value by the data encoding method according to claim 22.
¾:蓄 し、 ¾: Saving,
データ読み出し時には、 請求項 2 6のデータ復号化方法にて、 前記相対符号デ —夕および前記変換基準値を、 符号化前の相対ブロックデータに変換すること、 を特徴とするデータ蓄積方法。  27. The data storage method according to claim 26, wherein at the time of reading data, the relative code data and the conversion reference value are converted into relative block data before encoding.
3 2 . 3 2.
コンピュータが実行可能なプログラムを記憶したコンピュータ可読の記憶媒体 であって、 前記プログラムは、 請求項 1ないし請求項 3 1のいずれかの装置又は 方法を実現するものであること、  A computer-readable storage medium storing a computer-executable program, wherein the program implements the device or method according to any one of claims 1 to 31.
を特徴とする記憶媒体。  A storage medium characterized by the above-mentioned.
3 3 . 3 3.
コンピュータ可読のデータを記憶した記憶媒体であって、  A storage medium storing computer-readable data,
前記デ一夕は、 各ブロックについての符号化デー夕および所定数のブロック毎 に変換基準値を有すること、  The decoding includes encoding data for each block and a conversion reference value for each of a predetermined number of blocks;
を特徴とする記憶媒体。  A storage medium characterized by the above-mentioned.
3 7 一 3 7 one
差替え用紙 (規則 26)  Replacement form (Rule 26)
PCT/JP1997/001319 1996-04-16 1997-04-16 Encoder, decoder, encoding method and decoding method WO1997039531A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU25756/97A AU2575697A (en) 1996-04-16 1997-04-16 Encoder, decoder, encoding method and decoding method

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP8/94235 1996-04-16
JP9423596 1996-04-16
JP34763296 1996-12-26
JP8/347632 1996-12-26

Publications (1)

Publication Number Publication Date
WO1997039531A1 true WO1997039531A1 (en) 1997-10-23

Family

ID=26435504

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1997/001319 WO1997039531A1 (en) 1996-04-16 1997-04-16 Encoder, decoder, encoding method and decoding method

Country Status (2)

Country Link
AU (1) AU2575697A (en)
WO (1) WO1997039531A1 (en)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6096079A (en) * 1983-10-31 1985-05-29 Matsushita Electric Ind Co Ltd Encoding method of multivalue picture
JPS62100077A (en) * 1985-10-28 1987-05-09 Nippon Telegr & Teleph Corp <Ntt> Coding method and device
JPS62122479A (en) * 1985-11-22 1987-06-03 Canon Inc Picture transmission system
JPS62125787A (en) * 1985-11-26 1987-06-08 Canon Inc Picture transmission system
JPS63306769A (en) * 1987-06-08 1988-12-14 Nippon Telegr & Teleph Corp <Ntt> Encoding method
JPH02308670A (en) * 1989-05-23 1990-12-21 Fujitsu Ltd Block coding system for multi-value picture
JPH03207166A (en) * 1990-01-09 1991-09-10 Ricoh Co Ltd Image data expanding circuit
JPH05183445A (en) * 1991-12-27 1993-07-23 Matsushita Electric Ind Co Ltd Run length 1/n compression floating coder
JPH06343168A (en) * 1993-03-19 1994-12-13 Sony Corp Encoding method for digital signal, method for generating table for encoding, encoding device and encoding method
JPH0738761A (en) * 1993-07-22 1995-02-07 Minolta Co Ltd Encoder
JPH07255054A (en) * 1994-03-16 1995-10-03 Tec Corp Image encoding device
JPH07274171A (en) * 1994-12-28 1995-10-20 Sharp Corp Image encoder and decoder

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6096079A (en) * 1983-10-31 1985-05-29 Matsushita Electric Ind Co Ltd Encoding method of multivalue picture
JPS62100077A (en) * 1985-10-28 1987-05-09 Nippon Telegr & Teleph Corp <Ntt> Coding method and device
JPS62122479A (en) * 1985-11-22 1987-06-03 Canon Inc Picture transmission system
JPS62125787A (en) * 1985-11-26 1987-06-08 Canon Inc Picture transmission system
JPS63306769A (en) * 1987-06-08 1988-12-14 Nippon Telegr & Teleph Corp <Ntt> Encoding method
JPH02308670A (en) * 1989-05-23 1990-12-21 Fujitsu Ltd Block coding system for multi-value picture
JPH03207166A (en) * 1990-01-09 1991-09-10 Ricoh Co Ltd Image data expanding circuit
JPH05183445A (en) * 1991-12-27 1993-07-23 Matsushita Electric Ind Co Ltd Run length 1/n compression floating coder
JPH06343168A (en) * 1993-03-19 1994-12-13 Sony Corp Encoding method for digital signal, method for generating table for encoding, encoding device and encoding method
JPH0738761A (en) * 1993-07-22 1995-02-07 Minolta Co Ltd Encoder
JPH07255054A (en) * 1994-03-16 1995-10-03 Tec Corp Image encoding device
JPH07274171A (en) * 1994-12-28 1995-10-20 Sharp Corp Image encoder and decoder

Also Published As

Publication number Publication date
AU2575697A (en) 1997-11-07

Similar Documents

Publication Publication Date Title
JP5414121B2 (en) Compression and coding of 3D mesh networks
RU2407223C2 (en) Compression of texture based on two shades with modified brightness
KR100821762B1 (en) Alpha image processing
JP4698739B2 (en) Image compression for computer graphics
JP5623565B2 (en) Apparatus and method for encoding and calculating a discrete cosine transform using a butterfly processor
JP5085642B2 (en) Method for compressing an image block, method for processing a compressed representation of an image block, block compressor and block decompressor
US6968092B1 (en) System and method for reduced codebook vector quantization
US7683910B2 (en) Strategies for lossy compression of textures
JP2000507754A (en) Table-based compression with embedded coding
JP2006502604A (en) Image compression method for arbitrarily shaped objects
TWI511528B (en) Encoder, decoder and method
US20080002895A1 (en) Strategies for Compressing Textures
US7412104B2 (en) Optimized lossless data compression methods
Li et al. Image compression using transformed vector quantization
JP2000049619A (en) 2-channel hvq compression method
Hürtgen et al. Fractal transform coding of color images
WO1997039531A1 (en) Encoder, decoder, encoding method and decoding method
JP2000078020A (en) Compression method for dividing every word and applying compression to most significant bit
Wang et al. Hierarchy-oriented searching algorithms using alternative duplicate codewords for vector quantization mechanism
WO1997047140A1 (en) Device and method for encoding animations data and device and method for decoding animations data
TWI401965B (en) Image Compression Method with Variable Quantization Parameters
Huang et al. Reversible SMVQ Image Hiding Using Adaptive Search Order Coding
JP2693557B2 (en) Encoding device
Gaffara Modification of a gray-level dynamic range based on a number of binary bit representation for image compression
do Nascimento Neto et al. Hybrid adaptive image coding: transform coding and vectorial classification approach for bit allocation

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GE HU IL IS JP KE KG KR KZ LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK TJ TM TR TT UA UG US UZ VN AM AZ BY KG KZ MD RU TJ TM

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH KE LS MW SD SZ UG AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: CA