WO2016002577A1 - 画像処理装置および方法 - Google Patents

画像処理装置および方法 Download PDF

Info

Publication number
WO2016002577A1
WO2016002577A1 PCT/JP2015/067982 JP2015067982W WO2016002577A1 WO 2016002577 A1 WO2016002577 A1 WO 2016002577A1 JP 2015067982 W JP2015067982 W JP 2015067982W WO 2016002577 A1 WO2016002577 A1 WO 2016002577A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
image data
unit
encoding
decoding
Prior art date
Application number
PCT/JP2015/067982
Other languages
English (en)
French (fr)
Inventor
福原 隆浩
Original Assignee
ソニー株式会社
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 ソニー株式会社 filed Critical ソニー株式会社
Priority to JP2016531284A priority Critical patent/JP6635312B2/ja
Priority to US15/315,047 priority patent/US10284879B2/en
Publication of WO2016002577A1 publication Critical patent/WO2016002577A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression

Definitions

  • the present technology relates to an image processing apparatus and method, and more particularly, to an image processing apparatus and method capable of suppressing an increase in the load of encoding / decoding of floating-point precision image data.
  • Patent Document 1 proposes a two-stage encoding method in which tone mapping is performed to create a low bit depth image and the difference between the decoded image and the original image is encoded by another encoder. It was.
  • Patent Document 2 it has been studied to reduce the bit rate during lossy compression by applying Lloyd-Max quantization instead of tone mapping.
  • the present technology has been proposed in view of such a situation, and an object thereof is to suppress an increase in the load of encoding / decoding of floating-point precision image data.
  • One aspect of the present technology is a data conversion unit that converts floating point precision image data including a sign, an exponent part, and a mantissa part into integer precision image data, and the integer precision obtained by the conversion by the data conversion part. And an encoding unit that encodes the image data.
  • the data conversion unit converts the image data into one integer precision data in which the code data, the exponent data, and the mantissa data are arranged in order from the MSB to the LSB for each pixel. can do.
  • the data conversion unit may convert the image data into three integer precision image data in which the code data, the exponent data, and the mantissa data are independent of each other for each pixel. it can.
  • the data conversion unit converts each of the code data, the exponent data, and the mantissa data into three integer precision image data independent of each other for the first pixel of each picture of the image data For the other pixels, the exponent data and the mantissa data can be converted into two integer precision image data independent of each other.
  • the data conversion unit further converts the integer precision image data into differential data between components for each pixel, and the encoding unit converts the differential data obtained by the conversion by the data conversion unit. Can be encoded.
  • the data conversion unit converts the floating point precision image data into the integer precision image data
  • the encoding unit performs lossy encoding.
  • the floating point precision image data is converted into a floating point precision value
  • the encoding unit when performing the lossless encoding, converts the integer precision image data obtained by the data conversion unit.
  • the floating-point precision value obtained by the conversion by the data conversion unit can be encoded.
  • the encoding unit can encode the image data by the JPEG2000 encoding method.
  • the encoding unit can encode the image data by a JPEG2000 encoding method, and the adding unit can add the information to a predetermined position in the JPX file format.
  • One aspect of the present technology also converts floating point precision image data including a sign, an exponent part, and a mantissa part into integer precision image data, and encodes the integer precision image data obtained by the conversion. This is an image processing method.
  • a decoding unit that decodes encoded data of integer-precision image data obtained by converting floating-point precision image data including a sign, an exponent part, and a mantissa part is decoded by the decoding unit.
  • An image processing apparatus comprising: a data conversion unit configured to convert the obtained integer precision image data into the floating point precision image data.
  • the data conversion unit separates the integer precision image data into three data according to the number of bits, and uses the data of the sign, the data of the exponent, and the data of the mantissa in order from the MSB to the LSB. be able to.
  • the data converter may use the integer-accuracy image data as any one of the code data, the exponent data, and the mantissa data.
  • the data conversion unit for the first pixel of each picture of the image data, the integer precision image data is any one of the code data, the exponent data, and the mantissa data, and other pixels
  • the integer precision image data can be the exponent data or the mantissa data.
  • the decoding unit decodes encoded data of difference data between components of the integer precision image data
  • the data conversion unit converts the difference data obtained by decoding by the decoding unit to the integer precision. It can be converted into image data, and further converted into image data with the floating-point precision.
  • the decoding unit When the encoded data is reversible encoded integer-precision image data obtained by converting floating-point precision image data including a code, an exponent part, and a mantissa part, the decoding unit includes the encoded data The data conversion unit converts the integer-precision image data obtained by the lossless decoding by the decoding unit into the floating-point precision image data, and the encoded data includes a code and an exponent part.
  • the decoding unit irreversibly decodes the encoded data
  • the data conversion The unit can convert the floating-point precision value obtained by lossy decoding by the decoding section into the floating-point precision image data.
  • the encoded data is encoded by the JPEG2000 encoding method, and the decoding unit can decode the encoded data by the JPEG2000 decoding method.
  • An analysis unit that analyzes information related to data conversion of the image data added to the encoded data is further included, and the data conversion unit converts the image data into the floating-point precision image data according to the analysis result by the analysis unit. Can be converted.
  • the encoded data is encoded by a JPEG2000 encoding method
  • the analysis unit analyzes the information added to a predetermined position in the JPX file format of the encoded data
  • the decoding unit includes:
  • the encoded data can be decoded by the JPEG2000 decoding method.
  • the integer obtained by decoding the encoded data of the integer precision image data obtained by converting the floating point precision image data including the sign, the exponent part, and the mantissa part is decoded.
  • This is an image processing method for converting precision image data into floating-point precision image data.
  • floating point precision image data including a sign, an exponent part, and a mantissa part is converted into integer precision image data, and the integer precision image data obtained by the conversion is encoded.
  • encoded data of integer precision image data obtained by converting floating point precision image data including a sign, an exponent part, and a mantissa part is decoded, and the integer precision obtained by decoding is decoded.
  • the image data is converted into floating point precision image data.
  • an image can be processed. Further, according to the present technology, it is possible to suppress an increase in the load of encoding / decoding of floating point precision image data.
  • FIG. 20 is a block diagram illustrating a main configuration example of a computer.
  • the absolute value of the maximum value when expressing 32 bits (single precision) with integer precision is 232, but it is known that if it is expressed with floating point precision, it can be expanded to a value close to 2127. ing. Accordingly, since floating point precision data can be expressed in a very wide range, it is suitable for data representation of a high dynamic range image. However, when image processing such as encoding is performed, there is a possibility that the calculation accuracy overflows due to the large data length.
  • each floating point precision is, for example, 2 ⁇ 24 to 2 ⁇ 14 in the case of half-normal (16-bit) denormalized expression, and 2 ⁇ 14 to 65.504 in the case of the normalized expression.
  • ⁇ 2 ⁇ 149 to (1-2 ⁇ 23 ) ⁇ 2 ⁇ 126 in the case of single-precision (32-bit) denormalized expressions, ⁇ 2 ⁇ 149 to (1-2 ⁇ 23 ) ⁇ 2 ⁇ 126
  • normalized expressions ⁇ 2 ⁇ 126 to (2- 2 -23 ) ⁇ 2 127 .
  • an image processing apparatus that encodes floating point precision image data including a sign, an exponent part, and a mantissa part
  • a data conversion part that converts the floating point precision image data into integer precision image data
  • the data conversion And an encoding unit that encodes integer-precision image data obtained by conversion by the unit. That is, when encoding floating-point precision image data consisting of a sign, an exponent part, and a mantissa part, the floating-point precision image data is converted into integer precision image data, and the integer precision obtained by the conversion is converted.
  • the image data is encoded.
  • the fixed-point precision image data can be processed in the same manner as the integer precision image data, and therefore the description thereof is omitted. In the following, only the case where the image data has integer precision and the floating point precision will be described.
  • FIG. 1 is a block diagram illustrating a main configuration example of an image encoding device that is an embodiment of an image processing device to which the present technology is applied.
  • the image encoding apparatus 100 shown in FIG. 1 encodes input floating-point precision image data and outputs encoded data (code stream).
  • the image encoding device 100 includes an analysis unit 111, a data conversion unit 112, a wavelet conversion unit 113, a selection unit 114, a quantization unit 115, an EBCOT (Embedded Block Coding with Optimized Truncation) unit 116, And a file format generation unit 117.
  • an analysis unit 111 a data conversion unit 112
  • a wavelet conversion unit 113 a wavelet conversion unit 113
  • a selection unit 114 a quantization unit 115
  • an EBCOT Embedded Block Coding with Optimized Truncation
  • the analysis unit 111 analyzes the input image data and determines whether the image data has floating point precision.
  • the analysis unit 111 controls the operations of the data conversion unit 112 to the file format generation unit 117 based on the determination result.
  • the data conversion unit 112 converts the image data with the floating-point precision into the image data with the integer precision when the input image data has the floating-point precision based on the analysis result (determination result) by the analysis unit 111. Details of this data conversion will be described later.
  • the data conversion unit 112 supplies the converted integer precision image data to the wavelet conversion unit 113. Note that when the input image data has integer precision, the data conversion unit 112 omits the data conversion and supplies the image data to the wavelet transform unit 113 with the integer precision.
  • the wavelet transform unit 113 performs wavelet transform on the supplied integer precision image data.
  • the wavelet transform unit 113 performs processing for generating low-frequency component and high-frequency component coefficient data by filtering the integer-precision image data with an analysis filter, and generates the generated low-frequency component coefficient data. Repeat recursively for.
  • the wavelet transform unit 113 includes a horizontal analysis filter and a vertical analysis filter as analysis filters, and performs such filter processing in both the screen horizontal direction and the screen vertical direction.
  • the wavelet transform unit 113 repeats the filtering process a predetermined number of times, and when the decomposition level reaches a predetermined level, supplies the layered coefficient data to the selection unit 114.
  • the type of filter used by the wavelet transform unit 113 is arbitrary.
  • the wavelet transform unit 113 may use a 5/3 filter or a 9/7 filter.
  • the wavelet transform unit 113 may use a 5/3 filter, and when performing lossy encoding, the wavelet transform unit 113 may use a 9/7 filter.
  • the selection unit 114 selects a coefficient data supply destination.
  • the selection unit 114 supplies coefficient data to the quantization unit 115 when lossy encoding is performed. Further, the selection unit 114 supplies coefficient data to the EBCOT unit 116 when lossless encoding is performed. That is, in this case, the quantization process is omitted.
  • lossless encoding or lossy encoding may be determined based on arbitrary information. For example, it may be set in advance by a user or the like, or may be appropriately determined according to image data, processing load, or the like. Note that the image encoding apparatus 100 may be configured to perform only one of lossless encoding or lossy encoding. In that case, the selection unit 114 can be omitted (in the case of lossless encoding, the quantization unit 115 can also be omitted).
  • the quantization unit 115 quantizes the coefficient data supplied from the selection unit 114 and supplies the quantized data to the EBCOT unit 116.
  • the EBCOT unit 116 entropy encodes the coefficient data supplied from the selection unit 114 or the quantization unit 115 to generate encoded data.
  • the EBCOT unit 116 supplies the generated encoded data to the file format generation unit 117.
  • the file format generation unit 117 uses the supplied encoded data according to the analysis result (determination result) of the analysis unit 111 to generate a file (JPEG2000 file) that conforms to the JPEG (Joint Photographic Experts Group) 2000 standard. Generate. For example, when the analysis unit 111 determines that the image data input to the image encoding apparatus 100 has the floating-point precision, the file format generation unit 117 generates additional information indicating the fact and supplies it from the EBCOT unit 116. It is added to the JPEG2000 file that contains the encoded data. Details of the JPEG2000 file and additional information will be described later.
  • the file format generation unit 117 outputs the generated file to the outside of the image encoding device 100.
  • the wavelet transform unit 113 to EBCOT unit 116 may be collectively used as the encoding unit 120.
  • the configurations of the wavelet transform unit 113 to the EBCOT unit 116 described above are configuration examples when the image encoding apparatus 100 encodes image data using the JPEG2000 system.
  • a high compression rate can be realized by applying the JPEG2000 system as in the example of FIG.
  • the encoding method of the image encoding device 100 is arbitrary and is not limited to JPEG2000. That is, the internal configuration of the encoding unit 120 is arbitrary and is not limited to the example of FIG. It is desirable to use a more suitable one depending on the type and characteristics of the image.
  • a data value of floating point precision is represented by a sign (S), an exponent part (E), and a mantissa part (M).
  • S sign
  • E exponent part
  • M mantissa part
  • 16-bit half-precision floating point is a format developed by Industrial Light & Magic and has a feature that does not require much hard disk or memory costs while supporting a high dynamic range.
  • This single precision floating point precision format is used in several computer graphics environments such as OpenEXR, OpenGL, and D3DX.
  • OpenEXR is frequently used as a de facto format for recent high dynamic range images.
  • the sign bit (S) is 1 bit
  • the Exponent (exponent part) is 5 bits
  • the Mantissa (mantissa part) is 10 bits.
  • the data conversion unit 112 converts the three data of the code (S), the exponent part (E), and the mantissa part (M) to an integer precision image having a bit depth that is the total bit depth assigned to each of the three data. You may make it convert into data. That is, the data converter 112 converts floating point precision image data consisting of a sign, an exponent part, and a mantissa part from the MSB to the LSB in order of the sign data, the exponent part data, and the mantissa part data for each pixel. Alternatively, the data may be converted into one integer precision data.
  • the data converter 112 may convert the three data of the sign (S), the exponent part (E), and the mantissa part (M) into integer precision image data. That is, the data conversion unit 112 converts the floating-point precision image data including the sign, the exponent part, and the mantissa part into the pixel data, the exponent part data, and the mantissa part data that are independent from each other for each pixel. You may make it convert into the image data of one integer precision.
  • the input image data is converted into a sign (S) 1-bit image, exponent (E) 5-bit image, mantissa part for each component by data conversion of the data converter 112.
  • M The image is divided into 10-bit images.
  • the code (S) is highly correlated between pixels. That is, the value of the code (S) often does not change in each pixel data. Therefore, for example, this code (S) is encoded only in the first (first processed) pixel of the picture, and the encoding of this code (S) is omitted for the subsequent pixels. Also good. In that case, at the time of decoding, the code (S) of the top pixel of the picture may be applied to the code (S) value of the pixel other than the top of the picture.
  • the data conversion unit 112 converts each of the code data, the exponent data, and the mantissa data into three integer precision image data independent from each other for the first pixel of each picture of the image data, For other pixels, the exponent data and the mantissa data may be converted into two integer precision image data independent of each other. By doing so, it is possible to improve the encoding efficiency (suppress the increase of the code amount due to the code (S)).
  • the RGB components are individually encoded.
  • difference data between components may be encoded. That is, the data conversion unit 112 may convert the floating-point precision image data into integer precision image data, and may further convert the data into differential data between components for each pixel.
  • the encoding unit 120 encodes the difference data obtained by the conversion by the data conversion unit 112.
  • X, Y, X ', Y' may be defined as in the following formulas (1) to (4), and X, Y, X ', Y' may be encoded respectively.
  • X and Y may be defined as in the above formulas (1) and (2), and X, Y and R may be encoded respectively. That is, only some components may be converted into differential data.
  • the method of generating difference data is arbitrary, and is not limited to the above-described example.
  • difference data is obtained based on G, but B may be used as a reference, and R may be used as a reference.
  • the formula for obtaining the difference data may be other than the above-described example.
  • components other than RGB may be used.
  • FIG. 5 is a configuration diagram of the JPEG2000 extended file format (JPX). As shown in FIG. 15, the JPX file format is composed of individual box structures. The encoded data generated in the EBCOT unit 116 is stored in a Continuous Codestream Box (M.11.8).
  • JPX JPEG2000 extended file format
  • the input image is basically determined to be an integer precision image, so it is efficient to define it in this JPX file format for floating point precision image input.
  • Reader Requirements Box (Reader Requirements Box (M.11.1)) in FIG. 5, it is possible to define the format of the input image, for example, integer precision, fixed-point precision, and floating-point precision. Therefore, when the input image format is floating point precision, a parameter indicating floating point precision may be defined in this box.
  • Fig. 6 is a diagram showing an example of a parameter group defined in this Reader Requirements Box.
  • a pixel format box (Pixel Format Box (M11.7, 8)) may be defined as shown in FIG.
  • FIG. 8 shows the value of Pixel Format (F) and its definition.
  • F Pixel Format
  • Fig. 10 shows marker segments used when non-linearity N Point Transformation is applied to a component.
  • STnlt is a parameter group defined in conjunction with Tnlt.
  • FIG. 11 is a parameter definition by Tnlt (Non-linearity type) in the extended marker segment NLT (Non-linearity Transformation).
  • Gamma transformation Gamma-style non-linearity transformation
  • lookup table transformation LUT-style non-linearity transformation
  • the image encoding device 100 converts the floating point precision image data into the integer precision image data and encodes it. Therefore, it is possible to suppress an increase in data length and an increase in load.
  • an increase in data length can be further suppressed and an increase in load can be further suppressed.
  • lossy encoding by suppressing an increase in data length, it is possible to suppress a reduction in the amount of information due to truncation or quantization, and it is possible to suppress a reduction in the image quality of the decoded image.
  • the method of adding information related to the accuracy of image data is arbitrary.
  • the additional information may be stored in any position in the file.
  • the encoded data and additional information may be filed and associated with each other.
  • additional information may be stored in the lower bits of the image data and encoded.
  • the analysis unit 111 analyzes the input image data in step S101, and determines in step S102 whether or not the image data has floating point precision. If it is determined that floating-point precision image data has been input, the process proceeds to step S103.
  • step S103 the data conversion unit 112 converts the sign, exponent part, and mantissa part of the image data with floating point precision into image data with integer precision as described above.
  • step S104 If it is determined in step S102 that the input image data has integer precision, the process proceeds to step S104.
  • step S104 the wavelet transform unit 113 performs wavelet transform on the image data.
  • step S105 the selection unit 114 determines whether or not to encode using the lossy method. If it is determined that lossy encoding is to be performed, the process proceeds to step S106.
  • step S106 the quantization unit 115 quantizes the coefficient data obtained by wavelet transforming the image data.
  • step S107 If it is determined in step S105 that lossless encoding is to be performed, the process proceeds to step S107.
  • step S107 the EBCOT unit 116 entropy encodes the coefficient data (or quantized coefficient data).
  • step S108 the file format generation unit 117 generates a file format so as to include information on the accuracy of the image data.
  • step S108 When the process of step S108 is finished, the image encoding process is finished.
  • Second Embodiment> ⁇ Decoding of floating point precision image data> Next, decoding of encoded data (code stream) generated by the image encoding device 100 described in the first embodiment will be described.
  • a decoding unit that decodes encoded data of integer precision image data obtained by converting floating point precision image data including a sign, an exponent part, and a mantissa part, and an integer precision image obtained by decoding by the decoding part
  • a data conversion unit that converts the data into floating-point precision image data. That is, the encoded data of the integer precision image data obtained by converting the floating point precision image data including the sign, the exponent part, and the mantissa part is decoded, and the integer precision image data obtained by decoding is decoded. Convert to image data.
  • the fixed-point precision image data can be processed in the same manner as the integer precision image data, and the description thereof will be omitted. In the following, only the case where the image data has integer precision and the floating point precision will be described.
  • FIG. 14 is a block diagram illustrating a main configuration example of an image decoding apparatus which is another embodiment of an image processing apparatus to which the present technology is applied.
  • An image decoding apparatus 200 shown in FIG. 14 is an apparatus that decodes encoded data (code stream) generated by the image encoding apparatus 100 to obtain a decoded image.
  • a file (including encoded data (code stream)) generated by the image encoding device 100 is transmitted to the image decoding device 200 via, for example, an arbitrary communication medium, or recorded on an arbitrary recording medium, for example, It is read from the recording medium by the decoding device 200.
  • the image decoding apparatus 200 converts the integer precision image data obtained by decoding, and outputs the floating point precision image data.
  • the image decoding device 200 includes a file format analysis unit 211, a data extraction unit 212, an EBCOT unit 213, a selection unit 214, an inverse quantization unit 215, a wavelet inverse transformation unit 216, and a data transformation unit 217.
  • the file format analysis unit 211 analyzes the file format of an input file (including encoded data (code stream)), and determines from the additional information whether or not the image data before encoding has floating point precision. .
  • the file format analysis unit 211 controls the operations of the data extraction unit 212 to the data conversion unit 217 based on the determination result.
  • the input file is a JPEG2000 file
  • the image data is encoded by the JPEG2000 system
  • the information regarding the accuracy of the image data is converted into the JPX file format as described with reference to FIGS. Assume that it is stored.
  • the file format analysis unit 211 refers to various kinds of information stored at predetermined positions in the JPX file format, and determines whether or not the image data before encoding has floating point precision.
  • the data extraction unit 212 extracts encoded data (code stream) from the input file based on the analysis result of the file format analysis unit 211, and supplies the extracted data to the EBCOT unit 213.
  • the EBCOT unit 213 entropy-decodes the encoded data supplied from the data extraction unit 212 by a method corresponding to the entropy encoding of the EBCOT unit 116 based on the analysis result of the file format analysis unit 211 and the like.
  • the EBCOT unit 213 supplies coefficient data obtained by entropy decoding to the selection unit 214.
  • the selection unit 214 selects the coefficient data supply destination based on the analysis result of the file format analysis unit 211 and the like.
  • the selection unit 214 supplies coefficient data to the inverse quantization unit 215 when irreversible encoding is performed in the image encoding device 100, that is, when irreversible decoding is performed.
  • the selection unit 214 supplies coefficient data to the wavelet inverse transformation unit 216 when lossless coding is performed in the image coding apparatus 100, that is, when lossless decoding is performed. That is, in this case, the inverse quantization process is omitted.
  • the image decoding apparatus 200 may be capable of performing only one of lossless decoding and lossy decoding.
  • the selection unit 214 can be omitted (in the case of lossless decoding, the inverse quantization unit 215 can also be omitted).
  • the inverse quantization unit 215 receives the quantized coefficient data supplied from the selection unit 214 based on the analysis result of the file format analysis unit 211 and the like. Inverse quantization is performed by a method corresponding to the quantization performed in the quantization unit 115. The inverse quantization unit 215 supplies the inversely quantized coefficient data to the wavelet inverse transform unit 216.
  • the wavelet inverse transform unit 216 converts the coefficient data supplied from the selection unit 214 or the inverse quantization unit 215 on the basis of the analysis result of the file format analysis unit 211 by a method corresponding to the wavelet transform by the wavelet transform unit 113. Reverse conversion. As a result, integer-precision image data is obtained.
  • the data conversion unit 217 converts the integer-precision image data into the floating-point accuracy image data when the image data before encoding has the floating-point accuracy based on the analysis result of the file format analysis unit 211 or the like. That is, the data conversion unit 217 generates sign (S) data, exponent (E) data, and mantissa (M) data from integer precision image data.
  • the integer-precision image data supplied from the wavelet inverse transform unit 216 is composed of three data of a sign (S), an exponent part (E), and a mantissa part (M) as described with reference to FIG.
  • the data conversion unit 217 converts the integer precision image data into a sign (S), an exponent part (E), and a mantissa part ( The data is divided by the number of bits of M) and converted into three pieces of data: a sign (S), an exponent (E), and a mantissa (M).
  • S sign
  • E exponent part
  • M mantissa
  • the data conversion unit 217 converts 16-bit integer precision image data from the MSB to the LSB, using the first 1 bit as code (S) data and the next 5 bits as an exponent.
  • the data of (E) is used, and the remaining 10 bits are the data of the mantissa (M).
  • the data conversion unit 217 separates the integer precision image data into three data according to the number of bits, and in the order from the MSB to the LSB, the data of the sign (S), the data of the exponent (E), the mantissa
  • the data of the part (M) may be used.
  • the integer precision image data supplied from the wavelet inverse transform unit 216 is divided into three codes (S), exponent part (E), and mantissa part (M) as described with reference to FIG.
  • the data conversion unit 217 converts the three integer-precision image data into sign (S) data, exponent (E) data, and mantissa, respectively. Part (M) data.
  • the data conversion unit 217 may set the integer-precision image data as one of code data, exponent data, and mantissa data.
  • integer-precision image data is sign data, exponent data, or mantissa data
  • the code (S) For example, if the data length is 1 bit, the code (S)
  • the exponent part (E) data may be used
  • the mantissa part (M) data may be used.
  • the head image data is the data of the code (S)
  • the next image data is the data of the exponent (E)
  • the next image data is the data of the mantissa (M)
  • the next The determination may be made according to the arrangement (order) of the data, for example, the image data is the code (S) data.
  • the integer precision image data supplied from the wavelet inverse transform unit 216 is the first pixel of each picture of the image data
  • the code data, the exponent data, and the mantissa data are independent from each other.
  • the data converter 217 Are the three integer precision image data for the first pixel of each picture, the data of the sign (S), the data of the exponent part (E), the data of the mantissa part (M), and for the other pixels, Two pieces of integer precision image data are taken as exponent part (E) data and mantissa part (M) data, respectively.
  • the data conversion unit 217 converts the integer-precision image data for the first pixel of each picture of the image data, either code data, exponent data, or mantissa data, depending on the order, data length, or the like.
  • integer-precision image data may be exponent data or mantissa data depending on the order, data length, and the like.
  • the criterion for determining whether the integer-precision image data is the code data, the exponent data, or the mantissa data is arbitrary. For example, it may be determined based on the data length, or may be determined based on the arrangement (order) of data.
  • the data conversion unit 217 obtains each component data from the difference data, and obtains the data of each component. Convert each to floating point precision.
  • X, Y, X ', and Y' are defined for the RGB component image data as in the above formulas (1) to (4), and this X , Y, X ′, Y ′ are encoded, the wavelet inverse transform unit 216 supplies the X, Y, X ′, Y ′.
  • the data conversion unit 217 obtains R, G, and B, respectively, as in the following formulas (5) to (7), for example.
  • the data conversion unit 217 converts the integer precision image data of the R, G, and B components to the floating point precision.
  • X and Y are defined as in the above-described Expression (1) and Expression (2) for the RGB component image data, and this X, Y and R Are respectively supplied from the wavelet inverse transform unit 216.
  • the data conversion unit 217 obtains G and B as in the above-described equations (5) and (6) (R is obtained without conversion).
  • the data conversion unit 217 converts the integer precision image data of the R, G, and B components to the floating point precision.
  • the data conversion unit 217 may convert the difference data obtained by decoding into image data with integer precision, and further convert into image data with floating point precision.
  • the difference data generation method (combination of components, etc.) is arbitrary and is not limited to the above-described example.
  • the data conversion unit 217 may perform floating-point accuracy by a method corresponding to the integer accuracy by the data conversion unit 112.
  • the data conversion unit 217 outputs the converted floating-point precision image data to the outside of the image decoding apparatus 200. If the image data before encoding has integer precision, the data conversion unit 217 omits the data conversion and outputs the supplied integer precision image data to the outside of the image decoding apparatus 200 as it is.
  • the EBCOT unit 213 through the wavelet inverse transform unit 216 may be combined into a decoding unit 220.
  • the configurations of the EBCOT unit 213 to the wavelet inverse transform unit 216 described above are configuration examples when the image decoding apparatus 200 decodes encoded data using the JPEG2000 system.
  • the decoding method of the image decoding device 200 is arbitrary as long as it corresponds to the encoding method of the image encoding device 100, and is not limited to JPEG2000. That is, the internal configuration of the decoding unit 220 is arbitrary and is not limited to the example of FIG. It is desirable to use a more suitable one depending on the type and characteristics of the image.
  • the image decoding apparatus 200 decodes encoded data obtained by converting floating-point precision image data into integer-precision image data and encoding the obtained integer-precision image data to floating-point precision. Since conversion is performed, an increase in data length can be suppressed and an increase in load can be suppressed. In particular, in the case of lossless decoding, an increase in data length can be further suppressed, and an increase in load can be further suppressed. In the case of irreversible decoding, by suppressing an increase in data length, it is possible to suppress a reduction in the amount of information due to truncation, quantization, and the like, and it is possible to suppress a reduction in image quality of the decoded image.
  • the additional information (information relating to the accuracy of the image data) analyzed by the file format analysis unit 211 may be stored at any position in the file. Further, the additional information may be filed as a file different from the encoded data file. In this case, if both files are associated with each other, the file format analysis unit 211 can obtain additional information necessary for the file to be easily decoded according to the association. Further, the additional information may be stored and encoded in the lower bits of the image data.
  • the file format analysis unit 211 analyzes the file format in step S201.
  • step S202 the data extraction unit 212 extracts encoded data of the image data from the input file based on the analysis result in step S201.
  • step S203 the EBCOT unit 213 performs entropy decoding on the extracted encoded data based on the analysis result in step S201.
  • step S204 the selection unit 214 determines whether or not the encoded data decoded by the EBCOT unit 213 has been encoded in an irreversible manner based on the analysis result in step S201. If it is determined that the encoding has been performed using the lossy method, the process proceeds to step S205.
  • step S205 the inverse quantization unit 215 inversely quantizes the coefficient data obtained by entropy decoding based on the analysis result in step S201.
  • the process proceeds to step S206.
  • step S204 if it is determined in step S204 that the encoding has been performed using the lossless method, the process proceeds to step S206.
  • step S206 the wavelet inverse transform unit 216 performs wavelet inverse transform on the coefficient data based on the analysis result in step S201.
  • step S207 the data conversion unit 217 determines whether the image data before encoding has floating point precision based on the analysis result in step S201. If it is determined that the image data before encoding has floating point precision, the process proceeds to step S208.
  • step S208 the data conversion unit 217 converts the integer precision image data into a sign (S), an exponent part (E), and a mantissa part (M) based on the analysis result in step S201.
  • the image decoding process ends. If it is determined in step S207 that the image data before encoding has integer precision, the image decoding process ends.
  • floating point precision image data represented by a 1-bit code (S), a 5-bit exponent (E), and a 10-bit mantissa (M) is an exponent (E ) Is a zero value, it can be converted to a floating-point precision value h, as shown in equation (8) below.
  • the floating-point precision image data can be converted to a floating-point precision value h as shown in the following equation (9).
  • the configuration example of the image encoding apparatus in this case is the same as that in the first embodiment. That is, the image encoding device 100 shown in FIG. 1 can be applied.
  • the data conversion unit 112 converts the floating-point precision image data including the sign, the exponent part, and the mantissa part into a floating-point precision value h as in the above-described Expression (8) or Expression (9). Convert.
  • the wavelet transform unit 113 to the file format generation unit 117 process the floating-point precision value h as image data.
  • the file format generation unit 117 generates additional information, for example, in the JPX file format, as in the case of the first embodiment.
  • the image encoding device 100 can encode image data with floating point precision.
  • the bit depth is reduced by truncation or rounding, or quantization if the bit precision exceeds the specified precision, which suppresses the increase in coding processing load. Overflow can be avoided.
  • the fixed-point precision image data can be processed in the same manner as the integer precision image data, and the description thereof will be omitted. In the following, only the case where the image data has integer precision and the floating point precision will be described.
  • the analysis unit 111 analyzes the input image data in step S301, and determines whether or not the image data has floating point precision in step S302. If it is determined that image data with floating point precision has been input, the process proceeds to step S303.
  • step S303 the data converter 112 converts the floating-point precision image data including the sign, the exponent part, and the mantissa part into a floating-point precision value h.
  • step S304 If it is determined in step S302 that the input image data has integer precision, the process proceeds to step S304.
  • step S304 the wavelet transform unit 113 performs wavelet transform on the image data.
  • step S305 the selection unit 114 determines whether or not to encode using the lossy method. If it is determined that lossy encoding is to be performed, the process proceeds to step S306.
  • step S306 the quantization unit 115 quantizes the coefficient data obtained by wavelet transforming the image data.
  • step S307 the EBCOT unit 116 entropy encodes the coefficient data (or quantized coefficient data).
  • step S308 the file format generation unit 117 generates a file format so as to include information on the accuracy of the image data.
  • step S308 When the process of step S308 is completed, the image encoding process is completed.
  • the sign when floating point precision image data composed of a sign, an exponent part, and a mantissa part is converted into a floating point precision value h and encoded, the sign
  • the obtained floating-point precision value h may be converted into floating-point precision image data including a sign, an exponent part, and a mantissa part.
  • the configuration example of the image decoding apparatus in this case is the same as that in the second embodiment. That is, the image decoding apparatus 200 shown in FIG. 14 can be applied.
  • the data conversion unit 217 converts the floating-point precision value h into floating-point precision image data including a sign, an exponent part, and a mantissa part using the above-described Expression (8) or Expression (9). Convert.
  • the file format analysis unit 211 to the wavelet inverse transformation unit 216 perform each process similarly to the case of the second embodiment.
  • the image decoding apparatus 200 decodes the encoded data obtained by converting the floating point precision image data including the code, the exponent part, and the mantissa part into the image data of the floating point precision value h, Since the obtained floating-point precision value h is converted into a sign, an exponent part, and a mantissa part, an increase in data length can be suppressed and an increase in load can be suppressed. In particular, in the case of lossy decoding, an overflow can be avoided because there is a bit depth reduction effect by truncation or rounding processing or quantization that exceeds a predetermined bit precision.
  • floating point precision image data is converted into integer precision image data and encoded.
  • lossy encoding floating point precision image data is floated. It may be converted into a decimal precision value and encoded.
  • the data conversion unit 112 converts floating point precision image data into integer precision image data
  • the encoding unit 120 performs lossy encoding.
  • the floating point precision image data is converted into a floating point precision value
  • the encoding unit 120 encodes the integer precision image data obtained by the conversion by the data conversion unit 112 when performing lossless encoding.
  • a floating-point precision value obtained by conversion by the data converter 112 may be encoded.
  • FIG. 18 shows a main configuration example of the image encoding apparatus in that case.
  • the image encoding device 500 includes a selection unit 501, a lossless encoding unit 502, and an irreversible encoding unit 503.
  • the selection unit 501 selects a supply destination of the input image data with the floating point precision. For example, the selection unit 501 supplies the input floating point precision image data to the lossless encoding unit 502 when performing lossless encoding, and supplies the image data to the lossy encoding unit 503 when performing lossy encoding. To do.
  • Whether lossless encoding or lossy encoding is performed may be determined based on arbitrary information. For example, it may be set in advance by a user or the like, or may be appropriately determined according to image data, processing load, or the like.
  • the lossless encoding unit 502 performs lossless encoding on the image data supplied from the selection unit 501. At that time, as in the first embodiment, the lossless encoding unit 502 converts floating point precision image data including a sign, an exponent part, and a mantissa part into integer precision image data and encodes it. That is, the lossless encoding unit 502 has a configuration similar to that of the image encoding device 100 of FIG. However, since the lossless encoding unit 502 performs only lossless encoding, the selection unit 114 and the quantization unit 115 can be omitted. The lossless encoding unit 502 outputs a file including encoded data obtained by encoding to the outside of the image encoding device 500.
  • the lossy encoding unit 503 performs lossy encoding on the image data supplied from the selection unit 501. At this time, the irreversible encoding unit 503 converts the floating-point precision image data including the code, the exponent part, and the mantissa part into the image data of the floating-point precision value h, as in the third embodiment. To encode. That is, the lossy encoding unit 503 has the same configuration as that of the image encoding device 100 in FIG. However, since the lossy encoding unit 503 performs only lossy encoding, the selection unit 114 can be omitted. The lossy encoding unit 503 outputs a file including encoded data obtained by encoding to the outside of the image encoding device 500.
  • the image coding apparatus 500 switches the data conversion method and the coding method between the case of lossless coding and the case of lossy coding.
  • An increase in load can be suppressed and overflow can be avoided.
  • the image encoding apparatus 500 adds information on the accuracy of the image data to the encoded data as additional information. Therefore, the necessity of data conversion at the time of decoding and the method thereof can be easily grasped, and the decoding process can be performed. The load can also be reduced.
  • step S501 the selection unit 501 determines whether or not to encode the input image data in a lossless manner. If it is determined that lossless encoding is to be performed, the process proceeds to step S502.
  • step S502 the lossless encoding unit 502 converts the floating point precision code (S), the exponent part (E), and the mantissa part (M) of the input image data into integer precision image data, and the lossless code. To do.
  • the processing in step S502 is the same as the image encoding processing described with reference to the flowchart in FIG. However, since lossless encoding is performed, steps S105 and S106 in FIG. 13 may be omitted.
  • step S502 When the process of step S502 is finished, the image encoding process is finished.
  • step S501 If it is determined in step S501 that lossy encoding is to be performed, the process proceeds to step S503.
  • step S503 the lossy encoding unit 503 converts the floating point precision code (S), exponent part (E), and mantissa part (M) of the input image data into image data having a floating point precision value h. Convert and perform lossy encoding.
  • the processing in step S503 is the same as the image encoding processing described with reference to the flowchart in FIG. However, since lossy encoding is performed, the processing in step S305 in FIG. 16 may be omitted.
  • step S503 When the process of step S503 is completed, the image encoding process is completed.
  • the image decoding device 500 in the case of lossless decoding, the image decoding device also decodes encoded data, converts the obtained integer precision image data into floating point precision image data, and performs irreversible decoding.
  • the encoded data may be decoded, and the obtained image data of the floating-point precision value h may be converted into floating-point precision image data including a sign, an exponent part, and a mantissa part.
  • the decoding unit 220 when the encoded data is lossless-encoded image data of integer precision obtained by converting floating-point precision image data including a code, an exponent part, and a mantissa part, the decoding unit 220 includes the encoded data.
  • the data conversion unit 112 may convert the integer-precision image data obtained by the lossless decoding by the decoding unit 220 into floating-point precision image data.
  • the decoding unit 220 performs encoding.
  • the data may be irreversibly decoded, and the data conversion unit 217 may convert the floating-point precision value obtained by the irreversible decoding by the decoding unit 220 into image data with floating-point precision.
  • FIG. 20 shows a main configuration example of the image decoding apparatus in that case.
  • the image decoding apparatus 600 includes a selection unit 601, a lossless decoding unit 602, and an irreversible decoding unit 603.
  • the selection unit 601 selects a supply destination of a file including the input encoded data. For example, the selection unit 601 supplies the input file to the lossless decoding unit 602 when performing lossless decoding of the encoded data. The selection unit 601 supplies the input file to the irreversible decoding unit 603 when irreversibly decoding the encoded data.
  • the lossless decoding unit 602 performs lossless decoding on the file supplied from the selection unit 601. At that time, as in the second embodiment, the lossless decoding unit 602 extracts the encoded data from the file and performs lossless decoding, and the obtained integer-precision image data is converted from the code, the exponent part, and the mantissa part. Convert to floating-point precision image data. That is, the lossless decoding unit 602 has the same configuration as that of the image decoding device 200 in FIG. However, since the lossless decoding unit 602 performs only lossless decoding, the selection unit 214 and the inverse quantization unit 215 can be omitted. The lossless decoding unit 602 outputs the obtained floating-point precision image data including a sign, an exponent part, and a mantissa part to the outside of the image decoding apparatus 600.
  • the lossy decoding unit 603 performs lossy encoding on the file supplied from the selection unit 601. At this time, the irreversible decoding unit 603 extracts encoded data from the file and performs irreversible decoding similarly to the fourth embodiment, and the obtained image data of the floating-point precision value h is encoded, Convert to image data with floating point precision consisting of exponent and mantissa. That is, the irreversible decoding unit 603 has a configuration similar to that of the image decoding device 200 in FIG. However, since the lossy decoding unit 603 performs only lossy decoding, the selection unit 214 can be omitted. The irreversible decoding unit 603 outputs the obtained image data with floating-point precision composed of a code, an exponent part, and a mantissa part to the outside of the image decoding apparatus 600.
  • the image decoding apparatus 600 switches the data conversion method between the case of lossless decoding and the case of lossy decoding, and in any case, suppresses an increase in the load of the encoding process, Overflow can be avoided. Further, the image decoding apparatus 600 refers to the information regarding the accuracy of the image data added to the encoded data as the additional information, and performs decoding based on the information. And the load of the decoding process can be reduced.
  • step S601 the selection unit 601 determines whether or not the encoded data of the input file is encoded in a lossless manner. If it is determined that lossless encoding has been performed, the process proceeds to step S602.
  • step S602 the lossless decoding unit 602 extracts encoded data from the input file, performs lossless decoding on the encoded data, and converts the obtained integer precision image data into a code (S) and an exponent.
  • the image data is converted into floating point precision image data consisting of a part (E) and a mantissa part (M).
  • the processing in step S602 is the same as the image decoding processing described with reference to the flowchart in FIG. However, since lossless decoding is performed, the processing in steps S204 and S205 in FIG. 15 may be omitted.
  • step S602 ends, the image decoding process ends. If it is determined in step S601 that lossy encoding has been performed, the process proceeds to step S603.
  • step S603 the irreversible decoding unit 603 extracts encoded data from the input file, performs irreversible decoding on the encoded data, and obtains the obtained image data of the floating-point precision value h.
  • the image data is converted into floating point precision image data consisting of a sign (S), exponent (E), and mantissa (M).
  • S sign
  • E exponent
  • M mantissa
  • step S603 When the process of step S603 is finished, the image decoding process is finished.
  • the series of processes described above can be executed by hardware or can be executed by software.
  • a program constituting the software is installed in the computer.
  • the computer includes, for example, a general-purpose personal computer that can execute various functions by installing a computer incorporated in dedicated hardware and various programs.
  • FIG. 22 is a block diagram showing an example of the hardware configuration of a computer that executes the above-described series of processing by a program.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • An input / output interface 710 is also connected to the bus 704.
  • An input unit 711, an output unit 712, a storage unit 713, a communication unit 714, and a drive 715 are connected to the input / output interface 710.
  • the input unit 711 includes, for example, a keyboard, a mouse, a microphone, a touch panel, an input terminal, and the like.
  • the output unit 712 includes, for example, a display, a speaker, an output terminal, and the like.
  • the storage unit 713 includes, for example, a hard disk, a RAM disk, a nonvolatile memory, and the like.
  • the communication unit 714 includes a network interface, for example.
  • the drive 715 drives a removable medium 721 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 701 loads the program stored in the storage unit 713 into the RAM 703 via the input / output interface 710 and the bus 704 and executes the program, for example. Is performed.
  • the RAM 703 also appropriately stores data necessary for the CPU 701 to execute various processes.
  • the program executed by the computer (CPU 701) can be recorded and applied to, for example, a removable medium 721 as a package medium or the like.
  • the program can be installed in the storage unit 713 via the input / output interface 710 by attaching the removable medium 721 to the drive 715.
  • This program can also be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting. In that case, the program can be received by the communication unit 714 and installed in the storage unit 713.
  • a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
  • the program can be received by the communication unit 714 and installed in the storage unit 713.
  • this program can be installed in advance in the ROM 702 or the storage unit 713.
  • the program executed by the computer may be a program that is processed in time series in the order described in this specification, or in parallel or at a necessary timing such as when a call is made. It may be a program for processing.
  • the step of describing the program recorded on the recording medium is not limited to the processing performed in chronological order according to the described order, but may be performed in parallel or It also includes processes that are executed individually.
  • each step described above can be executed in each device described above or any device other than each device described above.
  • the device that executes the process may have the functions (functional blocks and the like) necessary for executing the process described above.
  • Information necessary for processing may be transmitted to the apparatus as appropriate.
  • the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Accordingly, a plurality of devices housed in separate housings and connected via a network and a single device housing a plurality of modules in one housing are all systems. .
  • the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
  • the configurations described above as a plurality of devices (or processing units) may be combined into a single device (or processing unit).
  • a configuration other than that described above may be added to the configuration of each device (or each processing unit).
  • a part of the configuration of a certain device (or processing unit) may be included in the configuration of another device (or other processing unit). .
  • the present technology can take a configuration of cloud computing in which one function is shared by a plurality of devices via a network and is jointly processed.
  • each step described in the above flowchart can be executed by one device or can be shared by a plurality of devices.
  • the plurality of processes included in the one step can be executed by being shared by a plurality of apparatuses in addition to being executed by one apparatus.
  • the present technology is not limited to this, and any configuration mounted on such a device or a device constituting the system, for example, a processor as a system LSI (Large Scale Integration), a module using a plurality of processors, a plurality of It is also possible to implement as a unit using other modules, a set obtained by further adding other functions to the unit (that is, a partial configuration of the apparatus), and the like.
  • a processor as a system LSI (Large Scale Integration)
  • a module using a plurality of processors a plurality of It is also possible to implement as a unit using other modules, a set obtained by further adding other functions to the unit (that is, a partial configuration of the apparatus), and the like.
  • this technology allows devices and devices that use images captured from image sensors (eg, CMOS (Complementary Metal Oxide Semiconductor) image sensors and CCD (Charge Coupled Device) image sensors) to write image data to memory.
  • image sensors eg, CMOS (Complementary Metal Oxide Semiconductor) image sensors and CCD (Charge Coupled Device) image sensors
  • Compression circuit digital still camera, video camcorder, medical image camera, medical endoscope, surveillance camera, digital cinema shooting camera, binocular image camera, multi-view image camera, memory reduction circuit with LSI chip, It can be applied to an authoring tool on a personal computer or its software module.
  • this technique can also take the following structures.
  • a data conversion unit for converting floating point precision image data including a sign, an exponent part, and a mantissa part into integer precision image data An image processing apparatus comprising: an encoding unit that encodes the integer-precision image data obtained by conversion by the data conversion unit.
  • the data conversion unit has one integer precision in which the image data is arranged for each pixel from the MSB to the LSB in the order of the code data, the exponent data, and the mantissa data.
  • the image processing device according to (1) wherein the image processing device converts the data.
  • the data conversion unit converts the image data into three integer precision image data in which the code data, the exponent data, and the mantissa data are independent of each other for each pixel.
  • the image processing apparatus according to (1) or (2).
  • the data conversion unit converts the code data, the exponent data, and the mantissa data into three integer-precision images that are independent of each other for the first pixel of each picture of the image data.
  • the data according to any one of (1) to (3), wherein the data of the exponent part and the data of the mantissa part are converted into image data with two integer precisions independent of each other. Processing equipment.
  • the data converter further converts the integer precision image data into differential data between components for each pixel,
  • the image processing apparatus according to any one of (1) to (4), wherein the encoding unit encodes the difference data obtained by being converted by the data conversion unit.
  • the data converter is When the encoding unit performs lossless encoding, the floating point precision image data is converted into the integer precision image data, When the encoding unit performs lossy encoding, the floating-point precision image data is converted into a floating-point precision value,
  • the encoding unit includes: When the lossless encoding is performed, the integer precision image data obtained by the conversion by the data converter is encoded, The image processing device according to any one of (1) to (5), wherein when performing the lossy encoding, the floating-point precision value obtained by conversion by the data conversion unit is encoded.
  • the image processing device according to any one of (1) to (6), wherein the encoding unit encodes the image data by a JPEG2000 encoding method.
  • the information processing apparatus according to any one of (1) to (7), further including an adding unit that adds information related to data conversion of the data conversion unit to encoded data obtained by encoding by the encoding unit.
  • Image processing device (9)
  • the encoding unit encodes the image data by a JPEG2000 encoding method, The image processing apparatus according to (8), wherein the adding unit adds the information to a predetermined position in a JPX file format.
  • (10) Converting floating point precision image data consisting of a sign, exponent part, and mantissa part into integer precision image data, An image processing method for encoding the integer precision image data obtained by the conversion.
  • (11) a decoding unit that decodes encoded data of integer precision image data obtained by converting floating point precision image data including a sign, an exponent part, and a mantissa part;
  • An image processing apparatus comprising: a data conversion unit that converts the integer-precision image data obtained by decoding by the decoding unit into the floating-point accuracy image data.
  • the data conversion unit separates the integer precision image data into three data according to the number of bits, and in order from the MSB to the LSB, the data of the sign, the data of the exponent part, and the data of the mantissa part
  • (13) The image processing device according to (11) or (12), wherein the data conversion unit uses the integer precision image data as one of the code data, the exponent data, and the mantissa data. .
  • the data conversion unit may use the integer precision image data as any one of the code data, the exponent data, and the mantissa data, The image processing apparatus according to any one of (11) to (13), in which the integer-precision image data is used as the exponent data or the mantissa data.
  • the decoding unit decodes encoded data of difference data between components of the integer precision image data
  • the data conversion unit converts the difference data obtained by decoding by the decoding unit into the integer precision image data, and further converts into the floating point precision image data (11) to (14)
  • An image processing apparatus according to any one of the above.
  • the decoding unit performs lossless decoding of the encoded data
  • the data converter converts the integer precision image data obtained by the lossless decoding by the decoder to the floating point precision image data
  • the encoded data is a lossy encoded value of floating point precision converted from floating point precision image data consisting of a sign, an exponent part, and a mantissa part
  • the decoding unit performs irreversible decoding of the encoded data
  • the image processing unit according to any one of (11) to (15), wherein the data conversion unit converts the floating-point precision value obtained by irreversible decoding by the decoding unit into the floating-point precision image data.
  • the encoded data is encoded by the JPEG2000 encoding method, The image processing device according to any one of (11) to (16), wherein the decoding unit decodes the encoded data by a JPEG2000 decoding method.
  • An analysis unit that analyzes information related to data conversion of the image data added to the encoded data is further provided, The image processing device according to any one of (11) to (17), wherein the data conversion unit converts the image data into the floating-point precision image data according to an analysis result by the analysis unit.
  • the encoded data is encoded by the JPEG2000 encoding method
  • the analysis unit analyzes the information added to a predetermined position in the JPX file format of the encoded data
  • the image processing device according to (18), wherein the decoding unit decodes the encoded data by a JPEG2000 decoding method.
  • (20) Decoding encoded data of integer-precision image data obtained by converting floating-point precision image data including a sign, an exponent part, and a mantissa part; An image processing method for converting the integer precision image data obtained by decoding into the floating point precision image data.

Abstract

 本技術は、浮動小数点精度の画像データの符号化・復号の負荷の増大を抑制することができるようにする画像処理装置および方法に関する。 本技術の画像処理装置は、符号、指数部、仮数部よりなる浮動小数点精度の画像データを整数精度の画像データに変換し、変換されて得られた前記整数精度の画像データを符号化する。本技術は、例えば、画像データの符号化を行う符号化装置や画像データが符号化された符号化データを復号する復号装置等の画像処理装置等に適用することができる。

Description

画像処理装置および方法
 本技術は、画像処理装置および方法に関し、特に、浮動小数点精度の画像データの符号化・復号の負荷の増大を抑制することができるようにした画像処理装置および方法に関する。
 従来、浮動小数点精度画像の符号化表現については、これまで多数の研究結果が報告されている(例えば、非特許文献1および非特許文献2参照)。例えば、特許文献1ではトーンマッピングを行うことで、低ビット深度画像を作成し、その復号画像と原画像との差分を別の符号化器で符号化する2段構成の符号化方法が提案された。また、特許文献2では、トーンマッピングの代わりにLloyd-Max量子化を適用することで、非可逆圧縮時のビットレートを低減することが検討された。
M.Winken, D.Marpe, etc, "Bit-depth Scalable Video Coding", Proc. IEEE Intl. Conf. on Image Processing, pp.I-5~I-7, 2007 伊藤、坂東、高村、上倉、八島, "ビット深度変換処理を用いた高ビット深度画像の符号化に関する基礎検討", 2009信学総大, S-5, 2009
 しかしながら、これらの手法では、符号化や復号の処理において、内部の演算精度が大きくなってしまい、オーバーフローになるおそれがあった。
 本技術は、このような状況に鑑みて提案されたものであり、浮動小数点精度の画像データの符号化・復号の負荷の増大を抑制することができるようにすることを目的とする。
 本技術の一側面は、符号、指数部、仮数部よりなる浮動小数点精度の画像データを整数精度の画像データに変換するデータ変換部と、前記データ変換部により変換されて得られた前記整数精度の画像データを符号化する符号化部とを備える画像処理装置である。
 前記データ変換部は、前記画像データを、画素毎に、前記符号のデータ、前記指数部のデータ、および前記仮数部のデータの順にMSBからLSBに向かって並べた1つの整数精度のデータに変換することができる。
 前記データ変換部は、前記画像データを、画素毎に、前記符号のデータ、前記指数部のデータ、および前記仮数部のデータのそれぞれが互いに独立した3つの整数精度の画像データに変換することができる。
 前記データ変換部は、前記画像データの各ピクチャの先頭画素について、前記符号のデータ、前記指数部のデータ、および前記仮数部のデータのそれぞれを、互いに独立した3つの整数精度の画像データに変換し、その他の画素について、前記指数部のデータおよび前記仮数部のデータを、互いに独立した2つの整数精度の画像データに変換することができる。
 前記データ変換部は、さらに、前記整数精度の画像データを、画素毎に、コンポーネント間の差分データに変換し、前記符号化部は、前記データ変換部により変換されて得られた前記差分データを符号化することができる。
 前記データ変換部は、前記符号化部が可逆符号化を行う場合、前記浮動小数点精度の画像データを、前記整数精度の画像データに変換し、前記符号化部が非可逆符号化を行う場合、前記浮動小数点精度の画像データを、浮動小数点精度の値に変換し、前記符号化部は、前記可逆符号化を行う場合、前記データ変換部により変換されて得られた前記整数精度の画像データを符号化し、前記非可逆符号化を行う場合、前記データ変換部により変換されて得られた前記浮動小数点精度の値を符号化することができる。
 前記符号化部は、JPEG2000符号化方式により前記画像データを符号化することができる。
 前記データ変換部のデータ変換に関する情報を、前記符号化部により符号化されて得られた符号化データに付加する付加部をさらに備えることができる。
 前記符号化部は、JPEG2000符号化方式により前記画像データを符号化し、前記付加部は、前記情報を、JPXファイルフォーマット内の所定の位置に付加することができる。
 本技術の一側面は、また、符号、指数部、仮数部よりなる浮動小数点精度の画像データを整数精度の画像データに変換し、変換されて得られた前記整数精度の画像データを符号化する画像処理方法である。
 本技術の他の側面は、符号、指数部、仮数部よりなる浮動小数点精度の画像データが変換された整数精度の画像データの符号化データを復号する復号部と、前記復号部により復号されて得られた前記整数精度の画像データを前記浮動小数点精度の画像データに変換するデータ変換部とを備える画像処理装置である。
 前記データ変換部は、前記整数精度の画像データを、ビット数に従って3つのデータに分離し、MSBからLSBに向かう順に、前記符号のデータ、前記指数部のデータ、および前記仮数部のデータとすることができる。
 前記データ変換部は、前記整数精度の画像データを、前記符号のデータ、前記指数部のデータ、前記仮数部のデータのいずれかとすることができる。
 前記データ変換部は、前記画像データの各ピクチャの先頭画素について、前記整数精度の画像データを、前記符号のデータ、前記指数部のデータ、前記仮数部のデータのいずれかとし、その他の画素について、前記整数精度の画像データを、前記指数部のデータ若しくは前記仮数部のデータとすることができる。
 前記復号部は、前記整数精度の画像データのコンポーネント間の差分データの符号化データを復号し、前記データ変換部は、前記復号部により復号されて得られた、前記差分データを前記整数精度の画像データに変換し、さらに、前記浮動小数点精度の画像データに変換することができる。
 前記符号化データが、符号、指数部、仮数部よりなる浮動小数点精度の画像データが変換された整数精度の画像データが可逆符号化されたものである場合、前記復号部は、前記符号化データを可逆復号し、前記データ変換部は、前記復号部により可逆復号されて得られた前記整数精度の画像データを前記浮動小数点精度の画像データに変換し、前記符号化データが、符号、指数部、仮数部よりなる浮動小数点精度の画像データが変換された浮動小数点精度の値が非可逆符号化されたものである場合、前記復号部は、前記符号化データを非可逆復号し、前記データ変換部は、前記復号部により非可逆復号されて得られた前記浮動小数点精度の値を前記浮動小数点精度の画像データに変換することができる。
 前記符号化データは、JPEG2000符号化方式により符号化されており、前記復号部は、JPEG2000復号方式により前記符号化データを復号することができる。
 前記符号化データに付加された画像データのデータ変換に関する情報を解析する解析部をさらに備え、前記データ変換部は、前記解析部による解析結果に従って、前記画像データを前記浮動小数点精度の画像データに変換することができる。
 前記符号化データは、JPEG2000符号化方式により符号化されており、前記解析部は、前記符号化データのJPXファイルフォーマット内の所定の位置に付加された前記情報を解析し、前記復号部は、JPEG2000復号方式により前記符号化データを復号することができる。
 本技術の他の側面は、また、符号、指数部、仮数部よりなる浮動小数点精度の画像データが変換された整数精度の画像データの符号化データを復号し、復号されて得られた前記整数精度の画像データを前記浮動小数点精度の画像データに変換する画像処理方法である。
 本技術の一側面においては、符号、指数部、仮数部よりなる浮動小数点精度の画像データが整数精度の画像データに変換され、変換されて得られた整数精度の画像データが符号化される。
 本技術の他の側面においては、符号、指数部、仮数部よりなる浮動小数点精度の画像データが変換された整数精度の画像データの符号化データが復号され、復号されて得られた整数精度の画像データが浮動小数点精度の画像データに変換される。
 本技術によれば、画像を処理することが出来る。また本技術によれば、浮動小数点精度の画像データの符号化・復号の負荷の増大を抑制することができる。
画像符号化装置の主な構成例を示すブロック図である。 浮動小数点精度の画像データのフォーマットの例を説明する図である。 コンポーネントの構成例を示す図である。 コンポーネントの構成例を示す図である。 JPXファイルフォーマットの構成例を示す図である。 Reader Requirements Boxで定義されたパラメータ群の例を示す図である。 Pixel Format Boxの構成例を示す図である。 Pixel Formatの値と定義の例を示す図である。 Pixel Formatの値と定義の例を示す図である。 非線形変換を施す場合のマーカセグメントの例を示す図である。 拡張マーカセグメントのパラメータ定義の例を示す図である。 浮動小数点精度の変換式の定義の例を示す図である。 画像符号化処理の流れの例を説明するフローチャートである。 画像復号装置の主な構成例を示すブロック図である。 画像復号処理の流れの例を説明するフローチャートである。 画像符号化処理の流れの他の例を説明するフローチャートである。 画像復号処理の流れの他の例を説明するフローチャートである。 画像符号化装置の他の構成例を示すブロック図である。 画像符号化処理の流れのさらに他の例を説明するフローチャートである。 画像復号装置の他の構成例を示すブロック図である。 画像復号処理の流れのさらに他の例を説明するフローチャートである。 コンピュータの主な構成例を示すブロック図である。
 以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
 1.第1の実施の形態(画像符号化装置)
 2.第2の実施の形態(画像復号装置)
 3.第3の実施の形態(画像符号化装置)
 4.第4の実施の形態(画像復号装置)
 5.第5の実施の形態(画像符号化装置)
 6.第6の実施の形態(画像復号装置)
 7.第7の実施の形態(コンピュータ)
 <1.第1の実施の形態>
  <浮動小数点精度の画像データの符号化>
 従来、被写体画像の中に明るい部分と暗い部分が存在すると、明るい部分は白飛び、暗い部分は黒つぶれといった現象が発生していた。これを防ぐために多重露光の複数画像の合成処理によって、明るい部分から暗い部分までカバーできる画像を生成することができる。しかしながらダイナミックレンジが拡大(高ダイナミックレンジ)するので、これを表現するためのビット深度も多く必要になる上、画像データも従来の整数精度から浮動小数点精度にする必要があった。
 浮動小数点精度のデータ表現としては、一般に国際規格であるIEEE 754形式の浮動小数点精度が多用されている。
 例えば、32ビット(単精度)を整数精度で表現した場合の最大値の絶対値は232であるが、浮動小数点精度表現にした場合には、2127付近の値まで拡張可能になることが知られている。従って浮動小数点精度のデータは非常に広範囲のレンジまで表現できるので、高ダイナミックレンジ画像のデータ表現に好適である。しかしながら、エンコードなどの画像処理を行う場合には、データ長が大きいために演算精度のオーバーフローを起こす可能性があった。
 実際の各浮動小数点精度のデータ範囲は、例えば、半精度(16bit)の非正規化表現の場合、2-24乃至2-14であり、正規化表現の場合、2-14乃至65.504である。また、例えば、単精度(32bit)の非正規化表現の場合、±2-149乃至(1-2-23)×2-126であり、正規化表現の場合、±2-126乃至(2-2-23)×2127である。さらに、例えば、倍精度(64bit)の非正規化表現の場合、±2-1074乃至(1-2-52)×2-1022であり、正規化表現の場合、±2-1022乃至(2-2-52)×21023である。正規化表現は一般的な画像データなどを扱う場合に用いられ、非正規化表現は非常に小さい値を表現する際に用いられる。
 このように浮動小数点精度のデータ範囲は非常に広いが、浮動小数点精度のデータのまま可逆エンコードする場合、可逆を保証するためにデータ損失が許されない。従って浮動小数点精度の絶対値のビット深度以上のデータ長が必要になる。そのため、符号化や復号の処理の負荷が増大し、オーバーフローを起こすおそれがあった。換言するに、このようなオーバーフローが生じないようにするために、非常に大きなハードウェアコストにつながるおそれがあった。
 そこで、符号、指数部、仮数部よりなる浮動小数点精度の画像データを符号化する画像処理装置において、その浮動小数点精度の画像データを整数精度の画像データに変換するデータ変換部と、そのデータ変換部により変換されて得られた整数精度の画像データを符号化する符号化部とを備えるようにする。つまり、符号、指数部、仮数部よりなる浮動小数点精度の画像データを符号化する際に、その浮動小数点精度の画像データを整数精度の画像データに変換し、変換されて得られた整数精度の画像データを符号化するようにする。
 このようにすることにより、整数精度での符号化が可能になり、データ範囲の増大を抑制することができるので、データ長の増大を抑制することができ、浮動小数点精度の画像データの符号化処理の負荷の増大を抑制することができる。したがって、オーバーフローの発生を抑制することができ、ハードウェアコストの増大を抑制することができる。
 なお、固定小数点精度の画像データは、整数精度の画像データと同様に処理することができるため、その説明は省略する。以下においては、画像データが整数精度の場合と浮動小数点精度の場合についてのみ説明する。
  <画像符号化装置>
 図1は、本技術を適用した画像処理装置の一実施の形態である画像符号化装置の主な構成例を示すブロック図である。図1に示される画像符号化装置100は、入力される浮動小数点精度の画像データを符号化し、符号化データ(コードストリーム)を出力する。
 図1に示されるように、画像符号化装置100は、解析部111、データ変換部112、ウェーブレット変換部113、選択部114、量子化部115、EBCOT(Embedded Block Coding with Optimized Truncation)部116、およびファイルフォーマット生成部117を有する。
 解析部111は、入力される画像データを解析し、画像データが浮動小数点精度であるか否かを判定する。解析部111は、その判定結果に基づいて、データ変換部112乃至ファイルフォーマット生成部117の動作を制御する。
 データ変換部112は、解析部111による解析の結果(判定結果)に基づいて、入力される画像データが浮動小数点精度の場合、その浮動小数点精度の画像データを整数精度の画像データに変換する。このデータ変換の詳細については後述する。データ変換部112は、変換後の整数精度の画像データをウェーブレット変換部113に供給する。なお、データ変換部112は、入力画像データが整数精度の場合、データ変換を省略し、整数精度のまま、画像データをウェーブレット変換部113に供給する。
 ウェーブレット変換部113は、供給された整数精度の画像データに対してウェーブレット変換を施す。ウェーブレット変換部113は、整数精度の画像データに対して、分析フィルタによりフィルタ処理を施して低域成分および高域成分の係数のデータを生成する処理を、その生成された低域成分の係数データに対して再帰的に繰り返す。ウェーブレット変換部113は、分析フィルタとして水平分析フィルタと垂直分析フィルタとを有し、画面水平方向と画面垂直方向の両方についてこのようなフィルタ処理を行う。ウェーブレット変換部113は、フィルタ処理を所定回数繰り返し、分解レベルが所定レベルに達したら、その階層化された係数データを選択部114に供給する。
 なお、ウェーブレット変換部113が用いるフィルタの種類は任意である。例えば、ウェーブレット変換部113が5/3フィルタを用いるようにしてもよいし、9/7フィルタを用いるようにしてもよい。また、例えば、可逆符号化を行う場合、ウェーブレット変換部113が5/3フィルタを用いるようにし、非可逆符号化を行う場合、ウェーブレット変換部113が9/7フィルタを用いるようにしてもよい。
 選択部114は、係数データの供給先を選択する。選択部114は、非可逆符号化が行われる場合、係数データを量子化部115に供給する。また、選択部114は、可逆符号化が行われる場合、係数データをEBCOT部116に供給する。つまり、この場合、量子化処理が省略される。
 可逆符号化を行うか非可逆符号化を行うかは、任意の情報に基づいて決定されるようにしてよい。例えば、ユーザ等により予め設定されるようにしてもよいし、画像データや処理の負荷等に応じて適宜決定されるようにしてもよい。なお、画像符号化装置100が可逆符号化若しくは非可逆符号化のいずれか一方のみ行うことができるようにしてもよい。その場合、選択部114は省略することができる(可逆符号化の場合は量子化部115も省略することができる)。
 量子化部115は、選択部114より供給された係数データを量子化し、EBCOT部116に供給する。
 EBCOT部116は、選択部114若しくは量子化部115から供給された係数データをエントロピ符号化し、符号化データを生成する。EBCOT部116は、生成された符号化データをファイルフォーマット生成部117に供給する。
 ファイルフォーマット生成部117は、解析部111の解析結果(判定結果)に応じて、供給された符号化データを用いて、JPEG(Joint Photographic Experts Group)2000の規格に準拠したファイル(JPEG2000ファイル)を生成する。例えば、解析部111により、画像符号化装置100に入力された画像データが浮動小数点精度と判定された場合、ファイルフォーマット生成部117は、その旨を示す付加情報を生成し、EBCOT部116から供給された符号化データを含むJPEG2000ファイルに付加する。このJPEG2000ファイルや付加情報の詳細については後述する。
 ファイルフォーマット生成部117は、生成したファイルを画像符号化装置100の外部に出力する。
 図1に示されるように、ウェーブレット変換部113乃至EBCOT部116をまとめて符号化部120としてもよい。上述したウェーブレット変換部113乃至EBCOT部116の構成は、画像符号化装置100が画像データをJPEG2000方式で符号化する場合の構成例である。例えば入力画像データが自然画像の場合、図1の例のようにJPEG2000方式を適用することにより、高い圧縮率を実現することができる。
 しかしながら、画像符号化装置100の符号化方式は任意であり、JPEG2000に限定されない。つまり、符号化部120の内部の構成は任意であり、図1の例に限定されない。画像の種類や特徴に応じて、より適したものを使い分けるのが望ましい。
  <浮動小数点精度の画像データ>
 浮動小数点精度のデータ値は、IEEE754フォーマットでは、符号(S)と、指数部(E)と仮数部(M)によって表現される。16ビットの半精度浮動小数点は、インダストリアル・ライト&マジック社が開発したフォーマットであり、高ダイナミックレンジに対応しながらハードディスクやメモリのコストを多く必要としない特徴を持つ。この単精度の浮動小数点精度のフォーマットは例えば、OpenEXR、OpenGL、D3DXなどの幾つかのコンピュータグラフィックス環境で使われている。
 その中でもOpenEXRは、最近の高ダイナミックレンジ画像のデファクトフォーマットとして多用されている。図2に示されるように、符号ビット(S)が1ビット、Exponent(指数部)が5ビット、Mantissa(仮数部)が10ビットから構成されている。
 画像符号化装置100においては、これら3つのデータを整数値として扱う。例えば、データ変換部112が、これらの符号(S)、指数部(E)、仮数部(M)の3つのデータを、それぞれに割り当てられたビット深度の合計のビット深度の、整数精度の画像データに変換するようにしてもよい。つまり、データ変換部112が、符号、指数部、仮数部よりなる浮動小数点精度の画像データを、画素毎に、符号のデータ、指数部のデータ、および仮数部のデータの順にMSBからLSBに向かって並べた1つの整数精度のデータに変換するようにしてもよい。
 この場合、1画素当たり合計16ビット長の整数データをエンコードするのと等価である。符号化部120が可逆圧縮を行う場合、符号(S)、指数部(E)、仮数部(M)の3つの値はすべて保証される。つまり、この場合、水平H×垂直Vの解像度の入力画像データがRGBの3コンポーネントで構成されるとすると、図3に示されるように、16ビット深度の画像データ(解像度はすべて水平H×垂直V=HV)の3コンポーネントが符号化される。
 なお、データ変換部112が、符号(S)、指数部(E)、仮数部(M)の3つのデータを、それぞれ整数精度の画像データに変換するようにしてもよい。つまり、データ変換部112が、符号、指数部、仮数部よりなる浮動小数点精度の画像データを、画素毎に、符号のデータ、指数部のデータ、および仮数部のデータのそれぞれが互いに独立した3つの整数精度の画像データに変換するようにしてもよい。
 この場合、図4に示されるように、入力画像データは、データ変換部112のデータ変換により、コンポーネント毎に、符号(S)1ビットの画像、指数部(E)5ビットの画像、仮数部(M)10ビットの画像に分割される。符号化部120は、これらを別個に符号化する。つまり、水平H×垂直Vの解像度の入力画像データがRGBの3コンポーネントで構成されるとすると、3コンポーネント×3画像=9個の画像(解像度はすべて水平H×垂直V=HV)が符号化される。
 なお、符号(S)は、画素間で相関性が高い。つまり、各画素データにおいて符号(S)の値は変化しない場合が多い。そこで、この符号(S)は、例えばピクチャの先頭の(最初に処理される)画素においてのみ符号化するようにし、その後の画素については、この符号(S)の符号化を省略するようにしてもよい。その場合、復号の際には、ピクチャの先頭以外の画素の符号(S)の値には、そのピクチャの先頭の画素の符号(S)を適用するようにすればよい。
 つまり、データ変換部112が、画像データの各ピクチャの先頭画素について、符号のデータ、指数部のデータ、および仮数部のデータのそれぞれを、互いに独立した3つの整数精度の画像データに変換し、その他の画素について、指数部のデータおよび仮数部のデータを、互いに独立した2つの整数精度の画像データに変換するようにしてもよい。このようにすることにより、符号化効率を向上させる(符号(S)による符号量の増大を抑制する)ことができる。
 また、以上においては、RGBの各コンポーネントを個別に符号化するように説明したが、これに限らず、例えば、コンポーネント間の差分データを符号化するようにしてもよい。つまり、データ変換部112が、浮動小数点精度の画像データを整数精度の画像データに変換し、さらにそれを、画素毎に、コンポーネント間の差分データに変換するようにしてもよい。その場合、符号化部120は、データ変換部112により変換されて得られた差分データを符号化する。
 例えば、以下の式(1)乃至式(4)のようにX, Y, X', Y'を定義し、このX, Y, X', Y'をそれぞれ符号化するようにしてもよい。
 X=(G-B)/2 ・・・(1)
 Y=(G+B)/2 ・・・(2)
 X'=(G-R)/2 ・・・(3)
 Y'=(G+R)/2 ・・・(4)
 また、例えば、上述した式(1)および式(2)のようにX, Yを定義し、このX, YとRをそれぞれ符号化するようにしてもよい。つまり、一部のコンポーネントのみ差分データ化するようにしてもよい。もちろん、差分データの生成方法(コンポーネントの組み合わせ等)は任意であり、上述した例に限定されない。例えば、上述した例ではGを基準として差分データを求めているが、Bを基準としてもよいし、Rを基準としてもよい。また、例えば、差分データを求める式も上述した例以外であってもよい。さらに、RGB以外のコンポーネントであってもよい。
  <ファイルフォーマット>
 次に付加情報について説明する。JPEG2000は圧縮コーデック技術であるが、多くの機能を持っているため付加情報も符号化結果と合わせてファイル化することができる。図5はJPEG2000の拡張ファイルフォーマット(JPX)の構成図である。図15に示されるように、JPXファイルフォーマットは、個々のボックス構造から構成されている。EBCOT部116において生成された符号化データは、Continuous Codestream Box(M.11.8)に格納される。
 JPEG2000 Part1では、基本的に入力画像は整数精度の画像と決まっているので、浮動小数点精度の画像入力の場合このJPXファイルフォーマット中で定義するのが効率的である。
 図5のリーダーリクイラメンツボックス(Reader Requirements Box(M.11.1))では、入力画像のフォーマット、例えば整数精度、固定小数点精度、更に浮動小数点精度の何れかの定義が可能である。従って、入力画像フォーマットが浮動小数点精度の場合、このボックスに浮動小数点精度であることを示すパラメータを定義するようにしてもよい。
 図6は、このReader Requirements Boxで定義されるパラメータ群の例を示す図である。この中で、Value=80は画像データが固定小数点精度、Value=81は画像データが浮動小数点精度、Value=82は画像データがMantissa(仮数)、Exponent(指数)を用いることを定義する。従って、上述したように入力画像データが浮動小数点精度であり、かつ、OpenEXRのように符号(S)、指数部(E)、仮数部(M)の3つを用いる場合、Value=82を選択すればよい。
 また、拡張フォーマットしてピクセルフォーマットボックス(Pixel Format Box(M11.7,8))を、図7の様に定義するようにしてもよい。この中でFN-1がピクセルフォーマット(Pixel Format)で実際に画像データの精度を定義するパラメータである(N=コンポーネント数でありRGBの場合にはN=3)。図8はこのPixel Format(F)の値とその定義を示したものであり、例えば浮動小数点精度の場合には、0100 mmmm mmmm mmmmが選択される。さらに、浮動小数点精度で且つIEC 60559(IEEE 754と同一)に準拠の場合には、図9で示した様に、半精度(0100 0000 0000 1010)、単精度(0100 0000 0001 0111)、倍精度(0100 0000 0011 0100)の何れかが選択される。
 図10は非線形変換(Non-linearity Point Transformation)の処理をコンポーネントに対して施す場合に用いるマーカセグメントである。TnltがNo-linearity typeを示し、既存のフォーマットではTnlt=1及び2の値のみ定義されている。またSTnltはTnltに連動して定義されるパラメータ群である。
 図11は、拡張マーカセグメントNLT(Non-linearity Point Transformation)内の、Tnlt(Non-linearity type)によるパラメータ定義である。既にガンマ変換(Gamma-style non-linearity transformation)とルックアップテーブル変換(LUT-style non-linearity transformation)は定義済である。従って、浮動小数点精度の変換式の定義を新たに定義して、このテーブルに追加する。具体的にはValue=0000 0011としてInteger-Float Transformationと定義し、具体的な変換式に関しては図12に示されるテーブルにおいて指定する。
 図12は、Tnlt=3の具体的な変換式を示したもので、半精度、単精度、倍精度毎の浮動小数点精度への変換式を定義した。尚、半精度、単精度、倍精度のどのタイプが選択するかは、前述のReader Requirements Boxで定義されたパラメータによって定義されているので、このValuesにおいて定義された変換式に従ってhの値を算出すれば良い。
 以上のように画像符号化装置100は、浮動小数点精度の画像データを整数精度の画像データに変換して符号化するので、データ長の増大を抑制し、負荷の増大を抑制することができる。特に可逆符号化の場合、データ長の増大をより抑制し、負荷の増大をより抑制することができる。また、非可逆符号化の場合、データ長の増大を抑制することにより、切り捨てや量子化などによる情報量の低減を抑制することができ、復号画像の画質の低減を抑制することができる。
 また、上述したように画像データの精度に関する情報を付加情報として符号化データに付加することにより、復号の際のデータ変換の必要性やその方法等の把握が容易になる。つまり、復号処理の負荷を低減させることもできる。
 なお、画像データの精度に関する情報の付加の仕方は任意である。例えば、付加情報をファイルのどの位置に格納するようにしてもよい。また、符号化データと付加情報をそれぞれファイル化し、それらを互いに関連付けるようにしてもよい。さらに、画像データの下位ビットに付加情報を格納し、それを符号化するようにしてもよい。
  <画像符号化処理の流れ>
 図13のフローチャートを参照して、図1の画像符号化装置100による画像符号化処理の流れの例を説明する。画像データが入力されると、画像符号化処理が開始される。
 解析部111は、ステップS101において、入力された画像データを解析し、ステップS102において、その画像データが浮動小数点精度であるか否かを判定する。浮動小数点精度の画像データが入力されたと判定された場合、処理は、ステップS103に進む。
 ステップS103において、データ変換部112は、浮動小数点精度の画像データの符号、指数部、仮数部を、上述したように整数精度の画像データに変換する。変換が終了すると、処理はステップS104に進む。また、ステップS102において、入力された画像データが整数精度であると判定された場合、処理は、ステップS104に進む。
 ステップS104において、ウェーブレット変換部113は、画像データに対してウェーブレット変換を行う。
 ステップS105において、選択部114は、非可逆方式で符号化するか否かを判定する。非可逆符号化を行うと判定された場合、処理はステップS106に進む。
 ステップS106において、量子化部115は、画像データがウェーブレット変換された係数データを量子化する。量子化が終了すると、処理はステップS107に進む。また、ステップS105において、可逆符号化を行うと判定された場合、処理はステップS107に進む。
 ステップS107において、EBCOT部116は、係数データ(若しくは量子化された係数データ)をエントロピ符号化する。
 ステップS108において、ファイルフォーマット生成部117は、画像データの精度に関する情報を含むようにファイルフォーマットを生成する。
 ステップS108の処理が終了すると、画像符号化処理が終了する。
 以上のように各処理を行うことにより、浮動小数点精度の画像データの符号化・復号の負荷の増大を抑制することができる。
 <2.第2の実施の形態>
  <浮動小数点精度の画像データの復号>
 次に、第1の実施の形態において説明した画像符号化装置100により生成される符号化データ(コードストリーム)の復号について説明する。
 仮に、浮動小数点精度の画像データをそのまま可逆エンコードする場合、可逆を保証するためにデータ損失が許されない。従って浮動小数点精度の絶対値のビット深度以上のデータ長が必要になる。そのため、復号処理においても負荷が増大し、オーバーフローを起こすおそれがあった。換言するに、このようなオーバーフローが生じないようにするために、非常に大きなハードウェアコストにつながるおそれがあった。
 そこで、符号、指数部、仮数部よりなる浮動小数点精度の画像データが変換された整数精度の画像データの符号化データを復号する復号部と、復号部により復号されて得られた整数精度の画像データを浮動小数点精度の画像データに変換するデータ変換部とを備えるようにする。つまり、符号、指数部、仮数部よりなる浮動小数点精度の画像データが変換された整数精度の画像データの符号化データを復号し、復号されて得られた整数精度の画像データを浮動小数点精度の画像データに変換するようにする。
 このようにすることにより、整数精度での符号化が可能になり、データ範囲の増大を抑制することができるので、データ長の増大を抑制することができ、浮動小数点精度の画像データを得るための復号処理の負荷の増大を抑制することができる。したがって、オーバーフローの発生を抑制することができ、ハードウェアコストの増大を抑制することができる。
 なお、第1の実施の形態の場合と同様、固定小数点精度の画像データは、整数精度の画像データと同様に処理することができるため、その説明は省略する。以下においては、画像データが整数精度の場合と浮動小数点精度の場合についてのみ説明する。
  <画像復号装置>
 図14は、本技術を適用した画像処理装置の他の実施の形態である画像復号装置の主な構成例を示すブロック図である。図14に示される画像復号装置200は、画像符号化装置100により生成された符号化データ(コードストリーム)を復号し、復号画像を得る装置である。画像符号化装置100により生成されたファイル(符号化データ(コードストリーム)を含む)は、例えば任意の通信媒体を介して画像復号装置200に伝送されたり、例えば任意の記録媒体に記録され、画像復号装置200によりその記録媒体から読み出されたりする。
 画像復号装置200は、復号して得られる整数精度の画像データをデータ変換し、浮動小数点精度の画像データを出力する。
 図14に示されるように、画像復号装置200は、ファイルフォーマット解析部211、データ抽出部212、EBCOT部213、選択部214、逆量子化部215、ウェーブレット逆変換部216、およびデータ変換部217を有する。
 ファイルフォーマット解析部211は、入力されるファイル(符号化データ(コードストリーム)を含む)のファイルフォーマットを解析し、付加情報から符号化前の画像データが浮動小数点精度であったか否か等を判定する。ファイルフォーマット解析部211は、その判定結果に基づいて、データ抽出部212乃至データ変換部217の動作を制御する。
 例えば、入力されたファイルがJPEG2000ファイルであり、画像データがJPEG2000方式により符号化されており、画像データの精度に関する情報が、図5乃至図12を参照して説明したように、JPXファイルフォーマットに格納されているとする。ファイルフォーマット解析部211は、上述したようにJPXファイルフォーマットの所定の位置に格納された各種情報を参照することにより、符号化前の画像データが浮動小数点精度であったか否か等を判定する。
 データ抽出部212は、ファイルフォーマット解析部211の解析結果等に基づいて、入力されたファイルから符号化データ(コードストリーム)を抽出し、EBCOT部213に供給する。
 EBCOT部213は、ファイルフォーマット解析部211の解析結果等に基づいて、データ抽出部212から供給される符号化データをEBCOT部116のエントロピ符号化に対応する方法でエントロピ復号する。EBCOT部213は、エントロピ復号して得られた係数データを選択部214に供給する。
 選択部214は、ファイルフォーマット解析部211の解析結果等に基づいて、その係数データの供給先を選択する。選択部214は、画像符号化装置100において非可逆符号化が行われた場合、すなわち、非可逆復号する場合、係数データを逆量子化部215に供給する。また、選択部214は、画像符号化装置100において可逆符号化が行われた場合、すなわち、可逆復号する場合、係数データをウェーブレット逆変換部216に供給する。つまり、この場合、逆量子化処理が省略される。
 なお、画像復号装置200が可逆復号若しくは非可逆復号のいずれか一方のみ行うことができるようにしてもよい。その場合、選択部214は省略することができる(可逆復号の場合は逆量子化部215も省略することができる)。
 逆量子化部215は、ファイルフォーマット解析部211の解析結果等に基づいて、選択部214から供給された、量子化された係数データを。量子化部115において行われた量子化に対応する方法で逆量子化する。逆量子化部215は、逆量子化した係数データをウェーブレット逆変換部216に供給する。
 ウェーブレット逆変換部216は、ファイルフォーマット解析部211の解析結果等に基づいて、選択部214若しくは逆量子化部215から供給された係数データを、ウェーブレット変換部113によるウェーブレット変換に対応する方法でウェーブレット逆変換する。これにより、整数精度の画像データが得られる。
 データ変換部217は、ファイルフォーマット解析部211の解析結果等に基づいて、符号化前の画像データが浮動小数点精度であった場合、整数精度の画像データを浮動小数点精度の画像データに変換する。つまり、データ変換部217は、整数精度の画像データから、符号(S)のデータ、指数部(E)のデータ、仮数部(M)のデータを生成する。
 例えば、ウェーブレット逆変換部216から供給された整数精度の画像データが、図3を参照して説明したような、符号(S)、指数部(E)、仮数部(M)の3つのデータのそれぞれに割り当てられたビット深度の合計のビット深度の、整数精度の画像データである場合、データ変換部217は、その整数精度の画像データを符号(S)、指数部(E)、仮数部(M)のそれぞれのビット数で分割し、符号(S)、指数部(E)、仮数部(M)の3つのデータに変換する。例えば、図2の場合、データ変換部217は、16ビットの整数精度の画像データを、MSBからLSBに向かって、最初の1ビットを符号(S)のデータとし、次の5ビットを指数部(E)のデータとし、残りの10ビットを仮数部(M)のデータとする。
 このように、データ変換部217が、整数精度の画像データを、ビット数に従って3つのデータに分離し、MSBからLSBに向かう順に、符号(S)のデータ、指数部(E)のデータ、仮数部(M)のデータとするようにしてもよい。
 また、例えば、ウェーブレット逆変換部216から供給された整数精度の画像データが、図4を参照して説明したような、符号(S)、指数部(E)、仮数部(M)の3つのデータがそれぞれ整数精度の画像データに変換されたものである場合、データ変換部217は、その3つの整数精度の画像データを、それぞれ符号(S)のデータ、指数部(E)のデータ、仮数部(M)のデータとする。つまり、データ変換部217が、整数精度の画像データを、符号のデータ、指数部のデータ、仮数部のデータのいずれかとするようにしてもよい。
 整数精度の画像データを、符号のデータにするか、指数部のデータにするか、仮数部のデータにするかの判断基準は任意であるが、例えば、データ長が1ビットなら符号(S)のデータとし、データ長が5ビットなら指数部(E)のデータとし、データ長が10ビットなら仮数部(M)のデータとする等、データ長に基づいて判断してもよい。また、例えば、先頭の画像データを符号(S)のデータとし、次の画像データを指数部(E)のデータとし、その次の画像データを仮数部(M)のデータとし、さらにその次の画像データを符号(S)のデータとする等、データの並び(順序)に応じて判断されるようにしてもよい。
 さらに例えば、ウェーブレット逆変換部216から供給された整数精度の画像データが、画像データの各ピクチャの先頭画素について、符号のデータ、指数部のデータ、および仮数部のデータのそれぞれが、互いに独立した3つの整数精度の画像データに変換され、その他の画素について、指数部のデータおよび仮数部のデータが、互いに独立した2つの整数精度の画像データに変換されたものである場合、データ変換部217は、各ピクチャの先頭画素については、3つの整数精度の画像データを、それぞれ符号(S)のデータ、指数部(E)のデータ、仮数部(M)のデータとし、その他の画素については、2つの整数精度の画像データを、それぞれ指数部(E)のデータ、仮数部(M)のデータとする。
 つまり、データ変換部217が、画像データの各ピクチャの先頭画素について、整数精度の画像データを、その順序やデータ長等に応じて、符号のデータ、指数部のデータ、仮数部のデータのいずれかとし、その他の画素について、整数精度の画像データを、その順序やデータ長等に応じて、指数部のデータ若しくは仮数部のデータとするようにしてもよい。
 この場合も、整数精度の画像データを、符号のデータにするか、指数部のデータにするか、仮数部のデータにするかの判断基準は任意である。例えば、データ長に基づいて判断されるようにしてもよいし、データの並び(順序)に基づいて判断されるようにしてもよい。
 また、例えば、ウェーブレット逆変換部216から供給された整数精度の画像データが、コンポーネント間の差分データである場合、データ変換部217は、差分データから各コンポーネントデータを求め、その各コンポーネントのデータをそれぞれ浮動小数点精度に変換する。
 例えば、第1の実施の形態において説明したように、RGBコンポーネントの画像データについて、上述した式(1)乃至式(4)のようにX, Y, X', Y'を定義し、このX, Y, X', Y'をそれぞれ符号化する場合、ウェーブレット逆変換部216からは、このX, Y, X', Y'が供給される。この場合、データ変換部217は、例えば以下の式(5)乃至式(7)のようにR, G, Bをそれぞれ求める。
 G=X+Y ・・・(5)
 B=Y-X ・・・(6)
 R=Y'-X' ・・・(7)
 そして、データ変換部217は、このR,G,Bの各コンポーネントの整数精度の画像データをそれぞれ浮動小数点精度に変換する。
 また、例えば、第1の実施の形態において説明したように、RGBコンポーネントの画像データについて、上述した式(1)および式(2)のようにX, Yを定義し、このX, YとRをそれぞれ符号化する場合、ウェーブレット逆変換部216からは、このX, Y, Rが供給される。この場合、データ変換部217は、例えば、上述した式(5)および式(6)のようにG, Bを求める(Rは、変換せずに得られる)。
 そして、データ変換部217は、このR,G,Bの各コンポーネントの整数精度の画像データをそれぞれ浮動小数点精度に変換する。
 つまり、データ変換部217が、復号されて得られた差分データを整数精度の画像データに変換し、さらに、浮動小数点精度の画像データに変換するようにしてもよい。もちろん、第1の実施の形態において説明したように、差分データの生成方法(コンポーネントの組み合わせ等)は任意であり、上述した例に限定されない。いずれの場合においても、データ変換部217は、データ変換部112による整数精度化に対応する方法で浮動小数点精度化するようにすればよい。
 データ変換部217は、変換後の浮動小数点精度の画像データを画像復号装置200の外部に出力する。なお、符号化前の画像データが整数精度であった場合、データ変換部217は、データ変換を省略し、供給された整数精度の画像データをそのまま画像復号装置200の外部に出力する。
 図14に示されるように、EBCOT部213乃至ウェーブレット逆変換部216をまとめて復号部220としてもよい。上述したEBCOT部213乃至ウェーブレット逆変換部216の構成は、画像復号装置200が符号化データをJPEG2000方式で復号する場合の構成例である。しかしながら、画像復号装置200の復号方式は、画像符号化装置100の符号化方式に対応するものであれば任意であり、JPEG2000に限定されない。つまり、復号部220の内部の構成は任意であり、図14の例に限定されない。画像の種類や特徴に応じて、より適したものを使い分けるのが望ましい。
 以上のように画像復号装置200は、浮動小数点精度の画像データが整数精度の画像データに変換されて符号化された符号化データを復号し、得られた整数精度の画像データを浮動小数点精度に変換するので、データ長の増大を抑制し、負荷の増大を抑制することができる。特に可逆復号の場合、データ長の増大をより抑制し、負荷の増大をより抑制することができる。また、非可逆復号の場合、データ長の増大を抑制することにより、切り捨てや量子化などによる情報量の低減を抑制することができ、復号画像の画質の低減を抑制することができる。
 また、上述したように、符号化データに付加された、画像データの精度に関する情報を解析するので、より容易に、復号の際のデータ変換の必要性やその方法等を把握することができる。つまり、復号処理の負荷を低減させることができる。
 なお、ファイルフォーマット解析部211が解析する付加情報(画像データの精度に関する情報)は、ファイルのどの位置に格納されていてもよい。また、付加情報が符号化データのファイルと異なるファイルとしてファイル化されていてもよい。その場合、両ファイルが互いに関連付けられていれば、ファイルフォーマット解析部211は、その関連付けに従って容易に復号するファイルに必要な付加情報を得ることができる。さらに、付加情報が画像データの下位ビットに格納されて、符号化されていてもよい。
  <画像復号処理の流れ>
 図15のフローチャートを参照して、図14の画像復号装置200による画像復号処理の流れの例を説明する。符号化データを含むファイルが入力されると、画像復号処理が開始される。
 ファイルフォーマット解析部211は、ステップS201において、ファイルフォーマットを解析する。
 ステップS202において、データ抽出部212は、ステップS201の解析結果に基づいて、入力されたファイルから、画像データの符号化データを抽出する。
 ステップS203において、EBCOT部213は、ステップS201の解析結果に基づいて、抽出された符号化データをエントロピ復号する。
 ステップS204において、選択部214は、ステップS201の解析結果に基づいて、EBCOT部213が復号した符号化データが非可逆方式で符号化されていたか否かを判定する。非可逆方式で符号化されていたと判定された場合、処理はステップS205に進む。
 ステップS205において、逆量子化部215は、ステップS201の解析結果に基づいて、エントロピ復号されて得られた係数データを逆量子化する。逆量子化が終了すると、処理はステップS206に進む。また、ステップS204において、可逆方式で符号化されていたと判定された場合、処理はステップS206に進む。
 ステップS206において、ウェーブレット逆変換部216は、ステップS201の解析結果に基づいて、係数データをウェーブレット逆変換する。
 ステップS207において、データ変換部217は、ステップS201の解析結果に基づいて、符号化前の画像データが浮動小数点精度であるか否かを判定する。符号化前の画像データが浮動小数点精度であると判定された場合、処理はステップS208に進む。
 ステップS208において、データ変換部217は、ステップS201の解析結果に基づいて、整数精度の画像データを、符号(S)、指数部(E)、仮数部(M)に変換する。データ変換が終了すると、画像復号処理が終了する。また、ステップS207において、符号化前の画像データが整数精度であると判定された場合、画像復号処理が終了する。
 以上のように各処理を行うことにより、浮動小数点精度の画像データを得るための復号の負荷の増大を抑制することができる。
 <3.第3の実施の形態>
  <画像符号化装置>
 以上においては、符号、指数部、仮数部よりなる浮動小数点精度の画像データを整数精度に変換するように説明したが、これに限らず、符号、指数部、仮数部よりなる浮動小数点精度の画像データを浮動小数点精度の値hに変換するようにしてもよい。
 例えば、図2の例のように、1ビットの符号(S)、5ビットの指数部(E)、10ビットの仮数部(M)によって示される浮動小数点精度の画像データは、指数部(E)がゼロ値である場合、以下の式(8)に示されるように、浮動小数点精度の値hに変換することができる。
 h=(-1)s×2(-14)×(M/210) ・・・・・(8)
 また、指数部(E)がゼロ値でない場合、浮動小数点精度の画像データは、以下の式(9)に示されるように、浮動小数点精度の値hに変換することができる。
 h=(-1)s×2(E-15)×(1+M/210) ・・・(9)
 この場合の画像符号化装置の構成例は、第1の実施の形態の場合と同様である。つまり、図1に示される画像符号化装置100を適用することができる。
 ただし、この場合、データ変換部112は、符号、指数部、仮数部よりなる浮動小数点精度の画像データを、上述した式(8)若しくは式(9)のように、浮動小数点精度の値hに変換する。ウェーブレット変換部113乃至ファイルフォーマット生成部117は、この浮動小数点精度の値hを画像データとして処理する。また、ファイルフォーマット生成部117は、第1の実施の形態の場合と同様に、付加情報を生成し、例えばJPXファイルフォーマットに格納する。
 このようにすることにより、画像符号化装置100は、浮動小数点精度の画像データを符号化することができる。特に非可逆符号化の場合、入力が浮動小数点精度であっても、所定ビット精度以上は切り捨てまたは丸め処理、或いは量子化によるビット深度削減効果があるため、符号化処理の負荷の増大を抑制し、オーバーフローを回避することができる。
 また、第1の実施の形態の場合と同様に、画像データの精度に関する情報を付加情報として符号化データに付加することにより、復号の際のデータ変換の必要性やその方法等の把握が容易になる。つまり、復号処理の負荷を低減させることもできる。
 なお、第1の実施の形態の場合と同様、固定小数点精度の画像データは、整数精度の画像データと同様に処理することができるため、その説明は省略する。以下においては、画像データが整数精度の場合と浮動小数点精度の場合についてのみ説明する。
  <画像符号化処理の流れ>
 図16のフローチャートを参照して、この場合の画像符号化処理の流れの例を説明する。画像データが入力されると、画像符号化処理が開始される。
 解析部111は、ステップS301において、入力された画像データを解析し、ステップS302において、その画像データが浮動小数点精度であるか否かを判定する。浮動小数点精度の画像データが入力されたと判定された場合、処理は、ステップS303に進む。
 ステップS303において、データ変換部112は、符号、指数部、仮数部からなる浮動小数点精度の画像データを、浮動小数点精度の値hに変換する。変換が終了すると、処理はステップS304に進む。また、ステップS302において、入力された画像データが整数精度であると判定された場合、処理は、ステップS304に進む。
 ステップS304において、ウェーブレット変換部113は、画像データに対してウェーブレット変換を行う。
 ステップS305において、選択部114は、非可逆方式で符号化するか否かを判定する。非可逆符号化を行うと判定された場合、処理はステップS306に進む。
 ステップS306において、量子化部115は、画像データがウェーブレット変換された係数データを量子化する。量子化が終了すると、処理はステップS307に進む。また、ステップS305において、可逆符号化を行うと判定された場合、処理はステップS307に進む。
 ステップS307において、EBCOT部116は、係数データ(若しくは量子化された係数データ)をエントロピ符号化する。
 ステップS308において、ファイルフォーマット生成部117は、画像データの精度に関する情報を含むようにファイルフォーマットを生成する。
 ステップS308の処理が終了すると、画像符号化処理が終了する。
 以上のように各処理を行うことにより、浮動小数点精度の画像データの符号化・復号の負荷の増大を抑制することができる。
 <4.第4の実施の形態>
  <画像符号化装置>
 次に、第3の実施の形態において説明した画像符号化装置100により生成される符号化データ(コードストリーム)の復号について説明する。
 以上においては、第3の実施の形態において説明したように、符号、指数部、仮数部よりなる浮動小数点精度の画像データが浮動小数点精度の値hに変換されて符号化される場合、その符号化データを復号し、得られた浮動小数点精度の値hを符号、指数部、仮数部よりなる浮動小数点精度の画像データに変換するようにしてもよい。
 この場合の画像復号装置の構成例は、第2の実施の形態の場合と同様である。つまり、図14に示される画像復号装置200を適用することができる。
 ただし、この場合、データ変換部217は、浮動小数点精度の値hを、上述した式(8)若しくは式(9)を用いて、符号、指数部、仮数部よりなる浮動小数点精度の画像データに変換する。ファイルフォーマット解析部211乃至ウェーブレット逆変換部216は、第2の実施の形態の場合と同様に各処理を行う。
 以上のように画像復号装置200は、符号、指数部、仮数部よりなる浮動小数点精度の画像データが浮動小数点精度の値hの画像データに変換されて符号化された符号化データを復号し、得られた浮動小数点精度の値hを符号、指数部、仮数部に変換するので、データ長の増大を抑制し、負荷の増大を抑制することができる。特に非可逆復号の場合、所定ビット精度以上は切り捨てまたは丸め処理、或いは量子化によるビット深度削減効果があるため、オーバーフローを回避することができる。
 また、上述したように、符号化データに付加された、画像データの精度に関する情報を解析するので、より容易に、復号の際のデータ変換の必要性やその方法等を把握することができる。つまり、復号処理の負荷を低減させることができる。
 <5.第5の実施の形態>
  <画像符号化装置>
 第1の実施の形態において説明したように、可逆符号化の場合、浮動小数点精度の画像データを整数精度の画像データに変換して符号化することにより、データ長の増大をより抑制し、負荷の増大をより抑制することができる。また、第3の実施の形態において説明したように、非可逆符号化の場合、入力画像データが浮動小数点精度であっても、所定ビット精度以上は切り捨てまたは丸め処理、或いは量子化によるビット深度削減効果があるため、符号化処理の負荷の増大を抑制し、オーバーフローを回避することができる。
 そこで、画像符号化装置が、可逆符号化の場合、浮動小数点精度の画像データを、整数精度の画像データに変換して符号化し、非可逆符号化の場合、浮動小数点精度の画像データを、浮動小数点精度の値に変換して符号化するようにしてもよい。
 つまり、データ変換部112が、符号化部120が可逆符号化を行う場合、浮動小数点精度の画像データを、整数精度の画像データに変換し、符号化部120が非可逆符号化を行う場合、浮動小数点精度の画像データを、浮動小数点精度の値に変換し、符号化部120は、可逆符号化を行う場合、データ変換部112により変換されて得られた整数精度の画像データを符号化し、非可逆符号化を行う場合、データ変換部112により変換されて得られた浮動小数点精度の値を符号化するようにしてもよい。
 その場合の画像符号化装置の主な構成例を、図18に示す。図18に示されるように、この場合、画像符号化装置500は、選択部501、可逆符号化部502、および非可逆符号化部503を有する。
 選択部501は、入力された浮動小数点精度の画像データの供給先を選択する。例えば、選択部501は、入力された浮動小数点精度の画像データを、可逆符号化を行う場合、可逆符号化部502に供給し、非可逆符号化を行う場合、非可逆符号化部503に供給する。
 可逆符号化を行うか非可逆符号化を行うかは、任意の情報に基づいて決定されるようにしてよい。例えば、ユーザ等により予め設定されるようにしてもよいし、画像データや処理の負荷等に応じて適宜決定されるようにしてもよい。
 可逆符号化部502は、選択部501から供給された画像データに対して可逆符号化を行う。その際、可逆符号化部502は、第1の実施の形態と同様に、符号、指数部、仮数部からなる浮動小数点精度の画像データを、整数精度の画像データに変換して符号化する。つまり、可逆符号化部502は、図1の画像符号化装置100と同様の構成を有する。ただし、可逆符号化部502は、可逆符号化のみ行うので、選択部114および量子化部115を省略することができる。可逆符号化部502は、符号化により得られた符号化データを含むファイルを画像符号化装置500の外部に出力する。
 非可逆符号化部503は、選択部501から供給された画像データに対して非可逆符号化を行う。その際、非可逆符号化部503は、第3の実施の形態と同様に、符号、指数部、仮数部からなる浮動小数点精度の画像データを、浮動小数点精度の値hの画像データに変換して符号化する。つまり、非可逆符号化部503は、図1の画像符号化装置100と同様の構成を有する。ただし、非可逆符号化部503は、非可逆符号化のみ行うので、選択部114を省略することができる。非可逆符号化部503は、符号化により得られた符号化データを含むファイルを画像符号化装置500の外部に出力する。
 このようにすることにより、画像符号化装置500は、可逆符号化の場合と、非可逆符号化の場合とで、データ変換の方法や符号化方法を切り替え、いずれの場合も、符号化処理の負荷の増大を抑制し、オーバーフローを回避することができる。また、画像符号化装置500は、画像データの精度に関する情報を付加情報として符号化データに付加するので、復号の際のデータ変換の必要性やその方法等の把握が容易になり、復号処理の負荷を低減させることもできる。
  <画像符号化処理の流れ>
 図19のフローチャートを参照して、この場合の画像符号化処理の流れの例を説明する。画像データが入力されると、画像符号化処理が開始される。
 ステップS501において、選択部501は、入力された画像データを可逆方式で符号化するか否かを判定する。可逆符号化を行うと判定された場合、処理はステップS502に進む。
 ステップS502において、可逆符号化部502は、入力された画像データの浮動小数点精度の符号(S)、指数部(E)、仮数部(M)を、整数精度の画像データに変換し、可逆符号化を行う。ステップS502の処理は、図13のフローチャートを参照して説明した画像符号化処理と同様であるのでその説明を省略する。ただし、可逆符号化が行われるので、図13のステップS105およびステップS106の処理は省略してもよい。
 ステップS502の処理が終了すると、画像符号化処理が終了する。
 また、ステップS501において、非可逆符号化を行うと判定された場合、処理はステップS503に進む。
 ステップS503において、非可逆符号化部503は、入力された画像データの浮動小数点精度の符号(S)、指数部(E)、仮数部(M)を、浮動小数点精度の値hの画像データに変換し、非可逆符号化を行う。ステップS503の処理は、図16のフローチャートを参照して説明した画像符号化処理と同様であるのでその説明を省略する。ただし、非可逆符号化が行われるので、図16のステップS305の処理は省略してもよい。
 ステップS503の処理が終了すると、画像符号化処理が終了する。
 以上のように、各処理を実行することにより、浮動小数点精度の画像データの符号化・復号の負荷の増大を抑制することができる。
 <6.第6の実施の形態>
  <画像復号装置>
 次に、第5の実施の形態において説明した画像符号化装置500により生成される符号化データ(コードストリーム)の復号について説明する。
 画像符号化装置500に対応して、画像復号装置においても、可逆復号の場合、符号化データを復号し、得られた整数精度の画像データを浮動小数点精度の画像データに変換し、非可逆復号の場合、符号化データを復号し、得られた浮動小数点精度の値hの画像データを、符号、指数部、仮数部よりなる浮動小数点精度の画像データに変換するようにしてもよい。
 つまり、符号化データが、符号、指数部、仮数部よりなる浮動小数点精度の画像データが変換された整数精度の画像データが可逆符号化されたものである場合、復号部220は、符号化データを可逆復号し、データ変換部112は、復号部220により可逆復号されて得られた整数精度の画像データを浮動小数点精度の画像データに変換するようにしてもよい。また、符号化データが、符号、指数部、仮数部よりなる浮動小数点精度の画像データが変換された浮動小数点精度の値が非可逆符号化されたものである場合、復号部220は、符号化データを非可逆復号し、データ変換部217は、復号部220により非可逆復号されて得られた浮動小数点精度の値を浮動小数点精度の画像データに変換するようにしてもよい。
 その場合の画像復号装置の主な構成例を、図20に示す。図20に示されるように、この場合、画像復号装置600は、選択部601、可逆復号部602、および非可逆復号部603を有する。
 選択部601は、入力された符号化データを含むファイルの供給先を選択する。例えば、選択部601は、符号化データを可逆復号する場合、入力されたファイルを可逆復号部602に供給する。また、選択部601は、符号化データを非可逆復号する場合、入力されたファイルを非可逆復号部603に供給する。
 可逆復号部602は、選択部601から供給されたファイルに対して可逆復号を行う。その際、可逆復号部602は、第2の実施の形態と同様に、ファイルから符号化データを抽出して可逆復号し、得られた整数精度の画像データを、符号、指数部、仮数部からなる浮動小数点精度の画像データに変換する。つまり、可逆復号部602は、図14の画像復号装置200と同様の構成を有する。ただし、可逆復号部602は、可逆復号のみ行うので、選択部214および逆量子化部215を省略することができる。可逆復号部602は、得られた、符号、指数部、仮数部からなる浮動小数点精度の画像データを画像復号装置600の外部に出力する。
 非可逆復号部603は、選択部601から供給されたファイルに対して非可逆符号化を行う。その際、非可逆復号部603は、第4の実施の形態と同様に、ファイルから符号化データを抽出して非可逆復号し、得られた浮動小数点精度の値hの画像データを、符号、指数部、仮数部からなる浮動小数点精度の画像データに変換する。つまり、非可逆復号部603は、図14の画像復号装置200と同様の構成を有する。ただし、非可逆復号部603は、非可逆復号のみ行うので、選択部214を省略することができる。非可逆復号部603は、得られた、符号、指数部、仮数部からなる浮動小数点精度の画像データを画像復号装置600の外部に出力する。
 このようにすることにより、画像復号装置600は、可逆復号の場合と、非可逆復号の場合とで、データ変換の方法を切り替え、いずれの場合も、符号化処理の負荷の増大を抑制し、オーバーフローを回避することができる。また、画像復号装置600は、付加情報として符号化データに付加された、画像データの精度に関する情報を参照し、その情報に基づいて復号を行うので、データ変換の必要性やその方法等を容易に把握することができ、復号処理の負荷を低減させることもできる。
  <画像符号化処理の流れ>
 図21のフローチャートを参照して、この場合の画像復号処理の流れの例を説明する。画像データが入力されると、画像復号処理が開始される。
 ステップS601において、選択部601は、入力されたファイルの符号化データが可逆方式で符号化されているか否かを判定する。可逆符号化されていると判定された場合、処理はステップS602に進む。
 ステップS602において、可逆復号部602は、入力されたファイルから符号化データを抽出し、その符号化データに対して可逆復号を行い、得られた整数精度の画像データを、符号(S)、指数部(E)、仮数部(M)からなる浮動小数点精度の画像データに変換する。ステップS602の処理は、図15のフローチャートを参照して説明した画像復号処理と同様であるのでその説明を省略する。ただし、可逆復号が行われるので、図15のステップS204およびステップS205の処理は省略してもよい。
 ステップS602の処理が終了すると、画像復号処理が終了する。また、ステップS601において、非可逆符号化されていると判定された場合、処理はステップS603に進む。
 ステップS603において、非可逆復号部603は、入力されたファイルから符号化データを抽出し、その符号化データに対して非可逆復号を行い、得られた浮動小数点精度の値hの画像データを、符号(S)、指数部(E)、仮数部(M)からなる浮動小数点精度の画像データに変換する。ただし、非可逆復号が行われるので、図15のステップS204の処理は省略してもよい。
 ステップS603の処理が終了すると、画像復号処理が終了する。
 以上のように、各処理を実行することにより、浮動小数点精度の画像データの復号の負荷の増大を抑制することができる。
 <7.第7の実施の形態>
  <コンピュータ>
 上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
 図22は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 図22に示されるコンピュータ700において、CPU(Central Processing Unit)701、ROM(Read Only Memory)702、RAM(Random Access Memory)703は、バス704を介して相互に接続されている。
 バス704にはまた、入出力インタフェース710も接続されている。入出力インタフェース710には、入力部711、出力部712、記憶部713、通信部714、およびドライブ715が接続されている。
 入力部711は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部712は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部713は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部714は、例えば、ネットワークインタフェースよりなる。ドライブ715は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア721を駆動する。
 以上のように構成されるコンピュータでは、CPU701が、例えば、記憶部713に記憶されているプログラムを、入出力インタフェース710およびバス704を介して、RAM703にロードして実行することにより、上述した一連の処理が行われる。RAM703にはまた、CPU701が各種の処理を実行する上において必要なデータなども適宜記憶される。
 コンピュータ(CPU701)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア721に記録して適用することができる。その場合、プログラムは、リムーバブルメディア721をドライブ715に装着することにより、入出力インタフェース710を介して、記憶部713にインストールすることができる。
 また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部714で受信し、記憶部713にインストールすることができる。
 その他、このプログラムは、ROM702や記憶部713に、あらかじめインストールしておくこともできる。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
 また、上述した各ステップの処理は、上述した各装置、若しくは、上述した各装置以外の任意の装置において、実行することができる。その場合、その処理を実行する装置が、上述した、その処理を実行するのに必要な機能(機能ブロック等)を有するようにすればよい。また、処理に必要な情報を、適宜、その装置に伝送するようにすればよい。
 また、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
 また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 例えば、本技術は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
 また、本技術は、これに限らず、このような装置またはシステムを構成する装置に搭載するあらゆる構成、例えば、システムLSI(Large Scale Integration)等としてのプロセッサ、複数のプロセッサ等を用いるモジュール、複数のモジュール等を用いるユニット、ユニットにさらにその他の機能を付加したセット等(すなわち、装置の一部の構成)として実施することもできる。
 例えば、本技術は、撮像素子(例えば、CMOS(Complementary Metal Oxide Semiconductor)イメージセンサやCCD(Charge Coupled Device)イメージセンサ等)からキャプチャした画像を用いた機器やデバイス、撮像素子画像をメモリに書き込むまでの圧縮回路、デジタルスチルカメラ、動画用カムコーダ、医療用画像カメラ、医療用内視鏡、監視カメラ、デジタルシネマ撮影用カメラ、両眼画像カメラ、多眼画像カメラ、LSIチップでのメモリ削減回路、パーソナルコンピュータ上のオーサリング・ツールまたはそのソフトウェア・モジュール等に適用することができる。
 なお、本技術は以下のような構成も取ることができる。
 (1) 符号、指数部、仮数部よりなる浮動小数点精度の画像データを整数精度の画像データに変換するデータ変換部と、
 前記データ変換部により変換されて得られた前記整数精度の画像データを符号化する符号化部と
 を備える画像処理装置。
 (2) 前記データ変換部は、前記画像データを、画素毎に、前記符号のデータ、前記指数部のデータ、および前記仮数部のデータの順にMSBからLSBに向かって並べた1つの整数精度のデータに変換する
 (1)に記載の画像処理装置。
 (3) 前記データ変換部は、前記画像データを、画素毎に、前記符号のデータ、前記指数部のデータ、および前記仮数部のデータのそれぞれが互いに独立した3つの整数精度の画像データに変換する
 (1)または(2)に記載の画像処理装置。
 (4) 前記データ変換部は、前記画像データの各ピクチャの先頭画素について、前記符号のデータ、前記指数部のデータ、および前記仮数部のデータのそれぞれを、互いに独立した3つの整数精度の画像データに変換し、その他の画素について、前記指数部のデータおよび前記仮数部のデータを、互いに独立した2つの整数精度の画像データに変換する
 (1)乃至(3)のいずれかに記載の画像処理装置。
 (5) 前記データ変換部は、さらに、前記整数精度の画像データを、画素毎に、コンポーネント間の差分データに変換し、
 前記符号化部は、前記データ変換部により変換されて得られた前記差分データを符号化する
 (1)乃至(4)のいずれかに記載の画像処理装置。
 (6) 前記データ変換部は、
  前記符号化部が可逆符号化を行う場合、前記浮動小数点精度の画像データを、前記整数精度の画像データに変換し、
  前記符号化部が非可逆符号化を行う場合、前記浮動小数点精度の画像データを、浮動小数点精度の値に変換し、
 前記符号化部は、
  前記可逆符号化を行う場合、前記データ変換部により変換されて得られた前記整数精度の画像データを符号化し、
  前記非可逆符号化を行う場合、前記データ変換部により変換されて得られた前記浮動小数点精度の値を符号化する
 (1)乃至(5)のいずれかに記載の画像処理装置。
 (7) 前記符号化部は、JPEG2000符号化方式により前記画像データを符号化する
 (1)乃至(6)のいずれかに記載の画像処理装置。
 (8) 前記データ変換部のデータ変換に関する情報を、前記符号化部により符号化されて得られた符号化データに付加する付加部をさらに備える
 (1)乃至(7)のいずれかに記載の画像処理装置。
 (9) 前記符号化部は、JPEG2000符号化方式により前記画像データを符号化し、
 前記付加部は、前記情報を、JPXファイルフォーマット内の所定の位置に付加する
 (8)に記載の画像処理装置。
 (10) 符号、指数部、仮数部よりなる浮動小数点精度の画像データを整数精度の画像データに変換し、
 変換されて得られた前記整数精度の画像データを符号化する
 画像処理方法。
 (11) 符号、指数部、仮数部よりなる浮動小数点精度の画像データが変換された整数精度の画像データの符号化データを復号する復号部と、
 前記復号部により復号されて得られた前記整数精度の画像データを前記浮動小数点精度の画像データに変換するデータ変換部と
 を備える画像処理装置。
 (12) 前記データ変換部は、前記整数精度の画像データを、ビット数に従って3つのデータに分離し、MSBからLSBに向かう順に、前記符号のデータ、前記指数部のデータ、および前記仮数部のデータとする
 (11)に記載の画像処理装置。
 (13) 前記データ変換部は、前記整数精度の画像データを、前記符号のデータ、前記指数部のデータ、前記仮数部のデータのいずれかとする
 (11)または(12)に記載の画像処理装置。
 (14) 前記データ変換部は、前記画像データの各ピクチャの先頭画素について、前記整数精度の画像データを、前記符号のデータ、前記指数部のデータ、前記仮数部のデータのいずれかとし、その他の画素について、前記整数精度の画像データを、前記指数部のデータ若しくは前記仮数部のデータとする
 (11)乃至(13)のいずれかに記載の画像処理装置。
 (15) 前記復号部は、前記整数精度の画像データのコンポーネント間の差分データの符号化データを復号し、
 前記データ変換部は、前記復号部により復号されて得られた、前記差分データを前記整数精度の画像データに変換し、さらに、前記浮動小数点精度の画像データに変換する
 (11)乃至(14)のいずれかに記載の画像処理装置。
 (16) 前記符号化データが、符号、指数部、仮数部よりなる浮動小数点精度の画像データが変換された整数精度の画像データが可逆符号化されたものである場合、
  前記復号部は、前記符号化データを可逆復号し、
  前記データ変換部は、前記復号部により可逆復号されて得られた前記整数精度の画像データを前記浮動小数点精度の画像データに変換し、
 前記符号化データが、符号、指数部、仮数部よりなる浮動小数点精度の画像データが変換された浮動小数点精度の値が非可逆符号化されたものである場合、
  前記復号部は、前記符号化データを非可逆復号し、
  前記データ変換部は、前記復号部により非可逆復号されて得られた前記浮動小数点精度の値を前記浮動小数点精度の画像データに変換する
 (11)乃至(15)のいずれかに記載の画像処理装置。
 (17) 前記符号化データは、JPEG2000符号化方式により符号化されており、
 前記復号部は、JPEG2000復号方式により前記符号化データを復号する
 (11)乃至(16)のいずれかに記載の画像処理装置。
 (18) 前記符号化データに付加された画像データのデータ変換に関する情報を解析する解析部をさらに備え、
 前記データ変換部は、前記解析部による解析結果に従って、前記画像データを前記浮動小数点精度の画像データに変換する
 (11)乃至(17)のいずれかに記載の画像処理装置。
 (19) 前記符号化データは、JPEG2000符号化方式により符号化されており、
 前記解析部は、前記符号化データのJPXファイルフォーマット内の所定の位置に付加された前記情報を解析し、
 前記復号部は、JPEG2000復号方式により前記符号化データを復号する
 (18)に記載の画像処理装置。
 (20) 符号、指数部、仮数部よりなる浮動小数点精度の画像データが変換された整数精度の画像データの符号化データを復号し、
 復号されて得られた前記整数精度の画像データを前記浮動小数点精度の画像データに変換する
 画像処理方法。
 100 画像符号化装置, 111 解析部, 112 データ変換部, 113 ウェーブレット変換部, 114 選択部, 115 量子化部, 116 EBCOT部, 117 ファイルフォーマット生成部, 120 符号化部, 200 画像復号装置, 211 ファイルフォーマット解析部, 212 データ抽出部, 213 EBCOT部, 214 選択部, 215 逆量子化部, 216 ウェーブレット逆変換部, 217 データ変換部, 220 復号部, 500 画像符号化装置, 501 選択部, 502 可逆符号化部, 503 非可逆符号化部, 600 画像復号装置, 601 選択部, 602 可逆復号部, 603 非可逆復号部, 700 コンピュータ

Claims (20)

  1.  符号、指数部、仮数部よりなる浮動小数点精度の画像データを整数精度の画像データに変換するデータ変換部と、
     前記データ変換部により変換されて得られた前記整数精度の画像データを符号化する符号化部と
     を備える画像処理装置。
  2.  前記データ変換部は、前記画像データを、画素毎に、前記符号のデータ、前記指数部のデータ、および前記仮数部のデータの順にMSBからLSBに向かって並べた1つの整数精度のデータに変換する
     請求項1に記載の画像処理装置。
  3.  前記データ変換部は、前記画像データを、画素毎に、前記符号のデータ、前記指数部のデータ、および前記仮数部のデータのそれぞれが互いに独立した3つの整数精度の画像データに変換する
     請求項1に記載の画像処理装置。
  4.  前記データ変換部は、前記画像データの各ピクチャの先頭画素について、前記符号のデータ、前記指数部のデータ、および前記仮数部のデータのそれぞれを、互いに独立した3つの整数精度の画像データに変換し、その他の画素について、前記指数部のデータおよび前記仮数部のデータを、互いに独立した2つの整数精度の画像データに変換する
     請求項1に記載の画像処理装置。
  5.  前記データ変換部は、さらに、前記整数精度の画像データを、画素毎に、コンポーネント間の差分データに変換し、
     前記符号化部は、前記データ変換部により変換されて得られた前記差分データを符号化する
     請求項1に記載の画像処理装置。
  6.  前記データ変換部は、
      前記符号化部が可逆符号化を行う場合、前記浮動小数点精度の画像データを、前記整数精度の画像データに変換し、
      前記符号化部が非可逆符号化を行う場合、前記浮動小数点精度の画像データを、浮動小数点精度の値に変換し、
     前記符号化部は、
      前記可逆符号化を行う場合、前記データ変換部により変換されて得られた前記整数精度の画像データを符号化し、
      前記非可逆符号化を行う場合、前記データ変換部により変換されて得られた前記浮動小数点精度の値を符号化する
     請求項1に記載の画像処理装置。
  7.  前記符号化部は、JPEG2000符号化方式により前記画像データを符号化する
     請求項1に記載の画像処理装置。
  8.  前記データ変換部のデータ変換に関する情報を、前記符号化部により符号化されて得られた符号化データに付加する付加部をさらに備える
     請求項1に記載の画像処理装置。
  9.  前記符号化部は、JPEG2000符号化方式により前記画像データを符号化し、
     前記付加部は、前記情報を、JPXファイルフォーマット内の所定の位置に付加する
     請求項8に記載の画像処理装置。
  10.  符号、指数部、仮数部よりなる浮動小数点精度の画像データを整数精度の画像データに変換し、
     変換されて得られた前記整数精度の画像データを符号化する
     画像処理方法。
  11.  符号、指数部、仮数部よりなる浮動小数点精度の画像データが変換された整数精度の画像データの符号化データを復号する復号部と、
     前記復号部により復号されて得られた前記整数精度の画像データを前記浮動小数点精度の画像データに変換するデータ変換部と
     を備える画像処理装置。
  12.  前記データ変換部は、前記整数精度の画像データを、ビット数に従って3つのデータに分離し、MSBからLSBに向かう順に、前記符号のデータ、前記指数部のデータ、および前記仮数部のデータとする
     請求項11に記載の画像処理装置。
  13.  前記データ変換部は、前記整数精度の画像データを、前記符号のデータ、前記指数部のデータ、前記仮数部のデータのいずれかとする
     請求項11に記載の画像処理装置。
  14.  前記データ変換部は、前記画像データの各ピクチャの先頭画素について、前記整数精度の画像データを、前記符号のデータ、前記指数部のデータ、前記仮数部のデータのいずれかとし、その他の画素について、前記整数精度の画像データを、前記指数部のデータ若しくは前記仮数部のデータとする
     請求項11に記載の画像処理装置。
  15.  前記復号部は、前記整数精度の画像データのコンポーネント間の差分データの符号化データを復号し、
     前記データ変換部は、前記復号部により復号されて得られた、前記差分データを前記整数精度の画像データに変換し、さらに、前記浮動小数点精度の画像データに変換する
     請求項11に記載の画像処理装置。
  16.  前記符号化データが、符号、指数部、仮数部よりなる浮動小数点精度の画像データが変換された整数精度の画像データが可逆符号化されたものである場合、
      前記復号部は、前記符号化データを可逆復号し、
      前記データ変換部は、前記復号部により可逆復号されて得られた前記整数精度の画像データを前記浮動小数点精度の画像データに変換し、
     前記符号化データが、符号、指数部、仮数部よりなる浮動小数点精度の画像データが変換された浮動小数点精度の値が非可逆符号化されたものである場合、
      前記復号部は、前記符号化データを非可逆復号し、
      前記データ変換部は、前記復号部により非可逆復号されて得られた前記浮動小数点精度の値を前記浮動小数点精度の画像データに変換する
     請求項11に記載の画像処理装置。
  17.  前記符号化データは、JPEG2000符号化方式により符号化されており、
     前記復号部は、JPEG2000復号方式により前記符号化データを復号する
     請求項11に記載の画像処理装置。
  18.  前記符号化データに付加された画像データのデータ変換に関する情報を解析する解析部をさらに備え、
     前記データ変換部は、前記解析部による解析結果に従って、前記画像データを前記浮動小数点精度の画像データに変換する
     請求項11に記載の画像処理装置。
  19.  前記符号化データは、JPEG2000符号化方式により符号化されており、
     前記解析部は、前記符号化データのJPXファイルフォーマット内の所定の位置に付加された前記情報を解析し、
     前記復号部は、JPEG2000復号方式により前記符号化データを復号する
     請求項18に記載の画像処理装置。
  20.  符号、指数部、仮数部よりなる浮動小数点精度の画像データが変換された整数精度の画像データの符号化データを復号し、
     復号されて得られた前記整数精度の画像データを前記浮動小数点精度の画像データに変換する
     画像処理方法。
PCT/JP2015/067982 2014-07-03 2015-06-23 画像処理装置および方法 WO2016002577A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016531284A JP6635312B2 (ja) 2014-07-03 2015-06-23 画像処理装置および方法
US15/315,047 US10284879B2 (en) 2014-07-03 2015-06-23 Image processing apparatus and method based on integerprecision image data

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014-137439 2014-07-03
JP2014137439 2014-07-03

Publications (1)

Publication Number Publication Date
WO2016002577A1 true WO2016002577A1 (ja) 2016-01-07

Family

ID=55019121

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/067982 WO2016002577A1 (ja) 2014-07-03 2015-06-23 画像処理装置および方法

Country Status (3)

Country Link
US (1) US10284879B2 (ja)
JP (1) JP6635312B2 (ja)
WO (1) WO2016002577A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023049292A1 (en) * 2021-09-22 2023-03-30 Beijing Dajia Internet Information Technology Co., Ltd. Methods and devices for decoder-side intra mode derivation

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006121669A (ja) * 2004-10-19 2006-05-11 Microsoft Corp 可逆の色変換を用いてモザイク状画像データをエンコードするためのシステムおよび方法
US20070258641A1 (en) * 2006-05-05 2007-11-08 Microsoft Corporation High dynamic range data format conversions for digital media
JP2007318711A (ja) * 2006-04-28 2007-12-06 Ricoh Co Ltd 符号変換装置、符号変換方法、プログラム及び記録媒体
JP2009278609A (ja) * 2008-05-16 2009-11-26 Sony Corp 情報処理装置および方法
JP2013517723A (ja) * 2010-01-19 2013-05-16 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ イメージエンコーダおよびイメージデコーダ
JP2013255179A (ja) * 2012-06-08 2013-12-19 Sony Corp 画像処理装置および方法、並びに、プログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6731289B1 (en) * 2000-05-12 2004-05-04 Microsoft Corporation Extended range pixel display system and method
US20050078118A1 (en) * 2000-05-12 2005-04-14 Microsoft Corporation Table indexing system and method
US8081093B2 (en) 2006-04-28 2011-12-20 Ricoh Company, Ltd. Code transforming apparatus and code transforming method
US20080001961A1 (en) * 2006-06-30 2008-01-03 Nokia Corporation High Dynamic Range Texture Filtering
CN102263950B (zh) 2007-05-17 2014-10-01 索尼株式会社 编码设备和编码方法以及解码设备和解码方法
US8643769B2 (en) * 2010-10-12 2014-02-04 Texas Instruments Incorporated Method for capturing wide dynamic range image in a 16 bit floating point format
US8745111B2 (en) * 2010-11-16 2014-06-03 Apple Inc. Methods and apparatuses for converting floating point representations
US9054870B2 (en) * 2012-10-22 2015-06-09 Donatello Apelusion Gassi Information security based on eigendecomposition
KR20230062888A (ko) * 2014-02-26 2023-05-09 인터디지털 브이씨 홀딩스 인코포레이티드 Hdr 이미지들을 인코딩 및 디코딩하기 위한 방법 및 장치

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006121669A (ja) * 2004-10-19 2006-05-11 Microsoft Corp 可逆の色変換を用いてモザイク状画像データをエンコードするためのシステムおよび方法
JP2007318711A (ja) * 2006-04-28 2007-12-06 Ricoh Co Ltd 符号変換装置、符号変換方法、プログラム及び記録媒体
US20070258641A1 (en) * 2006-05-05 2007-11-08 Microsoft Corporation High dynamic range data format conversions for digital media
JP2009278609A (ja) * 2008-05-16 2009-11-26 Sony Corp 情報処理装置および方法
JP2013517723A (ja) * 2010-01-19 2013-05-16 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ イメージエンコーダおよびイメージデコーダ
JP2013255179A (ja) * 2012-06-08 2013-12-19 Sony Corp 画像処理装置および方法、並びに、プログラム

Also Published As

Publication number Publication date
US10284879B2 (en) 2019-05-07
US20170201772A1 (en) 2017-07-13
JP6635312B2 (ja) 2020-01-22
JPWO2016002577A1 (ja) 2017-04-27

Similar Documents

Publication Publication Date Title
JP5590133B2 (ja) 動画像符号化装置、動画像符号化方法、動画像符号化用コンピュータプログラム、動画像復号装置及び動画像復号方法ならびに動画像復号用コンピュータプログラム
RU2693902C2 (ru) Кодер, декодер и способ
JP2005039743A5 (ja)
US9473793B2 (en) Image processing apparatus, method, and program
JP5073004B2 (ja) 画像符号化装置及び画像符号化方法並びに画像復号化装置及び画像復号化方法
US8351693B2 (en) Image compression apparatus and computer-readable recording medium recorded with image compression program
KR20160106599A (ko) 이미지 데이터를 인코딩하는 방법과 장치, 및 이미지 데이터를 디코딩하는 방법과 장치
JP2007037049A (ja) 画像符号化装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
WO2010082252A1 (ja) 画像符号化・復号化装置
EP3035687A1 (en) A device and a method for encoding an image and corresponding decoding method and decoding device
US8811735B2 (en) System and method for scalar quantization error reduction
WO2012008389A1 (ja) 画像処理装置、画像処理方法、及びプログラム
WO2012160626A1 (ja) 画像圧縮装置、画像復元装置、及びプログラム
WO2016002577A1 (ja) 画像処理装置および方法
US20230144455A1 (en) Method and apparatus for video coding for machine vision
JP2007049312A (ja) 画像復号装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP4241517B2 (ja) 画像符号化装置及び画像復号装置
JP2021175049A (ja) 情報処理装置、情報処理方法、及びプログラム
EP3035685A1 (en) A device and a method for encoding an image and corresponding decoding method and decoding device
WO2022120829A1 (zh) 图像编码及解码方法和装置、图像处理装置、可移动平台
JP2007295319A (ja) 画像処理装置及びそれを備えた画像形成装置
Kikuchi et al. Lossless compression of LogLuv32 HDR images by simple bitplane coding
KR20170131805A (ko) 영상 압축 장치 및 영상 압축 해제 장치
JP6581469B2 (ja) 画像符号化装置及びその制御方法、並びにプログラム及び記憶媒体
JP5404857B2 (ja) 画像符号化装置及び画像符号化方法並びに画像復号化装置及び画像復号化方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15814102

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15315047

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2016531284

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15814102

Country of ref document: EP

Kind code of ref document: A1