|
Description  |
|
|
BACKGROUND AND FIELD OF THE INVENTION
This invention relates generally to broadcasting systems, and specifically
to a system for transmitting data associated with audio or video program
material to provide a listener or viewer with useful information regarding
the program material.
Many radio broadcast systems are known to exist in which digital data are
transmitted along with audio program material. For example, the United
States Radio Broadcast Data System ("RBDS") Standard, published by the
National Radio Systems Committee and sponsored by the Electronics Industry
Association and the National Association of Broadcasters, describes a
system for broadcasting a variety of program-related information on a
subcarrier of a standard FM broadcast channel. The RBDS standard teaches a
system for transmitting station identification and location information,
as well as time, traffic and miscellaneous other information.
U.S. Pat. No. 5,063,610 to Alwadish discloses a system in which advertising
text, song titles, or other program-related data may be transmitted along
with audio program material and stored, displayed, or printed by a
listener using appropriate receiving apparatus. The Alwadish system is
understood to require data corresponding to program material to be stored
along with the program material source itself (i.e., on compact disc or
digital audio tape). Thus, the Alwadish system relies on customized audio
program source hardware and software.
In another field of art, several systems have been taught for automatically
monitoring received broadcast signals in order to log the program content
of such broadcasts. For instance, U.S. Pat. Nos. 4,450,531 and 4,843,562
to Kenyon et al. teach schemes for automatically recognizing received
program material as one of a number of "reference" library programs.
Notably absent from the known prior art, however, is a system for
broadcasting program material and associated data that does not rely on
customized program source material and related apparatus in which the
program and the data are linked at the program source level. It would be
desirable to have a system in which conventional program sources (e.g.,
conventional phonograph records, tape cartridges, or compact discs) could
be played using conventional program source apparatus (e.g., conventional
turntables, tape cartridge players and compact disc players), yet still
provide the advantages of transmitting data pertaining to the program
material.
SUMMARY OF THE INVENTION
In accordance with the present invention, a broadcast transmission system
includes conventional program sources, a device for detecting which of
several program sources is selected, a device for recognizing program
material by comparing the program material with a database of known
program material, and a device for applying to a transmitter a data stream
corresponding to the recognized program material for transmission along
with the program material.
Also in accordance with the present invention, a receiver includes a
demodulator for detecting the program material and data stream, and a user
interface device for providing the user with a menu of data options, the
options depending on information in the data stream.
Further in accordance with the present invention, a receiver includes a
data card recorder for recording selected information from the data stream
on a portable data card for later use.
The features and advantages described in the specification are not all
inclusive, and particularly, many additional features and advantages will
be apparent to one of ordinary skill in the art in view of the drawings,
specification, and claims hereof. Moreover, it should be noted that the
language used in the specification has been principally selected for
readability and instructional purposes, and may not have been selected to
delineate or circumscribe the inventive subject matter, resort to the
claims being necessary to determine such inventive subject matter.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of a transmission system for program material and
associated data, in accordance with the present invention. FIG. 1a is a
block diagram detailing a data stream generator as illustrated in FIG. 1.
FIG. 2 is a block diagram of a receiving system for program material and
associated data, in accordance with the present invention.
FIG. 3 is an illustration of a user interface display panel showing
information about a musical composition, in accordance with the present
invention.
FIG. 4 is an illustration of a user interface display panel showing
information about a composer, in accordance with the present invention.
FIG. 5 is a flow diagram illustrating receiver operation, in accordance
with the present invention.
FIG. 6 illustrates memory addresses for data storage and retrieval, in
accordance with the present invention.
FIG. 7 illustrates the components of a data packet, in accordance with the
present invention.
FIG. 8 illustrates receiver screen menu hierarchy, in accordance with the
present invention.
FIG. 9 illustrates screen menu flow for the programmer-terminal illustrated
in FIG. 1.
DESCRIPTION OF A PREFERRED EMBODIMENT
The figures depict a preferred embodiment of the present invention for
purposes of illustration only. One skilled in the art will readily
recognize from the following discussion that alternative embodiments of
the structures and methods illustrated herein may be employed without
departing from the principles of the invention described herein.
Referring now to FIG. 1, there is shown a transmission system 100 in
accordance with the present invention. The operation of the transmission
system 100 is illustrated by discussion of the component parts illustrated
in FIG. 1. Conventional audio sources such as microphone 102, compact disc
player 103, and tape cartridge player 104 provide program source audio to
mixing board 101. Mixing board 101 and audio sources 102-104 may be
conventional units, such as those already present in a typical radio
broadcast station. Audio output is fed from mixing board 101 to
transmitter 110 in the conventional manner over an audio bus 113 for
transmission from antenna 111. Transmitter 110 may be any conventional
radio broadcasting transmitter with main channel and subcarrier channel
input capabilities, such as that typically installed in modern FM
broadcasting stations. Additional conventional audio compression,
limiting, or other processing circuitry (not shown) may be installed at
mixing board 101, transmitter 110, or in between, but is not pertinent for
purposes herein.
The audio output of mixing board 101 is also applied to a program material
recognizer 106 via audio bus 113. The purpose of the program material
recognizer 106 is to compare the program material coming from mixing board
101 with a database of known program material 107. If a match is detected,
program material recognizer 106 sends pertinent program data, for instance
the title of the program material, the composer, and the performer, to
data stream generator 105. Any suitable program recognizing system can be
used to implement program material recognizer 106 and database of known
program material 107, for instance the system taught by Kenyon et al. in
U.S. Pat. No. 4,843,562 for received broadcast audio signals. The
teachings of U.S. Pat. No. 4,843,562 are incorporated herein by reference.
Those skilled in the art may readily apply such known systems for
recognizing audio programs to implement the program material recognizer
106 and database of known program material 107 of FIG. 1.
The output data provided by program material recognizer 106 are converted
by data stream generator 105 into a form that may be directly applied to a
conventional subcarrier channel input of transmitter 110. The manner of
making this conversion will depend on the particular program material
recognizer 106 employed and the desired data format for transmission, and
may readily be accomplished by one skilled in the art. In a preferred
embodiment, data stream generator 105 is configured to conform to the
large transmission capacity multiplex data broadcast system protocol
promulgated by NHK (Japan Broadcasting Corporation) known as L-MSK. This
protocol permits data transmission speeds of up to 32 kbits per second.
Mixing board 101 also provides a signal, either through an existing
facility on mixing board 101 or through a simple modification,
representative of which program source (i.e., microphone 102, compact disc
player 103 or tape cartridge player 104) is currently selected by mixing
board 101. Program source detector 108 converts this signal to a form
usable by data stream generator 105. While the particular implementation
of program source detector 108 may vary with the type of mixing board 101,
those skilled in the art will readily be able to implement program source
detector 108 for operation with any particular mixing board 101.
Data stream generator 105 generates different data streams depending on the
program source detected by program source detector 108. For example, if
program source detector 108 indicates that compact disc player 103 or tape
cartridge player 104 is selected by mixing board 101, then data stream
generator 105 applies to transmitter 110 the information generated by
program material recognizer 106. However, if program source detector 108
indicates that microphone 102 is selected, then data stream generator 105
may generate data identifying the announcer's name, or the fact that news
or traffic information is being broadcast, as appropriate for the use to
which microphone 102 is put. If microphone 102 is put to multiple uses,
then a general message such as the station's call sign or a random
advertisement may be generated by data stream generator 105. Thus, in
operation, data stream generator 105 provides a stream of data to
transmitter 110 indicating, for example, details about a musical
composition played on compact disc player 103, then advertiser information
corresponding to a commercial played on tape cartridge machine 104, then
an appropriate message corresponding to the selection of microphone 102
such as "Traffic Alert".
In one embodiment of the present invention, database of known program
material 107 contains both-the data needed by program material recognizer
106 to recognize a particular program, and also the data associated with
that program to be sent to transmitter 110 via data stream generator 105.
The data associated with the program material can be entered, as known
with regard to conventional recognition systems, by manual key entry from
programmer terminal 112 or by some other common data entry method.
Programmer terminal 112 may be a dedicated computer terminal or may be a
personal computer connected to data stream generator 105 via a
conventional local area network. Database 107 may be provided by a third
party, for instance in the form of computer tapes or disks containing both
the data needed for recognition and the data desired for transmission. In
such an embodiment, other data associated with program material, such as
data associated with commercial announcement program material, may be
separately entered into database 107 using conventional data entry
techniques. Furthermore, data to be transmitted when program source
detector 108 indicates selection of microphone 102 may be stored either as
part of database 107 or in a separate database (not shown). Those skilled
in the art will recognize that any such choice that provides associated
data for transmission may be used in accordance with the present
invention.
As is evident from FIG. 1, none of the existing components of a
conventional broadcast station, with the possible exception of the mixing
board 101 as discussed above, needs to be replaced or altered to implement
transmission system 100. An upgrade from a conventional transmission
system to-the transmission system 100 of FIG. 1 requires only the
connection of the program source detector 108 to the mixing board 101,
tap-off of the audio program material feed between mixing board 101 and
transmitter 110 to program material recognizer 106, and connection from
data stream generator 105 to a subcarrier channel input of transmitter
110.
Referring now to FIG. 1a, there is shown a detailed functional block
diagram of data stream generator 105. The major components of data stream
generator 105 include a data input processor 153, database manager 155,
system controller 157, output spooler 154, and NHK encoder 152. Data input
processor 153 receives program source data from program source detector
108 via a serial RS-232 data link 151, and receives program recognition
data from program material recognizer 106, also via a serial RS-232 data
link 151. Data input processor 153 uses this input data to determine which
data from a screen storage database 156 should be accessed, using database
manager 155, and sent to output spooler 154. For example, if data input
processor 153 receives data indicating that a compact disc player is
active and that the program material being broadcast is a musical
selection known as "Concertino for Piano and Chamber Ensemble", it will
cause a database entry corresponding to data particular to that selection
to be extracted from screen storage database 156 and applied, through
database manager 155, to output spooler 154. The database entry would
include all of the data required for display of information of data
associated with the musical selection on a receiver, as described below in
connection with FIGS. 3 and 4.
A system controller 157 is coupled to database manager 155 and output
spooler 154 for two discrete purposes. First, system controller 157
provides timing and control signals to regulate the movement of data from
database manager 155 to output spooler 154. Second, system controller 157
provides, through a connection with a programmer terminal 112, a means by
which data may be inserted into screen storage database 156, through
database manager 155. For instance, radio station personnel may key in
data to be associated with any particular entry of screen storage
database, to permit such information to be transmitted over the system
when the associated program material selection is played. As a specific
example, if there is to be a public performance of "Concertino for Piano &
Chamber Ensemble" at a local symphony hall, that fact may be entered into
screen storage database 156 so that whenever this musical selection is
played, this information will be transmitted for display on the user's
receiver. Further discussion regarding data entry is provided below in
connection with FIG. 9.
Output spooler 154 is a buffer that stores data to be transmitted and sends
such data, via RS-232 serial data link 151, to an NHK data encoder to
permit transmission of the data using transmitter 110. NHK data encoder
transforms the data from output spooler 154 into a data stream meeting the
specifications of the NHK high capacity multiplex data broadcast protocol
LMSK described above. One example of a commercially-available device
operating in accordance with this protocol is the model 4001A FM Multiplex
Signal Transmitter for Mobile Receivers available from Eiden Company
Limited, Tokyo, Japan.
In the preferred embodiment, components 152-157 are implemented by using a
programmed general purpose computer. Those skilled in the art may easily
implement the functions of these components in such a manner.
Referring now to FIG. 2, there is shown a receiving system 200 in
accordance with the present invention. The operation of the receiving
system 200 is illustrated by discussion of the component parts illustrated
in FIG. 2. A signal transmitted by transmission system 100 of FIG. 1 is
received by antenna 211 and demodulated into audio and data components in
a conventional manner by demodulator 201. Demodulator 201 is of
conventional design for detecting and demodulating audio and data signals
transmitted over a main broadcast channel and a subcarrier of that
channel, respectively. Audio program information from demodulator 201 is
applied to conventional program material reproduction circuitry 202. Data
associated with the program material (corresponding to that generated by
data stream generator 105 of FIG. 1) are error corrected in a conventional
manner by error correction circuitry 203, transferred to microprocessor
204, and then are stored in data memory 205, using any of the conventional
techniques and devices well known to those skilled in the art.
A user interface apparatus 206 allows a user of receiving system 200 to
selectively access data stored in 205. User interface apparatus 206 is
implemented using a conventional microprocessor-based design well known to
those skilled in the art of user interface design and implementation. User
interface apparatus 206 provides both display capabilities for the
transmitted data and user input capabilities to permit user selection of
portions of the transmitted data.
A conventional data card recorder 207, such as that used to record
information on magnetic library cards or the like, is connected to data
memory 205 through microprocessor 204. The purpose of data card recorder
207 is to allow the user of receiving apparatus 200 to store selected data
on portable magnetic cards. For instance, data associated with a promotion
by an advertiser may be used as "electronic coupons" to allow listeners
who record such data to receive a discount on merchandise. The coupon data
could include standardized identifying data for a product, such as the
"SKU" code for a product. A corresponding magnetic card reader of
conventional design (not shown) would be used at the store where the
coupon is to be redeemed.
Receiving system 200 may readily be implemented by augmenting a
conventional broadcast receiver capable of providing the functions of
demodulator 201, program material reproduction circuitry 202, and antenna
211, with the digital data functions corresponding to error correction
circuitry 203, microprocessor 204, data memory 205, user interface
apparatus 206, and, if desired, data card recorder 207. Alternatively, the
functions of elements 203 207 may be implemented by a general purpose
digital computer, such as a conventional personal computer, notebook
computer, or home entertainment computer, and antenna demodulator 201,
program material reproduction circuitry 202, and antenna 211 may be
implemented by an attached device or an add-in circuit card. In such a
case, the general purpose digital computer may even be employed to provide
the audio/video program material output of the main programming channel,
as would conventionally be provided by program material reproduction
circuitry 202. Those skilled in the art will readily recognize additional
possible implementations in accordance with the present invention.
Referring now to FIG. 3, there is shown a display panel 300 of user
interface apparatus 206. Display panel 300 includes four menu button areas
301-304 and a larger information window 305. In the preferred embodiment,
display panel 300 is of conventional liquid crystal design, with
conventional touch-screen technology being used to implement switches over
the menu button areas 301-304. Alternatively, physically separate switches
could be used in locations adjacent to menu button areas 301-304, but one
advantage of using touch-screen technology is that button areas can
dynamically change in size, location and number under software control.
The information window 305 of FIG. 3 indicates composer, title, and
performer data stored in memory 205, corresponding to program material
contemporaneously being received by receiving system 200. Menu button area
301 provides the user the option of requesting another screen with further
information about this composer; menu button area 302 provides the user
with the option of requesting orchestra information; menu button area 303
provides the user with the option of requesting another screen with
information on the running time of the current selection; and menu button
area 304 provides the user with the option of requesting ordering
information for this recording. It should be recognized that the
information presented in information window 305 and menu button areas
301-304 can be of virtually infinite variety and is not limited to the
type of information or layout shown in FIG. 3.
In an alternate embodiment some top-level menu choices may be stored in
permanent memory (not shown) of user interface apparatus 206, but in
general all of the information displayed on display panel 300, as well as
the number, style, and labeling of the button areas (e.g., 301-304) is
determined by data generated by data stream generator 105, transmitted to
receiving system 200, and stored in data memory 205. For convenience, data
corresponding to menu button areas (e.g., 301) are referred to as header
data. The number of menu choices and the amount of displayable information
is limited only by the bandwidth of the data transmission subcarrier
channel and the capacity of data memory 205. Within these limits, each
radio station may choose to include as much or as little header data as it
desires, and may custom-design the menu information and layout that appear
on the display panel 300.
Referring now to FIG. 4, there is shown display panel 300 after the user
has touched menu button area 301 of FIG. 3 to request a screen with more
information about the composer. Information window 405 now displays
different information than in information window 305 of FIG. 3. Menu
button area 301 of FIG. 3 is replaced with menu button 401 providing the
user with the capability of returning to the first screen (i.e., the
screen of FIG. 3). Button area 302 of FIG. 3 is replaced with button area
402 providing the user with a further choice of viewing a screen
indicating other works by the composer. There being no other options under
this menu path, button areas 303, 304 of FIG. 3 have not been replaced
with corresponding button areas in FIG. 4.
Referring now to FIG. 5, there is shown a procedure for receiving and
displaying data as described in connection with FIGS. 3 and 4. The process
begins by receiving data at step 501. Next, step 502 performs error
correction to validate the data received. This being accomplished, the
received and validated data are stored in step 503 at a specified address
for later use. A check is then made in step 504 to determine whether,
based on received data, new program material, e.g., a new musical
selection, is currently being transmitted. If not, a check is made at step
505 to determine whether the user has requested a new screen by making a
selection on one of the screen button areas, e.g., 301-304. A new screen
request is indicated by a "new screen request flag" being set. If the new
screen request flag has not been set, processing returns to step 501 for
the acquisition of further data.
If the check at step 504 indicates that new program material is being
transmitted, processing flows to step 506, in which a new main menu screen
for that new program material is displayed. In accordance with the present
invention, the first data transmitted for new program material correspond
to the main menu screen for that selection, so as soon as a new program is
detected, main screen data for that material should already be available.
Upon displaying the new main screen data in step 506, processing returns
to step 501 for the acquisition and validation of further data
corresponding to other screens. In a preferred embodiment, once a new
program selection is detected, data from a previous program selection need
not be discarded, but may be stored for later access by the user. In an
alternate embodiment, users may recall data from several preceding
selections, if desired. For example, if users hear a musical selection
that they like, but that they do not realize they would like to order
until after the selection is complete, they may still access ordering
information for that selection after the next selection begins.
Conventional techniques well known to those skilled in the art may be used
to store and retrieve such information from previous selections.
If the check in step 505 indicates that a user has requested a new screen,
processing flows to step 507, where a determination is made as to the
particular new screen requested. Next, step 508 checks to see whether data
for that new screen have yet been stored for the current program
selection. If not, processing returns to step 501 to allow further data to
be acquired. If the requisite data have been stored for that screen, step
509 resets the new screen request flag and step 510 displays the new
screen. Processing then returns to step 501.
Referring now to FIG. 6, there is shown a memory map 600 for screen data in
accordance with the present invention. Data for a main screen menu are
given the highest address, in this case 1000. Data for screens
corresponding to main screen menu choice numbers 1 through 4 are stored at
addresses 1100-1400, respectively. Data for screens corresponding to menu
selections from the screen data addressed at 1100 are stored at locations
1110 through 1130, and so on. Thus, addresses for screen data are defined
such that the most significant bits of an address identify the parent
screens corresponding to a screen of data. Referring now also to FIG. 8,
this hierarchy of screens may be thought of as a pyramid, with the main
menu screen of data 800 appearing at the tip of the pyramid and with the
pyramid of screens broadening out as moves down through the menus of
screens, e.g., 801-804. The memory map 600 of FIG. 6 does not list
addresses in numerical order, but in correspondence with this menu
hierarchy. This menu hierarchy also determines which data are transmitted
first once a new program material selection is broadcast. Data for the
initial menu screen 800 (e.g., data with address 1000) are broadcast
first, then data for the menu screens 801-804 directly accessible from
that menu screen (e.g., data with addresses 1100, 1200, 1300), then data
for menu screens, e.g., 812, accessible from those menu screens (e.g.,
data with addresses 1110, 1120, 1130) and so on through the hierarchy. In
this manner, the user will have data that are higher in the hierarchy
available more quickly than if the data were transmitted strictly in order
of the addresses. Data for the main screen 800 are sent first and repeated
relatively often, while data for subsequent screens, e.g., 801-804, are
sent next and are repeated less often.
Referring now to FIG. 7, there is shown a data packet 700 in accordance
with the present invention. To provide a flexible structure for presenting
data on a receiver display, e.g., the display 300 illustrated in FIG. 3,
data are transmitted in variable-length packets, e.g., 700. In a preferred
embodiment, a packet 700 consists of several elements, the first of which
is an eight bit pyramid address 710 identifying the data to be sent as
corresponding to a particular selection of program material. Thus, if a
musical selection is being broadcast, all data pertaining to that musical
selection will have identical pyramid addresses. Next, an eight bit data
segment is used for a screen address 720, to identify a particular screen
of data. This address is used primarily for control purposes, so that when
a user selects a new screen to view, an address is available to identify
the data corresponding to that screen.
The following eight bit data segment serves as an identifier of packet type
730. A packet type 730 provides data indicative of whether the packet 700
is one providing screen text, one setting a parameter for such screen text
(e.g., the font of the text), or one providing only control information
(e.g., an address to jump to if a particular user selection is made from
the current screen, or an action to take if no user selection is made
within a particular "time-out" duration of time). In an alternate
embodiment, one other packet type 730 might indicate that the data of that
packet are to be used for drawing graphical images on the display 300.
Following the packet type 730 is an eight bit starting address 740. In the
ca | | |