|
Description  |
|
|
BACKGROUND OF THE INVENTION
The present invention relates to systems for delivering reference
information to a plurality of users.
Passive, or reference information, is stored principally in ways which
require the user to access a desired field of information in an individual
and unique way. On-line services provide data to the user by responding to
his specific request and accessing and serving the data uniquely to him.
CD-ROM and other mass data storage techniques are designed to provide one
bit of data to any one user at any given time. These delivery approaches
provide rapid and random access but are not conducive to providing a large
group of users with economical access to information. Requiring the user
to have a computer, a modem, and in the case of CD-ROM an expensive
peripheral device and subsequently expensive software on the disk, these
systems are economically impractical for mass distribution. The nature of
these systems is to provide a single user with data and information in a
way which provides the user random selection. Systems exist to "network"
together multiple users but no system currently exists to deliver mass
information economically and simultaneously to a large group of users,
while still providing each user individual random selection.
Information can be distributed from a source to a plurality of users in
some systems, such as local area networks, by arbitrating between users
according to varied schemes to provide one user access at any given time.
In the video and audio technologies, video and audio signals are provided
to a plurality of users over TV channels or radio channels, but individual
users have no control over the selections they are provided other than
choosing between the different channels.
SUMMARY OF THE INVENTION
The present invention is an information delivery system which continuously
provides sets of information which can be selected by a user. Digital data
is encoded as analog signals which are used to amplitude modulate a
carrier signal. A plurality of such modulated carrier signals are mixed
together to form a single channel which can be delivered to a user over a
cable or otherwise. The data provided on each carrier in the channel
constantly repeats itself so that the entire set of data on a particular
carrier will be available to a user in a relatively short time regardless
of the time of access by the user.
An extraction mechanism operated by the user selects the channel and
selects a first carrier which contains index information. The carrier
signal is decoded and the digital data is stored in a buffer memory whose
contents are supplied to a display under the control of the user. The
buffer memory only holds a portion of the set of data on a particular
carrier. As the user transfers the data to the display screen, new data is
added in the space vacated in memory. Upon viewing the index, the user can
select the data desired to be viewed. Different portions of the index
correspond to different carriers which can be selected to provide the
particular data. For example, where data comprises an encyclopedia, the
subjects beginning with letter C might be contained on the third carrier
(or subchannel).
Utilizing up to a 20 KHz signal per subchannel, up to 75 such subchannels
are multiplexed into a conventional 5 MHz TV channel. This process is
repeatable up to the maximum capacity, in TV channels, of any given
carrier; i.e., microwave, conventional broadcast or cable. The signals are
multiplexed in this fashion to allow for the inexpensive extraction using
standard random access frequency synthesis tuning chips. Two such chips;
one, exactly as found in modern video recorders and cable ready TV sets,
performs the gross tuning to the desired channel within the available
channels, the second, similar to those found in AM radios, is used to tune
the desired subchannel.
As an example, one traditional 75 ohm coax cable could carry up to 80 TV
channels, with each such channel carrying 75 subchannels and with each
subchannel operating at 20 KHz. With each half cycle amplitude modulated
per digital bit encoded, one such cable can deliver 40K bits per second
per subchannel (4K bytes), 3 M bits per second per channel (300K bytes)
for a total system capacity of 1.44 billion bytes per minute. Any
information desired within the overall system can be simply extracted by
an operating system which provides input selection to the two tuning
devices. Once the desired subchannel has been bandpass isolated, digital
decoding from the analog signal presents any desired digital device with
the original data content. Since the subchannels are analog, the system
can also deliver voice or music.
Applications for the technology include home delivery of the aforementioned
types of information via cable operators. Where dedicated cables exist or
can be installed, mass data access by virtually unlimited numbers of
individuals in schools, hospitals and business complexes can be rendered
economically practical.
The encoded analog data is preferably in the form of a sine wave of
approximately 10-20 KHz. Each half-cycle of the sine wave is amplitude
modulated to indicate either a digital zero or a digital one. Preferably,
a six-bit code is used to identify up to 63 characters which would
represent the alphabet, the basic digits, and 27 punctuation and control
characters. This six-bit hex code can be contained within three analog
cycles. A different number of bits or code may be used if desired,
especially if graphic or pictorial data is presented. Any type of data may
be presented, whether it is text, graphics, pictorial or otherwise. By
using an analog signal to modulate the carrier signal, rather than a
series of positive pulses, the bandwidth required for the carrier is cut
in half.
For a further understanding of the nature and advantages of the invention,
reference should be made to the ensuing detailed description taken in
conjunction with the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1A is a block diagram of a first preferred embodiment of a
transmission system according to the present invention using digital data
sources;
FIG. 1B is a block diagram of a second preferred embodiment of a
transmission system according to the present invention using analog data
sources;
FIG. 2 is a block diagram of a data extraction system according to the
present invention;
FIG. 3 is a diagram of the multiple TV channels used in the present
invention;
FIG. 4 is a diagram of the subcarriers in a single channel of FIG. 3;
FIG. 5 is a combination flowchart and block diagram showing the movement of
information;
FIG. 6 is a general block diagram of the encode electronics of FIG. 1;
FIG. 7 is a detailed block diagram of the encode circuit of FIG. 5;
FIG. 8 is a general block diagram of the decode electronics of FIG. 3;
FIG. 9 is a detailed block diagram of the decode circuit of FIG. 7; and
FIG. 10 is a block diagram of the digital electronics of FIG. 2.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
FIG. 1A shows a transmission system according to the present invention. A
series of digital data sources 12 continuously provide digital data to
encoders 14. Encoders 14 convert the digital data into analog form and
supply the analog signal to a mixer 16. Each mixer 16 uses the encoded
analog signal to modulate a carrier signal, with each mixer 16 utilizing a
different carrier frequency. The outputs of mixer 16 are combined in a
final mixer 18 under the control of an oscillator 20 for the selected TV
channel. The TV channel output is supplied to CATV equipment 22 for
combination with other TV channels and transmission along a TV cable 24.
Alternately, digital data is recorded on a plurality of tapes 15 by a
single encoder 14. The analog signals from the tapes are supplied directly
to mixers 16 as shown in FIG. 1B. Two identical tapes can be used for each
channel, with one tape providing back-up while the other is rewinding. The
control and switching of the tapes 15 at the proper time is done by a
controller 17 and multiplexers 19.
Yet another alternate to the embodiment of FIG. 1B would be to record the
signals after modulation at the output of mixers 16 and supply the signal
directly to mixer 18. In yet another embodiment, the signal from the
output of mixer 18 could be recorded on a videotape with the tape output,
containing all the multiplexed and mixed signals, being supplied directly
to the CATV equipment 22. The advantage of the embodiment of FIG. 1B is
that one portion of the data bank can be changed without affecting the
other portions. The advantage of the embodiment of FIG. 1A is that a
digital data source 12 can be changed in real time with an appropriate
computer input.
FIG. 3 shows a number of 5 MHz TV channels transmitted by CATV equipment
22. Each channel is separated by a channel guard band 26 and includes a
number of subcarriers or subchannels 28.
Subchannels 28 are shown in more detail in FIG. 4. Each subchannel 28 is
separated by a subcarrier guard band 30. The carrier frequency for each
subcarrier is modulated by an analog signal such as analog signal 32.
Signal 32 is an amplitude modulated sine wave with the peak of the sine
wave being truncated to indicate a zero and being unchanged to indicate a
digital one.
For example, the letter "A" may be represented by the digital code 1 0 0 0
0 0. This digital code is used to modulate the sine wave carrier, with
each half-cycle being amplitude clipped to indicate a zero, and being
unaffected to indicate a digital one.
Three cycles therefore provide the capacity to encode any one of up to 63
characters. Two additional cycles can be used for purposes of check
summing and identity separation. Thus, with five cycles assigned to carry
each character, and utilizing a 10 KHz base cycle, 2,000 characters per
second can be encoded. Graphic and pictorial data can also be presented.
Additional bits may be used for graphic data to give, for example, a total
of 10 bits.
The data in each subchannel is constantly repeated. Subchannel 1 is an
index for the remainder of the subchannels and is the first channel
accessed by a user. After selecting a desired set of data to be viewed
upon viewing the index, the user can select a particular subchannel, as
indicated by the index in subchannel 1, which will contain the desired set
of data.
FIG. 2 is a block diagram of a data extraction device according to the
present invention. A programmable TV tuner 32 is coupled to TV cable 24
for selecting a particular TV channel. The channel to be selected is
indicated by a control signal on line 34 from controller 36 under the
control of input signals from a keyboard 38. The selected TV channel is
then passed to a programmable amplitude modulated (AM) tuner 40. Tuner 40
is programmed by a control signal from controller 36 on line 42. TV tuner
32 selects one of the TV channels shown in FIG. 3 and AM tuner 40 selects
one of the subchannels shown in FIG. 4. The selected subchannel is then
passed to a data decode circuit 44. Decode circuit 44 converts the analog
signal back into digital data and supplies the data to a memory 46. The
contents of memory 46 are provided to a display 48 under the control of
controller 36 and keyboard 38.
FIG. 5 shows a combination flowchart and block diagram illustrating the
movement of information through a system according to the present
invention. The information is first divided into segments consistent with
the desired user access speed, as discussed below (step T1). The master
index is then laid out (step T2). Each segment of the data is then
assigned to a subchannel, and subchannel and channel identifiers are
assigned within the master index (step T3). Groups of subchannels are then
assigned to particular TV channels (step T4). The digital data is encoded
as an analog carrier (step T5). Each analog data signal is then mixed with
its corresponding channel carrier to produce the various channels (step
T6). The subchannels are recorded on videotape to produce mixed repeating
loop sources (step T7). The output from the repeating loop sources are
mixed through CATV mix equipment and broadcast via cable (step T8).
As noted above, there are several alternates to the method set forth in
FIG. 5. For instance, each channel can be stored digitally in RAM. That
RAM can be a dedicated RAM of a subchannel processor unit which accesses
the total data base and in real time processes the encoded subchannels. In
addition, the transmission over cable is only one of many possible
transmitting mechanisms which are compatible with transmitting an analog
signal.
On the receiving end, microprocessor 36 defaults to selecting the master
index subchannel on start-up and displays the information on display 48.
The user then selects the desired information topic and inputs the
selection through keyboard 38. The tuning modules 32 and 40 are then
locked onto the desired channel and subchannel and data is routed through
decode electronics 44. The digital data from decoder 44 is loaded into RAM
46 and a first block is displayed on display 48. The user can then step
through the selected information by appropriate inputs on keyboard 38
under the control of microprocessor 36.
The transmitted data consists of three primary levels; the master index,
the specific content indexes and the subchannel contents. The master index
contains data which is encoded into the first few subchannels within the
first channel. This index relates subsequent indexes or contents to the
receiving device in a way which allows for user selection of desired
content. (Actual channel and subchannel tuner manipulation is transparent
to the user.) The number of channels consumed by the master index is
determined by the following formula which is utilized throughout the
system:
##EQU1##
Example: A master index is 20K bytes long, desired user access is 5
seconds, number of subchannels=1. The master index repeats on channel 1,
subchannel 1 every 5 seconds.
The capacity to vary the user's access time allows the transmitter to
adjust for the nature of the information and user, not just the hardware.
For example, as an alternate to a conventional hard copy reference library
the average access time can run into a few minutes and still be much
faster than the user could otherwise obtain the information.
The master index contains and provides channel, subchannel, and timing
information on all subject groups moving throughout the system. A subject
group could be an encyclopedia or a magazine. Basically, a subject group
is an autonomous field of information.
Similar in function to the master index, the sub-indexes contain and
provide internal definition and selection within the subject group. They
are represented (channel, subchannel, time) by the master index and
provide the same information with respect to their group contents. They
utilize the same formula for subchannel and time occupation.
Information is arranged by any desired method of local indexing relevant to
the type of information. An overall group of information is then broken
into repeating fragments commensurate with the intended access time and
multiplexed into the subchannels. The sub-index contains the subchannel
identifications as relates to the method of indexing. The sub-index also
contains time identifiers which can be used to locate a specific component
of a subchannel's information content which in turn instructs the receiver
to "RAM-trap" data in a specific way at a specific time, relative to
timing signals. This has the advantage of allowing the receiving end to
automate the refilling of its RAM devices consistent with user need
thereby decreasing the requisite resident RAM volume.
In the case of special proprietary information or software a user is
required to input a particular code number obtained by mail or phone in
order to allow an otherwise "invisible" group to be accessed.
In the case of real time information, such as music or voice, such
information is simply assigned a subchannel and the master index updated
to so designate.
A personal computer, electronic book (see copending application serial no.
06/821,580) or any number of other devices containing the receiving and
decoding data extraction device of FIG. 2 can provide a user with access
to the pipeline's resources. Once activated, the extraction device
defaults to the master index, known to be located at channel 1, subchannel
1. The user is presented with a "table of contents" or "index guide" from
which he can select, by cursor movement or keyboard entry, the information
with which he is concerned.
The index, at this point analog, is converted to digital for display and
subsequent operations by the decoding module. All subsequent selections
are similarly decoded.
Transparent to the user, his selection is equated by an operating system
resident within the extraction device to a given channel and subchannel.
The operating system translates his selection and digitally instructs the
random access frequency tuning devices to tune in the appropriate TV
channel and subsequently the appropriate subchannel. This provides the
user with a sub-index with which he operates in a similar fashion,
selecting his area of interest.
Remaining user transparent, the extraction device also activates a RAM-trap
or RAM-cache which when full displays the user's desired information. The
firmware also provides the user the ability to automate further
extractions. For example, while reading a lengthy document, the system
will keep track of the user's progress and "refill" RAM transparent to his
actions.
From a reception perspective a user, or a few thousand users, can access up
to 6,000 distinct and separate areas of information, each such area moving
data at 4K bytes per second. Each user has random access over the whole
field and the process of interface to the data is as simple as operating a
hardcover book.
Each data carrying subchannel operates at preferably 20 KHz. The sine wave
signal can be reliably detected and bandpass isolated from the master 5
MHz channel by doubling its base rate and therefore generating a carrier
frequency of 40 KHz. With conventional mix oscillator multiplexing, this
provides for up to 75 such subchannel carriers allowing for a subchannel
guard band of 26 KHz, approximately 50% of the carrier's frequency.
Operationally, a transmitter or distributor will go through two
multiplexing stages. The encoded analog signals produced through the
system described previously, will be assigned specific subchannels by the
designations of the master index. The information, in its communicable
analog form, is subsequently loaded into a preferred method for time
recycling (such as tape) and then multiplexed together as indicated above
to create 5 MHz packages. The 5 MHz package can either be recorded or sent
directly to a standard CATV multiplexer which then inserts each such 5 MHz
package into the delivery medium.
Where information is redundantly replicated for similar concerns, such as
educational or reference libraries, video tape systems in concert with a
CATV multiplexer can effectively transmit or distribute a mass of
information over a common cable to thousands of users.
A stand-alone data extraction device could be provided with a simple
keyboard and rf modulator to allow any television set to act as a display
device. The same discrete device could also be used without the modulator
to provide a controller to load audio information to traditional audio
recording or amplifying devices.
From a distribution perspective, a cable operator could become a
distributor for reference information, software, literature, narratives,
or music. Even using 10 of the many existing cable blanks would mean a
delivery capacity of 240 megabytes of information per minute.
In dedicated applications such as hospitals, educational institutions and
industrial complexes, the cost of using a service to record the
information, or of purchasing a multiplexing data transmission device,
would be well returned by the economy of access provided each individual.
FIG. 6 shows encoder 14 of FIG. 1. The encode electronics or encoder 60 of
FIG. 6 consists of four basic blocks: A programmable oscillator 62, a
square wave to sine wave converter 64, a data synchronizer 66 and a
modulator 68.
Programmable oscillator 62 generates a square wave at the frequency to be
encoded. This is the carrier frequency, and is programmable through
several speed select, or frequency control, lines 70 which are controlled
by a microprocessor. Programmable oscillator 62 also generates other
timing signals which are synchronized with the carrier square wave. One of
these timing signals, data clock 72, is used to control the transfer of
each bit of data from the microprocessor to encode electronics 60.
Square wave to sine wave converter 64 converts the carrier square wave from
programmable oscillator 62 into a sine wave at the same frequency. The
resulting sine wave is the sine wave which will be amplitude modulated
with data.
Data synchronizer 66 ensures that each new bit of data from the
microprocessor which reaches modulator 68 is synchronized with the
beginning of a half-cycle of the carrier sine wave.
Modulator 68 alters the amplitude of each half-cycle of the carrier sine
wave to reflect the state of the associated data bit. A digital `1` is
represented by a full amplitude half-cycle of the carrier. A digital `0`
is represented by an attenuated half-cycle of the carrier.
The signal out of modulator 68 is an amplitude modulated sine wave which
carries one bit of digital information in each half-cycle. Depending on
the carrier frequency selected, this signal is suitable for recording on
audio magnetic tape, or transmission via phone lines, or transmission via
any other medium which will carry amplitude modulated analog signals. Two
or more copies of the encode electronics can be used to transmit or record
two or more channels of encoded data simultaneously.
Encode electronics 60 of FIG. 6 is shown in more detail in FIG. 7.
Programmable oscillator 62 of FIG. 6 consists of a crystal oscillator 88,
a programmable rate divider 90, a divide by 25 circuit 92, and a divide by
2 circuit 94.
Crystal oscillator 88 provides a stable high frequency square wave from
which all other timing signals for the encode electronics are derived.
Programmable rate divider 90 uses the square wave from crystal oscillator
88 to generate a slower square wave, at a frequency which is programmable
by a microprocessor through several frequency select logic inputs 96. The
square wave output from programmable rate divider 90 is at a frequency
which is 25X the intended data rate, and 50X the intended carrier
frequency.
Divide by 25 circuit 92 creates a square wave, with a frequency equal to
the intended data rate, from the output of programmable rate divider 90.
This signal is used as a data clock 98 to control the transfer of each bit
of data from the microprocessor to the encode electronics.
Divide by 2 circuit 94 creates a square wave, with a frequency equal to the
intended carrier frequency, from the output of divide by 25 circuit 92.
A square wave to sine wave converter 100 is a low pass filter which allows
the fundamental frequency of the carrier square wave to pass, and blocks
or attenuates the higher frequency components of that square wave. The
resulting output is a sine wave at the frequency of the incoming square
wave. This low pass filter is a switched capacitor type which utilizes a
clock to control the frequencies it will pass and the frequencies it will
block. The clock which is used to control the characteristics of this
filter is the square wave from the programmable rate divider. Thus, when
the microprocessor selects a new frequency through the rate divider, this
filter's characteristics are changed to match the intended carrier
frequency.
Data synchronizer 66 of FIG. 6 is simply a latch 102 which transfers each
data bit from the microprocessor to the modulator at the beginning of a
new half-cycle of the carrier. This is accomplished by clocking
synchronizer latch 102 with the square wave output from divide by 25
circuit 92.
Modulator 68 of FIG. 6 is simply an analog switch or multiplexer 104 which
is controlled by the data from data synchronizing latch 102. The
multiplexer 104 selects either a full-size signal from square wave to sine
wave converter 100, or an attenuated version of that same signal from an
attenuator 106, depending on the state of the data from synchronizing
latch 102. The full sized signal is selected when the synchronized data is
a `1`, the attenuated signal is selected when the synchronized data is a
`1`. The output of multiplexer 104 goes to a final amplifier (not shown).
The output of this amplifier is suitable for transmission or recording.
FIG. 8 shows data decode section 44 of FIG. 2. The decode electronics or
decoder 74 of FIG. 8 consists of five basic blocks: A coarse automatic
gain control 76, a distortion compensation circuit 78, a timing
synchronizer 80, a data recovery circuit 82 and a data latch 84.
Coarse automatic gain control (AGC) 76 provides a signal of acceptable
amplitude compensating for gross variations in the amplitude of the raw
incoming signal from one of source interfaces 36, 42, 46 or 48. AGC 76
compensates for conditions such as an inferior signal from a tape
playback, or a low volume transmission from a phone line.
Distortion compensation circuit 78 attempts to remove the effects of
distortion which is introduced by a particular type of recording or
transmission system, and restore the signal to nearly it's original
condition. By switching between several types of distortion compensation
blocks, circuit 78 handles signals from dissimilar sources.
Timing synchronizer 80 detects and locks on to the frequency of the
incoming sine wave carrier and provides timing and logic signals which are
synchronized with that carrier. One of these timing signals, decode data
clock 86, is used by data latch 84 to capture data bits in the center of
each half-cycle of the carrier, where the encoded bit's state is most
clearly defined. Decode data clock 86 is also sent to the microprocessor
to indicate that a new data bit is waiting.
Data recovery circuit 82 senses the state of the data encoded in each
half-cycle of the carrier. This circuit tracks or remembers the | | |