WO2007058294A1 - 符号化装置および方法、復号装置および方法、並びに、伝送システム - Google Patents

符号化装置および方法、復号装置および方法、並びに、伝送システム Download PDF

Info

Publication number
WO2007058294A1
WO2007058294A1 PCT/JP2006/322949 JP2006322949W WO2007058294A1 WO 2007058294 A1 WO2007058294 A1 WO 2007058294A1 JP 2006322949 W JP2006322949 W JP 2006322949W WO 2007058294 A1 WO2007058294 A1 WO 2007058294A1
Authority
WO
WIPO (PCT)
Prior art keywords
coefficient
unit
data
code
entropy
Prior art date
Application number
PCT/JP2006/322949
Other languages
English (en)
French (fr)
Other versions
WO2007058294B1 (ja
Inventor
Takahiro Fukuhara
Kazuhisa Hosaka
Katsutoshi Ando
Original Assignee
Sony 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 Sony Corporation filed Critical Sony Corporation
Priority to JP2007545308A priority Critical patent/JP4900720B2/ja
Priority to CN200680005866.5A priority patent/CN101129063B/zh
Priority to BRPI0606733-6A priority patent/BRPI0606733A2/pt
Priority to EP06832828A priority patent/EP1838081A4/en
Priority to US11/814,257 priority patent/US8320693B2/en
Priority to KR1020077016423A priority patent/KR101377021B1/ko
Publication of WO2007058294A1 publication Critical patent/WO2007058294A1/ja
Publication of WO2007058294B1 publication Critical patent/WO2007058294B1/ja

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/436Methods 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 using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • 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/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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/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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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
    • H04N19/647Methods 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 using significance based coding, e.g. Embedded Zerotrees of Wavelets [EZW] or Set Partitioning in Hierarchical Trees [SPIHT]

Definitions

  • Encoding apparatus and method decoding apparatus and method, and transmission system
  • the present invention relates to an encoding device and method, a decoding device and method, and a transmission system.
  • image data sent after being compressed and encoded can be output as a decoded image in a shorter time on the receiving side.
  • the present invention relates to an encoding device and method, a decoding device and method, and a transmission system.
  • JPEG Joint Photographic Experts Group
  • ISOdnternational Organization for Standardization a technique called JPEG (Joint Photographic Experts Group) standardized by ISOdnternational Organization for Standardization
  • DCT Discrete Cosine Transform
  • JPEG2000 whose international standardization was completed in January 2001, used a compression coding method that combined bit modeling in bit plane units with high-efficiency entropy coding using arithmetic codes. Adopt. According to the JPEG2000 system, a significant improvement in code efficiency is realized over the conventional JPEG system.
  • Patent Document 1 describes a wavelet transform method that further improves code efficiency.
  • Patent Document 1 Japanese Patent Application Laid-Open No. 9-130800 In such an international standard, only the standard on the decoder side is defined, and the encoder side can be designed freely. Disclosure of the invention
  • the output of the encoded code stream which is the result of compression encoding, is encoded for one frame, or for all images for one field in the case of interlaced images. After that, there was a problem when it was necessary to do it.
  • an object of the present invention is to provide a coding apparatus and method capable of performing compression encoding and decoding of image data and outputting decoded image data with a lower delay.
  • a decoding device and method, and a transmission system are provided.
  • An encoding device is an encoding device that encodes image data.
  • the image data is hierarchically filtered and decomposed for each frequency band.
  • Filter means for generating a plurality of subbands comprising the coefficient data
  • storage means for storing the coefficient data generated by the filter means in an accumulated manner, and the coefficient data stored by the storage means in a predetermined order
  • a coefficient rearranging means for rearranging so that it is output at.
  • the filter means may perform the filtering process in units of lines from the upper end side to the lower end side of the screen. [0013] The filter means performs a filtering process on the image data for each line block that is image data for the number of lines necessary to generate at least one line of coefficient data for the subband of the lowest frequency component. It can be performed.
  • the filter means may perform the filtering process both in a vertical direction and a horizontal direction of a screen corresponding to the image data.
  • At least one of the number of taps and the number of decomposition levels of the filter processing by the filter means may be determined according to a target delay time.
  • the filter means may perform wavelet filter processing for further performing the filter processing on the low-band component subband coefficient data obtained by the filtering processing.
  • the filter means may perform the wavelet filter processing using a lifting technique.
  • the storage means includes first buffer means for holding low-band component subband coefficient data generated in the course of the wavelet filter processing by the filter means, and the wavelet filter processing by the filter means.
  • the apparatus may further comprise a second notifier means for holding coefficient data of high-frequency component subbands generated in the process.
  • the second buffer means holds coefficient data of subbands of components in bands other than the lowest band until coefficient data of subbands of the lowest band component is generated by the filter means. Can do.
  • the coefficient rearranging means can rearrange the coefficient data so as to output the subbands in the order of low frequency components to high frequency components.
  • the coefficient rearranging means is provided for each line block that is image data for the number of lines necessary to generate at least one line of coefficient data for the subband of the lowest frequency component for the image data. Sorting can be performed. [0023] An entropy coding means for entropy coding the coefficient data may be further provided.
  • the entropy encoding means can sequentially entropy code the coefficient data rearranged by the coefficient rearranging means.
  • the coefficient rearranging means rearranges the coefficient data so that the subbands are output in the order of low-frequency components to high-frequency components, and the entropy encoding means uses the coefficient rearranging means. As soon as the coefficient data is rearranged, the rearranged coefficient data can be entropy-coded in the order of low-frequency component power and high-frequency component.
  • the entropy encoding unit performs entropy encoding on the coefficient data generated by the filter unit, and the storage unit stores the coefficient data entropy encoded by the entropy encoding unit. Can be stored.
  • the storage means is generated as subbands of band components other than the lowest band component until coefficient data of the subband of the lowest band component is entropy coded by the entropy coding means, and the entropy code
  • the coefficient data entropy-encoded by the converting means can be stored.
  • the coefficient rearranging means stores the entropy-encoded coefficient stored by the storage means so as to output the subbands in order from a low-frequency component to a high-frequency component.
  • the rearranged coefficient data can be output in the order of the low frequency component to the high frequency component.
  • the entropy encoding means can entropy code the data of a plurality of lines within the same subband together.
  • the entropy coding means includes a line block which is a coefficient data group corresponding to image data for the number of lines necessary to generate coefficient data for at least one line of the subband of the lowest frequency component. It is possible to perform sign coding on a coefficient data sequence in which all subband lines constituting the same are arranged in a one-dimensional direction from low to high.
  • the entropy encoding means includes a quantization means for quantizing the coefficient data generated by the filter means, and the coefficient data is quantized by the quantization means.
  • An information source encoding unit that encodes the coefficient of the obtained quantization result as an information source can be provided.
  • Coefficient data for each line block which is a set of coefficient data corresponding to image data for the number of lines necessary to generate coefficient data for one line of at least the subband of the lowest band component, is the entropy.
  • the low-frequency component force by the encoding means means a packet header that adds a predetermined header to the data of the encoding result obtained by entropy encoding in the order of the high-frequency component, and packetizes the header and the data body.
  • a sending means for sending the packet generated by the packetizing means.
  • the entropy coding means, the packetizing means, and the sending means perform each process simultaneously and in parallel.
  • the entropy encoding unit performs the entropy encoding of the coefficient data in units of the line block, and the packetizing unit includes the entropy encoding unit.
  • the encoding result data for each line block is packetized as soon as the encoding result data for each line block is generated by the entropy code ⁇ by the encoding means, and the sending means transmits the packet.
  • the encoding unit can send out the obtained packet as soon as the data of the result of encoding for each line block is packetized.
  • identification information for identifying the line block in the screen may be recorded.
  • the entropy encoding means includes a quantization means for quantizing the coefficient data generated by the filter means, and a coefficient of a quantization result obtained by quantizing the coefficient data by the quantization means And an information source code key means for receiving the information source code, and the encoded information can be written so as to include information on a quantization step size of quantization by the quantization means.
  • the information on the quantum step size may include information on the quantum step size for every subband.
  • the encoding method according to the first aspect of the present invention is an encoding method for an encoding apparatus that encodes image data, and performs hierarchical filtering on the image data.
  • a filter step for generating a plurality of subbands having coefficient data power decomposed for each frequency band, and storing the coefficient data generated by the processing of the filter step in a storage unit
  • a storage control step for storing the data
  • a coefficient rearrangement step for rearranging the coefficient data controlled by the processing of the storage control step and outputting the coefficient data stored in the storage unit in a predetermined order.
  • a decoding device is a decoding device that decodes code data in which image data is encoded, and is hierarchical to the image data supplied in units of lines. And storing means for storing coefficient data of a plurality of subbands which are first filtered and decomposed for each frequency band, and stored by the storage means! Coefficient reordering means for reordering the coefficient data to be output in a predetermined order; and a second reordering means for the coefficient data reordered by the reordering means and output from the storage means. Filter means for performing filter processing and generating the image data by synthesizing coefficient data of a plurality of subbands decomposed into frequency bands.
  • the coefficient rearranging means can rearrange the coefficient data so that the low band component power and the high band component of the subband are output in order.
  • the coefficient rearranging means has at least the number of lines necessary to generate coefficient data for one line of the subband of the lowest frequency component for the coefficient data stored in the storage means. Rearrangement can be performed for each line block, which is a set of coefficient data corresponding to image data.
  • the filter means can generate the image data by performing the second filter processing in line units from the upper end side to the lower end side of the screen.
  • the filter means includes, for the coefficient data, the coefficient data corresponding to the image data corresponding to the number of lines necessary to generate at least one line of coefficient data of the subband of the lowest frequency component.
  • the second filtering process can be performed for each line block that is a set.
  • the filter means may perform the second filter processing using a lifting technique.
  • the method further comprises entropy decoding means for entropy decoding the code key data for each subband in units of lines, and the storage means can store coefficient data obtained by entropy decoding by the entropy decoding means.
  • the entropy decoding means constitutes a line block that is a coefficient data group corresponding to image data for the number of lines necessary to generate coefficient data for at least one line of the subband of the lowest band component. It is possible to decode the encoded data in which all subband lines are encoded and arranged in one dimension.
  • the entropy decoding unit includes an information source decoding unit that performs information source decoding on the encoded data, and an inverse quantum that inversely quantizes coefficient data obtained as a result of the information source decoding by the information source decoding unit. Means.
  • a decoding method is a decoding method of a decoding device that decodes encoded data obtained by encoding image data, and is provided for the image data supplied in line units.
  • the second filtering process is performed, and a filter step for generating image data by synthesizing coefficient data of a plurality of subbands decomposed into frequency bands is provided.
  • a transmission system includes: an encoding device that encodes image data; and a decoding device that decodes encoded data obtained by encoding the image data. And the transmission system for transmitting the encoded data between the decoding devices, wherein the encoding device hierarchically performs a first filtering process on the image data and decomposes each frequency band
  • Coefficient rearranging means for rearranging the coefficient data so as to be output in a predetermined order
  • the decoding device includes the coefficient rearranging means transmitted from the encoding device via a transmission path.
  • image data is hierarchically filtered to generate a plurality of subbands having coefficient data power decomposed for each frequency band.
  • Coefficient data is stored accumulatively and rearranged so that the stored coefficient data is output in a predetermined order.
  • coefficient data of a plurality of subbands which are supplied in units of lines and subjected to first filter processing hierarchically for image data and decomposed for each frequency band. are stored and rearranged so that the coefficient data is output in a predetermined order, and the second filter processing is performed on the output coefficient data after the rearrangement.
  • Image data is generated by combining coefficient data of a plurality of subbands divided into bands.
  • the first filter processing is hierarchically performed on the image data, and a plurality of subbands having coefficient data power decomposed for each frequency band
  • the generated coefficient data is stored in an accumulative manner, and the stored coefficient data is rearranged so as to be output in a predetermined order.
  • the encoding device passes through the transmission path.
  • the second filter processing is performed on the coefficient data rearranged in the predetermined order, and the image data is generated by synthesizing coefficient data of a plurality of subbands decomposed into frequency bands. .
  • filter processing is hierarchically performed on image data, a plurality of subbands having coefficient data power decomposed for each frequency band are generated, and coefficient data generated by the filter processing is stored. Since the coefficient data stored in the storage unit is rearranged so that the coefficient data stored in the storage unit is output in a predetermined order, the coefficient data is processed in the order of supply at the time of decoding. It is also possible to shorten the delay time from encoding of image data to decoding of the encoded data and outputting of the image data.
  • FIG. 1 is a block diagram showing a configuration of an example of an image encoding device to which the present invention is applied.
  • FIG. 2 is a schematic diagram for schematically explaining the wavelet transform.
  • FIG. 3 is a schematic diagram for schematically explaining the wavelet transform.
  • FIG. 4 is a schematic diagram for schematically explaining the wavelet transform when the lifting technique is applied to a 5 ⁇ 3 filter.
  • FIG. 5 is a schematic diagram for schematically explaining the wavelet inverse transform when the lifting technique is applied to a 5 ⁇ 3 filter.
  • FIG. 7 is a schematic diagram schematically showing the flow of wavelet transform and wavelet inverse transform according to the present invention.
  • FIG. 8 is a flowchart for explaining an example of the flow of a sign key process.
  • FIG. 9 is a block diagram showing a configuration of an example of an image decoding device to which the present invention is applied.
  • FIG. 10 is a flowchart for explaining an example of the flow of decoding processing.
  • FIG. 11 is a schematic diagram schematically illustrating a parallel operation of an example of each element of the image encoding device and the image decoding device to which the present invention is applied.
  • FIG. 12 is a block diagram showing a configuration of an example of an image encoding device to which the present invention is applied.
  • FIG. 13 is a schematic diagram for explaining the flow of processing when wavelet coefficient rearrangement processing is performed on the image encoding device side.
  • FIG. 14 is a schematic diagram for explaining the flow of processing when wavelet coefficient rearrangement processing is performed on the image decoding device side.
  • FIG. 15 is a block diagram showing a configuration of an example of an image encoding device to which the present invention is applied.
  • ⁇ 16] It is a block diagram showing a configuration of an example of an image decoding device to which the present invention is applied.
  • FIG. 17 is a schematic diagram for explaining an example of a state of transmission / reception of sign key data.
  • FIG. 18 is a diagram showing a configuration example of a packet.
  • FIG. 19 is a block diagram illustrating a configuration example of an image encoding device to which the present invention is applied.
  • FIG. 20 is a diagram for explaining subbands.
  • FIG. 21 is a diagram illustrating an example of a quantized coefficient to be encoded.
  • FIG. 22 is a block diagram illustrating a configuration example of an entropy code key unit.
  • FIG. 23 is a flowchart for explaining sign key processing.
  • FIG. 24 is a flowchart for explaining entropy code delay processing.
  • FIG. 25 is a flowchart for explaining the w-piece code encoding process.
  • FIG. 26 is a block diagram illustrating a configuration example of an image decoding device.
  • FIG. 27 is a block diagram illustrating a configuration example of an entropy decoding unit.
  • FIG. 28 is a block diagram illustrating a configuration example of a code division unit.
  • FIG. 29 is a block diagram showing another configuration example of the code dividing unit.
  • FIG. 30 is a flowchart for explaining decoding processing.
  • FIG. 31 is a flowchart for explaining entropy decoding processing.
  • FIG. 32 is a flowchart for explaining w-group decoding processing.
  • FIG. 33 is a block diagram showing another configuration example of the entropy code key unit.
  • FIG. 34 is a diagram illustrating an example of a quantized coefficient to be encoded.
  • FIG. 35 is a flowchart for explaining a w-piece set code process.
  • FIG. 36 is a flowchart for explaining w-group decoding processing.
  • FIG. 37 is a block diagram showing a configuration of an example of a digital triatus system to which the present invention is applied.
  • FIG. 38 is a block diagram showing a configuration of an example of a wireless transmission system to which the present invention is applied.
  • FIG. 39 is a diagram showing a configuration of an example of a consumer game device to which the present invention is applied.
  • FIG. 40 A diagram showing a configuration example of an information processing system to which the present invention is applied.
  • 1 image coding device 10 wavelet transform unit, 11 intermediate calculation buffer unit, 1 2 coefficient rearrangement buffer unit, 13 coefficient rearrangement unit, 14 rate control unit, 15 entropy coding unit, 20 image decoding device, 21 Entropy decoding unit, 22 Coefficient buffer unit, 23 Wavelet inverse transform unit, 30 Image coding device, 31 Code reordering buffer unit, 32 Code reordering unit, 41 Image coding device, 42 Image decoding device, 43 Coefficient Rearrangement buffer unit, 111 image encoding unit, 121 wavelet transform unit, 122 quantization unit, 123 entropy encoding unit, 161 line determination unit, 162 VLC encoding unit, 163 maximum significant digit calculation unit, 164 VLC Encoding unit, 165 significant digit extraction unit, 166 VLC encoding unit, 167 sign extraction unit, 168 VLC encoding unit, 169 code concatenation unit, 211 image decoding device, 221 entropy decoding unit, 222 inverse quantization unit, 223 U Ab
  • FIG. 1 shows an example of the configuration of an image encoding device applicable to the first embodiment of the present invention.
  • the image encoding device 1 includes a wavelet transform unit 10, a midway calculation buffer unit 11, a coefficient rearranging buffer unit 12, a coefficient rearranging unit 13, a rate control unit 14, and an entropy coding unit 15.
  • the input image data is temporarily stored in the midway calculation buffer unit 11.
  • the wavelet transform unit 10 performs wavelet transform on the image data stored in the midway calculation buffer unit 11. That is, the wavelet transform unit 10 also reads out the image data from the intermediate calculation buffer unit 11 and filters it with an analysis filter to generate low-frequency component and high-frequency component coefficient data. Stored in midway calculation buffer 11.
  • the wavelet transform unit 10 has a horizontal analysis filter and a vertical analysis filter, and performs an analysis filter process on the image data group in both the screen horizontal direction and the screen vertical direction.
  • the wavelet transform unit 10 reads the low-frequency component coefficient data stored in the midway calculation buffer unit 11 again, applies a filtering process to the read coefficient data using an analysis filter, and performs high-frequency component and low-frequency component data processing. Generate further coefficient data.
  • the generated coefficient data is stored in the midway calculation buffer unit 11.
  • the wavelet transform unit 10 When the wavelet transform unit 10 repeats this process and the decomposition level reaches a predetermined level, the wavelet transform unit 10 reads the coefficient data from the midway calculation buffer unit 11 and reads the read coefficient data Is written to the coefficient rearranging buffer unit 12.
  • the coefficient rearranging unit 13 reads the coefficient data written in the coefficient rearranging buffer unit 12 in a predetermined order, and supplies it to the entropy encoding unit 15.
  • the entropy encoding unit 15 encodes the supplied coefficient data by a predetermined entropy encoding method such as Huffman code or arithmetic code.
  • the entropy coding unit 15 operates in conjunction with the rate control unit 14, and is controlled so that the bit rate of the compression-coded data to be output becomes a substantially constant value. That is, the rate control unit 14 is based on the code key data information from the entropy code key unit 15 when the bit rate of the data compression-encoded by the entropy code key unit 15 reaches a target value or A control signal for controlling the encoding process by the entropy encoding unit 15 to end immediately before reaching the target value is supplied to the entropy encoding unit 15. The entropy encoding unit 15 outputs encoded data when the encoding process is completed according to the control signal supplied by the rate control unit 14.
  • the wavelet transform unit 10 The processing performed by the wavelet transform unit 10 will be described in more detail. First, a brief description of the wavelet transform will be given.
  • the wavelet transform for image data as schematically shown in Fig. 2, the process of dividing the image data into a high spatial frequency band and a low spatial frequency is divided into low spatial frequency data obtained as a result of the division. Recursively repeats. In this way, efficient compression coding can be achieved by adding / subtracting data of a low spatial frequency band to a smaller area.
  • FIG. 2 shows an example in which the division processing into the low-frequency component region L and the high-frequency component region H with respect to the lowest-frequency component region of the image data is repeated three times and the division level is set to 3. is there.
  • "and ⁇ " represent the low-frequency component and the high-frequency component, respectively, and the order of ' ⁇ ' and indicates the result of dividing the front side in the horizontal direction and the result of dividing the rear side in the vertical direction.
  • the numbers before “ ⁇ ” and “H” indicate the division level of the region.
  • processing is performed step by step over the region power at the lower right of the screen, and the low frequency component is driven.
  • the lower right region of the screen is the region 3HH, which has the lowest low frequency component (the most high frequency component is included).
  • the upper left area where the screen is divided into four is further divided into four, and the upper left area of the four divided areas is further divided into four.
  • the region in the upper left corner is the region 0LL that contains the most low frequency components.
  • the sub-bands are formed as shown in B.! For example, the division level of the wavelet transform in Fig. 2 is 3, and as a result, 10 subbands are formed.
  • the wavelet transform unit 10 normally performs the above-described processing using a filter bank including a low-pass filter and a high-pass filter. Since a digital filter usually has an impulse response having a multi-tap length, that is, a filter coefficient, it is necessary to buffer in advance input image data or coefficient data that can be filtered. Similarly, when wavelet transform is performed in multiple stages, it is necessary to buffer the wavelet transform coefficients generated in the previous stage as many times as can be filtered.
  • the low-pass filter H (z) is 5 taps, and the high-pass filter H (z) is 3 taps.
  • H (z) (-l + 2z _1 + 6z " 2 + 2z” 3 -z " 4 ) / 8 ⁇ ⁇ ⁇ (1)
  • the uppermost part, the middle part, and the lowermost part indicate a pixel column, a high frequency component output, and a low frequency component output of the input image, respectively.
  • the uppermost row is not limited to the pixel column of the input image, but may be a coefficient obtained by the previous filter processing.
  • the top row is an input image and is a pixel row
  • the square mark (country) is an even-numbered pixel or line (the first is 0th)
  • the round mark ( ⁇ ) is an odd-numbered pixel. Or a line.
  • the pixel data of the input image is thus decomposed into a low-frequency component and a high-frequency component by filtering processing.
  • FIG. 5 corresponds to FIG. 4 described above and shows an example in which a lifting technique is applied using a 5 ⁇ 3 filter.
  • the top row shows the input coefficients generated by the wavelet transform, where the circle ( ⁇ ) indicates the high-frequency component coefficient and the square (country) indicates the low-frequency component coefficient.
  • the low-frequency component and the high-frequency component are thus filtered. Combine the component coefficients and perform inverse wavelet transform.
  • the part shown as the analysis filter on the left side of the figure is the filter of the wavelet transform unit 10 on the image coding apparatus 1 side.
  • a portion shown as a synthesis filter on the right side of the figure is a filter of a wavelet inverse transform unit on the image decoding device side described later.
  • the pixel is scanned from the top left corner of the screen toward the left end force and the right end of the screen to form one line, and scanning for each line is performed. It is assumed that one screen is constructed from the top to the bottom of the screen.
  • the leftmost column shows pixel data at corresponding positions on the line of the original image data arranged in the vertical direction. That is, the filter processing in the wavelet transform unit 10 is performed by vertically scanning pixels on the screen using a vertical filter.
  • the second column from the left shows the high-frequency component output based on the pixels of the left-end original image data, and the third column from the left shows the low-frequency component output based on the original image data and the high-frequency component output.
  • the low-frequency component coefficient data is calculated based on the high-frequency component coefficient data calculated in the stage filtering process and the pixels of the original image data.
  • the calculated low frequency component coefficient data is stored in the midway calculation buffer unit 11.
  • the coefficient rearranging buffer unit 12 is shown as a portion surrounded by an alternate long and short dash line.
  • the intermediate calculation buffer unit 11 is shown as a portion surrounded by a dotted line.
  • the region HH and region HL by the coefficient data obtained by further decomposing the high-frequency component into high-frequency components and low-frequency components, and the low-frequency components are further increased. Four regions are formed, region LH and region LL, based on coefficient data decomposed into region components and region components.
  • the filter processing by wavelet transform is divided into processing for several lines in the vertical direction of the screen, and is performed step by step in a plurality of times.
  • the first process which starts from the first line on the screen, performs the filter process for the 7th line, and the process for the second line and after, which becomes the process for the 8th line. Filtering is performed for each line. This number of lines is based on the number of lines necessary to generate the lowest frequency component for one line after dividing it into a high frequency component and a low frequency component.
  • Mari is called a line block (or precinct).
  • the line indicates pixel data or coefficient data for one row formed in a picture or field corresponding to image data before wavelet transform, or in each subband.
  • the line block (precinct) is the number of lines necessary to generate coefficient data for one subband of the lowest frequency component after wavelet transformation in the original image data before wavelet transformation. This pixel data group or coefficient data group of each subband obtained by wavelet transforming the pixel data group.
  • the coefficient C is calculated based on the coefficients C2 and C3 stored in the coefficient rearranging buffer unit 12 and the pixel data of the fifth line.
  • the coefficient C3 is calculated based on the pixel data of the fifth to seventh lines.
  • the coefficient data already calculated in the previous filtering process and stored in the coefficient rearranging buffer unit 12 can be used. Therefore, the number of lines required is small.
  • the coefficient C9 which is the next coefficient of the coefficient C5
  • the coefficient C4 has already been calculated by the first filtering process described above, and is stored in the coefficient rearranging buffer unit 12.
  • the coefficient C has already been calculated by the first filtering process described above, and is stored in the midway calculation buffer unit 11. Therefore, in the second filtering process, only the filtering process for calculating the coefficient C8 is renewed. This new filtering process is performed by further using the 8th to 11th lines. In this way, the second and subsequent filtering processes can use the data calculated by the previous filtering process and stored in the midway calculation buffer unit 11 and the coefficient rearranging buffer unit 12. Each of them will only need to process every 4 lines.
  • the original image data lines are duplicated to a predetermined number and the number of lines is matched with the number of lines of the sign key.
  • the filtering process sufficient to obtain coefficient data for one line of the lowest frequency component is divided into a plurality of times step by step for the lines of the entire screen.
  • the first notch used for executing the wavelet transform itself and the second coefficient for storing the coefficients generated while executing the processing up to a predetermined division level are stored. Need a nof?
  • the first buffer corresponds to the midway calculation buffer unit 11 and is shown surrounded by a dotted line in FIG.
  • the second buffer corresponds to the coefficient rearranging buffer unit 12 and is shown surrounded by a one-dot chain line in FIG.
  • the coefficients stored in the second notifier are used for decoding and are therefore subject to entropy code processing in the subsequent stage.
  • the coefficient data calculated by the wavelet transform unit 10 is stored in the coefficient rearranging buffer unit 12 and is read out by the coefficient rearranging unit 13 by rearranging the order, and the entropy code input unit. Sent to 15.
  • coefficients are generated from the high frequency component side to the low frequency component side.
  • the order in which the coefficient data is generated is Due to the principle of single bullet transform, this order is always in order (from high to low).
  • the coefficient data generated on the encoding side is rearranged from the lowest frequency component side to the higher frequency component side and supplied to the decoding side.
  • the right side of Fig. 6 shows the side of the synthesis filter that performs the inverse wavelet transform.
  • the first synthesis process (inverse wavelet transform process) including the first line of the output image data on the decoding side is performed by the coefficient C4 and coefficient C5 of the lowest frequency component generated by the first filtering process on the encoding side. And the coefficient C1.
  • the synthesis process is performed on coefficient C5 and coefficient C4 to obtain coefficient C.
  • the coefficient Cl, the coefficient C2, the coefficient C3, the coefficient C4, and the coefficient C5 are generated in this order on the encoding side and stored in the coefficient rearranging buffer unit 12.
  • Coefficient data is rearranged in the order of coefficient C5, coefficient C4, coefficient Cl, ..., and supplied to the decoding side.
  • the coefficient numbers on the sign key side are shown in parentheses, and the line order of the synthesis filter is shown outside the parentheses.
  • the coefficient C1 (5) indicates that it is the coefficient C5 on the analysis filter side on the left side of FIG. 6 and the first line on the synthesis filter side.
  • the decoding-side combining process using the coefficient data generated in the second and subsequent filter processes on the encoding side uses the coefficient data supplied from the combining or encoding side in the previous combining process. It can be carried out.
  • the second synthesis process on the decoding side using the low-frequency component coefficients C8 and C9 generated by the second filtering process on the code side is the first on the encoding side.
  • the coefficients C2 and C3 generated by The second to fifth lines are decoded.
  • coefficient data is supplied from the encoding side to the decoding side in the order of coefficient C9, coefficient C8, coefficient C2, and coefficient C3.
  • coefficient C8 and coefficient C9 and coefficient C4 supplied from the encoding side during the first synthesis process are used to generate coefficient C and store it in the buffer. Store.
  • coefficient C2, coefficient C3, (coefficient C4, coefficient C5), coefficient C6, coefficient C7, coefficient C8, and coefficient C9 are generated in this order on the encoding side.
  • Coefficient data is rearranged in the order of coefficient C9, coefficient C8, coefficient C2, coefficient C3, ..., and supplied to the decoding side.
  • the coefficient data stored in the rearrangement buffer unit 12 is rearranged in a predetermined manner and supplied to the decoding unit, and the lines are decoded every four lines. .
  • the decoding processing corresponding to the filtering processing including the line at the bottom of the screen (hereinafter referred to as the last round) on the code side generates and stores the buffer data. Since all the coefficient data is output, the number of output lines increases. In the example of Figure 6, 8 lines are output in the last round.
  • coefficient data rearrangement process by the coefficient rearrangement unit 13 is, for example, to set the read address when reading the coefficient data stored in the coefficient rearrangement buffer unit 12 in a predetermined order. Made in
  • the wavelet transform unit 10 as shown in FIG.
  • the first filtering process is performed on the 7th line both horizontally and vertically (In-1 in Fig. 7A).
  • the coefficient data generated by the wavelet transform unit 10 from the high frequency component side force to the low frequency component side is sequentially stored in the coefficient rearranging buffer unit 12.
  • the coefficient rearranging unit 13 is described above.
  • the coefficient data is accumulated in the coefficient rearranging buffer unit 12 until the rearranged coefficient data can be rearranged, the coefficient data is rearranged from the coefficient rearranging buffer unit 12 in the order required for the synthesis process.
  • the read coefficient data is sequentially supplied to the entropy encoding unit 15.
  • the entropy coding unit 15 performs an encoding operation on the supplied coefficient data so that the bit rate of the output data becomes the target bit rate based on the control signal to which the rate control unit 14 is also supplied. Control and apply entropy coding. Entropy-encoded encoded data is supplied to the decoding side.
  • the code method known techniques such as Huffman coding and arithmetic coding can be considered. Of course, the present invention is not limited to these, and other encoding methods may be used as long as reversible encoding processing is possible.
  • the entropy coding section 15 forces coefficient rearranging section 13 forces Quantization is first performed on the read coefficient data, and the obtained quantized coefficients are subjected to Huffman coding or arithmetic coding. If the information source encoding process such as conversion is performed, further improvement of the compression effect can be expected. Any quantization method can be used.For example, general means, that is, coefficient data W as shown in the following equation (7) is divided by the quantization step size ⁇ . Use the technique!
  • Quantization coefficient ⁇ ⁇ / ⁇ ⁇ ⁇ ⁇ (7)
  • the wavelet transform unit 10 performs wavelet transform processing for each of a plurality of lines (each line block) of image data. Do.
  • the power described in the example in which the wavelet transform unit 10 performs the filter processing by the wavelet transform using the 5 ⁇ 3 filter is not limited to this example.
  • the wavelet transform unit 10 can use a filter having a longer tap number, such as a 9 ⁇ 7 filter. In this case, if the number of taps of the filter is long, the number of lines accumulated in the filter also increases, so that the delay time from the input of image data to the output of encoded data becomes long.
  • the higher the decomposition level the higher the compression ratio.
  • the delay time required for the system depends on the quality of the decoded image, the number of filter taps, It is preferable to determine the decomposition level.
  • the number of taps and the decomposition level of this filter can be adaptively selected without being fixed values.
  • the wavelet transform unit 10 initializes the number A of the processing target line block in step S1. Normally, number A is set to “1”.
  • the wavelet transform unit 10 acquires image data of the number of lines (that is, one line block) necessary to generate the A-th one line in the lowest subband.
  • the vertical analysis filtering processing is performed on the image data arranged in the vertical direction on the screen!
  • the vertical analysis filtering processing is performed on the horizontal image data in the screen. Perform horizontal analysis filtering that performs analysis filtering.
  • step S5 the wavelet transform unit 10 determines whether or not the analysis filtering process has been performed to the final level, and if the decomposition level has reached the final level and determines that it is! /, NA! / Return to step S3 and repeat the analysis filtering process of step S3 and step S4 for the current decomposition level.
  • step S5 If it is determined in step S5 that the analysis filtering process has been performed to the final level, the wavelet transform unit 10 advances the process to step S6.
  • step S6 the coefficient rearranging unit 13 rearranges the coefficients of the line block A (the A-th line block from the top of the picture (field in the case of the interlace method)) in the order of the low-frequency power and the high-frequency.
  • step S7 the entropy code encoding unit 15 performs entropy encoding for each coefficient on the coefficient. When the entropy code is completed, the entropy code unit 15 sends the code data of the line block A to the outside in step S8.
  • the wavelet transform unit 10 increments the value of number A by "1" in step S9 and sets the next line block as the processing target.
  • the wavelet transform unit 10 determines the processing target picture (field in the case of the interlace method) It is determined whether or not there is an unprocessed image input line. If it is determined that there is an unprocessed image input line, the process returns to step S2, and the subsequent processes are repeated for the new line block to be processed.
  • step S10 As described above, the processing from step S2 to step S10 is repeatedly executed, and each line block is encoded. If it is determined in step S10 that there is no unprocessed image input line, the wavelet transform unit 10 ends the encoding process for the picture. For the next picture, the sign key processing is newly started.
  • the vertical analysis filtering process and the horizontal analysis filtering process are continuously performed to the final level in units of line blocks as described above.
  • the amount of buffer memory to be prepared can be greatly reduced because the amount of data that needs to be retained (buffered) at one time (simultaneously) is small.
  • subsequent processing such as coefficient rearrangement and entropy code ⁇ (that is, coefficient rearrangement and entropy code ⁇ are performed in units of line blocks). be able to). Therefore, the delay time can be greatly reduced as compared with the conventional method.
  • FIG. 9 shows a configuration of an example of an image decoding device corresponding to the image encoding device 1 of FIG.
  • the code key data (encoded data output in FIG. 1) output from the entropy code key unit 15 of the image code key device 1 in FIG. 1 is supplied to the entropy decoder 21 in the image decoder 20 in FIG. (Encoded data input in FIG. 9), the entropy code is decoded into coefficient data.
  • the coefficient data is stored in the coefficient buffer unit 22.
  • the wavelet inverse transform unit 23 uses the coefficient data stored in the coefficient buffer unit 22 to perform synthesis filter processing using the synthesis filter as described with reference to FIGS. 5 and 6, for example, and the result of the synthesis filter processing. Is again stored in the coefficient buffer unit 22.
  • the wavelet inverse transform unit 23 repeats this processing according to the decomposition level to obtain decoded image data (output image data).
  • the entropy decoding unit 21 acquires encoded data in step S31, and entropy decodes the encoded data for each line in step S32.
  • the coefficient buffer unit 22 holds the coefficient obtained by decoding.
  • the wavelet inverse transform unit 23 determines whether or not the coefficient buffer unit 22 has accumulated the coefficients for one line block. The process returns to step S31 to execute the subsequent processing, and waits until a coefficient for one line block is accumulated in the coefficient buffer unit 22.
  • step S34 When it is determined in step S34 that the coefficients for one line block have been accumulated in the coefficient buffer unit 22, the wavelet inverse transform unit 23 proceeds to step S35, and the coefficients stored in the coefficient buffer unit 22 are processed. Is read for one line block.
  • the wavelet inverse transform unit 23 performs vertical synthesis filtering processing on the coefficients that are arranged in the vertical direction of the screen, and performs vertical synthesis filtering processing on the coefficients arranged in the screen vertical direction, in step S37.
  • the synthesis filtering process is performed for the coefficients arranged in the horizontal direction on the screen, and in step S38, the synthesis filtering process is completed up to level 1 (the decomposition level value is “1”). If it is determined whether or not the force has been converted back to the state before the wavelet transform, and if it is determined that the level has not been reached, the process returns to step S36, and the filtering process of step S36 and step S37 is performed. repeat.
  • step S38 If it is determined in step S38 that the inverse transformation process has been completed up to level 1, the wavelet inverse transformation unit 23 advances the process to step S39 and outputs the image data obtained by the inverse transformation process to the outside. .
  • step S40 the entropy decoding unit 21 determines whether or not to end the decoding process. If it is determined that the input of the encoded data is continued and the decoding process is not to be ended, the process proceeds to step S31. Return to, and repeat the subsequent processing. In step S40, when it is determined that the decoding process is to be terminated, for example, the input of the encoded data is terminated, the entropy decoding unit 21 ends the decoding process.
  • the horizontal synthesis filtering process is first performed in the horizontal direction on the screen and then the vertical synthesis filtering process is performed in the vertical direction on the screen for all the coefficients of the decomposition level to be processed. I was going. In other words, for each synthesis filtering process, it is necessary to hold the result of the synthesis filtering process in the buffer. At that time, the buffer uses the synthesis filtering result of the current decomposition level and all the coefficients of the next decomposition level. It needs to be retained and requires a large amount of memory (a large amount of data is retained). [0140] Also, in this case, image data is not output in the picture (field in the case of interlaced) until all wavelet inverse transforms are completed, so the delay time from input to output Will increase.
  • the vertical synthesis filtering process and the horizontal synthesis filtering process are continuously performed up to level 1 in units of line blocks as described above.
  • this method it is possible to greatly reduce the amount of memory of the buffer to be prepared because the amount of data that needs to be buffered at one time (simultaneously) is small.
  • synthesis filtering processing wavelet inverse transformation processing
  • image data can be output sequentially (in units of line blocks) before all the image data in the picture is obtained. Compared with the method, the delay time can be greatly reduced.
  • each element of the image encoding device 1 shown in Fig. 1 and the image decoding device 20 shown in Fig. 9 is, for example, It is controlled according to a predetermined program by a CPU (Central Processing Unit) not shown.
  • the program is stored in advance in a ROM (Read Only Memory) not shown.
  • the present invention is not limited to this, and it is also possible to exchange the timing signal and the control signal between the elements constituting the image encoding device and the image decoding device and operate them as a whole.
  • the image encoding device and the image decoding device can also be realized by software operating on a computer device.
  • the elements of the image encoding device 1 and the image decoding device 20 are operated in parallel to compress and encode images. Decoding processing is performed with lower delay.
  • FIG. 11 schematically shows an example of parallel operation of each element of image coding device 1 and image decoding device 20 according to the second embodiment of the present invention.
  • Figure 11 corresponds to Figure 7 above.
  • the first wavelet transform WT-1 is performed in the entropy coding unit 15 (B in FIG. 11).
  • the first wavelet transform WT-1 is started when the first three lines are input, and the coefficient C1 is generated. That is, there is a delay of 3 lines from the input of the image data In-1 until the wavelet transform WT-1 is started.
  • the generated coefficient data is stored in the coefficient rearranging buffer unit 12. Thereafter, wavelet transformation is performed on the input image data, and when the first processing is completed, the processing proceeds to the second wavelet transformation WT-2.
  • the coefficient rearrangement unit 13 performs three coefficients. Reorder C1, coefficient C4, and coefficient C5 Ord-1 is executed (C in Figure 11).
  • the delay from the end of the wavelet transform WT-1 to the start of rearrangement Ord-1 is, for example, a delay associated with transmission of a control signal instructing the coefficient rearrangement unit 13 to perform rearrangement processing, This is a delay based on the device and system configuration, such as a delay required for starting the processing of the coefficient rearranging unit 13 for the control signal and a delay required for the program processing, and is not an essential delay in the encoding process.
  • the coefficient data is read from the coefficient rearranging buffer unit 12 in the order in which the rearrangement is completed, supplied to the entropy encoding unit 15, and subjected to entropy encoding EC-1 (D in FIG. 11).
  • This entropy coding EC-1 can be started without waiting for the end of the rearrangement of all three coefficients Cl, coefficient C4, and coefficient C5.
  • entropy coding for the coefficient C5 can be started when the rearrangement of one line by the coefficient C5 output first is completed. In this case, the processing start power of the rearrangement Ord-1 is also delayed by one line until the processing of the entropy code EC-1 starts.
  • the code data for which entropy coding EC-1 has been completed by the entropy code key unit 15 is transmitted to the image decoding device 20 via some transmission path (E in Fig. 11).
  • a transmission path through which the encoded data is transmitted for example, a communication network such as the Internet can be considered.
  • the encoded data is transmitted by IP (Internet Protocol).
  • IP Internet Protocol
  • USB Universal Serial Bus
  • IEEE1394 Institute Ele ctrical and Electronics Engineers 1394
  • wireless communications represented by the IEEE802.il standard are also conceivable.
  • Image data is sequentially input to the image encoding device 1 up to the bottom line on the screen, following the input of image data for seven lines in the first process.
  • the image encoding device 1 with the input of image data In-n (n is 2 or more), as described above, the wavelet transform WT-n, rearrangement Ord-n, and entropy every 4 lines.
  • Encode EC-n The rearrangement Ord and entropy encoding E C for the last processing in the image encoding device 1 is performed on 6 lines. These processes are performed in parallel in the image encoding device 1 as illustrated in A of FIG. 11 to D of FIG.
  • Entropy Encoding by Image Encoding Device 1 Encoded data encoded by EC-1 is transmitted to the image decoding device 20 via a transmission path and supplied to the entropy decoding unit 21.
  • the entropy decoding unit 21 sequentially performs entropy decoding iEC-1 on the supplied code data encoded by the entropy encoding EC-1, and restores coefficient data (FIG. 11). F).
  • the restored coefficient data is sequentially stored in the coefficient buffer unit 22.
  • the wavelet inverse transform unit 23 reads the coefficient data from the coefficient buffer unit 22 when the coefficient data is stored in the coefficient buffer unit 22 so that the wavelet inverse transform can be performed, and uses the read coefficient data to perform the wavelet inverse transform iWT. -1 is performed (G in Fig. 11).
  • the wavelet inverse transformation iWT-1 by the wavelet inverse transformation unit 23 starts when the coefficient C4 and the coefficient C5 are stored in the coefficient buffer unit 22. it can. Therefore, the delay from the start of decoding iEC-1 by the entropy decoding unit 21 to the start of wavelet inverse transformation iWT-1 by the power wavelet inverse transformation unit 23 is two lines.
  • the entropy code ⁇ EC-n (n is 2 more than)
  • the coefficient data encoded according to is sequentially input.
  • the image decoding device 20 performs entropy decoding iEC-n and wavelet inverse transformation iWT-n for every four lines on the input coefficient data as described above, and is restored by wavelet inverse transformation iWT-n.
  • Output image data out-n sequentially.
  • the end-port decoding iEC and the inverse wavelet transformation iWT corresponding to the last time of the image encoding apparatus are performed for 6 lines, and the output Out is output for 8 lines.
  • each process in the image encoding device 1 and the image decoding device 20 is performed in parallel in the order from the upper part to the lower part of the screen, so that the image compression process and the image decoding process are further performed. This can be performed with low delay.
  • the delay time from when the image data for the first line is input to the image encoding device 1 to when the image data for the first line is output from the image decoding device 20 is the sum of the following elements. .
  • delays that differ depending on the system configuration such as delays in the transmission path and delays associated with the actual processing timing of each part of the device, are excluded.
  • the delay D_WT in (1) is the time for 10 lines.
  • the time D_Ord in (2), the time D_EC in (3), the time DjEC in (4), and the time DjWT in (5) are the time for three lines, respectively.
  • the entropy code EC-1 can be started one line after the rearrangement Ord-1 is started.
  • the wavelet inverse transformation iWT-1 can be started two lines after the entropy decoding iEC-1 is started.
  • the entropy decoding iEC-1 can start processing at the point in time when entropy coding EC-1 completes one line of code.
  • the image data of the first line is input to the image encoding device, the image data of the first line is output from the image decoding device.
  • the delay time will be discussed with a more specific example.
  • the input image data is an HDTV (High Definition Television) interlaced video signal
  • the total number of lines to be processed is also the sum of the delay D_WT in (1), time D_Ord in (2), time D_EC in (3), time D_iEC in (4), and time DjWT in (5). Because there are few, the delay time is greatly shortened.
  • the processing time can be further shortened by making the elements that perform each processing hardware.
  • the coefficient data is rearranged after the wavelet transform is performed in the image encoding device 1.
  • the coefficient data is rearranged after the entropy code.
  • the image coding apparatus in this case performs wavelet transform on the input image data, performs entropy coding on the generated coefficients, and performs entropy coding on the data. Sorting process is performed. In this way, the storage capacity required in the coefficient rearrangement buffer can be reduced by rearranging the coefficient data after the entropy code ⁇ .
  • the bit accuracy of input image data is 8 bits
  • the bit accuracy of generated coefficient data is about 12 bits, for example.
  • the coefficient rearrangement process is performed before the entropy encoding process
  • the coefficient rearrangement The F section needs to store this 12-bit coefficient data for a predetermined number of lines.
  • the coefficient reordering buffer stores the data compressed by entropy coding. Small storage capacity is sufficient.
  • FIG. 12 shows a configuration of an example of an image encoding device according to the third embodiment of the present invention.
  • parts that are the same as those in FIG. 1 described above are given the same reference numerals, and detailed descriptions thereof are omitted.
  • the input image data is temporarily stored in the midway calculation buffer unit 11 of the image encoding device 30.
  • the wavelet transform unit 10 performs predetermined wavelet transform on the image data stored in the midway calculation buffer unit 11 as described in the first embodiment.
  • the coefficient data generated by the wavelet transform is supplied to the entropy code unit 15.
  • the entropy code unit 15 operates in conjunction with the rate control unit 14 and is controlled so that the bit rate of the output compression code data becomes a substantially constant value, and the entropy code unit 15 applies entropy to the supplied coefficient data. Perform the encoding process. That is, the entropy coding unit 15 codes the acquired coefficients in the same order regardless of the order of the coefficients.
  • the code data obtained by entropy encoding the coefficient data generated by the wavelet transform by the entropy code encoding unit 15 is stored in the code rearranging buffer unit 31.
  • the code rearrangement unit 32 rearranges and reads the encoded data from the code rearrangement buffer unit 31 as soon as the encoded data to be rearranged is stored in the code rearrangement buffer unit 31.
  • the coefficient data generated by the wavelet transform unit 10 is generated from the upper end side to the lower end side in the order from the high frequency component to the low frequency component. .
  • the code key data stored in the code rearrangement buffer unit 31 is converted from the low frequency component to the high frequency component of the coefficient data by the wavelet transform. Sort and read.
  • the code key data read from the code rearranging buffer unit 31 is sent to, for example, a transmission line as output code key data.
  • the data encoded and output by the image encoding device 30 according to the third embodiment is the image decoding according to the first embodiment already described with reference to FIG. With device 20, Decoding can be performed in the same manner as in the first embodiment. That is, for example, code data input to the image decoding device 20 via a transmission path is subjected to entropy decoding by the entropy decoding unit 21 to restore coefficient data. The restored coefficient data is sequentially stored in the coefficient notifier 22.
  • the wavelet inverse transform unit 23 performs wavelet inverse transform on the coefficient data stored in the coefficient buffer unit 22 and outputs image data.
  • the reordering process of the coefficient data generated by the wavelet transform is performed on the image encoding device side as shown in FIG. It was.
  • the rearrangement process of the coefficient data generated by the wavelet transform is performed on the image decoding apparatus side as shown in an example in FIG. .
  • an image encoding device is mounted on a device with relatively low processing capability such as a mobile phone terminal, PDA (Personal Digital Assistant), and so-called mopile terminal.
  • a device with relatively low processing capability such as a mobile phone terminal, PDA (Personal Digital Assistant), and so-called mopile terminal.
  • PDA Personal Digital Assistant
  • mopile terminal products with an imaging function added to mobile phone terminals have become widespread (referred to as camera-equipped mobile phone terminals). It is conceivable that image data captured by such a mobile phone terminal with a camera function is compressed and encoded by wavelet transform and entropy coding and transmitted via wireless or wired communication.
  • Such a mopile terminal for example, has a limited processing capacity of the CPU, and has a certain upper limit on the memory capacity. For this reason, the processing load associated with the rearrangement of coefficients as described above is a problem that cannot be ignored.
  • an example of rearrangement processing is incorporated into the image decoding apparatus.
  • the load on the image encoding device side is reduced, and the image encoding device can be mounted on a device with relatively low processing capability such as a mopile terminal.
  • FIG. 15 shows a configuration of an example of an image encoding device applicable to the fourth embodiment.
  • parts that are the same as those in FIG. 1 are given the same reference numerals, and detailed descriptions thereof are omitted.
  • the configuration of the image encoding device 41 shown in FIG. 15 is different from that of the image encoding device 1 shown in FIG. 1 described above in that the coefficient rearranging unit 13 and the coefficient rearranging buffer unit 12 are used.
  • the configuration is such that That is, in the fourth embodiment, as the image encoding device 41, the wavelet transform unit 10, the midway calculation buffer unit 11, the entropy coding unit 15 and the rate control unit 14 conventionally used are used. It is possible to apply a combination of the above.
  • the input image data is temporarily stored in the midway calculation buffer unit 11.
  • the wavelet transform unit 10 performs wavelet transform on the image data stored in the midway calculation buffer unit 11, and supplies the generated coefficient data to the entropy encoding unit 15 in the order in which the coefficient data is generated. To do. That is, the generated coefficient data is supplied to the entropy code unit 15 in the order of the high frequency component to the low frequency component according to the order of the wavelet transform.
  • the entropy code unit 15 applies entropy code to the supplied coefficient while the bit rate of the output data is controlled by the rate control unit 14.
  • the entropy code key unit 15 outputs encoded data obtained by entropy coding the coefficient data generated by the wavelet transform.
  • FIG. 16 shows an exemplary configuration of an image decoding apparatus according to the fourth embodiment.
  • parts common to those in FIG. 9 are given the same reference numerals, and detailed description thereof is omitted.
  • the code data that has also been output from the entropy code unit 15 of the image code device 41 described in FIG. 15 is supplied to the entropy decoding unit 21 of the image decoding device 42 in FIG. Decoded and used as coefficient data.
  • the coefficient data is stored in the coefficient rearranging buffer unit 43 via the coefficient buffer unit 22.
  • the wavelet inverse transform unit 23 The coefficient data stored in the number rearranging buffer unit 43 is read out by rearranging the low-frequency component to the high-frequency component, and wavelet inverse conversion processing is performed using the coefficient data in the read order.
  • a 5 X 3 filter is used, it is as shown in FIG.
  • the wavelet inverse transform unit 23 is, for example, processing from the beginning of one frame, the coefficient Cl, the coefficient C4, and the coefficient C5 obtained by decoding the entropy code in the coefficient rearranging buffer unit 43 are stored.
  • the coefficient data is read from the coefficient rearranging buffer unit 43, and the wavelet inverse transform process is performed.
  • Data subjected to wavelet inverse transformation by the wavelet inverse transformation unit 23 is sequentially output as output image data.
  • the code data exchanged between the image coding apparatus and the image decoding apparatus according to the first to fourth embodiments described above is packetized.
  • FIG. 17 is a schematic diagram for explaining an example of how the code key data is exchanged.
  • image data is wavelet transformed while being input for a predetermined number of lines for each line block (subband 51). ).
  • the coefficient lines from the lowest band subband to the highest band subband are rearranged in the reverse order of generation, that is, from the low band to the high band. .
  • the parts of the diagonal, vertical, and wavy lines are different line blocks (as indicated by the arrows, the white blank part of the subband 51 is also Similarly, each line block is divided and processed).
  • the coefficients of the line blocks after the rearrangement are entropy-encoded as described above to generate code key data.
  • the image coding apparatus performs coding decoding. For example, a header is added to the data in units of line blocks, and the data is transmitted as a packet including the header and code data.
  • the image encoding device generates code data (encoded data) of the first line block (Line block 1), packetizes it, and transmits it.
  • the packet 61 is sent to the image decoding apparatus.
  • the image decoding apparatus decodes (decodes) the encoded data.
  • the image encoding device packetizes it and sends it to the image decoding device as a transmission packet 62.
  • the image decoding apparatus decodes (decodes) the encoded data.
  • the image encoding device generates the code data of the third line block (Lineblock-3)
  • the image encoding device packetizes it and sends it as a transmission packet 63 to the image decoding device.
  • the image decoding apparatus decodes (decodes) the encoded data.
  • the image encoding device and the image decoding device repeat the above processing up to the Xth final line block (Lineblock-X) (transmission packet 64, reception packet 74). As described above, the decoded image 81 is generated in the image decoding apparatus.
  • Lineblock-X Xth final line block
  • FIG. 18 shows a configuration example of the header.
  • a packet is composed of a header 91 and encoded data.
  • the header 91 includes a description of a line block number (NUM) 93 and an encoded data length (LEN) 94.
  • NUM line block number
  • LN encoded data length
  • the image decoding apparatus can easily identify the boundary of each line block by reading these pieces of information included in the header added to the received encoded data, and the decoding processing load and processing Time can be reduced.
  • a description of quantum step sizes ( ⁇ 1 to ⁇ ⁇ ) 92 for each subband constituting the line block may be further added.
  • the image decoding apparatus can perform inverse quantization for each subband, and can perform finer image quality control.
  • the image encoding device and the image decoding device have described the respective processes such as encoding, packetization, packet transmission / reception, and decoding as described above. As described above, it may be executed for each line block in parallel (in a pipeline).
  • Fig. 17 shows an operation example with interlaced video (60 fields / second).
  • the image output can be obtained with a delay time of approximately 5 msec. I can do it.
  • a sixth embodiment of the present invention will be described.
  • specific examples of entropy coding in the image coding apparatus and the entropy decoding in the image decoding apparatus in the above-described embodiments will be shown.
  • any method may be used for entropy coding.
  • the image coding apparatus can be more easily performed. Since encoding can be performed by simple calculation, delay time, power consumption, buffer memory capacity, and the like can be reduced.
  • the force that can quantize the coefficient data and perform the force code ⁇ at the time of entropy code ⁇ is the same in this embodiment.
  • the coefficient data may be quantized to perform force entropy coding, or the coefficient data may be entropy coded without quantization.
  • the image quality can be further improved when the quantization is performed, only the entropy code ⁇ when the quantization is performed will be described below. In other words, the description of the entropy code ⁇ when quantization is not performed is omitted, but the description of the entropy code ⁇ when quantization is applied can be applied.
  • coefficient rearrangement is omitted.
  • the coefficient data is rearranged when entropy encoding is performed on the rearranged coefficient data, the encoded data subjected to entropy encoding is rearranged, and after entropy decoding.
  • the power described in the case of switching This rearrangement is basically a process for performing the wavelet inverse transformation process at high speed, and basically has nothing to do with the entropy code processing (and the entropy decoding process). .
  • the specific content does not affect the entropy code described in the present embodiment basically.
  • the entropy coding method of this embodiment should be applied in the same way. Can do. Accordingly, in the following description, the description of the coefficient rearrangement is omitted for the sake of simplicity.
  • the entropy code of the present embodiment is quantized in the entropy code unit 15 of the image coding apparatus 41 of the fourth embodiment shown in FIG.
  • the case of performing the conversion process is explained.
  • image decoding apparatus only the one corresponding to the image encoding apparatus in that case will be described, and image decoding in the case of performing the coefficient rearrangement or in the case of no dequantization! Explanation of the device is omitted!
  • FIG. 19 is a block diagram showing a configuration example of an image encoding device to which the present invention is applied.
  • the image encoding device 111 includes a wavelet transform unit 121, a quantization unit 122, and an entropy coding unit 123.
  • the wavelet transform unit 121 corresponds to, for example, the wavelet transform unit 10 in Fig. 15 and performs the same processing. That is, for example, an image (data) that is a component signal that has been subjected to DC level shift as necessary is input to the wavelet transform unit 121.
  • the wavelet transform unit 121 performs wavelet transform on the input image and decomposes it into a plurality of subbands.
  • the wavelet transform unit 121 supplies the subband wavelet coefficients obtained by the wavelet transform to the quantization unit 122.
  • the quantization unit 122 quantizes the wavelet coefficients supplied from the wavelet transform unit 121, and supplies the quantized coefficients obtained as a result to the entropy coding unit 123.
  • the entropy coding unit 123 performs entropy coding on the quantized coefficient supplied from the quantization unit 122, and outputs the code obtained thereby as a coded image (data).
  • the image output from the entropy encoding unit 123 is, for example, subjected to rate control processing, then packetized and recorded, or supplied to another device (not shown) connected to the image encoding device 111. Or be paid. That is, the quantization unit 122 and the entropy coding unit 123 correspond to, for example, the entropy coding unit 15 and the rate control unit 14 in FIG.
  • one subband is composed of six line forces L1 to L6, the position corresponding to the pixel on the line in the xy coordinate system is (X, y).
  • the X coordinate of the leftmost position is 0, and the y coordinate of the line L1 is 0.
  • the quantization coefficient at each position (X, y) in the subband expressed in the bit plane is input from the quantization unit 122 to the entropy coding unit 123 in the raster scan order from line L1 to line L6.
  • a quantization coefficient corresponding to the left end position (0, 0) of the line L1 is input to the entropy code section 123.
  • the quantization coefficient corresponding to the position (1, 0) on the right side of the position (0, 0) is input to the entropy code section 123, and the quantization coefficient reaches the right end position of the line L1.
  • the quantized coefficient corresponding to the position immediately to the right of the input position is sequentially input to the entropy encoding unit 123.
  • the quantization coefficient corresponding to each position on the line L2 reaches the right end position in order of the left end position (0, 1) of the line L2.
  • the quantized coefficients corresponding to positions on each line from the line L3 to the line L6 are input to the entropy code key unit 123.
  • each quantization coefficient shown in the upper left of FIG. 21 is expressed by being divided into the absolute value of the sign ⁇ -digit number (represented by the bit plane), and the example of FIG. Then, the entropy encoding unit 123 includes the quantization coefficients “-0101”, “+0011”, “-0110”, “+0010”, “+0011”, “” of one line (line L1 in FIG. 20). +0110 ",” 0000 ",” -0011 ",” +1101 ",” -0100 “,” +01 “11” and "-1010" are entered in order.
  • One quantization coefficient consists of a sign of a quantization coefficient represented by "+" (positive) or "" (negative) (hereinafter referred to as a sign of the quantization coefficient) and a binary number. It consists of the absolute value of the expressed quantization coefficient.
  • the uppermost bit in the figure represents the most significant bit (bit in the most significant digit). Therefore, for example, the quantum coefficient "-0101" has its sign "" and the absolute value expressed in binary number is "0101", so this quantum coefficient is decimal number. It will be expressed as '-5'.
  • the entropy code unit 123 determines whether or not the input quantization coefficients (the absolute values thereof) are all 0, and depending on the determination result, the code will be encoded. A code indicating whether or not all the quantization coefficients of the line to be converted are 0 is output. If it is determined that the quantization coefficients are all 0, the entropy code encoding unit 123 outputs 0 as a code indicating whether or not the quantization coefficients of the line are all 0, and is currently performed. Ends the sign of the quantized coefficient of the line. Also, when it is determined that the values of all the quantization coefficients are not 0 (not only the quantization coefficient of 0), the entropy coding unit 123 determines whether or not all of the line quantization coefficients are 0. 1 is output as the sign.
  • the entropy code part 123 inputs the maximum number of significant digits (value of variable B in Fig. 21) of the four consecutive quantization coefficients input this time, and the four previously encoded (input) ( Compares the maximum number of significant digits of the (w) quantum coefficients, determines whether the maximum number of significant digits has changed, and outputs a code indicating the maximum number of significant digits of the quantization coefficient.
  • the maximum number of significant digits means the number of significant digits of the quantization coefficient having the largest absolute value among the four (w) quantization coefficients to be encoded together.
  • the maximum number of significant digits is 4 Of the two quantized coefficients, the number of the 1 that is at the top of the quantized coefficient with the largest absolute value is shown.
  • the maximum number of significant digits of the four quantized coefficients “-0101”, “+0011”, “-0110”, and “+0010” to be encoded together is the quantum with the largest absolute value. It is set to “3”, which is the first digit of the coefficient “-0110”.
  • the code indicating the maximum number of significant digits of the quantization coefficient is a code indicating whether the maximum number of significant digits has changed, a code indicating whether the maximum number of significant digits has increased or decreased, And a sign that indicates the amount of change in the maximum number of significant digits, and if the maximum number of significant digits has not changed, a sign that indicates whether the maximum number of significant digits has increased or decreased, and the maximum number of significant digits No sign indicating the number change is output.
  • the entropy code part 123 If the maximum number of significant digits changes as a result of the comparison of the maximum number of significant digits, the entropy code part 123 outputs code 1 indicating that the maximum number of significant digits has changed, and the maximum number of significant digits. If is changed, the code 0 indicating that the maximum number of significant digits has changed is output.
  • the first time that four quantized coefficients are input that is, the quantized coefficients of the subband to be encoded are input for the first time.
  • the quantized coefficients of the subband were not coded last time, so the last coded 4
  • the maximum number of significant digits of one (w) quantization coefficient is 0.
  • the entropy encoding unit 123 determines that the four most significant digits of the four quantized coefficients "-0101”, “+0011”, “-0110", and “+0010” input this time are Compare the encoded quantization coefficient with the maximum number of significant digits 0, and output the code 1 because the maximum number of significant digits has changed.
  • entropy code section 123 outputs a code indicating whether the maximum number of significant digits has increased or decreased following code 1 indicating that the maximum number of significant digits has changed.
  • the entropy code unit 123 outputs 0 when the maximum number of significant digits increases, and outputs 1 when the maximum number of significant digits decreases.
  • the entropy code part 123 has the maximum number of significant digits increased or decreased? Is output, a code indicating how much the maximum number of significant digits has increased or decreased, that is, a code indicating the amount of change in the maximum number of significant digits is output. Specifically, the entropy code unit 123 outputs (n-1) 0 codes, where n is the amount of change in the maximum number of significant digits (that is, the amount of increase or decrease). Outputs code 1 following 0.
  • the entropy code unit 123 outputs codes for the maximum number of significant digits indicating the absolute values of the four (w) quantized coefficients to be encoded this time. That is, for each quantization coefficient, the entropy encoding unit 123 sets the value of each digit of the absolute value of the quantization coefficient from the maximum number of significant digits indicated by the maximum number of significant digits to the smallest digit in order. A code indicating is output.
  • the entropy code input section 123 is first input. A code corresponding to the maximum number of significant digits indicating the absolute value of the quantized coefficient "-0101” is output.
  • the entropy code unit 123 determines the maximum number of significant digits (that is, the third digit) indicated by the maximum number of significant digits of the quantization coefficient “-0101”. ) Value “1”, the value "0” in the digit one digit lower than the largest digit (second digit), and the value "1” in the least significant digit are output.
  • the code “101” corresponding to the number of significant digits indicating the absolute value of the quantization coefficient “-01 01” is output.
  • the entropy encoding unit 123 encodes codes “011”, “110”, “011”, “110”, the number of significant digits indicating the absolute values of the quantization coefficients “+0011”, “-0110”, and “+0010”. And “010” are output in order. Therefore, “101011110010” is output as the code for the maximum number of significant digits indicating the absolute values of “-0101”, “+0011”, “-0110”, and “+0010”. Is done. As described above, the entropy code input unit 123 outputs a code having a length corresponding to the maximum number of significant digits of the four quantized coefficients to be encoded as a code indicating the absolute value of the quantized coefficient.
  • the entropy code base unit 123 outputs a code indicating each sine of the quantized coefficient that is not an absolute value power among the four (w) quantized coefficients.
  • the entropy encoding unit 123 outputs a code 0 when the sine force of the quantization coefficient + “+” (positive), If the symbol is "" (negative), the sign 1 is output.
  • the quantization coefficients to be encoded this time are "-0101”, “+0011”, “-0110”, and "+0010".
  • the sign of these quantization coefficients is negative, positive, Since it is negative or positive, as shown in the upper right in the figure, the entropy code section 123 outputs “1010” as a code indicating each sign of the quantized coefficient.
  • the entropy code unit 123 then continues to the next four consecutive quantized coefficients "+0011”, “+0110” , "0000", and "-0011"
  • the entropy code part 123 is configured to receive the four (w) newly input values. Compare the maximum number of significant digits of the quantized coefficient with the maximum number of significant digits of the four quantized coefficients previously signed.
  • the maximum number of significant digits of the four (w) quantization coefficients "+0011”, “+0110”, “0000”, and "-001 ⁇ " input this time are the ones with the largest absolute value. Since the highest digit of the coefficient “+0110” is “3”, which is the same as the maximum number of significant digits “3” of the quantized coefficient that was previously coded, the entropy code part 123 Outputs a code 0 indicating that the maximum number of significant digits has not changed.
  • the entropy coding unit 123 is configured to calculate the four (w) quantization coefficients “+001 1”, “+0110”, “0000”, and “ ⁇ 0011” to be encoded this time.
  • the quantization coefficients to be encoded this time are “+0011”, “+0110”, “0000”, and “ ⁇ 0011”, and the third quantum coefficient “0000” has an absolute value thereof. Since it is 0, the entropy sign ⁇ part 123 is a code “001” indicating the sign (positive, positive, negative) of each of the non-zero quantization coefficients “+0011”, “+0110”, and “ ⁇ 0011”. Is output.
  • the entropy encoding unit 123 performs encoding of the following four quantization coefficients “+1101”, “-0100”, “+0111”, and “ ⁇ 1010”.
  • the entropy code unit 123 now has the maximum number of significant digits of the newly input four (w) quantized coefficients and the maximum valid number of the four quantized coefficients previously coded. Compare with the number of digits
  • the entropy code section 123 has the maximum number of significant digits as shown on the right side in the figure. A code 0 is output to indicate that has increased.
  • the entropy code unit 123 adds four (w) quantization coefficients "+1101", “-0100”, “+0111”, and “-1010” to be encoded this time.
  • a code “1101010001 111010” in which codes “1101”, “0100”, “0111”, and “1010” corresponding to the maximum number of significant digits indicating each absolute value are arranged in order is output.
  • the entropy code unit 123 when a code indicating the absolute value of the quantized coefficient is output, the entropy code unit 123 generates a code indicating each sign of the non-zero quantum coefficient among the four quantum coefficients Is output.
  • the quantization coefficients to be encoded this time are "+1101", "-0100", “+0111”, and "-1010".
  • the sign of these quantization coefficients is positive and negative in order. Since it is positive and negative, as shown in the lower right in the figure, the entropy code unit 123 outputs “0101” as a code indicating each sign of the quantized coefficient.
  • the entropy coding unit 123 codes the input quantized coefficients by a predetermined number (w). As a result, the entropy code unit 123 outputs a code indicating whether or not the quantization coefficients of the line to be encoded are all 0, and a code indicating that the quantization coefficients of the line are not all 0. When output, then a code indicating the maximum number of significant digits of w quantization coefficients, a code indicating the absolute value (bit plane representation) of w quantization coefficients, and the sign of those quantization coefficients Is output.
  • Each of the code indicating the maximum number of significant digits of the w quantized coefficients, the code indicating the absolute value of the w quantized coefficients, and the code indicating the sign of the quantized coefficient The code indicating the maximum number of significant digits of the next w quantized coefficients, the code indicating the absolute value of the quantized coefficient, and the code indicating the sign of the quantized coefficient until all of the in quantized coefficients are encoded. Output repeatedly.
  • the encoding is performed in the order of quantization coefficient cast scan
  • the order in which the quantization coefficients are encoded does not necessarily have to be the raster scan order. For example, if the subband quantized coefficients shown in FIG. 20 are encoded, first the positions (0, 0), (0, 1), (0, 2), and (0, 3) (i.e.
  • the quantized coefficients at the leftmost position in each of the lines L1 to L4 are encoded, and then the positions (1, 0), (1, 1), (1, 2), and (1, In the figure, the quantization coefficients at 4 positions in the vertical direction are w quantized coefficients, so that the quantized coefficients in the figure are signed in order, such that the quantized coefficients in 3) are signed. You may do it.
  • the entropy coding unit 123 of Fig. 1 that performs the processing described above is configured as shown in Fig. 22 in more detail.
  • the entropy coding unit 123 includes a line determination unit 161, a VLC (Variable Length Coding) coding unit 162, a maximum number of significant digits calculation unit 163, a VLC coding unit 164, a significant digit extraction unit 165, and a VLC coding It has a collar part 166, a sign extraction part 167, a VLC code key part 168, and a code concatenation part 169.
  • VLC Very Length Coding
  • the quantization coefficient output from the quantization unit 122 (Fig. 19) is supplied (input) to the line determination unit 161, the maximum significant digit calculation unit 163, the significant digit extraction unit 165, and the sine extraction unit 167.
  • the line determination unit 161 determines whether or not the quantization coefficients of one line to be encoded input from the quantization unit 122 are all 0, and displays information indicating the determination result as VLC Supplied to code part 162. [0250] Based on the information indicating the result of the determination from the line determination unit 161, the VLC code unit 162 code-concatenates a code indicating whether or not the quantization coefficients of the lines to be encoded are all 0. Output to part 169.
  • the maximum number of significant digits calculation unit 163 calculates the maximum number of significant digits of w consecutive quantization coefficients input from the quantization unit 122, and displays information indicating the calculation result as VLC code This is supplied to the unit 164 and the effective digit extraction unit 165.
  • the VLC code unit 164 Based on the information indicating the calculation result from the maximum number of significant digits calculation unit 163, the VLC code unit 164 generates a code indicating the maximum number of significant digits of the w quantized coefficients as a code concatenation unit. 169.
  • the significant digit extraction unit 165 extracts the significant digits of the w quantization coefficients supplied from the quantization unit 122 based on the information indicating the calculation result from the maximum number of significant digits calculation unit 163. Then, the extracted significant digit (data) of the quantized coefficient is supplied to the VLC code unit 166 and the sine extraction unit 167.
  • the VLC code unit 166 Based on the significant digits of the quantized coefficients from the significant digit extraction unit 165, the VLC code unit 166 encodes the absolute values of these quantized coefficients, and the absolute values of the quantized coefficients obtained thereby. A code indicating the value is supplied to the code concatenation unit 169.
  • the sine extraction unit 167 extracts the sine of the quantized coefficient supplied from the quantization unit 122 based on the effective digit of the quantized coefficient from the effective digit extraction unit 165, and extracts the extracted sine Is supplied to the VLC code section 168.
  • the VLC code unit 168 encodes the sine (data) from the sine extraction unit 167, and supplies a code indicating the sign of the quantized coefficient obtained thereby to the code connection unit 169.
  • the code concatenation unit 169 receives line quantization coefficients supplied from the VLC encoding unit 162, the VLC encoding unit 164, the VLC code unit 166, and the VLC code unit 168, respectively.
  • a code indicating whether or not they are all 0 a code indicating the maximum number of significant digits, a code indicating the absolute value of the quantized coefficient, and a code indicating the sign of the quantized coefficient are concatenated, and an encoded image ( Data).
  • step S111 the wavelet transform unit 121 performs wavelet transform on the input image, decomposes the input image into a plurality of subbands, and quantizes the wavelet coefficients of each subband. To the conversion unit 122.
  • step S112 the quantization unit 122 quantizes the wavelet coefficients supplied from the wavelet transform unit 121, and supplies the quantized coefficients obtained as a result to the entropy coding unit 123.
  • the entropy coding unit 123 receives, for example, the quantization coefficient at each position of the subband expressed in the bit plane described with reference to FIG.
  • the entropy code encoding unit 123 performs the entropy code encoding process, and ends the encoding process.
  • the entropy code processing unit 123 which will be described later in detail for the entropy code processing, performs the quantization supplied from the quantization unit 122 in the entropy code processing as described with reference to FIG. Coding the coefficient by a predetermined number (w), a code indicating whether or not the quantization coefficient of the line to be encoded is all 0, a code indicating the maximum number of significant digits of the quantization coefficient, and a quantization coefficient
  • a code indicating the absolute value of the signal and a code indicating the sign of the quantization coefficient are output as an encoded image (data).
  • the image encoding device 111 encodes and outputs the input image.
  • step S112 of Fig. 23 the quantized coefficients output from the quantization unit 122 are the line determination unit 161, maximum significant digit calculation unit 163, and significant digit extraction of the entropy encoding unit 123 (Fig. 22). This is supplied (input) to the part 165 and the sign extraction part 167.
  • step S142 the maximum number of significant digits calculation unit 163 is input first on the line (y-1) before the line y indicated by the variable y stored in the line determination unit 161.
  • the line (y-l) force is the line L1 shown in Fig. 20
  • the value of Binit is w quantization coefficients from the leftmost position in the diagram of line L1, that is, w at positions (0, 0), (1, 0), ..., (w-1, 0) This is the maximum number of significant digits of the quantization coefficient.
  • step S143 the line determination unit 161 determines whether or not the quantization coefficients (absolute values) of the line y indicated by the stored variable y are all zero. For example, when the line y is the line L1 shown in FIG. 20, the line determination unit 161 determines that the quantization coefficients are all zero when the quantization coefficients at the position (X, y) on the line L1 are all zero. Determined to be 0.
  • step S143 If it is determined in step S143 that the quantized coefficients are all 0, the line determining unit 161 generates information indicating that the quantized coefficients are all 0 and uses the generated information as the VLC code unit 162. And the maximum number of significant digits calculation unit 163, and the process proceeds to step S144.
  • step S144 based on the information that the quantization coefficients from the line determination unit 161 are all 0, the VLC encoding unit 162 has all the quantization coefficients of the line to be encoded as 0.
  • a code 0 indicating the presence is output (supplied) to the code concatenation unit 169.
  • the code concatenation unit 169 outputs the code 0 supplied from the VLC encoding unit 162 as it is as a code obtained as a result of encoding the quantized coefficient of the line y.
  • step S146 the line determination unit 161 determines whether or not there is an unprocessed line among the encoded subband lines. That is, the line determination unit 161 determines whether or not it is a force that has encoded the quantization coefficients of all the lines in the subband.
  • the line determination unit 161 determines whether or not it is a force that has encoded the quantization coefficients of all the lines in the subband.
  • the line determination unit 161 It is determined that there is no unprocessed line.
  • step S146 If it is determined in step S146 that there is an unprocessed line, the line determination unit 16
  • step S146 determines whether there are no unprocessed lines. If it is determined in step S146 that there are no unprocessed lines, the line determination unit 161 encodes the quantization coefficients for all the lines constituting the subband. Therefore, the entropy encoding process is terminated, the process returns to step S113 in FIG. 23, and the encoding process is terminated.
  • step S143 of FIG. 24 when it is determined that the quantized coefficients of line y are all 0! / ⁇ (not 0! / ⁇ ⁇ there are quantized coefficients), The line determination unit 161 generates information indicating that the quantization coefficients are all 0 (no quantization coefficient exists), and outputs the information to the VLC code field unit 162 and the maximum number of significant digits calculation unit. 163, and the process proceeds to step S148.
  • step S148 the VLC encoding unit 162 determines that the quantization coefficients of the line to be encoded are all 0 based on the information that the quantization coefficients from the line determination unit 161 are not all 0.
  • the code 1 indicating that the above is output to the code concatenation unit 169 (supplied).
  • step S149 the maximum number of significant digits calculation unit 163 generates w power codes based on the information indicating that the quantum coefficient from the line determination unit 161 is not all zero.
  • the maximum number of significant digits calculation unit 163 updates the variable B as the value of the variable Binit that stores the value of the variable B, and stores the updated value of the variable B.
  • the maximum number of significant digits calculation unit 163 updates the value of variable B, it supplies the information indicating the updated value of variable B (maximum number of significant digits) to VLC code unit 164 and significant digit extraction unit 165. To do.
  • the VLC encoding unit 164 and the significant digit extracting unit 165 store the value of the variable B supplied from the maximum significant digit number calculating unit 163, respectively.
  • step S150 the entropy code key unit 123 performs w-piece code key processing. Note that the details of the w-piece set code processing will be described later.
  • the entropy encoding unit 123 performs continuous processing on the line y indicated by the variable y stored in the line determination unit 161. Sign w quantization coefficients.
  • the position on the line y specified by the variable y stored in the line determination unit 161 and the variable X stored in the maximum significant digit calculation unit 163 is defined as (X, y). Then, w consecutive positions on the line y are taken as consecutive positions (X, y), (x + 1, y), ..., (x + w-1, y) on the line y. . That is, in the w-piece set code processing, the entropy code section 123 has each quantum at positions (X, y), (x + 1, y), (x + w-1, y). Sign the conversion factor.
  • step S151 the maximum number of significant digits calculation unit 163 determines whether or not there is an unprocessed quantization coefficient on the line y. In other words, the maximum number of significant digits calculation unit 163 determines whether or not all quantized coefficients at positions on the line y indicated by the variable y stored in the line determination unit 161 are signed.
  • step S151 If it is determined in step S151 that there is an unprocessed quantized coefficient in the line y, the maximum significant digit calculating unit 163 encodes the next w quantized coefficients, so that the process is performed. Proceed to step S152.
  • step S150 each of the positions on the line y (x + w, y), (x + w + 1, y), (x + 2w—1, y)
  • the quantized coefficients of are encoded. [0288] If it is determined in step S151 that the line y has no unprocessed quantization coefficient, the maximum number of significant digits calculation unit 163 quantizes all the positions on the line y. Since the coefficient is signed, the process returns to step S146 to execute the subsequent processes.
  • the entropy coding unit 123 codes the quantization coefficient at each position in the subband by a predetermined number in the raster scan order.
  • step S181 the maximum number of significant digits calculation unit 163 sets the position on the line y specified by the stored variable x as (X, y), w consecutive positions (X, y) , (X + 1, y), ⁇ , (x + w- 1, y), the number of significant digits of the quantization coefficient with the largest absolute value will be signed.
  • This variable Bnew is stored as the value of variable Bnew indicating the maximum number of significant digits of the quantization coefficient.
  • the maximum number of significant digits calculation unit 163 supplies the maximum number of significant digits of the obtained w quantization coefficients, that is, the value of the variable Bnew to the VLC code unit 164 and the significant digit extraction unit 165.
  • the powers of the quantization coefficients at w consecutive positions are the quantization coefficients “ ⁇ 0101”, “+0011”, “-0110”, and “+0010” shown in FIG.
  • the quantization coefficient with the maximum absolute value is “-0110”
  • the effective number of digits is “3”, which is the first digit of “-0110”.
  • the value of the variable Bnew is 3.
  • the VLC code key unit 164 is supplied with the value of the variable B indicating the maximum number of significant digits of the previously coded w quantized coefficients from the maximum number of significant digit calculation unit 163. Also, it is determined whether or not this is the same as the value of the variable Bnew indicating the maximum number of significant digits of the w quantized coefficients to be encoded.
  • step S185 the VLC encoding unit 164 obtains integers n and m that satisfy the following equation (8).
  • the value of n indicates the amount of change in the maximum number of significant digits. If the value of variable Bnew is greater than the value of variable B, the value of m is 0. Conversely, if the value of variable Bnew is less than the value of variable B, the value of m is 1. Therefore, the value of m in equation (8) can be said to indicate whether the maximum number of significant digits has increased or decreased.
  • step S186 the VLC code section 164 sign-concatenates the value of m satisfying Equation (8) with a 1-bit code as a code indicating whether the maximum number of significant digits has increased or decreased. Output to part 16-9. For example, when the value of m that satisfies Equation (8) is satisfied, the VLC code unit 164 outputs a code 0 indicating that the maximum number of significant digits has increased.
  • step S187 the VLC code section 164 is a code indicating the amount of change in the maximum number of significant digits. Is output to the code concatenation unit 169. That is, the VLC code part 164 changes n 0's and 1's 1 to the maximum number of significant digits. Output as a sign indicating the quantity.
  • VLC encoding section 164 outputs “001” to code concatenation section 169 as a code indicating the change amount of the maximum number of significant digits.
  • the VLC code key unit 164 to the code concatenating unit 169 indicate that the maximum number of significant digits has changed as a code indicating the maximum number of significant digits of w quantization coefficients to be encoded.
  • a code a code indicating whether the maximum number of significant digits has increased or decreased, and a code indicating the amount of change in the maximum number of significant digits are output.
  • step S188 the maximum number of significant digits calculation unit 163 converts the stored value of the variable B to B
  • step S189 the maximum number of significant digits calculation unit 163 updates the variable B using the stored value of the variable B as the stored value of the variable Bnew.
  • the maximum number of significant digits calculation unit 163 memorizes, when the value of the variable X to be stored is w, the first input on the line (y—1) is stored.
  • the variable Binit is updated with the value of the variable Binit indicating the maximum number of significant digits of the quantized coefficient of the variable B as the value of the variable B indicating the maximum number of significant digits of the previously coded w quantized coefficients.
  • step S190 the significant digit extraction unit 165 changes the variable i from 0 to (w-1) as a predetermined variable, and the position on the line y supplied from the quantization unit 122. Extracts the significant digit of the quantized coefficient from the quantized coefficient of (x + i, y).
  • the effective digit extraction unit 165 supplies the extracted effective digit (data) of the quantization coefficient to the VLC code unit 166 and the sign extraction unit 167.
  • the VLC code unit 166 generates a code indicating the absolute value of the w quantized coefficients based on the significant digits supplied from the significant digit extraction unit 165 (by encoding the significant digits). Output to.
  • the value of x at the position (x + i, y) is the value of the variable X stored in the maximum number of significant digits calculation unit 163.
  • the value power SO of the variable X stored in the maximum significant digit calculation unit 163 is 3
  • the value of the variable B stored in the significant digit extraction unit 165 is 3
  • the power of the quantization unit 122 is also effective.
  • Digit extractor 165 has quantum at positions (x + i, y) (0 ⁇ 3), that is, positions (0, y), (1, y), (2, y), and (3, y). Assuming that w (4) quantization coefficients “-0101”, “+0011”, “-0110”, and “+0010” shown in FIG. 21 corresponding to the quantization coefficient are supplied, effective digit extraction is performed. The unit 165 extracts significant digits from these quantization coefficients.
  • the value of the variable B stored in the significant digit extraction unit 165 is 3, and the effective digit is 3, so the effective digit extraction unit 165 corresponds to the position (X, y). From the quantization coefficient “-0101”, the three-digit value “101” from the lowest is extracted.
  • the significant digit extraction unit 165 obtains quantization coefficients "+0011” for the position (x + 1, y), the position (x + 2, y), and the position (x + 3, y), From “-0110” and “+0010", the three least significant values "011”, "110”, and “010” are extracted sequentially.
  • the significant digit extraction unit 165 to the VLC code key unit 166 and the sine extraction unit 167 receive the significant digits of the quantization coefficients “-0101”, “+0 011”, “-0110”, and “+0010”. (Symbol) “101”, “011”, “110”, and “01 0” are output.
  • the VLC code key unit 166 encodes the codes “101”, “011”, “110”, and “010” supplied from the significant digit extraction unit 165, and generates w (four) quantum signals.
  • the code “101011110010” indicating the absolute value of the coefficient is output to the code concatenation unit 169.
  • step S191 the sign extraction unit 167 calculates a variable i from 0 (w
  • the VLC code key unit 168 codes the sign from the sign extraction unit 167 and outputs a code indicating the sign of the quantization coefficient obtained thereby to the code concatenation unit 169.
  • the code concatenation unit 169 is supplied with a code indicating the sign of the quantization coefficient from the VLC code base unit 168. Then, it is shown whether the quantization coefficients supplied from each of the VLC encoding unit 162, the VLC encoding unit 164, the VLC encoding unit 166, and the VLC encoding unit 168 are all zero. Each of the code, the code indicating the maximum number of significant digits of the quantized coefficient, the code indicating the absolute value of the quantized coefficient, and the code indicating the sign of the quantized coefficient is concatenated to encode the concatenated code. The w-piece set encoding process is terminated, the process returns to step S150 in FIG. 24, and the processes after step S151 are executed.
  • the value of x at the position (x + i, y) is the value of the variable X stored in the maximum number of significant digits calculation unit 163.
  • the value of the variable X stored in the maximum number of significant digits calculation unit 163 is 0, and the quantization unit 122 sends the sign extraction unit 167 to the position (x + i, y) (0 ⁇ i ⁇ 3).
  • w (4) quantization coefficients shown in Fig. 21 corresponding to the quantization coefficients at positions (0, y), (1, y), (2, y), and (3, y), respectively.
  • the sine extraction unit 167 extracts the sine from these quantized coefficients.
  • the sign extraction unit 167 extracts the quantization coefficient "-" from the quantization coefficient "-0101" corresponding to the position (X, y).
  • the sign extraction unit 167 performs quantization coefficients “+0011”, “+” at the position (x + 1, y), the position (x + 2, y), and the position (x + 3, y), respectively.
  • the signs "+”, “", and “+” of these quantization coefficients are extracted sequentially from -0110 "and” +0010 ".
  • the sign extraction unit 1 67 to the VLC encoding unit 168 have the sign “one”, “+” of the quantized coefficients “ ⁇ 0101”, “+0011”, “-0110”, and “+0 010”. , "One", and "+” are output.
  • the VLC encoding unit 168 encodes the sign “—”, “+”, “shi”, and “+” of the quantized coefficient supplied from the sign extracting unit 167.
  • the VLC code section 168 outputs the sign 1 and the sign "
  • the VLC code part 168 includes the sign of the quantized coefficient "—”, “+”, " Since "and” + “are input, the VLC code section 168 uses the code” 101 0 “consisting of the codes” 1 ",” 0 ",” 1 ", and” 0 "as the quantization coefficient sign. It outputs to the code
  • the entropy code encoding unit 123 encodes a predetermined number of subband quantization coefficients in a batch, and indicates a code indicating the maximum number of significant digits of the quantization coefficient. Outputs a sign indicating the absolute value of the quantization coefficient and a sign indicating the sign of the quantization coefficient
  • variable length codes are performed, the processing amount of the codes can be greatly reduced. As a result, it is possible to perform image signing at higher speed, and to realize an inexpensive sign coding device for signing high-resolution images in real time.
  • the number of significant digits of the quantized coefficient having the largest absolute value among w quantized coefficients is the value of variable Bnew indicating the maximum number of significant digits.
  • the value of may be greater than the number of significant digits of the quantization coefficient having the largest absolute value among the w quantization coefficients.
  • the code amount of the code that indicates the absolute value of the quantization coefficient increases.
  • FIG. 26 is a block diagram illustrating a configuration example of an image decoding device.
  • the image decoding device 211 includes an entropy decoding unit 221, an inverse quantization unit 222, and a wavelet inverse transform unit 223, and an encoded image (data) is input to the entropy decoding unit 221.
  • the entropy decoding unit 221 performs entropy decoding on the input encoded image code, and supplies the quantization coefficient obtained thereby to the inverse quantization unit 222.
  • the inverse quantization unit 222 inversely quantizes the quantization coefficient supplied from the entropy decoding unit 221 and supplies the wavelet coefficient of each subband obtained by the inverse quantization to the wavelet inverse transformation unit 223.
  • Wavelet inverse transform section 223 performs wavelet inverse transform on the wavelet coefficients of each subband supplied from inverse quantization section 222, and outputs the resulting image as a decoded image .
  • the entropy decoding unit 221 of the image decoding apparatus 211 that performs such processing is configured in more detail as shown in FIG. 27, for example.
  • the entropy decoding unit 221 includes a code division unit 251, a line determination unit 252, a generation unit 253, a VLC decoding unit 254, a VLC decoding unit 255, a VLC decoding unit 256, a quantization coefficient synthesis unit 257, And a switching unit 258.
  • the code division unit 251 receives an encoded image that is input based on information supplied from each of the line determination unit 252, the VLC decoding unit 254, the VLC decoding unit 255, and the VLC decoding unit 256.
  • the code having the predetermined length is supplied to the line determination unit 252, the VLC decoding unit 254, the VLC decoding unit 255, or the VLC decoding unit 256.
  • the code division unit 251 converts the input code into a code indicating whether the quantized coefficients of one encoded line are all 0, and w quantized encoded values. Judgment is performed by dividing the code into a code indicating the maximum number of significant digits of the quantized coefficient, a code indicating the absolute value of the encoded w quantized coefficients, and a code indicating the sign of the encoded quantized coefficient. 252, VLC decoding unit 254, VLC decoding unit 255, and VLC decoding unit 256.
  • the line determination unit 252 determines whether or not the quantization coefficients of one line of the encoded subband are all 0 based on the code supplied from the code division unit 251, and the determination Information indicating the result is supplied to the code division unit 251, the generation unit 253, and the VLC decoding unit 254.
  • generation unit 253 Based on the information indicating the determination result from line determination unit 252, generation unit 253 generates a code indicating a quantization coefficient that is 0 for one line, and supplies the generated code to switching unit 258.
  • the VLC decoding unit 254 decodes the code indicating the maximum number of significant digits of the w quantized coefficients supplied from the code dividing unit 251 and encodes the w quantized codes. Maximum conversion factor The number of significant digits is obtained, and information indicating the obtained maximum number of significant digits is supplied to the code division unit 251, the VLC decoding unit 255, and the quantization coefficient synthesis unit 257.
  • the VLC decoding unit 255 Based on the information indicating the maximum number of significant digits from the VLC decoding unit 254, the VLC decoding unit 255 decodes the code indicating the absolute value of the quantized coefficient supplied from the code dividing unit 251. The obtained significant digits (data) of the w quantized coefficients are supplied to the VLC decoding unit 256 and the quantized coefficient combining unit 257. Also, the VLC decoding unit 255 supplies information indicating the decoding result of the code indicating the absolute value of the quantized coefficient to the code dividing unit 251.
  • VLC decoding section 256 decodes the code indicating the sign of the quantized coefficient supplied from code dividing section 251 based on the significant digit of the quantized coefficient supplied from VLC decoding section 255, and thereby The sine (data) of the obtained quantization coefficient is supplied to the quantization coefficient synthesis unit 257. Further, the VLC decoding unit 256 supplies information indicating the decoding result of the code indicating the sign of the quantized coefficient to the code dividing unit 251.
  • the quantization coefficient combining unit 257 uses the VLC decoding unit 254 based on the information indicating the maximum number of significant digits from the VLC decoding unit 254, and the VLC decoding unit 256. The sine of the quantized coefficients supplied from them is synthesized, and w quantized coefficients obtained thereby are supplied to the switching unit 258.
  • Switching section 258 outputs the quantized coefficients from generating section 253 or quantized coefficient combining section 257.
  • FIG. 28 is a block diagram showing a more detailed configuration example of the code division unit 251. As shown in FIG.
  • the code division unit 251 includes a control unit 271 and a memory 272.
  • the control unit 271 supplies the input code to the memory 272 and temporarily stores it.
  • control unit 271 temporarily stores in memory 272 based on information supplied from each of line determination unit 252, VLC decoding unit 254, VLC decoding unit 255, and VLC decoding unit 256 shown in FIG.
  • a code having a predetermined length is read out and supplied to the line determination unit 252, VLC decoding unit 254, VLC decoding unit 255, or VLC decoding unit 256.
  • the code division unit 251 may be configured as shown in FIG. 29, for example.
  • the code division unit 251 illustrated in Fig. 29 includes a control unit 291, a switch 292, and nodes 293-1 to 293-4.
  • the control unit 291 receives the line determination unit 252, the VLC decoding unit 254, the VLC decoding unit 255, and the VLC shown in FIG. Based on information supplied from each of the decoding units 256, the switch 292 is controlled, and among the input codes, a code having a predetermined length is selected as a line determination unit 252, a VLC decoding unit 254, a VLC decoding unit 255, or The data is supplied to the VLC decoding unit 256.
  • each of the nodes 293-1 to 293-4 is connected to the line determination unit 252, the VLC decoding unit 254, the VLC decoding unit 255, and the VLC decoding unit 256, and the control unit 291 includes Then, one of the nodes 293-1 to 293-4 is selected as the code supply destination, and the connection between the switch 292 and the selected node is controlled.
  • the switch 292 connects the selected node to the input based on the control of the control unit 291, the code input to the code dividing unit 251 indicates the switch 292 and the node connected to the switch 292. Via the line determination unit 252, the VLC decoding unit 254, the VLC decoding unit 255, or the VLC decoding unit 256 selected as a code supply destination.
  • This decoding process is started when a code as an encoded image is input to the entropy decoding unit 221.
  • step S231 the entropy decoding unit 221 performs entropy decoding processing, performs entropy decoding on the code as the input image, and supplies the quantization coefficient obtained thereby to the inverse quantization unit 222.
  • the entropy decoding unit 221 decodes and decodes quantized ⁇ w quantized coefficients at consecutive positions on the encoded subband line. The quantized coefficients are supplied to the inverse quantization unit 222.
  • step S232 the inverse quantization unit 222 inversely quantizes the quantization coefficient supplied from the entropy decoding unit 221 and converts the wavelet coefficient of each subband obtained by the inverse quantization to the wavelet inverse transform unit. 223.
  • step S233 the wavelet inverse transform unit 223 is supplied from the inverse quantization unit 222.
  • the wavelet coefficients of each subband are subjected to inverse wavelet transform, and the resulting image is output to complete the decoding process.
  • the image decoding device 211 decodes and outputs the encoded image.
  • step S262 the VLC decoding unit 254 first inputs w pieces on the line (y-l) immediately before the line y indicated by the variable y stored in the line determination unit 252.
  • the variable that indicates the maximum number of significant digits of the first w quantized coefficients on the line (y-l) The value of Binit is the maximum number of significant digits of w quantized coefficients from the leftmost position in the line L1 figure.
  • step S262 the code division unit 251 encodes the first 1-bit code of the input codes and indicates whether or not all the quantization coefficients of the line to be decoded are 0. Is supplied to the line determination unit 252.
  • step S263 the line determination unit 252 determines whether or not it is a 1-bit code number read (supplied) from the code division unit 251, and generates information indicating the result of the determination. To the generation unit 253, the VLC decoding unit 254, and the code division unit 251.
  • step S263 If it is determined in step S263 that the code is 0, since the quantization coefficients of the line y are all 0, the line determination unit 252 advances the processing to step S264.
  • step S264 the generation unit 253 sets all the quantization coefficients of the line y to 0 based on the information indicating the determination result from the line determination unit 252. Then, the generation unit 253 generates a code indicating the quantization coefficient of the line y and supplies the code to the switching unit 258.
  • step S266 the line determination unit 252 determines whether or not there is an unprocessed line among the lines of the subband that is decoded! That is, the line determination unit 252 determines whether or not the quantum power coefficients at positions on all the lines of the subband being decoded have been decoded.
  • step S266 If it is determined in step S266 that there is an unprocessed line, the line determination unit 252 stores the next line (y + 1) of the line y indicated by the variable y stored by itself. Since the quantization coefficient at each position above is decoded, the process proceeds to step S267.
  • step S266 On the other hand, if it is determined in step S266 that there are no unprocessed lines, the quantized coefficients are decoded for all the lines constituting the subband.
  • the line determination unit 252 ends the entropy decoding process, returns the process to step S231 in FIG. 30, and executes the processes after step S232.
  • step S263 of Fig. 31 If it is determined in step S263 of Fig. 31 that the coding power is not ⁇ , the line determination unit 252 advances the processing to step S268.
  • step S268 the VLC decoding unit 254 corresponds to the first input quantized coefficient among the w quantized coefficients to be decoded based on the information indicating the determination result from the line determination unit 252.
  • the VLC decoding unit 254 updates the variable B as the value of the variable Binit that stores the value of the variable B. Store the new and updated value of variable B.
  • step S268 code division section 251 decodes the next 1-bit code after the input code based on the information indicating the determination result from line determination section 252. This is supplied to the VLC decoding unit 254 as a code indicating whether the maximum number of significant digits of the quantization coefficient has changed.
  • step S269 the entropy decoding unit 221 performs w threads and decoding processing. The details of the w-group decoding process will be described later.
  • the entropy decoding unit 222 receives the continuous w on the line y indicated by the variable y stored in the line determination unit 252. Decode the quantized coefficient at each position.
  • step S270 the VLC decoding unit 254 determines whether or not there is an unprocessed quantized coefficient in the line y. That is, the VLC decoding unit 254 determines whether or not all quantized coefficients at positions on the line y indicated by the variable y stored in the line determining unit 252 have been decoded.
  • step S270 If it is determined in step S270 that there is an unprocessed quantized coefficient in the line y, the next w quantized coefficients are decoded, so the VLC decoding unit 254 proceeds to step S271. Advance
  • step S269 each of the positions (x + w, y), (x + w + 1, y), (x + 2w—1, y) on the line y
  • the quantization coefficient is decoded.
  • step S270 If it is determined in step S270 that there is no unprocessed quantized coefficient in line y, VLC decoding section 254 has decoded quantized coefficients at all positions on line y. Therefore, the process returns to step S266, and the subsequent processes are executed.
  • the entropy decoding unit 221 decodes a predetermined number of quantization coefficients at each position of the subband in the raster scan order.
  • step S268 of Fig. 31 the code division unit 251 to the VLC decoding unit 254 indicate whether or not the maximum number of significant digits of w quantized coefficients to be decoded has changed.
  • a 1-bit code is supplied.
  • step S311 of Fig. 32 the VLC decoding unit 254 determines whether or not the read (supplied) 1-bit coding power ⁇ is a power.
  • step S311 If it is determined in step S311 that the read code is 0, since the maximum number of significant digits has not changed, the VLC decoding unit 254 indicates that the maximum number of significant digits has not changed. Is generated, supplied to the code division unit 251, the VLC decoding unit 255, and the quantized coefficient synthesis unit 257, and skips each processing from step S312 to step S314 and proceeds to step S315.
  • step S312 to step S314 which is a process for decoding the code indicating whether the maximum number of significant digits has increased or decreased, and the code indicating the amount of change in the maximum number of significant digits, is skipped. .
  • step S311 determines whether the read 1-bit code is not 0, the maximum number of significant digits has changed, so that the VLC decoding unit 254 proceeds to step S312 and performs code 1 bit is read from the dividing unit 251 and the value is stored as a predetermined variable m.
  • step S313 the VLC decoding unit 254 reads the code from the code division unit 251 until the code becomes 1 (until the code 1 is read), and sets the number of code 0 read so far to the predetermined variable n.
  • the third code read by the VLC decoding unit 254 from the code division unit 251 is 1, that is, when the VLC decoding unit 254 reads the code “001”, the VLC decoding unit 254 reads the code 1
  • the number of code 0 read is 2
  • the VLC decoding unit 254 stores 2 that is the number of the read code 0 as the value of the variable n.
  • step S314 the VLC decoding unit 254 obtains the value of the variable B indicating the maximum number of significant digits using the following equation (9), and stores the obtained value of the variable B.
  • Equation (9) the left side in Equation (9) represents the value of the newly obtained variable B, and B on the right side represents the value of the stored variable B.
  • the symbol "" "in Eq. (9) represents the power of 7. Therefore, (-l) 'm represents the mth power of (1).
  • VLC decoding section 254 calculates equation (9) and updates stored variable B.
  • the VLC decoding unit 254 generates information indicating the updated maximum number of significant digits, and the code division unit 251, the VLC decoding unit 255, and the quantization coefficient synthesis unit Supply to 257.
  • the VLC decoding unit 254 stores and stores the first quantized w quantizations on the line (y—1) when the value x of the variable x is ⁇ .
  • the variable Binit is updated with the value of the variable Binit indicating the maximum number of significant digits of the coefficient as the value of the variable B indicating the maximum number of significant digits of the w quantized coefficients to be decoded.
  • step S316 the VLC decoding unit 255 sets the predetermined variable i to 0 and sets the variable i to 0 (w
  • the code is read from the code division unit 251 bit by bit, and the code of the read B bit is a code indicating the significant digit of the quantization coefficient at the position (x + i, y) on the line y. Then, the data is supplied (output) to the VLC decoding unit 256 and the quantized coefficient synthesis unit 257. In addition, the VLC decoding unit 255 generates information indicating the significant digits of the quantization coefficient and supplies the information to the code division unit 251.
  • the value of x at the position (x + i, y) is the value of the variable x stored in the VLC decoding unit 254! /.
  • the code division unit 251 reads the 3-bit code, and outputs the read 3-bit code as the significant digit of the quantized coefficient at position (0, y).
  • the next 3-bit code is read and the code is output as the significant digit of the quantized coefficient at position (3, y).
  • step S317 the VLC decoding unit 256 sets the predetermined variable i to 0 (w
  • the VLC decoding unit 256 decodes the read code, and supplies (outputs) the obtained code to the quantization coefficient synthesis unit 257 as a sign of the quantization coefficient. Further, the VLC decoding unit 256 generates information indicating the sign of the quantized coefficient and supplies the information to the code dividing unit 251.
  • the value of x at the position (x + i, y) is the value of the variable x stored in the VLC decoding unit 254! /.
  • the VLC decoding unit 254 stores the value X of the variable X and a valid digit other than 0 is supplied from the VLC decoding unit 255
  • step S318 the quantization coefficient synthesis unit 257 synthesizes the significant digits supplied from the VLC decoding unit 255 and the sine supplied from the VLC decoding unit 255, and obtains the quantization coefficients obtained thereby. Then, the data is output to the inverse quantization unit 222 via the switching unit 258, the w-piece set decoding process is terminated, the process is returned to step S269 in FIG. 31, and the processes after step S270 are executed.
  • the number of digits of the absolute value of the quantization coefficient to be output is predetermined.
  • the number of digits of the predetermined absolute value of the quantized coefficient to be output is 4 digits and the maximum number of significant digits indicated by the information indicating the maximum number of significant digits from the VLC decoding unit 254 is 3, VLC decoding
  • the quantized coefficient combining unit 257 outputs the quantized coefficient “-0101”.
  • the quantized coefficient synthesis unit 257 has 4 digits for the absolute value of the quantized coefficient, and the valid digit is "101" (3 digits).
  • the upper bit of the upper bit is set to 0, and the absolute value of the quantization coefficient is set to “0101”, which is 4 digits.
  • “-0101” obtained by synthesizing the sign “—” of the quantum coefficient and the absolute value “0101” of the quantum coefficient is output as a quantization coefficient.
  • the quantization coefficient synthesis unit 257 outputs a quantization coefficient without a sign.
  • the number of digits of the predetermined absolute value of the quantized coefficient to be output is 4 digits, indicating the maximum number of significant digits from the VLC decoding unit 254.
  • the quantization coefficient combining unit 257 outputs the quantization coefficient “0000”.
  • the entropy decoding unit 221 decodes the quantized coefficients of the subbands that have been encoded together by a predetermined number.
  • SIMD calculation instructions for example, MMX (MultiMedia extension), SSE (Streaming SIMD Extensions), SSE2, SSE3, etc. used in CPUs of Intel Corporation are used. is there.
  • the entropy coding unit 123 of the image coding apparatus 111 is configured as shown in Fig. 33, for example.
  • the entropy code section 123 shown in Fig. 33 includes a line determination section 161, a VLC encoding section 162, a maximum number of significant digits calculation section 163, a VLC encoding section 164, a significant digit extraction section 165, and a VLC code section. 22 is the same as the entropy coding unit 123 shown in FIG. 22 in that a unit 166, a sign extraction unit 167, and a VLC encoding unit 168 are provided, and a buffer 401 is newly provided in the code concatenation unit 169. It is different in that it is.
  • FIG. 33 parts corresponding to those in FIG. 22 are denoted by the same reference numerals, and description thereof will be omitted as appropriate.
  • the buffer 401 of the code concatenation unit 169 receives the quantum of the line supplied from each of the VLC encoding unit 162, the VLC encoding unit 164, the VLC encoding unit 166, and the VLC encoding unit 168.
  • the storage area of the noffer 401 is managed every 32 bits, and the code (data) input to the buffer 401 is divided into a code used for scalar calculation processing and a code used for vector calculation processing.
  • a code used for scalar calculation processing or a code used for vector calculation processing is stored as a code (data) to be temporarily stored.
  • the absolute value force IMD operation instruction of the quantum coefficient is encoded in parallel, so that the code indicating the absolute value of the quantization coefficient is vector-coded.
  • Codes used for arithmetic processing are used, and other codes are used for scalar arithmetic processing.
  • the storage area in which the code used for the scalar operation processing is also referred to as the scalar area.
  • a storage area in which codes used for processing are stored is also referred to as a vector area.
  • the twelve quantized coefficients “-0101”, “+00 11”, “-0110”, “+0010”, “+0011” shown in FIG. , “+0110”, “0000”, “ ⁇ 0011”, “+1101”, “ ⁇ 0100”, “+0111”, and “ ⁇ 1010” are sequentially input to the entropy code section 123.
  • the code concatenation unit 169 of the entropy code base unit 123 determines whether or not the quantization coefficients of the lines to be encoded are all 0.
  • a code "110001” consisting of a code "1” indicating whether or not these quantum coefficients are all 0 and a code "10001" indicating the maximum number of significant digits of the quantization coefficient is indicated by an arrow.
  • it is stored in a 32-bit scalar area provided in the buffer 401 of the code concatenation unit 169.
  • the scalar area is further divided into four 8-bit areas. In the scalar area, the code stored in the area is the upper order from left to right in the figure. The bit power of is stored and stored in order.
  • a code "110001” consisting of a code “1” indicating whether or not the quantization coefficient is all 0 and a code "10001” indicating the maximum number of significant digits of the quantization coefficient is stored in the scalar area. Then, the entropy code section 123 receives w (4) quantization coefficients “-0101”, “+00 11”, “-0110”, and “+0010” that are input first. The codes for the maximum number of significant digits indicating each absolute value are stored in the vector area simultaneously (in parallel).
  • the vector region is further divided into four 8-bit regions, and each of the four regions of the vector region is the absolute value of four quantization coefficients of the same length (bit length). Each sign indicating a value is stored from left to right in the figure, starting with the most significant bit.
  • the code “101” indicating the absolute value of the quantization coefficient is stored in the left 8-bit area in the figure, and the second 8 from the left.
  • the code “011” is stored in the bit area from the left side
  • the code “110” is stored in the second area from the right
  • the code “010” is stored in the rightmost area from the left side. It is remembered.
  • the vector area 401 Is provided with a new vector area, In the data area, codes used for sequential vector operation processing are stored.
  • the scalar region includes a code " ⁇ ” indicating whether or not the quantization coefficient is all 0 and a code "10001" indicating the maximum number of significant digits of the quantization coefficient. Since “110 001” has already been stored, the entropy code section 123, as shown by the arrow A13, is the quantization coefficient “ ⁇ 0101”, “+0011”, “-0110”, and “+0010”. The code “1010” indicating the sign of the symbol is stored and stored on the right side of the already stored code “110001” in the scalar area (following the code “110001”).
  • the entropy code unit 123 is configured to generate the next four quantized coefficients "+0011”, “+0110”, "0000”, and Encode "-0011”.
  • the entropy coding unit 123 uses the maximum number of significant digits “3” of the previously coded four quantized coefficients and the quantized coefficients “+0011”, “+0110”, “ 0000 "and the maximum number of significant digits of" -0011 "" 3 ". Since the maximum number of significant digits has not changed, as shown by the arrow A14, The code “0” indicating that the number of significant digits has not changed is stored in the scalar area following the code “1100011010” that has already been stored. .
  • the entropy code base unit 123 inputs each of the w (4) quantized coefficients "+0011”, “+0110", “0000”, and “-0011” inputted this time.
  • the codes “011”, “110”, “000”, and “011” corresponding to the maximum number of significant digits indicating the absolute value are simultaneously stored and stored in the beta area as indicated by the arrow A15.
  • the entropy code portion 123 has four quantization coefficients “+0011”, “+0110”, “0000”, and “ ⁇ 0011” inputted this time. Among them, the code “001” indicating the sign of the quantum coefficient that is not absolute value power is stored and stored on the right side of the code “1100 0110100” already stored in the scalar region.
  • the entropy encoding unit 123 performs the following four quantization coefficients: Encode "+1101”, “-0100”, “+011 1", and "-1010".
  • the entropy encoding unit 123 receives the maximum number of significant digits “4” of the four quantized coefficients “+1101”, “-01 00”, “+0111”, and “ ⁇ 1010” input this time. Is compared with the previously encoded four quantization coefficients “3”, and as shown by arrow A17, the sign “1” indicating that the maximum number of significant digits has changed, and the maximum number of significant digits has increased. The code “101” indicating the maximum number of significant digits and the code “0” indicating the amount of change in the maximum number of significant digits is stored in the scalar area.
  • the entropy code part 123 stores each of the codes “1101”, “0100”, “0111”, and “1010” indicating the absolute values of these quantized coefficients simultaneously in the vector area as indicated by an arrow A18. .
  • the entropy code section 123 secures (provides) a new vector area in the noffer 401 and provides a code indicating the absolute value of the quantization coefficient input this time. 1101 ",” 0100 “,” 0111 “, and” 1010 ", each of the upper 2 bits of the code” 11 “,” 0 1 ",” 01 “, and” 10 "in the vector domain A code indicating the absolute value of the quantized coefficient input this time, which is stored and stored on the right side of each of the already stored codes “1010 11”, “011110”, “110000”, and “010011”.
  • Each of the lower two bits of "110", “00”, “11”, and “10” is newly added to each of "1101,""0100,””0111,” and “1010.”
  • the left 8-bit area, the second from the left The 8-bit area, the second 8-bit area from the right, and the rightmost 8-bit area are stored and stored on the left side.
  • the sign key unit 123 displays the code “0101” indicating the sign of the quantized coefficient whose absolute value is not 0, on the right side of the code “11000110100001101” already stored in the scalar region. Store and store after.
  • the entropy code section 123 is indicated by the code stored in the scalar area indicated by the arrow A19, indicated by the arrow A19.
  • the code stored in the upper vector area and the code stored in the lower vector area are sequentially output as a coded image.
  • the code “11000110100001101010100000000000” stored in the scalar area the code stored in the upper vector area in the figure “10101111011110011100000101001110” , And the code “01000000000000001100000010000000” stored in the lower vector area is output in order.
  • the code is stored when the sign of the quantization coefficient is finished, and any code stored in the strong region is read at the time of decoding. So, whatever code is stored,
  • the image encoding device 111 has been described with reference to the flowchart of Fig. 23 when an image is input even when the absolute value of the quantization coefficient is encoded using a SIMD operation instruction. Perform the encoding process. Further, in the entropy encoding process of FIG. 24 corresponding to the process of step S113 of FIG. 23, the processes of steps S141 to S149, the process of step S151, and the process of step S152 of FIG. The processing device 111 performs the same processing as that in the case where the SIMD operation instruction is not used (the processing described with reference to FIG. 24), and uses the SIMD operation instruction in the w-group code processing corresponding to step S150. The process is different from that when not.
  • the VLC code input unit 162 to the code concatenating unit 169 A code indicating whether or not the absolute values of the quantized coefficients of the line to be encoded are all 0, and the maximum of the quantized coefficients supplied from the VLC code unit 164 to the code concatenating unit 169
  • Each of the code indicating the number of significant digits and the code indicating the sign of the quantization coefficient supplied from the VLC code key unit 168 to the code concatenating unit 169 is the code concatenating unit as described with reference to FIG. It is stored and stored in a scalar area provided in the buffer 401 of 169.
  • step S420 the effective digit extraction unit 165 supplies the positions (X, y), (x + 1, y), (x + 1, y) on w consecutive lines y supplied from the quantization unit 122, Extract the significant digits of the quantized coefficient from the (x + w- 1, y) quantized coefficient simultaneously.
  • the effective digit extraction unit 165 supplies the extracted effective digits of the quantization coefficient to the VLC code key unit 166 and the sign extraction unit 167.
  • the VLC encoding unit 166 simultaneously code-concatenates codes indicating the absolute values of the w quantized coefficients based on the significant digits supplied from the significant digit extracting unit 165 (significant digits are signed). Output to part 169.
  • the value of X at the position (X, y) is stored as the value of the variable X stored in the maximum number of significant digits calculation unit 163, and the value of y is stored in the line determination unit 161. Is the value of the variable y.
  • the code concatenation is performed from the VLC code unit 166. Since the codes “101”, “011”, “110”, and “010” indicating the absolute values of the four quantization coefficients are supplied to the part 169, the code concatenation part 169 is supplied with these supplied quantum values.
  • the sign indicating the absolute value of the quantization coefficient is signed and stored in the vector area and stored as indicated by arrow A12 in FIG.
  • step S421! / The sign extraction unit 167 takes a predetermined variable and changes the variable i from 0 to (w
  • the sign of the quantized coefficient is extracted from the quantized coefficient at the position (x + i, y) on the line y that is not the quantized coefficient force SO supplied from the quantizing unit 122 and extracted.
  • the signed sine (data) is supplied to the VLC code section 168.
  • the value of x at the position (X, y) is the value of the variable X stored in the maximum number of significant digits calculation unit 163, and the value of y is stored in the line determination unit 161.
  • the value of variable y is assumed.
  • the VLC code key unit 168 codes the sine from the sine extraction unit 167 and outputs a code indicating the sign of the quantized coefficient obtained thereby to the code linking unit 169. Further, as described with reference to FIG. 34, the code concatenation unit 169 stores the code indicating the sign of the quantized coefficient supplied from the VLC code base unit 168 in the scalar area of the noffer 401.
  • the code concatenation unit 169 stores the code indicating the sign of the quantized coefficient supplied from the VLC code base unit 168 in the scalar area of the noffer 401.
  • the code concatenation unit 169 stores the code indicating the sign of the quantization coefficient in the scalar area of the buffer 401 and stores it in the scalar area of the buffer 401 as described with reference to FIG.
  • the stored code and the code stored in the vector area are concatenated, the concatenated code is output as an encoded image, the w-group encoding process is terminated, and the process is shown in FIG. Returning to step S150, the processes after step S151 are executed.
  • the entropy coding unit 123 codes the absolute values of a predetermined number of quantization coefficients simultaneously.
  • the quantization coefficient is arithmetically coded for each bit plane based on a plurality of coding passes, so that predetermined processing in the entropy code is performed in parallel.
  • the force that was difficult to perform at the same time In the entropy code unit 123, it is not necessary to perform complicated processing in units of bit planes, so it is possible to code the absolute values of multiple quantization coefficients simultaneously. it can.
  • step S421 In the processing of step S421, it has been described that the sign of w quantized coefficients is sequentially encoded. However, as in the case of encoding the absolute value of quantized coefficients, a SIMD operation instruction is executed. By using it, the sign of the sign of w quantized coefficients may be simultaneously performed. In this case, each of the codes indicating the signs of w quantized coefficients obtained by encoding is stored in the vector area of the buffer 401 divided into w.
  • the buffer 401 has a single scalar area or vector area as a 32-bit area, and the 32-bit area is further divided into four 8-bit areas.
  • 1S The size of one scalar area or vector area can be set arbitrarily.
  • one scalar area or vector area may be a 128-bit area, and the 128-bit area may be divided into eight 16-bit areas.
  • the code division unit 251 (Fig. 27) of the image decoding device 211 that decodes an image has, for example, the configuration shown in Fig. 28.
  • a code as an encoded image is stored and stored in units of 32 bits as described with reference to FIG.
  • the control unit 271 When reading the code from the memory 272 and outputting the code, the control unit 271 first outputs the first 32 bits.
  • the storage area is stored as a scalar area, and in the order of the leading power of the scalar area.
  • control unit 271 when reading the code indicating the absolute value of the quantized coefficient from the memory 272, the control unit 271 stores a 32-bit storage area next to the storage area that is the scalar area of the memory 272 (and thus this storage area).
  • the code indicating the absolute value of the quantization coefficient is read out from the vector area and output as a vector area.
  • the image decoding device 211 is described with reference to the flowchart of Fig. 30 when an encoded image is input even when the absolute value of the quantized coefficient is decoded using the SIMD operation instruction. Perform decryption.
  • the processes in steps S261 to S268, the process in step S270, and the process in step S271 in FIG. The decoding device 211 performs the same processing as that in the case where the SIMD operation instruction is not used (the processing described with reference to FIG. 31), and performs the SIMD operation instruction in the w-decoding processing corresponding to step S269. If not used, perform different processing.
  • steps S451 to S455 correspond to the processes in steps S311 to S315 in Fig. 32 and are executed in the same manner. Accordingly, the description thereof will be repeated and will be omitted.
  • the memory 272 of the code division unit 251 stores, for example, a code as an image as indicated by an arrow A19 in FIG. Are stored in three 32-bit areas.
  • Each of the line determination unit 252, the VLC decoding unit 254, and the VLC decoding unit 256 uses the top region in FIG. 34 as the scalar region among the three 32-bit regions (see FIG. The code indicating whether or not the quantum coefficients of the line are all 0, the code indicating the maximum number of significant digits of the quantization coefficient, and the code indicating the sign of the quantization coefficient are sequentially read from To decrypt.
  • step S456 the VLC decoding unit 255 simultaneously reads w consecutive B-bit codes from the code dividing unit 251 and reads each of the read B B-bit codes on the position y on the line y ( X, y), (x + 1, y),..., (X + w-l, y) as codes indicating the significant digits of the quantized coefficients, VLC decoding section 256 and quantized coefficient combining section 257 Supply (output). Also, the VLC decoding unit 255 generates information indicating the significant digits of the quantized coefficients and supplies the information to the code dividing unit 251.
  • the value of X at the position (X, y) is the value of the variable X stored in the VLC decoding unit 254, and the value of y is the value of the variable y stored in the line determination unit 252. Is done.
  • the number is a predetermined number
  • the value of variable B is 3
  • the code as an image is 3 in the memory 272 of the code division unit 251 as indicated by the arrow A19 in FIG.
  • the upper 32-bit storage area in Fig. 34 is already a scalar area, and all the line quantization coefficients are 0.
  • the code indicating whether or not, and the code indicating the maximum number of significant digits of the quantization coefficient have been read, and the code is still read from the next 32-bit storage area (second storage area from the top).
  • the VLC decoding unit 155 uses the second storage area from the top as the vector area, the left 8-bit area, the second 8-bit area from the left, and the second from the right.
  • the left side in the figure of the 8-bit area and the rightmost 8-bit area Sign “101”, “011”, which indicates the significant digits of the quantized coefficients at positions (X, y), (x + 1, y), (x + 2, y), and (x + 3, y), "11 Each of “0” and “010” is simultaneously read and output.
  • step S457 and the process of step S458 are performed. Since these processes are the same as the process in step S317 and the process in step S318 in FIG.
  • entropy decoding unit 221 simultaneously decodes absolute values of a predetermined number of quantization coefficients.
  • each of the codes indicating the signs of the w quantized coefficients is sequentially decoded, the sign of the w quantized coefficients is The decoding of each of the codes shown may be performed simultaneously (in parallel) using SIMD arithmetic instructions.
  • the packet processing cannot be started unless the encoding of one image is completely completed, and thus a delay is generated accordingly.
  • the (encoded) quantum coefficient power corresponding to a position in a rectangular region such as a side parallel to the X direction and the y direction on the subband shown in FIG. Since it is stored in S1 packet, there is a delay corresponding to the length of the rectangular area in the y direction.
  • the conventional JPEG2000 system such a delay due to the code is generated, and real-time processing is difficult.
  • the y direction of the rectangular area on the subband Although it was possible to reduce the delay by shortening the length of the code, in this case, the encoding efficiency is deteriorated.
  • the image coding apparatus 111 it is not necessary to perform arithmetic coding on the quantization coefficient for each bit plane based on a plurality of coding noses.
  • the code indicating the absolute value of the quantized coefficient is output
  • the code indicating the maximum number of significant digits is output
  • the code indicating the sign of the quantized coefficient is output. Since it is only necessary to access, the image can be encoded more easily.
  • the code indicating the maximum number of significant digits and the code indicating the sign of the quantization coefficient may be 1 bit or 0 bit, in practice, when encoding an image, approximately 2 The image can be encoded only by accessing the quantized coefficient about times. Also, when decoding an image, it is only necessary to access the quantization coefficient once, so that the image can be decoded more easily and at a higher speed.
  • the subband quantization coefficients are encoded or decoded in the raster scan order, so that it is not necessary to buffer the quantization coefficient. Delay due to decoding can be reduced.
  • the present invention is not limited to the image data.
  • the present invention can also be applied to the case where data is encoded or the case where encoded data obtained by encoding audio data is decoded.
  • a code indicating the maximum number of significant digits of w predetermined numerical values represented by the code input as the audio data a code indicating the absolute value of those numerical values, and a code of those numerical values
  • the code indicating the sign is output as encoded audio data.
  • the quantization coefficient is losslessly encoded in the coding method described in the present embodiment. Therefore, for example, by quantizing a higher frequency coefficient with a larger quantization step size in accordance with human visual characteristics, the image quality per generated code amount can be greatly improved. Also, for example, by reducing the quantization step size used in a specific spatial range, the image quality of that spatial range can be improved.
  • the sign key method described in the present embodiment has a high compression rate while being easy to perform sign key processing.
  • the coding scheme described in the present embodiment encodes the maximum number of significant digits of the absolute value in the set of w coefficients, so that the number of significant digits of adjacent coefficients is similar. This can be used to reduce the amount of generated code.
  • the encoding method described in the present embodiment! performs differential sign when encoding the maximum number of significant digits of the absolute value in the set of w coefficients. Even in this respect, the amount of generated codes can be reduced by using the fact that the number of significant digits of the coefficients of adjacent ones is similar.
  • the entropy coding process performed by the entropy coding process unit 123 and the entropy decoding process performed by the entropy decoding unit 221 according to the sixth embodiment described above are the first to fifth embodiments described above.
  • the present invention can be applied to each of the modes, and the delay time, power consumption, and the amount of buffer memory necessary for the processing can be further reduced.
  • the entropy code part 123 may be applied as the entropy code part 15 of the image coding apparatus 1 in FIG. 1 (that is, the entropy code part 15 and the force code part 123).
  • entropy code processing can be executed).
  • the entropy decoding unit 221 may be applied as the entropy decoding unit 21 of the image decoding device 20 in FIG. 9 (that is, the entropy decoding unit 21 executes the entropy decoding process in the same manner as the entropy decoding unit 221. Can be).
  • the entropy code processing of the sixth embodiment is applied to each of the first to fifth embodiments of the above-described embodiment, so that the wavelet transform of each embodiment is performed. It is possible to reduce the amount of generated codes by generating the characteristics of the output order of coefficients from the section (that is, that the effective digits of consecutive coefficients are similar). Even when the coefficients are rearranged, the wavelet transform unit performs the wavelet transform in units of line blocks, so that the feature that the number of significant digits of consecutive coefficients is similar is not greatly affected. The generated code amount of the entropy code processing does not change greatly.
  • the entropy code processing according to the sixth embodiment includes the wavelet transform processing described in the first to fifth embodiments and the coefficient data to be processed.
  • the characteristics and expected effects are similar, and their affinity is high. Therefore, the entropy coding process of the present embodiment is applied to the wavelet transform process described in the first to fifth embodiments described above, compared to the case where other coding methods are applied. In this case, it can be expected that a larger effect is obtained in the entire image code processing.
  • the seventh embodiment is an example in which the image coding apparatus and the image decoding apparatus according to the above-described embodiments are applied to a digital triax system.
  • Triatortas system is used in television broadcasting stations and production studios! Video recording, audio signals, return video signals, and synchronization signals using a single coaxial cable that connects the video camera to the camera control unit or switcher during recording or relaying In this system, multiple signals are superimposed and transmitted, and power is supplied.
  • the digital video signal transmitted via the tri-status cable was an uncompressed video signal. This is especially true in broadcasting stations, where the required specifications for signal delay time are strict. Basically, it is required to be within the delay time field (16.67 msec) from imaging to monitor output. It is to be done. Compression encoding methods such as MPEG2 (Moving Pictures Experts Group 2) and MPEG4 that achieve high compression rates and high image quality require several frames of time to compress and encode video signals and decode compressed video signals. Because of the large amount of time, it was hard to be adopted in the triatus system.
  • the image encoding and image decoding method according to the present invention has an extremely short delay time from the input of image data to the output image being obtained within one field time, for example, several lines to several tens of lines. It is suitable for use with a short digital triatus system.
  • Fig. 37 shows a configuration of an example of a digital tri-status system to which the image coding method and the image decoding method according to the present invention can be applied.
  • the transmission unit 500 is connected to the camera control unit 502 via a force S triatus cable (coaxial cable) 501.
  • the transmission and output of the intercom audio signal and the return digital video signal to the 503 are performed via the tri-status cable 501.
  • the transmission unit 500 is built in, for example, a video camera device (not shown). However, the present invention is not limited to this, and the transmission unit 500 may be used as an external device for the video camera device and connected to the video camera device in a predetermined manner.
  • the camera control unit 502 is, for example, a device generally called a CCU (Camera Control Unit).
  • the video camera unit 503 is configured, for example, in a video camera device (not shown), and receives light from a subject incident via an optical system 550 having a lens, a focus mechanism, a zoom mechanism, an iris adjustment mechanism, and the like. Is received by an image sensor (not shown) such as a CCD (Charge Coupled Device).
  • the imaging device converts the received light into an electrical signal by photoelectric conversion, and further performs predetermined signal processing to output a baseband digital video signal.
  • This digital video signal is, for example, HD-SDI (High Definition-Serial Data Interface). ) Format and output.
  • the video camera unit 503 is connected to a display unit 551 used for monitoring and an intercom 552 for exchanging sound with the outside.
  • the transmission unit 500 includes a video signal encoding unit 510 and a video signal decoding unit 511, a digital modulation unit 512 and a digital demodulation unit 513, an amplifier 514 and an amplifier 515, and a video separation Z synthesis unit 516. .
  • a baseband digital video signal mapped to, for example, an HD-SDI format is supplied from the video camera unit 503.
  • This digital video signal is compressed and encoded by the video signal encoding unit 510 and is supplied as an encoded stream to the digital modulation unit 512.
  • the digital modulation unit 512 modulates the supplied encoded stream into a signal having a format suitable for transmission via the triatus cable 501 and outputs the modulated signal.
  • the signal output from the digital modulation unit 512 is supplied to the video separation / Z synthesis unit 516 via the amplifier 514.
  • the video separation Z combining unit 516 sends the supplied signal to the tri-status cable 501. This signal is received by the camera control unit 502 via the triatatus cable 501.
  • the signal power output from the camera control unit 502 is received by the transmission unit 500 via the triatus cable 501.
  • the received signal is supplied to the video separation / Z synthesis unit 516, where the digital video signal portion and other signal portions are separated.
  • the digital video signal portion of the received signal is supplied to the digital demodulator 513 via the amplifier 515, and is modulated into a signal in a format suitable for transmission via the triator cable 501 on the camera controller 502 side. Demodulate the signal and restore the encoded stream.
  • the encoded stream is supplied to the video signal decoding unit 511, where the compression code is decoded to obtain a baseband digital video signal.
  • the decoded digital video signal is output after being mapped to the HD-SDI format, and is supplied to the video camera unit 503 as a digital video signal for return.
  • the digital video signal for return is supplied to a display unit 551 connected to the video camera unit 503 and used for a monitor for a photographer.
  • the camera control unit 502 includes a video separation Z composition unit 520, an amplifier 521, an amplifier 522, and a CFC.
  • the signal power output from the transmission unit 500 is received by the camera control unit 502 via the triatus cable 501.
  • the received signal is supplied to the video separation / Z synthesis unit 520.
  • the video separation Z synthesis unit 520 supplies the supplied signal to the digital demodulation unit 524 via the amplifier 521 and the front end unit 523.
  • the front end unit 523 includes a gain control unit that adjusts the gain of the input signal, a filter unit that performs predetermined filter processing on the input signal, and the like.
  • the digital demodulator 524 demodulates the signal modulated into a signal of a format suitable for transmission via the triator cable 501 on the transmission unit 500 side, and restores the encoded stream.
  • This encoded stream is supplied to the video signal decoding unit 526, the compressed code is decoded, and a baseband digital video signal is obtained.
  • the decoded digital video signal is output after being mapped to the HD-SDI format and output as a main line signal.
  • a digital video signal for return and a digital audio signal are supplied to the camera control unit 502 from the outside.
  • the digital audio signal is supplied to the photographer's income 552, for example, and used to transmit a voice instruction to the photographer from the outside.
  • the digital video signal for return is supplied to the video signal encoding unit 527, compression encoded, and supplied to the digital modulation unit 525.
  • the digital modulation unit 525 modulates the supplied encoded stream into a signal having a format suitable for transmission via the triatus cable 501 and outputs the modulated signal.
  • the signal output from the digital modulation unit 525 is supplied to the video separation Z synthesis unit 520 via the front end unit 523 and the amplifier 522.
  • the video separation Z synthesis unit 520 multiplexes this signal with other signals, Send to Tri-Atas cable 501. This signal is received by the video camera unit 503 via the triatatus cable 501.
  • the above-described video signal encoding unit 510 and video signal encoding unit 527, and video signal decoding unit 511 and video signal decoding unit 526 are described above.
  • the image encoding device and the image decoding device described in each embodiment Apply each.
  • the video captured by the video camera unit 503 is powerful.
  • the delay in output from the control unit 502 and the delay in the return digital video signal supplied from the outside and transmitted from the camera control unit 502 to the video camera unit 503 can be suppressed to a low level. It is suitable for use in form 7.
  • the signal processing capability and the memory capacity can be appropriately set in each of the transmission unit 500 and the camera control unit 502.
  • the position where the coefficient data rearrangement process is performed may be on either the transmission unit 500 side or the camera control unit 502 side, and the position where the entropy coding is performed is the same before or after the rearrangement process. May be.
  • the video signal encoding unit 510 performs wavelet transform and entropy encoding on the supplied digital video signal according to the method of the present invention. , Output the encoded stream.
  • video signal encoding section 510 starts wavelet transformation when the number of lines corresponding to the number of filter taps used for wavelet transformation and the number of wavelet transformation decomposition levels is input.
  • FIG. 5, FIG. 6, FIG. 11, and the like when the coefficient data necessary for each element is accumulated in the image encoding device and the image decoding device, Processing is performed. When processing is completed up to the bottom line of one frame or field, processing of the next frame or field is started.
  • the camera control unit 502 side force is the same when transmitting a return digital video signal to the transmission unit 500 side. That is, on the camera control unit 502 side, the video signal encoding unit 527 performs wavelet transformation and entropy encoding on the return digital video signal supplied with external force according to the method of the present invention.
  • the code stream is output.
  • the digital video signal for return may have lower image quality than the digital video signal of the main line signal. Therefore, the video signal encoding unit 527 may reduce the bit rate during encoding. For example, video signal In the code key unit 527, the rate control unit 14 performs control so that the entropy code key processing in the entropy code key unit 15 is performed until a lower bit rate is achieved. Also, for example, on the camera control unit 502 side, the video signal encoding unit 527 performs conversion processing to a higher decomposition level in the wavelet conversion unit 10, and on the transmission unit 500 side, the wavelet of the video signal decoding unit 511 is converted.
  • a method of stopping the wavelet inverse transform in the inverse transform unit 23 until a lower decomposition level is conceivable.
  • the processing in the video signal encoding unit 527 on the camera control unit 502 side is not limited to this example, and it may be possible to reduce the decomposition level in the wavelet transform to reduce the burden of the conversion process.
  • FIG. 38 shows an exemplary configuration of a wireless transmission system according to the eighth embodiment of the present invention.
  • the video signal is unidirectionally transmitted from the video camera or transmission unit 600 (hereinafter abbreviated as transmission unit 600) side to the reception device 601 side. Audio signals and other signals can be transmitted bidirectionally between the transmission unit 600 and the reception device 601.
  • the transmission unit 600 is incorporated in a video camera device (not shown) having a video camera unit 602, for example. Not limited to this, the transmission unit 600 may be used as an external device for the video camera device having the video camera unit 602 and connected to the video camera device in a predetermined manner.
  • the video camera unit 602 includes, for example, a predetermined optical system, an image pickup device such as a CCD, and a signal processing unit that outputs a signal output from the image pickup device cover as a digital video signal.
  • a digital video signal is output from the video camera unit 602, for example, mapped to the HD-SDI format. This is not limited to this example, and the digital video signal output from the video camera unit 602 may be in other formats.
  • the transmission unit 600 includes a video signal encoding unit 610, a digital modulation unit 611, and a wireless module unit 612.
  • the baseband digital video signal is output from the video camera unit 602 after being mapped to, for example, the HD-SDI format.
  • This digital video signal is related to the present invention by the video signal code section 610.
  • the compressed code is encoded by the wavelet transform and entropy code by the compression code method, and the encoded stream is supplied to the digital modulation unit 611.
  • the digital modulation unit 611 digitally modulates the supplied encoded stream into a signal in a format suitable for wireless communication and outputs the signal.
  • the digital modulation unit 611 is also supplied with a digital audio signal and other signals, for example, predetermined commands and data.
  • the video camera unit 602 has a microphone, converts the collected sound into an audio signal, A / D converts the audio signal, and outputs it as a digital audio signal.
  • the video camera unit 602 can output data for a predetermined command.
  • the commands and data may be generated inside the video camera unit 602, or an operation unit is provided in the video camera unit 602 so that commands and data are generated according to user operations on the operation unit. Moh.
  • An input device for inputting commands and data may be connected to the video camera unit 602.
  • the digital modulation unit 611 digitally modulates these digital audio signals and other signals and outputs them.
  • the digital modulation signal output from the digital modulation unit 611 is supplied to the wireless module unit 612 and wirelessly transmitted as a radio wave from the antenna 613.
  • the wireless module unit 612 upon receiving an automatic retransmission request (ARQ: Auto Repeat Request) from the receiving device 601 side, notifies the ARQ to the digital modulation unit 611 and retransmits the data. Request.
  • ARQ Auto Repeat Request
  • the radio wave transmitted from the antenna 613 is received by the antenna 620 on the receiving device 601 side and supplied to the radio module unit 621.
  • the wireless module unit 621 supplies a digital modulation signal based on the received radio wave to the front end unit 622.
  • the front end unit 622 performs predetermined signal processing such as gain control on the supplied digital modulation signal and supplies the digital modulation signal to the digital demodulation unit 623.
  • the digital demodulation unit 623 demodulates the supplied digital modulation signal and restores the encoded stream.
  • the encoded stream restored by digital demodulating section 623 is supplied to video signal decoding section 624, and the compressed code is decoded by the decoding method according to the present invention to form a baseband digital video signal.
  • This decoded digital video signal is, for example, HD-SDI. Output is mapped to the format.
  • the digital demodulator 623 is also supplied with a digital audio signal and other signals digitally modulated and transmitted on the transmission unit 600 side.
  • the digital demodulator 623 demodulates a signal obtained by digitally modulating these digital audio signals and other signals, and restores and outputs the digital audio signals and other signals.
  • the front end unit 622 performs error detection on the received signal supplied from the wireless module unit 621 by a predetermined method. For example, if an erroneous frame is received, an error is detected. Then, ARQ is output. The ARQ is supplied to the wireless module unit 621 and transmitted from the antenna 620.
  • the transmission unit 600 is incorporated in, for example, a comparatively small video camera device including the video camera unit 602, a monitor device is connected to the reception device 601, and the video signal decoding unit The digital video signal output from 624 is supplied to the monitor device. If the video camera device in which the transmission unit 600 is built is within the reach of the radio wave transmitted from the wireless module unit 612 with respect to the receiving device 601, the video captured by the video camera device is reduced in delay. For example, it can be viewed by a monitoring device with a delay within one field or frame time.
  • the power used for communication between the transmission unit 600 and the reception device 601 using wireless communication, and transmitting video signals via wireless communication It is not limited to.
  • the transmission unit 600 and the reception device 601 may be connected via a network such as the Internet.
  • the wireless module unit 612 on the transmission unit 600 side and the wireless module unit 621 on the reception device 601 side are communication interfaces capable of communication using IP (Internet Protocol).
  • the system according to the eighth embodiment may have various applications.
  • the system according to the eighth embodiment can be applied to a video conference system.
  • a simple video camera device capable of USB (Universal Serial Bus) connection is connected to a computer device such as a personal computer, and a video signal encoding unit 610 and a video signal decoding unit 624 are mounted on the computer device side.
  • the video signal encoding unit 610 and the video signal decoding unit 624 installed in the computer device are hardware components. It can also be realized as software that operates on a computer device.
  • a computer device and a video camera device connected to the computer device are prepared for each member participating in the conference, and the computer device is wired and connected to a server device that provides, for example, a video conference system service. Connected via Z or wireless network.
  • the video signal output from the video camera device is supplied to the computer device via the USB cable, and the video signal encoding unit 610 in the computer device performs the encoding process according to the present invention.
  • the computer device transmits an encoded stream obtained by encoding the video signal to a server device or the like via a network.
  • the server device transmits the received encoded stream to the computer devices of the participating members via the network.
  • This encoded stream is received by the computer device of each participating member, and the video signal decoding unit 624 in the computer device performs a decoding process related to this invention.
  • the image data output from the video signal decoding unit 624 is displayed as a video on the display unit of the computer device.
  • the computer device of the participating member has a short delay time from the encoding of the video signal by shooting with the video camera device to the decoding by the computer device of the other participating member. The discomfort of the images of the other participating members displayed on the display can be reduced.
  • the video signal encoding unit 610 is mounted on the video camera device side.
  • the transmission unit 600 is built in the video camera apparatus. With this configuration, it is not necessary to connect another device such as a computer device to the video camera device.
  • the video camera device incorporating the transmission unit 600 and the receiving device 601 can be used for various systems.
  • this system can be applied to consumer game consoles. can do.
  • a video camera apparatus 700 incorporates a transmission unit 600 according to the eighth embodiment of the present invention.
  • the main body 701 of the home game machine is a disk drive device compatible with, for example, CPU, RAM and ROM, CD-ROM (Compact Disc-Read Only Memory) and DVD-ROM (Digital Versatile Disc-ROM)
  • a graphic control unit that converts a display control signal generated by the CPU into a video signal and outputs the video signal, an audio playback unit that reproduces an audio signal, and the like are connected by a bus, for example, and have substantially the same configuration as the computer apparatus.
  • the main body 701 of the home game machine is controlled entirely by the CPU according to a program stored in advance in a ROM or a program recorded in a CD-ROM or DVD-ROM loaded in a disk drive device.
  • RAM is used as work memory for the CPU.
  • a receiver 601 is built in the main body 701 of the home game machine. The digital video signal and other signals output from the receiving device 601 are supplied to the CPU via a bus, for example.
  • game software that allows an image based on a digital video signal supplied from the outside to be used as an image in the game is activated. It shall be.
  • the game software can use an image based on a digital video signal supplied from the outside as an image in the game, and identifies the movement of a person (player) or the like in the image. It is possible to perform operations according to the above.
  • the video camera device 700 encodes the captured digital video signal in the built-in transmission unit 600 by the video signal encoding unit 610 using the encoding method according to the present invention,
  • the encoded stream is modulated by the digital modulation unit 611, supplied to the wireless module unit 612, and transmitted from the antenna 613.
  • the transmitted radio wave is received by the antenna 620 in the receiving device 601 built in the main body 701 of the consumer game device, and the received signal is transmitted to the digital demodulating unit 623 via the wireless module unit 621 and the front end unit 622.
  • the received signal is converted into an encoded stream demodulated by the digital demodulator 623 and supplied to the video signal decoder 624.
  • the video signal decoding unit 624 decodes the supplied encoded stream by the decoding method according to the present invention, and outputs a baseband digital video signal.
  • the baseband digital video signal output from the video signal decoding unit 624 is In the main body 701 of the game machine for the garden, it is sent to the bus and temporarily stored in the RAM, for example.
  • the CPU reads out the digital video signal stored in the RAM according to a predetermined program so that the movement of the person in the image by the digital video signal can be detected and the image can be used in the game. To be.
  • the video camera device 700 used together with such a home game machine is often configured simply even in terms of price, size, etc., such as a computer device. It is assumed that a CPU with a high processing capacity and a memory with a large storage capacity cannot be installed.
  • the video camera device 700 is a peripheral device of the main body 701 of the home game device, which is necessary only when playing a game using the video camera device 700. It is not a device required to play a game using the main unit 701 of the device. In such a case, the video camera device 700 is often sold as a separate product from the main body 701 of the consumer game device (so-called separately sold). In that case, if the video camera device 700 is equipped with a high processing capacity, CPU, or a memory with a large storage capacity and is sold at an expensive price, the number of sales may generally be reduced. In that case, the number of games sold using the video camera device 700 may be reduced, which may lead to a decrease in profits. In particular, in home video games, the penetration rate often has a strong influence on the number of sales. If the penetration rate of the video camera device 700 is low, the number of sales may be further reduced.
  • the video camera device 700 has a simple configuration and U want to do, many cases.
  • the video camera device 700 and the main body 701 of the consumer game device have been described as being connected by wireless communication, but this is not limited to this example.
  • the video camera device 700 and the main body 701 of the consumer game device may be connected to each other by an interface such as USB or IEEE1394.
  • the present invention can be applied to various forms, and can be easily applied to various uses (that is, high versatility).
  • the above-described series of processing can be executed by hardware or can be executed by software.
  • various functions are executed by installing a computer built into dedicated hardware or various programs that make up the software. For example, it is installed from a program recording medium into a general-purpose personal computer or an information processing apparatus of an information processing system including a plurality of devices.
  • FIG. 40 is a block diagram showing an example of the configuration of an information processing system that executes the series of processes described above by a program.
  • the information processing system 800 includes an information processing device 801, a storage device 803, which is connected to the information processing device 801 and a PC less 802, and a plurality of video tape recorders (VTRs).
  • VTR804-1 to VTR804-S a system that consists of a mouse 805, a keyboard 806, and an operation controller 807 for the user to perform operation inputs on these, and as described above depending on the installed program It is a system that performs image encoding processing and image decoding processing.
  • the information processing device 801 of the information processing system 800 is stored in a large-capacity storage device 803 composed of RAID (Redundant Arrays of In dependent Disks)!
  • the decoded image data can be recorded on a video tape via VTR804-1 to VTR804-S.
  • the information processing device 801 is also configured to be able to capture the moving image content recorded on the video tape attached to the VTR804-1 to VTR804-S into the storage device 803. At this time, the information processing apparatus 801 may encode the moving image content.
  • the information processing device 801 includes a microprocessor 901, a GPU (Graphics Processing Unit) 902, an XDR (Extreme Data Rate)-RAM 903, a South Bridge 904, an HDD 905, a USB interface (USB I / F) 906, and a sound. It has an input / output codec 907.
  • a microprocessor 901 a GPU (Graphics Processing Unit) 902, an XDR (Extreme Data Rate)-RAM 903, a South Bridge 904, an HDD 905, a USB interface (USB I / F) 906, and a sound. It has an input / output codec 907.
  • the GPU 902 is connected to the microprocessor 901 via a dedicated bus 911.
  • the XDR-RAM 903 is connected to the microprocessor 901 via a dedicated bus 912.
  • the south bridge 904 is connected to the I / O controller 944 of the microprocessor 901 via a dedicated bus.
  • HDD 905, USB interface 906, and sound input / output codec 907 are also connected to this south bridge 904.
  • a speaker 921 is connected to the sound input / output codec 907.
  • a display 922 is connected to the GPU 902.
  • a mouse 805 keyboard 806, VTR804-1 to VTR804-S, a storage device 803, and an operation controller 807 are further connected to the south bridge 904 via a PCI bus 802.
  • the mouse 805 and the keyboard 806 receive user operation input, and the PCI bus 802 and A signal indicating the content of the user's operation input is supplied to the microprocessor 901 via the south bridge 904.
  • the storage device 803 and VTR804-1 to VTR804-S can record or reproduce predetermined data.
  • a drive 808 is connected to the P bus 802 as necessary, and a removable medium 811 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory is appropriately installed, and these forces are also read.
  • the microprocessor 901 includes a general-purpose main CPU core 941 for executing a basic program such as an OS (Operating System), and a plurality of (in this case, eight) connected to the main CPU core 941 via an internal bus 945.
  • the memory controller 943 and the I / O (In / Out) controller 944 that manage data input / output between the Susbridge 904 and the I / O (In / Out) controller 944 are integrated on a single chip. ] Is realized.
  • the microprocessor 901 Upon startup, the microprocessor 901 reads out the necessary application program stored in the HDD 905 based on the control program stored in the HDD 905 and expands it in the XDR-RAM 903. Necessary control processing is executed based on the operation.
  • the microprocessor 901 executes software to realize, for example, the image encoding process and the image decoding process of each of the above-described embodiments, and an encoded stream obtained as a result of the encoding is obtained. Via the south bridge 904, it can be supplied to and stored in the HDD 905, and the playback video of the moving image content obtained as a result of decoding can be transferred to the GPU 902 and displayed on the display 922.
  • each CPU core in the microprocessor 901 performs processing related to control of image encoding processing and image decoding processing, and includes eight sub CPU cores 942- 1 to sub CPU core 942-8, wavelet transform, coefficient rearrangement, entropy coding, entropy decoding, wavelet inverse transform, quantization, and inverse quantization These processes may be executed simultaneously in parallel as described with reference to FIG. At this time, if the main CPU core 941 allocates processing in units of line blocks (precincts) to each of the eight sub CPU cores 942-1 to 942-8, image coding processing is performed. Similarly to the case described with reference to FIG.
  • the image decoding process is executed in parallel in units of line blocks. That is, it is possible to improve the efficiency of the image encoding process and the image decoding process, shorten the delay time of the entire process, and further reduce the load, the processing time, and the memory capacity required for the process. Of course, you may use other methods to perform each process.
  • a part of the eight sub CPU cores 942 to 942-8 of the microprocessor 901 performs an encoding process while the other part performs a decoding process in parallel. It is also pretty.
  • the eight sub CPU cores 942 to 942 of the microprocessor 901 are connected. -8 may control the processing performed by these devices via the South Bridge 904 and PCI Bus 802. Further, when these devices are connected in a plurality or when these devices include a plurality of decoders or encoders, the eight sub CPU cores 942 to 942-8 of the microprocessor 901 are used. May share and control processes executed by a plurality of decoders or encoders.
  • the main CPU core 941 manages the operation of the eight sub CPU cores 942 to 942-8, assigns processing to each sub CPU core, and collects processing results. . Further, the main CPU core 941 performs processes other than those performed by these sub CPU cores. For example, the main CPU core 941 receives commands supplied from the mouse 805, the keyboard 806, or the operation controller 807 via the south bridge 904, and executes various processes according to the commands.
  • the GPU 902 displays the playback video of the video content and the still image of the still image content in preparation for the final rendering processing related to texture embedding when moving the playback video of the video content displayed on the display 922. Multiple to 922 at once It is designed to reduce the processing load on the microprocessor 901 by controlling the coordinate transformation calculation processing for display and the functions to perform enlargement / reduction processing for playback images of moving image content and still image content!
  • the GPU 902 Under the control of the microprocessor 901, the GPU 902 performs predetermined signal processing on the supplied video data of moving image content and image data of still image content, and the resulting video data Image data is sent to the display 922, and the image signal is displayed on the display 922.
  • the playback video in the plurality of video contents decoded in parallel in parallel by the eight sub CPU cores 942 to 942-8 in the microprocessor 901 is transferred to the GPU 902 via the bus 911.
  • Transfer speed The transfer speed at this time is, for example, a maximum of 30 [Gbyte / sec], so that even complex playback images with special effects can be displayed quickly and smoothly! RU
  • the microprocessor 901 performs audio mixing processing on the audio data of the video data and the audio data of the moving image content, and uses the edited audio data obtained as a result as the south bridge 904 and the sound input / output. Audio based on the audio signal can be output from the speaker 921 by sending it to the speaker 921 via the codec 907.
  • this recording medium is a magnetic disk (flexible disk) on which a program is recorded, which is distributed to distribute a program to a user separately from the apparatus main body.
  • Optical disk including CD-ROM, DVD
  • magneto-optical disk including MD
  • removable media 811 made of semiconductor memory, etc. It is composed of HDD905, storage device 803, etc. in which programs are recorded.
  • the recording medium may be a semiconductor memory such as ROM or flash memory.
  • the eight sub CPU cores are configured in the microprocessor 901.
  • the present invention is not limited to this, and the number of sub CPU cores is arbitrary.
  • the microprocessor The server 901 may use a CPU configured by a single core (single core) which does not have to be configured by a plurality of cores such as a main CPU core and a sub CPU core.
  • a plurality of CPUs may be used instead of the microprocessor 901, or a plurality of information processing devices are used (that is, a plurality of devices that operate in cooperation with each other) You can also run it).
  • system represents the entire apparatus composed of a plurality of devices (apparatuses).
  • the configuration described as one device may be divided and configured as a plurality of devices. Conversely, the configuration described above as a plurality of devices may be configured as a single device. Of course, a configuration other than that described above may be added to the configuration of each apparatus. Furthermore, if the configuration and operation of the entire system are substantially the same, a part of the configuration of one device may be included in the configuration of another device.
  • the present invention described above can be applied to various devices as long as it is an apparatus or system that compresses and transmits an image and transmits the decoded code at the transmission destination. .
  • the present invention is particularly suitable for use in an apparatus or system that requires a short delay from compression encoding to decoding and output of an image.
  • the present invention is suitable for use in medical telemedicine diagnosis in which a magic hand is operated while performing a therapeutic action while watching an image taken with a video camera.
  • the present invention is suitable for use in compression encoding and transmission of digital video signals and decoding of compression encoded digital video signals in a system such as a broadcasting station.
  • the present invention is applied to a system that distributes live broadcast video, a system that enables interactive communication between students and teachers in an educational setting, and the like. Can do.
  • a mopile terminal having an imaging function such as a mobile phone terminal with a camera function, a system using a video conference system, a surveillance camera and a recorder that records video taken by the surveillance camera, etc.
  • an imaging function such as a mobile phone terminal with a camera function, a system using a video conference system, a surveillance camera and a recorder that records video taken by the surveillance camera, etc.
  • the present invention can be applied.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Image Processing (AREA)

Abstract

本発明は、圧縮符号化して送出される画像データを、受信側でより短時間に復号画像として出力できるようにする符号化装置および方法、復号装置および方法、並びに、伝送システムに関する。ウェーブレット変換に際して、最低域成分の1ライン分のケイスウデータが生成されるライン数を単位として、ライン単位でフィルタ処理を行う。1回目は第1ライン乃至第7ラインの処理がなされ、分解レベル=1で高域成分の係数C1、係数C2、および係数C3と、低域成分の係数Ca、係数Cb、および係数Ccとが生成され、分解レベル=2で係数Ca、係数Cb、および係数Ccからさらに高域成分の係数C4と、低域成分の係数C5とが生成される。これらの係数は、低域から高域の順に並び替えられて合成フィルタに供給される。合成フィルタは、供給された順に係数のフィルタ処理を行って画像データを生成し、出力する。

Description

明 細 書
符号化装置および方法、復号装置および方法、並びに、伝送システム 技術分野
[0001] 本発明は、符号化装置および方法、復号装置および方法、並びに、伝送システム に関し、特に、圧縮符号化して送出される画像データを、受信側でより短時間に復号 画像として出力できるようにする符号化装置および方法、復号装置および方法、並び に、伝送システムに関する。
背景技術
[0002] 画像データの圧縮符号化方式としては、従来から、 ISOdnternational Organization for Standardization)により標準化された JPEG(Joint Photographic Experts Group)方 式と呼ばれる技術が多く用いられていた。この JPEG方式は、画像データをブロックに 分割し、分割された領域のそれぞれに対して DCT(Discrete Cosine Transform)を施し て DCT係数を得て、得られた DCT係数を量子化しさらにエントロピ符号ィ匕を行うこと で、高品質且つ高圧縮率を実現している。
[0003] また、近年では、画像データを、フィルタバンクと呼ばれる、ハイパスフィルタとロー パスフィルタとを組み合わせたフィルタによって複数の帯域に分割し、分割された帯 域毎に符号ィ匕を行う符号ィ匕方式の研究が盛んになつている。このような符号ィ匕方式 の中でも、ウェーブレット変換符号化と称される符号化方式は、上述した DCTで問題 となる、高圧縮時におけるブロック歪みが発生しないことから、画像の圧縮符号化の 際に DCTに代わって利用可能な新たな技術として、有力視されて!/、る。
[0004] 例えば、 2001年 1月に国際標準化が完了した JPEG2000では、このウェーブレット変 換に、ビットプレーン単位のビットモデリングと算術符号ィ匕による高能率エントロピ符 号化を組み合わせた圧縮符号化方式を採用して 、る。この JPEG2000方式によれば 、従来の JPEG方式に対して符号ィ匕効率の大きな改善が実現されている。特許文献 1 には、より符号ィ匕効率を向上させたウェーブレット変換方法が記載されている。
[0005] 特許文献 1 :特開平 9-130800号公報 このような国際規格においては、デコーダ側の 規格のみが規定されており、エンコーダ側は、自由に設計することができる。 発明の開示
発明が解決しょうとする課題
[0006] ところで、例えば上述した JPEG2000方式では、従来は、そのアルゴリズム上、画面 内の全ての画素の符号ィ匕が終了した後でないと、必要となるヘッダ情報が記述でき なかった。つまり、このヘッダ情報には、符号ィ匕結果の圧縮データサイズといった、復 号時に必須とされる情報を記述したり、符号データの終端にマーカが付加されたりす る必要があり、これらの情報は、 1画面分の符号化が全て完了した後でないと、確定し ない。
[0007] これは、 JPEG2000方式に限らず、 JPEG方式や、動画像データの圧縮方式である M PEG(Moving Pictures Experts Group)方式などでも、同様である。
[0008] このため、従来の画像圧縮技術によれば、圧縮符号化の結果である符号化コード ストリームの出力を、 1フレーム分、あるいは、インタレース画像の場合 1フィールド分 の画像を全て符号化した後に行わざるを得なカゝつたと ヽぅ問題点があった。
[0009] これにより、画像データの送出側および受信側との間で、 1フレーム分、あるいは、ィ ンタレース画像の場合 1フィールド分の遅延時間が発生することが防げな力つたという 問題点があった。
[0010] したがって、この発明の目的は、画像データの圧縮符号化および復号、ならびに、 復号された画像データの出力を、より低遅延で行うことを可能とした符号ィ匕装置およ び方法、復号装置および方法、並びに、伝送システムを提供することにある。
課題を解決するための手段
[0011] 本発明の第 1の側面の符号化装置は、画像データを符号化する符号化装置であつ て、前記画像データに対して階層的にフィルタ処理を行い、周波数帯域毎に分解さ れた係数データからなる複数のサブバンドを生成するフィルタ手段と、前記フィルタ 手段により生成された係数データを蓄積的に記憶する記憶手段と、前記記憶手段に より記憶された前記係数データを所定の順序で出力するように並び替える係数並び 替え手段とを備える。
[0012] 前記フィルタ手段は、前記画像データを画面の上端側から下端側に向けて、ライン 単位で前記フィルタ処理を行うことができる。 [0013] 前記フィルタ手段は、前記画像データに対し、少なくとも最低域成分のサブバンド の 1ライン分の係数データを生成するのに必要なライン数分の画像データであるライ ンブロック毎にフィルタ処理を行うことができる。
[0014] 前記フィルタ手段は、前記フィルタ処理を、前記画像データに対応する画面の垂直 方向、および水平方向の両方に対して行うことができる。
[0015] 前記フィルタ手段による前記フィルタ処理のタップ数および分解レベル数のうち少 なくとも一方は、 目標とする遅延時間に応じて決定されるようにすることができる。
[0016] 前記フィルタ手段は、前記フィルタ処理により得られる低域成分のサブバンドの係 数データに対してさらに前記フィルタ処理を施す、ウェーブレットフィルタ処理を行うこ とがでさる。
[0017] 前記フィルタ手段は、リフティング技術を用いて前記ウェーブレットフィルタ処理を行 うことができる。
[0018] 前記フィルタ手段は、前記リフティング技術を用いて、分解レベル =X+1のフィルタ 処理を行う際、分解レベル =Xのフィルタ処理で低域成分のサブバンドとして算出さ れた係数データに対して行うことができる。
[0019] 前記記憶手段は、前記フィルタ手段による前記ウェーブレットフィルタ処理の過程 で生成される低域成分のサブバンドの係数データを保持する第 1のバッファ手段と、 前記フィルタ手段による前記ウェーブレットフィルタ処理の過程で生成される高域成 分のサブバンドの係数データを保持する第 2のノ ッファ手段とをさらに備えることがで きる。
[0020] 前記第 2のバッファ手段は、前記フィルタ手段により最低域成分のサブバンドの係 数データが生成されるまで、前記最低域以外の帯域の成分のサブバンドの係数デー タを保持することができる。
[0021] 前記係数並び替え手段は、前記サブバンドを低域成分から高域成分の順に出力 するように、前記係数データの並び替えを行うことができる。
[0022] 前記係数並び替え手段は、前記画像データに対し、少なくとも最低域成分のサブ バンドの 1ライン分の係数データを生成するのに必要なライン数分の画像データであ るラインブロック毎に並び替えを行うことができる。 [0023] 前記係数データをエントロピ符号ィ匕するエントロピ符号ィ匕手段をさらに備えるように することができる。
[0024] 前記エントロピ符号化手段は、前記係数並び替え手段により並び替えられた係数 データを順次、エントロピ符号ィ匕することができる。
[0025] 前記係数並び替え手段は、前記サブバンドを低域成分から高域成分の順に出力 するように、前記係数データの並び替えを行い、前記エントロピ符号化手段は、前記 係数並び替え手段により前記係数データが並び替えられ次第、並び替えられた係数 データを低域成分力も高域成分の順番にエントロピ符号ィ匕することができる。
[0026] 前記エントロピ符号化手段は、前記フィルタ手段により生成された前記係数データ に対してエントロピ符号化を行い、前記記憶手段は、前記エントロピ符号化手段によ りエントロピ符号化された前記係数データを記憶することができる。
[0027] 前記記憶手段は、前記エントロピ符号化手段により最低域成分のサブバンドの係 数データがエントロピ符号化されるまで、前記最低域成分以外の帯域成分のサブバ ンドとして生成され、前記エントロピ符号化手段によりエントロピ符号化された係数デ ータを記憶しておくことができる。
[0028] 前記係数並び替え手段は、前記サブバンドを低域成分から高域成分の順に出力 するように、前記記憶手段により記憶されている、前記エントロピ符号化手段によりェ ントロピ符号化された係数データの並び替えを行 ヽ、前記係数データを並び替え次 第、並び替えられた係数データを低域成分から高域成分の順番に出力することがで きる。
[0029] 前記エントロピ符号化手段は、同一サブバンド内の複数ラインの係数データを纏め てエントロピ符号ィ匕することができる。
[0030] 前記エントロピ符号ィ匕手段は、少なくとも最低域成分のサブバンドの 1ライン分の係 数データを生成するのに必要なライン数分の画像データに対応する係数データ群で あるラインブロックを構成するすべてのサブバンドのラインを、低域から高域の順番に 、 1次元方向に並べた係数データ列に対して符号ィ匕を行うことができる。
[0031] 前記エントロピ符号化手段は、前記フィルタ手段により生成された前記係数データ を量子化する量子化手段と、前記量子化手段により前記係数データが量子化されて 得られた量子化結果の係数を情報源符号化する情報源符号化手段とを備えることが できる。
[0032] 少なくとも最低域成分のサブバンドの 1ライン分の係数データを生成するのに必要 なライン数分の画像データに対応する前記係数データの集合であるラインブロック毎 の係数データが、前記エントロピ符号ィ匕手段により低域成分力 高域成分の順番に エントロピ符号ィ匕されて得られた符号ィ匕結果のデータに所定のヘッダを付加し、へッ ダとデータ本体とをパケットィ匕するパケットィ匕手段と、前記パケット化手段により生成さ れた前記パケットを送出する送出手段とを備え、前記エントロピ符号化手段、前記パ ケット化手段、および前記送出手段は、同時並列的に各処理を行い、前記エントロピ 符号化手段は、前記ラインブロック単位で前記係数データの前記エントロピ符号化を 行い、前記パケット化手段は、前記エントロピ符号ィ匕手段によるエントロピ符号ィ匕によ つて前記ラインブロック毎の符号ィ匕結果のデータが生成され次第、前記ラインブロッ ク毎の符号化結果のデータをパケット化し、前記送出手段は、前記パケット化手段に より前記ラインブロック毎の符号ィ匕結果のデータがパケット化され次第、得られたパケ ットを送出するようにすることができる。
[0033] 前記ヘッダには、画面内において前記ラインブロックを識別するための識別情報と 、データ本体のデータ長と、符号ィ匕情報が記録されているようにすることができる。
[0034] 前記エントロピ符号化手段は、前記フィルタ手段により生成された前記係数データ を量子化する量子化手段と、前記量子化手段により前記係数データが量子化されて 得られた量子化結果の係数を情報源符号ィ匕する情報源符号ィ匕手段とを備え、前記 符号化情報には、前記量子化手段による量子化の量子化ステップサイズの情報が 含まれるよう〖こすることができる。
[0035] 前記量子ィ匕ステップサイズの情報には、すべてのサブバンド毎の量子ィ匕ステップサ ィズの情報が含まれて 、るようにすることができる。
[0036] 本発明の第 1の側面の符号ィ匕方法は、画像データを符号ィ匕する符号ィ匕装置の符 号化方法であって、前記画像データに対して階層的にフィルタ処理を行い、周波数 帯域毎に分解された係数データ力 なる複数のサブバンドを生成するフィルタステツ プと、前記フィルタステップの処理により生成された前記係数データを記憶部に蓄積 的に記憶させる記憶制御ステップと、前記記憶制御ステップの処理により制御されて 前記記憶部に記憶された前記係数データを所定の順序で出力するように並び替える 係数並び替えステップとを備える。
[0037] 本発明の第 2の側面の復号装置は、画像データが符号化された符号ィ匕データを復 号する復号装置であって、ライン単位で供給される、前記画像データに対して階層 的に第 1のフィルタ処理がなされ周波数帯域毎に分解された複数のサブバンドの係 数データを記憶する記憶手段と、前記記憶手段により記憶されて!、る前記係数デー タを所定の順序で出力するように並び替える係数並び替え手段と、前記並び替え手 段により並び替えられて、前記記憶手段より出力された前記係数データに対して第 2 のフィルタ処理を行 ヽ、周波数帯域に分解された複数のサブバンドの係数データを 合成して前記画像データを生成するフィルタ手段とを備える。
[0038] 前記係数並び替え手段は、前記サブバンドの低域成分力 高域成分の順に出力 するように、前記係数データの並び替えを行うことができる。
[0039] 前記係数並び替え手段は、前記記憶手段により記憶されている前記係数データに 対して、少なくとも最低域成分のサブバンドの 1ライン分の係数データを生成するのに 必要なライン数分の画像データに対応する前記係数データの集合であるラインプロ ック毎に並び替えを行うことができる。
[0040] 前記フィルタ手段は、画面の上端側から下端側に向けてライン単位で前記第 2のフ ィルタ処理を行 、、前記画像データを生成することができる。
[0041] 前記フィルタ手段は、前記係数データに対して、少なくとも最低域成分のサブバン ドの 1ライン分の係数データを生成するのに必要なライン数分の画像データに対応す る前記係数データの集合であるラインブロック毎に前記第 2のフィルタ処理を行うこと ができる。
[0042] 前記フィルタ手段は、リフティング技術を用いて前記第 2のフィルタ処理を行うことが できる。
[0043] 前記符号ィ匕データをサブバンド毎にライン単位でエントロピ復号するエントロピ復号 手段をさらに備え、前記記憶手段は、前記エントロピ復号手段によるエントロピ復号 により得られた係数データを記憶することができる。 [0044] 前記エントロピ復号手段は、少なくとも最低域成分のサブバンドの 1ライン分の係数 データを生成するのに必要なライン数分の画像データに対応する係数データ群であ るラインブロックを構成するすべてのサブバンドのラインが符号ィ匕されて 1次元に並べ られた符号化データを、復号することができる。
[0045] 前記エントロピ復号手段は、前記符号化データに対して情報源復号を行う情報源 復号手段と、前記情報源復号手段による情報源復号の結果得られた係数データを 逆量子化する逆量子化手段とを備えることができる。
[0046] 本発明の第 2の側面の復号方法は、画像データが符号化された符号化データを復 号する復号装置の復号方法であって、ライン単位で供給される、前記画像データに 対して階層的に第 1のフィルタ処理がなされ周波数帯域毎に分解された複数のサブ バンドの係数データを記憶部に記憶させる記憶制御ステップと、前記記憶制御ステツ プの処理により制御されて前記記憶部に記憶された係数データを所定の順序で出 力するように並び替える係数並び替えステップと、前記並び替えステップの処理によ り並び替えられて前記記憶部より出力された係数データに対して第 2のフィルタ処理 を行 ヽ、周波数帯域に分解された複数のサブバンドの係数データを合成して画像デ ータを生成するフィルタステップとを備える。
[0047] 本発明の第 3の側面の伝送システムは、画像データを符号化する符号化装置と、前 記画像データが符号化された符号化データを復号する復号装置を備え、前記符号 化装置および前記復号装置の間で前記符号化データを伝送する伝送システムであ つて、前記符号化装置は、前記画像データに対して階層的に第 1のフィルタ処理を 行い、周波数帯域毎に分解された係数データ力 なる複数のサブバンドを生成する 第 1のフィルタ手段と、前記第 1のフィルタ手段により生成された前記係数データを蓄 積的に記憶する記憶手段と、前記記憶手段により記憶された前記係数データを所定 の順序で出力するように並び替える係数並び替え手段とを備え、前記復号装置は、 前記符号化装置より伝送路を介して伝送された、前記係数並び替え手段により並び 替えられた前記係数データに対して第 2のフィルタ処理を行い、周波数帯域に分解さ れた複数のサブバンドの係数データを合成して画像データを生成する第 2のフィルタ 手段とを備える。 [0048] 本発明の第 1の側面においては、画像データに対して階層的にフィルタ処理が行 われ、周波数帯域毎に分解された係数データ力 なる複数のサブバンドが生成され 、その生成された係数データが蓄積的に記憶され、その記憶された係数データが所 定の順序で出力されるように並び替えられる。
[0049] 本発明の第 2の側面においては、ライン単位で供給される、画像データに対して階 層的に第 1のフィルタ処理がなされ周波数帯域毎に分解された複数のサブバンドの 係数データが記憶され、その記憶されて 、る係数データが所定の順序で出力される ように並び替えられ、その並び替えられて出力された係数データに対して第 2のフィ ルタ処理が行われ、周波数帯域に分解された複数のサブバンドの係数データが合 成されて画像データが生成される。
[0050] 本発明の第 3の側面においては、符号化装置において、画像データに対して階層 的に第 1のフィルタ処理が行われ、周波数帯域毎に分解された係数データ力 なる 複数のサブバンドが生成され、その生成された係数データが蓄積的に記憶され、そ の記憶された係数データが所定の順序で出力されるように並び替えられ、復号装置 において、符号化装置より伝送路を介して伝送された、所定の順序に並び替えられ た係数データに対して第 2のフィルタ処理が行われ、周波数帯域に分解された複数 のサブバンドの係数データが合成されて画像データが生成される。
発明の効果
[0051] この発明では、画像データに対して階層的にフィルタ処理を行い、周波数帯域毎 に分解された係数データ力 なる複数のサブバンドを生成し、フィルタ処理により生 成された係数データを記憶部に蓄積的に記憶し、記憶部に記憶された係数データを 所定の順序で出力するように並び替えるようにしているため、復号の際に、係数デー タを供給された順に処理するようにでき、画像データの符号化から、符号化データを 復号し画像データを出力するまでの遅延時間を短縮できる効果がある。
図面の簡単な説明
[0052] [図 1]本発明を適用した画像符号ィ匕装置の一例の構成を示すブロック図である。
[図 2]ウェーブレット変換について概略的に説明するための略線図である。
[図 3]ウェーブレット変換について概略的に説明するための略線図である。 [図 4]5 X 3フィルタに対してリフティング技術を適用した場合のウェーブレット変換に ついて概略的に説明するための略線図である。
[図 5]5 X 3フィルタに対してリフティング技術を適用した場合のウェーブレット逆変換 について概略的に説明するための略線図である。
[図 6]5 X 3フィルタのリフティングによるフィルタリングを分解レベル =2まで実行した例 を示す略線図である。
[図 7]この発明によるウェーブレット変換およびウェーブレット逆変換の流れを概略的 に示す略線図である。
[図 8]符号ィ匕処理の流れの例を説明するためのフローチャートである。
圆 9]本発明を適用した画像復号装置の一例の構成を示すブロック図である。
[図 10]復号処理の流れの例を説明するためのフローチャートである。
圆 11]本発明を適用した画像符号ィ匕装置および画像復号装置の各要素の一例の並 列動作を概略的に示す略線図である。
圆 12]本発明を適用した画像符号ィ匕装置の一例の構成を示すブロック図である。
[図 13]ウェーブレット係数の並び替え処理を画像符号ィ匕装置側で行う場合の処理の 流れを説明するための略線図である。
[図 14]ウェーブレット係数の並び替え処理を画像復号装置側で行う場合の処理の流 れを説明するための略線図である。
圆 15]本発明を適用した画像符号ィ匕装置の一例の構成を示すブロック図である。 圆 16]本発明を適用した画像復号装置の一例の構成を示すブロック図である。 圆 17]符号ィ匕データの授受の様子の例を説明する模式図である。
[図 18]パケットの構成例を示す図である。
圆 19]本発明を適用した画像符号ィ匕装置の構成例を示すブロック図である。
[図 20]サブバンドを説明するための図である。
圆 21]符号化される量子化係数の一例を示す図である。
[図 22]エントロピ符号ィ匕部の構成例を示すブロック図である。
[図 23]符号ィ匕処理を説明するためのフローチャートである。
[図 24]エントロピ符号ィ匕処理を説明するためのフローチャートである。 [図 25]w個組符号ィ匕処理を説明するためのフローチャートである。
圆 26]画像復号装置の構成例を示すブロック図である。
[図 27]エントロピ復号部の構成例を示すブロック図である。
[図 28]符号分割部の構成例を示すブロック図である。
[図 29]符号分割部の他の構成例を示すブロック図である。
[図 30]復号処理を説明するためのフローチャートである。
[図 31]エントロピ復号処理を説明するためのフローチャートである。
[図 32]w個組復号処理を説明するためのフローチャートである。
[図 33]エントロピ符号ィ匕部の他の構成例を示すブロック図である。
圆 34]符号化される量子化係数の一例を示す図である。
[図 35]w個組符号ィ匕処理を説明するためのフローチャートである。
[図 36]w個組復号処理を説明するためのフローチャートである。
[図 37]本発明を適用したディジタルトライアッタスシステムの一例の構成を示すブロッ ク図である。
[図 38]本発明を適用した無線伝送システムの一例の構成を示すブロック図である。 圆 39]本発明を適用した家庭用ゲーム機器の一例の構成を示す図である。
圆 40]本発明を適用した情報処理システムの構成例を示す図である。
符号の説明
1 画像符号化装置, 10 ウェーブレット変換部, 11 途中計算用バッファ部, 1 2 係数並び替え用バッファ部, 13 係数並び替え部, 14 レート制御部, 15 ェ ントロピ符号化部, 20 画像復号装置, 21 エントロピ復号部, 22 係数バッファ 部, 23 ウェーブレット逆変換部, 30 画像符号化装置, 31 符号並び替え用バ ッファ部, 32 符号並び替え部, 41 画像符号化装置, 42 画像復号装置, 43 係数並び替え用バッファ部, 111 画像符号化装置, 121 ウェーブレット変換部 , 122 量子化部, 123 エントロピ符号化部, 161 ライン判定部, 162 VLC符 号化部, 163 最大有効桁数計算部, 164 VLC符号化部, 165 有効桁抽出部 , 166 VLC符号化部, 167 サイン抽出部, 168 VLC符号化部, 169 符号連 結部, 211 画像復号装置, 221 エントロピ復号部, 222 逆量子化部, 223 ゥ エーブレット逆変換部, 251 符号分割部, 252 ライン判定部, 253 発生部, 2 54 VLC復号部, 255 VLC復号部, 256 VLC復号部, 257 量子化係数合成 部, 258 切替部, 271 制御部, 272 メモリ, 291 制御部, 401 バッファ, 5 00 送信ユニット, 501 トライアッタスケーブル, 502 カメラ制御部, 510 ビデオ 信号符号化部, 511 ビデオ信号復号部, 526 ビデオ信号復号部, 527 ビデオ 信号符号化部, 600 送信ユニット, 601 受信装置, 602 ビデオ信号符号化部 , 612 無線モジュール部, 621 無線モジュール部, 624 ビデオ信号復号部, 700 ビデオカメラ装置, 701 家庭用ゲーム機器の本体
発明を実施するための最良の形態
[0054] 以下、この発明の実施の第 1の形態を、図面を参照しながら説明する。図 1は、この 発明の実施の第 1の形態に適用可能な画像符号化装置の一例の構成を示す。画像 符号化装置 1は、ウエーブレット変換部 10、途中計算用バッファ部 11、係数並び替え 用バッファ部 12、係数並び替え部 13、レート制御部 14、およびエントロピ符号ィ匕部 15 からなる。
[0055] 入力された画像データは、途中計算用バッファ部 11に一時的に溜め込まれる。ゥェ 一ブレット変換部 10は、途中計算用バッファ部 11に溜め込まれた画像データに対し てウェーブレット変換を施す。すなわち、ウェーブレット変換部 10は、途中計算用バッ ファ部 11力も画像データを読み出して分析フィルタによりフィルタ処理を施して低域 成分および高域成分の係数のデータを生成し、生成された係数データを途中計算 用バッファ部 11に格納する。ウェーブレット変換部 10は、水平分析フィルタと垂直分 析フィルタとを有し、画像データ群に対して、画面水平方向と画面垂直方向の両方に ついて分析フィルタ処理を行う。ウェーブレット変換部 10は、途中計算用バッファ部 11 に格納された低域成分の係数データを再度読み出し、読み出した係数データに対し て分析フィルタによるフィルタ処理を施して、高域成分および低域成分の係数のデー タをさらに生成する。生成された係数データは、途中計算用バッファ部 11に格納され る。
[0056] ウェーブレット変換部 10は、この処理を繰り返して分解レベルが所定レベルに達し たら、途中計算用バッファ部 11から係数データを読み出し、読み出された係数データ を係数並び替え用バッファ部 12に書き込む。
[0057] 係数並び替え部 13は、係数並び替え用バッファ部 12に書き込まれた係数データを 所定の順序で読み出し、エントロピ符号化部 15に供給する。エントロピ符号ィ匕部 15は 、供給された係数データを、例えばハフマン符号ィ匕ゃ算術符号ィ匕といった所定のェ ントロピ符号化方式で符号化する。
[0058] エントロピ符号ィ匕部 15は、レート制御部 14と連動的に動作し、出力される圧縮符号 化データのビットレートが略一定値となるように制御される。すなわち、レート制御部 1 4は、エントロピ符号ィ匕部 15からの符号ィ匕データ情報に基づき、エントロピ符号ィ匕部 1 5により圧縮符号化されたデータのビットレートが目標値に達した時点あるいは目標 値に達する直前でエントロピ符号ィ匕部 15による符号ィ匕処理を終了するように制御す る制御信号を、エントロピ符号化部 15に対して供給する。エントロピ符号ィ匕部 15は、レ ート制御部 14力 供給される制御信号に応じて符号ィ匕処理が終了した時点で、符号 化データを出力する。
[0059] ウェーブレット変換部 10で行われる処理について、より詳細に説明する。先ず、ゥェ 一ブレット変換について、概略的に説明する。画像データに対するウェーブレット変 換では、図 2に概略的に示されるように、画像データを空間周波数の高い帯域と低い 帯域とに分割する処理を、分割の結果得られる空間周波数の低い帯域のデータに 対して再帰的に繰り返す。こうして、空間周波数の低い帯域のデータをより小さな領 域に追!ヽ込んで!/ヽくことで、効率的な圧縮符号ィ匕を可能とする。
[0060] なお、図 2は、画像データの最低域成分領域に対する低域成分の領域 Lおよび高 域成分の領域 Hへの分割処理を 3回、繰り返し、分割レベル =3とした場合の例であ る。図 2において、 " および〃 ΗΊま、それぞれ低域成分および高域成分を表し、〃じ' および の順序は、前側が横方向に分割した結果の帯域を示し、後側が縦方向に 分割した結果の帯域を示す。また、〃じ'および" H〃の前の数字は、その領域の分割レ ベノレを示す。
[0061] また、図 2の例から分かるように、画面の右下の領域力 左上の領域にかけて段階 的に処理がなされ、低域成分が追い込まれていく。すなわち、図 2の例では、画面の 右下の領域が最も低域成分の少な ヽ (高域成分が最も多く含まれる)領域 3HHとされ る、画面が 4分割された左上の領域は、さらに 4分割され、この 4分割された領域のうち 左上の領域がさらに 4分割される。最も左上隅の領域は、最も低域成分を多く含む領 域 0LLとされる。
[0062] 低域成分に対して繰り返し変換および分割を行うのは、画像のエネルギが低域成 分に集中しているためである。このことは、図 3の Aに一例が示される分割レベル = 1 の状態から、図 3の Bに一例が示される分割レベル =3の状態のように分割レベルを 進めて 、くに従って、図 3の Bに示されるようにしてサブバンドが形成されて!、くこと力 らも、理解される。例えば、図 2におけるウェーブレット変換の分割レベルは 3であり、こ の結果、 10個のサブバンドが形成されている。
[0063] ウェーブレット変換部 10は、通常、低域フィルタと高域フィルタとから構成されるフィ ルタバンクを用いて、上述のような処理を行う。なお、ディジタルフィルタは、通常、複 数タップ長のインパルス応答すなわちフィルタ係数を持って 、るため、フィルタ処理を 行えるだけの入力画像データまたは係数データを予めバッファリングしておく必要が ある。また、ウェーブレット変換を多段にわたって行う場合も同様に、前段で生成した ウェーブレット変換係数を、フィルタ処理が行える数だけバッファリングしておく必要が ある。
[0064] 次に、この発明の実施の第 1の形態に適用可能なウェーブレット変換の具体的な例 として、 5 X 3フィルタを用いた方法について説明する。この 5 X 3フィルタを用いた方 法は、従来技術で既に説明した JPEG2000規格でも採用されており、少ないフィルタ タップ数でウェーブレット変換を行うことができる点で、優れた方法である。
[0065] 5 X 3フィルタのインパルス応答 (Z変換表現)は、次の式(1)および式 (2)に示すよう に、低域フィルタ H (z)と、高域フィルタ H (z)とから構成される。式(1)および式 (2)か
0 1
ら、低域フィルタ H (z)は、 5タップで、高域フィルタ H (z)は、 3タップであることが分か
0 1
る。
[0066] H (z) =(-l+2z_1+6z"2+2z"3-z"4)/8 · · · (1)
Figure imgf000015_0001
[0067] これら式(1)および式 (2)によれば、低域成分および高域成分の係数を、直接的に 算出することができる。ここで、リフティング (Lifting)技術を用いることで、フィルタ処理 の計算を減らすことができる。図 4を用いて、 5 X 3フィルタに対してリフティング技術を 適用した場合の、ウェーブレット変換を行う分析フィルタ側の処理について、概略的 に説明する。
[0068] 図 4において、最上段部、中段部および最下段部は、それぞれ入力画像の画素列 、高域成分出力および低域成分出力を示す。最上段は、入力画像の画素列に限ら ず、先のフィルタ処理で得られた係数でもよい。ここでは、最上段部が入力画像で画 素列であるものとし、四角印(國)が偶数番目(最初を 0番目とする)の画素またはライ ン、丸印(參)が奇数番目の画素またはラインとする。
[0069] 先ず第 1段階として、次式 (3)により入力画素列力 高域成分の係数 d 1を生成する = (1 °— l/2(s °+s °) · · · (3)
i i i i+1
[0070] 次に第 2段階として、この生成された高域成分の係数と、入力画像の奇数番目の画 素とを用いて、次式 (4)により低域成分の係数 s 1を生成する。
s ^ s lACd i + d 1) · · · (4)
i i i-1 i
[0071] 分析フィルタ側では、このようにして、フィルタリング処理により入力画像の画素デー タを低域成分と高域成分とに分解する。
[0072] 図 5を用いて、ウェーブレット変換により生成された係数を復元するウェーブレット逆 変換を行う合成フィルタ側の処理について、概略的に説明する。この図 5は、上述の 図 4と対応し、 5 X 3フィルタを用い、リフティング技術を適用した例を示す。図 5におい て、最上段部は、ウェーブレット変換により生成された入力係数を示し、丸印(參)が 高域成分の係数、四角印(國)が低域成分の係数をそれぞれ示す。
[0073] 先ず第 1段階として、次式 (5)に従い、入力された低域成分および高域成分の係数 から、偶数番目(最初を 0番目とする)の係数 s Qが生成される。
s ^ s -lACd i + d 1) · · · (5)
i i i-1 i
[0074] 次に第 2段階として、次式 (6)に従い、上述の第 1段階で生成された偶数番目の係 数 s °と、入力された高域成分の係数 d 1とから、奇数番目の係数 d°が生成される。 d ^ d ^l^Cs s °) · · · (6)
i i i i+1
[0075] 合成フィルタ側では、このようにして、フィルタリング処理により低域成分および高域 成分の係数を合成し、ウェーブレット逆変換を行う。
[0076] 次に、この発明の実施の第 1の形態によるウェーブレット変換方法について説明す る。図 6は、図 4を用いて説明した 5 X 3フィルタのリフティングによるフィルタ処理を、分 解レベル =2まで実行した例を示す。なお、図 6において、図の左側に分析フィルタと して示される部分は、画像符号ィ匕装置 1側におけるウェーブレット変換部 10のフィルタ である。また、図の右側に合成フィルタとして示される部分は、後述する画像復号装 置側におけるウェーブレット逆変換部のフィルタである。
[0077] なお、以下の説明では、例えば表示デバイスなどにおいて画面の左上隅の画素を 先頭として、画素が画面の左端力 右端に向けて走査されて 1ラインが構成され、ライ ン毎の走査が画面の上端から下端に向けて行われて 1画面が構成されるものとする。
[0078] 図 6において、左端列は、原画像データのライン上の対応する位置にある画素デー タが縦方向に並べられて示されている。すなわち、ウェーブレット変換部 10における フィルタ処理は、垂直フィルタを用いて画面上を画素が縦に走査されて行われる。左 端から 1列目乃至 3列目が分割レベル = 1のフィルタ処理を示し、 4列目乃至 6列目が 分割レベル =2のフィルタ処理を示す。左端から 2列目は、左端の原画像データの画 素に基づく高域成分出力、左端から 3列目は、原画像データおよび高域成分出力に 基づく低域成分出力を示す。分割レベル =2のフィルタ処理は、左端から 4列目乃至 6列目に示されるように、分割レベル = 1のフィルタ処理の出力に対して処理がなされ る。
[0079] 分解レベル = 1のフィルタ処理において、第 1段階のフィルタ処理として、原画像デ ータの画素に基づき高域成分の係数データが算出され、第 2段階のフィルタ処理とし て、第 1段階のフィルタ処理で算出された高域成分の係数データと、原画像データの 画素とに基づき低域成分の係数データが算出される。分解レベル = 1の一例のフィ ルタ処理を、図 6における左側 (分析フィルタ側)の第 1列目乃至第 3列目に示す。算 出された高域成分の係数データは、図 1で説明した係数並び替え用バッファ部 12に 格納される。また、算出された低域成分の係数データのは、途中計算用バッファ部 11 に格納される。
[0080] 図 6においては、係数並び替え用バッファ部 12は、一点鎖線で囲まれた部分として 示し、途中計算用バッファ部 11は、点線で囲まれた部分として示す。
[0081] 途中計算用バッファ部 11に保持された分解レベル = 1のフィルタ処理の結果に基 づき、分解レベル =2のフィルタ処理が行われる。分解レベル =2のフィルタ処理では 、分解レベル = 1のフィルタ処理にぉ 、て低域成分の係数として算出された係数デ ータを、低域成分および高域成分を含んだ係数データと見做して、分解レベル = 1と 同様のフィルタ処理を行う。分解レベル =2のフィルタ処理により算出された、高域成 分の係数データおよび低域成分の係数データは、図 1で説明した係数並び替え用バ ッファ部 12に格納される。
[0082] ウェーブレット変換部 10では、上述したようなフィルタ処理を、画面の水平方向およ び垂直方向にそれぞれ行う。例えば、先ず、分解レベル = 1のフィルタ処理を水平方 向に行い、生成された高域成分および低域成分の係数データを途中計算用バッファ 部 11に格納する。次に、途中計算用バッファ部 11に格納された係数データに対して 、垂直方向に分解レベル = 1のフィルタ処理を行う。この分解レベル = 1の水平およ び垂直方向の処理により、高域成分をさらに高域成分および低域成分に分解した係 数データのそれぞれによる領域 HHおよび領域 HLと、低域成分をさらに高域成分お よび低域成分に分解した係数データのそれぞれによる領域 LHおよび領域 LLとの 4領 域が形成される。
[0083] そして、分解レベル =2では、水平方向および垂直方向のそれぞれについて、分解 レベル = 1で生成された低域成分の係数データに対してフィルタ処理が行われる。す なわち、分解レベル =2では、分解レベル = 1で分割されて形成された領域 LLがさら に 4分割され、領域 LL内にさらに領域 HH、領域 HL、領域 LHおよび領域 LLが形成さ れる。
[0084] この実施の第 1の形態では、ウェーブレット変換によるフィルタ処理を、画面の縦方 向について、数ライン毎の処理に分割して、複数回に分けて段階的に行うようにして いる。図 6の例では、画面上の第 1ラインからの処理になる 1回目の処理は、 7ラインに っ ヽてフィルタ処理を行 、、 8ライン目力 の処理になる 2回目以降の処理は、 4ライン 毎にフィルタ処理を行っている。このライン数は、高域成分と低域成分とに 2分解した 後に、 1ライン分の最低域成分が生成されるために必要なライン数に基づく。 [0085] なお、以下において、この最低域成分の 1ライン分 (最低域成分のサブバンドの 1ラ イン分の係数データ)を生成するために必要な、他のサブバンドも含めたラインの集 まりを、ラインブロック(またはプレシンクト)と称する。ここでラインとは、ウェーブレット 変換前の画像データに対応するピクチャ若しくはフィールド内、または各サブバンド 内において形成される 1行分の画素データ若しくは係数データのことを示す。すなわ ち、ラインブロック(プレシンクト)とは、ウェーブレット変換前の元の画像データにおけ る、ウェーブレット変換後の最低域成分のサブバンド 1ライン分の係数データを生成 するために必要なライン数分の画素データ群、または、その画素データ群をウェーブ レット変換して得られる各サブバンドの係数データ群のことを示す。
[0086] 図 6によれば、分解レベル =2のフィルタ処理結果で得られる係数 C5は、係数 C4お よび途中計算用バッファ部 11に格納された係数 Cに基づき算出され、係数 C4は、途
a
中計算用バッファ部 11に格納された係数 C、係数 Cおよび係数 Cに基づき算出され
a b c
る。さらに、係数 Cは、係数並び替え用バッファ部 12に格納される係数 C2および係数 C3、並びに、第 5ラインの画素データに基づき算出される。また、係数 C3は、第 5ライ ン乃至第 7ラインの画素データに基づき算出される。このように、分割レベル =2にお ける低域成分の係数 C5を得るためには、第 1ライン乃至第 7ラインの画素データが必 要とされる。
[0087] これに対して、 2回目以降のフィルタ処理にお!、ては、前回までのフィルタ処理で既 に算出され係数並び替え用バッファ部 12に格納されている係数データを用いること ができるので、必要なライン数が少なくて済む。
[0088] すなわち、図 6によれば、分解レベル =2のフィルタ処理結果で得られる低域成分の 係数のうち、係数 C5の次の係数である係数 C9は、係数 C4および係数 C8、並びに、 途中計算用バッファ部 11に格納された係数 Cに基づき算出される。係数 C4は、上述 した 1回目のフィルタ処理により既に算出され、係数並び替え用バッファ部 12に格納 されている。同様に、係数 Cは、上述の 1回目のフィルタ処理により既に算出され、途 中計算用バッファ部 11に格納されている。したがって、この 2回目のフィルタ処理にお いては、係数 C8を算出するためのフィルタ処理のみ力 新たになされることになる。こ の新たなフィルタ処理は、第 8ライン乃至第 11ラインがさらに用いられてなされる。 [0089] このように、 2回目以降のフィルタ処理は、前回までのフィルタ処理により算出され途 中計算用バッファ部 11および係数並び替え用バッファ部 12に格納されたデータを用 いることができるので、それぞれ 4ライン毎の処理で済むことになる。
[0090] なお、画面上のライン数が符号ィ匕のライン数と合致しな ヽ場合は、原画像データの ラインを所定に複製してライン数を符号ィ匕のライン数と合わせて、フィルタ処理を行う
[0091] 詳細は後述するが、この発明では、このように、最低域成分 1ライン分の係数データ が得られるだけのフィルタ処理を段階的に、画面全体のラインに対して複数回に分け て (ラインブロック単位で)行うことで、符号化データを伝送した際に低遅延で復号画 像を得ることを可能として 、る。
[0092] ウェーブレット変換を行うためには、ウェーブレット変換そのものを実行するために 用いられる第 1のノ ッファと、所定の分割レベルまで処理を実行する間に生成される 係数を格納するための第 2のノ ッファとが必要とされる。第 1のバッファは、途中計算 用バッファ部 11に対応し、図 6においては点線で囲まれて示されている。また、第 2の バッファは、係数並び替え用バッファ部 12に対応し、図 6においては一点鎖線に囲ま れて示されている。第 2のノ ッファに格納された係数は、復号の際に用いられるため、 後段のエントロピ符号ィ匕処理の対象とされる。
[0093] 係数並び替え部 13の処理について説明する。上述したように、ウェーブレット変換 部 10で算出された係数データは、係数並び替え用バッファ部 12に格納され、係数並 び替え部 13により順序を並び替えられて読み出され、エントロピ符号ィ匕部 15に送出さ れる。
[0094] 既に説明したように、ウェーブレット変換においては、高域成分側から低域成分側 へと係数が生成されていく。図 6の例では、 1回目において、原画像の画素データに より、分解レベル = 1のフィルタ処理で、高域成分の係数 Cl、係数 C2および係数 C3 が順次生成される。そして、分解レベル = 1のフィルタ処理で得られた低域成分の係 数データに対して分解レベル =2のフィルタ処理を行!、、低域成分の係数 C4および 係数 C5が順次生成される。すなわち、第 1回目では、係数 Cl、係数 C2、係数 C3、係 数 C4、係数 C5の順に、係数データが生成される。この係数データの生成順は、ゥェ 一ブレット変換の原理上、必ずこの順序(高域から低域の順)になる。
[0095] これに対して、復号側では、低遅延で即座に復号を行うためには低域成分力 画 像の生成および出力を行う必要がある。そのため、符号化側で生成された係数デー タを最低域成分側から高域成分側に向けて並び替えて復号側に供給することが望ま しい。
[0096] 図 6の例を用いて、より具体的に説明する。図 6の右側は、逆ウェーブレット変換を行 う合成フィルタ側を示す。復号側の、出力画像データの第 1ライン目を含む 1回目の 合成処理 (逆ウェーブレット変換処理)は、符号化側の 1回目のフィルタ処理で生成さ れた最低域成分の係数 C4および係数 C5と、係数 C1とを用いて行われる。
[0097] すなわち、 1回目の合成処理においては、係数 C5、係数 C4、係数 C1の順に符号ィ匕 側から復号側に係数データを供給し、復号側では、分解レベル =2に対応する合成 処理である合成レベル =2の処理で、係数 C5および係数 C4に対して合成処理を行 つて係数 C
fを生成し、ノ ッファに格納する。そして、分解レベル = 1に対応する合成処 理である合成レベル = 1の処理で、この係数 Cと係数 C1に対して合成処理を行って、
f
第 1ラインを出力する。
[0098] このように、第 1回目の合成処理においては、符号化側で係数 Cl、係数 C2、係数 C 3、係数 C4、係数 C5の順に生成され係数並び替え用バッファ部 12に格納された係数 データが、係数 C5、係数 C4、係数 Cl、 · · ·の順に並び替えられて復号側に供給され る。
[0099] なお、図 6の右側に示す合成フィルタ側では、符号化側から供給される係数につい て、括弧内に符号ィ匕側での係数の番号を記し、括弧外に合成フィルタのライン順を 記す。例えば係数 C1 (5)は、図 6の左側の分析フィルタ側では係数 C5であって、合成 フィルタ側では第 1ライン目であることを示す。
[0100] 符号化側の 2回目以降のフィルタ処理で生成された係数データによる復号側の合 成処理は、前回の合成処理の際に合成あるいは符号化側から供給された係数デー タを用いて行うことができる。図 6の例では、符号ィ匕側の 2回目のフィルタ処理で生成 された低域成分の係数 C8および係数 C9を用いて行う、復号側の 2回目の合成処理 は、符号化側の 1回目のフィルタ処理で生成された係数 C2および係数 C3がさらに必 要とされ、第 2ライン乃至第 5ラインが復号される。
[0101] すなわち、 2回目の合成処理においては、係数 C9、係数 C8、係数 C2、係数 C3の順 に符号化側から復号側に係数データを供給する。復号側では、合成レベル =2の処 理において、係数 C8および係数 C9と、 1回目の合成処理の際に符号化側から供給さ れた係数 C4とを用いて係数 Cを生成し、バッファに格納する。この係数 Cと、上述の
g g
係数 C4と、 1回目の合成処理により生成されバッファに格納された係数 Cとを用いて
f
係数 Cを生成し、バッファに格納する。
h
[0102] そして、合成レベル = 1の処理において、合成レベル =2の処理で生成されバッファ に格納された係数 Cおよび係数 Cと、符号化側から供給された係数 C2 (合成フィル g h
タでは係数 C6 (2)と示されて 、る)および係数 C3 (合成フィルタでは係数 C7 (3)と示さ れている)とを用いて合成処理が行われ、第 2ライン乃至第 5ラインが復号される。
[0103] このように、第 2回目の合成処理においては、符号化側で係数 C2、係数 C3、(係数 C4、係数 C5)、係数 C6、係数 C7、係数 C8、係数 C9の順に生成された係数データが、 係数 C9、係数 C8、係数 C2、係数 C3、 · · ·の順に並び替えられて復号側に供給される
[0104] 3回目以降の合成処理においても、同様にして、並び替えバッファ部 12に格納され た係数データが所定に並び替えられて復号部に供給され、 4ラインずつ、ラインが復 号される。
[0105] なお、符号ィ匕側において画面の下端のラインを含むフィルタ処理 (以下、最後の回 と呼ぶ)に対応する復号側の合成処理では、それまでの処理で生成されバッファ〖こ 格納された係数データを全て出力することになるため、出力ライン数が多くなる。図 6 の例では、最後の回に 8ラインが出力される。
[0106] なお、係数並び替え部 13による係数データの並び替え処理は、例えば、係数並び 替え用バッファ部 12に格納された係数データを読み出す際の読み出しアドレスを、所 定の順序に設定することでなされる。
[0107] 図 7を用いて、上述までの処理をより具体的に説明する。図 7は、 5 X 3フィルタを用 いて、分解レベル =2までウェーブレット変換によるフィルタ処理を施した例である。ゥ エーブレット変換部 10において、図 7の Aに一例が示されるように、入力画像データの 第 1ライン力も第 7ラインに対して 1回目のフィルタ処理が水平および垂直方向にそれ ぞれ行われる(図 7の Aの In-1)。
[0108] 1回目のフィルタ処理の分解レベル = 1の処理において、係数 Cl、係数 C2、および 係数 C3の 3ライン分の係数データが生成され、図 7の Bに一例が示されるように、分解 レベル = 1で形成される領域 HH、領域 HLおよび領域 LHのそれぞれに配置される( 図 7の Bの WT_1)。
[0109] また、分解レベル = 1で形成される領域 LLは、分解レベル =2による水平および垂 直方向のフィルタ処理でさらに 4分割される。分解レベル = 2で生成される係数 C5お よび係数 C4は、分解レベル = 1による領域 LL内において、領域 LLに係数 C5による 1 ラインが配置され、領域 HH、領域 HLおよび領域 LHのそれぞれに、係数 C4による 1ラ インが配置される。
[0110] ウェーブレット変換部 10による 2回目以降のフィルタ処理では、 4ライン毎にフィルタ 処理が行われ(図 7の Aの Ιη-2 · · 、分解レベル = 1で 2ラインずつの係数データが生 成され(図 7の Βの WT- 2)、分解レベル =2で 1ラインずつの係数データが生成される。
[0111] 図 6の 2回目の例では、分解レベル = 1のフィルタ処理で係数 C6および係数 C7の 2 ライン分の係数データが生成され、図 7の Βに一例が示されるように、分解レベル 1で 形成される領域 ΗΗ、領域 HLおよび領域 LHの、 1回目のフィルタ処理で生成された係 数データの次から配置される。同様に、分解レベル = 1による領域 LL内において、分 解レベル =2のフィルタ処理で生成された 1ライン分の係数 C9が領域 LLに配置され、 1ライン分の係数 C8が領域 HH、領域 HLおよび領域 LHにそれぞれ配置される。
[0112] 図 7の Bのようにウェーブレット変換されたデータを復号した際には、図 7の Cに一例 が示されるように、符号ィ匕側の第 1ライン乃至第 7ラインによる 1回目のフィルタ処理に 対して、復号側の 1回目の合成処理による第 1ラインが出力される(図 7の Cの Out-1) 。以降、符号ィ匕側の 2回目力も最後の回の前までのフィルタ処理に対して、復号側で 4ラインずつが出力される(図 7の Cの Out-2 · · 。そして、符号化側の最後の回のフィ ルタ処理に対して、復号側で 8ラインが出力される。
[0113] ウェーブレット変換部 10で高域成分側力ゝら低域成分側へと生成された係数データ は、係数並び替え用バッファ部 12に順次格納される。係数並び替え部 13は、上述し た係数データの並び替えが可能となるまで係数並び替え用バッファ部 12に係数デー タが蓄積されると、係数並び替え用バッファ部 12から合成処理に必要な順に並び替 えて係数データを読み出す。読み出された係数データは、エントロピ符号化部 15に 順次、供給される。
[0114] エントロピ符号ィ匕部 15は、供給された係数データに対して、レート制御部 14力も供 給される制御信号に基づき出力データのビットレートが目標ビットレートになるように 符号化動作を制御して、エントロピ符号化を施す。エントロピ符号化された符号化デ ータは、復号側に供給される。符号ィ匕方式としては、既知の技術であるハフマン符号 化や算術符号化などが考えられる。勿論、これらに限らず、可逆的な符号化処理が 可能であれば、他の符号ィ匕方式を用いてもよい。
[0115] なお、エントロピ符号ィ匕部 15力 係数並び替え部 13力 読み出された係数データに 対して、最初に量子化を行い、得られた量子化係数に対してハフマン符号化や算術 符号化等の情報源符号化処理を施すようにすれば、さらに圧縮効果の向上を期待 することができる。この量子化の方法としてはどのようなものを用いても良ぐ例えば、 一般的な手段、つまり、以下の式 (7)に示されるような、係数データ Wを量子化ステツ プサイズ Δで除算する手法を用いれば良!、。
[0116] 量子化係数 =\Υ/ Δ · · · (7)
[0117] 図 6および図 7を用いて説明したように、この発明の実施の第 1の形態では、ゥエー ブレット変換部 10は、画像データの複数ライン毎(ラインブロック毎)にウェーブレット 変換処理を行う。エントロピ符号ィ匕部 15では符号化された符号ィ匕データは、このライ ンブロック毎に出力される。すなわち、上述の、 5 X 3フィルタを用い、分解レベル =2 まで処理を行った場合には、 1画面のデータの出力において、最初が 1ライン、 2回目 以降最後の回の前までが 4ラインずつ、最後の回が 8ラインの出力が得られる。
[0118] なお、係数並び替え部 13で並び替えられた後の係数データをエントロピ符号ィ匕す る場合、例えば図 6で示した 1回目のフィルタ処理では、最初の係数 C5のラインをェン トロピ符号ィ匕する際には、未だ過去のラインすなわち既に係数データが生成されたラ インが存在していない。したがって、この場合には、この 1ラインだけをエントロピ符号 化する。これに対して、係数 C1のラインを符号ィ匕する際には、係数 C5および係数 C4 のラインが過去のラインとなっている。これら近接する複数ラインは、似たデータで構 成されて!/、ることが考えられるので、これら複数ラインを纏めてエントロピ符号ィ匕する ことは、有効である。
[0119] また、上述では、ウェーブレット変換部 10において、 5 X 3フィルタを用いてウェーブ レット変換によるフィルタ処理を行う例について説明した力 これはこの例に限られな い。例えば、ウェーブレット変換部 10では、例えば 9 X 7フィルタといった、さらにタップ 数の長いフィルタを用いることができる。この場合、フィルタのタップ数が長ければ、フ ィルタに蓄積されるライン数も多くなるので、画像データの入力から符号化データの 出力までの遅延時間が長くなることになる。
[0120] また、上述では、説明のためウェーブレット変換の分解レベルを分解レベル =2とし た力 これはこの例に限られず、さらに分解レベルを上げることができる。分解レベル を上げるほど、より高圧縮率を実現することができる。例えば、一般的には、ウェーブ レット変換においては、分解レベル =4までフィルタ処理が繰り返される。なお、分解 レベルが上がれば、遅延時間も増大することになる。
[0121] したがって、実際のシステムにこの発明の実施の第 1の形態を適用する際には、当 該システムに要求される遅延時間ゃ復号画像の画質などに応じて、フィルタのタップ 数や、分解レベルを決めることが好ましい。このフィルタのタップ数や、分解レベルは 、固定値とせずに、適応的に選択するようにもできる。
[0122] 次に、以上のような画像符号化装置 1による符号化処理全体の具体的な流れの例 を図 8のフローチャートを参照して説明する。
[0123] 符号化処理が開始されると、ウェーブレット変換部 10は、ステップ S1において、処理 対象ラインブロックの番号 Aを初期設定にする。通常の場合、番号 Aは「1」に設定され る。設定が終了すると、ウェーブレット変換部 10は、ステップ S2において、最低域サブ バンドにおいて上力も A番目の 1ラインを生成するのに必要なライン数 (すなわち、 1ラ インブロック)の画像データを取得し、その画像データに対して、ステップ S3において 画面垂直方向に並ぶ画像データに対して分析フィルタリングを行う垂直分析フィルタ リング処理を行!、、ステップ S4にお 、て画面水平方向に並ぶ画像データに対して分 析フィルタリング処理を行う水平分析フィルタリング処理を行う。 [0124] ステップ S5においてウェーブレット変換部 10は、分析フィルタリング処理を最終レべ ルまで行ったか否かを判定し、分解レベルが最終レベルに達して!/、な!/、と判定した 場合、処理をステップ S3に戻し、現在の分解レベルに対して、ステップ S3およびステ ップ S4の分析フィルタリング処理を繰り返す。
[0125] ステップ S5において、分析フィルタリング処理が最終レベルまで行われたと判定した 場合、ウェーブレット変換部 10は、処理をステップ S6に進める。
[0126] ステップ S6において、係数並び替え部 13は、ラインブロック A (ピクチャ (インタレース 方式の場合フィールド)の上から A番目のラインブロック)の係数を低域力 高域の順 番に並び替える。エントロピ符号ィ匕部 15は、ステップ S7において、その係数に対して ライン毎にエントロピ符号ィ匕する。エントロピ符号ィ匕が終了すると、エントロピ符号ィ匕 部 15は、ステップ S8においてラインブロック Aの符号ィ匕データを外部に送出する。
[0127] ウェーブレット変換部 10は、ステップ S9において番号 Aの値を「1」インクリメントして 次のラインブロックを処理対象とし、ステップ S10において、処理対象のピクチャ (イン タレース方式の場合フィールド)について、未処理の画像入力ラインが存在するか否 かを判定し、存在すると判定した場合、処理をステップ S2に戻し、新たな処理対象の ラインブロックに対してそれ以降の処理を繰り返す。
[0128] 以上のようにステップ S2乃至ステップ S10の処理が繰り返し実行され、各ラインブロッ クが符号化される。そして、ステップ S10において、未処理の画像入力ラインが存在し ないと判定した場合、ウェーブレット変換部 10は、そのピクチヤに対する符号化処理 を終了する。次のピクチヤに対しては新たに符号ィ匕処理が開始される。
[0129] 従来のウェーブレット変換の方法の場合、まず、水平分析フィルタリング処理をピク チヤ (インタレース方式の場合フィールド)全体に対して行 、、次に垂直分析フィルタ リング処理をそのピクチャ全体に対して行う。そして得られた低域成分全体に対して 同様の水平分析フィルタリング処理と垂直分析フィルタリング処理を順に行う。以上の ように、分解レベルが最終レベルに達するまで、分析フィルタリング処理が再帰的に 繰り返される。従って、各分析フィルタリング処理の結果をバッファに保持させる必要 があるが、その際、ノ ッファは、ピクチャ (インタレース方式の場合フィールド)全体、若 しくは、その時点の分解レベルの低域成分全体のフィルタリング結果を保持する必要 力 Sあり、多大なメモリ容量を必要とすることになる (保持するデータ量が多い)。
[0130] また、この場合、ピクチャ (インタレース方式の場合フィールド)内にお 、て全てのゥ エーブレット変換が終了しないと、後段の係数並び替えやエントロピ符号ィ匕を行うこと ができず、遅延時間が増大する。
[0131] これに対して、画像符号ィ匕装置 1のウェーブレット変換部 10の場合、上述したように ラインブロック単位で垂直分析フィルタリング処理および水平分析フィルタリング処理 を最終レベルまで連続して行うので、従来の方法と比較して、一度に(同時期に)保 持する(バッファリングする)必要のあるデータの量が少なぐ用意すべきバッファのメ モリ量を大幅に低減させることができる。また、最終レベルまで分析フィルタリング処 理が行われることにより、後段の係数並び替えやエントロピ符号ィ匕等の処理も行うこと ができる(つまり、係数並び替えやエントロピ符号ィ匕をラインブロック単位で行うことが できる)。従って、従来の方法と比較して遅延時間を大幅に低減させることができる。
[0132] 図 9は、図 1の画像符号化装置 1に対応する画像復号装置の一例の構成を示す。図 1の画像符号ィ匕装置 1のエントロピ符号ィ匕部 15から出力された符号ィ匕データ(図 1の 符号化データ出力)は、図 9の画像復号装置 20のエントロピ復号部 21に供給され(図 9の符号化データ入力)、エントロピ符号を復号され、係数データとされる。係数デー タは、係数バッファ部 22に格納される。ウェーブレット逆変換部 23は、係数バッファ部 22に格納された係数データを用いて、例えば図 5および図 6を用いて説明したようにし て合成フィルタによる合成フィルタ処理を行 ヽ、合成フィルタ処理の結果を再び係数 バッファ部 22に格納する。ウェーブレット逆変換部 23は、この処理を分解レベルに応 じて繰り返して、復号された画像データ(出力画像データ)を得る。
[0133] 次に、以上のような画像復号装置 20による復号処理全体の具体的な流れの例を図 10のフローチャートを参照して説明する。
[0134] 復号処理が開始されると、エントロピ復号部 21は、ステップ S31において、符号化デ ータを取得し、ステップ S32において、ライン毎に符号化データをエントロピ復号する。 ステップ S33において、係数バッファ部 22は、その復号されて得られた係数を保持す る。ステップ S34においてウェーブレット逆変換部 23は、係数バッファ部 22に 1ラインブ ロック分の係数が蓄積された力否かを判定し、蓄積されていないと判定した場合、処 理をステップ S31に戻し、それ以降の処理を実行させ、係数バッファ部 22に 1ラインブ ロック分の係数が蓄積されるまで待機する。
[0135] ステップ S34において係数バッファ部 22に 1ラインブロック分の係数が蓄積されたと 判定した場合、ウェーブレット逆変換部 23は、処理をステップ S35に進め、係数バッフ ァ部 22に保持されている係数を 1ラインブロック分読み出す。
[0136] そしてその読み出した係数に対して、ウェーブレット逆変換部 23は、ステップ S36に お!ヽて、画面垂直方向に並ぶ係数に対して合成フィルタリング処理を行う垂直合成 フィルタリング処理を行い、ステップ S37において、画面水平方向に並ぶ係数に対し て合成フィルタリング処理を行う水平合成フィルタリング処理を行 、、ステップ S38にお いて、合成フィルタリング処理がレベル 1 (分解レベルの値が「1」のレベル)まで終了し たか否か、すなわち、ウェーブレット変換前の状態まで逆変換した力否かを判定し、 レベル 1まで達していないと判定した場合、処理をステップ S36に戻し、ステップ S36お よびステップ S37のフィルタリング処理を繰り返す。
[0137] ステップ S38において、レベル 1まで逆変換処理が終了したと判定した場合、ゥエー ブレット逆変換部 23は、処理をステップ S39に進め、逆変換処理により得られた画像 データを外部に出力する。
[0138] ステップ S40において、エントロピ復号部 21は、復号処理を終了するか否かを判定し 、符号化データの入力が継続しており、復号処理を終了しないと判定した場合、処理 をステップ S31に戻し、それ以降の処理を繰り返す。また、ステップ S40において、符号 化データの入力が終了するなどして復号処理を終了すると判定した場合、エントロピ 復号部 21は、復号処理を終了する。
[0139] 従来のウェーブレット逆変換の方法の場合、処理対象の分解レベルの全係数に対 して、まず、画面水平方向に水平合成フィルタリング処理を行い、次に画面垂直方向 に垂直合成フィルタリング処理を行っていた。つまり、各合成フィルタリング処理の度 に、その合成フィルタリング処理の結果をバッファに保持させる必要がある力 その際 、バッファは、その時点の分解レベルの合成フィルタリング結果と、次の分解レベルの 全係数を保持する必要があり、多大なメモリ容量を必要とすることになる (保持するデ ータ量が多い)。 [0140] また、この場合、ピクチャ (インタレース方式の場合フィールド)内にお 、て全てのゥ エーブレット逆変換が終了するまで画像データ出力が行われないので、入力から出 力までの遅延時間が増大する。
[0141] これに対して、画像復号装置 20のウェーブレット逆変換部 23の場合、上述したよう にラインブロック単位で垂直合成フィルタリング処理および水平合成フィルタリング処 理をレベル 1まで連続して行うので、従来の方法と比較して、一度に(同時期に)バッ ファリングする必要のあるデータの量が少なぐ用意すべきバッファのメモリ量を大幅 に低減させることができる。また、レベル 1まで合成フィルタリング処理(ウェーブレット 逆変換処理)が行われることにより、ピクチャ内の全画像データが得られる前に (ライ ンブロック単位で)画像データを順次出力させることができ、従来の方法と比較して遅 延時間を大幅に低減させることができる。
[0142] なお、図 1に示される画像符号化装置 1や、図 9に示される画像復号装置 20の各要 素の動作(図 8の符号ィ匕処理や図 10の復号処理)は、例えば図示されない CPU(Cent ral Processing Unit)により、所定のプログラムに従い制御される。プログラムは、例え ば図示されない ROM(Read Only Memory)に予め記憶される。これに限らず、画像符 号化装置や画像復号装置を構成する各要素間でタイミング信号や制御信号を互い にやりとりして、全体として動作させることも可能である。また、画像符号化装置や画 像復号装置は、コンピュータ装置上で動作するソフトウェアで実現することも可能であ る。
[0143] 次に、この発明の実施の第 2の形態について説明する。この実施の第 2の形態では 、上述の実施の第 1の形態で説明したシステムにおいて、画像符号化装置 1および画 像復号装置 20の各要素を並列的に動作させ、画像の圧縮符号化および復号処理を より低遅延で行うようにしたものである。
[0144] なお、実施の第 2の形態では、上述の実施の第 1の形態で図 1乃至図 10を用いて説 明した画像符号化装置 1および画像復号装置 20、ならびに、符号化方法および復号 方法をそのまま適用可能なので、これらの説明は、繁雑さを避けるために省略する。
[0145] 図 11は、この発明の実施の第 2の形態による、画像符号化装置 1および画像復号装 置 20の各要素の一例の並列動作を概略的に示す。この図 11は、上述した図 7と対応 するものである。画像データの入力 In-1 (図 11の A)に対して、エントロピ符号ィ匕部 15 で 1回目のウェーブレット変換 WT-1が施される(図 11の B)。図 6を参照し説明したよう に、この 1回目のウェーブレット変換 WT-1は、最初の 3ラインが入力された時点で開 始され、係数 C1が生成される。すなわち、画像データ In-1の入力からウェーブレット 変換 WT-1が開始されるまで、 3ライン分の遅延が生じる。
[0146] 生成された係数データは、係数並び替え用バッファ部 12に格納される。以降、入力 された画像データに対してウェーブレット変換が施され、 1回目の処理が終了すると、 そのまま 2回目のウェーブレット変換 WT-2に処理が移行する。
[0147] 2回目のウェーブレット変換 WT-2のための画像データ In-2の入力と、当該 2回目の ウェーブレット変換 WT-2の処理と並列的に、係数並び替え部 13により 3個の、係数 C 1、係数 C4、および係数 C5の並び替え Ord- 1が実行される(図 11の C)。
[0148] なお、ウェーブレット変換 WT-1の終了から並び替え Ord-1が開始されるまでの遅延 は、例えば、並び替え処理を係数並び替え部 13に指示する制御信号の伝達に伴う 遅延や、制御信号に対する係数並び替え部 13の処理開始に要する遅延、プログラム 処理に要する遅延といった、装置やシステム構成に基づく遅延であって、符号化処 理における本質的な遅延ではな 、。
[0149] 係数データは、並び替えが終了した順に係数並び替え用バッファ部 12力 読み出 され、エントロピ符号化部 15に供給され、エントロピ符号化 EC-1が行われる(図 11の D ) oこのエントロピ符号化 EC-1は、 3個の、係数 Cl、係数 C4、および係数 C5の、全て の並び替えの終了を待たずに開始することができる。例えば、最初に出力される係数 C5による 1ラインの並び替えが終了した時点で、当該係数 C5に対するエントロピ符号 化を開始することができる。この場合、並び替え Ord-1の処理開始力もエントロピ符号 ィ匕 EC-1の処理開始までの遅延は、 1ライン分となる。
[0150] エントロピ符号ィ匕部 15によるエントロピ符号化 EC-1が終了した符号ィ匕データは、何 らかの伝送路を介して画像復号装置 20に伝送される(図 11の E)。符号化データが伝 送される伝送路としては、例えばインターネットなどの通信ネットワークが考えられる。 この場合、符号化データは、 IP(Internet Protocol)により伝送される。これに限らず、 符号化データの伝送路としては、 USB(Universal Serial Bus)や IEEE1394(Institute Ele ctrical and Electronics Engineers 1394)といった通信インタフェースや、 IEEE802.il 規格などに代表される無線通信も考えられる。
[0151] 画像符号ィ匕装置 1に対して、 1回目の処理による 7ライン分の画像データ入力に続け て、画面上の下端のラインまで画像データが順次、入力される。画像符号化装置 1で は、画像データの入力 In-n (nは 2以上)に伴い、上述したようにして、 4ライン毎にゥェ 一ブレット変換 WT- n、並び替え Ord- nおよびエントロピ符号化 EC- nを行う。画像符 号ィ匕装置 1における最後の回の処理に対する並び替え Ordおよびエントロピ符号化 E Cは、 6ラインに対して行われる。これらの処理は、画像符号化装置 1において、図 11 の A乃至図 11の Dに例示されるように、並列的に行われる。
[0152] 画像符号化装置 1によるエントロピ符号化 EC-1により符号化された符号化データが 、画像復号装置 20に伝送路を介して伝送され、エントロピ復号部 21に供給される。ェ ントロピ復号部 21は、供給された、エントロピ符号化 EC- 1により符号化された符号ィ匕 データに対して、順次、エントロピ符号の復号 iEC-1を行い、係数データを復元する( 図 11の F)。復元された係数データは、順次、係数バッファ部 22に格納される。ゥエー ブレット逆変換部 23は、係数バッファ部 22にウェーブレット逆変換が行えるだけ係数 データが格納されたら、係数バッファ部 22から係数データを読み出して、読み出され た係数データを用いてウェーブレット逆変換 iWT-1を行う(図 11の G)。
[0153] 図 6を参照して説明したように、ウェーブレット逆変換部 23によるウェーブレット逆変 換 iWT-1は、係数 C4および係数 C5が係数バッファ部 22に格納された時点で開始す ることができる。したがって、エントロピ復号部 21による復号 iEC-1が開始されて力 ゥ エーブレット逆変換部 23によるウェーブレット逆変換 iWT-1が開始されるまでの遅延 は、 2ライン分となる。
[0154] ウェーブレット逆変換部 23において、 1回目のウェーブレット変換による 3ライン分の ウェーブレット逆変換 iWT-1が終了すると、ウェーブレット逆変換 iWT-1で生成された 画像データの出力 Out-1が行われる(図 11の!■[)。出力 Out-1では、図 6および図 7を 用いて説明したように、第 1ライン目の画像データが出力される。
[0155] 画像復号装置 20に対して、画像符号ィ匕装置 1における 1回目の処理による 3ライン 分の符号化された係数データの入力に続けて、エントロピ符号ィ匕 EC-n (nは 2以上) により符号化された係数データが順次、入力される。画像復号装置 20では、入力され た係数データに対して、上述したようにして、 4ライン毎にエントロピ復号 iEC-nおよび ウェーブレット逆変換 iWT- nを行 、、ウェーブレット逆変換 iWT-nにより復元された画 像データの出力 Out-nを順次、行う。画像符号化装置の最後の回に対応するェント 口ピ復号 iECおよびウェーブレット逆変換 iWTは、 6ラインに対して行われ、出力 Outは 、 8ラインが出力される。これらの処理は、画像復号装置において、図 11の F乃至図 11 の Hに例示されるように、並列的に行われる。
[0156] 上述のようにして、画面上部から下部の方向に順番に、画像符号化装置 1および画 像復号装置 20における各処理を並列的に行うことで、画像圧縮処理および画像復号 処理をより低遅延で行うことが可能となる。
[0157] 図 11を参照して、 5 X 3フィルタを用いて分解レベル =2までウェーブレット変換を行 つた場合の、画像入力力も画像出力までの遅延時間を計算してみる。第 1ライン目の 画像データが画像符号化装置 1に入力されてから、この第 1ライン目の画像データが 画像復号装置 20から出力されるまでの遅延時間は、下記の各要素の総和となる。な お、ここでは、伝送路における遅延や、装置各部の実際の処理タイミングに伴う遅延 などの、システムの構成により異なる遅延は、除外している。
[0158] (1)最初のライン入力から 7ライン分のウェーブレット変換 WT-1が終了するまでの遅 延 D— WT
(2) 3ライン分の計数並び替え Ord-1に伴う時間 D_Ord
(3) 3ライン分のエントロピ符号化 EC- 1に伴う時間 D_EC
(4) 3ライン分のエントロピ復号 iEC- 1に伴う時間 D_iEC
(5) 3ライン分のゥヱーブレット逆変換 iWT-1に伴う時間 DjWT
[0159] 図 11を参照して、上述の各要素による遅延の計算を試みる。(1)の遅延 D_WTは、 1 0ライン分の時間である。(2)の時間 D_Ord、(3)の時間 D_EC、(4)の時間 DjEC、およ び (5)の時間 DjWTは、それぞれ 3ライン分の時間である。また、画像符号化装置 1に おいて、並び替え Ord-1が開始されてから 1ライン後には、エントロピ符号ィ匕 EC-1を 開始することができる。同様に、画像復号装置 20において、エントロピ復号 iEC-1が 開始されてから 2ライン後には、ウェーブレット逆変換 iWT-1を開始することができる。 また、エントロピ復号 iEC-1は、エントロピ符号化 EC-1で 1ライン分の符号ィ匕が終了し た時点で処理を開始することができる。
[0160] したがって、この図 11の例では、画像符号ィ匕装置に第 1ライン目の画像データが入 力されてから、画像復号装置カゝら当該第 1ライン目の画像データが出力されるまでの 遅延時間は、 10+1+1+2+3=17ライン分となる。
[0161] 遅延時間について、より具体的な例を挙げて考察する。入力される画像データが H DTV(High Definition Television)のインタレースビデオ信号の場合、例えば 1920画素 X 1080ラインの解像度で 1フレームが構成され、 1フィールドは、 1920画素 X 540ライン となる。したがって、フレーム周波数を 30Hzとした場合、 1フィールドの 540ラインが 16. 67msec ( = lsec/60フィールド)の時間に、画像符号化装置 1に入力されることになる。
[0162] したがって、 7ライン分の画像データの入力に伴う遅延時間は、 0.216msec ( = 16.67 msec X 7/540ライン)であり、例えば 1フィールドの更新時間に対して非常に短い時間 となる。また、上述した(1)の遅延 D_WT、(2)の時間 D_Ord、(3)の時間 D_EC、(4)の 時間 D_iEC、および(5)の時間 DjWTの総和についても、処理対象のライン数が少な いため、遅延時間が非常に短縮される。各処理を行う要素をハードウ ア化すれば、 処理時間をさらに短縮することも可能である。
[0163] 次に、この発明の実施の第 3の形態について説明する。上述した実施の第 1および 第 2の形態では、画像符号化装置 1において、ウェーブレット変換を行った後に係数 データの並び替えを行っていた。これに対して、この発明の実施の第 3の形態では、 係数データの並び替えを、エントロピ符号ィ匕の後に行うようにしている。すなわち、こ の場合の画像符号ィ匕装置では、入力された画像データに対してウェーブレット変換 を行 、生成された係数に対してエントロピ符号化を施し、エントロピ符号化されたデ ータに対して並び替え処理を行う。このように、係数データの並び替えをエントロピ符 号ィ匕の後で行うことで、係数並び替えバッファにおいて必要とされる記憶容量を抑え ることがでさる。
[0164] 例えば、入力画像データのビット精度が 8ビットの場合、ウェーブレット変換を複数レ ベル分解まで行うと、生成される係数データのビット精度が例えば 12ビット程度となる 。エントロピ符号化処理の前に係数並び替え処理を行う場合、係数並び替え用バッ ファ部は、このビット精度 12ビットの係数データを、所定ライン数分、格納する必要が ある。ウェーブレット変換で生成された係数データをエントロピ符号ィ匕した後に並び替 え処理するようにすれば、係数並び替え用バッファは、エントロピ符号化により圧縮さ れたデータを格納すればょ 、ので、より小さ 、記憶容量で済むことになる。
[0165] 図 12は、この発明の実施の第 3の形態による画像符号ィ匕装置の一例の構成を示す 。なお、図 12において、上述した図 1と共通する部分には同一の符号を付し、詳細な 説明を省略する。
[0166] 入力画像データは、画像符号化装置 30の途中計算用バッファ部 11に一旦格納さ れる。ウェーブレット変換部 10は、途中計算用バッファ部 11に格納された画像データ に対して、実施の第 1の形態で既に説明したようにして、ウェーブレット変換を所定に 施す。ウェーブレット変換で生成された係数データは、エントロピ符号ィ匕部 15に供給 される。エントロピ符号ィ匕部 15は、レート制御部 14と連動的に動作し、出力される圧縮 符号ィ匕データのビットレートが略一定値となるように制御され、供給された係数データ に対してエントロピ符号化処理を行う。つまり、エントロピ符号ィ匕部 15は、係数の順序 に関わらず、取得した係数を、その取得した順序で同様に符号ィ匕する。
[0167] ウェーブレット変換により生成された係数データがエントロピ符号ィ匕部 15でェントロ ピ符号ィ匕された符号ィ匕データは、符号並び替え用バッファ部 31にー且格納される。 符号並び替え部 32は、符号並び替え用バッファ部 31に並び替える符号化データが 格納され次第、符号並び替え用バッファ部 31から符号化データを並び替えて読み出 す。実施の第 1の形態で既に説明したように、ウェーブレット変換部 10で生成された係 数データは、高域成分から低域成分の順に、画面の上端側から下端側に向けて生 成される。復号側において低遅延で画像データの出力を行うためには、符号並び替 え用バッファ部 31に格納された符号ィ匕データを、ウェーブレット変換による係数デー タの低域成分から高域成分の順に並び替えて読み出す。
[0168] 符号並び替え用バッファ部 31から読み出された符号ィ匕データが出力の符号ィ匕デ一 タとして、例えば伝送路に送出される。
[0169] なお、この実施の第 3の形態による画像符号ィ匕装置 30で符号ィ匕され出力されたデ ータは、図 9を用いて既に説明した、実施の第 1の形態による画像復号装置 20により、 実施の第 1の形態の場合と同様に復号することができる。すなわち、例えば伝送路を 介して画像復号装置 20に入力された符号ィ匕データは、エントロピ復号部 21でェントロ ピ符号の復号がなされ、係数データが復元される。復元された係数データは、係数 ノ ッファ部 22に順次、格納される。ウェーブレット逆変換部 23は、係数バッファ部 22に 格納された係数データに対してウェーブレット逆変換を施し、画像データを出力する
[0170] 次に、この発明の実施の第 4の形態について説明する。上述までの、実施の第 1の 形態乃至第 3の形態では、ウェーブレット変換で生成された係数データの並び替え処 理を、図 13に一例が示されるように、画像符号ィ匕装置側で行っていた。これに対して 、この発明の実施の第 4の形態では、ウェーブレット変換により生成された係数データ の並び替え処理を、図 14で一例が示されるように、画像復号装置側で行うようにして いる。
[0171] ウェーブレット変換で生成された係数データを並び替える処理では、上述の実施の 第 3の形態でも説明したように、係数並び替え用バッファの記憶容量として比較的大 容量が必要となると共に、係数並び替えの処理自体にも、高い処理能力が要求され る。この場合でも、画像符号ィ匕装置側の処理能力がある程度以上高い場合には、上 述の実施の第 1の形態乃至第 3の形態で説明したように、画像符号化装置側で係数 並び替え処理を行っても、何ら問題は生じない。
[0172] ここで、携帯電話端末や PDA(Personal Digital Assistant)と!、つた所謂モパイル端 末などの、比較的処理能力の低い機器に画像符号化装置が搭載される場合につい て考える。例えば、近年では、携帯電話端末に対して撮像機能を付加した製品が広 く普及している (カメラ機能付き携帯電話端末と呼ぶ)。このようなカメラ機能付き携帯 電話端末で撮像された画像データをウェーブレット変換およびエントロピ符号ィ匕によ り圧縮符号化し、無線あるいは有線通信を介して伝送することが考えられる。
[0173] このような例えばモパイル端末は、 CPUの処理能力も限られ、また、メモリ容量にも ある程度の上限がある。そのため、上述したような係数並び替えに伴う処理の負荷な どは、無視できない問題となる。
[0174] そこで、図 14に一例が示されるように、並び替え処理を画像復号装置側に組み入 れることで、画像符号ィ匕装置側の負荷が軽くなり、画像符号化装置をモパイル端末 などの比較的処理能力が低い機器に搭載することが可能となる。
[0175] 図 15は、この実施の第 4の形態に適用可能な画像符号ィ匕装置の一例の構成を示 す。なお、この図 15において、上述の図 1と共通する部分には同一の符号を付して、 詳細な説明を省略する。
[0176] この図 15に示される画像符号ィ匕装置 41の構成は、上述の図 1で示した画像符号ィ匕 装置 1の構成に対して係数並び替え部 13および係数並び替え用バッファ部 12を除去 した構成となっている。すなわち、この実施の第 4の形態では、画像符号化装置 41と しては、従来から用いられる、ウェーブレット変換部 10、途中計算用バッファ部 11、ェ ントロピ符号ィ匕部 15およびレート制御部 14を組み合わせた構成を適用することが可 能である。
[0177] 入力された画像データは、途中計算用バッファ部 11に一時的に溜め込まれる。ゥェ 一ブレット変換部 10は、途中計算用バッファ部 11に溜め込まれた画像データに対し てウェーブレット変換を施し、生成された係数データを、係数データの生成順に順次 、エントロピ符号化部 15に供給する。すなわち、エントロピ符号ィ匕部 15に対して、ゥェ 一ブレット変換の順序に従 ヽ高域成分から低域成分の順に、生成された係数データ が供給される。エントロピ符号ィ匕部 15は、供給された係数に対して、レート制御部 14 により出力データのビットレートを制御されながらエントロピ符号ィ匕を施す。エントロピ 符号ィ匕部 15から、ウェーブレット変換により生成された係数データがエントロピ符号ィ匕 された符号化データが出力される。
[0178] 図 16は、この実施の第 4の形態による画像復号装置の一例の構成を示す。なお、こ の図 16において、上述の図 9と共通する部分には同一の符号を付し、詳細な説明を 省略する。
[0179] 図 15で説明した画像符号ィ匕装置 41のエントロピ符号ィ匕部 15力も出力された符号ィ匕 データは、図 16の画像復号装置 42のエントロピ復号部 21に供給され、エントロピ符号 を復号され係数データとされる。係数データは、係数バッファ部 22を介して係数並び 替え用バッファ部 43に格納される。ウェーブレット逆変換部 23は、係数並び替え用バ ッファ部 43に係数データの並び替えが可能となるまで係数データが蓄積されると、係 数並び替え用バッファ部 43に格納された係数データを、低域成分から高域成分の順 に並び替えて読み出し、読み出された順に係数データを用いてウェーブレット逆変 換処理を行う。 5 X 3フィルタを用いる場合は、上述の図 14で示したようになる。
[0180] すなわち、ウェーブレット逆変換部 23は、例えば 1フレームの先頭からの処理であれ ば、係数並び替え用バッファ部 43にエントロピ符号の復号がなされた係数 Cl、係数 C 4、および係数 C5が格納された時点で、係数並び替え用バッファ部 43から係数デー タを読み出し、ウェーブレット逆変換処理を行う。ウェーブレット逆変換部 23でゥエー ブレット逆変換を施されたデータは、順次、出力画像データとして出力される。
[0181] なお、この実施の第 4の形態の場合でも、上述の実施の第 2の形態で図 11を用いて 既に説明したように、画像符号化装置 41における各要素の処理と、伝送路に対する 符号化データの伝送と、画像復号装置 42における各要素の処理とが並列的に実行 される。
[0182] 次に、この発明の実施の第 5の形態について説明する。この実施の第 5の形態では 、上述した実施の第 1の形態乃至第 4の形態による画像符号化装置と画像復号装置 の間で授受される符号ィ匕データがパケット化される。
[0183] 図 17は、その符号ィ匕データの授受の様子の例を説明する模式図である。図 17に示 される例の場合においても、上述した他の実施の形態と同様に、画像データは、ライ ンブロック毎に、所定のライン数分だけ入力されながらウェーブレット変換される(サブ バンド 51)。そして、所定のウェーブレット変換分解レベルまで達した際に、最低域サ ブバンドから最高域サブバンドまでの係数ラインが、生成された順序とは逆に、つまり 低域から高域の順番に並び替えられる。
[0184] 図 17のサブバンド 51において、斜め線、縦線、および波線の模様分けされた部分 は、それぞれ異なるラインブロックである(矢印で示されるように、サブバンド 51の白ヌ キ部分も同様にラインブロック毎に分割して処理される)。並び替えられた後のライン ブロックの係数が上述した様にエントロピ符号化され、符号ィ匕データが生成される。
[0185] ここで、例えば画像符号ィ匕装置が符号ィ匕データをそのまま送出すると、画像復号装 置が各ラインブロックの境界を識別することが困難な (若しくは煩雑な処理が必要に なる)場合がある。そこで、本実施の形態においては、画像符号化装置が、符号化デ ータに例えばラインブロック単位でヘッダを付加し、ヘッダと符号ィ匕データとから成る パケットとして送出するようにする。
[0186] つまり、画像符号化装置は、図 17に示されるように、 1番目のラインブロック(Lineblo ck-1)の符号ィ匕データ (エンコードデータ)を生成すると、それをパケットィ匕し、送信パ ケット 61として画像復号装置に送出する。画像復号装置は、そのパケットを受信する と (受信パケット 71)、その符号ィ匕データを復号 (デコード)する。
[0187] 同様に、画像符号化装置は、 2番目のラインブロック (Lineblock-2)の符号化データ を生成すると、それをパケット化し、送信パケット 62として画像復号装置に送出する。 画像復号装置は、そのパケットを受信すると (受信パケット 72)、その符号ィ匕データを 復号 (デコード)する。さらに同様に、画像符号化装置は、 3番目のラインブロック (Lin eblock-3)の符号ィ匕データを生成すると、それをパケットィ匕し、送信パケット 63として画 像復号装置に送出する。画像復号装置は、そのパケットを受信すると (受信パケット 7 3)、その符号ィ匕データを復号 (デコード)する。
[0188] 画像符号化装置および画像復号装置は、以上のような処理を、 X番目の最終ライン ブロック(Lineblock- X)まで繰り返す(送信パケット 64、受信パケット 74)。以上のように して画像復号装置において復号画像 81が生成される。
[0189] 図 18にヘッダの構成例を示す。上述したようにパケットはヘッダ(Header) 91と符号 化データにより構成される力 そのヘッダ 91には、ラインブロックの番号 (NUM) 93と符 号化データ長(LEN) 94の記述が含まれて 、る。
[0190] 画像復号装置は、受信した符号化データに付加されたヘッダに含まれるこれらの 情報を読み取ることにより、各ラインブロックの境界を容易に識別することができ、復 号処理の負荷や処理時間を低減させることができる。
[0191] なお、図 18に示されるように、さらに、ラインブロックを構成するサブバンド毎の量子 ィ匕ステップサイズ(Δ 1乃至 Δ Ν) 92の記述を付加するようにしてもよい。これにより、画 像復号装置は、サブバンド毎の逆量子化を行うことができ、よりきめ細かな画質制御 を行うことが出来る。
[0192] また、画像符号化装置および画像復号装置は、上述したような符号化、パケットィ匕 、パケットの送受信、および復号等の各処理を、第 4の実施の形態において説明した ように、ラインブロック毎に、同時並行的に (パイプラインィ匕して)実行するようにしても よい。
[0193] このようにすることにより、画像復号装置において画像出力が得られるまでの遅延 時間を大幅に低減させることができる。図 17においては一例として、インタレース動画 (60フィールド/秒)での動作例を示している。この例において、 1フィールドの時間は 、 1秒 ÷60=約 16.7msecであるが、同時並行的に各処理を行うようにすることにより、 約 5msecの遅延時間で画像出力が得られるようにすることが出来る。
[0194] 次に、この発明の実施の第 6の形態について説明する。この実施の第 6の形態では 、上述した各実施の形態における画像符号ィ匕装置におけるエントロピ符号ィ匕と、画 像復号装置におけるエントロピ復号の具体的な例を示す。上述した各実施の形態に おいて、エントロピ符号ィ匕はどのような方法を用いるようにしてもよいが、本実施の形 態に示される方式を用いることにより、画像符号化装置は、より容易な演算により符号 化を行うことができるので、遅延時間、消費電力、およびバッファメモリ量等を低減さ せることができる。
[0195] なお、上述したように、各実施の形態において、エントロピ符号ィ匕の際に係数デー タを量子化して力 符号ィ匕を行うことができる力 本実施の形態においても同様であ り、係数データの量子化を行って力 エントロピ符号ィ匕を行うようにしてもよいし、量子 化を行わずに係数データをエントロピ符号ィ匕するようにしてもよい。ただし、後述する ように、量子化を行う場合の方が画質をより向上させることができるので、以下におい ては、量子化を行う場合のエントロピ符号ィ匕についてのみ説明する。換言すれば、量 子化を行わない場合のエントロピ符号ィ匕についての説明は省略するが、量子化を行 う場合のエントロピ符号ィ匕の説明を適用することができる。
[0196] また、以下においては、係数並び替えについての説明を省略する。上述した各実 施の形態においては、並び替えられた係数データをエントロピ符号化する場合、ェン トロピ符号化を行った符号化データを並び替える場合、および、エントロピ復号の後 に係数データを並び替える場合について説明した力 この並び替えは基本的にゥェ 一ブレット逆変換処理を高速に行うための処理であり、基本的にエントロピ符号ィ匕処 理 (およびエントロピ復号処理)とは関係が無い。また、係数並び替えを行う場合であ つても、その並び替えはラインブロック内において行われるため、具体的な内容につ いては後述する力 基本的に本実施の形態において説明するエントロピ符号ィ匕には 影響しない。つまり、順番を並び替えられた係数データを符号化する場合、並び替え る前の係数データを符号化する場合のいずれの場合も本実施の形態のエントロピ符 号ィ匕方法を同様に適用することができる。従って、以下においては説明の簡略ィ匕の ため係数並び替えについての説明を省略する。
[0197] 換言すれば、以下においては、本実施の形態のエントロピ符号ィ匕を、図 15に示され る実施の第 4の形態の画像符号ィ匕装置 41のエントロピ符号ィ匕部 15において量子化処 理を行う場合について説明する。なお、画像復号装置についても同様の理由から、 その場合の画像符号ィ匕装置に対応するものについてのみ説明し、係数並び替えを 行う場合や、逆量子化を行わな!/ヽ場合の画像復号装置につ!ヽての説明は省略する
[0198] 図 19は、本発明を適用した画像符号ィ匕装置の構成例を示すブロック図である。
[0199] 画像符号化装置 111は、ウェーブレット変換部 121、量子化部 122、およびエントロピ 符号ィ匕部 123を有する。
[0200] ウェーブレット変換部 121は、例えば、図 15のウェーブレット変換部 10に対応し、同 様の処理を行う。つまり、ウェーブレット変換部 121には、例えば、必要に応じて DCレ ベルシフトが施されたコンポーネント信号である画像 (データ)が入力される。ウェーブ レット変換部 121は、その入力された画像をウェーブレット変換して複数のサブバンド に分解する。ウェーブレット変換部 121は、ウェーブレット変換により得られたサブバン ドのゥ ーブレット係数を量子化部 122に供給する。
[0201] 量子化部 122は、ウェーブレット変換部 121から供給されたウェーブレット係数を量子 化し、その結果として得られた量子化係数をエントロピ符号ィ匕部 123に供給する。
[0202] エントロピ符号ィ匕部 123は、量子化部 122から供給された量子化係数をエントロピ符 号化し、これにより得られた符号を符号化された画像 (データ)として出力する。ェント ロピ符号ィ匕部 123から出力された画像は、例えば、レート制御処理された後、パケット 化されて記録されたり、画像符号化装置 111に接続された他の装置(図示せず)に供 給されたりする。 [0203] すなわち、量子化部 122およびエントロピ符号化部 123は、例えば図 15のエントロピ 符号ィ匕部 15およびレート制御部 14に対応する。
[0204] 次に、図 20および図 21を参照して、図 19のエントロピ符号化部 123が行うエントロピ 符号ィ匕について説明する。
[0205] 例えば、図 20に示すように、 1つのサブバンドがライン L1乃至ライン L6の 6本のライン 力 構成されているとし、 xy座標系におけるライン上の画素に対応する位置を (X, y) とする。ここで、各ラインの図中、左端の位置の X座標は 0とされ、ライン L1の y座標は 0 とされる。
[0206] 量子化部 122からエントロピ符号ィ匕部 123には、ビットプレーン表現された、サブバン ドの各位置 (X, y)における量子化係数がライン L1からライン L6までラスタスキャン順 に入力される。
[0207] 換言すれば、エントロピ符号ィ匕部 123には、まず、ライン L1の左端の位置 (0, 0)に対 応する量子化係数が入力される。次にその位置 (0, 0)の右隣の位置(1, 0)に対応す る量子化係数がエントロピ符号ィ匕部 123に入力され、ライン L1の右端の位置まで、量 子化係数が入力された位置の右隣の位置に対応する量子化係数がエントロピ符号 化部 123に順次入力される。そして、ライン L1上の位置の量子化係数が全て入力され ると、ライン L2の左端の位置 (0, 1)力 順番に右端の位置まで、ライン L2上の各位置 に対応する量子化係数がエントロピ符号ィ匕部 123に入力され、同様にライン L3からラ イン L6まで、各ライン上の位置に対応する量子化係数がエントロピ符号ィ匕部 123に入 力される。
[0208] 例えば、図 21の図中、左上に示すように、図 20のライン L1の左端の位置の量子化 係数力も順番に、 12個の量子化係数がエントロピ符号ィ匕部 123に入力されると、ェン トロピ符号ィ匕部 123は、予め定められた所定の数 w (図 21では w=4)ずつ量子化係数 を符号化する。
[0209] ここで、図 21の左上に示された各量子化係数は、その符号の絶対値力 ^進数の桁 に分けられて表現されて(ビットプレーン表現されて)おり、図 21の例では、エントロピ 符号化部 123には、 1つのライン(図 20のライン L1)の量子化係数" -0101"、 "+0011"、 "-0110"、 "+0010"、 "+0011"、 "+0110"、 "0000"、 "-0011"、 "+1101"、 "-0100"、 "+01 11"、および" -1010"が順番に入力される。
[0210] 1つの量子化係数は、 "+ " (正)または" " (負)で表わされる量子化係数の符号( 以下、量子化係数のサイン (Sign)と称する。)と、 2進数で表わされた量子化係数の絶 対値とからなる。図 21では、量子化係数の絶対値の各桁の値を示す各ビットのうち、 図中、最も上側のビットが最上位ビット (最上位の桁のビット)を表わしている。したが つて、例えば、量子ィ匕係数" -0101 "は、そのサインが" "であり、 2進数で表わされた 絶対値が" 0101"であるので、この量子ィ匕係数は 10進数で表わすど' -5"となる。
[0211] まず、エントロピ符号ィ匕部 123は、入力された 1つのラインの量子化係数 (の絶対値) が全て 0であるカゝ否かを判定し、その判定結果に応じて、これから符号化するラインの 量子化係数が全て 0であるか否かを示す符号を出力する。量子化係数が全て 0であ ると判定した場合、エントロピ符号ィ匕部 123は、ラインの量子化係数が全て 0であるか 否かを示す符号として 0を出力して、現在行って ヽるラインの量子化係数の符号ィ匕を 終了する。また、全ての量子化係数の値が 0ではない(0の量子化係数のみではない )と判定した場合、エントロピ符号ィ匕部 123は、ラインの量子化係数が全て 0であるか 否かを示す符号として 1を出力する。
[0212] 図中、左上に示した 12個の量子化係数が入力された場合、入力されたラインの量 子化係数は 0のみではないので、図中、右上に示すように、エントロピ符号ィ匕部 123は 符号として 1を出力する。
[0213] ラインの量子化係数が全て 0であるカゝ否かを示す符号として、量子化係数が全て 0 でないことを示す符号 1が出力されると、次に、エントロピ符号ィ匕部 123は、入力された 最初の 4つ(w個)の量子化係数"- 0101"、 "+0011"、 "-0110"、および" +0010"の符号 化を行う。
[0214] エントロピ符号ィ匕部 123は、今回入力された連続する 4つの量子化係数の最大有効 桁数(図 21における変数 Bの値)と、前回符号化した (入力された) 4つ (w個)の量子 ィ匕係数の最大有効桁数とを比較し、最大有効桁数が変化したカゝ否かを判定して、量 子化係数の最大有効桁数を示す符号を出力する。
[0215] ここで、最大有効桁数とは、まとめて符号化する 4つ (w個)の量子化係数のうち、絶 対値が最も大きい量子化係数の有効桁数をいう。換言すれば、最大有効桁数は、 4 つの量子化係数のうち、絶対値が最も大きい量子化係数の最上位にある 1が何桁目 にあるかを示す。したがって、例えば、まとめて符号ィ匕する 4つの量子化係数" -0101" 、 "+0011"、 "-0110"、および" +0010"の最大有効桁数は、絶対値が最も大きい量子 ィ匕係数"- 0110"の最上位にある 1の桁である" 3"とされる。
[0216] また、量子化係数の最大有効桁数を示す符号は、最大有効桁数が変化したカゝ否 かを示す符号、最大有効桁数が増加したか、または減少したかを示す符号、および 最大有効桁数の変化量を示す符号カゝらなり、最大有効桁数が変化していない場合、 最大有効桁数が増カ卩したか、または減少したかを示す符号、および最大有効桁数の 変化量を示す符号は出力されない。
[0217] エントロピ符号ィ匕部 123は、最大有効桁数の比較の結果、最大有効桁数が変化し た場合、最大有効桁数が変化したことを示す符号 1を出力し、最大有効桁数が変化 して 、な 、場合、最大有効桁数が変化して 、な 、ことを示す符号 0を出力する。
[0218] なお、最大有効桁数が変化した力否かを判定する場合に、今回初めて 4つの量子 ィ匕係数が入力されるとき、すなわち、符号ィ匕するサブバンドの量子化係数が初めて 入力されるとき (例えば、図 20のライン L1の左端力 順番に 4つの量子化係数が入力 されるとき)、前回、そのサブバンドの量子化係数は符号化されていないので、前回 符号化した 4つ (w個)の量子化係数の最大有効桁数は 0とされる。
[0219] したがって、エントロピ符号化部 123は、今回入力された 4つの量子化係数" -0101" 、 "+0011"、 "-0110"、および" +0010"の最大有効桁数 3と、前回符号化した量子化係 数の最大有効桁数 0とを比較し、最大有効桁数が変化したので符号 1を出力する。
[0220] また、エントロピ符号ィ匕部 123は、最大有効桁数が変化したことを示す符号 1に続い て、最大有効桁数が増加したか、または減少したかを示す符号を出力する。ここで、 エントロピ符号ィ匕部 123は、最大有効桁数が増加した場合には 0を出力し、最大有効 桁数が減少した場合には 1を出力する。
[0221] 前回の最大有効桁数は 0であり、今回の最大有効桁数は 3であるので、図中、右上 に示すように、エントロピ符号ィ匕部 123は、最大有効桁数が増加したことを示す符号 0 を出力する。
[0222] さらに、エントロピ符号ィ匕部 123は、最大有効桁数が増加したか、または減少したか を示す符号を出力すると、最大有効桁数がどれだけ増加または減少したかを示す符 号、すなわち、最大有効桁数の変化量を示す符号を出力する。具体的には、ェントロ ピ符号ィ匕部 123は、最大有効桁数の変化量 (すなわち、増加量または減少量)を nと すると、(n-1)個の符号 0を出力し、それらの 0に続いて符号 1を出力する。
[0223] 図 3の最初の 4つの量子化係数を符号ィ匕する場合、最大有効桁数の変化量は 3 ( = 3-0)であるので、エントロピ符号ィ匕部 123は符号として、 2 ( = 3-1)個の 0を出力し、さ らに 1を出力する。
[0224] 次に、エントロピ符号ィ匕部 123は、今回符号化する 4つ (w個)の量子化係数のそれ ぞれの絶対値を示す最大有効桁数分の符号を出力する。すなわち、エントロピ符号 化部 123は、それぞれの量子化係数について、最大有効桁数により示される有効桁 の最大の桁カゝら順番に最小の桁まで、量子化係数の絶対値の各桁の値を示す符号 を出力する。
[0225] 今回符号化する量子化係数は、 "-0101"、 "+0011"、 "-0110",および" +0010"であ るので、エントロピ符号ィ匕部 123は、まず、最初に入力された量子化係数" -0101 "の 絶対値を示す最大有効桁数分の符号を出力する。ここで、今回の最大有効桁数は 3 であるので、エントロピ符号ィ匕部 123は、量子化係数" -0101 "の最大有効桁数により 示される有効桁の最大の桁 (すなわち、 3桁目)の値 "1"、最大の桁より 1つ下の桁 (2 桁目)の値" 0"、および最下位の桁の値 "1 "を出力する。これにより、量子化係数" -01 01"の絶対値を示す有効桁数分の符号" 101"が出力される。
[0226] 同様に、エントロピ符号化部 123は、量子化係数" +0011"、 "-0110",および" +0010 "の絶対値を示す有効桁数分の符号 "011"、 "110"、および" 010"を順番に出力する 。したがって、量子化係数は、 "-0101"、 "+0011"、 "-0110"、および" +0010"のそれぞ れの絶対値を示す最大有効桁数分の符号として、 "101011110010"が出力される。こ のように、エントロピ符号ィ匕部 123からは、量子化係数の絶対値を示す符号として、符 号ィ匕する 4つの量子化係数の最大有効桁数に応じた長さの符号が出力される。
[0227] そして最後に、エントロピ符号ィ匕部 123は、 4つ (w個)の量子化係数のうち、絶対値 力 でない量子化係数のそれぞれのサインを示す符号を出力する。ここで、エントロピ 符号化部 123は、量子化係数のサイン力 + " (正)である場合、符号 0を出力し、サイ ンが" " (負)である場合、符号 1を出力する。
[0228] 今回符号化する量子化係数は、 "-0101"、 "+0011"、 "-0110",および" +0010"であ り、これらの量子化係数のサインは、順に負、正、負、正であるので、図中、右上に示 すように、エントロピ符号ィ匕部 123は、量子化係数のそれぞれのサインを示す符号とし て、 "1010"を出力する。
[0229] 最初に入力された 4つの量子化係数が符号ィ匕されると、エントロピ符号ィ匕部 123は、 続いて、次の連続する 4つの量子化係数" +0011"、 "+0110"、 "0000"、および" -0011
"の符号化を行う。
[0230] 最初に (前回)入力された量子化係数の符号ィ匕における場合と同様に、まず、ェン トロピ符号ィ匕部 123は、今回、新たに入力された 4つ (w個)の量子化係数の最大有効 桁数と、前回符号ィ匕した 4つの量子化係数の最大有効桁数とを比較する。
[0231] 今回入力された 4つ(w個)の量子化係数" +0011"、 "+0110"、 "0000"、および"- 001 Γの最大有効桁数は、絶対値が最も大きい量子化係数" +0110"の最上位にある 1の 桁である" 3"であり、前回符号ィ匕した量子化係数の最大有効桁数" 3"と同じであるの で、エントロピ符号ィ匕部 123は、最大有効桁数が変化していないことを示す符号 0を出 力する。
[0232] 続、て、エントロピ符号ィ匕部 123は、今回符号化する 4つ (w個)の量子化係数" +001 1"、 "+0110"、 "0000"、および" -0011 "のそれぞれの絶対値を示す最大有効桁数分 の符号 "011"、 "110"、 "000"、および" 011"が順番に並べられた符号" 011110000011
"を出力する。
[0233] そして、量子化係数の絶対値を示す符号が出力されると、エントロピ符号ィ匕部 123 は、 4つの量子ィ匕係数のうち、絶対値が 0でない量子ィ匕係数のそれぞれのサインを示 す符号を出力する。
[0234] 今回符号化する量子化係数は、 "+0011"、 "+0110"、 "0000"、および" -0011 "であり 、 3つ目の量子ィ匕係数" 0000"はその絶対値が 0であるので、エントロピ符号ィ匕部 123 は、 0でない量子化係数" +0011"、 "+0110"、および" -0011 "のそれぞれのサイン(正 、正、負)を示す符号" 001"を出力する。
[0235] 4つの量子化係数" +0011"、 "+0110"、 "0000"、および"- 0011"が符号化されると、 さらに、エントロピ符号化部 123は、次の 4つの量子化係数" +1101"、 "-0100"、 "+011 1"、および"- 1010"の符号化を行う。
[0236] まず、エントロピ符号ィ匕部 123は、今回、新たに入力された 4つ (w個)の量子化係数 の最大有効桁数と、前回符号ィヒした 4つの量子化係数の最大有効桁数とを比較する
[0237] 今回入力された 4つ(w個)の量子化係数" +1101"、 "-0100", "+0111"、および" -10 10"の最大有効桁数は、絶対値が最も大きい量子化係数" +1101"の最上位にある 1 の桁である" 4"であり、前回符号ィ匕した量子化係数の最大有効桁数" 3"とは異なるの で、エントロピ符号ィ匕部 123は、最大有効桁数が変化したことを示す符号 1を出力する
[0238] また、前回の最大有効桁数は 3であり、今回の最大有効桁数は 4であるので、ェント ロピ符号ィ匕部 123は、図中、右側に示すように、最大有効桁数が増加したことを示す 符号 0を出力する。
[0239] さらに、エントロピ符号ィ匕部 123は、最大有効桁数がどれだけ増加または減少したか を示す符号を出力する。この場合、最大有効桁数の変化量は 1 ( =4-3)であるので、 エントロピ符号ィ匕部 123は符号として、 0 ( = 1-1)個の 0を出力し、さらに 1を出力する( すなわち、符号 1を出力する)。
[0240] 次に、エントロピ符号ィ匕部 123は、今回符号ィ匕する 4つ (w個)の量子化係数" +1101" 、 "-0100"、 "+0111"、および" -1010"のそれぞれの絶対値を示す最大有効桁数分の 符号" 1101"、 "0100"、 "0111"、および" 1010"が順番に並べられた符号" 1101010001 111010"を出力する。
[0241] そして、量子化係数の絶対値を示す符号が出力されると、エントロピ符号ィ匕部 123 は、 4つの量子ィ匕係数のうち、 0でない量子ィ匕係数のそれぞれのサインを示す符号を 出力する。
[0242] 今回符号化する量子化係数は、 "+1101"、 "-0100"、 "+0111"、および"- 1010"であ り、これらの量子化係数のサインは、順番に正、負、正、負であるので、図中、右下に 示すように、エントロピ符号ィ匕部 123は、量子化係数のそれぞれのサインを示す符号 として、 "0101 "を出力する。 [0243] このようにして、エントロピ符号ィ匕部 123は、入力された量子化係数を、連続する予 め定められた数 (w個)ずつ符号ィ匕する。これにより、エントロピ符号ィ匕部 123からは、 符号ィ匕するラインの量子化係数が全て 0であるか否かを示す符号が出力され、ライン の量子化係数が全て 0でないことを示す符号が出力されると、次に、 w個の量子化係 数の最大有効桁数を示す符号、 w個の量子化係数の絶対値 (ビットプレーン表現)を 示す符号、およびそれらの量子化係数のサインを示す符号が出力される。
[0244] そして、これらの w個の量子化係数の最大有効桁数を示す符号、 w個の量子化係数 の絶対値を示す符号、および量子化係数のサインを示す符号のそれぞれは、そのラ インの量子化係数が全て符号化されるまで、次の w個の量子化係数の最大有効桁数 を示す符号、量子化係数の絶対値を示す符号、および量子化係数のサインを示す 符号が繰り返し出力される。
[0245] なお、量子化係数カ^スタスキャン順に符号化されると説明したが、量子化係数が 符号ィ匕される順番は必ずしもラスタスキャン順である必要はない。例えば、図 20に示 したサブバンドの量子化係数が符号化される場合、最初に位置 (0, 0)、 (0, 1)、 (0, 2)、および (0, 3) (すなわち、ライン L1乃至ライン L4のそれぞれの図中、左端の位置) の量子化係数が符号化され、次に、位置(1, 0)、 (1, 1)、 (1, 2)、および(1, 3)の量 子化係数が符号ィ匕されるといったように、図中、縦方向に並ぶ 4つの位置の量子化係 数を w個の量子化係数として、 w個ずつ順番に符号ィ匕するようにしてもよい。
[0246] 以上において説明した処理を行う図 1のエントロピ符号ィ匕部 123は、より詳細には、 図 22に示すように構成される。
[0247] エントロピ符号化部 123は、ライン判定部 161、 VLC (Variable Length Coding)符号 化部 162、最大有効桁数計算部 163、 VLC符号化部 164、有効桁抽出部 165、 VLC符 号ィ匕部 166、サイン抽出部 167、 VLC符号ィ匕部 168、および符号連結部 169を有する。
[0248] 量子化部 122 (図 19)から出力された量子化係数は、ライン判定部 161、最大有効桁 数計算部 163、有効桁抽出部 165、およびサイン抽出部 167に供給 (入力)される。
[0249] ライン判定部 161は、量子化部 122から入力された、これから符号化する 1つのライン の量子化係数が全て 0であるか否かを判定し、その判定の結果を示す情報を VLC符 号ィ匕部 162に供給する。 [0250] VLC符号ィ匕部 162は、ライン判定部 161からの判定の結果を示す情報に基づいて、 符号ィ匕するラインの量子化係数が全て 0であるか否かを示す符号を符号連結部 169 に出力する。
[0251] 最大有効桁数計算部 163は、量子化部 122から入力された、連続する w個の量子化 係数の最大有効桁数を計算し、その計算の結果を示す情報を VLC符号ィ匕部 164お よび有効桁抽出部 165に供給する。
[0252] VLC符号ィ匕部 164は、最大有効桁数計算部 163からの計算の結果を示す情報に基 づ ヽて、 w個の量子化係数の最大有効桁数を示す符号を符号連結部 169に供給す る。
[0253] 有効桁抽出部 165は、最大有効桁数計算部 163からの計算の結果を示す情報に基 づいて、量子化部 122から供給された w個の量子化係数の有効桁を抽出し、抽出した 量子化係数の有効桁 (のデータ)を VLC符号ィ匕部 166およびサイン抽出部 167に供給 する。
[0254] VLC符号ィ匕部 166は、有効桁抽出部 165からの量子化係数の有効桁に基づいて、 これらの量子化係数の絶対値を符号化し、これにより得られた量子化係数の絶対値 を示す符号を符号連結部 169に供給する。
[0255] サイン抽出部 167は、有効桁抽出部 165からの量子化係数の有効桁に基づいて、 量子化部 122から供給された量子化係数のサインを抽出して、抽出したサイン (のデ ータ)を VLC符号ィ匕部 168に供給する。
[0256] VLC符号ィ匕部 168は、サイン抽出部 167からのサイン (のデータ)を符号化し、これに より得られる量子化係数のサインを示す符号を符号連結部 169に供給する。
[0257] 符号連結部 169は、 VLC符号化部 162、 VLC符号化部 164、 VLC符号ィ匕部 166、およ び VLC符号ィ匕部 168のそれぞれから供給された、ラインの量子化係数が全て 0である か否かを示す符号、最大有効桁数を示す符号、量子化係数の絶対値を示す符号、 および量子化係数のサインを示す符号のそれぞれを連結し、符号化された画像 (デ ータ)として出力する。
[0258] 次に、図 23のフローチャートを参照して、画像符号化装置 111 (図 19)による、符号 化処理について説明する。この符号化処理は、ウェーブレット変換部 121に、符号ィ匕 する画像 (データ)が入力されると開始される。
[0259] ステップ S111において、ウェーブレット変換部 121は、入力された画像にウェーブレ ット変換を施して、入力された画像を複数のサブバンドに分解し、各サブバンドのゥェ 一ブレット係数を量子化部 122に供給する。
[0260] ステップ S112において、量子化部 122は、ウェーブレット変換部 121から供給された ウェーブレット係数を量子化し、その結果得られた量子化係数をエントロピ符号ィ匕部 1 23に供給する。これにより、エントロピ符号ィ匕部 123には、例えば、図 21を参照して説 明したビットプレーン表現された、サブバンドの各位置の量子化係数が入力される。
[0261] ステップ S113において、エントロピ符号ィ匕部 123は、エントロピ符号ィ匕処理を行い、 符号化処理を終了する。なお、エントロピ符号ィ匕処理の詳細は後述する力 ェントロ ピ符号ィ匕部 123は、エントロピ符号ィ匕処理において、図 21を参照して説明したように、 量子化部 122から供給された量子化係数を所定の数 (w個)ずつ符号ィ匕し、符号化す るラインの量子化係数が全て 0であるか否かを示す符号、量子化係数の最大有効桁 数を示す符号、量子化係数の絶対値を示す符号、および量子化係数のサインを示 す符号を、符号化された画像 (データ)として出力する。
[0262] このようにして、画像符号化装置 111は、入力された画像を符号化して出力する。
[0263] 次に、図 24のフローチャートを参照して、図 23のステップ S113の処理に対応するェ ントロピ符号化処理につ!ヽて説明する。
[0264] 図 23のステップ S112において、量子化部 122から出力された量子化係数は、ェント ロピ符号化部 123 (図 22)のライン判定部 161、最大有効桁数計算部 163、有効桁抽出 部 165、およびサイン抽出部 167に供給 (入力)される。
[0265] ステップ S141において、ライン判定部 161は、これから符号ィ匕するサブバンドのライ ンを示す変数 yを y=0として、これを記憶する。
[0266] 例えば、図 20に示したサブバンドの量子化係数を符号ィ匕する場合、ライン判定部 1 61は、そのサブバンドのライン (ライン L1乃至ライン L6)を示す変数 yを、 y=0とする。 なお、ここで、変数 yにより示されるライン yは、サブバンドのライン上の各位置 (X, y)の y座標が yであるラインを示している。したがって、例えば、ライン判定部 161が記憶し ている変数 yが y=0である場合、その変数により示されるラインは、ライン上の各位置 の y座標が 0であるライン LIとなる。
[0267] ステップ S142において、最大有効桁数計算部 163は、ライン判定部 161が記憶して いる変数 yにより示されるライン yよりも 1つ前のライン (y-1)上の最初に入力される w個 の量子化係数の最大有効桁数を示す変数 Binitを Binit = 0として、これを記憶する。
[0268] 例えば、ライン (y—l)力 図 20に示したライン L1である場合、ライン (y—l)上の最初 に入力される w個の量子化係数の最大有効桁数を示す変数 Binitの値は、ライン L1の 図中、左端の位置から w個の量子化係数、すなわち、位置 (0, 0)、 (1, 0)、 · · ·、 (w-1 , 0)の w個の量子化係数の最大有効桁数となる。また、ライン判定部 161が記憶して いる変数 y力 sy=0である場合、ライン (y—l)は存在しないので、変数 Binitの値は、 Bin it=0とされる。
[0269] ステップ S143において、ライン判定部 161は、記憶している変数 yにより示されるライ ン yの量子化係数 (の絶対値)が全て 0であるカゝ否かを判定する。例えば、ライン yが、 図 20に示したライン L1である場合、ライン判定部 161は、ライン L1上の位置 (X, y)の量 子化係数が全て 0であるとき、量子化係数が全て 0であると判定する。
[0270] ステップ S143において、量子化係数が全て 0であると判定した場合、ライン判定部 16 1は、量子化係数が全て 0である旨の情報を生成してそれを VLC符号ィ匕部 162および 最大有効桁数計算部 163に供給し、処理をステップ S144に進める。
[0271] ステップ S144において、 VLC符号化部 162は、ライン判定部 161からの量子化係数 が全て 0である旨の情報に基づ 、て、符号ィ匕するラインの量子化係数が全て 0である ことを示す符号 0を符号連結部 169に出力(供給)する。符号連結部 169は、 VLC符号 化部 162から供給された符号 0を、ライン yの量子化係数の符号化の結果得られた符 号として、そのまま出力する。
[0272] ステップ S145において、最大有効桁数計算部 163は、ライン判定部 161からの量子 ィ匕係数が全て 0である旨の情報に基づ 、て、記憶して 、る変数 Binitの値を Binit = 0と し、変数 Binitを更新する。
[0273] ステップ S146において、ライン判定部 161は、符号化しているサブバンドのラインのう ち、未処理のラインがある力否かを判定する。すなわち、ライン判定部 161は、符号ィ匕 して 、るサブバンドの全てのラインの量子化係数を符号ィ匕した力否かを判定する。例 えば、図 20に示したサブバンドの量子化係数を符号ィ匕している場合、ライン L1乃至ラ イン L6上の全ての位置の量子化係数が符号ィ匕されたとき、ライン判定部 161は、未処 理のラインが存在しな 、と判定する。
[0274] そのステップ S146において、未処理のラインがあると判定した場合、ライン判定部 16
1は、次のライン、すなわち、ライン (y+ 1)上の各位置の量子化係数を符号ィ匕するの で、処理をステップ S147に進める。
[0275] ステップ S147において、ライン判定部 161は、記憶しているラインを示す変数 yをイン クリメントして y=y+ lとし、処理をステップ S 143に戻し、上述したそれ以降の処理を再 び実行させる。
[0276] これに対して、ステップ S146にお 、て、未処理のラインが無 、と判定した場合、ライ ン判定部 161は、サブバンドを構成する全てのラインについて量子化係数を符号ィ匕し たので、エントロピ符号化処理を終了し、処理を図 23のステップ S113に戻し、符号ィ匕 処理を終了させる。
[0277] また、図 24のステップ S143にお!/、て、ライン yの量子化係数が全て 0でな!/ヽ(0でな!/ヽ 量子化係数が存在する)と判定した場合、ライン判定部 161は、量子化係数が全て 0 でな ヽ (0でな 、量子化係数が存在する)旨の情報を生成してそれを VLC符号ィ匕部 1 62および最大有効桁数計算部 163に供給し、ステップ S148に処理を進める。
[0278] ステップ S148において、 VLC符号化部 162は、ライン判定部 161からの量子化係数 が全て 0でな 、旨の情報に基づ 、て、符号ィ匕するラインの量子化係数が全て 0でな ヽ ことを示す符号 1を符号連結部 169に出力 (供給)する。
[0279] ステップ S149において、最大有効桁数計算部 163は、ライン判定部 161からの量子 ィ匕係数が全て 0でな 、旨の情報に基づ 、て、これ力 符号ィ匕する w個の量子化係数 のうち、最初に入力される量子化係数に対応するライン y上の位置の X座標を示す変 数 Xの値を x=0として、この変数 Xを記憶する。
[0280] 例えば、ライン yが、図 20に示したライン L1である場合、最大有効桁数計算部 163が 記憶している変数 Xの値は、これから符号化しょうとするライン L1上の連続する w個の 位置(X, 0)、(x+ 1, 0)、 · · ·、 (x +w- 1, 0)のうちの図中、一番左側の位置(X, 0)の X座標を示している。 [0281] また、ステップ S149において、最大有効桁数計算部 163は、前回符号化された w個 の量子化係数の最大有効桁数を示す変数 Bの値を B = Binitとして、この変数 Bを記 憶する。すなわち、最大有効桁数計算部 163は、変数 Bの値を記憶している変数 Binit の値として変数 Bを更新し、更新された変数 Bの値を記憶する。
[0282] 最大有効桁数計算部 163は変数 Bの値を更新すると、更新された変数 B (最大有効 桁数)の値を示す情報を VLC符号ィ匕部 164および有効桁抽出部 165に供給する。ま た、 VLC符号化部 164および有効桁抽出部 165は、それぞれ最大有効桁数計算部 16 3から供給された変数 Bの値を記憶する。
[0283] ステップ S150において、エントロピ符号ィ匕部 123は w個組符号ィ匕処理を行う。なお、 w 個組符号ィ匕処理の詳細は後述する力 w個組符号ィ匕処理において、エントロピ符号 化部 123は、ライン判定部 161が記憶している変数 yにより示されるライン y上の連続す る w個の量子化係数を符号ィ匕する。
[0284] ここで、ライン判定部 161が記憶して 、る変数 yおよび、最大有効桁数計算部 163が 記憶している変数 Xにより特定されるライン y上の位置を (X, y)とすると、ライン y上の w 個の連続する位置は、ライン y上の連続する位置 (X, y)、 (x+ 1, y)、 · · ·、 (x+w- 1, y)とされる。すなわち、 w個組符号ィ匕処理において、エントロピ符号ィ匕部 123は、位置 (X, y)、(x+ 1, y)、 · · ·、 (x+w- 1, y)のそれぞれの量子化係数を符号ィ匕する。
[0285] ステップ S151において、最大有効桁数計算部 163は、ライン yに未処理の量子化係 数があるカゝ否かを判定する。すなわち、最大有効桁数計算部 163は、ライン判定部 16 1が記憶している変数 yにより示されるライン y上の位置の全ての量子化係数を符号ィ匕 したカゝ否かを判定する。
[0286] ステップ S151において、ライン yに未処理の量子化係数があると判定した場合、最 大有効桁数計算部 163は、次の w個の量子化係数を符号ィ匕するので、処理をステツ プ S152に進める。
[0287] ステップ S152において、最大有効桁数計算部 163は、記憶している変数 xを、 x=x
+wとし、処理をステップ S150に戻す。これにより、その後のステップ S150の処理にお いて、ライン y上の位置(x+w, y)、 (x+w+ 1, y)、 · · ·、(x+2w— 1, y)のそれぞれの 量子化係数が符号化される。 [0288] また、ステップ S151にお 、て、ライン yに未処理の量子化係数がな 、と判定した場合 、最大有効桁数計算部 163は、ライン y上の一の全ての位置の量子化係数が符号ィ匕 されたので、処理をステップ S146に戻し、それ以降の処理を実行させる。
[0289] このようにして、エントロピ符号ィ匕部 123は、サブバンドの各位置の量子化係数を所 定の数ずつラスタスキャン順に符号ィ匕する。
[0290] このように、サブバンドの各位置の量子化係数を所定の数ずつラスタスキャン順に 符号化することによって、入力された量子化係数を入力された順番に処理することが でき、量子化係数の符号ィ匕により生じる遅延をより少なくすることができる。
[0291] 次に、図 25のフローチャートを参照して、図 24のステップ S50の処理に対応する w個 組符号化処理にっ ヽて説明する。
[0292] ステップ S181において、最大有効桁数計算部 163は、記憶している変数 xにより特定 されるライン y上の位置を (X, y)として、連続する w個の位置 (X, y)、(x+ 1, y)、 · · ·、( x+w- 1, y)の量子化係数のうち、絶対値が最も大きい量子化係数の有効桁数を、 これから符号ィ匕する w個の量子化係数の最大有効桁数を示す変数 Bnewの値として、 この変数 Bnewを記憶する。
[0293] また、最大有効桁数計算部 163は、求められた w個の量子化係数の最大有効桁数 、すなわち、変数 Bnewの値を VLC符号ィ匕部 164および有効桁抽出部 165に供給する
[0294] 例えば、 w個の連続する位置の量子化係数のそれぞれ力 図 21に示した量子化係 数"- 0101"、 "+0011"、 "-0110"、および" +0010"である場合、これらの量子化係数の うち、絶対値が最大の量子化係数は" -0110"であり、その有効桁数は" -0110"の最 上位にある 1の桁である" 3"であるので、変数 Bnewの値は 3とされる。
[0295] ステップ S182において、 VLC符号化部 164は、 B = Bnewであるか否かを判定する。
すなわち、 VLC符号ィ匕部 164は、記憶している、前回符号ィ匕された w個の量子化係数 の最大有効桁数を示す変数 Bの値が、最大有効桁数計算部 163から供給された、こ れカも符号ィ匕する w個の量子化係数の最大有効桁数を示す変数 Bnewの値と同じで あるカゝ否かを判定する。
[0296] ステップ S182において、 B = Bnewであると判定した場合、 VLC符号化部 164は、処 理をステップ S183に進め、これから符号ィ匕する w個の量子化係数の最大有効桁数を 示す符号として、最大有効桁数が変化していないことを示す符号 0を符号連結部 169 に出力する。そして、最大有効桁数を示す符号 0が出力すると、 VLC符号ィ匕部 164は 、ステップ S184の処理乃至ステップ S188の処理をスキップし、ステップ S189に処理を 進める。
[0297] これに対して、ステップ S182において、 B = Bnewでないと判定した場合、 VLC符号 化部 164は、処理をステップ S184に進め、(最大有効桁数が変化したので、)最大有 効桁数が変化したことを示す符号 1を符号連結部 169に出力する。
[0298] ステップ S185において、 VLC符号化部 164は、次式(8)を満たす整数 nおよび mを求 める。
[0299] Bnew=B+ (n+ l) X (- l) 'm · · · (8)
[0300] ここで、式(8)における記号"'"は、冪乗を表わしている。したがって、(一1) 'mは、 (
- 1)の m乗を表わして!/、る。
[0301] 例えば、 Bnew=3であり、 B = 0である場合、式(8)を満たす nおよび mとして、それぞ れ n=2、および m=0が求まる。変数 Bnewおよび変数 Bを比較した場合、変数 Bnewの 値の絶対値と変数 Bの値の絶対値の差が大きいほど、式 (8)における nの値は大きく なる。したがって nの値は、最大有効桁数の変化量を示しているということができる。ま た、変数 Bnewの値が変数 Bの値よりも大きい場合、 mの値は 0となり、逆に変数 Bnewの 値が変数 Bの値よりも小さい場合、 mの値は 1となる。したがって、式(8)における mの 値は、最大有効桁数が増加したか、または減少したかを示しているということができる
[0302] ステップ S186において、 VLC符号ィ匕部 164は、最大有効桁数が増加した力、または 減少したかを示す符号として、式 (8)を満たす mの値を 1ビットの符号で符号連結部 16 9に出力する。例えば、式 (8)を満たす mの値力^である場合、 VLC符号ィ匕部 164は、 最大有効桁数が増カロしたことを示す符号 0を出力する。
[0303] ステップ S187にお 、て、 VLC符号ィ匕部 164は、最大有効桁数の変化量を示す符号 として、式 (8)を満たす nの値だけ連続する 0に続けて 1個の 1を符号連結部 169に出力 する。すなわち、 VLC符号ィ匕部 164は、 n個の 0および 1個の 1を最大有効桁数の変化 量を示す符号として出力する。
[0304] 例えば、式 (8)を満たす nの値が 2である場合、 VLC符号化部 164は、最大有効桁数 の変化量を示す符号として" 001"を符号連結部 169に出力する。
[0305] これにより、 VLC符号ィ匕部 164から符号連結部 169には、これから符号化する w個の 量子化係数の最大有効桁数を示す符号として、最大有効桁数が変化したことを示す 符号、最大有効桁数が増加したか、または減少したかを示す符号、および最大有効 桁数の変化量を示す符号が出力される。
[0306] ステップ S188において、最大有効桁数計算部 163は、記憶している変数 Bの値を B
= Bnewとし、処理をステップ S189に進める。すなわち、最大有効桁数計算部 163は、 記憶している変数 Bの値を、記憶している変数 Bnewの値として変数 Bを更新する。ま た、 VLC符号ィ匕部 164および有効桁抽出部 165も記憶している変数 Bの値を B = Bnew とする。
[0307] ステップ S188において、変数 Bの値が B = Bnewとされる力、またはステップ S183にお いて、量子化係数の最大有効桁数を示す符号が出力されると、ステップ S189におい て、最大有効桁数計算部 163は、記憶している変数 Xの値カ^である場合、記憶してい る変数 Binitの値を Binit = Bとする。
[0308] すなわち、最大有効桁数計算部 163は、記憶して 、る変数 Xの値カ^である場合、記 憶している、ライン (y— 1)上の最初に入力される w個の量子化係数の最大有効桁数 を示す変数 Binitの値を、前回符号化された w個の量子化係数の最大有効桁数を示 す変数 Bの値として、変数 Binitを更新する。
[0309] このように、変数 x=0である場合に、変数 Binitの値を Binit=Bとすることで、次のラ イン (例えば、ライン (y+ 1) )の x=0から始まる w個の量子ィ匕係数について、前のライ ン (例えば、ライン y)の x=0から始まる w個の量子化係数の最大有効桁数との相関関 係を利用して量子化係数の符号ィ匕を行うことができる。
[0310] ステップ S190において、有効桁抽出部 165は、所定の変数を して、変数 iを 0から( w— 1)まで変化させて、量子化部 122から供給された、ライン y上の位置 (x+i, y)の量 子化係数から、量子化係数の有効桁を抽出する。有効桁抽出部 165は、抽出した量 子化係数の有効桁 (のデータ)を VLC符号ィ匕部 166およびサイン抽出部 167に供給す る。また、 VLC符号ィ匕部 166は、有効桁抽出部 165から供給された有効桁に基づいて (有効桁を符号化して)、 w個の量子化係数の絶対値を示す符号を符号連結部 169に 出力する。
[0311] ここで、位置 (x+i, y)における xの値は、最大有効桁数計算部 163が記憶している 変数 Xの値とされる。例えば、最大有効桁数計算部 163が記憶している変数 Xの値力 SO であり、有効桁抽出部 165が記憶している変数 Bの値が 3であり、さらに、量子化部 122 力も有効桁抽出部 165に、位置 (x+i, y) (0≤ 3)のそれぞれ、すなわち位置 (0, y) 、 (1, y)、 (2, y)、および (3, y)の量子化係数に対応する図 21に示した w個(4個)の 量子化係数" -0101"、 "+0011"、 "-0110"、および" +0010"が供給されたとすると、有 効桁抽出部 165は、これらの量子化係数から有効桁を抽出する。
[0312] この場合、有効桁抽出部 165が記憶している変数 Bの値は 3であり、有効桁は 3桁で あるから、有効桁抽出部 165は、位置 (X, y)に対応する量子化係数" -0101 "から、最 下位から 3桁の値" 101"を抽出する。
[0313] 同様に、有効桁抽出部 165は、位置 (x+ 1, y)、位置 (x+2, y)、および位置 (x+3, y)のそれぞれの量子化係数" +0011"、 "-0110"、および" +0010"から、順次、これらの 最下位から 3桁の値 "011"、 "110"、および" 010"を抽出する。これにより、有効桁抽出 部 165から VLC符号ィ匕部 166およびサイン抽出部 167には、量子化係数" -0101"、 "+0 011"、 "-0110"、および" +0010"の有効桁(の符号) "101"、 "011"、 "110"、および" 01 0"が出力される。 VLC符号ィ匕部 166は、有効桁抽出部 165から供給された符号" 101" 、 "011"、 "110"、および" 010"を符号ィ匕して、 w個(4個)の量子ィ匕係数の絶対値を示 す符号" 101011110010"を、符号連結部 169に出力する。
[0314] ステップ S191において、サイン抽出部 167は、所定の変数を して、変数 iを 0から (w
1)まで変化させて、量子化部 122から供給された、量子化係数の絶対値が 0でない ライン y上の位置 (x+i, y)の量子化係数から、量子化係数のサインを抽出し、抽出し たサイン (のデータ)を VLC符号ィ匕部 168に供給する。 VLC符号ィ匕部 168は、サイン抽 出部 167からのサインを符号ィ匕し、これにより得られる量子化係数のサインを示す符 号を符号連結部 169に出力する。
[0315] 符号連結部 169は、 VLC符号ィ匕部 168から量子化係数のサインを示す符号が供給 されると、 VLC符号化部 162、 VLC符号化部 164、 VLC符号化部 166、および VLC符 号ィ匕部 168のそれぞれから供給された、量子化係数が全て 0であるか否かを示す符 号、量子化係数の最大有効桁数を示す符号、量子化係数の絶対値を示す符号、お よび量子化係数のサインを示す符号のそれぞれを連結して、連結された符号を符号 化された画像として出力し、 w個組符号化処理を終了し、図 24のステップ S150に処理 を戻し、ステップ S151以降の処理を実行する。
[0316] ここで、位置 (x+i, y)における xの値は、最大有効桁数計算部 163が記憶している 変数 Xの値とされる。例えば、最大有効桁数計算部 163が記憶している変数 Xの値が 0 であり、量子化部 122からサイン抽出部 167に、位置 (x+i, y) (0≤i≤3)のそれぞれ、 すなわち位置 (0, y)、 (1, y)、 (2, y)、および (3, y)の量子化係数に対応する図 21に 示した w個(4個)の量子化係数"- 0101"、 "+0011"、 "-0110"、および" +0010"が供給 されたとすると、量子化係数"- 0101"、 "+0011"、 "-0110"、および" +0010"のそれぞ れは 0ではないので、サイン抽出部 167は、これらの量子化係数からサインを抽出する
[0317] この場合、サイン抽出部 167は、位置 (X, y)に対応する量子化係数" -0101 "から量 子化係数のサイン"― "を抽出する。
[0318] 同様に、サイン抽出部 167は、位置 (x+ 1, y)、位置 (x+2, y)、および位置 (x+3, y )のそれぞれの量子化係数" +0011"、 "-0110"、および" +0010"から、順次、これらの 量子化係数のサイン" + "、 " "、および" + "を抽出する。これにより、サイン抽出部 1 67から VLC符号化部 168には、量子化係数"- 0101"、 "+0011"、 "-0110"、および" +0 010"のサイン"一"、 " + "、 "一"、および" + "が出力される。 VLC符号ィ匕部 168は、サ イン抽出部 167から供給された量子化係数のサイン"—"、 " + "、 'し"、および" + "を 符号化する。
[0319] 例えば、 VLC符号ィ匕部 168は、サイン" "が入力されると符号 1を出力し、サイン"
+ "が入力されると符号 0を出力することにより、入力されたサインを符号化する。この 場合、 VLC符号ィ匕部 168には、量子化係数のサイン"—"、 " + "、 " "、および" + " が入力されるので、 VLC符号ィ匕部 168は、符号 "1"、 "0"、 "1"、 "0"からなる符号" 101 0"を量子化係数のサインを示す符号として符号連結部 169に出力する。 [0320] このようにして、エントロピ符号ィ匕部 123は、サブバンドの量子化係数を、予め定めら れた所定の数ずつまとめて符号化し、量子化係数の最大有効桁数を示す符号、量 子化係数の絶対値を示す符号、および量子化係数のサインを示す符号を出力する
[0321] このように、サブバンドの量子化係数を、予め定められた所定の数ずつまとめて符 号化することで、例えば、 JPEG2000方式により画像を符号ィ匕する場合とは異なり、複 数のコーディングパスに基づ 、て、ビットプレーンごとに複数の処理を行う必要がなく
、また、可変長符号ィ匕を行うので、符号ィ匕の処理量を大幅に低減することができる。 これにより、より高速に画像の符号ィ匕を行うことができ、高解像度の画像をリアルタイ ムで符号ィ匕するための符号ィ匕装置を安価で実現することができる。
[0322] さらに、画像符号ィ匕装置 111においては、画像を符号化する場合に、符号の長さを 明示的に符号ィ匕する必要がないため、符号量を少なくすることができ、符号の長さの 情報を管理する必要もない。
[0323] なお、以上においては、 w個の量子化係数のうち、絶対値の最も大きい量子化係数 の有効桁数を、最大有効桁数を示す変数 Bnewの値とすると説明したが、変数 Bnew の値は、 w個の量子化係数のうち、絶対値の最も大きい量子化係数の有効桁数以上 の値であればよい。変数 Bnewの値が大きくなると、量子化係数の絶対値を示す符号 の符号量が多くなる力 変数 Bnewの値を、絶対値の最も大きい量子化係数の有効桁 数以上の値とすることで、量子化係数の最大有効桁数を示す符号の符号量を少なく することができる。
[0324] 次に、画像符号ィ匕装置 111により符号化された画像を復号する画像復号装置につ いて説明する。
[0325] 図 26は、画像復号装置の構成例を示すブロック図である。
[0326] 画像復号装置 211は、エントロピ復号部 221、逆量子化部 222、およびウェーブレット 逆変換部 223から構成され、エントロピ復号部 221には、符号化された画像 (データ) が入力される。
[0327] エントロピ復号部 221は、入力された符号化された画像としての符号をエントロピ復 号し、これにより得られた量子化係数を逆量子化部 222に供給する。 [0328] 逆量子化部 222は、エントロピ復号部 221から供給された量子化係数を逆量子化し 、逆量子化により得られた各サブバンドのウェーブレット係数をウェーブレット逆変換 部 223に供給する。
[0329] ウェーブレット逆変換部 223は、逆量子化部 222から供給された、各サブバンドのゥ エーブレット係数にウェーブレット逆変換を施し、その結果得られた画像を、復号され た画像として出力する。
[0330] また、このような処理を行う画像復号装置 211のエントロピ復号部 221は、より詳細に は、例えば、図 27に示すように構成される。
[0331] エントロピ復号部 221は、より詳細には、符号分割部 251、ライン判定部 252、発生部 253、 VLC復号部 254、 VLC復号部 255、 VLC復号部 256、量子化係数合成部 257、お よび切替部 258を有する。
[0332] 符号分割部 251は、ライン判定部 252、 VLC復号部 254、 VLC復号部 255、および VL C復号部 256のそれぞれから供給される情報に基づいて、入力された、符号化された 画像としての符号を分割し、分割された所定の長さの符号をライン判定部 252、 VLC 復号部 254、 VLC復号部 255、または VLC復号部 256に供給する。
[0333] すなわち、符号分割部 251は、入力された符号を、符号化された 1つのラインの量子 ィ匕係数が全て 0であるカゝ否かを示す符号、符号化された w個の量子化係数の最大有 効桁数を示す符号、符号化された w個の量子化係数の絶対値を示す符号、および 符号化された量子化係数のサインを示す符号のそれぞれに分割し、ライン判定部 25 2、 VLC復号部 254、 VLC復号部 255、および VLC復号部 256のそれぞれに供給する。
[0334] ライン判定部 252は、符号分割部 251から供給された符号に基づいて、符号化され たサブバンドの 1つのラインの量子化係数が全て 0であるか否かを判定し、その判定 の結果を示す情報を、符号分割部 251、発生部 253、および VLC復号部 254に供給す る。
[0335] 発生部 253は、ライン判定部 252からの判定の結果を示す情報に基づいて、 1ライン 分の 0である量子化係数を示す符号を発生して切替部 258に供給する。
[0336] VLC復号部 254は、符号分割部 251から供給された、符号化された w個の量子化係 数の最大有効桁数を示す符号を復号して、符号化された w個の量子化係数の最大 有効桁数を求め、求めた最大有効桁数を示す情報を符号分割部 251、 VLC復号部 2 55、および量子化係数合成部 257に供給する。
[0337] VLC復号部 255は、 VLC復号部 254からの最大有効桁数を示す情報に基づいて、 符号分割部 251から供給された量子化係数の絶対値を示す符号を復号し、これによ り得られた w個の量子化係数の有効桁 (のデータ)を、 VLC復号部 256および量子化 係数合成部 257に供給する。また、 VLC復号部 255は、量子化係数の絶対値を示す 符号の復号の結果を示す情報を符号分割部 251に供給する。
[0338] VLC復号部 256は、 VLC復号部 255から供給された量子化係数の有効桁に基づい て、符号分割部 251から供給された量子化係数のサインを示す符号を復号し、これに より得られる量子化係数のサイン (のデータ)を量子化係数合成部 257に供給する。ま た、 VLC復号部 256は、量子化係数のサインを示す符号の復号の結果を示す情報を 符号分割部 251に供給する。
[0339] 量子化係数合成部 257は、 VLC復号部 254からの最大有効桁数を示す情報に基づ V、て、 VLC復号部 255から供給された量子化係数の有効桁および VLC復号部 256か ら供給された量子化係数のサインを合成し、これにより得られた w個の量子化係数を 切替部 258に供給する。
[0340] 切替部 258は、発生部 253または量子化係数合成部 257からの量子化係数を出力 する。
[0341] 図 28は、符号分割部 251のより詳細な構成例を示すブロック図である。
[0342] 符号分割部 251は、制御部 271およびメモリ 272を有している。制御部 271は、符号ィ匕 された画像としての符号が入力されると、入力された符号をメモリ 272に供給して一時 的に記憶させる。
[0343] そして、制御部 271は、図 27に示したライン判定部 252、 VLC復号部 254、 VLC復号 部 255、および VLC復号部 256のそれぞれから供給される情報に基づいて、メモリ 272 に一時的に記憶されている符号のうち、所定の長さの符号を読み出して、ライン判定 部 252、 VLC復号部 254、 VLC復号部 255、または VLC復号部 256に供給する。
[0344] また、符号分割部 251は、図 28に示した構成例の他、例えば、図 29に示すように構 成されてもよい。 [0345] 図 29に示す符号分割部 251は、制御部 291、スィッチ 292、並びに、ノード 293-1乃至 ノード 293- 4を有する。
[0346] 制御部 291は、符号ィ匕された画像としての符号が符号分割部 251に入力されると、 図 27に示したライン判定部 252、 VLC復号部 254、 VLC復号部 255、および VLC復号 部 256のそれぞれから供給される情報に基づいて、スィッチ 292を制御し、入力された 符号のうち、所定の長さの符号をライン判定部 252、 VLC復号部 254、 VLC復号部 255 、または VLC復号部 256に供給させる。
[0347] すなわち、ノード 293-1乃至ノード 293-4のそれぞれは、ライン判定部 252、 VLC復号 部 254、 VLC復号部 255、および VLC復号部 256のそれぞれに接続されており、制御 部 291は、符号の供給先として、ノード 293-1乃至ノード 293-4のいずれかを選択し、ス イッチ 292と、選択されたノードとの接続を制御する。
[0348] スィッチ 292が制御部 291の制御に基づ 、て選択されたノードを入力と接続するので 、符号分割部 251に入力された符号は、スィッチ 292、およびスィッチ 292と接続された ノードを介して、符号の供給先として選択されたライン判定部 252、 VLC復号部 254、 V LC復号部 255、または VLC復号部 256に供給される。
[0349] 次に、図 30のフローチャートを参照して、画像復号装置 211による復号処理につい て説明する。この復号処理は、エントロピ復号部 221に符号化された画像としての符 号が入力されると開始される。
[0350] ステップ S231において、エントロピ復号部 221は、エントロピ復号処理を行い、入力さ れた画像としての符号をエントロピ復号し、これにより得られた量子化係数を逆量子 化部 222に供給する。なお、エントロピ復号処理の詳細は後述する力 このエントロピ 復号処理において、エントロピ復号部 221は、符号ィ匕されたサブバンドのライン上の 連続する位置の量子化係数^ w個ずっ復号し、復号された量子化係数を逆量子化 部 222に供給する。
[0351] ステップ S232において、逆量子化部 222は、エントロピ復号部 221から供給された量 子化係数を逆量子化し、逆量子化により得られた各サブバンドのウエーブレット係数 をウェーブレット逆変換部 223に供給する。
[0352] ステップ S233において、ウェーブレット逆変換部 223は、逆量子化部 222から供給さ れた、各サブバンドのウェーブレット係数にウェーブレット逆変換を施し、その結果得 られた画像を出力して復号処理は終了する。
[0353] このようにして、画像復号装置 211は、符号化された画像を復号して出力する。
[0354] 次に、図 31のフローチャートを参照して、図 30のステップ S231の処理に対応するェ ントロピ復号処理にっ 、て説明する。
[0355] ステップ S261にお!/、て、ライン判定部 252は、これカも復号するサブバンドのライン を示す変数 yを y=0として、これを記憶する。
[0356] ステップ S262において、 VLC復号部 254は、ライン判定部 252が記憶している変数 y により示されるライン yよりも 1つ前のライン (y—l)上の最初に入力される w個の量子化 係数の最大有効桁数を示す変数 Binitを Binit=0として、これを記憶する。
[0357] 例えば、ライン (y—l)力 図 20に示したライン L1である場合、ライン (y—l)上の最初 に入力される w個の量子化係数の最大有効桁数を示す変数 Binitの値は、ライン L1の 図中、左端の位置から w個の量子化係数の最大有効桁数となる。また、ライン判定部 152が記憶している変数 yが y=0である場合、ライン (y—l)は存在しないので、変数 Bi nitの値は、 Binit =0とされる。
[0358] また、ステップ S262において、符号分割部 251は、入力された符号のうち、最初の 1 ビットの符号を、これから復号するラインの量子化係数が全て 0であるか否かを示す符 号として、ライン判定部 252に供給する。
[0359] ステップ S263において、ライン判定部 252は、符号分割部 251から読み込んだ (供給 された) 1ビットの符号カ^であるか否かを判定し、その判定の結果を示す情報を生成 して発生部 253、 VLC復号部 254、および符号分割部 251に供給する。
[0360] ステップ S263にお 、て、符号が 0であると判定した場合、ライン yの量子化係数が全 て 0であるので、ライン判定部 252は、処理をステップ S264に進める。ステップ S264に おいて発生部 253は、ライン判定部 252からの判定の結果を示す情報に基づいて、ラ イン yの量子化係数を全て 0とする。そして、発生部 253は、ライン yの量子化係数を示 す符号を発生して切替部 258に供給する。
[0361] 例えば、図 21に示したように、 1つの量子ィ匕係数が 4桁で表わされ、 1つのラインの量 子化係数力^個である場合、発生部 253は、ライン yの量子化係数を示す符号として、 20 (=4 X 5)個の 0を発生して切替部 258に供給する。切替部 258は、発生部 253から 供給された連続する 20個の 0を、 1つのラインの量子化係数を示す符号として、逆量 子化部 222に出力する。
[0362] ステップ S265にお!/、て、 VLC復号部 254は、ライン判定部 252からの判定の結果を 示す情報に基づいて、記憶している変数 Binitの値を Binit=0とし、変数 Binitを更新 する。
[0363] ステップ S266にお!/、て、ライン判定部 252は、復号して!/、るサブバンドのラインのうち 、未処理のラインがある力否かを判定する。すなわち、ライン判定部 252は、復号して いるサブバンドの全てのライン上の位置の量子ィ匕係数を復号したか否かを判定する
[0364] ステップ S266にお 、て、未処理のラインがあると判定した場合、ライン判定部 252は 、 自分自身が記憶して 、る変数 yにより示されるライン yの次のライン (y+ 1)上の各位 置の量子化係数を復号するので、処理をステップ S267に進める。
[0365] ステップ S267にお 、て、ライン判定部 252は、記憶して 、るラインを示す変数 yをイン クリメントして y=y+ lとし、処理をステップ S263に戻し、それ以降の処理を実行させる
[0366] これに対して、ステップ S266にお!/、て、未処理のラインが無 、と判定した場合、サブ バンドを構成する全てのラインにっ ヽて量子化係数が復号されたので、ライン判定部 252は、エントロピ復号処理を終了し、処理を図 30のステップ S231に戻し、ステップ S23 2以降の処理を実行させる。
[0367] また、図 31のステップ S263にお 、て、符号力 ^でな 、と判定した場合、ライン判定部 252は、処理をステップ S268に進める。ステップ S268において、 VLC復号部 254は、ラ イン判定部 252からの判定の結果を示す情報に基づいて、これから復号する w個の量 子化係数のうち、最初に入力される量子化係数に対応するライン y上の位置の X座標 を示す変数 Xの値を x=0として、この変数 Xを記憶する。
[0368] また、ステップ S268において、 VLC復号部 254は、前回復号された w個の量子化係 数の最大有効桁数を示す変数 Bの値を B = Binitとして、この変数 Bを記憶する。すな わち、 VLC復号部 254は、変数 Bの値を記憶している変数 Binitの値として変数 Bを更 新し、更新された変数 Bの値を記憶する。
[0369] さらに、ステップ S268において、符号分割部 251は、ライン判定部 252からの判定の 結果を示す情報に基づいて、入力された符号の次の 1ビットの符号を、これから復号 する w個の量子化係数の最大有効桁数が変化したカゝ否かを示す符号として、 VLC復 号部 254に供給する。
[0370] ステップ S269において、エントロピ復号部 221は、 w個糸且復号処理を行う。なお、 w個 組復号処理の詳細は後述するが、この w個組復号処理において、エントロピ復号部 2 21は、ライン判定部 252が記憶している変数 yにより示されるライン y上の連続する w個 の位置の量子化係数を復号する。
[0371] ステップ S270にお!/、て、 VLC復号部 254は、ライン yに未処理の量子化係数がある か否かを判定する。すなわち、 VLC復号部 254は、ライン判定部 252が記憶している 変数 yにより示されるライン y上の位置の全ての量子化係数を復号したカゝ否かを判定 する。
[0372] ステップ S270にお 、て、ライン yに未処理の量子化係数があると判定した場合、次の w個の量子化係数を復号するので、 VLC復号部 254は、処理をステップ S271に進める
[0373] ステップ S271にお!/、て、 VLC復号部 254は、記憶して!/、る変数 xを、 x=x+wとして、 処理をステップ S269に戻す。これにより、その後のステップ S269の処理において、ライ ン y上の位置(x+w, y)、 (x+w+ 1, y)、 · · ·、(x+2w— 1, y)のそれぞれの量子化係 数が復号される。
[0374] また、ステップ S270にお 、て、ライン yに未処理の量子化係数がな 、と判定した場合 、 VLC復号部 254は、ライン y上の全ての位置の量子化係数が復号されたので、処理 をステップ S266に戻し、それ以降の処理を実行させる。
[0375] このようにして、エントロピ復号部 221は、サブバンドの各位置の量子化係数を所定 の数ずつラスタスキャン順に復号する。
[0376] このように、サブバンドの各位置の量子化係数を所定の数ずつラスタスキャン順に 復号することによって、符号化された量子化係数を、入力された順番に処理すること ができ、量子化係数の復号により生じる遅延をより少なくすることができる。 [0377] 次に、図 32のフローチャートを参照して、図 31のステップ S269の処理に対応する w 個組復号処理にっ 、て説明する。
[0378] 上述したように、図 31のステップ S268において、符号分割部 251から VLC復号部 254 には、これから復号する w個の量子化係数の最大有効桁数が変化したか否かを示す
1ビットの符号が供給される。
[0379] 図 32のステップ S311において、 VLC復号部 254は、読み込んだ(供給された) 1ビット の符号力^である力否かを判定する。
[0380] ステップ S311において、読み込んだ符号が 0であると判定した場合、最大有効桁数 は変化していないので、 VLC復号部 254は、最大有効桁数が変化していない旨の情 報を生成し、それを符号分割部 251、 VLC復号部 255、および量子化係数合成部 257 に供給し、ステップ S312乃至ステップ S314の各処理をスキップして、ステップ S315に 処理を進める。
[0381] すなわち、最大有効桁数が変化したか否かを示す符号カ^である場合、図 21を参 照して説明したように、最大有効桁数が変化した力否かを示す 1ビットの符号 0の後に は、最大有効桁数が増加したか、または減少したかを示す符号、および最大有効桁 数の変化量を示す符号ではなぐ量子化係数の絶対値を示す符号が入力されるの で、最大有効桁数が増加したか、または減少したかを示す符号、および最大有効桁 数の変化量を示す符号を復号する処理であるステップ S312乃至ステップ S314の各処 理はスキップされる。
[0382] これに対して、ステップ S311において、読み込んだ 1ビットの符号が 0でないと判定し た場合、最大有効桁数が変化したので、 VLC復号部 254は、処理をステップ S312に 進め、符号分割部 251から符号を 1ビット読み込み、その値を所定の変数 mとして記憶 する。
[0383] ステップ S313において、 VLC復号部 254は、符号が 1となるまで (符号 1を読み込むま で)符号分割部 251から符号を読み込み、それまでに読み込んだ符号 0の数を所定の 変数 nとして記憶する。例えば、 VLC復号部 254が符号分割部 251から読み込んだ 3つ 目の符号が 1であった場合、すなわち、 VLC復号部 254が符号" 001"を読み込んだ場 合、 VLC復号部 254が符号 1を読み込むまでに、読み込んだ符号 0の数は 2であるの で、 VLC復号部 254は、読み込んだ符号 0の数である 2を変数 nの値として記憶する。
[0384] ステップ S314にお 、て、 VLC復号部 254は、最大有効桁数を示す変数 Bの値を以下 の式 (9)により求め、求められた変数 Bの値を記憶する。
[0385] B = B+ (n+ l) X (- l) 'm · · · (9)
[0386] ここで、式(9)における左辺は、新たに求められる変数 Bの値を表わしており、右辺 の Bは記憶している変数 Bの値を表わしている。また、式 (9)における記号"""は、冪 乗を表わしている。したがって、(― l) 'mは、( 1)の m乗を表わしている。
[0387] VLC復号部 254は、記憶して 、る変数 B、変数 m、および変数 nに基づ 、て、式 (9)を 計算して記憶している変数 Bを更新する。 VLC復号部 254は、最大有効桁数を示す 変数 Bを更新すると、更新された最大有効桁数を示す情報を生成して、符号分割部 2 51、 VLC復号部 255、および量子化係数合成部 257に供給する。
[0388] ステップ S314において新たな最大有効桁数を求める力、ステップ S311において、読 み込んだ 1ビットの符号が 0であると判定すると、 VLC復号部 254は、ステップ S315に処 理を進め、記憶している変数 Xの値が 0である場合、記憶している変数 Binitの値を Bini t = Bとする。
[0389] すなわち、 VLC復号部 254は、記憶して 、る変数 xの値力 ^である場合、記憶して ヽ る、ライン (y— 1)上の最初に入力される w個の量子化係数の最大有効桁数を示す変 数 Binitの値を、これカも復号する w個の量子化係数の最大有効桁数を示す変数 Bの 値として、変数 Binitを更新する。
[0390] このように、変数 x=0である場合に、変数 Binitの値を Binit=Bとすることで、次のラ イン (例えば、ライン (y+ 1) )の x=0から始まる w個の量子ィ匕係数について、前のライ ン (例えば、ライン y)の x=0から始まる w個の量子化係数の最大有効桁数との相関関 係を利用して量子化係数の復号を行うことができる。
[0391] ステップ S316にお!/、て、 VLC復号部 255は、所定の変数を iとして、変数 iを 0から(w
1)まで変化させて、符号分割部 251から符号を Bビットずつ読み込み、読み込んだ Bビットの符号を、ライン y上の位置 (x+i, y)の量子化係数の有効桁を示す符号とし て、 VLC復号部 256および量子化係数合成部 257に供給(出力)する。また、 VLC復 号部 255は、量子化係数の有効桁を示す情報を生成して、符号分割部 251に供給す る。
[0392] ここで、位置 (x + i, y)における xの値は、 VLC復号部 254が記憶して!/、る変数 xの値 とされる。例えば、 VLC復号部 254が記憶している変数 Xの値力^であり、 VLC復号部 2 55が記憶している変数 Bの値力 ¾である場合、 VLC復号部 255は、変数 i = 0として符号 分割部 251から 3ビットの符号を読み込み、読み込んだ 3ビットの符号を位置 (0, y)に おける量子化係数の有効桁として出力する。
[0393] 同様に、 VLC復号部 255は、変数 i = lとして符号分割部 251からさらに 3ビットの符号 を読み込み、その符号を位置(1, y)における量子化係数の有効桁として出力し、変 数 i = 2として符号分割部 251から次の 3ビットの符号を読み込み、その符号を位置 (2, y)における量子化係数の有効桁として出力し、変数 i=3として符号分割部 151から、 さらに次の 3ビットの符号を読み込み、その符号を位置 (3, y)における量子化係数の 有効桁として出力する。
[0394] ステップ S317にお!/、て、 VLC復号部 256は、所定の変数を iとして、変数 iを 0から(w
1)まで変化させて、ライン y上の位置 (x+i, y)の量子化係数の有効桁 (絶対値)が 0でなければ、符号分割部 251から符号を 1ビット読み込む。そして、 VLC復号部 256 は、読み込んだ符号を復号し、これにより得られた符号を量子化係数のサインとして 量子化係数合成部 257に供給(出力)する。また、 VLC復号部 256は、量子化係数の サインを示す情報を生成して、符号分割部 251に供給する。
[0395] ここで、位置 (x + i, y)における xの値は、 VLC復号部 254が記憶して!/、る変数 xの値 とされる。例えば、 VLC復号部 254が記憶している変数 Xの値力^であり、 VLC復号部 2 55から 0でない有効桁 (を示す符号)が供給された場合、 VLC復号部 256は、変数 i = 0 として符号分割部 251から 1ビットの符号を読み込み、その符号力^であれば、位置 (0 , y)における量子化係数のサイン "—"を示す符号を量子化係数合成部 257に供給し 、読み込んだ符号が 1であれば、位置 (0, y)における量子化係数のサイン" + "を示 す符号を量子化係数合成部 257に供給する。
[0396] また、 VLC復号部 256は、 VLC復号部 255から供給された有効桁 (を示す符号)の絶 対値が 0である場合、位置 (0, y)における量子化係数のサインはないので、符号分割 部 251から符号を読み込まな 、。 [0397] 同様にして、 VLC復号部 255から次に供給された有効桁 (の絶対値)が 0でな 、場合 、 VLC復号部 256は、変数 i= lとして符号分割部 251から 1ビットの符号を読み込み、 その符号力^であれば、サイン" "を示す符号を、読み込んだ符号が 1であれば、サ イン" + "を示す符号を量子化係数合成部 257に供給する。
[0398] さらに、 VLC復号部 255から次に供給された有効桁力^でない場合、 VLC復号部 256 は、変数 i=2として符号分割部 251から 1ビットの符号を読み込み、その符号力^であ れば、サイン" "を示す符号を、読み込んだ符号が 1であれば、サイン" + "を示す符 号を量子化係数合成部 257に供給する。また、 VLC復号部 255から次に供給された有 効桁が 0でない場合、 VLC復号部 256は、変数 i=3として符号分割部 251から 1ビットの 符号を読み込み、その符号カ^であれば、サイン" "を示す符号を、読み込んだ符 号が 1であれば、サイン" + "を示す符号を量子化係数合成部 257に供給する。
[0399] ステップ S318において、量子化係数合成部 257は、 VLC復号部 255から供給された 有効桁、および VLC復号部 255から供給されたサインを合成し、これにより得られた量 子化係数を、切替部 258を介して逆量子化部 222に出力し、 w個組復号処理を終了し て処理を図 31のステップ S269に戻し、ステップ S270以降の処理を実行させる。
[0400] 例えば、出力する量子化係数の絶対値の桁数は予め定められている。予め定めら れた出力する量子化係数の絶対値の桁数が 4桁であり、 VLC復号部 254からの最大 有効桁数を示す情報により示される最大有効桁数が 3である場合、 VLC復号部 255か ら有効桁" 101"が供給され、 VLC復号部 255からサイン" "を示す符号が供給された とき、量子化係数合成部 257は、量子化係数" -0101 "を出力する。
[0401] すなわち、量子化係数合成部 257は、量子化係数の絶対値の桁数は 4桁であり、有 効桁は "101" (3桁)であるので、有効桁" 101 "の最上位のビットのさらに 1つ上位のビ ットを 0として、量子化係数の絶対値を 4桁である" 0101"とする。そして、さらに、量子 ィ匕係数のサイン "—"と、量子ィ匕係数の絶対値" 0101"とを合成して得られる" -0101" を量子化係数として出力する。
[0402] なお、量子化係数合成部 257は、 VLC復号部 255から供給された有効桁カ^である 場合には、サインのない量子化係数を出力する。例えば、予め定められた出力する 量子化係数の絶対値の桁数が 4桁であり、 VLC復号部 254からの最大有効桁数を示 す情報により示される最大有効桁数力 ¾である場合、 VLC復号部 255から有効桁" 000 "が供給されたとき、量子化係数合成部 257は、量子化係数" 0000"を出力する。
[0403] このようにして、エントロピ復号部 221は、符号ィ匕されたサブバンドの量子化係数を、 予め定められた所定の数ずつまとめて復号する。
[0404] このように、符号ィ匕されたサブバンドの量子化係数を、予め定められた所定の数ず つまとめて復号することで、例えば、 JPEG2000方式により画像を復号する場合とは異 なり、複数のコーディングノ スに基づいて、ビットプレーンごとに複数の処理を行う必 要がなぐより高速に画像の復号を行うことができる。これにより、高解像度の画像をリ アルタイムで復号するための復号装置を安価で実現することができる。
[0405] ところで、以上において説明した画像符号ィ匕装置 111にいては、量子化係数の絶対 値を符号化 (または復号)する場合に、予め定められた w個の量子化係数の絶対値を 順番に符号ィ匕すると説明した力 汎用 DSP(Digital Signal Processor)や、汎用 CPUに おいて用いられている SIMD (Single Instruction Multiple Data)演算命令を利用して、 w個の量子化係数を同時に (並列に)符号ィ匕 (または復号)することにより、より高速に 画像を符号化 (または復号)することができる。
[0406] ここで、 SIMD演算命令の一例としては、例えば、インテル株式会社の CPUにお!/、て 用いられている MMX (MultiMedia extension)、 SSE (Streaming SIMD Extensions)、 S SE2、 SSE3などがある。
[0407] このような SIMD演算命令を利用して量子化係数の絶対値を符号化する場合、画像 符号ィ匕装置 111のエントロピ符号ィ匕部 123は、例えば、図 33に示すように構成される。
[0408] 図 33に示すエントロピ符号ィ匕部 123は、ライン判定部 161、 VLC符号化部 162、最大 有効桁数計算部 163、 VLC符号化部 164、有効桁抽出部 165、 VLC符号ィ匕部 166、サ イン抽出部 167、および VLC符号化部 168が設けられている点において、図 22に示し たエントロピ符号ィ匕部 123と同様であり、符号連結部 169に新たにバッファ 401が設け られている点において異なる。なお、図 33において、図 22における場合と対応する部 分については同一の符号を付してあり、その説明は適宜省略する。
[0409] 符号連結部 169のバッファ 401には、 VLC符号化部 162、 VLC符号化部 164、 VLC符 号ィ匕部 166、および VLC符号ィ匕部 168のそれぞれから供給された、ラインの量子化係 数が全て 0であるか否かを示す符号、最大有効桁数を示す符号、量子化係数の絶対 値を示す符号、および量子化係数のサインを示す符号のそれぞれが一時的に記憶 される。
[0410] ノッファ 401の記憶領域は、 32ビットごとに管理され、バッファ 401に入力される符号( データ)は、スカラ演算処理に用いられる符号と、ベクトル演算処理に用いられる符号 とに分けられて記憶される。すなわち、 1つの 32ビットの記憶領域には、一時的に記憶 する符号 (データ)として、スカラ演算処理に用いられる符号、またはベクトル演算処 理に用いられる符号が記憶される。
[0411] 図 33のエントロピ符号ィ匕部 123においては、量子ィ匕係数の絶対値力 IMD演算命令 を利用して並列に符号化されるので、量子化係数の絶対値を示す符号がベクトル演 算処理に用いられる符号とされ、その他の符号は、スカラ演算処理に用いられる符号 とされる。
[0412] なお、以下の説明にお 、ては、ノ ッファ 401に設けられる 32ビットの記憶領域のうち 、スカラ演算処理に用いられる符号が記憶される記憶領域をスカラ領域とも称し、ベ タトル演算処理に用いられる符号が記憶される記憶領域をベクトル領域とも称する。
[0413] 次に、図 34を参照して、図 33のエントロピ符号化部 123が行うエントロピ符号化につ いて説明する。
[0414] 例えば、図 34の左上に示すように、図 21に示した 12個の量子化係数" -0101"、 "+00 11"、 "-0110"、 "+0010"、 "+0011"、 "+0110"、 "0000"、 "-0011"、 "+1101"、 "-0100" 、 "+0111"、および" -1010"がエントロピ符号ィ匕部 123に順番に入力されたとする。
[0415] すると、図 21を参照して説明した場合と同様に、エントロピ符号ィ匕部 123の符号連結 部 169には、これから符号化するラインの量子化係数が全て 0であるか否かを示す符 号 "1"、および最初に入力された 4つの量子化係数" -0101"、 "+0011"、 "-0110"、お よび" +0010"の最大有効桁数を示す符号" 10001 "が供給される。
[0416] そして、これらの量子ィ匕係数が全て 0である力否かを示す符号 "1"、および量子化 係数の最大有効桁数を示す符号" 10001 "からなる符号" 110001 "は、矢印 Allに示す ように、符号連結部 169のバッファ 401に設けられた 32ビットのスカラ領域に記憶される [0417] 図 34の例においては、スカラ領域は、さらに 4つの 8ビットの領域に分けられており、 スカラ領域には、その領域に記憶される符号が図中、左から右方向に、上位のビット 力 順番に格納されて記憶される。そして、 1つのスカラ領域の全体に符号が格納さ れると、すなわち、 1つのスカラ領域に 32ビットの符号が格納されると、ノ ッファ 401に は、新たな 1つのスカラ領域が設けられ、新たに設けられたスカラ領域に、順次スカラ 演算処理に用いられる符号が格納されて!ヽく。
[0418] 量子化係数が全て 0であるカゝ否かを示す符号 "1"、および量子化係数の最大有効 桁数を示す符号" 10001 "からなる符号" 110001 "がスカラ領域に記憶されると、次に、 エントロピ符号ィ匕部 123は、最初に入力された w個(4個)の量子化係数" -0101"、 "+00 11"、 "-0110"、および" +0010"のそれぞれの絶対値を示す最大有効桁数分の符号 を、同時に(並列に並べて)ベクトル領域に記憶する。
[0419] 量子化係数"- 0101"、 "+0011"、 "-0110"、および" +0010"の最大有効桁数は、図 2 1を参照して説明したように、 "3"であるから、これらの 4個の量子化係数の絶対値を示 す符号は、それぞれ "101"、 "011"、 "110"、および" 010"となり、矢印 A12に示すよう に、量子化係数の絶対値を示す符号 "101"、 "011"、 "110"、および" 010"は、ノ ッフ ァ 401に設けられた 1つのベクトル領域に並列に並べられて格納され、記憶される。
[0420] ここで、ベクトル領域は、さらに 4つの 8ビットの領域に分けられており、ベクトル領域 の 4つの領域のそれぞれには、同じ長さの(ビット長の) 4つの量子化係数の絶対値を 示す符号のそれぞれが、図中、左から右方向に、上位のビットから順番に格納されて
SC fedれる。
[0421] 矢印 A12により示されるベクトル領域においては、図中、左側の 8ビットの領域に量 子化係数の絶対値を示す符号" 101"が左側カゝら格納され、左から 2番目の 8ビットの 領域に符号" 011"が左側から格納され、右から 2番目の領域に符号" 110"が左側から 格納され、さらに、一番右側の領域には符号" 010"が左側力 格納されて記憶されて いる。
[0422] また、ベクトル領域もスカラ領域における場合と同様に、 1つのベクトル領域の全体 に符号が格納されると、すなわち、 1つのベクトル領域に 32ビットの符号が格納される と、ノ ッファ 401には、新たな 1つのベクトル領域が設けられ、新たに設けられたべタト ル領域に、順次ベクトル演算処理に用いられる符号が格納されて 、く。
[0423] そして、 4つの量子化係数" -0101"、 "+0011"、 "-0110",および" +0010"の絶対値を 示す符号がベクトル領域に記憶されると、エントロピ符号ィ匕部 123は、矢印 A13に示す ように、これらの 4つの量子化係数のサインを示す符号をスカラ領域に格納して記憶 する。
[0424] 矢印 Allに示したようにスカラ領域には、量子化係数が全て 0である力否かを示す 符号 " Γ、および量子化係数の最大有効桁数を示す符号" 10001 "からなる符号" 110 001"が既に記憶されているので、エントロピ符号ィ匕部 123は、矢印 A13に示すように、 量子化係数"- 0101"、 "+0011"、 "-0110"、および" +0010"のサインを示す符号" 1010 "を、スカラ領域の既に記憶されている符号" 110001 "の右側に (符号" 110001 "に続 けて)格納して記憶する。
[0425] さらに、最初の 4つの量子化係数が符号ィ匕されると、エントロピ符号ィ匕部 123は、次 の 4つの量子化係数" +0011"、 "+0110"、 "0000"、および"- 0011"を符号化する。
[0426] まず、エントロピ符号ィ匕部 123は、前回符号化した 4つの量子化係数の最大有効桁 数" 3"と、今回符号化する量子化係数" +0011"、 "+0110"、 "0000"、および" -0011 "の 最大有効桁数" 3"とを比較し、最大有効桁数が変化していないので、矢印 A14に示 すように、最大有効桁数を示す符号として、最大有効桁数が変化していないことを示 す符号" 0"を、既に記憶されている符号" 1100011010"に続けてスカラ領域に格納し 飞 feす。。
[0427] 次に、エントロピ符号ィ匕部 123は、今回入力された w個(4個)の量子化係数" +0011" 、 "+0110"、 "0000"、および" -0011 "のそれぞれの絶対値を示す最大有効桁数分の 符号 "011"、 "110"、 "000"、および" 011"のそれぞれを、矢印 A15に示すようにべタト ル領域に同時に格納して記憶する。
[0428] 矢印 A12に示したように、ベクトル領域の図中、左側の 8ビットの領域、左から 2番目 の 8ビットの領域、右から 2番目の 8ビットの領域、および一番右側の 8ビットの領域のそ れぞれには、既に符号 "101"、 "011"、 "110"、および" 010"のそれぞれが記憶されて いるので、エントロピ符号ィ匕部 123は、矢印 A15に示すように、今回入力された量子化 係数の絶対値を示す符号 "011"、 "110"、 "000"、および" 011"のそれぞれを、ベタト ル領域に既に記憶されている符号 "101"、 "011"、 "110"、および" 010"のそれぞれの 右側に続けて格納して記憶する。
[0429] さらに、エントロピ符号ィ匕部 123は、矢印 A16に示すように、今回入力された 4つの量 子化係数" +0011"、 "+0110"、 "0000"、および" -0011 "のうち、絶対値力^でない量子 ィ匕係数のサインを示す符号" 001"を、スカラ領域内の既に記憶されている符号" 1100 0110100"の右側に続けて格納して記憶する。
[0430] そして、 4つの量子化係数" +0011"、 "+0110"、 "0000"、および" -0011 "が符号化さ れると、エントロピ符号化部 123は、次の 4つの量子化係数" +1101"、 "-0100"、 "+011 1"、および"- 1010"の符号化を行う。
[0431] まず、エントロピ符号化部 123は、今回入力された 4つの量子化係数" +1101"、 "-01 00"、 "+0111"、および" -1010"の最大有効桁数" 4"と、前回符号化した 4つの量子化 係数" 3"とを比較して、矢印 A17に示すように、最大有効桁数が変化したことを示す 符号 "1"、最大有効桁数が増加したことを示す符号" 0"、および最大有効桁数の変 化量を示す符号" Γからなる、最大有効桁数を示す符号" 101"をスカラ領域に格納し 飞 feす。。
[0432] この場合、スカラ領域には、矢印 A16に示したように、既に符号" 11000110100001" が記憶されているので、エントロピ符号ィ匕部 123は、矢印 A17に示すように、この符号" 11000110100001 "の図中、右側に最大有効桁数を示す符号" 101"を格納する。
[0433] さらに、 4つの量子化係数" +1101"、 "-0100"、 "+0111"、および" -1010"の最大有 効桁数を示す符号が記憶されると、エントロピ符号ィ匕部 123は、これらの量子化係数 の絶対値を示す符号" 1101"、 "0100"、 "0111"、および" 1010"のそれぞれを、矢印 A 18に示すようにベクトル領域に同時に格納して記憶する。
[0434] 矢印 A15に示したように、ベクトル領域の図中、左側の 8ビットの領域、左から 2番目 の 8ビットの領域、右から 2番目の 8ビットの領域、および一番右側の 8ビットの領域のそ れぞれには、既に符号" 101011"、 "011110"、 "110000"、および" 010011 "のそれぞ れが記憶されており、左側の 8ビットの領域、左から 2番目の 8ビットの領域、右から 2番 目の 8ビットの領域、および一番右側の 8ビットの領域のそれぞれには、それぞれ 2ビッ トの符号しか記憶することができな!/、。 [0435] そこで、エントロピ符号ィ匕部 123は、矢印 A18に示すように、ノ ッファ 401に新たなベ タトル領域を確保し (設け)、今回入力された量子化係数の絶対値を示す符号" 1101 "、 "0100"、 "0111"、および" 1010"のそれぞれのうちの上位の 2ビットの符号 "11"、 "0 1"、 "01"、および" 10"のそれぞれを、ベクトル領域に既に記憶されている符号" 1010 11"、 "011110"、 "110000"、および" 010011 "のそれぞれの右側に続けて格納して記 憶し、今回入力された量子化係数の絶対値を示す符号" 1101"、 "0100"、 "0111"、お よび" 1010"のそれぞれのうちの下位の 2ビットの符号 "01"、 "00"、 "11"、および" 10" のそれぞれを、新たに設けられたベクトル領域 (矢印 A18により示される 2つのベクトル 領域のうち、図中、下側のベクトル領域)の図中、左側の 8ビットの領域、左から 2番目 の 8ビットの領域、右から 2番目の 8ビットの領域、および一番右側の 8ビットの領域のそ れぞれの左側に格納して記憶する。
[0436] そして、 4つの量子化係数" +1101"、 "-0100"、 "+0111"、および"- 1010"の絶対値を 示す符号が記憶されると、矢印 A19に示すように、エントロピ符号ィ匕部 123は、これら の 4つの量子化係数のうち、絶対値が 0でない量子化係数のサインを示す符号" 0101 "を、スカラ領域内の既に記憶されている符号" 11000110100001101 "の右側に続け て格納して記憶する。
[0437] このようにして、入力された量子化係数が符号化されると、エントロピ符号ィ匕部 123 は、矢印 A19により示されるスカラ領域に記憶されている符号、矢印 A19により示され る 2つのベクトル領域のうちの図中、上側のベクトル領域に記憶されている符号、およ び下側のベクトル領域に記憶されて ヽる符号を、符号ィ匕された画像として順番に出 力する。
[0438] この場合、矢印 A19により示されるスカラ領域の図中、右側の 11ビットには、符号が 格納されていない。また、矢印 A19により示される 2つのベクトル領域のうちの下側の ベクトル領域の左側の 8ビットの領域、左から 2番目の 8ビットの領域、右から 2番目の 8 ビットの領域、および一番右側の 8ビットの領域のそれぞれの右側の 6ビットの領域に も、符号が格納されていない。
[0439] このように、スカラ領域およびベクトル領域に格納されて記憶されて 、る符号を、符 号化された画像として出力する場合に、入力された量子化係数の符号化が終了した 時点にぉ 、て、スカラ領域およびベクトル領域に符号が格納されて ヽな 、領域があ るときには、その符号が格納されていない領域に、例えば符号" 0"などの任意の符号 が格納されて記憶されてから、スカラ領域およびベクトル領域に記憶された符号が符 号化された画像として出力される。
[0440] したがって、例えば、矢印 A19に示す例においては、符号化された画像として、スカ ラ領域に格納された符号" 11000110100001101010100000000000"、図中、上側のベ タトル領域に記憶された符号" 10101111011110011100000101001110"、および下側 のベクトル領域に記憶された符号" 01000000000000001100000010000000"が順番に 出力される。ここで、スカラ領域およびベクトル領域のうち、量子化係数の符号ィ匕が終 了した時点で符号が格納されて 、な力つた領域に格納される任意の符号は、復号時 に読み込まれることはな 、ので、どのような符号が格納されてもょ 、。
[0441] 画像符号化装置 111は、 SIMD演算命令を利用して量子化係数の絶対値を符号ィ匕 する場合においても、画像が入力されると、図 23のフローチャートを参照して説明し た符号化処理を行う。また、図 23のステップ S113の処理に対応する図 24のエントロピ 符号化処理においては、図 24のステップ S141乃至ステップ S149の各処理、ステップ S 151の処理、およびステップ S152の処理については、画像符号化装置 111は、 SIMD 演算命令を利用しない場合と同様の処理(図 24を参照して説明した処理)を行い、ス テツプ S150に対応する w個組符号ィ匕処理において、 SIMD演算命令を利用しない場 合とは異なる処理を行う。
[0442] 以下、図 35のフローチャートを参照して、画像符号ィ匕装置 111が SIMD演算命令を 利用して量子化係数の絶対値を符号化する場合における、 w個組符号化処理につ いて説明する。なお、ステップ S411乃至ステップ S419の各処理は、図 25のステップ S1 81乃至ステップ S189の各処理にそれぞれ対応し、それぞれ同様に実行される。従つ て、それらの説明は繰り返しになるので省略する。
[0443] また、 SIMD演算命令を利用して量子化係数の絶対値を符号化する場合、図 24また は図 35を参照して説明した処理において、 VLC符号ィ匕部 162から符号連結部 169に 供給される、これから符号ィ匕するラインの量子化係数の絶対値が全て 0である力否か を示す符号、 VLC符号ィ匕部 164から符号連結部 169に供給される量子化係数の最大 有効桁数を示す符号、および VLC符号ィ匕部 168から符号連結部 169に供給される量 子化係数のサインを示す符号のそれぞれは、図 34を参照して説明したように、符号 連結部 169のバッファ 401に設けられたスカラ領域に格納されて記憶される。
[0444] ステップ S420において、有効桁抽出部 165は、量子化部 122から供給された、 w個の 連続するライン y上の位置 (X, y)、(x+ 1, y)、 · · ·、 (x +w- 1, y)の量子化係数から、 量子化係数の有効桁を同時に抽出する。有効桁抽出部 165は、抽出した量子化係 数の有効桁を VLC符号ィ匕部 166およびサイン抽出部 167に供給する。また、 VLC符号 化部 166は、有効桁抽出部 165から供給された有効桁に基づいて (有効桁を符号ィ匕し て)、 w個の量子化係数の絶対値を示す符号を同時に符号連結部 169に出力する。
[0445] ここで、位置 (X, y)における Xの値は、最大有効桁数計算部 163が記憶して 、る変数 Xの値とされ、 yの値は、ライン判定部 161が記憶している変数 yの値とされる。例えば、 有効桁抽出部 165が量子化係数の有効桁として、有効桁 "101"、 "011"、 "110"、およ び" 010"を抽出した場合、 VLC符号ィ匕部 166から符号連結部 169には 4つの量子化係 数の絶対値を示す符号 "101"、 "011"、 "110"、および" 010"が供給されるので、符号 連結部 169は、供給されたこれらの量子化係数の絶対値を示す符号を符号ィ匕して、 図 34の矢印 A12に示したように、ベクトル領域に格納して記憶させる。
[0446] ステップ S421にお!/、て、サイン抽出部 167は、所定の変数を して、変数 iを 0から (w
1)まで変化させて、量子化部 122から供給された、量子化係数力 SOでないライン y上 の位置 (x+i, y)の量子化係数から、量子化係数のサインを抽出し、抽出したサイン( のデータ)を VLC符号ィ匕部 168に供給する。ここで、位置 (X, y)における xの値は、最 大有効桁数計算部 163が記憶している変数 Xの値とされ、 yの値は、ライン判定部 161 が記憶して 、る変数 yの値とされる。
[0447] VLC符号ィ匕部 168は、サイン抽出部 167からのサインを符号ィ匕し、これにより得られ る量子化係数のサインを示す符号を符号連結部 169に出力する。また、符号連結部 1 69は、図 34を参照して説明したように、 VLC符号ィ匕部 168から供給された量子化係数 のサインを示す符号を、ノ ッファ 401のスカラ領域に格納して記憶させる。
[0448] 符号連結部 169は、量子化係数のサインを示す符号をバッファ 401のスカラ領域に 格納して記憶させると、図 34を参照して説明したように、バッファ 401のスカラ領域に 記憶されている符号、およびベクトル領域に記憶されている符号を連結して、連結さ れた符号を符号化された画像として出力し、 w個組符号化処理を終了し、処理を図 2 4のステップ S150に戻し、ステップ S151以降の処理を実行させる。
[0449] このようにして、エントロピ符号ィ匕部 123は、予め定められた数の量子化係数の絶対 値を同時に符号ィ匕する。
[0450] 従来の JPEG2000方式によるエントロピ符号化においては、複数のコーディングパス に基づいて、量子化係数をビットプレーンごとに算術符号ィ匕するため、エントロピ符 号ィ匕における所定の処理を並列して同時に行うことは困難であった力 エントロピ符 号ィ匕部 123においては、ビットプレーン単位で複雑な処理を行う必要はないので、複 数の量子化係数の絶対値を同時に符号ィ匕することができる。
[0451] このように、予め定められた数の量子化係数の絶対値を同時に符号ィ匕することによ つて、複数の処理を同時 (並列)に行うことができ、より高速に画像を符号化すること ができる。
[0452] なお、ステップ S421の処理において、 w個の量子化係数のサインの符号化を順番に 行うと説明したが、量子化係数の絶対値の符号化における場合と同様に、 SIMD演算 命令を利用することで、 w個の量子化係数のサインの符号ィ匕を同時に行うようにしても よい。この場合、符号化により得られた w個の量子化係数のサインを示す符号のそれ ぞれは、バッファ 401のベクトル領域に w個に分けられて格納される。
[0453] また、バッファ 401にお!/、ては、 1つのスカラ領域またはベクトル領域を 32ビットの領 域とし、その 32ビットの領域をさらに 4つの 8ビットの領域に分けて使用すると説明した 1S 1つのスカラ領域またはベクトル領域の大きさなどは任意の大きさとすることができ る。例えば、 1つのスカラ領域またはベクトル領域を 128ビットの領域とし、その 128ビッ トの領域を 8つの 16ビットの領域に分けて使用するようにしてもよい。
[0454] さらに、 SIMD演算命令を利用して符号化された画像を復号する場合、画像を復号 する画像復号装置 211の符号分割部 251 (図 27)は、例えば、図 28に示した構成とさ れ、メモリ 272には、符号化された画像としての符号が、図 34を参照して説明したよう に、 32ビットずつ格納されて記憶される。
[0455] 制御部 271は、メモリ 272から符号を読み出して出力する場合、まず、最初の 32ビット の符号が格納されて 、る記憶領域をスカラ領域として、スカラ領域の先頭力 順番に
、これ力ゝら復号するラインの量子化係数の絶対値が全て 0であるか否かを示す符号、 量子化係数の最大有効桁数を示す符号、または量子化係数のサインを示す符号を 読み出して出力する。
[0456] また、制御部 271は、メモリ 272から量子化係数の絶対値を示す符号を読み出す場 合、メモリ 272のスカラ領域とされた記憶領域の次の 32ビットの記憶領域 (したがって、 この記憶領域からはまだ符号が読み出されていない)をベクトル領域として、このべク トル領域から量子化係数の絶対値を示す符号を読み出して出力する。
[0457] なお、画像が符号化される場合、復号時にお!、て最初に量子化係数の絶対値を示 す符号を読み出すときに、スカラ領域とされた記憶領域の次の 32ビットの記憶領域に 、必ず量子化係数の絶対値を示す符号 (ベクトル演算に用いられる符号)が格納され て 、るように画像の符号化が行われる。
[0458] さらに、符号ィ匕された画像としての符号が何ビットの記憶領域に分けられてメモリ 27 2に格納されるかは、画像符号ィ匕装置 111において画像が符号ィ匕される場合に、 1つ のスカラ領域およびベクトル領域が何ビットとされるかに応じて変化する。すなわち、 画像としての符号が分けられて格納されるメモリ 272内の複数の記憶領域のそれぞれ の大きさは、画像が符号ィ匕される場合における 1つのスカラ領域およびベクトル領域 の大きさと同じ大きさとされる。
[0459] 画像復号装置 211は、 SIMD演算命令を利用して量子化係数の絶対値を復号する 場合においても、符号化された画像が入力されると、図 30のフローチャートを参照し て説明した復号処理を行う。また、図 30のステップ S231の処理に対応する図 31のェン トロピ復号処理においては、図 31のステップ S261乃至ステップ S268の各処理、ステツ プ S270の処理、並びにステップ S271の処理については、画像復号装置 211は、 SIMD 演算命令を利用しない場合と同様の処理(図 31を参照して説明した処理)を行い、ス テツプ S269に対応する w個組復号処理にぉ 、て、 SIMD演算命令を利用しな 、場合と は異なる処理を行う。
[0460] 以下、図 36のフローチャートを参照して、画像復号装置 211が SIMD演算命令を利 用して量子化係数の絶対値を復号する場合における、 w個組復号処理につ ヽて説 明する。
[0461] なお、ステップ S451乃至ステップ S455の各処理は、図 32のステップ S311乃至ステツ プ S315の各処理とそれぞれ対応し、それぞれ同様に実行される。従って、それらにつ いての説明は繰り返しになるので省略する。
[0462] また、 SIMD演算命令を利用して量子化係数の絶対値を復号する場合、符号分割 部 251のメモリ 272には、例えば、図 34の矢印 A19に示したように、画像としての符号が 3つの 32ビットの領域に分けられて記憶される。そして、ライン判定部 252、 VLC復号 部 254、および VLC復号部 256のそれぞれは、 3つの 32ビットの領域のうち、図 34中、 一番上の領域をスカラ領域として、スカラ領域の先頭(図中、左側)からラインの量子 ィ匕係数が全て 0であるか否かを示す符号、量子化係数の最大有効桁数を示す符号、 および量子化係数のサインを示す符号のそれぞれを順番に読み出して復号する。
[0463] ステップ S456において、 VLC復号部 255は、符号分割部 251から、連続する Bビット の符号を w個同時に読み込み、読み込んだ w個の Bビットの符号のそれぞれを、ライン y上の位置 (X, y)、(x+ 1, y)、 · · ·、(x+w—l , y)の量子化係数の有効桁を示す符 号として、 VLC復号部 256および量子化係数合成部 257に供給(出力)する。また、 VL C復号部 255は、量子化係数の有効桁を示す情報を生成して、符号分割部 251に供 給する。ここで、位置 (X, y)における Xの値は、 VLC復号部 254が記憶している変数 X の値とされ、 yの値は、ライン判定部 252が記憶している変数 yの値とされる。
[0464] 例えば、予め定められた数 カ であり、変数 Bの値が 3であり、符号分割部 251のメ モリ 272に、図 34の矢印 A19に示したように、画像としての符号が 3つの 32ビットの記憶 領域に分けられて記憶されているとすると、図 34中、一番上側の 32ビットの記憶領域 は、既にスカラ領域とされて、ラインの量子化係数が全て 0であるか否かを示す符号、 および量子化係数の最大有効桁数を示す符号が読み出されており、次の 32ビットの 記憶領域 (上から 2番目の記憶領域)からは、まだ符号が読み出されて 、な 、ので、 V LC復号部 155は、上から 2番目の記憶領域をベクトル領域として、このベクトル領域の 左側の 8ビットの領域、左から 2番目の 8ビットの領域、右から 2番目の 8ビットの領域、 および一番右側の 8ビットの領域のそれぞれの図中左側から、位置 (X, y)、 (x+ 1, y) 、 (x+2, y)、および (x+3, y)の量子化係数の有効桁を示す符号 "101"、 "011"、 "11 0"、および" 010"のそれぞれを同時に読み出して出力する。
[0465] w個の量子化係数の有効桁を示す符号が、 VLC復号部 256および量子化係数合成 部 257に供給されると、その後、ステップ S457の処理およびステップ S458の処理が行 われるが、これらの処理は、図 32のステップ S317の処理およびステップ S318の処理と 同様なので、その説明は省略する。
[0466] このようにして、エントロピ復号部 221は、予め定められた数の量子化係数の絶対値 を同時に復号する。
[0467] このように、予め定められた数の量子化係数の絶対値を同時に復号することによつ て、複数の処理を同時 (並列)に行うことができ、より高速に画像を復号することができ る。
[0468] なお、ステップ S457の処理にお!、て、 w個の量子化係数のサインを示す符号のそれ ぞれの復号を順番に行うと説明したが、 w個の量子化係数のサインを示す符号のそ れぞれの復号を、 SIMD演算命令を利用して同時に(並列に)行うようにしてもょ 、。
[0469] 以上のように、従来の JPEG2000方式による画像の符号ィ匕 (または復号)とは異なり、 複数のコーディングパスに基づ 、て、量子化係数をビットプレーンごとに算術符号ィ匕 する必要がないため、より簡単な処理でより高速に画像を符号ィ匕 (または復号)するこ とがでさる。
[0470] 従来の JPEG2000方式においては、複数のコーディングパスに基づいて、ビットプレ ーン毎に処理を行うので、それらの処理を行う場合に、おおよそ量子化係数にビット プレーンの数を掛け合わせた回数程度、量子化係数にアクセスしなければならず、 処理量が多力つた。
[0471] また、符号化された画像をパケット化する場合に、 1つの画像の符号化が完全に終 了しなければパケットィ匕の処理を開始することができないため、その分だけ遅延が生 じる。さらに、 JPEG2000方式においては、例えば、図 2に示したサブバンド上の X方向 および y方向に平行な辺カゝらなる矩形領域内の位置に対応する (符号化された)量子 ィ匕係数力 S1つのパケットに格納されるため、その矩形領域の y方向の長さに応じた遅 延も生じる。従来の JPEG2000方式においては、このような符号ィ匕による遅延が生じる ため、リアルタイムでの処理は困難であった。なお、サブバンド上の矩形領域の y方向 の長さを短くすることにより、遅延を低減することは可能であつたが、この場合、符号 化効率が悪くなつてしまう。
[0472] これに対して、画像符号ィ匕装置 111においては、上述したように、複数のコーディン グノスに基づ 、て、量子化係数をビットプレーンごとに算術符号ィ匕する必要はなぐ 画像の符号化を行う場合に、量子化係数の絶対値を示す符号を出力するとき、最大 有効桁数を示す符号を出力するとき、および量子化係数のサインを示す符号を出力 するときに量子化係数にアクセスするだけなので、より簡単に画像を符号ィ匕すること ができる。
[0473] なお、最大有効桁数を示す符号および量子化係数のサインを示す符号は 1ビットや 0ビットであることもあるので、実質的には、画像の符号化を行う場合に、おおよそ 2回 程度量子化係数にアクセスするだけで画像を符号ィ匕することができる。また、画像を 復号する場合、量子化係数には 1度だけアクセスすればよいので、より簡単により高 速に画像を復号することができる。
[0474] 画像符号ィ匕装置 111または画像復号装置 211においては、サブバンドの量子化係 数をラスタスキャン順に符号ィ匕または復号するので、量子化係数をバッファリングする 必要がなぐ符号ィ匕または復号による遅延を低減することができる。
[0475] さらに、実際に横 1920画素 X縦 1080画素の YUV4: 2 : 2形式の画像を、 SIMD演算命 令を利用して (但し、 w=4)実際に符号ィ匕および復号したところ、次のような結果が得 られた。なお、符号化を行う場合、画像をウェーブレット変換して 5段階のサブバンド 分解を行い、さらに、各サブバンドのウェーブレット係数を量子化して得られた量子化 係数を符号化した。また、符号ィ匕および復号に必要な機能ブロック (例えば、図 33の エントロピ符号化部 123および図 27のエントロピ復号部 221)、並びに JPEG2000方式 により画像を符号ィ匕および復号する機能ブロックは、 Pentium (登録商標) 4 (インテル 株式会社の商標)と称される CPU (クロック周波数 3.0GHz)に所定のプログラムを実行 させることにより実現させた。
[0476] 従来の JPEG2000方式により 1フレーム分の画像を符号化した場合、その符号量は 2 91571バイトであり、符号ィ匕に必要とされた時間は、 0.26157秒であった。また、符号ィ匕 された画像を復号するために必要な時間は 0.24718秒であった。 [0477] これに対して、図 33のエントロピ符号ィ匕部 123により、 1フレーム分の画像を符号化し た場合、その符号量は 343840バイトであり、符号ィ匕に必要とされた時間は、 0.03453 秒であった。また、符号化された画像を、図 27のエントロピ復号部 221により復号する ために必要な時間は 0.02750秒であった。
[0478] 動画像においては、多くの場合、 1秒間に 30フレーム表示されるので、 1フレーム当 たり 0.033 ( = 1/30)秒で符号ィ匕または復号することができれば、画像をリアルタイムに 処理することができる。 JPEG2000方式では、符号化に必要な時間は 0.26157秒であり 、復号に必要な時間は 0.24718秒であるので、画像をリアルタイムに処理することは困 難であるが、図 33のエントロピ符号ィ匕部 123により画像を符号ィ匕させる場合には、符 号ィ匕に必要な時間は 0.03453秒であり、ほぼリアルタイムに画像を処理することができ る。また、図 27のエントロピ復号部 221により画像を復号する場合、復号に必要な時間 は 0.02750秒であるので、十分にリアルタイムで処理を行うことができる。
[0479] 以上にぉ ヽては、画像データを符号化する例、または、画像データが符号化された 符号ィ匕データを復号する例について説明したが、画像データに限らず、例えば、音 声データなどを符号化する場合や、音声データ等が符号化された符号化データを復 号する場合にも適用することが可能である。例えば、音声データを符号化する場合、 音声データとして入力された符号により表わされる w個の所定の数値の最大有効桁 数を示す符号、それらの数値の絶対値を示す符号、およびそれらの数値のサインを 示す符号が符号化された音声データとして出力される。
[0480] また本実施の形態の特徴にっ 、てさらに付言すると、本実施の形態にぉ 、て説明 した符号ィ匕方式では、量子化係数が可逆符号化される。そのため、例えば、人間の 視覚特性に合わせて高域の係数ほど大きな量子化ステップサイズで量子化されるよ うにすることにより、発生符号量あたりの画質を大きく向上させることが出来る。また、 例えば、特定の空間範囲で用いる量子化ステップサイズを小さくするようにすることに より、その空間範囲の画質を向上させることもできる。
[0481] さらに、本実施の形態において説明した符号化方式では、絶対値の有効桁部分を 並べたものが符号される。仮に、絶対値の有効桁部分が VLC符号化されて送出され るようにすると、絶対値の有効桁数力その場合には、 2~(N*W)個のエントリを持つ非常 に大きな VLCテーブルが必要になる(演算処理の負荷や処理時間だけでなぐ VLC テーブルを保持するのに必要なメモリの容量も増大する)。これに対して、本実施の 形態において説明した符号ィ匕方式においてはこのような大きなテーブルを使う必要 がない(演算処理の負荷や処理時間だけでなぐメモリの容量を低減させることがで きる)。
[0482] また、 VLCよりも圧縮率が高い算術符号を使うことも考えられる力 例えば JPEG200 0のような算術符号ィ匕を用いた圧縮方式を用いた場合でも、本実施の形態において 説明した符号ィ匕方式の場合と比べて、圧縮率が大きく向上することはない。つまり、 本実施の形態において説明した符号ィ匕方式は、符号ィ匕処理が容易でありながら圧 縮率が高い。
[0483] 本実施の形態において説明した符号ィヒ方式は、 w個組の係数における絶対値の最 大有効桁数を符号化するので、隣同士の係数の有効桁数が似ていることを利用して 発生符号量を低減させることができる。
[0484] また、本実施の形態にお!、て説明した符号化方式は、 w個組の係数における絶対 値の最大有効桁数を符号ィ匕するときに差分符号ィ匕を行うので、この点でも隣同士の 係数の有効桁数が似ていることを利用して発生符号量を低減させることができる。
[0485] 以上に説明した実施の第 6の形態のエントロピ符号ィ匕部 123によるエントロピ符号ィ匕 処理、およびエントロピ復号部 221によるエントロピ復号処理は、上述した実施の第 1 の形態乃至第 5の形態のそれぞれに適用することができ、画像符号化処理や画像復 号処理全体の遅延時間、消費電力、および処理に必要なバッファメモリ量等をさらに 低減させることができる。例えば、エントロピ符号ィ匕部 123を図 1の画像符号ィ匕装置 1 のエントロピ符号ィ匕部 15として適用してもよい(つまり、エントロピ符号ィ匕部 15力 ェン トロピ符号ィ匕部 123と同様にエントロピ符号ィ匕処理を実行するようにすることができる) 。また、例えば、エントロピ復号部 221を図 9の画像復号装置 20のエントロピ復号部 21 として適用してもよい(つまり、エントロピ復号部 21が、エントロピ復号部 221と同様にェ ントロピ復号処理を実行するようにすることができる)。
[0486] つまり、実施の第 6の形態のエントロピ符号ィ匕処理は、上述した実施の第 1の形態乃 至第 5の形態のそれぞれに適用することにより、各実施の形態のウェーブレット変換 部からの係数の出力順の特徴 (つまり連続する係数の有効桁数が似て 、ること)を生 力して発生符合量を低減させることができる。また、係数の並び替えを行う場合であ つても、ウェーブレット変換部がラインブロック単位でウェーブレット変換を行うので、 連続する係数の有効桁数が似ているという特徴には大きな影響を与えることがなぐ エントロピ符号ィ匕処理の発生符号量は大きく変化しない。
[0487] 以上のように、実施の第 6の形態のエントロピ符号ィ匕処理は、上述した実施の第 1の 形態乃至第 5の形態において説明したウェーブレット変換処理と、処理される係数デ ータの特徴や期待される効果が似ており、互いに親和性が高い。従って、上述した 実施の第 1の形態乃至第 5の形態において説明したウェーブレット変換処理に対して 、他の符号化方式を適用する場合よりも、本実施の形態のエントロピ符号化処理を適 用する場合の方が、画像符号ィ匕処理全体においてより大きな効果を得ることを期待 することができる。
[0488] 次に、発明の実施の第 7の形態について説明する。この実施の第 7の形態は、上述 した各実施の形態による画像符号ィ匕装置および画像復号装置を、ディジタルトライア ックスシステムに適用した例である。
[0489] トライアッタスシステムは、テレビジョン放送局や制作スタジオなどにお!、て、スタジ ォ収録や中継などの際に、ビデオカメラと、カメラコントロールユニットやスィッチャとを 接続する 1本の同軸ケーブルで、映像信号、音声信号、送り返し (リターン)の映像信 号、同期信号など複数の信号を重畳させて送信すると共に、電源の供給も行うように したシステムである。
[0490] 従来のトライアッタスシステムは、アナログ信号を用いて上述の各信号の伝送を行う ようにした例が大部分であった。し力しながら、近年では、システム全体のディジタル ィ匕に伴 、、放送局内などで用いるトライアッタスシステムのディジタルィ匕が進んで 、る
[0491] 既存のディジタルトライアッタスシステムでは、トライアッタスケーブルを介して伝送さ れるディジタルビデオ信号は、非圧縮のビデオ信号であった。これは、特に放送局な どにおいては信号の遅延時間に対する要求スペックが厳しぐ基本的に、撮像から 例えばモニタ出力までの遅延時間カ^フィールド(16.67msec)以内であることが要求 されるためである。高圧縮率および高画質を実現した MPEG2(Moving Pictures Exper ts Group 2)や MPEG4といった圧縮符号化方式は、ビデオ信号の圧縮符号化や圧縮 ビデオ信号の復号に際して数フレーム分の時間を要し、遅延時間が大きいため、トラ ィアッタスシステムに採用されることはな力つた。
[0492] この発明による画像符号化および画像復号方法は、上述したように、画像データの 入力から出力画像が得られるまでの遅延時間が 1フィールド時間以内、例えば数ライ ン乃至数十ラインと極めて短ぐディジタルトライアッタスシステムに対して用いて好適 なものである。
[0493] 図 37は、この発明による画像符号ィ匕および画像復号方法を適用可能な、ディジタ ルトライアッタスシステムの一例の構成を示す。送信ユニット 500とカメラ制御部 502と 力 Sトライアッタスケーブル(同軸ケーブル) 501を介して接続される。送信ユニット 500か らカメラ制御部 502に対する、実際に放映されたり素材として用 ヽられたりするデイジ タルビデオ信号およびディジタルオーディオ信号 (以下、本線信号と呼ぶ)の送出、 カメラ制御部 502からビデオカメラ部 503に対する、インカム用のオーディオ信号およ びリターン用のディジタルビデオ信号の送出力 トライアッタスケーブル 501を介して 行われる。
[0494] 送信ユニット 500は、例えば図示されないビデオカメラ装置に内蔵される。これに限 らず、送信ユニット 500がビデオカメラ装置に対する外部装置として、ビデオカメラ装 置と所定に接続されて用いられるものとしてもよい。また、カメラ制御部 502は、例えば 一般的に CCU(Camera Control Unit)と呼ばれる装置である。
[0495] なお、ディジタルオーディオ信号については、この発明の主旨と関わりが少ないの で、繁雑さを避けるための説明を省略する。
[0496] ビデオカメラ部 503は、例えば図示されな ヽビデオカメラ装置内に構成され、レンズ 、フォーカス機構、ズーム機構、アイリス調整機構などを有する光学系 550を介して入 射された被写体からの光を、 CCD(Charge Coupled Device)などからなる図示されな い撮像素子で受光する。撮像素子は、受光された光を光電変換で電気信号に変換 し、さらに所定の信号処理を施してベースバンドのディジタルビデオ信号を出力する 。このディジタルビデオ信号は、例えば HD- SDI(High Definition-Serial Data Interface )のフォーマットにマッピングして出力される。
[0497] また、ビデオカメラ部 503は、モニタ用に用いられる表示部 551と、外部と音声による やりとりを行うためのインカム 552が接続される。
[0498] 送信ユニット 500は、ビデオ信号符号化部 510およびビデオ信号復号部 511、デイジ タル変調部 512およびディジタル復調部 513、アンプ 514およびアンプ 515、並びに、ビ デォ分離 Z合成部 516を有する。
[0499] 送信ユニット 500において、ビデオカメラ部 503から、例えば HD-SDIのフォーマットに マッピングされたベースバンドのディジタルビデオ信号が供給される。このディジタル ビデオ信号は、ビデオ信号符号ィ匕部 510で圧縮符号化され、符号化ストリームとされ てディジタル変調部 512に供給される。ディジタル変調部 512は、供給された符号化ス トリームを、トライアッタスケーブル 501を介した伝送に適した形式の信号に変調して出 力する。ディジタル変調部 512から出力された信号は、アンプ 514を介してビデオ分離 Z合成部 516に供給される。ビデオ分離 Z合成部 516は、供給された信号をトライアツ タスケーブル 501に送出する。この信号は、トライアッタスケーブル 501を介してカメラ 制御部 502に受信される。
[0500] カメラ制御部 502から出力された信号力 トライアッタスケーブル 501を介して送信ュ ニット 500に受信される。受信された信号は、ビデオ分離 Z合成部 516に供給され、デ イジタルビデオ信号の部分とその他の信号の部分とが分離される。受信信号のうちデ イジタルビデオ信号の部分は、アンプ 515を介してディジタル復調部 513に供給され、 カメラ制御部 502側でトライアッタスケーブル 501を介した伝送に適した形式の信号に 変調された信号を復調し、符号化ストリームを復元する。
[0501] 符号化ストリームは、ビデオ信号復号部 511に供給され、圧縮符号を復号され、ベ ースバンドのディジタルビデオ信号とされる。この復号されたディジタルビデオ信号は 、 HD-SDIのフォーマットにマッピングされて出力され、リターン用のディジタルビデオ 信号としてビデオカメラ部 503に供給される。このリターン用のディジタルビデオ信号 は、ビデオカメラ部 503に接続される表示部 551に供給され、撮影者のためのモニタな どに利用される。
[0502] カメラ制御部 502は、ビデオ分離 Z合成部 520、アンプ 521およびアンプ 522、フロン トエンド部 523、ディジタル復調部 524およびディジタル変調部 525、並びに、ビデオ信 号復号部 526およびビデオ信号符号化部 527を有する。
[0503] 送信ユニット 500から出力された信号力 トライアッタスケーブル 501を介してカメラ制 御部 502に受信される。受信された信号は、ビデオ分離 Z合成部 520に供給される。 ビデオ分離 Z合成部 520は、供給された信号を、アンプ 521およびフロントエンド部 52 3を介してディジタル復調部 524に供給する。なお、フロントエンド部 523は、入力信号 のゲインを調整するゲイン制御部や、入力信号に対して所定のフィルタ処理を施すフ ィルタ部などを有する。
[0504] ディジタル復調部 524は、送信ユニット 500側でトライアッタスケーブル 501を介した伝 送に適した形式の信号に変調された信号を復調し、符号化ストリームを復元する。こ の符号化ストリームは、ビデオ信号復号部 526に供給され、圧縮符号を復号され、ベ ースバンドのディジタルビデオ信号にとされる。この復号されたディジタルビデオ信号 は、 HD-SDIのフォーマットにマッピングされて出力され、本線信号として外部に出力 される。
[0505] 外部からカメラ制御部 502に対して、リターン用のディジタルビデオ信号と、ディジタ ルオーディォ信号とが供給される。ディジタルオーディオ信号は、例えば、撮影者の インカム 552に供給され、外部から撮影者に対する音声による指示を伝達するのに用 いられる。
[0506] リターン用のディジタルビデオ信号は、ビデオ信号符号化部 527に供給されて圧縮 符号化され、ディジタル変調部 525に供給される。ディジタル変調部 525は、供給され た符号化ストリームを、トライアッタスケーブル 501を介した伝送に適した形式の信号 に変調して出力する。ディジタル変調部 525から出力された信号は、フロントエンド部 523およびアンプ 522を介してビデオ分離 Z合成部 520に供給される、ビデオ分離 Z 合成部 520は、この信号を他の信号と多重化し、トライアッタスケーブル 501に送出す る。この信号は、トライアッタスケーブル 501を介してビデオカメラ部 503に受信される。
[0507] この発明の実施の第 7の形態では、上述したビデオ信号符号化部 510およびビデオ 信号符号化部 527、並びに、ビデオ信号復号部 511およびビデオ信号復号部 526〖こ 対して、上述した各実施の形態で説明した画像符号化装置および画像復号装置を それぞれ適用する。
[0508] 特に、画像符号化装置および画像復号装置における各要素の処理を並列的に行 うようにした、発明の実施の第 2の形態は、ビデオカメラ部 503で撮影された映像が力 メラ制御部 502から出力される際の遅延や、外部から供給されカメラ制御部 502からビ デォカメラ部 503に送信されるリターン用のディジタルビデオ信号の遅延を低く抑える ことができ、この発明の実施の第 7の形態に用いて好適である。
[0509] また、図 37に例示したシステムの場合、送信ユニット 500およびカメラ制御部 502のそ れぞれにおいて、信号処理能力やメモリ容量を、適宜、設定することができると考えら れるので、係数データの並び替え処理を行う位置は、送信ユニット 500側およびカメラ 制御部 502側の何れであってもよいし、エントロピ符号ィ匕を行う位置も同様に、並び替 え処理の前後の何れであってもよ 、。
[0510] すなわち、送信ユニット 500側にぉ 、て、ビデオ信号符号ィ匕部 510は、供給されたデ イジタルビデオ信号に対して、この発明による方法に従 、ウェーブレット変換および エントロピ符号化を施し、符号化ストリームを出力する。上述したように、ビデオ信号 符号化部 510は、ウェーブレット変換に用いるフィルタのタップ数およびウェーブレット 変換の分解レベル数に応じたライン数が入力されると、ウェーブレット変換を開始す る。そして、図 5、図 6および図 11などを用いて説明したように、画像符号化装置およ び画像復号装置において、各要素に必要な係数データが蓄積されると、順次、各要 素による処理が行われる。 1フレームまたは 1フィールドの下端のラインまで処理が終 了したら、次の 1フレームまたは 1フィールドの処理が開始される。
[0511] カメラ制御部 502側力も送信ユニット 500側に、リターン用のディジタルビデオ信号を 送信する場合も、同様である。すなわち、カメラ制御部 502側において、ビデオ信号 符号ィ匕部 527は、外部力も供給されたリターン用のディジタルビデオ信号に対して、こ の発明による方法に従 、ウェーブレット変換およびエントロピ符号ィ匕を施し、符号ィ匕 ストリームを出力する。
[0512] ここで、リターン用のディジタルビデオ信号は、本線信号のディジタルビデオ信号よ りも画質が低くても構わないとされている場合が多い。そこで、ビデオ信号符号化部 5 27において、符号ィ匕時のビットレートを下げるようにするとよい。例えば、ビデオ信号 符号ィ匕部 527において、レート制御部 14により、エントロピ符号ィ匕部 15でのエントロピ 符号ィ匕処理をより低ビットレートになるまで行うように制御する。また例えば、カメラ制 御部 502側では、ビデオ信号符号化部 527にお ヽてウェーブレット変換部 10でより高 い分解レベルまで変換処理を行い、送信ユニット 500側では、ビデオ信号復号部 511 のウェーブレット逆変換部 23におけるウェーブレット逆変換を、より低い分解レベルま でに止める方法も考えられる。カメラ制御部 502側のビデオ信号符号ィ匕部 527におけ る処理は、この例に限らず、ウェーブレット変換における分解レベルをより低く抑えて 変換処理による負担を軽減することも考えられる。
[0513] 次に、この発明の実施の第 8の形態について説明する。この発明の実施の第 8の形 態では、この発明による画像符号化装置で符号化された符号化データの画像復号 装置側への伝送を、無線通信を用いて行うようにしている。図 38は、この発明の実施 の第 8の形態による無線伝送システムの一例の構成を示す。なお、この図 38の例では 、ビデオ信号はビデオカメラまたは送信ユニット 600 (以下、送信ユニット 600と略称す る)側から受信装置 601側に、一方向的に送信される。オーディオ信号およびその他 の信号は、送信ユニット 600と受信装置 601との間で双方向の通信が可能である。
[0514] 送信ユニット 600は、例えばビデオカメラ部 602を有する図示されな 、ビデオカメラ装 置に内蔵される。これに限らず、送信ユニット 600がビデオカメラ部 602を有するビデオ カメラ装置に対する外部装置として、ビデオカメラ装置と所定に接続されて用いられ るちのとしてちょい。
[0515] ビデオカメラ部 602は、例えば所定の光学系と、例えば CCDからなる撮像素子と、撮 像素子カゝら出力された信号をディジタルビデオ信号として出力する信号処理部とを 有する。ビデオカメラ部 602から、例えば HD-SDIのフォーマットにマッピングされてデ イジタルビデオ信号が出力される。これはこの例に限らず、ビデオカメラ部 602から出 力されるディジタルビデオ信号は、他のフォーマットでもよ 、。
[0516] 送信ユニット 600は、ビデオ信号符号化部 610、ディジタル変調部 611および無線モ ジュール部 612を有する。送信ユニット 600において、ビデオカメラ部 602から、ベース バンドのディジタルビデオ信号が例えば HD-SDIのフォーマットにマッピングされて出 力される。このディジタルビデオ信号は、ビデオ信号符号ィ匕部 610でこの発明に係る 圧縮符号ィ匕方法により、ウェーブレット変換およびエントロピ符号ィ匕により圧縮符号ィ匕 され、符号化ストリームとされてディジタル変調部 611に供給される。ディジタル変調部 611は、供給された符号化ストリームを、無線通信を行うために適した形式の信号に ディジタル変調して出力する。
[0517] また、ディジタル変調部 611には、ディジタルオーディオ信号やその他の信号、例え ば所定のコマンドやデータも供給される。例えば、ビデオカメラ部 602は、マイクロホン を有し、集音された音声を音声信号に変換し、さらに当該音声信号を A/D変換して ディジタルオーディオ信号として出力する。また、ビデオカメラ部 602は、所定のコマン ドゃデータを出力できるようになつている。コマンドやデータは、ビデオカメラ部 602の 内部で発生するようにしても良いし、ビデオカメラ部 602に操作部を設け、当該操作部 に対するユーザの操作に応じてコマンドやデータを生成するようにしてもょ ヽ。ビデオ カメラ部 602に対してコマンドやデータを入力する入力装置を接続するようにしてもよ い。
[0518] ディジタル変調部 611は、これらディジタルオーディオ信号やその他の信号をデイジ タル変調し、出力する。ディジタル変調部 611から出力されたディジタル変調信号は、 無線モジュール部 612に供給されアンテナ 613から電波として無線送信される。
[0519] なお、無線モジュール部 612は、受信装置 601側からの自動再送要求 (ARQ: Auto R epeat Request)を受信すると、ディジタル変調部 611に対してこの ARQを通知し、デー タの再送を要求する。
[0520] アンテナ 613から送信された電波は、受信装置 601側のアンテナ 620で受信され、無 線モジュール部 621に供給される。無線モジュール部 621は、受信された電波に基づ くディジタル変調信号をフロントエンド部 622に供給する。フロントエンド部 622は、供 給されたディジタル変調信号に対して例えばゲイン制御といった所定の信号処理を 施して、ディジタル復調部 623に供給する。ディジタル復調部 623は、供給されたディ ジタル変調信号を復調し、符号化ストリームを復元する。
[0521] ディジタル復調部 623で復元された符号化ストリームは、ビデオ信号復号部 624に供 給され、この発明に係る復号方法により圧縮符号を復号され、ベースバンドのデイジ タルビデオ信号とされる。この復号されたディジタルビデオ信号は、例えば HD-SDIの フォーマットにマッピングされて出力される。
[0522] ディジタル復調部 623には、送信ユニット 600側でディジタル変調され送信された、 ディジタルオーディオ信号やその他の信号も供給される。ディジタル復調部 623は、こ れらディジタルオーディオ信号やその他の信号がディジタル変調された信号を復調 し、ディジタルオーディオ信号やその他の信号を復元して出力する。
[0523] また、フロントエンド部 622は、無線モジュール部 621から供給された受信信号に対 して所定の方法でエラー検出を行 、、例えば誤ったフレームが受信されたと 、つたェ ラーが検出されると、 ARQを出力する。 ARQは、無線モジュール部 621に供給され、 アンテナ 620から送信される。
[0524] このような構成にぉ 、て、送信ユニット 600を例えばビデオカメラ部 602を有する比較 的小型のビデオカメラ装置に内蔵させ、受信装置 601にはモニタ装置を接続し、ビデ ォ信号復号部 624から出力されたディジタルビデオ信号をモニタ装置に供給する。受 信装置 601に対して、送信ユニット 600の内蔵されたビデオカメラ装置が無線モジユー ル部 612から送信される電波の到達範囲内にあれば、ビデオカメラ装置で撮影された 映像を、低遅延、例えば 1フィールドまたは 1フレーム時間以内の遅延でモニタ装置 により見ることができる。
[0525] なお、図 38では、送信ユニット 600と受信装置 601との間の通信を、無線通信を用い て行い、ビデオ信号を、無線通信を介して伝送するようにしている力 これはこの例に 限定されない。例えば、送信ユニット 600と受信装置 601は、インターネットなどのネット ワークを介して接続するようにしてもよい。この場合、送信ユニット 600側の無線モジュ ール部 612および受信装置 601側の無線モジュール部 621は、それぞれ IP(Internet P rotocol)を用いた通信が可能な通信インタフェースとされる。
[0526] この実施の第 8の形態によるシステムは、様々な応用が考えられる。例えば、この実 施の第 8の形態によるシステムは、テレビジョン会議システムに応用することができる。 例えば、 USB(Universal Serial Bus)接続が可能な簡易的なビデオカメラ装置をパーソ ナルコンピュータといったコンピュータ装置に接続すると共に、コンピュータ装置側に ビデオ信号符号化部 610およびビデオ信号復号部 624を搭載する。コンピュータ装置 に搭載されるビデオ信号符号ィ匕部 610およびビデオ信号復号部 624は、ハードウェア で構成してもよ 、し、コンピュータ装置上で動作するソフトウェアとして実現することも 可能である。
[0527] 例えば、会議に参加するメンバそれぞれに、コンピュータ装置と当該コンピュータ装 置に接続されるビデオカメラ装置が用意され、コンピュータ装置が例えばテレビジョン 会議システムのサービスを提供するサーバ装置に、有線および Zまたは無線による ネットワークを介して接続される。ビデオカメラ装置から出力されたビデオ信号は、 US Bケーブルを介してコンピュータ装置に供給され、コンピュータ装置内のビデオ信号 符号化部 610で、この発明に係る符号化処理を施される。コンピュータ装置は、ビデ ォ信号が符号化された符号化ストリームを、ネットワークを介してサーバ装置などに送 信する。
[0528] サーバ装置は、受信した符号化ストリームを、参加メンバそれぞれのコンピュータ装 置にネットワークを介して送信する。この符号化ストリームは、参加メンバそれぞれの コンピュータ装置に受信され、コンピュータ装置内のビデオ信号復号部 624でこの発 明に係る復号処理がなされる。ビデオ信号復号部 624から出力された画像データが、 コンピュータ装置の表示部に映像として表示される。
[0529] すなわち、各参カロメンバのコンピュータ装置の表示部には、他の参カロメンバのビデ ォカメラ装置で撮影されたそれぞれの映像が表示されることになる。この発明の実施 の第 8の形態によれば、ビデオカメラ装置での撮影によるビデオ信号の符号化から、 他の参加メンバのコンピュータ装置で復号されるまでの遅延時間が短ぐ参加メンバ のコンピュータ装置の表示部に表示される他の参加メンバそれぞれの映像の違和感 を少なくできる。
[0530] さらに、ビデオ信号符号ィ匕部 610をビデオカメラ装置側に搭載することも考えられる 。例えば、ビデオカメラ装置に送信ユニット 600を内蔵させる。このように構成すること で、ビデオカメラ装置にコンピュータ装置などの他の装置を接続する必要が無くなる
[0531] このような、送信ユニット 600が内蔵されたビデオカメラ装置と受信装置 601と力もな るシステムは、上述したテレビジョン会議システムの他にも、様々な応用が考えられる 。例えば、図 39に概略的に示されるように、このシステムを家庭用ゲーム機器に適用 することができる。図 39において、ビデオカメラ装置 700は、この発明の実施の第 8の 形態による送信ユニット 600が内蔵される。
[0532] 家庭用ゲーム機器の本体 701は、例えば CPU、 RAMおよび ROMや、 CD- ROM(Co mpact Disc-Read Only Memory)や DVD— ROM(Digital Versatile Disc— ROM)に対応し たディスクドライブ装置、 CPUにより生成された表示制御信号をビデオ信号に変換し て出力するグラフィック制御部、オーディオ信号を再生するオーディオ再生部などが 例えばバスで接続され、コンピュータ装置と略同様の構成とされる。家庭用ゲーム機 器の本体 701は、 ROMに予め記憶されたプログラムや、ディスクドライブ装置に装填さ れた CD- ROMや DVD- ROMに記録されたプログラムに従い、 CPUにより全体が制御 される。 RAMは、 CPUのワークメモリとして用いられる。この家庭用ゲーム機器の本体 701に対して、受信装置 601を内蔵する。受信装置 601から出力されるディジタルビデ ォ信号やその他の信号は、例えばバスを介して CPUに供給される。
[0533] このようなシステムにおいて、例えば、家庭用ゲーム機器の本体において、外部か ら供給されたディジタルビデオ信号による画像を、ゲーム内の画像として用いることが できるようにされたゲームソフトウェアが起動されているものとする。例えば、このゲー ムソフトウェアは、外部から供給されたディジタルビデオ信号による画像をゲーム内の 画像として用いることができると共に、当該画像内での人物(プレーヤ)などの動きを 識別し、識別された動きに応じた動作を行うことが可能とされている。
[0534] ビデオカメラ装置 700は、撮影されたディジタルビデオ信号を、内蔵される送信ュ- ット 600にお 、て、ビデオ信号符号ィ匕部 610でこの発明に係る符号化方法で符号化し 、符号化ストリームをディジタル変調部 611で変調して無線モジュール部 612に供給し 、アンテナ 613から送信する。送信された電波は、家庭用ゲーム機器の本体 701に内 蔵される受信装置 601にお 、てアンテナ 620で受信され、受信信号が無線モジュール 部 621およびフロントエンド部 622を介してディジタル復調部 623に供給される。受信信 号は、ディジタル復調部 623で復調された符号化ストリームとされ、ビデオ信号復号部 624に供給される。ビデオ信号復号部 624では、供給された符号化ストリームを、この 発明に係る復号方法で復号し、ベースバンドのディジタルビデオ信号を出力する。
[0535] ビデオ信号復号部 624から出力されたベースバンドのディジタルビデオ信号は、家 庭用ゲーム機器の本体 701において、バスに送出され、例えば RAMに一時的に記憶 される。 CPUは、所定のプログラムに従い、 RAMに記憶されたディジタルビデオ信号 を読み出すことで、このディジタルビデオ信号による画像内の人物の動きを検出した り、当該画像をゲーム内で用いたりすることができるようにされる。
[0536] ビデオカメラ装置 700で撮影され、得られたディジタルビデオ信号が符号ィ匕されてか ら、家庭用ゲーム機器の本体 701で符号化ストリームが復号され画像が得られるまで の遅延時間が短いので、家庭用ゲーム機器の本体 701上で動作するゲームソフトゥ エアにおける、プレーヤの動きに対する応答性が良くなり、ゲームの操作性を向上さ せることができる。
[0537] なお、このような、家庭用ゲーム機器と共に用いられるビデオカメラ装置 700は、価 格や大きさなどの面力 みても簡易な構成とされることが多ぐコンピュータ装置など のように、処理能力の高い CPUや、記憶容量の大きなメモリを搭載できないことが想 定される。
[0538] つまり、一般的に、ビデオカメラ装置 700は、ビデオカメラ装置 700を利用するゲーム をプレイする場合にのみ必要になる、家庭用ゲーム機器の本体 701の周辺機器であ り、家庭用ゲーム機器の本体 701を用 、てゲームをプレイするのに必要な装置ではな い。そのような場合、ビデオカメラ装置 700が家庭用ゲーム機器の本体 701と別商品と して販売される(所謂、別売り)ことが多い。その場合に、ビデオカメラ装置 700に、処 理能力の高!、CPUや記憶容量の大きなメモリを搭載し、高額な価格で販売するよう にすると、一般的に販売数が低減する恐れがある。その場合、このビデオカメラ装置 7 00を利用するゲームの販売数も低減する恐れがあり、収益の低下につながる恐れが ある。また、特に、家庭用ゲームにおいては普及率が販売数に対して強い影響を与 えることも多く、ビデオカメラ装置 700の普及率が低いと、さらに販売数が低減する恐 れがある。
[0539] 逆に、ビデオカメラ装置 700を安価で多数販売して普及率を向上させることにより、 このビデオカメラ装置 700を利用する家庭用ゲームの販売数や人気度を向上させるこ とができ、さらに、そのことが家庭用ゲーム機器の本体 701のさらなる購買動機に繋が ることを期待することができる。そのためにも、ビデオカメラ装置 700は、簡易な構成と することが望ま U、場合が多 、。
[0540] この場合、例えば、ビデオカメラ装置 700に内蔵される送信ユニット 600のビデオ信 号符号ィ匕部 610において、ウェーブレット変換を低い分解レベルで抑えて行うことが 考えられる。こうすることで、係数並び替え用バッファ部に用いるメモリ容量が少なくて 済む。
[0541] また、ビデオ信号符号ィ匕部 610に、実施の第 3の形態で説明した、図 12に例示され る画像符号化装置の構成を適用することが考えられる。さらに、ビデオ信号符号化部 610に、実施の第 4の形態で説明した、図 15に例示される画像符号化装置の構成を 適用すると、ビデオ信号符号ィ匕部 610側でウェーブレット変換係数データの並び替え 処理を行う必要が無くなるため、ビデオカメラ装置 700側の負担をより減らすことが可 能となり、好ましい。この場合、家庭用ゲーム機器の本体 701側に内蔵される受信装 置 601において、ビデオ信号復号部 624として、実施の第 4の形態で説明した、図 16に 例示される画像復号装置を用いる必要がある。
[0542] なお、上述では、ビデオカメラ装置 700と家庭用ゲーム機器の本体 701とは、無線通 信で接続されるように説明したが、これはこの例に限られない。すなわち、ビデオカメ ラ装置 700と家庭用ゲーム機器の本体 701とは、 USBや IEEE1394といったインタフエ一 スにより、有線で接続されていてもよい。
[0543] 以上のように、本発明は、多様な形態に適用することができ、容易に多様な用途に 応用することができる (すなわち汎用性が高い)ことも大きな効果である。
[0544] 上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアに より実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そ のソフトウェアを構成するプログラム力 専用のハードウェアに組み込まれているコン ピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行す ることが可能な、例えば汎用のパーソナルコンピュータ、または、複数の装置よりなる 情報処理システムの情報処理装置などに、プログラム記録媒体からインストールされ る。
[0545] 図 40は、上述した一連の処理をプログラムにより実行する情報処理システムの構成 の例を示すブロック図である。 [0546] 図 40に示されるように、情報処理システム 800は、情報処理装置 801、その情報処理 装置 801と PCレ ス 802によって接続された、記憶装置 803、複数台のビデオテープレ コーダ(VTR)である VTR804-1乃至 VTR804-S、ユーザがこれらに対する操作入力を 行うためのマウス 805、キーボード 806、並びに操作コントローラ 807により構成されるシ ステムであり、インストールされたプログラムによって、上述したような画像符号化処理 や画像復号処理等を行うシステムである。
[0547] 例えば情報処理システム 800の情報処理装置 801は、 RAID (Redundant Arrays of In dependent Disks)でなる大容量の記憶装置 803に記憶されて!、る動画コンテンツを符 号化して得られた符号化データを記憶装置 803に記憶させたり、記憶装置 803に記憶 されて 、る符号化データを復号して得られた復号画像データ (動画コンテンツ)を記 憶装置 803に記憶させたり、符号ィ匕データゃ復号画像データを VTR804-1乃至 VTR8 04-Sを介してビデオテープに記録したりすることができる。また、情報処理装置 801は 、 VTR804-1乃至 VTR804-Sに装着されたビデオテープに記録された動画コンテンツ を記憶装置 803に取り込み得るようにもなされている。その際、情報処理装置 801が、 動画コンテンツを符号ィ匕するようにしてもよい。
[0548] 情報処理装置 801は、マイクロプロセッサ 901、 GPU (Graphics Processing Unit) 902 、 XDR (Extreme Data Rate) - RAM903、サウスブリッジ 904、 HDD905、 USBインタフエ ース(USB I/F) 906、およびサウンド入出カコーデック 907を有している。
[0549] GPU902は専用のバス 911を介してマイクロプロセッサ 901に接続される。 XDR- RAM 903は専用のバス 912を介してマイクロプロセッサ 901に接続される。サウスブリッジ 904 は、専用のバスを介してマイクロプロセッサ 901の I/Oコントローラ 944に接続される。こ のサウスブリッジ 904には、 HDD905、 USBインタフェース 906、および、サウンド入出力 コーデック 907も接続されている。このサウンド入出カコーデック 907にはスピーカ 921 が接続されている。また、 GPU902にはディスプレイ 922が接続されている。
[0550] またサウスブリッジ 904には、さらに、 PCIバス 802を介して、マウス 805キーボード 806 、 VTR804-1乃至 VTR804-S、記憶装置 803、並びに、操作コントローラ 807が接続され ている。
[0551] マウス 805およびキーボード 806は、ユーザの操作入力を受け、 PCIバス 802および サウスブリッジ 904を介して、ユーザの操作入力の内容を示す信号を、マイクロプロセ ッサ 901に供給する。記憶装置 803および VTR804-1乃至 VTR804-Sは、所定のデー タを記録または再生できるようになされて 、る。
[0552] P バス 802にはさらに、必要に応じてドライブ 808が接続され、磁気ディスク、光ディ スク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア 811が適宜装 着され、それら力も読み出されたコンピュータプログラム力 必要に応じて HDD905に インストールされる。
[0553] マイクロプロセッサ 901は、 OS (Operating System)等の基本プログラムを実行する汎 用のメイン CPUコア 941と、メイン CPUコア 941に内部バス 945を介して接続された複数 (この場合 8個)の RISC (Reduced Instruction Set Computer)タイプの信号処理プロセ ッサである、サブ CPUコア 942-1乃至サブ CPUコア 942-8と、例えば 256[MByte]の容 量を持つ XDR-RAM903に対するメモリコントロールを行うメモリコントローラ 943と、サゥ スブリッジ 904との間でデータの入出力を管理する I/O (In/Out)コントローラ 944とが 1 チップに集積されたマルチコア構成でなり、例えば動作周波数 4[GHz]を実現して ヽ る。
[0554] このマイクロプロセッサ 901は、起動時、 HDD905に格納された制御プログラムに基 づき、 HDD905に格納されている必要なアプリケーションプログラムを読み出して XDR - RAM903に展開し、この後このアプリケーションプログラム及びオペレータ操作に基 づ 、て必要な制御処理を実行する。
[0555] また、マイクロプロセッサ 901は、ソフトウェアを実行することにより、例えば、上述した 各実施の形態の画像符号化処理や画像復号処理を実現し、エンコードの結果得ら れた符号化ストリームを、サウスブリッジ 904を介して、 HDD905に供給して記憶させた り、デコードした結果得られる動画像コンテンツの再生映像を、 GPU902へデータ転 送して、ディスプレイ 922に表示させたりすることができる。
[0556] マイクロプロセッサ 901内の各 CPUコアの使用方法は任意である力 例えば、メイン CPUコア 941が、画像符号化処理や画像復号処理の制御に関する処理を行い、 8個 のサブ CPUコア 942-1乃至サブ CPUコア 942-8に、ウェーブレット変換、係数並び替え 、エントロピ符号化、エントロピ復号、ウェーブレット逆変換、量子化、および逆量子化 等の各処理を、例えば図 11を参照して説明したように同時並列的に実行させるように してもよい。その際、メイン CPUコア 941が、 8個のサブ CPUコア 942-1乃至サブ CPUコ ァ 942-8のそれぞれに対してラインブロック (プレシンクト)単位で処理を割り振るように すれば、画像符号化処理や画像復号処理が、図 11を参照して説明した場合と同様 にラインブロック単位で同時並列的に実行される。つまり、画像符号化処理や画像復 号処理の効率を向上させ、処理全体の遅延時間を短縮させ、さらに、負荷、処理時 間、および、処理に必要なメモリ容量を低減させることができる。もちろん、これ以外 の方法で各処理を行うようにしてもょ 、。
[0557] 例えば、マイクロプロセッサ 901の 8個のサブ CPUコア 942乃至サブ CPUコア 942-8の うちの一部がエンコード処理を、他の部分がデコード処理を、同時並列的に実行する ようにすることも可會である。
[0558] また、例えば、 PCIバス 802に、独立したエンコーダまたはデコーダ、もしくは、コーデ ック処理装置が接続されて 、る場合、マイクロプロセッサ 901の 8個のサブ CPUコア 94 2乃至サブ CPUコア 942- 8が、サウスブリッジ 904および PCIバス 802を介して、これらの 装置が実行する処理を制御するようにしてもよい。さらに、これらの装置が複数接続さ れている場合、または、これらの装置が複数のデコーダまたはエンコーダを含んでい る場合、マイクロプロセッサ 901の 8個のサブ CPUコア 942乃至サブ CPUコア 942-8は、 複数のデコーダまたはエンコーダが実行する処理を、分担して制御するようにしても よい。
[0559] このときメイン CPUコア 941は、 8個のサブ CPUコア 942乃至サブ CPUコア 942- 8の動 作を管理し、各サブ CPUコアに対して処理を割り当てたり、処理結果を引き取ったり する。さらに、メイン CPUコア 941は、これらのサブ CPUコアが行う以外の処理も行う。 例えば、メイン CPUコア 941は、サウスブリッジ 904を介してマウス 805、キーボード 806、 または、操作コントローラ 807から供給された命令を受け付け、命令に応じた種々の処 理を実行する。
[0560] GPU902は、ディスプレイ 922に表示する動画コンテンツの再生映像を動かすときの テクスチャの張り込みなどに関する最終的なレンダリング処理にカ卩えて、動画コンテ ンッの再生映像及び静止画コンテンツの静止画像をディスプレイ 922に一度に複数 表示するときの座標変換計算処理や、動画コンテンツの再生映像及び静止画コンテ ンッの静止画像に対する拡大 ·縮小処理等を行う機能を司り、マイクロプロセッサ 901 の処理負担を軽減させるようになされて!ヽる。
[0561] GPU902は、マイクロプロセッサ 901の制御のもとに、供給された動画コンテンツの映 像データや静止画コンテンツの画像データに対して所定の信号処理を施し、その結 果得られた映像データや画像データをディスプレイ 922へ送出して、画像信号をディ スプレイ 922へ表示させる。
[0562] ところで、マイクロプロセッサ 901における 8個のサブ CPUコア 942乃至サブ CPUコア 9 42-8で同時並列的にデコードされた複数の動画コンテンツにおける再生映像は、バ ス 911を介して GPU902へデータ転送される力 このときの転送速度は、例えば、最大 30[Gbyte/sec]であり、特殊効果の施された複雑な再生映像であっても高速かつ滑ら かに表示し得るようになされて!、る。
[0563] また、マイクロプロセッサ 901は、動画コンテンツの映像データ及び音声データのう ち音声データに対して音声ミキシング処理を施し、その結果得られた編集音声デー タを、サウスブリッジ 904およびサウンド入出カコーデック 907を介して、スピーカ 921へ 送出することにより、音声信号に基づく音声をスピーカ 921から出力させることもできる
[0564] 上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構 成するプログラム力 ネットワークや記録媒体からインストールされる。
[0565] この記録媒体は、例えば、図 40に示されるように、装置本体とは別に、ユーザにプロ グラムを配信するために配布される、プログラムが記録されて ヽる磁気ディスク (フレ キシブルディスクを含む)、光ディスク(CD- ROM,DVDを含む)、光磁気ディスク(MD を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア 811により構成される だけでなぐ装置本体に予め組み込まれた状態でユーザに配信される、プログラムが 記録されている HDD905や記憶装置 803等で構成される。もちろん、記録媒体は、 RO Mやフラッシュメモリ等の半導体メモリであってもよ 、。
[0566] 以上においては、マイクロプロセッサ 901内に 8個のサブ CPUコアが構成されるように 説明したが、これに限らず、サブ CPUコアの数は任意である。また、マイクロプロセッ サ 901が、メイン CPUコアとサブ CPUコアのような複数のコアにより構成されていなくて もよぐシングルコア(1つのコア)により構成される CPUを用いるようにしてもよい。また 、マイクロプロセッサ 901の代わりに複数の CPUを用いるようにしてもよいし、複数の情 報処理装置を用いる(すなわち、本発明の処理を実行するプログラムを、互いに連携 して動作する複数の装置にぉ 、て実行する)ようにしてもよ 、。
[0567] なお、本明細書にぉ 、て、記録媒体に記録されるプログラムを記述するステップは 、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的 に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
[0568] また、本明細書にお!、て、システムとは、複数のデバイス (装置)により構成される装 置全体を表わすものである。
[0569] なお、以上において、一つの装置として説明した構成を分割し、複数の装置として 構成するようにしてもよい。逆に、以上において複数の装置として説明した構成をまと めて一つの装置として構成されるようにしてもよい。また、各装置の構成に上述した以 外の構成を付加するようにしてももちろんよい。さら〖こ、システム全体としての構成や 動作が実質的に同じであれば、ある装置の構成の一部を他の装置の構成に含めるよ うにしてもよい。
産業上の利用可能性
[0570] 以上説明したこの発明は、画像を圧縮符号化して伝送し、伝送先で圧縮符号を復 号して出力するような装置またはシステムであれば、様々なものに適用することができ る。この発明は、特に、画像の圧縮符号化から復号および出力までの遅延が短いこと が要求されるような装置またはシステムに用いて好適である。
[0571] 例えば、この発明は、ビデオカメラで撮影された映像を見ながらマジックハンドを操 作して治療行為を行うような、医用遠隔医療診断の用途に用いて好適である。また、 この発明は、放送局内などのシステムにおける、ディジタルビデオ信号の圧縮符号化 および伝送、ならびに、圧縮符号化されたディジタルビデオ信号の復号に用いて好 適である。
[0572] さらに、実況中継される映像の配信を行うシステム、教育現場において生徒と教師 との間でインタラクティブな通信を可能としたシステムなどに、この発明を適用すること ができる。
さらにまた、カメラ機能付き携帯電話端末といった、撮像機能を有するモパイル端 末で撮影された画像データの送信や、テレビジョン会議システム、監視カメラおよび 監視カメラで撮影された映像を記録するレコーダによるシステムなどに、この発明を 適用することができる。

Claims

請求の範囲
[1] 画像データを符号化する符号化装置であって、
前記画像データに対して階層的にフィルタ処理を行い、周波数帯域毎に分解され た係数データ力 なる複数のサブバンドを生成するフィルタ手段と、
前記フィルタ手段により生成された係数データを蓄積的に記憶する記憶手段と、 前記記憶手段により記憶された前記係数データを所定の順序で出力するように並 び替える係数並び替え手段と
を備える符号化装置。
[2] 前記フィルタ手段は、前記画像データを画面の上端側から下端側に向けて、ライン 単位で前記フィルタ処理を行う
請求項 1に記載の符号化装置。
[3] 前記フィルタ手段は、前記画像データに対し、少なくとも最低域成分のサブバンド の 1ライン分の係数データを生成するのに必要なライン数分の画像データであるライ ンブロック毎にフィルタ処理を行う
請求項 2に記載の符号化装置。
[4] 前記フィルタ手段は、前記フィルタ処理を、前記画像データに対応する画面の垂直 方向、および水平方向の両方に対して行う
請求項 1に記載の符号化装置。
[5] 前記フィルタ手段による前記フィルタ処理のタップ数および分解レベル数のうち少 なくとも一方は、 目標とする遅延時間に応じて決定される
請求項 1に記載の符号化装置。
[6] 前記フィルタ手段は、前記フィルタ処理により得られる低域成分のサブバンドの係 数データに対してさらに前記フィルタ処理を施す、ウェーブレットフィルタ処理を行う 請求項 1に記載の符号化装置。
[7] 前記フィルタ手段は、リフティング技術を用いて前記ウェーブレットフィルタ処理を行
5
請求項 6に記載の符号化装置。
[8] 前記フィルタ手段は、前記リフティング技術を用いて、分解レベル =X+1のフィルタ 処理を行う際、分解レベル =xのフィルタ処理で低域成分のサブバンドとして算出さ れた係数データに対して行う
請求項 6に記載の符号化装置。
[9] 前記記憶手段は、
前記フィルタ手段による前記ウェーブレットフィルタ処理の過程で生成される低域 成分のサブバンドの係数データを保持する第 1のノ ッファ手段と、
前記フィルタ手段による前記ウェーブレットフィルタ処理の過程で生成される高域 成分のサブバンドの係数データを保持する第 2のノ ッファ手段と
をさらに備える請求項 6に記載の符号化装置。
[10] 前記第 2のバッファ手段は、前記フィルタ手段により最低域成分のサブバンドの係 数データが生成されるまで、前記最低域以外の帯域の成分のサブバンドの係数デー タを保持する
請求項 9に記載の符号化装置。
[11] 前記係数並び替え手段は、前記サブバンドを低域成分力も高域成分の順に出力 するように、前記係数データの並び替えを行う
請求項 1に記載の符号化装置。
[12] 前記係数並び替え手段は、前記画像データに対し、少なくとも最低域成分のサブ バンドの 1ライン分の係数データを生成するのに必要なライン数分の画像データであ るラインブロック毎に並び替えを行う
請求項 1に記載の符号化装置。
[13] 前記係数データをエントロピ符号ィ匕するエントロピ符号ィ匕手段をさらに備える
請求項 1に記載の符号化装置。
[14] 前記エントロピ符号化手段は、前記係数並び替え手段により並び替えられた係数 データを順次、エントロピ符号化する
請求項 13に記載の符号化装置。
[15] 前記係数並び替え手段は、前記サブバンドを低域成分力も高域成分の順に出力 するように、前記係数データの並び替えを行い、
前記エントロピ符号化手段は、前記係数並び替え手段により前記係数データが並 び替えられ次第、並び替えられた係数データを低域成分から高域成分の順番にェン トロピ符号化する
請求項 14に記載の符号化装置。
[16] 前記エントロピ符号化手段は、前記フィルタ手段により生成された前記係数データ に対してエントロピ符号ィ匕を行!、、
前記記憶手段は、前記エントロピ符号化手段によりエントロピ符号化された前記係 数データを記憶する
請求項 13に記載の符号化装置。
[17] 前記記憶手段は、前記エントロピ符号化手段により最低域成分のサブバンドの係 数データがエントロピ符号化されるまで、前記最低域成分以外の帯域成分のサブバ ンドとして生成され、前記エントロピ符号化手段によりエントロピ符号化された係数デ ータを記憶しておく
請求項 16に記載の符号化装置。
[18] 前記係数並び替え手段は、前記サブバンドを低域成分から高域成分の順に出力 するように、前記記憶手段により記憶されている、前記エントロピ符号化手段によりェ ントロピ符号化された係数データの並び替えを行 ヽ、前記係数データを並び替え次 第、並び替えられた係数データを低域成分から高域成分の順番に出力する
請求項 16に記載の符号化装置。
[19] 前記エントロピ符号化手段は、同一サブバンド内の複数ラインの係数データを纏め てエントロピ符号化する
請求項 13に記載の符号化装置。
[20] 前記エントロピ符号ィ匕手段は、少なくとも最低域成分のサブバンドの 1ライン分の係 数データを生成するのに必要なライン数分の画像データに対応する係数データ群で あるラインブロックを構成するすべてのサブバンドのラインを、低域から高域の順番に 、 1次元方向に並べた係数データ列に対して符号ィ匕を行う
請求項 13に記載の符号化装置。
[21] 前記エントロピ符号化手段は、
前記フィルタ手段により生成された前記係数データを量子化する量子化手段と、 前記量子化手段により前記係数データが量子化されて得られた量子化結果の係 数を情報源符号化する情報源符号化手段と
を備える請求項 13に記載の符号化装置。
[22] 少なくとも最低域成分のサブバンドの 1ライン分の係数データを生成するのに必要 なライン数分の画像データに対応する前記係数データの集合であるラインブロック毎 の係数データが、前記エントロピ符号ィ匕手段により低域成分力 高域成分の順番に エントロピ符号ィ匕されて得られた符号ィ匕結果のデータに所定のヘッダを付加し、へッ ダとデータ本体とをパケットィ匕するパケットィ匕手段と、
前記パケット化手段により生成された前記パケットを送出する送出手段と を備え、
前記エントロピ符号化手段、前記パケット化手段、および前記送出手段は、同時並 列的に各処理を行い、
前記エントロピ符号化手段は、前記ラインブロック単位で前記係数データの前記ェ ントロピ符号ィ匕を行い、
前記パケット化手段は、前記エントロピ符号ィ匕手段によるエントロピ符号ィ匕によって 前記ラインブロック毎の符号ィ匕結果のデータが生成され次第、前記ラインブロック毎 の符号ィ匕結果のデータをパケットィ匕し、
前記送出手段は、前記パケット化手段により前記ラインブロック毎の符号化結果の データがパケット化され次第、得られたパケットを送出する
請求項 13に記載の符号化装置。
[23] 前記ヘッダには、画面内において前記ラインブロックを識別するための識別情報と 、データ本体のデータ長と、符号化情報が記録されている
請求項 22に記載の符号化装置。
[24] 前記エントロピ符号化手段は、
前記フィルタ手段により生成された前記係数データを量子化する量子化手段と、 前記量子化手段により前記係数データが量子化されて得られた量子化結果の係 数を情報源符号化する情報源符号化手段と
を備え、 前記符号化情報には、前記量子化手段による量子化の量子化ステップサイズの情 報が含まれる
請求項 23に記載の符号化装置。
[25] 前記量子化ステップサイズの情報には、すべてのサブバンド毎の量子化ステップサ ィズの情報が含まれている
請求項 24に記載の符号化装置。
[26] 画像データを符号ィ匕する符号ィ匕装置の符号ィ匕方法であって、
前記画像データに対して階層的にフィルタ処理を行い、周波数帯域毎に分解され た係数データ力 なる複数のサブバンドを生成するフィルタステップと、
前記フィルタステップの処理により生成された前記係数データを記憶部に蓄積的に 記憶させる記憶制御ステップと、
前記記憶制御ステップの処理により制御されて前記記憶部に記憶された前記係数 データを所定の順序で出力するように並び替える係数並び替えステップと
を備えることを特徴とする符号化方法。
[27] 画像データが符号化された符号ィ匕データを復号する復号装置であって、
ライン単位で供給される、前記画像データに対して階層的に第 1のフィルタ処理が なされ周波数帯域毎に分解された複数のサブバンドの係数データを記憶する記憶 手段と、
前記記憶手段により記憶されている前記係数データを所定の順序で出力するよう に並び替える係数並び替え手段と、
前記並び替え手段により並び替えられて、前記記憶手段より出力された前記係数 データに対して第 2のフィルタ処理を行い、周波数帯域に分解された複数のサブバン ドの係数データを合成して前記画像データを生成するフィルタ手段と
を備える復号装置。
[28] 前記係数並び替え手段は、前記サブバンドの低域成分力 高域成分の順に出力 するように、前記係数データの並び替えを行う
請求項 27に記載の復号装置。
[29] 前記係数並び替え手段は、前記記憶手段により記憶されている前記係数データに 対して、少なくとも最低域成分のサブバンドの 1ライン分の係数データを生成するのに 必要なライン数分の画像データに対応する前記係数データの集合であるラインプロ ック毎に並び替えを行う
請求項 27に記載の復号装置。
[30] 前記フィルタ手段は、画面の上端側力 下端側に向けてライン単位で前記第 2のフ ィルタ処理を行 ヽ前記画像データを生成する
請求項 27に記載の復号装置。
[31] 前記フィルタ手段は、前記係数データに対して、少なくとも最低域成分のサブバン ドの 1ライン分の係数データを生成するのに必要なライン数分の画像データに対応す る前記係数データの集合であるラインブロック毎に前記第 2のフィルタ処理を行う 請求項 27に記載の復号装置。
[32] 前記フィルタ手段は、リフティング技術を用いて前記第 2のフィルタ処理を行う 請求項 27に記載の復号装置。
[33] 前記符号ィ匕データをサブバンド毎にライン単位でエントロピ復号するエントロピ復号 手段をさらに備え、
前記記憶手段は、前記エントロピ復号手段によるエントロピ復号により得られた係数 データを記憶する
請求項 27に記載の復号装置。
[34] 前記エントロピ復号手段は、少なくとも最低域成分のサブバンドの 1ライン分の係数 データを生成するのに必要なライン数分の画像データに対応する係数データ群であ るラインブロックを構成するすべてのサブバンドのラインが符号ィ匕されて 1次元に並べ られた符号化データを、復号する
請求項 33に記載の復号装置。
[35] 前記エントロピ復号手段は、
前記符号化データに対して情報源復号を行う情報源復号手段と、
前記情報源復号手段による情報源復号の結果得られた係数データを逆量子化 する逆量子化手段と
を備える請求項 33に記載の復号装置。
[36] 画像データが符号化された符号化データを復号する復号装置の復号方法であつ て、
ライン単位で供給される、前記画像データに対して階層的に第 1のフィルタ処理が なされ周波数帯域毎に分解された複数のサブバンドの係数データを記憶部に記憶さ せる記憶制御ステップと、
前記記憶制御ステップの処理により制御されて前記記憶部に記憶された係数デー タを所定の順序で出力するように並び替える係数並び替えステップと、
前記並び替えステップの処理により並び替えられて前記記憶部より出力された係数 データに対して第 2のフィルタ処理を行い、周波数帯域に分解された複数のサブバン ドの係数データを合成して画像データを生成するフィルタステップと
を備える復号方法。
[37] 画像データを符号化する符号化装置と、前記画像データが符号化された符号化デ 一タを復号する復号装置を備え、前記符号化装置および前記復号装置の間で前記 符号化データを伝送する伝送システムであって、
前記符号化装置は、
前記画像データに対して階層的に第 1のフィルタ処理を行い、周波数帯域毎に分 解された係数データ力 なる複数のサブバンドを生成する第 1のフィルタ手段と、 前記第 1のフィルタ手段により生成された前記係数データを蓄積的に記憶する記 憶手段と、
前記記憶手段により記憶された前記係数データを所定の順序で出力するように並 び替える係数並び替え手段と
を備え、
前記復号装置は、
前記符号化装置より伝送路を介して伝送された、前記係数並び替え手段により並 び替えられた前記係数データに対して第 2のフィルタ処理を行ヽ、周波数帯域に分 解された複数のサブバンドの係数データを合成して画像データを生成する第 2のフィ ルタ手段と
を備える伝送システム。
PCT/JP2006/322949 2005-11-18 2006-11-17 符号化装置および方法、復号装置および方法、並びに、伝送システム WO2007058294A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2007545308A JP4900720B2 (ja) 2005-11-18 2006-11-17 符号化装置および方法、並びに、復号装置および方法
CN200680005866.5A CN101129063B (zh) 2005-11-18 2006-11-17 编码设备和方法、解码设备和方法以及传输系统
BRPI0606733-6A BRPI0606733A2 (pt) 2005-11-18 2006-11-17 dispositivo de codificação para codificar dados de imagem, método de codificação para codificar dados de imagem, dispositivo de decodificação para decodificar dados codificados onde dados de imagem foram codificados, método de decodificação para decodificar dados codificados onde dados de imagem foram codificados, e, sistema de transmissão
EP06832828A EP1838081A4 (en) 2005-11-18 2006-11-17 ENCODING DEVICE AND METHOD, DECODING DEVICE AND METHOD, AND TRANSMISSION SYSTEM
US11/814,257 US8320693B2 (en) 2005-11-18 2006-11-17 Encoding device and method, decoding device and method, and transmission system
KR1020077016423A KR101377021B1 (ko) 2005-11-18 2006-11-17 부호화 장치 및 방법, 복호 장치 및 방법, 및 전송 시스템

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2005-334243 2005-11-18
JP2005334243 2005-11-18
JP2006-007256 2006-01-16
JP2006007256 2006-01-16

Publications (2)

Publication Number Publication Date
WO2007058294A1 true WO2007058294A1 (ja) 2007-05-24
WO2007058294B1 WO2007058294B1 (ja) 2007-07-19

Family

ID=38048678

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/JP2006/322953 WO2007058296A1 (ja) 2005-11-18 2006-11-17 符号化装置および方法、復号装置および方法、並びに、伝送システム
PCT/JP2006/322949 WO2007058294A1 (ja) 2005-11-18 2006-11-17 符号化装置および方法、復号装置および方法、並びに、伝送システム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/322953 WO2007058296A1 (ja) 2005-11-18 2006-11-17 符号化装置および方法、復号装置および方法、並びに、伝送システム

Country Status (8)

Country Link
US (2) US7701365B2 (ja)
EP (2) EP1838081A4 (ja)
JP (2) JP4900720B2 (ja)
KR (2) KR101320534B1 (ja)
BR (2) BRPI0607204B1 (ja)
RU (1) RU2339997C1 (ja)
TW (2) TW200727598A (ja)
WO (2) WO2007058296A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8260068B2 (en) 2007-05-17 2012-09-04 Sony Corporation Encoding and decoding device and associated methodology for obtaining a decoded image with low delay
US8422553B2 (en) 2007-05-17 2013-04-16 Sony Corporation Information processing device and method
WO2013128526A1 (ja) * 2012-02-28 2013-09-06 パナソニック株式会社 画像処理装置、及び、画像処理方法
RU2493651C2 (ru) * 2008-07-11 2013-09-20 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Способ кодирования символа, способ декодирования символа, способ передачи символа от передатчика к приемнику, кодер, декодер и система для передачи символа от передатчика к приемнику
CN106547829A (zh) * 2016-10-10 2017-03-29 福建省够兄弟科技有限公司 一种体育运动数据的处理方法与系统

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7966309B2 (en) * 2007-01-17 2011-06-21 Google Inc. Providing relevance-ordered categories of information
TW200833115A (en) * 2007-01-30 2008-08-01 Beyond Innovation Tech Co Ltd Apparatus and method for compressing data
JP4254867B2 (ja) * 2007-01-31 2009-04-15 ソニー株式会社 情報処理装置および方法、プログラム、並びに記録媒体
JP4793320B2 (ja) * 2007-05-17 2011-10-12 ソニー株式会社 情報処理装置および方法
US7894452B2 (en) * 2007-06-13 2011-02-22 Intel Corporation Method and apparatus for the creation of TCP segments by simultaneous use of computing device components
US8331444B2 (en) * 2007-06-26 2012-12-11 Qualcomm Incorporated Sub-band scanning techniques for entropy coding of sub-bands
KR101442836B1 (ko) * 2008-01-07 2014-11-04 삼성전자주식회사 가시광 통신을 이용한 영상 부가정보 제공방법 및 장치
JP5359302B2 (ja) * 2008-03-18 2013-12-04 ソニー株式会社 情報処理装置および方法、並びにプログラム
TWI349487B (en) * 2008-03-25 2011-09-21 Novatek Microelectronics Corp Entropy encoding circuit and encoding method thereof
US8923385B2 (en) * 2008-05-01 2014-12-30 Nvidia Corporation Rewind-enabled hardware encoder
TWI376959B (en) * 2008-05-02 2012-11-11 Novatek Microelectronics Corp Entropy decoding circuit, entropy decoding method, and entropy decoding method using a pipeline manner
US8755515B1 (en) 2008-09-29 2014-06-17 Wai Wu Parallel signal processing system and method
JP4670947B2 (ja) * 2008-12-05 2011-04-13 ソニー株式会社 情報処理装置および方法
JP4626707B2 (ja) * 2008-12-08 2011-02-09 ソニー株式会社 情報処理装置および方法
KR101029108B1 (ko) * 2008-12-11 2011-04-15 충북대학교 산학협력단 생체신호관리시스템에서의 심전도 데이터 압축 및 압축 해제 방법
JP4883076B2 (ja) * 2008-12-12 2012-02-22 ソニー株式会社 情報処理装置および方法
JP4760902B2 (ja) * 2008-12-17 2011-08-31 ソニー株式会社 情報処理装置および方法
JP2010239288A (ja) * 2009-03-30 2010-10-21 Sony Corp 情報処理装置および方法
CN101609680B (zh) 2009-06-01 2012-01-04 华为技术有限公司 压缩编码和解码的方法、编码器和解码器以及编码装置
CN105872541B (zh) * 2009-06-19 2019-05-14 三菱电机株式会社 图像编码装置、图像编码方法及图像解码装置
JP5263621B2 (ja) * 2009-09-24 2013-08-14 ソニー株式会社 画像処理装置および方法
SG172459A1 (en) * 2009-12-01 2011-08-29 Intel Corp Compression using range coding with virtual sliding window
US9075560B2 (en) * 2009-12-10 2015-07-07 Microsoft Technology Licensing, Llc Real-time compression with GPU/CPU
JP5707412B2 (ja) 2010-09-29 2015-04-30 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、プログラムおよび集積回路
MX2013001774A (es) 2010-09-30 2013-03-18 Panasonic Corp Metodo de decodificacion de imagen, metodo de codificacion de imagen, aparato de decodificacion de imagen, aparato codificacion de imagen, programa, y circuito integrado.
CN102118289B (zh) * 2010-12-02 2013-04-17 西北工业大学 Ieee1394接口的实时图像分割处理系统与高速智能统一总线接口方法
JP5850214B2 (ja) * 2011-01-11 2016-02-03 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
TWI652941B (zh) * 2011-11-03 2019-03-01 太陽專利信託 用於解區塊之有效修整技術(二)
JP2013121032A (ja) 2011-12-07 2013-06-17 Sony Corp 画像処理装置および方法
JP5966345B2 (ja) * 2011-12-21 2016-08-10 ソニー株式会社 画像処理装置および方法
JP5966346B2 (ja) * 2011-12-21 2016-08-10 ソニー株式会社 画像処理装置および方法
JP5966347B2 (ja) * 2011-12-21 2016-08-10 ソニー株式会社 画像処理装置および方法
JP5950157B2 (ja) * 2012-05-18 2016-07-13 ソニー株式会社 画像処理装置および方法、並びに、プログラム
US9532051B2 (en) * 2012-10-05 2016-12-27 Futurewei Technologies, Inc. Architecture for hybrid video codec
US20140294314A1 (en) * 2013-04-02 2014-10-02 Samsung Display Co., Ltd. Hierarchical image and video codec
US9716888B2 (en) * 2014-03-26 2017-07-25 Vixs Systems, Inc. Video processing with static and dynamic regions and method for use therewith
JP2015195526A (ja) 2014-03-31 2015-11-05 ソニー株式会社 画像処理装置、および画像処理方法
US9542955B2 (en) * 2014-03-31 2017-01-10 Qualcomm Incorporated High-band signal coding using multiple sub-bands
EP3211887B1 (en) * 2014-11-13 2020-07-01 Samsung Electronics Co., Ltd. Method and device for generating metadata including frequency characteristic information of image
JP6613618B2 (ja) * 2015-05-20 2019-12-04 株式会社ソシオネクスト 画像処理装置および画像処理方法
CN105120293B (zh) * 2015-08-26 2018-07-06 中国航空工业集团公司洛阳电光设备研究所 基于cpu和gpu的图像协同解码方法及装置
JP6420505B2 (ja) * 2016-02-10 2018-11-07 株式会社日立国際電気 映像信号伝送装置
US11044495B1 (en) * 2018-02-13 2021-06-22 Cyborg Inc. Systems and methods for variable length codeword based data encoding and decoding using dynamic memory allocation
US10491240B1 (en) 2019-01-17 2019-11-26 Cyborg Inc. Systems and methods for variable length codeword based, hybrid data encoding and decoding using dynamic memory allocation

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09130800A (ja) 1995-11-02 1997-05-16 Ricoh Co Ltd 符号化方法
JP2001077697A (ja) * 1999-09-07 2001-03-23 Canon Inc ディジタル信号処理装置および方法および記憶媒体
US6707948B1 (en) 1997-11-17 2004-03-16 The Regents Of The University Of California Image compression for memory-constrained decoders
JP2005109776A (ja) * 2003-09-30 2005-04-21 Sony Corp 符号化装置及び復号装置
JP2005117156A (ja) * 2003-10-03 2005-04-28 Sanyo Electric Co Ltd データ処理装置

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2295936B (en) * 1994-12-05 1997-02-05 Microsoft Corp Progressive image transmission using discrete wavelet transforms
US5923785A (en) * 1997-03-31 1999-07-13 Interated Systems, Inc. System and method for compressing data
JP3213582B2 (ja) * 1997-05-29 2001-10-02 シャープ株式会社 画像符号化装置及び画像復号装置
JP3614361B2 (ja) * 1997-09-19 2005-01-26 シャープ株式会社 画像復号装置
JP4420415B2 (ja) * 1998-07-03 2010-02-24 キヤノン株式会社 符号化方法及び符号化装置
JP2000059781A (ja) 1998-08-07 2000-02-25 Ricoh Co Ltd ウェーブレット変換装置
US6563953B2 (en) 1998-11-30 2003-05-13 Microsoft Corporation Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock
JP2000184204A (ja) 1998-12-11 2000-06-30 Canon Inc 画像処理装置及び方法及び記憶媒体
CN1197253C (zh) * 1999-04-15 2005-04-13 株式会社理光 数据高速压缩伸展方法及其装置
US7369161B2 (en) * 1999-06-08 2008-05-06 Lightsurf Technologies, Inc. Digital camera device providing improved methodology for rapidly taking successive pictures
JP4097108B2 (ja) 1999-07-06 2008-06-11 株式会社リコー ウェーブレット変換装置及び符号化復号化装置
US6370197B1 (en) * 1999-07-23 2002-04-09 Memorylink Corporation Video compression scheme using wavelets
EP1655969A2 (en) * 2000-09-19 2006-05-10 Matsushita Electric Industrial Co., Ltd. Image signal transmitter
JP2003204439A (ja) * 2002-01-08 2003-07-18 Canon Inc 画像符号化装置及び画像符号化方法
JP3700670B2 (ja) 2002-03-28 2005-09-28 ソニー株式会社 ビットプレーン符号化装置
KR100477649B1 (ko) * 2002-06-05 2005-03-23 삼성전자주식회사 다양한 프레임 사이즈를 지원하는 정수 코딩 방법 및 그를적용한 코덱 장치
JP4449400B2 (ja) 2002-10-25 2010-04-14 ソニー株式会社 画像符号化装置及び方法、並びにプログラム及び記録媒体
JP4196813B2 (ja) * 2003-11-20 2008-12-17 ソニー株式会社 画像符号化装置及び方法、並びに画像復号装置及び方法
US7817869B2 (en) * 2004-05-07 2010-10-19 Sony Corporation Variable support robust transform for multiple description coding
JP4527474B2 (ja) * 2004-08-27 2010-08-18 パナソニック株式会社 可変長符号化装置、撮像装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09130800A (ja) 1995-11-02 1997-05-16 Ricoh Co Ltd 符号化方法
US6707948B1 (en) 1997-11-17 2004-03-16 The Regents Of The University Of California Image compression for memory-constrained decoders
JP2001077697A (ja) * 1999-09-07 2001-03-23 Canon Inc ディジタル信号処理装置および方法および記憶媒体
JP2005109776A (ja) * 2003-09-30 2005-04-21 Sony Corp 符号化装置及び復号装置
JP2005117156A (ja) * 2003-10-03 2005-04-28 Sanyo Electric Co Ltd データ処理装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"JOINT PHOTOGRAPHIC EXPERT GROUP CONFERENCE", 4 August 1998, JPEG FORUM LTD, article "Report on Core Experiments CodEff7: Low memory line-based wavelet transform using lifting scheme. Revision 1"
CHRISTOS CHRYSAFIS ET AL.: "Line-Based, Reduced Memory, Wavelet Image Compression", IEEE TRANSACTIONS ON IMAGE PROCESSING, vol. 9, no. 3, 1 March 2000 (2000-03-01), XP011025538

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8260068B2 (en) 2007-05-17 2012-09-04 Sony Corporation Encoding and decoding device and associated methodology for obtaining a decoded image with low delay
US8422553B2 (en) 2007-05-17 2013-04-16 Sony Corporation Information processing device and method
US8503809B2 (en) 2007-05-17 2013-08-06 Sony Corporation Information processing apparatus and method to entropy code upon processing of predetermined number of precincts
RU2493651C2 (ru) * 2008-07-11 2013-09-20 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Способ кодирования символа, способ декодирования символа, способ передачи символа от передатчика к приемнику, кодер, декодер и система для передачи символа от передатчика к приемнику
WO2013128526A1 (ja) * 2012-02-28 2013-09-06 パナソニック株式会社 画像処理装置、及び、画像処理方法
CN103404139A (zh) * 2012-02-28 2013-11-20 松下电器产业株式会社 图像信号处理装置以及图像信号处理方法
JPWO2013128526A1 (ja) * 2012-02-28 2015-07-30 パナソニックIpマネジメント株式会社 画像処理装置、及び、画像処理方法
US9723308B2 (en) 2012-02-28 2017-08-01 Panasonic Intellectual Property Management Co., Ltd. Image processing apparatus and image processing method
CN106547829A (zh) * 2016-10-10 2017-03-29 福建省够兄弟科技有限公司 一种体育运动数据的处理方法与系统

Also Published As

Publication number Publication date
WO2007058296B1 (ja) 2007-08-02
KR20080071482A (ko) 2008-08-04
TWI341658B (ja) 2011-05-01
JP4888729B2 (ja) 2012-02-29
US20090102686A1 (en) 2009-04-23
TW200746655A (en) 2007-12-16
TW200727598A (en) 2007-07-16
EP1901544A1 (en) 2008-03-19
WO2007058294B1 (ja) 2007-07-19
EP1901544B1 (en) 2018-09-26
US7701365B2 (en) 2010-04-20
KR101320534B1 (ko) 2013-10-22
JP4900720B2 (ja) 2012-03-21
US8320693B2 (en) 2012-11-27
EP1838081A4 (en) 2011-03-30
JPWO2007058294A1 (ja) 2009-05-07
TWI336570B (ja) 2011-01-21
EP1838081A1 (en) 2007-09-26
EP1901544A4 (en) 2011-03-30
WO2007058296A1 (ja) 2007-05-24
KR20080069903A (ko) 2008-07-29
RU2339997C1 (ru) 2008-11-27
BRPI0607204A2 (pt) 2010-02-09
BRPI0606733A2 (pt) 2010-02-09
KR101377021B1 (ko) 2014-03-26
US20090274378A1 (en) 2009-11-05
BRPI0607204B1 (pt) 2019-04-09
JPWO2007058296A1 (ja) 2009-05-07

Similar Documents

Publication Publication Date Title
JP4900720B2 (ja) 符号化装置および方法、並びに、復号装置および方法
US8000548B2 (en) Wavelet transformation device and method, wavelet inverse transformation device and method, program, and recording medium for performing wavelet transformation at a plurality of division levels
CN101129063B (zh) 编码设备和方法、解码设备和方法以及传输系统
US8254707B2 (en) Encoding device, encoding method, encoding program, decoding device, decoding method, and decoding program in interlace scanning
US8031960B2 (en) Wavelet transformation device and method, wavelet inverse transformation device and method, program, and recording medium
JP4254867B2 (ja) 情報処理装置および方法、プログラム、並びに記録媒体
US8665943B2 (en) Encoding device, encoding method, encoding program, decoding device, decoding method, and decoding program
JP4254866B2 (ja) 情報処理装置および方法、プログラム、並びに記録媒体
JP3880088B2 (ja) 符号化装置及び復号化装置
JP2008187571A (ja) 情報処理装置および方法、並びにプログラム
JP2000224586A (ja) 映像符号化方法および装置
JP2008187572A (ja) 情報処理装置および方法、並びにプログラム

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 5183/DELNP/2007

Country of ref document: IN

WWE Wipo information: entry into national phase

Ref document number: 2006832828

Country of ref document: EP

Ref document number: 2007545308

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2007127508

Country of ref document: RU

Ref document number: 1020077016423

Country of ref document: KR

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: 200680005866.5

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 11814257

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 2006832828

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: PI0606733

Country of ref document: BR

Kind code of ref document: A2