The present application claims priority to and incorporates by reference the entire contents of Japanese priority document 2007-054530 filed in Japan on Mar. 5, 2007.
1. Field of the Invention
The present invention relates to a technology for creating an image to be displayed as an operation screen.
2. Description of the Related Art
There has been known technologies, see for example, Japanese Patent Application Laid-open No. 2006-276989, for generating a web page to be displayed on a display screen of an information processing apparatus. Such a screen is generated by using a screen layout-data file and an operation indicating file.
There has been also known technologies for generating and displaying operation screens, on a display unit an image processing apparatus, from which users can input various instructions for controlling the operation of the image processing apparatus. Such instructions include, for example, instruction about print settings or a print instruction. An operation screen is displayed by executing computer programs. Specifically, one computer program is prepared for each page of the operation screen. Specific knowledge and technique is required to generate such computer programs, moreover, it is a time-consuming and laborious job to generate a computer program from each page when there are lot of pages. Therefore, in contrast to web pages that can be created based on the well-known general web-page creating technologies, operation screen of most of the image processing apparatuses are generated by using unique technologies. In other words, most manufacturers of the image processing apparatuses develop operation screens of their manufactured image processing apparatuses by using their own technologies, and pre-install those operation screens into the image processing apparatus.
There has arisen a need for image processing apparatuses in which it is possible to customize the operation screens. Persons without the specific knowledge or technique, however, cannot generate operation screens of the conventional image processing apparatuses. Moreover, moreover, because it is a time-consuming and laborious job to generate a computer program from each page when there are a lot of pages, it has been difficult to customize the operation screen.
It is an object of the present invention to at least partially solve the problems in the conventional technology.
According to an aspect of the present invention, there is provided an image processing apparatus that performs image processing based on an instruction received from a user via an operation screen displayed on a display unit. The image processing apparatus includes a storage unit that stores therein layout information indicative of layout of a screen element on an operation screen, definition information for defining an instruction to be associated with the screen element, and image information representing an image to be associated with the screen element; and a screen control unit that generates the operation screen by using the layout information, the definition information, and the image information, and displays the operation screen on the display unit.
According to another aspect of the present invention, there is provided a method of performing image processing based on an instruction received from a user via an operation screen displayed on a display unit. The method includes reading from a storage unit layout information indicative of layout of a screen element on an operation screen, definition information for defining an instruction to be associated with the screen element, and image information representing an image to be associated with the screen element; generating the operation screen by using the layout information, the definition information, and the image information read at the reading; and displaying the operation screen generated at the generating on the display unit.
According to still another aspect of the present invention, there is provided a computer program product that contains a computer program that causes a computer to implement the above method of performing image processing.
The above and other objects, features, advantages and technical and industrial significance of this invention will be better understood by reading the following detailed description of presently preferred embodiments of the invention, when considered in connection with the accompanying drawings.
Exemplary embodiments of the present invention are described in detail below with reference to the accompanying drawings.
The operation panel 220 is an integrated device including a display device such as a liquid crystal panel on which the operation screen is displayed and the operation device such as a touch panel from which an instruction from a user is received.
The HDD 219 stores therein the element definition-file, the screen-element file, and the layout-data file. The screen-element file is data representing an image of a screen element to be displayed on the operation screen. The screen element is roughly categorized into three types, that is, button, text, and background/icon. A button-type screen element displayed on the operation panel 220 is pressible. The user can issue an instruction about various processes by pressing a target button-type screen element. A text-type screen element is used for displaying a description or a message for a user by means of letters or signs. A background/icon-type screen element is an image such as a photographic image or a computer graphic image. The layout-data file is data indicative of layout of a screen element on the operation screen. More particularly, the layout position is defined using values of x-coordinate and y-coordinate assuming that the operation screen is a two-dimensional coordinates. The element definition-file is data for defining which screen element is arranged at the point indicated by the layout-data file. A button-type screen element is defined its height h and width w by the element definition-file. The element definition-file is generated corresponding to one of pages of the operation screen. The screen-element file representing a screen element that is displayed on several pages can be shared. The element definition-file, the screen-element file, and the layout-data file are described in details later.
The operation-unit control unit 222 is performed by a control device such as a CPU (not shown) other than the CPU 212. The operation-unit control unit 222 controls the operation panel 220 to receive an instruction from a user via the operation panel 220 or to display the operation screen on the operation panel 220. Moreover, the operation panel 220 updates under control of the CPU 212 a display status of the operation screen displayed on the operation panel 220.
The first software architecture of the MFP 10 is separated into three layers, i.e., a presentation layer 12, a logic layer 14, and a device layer 16, each of which includes a plurality of components. The first software architecture includes a shared feature 18 that can be used by any layers besides. When a process is changed in any one of the presentation layer 12, the logic layer 14, and the device layer 16, the other two layers are not subjected to the change.
The presentation layer 12 includes a user interface (UI) 100 and a UI-contents framework 110. The UI 100 receives a request from a user or a subscriber of a predetermined web service, and transfers an execution of the request to the logic layer 14. The UI-contents framework 110 communicates with the operation-unit control through the operation-unit control unit 222 using a hypertext transfer protocol daemon (httpd), and controls the display status of the operation screen.
The logic layer 14 includes a control 140 and application logic 150. The control 140 combines available features required for implementing the request received from the UI 100. An available feature means a single feature that is executed by a single device, for example, scanning or printing. The application logic 150 is a group of features offered by the MFP 10. The application logic 150 includes receiving and transmitting in addition to scanning and printing.
The device layer 16 includes a device service 160 and a device 170. The device service 160 is component services available to any one of the application logic. The device 170 is a component such as device control that operates an operation system (OS) or hardware. The device 170 is wrapped so that any change in the OS or the hardware cannot affect an upper layer.
The shared feature 18 includes an aspect 180. The aspect 180 uses logic that can affect above-described sub-components. More particularly, the shared feature 18 includes access control, history, and charge. The shared feature 18 makes it possible to avoid specification changes caused from plug-in and customization of a sub-component to concentrate in the logic.
The second software architecture includes a copy UI 300, a facsimile UI 301, and a scanner UI 302 that work as an activity UI or a filter UI, a UI-contents framework 310, a Flash Player (trademark) plug-in 320, a browser 330, an OS 340, and a shared feature 350 as sub-components.
The copy UI 300 is a feature concerning the operation screen that is displayed on the operation panel 220 when the MFP 10 operates as a copy machine. The facsimile UI 301 is a feature concerning the operation screen that is displayed on the operation panel 220 when the MFP 10 operates as a facsimile machine. The scanner UI 302 is a feature concerning the operation screen that is displayed on the operation panel 220 when the MFP 10 operates as a scanner. The copy UI 300, the facsimile UI 301, and the scanner UI 302 can be individually added to or removed from the second software architecture as a plug-in UI. It is possible to plug-in the copy UI 300, the facsimile UI 301, and the scanner UI 302 not by using a corresponding computer program but by creating the element definition-file, the screen-element file, and the layout-data file according to the embodiment and adding the created files.
The UI-contents framework 310 includes a screen control unit 311, a screen-information management unit 312, and a communications unit 313. When the element definition-file, the screen-element file, and the layout-data file are added, the UI-contents framework 310 operates so that the operation screen based on the added files can be displayed on the operation panel 220. More particularly, the screen control unit 311 reads the element definition-file and the layout-data file from the HDD 219, interprets contents of the element definition-file, reads a target screen-element file from the HDD 219 based on a result of the interpretation, and arranging a screen element specified by the target screen-element file at a layout position indicated by the layout-data file thereby generating the operation screen. The process of generating the operation screen is described in details later. The screen-information management unit 312 manages the screen-element file representing an image of a screen element to be arranged on the operation screen that is generated by the screen control unit 311. The communications unit 313 communicates with the CPU 212 under control of the screen control unit 311.
The Flash Player plug-in 320 is a general application including a communication library 321. The Flash Player plug-in 320 functions as an engine for displaying the operation screen on the operation panel 220. The browser 330 includes Flash Player (not shown) as an application for displaying the operation screen on the operation panel 220, and communicates with the CPU 212 using httpd to update, if required, the operation screen to be displayed on the operation panel 220. The OS 340 functions as the control system for displaying the operation screen or operating various software. The shared feature 350 offers a feature shared by the above-described sub-components.
The information processing apparatus 1 includes a CPU, a ROM that stores therein various control programs and various data, a RAM, an HDD that stores therein various application programs and various data, a communications control unit that controls data communications with an external device, a peripheral-device control unit that controls connection between the information processing apparatus 1 and a peripheral device, and a bus that connects with each of the units (none of those units are shown in the drawings). The information processing apparatus 1 is connected with or without a wire to a display device (not shown) and an input device (not shown) such as a keyboard or a mouse.
The HDD of the information processing apparatus 1 stores therein an application program such as Flash. The HDD additionally stores therein a computer program with which a user creates the layout-data file and the element definition-file. The HDD stores therein the image-element file based on an swf format or a bitmap format. The information processing apparatus 1 transmits the screen-element file, the layout-data file, and the element definition-file to the MFP 10 via the communications control unit according to operation by a user.
The process of creating the screen-element file, the layout-data file, and the element definition-file by a user using the information processing apparatus 1 is described below. First, the user operates the information processing apparatus 1 to execute a screen generating application, for example, Flash.
The user stores image data representing an image of a screen element, for example, the buttons BT1 and BT2, a text TX1, and a background HK1 as the screen-element file in the information processing apparatus 1. The image data representing an image of a screen element can be image data representing text including letters or signs. When the user operates the information processing apparatus 1 to describe XML-format data for defining a target screen element at a layout position specified by the layout data file, the information processing apparatus 1 creates an element definition-file based on the XML-format data. FIG. 8 is a schematic diagram for explaining data formation of the element definition-file. The element definition-file contains control data corresponding to each one of the control IDs. If a text-type screen element or an icon-type screen element is formed on a button-type screen element, the text-type or icon-type screen element is considered as a sub-element of the button-type screen element, so that data about the text-type or icon-type screen element is written into the element definition-file as sub-data. For example, data corresponding to screen elements BT1 and BT2 that are button-type screen element associated with sub-data includes, as shown in P1_Y and P2_Y lines 5 to 6 of
When the user inputs an instruction of requesting the information processing apparatus 1 to transmit the layout-data file, the element definition-file, and the screen-element file to the MFP 10, the information processing apparatus 1 transmits the layout-data file, the element definition-file, and the screen-element file that are created in the above-described manner to the MFP 10. Upon receiving the layout-data file, the element definition-file, and the screen-element file from the information processing apparatus 1, the MFP 10 stores the received files into the HDD 219. Thus, the UI concerning the operation screen is added to the MFP 10.
When a power switch (not shown) turns ON and the information processing apparatus 1 receives the power, the CPU 212 sends information about memory locations of the element definition-file and the layout-data file in the HDD 219 to the operation-unit control unit 222. Upon receiving the memory-location information about the element definition-file and the layout-data file from the CPU 212 (step S1), the operation-unit control unit 222 starts reading the element definition-file and the layout-data file using the memory-location information (step S2). The operation-unit control unit 222 acquires from the element definition-file a file name of the screen-element file (step S3), a point name indicative of a layout position of the screen element (step S4), and a type of the screen element (step S5). The operation-unit control unit 222 recognizes the type from, for example, the point name. If “button” is contained in the point name, the operation-unit control unit 222 determined that the type of the screen element is button. If “txt” is contained in the point name, the operation-unit control unit 222 determined that the type of the screen element is text. If “bitmap” is contained in the point name, the operation-unit control unit 222 determined that the type of the screen element is background/icon. After that, the operation-unit control unit 222 reads a screen-element file corresponding to the file name acquired at step S3 from the HDD 219 thereby acquiring the target screen-element file (step S6). The operation-unit control unit 222 arranges each of screen elements on a corresponding point indicated by the layout-data file by referring to the element definition-file. More particularly, the operation-unit control unit 222 determines whether a target screen element is button-type (step S7). When the operation-unit control unit 222 determines that the target screen element is button-type (Yes at step S7), the operation-unit control unit 222 loads the target screen-element file that is acquired at step S6 on a target point at which a point name equivalent to the point name acquired at step S4 is written into the layout-data file thereby arranging the target screen element on the target point (step S8). As a result, the target screen element is arranged at the target layout position, which is indicated by the layout-data file, on the operation screen. The operation-unit control unit 222 then allocates an event to the target screen element (step S9). Allocating an event means associating a screen element with an event in such a manner that information about the event is sent from the operation-unit control unit 222 to the CPU 212 when the screen element is pressed down. The information about the event includes contents of a process that is triggered by the press-down operation and a control ID of the screen element. The operation-unit control unit 222 repeats steps S3 to S9 until all screen element described in the element definition-file has been processed. When all screen element has been processed (Yes at step S10), the operation-unit control unit 222 displays the operation screen on the operation panel 220, and notifies the CPU 212 of a termination of the display process (step S11).
When the user presses, for example, the button BT1 on the operation screen SG1 (see,
Upon receiving the event information and the control ID from the operation-unit control unit 222, the CPU 212 defines the display status of a screen element corresponding to the control ID based on the event information, and sends display-status information indicative of the defined display status to the operation-unit control unit 222 (step S22). The display status can includes a color property, e.g., normal color or inverted color, of background or text within the button BT1 and a text property, e.g., size, of the text within the button BT1.
A customizing process of customizing the operation screen is described below. The operation-unit control unit 222, for example, displays on the operation panel 220 a UI-customize setting screen that is used for customizing the operation screen.
When the user presses the save button BT30, the operation-unit control unit 222 overwrites the updated element definition-file from the RAM 214 onto the HDD 219, thereby updating the element definition-file.
If the user hopes to change the current image of the screen element displayed on the operation screen to a new image, the user creates a new screen-element file representing the new image, and stores the new screen-element file into the HDD 219. After that, the user changes the file name described in the element definition-file from the current file name corresponding to the current screen-element file to a new file name corresponding to the new screen-element file thereby updating the element definition-file stored in the HDD 219. As a result, without changing the layout-data file, the MFP 10 can display the new operation screen designed by the user on the operation panel 220 with the updated element definition-file, the new screen-element file, and the unchanged layout-data file.
The operation screen is generated using the element definition-file, the screen-element file, and the layout-data file, instead of using computer programs that are generated in a manner that the computer programs corresponds to the pages of the operation screen, respectively. This allows reducing the man hours required for generating the operation screen. Moreover, because computer programs are not generated in such a manner that the computer programs correspond to the pages of the operation screen, respectively, an individual computer program need not contain data that specifies a layout position of a screen element. This allows saving a part of input operation by a developer thereby reducing a possibility of incorrect-input by the developer.
If a plurality of operation screens formations of which are common in a certain portion and different in the other portion is required, the operation screens can be generated only by changing a part of at least one of the layout-data file, the element definition-file, and the screen-element file that corresponds to the different portion. This allows reducing the man hours required for generating the operation screen. In other words, in a case that a current operation screen is to be changed to a new operation screen, and the current operation screen and the new operation screen have the common layout but have a different image for representing a screen element, it is possible to obtain the new operation screen by changing the element definition-file. Thus, the man hours required for generating the operation screen can be reduced.
Moreover, it is possible to share the screen-element data commonly used by a plurality of operation screens. It is unnecessary to generate pieces of the screen-element data in such a manner that the pieces of the screen-element data correspond to the pages of the operation screens, respectively. This allows reducing a recorded volume required for storing the image-element file and the man hours required for generating the operation screen.
Furthermore, it is possible to save operation by a user of describing event definition-information indicative of process contents corresponding to a button-type screen element. This allows reducing the man hours required for generating the operation screen.
Moreover, the operation screen can be customized by changing at least one of the layout-data file, the element definition-file, and the screen-element file according to the design of a customized operation screen. This facilitates customizing of the operation screen, and allows reducing the man hours required for generating the operation screen.
Furthermore, by means of the communications unit 313 that is provided to the operation-unit control unit 222, it is possible to generate, without considering data transaction between the operation-unit control unit 222 and the CPU 212, the operation screen the display status of which can be changed by an instruction from the user.
The MFP 10 is an example of the information processing apparatus. The layout-data file is exemplary layout information; the element definition-file is exemplary element definition-information; and the screen-element file is exemplary screen-element information. The point is exemplary position indicating information. The control ID or the point name is exemplary position identifying information.
Not limited to the above-described embodiments, various modifications can be made to the present invention.
Although the computer programs executed by the MFP 10 or the information processing apparatus 1 are stored in the ROMs according to the present embodiment, the computer programs can be stored in a form of file that is installable and executable on a computer, in a recording medium readable by the MFP 10 or the information processing apparatus 1, such as a compact disk-read only memory (CD-ROM), a flexible disk (FD), a compact disk-recordable (CD-R), and a digital versatile disk (DVD). The computer programs can be stored in another computer connected to the computer via a network such as the Internet, and downloaded to the MFP 10 or the information processing apparatus 1 via the network.
Although a configuration is explained above in which the CPU other than the CPU 212 works as the operation-unit control unit 222, the CPU 212 can perform the functions of the operation-unit control unit 222 instead of the CPU.
The user operates the information processing apparatus 1 to generate the layout-data file and the element definition-file and send the generated files to the MFP 10 according to the present embodiment. However, it is possible to configure the MFP 10 to generate the layout-data file and the element definition-file according to user operation. The layout-data file and the element definition-file can be stored in a recording medium readable by a computer such as a CD-ROM or a DVD in a form installable to the MFP 10.
Moreover, the MFP 10 can be configured to manage the operation depending on the user and display an operation screen dedicated to an identified user. To implement such configuration, it is required to create a user-based element definition-file corresponding to each one of user IDs that are allocated to users, respectively and store the user-based element definition-file in the HDD 219. Upon receiving a user ID via the operation panel 220, the MFP 10 reads a user-based element definition-file corresponding to the received user ID and the layout-data file from the HDD 219, and loads by referring to the user-based element definition-file a screen element represented by the screen-element file on the layout position specified by the layout-data file, thereby generating a user-based operation screen. A default element definition-file for generating the default operation screen is stored in the HDD 219. When no user ID is received, the MFP 10 reads the default element definition-file from the HDD 219, generates the default operation screen based on the default element definition-file, and displays the default operation screen on the operation panel 220. The MFP 10 can be configured to generate, when a user ID is received after the default operation screen is displayed, the user-based operation screen based on the user-based element definition-file corresponding to the user ID, and change the default operation screen to the user-based operation screen.
In this configuration in which there are various operation screens depending on the user, some of the user-based operation screens can have an identical layout. Various user-based element definition-files corresponding to the user-based operation screens having the identical layout can be easily created from one of the user-based element definition-files. To generate the user-based operation screens having the identical layout, it is unnecessary to generate computer programs in such a manner that the computer program correspond to the pages of the user-based operation screen that varies depending on the user. It is possible to generate various user-based element definition-files from a single common layout-data file. This allows reducing the man hours required for generating the various user-based operation screens. Moreover, this configuration makes it possible to customize an image of a button, an icon, or a background or characters of text using the identical layout thereby obtaining various user-based operation screens. As a result, it is possible to improve the usability.
The MFP 10 includes the operation panel 220 that is an integrated input-operation/display device according to the embodiment. However, it is allowable to separately provide a display device such as a liquid crystal panel on which the operation screen is displayed and an operation device from which an instruction from a user is received.
According to an embodiment of the present invention, it is possible to facilitate customizing of the operation screen.
Although the invention has been described with respect to specific embodiments for a complete and clear disclosure, the appended claims are not to be thus limited but are to be construed as embodying all modifications and alternative constructions that may occur to one skilled in the art that fairly fall within the basic teaching herein set forth.
Number | Date | Country | Kind |
---|---|---|---|
2007-054530 | Mar 2007 | JP | national |