U.S. patent application number 13/778068 was filed with the patent office on 2013-10-03 for method and apparatus for sharing content.
This patent application is currently assigned to ROKU, INC.. The applicant listed for this patent is ROKU, INC.. Invention is credited to Greg Garner.
Application Number | 20130263189 13/778068 |
Document ID | / |
Family ID | 49236894 |
Filed Date | 2013-10-03 |
United States Patent
Application |
20130263189 |
Kind Code |
A1 |
Garner; Greg |
October 3, 2013 |
Method and Apparatus for Sharing Content
Abstract
A method includes supplying a video stream to a primary display
device, detecting an information request associated with the video
stream, identifying a portion of the video stream corresponding to
the time of detecting, supplying to a secondary display device
choices corresponding to the information request, receiving
selected choices and supplying to the secondary display device
information corresponding to the selected choices.
Inventors: |
Garner; Greg; (Springdale,
AR) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
ROKU, INC. |
Saratoga |
CA |
US |
|
|
Assignee: |
ROKU, INC.
Saratoga
CA
|
Family ID: |
49236894 |
Appl. No.: |
13/778068 |
Filed: |
February 26, 2013 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
13431932 |
Mar 27, 2012 |
|
|
|
13778068 |
|
|
|
|
Current U.S.
Class: |
725/61 ;
725/93 |
Current CPC
Class: |
H04N 21/47217 20130101;
H04N 21/4722 20130101; H04N 21/2387 20130101; H04N 21/4828
20130101; H04N 21/4725 20130101; H04N 21/234 20130101; H04N 21/4126
20130101; H04N 21/4668 20130101; H04N 21/482 20130101 |
Class at
Publication: |
725/61 ;
725/93 |
International
Class: |
H04N 21/482 20060101
H04N021/482; H04N 21/234 20060101 H04N021/234 |
Claims
1. A method, comprising: supplying a video stream to a primary
display device; detecting an information request associated with
the video stream; identifying a portion of the video stream
corresponding to the time of detecting; supplying to a secondary
display device choices corresponding to the information request;
receiving selected choices; and supplying to the secondary display
device information corresponding to the selected choices.
2. The method according to claim 1 wherein a remote control is the
secondary display device.
3. The method according to claim 1 wherein the information request
is triggered by a request to replay a portion of the video
stream.
4. The method according to claim 1 wherein the information request
is triggered by depressing a button on a remote control while the
video stream is playing.
5. A system, comprising: a primary display device configured for
displaying a video stream; an input device configured to receive a
request for information while the video stream is being displayed;
a client device coupled to the input device and the primary display
device, wherein the client device is configured to detect the
request; a platform server coupled to the client device, wherein
the platform server is configured to retrieve information
associated with the video stream that was displayed when the
request was received; and a secondary display device to display the
information.
6. The system according to claim 5, wherein the request is received
by activation of a button on the input device.
7. The system according to claim 5, wherein the request is
triggered by a request to replay a portion of the video stream.
Description
CROSS-REFERENCES TO RELATED INVENTIONS
[0001] This application is a continuation-in-part of U.S. Ser. No.
13/431,932, filed Mar. 27, 2012.
FIELD OF THE INVENTION
[0002] The invention generally relates to managing content, and
more particularly relates to searching for content in a streaming
media environment.
BACKGROUND
[0003] Consumers have an increasing amount of on-demand media
content available to them. For example, on-demand media content
includes visual content (e.g., movies, television shows, still
images), audio content (e.g., music), and software applications
(e.g., games).
[0004] Along with an increasing amount of on-demand content
available, it becomes more challenging for the consumer to find and
select their content of interest. Some consumers find their content
through browsing through movies through genre categories while
others find their content through searches for titles, directors,
or actors.
[0005] Consumers also have an increasing number of choices on where
to buy, rent, or consume this content without cost. With the
increase of available content and content provider choices, it
becomes more challenging for the consumer to find the right content
from the right content provider. For example, some content is
available free for paid subscribed users; other content is
available without charge and without a subscription; and yet other
content is available for rent or purchase on an individual
basis.
SUMMARY
[0006] A method includes supplying a video stream to a primary
display device, detecting an information request associated with
the video stream, identifying a portion of the video stream
corresponding to the time of detecting, supplying to a secondary
display device choices corresponding to the information request,
receiving selected choices and supplying to the secondary display
device information corresponding to the selected choices.
BRIEF DESCRIPTION OF THE DRAWINGS
[0007] The following figures depict various embodiments for
illustrative purposes. From the figures and corresponding
description, different embodiments may be employed without
departing from the invention as described herein.
[0008] FIGS. 1-4 illustrate block diagrams showing an exemplary
system according to one embodiment of the invention;
[0009] FIGS. 5A-7B illustrate exemplary screen shots according to
embodiments of the invention; and
[0010] FIGS. 8A-16 illustrate flow diagrams according to
embodiments of the invention.
[0011] FIG. 17 illustrates content augmentation operations
performed in accordance with an embodiment of the invention.
DETAILED DESCRIPTION
[0012] FIG. 1 illustrates a block diagram according to one
embodiment of a streaming environment 100. In particular, the
streaming environment 100 includes an interface system 110, a
platform server 120, and one or more sources of content programming
135. In one embodiment, the interface system 110 includes a display
device 140 (e.g. monitor and television), a client device 150 (e.g.
streaming player), and a user input device 170. The client device
150 is configured to communicate with the display device 140 and a
network 160.
[0013] In one embodiment, the platform server 120 includes a
database 125 and a platform module 130. The database 125 is
configured to store data such as programming software packages. The
data within these programming software packages include: the
network locations and content descriptions of content sources 135,
hardware/software capabilities of different firmware versions and
specifications of the client device 150, customer data associated
with each client device 150, and user interface information
associated with the client device 150.
[0014] In one embodiment, the customer data includes customer
specific information such as demographic data, geographic data, ISP
identification, and financial information. In one embodiment, the
platform server 120 generates customized user interfaces for each
of the client devices 150. In one embodiment, the user interface
from the platform server 120 provides a selection of content such
as audio, visual, and gaming content to the client device 150. In
this example, the platform server 120 is configured to supply a
graphical representation of the selection content to the client
device 150 and further allows the client device 150 to select and
access individual content from the selected content from the
content source 135 through this graphical representation of the
selection content.
[0015] In one embodiment, the platform server 120 is configured to
receive input from client device 150 and processes the input
through the platform module 130. The input from the client device
150 includes navigation and selection commands which may represent
selection of content, search for content, and ongoing interaction
with an application running on the platform server 120.
[0016] In one embodiment, the client device 150 displays content on
display device 140. In one embodiment, the content displayed on the
display device is sourced from one of the client device 150, the
platform server 120, and the content source 135. In one embodiment,
the input device 170 transmits signals to the client device 150. In
one embodiment, the input device 170 utilizes one of or a
combination of: an infrared signal, radio frequency signal, and
Bluetooth signal to communicate with the client device 150.
[0017] The input device 170 is configured to enter data and to make
user selections from the interface as presented through the client
device 150. In one embodiment, the interface displayed by the
client device 150 may be from the platform server 120, from the
content sources 135, or be locally generated by the client device
150. In one embodiment, the input device 170 also includes a
display to show additional content. In another embodiment, the
input device 170 includes a touch screen which allows content to be
displayed and input to be received. Exemplary input devices 170
include remote controls, smart phones, tablets, and mobile
computers. In one embodiment, a secondary display (not shown) is
coupled to the network 160 and the client device 150. For example,
the secondary display 175 may be a tablet, laptop, computer or
Smartphone. In one embodiment, the secondary display is configured
to receive data and transmit data to the client device 150 and the
network 160.
[0018] In one embodiment, the content sources 135 include a server
180 and a storage device with content 190. In one embodiment, the
network address of particular content stored within the storage
device 190 is maintained within the platform server 120. In another
embodiment, the general location of the content source 135 is
maintained and stored within the platform server 120 while the
specific locations of corresponding content are managed locally by
the content source 135. In yet another embodiment, the location of
the content source 135 is embedded within the graphical
representation displayed through the client device 150 such that
interaction with the graphical representation through the client
device 150 allows the content located within the content source 135
to be accessible to the client device 150.
[0019] In one embodiment, the content stored within the storage
device 190 includes music, video, still pictures, text, graphics,
gaming applications, and the like. In one embodiment, the
particular content which is stored within the storage device 190 is
provided to the client device 150 through the network 160. In one
embodiment, the network 160 is the Internet. In another embodiment,
the network 160 is a local area network.
[0020] In one embodiment, the client device 150 makes a request for
specific content. If the requested content is video content, the
storage device 190 transmits video data that represents the
specific video content to the client device 150 through the content
source 135.
[0021] In one embodiment, platform server 120 supports interfaces,
such as login interfaces, search interfaces, and customized
interfaces for the client device 150.
[0022] FIG. 2 illustrates a representative platform module 130 as
shown in FIG. 1. In one embodiment, the platform module 130
includes an authentication module 205, a search/browse module 210,
a match module 215, a store module 220, a tag module 225, a display
module 230, a recommendation module 235, and a channel store module
240.
[0023] The authentication module 205 interacts with the client
device 150 and authenticates a profile or user account associated
with the particular client device 150. For example, the profile
includes data associated with a user such as the user name,
password, device associations, IP addresses, location, email
address, payment information, and content subscriptions. In one
embodiment, the authentication module 205 recognizes and
authenticates the client device associated with a particular user
account through password authentication, location authentication,
visual authentication, or audio authentication. The authentication
can be configured to occur when setting up a new client device 150,
purchasing content or subscriptions, or periodically as needed.
[0024] The search/browse module 210 is configured to detect input
from a client device 150 and/or the input device 170. In one
embodiment, the input represents the selection of a channel,
content, or application. In another embodiment, the input
represents a textual, visual, or audible search for content, a
channel, or application. In yet another embodiment, the input
represents browsing content, channels, or applications.
[0025] The match module 215 coordinates searches and requests for
content, channels, and applications. For example, the match module
215 identifies relevant content, channels, and applications based
upon the search criteria. In one embodiment, the match module 215
relies on titles, tags, description and reviews associated with the
content, channels and applications to determine relevance of the
match.
[0026] The store module 220 coordinates the storage of data within
the platform server 120. The data coordinated by the store module
220 includes content listings and corresponding descriptions, user
profiles, searching and browsing requests, content viewed, channels
and applications utilized, and tags, and friends. Depending on the
nature of the data, access to the content is controlled to prevent
unauthorized use.
[0027] The tag module 225 coordinates the creation and use of tags
associated with content, channels, and applications. Tags can be
assigned to channels and applications by the author of the channels
and applications or by users through the client device 150. Tags
can also be assigned to portions of audio and video streams by the
author of the audio and video streams or by users through the
client device 150. The tags may describe the corresponding content
or allow an opportunity for a user to provide commentary associated
with the corresponding content. The tags can be used for personal
use and be searched by the user creating the tags or the tags can
be aggregated among multiple users and searched through a public
database by others.
[0028] The display module 230 coordinates display of representative
content and user interfaces from the platform server 120 to each of
the client devices 150. Examples of representative content include
listings and descriptions of channels, content, and applications.
Further, the user interface is configured to allow searching and
browsing for channels, contents, and applications.
[0029] The recommendation module 235 is configured to process
content recommendations based on a combination of current
subscriptions, browsing or searching input, and content source.
Further, the recommendation module 235 also can utilize tags to
provide recommendations. In another embodiment, the recommendation
module 235 utilizes the availability of the content to provide a
recommendation. For example, a viewing window which describes when
the content is available for viewing describes a beginning and end
date for the availability of the content. Further, the
recommendation module 235 can utilize the subscription data
associated with each user account to determine whether the content
is available to the user without additional charge because the
account user is already subscribed to the content provider.
Further, the recommendation module 235 can prioritize content that
is available free of charge without any subscriptions. In another
embodiment, the recommendation module 235 can prioritize content
based on popularity ratings as illustrated under the public viewing
data 335.
[0030] The channel store module 240 is configured to manage
subscriptions of channels associated with each client device 150.
Channels often contain content such as video content and audio
content. In one embodiment, access to the content within a channel
requires a subscription to that channel and the subscription is
free. In another embodiment, access to the content within a channel
requires a paid subscription. In yet another embodiment, access to
some content and applications require payment and a subscription.
In one embodiment, the channel store module 240 manages the
addition of channels, content, and applications. Similarly, the
channel store module 240 also manages deletion or modifications to
channels, content, and application.
[0031] FIG. 3 illustrates a representative platform database 125 as
shown in FIG. 1. In one embodiment, the platform database 125
includes private data and public data. The private data contains
information which is identifiable with a particular user; the
public data contains information that is aggregated and not
identifiable with a particular user. The private data within the
platform database 125 includes user profile data 305, user viewing
data 310, user subscription data 315, user tagging data 320, user
connection data 325, and user device data 330. The public data
within the platform database 125 includes public viewing data 335,
public tagging data 340, and content listing data 345.
[0032] In one embodiment, utilization of the private data is
restricted to access within the platform server 120 and access by
the particular user corresponding to the private data. Utilization
of the public data can be accessed by all users and selected third
parties.
[0033] The user profile data 305 includes information such as a
user's name, address, credit card/payment information, age, and
gender. The user viewing data 310 includes the channels, audio
content, visual content, video content, and applications utilized
through a client device 150. In one embodiment, the user viewing
data 310 allows a client device 150 that is associated with the
particular user to view recently watched channels and content as
well as determine which applications were recently used. Further,
the user viewing data 310 also includes stored searches that are
performed through devices associated with this user account. In one
embodiment, the stored searches are initiated by explicitly
searching for content through a text based, image based, or voice
based search. In another embodiment, the stored searches are
implicitly identified by recording browsing choices. One such
browsing choice is shown and described by FIGS. 5A and 5B.
[0034] The user subscription data 315 includes information such as
channels subscribed by a particular user and content and
applications purchased by the particular user. The user tagging
data 320 includes tagging information related to a particular user.
For example, the tagging information can include a user's comment
or description of a channel, application or content. In one
embodiment, the entire content is tagged with a description as
determined by the particular user. In another embodiment, a portion
of the content is tagged with a description of that portion of the
content by the particular user. The user connection data 325
includes a listing of other users that are associated with the
particular user as a friend. In one embodiment, having users
connected to each other as friends allows a particular user to
share recently watched content, channel subscriptions, user tags,
and applications with other connected users. The user device data
330 includes a listing of devices associated with the particular
user. The device includes a client device 150, an input device 170,
a mobile device such as a tablet, laptop computer, or smart
phone.
[0035] The public viewing data 335 includes a listing of channels,
content, and applications utilized by many users. In one
embodiment, the popularity of the content is ranked based on the
number of viewers and the order in which the content is viewed. For
example, the higher number of views per day for content would
indicate higher popularity. Further, when multiple content entities
are presented next to each other, the content entity which is
selected first for viewing is given a higher popularity rating.
[0036] The public tagging data 340 includes tags that are utilized
to describe channels, content, and applications from many users. In
one embodiment, the tagging data within the public tagging data 340
comes from content providers. For example, a movie studio
responsible for producing a movie could provide tagging data to the
public tagging data 340 that describes portions of the movie. The
public tagging data also includes closed captioning and subtitles
associated with respective segments of the content.
[0037] The content listings data 345 includes listings of content
and descriptions of the corresponding content. In one embodiment,
the descriptions include key word tagging throughout the content, a
summary description of the content, directors and actors associated
with the content, and third party reviews associated with the
content.
[0038] FIG. 4 illustrates a block diagram of a representative
client device 150 as shown in FIG. 1. In one embodiment, the client
device 150 is configured to stream content into the device. The
content streamed into the client device 150 includes audio content,
visual content, and applications. In one embodiment, the client
device 150 is utilized to transmit instructions and selection to
the content server 135 and/or the platform server 120.
[0039] In one embodiment, the client device includes a processor
410, internal memory 420, external storage 430, multipurpose I/O
port 440, input device interface 450, power management 460,
audio/visual I/O interface 470, and network interface 480.
[0040] In one embodiment, the processor 410 utilizes a central
processing unit (CPU). In another embodiment, the processor 410
also utilizes a graphics processing unit (GPU) which may be
integrated with the CPU or be configured to be physically separate.
In one embodiment, the internal memory 420 includes one of or a
combination of random access memory (RAM), flash memory, and read
only memory (ROM). Additional memory and memory interfaces such as
the multi-purpose I/O port 440 may be provided in various
embodiments, to support memories such as the external storage 430
which can include hard disks, Universal Serial Bus (USB) drives,
Secure Digital (SD) cards, and the like. These memories may also be
used for storage of applications, programs, buffered media, media,
executable computer code, and software keys.
[0041] In one embodiment, the input device interface 450 enables an
input device to interface with the client device 150. In one
embodiment, the input device interface 450 is configured to
communicate with the input device through a wireless interface such
as Bluetooth (BT), radio frequency (RF), and infrared (IR). In one
embodiment, the input device interface 450 supports the
functionality through an input device including any combination of
virtual buttons embodied on a customization screen, physical
buttons, accelerometer, gyroscope, pressure sensor, tilt sensor,
magnetic sensor, microphone, and light sensor.
[0042] In one embodiment, the I/O interface 470 supports multiple
video output options such as High Definition Multimedia Interface
(HDMI), Red-Green-Blue (RGB) component video, Separate Video
(S-video), Digital Visual Interface (DVI), Video Graphics Array
(VGA), Mobile High-Definition Link (MHL), and composite video. In
one embodiment, USB and Apple.RTM. Thunderbolt.RTM. enabled
displays are also supported.
[0043] In one embodiment, the network interface 480 supports
multiple network interfaces such as Ethernet, Wi-Fi, and Bluetooth.
In another embodiment, the network interface 480 also supports
coaxial, digital TV antenna, and satellite television.
[0044] FIGS. 5A, 5B, 5C, 5D, 6, 7A, and 7B, illustrate screen shots
showing exemplary embodiments for use with the streaming
environment 110 and the platform server 120 as shown in FIG. 1. The
representations within the screen shots are shown only for
illustrative purposes. For example, contents within the screen
shots may be omitted or added without limiting the scope of the
claims.
[0045] FIG. 5A illustrates an exemplary screen shot 500 depicting a
user interface for browsing for content through a client device
150. In one embodiment, the screen shot 500 is an exemplary home
screen configured to browse for content through the client device
150 and transmitted from the platform server 120. The screen shot
500 includes category listings 502, 512, and 523; content listings
504, 506, 508, 510, 514, 516, 520, and 522; thumbnail displays 505,
507, 509, 515, 517, and 521; and indicators 510, 518, and 525.
[0046] In one embodiment, the category listings 502 and 512
represent categories for content such as movies, television shows,
and games. In another embodiment, the category listings 502 and 512
represent a sub-category such as different types or genre of
movies.
[0047] In one embodiment, the category listing 523 represents a row
of content dedicated to a particular content provider. The
particular content provider can populate this row of content with
content chosen by the content provider. In one embodiment, the
particular content provider is selected based on the subscriptions
associated with the user account. For example, the particular
content provider is selected, because the user account is
subscribed to the particular content provider. In this example, the
content within the category listing 523 that is provided by the
particular content provider is accessible. In another example, the
particular content provider is not currently subscribed to by the
user account. In this example, the content provided by the
particular content provider is available on a limited access. In
one embodiment, the limited access includes: allowing full access
while the content is listed within the category listing 523; and
allowing access to a portion of the content as a preview. Further,
the particular content provider could solicit a subscription for
the user account prior to, during, or after allowing access to the
content.
[0048] In one embodiment, the categories listings 502, 512, and 523
can be selectively pinned to the screen shot 500. Further, the
categories listings 502, 512, and 523 are dynamically presented
within the screen shot 500 depending on the browsing and selection
habits. For example, if the content associated with the category
listing 502 is not browsed or viewed over a period of time or
selections, then the category listing 502 is moved towards the
bottom of the screen such as below the category listing 512. In
another example, any of the categories listings 502, 512, and 523
can also be prioritized based on paid placement by a content
provider. For example, the category listing 512 can represent a
sponsored content provider for listing content from the sponsored
content provider that is associated with the category listing
512.
[0049] In one embodiment, each of the content listings 504, 506,
508, 510, 514, 516, 520, and 522 represents separate content. For
example, if the category listing 502 is for comedy movies, then the
content listings 504, 506, and 508 would represent movies that are
also comedies.
[0050] In one embodiment, the thumbnail displays 505, 507, 509,
515, 517, and 521 show an image preview of the respective content
associated with the content listings 504, 506, 508, 510, 514, 516,
520, and 522, respectively. In another embodiment, the thumbnail
displays 505, 507, 509, 515, 517, and 521 show an animated series
of preview images such as a video clip that is representative of
the associated content.
[0051] In one embodiment, the indicators 510 and 518 represent
content that is available to the client device 150. For example,
the content listings 508 and 516 are available to the client device
150 as indicated by the indicators 510 and 518, respectively. In
one embodiment, the content associated with the content listings
508 and 516 are available through a subscribed channel associated
with a particular user account. In one embodiment, the subscribed
channel does not requirement payment. In another embodiment, the
subscribed channel is a paid subscription. In one embodiment, the
remaining content listings 504, 506, 510, 514, 520, and 522 are
available to a particular user by subscribing to the appropriate
channel or purchasing the content.
[0052] In one embodiment, the content listings 504, 506, 508, 510,
514, 516, 520, and 522 are found through the content listings data
345 within the platform database 125. For example, the content
listings 504, 506, 508, 510, 514, 516, 520, and 522 is responsive
to a key word search inquiry. In another embodiment, the content
listings 504, 506, 508, 510, 514, 516, 520, and 522 are found
through a home screen which is personalized by the user and
associated with the user viewing data 310 associated with a
particular user.
[0053] In one embodiment, a selection frame 525 is shown to
surround the content listing 520. The selection frame 525
represents a selection, hovering, or highlighting of particular
content within the screen 500. In one embodiment, an information
box 526 corresponds with the content listing 520 and is activated
by the selection from 525. The information box 526 and
corresponding information 527 provides additional information about
the content listing 520. The information box 526 and corresponding
information 527 are selectively displayed based on the selection,
hovering, highlighting of the content listing 520 which is shown by
the selection frame 525.
[0054] FIG. 5B illustrates an exemplary screen shot 530 depicting a
user interface for browsing for content through a client device
150. In one embodiment, the screen shot is an exemplary home screen
configured to browse for content through the client device 150 and
is transmitted from the platform server 120. The screen shot 530
includes content listings 532, 534, 536, 538, 540, 542, 544, and
546. In one embodiment, each of the content listings 532, 534, 536,
538, 540, 542, 544, and 546 represents a separate content listing.
In another embodiment, each of the content listings 532, 534, 536,
538, 540, 542, 544, and 546 represents a separate channel that
distributes content. In another embodiment, each of the content
listings 532, 534, 536, 538, 540, 542, 544, and 546 represents a
separate software application. In another embodiment, each of the
content listings 532, 534, 536, 538, 540, 542, 544, and 546
represents a separate genre.
[0055] In one embodiment, the content listings 532, 534, 536, 538,
540, 542, 544, and 546 are graphically displayed and each of the
content listings 532, 534, 536, 538, 540, 542, 544, and 546 is
configured to be selected through a user of the client device
150.
[0056] In one embodiment, the content listings 533, 534, 536, and
538 represent content directly related to each other such as
several related television series, different episodes that are part
of a television series, and a movie and its related sequels. In
this embodiment, the content listings 540 and 546 are related to
the content listing 532 by being in the same genre. In this
instance, if the content listing 532 is an action/adventure
program, then the content listings 540 and 546 should be another
action/adventure program. In this embodiment, the content listings
542 and 544 are in a different genre from the content listing 532
and each other. In this instance since the content listing 532 is
an action/adventure program, the content listing 542 is a comedy
program; the content listing 544 is a horror program.
[0057] In use, the content listings 532, 534, 536, 538, 540, 542,
544, and 546 are presented based on the search/browse module 210
and are capable of being selected. Characteristics of the content
listings such as tags, actors, directors, descriptions can be found
within the content listings database 345. After selection of one of
the content listings 532, 534, 536, 538, 540, 542, 544, and 546,
the selection is presented in a central location where the selected
content listing (e.g., 532) takes the place of the prior content
listing (e.g., 532). The rest of the content listings 534, 536,
538, 540, 542, 544, and 546 are automatically updated with new
content that is related to the newly selected content listing
532.
[0058] For example, if the content selection 532 is chosen, then
the corresponding content is played. Further, if any of the content
listings 533, 534, 536, and 538 are selected, then that particular
content listing is placed in the position of the content listing
532. In this instance, the content listings 533, 534, 536, and 538
are updated based on directors or actors that are common with the
newly selected content listing 532.
[0059] In one embodiment, each of the content listings 532, 534,
536, 538, 540, 542, 544, and 546 can selectively be highlighted to
reflect that the content is available to the user. In one
embodiment, each of the content listings 532, 534, 536, 538, 540,
542, 544, and 546 can be graphically presented to have the size of
the graphic representation mirror the amount of content associated
with each of the content listings 532, 534, 536, 538, 540, 542,
544, and 546.
[0060] FIG. 5C illustrates an exemplary screen shot 550 depicting a
user interface for viewing content results through a client device
150. In one embodiment, the screen shot is an exemplary home screen
configured to browse for content through the client device 150 and
is transmitted from the platform server 120. The screen shot 550
includes representative content 552 and content status 555, 556,
and 557 which describe the available options for a user to view the
content 552 through the client device 150.
[0061] In one embodiment, the content status 555 represents a
subscribed channel that offers the content associated with the
content 552 as available now to the client device 150. For example,
provider 557 and provider 558 are listed within the content status
555. In this example, the provider 557 is offering the content 552
now at no extra cost as part of the subscription to the provider
557. Further, the provider 558 is offering the content 552 now at
an additional cost in addition to the subscription to the provider
557. The subscription to either provider 557 or 558 may be free or
require payment. The details of the additional payment can be found
in the detail column 559.
[0062] In one embodiment, the content status 556 represents a
subscribed channel that offers the content associated with the
content 552 as available soon to the client device 150. For
example, provider 561 and provider 564 are listed within the
content status 562. In this example, the provider 561 is offering
the content 552 approximately 1 week from now at no extra cost as
part of the subscription to the provider 561.
[0063] Further, the provider 564 is offering the content 552 in the
future as the #2 position on a waitlist. Although not show, the
detail column 559 for the provider 564 could also provide an
estimated time when the content 552 will be available. The provider
564 contemplates a model where a user is subscribed to the provider
564 and the provider has a limited number of available copies of
the content 552. After the available copies of the content 552 are
checked out to other users, additional users wishing to get access
to the content 552 are placed on a wait list until one of the
available copies are released.
[0064] In one embodiment, an alert option is available in the
details column 559 for the content status 556. In this example, an
alert message is provided to the user through the client device,
email, or text message when the content 552 becomes available.
[0065] In one embodiment, the content status 567 represents
channels that are currently not subscribed by the user and offer
the content associated with the content 552 as available now to the
client device 150. For example, provider 568 and provider 569 are
listed within the content status 567. In this example, the provider
568 is offering the content 552 as a single item purchase. Further,
the provider 569 is offering the content 552 now as part of a
subscription to the provider 569. The details of the additional
payment can be found in the detail column 559.
[0066] In another embodiment, the content status 567 can also
provide a suggestion for different content supplied by a sponsoring
content provider. For example, the selection of the different
content to be suggested is determined by the sponsoring content
provider. The sponsoring content provider can pay a fee for this
placement.
[0067] In one embodiment, the content listings 555, 556, and 567
and associated data are shown within the screen shot 550 in any
combination. In another embodiment, the content providers 557, 558,
561, 564, 568, and 569 are shown in order of subscription within
screen shot 550. For example, content providers that are subscribed
to by the user's account are shown first. In another embodiment,
the content providers 557, 558, 561, 564, 568, and 569 are shown in
order of cost within screen shot 550. For example, content
providers that are free or cheaper are shown first. In another
embodiment, the content providers 557, 558, 561, 564, 568, and 569
are shown in order of paid placement within screen shot 550. For
example, content providers that pay for placement are shown first.
Any combination of subscription, cost, and paid placement may be
utilized.
[0068] FIG. 5D illustrates an exemplary screen shot 580 depicting a
user interface for viewing content results through a client device
150. In one embodiment, the screen shot is an exemplary home screen
configured to browse for content through the client device 150 and
is transmitted from the platform server 120. The screen shot 580
includes representative content 582, 584, 586, and 588; and content
status 590 and 594; and content providers 591, 592, and 595. In one
embodiment, the representative content 582, 584, 586, and 588,
correspond with content such as videos, music, and applications. In
one embodiment, the representative content 582, 584, 586, and 588
are provided by the platform server 120. In one instance,
representative content 582, 584, 586, and 588 is based on searches
for content. For example, the search for content may occur in a
single search or over multiple searches spanning a period of
time.
[0069] In one embodiment, the content status 590 presents a result
where there is partial availability of the representative content
582, 584, 586, and 588. For example, the content provider 591 shows
availability of the representative content 582, and the content
provider 592 shows availability of the representative content 586.
In one embodiment, the content status 594 presents a suggestion
that content provider 595 can fulfill content associated with the
representative content 582, 584, 586, and 588. In one embodiment,
an alert option 596 allows the selection of receiving an alert when
additional content becomes available through the content providers
591 and 592.
[0070] FIG. 6 illustrates an exemplary screen shot 600 depicting a
user interface for viewing a pinned and updated search result
through a client device 150. In one embodiment, the screen shot is
an exemplary home screen configured to browse for content through
the client device 150 and is transmitted from the platform server
120. The screen shot 600 includes representative content 602, 604,
606, 608, 610, 612, 614, 616, 618, and 620, which correspond with
content such as videos, music, and applications. In one embodiment,
the representative content 602, 604, 606, 608, 610, 612, 614, 616,
618, and 620 are provided by the platform server 120. In one
instance, representative content 602, 604, 606, 608, 610, 612, 614,
616, 618, and 620 is based on a search for content related to
"cars". In this embodiment, the search for content is performed at
different times with additional results each time the search is
updated.
[0071] For example, the representative content 602, 604, 606, 608,
610, 612, 614, and 616 is displayed through a discovery timeline
625. A time period 631 is representative of a search result
conducted on Jun. 12, 2010, and includes the representative content
602, 604, 606, and 608 as a result of the search. A time period 629
is representative of an updated search result conducted on Aug. 12,
2010, and includes the representative content 610 and 612 as a
result of the updated search. A time period 627 is representative
of an updated search result conducted on Oct. 12, 2010, and
includes the representative content 614 and 616 as a result of the
updated search.
[0072] In one embodiment, a subscribed content listing 635 displays
subscribed and available content search results from the discovery
timeline 625. In this instance, the subscribed content listing 635
includes the representative content 606, 608, 610, and 614.
[0073] In another embodiment, the subscribed content listing 635
may include promotional content that is available on a promotional
basis. However, the user account is not subscribed to receive
additional content from the content providers that are supplying
the promotional content. For example, the promotional content would
not normally be available to the user account from the content
provider. Further, the offer to subscribe to the content provider
can be made before, during, or after streaming the promotional
content to the user account. In another embodiment, the promotional
content may only be accessible for a segment of the content and an
offer to purchase the entire content is made to the user
account.
[0074] In one embodiment, an available content for purchase listing
640 displays content that is available for purchase from the
discovery timeline 625. In this instance, the available content for
purchase listing 640 includes the representative content 602, 604,
612, and 616. In one embodiment, an alert notification option 642
is provided to allow a user to be alerted if content within the
available content for purchase listing 640 becomes a subscribed
content for the user.
[0075] In one embodiment, a viewing window listing 650 organizes
content based on when the content is available. For example, the
viewing window listing can have an expiring soon category 652, an
available now and going forward category 654, and a coming soon
category 656. In this instance, the representative content 602,
604, 606, 608, 610, 612, 614, and 616 which are found in the
discovery timeline 652 are shown in either the expiring soon
category 652 or available now and going forward category 654. The
representative content 618 and 620 are shown in the coming soon
category 656 and have an alert option 658 to alert the user when
the representative content 618 and 620 is available.
[0076] In one embodiment, a recommendation listing 660 is provided
to recommend additional recommended topics based on the topic. In
one embodiment, the recommended topic is made based on what other
users who are also interested in the topic listed which in this
case is "cars" would also have as additional topics. In this
example with "cars" as the topic, additional topics such as
motorcycles 662, airplanes 664, and buses 666 are also listed.
[0077] In another embodiment, the recommendation listing 660 allows
a content provider to recommend content that is similar or related
to the original "cars" search topic. In this embodiment, the
content provider limits the recommendations based on the available
content offered by this particular content provider. In one
embodiment, the particular content provider is selected from a
subscribed content provider associated with the user account. In
another embodiment, the particular content provider is not a
subscribed content provider nor related to the user account. In one
example, the particular content provider pays an advertising fee to
be selected and further pays a referral fee if the user account
subscribes to the particular content provider.
[0078] FIG. 7A illustrates an exemplary screen shot 700 depicting a
user interface for viewing additional data through a secondary
screen on the input device 170. In one embodiment, the input device
170 includes a display screen which serves as the secondary screen.
For example, a smart phone or portable tablet can be utilized as
the input device 170. In one embodiment, the screen shot 700 on the
secondary screen is an extension of the display 140.
[0079] In one embodiment, the screen shot 700 includes a
representative content 705 and additional information relating to
the representative content 705 such as directors 706, actors 708,
description 710, rating/reviews 712, suggestions 714, user tags
716, global tags 718, friend tags 720, and share with friends 722.
In one embodiment, the representative content 705 is content that
is being watched, selected, or highlighted on the display 140
through the client device 150. For example, the additional
information can be displayed on the secondary screen as depicted
within the screen shot 700 as the representative content 705 is
selected on the display 140. The additional information presented
on the secondary display through the input device 170 provides
further details of the representative content 705. The additional
information including directors 706, actors 708, description 710,
rating/reviews 712, suggestions 714, user tags 716, global tags
718, friend tags 720, and share with friends 722 is customizable to
provide further details.
[0080] In one embodiment, the ratings/reviews 712 are generated
from the user or provided by a third party. The suggestions 714 are
offered to the user or can be selected to be suggestions from the
user. The user tags 716 are tags that are generated by the user;
global tags 718 are generated by other users and aggregated; and
the friends tags 720 are tags that are from friends of the user.
The share with friends 722 is content that is selected to be shared
with friends of the user.
[0081] FIG. 7B illustrates an exemplary screen shot 730 depicting a
user interface for viewing additional data through a secondary
screen on the input device 170. In one embodiment, the input device
170 includes a display screen which serves as the secondary screen.
For example, a smart phone or portable tablet can be utilized as
the input device 170. In one embodiment, the screen shot 730 on the
secondary screen is an extension of the display 140.
[0082] A timeline 735 represents a progress playing bar for
content. The timeline 735 illustrates content progress as it is
being played on the display 140. A progress indicator 740 shows a
play location within the content such as a movie. For example, the
beginning of the movie is towards the left side of the timeline
735. In one embodiment, the timeline 735 and progress indicator 740
correspond with the content being viewed on the display 140.
Further, a second view is provided through the input device 170
which includes additional information on the content being viewed
on the display 140.
[0083] In one embodiment, representative images 742, 744, 746, 748,
750, and 752, are shown with respect to a position on the timeline
735 and correspond with a visual representation of the content at
that particular position within the content. In one embodiment, the
display of the content through the display 140 can be set to a
playtime associated with a position on the timeline 735. An
information area 754 allows information regarding the content to be
displayed that is temporally relevant to the position of the
progress indicator 740. Further, a user tag legend 760, friend tag
legend 762, and global tag legend 764 provide symbols for tags
originating from the user, a friend, and aggregated global tags
from multiple users, respectively. A tag representation 756
illustrates how tags can be graphically shown on the timeline 735.
In one embodiment, the tag is correlated temporally with the
content associated with the portion of the timeline 735. Further, a
tag display 758 is configured to display text of a tag associated
with the tag representation 756. In one embodiment, the tag display
758 selectively displays the text of a tag when the tag
representation 756 is selected. In another embodiment, other tag
representations can be selected with a corresponding tag display
being activated to show the tag.
[0084] FIGS. 8A, 8B, 9, 10, 11, 12A, 12B, 13, 14, 15, and 16
illustrate flow diagrams showing exemplary embodiments for use with
the streaming environment 110 and the platform server 120 as shown
in FIG. 1. The blocks within the flow diagrams are shown only for
illustrative purposes. For example, blocks within the flow diagram
can be further divided, combined or performed in a different order
without limiting the scope of the claims.
[0085] FIG. 8A illustrates a search for content among multiple
content providers through a client device 150 or input device 170
while leveraging the platform server 120. In Block 805, a search
request is detected. In one embodiment, the search request comes
through the client device 150 and is related to a particular user
subscription data 305. In another embodiment, the search request
comes through the input device 170. The search request can be made
for content such as software applications, movies, television
shows, and music. In one embodiment, the search/browse module 210
accomplishes the search request.
[0086] In Block 810, the search request is matched with content
listings. In one embodiment, the content listings are stored within
the content listings data 345. In one embodiment, the match module
215 accomplishes the match.
[0087] If the match with the content listings returns a match with
subscribed content in Block 815, then the subscribed content that
matches the search results is displayed in Block 820. In one
embodiment, the subscribed content includes qualifying content
within subscribed channels through a content provider. For example
in some instances, not all content provided by a content provider
is included with a subscription to the content provider. The
subscribed content includes movies, television programs, games, and
music.
[0088] If the match with the content listings returns a match with
purchased content in Block 825, then the purchased content that
matches the search results is displayed in Block 830. In one
embodiment, the purchased content includes movies, television
programs, games, and music purchased by the user.
[0089] In one embodiment, the display module 230 accomplishes the
display action in Blocks 820 and 830. In Block 835, a search is
performed for similar content that is available to the user from
subscribed content providers. In one embodiment, the similar
content does not match the search request in the Block 805 but
instead shares similar characteristics to the original search
request and the matched subscribed and purchased content. Further,
the similar content is intended as a suggestion or recommended
content. For example, if the matched content either subscribed or
purchased is related to the genre of action/adventure movies, then
the similar content would also be within the action/adventure
movies genre. In other instances, similar content can be related
through common actors, directors, and time periods.
[0090] In another embodiment, the similar content can be suggested
from a content provider that would require purchase or subscription
to be viewed. In Block 840, the similar content is displayed. In
one embodiment, subscribed content, purchased content, and similar
content are displayed. In another embodiment, only the subscribed
content and purchased content are displayed. In one embodiment, the
recommendation module 235 would be utilized in Block 835 and 840
for searching and recommending content.
[0091] FIG. 8B illustrates a search for content among multiple
content providers through a client device 150 or input device 170
while leveraging the platform server 120. In Block 845, multiple
search requests are detected. In one embodiment, the multiple
search requests come through the client device 150 and are related
to a particular user account's subscription data 305. Further, the
multiple search requests are stored within the user viewing data
310. In another embodiment, the multiple search requests come
through the input device 170. The search requests can be made for
content such as software applications, movies, television shows,
and music. In one embodiment, the search/browse module 210
accomplishes the search request.
[0092] In Block 850, the search requests are matched with content
listings. In one embodiment, the content listings are stored within
the content listings data 345. In one embodiment, the match module
215 accomplishes the match.
[0093] If the match with the content listings returns a match of
all search requests with available content in Block 855, then the
available content that matches the search results are displayed in
Block 860. In one embodiment, the available content includes
content that can be accessed through a content provider without
additional charges. For example in some instances, the available
content could be available through a specific purchase, available
through a subscription, or available because the content is free.
The available content includes movies, television programs, games,
and music.
[0094] If all the search requests are not matched with available
content in Block 855, then a partial match is explored in Block
865. If the match with the content listings returns a partial match
of all search requests with available content in Block 865, then
the available content that matches the search results are displayed
in Block 870.
[0095] If all the search requests are not matched with available
content in Block 855, then a match with content for purchase is
explored in Block 875. If the match for content outside of
available content returns a match for remaining content for
purchase in Block 875, then the content for purchase is displayed
in Block 880. In one embodiment, the display module 230
accomplishes the display function in Block 860, 870, and 880.
[0096] If there is content from the multiple search requests that
is not included as available content or content for purchase within
Block 885, then an alert is set in Block 890 to notify the account
holder when the content becomes available for purchase or is
included as available content to the account holder. In one
embodiment, the alert can be an email, sms, or voicemail
notification through the client device 150 or the input device
170.
[0097] FIG. 9 illustrates a persistent search for content among
multiple content providers through a client device 150 or input
device 170 while leveraging the platform server 120. In Block 905,
a search request is detected and stored. In one embodiment, the
search request comes through the client device 150 and is related
to a particular user subscription data 305. In another embodiment,
the search request comes through the input device 170. The search
request can be made for content such as software applications,
movies, television shows, and music. Further, the search request is
stored within the user viewing data 310. In one embodiment, the
store module 230 accomplishes the storing function.
[0098] In Block 910, an initial search is performed based on the
search request and the resulting content based on the initial
search is stored. Searching for content can utilize the user
tagging data 320, public tagging data 340, and/or content listings
data 345. In one embodiment, the content listings are stored within
the content listings data 345.
[0099] In Block 915, an updated search is performed based on the
search request which mirrors the initial search in Block 910. The
updated search can be performed at any time after the initial
search. Further, the resulting content based on the updated search
is stored. In one embodiment, the resulting content based on the
updated search encompasses additional content beyond the resulting
content from the initial search.
[0100] If there is available content detected in Block 920, then
the available content is highlighted in Block 925. In one
embodiment, available content includes content that is subscribed
to, purchased by, and offered for free to the account holder
associated with the client device 150 or the input device 170.
[0101] In Block 930, the resulting content from the initial search
and the updated search are displayed together based on the timing
of the initial search and the updated search. Further, the
differentiation between available content and content for purchase
is also displayed in one embodiment. An exemplary display is shown
in the discovery timeline 625 in FIG. 6.
[0102] In Block 930, the resulting content from the initial search
and the updated search are displayed together based on a viewing
window of the resulting content. An exemplary display is shown in
the viewing window 680 in FIG. 6.
[0103] FIG. 10 illustrates an interactive, dynamic browsing of
content through a client device 150 or input device 170 while
leveraging the platform server 120. In Block 1005, available
content associated with the client device 150 is identified and
central content is selected. In one embodiment, available content
includes content available to the client device 150 because the
content has already been purchased, is included as part of a
subscription which the client device 150 can access, or available
because the content is offered for free. In another embodiment,
available content also includes content that can be purchased or
subscribed to through the client device 150 for additional
payment.
[0104] In one embodiment, the selection as the central content is
based on prior content watched through the user viewing data 310,
user subscription data 315, user tagging data 320, public viewing
data 335, and/or public tagging data 340.
[0105] In Block 1010, the central content is displayed. In one
embodiment, the content listing 532 (shown in FIG. 5B) is exemplary
central content. In one embodiment, the display module 230
accomplishes the display function.
[0106] In Block 1015, surrounding content is selected from the
available content. In one embodiment, content listings 534, 536,
538, 540, 542, 544, and 546 (shown in FIG. 5B) are exemplary
surrounding content. Selection of the surrounding content is from
the available content. In one embodiment, criteria for selection of
the surrounding content includes similarity and differences between
genre, artists, actors, directors, and sequels relative to the
central content. In one embodiment, selecting the surrounding
content is accomplished through the search/browse module 210.
[0107] In Block 1020, selection of the central content and
surrounding content is monitored. If the surrounding content is
selected, then the selection is recorded in Block 1025. The
selected surrounding content is made the new central content in
Block 1030. In Block 1015, the surrounding content is selected
based on new central content and additional information gained
through the selection that is recorded within the Block 1025. For
example, if the original central content was a horror movie and the
surrounding content that was selected was a documentary program,
the new surrounding content would not be within the horror movie
genre. In one embodiment, the store module 230 accomplishes the
recording function.
[0108] If the central content is selected in Block 1020, then the
central content is launched in Block 1035. If access to the central
content requires payment, an offer to purchase, rent or subscribe
to receive the central content is offered through the
interface.
[0109] FIG. 11 illustrates dynamic prioritization of content
through interactive browsing of content through a client device 150
or input device 170 while leveraging the platform server 120. In
Block 1105, available content for display on the client device 150
is identified. In one embodiment, the available content includes
content available to the client device 150 because the content has
already been purchased, is included as part of a subscription which
the client device 150 can access, or is available because the
content is offered for free. In another embodiment, the available
content also includes content that can be purchased or subscribed
to through the client device 150 for additional payment.
[0110] In another embodiment, content through a sponsored content
provider is also included whether or not the client device 150 is
subscribed to a channel associated with the sponsored content
provider. In one embodiment, the match module 215 within the
platform module 130 identifies the content. In this example, the
content is stored at the content source 135 with the details and
listing information of the content stored within the content
listing data 345 within the platform database 125.
[0111] In Block 1110, the content is organized within categories
and displayed within the category listings. In one embodiment, the
category listing is created based on the subject matter of the
content. For example, the additional details and listing
information of the content is found within the content listing data
345 and public tagging data 340 to provide subject matter
information about the content.
[0112] In another embodiment, the categories are preset and the
content is sorted into the preset categories. For example, preset
category listings can include "comedy", "mystery", "sports", and
the like. Further, the preset category listing can also include a
listing of a specific content provider where the content displayed
under the specific content provider as a preset category is sourced
from the specific content provider.
[0113] FIG. 5A illustrates an exemplary manner in which categories
and their associated content are displayed. In Block 1115, browsing
of the content within categories is detected. In one embodiment,
browsing is performed by highlighting or hovering over content as
information about the content such as descriptions, cover art, and
video clips are displayed. In another embodiment, browsing is
performed by specifically selecting the content to view additional
information about the content. Further examples of highlighting and
hover are shown as the selection frame 525 in FIG. 5A. Further,
additional information is shown in the information box 526 and
corresponding information 527 in FIG. 5A. In one embodiment, the
search/browse module 210 within the platform module 130 detects and
selects categories based on browsing.
[0114] In Block 1120, the browsing activity is recorded. In one
embodiment, the browsing activity is recorded within the user
viewing data 310. In one embodiment, the store module 220
accomplishes recording of the browsing activity.
[0115] In Block 1125, the categories are prioritized. In one
embodiment, the prioritization is based on the browsing activity.
For example, unpopular categories that include content which is not
browsed or viewed are moved towards the bottom of the screen. For
example referring to FIG. 5A, if content within the category 502
are not viewed or browsed, then the category 502 and the associated
content is moved below the category 512.
[0116] In another embodiment, unpopular categories and their
associated content are removed and no longer displayed.
[0117] In another embodiment, the prioritization is based on
current subscription associated with the client device 150. For
example, the category listings are ordered based on whether the
content within the category listing is subscribed or available
content to the client device 150. The category listings with the
most subscribed or available content are positioned at the top of
the listings.
[0118] In another embodiment, the prioritization of the category
listings is based on preferred placement of a content provider. For
example, a preferred content provider can be placed as a category
listing where the content associated with this category listing is
content originating from the content provider. In this example, the
preferred content provider assigns the content listings to be
displayed under the respective category listing. In one embodiment,
the preferred content provider is currently subscribed to by the
client device 150 and provides available content to the client
device 150. In another embodiment, the preferred content provider
is not currently subscribed to by the client device 150 and is
capable of presenting content as a promotion to the client device
150. Although the content listings are described as being
associated with categories, channels can be utilized in place of
content listings and also be associated with corresponding
categories.
[0119] FIG. 12A illustrates a process of tagging content through a
client device 150 or input device 170 while leveraging the platform
server 120. In Block 1210, content is being played. In one
embodiment, the content is being played through the client device
150. In another embodiment, the content is being played through the
input device 170. The content can include movies, television shows,
music, and games.
[0120] In Block 1215, a tag request is detected. In one embodiment,
the tag request is detected in response to the content being played
in the Block 1210. In one example, as the content is being viewed
through the client device 150, the tag request can be detected by
the input device 170. In this instance, the tag request is related
to the portion of content being viewed through the client
device.
[0121] If the tag request is received in Block 1220, then the
segment of the content associated with the tag request is
identified in Block 1225. In one embodiment, the content is divided
among multiple segments. In one example, if the content is a movie,
the movie is divided into 10 second segments. In another example,
the movie is divided into variable length segments based on the
length of each scene within the movie. In one embodiment, the
segments are provided by the content creator such as the television
show producer. In one embodiment, the segments for the content are
stored within the content listing data 345.
[0122] In Block 1230, tag suggestions are displayed based on the
segment. In one embodiment, tag suggestions are found by the tags
stored within the public tagging data 340 that correspond with the
particular segment. The public tagging data 340 can include tags
selected by other users; tags selected by content providers; and
tags found in closed captioning or subtitled text. The frequency
and source of the tags within the public tagging data 340 can
determine which tags are suggested. In one embodiment, tags
provided by content providers or within subtitles or closed
captioning are given additional weight when compared to tags from
other users. In one embodiment, a drop down menu is provided with
the tag suggestions so that tag selection can be performed through
a simplified on-screen interface and selection control is through
the use of the input device 170. In another embodiment, voice
control can be used to select the tag for the segment.
[0123] In another embodiment, the user can begin entering a tag
with letters and dynamically suggest a complete tag based on the
initial letters and tags from other users, content providers,
subtitles, and closed captioning. If the user enters a tag that is
new, then this new tag can be included within the corpus of tags
found within the public tagging data 340.
[0124] In Block 1235, the selected tag is recorded. In one
embodiment, the selected tag is stored within the user tagging data
320 which is reserved for access by the account holder. The
selected tag can also be stored within the public tagging data 340
in aggregate which would not identify the account holder. In both
cases, the tag would be correlated with the segment associated with
the specific content.
[0125] In another embodiment, a tag that is recorded within the
user tagging data 320 can be utilized to search for additional
content with the same or similar tags. For example, if a particular
tag is being tagged with some frequency or popularity within the
user tagging data 320, then this particular tag is searched in
additional content. When a match is made between the additional
content and the particular tag, then this different content is
tagged with the particular tag. The additional content can be
already tagged by the content provider or closed captioned or
subtitle data can be utilized.
[0126] FIG. 12B illustrates a process of searching for tagged
content through a client device 150 or input device 170 while
leveraging the platform server 120. In Block 1240, a tag search
request is detected. In one embodiment, a search term for a tag is
detected.
[0127] In Block 1245, the tag search request is directed towards
either a public tag search or a private tag search. In a public tag
search, the content being matched with the search for the public
tag search include content that was not viewed by the account
holder. For example, the public tags being searched could be tagged
by anyone whether or not the account holder viewed and/or tagged
the content. In a private tag search, the content being matched
with the search for the private tag includes content that was
tagged by the account holder. In some instances, the content tagged
by the account holder was also viewed by the account holder.
[0128] If the search is for public tags, then the public tags are
identified in Block 1250. In one embodiment, the public tags are
found in the public tagging data 340. In Block 1255, the search
request is matched with the identified public tags as found in
Block 1250. In Block 1260, the segments within content related to
the matched public tags are displayed.
[0129] If the search is for private tags, then the private tags are
identified in Block 1265. In one embodiment, the private tags are
found in the user tagging data 320. In Block 1270, the search
request is matched with the identified private tags as found in
Block 1265. In Block 1275, the segments within content related to
the matched private tags are displayed.
[0130] In another embodiment, a search request is detected for a
particular term. All content available to the user account is
searched for public and private tags associated with the particular
term. Once the selected content is identified, the content is
ranked and prioritized based on popularity. For example if one
content is watched more often or tagged more often than other
content, then the more watched and tagged content is considered
more popular.
[0131] In another embodiment, the search request can include
product names or detailed topic such as "Dodge Charger" and "race
cars". In this example, content having tags with "Dodge Charger" or
"race cars" would be identified. The content may include movies
with segments that qualify or may be advertisements from
manufacturers.
[0132] FIG. 13 illustrates content display on a secondary display
device through a client device 150 or input device 170 while
leveraging the platform server 120. In Block 1310, content is
displayed on a primary display. The primary display includes a
display device 140 within FIG. 1. In one embodiment, the content
displayed within the primary display is a listing of content such
as the screen shots 500, 530, 550, and 580 within FIGS. 5A, 5B, 5C,
and 5D, respectively. In another embodiment, the content displayed
within the primary display is content such as a movie, television
show, music display, or gaming application.
[0133] In Block 1315, a selection is detected. In one embodiment,
the selection is performed through the input device 170. The
selection can include highlighting, hovering, or selecting
available content shown on the primary display.
[0134] If a selection is detected in the Block 1320, then an
augmented view is displayed with additional content on the
secondary display. In one embodiment, the secondary display is a
mobile device such as a smart phone, a tablet computer, and a
portable computer. In another embodiment, the secondary display is
a visual display on the input device 170. The augmented view can
include further additional details of the selected content such as
descriptions, actors, directors, ratings, reviews, tags, and
timelines of content. Examples of the augmented view are shown as
screen shots 700 and 730 within FIGS. 7A and 7B, respectively.
[0135] In Block 1330, input associated with the content on the
secondary display is detected. In one embodiment, the input
includes selecting items shown on the secondary display. In Block
1335, the content displayed on the primary display is modified
based on the input from the Block 1330. For example while a movie
is being played on the primary display in Blocks 1310 and 1315,
additional information about the movie such as a related movie is
displayed on the secondary display in Block 1325. If the related
movie is selected based on the display through the secondary
display in Block 133, then the related movie will be displayed on
the primary display in Block 1335.
[0136] In one embodiment, content such as a movie or television
show is being displayed on the primary display. Based on the
subject matter of the content, targeted advertising is displayed on
the secondary display, and the secondary display is capable of
interacting independently with the targeted advertising from the
primary display. For example, a user of the secondary display can
purchase the product/service being offered through the secondary
display while the content continues to play on the primary display.
In one embodiment, the subject matter of a segment of the content
being displayed on the primary displayed can be detected through
the use of tags associated with that particular segment.
[0137] In another embodiment, a game such as a card game can be
played while using the primary and secondary displays. For example,
the score and any publicly available information (e.g., discarded
cards) is displayed on the primary display which is shared among
all the players. Each of the players also has a secondary display
such as a smart phone where private information such as their card
hand is only viewable by that particular player. As the particular
player modifies their respective secondary display by discarding a
card, the primary display is modified and shows the discarded
card.
[0138] FIG. 14 illustrates adding content to a playlist through a
client device 150 or input device 170 while leveraging the platform
server 120. In Block 1405, content is detected by the platform
server 120. In one embodiment, the platform server 120 is
configured to receive input that corresponds to content. For
example, an image captured by a camera associated with the input
device 170 represents content and is transmitted to the platform
server 120 via an email message. In this example, the captured
image may include a movie poster, an actor, and a director which
represents the content. The captured image may also be a bar code
which represents the content. In another embodiment, a title of the
content can also be sent to the platform server 120 via an email
message. In yet another embodiment, the actors or director
associated with the content can also be sent to the platform server
120 via an email message.
[0139] In another embodiment, content browsed through a website can
also be sent to the platform server 120. For example, the web page
can include an interface through an API (application protocol
interface) which allows the user who is viewing the web page to
select an icon thus capturing this content to be received by the
platform server 120. By selecting the icon, the content displayed
on the web page is sent to the platform server 120.
[0140] In Block 1410, availability of the content detected in Block
1405 is determined. In one embodiment, there are different states
of availability for the content. Exemplary states of availability
include free content, free content through a subscription, content
available for purchase, content available soon, and content not
available.
[0141] In Block 1415, the content is placed within a playlist. In
one embodiment, the playlist includes one or more selected content.
In one embodiment, the playlist is associated with a particular
user account and is stored within the user viewing data 314.
[0142] In Block 1420, the availability of the content within the
playlist is checked. In one embodiment, the availability is
dependent on the subscriptions of the particular user account. In
one embodiment, the availability is determined through the user
subscription data 315 within the platform database 125.
[0143] In Block 1425, the playlist is presented. In one embodiment,
the playlist is presented through the client device 150. In one
embodiment, the content within the playlist and the corresponding
availability of each content will also be displayed. An exemplary
display is shown in screenshots in FIGS. 5C, 5D, and 6.
[0144] In use, a user associated with a user account can identify
content of interest and have this content sent to a playlist for
later viewing on their client device 170. The user can identify the
content of interest by browsing the Internet, capturing images
related to content, and emailing titles of content. Further, the
playlist can be optimized through the recommendation module 235
where the user subscription data 315 is utilized to provide optimal
content providers for providing the content listed within the
playlist.
[0145] FIG. 15 illustrates sharing content among friends through a
client device 150 or input device 170 while leveraging the platform
server 120. In Block 1510, a list of friends is displayed. In one
embodiment, the list of friends is stored within the user
connection data 325 within the platform database 125. In one
embodiment, the user connection data 325 includes contacts or
friends associated with the particular user account.
[0146] In Block 1515, a selection from the list of friends is made
for sharing content. In Block 1520, content is detected for sharing
with the selection in the Block 1515. In one embodiment, the
content is detected through searching and browsing through the
client device 170. In another embodiment, the content can be found
within the playlist as described within FIG. 14, the content shown
within FIGS. 5A, 5B, 5C, 5D, and 6.
[0147] In Block 1525, a check is performed to confirm that sharing
with the selected friends from the Block 1515. If confirmation is
received, then a message is transmitted to the selected friend
within Block 1530. In one embodiment, the message allows the
selected friend to access the detected and shared content from the
Block 1520. In one embodiment, the shared content is checked for
availability for the recipient (selected friend). For example, the
subscriptions associated with the recipient are utilized to
determine availability of the content. In one embodiment, the
subscription information for the recipient is stored within the
user subscription data 315. In one instance, the shared content is
available for free to the recipient because the recipient is
already subscribed to a content provider that can provide the
shared content.
[0148] In another instance, the shared content is available to the
recipient for a fee. In yet another embodiment, the originator or
user account that is sharing the shared content with the recipient
is notified if the recipient cannot access the shared content
without paying a fee. In this instance, the originator or user
account that is sharing the shared content is able to purchase the
shared content for the recipient. This way, the recipient can have
access to the shared content without incurring additional fees or
undertaking any other actions to purchase or rent the shared
content. In one embodiment, the originator can earn referral
credits if the recipient should subscribe to the content
provider.
[0149] FIG. 16 illustrates dynamically preloading channels on the
client device 150 in anticipation of launching content associated
with the preloaded channels. In one embodiment, preloading channels
is coordinated through the platform server 120.
[0150] In Block 1600, the client device 150 is detected. In one
embodiment, the capabilities of the client device 150 are
discovered through the platform server 120. For example, the
authentication module 205 within the platform module 130 in
conjunction with the user device data 330 within the platform
database 125 are capable of discovering the capabilities of the
client device 150 by identifying the model number and base memory
configuration of the client device 150. In another embodiment, the
processing capability and the memory capacity of the client device
150 can by dynamically tested through the platform server 120.
[0151] In Block 1605, the application capacity is determined. In
one embodiment, the maximum number of applications that can
effectively run on the client device 150 is determined. In one
embodiment, the applications are channels that are running on the
client device 150. A channel is a specialized application that
allows content corresponding to the channel to be streamed through
the client device 150. Up to the maximum number of applications or
channels are capable of running on the client device 150 without
substantial degradation in performance.
[0152] If the channels are selected based on global popularity in
Block 1610, then the top channels based on global popularity are
selected in Block 1615. In one embodiment, global popularity is
determined through the public viewing data 335. For example, the
most watched channels in terms of number of viewers or duration of
viewing can be gathered from the public viewing data 335. These top
channels are selected and up to the maximum number of channels as
determined within the Block 1605 are preloaded onto the client
device 150 and run in the background prior to being utilized.
[0153] If the channels are selected based on prior use in Block
1620, then the top channels based on prior use by the client device
150 are selected in Block 1625. In one embodiment, the prior use is
determined through the user viewing data 310. For example, the most
watched channels in terms of number of views or duration of viewing
can be gathered from the user viewing data 310. These top channels
are selected and up to the maximum number of channels as determined
within the Block 1605 are preloaded onto the client device 150 and
run in the background prior to being utilized.
[0154] If the channels are selected based on subscriptions in Block
1630, then the top channels based on subscription by the client
device 150 are selected in Block 1625. In one embodiment, the
subscription is determined through the user subscription data 315.
For example, the subscription to channels associated with the user
account is stored within the user subscription data 315. The
subscribed channels are selected and up to the maximum number of
channels as determined within the Block 1605 are preloaded onto the
client device 150 and run in the background prior to being
utilized. In another embodiment, a sponsored channel can also be
included even though the user account associated with the client
device 150 is not subscribed to this channel. In one embodiment,
the sponsored channel is a paid placement.
[0155] If the channels are selected based on dynamic browsing
information in Block 1640, then the top channels based on the
proximity of browsing by the client device 150 are selected in
Blocks 1645 and 1650. In Block 1645, the current location of
browsing through the client device 150 is detected. For example,
the highlighted content 520 within FIG. 5A illustrates content
being highlighted in response to browsing from the client device
150.
[0156] In one embodiment, the channels associated with content near
the highlighted content are ranked and prioritized based on their
location to the highlighted content in Block 1650. Based on the
ranked and prioritized channels and maximum number of channels as
determined within the Block 1605, channels are preloaded onto the
client device 150 and run in the background prior to being
utilized. The channels can be re-ranked and re-prioritized based on
a different location of browsing being detected within the Block
1645.
[0157] In use, the preloaded channels run in the background on the
client device 150 prior to content being streamed through one of
the preloaded channels. In one embodiment, preloading the channels
on the client device 150 reduces the lag associated with streaming
content through one of the preloaded channels
[0158] FIG. 17 illustrates content augmentation operations
performed in accordance with an embodiment of the invention. In
Block 1705, content is displayed on a primary display. The primary
display may be display device 140 or FIG. 1. In one embodiment, the
content displayed on the primary display is a video stream such as
a movie or television show.
[0159] In Block 1710, a request for information is detected. In one
embodiment, the request is performed through the input device 170.
In another embodiment, the input device 170 is also the secondary
display device such as a tablet or Smartphone. In one embodiment,
the use of a "replay" function that is configured to replay content
streaming on the primary display device also initiates the request
for information in the Block 1710. In another embodiment, a
dedicated button to request additional information can be presented
on the input device 170.
[0160] In Block 1715, the portion of the content displayed on the
primary display device that corresponds to the request for
information detected within the Block 1710 is identified. For
example, the actors or items shown within the primary display
device at the time of the request would be identified. In one
embodiment, the duration prior to the detection of the request for
information could extend for 3 seconds. In other embodiments, the
duration could be longer or shorter.
[0161] In Block 1720, different choices are presented through the
secondary display device depending on the portion identified within
the Block 1715. For example if the portion identified within the
Block 1715 includes an actor, a car and a boat, then the choices of
the actor, the car and the boat are presented on the secondary
display as selection choices.
[0162] In Block 1725, a selection from the secondary display device
is detected. In one embodiment, the selection is received from the
secondary display device. If the selection is detected, then an
action is performed in response to the selection 1730. For example,
if the selection includes the actor, then information about the
actor is transmitted to the secondary display device.
[0163] In Block 1735, content continues to play on the primary
display device. In one embodiment, information continues to be
transmitted directly to the secondary display device while the
content continues to be displayed on the primary display
device.
[0164] In one embodiment, the streaming content continues playing
on the primary display device in Block 1705 even while the request
for information is received in Block 1710. In this embodiment, the
streaming content continues to play while information is discovered
on the secondary display device.
[0165] In another embodiment, the streaming content displayed on
the primary display device in Block 1705 is paused until Block 1735
when the streaming content resumes being displayed on the primary
display device.
[0166] An embodiment of the present invention relates to a computer
storage product with a computer readable storage medium having
computer code thereon for performing various computer-implemented
operations. The media and computer code may be those specially
designed and constructed for the purposes of the present invention,
or they may be of the kind well known and available to those having
skill in the computer software arts. Examples of computer-readable
media include, but are not limited to: magnetic media such as hard
disks, floppy disks, and magnetic tape; optical media such as
CD-ROMs, DVDs and holographic devices; magneto-optical media; and
hardware devices that are specially configured to store and execute
program code, such as application-specific integrated circuits
("ASICs"), programmable logic devices ("PLDs") and ROM and RAM
devices. Examples of computer code include machine code, such as
produced by a compiler, and files containing higher-level code that
are executed by a computer using an interpreter. For example, an
embodiment of the invention may be implemented using JAVA.RTM.,
C++, or other object-oriented programming language and development
tools. Another embodiment of the invention may be implemented in
hardwired circuitry in place of, or in combination with,
machine-executable software instructions.
[0167] The foregoing description, for purposes of explanation, used
specific nomenclature to provide a thorough understanding of the
invention. However, it will be apparent to one skilled in the art
that specific details are not required in order to practice the
invention. Thus, the foregoing descriptions of specific embodiments
of the invention are presented for purposes of illustration and
description. They are not intended to be exhaustive or to limit the
invention to the precise forms disclosed; obviously, many
modifications and variations are possible in view of the above
teachings. The embodiments were chosen and described in order to
best explain the principles of the invention and its practical
applications, they thereby enable others skilled in the art to best
utilize the invention and various embodiments with various
modifications as are suited to the particular use contemplated. It
is intended that the following claims and their equivalents define
the scope of the invention.
* * * * *