Information processing device, method for controlling information processing device and program
The information processing apparatus addresses the challenge of proving the legality of input data for machine learning-generated content by generating and attaching machine learning information, ensuring copyright compliance.
Patent Information
- Application Number
- JP2024005381
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-01-17
- Publication Date
- 2025-07-30
AI Technical Summary
Existing systems fail to prove that input data for machine learning-based content generation does not infringe on copyright, leading to potential legal issues.
An information processing apparatus with a generation means to create content using a learned model of machine learning and an attachment means to add machine learning information to the generated content, ensuring the provenance and legality of the input data.
Proves that the input data for content generated using machine learning is not illegal, thereby preventing copyright issues and ensuring legal compliance.
Smart Images

Figure 2025111152000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an information processing apparatus, a control method for the information processing apparatus, and a program.
Background Art
[0002] In recent years, services that use machine learning to provide functions for editing or generating various types of content such as images have been spreading. For example, a service for learning the painting style of an image is known. In this service, by inputting characters or images as input data into a trained model, an image following that painting style can be output as output data. In this case, if, for example, an image whose copyright protection period has expired, such as a famous painting drawn by Monet or Gogh, or an image whose copyright is provided under a free use agreement, is used as the input data, no copyright problems will occur. On the other hand, for example, if data protected by copyright is used without permission as the input data, copyright problems will occur. In such a situation, there is a need to prove that the data generated by machine learning is data obtained with data that has no copyright problems as the input data.
[0003] And, for example, Non-Patent Document 1 discloses that in order to authenticate the origin, background, and history of image data, metadata indicating the editing content performed on the image data is attached to the image data.
Prior Art Documents
Non-Patent Documents
[0004]
Non-Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0005] However, in the configuration disclosed in Non-Patent Document 1, although it is possible to show the information of the starting image data used for generating the image data, there is a problem that it is impossible to prove that the starting image data is not illegal data that may cause copyright problems, for example.
[0006] The present invention has been made in view of the above problems. An object of the present invention is to provide an information processing apparatus capable of proving that the input data of a learning model of machine learning used for generating content is not illegal data that may cause copyright problems, for example, for content generated using machine learning.
Means for Solving the Problems
[0007] In order to achieve the above object, the information processing apparatus of the present invention is characterized by comprising: a generation means for generating output data output from a learned model of machine learning as content; and an attachment means for attaching machine learning information regarding the learned model of the machine learning to the generated content.
Effects of the Invention
[0008] According to the present invention, for content generated using machine learning, it can be proven that the input data of the learning model of the machine learning used for generating the content is not illegal data that may cause, for example, copyright problems.
Brief Description of the Drawings
[0009]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5A
Figure 5B
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Embodiments for Carrying Out the Invention
[0010] <> Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. However, the configurations described in the following embodiments are merely examples, and the scope of the present invention is not limited by the configurations described in the embodiments. For example, each part constituting the present invention can be replaced with any configuration that can exhibit the same function. Also, any components may be added.
[0011] <External Appearance Configuration of Digital Camera> FIG. 1 is an external perspective view of a digital camera. FIG. 1(a) is a front perspective view of the digital camera. FIG. 1(b) is a rear perspective view of the digital camera. As shown in FIG. 1(a), a digital camera (imaging device) 100 has a camera body 11. The digital camera 100 has a communication terminal 10, a terminal cover 40, an external finder display unit 43, a mode switch 60, a shutter button 61, a main electronic dial 71, a power switch 72, a sub-electronic dial 73, and a video button 76 provided on the camera body 11. Also, the digital camera 100 has a grip portion 90, a speaker 92, and a light emitting portion 102 provided on the camera body 11. The communication terminal 10 is a terminal for communicating with a lens unit 150 described later. The external finder display unit 43 is provided on the upper surface of the camera body 11 and displays various setting values such as, for example, shutter speed and aperture. The shutter button 61 is an operation member for giving a shooting instruction. The mode switch 60 is an operation member for switching various modes such as shooting modes. The terminal cover 40 is a cover for protecting a connector (not shown) for connecting the digital camera 100 and an external device, such as a connection cable. The main electronic dial 71 can change setting values such as, for example, shutter speed and aperture by a rotational operation. The power switch 72 is an operation member for switching the power of the digital camera 100 on and off. The sub-electronic dial 73 can perform operations such as moving a selection frame (cursor) and advancing an image by a rotational operation. The video button 76 is used for instructing the start and stop of video shooting (recording).
[0012] As shown in FIG. 1(b), the digital camera 100 includes an eyepiece portion 16, an eyepiece finder 17 (hereinafter sometimes simply referred to as "finder") provided on the camera body 11, a display unit 28, and an eyepiece detection unit 57. The digital camera 100 also includes a four-way key 74, a SET button 75, an AE lock button 77, a zoom button 78, a playback button 79, a menu button 81, a touch bar 82, a thumb rest portion 91, and a lid 202 provided on the camera body 11. The eyepiece portion 16 is placed against the eye when looking into the eyepiece finder 17 (a viewfinder of the looking-in type). The user can view the video displayed on the internal EVF (Electronic View Finder) 29 through the eyepiece portion 16. The eyepiece detection unit 57 is a sensor that detects whether or not a user (a photographer) is looking into the eyepiece portion 16. The display unit 28 is provided on the back of the camera body 11 and displays, for example, images and various information. A touch panel 70a is built into the display unit 28. The touch panel 70a can detect touch operations on the display surface (touch operation surface) of the display unit 28.
[0013] The four-way key 74 is configured such that its upper, lower, left, and right portions can each be pushed in, enabling processing according to the pushing of each portion. The SET button 75 is configured to be pushable and is mainly used for determining selected items, etc. The AE lock button 77 is configured to be pushable, and its exposed state can be fixed by a pushing operation. The zoom button 78 is an operation member for switching between ON and OFF of the zoom mode in the live view display (LV display) of the shooting mode. By operating the main electronic dial 71 after setting the zoom mode to the ON state, the live view image (LV image) can be enlarged or reduced. The zoom button 78 also functions as an operation member for enlarging the playback image in the playback mode or increasing its magnification. The playback button 79 is an operation member for switching between the shooting mode and the playback mode. By pressing the playback button 79 during the shooting mode, the device shifts to the playback mode, and the latest image among the images recorded on the recording medium 200 described later can be displayed on the display unit 28. The menu button 81 is configured to be pushable and is used to perform an instruction operation for displaying a menu screen. By pushing the menu button 81, a menu screen enabling various settings is displayed on the display unit 28. The user can intuitively perform various settings using the menu screen displayed on the display unit 28, the four-way key 74, and the SET button 75.
[0014] The touch bar 82 is a linear multi-function bar (M-Fn bar) capable of receiving touch operations. The touch bar 82 is positioned at a location where it can be touched (touched) with the right thumb in a state where the grip portion 90 is held with the right hand (a state where it is held with the right little finger, ring finger, and middle finger) so that the shutter button 61 can be pressed with the right index finger. That is, the touch bar 82 is arranged at an operable position in a state (shooting posture) where one looks through the viewfinder with the eye in contact with the eyepiece portion 16 and can press the shutter button 61 at an arbitrary timing. The touch bar 82 can receive tap operations (operations of touching and releasing without moving within a predetermined period) on the touch bar 82, slide operations to the left and right (operations of moving the touch position while keeping the touch after touching), and the like. Unlike the touch panel 70a, the touch bar 82 does not have a display function. The grip portion 90 is a gripping portion having a shape that is easy to hold with the right hand when the user holds the digital camera 100. In a state where the digital camera 100 is held by gripping the grip portion 90 with the right little finger, ring finger, and middle finger, the shutter button 61 and the main electronic dial 71 are arranged at positions operable with the right index finger. Also, in the same state, the sub electronic dial 73 and the touch bar 82 are arranged at positions operable with the right thumb. The thumb rest portion 91 is a grip member provided at a location (thumb standby position) on the back side of the digital camera 100 where the right thumb can be easily placed in a state where no operation member is operated and the grip portion 90 is held. The thumb rest portion 91 is made of a low-friction material such as a rubber material. Thereby, the holding force (grip feeling) is improved. The lid 202 is a lid that covers the slot in which the recording medium 200 is stored.
[0015] <Hardware Configuration of Digital Camera> Figure 2 is a block diagram showing the hardware configuration of a digital camera. In the digital camera 100 shown in Figure 2, the lens unit 150 is configured to be detachable. The lens unit 150 includes a diaphragm 1, a diaphragm drive circuit 2, an AF drive circuit 3, a lens system control circuit 4, a communication terminal 6, and a lens 103. The communication terminal 6 is connected to the communication terminal 10 of the digital camera 100 when the lens unit 150 is attached to the digital camera 100. This enables communication between the digital camera 100 and the lens unit 150. The lens system control circuit 4 controls the diaphragm 1 via the diaphragm drive circuit 2. Also, the lens system control circuit 4 focuses by displacing the position of the lens 103 via the AF drive circuit 3. The lens 103 is usually composed of a plurality of lenses, but in Figure 2, one of these lenses is typically shown.
[0016] As shown in FIG. 2, the digital camera 100 includes a memory control unit 15, a recording medium I / F 18, a D / A converter 19, an imaging unit 22, an A / D converter 23, an image processing unit 24, an EVF 29, a power supply unit 30, and a memory 32. The digital camera 100 also includes an external finder display unit driving circuit 44, a system control unit 50, a system memory 52, a system timer 53, a communication unit 54, an attitude detection unit 55, a nonvolatile memory 56, and an eyepiece detection unit 57. Further, the digital camera 100 includes an operation unit 70, a power control unit 80, a shutter 101, a GPS receiver 119, and a hash value generation unit 210. The shutter 101 is a focal plane shutter that can arbitrarily control the exposure time of the imaging unit 22 under the control of the system control unit 50. The control by the system control unit 50 may be performed by one piece of hardware or by a plurality of pieces of hardware. The imaging unit 22 includes an image sensor (image sensor) composed of a CCD, a CMOS element, or the like that converts an optical image into an electrical signal. Note that the imaging unit 22 may include an imaging surface phase difference sensor that outputs defocus amount information to the system control unit 50. The A / D converter 23 converts the analog signal output from the imaging unit 22 into a digital signal. The image processing unit 24 performs predetermined processing such as size processing such as pixel interpolation and reduction processing, and color conversion processing on the data from the A / D converter 23 or the data from the memory control unit 15. The image processing unit 24 also performs predetermined arithmetic processing using the data obtained by the imaging unit 22. Then, the system control unit 50 performs exposure control and distance measurement control based on the arithmetic result obtained by the image processing unit 24. Thereby, TTL (through-the-lens) method AF (autofocus) processing, AE (automatic exposure) processing, EF (flash pre-emission) processing, etc. are performed. The image processing unit 24 performs predetermined arithmetic processing using the data obtained by the imaging unit 22 and performs TTL method AWB (auto white balance) processing based on the arithmetic result. The output data from the A / D converter 23 is written into the memory 32 via the image processing unit 24 and the memory control unit 15 in sequence, or is written into the memory 32 via the memory control unit 15 without passing through the image processing unit 24.
[0017] The memory 32 stores the image data obtained by the imaging unit 22 and converted into digital data by the A / D converter 23, and the image data for display on the display unit 28 and the EVF 29. The memory 32 has a storage capacity sufficient to store a predetermined number of still images, a moving image for a predetermined time, and audio. Further, the memory 32 also serves as an image display memory (video memory). The D / A converter 19 converts the image display data stored in the memory 32 into an analog signal and transmits it to the display unit 28 and the EVF 29. Thereby, the image data for display written in the memory 32 is displayed on the display unit 28 and the EVF 29 via the D / A converter 19. The display unit 28 and the EVF 29 are each a display such as an LCD or an organic EL, and perform display according to the analog signal from the D / A converter 19. The digital signal A / D-converted by the A / D converter 23 and stored in the memory 32 is converted into an analog signal by the D / A converter 19. This signal is sequentially transferred to and displayed on the display unit 28 or the EVF 29. Thereby, live view display (LV) becomes possible. Hereinafter, the image displayed in the live view display is referred to as a "live view image (LV image)".
[0018] The system control unit 50 is composed of at least one of at least one processor and a control unit composed of at least one circuit, and controls the entire digital camera 100. The system control unit 50 executes a program recorded in the non-volatile memory 56. Also, the system control unit 50 performs display control by controlling the memory 32, the D / A converter 19, the display unit 28, the EVF 29, etc. The system memory 52 is, for example, a RAM. The system control unit 50 expands constants, variables for the operation of the system control unit 50, programs read from the non-volatile memory 56, etc. into the system memory 52. The non-volatile memory 56 is an electrically erasable and recordable memory such as, for example, an EEPROM. In the non-volatile memory 56, for example, constants, programs for the operation of the system control unit 50, etc. are recorded. The system timer 53 is a timing unit that measures the time used for various controls and the time of the built-in clock. The communication unit 54 transmits and receives video signals and audio signals to and from an external device connected by a wireless or wired cable. The communication unit 54 can also be connected to a wireless LAN (Local Area Network) or the Internet. Also, the communication unit 54 can communicate with an external device using Bluetooth (registered trademark) or Bluetooth Low Energy. The communication unit 54 can transmit an image (including the LV image) captured by the imaging unit 22 or an image recorded on the recording medium 200. Also, the communication unit 54 can receive various information such as image data and a video recording start instruction from an external device. When the communication unit 54 receives a video recording start instruction from an external device, the light emitting unit 102 can emit light or the speaker 92 can emit an electronic sound to notify the user of the reception of the video recording start instruction. Note that the external device is a smartphone 400 in this embodiment, but is not limited to this.
[0019] The posture detection unit 55 detects the posture of the digital camera 100 with respect to the direction of gravity. Based on the posture detected by the posture detection unit 55, it is determined whether the image captured by the imaging unit 22 is an image captured with the digital camera 100 held horizontally or an image captured with it held vertically. The system control unit 50 can add information regarding the posture detected by the posture detection unit 55 to the image file of the image captured by the imaging unit 22, or rotate and record the image. The posture detection unit 55 is not particularly limited, and for example, an acceleration sensor, a gyro sensor, or the like can be used. Further, when an acceleration sensor or a gyro sensor is used for the posture detection unit 55, it is also possible to detect panning, tilting, lifting, whether it is stationary, etc. as the movement of the digital camera 100.
[0020] The eye contact detection unit 57 is a sensor that detects the approach (eye contact) and separation (eye departure) of the eye (object) with respect to the eye portion 16 of the eye finder 17, that is, it performs approach detection. The system control unit 50 switches between display (display state) and non-display (non-display state) on the display unit 28 and the EVF 29 according to the detection result of the eye contact detection unit 57. Specifically, at least in the shooting standby state and when the switching setting of the display destination is automatic switching, the system control unit 50 turns on the display with the display destination in the non-eye contact state as the display unit 28, and turns off the EVF 29. Further, the system control unit 50 turns on the display with the display destination as the EVF 29 in the eye contact state, and turns off the display unit 28. As the eye contact detection unit 57, for example, an infrared proximity sensor can be used, but it is not limited thereto. With this infrared proximity sensor, it is possible to detect the approach of any object to the eye portion 16 of the finder 17 incorporating the EVF 29. When an object approaches, the infrared light projected from the light projecting unit (not shown) of the eye contact detection unit 57 is reflected by the object and received by the light receiving unit (not shown) of the infrared proximity sensor. According to the amount of infrared light received by the light receiving unit, it is also possible to determine how far the object has approached from the eye portion 16, that is, the eye contact distance. In this way, the eye contact detection unit 57 performs eye contact detection for detecting the proximity distance of the object to the eye portion 16. The eye contact detection unit 57 is assumed to detect that eye contact has occurred when an object approaching within a predetermined distance from the non-eye contact state (non-approach state) to the eye portion 16 is detected. Further, the eye contact detection unit 57 is assumed to detect that eye departure has occurred when an object that has been detected approaching has moved away by a predetermined distance or more from the eye contact state (approach state). The threshold value used when detecting eye contact and the threshold value used when detecting eye departure may be different, for example, due to hysteresis. Note that after detecting eye contact, it is assumed to be in the eye contact state until eye departure is detected. Further, after detecting eye departure, it is assumed to be in the non-eye contact state until eye contact is detected.
[0021] The GPS receiver unit 119 receives GPS information for calculating position information and time information from GPS satellites. The digital camera 100 receives GPS information by the GPS receiver unit 119 and calculates position information and time information based on the GPS information. In the digital camera 100, it is possible to attach the calculated position information and time information to the captured image. The hash value generation unit 210 executes a hash function on the image file to generate (calculate) a hash value. Note that in the digital camera 100, instead of the hash value generation unit 210, the system control unit 50 may generate the hash value. The values of settings such as shutter speed and aperture are displayed on the external finder display unit 43 via the external finder display unit driving circuit 44. The power control unit 80 is composed of a battery detection circuit, a DC-DC converter, a switch circuit for switching the energization target block, and the like. Thereby, the power control unit 80 can detect the presence or absence of battery attachment, the type of battery, the remaining battery level, and the like. Further, the power control unit 80 can control the DC-DC converter based on the detection result and the instruction of the system control unit 50 to supply a necessary voltage to each unit including the recording medium 200 for a necessary period. The power supply unit 30 is not particularly limited, and for example, a primary battery such as an alkaline battery or a lithium battery, a secondary battery such as a NiCd battery, a NiMH battery, or a Li battery, an AC adapter, or the like can be used. The recording medium I / F 18 is an interface with the recording medium 200. The recording medium 200 is not particularly limited, and for example, it can be composed of a memory card, a hard disk, or the like. Images captured by the imaging unit 22 are recorded on the recording medium 200, for example.
[0022] The operation unit 70 is an input unit that receives operations (user operations) from the user. With this input, various operation instructions can be given to the system control unit 50. The operation unit 70 includes a shutter button 61, a mode changeover switch 60, a power switch 72, a touch panel 70a, and other operation members 70b. The other operation members 70b include a main electronic dial 71, a sub electronic dial 73, a four-way key 74, a SET button 75, a movie button 76, an AE lock button 77, a zoom-in button 78, a playback button 79, a menu button 81, a touch bar 82, and the like. The shutter button 61 has a first shutter switch 62 and a second shutter switch 64. The first shutter switch 62 turns ON during the operation of the shutter button 61, i.e., a so-called half-press (shooting preparation instruction), and generates a first shutter switch signal SW1. The system control unit 50 starts shooting preparation operations such as AF (auto focus) processing, AE (auto exposure) processing, AWB (auto white balance) processing, and EF (flash pre-emission) processing based on the first shutter switch signal SW1. The second shutter switch 64 turns ON when the operation of the shutter button 61 is completed, i.e., a so-called full-press (shooting instruction), and generates a second shutter switch signal SW2. The system control unit 50 starts a series of shooting processing operations from reading the signal from the imaging unit 22 to writing the image captured by the imaging unit 22 to the recording medium 200 as an image file based on the second shutter switch signal SW2.
[0023] The mode switch 60 switches the operation mode of the system control unit 50 to any one of a still image shooting mode, a moving image shooting mode, a playback mode, etc. The modes included in the still image shooting mode are, for example, an auto shooting mode, an auto scene discrimination mode, a manual mode, an aperture priority mode (Av mode), a shutter speed priority mode (Tv mode), and a program AE mode (P mode). There are also various scene modes and custom modes that are shooting settings according to the shooting scene. By operating the mode switch 60, it is possible to directly switch to any of these modes. Note that after switching once to a list screen of shooting modes with the mode switch 60, it may be possible to selectively switch to any of a plurality of modes. Similar to the still image shooting mode, the moving image shooting mode may also include a plurality of modes. The touch panel 70a is a sensor that detects various touch operations on the display surface of the display unit 28 (the operation surface of the touch panel 70a). The touch panel 70a and the display unit 28 can be integrally configured. In this case, for example, the touch panel 70a is configured so that the light transmittance does not interfere with the display of the display unit 28 and is attached to the upper layer of the display surface of the display unit 28. Then, the input coordinates on the touch panel 70a are associated with the display coordinates on the display surface of the display unit 28. Thereby, it is possible to provide a GUI (Graphical User Interface) as if the user could directly operate the screen displayed on the display unit 28. The system control unit 50 can detect the following operations and states with respect to the touch panel 70a. · Touch-Down: A finger or pen that was not touching the touch panel 70a newly touches the touch panel 70a, that is, the start of the touch. · Touch-On: A state where the touch panel 70a is being touched with a finger or pen. · Touch-Move: A finger or pen is moving while touching the touch panel 70a. · Touch-Up: A finger or pen that was touching the touch panel 70a has left (been released) from the touch panel 70a, that is, the end of the touch. · Touch-Off: This refers to the state where nothing is touching the touch panel 70a.
[0024] When a touch-down is detected, a touch-on is also detected simultaneously. After a touch-down, unless a touch-up is detected, a touch-on is usually detected continuously. When a touch-move is detected, a touch-on is also detected simultaneously. Even if a touch-on is detected, if the touch position has not moved, a touch-move is not detected. After it is detected that all fingers and pens that were touching have touched up, it becomes a touch-off. These operations / conditions and the position coordinates where fingers and pens are touching on the touch panel 70a are notified to the system control unit 50 via the internal bus. Then, based on the information notified via the internal bus, the system control unit 50 determines what kind of operation (touch operation) has been performed on the touch panel 70a. Regarding the touch-move, that is, the moving direction of the finger or pen moving on the touch panel 70a, it is determined for each vertical component and horizontal component on the touch panel 70a based on the change in the position coordinates. If it is detected that the touch-move has been made for a distance equal to or greater than a predetermined distance, it is assumed that a slide operation has been performed. An operation of quickly moving a finger a certain distance while touching the touch panel 70a and then leaving it is called a "flick". In other words, a flick is an operation of quickly tracing on the touch panel 70a as if flicking with a finger. If it is detected that the touch-move has been made for a distance equal to or greater than a predetermined distance at a speed equal to or greater than a predetermined speed and a touch-up is detected as it is, it is determined that a flick has been performed, that is, it is determined that there has been a flick following a slide operation. Also, a touch operation of touching multiple locations (for example, two points) at once (multi-touching) and bringing the touch positions closer to each other is called a "pinch-in", and a touch operation of moving the touch positions away from each other is called a "pinch-out". The pinch-out and pinch-in are collectively called a pinch operation (or simply a pinch). The touch panel 70a is not particularly limited, and for example, it may be of any of the following methods: a resistive film method, a capacitance method, a surface acoustic wave method, an infrared method, an electromagnetic induction method, an image recognition method, an optical sensor method, etc. Also, when there is contact with the touch panel 70a, there are methods of detecting that a touch has occurred, and when there is an approach of a finger or pen to the touch panel, there are methods of detecting that a touch has occurred, and any of these methods may be used.
[0025] Figure 3 is a block diagram showing a software configuration composed of a digital camera, a smartphone, and an image data server. As shown in Figure 3, the digital camera 100, the smartphone 400, and the image data server (cloud storage) 300 are connected to be communicable with each other. The digital camera 100 includes a data transmission / reception unit 301, a UI display unit 302, an imaging unit 303, and an image processing unit 304. The data transmission / reception unit 301 transmits, for example, data of an image captured by the imaging unit 303 to the data transmission / reception unit 353 of the smartphone 400, or receives data from the data transmission / reception unit 353 of the smartphone 400. The UI display unit 302 displays, for example, an image captured by the imaging unit 303, a setting screen for setting imaging conditions, and the like. The imaging unit 303 performs imaging processing to generate image data. The image processing unit 304 performs image processing, image sorting processing, and the like on the data of the image captured by the imaging unit 303.
[0026] The smartphone 400 has an image management unit 105 and a machine learning unit (generation means) 106. The image management unit 105 has a data storage unit 351, an image data management unit (attachment means) 352, and a data transmission / reception unit 353. The data storage unit 351 stores image data (image files) etc. transmitted from the data transmission / reception unit 301 of the digital camera 100 in the RAM 403 or the storage device 404. The image data management unit 352 manages the input of image data to the machine learning unit 106 and the image data output from the machine learning unit 106. The data transmission / reception unit 353 transmits image data to the data transmission / reception unit 301 of the digital camera 100 or receives data from the data transmission / reception unit 373 of the image data server 300. The machine learning unit 106 can generate content such as image data using machine learning (generation process). Here, the generation of content includes, for example, generating new content using machine learning and editing existing content using machine learning to generate new content. In this embodiment, the machine learning unit 106 has a learning unit 361 and an image generation unit 362. The learning unit 361 can perform processing for learning features such as painting styles from image data for machine learning using the GPU 410. The image generation unit 362 generates new image data that reflects the features obtained from the learning results in the learning unit 361. In addition, for the processing by the learning unit 361 and the image generation unit 362, the control unit 401 may be used in addition to the GPU 410. Specifically, when executing a learning program including a learned model, the control unit 401 and the GPU 410 cooperate to perform calculations. Note that the processing of the learning unit 361 may be performed by only the control unit 401 or the GPU 410. Also, the image generation unit 362 can use the GPU 410 to generate image data.
[0027] The image data server 300 includes a data storage unit 371, an image data management unit 372, and a data transmission / reception unit 373. The data storage unit 371 functions as a storage that stores, for example, image data for machine learning used in the machine learning unit 106 in a RAM (not shown) or a storage device (not shown). The image data management unit 372 manages the image data for machine learning. The data transmission / reception unit 373 transmits the image data for machine learning to the data transmission / reception unit 353 of the smartphone 400, or receives the image data captured by the digital camera 100 from the data transmission / reception unit 353 of the smartphone 400.
[0028] FIG. 4 is a block diagram showing the hardware configuration of a smartphone. The smartphone 400 shown in FIG. 4 is a portable information processing device. Note that, as the information processing device, in the present embodiment, it is the smartphone 400, but it is not limited thereto, and for example, a personal computer, a tablet terminal, or the like may be used. As shown in FIG. 4, the smartphone 400 includes a control unit (CPU) 401, a ROM (Read Only Memory) 402, a RAM (Random Access Memory) 403, a storage device 404, and an input interface 405. The smartphone 400 also includes a BMU (Bit Move Unit) 406, a VRAM (Video RAM) 407, a network interface 409, a GPU 410, a display device 412, and a system bus 413. The control unit 401 is a computer that controls the entire smartphone 400. Programs and parameters that do not require modification are stored in the ROM 402. This program includes, for example, a program for causing the control unit 401 to execute each part and each means (control method of the information processing device) of the smartphone 400. Programs and data supplied from external devices other than the smartphone 400 are temporarily stored in the RAM 403. The storage device 404 is, for example, a hard disk drive (HDD), a solid state drive (SSD) composed of a flash memory, a hybrid drive that combines a hard disk and a flash memory, a memory card, or the like. The storage device 404 stores programs such as an OS (Operating System) and various data. The input interface 405 is connected to an input device (not shown) that receives user operations. The input device is not particularly limited, and for example, a pointing device, a keyboard, or the like can be used.
[0029] The BMU 406 controls data transfer between memories (e.g., between the VRAM 407 and other memories) and between the memory and each I / O device (e.g., the network interface 409). The VRAM 407 draws an image to be displayed on the display device 412. The image generated in this VRAM 407 is transmitted to the display device 412 according to a predetermined rule. Thereby, an image is displayed on the display device 412. The network interface 409 is connected to a network line 411 such as the Internet. The GPU 410 is a control unit that can perform efficient operations by processing more data in parallel. The GPU 410 is a processor for neural network operations, and for example, when learning is performed multiple times using a learning model such as deep learning, the learning can be performed quickly. In the smartphone 400, in addition to being able to be controlled by the control unit 401 alone or by the GPU 410 alone, control by both the control unit 401 and the GPU 410 is also possible. Also, in the smartphone 400, instead of the GPU 410, for example, a TPU (Tensor Processing Unit) or an NPU (Neural network Processing Unit) can be used. The system bus 413 connects the control units 401 to 410 so that they can communicate with each other.
[0030] FIG. 5A is a conceptual diagram of machine learning. FIG. 5B is a conceptual diagram showing an example when machine learning is applied. As shown in FIGS. 5A and 5B, in machine learning, a learned model 503 is used. In the present embodiment, the learned model 503 is a model that has been learned with a large number of learning (training) image data 504 (for example, landscape images) that capture a state where it is raining being input in advance (see arrow A in FIG. 5B). In this learning, for example, it is preferable to extract painting style features and pattern features from the images to be learned by CNN (Convolutional Neural Network) and calculate the error at that time. Further, when restoring an image by CAE (Convolutional Auto Encoder), it is preferable to use a method such as optimizing the weights so as to minimize the error, but it is not limited to this. Further, when the number of images to be learned by the learning unit 361 is enormous, the use of the GPU 410 enables the acceleration of learning.
[0031] Input data 501 is input to the learned model 503 (see arrow B in FIGS. 5A and 5B). The input data 501 is image data. This input data 501 is image data captured by the digital camera 100 and is transmitted from the digital camera 100 to the smartphone 400. As shown in FIG. 5B, the input data 501 is, for example, image data of a house being imaged. Then, output data 502 is output as content from the learned model 503 (see arrow C in FIGS. 5A and 5B). The output data 502 is the features of the image learned by the learned model 503, that is, the image data converted into a painting style. As shown in FIG. 5B, the output data 502 reflects the feature of the image learned by the learned model 503, "an image in a state of rain", and is image data as if a house was imaged in the rain. In this way, the output data 502 includes an image having a painting style different from that of the image of the input data 501. Machine learning information 505 described later is attached to the output data 502. Note that as the machine learning algorithm, deep learning is preferable in the present embodiment, but it is not limited thereto, and for example, a support vector machine, logistic regression, decision tree, etc. may be used.
[0032] By the way, when generating content using machine learning, the image data (input data 501 and learning image data 504) used for generating the content may be illegal image data that may cause problems such as copyright issues. In this case, for example, if the content is made public, the content may also have copyright problems.
[0033] Therefore, the smartphone 400 is configured to reduce the occurrence of such copyright problems. Hereinafter, this configuration and operation will be described. FIG. 6 is a diagram showing an example of the configuration of an image file. FIG. 6(a) is a diagram showing an example (Part 1) of the configuration of an image file. FIG. 6(b) is a diagram showing a modified example (Part 2) of the configuration of an image file. First, the image file 600A shown in FIG. 6(a) will be described. The image file 600A includes image data 604 which is content data (output data 502), and metadata 601 associated with the image data 604. The metadata 601 includes shooting information (imaging information) 602 and history information 603. The shooting information 602 is information when the input data 501 which is the basis of the image data 604 is generated by the digital camera 100, that is, when imaging processing is executed by the digital camera 100. The shooting information 602 is not particularly limited, and examples include various shooting parameters (shooting conditions) such as shooting date and time 602a, shooting location 602b, photographer 602c, image size 602d, camera manufacturer 602e, camera model 602f, shutter speed 602g, etc. In addition, manufacturer notes 602h, thumbnail images 602i, etc. are also included. The shooting information 602 is generated by the system control unit 50 of the digital camera 100 according to a predetermined technical standard such as EXIF (Exchangeable image file format). And it is preferably added as it is as a part of the metadata 601 of the image data 604.
[0034] The provenance information 603 is information for proving the authenticity of the image data 604 and is used, for example, when verifying the origin and provenance of the image data 604. The provenance information 603 is generated, for example, in accordance with a predetermined technical standard such as C2PA (Coalition for Content Provenance and Authenticity). Further, the provenance information 603 is information corresponding to the machine learning information 505 and is attached to the image data 604 by the image data management unit 352 (attachment step). Note that the "machine learning information 505" is information related to machine learning used when generating the image data 604 (content). The provenance information 603 includes a provenance (Assertion) 613, a hash value 623, and a digital signature 633. The provenance 613 is not particularly limited and includes, for example, provenance identification information (Manifest ID) 613a, an edit history 613b, an editing tool 613c, a producer 613d, learning data information 613e, input data information 613f, etc. In addition, the provenance 613 may include an image obtained by reducing (or compressing) the image data 604. The provenance identification information 613a is information for uniquely identifying the provenance 613. The edit history 613b is information indicating the editing content of the image data 604. The editing tool 613c is information indicating the tool used for editing the image data 604. The producer 613d is information regarding the producer of the image data 604. The learning data information 613e is information regarding the learned model 503 and can be, for example, the location information (URL address) of the learning unit 361 where the learned model 503 is stored. The input data information 613f is information regarding the input data 501 and can be, for example, the location information (URL address) of the data storage unit 351 where the input data 501 is stored.
[0035] The hash value 623 is the hash value of the image data 604 and can guarantee the provenance 613. The hash value 623 is also the hash value of the input data 501, is generated by the hash value generation unit 210 of the digital camera 100, and is preferably added as it is as part of the metadata 601 of the image data 604. The hash value 623 is not particularly limited, and examples thereof include the hash value 623a of the image data, the hash value 623b of the provenance, and the hash value 623c of the shooting information. The digital signature 633 is information obtained by encrypting the hash value 623 with a private key. Note that the hash value 623 can be obtained by decrypting the digital signature 633 with the public key paired with this private key. The digital signature 633 is not particularly limited, and examples thereof include the signature value 633a, the signatory 633b, the signature date and time 633c, and the like. The provenance information 603 as described above is used to determine whether the data used to generate the image data 604 is appropriate in the generation of the image data 604, that is, for example, to determine whether it is unauthorized image data that may cause copyright problems. And when it can be determined that the data used to generate the image data 604 is not unauthorized image data, it can be proven to that effect based on the provenance information 603. On the other hand, when it can be determined that the data used to generate the image data 604 is unauthorized image data, depending on various conditions such as the disclosure destination of the image data 604, it is preferable to refrain from disclosing the image data 604.
[0036] Next, the image file 600B shown in FIG. 6(b) will be described. The description will focus on the differences from the above-described image file 600A, and the description of the same matters will be omitted. The image file 600B is an image file in the case of being edited by machine learning while leaving the information of the image at the moment of shooting as the history. This image file 600B includes image data 604 and metadata 601. The metadata 601 includes shooting information 602 and two pieces of history information 603. And one of the two pieces of history information 603 is the history information at the time of shooting, and includes history 612, the hash value 623 and the digital signature 633 as described above. Since the history 612 is at the time of shooting, that is, before editing by machine learning, the learning data information 613e and the input data information 613f have not been given yet. Also, the other piece of history information 603 is the history information at the time of editing, and includes the history 613, the hash value 623 and the digital signature 633 as described above.
[0037] FIG. 7 is a flowchart showing a process (learning process) executed on a smartphone. The learning process is a process in which the smartphone 400 receives learning image data 504 from the image data server 300 and learns the painting style of the image included in the learning image data 504. Also, each process of the flowchart shown in FIG. 7 is realized by the control unit 401 expanding a program stored in the non-volatile memory 402 into the RAM 403 and executing it. As shown in FIG. 7, in step S701, the control unit 401 of the smartphone 400 determines whether a painting style learning instruction, that is, an execution instruction for the learning process has been given. The learning instruction (execution instruction) is given by the user using the smartphone 400 operating the input device. The control unit 401 can determine whether an execution instruction for the learning process has been given based on the presence or absence of a learning instruction on the input device. And as a result of the determination in step S701, if it is determined that a learning instruction has been given, the process proceeds to step S702. On the other hand, as a result of the determination in step S701, if it is determined that no learning instruction has been given, the process proceeds to step S708.
[0038] In step S702, the control unit 401 requests the image data server 300 to transmit the learning image data 504 (learning image).
[0039] In step S703, the control unit 401 determines whether the learning image data 504 has been received from the image data server. If it is determined in step S703 that the learning image data 504 has been received, the process proceeds to step S704. In this case, the learning image data 504 is stored in the data storage unit 351 by the image data management unit 352. On the other hand, if it is determined in step S703 that the learning image data 504 has not been received, the process waits at step S703.
[0040] In step S704, the control unit 401 inputs the learning image data 504 to the learning unit 361.
[0041] In step S705, the control unit 401 executes the learning process in the learning unit 361. In the learning process, the above-mentioned CNN or the like can be used. Thereby, the painting style of the images included in the learning image data 504 can be learned.
[0042] In step S706, the control unit 401 stores the data used in step S705 in the data storage unit 351. Examples of the data stored in the data storage unit 351 include information regarding the learning image data 504, the position information (address by URL) of the image data server 300 which is the transmission source of the learning image data 504, and the like. The data stored in the data storage unit 351 is required for the process in step S810 (see FIG. 8) described later.
[0043] In step S707, the control unit 401 notifies (informs) the user that the learning process has been completed. The notification method is not particularly limited, and examples include a method of displaying on the display device 412 that the learning process has been completed, a method by voice, and the like.
[0044] In step S708, the control unit 401 determines whether an instruction to end the learning process has been given. The end of the learning process is performed by the user who uses the smartphone 400 operating the input device. The control unit 401 can determine whether an instruction to end the learning process has been given based on whether there is an end to the learning process on the input device. And as a result of the determination in step S708, if an end is instructed, the process ends. On the other hand, as a result of the determination in step S708, if an end has not been instructed, the process returns to step S701 and the subsequent steps are executed in order.
[0045] FIG. 9 is a flowchart showing a process (shooting process) executed by a digital camera. The shooting process is a process in which the digital camera 100 performs shooting. A program based on the flowchart shown in FIG. 9 is started by an operation such as pressing the shutter button 61 of the digital camera 100 and is executed until the end. As shown in FIG. 9, in step S901, the system control unit 50 of the digital camera 100 drives the shutter 101. By this drive, the exposure time is controlled.
[0046] In step S902, the system control unit 50 controls the imaging unit 22 to perform an imaging process of converting the light from the subject received through the shutter 101 into an electrical signal, that is, analog image data.
[0047] In step S903, the system control unit 50 performs image processing such as development processing and encoding processing on the electrical signal obtained by the imaging process in step S902 to generate image data that becomes the input data 501. This input data 501 is input to the learned model 503 and output as the image data 604 of the image file 600A shown in FIG. 6(a) and the image data 604 of the image file 600B shown in FIG. 6(b).
[0048] In step S904, the system control unit 50 generates metadata associated with the input data 501. Since this metadata is substantially the same as the metadata 601 (see FIGS. 6(a) and 6(b)), the description will be made with reference to the metadata 601. As described above, the metadata 601 includes the shooting information 602 and the history information 603. Note that the history 613 in the digital camera 100 is in a state where the learning data information 613e and the input data information 613f are not yet included, and this state is maintained until step S909. Also, in step S904, among the history information 603, the history 613 (in the case of FIG. 6(a)) or the history 612 (in the case of FIG. 6(b)) is generated. Hereinafter, the history 613 will be dealt with as representative.
[0049] In step S905, the system control unit 50 executes a hash function on the binary data of the input data 501 and the history 613 respectively to generate a hash value 623. Note that the system control unit 50 may also generate the hash value 623 for the binary data of the shooting information 602. Also, for the binary data of the history 613, for example, in order to detect forgery of the input data 501, the hash value may be generated for each unit such as the edit history 613b and the source 613d.
[0050] In step S906, the system control unit 50 generates a digital signature 633. As described above, the digital signature 633 includes a signature value 633a, a signatory 633b, and a signature date and time 633c. The signature value 633a is generated by encrypting the hash value 623 generated in step S905 using a pre-prepared private key. It is preferable that the public key paired with this private key is also included in the digital signature 633. Further, the digital signature 633 may include information for proving that this public key is a public key issued by a trustworthy manufacturer. This information is not particularly limited, and examples include information indicating the manufacturer of the digital camera 100 as the signatory 633b, a public key certificate indicating that the public key has been authenticated by a certification authority, and the like. By attaching such a digital signature 633 to the image file 600A, it is shown that the image file 600A is a trustworthy image file. Note that, instead of the manufacturer of the digital camera 100, the model of the digital camera 100 may be used as the signatory 633b. Also, for the signature date and time 633c, the date and time at the point when the generation of the digital signature 633 is completed is used. Further, the signature date and time 633c may be included in the provenance 613.
[0051] In step S907, the system control unit 50 attaches metadata 601 to the input data 501 to generate an image file 600A. Note that the image file 600A is generated in accordance with the JPEG format when the input data 501 is a still image, and in accordance with the MPEG format when it is a moving image.
[0052] In step S908, the system control unit 50 stores the image file 600A generated in step S907 in the recording medium 200.
[0053] In step S909, the system control unit 50 transmits the image file 600A stored in step S908 to the smartphone 400 via the network line 411. As a result, the image file 600A is received by the smartphone 400. Then, in the smartphone 400, an image generation process (see FIG. 8) for the input data 501 of the image file 600A is performed.
[0054] FIG. 8 is a flowchart showing a process (image generation process) executed on the smartphone. The image generation process is a process of applying a painting style to the input data 501 transmitted from the digital camera 100 to generate new image data, and transmitting the new image data to the digital camera 100. Each process of the flowchart shown in FIG. 8 is realized by the control unit 401 expanding a program stored in the non-volatile memory 402 into the RAM 403 and executing it. As shown in FIG. 8, in step S801, the control unit 401 of the smartphone 400 determines whether or not it has received an image file transmitted from the digital camera 100. This image file includes the input data 501 (input image) and metadata associated with the input data 501. If it is determined in step S801 that the image file has been received, the process proceeds to step S802. In this case, the input data 501 is stored in the data storage unit 351 by the image data management unit 352. On the other hand, if it is determined in step S801 that the image file has not been received, the process proceeds to step S818.
[0055] In step S802, the control unit 401 transmits the input data 501 to the image data server 300. This transmission is performed to embed the location information of the externally public image data server 300 in the image file in order to prove which image is the image used as the input image of the learned model of machine learning. Also, it is assumed that the location information of the image data server 300 is received as a response when the input image is transmitted.
[0056] In step S803, the control unit 401 inputs the input data 501 in the image file determined to be received in step S801 to the image generation unit 362 (trained model 503).
[0057] In step S804, the control unit 401 controls the image generation unit 362 to output the output data 502 as content from the image generation unit 362. As described above, the output data 502 is the feature of the image learned by the trained model 503, that is, the image data converted into the painting style. In this embodiment, the output data 502 reflects the feature of the image learned by the trained model 503, "an image in a state of rain", and is image data as if a house was imaged in the rain (see FIG. 5B). Note that the output data 502 may be newly generated image data 604 (see FIG. 6(a)), or may be image data 604 generated by editing existing image data (see FIG. 6(b)).
[0058] In step S805, the control unit 401 converts the input data 501 in the image file determined to be received in step S801 into reduced image data (reduced image). This can prevent the file size of the image file 600A (similarly for the image file 600B) from becoming excessively large when the input data 501 is embedded as it is.
[0059] In step S806, the control unit 401 generates input data information 613f for embedding in the history 613. Note that the input data information 613f preferably includes at least one of the position information of the image data server transmitted in step S802 and the reduced image created in step S805.
[0060] In step S807, the control unit 401 requests a learning image from the image data server 300. The learning image is converted into a reduced image in step S809 and embedded in the content. Note that the conversion of the learning image into a reduced image may be performed by the image data server 300. Also, in step S807, the position information of the learning image in the image data server 300 may also be received.
[0061] In step S808, the control unit 401 determines whether or not the learning image requested in step S807 has been received from the image data server 300. If, as a result of the determination in step S808, it is determined that the learning image has been received, the process proceeds to step S809. In this case, the learning image is stored in the data storage unit 351 by the image data management unit 352. On the other hand, if, as a result of the determination in step S808, it is determined that the learning image has not been received, the process waits at step S808.
[0062] In step S809, the control unit 401 converts the learning image determined to have been received in step S808 into a reduced image. This can prevent the file size of the image file 600A (similarly for the image file 600B) from becoming excessively large when the learning image is embedded in its original size.
[0063] In step S810, the control unit 401 generates learning data information 613e to be included in the history 613. The learning data information 613e preferably includes at least one of the position information of the learning image placed in the image data server 300 received in step S808 and the reduced image created in step S809.
[0064] In step S811, the control unit 401 generates metadata 601. This metadata 601 becomes the metadata 601 in Fig. 6(a) when, for example, the image data 604 is newly generated and starts from the image data 604, and becomes the metadata 601 in Fig. 6(b) when the image data 604 is generated by editing existing image data and starts from the existing image data. Also, the history 613 of the metadata 601 includes learning data information 613e and input data information 613f.
[0065] In step S812, the control unit 401 executes a hash function on the binary data of each of the image data 604 and the history 613 to generate a hash value 623. Note that the control unit 401 may also generate a hash value 623 for the binary data of the shooting information 602. As a result, if the learning data information 613e and the input data information 613f used in machine learning are modified, each piece of information will not match the hashed data. Then, forgery detection becomes possible based on this non - match.
[0066] In step S813, the control unit 401 generates a digital signature 633. As described above, the digital signature 633 includes a signature value 633a, a signer 633b, and a signature date and time 633c. The signature value 633a is generated by encrypting the hash value 623 generated in step S812 using a pre - prepared private key. Note that it is preferable that the public key paired with this private key is also included in the digital signature 633. The signer 633b is information indicating the manufacturer of the smartphone 400. By attaching such a digital signature 633 to the image file 600A (similarly for the image file 600B), it is shown that the image file 600A is a trustworthy image file. Note that as the signer 633b, the model of the smartphone 400 may be used instead of the manufacturer of the digital camera 100. Also, for the signature date and time 633c, the date and time when the generation of the digital signature 633 is completed is used. Also, the signature date and time 633c may be included in the history 613.
[0067] In step S814, the control unit 401 attaches the metadata 601 to the image data 604 to generate an image file 600A. Note that the image file 600A is generated in accordance with the JPEG format when the image data 604 is a still image, and is generated in accordance with the MPEG format when it is a moving image.
[0068] In step S815, the control unit 401 stores the image file 600A generated in step S814 in the data storage unit 351.
[0069] In step S816, the control unit 401 notifies the user that the generation of the image file 600A has been completed. This notification method is not particularly limited, and examples include, in addition to a method of displaying on the display device 412 that the generation of the image file 600A has been completed, a method using voice, etc.
[0070] In step S817, the control unit 401 transmits the image file 600A stored in the data storage unit 351 in step S815 to the digital camera 100 via the network line 411. As a result, the digital camera 100 can confirm the image file 600A. Note that when confirming the image file 600A with the smartphone 400, step S817 may be omitted.
[0071] In step S818, the control unit 401 determines whether or not an instruction to end the image generation process has been given. The end of the image generation process is performed by the user using the smartphone 400 operating the input device. The control unit 401 can determine whether or not an instruction to end the image generation process has been given based on the presence or absence of the end of the image generation process on the input device. Then, as a result of the determination in step S818, if an end has been instructed, the process ends. On the other hand, as a result of the determination in step S818, if an end has not been instructed, the process returns to step S801 and the subsequent steps are executed in order.
[0072] Note that the image file 600A or the image file 600B may each be further edited. In this case, if the editing is performed in a legitimate procedure using an approved editing tool, history information 603 conforming to a predetermined technical standard is newly generated based on the editing content. This new history information 603 is appended to and stored in the metadata 601. In this way, the history information 603 is newly generated and appended to and stored in the metadata 601 each time the image file 600A or the image file 600B is edited. On the other hand, if the editing of the image file 600 or the image file 600B is performed using a disapproved editing tool or in an improper procedure, the history information 603 may not be provided or the history information 603 may not conform to the predetermined technical standard.
[0073] Also, by generating a hash value 623 and a digital signature 633, it is possible to detect tampering of the image file 600A and the image file 600B. For example, for the binary data of the image data 604 of the image file 600A, a hash function is executed to generate a hash value. Then, this hash value is compared with the hash value 623 (hash value 623a of the image data) of the image data 604 of the image file 600A that is the object of tampering judgment. And as a result of this comparison, if the two hash values are the same, it can be determined that there is no tampering, and if the two hash values are different from each other, it can be determined that there is tampering. Similarly, a hash function may be executed on the binary data of the shooting information 602 to generate a hash value. Then, this hash value is compared with the hash value 623 (hash value 623c of the shooting information) of the shooting information 602 of the image file 600A that is the object of tampering judgment. And as a result of this comparison, if the two hash values are the same, it can be determined that the shooting information 602 has not been tampered with, and if the two hash values are different from each other, it can be determined that the shooting information 602 has been tampered with. Also, a hash function may be executed on the binary data of the history 613 to generate a hash value. Then, this hash value is compared with the hash value 623 (hash value 623b of the history) of the history 613 of the image file 600A that is the object of tampering judgment. And as a result of this comparison, if the two hash values are the same, it can be determined that the history 613 has not been tampered with, and if the two hash values are different from each other, it can be determined that the history 613 has been tampered with. Also, the comparison of the binary data may be performed for each unit such as the edit history 613b and the production source 613d. Also, as described above, the signature value 633a can be decrypted with the public key. And if the hash values match, it is also possible to determine that the verification of the signature value 633a has been successful. In this way, in the smartphone 400, it is possible to incorporate a mechanism for detecting tampering into the image file 600A and the image file 600B.
[0074] FIG. 10 is a flowchart showing a process (image reception process) executed by a digital camera. The image reception process is a process in which the digital camera 100 receives image data transmitted from the smartphone 400. As shown in FIG. 10, in step S1001, the system control unit 50 of the digital camera 100 determines whether or not it has received the image file 600A whose image style has been converted by the smartphone 400 from the smartphone 400. If, as a result of the determination in step S1001, it is determined that the image file 600A has been received, the process proceeds to step S1002. On the other hand, if, as a result of the determination in step S1001, it is determined that the image file 600A has not been received, the process waits at step S1001.
[0075] In step S1002, the system control unit 50 displays the image data 604 of the image file 600A determined to have been received in step S1001 on the display unit 28.
[0076] In step S1003, the system control unit 50 determines whether or not saving of the image file 600A determined to have been received in step S1001 has been instructed. The instruction to save the image file 600A is given, for example, by operating a menu screen displayed on the display unit 28. And if, as a result of the determination in step S1003, it is determined that saving of the image file 600A has been instructed, the process proceeds to step S1004. On the other hand, if, as a result of the determination in step S1003, it is determined that saving of the image file 600A has not been instructed, the process ends.
[0077] In step S1004, the system control unit 50 stores the image file 600A determined to have been received in step S1001 in the recording medium 200, and the process ends.
[0078] As described above, the preferred embodiments of the present invention have been explained. However, the present invention is not limited to the above-described embodiments, and various modifications and changes are possible within the scope of the gist thereof. The present invention can also be realized by a process in which a program that realizes one or more functions of the above-described embodiments is supplied to a system or device via a network or a storage medium, and one or more processors of a computer of the system or device read and execute the program. Further, the present invention can also be realized by a circuit (for example, ASIC) that realizes one or more functions. In addition, the system including the digital camera 100, the smartphone 400, and the image data server 300 may include, for example, a personal computer, a PDA, a mobile phone terminal, or the like.
[0079] The disclosure of this embodiment includes the following configurations, methods, and programs. (Configuration 1) A generation means capable of generating content using machine learning, and a giving means that is used when generating the content and gives machine learning information related to the machine learning to the content, characterized by an information processing apparatus comprising the same. (Configuration 2) In the machine learning, a learned model is used, wherein the generation means uses output data output from the learned model as the content, characterized by the information processing apparatus according to Configuration 1. (Configuration 3) The generation means inputs image data as input data to the learned model, and uses image data different from the image data as the input data as the content, characterized by the information processing apparatus according to Configuration 2. (Configuration 4) The machine learning information includes information related to the learned model, characterized by the information processing apparatus according to Configuration 2 or 3. (Configuration 5) The information related to the learned model is position information of a storage destination where the learned model is stored, characterized by the information processing apparatus according to Configuration 4. (Configuration 6) The machine learning information includes information related to the input data, characterized by the information processing apparatus according to Configuration 3. (Configuration 7) The information processing apparatus according to Configuration 6, wherein the information regarding the input data is the location information of the storage destination where the input data is stored. (Configuration 8) The information processing apparatus according to Configuration 3, further comprising acquisition means for acquiring the input data from an external apparatus different from the information processing apparatus. (Configuration 9) The information processing apparatus according to any one of Configurations 1 to 8, wherein the machine learning information includes a hash value of the content. (Configuration 10) The information processing apparatus according to Configuration 9, wherein the machine learning information includes a digital signature obtained by encrypting the hash value with a private key. (Configuration 11) The information processing apparatus according to any one of Configurations 1 to 10, wherein the machine learning information is used to determine the suitability of the data used for generating the content in the generation of the content. (Configuration 12) The information processing apparatus according to any one of Configurations 1 to 11, wherein the providing means provides at least a part of the machine learning information in a reduced or compressed state. (Configuration 13) The information processing apparatus according to any one of Configurations 1 to 12, which is any one of a personal computer, a tablet terminal, and a smartphone. (Method 1) A method for controlling an information processing apparatus, comprising: a generation step of generating content using machine learning; and a providing step of providing machine learning information related to the machine learning, which is used when generating the content, to the content. (Program 1) A program for causing a computer to execute each means of the information processing apparatus according to any one of Configurations 1 to 13.
Description of Reference Numerals
[0080] 106 Machine Learning Unit 352 Image Data Management Unit 400 Smartphone 501 Input data 502 Output data 503 Trained model 505 Machine learning information 603 Provenance information 604 Image data
Claims
1. A generation means for generating output data output from a learned model of machine learning as content; An information processing apparatus comprising: an imparting means for imparting machine learning information regarding the learned model of the machine learning to the generated content.
2. The information processing apparatus according to claim 1, wherein the generation means creates the learned model using first image data as input data, and generates second image data different from the first image data, which is the output data output from the learned model, as the content.
3. The information processing apparatus according to claim 1, wherein the machine learning information includes information indicating a storage location where the learned model is stored.
4. The information processing apparatus according to claim 1, wherein the machine learning information includes information indicating a storage location where input data used for creating the learned model is stored.
5. The information processing apparatus according to claim 2, further comprising an acquisition means for acquiring the input data from an external device different from the information processing apparatus.
6. The information processing apparatus according to claim 1, wherein the imparting means further imparts a hash value of the content to the content.
7. The information processing apparatus according to claim 6, wherein the imparting means further imparts a digital signature obtained by encrypting the hash value with a private key to the content.
8. The information processing apparatus further comprising a transmission means for transmitting data input to the learned model for generating the content by the generation means to an external device, The information processing apparatus according to claim 1, wherein the imparting means further imparts information indicating the location of the external device to the generated content.
9. The information processing apparatus according to claim 1, wherein the imparting means imparts at least a part of the machine learning information in a reduced or compressed state.
10. A method for controlling an information processing apparatus, comprising: A generation step of generating output data output from a learned model of machine learning as content; An imparting step of imparting machine learning information regarding the learned model of the machine learning to the generated content.
11. A program for causing a computer to execute each means of the information processing apparatus according to claim 1.