WO2018190199A1 - 画像処理装置、画像処理システム、情報処理システム及び画像処理方法 - Google Patents

画像処理装置、画像処理システム、情報処理システム及び画像処理方法 Download PDF

Info

Publication number
WO2018190199A1
WO2018190199A1 PCT/JP2018/014285 JP2018014285W WO2018190199A1 WO 2018190199 A1 WO2018190199 A1 WO 2018190199A1 JP 2018014285 W JP2018014285 W JP 2018014285W WO 2018190199 A1 WO2018190199 A1 WO 2018190199A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
unit
subband
difference
image
Prior art date
Application number
PCT/JP2018/014285
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 株式会社メガチップス
Publication of WO2018190199A1 publication Critical patent/WO2018190199A1/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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • 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

Definitions

  • Patent Documents 1 and 2 disclose techniques related to image processing.
  • an aspect of the information processing system includes the above-described image processing system and a third device that receives a processing result in the processing unit from the second device of the image processing system.
  • FIG. 1 is a diagram illustrating an example of the configuration of the information processing system 1.
  • the information processing system 1 includes an image processing system 4 including image processing apparatuses 2 and 3 and an information processing apparatus 5.
  • the image processing apparatus 2 generates encoded data that has been compression-encoded indicating an image, and transmits the encoded data to the image processing apparatus 3.
  • the image processing device 3 performs processing based on the encoded data from the image processing device 2 and transmits the processing result to the information processing device 5.
  • the information processing apparatus 5 stores information from the image processing apparatus 3 and performs various processes using the stored information.
  • the IoT terminal 2 is, for example, a mobile phone such as a smartphone, a wearable device such as smart glass, a network camera, or a video phone.
  • the plurality of IoT terminals 2 may be the same type of device, or may be different types of devices.
  • the determination unit 26 generates and outputs coordinate data 504 regarding the determined transmission target data 503.
  • the coordinate data 504 will be described in detail later.
  • At least a part of the determination unit 26 may be realized by a hardware circuit that does not require software to realize the function. Further, at least a part of the determination unit 26 may be a functional block realized by a computer executing a program.
  • the IoT terminal 2 may not include the camera 20.
  • image data output from a camera separate from the IoT terminal 2 image data indicating a live-action image
  • image data indicating an animation image may be input to the image memory 21, or image data indicating an animation image may be input.
  • FIG. 4 is a diagram illustrating an example of the configuration of the gateway 3.
  • the gateway 3 has a circuit configuration including a communication unit 30, a decoding device 31, a data processing unit 32, an image recognition unit 33, a transcoder 34, a communication unit 35, a coordinate memory 36, and the like.
  • the gateway 3 operates using, for example, a commercial power source as a power source.
  • the decoding device 31, the data processing unit 32, the image recognition unit 33, and the transcoder 34 constitute a processing unit that performs predetermined processing based on the encoded data from the IoT terminal 2.
  • the data processing unit 32 generates recognition data 522 used by the image recognition unit 33 based on the data in the first memory.
  • the data processing unit 32 generates mask data 525 used by the transcoder 34 based on the recognition result information 523 generated by the image recognition unit 33.
  • Mask data 525 is mask data for specifying an ROI (region of interest) in an image based on data in the first memory.
  • the mask data 525 is mask data for specifying the ROI in the image based on the encoded data 505 transmitted from the IoT terminal 2.
  • the data processing unit 32 generates instruction information 520 based on the recognition result information 523 and the like.
  • each of the subbands LL1, LL2,... May be abbreviated as an LL subband.
  • the subband LL1 may be referred to as an LL1 subband. The same applies to the other subbands.
  • subbands LL2, HL2, LH2, and HH2 at decomposition level 2 have the same relationship as subbands LL1, HL1, LH1, and HH1 when subband LL1 before decomposition is regarded as an original image.
  • the origin is treated as 0, the L component output of the wavelet transform is treated as an even number, and the H component output is treated as an odd number.
  • the L component output is treated as an odd number and the H component output as an even number.
  • Two axes orthogonal to each other in this orthogonal coordinate system are set in the horizontal direction and the vertical direction of the wavelet plane, for example.
  • the wavelet plane (see FIGS. 6 to 8) is a conceptual plane in which the even-numbered and odd-numbered outputs of the wavelet transform are rearranged for each subband.
  • the difference WT coefficient whose absolute value is larger than the threshold value is referred to as a difference WT coefficient having a large difference
  • the difference WT coefficient whose absolute value is equal to or less than the threshold value is the difference WT having a small difference.
  • the difference stratified data 502 can be divided into large difference data composed of large difference WT coefficients and small difference data composed of small difference WT coefficients.
  • the integration unit 262 obtains a logical sum of coefficients at the same position in the LL subband mask 5125LL, the LH subband mask 5125LH, the HL subband mask 5125HL, and the HH subband mask 5125HH, and is obtained thereby.
  • This value is the coefficient value at the same position as that in the integrated subband mask 5126. Therefore, if at least one of the coefficients at the same position in the LL subband mask 5125LL, the LH subband mask 5125LH, the HL subband mask 5125HL, and the HH subband mask 5125HH is 1, the same position as that in the integrated subband mask 5126 is obtained.
  • the coefficient is 1.
  • the coefficient bit modeling unit 241 performs an SIG pass (significant coefficient coding pass with a significant coefficient around it), an MR path (significant coefficient coding pass), and a CL path (the SIG path and the MR path that do not correspond).
  • Bit plane encoding is performed in three types of encoding passes). Bit plane encoding is performed by scanning the bits of each bit plane in units of 4 bits from the most significant bit plane to the least significant bit plane and determining whether or not a significant coefficient exists. The number of bit planes composed only of insignificant coefficients (0 bits) is included as zero bit plane information in a later-described packet header generated by the bit stream generation unit 243.
  • bit plane encoding actual encoding is started from a bit plane in which a significant coefficient first appears. The encoding start bit plane is encoded only by the CL pass, and the bit planes lower than the bit plane are sequentially encoded by the above three types of encoding passes.
  • the decoding unit 311 performs predetermined decompression decoding on the encoded data 505.
  • the predetermined decompression decoding is a process opposite to the compression encoding in the encoding unit 240 in FIG. 20 except for the code amount control.
  • the decoding unit 311 includes an entropy decoding unit 312 and a coefficient bit modeling unit 313.
  • the entropy decoding unit 312 performs entropy decoding on the encoded data 505 to generate bit data. Entropy decoding is the reverse of the entropy encoding in the entropy encoding unit 242 of FIG.
  • the restoration unit 326 adds the past non-difference CB of the coordinates (i, j) stored in the first memory 323 to the decoded difference CB of the coordinates (i, j), thereby adding the coordinates (i , J) is restored.
  • the restoration unit 326 receives the past non-difference CB in the first memory 323 from the first processing unit 321.
  • the restoration unit 326 restores the current non-difference CB from each decoded difference CB included in the decoded difference data 521.
  • the restored current non-difference CB is stored in the first memory 323 by the first processing unit 321.
  • Decomposition level 2 LH2 subband, HL2 subband, and HH2 subband and decomposition level 3 LL3 subband, LH3 subband, HL3 subband, and HH3 subband are subbands that can recover decomposition level 1 LL1 subband. It is.
  • the color space conversion unit 3202 performs a process opposite to the process in the color space conversion unit 222 of FIG. 5 on the image data output from the inverse wavelet conversion unit 3201. Further, the color space conversion unit 3202 performs a process reverse to the process in the color space conversion unit 222 on the reverse conversion non-target data 531 (image data) input to the recognition data generation unit 320.
  • the DC level shift unit 3203 converts the DC level of the image data output from the color space conversion unit 3202 as necessary. The image data output from the DC level shift unit 3203 becomes the recognition data 522.
  • the image recognition unit 33 when detecting the detection target object from the recognition target image indicated by the recognition data 522, the image recognition unit 33 outputs recognition result information 523 including detection information indicating that the detection target object has been detected. On the other hand, when the detection target object cannot be detected from the recognition target image, the image recognition unit 33 outputs recognition result information 523 including undetected information indicating that the detection target object has not been detected.
  • the first processing unit 321 uses the data in the first memory 323 to generate reverse conversion non-target data 531 and reverse conversion target data 532 that are input data input to the recognition data generation unit 320.
  • the first processing unit 321 determines what kind of image the recognition target image is to be generated, and generates the reverse conversion non-target data 531 or the reverse conversion target data 532 accordingly. For example, when the entire LL3 subband image is a recognition target image, the first processing unit 321 generates inversely transformed non-target data 531 composed of LL3 subbands of the current layered data 501 and recognizes the data. Input to the generation unit 320.
  • a neural network For example, a neural network, SVM (Support Vector Machine) or Adaboost is used as the discriminator.
  • the image recognition engine 334 extracts a plurality of types of feature amounts from the normalized partial image 602, and based on the extracted plurality of types of feature amounts, whether or not a detection target image exists in the normalized partial image 602. May be determined.
  • FIGS. 29 and 30 are diagrams illustrating examples of operations of the gateway 3 and the IoT terminal 2 of the image processing system 4 that performs processing on the target frame image after the preprocessing.
  • the gateway 3 transmits the differential transmission instruction information 520 to the IoT terminal 2
  • the IoT terminal 2 transmits the differential code block corresponding to the differential transmission instruction information 520 to the gateway 3.
  • step s18 the image recognition unit 33 performs image recognition processing on the image indicated by the recognition data 522 generated in step s17.
  • the data processing unit 32 sets the target label as an end label.
  • step s195 the data processing unit 32 decreases the value of the variable LV by one.
  • step s196 the data processing unit 32 sets the value of the variable LN to the minimum value min1.
  • the minimum value min1 means the smallest label among the labels of the candidates for processing. For example, as shown in the example of FIG. 31, when the IoT terminal 2 defines labels 0 and 1 and the label of the current end label area is 0, the minimum value min1 is 1.
  • variable LV When the target decomposition level currently indicated by the variable LV is the maximum decomposition level, that is, the first processing unit 321, the variable LN in the integrated subband mask corresponding to the decomposition level 3 among the LL3 subbands is currently indicated.
  • the difference code block corresponding to the label area of the target label is set as designated data.
  • the gateway 3 uses the reconstruction unit 326 to calculate the decomposition level 3 LH3 subband, HL3 from the difference CB corresponding to the label region L1 of label 1 in the decomposition level 3 LH3 subband, HL3 subband, and HH3 subband.
  • the non-differential CB corresponding to the label region L1 of the label 1 in the subband and the HH3 subband can be restored. Therefore, the gateway 3 can obtain the non-differential CB corresponding to the label region L1 in the LL3 subband, the LH3 subband, the HL3 subband, and the HH3 subband by determining the designated data in this way. Therefore, the gateway 3 can restore the non-differential CB corresponding to the label region L1 in the LL2 subband by inverse wavelet transform.
  • gateway 3 executes step s11, in step s12, gateway 3 generates differential transmission instruction information 520 for notifying the designated data determined in step s11. Then, the gateway 3 transmits the generated differential transmission instruction information 520 to the IoT terminal 2.
  • the IoT terminal 2 Upon receiving the differential transmission instruction information 520 in step s31, the IoT terminal 2 determines transmission target data 503 from the differential hierarchical data 502 based on the received differential transmission instruction information 520 and the integrated mask data 513 in step s32. To do. The determination unit 26 of the IoT terminal 2 specifies the difference CB (decoded difference CB) specified by the difference transmission instruction information 520 in the difference layered data 502 based on the integrated mask data 513. Then, the determination unit 26 sets the identified difference CB as transmission target data 503.
  • the difference CB decoded difference CB
  • the first processing unit 321 reads from the first memory 323 an LL subband, an LH subband, and an HL subband that are one higher decomposition level than the target decomposition level.
  • the non-difference CB corresponding to the target label area in the HH subband is read with reference to the coordinate table 36a.
  • the first processing unit 321 inputs the inverse transformation target data 532 configured by the read non-difference CB to the recognition data generation unit 320.
  • the inverse wavelet transform unit 3201 generates a non-differential CB composed of wavelet coefficients corresponding to the target label region in the LL subband at the target decomposition level.
  • the non-difference CB is stored in the first memory 323 as LL data 530.
  • the first memory 323 stores the non-difference CB corresponding to the target label region in the LL subband at the target decomposition level.
  • the target decomposition level is 2
  • the non-difference CB corresponding to the target label region in the LL2 subband is stored, and when the target decomposition level is 1, the non-differential CB corresponding to the target label region in the LL1 subband. Is memorized.
  • the gateway 3 executes steps s18 and s19 in the same manner as described above. Thereafter, the gateway 3 operates in the same manner.
  • the detection target is highly likely to be detected even from an LL subband having a high resolution level (an LL subband having a low resolution).
  • an LL subband having a low resolution there is a possibility that a detection object having a small range in the frame image cannot be detected from the LL subband having a high resolution level.
  • LL subbands are processed in descending order of resolution level, so that LL subbands with a large amount of data and low decomposition levels (LL subbands with high resolution) are used.
  • the detection target corresponding to the label region L0 of the label 0 can be detected from, for example, the LL3 subband
  • the decomposition level of the LL3 subband is used to detect the detection target.
  • Higher resolution levels of LL2 and LL1 subbands are not used. Therefore, the amount of data transmitted from the IoT terminal 2 to the gateway 3 can be reduced, and the image recognition process in the gateway 3 can be simplified.
  • the gateway 3 may use the encoded data 505 from the IoT terminal 2 in a process other than the image recognition process.
  • the gateway 3 restores all non-difference CBs in the LL3 subband from the received all difference CBs in the LL3 subband, and performs image recognition processing using the data consisting of the restored all non-difference CBs as recognition data 522.
  • the gateway 3 performs inverse wavelet transform on the reverse conversion target data 532 including the already acquired all non-differential CBs of the LL3 subband and all non-differential CBs of the LH3 subband, the HL3 subband, and the HH3 subband. Thus, all non-differential CBs of the LL2 subband are generated. Then, the gateway 3 performs image recognition processing using the data composed of all non-difference CBs in the LL2 subband as recognition data 522.
  • the processing for the target frame image ends.
  • the gateway 3 does not detect the detection target, the IoT terminal 2 uses the LH2 subband, HL2 because the image indicated by the data composed of all non-difference CBs in the LL1 subband is the recognition target image.
  • the entire difference CB between the subband and the HH2 subband is transmitted as transmission target data 503.
  • the gateway 3 restores all non-differential CBs of the LH2 subband, the HL2 subband, and the HH2 subband from the total differential CB of the LH2 subband, HL2 subband, and HH2 subband.
  • the data processing unit 32 specifies whether or not a detection target object has been detected for the target label. That is, the data processing unit 32 specifies whether or not a detection target has been detected in the image recognition process of the immediately preceding step s18.
  • the data processing unit 32 determines whether or not the value of the variable LN matches the maximum value max2.
  • the image recognition process is performed on the non-difference CB corresponding to the label region L1 in the LL3 subband.
  • an image recognition process is performed on the non-difference CB corresponding to the label region L1 in the LL2 subband.
  • the image recognition process is performed on the non-difference CB corresponding to the label region L1 in the LL1 subband.
  • the IoT terminal 2 performs processing for correcting the influence of the change in the position of the camera 20 on the frame image data 500.
  • the shooting range of the camera 20 there is a possibility that most of a plurality of code blocks constituting the difference hierarchical data 502 become a difference CB even though a region where a moving object such as a person exists is small. Can be reduced. As a result, the transmission data amount of the IoT terminal 2 can be reduced more reliably.
  • FIG. 40 is a diagram showing an outline of the motion correction process.
  • An example of the past frame image 5010a and the current frame image 5010b is shown on the upper side of FIG.
  • the horizontal correction amount CX and the vertical correction amount CY obtained from the past frame image 5010a and the current frame image 5010b shown in FIG. 40 are shown.
  • the current frame image 5010b corrected based on the horizontal correction amount CX and the vertical correction amount CY shown in FIG. 40 is shown.
  • the corrected current frame image 5010b the position of the entire subject image 5011b is changed so as to cancel the influence due to the change in the position of the camera 20, and the influence is corrected.
  • each subband XYm of the current hierarchical data 510 is individually corrected.
  • the second correction process will be described in detail below.
  • the encoded data 505 indicating an image with a high resolution may be required, or the encoded data 505 may be required. In some cases, the resolution of the image indicated by may be low. For example, when the gateway 3 performs streaming transmission of a moving image having a high resolution to the cloud server 5 based on the encoded data 505, the encoded data 505 indicating an image having a high resolution is required.
  • 45 and 46 are diagrams illustrating examples of target bits to be compression-encoded.
  • the binary value of the coefficient (difference WT coefficient or quantized wavelet coefficient) shown in FIG. 45 is composed of “000 1101 0111”.
  • the target bits are 6 bits “000110” and the non-target bits are 5 bits “10111”.
  • the encoding unit 240 compresses and encodes only the target bit “000110”.
  • the binary value of the coefficient shown in FIG. 46 is composed of “010 0011 0101”.
  • the target bits are 4 bits “0100”
  • the non-target bits are 7 bits “0110101”.
  • the encoding unit 240 compresses and encodes only the target bit “0100”.
  • the decoding unit 311 of the decoding device 31 decompresses and decodes the encoded data 505 from the IoT terminal 2 to restore the coefficients in the transmission target data 503. . Then, the decoding unit 311 adds a bit to the target bits constituting the restored coefficient to generate an L-bit coefficient.
  • the number of target bits constituting the restored coefficient is N (an integer of 1 or more).
  • the decoding unit 311 adds (L ⁇ N) 0s to the target bit as bits lower than the target bit constituting the restored coefficient. As a result, a coefficient composed of L bits is obtained.
  • the gateway 3 can specify the bit number N of the target bit based on the value of M and the zero bit plane information transmitted from the IoT terminal 2.
  • the coefficient composed of L bits generated by the decoding unit 311 is input to the inverse quantization unit 314.
  • FIG. 47 and 48 are diagrams showing an example of coefficients composed of L bits generated by the decoding unit 311.
  • FIG. FIG. 47 shows an example in which the IoT terminal 2 transmits the target bit “000110” shown in FIG. 45 described above.
  • FIG. 48 shows an example in which the IoT terminal 2 transmits the target bit “0100” shown in FIG. 46 described above.
  • the resolution of the image used in the gateway 3 can be easily adjusted by adjusting the value of M that determines the target bit. That is, by increasing the value of M, the resolution of the image used in the gateway 3 can be increased, and by decreasing the value of M, the resolution of the image used in the gateway 3 can be decreased. it can.
  • the gateway 3 needs the upper 9 bits of the L bits constituting the coefficient generated by the IoT terminal 2 in order to perform processing using an image with high resolution. Further, it is assumed that the gateway 3 has already received and stored in the first memory 323, for example, the upper 4 bits “0100” shown in FIG. 45 among the L bits constituting the quantized wavelet coefficient as target bits. In such a case, the gateway 3 instructs the IoT terminal 2 to transmit only the necessary remaining 5 bits “01101” (5 bits from the bit position next to the second bit position). Upon receiving this instruction, the IoT terminal 2 compresses and decodes only 5 bits “01101” and transmits the result to the gateway 3.
  • the gateway 3 adds the newly received 5-bit “01101” to the lower order with respect to the upper order “0100” in the first memory 323, and further adds two 0s to form the 11-bit “010 0011”. A coefficient consisting of 0100 "is generated.
  • the encoding device 24 further includes a layer division processing unit 250 in the encoding device 24 shown in FIG. 20 described above.
  • the layer division processing unit 250 can multi-layer the bit stream 506 output from the bit stream generation unit 243.
  • data is arranged in units of code blocks.
  • the layer division processing unit 250 divides the encoded data 505 included in the bit stream 506 into a plurality of layers, and includes data of at least one of the plurality of layers.
  • the bit stream 506a is output.
  • the layer division processing unit 250 can output the bit stream 506 as it is without making it into a multi-layer. In this case, the layer division processing unit 250 outputs the bit stream 506 as it is as the bit stream 506a.
  • the bit stream 506a generated by the layer division processing unit 250 is transmitted from the transmission unit 25a to the gateway 3.
  • the bit stream analysis unit 310 analyzes the bit stream 506b in the same manner as described above, and extracts the encoded data 505a and additional information from the bit stream 506b. Similar to the encoded data 505, the encoded data 505a is hierarchically encoded data indicating at least a part of a frame image or at least a part of a difference image.
  • the bit stream analysis unit 310 outputs the extracted encoded data 505a to the decoding unit 311 and the data processing unit 32. Each of the decoding unit 311 and the data processing unit 32 processes the encoded data 505a in the same manner as the processing for the encoded data 505.
  • the gateway 3 receives the bit stream 506a (bit stream 506) that is not multi-layered from the IoT terminal 2, the encoded data 505a matches the encoded data 505 generated by the IoT terminal 2. .
  • FIG. 51 is a diagram illustrating an example of the configuration of the layer division processing unit 250.
  • the layer division processing unit 250 includes a memory 251, a layer division control unit 252, a multiplexing unit 253, and a priority table 254.
  • the priority table 254 stores priorities set for each of a plurality of subbands constituting the wavelet plane. The priority of each subband is set according to the decomposition level of the subband.
  • the layer division processing unit 250 multi-layers the bit stream 506 based on the priorities in the priority table 255.
  • the layer division control unit 252 stores the bit stream 506 generated by the bit stream generation unit 243 in the memory 251.
  • the layer division control unit 252 reads the encoded data 505 included in the bit stream 506 from the memory 251 and divides the read encoded data 505 into a plurality of layers when the bit stream 506 is converted into a multi-layer. Then, the layer division control unit 252 outputs data of at least one layer among the plurality of layers to the multiplexing unit 253.
  • the multiplexing unit 523 multiplexes the data output from the layer division control unit 252 to generate and output a bit stream 506a including data of at least one layer.
  • FIG. 52 is a diagram showing an example of priorities set for each subband.
  • priority 4 is set for the LL3 subband
  • priority 3 is set for the LH3 subband and the HL3 subband.
  • priority 2 is set for the HH3 subband, LH2 subband, and HL2 subband
  • priority 1 is set for the HH2 subband, LH1 subband, and HL1 subband.
  • a priority 0 is set for the HH1 subband. Note that the priority value of each subband is not limited to the example of FIG.
  • the layer division processing unit 252 first acquires the priority set for the subband to which the target code block belongs from the priority table 254. For each coefficient of the target code block, the layer division control unit 252 bit-shifts the L-bit data constituting the coefficient by the same number of bits as the acquired priority. Thereby, bit shift processing is performed on the target code block.
  • the layer division control unit 252 bit-shifts the L-bit data constituting the coefficient by 4 bits in the same direction for each coefficient of the target code block.
  • the layer division control unit 252 bit-shifts the L-bit data constituting the coefficient by 2 bits in the same direction for each coefficient of the target code block. To do. Since the priority set for the HH1 subband is 0, each coefficient of the target code block is actually a bit even if bit shift processing is performed on the target code block belonging to the HH1 subband. Not shifted.
  • the code block on which the bit shift processing has been performed may be referred to as a shifted code block.
  • the layer division control unit 252 When the layer division control unit 252 performs the bit shift process on each code block included in the encoded data 505, the layer division control unit 252 performs a layer division process that divides each shifted code block into a plurality of layers.
  • FIG. 53 is a diagram for explaining an example of the layer division processing.
  • FIG. 53 shows data 5700 of L bits (11 bits in the example of FIG. 53) constituting the coefficients (bit-shifted coefficients) of the code block after the shift processing.
  • the numbers 0 to 10 shown in the L-bit data 5700 indicate the bit position of each bit in the data 570. Number 0 indicates LSB and number 10 indicates MSB.
  • the L-bit data 5700 constituting the coefficient of the code block belonging to the LL3 subband is bit-shifted by 4 bits.
  • the L-bit data 5700 constituting the coefficients of the code block belonging to the LH3 subband and the HL3 subband are bit-shifted by 3 bits.
  • the L-bit data 5700 constituting the coefficients of the code blocks belonging to the HH3 subband, the LH2 subband, and the HL2 subband are bit-shifted by 2 bits.
  • the L-bit data 5700 constituting the coefficients of the code blocks belonging to the HH2 subband, LH1 subband and HL1 subband are bit-shifted by 1 bit.
  • the L-bit data 5700 constituting the coefficient of the code block belonging to the HH1 subband is not bit-shifted.
  • the bit shift of the LL3 subband from the least significant bit position of the Lbit data 5700 constituting the coefficient of the HH1 subband is performed for the code block after the shift processing. Numbers from 0 to 14 are assigned to the most significant bit positions of the L-bit data 5700 constituting the generated coefficients.
  • the layer division control unit 252 sets the bits having the bit positions from the 12th to the 14th in the L-bit data 5700 constituting the coefficient of the code block after the bit shift process as the layer 0 and the bit positions from the 9th to 11th.
  • Bit 1 is layer 1.
  • the layer division control unit 252 sets the bits from the 6th to 8th bit positions in the L-bit data 5700 constituting the coefficient of the code block after the bit shift process as the layer 2 and the bit positions from the 3rd bit. Bits up to 5 are layer 3.
  • the layer division control unit 252 sets the bits having the bit positions from 0 to 2 to the layer 4 in the L-bit data 5700 constituting the coefficient of the code block after the bit shift processing.
  • the layer division control unit 252 outputs the data of the layer to be transmitted to the gateway 3 among the plurality of layers to the multiplexing unit 253.
  • the layer transmitted from the IoT terminal 2 to the gateway 3 is specified by the instruction information 520 from the gateway 3.
  • the gateway 3 can freely instruct the IoT terminal 2 which layer of the plurality of layers should transmit data.
  • the multiplexing unit 253 multiplexes the data from the layer division control unit 252 and generates a bit stream 506 a including layer data to be transmitted to the gateway 3. Note that the method of dividing the L-bit data 5700 into a plurality of layers is not limited to the example of FIG.
  • FIG. 54 is a diagram illustrating an example of the configuration of the layer composition processing unit 315.
  • the layer composition processing unit 315 includes a memory 316 and a layer composition control unit 317.
  • the layer composition control unit 317 stores the bit stream 506a from the IoT terminal 2 in the memory 316. In addition, when the bit stream 506a received by the gateway 3 is not multi-layered, the layer composition control unit 317 outputs the bit stream 506a as it is as the bit stream 506b. In addition, the layer composition control unit 317 is configured when the bit stream 506a received by the gateway 3 is multi-layered and the bit stream 506a includes only one layer of data. The stream 506a is output as it is as the bit stream 506b.
  • the gateway 3 transmits the instruction information 520 using, for example, the data of layer 0 of each code block of the LL3 subband of the quantized differential wavelet plane as designated data.
  • the IoT terminal 2 that has received the instruction information 520 generates encoded data 504 using each code block of the LL3 subband as transmission target data 503.
  • the layer division processing unit 250 multi-layers the bit stream 506 including the encoded data 505, and generates layer 0 data of each code block of the LL3 subband. Then, the layer division processing unit 250 generates a bit stream 506a including layer 0 data of each code block of the LL3 subband, and transmits the bit stream 506a to the gateway 3.
  • the processing for the target frame image ends.
  • the gateway 3 does not detect the detection target, the data in the layers 0 and 1 of the code blocks of the LH3 subband, the HL3 subband, and the HH3 subband are used to process the LL2 subband.
  • the instruction information 520 is transmitted using the layer 1 data of each code block of the LL3 subband as designated data.
  • the IoT terminal 2 that has received the instruction information 520 generates encoded data 505 using each code block of the LL3 subband, the LH3 subband, the HL3 subband, and the HH3 subband as a transmission target code block.
  • the layer composition control unit 317 reads out data of layers 0 and 1 of the LH3 subband from the memory 316. Then, the layer synthesis control unit 317 synthesizes the read data of the LH3 subband layers 0 and 1, and generates data transmitted by the IoT terminal 2 in the LH3 subband in which the data is arranged in units of code blocks. .
  • this data is referred to as single layer LH3 subband data.
  • the layer composition control unit 317 reads the data of the layers 0 and 1 of the HL3 subband from the memory 316. Then, the layer synthesis control unit 317 synthesizes the read data of layers 0 and 1 of the HL3 subband, and generates data transmitted by the IoT terminal 2 in the HL3 subband in which the data is arranged in units of code blocks. .
  • this data is referred to as single layer HL3 subband data.
  • the layer synthesis control unit 317 reads the data of layers 0 and 1 of the HH3 subband from the memory 316. Then, the layer synthesis control unit 317 synthesizes the read data of layers 0 and 1 of the HH3 subband, and generates data transmitted by the IoT terminal 2 in the HH3 subband in which the data is arranged in code block units. .
  • this data is referred to as single-layered HH3 subband data.
  • the gateway 3 restores the corresponding non-differential CB from the obtained code blocks of the LL3 subband, the LH3 subband, the HL3 subband, and the HH3 subband, and performs inverse transformation target data 522 composed of the restored non-differential CB. To inverse wavelet transform. Thereby, the non-differential CB corresponding to each code block of the LL2 subband is generated.
  • the gateway 3 performs image recognition processing using the generated non-difference CB as recognition data 522.
  • the layer composition control unit 317 stores the bit stream 506a received from the IoT terminal 2 in the memory 316.
  • the layer synthesis control unit 317 then reads out and synthesizes data of a plurality of layers in the same subband from the memory 316, and generates a single-layered bit stream 506b.
  • the layer synthesis control unit 317 reads out the data of layers 0 and 1 of the LH2 subband from the memory 316. Then, the layer combination control unit 317 combines the read data of the LH2 subband layers 0 and 1, and generates data transmitted by the IoT terminal 2 in the LH2 subband in which the data is arranged in units of code blocks. .
  • this data is referred to as single layer LH2 subband data.
  • the gateway 3 adds 0 to the necessary number of data for each coefficient so that the data of each coefficient of the subbands LH2, HL2, and HH2 included in the bitstream 506b becomes L-bit data. Is added as a lower bit (see FIGS. 47 and 48 described above). As a result, an LH2 subband, an HL2 subband, and an HH2 subband in which the coefficient of each code block is configured by L-bit data are obtained. Then, the gateway 3 restores the corresponding non-differential CB from the obtained code blocks of the LH2 subband, the HL2 subband, and the HH2 subband.
  • the operation of the image processing system 4 when the bit stream 506 is multi-layered is not limited to the above example.
  • the gateway 3 may determine the designated data using the above-described CB correspondence information.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

画像処理装置は、第1生成部、第2生成部、第1決定部、符号化部及び第1送信部を備える。第1生成部は、フレーム画像を示す階層化された階層化データを生成する。第2生成部は、2つのフレーム画像についての階層化データの差分を示す差分階層化データを生成する。第1決定部は、差分階層化データのうち、その値の絶対値がしきい値以上あるいは当該しきい値よりも大きい第1データに基づいて、差分階層化データから送信対象データを決定する。符号化部は、送信対象データを圧縮符号化して符号化データを生成する。第1送信部は、符号化データを送信する。

Description

画像処理装置、画像処理システム、情報処理システム及び画像処理方法
 本発明は、画像処理に関する。
 特許文献1及び2には、画像処理に関する技術が開示されている。
特開2015-192321号公報 特開2003-219386号公報
 画像処理装置については、その消費電力の低減が望まれている。
 そこで、本発明は上述の点に鑑みて成されたものであり、画像処理装置の低消費電力化を図ることが可能な技術を提供することを目的とする。
 画像処理装置の一態様は、フレーム画像を示す階層化された階層化データを生成する第1生成部と、2つのフレーム画像についての前記階層化データの差分を示す差分階層化データを生成する第2生成部と、前記差分階層化データのうち、その値の絶対値がしきい値以上あるいは当該しきい値よりも大きい第1データに基づいて、前記差分階層化データから送信対象データを決定する第1決定部と、前記送信対象データを圧縮符号化して符号化データを生成する符号化部と、前記符号化データを送信する第1送信部とを備える。
 また、画像処理装置の一態様は、上記の画像処理装置である第1装置と通信する第2装置である画像処理装置であって、前記第1装置から送信される前記符号化データを受信する受信部と、前記符号化データに基づいて処理を行う処理部とを備える。
 また、画像処理システムの一態様は、上記の第1装置と、上記の第2装置とを備える。
 また、情報処理システムの一態様は、上記の画像処理システムと、前記画像処理システムの前記第2装置から、前記処理部での処理の結果を受け取る第3装置と備える。
 また、画像処理方法の一態様は、画像処理装置での画像処理方法であって、フレーム画像を示す階層化された階層化データを生成する工程と、2つのフレーム画像についての前記階層化データの差分を示す差分階層化データを生成する工程と、前記差分階層化データのうち、その値の絶対値がしきい値以上あるいは当該しきい値よりも大きいデータに基づいて、前記差分階層化データから送信対象データを決定する工程と、前記送信対象データを圧縮符号化して符号化データを生成する工程と、前記符号化データを送信する工程とを備える。
 画像処理装置の低消費電力化が可能となる。
情報処理システムの構成の一例を示す図である。 情報処理システムの適用例の一例を示す図である。 IoT端末の構成の一例を示す図である。 ゲートウェイの構成の一例を示す図である。 階層化部の構成の一例を示す図である。 ウェーブレット平面の一例を示す図である。 ウェーブレット平面の一例を示す図である。 ウェーブレット平面の一例を示す図である。 フレーム画像の一例を示す図である。 ウェーブレット平面の一例を示す図である。 差分生成部の構成の一例を示す図である。 決定部の構成の一例を示す図である。 フレーム画像の一例を示す図である。 差分フレームマスクの一例を示す図である。 統合サブバンドマスクの生成方法の一例を説明するための図である。 統合サブバンドマスクの生成方法の一例を説明するための図である。 量子化差分ウェーブレット平面とコードブロックの対応関係の一例を示す図である。 統合サブバンドマスクとコードブロックの対応関係の一例を示す図である。 統合サブバンドマスクとコードブロックの対応関係の一例を示す図である。 符号化装置の構成の一例を示す図である。 係数ビットモデリング部の動作の一例を説明するための図である。 係数ビットモデリング部の動作の一例を説明するための図である。 復号化装置の構成の一例を示す図である。 データ処理部の構成の一例を示す図である。 認識用データ生成部の構成の一例を示す図である。 画像認識部の構成の一例を示す図である。 画像認識部の動作の一例を説明するための図である。 トランスコーダの構成の一例を示す図である。 ゲートウェイの動作の一例を示すフローチャートである。 IoT端末の一例を示すフローチャートである。 ラベリング処理された統合サブバンドマスクの一例を示す図である。 ラベリング処理された統合サブバンドマスクの一例を示す図である。 ゲートウェイの動作の一例を示すフローチャートである。 ゲートウェイの動作の一例を示すフローチャートである。 複数のサブバンドの間でのコードブロックの対応関係の一例を示す図である。 IoT端末の動作の一例を示すフローチャートである。 IoT端末の構成の一例を示す図である。 動き補正部の構成の一例を示す図である。 動き補正部の動作の一例を示すフローチャートである。 動き補正処理を説明するための図である。 階層化部の構成の一例を示す図である。 動き補正部の構成の一例を示す図である。 IoT端末の構成の一例を示す図である。 データ処理部の構成の一例を示す図である。 IoT端末の動作の一例を説明するための図である。 IoT端末の動作の一例を説明するための図である。 画像処理システムの動作の一例を説明するための図である。 画像処理システムの動作の一例を説明するための図である。 符号化装置の構成の一例を示す図である。 復号化装置の構成の一例を示す図である。 レイヤー分割処理部の構成の一例を示す図である。 各サブバンドに設定された優先度の一例を示す図である。 係数を構成する複数のビットがビットシフトされる様子の一例を示す図である。 レイヤー合成処理部の構成の一例を示す図である。
 <システム概要>
 図1は情報処理システム1の構成の一例を示す図である。図1に示されるように、情報処理システム1は、画像処理装置2,3を含む画像処理システム4と、情報処理装置5とを備える。画像処理装置2は、画像を示す圧縮符号化された符号化データを生成して画像処理装置3に送信する。画像処理装置3は、画像処理装置2からの符号化データに基づいて処理を行い、その処理の結果を情報処理装置5に送信する。情報処理装置5は、画像処理装置3からの情報を保存するとともに、保存した情報を使用して各種処理を行う。
 このような情報処理システム1は様々な場面で使用することができる。図2は、情報処理システム1の適用例を示す図である。図2の例では、情報処理システム1はIoT(Internet of Things)システム1として使用される。画像処理装置2、画像処理装置3及び情報処理装置5は、例えば、IoT端末2、ゲートウェイ3及びクラウドサーバ5としてそれぞれ使用される。ゲートウェイ3は、エッジゲートウェイとも呼ばれる。IoT端末2、ゲートウェイ3及びクラウドサーバ5のそれぞれは、例えば一種のコンピュータ装置である。
 図2に示されるように、IoTシステム1は、複数のIoT端末2及びゲートウェイ3を有する画像処理システム4と、クラウドサーバ5とを備える。複数のIoT端末2はゲートウェイ3に対してローカルネットワークで接続されている。ゲートウェイ3とクラウドサーバ5とはインターネットで接続されている。IoT端末2とゲートウェイ3とは無線で接続されてもよいし、有線で接続されてもよい。IoT端末2が、ゲートウェイ3と無線通信する場合には、IoT端末2とゲートウェイ3との間の通信規格としては、例えば、ZigBee(登録商標)が採用される。IoT端末2とゲートウェイ3との間の通信規格はこれに限られない。
 IoT端末2の処理能力は、例えば、ゲートウェイ3の処理能力よりも低くなっている。また、IoT端末2とゲートウェイ3との間のデータ伝送レートは、例えば、ゲートウェイ3とクラウドサーバ5との間のデータ伝送レートよりも低くなっている。IoT端末2とゲートウェイ3との間のデータ伝送レートは、ゲートウェイ3とクラウドサーバ5との間のデータ伝送レートの例えば数十分の一となっている。
 各IoT端末2は、例えば、動画を撮影することが可能なカメラを有する。各IoT端末2は、カメラで撮影された動画のフレーム画像の少なくとも一部を示す、圧縮符号化された符号化データを生成することが可能である。また、各IoT端末2は、カメラで撮影された動画の2つのフレーム画像の差分を示す差分画像を生成することが可能である。そして、各IoT端末2は、生成した差分画像の少なくとも一部を示す、圧縮符号化された符号化データを生成することが可能である。各IoT端末2は、生成した符号化データをゲートウェイ3に送信する。以後、差分画像と言えば、2つのフレーム画像の差分を示す差分画像を意味する。
 IoT端末2は、例えば、スマートフォン等の携帯電話機、スマートグラス等のウェアラブル機器、ネットワークカメラ、あるいはテレビ電話機などである。複数のIoT端末2は、同じ種類の機器であってもよいし、互いに異なる種類の機器であってもよい。
 ゲートウェイ3は、例えば、IoT端末2からの符号化データに基づく画像に対する画像認識処理を行う。そして、ゲートウェイ3は、画像認識処理の結果を示す情報を、インターネットを通じてクラウドサーバ5に送信する。クラウドサーバ5は、ゲートウェイ3からの情報を記憶し、記憶した情報に基づいて、各種処理を実行する。ゲートウェイ3は、IoT端末2で得られた画像の少なくとも一部を示すストリーミングデータをクラウドサーバ5に送信してもよい。この場合、クラウドサーバ5は、ゲートウェイ3からのストリーミングデータを表示してもよい。あるいは、クラウドサーバ5は、画像認識処理の結果を示す情報あるいはストリーミングデータを、別のゲートウェイ3あるいはIoT端末2に対してインターネットを通じて送信してもよい。この場合、別のゲートウェイ3あるいはIoT端末2は、クラウドサーバ5から受け取った情報あるいはストリーミングデータを表示してもよい。
 IoTシステム1は、例えば、スマートホームシステムで使用することができる。この場合、複数のIoT端末2及びゲートウェイ3は家の中に設けられ、クラウドサーバ5は当該家から離れた場所に設けられる。各IoT端末2は、カメラで家の中の様子を撮影して、その様子が写る動画のフレーム画像の少なくとも一部を示す符号化データあるいは当該動画についての差分画像の少なくとも一部を示す符号化データをゲートウェイ3に送信する。ゲートウェイ3は、IoT端末2からの符号化データに基づく画像に対して画像認識処理を行って、例えば家の中の人を検出する。そして、ゲートウェイ3は、その検出結果をクラウドサーバ5に送信する。これにより、例えば、家の中の子供あるいは高齢者の見守り及び管理が可能となる。
 またIoT端末2は、例えば、スマート工場で使用することができる。この場合、複数のIoT端末2及びゲートウェイ3は工場内に設けられ、クラウドサーバ5は当該工場から離れた場所に設けられる。各IoT端末2は、工場内の様子を撮影して、その様子が写る動画のフレーム画像の少なくとも一部を示す符号化データあるいは当該動画についての差分画像の少なくとも一部を示す符号化データをゲートウェイ3に送信する。ゲートウェイ3は、IoT端末2からの符号化データに基づく画像に対して画像認識処理を行って、例えば、荷物を配置することが可能な空きスペースを検出する。そして、ゲートウェイ3は、その検出結果をクラウドサーバ5に送信する。これにより、例えば、工場内での荷物の運搬管理が可能となる。
 なお、IoTシステム1が使用される場面は上記の限りではない。またIoT端末2は、それとは別体のカメラから画像データを受け取ってもよい。またIoT端末2で扱われる画像は、カメラで撮影された画像だけではなく、アニメーション画像であってもよい。
 以下では、情報処理システム1がIoTシステム1である場合を例に挙げて、情報処理システム1について詳細に説明する。
 <IoT端末の構成>
 図3はIoT端末2の構成の一例を示す図である。図3に示されるように、IoT端末2は、カメラ20、画像メモリ21、階層化部22、差分生成部23、符号化装置24、通信部25、決定部26及び座標メモリ27等で構成される回路構成を備える。IoT端末2は、例えば電池駆動型の端末であって、当該IoT端末2の電源を出力する電池を備える。
 カメラ20は、動画を撮影し、撮影する動画のフレーム画像を示す画像データ500を出力する。画像データ500は複数の画素値で構成されている。カメラ20は、フレーム画像を撮影するたびに、撮影したフレーム画像を示す画像データ500を順次出力する。本例では、カメラ20の位置は固定されている。以後、画像データ500をフレーム画像データ500と呼ぶことがある。
 画像メモリ21は、カメラ20から出力される画像データ500を記憶する。画像メモリ21はカメラ20で撮影されるフレーム画像を記憶するとも言える。
 階層化部22は、画像メモリ21内の画像データ500を階層化し、それよって得られた階層化データ501を出力する。階層化データ501は、フレーム画像を示すデータであるとも言える。階層化部22は、例えば、画像データ500に対してウェーブレット変換(詳細には離散ウェーブレット変換)を実行して、画像データ500を階層化する。階層化部22は、例えば、JPEG(Joint Photographic Experts Group)2000で採用されている圧縮符号化でのウェーブレット変換と同様にして、画像データ500に対してウェーブレット変換を行う。階層化部22の少なくとも一部は、その機能の実現にソフトウェアが不要なハードウェア回路によって実現されてよい。また、階層化部22の少なくとも一部は、コンピュータがプログラムを実行することによって実現される機能ブロックであってもよい。以後、ウェーブレットをWTと表すことがある。
 差分生成部23は、2つのフレーム画像についての階層化データ501の差分を示す差分階層化データ502を生成して出力する。差分生成部23は、階層化部22から出力される階層化データ501を記憶することができる。差分生成部23は、階層化部22から階層化データ501が出力されると、その階層化データ501と、すでに記憶している階層化データ501との差分を示す差分階層化データ502を生成する。これにより、カメラ20において互いに異なるタイミングで撮影された2つのフレーム画像についての階層化データ501の差分を示す差分階層化データ502が生成される。2つのフレーム画像についての階層化データ501の差分を示す差分階層化データ502は、当該2つのフレーム画像の差分を示す差分画像を示す、階層化された階層化データであると言える。差分生成部23の少なくとも一部は、その機能の実現にソフトウェアが不要なハードウェア回路によって実現されてよい。また、差分生成部23の少なくとも一部は、コンピュータがプログラムを実行することによって実現される機能ブロックであってもよい。
 以後、階層化データ501を非差分階層化データ501と呼ぶことがある。また、非差分階層化データ501と差分階層化データ502を総称して、符号を用いずに単に階層化データと呼ぶ。
 決定部26は、差分階層化データ502から、所定の基準に基づいて、送信対象データ503を決定する。本例では、所定の基準としては、IoT端末2での処理の結果と、ゲートウェイ3から送信される指示情報520とが使用される。IoT端末2での処理の結果として、例えば、後述するマスク生成部で生成される統合マスクデータが使用される。
 決定部26は、統合マスクデータ及び指示情報520に基づいて、差分階層化データ502から送信対象データ503を決定する。決定部26は、ゲートウェイ3からの新たな指示情報520を受け取ると、その新たな指示情報520に基づいて送信対象データ503を決定する。決定部26は、差分階層化データ502から決定した送信対象データ503を符号化装置24に入力する。
 また決定部26は、非差分階層化データ501から送信対象データ503を決定することも可能である。決定部26は、非差分階層化データ501から決定した送信対象データ503を符号化装置24に入力する。
 また決定部26は、決定した送信対象データ503に関する座標データ504を生成して出力する。座標データ504については後で詳細に説明する。決定部26の少なくとも一部は、その機能の実現にソフトウェアが不要なハードウェア回路によって実現されてよい。また、決定部26の少なくとも一部は、コンピュータがプログラムを実行することによって実現される機能ブロックであってもよい。
 符号化装置24は、入力される送信対象データ503を圧縮符号化して符号化データ505を生成する。そして、符号化装置24は、生成した符号化データ505を含むビットストリーム506を生成して出力する。決定部26が決定した送信対象データ503は符号化装置24で圧縮符号化されることから、決定部26は、圧縮符号化する対象のデータを決定する処理を行うとも言える。符号化装置24の少なくとも一部は、その機能の実現にソフトウェアが不要なハードウェア回路によって実現されてよい。また、符号化装置24の少なくとも一部は、コンピュータがプログラムを実行することによって実現される機能ブロックであってもよい。
 以後、差分階層化データ502から決定された送信対象データ503を圧縮符号化することによって生成された符号化データ505を符号化差分データ505と呼ぶことがある。また、非差分階層化データ501から決定された送信対象データ503を圧縮符号化することによって生成された符号化データ505を符号化非差分データ505と呼ぶことがある。
 座標メモリ27は、座標データ504が登録される座標テーブル27aを記憶している。座標メモリ27は、決定部26から出力される座標データ504を、座標テーブル27aに登録する。
 通信部25は、ゲートウェイ3と通信を行う通信回路である。通信部25は、例えばZigBeeに準拠してゲートウェイ3と無線通信を行う。通信部25の通信方式はこれに限られない。通信部25は、ゲートウェイ3からの信号を受信する受信部25bと、ゲートウェイ3に信号を送信する送信部25aとを備える。送信部25aは、符号化装置24で生成されるビットストリーム506をゲートウェイ3に送信する。また送信部25aは、決定部26から出力される座標データ504をゲートウェイ3に送信する。受信部25bは、ゲートウェイ3が送信する指示情報520を受信し、受信した指示情報520を決定部26に出力する。
 なおIoT端末2は、カメラ20を備えていなくてもよい。この場合、画像メモリ21には、IoT端末2とは別体のカメラから出力される画像データ(実写画像を示す画像データ)が入力されてよいし、アニメーション画像を示す画像データが入力されてよい。
 また、画像メモリ21及び座標メモリ27は、互いに独立した別々のメモリであってもよいし、一つのメモリの記憶領域の一部が画像メモリ21として使用され、当該記憶領域の他の部分が座標メモリ27として使用されてもよい。
 <ゲートウェイの構成>
 図4はゲートウェイ3の構成の一例を示す図である。図4に示されるように、ゲートウェイ3は、通信部30、復号化装置31、データ処理部32、画像認識部33、トランスコーダ34、通信部35及び座標メモリ36等で構成される回路構成を備える。ゲートウェイ3は、例えば商用電源を電源として動作を行う。ゲートウェイ3では、復号化装置31、データ処理部32、画像認識部33及びトランスコーダ34によって、IoT端末2からの符号化データに基づいて所定の処理を行う処理部が構成される。
 通信部30は、IoT端末2と通信を行う通信回路である。通信部30は、IoT端末2からの信号を受信する受信部30aと、IoT端末2に信号を送信する送信部30bとを備える。受信部30aは、IoT端末2から送信されるビットストリーム506及び座標データ504を受信する。送信部30bは、IoT端末2が送信すべきデータを当該IoT端末2に指示するための指示情報520を、IoT端末2に送信する。指示情報520はデータ処理部32で生成される。
 座標メモリ36は、IoT端末2からの座標データ504が登録される座標テーブル36aを記憶する。座標メモリ36は、受信部30aで受信される座標データ504を座標テーブル36aに登録する。
 復号化装置31は、受信部30aが受信するビットストリーム506から符号化データ505を抽出する。復号化装置31は、抽出した符号化データ505をデータ処理部32に出力する。また復号化装置31は、抽出した符号化データ505を伸張復号化して復号化データ521を生成する。この復号化データ521は、ウェーブレット逆変換(詳細には離散ウェーブレット逆変換)されていないデータである。つまり、復号化データ521は、それが符号化差分データ505を伸張復号化したものである場合には、IoT端末2で生成される差分階層化データ502(WT変換されたデータ)の少なくとも一部を復元したものである。また、復号化データ521は、それが符号化非差分データ505を伸張復号化したものである場合には、IoT端末2で生成される非差分階層化データ501(WT変換されたデータ)の少なくとも一部を復元したものである。復号化装置31は、受信部30aが新たなビットストリーム506を受信すると、その新たなビットストリーム506に含まれる符号化データ505を伸張復号化して復号化データ521を生成する。復号化装置31の少なくとも一部は、その機能の実現にソフトウェアが不要なハードウェア回路によって実現されてよい。また、復号化装置31の少なくとも一部は、コンピュータがプログラムを実行することによって実現される機能ブロックであってもよい。
 以後、符号化差分データ505を伸張復号化して得られる復号化データ521を復号化差分データ521と呼ぶことがある。また、符号化非差分データ505を伸張復号化して得られる復号化データ521を復号化非差分データ521と呼ぶことがある。
 データ処理部32は、復号化装置31で生成される復号化非差分データ521を後述の第1メモリに記憶する。またデータ処理部32は、復号化装置31で生成される復号化差分データ521から、当該復号化差分データ521に対応する、非差分階層化データ501に含まれるデータを復元して第1メモリに記憶する。またデータ処理部32は、復号化装置31からの符号化データ505を後述する第2メモリに記憶する。
 画像認識部33は、データ処理部32が生成する認識用データ522が示す認識対象画像に対して画像認識処理を行う。画像認識部33は、画像認識処理において、認識対象画像から、人全体あるいは人の顔等の検出対象物を検出する。なお、検出対象物はこの限りではない。画像認識部33は、データ処理部32で使用される、画像認識処理の結果を示す認識結果情報523を生成する。また画像認識部33は、ゲートウェイ3からクラウドサーバ5に送信される、画像認識処理の結果を示す認識結果情報524を、通信部35に出力する。
 データ処理部32は、第1メモリ内のデータに基づいて、画像認識部33で使用される認識用データ522を生成する。データ処理部32は、画像認識部33で生成される認識結果情報523に基づいて、トランスコーダ34で使用されるマスクデータ525を生成する。マスクデータ525は、第1メモリ内のデータに基づく画像におけるROI(関心領域)を特定するためのマスクデータである。言い換えれば、マスクデータ525は、IoT端末2から送信される符号化データ505に基づく画像におけるROIを特定するためのマスクデータである。データ処理部32は、認識結果情報523等に基づいて指示情報520を生成する。
 またデータ処理部32は、第1メモリ内のデータに基づいて、トランスコーダ34で使用されるトランスコーダ用復号化データ526を生成して出力する。またデータ処理部32は、第2メモリ内のデータに基づいて、トランスコーダ34で使用されるトランスコーダ用符号化データ527を生成して出力する。
 トランスコーダ34は、データ処理部32で生成されるマスクデータ525に基づいて、トランスコーダ用復号化データ526が示す画像からROIを特定し、特定したROIを示す、圧縮符号化されたデータを符号化データとして生成する。ゲートウェイ3は、マスクデータ525を変更することによって、様々な形状のROIを示す符号化データを生成することができる。トランスコーダ34は、生成した符号化データを含むビットストリーム529を生成して出力する。またトランスコーダ34は、トランスコーダ用符号化データ527を含むビットストリーム529を生成して出力する。
 通信部35は、クラウドサーバ5と通信を行う通信回路である。通信部35は、トランスコーダ34から出力されるビットストリーム529をクラウドサーバ5に送信する。また通信部35は、画像認識部33から出力される認識結果情報524をメタデータとしてクラウドサーバ5に送信する。なお、ゲートウェイ3は、認識結果情報524を圧縮符号化し、それによって得られた符号化データをクラウドサーバ5に送信してもよい。
 クラウドサーバ5は、ゲートウェイ3から受け取ったビットストリーム529に含まれる符号化データを伸張復号化し、それによって得られた復号化データ(画像データ)を記憶する。また、クラウドサーバ5は、ゲートウェイ3からのメタデータを記憶する。そして、クラウドサーバ5は、記憶している復号化データ及びメタデータに基づいて、画像検索あるいは画像解析等を行う。
 以上のように、本例に係るIoTシステム1では、IoT端末2が、画像を示す階層化データ(フレーム画像を示す非差分階層化データ501及び差分画像を示す差分階層化データ502)を生成し、生成した階層化データから、所定の基準に基づいて送信対象データ503を決定する。そして、IoT端末2は、決定した送信対象データ503を圧縮符号化し、それによって得られた符号化データ505をゲートウェイ3に送信する。これにより、画像を示す階層化データのすべてが圧縮符号化され、それによって得られた符号化データがIoT端末2から送信される場合と比較して、IoT端末2の消費電力を低減することができる。また、IoT端末2とゲートウェイ3との間のデータ伝送レートが低い場合であっても、IoT端末2から送信される符号化データの送信遅延を低減することができる。
 また、差分階層化データ502のデータ量は、非差分階層化データ501のデータ量よりも小さくすることができる。したがって、IoT端末2が、差分階層化データ502から送信対象データ503を決定することによって、IoT端末2が送信するデータ量を低減することができる。よって、IoT端末2の消費電力をさらに低減することができる。また、IoT端末2から送信される符号化データの送信遅延をさらに低減することができる。
 <IoT端末の詳細説明>
 <階層化部の詳細説明>
 図5はIoT端末2の階層化部22の構成の一例を示す図である。図5に示されるように、階層化部22は、DCレベルシフト部221、色空間変換部222、タイリング部223、ウェーブレット変換部224(WT変換部224)及び量子化部225を備えている。
 DCレベルシフト部221は、フレーム画像データ500のDCレベルを必要に応じて変換する。色空間変換部222は、DCレベル変換後のフレーム画像データ500の色空間を変換する。例えば、RGB成分がYCbCr成分(輝度成分Yと色差成分Cb,Crとから成る)に変換される。タイリング部223は、色空間変換後のフレーム画像データ500を、タイルと呼ばれる矩形状の複数の領域成分に分割する。そして、タイリング部223は、フレーム画像データ500をタイルごとにウェーブレット変換部224に入力する。なお、必ずしもフレーム画像データ500をタイルに分割する必要はなく、色空間変換部222から出力されたフレーム画像データ500を、そのままウェーブレット変換部224に入力してもよい。
 ウェーブレット変換部224は、タイリング部223で処理されたフレーム画像データ500に対してウェーブレット変換を行って階層化データ510を生成する。そして、量子化部225は、階層化データ510を量子化して出力する。階層化部22は、量子化された階層化データ510を階層化データ501として出力する。
 <ウェーブレット変換部>
 ウェーブレット変換部224は、入力されるフレーム画像データ500に対して、整数型または実数型の離散ウェーブレット変換(DWT)を行い、その結果得られた複数の変換係数を出力する。以下では、変換係数をウェーブレット係数と呼ぶことがある。また、フレーム画像データ500に対してウェーブレット変換を行うことによって生成されるデータ(ウェーブレット係数の群)を、第1ウェーブレット係数データと呼ぶことがある。ウェーブレット変換部224は、生成した第1ウェーブレット係数データを、フレーム画像を示す階層化データ510として出力する。
 ウェーブレット変換では、2次元画像データが高域成分(換言すれば高周波成分)と低域成分(換言すれば低周波成分)とに分解される。この周波数分解は例えば帯域分割とも呼ばれる。また、周波数分解によって得られた各帯域成分(すなわち低域成分と高域成分のそれぞれ)はサブバンドとも呼ばれる。ここでは、JPEG2000の基本方式に倣い、垂直方向と水平方向の両方について低域側に分割されたサブバンドのみを再帰的に帯域分割していく、オクターブ分割方式を採用するものとする。再帰的な帯域分割を行った回数は、分解レベルと呼ばれる。分解レベルの情報は、第1ウェーブレット係数データに付随している。
 ウェーブレット変換部224では、所定の分解レベルまでフレーム画像データ500が分解される。一般的には分解レベルが3~5程度の場合に、良好な符号化効率が得られる。なお、ウェーブレット変換部224における上記所定の分解レベルを、最大分解レベルと呼ぶ場合もある。本例では、最大分解レベルは3に設定されている。
 図6~8に、2次元でのウェーブレット変換について、Mallat型のウェーブレット平面551~553を示す。図6~8の例によれば、入力画像(2次元画像)は、分解レベル1において(図6参照)、垂直方向と水平方向のそれぞれについて周波数分解が行われる。これにより、図6のウェーブレット平面551に示すように、4つのサブバンドHH1,HL1,LH1,LL1に分解される。分解レベル1で得られたサブバンドLL1は、分解レベル2において(図7のウェーブレット平面552を参照)、さらに4つのサブバンドHH2,HL2,LH2,LL2に分解される。分解レベル2で得られたサブバンドLL2は、分解レベル3において(図8のウェーブレット平面553を参照)、さらに4つのサブバンドHH3,HL3,LH3,LL3に分解される。
 2次元のウェーブレット変換に関する表記について、例えばHL1は、分解レベル1における水平方向の高域成分Hと垂直方向の低域成分Lとからなるサブバンドである。その表記法はXYmと一般化される(XおよびYはそれぞれH,Lのいずれか。mは1以上の整数)。すなわち、分解レベルmにおける水平方向のサブバンドXと垂直方向のサブバンドYとからなるサブバンドはXYmと表記される。また、分解レベルを特定しない場合には、水平方向のサブバンドXと垂直方向のサブバンドYとからなるサブバンドはXYと表記される。
 なお以下では、サブバンドLL1,LL2,・・・のそれぞれをLLサブバンドと略称する場合がある。また、サブバンドLL1をLL1サブバンドと呼ぶ場合がある。他のサブバンドについても同様である。
 ここで、ウェーブレット平面(図6~8参照)は、ウェーブレット変換の演算結果データを、原画像(ウェーブレット変換が行われていない状態の画像)中の画素の並びに対応付けて2次元配列したデータ群である。例えばウェーブレット平面においてサブバンドLL1として示されている領域内には、原画像中のある画素を注目画素として得られた演算結果データが、原画像中での当該注目画素の位置に対応して並べられている。ウェーブレット係数は画素に対応する値であると言える。
 なおウェーブレット平面は、ウェーブレット空間またはウェーブレット領域と呼ばれる場合もある。また、2次元配列された係数を画素値に見立てて、ウェーブレット平面をウェーブレット画像と呼び、サブバンドをサブバンド画像と呼び、XYmサブバンドをXYmサブバンド画像と呼び、XYサブバンドをXYサブバンド画像と呼ぶ場合もある。
 分解レベル1において、サブバンドLL1は画像の本質的な情報に対応する。サブバンドLL1によれば、分解前の画像の1/4のサイズの画像(換言すれば、分解前の画像に対する縮小比が1/2の画像)を提供可能である。サブバンドHL1は垂直方向に伸びるエッジの情報に対応し、サブバンドLH1は水平方向に伸びるエッジの情報に対応する。サブバンドHHは斜め方向に伸びるエッジの情報に対応する。これらの点は他の分解レベルについても同様である。例えば、分解レベル2のサブバンドLL2,HL2,LH2,HH2は、分解前のサブバンドLL1を原画像と見なした場合におけるサブバンドLL1,HL1,LH1,HH1とそれぞれ同様の関係にある。
 以下では、ウェーブレット変換が行われていない状態の原画像を分解レベル0に対応させることにより、当該原画像を分解レベル0のウェーブレット画像または分解レベル0のウェーブレット平面と表現する場合もある。
 図9はフレーム画像5000(原画像)の一例を示す図である。図10は、図9に示されるフレーム画像5000を示すフレーム画像データ500をウェーブレット変換して得られる、分解レベル3のウェーブレット平面553を模式的な画像として示す図である。図9に示されるフレーム画像5000には、移動中の人が写る画像5001と、木が写る画像5002とが含まれている。図10に示されるように、ウェーブレット平面上の各サブバンドは、画像5001を示す部分5531と、画像5002を示す部分5532とを含んでいる。
 ウェーブレット平面553上の各サブバンドは、フレーム画像5000を示すデータであると言える。サブバンド分割回数が3回のサブバンドLL3,HL3,LH3,HH3が示すフレーム画像5000の解像度は、サブバンド分割回数が2回のサブバンドHL2,LH2,HH2が示すフレーム画像5000の解像度よりも低いと言える。また、サブバンド分割回数が2回のサブバンドHL2,LH2,HH2が示すフレーム画像5000の解像度は、サブバンド分割回数が1回のサブバンドHL1,LH1,HH1が示すフレーム画像5000の解像度よりも低いと言える。そして、サブバンド分割回数が1回のサブバンドHL1,LH1,HH1が示すフレーム画像5000の解像度は、サブバンド分割されていないフレーム画像5000の解像度よりも低いと言える。
 このように、第1ウェーブレット係数データ(階層化データ510)は、解像度が互いに異なるフレーム画像を示す複数階層データで構成されていると言える。
 なおMallat型では、上記のように、LLサブバンドを水平方向と垂直方向のそれぞれについて同じ回数で、再帰的に分解する。また後述のように、Mallat型では分解とは逆の手順でサブバンドが合成される。ただし、水平方向と垂直方向のそれぞれのL成分とH成分を同じ回数で、分解および合成する必要はない。すなわち、Mallat型とは異なる型式のウェーブレット変換を用いてもよい。また、分解回数が同じサブバンドのウェーブレット平面上の大きさは同じでなくもよい。
 また、原画像及びウェーブレット画像において左上端を直交座標系の原点に採り、原点を0として扱い、ウェーブレット変換のL成分出力を偶数として扱い、H成分出力を奇数として扱う例を挙げる。ただし、L成分出力を奇数として扱い、H成分出力を偶数として扱うことも可能である。この直交座標系での互いに直交する2つの軸は、例えば、ウェーブレット平面の横方向及び縦方向にそれぞれ設定される。なお、ウェーブレット平面(図6~8参照)は、ウェーブレット変換の偶数番目および奇数番目の出力を、サブバンドごとに再配置した概念的な平面である。
 また、ウェーブレット平面(ウェーブレット画像)の各係数の位置を、直交座標系での座標(x,y)で表すことがある。直交座標系の原点に位置する係数の座標(x,y)は(0,0)となる。
 <量子化部>
 量子化部225は、ウェーブレット変換部224から出力される第1ウェーブレット係数データに対して、量子化ステップサイズに基づいて、スカラー量子化を行い、それにより第1量子化ウェーブレット係数データ(第1量子化WT係数データ)を生成する。量子化部225は、生成した第1量子化ウェーブレット係数データを階層化データ501として出力する。第1量子化ウェーブレット係数データは、量子化された階層化データ510である。量子化ステップサイズは、例えば目標画質に応じて設定される。量子化ステップサイズを変更することによって、第1量子化ウェーブレット係数データが示す画像の解像度を調整することができる。階層化データ510が量子化されることにより、高域のサブバンドLH,HL,HHのデータ量が特に減少する。
 第1量子化ウェーブレット係数データは、第1ウェーブレット係数データと同様のデータ構造を有している。このため、第1量子化ウェーブレット係数データによれば、第1ウェーブレット係数データと同様に、ウェーブレット平面が提供される。第1量子化ウェーブレット係数データによって提供されるウェーブレット平面を量子化ウェーブレット平面と呼ぶ場合もある。
 <差分生成部の詳細説明>
 図11は差分生成部23の構成の一例を示す図である。図11に示されるように、差分生成部23は生成部230及びフレームバッファ231を備える。生成部230は、階層化データ501をフレームバッファ231に記憶する。生成部230は、現在の処理対象のフレーム画像を示す階層化データ501が階層化部22で生成されると、当該階層化データ501と、フレームバッファ231に記憶される、過去に生成された階層化データ501とに基づいて、差分階層化データ502を生成する。
 以後、現在の処理対象のフレーム画像を対象フレーム画像あるいは現フレーム画像と呼ぶことがある。また、対象フレーム画像を示す階層化データ501を現階層化データ501と呼ぶことがある。また現階層化データ501の量子化ウェーブレット係数(量子化WT係数)を現量子化ウェーブレット係数(現量子化WT係数)と呼ぶことがある。また、対象フレーム画像の画像データ500を対象フレーム画像データ500あるいは現フレーム画像データ500と呼ぶことがある。また、生成部230が差分階層化データ502の生成で使用する2つの階層化データ501のうち、フレームバッファ231から読み出した過去の階層化データ501を過去階層化データ501と呼ぶことがある。また、過去階層化データ501が示すフレーム画像を過去フレーム画像と呼ぶことがある。また、過去階層化データ501の量子化ウェーブレット係数を過去量子化ウェーブレット係数(過去量子化WT係数)と呼ぶことがある。
 生成部230は、対象フレーム画像を示す現階層化データ501と、過去フレーム画像を示す過去階層化データ501とに基づいて、対象フレーム画像と過去フレーム画像との差分を示す差分画像を示す差分階層化データ502を生成する。過去フレーム画像は、対象フレーム画像よりもPフレーム前のフレーム画像である。Pは、1以上の整数であって、例えば1に設定される。なお、Pは2以上であってもよい。
 生成部230は、現階層化データ501の各現量子化WT係数について、当該現量子化WT係数から、過去階層化データ501のうち、当該現量子化WT係数に対応する過去量子化WT係数を差し引いた値を量子化差分WT係数として求める。ここで、現量子化WT係数に対応する過去量子化WT係数とは、量子化ウェーブレット平面において、当該現量子化WT係数の位置と同じ位置に存在する過去量子化WT係数である。量子化差分WT係数を、単に差分WT係数と呼ぶことがある。
 以後、現階層化データ501の各現量子化WT係数について求められた量子化差分WT係数から成るデータを「第1量子化差分WT係数データ」と呼ぶことがある。第1量子化差分WT係数データは、第1ウェーブレット係数データと同様のデータ構造を有している。このため、第1量子化差分WT係数データによれば、第1ウェーブレット係数データと同様に、ウェーブレット平面が提供される。第1量子化差分WT係数データによって提供されるウェーブレット平面を、量子化差分ウェーブレット平面(量子化差分WT平面)と呼ぶことがある。
 ここで、座標(x,y)の位置にある現量子化WT係数及び過去量子化WT係数をそれぞれC1(x,y)及びC2(x、y)とする。また、現量子化WT係数C1(x,y)及び過去量子化WT係数C2(x,y)から求められる、座標(x,y)の位置にある差分WT係数をDC(x,y)とする。この場合、差分WT係数DC(x,y)=C1(x,y)-C2(x,y)となる。
 生成部230は、現階層化データ501及び過去階層化データ501に基づいて、量子化差分WT係数データを生成すると、生成した量子化差分WT係数データを差分階層化データ502として出力する。生成部230は、階層化部22で階層化データ501が生成されるたびに、当該階層化データ501を現階層化データ501として差分階層化データ502を生成する。
 <決定部の詳細説明>
 図12は決定部26の構成の一例を示す図である。図12に示されるように、決定部26は、マスク生成部260及び送信対象決定部263を備える。
 <マスク生成部>
 マスク生成部260は生成部261及び統合部262を有する。生成部261は、差分階層化データ502において、その絶対値がしきい値よりも大きい差分WT係数を特定するための差分フレームマスクのデータ512(以後、差分フレームマスクデータ512と呼ぶことがある)を生成する。当該しきい値は、例えば零に設定される。なお、しきい値は零よりも大きくてもよい。
 以後、差分階層化データ502において、その絶対値がしきい値よりも大きい差分WT係数を差分大の差分WT係数と呼び、その絶対値がしきい値以下の差分WT係数を差分小の差分WT係数と呼ぶことがある。差分階層化データ502は、差分大の差分WT係数から成る差分大データと、差分小の差分WT係数から成る差分小データとに分けることができる。
 差分フレームマスクデータ512は、差分階層化データ502を構成する複数の差分WT係数にそれぞれ対応する複数の係数で構成されている。この複数の係数が、フレーム画像中(差分画像中)の画素の並びに対応付けて2次元配列されたものが、差分フレームマスクとなる。
 差分フレームマスクデータ512を構成する複数の係数には、差分大の差分WT係数に対応する第1ROIマスク係数と、差分小の差分WT係数に対応する第1非ROIマスク係数とが含まれる。第1ROIマスク係数は例えば1であって、第1非ROIマスク係数は例えば0である。生成部261は、差分階層化データ502の各差分WT係数の絶対値を求める。そして、生成部261は、量子化差分WT平面において座標(x,y)に位置する差分WT係数の絶対値がしきい値よりも大きければ(本例では零よりも大きければ)、差分フレームマスクにおいて当該座標(x,y)に位置する係数を第1ROIマスク係数とする。一方で、生成部261は、量子化差分WT平面において座標(x,y)に位置する差分WT係数の絶対値がしきい値以下であれば(本例では零であれば)、差分フレームマスクにおいて当該座標(x,y)に位置する係数を第1非ROIマスク係数とする。差分フレームマスクは、第1ROIマスク係数から成る第1ROIマスク部分と、第1非ROIマスク係数から成る第1非ROIマスク部分とに分けることができる。
 図13はフレーム画像5010の一例を模式的に示す図である。フレーム画像5010には、人が写る画像5011が含まれている。図14は、図13に示されるフレーム画像5010を示す現階層化データ501に基づいて生成された差分階層化データ502において、差分大の差分WT係数を特定するための差分フレームマスク5120の一例を示す図である。図14に示されるように、差分フレームマスク5120は、白抜きで示された第1ROIマスク部分5121と、黒塗りで示された第1非ROIマスク部分5122とで構成されている。差分フレームマスク5120では、フレーム画像5010中の、人が写る画像5011に対応する部分が、第1ROIマスク部分5121となっている。
 図14から理解できるように、差分フレームマスクは、量子化差分ウェーブレット平面に含まれる各サブバンド用のマスクの集合体として把握できる。すなわち、サブバンドごとのマスクをサブバンドマスクと呼ぶことにすると、差分フレームマスクはサブバンドマスクの集合体として把握できる。例えば、差分フレームマスクのうちでLLサブバンド用の部分をLLサブバンドマスクと呼ぶことにする。他のサブバンドに対応する部分についても同様とする。また、差分フレームマスクデータ512に含まれる、サブバンドマスクのデータをサブバンドマスクデータと呼ぶがある。また、LLサブバンドマスクのデータをLLサブバンドマスクデータと呼ぶことがある。他のサブバンドマスクのデータについても同様とする。サブバンドマスクデータは、量子化差分ウェーブレット平面における、当該サブバンドマスクデータに対応するサブバンドにおいて、差分大の差分WT係数を特定するためのデータであると言える。
 統合部262は、量子化差分ウェーブレット平面のサブバンドの各分解レベルについて、当該分解レベルの複数のサブバンドにそれぞれ対応する複数のサブバンドマスクを統合して、当該複数のサブバンドに共通のサブバンドマスクを生成する。以後、当該共通のサブバンドマスクを統合サブバンドマスクと呼ぶことがある。
 図15,16は統合サブバンドマスクの生成方法の一例を説明するための図である。図15は、4つのサブバンドが存在する分解レベルについての統合サブバンドマスクの生成方法を説明するための図である。言い換えれば、図15は、LLサブバンドが存在する分解レベルについての統合サブバンドマスクの生成方法を説明するための図である。図16は、3つのサブバンドが存在する分解レベルについての統合サブバンドマスクの生成方法を説明するための図である。言い換えれば、図16は、LLサブバンドが存在しない分解レベルについての統合サブバンドマスクの生成方法を説明するための図である。
 図15を参照して、分解レベル3のように、LLサブバンド、LHサブバンド、HLサブバンド及びHHサブバンドが存在する分解レベルについては、統合部262は、LLサブバンド、LHサブバンド、HLサブバンド及びHHサブバンドにそれぞれ対応するLLサブバンドマスク5125LL、LHサブバンドマスク5125LH、HLサブバンドマスク5125HL及びHHサブバンドマスク5125HHを統合して、統合サブバンドマスク5126を生成する。具体的には、統合部262は、LLサブバンドマスク5125LL、LHサブバンドマスク5125LH、HLサブバンドマスク5125HL及びHHサブバンドマスク5125HHにおける同じ位置の係数についての論理和を求めて、それによって得られた値を、統合サブバンドマスク5126でのそれと同じ位置の係数の値とする。したがって、LLサブバンドマスク5125LL、LHサブバンドマスク5125LH、HLサブバンドマスク5125HL及びHHサブバンドマスク5125HHにおける同じ位置の係数の少なくとも一つが1であれば、統合サブバンドマスク5126でのそれと同じ位置の係数は1となる。一方で、LLサブバンドマスク5125LL、LHサブバンドマスク5125LH、HLサブバンドマスク5125HL及びHHサブバンドマスク5125HHにおける同じ位置の係数のすべて0であれば、統合サブバンドマスク5126でのそれと同じ位置の係数は0となる。このようにして、統合部262は、統合サブバンドマスク5126での各位置の係数を求める。
 分解レベル1,2のように、LLサブバンドが存在しない分解レベルについては、図16に示されるように、統合部262は、LHサブバンド、HLサブバンド及びHHサブバンドにそれぞれ対応するLHサブバンドマスク5125LH、HLサブバンドマスク5125HL及びHHサブバンドマスク5125HHを統合して、統合サブバンドマスク5126を生成する。具体的には、統合部262は、LHサブバンドマスク5125LH、HLサブバンドマスク5125HL及びHHサブバンドマスク5125HHにおける同じ位置の係数についての論理和を求めて、それによって得られた値を、統合サブバンドマスク5126でのそれと同じ位置の係数の値とする。このようにして、統合部262は、統合サブバンドマスク5126での各位置の係数を求める。
 以上のようにして、統合部262は、サブバンドの各分解ベルについて、当該分解レベルの複数のサブバンドに共通のサブバンドマスク(統合サブバンドマスク)を生成する。同じ分解レベルの複数のサブバンドに共通のサブバンドマスクによって、当該複数のサブバンドのそれぞれでの差分大の差分WT係数をほぼ特定することができる。決定部26は、統合サブバンドマスクを使用して、送信対象データ503を決定する。
 以後、分解レベル3の4つのサブバンドに共通の統合サブバンドマスクを、分解レベル3に対応する統合サブバンドマスクと呼ぶことがある。同様に、分解レベル2の3つのサブバンドマスクに共通の統合サブバンドマスクを、分解レベル2に対応する統合サブバンドマスクと呼ぶことがある。同様に、分解レベル1の3つのサブバンドマスクに共通の統合サブバンドマスクを、分解レベル1に対応する統合サブバンドマスクと呼ぶことがある。また、分解レベル1~3に対応する統合サブバンドマスクをまとめて統合マスクと呼ぶことがある。また、統合サブバンドマスクのデータを統合サブバンドマスクデータと呼び、統合マスクのデータを統合マスクデータと呼ぶことがある。また、統合サブバンドマスクにおいて、係数が1である部分を第2ROIマスク部分と呼び、係数が0である部分を第2非ROIマスク部分と呼ぶことがある。図15,16に示される統合サブバンドマスク5126において、白抜き部分が第2ROIマスク部分であって、黒塗り部分が第2非ROIマスク部分である。
 統合部262は、差分フレームマスクデータ512に基づいて、サブバンドの複数の分解レベルにそれぞれ対応する複数の統合サブバンドマスクデータを含む統合マスクデータ513を生成して出力する。
 <送信対象決定部>
 送信対象決定部263は、マスク生成部260で生成される統合マスクデータ513と、ゲートウェイ3からの指示情報520とに基づいて、差分階層化データ502から送信対象データ503を決定する。また送信対象決定部263は、指示情報520に基づいて、非差分階層化データ501から送信対象データ503を決定する。
 送信対象決定部263は、例えば、差分階層化データ502の各サブバンドを、JPEG2000と同様に、32×32あるいは64×64程度の「コードブロック」と呼ばれる領域に分割する。図17は、量子化差分ウェーブレット平面5020の各サブバンドが複数のコードブロック5021に分割されている様子の一例を示す図である。図17に示されるように、サブバンドは、その左上端を基準にして、複数のコードブロック5021に分割される。そして、送信対象決定部263は、差分階層化データ502において、指示情報520に応じた差分コードブロックを、統合マスクデータ513に基づいて特定し、特定した差分コードブロックを送信対象データ503とする。
 ここで、差分コードブロックとは、統合サブバンドマスクを、それに対応する分解レベルのサブバンドに重ねた場合に、当該サブバンドにおいて、当該統合サブバンドマスクの第2ROIマスク部分の少なくとも一部を含むコードブロックを意味する。
 図18は、分解レベル2に対応する、第2ROIマスク部分5126a及び第2非ROIマスク部分5126bを備える統合サブバンドマスク5126が、分解レベル2のサブバンドに重ねられている様子の一例を示す図である。図18の例では、分解レベル2のサブバンドを構成する30個のコードブロック5021のうち、統合サブバンドマスク5126の第2ROIマスク部分5126aの少なくとも一部を含む9個のコードブロック5021のそれぞれが差分コードブロック5021となる。差分コードブロック5021に斜線を示すと、図19のようになる。
 指示情報520によって、IoT端末2が送信すべきデータとして、例えば、分解レベル3のサブバンドLL3が指定された場合、送信対象決定部263は、分解レベル3に対応する統合サブバンドマスクをサブバンドLL3に重ねた場合に、当該サブバンドLL3において、当該統合サブバンドマスクの第2ROIマスク部分の少なくとも一部を含む差分コードブロックを、送信対象データ503とする。
 また送信対象決定部263は、差分階層化データ502と同様に、非差分階層化データ501の各サブバンドを、32×32あるいは64×64程度のコードブロックに分割する。そして、送信対象決定部263は、非差分階層化データ501を構成する複数のコードブロックにおいて、指示情報520に応じたコードブロックを特定し、特定したコードブロックを送信対象データ503とする。
 以後、コードブロックをCBと呼ぶことがある。また、非差分階層化データ501のコードブロックを非差分コードブロック(非差分CB)と呼ぶことがある。
 差分階層化データ502に含まれる複数の差分コードブロックから成る差分CBデータは、差分階層化データ502に含まれる差分大データ(その絶対値がしきい値よりも大きい差分WT係数から成るデータ)と概ね一致する。差分CBデータは、差分画像に含まれる、動く物体を示す部分画像を示すデータであると言える。
 ゲートウェイ3は、指示情報520を使用して、IoT端末2が送信すべき差分コードブロックを自由に指定することができる。例えば、ゲートウェイ3は、IoT端末2が送信すべき差分コードブロックを、コードブロック単位で指定することができる。またゲートウェイ3は、IoT端末2が送信すべき差分コードブロックをサブバンド単位で指定することができる。例えば、ゲートウェイ3は、IoT端末2が送信すべき差分コードブロックとして、サブバンドLL3の差分コードブロックを指定することができる。またゲートウェイ3は、IoT端末2が送信すべき差分コードブロックとして、例えば、サブバンドHH3,HL3の差分コードブロックを指定することができる。またゲートウェイ3は、IoT端末2が送信すべきデータを分解レベル単位で指定することもできる。例えば、ゲートウェイ3は、IoT端末2が送信すべき差分コードブロックとして、分解レベル2の差分コードブロックを指定することができる。この場合には、サブバンドHH2,LH2,HL2の差分コードブロックが指定される。またゲートウェイ3は、IoT端末2が送信すべき差分コードブロックとして、例えば、分解レベル1,2の差分コードブロックを指定することができる。この場合には、サブバンドHH1,LH1,HL1,HH2,LH2,HL2の差分コードブロックが指定される。
 またゲートウェイ3は、指示情報520を使用して、IoT端末2が送信すべき非差分コードブロックを自由に指定することができる。ゲートウェイ3は、IoT端末2が送信すべき非差分コードブロックを、例えば、コードブロック単位、サブバンド単位及び分解レベル単位で指定することができる。
 以後、ゲートウェイ3が、IoT端末2が送信すべきデータとして差分コードブロックを指定する場合の指示情報520を、差分送信指示情報520と呼ぶことがある。また、ゲートウェイ3が、IoT端末2が送信すべきデータとして非差分コードブロックを指定する場合の指示情報520を、非差分送信指示情報520と呼ぶことがある。また、ゲートウェイ3が指示情報520で指定するデータを、指定データと呼ぶことがある。指定データは、指示情報520によってIoT端末2に指示される、IoT端末2が送信すべきデータであると言える。
 送信対象決定部263は、ゲートウェイ3から差分送信指示情報520を受け取った場合には、差分階層化データ502のうち、差分送信指示情報520で指定される指定データに該当する差分コードブロックを、送信対象データ503とする。一方で、送信対象決定部263は、ゲートウェイ3から非差分送信指示情報520を受け取った場合には、非差分階層化データ501のうち、非差分送信指示情報520で指定される指定データに該当する非差分コードブロックを、送信対象データ503とする。
 送信対象決定部263は、送信対象データ503を決定すると、送信対象データ503に含まれる各コードブロックについてのウェーブレット平面上での位置を示す座標を含む座標データ504を生成して出力する。座標データ504は座標メモリ27の座標テーブル27aに登録される。これにより、IoT端末2から送信されるコードブロックの座標が座標テーブル27aに登録される。
 本例では、例えば、ウェーブレット平面の左上端を原点とし、互いに直交する2つの軸を当該ウェーブレット平面の横方向及び縦方向にそれぞれ設定した直交座標系において、コードブロックの座標が表される。以後、ウェーブレット平面上でのコードブロックの座標を(i,j)で表すことがある。
 送信対象決定部263は、送信対象データ503が差分CBを含む場合には、送信対象データ503に含まれる各差分CBについての量子化差分ウェーブレット平面上での座標(i,j)を含む座標データ504を生成する。一方で、送信対象決定部263は、送信対象データ503が非差分CBを含む場合には、送信対象データ503に含まれる各非差分CBについての量子化ウェーブレット平面上での座標(i,j)を含む座標データ504を生成する。
 以上のように、決定部26は、差分階層化データ502のうち、その値の絶対値がしきい値よりも大きい差分大データと、ゲートウェイ3からの差分送信指示情報520とに基づいて、当該差分階層化データ502から送信対象データ503を決定することができる。また決定部26は、ゲートウェイ3からの非差分送信指示情報520に基づいて、非差分階層化データ501から送信対象データ503を決定することができる。
 なお上記の例では、差分階層化データ502において、その絶対値がしきい値よりも大きい差分WT係数を差分大の差分WT係数としているが、その絶対値がしきい値以上の差分WT係数を差分大の差分WT係数としてもよい。この場合には、差分階層化データ502において、その絶対値がしきい値未満の差分WT係数が差分小の差分WT係数となる。
 <符号化装置の詳細説明>
 図20は符号化装置24の構成の一例を示す図である。図20に示されるように、符号化装置24は符号化部240及びビットストリーム生成部243を備える。符号化部240は、送信対象データ503を圧縮符号化して符号化データ505を生成する。ビットストリーム生成部243は、符号化データ505を含むビットストリーム506を生成して送信部25aに送信する。送信部25aは、ビットストリーム506をゲートウェイ3に送信する。
 <符号化部>
 符号化部240では、例えば、ビットプレーン符号化を行うEBCOT(Embedded Block Coding with Optimized Truncation)に従ってエントロピー符号化が行われる。本例では、符号化部240は、係数ビットモデリング部241及びエントロピー符号化部242を備える。
 係数ビットモデリング部241は、送信対象データ503に対してビットモデリング処理を行う。ビットモデリング処理では、まず、係数ビットモデリング部241は、送信対象データ503に含まれる各コードブロックを、各ビットの2次元配列で構成される複数のビットプレーンに分解する。係数ビットモデリング部241は、送信対象データ503が差分CBで構成されている場合には、送信対象データ503に含まれる各差分CBを複数のビットプレーンに分解する。一方で、係数ビットモデリング部241は、送信対象データ503が非差分CBで構成されている場合には、送信対象データ503に含まれる各非差分CBを複数のビットプレーンに分解する。以後、送信対象データ503に含まれる差分CB及び非差分CBを総称して送信対象コードブロックと呼ぶことがある。
 図21は、送信対象コードブロック570を構成するn枚のビットプレーン571~571n-1(n:自然数)の一例を示す図である。係数ビットモデリング部241は、送信対象コードブロック570中の各係数の二進値を構成する各ビットを別々のビットプレーンに割り当てる。図21に示されるように、コードブロック570中の1点の係数の二進値572が“011・・・0”である場合、この二進値572を構成する複数のビットは、それぞれ、ビットプレーン571n-1,571n-2,571n-3,・・・,571に属するように分解される。図中のビットプレーン571n-1は、係数の最上位ビット(MSB)のみからなる最上位ビットプレーンを表し、ビットプレーン571は、その最下位ビット(LSB)のみからなる最下位ビットプレーンを表している。
 さらに、係数ビットモデリング部241は、各ビットプレーン571(k=0~n-1)内の各ビットのコンテクスト(context)判定を行い、図22に示すように、各ビットの有意性(判定結果)に応じて、ビットプレーン571を3種類の符号化パス、すなわち、CLパス(CLeanup pass)、MRパス(Magnitude Refinement pass)及びSIGパス(SIGnificance propagation pass)に分解する。各符号化パスに関するコンテクスト判定のアルゴリズムは、JPEG2000の規格で定められている。それによれば、「有意である」とは、これまでの符号化処理において注目係数がゼロでないとわかっている状態のことを意味する。また「有意で無い」とは、係数がゼロであるか、あるいはゼロである可能性がある状態のことを意味する。
 係数ビットモデリング部241は、SIGパス(有意な係数が周囲にある有意でない係数の符号化パス)、MRパス(有意な係数の符号化パス)及びCLパス(SIGパス及びMRパスに該当しない残りの係数の符号化パス)の3種類の符号化パスでビットプレーン符号化を実行する。ビットプレーン符号化は、最上位ビットプレーンから最下位ビットプレーンにかけて、各ビットプレーンのビットを4ビット単位で走査し、有意な係数が存在するか否かを判定することで行われる。有意で無い係数(0ビット)のみで構成されるビットプレーンの数は零ビットプレーン情報として、ビットストリーム生成部243が生成する後述のパケットヘッダに含められる。ビットプレーン符号化では、有意な係数が最初に出現したビットプレーンから実際の符号化が開始される。その符号化開始のビットプレーンはCLパスのみで符号化され、当該ビットプレーンよりも下位のビットプレーンは、上記3種類の符号化パスで順次符号化される。
 エントロピー符号化部242は、係数ビットモデリング部241で生成されたデータに対してエントロピー符号化を行って、符号化データ505を生成する。符号化データ505は、圧縮符号化された送信対象コードブロックで構成されている。エントロピー符号化としては、例えば算術符号化が利用される。
 なお符号化部240では、エントロピー符号化部242によって生成された符号化データ505に対してレート制御を行って、符号量を制御してもよい。以後、符号化データ505に含まれる差分CBを符号化差分CBと呼ぶことがある。符号化差分CBで構成された符号化データ505が、符号化差分データ505となる。また、符号化データ505に含まれる非差分CBを符号化非差分CBと呼ぶことがある。符号化非差分CBで構成された符号化データ505が符号化非差分データ505となる。また、符号化差分CB及び符号化非差分CBを総称して符号化CBと呼ぶことがある。
 <ビットストリーム生成部>
 ビットストリーム生成部243は、符号化データ505を含むビットストリーム506を生成する。具体的には、ビットストリーム生成部243は、符号化データ505をパケット化し、それによって生成されたパケットデータと付加情報を含むビットストリーム506を生成する。付加情報には、パケットヘッダ、レイヤー構成情報、スケーラビリティ情報及び量子化テーブルなどが含まれる。パケットヘッダには、零長パケット情報、コードブロックの包含情報、零ビットプレーン情報、符号化パス数情報及びコードブロックの符号量情報(コードブロックの圧縮データ長)が含まれている。パケットヘッダは符号化されてビットストリーム506に含められる。ビットストリーム生成部243で生成されるビットストリーム506は、決定部26から出力される、当該ビットストリーム506に含まれる符号化データ504に含まれる各符号化CBの座標を示す座標データ504とともに、送信部25aからゲートウェイ3に送信される。
 <ゲートウェイの詳細説明>
 <復号化装置の詳細説明>
 図23はゲートウェイ3の復号化装置31の構成の一例を示す図である。図23に示されるように、復号化装置31は、ビットストリーム解析部310、復号化部311及び逆量子化部314を備えている。
 ビットストリーム解析部310は、IoT端末2からのビットストリーム506を解析して、当該ビットストリーム506から符号化データ505及び付加情報を抽出する。ビットストリーム解析部310は、抽出した符号化データ505を復号化部311及びデータ処理部32に出力する。またビットストリーム解析部310は、抽出した付加情報に含まれる符号化されたパケットヘッダを復号化する。付加情報は、復号化部311及び逆量子化部314等で使用される。
 復号化部311は符号化データ505に対して所定の伸張復号化を行う。所定の伸張復号化は、符号量制御を除いて、図20の符号化部240における圧縮符号化とは逆の処理にあたる。本例では、復号化部311は、エントロピー復号化部312及び係数ビットモデリング部313を備えている。
 エントロピー復号化部312は、符号化データ505に対してエントロピー復号化を行って、ビットデータを生成する。エントロピー復号化は、図20のエントロピー符号化部242におけるエントロピー符号化とは逆の処理にあたる。
 係数ビットモデリング部313は、エントロピー復号化部312で生成されたビットデータに対してビットモデリング処理を行って、符号化データ505に含まれる各送信対象コードブロックを構成する複数の係数を復元する。ここでのビットモデリング処理は、図20の係数ビットモデリング部241におけるそれとは逆の処理にあたる。係数ビットモデリング部313は、復元した係数を逆量子化部314に入力する。
 ビットストリーム解析部310で符号化差分データ505が抽出される場合には、係数ビットモデリング部313では、抽出された符号化差分データ505に含まれる各符号化差分CBに含まれる量子化差分WT係数が復元される。一方で、ビットストリーム解析部310で符号化非差分データ505が抽出される場合には、係数ビットモデリング部313では、抽出された符号化非差分データ505に含まれる各符号化非差分CBに含まれる量子化WT係数が復元される。
 以後、係数ビットモデリング部313で生成される量子化差分WT係数の群を、第2量子化差分WT係数データと呼ぶことがある。第2量子化差分WT係数データは差分CBで構成されている。また、係数ビットモデリング部313で生成される、量子化WT係数の群を、第2量子化ウェーブレット係数データと呼ぶことがある。第2量子化ウェーブレット係数データは非差分CBで構成されている。そして、第2量子化差分WT係数データと第2量子化ウェーブレット係数データを総称して、量子化係数データと呼ぶことがある。
 逆量子化部314は、復号化部311で生成される量子化係数データに対して逆量子化を行う。ここでの逆量子化は、図5の量子化部225における量子化とは逆の処理にあたる。逆量子化によって、第2量子化差分WT係数データは差分WT係数データに変換される。また逆量子化によって、第2量子化ウェーブレット係数データは第2ウェーブレット係数データに変換される。差分WT係数データに含まれる量子化された差分WT係数を、単に差分WT係数と呼ぶことがある。
 逆量子化部314は、差分WT係数データを生成すると、それを復号化データ521として出力する。また逆量子化部314は、第2ウェーブレット係数データを生成すると、それを復号化データ521として出力する。以後、差分WT係数データを復号化差分データ521と呼び、第2ウェーブレット係数データを復号化非差分データ521と呼ぶことがある。また、復号化差分データ521に含まれるコードブロックを復号化差分CBと呼び、復号化非差分データ521に含まれるコードブロックを復号化非差分CBと呼ぶことがある。
 <データ処理部の詳細説明>
 図24はデータ処理部32の構成の一例を示す図である。図24に示されるように、データ処理部32は、認識用データ生成部320、第1処理部321、第2処理部322、第1メモリ323、第2メモリ324、選択部325及び復元部326を備える。第1メモリ323は、第1処理部321によってデータの読み出し及び書き込みが行われる。第2メモリ324は、復号化装置31から出力される符号化データ505を記憶する。第2メモリ324内のデータは第2処理部322によって読み出される。
 <選択部>
 選択部325は、データ処理部32に入力される復号化データ521を、第1処理部321に入力するか、復元部326に入力するかを選択する。選択部325は、データ処理部32に復号化差分データ521が入力される場合には、それを復元部326に入力する。一方で、選択部325は、データ処理部32に復号化非差分データ521が入力される場合には、それを第1処理部321に入力する。第1処理部321は、入力される復号化非差分データ521を第1メモリ323に記憶する。これにより、第1メモリ323には、ゲートウェイ3で復元された、非差分階層化データ501に含まれる非差分CBが記憶される。
 <復元部>
 復元部326は、復号化差分データ521に含まれる各復号化差分CBについて、当該復号化差分CBに対応する、非差分階層化データ501に含まれる非差分CBを復元する。
 ここで、ある座標の復号化差分CBは、上述の説明から理解できるように、現階層化データ501での当該ある座標のコードブロックから、過去階層化データ501における当該ある座標のコードブロックを差し引いて得られるデータである。現階層化データ501のコードブロックを現非差分CBとし、過去階層化データ501のコードブロックを過去非差分CBとすると、座標(i,j)の復号化差分CBは、座標(i,j)の現非差分CBから座標(i,j)の過去非差分CBを差し引いて得られるデータである。復元部326は、座標(i,j)の復号化差分CBに対して、第1メモリ323に記憶されている、座標(i,j)の過去非差分CBを足し合わせることによって、座標(i,j)の現非差分CBを復元する。復元部326は、第1処理部321から、第1メモリ323内の過去非差分CBを受け取る。復元部326は、復号化差分データ521に含まれる各復号化差分CBから現非差分CBを復元する。復元された現非差分CBは、第1処理部321によって第1メモリ323に記憶される。
 復元部326は、座標(i,j)の復号化差分CBから座標(i,j)の現非差分CBを復元する場合には、座標(i,j)の復号化差分CBでの座標(x,y)に位置する差分WT係数に対して、座標(i,j)の過去非差分CBにおける座標(x.y)に位置するウェーブレット係数を足し合わせる。そして、復元部326は、それによって得られた値を、座標(i,j)の現非差分CBでの座標(x,y)に位置する係数の値とする。復元部326は、座標(i,j)の復号化差分CBに含まれる各差分WT係数について同様の処理を行う。これにより、座標(i,j)の現非差分CBの各ウェーブレット係数が復元される。復元部326で復元された、現非差分CBの各ウェーブレット係数は、第1処理部321に入力される。第1処理部321は、現非差分CBの各ウェーブレット係数を第1メモリ323に記憶する。第1メモリ323内のウェーブレット係数は、後のフレームにおいて、過去非差分CBのウェーブレット係数として使用される。
 <認識用データ生成部>
 図25は認識用データ生成部320の構成の一例を示す図である。図25に示されるように、認識用データ生成部320は、逆ウェーブレット変換部3201、色空間変換部3202及びDCレベルシフト部3203を備えている。
 逆ウェーブレット変換部3201は、ウェーブレット係数から成る入力データに対して逆ウェーブレット変換(詳細には逆離散ウェーブレット変換)を行う。
 ここで、認識用データ生成部320には、第1処理部321で生成される逆変換非対象データ531及び逆変換対象データ532が入力される。逆変換非対象データ531は、逆ウェーブレット変換部3201で逆ウェーブレット変換されないデータである。逆変換非対象データ531は、例えば、現階層化データ501の1つのサブバンドのウェーブレット係数だけで構成される。逆変換非対象データ531は、例えば、現階層化データ501のLL3サブバンドのウェーブレット係数だけで構成される。また逆変換非対象データ531は、例えば、現階層化データ501のHH3サブバンドのウェーブレット係数で構成される。また逆変換非対象データ531は、例えば、現階層化データ501のHL1サブバンドのウェーブレット係数で構成される。逆変換非対象データ531は、逆ウェーブレット変換できないデータであると言える。
 一方で、逆変換対象データ532は、逆ウェーブレット変換可能なデータであって、逆ウェーブレット変換部3201で逆ウェーブレット変換される。逆変換対象データ532は、例えば、現階層化データ501での同じ分解レベルのLLサブバンド、LHサブバンド、HLサブバンド及びHHサブバンドのウェーブレット係数だけで構成される。また逆変換対象データ532は、例えば、現階層化データ501での同じ分解レベルのLHサブバンド、HLサブバンド及びHHサブバンドのウェーブレット係数と、それと同じ分解レベルのLLバンドを復元可能な、それよりも下の分解レベルの複数のサブバンドのウェーブレット係数とだけで構成される。
 逆ウェーブレット変換部3201は、逆変換対象データ532に含まれるウェーブレット係数の分解レベルのうちの最も低い分解レベルが1でない場合には、その最も低い分解レベルよりも一つ下の分解レベルのLLサブバンドのウェーブレット係数が得られるように、逆変換対象データ532に対して逆ウェーブレット変換を行う。一方で、逆ウェーブレット変換部3201は、逆変換対象データ532に含まれるウェーブレット係数の分解レベルのうちの最も低い分解レベルが1である場合には、原画の画素値が得られるように、逆変換対象データ532に対して逆ウェーブレット変換を行う。
 例えば、逆変換対象データ532が、分解レベル3のLL3サブバンド、LH3サブバンド、HL3サブバンド及びHH3サブバンドのウェーブレット係数で構成されている場合を考える。この場合には、逆ウェーブレット変換部3201では、分解レベル2のLL2サブバンドのウェーブレット係数が得られる。
 また、逆変換対象データ532が、分解レベル2のLH2サブバンド、HL2サブバンド及びHH2サブバンドのウェーブレット係数と、分解レベル3のLL3サブバンド、LH3サブバンド、HL3サブバンド及びHH3サブバンドのウェーブレット係数とで構成されている場合を考える。この場合には、逆ウェーブレット変換部3201では、分解レベル1のLL1サブバンドのウェーブレット係数が得られる。分解レベル3のLL3サブバンド、LH3サブバンド、HL3サブバンド及びHH3サブバンドは、分解レベル2のLL2サブバンドを復元可能なサブバンドである。
 また、逆変換対象データ532が、分解レベル1のLH1サブバンド、HL1サブバンド及びHH1サブバンドのウェーブレット係数と、分解レベル2のLH2サブバンド、HL2サブバンド及びHH2サブバンドと分解レベル3のLL3サブバンド、LH3サブバンド、HL3サブバンド及びHH3サブバンドのウェーブレット係数とで構成されている場合を考える。この場合には、逆ウェーブレット変換部3201では、原画(フレーム画像)の画素値が得られる。分解レベル2のLH2サブバンド、HL2サブバンド及びHH2サブバンドと分解レベル3のLL3サブバンド、LH3サブバンド、HL3サブバンド及びHH3サブバンドは、分解レベル1のLL1サブバンドを復元可能なサブバンドである。
 逆ウェーブレット変換部3201で生成されるLLサブバンドのウェーブレット係数は、LLデータ530として第1処理部321に出力される。つまり、逆ウェーブレット変換部3201で生成されるLL3サブバンドのウェーブレット係数、LL2サブバンドのウェーブレット係数及びLL1サブバンドのウェーブレット係数は、それぞれLLデータ530として第1処理部321に入力される。
 ここで、ゲートウェイ3では、逆ウェーブレット変換部3201から出力されるウェーブレット係数が画素値として取り扱われる。したがって、逆ウェーブレット変換部3201からは、複数の画素値を含む画像データが出力されると言える。また、逆変換非対象データ531に含まれるウェーブレット係数も画素値として取り扱われる。したがって、逆変換非対象データ531は一種の画像データであると言える。
 色空間変換部3202は、逆ウェーブレット変換部3201から出力される画像データに対して、図5の色空間変換部222での処理と逆の処理を行う。また色空間変換部3202は、認識用データ生成部320に入力される逆変換非対象データ531(画像データ)に対して、色空間変換部222での処理と逆の処理を行う。DCレベルシフト部3203は、色空間変換部3202から出力される画像データのDCレベルを必要に応じて変換する。DCレベルシフト部3203から出力される画像データが認識用データ522となる。
 以上の説明から理解できるように、認識用データ522は、復元された、画像データ500の少なくとも一部、あるいは復元された、現階層化データ501のサブバンドの少なくとも一部となる。よって、認識用データ522が示す認識対象画像は、フレーム画像(サブバンド分割されていないフレーム画像)の少なくとも一部、あるいはサブバンド画像の少なくとも一部を示す。
 <第1処理部>
 第1処理部321は、データ書き込み処理、マスク生成処理、入力データ生成処理及び指示情報生成処理を行う。
 <データ書き込み処理>
 第1処理部321は、選択部325から入力される復号化非差分データ521を第1メモリ323に記憶する。また第1処理部321は、復元部326から入力される、復元された現非差分CBを第1メモリ323に記憶する。また第1処理部321は、認識用データ生成部320から入力されるLLデータ530を第1メモリ323に記憶する。
 <マスク生成処理>
 第1処理部321は、画像認識部33から出力される認識結果情報523に基づいてマスクデータ525を生成する。
 ここで、画像認識部33は、認識用データ522が示す認識対象画像から検出対象物を検出すると、検出対象物が検出されたことを示す検出情報を含む認識結果情報523を出力する。一方、画像認識部33は、認識対象画像から検出対象物が検出できなかったときには、検出対象物が検出されなかったことを示す未検出情報を含む認識結果情報523を出力する。
 第1処理部321は、検出情報を含む認識結果情報523を受け取ると、対象フレーム画像において、画像認識部33で検出された検出対象物が写る検出対象物画像を特定する。第1処理部321は、座標メモリ36内の座標テーブル36aに基づいて検出対象物画像を特定することができる。第1処理部321は、対象フレーム画像において、特定した検出対象物画像をROIとし、それ以外の領域を非ROIとする。画像認識部33が、対象フレーム画像から複数の検出対象物を検出した場合には、対象フレーム画像において、当該複数の検出対象物がそれぞれ映る複数の検出対象物画像がROIとされる。
 第1処理部321は、対象フレーム画像においてROIと非ROIとを判別するための使用マスクを生成する。この使用マスクは、上述の図14に示される差分フレームマスク5120と同様に、ウェーブレット平面に対応するマスクである。使用マスクは、対象フレーム画像全体をウェーブレット変換して得られるウェーブレット平面において、ROIに関与するウェーブレット係数(ROI係数と呼ぶ)と、非ROIに関与するウェーブレット係数(非ROI係数と呼ぶ)とを判別するためのマスクであると言える。使用マスクは、差分フレームマスク5120と同様に、ウェーブレット平面に含まれる各サブバンド用のマスクの集合体として把握できる。第1処理部321は、生成した使用マスクのデータをマスクデータ525としてトランスコーダ34に入力する。
 なお、使用マスクは、対象フレーム画像の一部だけをウェーブレット変換して得られるウェーブレット平面においてROI係数と非ROI係数とを判別するためのマスクであってもよい。
 また上記の例では、第1処理部321は、画像認識処理で検出された検出対象物の画像をROIとしたが、対象フレーム画像のうちの他の部分をROIとすることもできる。第1処理部321は、対象フレーム画像においてROIを自由に設定することができる。例えば、第1処理部321は、対象フレーム画像において、クラウドサーバ5が指定する部分をROIとすることもできる。
 <入力データ生成処理>
 第1処理部321は、第1メモリ323内のデータを使用して、認識用データ生成部320に入力される入力データである逆変換非対象データ531及び逆変換対象データ532を生成する。第1処理部321は、認識対象画像をどのような画像にするかを決定し、それに応じて逆変換非対象データ531あるいは逆変換対象データ532を生成する。第1処理部321は、例えば、LL3サブバンド画像全体を認識対象画像とする場合には、現階層化データ501のLL3サブバンドで構成される逆変換非対象データ531を生成して認識用データ生成部320に入力する。また第1処理部321は、LL2サブバンド画像全体を認識対象画像とする場合には、現階層化データ501のLL3サブバンド、LH3サブバンド、HL3サブバンド及びHH3サブバンドで構成される逆変換対象データ532を生成して認識用データ生成部320に入力する。認識対象画像をどのような画像にするかについては、過去の認識結果情報523、検出対象物の種類及びIoT端末2のカメラ20の撮影範囲等に基づいて決定される。
 <指示情報生成処理>
 第1処理部321は、認識結果情報523等に基づいて、IoT端末2が送信すべきデータを決定し、決定したデータ(指定データ)を送信することを指示するための指示情報520を生成する。第1処理部321は、IoT端末2が送信すべきデータとして差分CBを指定する場合には、差分送信指示情報520を生成する。一方で、第1処理部321は、IoT端末2が送信すべきデータとして非差分CBを指定する場合には、非差分送信指示情報520を生成する。
 <第2処理部>
 第2処理部322は、第1メモリ323から読み出したデータに基づいて、トランスコーダ用復号化データ526を生成する。本例では、第1処理部321で生成されるマスクデータ525が対象フレーム画像全体をウェーブレット変換して得られる最大分解レベルのウェーブレット平面に対応していることから、第2処理部322は、例えば、第1メモリ323から、当該最大分解レベルのウェーブレット平面を構成する複数のウェーブレット係数、つまり第1ウェーブレット係数データを読み出す。第1ウェーブレット係数データは対象フレーム画像全体を示すデータである。そして第2処理部322は、読み出した第1ウェーブレット係数データをトランスコーダ用復号化データ526としてトランスコーダ34に出力する。
 なおマスクデータ525が、対象フレーム画像の一部に対応するデータである場合には、当該一部を復元するための複数のウェーブレット係数を第1メモリ323から読み出して、読み出した複数のウェーブレット係数をトランスコーダ用復号化データ526としてもよい。
 また第2処理部322は、第2メモリ324から読み出したデータに基づいて、トランスコーダ用符号化データ527を生成する。第2処理部322は、例えば、第2メモリ324から、最大分解レベルのウェーブレット平面を構成する複数の符号化非差分CB、つまり符号化された第1量子化ウェーブレット係数データを読み出す。最大分解レベルのウェーブレット平面を構成する複数の符号化非差分CBは、対象フレーム画像全体を復元するための複数の符号化非差分CBであると言える。そして第2処理部322は、読み出した複数の符号化非差分CBをトランスコーダ用符号化データ527としてトランスコーダ34に出力する。
 なお第2処理部322は、第2メモリ324から、対象フレーム画像の一部を復元するための複数の符号化非差分CBを読み出して、読み出した複数の符号化非差分CBをトランスコーダ用符号化データ527としてもよい。
 <画像認識部の詳細説明>
 図26は画像認識部33の構成の一例を示す図である。図27は画像認識部33の動作を示す図である。図26に示されるように、画像認識部33は、前処理部330及び画像認識エンジン334を備える。前処理部330は、メモリ331、分離部332及び正規化部333を備える。
 メモリ331は、データ処理部32からの認識用データ522を記憶する(図27の<データ記憶>を参照)。分離部332は、メモリ331内の認識用データ522が示す認識対象画像600から複数の部分画像601を選択する(図27の<選択>を参照)。図27の例では、各部分画像601は、少なくとも一つの他の部分画像601と重なっている。そして分離部332は、選択した複数の部分画像601を互いに分離する(図27の<分離>を参照)。正規化部333は、分離部332で分離された複数の部分画像601のそれぞれを正規化して、複数の正規化部分画像602を生成する(図27の<正規化>を参照)。正規化部333で生成された各正規化部分画像602を示すデータが画像認識エンジン334に入力される。
 画像認識エンジン334は、前処理部330から入力されるデータに基づいて、各正規化部分画像602に対して画像認識処理を行う。画像認識エンジン334は、例えば、入力された複数の正規化部分画像602の少なくとも一つから検出対象物が検出されると、検出情報を含む認識結果情報523をデータ処理部32に入力する。一方で、画像認識エンジン334は、入力された複数の正規化部分画像602のすべてから検出対象物が検出されないときには、非検出情報を含む認識結果情報523をデータ処理部32に入力する。また画像認識エンジン334は、検出した検出対象物に関する対象物情報を含む認識結果情報524を生成して通信部35に入力する。例えば、検出対象物が人である場合、対象物情報には、例えば、検出された人の性別及び年齢等が含まれる。また対象物情報には、カメラ20の撮影範囲内での検出対象物の位置を示す情報が含まれてもよい。対象物情報に含まれる情報は、画像認識エンジンが画像認識によって特定できる情報に依存する。通信部35は、認識結果情報524を含むメタデータをクラウドサーバ5に送信する。なお、認識結果情報524は認識結果情報523と同じであってもよい。
 画像認識エンジン334が正規化部分画像602から検出対象物を検出する方法としては、様々な方法が考えられる。例えば、画像認識エンジン334は、正規化部分画像602から、検出対象物の特徴を示す特徴量を抽出する。この特徴量としては、例えば、エッジ、カラー、Haar-like、HOG(Histogram of Oriented Gradients)あるいはLBP(Local Binary Pattern)などが考えられる。画像認識エンジン334は、特徴量を抽出すると、当該画像認識エンジン334が備える識別器に対して、抽出した特徴量を入力する。識別器は、入力される特徴量に基づいて、正規化部分画像602に検出対象物画像が存在するか否かを判定し、その判定結果を出力する。識別器としては、例えば、ニューラルネットワーク、SVM(Support Vector Machine)あるいはAdaboostが使用される。なお、画像認識エンジン334は、正規化部分画像602から複数種類の特徴量を抽出し、抽出した複数種類の特徴量に基づいて、正規化部分画像602に検出対象物画像が存在するか否かを判定してもよい。
 また、画像認識部33は、正規化部分画像602から特徴量を抽出するのではなく、認識用データ522が示す認識対象画像600から特徴量を抽出してもよい。この場合には、例えば、画像認識部33は、抽出した特徴量に基づいて認識対象画像600から複数の部分画像601を選択し、選択した複数の部分画像601のそれぞれを正規化して、複数の正規化部分画像602を生成する。そして、画像認識部33は、認識対象画像600から抽出した特徴量において、各正規化部分画像602に対応する特徴量を特定し、特定した特徴量を識別器に入力する。
 また画像認識エンジン334は、ディープラーニングのように、特徴量の抽出を行わずに検出対象物を検出することが可能な多層構造のニューラルネットワークを用いてもよい。
 <トランスコーダの詳細説明>
 図28はトランスコーダ34の一例を示す図である。図28に示されるように、トランスコーダ34は、量子化部340、符号化部341及びビットストリーム生成部344を備える。トランスコーダ34は、入力されるデータをウェーブレット変換せずにビットストリームに変換して通信部35に入力する。
 量子化部340は、データ処理部32から出力される、複数のウェーブレット係数から成るトランスコーダ用復号化データ526に対して、量子化ステップサイズに基づいて、スカラー量子化を行い、それにより第3量子化ウェーブレット係数データを生成する。このとき、量子化部340は、データ処理部32からのマスクデータ525に基づいて、トランスコーダ用復号化データ526の各ウェーブレット係数について、ROI係数と非ROI係数とを判別する。そして量子化部340は、量子化後の非ROI係数が0になるように、トランスコーダ用復号化データ526の各ウェーブレット係数の量子化を行う。これにより、第3量子化ウェーブレット係数データはROIだけを示すようになる。
 符号化部341は、量子化部340によって生成された第3量子化ウェーブレット係数データの圧縮符号化を行って符号化データ590を生成する。符号化部341は、係数ビットモデリング部342及びエントロピー符号化部343を備える。
 係数ビットモデリング部342は、第3量子化ウェーブレット係数データに対してビットモデリング処理を行う。このビットモデリング処理は、IoT端末2の係数ビットモデリング部241でのビットモデリング処理と同様である。エントロピー符号化部343は、係数ビットモデリング部342で生成されたデータに対してエントロピー符号化を行って、符号化データ590を生成する。符号化データ590は、マスクデータ525によって特定されるROIだけを示すデータである。本例では、符号化データ590は、検出対象物画像を示すデータである。エントロピー符号化としては、例えば算術符号化が利用される。なお符号化部341では、エントロピー符号化部343によって生成された符号化データ590に対してレート制御を行って、符号量を制御してもよい。
 ビットストリーム生成部344は、符号化データ590を含むビットストリーム529を生成する。具体的には、ビットストリーム生成部344は、符号化データ590をパケット化し、それによって生成されたパケットデータと付加情報を含むビットストリーム529を生成する。付加情報には、パケットヘッダ、レイヤー構成情報、スケーラビリティ情報及び量子化テーブルなどが含まれる。パケットヘッダには、零長パケット情報、コードブロックの包含情報、零ビットプレーン情報、符号化パス数情報及びコードブロックの符号量情報が含まれている。
 またビットストリーム生成部344は、データ処理部32から出力されるトランスコーダ用符号化データ527を含むビットストリーム529を生成する。ビットストリーム生成部344は、トランスコーダ用符号化データ527をパケット化し、それによって生成されたパケットデータと付加情報を含むビットストリーム529を生成する。
 ビットストリーム生成部344で生成されたビットストリーム529は、通信部35からクラウドサーバ5に送信される。ビットストリーム529が、ROIを示す符号化データ590を含む場合には、ゲートウェイ3はROIを示すデータをクラウドサーバ5に送信することができる。ゲートウェイ3はROIを自由に設定することができることから、例えばクラウドサーバ5が望むROIを、当該クラウドサーバ5に送信することができる。
 またビットストリーム529が、例えばフレーム画像全体を示すトランスコーダ用符号化データ527を含む場合には、ゲートウェイ3は、フレーム画像全体を示すデータをクラウドサーバ5に送信することができる。これにより、ゲートウェイ3は、クラウドサーバ5に対して、IoT端末2のカメラ20で撮影される動画をストリーミング送信することができる。ゲートウェイ3は、例えばクラウドサーバ5の要求に応じて、動画をストリーミング送信することができる。
 データ処理部32の第2処理部322は、クラウドサーバ5からの要求等に応じて、トランスコーダ用復号化データ526をトランスコーダ34に入力するか、トランスコーダ用符号化データ527をトランスコーダ34に入力するかを決定する。
 通信部35は、画像認識処理で検出された検出対象物の画像がROIとされる場合には、符号化データ590を含むビットストリーム529と、検出対象物に関する対象物情報を含む認識結果情報524とを、クラウドサーバ5に送信する。
 このように、トランスコーダ34には、ウェーブレット変換後のデータであるトランスコーダ用復号化データ516及びトランスコーダ用符号化データ527が入力される。したがって、トランスコーダ34は、IoT端末2とは異なり、画像を示す入力データをウェーブレット変換せずにビットストリーム529を生成することができる。よって、簡単な処理でビットストリーム529を生成することができる。
 また、トランスコーダ用符号化データ527は圧縮符号化されたデータである。したがって、トランスコーダ34は、トランスコーダ用符号化データ527が入力される場合には、IoT端末2とは異なり、入力データを圧縮符号化せずにビットストリーム529を生成することができる。よって、より簡単な処理でビットストリーム529を生成することができる。
 <画像処理システムの動作例>
 次に画像処理システム4全体での動作例について説明する。以下では、一例として、ゲートウェイ3が、検出対象物が検出されるまで、分解レベルが高いものから順にLLサブバンド画像に対して画像認識処理を行う場合の画像処理システム4の動作について説明する。
 IoT端末2のカメラ20が動画の撮影を開始すると、画像処理システム4は前処理を行う。前処理では、ゲートウェイ3は、まずIoT端末2に対して、撮影が開始した動画の最初のフレーム画像全体を示す非差分階層化データ501を送信することを、非差分送信指示情報520を用いて指示する。この非差分送信指示情報520を受け取ったIoT端末2では、決定部26は、最初のフレーム画像全体を示す非差分階層化データ501を送信対象データ503として符号化装置24に入力する。これにより、最初のフレーム画像全体を示す符号化非差分データ505を含むビットストリーム506がIoT端末2から送信される。ビットストリーム506を受け取ったゲートウェイ3では、復号化装置31が、当該ビットストリーム506に含まれる符号化非差分データ505に対して伸張復号化を行って、最初のフレーム画像全体を示す復号化非差分データ521を生成する。データ処理部32は、復号化装置31で生成された復号化非差分データ521を第1メモリ323に記憶する。これにより、前処理が完了する。前処理が完了した時点では、最初のフレーム画像全体を示す非差分階層化データ501の各ウェーブレット係数が第1メモリ323に記憶される。
 前処理が完了すると、画像処理システム4は図29,30に示される動作を行う。図29,30は、前処理後に対象フレーム画像に対して処理を行う画像処理システム4のゲートウェイ3及びIoT端末2の動作の一例をそれぞれ示す図である。図29,30の例では、ゲートウェイ3は差分送信指示情報520をIoT端末2に送信し、IoT端末2は差分送信指示情報520に応じた差分コードブロックをゲートウェイ3に送信する。
 対象フレーム画像に対する処理が開始すると、図29に示されるように、ステップs11において、ゲートウェイ3の第1処理部321は、最大分解レベルのLLサブバンド、本例ではLL3サブバンドを処理対象とする。そして第1処理部321は、処理対象のLLサブバンドの分解レベルを示す変数LVを3に設定する。以後、処理対象のLLサブバンドを対象LLサブバンドと呼ぶ。また、対象LLサブバンドを画像と見立てて対象LLサブバンド画像と呼ぶことがある。また、対象LLサブバンドの分解レベルを対象分解レベルと呼ぶことがある。第1処理部321は、対象LLサブバンドの差分コードブロックを指定データとして決定する。
 次にステップs12において、第1処理部321は、ステップs11で決定した指定データをIoT端末2に通知するための差分送信指示情報520を生成して送信部30bに入力する。送信部30bは、入力された差分送信指示情報520をIoT端末2に送信する。
 IoT端末2では、図30に示されるように、受信部25bがステップs31において差分送信指示情報520を受信して決定部26に入力する。次にステップs32において、決定部26は、入力された差分送信指示情報520と統合マスクデータ513とに基づいて、差分階層化データ502から送信対象データ503を決定する。対象フレーム画像に対する処理が開始した後の最初のステップs32においては、決定部26は、統合マスクデータ513が示す各統合サブバンドマスクの第2ROIマスク部分に対して、膨脹及び縮退を行うグルーピング処理と、ラベリング処理とを順次行う。これにより、第2ROIマスク部分に含まれる独立領域(島領域)に固有のラベルが割り当てられる。以後、この独立領域を「ラベル領域」と呼ぶことがある。
 図31は、分解レベル3に対応する統合サブバンドマスク5126に対してグルーピング処理及びラベリング処理を行った様子を示す図である。図31では、統合サブバンドマスク5126に対して、サブバンドLL3の複数のコードブロック5021a~5021iが重ねられている。図31には、上述の図18,19に示される例とは異なる統合サブバンドマスク5126が示されている。図31の例では、第2ROIマスク部分(白抜き部分)は、ラベル0のラベル領域L0と、ラベル1のラベル領域L1とに分けられている。他の分解レベルに対応する統合サブバンドマスク5126の第2ROIマスク部分についても、ラベル領域L0,L1に分けられる。
 決定部26は、ラベリング処理を実行した後、対象LLサブバンドに対応するラベリング処理後の統合サブバンドマスクに対して、上述の図31に示されるように、対象LLサブバンドの複数のコードブロックを重ねる。以後、対象LLサブバンドに対応する統合サブバンドマスクを「対象統合サブバンドマスク」と呼ぶことがある。
 次に決定部26は、番号が最も小さいラベルを処理対象のラベル(以後、対象ラベルと呼ぶことがある)とする。そして決定部26は、対象LLサブバンドの複数のコードブロックのうち、対象ラベルのラベル領域に対応する差分コードブロックを、送信対象データ503とする。具体的には、決定部26は、対象LLサブバンドの複数のコードブロックのうち、対象ラベルのラベル領域の少なくとも一部を含む差分コードブロックを、送信対象データ503とする。以後、対象ラベルのラベル領域を対象ラベル領域と呼ぶことがある。
 図31の例では、ラベル0が対象ラベルとされる。そして、ラベル領域L0に対応する差分コードブロック5021b,5021c,5021e,5021fが送信対象データ503とされる。なお後述するように、他のラベルのラベル領域に対応する差分コードブロックは後で送信対象データ503とされる。
 決定部26は、送信対象データ503を決定すると、ステップs33において、送信対象データ503に含まれる各差分コードブロックについてのウェーブレット平面上での位置を示す座標を含む座標データ504を生成する。
 次にステップs34において、符号化装置24は、送信対象データ503を圧縮符号化して符号化データ505を生成する。次にステップs35において、符号化装置24は、符号化データ505を含むビットストリーム506を生成する。送信部25aは、ビットストリーム506と、ステップs33で生成された座標データ504とを、ゲートウェイ3に送信する。このとき、IoT端末2は、ラベリング処理で得られたラベルの番号をゲートウェイ3に通知するとともに、現在の対象ラベルをゲートウェイ3に通知する。図31の例では、ラベルの番号0及び1がゲートウェイ3に通知されるとともに、現在の対象ラベルがラベル0であることがゲートウェイ3に通知される。
 図29に戻って、ステップs12の後、ゲートウェイ3の受信部30aは、ステップs13において、IoT端末2からのビットストリーム506及び座標データ504を受信する。そしてステップs14において、ビットストリーム506に含まれる符号化データ505が第2メモリ324に記憶され、座標データ504が座標メモリ36の座標テーブル36aに記憶される。また、復号化装置31で符号化データ505が伸張復号化されて復号化差分データ521が生成される。
 次にステップs15において、データ処理部32は、復号化差分データ521に含まれる各復号化差分CBから、それに対応する現非差分CBを復元する。そして、データ処理部32は、復元した現非差分CBの各ウェーブレット係数を第1メモリ323に記憶する。ここで、第1メモリ323には、上述の前処理によって、最初のフレーム画像全体を示す非差分階層化データ501の各ウェーブレット係数が記憶されている。つまり、第1メモリ323には、最初のフレーム画像全体を示す非差分階層化データ501の各非差分CBが記憶されている。データ処理部32は、この非差分CBを過去非差分CBとして使用して、現非差分CBを復元する。
 次にステップs16において、第1処理部321は、認識用データ生成部320への入力データを生成する。ここでは、第1処理部321は、対象フレーム画像をウェーブレット変換して得られるウェーブレット平面(以後、対象ウェーブレット平面と呼ぶことがある)の対象LLサブバンドのうち、対象ラベル領域に対応する部分を、認識対象画像とする。そして、第1処理部321は、対象ウェーブレット平面の対象LLサブバンドにおいて、対象ラベル領域に対応する非差分CB(復元された非差分CB)を、第1メモリ323から読み出す。つまり、第1処理部321は、対象ウェーブレット平面の対象LLサブバンドに対して、対象分解レベルに対応する統合サブバンドマスクを重ねた場合に、当該統合サブバンドマスクの対象ラベル領域の少なくとも一部を含む非差分CBを、第1メモリ323から読み出す。
 ここで、IoT端末2は、上述のように、送信対象データ503に含まれる各コードブロックの座標を含む座標データ504をゲートウェイ3に送信する。そして、ゲートウェイ3は、受けとった座標データ504を座標テーブル36aに登録する。したがって、第1処理部321は、座標テーブル36aを参照することによって、対象ウェーブレット平面の対象LLサブバンドにおいて、対象ラベル領域に対応する非差分CBの座標を特定することができる。よって、第1処理部321は、当該非差分CBを第1メモリ323から読み出すことができる。第1処理部321は、読み出した非差分CBで構成される逆変換非対象データ531を認識用データ生成部320に入力する。
 図32は、対象分解レベルに対応する統合サブバンドマスク5126を、複数の非差分CB5011a~5011iを含む対象LLサブバンドに重ねた様子の一例を示す図である。図32の例では、対象分解レベルは3となっている。図32の例において、対象ラベル領域がラベル領域L0であるとすると、第1処理部321が第1メモリ323から読み出す非差分CBは、ラベル領域L0の少なくとも一部を含む非差分CB5011b,5011c,5011e,5011fとなる。
 次にステップs17において、認識用データ生成部320は、逆変換非対象データ531に基づいて認識用データ522を生成する。逆変換非対象データ531は、逆ウェーブレット変換されずに、色空間変換部3202に入力される。認識用データ522は、対象ウェーブレット平面の対象LLサブバンド画像における、対象ラベル領域に対応する画像を示す。
 次にステップs18において、画像認識部33は、ステップs17で生成された認識用データ522が示す画像に対して画像認識処理を行う。この画像認識処理において検出対象物が検出されると、データ処理部32は、対象ラベルを終了ラベルとする。
 次にステップs19において、データ処理部32は、対象フレーム画像に対する処理を終了するか否かを決定する終了判定を行う。
 図33は終了判定の一例を示すフローチャートである。図33に示されるように、ステップs191において、データ処理部32は、画像認識部33での過去の画像認識処理の結果に基づいて、IoT端末2で定められた全てのラベルに関して、検出対象物が検出されたか否かを特定する。つまり、データ処理部32は、IoT端末2で定められた各ラベルについて、当該ラベルのラベル領域に対応するコードブロックから検出対象物が検出されたか否かを特定する。データ処理部32は、全てのラベルに関して、検出対象物が検出されたことを特定すると、ステップs192において、対象フレーム画像に対する処理を終了することを決定する。これにより、終了判定が終了する。
 一方で、データ処理部32は、ステップs191でNOと判定すると、ステップs193において、対象ラベルを示す変数LNの値が、最大値max1と一致するか否かを判定する。ここで、最大値max1とは、IoT端末2が定めたラベルにおいて、終了ラベルを除いたラベルのうち、最も大きいラベルを意味している。IoT端末2が定めたラベルにおいて終了ラベルを除いたラベルを処理対象候補のラベルと呼ぶと、最大値max1は、処理対象候補のラベルのうちの最大値を意味している。例えば、図31の例のように、IoT端末2が、ラベル0,1を定め、現在の終了ラベル(検出対象物が検出されたラベル)が0の場合、最大値max1は1となる。また例えば、IoT端末2が、ラベル0~3を定め、現在の終了ラベルが0,3の場合、最大値max1は2となる。なお、終了ラベルが存在しない場合に、最大値max1は、IoT端末2が定めたラベルのうちの最大値と一致する。
 ステップs193において、変数LNの値が最大値max1に一致すると判定されると、ステップs194において、データ処理部32は、対象LLサブバンドの分解レベルを示す変数LVの値が1であるか否かを判定する。データ処理部32は、変数LVの値が1であると判定すると、つまり対象LLサブバンドがLL1サブバンドである場合、ステップs182を実行して、対象フレーム画像に対する処理を終了することを決定する。
 ステップs194において、変数LVの値が1ではないと判定されると、ステップs195において、データ処理部32は、変数LVの値を1つだけ減少する。これより、今までの対象LLサブバンドの分解レベルよりも1つだけ小さい分解レベルのLLサブバンドが対象LLサブバンドとなる。ステップs195の後、ステップs196において、データ処理部32は、変数LNの値を最小値min1に設定する。ここで、最小値min1とは、処理対象候補のラベルのうち、最も小さいラベルを意味している。例えば、図31の例のように、IoT端末2がラベル0,1を定め、現在の終了ラベル領域のラベルが0の場合、最小値min1は1となる。また例えば、IoT端末2がラベル0~3を定め、現在の終了ラベル領域のラベルが0,3の場合、最小値min1は1となる。変数LNの値が最小値min1に設定されることによって、処理対象候補のラベルのうちの最小のラベルが新たな対象ラベルとされる。なお、終了ラベルが存在しない場合に、最小値min1は、IoT端末2が定めたラベルのうちの最小値と一致する。
 ステップs196の後、ステップs197において、データ処理部32は、対象フレーム画像に対する処理を継続することを決定する。これにより、終了判定が終了する。
 ステップs193において、変数LNの値が最大値max1でない場合、ステップs198において、データ処理部32は、変数LNの値を次の値に変更する。具体的には、データ処理部32は、変数LNの値を、処理対象候補のラベルのうち、当該変数LNの現在の値よりも次に大きい値のラベルに変更する。その後、ステップs197が実行されて、対象フレーム画像に対する処理の継続が決定される。
 図29に戻って、ステップs19の終了判定において、データ処理部32が対象フレーム画像に対する処理を終了すると決定すると、ステップs20において、ゲートウェイ3は、対象フレーム画像に対する処理が終了したことを通知するための終了通知をIoT端末2に行う。ゲートウェイ3は、対象フレーム画像から検出対象物が検出された場合には、ステップs20の後のステップs21において、検出対象物が写る検出対象物画像(ROI)を示す符号化データ590を含むビットストリーム529をトランスコーダ34で生成する。対象フレーム画像から複数の検出対象物が検出された場合には、当該複数の検出対象物がそれぞれ写る複数の検出対象物画像を示す符号化データ590を含むビットストリーム529が生成される。そして、ゲートウェイ3は、生成したビットストリーム529と、画像認識部33が生成する、対象フレーム画像に関する認識結果情報524とを、通信部35からクラウドサーバ5に送信する。これにより、対象フレーム画像に対する処理が終了する。
 なお、対象フレーム画像から検出対象物が検出されなかった場合には、ステップs21が実行されずに対象フレーム画像に対する処理が終了する。あるいは、検出対象物が検出されなかったことを示す情報を含む認識結果情報524が通信部35からクラウドサーバ5に送信された後に、対象フレーム画像に対する処理が終了してもよい。
 ステップs19の終了判定において、データ処理部32が対象フレーム画像に対する処理を継続すると決定すると、ゲートウェイ3はステップs11を再度実行して、指定データを決定する。このステップs11では、変数LN,LVが現在示す値に基づいて指定データが決定される。
 第1処理部321は、変数LVが現在示す対象分解レベルが、最大分解レベル、つまり3である場合、LL3サブバンドのうち、分解レベル3に対応する統合サブバンドマスクにおける、変数LNが現在示す対象ラベルのラベル領域に対応する差分コードブロックを指定データとする。
 また第1処理部321は、変数LVが現在示す対象分解レベルが、最大分解レベル以外である場合、つまり3よりも小さい場合、対象分解レベルよりも分解レベルが1つ高いLHサブバンド、HLサブバンド及びHHサブバンドにおける、対象ラベルのラベル領域に対応する差分CBを指定データとする。このラベル領域は、対象分解レベルよりも1つ高い分解レベルに対応する統合サブバンドマスクのラベル領域である。
 ここで、本例では、上述の説明及び後述の説明から理解できるように、対象分解レベルが3よりも小さい場合には、ゲートウェイ3は、対象分解レベルよりも分解レベルが1つ高いLLサブバンドにおける、対象ラベル領域に対応する非差分CBを、第1メモリ323に記憶している。
 また、ゲートウェイ3の認識用データ生成部320の逆ウェーブレット変換部3201は、LL3サブバンド、LH3サブバンド、HL3サブバンド及びHH3サブバンドの非差分CBを逆ウェーブレット変換することによって、LL2サブバンドの非差分CBを復元することができる。同様に、逆ウェーブレット変換部3201は、LL2サブバンド、LH2サブバンド、HL2サブバンド及びHH2サブバンドの非差分CBを逆ウェーブレット変換することによって、LL1サブバンドの非差分CBを復元する。
 そして、ゲートウェイ3のデータ処理部32の復元部326は、IoT端末2からの差分CB(復号化差分CB)から、現非差分CBを復元することができる。
 以上より、ゲートウェイ3は、対象分解レベルが3よりも小さい場合、上記のように指定データを決定することによって、対象LLサブバンドにおける、対象ラベル領域に対応する非差分CBを復元するために必要なデータを得ることができる。つまり、ゲートウェイ3は、対象分解レベルよりも分解レベルが1つ高いLLサブバンド、LHサブバンド、HLサブバンド及びHHサブバンドにおける、対象ラベル領域に対応する非差分CBを得ることができる。よって、ゲートウェイ3は、上記のように指定データを決定することによって、対象分解レベルのLLサブバンドにおける、対象ラベルのラベル領域に対応する差分CBを復元することができる。
 例えば、対象LLサブバンドがLL2サブバンドであって、対象ラベルがラベル1である場合、第1処理部321は、分解レベル3のLH3サブバンド、HL3サブバンド及びHH3サブバンドにおける、ラベル1のラベル領域L1に対応する差分CBを指定データとする。対象LLサブバンドがLL2サブバンドである場合、ゲートウェイ3は、LL3サブバンドにおける、ラベル1のラベル領域L1に対応する非差分CBをすでにIoT端末2から受け取って第1メモリ323に記憶している。また、ゲートウェイ3は、復元部326において、分解レベル3のLH3サブバンド、HL3サブバンド及びHH3サブバンドにおける、ラベル1のラベル領域L1に対応する差分CBから、分解レベル3のLH3サブバンド、HL3サブバンド及びHH3サブバンドにおける、ラベル1のラベル領域L1に対応する非差分CBを復元することができる。したがって、ゲートウェイ3は、このようにして指定データを決定することによって、LL3サブバンド、LH3サブバンド、HL3サブバンド及びHH3サブバンドにおける、ラベル領域L1に対応する非差分CBを得ることができる。よって、ゲートウェイ3は、逆ウェーブレット変換によって、LL2サブバンドにおけるラベル領域L1に対応する非差分CBを復元することができる。
 ゲートウェイ3は、ステップs11を実行すると、ステップs12において、ステップs11で決定した指定データを通知するための差分送信指示情報520を生成する。そして、ゲートウェイ3は、生成した差分送信指示情報520をIoT端末2に送信する。
 IoT端末2は、ステップs31において差分送信指示情報520を受信すると、ステップs32において、受信した差分送信指示情報520と統合マスクデータ513とに基づいて、差分階層化データ502から送信対象データ503を決定する。IoT端末2の決定部26は、差分階層化データ502において、差分送信指示情報520によって指定される差分CB(復号化差分CB)を統合マスクデータ513に基づいて特定する。そして、決定部26は、特定した差分CBを送信対象データ503とする。
 ステップs32において送信対象データ503が決定されると、IoT端末2は、上記と同様にしてステップs33,s34,s35を実行する。ステップs35の後、ステップs36において、IoT端末2は、ゲートウェイ3からの終了通知を受信すると、対象フレーム画像に対する処理を終了する。一方で、IoT端末2は、ステップs35の後、ゲートウェイ3から、終了通知を受信せずに差分送信指示情報520を受信する場合(ステップs31)には、上記同様にしてステップs32を実行し、以後同様に動作する。
 なおステップs32において、決定部26は、差分階層化データ502において、差分送信指示情報520によって指定される差分CBを統合マスクデータ513に基づいて特定し、特定した差分CBのうち、すでにゲートウェイ3に送信した差分CB以外の差分CBを、送信対象データ503としてもよい。この場合、ステップs33において、決定部26は、特定した差分CBのうち、送信対象データ503に含めなかった差分CB(すでに送信された差分CB)の座標も、座標データ504に含める。これにより、ゲートウェイ3は、ステップs35において対象ラベル領域に対応する差分CBのすべてが送信されない場合であっても、ステップs16において、サブバンドにおける、対象ラベル領域に対応する非差分CBを特定することができる。
 このように、決定部26が、差分送信指示情報520によって指定される差分CBのうち、すでにゲートウェイ3に送信した差分CB以外の差分CBを、送信対象データ503とすることによって、IoT端末2からゲートウェイ3に送信するデータ量を低減することができる。
 例えば図31の例において、差分送信指示情報520によって指定される指定データが、LL3サブバンドにおける、ラベル領域L1に対応する差分CBであって、ラベル領域L0に対応する4つの差分CB5021b,5021c,5021e.5021fがゲートウェイ3にすでに送信されているとする。この場合、決定部26は、分解レベル3に対応する統合サブバンドマスク5126に基づいて、ラベル領域L1に対応する4つの差分CB5021d,5021e,5021g,5021hを特定する。そして決定部26は、特定した差分CB5021d,5021e,5021g,5021hのうち、既に送信されている差分CB5021e以外の3つの差分CB5021d,5021g,5021hを、送信対象データ503とする。
 同様に、差分送信指示情報520によって指定される指定データが、ある分解レベルのLHサブバンド、HLサブバンド及びHHサブバンドにおける、あるラベルのラベル領域に対応する差分CBである場合、決定部26は、統合マスクデータ513に基づいて、当該差分CBを特定する。そして決定部26は、特定した差分CBのうち、すでにゲートウェイ3に送信している差分CBを除く差分CBを、送信対象データ503とする。
 図29に戻って、ゲートウェイ3はステップs13においてビットストリーム506及び座標データ504をIoT端末2から受信すると、上述のステップs14,s15を実行する。そして、ゲートウェイ3は、ステップs16において、認識用データ生成部320への入力データを生成する。このステップs16では、第1処理部321は、現在の対象分解レベルが最大分解レベル、つまり3である場合、上記と同様に、座標テーブル36aを参照して、第1メモリ323から、LL3サブバンドにおける、対象ラベル領域に対応する非差分CBを読み出す。そして第1処理部321は、読み出した非差分CBで構成される逆変換非対象データ531を認識用データ生成部320に入力する。
 一方で、第1処理部321は、現在の対象分解レベルが3よりも小さい場合、第1メモリ323から、対象分解レベルよりも分解レベルが1つ高いLLサブバンド、LHサブバンド、HLサブバンド及びHHサブバンドにおける、対象ラベル領域に対応する非差分CBを、座標テーブル36aを参照して読み出す。そして第1処理部321は、読み出した非差分CBで構成される逆変換対象データ532を認識用データ生成部320に入力する。
 次にステップs17において、認識用データ生成部320は認識用データ522を生成する。直前のステップs16において逆変換非対象データ531が認識用データ生成部320に入力される場合には、上記と同様に、逆変換非対象データ531は、逆ウェーブレット変換されずに、色空間変換部3202に入力する。一方で、直前のステップs16において逆変換対象データ532が認識用データ生成部320に入力される場合には、逆ウェーブレット変換部3201が、逆変換対象データ532に対して逆ウェーブレット変換を行う。これにより、逆ウェーブレット変換部3201では、対象分解レベルのLLサブバンドにおける、対象ラベル領域に対応する、ウェーブレット係数から成る非差分CBが生成される。この非差分CBはLLデータ530として第1メモリ323に記憶される。これにより、第1メモリ323には、対象分解レベルのLLサブバンドにおける、対象ラベル領域に対応する非差分CBが記憶される。対象分解レベルが2である場合、LL2サブバンドにおける、対象ラベル領域に対応する非差分CBが記憶され、対象分解レベルが1である場合、LL1サブバンドにおける、対象ラベル領域に対応する非差分CBが記憶される。
 逆ウェーブレット変換部3201で生成された非差分CBは色空間変換部3202に入力される。色空間変換部3202から出力されるデータはDCレベルシフト部3203に入力される。そして、DCレベルシフト部3203から出力されるデータが認識用データ522となる。
 ステップs17において認識用データ522が生成されると、ゲートウェイ3は、上述と同様にしてステップs18,s19を実行する。そして、ゲートウェイ3は以後同様に動作する。
 以上の説明から理解できるように、IoT端末2において図31,32に示されるラベル0,1が定められる場合、まず、LL3サブバンドにおける、ラベル0のラベル領域L0に対応する非差分CBに対して画像認識処理が行われる。次に、LL3サブバンドにおける、ラベル1のラベル領域L1に対応する非差分CBに対して画像認識処理が行われる。
 LL3サブバンドにおける、ラベル領域L0に対応する非差分CBから検出対象物が検出されず、LL3サブバンドにおける、ラベル領域L1に対応する非差分CBから検出対象物が検出されない場合には、LL2サブバンドにおける、ラベル領域L0に対応する非差分CBに対して画像認識処理が行われ、その後、LL2サブバンドにおける、ラベル領域L1に対応する非差分CBに対して画像認識処理が行われる。
 LL2サブバンドにおける、ラベル領域L0に対応する非差分CBから検出対象物が検出されず、LL2サブバンドにおける、ラベル領域L1に対応する非差分CBから検出対象物が検出されない場合には、LL1サブバンドにおける、ラベル領域L0に対応する非差分CBに対して画像認識処理が行われ、その後、LL1サブバンドにおける、ラベル領域L1に対応する非差分CBに対して画像認識処理が行われる。
 以上のような動作を行う画像処理システム4は、対象フレーム画像に対する処理が終了すると、新たなフレーム画像を対象フレーム画像として、上記と同様の処理を行う。画像処理システム4は、あるフレーム画像を対象フレーム画像として当該あるフレーム画像に対する処理が終了すると、当該あるフレーム画像よりも後に撮影されるフレーム画像を新たな対象フレーム画像として処理を開始する。画像処理システム4は、カメラ20で撮影されるフレーム画像に対して、1フレームごとに処理を行ってもよいし、複数フレームごとに処理を行ってもよい。
 以上の説明から理解できるように、図29,30の例では、LLサブバンドが、分解レベルが高いものから順に、画像認識処理の対象とされている。言い換えれば、LLサブバンドが、解像度が低いものから順に、画像認識処理の対象とされている。
 ここで、フレーム画像において写る範囲が大きい検出対象物については、分解レベルが高いLLサブバンド(解像度が低いLLサブバンド)からでも、当該検出対象物が検出される可能性が高い。これに対して、フレーム画像において写る範囲が小さい検出対象物については、分解レベルが高いLLサブバンドから当該検出対象物を検出することができない可能性がある。本例のように、LLサブバンドが、分解レベルが高いものから順に処理対象とされることによって、データ量の多い、分解レベルが低いLLサブバンド(解像度が高いLLサブバンド)を使用することなく、フレーム画像において、写る範囲が大きい検出対象物を検出することが可能となる。上記の図31,32の例では、ラベル0のラベル領域L0に対応する検出対象物が、例えばLL3サブバンドから検出可能である場合、当該検出対象物の検出には、LL3サブバンドの分解レベルよりも高い分解レベルのLL2サブバンド及びLL1サブバンドは使用されない。よって、IoT端末2がゲートウェイ3に送信するデータ量を低減することができるとともに、ゲートウェイ3での画像認識処理を簡素化できる。
 なお、図29,30,33に示される画像処理システム4の動作はあくまでも一例であって、画像処理システム4は図29,30,33示される処理とは異なる処理を行ってもよい。
 またゲートウェイ3は、IoT端末2からの符号化データ505を画像認識処理以外の処理で使用してもよい。
 また上記の例では、送信対象データ503の決定において、同じ分解レベルの複数サブバンドに共通の統合サブバンドマスクが使用されているが、各サブバンドに固有のサブバンドマスク(差分フレームマスクのサブバンドマスク)を使用してもよい。この場合には、サブバンドにおいて、それに対応するサブバンドマスクの第1ROIマスク部分の少なくとも一部を含むコードブロックが差分コードブロックとなる。
 ここで、同じ分解レベルの複数のサブバンドは互いに異なる情報を示すことから、当該複数のサブバンドの間では、第1ROIマスク部分の範囲が完全に一致しないことがある。したがって、IoT端末2は、送信対象データ503の決定において、各サブバンドに固有のサブバンドマスクを使用するだけでは、同じ分解レベルの複数のサブバンドの間での同じ座標のコードブロックをゲートウェイ3に送信することができない可能性がある。
 一方で、ゲートウェイ3が、逆ウェーブレット変換によって、ある分解レベルのLLサブバンドを生成するためには、当該ある分解レベルよりも低い分解レベルの複数のサブバンドの間において、同じ座標のコードブロックが必要となる。
 上記のように、同じ分解レベルの複数サブバンドに共通の統合サブバンドマスクが使用される場合には、IoT端末2は、当該複数のサブバンドの間での同じ座標のコードブロックをゲートウェイ3に容易に送信することができる。よって、ゲートウェイ3は、ある分解レベルのLLサブバンドを生成する際に、当該ある分解レベルよりも低い分解レベルの複数のサブバンドの間での同じ座標のコードブロックを使用することができる。
 また、IoT端末2の決定部26は、指示情報520を使用せずに送信対象データ503を決定してもよい。この場合には、IoT端末2の処理が簡素化される。また、ゲートウェイ3は指示情報520を生成する必要がなくなることから、ゲートウェイ3の処理が簡素化する。
 IoT端末2は、指示情報520を使用せずに送信対象データ503を決定する場合には、対象フレーム画像に対する処理が開始すると、例えば、LL3サブバンドに含まれる全差分CBを送信対象データ503として送信する。ゲートウェイ3は、受け取ったLL3サブバンドの全差分CBから、LL3サブバンドの全非差分CBを復元し、復元した全非差分CBから成るデータを認識用データ522として画像認識処理を行う。
 ゲートウェイ3が検出対象物を検出すると、対象フレーム画像に対する処理が終了する。一方で、ゲートウェイ3が検出対象物を検出しない場合には、IoT端末2は、LL2サブバンドの全非差分CBから成るデータが示す画像が認識対象画像とされるために、LH3サブバンド、HL3サブバンド及びHH3サブバンドの全差分CBを送信対象データとして送信する。ゲートウェイ3は、LH3サブバンド、HL3サブバンド及びHH3サブバンドの全差分CBから、LH3サブバンド、HL3サブバンド及びHH3サブバンドの全非差分CBを復元する。そして、ゲートウェイ3は、すでに取得しているLL3サブバンドの全非差分CBと、LH3サブバンド、HL3サブバンド及びHH3サブバンドの全非差分CBとから成る逆変換対象データ532を逆ウェーブレット変換して、LL2サブバンドの全非差分CBを生成する。そして、ゲートウェイ3は、LL2サブバンドの全非差分CBから成るデータを認識用データ522として画像認識処理を行う。
 ゲートウェイ3が検出対象物を検出すると、対象フレーム画像に対する処理が終了する。一方で、ゲートウェイ3が検出対象物を検出しない場合には、IoT端末2は、LL1サブバンドの全非差分CBから成るデータが示す画像が認識対象画像とされるために、LH2サブバンド、HL2サブバンド及びHH2サブバンドの全差分CBを送信対象データ503として送信する。ゲートウェイ3は、LH2サブバンド、HL2サブバンド及びHH2サブバンドの全差分CBから、LH2サブバンド、HL2サブバンド及びHH2サブバンドの全非差分CBを復元する。そして、ゲートウェイ3は、すでに取得しているLL2サブバンドの全非差分CBと、LH2サブバンド、HL2サブバンド及びHH2サブバンドの全非差分CBとから成る逆変換対象データ532を逆ウェーブレット変換して、LL1サブバンドの全非差分CBを生成する。そして、ゲートウェイ3は、LL1サブバンドの全非差分CBから成るデータを認識用データ522として画像認識処理を行う。その後、対象フレーム画像に対する処理が終了する。
 なお、IoT端末2が指示情報520を使用せずに送信対象データ503を決定する場合の画像処理システム4の動作は上記の例には限られない。
 また上記の図29,30,33の例では、分解レベル順に画像認識処理が行われていたが、ラベル順に画像認識処理が行われてもよい。図34のこの場合の終了判定(ステップs19)の一例を示すフローチャートである。
 図34に示されるように、ステップs201において、データ処理部32は、対象ラベルに関して、検出対象物が検出されたか否かを特定する。つまり、データ処理部32は、直前のステップs18の画像認識処理において検出対象物が検出されたか否かを特定する。データ処理部32は、対象ラベルに関して、検出対象物が検出されたことを特定すると、ステップs204において、変数LNの値が、最大値max2と一致するか否かを判定する。ここで、最大値max2は、上述の最大値max1とは異なり、IoT端末2で定められたラベルのうちの最大値を意味している。図31,32の例では、最大値max2=2となる。
 データ処理部32は、ステップs204において、変数LNの値が最大値max2と一致すると判定すると、対象フレーム画像に対する処理を終了することを決定する。これにより、終了判定が終了する。
 一方で、データ処理部32は、ステップs204において、変数LNの値が最大値max2と一致しないと判定すると、ステップs205において、変数LNの値を1つ増加する。これにより、今までの対象ラベルよりも1つだけ大きいラベルが対象ラベルとなる。そしてデータ処理部32は、ステップs206において、変数LVの値を、最大分解レベル、つまり3に設定する。これにより、対象分解レベルが最大分解レベルとなる。そしてステップs207において、データ処理部32は、対象フレーム画像に対する処理を継続することを決定する。これにより、終了判定が終了する。
 ステップs201において、対象ラベルに関して、検出対象物が検出されていないと特定されると、データ処理部32は、ステップs202において、変数LVの値が1であるか否かを判定する。変数LVの値が1である場合、つまり対象分解レベルが1である場合、データ処理部32は、上述のステップs204を実行し、以後同様に動作する。一方で、変数LVの値が1でない場合、つまり対象分解レベルが1よりも大きい場合、データ処理部32は、ステップs203において、変数LVの値を1つ減少する。これにより、今までの対象分解レベルよりも1つ小さい分解レベルが対象分解レベルとなる。その後、データ処理部32は、ステップs207を実行して、対象フレーム画像に対する処理を継続することを決定する。
 図34に示される終了処理が実行される場合には、図31,32の例では、まず、LL3サブバンドにおける、ラベル領域L0に対応する非差分CBに対して画像認識処理が行われる。検出対象物が検出されない場合、LL2サブバンドにおける、ラベル領域L0に対応する非差分CBに対して画像認識処理が行われる。検出対象物が検出されない場合、LL1サブバンドにおける、ラベル領域L0に対応する非差分CBに対して画像認識処理が行われる。
 ラベル0に関する画像認識処理で検出対象物が検出されると、LL3サブバンドにおける、ラベル領域L1に対応する非差分CBに対して画像認識処理が行われる。検出対象物が検出されない場合、LL2サブバンドにおける、ラベル領域L1に対応する非差分CBに対して画像認識処理が行われる。検出対象物が検出されない場合、LL1サブバンドにおける、ラベル領域L1に対応する非差分CBに対して画像認識処理が行われる。
 また上記の例では、非差分CBから成る認識用データ522が示す画像に対して画像認識処理が行われているが、差分CBから成る認識用データ522が示す画像(差分画像の少なくとも一部)に対して画像認識処理が行われてもよい。この場合には、ゲートウェイ3から復元部326が不要となり、ゲートウェイ3の構成が簡素化される。
 また上記の例では、トランスコーダ用復号化データ526は非差分CBで構成されていたが、差分CBで構成されてもよい。この場合には、データ処理部32では、差分画像においてROIと非ROIとを判別するためのマスクデータ525が生成される。そして、トランスコーダ34では、差分画像におけるROIを示す符号化データ590が生成され、当該符号化データ590を含むビットストリーム529がクラウドサーバ5に送信される。また、トランスコーダ用符号化データ527は、符号化差分CBで構成されてもよい。
 またIoT端末2は、統合マスクデータ513を使用せずに、差分階層化データ502から送信対象データ503を決定してもよい。この場合には、IoT端末2は、例えば、ゲートウェイ3からの指示情報520で指定されるデータをそのまま送信対象データ503とする。
 また、ゲートウェイ3のデータ処理部32は、ウェーブレット平面の高周波成分を認識用データ522として画像認識部33に入力する場合には、LHサブバンド、HLサブバンドあるいはHHサブバンドをそのまま認識用データ522としてもよいし、同じ分解レベルのLHサブバンド、HLサブバンド及びHHサブバンドを統合して得られる統合サブバンドを認識用データ522としてもよい。データ処理部32は、LHサブバンド、HLサブバンド及びHHサブバンドを統合する場合には、例えば、LHサブバンド、HLサブバンド及びHHサブバンドにおいて同じ位置に存在する係数の平均値を求めて、求めた平均値を、統合サブバンドにおける、それと同じ位置の係数とする。また、データ処理部32は、LHサブバンド、HLサブバンド及びHHサブバンドにおいて同じ位置に存在する係数のうちの最大値を、統合サブバンドにおける、それと同じ位置の係数としてもよい。なお、LHサブバンド、HLサブバンド及びHHサブバンドを統合する方法はこの限りではない。
 また、ゲートウェイ3は、IoT端末2に対して送信すべきデータを指示する場合には、ウェーブレット平面を構成する複数のサブバンド間でのコードブロックの対応関係を示すCB対応関係情報を利用してもよい。図35は、複数のサブバンド間でのコードブロックの対応関係の一例を示す図である。図35において斜線が示される部分が、互いに対応するコードブロック5021である。
 ここで、複数のサブバンドの間で互いに対応するコードブロック5021は、差分画像の同じ部分を示している。図35において、LL3サブバンドの斜線の1つのコードブロック5021LL3と、LH3サブバンドの斜線の1つのコードブロック5021LH3と、HL3サブバンドの斜線の1つのコードブロック5021HL3と、HH3サブバンドの斜線の1つのコードブロック5021HH3とは、差分画像の同じ部分を示している。また、LH2サブバンドの斜線の4つのコードブロック5021LH2と、HL2サブバンドの斜線の4つのコードブロック5021HL2と、HH2サブバンドの斜線の4つのコードブロック5021HH2とは、差分画像の同じ部分を示している。また、LH1サブバンドの斜線の16個のコードブロック5021LH1と、HL1サブバンドの斜線の16個のコードブロック5021HL1と、HH1サブバンドの斜線の16個のコードブロック5021HH1とは、差分画像の同じ部分を示している。また、分解レベル3の各サブバンドの斜線の1つのコードブロック5021と、分解レベル2の各サブバンドの斜線の4つのコードブロック5021と、分解レベル1の各サブバンドの斜線の16個のコードブロック5021とは、差分画像の同じ部分を示している。
 ゲートウェイ3は、図35に示されるような、複数のサブバンド間でのコードブロックの対応関係を示すCB対応関係情報を記憶している。ゲートウェイ3は、CB対応関係情報を利用して指定データを決定する場合には、対象フレーム画像に対する処理が開始すると、例えば、図35において斜線で示される、LL3サブバンドのコードブロック5021LL3を指定データとして指示情報520を送信する。この指示情報520を受け取ったIoT端末2は、コードブロック5021LL3を送信対象データ503として送信する。ゲートウェイ3は、受け取ったコードブロック5021LL3から、それに対応する非差分CBを復元し、復元した非差分CBを認識用データ522として画像認識処理を行う。
 ゲートウェイ3が検出対象物を検出すると、対象フレーム画像に対する処理が終了する。一方で、ゲートウェイ3は、検出対象物を検出しない場合には、LL2サブバンドを処理対象とするために、図35において斜線で示される、LH3サブバンドのコードブロック5021LH3、HL3サブバンドのコードブロック5021HL3及びHH3サブバンドのコードブロック5021HH3を指定データとして指示情報520を送信する。この指示情報520を受け取ったIoT端末2は、コードブロック5021LH3,5021HL3,5021HH3を送信対象データ503として送信する。ゲートウェイ3は、IoT端末2から受け取ったコードブロック5021LH3,5021HL3,5021HH3から、それぞれに対応する非差分CBを復元する。そして、ゲートウェイ3は、すでに取得している、コードブロック5021LL3に対応する非差分CBと、復元した、コードブロック5021LH3,5021HL3,5021HH3に対応する非差分CBとから成る逆変換対象データ522を逆ウェーブレット変換する。これにより、コードブロック5021LL3,5021LH3,5021HL3,5021HH3に対応する、LL2サブバンドの4つのコードブロック5021に対応する非差分CBが生成される。ゲートウェイ3は、生成した非差分CBを認識用データ522として画像認識処理を行う。
 ゲートウェイ3が検出対象物を検出すると、対象フレーム画像に対する処理が終了する。一方で、ゲートウェイ3は、検出対象物を検出しない場合には、LL1サブバンドを処理対象とするために、図35において斜線で示される、LH2サブバンドの4つのコードブロック5021LH2、HL2サブバンドの4つのコードブロック5021HL2及びHH2サブバンドの4つのコードブロック5021HH2を指定データとして指示情報520を送信する。この指示情報520を受け取ったIoT端末2は、4つのコードブロック5021LH2、4つのコードブロック5021HL2及び4つのコードブロック5021HH2を、送信対象データ503として送信する。ゲートウェイ3は、IoT端末2から受け取った、LH2サブバンドの4つのコードブロック5021LH2、HL2サブバンドの4つのコードブロック5021HL2及びHH2サブバンドの4つのコードブロック5021HH2から、それぞれに対応する非差分CBを復元する。そして、ゲートウェイ3は、すでに取得している、LL2サブバンドの4つのコードブロックに対応する非差分CBと復元した非差分CBとから成る逆変換対象データ522を逆ウェーブレット変換する。これにより、分解レベル2の各サブバンドの4つのコードブロックに対応する、LL1サブバンドの16個のコードブロックに対応する非差分CBが生成される。ゲートウェイ3は、生成した非差分CBを認識用データ522として画像認識処理を行う。その後、対象フレーム画像に対する処理が終了する。
 なお、ゲートウェイ3がCB対応関係情報を使用して指定データを決定する場合の画像処理システム4の動作は上記の例には限られない。
 <各種変形例>
 以下に画像処理システム4の各種変形例について説明する。
 <第1変形例>
 上記の例では、IoT端末2は、差分CBを送信するか、非差分CBを送信するかを、ゲートウェイ3からの指示に応じて決定していたが、ゲートウェイ3からの指示なく自ら決定してもよい。この場合には、ゲートウェイ3は、差分CBか非差分CBかを特定せずに、IoT端末2が送信すべきコードブロックを指示情報520を用いて指定する。以下に本変形例に係る画像処理システム4の動作を上述の図29,30を用いて説明する。
 対象フレーム画像に対する処理が開始すると、図29に示されるように、ステップs11において、ゲートウェイ3は、上記と同様に、最大分解レベルのLLサブバンドを処理対象とする。そして第1処理部321は、対象LLサブバンドの分解レベルを示す変数LVを3に設定する。第1処理部321は、対象LLサブバンドのコードブロックを指定データとして決定する。
 次にステップs12において、ゲートウェイ3は、ステップs11で決定した指定データをIoT端末2に通知するための指示情報520を生成してIoT端末2に送信する。
 IoT端末2は、図30に示されるように、ステップs31において指示情報520を受信する。次にステップs32において、IoT端末2の決定部26は、指示情報520と統合マスクデータ513とに基づいて送信対象データ503を決定する。
 ステップs32では、決定部26は、上記と同様に、番号が最も小さいラベルを対象ラベルとする。そして決定部26の送信対象決定部263は、差分階層化データ502の対象LLサブバンドにおける、対象ラベルのラベル領域に対応する差分CBと、非差分階層化データ501の対象LLサブバンドにおける、対象ラベルのラベル領域に対応する非差分CBとを特定する。特定された差分CB及び非差分CBは、送信対象データ503に含められる候補となる。
 送信対象決定部263は、特定した差分CB及び非差分CBをそれぞれ候補差分CB及び候補非差分CBとしてCB比較処理を行う。このCB比較処理では、候補差分CBのデータ量と、それと同じ座標の候補非差分CBのデータ量とが比較される。図36はCB比較処理の一例を示すフローチャートである。
 図36に示されるように、送信対象決定部263は、ステップs320において、候補差分CBのデータ量を求める。このデータ量を第1データ量とする。送信対象決定部263は、例えば、候補差分CBに含まれる複数の係数(差分WT係数)の絶対値の総和を求め、求めた総和を第1データ量とする。次にステップs321において、送信対象決定部263は、ステップs320でデータ量を求めた候補差分CBの座標と同じ座標の候補非差分CBのデータ量を求める。このデータ量を第2データ量とする。送信対象決定部263は、例えば、候補非差分CBに含まれる複数の係数(ウェーブレット係数)の絶対値の総和を求め、求めた総和を第2データ量とする。
 次にステップs322において、送信対象決定部263は、第1データ量が第2データ量よりも大きいか否かを判定する。第1データ量が第2データ量よりも大きい場合には、送信対象決定部263は、ステップs323において、候補非差分CBを送信対象データ503に含める。一方で、第1データ量が第2データ量以下であれば、送信対象決定部263は、ステップs324において、候補差分CBを送信対象データ503に含める。なお、送信対象決定部263は、第1データ量が第2データ量以上のときに候補非差分CBを送信対象データ503に含め、第1データ量が第2データ未満のときに候補差分CBを送信対象データ503に含めてもよい。
 以上のようなCB比較処理を送信対象決定部263が各候補差分CBについて実行することによって、送信対象データ503が決定される。
 このように、本変形例では、候補差分CB及び候補非差分CBのうち、データ量が小さい方のコードブロックが、送信対象データ503に含まれる。つまり、候補差分CB及び候補非差分CBのうち、データ量が小さい方のコードブロックが、ゲートウェイ3に送信される。カメラ20の撮影環境等によっては、候補差分CBのデータ量が常に候補非差分CBのデータ量よりも小さくなるとは限らないことから、候補差分CB及び候補非差分CBのうち、データ量が小さい方のコードブロックが、ゲートウェイ3に送信されることによって、IoT端末2が送信するデータ量を低減することができる。よって、IoT端末2の消費電力をさらに低減することができる。また、IoT端末2から送信される符号化データの送信遅延をさらに低減することができる。
 決定部26は、送信対象データ503を決定すると、送信対象データ503に含まれる各コードブロックについて、それが差分CBであるのか、非差分CBであるのかをゲートウェイ3が特定するためのCB特定信号を生成する。
 ステップs32が実行されると、IoT端末2は、上記と同様にしてステップs33,s34を実行する。そしてステップs35において、IoT端末2は、ステップs34で生成された符号化データ505を含むビットストリーム506と、ステップs33で生成された座標データ504と、ステップs32で生成されたCB特定信号とを、ゲートウェイ3に送信する。このとき、IoT端末2は、ラベリング処理で得られたラベルの番号をゲートウェイ3に通知するとともに、現在の対象ラベルをゲートウェイ3に通知する。
 図29に戻って、ステップs12の後、ゲートウェイ3の受信部30aは、ステップs13において、IoT端末2からのビットストリーム506、座標データ504及びCB特定信号を受信する。そしてステップs14において、ビットストリーム506に含まれる符号化データ505が第2メモリ324に記憶され、座標データ504が座標メモリ36の座標テーブル36aに記憶される。また、復号化装置31で符号化データ505が伸張復号化されて復号化データ521が生成される。
 次にステップs15において、データ処理部32の選択部325は、IoT端末2からのCB特定信号に基づいて、復号化データ521に含まれる各コードブロックが、差分CBであるのか、非差分CBであるのかを特定する。そして、選択部325は、復号化データ521に含まれる差分CBについては復元部326に出力する。一方で、選択部325は、復号化データ521に含まれる非差分CBについては第1処理部321に出力する。復元部326は、上記と同様にして、入力される差分CBから非差分CBを復元して第1処理部321に入力する。第1処理部321は、復元部326から受け取った非差分CBを第1メモリ323に記憶する。また第1処理部321は、選択部325から受け取った非差分CBを第1メモリ323に記憶する。
 次にゲートウェイ3は、上記同様にして、ステップs16~s19を実行する。ステップs19の終了判定において、データ処理部32が対象フレーム画像に対する処理を終了すると決定すると、ステップs20において、ゲートウェイ3は終了通知をIoT端末2に行う。ゲートウェイ3は、対象フレーム画像から検出対象物が検出された場合には、ステップs20の後のステップs21において、検出対象物が写る検出対象物画像を示す符号化データ590を含むビットストリーム529をトランスコーダ34で生成する。そして、ゲートウェイ3は、生成したビットストリーム529と、画像認識部33が生成する、対象フレーム画像に関する認識結果情報524とを、通信部35からクラウドサーバ5に送信する。これにより、対象フレーム画像に対する処理が終了する。
 ステップs19の終了判定において、データ処理部32が対象フレーム画像に対する処理を継続すると決定すると、ゲートウェイ3はステップs11を再度実行して、指定データを決定する。このステップs11では、変数LN,LVが現在示す値に基づいて指定データが決定される。
 第1処理部321は、変数LVが現在示す対象分解レベルが、最大分解レベルである場合、LL3サブバンドのうち、変数LNが現在示す対象ラベルのラベル領域に対応するコードブロックを指定データとする。
 また第1処理部321は、変数LVが現在示す対象分解レベルが、最大分解レベル以外である場合、対象分解レベルよりも分解レベルが1つ高いLHサブバンド、HLサブバンド及びHHサブバンドにおける、対象ラベルのラベル領域に対応するコードブロックを指定データとする。
 ゲートウェイ3は、ステップs11を実行すると、ステップs12において、ステップs11で決定した指定データを通知するための指示情報520を生成する。そして、ゲートウェイ3は、生成した指示情報520をIoT端末2に送信する。
 IoT端末2は、ステップs31において指示情報520を受信すると、ステップs32において、受信した指示情報520と統合マスクデータ513とに基づいて、送信対象データ503を決定する。このステップs31では、IoT端末2の決定部26は、差分階層化データ502において、指示情報520によって指定されるコードブロック(差分CB)を統合マスクデータ513に基づいて特定するとともに、非差分階層化データ501において、指示情報520によって指定されるコードブロック(非差分CB)を特定する。そして、決定部26は、特定した差分CB及び非差分CBをそれぞれ候補差分CB及び候補非差分CBとして、上記のCB比較処理を行う。これにより、送信対象データ503が決定される。以後、画像処理システム4は同様に動作する。
 なお、本変形例においても、ステップs19において図34に示される終了判定が実行されてもよい。
 <第2変形例>
 IoT端末2が、例えば、移動するロボットあるいはドローンなどに搭載される場合、IoT端末2のカメラ20の位置が変化する。またIoT端末2が、人の手によって持たれる場合、手振れによって、カメラ20の位置が変化する。カメラ20の位置が変化すると、フレーム画像内での被写体全体の画像(以後、被写体全体画像と呼ぶことがある)の位置が変化することから、カメラ20の位置の変化の影響がフレーム画像に現れる。その結果、カメラ20の撮影範囲において、人などの移動する物体が存在する領域が小さいにもかかわらず、上述の図18とは異なり、統合サブバンドマスク5126の大部分が第2ROIマスク部分5126a(白抜き部分)となる可能性がある。その結果、差分階層化データ502を構成する複数のコードブロックの大部分が差分CBとなる可能性がある。これにより、IoT端末2の送信データ量があまり低減しない可能性がある。
 そこで、本変形例では、IoT端末2は、フレーム画像データ500に対して、カメラ20の位置の変化の影響を補正する処理を行う。これにより、カメラ20の撮影範囲において、人などの移動する物体が存在する領域が小さいにもかかわらず、差分階層化データ502を構成する複数のコードブロックの大部分が差分CBとなる可能性を低減することができる。その結果、IoT端末2の送信データ量をより確実に低減することができる。
 図37は本変形例に係るIoT端末2の構成の一例を示す図である。図37に示されるように、本変形例に係るIoT端末2は、上述の図3に示されるIoT端末2において、動き補正部28をさらに備えるものである。
 動き補正部28は、フレーム画像データ500に対して、カメラ20の位置の変化の影響を補正する動き補正処理を行う。階層化部22は、動き補正処理後のフレーム画像データ500であるフレーム画像データ500aを階層化し、それよって得られた階層化データ501を出力する。動き補正部28の少なくとも一部は、その機能の実現にソフトウェアが不要なハードウェア回路によって実現されてよい。また、動き補正部28の少なくとも一部は、コンピュータがプログラムを実行することによって実現される機能ブロックであってもよい。IoT端末2のその他の動作については上記と同様である。
 図38は動き補正部28の構成の一例を示す図である。図38に示されるように、動き補正部28は、補正部280及びフレームバッファ281を備える。補正部280は、画像メモリ21からフレーム画像データ500を読み出してフレームバッファ281に記憶する。動き補正部280は、画像メモリ21から、現フレーム画像データ500(対象フレーム画像データ500)を読み出すと、現フレーム画像データ500と、フレームバッファ231に記憶される、過去に生成されたフレーム画像データ500(過去フレーム画像データ500と呼ぶことがある)とに基づいて、現フレーム画像データ500に対して動き補正処理を行う。過去フレーム画像データ500は、現フレーム画像データ500よりもQフレーム前のフレーム画像データ500である。Qの値は上述のPの値と同じであってもよいし、異なってもよい。
 図39は動き補正処理の一例を示すフローチャートである。図39に示されるように、動き補正処理では、まずステップs51において、補正部280は、現フレーム画像データ500と、フレームバッファ281内の過去フレーム画像データ500とに基づいて、フレーム画像内での被写体全体画像の動きベクトルを求める。
 動きベクトルについては、様々な方法で求めることができる。例えば、補正部280は、現フレーム画像の背景領域の位置と、過去フレーム画像の背景領域の位置とに基づいて動きベクトルを求めることができる。フレーム画像の背景領域とは、フレーム画像において、ゲートウェイ3での画像認識処理で検出される検出対象物(例えは人)の画像以外の部分である。フレーム画像の背景領域は、例えば、ゲートウェイ3での過去の画像認識処理の結果に基づいて特定することができる。またIoT端末2は、フレーム画像の背景領域を特定するための背景情報を予め記憶していてもよい。
 補正部280は、ステップs51において動きベクトルを求めると、ステップs52において、求めた動きベクトルに基づいて現フレーム画像を補正する。ステップs52では、補正部280は、まず、動きベクトルの水平方向成分を、現フレーム画像についての水平方向の補正量である水平補正量CXとし、求めた動きベクトルの垂直方向成分を、現フレーム画像についての垂直方向の補正量である垂直補正量CYとする。そして、補正部280は、現フレーム画像内において、被写体全体画像を、水平方向に水平補正量CXだけ移動し、垂直方向に垂直補正量CYだけ移動して、現フレーム画像を補正する。補正後の現フレーム画像を示すフレーム画像データ500が、動き補正処理後の現フレーム画像データ500となる。
 図40は動き補正処理の概要を示す図である。図40の上側には、過去フレーム画像5010a及び現フレーム画像5010bの一例が示されている。図40の中央には、図40に示される過去フレーム画像5010a及び現フレーム画像5010bから求められる水平補正量CX及び垂直補正量CYが示されている。図40の下側には、図40に示される水平補正量CX及び垂直補正量CYに基づいて補正された現フレーム画像5010bが示されている。補正後の現フレーム画像5010bでは、被写体全体画像5011bの位置が、カメラ20の位置の変化による影響をキャンセルするように変化して当該影響が補正されている。なお、現フレーム画像5010bでの被写体全体画像5011bの位置が補正されることにより、補正後の現フレーム画像5010bでは、被写体全体画像5011bが存在しない領域5012bが生じる。この領域5012bの各画素値は例えば零に設定される。
 以上のように、IoT端末2は、フレーム画像データ500に対して、カメラ20の位置の変化の影響を補正する処理を行うことから、カメラ20の撮影範囲において、人などの移動する物体が存在する領域が小さいにもかかわらず、差分階層化データ502を構成する複数のコードブロックの大部分が差分CBとなる可能性を低減することができる。その結果、IoT端末2の送信データ量をより確実に低減することができる。
 なおIoT端末2は、フレーム画像データ500に対してではなく、階層化部22で生成される階層化データに対して動き補正処理を行ってもよい。図41はこの場合のIoT端末2が備える階層化部22の構成の一例を示す図である。以後、フレーム画像データ500に対して行う上記の動き補正処理を第1動き補正処理と呼び、階層化データに対して行う動き補正処理を第2動き補正処理と呼ぶことがある。
 図41に示されるように、本変形例に係る階層化部22は、上述の図5に示される階層化部22において、動き補正部226をさらに備えるものである。
 動き補正部226は、ウェーブレット変換部224から出力される階層化データ510に対して第2動き補正処理を行う。量子化部225は、第2動き補正処理後の階層化データ510である階層化データ510aを量子化し、量子化した階層化データ510aを階層化データ501として出力する。
 なお動き補正部226の少なくとも一部は、その機能の実現にソフトウェアが不要なハードウェア回路によって実現されてよい。また、動き補正部226の少なくとも一部は、コンピュータがプログラムを実行することによって実現される機能ブロックであってもよい。IoT端末2のその他の動作については上記と同様である。以後、現在の処理対象の階層化データ510を現階層化データ510と呼ぶことがある。
 図42は動き補正部226の構成の一例を示す図である。図42に示されるように、動き補正部226は、補正部2260及びフレームバッファ2261を備える。補正部2260は、ウェーブレット変換部224から出力される階層化データ510をフレームバッファ2261に記憶する。補正部2260は、ウェーブレット変換部224から現階層化データ510を受け取ると、現階層化データ510と、フレームバッファ2261に記憶される、過去に生成された階層化データ510(過去階層化データ510と呼ぶことがある)とに基づいて、現階層化データ510に対して第2動き補正処理を行う。過去階層化データ510は、現階層化データ510よりもQフレーム前の階層化データ510である。
 第2動き補正処理では、第1動き補正処理とは異なり、現階層化データ510の各サブバンドXYmに対して個別に補正が行われる。以下に第2補正処理について詳細に説明する。
 補正部2260は、階層化データ510の各サブバンドXYmについて、当該サブバンドXYm内での被写体全体を示す部分(被写体全体部分と呼ぶことがある)の動きベクトルを、現階層化データ510と過去階層化データ510とに基づいて求める。この動きベクトルは、上記と同様にして求めることができる。例えば、補正部2260は、あるサブバンドXYmについての動きベクトルを求める場合には、例えば、現階層化データ510のサブバンドXYmにおける、背景を示す部分の位置と、過去階層化データ510のサブバンドXYmにおける、背景を示す部分の位置とに基づいて動きベクトルを求めることができる。
 補正部2260は、各サブバンドXYmについて動きベクトルを求めると、現階層化データの各サブバンドXYmを、それに応じた動きベクトルに基づいて補正する。補正部2260は、あるサブバンドXYmを補正する場合には、サブバンドXYmについて求められた動きベクトルの水平方向成分を、現階層化データ510のサブバンドXYmについての水平方向の補正量である水平補正量CXXYmとし、当該動きベクトルの垂直方向成分を、現階層化データ510のサブバンドXYmについての垂直方向の補正量である垂直補正量CYXYmとする。そして、補正部280は、現階層化データ510のサブバンドXYm内において、被写体全体部分を、水平方向に水平補正量CXXYmだけ移動し、垂直方向に垂直補正量CYXYmだけ移動して、サブバンドXYmを補正する。補正部2260はこの補正を各サブバンドXYについて行う。補正後の各サブバンドXYmから成る現階層化データ510が、第2動き補正処理後の現階層化データ510となる。サブバンドXYmについての水平補正量CXXYm及び垂直補正量CYXYmを(CXXYm,CYXYm)で表すと、補正部2260は、LL3サブバンド、LH3サブバンド、HL3サブバンド、HH3サブバンド、LH2サブバンド、HL2サブバンド、HH2サブバンド、LH1サブバンド、HL1サブバンド及びHHサブバンド1にそれぞれ対応する(CXLL3,CYLL3)、(CXLH3,CYLH3)、(CXHL3,CYHL3)、(CXHH3,CYHH3)、(CXLH2,CYLH2)、(CXHL2,CYHL2)、(CXHH2,CYHH2)、(CXLH1,CYLH1)、(CXHL1,CYHL1)及び(CXHH1,CYHH1)を生成する。
 このように、IoT端末2が、階層化データ510に対して、カメラ20の位置の変化の影響を補正する処理を行う場合であっても、カメラ20の撮影範囲において、人などの移動する物体が存在する領域が小さいにもかかわらず、差分階層化データ502を構成する複数のコードブロックの大部分が差分CBとなる可能性を低減することができる。その結果、IoT端末2の送信データ量をより確実に低減することができる。
 <第3変形例>
 上記の各例では、ゲートウェイ3は、画像データを含むビットストリーム529をクラウドサーバ5に送信していたが、ビットストリーム529をクラウドサーバ5に送信しなくてもよい。つまり、ゲートウェイ3は、メタデータである認識結果情報524だけをクラウドサーバ5に送信してもよい。この場合には、図43に示されるようにトランスコーダ34が不要となり、図44に示されるようにデータ処理部32の第2メモリ324及び第2処理部322が不要になる。
 このように、ゲートウェイ3が画像データをクラウドサーバ5に送信しないことによって、IoT端末2が生成した画像データがインターネットに流れる可能性を低減することができる。よって、例えば、IoT端末2で生成される画像データに写る人のプライバシーが侵害される可能性を低減することができる。
 <第4変形例>
 上記の各例に係るIoT端末2は、符号化データ505をパケット化して送信していたが、符号化データ505をパケット化せずに送信してもよい。これにより、パケットヘッダの生成が不要になる。さらに、パケットヘッダに含められる、零長パケット情報、コードブロックの包含情報、零ビットプレーン情報、符号化パス数情報及びコードブロックの符号量情報のうち、ゲートウェイ3でのパケットヘッダの復号化に必要な零長パケット情報及びコードブロックの含有情報の生成が不要になる。符号化装置24のビットストリーム生成部243は、パケット化されてない符号化データ505と付加情報を含むビットストリーム506を生成する。この付加情報には、パケットヘッダの代りに、零ビットプレーン情報、符号化パス数情報及びコードブロックの符号量情報が符号化されずに含められる。
 このように、本変形例に係るIoT端末2では、符号化データ505がパケット化されないことから、IoT端末2ではデータのパケット化が不要となる。これにより、IoT端末2の処理が簡素化される。よって、IoT端末2の消費電力を低減することができるとともに、IoT端末2から送信されるデータの送信遅延を低減することができる。
 またIoT端末2では、パケットヘッダの生成が不要になることから、処理がさらに簡素化される。よって、IoT端末2の消費電力をさらに低減することができるとともに、IoT端末2から送信されるデータの送信遅延をさらに低減することができる。
 また、IoT端末2からのビットストリーム506を処理するゲートウェイ3では、復号化装置31のビットストリーム解析部310は、パケットヘッダを復号化する必要がない。よって、ゲートウェイ3の処理を簡素化できる。
 <第5変形例>
 ゲートウェイ3の画像認識部33が検出する検出対象物の種類によっては、画像認識部33は解像度が低い画像から検出対象物を検出することが可能である。
 また、ゲートウェイ3が、IoT端末2から受け取る符号化データ505を使用して行う処理の種類によっては、解像度が高い画像を示す符号化データ505が必要とされる場合もあれば、符号化データ505が示す画像の解像度が低くてもよい場合がある。例えば、ゲートウェイ3が、符号化データ505に基づいて、クラウドサーバ5に対して解像度が高い動画をストリーミング送信する場合には、解像度が高い画像を示す符号化データ505が必要とされる。
 そこで、本変形例に係る画像処理システム4は、IoT端末2で生成されるコードブロック中の係数の二進値を構成する複数のビットにおいて、ゲートウェイ3に送信するビットを調整することによって、符号化データ505が示す画像の解像度を調整することができる。以下に本変形例に係る画像処理システム4について詳細に説明する。以後、コードブロックに含まれる、画像の画素に対応する係数の二進値を構成するビットの数をL(Lは2以上の整数)で表す。
 本変形例では、IoT端末2が有する符号化装置24の符号化部240は、決定部26が決定する送信対象データ503中のコードブロックの係数を構成するLビットを最上位(MSB)から見た場合に初めて1が現れるビット位置よりも1ビットだけ上位のビット位置を第1ビット位置する。また符号化部240は、第1ビット位置からMビット数(Mは1以上の整数)だけ下位のビット位置を第2ビット位置する。符号化部240は、Lビットのうち、最上位から第2ビット位置までのビットを対象ビットとし、それ以外のビットを対象外ビットとする。符号化部240は、Lビットのうちの対象ビットを圧縮符号化する。つまり、符号化部240は、対象ビットだけに対してビットプレーン符号化及びエントロピー符号化を行う。そして、符号化部240は、Lビットのうちの対象外ビットを切り捨てて圧縮符号化しない。これにより、送信対象データ503中の各係数については、それを構成するLビットのうちの圧縮符号化された対象ビットだけが、ゲートウェイ3に送信される。送信対象データ503に差分CBが含まれる場合には、当該差分CBの各差分WT係数について、それを構成するLビットのうちの圧縮符号化された対象ビットだけが、ゲートウェイ3に送信される。また、送信対象データ503に非差分CBが含まれる場合には、当該非差分CBの各量子化ウェーブレット係数について、それを構成するLビットのうちの圧縮符号化された対象ビットだけが、ゲートウェイ3に送信される。
 なお、Lビットの最上位のビットが“1”の場合、符号化部240は、その最上位よりも1ビットだけ上位の仮想的なビット位置を第1ビット位置として、対象ビットを決定する。また、第1ビット位置からMビット数だけ下位のビット位置が、Lビットの最下位(LSB)を超える場合には、第2ビット位置は当該最下位に設定される。
 図45,46は、圧縮符号化される対象ビットの一例を示す図である。図45,46の例では、L=11、M=3とされている。図45に示される係数(差分WT係数あるいは量子化ウェーブレット係数)の二進値は“000 1101 0111”で構成されている。この場合、対象ビットは“000110”の6ビットとなり、対象外ビットは“10111”の5ビットとなる。符号化部240は、対象ビット“000110”だけを圧縮符号化する。また、図46に示される係数の二進値は“010 0011 0101”で構成されている。この場合、対象ビットは“0100”の4ビットとなり、対象外ビットは“0110101”の7ビットとなる。符号化部240は、対象ビット“0100”だけを圧縮符号化する。
 圧縮符号化される対象ビットを決定するMの値は、例えばゲートウェイ3によって決定される。ゲートウェイ3は、符号化データ505を用いて行う処理に応じてMの値を決定する。よって、Mの値は、ゲートウェイ3が符号化データ505を用いて行う処理に応じた値となる。
 例えば、ゲートウェイ3は、上述の図29に示されるように、符号化データ505を用いて画像認識処理を行う場合には、図45,46の例のようにMの値を例えば3に設定する。またゲートウェイ3は、解像度が高い画像を示す符号化データ505を用いて処理を行う場合には、Mの値を例えば5に設定する。ゲートウェイ3は、設定したMの値をIoT端末2に通知する。IoT端末2の符号化部240は、ゲートウェイ3から通知されるMの値に基づいて対象ビットを決定する。
 IoT端末2からビットストリーム506を受信したゲートウェイ3では、復号化装置31の復号化部311が、IoT端末2からの符号化データ505を伸張復号化して、送信対象データ503中の係数を復元する。そして復号化部311は、復元した係数を構成する対象ビットに対してビットを追加して、Lビットの係数を生成する。
 ここで、復元された係数を構成する対象ビットのビット数をN(1以上の整数)とする。復号化部311は、復元した係数を構成する対象ビットよりも下位のビットとして、(L-N)個の0を当該対象ビットに追加する。これにより、Lビットから成る係数が得られる。ゲートウェイ3は、Mの値と、IoT端末2から送信される零ビットプレーン情報とに基づいて、対象ビットのビット数Nを特定することができる。復号化部311で生成された、Lビットから成る係数は、逆量子化部314に入力される。
 図47,48は、復号化部311で生成される、Lビットから成る係数の一例を示す図である。図47には、IoT端末2が、上述の図45に示される対象ビット“000110”を送信する場合の例が示されている。図48には、IoT端末2が、上述の図46に示される対象ビット“0100”を送信する場合の例が示されている。
 図47に示されるように、復号化部311は、6ビットの対象ビット“000110”から成る係数を復元すると、対象ビット“000110”よりも下位のビットとして、5個の0を対象ビット“000110”に追加する。これにより、11ビット(Lビット)の“000 1100 0000”から成る係数が得られる。
 また図48に示されるように、復号化部311は、4ビットの対象ビット“0100”から成る係数を復元すると、対象ビット“0100”よりも下位のビットとして、7個の0を対象ビット“0100”に追加する。これにより、11ビット(Lビット)の“010 0000 0000”から成る係数が得られる。
 図45~48の例では、図45,46と図47,48とをそれぞれ比較して理解できるように、復号化部311で生成される11ビットの係数が示す情報では、IoT端末2で生成される11ビットの係数が示す情報と比較して、下位のビットの情報が失われる可能性がある。したがって、逆量子化部314から出力される復号化データ521が示す画像の解像度は低くなる可能性がある。
 このように、本変形例では、送信対象データ503中の、画素に対応する係数(量子化差分WT係数あるいは量子化ウェーブレット係数)を構成するLビットのうち、最上位から、ゲートウェイ3での処理に応じたMの値で決まる第2ビット位置までのビットだけが、圧縮符号化されてゲートウェイ3に送信される。したがって、IoT端末2がゲートウェイ3に送信するデータ量を、ゲートウェイ3での処理に応じて調整することができる。よって、IoT端末2の消費電力を低減することができるとともに、IoT端末2から送信されるデータの送信遅延を低減することができる。
 また、対象ビットを決定するMの値を調整することによって、ゲートウェイ3で使用される画像の解像度を簡単に調整することができる。つまり、Mの値を大きくすることによって、ゲートウェイ3で使用される画像の解像度を高くすることができ、Mの値を小さくすることによって、ゲートウェイ3で使用される画像の解像度を低くすることができる。
 なお、IoT端末2は、ゲートウェイ3からMの値が通知されない場合には、係数を構成するLビットのすべてを圧縮符号化してゲートウェイ3に送信してもよい。
 またゲートウェイ3は、係数を構成するLビットにおいて、対象ビットとして過去に受信して第1メモリ323に記憶している上位のビットが存在する場合に、解像度が高い画像を用いた処理を行いたいときには、第1メモリ323に記憶されている当該上位のビットよりも下位の必要なビットだけをIoT端末2に送信させてもよい。この場合には、ゲートウェイ3は、第1メモリ323内の上位のビットに対して、後から受信した下位のビットを追加することによって、情報損失が少ないLビットの係数を生成することができる。よって、ゲートウェイ3は、解像度が高い画像を用いた処理が可能となる。また、IoT端末2は、すでに送信したデータを再度送信することがないことから、IoT端末2の処理が簡素化する。
 例えば、ゲートウェイ3が、解像度が高い画像を用いた処理を行うために、IoT端末2が生成する係数を構成するLビットのすべてが必要であるとする。また、ゲートウェイ3は、係数を構成するLビットのうち、例えば図44に示される上位6ビット“000110”を対象ビットとしてすでに受信して第1メモリ323に記憶しているとする。このような場合、ゲートウェイ3は、必要な残りの下位5ビット、つまり“10111”だけを送信するようにIoT端末2に指示する。この指示を受けたIoT端末2は、下位の5ビット“10111”だけを圧縮復号化してゲートウェイ3に送信する。ゲートウェイ3は、第1メモリ323内の上位の“000110”に対して、新たに受信した下位の“10111”を追加して、11ビットの“000 1101 0111”から成る係数を生成する。
 また、ゲートウェイ3が、解像度が高い画像を用いた処理を行うために、IoT端末2が生成する係数を構成するLビットのうちの上位9ビットが必要であるとする。また、ゲートウェイ3は、量子化ウェーブレット係数を構成するLビットのうち、例えば図45に示される上位4ビット“0100”を対象ビットとしてすでに受信して第1メモリ323に記憶しているとする。このような場合、ゲートウェイ3は、必要な残りの5ビット“01101”(第2ビット位置の次のビット位置から5ビット分)だけを送信するようにIoT端末2に指示する。この指示を受けたIoT端末2は、5ビット“01101”だけを圧縮復号化してゲートウェイ3に送信する。ゲートウェイ3は、第1メモリ323内の上位の“0100”に対して、新たに受信した5ビット“01101”を下位に追加し、さらに2個の0を追加して、11ビットの“010 0011 0100”から成る係数を生成する。
 <第6変形例>
 本変形例では、IoT端末2は、ビットストリーム506をマルチレイヤー化することが可能である。図49は、本変形例に係るIoT端末2の符号化装置24の構成の一例を示す図である。図50は、本変形例に係るゲートウェイ3の復号化装置31の構成の一例を示す図である。
 図49に示されるように、本変形例に係る符号化装置24は、上述の図20に示される符号化装置24において、レイヤー分割処理部250をさらに備えるものである。レイヤー分割処理部250は、ビットストリーム生成部243から出力されるビットストリーム506をマルチレイヤー化することが可能である。ビットストリーム506では、コードブロック単位でデータが並べられている。レイヤー分割処理部250は、ビットストリーム506をマルチレイヤー化する場合には、ビットストリーム506に含まれる符号化データ505を複数のレイヤーに分割し、当該複数のレイヤーの少なくとも一つのレイヤーのデータを含むビットストリーム506aを出力する。一方で、レイヤー分割処理部250は、ビットストリーム506をマルチレイヤー化せずにそのまま出力することも可能である。この場合には、レイヤー分割処理部250は、ビットストリーム506をそのままビットストリーム506aとして出力する。レイヤー分割処理部250で生成されたビットストリーム506aは、送信部25aからゲートウェイ3に送信される。
 なお、レイヤー分割処理部250の少なくとも一部は、その機能の実現にソフトウェアが不要なハードウェア回路によって実現されてよい。また、レイヤー分割処理部250の少なくとも一部は、コンピュータがプログラムを実行することによって実現される機能ブロックであってもよい。
 図50に示されるように、本変形例に係る復号化装置31は、上述の図23に示される復号化装置31において、レイヤー合成処理部315をさらに備えるものである。レイヤー合成処理部315は、ゲートウェイ3がIoT端末2から、複数のレイヤーのデータを含むビットストリーム506aを受信する場合には、当該ビットストリーム506aに含まれる、同一サブバンドについての複数のレイヤーのデータを合成して、マルチレイヤー化されてないビットストリーム506b、つまりコードブロック単位でデータが並べられたビットストリーム506bを生成して出力する。一方で、レイヤー合成処理部315は、ゲートウェイ3がIoT端末2からマルチレイヤー化されていないビットストリーム506a(ビットストリーム506)を受信する場合と、一つのレイヤーのデータだけを含むビットストリーム506aを受信する場合には、当該ビットストリーム506aをそのままビットストリーム506bとして出力する。
 ビットストリーム解析部310は、上記と同様にして、ビットストリーム506bを解析して、当該ビットストリーム506bから、符号化データ505aと付加情報とを抽出する。符号化データ505aは、符号化データ505と同様に、フレーム画像の少なくとも一部あるいは差分画像の少なくとも一部を示す、階層符号化されたデータである。ビットストリーム解析部310は、抽出した符号化データ505aを復号化部311及びデータ処理部32に出力する。復号化部311及びデータ処理部32のそれぞれは、符号化データ505に対する処理と同様にして、符号化データ505aを処理する。なお、ゲートウェイ3がIoT端末2からマルチレイヤー化されていないビットストリーム506a(ビットストリーム506)を受信する場合には、符号化データ505aは、IoT端末2で生成される符号化データ505と一致する。
 <レイヤー分割処理部の詳細説明>
 図51はレイヤー分割処理部250の構成の一例を示す図である。図51に示されるように、レイヤー分割処理部250は、メモリ251と、レイヤー分割制御部252と、多重化部253と、優先度テーブル254とを備える。
 優先度テーブル254 は、ウェーブレット平面を構成する複数のサブバンドのそれぞれに対して設定された優先度を記憶している。各サブバンドの優先度は、当該サブバンドの分解レベルに応じて設定されている。レイヤー分割処理部250では、優先度テーブル255内の優先度に基づいて、ビットストリーム506がマルチレイヤー化される。
 レイヤー分割制御部252は、ビットストリーム生成部243で生成されるビットストリーム506をメモリ251に記憶する。レイヤー分割制御部252は、ビットストリーム506をマルチレイヤー化する場合には、メモリ251から、ビットストリーム506に含まれる符号化データ505を読み出し、読み出した符号化データ505を複数のレイヤーに分割する。そして、レイヤー分割制御部252は、複数のレイヤーのうちの少なくとも一つのレイヤーのデータを多重化部253に出力する。多重化部523は、レイヤー分割制御部252が出力するデータを多重化して、少なくとも一つのレイヤーのデータを含むビットストリーム506aを生成して出力する。
 一方で、レイヤー分割制御部252は、ビットストリーム506をマルチレイヤー化しない場合には、メモリ251からビットストリーム506を読み出してそのまま多重化部253に出力する。多重化部253は、入力されたビットストリーム506をそのままビットストリーム506aとして出力する。IoT端末2がビットストリーム506をマルチレイヤー化するか否かについては、ゲートウェイ3からの指示情報520によって指定される。
 図52は各サブバンドに設定された優先度の一例を示す図である。図52の例では、LL3サブバンドに対して優先度4が設定され、LH3サブバンド及びHL3サブバンドに対して優先度3が設定されている。また、HH3サブバンド、LH2サブバンド及びHL2サブバンドに対して優先度2が設定され、HH2サブバンド、LH1サブバンド及びHL1サブバンドに対して優先度1が設定されている。そして、HH1サブバンドに対して優先度0が設定されている。なお、各サブバンドの優先度の値は図52の例には限られない。
 レイヤー分割制御部252は、ビットストリーム506をマルチレイヤー化する場合には、符号化データ505に含まれる各コードブロックに対してビットシフト処理を行う。以下にビットシフト処理について詳細に説明する。本変形例では、説明対象のコードブロックを対象コードブロックと呼ぶ。
 レイヤー分割処理部252は、対象コードブロックに対するビットシフト処理において、まず、対象コードブロックが属するサブバンドに設定された優先度を優先度テーブル254から取得する。レイヤー分割制御部252は、対象コードブロックの各係数について、当該係数を構成するLビットのデータを、取得した優先度と同じ数のビット数だけビットシフトする。これにより、対象コードブロックに対してビットシフト処理が行われる。
 対象コードブロックが、例えばLL3サブバンドに属する場合には、レイヤー分割制御部252は、対象コードブロックの各係数について、当該係数を構成するLビットのデータを4ビットだけ同じ方向にビットシフトする。また、対象コードブロックが、例えばHH3サブバンドに属する場合には、レイヤー分割制御部252は、対象コードブロックの各係数について、当該係数を構成するLビットのデータを2ビットだけ同じ方向にビットシフトする。なお、HH1サブバンドに設定されている優先度は0であるため、HH1サブバンドに属する対象コードブロックに対してビットシフト処理が行われたとしても、対象コードブロックの各係数は実際にはビットシフトされない。以後、ビットシフト処理が行われたコードブロックをシフト処理済みコードブロックと呼ぶことがある。
 レイヤー分割制御部252は、符号化データ505に含まれる各コードブロックに対してビットシフト処理を行うと、各シフト処理済みコードブロックを複数のレイヤーに分割するレイヤー分割処理を行う。
 図53は、レイヤー分割処理の一例を説明するための図である。図53には、シフト処理済みコードブロックの係数(ビットシフトされた係数)を構成するLビット(図53の例では11ビット)のデータ5700が示されている。Lビットのデータ5700に示される0~10の番号は、当該データ570内での各ビットのビット位置を示している。0番はLSBを示し、10番はMSBを示している。
 図53に示されるように、LL3サブバンドに属するコードブロックの係数を構成するLビットのデータ5700は4ビットだけビットシフトされている。LH3サブバンド及びHL3サブバンドに属するコードブロックの係数を構成するLビットのデータ5700は3ビットだけビットシフトされている。HH3サブバンド、LH2サブバンド及びHL2サブバンドに属するコードブロックの係数を構成するLビットのデータ5700は2ビットだけビットシフトされている。HH2サブバンド、LH1サブバンド及びHL1サブバンドに属するコードブロックの係数を構成するLビットのデータ5700は1ビットだけビットシフトされている。そして、HH1サブバンドに属するコードブロックの係数を構成するLビットのデータ5700はビットシフトされていない。
 本変形例では、シフト処理済みコードブロックに関して、図53の下側に示されるように、HH1サブバンドの係数を構成するLビットのデータ5700の最下位のビット位置から、LL3サブバンドのビットシフトされた係数を構成するLビットのデータ5700の最上位のビット位置までに対して、0~14までの番号がそれぞれ割り当てられている。
 レイヤー分割制御部252は、ビットシフト処理後のコードブロックの係数を構成するLビットのデータ5700のうち、ビット位置が12番から14番までのビットをレイヤー0とし、ビット位置が9番から11番までのビットをレイヤー1とする。またレイヤー分割制御部252は、ビットシフト処理後のコードブロックの係数を構成するLビットのデータ5700のうち、ビット位置が6番から8番までのビットをレイヤー2とし、ビット位置が3番から5番までのビットをレイヤー3とする。そして、レイヤー分割制御部252は、ビットシフト処理後のコードブロックの係数を構成するLビットのデータ5700のうち、ビット位置が0番から2番までのビットをレイヤー4とする。
 以上のようにして、符号化データ505が複数のレイヤーに分割されると、レイヤー分割制御部252は、複数のレイヤーのうち、ゲートウェイ3に送信するレイヤーのデータを多重化部253に出力する。IoT端末2がゲートウェイ3に送信するレイヤーについては、ゲートウェイ3からの指示情報520によって指定される。ゲートウェイ3は、複数のレイヤーのうち、どのレイヤーのデータを送信すべきかIoT端末2に対して自由に指示することができる。多重化部253は、レイヤー分割制御部252からのデータを多重化して、ゲートウェイ3に送信するレイヤーのデータを含むビットストリーム506aを生成する。なお、Lビットのデータ5700を複数のレイヤーに分割する方法は図53の例には限られない。
 <レイヤー合成処理部の詳細説明>
 図54はレイヤー合成処理部315の構成の一例を示す図である。図54に示されるように、レイヤー合成処理部315は、メモリ316及びレイヤー合成制御部317を備える。
 レイヤー合成制御部317は、IoT端末2からのビットストリーム506aをメモリ316に記憶する。また、レイヤー合成制御部317は、ゲートウェイ3が受信したビットストリーム506aがマルチレイヤー化されてない場合には、当該ビットストリーム506aをそのままビットストリーム506bとして出力する。また、レイヤー合成制御部317は、ゲートウェイ3が受信したビットストリーム506aがマルチレイヤー化されている場合であって、当該ビットストリーム506aに一つのレイヤーのデータしか含まれていない場には、当該ビットストリーム506aをそのままビットストリーム506bとして出力する。
 一方で、レイヤー合成制御部317は、ゲートウェイ3が受信したビットストリーム506aがマルチレイヤー化されている場合であって、当該ビットストリーム506aに複数のレイヤーのデータが含まれている場合には、同じサブバンドについての複数のレイヤーのデータを合成して、マルチレイヤー化されてないビットストリーム506b(ビットストリーム506のように、コードブロック単位でデータが並べられたビットストリーム506b)を生成して出力する。
 <本変形例に係る画像処理システムの動作例>
 次に、ビットストリーム506がマルチレイヤー化される場合の本変形例に係る画像処理システム4全体での動作例について説明する。ここでは、特に断らない限り、コードブロックと言えば、量子化差分ウェーブレット平面のコードブロックを意味する。
 ゲートウェイ3は、対象フレーム画像に対する処理が開始すると、例えば、量子化差分ウェーブレット平面のLL3サブバンドの各コードブロックのレイヤー0のデータを指定データとして指示情報520を送信する。この指示情報520を受け取ったIoT端末2は、LL3サブバンドの各コードブロックを送信対象データ503として符号化データ504を生成する。そして、IoT端末2では、レイヤー分割処理部250が、符号化データ505を含むビットストリーム506をマルチレイヤー化して、LL3サブバンドの各コードブロックのレイヤー0のデータを生成する。そして、レイヤー分割処理部250は、LL3サブバンドの各コードブロックのレイヤー0のデータを含むビットストリーム506aを生成してゲートウェイ3に送信する。
 ゲートウェイ3では、レイヤー合成処理部315は、IoT端末2から受け取ったビットストリーム506aをそのままビットストリーム506bとして出力する。その後、ゲートウェイ3は、ビットストリーム506bに含まれる、LL3サブバンドの各係数のデータ(レイヤー0)が、Lビット(L=11)のデータとなるように、当該各係数のデータに対して、8個の0を下位ビットとして追加する(上述の図47,48参照)。これにより、各コードブロックの係数がLビットのデータで構成されたLL3サブバンドが得られる。ゲートウェイ3は、得られたLL3サブバンドの各コードブロックから、それに対応する非差分CBを復元し、復元した非差分CBを認識用データ522とする。ゲートウェイ3は認識用データ522に対して画像認識処理を行う。
 ゲートウェイ3が検出対象物を検出すると、対象フレーム画像に対する処理が終了する。一方で、ゲートウェイ3は、検出対象物を検出しない場合には、LL2サブバンドを処理対象とするために、LH3サブバンド、HL3サブバンド及びHH3サブバンドの各コードブロックのレイヤー0及び1のデータと、LL3サブバンドの各コードブロックのレイヤー1のデータとを指定データとして指示情報520を送信する。この指示情報520を受け取ったIoT端末2は、LL3サブバンド、LH3サブバンド、HL3サブバンド及びHH3サブバンドの各コードブロックを送信対象コードブロックとして符号化データ505を生成する。そして、IoT端末2では、レイヤー分割処理部250が、符号化データ505を含むビットストリーム506をマルチレイヤー化して、LH3サブバンド、HL3サブバンド及びHH3サブバンドの各コードブロックのレイヤー0及び1のデータと、LL3サブバンドの各コードブロックのレイヤー1のデータとを生成する。そして、レイヤー分割処理部250は、LH3サブバンド、HL3サブバンド及びHH3サブバンドの各コードブロックのレイヤー0及び1のデータと、LL3サブバンドの各コードブロックのレイヤー1のデータとを含むビットストリーム506aを生成してゲートウェイ3に送信する。IoT端末2は、マルチレイヤー化されたビットストリーム506aを送信する場合には、上位のレイヤーのデータから順に送信する。ここでは、IoT端末2は、LH3サブバンド、HL3サブバンド及びHH3サブバンドのレイヤー0のデータを送信した後に、LL3サブバンド、LH3サブバンド、HL3サブバンド及びHH3サブバンドのレイヤー1のデータを送信する。
 ゲートウェイ3では、レイヤー合成処理部315のレイヤー合成制御部317は、IoT端末2から受け取ったビットストリーム506aをメモリ316に記憶する。そして、レイヤー合成制御部317は、メモリ316から、同一サブバンドの複数のレイヤーのデータを読み出して合成して、シングルレイヤー化されたビットストリーム506bを生成する。
 具体的には、レイヤー合成制御部317は、メモリ316から、LH3サブバンドのレイヤー0及び1のデータを読み出す。そして、レイヤー合成制御部317は、読み出した、LH3サブバンドのレイヤー0及び1のデータを合成して、コードブロック単位でデータが並ぶ、LH3サブバンドにおける、IoT端末2が送信したデータを生成する。以後、このデータを、シングルレイヤー化されたLH3サブバンドのデータと呼ぶ。
 同様に、レイヤー合成制御部317は、メモリ316から、HL3サブバンドのレイヤー0及び1のデータを読み出す。そして、レイヤー合成制御部317は、読み出した、HL3サブバンドのレイヤー0及び1のデータを合成して、コードブロック単位でデータが並ぶ、HL3サブバンドにおける、IoT端末2が送信したデータを生成する。以後、このデータを、シングルレイヤー化されたHL3サブバンドのデータと呼ぶ。
 同様に、レイヤー合成制御部317は、メモリ316から、HH3サブバンドのレイヤー0及び1のデータを読み出す。そして、レイヤー合成制御部317は、読み出した、HH3サブバンドのレイヤー0及び1のデータを合成して、コードブロック単位でデータが並ぶ、HH3サブバンドにおける、IoT端末2が送信したデータを生成する。以後、このデータを、シングルレイヤー化されたHH3サブバンドのデータと呼ぶ。
 そして、レイヤー合成制御部317は、シングルレイヤー化されたLH3サブバンドのデータと、シングルレイヤー化されたHL3サブバンドのデータと、シングルレイヤー化されたHH3サブバンドのデータと、LL3サブバンドの各コードブロックのレイヤー1のデータとを含むビットストリーム506bを生成する。このビットストリーム506bでは、コードブロック単位でデータが並んでいる。
 このように、ゲートウェイ3は、シングルレイヤー化されたビットストリーム506bを生成することから、IoT端末2から、マルチレイヤー化されたビットストリーム506aが送信される場合であっても、マルチレイヤー化されていないビットストリーム506aが送信される場合であっても、同じ構成の復号化部311を使用することができる。よって、ゲートウェイ3の構成を簡素化することができる。
 次にゲートウェイ3は、ビットストリーム506bに含まれる、LH3サブバンド、HL3サブバンド及びHH3サブバンドの各係数のデータが、Lビットのデータとなるように、当該各係数のデータに対して、必要な数だけ0を下位ビットとして追加する(上述の図47,48参照)。これにより、各コードブロックの係数がLビットのデータで構成されたLH3サブバンド、HL3サブバンド及びHH3サブバンドが得られる。また、ゲートウェイ3は、すでに取得している、LL3サブバンドのレイヤー0のデータと、ビットストリーム506bに含まれる、LL3サブバンドLL3のレイヤー1のデータとを合成して、各コードブロックの各係数が6ビットのデータ(レイヤー0の3ビット+レイヤー1の3ビット)から成るLL3サブバンドを生成する。そして、ゲートウェイ3は、生成したLL3サブバンドに含まれる各係数のデータが、Lビット(L=11)のデータとなるように、当該各係数のデータに対して5つだけ0を下位ビットとして追加する。これにより、各コードブロックの係数がLビットのデータで構成されたLL3サブバンドが得られる。ゲートウェイ3は、得られたLL3サブバンド、LH3サブバンド、HL3サブバンド及びHH3サブバンドの各コードブロックから、それに対応する非差分CBを復元し、復元した非差分CBから成る逆変換対象データ522を逆ウェーブレット変換する。これにより、LL2サブバンドの各コードブロックに対応する非差分CBが生成される。ゲートウェイ3は、生成した非差分CBを認識用データ522として画像認識処理を行う。
 ここで、逆変換対象データ522を逆ウェーブレット変換した場合には、それによって生成されるデータが示す画像にひずみが発生し、当該画像の品質が劣化する可能性がある。本変形例では、逆ウェーブレット変換を使用してLL2サブバンドのデータを生成する際に、レイヤー0のデータだけではなく、レイヤー1のデータも使用していることから、レイヤー0のデータだけを使用する場合と比較して、逆ウェーブレット変換によって生成されたデータが示す画像の品質を向上することができる。なお、レイヤー0のデータだけを使用して逆ウェーブレット変換してもよい。また、レイヤー0~3のデータを使用して逆ウェーブレット変換してもよいし、レイヤー0~4のデータを使用して逆ウェーブレット変換してもよい。
 ゲートウェイ3が画像認識処理を行った結果、検出対象物が検出されると、対象フレーム画像に対する処理が終了する。一方で、ゲートウェイ3は、検出対象物を検出しない場合には、LL1サブバンドを処理対象とするために、LH2サブバンド及びHL2サブバンドの各コードブロックのレイヤー0及び1のデータと、HH2サブバンドの各コードブロックのレイヤー1のデータ(HH2サブバンドにはレイヤー0のデータは存在しない)とを指定データとして指示情報520を送信する。この指示情報520を受け取ったIoT端末2は、LH2サブバンド、HL2サブバンド及びHH2サブバンドの各コードブロックを送信対象コードブロックとして符号化データ505を生成する。そして、IoT端末2では、レイヤー分割処理部250が、符号化データ505を含むビットストリーム506をマルチレイヤー化して、LH2サブバンド及びHL2サブバンドの各コードブロックのレイヤー0及び1のデータと、HH2サブバンドの各コードブロックのレイヤー1のデータとを生成する。そして、レイヤー分割処理部250は、LH2サブバンド及びHL2サブバンドの各コードブロックのレイヤー0及び1のデータと、HH2サブバンドの各コードブロックのレイヤー1のデータとを含むビットストリーム506aを生成してゲートウェイ3に送信する。このとき、IoT端末2は、LH2サブバンド及びHL2サブバンドのレイヤー0のデータを送信した後に、LH2サブバンド、HL2サブバンド及びHH2サブバンドのレイヤー1のデータを送信する。
 ゲートウェイ3では、レイヤー合成制御部317は、IoT端末2から受け取ったビットストリーム506aをメモリ316に記憶する。そして、レイヤー合成制御部317は、メモリ316から、同一サブバンドの複数のレイヤーのデータを読み出して合成して、シングルレイヤー化されたビットストリーム506bを生成する。
 具体的には、レイヤー合成制御部317は、メモリ316から、LH2サブバンドのレイヤー0及び1のデータを読み出す。そして、レイヤー合成制御部317は、読み出した、LH2サブバンドのレイヤー0及び1のデータを合成して、コードブロック単位でデータが並ぶ、LH2サブバンドにおける、IoT端末2が送信したデータを生成する。以後、このデータを、シングルレイヤー化されたLH2サブバンドのデータと呼ぶ。
 同様に、レイヤー合成制御部317は、メモリ316から、HL2サブバンドのレイヤー0及び1のデータを読み出す。そして、レイヤー合成制御部317は、読み出した、HL2サブバンドのレイヤー0及び1のデータを合成して、コードブロック単位でデータが並ぶ、HL2サブバンドにおける、IoT端末2が送信したデータを生成する。以後、このデータを、シングルレイヤー化されたHL2サブバンドのデータと呼ぶ。
 そして、レイヤー合成制御部317は、シングルレイヤー化されたLH2サブバンドのデータと、シングルレイヤー化されたHL2サブバンドのデータと、HH2サブバンドの各コードブロックのレイヤー1のデータとを含むビットストリーム506bを生成する。このビットストリーム506bでは、コードブロック単位でデータが並んでいる。
 次にゲートウェイ3は、ビットストリーム506bに含まれる、サブバンドLH2,HL2,HH2の各係数のデータが、Lビットのデータとなるように、当該各係数のデータに対して、必要な数だけ0を下位ビットとして追加する(上述の図47,48参照)。これにより、各コードブロックの係数がLビットのデータで構成されたLH2サブバンド、HL2サブバンド及びHH2サブバンドが得られる。そして、ゲートウェイ3は、得られたLH2サブバンド、HL2サブバンド及びHH2サブバンドの各コードブロックから、それに対応する非差分CBを復元する。
 次にゲートウェイ3は、復元した非差分CBと、すでに取得している、LL2サブバンドの各コードブロックに対応する非差分CBとから成る逆変換対象データ522に対して逆ウェーブレット変換を行う。これより、LL1サブバンドの各コードブロックに対応する非差分CBが生成される。ゲートウェイ3は、逆ウェーブレット変換によって得られた非差分CBを認識用データ522として画像認識処理を行う。その後、対象フレーム画像に対する処理が終了する。
 このように、本変形例に係る画像処理システム4では、IoT端末2がレイヤー単位でデータを送信することができることから、IoT端末2の消費電力を低減することができる。
 なお、ビットストリーム506がマルチレイヤー化される場合の画像処理システム4の動作は上記の例には限られない。例えば、ゲートウェイ3は、上述のCB対応関係情報を使用して指定データを決定してもよい。
 <その他の変形例>
 上記の各例では、情報処理システム1は、IoTシステムとして使用されているが、他のシステムとして使用されてもよい。
 また上記の各例では、JPEG2000に基づいてデータを階層化しているが、JPEG2000でのサブバンド分割と同様にしてデータを階層化する他の規格に基づいてデータを階層化してもよい。
 以上のように、情報処理システム1、画像処理システム4及び画像処理装置2,3は詳細に説明されたが、上記した説明は、全ての局面において例示であって、この発明がそれに限定されるものではない。また、上述した各種変形例は、相互に矛盾しない限り組み合わせて適用可能である。そして、例示されていない無数の変形例が、この発明の範囲から外れることなく想定され得るものと解される。
 1 情報処理システム
 2 画像処理装置(IoT端末)
 3 画像処理装置(ゲートウェイ)
 4 画像処理システム
 22 階層化部
 23 差分生成部
 25a,30b 送信部
 26 決定部
 28,226 動き補正部
 30a 受信部
 33 画像認識部
 240 符号化部
 311 復号化部
 321 第1処理部
 326 復元部

Claims (24)

  1.  フレーム画像を示す階層化された階層化データを生成する第1生成部と、
     2つのフレーム画像についての前記階層化データの差分を示す差分階層化データを生成する第2生成部と、
     前記差分階層化データのうち、その値の絶対値がしきい値以上あるいは当該しきい値よりも大きい第1データに基づいて、前記差分階層化データから送信対象データを決定する第1決定部と、
     前記送信対象データを圧縮符号化して符号化データを生成する符号化部と、
     前記符号化データを送信する第1送信部と
    を備える画像処理装置。
  2.  請求項1に記載の画像処理装置であって、
     前記第2生成部は、前記2つのフレーム画像についての量子化後の前記階層化データの差分を示す前記差分階層化データを生成する、画像処理装置。
  3.  請求項1及び請求項2のいずれか一つに記載の画像処理装置であって、
     前記第1決定部は、前記送信部から送信される前記符号化データを受信し、受信した当該符号化データに基づいて処理を行う装置からの指示情報と前記第1データとに基づいて、前記送信対象データを決定する、画像処理装置。
  4.  請求項1乃至請求項3のいずれか一つに記載の画像処理装置であって、
     前記第1決定部は、前記差分階層化データに基づいて、前記第1データを特定するためのマスクデータを生成し、前記マスクデータに基づいて、前記送信対象データを決定する、画像処理装置。
  5.  請求項4に記載の画像処理装置であって、
     前記階層化データは、ウェーブレット変換されたデータであって、
     前記階層化データは、複数の分解レベルのそれぞれについて、複数のサブバンドを含み、
     前記マスクデータには、サブバンドにおいて、その値の絶対値が前記しきい値以上あるいは当該しきい値よりも大きい第2データを特定するためのサブバンドマスクデータが含まれ、
     前記第1決定部は、各分解レベルについて、当該分解レベルの複数のサブバンドに共通の前記サブバンドマスクデータを生成する、画像処理装置。
  6.  請求項1乃至請求項5のいずれか一つに記載の画像処理装置であって、
     前記フレーム画像を示す画像データに対して、前記フレーム画像を撮影するカメラの位置の変化による影響を補正する補正処理を行う補正部をさらに備え、
     前記第1生成部は、前記補正処理が行われた前記画像データに基づいて、前記階層化データを生成する、画像処理装置。
  7.  請求項1乃至請求項5のいずれか一つに記載の画像処理装置であって、
     前記階層化データに対して、前記フレーム画像を撮影するカメラの位置の変化による影響を補正する補正処理を行う補正部をさらに備え、
     前記第2生成部は、前記補正処理が行われた、前記2つのフレーム画像についての前記階層化データの差分を示す前記差分階層化データを生成する、画像処理装置。
  8.  請求項1乃至請求項7のいずれか一つに記載の画像処理装置であって、
     前記第1決定部は、前記差分階層化データ及び前記階層化データから前記送信対象データを決定する、画像処理装置。
  9.  請求項8に記載の画像処理装置であって、
     前記第1決定部は、
     前記第1データに基づいて、前記送信対象データに含められる候補となる第1候補データを前記差分階層化データから決定し、
     前記第1候補データのデータ量が、前記階層化データにおける、当該第1候補データに対応する第2候補データのデータ量よりも小さい場合、前記第1候補データを前記送信対象データに含め、
     前記第2候補データのデータ量が前記第1候補データのデータ量よりも小さい場合、前記第2候補データを前記送信対象データに含める、画像処理装置。
  10.  請求項1乃至請求項9のいずれか一つに記載の画像処理装置であって、
     前記送信部は、パケット化されていない前記符号化データを送信する、画像処理装置。
  11.  請求項1乃至請求項10のいずれか一つに記載の画像処理装置であって、
     前記送信部から送信される前記符号化データは、当該符号化データに基づいて処理を行う装置で受信され、
     前記送信対象データに含まれる、画素に対応する値を構成する複数のビットを最上位から見た場合に初めて1が現れるビット位置よりも1ビットだけ上位のビット位置を第1ビット位置とし、当該第1ビット位置から前記所定の処理に応じたビット数だけ下位のビット位置を第2ビット位置とした場合に、前記符号化部は、前記複数のビットのうち、前記最上位から前記第2ビット位置までのビットを圧縮符号化し、当該複数のビットの他のビットを圧縮符号化しない、画像処理装置。
  12.  請求項1乃至請求項11のいずれか一つに記載の画像処理装置である第1装置と通信する第2装置である画像処理装置であって、
     前記第1装置から送信される前記符号化データを受信する受信部と、
     前記符号化データに基づいて処理を行う処理部と
    を備える、画像処理装置。
  13.  請求項12に記載の画像処理装置であって、
     前記処理部は、
     前記符号化データに伸張復号化を行って、前記差分階層化データに含まれるデータである差分データを復元する復号化部と、
     前記差分データと、前記2つのフレーム画像のうちの一方についての前記階層化データに含まれる、当該差分データに対応するデータである第1非差分データとに基づいて、前記2つのフレーム画像のうちの他方についての前記階層化データに含まれる、当該差分データに対応する第2非差分データを復元する復元部と
    を有する、画像処理装置。
  14.  請求項13に記載の画像処理装置であって、
     前記処理部は、前記第2非差分データに基づく画像に対する画像認識処理を行う画像認識部をさらに有する、画像処理装置。
  15.  請求項8及び請求項9のいずれか一つに記載の画像処理装置である第1装置と通信する第2装置である画像処理装置であって、
     前記第1装置から送信される前記符号化データを受信する受信部と、
     前記符号化データに基づいて処理を行う処理部と
    を備え、
     前記処理部は、
     前記符号化データに伸張復号化を行う復号化部と、
     前記伸張復号化によって復元される、前記差分階層化データに含まれるデータである差分データと、前記2つのフレーム画像のうちの一方についての前記階層化データに含まれる、当該差分データに対応するデータである第1非差分データとに基づいて、前記2つのフレーム画像のうちの他方についての前記階層化データに含まれる、当該差分データに対応する第2非差分データを復元する復元部と
    を有し、
     前記処理部は、前記伸張復号化によって復元される、前記階層化データに含まれるデータである第3非差分データと、前記第2非差分データとに基づいて処理を行う、画像処理装置。
  16.  請求項15に記載の画像処理装置であって、
     前記処理部は、前記第2及び第3非差分データに基づく画像に対して画像認識処理を行う、画像処理装置。
  17.  請求項3に記載の画像処理装置である第1装置と通信する第2装置である画像処理装置であって、
     前記第1装置から送信される前記符号化データを受信する受信部と、
     前記符号化データに基づいて処理を行う処理部と、
     前記処理部での処理の結果に基づいて、前記第1装置が送信すべきデータを当該第1装置に指示するための指示情報を生成する第3生成部と、
     前記指示情報を前記第1装置に送信する第2送信部と
    を備え、
     前記第1装置は、前記指示情報に基づいて、前記送信対象データを決定する、画像処理装置。
  18.  請求項11に記載の画像処理装置である第1装置と通信する第2装置である画像処理装置であって、
     前記第1装置から送信される前記符号化データを受信する受信部と、
     前記符号化データに基づいて処理を行う処理部と、
     前記処理部での処理に応じて、前記第2ビット位置を決める前記ビット数を決定する第2決定部と
    を備える、画像処理装置。
  19.  請求項12乃至請求項18のいずれか一つに記載の画像処理装置であって、
     前記第2装置は、前記処理部での処理の結果を送信する、画像処理装置。
  20.  請求項1乃至請求項11のいずれか一つに記載の画像処理装置である第1装置と、
     請求項12乃至請求項19のいずれか一つに記載の画像処理装置である第2装置と
    を備える、画像処理システム。
  21.  請求項20に記載の画像処理システムと、
     前記画像処理システムの前記第2装置から、前記処理部での処理の結果を受け取る第3装置と
    備える、情報処理システム。
  22.  請求項21に記載の情報処理システムであって、
     前記第1及び第2装置は、ローカルネットワークで接続され、
     前記第2及び第3装置は、インターネットで接続されている、情報処理システム。
  23.  請求項22に記載の情報処理システムであって、
     前記第2装置には複数の前記第1装置が前記ローカルネットワークで接続されている、情報処理システム。
  24.  画像処理装置での画像処理方法であって、
     フレーム画像を示す階層化された階層化データを生成する工程と、
     2つのフレーム画像についての前記階層化データの差分を示す差分階層化データを生成する工程と、
     前記差分階層化データのうち、その値の絶対値がしきい値以上あるいは当該しきい値よりも大きいデータに基づいて、前記差分階層化データから送信対象データを決定する工程と、
     前記送信対象データを圧縮符号化して符号化データを生成する工程と、
     前記符号化データを送信する工程と
    を備える画像処理方法。
PCT/JP2018/014285 2017-04-14 2018-04-03 画像処理装置、画像処理システム、情報処理システム及び画像処理方法 WO2018190199A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-080747 2017-04-14
JP2017080747A JP2018182569A (ja) 2017-04-14 2017-04-14 画像処理装置、画像処理システム、情報処理システム及び画像処理方法

Publications (1)

Publication Number Publication Date
WO2018190199A1 true WO2018190199A1 (ja) 2018-10-18

Family

ID=63793374

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/014285 WO2018190199A1 (ja) 2017-04-14 2018-04-03 画像処理装置、画像処理システム、情報処理システム及び画像処理方法

Country Status (2)

Country Link
JP (1) JP2018182569A (ja)
WO (1) WO2018190199A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109584186A (zh) * 2018-12-25 2019-04-05 西北工业大学 一种无人机机载图像去雾方法和装置
CN113485623B (zh) * 2021-09-07 2021-12-07 成都国星宇航科技有限公司 一种可实现多维度对比的图像显示方法、装置及终端
CN114264010A (zh) * 2021-12-15 2022-04-01 重庆海润节能技术股份有限公司 一种融合物联网实现负压病房单元智能化管理平台

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11037968B2 (en) * 2019-04-05 2021-06-15 Waymo Llc Image sensor architecture
EP3985957B1 (en) * 2020-10-14 2022-11-30 Axis AB Method and system for motion segmentation

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999049412A1 (en) * 1998-03-20 1999-09-30 University Of Maryland Method and apparatus for compressing and decompressing images
JP2001127990A (ja) * 1999-11-01 2001-05-11 Mega Chips Corp 情報通信システム
JP2002027466A (ja) * 2000-07-13 2002-01-25 Matsushita Electric Ind Co Ltd 符号化領域補正装置及び符号化装置
JP2004194030A (ja) * 2002-12-12 2004-07-08 Ricoh Co Ltd 画像処理装置、画像処理方法、プログラム及び記録媒体
JP2007104645A (ja) * 2005-09-06 2007-04-19 Megachips Lsi Solutions Inc 圧縮符号化装置、圧縮符号化方法およびプログラム
US20120106644A1 (en) * 2010-10-29 2012-05-03 Canon Kabushiki Kaisha Reference frame for video encoding and decoding
JP2015005821A (ja) * 2013-06-19 2015-01-08 富士通セミコンダクター株式会社 画像送信装置、画像伝送システム、画像送信方法および画像送信プログラム
JP2015192321A (ja) * 2014-03-28 2015-11-02 株式会社メガチップス 画像復号化装置および画像復号化方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999049412A1 (en) * 1998-03-20 1999-09-30 University Of Maryland Method and apparatus for compressing and decompressing images
JP2001127990A (ja) * 1999-11-01 2001-05-11 Mega Chips Corp 情報通信システム
JP2002027466A (ja) * 2000-07-13 2002-01-25 Matsushita Electric Ind Co Ltd 符号化領域補正装置及び符号化装置
JP2004194030A (ja) * 2002-12-12 2004-07-08 Ricoh Co Ltd 画像処理装置、画像処理方法、プログラム及び記録媒体
JP2007104645A (ja) * 2005-09-06 2007-04-19 Megachips Lsi Solutions Inc 圧縮符号化装置、圧縮符号化方法およびプログラム
US20120106644A1 (en) * 2010-10-29 2012-05-03 Canon Kabushiki Kaisha Reference frame for video encoding and decoding
JP2015005821A (ja) * 2013-06-19 2015-01-08 富士通セミコンダクター株式会社 画像送信装置、画像伝送システム、画像送信方法および画像送信プログラム
JP2015192321A (ja) * 2014-03-28 2015-11-02 株式会社メガチップス 画像復号化装置および画像復号化方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109584186A (zh) * 2018-12-25 2019-04-05 西北工业大学 一种无人机机载图像去雾方法和装置
CN113485623B (zh) * 2021-09-07 2021-12-07 成都国星宇航科技有限公司 一种可实现多维度对比的图像显示方法、装置及终端
CN114264010A (zh) * 2021-12-15 2022-04-01 重庆海润节能技术股份有限公司 一种融合物联网实现负压病房单元智能化管理平台
CN114264010B (zh) * 2021-12-15 2023-09-19 重庆海润节能技术股份有限公司 一种融合物联网实现负压病房单元智能化管理平台

Also Published As

Publication number Publication date
JP2018182569A (ja) 2018-11-15

Similar Documents

Publication Publication Date Title
WO2018190199A1 (ja) 画像処理装置、画像処理システム、情報処理システム及び画像処理方法
Zhao et al. Multiple description convolutional neural networks for image compression
JP5389172B2 (ja) 深度画像を再構成する方法および深度画像を再構成する復号器
JP4365957B2 (ja) 画像処理方法及びその装置及び記憶媒体
JP2006014121A (ja) 画像符号化方法、画像符号化装置および撮像装置
KR20010033797A (ko) 스케일 가능한 계층적 움직임 추정을 실행하는 장치 및방법
JP2006246473A (ja) 色空間スケーラブルビデオコーディング及びデコーディング方法、並びにその装置
JP2003504987A (ja) ビデオシーケンスを圧縮する符号化方法
JP2000504911A (ja) ファクシミリ準拠画像圧縮法およびシステム
CN108881913B (zh) 图像编码的方法和装置
JP2015501604A (ja) 知覚的に無損失のおよび知覚的に強調された画像圧縮システムならびに方法
Tausif et al. FrWF-based LMBTC: Memory-efficient image coding for visual sensors
JP2003502889A (ja) 画像データを処理するための方法およびシステム
Aulí-Llinàs et al. Lossy-to-lossless 3D image coding through prior coefficient lookup tables
Koya et al. Analysis of application of arithmetic coding on dct and dct-dwt hybrid transforms of images for compression
Rawat et al. Survey paper on image compression techniques
Galan-Hernandez et al. Wavelet-based frame video coding algorithms using fovea and SPECK
Clarke Image and video compression: a survey
WO2018190198A1 (ja) 画像処理装置、画像処理システム、情報処理システム及び画像処理方法
Yin et al. A co-prediction-based compression scheme for correlated images
KR101421231B1 (ko) 웨이블릿 변환을 이용한 영상 압축 장치
Zhang et al. Scalable Point Cloud Attribute Compression
US20240129487A1 (en) Keypoints based video compression
Fazli et al. JPEG2000 image compression using SVM and DWT
Déforges et al. The RWHT+ P for an improved lossless multiresolution coding

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18783912

Country of ref document: EP

Kind code of ref document: A1