Implementing web browser in BD platform

Implementing a web browser in a BD platform, including: receiving a HyperText Markup Language (HTML) page of a web browser; converting the HTML page including user interface (UI) widgets into graphical elements including HAVi widgets; and displaying the HTML page in the BD platform. Keywords include HAVi, Widgets, and BD platform.

BACKGROUND

1. Field of the Invention

The present invention relates to Blu-ray disc players, and more specifically, to implementing a web browser in the Blu-ray Disc Java (BD) platform.

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.

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.

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

The present invention provides for implementing a web browser in a BD platform.

In one implementation, a method of implementing a web browser in a BD platform is disclosed. The method includes: receiving a HyperText Markup Language (HTML) page of a web browser; converting the HTML page including user interface (UI) widgets into graphical elements including HAVi widgets; and displaying the HTML page in the BD platform.

In another implementation, a web browser implemented in a BD platform of a Blu-ray disc player for executing optical disc functions is disclosed. The web browser includes: a converter to convert an HTML page of the web browser including UI widgets into graphical elements including HAVi widgets; and a display to display the HTML page in the BD platform.

In a further implementation, a non-transitory storage medium storing a computer program for implementing a web browser in a BD platform is disclosed. The computer program includes executable instructions that cause a computer to: receive an HTML page of a web browser; convert the HTML page including UI widgets into graphical elements including HAVi widgets; and display the HTML page in the BD platform.

DETAILED DESCRIPTION

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.

Certain implementations as disclosed herein provide for implementing a web browser 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.

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.

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. For example, the same technique can be used to map/port an e-mail application to the BD platform.

FIG. 1is a flowchart100illustrating a process for implementing a web browser in the BD platform in accordance with one implementation of the present invention. In the illustrated implementation ofFIG. 1, a request for implementing a web browser in the BD platform is received, at box110. 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 box120, to build a document tree which can include a list of UI widgets of the HTML page. For example,FIG. 2shows an example document tree building process200that builds an HTML page document tree230based on an HTML file220and a corresponding HTML page210.

Graphical elements corresponding to the UI widgets of the document tree are generated, at box130. 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.FIG. 3shows an example table300of 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. 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 box140.

FIG. 4,FIG. 5, andFIG. 6show 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.

FIG. 7shows one implementation of a converter system700configured to implement a web browser in the BD platform. In one implementation, the converter system700is a web browser implementation on a Blu-ray disc player. In the illustrated implementation ofFIG. 7, the system700includes a parser710, a document tree builder720, and a mapper730. Once the HTML page of the web browser is received subsequent to a request to implement a web browser in the BD platform, the parser710parses the HTML page into UI widgets. The document tree builder720receives the parsed UI widgets and builds the document tree. Once the document tree is built, it is transmitted to the mapper730. The mapper730receives 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.

FIG. 8Aillustrates a representation of a computer system800and a user802. The user802uses the computer system800to implement a web browser in the BD platform. The computer system800stores and executes a BD platform web browser system890.

FIG. 8Bis a functional block diagram illustrating the computer system800hosting the BD platform web browser system890. The controller810is a programmable processor and controls the operation of the computer system800and its components. The controller810loads instructions (e.g., in the form of a computer program) from the memory820or an embedded controller memory (not shown) and executes these instructions to control the system. In its execution, the controller810provides the BD platform web browser system890as a software system. Alternatively, this service can be implemented as separate hardware components in the controller810or the computer system800.

Memory820stores data temporarily for use by the other components of the computer system800. In one implementation, memory820is implemented as RAM. In one implementation, memory820also includes long-term or permanent memory, such as flash memory and/or ROM.

Storage830stores data temporarily or long term for use by other components of the computer system800, such as for storing data used by the BD platform web browser system890. In one implementation, storage830is a hard disk drive.

The media device840receives removable media and reads and/or writes data to the inserted media. In one implementation, for example, the media device840is an optical disc drive.

The user interface850includes components for accepting user input from the user of the computer system800and presenting information to the user. In one implementation, the user interface850includes a keyboard, a mouse, audio speakers, and a display. The controller810uses input from the user to adjust the operation of the computer system800.

The I/O interface860includes 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 interface860include ports such as: USB ports, PCMCIA ports, serial ports, and/or parallel ports. In another implementation, the I/O interface860includes a wireless interface for communication with external devices wirelessly.

The network interface870includes 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.

The computer system800includes additional hardware and software typical of computer systems (e.g., power, cooling, operating system), though these components are not specifically shown inFIG. 8Bfor 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).

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.