|
Claims  |
|
|
I claim:
1. A system for providing on-line multimedia content output to a user on
said user's computer system, comprising:
a browser configured to provide access to a page and at least one
component, wherein said at least one component has multimedia audio,
graphics, text and timing data elements, wherein said at least one
component further includes instructions which when executed synchronize
the delivery of said multimedia data elements, and wherein said at least
one component further includes encrypted data and unencrypted data and
authentication instructions executable with respect thereto;
a display unit configured to display said unencrypted data in a manner
which enables said user to make a multimedia content output choice;
an output unit configured to generate on said display unit a representation
of unencrypted data in a manner which enables said user to make a
multimedia content output choice and an authentication request;
a processor configured to generate said multimedia content output choice
and said authentication request;
an execution unit configured to execute said authentication request in
order to provide a disposable key to decrypt some of said encrypted data
to generate multimedia content output therefrom;
a receiver configured to receive said authentication request and to provide
said disposable key to decrypt said some of said encrypted data to
generate said multimedia content therefrom;
a processor configured to receive said disposable key and to decrypt said
some of said encrypted data to generate said multimedia content therefrom
while said disposable key is valid;
a transmitter configured to automatically download said at least one
component to said user's computer system including a display apparatus;
and
an execution unit configured to execute said instructions to generate said
multimedia content output including audio output from said audio element,
text output from said text data element and graphics output from said
graphics data element, said text output and said graphics output being
displayed on said display apparatus of said user's computer system, the
combination of which being delivered in a manner synchronized with said
audio output in accordance with said timing data element.
2. A system as recited in claim 1 wherein said audio output is in the form
of a song having words.
3. A system as recited in claim 2 wherein said text output is in the form
of ASCII words.
4. A system as recited in claim 3 wherein said graphics output is in the
form of highlights on said words which are displayed on said display
apparatus in a synchronized manner with said audio output words in
accordance with said timing element.
5. A system as recited in claim 2 wherein said text output is in the form
of international multi-byte fonts.
6. A system as recited in claim 1 wherein said graphics output is in the
form of a panchiko game having metal balls which is displayed on said
display apparatus.
7. A system as recited in claim 6 wherein said audio output is resembles
the sound of metals balls clanging, such audio output delivered in a
synchronized manner with said graphics output in accordance with said
timing element.
8. A system as recited in claim 1 wherein said audio data element is
fragmented into audio fragments having delta time in length and wherein
said text data element is fragmented into text fragments having delta time
in length, said system further comprising:
a generator configured to generate simultaneous output of audio fragments
and text fragments at the beginning of said delta time.
9. A system as recited in claim 1 wherein said component is an applet.
10. A system as recited in claim 1 wherein said text output further
includes a list of songs from which a user can choose, and wherein said
execution unit is further configured to allow said user to choose songs
from said list so that said delivery of said songs' multimedia data
elements is queued for sequential delivery.
11. A system as recited in claim 1 wherein said disposable key is only
valid for a predetermined period of time.
12. A method for providing on-line multimedia content output to a user on
said user's computer system, comprising the steps of:
via a browser, providing access to a page and at least one component,
wherein said at least one component has a plurality of elements including
multimedia audio, graphics, text and timing data elements, wherein said at
least one component further includes instructions which when executed
synchronize the delivery of said multimedia content data elements to said
user's computer system, and wherein said at least one component further
includes encrypted data and unencrypted data and authentication
instructions executable with respect thereto;
automatically downloading said at least one component to said user's
computer system;
displaying unencrypted data in a manner which enables said user to make a
multimedia content output choice;
generating on said display apparatus a representation of said unencrypted
data in a manner which enables said user to make a multimedia content
choice and an authentication request;
generating said multimedia content output choice and said authentication
request;
executing said authentication request in order to provide a disposable key
to decrypt some of said encrypted data to generate said multimedia content
output therefrom;
receiving authentication in response to said authentication request,
including said disposable key to decrypt said some of said encrypted data
to generate said multimedia content therefrom while said disposable key is
valid;
decrypting said some of said encrypted data to generate said multimedia
content therefrom while said disposable key is valid; and
executing said instructions to generate multimedia content output including
audio output from said audio data element in the form of a song having
words, text output from said text data element being displayed on a
display apparatus and graphics output from said graphics data element
being displayed on said display apparatus in the form of highlights on
said text in a synchronized manner with said audio output in accordance
with said timing data element.
13. A method as recited in claim 12 wherein said audio data element is
fragmented into audio fragments having delta time in length and wherein
said text data element is fragmented into text fragments having delta time
in length, said method further comprising the step of:
simultaneously outputting said audio fragments and text fragments at the
beginning of said delta time.
14. A method as recited in claim 12 wherein said text output is in the form
of ASCII words.
15. A method as recited in claim 12 wherein said text output is in the form
of international multi-byte fonts.
16. A browser embedded component, comprising:
multimedia audio, graphics, text and timing data elements;
instructions which when executed synchronize the delivery of said
multimedia data elements;
encrypted data and unencrypted data and authentication instructions
executable thereto;
a first execution element configured to display on a display apparatus said
unencrypted data in a manner which enables a user to make a multimedia
content output choice, to generate on said display apparatus a
representation of said unencrypted data in a manner which enables said
user to make a multimedia content choice and an authentication request, to
generate said multimedia content output choice and said authentication
request in order to request a disposable key to decrypt some of said
encrypted data to generate said multimedia content therefrom; and
a second execution element configured to receive said disposable key to
decrypt said some of said encrypted data to generate said multimedia
content therefrom while said disposable key is valid, to decrypt said some
of said encrypted data to generate said multimedia content therefrom while
said disposable key is valid, and to execute said instructions to generate
multimedia content output including audio output from said audio data
element, text output from said text data lament and graphics output from
said graphics data element, said text output and said graphics output
being configured for display on said display apparatus, the combination of
which being delivered a synchronized manner with said audio output in
accordance with said timing data element.
17. An embedded component as recited in claim 16 wherein said audio output
when generated is in the form of a song having words.
18. An embedded component as recited in claim 16 wherein said text output
when executed is in the form of ASCII words.
19. An embedded component as recited in claim 16 wherein said text output
is in the form of international multi-byte fonts.
20. An embedded component as recited in claim 16 wherein said graphics
output when executed is in the form of highlights on said text output
which are configured to be displayed on a display apparatus in a
synchronized manner with said audio output words in accordance with said
timing element.
21. An embedded component as recited in claim 16 wherein said graphics
output when executed is in the form of a panchiko game having metal balls
which is configured to be displayed on a display apparatus.
22. An embedded component as recited in claim 16 wherein said audio output
when executed resembles the sound of metals balls clanging, such audio
output delivered in a synchronized manner with said graphics output in
accordance with said timing element.
23. An embedded component as recited in claim 16 wherein said audio data
element is fragmented into audio fragments having delta time in length and
wherein said text data element is fragmented into text fragments having
delta time in length, said component further comprising:
an execution unit configured to provide the simultaneous output of audio
fragments and text fragments at the beginning of said delta time.
24. A browser embedded component as recited in claim 16 wherein said
disposable key is only valid for a predetermined period of time.
25. A system for providing on-line multimedia content output to a user on
said user's computer system, comprising:
browser means for providing access to a page and at least one component,
wherein said at least one component has a plurality of elements including
multimedia audio, graphics, text and timing data elements, wherein said at
least one component further includes instructions which when executed
synchronize the delivery of said multimedia content data elements to said
user's computer system, and wherein said at least one component further
includes encrypted data and unencrypted data and authentication
instructions executable with respect thereto;
downloading means for automatically downloading said at least one component
to said user's computer system;
display means for displaying unencrypted data in a manner which enables
said user to make a multimedia content output choice;
first generating means for generating on said display apparatus a
representation of said unencrypted data in a manner which enables said
user to make a multimedia content choice and an authentication request;
second generating means for generating said multimedia content output
choice and said authentication request;
first executing means for executing said authentication request in order to
provide a disposable key to decrypt some of said encrypted data to
generate said multimedia content output therefrom;
receiving means for receiving authentication in response to said
authentication request, including said disposable key to decrypt said some
of said encrypted data to generate said multimedia content therefrom while
said disposable key is valid;
decrypting means for decrypting said some of said encrypted data to
generate said multimedia content therefrom while said disposable key is
valid; and
second executing means for executing said instructions to generate
multimedia content output including audio output from said audio data
element, text output from said text data element and graphics output from
said graphics data element, said text output and said graphics output
being delivered in a synchronized manner with said audio output in
accordance with said timing data element.
26. A system as recited in claim 25 wherein said graphics output is in the
form of highlights on words of said text output which are configured to be
displayed on said display apparatus in said synchronized manner with words
of said audio output in accordance was said timing data element.
27. A system as recited in claim 25 wherein said audio data element is
fragmented into audio fragments having delta time in length and wherein
said text data element is fragmented into text fragments having delta time
in length, said system further comprising:
output means for the simultaneous output of audio fragments and text
fragments at the beginning of said delta time.
28. A system as recited in claim 25 wherein said text output further
includes a list of songs from which a user can choose, and wherein said
execution means further executed instruction which allow said user to
choose songs from said list so that said delivery of said songs'
multimedia data elements is queued for sequential delivery.
29. A server, comprising:
a storage unit configured to store a browser embedded component including:
multimedia audio, graphics, text and timing data elements;
instructions which when executed synchronize the delivery of said
multimedia data elements;
encrypted data and unencrypted data and authentication instructions
executable thereto;
a first execution element configured to display on a display apparatus said
unencrypted data in a manner which enables a user to make a multimedia
content output choice, to generate on said display apparatus a
representation of said unencrypted data in a manner which enables said
user to make a multimedia content choice and an authentication request, to
generate said multimedia content output choice and said authentication
request in order to request a disposable key to decrypt some of said
encrypted data to generate said multimedia content therefrom; and
a second execution element configured to receive said disposable key to
decrypt said some of said encrypted data to generate said multimedia
content therefrom while said disposable key is valid, to decrypt said some
of said encrypted data to generate said multimedia content therefrom while
said disposable key is valid, and to execute said instructions to generate
multimedia content output including audio output from said audio data
element, text output from said text data lament and graphics output from
said graphics data element, said text output and said graphics output
being configured for display on said display apparatus, the combination of
which being delivered a synchronized manner with said audio output in
accordance with said timing data element; and
a transmitter configured to transmit said browser embedded component from
said storage unit to a remote computer system.
30. A server as recited in claim 29 wherein upon execution by said second
execution element, said graphics output is in the form of highlights on
words of said text output which are configured to be displayed on said
display apparatus in said synchronized manner with words of said audio
output in accordance was said timing data element.
31. A server as recited in claim 29 wherein said audio data element is
fragmented into audio fragments having delta time in length and wherein
said text data element is fragmented into text fragments having delta time
in length wherein said execution element further comprises:
a generator configured to generate simultaneous output of audio fragments
and text fragments at the beginning of said delta time.
32. A server as recited in claim 29 wherein said disposable key is only
valid for a predetermined period of time.
33. A computer system, comprising:
a transmission reception unit configured to receive data and instructions
from a remote source; and
a storage unit configured to store said data and instructions which are a
part of a browser embedded component which is automatically downloaded
thereto upon access to a page provided on said remote source, said browser
embedded component including:
multimedia audio, graphics, text and timing data elements;
instructions which when executed synchronize the delivery of said
multimedia data elements;
encrypted data and unencrypted data and authentication instructions
executable thereto;
a first execution element configured to display on a display apparatus said
unencrypted data in a manner which enables a user to make a multimedia
content output choice, to generate on said display apparatus a
representation of said unencrypted data in a manner which enables said
user to make a multimedia content choice and an authentication request, to
generate said multimedia content output choice and said authentication
request in order to request a disposable key to decrypt some of said
encrypted data to generate said multimedia content therefrom; and
a second execution element configured to receive said disposable key to
decrypt some of said encrypted data to generate said multimedia content
therefrom while said disposable key is valid, to decrypt said some of said
encrypted data to generate said multimedia content therefrom while said
disposable key is valid, and to execute said instructions to generate
multimedia content output including audio output from said audio data
element, text output from said text data lament and graphics output from
said graphics data element, said text output and said graphics output
being configured for display on said display apparatus, the combination of
which being delivered a synchronized manner with said audio output in
accordance with said timing data element.
34. A computer system as recited in claim 33 wherein upon execution by said
second execution element, said graphics output is in the form of
highlights on words of said text output which are configured to be
displayed on said display apparatus in said synchronized manner with words
of said audio output in accordance was said timing data element.
35. A computer system as recited in claim 33 wherein said audio data
element is fragmented into audio fragments having delta time in length and
wherein said text data element is fragmented into text fragments having
delta time in length wherein said execution element further comprises:
a generator configured to generate simultaneous output of audio fragments
and text fragments at the beginning of said delta time.
36. A computer system as recited in claim 33 wherein said browser embedded
component is an applet.
37. A computer-readable medium having computer readable code stored
therein, comprising:
a computer-readable code module configured to store multimedia audio,
graphics, text and timing data elements;
instructions which when executed synchronize the delivery of said
multimedia data elements;
encrypted data and unencrypted data and authentication instructions
executable thereto; and
configured to display on a display apparatus said unencrypted data in a
manner which enables a user to make a multimedia content output choice, to
generate on said display apparatus a representation of said unencrypted
data in a manner which enables said user to make a multimedia content
choice and an authentication request, to generate said multimedia content
output choice and said authentication request in order to request a
disposable key to decrypt some of said encrypted data to generate said
multimedia content therefrom; to receive said disposable key to decrypt
said some of said encrypted data to generate said multimedia content
therefrom while said disposable key is valid, to decrypt said some of said
encrypted data to generate said multimedia content therefrom while said
disposable key is valid, and
configured to execute said instructions to generate multimedia content
output including audio output from said audio data element, text output
from said text data lament and graphics output from said graphics data
element, said text output and said graphics output being configured for
display on said display apparatus, the combination of which being
delivered a synchronized manner with said audio output in accordance with
said timing data element.
38. A computer readable medium as recited in claim 37 wherein said audio
output when generated is in the form of a song having words.
39. A computer readable medium as recited in claim 37 wherein said text
output when executed is in the form of ASCII words.
40. A computer readable medium as recited in claim 37 wherein said text
output is in the form of Japanese characters.
41. A computer readable medium as recited in claim 37 wherein said graphics
output when executed is in the form of highlights on said text output
which are configured to be displayed on a display apparatus in a
synchronized manner with said audio output words in accordance with said
timing element.
42. A computer readable medium as recited in claim 37 wherein said graphics
output when executed is in the form of a panchiko game having metal balls
which is configured to be displayed on a display apparatus.
43. A computer readable medium as recited in claim 37 wherein said audio
output when executed resembles the sound of metals balls clanging, such
audio output delivered in a synchronized manner with said graphics output
in accordance with said timing element.
44. A computer readable medium as recited in claim 37 wherein said audio
data element is fragmented into audio fragments having delta time in
length and wherein said text data element is fragmented into text
fragments having delta time in length, said component further comprising:
an execution unit configured to provide the simultaneous output of audio
fragments and text fragments at the beginning of said delta time.
45. A computer-readable medium as recited in claim 37 wherein said
disposable key is only valid for a predetermined period of time. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
FIELD OF THE INVENTION
This invention relates to access to encrypted multimedia content data over
an Internet-type distribution system, and more particularly to a way to
improve a user's on-line multimedia experience.
BACKGROUND OF THE INVENTION
Traditional forms of entertainment are becoming increasingly digitized and
accessible to a wider audience. For example, in Japan, a popular form of
entertainment, Karaoke, is available to a wider participating audience as
a result of digitization. Because digitization reduces the cost of many
products and services, Karaoke "juke boxes" are found in many business
establishments so that their patrons may enjoy their use.
Digitized Karaoke juke boxes are an improvement over traditional juke
boxes. Instead of replacing vinyl records, a service technician visiting
each site simply loads software to update the song choices available to
the user with the latest music. Moreover, on a display, words can be
scrolled at the same time as the music plays. This multimedia Karaoke
experience, while an improvement over traditional juke boxes, however, is
expensive since it requires service calls by technicians for updating.
Moreover, there is a lag between the release of a song and the time it is
installed on a Karaoke juke box. Furthermore, the Karaoke song list books
are printed on paper and thus are easily lost, damaged or destroyed.
Additionally, in accounting, it is difficult to keep track of the songs
which have been played so that royalties may be paid to the artists. A new
method and apparatus which does not require visits by technicians to
Karaoke sites and resolves the other problems described above would be
beneficial.
While Karaoke is enjoyed by patrons of business establishments, home
Karaoke participation is currently limited to playing and singing along
with a record or CD. Some of the disadvantages to a home Karaoke
participant include that he/she must leave home to purchase the music
content and that he/she does not have the sing-along aid of scrolling
words.
As more users access the Internet and the associated World-Wide-Web, more
vendors are providing multimedia content data which is readily accessible
by consumers. Depending upon the bandwidth capability of the transmission
hardware, among other things, different types of content are accessible by
consumers, including video, audio, graphic and ASCII data. Moreover,
particularly with the advent of browser technology, such as Netscape, a
user can readily access data from servers all over the world.
Recently, new programming languages have been developed which allows
programs to be written which enhance browser technology. While not widely
used yet, programs which are written in these languages can be embedded
into a browser and promise to provide a user with a nearly seamless
on-line multimedia experience. Such a language, Java (TM) language, has
been developed by Sun Microsystems'(R) Computer Corporation.
Java is an object-oriented language similar to C++ in many ways, but
specifically developed to provide cross-platform capability and reduce the
complexities of C++. Generally speaking, an object-oriented language
facilitates the clean definition of interfaces and makes it possible to
provide reusable "software ICs." Java provides multimedia capabilities
which are operating system and hardware independent. The Java software
architecture is designed to support platforms ranging from personal
computers to embedded network devices of the type similar to a Java
desktop device (recently announced by Sun and Oracle). Sun Microsystems
has a Java homepage where the Java language specifications can be accessed
among other instructive programming materials at
Http://JAVA.SUN.COM/doc/Overview/java/index.html.
It would be beneficial to both commercial and home users for the
distribution of Karaoke and other multimedia content to be provided
on-line by an Internet-type distribution system.
SUMMARY OF THE INVENTION
A user of this invention is able to access multimedia content on-line which
is updated virtually simultaneously with the vendor's update process. In
the event that a vendor updates the data frequently, the user will benefit
tremendously, never experiencing a lag between the newest content and the
delivery thereof. By a user accessing a page on the World Wide Web, for
example, data (encrypted and unencrypted) and instructions are
automatically downloaded to a user's computer system for quick access.
Depending upon the user's computer system (LAN or a stand-alone personal
computer), "applets" containing data and instructions are stored for
immediate access. An applet in and of itself may contain a plurality of
components, and a single click by the user may generate a download which
fetches a plurality of applets. In any case, the applets are available for
virtually immediate execution, making the multimedia experience seamless
to the user.
For example, in a Karaoke application of this invention, where the user
desires to access songs which are most popular at a given time, the user
is completely unaware of the automatic delivery of an applet including
data and instructions from a main data base server. When the user accesses
a page, a song list and other information is displayed on a display
apparatus. When the user clicks on a particular song of the song list, the
applet executes an authentication request. If the user is authenticated,
the authentication is downloaded as part of the applet containing the
desired multi media content (or separately depending upon the
circumstances). In the meantime, a new song may have reached number one
standing in the charts, and the vendor has updated the main data base
accordingly. While the user is still on the page, an applet containing a
new song list is downloaded to user's computer system, so that in the near
future, when the user goes to click another song for playing, the song
list is updated and includes the newest and most popular songs.
A multimedia experience, inherent in its nature, will include different
types of media content. For a seamless experience, each element's timing
must be coordinated with the other elements' timing. According to this
invention, an applet includes multimedia elements which further include
timing codes and a synchronization function which provides for the
synchronization of the delivery of the multimedia elements.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is an overview of a distribution system used in conjunction with
this invention;
FIG. 2 shows display screen output, among other things, offering a user
song choices for a Karaoke application of this invention;
FIG. 3 is a flow chart of choices provided to a user in a Karaoke
application;
FIG. 4 is a flow chart illustrating the threads for delivery of the
different multimedia content components;
FIG. 5 is a diagram illustrating the embedded nature of Java in a browser;
FIG. 6 is a flow chart illustration the authentication procedure of this
invention;
FIG. 7 is a flow chart illustrating the choose and play sequence of this
invention;
FIG. 8 is a flow chart illustrating a method of synchronization of
multimedia elements;
FIG. 9 is a flow chart illustrating another method of synchronization of
multimedia elements; and
FIG. 10 is a flow chart illustrating yet another method of synchronization
of multimedia elements according to this invention.
DETAILED DESCRIPTION OF THE INVENTION
A user wishing to access a Karaoke application provided in accordance with
this invention will access a Karaoke page via a browser such as Netscape.
The browser supports Java so that the use of Java provides multimedia
capabilities which are operating system and hardware independent.
Accordingly, an applet including encrypted and unencrypted data and
instructions will be delivered to the user's computer system to enable the
user to make choices and thus send a request to a remote server for the
delivery of multimedia content. Once authentication has taken place, one
or more applets are sent by the remote server which deliver the multimedia
content.
Applets are stored in a network of servers for efficient delivery to a
user. FIG. 1 shows a main database 72 in communication with caching
subservers 74a, 74b, 74c, 74d and 74e. The main server defines the master
database of all songs released. This database can rely on any known
database technology whose hardware will usually reside at the central
distribution site for data defined by the implementor. Multiple main
servers are permitted for redundancy.
Caching subservers define a location specific server which caches songs for
distribution to local Karaoke clients. The purpose of the caching
subservers is to reduce load on the main server generated by song
requests, and reduce long distance network traffic to the main server by
caching songs locally. If a caching server does not have in memory, a
song, it will request it from the master list. Subserver 74e is further
shown in communication with subservers 76a, 76b and 76c. Networked
computers may be arranged in other configurations as well.
An array of dedicated Karaoke terminals 78a, 78b and 78c are in
communication with subservers 74b, 74c and 74d respectively. The Karaoke
terminal plays the songs but also may include, but is not required to have
digital signal processing capability, stereo sound, remote control, a
keyboard and a mouse. Alternatively, the Karaoke page is accessed, for
example, by a user's personal computer, LAN, laptop, PDA, workstation,
television or telephone 82a, 82b or 82c, wireless or wired. In any manner
of transmission from a remote source, applets are automatically downloaded
onto the user's computer system upon access to the page as described
above.
Turning to FIG. 2, an example of a Karaoke page 10 on a display apparatus
is shown. The user will view a song list 12 such as that shown on the left
side of page 10. While the user scrolls the song list, various information
is provided. For example, a song's standing in the charts at that
particular time, its length and any other information pertinent to the
song is optionally provided. Because a song's current standing in the
charts is information which can change at any given moment, such
information when available is automatically downloaded to the user while
the user maintains access to the page. New songs which are released may
also be downloaded to the user while the user maintains access to the
page. Moreover, as the user is scrolling through the song list, still
photographs or video clips of the performances by the artists are also
provided.
The user will use the click of a mouse, or other input device, to choose a
song 14 on the song list 12. As shown in FIG. 2, a user chose the song Boy
Meets Girl by TRF. To the right side of the song list on the page,
graphics, animation or a video 16 by the group TRF are shown. As the song
plays, the words to the song are also displayed. As shown in FIG. 2, the
words are "Woo woo woo wo, BOY MEETS GIRL."
As the song continues to play and new verses are sung by the performer, the
words displayed will change. Words (ASCII data) 18 may be displayed, for
example, in segments or one at a time. In either event, the words
displayed are synchronized with the words sung by the performer. In the
case where a segment of words is displayed, the words on the screen are
simultaneously highlighted against the background 22. Highlighting may
instead be provided, for example, in a traditional bouncing ball format.
An applet delivering multimedia content in accordance with this invention
therefore includes the multimedia content data as well as instructions for
providing the synchronization of different multimedia elements as will be
described in detail below with reference to FIGS. 8-10.
The initial applet or applets delivered to the user may provide a number of
choices to the user. The flowchart of FIG. 3 shows steps to carry out a
selection process provided by the initially delivered applet or applets.
When the user accesses a Web page 10 at box 30, he/she may make a choice
from ASCII song list 14 at box 32. As mentioned above, components such as
graphics, video and audio may also be delivered by an initial applet at
box 34. Thus, as the song list scrolls at box 34, graphics, video, audio
cuts from the songs or ASCII data such as a song's current standing may be
accessed at boxes 36 and 38. Having decided upon a song, the user clicks
to indicate his/her choice at box 42. User options include whether the
song should be played with or without vocals at box 44; whether to raise
or lower the key at box 46; a record of the number of times the song has
been played by the user at box 48; whether to display video or graphics by
the artist for an additional fee at box 52; whether to abort choice at box
54. Alternatively, the choices between boxes 44-54 may be suppressed or
not offered. The selection is played at box 56. Once concluded, at box 58
the choice of whether to continue or to end is provided at boxes 62 and 64
respectively. Moreover, one of the above described user option boxes can
include other features, such as to choose the language in which the
vocalization is sung, for example, English or Japanese; whether the voice
is female or male, tenor, alto or soprano; whether the voice is to sing a
harmony with the original base melody; or whether to change the tempo or
style of the song, for example, to a rap version, a easy listening version
or country version.
After an initial applet is delivered, the multimedia content is delivered
upon request, providing that the user has been authenticated. Turning to
the flow chart of FIG. 4, when the user clicks on a home page with the
browser, a server delivers the most current applet at boxes 84 and 86.
After the song selection at box 42 (see FIG. 3) the applet calls back to
the database (stored on main server 72 or a subserver) to request audio,
video, timing and lyric information at box 88. At box 92, to deliver the
content in a synchronized manner, the applet forks threads of control to
fetch various data as shown the next boxes, 94, 96, 98, 102 and 104. At
box 106, when the data is delivered to the user's computer system, it is
assembled and played.
Since the delivered content data is encrypted, a key is needed for a user
to decrypt it. The key may have been delivered with the initial applet or
later. In any event, the key will not be provided to the user until the
user has been authenticated. Authentication, for example, includes
verifying payment data, a user password or a handshake with a form of
personal identification such as a PCMCIA-based card, for example, a
credit, debit, prepaid cash card or smart card.
FIG. 6 is a flowchart of the authentication thread 104 of FIG. 5. The
authentication of this invention includes cryptographic portion and
security access portions that control permissions for users to access
songs, registration of usage of songs, data encryption of digital data,
and valid usage lifetime of encrypted data (cf. http//www.omg.org follow
links to security API for CORBA). That is, after an initial applet is
delivered, and a user makes a choice and a request at box 108,
authentication may be delivered before, at the same time or after the
multimedia content elements are delivered depending on, for example, where
particular threads of the applet shown in FIG. 4 are stored. Encrypted
data is downloaded to the user at box 114 and stored on the user's
computer system.
Upon authentication, a key is provided to the user to decrypt the
multimedia content data so that the | | |