U.S. patent application number 15/094441 was filed with the patent office on 2017-02-23 for systems and methods for sharing video with advertisements over a network.
This patent application is currently assigned to VideoShare LLC. The applicant listed for this patent is VideoShare LLC. Invention is credited to Guillaume Boissiere, Christopher Dodge, Gad Liwerant.
Application Number | 20170055010 15/094441 |
Document ID | / |
Family ID | 48538551 |
Filed Date | 2017-02-23 |
United States Patent
Application |
20170055010 |
Kind Code |
A1 |
Liwerant; Gad ; et
al. |
February 23, 2017 |
SYSTEMS AND METHODS FOR SHARING VIDEO WITH ADVERTISEMENTS OVER A
NETWORK
Abstract
A user can create a video segment or employ an existing video
segment, upload the segment to a server, indicate an advertisement
to be associated with the video, and then send it to a recipient
over a computer network. The user provides an indication that one
or more particular video segments and advertisements are to be
shared over the network. An identifier for the video segment is
automatically created and the segment and the identifier are
automatically uploaded to a host computer over the network such as
the Internet. The video segment, the identifier (optionally with
other identifying material such as an identity of the sender, and
an advertisement selected by the sender can be stored at the
direction of the host computer.
Inventors: |
Liwerant; Gad; (Chestnut
Hill, MA) ; Dodge; Christopher; (Belmont, MA)
; Boissiere; Guillaume; (Scottsdale, AZ) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
VideoShare LLC |
Chestnut Hill |
MA |
US |
|
|
Assignee: |
VideoShare LLC
Chestnut Hill
MA
|
Family ID: |
48538551 |
Appl. No.: |
15/094441 |
Filed: |
April 8, 2016 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
14597491 |
Jan 15, 2015 |
|
|
|
15094441 |
|
|
|
|
13909876 |
Jun 4, 2013 |
8966522 |
|
|
14597491 |
|
|
|
|
09631583 |
Aug 3, 2000 |
8464302 |
|
|
13909876 |
|
|
|
|
09497587 |
Feb 3, 2000 |
|
|
|
09631583 |
|
|
|
|
60147029 |
Aug 3, 1999 |
|
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
H04L 67/06 20130101;
H04N 21/812 20130101; H04N 21/2743 20130101; H04N 21/2353 20130101;
H04N 21/6125 20130101; H04N 21/23439 20130101; H04N 21/8586
20130101; H04N 21/8456 20130101; H04N 21/4751 20130101; H04N
21/4786 20130101; H04L 67/02 20130101; H04N 21/23424 20130101; H04N
21/2181 20130101; H04N 21/854 20130101 |
International
Class: |
H04N 21/234 20060101
H04N021/234; H04N 21/81 20060101 H04N021/81 |
Claims
1. A method of associating an advertisement with a streaming video,
comprising: executing, by a first computer on a network: receiving
an advertisement; storing the advertisement to a storage device;
associating the advertisement with a streaming video that is
embedded in a web page, wherein the streaming video file has an
associated identification tag identifying the streaming video file
and the identification tag is embedded in a webpage; and
transmitting, via a web page, the advertisement to a second
computer on the network.
2. A system for associating an advertisement with a streaming
video, comprising: a first computer for receiving an advertisement;
a second computer for storing the advertisement to a storage
device; a third computer for associating the advertisement with a
streaming video that is embedded in a web page, wherein the
streaming video file has an associated identification tag
identifying the streaming video file and the identification tag is
embedded in a webpage; and a fourth computer for transmitting, via
a web page, the advertisement to a fifth computer.
Description
RELATED APPLICATIONS
[0001] This application is a continuation application claiming the
benefit of and priority to co-pending U.S. patent application Ser.
No. 13/909,876, filed on Jun. 4, 2013, which is a continuation of
U.S. patent application Ser. No. 09/631,583, filed Aug. 3, 2000,
now U.S. Pat. No. 8,464,302, which is a continuation-in-part of
abandoned U.S. patent application Ser. No. 09/497,587, filed Feb.
3, 2000, which is based on and claims priority to expired U.S.
Provisional Patent Application No. 60/147,029, filed Aug. 3, 1999.
The entireties of these applications are incorporated by reference
herein.
FIELD OF THE INVENTION
[0002] This invention relates generally to the distribution of
video segments. More particularly, the invention relates to sharing
in streaming video format over a network a video to which an
advertisement selected by the sender of the video has been
attached.
BACKGROUND
[0003] A video can be sent over a computer network as a file
attachment to an electronic mail (e-mail) message. With this type
of transmission, the entire video file must be transmitted and
received before the receiver can view the video. For large files,
the time required to complete such transmissions can be longer than
the actual playing time of the video. Also, this type of
transmission typically requires multiple computer programs to
perform all of the necessary functions, including an e-mail
application program to send or receive the video in computer file
form, and a second program to play or display the video from the
received file attachment. With this type of transmission, it is
difficult to control the delivery time of the video, and it is
difficult to share or forward the received video.
[0004] A video can be posted to a World Wide Web ("Web") page. In
order to provide a video in this manner, a server computer
connected to the Web must be used to host the Web site, and
software packages must exist and be used to prepare the video, and
transmit it over the Web using the File Transfer Protocol (FTP or
ftp) or the HyperText Transfer Protocol (HTTP or http). To
implement this type of video posting, at least a detailed knowledge
of various computer communication protocols is required.
SUMMARY OF THE INVENTION
[0005] It is an object of this invention to provide methods and
systems for sharing video segments over a network, to which video
segments a sender of a video segment can attach an advertisement of
the sender's choosing. The video segment and associated
advertisement can then be streamed over the network, for example
the Internet, to a receiving computer such that a person at the
receiving computer can view the video segment and the associated
advertisement.
[0006] In accordance with the present invention, full motion video
can be automatically uploaded to a video server and can then be
associated with an advertisement selected by the sender of the
video. The video and associated advertisement can be accessed by
any number of viewers after each viewer has been provided with an
identifier of the video. The video identifier can in general be an
identification tag which identifies where and/or how the video can
be accessed, for example a network address, or a universal resource
locator ("URL"). The video can also be identified with an image
that represents the content or subject matter of the video, so that
the video can readily be identified when held in a collection of
videos. Such identifiers as file names that are useful in a
computer file processing, storage and retrieval system can further
identify the video.
[0007] In one aspect, the invention features a method of sending a
video segment and an associated advertisement over a computer
network. The method includes (a) acquiring a video segment at a
computer system, (b) acquiring one or more advertisements at the
computer system, (c) offering to a sender an opportunity to
indicate a selection of an advertisement of the one or more
advertisements to be associated with the video segment, and (d)
accepting from the sender the indication of a selection of the
advertisement to be associated with the video segment, the video
segment and the advertisement to be sent over the computer network.
The method further includes, in response to the indication accepted
in step (d), automatically at the computer system assuring that the
video segment is in a streaming video format, creating an
identifier for the video segment, associating the video segment and
the advertisement, and sending the video segment, the identifier,
and the associated advertisement over the computer network to a
receiving computer system.
[0008] In one embodiment, the step of offering to a sender an
opportunity to indicate a selection of an advertisement of the one
or more advertisements includes a criterion selectable by the
sender. The criterion can be one of a subject of the advertisement,
a length of the advertisement, and a remuneration paid for
selecting the advertisement. The criterion can include
affirmatively leaving the selection to the determination of the
server computer system.
[0009] In one embodiment, the step of offering to a sender an
opportunity to indicate a selection of an advertisement of the one
or more advertisements can include a default selection to be made
if the sender fails to indicate a selection. The default selection
can include a substantially randomized selection of an
advertisement.
[0010] In another aspect, the invention relates to a method of
sending a video segment and an associated advertisement over a
computer network. The method includes (a) uploading a video segment
from a sender computer system to a server computer system, (b)
selecting, using the sender computer system, an advertisement
stored at the server computer system, and (c) transmitting from the
sender computer an indication of an intent to send the video
segment and the advertisement over the computer network, the
indication causing the server computer system automatically to
assure that the video segment is in a streaming video format, to
create an identifier for the video segment, to associate the video
segment and the advertisement, and to send the video segment, the
identifier, and the associated advertisement over the computer
network to a receiving computer system.
[0011] In one embodiment, selecting an advertisement can include
selecting an advertisement using a criterion chosen by an operator
of the sender computer system. The criterion can be one of a
subject of the advertisement, a length of the advertisement, and a
remuneration paid for selecting the advertisement. The criterion
can include leaving the selection to the determination of the
server computer system. The selection can include a substantially
randomized selection of an advertisement. The selection can be
based on a price paid by an advertiser.
[0012] In one aspect the invention involves a system for sending a
video and an associated advertisement over a computer network. The
system includes a first computer system for connection to other
computer systems over a computer network. The first computer system
includes a first module operating on the first computer system for
acquiring a video segment, a second module operating on the first
computer system for generating an identifier associated with the
video segment, a third module operating on the first computer
system for accepting an indication of intent to send the video
segment to another computer, a fourth module operating on the first
computer system for automatically sending the video segment and the
identifier over the computer network to a receiving computer, and a
fifth module operating on the first computer system for accepting
from a sender an indication of an advertisement to be associated
with the video segment and for transmitting the indication to
another computer. The system also includes a second computer system
comprising storage and for connection to other computer systems
over the computer network. The second computer system includes a
sixth module operating on the second computer system for
automatically receiving the video segment and its associated
identifier sent by the first computer system over the computer
network, a seventh module operating on the second computer system
for storing an advertisement, an eighth module operating on the
second computer system for associating the advertisement with the
video segment, a ninth module operating on the second computer
system for storing the video segment and associated identifier in
the storage, a tenth module operating on the second computer system
for receiving an indication to associate the stored video segment
and the advertisement, an eleventh module operating on the second
computer system for automatically assuring that the video segment
is in a streaming video format, and a twelfth module operating on
the second computer system for sending the video segment, the
identifier, and the associated advertisement from the storage to a
receiver computer system.
[0013] In one embodiment, the system further includes a thirteenth
module operating on the second computer system for determining a
price to be charged for one or more of storing the advertisement,
associating the advertisement with the video segment, and sending
the video segment, the identifier, and the associated advertisement
from the storage to the receiver computer system. In one
embodiment, the module can determine the price based on a number of
transmissions of the video and the associated advertisement
multiplied by a rate of charge per transmission. The rate of charge
can be based on one of a type of video, a length of the video, and
a quality of the video. In another embodiment, the module can
determine the price based on a fixed price. Alternatively, the
module can determine the price based on a percentage of a sales
amount incurred in response to the advertisement.
[0014] In one embodiment, the system further includes a module
operating on the second computer system for obtaining from a user
of the first computer an indication of which advertisement is to be
associated with the video sent by the first computer. The module
for obtaining an indication of which advertisement is to be
associated with the video can use a criterion for the association.
The criterion can be one of a subject of the advertisement, a
length of the advertisement, and a remuneration paid for selecting
the advertisement. In yet another embodiment, the module for
obtaining an indication of which advertisement is to be associated
with the video can use a criterion for the association that
includes leaving the selection to the determination of the server
computer. The selection can include a substantially randomized
selection of an advertisement.
[0015] In still another embodiment, the system further includes a
fourteenth module operating on the second computer system for
determining whether an operator of the receiver computer system is
present during the presentation of the advertisement.
[0016] In a further embodiment, the system further includes a third
computer system for connection to other computer systems over a
computer network, the third computer system including a fifteenth
module operating on the third computer system for determining
whether an operator of the receiver computer system is present
during the presentation of the advertisement. The fifteenth module
for determining whether an operator of the receiver computer system
is present during the presentation of the advertisement can include
a module that causes the display of the advertisement to pause, and
a module that senses if an action is performed by the viewer of the
advertisement. The module that senses if an action is performed by
the viewer of the advertisement can sense one of a button
activation, a switch activation, an activation of a pointing
device, a response to a prompt, and a physical response of the
viewer. The prompt can be in the form of a question. The physical
response of the viewer can be one of a voluntary action and a
physiological response.
[0017] In a still further embodiment, the system further includes a
module that determines what events will transpire in response to
the action by the viewer. The module that determines what events
will transpire in response to the action by the viewer can cause
the commencement or resumption, as appropriate, of the display of
one of the advertisement and the video segment; it can cause one of
the advertisement and the video segment to terminate; and it can
cause a predetermined response to occur if the viewer fails to take
action within a predefined time interval.
[0018] In yet another embodiment, the system further includes a
module that reports one of the action of the viewer and the time of
the action to the second computer.
[0019] In a still further embodiment, the system further includes a
sixteenth module operating on the second computer system for
determining a payment to be made to one of a sender of an
advertisement associated with a video segment and a viewer of the
advertisement.
[0020] The foregoing and other objects, aspects, features, and
advantages of the invention will become more apparent from the
following description and from the claims.
BRIEF DESCRIPTION OF THE DRAWINGS
[0021] The objects and features of the invention can be better
understood with reference to the drawings described below. The
drawings are not necessarily to scale, emphasis instead generally
being placed upon illustrating the principles of the invention.
[0022] FIG. 1A is a schematic embodiment of a process and system
for obtaining a video segment, uploading the video segment to a
server, and sending the video segment to a recipient, according to
the invention.
[0023] FIG. 1B is a schematic diagram of a process and system for
selecting and associating an advertisement to the video which is
obtained, uploaded, and sent to a recipient as in FIG. 1A,
according to the invention.
[0024] FIG. 2 is an embodiment of a system according to the
invention, including the interactions and interrelationships within
the system.
[0025] FIG. 3A is a functional block and flow diagram of an
embodiment of the invention.
[0026] FIG. 3B is another functional block and flow diagram of an
embodiment of the invention, showing from the sender's perspective
the steps in associating a video with an advertisement.
[0027] FIG. 3C is another functional block and flow diagram of an
embodiment of the invention, showing from the host computer's
perspective the steps in associating a video with an
advertisement.
[0028] FIG. 4 is a login screen on a user's computer, in one
embodiment of the invention.
[0029] FIG. 5 is a record/playback screen as seen by the user, in
accordance with an embodiment of the invention.
[0030] FIG. 6A is a flow diagram of an embodiment of the invention
in which software automates a number of steps in connection with
the uploading of a video segment.
[0031] FIG. 6B is a flow diagram of another embodiment of the
invention in which software automates a number of steps in
connection with the uploading of a video segment.
[0032] FIG. 6C is a flow diagram of an embodiment of the invention
in which software automates a number of steps in connection with
the formatting of a video segment.
[0033] FIG. 6D shows the relationship of some of the files created
in the flow diagram of FIG. 6C.
[0034] FIG. 6E is a flow diagram of a method by which an optimally
formatted video segment is sent to a user according to the
invention.
[0035] FIG. 7 is a screen as seen by the user, the screen
indicating that file processing is occurring.
[0036] FIG. 8 is an interactive screen used to determine the
desires of the individual who sends a video for storage.
[0037] FIG. 9 is a video playback screen seen by the user.
[0038] FIG. 10 is a screen used by the user to control the status
of a video queue.
[0039] FIG. 11 is a screen used by the user to control the
operational settings of equipment associated with the user's
computer.
DESCRIPTION
[0040] Referring to FIG. 1, a user of the system, such as a private
individual working from home, or a professional working from a
business, employs a computer system 10. The computer system 10 can
include a computer which can be a personal computer of conventional
type such as a desktop or laptop computer, a hand held device such
as a PDA, or a more powerful computer such as a workstation, a
server, a minicomputer, a mainframe, or the like. The computer
system 10 can operate software including a web browser such as
Microsoft Internet Explorer or Netscape Navigator or Communicator
or the like, for communication over a network such as the Internet
via the World Wide Web (hereinafter "the Web"), or to permit
wireless communication. The computer system 10 can operate software
that can manipulate video segment files. The computer system 10 can
communicate with video sources, such a video cameras and video
recording machines, if the user wishes to employ such sources.
Conventional commercially available personal computers typically
have sufficient capability to meet these requirements. The computer
system 10 can also employ video segments generated digitally by the
computer and appropriate software, or by another computer, if the
user wishes to employ such techniques. In one embodiment, the
computer system 10 operates a software package called VideoShare
Producer 20, which will be described and explained in more detail
below.
[0041] The VideoShare Producer 20 is a software application package
that the user can download from the Web site www.VideoShare.com 50
or that the user can obtain in other formats such as on a CD-ROM or
bundled with other software or hardware. The VideoShare Producer 20
software can be operated by the user under his control on his
computer, in the computer system 10, in order to provide the
capability of recording, converting, and optionally, compressing
video segments, creating one or more identifiers for a video
segment, and transmitting a video segment with one or more of the
identifiers to a host computer 60 operating under the control of a
host such as www.VideoShare.com 50 for storage at a location under
the control of the host computer 60. The host computer 60 will be
described further below.
[0042] An indicator from a user of a system and or method according
to the invention of an intent to send the video segment over the
computer network is accepted and, in response to the indication,
the video segment is automatically sent as a machine-readable file
together with its associated identifier over the computer network
to a receiving computer, thereby allowing the sent video segment
and its associated identifier to be stored at the direction of the
receiving computer and thereafter streamed out over the
network.
[0043] The computer in the computer system 10 of the user one can
be connected to one or more kinds of equipment for generating video
segments, such as a video camera such as a Web cam 12 or another
type of video camera such as a professional quality video camera.
The computer in the computer system 10 of the user can be connected
to one or more kinds of equipment for providing prerecorded video
segments, such as a video recorder 14, or another computer that can
create digital video segments through the use of suitable software,
such as for example digital video segments that have been created
for various commercial films, or the like. Once the user has
obtained a video segment, and has manipulated it according to the
procedures described below with regard to the operation of the
VideoShare software package, or its equivalent, the video segment
with one or more identifiers is transmitted to the host computer
60.
[0044] The host computer 60 includes one or more server computers
62, 62', 62'' that communicate via a network such as the Web with
other computers, such as the computer in the user's computer system
10. The one or more server computers 62, 62', 62'' also communicate
with a storage array 64, or optionally with a plurality of storage
arrays substantially similar to storage array 64. The storage array
64 can be any convenient storage system, such as a redundant array
of magnetic storage disks, one or more readable and writeable
CD-ROMs, random access semiconductor memory, any combination of
such storage devices, or the like. In one embodiment, the host
computer 60 operates the www.VideoShare.com 50 Web site, and
provides a video hosting service to one or more users. The host
computer 60 can connect via the Web and the web site
www.VideoShare.com 50 to one or more computers that comprise the
Web, conceptually denoted by the box 70, which, while not a part of
the www.VideoShare.com 50 Web site, appears to be transparent to
users of the www.VideoShare.com 50 Web site, as well as to viewers
of video segments that are being hosted by the host computer
60.
[0045] Viewers, or individuals who desire, or are invited, to view
video segments hosted on the host computer 60, can access video
segments hosted on the host computer 60. As will be described in
more detail below, in one embodiment, video segments can be hosted
on host computer 60 in areas that are open to the public, or can be
hosted in other areas that are open only to viewers who have the
appropriate permission or authorization to view a specific video
segment. A hosted video segment that is stored and controlled by
the host computer 60 may be delivered to and displayed for a viewer
in a variety of formats, and through a variety of methods, as
denoted generally by the box 80. In different embodiments, a video
segment can be displayed as: a video greeting card 81, such as a
person wishing another a happy birthday; as video email 82, as
video that can be viewed on a remote website 83 (e.g., a video
segment embedded into the remote website so that a viewer who
visits the remote website sees the video segment as part of the
page that is presented); as video commerce 84, for example a video
that depicts a person describing his or her experience and training
as part of a resume submitted on-line; or as a video advertisement
85, for example a video depicting the benefits or showing the use
of a product. Many other like applications of the technology can be
envisioned. In various embodiments, the video segment can be made
available to the viewer as a streaming video that is sent to the
viewer, or may be made available by sending the viewer a message
such as an email that contains an address of a location to visit on
the Web (e.g., a Universal Resource Locator, or URL), or may be
made available by sending the viewer a message that contains an
embedded link to a URL, for example by sending an e-mail containing
the link or by sending a still image that may have some interest to
a viewer (e.g., sending a grandmother a still image of her
grandchildren) to which a link is attached (e.g., the still image
is linked to a streaming video of the grandchildren that is
delivered and that plays when the still image is clicked). In the
latter two methods of making a video segment available, or in like
methods, the viewer must take some action, such as employing the
URL or activating the link. In some embodiments, the viewer can use
a hand held device such as a PDA or a cellular telephone that can
connect to a network such as the Internet to view the video
segment.
[0046] FIG. 1B is a schematic diagram that shows a process and
system for selecting and associating an advertisement to the video
which is obtained, uploaded, and sent to a recipient as in FIG. 1A.
In FIG. 1B, an exemplary advertiser 30 submits an advertisement to
an advertisement database 63 which is part of the VideoShare host
computer 60 of FIG. 1A, and which is accessible by the host
computer 60. The advertisement can be a video clip, a still image,
or an audio file, or it can be a combination of two or more of
these formats. The advertisement is recorded in the advertisement
database 63, which is a machine-readable medium. The submission of
the advertisement by the advertiser 30 is depicted by the arrow 32.
There can be a plurality of advertisers 30 and each advertiser 30
can submit one or more advertisements for posting in advertisement
database 63.
[0047] According to the principles of the present invention, when
exemplary user (or sender of a video) 40 uploads a video, using the
user's computer 10 (which can also be referred to as sender
computer 10), to the host computer 60, the host computer 60, using
software that operates on the host computer 60, offers the sender
40 an opportunity to indicate a selection of an advertisement of
the one or more advertisements posted to advertisement database 63
to be associated with the video segment that sender 40 has uploaded
to the host computer 60. The sender 40 can be shown all or part of
one or more advertisements, which can be categorized by type (e.g.,
areas of interest such as consumer goods, travel, entertainment,
household goods, financial products, business services, hobbies,
recreation, and the like), which can be categorized by duration,
and which can be categorized by an amount the advertiser is willing
to pay a sender and/or a viewer. The advertisements can also be
categorized in many other ways. In an alternative embodiment, the
sender 40 can specify types of ads that he or she wants shown. In
yet another embodiment, the host computer 60 (or the entity that
controls it) can select which advertisement will preferentially be
offered to the sender 40 as part of the group of advertisements
that are available.
[0048] Bidirectional arrow 34 denotes a process in which the host
computer 60 offers the opportunity to the sender 40 to experience
various advertisements, using sender computer 10 and software that
is present and operating on sender computer 10, and the sender 40
can respond, using sender computer 10 and its associated software,
to the host computer 60 by selecting one or more advertisements for
association with the video that the sender 40 has uploaded to host
computer 60. The sender 40 can transmit from the sender computer 10
an indication of an intent to send the video segment and the
advertisement over the computer network to a recipient 92.
[0049] In response to receiving the indication, the host computer
60 and its associated server computer system 62, 62' automatically
perform a series of actions. The actions include assuring that the
video segment is in a streaming video format, creating an
identifier for the video segment, associating the video segment and
the advertisement, and sending the video segment, the identifier,
and the associated advertisement over the computer network to a
receiving computer system, such as computer 90 of FIG. 2, where the
recipient 92 can view the video segment and the associated
advertisement. The video segment, with or without an associated
advertisement, can also be referred to as a video message. The
process of sending the video message to the recipient 92 is
schematically denoted by the arrow 36 from the sender 40 to the
recipient 92. The entire process will be described in further
detail below.
[0050] In FIG. 2, the exemplary advertiser 30 sends an
advertisement to the host computer 60, which includes servers 62,
62', advertisement database 63, and storage 64, from a computer 75
that is connected to host computer 60 by a computer network, as
depicted by arrow 32. It is also possible for an advertiser to
transmit an advertisement recorded in machine-readable form on any
convenient machine-readable storage medium.
[0051] A machine-readable medium can be used to record any
information that can be presented in digital format, including
computer code, text, images, sounds and the like. The information
can include advertisements, videos, audio information or the like,
or it can include computer instructions, data, or other matter
useful in operating digital equipment. The information is typically
recorded on the machine-readable medium as one or more symbols in a
file. The machine-readable medium can be, for example, a computer
floppy disk, a computer hard drive, a magnetic tape or the like, a
CD-ROM, computer memory such as static or dynamic RAM, ROM, PROM,
EPROM or the like, and/or any other mechanism or medium for storing
machine-readable files, instructions, data or software. In a
network, the machine-readable medium can be physically attached to
a computer different from one on which the data may be used, or the
software may operate. For example, in a network, an archival copy
of software can reside on one computer and a copy can be copied to
another computer, where the copy is executed or otherwise used. If
transfer time is not an issue, as when a viewer of a video puts off
viewing to a later time, a file containing data or information
(such as a video, a text file, a database file, a spreadsheet
template or the like) may reside on the same computer as the one
that received the file, or on a different computer that stores the
file for the convenience of the viewer. These are only some
examples of commonly available machine-readable media, and it will
be apparent to those of ordinary skill in the computer arts, that
many other kinds of machine-readable media can be used with equal
effect.
[0052] The advertisement that the advertiser 30 sends to the
advertiser database 63 from the advertiser computer 75 can be
created in any manner that can be used for making advertisements,
for example, by having a professional advertisement agency oversee
the making of one or more advertisements. The exact manner in which
the advertisement is peripheral to the invention, but there are
mechanisms by which one or more advertisements from one or more
advertisers 30 come to be posted on the advertisement database 63.
An advertiser can be charged a fee for posting and/or storing an
advertisement, for associating the advertisement with the video
segment, and for sending the video segment, the identifier, and the
associated advertisement from the host computer 60 and its
components to the receiver computer system 90 of a viewer 92.
[0053] Many different approaches to determining a price that an
advertiser will be charged are possible. Advertisers can be charged
a premium price to get preferential placement on an advertisement
selection page of the host computer 60. Prices for such
preferential placement can be determined by an auction mechanism.
Alternatively, the operator of the host computer 60 can attempt to
match prices advertisers 30 are willing to pay for advertising with
the remuneration that senders 40 and viewers 90 are prepared to
accept.
[0054] Similarly, there are many ways that senders 40 and viewers
92 of advertisements may be induced to participate. Examples of
possible schemes to remunerate senders 40 and viewers 92 can
include paying a sender 40 a set price based on the number of times
an advertisement is viewed, paying a sender 40 based on a scale
that increases with volume of ad views, and paying a viewer 92 for
viewing an advertisement. The payment can take the form of money,
in-kind payments (e.g., free services), and other incentives,
including special promotions based on the number of advertisements
sent or viewed.
[0055] In FIG. 2, the computer 16 of the user's computer system 10
is shown. The box 18 is intended to schematically depict a user of
a computer video input device, which device can be the computer 16
operating suitable software to generate digital video, or can be
another such computer, or can be the web cam or video camera 12, or
can be the video recording device 14, or the like. The video input
device can be a Web camera, a personal computer, a laptop computer,
a personal digital assistant or PDA, a video cassette recorder or
VCR, a video camera, a movie camera, a video game console or any
device that can be configured to upload video segments and images
to the video server. The user begins by producing and or recording
a video segment on the hard disk of the computer 16 or within the
temporary memory of a handheld device. As a second step, the video
segment of step 1 can optionally be compressed and/or can be
changed as regards the computer file format in which it is recorded
on the hard disk. This is depicted by arrows 11 and 13, between the
steps of Produce/Record Video on the Hard Disk, and Possible
Compression/Format Change to the Video.
[0056] As a third step, the video segment recorded on the hard
drive of the computer 16 is transmitted with one or more
identifiers to the host computer 60 that includes the VideoShare
servers 62, 62' and the storage array 64. The video segment is
stored under the control of the host computer 60, which can
generate an identification tag that the host computer 60 can use to
locate the stored video segment for retrieval and for viewing. A
video segment can be uploaded to the video server over a network
such as the Internet or by the use of wireless communication, or by
a combination of both. The video server can include local or remote
storage for storing the uploaded video images. A video segment can
be accessed from the video server over a network such as the
Internet or by the use of wireless communication, or by a
combination of both.
[0057] In different embodiments, the identification tag can be
provided to a user in the form of a URL, or can be embedded into a
Web page on a remote site, or can be linked to a message. In one
embodiment the message can be a still image that can be selected
from the video segment. The third step is schematically depicted by
the arrow 34a pointing generally from the computer 16 to the
VideoShare servers 62, 62'.
[0058] A fourth step involves offering the sender 40 the
opportunity to associate an advertisement with the uploaded video,
as described before. This is represented by the arrows 34a and 34b,
in a manner similar to that of FIG. 1B.
[0059] As a fifth step, the user who stored the video can send a
message to an intended viewer, so that the viewer can access and
view the video segment. The fifth step is schematically depicted by
the arrow 17 pointing generally from the computer 16 to the
computer 90 of the viewer. The box 92 is intended to schematically
depict a user of a display device. In one embodiment, the display
device can be the computer 90, or the display device can be a
display device such as a Web TV, or can be a video output device
such as a television set with a suitable decoder, or the like. The
video output device can be any device that can be configured to
allow a user to access and view the video segments and images
including but not limited to a television, a computer, a PDA, a
video camera, or a video game console. The display device can also
be a wireless hand held device such as a PDA or a cellular
telephone or the like.
[0060] In a fifth step, the viewer activates the viewing of the
video segment. The viewer's action is indicated schematically by
the arrow 19 pointing generally from the computer 90 to the server
computer 62, 62'. In one embodiment the viewer activates a link by
clicking a button, and the server computer 62, 62' responds by
sending a streaming video segment that the viewer observe. The
streaming video segment can in one embodiment be delivered as part
of a video greeting card 81. In an alternative embodiment, the
video can be delivered as a streaming video directly to the viewer
from the host computer 60, without the viewer having to activate
the host computer 60. The viewer 92 can, in different embodiments,
take certain actions, as will be described below, in response to
the video, it associated identifier, and the associated
advertisement being send to the viewer 92. These actions will be
addressed in more detail below.
[0061] As shown in FIG. 3A, the user can obtain a copy of the
VideoShare Producer 20 software by downloading a copy of the
software from the Website www.VideoShare.com 50, as indicated by
the picture at numeral 1. The term VideoShare Producer 20 software
as used herein is intended to include the software that is required
to interact with the host computer 60 to effectuate the necessary
actions associated with dealing with advertisements. Alternatively,
the user can obtain a copy of the VideoShare Producer 20 software
on machine readable media such as a CD-ROM or the like. The
VideoShare Producer 20 software can be bundled with one or more
utility or application programs that are useful for a user to have,
such as a "container" application so that the VideoShare Producer
20 software can be operated on a desktop computer. The user can
install the VideoShare Producer 20 software on his or her computer
16 and can register with the VideoShare.com hosting service at no
charge. In registering for the VideoShare service, the user obtains
a username and a password that can be used to identify the user.
The activity of installing the VideoShare Producer 20 software on
the user's personal computer or the like and registering with the
VideoShare system is indicated by the picture at the numeral 2.
[0062] In order to use the system, the user first obtains a video
segment. The user can create the video segment, for example with a
Web cam 12, or the user can use an existing video segment obtained
from a video recorder 16, as indicated by the picture at the
numeral 3. The VideoShare Producer 20 software has direct capture
capabilities that permit the user to create the video segment.
[0063] The user can employ the VideoShare Producer 20 software to
optionally compress the video; to determine if a video segment is
in a format that is compatible with streaming video; to convert the
video to a file format that is compatible with streaming video if
the video segment is not already in a file format that is
compatible with streaming video; and to transmit the video segment
together with one or more identifiers that represent selections
that the user can make (for example, a still image selected from
the series of images that comprise the video segment, an identifier
of the sender of the video segment (e.g., the user), an access
privilege associated with the video segment, information indicative
of a time period during which the video segment will be accessible,
and information indicative of a number of instances that the video
segment may be accessed). The identifier is associated with the
video segment. The activities carried out in conjunction with the
VideoShare Producer 20 software are generally indicated by the
graphic at numeral 4.
[0064] The video segment and the identifier(s) are transmitted to
the host computer 60 for storage and for later distribution. In one
embodiment, the video segment is transmitted in a streaming video
file format. This transmission activity is denoted by the graphic
at numeral 5.
[0065] The video segment is stored under the control of the host
computer 60, which can include one or more server computers 62 and
storage array 64. The activity of receiving the video segment at
the host computer 60 and storing the video segment and its
identifier(s) is denoted by the pictures at numeral 6.
[0066] Depending on the choice of the user as to access privileges,
the video segment can be stored as a publicly available video in a
location in storage array 64 that has no restrictions on access, or
it can be stored in a portion of storage array 64 that requires
some form of authorization to enable access, such as in a private
email account area. The storage of the video segment as a public or
private video segment is denoted by the pictures at numeral 7.
[0067] Upon request from a viewer who has the proper authorization,
or upon any request in the case of a video segment available
publicly, the host computer 60 sends the video in streaming video
format to a viewer, who can observe the video in real time using a
conventional web browser without additional plug-in modules. The
activity of serving the video segment as a streaming video is
denoted by the graphic at numeral 8.
[0068] Additional features of the software, that specifically deal
with the interactions the sender 40 carries out with the host
computer 60 will be discussed in FIG. 3B and FIG. 3C.
[0069] FIG. 3B is another functional block and flow diagram of an
embodiment of the invention, showing from the sender's perspective
the steps in associating a video with an advertisement. At step
665(a), the sender 40 uses sender computer 10 to upload a video to
host computer 60. At step 665(b), the sender 40 receives from host
computer 60 an opportunity to select an advertisement from among
those recorded or posted in advertisement database 63. At step
665(c), the sender 40 uses sender computer 10 to select one or more
advertisements stored at the host computer 60, to be associated
with the uploaded video. At step 665(d), the sender 40 uses sender
computer 10 to indicate the user's selection to host computer 60.
At step 665(e), the host computer 60 sends a video, its identifier,
and one or more advertisements to a recipient 92 using receiver
computer 90, based on indicated intention of sender 40.
[0070] FIG. 3C is another functional block and flow diagram of an
embodiment of the invention, showing from the host computer's
perspective the steps in associating a video with an advertisement.
In step 665(a)', the host computer 60 receives a video upload from
the sender 40 using sender computer 10. In step 665(b)', the host
computer 60 offers the sender 40 an opportunity to select an
advertisement via sender computer 10. In step 665(c)', the host
computer 60 receives an indication from the sender 40 using sender
computer 10 of the selection of one or more advertisements, to be
associated with the uploaded video. In step 665(d)', the host
computer 60 receives an indication from the sender 40 using sender
computer 10 to send a video, its identifier, and one or more
advertisements to recipient 92. Optionally, step 665(d)' can be
included in step 665(c)' by inference, or it can be explicitly
performed. At step 665(e), the host computer 60 sends a video, its
identifier, and one or more advertisements to a recipient 92 using
receiver computer 90, based on indicated intention of sender
40.
[0071] FIG. 3B and FIG. 3C are identified as step 665 generally.
Step 665 appears in each of FIG. 6A, FIG. 6B and FIG. 6C, where the
one step is identified as "Select and associate advertisement." It
is intended that FIG. 3B or FIG. 3C be referred to, as appropriate,
in understanding that step 665 is in reality a series of substeps
that involve both the sender 40 using his or her sender computer 10
and the host computer 60, both computers using software that is
designed to support the necessary signaling and communication
between the two computers. As those who are familiar with software
will recognize, the software can equally well be replaced with
firmware (e.g., software code committed to a memory such as a ROM
or PROM or the like) or to hardware (e.g., circuitry designed to
transmit and to accept signals that perform substantially the same
functionality as the software). It is possible to use software,
firmware and hardware in combination, or in substitution one for
the other, to carry out such signaling and communication tasks. It
is possible to program software using one or more different
programming languages, with substantially the same effect.
[0072] The majority of the VideoShare Producer 20 software was
developed as a Windows 95, Windows 98, and Windows 2000 ("Windows
9x/2000") compatible ActiveX control (e.g. an .OCX file), with
additional components existing as active template library (ATL)
component object model (COM) components that are instantiated
during runtime. A "container application," named
"VideoProducer.exe," allows the VideoShare Producer ActiveX Control
to be executed from the Windows 9x/2000 desktop. The VideoShare
Producer Active X Control can also be embedded into a web page, as
is done within the www.VideoShare.com 50 web site.
[0073] The custom written VideoShare Producer 20 software includes
the following binary/source code components: (1) VideoShare
Producer ActiveX Control (VideoProducer.ocx); (2) JPEG ATL COM
component (jpeg.dll); (3) Thumbnail Acquisition DirectShow
(ThumbnailFilter.ax); (4) Extended MAPI interface (MapiExAPI.dll);
(5) ICQ interface (icqglue.dll); AND (6) VideoShare Upload/Database
Server (vpserver.exe).
[0074] All components, except for significant portions of the JPEG
component that uses public domain source code, were entirely
written by VideoShare Inc. The VideoShare Upload/Data Server
constantly runs at the VideoShare Hosting Facility, an embodiment
of the host computer 60, with which an installed instance of the
VideoShare Producer 20 software on a user's computer 16 can be in
constant communication. The VideoShare Producer 20 software
client/server structure allows the user to upload videos to his or
her account through the "Save and Share" button that is described
later.
[0075] The VideoShare Producer 20 software is built upon the
following third-party technologies that provide lower-level device
support, document sharing, and file format conversion: (1)
Microsoft's DirectShow; (2) Microsoft's Windows Media Technologies;
(3) Microsoft's Video for Windows; (4) MAPI; AND (5) ICQ.
[0076] When the user launches the VideoShare Producer 20 software,
he or she will see the window depicted in FIG. 4 appear on his or
her computer 16 operating the Win9x/2000 operating system. The
login screen can be made optional for repeat users by providing a
unique identifier for the user, such as a password, or by
installing on the user's computer or the like a record similar to
the "cookies" used by some interactive computer systems operating
on a network such as the Internet.
[0077] When the user enters in his or her username in the box 410
labeled VideoShare Login Name and his or her password in the box
415 labeled VideoShare Password and activates the "Start VideoShare
Producer" button 420, the VideoShare Producer 20 software opens a
TCP/IP socket connection to the VideoShare Upload/Database Server
via port 80 in order to avoid typical Firewall and/or Proxy Server
problems. If the box 430 labeled Remember password is checked, the
VideoShare Producer 20 software will remember the user's password,
eliminating the necessity to type in that information each time the
software is started. The VideoShare Upload/Database Server then
verifies the validity of the username/password. Furthermore, the
VideoShare Producer 20 software will notify the user if there is a
more recent version of the software available, giving him or her
the opportunity to automatically download and install the new
software.
[0078] Also at this point, the user can choose to work offline by
checking box 440 "Work offline", which suspends communications to
the VideoShare Upload/Database Server until the user has filled his
or her "Sharing Queue" as described later. The ability to work
offline is principally of use for people with computers that do not
have a continuously open Internet connection, e.g. computers that
use telephone modems rather than high speed connections or
equipment such as cellular telephones or hand held devices that
require the user to dial in to establish a connection. With this
login dialog, the user can also receive help, by activating the
"Help" button 450, taking the user to a web page on the VideoShare
web site. The login dialog box can also be used to create a new
VideoShare user account, by clicking the "Create Another Account"
button 460.
[0079] Once the login process has been completed, the VideoShare
Producer 20 software looks for available DirectShow audio and video
capture devices. These available devices are enumerated and listed
within the "Settings Tab" as described later. The VideoShare
Producer 20 software initializes the audio and video capture
device, by recalling as a default the device that was used most
recently.
[0080] VideoShare Producer Preview/Capture/Import Process
[0081] After the capture device initialization, the VideoShare
Producer 20 software displays the window depicted in FIG. 5.
[0082] The image 510 in the middle of the window is the video input
stream from the initialized, default video capture source. The
image in FIG. 5 is that of an employee of the assignee of the
present invention, in the offices of the assignee. The VideoShare
Producer 20 software automatically builds a DirectShow "preview
graph" where the video stream from the video device is displayed on
the screen, but is not saved to disk. This gives the user the
opportunity to adjust the camera, e.g. an opportunity to correct
the camera position, the camera focus, the camera angle, the
magnification of the image, and the like.
[0083] At the top of this window, the user is presented with five
different "tabs", each presenting the user with different aspects
of the VideoShare Producer 20 software. In FIG. 5, the tab labeled
"Record/Playback" 520 is active, indicating that the VideoShare
Producer 20 software is ready to acquire and/or display a video
segment.
[0084] At the bottom of the window, there is a status message 522
that displays the current operation of the VideoShare Producer 20
software. In FIG. 5, the status message 522 prompts the user to
either activate the Record button 531 to create a new video
segment, or to import an existing video segment by activating the
Import Video button 535, both of which are described in more detail
below.
[0085] Directly below the video preview image 510 is a
Capture/Playback Control Panel 530 that includes the following
items: [0086] Record button 531 which begins a new audio/video
capture; [0087] Stop button 532 which terminates an active
audio/video capture operation; [0088] Play button 533 which
initiates the playing back of the last recorded or imported video;
[0089] Delete button 534 which cancels the last record or import
operation and begins a new video preview; [0090] Import Video
button 535 which allows the user to select a pre-existing video
file from his or her hard drive; [0091] Save and Share button 536,
which in the present embodiment activates software modules that
convert the current video file into a compressed streaming format,
upload that converted file to the VideoShare web site, and give the
user options to distribute that video to other people; and [0092]
Shuttle Bar 537 which is used to control the current position of
the playback file together with forward button 537 and reverse
button 538, allowing the user to rewind and fast forward through
the current video.
[0093] The software modules that operate upon the activation of
Save and Share button 536 will be covered in a subsequent section
in this document in detail.
[0094] When the user begins to record a video, the VideoShare
Producer 20 software builds a new "Capture Graph" that renders the
video stream to both the display window as well as to a temporary
AVI file on the user's hard drive. The audio/video capturing
continues until the user activates the "Stop" button 532 at which
point the VideoShare Producer 20 software stops the "Capture
Graph", destroys the DirectShow filter, builds a Direct Show
"Playback Graph", and displays the first frame of the captured
video as video preview image 510. When the user activates the Play
button 533 the DirectShow "Playback Graph" is put into running
mode, playing back the entire recorded video from beginning to
end.
[0095] The user can also choose to import a pre-existing video,
which in one embodiment can be a file format selected from the AVI,
MPEG, or QuickTime file formats, by activating the Import Video
button 535. The VideoShare Producer 20 software automatically
renders the correct DirectShow filter to display an imported video
correctly.
[0096] Save and Share Process
[0097] Once a video segment has been recorded or imported into the
user's computer 16 that is running the VideoShare Producer 20
software, the user can choose to process the video segment with
various optional alternatives by activating the Save and Share
button 536. When the Save and Share button 536 is activated, the
video segment is archived and distributed automatically. The
VideoShare Producer 20 software greatly simplifies the entire
process by seamlessly automating the following steps that are
depicted in FIG. 6A: [0098] Video file format conversion, as
required; [0099] Compression to a streaming multimedia format at a
user-specified bitrate; [0100] Creating a "Thumbnail" JPEG snapshot
of the video file, as an identifier that a user or a viewer can
observe in order to assess the content of the video segment; [0101]
Transferring the resultant video and thumbnail files to the
VideoShare server computers 62, 62'; [0102] Logging the
transactions and managing the user's storage account, including
causing the generation of an identification tag that the server
computers 62, 62' can employ to retrieve the video segment for
viewing; and [0103] Automating several possible methods of
distributing the video to third party recipients, e.g.,
viewers.
[0104] In addition, the user (or sender of the video) is given the
opportunity to select an advertisement from one or more
advertisements that have been posted on the VideoShare host
computer 60 by advertisers who pay for such advertisements. The
user or sender can decide, based on the sender's knowledge or
opinion about the recipient of the video that the sender is
sending, what kind of advertisement is appropriate, the sender can
select the advertisement based on one or more criteria. For
example, the sender may know an interest of the recipient and can
use a criterion based on the recipient's interests, such as the
type of product or service that the recipient may be interested in.
The sender may know how willing the recipient is to watch an
advertisement, and can select an advertisement based on the
criterion of how long the advertisement is. The sender can select
an advertisement based on a criterion of how much the advertiser is
willing to pay the sender to attach the advertiser's advertisement
rather than another advertisement. The sender may not have a
preference, and can make a selection that leaves the choice of an
advertisement up to the VideoShare host computer 60. The VideoShare
host computer 60 can select an advertisement on the basis of a
random selection from all the advertisements available, or can make
the selection based on other criteria, such as the price paid by
the advertiser, an agreed frequency of presentation of an
advertisement, or other criteria.
[0105] FIG. 6A shows a flow diagram 600 of an embodiment of the
invention in which the VideoShare Producer 20 software automates a
number of steps in connection with uploading a video segment by
activation of the Save and Share button 536 described in FIG. 5. As
indicated at box 605, a user first obtains and selects a video
segment for processing for distribution. The box 605 schematically
encapsulates all of the actions that a user takes as described in
relation to FIGS. 4 and 5 above. When the user activates the Save
and Share button 536 the actions described below that are enclosed
by the dotted line 607 are automatically carried out under the
control of the VideoShare Producer 20 software.
[0106] The VideoShare Producer 20 software subjects the selected
video segment to analysis to determine whether the selected video
segment is or is not in a file format that is compatible with a
streaming video format, as indicated at diamond 610. Formats that
are compatible with streaming media formats include formats such as
MPEGs and QuickTime videos. If the selected video segment is not
compatible with a streaming video format, it is converted to a
compatible format, as depicted by the arrow labeled "NO" that
points from the diamond 610 to the box 615, "Convert to compatible
file format." The conversion process performed by the VideoShare
Producer 20 software creates a DirectShow filter graph that
decompresses the video file into a temporary, uncompressed AVI
file.
[0107] The video segment file in a format that is compatible with
streaming video is then temporarily stored in the user's computer
16, for example as a file on the hard drive of computer 16. This
storing step is performed if the file was originally in a format
compatible with streaming video by following the arrow marked "YES"
that points from the diamond 610 to the box 620, "Temporarily store
file." Alternatively, the storing step is performed if the file was
originally not in a format compatible with streaming video by
following the arrow that points from the box 615 to the box
620.
[0108] The apparatus and method of the invention can include
compression techniques to manage large video segments and image
files. Video segments and image files can be compressed by the
video sender before being uploaded to the server or can be
compressed by the server itself. Compression can be used to improve
the efficiency of transmission and to improve the use of
storage.
[0109] The stored temporary file representing the selected video is
then analyzed by the VideoShare Producer 20 software, as
represented by diamond 625, "Should file be compressed?" to
determine if the temporarily stored file should be compressed. If
the software determines that the file should be compressed, as
indicated by the arrow labeled "YES" that points from the diamond
625 to the box 630, labeled "Compress file," the file is
compressed. The compression involves compressing the video file to
a user-specified bitrate, or the bandwidth that is required to view
the video without disruption in the transmission. The user can
select the desired bitrate via the "Settings Tab" that is described
in more detail below. The file is then converted to a streaming
multimedia format file as indicated by the box 635, labeled
"Convert file to streaming multimedia format ("SMF") file," as
denoted by the arrow pointing from the box 630 to the box 635. If
the file is not to be compressed, the flow follows the arrow
labeled "NO" pointing from the diamond 625 to the box 635, and the
file is then converted to a streaming multimedia format file as
schematically represented by the box 635.
[0110] The process that is performed by the VideoShare Producer 20
software as denoted by the box 635 involves reading in the video
file, frame by frame, and converting the video into a streaming
multimedia format. In one embodiment, the VideoShare Producer 20
software uses the Windows Media Streaming Format, known as ASF or
WMF, but it is not technologically restricted to this choice. The
Windows Media Streaming Format comprises MPEG 4 v3 for the video
stream and the Windows Media Audio format for the audio stream. The
output of this file is stored as a temporary file on the user's
hard drive, in one embodiment.
[0111] The flow diagram indicates that the process makes a
"thumbnail" of the video file, as represented schematically by the
box 640, labeled "Create and temporarily store JPEG "thumbnail"
identifier." The VideoShare Producer 20 software produces a JPEG
still image that is used as a reference image to the entire video
file. It is an identifier of the subject matter or content of the
video that a user or a viewer can readily recognize, as compared to
an alphanumeric string such as a typical string used to identify a
file by its drive, directory (and one or more subdirectories) and
filename. Such alphanumeric identifiers are useful, but may be
totally uninformative as to the content or subject matter contained
in the identified file or video segment. In one embodiment, the
VideoShare Producer 20 software creates the "thumbnail" by taking
the "middle" image of the entire video file, as measured by the
temporal duration of the file. In another embodiment, the selection
of an image from which to make the "thumbnail" can be left to the
discretion of the user. This JPEG file is also stored as a
temporary file on the user's hard drive, in one embodiment.
[0112] The next part of the process is the upload operation, in
which the VideoShare Producer 20 software contacts the host
computer 60, which in one embodiment is the VideoShare
Upload/Database Server at the VideoShare hosting facility. This
portion of the automated process is denoted by the box 645 labeled
"Transfer ("upload") temporarily stored SMF file and JPEG thumbnail
identifier to host computer 60." The VideoShare Producer 20
software notifies the host computer 60 that the user wishes to
place his or her video into a repository maintained by the host
computer 60, which in one embodiment can be the VideoShare
VideoCenter, which is a repository of all recorded and uploaded
videos to date. This upload is performed automatically via a direct
TCP/IP socket connection over a specific connection port of the
user's computer known as port 80. The VideoShare Producer 20
software uses a standard communications protocol to perform this
transfer to the host computer 60. In another embodiment, a
proprietary protocol can be used, for example if one wants to
maintain the security of information contained in the video
segment. In another embodiment, the video segment can be encrypted
in order to provide enhanced security. Both the compressed video
streaming multimedia file and the thumbnail image are uploaded at
substantially the same time.
[0113] As schematically depicted by box 650, labeled "Delete
temporary file to conserve storage space on user's computer," the
VideoShare Producer 20 software removes all of the temporary files
that were created in the course of the automated processing
described above. This feature provides for the user a convenient,
secure, and transparent process, with the benefit that the user's
computer storage device(s), for example one or more hard drives, do
not become cluttered with unnecessary and obsolete files.
[0114] Once the upload has been completed, the VideoShare Producer
20 software and the host computer 60 (for example, the VideoShare
Upload/Database Server) will update the user's account to account
for the required storage space that the video requires. The
necessary logging, creation of an identification tag, and storing
of the video and the associated identifier or identifiers is also
performed automatically, as schematically depicted by box 655.
[0115] The user can optionally add additional identification and
control information about the user, and about how and under what
conditions the video is to be made available for distribution, as
schematically indicated by box 660. The process by which some of
this information is collected is discussed below with regard to
FIG. 8. The user is automatically prompted to provide this
information, but has the option to forego making a decision
immediately.
[0116] The user is given an opportunity to select an advertisement
that will be associated with the video, as schematically indicated
by box 665, and as discussed in more detail below.
[0117] The transmission of video segment files to viewers is
discussed in more detail below, and is represented in FIG. 6 by the
box 670 labeled "Transmit file to viewer" which is outside the
region 607 as an indication that the transmission of files to
viewers is an action beyond the material discussed above in
conjunction with the Save and Share button 536 of FIG. 5.
[0118] FIG. 6B shows a flow diagram 601 of another embodiment of
the invention in which software automates a number of steps in
connection with uploading a video segment. Many of the steps
already described in connection with FIG. 6A also occur in the
embodiment depicted in FIG. 6B, and are numbered in the same manner
as in FIG. 6A. In FIG. 6B, there is first an optional step
indicated by the box 604 labeled "Optional: User authentication
with server" in which the User is optionally required to provide
identification, such as a user name and password, that
authenticates the identity of the user to the server or host
computer 60. The user then obtains and selects a video segment for
processing for distribution, as indicated at box 605 that
schematically encapsulates all of the actions that a user takes as
described in relation to FIGS. 4 and 5 above. When the user
activates the Save and Share button 536 the actions described below
that are enclosed by the dotted line 608 are automatically carried
out under the control of the VideoShare Producer 20 software.
[0119] As discussed in relation to FIG. 6A, the VideoShare Producer
20 software subjects the selected video segment to analysis to
determine whether the selected video segment is or is not in a file
format that is compatible with a streaming video format, as
indicated at diamond 610. If the selected video segment is not
compatible with a streaming video format, it is converted to a
compatible format, as depicted by the arrow labeled "NO" that
points from the diamond 610 to the box 615, "Convert to compatible
file format." The conversion process performed by the VideoShare
Producer 20 software creates a DirectShow filter graph that
decompresses the video file into a temporary, uncompressed AVI
file.
[0120] The video segment file in a format that is compatible with
streaming video is then temporarily stored in the user's computer
16, for example as a file on the hard drive of computer 16. This
storing step is performed if the file was originally in a format
compatible with streaming video by following the arrow marked "YES"
that points from the diamond 610 to the box 620, "Temporarily store
file." Alternatively, the storing step is performed if the file was
originally not in a format compatible with streaming video by
following the arrow that points from the box 615 to the box
620.
[0121] The stored temporary file representing the selected video is
then analyzed by the VideoShare Producer 20 software, and
optionally compressed as represented by the box 623 labeled
"Optional compression of file." The file is then converted to a
streaming multimedia format file as indicated by the box 635,
labeled "Convert file to streaming multimedia format ("SMF") file."
Alternatively, a file from the box 620 can be uploaded to the host
computer 60 without being converted to a streaming format, and the
conversion to a streaming video format can be accomplished at the
host computer 60. The process that is performed by the VideoShare
Producer 20 software as denoted by the box 635 involves reading in
the video file, frame by frame, and converting the video into a
streaming multimedia format.
[0122] The flow diagram indicates that the process makes a
"thumbnail" of the video file, as represented schematically by the
box 640, labeled "Create and temporarily store JPEG "thumbnail"
identifier."
[0123] The next part of the process is the upload operation, in
which the VideoShare Producer 20 software contacts the host
computer 60, which in one embodiment is the VideoShare
Upload/Database Server at the VideoShare hosting facility. This
portion of the automated process is denoted by the box 645 labeled
"Transfer ("upload") temporarily stored SMF file and JPEG thumbnail
identifier to host computer 60." Both the compressed video
streaming multimedia file and the thumbnail image are uploaded at
substantially the same time.
[0124] As schematically depicted by box 650, labeled "Delete
temporary file to conserve storage space on user's computer," the
VideoShare Producer 20 software removes all of the temporary files
that were created in the course of the automated processing
described above. This feature provides for the user a convenient,
secure, and transparent process, with the benefit that the user's
computer storage device(s), for example one or more hard drives, do
not become cluttered with unnecessary and obsolete files.
[0125] Once the upload has been completed, the VideoShare Producer
20 software and the host computer 60 (for example, the VideoShare
Upload/Database Server) will update the user's account to account
for the required storage space that the video requires. The
necessary logging, creation of an identification tag, and storing
of the video and the associated identifier or identifiers is also
performed automatically, as schematically depicted by box 655.
[0126] The user can optionally add additional identification and
control information about the user, and about how and under what
conditions the video is to be made available for distribution, as
schematically indicated by box 660. The process by which some of
this information is collected is discussed below with regard to
FIG. 8. The user is automatically prompted to provide this
information, but has the option to forego making a decision
immediately.
[0127] The user is given an opportunity to select an advertisement
that will be associated with the video, as schematically indicated
by box 665, and as discussed in more detail below.
[0128] The transmission of video segment files to viewers is
discussed in more detail below, and is represented in FIG. 6B by
the box 670 labeled "Transmit file to viewer" which is outside the
region 608 as an indication that the transmission of files to
viewers is an action beyond the material discussed above in
conjunction with the Save and Share button 536 of FIG. 5.
[0129] FIG. 6C shows a flow diagram 602 of an embodiment of the
invention in which software automates a number of steps in the
formatting of a video segment. In particular, in this embodiment,
the video segment that the user wishes to provide in streaming
video format is compressed into a plurality of formats, each of
which is encoded for optimal display at a different transmission
bitrate. There can be a benefit to recording the same video segment
in multiple formats. For example, a casual viewer may have only a
slow speed modem, such as a 28.8 kilobaud (kB) modem. For such a
viewer, the slow transmission speed can make the size of a file a
critical feature. Such a user can view a video in real time if it
is formatted for a 28.8 kB modem, but not if it is formatted for
appreciably higher transmission speeds. Another user, for example,
one who has a TI connection that can handle transmission speeds up
to approximately 1.5 megabaud, could successfully receive a version
of the same video segment that is formatted for higher transmission
speeds, with the possibility of having a better quality image and
higher resolution, perhaps with better audio as well. The TI user
could see the version of the video segment intended for 28.8 kB
transmission if he or she wanted to, but might prefer to see a
video segment that appeared to be more professional in quality. By
using a system that can automatically discriminate the transmission
speed capabilities of the hardware that the user employs, the
embodiment allows each user to view a version of the video segment
that is optimally configured for the user's hardware.
[0130] In particular, the steps of the method enclosed within the
dotted rectangle 609 are automated by software that embodies the
present invention. As described above, the user obtains and selects
a video segment for processing for distribution, as indicated at
box 605 that schematically encapsulates all of the actions that a
user takes as described in relation to FIGS. 4 and 5 above. When
the user activates the Save and Share button 536 the actions
described below that are enclosed by the dotted line 609 are
automatically carried out under the control of the VideoShare
Producer 20 software.
[0131] As discussed in relation to FIG. 6A, the VideoShare Producer
20 software subjects the selected video segment to analysis to
determine whether the selected video segment is or is not in a file
format that is compatible with a streaming video format, as
indicated at diamond 610. If the selected video segment is not
compatible with a streaming video format, it is converted to a
compatible format, as depicted by the arrow labeled "NO" that
points from the diamond 610 to the box 615, "Convert to compatible
file format." The conversion process performed by the VideoShare
Producer 20 software creates a DirectShow filter graph that
decompresses the video file into a temporary, uncompressed AVI
file.
[0132] The video segment file in a format that is compatible with
streaming video is then temporarily stored in the user's computer
16, for example as a file on the hard drive of computer 16. This
storing step is performed if the file was originally in a format
compatible with streaming video by following the arrow marked "YES"
that points from the diamond 610 to the box 620, "Temporarily store
file." Alternatively, the storing step is performed if the file was
originally not in a format compatible with streaming video by
following the arrow that points from the box 615 to the box
620.
[0133] The temporarily stored file is then compressed in multiple
streaming multimedia formats, as denoted by the box 633. In the
present example, three files will be used to describe the process,
but it should be understood that more or fewer than three formats
may be created at substantially the same time. The resulting
multiple files are denoted by the three boxes 634, 636 and 638
labeled "Bandwidth Target A," "Bandwidth Target B," and "Bandwidth
Target C," respectively. Each file is optimally encoded for play as
a streaming video segment at a particular transmission rate and
bandwidth, such as 28.8 kB, 56 kB, 100 kB, 300 kB, or other
transmission rates.
[0134] As described above, the method includes a step of creating
and temporarily storing a "thumbnail" identifier, as denoted by the
box 640. Rather than transmitting one video segment in one SMF with
one thumbnail, the embodiment of FIG. 6C transmits all the files
634. 636 and 638 in association with the single thumbnail and any
other identifiers that are selected as appropriate. For example,
each SMF file can be identified as to its bandwidth. In an
alternative embodiment, the system transmits only a single SMF file
with its associated identifiers, including the JPEG "thumbnail,"
and the multiple bandwidth variants of the SMF file are generated
at the host computer 60. This embodiment may be advantageous when
the user has only a slow speed modem, and would be severely time
constrained by having to upload multiple files.
[0135] The remaining steps of this embodiment, as denoted by the
boxes 650, 655, 660, 665 and 670, correspond substantially to the
steps in FIG. 6A represented by the boxes identified with the
corresponding numerals. It should be noted that the precise order
of some of the steps, for example, the step denoted by the box 655
and the step denoted by the box 650, can be interchanged without a
different outcome of the overall process. Other such interchanges
in sequence are possible as well, again without a different outcome
of the overall process.
[0136] FIG. 6D depicts an embodiment of the database 64 of the host
computer 60 on which are recorded the three exemplary bandwidth
target files 634, 636 and 638 for FIG. 6C. These files are
available for delivery over a computer network to a viewer. The
files 634, 636 and 638 represent three versions of the same video
segment in streaming multimedia format, each suitable for optimal
viewing by a user having hardware operating at the transmission
rate corresponding to the format of one of the files.
[0137] As shown in FIG. 6E, the user (or the viewer) transmits to
the host computer 60 a request for a particular video segment,
denoted by the arrow from the box labeled "USER" to the box 960
labeled "Connection Speed Detector." Host computer 60 can include
hardware that can sense the transmission speed of a user computer
16, or of a computer used by a person desiring to view a video
segment. Alternatively, the host computer 60 can inquire of the
computer on the network that is connected to the user computer 16
or the computer of a viewer about the speed of connection that is
being maintained. When the information is available to the host
computer 60, the host computer 60 can determine which file of the
files exemplified by 634, 636 and 638 is most appropriate to serve
to the user or viewer, as denoted by the box 692 labeled "Logic to
select and serve SMF file to User." The host computer 60 then
transmits the appropriate file to the user, as denoted by the arrow
from the box 692 to the box 694 labeled "User receives and views
SMF file." Alternatively, the viewer can request the transmission
of a file encoded at a specific bitrate.
[0138] When the user begins the process described in relation to
FIG. 6A, in one embodiment, the "Progress Dialog" screen 700
depicted in FIG. 7 is presented, reflecting the status of the
process in real time. The "Progress Dialog" screen 700 notifies the
user about the total number of bytes that have to be uploaded to
perform the transfer and it also informs the user of the number of
bytes and the percentage of the file that have been uploaded in
real time.
[0139] FIG. 8 depicts a dialog panel 800 presenting several methods
with which the user can distribute the uploaded streaming video
segment and its associated identifiers to third party recipients.
The dialog panel 800 prompts the user as to the possible selections
that the user can elect.
[0140] In one embodiment, there are five possible methods to
distribute the video file:
[0141] The user can elect to use an email browser to send an email
to one or more people that includes a URL reference to the video
located on the VideoShare web site. This also includes the further
possibility to send the video player directly embedded inside the
email message. This option is elected by activating the button 810,
labeled "Share as a video mail."
[0142] The user can elect to share the video as a greeting card,
bringing the user to the Video Greeting Card web page at the
VideoShare web site. In this case, the user will also select
features relating to the greeting card. The user can elect this
option by activating the button 820, labeled "Share as a video
greeting card."
[0143] The user can elect to send an ICQ URL message, automatically
interfacing with ICQ's Instant Messenger software. The user can
elect this option by activating the button 830 labeled "Share
through ICQ Messaging."
[0144] The user can elect to go to the user's VideoCenter page on
the VideoShare web site, from which location the video can also be
shared or sent to others. The user can elect this option by
activating the button 840, labeled "Take me to my VideoCenter."
[0145] The user can elect to place HTML code in the user's
clipboard that references the video. This HTML code can be "pasted"
into any Web page that supports HTML inserts. The user can elect
this option by activating the button 850, labeled "Put HTML code in
my clipboard." In one embodiment, this option allows a user to
paste a video into a Web page, for example to demonstrate the use
of a product for sale, or to present a personal greeting to
visitors to the Web page.
[0146] By electing to activate the button 860, labeled "Nothing,
I'll share this video later," the user can postpone making an
election regarding the sharing of the uploaded video segment.
[0147] The above options are discussed in more detail below.
[0148] Sharing the video via email will bring up the user's default
email browser, such as Outlook, Netscape Communicator, Eudora, etc.
This is accomplished through the use of MAPI technologies that
allow for document exchange on Win9x/2000 systems. A user who
employs Netscape Communicator or Microsoft Outlook will be able to
directly embed the Windows Media Player inside the email text body,
allowing the recipient to directly play the video from his or her
email browser. In one embodiment, this "embedded video mail"
feature causes a window such as that depicted in FIG. 9 to appear,
for example when the user is using Microsoft Outlook for e-mail
service.
[0149] As shown in FIG. 9, at the top of the email message, the
VideoShare Producer 20 software will display the Windows Media
Player 910 with the sender's recorded video preloaded. The
recipient of this embedded video mail only needs to activate the
play button 920 on the Windows Media Player to see the video
segment, rather than going to a URL hyper-link. The embodiment
includes the conventional dialog boxes for entry of an email
address for a recipient (box 902), a "carbon copy" ("cc") address
(box 904), and a subject (box 906). In the embodiment shown,
instructions are presented below the Windows Media Player 910 for
the convenience of the recipient.
[0150] The two options "Share as a Video Greeting Card" and "Take
me to my VideoCenter" causes the VideoShare Producer 20 software to
spawn off a Web browser and automatically--41--jump to one of these
two pages on the VideoShare Web site. The user can define the
features of a video greeting card, and can direct the card as an
e-mail to a viewer. Alternatively, the user can define a recipient
list for the video segment as a single item to be viewed, and can
send the video to the locations on the list.
[0151] The "Share Through ICQ Messaging" button 830 can bring up
ICQ's Instant Messenger software, if it is installed on the user's
machine, and can initiate a "URL Message" construction
automatically. The VideoShare Producer 20 software can
automatically fill out the URL that references the playback of the
user's video. The recipient of this URL Message can view the video
by clicking a mouse on the URL to be taken directly to the
VideoShare web site, where the video can be displayed.
[0152] The "Put HTML code in my clipboard" button 850 can place a
section of HTML code that, when the user pastes this code in a web
page, causes the Windows Media Player to automatically instantiate
a video playback of the message. This feature enables the user to
place this video in any system that supports HTML code, such as
personal web pages, online auction sites, online job boards, and
the like.
[0153] Working Offline and the "Sharing Queue"
[0154] The VideoShare Producer 20 software also allows the user to
"work offline." Offline means that the VideoShare Producer 20
software will not communicate with the host computer 60 (for
example, the VideoShare Upload/Database Server) until the user
explicitly uploads one-or-more videos via a "Sharing Queue". This
Sharing Queue appears to the user as one of the main tabs in the
VideoShare Producer 20 software and acts as a temporary queue for
recorded/imported videos. "Work offline" allows the user to not
make an Internet connection until he or she is ready to upload more
than one video at a time. This mode of operation is useful for
modem users who incur considerable expense for extended dial-in
times or people who are using laptops and are not always near an
Internet connection outlet.
[0155] FIG. 10 shows a screen 1000 used to control the status of a
video queue. When the user, after recording or importing a video,
clicks the "Save and Share" button 536 of FIG. 5 while in "offline
mode", the VideoShare Producer 20 software performs the first three
steps of the "Save and Share Process," namely, the video file
format conversion represented by box 615 of FIG. 6A, the
compression of the video segment to a streaming multimedia format
at a user-specified bitrate represented by the box 635 of FIG. 6A,
and the creation of a "Thumbnail" JPEG snapshot of the video file
represented by the box 640 of FIG. 6A. The resulting output files
are stored in a local database for later use in the "Sharing
Queue," which is an operation similar to the temporary storage of
files depicted in FIG. 6A. In the middle of FIG. 10 is a dialog box
1010 that displays a list of video segments that are ready to be
uploaded to the VideoShare Web site. The small "Preview" window
1020 in the upper left corner of FIG. 10 is a DirectShow playback
graph that allows the user to review the stored video segment that
is highlighted in the dialog box 1010. The user can use this window
to preview the video segment file by activating the "Preview"
button 1030, to delete the video segment file by activating the
"Delete" button 1040, and to upload and publish the video by
activating the "Save and Share Now" button 1050.
[0156] The "Save and Share Now" button 1050 performs the uploading
process on each of the queued videos, creating a TCP/IP connection
to the VideoShare Upload/Database Server, transferring the file to
the VideoShare web site, and updating the user's VideoShare
account, in a manner substantially similar to the method employed
by the Save and Share button 536 of FIG. 5 to accomplish the same
activities.
[0157] Audio/Video Setting Process
[0158] FIG. 11 shows a screen 1100 used to control the operational
settings of equipment connected to the user's computer. Another
feature of the VideoShare Producer 20 software the ability of the
user to change the configuration of the audio, video, and
compression devices through the use of the "Settings" tab 1110.
Upon activation of the Settings tab 1110, the screen 1100 is
active.
[0159] The user can select the "bitrate" at which the streaming
multimedia files will be compressed by using the set of radio
buttons 1120 at the upper left corner of the screen 1100. The
default setting is "56 k Modem" which corresponds to a user using a
56 k modem. This default setting is denoted by the 56 k Modem radio
button 1120 appearing with a dot, while the remaining radio buttons
for bitrate 1120 are blank. In one embodiment, the pie graph 1130
that appears at the upper right corner of screen 1100 indicates the
percentage of the user's VideoShare storage space that is full. In
the embodiment shown, the user has filled approximately 3.13% of
the available storage capacity available for storing files. Two
pull-down menus, "Camera source device" box 1140 and "Audio source
device" box 1150, list all of the available video and audio capture
sources that the user has available on his or her Win9x/2000
machine. The user can select a source of audio or video by
activating the appropriate pull-down menu box and locating a device
of his or her choosing. To the right of these pull-down menus,
there are two buttons, "Video Settings . . . " 1160 and "Audio
Settings . . . " 1170 that allow the user to change the properties
of the currently selected audio and video device. Such properties
include image size, capture compression, lighting conditions, and
the like. The screen 1100 also provides to the user the current
working directory information in a the box 1180 and the current
queue directory information in the box 1190, which the user can
optionally change by entering new values in either or both boxes 1
180 and 1190.
[0160] Interactive Advertisement Feature
[0161] Advertisers want to know how effective their advertisements
are, and what response they are receiving from viewers. In normal
commercial advertising in print media and in broadcast media, it is
both difficult and expensive to try to gather such information. The
interactive advertisement feature of the invention allows
advertisers 30 to accurately track not only whether the ad video
was watched by the viewer 92, but to do so in real time. In
addition, there is no need to have individuals contact viewers 92
because systems and methods according to the invention perform the
function in an automated manner.
[0162] Systems and methods of the invention operate by pausing the
ad and/or the video until a specific action is taken by the viewer
92. The action that the viewer 92 can be required to take can
include clicking a button, activating a mouse or pointing device,
using the mouse or pointing device to activate a link, answering a
question, or striking a key (or a similar action) to take place
within a time frame.
[0163] Once the specific action has been taken, the video or the
advertisement will resume playing.
[0164] If the action is not taken, the ad can either time out and
not play for that viewer 92, remain paused until the viewer 92
either takes the action or closes the ad, or continue playing to
its end. By observing the responses of viewers, it is possible to
obtain statistics about how many of the ad videos were watched in
their entirety and how many timed out or were never fully
viewed.
[0165] The benefits to advertisers 30 can include obtaining
information about which of their advertisements were actually
watched by the viewer 92. Advertisers can use such information to
determine who is watching their advertisements, and how long those
people watch a given advertisement.
[0166] While the invention has been particularly shown and
described with reference to particular embodiments, it should be
understood by those skilled in the art that various changes in form
and detail may be made without departing from the spirit and scope
of the invention as defined by the appended claims.
* * * * *
References