Title: System and method for processing audio-only programs in a television receiver
Abstract: An apparatus and a method for processing programs indicated by the associated program description to be audio-only programs, including the following. A respective program description for programs is received. Upon user selection of a program, a determination is made as to whether the selected program is an audio-only program. If the selected program is an audio-only program, then preprogrammed on-screen display information is displayed while the selected audio-only program is played to provide additional visual entertainment for users.
Patent Number: 6,966,064 Issued on 11/15/2005 to Schneidewend,   et al.
| Inventors:
|
Schneidewend; Daniel Richard (Fishers, IN);
Randall; Darrel Wayne (Danville, IN);
McLane; Michael Joseph (Indianapolis, IN);
Brown; Megan Louise (Carmel, IN);
Westlake; Mark Sheridan (Fishers, IN)
|
| Assignee:
|
Thomson Licensing (Boulogne-Billancourt, FR)
|
| Appl. No.:
|
445175 |
| Filed:
|
June 5, 1998 |
| PCT Filed:
|
June 5, 1998
|
| PCT NO:
|
PCT/US98/11866
|
| 371 Date:
|
March 14, 2000
|
| 102(e) Date:
|
March 14, 2000
|
| PCT PUB.NO.:
|
WO98/56174 |
| PCT PUB. Date:
|
December 10, 1998 |
| Current U.S. Class: |
725/41; 725/37 |
| Intern'l Class: |
H04N 005/45.5; G06H 003/00; G06H 013/00 |
| Field of Search: |
725/39,40,41,43,44,49,37,68,70,131-134,139,141-142,151,153
348/563-565,561,553,569
455/302,121
345/473
434/307.R
|
References Cited [Referenced By]
U.S. Patent Documents
| 5048390 | Sep., 1991 | Adachi et al.
| |
| 5056138 | Oct., 1991 | Tyson, Sr.
| |
| 5091936 | Feb., 1992 | Katznelson et al.
| |
| 5212765 | May., 1993 | Skeirik.
| |
| 5262765 | Nov., 1993 | Tsumura et al.
| |
| 5467288 | Nov., 1995 | Fasciano et al.
| |
| 5585866 | Dec., 1996 | Miller et al.
| |
| 5699104 | Dec., 1997 | Yoshinobu.
| |
| 5828420 | Oct., 1998 | Marshall et al.
| |
| 5969719 | Oct., 1999 | Tsujimoto.
| |
| 6084169 | Jul., 2000 | Hasegawa et al.
| |
| Foreign Patent Documents |
| 4439257 | Oct., 1995 | DE.
| |
| 4445617 | Jun., 1996 | DE.
| |
| 05-36984 | May., 1993 | JP.
| |
| 07-007662 | Jan., 1995 | JP.
| |
| 07-212327 | Aug., 1995 | JP.
| |
| 07-212714 | Aug., 1995 | JP.
| |
| 07-284035 | Oct., 1995 | JP.
| |
| 08-249821 | Sep., 1996 | JP.
| |
| 08-265660 | Oct., 1996 | JP.
| |
| 97/131/7 | Jun., 1994 | WO.
| |
| 95/15647 | Jun., 1995 | WO.
| |
| 96/17472 | Jun., 1996 | WO.
| |
| 97/02700 | Jan., 1997 | WO.
| |
Other References
*Patent Abstracts of Japan vol. 095, No. 010 & JP 7-170510 *This abstract is
equivalent to U.S. Patent No. 5,699,104 (cited above).
Schmidt U: "Der Media-Manager, Eine Neuartige Benutzerfuerung Fuer Multimedia-PCS"
vol. 50, No. 3, Mar. 1, 1996 pp. 110-114 Translation Attached.
|
Primary Examiner: Grant; Chris
Assistant Examiner: Lonsberry; Hunter
Attorney, Agent or Firm: Tripoli; Joseph S., Shedd; Robert D., Ferguson; Catherine A.
Parent Case Text
This application is a 371 U.S. National Stage of International Application No.
PCT/US98/11866 filed Jun. 5, 1998, which in turn claims the benefit of U.S. Provisional
Application 60/048,879 filed Jun. 6, 1997.
Claims
1. An apparatus for processing a first type of program having both audio and
video content and a second type of program having audio-only content, comprising:
memory means for storing display information representing an animated image;
user control means for selecting an animated feature;
control means for determining a type of program of a selected program; and
the control means causes, when the selected program is determined to be the first
type of program, playing of the audio content and displaying of the video content
associated with the selected program; and causes, when the selected program is
the second type of program and the animated feature has been selected, playing
of the audio-only content associated with the selected program and displaying of
the stored animated image, or playing of the audio-only content associated with
the selected program and displaying of a static screen when the animated feature
is not selected.
2. The apparatus of claim 1, wherein the static screen is a blank screen.
3. The apparatus of claim 1, wherein the static screen is a blue screen.
4. The apparatus of claim 1, wherein the type of program is based on program
guide information received.
5. A method for processing a first type of program having both audio and video
content and a second type of program having audio-only content, comprising the
steps of:
storing display information representing an animated image;
determining whether an animated feature has been selected; and
determining a type of program of a selected program;
if the type of program is determined as the first type of program, causing playing
of the audio content and displaying of the video content associated with the selected program;
if the type of program is determined as the second type of program and the animated
feature has been selected, causing playing of the audio-only content associated
with the selected program and displaying of the animated image; and
if the type of program is determined as the second type of program and the animated
feature has not been selected, causing playing of the audio-only content associated
with the selected program and displaying of a static screen.
6. The method of claim 5, wherein the static screen is a blank screen.
7. The method of claim 5, wherein the static screen is a blue screen.
8. The method of claim 5, wherein the type of program is based on program guide
information received.
9. The method of claim 5, wherein the animated image serves as a screen saver.
Description
FIELD OF INVENTION
This invention generally relates to the field of electronic program guide processing
and more particularly, to a system and method for processing a program indicated
by its program description information to be an audio-only program.
BACKGROUND OF INVENTION
Electronic devices such as televisions and personal computers (PC) require
a control system that includes a user interface system. Typically, a user interface
provides information to a user and simplifies use of the device. One example of
a user interface is an Electronic Program Guide (EPG) in a television system.
An EPG is an interactive, on-screen display feature that displays information
analogous to TV listings found in local newspapers or other print media. In addition,
an EPG also includes information necessary for collating and decoding programs.
An EPG provides information about each program within the time frames covered by
the EPG which typically ranges from the next hour up to seven days. The information
contained in an EPG includes programming characteristics such as channel number,
program title, start time, end time, elapsed time, time remaining, rating (if available),
topic, theme, and a brief description of the program's content. EPGs are usually
arranged in a two-dimensional table or grid format with time information on one
axis and channel information on the other axis.
Unlike non-interactive guides that reside on a dedicated channel and merely
scroll through the current programming on the other channels for the next 2 to
3 hours, EPGs allow viewers to select any channel at any time during some period
into the future, e.g., up to seven other channels for the next 2 to 3 hours, EPGs
allow viewers to select any channel at any time during some period into the future,
e.g., up to seven days forward. Further EPG features include the ability to highlight
individual cells of the grid containing program information. Once highlighted,
the viewer can perform functions pertaining to that selected program. For instance,
the viewer could instantly switch to that program if it is currently being aired.
Viewers could also program one touch video cassette recording (VCR) or the like
if the television is properly configured and connected to a recording device. Such
EPGs are known in the art and described, for instance, in U.S. Pat. Nos. 5,353,121;
5,479,268; and 5,479,266 issued to Young et al. and assigned to StarSight Telecast, Inc.
In addition, U.S. Pat. No. 5,515,106, issued to Chaney et al., and assigned to
the same assignee of the present invention, describes in detail an exemplary embodiment
including data packet structure necessary to implement an exemplary program guide
system. The exemplary data packet structure is designed so that both the channel
information (e.g., channel name, call letters, channel number, type, etc.) and
the program description information (e.g., content, title, rating, star, etc.)
relating to a program may be transmitted from a program guide database provider
to a receiving apparatus efficiently.
Also, as discussed in the Chaney patent, it is envisioned that various types
of programs will be available to users, including, for example, video and audio
program, audio-only program, video-only program or data type program such as an
executable computer program or email. In order to uniquely identify the different
types of programs mentioned above, a "class" field, for example, is designated
in the program guide packet structure to indicate the type of program to be transmitted.
The "class" field may be, for example, "audio-video", "audio", "video" or "data",
corresponding respectively to the types of programs described above.
D1, U.S. Pat. No. 5,585,866, discloses a receiver capable of receiving both an
audiovisual and an audio-only program. The receiver in D1 is able to play a received
audio-only program while displaying non-moving, associated program text data on
the receiver's display. Of course, various methods for generating graphics, including
animated graphics, on a display are well know in the art. For example, various
methods are disclosed in D2, an article by Richard G. Shroup, entitled "Color Table
Animation," in the Proc. Of Annual Conference on Computer Graphics and Interact.
Tech. (SIGGRAPH '79), 6
th; Chicao, Ill., USA, Aug. 8-10, 1979, Vol.
13, no. 2, August 1979, pages 8-13, XP002075128, Comput. Graphics (ACM) August
1979. However, references D1 and D2 either alone or combined, do not teach or suggest
that it is desirable to display pre-stored animated pictures either automatically
or in response to a user request, when an audio-only program is activated. The
animated picture may serve as additional entertainment to a user and/or function
as a screen saver to prevent screen burn.
SUMMARY OF THE INVENTION
Therefore, the present inventors recognize that it is desirable to be
able to process each type of programs differently depending on the associated program
description received in the program guide information. In particular, the present
inventors recognize that it is advantageous to provide animated image on a screen,
so that a user may be better entertained visually and/or serve as a screen saver
when an audio-only program is played.
Hence, in accordance with aspects of the invention, an apparatus for processing
a first type of program having both audio and video content and a second type of
program having audio-only content, characterized in that:
- memory means for storing display information representing an animated image;
- control means for determining whether a selected program is the first
type of program having both audio and video content or the second type of program
having audio-only content; and the control means causes the playing of the audio
content and displaying of the video content when the selected program is a first
type of program and causes the playing of the audio-only content and displaying
of the animated image when the selected program is a second type of program.
Also, a method for processing a first type of program having both audio and
video content and a second type of program having audio-only content, characterized
in that:
- storing display information representing an animated image;
- determining whether a selected program is the first type of program
having both audio and video content or the second type of program having audio-only content;
- causing the playing of the audio content and displaying of the video
content when the selected program is a first type of program; and
- causing the playing of the audio-only content and displaying of the
animated image when the selected program is a second type of program."
BRIEF DESCRIPTION OF THE DRAWINGS
In the drawing:
FIG. 1 shows an example of a television system suitable for processing various
types of programs, including audio-only programs and associated program description
information in accordance with the present invention.
FIG. 2 shows an example of a digital video processing apparatus suitable for
processing various types of programs, including audio-only programs and associated
program description information in accordance with the present invention.
FIG. 3 shows a block diagram of a specific implementation of a digital satellite
system suitable for processing audio-only programs and associated program description
information in accordance with the present invention.
FIG. 4 shows an example of a program guide being displayed.
FIG. 5 shows a flowchart, in accordance with the present invention for processing
user inputs and audio-only programs according to the present invention.
FIG. 6 shows an example of an animation screen.
DETAILED DESCRIPTION
FIG. 1 shows an example of a television system suitable for processing various
types of programs, including audio-only programs and associated program guide information
in accordance with the present invention. The television receiver shown in FIG.
1 is capable of processing both analog NTSC television signals and internet information.
The system shown in FIG. 1 has a first input
1100 for receiving television
signal RF
—IN at RF frequencies and a second input
1102
for receiving baseband television signal VIDEO IN. Signal RF
—IN
may be supplied from a source such as an antenna or cable system while signal VIDEO
IN may be supplied, for example, by a video cassette recorder (VCR). Tuner
1105
and IF processor
1130 operate in a conventional manner for tuning and demodulating
a particular television signal that is included in signal RF
—IN.
IF processor
1130 produces baseband video signal VIDEO representing the
video program portion of the tuned television signal. IF processor
1130
also produces a baseband audio signal that is coupled to an audio processing section
(not shown in FIG. 1) for further audio processing. Although FIG. 1 shows input
1102 as a baseband signal, the television receiver could include a second
tuner and IF processor similar to units
1105 and
1130 for producing
a second baseband video signal from either signal RF
—IN or from
a second RF signal source.
The system shown in FIG. 1 also includes a main microprocessor (mP)
1110
for controlling components of the television receiver such as tuner
1105,
picture-in-picture processing unit
1140, video signal processor
1155,
and StarSight® data processing module
1160. As used herein, the term
"microprocessor" represents various devices including, but not limited to, microprocessors,
microcomputers, microcontrollers and controllers. Microprocessor
1110 controls
the system by sending and receiving both commands and data via serial data bus
I
2C BUS which utilizes the well-known I
2C serial data bus
protocol. More specifically, central processing unit (CPU)
1112 within mP
1110 executes control programs contained within memory, such as EEPROM
1127
shown in FIG. 1, in response to commands provided by a user, e.g., via IR remote
control
1125 and IR receiver
1122. For example, activation of a "CHANNEL
UP" feature on remote control
1125 causes CPU
1112 to send a "change
channel" command along with channel data to tuner
1105 via I
2C
BUS. As a result, tuner
1105 tunes the next channel in the channel scan
list. Another example of a control program stored in EEPROM
1127 is software
for implementing the operations shown in FIG. 5 to be discussed below and in accordance
with the present invention.
Main microprocessor
1110 also controls the operation of a communications
interface unit
1113 for providing the capability to upload and download
information to and from the internet. Communication interface unit
1113
includes, for example, a modem for connecting to an internet service provider,
e.g., via a telephone line or via a cable television line. The communication capability
allows the system shown in FIG. 1 to provide email capability and internet related
features such as web browsing in addition to receiving television programming.
CPU
1112 controls functions included within mP
1110 via bus
1119
within mP
1110. In particular, CPU
1112 controls auxiliary data processor
1115 and on-screen display (OSD) processor
1117. Auxiliary data processor
1115 extracts auxiliary data such as StarSight® data from video signal PIPV.
StarSight® data which provides program guide data information
in a known format is typically received only on a particular television channel
and the television receiver must tune that channel to extract StarSight® data.
To prevent StarSight® data extraction from interfering with normal use of
the television receiver, CPU
1112 initiates StarSight® data extraction
by tuning the particular channel only during a time period when the television
receiver is usually not in use (e.g., 2:00 AM). At that time, CPU
1112 configures
decoder
1115 such that auxiliary data is extracted from horizontal line
intervals such as line
16 that are used for StarSight® data. CPU
1112
controls the transfer of extracted StarSight® data from decoder
1115
via I
2C BUS to StarSight® module
1160. A processor internal
to the module formats and stores the data in memory within the module. In response
to the StarSight® EPG display being activated (e.g., a user activating a particular
key on remote control
125), CPU
1112 transfers formatted StarSight®
EPG display data from StarSight® module
1160 via I
2C BUS
to OSD processor
1117.
OSD processor
1117 operates in a conventional manner to produce R, G,
and B video signals OSD
—RGB that, when coupled to a displayed
device (not shown), will produce a displayed image representing on-screen display
information such as on-screen graphics and/or text in according to a flow chart
shown in FIG. 5 and to be described later. OSD processor
1117 also produces
control signal Fast-Switch (FSW) which is intended to control a fast switch for
inserting signals OSD
—RGB into the system's video output signal
at times when an on-screen display is to be displayed. Therefore, when a user enables
the animation feature of the present invention to be described later, OSD processor
1117 produces the corresponding signals OSD
—RGB representing
the on-screen display information previously stored or programmed in the memory
1127. For example, when a user enables an EPG, e.g., by activating a particular
switch on remote control
1125, CPU
1112 enables processor
1117.
In response, processor
1117 produces signals OSD
—RGB representing
the program guide data information previously extracted and already stored in memory,
as discussed above. Processor
1117 also produces signal FSW indicating when
the EPG is to be displayed.
Video signal processor (VSP)
1155 performs conventional video signal
processing functions, such as luma and chroma processing. Output signals produced
by VSP
1155 are suitable for coupling to a display device, e.g., a kinescope
or LCD device (not shown in FIG. 1), for producing a displayed image. VSP
1155
also includes a fast switch for coupling signals produced by OSD processor
1117
to the output video signal path at times when graphics and/or text is to be included
in the displayed image. The fast switch is controlled by control signal FSW which
is generated by OSD processor
1117 in main microprocessor
1110 at
times when text and/or graphics are to be displayed.
The input signal for VSP
1155 is signal PIPV that is output by picture-in-picture
(PIP) processor
1140. When a user activates PIP mode, signal PIPV represents
a large picture (large pix) into which a small picture (small pix) is inset. When
PIP mode is inactive, signal PIPV represents just the large pix, i.e., no small
pix signal is included in signal PIPV. PIP processor
1140 provides the described
functionality in a conventional manner using features included in unit
1140
such as a video switch, analog-to-digital converter (ADC), RAM, and digital to
analog converter (DAC).
As mentioned above, the display data included in the EPG display is produced
by
OSD processor
1117 and included in the output signal by VSP
1155
in response to fast switch signal FSW. When controller
1110 detects activation
of the EPG display, e.g., when a user presses an appropriate key on remote control
1125, controller
1110 causes OSD processor
1117 to produce
the EPG display using information such as program guide data from StarSight®
module
1160. Controller
1110 causes VSP
1155 to combine the
EPG display data from OSD processor
1117 and the video image signal in response
to signal FSW to produce a display including EPG. The EPG can occupy all or only
a portion of the display area.
When the EPG display is active, controller
1110 executes a control program
stored in EEPROM
1127. The control program monitors the location of a position
indicator, such as a cursor and/or highlighting, in the EPG display. A user controls
the location of the position indicator using direction and selection keys of remote
control
1125. Alternatively, the system could include a mouse device. Controller
1110 detects activation of a selection device, such as clicking a mouse
button, and evaluates current cursor location information in conjunction with EPG
data being displayed to determine the function desired, e.g., tuning a particular
program. Controller
1110 subsequently activates the control action associated
with the selected feature.
An exemplary embodiment of the features of the system shown in FIG. 1 that have
been described thus far comprises an ST9296 microprocessor produced by SGS-Thomson
Microelectronics for providing the features associated with mP
1110; an
M65616 picture-in-picture processor produced by Mitsubishi for providing the described
basic PIP functionality associated with PIP processor
1140; and an LA7612
video signal processor produced by Sanyo for providing the functions of VSP
1155.
FIG. 2 shows another example of an electronic device capable of processing various
types of programs including audio-only programs and the associated program guide
in accordance with the present invention. As described below, the system shown
in FIG. 2 is an MPEG compatible system for receiving MPEG encoded transport streams
representing broadcast programs. However, the system shown in FIG. 2 is exemplary
only. User interface systems are also applicable to other types of digital signal
processing devices including non-MPEG compatible systems, involving other types
of encoded datastreams. For example, other devices include digital video disc (DVD)
systems and MPEG program streams, and systems combining computer and television
functions such as the so-called "PCTV". Further, although the system described
below is described as processing broadcast programs, this is exemplary only. The
term 'program' is used to represent any form of packetized data such as telephone
messages, computer programs, internet data or other communications, for example.
In overview, in the video receiver system of FIG. 2, a carrier modulated with
video data is received by antenna
10 and processed by unit
15. The
resultant digital output signal is demodulated by demodulator
20 and decoded
by decoder
30. The output from decoder
30 is processed by transport
system
25 which is responsive to commands from remote control unit
125.
System
25 provides compressed data outputs for storage, further decoding,
or communication to other devices.
Video and audio decoders
85 and
80 respectively, decode the compressed
data from system
25 to provide outputs for display. Data port
75
provides an interface for communication of the compressed data from system
25
to other devices such as a computer or High Definition Television (HDTV) receiver,
for example. Storage device
90 stores the compressed data from system
25
on storage medium
105. Device
90, in a playback mode also supports
retrieval of the compressed data from storage medium
105 for processing
by system
25 for decoding, communication to other devices or storage on
a different storage medium (not shown to simplify drawing).
Considering FIG. 2 in detail, a carrier modulated with video data received
by antenna
10, is converted to digital form and processed by input processor
15. Processor
15 includes radio frequency (RF) tuner and intermediate
frequency (IF) mixer and amplification stages for down-converting the input video
signal to a lower frequency band suitable for further processing. The resultant
digital output signal is demodulated by demodulator
20 and decoded by decoder
30. The output from decoder
30 is further processed by transport
system
25.
Multiplexer (mux)
37 of service detector
33 is provided,
via selector
35, with either the output from decoder
30, or the decoder
30 output further processed by a descrambling unit
40. Descrambling
unit
40 may be, for example, a removable unit such as a smart card in accordance
with ISO 7816 and NRSS (National Renewable Security Standards) Committee standards
(the NRSS removable conditional access system is defined in EIA Draft Document
IS-679, Project PN-3639). Selector
35 detects the presence of an insertable,
compatible, descrambling card and provides the output of unit
40 to mux
37 only if the card is currently inserted in the video receiver unit. Otherwise
selector
35 provides the output from decoder
30 to mux
37.
The presence of the insertable card permits unit
40 to descramble additional
premium program channels, for example, and provide additional program services
to a viewer. It should be noted that in the preferred embodiment NRSS unit
40
and smart card unit
130 (smart card unit
130 is discussed later)
share the same system
25 interface such that only either an NRSS card or
a smart card may be inserted at any one time. However, the interfaces may also
be separate to allow parallel operation.
The data provided to mux
37 from selector
35 is in the form of
an MPEG compliant packetized transport datastream as defined in MPEG systems standard
section 2.4 and includes program guide information and the data content of one
or more program channels. The individual packets that comprise particular program
channels are identified by Packet Identifiers (PIDs). The transport stream contains
Program Specific Information (PSI) for use in identifying the PIDs and assembling
individual data packets to recover the content of all the program channels that
comprise the packetized datastream. Transport system
25, under the control
of the system controller
115, acquires and collates program guide information
from the input transport stream, storage device
90 or an internet service
provider via the communication interface unit
116. The individual packets
that comprise either particular program channel content or Program Guide information,
are identified by their Packet Identifiers (PIDs) contained within header information.
As discussed above, the program description contained in the program guide information
may comprise different program descriptive fields such as title, star, rating,
etc., relating to a program.
The user interface incorporated in the video receiver shown in FIG. 2 enables
a user to activate various features by selecting a desired feature from an on-screen
display (OSD) menu. The OSD menu may include an electronic program guide (EPG)
as described above and other features discussed below.
Data representing information displayed in the OSD menu is generated by system
controller
115 in response to stored on-screen display (OSD) information
representing text/graphics, stored program guide information, and/or program guide
and text/graphics information received via the input signal as described above
and in accordance with an exemplary control program to be shown in FIG. 5 and to
be discussed below. The software control program in FIG. 5 may be stored, for example,
in embedded memory (not shown) of system controller
115.
Using remote control unit
125 (or other selection means such as a mouse)
a user can select from the OSD menu items such as a program to be viewed, a program
to be stored, the type of storage media and manner of storage. System controller
115 uses the selection information, provided via interface
120, to
configure system
25 to select the programs for storage and display and to
generate PSI suitable for the selected storage device and media. Controller
115
configures system
25 elements
45,
47,
50,
55,
65 and
95 by setting control register values within these elements
via a data bus and by selecting signal paths via muxes
37 and
110
with control signal C.
In response to control signal C, mux
37 selects either, the transport
stream
from unit
35, or in a playback mode, a datastream retrieved from storage
device
90 via store interface
95. In normal, non-playback operation,
the data packets comprising the program that the user selected to view are identified
by their PIDs by selection unit
45. If an encryption indicator in the header
data of the selected program packets indicates the packets are encrypted, unit
45 provides the packets to decryption unit
50. Otherwise unit
45
provides non-encrypted packets to transport decoder
55. Similarly, the data
packets comprising the programs that the user selected for storage are identified
by their PIDs by selection unit
47. Unit
47 provides encrypted packets
to decryption unit
50 or non-encrypted packets to mux
110 based on
the packet header encryption indicator information.
The functions of decryptors
40 and
50 may be implemented in a single
removable smart card which is compatible with the NRSS standard. This approach
places all security related functions in one removable unit that can easily be
replaced if a service provider decides to change encryption technique or to permit
easily changing the security system, e.g., to descramble a different service.
Units
45 and
47 employ PID detection filters that match the PIDs
of incoming packets provided by mux
37 with PID values pre-loaded in control
registers within units
45 and
47 by controller
115. The pre-loaded
PIDs are used in units
47 and
45 to identify the data packets that
are to be stored and the data packets that are to be decoded for use in providing
a video image. The pre-loaded PIDs are stored in look-up tables in units
45
and
47. The PID look-up tables are memory mapped to encryption key tables
in units
45 and
47 that associate encryption keys with each pre-loaded
PID. The memory mapped PID and encryption key look-up tables permit units
45
and
47 to match encrypted packets containing a pre-loaded PID with associated
encryption keys that permit their decryption. Non-encrypted packets do not have
associated encryption keys. Units
45 and
47 provide both identified
packets and their associated encryption keys to decryptor
50. The PID look-up
table in unit
45 is also memory mapped to a destination table that matches
packets containing pre-loaded PIDs with corresponding destination buffer locations
in packet buffer
60. The encryption keys and destination buffer location
addresses associated with the programs selected by a user for viewing or storage
are pre-loaded into units
45 and
47 along with the assigned PIDs
by controller
115. The encryption keys are generated by ISO 7816-3 compliant
smart card system
130 from encryption codes extracted from the input datastream.
The generation of the encryption keys is subject to customer entitlement determined
from coded information in the input data stream and/or pre-stored on the insertable
smart card itself (International Standards Organization document ISO 7816-3 of
1989 defines the interface and signal structures for a smart card system).
The packets provided by units
45 and
47 to unit
50 are encrypted
using an encryption technique such as the Data Encryption Standard (DES) defined
in Federal Information Standards (FIPS) Publications 46, 74 and 81 provided by
the National Technical Information Service, Department of Commerce. Unit
50
decrypts the encrypted packets using corresponding encryption keys provided by
units
45 and
47 by applying decryption techniques appropriate for
the selected encryption algorithm. The decrypted packets from unit
50 and
the non-encrypted packets from unit
45 that comprise the program for display
are provided to decoder
55. The decrypted packets from unit
50 and
the non-encrypted packets from unit
47 that comprise the program for storage
are provided to mux
110.
Unit
60 contains four packet buffers accessible by controller
115.
One of the buffers is assigned to hold data destined for use by controller
115
and the other three buffers are assigned to hold packets that are destined for
use by application devices
75,
80 and
85. Access to the packets
stored in the four buffers within unit
60 by both controller
115
and by application interface
70 is controlled by buffer control unit
65.
Unit
45 provides a destination flag to unit
65 for each packet identified
by unit
45 for decoding. The flags indicate the individual unit
60
destination locations for the identified packets and are stored by control unit
65 in an internal memory table. Control unit
65 determines a series
of read and write pointers associated with packets stored in buffer
60 based
on the First-In-First-Out (FIFO) principle. The write pointers in conjunction with
the destination flags permit sequential storage of an identified packet from units
45 or
50 in the next empty location within the appropriate destination
buffer in unit
60. The read pointers permit sequential reading of packets
from the appropriate unit
60 destination buffers by controller
115
and application interface
70.
The non-encrypted and decrypted packets provided by units
45 and
50
to decoder
55 contain a transport header as defined by section 2.4.3.2 of
the MPEG systems standard. Decoder
55 determines from the transport header
whether the non-encrypted and decrypted packets contain an adaptation field (per
the MPEG systems standard). The adaptation field contains timing information including,
for example, Program Clock References (PCRs) that permit synchronization and decoding
of content packets. Upon detection of a timing information packet, that is a packet
containing an adaptation field, decoder
55 signals controller
115,
via an interrupt mechanism by setting a system interrupt, that the packet has been
received. In addition, decoder
55 changes the timing packet destination
flag in unit
65 and provides the packet to unit
60. By changing the
unit
65 destination flag, unit
65 diverts the timing information
packet provided by decoder
55 to the unit
60 buffer location assigned
to hold data for use by controller
115, instead of an application buffer location.
Upon receiving the system interrupt set by decoder
55, controller
115
reads the timing information and PCR value and stores it in internal memory. PCR
values of successive timing information packets are used by controller
115
to adjust the system
25 master clock (27 MHz). The difference between PCR
based and master clock based estimates of the time interval between the receipt
of successive timing packets, generated by controller
115, is used to adjust
the system
25 master clock. Controller
115 achieves this by applying
the derived time estimate difference to adjust the input control voltage of a voltage
controlled oscillator used to generate the master clock. Controller
115
resets the system interrupt after storing the timing information in internal memory.
Packets received by decoder
55 from units
45 and
50
that contain program content including audio, video, caption, and other information,
are directed by unit
65 from decoder
55 to the designated application
device buffers in packet buffer
60. Application control unit
70 sequentially
retrieves the audio, video, caption and other data from the designated buffers
in buffer
60 and provides the data to corresponding application devices
75,
80 and
85. The application devices comprise audio and
video decoders
80 and
85 and high speed data port
75. For
example, packet data are processed according to the type of program in accordance
to a flow chart shown in FIG. 5 to be discussed later. Also, packet data corresponding
to a composite program guide generated by the controller
115 as described
above, may be transported to the video decoder
85 for formatting into video
signal suitable for display on a monitor (not shown) connected to the video decoder
85. Also, for example, data port
75 may be used to provide high speed
data such as computer programs, for example, to a computer. Alternatively, port
75 may be used to output data to an HDTV decoder to display images corresponding
to a selected program or a program guide, for example.
Packets that contain PSI information are recognized by unit
45 as
destined for the controller
115 buffer in unit
60. The PSI packets
are directed to this buffer by unit
65 via units
45,
50 and
55 in a similar manner to that described for packets containing program
content. Controller
115 reads the PSI from unit
60 and stores it
in internal memory.
Controller
115 also generates condensed PSI (CPSI) from the stored
PSI and incorporates the CPSI in a packetized datastream suitable for storage on
a selectable storage medium. The packet identification and direction is governed
by controller
115 in conjunction with the unit
45 and unit
47
PID, destination and encryption key look-up tables and control unit
65 functions
in the manner previously described.
In addition, controller
115 is coupled to a communication interface unit
116 that operates in a manner similar to interface unit
1113 in FIG.
1. That is, unit
116 provides the capability to upload and download information
to and from the internet. Communication interface unit
116 includes, for
example, a modem for connecting to an internet service provider, e.g., via a telephone
line or via a cable television line. The communication capability allows the system
shown in FIG. 2 to provide email capability and internet related features such
as web browsing in addition to receiving television programming.
FIG. 3 is a specific implementation of an electronic device generally shown
in FIG. 2 and described in detail above. FIG. 3 represents a satellite receiver
set-top box, designed and manufactured by Thomson Consumer Electronics, of Indianapolis,
Ind., USA, for receiving DirecTV™ satellite service provided by Hughes Electronics.
As shown in FIG. 3, the set-top box has a tuner
301 which receives and
tunes applicable satellite RF signals in the range of 950-1450 Mhz from a satellite
antenna
317. The tuned analog signals are outputted to a link module
302
for further processing. Link module
302 is responsible for further processing
of the analog tuned signals I
—out and Q
—out from
tuner
301, including filtering and conditioning of the analog signals, and
conversion of the analog signals into a digital output signal, DATA. The link module
302 is implemented as an integrated circuit (IC). The link module IC is
manufactured by SGS-Thomson Microelectronics of Grenoble, France, and has Part
No. ST 15339-610.
The digital output, DATA, from the link module
302 consists of compliant
packetized data stream recognized and processable by the transport unit
303.
The datastream, as discussed in detail in relation to FIG. 2, includes program
guide data information and the data content of one or more program channels of
the satellite broadcast service from DirecTV™. As discussed above, program
guide data contains information relating to the what type of program (e.g., audio-only,
video-only, etc) as indicated, for example, by the "class" type.
The function of the transport unit
303 is the same as the transport system
25 shown in FIG. 2 and discussed already. As described above, the transport
unit
303, processes the packetized datastream according to the Packet Identifiers
(PID) contained in the header information. The processed datastream are then formatted
into MPEG compatible, compressed audio and video packets and coupled to a MPEG
decoder
304 for further processing.
The transport unit
303 is controlled by an Advanced RISC Microprocessor
(ARM)
315 which is a RISC based microprocessor. The ARM processor
315
executes control software residing in ROM
308. One component of the software
may be, for example, a control program shown in FIG. 5 for processing programs
according to their program type in accordance with aspects of the present invention
as will be discussed below.
The transport unit
303 may be implemented as an integrated circuit. For
example, a preferred embodiment of the transport unit is an IC manufactured by
SGS-Thomson Microelectronics having Part No. ST 15273-810 or 15103-65C.
The MPEG compatible, compressed audio and video packets from the transport unit
303 are delivered to a MPEG decoder
304. The MPEG decoder decodes
the compressed MPEG datastream from the transport unit
303. The decoder
304 then outputs the applicable audio stream which can be further processed
by the audio digital-to-analog converter (DAC)
305 to convert the digital
audio data into analog sound. The decoder
304 also outputs applicable digital
video data which represents image pixel information to a NTSC encoder
306.
The NTSC encoder
306 then further processes this video data into NTSC compatible
analog video signal so that video images may be displayed on a regular NTSC television
screen. An example of a preferred embodiment of the MPEG decoder is an IC manufactured
by SGS-Thomson Microelectronics having Part No. ST
13520.
Included in the MPEG IC
304 is an OSD processor
320. The OSD
processor
320 reads data form SDRAM
316 which contains stored OSD
information. OSD information corresponds to bitmap OSD graphics/text images. The
OSD processor
320 is capable of varying the color of each pixel of an OSD
image under the control of the ARM microprocessor
315 in a conventional manner.
The OSD processor
320 is also responsible for generating an exemplary
program guide as shown in FIG. 4 under the control of the ARM processor
315.
In our exemplary embodiment, upon detecting a user request to generate a guide
display, the ARM microprocessor
315 processes the program guide data information
obtained from a data stream provided by a program guide information provider and
formats the guide data information into OSD pixel data corresponding to a full
"grid guide" as shown in FIG. 4. The OSD pixel data from the transport unit
303
is then forwarded to OSD processor
320 in the MPEG audio/video decoder
304
for generating the guide image, as described before.
As shown in FIG. 4, the "grid guide"
400 typically occupies the whole
screen
of a display. The grid guide
400 shows a program schedule in a time-and-channel
format, similar to a TV schedule listed in a newspaper. In particular, one dimension
(e.g., horizontal) of the guide shows the time information while the other dimension
(e.g., vertical) of the guide shows the channel information. The time information
is conveyed to the user by having a time line
401 on the top portion of
the guide and is demarked by half hour intervals. The channel information is conveyed
to the user by channel numbers
410-
416 and corresponding channel
station names
420-
426.
In addition, the program guide
400 contains icons Internet
450
and
Email
460. By clicking on these icons, a user can surf the internet and
send/receive email respectively through the communication interface unit
307.
In addition, an internet web site icon may also be incorporated into a grid of
a program guide. For example, by clicking on "ESPN.com" within grid
470,
the user will automatically be linked to, for example, an ESPN web site.
Additional relevant functional blocks of FIG. 3 includes modem
307
which corresponds to the communication interface unit
116 shown in FIG.
2 for access to the internet, for example. Conditional Access Module (CAM)
309,
corresponds to the NRSS decryption unit
130 shown in FIG. 2 for providing
conditional access information. Wideband data module
310 corresponds to
High Speed Data Port
75 shown in FIG. 2 for providing high speed data access
to, for example, a HDTV decoder or a computer. A keyboard/IR Receiver module
312
corresponds to Remote Unit interface
120 shown in FIG. 2 for receiving user
control commands from a user control unit
314. Digital AV bus module
313
corresponds to I/O port
100 shown in FIG. 2 for connection to an external
device such as a VCR or a DVD player.
FIG. 5 shows the flow chart of an exemplary control program which may be executed
by either the CPU
1112 of FIG. 1, Controller
115 of FIG. 2, or ARM
microprocessor
315 of FIG. 3 to implement the features according to aspects
of the present invention. A person skilled in the art would readily recognize that
the control program in FIG. 5 when executed by any one of the systems described
in FIGS. 1-3 will provide the same features in accordance with the present invention.
Therefore, to avoid redundancy, the control program shown in FIG. 5 will be described
below only with respect to the exemplary hardware implementation shown in FIG. 3.
As shown at step
510 and as discussed above, on-screen display information
representing graphics/text images to be displayed according to aspects of the present
invention is typically preprogrammed and already stored in, for example, the SDRAM
316. The system shown in FIG. 3 also processes and stores program description
information contained in the program guide data for each of the programs described
in the program guide data, as shown at step
515. In particular, the "class"
information which indicates the type (e.g., audio-only, video-only, audio-video,
data, etc.) of program, is retrieved and stored in DRAM
316 by ARM processor
315.
At step
520, a user may select a program from the program guide shown
in
FIG. 4, for example, by highlighting the grid containing the program, using a user
control unit
314 of the system shown in FIG. 3. As an example, as shown
in FIG. 4, the user has selected the program "SONG 1" in grid
430 by highlighting it.
Once a program is selected, the ARM processor
315 will determine if the
selected program is an audio-only program as shown at step
525. As described
before, the ARM program determines this by examining the "class" information contained
in the program guide data for this selected program. If the ARM processor
315
determines that this program is not an audio-only program, but is for example,
a program having simultaneous audio and video information, the ARM processor
315
will then process this program as normal, by simultaneously displaying the received
video and playing the received audio portion of the program, as shown at step
530.
On the other hand, if the ARM processor, at step
525, determines that
the
received program is an audio-only program, the ARM processor
315 will further
determine if an animation feature has been previously selected by the user, as
shown at step
535. If the ARM processor determines that the user has not
preselected the animation feature, the ARM processor will play the received audio
program and display only a blank or blue screen, as shown at step
540. If
on the other hand, the ARM processor
315 determines that the user has preselected
the animation feature and the selected program is an audio-only program, then the
ARM processor will proceed to step
545.
At step
545, the ARM processor
315 will instruct the OSD processor
320 to retrieve preprogrammed OSD information for implementing the animation
feature according to the present invention from memory
316. The ARM processor
315 will also instruct the OSD processor
320 to display the OSD information
on a display
600 as shown in FIG. 6.
The OSD information in our exemplary embodiment corresponds to a screen having
a plurality of screen elements
601-
606. The screen elements in this
case are, for example, a series of paw prints
601-
606. The ARM processor
will also instruct the OSD processor
320 to display associated program descriptive
information contained in the program guide information about this audio-only program.
For example, the program descriptive information about the content, title, artist
and class type of this program are displayed on the screen
600 as shown
in FIG. 6.
In addition, to achieve an animated effect of the screen elements
606—
606
in our embodiment, the ARM processor will change the color scheme of the screen
elements
601-
606. For example, the ARM processor may instruct the
OSD processor
320 to display all the paw prints
601-
606 initially
in the same color as the background color (e.g., blue). The OSD may then sequentially
change the color of each paw print starting from paw print
601 to paw print
606 and so forth. A viewer may then have the visual effect of seeing a paw
gradually stepping upward, leaving behind a trial of prints.
In addition, the same on-screen display information used in the animation feature
thus described may also be used as a screen saver. For example, the ARM processor
315 may have a timer routine which keeps track of when the last user command
is entered via the user control
314. If a certain time (e.g., 3 mins) has
passed since the last user entry, the ARM processor will instruct the OSD processor
to display the same OSD information used in the animation feature described above
to prevent screen burns. This is advantageous since system resources, especially
memory resources are conserved by using the same OSD information to achieve both purposes.
It is to be understood that the embodiments and variations shown and described
herein are for illustrations only and that various modifications may be implemented
by those skilled in the art without departing from the scope and spirit of the invention.
*