U.S. patent application number 11/824223 was filed with the patent office on 2007-10-25 for future capture of block matching clip.
Invention is credited to Edward O. Clapper.
Application Number | 20070250881 11/824223 |
Document ID | / |
Family ID | 25084641 |
Filed Date | 2007-10-25 |
United States Patent
Application |
20070250881 |
Kind Code |
A1 |
Clapper; Edward O. |
October 25, 2007 |
Future capture of block matching clip
Abstract
A method and apparatus for capturing future instances of a song
or a television show or the like. Responsive to a user activating a
trigger, typically during the middle of the song or show, the
system stores a clip and thereafter begins to monitor one or more
channels or stations, attempting to locate that clip, such as by
using DSP techniques. Upon finding the clip, the beginning and
ending points of the song or show are identified, and the song or
show is saved. Hunting may continue, to find a best available
version of the song or show, such as one having the best noise
characteristics.
Inventors: |
Clapper; Edward O.; (Tempe,
AZ) |
Correspondence
Address: |
TROP PRUNER & HU, PC
1616 S. VOSS ROAD, SUITE 750
HOUSTON
TX
77057-2631
US
|
Family ID: |
25084641 |
Appl. No.: |
11/824223 |
Filed: |
June 29, 2007 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
09769157 |
Jan 24, 2001 |
7254454 |
|
|
11824223 |
Jun 29, 2007 |
|
|
|
Current U.S.
Class: |
725/102 ;
348/E7.061 |
Current CPC
Class: |
H04N 7/163 20130101;
H04N 21/4334 20130101; H04N 21/44008 20130101; H04N 21/47214
20130101 |
Class at
Publication: |
725/102 |
International
Class: |
H04N 7/00 20060101
H04N007/00 |
Claims
1. A method comprising: receiving a media stream; searching in the
content for an instance of a clip that was captured from the media
stream; identifying the start of one segment including the clip as
an indicator in the content; and if the clip is found, storing said
one segment of the content; otherwise if the clip is not found,
discarding a portion of previously searched content.
2. The method of claim 1 wherein searching for a clip comprises:
performing digital signal processing upon a window of the stored
content to produce a digital signal processing window result;
performing digital signal processing upon the clip to produce a
digital signal processing clip result; and comparing the digital
signal processing window result to the digital signal processing
clip result.
3. The method of claim 1 further comprising: identifying an end
point of the one segment; and storing the one segment from the
start point to the end point.
4. The method of claim 1 further comprising: finding a plurality of
different clips in the content that has been stored; and storing a
plurality of segments of the content, each segment in the plurality
including a corresponding clip.
5. The method of claim 4 further comprising: comparing every clip
in said plurality to the stored content in parallel.
6. The method of claim 1 wherein the media stream comprises video
and the indicator that identifies the start includes blank
frames.
7. The method of claim 6 wherein the media stream comprises
television and the indicator that identifies the start includes a
predetermined time interval.
8. The method of claim 1 further comprising: receiving parameters,
and wherein at least one of the searching for a clip and storing a
segment are responsive to the parameters.
9. The method of claim 1 further comprising: identifying a media
content item corresponding to the clip; and obtaining the media
content item from a source which is different than the media
stream.
10. The method of claim 9 wherein the source is an on-line
retailer.
11. An apparatus comprising: a receiver to receive a digital media;
a capture trigger to designate a clip of the media stream; a
storage system coupled to the receiver to separately store the
clip, the media stream, and a block of content, said block a subset
of said digital media and including said clip; and a processing
system coupled to the storage system to receive an estimated time
into the block of content when the capture trigger was activated,
and based on the estimated time, search for the clip in the stored
digital media, in response to finding the clip, identify, in the
digital media, a start point of the block including the clip, and
store the block from the start.
12. The apparatus of claim 11 further comprising: a block manager
to store a block of the digital media to the storage system, the
clip a subset of the block.
13. The apparatus of claim 12 wherein the media stream comprises a
radio broadcast and the block comprises a song.
14. The apparatus of claim 12 wherein the media stream comprises a
television broadcast and the block comprises a television show.
15. The apparatus of claim 12 wherein the receiver is coupled to
receive the media stream over a wireless broadcast channel.
16. The apparatus of claim 12 wherein the receiver is coupled to
receive the media stream over a wired broadcast channel.
17. The apparatus of claim 12 further comprising: an output device
coupled to the receiver to play the media stream and wherein the
user controls the length of the clip stored.
18. The apparatus of claim 11 wherein the processing system
comprises a block manager, said block manager containing
instructions that, if executed enable the processor to locate two
blocks in the digital media, said blocks to include said clip.
19. The apparatus of claim 18 further including instructions that,
if executed, enable the block manager to compare a first block and
a second block, and to discard one of the compared blocks.
20. The apparatus of claim 19 further including instructions that,
if executed, enable the block manager to discard a portion of the
digital media that does not include the clip.
21. The apparatus of claim 18 wherein the storage comprises a clip
storage to store the clip, a block storage to store the two blocks,
and a stream storage to store the digital data corresponding with
the media stream.
22. A computer-readable medium comprising a machine-readable
storage medium containing instructions that if executed enable a
system to: receive a media stream to store said media stream in a
stream storage in digital form; search in the digital data from the
stream storage for an instance of a clip, the clip captured at
random and other than near a start of particular content item, said
capture before said search, said clip to be stored in a clip
storage; and if the clip is found, store, in a storage unit other
than said stream storage, a first portion of the digital data from
an identified start of the first portion to an identified endpoint
of the first portion and including the clip; otherwise if the clip
is not found, discarding a portion of the digital data that has
been searched.
23. The medium of claim 22 further comprising instructions that if
executed enable the system to find an additional clip in the
digital data at a third time later than said first time, and store
a second portion of the digital data greater than and including the
clip.
24. The medium of claim 23 further comprising instructions that if
executed enable the system to compare the first portion to the
second portion, and discard one of the portions, based on the
comparison.
25. The medium of claim 22 further comprising instructions that if
executed enable the system to identify a media content item
corresponding to the clip, and obtain the media content item from a
source which is different than the media stream.
26. The medium of claim 25 further comprising instructions that if
executed enable the system to obtain the media content item from an
on-line retailer.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation of U.S. patent
application Ser. No. 09/769,157, filed Jan. 24, 2001.
TECHNICAL FIELD OF THE INVENTION
[0002] The present invention relates generally to recording of
media content.
BACKGROUND ART
[0003] Presently, if a user wishes to record a media content item
in its entirety but the user did not begin recording at or before
the start of the media content item, the user will need to take
many steps at a future time to record it. The user will first need
to ascertain an identification of the media content item, then
identify a future time at which the media content item will be
rebroadcast, then begin recording prior to the rebroadcast. In many
instances, some or all of those steps can be difficult. Examples of
media content items may include a song the user is hearing on a
radio broadcast or a television program the user is watching on a
television broadcast, or the like.
BRIEF DESCRIPTION OF THE DRAWINGS
[0004] The invention will be understood more fully from the
detailed description given below and from the accompanying drawings
of embodiments of the invention which, however, should not be taken
to limit the invention to the specific embodiments described, but
are for explanation and understanding only.
[0005] FIG. 1 shows a block diagram representation of one
embodiment of an apparatus of the invention.
[0006] FIG. 2 shows a flowchart representation of one embodiment of
a method of the invention.
DETAILED DESCRIPTION
[0007] While the invention will, for the sake of simplicity and
clarity, be explained in terms of an exemplary embodiment which is
used to perform future capture of a song from a radio broadcast,
the skilled reader will readily appreciate that the invention is
not limited to this embodiment. Rather, the invention has
applicability in a variety of embodiments and with a variety of
media content types. The invention may be utilized in capturing
media content items which have defined beginning and ending points,
such as songs or television shows, but it may also be utilized in
capturing arbitrary portions of a media stream lacking
predetermined starting or ending points. The phrase "block" will be
used herein to refer generically to both complete songs/shows/etc.
and/or to portions or arbitrary segments of such, or to continuous
streams of content.
[0008] FIG. 1 illustrates one embodiment of a system which utilizes
the invention to perform future capture of a block from one or more
incoming media streams ("stream"). The term "stream" should not be
interpreted as necessarily meaning "streaming media", but is
intended to cover broadcasts and transmissions of all forms,
whether they be carried over the airwaves, over cable or other
wired system, or any other suitable communication mechanism. The
system includes a receiver which receives the stream, perhaps more
than one stream at a time from one or more communication
mechanisms. The system includes an output device such as a speaker
for presenting the stream to the user; the output device may in
some embodiments be implemented integrally with the receiver and/or
with the other portions of the system. In other embodiments, such
as a car radio, the output device such as speakers may be
implemented separately from the receiver and/or the future capture
system.
[0009] The system includes a storage system, coupled to the
receiver. The storage system includes storage for one or more clips
("clip storage"), one or more blocks ("block storage"), and one or
more streams ("stream storage"). In one embodiment, these may be
implemented as separate storage units of a same type or of
different types. In another embodiment, one or more of them may be
implemented as logically distinct units within a single actual
storage device. Any suitable type of storage medium may be used,
such as semiconductor memory, hard drive, CD-R or CD-RW, tape, or
the like.
[0010] The system further includes a processing system, coupled to
the storage system in one embodiment. In other embodiments, it may
be coupled to the receiver and/or the storage system. The
processing system may be constructed in hardware and/or software.
It includes a clip manager and a block manager. In some
embodiments, the clip manager and block manager may be distinct,
while in other embodiments, they may be, for example, portions of
the same software application.
[0011] Finally, the system includes a capture trigger. The capture
trigger includes at least an input mechanism (not shown), and in
some embodiments may further include an output mechanism (not
shown).
[0012] The system may, in some embodiments, optionally have access
to an external list source and/or a block source. The list source
may be, for example, a play list on a radio station's website,
identifying a list of songs that the radio station plays, and
perhaps a list of times and dates when they have been played. The
block source may be, for example, an on-line music retailer.
[0013] FIG. 2 illustrates one embodiment of a method of operation
of the future capture system. Please make continued reference also
to FIG. 1. The receiver receives (20) the media stream and outputs
it for the user. In some embodiments, the system may also record
the incoming media stream.
[0014] At some arbitrary time, the user takes some action to
indicate a desire to capture the presently-playing song, such as by
pressing a "Capture" button on the radio. The processing system
receives (22) this input from the capture trigger, and its clip
manager begins storing (24) a "clip" from the incoming media stream
to the clip storage. In one mode, the clip store may store the clip
itself, such as an analog-to-digital conversion of the clip. In
other modes, the clip store may store some other representation of
the clip, such as a cyclic redundancy check value of the clip, or a
digital signal processing (DSP) representation of the clip, or some
other representation which is suitable for future comparing against
the media stream to locate a matching portion.
[0015] The reader will appreciate that a "matching" portion of the
stream will not necessarily be a digitally exact equivalent of the
clip. For example, the subsequent rebroadcast of the same block may
be on a different station having different sound shaping
characteristics, or it may be sent with different gain on the
carrier signal, or it may be in a more or less noisy ambient
environment, and so forth. Well-known digital signal processing
techniques are equipped to identify matches within a predetermined
or controllable level of likelihood or tolerance.
[0016] In one embodiment, the user may control the length of the
clip stored, such as by holding down the "Capture" button. In other
embodiments, there may be a default length, such as ten
seconds.
[0017] In some embodiments, the processing system may prompt (26)
the user to enter one or more parameters concerning the clip, the
block, and/or the stream. There are many possible parameters. By
way of example only and not limitation, the user may indicate and
the clip manager may receive (28): [0018] estimated time into the
block that the trigger was hit [0019] length of possible block to
watch for [0020] suspected name of the song and/or album and/or
artist [0021] number and/or identity of radio stations to monitor
for future capture of this song [0022] number of instances to save
for best-instance comparison [0023] maximum allowable price [0024]
preferred source [0025] song style [0026] movie genre [0027]
etc.
[0028] The reader will appreciate that, in most embodiments, the
receiving, storing, and outputting (20) does not end, but will be
an ongoing process during the rest of the method of the
invention.
[0029] The block manager compares (30) the clip against the
incoming stream, attempting to determine whether the block is found
in the stream. In some embodiments, this may be accomplished using
conventional digital signal processing techniques. In some
embodiments, the block manager may utilize a sliding "window" over
the stored stream and, when the window moves ahead without finding
a match against the clip, the already-analyzed portion of the
stored stream may be discarded (32). The block manager may generate
a DSP result, or a CRC value, or the like, based upon the contents
of the window.
[0030] If, however, the clip is found in the window, the block
manager will set about storing (34) the block. Typically, this may
involve attempting to identify a starting point of the block. In
the case of a radio broadcast, there may or may not be near silence
at the beginning of the song. In the case of a television
broadcast, the block manager may look for blank frames or it may
estimate based upon the fact that most shows begin on half-hour
times. The block manager may make its own determination, or it may
prompt the user to identify the start or to validate the block
manager's identification of the start. The same holds true for the
end, as well. Ultimately, the block will be stored to the block
storage.
[0031] In some embodiments, the block manager may continue hunting
for further instances of that same block. The first instance found
may be imperfect. For example, the radio station may have faded an
immediately-previous song out as it was fading this song in. Or,
the DJ may have been talking over the beginning of the song. Or,
there may have been radio interference or other noise, and so
forth.
[0032] The block manager compares (36) the new block against any
previously-captured and stored instances of that block. If the new
block is not better (as determined by the block manager or the
user), the block manager may optionally discard (40) the new block.
Otherwise, it may optionally discard (42) the previous instances of
the block. Typically, it may be desirable to only store a then-best
instance. In other cases, it may be desirable to store all
instances, in case the user may wish to pick a best one at a later
time or in better circumstances or using different equipment.
[0033] If (44) the block manager has been configured to continue
looking for further instances, the method continues. Otherwise, the
clip manager may optionally discard (46) the clip.
[0034] Back at decision (30), in some embodiments, upon finding the
clip in the search window, the processing system may also
optionally find (48) an identification of the currently-playing
block from a list source. The list source will typically be an
external source, but may be internal to the system. In some cases,
identifying the block may include querying the radio station's
website. The website may identify the currently-playing song, in
which case the identification is complete, and the block manager
may acquire (50) the block from a block source, such as an on-line
retailer. In other cases, the website may only include a list of
songs that are in rotation at this general time. In those cases,
the block manager may have to acquire each of those from the block
source until it finds one that matches the clip. Ideally, the block
source would not charge for providing the non-matching blocks. Once
the block is found, acquired, and stored, the clip and parameters
may be discarded (54). In most instances, a block acquired from an
external block source will be of sufficiently good quality that
there may not be any need to continue (44) hunting for additional
instances.
[0035] In some embodiments, the clip manager and block manager may
be equipped to hunt for only a single clip/block at a time. In
other embodiments, they may be equipped to hunt for multiple
clips/blocks at a time. Clip comparison can be applied to every
stream element sequentially or in parallel, looking for desired
blocks.
[0036] In various embodiments, the apparatus may be embodied as a
car radio, a radio or television for use in a home entertainment
system, a cable/satellite set-top box, gaming console, or other
suitable system or format.
[0037] Reference to "subsequent" does not necessarily mean
"immediately following".
[0038] Reference in the specification to "an embodiment," "one
embodiment," "some embodiments," or "other embodiments" means that
a particular feature, structure, or characteristic described in
connection with the embodiments is included in at least some
embodiments, but not necessarily all embodiments, of the invention.
The various appearances "an embodiment," "one embodiment," or "some
embodiments" are not necessarily all referring to the same
embodiments.
[0039] If the specification states a component, feature, structure,
or characteristic "may", "might", or "could" be included, that
particular component, feature, structure, or characteristic is not
required to be included. If the specification or claim refers to
"a" or "an" element, that does not mean there is only one of the
element. If the specification or claims refer to "an additional"
element, that does not preclude there being more than one of the
additional element.
[0040] Those skilled in the art having the benefit of this
disclosure will appreciate that many other variations from the
foregoing description and drawings may be made within the scope of
the present invention. Indeed, the invention is not limited to the
details described above. Rather, it is the following claims
including any amendments thereto that define the scope of the
invention.
* * * * *