Abstract:
A regular menu item arrangement is made available to a user by providing a hierarchy menu including a layer from which an object is selected and a layer from which a predicate is selected, leading to an improvement in operability. The layer of the object menu and layer of the predicate menu may be respectively made higher and lower in a hierarchy, or vice versa. Both of the menus may be switched.  
     Additionally, menu items of a plurality of hierarchies are combined into one item according to a use history, etc., and the combined item is provided as an item of a higher-level hierarchical menu, so that a high-speed input is realized and operability is improved.  
     Furthermore, menu items are varied according to the attributes of a user, such as age, gender, etc., thereby improving operability.

Description:
CROSS REFERENCE TO RELATED APPLICATION  
       [0001]    This application is a continuation of International PCT application No. PCT/JP99/03589 filed on Jul. 2, 1999.  
     
    
     
       BACKGROUND OF THE INVENTION  
         [0002]    1. Field of the Invention  
           [0003]    The present invention relates to an electronic processing device having a menu interface, and more particularly, to an electronic processing device having a menu interface which displays an easy-to-use menu.  
           [0004]    2. Description of the Related Art  
           [0005]    An electronic processing device performing an interaction process is configured to display a menu, and to perform a process corresponding to an item (menu item) selected from the menu in many cases. For an electronic processing device displaying such a menu, an easy-to-use interface must be implemented by displaying an easy-to-use menu.  
           [0006]    [0006]FIG. 1 explains a conventional technique. The menu shown in FIG. 1 is configured hierarchically. This menu displays “File”, “Edit”, “Modify”, “Display”, “Graphic”, “Option”, “Window”, and “Help” as the menu items of a higher-level hierarchy. If “File” is selected from this menu, “Newly generate”, “Open”, “Specify and open”, etc. are displayed as the menu items of a lower-level hierarchy. Or, if “Edit” is selected, “Not restored”, “Unable to repeat”, “Cut”, etc. are displayed as the menu items of the lower-level hierarchy of the “Edit” menu.  
           [0007]    As described above, the menu according to the conventional technique has no particular regularity in arranging menu items. In the above described example, menu items corresponding to nouns “File”, “Graphic”, etc., and those corresponding to verbs “Edit”, “Modify”, etc. are mixed and displayed in one hierarchy on the menu screen.  
           [0008]    Because the conventional menu has no particular regularity in arranging menu items as described above, users frequently feel the inconvenience of operations using the menu. For example, if a user desires to edit a file, it is difficult to determine whether “File” or “Edit” must be first selected in the above described menu. Additionally, it is difficult to grasp the entire structure of the conventional menu. Furthermore, since the depths or the hierarchical levels of respective menu items are not even in the conventional menu, operations for many hierarchical menus are required depending on a process to be executed.  
           [0009]    If the menu according to the conventional technique is used, a frequently used process, a process to be performed in a hurry, such as an emergency stop of a system, etc. cannot immediately be executed. Assuming that a “Tile windows horizontally” process is requested, “Window” is selected from a higher-level hierarchical menu, and “Tile windows horizontally” must be selected from the lower-level hierarchical menu of “Window”. That is, menu items must be selected from hierarchical menus in order while opening the hierarchical menus from higher levels one by one.  
           [0010]    As described above, even a frequently used process, a process to be executed in a hurry, etc. cannot immediately be performed with the conventional menu, leading to an inconvenience.  
           [0011]    Additionally, the menu according to the conventional technique is not customized for each user. Namely, a Human-machine interface that is customized for each user is not provided. For example, the same menu is displayed regardless of whether a male or a female uses the menu.  
           [0012]    As described above, it can hardly be said that a sufficiently easy-to-use menu is conventionally provided, and there are many respects to be improved so as to enhance user operability.  
         SUMMARY OF THE INVENTION  
         [0013]    The present invention aims at providing an electronic processing device having a menu interface which displays an easy-to-use menu.  
           [0014]    An electronic processing device of the present invention has a menu interface and comprises: displaying unit displaying an object menu including one or more objects as selectable menu items; selecting unit selecting an object from the object menu displayed by said displaying unit; and managing unit making said displaying unit display one or more predicates corresponding to the object selected by said selecting unit as selectable menu items.  
           [0015]    An electronic processing device of another feature has a menu interface and comprises: displaying unit displaying a predicate menu including one or more predicates as selectable menu items; selecting unit selecting a predicate from the predicate menu displayed by said displaying unit; and managing unit making said displaying unit display one or more objects corresponding to the predicate selected by said selecting unit as selectable menu items.  
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0016]    [0016]FIG. 1 explains a conventional technique;  
         [0017]    FIGS.  2  to  5  are block diagrams showing the principle of the present invention;  
         [0018]    [0018]FIG. 6 is a block diagram showing the configuration of an electronic processing device to which the present invention is applied;  
         [0019]    [0019]FIG. 7 explains a menu structure;  
         [0020]    [0020]FIGS. 8 and 9 exemplify the configuration of a menu used in a car navigation system;  
         [0021]    [0021]FIGS. 10A, 10B,  11 A, and  11 B exemplify a menu screen;  
         [0022]    [0022]FIGS. 12 and 13 exemplify a program describing the processes displaying a menu;  
         [0023]    [0023]FIG. 14 shows the menu data for the menu shown in FIG. 10A;  
         [0024]    [0024]FIG. 15 is a flowchart showing the process displaying a menu;  
         [0025]    [0025]FIG. 16 shows the menu data for the menu shown in FIG. 10B;  
         [0026]    [0026]FIG. 17 shows the menu data for the menu shown in FIG. 11A;  
         [0027]    [0027]FIG. 18 shows menu data for the menu shown in FIG. 11B;  
         [0028]    [0028]FIG. 19 is a flowchart showing the process for displaying a menu;  
         [0029]    [0029]FIGS. 20 and 21 exemplify the menu having a display mode switching capability;  
         [0030]    [0030]FIGS. 22 and 23 show the respective menu data for the menus shown in FIGS. 20 and 21;  
         [0031]    [0031]FIG. 24 explains the capabilities of a menu customizing unit;  
         [0032]    [0032]FIG. 25 explains the registration process performed by the menu customizing unit;  
         [0033]    [0033]FIG. 26 explains the process registering a function corresponding to a newly generated menu item;  
         [0034]    [0034]FIG. 27 explains another example of the registration process performed by the menu customizing unit;  
         [0035]    [0035]FIG. 28 exemplifies the program for an entry generation process;  
         [0036]    [0036]FIG. 29 is a flowchart showing the entry generation process;  
         [0037]    [0037]FIG. 30 exemplifies the program for the process registering a menu item according to a use frequency;  
         [0038]    [0038]FIG. 31 is a flowchart showing the process registering a menu item according to a use frequency;  
         [0039]    [0039]FIG. 32 explains the process deleting a currently registered menu item;  
         [0040]    [0040]FIG. 33 exemplifies the program for the process deciding a menu item to be deleted;  
         [0041]    [0041]FIG. 34 is a flowchart showing the process deciding a menu item to be deleted;  
         [0042]    [0042]FIG. 35 explains the process providing a menu suitable for a user;  
         [0043]    [0043]FIG. 36 exemplifies a menu prepared for each category to which a user belongs;  
         [0044]    [0044]FIG. 37 is a block diagram showing the configuration of the computer executing a program describing the processes according to the present invention; and  
         [0045]    [0045]FIG. 38 explains the method providing software programs etc. according to the present invention.  
     
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0046]    [0046]FIGS. 2 through 5 are block diagrams explaining the principle of the present invention. Electronic processing devices  1  shown in these figures execute a predetermined process while displaying a menu.  
         [0047]    The electronic processing device  1  shown in FIG. 2 comprises an input device  10 , an output device  11 , a managing unit  12 , a displaying unit  13 , and a selecting unit  14 . The input device  10  receives instructions from a user or other devices. The selecting unit  14  selects a menu item displayed on the output device  11  according to the instruction accepted by the input device  10 .  
         [0048]    The managing unit  12  manages an object menu having one or more objects as selectable menu items, and a predicate menu having one or more predicates as selectable menu items. Here, if the object menu is defined to be a higher-level hierarchy, one or more predicates corresponding to the objects that belong to the object menu belong to the predicate menu. In the meantime, if the predicate menu is defined to be a higher-level hierarchy, one or more objects corresponding to the predicates that belong to the predicate menu belong to the object menu. The displaying unit  13  displays the menu managed by the managing unit  12  on the output device  11 . The output device  11  displays the menu according to the instruction of the displaying unit  13 .  
         [0049]    In the above described configuration, the displaying unit  13  displays the object menu according to the management made by the managing unit  12 , and displays the predicate corresponding to a selected object if it is selected from the object menu by the selecting unit  14 . Or, the displaying unit  13  displays the predicate menu according to the management made by the managing unit  12 , and displays the object corresponding to a selected predicate if it is selected from the predicate menu by the selecting unit  14 .  
         [0050]    Since the electronic processing device  1  shown in FIG. 2 displays a menu according to the relationship of “an object to a predicate”, or the relationship of “a predicate to an object” as described above, the entire structure of the menu can be grasped with ease. In addition, the operations are made uniform, and the hierarchies of menus are made even, so that an easy-to-use menu can be realized.  
         [0051]    The electronic processing device  1  shown in FIG. 3 comprises an input device  10 , an output device  11 , a managing unit  15 , a switching unit  16 , a displaying unit  17 , and a selecting unit  18 . The managing unit  15  manages a first and a second menu configuration. The first menu configuration is a configuration where an object menu having one or more objects as menu items is a higher-level hierarchy, while a predicate menu having one or more predicates as menu items is a lower-level hierarchy of the object menu. Here, the one or more predicates belonging to the predicate menu are arranged in correspondence with the one or more objects belonging to the object menu. The second menu configuration is a configuration where a predicate menu having one or more predicates as menu items is a higher-level hierarchy, while an object menu having one or more objects as menu items is a lower-level hierarchy of the predicate menu. Here, the one or more objects belonging to the object menu are arranged in correspondence with the one or more predicates belonging to the predicate menu.  
         [0052]    The switching unit  16  instructs a first display mode or a second display mode according to the instruction from the input device  10 . The first display mode displays the above described first menu configuration, while the second display mode displays the above described second menu configuration. The displaying unit  17  displays a menu on the output device  11  according to the display mode instructed by the switching unit  16 . The selecting unit  18  selects a menu item from the menu displayed on the output device  11  according to the instruction from the input device  10 .  
         [0053]    As described above, in the electronic processing device  1  shown in FIG. 3, the displaying unit  17  displays the object menu, when the first display mode is selected by the switching unit  16 . If a certain object is selected from the object menu by the selecting unit  18 , the displaying unit  17  displays the predicate corresponding to the selected object. On the other hand, when the second display mode is selected by the switching unit  16 , the displaying unit  17  displays the predicate menu. If a certain predicate is selected from the predicate menu by the selecting unit  17 , the displaying unit  17  displays the object corresponding to the selected predicate.  
         [0054]    As described above, with the electronic processing device shown in FIG. 3, the menus configured by the relationship of “an object to a predicate” and the relationship of “a predicate to an object” are prepared, and an arbitrary one of the menus is displayed according to the instruction from the input device  10 . Accordingly, a user can select his or her desired one of the menus starting from an object or a predicate, when the user desires to perform a certain operation. As a result, an easy-to-use menu for the user can be realized.  
         [0055]    The electronic device shown in FIG. 4 comprises an input device  10 , an output device  11 , a managing unit  19 , a displaying unit  20 , a selecting unit  21 , a registering unit  22 , and a deleting unit  23 . The managing unit  19  manages the menu data defining the configuration of a hierarchical menu. The displaying unit  20  displays a menu on the output device  11  according to the menu data managed by the managing unit  19 . The selecting unit  21  selects menu items from a plurality of hierarchical menus one by one according to the instruction from the input device  10 .  
         [0056]    The registering unit  22  registers a new menu item defined by a combination of a plurality of menu items selected by the selecting unit  21 . The deleting unit  23  deletes the menu item registered by the registering unit  22  from the managing unit  19 .  
         [0057]    If menu items are selected from a plurality of hierarchical menus by the selecting unit  21 , the registering unit  22  determines whether or not the menu item defined by the combination of the selected menu items must be registered to the managing unit  19  according to an interaction process or the attributes of the menu items. If the registering unit  22  determines that the new menu item must be registered, it registers this menu item to the managing unit  10 . The deleting unit  23  determines whether or not the menu item registered by the registering unit  22  must be deleted from the managing unit  10 . If the deleting unit determines that the menu item registered by the registering unit  22  must be deleted, it deletes this menu item from the managing unit  19 . Note that the instruction from a user or a different device is given to the registering unit  22  or the deleting unit  23  via the input device  10  and the selecting unit  21  in the above described interaction process.  
         [0058]    As described above, with the electronic processing device shown in FIG. 4, the menu items for the execution of a desired process can be selected with just one operation (with just one click). Namely, the menu items, which were conventionally specified by the operations for selecting menu items from respective hierarchies while sequentially opening the hierarchical menus, can be specified with just one operation by using the method according to the present invention.  
         [0059]    The electronic processing device  1  shown in FIG. 5 comprises an input device  10 , an output device  11 , a managing unit  24 , an obtaining unit  25 , an identifying unit  26 , a displaying unit  27 , and a selecting unit  28 . The managing unit  24  manages menu data defining the configuration of the menu corresponding to the category to which each user belongs. The obtaining unit  25  obtains the category to which each user belongs. The identifying unit  26  identifies the menu configuration corresponding to the category obtained by the obtaining unit  25 . The displaying unit  27  displays the menu identified by the identifying unit  26  on the output device  11 . The selecting unit  28  selects a desired menu item from the menu displayed on the output device  11  according to the instruction from the input device  10 .  
         [0060]    If a category to which a user belongs is obtained by the obtaining unit  25  in the above described configuration, the identifying unit  26  identifies the menu configuration corresponding to the category obtained by the obtaining unit  25 . Then, the displaying unit  27  displays the menu corresponding to the category to which the user belongs on the output device  11  based on the identification made by the identifying unit  26 .  
         [0061]    As described above, with the electronic processing device shown in FIG. 5, menus that are customized for each user can be displayed, so that an interface suitable for each user is provided.  
         [0062]    Hereinafter, preferred embodiments according to the present invention will be described.  
         [0063]    [0063]FIG. 6 is a block diagram showing the configuration of an electronic processing device to which the present invention is applied.  
         [0064]    An electronic processing device  1  comprises an input device  30 , an output device  40 , an operation unit  50 , and a storage device  60 . The input device  30  is, for example, a mouse, a keyboard, a touch panel, etc. The output device  40  is, for example, a liquid crystal display, a CRT display, etc. The operation unit  50  is, for example, a CPU. The storage device  60  is, for example, a semiconductor memory, a magnetic disk, etc.  
         [0065]    The input device  30  comprises a menu selecting unit  300  executing the process accepting an instruction (selection instruction) that is input using the menu displayed on the output device  40 . The menu selecting unit  300  recognizes the menu item selected by a user or different devices (hereinafter, a user or other devices is referred to simply as a “user”) by detecting a mouse click, a keyboard operation, or an input on the touch panel. The menu selecting unit  300  corresponds to the selecting unit  14 ,  18 ,  21 , or  28  shown in FIG. 2, 3,  4 , or  5 , respectively.  
         [0066]    The output device  40  comprises a menu displaying unit  400  which performs a process displaying a menu. The menu displaying unit  400  corresponds to the displaying unit  13 ,  17 ,  20 , or  27  shown in FIG. 2, 3,  4 , or  5 , respectively.  
         [0067]    The operation unit  50  comprises a menu managing unit  500  which performs a process managing menu data defining a menu, and a menu customizing unit  501  which performs a process customizing a menu. The menu managing unit  500  and the menu customizing unit  501  are implemented by executing a program that is described in advance. The storage device  60  stores menu data  600  representing the configuration of a menu.  
         [0068]    Menus that are used by the electronic processing device  1  are configured hierarchically as shown in FIG. 7. Each of the hierarchies is configured by one or more menu cells. The menu data  600  is configured by hierarchically associating a plurality of menu cells.  
         [0069]    A menu cell is a structure for implementing one menu item, and is defined by the following three information.  
         [0070]    (1) item number: Number for identifying a menu item. Composed of a hierarchy number and a row number in a hierarchy. In the example shown in FIG. 7, each item number is represented by “menu[i][j]”. Here, [i] represents an “i” th hierarchy, while [j] represents a “j” th menu item in the “i” th hierarchy.  
         [0071]    (2) next hierarchy number: Number of a next hierarchy, when a corresponding menu item is selected.  
         [0072]    (3) function number: Number for identifying a function to be executed when a corresponding menu item is selected.  
         [0073]    [0073]FIGS. 8 and 9 exemplify the configuration of a menu used in a car navigation system. These menu configurations are stored in the storage device  60  shown in FIG. 6 as the menu data  600 .  
         [0074]    The menu shown in FIG. 8 has a data structure where objects (or nouns) belong to a higher-level hierarchical menu, while predicates (or verbs) corresponding to the objects belong to a lower-level hierarchical menu.  
         [0075]    Namely, in the menu structure shown in FIG. 8, objects such as “this point”, “departure point”, “destination”, “via-point”, “memorized point”, “facility”, “current route”, “memorized route”, “2-D map”, “roughmap”, “intersections”, “3-D map, “ 2  screens”, “vehicle information”, “GPS information”, “sound information”, “one-touch selection”, “menu rearrangement”, etc. belong to the higher-level hierarchical menu. In the meantime, predicates which correspond to the objects belonging to the higher-level hierarchical menu, such as “go”, “memorize”, etc. belong to the lower-level hierarchical menu“. By way of example, the predicates “go”, “look”, and “memorize” are associated with the object “departure point” belonging to the higher-level hierarchical menu.  
         [0076]    In the meantime, in the menu structure shown in FIG. 9, the predicates (or verbs) belong to the higher-level hierarchical menu, while the objects (or nouns) belong to the lower-level hierarchical menu.  
         [0077]    That is to say, in the menu structure shown in FIG. 9, the predicates such as “go”, “look”, “memorize”, “change”, etc. belong to the higher-level hierarchical menu, while the objects such as “this point”, “departure point”, “memorized point”, etc., which correspond to the predicates belonging to the higher-level hierarchical menu, belong to the lower-level hierarchical menu.  
         [0078]    It should be remembered that the correspondences between objects and predicates are predetermined and registered to the storage device  60  in the menu structures shown in FIG. 8 and  9 .  
         [0079]    When utilizing the menu configuration shown in FIG. 8, the menu managing unit  500  displays, for example, an object menu shown in FIG. 10A or  11 A on the output device  40 . FIG. 10A shows an example where the menu is displayed in a pop-up menu form, while FIG. 11A shows an example where the menu is displayed in a button menu form. The processes for displaying these menus are executed by the menu displaying unit  400 . Note that each object belonging to an object menu is a menu item that can be selected by a user.  
         [0080]    If a certain object is selected from the object menu displayed on the output device  40 , the menu (predicate menu) to which the predicates corresponding to the selected object belong is displayed. For example, in the example shown in FIG. 10A or  11 A, “departure point” is selected from the object menu, and “go”, “look”, and “memorize”, which belong to the lower-level hierarchical menu, are displayed as the predicates corresponding to the “departure point”. These predicates are menu items that can be selected by a user. It should be noted that the correspondences between objects and predicates are stored in the storage device  60  as the menu data  600 , as explained earlier by referring to FIG. 8.  
         [0081]    In the meantime, when utilizing the menu configuration shown in FIG. 9, the menu managing unit  500  displays, for example, the predicate menu shown in FIG. 10B or  11 B on the output device  40 . FIG. 10B shows an example where the menu is displayed in a pop-up menu form, while FIG. 11B shows an example where the menu is displayed in a button menu form. In this case, predicates belonging to the predicate menu are menu items that can be selected by a user.  
         [0082]    If a certain predicate is selected from the predicate menu displayed on the output device  40 , the menu (object menu) to which the objects corresponding to the selected predicate belong is displayed in this case. For example, in the example shown in FIG. 10B or  11 B, “look” is selected from the predicate menu, and “departure point”, . . . “menu rearrangement”, which belong to the lower-level hierarchical menu, are displayed as the objects corresponding to “look”. Also these objects are menu items that can be selected by a user.  
         [0083]    [0083]FIG. 12 exemplifies a program describing the processes for displaying a menu in the form shown in FIG. 10A or  10 B. A process setting a root menu as a hierarchical menu to be displayed and drawing the hierarchical menu when a mouse is ON are described in a first section. A process inputting a menu item, a process setting the number of a corresponding function when a mouse is OFF, and a process executing the function if the number of the function exists are described in a second section. When a mouse is clicked (when the mouse is switched off after being switched on) in the state where a mouse pointer overlaps a certain menu item, the menu item is recognized to be selected. A process setting the number of the next hierarchical menu when the mouse is ON, a process setting the hierarchical menu corresponding to the number of the next hierarchical menu as a hierarchical menu to be displayed if the number exists, and a process drawing the hierarchical menu are described in a third section.  
         [0084]    [0084]FIG. 13 exemplifies the program describing the processes for displaying a menu in the form shown in FIG. 11A or  11 B. A process setting a root menu as a hierarchical menu to be displayed, and a process drawing the hierarchical menu are described in a first section. A process inputting a menu item, a process setting the number of a function, and a process executing the function if the number of the function exists are described in a second section. A process setting the number of the next hierarchical menu, a process setting the hierarchical menu corresponding to the number of the next hierarchical menu as a hierarchical menu to be displayed if the number exists, and a process drawing the hierarchical menu are described in a third section.  
         [0085]    [0085]FIG. 14 exemplifies the menu data for implementing the menu display shown in FIG. 10A. A hierarchy number identifies a hierarchical menu including one or more menu items. A row number in the hierarchy identifies a menu item in each hierarchy. An entity number is an identification number for each menu content, etc., which is uniquely assigned within menu data. A next hierarchy number instructs the output device  11  of a hierarchical menu to be displayed, when a corresponding menu item is selected. A function number identifies a function that is called and executed, when a corresponding menu item is selected.  
         [0086]    [0086]FIG. 15 is a flowchart showing the processes for displaying the menu shown in FIG. 10A. In step S 1 , whether or not a mouse is switched on (that is, whether or not a mouse button is pressed) is monitored. Although a mouse is adopted as the input device  10  here, a keyboard, a touch panel, etc. may be used alternatively.  
         [0087]    In step S 2 , the hierarchical menu number of a root menu is set as the menu hierarchical number of a menu to be displayed. In step S 3 , the menu corresponding to the hierarchy number set in step S 2  is displayed. In the embodiment, “hierarchy number=0001”is set, and the menu including “this point”, . . . “rearrangement”, which is shown in FIG. 10A, is displayed.  
         [0088]    Instep S 11 , the row number in the hierarchy, which corresponds to the menu item instructed by the operation in step S 1 , is read from the hierarchical menu displayed in step S 3 . In step S 12 , whether or not the mouse is switched off (whether or not the mouse button is released) is monitored. In step S 13 , the function to be called is determined based on the hierarchy number of the displayed hierarchical menu and the row number read in step  51 . In step S 14 , whether or not the determined function exists is examined. Then, in step S 15 , this function is executed if the function is examined to exist.  
         [0089]    In step S 21 , whether or not the mouse is switched on. In step S 22 , the row number in the hierarchy, which corresponds to the menu item instructed by the operation in step S 21 , is read, and the hierarchical menu at a next hierarchy is determined based on the hierarchy number of the displayed hierarchical menu and the row number. In step S 23 , whether or not the hierarchical menu at the next hierarchy exists is examined. In step S 24 , the hierarchy number determined in step S 22  is set as the hierarchy number of the hierarchical menu to be displayed. Then, in step S 25 , this hierarchical menu is displayed.  
         [0090]    In the embodiment, “row number=0002”is read when a “departure point” is selected. Then, “the hierarchy number of a next hierarchy=0012”is obtained according to the “hierarchy number=0001” and “row number=0002”. As a result, the predicate menu including “go”, “look”, and “memorize” is displayed.  
         [0091]    Then, the process goes back to step S 1 . Therefore, if a menu item is selected from the displayed predicate menu in step S 25 , the function corresponding to the selected menu item is called and executed.  
         [0092]    [0092]FIG. 16 exemplifies the menu data for implementing the menu display shown in FIG. 10B. The configuration of this menu data is fundamentally the same as that shown in FIG. 14. Additionally, the process for displaying the menu shown in FIG. 10B is implemented by the flowchart shown in FIG. 15.  
         [0093]    [0093]FIGS. 17 and 18 respectively exemplify the menu data for implementing the menu displays shown in FIGS. 11A and 11B. Also the configurations of these menu data are fundamentally the same as that shown in FIG. 14. If the number of menu items belonging to a certain hierarchical menu is large, and if the menu items cannot be displayed on one screen, the hierarchical menu is virtually divided into a plurality of hierarchical menus within the menu data, and is managed in some cases. For example, “this point”, “departure point”, “facility”, and “current route” are menu items that belong to an object menu. However, “this point”, “departure point”, and “facility” belong to the hierarchy corresponding to the “hierarchy number=0001”, while “current route” belongs to the hierarchy corresponding to the “hierarchy number=0002”.  
         [0094]    [0094]FIG. 19 is a flowchart showing the process for displaying the menu shown in FIG. 11A or  11 B. Since the operations of this flowchart have many commonalities with those of the flowchart shown in FIG. 15, their explanations are omitted here.  
         [0095]    As described above, with the electronic processing device  1  according to this embodiment, a menu is displayed according to the procedure of “an object to a predicate” (a procedure for determining an object in which a user is interested, then determining how to do with the object), or according to the procedure of “a predicate to an object” (a procedure for determining how to do, then determining an object in which a user is interested). Accordingly, it is easy to grasp the entire structure of a menu, whereby user operations are made uniform. Additionally, menu hierarchies are made even, whereby an easy-to-use menu is implemented.  
         [0096]    The above described embodiment refers to the method displaying a menu of “an object to a predicate” type, or a menu of “a predicate to an object” type. An electronic processing device according to another embodiment to be described next provides these two menus, and makes a user select a menu to be used. In this way, an easy-to-use menu for a user is provided.  
         [0097]    [0097]FIGS. 20 and 21 exemplify the menu comprising a display mode switching capability. Here, a menu is displayed in a button menu form.  
         [0098]    In the example shown in FIG. 20, a switch button for displaying a predicate menu is arranged in an object menu, while a switch button for displaying an object menu is arranged in the predicate menu. At the initial stage of a menu display, either the object menu or the predicate menu is displayed. For instance, if the switch button is selected in the state where the object menu is displayed as a higher-level hierarchical menu, the predicate menu is opened and the object menu is closed on the screen. In his case, the predicate menu becomes a higher-level hierarchical menu. Or, if the switch button is selected in the state where the predicate menu is displayed as a higher-level hierarchical menu, the object menu is opened and the predicate menu is closed on the screens. In this case, the object menu becomes a higher-level hierarchical menu. The operations performed when a desired menu item is selected in the state where the object or the predicate menu is displayed are the same as those explained by referring to FIGS. 10 through 19.  
         [0099]    In the example shown in FIG. 21, the menu (selection menu) for making a user select the object menu or the predicate menu is arranged in addition the configuration shown in FIG. 20. In this selection menu, “what” is a button for selecting the object menu, while “do” is a button for selecting the predicate menu.  
         [0100]    In this configuration, the selection menu is displayed at the initial stage of the menu display. Then, the object menu or the predicate menu is opened according to a selected button. The subsequent operations are the same as those for the menu shown in FIG. 20.  
         [0101]    With the introduction of the above described configuration, a user can arbitrarily select either the display mode in which the menu of “an object to a predicate” type is displayed, or the display mode in which the menu of “a predicate to an object” type is displayed, leading to a convenience to the user.  
         [0102]    [0102]FIG. 22 exemplifies the menu data for implementing the menu display shown in FIG. 20. In this menu data, the information about the switch button arranged within the object menu is stored in a record A, to which the number (2001) representing the predicate menu is registered as a next hierarchy number. Additionally, the information about the switch button arranged in the predicate menu is stored in a record B, to which the number (1001) representing the object menu is registered as a next hierarchy number. The operation for switching a menu to be displayed is realized by this link information.  
         [0103]    [0103]FIG. 23 exemplifies the menu data for implementing the menu display shown in FIG. 21. In this menu data, the information about the selection menu are registered to records C to D. The information about the button for making a user select the object menu is stored in the record C, to which the number (=1001) representing the object menu is registered as a next hierarchy number. Additionally, the information about the button for making a user select the predicate menu is stored in the record D, to which the number (=2001) representing the predicate menu is registered as a next hierarchy number.  
         [0104]    The above described embodiment refers to the configuration where the object and predicate menus are arranged. However, the present invention is not limited to these menus. By way of example, a complement menu, a noun menu, a verb menu, an adjective menu, an adverb menu, etc. may be arranged.  
         [0105]    Next, the processes executed by the menu customizing unit  501  will be explained.  
         [0106]    The menu customizing unit  501  has a capability for generating a new menu item defined by a combination of menu items respectively selected in different hierarchical menus, and for registering the new menu item. In the example shown in FIG. 24, “look at facility”, which is defined by a combination of “look” selected from the predicate menu being a higher-level hierarchical menu, and a “facility” selected from the object menu being a lower-level hierarchical menu, is generated and registered to the menu data.  
         [0107]    Hereafter, this newly generated menu item belongs to, for example, the predicate menu or the object menu. In this example, “look at facility” is displayed as the menu item belonging to the predicate menu. If “look at facility” is selected in the predicate menu in this case, the same process as that performed in the case where a “facility” is selected from the object menu after “look” is selected from the predicate menu will be performed.  
         [0108]    As described above, according to this embodiment, the menu customizing unit  501  is arranged in the electronic processing device, so that even the process, which conventionally requires the operation for selecting menu items in respective hierarchical menus one by one while sequentially opening the menus, can be performed by just one selection operation.  
         [0109]    [0109]FIG. 25 explains a registration process executed by the menu customizing unit  501 .  
         [0110]    An entity table  100  manages the correspondence between a combination of menu items, and the content to be displayed as a new menu item generated by the combination. The menu customizing unit  501  registers a new menu item other than menu items defined by default with the use of the entry table  100 .  
         [0111]    That is, the menu customizing unit  501  recognizes a plurality of menu items selected by a user in an interaction process in Step  1 . In this example, a recognition such that a menu item “look(j1=2)” is selected from a higher-level hierarchical menu (i1=1), and a menu item “facility(j2=5)” is selected from a lower-level hierarchical menu (i2=12) is made in an interaction with a user.  
         [0112]    Furthermore, in Step  1 , the entry (the content of a display) of a menu item to be newly generated is determined by searching the entry table  100  with the use of the numbers (j1 and j2) of the recognized menu items as a search key. In this example, “look at facility” is obtained as the entry of a new menu item by searching the entry table  100  with the use of the numbers of the menu items “j1=2”and “j2=5”as a search key.  
         [0113]    Next, in Step  2 , the menu item having the entry obtained in Step  1  is registered to the menu data stored in the storage device  60 . The process is then terminated. Here, the function assigned to the newly registered menu item is substantially the same as the combination of the function that is called when “look” is selected, and the function that is called when the “facility” is selected after that. Specifically, for example, the record for “look at facility” is generated in the menu data, and a value “ab” directing a function corresponding to “look” and a value “xe” directing a function corresponding to “facility” are registered as a called function of the generated record. Or, a software program to be executed when “look” and the “facility” are successively selected may be prepared beforehand, and the number for identifying the program may be registered in correspondence with “look at facility”. Notice that “a row number in the hierarchy” and “a next hierarchy number” are omitted in FIG. 26.  
         [0114]    As described above, the menu customizing unit  501  generates a new menu item defined by a combination of a menu item selected from a higher-level hierarchical menu, and a menu item selected from a lower-level hierarchical menu, and registers the new menu item to menu data. As a result, a user can select his or her required menu item with just one operation (one click).  
         [0115]    The example shown in FIG. 25 shows the configuration where the entity of a menu item to be newly registered is selected from the prepared entity table  100 . However, the electronic processing device according to this embodiment may also generate the entity of a new menu item with a software program each time a new menu item is to be generated, as shown in FIG. 27.  
         [0116]    With the method shown in FIG. 27, when a plurality of menu items to be customized, which are selected by a user in an interaction process, are recognized in Step  1 , the entity for a new menu item is generated according to the plurality of menu items in Step  2 . Then, in Step  3 , the menu item having the generated entry is registered to the menu data stored in the storage device  60 .  
         [0117]    [0117]FIG. 28 exemplifies a software program for implementing the generation process performed in Step  2  of FIG. 27. The example shown in FIG. 28 describes the process generating an entry “go to xxx” by interposing a connecting word “to” between the menu item (xxx) selected from a lower-level hierarchical menu (the object menu in this case) and that selected from a higher-level hierarchical menu (the predicate menu in this case) based on the assumption that the menu item selected from the higher-level hierarchical menu is “go”, or describes the process generating an entry “look at xxx” by interposing a connecting word “at” between the menu item (xxx) selected from the lower-level hierarchical menu and that selected from the higher-level hierarchical menu based on the assumption that the menu item selected from the higher-level hierarchical menu is “look”. By executing this program, an entity is generated from the menu item belonging to a selected higher-level hierarchical menu, and that belonging to a lower-level hierarchical menu.  
         [0118]    [0118]FIG. 29 is a flowchart showing the generation process performed in Step  2  of FIG. 27. Here, explanation is provided by assuming that the predicate menu is a higher-level hierarchical menu, and the object menu is a lower-level hierarchical menu. The process of this flowchart is also applicable with a simple modification to the case where the object menu is a higher-level hierarchical menu.  
         [0119]    In step S 31 , the row number (j1) of a menu item selected from the predicate menu is obtained. In step S 32 , the row number (j2) of a menu item selected from the object menu is obtained. In step S 33 , the hierarchy number (i1) of the predicate menu is obtained. In step S 34 , the hierarchy number (i2) of the object menu is calculated by using the hierarchy number (i1) and the row number (j1). In step S 35 , the entity (s1) of the menu item selected from the predicate menu is obtained by using the hierarchy number (i1) and the row number (j1). In step S 36 , the entry (s2) of the menu item selected from the object menu is obtained by using the hierarchy number (i2) and the row number (j2).  
         [0120]    In step S 37 , a connecting word to be used is determined based on the entity (s1) of the menu item selected from the predicate menu. For example, if the entry is “look”, “at” is output as a connecting word. Or, if the entry is “go”, “to” is output as a connecting word. In step S 38 , a new entity (s3) is generated by using the entities (s1 and s2), and the connecting word determined in step S 37 . Then, in step S 39 , the new entity (s3) generated in step S 38  is output.  
         [0121]    In the example shown in FIG. 25, the entity of new menu item is prepared manually in advance by a user. In this embodiment, however, the entity of new menu item is generated automatically.  
         [0122]    By way of example, a menu item suitable for a user may automatically be registered by estimating a user operation pattern based on the use frequency of each menu item. In this case, the number of times that each menu item is selected by a user is counted up, and a menu item is registered as a one-touch-selection menu item if the number of times (for example, the number of times that the menu item is used in recent days) exceeds a predetermined value. For instance, if a user repeatedly performs the sequence composed of the operation for selecting a “facility” and the operation for selecting “look”, the menu item “look at facility” is automatically generated and registered.  
         [0123]    [0123]FIG. 30 exemplifies the program describing the process registering a new menu item based on a use frequency. This program describes the process incrementing by “1”the value of the counter, which is arranged in correspondence with a menu item (j2) belonging to the lower-level hierarchical menu (i2), each time the menu item (j2) is selected, and the process registering as a one-touch-selection menu item a menu item defined by a combination of the menu item (i1) of the higher-level hierarchical menu and the above described menu item (j2), if the menu item defined by the combination is not currently registered.  
         [0124]    [0124]FIG. 31 is a flowchart showing the process registering a new menu item based on a use frequency. Here, steps S 31  through S 34  are the same as those explained by referring to FIG. 29.  
         [0125]    In step S 41 , the counter specified by the combination of the hierarchy number (i2) and the row number (j2) is incremented by 1. In step S 42 , whether or not the value of this counter is larger than a predetermined threshold value is examined. In step S 43 , whether or not the menu item defined by the combination of the hierarchy number (i2) and the row number (j2) is already registered is examined. If the value of the counter exceeds the threshold value, and if the menu item defined by the above described combination is not registered, an entity (s) is selected as in FIG. 25 or generated as in FIG. 27 depending on the higher-level hierarchy menu and lower-level hierarchy menu in step S 44 .  
         [0126]    In step S 45 , the menu item, of which entity (s) is determined in step S 43 , is registered to menu data. At this time, the flag of the newly registered menu item is set. This flag is a value to be referenced for determining whether or not a corresponding menu item is already registered in step S 43 . If the result of the examination made in step S 42  or S 43  is “No”, the entity (s) is cleared in step S 46 . Then, in step S 47 , the entity of the menu item (s) is output.  
         [0127]    Additionally, either a method with which a one-touch-selection menu item is automatically registered, or a method with which a menu item is manually registered by a user may be selected, or these methods may be combined. Namely, the switching between automatic registration and manual registration may be made, and a menu item may be selected from a higher-level hierarchical menu, or menu items may be divided within one hierarchical menu.  
         [0128]    Furthermore, in the above described embodiment, the menu customizing unit  501  generates and registers a new menu item by combining the menu items that are respectively selected from the two hierarchies (predicate and object menus). The present invention, however, is not limited to this method. A menu item may be generated and registered by combining menu items that are respectively selected from three or more menus. By way of example, an adjective menu and an adverb menu are arranged in addition to predicate and object menus, and menu items selected from the menus may be combined. With this method, for example, “quickly go to destination”, “inexpensively go to destination”, and the like can be registered. Or, menu items that are selected from a predicate menu and a plurality of object menus may be combined.  
         [0129]    Still further, in the above described embodiment, a new menu item defined by a combination of menu items selected from the first and the second menus is registered to the first or the second menu. However, the new menu item may be registered to a menu other than the first and the second menus. For instance, a menu displaying only a one-touch-selection menu item may be generated.  
         [0130]    The example shown in FIG. 25 or  27  does not refer to the location to which a one-touch-selection menu item is registered. However, if there is an empty registration location, a menu item is sequentially located from the beginning or the end of the menu to be registered. Or, a registration location is determined with a random number, etc. If there is no empty registration location, for example, a menu item having the lowest use frequency in recent days or a menu item with the oldest registration date is replaced by a menu item to be registered.  
         [0131]    The menu customizing unit  501  has a capability for deleting a currently registered one-touch-selection menu item in order to execute the above described registration process.  
         [0132]    [0132]FIG. 32 shows one embodiment of the process deleting a one-touch-selection menu item, which is executed by the menu customizing unit  501 . If a one-touch-selection menu item (“look at facility” and “change rough map” in this example), which is currently registered, must be deleted, the menu customizing unit  501  first chooses a one-touch-selection menu item to be deleted from among previously registered one-touch-selection menu items in Step  1 , and deletes the chosen one-touch-selection menu item from the menu data in Step  2 . The menu item to be deleted is determined by an interaction with a user or according to a predetermined rule. For example, a rule to delete a menu item having the lowest use frequency in recent days may be considered as a predetermined rule.  
         [0133]    [0133]FIG. 33 exemplifies the program which describes the process determining a menu item to be deleted. This program describes the process detecting a menu item the counter value of which is the smallest from among the counters arranged for the menu items (j) belonging to a lower-level hierarchical menu (i), the process resetting the value of the counter, and the process deleting the corresponding menu item from the menu data  600 .  
         [0134]    In the program shown in FIG. 33, the one-touch-selection menu item having the lowest use frequency is deleted. However, all of one-touch-selection menu items having a use frequency that is equal to or lower than a threshold value may be deleted collectively, or the menu item the registration time of which is the oldest or the menu item that is registered earlier than a predetermined time may be deleted.  
         [0135]    [0135]FIG. 34 is a flowchart showing the process determining a menu item to be deleted. In step S 51 , the hierarchical menu number (i) of the menu to which a one-touch-selection menu item is obtained. In step S 52 , the menu item the counter value of which is the smallest is detected from among the counters arranged for respective one-touch-selection menu items. In step S 53 , the intra-hierarchy serial number of the menu item detected in step S 52  is obtained. In step S 54 , the counter for the menu item specified by the combination of the hierarchical menu number (i) and the intra-hierarchy serial number (j) is reset. In step S 55 , the menu item that is specified by the combination of the hierarchical menu number (i) and the intra-hierarchy serial number (j) is deleted from the menu data  600 . Then, in step S 56 , the intra-hierarchy serial number (j) is output.  
         [0136]    The electronic processing device  1  according to this embodiment has a capability for generating and displaying a menu suitable for a user.  
         [0137]    [0137]FIG. 35 explains the process generating and displaying a menu suitable for a user. This process is executed by the menu managing unit  500  shown in FIG. 6.  
         [0138]    To generate and display a menu suitable for a user, a category correspondence table  200  for managing a menu to be provided for each category to which a user belongs is stored in the storage device  60 . Here, a category for grouping a user is determined, for example, according to an age, gender, blood type, etc. The menu managing unit  500  generates a menu suitable for a user with the category correspondence table  200 , and displays the generated menu.  
         [0139]    [0139]FIG. 36 exemplifies the configuration of the menu prepared for each category to which a user belongs. Here, a plurality of menus which are prepared for the start-up of a car navigation system are displayed. Note that “go to facility”, “go to memorized point”, “read 3-D map”, etc. are menu items, respectively.  
         [0140]    Here, the operations of the menu managing unit  500  are explained. The menu managing unit  500  first obtains the category to which a user belongs in Step  1 . For example, the menu managing unit  500  obtains necessary information from a user with an interaction by displaying the screen for making the user input his or her age, gender, etc. By way of example, for a car navigation system, these information items may be input by a car dealer or with a different method.  
         [0141]    Then, in Step  2 , the menu managing unit  500  searches the category correspondence table  200  by using the category to which the user belongs as a search key, and identifies the menu data corresponding to that category. In Step  3 , the menu managing unit  500  displays a menu according to the identified menu data. In this way, a menu suitable for a user is displayed.  
         [0142]    As described above, with the electronic processing device  1 , a menu suitable for a category to which a user belongs is displayed in consideration of the fact that a user liking relates to the category to which the user belongs, whereby an easy-to-use menu for the user is provided.  
         [0143]    The capabilities of the present invention are implemented by executing the programs describing the above described processes with a computer. The block diagram of the computer executing this program is shown in FIG. 37.  
         [0144]    A CPU  1001  loads the program describing the above described processes from a storage device  1002  to memory  1003 , and executes the program. The storage device  1002  is, for example, a semiconductor memory or a hard disk, and stores the above described program. The memory  1003  is, for example, a semiconductor memory, and is used as a working area of the CPU  1001 .  
         [0145]    A storage medium driver  1004  accesses a portable storage medium  1005  according to the instruction of the CPU  1001 . The portable storage medium  1005  includes a semiconductor device (IC card, etc.), a medium (floppy disk, magnetic tape, etc.) to/from which information is input/output by a magnetic action, and a medium (optical disk, etc.) to/from which information is input/output by an optical action. A communication controlling device  1006  transmits/receives data to/from a network according to the instruction of the CPU  1001 .  
         [0146]    [0146]FIG. 38 explains the method providing the software program, etc. according to the present invention. The program according to the present invention is provided with any of the following three methods.  
         [0147]    (a) Installed on a computer  1000  and provided. The program, etc. are preinstalled, for example, prior to shipment in this case.  
         [0148]    (b) Stored in a portable storage medium and provided. The program, etc. stored in the portable storage medium  1005  are fundamentally installed in the storage device  1002  via the storage medium driver  1004  in this case.  
         [0149]    (c) Provided from a server on a network. Fundamentally, the computer  1000  downloads the programs, etc. stored in the server, so that the program, etc. are obtained in this case.  
         [0150]    As described above, according to the present invention, a menu is displayed in an order from “an object to a predicate” or in an order from “a predicate to an object”, whereby it becomes easy to grasp the entire structure of a menu, and user operations are made uniform. Besides, menu hierarchies are made even, so that an easy-to-use menu is realized.  
         [0151]    Additionally, according to the present invention, a menu of “an object to a predicate” type, and a menu of “a predicate to an object” type are prepared, and one of the menus, which is selected by a user, is displayed. As a result, one operation can be selected from either of an object and a predicate according to a user desire, thereby realizing an easy-to-use menu.  
         [0152]    Furthermore, according to the present invention, a menu item for specifying an arbitrary process with just one operation can be easily generated and registered even for a frequently used process or a process to be performed in a hurry, which conventionally requires the procedure for selecting menu items from respective hierarchical menus one by one while sequentially opening the menus, leading to a convenience.  
         [0153]    Still further, according to the present invention, a menu suitable for each user can be displayed, thereby improving user operability.  
         [0154]    The present invention is widely applied to electronic devices such as a computer, audio equipment, video equipment, telecommunications gear, etc. in addition to a car navigation system.