1. Technical Field
The present invention relates to a browser program and a content display apparatus, and in particular, to the browser program and the content display apparatus suitable for viewing a markup language document of an Internet site with operating means, such as a remote controller having relatively a small number of hardware button keys and software button keys having functions equivalent thereto.
2. Background Art
Along with diffusion and development of Internet technologies, a large number of users are now able to be provided with information created by a markup language document such as an HTML document. The users interpret the markup language document with a browser operating on a client such as a personal computer, and display it on a content display apparatus such as a liquid crystal display of the client.
As for a method of displaying multiple different markup language documents on the same content display apparatus with a browser, there is the method of the highest-level window according to a conventional window switching method by selection. This is the method whereby, if the user performs an operation for selecting a window to be viewed, the browser displays the selected window as the highest-level layer. For this reason, the window is rendered as the highest-level while selecting related windows by performing the operation a few times. A technique for viewing the markup language documents by such a multiple window switching method is disclosed in Japanese Patent Laid-Open No. 200-23912 (paragraphs [0037] to [0040],
As for the window switching method described above, it is necessary for the user to read a switching number corresponding to a window from a screen and input it. Therefore, there is a problem that a user operation for switching is cumbersome compared to the case where the user can instinctively perform the operation such as a click of a conventional mouse.
As a feature of a markup language document displayed in the window is a function of linking to another page by means of an anchor. This function allows a browser to jump to related pages one after another by a simple operation of the click with the mouse. However, there is a problem that selection of a link is difficult in the case of using operating means having no pointing device like the mouse, such as a remote controller of a TV set. An object of the present invention is to provide the browser capable of realizing the window switching method instinctively operable by the user and easily selecting the link in the markup language document even when using operating means having no pointing device.
The present invention has the following characteristics as means for solving the problems.
A first aspect of the present invention is proposed as a browser program for viewing the markup language document. The markup language document may be either the document suited to the Internet such as an HTML (Hyper Text Markup Language) document or an XML (extensible markup language) document or the document describing contents of a data broadcast such as a BML (Broadcast markup language) document or a B-XML document.
The browser program displays multiple windows by superimposing them on a display area provided by a display apparatus. The browser program can display at least a part of results of interpreting the markup language document in each window, where multiple tabs are provided like a so-called tab browser for instance so as to display the contents corresponding to each tab as the tab is operated. According to the aspect of the present invention, it is possible to handle the same number of windows as at least a part of multiple buttons provided to the operating means, where the windows are provided correspondingly to the part of multiple buttons, and the buttons provided to the operating means are used as the means for handling the windows.
If one of the buttons other than the button corresponding to the window displayed in the highest-level layer is activated, the window corresponding to this button is displayed in the highest-level layer.
“The multiple buttons provided to the operating means” do not necessarily have to be all the buttons of the operating means, but may also be at least a part of hardware buttons of the operating means (all or a part of color buttons out of hardware buttons provided to a controller as the operating means, for instance).
According to the aspect of the present invention, it is possible to have a configuration in which, if the button corresponding to the window currently displayed in the highest-level layer is activated, an operation other than displaying a predetermined window in the highest-level layer is performed. The operation other than displaying the window in the highest-level layer may be any operation as long as it concerns the browser. For instance, it is possible to switch between frames in the case where the markup language document currently displayed in the window displayed in the highest-level layer has a frame structure.
In the case where at least a part of the markup language document displayed as the results of interpretation in the window displayed in the highest-level layer includes one or multiple focus elements, the browser program according to the aspect of the present invention may display focus display information, when one of the focus elements is selected, indicating a selected focus element in a window-corresponding color which is a color associated with the window currently displayed in the highest-level layer and determined to be different for each window.
The “focus element” is an element describable in the markup language document and selectable by the operation of the operating means, such as an anchor, a text box, a check box, a select component or an I frame.
The “focus display information” is the information capable of indicating to the user that the anchor is selected, such as an underline, a highlight (reversing display) or a frame attached to the anchor which is the focus element. The “focus display information” may be displayed in a different form according to what information the focus element is. For instance, in the case where the focus element is textual information, the focus display information may be displayed as the underline attached to the textual information. And in the case where the focus element is image information, the focus display information maybe the frame enclosing the image information.
The “window-corresponding color” is one color determined for each window, and the window-corresponding color of one window is determined to be different from the window-corresponding colors of other windows. For instance, in the case where the browser program displays four windows of the first to fourth, the window-corresponding colors of the first to fourth windows are determined as “red,” “blue,” “green” and “yellow.” Therefore, if the window currently displayed in the highest-level layer is switched from the first window to the second window, the color of the focus display information also changes from “red” to “blue.” The window-corresponding color may be determined to be the color matching with or similar to a display color of the tab given to each window, or may be determined to be the color matching with or similar to the color given to the button corresponding to each window.
A content display apparatus on which this browser is installed may be any apparatus having a hardware environment capable of executing the browser program, such as a TV set ready for data broadcasting, a set-top box for a TV set, a cellular phone, a PDA (Personal Data Assistant), a personal computer, a home-use game console supporting a network, an HDD recorder, a DVD recorder/player or a VTR player.
The operating means may be any operating means capable of operating the content display apparatus on which this browser is installed and having the buttons. For instance, it may be a keyboard connectable to the content display apparatus by a wireless or wired connection, a dial button of the cellular phone or a remote controller (either wired or wireless) of the TV set.
According to the present invention, it is possible to provide the browser capable of realizing the window switching method instinctively operable by the user and easily selecting the link in the markup language document even when using the operating means having no pointing device.
Hereunder, an embodiment of the present invention will be described by referring to the drawings.
This browsing system is configured by a TV set 40 as a content display apparatus having a browser (not shown) capable of displaying a markup language document such as a BML document 10a transmitted by data broadcasting and/or an HTML document 10b obtained from a Web site 20 via an Internet 30, and a remote controller 50 as operating means of the TV set 40. The remote controller 50 has multiple hardware buttons. In the example shown in
The configuration example shown in
The remote controller 50 shown in
The liquid crystal display 50B in a driving state has the buttons and keys including the color buttons 70a to 70d image-displayed thereon. The user touches a touch panel sensor 50C to touch a desired button. The touch panel sensor 50C detects a location touched by the user, and sends a command corresponding to the button to the content display apparatus 40A on the assumption that the button corresponding to the location is activated.
In
Thus, the user can see the screen and push the hardware buttons corresponding to the tabs 402a to 402d so as to continuously switch and view the markup language documents.
Next, a description will be given as to an example of a hardware configuration for realizing the browser (referred to as a “browser apparatus” hereafter).
The central control unit 601, RAM 602, ROM 603, display driver 604, network interface 606, user-interface-device interface 607 and flash memory 608 are mutually connected by a bus 610, and the data and commands are mutually sent and received via the bus 610.
The RAM 602 has a function of temporarily holding and storing calculation results of the central control unit 601 and the markup language document data obtained from the outside. The ROM 603 has a function of storing an OS (Operating System) and a program of browser software, and the central control unit 601 reads these programs from the ROM 603 and performs the process according to the programs. The flash memory 608 has a function of holding the data, URLs and addresses obtained from the outside for the sake of subsequent processing. The network interface 606 has a function of establishing a connection with an external network and sending and receiving the data to and from the external network, and is configured by a protocol stack and an LAN board for instance. The user-interface-device interface 607 has a function of receiving an input from a remote controller 611 via the IR light receiving unit 609 and passing it to the central control unit 601. The IR light receiving unit 609 has a function of receiving an infrared signal issued by the remote controller 611 and then converting it to an electrical signal and passing it to the user-interface-device interface 607.
The display driver 604 has a function of receiving from the central control unit 601 a bitmap data which is the results of interpreting the markup language document and driving the display based on this. The display 605 is the liquid crystal display or a CRT display, which has a function of optically displaying the image based on a driving signal from the display driver 604.
This example has the configuration in which the remote controller 611 conveys a user input to the browser apparatus by infrared communication. However, it is not intended to limit data transmission between the remote controller 611 and the browser apparatus of the present invention to the infrared communication. It is possible to implement the present invention whatever form of communication is adopted, not limiting it to a wireless or wired form.
The BML browser execution process 702 performs almost the same process as the process shown in
Next, a description will be given as to a more detailed configuration of the browser according to this embodiment.
The browser program has a control portion 901. The control portion 901 receives the user input from the user-interface-device interface 607, and calls necessary processes from a process group for performing the browser functions, such as a user interface (UI) control process 902, a window open process 903, a history display process 904, a URL input process 905, a tab window switching process 906 and a frame change process 907 according to the user input so as to perform the processing.
The user interface control process 902 has a function of controlling the entire browser, and especially has a function of grasping and managing the window currently in the highest-level layer, deciding what process should be performed according to the pushed hardware button and having other processes performed according to this decision.
The window opening process 903 has a function of, in the case where it becomes necessary to open a new markup language document, controlling which window the contents of the new document should be displayed in.
The history display process 904 displays a list of the markup language documents viewed in the past.
The URL (Universal Resource Locator) input process 905 displays an input box and a window on a screen for receiving a URL input from the user so as to prompt the URL input of the user. The contents of the markup language document obtained by the browser according to the URL input may be either displayed in the display area 401 or set in a lower layer of the contents of the markup language document currently displayed so as to display them when a corresponding tab is activated.
The tab window switching process 906 has a function of, in order to perform the processes set up on the corresponding tabs 402a to 402d according to pushing of the hardware buttons 70a to 70d and 80a to 80d corresponding to the tabs, instructing a first window execution process 908, a second window execution process 909, a third window execution process 910 and a fourth window execution process 911 to perform the processes.
Each of the window execution processes 908 to 911 are corresponding to tabs 402a to 402d, and obtains and performs the syntax analysis of the markup language document data set up on the tabs according to the signals and commands indicating the pushing of the hardware buttons 70a to 70d and 80a to 80d. And it extracts the rendering elements such as the character strings and images based on the markup language document data set up on the tabs so as to convert each rendering element to the tree-like parse tree (parsing). It develops the rendering elements into the display data (bitmap data for instance) based on the parse tree (rendering) Hereunder, this display data is called rendering data.
The frame change process 907 switches between the frames if the hardware button corresponding to the window currently displayed in the highest-level layer is pushed in the case where the markup language document displayed in the window currently displayed in the highest-level layer has a frame structure. The frame change process does not have to be prepared as the independent frame change process 907 described above. It may also be prepared as a sub-process in each window execution process, for instance.
A window display process 912 receives the rendering data obtained based on the markup language document data from each window execution process, and generates display image data (bitmap data for instance) for displaying in the browser the rendering data corresponding to the window currently in the highest-level layer grasped and managed by the user interface control process 902 so as to pass it to the display driver 604. The display image data passed from the window display process 912 to the display driver 604 is the data, for instance, wherein a browser window having the display area (window) 401 and the tabs 402a to 402d for switching the display contents in the display area 401 as shown in
The flash memory 608 stores the URL of the markup language document displayed in each tab window as a startup document data 913 upon startup, or stores a data 914 (referred to as “blank tab data”) for specifying the markup language document to be displayed on the tab in the case where there is an blank tab (a tab in a state of having no markup language document determined to be displayed in a corresponding window. Same hereafter) described later.
Next, a description will be given as to main operation examples of the browser program according to this embodiment.
[When the Hardware Button Other than that of the Highest-Level Layer is Pushed]
To begin with, a description will be given by referring to
In the state of currently having the first window execution process 908 in the highest-level layer, the hardware button corresponding to the second window execution process 909 is pushed (step S1001). The user interface control process 902 grasping and managing the highest-level layer currently determines whether or not the pushed hardware button is corresponding to the window opened as the highest-level layer currently (step S1002).
In the case where the pushed hardware button is not corresponding to the window opened as the highest-level layer currently, the user interface control process 902 instructs the tab window switching process 906 to switch the tab window. On receiving this instruction, the tab window switching process 906 orders the second window execution process 909 to perform the process. On receiving this order, the second window execution process 909 obtains predetermined markup language document data and performs the HTML parser (step S801) process and the HTML rendering (step S803) process so as to pass the rendering data as the results thereof to the window display process 912. The other window execution processes 908, 910 and 911 also process the corresponding markup language documents likewise so as to pass the rendering data to the window display process 912.
On receiving the rendering data from each window execution process, the window display process 912 generates the display image data corresponding to the window of the highest-level layer currently grasped and managed by the user interface control process 902 so as to pass it to the display driver 604. The display driver 604 has the state in which the contents of the markup language document obtained by the second window execution process 909 are in the highest-level layer displayed on the display 605 according to the display image data (step S1003). Consequently, the pushed hardware button and the contents of the markup language document associated with the tab corresponding to the hardware button are displayed in the highest-level layer in replacement of the previously displayed contents so as to be viewable for the user.
In the case where the pushed hardware button is corresponding to the window currently opened as the highest-level layer in the step S1002, the user interface control process 902 orders the other processes to perform the predetermined processes. It is possible, by performing such processing, to use the same hardware button differently as two processing-instruction buttons for a tab window switching process and another process so as to effectively use the remote controller having the limited number of buttons.
There are various processes thinkable as applicable processes as the “predetermined processes.” In the case where the markup language document displayed currently in the highest-level layer has a frame structure for instance, it is possible to switch the active state between the frames. In the case where the markup language document does not have the frame structure, it is thinkable to perform the following processes. (1) To generate a URL input dialog for having a user obtain a new markup language document; (2) To display a history dialog; and (3) To display a bookmarked URL list.
The “predetermined processes” may be set up either by a manufacturer on product shipment or by the user.
Next, handling of the blank tab of the browser according to this embodiment will be described.
The browser apparatus according to this embodiment has the same number of tabs as the multiple hardware buttons of the remote controller 50 (611). However, it may also happen that, as the user views various markup language documents by following the links, the number of open markup language documents becomes smaller than the number of tabs. In such a case, it is thinkable to take a processing method of not displaying or withholding from displaying the tabs themselves when left over. To allow the user to instinctively understand a relation between the hardware buttons and the tabs, however, it is desirable that there are constantly the same number of hardware buttons and tabs. For that reason, the leftover tabs are indicated as the blank tabs according to this embodiment. Thus, the same number of tabs as the number of hardware buttons is constantly displayed on the screen.
As for the window corresponding to the blank tab, it is possible either to open none of the documents or to open the markup language document corresponding to the blank tab data 914 therein.
The browser apparatus according to this embodiment also displays the blank tabs. If the window corresponding to the blank tab can be effectively utilized, however, it becomes possible to provide more information to the user with a limited number of windows so as to effectively utilize hardware resources. According to this embodiment, the window corresponding to the blank tab is utilized when opening a new markup language document. As for opening of the new markup language document, there are two cases, that is, the case of having a script for opening of a new window described in the markup language document obtained by the browser and the case of having a request for the new markup language document made by the user to the browser.
First, in the case where the browser obtains a certain markup language document, the script for opening of a new window is described therein. The user interface control process 902 detects this script (step S1101), and also determines whether or not the blank tab exists (step S1102). In the case where the blank tab exists, it instructs the window execution processes 908 to 911 corresponding to the blank tab to display the information opened by the script in the window corresponding to the blank tab. Thus, there is no longer an unnecessary window opened on the screen so that the user will not be bothered. In the case where the user wants to view the contents of the document opened by the script, the contents are viewable at any time by pushing the hardware button corresponding to the blank tab so as not to miss the information.
In the case where no blank tab exists, various techniques are conceivable as to how to handle the information opened by the script. By way of example, the following methods are thinkable. (1) To open the information opened by the script in the window other than the window of the highest-level layer; or (2) to display a dialog for prompting the user to select the window for opening the information opened by the script.
[When the User Requests the Opening of a New Markup Language Document]
Next, a description will be given by referring to
First, the user requests the browser to open a new markup language document. This request is performed, as with the predetermined process in the step S1004 of
In the case where no blank tab exists, various techniques are conceivable as to how to handle the information opened according to the request of the user. By way of example, the following methods are thinkable. (1) To open the information requested by the user in the window other than the window of the highest-level layer; or (2) to display a dialog for prompting the user to select the window for opening the requested information. It is possible, by performing such a process, to prevent the displayed information in the window from being hidden by a new window and the information viewing of the user from being interfered.
It is also possible, as an applicable method, for the user to preset the process as to the case where no blank tab exists.
The embodiment exemplifies the TV set as a concrete example of the browser apparatus of the present invention. However, the present invention includes the content display apparatuses for displaying the information on a display, such as a game console, a car navigation system, a video apparatus and a DVD player for instance.
[Display of Focus Display Information]
As for the browser according to this embodiment, in the case where the window 401 is switched, the tabs 402a to 402d corresponding to the window 401 currently in the highest-level layer and being active are brightened so as to let the user know which window 401 is currently in the highest-level layer and being active. However, the user's line of sight is generally directed toward the contents displayed in the window 401. Therefore, it may be difficult, with only the display of the tabs 402a to 402d displayed outside the window, to see which window 401 is currently in the highest-level layer and being active.
Thus, in the case where an anchor (link) in the window 401 is focused (selected), the focus display information which is the information for visually informing the user that the anchor is focused is displayed in a window-corresponding color which is the color corresponding to the window 401. The focus display information moves to the newly focused anchor according to the switch of the focused anchor. The switch of the focused anchor is performed by operating a four-way key (not shown) provided to the remote controller 611 for instance.
The “focus display information” is the information capable of indicating to the user that the anchor is selected, such as an underline attached to the anchor, a highlight (reversing display) or a frame enclosing the anchor for instance. This embodiment will be described on condition that the frame enclosing the anchor is displayed as the focus display information.
The “window-corresponding color” is one color determined for each window, and the window-corresponding color of one window 401 is determined to be different from the window-corresponding colors of other windows 401. For instance, in the case where the browser program displays four windows 401 of the first to fourth, the window-corresponding colors of the first to fourth windows 401 are determined as “red,” “blue,” “green” and “yellow.” Therefore, if the window currently displayed in the highest-level layer is switched from the first window 401 to the second window 401, the color of the frame enclosing the selected anchor in the window 401 changes from “red” to “blue.”
The window-corresponding color may be determined to be the color matching with or similar to the display color of the tab given to each window, or may be determined to be the color matching with or similar to the color given to the hardware button corresponding to each window.
First, the browser program determines whether or not a focus display information rendering event is generated (step S1301). This determination is made by the window display process 912. The following are thinkable as the focus display information rendering events.
(1) When an active tab is changed
(2) When the user moves the focus
(3) When new contents are displayed in the window
(4) When a displayed menu and so on are erased and a hidden browser screen (all or a part) is displayed
The focus display information rendering events are not limited to the above (1) to (4), but generation of the focus display information rendering event may also be regarded as timing suited to displaying the frame enclosing the anchor as the focus display information in the window-corresponding color of the window currently displayed in the highest-level layer.
In the case where the window display process 912 determines that no focus display information rendering event is generated, the browser program repeats the step S1301.
In the case where the window display process 912 determines that the focus display information rendering event is generated, the browser program determines which tab among the tabs 402a to 402d is the active tab of the window 401 currently displayed in the highest-level layer (step S1302). This determination is made by making an inquiry from the window display process 912 to a UI control process 902 which then notifies the window display process 912 of the tab currently active.
Following the determination in the step S1302, the browser program refers to a focus frame color table and determines a frame color of the frame which is the focus display information (step S1303). The browser program has the focus frame color table prepared in advance, which correspondingly stores the information for specifying the tabs and the information for specifying the frame color. The information for specifying the tabs is tab numbers “1,” “2” “3” and “4” for instance. The information for specifying the frame color may be described as an RGB value or a color number indicated in a separately stored color table. The focus frame color table may be in any data format if capable of correspondingly storing the information for specifying the tabs and the information for specifying the frame color, and is implemented by an array type variable for instance. The window display process 912 receives the tab number of the currently active tab from the UI control process 902, and refers to the array type variable as the focus frame color table by using the tab number as a suffix so as to determine the information for specifying the frame color corresponding to the suffix as the frame color.
Following the determination of the frame color in the step S1303, the browser program renders the frame enclosing the focused anchor by using the determined frame color (step S1304). A rendering process of this frame is performed by the window display process 912, and it is passed to the display driver 604 as the image data in a bitmap format together with the contents in the active window 401 so as to be displayed. It is decided in advance by the process of the HTML parser S802 as to which anchor is focused.
It is desirable that the frame colors as the focus display information correspond to the tabs 402a to 402d one-on-one. It is thereby possible for the user to instinctively grasp that the tabs 402a to 402d are switched and which window 401 is currently displayed in the highest-level layer. It is desirable that the relation between the color of the color buttons provided to the remote controller 611 for selecting the tab 401 and the frame color be the same or similar color so that the user can instinctively grasp it.
Next, a description will be given by referring to FIGS. 17 to 20 as to a display example of the frame as the focus display information. FIGS. 17 to 20 are diagrams showing examples of the display screen including the frame as the focus display information, which is the display screen of the browser.
Next,
In general, there are many cases where the user always sees the screen, and in particular, the focused anchor. However, it is possible, when the tab is switched, to change the color of the focus display information to the color corresponding to the tab so as to make it instinctively understandable that the tab is switched.
Number | Date | Country | Kind |
---|---|---|---|
2003-074650 | Mar 2003 | JP | national |
2003-305866 | Aug 2003 | JP | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/JP04/03528 | 8/3/2004 | WO | 9/19/2005 |