Abstract:
Reformatting web pages in a BD platform, including: receiving a HyperText Markup Language (HTML) page of a web browser; parsing the HTML page into user interface (UI) widgets; and mapping the UI widgets into Home Audio/Video interface (HAVi) widgets. Keywords include HAVi, Widgets, and BD platform.

Description:
BACKGROUND 
       [0001]    1. Field of the Invention 
         [0002]    The present invention relates to Blu-ray disc players, and more specifically, to implementing a web browser and reformatting web pages in the Blu-ray Disc Java (BD) platform. 
         [0003]    2. Background 
         [0004]    A function such as Blu-ray Disc Live (BD-Live) for downloading content over a network is defined in the Blu-ray Disc Read-Only Memory (BD-ROM) specification. An optical disc playback device (e.g., a Blu-ray disc player) for playing back content recorded on a BD-ROM or other medium is able to make use of the BD-Live function by executing a title that has been authored using a Blu-ray Disc Java (BD-J) program. That is, the authored title is a software package that includes various types of data, such as content data and programs. 
         [0005]    The BD-J specification also includes a “Virtual Package” function, whereby original content stored on packaged media is read and played back simultaneously with additional content that has been downloaded and stored on a recording medium. Accordingly, the BD player gives the appearance of playing back an up-to-date, virtual BD-ROM medium. The Virtual Package function also includes functions for managing additional content as well as modifying graphical user interface (GUI) menus according to content updates. 
         [0006]    By utilizing the above BD-Live function, the content provider that provides a particular BD-J title is able to keep the content included in that BD-J title up-to-date, even after a user has purchased the BD-ROM media. A BD player that plays back the BD-J title is thus able to, for example, download additional content such as the latest trailer clips, subtitle data for new languages, special footage, and games from a server (e.g., a Web site) provided by the content provider, and subsequently store such content on a recording medium such as a hard disk drive (HDD) or flash memory. However, in some cases, the BD-Live function can be achieved more easily by using a web browser in the BD-J platform. 
       SUMMARY 
       [0007]    The present invention provides for implementing a web browser and reformatting web pages in a BD platform. 
         [0008]    In one implementation, a method of reformatting web pages in a BD platform is disclosed. The method includes: receiving a HyperText Markup Language (HTML) page of a web browser; parsing the HTML page into user interface (UI) widgets; and mapping the UI widgets into Home Audio/Video interface (HAVi) widgets. 
         [0009]    In another implementation, a system reformatting web pages of a web browser in a BD platform is disclosed. The system includes: a parser configured to receive a HyperText Markup Language (HTML) page of the web browser and parse the HTML page into user interface (UI) widgets; and a mapper configured to map the UI widgets into Home Audio/Video interface (HAVi) widgets. 
         [0010]    In a further implementation, a non-transitory storage medium storing a computer program for reformatting web pages in a BD platform is disclosed. The computer program includes executable instructions that cause a computer to: receive a HyperText Markup Language (HTML) page of a web browser; parse the HTML page into user interface (UI) widgets; map the UI widgets into Home Audio/Video interface (HAVi) widgets; and display the HTML page in the BD platform. 
         [0011]    Other features and advantages of the present invention will become more readily apparent to those of ordinary skill in the art after reviewing the following detailed description and accompanying drawings. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0012]      FIG. 1A  is a flowchart illustrating a process for implementing a web browser in the BD platform in accordance with one implementation of the present invention. 
           [0013]      FIG. 1B  is a flowchart illustrating a process for reformatting web pages in the BD platform in accordance with one implementation of the present invention. 
           [0014]      FIG. 2  shows an example document tree building process illustrating one example of parsing UI widgets of an HTML page into HAVi widgets using a document tree. 
           [0015]      FIG. 3  shows an example table of a mapping between the UI widgets of the HTML page and the HAVi widgets. 
           [0016]      FIG. 4 ,  FIG. 5 , and  FIG. 6  show screen shots of the HTML page display in the BD platform. 
           [0017]      FIG. 7  shows one implementation of a system configured to implement a web browser in the BD platform. 
           [0018]      FIG. 8A  illustrates a representation of a computer system and a user. 
           [0019]      FIG. 8B  is a functional block diagram illustrating the computer system hosting the BD platform web browser system. 
       
    
    
     DETAILED DESCRIPTION 
       [0020]    Currently there is no web browser implementation in the Blu-ray Disc Java (BD) platform. However, the BD platform supports a user interface (UI) programming technique referred to as Home Audio/Video interface (HAVi) which allows consumer electronics and home appliances that comply with the HAVi specification to communicate with each other. HAVi is a digital audio/video networking interface that provides a home networking software specification for seamless interoperability among home entertainment products. Accordingly, a programming technique involving HAVi “widgets” can be used to implement a web browser in the BD platform. 
         [0021]    Certain implementations as disclosed herein provide for implementing a web browser and reformatting web pages in the BD platform. In one implementation, the HTML-based UI widgets are mapped to HAVi widgets to enable a quick porting of the web browser software into the BD platform. After reading this description it will become apparent how to implement the invention in various implementations and applications. However, although various implementations of the present invention will be described herein, it is understood that these implementations are presented by way of example only, and not limitation. As such, this detailed description of various implementations should not be construed to limit the scope or breadth of the present invention. 
         [0022]    Developing a new web browser is a time consuming and expensive effort because web browsers are complex software modules which involve adherence to several standards. Thus, without a web browser on the BD platform, Blu-ray Disc Live (BD-Live) use cases that can be performed easily using a web browser are currently being implemented as distinct non-interoperable software modules. Although there are Java-based web browsers available that are Java code compliant, the UI code for these web browsers uses either Java Abstract Window Toolkit (AWT) components or Java Foundation Classes (JFC) Swing implementations. Since these components are not supported in the BD platform, the porting of the browsers is not directly feasible. 
         [0023]    In one implementation, the HTML-based UI widgets (AWT/Swing) are mapped to the HAVi widgets such as buttons and text boxes, thus enabling a port of the Web Browser software. In other implementations, this porting technique can be extended to implement software other than web browsers including applications for phones, computers, and other similar applications. 
         [0024]      FIG. 1A  is a flowchart  100  illustrating a process for implementing a web browser in the BD platform in accordance with one implementation of the present invention. In one implementation, the process of implementing a web browser includes reformatting web pages in the BD platform. In the illustrated implementation of  FIG. 1A , a request for implementing a web browser in the BD platform is received, at box  110 . The request may come in the form of a click or selection of a web browser icon or menu item. The HTML page of the web browser is then received and parsed, at box  120 , to build a document tree which includes a list of UI widgets of the HTML page. For example,  FIG. 2  shows an example document tree building process  200  that builds an HTML page document tree  230  based on an HTML file  220  and a corresponding HTML page  210 . 
         [0025]    Graphical elements corresponding to the UI widgets of the document tree are generated, at box  130 . In one implementation, each mapped graphical element corresponds to one UI widget of the document tree. In one implementation, the graphical elements include HAVi widgets needed to build a web browser in the BD platform. Once all of the UI widgets of the document tree are mapped to graphical elements of HAVi widgets, the HTML page is then displayed, at box  140 . 
         [0026]      FIG. 1B  is a flowchart  150  illustrating a process for reformatting web pages in the BD platform in accordance with one implementation of the present invention. In the illustrated implementation of  FIG. 1B , a request for implementing a web browser in the BD platform is received, at box  160 . The request may come in the form of a click or selection of a web browser icon or menu item. To reformat web pages in the BD platform, the HTML page of the web browser is then received and parsed, at box  170 , into user interface (UI) widgets. The parsed UI widgets are mapped, at box  180 , into Home Audio/Video interface (HAVi) widgets. Once all of the UI widgets are mapped into HAVi widgets, the HTML page is then displayed, at box  190 . 
         [0027]      FIG. 3  shows an example table  300  of a mapping between the UI widgets of the HTML page and the HAVi widgets. For example, the table maps the “text input” in the HTML page to HSinglelineEntry of the HAVi widget. In another example, all types of the “textarea” HTML widget are mapped to HMultiLineEntry of the HAVi widget. 
         [0028]      FIG. 4 ,  FIG. 5 , and  FIG. 6  show screen shots of the HTML page display in the BD platform. As can be seen in the screen shots, the HTML page in the BD platform displays the same information in a substantially similar manner with slightly different graphical icons. 
         [0029]      FIG. 7  shows one implementation of a converter system  700  configured to implement a web browser and reformat web pages in the BD platform. In one implementation, the converter system  700  is a web browser implementation on a Blu-ray disc player. In the illustrated implementation of  FIG. 7 , the system  700  includes a parser  710 , a document tree builder  720 , and a mapper  730 . Once the HTML page of the web browser is received subsequent to a request to implement a web browser in the BD platform, the parser  710  parses the HTML page into UI widgets. The document tree builder  720  receives the parsed UI widgets and builds the document tree. Once the document tree is built, it is transmitted to the mapper  730 . The mapper  730  receives the document tree and generates graphical elements corresponding to the UI widgets. In one implementation, the graphical elements include HAVi widgets needed to build a web browser in the BD platform. Once all of the UI widgets of the document tree are mapped to the graphical elements of HAVi widgets, the HTML page is then displayed on a display. 
         [0030]      FIG. 8A  illustrates a representation of a computer system  800  and a user  802 . The user  802  uses the computer system  800  to implement a web browser and reformat web pages in the BD platform. The computer system  800  stores and executes a BD platform web browser system  890 . 
         [0031]      FIG. 8B  is a functional block diagram illustrating the computer system  800  hosting the BD platform web browser system  890 . The controller  810  is a programmable processor and controls the operation of the computer system  800  and its components. The controller  810  loads instructions (e.g., in the form of a computer program) from the memory  820  or an embedded controller memory (not shown) and executes these instructions to control the system. In its execution, the controller  810  provides the BD platform web browser system  890  as a software system. Alternatively, this service can be implemented as separate hardware components in the controller  810  or the computer system  800 . 
         [0032]    Memory  820  stores data temporarily for use by the other components of the computer system  800 . In one implementation, memory  820  is implemented as RAM. In one implementation, memory  820  also includes long-term or permanent memory, such as flash memory and/or ROM. 
         [0033]    Storage  830  stores data temporarily or long term for use by other components of the computer system  800 , such as for storing data used by the BD platform web browser system  890 . In one implementation, storage  830  is a hard disk drive. 
         [0034]    The media device  840  receives removable media and reads and/or writes data to the inserted media. In one implementation, for example, the media device  840  is an optical disc drive. 
         [0035]    The user interface  850  includes components for accepting user input from the user of the computer system  800  and presenting information to the user. In one implementation, the user interface  850  includes a keyboard, a mouse, audio speakers, and a display. The controller  810  uses input from the user to adjust the operation of the computer system  800 . 
         [0036]    The I/O interface  860  includes one or more I/O ports to connect to corresponding I/O devices, such as external storage or supplemental devices (e.g., a printer or a PDA). In one implementation, the ports of the I/O interface  860  include ports such as: USB ports, PCMCIA ports, serial ports, and/or parallel ports. In another implementation, the I/O interface  860  includes a wireless interface for communication with external devices wirelessly. 
         [0037]    The network interface  870  includes a wired and/or wireless network connection, such as an RJ-45 or “Wi-Fi” interface (including, but not limited to 802.11) supporting an Ethernet connection. 
         [0038]    The computer system  800  includes additional hardware and software typical of computer systems (e.g., power, cooling, operating system), though these components are not specifically shown in  FIG. 8B  for simplicity. In other implementations, different configurations of the computer system can be used (e.g., different bus or storage configurations or a multi-processor configuration). 
         [0039]    The above description of the disclosed implementations is provided to enable any person skilled in the art to make or use the invention. Various modifications to these implementations will be readily apparent to those skilled in the art, and the generic principles described herein can be applied to other implementations without departing from the spirit or scope of the invention. Accordingly, additional implementations and variations are also within the scope of the invention. For example, the illustrated implementations discuss porting a web browser to the BD platform. However, in other implementations, the porting technique can be extended to porting of other software from the HTML platform to the BD platform. Further, it is to be understood that the description and drawings presented herein are representative of the subject matter which is broadly contemplated by the present invention. It is further understood that the scope of the present invention fully encompasses other implementations that may become obvious to those skilled in the art and that the scope of the present invention is accordingly limited by nothing other than the appended claims.