This application is based on and claims priority under 35 USC 119 from Japanese Patent Application No. 2016-207903 filed Oct. 24, 2016.
The present invention relates to an information processing device, an image file data structure, and a non-transitory computer-readable medium.
According to an aspect of the invention, there is provided an information processing device including a recognition unit that recognizes a user instruction with respect to a subject included in an image, and a controller that, if information related to the subject is stated in an execution language in a part of attribute information attached to a data file of the image, executes a workflow process prescribed by the information.
Exemplary embodiment of the present invention will be described in detail based on the following figure, wherein:
Hereinafter, exemplary embodiments of the invention will be described in detail and with reference to the attached drawings. Although the following describes exemplary embodiments applied to still image files, the present invention may also be applied to moving image files. Also, in the following exemplary embodiments, an example of a JPEG file conforming to the JPEG format is described for the sake of convenience, but the present invention may also be applied to another still image file that includes attribute information as part of the data.
<Data Structure of Still Image File>
The JPEG file 10 includes a start of image (SOI) segment 11 that indicating the start position of the image, an application type 1 (App1) segment 12 used to state Exif information and the like, an application type 11 (App11) segment 13 used to state information prescribing a workflow process related to a subject, image data (ID) 14, and an end of image (EOI) segment 15 that indicates the end position of the image. Herein, the image data 14 is an example of a first data region, while the application type 11 segment 13 is an example of a second data region. The still image itself is saved in the image data 14.
The region between the start of image segment 11 and the end of image segment 15 is also called a frame. Note that, although not indicated in
In the application type 11 segment 13 of
The information 13A and 13B may also be associated with a single subject. In other words, multiple pieces of information may be associated with a single subject. For example, the information 13A is used for output in a first language (for example, the Japanese language, or for a first OS), while the information 13B is used for output in a second language (for example, the English language, or for a second OS). Which language in which to output a workflow process may be specified by the user via a selection screen, for example. A workflow process includes actions such as saving, displaying, aggregating, transmitting, or acquiring information included in the subject associated with the information 13A and 13B, for example. In addition, a workflow process includes displaying an operation panel for controlling the operation of real equipment corresponding to the subject associated with the information 13A and 13B. Note that both of the information 13A and 13B may be provided for separate types of operations on a single piece of equipment. For example, the information 13A may be used to operate the channel of a television receiver, whereas the information 13B may be used to operate the power button of the television receiver.
The information 13A and 13B is stated as text. The present exemplary embodiment uses JavaScript Object Notation (JSON), which is an example of an execution language stated in text. JSON (registered trademark) is a language that uses part of the object notation in JavaScript (registered trademark) as the basis of syntax. Obviously, the execution language used to state a workflow process is not limited to JSON.
<Configuration of Image Processing System and Information Processing Device>
The device used as the computer 200 may be a notebook computer, a tablet computer, a smartphone, a mobile phone, a camera, or a mobile game console, for example. The image forming device 300 in the present exemplary embodiment is a device equipped with a copy function, a scan function, a fax transmission and reception function, and a print function. However, the image forming device 300 may also be a device specializing in a single function, such as a scanner, a fax machine, a printer (including 3D printer), or an image editing device, for example.
The control unit 210 is an example of a controller, and is made up of a central processing unit (CPU) 211, read-only memory (ROM) 212, and random access memory (RAM) 213. The ROM 212 stores programs executed by the CPU 211. The CPU 211 reads out a program stored in the ROM 212, and executes the program using the RAM 213 as a work area. Through the execution of programs, workflow processes prescribed by the information 13A and 13B discussed earlier are executed. A specific example of a workflow process will be discussed later.
The storage unit 214 is made up of a storage device such as a hard disk device or semiconductor memory. The display unit 215 is a display device that displays various images through the execution of a program (including an operating system and firmware). The display unit 215 is made up of a liquid crystal display panel or an organic electroluminescence (EL) display panel, for example. The operation receiving unit 216 is a device that accepts operations from the user, and is made up of devices such as a keyboard, one or more buttons and switches, a touchpad, or a touch panel, for example. The communication unit 217 is made up of a local area network (LAN) interface, for example.
The control unit 310 is an example of a controller, and is made up of a central processing unit (CPU) 311, read-only memory (ROM) 312, and random access memory (RAM) 313. The ROM 312 stores programs executed by the CPU 311. The CPU 311 reads out a program stored in the ROM 312, and executes the program using the RAM 313 as a work area. Through the execution of a program, the respective components of the image forming device 300 are controlled. For example, operations such as the formation of an image onto the surface of a paper sheet and the generation of a scanned image are controlled.
The storage unit 314 is made up of a storage device such as a hard disk device or semiconductor memory. The display unit 315 is a display device that displays various images through the execution of a program (including an operating system and firmware). The display unit 315 is made up of a liquid crystal display panel or an organic electroluminescence (EL) display panel, for example. The operation receiving unit 316 is a device that accepts operations from the user, and is made up of devices such as one or more buttons and switches, or a touch panel, for example.
The image reading unit 317 is commonly referred to as a scanner device. The image forming unit 318 is a print engine that forms an image onto a paper sheet, which is one example of a recording medium, for example. The communication unit 319 is made up of a local area network (LAN) interface, for example. The image processing unit 320 is made up of a dedicated processor that performs image processing such as color correction and tone correction on image data, for example.
First, an example of a still image used in respective usage scenarios will be described. Note that since a moving image is constructed as a time series of multiple still images, the still image described below is also applicable to the case of a moving image.
<Configuration Related to Decoding Function>
The respective usage scenarios discussed later are realized by the computer 200, by the computer 200, or by the cooperation of the computer 200 and the image forming device 300. In the following description, unless specifically noted otherwise, the respective usage scenarios are realized by the computer 200. Also, unless specifically noted otherwise, one piece of information 13A for one subject is taken to be stated in the attribute information 16 of the JPEG file 10. The information 13A is information prescribing a workflow process related to one subject, and is stated in JSON.
The user instruction is recognized as a selection of a subject included in the still image 400. The user instruction position is given as coordinates (pixel value, pixel value) in a coordinate system defined for the still image 400 (for example, a coordinate system that takes the origin to be the upper-left corner of the screen). The instruction position may be recognized as the position of a cursor displayed overlaid onto the still image 400, or may be recognized by a touch panel sensor disposed in front of the display unit 215 (on the user side), as a position touched by the user.
The execution control unit 222 executes the following process when the information 13A prescribing a workflow process related to a subject is stated as part of the attribute information 16 attached to the JPEG file 10. First, the execution control unit 222 determines whether or not the instruction position recognized by the instruction recognition unit 221 is included in a region or range associated with the information 13A. If the instruction position recognized by the instruction recognition unit 221 is not included in the region or range associated with the information 13A, the execution control unit 222 does not execute the workflow process prescribed by the information 13A. On the other hand, if the instruction position recognized by the instruction recognition unit 221 is included in the region or range associated with the information 13A, the execution control unit 222 executes the workflow process prescribed by the information 13A.
Next, a processing sequence executed by the control unit 210 will be described.
Next, the control unit 210 recognizes the position of the mouse pointer on the still image 400 displayed on the display unit 215 (step 102). After that, the control unit 210 determines whether or not the information 13A stated in JSON is associated with the position specified by the mouse pointer (step 103). If a negative determination result is obtained in step 103, the control unit 210 returns to step 102. This means that the information 13A is not associated with the region of the still image 400 indicated by the mouse pointer. In contrast, if a positive determination result is obtained in step 103, the control unit 210 executes the workflow process stated in JSON (step 104). The content of the executed workflow process is different depending on the stated content.
<Usage Scenarios>
Hereinafter, usage scenarios realized through the execution of the information 13A stated in the application segment 13 of the attribute information 16 will be described.
<Usage Scenario 1>
At this point a case will be described in which information 13A prescribing a workflow process related to the lighting fixture 403, which is one of the subjects in the still image 400, is stated in the attribute information 16 of the JPEG file 10. In other words, in the case of Usage Scenario 1, information 13A corresponding to the image forming device 401, the television receiver 402, the person 404, or the potted plant 405 is not stated in the attribute information 16.
In the workflow process in Usage Scenario 1, the following operations are executed sequentially: checking the user-supplied instruction position, displaying an operation screen for controlling the switching on and off of the lighting fixture 403, receiving operation input with respect to the displayed operation screen, outputting a command signal corresponding to the received operation input, and changing the display state of the lighting fixture 403.
Hereinafter, the state of execution of a workflow process in Usage Scenario 1 will be described using
First, the user causes the still image 400 to be displayed on the screen of the display unit 215. Subsequently, the attribute information 16 of the still image 400 is given to the execution control unit 222. The execution control unit 222 decodes the content stated in the attribute information 16, and specifies a region or range associated with the information 13A stated in the application segment 13.
Next, the user moves a mouse pointer 501 over the lighting fixture 403 in the still image 400 (the step denoted by the circled numeral 1 in the drawing). If a touch panel sensor is disposed in front of the display unit 215, this operation is performed by a touch operation using a fingertip. Note that the lighting fixture 403 in the still image 400 is in the state at the time of capturing the image, and thus is in the on state. The user's operation input is received via the operation receiving unit 216, and given to the instruction recognition unit 221.
In this usage scenario, since the information 13A is associated with the lighting fixture 403, the instruction recognition unit 221 executes the workflow process stated in the information 13A. First, a popup window 510 for operating the lighting fixture 403 is displayed on the screen of the display unit 215 (the step denoted by the circled numeral 2 in the drawing). In the popup window 510, an On button 511 and an Off button 512 are illustrated. Next, the user moves the mouse pointer 501 over the Off button 512, and clicks the Off button 512. This operation input is given to the instruction recognition unit 221 from the operation receiving unit 216. The popup window 510 is an example of a screen associated with a subject.
The execution control unit 222, upon recognizing that the Off button 512 has been clicked, transmits an off command to the actual lighting fixture 601 depicted in the still image 400 (the step denoted by the circled numeral 3 in the drawing). A command signal relevant to the control of the lighting fixture 601 is preregistered in the computer 200. Note that if the lighting fixture 601 includes an infrared receiver, and turning on or off is executed by the reception of an infrared signal, the execution control unit 222 outputs the off command using an infrared emitter (not illustrated) provided in the computer 200.
As a result, the lighting fixture 601 changes from an on state to an off state. In other words, the still image 400 is used as a controller for the actual lighting fixture 601. Note that the output destination for the off command may also be an actual remote control used to operate the lighting fixture 601. In this case, the off command is transmitted to the lighting fixture 601 via the remote control.
Meanwhile, the JPEG file 10 corresponding to the still image 400 is digital data, and thus is easily distributed to multiple users. In other words, it is easy to share the virtual controller among multiple people. Consequently, constraints such as in the case of sharing a physical controller among multiple people do not occur. For this reason, the turning on and off of the actual lighting fixture 601 is operated via each person's computer 200. Furthermore, the actual lighting fixture 601 has a one-to-one correspondence with the lighting fixture 403 in the still image 400, that is, the captured image. For this reason, intuitive specification of the control target by the user is realized. Also, to make it easy to understand the conditions of the control of a subject by multiple users, information such as the name of the current operator may be displayed on a virtual controller displayed in the still image 400.
Note that if the actual lighting fixture 601 or remote control supports the Internet of Things (IoT), the location of the user viewing the still image 400 and the installation location of the actual lighting fixture 601 may be physically distant. However, an additional mechanism for specifying the lighting fixture 601 to control may be beneficial. To specify the lighting fixture 601, information such as information about the imaging position, unique information assigned to each piece of equipment, or an address for communication assigned to each piece of equipment may be used as appropriate.
Subsequently, as illustrated in
In other words, the still image 400 is used to confirm that the actual lighting fixture 601 has changed to the off state. The function of changing the display mode of a subject in accordance with the control content in this way improves user convenience when the turning on or turning off of the lighting fixture 601 is controlled from a remote location. Obviously, if the subjects depicted in the still image 400 are controlled by multiple users, the display mode changed as a result of controlling each subject may be applied to each still image. Note that even if the still image 400 itself is different, if the same subject is depicted, the condition of the same subject may be acquired via a network, and the display mode of the same subject depicted in each still image may be changed.
The foregoing describes a case in which the lighting fixture 403 is specified on the still image 400, but if the television receiver 402 is specified on the still image 400, for example, an operation screen including elements such as a power switch, buttons for changing the channel, buttons for selecting a channel, and volume adjustment buttons may also be displayed on the still image 400, on the basis of the information 13A stated in the attribute information 16 of the JPEG file 10 corresponding to the still image 400. Also, if a motorized window or door is specified, buttons for opening and closing the window or door may be displayed. Likewise in these cases, the color and shape of the subject displayed in the still image 400 may be altered to reflect the result of an operation.
In addition, if multiple functions realized through workflow processes are made available for a single still image 400, when the JPEG file 10 is read in, a list of the available functions may also be displayed in the still image 400. However, this display may also be conducted when the mouse pointer 501 indicates a subject for which information 13A is stated. Also, if only one subject with registered information 13A is depicted in the still image 400, when the JPEG file 10 corresponding to the still image 400 is read in, a predetermined workflow process may be executed even without giving an instruction using the mouse pointer 501.
In this usage scenario, the computer 200 is equipped with a function of decoding the application segment 13, but a computer 200 not equipped with the decoding function obviously may be unable to execute a workflow process prescribed by the information 13A. In this case, the computer 200 may search, via a communication medium, for an external device equipped with the function of decoding the application segment 13, and realize the above function by cooperating with a discovered external device. For example, the attribute information 16 (at least the application segment 13) may be transmitted from the computer 200 to the image forming device 300 for decoding, and a decoded result may be acquired from the image forming device 300.
<Usage Scenario 2>
At this point, an example will be described for a process executed when editing or copying the corresponding still image 400 in a case in which the attribute information 16 of the JPEG file 10 includes the information 13A prescribing a workflow process related to a subject. Note that the process in Usage Scenario 2 likewise is executed by the control unit 210 of the computer 200.
This function of copying a partial image may also be used to create an operation screen in which the pieces of electronic equipment included in the still image 400 are arranged on a single screen.
<Usage Scenario 3>
At this point, the provision of a new usage scenario realized by combining the JPEG file 10 with another document will be described.
In this case, the content displayed in the popup window 552 is prescribed by the information 13A inside the JPEG file 10, while the layout position and size of the popup window 552 is prescribed by the content stated in the region 551 inside the electronic document 550. Consequently, a complex workflow process that may not be obtained with only the workflow process prescribed by the information 13A is realized. Note that by combining the statements of the information 13A and the region 551, special characters and graphics may be made to appear.
<Usage Scenario 4>
At this point, operation will be described for a case of printing an image of the JPEG file 10, in which the information 13A prescribing a workflow process is stated in the attribute information 16, onto a recording medium, that is, a paper sheet. In the foregoing usage scenarios, the copying of the attribute information 16 is executed in the form of a data file, but in this usage scenario, the copying is performed using a paper sheet.
The coded image 560 with low visibility is an image made up of hard-to-notice microscopic dots arranged in the background of the output document. For example, MISTCODE (Micro-dot Iterated and Superimposed Tag CODE) may be used as the technology for creating the coded image 560. MISTCODE is made up of a pattern obtained by arranging dots according to certain rules, and this pattern is distributed throughout a paper sheet to embed information. The control unit 210 of the computer 200 generates a composite image 570 in which the coded image 560 with low visibility created from the attribute information 16 is embedded into the still image 400, and gives this information to the image forming device 300.
After that, the control unit 210 composites the generated coded image 560 with the still image 400 corresponding to the main image (that is, the image data 14), and generates the composite image 570 (step 203). After that, the control unit 210 outputs the composite image 570 to the image forming device 300 (step 204). Note that the process of compositing the coded image 560 and the still image 400 may also be executed inside the image forming device 300.
In the case of receiving the composite image 570, a reverse process is executed.
First, the control unit 210 analyzes the scanned image (step 301). Next, the control unit 210 determines whether or not the scanned image contains embedded information (step 302). If a negative determination result is obtained in step 302, the control unit 210 ends the flow without executing the processes discussed below. On the other hand, if a positive determination result is obtained in step 302, the control unit 210 decodes the information embedded in the scanned image (step 303). Specifically, the coded image 560 is decoded. After that, the control unit 210 saves the scanned image as the JPEG file 10, and at this point, states the decoded information in the attribute information 16 (step 304). Note that the workflow process associated with the application segment 13 is stated in JSON.
By providing the computer 200 with the above processing functions, the JPEG file 10 that includes the information 13A prescribing a workflow process is generated from printed material in which the attribute information 16 of the JPEG file 10 is embedded as the coded image 560.
<Usage Scenario 5>
The foregoing usage scenarios suppose a case in which the information 13A prescribing a workflow process is associated with a subject, that is, a piece of equipment. However, the information 13A prescribing a workflow process may also be attached to objects such as the person 404 or the potted plant 405.
In the case of
<Usage Scenario 6>
The foregoing usage scenarios describe functions executed by the computer 200 reading out the information 13A in a case in which the attribute information 16 of the JPEG file 10 includes the information 13A stating a workflow process related to a subject. The present usage scenario describes a case of recording the information 13A in the attribute information 16 of the JPEG file 10.
The subject detection unit 232 is used when an image of the subject for which to record the information 13A has been registered in advance. The subject detection unit 232 matches the image data 14 included in the JPEG file 10 (that is, the still image 400) with the registered image, and outputs coordinate information at which a subject matching the registered image exists as position information.
The attribute information description unit 233 records the statement of a workflow process in the application segment 13 of the attribute information 16, in association with the position information. At this point, the statement of the workflow process may be edited by the user, or a statement prepared in advance may be used. Also, the workflow process is stated as text in JSON.
The foregoing thus describes an exemplary embodiment of the present invention, but the technical scope of the present invention is not limited to the scope described in the foregoing exemplary embodiment. In the foregoing exemplary embodiment, an exemplary embodiment of the present invention is described using a still image JPEG file as an example of an image file format, but the applicable file format is not limited to a still image or a JPEG file, and moving images as well as file formats other than JPEG are also applicable. It is clear from the claims that a variety of modifications or alterations to the foregoing exemplary embodiment are also included in the technical scope of the present invention.
The foregoing description of the exemplary embodiment of the present invention has been provided for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Obviously, many modifications and variations will be apparent to practitioners skilled in the art. The embodiment was chosen and described in order to best explain the principles of the invention and its practical applications, thereby enabling others skilled in the art to understand the invention for various embodiments and with the various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the following claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
2016-207903 | Oct 2016 | JP | national |