WO2005081539A1 - 2次元信号の符号化/復号方法および装置 - Google Patents

2次元信号の符号化/復号方法および装置 Download PDF

Info

Publication number
WO2005081539A1
WO2005081539A1 PCT/JP2004/019604 JP2004019604W WO2005081539A1 WO 2005081539 A1 WO2005081539 A1 WO 2005081539A1 JP 2004019604 W JP2004019604 W JP 2004019604W WO 2005081539 A1 WO2005081539 A1 WO 2005081539A1
Authority
WO
WIPO (PCT)
Prior art keywords
coefficient
encoding
coefficients
map
region
Prior art date
Application number
PCT/JP2004/019604
Other languages
English (en)
French (fr)
Inventor
Jun Takada
Original Assignee
Nec Corporation
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 Nec Corporation filed Critical Nec Corporation
Priority to JP2006510166A priority Critical patent/JP4665898B2/ja
Priority to EP04807959A priority patent/EP1722572B1/en
Priority to US10/590,245 priority patent/US8031951B2/en
Priority to CN2004800428269A priority patent/CN1943243B/zh
Publication of WO2005081539A1 publication Critical patent/WO2005081539A1/ja
Priority to US13/226,116 priority patent/US8265402B2/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/1883Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission

Definitions

  • the present invention relates to a two-dimensional signal compression / expansion method, and more particularly to a method and apparatus for encoding a two-dimensional signal using a wavelet transform.
  • Patent Document 1 Japanese Patent Application Laid-Open No. 9-1148938
  • variable length coding is performed on each of the divided subbands, and codes are output in order from the low frequency subband.
  • the merits of dividing into tiles are that the neighboring areas with similar statistical properties of the coefficients are collected, and that the coding efficiency can be improved by applying the optimal coding to each area.
  • parallel processing and decoding can be realized.
  • the division into tiles is usually determined to be about 64 ⁇ 64 or more, since over-division reduces the code efficiency.
  • the method of performing wavelet transform after tile division has a problem that discontinuous distortion, that is, block noise occurs at the tile boundary.
  • Patent Document 2 Japanese Patent Laid-Open No. 2000-316152 divides each subband after wavelet transform into blocks (8 ⁇ 8), and And perform encoding.
  • the advantage of dividing into blocks after wavelet transform is that block noise does not occur.
  • Patent Document 3 Japanese Patent Application Laid-Open No. H11-298897 discloses an image data transmission method in which the size of a displayed image increases as the resolution increases.
  • Patent Document 4 Japanese Patent Application Publication No. 2003-504921 discloses a method of dividing an image and rendering each sub-image at a different wavelet decoding rate. Specifically, utilizing the fact that the center of the screen is the area that is most closely watched by the user, the detail is drawn first in the sub-image at the center, and the detail is drawn gradually as the distance from the center increases. Is done. Even with such a display function, the cognitive waiting time of the image viewer can be reduced.
  • the CPU encodes a coefficient with respect to a memory address where each coefficient value is stored.
  • the address force S where the coefficient is stored is located at a position distant from the scan line, and extends over many rows. For example, if the 2LH sub-band is divided into blocks (8 ⁇ 8), the memory access to 8 scan lines is performed to expand 2LH. For this reason, the memory access destinations are dispersed, and the efficiency of the cache memory is reduced. Since a general CPU has a cache memory, the local memory access can be performed at high speed. If the memory access destinations are distributed as described above, access to the real memory occurs, and the processing speed is reduced. Significantly reduced.
  • the above-described conventional method has a problem that a large intermediate memory is required.
  • the wavelet transform of a certain tile or block is started, and at the time of decoding, until the encoding of the tile or block is completed, at the time of decoding, the decoding of the coefficient of a certain tile or block is started and then the reverse.
  • the LH, HL, and HH subbands need to be stored in memory until the wavelet transform is completed.
  • an object of the present invention is to provide a code Z decoding method and apparatus capable of obtaining a sufficient speed improvement result even when performing wavelet coding / decoding using a sequential processing type CPU. It is in.
  • Still another object of the present invention is to provide an encoding / decoding method and a coding / decoding method capable of reducing the capacity of an intermediate memory required for temporarily storing subbands in wavelet encoding / decoding processing. It is to provide a device.
  • a code encoding apparatus includes: a wavelet transform unit that divides a two-dimensional signal into a plurality of frequency-domain sub-bands; and a plurality of sub-bands belonging to the same hierarchical wavelet decomposition level. It is characterized by comprising coefficient extraction means for extracting a set of coefficients belonging to the same position spatially from the band by a fixed number, and coefficient coding means for coding the extracted set of coefficients.
  • An encoding device includes: an element extraction unit configured to sequentially extract 2mx2 (m is an integer: m ⁇ l) spatially adjacent elements from a two-dimensional signal; and Wavelet transform means for dividing the coefficient set into a plurality of subbands, coefficient coding means for coding the coefficient set, and a code for rearranging and outputting the coded coefficient set in order from the subband on the low resolution side And output means.
  • an element extraction unit configured to sequentially extract 2mx2 (m is an integer: m ⁇ l) spatially adjacent elements from a two-dimensional signal
  • Wavelet transform means for dividing the coefficient set into a plurality of subbands, coefficient coding means for coding the coefficient set, and a code for rearranging and outputting the coded coefficient set in order from the subband on the low resolution side And output means.
  • a decoding device receives a code system 1J obtained by encoding coefficients of a plurality of subbands obtained by wavelet transform, and generates an original two-dimensional signal.
  • An initial coefficient decoding means for decoding the coefficient of the lowest frequency subband from a code sequence corresponding to the lowest frequency subband, and a code sequence subsequent to the lowest frequency subband code sequence, belonging to a wavelet decomposition level of the same hierarchy.
  • an image is divided into sub-bands by a wavelet transform based on the Haar function, and the entire region of the lowest frequency LL sub-band is encoded.
  • the LH, HL, and HH subband coefficients belonging to are encoded for each coefficient at the same spatial position.
  • the decoding side first expands the lowest frequency LL subband, then decodes one set of spatially identical LH, HL, and HH coefficients in each wavelet decomposition level subband.
  • the inverse wavelet transform is immediately performed by using the coefficient value of, and the LL coefficient value of the next wavelet decomposition level is obtained.
  • a general-purpose sequential processing type CPU is used to sequentially read and encode coefficients respectively corresponding to the same image position from the LH, HL, and HH subbands.
  • the number of stores and loads to the real memory can be reduced and high-speed processing can be performed.Furthermore, since the coefficients at the same position of the LH, HL and HH subbands are simultaneously encoded sequentially, the LH, HL and HH subband There is no need to keep the data until the encoding is completed.
  • a high-speed register or cache memory of a CPU can be used as a coefficient memory for storing coefficients to be coded, and the coding speed can be further improved.
  • each time a set of LH, HL, and HH subband coefficients are decoded their coefficient values are immediately subjected to an inverse wavelet operation on a register, and access to the real memory can be reduced.
  • reading of the LL subband is performed continuously on the same scan line, and writing of the inverse wavelet operation result is also performed continuously on only two scan lines. Therefore, the efficiency of the cache memory is improved. Furthermore, the amount of intermediate memory required to temporarily store subbands can be reduced.
  • FIG. 1 is a block diagram showing a schematic configuration of an encoding device according to a first embodiment of the present invention.
  • FIG. 2A shows each sub-band nLL, nLH, nHL, nH in the sub-band memory 102.
  • FIG. 3 is a schematic diagram illustrating an example of an H coefficient array.
  • FIG. 2B is a schematic diagram showing an example of a code array in the output code memory 104.
  • FIG. 3 is a flowchart showing encoding control by the encoding device according to the first embodiment of the present invention.
  • FIG. 4 is a block diagram showing a schematic configuration of a decoding device according to a first embodiment of the present invention.
  • FIG. 5 is a flowchart showing decoding control of the decoding device according to the first embodiment of the present invention.
  • FIG. 6 is a block diagram showing a schematic configuration of a coding apparatus according to a second embodiment of the present invention.
  • FIG. 7 is a flowchart showing encoding control performed by the encoding device according to the first embodiment of the present invention.
  • FIG. 8 is a diagram schematically showing encoding and decoding operations according to the first and second embodiments of the present invention.
  • FIG. 9 is a block diagram showing a schematic configuration of an encoding device according to a third embodiment of the present invention.
  • FIG. 10 is a flowchart showing encoding control by an encoding device according to a third embodiment of the present invention. It is one chart.
  • FIG. 11 is a diagram schematically showing encoding and decoding operations according to a third embodiment of the present invention.
  • FIG. 12 is a block diagram showing a schematic configuration of a coding apparatus according to a fourth embodiment of the present invention.
  • FIG. 13 is a flowchart showing encoding control by the encoding device according to the fourth embodiment of the present invention.
  • FIG. 14 is a diagram schematically showing a console screen for explaining a moving area detection and a thinning-out operation in a fourth embodiment of the present invention.
  • FIG. 15 is a block diagram showing a schematic configuration of a coding apparatus according to a fifth embodiment of the present invention.
  • FIG. 16 is a flowchart showing encoding control according to a fifth embodiment of the present invention.
  • FIG. 17 is a diagram schematically showing encoding and decoding operations according to a fifth embodiment of the present invention.
  • FIG. 18 is a block diagram showing a schematic configuration of a code coder according to a sixth embodiment of the present invention.
  • FIG. 19 is a flowchart showing the encoding control according to the sixth embodiment of the present invention.
  • FIG. 20 is a block diagram showing a schematic configuration of an encoding device according to a seventh embodiment of the present invention.
  • FIG. 21 is a flowchart showing the encoding control according to the seventh embodiment of the present invention.
  • FIG. 22 is a diagram schematically showing a console screen for explaining a moving region detection and a coefficient quantization operation in the seventh embodiment of the present invention.
  • FIG. 23 is a block diagram of a bidirectional communication terminal incorporating a coding and decoding device according to an eighth embodiment of the present invention.
  • FIG. 24 is a block diagram showing a schematic configuration of a code coder according to a ninth embodiment of the present invention.
  • FIG. 25 is a block diagram showing a schematic configuration of a decoding device according to a ninth embodiment of the present invention.
  • FIG. 1 is a block diagram illustrating a schematic configuration of a code apparatus according to a first embodiment of the present invention.
  • the encoding device inputs the image data 10 from an image input device (not shown), and outputs a code sequence by wavelet encoding described later.
  • the encoding device mainly includes a data processing device 101, a sub-band memory 102, a coefficient memory 103, and an output code memory 104.
  • the generated code sequence is output to a code output device 105.
  • the data processing device 101 is, for example, a program control processor such as a general CPU (Central Processing Unit), and reads a code group from a program memory (not shown) and executes it to perform wavelet transform (here, The two-dimensional Haar wavelet transform) process (wavelet transform means 101a), the initial coefficient coding process (initial coefficient coding means 101b), the same coordinate coefficient extraction process (same coordinate coefficient extraction means 101c), the coefficient code A conversion process (coefficient encoding means 101d) and a code output process (code output means 101e) can be generated (the details will be described later).
  • wavelet transform here, The two-dimensional Haar wavelet transform
  • wavelet transform means 101a The two-dimensional Haar wavelet transform
  • the initial coefficient coding process initial coefficient coding process
  • the same coordinate coefficient extraction process space coordinate coefficient extraction means 101c
  • the coefficient code A conversion process coefficient encoding means 101d
  • code output means 101e code output means
  • the sub-band memory 102, coefficient memory 103, and output code memory 104 can be configured by separate memories, for example, by allocating each space to one semiconductor memory. It is OK to provide a space for storing the input image data 10 in this semiconductor memory. As described later, in the present invention, a register cache memory of a CPU can be used as the coefficient memory 103.
  • the subband memory 102 stores N (integer not less than l) hierarchical subband data (nLL, nLH, nHL, nHH) (l ⁇ n ⁇ N).
  • N integer not less than l
  • the subbands nLL, nLH, nHL, and nHH of the layer n are composed of a coefficient row s IJ of p X q (p, q are integers) corresponding to the spatial coordinates (x, y) of the image.
  • the subband data nLL, nLH, nHL, and nHH of each layer are all two-dimensional signals.
  • the coefficient memory 103 stores the subbands nLH, nHL, and nHH of one layer that are sequentially extracted from the subband memory 102 by the same coordinate coefficient extraction process of the data processing device 101.
  • a set of coefficients ⁇ LH (i, j), HL (i, j), HH (i, j) ⁇ of the same spatial coordinates (i, j) is stored.
  • the order in which the coefficient sets are extracted follows the scan line direction from the upper left edge to the lower right edge of the image. However, two or more constant coefficient sets can be sequentially extracted.
  • one or more coefficient sets adjacent to ⁇ LH (i, j), HL (i, j), HH (i, j) ⁇ may be extracted and stored in the coefficient memory 103.
  • the cache memory of the CPU is used as the coefficient memory 103, a plurality of sets of coefficients can be stored if the cache memory has room.
  • the output code memory 104 has an NLL sub-band code memory 104.1 and a (nLH, nHL, nHH) sub-band code memory 104.2.
  • the NLL subband code memory 104.1 stores a subband code NLLc obtained by coding the subband NLL of the layer N by the initial coefficient coding process of the data processing device 101.
  • the subband code memory 104.2 is a code (nLH, nHLH) obtained by coding the set of the same coordinate coefficients sequentially read out to the coefficient memory 103 by a coefficient coding process.
  • NHH stores c
  • HH (i, j) ⁇ is stored and encoded.
  • FIG. 2A is a schematic diagram showing an example of a coefficient array of each subband nLL, nLH, nHL, nHH in the subband memory 102
  • FIG. 2B is a schematic diagram showing an example of a code array in the output code memory 104. It is.
  • the coefficient array of subband nLL of layer n obtained by two-dimensional Haar wavelet transform is nL (0, 0), nL (l, 0),..., NL (p, q), subband nLH coefficient nn
  • the array is nA (0, 0), nA (l, 0), ⁇ , nA (p, q), and the coefficient array for subband nHL is nB (n n
  • nHH nC (0, 0), nC n n
  • the NLL subband code memory 104.1 stores the above-described coefficients NL (0, 0), NL (1, 0),..., NL (p, q) of the subband NLL as initial codes. Sign by the conversion process NLLc (0, 0), NLLc (l, 0), ⁇ , NLLc (p, q) are stored. This
  • the difference between adjacent coefficients is encoded in the encoding method of the initial encoding process.
  • a DPCM (Diiferential Pulse Code Modulation) Huffman code or the like can be used.
  • the (nLH, nHL, nHH) subband code memory 104.2 stores one or more sets (nLH, nHL, nHH) of the same coordinate coefficients sequentially read out to the coefficient memory 103 as coefficient codes.
  • the codes (nLHc, nHLc, nHHc) that have been set one by one by the conversion process are stored.
  • a run-length Huffman code or an LZW (Lempe Ziv-Welch) code using a run length of zero value and a value of a non-zero coefficient can be used as an encoding method of the coefficient encoding process.
  • nA (0,0), nB (0,0) having the same coordinates (0,0) of subbands nLH, nHL, nHH of hierarchy n ) And nC (0,0) are collectively read out to the coefficient memory 103, and nAc (0,0), nBc (0,0) and nCc (0,0) encoded by the coefficient encoding process are obtained. It is stored in the subband code memory 104.2.
  • the coefficients ⁇ (1, 0), ⁇ (1, 0) and nC (l, 0) having the same coordinates (1, 0) are read together into the coefficient memory 103, and are encoded by the coefficient encoding process.
  • the nAc (l, 0), nBc (1,0) and nCc (l, 0) that have been mapped are stored in the subband code memory 104.2.
  • all coefficients up to the coordinates (p, q) are encoded and stored in the subband code memory 104.2.
  • a coefficient nA (0, 0) having the same coordinates (0, 0) and (1, 0) of subbands nLH, nH L, and nHH of layer n ), NB (0,0), nC (0,0) and coefficients nA (l, 0), nB (l, 0), nC (l, 0) are collectively read out to the coefficient memory 103, and similarly, Encoding is performed and the codes nAc (0,0), nBc (0,0) and nCc (0,0) and nAc (l, 0), nBc (l, 0), nCc (l, 0) It may be stored in the subband code memory 104.2.
  • Lc and nHHc are output to the code output device 105 by a code output process.
  • the code output device 105 is, for example, a drive that records information on an optical recording medium such as a DVD, or a network interface connected to a network.
  • FIG. 3 is a flowchart showing the encoding control in the present embodiment.
  • image data 10 is input from an image input device such as a camera or a scanner, and stored in an image memory (step S 11).
  • the wavelet transform process on the data processing device 101 executes N-stage two-dimensional Haar wavelet transform on the image data 10 read out from the image memory, and outputs the transform result as described above. Is stored in the sub-band memory 102 (step S12).
  • the initial coefficient coding process reads the initial coefficient NLL from the subband memory of the layer N, and uses the run-length Huffman code or the LZW code to perform the variable-length coding.
  • the codes NLLc (0, 0), NLLc (l, 0), ..., NLLc (p, q) are stored in the NLL sub-band code memory 104.1 of the output code memory 104.
  • the next encoding target is the LH, HL, and HH subbands.
  • the variable n indicating the resolution level (hierarchy) is set to N
  • the same coordinate coefficient extraction process is nLH, nHL
  • the same coordinate coefficient extraction process is based on the same set of coefficients (nA (i, j), nB) of the same spatial coordinates (i, j) in the subbands nLH, nHL, nHH of the hierarchy n from the subband memory 102.
  • (i, j), nC (i, j) ⁇ is read out and stored in the coefficient memory 103 (step S15).
  • a set of two or more constant coefficients may be read. For example, a fixed number of coefficient sets corresponding to the same spatial coordinates (i, j), (i + 1, j).
  • coefficient sets nA (i, j), nB (i, j), and nC (i, j) are obtained from the coefficient memory 103.
  • the data is read out, subjected to variable length coding, and stored in the subband code memory 104.2 of the output code memory 104 (step S16).
  • the same coordinate coefficient extraction process determines whether or not the coding has been completed for all the coordinates of the layer n (step S17). .
  • Step S17 If all the coding in the layer n has not been completed (N ⁇ in step S17), the extraction coordinates (i, j) are shifted by a predetermined number in the scan line direction (step S18). Steps S15 and S18 are repeated until all encoding in n is completed.
  • the code output process reads the code string stored in the output code memory 104 and outputs the code. Output to the device 105 (step S22).
  • the code is output after the completion of the entire encoding.
  • the code may be output every time a fixed amount of codes are accumulated.
  • the low-frequency component of each resolution is stored in the image memory and each nLL sub-band memory, but the present invention is not limited to these storage methods. For example, you can take the method of sharing these memories and reducing the amount of memory used.
  • FIG. 4 is a block diagram showing a schematic configuration of a decoding device according to the first embodiment of the present invention.
  • the decoding device inputs a code string 20 output from the coding device, The original image data is output by bullet decoding.
  • the decoding device mainly has a data processing device 201, a sub-band memory 202, a coefficient memory 203, and an image output device 204, and the decoded image data is output to the image output device 204.
  • the data processing device 201 is a program control processor such as a CPU, similar to the encoding device.
  • the data processing device 201 reads a decoding program group from a program memory (not shown) and executes it to execute a decoding process of initial coefficients (initial coefficient Decoding means 201a), the same coordinate coefficient decoding process (the same coordinate coefficient decoding means 201b), the inverse wavelet transform (here, the inverse two-dimensional Harle wavelet transform) process (the inverse wavelet transform means 201c), and the image output A process (image output means 201d) can be generated (details will be described later).
  • the sub-band memory 202 and the coefficient memory 203 can be configured by separate memories, respectively, but can also be configured by allocating respective spaces to one semiconductor memory, for example.
  • An input code memory for storing the input code string 20 may be provided in this semiconductor memory.
  • a register or a cache memory of the CPU can be used as the coefficient memory 203.
  • the sub-band memory 202 sequentially generates (N-1) LL, (N_2) from the decoded NLL sub-band coefficient sequence by a decoding step of the initial coefficient and the same coordinate coefficient and a wavelet inverse transformation step described later. ) LL, ⁇ ⁇ ⁇ Stores a subband coefficient sequence.
  • NLL subband coefficient system IJ we generalize including the NLL subband coefficient system IJ and describe it as an nLL subband coefficient sequence (0 ⁇ n ⁇ N).
  • the coefficient memory 203 stores a set of subband coefficients ⁇ LH (i, j), HL (i, j) of the same spatial coordinates (i, j) decoded by the same coordinate coefficient decoding process of the data processing device 201. ), HH (i, j) ⁇ .
  • two or more constant coefficient sets may be stored. For example, if one or more coefficient sets adjacent to ⁇ LH (i, j), HL (i, j), HH (i, j) ⁇ are coded, multiple coefficient sets are decoded and the coefficient memory Is stored in As described above, when the cache memory of the CPU is used as the coefficient memory 203, a plurality of sets of coefficients can be stored if the cache memory has room.
  • the image output device 204 is, for example, a liquid crystal display.
  • the image output process of the data processing device 201 is a process of decoding the initial coefficient and the same coordinate coefficient, which will be described later, and the image data decoded by the inverse wavelet transform process. Display in 4.
  • FIG. 5 is a flowchart showing the decoding control of the decoding device according to the first embodiment of the present invention.
  • the input variable-length code sequence 20 is stored in the input code memory (step S31).
  • variable length code of the NLL sub-band is sequentially read from the input code memory and decoded, and the obtained initial coefficients NLL sub-band coefficients NL (0, 0), NL ( 0, 1) ⁇ ⁇ ⁇ ⁇ are stored in the NLL sub-band memory 202 (step S32).
  • the next decoding target is the LH, HL, and HH subbands.
  • the variable n indicating the resolution level (hierarchy) is set to N
  • the same coordinate coefficient decoding process is nLH, nHL, nHH
  • the same coordinate coefficient decoding process reads the code strings nAc (i, j), nBc (i, j), nCc (i, j) from the input code memory, and outputs the subband nLH , NHL, nHH, the set of coefficients of the same spatial coordinates (i, j) ⁇ nA (i, j), nB (i, j), nC (i, j) ⁇ is stored in the coefficient memory 203 (step S34). .
  • the plurality of sets of coefficients are stored in the coefficient memory 203.
  • the inverse wavelet transform process performs the inverse wavelet transform.
  • the inverse wavelet transform process calculates the coefficients nA (i, j), nB (i, j), nC (i, j) from the coefficient memory 203 and the corresponding nLL subband coefficients nL (i , j) are read out (step S35). Wavelet inverse transform is performed on the read nL (i, j), nA (i, j), nB (i, j) and nC (i, j), and the result is stored in the subband memory 202. (n-1) The coefficient of the LL subband (n-1) is stored as L (i, j) (step S36). Subsequently, the same coordinate coefficient decoding process determines whether decoding has been completed for all coordinates of the layer n (step S37).
  • step S38 If all the decoding in the layer n has not been completed (N in step 37), the coordinates (i, j) are shifted by a predetermined number in the scan line direction (step S38), and in the layer n . Steps S34 to S38 are repeated until all decoding is completed. [0060] When all decoding on the layer n is completed (YES in step S37), it is determined whether or not the current layer n has reached the layer N corresponding to the resolution to be output (step S39).
  • n is decremented by 1 (step S39).
  • the steps S34, S40, and S301 are repeated until n reaches N while decreasing the layer n by one.
  • the output process reads (n_l) LL sub-band data from the sub-band memory 202, outputs the data to the image output device 204, and displays the image (step S302).
  • the decoding of the sub-band of the hierarchy n 1, which is the highest resolution level, is completed (YES in step S303), the process ends.
  • the decoding operation is performed after all the codes have been input.
  • the decoding may be performed every time a fixed amount of codes are input sequentially from the initial codes.
  • the input code sequence is stored in the input code memory, and the nLL subband coefficient is stored in the nLL subband memory.
  • the present invention is not limited to these storage methods. .
  • a method of sharing a part of these memories and reducing the amount of used memory may be adopted.
  • the code output by the coefficient encoding process of the encoding device and the code input to the coefficient decoding process of the decoding device are:
  • the LH, HL, and HH coefficients of the Y component may be arranged first, then the LH, HL, and HH coefficients of the Cb component, and finally the LH, HL, and HH coefficients of the Cr component.
  • SIMD in which the CPU that performs encoding and decoding applies the same operation to multiple data strings
  • LH, HL, and HH subband coefficients obtained by performing wavelet transform on image data are stored, and coefficients corresponding to the same position in the image, respectively. are sequentially read at least one set at a time, encoded, and stored in the output code memory.
  • a high-speed register or cache memory of the CPU can be used as a coefficient memory for storing coefficients to be coded, and the coding speed can be improved.
  • one or more sets of LH, HL, and HH subband coefficients corresponding to the same image position decoded by the coefficient decoding process are stored in registers and the like.
  • the wavelet is inversely transformed as soon as it is read into the high-speed coefficient memory. Therefore, in the sequential processing type CPU, the number of times of storing and loading to the real memory can be reduced, and the decoding speed is greatly increased.
  • the inverse wavelet transform process continuously reads the LL sub-bands in the order of scan lines, and outputs the operation results on two scan lines of the nLL sub-bands continuously. And speeding up can be achieved.
  • FIG. 6 is a block diagram showing a schematic configuration of a code apparatus according to a second embodiment of the present invention.
  • the encoding device inputs image data 10 as a representative example of a two-dimensional signal from an image input device (not shown), and outputs a code sequence by wavelet encoding described later.
  • the encoding device mainly includes a data processing device 301, an LL sub-band memory 302, a coefficient memory 303, and an output code memory 304.
  • the generated code sequence is output to a code output device 305.
  • the data processing device 301 is a general program control processor such as a CPU, and reads and executes a group of encoded programs from a program memory (not shown) to execute a pixel extraction process (pixel extraction (element extraction) means. 30 la), wavelet transform (here, 2D Haar wavelet transform) process (wavelet transform means 301b), coefficient encoding process (coefficient encoding means 301c), initial coefficient encoding process (initial coefficient encoding means 301d) , And a code output process (code output means 301e) can be generated (the details will be described later).
  • a pixel extraction process pixel extraction (element extraction) means. 30 la
  • wavelet transform here, 2D Haar wavelet transform
  • coefficient encoding process coefficient encoding means 301c
  • initial coefficient encoding process initial coefficient encoding process
  • initial coefficient encoding means 301d initial coefficient encoding means 301d
  • code output means 301e can be generated (the details will be described later).
  • the LL sub-band memory 302, coefficient memory 303, and output code memory 304 are configured by allocating respective spaces to one semiconductor memory, for example, by allocating respective spaces to one semiconductor memory. It is also possible. Note that, as described later, in the present invention, a register or a cache memory of the CPU can be used as the coefficient memory 303.
  • the LL sub-band memory 302 stores the input image data 10 as 0LL sub-band data, and is obtained by performing a two-dimensional Haar wavelet transform on the partial area (2mx2) sequentially extracted by the pixel extraction process.
  • the nLL subband coefficients (1 ⁇ n ⁇ N) are stored sequentially, and finally the NLL subband coefficients are stored.
  • the pixel extraction process sequentially extracts the spatially adjacent 2m ⁇ 2 pixel partial regions from the (n ⁇ 1) LL subband coefficients, and performs a two-dimensional Haar wavelet transform on them. Then, the nLL subband coefficients are obtained.
  • the extraction order of the 2mx2 partial area follows the scan line direction from the upper left corner to the lower right corner of the image.
  • the coefficient memory 303 stores a set of coefficients ⁇ LH (i, j), HL of the same spatial coordinates (i, j) in one layer of subbands nLH, nHL, nHH obtained by the two-dimensional Haar wavelet transform. (i, j), HH (i, j) ⁇ .
  • two or more constant coefficient sets may be stored.
  • a plurality of sets of coefficients can be stored if the cache memory has room.
  • the output code memory 304 has a (nLH, nHL, nHH) subband code memory 304.1 and an NLL subband code memory 304.2 as an initial output code.
  • the sub-band code memory 304.1 is a code (nLH, nHLH) obtained by coding a set of identical coordinate coefficients sequentially read out to the coefficient memory 303 by a coefficient coding process. , NHH) c.
  • the NLL subband code memory 304.2 stores the subband code NLLc obtained by coding the NLL subband coefficients in the initial coefficient coding process of the data processing device 301.
  • FIG. 7 is a flowchart showing the encoding control in this embodiment.
  • image data 10 is input from an image input device such as a camera or a scanner, and stored in the LL sub-band memory 302 as a 0LL sub-band (step S41).
  • Step S43 the upper left 2 ⁇ 2 sub-region (HI, H2, H3, H4) is extracted.
  • a two-dimensional Haar wavelet transform is performed on the extracted partial area of 2m x 2 pixels (step S44), and the resulting LH coefficient nA (i, j), HL coefficient
  • the nB (i, j) and the HH coefficient nC (i, j) are stored in the coefficient memory 303, respectively, and the LL coefficient nL (i, j) is stored in the LL subband memory 302 as an nLL subband (step S45).
  • the wavelet transform process calls the coefficient encoding process, and the coefficient memory 3
  • the coefficient sets nA (i, j), nB (i, j), and nC (i, j) are read from 03, subjected to variable-length coding, and stored in the subband code memory 304.1 of the output code memory 304. (Step S46).
  • the pixel extraction process determines whether or not the encoding has been completed for all the coordinates of the layer n (step S47).
  • step S47 If all the coding in the layer n has not been completed (N in step S47), the extraction coordinates (i, j) are shifted by a predetermined number in the scan line direction (step S48). Steps S43 and S48 are repeated until all encoding in n is completed.
  • step S49 When the encoding of the subband of the lowest resolution level N is completed (YES in step S49), the initial coefficient encoding process starts, and the NLL subband coefficient stored in the LL subband memory 302 is encoded. Then, it is stored in the NLL subband code memory 304.2 of the output code memory 304 (step S401).
  • the layer n to be output is set to the lowest resolution level N (step S402), and the sub-band code memories 304.1 and 304.2 of the output code memory 304 and the NLL sub-band code memory 304.2 are set.
  • the pixel extraction process can extract a 2m ⁇ 2 partial area.
  • m 2 and 4
  • the low-frequency components of each resolution are stored in the nLL sub-band memory.
  • the present invention does not limit these storage methods.
  • a method may be adopted in which these storage units are shared to reduce the amount of memory used.
  • the encoding device and the encoding control according to the present embodiment, after the wavelet operation is performed on the 2m ⁇ 2 pixel region extracted by the pixel extraction process, the LH, HL, and HH coefficients are stored in a small scale such as a register. ⁇ Encoded immediately on high-speed memory (counting memory 303). This enables high-speed encoding and eliminates the need for a real memory for storing the LH, HL, and HH subbands.
  • FIG. 8 is a diagram schematically showing encoding and decoding operations according to the first and second embodiments of the present invention.
  • a video camera is used as an image input device
  • a computer is used as a data processing device 101, 201, 301, and a data storage device 102-104, 220, 203, and 302-304.
  • a wired or wireless network communication control device as code output devices 105 and 305.
  • the personal computer has a CPU that realizes the functions of image input, wavelet operation, initial coefficient encoding, coefficient extraction, coefficient encoding, and code output.
  • image data (0LL) is stored in a semiconductor memory by an image input process.
  • the stored image 10 has Hl, H2, ... as pixels, and each pixel is composed of numerical data of Y, Cb, Cr (H1 # Y, Hl # Cb, Hl # Cr, ⁇ ing.
  • the input image 10 is subjected to a two-dimensional Haar wavelet transform by a wavelet operation, and the result is stored as nLL, nLH, nHL and nHH subband coefficients Z101-Z104 in the semiconductor memory. Specifically, first, from the origin at the upper left corner,
  • the code Z105 thus obtained is stored in the ILL code memory in FIG.
  • LH, HL, and HH subbands are encoded in order from the resolution level N.
  • the above processing is performed up to the lower right end of the subband, and the obtained code Z106 is stored in the (LH, HL, HH) code memory.
  • the personal computer has a CPU that realizes the functions of code input, initial coefficient decoding, coefficient decoding, inverse wavelet operation, and image output.
  • code data Z105 and Z106 are stored in the semiconductor memory by a code input process.
  • the ILL code and the (1LH, 1HL, 1HH) code are stored.
  • the input code Z105 is decoded by the initial coefficient decoding process, and the result is output to the LL sub-band memory in the semiconductor memory.
  • (LH, HL, HH) code data Z106 is sequentially supplied to a coefficient decoding process, and the coefficient value is decoded.
  • a two-dimensional Haar inverse wavelet operation is performed by a reverse wavelet operation process from the set of the decoded coefficients and the coefficients of the LL subband memory, and the result is output to the 0LL subband memory.
  • an inverse wavelet operation is performed using the coefficient values L1, A1, B1, and C1
  • the operation results are H1, H2, H3, and Output to H4.
  • an inverse wavelet operation is performed using the coefficient values L2, A2, B2, and C2.
  • the personal computer in this specific example has a CPU that realizes the functions of image input, pixel extraction, wavelet operation, coefficient coding, initial coefficient coding, and code output.
  • image data is stored in a semiconductor memory by an image input process.
  • the input image 10 is extracted every 2 ⁇ 2 pixels by a pixel extraction process, supplied to a wavelet operation process, and subjected to wavelet operation and encoding.
  • the pixels H1, H2, H3, and H4 are supplied to the wavelet operation process for encoding, and then the pixels H5, H6, H7, and H8 are supplied to the wavelet operation process for encoding.
  • the wavelet calculation process when 2 ⁇ 2 pixels are supplied, the pixels are subjected to a two-dimensional Haar wavelet transform to obtain coefficients L1, A1, B1, and C1.
  • the coefficient encoding process sequentially encodes A1, B1, and C1 and stores them in the output code memory as (LH, HL, HH) code Z106.
  • the code data stored in the semiconductor memory is sorted in order from the resolution level N, and the data in the LL code memory and the (LH, HL, HH) code memory are sequentially transmitted. Output to the road.
  • FIG. 9 is a block diagram showing a schematic configuration of an encoding device according to the third embodiment of the present invention.
  • the encoding device inputs image data 10 as a representative example of a two-dimensional signal from an image input device (not shown), and outputs a code sequence by wavelet encoding described later.
  • the encoding device mainly includes a data processing device 401, an LL subband memory 402, a coefficient memory 403, an output code memory 404, and a pixel thinning map memory 405, and a generated code sequence is a code output device 406.
  • the data processing device 401 is a general program control processor such as a CPU, and reads and executes an encoded program group from a program memory (not shown) to execute an inter-pixel bow I map generation process (inter-pixel Bow I map generation means 401 a), pixel thinning extraction Process (pixel decimation extraction means 401b), wavelet transform (here, two-dimensional Haar-single bullet transform) process (wavelet transform means 401c), coefficient encoding process (coefficient encoding means 401d), initial coefficient encoding (initial coefficient encoding) And a code output process (code output means 40 #) can be generated (the details will be described later).
  • inter-pixel Bow I map generation means 401 a inter-pixel Bow I map generation means 401 a
  • pixel thinning extraction Process pixel decimation extraction means 401b
  • wavelet transform here, two-dimensional Haar-single bullet transform
  • coefficient encoding process coefficient encoding means 401d
  • initial coefficient encoding initial coefficient encoding
  • the LL sub-band memory 402, coefficient memory 403, output code memory 404, and pixel thinning map memory 405 each have a force S that can be configured as a separate memory.
  • each space is allocated to one semiconductor memory. It is also possible to configure by.
  • a register or a cache memory of the CPU can be used as the coefficient memory 403.
  • the LL sub-band memory 402 stores the input image data 10 as 0LL sub-band data, and further obtains the two-dimensional Haar wavelet transform of the partial area (2mx2) sequentially extracted by the pixel thinning extraction process. NLL subband coefficients (1 ⁇ n ⁇ N) are stored sequentially, and finally the NLL subband coefficients are stored.
  • the pixel thinning-out extraction process sequentially extracts a partial area of 2mx2 pixels from the (n-1) LL subband coefficients, performs a thinning-out process on the partial area, and generates a result. Then, a two-dimensional Haar wavelet transform is performed on it, and nLL subband coefficients are obtained. Partial areas of 2mx2 pixels are sequentially extracted in the scan line direction.
  • the coefficient memory 403 stores a set of coefficients ⁇ LH (i, j) of the same spatial coordinates (i, j) in the subbands nLH, nHL, and nHH of one layer obtained by performing the two-dimensional Haar wavelet transform. , HL (i, j), HH (i, j) ⁇ .
  • two or more fixed coefficient sets can be stored.
  • one or more coefficient sets adjacent to ⁇ LH (i, j), HL (i, j), HH (i, j) ⁇ may be extracted and stored in the coefficient memory 403.
  • a plurality of sets of coefficients can be included in the thread.
  • the output code memory 404 has a (nLH, nHL, nHH) subband code memory 404.1 and an NLL subband code memory 404.2 that is an initial output code.
  • the sub-band code memory 404.1 is a code (nLH, nHL) obtained by coding a set of the same coordinate coefficients sequentially read out to the coefficient memory 403 by a coefficient coding process.
  • NHH Store c.
  • the NLL sub-band code memory 404.2 stores the sub-band code NLLc obtained by coding the NLL sub-band coefficient by the initial coefficient coding process of the data processing device 401.
  • the pixel thinning map memory 405 is generated by a pixel thinning map generation process described later, and stores the resolution level of each part of the image. Therefore, by searching the pixel thinning map memory 405, it is possible to determine whether or not to perform the pixel thinning process on the extracted partial region (details will be described later).
  • FIG. 10 is a flowchart showing the encoding control in this embodiment.
  • image data 10 is input from an image input device such as a camera or a scanner, and stored in the LL sub-band memory 402 as a 0LL sub-band (step S51).
  • the variable n indicating the resolution level (hierarchy) is set to 1
  • a partial area of 2m ⁇ 2 pixels corresponding to the coordinates (i, j) is sequentially extracted from the (n_l) LL subband of the LL subband memory 402 (step S54).
  • the pixel thinning extraction process reads the resolution level of the coordinates corresponding to the extracted partial area from the pixel thinning map memory 405, and the extracted part is thinned according to the value of the resolution level. It is determined whether the pixel is the target pixel (step S55). If the extracted portion is a thinning target (YES in step S55), pixels are thinned by a predetermined thinning operation (step S56), and a wavelet transform is performed on the thinned pixel values (step S57).
  • a wavelet transform is executed using the pixel values of the extracted portion as they are (step S57).
  • the thinning operation is not particularly limited. One pixel value in the extraction area may be used as a representative value, or an average of all the extracted pixel values may be taken.
  • the extracted 2 ⁇ 2 pixels are pixels to be decimated
  • the extracted 2 ⁇ 2 pixels are supplied to the wavelet calculation process as 2 ⁇ 2 pixels having an average value of those pixel values. If the pixel is not the pixel to be decimated, the pixel value of each 2 ⁇ 2 pixel is supplied to the wavelet calculation process as it is.
  • the wavelet transform process performs a two-dimensional Haar wavelet transform on the extracted 2m x 2 pixel subregion (step S57), and obtains the resulting LH coefficient nA (i, j) and HL coefficient.
  • nB (i, j) and HH coefficient nC (i, j) are stored in coefficient memory 403, respectively, and LL coefficient nL (i, j) is stored in LL subband memory 402 as nLL subband (step S58). .
  • the wavelet transform process calls the coefficient code conversion process, reads out the coefficients nA (i, j), nB (i, j), and nC (i, j) from the coefficient memory 403 and Then, the data is stored in the subband code memory 404.1 of the output code memory 404 (step S59).
  • the pixel thinning-out extraction process determines whether or not the encoding has been completed for all the coordinates of the layer n (step S60).
  • step S502 When the encoding of the subband of the lowest resolution level N is completed (YES in step S502), the initial coefficient encoding process starts, and encodes the NLL subband coefficients stored in the LL subband memory 402. Is stored in the NLL sub-band code memory 404.2 of the output code memory 404 (step S504).
  • Steps S504 to S508 are the same as Steps S401 to S405 in FIG. 7, and thus description thereof will be omitted.
  • the method of determining the resolution level in the pixel thinning map generation process is not limited.
  • the resolution level may be different between a photograph's "natural image” and a character's graph depending on the intention of the image viewer.
  • the resolution may be different between an area where the displacement of the adjacent element value in the image is relatively large and an area where the displacement of the adjacent element value is relatively small.
  • the resolution of a relatively small area may be set lower than the resolution of a relatively large area.
  • the magnitude of the displacement of the adjacent element value can be determined depending on whether the displacement of the adjacent element value is larger or smaller than a preset threshold.
  • the encoding processing can be speeded up and the required memory can be reduced as in the first embodiment.
  • images can be encoded at different resolution levels for each partial area.
  • the processing load caused by the thinning can be kept very small.
  • Steps S52 and S55-S56 which are the thinning-related processes described above, can also be applied to the encoding control flow of the first embodiment shown in FIG.
  • a pixel thinning map generation step S52 is inserted after the image data input step S11. Further, in the same coordinate coefficient extraction step S15, the same coordinate coefficient extraction process refers to the pixel thinning map, extracts the pixel as it is if there is no need to thin out the pixel, and if it is necessary to thin out the pixel, increases the coefficient to the resolution set for the coordinate. And extract it.
  • FIG. 11 is a diagram schematically showing encoding and decoding operations according to the third embodiment of the present invention.
  • a video camera is used as an image input device
  • a personal computer is used as a data processing device 401
  • a semiconductor memory (included in a personal computer) is used as a data storage device 402-405
  • a wired or wireless network is used as a code output device 406.
  • Communication control device The basic configuration of the present example is the same as that of the second example. The difference lies in that a personal computer as the force data processing device 401 functions to generate a pixel thinning map and extract a pixel thinning.
  • image data is stored in a semiconductor memory by an image input process.
  • the pixel thinning map generation process analyzes the features such as the edge strength of the input image, separates the photo area from the text area, and sets the pixel resolution for the photo area to resolution level 2 and the text area to resolution level 1. Generate the map Z202.
  • the pixel thinning extraction process uses the input image 10 and the pixel thinning map Z202.
  • X Extract a pixel area for every two pixels. If the pixel area is a photographic area, thin out the pixels and perform wavelet calculation and encoding.If the pixel area is a character area, perform wavelet calculation and encoding as it is. Do.
  • the code string output in this manner is decoded by the decoding device, and a decoded image Z203 in which only the resolution of the photographic region is low is obtained.
  • FIG. 12 is a block diagram showing a schematic configuration of a code apparatus according to a fourth embodiment of the present invention.
  • the coding device inputs image data 10 as a representative example of a two-dimensional signal from an image input device (not shown) such as a video camera, and outputs a code sequence by wavelet coding described later.
  • the encoding device mainly includes a data processing device 501, an LL subband memory 502, a coefficient memory 503, an output code memory 504, a pixel thinning map memory 505, and a subsequent frame data memory 506. Is output to the code output device 507.
  • the data processing device 501 is a general program control processor such as a CPU, and reads and executes an encoded program group from a program memory (not shown) to execute a moving area detection process (moving area detecting means 501a). ), Pixel thinning map generating process (pixel thinning map generating means 501b), pixel thinning extracting process (pixel thinning extracting means 501c), ⁇ wavelet transform (here, two-dimensional Haar wavelet transform) process (wavelet transforming means 501d) ), A coefficient encoding process (coefficient encoding means 501e), an initial coefficient encoding process (initial coefficient encoding means 501f), and a code output process (code output means 50lg) can be generated (to be described in detail later). .).
  • the LL sub-band memory 502, coefficient memory 503, output code memory 504, pixel thinning map memory 505, and subsequent frame data memory 506 can each be configured as a separate memory.
  • one semiconductor memory It is also possible to configure by allocating each space to each.
  • a register or a cache memory of the CPU can be used as the coefficient memory 503.
  • the LL sub-band memory 502 stores the input image data 10 as 0LL sub-band data Then, the nLL subband coefficients (1 ⁇ n ⁇ N) obtained by performing the two-dimensional Haar wavelet transform on the partial area (2mx 2) sequentially extracted by the pixel extraction process are sequentially stored. NLL subband coefficients are stored.
  • the pixel thinning-out extraction process sequentially extracts a partial area of 2 mx 2 pixels from the (n-1) LL subband coefficients, and performs thinning-out processing on the extracted region. Is subjected to a two-dimensional Hall wavelet transform to obtain nLL subband coefficients.
  • the partial area (2m X 2) is sequentially extracted in the scan line direction.
  • the coefficient memory 503 stores a set of coefficients ⁇ LH (i, j) of the same spatial coordinates (i, j) in the subbands nLH, nHL, and nHH of one layer obtained by performing the two-dimensional Haar wavelet transform. , HL (i, j), HH (i, j) ⁇ .
  • two or more fixed coefficient sets can be stored.
  • one or more coefficient sets adjacent to ⁇ LH (i, j), HL (i, j), HH (i, j) ⁇ may be extracted and stored in the coefficient memory 503.
  • a plurality of sets of coefficients can be stored in the thread.
  • the output code memory 504 includes (nLH, nHL, nHH) sub-band code memories 504-1 and NLL sub-band code memories 504.2, which are initial output codes.
  • the sub-band code memory 504.1 is a code (nLH, nHL) obtained by coding a set of the same coordinate coefficients sequentially read out to the coefficient memory 503 by a coefficient coding process.
  • NHH NLL sub-band code memory 504.2 stores the sub-band code NLLc obtained by coding the NLL sub-band coefficient by the initial coefficient coding process of the data processing device 501.
  • the pixel thinning map memory 505 is generated by a pixel thinning map generation process described later, and stores the resolution level of each part of the image. Therefore, by searching the pixel thinning map memory 505, it is possible to determine whether or not to perform the pixel thinning process on the extracted partial region (details will be described later).
  • the subsequent frame data memory 506 stores input frame data following the current frame stored in the LL subband memory 502.
  • the moving area detection process on the data processing device 501 detects an area (moving area) where a pixel value changes in a subsequent frame from the current input image and the contents of the subsequent frame data memory 506.
  • the pixel thinning map generation process generates a coefficient thinning map having a different resolution between the moving area and the other areas based on the information on the detected moving area. Specifically, the moving area is set to low resolution, and the other areas are set to high resolution.
  • FIG. 13 is a flowchart showing the encoding control in the present embodiment.
  • Step S6 Do when moving image data 10 is input from a moving image input device such as a video camera, frame data to be encoded is stored in the LL subband memory 502 as 0LL subbands, and the subsequent frame data is stored in the subsequent frame data. Stored in the memory 506 (Step S6 Do)
  • the moving area detection process detects a moving area based on the 0LL subband data stored in the LL subband memory 502 and the subsequent frame data stored in the subsequent frame data memory 506 (step S62).
  • a method of detecting a moving area for example, there is a method of calculating a difference between both frame images.
  • a pixel thinning map in which the detected moving area is set to low resolution and the other areas are set to high resolution is generated and stored in the pixel thinning map memory 505 (step S63).
  • n indicating a resolution level (hierarchy)
  • a partial area of 2m ⁇ 2 pixels corresponding to the coordinates (i, j) is sequentially extracted from the (n_l) LL subband of the LL subband memory 502 (step S54).
  • the upper left 2 ⁇ 2 partial area (Hl, H2, H3, H4) is extracted.
  • the pixel thinning extraction process performs processing on the extracted partial regions.
  • the resolution level of the corresponding coordinates is read from the pixel thinning map memory 505, and it is determined whether or not the extracted portion is a thinning target pixel based on the value of the resolution level (step S66). If the extracted portion is a thinning target (YES in step S66), pixels are thinned by a predetermined thinning operation (step S67), and a wavelet transform is performed on the thinned pixel values (step S68). ). If the extracted portion is not a thinning target (N ⁇ in step S66), the wavelet transform is performed using the pixel values of the extracted portion as they are (step S68).
  • the thinning operation is not particularly limited. One pixel value in the extraction area may be used as a representative value, or an average of all the extracted pixel values may be taken.
  • the extracted 2 ⁇ 2 pixels are pixels to be decimated
  • the extracted 2 ⁇ 2 pixels are supplied to the wavelet calculation process as 2 ⁇ 2 pixels having an average value of those pixel values. If the pixel is not the pixel to be decimated, the pixel value of each 2 ⁇ 2 pixel is supplied to the wavelet calculation process as it is.
  • the wavelet transform process performs a two-dimensional Haar wavelet transform on the extracted 2m x 2 pixel partial area (step S68), and obtains the resulting LH coefficient nA (i, j) and HL coefficient.
  • the nB (i, j) and the HH coefficient nC (i, j) are stored in the coefficient memory 503, respectively, and the LL coefficient nL (i, j) is stored in the LL subband memory 502 as an nLL subband (step S69). .
  • the wavelet transform process calls the coefficient encoding process, reads out the coefficient sets nA (i, j), nB (i, j), nC (i, j) from the coefficient memory 503 and sets the variable length.
  • the encoding is performed, and stored in the sub-band code memory 504.1 of the output code memory 504 (step S70).
  • the pixel thinning-out extraction process determines whether or not encoding has been completed for all coordinates of the layer n. A determination is made (step S71).
  • step S71 If all the coding in the layer n has not been completed (N ⁇ in step S71), the extraction coordinates (i, j) are shifted by a predetermined number in the scan line direction (step S72). Steps S65 and S72 are repeated until all encoding in n is completed.
  • step S73 When the encoding of the subband of the lowest resolution level N is completed (YES in step S73), the initial coefficient encoding process starts, and the N stored in the LL subband memory 502 is set.
  • the LL subband coefficient is encoded, and the NLL subband code memory 504 of the output code memory 504 is encoded.
  • steps S75-S79 are the same as steps S401-S405 in Fig. 7, and a description thereof will be omitted.
  • the subsequent frame information used in the present embodiment may be image data of a subsequent frame, or may be coordinate information of an update area in which a signal value is updated.
  • image data is used as the succeeding frame information
  • the moving area can be detected by taking the difference between the current frame image and the succeeding frame image.
  • the coordinate information of the update area is used, the update area can be used as it is as the moving area.
  • a plurality of frames may be used instead of a single frame.
  • a period during which the value of the pixel changes in each partial region is obtained, and the resolution of the pixel thinning map is set based on the change period. More specifically, the resolution is lower in a region where the change period of the pixel is long, that is, in a region where the pixel changes over a long time.
  • steps S61 S63 and S66 S67 which are the moving area detection and thinning-related processing in the fourth embodiment described above, can be applied to the encoding control flow of the first embodiment shown in FIG. .
  • the coding apparatus is similar to the first embodiment.
  • a region overwritten by a subsequent frame image is detected as a moving region, so that the moving region has a low resolution. It is possible to generate a pixel thinning map in which the other regions are set to a high resolution, thereby reducing the amount of code in the moving region and improving the frame rate.
  • the resolution of the moving area will decrease, but since the moving area is an area that is overwritten in the subsequent frame, even if it is displayed temporarily at a low resolution, viewers will not be able to see It is difficult to recognize quality deterioration.
  • FIG. 14 is a diagram schematically showing a console screen for describing a moving area detection and a thinning-out operation according to the fourth embodiment of the present invention.
  • a video camera is used as an image input device
  • a workstation CPU is used as a data processing device 501
  • a semiconductor storage device (included in a workstation) is used as a data storage device 502-506, and
  • a code output device is used as a code output device. It has a communication control device connected to the network.
  • the workstation CPU can implement the functions of moving area detection, pixel thinning map generation, pixel thinning extraction, ⁇ Ablet transform, coefficient coding, initial coefficient coding, and code output. .
  • a console screen of a workstation is assumed as a display means for schematically showing the moving area detection and thinning processing of an image.
  • Fig. 14 an update area of a frame screen is sequentially supplied, and the The state of transmission after transmission is schematically shown.
  • Z300 indicates the state of the console screen in frame f
  • Z3000 indicates the update area on screen Z300 in frame f
  • Z301 indicates the state of the console screen in frame (f + 1)
  • Z3010 indicates the update area on screen Z301 in frame (f + 1).
  • Z302 indicates the state of the console screen at frame (f + 2)
  • Z3020 indicates the update area.
  • the workstation has previously acquired the coordinates of the update area of the succeeding frame (f + 1). That is, Z3001 indicates the position of the update area of the subsequent frame (f + 1) on the screen Z300 of the frame f, and similarly, Z3011 indicates the subsequent frame (f + 1) of the frame (f + 1) on the screen Z301. +2) indicates the coordinates of the update area. Also, In the frame following frame (f + 2), it is assumed that screen Z302 has not been updated.
  • the operation in frame f is as follows. First, the workstation acquires the input image Z3000 and the subsequent frame information Z3001. The overlapping area of Z3000 and Z3001 is detected as a moving area by the moving area detection process, and the pixel thinning map Z310 that sets the moving area to resolution level 2 and the other areas to resolution level 1 by the pixel thinning map generation process. Generated.
  • a pixel is extracted every 2 X 2 pixels based on the input image Z3000 and the pixel thinning map Z310, supplied to the wavelet operation process, and performs wavelet transform and encoding. Pixels are decimated and encoded for the moving area of resolution level 2. By decoding the code obtained in this way and performing drawing in the update area, a display image Z320 in which only the resolution of the moving area is reduced is obtained. The above is the operation in frame f.
  • FIG. 15 is a block diagram illustrating a schematic configuration of an encoding device according to a fifth embodiment of the present invention.
  • the basic configuration of the present embodiment is the same as that of the second embodiment, except that the data processing device 9001 can generate a coefficient quantization map generation process and a coefficient quantization process. It differs in that it has.
  • the data processing device 901 includes a coefficient quantization map generation process (coefficient quantization map generation means 901a), a pixel extraction process (pixel extraction (element extraction) means 901b), and an ⁇ wavelet transform (here, 2D Haar wavelet transform) process (wavelet transformer 901c), coefficient quantization process (coefficient quantizer 901d), coefficient encoding process (Coefficient encoding means 901e), an initial coefficient encoding process (initial coefficient encoding means 901f), and a code output process (code output means 901g).
  • coefficient quantization map generation means 901a coefficient quantization map generation means 901a
  • a pixel extraction process pixel extraction (element extraction) means 901b
  • an ⁇ wavelet transform here, 2D Haar wavelet transform
  • coefficient quantizer 901d coefficient quantization process
  • coefficient encoding means 901e coefficient encoding process
  • an initial coefficient encoding process initial coefficient encoding means 901f
  • code output means 901g code output means
  • the coefficient quantization map memory 905 stores a coefficient quantization map, which is a quantization parameter for each part of the image. Therefore, by searching the coefficient quantization map memory 905, it is possible to obtain the accuracy of the coefficient quantization for the partial region extracted in the pixel extraction process (details will be described later).
  • the coefficient quantization map is generated by a coefficient quantization map generation process.
  • FIG. 16 is a flowchart showing the encoding control in the present embodiment.
  • image data 10 is input from an image input device such as a camera or a scanner, and stored in the LL sub-band memory 902 as 0LL sub-band (step S801).
  • the coefficient quantization map generation process on the data processing device 901 reads the 0LL sub-band data when an image is input, and determines the coefficient corresponding to each spatial coordinate position and each resolution level by the quantization accuracy.
  • a coefficient quantization map indicating whether or not to perform encoding by thinning out is generated and stored in the coefficient quantization map memory 905 (step S802).
  • n indicating the resolution level (hierarchy)
  • a partial area of 2m ⁇ 2 pixels corresponding to the coordinates (i, j) is sequentially extracted from the (n ⁇ 1) LL subband of the LL subband memory 902 (step S804) ).
  • the wavelet transform process performs a two-dimensional Haar wavelet transform on the extracted 2m x 2 pixel partial area (step S805), and obtains the resulting LH coefficient nA (i, j) and HL coefficient.
  • the nB (i, j) and the HH coefficient nC (i, j) are stored in the coefficient memory 903, respectively, and the LL coefficient nL (i, j) is stored in the LL subband memory 902 as an nLL subband (step S806).
  • the coefficient quantization process uses the LH coefficient nA (i, j), HL coefficient nB (i, j) and And the HH coefficient nC (i, j) are read. Further, from the coefficient quantization map memory 905, a coefficient quantization parameter corresponding to the space coordinate and the resolution level is read, and the LH coefficient nA (i, j) and the HL coefficient nB (i , j) and the HH coefficient nC (i, j) are quantized. The contents of the coefficient memory 903 are updated by each quantized coefficient (step S807).
  • steps S808-S817 are the same as steps S46-S50, S401, and S405 in Fig. 7, and thus description thereof will be omitted.
  • reference numeral 904 denotes an output code memory
  • 904.1 denotes an (nLH, nHL, nHH) subband code memory
  • 904.2 denotes an NLL subband code memory
  • 906 denotes a code output device.
  • the coefficient quantization map may be generated so that the quantization accuracy of the coefficient differs between the photograph area and the character area. For example, if a single image contains both text areas with gray levels and photographs with varying colors and gray levels, detecting the displacement of the P-tangent element value, By analyzing the features, the photograph area and the character area can be distinguished. Then, by generating the coefficient quantization map so that the quantization accuracy of the photograph region is lower than that of the character region, it is possible to reduce the code amount while suppressing visual quality deterioration.
  • the quantization accuracy of the coefficient may be different between an area where the displacement of the adjacent element value in the image is relatively large and an area where the displacement of the adjacent element value is relatively small.
  • the quantization precision of a relatively small area may be set lower than that of a relatively large area.
  • the magnitude of the displacement of the neighboring element value can be determined depending on whether the displacement of the neighboring element value is larger or smaller than a preset threshold.
  • the coding processing can be speeded up and the required memory can be reduced as in the first embodiment.
  • images can be encoded with different quantization accuracy for each subregion.
  • the waiting time can be reduced.
  • quality control can be performed in finer units than in the third embodiment.
  • the resolution when reducing the quality of the non-interest area, the resolution is reduced by a power of 2 such as 2 or 4. For this reason, it was necessary to reduce the resolution by half even when it was desired to slightly lower the quality.
  • the quantization accuracy by controlling the quantization accuracy, it is possible to finely control the quantization distortion such as mosquito noise.
  • FIG. 17 is a diagram schematically showing an encoding operation according to the fifth embodiment of the present invention.
  • a video camera is used as an image input device
  • a personal computer is used as a data processing device 901
  • a semiconductor memory (included in a personal computer) is used as a data storage device 902-905
  • a wired or wireless device is used as a code output device 906. It is assumed that a network communication control device is provided.
  • the basic configuration of this example is the same as that of the second example, except that a personal computer as the data processing device 901 has a function of generating a coefficient quantization map and a coefficient quantization.
  • the coefficient quantization process based on the information of the quantization step obtained from the coefficient quantization map Z402, if the pixel area is a photograph area, the coefficient value Z403.1 is quantized in six steps, and the coefficient value Z403. Get two. If the pixel region is a character region, the pixel is quantized in three steps to obtain a coefficient value Z403.3.
  • the quantized coefficients are encoded by a coefficient encoding process. [0200]
  • the code string output in this way is decoded by the decoding device, and an image in which only the coefficients of the photographic region are roughly quantized is obtained.
  • FIG. 18 is a block diagram showing a schematic configuration of a code encoder according to a sixth embodiment of the present invention.
  • the basic configuration of this embodiment is the same as that of the fifth embodiment, except that the data processing device 1001 can generate a moving area detection process, and that it has a subsequent frame data memory 1006.
  • the data processing device 1001 performs a moving region detection process (moving region detection means 1001a), a coefficient quantization map generation process (coefficient quantization map generation means 1001b), a pixel extraction process (pixel extraction (element extraction ) Means 1001c), wavelet transform (here, 2D Haar wavelet transform) process (wavelet transform means lOOld), coefficient quantization process (coefficient quantizer lOOle), coefficient encoding process (coefficient encoding means 1001f) , An initial coefficient encoding process (initial coefficient encoding means 1001g), and a code output process (code output means 1001h).
  • a moving region detection process moving region detection means 1001a
  • coefficient quantization map generation means 1001b coefficient quantization map generation means 1001b
  • a pixel extraction process pixel extraction (element extraction ) Means 1001c
  • wavelet transform here, 2D Haar wavelet transform
  • coefficient quantizer lOOle coefficient quantization process
  • coefficient encoding means 1001f coefficient encoding
  • the moving area detection process on the data processing device 1001 is based on the current input image and the contents of the subsequent frame data memory 1006 where the pixel value changes in the subsequent frame (moving area). ) Is detected.
  • the coefficient quantization map generation process generates a coefficient quantization map having a different quantization precision between the moving region and the other region based on the detected information on the moving region. Specifically, the moving region is set to a coarse quantization accuracy, and the other regions are set to a fine quantization accuracy.
  • FIG. 19 is a flowchart showing the encoding control in this embodiment.
  • step S901 when moving image data 10 is input from a moving image input device such as a video camera, frame data to be encoded is stored in the LL subband memory 1002 as a 0LL subband, and the subsequent frame data is stored in a subsequent frame.
  • the data is stored in the data memory 1006 (step S901).
  • the moving area detection process is based on the 0LL subband data stored in the LL subband memory 1002 and the subsequent frame data stored in the subsequent frame data memory 1006.
  • a moving area is detected (step S902).
  • a method of detecting a moving area for example, there is a method of calculating a difference between both frame images.
  • the coefficient quantization map generation process generates a coefficient quantization map in which the detected moving region is set to coarse quantization accuracy and the other regions are set to fine power, fineness, and quantization accuracy. It is stored in the child map memory 1005 (step S903).
  • steps S904 to S918 are the same as steps S803 and S817 in Fig. 16, and description thereof will be omitted.
  • 1003 is a coefficient memory
  • 1004 is an output code memory
  • 1004.1 is an (nLH, nHL, nHH) subband code memory
  • 1004.2 is an NLL subband code memory
  • 1007 is a code output device. is there.
  • the subsequent frame information used in the present embodiment may be image data of a subsequent frame, or may be coordinate information of an update area in which a signal value is updated.
  • image data is used as the succeeding frame information
  • the moving area can be detected by taking the difference between the current frame image and the succeeding frame image.
  • the coordinate information of the update area is used, the update area can be used as it is as the moving area.
  • a plurality of frames may be used instead of a single frame.
  • a period during which the value of the pixel changes in each partial area is obtained, and the quantization accuracy of the coefficient quantization map is set based on the change period. More specifically, the quantization accuracy is set lower in a region where the pixel change period is long, that is, in a region where the pixel changes over a long time.
  • the encoding process can be speeded up and the required memory can be reduced as in the first embodiment. It is possible to reduce the amount of code in the moving region and improve the frame rate.
  • quality control can be performed in finer units than in the fourth embodiment.
  • the resolution is reduced by a power of 2, such as 1/2 or 1/4. For this reason, it was necessary to reduce the resolution by half even when it was desired to slightly lower the quality.
  • the sixth embodiment by controlling the quantization accuracy, it is possible to finely control the quantization distortion such as mosquito noise.
  • the basic configuration of this example is the same as that of the fourth example, but differs in that it has a function of a workstation S as the data processing device 1001, a function of generating a coefficient quantization map, and a function of coefficient quantization.
  • the quality of the moving area can be reduced in the same manner as in the fourth specific example, but the image is displayed with a lower quantization precision than in the fourth specific example. You.
  • FIG. 20 is a block diagram showing a schematic configuration of an encoding device according to the seventh embodiment of the present invention.
  • the basic configuration of the present embodiment is the same as that of the first embodiment, except that the data processing device 1101 can generate the moving region detection process, the coefficient quantization map generation process, the coefficient quantization process, and the coefficient quantization process. It is different in that it has a generalized map memory 1105 and a subsequent frame data memory 1106.
  • the data processing device 1101 includes a moving region detection process (moving region detection means 1101a), a coefficient quantization map generation process (coefficient quantization map generation means 1101b), a wavelet transform (here, a two-dimensional Haar Wavelet transform) process (wavelet transform means 1101c), same coordinate coefficient extraction process (same coordinate coefficient extraction means l lOld), coefficient quantization process (coefficient quantization means 1101e), initial coefficient encoding process (initial coefficient encoding means) 110 ⁇ ), a coefficient encoding process (coefficient encoding means l lOlg), and a code output process (code output means l lOlh) can be generated.
  • the moving area detection process on the data processing device 1101 is similar to that of the fourth embodiment, in the area where the pixel value changes in the subsequent frame (moving area) from the current input image and the contents of the subsequent frame data memory 1106. ) Is detected.
  • the coefficient quantization map generation process generates a coefficient quantization map having a different quantization precision between the moving region and the other region based on the information of the detected moving region. Specifically, the moving region is set to a coarse quantization accuracy, and the other regions are set to a fine quantization accuracy.
  • the generated coefficient quantization map is stored in the coefficient quantization map memory 1105.
  • the LH coefficient nA (i, j), the HL coefficient nB (i, j), and the HH coefficient nC (i, j) are read from the coefficient memory 1003. Further, from the coefficient quantization map memory 1105, a coefficient quantization parameter corresponding to the spatial coordinate 'resolution level is read, and the LH coefficient nA (i, j) and the HL coefficient nB up to the quantization precision indicated by the parameter. Quantize (i, j) and HH coefficient nC (i, j).
  • FIG. 21 is a flowchart showing the encoding control in the present embodiment.
  • the frame data to be encoded is stored in the subband memory 1102 as a 0LL subband, and the subsequent frame data is stored in the subsequent frame data memory. It is stored in 1106 (step S1 001).
  • the wavelet transform process on the data processing device 101 executes N-stage two-dimensional Haar wavelet transform on the 0LL subband data read from the subband memory 1102, and performs the transform.
  • the initial coefficient coding process reads the initial coefficient NLL from the subband memory of the layer N, and performs variable-length coding using a run-length Huffman code or an LZW code.
  • the codes NLLc (0, 0), NLLc (l, 0), ..., NLLc (p, q) are stored in the NLL subband code memory 1104.1 of the output code memory 104.
  • the code 1J stored in the output code memory 1104 is read and output to the code output device 1107 (step S1004).
  • the next coding target is the LH, HL, and HH subbands.
  • the variable n indicating the resolution level (hierarchy) is set to N
  • the moving region detection process and the coefficient quantization map generation process are activated.
  • the moving area detection process detects a moving area based on the 0LL subband data stored in the LL subband memory 1102 and the subsequent frame data currently stored in the subsequent frame data memory 1106 (step S1006).
  • a method of detecting a moving area for example, there is a method of calculating a difference between two frame images.
  • the coefficient quantization map generation process generates a coefficient quantization map in which the detected moving region is set to coarse quantization accuracy and the other regions are set to fine quantization accuracy, and the coefficient quantization map memory 1105 (Step S1007).
  • the same coordinate coefficient extraction process performs the same set of coefficients (nA (i, j), nB) of the same spatial coordinates (i, j) in the subband nLH, nHL, nHH of the hierarchy n from the subband memory 1102. (i, j), nC (i, j) ⁇ is read and stored in the coefficient memory 1103 (step S1008).
  • a coefficient quantization process is activated to perform quantization.
  • the coefficient set nA (i, j), nB (i, j), nC (i, j) is read from the coefficient memory 1103, and further, the corresponding space is read from the coefficient quantization map memory 1105.
  • the coefficient quantization parameter corresponding to the coordinate 'resolution level is read, and the LH coefficient nA (i, j), HL coefficient nB (i, j), and HH coefficient nC (i, j) is quantized.
  • the contents of the coefficient memory 1103 are updated by each quantized coefficient (step S1009).
  • the coefficient encoding process reads the coefficient sets nA (i, j), nB (i, j), nC (i, j) from the coefficient memory 1103, performs variable length coding, and outputs the code. It is stored in the subband code memory 1104.2 of the memory 1104 (step S1010).
  • the same coordinate coefficient extraction process determines whether or not encoding has been completed for all the coordinates of the layer n (step S 1011).
  • step S1011 Unless all encoding in the layer n has been completed (NO in step S1011) Then, the extraction coordinates (i, j) are shifted by a predetermined number in the scan line direction (step S1012), and the above steps S1008 to S1012 are repeated until all the encoding in the layer n is completed.
  • step S1011 When all encoding on the layer n is completed (YES in step S1011), the code output process reads the code string stored in the output code memory 1104 and outputs it to the code output device 1107 (step S1013). ).
  • the moving region detection process and the coefficient quantization map generation process are activated before the LH, HL, and HH subband encoding of each resolution level. These processes may be started at a certain resolution level to suppress noise, or these processes may be started at a certain resolution level or higher.
  • the encoding process can be speeded up and the required memory can be reduced as in the first embodiment. It is possible to reduce the amount of code in the moving region and improve the frame rate.
  • the code amount can be further reduced and the frame rate can be further improved.
  • the reasons are the following two points.
  • the LH, HL, and HH subbands encoded at each resolution are output as is to a code output device 1107 such as a communication channel.
  • the code output device 1107 is slower than the processing speed of the data processing device 1101, so that a lot of waiting time is required for outputting the code.
  • the screen is updated during the code output period, it can be detected as a moving area immediately before the next resolution level is encoded.
  • a moving region can be newly detected from a subsequent frame, and the code amount can be further reduced.
  • the code amount control method is a method based on quantization.
  • the same frame rate improvement effect can be achieved by using the code amount control by resolution truncation as in the fourth embodiment. .
  • FIG. 22 is a diagram schematically showing a console screen for explaining the motion region detection and the coefficient quantization operation according to the seventh embodiment of the present invention.
  • the basic configuration in this specific example is the same as that of the fourth specific example, except that a workstation force coefficient quantization map generation process and a coefficient quantization process, which are the data processing device 1101, can be generated.
  • Fig. 22 schematically illustrates a state in which the update areas of the frame screen are sequentially supplied, encoded, and transmitted.
  • Z501, Z502, and Z503 show the console screen of the workstation in frames f, (f + 1), and (f + 2), respectively.
  • Z5010, Z5020, Z5030 indicate the area to be encoded by frames f, (f + 1), (f + 2), and Z5031 is newly supplied in frame (f + 2). The following frame area is shown.
  • the workstation obtains input image Z501, performs wavelet transform on region Z5010 of input image Z501, and obtains each frequency subband Z510. Furthermore, Z511, which is the lowest resolution LL component, is variable-length coded and output to the communication channel.
  • FIG. 23 is a block diagram of a bidirectional communication terminal incorporating a coding and decoding device according to the eighth embodiment of the present invention.
  • the terminal is provided with a CPU 601 as a program control processor, and is connected to the cache memory 602 and the main memory 603 via an internal bus.
  • the internal bus is further connected to an external bus 604 via a port.
  • the external bus 604 has a memory 605 storing necessary programs, a data memory 606, an interface 607 for connecting a camera 608, and an interface 609 for connecting a display 610. , And an interface 611 connecting the communication control unit 612 and the like.
  • the communication control unit 612 is connected to the network 613. If it is a mobile phone, the communication control unit 612
  • the network 613 is a mobile communication network including a communication unit and a channel control unit.
  • the program memory 605 stores an encoding program, a decoding program, a main program for controlling the overall operation of the communication terminal, and the like.
  • the encoding program is represented by the flowchart shown in FIG. 3, FIG. 7, FIG. 10, FIG. 13, FIG. 16, FIG. 19, or FIG. 21 described in the first to seventh embodiments. Is represented by the flowchart shown in FIG.
  • the above-described processes of the encoding program and the decoding program are executed under the control of the process by the main program.
  • the data memory 606 includes a sub-band memory 606.1 and an input / output encoded data memory 606.
  • the sub-band memory 606.1 is, for example, the sub-band memory 102 in FIG. 1 or the LL sub-band memory 302 in FIG.
  • Input / output coded data memory 606.2 includes, for example, an output code memory such as output code memory 104/304 in FIGS. 1 and 6, and an input code memory such as the 0LL subband memory in FIG.
  • the camera 608 corresponds to the image input device in the encoding device
  • the display 610 corresponds to the image output device 204 in the decoding device.
  • the image data captured by the camera is subjected to wavelet transform and encoding as described above, and the code sequence is transmitted to the other terminal via the network.
  • the code string of the image data received from the other party is decoded and subjected to inverse wavelet transform as described above and displayed on the display 610.
  • the detailed operation is as described above, and in any case, the cache memory 602 can be used as a coefficient memory.
  • the encoding device and the decoding device according to the present invention can be realized by executing each control program on the CPU as described above, but can also be realized by hardware.
  • FIG. 24 is a block diagram showing an example of the encoding device according to the ninth embodiment of the present invention.
  • Image data input by an image input device 701 such as a camera is stored in an image memory 702, and is sequentially subjected to wavelet transform by the wavelet transform unit 703 as described above.
  • the obtained subband coefficients LL, LH, HL, HH are stored in the subband memory 704, and the initial coefficients NLL are coded by the initial coefficient coding unit 705 and stored in the output code memory 709.
  • the same coordinate coefficient extraction unit 706 extracts a coefficient set of the same coordinates of the other subband coefficients LH, HL, and HH from the subband memory 704, and stores one or more constant coefficient sets in the high-speed register 707. Store.
  • the coefficient set stored in the register 707 is encoded by the coefficient encoding unit 708 and stored in the output code memory 709. In this way, the NLL code and the code of the same coordinate coefficient set stored in the output code memory 709 are sequentially read and output by the code output unit 710.
  • FIG. 25 is a block diagram showing an example of the decoding device according to the ninth embodiment of the present invention.
  • the code string transmitted by the coding device is input by a code input device 801 and stored in an input code memory 802.
  • the initial coefficient NLL is decoded by the initial coefficient decoding unit 803 and stored in the subband memory 804.
  • the coefficient decoding unit 805 sequentially decodes one or more fixed number of subband coefficient sets nLH, nHL, nHH from the input code, and stores them in the register 806.
  • the wavelet inverse transform unit 807 reads the coefficient set from the register 806, performs wavelet inverse transform, and stores the result in the subband memory 804.
  • the image output unit 808 thereafter outputs image data.
  • the processing target is particularly image data, but it goes without saying that the present invention can be applied to two-dimensional data other than image data. not.
  • processing program for realizing the present invention as described above can be stored in a recording medium such as a magnetic disk or a CD-ROM. Both the processing program and the recording medium storing the processing program are included in the scope of the present invention.
  • the encoding / decoding device can be applied to applications in which high-definition images are gradually distributed according to the resolution of a display device or the operation / request of a viewer.

Abstract

 ハール関数を基底とするウェーブレット変換によって画像をサブバンドに分割し、最低周波のLLサブバンドの全領域を符号化した後、各階層のウェーブレット分解レベルに属するLH, HL, HHサブバンド係数を、空間的に同一位置にある係数ごとに符号化する。復号側では、最初に最低周波のLLサブバンドを展開した後、各ウェーブレット分解レベルのサブバンドにおいて、空間的に同一位置にあるLH係数、HL係数、HH係数を1組ずつ復号し、それらの係数値を用いて直ちに逆ウェーブレット変換を行い、次のウェーブレット分解レベルのLL係数値を得る。これにより、逐次処理型のCPUを用いてウェーブレット符号化/復号を行う際にも、十分な速度向上結果が得られる。

Description

明 細 書
2次元信号の符号化 Z復号方法および装置
技術分野
[0001] 本発明は 2次元信号の圧縮伸張方式に係り、特にウェーブレット変換を用いた 2次 元信号の符号化 Z復号方法および装置に関する。
背景技術
[0002] 画像信号に代表される 2次元信号を記録媒体に格納する場合やネットワークを通し て伝送する場合には、記録媒体や伝送路を効率的に利用するためにデータの圧縮 あるいは符号ィ匕が不可欠である。従来、 DCT (離散コサイン変換)を用いた符号ィ匕ゃ 予測符号化などの種々の方式が提案され、実際に使用されている。近年は、ゥエー ブレット変換を用いた情報圧縮方法が盛んに研究され、種々の提案がされている。
[0003] たとえば、特許文献 1 (特開平 9一 148938号公報)に記載された符号化/復号方 式は、まず、 2次元画像をタイルに分け、各タイルに対しウェーブレット変換を繰り返し 適用することによって、周波数サブバンドへの階層的な分割を行う。その後、分割さ れた各サブバンドに対して可変長符号化を行レ、、低周波のサブバンドから順に符号 を出力する。タイルへの分割を行うメリットとしては、係数の統計的性質の近い近接領 域をまとめ、各領域に最適な符号ィ匕を施すことによって符号効率の向上が図れる点 、および、ハードウェアによって符号化処理ゃ復号処理の並列化が実現できる点など が挙げられる。なお、タイルへの分割は、過分割すると逆に符号効率が低下するため 、通常、 64 X 64程度以上の大きさに決定される。ただし、タイル分割後にウェーブレ ット変換を行う方法では、タイル境界に不連続な歪み、すなわちブロックノイズが生じ てしまうという課題がある。
[0004] また、特許文献 2 (特開 2000 - 316152号公報)に記載された符号化/復号方式 は、ウェーブレット変換後の各サブバンドをブロック(8 X 8)へ分割し、各ブロックに対 して符号化を行う。ウェーブレット変換後にブロック分割することで、ブロックノイズが 発生しないというメリットがある。
[0005] 上述した方式を用いてサブバンド符号化を行うことにより、時間とともに解像度を向 上させる漸進的な表示機能を提供することができ、画像閲覧者の認知的な待ち時間 を低減することが可能となる。たとえば、特許文献 3 (特開平 11-298897号公報)に は、解像度が上昇するに伴って、表示される画像のサイズが大きくなる画像データ伝 送方法が開示されている。
[0006] また、特許文献 4 (特表 2003—504921号公報)には、画像を分割し、各サブ画像 を異なるウェーブレット復号ィ匕レートで描画する方法が開示されている。具体的には 、画面の中央部がもっともユーザに注視される領域であることを利用し、中心部のサ ブ画像において最も早くディテールが描画され、中心から遠ざかるにしたがって遅れ て徐々にディテールが描画される。このような表示機能によっても画像閲覧者の認知 的な待ち時間を低減することが可能である。
発明の開示
発明が解決しょうとする課題
[0007] し力、しながら、特許文献 1および特許文献 2に記載されたいずれの方式も並列化を 前提としているために、汎用の逐次処理型 CPUを用いて復号する場合には十分な 処理速度を得ることができなレ、。その主な要因は次の通りである。
[0008] 第 1に、 CPUは、各係数値が格納されているメモリアドレスに対して、係数の符号化
(または復号)時とウェーブレット演算ほたは逆ウェーブレット演算)時との 2回ァクセ スする必要がある。一般に、 CPUにおいて、メモリアクセスに要する時間は CPU内部 の演算時間に比べて長ぐメモリアクセス回数が多いと処理速度が大きく低下する。
[0009] 第 2に、 CPUが各タイルまたは各ブロックへのメモリアクセスを行う際、係数が格納 されるアドレス力 S、スキャンライン上から離れた位置にあり、かつ多数行に渡る。たとえ ば、 2LHサブバンドがブロック(8 X 8)の領域に分割される場合には、 2LHの展開に は 8行のスキャンラインに対するメモリアクセスが行われる。このため、メモリアクセス先 が分散し、キャッシュメモリの効率が低下する。一般的な CPUはキャッシュメモリを備 えているため、局所的なメモリアクセスは高速に行うことができる力 上記のようにメモ リアクセス先が分散すると、実メモリへのアクセスが発生し、処理速度が大きく低下す る。
[0010] さらに、上記従来の方式では、大きな中間メモリが必要となるという問題もある。なぜ ならば、符号ィ匕時には、あるタイルまたはブロックのウェーブレット変換が開始されて 力 当該タイルまたはブロックの符号ィ匕が完了するまで、復号時には、あるタイルまた はブロックの係数復号が開始されてから逆ウェーブレット変換が完了するまで、それ ぞれ LH、 HL、 HHサブバンドをメモリ上に保持しておく必要があるからである。
[0011] そこで、本発明の目的は、逐次処理型の CPUを用いてウェーブレット符号化/復 号を行う際にも、十分な速度向上結果が得られる符号ィヒ Z復号方法および装置を提 供することにある。
[0012] 本発明のさらに他の目的は、ウェーブレット符号化/復号処理において、サブバン ドを一時的に格納するために必要となる中間メモリの容量を削減することができる符 号化/復号方法および装置を提供することにある。
課題を解決するための手段
[0013] 本発明の第 1の側面による符号ィヒ装置は、 2次元信号を複数の周波数領域である サブバンドに分割するウェーブレット変換手段と、同一階層のウェーブレット分解レべ ルに属する複数のサブバンドから、空間的に同一位置に属する係数の組を一定数 ずつ抽出する係数抽出手段と、前記抽出された係数の組を符号化する係数符号ィ匕 手段と、を有することを特徴とする。
本発明の第 2の側面による符号化装置は、 2次元信号から空間的に隣接した 2m X 2 (mは整数: m≥l)要素を順次抽出する要素抽出手段と、前記 2m X 2要素を複数 のサブバンドの係数組に分割するウェーブレット変換手段と、前記係数組を符号化 する係数符号化手段と、符号化された係数組を低解像度側のサブバンドから順に並 ベ替えて出力する符号出力手段と、を有することを特徴とする。
[0014] 本発明の第 3の側面による復号装置は、ウェーブレット変換により得られた複数の サブバンドの係数を符号ィ匕した符号歹 1Jを入力し、元の 2次元信号を生成する復号装 置において、最低周波数サブバンドに対応する符号列から前記最低周波数サブバ ンドの係数を復号する初期係数復号手段と、前記最低周波数サブバンド符号列に後 続する符号列から同一階層のウェーブレット分解レベルに属する複数のサブバンド で空間的に同一位置に属する係数の組を一定数ずっ復号する係数復号手段と、前 記係数の組が復号されるごとにウェーブレット逆変換を行うウェーブレット逆変換手段 と、を有することを特徴とする。
[0015] 本発明によれば、ハール関数を基底とするウェーブレット変換によって画像をサブ バンドに分割し、最低周波の LLサブバンドの全領域を符号化した後、各階層のゥェ 一ブレット分解レベルに属する LH, HL, HHサブバンド係数を、空間的に同一位置に ある係数ごとに符号化する。復号側では、最初に最低周波の LLサブバンドを展開し た後、各ウェーブレット分解レベルのサブバンドにおいて、空間的に同一位置にある LH係数、 HL係数、 HH係数を 1組ずっ復号し、それらの係数値を用いて直ちに逆ゥ ヱ一ブレット変換を行レ、、次のウェーブレット分解レベルの LL係数値を得る。
発明の効果
[0016] 上述したように、本発明によれば、 LH、 HLおよび HHサブバンドから同一画像位 置にそれぞれ対応する係数を順次読み出して符号化するために、汎用の逐次処理 型 CPUを用いても実メモリへのストア'ロード回数を削減でき高速処理が可能となり、 さらに、 LH、 HLおよび HHサブバンドの同一位置の係数が同時に順次符号化され るために、 LH、 HLおよび HHサブバンドのデータを符号ィ匕が終了するまで保持して おく必要がなくなる。
[0017] また、逐次符号化が可能となるために、符号化対象の係数を格納する係数メモリに CPUの高速レジスタやキャッシュメモリを用いることができ、符号化速度をさらに向上 させること力できる。
[0018] また、復号時において、 1組の LH、 HLおよび HHサブバンド係数が復号されるごと に、それらの係数値がレジスタ上で直ちに逆ウェーブレット演算にかけられ、実メモリ へのアクセスが削減できる。また、復号時のメモリアクセスとして、 LLサブバンドの読 み出しが同一スキャンライン上で連続して行われるとともに、逆ウェーブレット演算結 果の書き込みもスキャンライン 2行のみに対して連続して行われるため、キャッシュメ モリの効率が向上する。さらに、サブバンドを一時的に格納するために必要となる中 間メモリの容量を削減できる。
[0019] このように、 1組の LH、 HLおよび HHサブバンド係数の復号と、それらの逆ゥエー ブレット演算力 S、レジスタなどの高速メモリを介して行うことが可能となり、逐次処理型 の汎用 CPUにおいても、復号の高速化が達成できる。また、サブバンド全体を中間メ モリに保持する必要がないため、使用メモリ量が削減できる。また、ハードウェアによ る並列化が可能な場合には、従来のタイル分割方式と併用することにより、さらに高 速な復号処理も可能である。
[0020] また、特別な並列演算ハードウェアを必要とせず高速に実行可能であることから、 中一低速な汎用 CPUで符号化 *復号を行う用途において有効である。これにより、ネ ットワーク経由で画像を受信 ·表示するクライアント端末を低コストで実現でき、安価な ュビキタス端末を実現することが可能となる。
図面の簡単な説明
[0021] [図 1]図 1は、本発明の第 1実施例による符号化装置の概略的構成を示すブロック図 である。
[図 2A]図 2Aは、サブバンドメモリ 102における各サブバンド nLL、 nLH、 nHL、 nH
Hの係数配列の一例を示す模式図である。
[図 2B]図 2Bは、出力符号メモリ 104における符号配列の一例を示す模式図である。
[図 3]図 3は、本発明の第 1実施例による符号化装置による符号化制御を示すフロー チャートである。
[図 4]図 4は、本発明の第 1実施例による復号装置の概略的構成を示すブロック図で ある。
[図 5]図 5は、本発明の第 1実施例による復号装置の復号制御を示すフローチャート である。
[図 6]図 6は、本発明の第 2実施例による符号ィヒ装置の概略的構成を示すブロック図 である。
[図 7]図 7は、本発明の第 1実施例による符号ィヒ装置による符号化制御を示すフロー チャートである。
[図 8]図 8は、本発明の第 1および第 2実施例による符号化および復号動作を模式的 に示した図である。
[図 9]図 9は、本発明の第 3実施例による符号化装置の概略的構成を示すブロック図 である。
[図 10]図 10は、本発明の第 3実施例による符号化装置による符号化制御を示すフロ 一チャートである。
[図 11]図 11は、本発明の第 3実施例による符号化および復号動作を模式的に示した 図である。
園 12]図 12は、本発明の第 4実施例による符号ィ匕装置の概略的構成を示すブロック 図である。
園 13]図 13は、本発明の第 4実施例による符号ィ匕装置による符号化制御を示すフロ 一チャートである。
[図 14]図 14は、本発明の第 4実施例における動領域検出と間引き動作を説明するた めのコンソール画面を模式的に示した図である。
園 15]図 15は、本発明の第 5実施例による符号ィ匕装置の概略的構成を示すブロック 図である。
[図 16]図 16は、本発明の第 5実施例による符号ィ匕制御を示すフローチャートである。
[図 17]図 17は、本発明の第 5実施例による符号化および復号動作を模式的に示した 図である。
[図 18]図 18は、本発明の第 6実施例による符号ィヒ装置の概略的構成を示すブロック 図である。
園 19]図 19は、本発明の第 6実施例による符号ィ匕制御を示すフローチャートである。
[図 20]図 20は、本発明の第 7実施例による符号化装置の概略的構成を示すブロック 図である。
園 21]図 21は、本発明の第 7実施例による符号ィ匕制御を示すフローチャートである。
[図 22]図 22は、本発明の第 7実施例における動領域検出と係数量子化動作を説明 するためのコンソール画面を模式的に示した図である。
[図 23]図 23は、本発明の第 8実施例による符号化および復号装置を内蔵した双方向 通信端末のブロック図である。
[図 24]図 24は、本発明の第 9実施例による符号ィヒ装置の概略的構成を示すブロック 図である。
園 25]図 25は、本発明の第 9実施例による復号装置の概略的構成を示すブロック図 である。 発明を実施するための最良の形態
[0022] 1.第 1実施例
1. 1)符号化装置
図 1は、本発明の第 1実施例による符号ィヒ装置の概略的構成を示すブロック図であ る。符号化装置は、画像データ 10を画像入力装置(図示せず)から入力し、後述する ウェーブレット符号化により符号系列を出力する。符号化装置は、主として、データ処 理装置 101、サブバンドメモリ 102、係数メモリ 103、および、出力符号メモリ 104を有 し、生成された符号系列は符号出力装置 105へ出力される。
[0023] データ処理装置 101は、たとえば一般的な CPU(Central Processing Unit)などのプ ログラム制御プロセッサであり、図示しないプログラムメモリから符号ィ匕プログラム群を 読み出して実行することで、ウェーブレット変換 (ここでは、 2次元ハールウェーブレツ ト変換)プロセス (ウェーブレット変換手段 101a)、初期係数符号ィ匕プロセス (初期係 数符号化手段 101b)、同一座標係数抽出プロセス(同一座標係数抽出手段 101c) 、係数符号化プロセス (係数符号化手段 101d)および符号出力プロセス (符号出力 手段 101e)を生成することができる(詳しくは後述する。 )。
[0024] サブバンドメモリ 102、係数メモリ 103および出力符号メモリ 104は、それぞれ別個 のメモリで構成することもできる力 たとえば 1つの半導体メモリにそれぞれのスペース を割り当てることで構成することも可能である。この半導体メモリに入力画像データ 10 を格納するスペースを設けても良レ、。なお、後述するように、本発明では、 CPUのレ ジスタゃキャッシュメモリを係数メモリ 103として利用することができる。
[0025] サブバンドメモリ 102は、入力画像データ 10を 2次元ハールウェーブレット変換する ことにより得られた N (l以上の整数)階層のサブバンドデータ(nLL、 nLH、 nHL、 n HH) (l≤n≤N)を格納する。以下、説明の便宜上、階層 nのサブバンド nLL、 nLH 、 nHL、 nHHは、画像の空間座標(x, y)に対応する p X q (p, qは整数)の係数行 歹 IJからなるものとする。したがって、各階層のサブバンドデータ nLL、 nLH、 nHL、 n HHはいずれも 2次元信号である。
[0026] 係数メモリ 103は、データ処理装置 101の同一座標係数抽出プロセスによりサブバ ンドメモリ 102力ら順次抽出された 1つの階層のサブバンド nLH、 nHL、 nHHにおけ る同一空間座標 (i, j)の係数の組 {LH(i, j), HL(i, j), HH(i, j)}を格納する。係 数組の抽出順は画像の左上端力 右下端までのスキャンライン方向に従う。ただし、 2以上の一定数の係数組を順次抽出することもできる。たとえば {LH(i, j), HL(i, j) , HH(i, j)}に隣接する 1つ以上の係数組を抽出して係数メモリ 103に格納してもよ レ、。上述したように、係数メモリ 103に CPUのキャッシュメモリを利用した場合、キヤッ シュメモリに余裕があれば、複数組の係数を格納できる。
[0027] 出力符号メモリ 104は NLLサブバンド符号メモリ 104.1と(nLH、 nHL、 nHH)サ ブバンド符号メモリ 104.2を有する。 NLLサブバンド符号メモリ 104.1は、データ処 理装置 101の初期係数符号ィ匕プロセスにより階層 Nのサブバンド NLLを符号ィ匕する ことで得られたサブバンド符号 NLLcを格納する。 (nLH、 nHL、 nHH)サブバンド符 号メモリ 104.2は、係数メモリ 103に順次読み出された同一座標係数の組を係数符 号化プロセスにより符号ィヒすることで得られた符号 (nLH、 nHL、 nHH) cを格納する
[0028] (メモリデータ構成)
サブバンドメモリ 102および出力符号メモリ 104のデータ構成の一例を説明する。 ここでは、係数メモリ 103に、同一空間座標(i, j)の 1組の係数 {LH(i, j), HL(i, j),
HH(i, j) }が格納され、符号化される場合を例示する。
[0029] 図 2Aはサブバンドメモリ 102における各サブバンド nLL、 nLH、 nHL、 nHHの係 数配列の一例を示す模式図であり、図 2Bは出力符号メモリ 104における符号配列の 一例を示す模式図である。
[0030] 図 2Aにおいて、 2次元ハールウェーブレット変換により得られる階層 nのサブバンド nLLの係数配列は nL(0, 0), nL(l, 0),…, nL(p, q )、サブバンド nLHの係数 n n
配列は nA(0, 0), nA(l, 0), ···, nA(p, q )、サブバンド nHLの係数配列は nB ( n n
0, 0), nB(l, 0), ···, nB(p , q )、サブバンド nHHの係数配列は nC (0, 0), nC n n
(1, 0), ···, nC(p , q)であり、それぞれ画像の空間的位置を示す座標(0, 0), ··
n n
·, (i, j), ···、(P , q)に対応している。
n n
[0031] 図 2Bにおいて、 NLLサブバンド符号メモリ 104.1には、上述したサブバンド NLL の係数 NL(0, 0), NL(1, 0), ···, NL(p , q )を初期符号化プロセスにより符号 化した符号 NLLc(0, 0), NLLc(l, 0), · · ·, NLLc (p , q )が格納されている。こ
N N
こで、初期符号化プロセスの符号化方式には、隣接する係数との差分を符号化する
DPCM(Diiferential Pulse Code Modulation)ハフマン符号などが利用できる。
[0032] また、 (nLH、 nHL、 nHH)サブバンド符号メモリ 104.2には、係数メモリ 103に順 次読み出された同一座標係数の 1組あるいは複数組 (nLH、 nHL、 nHH)を係数符 号化プロセスにより 1組ずつ符号ィ匕した符号 (nLHc、 nHLc、 nHHc)が格納されて いる。ここで、係数符号化プロセスの符号化方式には、ゼロ値の連長数と非ゼロ係数 の値によるランレングスハフマン符号や LZW(Lempeト Ziv- Welch)符号などが利用で きる。
[0033] 図 2Aのサブバンドデータを例に取ると、まず階層 nのサブバンド nLH、 nHL、 nH Hの同じ座標(0, 0)を有する係数 nA(0, 0)、nB(0, 0)および nC(0, 0)がまとめて 係数メモリ 103に読み出され、係数符号ィ匕プロセスにより符号化された nAc(0, 0)、 nBc(0, 0)および nCc(0, 0)がサブバンド符号メモリ 104· 2に格納される。続いて、 同じ座標(1, 0)を有する係数 ηΑ(1, 0)、ηΒ(1, 0)および nC(l, 0)がまとめて係数 メモリ 103に読み出され、係数符号化プロセスにより符号ィ匕された nAc(l, 0)、 nBc( 1, 0)および nCc(l, 0)がサブバンド符号メモリ 104.2に格納される。以下同様にし て、座標(p , q )までの全ての係数が符号ィ匕され、サブバンド符号メモリ 104· 2に格
n n
納される。
[0034] 2組の係数が係数メモリ 103に読み出される例では、階層 nのサブバンド nLH、 nH L、 nHHの同じ座標(0, 0)および(1, 0)を有する係数 nA(0, 0)、nB(0, 0)、nC( 0, 0)および係数 nA(l, 0)、nB(l, 0)、nC(l, 0)がまとめて係数メモリ 103に読み 出され、同様に符号化が行われ、符号 nAc(0, 0)、 nBc(0, 0)および nCc(0, 0)お よび nAc(l, 0)、nBc(l, 0)、nCc(l, 0)がサブバンド符号メモリ 104.2に格納さ れてもよレ、。この場合、次に係数メモリ 103に読み出されるのは、サブバンド nLH、 n HL、 nHHの同じ座標(2, 0)および(3, 0)を有する係数である。以下同様に、順次 2組ずつ係数が読み出される。一般化して、 2以上の一定数の係数組が読み出され る場合も同様である。
[0035] このようにして出力符号メモリ 104に格納されたサブバンド符号 NLLcと nLHc、 nH Lcおよび nHHcとが符号出力プロセスにより符号出力装置 105へ出力される。符号 出力装置 105は、たとえば DVDなどの光記録媒体に情報を記録するドライブであり 、あるいは、ネットワークに接続されたネットワークインターフェースである。
[0036] (符号化制御)
図 3は、本実施例における符号ィ匕制御を示すフローチャートである。
[0037] まず、カメラやスキャナなどの画像入力装置から画像データ 10を入力し、画像メモリ に格納する(ステップ S 11)。
[0038] 次に、データ処理装置 101上のウェーブレット変換プロセスは、画像メモリから読み 出された画像データ 10に対して N段の 2次元ハールウェーブレット変換を実行し、そ の変換結果を上述したようにサブバンドメモリ 102に格納する(ステップ S 12)。
[0039] 2次元ハールウェーブレット変換が終了すると、初期係数符号ィ匕プロセスは、初期 係数 NLLを階層 Nのサブバンドメモリから読み出し、ランレングスハフマン符号あるい は LZW符号などを用いて可変長符号ィ匕し、その符号 NLLc (0, 0) , NLLc (l , 0) , · · · , NLLc (p , q )を出力符号メモリ 104の NLLサブバンド符号メモリ 104· 1に格
N N
納する(ステップ S 13)。
[0040] 初期係数符号化が全て終了すると、次の符号化対象は LH、 HL、 HHサブバンドと なる。まず、解像度レベル(階層)を示す変数 nを Nに設定して符号化対象を階層 N の LH、 HL、 HHサブバンドとし (n = N)、さらに、同一座標係数抽出プロセスは nLH 、 nHL、 nHHの各サブバンドから抽出される係数の空間座標 (x,y)を原点に初期化 する(i叫 =0) (ステップ S14)。
[0041] 続いて、同一座標係数抽出プロセスは、サブバンドメモリ 102から階層 nのサブバン ド nLH、 nHL、 nHHにおける同一空間座標(i, j)の係数の組 {nA(i, j) , nB (i, j) , nC (i, j) }を読み出して係数メモリ 103に格納する(ステップ S15)。ただし、上述した ように 2以上の一定数の係数組を読み出してもよい。たとえば同一空間座標 (i, j)、 (i + 1、 j) · · ·にそれぞれ対応する一定数の係数組を読み出す。こうして 1つあるいは複 数の係数組が係数メモリ 103に読み出されると、係数符号化プロセスが起動して符号 化が行われる。
[0042] 係数符号化プロセスは、係数メモリ 103から係数組 nA (i, j), nB (i, j), nC (i, j)を 読み出して可変長符号化を行い、出力符号メモリ 104のサブバンド符号メモリ 104. 2に格納する (ステップ S 16)。係数メモリ 103に読み出された係数組に関する符号ィ匕 が終了すると、同一座標係数抽出プロセスは、当該階層 nの全ての座標に関して符 号化が終了したか否かを判定する(ステップ S 17)。
[0043] 当該階層 nにおける全ての符号化が終了していなければ (ステップ S17の N〇)、抽 出座標(i, j)をスキャンライン方向に所定数だけシフトさせ (ステップ S18)、当該階層 nにおける全ての符号化が終了するまで上記ステップ S 15 S 18を繰り返す。
[0044] 階層 nにおける全ての符号化が終了すると(ステップ S17の YES)、現在の階層 nが 最大解像度である n= lであるか否かを判定し (ステップ S 19)、 nが 1に到達していな ければ(ステップ S19の N〇)、 nを 1だけデクリメントし(ステップ S20)、 nLH、 nHL、 n HHの各サブバンドから抽出される係数の空間座標 (x,y)を原点に初期化する(i=j = 0) (ステップ S21)。こうして階層 nを 1ずつ減少させながら上記ステップ S15 S21を 繰り返す。
[0045] 最高解像度レベルである階層 n= 1のサブバンドの符号化が完了すると(ステップ S 19の YES)、符号出力プロセスは、出力符号メモリ 104に蓄積された符号列を読み 出し、符号出力装置 105へ出力する(ステップ S22)。
[0046] なお、上記説明では、全符号化が完了した後に符号出力する動作としたが、一定 量の符号が蓄積される毎に、符号を出力してもよい。こうしたストリーミング伝送を用 レ、ることにより、出力符号メモリ 104のメモリ使用量および伝送開始遅延を小さくする こと力 Sできる。
[0047] また、上記説明では、各解像度の低周波成分を画像メモリおよび各 nLLサブバンド メモリに保持する方式としたが、本発明はこれらの記憶方法を限定するものではない 。たとえば、これらのメモリを共有し使用メモリ量を削減するといつた方法を採ってもよ レ、。
[0048] 1. 2)復号装置
図 4は、本発明の第 1実施例による復号装置の概略的構成を示すブロック図である 復号装置は、上記符号化装置により出力された符号列 20を入力し、後述するゥエー ブレット復号により元の画像データを出力する。復号装置は、主として、データ処理 装置 201、サブバンドメモリ 202、係数メモリ 203、および、画像出力装置 204を有し 、復号された画像データが画像出力装置 204へ出力される。
[0049] データ処理装置 201は、符号化装置と同様に CPUなどのプログラム制御プロセッ サであり、図示しないプログラムメモリから復号プログラム群を読み出して実行すること で、初期係数の復号プロセス (初期係数の復号手段 201a)、同一座標係数の復号プ ロセス(同一座標係数の復号手段 201b)、ウェーブレット逆変換 (ここでは、 2次元ハ ールウェーブレット逆変換)プロセス(ウェーブレット逆変換手段 201c)、および画像 出力プロセス(画像出力手段 201d)を生成することができる(詳しくは後述する。 )。
[0050] サブバンドメモリ 202および係数メモリ 203は、それぞれ別個のメモリで構成すること もできるが、たとえば 1つの半導体メモリにそれぞれのスペースを割り当てることで構 成することも可能である。この半導体メモリに入力符号列 20を格納する入力符号メモ リを設けても良い。なお、後述するように、本発明では、 CPUのレジスタやキャッシュ メモリを係数メモリ 203として利用することができる。
[0051] サブバンドメモリ 202は、後述する初期係数および同一座標係数の復号ステップお よびウェーブレット逆変換ステップにより、復号された NLLサブバンド係数列から順次 生成された(N— 1) LL、 (N_2) LL、 · · ·サブバンド係数列を格納する。以下、 NLL サブバンド係数歹 IJも含めて一般化し、 nLLサブバンド係数列(0≤n≤N)と記す。
[0052] 係数メモリ 203は、データ処理装置 201の同一座標係数復号プロセスにより復号さ れた同一空間座標 (i, j)のサブバンド係数の組 {LH (i, j) , HL (i, j) , HH (i, j) }を 格納する。ただし、 2以上の一定数の係数組が格納されてもよい。たとえば {LH (i, j) , HL (i, j) , HH (i, j) }に隣接する 1つ以上の係数組が符号化されている場合、複数 の係数組が復号され係数メモリ 203に格納される。上述したように、係数メモリ 203に CPUのキャッシュメモリを利用した場合、キャッシュメモリに余裕があれば、複数組の 係数を格納できる。
[0053] 画像出力装置 204は、たとえば液晶ディスプレイなどである。データ処理装置 201 の画像出力プロセスは、後述する初期係数および同一座標係数の復号プロセスと、 ウェーブレット逆変換のプロセスとによって復号された画像データを画像出力装置 20 4に表示する。
[0054] 図 5は、本発明の第 1実施例による復号装置の復号制御を示すフローチャートであ る。まず、入力した可変長符号列 20を入力符号メモリに格納する(ステップ S31)。
[0055] 次に、初期係数復号プロセスは、入力符号メモリから NLLサブバンドの可変長符号 を順次読み出して復号し、得られた初期係数である NLLサブバンド係数 NL (0, 0)、 NL (0, 1) · · ·を NLLサブバンドメモリ 202に格納する(ステップ S32)。
[0056] NLLサブバンド係数の復号が全て終了すると、次の復号対象は LH, HL, HHサ ブバンドとなる。まず、解像度レベル(階層)を示す変数 nを Nに設定して復号対象を 階層 Nの LH、 HL、 HHサブバンドとし (n = N)、さらに、同一座標係数復号プロセス は nLH、 nHL、 nHHの各サブバンドの復号する係数の空間座標 (x,y)を原点に初期 化する(i叫 =0) (ステップ S33)。
[0057] 続いて、同一座標係数復号プロセスは符号列 nAc (i, j) , nBc (i, j), nCc (i, j) · · · を入力符号メモリから読み出し、階層 nのサブバンド nLH、 nHL、 nHHにおける同一 空間座標(i, j)の係数の組 {nA (i, j) , nB (i, j) , nC (i, j) }を係数メモリ 203に格納 する(ステップ S34)。ただし、上述したように複数組の係数が符号化されている場合 には、複数組の係数が係数メモリ 203に格納される。こうして 1あるいは 2以上の一定 数の係数組が係数メモリ 203に格納されると直ちに、ウェーブレット逆変換プロセスに よりウェーブレット逆変換が行われる。
[0058] ウェーブレット逆変換プロセスは、係数メモリ 203から係数 nA(i, j) , nB (i, j) , nC ( i, j)を、サブバンドメモリ 202から対応する nLLサブバンド係数 nL (i, j)をそれぞれ読 み出す (ステップ S35)。読み出された nL (i, j)、 nA(i, j) , nB (i, j)および nC (i, j) に対してウェーブレット逆変換を行レ、、その結果をサブバンドメモリ 202に (n— 1) LL サブバンドの係数 (n— l) L (i, j)として格納する(ステップ S36)。続いて、同一座標係 数復号プロセスは、当該階層 nの全ての座標に関して復号が終了したか否かを判定 する(ステップ S37)。
[0059] 当該階層 nにおける全ての復号が終了していなければ (ステップ 37の N〇)、座標(i , j)をスキャンライン方向に所定数だけシフトさせ (ステップ S38)、当該階層 nにおけ る全ての復号が終了するまで上記ステップ S34— S38を繰り返す。 [0060] 階層 nにおける全ての復号が終了すると(ステップ S37の YES)、現在の階層 nが出 力すべき解像度に対応する階層 N に到達したか否かを判定する(ステップ S39)。
D
nが Nに到達していなければ(ステップ S39の NO)、 nを 1だけデクリメントし(ステップ
D
S40)、 nLH、 nHL、 nHHの各サブバンドから抽出される係数の空間座標 (x,y)を原 点に初期化する(i叫 =0) (ステップ S301)。こうして階層 nを 1ずつ減少させながら n が N に到達まで上記ステップ S34 S40, S301を,操り返す。
D
[0061] 階層 nが出力すべき解像度の階層 Nに到達すると(ステップ S39の YES)、画像出
D
力プロセスは (n_l) LLサブバンドデータをサブバンドメモリ 202から読み出し、画像 出力装置 204へ出力して画像表示する(ステップ S302)。
[0062] 続いて、階層 nが最大解像度である n= lであるか否かを判定する (ステップ S303) 。階層 nが 1に到達していない場合には (ステップ S303の N〇)、復号すべきサブバン ドが残っているので、ステップ S40に戻り、階層 nが 1に到達するまで上記ステップ S3 4一 S40, S301— S303を繰り返す。最高解像度レベルである階層 n= 1のサブバン ドの復号が完了すると(ステップ S303の YES)、処理を終了する。
[0063] なお、上記説明では、全ての符号入力が完了した後に復号する動作としたが、初 期符号から順次、一定量の符号が入力される毎に復号を行ってもよい。こうしたストリ 一ミング伝送を用いることにより、入力符号メモリのメモリ使用量および復号開始遅延 を小さくすることができる。
[0064] また、上記説明では、入力符号列を入力符号メモリに保持し、 nLLサブバンド係数 を nLLサブバンドメモリに保持する方式としたが、本発明はこれらの記憶方法を限定 するものではない。たとえば、これらのメモリの一部を共有し使用メモリ量を削減すると いった方法を採ってもよい。
[0065] また、本実施例において、符号化装置の係数符号化プロセスが出力する符号およ び復号装置の係数復号プロセスの入力となる符号は、
(a)まず LH係数の (Y,Cb,Cr)、次に HL係数の (Y,Cb,Cr)、最後に HH係数の (Y,Cb,Cr)といった順に並んでいてもよし、
(b)まず Y成分の LH、 HL、 HH係数、次に Cb成分の LH、 HL、 HH係数、最後に Cr成分の LH、 HL、 HH係数といった順に並んでいてもよい。 [0066] 符号化'復号を行う CPUが複数のデータ列に対して同一演算を適用する SIMD
(Single Instruction stream/Multiple data stream)命令に対応してレヽる場合には、前者 (a)の符号順を用いるのが効率的である。また、 SIMD命令に対応しておらず演算用 レジスタのビット数が少ない CPUの場合では、後者 (b)の符号順によつて各係数の 成分ごとに演算を行うのが効率的である。
[0067] 1. 3)効果
第 1実施例の符号ィ匕装置および符号化制御によれば、画像データをウェーブレット 変換することで得られた LH、 HLおよび HHサブバンド係数を格納し、それぞれ画像 の同一位置にそれぞれ対応する係数を少なくとも 1組ずつ順次読み出して符号化し 、出力符号メモリに格納する。
[0068] 逐次符号化が可能となるために、符号化対象の係数を格納する係数メモリに CPU の高速レジスタやキャッシュメモリを用いることができ、符号化速度を向上させることが できる。
[0069] 第 1実施例の復号装置および復号制御によれば、係数復号プロセスによって復号 されたそれぞれ同一画像位置に対応する 1組あるいは複数組の LH、 HLおよび HH サブバンド係数は、レジスタなどの高速メモリである係数メモリに読み出されると直ち にウェーブレット逆変換される。したがって、逐次処理型 CPUにおいて実メモリへの ストア'ロード回数を削減でき、復号速度が大幅に高速化する。
[0070] さらに、 LH、 HLおよび HHサブバンドの同一画像位置の係数が同時に順次復号 化されるために、 LH、 HLおよび HHサブバンドのデータの復号が終了するまで保持 しておく必要がなくなる。
[0071] さらに、ウェーブレット逆変換プロセスは LLサブバンドをスキャンライン順に連続し て読み出し、また、演算結果を nLLサブバンドの 2行分のスキャンライン上に連続して 出力するため、キャッシュメモリの効率が向上し、高速化が達成できる。
[0072] また、ブロックやタイル毎ではなぐスキャンライン順に画素が出力されるため、復号 の途中経過を表示しても復号済み領域と未復号領域との境界に階段状のノイズが生 じない。
[0073] 2.第 2実施例 2. 1)符号化装置
図 6は、本発明の第 2実施例による符号ィヒ装置の概略的構成を示すブロック図であ る。符号化装置は、 2次元信号の代表例として画像データ 10を画像入力装置(図示 せず)から入力し、後述するウェーブレット符号化により符号系列を出力する。符号ィ匕 装置は、主として、データ処理装置 301、 LLサブバンドメモリ 302、係数メモリ 303、 および、出力符号メモリ 304を有し、生成された符号系列は符号出力装置 305へ出 力される。
[0074] データ処理装置 301は、一般的な CPUなどのプログラム制御プロセッサであり、図 示しないプログラムメモリから符号化プログラム群を読み出して実行することで、画素 抽出プロセス(画素抽出(要素抽出)手段 30 la)、ウェーブレット変換 (ここでは、 2次 元ハールウェーブレット変換)プロセス(ウェーブレット変換手段 301b)、係数符号化 プロセス (係数符号化手段 301c)、初期係数符号化プロセス (初期係数符号化手段 301d)、および符号出力プロセス (符号出力手段 301e)を生成することができる(詳 しくは後述する。)。
[0075] LLサブバンドメモリ 302、係数メモリ 303および出力符号メモリ 304は、それぞれ別 個のメモリで構成することもできる力 S、たとえば 1つの半導体メモリにそれぞれのスぺ ースを割り当てることで構成することも可能である。なお、後述するように、本発明で は、 CPUのレジスタやキャッシュメモリを係数メモリ 303として利用することができる。
[0076] LLサブバンドメモリ 302は、入力画像データ 10を 0LLサブバンドデータとして格納 し、さらに画素抽出プロセスにより順次抽出された部分領域(2m X 2)を 2次元ハール ウェーブレット変換することにより得られる nLLサブバンド係数(1≤n≤N)を順次格 納し、最終的には NLLサブバンド係数が格納される。第 2実施例における符号化装 置では、画素抽出プロセスが(n— 1) LLサブバンド係数から空間的に隣接した 2m X 2画素の部分領域を順次抽出し、それに対して 2次元ハールウェーブレット変換を実 行し、 nLLサブバンド係数が得られる。 2m X 2部分領域の抽出順は画像の左上端か ら右下端までのスキャンライン方向に従う。
[0077] 係数メモリ 303は、 2次元ハールウェーブレット変換により得られた 1つの階層のサ ブバンド nLH、 nHL、 nHHにおける同一空間座標(i, j)の係数の組 {LH (i, j) , HL (i, j), HH (i, j) }を格納する。ただし、 2以上の一定数の係数組を格納してもよい。 上述したように、係数メモリ 303に CPUのキャッシュメモリを利用した場合、キャッシュ メモリに余裕があれば、複数組の係数を格納可能である。
[0078] 出力符号メモリ 304は(nLH、 nHL、 nHH)サブバンド符号メモリ 304. 1および初 期出力符号である NLLサブバンド符号メモリ 304. 2を有する。 (nLH、 nHL、 nHH) サブバンド符号メモリ 304. 1は、係数メモリ 303に順次読み出された同一座標係数 の組を係数符号化プロセスにより符号ィ匕することで得られた符号 (nLH、 nHL、 nHH ) cを格納する。 NLLサブバンド符号メモリ 304. 2は、データ処理装置 301の初期係 数符号化プロセスにより NLLサブバンド係数を符号ィ匕することで得られたサブバンド 符号 NLLcを格納する。
[0079] (符号化制御)
図 7は、本実施例における符号ィ匕制御を示すフローチャートである。
[0080] まず、カメラやスキャナなどの画像入力装置から画像データ 10を入力し、 0LLサブ バンドとして LLサブバンドメモリ 302に格納する(ステップ S41)。
[0081] データ処理装置 301上の画素抽出プロセスは、解像度レベル(階層)を示す変数 n を 1に設定し、さらに nLH、 nHL、 nHHの各サブバンドから抽出される係数の空間座 標 (x,y)を原点に初期化する (i叫 =0) (ステップ S42)。
[0082] 続いて、画素抽出プロセスは、 LLサブバンドメモリ 302の(n— 1) LLサブバンドから 、座標 (i, j)に対応する空間的に隣接した 2m X 2画素の部分領域を順次抽出する( ステップ S43)。たとえば、 n= l、 m= lおよび i叫 =0の場合は、図 6に示すように、 0 LLサブバンド(入力画像データ 10)から左上の 2 X 2部分領域(HI , H2、 H3、 H4) が抽出される。
[0083] ウェーブレット変換プロセスは、抽出された 2m X 2画素の部分領域に対して 2次元 ハールウェーブレット変換を実行し(ステップ S44)、その結果得られた LH係数 nA (i , j)、 HL係数 nB (i, j)および HH係数 nC (i, j)を係数メモリ 303にそれぞれ格納し、 LL係数 nL (i, j)を nLLサブバンドとして LLサブバンドメモリ 302に格納する(ステツ プ S45)。
[0084] 続いて、ウェーブレット変換プロセスは係数符号化プロセスを呼び出し、係数メモリ 3 03から係数組 nA (i, j), nB (i, j), nC (i, j)を読み出して可変長符号化を行い、出 力符号メモリ 304のサブバンド符号メモリ 304· 1に格納する(ステップ S46)。係数メ モリ 303に読み出された係数組に関する符号化が終了すると、画素抽出プロセスは 、当該階層 nの全ての座標に関して符号化が終了したか否力、を判定する(ステップ S 47)。
[0085] 当該階層 nにおける全ての符号化が終了していなければ (ステップ S47の N〇)、抽 出座標(i, j)をスキャンライン方向に所定数だけシフトさせ (ステップ S48)、当該階層 nにおける全ての符号化が終了するまで上記ステップ S43 S48を繰り返す。
[0086] 階層 nにおける全ての符号化が終了すると(ステップ S47の YES)、現在の階層 nが 最低解像度レベルの階層 Nであるか否かを判定し (ステップ S49)、 nが Nに到達して いなければ(ステップ S49の NO)、 nを 1だけインクリメントし、空間座標 (x,y)を原点に 初期化する(i叫 =0) (ステップ S50)。こうして階層 nを 1ずつ増加させながら上記ス テツプ S43— S50を繰り返す。
[0087] 最低解像度レベル Nのサブバンドの符号化が完了すると(ステップ S49の YES)、 初期係数符号化プロセスが立ち上がり、 LLサブバンドメモリ 302に格納されている N LLサブバンド係数を符号ィ匕し、出力符号メモリ 304の NLLサブバンド符号メモリ 304 . 2に格納する(ステップ S401 )。
[0088] 続いて、符号出力プロセスは、出力対象の階層 nを最低解像度レベル Nに設定し( ステップ S402)、出力符号メモリ 304のサブバンド符号メモリ 304· 1および NLLサブ バンド符号メモリ 304. 2から階層 nの符号を低解像度から高解像度の順で読み出し 出力する(ステップ S403— S405)。すなわち、階層 nのサブバンド符号が出力される と (ステップ S403)、階層 nが最高解像度レベル n= 1に到達したか否力、を判定し (ス テツプ S404)、到達していなければ(ステップ S404の NO)、階層 nを 1だけ減少させ (ステップ S405)、ステップ S403に戻る。こうして n= lになるまで上記ステップ S403 一 S405を繰り返して全ての符号を順次出力する。
[0089] 上述したように、画素抽出プロセスは 2m X 2の部分領域を抽出することができる。
mの値は CPUに依存して決定すればよレ、。たとえば、 CPUが複数のデータ列に対 して同一演算を適用する SIMD命令に対応している場合には、例えば m = 2として 4 X 2といった単位で抽出し、複数のウェーブレット演算を一括して行うことにより演算 効率を向上させることができる。
[0090] また上記説明では、各解像度の低周波成分を nLLサブバンドメモリに保持する方 式としたが、本発明はこれらの記憶方法を限定するものではなレ、。たとえば、これらの 記憶部を共有し使用メモリ量を削減するといつた方法を採ってもよい。
[0091] 2. 2)復号装置
本実施例の符号化方式によって出力された符号は、図 4および図 5で示す第 1実 施例の復号方式によって復号可能であるから、詳細な説明は省略する。
[0092] 2. 3)効果
本実施例による符号化装置および符号化制御では、画素抽出プロセスによって抽 出された 2m X 2画素領域に対してウェーブレット演算が行われた後、その LH, HL, HH係数がレジスタなどの小規模 ·高速メモリ(計数メモリ 303)上で、直ちに符号化さ れる。これにより高速符号ィ匕が可能となり、また LH, HL, HHサブバンドを格納する ための実メモリが不要となる。
[0093] なお、本実施例では、符号出力が開始されるまで出力符号を全て一時的に記憶し ておく必要があり、ストリーミング伝送ができない。このため、第 1実施例においてストリ 一ミング伝送を行った場合と比べ、一時的に記憶するためのメモリ(出力符号メモリ 3 04)は増加する。しかし、これらの符号は可変長符号化によって冗長性が削減されて いるため、全体としては、サブバンドをそのまま記憶する第 1実施例よりもメモリ容量を 抑えることができる。
[0094] 2. 4)具体例
上述した第 1および第 2実施例の具体例を図面を参照しながら説明する。
[0095] 図 8は、本発明の第 1および第 2実施例による符号化および復号動作を模式的に 示した図である。本具体例では、画像入力装置としてビデオカメラを、データ処理装 置 101、 201、 301としてノ、°ーソナノレコンピュータを、データ記'慮装置 102一 104、 2 02、 203、および 302— 304として半導体メモリ(パーソナルコンピュータに含まれる) を、符号出力装置 105, 305として有線あるいは無線ネットワーク通信制御装置を備 えているものとする。 [0096] 符号化装置の場合、パーソナルコンピュータは、画像入力、ウェーブレット演算、初 期係数符号化、係数抽出、係数符号化、符号出力の各機能を実現する CPUを有し ている。
[0097] まずビデオカメラから輝度'色差空間で表される入力画像 10が与えられると、画像 入力プロセスによって、画像データ(0LL)が半導体メモリに格納される。格納された 画像 10は、画素として Hl, H2,…を持ち、各画素は Y,Cb,Crの数値データ(H1#Y, Hl#Cb, Hl#Cr,■·■)力、ら構成されている。
[0098] 入力画像 10は、ウェーブレット演算によって、 2次元ハールウェーブレット変換が施 され、結果が半導体メモリ内に nLL、 nLH、 nHLおよび nHHサブバンド係数 Z101 一 Z104として格納される。具体的には、左上端の原点から順に、まず、画素
^^1 2 3 4の丫,03,0"成分に対してゥヱーブレット演算が行ゎれ、 L1,A1,B1,C1に Y,Cb,Crの各係数値が書き込まれる。次に、画素^¾ 6 7 8の丫,03,&成分に対 してウェーブレット演算が行われ、 L2,A2,B2,C2に Y,Cb,Crの各係数値が書き込まれ る。以上の処理が、画像の右下終端まで繰り返される。以上のウェーブレット変換が、 LLサブバンドに対して繰り返し適用され、多重解像度のデータが構成される。
[0099] ウェーブレット変換が完了すると、次に、初期係数符号ィ匕プロセスによって、最低解 像度である解像度レベル Nの LLサブバンド(図 8では ILLサブバンド)の原点 (x,y)=(0,0)力 、係数値が順次読み込まれて可変長符号化される。これにより得られ た符号 Z105は、図 8では ILL符号メモリに格納される。
[0100] さらに、解像度レベル Nから順に、 LH, HL, HHサブバンドの符号化が行われる。
LH, HL, HHサブバンドの符号化では、原点から順に、その空間座標に対応する係 数が順次抽出されて可変長符号化される。具体的には、まず、係数抽出プロセスに よって、(x,y)=(0,0)に対応する係数 A1,B1,C1が抽出され、係数符号ィ匕プロセスによつ て可変長符号化される。
次に、(x,y)=(l,0)に対応する係数 A2,B2,C2が抽出され、符号化される。以上の処理 がサブバンドの右下終端まで行われ、得られた符号 Z106が (LH,HL,HH)符号メモリ に格納される。
[0101] 最後に、符号出力プロセスによって、 LL符号メモリおよび (LH,HL,HH)符号メモリの 内容が順次通信路へ出力される。
[0102] 復号装置の場合、パーソナルコンピュータは、符号入力、初期係数復号、係数復 号、逆ウェーブレット演算、画像出力の各機能を実現する CPUを有している。
[0103] 通信路から符号が与えられると、符号入力プロセスによって、符号データ Z105およ び Z106が半導体メモリに格納される。図 8の例では ILL符号および (1LH,1HL,1HH) 符号が格納される。
[0104] 入力符号 Z105は、初期係数復号プロセスによって復号され、結果が半導体メモリ内 の LLサブバンドメモリに出力される。
[0105] 次に、 (LH,HL,HH)符号データ Z106が係数復号プロセスに順次供給され、係数値 の復号が行われる。続いて、復号された係数と LLサブバンドメモリの係数との組から 、逆ウェーブレット演算プロセスによって 2次元ハール逆ゥヱーブレット演算が行われ 、結果が 0LLサブバンドメモリに出力される。具体的には、まず、係数値 A1,B1,C1が 順次復号された後、係数値 L1,A1,B1,C1を用いて逆ウェーブレット演算が行われ、演 算結果が H1,H2,H3,H4へ出力される。次に、係数値 A2,B2,C2が順次復号された後、 係数値 L2,A2,B2,C2を用いて逆ウェーブレット演算が行われ、演算結果が
H5,H6,H7,H8へ出力される。以上の処理が、サブバンドの終端まで繰り返される。
[0106] さらに高解像度のサブバンドの符号が存在する場合、以上のウェーブレット逆変換 が繰り返し適用され、多重解像度の画像が順次復号される。
[0107] 各解像度レベルのサブバンドが復号完了した段階で、画像出力プロセスによって 画像が液晶ディスプレイへ出力される。
[0108] 同じく図 8を参照して、本発明の符号化方式の第 2の具体例について説明する。た だし、本具体例におけるパーソナルコンピュータは、画像入力、画素抽出、ウェーブ レット演算、係数符号化、初期係数符号化および符号出力の各機能を実現する CP Uを有している。
[0109] ビデオカメラから、入力画像として、輝度 ·色差空間で表される画像 10が与えられる と、画像入力プロセスによって画像データが半導体メモリに格納される。
[0110] 入力画像 10は、画素抽出プロセスによって、 2 X 2画素ごとに抽出され、ウェーブレ ット演算プロセスへ供給され、ウェーブレット演算と符号ィ匕が行われる。具体的には、 まず、画素 H1,H2,H3,H4がウェーブレット演算プロセスへ供給されて符号化が行われ た後、画素 H5,H6,H7,H8がウェーブレット演算プロセスへ供給されて符号化が行わ れる。
[0111] ウェーブレット演算プロセスは、 2 X 2の画素が供給されると、これら画素に対して 2 次元ハールウェーブレット変換を施し、係数 L1,A1,B1,C1を得る。係数符号化プロセ スは、 A1,B1,C1を順次符号化し、(LH,HL,HH)符号 Z106として出力符号メモリへ格 納する。
[0112] 以上の処理が、画像の終端まで繰り返される。また、こうして生成された nLLサブバ ンドに対して、さらにウェーブレット演算と符号ィ匕が繰り返し適用され、多重解像度の 符号が生成される。
[0113] 次に、初期係数符号ィ匕プロセスによって、最低解像度である解像度レベル Nの LL サブバンド(図 8では ILLサブバンドメモリ)の原点 (x,y)=(0,0)から、係数値が順次読み 込まれて可変長符号化される。これにより得られた符号は、図 8では ILL符号メモリに 格納される。
[0114] 最後に、符号出力プロセスによって、半導体メモリに格納された符号データが、解 像度レベル Nから順に並べ替えられ、 LL符号メモリおよび (LH,HL,HH)符号メモリの データが順次通信路へ出力される。
[0115] 3.第 3実施例
3. 1)符号化装置
図 9は、本発明の第 3実施例による符号化装置の概略的構成を示すブロック図であ る。符号化装置は、 2次元信号の代表例として画像データ 10を画像入力装置(図示 せず)から入力し、後述するウェーブレット符号化により符号系列を出力する。符号ィ匕 装置は、主として、データ処理装置 401、 LLサブバンドメモリ 402、係数メモリ 403、 出力符号メモリ 404、および、画素間引きマップメモリ 405を有し、生成された符号系 列は符号出力装置 406へ出力される。
[0116] データ処理装置 401は、一般的な CPUなどのプログラム制御プロセッサであり、図 示しないプログラムメモリから符号化プログラム群を読み出して実行することで、画素 間弓 Iきマップ生成プロセス(画素間弓 Iきマップ生成手段 401 a)、画素間引き抽出プロ セス(画素間引き抽出手段 401b)、ウェーブレット変換(ここでは、 2次元ハールゥヱ 一ブレット変換)プロセス(ウェーブレット変換手段 401c)、係数符号化プロセス (係数 符号化手段 401d)、初期係数符号化 (初期係数符号化手段 401e)、および符号出 力プロセス (符号出力手段 40Π )を生成することができる (詳しくは後述する。 )。
[0117] LLサブバンドメモリ 402、係数メモリ 403、出力符号メモリ 404および画素間引きマ ップメモリ 405は、それぞれ別個のメモリで構成することもできる力 S、たとえば 1つの半 導体メモリにそれぞれのスペースを割り当てることで構成することも可能である。なお 、後述するように、本発明では、 CPUのレジスタやキャッシュメモリを係数メモリ 403と して利用することができる。
[0118] LLサブバンドメモリ 402は、入力画像データ 10を 0LLサブバンドデータとして格納 し、さらに画素間引き抽出プロセスにより順次抽出された部分領域(2m X 2)を 2次元 ハールウェーブレット変換することにより得られる nLLサブバンド係数(1≤n≤N)を 順次格納し、最終的には NLLサブバンド係数が格納される。第 3実施例における符 号化装置では、画素間引き抽出プロセスが(n— 1) LLサブバンド係数から 2m X 2画 素の部分領域を順次抽出し、それに対して間引き処理を行い、その結果に対して 2 次元ハールウェーブレット変換を実行し、 nLLサブバンド係数が得られる。 2m X 2画 素の部分領域はスキャンライン方向に順次抽出される。
[0119] 係数メモリ 403は、 2次元ハールウェーブレット変換することにより得られる 1つの階 層のサブバンド nLH、 nHL、 nHHにおける同一空間座標(i, j)の係数の組 {LH (i, j ) , HL (i, j) , HH (i, j) }を格納する。ただし、 2以上の一定数の係数組を格納するこ ともできる。たとえば {LH (i, j) , HL (i, j) , HH (i, j) }に隣接する 1つ以上の係数組 を抽出して係数メモリ 403に格納してもよい。上述したように、係数メモリ 403に CPU のキャッシュメモリを利用した場合、キャッシュメモリに余裕があれば、複数組の係数 を格糸内できる。
[0120] 出力符号メモリ 404は(nLH、 nHL、 nHH)サブバンド符号メモリ 404. 1および初 期出力符号である NLLサブバンド符号メモリ 404. 2を有する。 (nLH、 nHL、 nHH) サブバンド符号メモリ 404. 1は、係数メモリ 403に順次読み出された同一座標係数 の組を係数符号化プロセスにより符号ィ匕することで得られた符号 (nLH、 nHL、 nHH ) cを格納する。 NLLサブバンド符号メモリ 404. 2は、データ処理装置 401の初期係 数符号化プロセスにより NLLサブバンド係数を符号ィヒすることで得られたサブバンド 符号 NLLcを格納する。
[0121] 画素間引きマップメモリ 405は、後述する画素間引きマップ生成プロセスにより生成 され、画像の各部分における解像度レベルが格納されている。したがって、画素間引 きマップメモリ 405をサーチすることで、抽出された部分領域に対して画素間引き処 理を行うか否かを判定することができる(詳しくは後述する)。
[0122] (符号化制御)
図 10は、本実施例における符号ィ匕制御を示すフローチャートである。
[0123] まず、カメラやスキャナなどの画像入力装置から画像データ 10を入力し、 0LLサブ バンドとして LLサブバンドメモリ 402に格納する(ステップ S51)。
[0124] データ処理装置 401上の画素間引きマップ生成プロセスは、画像の入力が行われ ると、 0LLサブバンドデータを読み込み、各座標の画素をどの解像度レベルまで間 弓 [レ、て符号ィ匕するかを示す画素間弓 [きマップを生成し、画素間弓 [きマップメモリ 405 に格納する(ステップ S 52)。
[0125] たとえば、 1つの画像内に濃淡 2値の文字領域と色や濃淡が細かく変化する写真と が混在している場合、隣接要素値の変位を検出することで、あるいは、エッジ強度な どの特徴量を解析することで写真領域と文字領域とを区別することができる。そして、 写真領域の解像度を文字領域より低下させるように画素間引きマップを生成すること で、視覚的な品質劣化を抑えながら符号量を削減することが可能になる。
[0126] 画素間引き抽出プロセスは、解像度レベル(階層)を示す変数 nを 1に設定し、さら に nLH、 nHL、 nHHの各サブバンドから抽出される係数の空間座標 (x,y)を原点に 初期化する(i叫 =0) (ステップ S 53)。
[0127] 続いて、画素間引き抽出プロセスは、 LLサブバンドメモリ 402の(n_l) LLサブバン ドから、座標(i, j)に対応する 2m X 2画素の部分領域を順次抽出する (ステップ S54
)。たとえば、 n= l、 m= lおよび i=j = 0の場合は、図 9に示すように、 0LLサブバン ド(入力画像データ 10)から左上の 2 X 2部分領域(Hl, H2、 H3、 H4)が抽出され る。 [0128] 部分領域が抽出されると、画素間引き抽出プロセスは、抽出された部分領域に対 応する座標の解像度レベルを画素間引きマップメモリ 405から読み出し、その解像度 レベルの値によって、抽出部分が間引き対象画素である否かを判定する (ステップ S 55)。当該抽出部分が間引き対象である場合 (ステップ S55の YES)、所定の間引き 演算によって画素が間引かれ (ステップ S56)、間引かれた画素値に対してウェーブ レット変換が実行される (ステップ S57)。当該抽出部分が間引き対象でない場合 (ス テツプ S55の N〇)、当該抽出部分のそのままの画素値でウェーブレット変換が実行 される(ステップ S57)。なお、間引き演算は特に限定されなレ、。抽出領域内の 1つの 画素値を代表値として用いてもよいし、抽出された全画素値の平均をとつてもよい。
[0129] たとえば、抽出された 2 X 2画素が間引き対象画素である場合、それら画素値の平 均値を持った 2 X 2画素として、ウェーブレット演算プロセスに供給される。間引き対 象画素ではない場合は、 2 X 2画素のそれぞれの画素値がそのままウェーブレット演 算プロセスに供給される。
[0130] ウェーブレット変換プロセスは、抽出された 2m X 2画素の部分領域に対して 2次元 ハールウェーブレット変換を実行し (ステップ S57)、その結果得られた LH係数 nA (i , j)、 HL係数 nB (i, j)および HH係数 nC (i, j)を係数メモリ 403にそれぞれ格納し、 LL係数 nL (i, j)を nLLサブバンドとして LLサブバンドメモリ 402に格納する(ステツ プ S58)。
[0131] 続いて、ウェーブレット変換プロセスは係数符号ィ匕プロセスを呼び出し、係数メモリ 4 03から係数 nA (i, j) , nB (i, j) , nC (i, j)を読み出して可変長符号ィ匕を行い、出力 符号メモリ 404のサブバンド符号メモリ 404· 1に格納する(ステップ S59)。係数メモリ 403に読み出された係数組に関する符号ィ匕が終了すると、画素間引き抽出プロセス は、当該階層 nの全ての座標に関して符号ィ匕が終了したか否力 ^判定する (ステップ S60)。
[0132] 当該階層 nにおける全ての符号化が終了していなければ (ステップ S60の N〇)、抽 出座標(i, j)をスキャンライン方向に所定数だけシフトさせ (ステップ S501)、当該階 層 nにおける全ての符号化が終了するまで上記ステップ S54 S60, S501を繰り返 す。 [0133] 階層 nにおける全ての符号化が終了すると(ステップ S60の YES)、現在の階層 nが 最低解像度レベルの階層 Nであるか否かを判定し (ステップ S502)、 nが Nに到達し ていなければ(ステップ S502の NO)、 nを 1だけインクリメントし、空間座標 (x,y)を原 点に初期化する(i叫 =0) (ステップ S503)。こうして階層 nを 1ずつ増加させながら 上記ステップ S54 S60, S501 S503を繰り返す。
[0134] 最低解像度レベル Nのサブバンドの符号ィ匕が完了すると(ステップ S502の YES)、 初期係数符号化プロセスが立ち上がり、 LLサブバンドメモリ 402に格納されている N LLサブバンド係数を符号化し、出力符号メモリ 404の NLLサブバンド符号メモリ 404 . 2に格納する(ステップ S504)。
[0135] 以下、ステップ S504— S508は、図 7におけるステップ S401— S405とおなじであ るから説明は省略する。
[0136] 本実施例では、画素間引きマップ生成プロセスにおける解像度レベルの決定方法 については限定しない。たとえば、写真 ·自然画と文字 ·グラフが混在している画像に おいては、画像閲覧者の意図によって、写真'自然画と、文字'グラフとで解像度レべ ルを異ならせてもよい。また、写真 ·自然画といった、輝度変化の緩やかな領域の解 像度をより低くすることで、認知的な品質劣化を抑えながら符号量を削減できる。 また、画像内の隣接要素値の変位が比較的大きい領域と比較的小さい領域とで解 像度を異なるようにしてもよレ、。特に、比較的小さい領域の解像度を比較的大きい領 域の解像度より低く設定してもよい。隣接要素値の変位の大小は、隣接要素値の変 位が予め設定された閾値より大きいか小さいかによつて決めることができる。
[0137] 3. 2)復号装置
本実施例の符号化方式によって出力された符号は、図 4および図 5で示す第 1実 施例の復号方式によって復号可能であるから、詳細な説明は省略する。
[0138] 3. 3)効果
第 3実施例の符号ィヒ装置および符号化制御によれば、第 1実施例と同様に符号ィ匕 処理の高速化および必要メモリの低減が可能となる他に、上述したように画素間引き 抽出プロセスによって、部分領域ごとに異なる解像度レベルで画像を符号ィ匕すること ができる。 この際、画素の間引きは抽出と同時に行われるため、間引きによって生じる処理負荷 はごく小さく抑えることができる。これによつて、閲覧者の注目領域や、文字などディ テールが重要な領域のみを高精細に符号化し、その他の領域の符号量を落とすこと が可能となり、認知的な待ち時間を低減することができる。特に、写真'自然画と文字 •グラフが混在している画像においては、写真 ·自然画の領域の画素を多く間引くこと によって、被写体の概要把握や文字の判読といった、画像の意味理解のための最小 限の情報を保ったまま、符号量を削減できる。
[0139] なお、上述した間引き関連処理であるステップ S52および S55— S56は、図 3に示 す第 1実施例の符号化制御フローに適用することもできる。
[0140] 具体的には、図 3において、画像データ入力ステップ S11の後に画素間引きマップ 生成ステップ S52を揷入する。さらに、同一座標係数抽出ステップ S15において、同 一座標係数抽出プロセスが画素間引きマップを参照し、間引く必要がなければその まま抽出し、間引く必要がある場合には当該座標に設定された解像度まで係数を間 引いて抽出する。
[0141] 3. 4)具体例
図 11は、本発明の第 3実施例による符号化および復号動作を模式的に示した図で ある。本具体例では、画像入力装置としてビデオカメラを、データ処理装置 401として パーソナルコンピュータを、データ記憶装置 402— 405として半導体メモリ (パーソナ ルコンピュータに含まれる)を、符号出力装置 406として有線あるいは無線ネットヮー ク通信制御装置を備えているものとする。本具体例における基本的構成は第 2具体 例と同様である力 データ処理装置 401であるパーソナルコンピュータが画素間引き マップ生成および画素間引き抽出の機能する点で異なる。
[0142] 図 11において、ビデオカメラから入力画像 10が与えられると、画像入力プロセスに よって画像データが半導体メモリに格納される。画素間引きマップ生成プロセスは、 入力画像に対してエッジ強度などの特徴量を解析し、写真領域と文字領域とを分離 し、写真領域を解像度レベル 2、文字領域を解像度レベル 1に設定した画素間引き マップ Z202を生成する。
[0143] 画素間引き抽出プロセスは、入力画像 10および画素間引きマップ Z202を用いて 2 X 2画素ごとに画素領域を抽出し、その画素領域が写真領域であれば、画素を間引 いてウェーブレット演算および符号化を行レ、、文字領域であれば、そのままウェーブ レット演算および符号化を行う。
[0144] こうして出力された符号列は、復号装置において復号され、写真領域の解像度だ けが低くなつた復号画像 Z203が得られる。
[0145] 4.第 4実施例
4. 1)符号化装置
図 12は、本発明の第 4実施例による符号ィヒ装置の概略的構成を示すブロック図で ある。符号化装置は、 2次元信号の代表例として画像データ 10をビデオカメラ等の画 像入力装置(図示せず)から入力し、後述するウェーブレット符号化により符号系列を 出力する。符号化装置は、主として、データ処理装置 501、 LLサブバンドメモリ 502 、係数メモリ 503、出力符号メモリ 504、画素間引きマップメモリ 505、および、後続フ レームデータメモリ 506を有し、生成された符号系列は符号出力装置 507へ出力さ れる。
[0146] データ処理装置 501は、一般的な CPUなどのプログラム制御プロセッサであり、図 示しないプログラムメモリから符号化プログラム群を読み出して実行することで、動領 域検出プロセス(動領域検出手段 501a)、画素間引きマップ生成プロセス(画素間引 きマップ生成手段 501b)、画素間引き抽出プロセス(画素間引き抽出手段 501c)、ゥ エーブレット変換(ここでは、 2次元ハールウェーブレット変換)プロセス(ウェーブレット 変換手段 501d)、係数符号化プロセス (係数符号化手段 501e)、初期係数符号化 プロセス (初期係数符号化手段 501f)、および符号出力プロセス (符号出力手段 50 lg)を生成することができる(詳しくは後述する。)。
[0147] LLサブバンドメモリ 502、係数メモリ 503、出力符号メモリ 504、画素間引きマップメ モリ 505、および、後続フレームデータメモリ 506は、それぞれ別個のメモリで構成す ることもできる力 たとえば 1つの半導体メモリにそれぞれのスペースを割り当てること で構成することも可能である。なお、後述するように、本発明では、 CPUのレジスタや キャッシュメモリを係数メモリ 503として利用することができる。
[0148] LLサブバンドメモリ 502は、入力画像データ 10を 0LLサブバンドデータとして格納 し、さらに画素抽出プロセスにより順次抽出された部分領域(2m X 2)を 2次元ハール ウェーブレット変換することにより得られる nLLサブバンド係数(1≤n≤N)を順次格 納し、最終的には NLLサブバンド係数が格納される。第 4実施例における符号化装 置では、画素間引き抽出プロセスが(n— 1) LLサブバンド係数から 2m X 2画素の部 分領域を順次抽出し、それに対して間引き処理を行レ、、その結果に対して 2次元ハ ールウェーブレット変換を実行し、 nLLサブバンド係数が得られる。部分領域(2m X 2)はスキャンライン方向に順次抽出される。
[0149] 係数メモリ 503は、 2次元ハールウェーブレット変換することにより得られる 1つの階 層のサブバンド nLH、 nHL、 nHHにおける同一空間座標(i, j)の係数の組 {LH (i, j ) , HL (i, j) , HH (i, j) }を格納する。ただし、 2以上の一定数の係数組を格納するこ ともできる。たとえば {LH (i, j) , HL (i, j) , HH (i, j) }に隣接する 1つ以上の係数組 を抽出して係数メモリ 503に格納してもよい。上述したように、係数メモリ 503に CPU のキャッシュメモリを利用した場合、キャッシュメモリに余裕があれば、複数組の係数 を格糸内できる。
[0150] 出力符号メモリ 504は(nLH、 nHL、 nHH)サブバンド符号メモリ 504· 1および初 期出力符号である NLLサブバンド符号メモリ 504· 2を有する。 (nLH、 nHL、 nHH) サブバンド符号メモリ 504. 1は、係数メモリ 503に順次読み出された同一座標係数 の組を係数符号化プロセスにより符号ィ匕することで得られた符号 (nLH、 nHL、 nHH ) cを格納する。 NLLサブバンド符号メモリ 504. 2は、データ処理装置 501の初期係 数符号化プロセスにより NLLサブバンド係数を符号ィヒすることで得られたサブバンド 符号 NLLcを格納する。
[0151] 画素間引きマップメモリ 505は、後述する画素間引きマップ生成プロセスにより生成 され、画像の各部分における解像度レベルが格納されている。したがって、画素間引 きマップメモリ 505をサーチすることで、抽出された部分領域に対して画素間引き処 理を行うか否かを判定することができる(詳しくは後述する)。
[0152] また、後続フレームデータメモリ 506は、複数フレームの画像データ 10が連続して 入力したときに、 LLサブバンドメモリ 502に格納される現在のフレームに続く入力フレ ームデータを格納する。 [0153] データ処理装置 501上の動領域検出プロセスは、現在の入力画像および後続フレ ームデータメモリ 506の内容から、後続のフレームで画素値に変化が生じる領域(動 領域)を検出する。
画素間引きマップ生成プロセスは、検出された動領域の情報に基づき、動領域とそ れ以外の領域とで解像度が異なる係数間引きマップを生成する。具体的には、動領 域を低解像度、それ以外の領域を高解像度とする。
[0154] (符号化制御)
図 13は、本実施例における符号ィ匕制御を示すフローチャートである。
[0155] まず、ビデオカメラなどの動画像入力装置から動画像データ 10を入力すると、符号 化対象のフレームデータが 0LLサブバンドとして LLサブバンドメモリ 502に格納され 、後続するフレームデータが後続フレームデータメモリ 506に格納される(ステップ S6 D o
[0156] 動領域検出プロセスは、 LLサブバンドメモリ 502に格納された 0LLサブバンドデー タと後続フレームデータメモリ 506に格納された後続フレームデータとに基づいて動 領域を検出する(ステップ S62)。動領域の検出方法としては、たとえば両フレーム画 像の差分をとる方法がある。
[0157] 画素間引きマップ生成プロセスは、検出された動領域を低解像度に、それ以外の 領域を高解像度にそれぞれ設定した画素間引きマップを生成し画素間引きマップメ モリ 505に格納する(ステップ S63)。
[0158] 続いて、画素間引き抽出プロセスは、解像度レベル(階層)を示す変数 nを 1に設定 し、さらに nLH、 nHL、 nHHの各サブバンドから抽出される係数の空間座標 (x,y)を 原点に初期化する (i叫 =0) (ステップ S64)。
[0159] 続いて、画素間引き抽出プロセスは、 LLサブバンドメモリ 502の(n_l) LLサブバン ドから、座標(i, j)に対応する 2m X 2画素の部分領域を順次抽出する (ステップ S54 )。たとえば、 n= l、 m= lおよび i=j = 0の場合は、図 12に示すように、 0LLサブバ ンド(入力画像データ 10)から左上の 2 X 2部分領域 (Hl, H2、 H3、 H4)が抽出さ れる。
[0160] 部分領域が抽出されると、画素間引き抽出プロセスは、抽出された部分領域に対 応する座標の解像度レベルを画素間引きマップメモリ 505から読み出し、その解像度 レベルの値によって、抽出部分が間引き対象画素である否かを判定する (ステップ S 66)。当該抽出部分が間引き対象である場合 (ステップ S66の YES)、所定の間引き 演算によって画素が間引かれ (ステップ S67)、間引かれた画素値に対してウェーブ レット変換が実行される (ステップ S68)。当該抽出部分が間引き対象でない場合 (ス テツプ S66の N〇)、当該抽出部分のそのままの画素値でウェーブレット変換が実行 される(ステップ S68)。なお、間引き演算は特に限定されなレ、。抽出領域内の 1つの 画素値を代表値として用いてもよいし、抽出された全画素値の平均をとつてもよい。
[0161] たとえば、抽出された 2 X 2画素が間引き対象画素である場合、それら画素値の平 均値を持った 2 X 2画素として、ウェーブレット演算プロセスに供給される。間引き対 象画素ではない場合は、 2 X 2画素のそれぞれの画素値がそのままウェーブレット演 算プロセスに供給される。
[0162] ウェーブレット変換プロセスは、抽出された 2m X 2画素の部分領域に対して 2次元 ハールウェーブレット変換を実行し (ステップ S68)、その結果得られた LH係数 nA (i , j)、 HL係数 nB (i, j)および HH係数 nC (i, j)を係数メモリ 503にそれぞれ格納し、 LL係数 nL (i, j)を nLLサブバンドとして LLサブバンドメモリ 502に格納する(ステツ プ S69)。
[0163] 続いて、ウェーブレット変換プロセスは係数符号ィ匕プロセスを呼び出し、係数メモリ 5 03から係数組 nA (i, j) , nB (i, j) , nC (i, j)を読み出して可変長符号ィ匕を行い、出 力符号メモリ 504のサブバンド符号メモリ 504· 1に格納する(ステップ S70)。係数メ モリ 503に読み出された 1あるいは 2以上の一定数の係数組に関する符号化が終了 すると、画素間引き抽出プロセスは、当該階層 nの全ての座標に関して符号化が終 了したか否かを判定する(ステップ S71)。
[0164] 当該階層 nにおける全ての符号化が終了していなければ (ステップ S71の N〇)、抽 出座標 (i, j)をスキャンライン方向に所定数だけシフトさせ (ステップ S72)、当該階層 nにおける全ての符号化が終了するまで上記ステップ S65 S72を繰り返す。
[0165] 階層 nにおける全ての符号化が終了すると(ステップ S71の YES)、現在の階層 nが 最低解像度レベルの階層 Nであるか否かを判定し (ステップ S73)、 nが Nに到達して いなければ (ステップ S73の NO)、 nを 1だけインクリメントし、空間座標 (x,y)を原点に 初期化する(i叫 =0) (ステップ S74)。こうして階層 nを 1ずつ増加させながら上記ス テツプ S65— S74を繰り返す。
[0166] 最低解像度レベル Nのサブバンドの符号ィ匕が完了すると(ステップ S73の YES)、 初期係数符号化プロセスが立ち上がり、 LLサブバンドメモリ 502に格納されている N
LLサブバンド係数を符号化し、出力符号メモリ 504の NLLサブバンド符号メモリ 504
. 2に格納する(ステップ S75)。
[0167] 以下、ステップ S75— S79は、図 7におけるステップ S401— S405と同じである力ら 説明は省略する。
[0168] なお、本実施例で使用する後続フレーム情報は、後続フレームの画像データであ つてもよいし、信号値が更新される更新領域の座標情報であってもよい。後続フレー ム情報として画像データを使用する場合は、現フレーム画像と後続フレーム画像の 差分を取って動領域を検出することができる。また、更新領域の座標情報を使用する 場合には、その更新領域をそのまま動領域として使用することができる。
[0169] また、後続フレーム情報としては、単一フレームだけでなぐ複数のフレームを用い るようにしてもよレ、。複数フレームを用いる場合、各部分領域において画素の値が変 化する期間を求め、この変化期間に基づいて画素間引きマップの解像度を設定する 。より具体的には、画素の変化期間が長い領域、すなわち長時間に亘つて画素が変 化する領域ほど解像度を低くする。このように画素間引きマップを生成することで、更 に符号量を低減することができる。
[0170] また、上述した第 4実施例における動領域検出および間引き関連処理であるステツ プ S61 S63および S66 S67は、図 3に示す第 1実施例の符号化制御フローに適 用することちできる。
[0171] 4. 2)復号装置
本実施例の符号化方式によって出力された符号は、図 4および図 5で示す第 1実 施例の復号方式によって復号可能であるから、詳細な説明は省略する。
[0172] 4. 3)効果
第 4実施例の符号ィヒ装置および符号化制御によれば、第 1実施例と同様に符号ィ匕 処理の高速化および必要メモリの低減が可能となる他に、連続するフレームが符号 化される際、後続のフレーム画像で上書きされる領域を動領域として検出することで 、動領域を低解像度、それ以外の領域を高解像度に設定した画素間引きマップを生 成することができ、これによつて動領域の符号量を低減し、フレームレートを向上させ ること力 Sできる。符号量低減のトレードオフとして、動領域の解像度は落ちることにな るが、動領域は後続フレームで上書きされる領域であるため、一時的に低解像度で 表示しても閲覧者は視覚的な品質低下を認知しにくい。
[0173] 4. 4)具体例
図 14は本発明の第 4実施例における動領域検出と間引き動作を説明するためのコ ンソール画面を模式的に示した図である。本具体例は、画像入力装置としてビデオ カメラを、データ処理装置 501としてワークステーションの CPUを、データ記憶装置 5 02— 506として半導体記憶装置(ワークステーションに含まれる)を、符号出力装置と してネットワークに接続された通信制御装置を備えている。上述したように、ワークス テーシヨンの CPUは、動領域検出、画素間引きマップ生成、画素間引き抽出、ゥエー ブレット変換、係数符号化、初期係数符号化、および符号出力の各機能を実現する こと力 Sできる。
[0174] また、画像の動領域検出および間引き処理を模式的に示すための表示手段として ワークステーションのコンソール画面が想定され、図 14には、フレーム画面の更新領 域が順次供給され、符号化されて伝送される様子が模式的に示されてレ、る。
[0175] Z300はフレーム fにおけるコンソール画面の状態を示しており、 Z3000はフレーム fに おける画面 Z300上の更新領域を示す。 Z301はフレーム (f+1)におけるコンソール画面 の状態を示しており、 Z3010はフレーム (f+1)における画面 Z301上の更新領域を示す。 同様に、 Z302はフレーム (f+2)におけるコンソール画面の状態、 Z3020はその更新領 域をそれぞれ示している。
[0176] 上述したように、ワークステーションは、フレーム fの時点で、後続フレーム (f+1)の更 新領域の座標を先行して取得している。すなわち、 Z3001がフレーム fの画面 Z300上 での後続フレーム (f+1)の更新領域の位置を示しており、同様に、 Z3011がフレーム (f+1)の画面 Z301上での後続フレーム (f+2)の更新領域の座標を示している。また、フ レーム (f+2)の後続フレームでは、画面 Z302が更新されていないものとする。
[0177] フレーム fにおける動作は以下の通りである。まず、ワークステーションは、入力画像 Z3000と後続フレーム情報 Z3001とを取得する。動領域検出プロセスによって、 Z3000 と Z3001との重複領域が動領域として検出され、画素間引きマップ生成プロセスによ つて動領域を解像度レベル 2、その他の領域を解像度レベル 1とする画素間引きマツ プ Z310が生成される。
[0178] 画素間引き抽出プロセスは、入力画像 Z3000および画素間引きマップ Z310を元に、 2 X 2画素ごとに画素を抽出し、ウェーブレット演算プロセスへ供給し、ウェーブレット 変換および符号化を行う。解像度レベル 2の動領域については、画素が間引かれて 符号化される。こうして得られた符号を復号し、更新領域内への描画を行うことによつ て、動領域の解像度だけが低くなつた表示画像 Z320が得られる。以上がフレーム fに おける動作である。
[0179] フレーム (f+1)においても同様に、入力画像 Z3010と後続フレーム情報 Z3011の重複 領域が動領域として検出され、画素間引きマップ Z311が生成される。この結果、動領 域の解像度だけが粗くなつた表示画像 Z321が得られる。
[0180] フレーム (f+2)では、後続フレームで更新領域が存在しないため、動領域が検出され なレ、。このため、画素の間引きは行われない(Z312)。この結果、画面の全領域で高 精細な復号画像 Z322が得られる。
[0181] 5.第 5実施例
5. 1)符号化装置
図 15は、本発明の第 5実施例による符号化装置の概略的構成を示すブロック図で ある。本実施例における基本的構成は第 2実施例と同様であるが、データ処理装置 9 01が、係数量子化マップ生成プロセスおよび係数量子化プロセスを生成できる点、 および、係数量子化マップメモリ 905を備えている点で異なる。
[0182] すなわち、データ処理装置 901は、係数量子化マップ生成プロセス (係数量子化マ ップ生成手段 901a)、画素抽出プロセス(画素抽出(要素抽出)手段 901b)、ゥエー ブレット変換(ここでは、 2次元ハールウェーブレット変換)プロセス(ウェーブレット変 換手段 901c)、係数量子化プロセス (係数量子化手段 901d)、係数符号化プロセス (係数符号化手段 901e)、初期係数符号化プロセス (初期係数符号化手段 901f)、 および符号出力プロセス (符号出力手段 901g)を生成すること力 Sできる。
[0183] また、係数量子化マップメモリ 905には、画像の各部分における量子化パラメータ 力 なる係数量子化マップが格納されている。したがって、係数量子化マップメモリ 9 05をサーチすることで、画素抽出プロセスにおいて抽出された部分領域に対する、 係数量子化の精度を取得することができる(詳しくは後述する)。なお、係数量子化マ ップは、係数量子化マップ生成プロセスにより生成される。
[0184] 図 16は、本実施例における符号ィ匕制御を示すフローチャートである。
[0185] まず、カメラやスキャナなどの画像入力装置から画像データ 10を入力し、 0LLサブ バンドとして LLサブバンドメモリ 902に格納する(ステップ S801)。
[0186] データ処理装置 901上の係数量子化マップ生成プロセスは、画像の入力が行われ ると、 0LLサブバンドデータを読み込み、各空間座標位置'各解像度レベルに対応 する係数をどの量子化精度まで間引いて符号化するかを示す係数量子化マップを 生成し、係数量子化マップメモリ 905に格納する(ステップ S802)。
[0187] 画素抽出プロセスは、解像度レベル(階層)を示す変数 nを 1に設定し、さらに nLH 、 nHL、 nHHの各サブバンドから抽出される係数の空間座標 (x,y)を原点に初期化 する(i叫 =0) (ステップ S803)。
[0188] 続いて、画素抽出プロセスは、 LLサブバンドメモリ 902の(n— 1) LLサブバンドから 、座標(i, j)に対応する 2m X 2画素の部分領域を順次抽出する (ステップ S804)。た とえば、 n= l、 111= 1ぉょび1叫=0の場合は、図 15に示すように、 0LLサブバンド( 入力画像データ 10)力 左上の 2 X 2部分領域(HI , H2、 H3、 H4)が抽出される( ステップ S804)。
[0189] ウェーブレット変換プロセスは、抽出された 2m X 2画素の部分領域に対して 2次元 ハールウェーブレット変換を実行し(ステップ S805)、その結果得られた LH係数 nA ( i, j)、 HL係数 nB (i, j)および HH係数 nC (i, j)を係数メモリ 903にそれぞれ格納し、 LL係数 nL (i, j)を nLLサブバンドとして LLサブバンドメモリ 902に格納する(ステツ プ S806)。
[0190] 係数量子化プロセスは、係数メモリ 903から LH係数 nA (i, j)、 HL係数 nB (i, j)お よび HH係数 nC (i, j)を読み出す。さらに、係数量子化マップメモリ 905から、当該空 間座標 ·解像度レベルに対応する係数量子化パラメータを読み出し、そのパラメータ によって示される量子化精度まで LH係数 nA(i, j)、 HL係数 nB (i, j)および HH係 数 nC (i, j)を量子化する。量子化された各係数によって、係数メモリ 903の内容が更 新される(ステップ S807)。
[0191] 以下、ステップ S808— S817は、図 7におけるステップ S46— S50, S401 S405 と同じであるから説明は省略する。なお、図 15において、 904は出力符号メモリ、 90 4. 1は(nLH、nHL、 nHH)サブバンド符号メモリ、 904. 2は NLLサブバンド符号メ モリ、 906は符号出力装置である。
[0192] なお、第 3実施例と同様に、写真領域と文字領域とで係数の量子化精度が異なるよ うに、係数量子化マップを生成してもよい。たとえば、 1つの画像内に濃淡 2値の文字 領域と色や濃淡が細力べ変化する写真とが混在している場合、 P 接要素値の変位を 検出することで、あるいは、エッジ強度などの特徴量を解析することで、写真領域と文 字領域とを区別することができる。そして、写真領域の量子化精度を文字領域より低 下させるように係数量子化マップを生成することで、視覚的な品質劣化を抑えながら 符号量を削減することが可能になる。
[0193] また、画像内の隣接要素値の変位が比較的大きい領域と比較的小さい領域とで係 数の量子化精度が異なるようにしてもよい。特に、比較的小さい領域の量子化精度を 比較的大きい領域の量子化精度より低く設定してもよい。隣接要素値の変位の大小 は、隣接要素値の変位が予め設定された閾値より大きいか小さいかによつて決めるこ とができる。
[0194] 5. 2)復号装置
本実施例の符号化方式によって出力された符号は、図 4および図 5で示す第 1実 施例の復号方式によって復号可能であるから、詳細な説明は省略する。
[0195] 5. 3)効果
第 5実施例の符号ィヒ装置および符号化制御によれば、第 1実施例と同様に符号ィ匕 処理の高速化および必要メモリの低減が可能となる他に、上述したように係数量子化 プロセスによって、部分領域ごとに異なる量子化精度で画像を符号化することができ る。これによつて、第 3実施例と同様に、閲覧者の注目領域や、文字などディテール が重要な領域のみを高精細に符号化し、その他の領域の符号量を落とすことが可能 となり、認知的な待ち時間を低減することができる。
[0196] さらに、第 5実施例では、第 3実施例よりも細かい単位での品質制御が可能である。
第 3実施例では、非注目領域の品質を下げる場合、 2分の 1、 4分の 1といった、 2の べき乗単位で解像度を下げることになる。このため、僅かに品質を下げたいといった 場合にも、解像度を半分に下げる必要があった。これに対して、第 5実施例では、量 子化精度を制御することによって、モスキートノイズ等の量子化歪みを細力べ制御す ること力 Sできる。
[0197] 5. 4)具体例
図 17は、本発明の第 5実施例による符号化動作を模式的に示した図である。本具 体例では、画像入力装置としてビデオカメラを、データ処理装置 901としてパーソナ ノレコンピュータを、データ記憶装置 902— 905として半導体メモリ(パーソナルコンビ ユータに含まれる)を、符号出力装置 906として有線あるいは無線ネットワーク通信制 御装置を備えているものとする。本具体例における基本的構成は第 2具体例と同様 であるが、データ処理装置 901であるパーソナルコンピュータが係数量子化マップ生 成および係数量子化の機能を備える点で異なる。
[0198] 図 17において、ビデオカメラから入力画像 Z401が与えられると、画像入力プロセス によって画像データが半導体メモリに格納される。係数量子化マップ生成プロセスは 、入力画像に対してエッジ強度などの特徴量を解析し、写真領域と文字領域とを分 離し、写真領域を量子化ステップ 6 (Qstep=6)、文字領域を量子化ステップ 3 ( Qst印 =3)に設定した係数量子化マップ Z402を生成する。
[0199] 画素抽出プロセスおよびウェーブレット変換プロセスは、入力画像 Z401を用いて 2
X 2画素ごとに画素領域を抽出し、ウェーブレット演算を行う。係数量子化プロセスは 、係数量子化マップ Z402から得た量子化ステップの情報を基に、その画素領域が写 真領域であれば、係数値 Z403.1を 6刻みに量子化し、係数値 Z403.2を得る。また、画 素領域が文字領域であれば、画素を 3刻みに量子化し、係数値 Z403.3を得る。量子 化された係数は、係数符号化プロセスによって符号化される。 [0200] こうして出力された符号列は、復号装置において復号され、写真領域の係数だけが 粗く量子化された画像が得られる。
[0201] 6.第 6実施例
6. 1)符号化装置
図 18は、本発明の第 6実施例による符号ィヒ装置の概略的構成を示すブロック図で ある。本実施例における基本的構成は第 5実施例と同様であるが、データ処理装置 1 001が動領域検出プロセスを生成できる点、および、後続フレームデータメモリ 1006 を備えている点で異なる。
[0202] すなわち、データ処理装置 1001は、動領域検出プロセス(動領域検出手段 1001 a)、係数量子化マップ生成プロセス (係数量子化マップ生成手段 1001b)、画素抽 出プロセス(画素抽出(要素抽出)手段 1001c)、ウェーブレット変換 (ここでは、 2次 元ハールウェーブレット変換)プロセス(ウェーブレット変換手段 lOOld)、係数量子 化プロセス (係数量子化手段 lOOle)、係数符号化プロセス (係数符号化手段 1001 f)、初期係数符号化プロセス (初期係数符号化手段 1001g)、および符号出力プロ セス(符号出力手段 1001h)を生成することができる。
[0203] データ処理装置 1001上の動領域検出プロセスは、第 4実施例と同様、現在の入力 画像および後続フレームデータメモリ 1006の内容から、後続のフレームで画素値に 変化が生じる領域 (動領域)を検出する。
係数量子化マップ生成プロセスは、検出された動領域の情報に基づき、動領域と それ以外の領域とで量子化精度が異なる係数量子化マップを生成する。具体的に は、動領域を粗い量子化精度、それ以外の領域を細かい量子化精度とする。
[0204] 図 19は、本実施例における符号ィ匕制御を示すフローチャートである。
[0205] まず、ビデオカメラなどの動画像入力装置から動画像データ 10を入力すると、符号 化対象のフレームデータが 0LLサブバンドとして LLサブバンドメモリ 1002に格納さ れ、後続するフレームデータが後続フレームデータメモリ 1006に格納される (ステツ プ S901)。
[0206] 動領域検出プロセスは、 LLサブバンドメモリ 1002に格納された 0LLサブバンドデ ータと後続フレームデータメモリ 1006に格納された後続フレームデータとに基づいて 動領域を検出する (ステップ S902)。動領域の検出方法としては、たとえば両フレー ム画像の差分をとる方法がある。
[0207] 係数量子化マップ生成プロセスは、検出された動領域を粗い量子化精度、それ以 外の領域を細力、レ、量子化精度にそれぞれ設定した係数量子化マップを生成し、係 数量子化マップメモリ 1005に格納する(ステップ S903)。
[0208] 以下、ステップ S904— S918は、図 16におけるステップ S803 S817と同じである カゝら説明は省略する。なお、図 18において、 1003は係数メモリ、 1004は出力符号メ モリ、 1004. 1は(nLH、nHL、 nHH)サブバンド符号メモリ、 1004. 2は NLLサブ バンド符号メモリ、 1007は符号出力装置である。
[0209] なお、本実施例で使用する後続フレーム情報は、後続フレームの画像データであ つてもよいし、信号値が更新される更新領域の座標情報であってもよい。後続フレー ム情報として画像データを使用する場合は、現フレーム画像と後続フレーム画像の 差分を取って動領域を検出することができる。また、更新領域の座標情報を使用する 場合には、その更新領域をそのまま動領域として使用することができる。
[0210] また、後続フレーム情報としては、単一フレームだけでなぐ複数のフレームを用い るようにしてもよレ、。複数フレームを用いる場合、各部分領域において画素の値が変 化する期間を求め、この変化期間に基づいて係数量子化マップの量子化精度を設 定する。より具体的には、画素の変化期間が長い領域、すなわち長時間に亘つて画 素が変化する領域ほど量子化精度を低くする。このように係数量子化マップを生成 することで、更に符号量を低減することができる。
[0211] 6. 2)復号装置
本実施例の符号化方式によって出力された符号は、図 4および図 5で示す第 1実 施例の復号方式によって復号可能であるから、詳細な説明は省略する。
[0212] 6. 3)効果
第 6実施例の符号ィヒ装置および符号化制御によれば、第 1実施例と同様に符号ィ匕 処理の高速化および必要メモリの低減が可能となる他に、第 4実施例と同様に動領 域の符号量を低減し、フレームレートを向上させることができる。
[0213] さらに、第 6実施例では、第 4実施例よりも細かい単位での品質制御が可能である。 第 4実施例では、動領域の品質を下げる場合、 2分の 1、 4分の 1といった、 2のべき乗 単位で解像度を下げることになる。このため、僅かに品質を下げたいといった場合に も、解像度を半分に下げる必要があった。これに対して、第 6実施例では、量子化精 度を制御することによって、モスキートノイズ等の量子化歪みを細かく制御することが できる。
[0214] 6. 4)具体例
本具体例における基本的構成は第 4具体例と同様であるが、データ処理装置 100 1であるワークステーション力 S、係数量子化マップ生成および係数量子化の機能を備 える点で異なる。本具体例では、第 4具体例と同様に動領域の品質を低下させること ができるが、第 4具体例のように動領域の解像度が低くなるのではなぐ量子化精度 が低くなつて表示される。
[0215] 7.第 7実施例
7. 1)符号化装置
図 20は、本発明の第 7実施例による符号化装置の概略的構成を示すブロック図で ある。本実施例における基本的構成は第 1実施例と同様であるが、データ処理装置 1 101が動領域検出プロセスおよび係数量子化マップ生成プロセス、係数量子化プロ セスを生成できる点、および、係数量子化マップメモリ 1105および後続フレームデー タメモリ 1106を備えてレ、る点で異なる。
[0216] すなわち、データ処理装置 1101は、動領域検出プロセス(動領域検出手段 1101 a)、係数量子化マップ生成プロセス (係数量子化マップ生成手段 1101b)、ウェーブ レット変換(ここでは、 2次元ハールウェーブレット変換)プロセス(ウェーブレット変換 手段 1101c)、同一座標係数抽出プロセス(同一座標係数抽出手段 l lOld)、係数 量子化プロセス (係数量子化手段 1101e)、初期係数符号化プロセス (初期係数符 号化手段 110Π)、係数符号化プロセス (係数符号化手段 l lOlg)、および符号出 力プロセス (符号出力手段 l lOlh)を生成することができる。
[0217] データ処理装置 1101上の動領域検出プロセスは、第 4実施例と同様、現在の入力 画像および後続フレームデータメモリ 1106の内容から、後続のフレームで画素値に 変化が生じる領域 (動領域)を検出する。 [0218] 係数量子化マップ生成プロセスは、検出された動領域の情報に基づき、動領域と それ以外の領域とで量子化精度が異なる係数量子化マップを生成する。具体的に は、動領域を粗い量子化精度、それ以外の領域を細かい量子化精度とする。生成さ れた係数量子化マップは、係数量子化マップメモリ 1105に格納される。
[0219] 係数量子化プロセスは、係数メモリ 1003から LH係数 nA (i, j)、 HL係数 nB (i, j) および HH係数 nC (i, j)を読み出す。さらに、係数量子化マップメモリ 1105から、当 該空間座標'解像度レベルに対応する係数量子化パラメータを読み出し、そのパラメ ータによって示される量子化精度まで LH係数 nA (i, j)、 HL係数 nB (i, j)および H H係数 nC (i, j)を量子化する。
[0220] 図 21は、本実施例における符号ィ匕制御を示すフローチャートである。
[0221] まず、ビデオカメラなどの動画像入力装置から動画像データ 10を入力すると、符号 化対象のフレームデータが 0LLサブバンドとしてサブバンドメモリ 1102に格納され、 後続するフレームデータが後続フレームデータメモリ 1106に格納される(ステップ S1 001)。
[0222] 次に、データ処理装置 101上のウェーブレット変換プロセスは、サブバンドメモリ 11 02から読み出された 0LLサブバンドデータに対して N段の 2次元ハールウェーブレツ ト変換を実行し、その変換結果をサブバンドメモリ 1102に格納する (ステップ S1002 ) 0
[0223] 2次元ハールウェーブレット変換が終了すると、初期係数符号ィ匕プロセスは、初期 係数 NLLを階層 Nのサブバンドメモリから読み出し、ランレングスハフマン符号あるい は LZW符号などを用いて可変長符号ィ匕し、その符号 NLLc (0, 0) , NLLc (l , 0) , · · · , NLLc (p , q )を出力符号メモリ 104の NLLサブバンド符号メモリ 1104. 1に格
N N
納する(ステップ S 1003)。
[0224] 符号出力プロセスは、出力符号メモリ 1104に蓄積された符号歹 1Jを読み出し、符号 出力装置 1107へ出力する(ステップ S1004)。
[0225] 初期係数符号化が全て終了すると、次の符号化対象は LH、 HL、 HHサブバンドと なる。まず、解像度レベル(階層)を示す変数 nを Nに設定して符号化対象を階層 N の LH、 HL、 HHサブバンドとし (n = N)、さらに、同一座標係数抽出プロセスは nLH 、 nHL、 nHHの各サブバンドから抽出される係数の空間座標 (x,y)を原点に初期化 する(i叫 =0) (ステップ S1005)。
[0226] 本実施例では、各解像度での LH、 HL、 HHサブバンドの符号化が実行される前 に、動領域検出プロセスおよび係数量子化マップ生成プロセスが起動される。
[0227] 動領域検出プロセスは、 LLサブバンドメモリ 1102に格納された 0LLサブバンドデ ータと、現在、後続フレームデータメモリ 1106に格納されている後続フレームデータ とに基づいて動領域を検出する(ステップ S1006)。動領域の検出方法としては、た とえば両フレーム画像の差分をとる方法がある。
[0228] 係数量子化マップ生成プロセスは、検出された動領域を粗い量子化精度に、それ 以外の領域を細かい量子化精度にそれぞれ設定した係数量子化マップを生成し、 係数量子化マップメモリ 1105に格納する(ステップ S1007)。
[0229] 続いて、同一座標係数抽出プロセスは、サブバンドメモリ 1102から階層 nのサブバ ンド nLH、 nHL、 nHHにおける同一空間座標(i, j)の係数の組 {nA (i, j) , nB (i, j) , nC (i, j) }を読み出して係数メモリ 1103に格納する(ステップ S1008)。こうして 1つ あるいは複数の係数組が係数メモリ 1103に読み出されると、係数量子化プロセスが 起動して量子化が行われる。
[0230] 係数量子化プロセスは、係数メモリ 1103から係数組 nA (i, j) , nB (i, j) , nC (i, j) を読み出し、さらに、係数量子化マップメモリ 1105から、当該空間座標'解像度レべ ルに対応する係数量子化パラメータを読み出して、そのパラメータによって示される 量子化精度まで LH係数 nA(i, j)、 HL係数 nB (i, j)および HH係数 nC (i, j)の量子 化を行う。量子化された各係数によって、係数メモリ 1103の内容が更新される(ステ ップ S 1009)。
[0231] 係数符号化プロセスは、係数メモリ 1103から係数組 nA (i, j) , nB (i, j), nC (i, j) を読み出して可変長符号ィ匕を行レ、、出力符号メモリ 1104のサブバンド符号メモリ 11 04. 2に格納する(ステップ S1010)。係数メモリ 1103に読み出された係数組に関す る符号ィ匕が終了すると、同一座標係数抽出プロセスは、当該階層 nの全ての座標に 関して符号化が終了したか否かを判定する (ステップ S 1011)。
[0232] 当該階層 nにおける全ての符号化が終了していなければ (ステップ S1011の NO) 、抽出座標(i, j)をスキャンライン方向に所定数だけシフトさせ (ステップ S 1012)、当 該階層 nにおける全ての符号化が終了するまで上記ステップ S1008— S1012を繰り 返す。
[0233] 階層 nにおける全ての符号化が終了すると(ステップ S1011の YES)、符号出力プ ロセスは、出力符号メモリ 1104に蓄積された符号列を読み出し、符号出力装置 110 7へ出力する(ステップ S1013)。
[0234] さらに、現在の階層 nが最大解像度である n= lであるか否かを判定し (ステップ S1 014)、 nが 1に到達していなければ(ステップ S1014の NO)、 nを 1だけデクリメントし (ステップ S1015)、 nLH、 nHL、 nHHの各サブバンド力、ら抽出される係数の空間座 標 (x,y)を原点に初期化する(i叫 =0) (ステップ S1016)。こうして階層 nを 1ずつ減 少させながら上記ステップ S1006— S1016を繰り返す。
[0235] なお、上記説明では、各解像度レベルの LH、 HL、 HHサブバンド符号化前に、動 領域検出プロセスおよび係数量子化マップ生成プロセスが起動されるものとして説明 したが、プロセスの起動回数を抑制するために、一定の解像度レベルおきにこれらの プロセスが起動するようにしてもよぐまた、一定の解像度レベル以上でこれらのプロ セスが起動するようにしてもょレ、。
[0236] 7. 2)復号装置
本実施例の符号化方式によって出力された符号は、図 4および図 5で示す第 1実 施例の復号方式によって復号可能であるから、詳細な説明は省略する。
[0237] 7. 3)効果
第 7実施例の符号ィヒ装置および符号化制御によれば、第 1実施例と同様に符号ィ匕 処理の高速化および必要メモリの低減が可能となる他に、第 6実施例と同様に動領 域の符号量を低減し、フレームレートを向上させることができる。
[0238] さらに、第 7実施例では、符号化中に、画面内のより広い範囲を動領域として検出 することができるため、符号量をさらに低減し、フレームレートをさらに向上させること ができる。その理由は以下の 2点である。
[0239] 第 1に、本実施例では、各解像度の LH、 HL、 HHサブバンドが符号化される前に 動領域検出が行われ、新たな係数量子化マップが生成される。したがって、画像入 力時にはまだ画面が更新されておらず、動領域が存在しなかったような場合でも、次 の解像度レベルの符号ィヒ時までに画面が更新されていれば、その解像度以降では 係数を粗く量子化することでき、結果として符号量を低減することができる。
[0240] 第 2に、本実施例では、各解像度で符号化された LH、 HL、 HHサブバンドは、そ のまま通信路などの符号出力装置 1107へ出力される。一般に、符号出力装置 110 7は、データ処理装置 1101の処理速度に比べて低速であるため、符号の出力には 多くの待ち時間が発生する。本実施例では、この符号出力の期間内に画面が更新さ れた場合にも、次の解像度レベルを符号ィ匕する直前に、動領域として検出することが できる。
[0241] 以上のように、本実施例では、符号化の途中段階でも、後続のフレームから動領域 を新たに検出することができ、符号量をさらに低減することができる。
[0242] なお、本実施例では、符号量制御方法を量子化による方法としたが、第 4実施例の ような解像度打切りによる符号量制御を用いても、同様のフレームレート向上効果が 達成できる。
[0243] 7. 4)具体例
図 22は、本発明の第 7実施例による動領域検出と係数量子化動作を説明するため のコンソール画面を模式的に示した図である。 本具体例における基本構成は第 4具 体例と同じであるが、データ処理装置 1101であるワークステーション力 係数量子化 マップ生成プロセスおよび係数量子化プロセスを生成できる点で異なる。
[0244] 図 22には、フレーム画面の更新領域が順次供給され、符号化されて伝送される様 子が模式的に示されている。 Z501, Z502, Z503は、それぞれフレーム f, (f+1), (f+2)に おけるワークステーションのコンソール画面を示している。また、 Z5010, Z5020, Z5030はフレーム f, (f+1), (f+2)で符号化される領域を示しており、 Z5031は、フレーム (f+2)におレ、て新たに供給された後続フレーム領域を示してレ、る。
[0245] フレーム fにおいて、ワークステーションは入力画像 Z501を取得し、入力画像 Z501の 領域 Z5010に対しウェーブレット変換を行って、各周波数サブバンド Z510を得る。さら に、最低解像度の LL成分である Z511を可変長符号化し、通信路へ出力する。
[0246] 次に、フレーム (f+1)において、次の解像度レベルの LH, HL, HHサブバンドを符 号化するにあたり、ワークステーションの動領域検出プロセスは、後続フレームがない 力どうかを調べる。フレーム (f+1)には後続フレームが存在しないため、係数量子化マ ップには、サブバンド全域に亘つて高精度の量子化ステップが採用される。こうして、 高精度の量子化ステップで係数量子化が行われ、係数符号化プロセスにより LH, H L, HHサブバンド Z512が符号ィ匕され、通信路へ出力される。
[0247] 最後に、フレーム (f+2)において、次の解像度レベルの LH, HL, HHサブバンドを 符号化する前に、後続フレームの有無がチェックされる。フレーム (f+2)には後続フレ ーム Z5031が存在するため、サブバンド内において後続フレームが存在する範囲が 動領域として検出される。さらに、動領域が粗く量子化されるよう、係数量子化マップ が生成される。こうして、動領域が低精度、それ以外の領域が高精度の量子化ステツ プで係数量子化が行われ、係数符号化プロセスにより LH, HL, HHサブバンド Z513 が符号化され、通信路へ出力される。
[0248] こうして出力された符号列は、復号装置において復号され、動領域の係数だけが粗 く量子化された画像が得られる。
[0249] 8.第 8実施例
上述した第 1一第 7実施例では、符号化装置で符号化された画像データを復号装 置で復号する場合を説明したが、符号化装置と復号装置が 1つの通信端末に内蔵さ れ、別の通信端末との間で双方向画像通信を行うことも可能である。以下、カメラおよ びディスプレイが接続された通信端末 (たとえばカメラ付き携帯電話機など)を例にと つて説明する。
[0250] 図 23は本発明の第 8実施例による符号化および復号装置を内蔵した双方向通信 端末のブロック図である。端末には、プログラム制御プロセッサとしての CPU601が 設けられ、内部バスによりキャッシュメモリ 602およびメインメモリ 603に接続されてい る。内部バスはさらにポートを介して外部バス 604に接続され、外部バス 604には必 要なプログラムを格納したメモリ 605、データメモリ 606、カメラ 608を接続するインタ フェース 607、ディスプレイ 610を接続するインタフェース 609、および通信制御部 6 12を接続するインタフェース 611などがそれぞれ接続されている。通信制御部 612 はネットワーク 613に接続される。携帯電話機であれば、通信制御部 612は無線通 信部およびチャネル制御部を含み、ネットワーク 613は移動通信ネットワークである。
[0251] プログラムメモリ 605には、符号化プログラム、復号プログラム、通信端末の全体的 動作を制御するメインプログラムなどが格納されている。符号化プログラムは第 1一第 7実施例で説明した図 3、図 7、図 10、図 13、図 16、図 19および図 21のいずれかに 示すフローチャートで表現されるものであり、復号プログラムは図 5に示すフローチヤ ートで表現されるものである。符号化プログラムおよび復号プログラムの上述した各プ 口セスはメインプログラムによるプロセスの管理下で実行される。
[0252] データメモリ 606はサブバンドメモリ 606. 1および入出力符号化データメモリ 606.
2を含む。サブバンドメモリ 606. 1は、たとえば図 1のサブバンドメモリ 102や図 6の L Lサブバンドメモリ 302である。入出力符号化データメモリ 606. 2は、たとえば図 1や 図 6の出力符号メモリ 104/304などの出力符号メモリと図 4の 0LLサブバンドメモリ などの入力符号メモリとを含む。
[0253] また、カメラ 608は符号化装置における画像入力装置に対応し、ディスプレイ 610 は復号装置における画像出力装置 204に対応する。カメラで撮像された画像データ は上述したようにウェーブレット変換および符号ィ匕され、その符号列がネットワークを 介して相手方端末へ送信される。逆に、相手側から受信した画像データの符号列は 上述したように復号されウェーブレット逆変換されてディスプレイ 610上に表示される 。詳細な動作は既に説明したとおりであり、いずれもキャッシュメモリ 602を係数メモリ として利用することができる。
[0254] 9.第 9実施例
本発明による符号化装置および復号装置は、上述したように CPU上で各制御プロ グラムを実行することにより実現できるが、ハードウェアにより実現することも可能であ る。
ここでは上述した第 1実施例の各プロセスをハードウェア化した構成を例示するが、 他の実施例でも同様に構成される。
[0255] 図 24は本発明の第 9実施例による符号ィ匕装置の一例を示すブロック図である。カメ ラ等の画像入力装置 701により入力した画像データは画像メモリ 702に格納され、上 述したようにウェーブレット変換部 703により順次ウェーブレット変換される。こうして得 られたサブバンド係数 LL、 LH, HL, HHがサブバンドメモリ 704に格納され、その初 期係数 NLLが初期係数符号化部 705により符号化されて出力符号メモリ 709に格 納される。さらに、同一座標係数抽出部 706は、サブバンドメモリ 704から他のサブバ ンド係数 LH, HL, HHの同一座標の係数組を抽出し、 1あるいは 2以上の一定数の 係数組を高速レジスタ 707に格納する。レジスタ 707に格納された係数組が係数符 号化部 708により符号化され、出力符号メモリ 709に格納される。こうして出力符号メ モリ 709に格納された NLL符号および同一座標係数組の符号が符号出力部 710に より順次読み出され出力される。
[0256] 図 25は本発明の第 9実施例による復号装置の一例を示すブロック図である。ここで は上述した第 1実施例のハードウェア構成を例示する。上記符号化装置により送出 された符号列は符号入力装置 801により入力され、入力符号メモリ 802に格納される 。まず、初期係数復号部 803により初期係数 NLLが復号されサブバンドメモリ 804に 格納される。続いて、係数復号部 805は入力符号から 1あるいは 2以上の一定数のサ ブバンド係数組 nLH, nHL, nHHを順次復号し、レジスタ 806へ格納する。ウェーブ レット逆変換部 807はレジスタ 806から係数組を読み出してウェーブレット逆変換を 行レ、、その結果をサブバンドメモリ 804に格納する。出力画像の解像度レベルに到 達すると、それ以降画像出力部 808は画像データを出力する。
[0257] 以上説明したように、本発明による符号化/復号制御によって、汎用の CPUを用 レ、て高速符号ィ匕/復号処理を達成でき、かつ、中間メモリを低減することができる。
[0258] なお、以上説明した本発明の第 1一第 9実施例では、特に処理対象を画像データ としたが、本発明は画像データ以外の 2次元データにも適用可能であることは言うま でもない。
[0259] また、以上説明したような本発明を実現するための処理プログラムは磁気ディスクや CD-ROMなどの記録媒体に記憶させておくこともできる。その処理プログラムとそれ を格納した記録媒体とはいずれも本発明の範囲に含まれるものである。
産業上の利用可能性
[0260] 本発明による符号化/復号装置は、高精細画像を、表示デバイスの解像度や、閲 覧者の操作 ·要求に応じて漸次的に配信するといつた用途に適用できる。

Claims

請求の範囲
[1] 2次元信号を複数の周波数領域であるサブバンドに分割するウェーブレット変換手 段と、
同一階層のウェーブレット分解レベルに属する複数のサブバンドから、空間的に同 一位置に属する係数の組を一定数ずつ抽出する係数抽出手段と、
前記抽出された係数の組を符号化する係数符号化手段と
を有することを特徴とする符号化装置。
[2] 前記係数抽出手段は、前記 2次元信号のスキャンライン方向に係数の組を一定数 ずつ順次抽出することを特徴とする請求項 1に記載の符号化装置。
[3] 前記係数抽出手段は、係数の組を一組ずつ順次抽出することを特徴とする請求項
1に記載の符号化装置。
[4] 2次元信号から空間的に隣接した 2m X 2 (mは整数: m≥l)要素を順次抽出する 要素抽出手段と、
前記 2m X 2要素を複数のサブバンドの係数組に分割するウェーブレット変換手段 と、
前記係数組を符号化する係数符号化手段と、
符号化された係数組を低解像度側のサブバンドから順に並べ替えて出力する符号 出力手段と
を有することを特徴とする符号化装置。
[5] 前記各係数は複数の成分からなり、
前記係数符号化手段は、係数の成分毎に符号化し、各係数の下に各成分の符号 を連結して符号を生成することを特徴とする請求項 1に記載の符号化装置。
[6] 前記各係数は複数の成分からなり、
前記係数符号化手段は、係数の成分毎に符号化し、各係数の下に各成分の符号 を連結して符号を生成することを特徴とする請求項 4に記載の符号化装置。
[7] 前記各係数は複数の成分からなり、
前記係数符号化手段は、係数の成分毎に符号化し、各成分の下に各係数の符号 を連結して符号を生成することを特徴とする請求項 1に記載の符号化装置。
[8] 前記各係数は複数の成分からなり、
前記係数符号化手段は、係数の成分毎に符号化し、各成分の下に各係数の符号 を連結して符号を生成することを特徴とする請求項 4に記載の符号化装置。
[9] 前記 2次元信号の各空間座標における解像度を設定した係数間引きマップを生成 する係数間弓 Iきマップ生成手段をさらに有し、
前記係数抽出手段は、前記係数間引きマップを参照し、当該座標に設定された解 像度まで係数を間引いて抽出することを特徴とする請求項 1に記載の符号ィ匕装置。
[10] 前記 2次元信号の各空間座標における解像度を設定した係数間引きマップを生成 する係数間弓 Iきマップ生成手段をさらに有し、
前記要素抽出手段は、前記係数間引きマップを参照し、当該座標に設定された解 像度まで係数を間引いて抽出することを特徴とする請求項 4に記載の符号ィ匕装置。
[11] 前記係数間引きマップは、前記 2次元信号の写真領域と写真以外の領域とで解像 度が異なることを特徴とする請求項 9に記載の符号化装置。
[12] 前記係数間引きマップは、前記 2次元信号の写真領域と写真以外の領域とで解像 度が異なることを特徴とする請求項 10に記載の符号ィ匕装置。
[13] 前記係数間引きマップは、前記写真領域の解像度が前記写真以外の領域の解像 度より低く設定されることを特徴とする請求項 11に記載の符号化装置。
[14] 前記係数間引きマップは、前記写真領域の解像度が前記写真以外の領域の解像 度より低く設定されることを特徴とする請求項 12に記載の符号化装置。
[15] 前記係数間引きマップは、前記 2次元信号の隣接要素値の変位が比較的大きい領 域と比較的小さい領域とで解像度が異なることを特徴とする請求項 9に記載の符号 化装置。
[16] 前記係数間引きマップは、前記 2次元信号の隣接要素値の変位が比較的大きい領 域と比較的小さい領域とで解像度が異なることを特徴とする請求項 10に記載の符号 化装置。
[17] 前記係数間引きマップは、前記隣接要素値の変位が比較的小さい領域の解像度 が比較的大きい領域の解像度より低く設定されることを特徴とする請求項 16に記載 の符号化装置。
[18] 前記 2次元信号は複数の画面の系列からなり、前後する複数の画面から動領域を 検出する動領域検出手段をさらに有し、
前記係数間引きマップ生成手段は、前記動領域とこの動領域以外の領域とで解像 度が異なる係数間引きマップを生成することを特徴とする請求項 9に記載の符号ィ匕 装置。
[19] 前記 2次元信号は複数の画面の系列からなり、前後する複数の画面から動領域を 検出する動領域検出手段をさらに有し、
前記係数間引きマップ生成手段は、前記動領域とこの動領域以外の領域とで解像 度が異なる係数間引きマップを生成することを特徴とする請求項 10に記載の符号ィ匕 装置。
[20] 前記動領域検出手段は、前記前後する複数の画面において信号値が更新される 領域を動領域として検出し、
前記係数間引きマップ生成手段は、検出された動領域の解像度をこの動領域以外 の領域の解像度より低く設定することを特徴とする請求項 18に記載の符号化装置。
[21] 前記動領域検出手段は、前記前後する複数の画面において信号値が更新される 領域を動領域として検出し、
前記係数間引きマップ生成手段は、検出された動領域の解像度をこの動領域以外 の領域の解像度より低く設定することを特徴とする請求項 19に記載の符号化装置。
[22] 前記動領域検出手段は、前記前後する複数の画面から各部分領域において信号 値が変化する期間を求め、
前記係数間引きマップ生成手段は、前記変化期間に基づいて係数間引きマップの 解像度を設定することを特徴とする請求項 18に記載の符号化装置。
[23] 前記動領域検出手段は、前記前後する複数の画面から各部分領域において信号 値が変化する期間を求め、
前記係数間引きマップ生成手段は、前記変化期間に基づいて係数間引きマップの 解像度を設定することを特徴とする請求項 19に記載の符号化装置。
[24] 前記係数間引きマップ生成手段は、前記変化期間が長い領域内ほど解像度を低く 設定することを特徴とする請求項 22に記載の符号ィ匕装置。
[25] 前記係数間引きマップ生成手段は、前記変化期間が長い領域内ほど解像度を低く 設定することを特徴とする請求項 23に記載の符号ィヒ装置。
[26] 前記 2次元信号の各空間座標における量子化精度を示す係数量子化マップを生 成する係数量子化マップ生成手段と、
前記係数量子化マップを参照し、係数の空間座標に対応する量子化精度まで前 記係数を量子化する係数量子化手段とをさらに有し、
前記係数符号化手段は、前記量子化された係数の組を符号化することを特徴とす る請求項 1に記載の符号化装置。
[27] 前記 2次元信号の各空間座標に対応する量子化精度を示す係数量子化マップを 生成する係数量子化マップ生成手段と、
前記係数量子化マップを参照し、係数組の空間座標に対応する量子化精度まで 前記係数組を量子化する係数量子化手段とをさらに有し、
前記係数符号化手段は、前記量子化された係数組を符号化することを特徴とする 請求項 4に記載の符号化装置。
[28] 前記係数量子化マップは、前記 2次元信号の写真領域と写真以外の領域とで量子 化精度が異なることを特徴とする請求項 26に記載の符号ィヒ装置。
[29] 前記係数量子化マップは、前記 2次元信号の写真領域と写真以外の領域とで量子 化精度が異なることを特徴とする請求項 27に記載の符号ィヒ装置。
[30] 前記係数量子化マップは、前記写真領域の量子化精度が前記写真以外の領域の 量子化精度より低く設定されることを特徴とする請求項 28に記載の符号化装置。
[31] 前記係数量子化マップは、前記写真領域の量子化精度が前記写真以外の領域の 量子化精度より低く設定されることを特徴とする請求項 29に記載の符号化装置。
[32] 前記係数量子化マップは、前記 2次元信号の隣接要素値の変位が閾値より大きい 第 1の領域と前記閾値より小さい第 2の領域とで量子化精度が異なることを特徴とす る請求項 27に記載の符号化装置。
[33] 前記係数量子化マップは、前記第 2の領域の量子化精度が前記第 1の領域の量子 化精度より低く設定されることを特徴とする請求項 32に記載の符号化装置。
[34] 前記 2次元信号は複数の画面の系列からなり、前後する複数の画面から動領域を 検出する動領域検出手段をさらに有し、
前記係数量子化マップ生成手段は、前記動領域とこの動領域以外の領域とで量子 化精度が異なる係数量子化マップを生成することを特徴とする請求項 26に記載の符 号化装置。
[35] 前記 2次元信号は複数の画面の系列からなり、前後する複数の画面から動領域を 検出する動領域検出手段をさらに有し、
前記係数量子化マップ生成手段は、前記動領域とこの動領域以外の領域とで量子 化精度が異なる係数量子化マップを生成することを特徴とする請求項 27に記載の符 号化装置。
[36] 前記動領域検出手段は、前記前後する複数の画面において信号値が更新される 領域を動領域として検出し、
前記係数間引きマップ生成手段は、検出された動領域の量子化精度をこの動領域 以外の領域の量子化精度より低く設定することを特徴とする請求項 34に記載の符号 化装置。
[37] 前記動領域検出手段は、前記前後する複数の画面において信号値が更新される 領域を動領域として検出し、
前記係数間引きマップ生成手段は、検出された動領域の量子化精度をこの動領域 以外の領域の量子化精度より低く設定することを特徴とする請求項 35に記載の符号 化装置。
[38] 前記動領域検出手段は、前記前後する複数の画面から各部分領域において信号 値が変化する期間を求め、
前記係数量子化マップ生成手段は、前記変化期間に基づいて前記係数量子化マ ップの量子化精度を設定することを特徴とする請求項 34に記載の符号化装置。
[39] 前記動領域検出手段は、前記前後する複数の画面から各部分領域において信号 値が変化する期間を求め、
前記係数量子化マップ生成手段は、前記変化期間に基づいて前記係数量子化マ ップの量子化精度を設定することを特徴とする請求項 35に記載の符号化装置。
[40] 前記係数間引きマップ生成手段は、前記変化期間が長い領域内ほど量子化精度 を低く設定することを特徴とする請求項 38に記載の符号ィヒ装置。
[41] 前記係数間引きマップ生成手段は、前記変化期間が長い領域内ほど量子化精度 を低く設定することを特徴とする請求項 39に記載の符号ィヒ装置。
[42] 前記動領域検出手段は、前記前後する複数の画面の差分を取ることで動領域とし て検出することを特徴とする請求項 18に記載の符号化装置。
[43] 前記動領域検出手段は、前記前後する複数の画面の差分を取ることで動領域とし て検出することを特徴とする請求項 19に記載の符号化装置。
[44] 前記動領域検出手段は、前記前後する複数の画面の差分を取ることで動領域とし て検出することを特徴とする請求項 34に記載の符号化装置。
[45] 前記動領域検出手段は、前記前後する複数の画面の差分を取ることで動領域とし て検出することを特徴とする請求項 35に記載の符号化装置。
[46] 前記動領域検出手段は、前の画面の符号化対象領域と後の画面の符号化対象領 域との重複領域を動領域として検出することを特徴とする請求項 18に記載の符号化 装置。
[47] 前記動領域検出手段は、前の画面の符号化対象領域と後の画面の符号化対象領 域との重複領域を動領域として検出することを特徴とする請求項 19に記載の符号化 装置。
[48] 前記動領域検出手段は、前の画面の符号化対象領域と後の画面の符号化対象領 域との重複領域を動領域として検出することを特徴とする請求項 34に記載の符号化 装置。
[49] 前記動領域検出手段は、前の画面の符号化対象領域と後の画面の符号化対象領 域との重複領域を動領域として検出することを特徴とする請求項 35に記載の符号化 装置。
[50] ウェーブレット変換により得られた複数のサブバンドの係数を符号ィ匕した符号列を 入力し、最低周波数サブバンドに対応する符号列から前記最低周波数サブバンドの 係数を復号する初期係数復号手段と、
前記最低周波数サブバンド符号列に後続する符号列から同一階層のウェーブレツ ト分解レベルに属する複数のサブバンドで空間的に同一位置に属する係数の組を 一定数ずっ復号する係数復号手段と、
前記係数の組が復号されるごとにウェーブレット逆変換を行い、元の 2次元信号を 生成するウェーブレット逆変換手段と
を有することを特徴とする復号装置。
[51] 前記係数復号手段は、前記 2次元信号のスキャンライン方向に前記係数の組を一 定数ずつ順次復号することを特徴とする請求項 50に記載の復号装置。
[52] 前記係数復号手段は、前記係数の組を一組ずつ順次復号することを特徴とする請 求項 51に記載の復号装置。
[53] 前記各係数は複数の成分からなり、
前記係数復号手段は、係数の成分毎に復号し、各係数の下に各成分を連結するこ とを特徴とする請求項 52に記載の復号装置。
[54] 前記各係数は複数の成分からなり、
前記係数復号手段は、係数の成分毎に復号することを特徴とする請求項 52に記 載の復号装置。
[55] ウェーブレット変換により 2次元信号を複数の周波数領域であるサブバンドに分割 するステップと、
同一階層のウェーブレット分解レベルに属する複数のサブバンドから、空間的に同 一位置に属する係数の組を一定数ずつ抽出するステップと、
前記抽出された係数の組を符号ィヒするステップと
を有することを特徴とする符号化方法。
[56] 前記抽出するステップは、前記 2次元信号のスキャンライン方向に係数の組を一定 数ずつ順次抽出することを特徴とする請求項 55に記載の符号ィヒ方法。
[57] 前記抽出するステップは、係数の組を一組ずつ順次抽出することを特徴とする請求 項 55に記載の符号化方法。
[58] 2次元信号から空間的に隣接した 2m X 2 (mは整数: m≥l)要素を順次抽出する ステップと、
ウェーブレット変換により前記 2m X 2要素を複数のサブバンドの係数組に分割する ステップと、 前記係数組を符号化するステップと、
符号化された係数組を低解像度側のサブバンドから順に並べ替えて出力するステ ップと
を有することを特徴とする符号ィヒ方法。
[59] 前記 2次元信号の各空間座標における解像度を設定した係数間引きマップを生成 するステップをさらに有し、
前記抽出するステップは、前記係数間引きマップを参照し、当該座標に設定された 解像度まで前記空間的に同一位置に属する係数を間引いて抽出することを特徴と する請求項 55に記載の符号化方法。
[60] 前記 2次元信号の各空間座標における解像度を設定した係数間引きマップを生成 するステップをさらに有し、
前記抽出するステップは、前記係数間引きマップを参照し、当該座標に設定された 解像度まで前記 2m X 2要素の係数を間引いて抽出することを特徴とする請求項 58 に記載の符号化方法。
[61] 前記 2次元信号は複数の画面の系列からなり、前後する複数の画面から動領域を 検出するステップをさらに有し、
前記係数間引きマップを生成するステップは、前記動領域とこの動領域以外の領 域とで解像度が異なる係数間引きマップを生成することを特徴とする請求項 59に記 載の符号化方法。
[62] 前記 2次元信号は複数の画面の系列からなり、前後する複数の画面から動領域を 検出するステップをさらに有し、
前記係数間引きマップを生成するステップは、前記動領域とこの動領域以外の領 域とで解像度が異なる係数間引きマップを生成することを特徴とする請求項 60に記 載の符号化方法。
[63] 前記 2次元信号の各空間座標における量子化精度を示す係数量子化マップを生 成するステップと、
前記係数量子化マップを参照し、空間的に同一位置に属する係数の空間座標に 対応する量子化精度まで前記係数を量子化するステップとをさらに有し、 前記符号化するステップは、前記量子化された係数の組を符号化することを特徴と する請求項 55に記載の符号化方法。
[64] 前記 2次元信号の各空間座標における量子化精度を設定した係数量子化マップを 生成するステップと、
前記係数量子化マップを参照し、前記 2m X 2要素の係数の空間座標に対応する 量子化精度まで前記係数を量子化するステップとをさらに有し、
前記符号化するステップは、前記量子化された係数組を符号化することを特徴とす る請求項 58に記載の符号化方法。
[65] 前記 2次元信号は複数の画面の系列からなり、前後する複数の画面から動領域を 検出するステップをさらに有し、
前記係数量子化マップを生成するステップは、前記動領域とこの動領域以外の領 域とで量子化精度が異なる係数量子化マップを生成することを特徴とする請求項 63 に記載の符号化方法。
[66] 前記 2次元信号は複数の画面の系列からなり、前後する複数の画面から動領域を 検出するステップをさらに有し、
前記係数量子化マップを生成するステップは、前記動領域とこの動領域以外の領 域とで量子化精度が異なる係数量子化マップを生成することを特徴とする請求項 64 に記載の符号化方法。
[67] 前記係数量子化マップを生成するステップは、サブバンドの係数の組を符号化する ステップの前に実行されることを特徴とする請求項 65に記載の符号ィヒ方法。
[68] 前記係数量子化マップを生成するステップは、サブバンドの係数の組を符号化する ステップの前に実行されることを特徴とする請求項 66に記載の符号ィヒ方法。
[69] 前記係数量子化マップを生成するステップは、サブバンドの係数の組を符号化する すべてのステップの前に実行されることを特徴とする請求項 67に記載の符号化方法
[70] 前記係数量子化マップを生成するステップは、サブバンドの係数の組を符号化する すべてのステップの前に実行されることを特徴とする請求項 68に記載の符号化方法
[71] ウェーブレット変換により得られた複数のサブバンドの係数を符号ィ匕した符号列を 入力するステップと、
最低周波数サブバンドに対応する符号列から前記最低周波数サブバンドの係数を 復号するステップと、
前記最低周波数サブバンド符号列に後続する符号列から同一階層のウェーブレツ ト分解レベルに属する複数のサブバンドで空間的に同一位置に属する係数の組を 一定数ずっ復号するステップと、
前記係数の組が復号されるごとにウェーブレット逆変換を行レ、、元の 2次元信号を 生成するステップと
を有することを特徴とする復号方法。
[72] 前記復号するステップは、前記 2次元信号のスキャンライン方向に前記係数の組を 一定数ずつ順次復号することを特徴とする請求項 71に記載の復号方法。
[73] 前記復号するステップは、前記係数の組を一組ずつ順次復号することを特徴とする 請求項 72に記載の復号方法。
[74] ウェーブレット変換により 2次元信号を複数の周波数領域であるサブバンドに分割 するステップと、
同一階層のウェーブレット分解レベルに属する複数のサブバンドから、空間的に同 一位置に属する係数の組を一定数ずつ抽出するステップと、
前記抽出された係数の組を符号ィヒするステップと
をコンピュータに実行させることを特徴とする符号ィ匕プログラム。
[75] 2次元信号から空間的に隣接した 2m X 2 (mは整数: m≥l)要素を順次抽出する ステップと、
ウェーブレット変換により前記 2m X 2要素を複数のサブバンドの係数組に分割する ステップと、
前記係数組を符号化するステップと、
符号化された係数組を低解像度側のサブバンドから順に並べ替えて出力するステ ップと
をコンピュータに実行させることを特徴とする符号ィ匕プログラム。
[76] 前記 2次元信号の各空間座標における解像度を設定した係数間引きマップを生成 するステップと、
前記係数間引きマップを参照し、当該座標に設定された解像度まで前記空間的に 同一位置に属する係数を間引いて抽出するステップと
をコンピュータに実行させることを特徴とする請求項 74に記載の符号ィ匕プログラム。
[77] 前記 2次元信号の各空間座標における解像度を設定した係数間引きマップを生成 するステップと、
前記係数間引きマップを参照し、当該座標に設定された解像度まで前記 2m X 2要 素の係数を間引いて抽出するステップと
をコンピュータに実行させることを特徴とする請求項 75に記載の符号ィ匕プログラム。
[78] 前記 2次元信号は複数の画面の系列からなり、前後する複数の画面から動領域を 検出するステップと、
前記動領域とこの動領域以外の領域とで解像度が異なる係数間引きマップを生成 するステップと
をコンピュータに実行させることを特徴とする請求項 76に記載の符号ィ匕プログラム。
[79] 前記 2次元信号は複数の画面の系列からなり、前後する複数の画面から動領域を 検出するステップと、
前記動領域とこの動領域以外の領域とで解像度が異なる係数間引きマップを生成 するステップと
をコンピュータに実行させることを特徴とする請求項 77に記載の符号ィ匕プログラム。
[80] 前記 2次元信号の各空間座標における係数の量子化精度を設定した係数量子化 マップを生成するステップと、
前記係数量子化マップを参照し、当該座標に設定された量子化精度で前記空間 的に同一位置に属する係数を量子化して符号化するステップと
をコンピュータに実行させることを特徴とする請求項 74に記載の符号ィ匕プログラム。
[81] 前記 2次元信号の各空間座標における係数の量子化精度を設定した係数量子化 マップを生成するステップと、
前記係数量子化マップを参照し、当該座標に設定された量子化精度で前記空間 的に同一位置に属する係数を量子化して符号化するステップと
をコンピュータに実行させることを特徴とする請求項 75に記載の符号ィ匕プログラム。
[82] 前記 2次元信号は複数の画面の系列からなり、前後する複数の画面から動領域を 検出するステップと、
前記動領域とこの動領域以外の領域とで量子化精度が異なる係数量子化マップを 生成するステップと
をコンピュータに実行させることを特徴とする請求項 80に記載の符号ィ匕プログラム。
[83] 前記 2次元信号は複数の画面の系列からなり、前後する複数の画面から動領域を 検出するステップと、
前記動領域とこの動領域以外の領域とで量子化精度が異なる係数量子化マップを 生成するステップと
をコンピュータに実行させることを特徴とする請求項 81に記載の符号ィ匕プログラム。
[84] ウェーブレット変換により得られた複数のサブバンドの係数を符号ィ匕した符号列を 入力するステップと、
最低周波数サブバンドに対応する符号列から前記最低周波数サブバンドの係数を 復号するステップと、
前記最低周波数サブバンド符号列に後続する符号列から同一階層のウェーブレツ ト分解レベルに属する複数のサブバンドで空間的に同一位置に属する係数の組を 一定数ずっ復号するステップと、
前記係数の組が復号されるごとにウェーブレット逆変換を行い、元の 2次元信号を 生成するステップと
をコンピュータに実行させることを特徴とする復号プログラム。
[85] 画像入力手段と、
符号化された画像信号を送受信するための通信手段と、
前記画像入力手段により入力された送信すべき画像信号を複数の周波数領域で あるサブバンドに分割するウェーブレット変換手段と、
同一階層のウェーブレット分解レベルに属する複数のサブバンドから、空間的に同 一位置に属する係数の組を一定数ずつ抽出する係数抽出手段と、 前記抽出された係数の組を符号化して前記通信手段へ出力する係数符号化手段 と、
受信した画像信号の最低周波数サブバンドに対応する符号列から前記最低周波 数サブバンドの係数を復号する初期係数復号手段と、
前記最低周波数サブバンド符号列に後続する符号列から同一階層のウェーブレツ ト分解レベルに属する複数のサブバンドで空間的に同一位置に属する係数の組を 一定数ずっ復号する係数復号手段と、
前記係数の組が復号されるごとにウェーブレット逆変換を行うことで受信画像信号 を生成するウェーブレット逆変換手段と、
前記受信画像信号に基づいて受信画像を表示する画像表示手段と
を有することを特徴とする通信端末。
PCT/JP2004/019604 2004-02-23 2004-12-28 2次元信号の符号化/復号方法および装置 WO2005081539A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2006510166A JP4665898B2 (ja) 2004-02-23 2004-12-28 2次元信号の符号化/復号方法および装置
EP04807959A EP1722572B1 (en) 2004-02-23 2004-12-28 2-dimensional signal encoding/decoding method and device
US10/590,245 US8031951B2 (en) 2004-02-23 2004-12-28 2-dimensional signal encoding/decoding method and device
CN2004800428269A CN1943243B (zh) 2004-02-23 2004-12-28 二维信号编码/解码方法和设备
US13/226,116 US8265402B2 (en) 2004-02-23 2011-09-06 2 dimensional signal encoding/decoding method and device

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2004-045659 2004-02-23
JP2004045659 2004-02-23
JP2004-324875 2004-11-09
JP2004324875 2004-11-09

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US10/590,245 A-371-Of-International US8031951B2 (en) 2004-02-23 2004-12-28 2-dimensional signal encoding/decoding method and device
US13/226,116 Division US8265402B2 (en) 2004-02-23 2011-09-06 2 dimensional signal encoding/decoding method and device

Publications (1)

Publication Number Publication Date
WO2005081539A1 true WO2005081539A1 (ja) 2005-09-01

Family

ID=34889354

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2004/019604 WO2005081539A1 (ja) 2004-02-23 2004-12-28 2次元信号の符号化/復号方法および装置

Country Status (5)

Country Link
US (2) US8031951B2 (ja)
EP (1) EP1722572B1 (ja)
JP (1) JP4665898B2 (ja)
CN (1) CN1943243B (ja)
WO (1) WO2005081539A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008288841A (ja) * 2007-05-17 2008-11-27 Sony Corp 符号化装置および方法
WO2011013192A1 (ja) * 2009-07-27 2011-02-03 株式会社東芝 画像符号化方法および画像復号方法
US8218645B2 (en) 2009-07-17 2012-07-10 Nec Corporation Method and apparatus for encoding and decoding by wavelet transform
US8395634B2 (en) 2007-05-17 2013-03-12 Sony Corporation Method and apparatus for processing information
EP2942935A1 (en) * 2006-07-13 2015-11-11 NEC Corporation Wavelet-based image encoding and decoding device and encoding method and decoding method

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9521431B2 (en) * 2007-01-03 2016-12-13 Numeri Ltd. Method and a system for wavelet based processing
US8619874B2 (en) * 2007-04-13 2013-12-31 Apple Inc. Method and system for video encoding and decoding
US8582656B2 (en) * 2007-04-13 2013-11-12 Apple Inc. Method and system for video encoding and decoding
CN101543038B (zh) * 2007-05-17 2013-01-02 索尼株式会社 信息处理装置和方法
JP5005482B2 (ja) * 2007-09-26 2012-08-22 株式会社日立国際電気 パターン検索方法及び装置
JP5092722B2 (ja) * 2007-12-07 2012-12-05 ソニー株式会社 画像処理装置、画像処理方法およびプログラム
US8768064B2 (en) * 2008-09-01 2014-07-01 Nec Corporation Image feature extraction device
US8755515B1 (en) * 2008-09-29 2014-06-17 Wai Wu Parallel signal processing system and method
JP5263621B2 (ja) * 2009-09-24 2013-08-14 ソニー株式会社 画像処理装置および方法
JP2011180792A (ja) * 2010-03-01 2011-09-15 Sony Corp 画像処理装置及び画像処理方法、並びにコンピューター・プログラム
JP6160615B2 (ja) * 2012-07-19 2017-07-12 日本電気株式会社 ウェーブレット変換符号化/復号方法および装置
CN103310411B (zh) * 2012-09-25 2017-04-12 中兴通讯股份有限公司 一种图像局部增强方法和装置
FR2996033B1 (fr) * 2012-09-26 2015-10-30 Commissariat Energie Atomique Dispositif de decomposition d'images par transformee en ondelettes
CN103152573A (zh) * 2013-03-15 2013-06-12 惠州Tcl移动通信有限公司 一种移动终端与智能电视间图像帧传输的方法及系统
JP2014203178A (ja) * 2013-04-02 2014-10-27 株式会社東芝 コンテンツ配信システムおよびコンテンツ配信方法
CN103400128B (zh) * 2013-08-09 2016-12-28 深圳市捷顺科技实业股份有限公司 一种图像处理方法及装置
US9049432B1 (en) * 2014-07-04 2015-06-02 Primacomp, Inc. Motion differential set partition coding for color image sequence compression
US10547825B2 (en) * 2014-09-22 2020-01-28 Samsung Electronics Company, Ltd. Transmission of three-dimensional video
US10003822B2 (en) 2016-02-10 2018-06-19 Primacomp, Inc. Error-resilient coder of image sequences and video
EP3291452B1 (en) * 2016-08-30 2020-03-25 Alcatel Lucent Encoding and decoding of vectoring coefficients with differential encoding size
CA3048419C (en) * 2018-02-27 2020-10-20 Zetane Systems Inc. Scalable transform processing unit for heterogeneous data
US11044474B2 (en) * 2019-02-18 2021-06-22 Glenfly Technology Co., Ltd. Image compression method and image processing system

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0316490A (ja) * 1989-06-14 1991-01-24 Matsushita Electric Ind Co Ltd 動画像符号化装置
JPH09148938A (ja) * 1995-11-21 1997-06-06 Seiko Epson Corp データ圧縮・伸長方法及びその装置
JPH1169164A (ja) * 1997-08-21 1999-03-09 Toshiba Corp 画像符号化方法および画像符号化装置および画像復号化装置および画像形成装置
JPH11317950A (ja) * 1998-04-30 1999-11-16 Sony Corp データ符号化装置、データ符号化方法及びデータ伝送方法
JP2000004364A (ja) * 1998-06-15 2000-01-07 Ricoh Co Ltd 符号化/復号化装置
JP2000316174A (ja) * 1999-04-30 2000-11-14 Ricoh Co Ltd カラー画像圧縮方法およびカラー画像圧縮装置
JP2001025018A (ja) * 1999-07-06 2001-01-26 Ricoh Co Ltd ウェーブレット変換装置、符号化復号化装置、ウェーブレット変換処理方法、及び、記録媒体
JP2001352543A (ja) * 2000-06-07 2001-12-21 Canon Inc 画像符号化システム及び画像符号化装置及び方法及び記憶媒体
JP2002016808A (ja) * 1999-05-10 2002-01-18 Ricoh Co Ltd 符号化装置、復号化装置、符号化方法、復号化方法、およびその方法を実行するためのコンピュータが読取可能な記録媒体
JP2002232721A (ja) * 2001-01-31 2002-08-16 Canon Inc 画像符号化装置及びその方法並びに記憶媒体
JP2003204439A (ja) * 2002-01-08 2003-07-18 Canon Inc 画像符号化装置及び画像符号化方法
JP2003274190A (ja) * 2002-03-12 2003-09-26 Canon Inc 静止画像符号化方式
JP2003274185A (ja) * 2002-03-19 2003-09-26 Sanyo Electric Co Ltd 画像処理方法とその方法を利用可能な画像符号化装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5861921A (en) * 1993-03-29 1999-01-19 Canon Kabushiki Kaisha Controlling quantization parameters based on code amount
JPH11298897A (ja) 1998-04-14 1999-10-29 Sumitomo Electric Ind Ltd 画像データ伝送方法および画像データ伝送装置
US6763139B1 (en) * 1998-07-03 2004-07-13 Canon Kabushiki Kaisha Image coding method and apparatus for localized decoding at multiple resolutions
US6778709B1 (en) * 1999-03-12 2004-08-17 Hewlett-Packard Development Company, L.P. Embedded block coding with optimized truncation
US6477280B1 (en) * 1999-03-26 2002-11-05 Microsoft Corporation Lossless adaptive encoding of finite alphabet data
JP2000316152A (ja) 1999-05-06 2000-11-14 Ricoh Co Ltd 符号化方法、復号方法、符号化装置及び復号装置
US6788811B1 (en) * 1999-05-10 2004-09-07 Ricoh Company, Ltd. Coding apparatus, decoding apparatus, coding method, decoding method, amd computer-readable recording medium for executing the methods
US6535644B1 (en) 1999-07-01 2003-03-18 Koninklijke Philips Electronics N.V. Hierarchical foveation based on wavelets
AUPQ156199A0 (en) * 1999-07-12 1999-08-05 Canon Kabushiki Kaisha Method and apparatus for re-ordering of a bit stream
US7065253B2 (en) * 1999-09-03 2006-06-20 Intel Corporation Wavelet zerotree coding of ordered bits
US7421136B2 (en) * 1999-11-24 2008-09-02 Ge Medical Systems Information Technologies Inc. Image tessellation for region-specific coefficient access
US6549674B1 (en) * 2000-10-12 2003-04-15 Picsurf, Inc. Image compression based on tiled wavelet-like transform using edge and non-edge filters
EP1297709A1 (en) * 2000-06-14 2003-04-02 Koninklijke Philips Electronics N.V. Color video encoding and decoding method
US20030067476A1 (en) * 2001-10-04 2003-04-10 Eastman Kodak Company Method and system for displaying an image
JP3922919B2 (ja) * 2001-12-11 2007-05-30 株式会社リコー 静止画像伸長装置及び静止画像伸長方法
EP1349393A1 (en) 2002-03-15 2003-10-01 Ricoh Company Image compression device, image decompression device, image compression/decompression device, program for executing on a computer to perform functions of such devices, and recording medium storing such a program
JP2004254298A (ja) * 2003-01-30 2004-09-09 Ricoh Co Ltd 画像処理装置、プログラム及び記憶媒体

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0316490A (ja) * 1989-06-14 1991-01-24 Matsushita Electric Ind Co Ltd 動画像符号化装置
JPH09148938A (ja) * 1995-11-21 1997-06-06 Seiko Epson Corp データ圧縮・伸長方法及びその装置
JPH1169164A (ja) * 1997-08-21 1999-03-09 Toshiba Corp 画像符号化方法および画像符号化装置および画像復号化装置および画像形成装置
JPH11317950A (ja) * 1998-04-30 1999-11-16 Sony Corp データ符号化装置、データ符号化方法及びデータ伝送方法
JP2000004364A (ja) * 1998-06-15 2000-01-07 Ricoh Co Ltd 符号化/復号化装置
JP2000316174A (ja) * 1999-04-30 2000-11-14 Ricoh Co Ltd カラー画像圧縮方法およびカラー画像圧縮装置
JP2002016808A (ja) * 1999-05-10 2002-01-18 Ricoh Co Ltd 符号化装置、復号化装置、符号化方法、復号化方法、およびその方法を実行するためのコンピュータが読取可能な記録媒体
JP2001025018A (ja) * 1999-07-06 2001-01-26 Ricoh Co Ltd ウェーブレット変換装置、符号化復号化装置、ウェーブレット変換処理方法、及び、記録媒体
JP2001352543A (ja) * 2000-06-07 2001-12-21 Canon Inc 画像符号化システム及び画像符号化装置及び方法及び記憶媒体
JP2002232721A (ja) * 2001-01-31 2002-08-16 Canon Inc 画像符号化装置及びその方法並びに記憶媒体
JP2003204439A (ja) * 2002-01-08 2003-07-18 Canon Inc 画像符号化装置及び画像符号化方法
JP2003274190A (ja) * 2002-03-12 2003-09-26 Canon Inc 静止画像符号化方式
JP2003274185A (ja) * 2002-03-19 2003-09-26 Sanyo Electric Co Ltd 画像処理方法とその方法を利用可能な画像符号化装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
MATSUMARA S. ET AL: "Wavelet Henkan GAzo no Sub-band Kaiso. Denryoku Class-betsu Vector Ryoshikaho.", 1995 NEN GAZO FUGOKA SYMPOSIUM (PCSJ95), vol. 10, 1995, pages 121 - 122, XP002991272 *
MATSUMURA S. ET AL: "Wavelet Henkan Gazo no Denryoku Tekio Vector Ryoshikaho.", THE TRANSACTIONS OF THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS., vol. 80-D-II, no. 1, 1997, pages 139 - 147, XP002991273 *
OHIRA H. ET AL: "Gauss Konsei Model niyoru Gazo no Risan Wavelet Entropy Fugaka.", ITE TECHNICAL REPORT., vol. 22, no. 71, 17 December 1998 (1998-12-17), pages 37 - 42, XP002991275 *
TOSAKA H. ET AL: "Wavelet Henkan niyoru Koseisai Seishi Gazo Asshuku no Kento.", THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS GIJUTSU KENKYU HOKOKU, DSP-96, SST96-41, CS96-59., vol. 96, no. 187, 26 July 1996 (1996-07-26), pages 31 - 36, XP002991274 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2942935A1 (en) * 2006-07-13 2015-11-11 NEC Corporation Wavelet-based image encoding and decoding device and encoding method and decoding method
JP2008288841A (ja) * 2007-05-17 2008-11-27 Sony Corp 符号化装置および方法
JP4525704B2 (ja) * 2007-05-17 2010-08-18 ソニー株式会社 符号化装置および方法、記録媒体、並びにプログラム。
US8395634B2 (en) 2007-05-17 2013-03-12 Sony Corporation Method and apparatus for processing information
US8594427B2 (en) 2007-05-17 2013-11-26 Sony Corporation Method and apparatus for reducing memory capacity in encoding image data
US8218645B2 (en) 2009-07-17 2012-07-10 Nec Corporation Method and apparatus for encoding and decoding by wavelet transform
WO2011013192A1 (ja) * 2009-07-27 2011-02-03 株式会社東芝 画像符号化方法および画像復号方法
JP5492206B2 (ja) * 2009-07-27 2014-05-14 株式会社東芝 画像符号化方法および画像復号方法、ならびに、画像符号化装置および画像復号装置

Also Published As

Publication number Publication date
CN1943243A (zh) 2007-04-04
JPWO2005081539A1 (ja) 2008-04-24
US8031951B2 (en) 2011-10-04
EP1722572A4 (en) 2010-04-28
JP4665898B2 (ja) 2011-04-06
EP1722572B1 (en) 2013-02-20
CN1943243B (zh) 2013-06-05
US20110317929A1 (en) 2011-12-29
US8265402B2 (en) 2012-09-11
US20070165959A1 (en) 2007-07-19
EP1722572A1 (en) 2006-11-15

Similar Documents

Publication Publication Date Title
JP4665898B2 (ja) 2次元信号の符号化/復号方法および装置
US9635262B2 (en) Motion estimation and detection in a camera system accelerator architecture
US6873343B2 (en) Scalable graphics image drawings on multiresolution image with/without image data re-usage
JP4254017B2 (ja) 画像符号化装置及び方法
US20020021758A1 (en) System and method for efficient transmission and display of image details by re-usage of compressed data
US7907785B2 (en) Image processing apparatus and image processing method
US20030123744A1 (en) Multi-resolution image data management system and method based on tiled wavelet-like transform and sparse data coding
EP1349393A1 (en) Image compression device, image decompression device, image compression/decompression device, program for executing on a computer to perform functions of such devices, and recording medium storing such a program
US6978048B1 (en) Encoding method and apparatus
JP4780172B2 (ja) 情報処理装置および方法
JP2008533787A (ja) 圧縮済領域における静止画像を処理するための方法、コンピュータプログラムプロダクト、および装置
US20210076066A1 (en) Electronic apparatus and controlling method thereof
US7542611B2 (en) Image processing apparatus and method for converting first code data sets into second code data for JPEG 2000 and motion JPEG 2000
WO2001069585A1 (en) System and method for efficient transmission and display of image details by re-usage of compressed data
KR100529540B1 (ko) 웨이블릿 변환을 이용한 영상압축방법
US11259051B2 (en) Pyramid algorithm for video compression and video analysis
US20030039400A1 (en) Hardware context vector generator for JPEG2000 block-coding
EP1523170A1 (en) Image conversion device, image conversion method, and recording medium
JPH09327018A (ja) 画像符号化装置及び画像復号化装置
EP2787737A1 (en) Hierarchical image and video codec
JP3990949B2 (ja) 画像符号化装置及び画像符号化方法
JP2000350038A (ja) 画像データを変換する装置
US20110091119A1 (en) Coding apparatus and coding method
JP2004214982A (ja) 画像処理方法
JP2003234905A (ja) 固定長画像符号化装置及び固定長画像復号化装置

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

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

AL Designated countries for regional patents

Kind code of ref document: A1

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

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2006510166

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2004807959

Country of ref document: EP

Ref document number: 2007165959

Country of ref document: US

Ref document number: 10590245

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 200480042826.9

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 2004807959

Country of ref document: EP

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
WWP Wipo information: published in national office

Ref document number: 10590245

Country of ref document: US