Note: Descriptions are shown in the official language in which they were submitted.
CA 02481000 2004-09-30
WO 03/085960 PCT/US03/08124
TITLE OF THE INVENTION
METHOD AND APPARATUS FOR DISPLAYING GRAPHICS ON AN AUXILIARY
DISPLAY DEVICE USING LOW LEVEL GRAPHICS DRIVERS
BACKGROUND OF THE INVENTION
FIELD OF THE INVENTION
[0001] The present invention generally relates to the transmission of
interactive graphics for
viewing and interacting with applications running on a processor of a remote
device.
BACKGROUND INFORMATION
[0002] A new era in TV viewing experience is emerging in which video
complementary
data services are available to the TV viewer using a second display screen on
an auxiliary
display device. One example of an auxiliary display device is a webpad, which
is a relatively
small remote wireless device.
[0003] FIG. 1 shows a conventional two-screen digital cable TV system 100. The
system
100 includes an auxiliary display device 105 which communicates with a digital
set-top box
(STB) 110 (also referred to as a "local device") using a wireless connection.
The wireless
connection utilizes an external port 115 on the STB 110, such as a Universal
serial bus (IISB),
Ethernet, or IEEE 1394 port equipped with an access point 120 that
communicates with the
auxiliary display device 105 over a wireless radio frequency (RF) link 125.
The access point
120 in this scenario is a device designed for a specific interface (e.g., USB)
and is used to
support wireless connectivity. The auxiliary display device 105 may also be
connected directly
to a high-speed cable modem, digital subscriber (DSL) modem or any other high-
speed Internet
connection device to access the Internet 135. TV video programming 140 is
accessible via STB
110. Typical wireless connection protocols that may be used by TV system 100
include, but are
not limited to, HomeRF~ and IEEE 802.11. A more traditional wired connection
simply
includes a cable or wire between the STB 110 and the auxiliary display device
105, again using
a USB, Ethernet, or IEEE 1394 port. The STB 110 is also connected to a
television 130.
CA 02481000 2004-09-30
WO 03/085960 PCT/US03/08124
[0004] The two-screen digital cable TV system 100 allows for many enhanced
capabilities
over a one-screen system. For example, a user can view Internet data on the
screen of the
auxiliary display device 105, while watching video uninterrupted on the
television 130. In
another example, STB applications that are normally viewed on the television
screen, are
viewed on the screen of the auxiliary display device 105, leaving the
television 130 available
for video program viewing.
[0005] In a CATV system, an electronic program guide (EPG) is a specific
example of an
application that can be interacted with through an application running on a
second screen
device, such as auxiliary display device 105. An EPG is used by a viewer to
determine what
programs are available for viewing on a television, at what time the programs
will be broadcast,
and on which channels. More sophisticated EPGs display supplemental
information used by
the viewer to determine whether the program is suitable for young children,
what actors are in
the program, how long the program is, and what the program is about. Normally
in an EPG, an
individual windowed portion is allocated for each program displayed. Viewers
of CATV
1 S programs use a GUI to navigate an EPG and select program windows in the
EPG that are of
particular interest.
[0006] It is desirable to define a distributed process for a CATV STB
application to send
abstracted graphic driver calls to a low cost auxiliary display device, upon
which the graphics is
rendered, and to facilitate remote control feedback from the auxiliary display
device to the STB.
Unlike processes incorporated into more complex personal computers, the
transmission of the
abstracted graphic driver calls relieves the STB of the burden of supporting
application data
traffic, and minimizes the processing and memory requirements of the auxiliary
display device.
SUMMARY OF THE INVENTION
[0007] The present invention enables graphics information to be sent to an
auxiliary display
device for display in a communications system including an auxiliary display
device and a set-
top box (STB).
[0008] The STB transmits graphical data to the auxiliary display. The
graphical data
includes abstracted graphics driver calls. The driver calls are processed in
the auxiliary display
device using graphic drivers residing in the auxiliary display device.
Graphics are displayed on
a display in the auxiliary display device, based on the processed driver
calls.
_2_
CA 02481000 2004-09-30
WO 03/085960 PCT/US03/08124
[0009] User inputs may be transmitted from the auxiliary display device to the
STB. The
user inputs are responses to selections presented by the graphics on the
display of the auxiliary
display device. A wireless local area network (WLAN) protocol andlor infrared
transmission
may be used to transmit the user inputs. The abstracted graphics driver calls
may be packaged
S in a wireless local area network (WLAN) protocol. The abstracted graphics
driver calls may be
low level graphics driver calls. The displayed graphics may include a
television program grid of
an electronic program guide (EPG). The communications system may be a cable
television
(CATV) system.
[0010] The STB may include a local graphics application running at least one
application
program interface (API) layer, at least one driver layer, and at least one
hardware layer
including a processor.
[0011] The auxiliary display device may include a remote graphics application
running at
least one application program interface (API) layer, at least one driver
layer, and at least one
hardware layer including a processor.
BRIEF DESCRIPTION OF THE DRAWINGS
[0012] The following detailed description of preferred embodiments of the
present
invention would be better understood when read in conjunction with the
appended drawings.
For the purpose of illustrating the present invention, there are shown in the
drawings
embodiments which are presently preferred. However, the present invention is
not limited to
the precise arrangements and instrumentalities shown. In the drawings:
[0013] FIG. 1 shows a conventional two-screen digital cable TV system;
. [0014] FIG. 2 shows a communications system operating in accordance with the
present
invention;
[0015] FIG. 3 shows a simplified representation of two-screen API architecture
used in
accordance with the present invention;
[0016] FIG. 4 shows a simplified representation of a remote control API
architecture used
in accordance with the present invention; and
(0017] FIG. 5 is a high-level functional flowchart including steps implemented
in
accordance with the present invention.
-3-
CA 02481000 2004-09-30
WO 03/085960 PCT/US03/08124
DETAILED DESCRIPTION OF THE INVENTION
[0018] Graphics information is transmitted from an STB to an auxiliary display
device.
The graphics information does not include pixel representations, which would
require high
bandwidth and fast processing. Nor does the graphics information include high
level
application program interface (API) calls.
[0019] In accordance with the present invention, the graphics information
includes
abstracted graphics call drivers, such as drivers that instruct a display to
construct an image
(e.g., draw a square, color red, large size at X, Y, Z coordinates). The
abstracted graphics
driver calls are low level graphics drivers and are packaged in a wireless
local area network
(WLAN) protocol, such as 802.1 lb. Unlike the high level API, the low level
API gives a user
complete access to the screen and to input events. Although, this access
requires everything
that is shown on the screen to be programmed, the memory and processing
requirements for the
auxiliary display device are drastically reduced.
[0020] In a one-screen environment, an STB typically hosts applications that
are capable of
rendering graphics to the display device. Applications axe typically provided
this ability
through an abstraction layer. This abstraction layer, commonly referred to as
an Application
Program Interface (API) layer, serves to allow the STB ultimate control over
what is displayed
while also providing applications the ability to communicate with low level
drivers, and
ultimately with the hardware itself. The single screen API architecture
includes an application
having an API layer, a driver layer and a hardware layer. The application
would typically
request control over the graphics drivers and hardware by calling a set of
APIs. The application
first negotiates control with a control function of the STB and then
communicates with a
graphics processor and associated components through drivers.
[0021] FIG. 2 shows a communications system (e.g., CATV system) 200 including
an STB
205 and an auxiliary display device 210. The STB 205 (i.e., local device)
includes a local
graphics application 215 that runs on a first processor 220. The local
graphics application 215
includes at least one API layer, at least one driver layer, and at least one
hardware layer. The
auxiliary display device 210 (i.e., remote wireless device, second screen
device) includes a
remote graphics application 225 that runs on a second processor 230 that
communicates with a
display 235. The remote graphics application 225 also includes at least one
API layer, at least
-4-
CA 02481000 2004-09-30
WO 03/085960 PCT/US03/08124
one driver layer, and at least one hardware layer. The STB 205 communicates
with a television
240 (i.e., first screen device).
[0022] In a two-screen scenario in accordance with the present invention, the
local graphics
application 215 communicates with the remote graphics application 225. The STB
205
communicates abstracted graphics driver calls to the auxiliary display device
210 via wireless
communications medium 245, and processes remote control commands received from
the
auxiliary display device 210. The abstracted graphics driver calls can be low
level graphics
driver calls.
[0023] FIG. 3 shows a two-screen API architecture supporting the transmission
of graphics
calls. The STB 205 transmits graphical data including abstracted graphics
driver calls over the
wireless communications medium 245 to the auxiliary display device 210. The
driver calls are
passed on to an API layer in the remote graphics application 225 of the
auxiliary display device
210. Graphics are displayed on display 235 of the auxiliary display device 210
in accordance
with the driver calls received from STB 205. The graphics displayed on display
235 can
include a television program grid of an electronic program guide (EPG).
[0024] FIG. 4 shows a two-screen API architecture supporting the transmission
of remote
control commands. The auxiliary display device 210 transmits remote control
commands based
on user inputs to the STB 205 over the wireless communications medium 245. The
remote
control commands are passed to an API layer in the local graphics application
215 of the STB
205. When displayed on the display 235 of the auxiliary display device 210,
the remote
graphics application 225 can accept user inputs (e.g., via a touch screen or
keyboard) in
response to the graphics presented. The remote graphics application 225
communicates the
user inputs to the local graphics application 215 via the wireless
communications medium 245,
. and the user inputs are processed by the STB 205. A wireless local area
network (WLAN)
protocol and/or infrared transmission can be used to transmit the user inputs
to the STB 205.
[0025] The abstracted graphics driver calls can be based on proprietary or
open standard-
based graphics APIs. The graphics APIs are encapsulated in a remote
communications message
such that the auxiliary display device 210 can process commands with its own
specific
hardware suite and drivers.
[0026] The abstracted graphics driver calls are suitable for implementing on-
screen and
interactive display applications, such as an electronic or interactive program
guide, web-
-5-
CA 02481000 2004-09-30
WO 03/085960 PCT/US03/08124
browsing, email, or the like. Several "open standard" graphics APIs are
currently in use
throughout the computing industry. Some examples include:
[0027] (1) OpenGL, for example:
[0028] glVertex3f( O.Of, l.Of, O.Of); /l Draws the top of a triangle,
[0029] glVertex3f(-l.Of,-l.Of, O.Of); // Draws the bottom left of a triangle,
and
[0030] glVertex3f( l.Of,-l.Of, O.Ofj; // Draws the bottom right
of a triangle;
[0031] (2) Java Abstract Windows Toolbox Graphics APIs, for example:
[0032] drawRect(int x, int y, int width, int height) /l Draws
a rectangle;
[0033] (3) DirectX; and
[0034] (4) GDI.
[0035] These, or any other open or proprietary graphics APIs,
can be used to implement the
present
invention.
[0036] Instead of being processed in the auxiliary display device
210, the abstracted
graphics driver calls are packaged by the STB 205 in at least one
communications package,
such
as one
using
a WLAN
protocol,
which
is sent
to the
auxiliary
display
device
210. The
auxiliary display device 210, in turn, receives and "unwraps" the
communications package, and
then processes the abstracted graphics driver calls with its own hardware and
drivers.
[0037] FIG. 5 shows the steps implemented by a method operating in accordance
with the
present invention. In step SOS, the STB 205 transmits graphical data to the
auxiliary display
device 210 over a wireless communications medium 245. The graphical data
includes
abstracted graphics calls. In step 510, the driver calls are processed in the
auxiliary display
device 210 using graphic drivers residing in the remote graphics application
225. In step 515,
graphics are displayed on display 235 in the auxiliary display device 210,
based on the process
driver calls. In step 520, user inputs are transmitted from the auxiliary
display device 210 to the
STB 205 over the wireless communications medium 245. The user inputs are
responses to
selections presented by the graphics on the display 235 of the auxiliary
display device 210.
[0038] The present invention may be implemented with any combination of
hardware and
software. If implemented as a computer-implemented apparatus, the present
invention is
implemented using means for performing all of the steps and functions
described above.
[0039] The present invention can be included in an article of manufacture
(e.g., one or more
computer program products) having, for instance, computer useable media. The
media has
-6-
CA 02481000 2004-09-30
WO 03/085960 PCT/US03/08124
embodied therein, for instance, computer readable program code means for
providing and
facilitating the mechanisms of the present invention. The article of
manufacture can be
included as part of a computer system or sold separately.
[0040] It will be appreciated by those skilled in the art that changes could
be made to the
embodiments described above without departing from the broad inventive concept
thereof. It is
understood, therefore, that this invention is not limited to the particular
embodiments disclosed,
but it is intended to cover modifications within the spirit and scope of the
present invention as
defined by the appended claims.