is a weight held in the neural network, and differs from the weight used at the convolution layer 1001. Also, p3 is the plane number of IG4 and 1≤p3≤3. Note that as for IT(x+s, y+t, p2) in the above equation, in a case where the referred position is outside the image (e.g., IT(?1, ?1, 1) or the like), the operation is performed with 0 as the pixel value. By the above operation, the deconvolution layer 1004 outputs a 256×256×3 image.
The process in the activation layer 1005 is similar to that of the activation layer 405.
By the above process, the 256×256×4 CMYK input image is converted into a 256×256×3 RGB image.
<Configuration of Learning Unit 903>
The learning unit 903, which learns the internal parameters of the image estimation processing unit 902, will be described below. In the present embodiment, as in embodiment 1, the learning unit 903 learns the internal parameters of the image estimation processing unit 902 by using a GAN framework. The input data is a learning input image data set prepared as a database for learning in advance, including 4-plane 1-bit image data corresponding to CMYK image data obtained by performing halftoning on multi-tone image data. Also, the correct data is a scanned image data set including 8-bit image data corresponding to RGB image data obtained by printing the learning input image data set with the modeling-target printer and print medium and reading each printing result with the scanner. In the present embodiment, unlike embodiment 1, intermediate data is not used in the learning. That is, the image estimation processing unit 902 in the present embodiment learns the estimation of scanned image data from input image data directly via a single neural network.