US20070118873A1 - Methods and apparatus for merging media content - Google Patents
Methods and apparatus for merging media content Download PDFInfo
- Publication number
- US20070118873A1 US20070118873A1 US11/446,543 US44654306A US2007118873A1 US 20070118873 A1 US20070118873 A1 US 20070118873A1 US 44654306 A US44654306 A US 44654306A US 2007118873 A1 US2007118873 A1 US 2007118873A1
- Authority
- US
- United States
- Prior art keywords
- content
- segments
- media
- metadata
- audio
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/48—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/43—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/41—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/63—Querying
- G06F16/638—Presentation of query results
- G06F16/639—Presentation of query results using playlists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/68—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/68—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/683—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
- G06F16/685—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using automatically derived transcript of audio data, e.g. lyrics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/73—Querying
- G06F16/738—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/78—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/783—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
- G06F16/7844—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using original textual content or text extracted from visual content or transcript of audio data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9538—Presentation of query results
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/44016—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/482—End-user interface for program selection
- H04N21/4828—End-user interface for program selection for searching program descriptors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8549—Creating video summaries, e.g. movie trailer
Definitions
- aspects of the invention relate to methods and apparatus for generating and using enhanced metadata in search-driven applications.
- Metadata which can be broadly defined as “data about data,” refers to the searchable definitions used to locate information. This issue is particularly relevant to searches on the Web, where metatags may determine the ease with which a particular Web site is located by searchers. Metadata that are embedded with content is called embedded metadata.
- a data repository typically stores the metadata detached from the data.
- Results obtained from search engine queries are limited to metadata information stored in a data repository, referred to as an index.
- the metadata information that describes the audio content or the video content is typically limited to information provided by the content publisher.
- the metadata information associated with audio/video podcasts generally consists of a URL link to the podcast, title, and a brief summary of its content. If this limited information fails to satisfy a search query, the search engine is not likely to provide the corresponding audio/video podcast as a search result even if the actual content of the audio/video podcast satisfies the query.
- the invention features an automated method and apparatus for generating metadata enhanced for audio, video or both (“audio/video”) search-driven applications.
- the apparatus includes a media indexer that obtains a media file or stream (“media file/stream”), applies one or more automated media processing techniques to the media file/stream, combines the results of the media processing into metadata enhanced for audio/video search, and stores the enhanced metadata in a searchable index or other data repository.
- the media file/stream can be an audio/video podcast, for example.
- the invention features a computerized method and apparatus for merging content segments from a number of discrete media content for playback.
- a user wanted to listen to or view a particular topic available in a number of audio/video podcasts, the user had to download each of the podcasts and then listen to or view the entire podcast content until the desired topic was reached.
- the media player included the ability to fast forward media playback, the user would more than likely not know when the beginning of the desired topic segment began.
- the podcast or other media file/stream contained the desired content, the user would have to expend unnecessary effort in “fishing” for the desired content in each podcast.
- embodiments of the invention obtain metadata corresponding to a plurality of discrete media content, such that the metadata identifies content segments and their corresponding timing information derived from the underlying media content using one or more media processing techniques. A set of the content segments are then selected and merged for playback using the timing information from each of the corresponding metadata.
- the merged media content is implemented as a playlist that identifies the content segments to be merged for playback.
- the playlist can include timing information for accessing these segments during playback within each of the corresponding media files/streams (e.g., podcasts) and an express or implicit playback order of the segments.
- the playlist and each of the corresponding media files/streams are provided in their entirety to a client for playback, storage or further processing.
- the merged media content is generated by extracting the content segments to be merged for playback from each of the media files/streams (e.g., podcasts) and then merging the extracted segments into one or more merged media files/streams.
- a playlist can be provided with the merged media files/streams to enable a user to navigate among the desired segments using a media player.
- the one or more merged media files/streams and the optional playlist are then provided to the client for playback, storage or further processing.
- the computerized method and apparatus can include the steps of, or structure for, obtaining metadata corresponding to a plurality of discrete media content, the corresponding metadata identifying content segments and corresponding timing information, wherein the metadata of at least one of the plurality of discrete media content is derived from the plurality of discrete media content using one or more media processing techniques; selecting a set of content segments for playback from among the content segments identified in the corresponding metadata; and using the timing information from the corresponding metadata to enable playback of the selected set of content segments at a client.
- the computerized method and apparatus can further include the steps of, or structure for, using the timing information from the corresponding metadata to generate a play list that enables playback of the selected set of content segments by identifying the selected set of content segments and corresponding timing information for accessing the selected set of content segments in the plurality of discrete media content.
- the computerized method and apparatus can further include the steps of, or structure for, downloading the plurality of discrete media content and the play list to a client for playback.
- the computerized method and apparatus can further include the steps of, or structure for, using the timing information from the corresponding metadata to extract the selected set of content segments from the plurality of discrete media content; and merging the extracted segments into one or more discrete media content.
- the computerized method and apparatus can further include the steps of, or structure for, downloading the one or more discrete media content containing the extracted segments to a client for playback.
- the computerized method and apparatus can further include the steps of, or structure for, using the timing information from the corresponding metadata to generate a play list that enables playback of the extracted segments by identifying each of the extracted segments and corresponding timing information for accessing the extracted segments in the one or more discrete media content.
- the play list can enable ordered or arbitrary playback of the extracted segments that are merged into the one or more discrete media content.
- the computerized method and apparatus can further include the steps of, downloading the one or more discrete media content containing the extracted segments and the play list to a client for playback.
- the timing information can include an offset and a duration.
- the timing information can include a start offset and an end offset.
- the timing information can include a marker embedded within each of the plurality of discrete media content.
- the metadata can be separate from the media content.
- the metadata can be embedded within the media content.
- At least one of the plurality of discrete media content can include a video component and one or more of the content segments can include portions of the video component identified using an image processing technique.
- One or more of the content segments identified in the metadata can include video of individual scenes, watermarks, recognized objects, recognized faces, or overlay text.
- At least one of the plurality of discrete media content can include an audio component and one or more of the content segments including portions of the audio component identified using a speech recognition technique. At least one of the plurality of discrete media content can include an audio component and one or more of the content segments including portions of the audio component identified using a natural language processing technique.
- One or more of the content segments identified in the metadata can include audio corresponding to an individual word, audio corresponding to a phrase, audio corresponding to a sentence, audio corresponding to a paragraph, audio corresponding to a story, audio corresponding to a topic, audio within a range of volume levels, audio of an identified speaker, audio during a speaker turn, audio associated with a speaker emotion, audio of non-speech sounds, audio separated by sound gaps, or audio corresponding to a named entity, for example.
- the computerized method and apparatus can further include the steps of, or structure for, using the metadata corresponding to the plurality of discrete media content to generate a display that enables a user to select the set of content segments for playback from the plurality of discrete media content.
- the computerized method and apparatus can further include the steps of, or structure for, obtaining the metadata corresponding to the plurality of discrete media content in response to a search query; and using the metadata to generate a display of search results that enables a user to select the set of content segments for playback from the plurality of discrete media content.
- the invention features a computerized method and apparatus for providing a virtual media channel based on media search.
- the computerized method features the steps of obtaining a set of rules that define instructions for obtaining media content that comprise the content for a media channel, the set including at least one rule with instructions to include media content resulting from a search; searching for candidate media content according to a search query defined by the at least one rule; and merging one or more of the candidate media content resulting from the search into the content for the media channel.
- the candidate media content can include segments of the media content resulting from the search.
- the set of rules can include at least one rule with instructions to include media content resulting from a search and at least one rule with instructions to add media content from a predetermined location.
- the media content from the predetermined location can include factual, informational or advertising content.
- the candidate media content can be associated with a story, topic, scene or channel.
- the search query of the at least one rule can be predetermined by a content provider of the media channel.
- the search query of the at least one rule can be configurable by a content provider of the media channel or an end user requesting access to the media channel.
- the computerized method can further include the steps of accessing a database for a plurality of metadata documents descriptive of media files or streams, each of the plurality of metadata documents including searchable text of an audio portion of a corresponding media file or stream; and searching for the candidate media content that satisfy the search query defined by the at least one rule within the database.
- Each of the plurality of metadata documents can include an index of content segments available for playback within a corresponding media file or stream, including timing information defining boundaries of each of the content segments.
- the computerized method can further include the steps of merging one or more of the content segments of the candidate media content from a set of media files or streams using the timing information from metadata documents corresponding to the set of media files or streams.
- At least one of the plurality of metadata documents can include an index of content segments derived using one or more media processing techniques.
- the one or more media processing techniques can include at least one automated media processing technique.
- the one or more media processing techniques can include at least one manual media processing technique.
- the computerized method can further include the step of merging one or more of the candidate media content resulting from the search according to a specific or relative number allocated by the at least one rule.
- the computerized method can further include the step of merging one or more of the candidate media content resulting from the search according to a maximum duration of content for the media channel.
- the computerized method can further include the step of merging the content for the media channel into one or more media files or stream for delivery.
- the computerized method can further include the step of merging the content for the media channel into a playlist for delivery.
- the computerized method can further include the steps of receiving an indication of a selected media channels from among a plurality of available media channels; and obtaining the set of rules that define instructions for obtaining media content that comprise the selected media channel, the set of rules for the selected media channel being different from the set of rules for other available media channels.
- the computerized method can further include the step of filtering and sorting the order of candidate media content for inclusion into the content for the media channel.
- an apparatus for providing content for a media channel includes a channel selector that obtains a set of rules that define instructions for obtaining media content that comprise the content for a media channel, the set including at least one rule with instructions to include media content resulting from a search; a search engine capable of searching for candidate media content according to a search query defined by the at least one rule; and a media merge module that merges one or more of the candidate media content resulting from the search into the content for the media channel.
- the candidate media content can include segments of the media content resulting from the search.
- the apparatus can further include a segment cropper capable of identifying timing boundaries of the segments of media content resulting from the search.
- the candidate segments can be associated with a story, topic, scene, or channel.
- the search query of the at least one rule is predetermined by a content provider of the media channel.
- the channel selector can enable a content provider of the media channel or an end user requesting access to the media channel to configure the search query of the at least one rule.
- the apparatus can further include a database storing a plurality of metadata documents descriptive of media files or streams, each of the plurality of metadata documents including searchable text of an audio portion of a corresponding media file or stream; and the search engine searching for the candidate media content that satisfy the search query defined by the at least one rule within the database.
- Each of the plurality of metadata documents can include an index of content segments available for playback within a corresponding media file or stream, including timing information defining boundaries of each of the content segments.
- the media merge module can be capable of merging one or more of the content segments of the candidate media content from a set of media files or streams using the timing information from metadata documents corresponding to the set of media files or streams.
- At least one of the plurality of metadata documents can include an index of content segments derived using one or more media processing techniques.
- the apparatus can further include an engine capable of filtering and sorting the order of candidate inclusion into the content for the media channel.
- FIG. 1A is a diagram illustrating an apparatus and method for generating metadata enhanced for audio/video search-driven applications.
- FIG. 1B is a diagram illustrating an example of a media indexer.
- FIG. 2 is a diagram illustrating an example of metadata enhanced for audio/video search-driven applications.
- FIG. 3 is a diagram illustrating an example of a search snippet that enables user-directed navigation of underlying media content.
- FIGS. 4 and 5 are diagrams illustrating a computerized method and apparatus for generating search snippets that enable user navigation of the underlying media content.
- FIG. 6A is a diagram illustrating another example of a search snippet that enables user navigation of the underlying media content.
- FIGS. 6B and 6C are diagrams illustrating a method for navigating media content using the search snippet of FIG. 6A .
- FIG. 7 is a diagram illustrating an apparatus for merging content segments for playback.
- FIG. 8 is a flow diagram illustrating a computerized method for merging content segments for playback.
- FIGS. 9A and 9B are diagrams illustrating a computerized method for merging content segments for playback according to the first embodiment.
- FIGS. 10A-10C are diagrams illustrating a computerized method for merging content segments for playback according to the second embodiment.
- FIGS. 11A and 11B are diagrams illustrating a system and method, respectively, for providing a virtual media channel based on media search.
- FIG. 12 provides a diagram illustrating an exemplary user interface for channel selection.
- FIG. 13 is a diagram that illustrates an exemplary metadata document including a timed segment index.
- the invention features an automated method and apparatus for generating metadata enhanced for audio/video search-driven applications.
- the apparatus includes a media indexer that obtains an media file/stream (e.g., audio/video podcasts), applies one or more automated media processing techniques to the media file/stream, combines the results of the media processing into metadata enhanced for audio/video search, and stores the enhanced metadata in a searchable index or other data repository.
- an media file/stream e.g., audio/video podcasts
- the apparatus includes a media indexer that obtains an media file/stream (e.g., audio/video podcasts), applies one or more automated media processing techniques to the media file/stream, combines the results of the media processing into metadata enhanced for audio/video search, and stores the enhanced metadata in a searchable index or other data repository.
- FIG. 1A is a diagram illustrating an apparatus and method for generating metadata enhanced for audio/video search-driven applications.
- the media indexer 10 cooperates with a descriptor indexer 50 to generate the enhanced metadata 30 .
- a content descriptor 25 is received and processed by both the media indexer 10 and the descriptor indexer 50 .
- the metadata 27 corresponding to one or more audio/video podcasts includes a title, summary, and location (e.g., URL link) for each podcast.
- the descriptor indexer 50 extracts the descriptor metadata 27 from the text and embedded metatags of the content descriptor 25 and outputs it to a combiner 60 .
- the content descriptor 25 can also be a simple web page link to a media file.
- the link can contain information in the text of the link that describes the file and can also include attributes in the HTML that describe the target media file.
- the media indexer 10 reads the metadata 27 from the content descriptor 25 and downloads the audio/video podcast 20 from the identified location.
- the media indexer 10 applies one or more automated media processing techniques to the downloaded podcast and outputs the combined results to the combiner 60 .
- the metadata information from the media indexer 10 and the descriptor indexer 50 are combined in a predetermined format to form the enhanced metadata 30 .
- the enhanced metadata 30 is then stored in the index 40 accessible to search-driven applications such as those disclosed herein.
- the descriptor indexer 50 is optional and the enhanced metadata is generated by the media indexer 10 .
- FIG. 1B is a diagram illustrating an example of a media indexer.
- the media indexer 10 includes a bank of media processors 100 that are managed by a media indexing controller 110 .
- the media indexing controller 110 and each of the media processors 100 can be implemented, for example, using a suitably programmed or dedicated processor (e.g., a microprocessor or microcontroller), hardwired logic, Application Specific Integrated Circuit (ASIC), and a Programmable Logic Device (PLD) (e.g., Field Programmable Gate Array (FPGA)).
- a suitably programmed or dedicated processor e.g., a microprocessor or microcontroller
- ASIC Application Specific Integrated Circuit
- PLD Programmable Logic Device
- FPGA Field Programmable Gate Array
- a content descriptor 25 is fed into the media indexing controller 110 , which allocates one or more appropriate media processors 100 a . . . 100 n to process the media files/streams 20 identified in the metadata 27 .
- Each of the assigned media processors 100 obtains the media file/stream (e.g., audio/video podcast) and applies a predefined set of audio or video processing routines to derive a portion of the enhanced metadata from the media content.
- Examples of known media processors 100 include speech recognition processors 100 a , natural language processors 100 b , video frame analyzers 100 c , non-speech audio analyzers 100 d , marker extractors 100 e and embedded metadata processors 100 f .
- Other media processors known to those skilled in the art of audio and video analysis can also be implemented within the media indexer.
- the results of such media processing define timing boundaries of a number of content segment within a media file/stream, including timed word segments 105 a , timed audio speech segments 105 b , timed video segments 105 c , timed non-speech audio segments 105 d , timed marker segments 105 e , as well as miscellaneous content attributes 105 f , for example.
- FIG. 2 is a diagram illustrating an example of metadata enhanced for audio/video search-driven applications.
- the enhanced metadata 200 include metadata 210 corresponding to the underlying media content generally.
- metadata 210 can include a URL 215 a , title 215 b , summary 215 c , and miscellaneous content attributes 215 d .
- Such information can be obtained from a content descriptor by the descriptor indexer 50 .
- An example of a content descriptor is a Really Simple Syndication (RSS) document that is descriptive of one or more audio/video podcasts.
- RSS Really Simple Syndication
- such information can be extracted by an embedded metadata processor 100 f from header fields embedded within the media file/stream according to a predetermined format.
- the enhanced metadata 200 further identifies individual segments of audio/video content and timing information that defines the boundaries of each segment within the media file/stream. For example, in FIG. 2 , the enhanced metadata 200 includes metadata that identifies a number of possible content segments within a typical media file/stream, namely word segments, audio speech segments, video segments, non-speech audio segments, and/or marker segments, for example.
- the metadata 220 includes descriptive parameters for each of the timed word segments 225 , including a segment identifier 225 a , the text of an individual word 225 b , timing information defining the boundaries of that content segment (i.e., start offset 225 c , end offset 225 d , and/or duration 225 e ), and optionally a confidence score 225 f .
- the segment identifier 225 a uniquely identifies each word segment amongst the content segments identified within the metadata 200 .
- the text of the word segment 225 b can be determined using a speech recognition processor 100 a or parsed from closed caption data included with the media file/stream.
- the start offset 225 c is an offset for indexing into the audio/video content to the beginning of the content segment.
- the end offset 225 d is an offset for indexing into the audio/video content to the end of the content segment.
- the duration 225 e indicates the duration of the content segment.
- the start offset, end offset and duration can each be represented as a timestamp, frame number or value corresponding to any other indexing scheme known to those skilled in the art.
- the confidence score 225 f is a relative ranking (typically between 0 and 1) provided by the speech recognition processor 100 a as to the accuracy of the recognized word.
- the metadata 230 includes descriptive parameters for each of the timed audio speech segments 235 , including a segment identifier 235 a , an audio speech segment type 235 b , timing information defining the boundaries of the content segment (e.g., start offset 235 c , end offset 235 d , and/or duration 235 e ), and optionally a confidence score 235 f .
- the segment identifier 235 a uniquely identifies each audio speech segment amongst the content segments identified within the metadata 200 .
- the audio speech segment type 235 b can be a numeric value or string that indicates whether the content segment includes audio corresponding to a phrase, a sentence, a paragraph, story or topic, particular gender, and/or an identified speaker.
- the audio speech segment type 235 b and the corresponding timing information can be obtained using a natural language processor 100 b capable of processing the timed word segments from the speech recognition processors 100 a and/or the media file/stream 20 itself.
- the start offset 235 c is an offset for indexing into the audio/video content to the beginning of the content segment.
- the end offset 235 d is an offset for indexing into the audio/video content to the end of the content segment.
- the duration 235 e indicates the duration of the content segment.
- the start offset, end offset and duration can each be represented as a timestamp, frame number or value corresponding to any other indexing scheme known to those skilled in the art.
- the confidence score 235 f can be in the form of a statistical value (e.g., average, mean, variance, etc.) calculated from the individual confidence scores 225 f of the individual word segments.
- the metadata 240 includes descriptive parameters for each of the timed video segments 245 , including a segment identifier 225 a , a video segment type 245 b , and timing information defining the boundaries of the content segment (e.g., start offset 245 c , end offset 245 d , and/or duration 245 e ).
- the segment identifier 245 a uniquely identifies each video segment amongst the content segments identified within the metadata 200 .
- the video segment type 245 b can be a numeric value or string that indicates whether the content segment corresponds to video of an individual scene, watermark, recognized object, recognized face, or overlay text.
- the video segment type 245 b and the corresponding timing information can be obtained using a video frame analyzer 100 c capable of applying one or more image processing techniques.
- the start offset 235 c is an offset for indexing into the audio/video content to the beginning of the content segment.
- the end offset 235 d is an offset for indexing into the audio/video content to the end of the content segment.
- the duration 235 e indicates the duration of the content segment.
- the start offset, end offset and duration can each be represented as a timestamp, frame number or value corresponding to any other indexing scheme known to those skilled in the art.
- the metadata 250 includes descriptive parameters for each of the timed non-speech audio segments 255 include a segment identifier 225 a , a non-speech audio segment type 255 b , and timing information defining the boundaries of the content segment (e.g., start offset 255 c , end offset 255 d , and/or duration 255 e ).
- the segment identifier 255 a uniquely identifies each non-speech audio segment amongst the content segments identified within the metadata 200 .
- the audio segment type 235 b can be a numeric value or string that indicates whether the content segment corresponds to audio of non-speech sounds, audio associated with a speaker emotion, audio within a range of volume levels, or sound gaps, for example.
- the non-speech audio segment type 255 b and the corresponding timing information can be obtained using a non-speech audio analyzer 100 d .
- the start offset 255 c is an offset for indexing into the audio/video content to the beginning of the content segment.
- the end offset 255 d is an offset for indexing into the audio/video content to the end of the content segment.
- the duration 255 e indicates the duration of the content segment.
- the start offset, end offset and duration can each be represented as a timestamp, frame number or value corresponding to any other indexing scheme known to those skilled in the art.
- the metadata 260 includes descriptive parameters for each of the timed marker segments 265 , including a segment identifier 265 a , a marker segment type 265 b , timing information defining the boundaries of the content segment (e.g., start offset 265 c , end offset 265 d , and/or duration 265 e ).
- the segment identifier 265 a uniquely identifies each video segment amongst the content segments identified within the metadata 200 .
- the marker segment type 265 b can be a numeric value or string that can indicates that the content segment corresponds to a predefined chapter or other marker within the media content (e.g., audio/video podcast).
- the marker segment type 265 b and the corresponding timing information can be obtained using a marker extractor 100 e to obtain metadata in the form of markers (e.g., chapters) that are embedded within the media content in a manner known to those skilled in the art.
- the invention features a computerized method and apparatus for generating and presenting search snippets that enable user-directed navigation of the underlying audio/video content.
- the method involves obtaining metadata associated with discrete media content that satisfies a search query.
- the metadata identifies a number of content segments and corresponding timing information derived from the underlying media content using one or more automated media processing techniques.
- a search result or “snippet” can be generated that enables a user to arbitrarily select and commence playback of the underlying media content at any of the individual content segments.
- FIG. 3 is a diagram illustrating an example of a search snippet that enables user-directed navigation of underlying media content.
- the search snippet 310 includes a text area 320 displaying the text 325 of the words spoken during one or more content segments of the underlying media content.
- a media player 330 capable of audio/video playback is embedded within the search snippet or alternatively executed in a separate window.
- the text 325 for each word in the text area 320 is preferably mapped to a start offset of a corresponding word segment identified in the enhanced metadata.
- an object e.g. SPAN object
- the object defines a start offset of the word segment and an event handler.
- Each start offset can be a timestamp or other indexing value that identifies the start of the corresponding word segment within the media content.
- the text 325 for a group of words can be mapped to the start offset of a common content segment that contains all of those words.
- Such content segments can include a audio speech segment, a video segment, or a marker segment, for example, as identified in the enhanced metadata of FIG. 2 .
- Playback of the underlying media content occurs in response to the user selection of a word and begins at the start offset corresponding to the content segment mapped to the selected word or group of words.
- User selection can be facilitated, for example, by directing a graphical pointer over the text area 320 using a pointing device and actuating the pointing device once the pointer is positioned over the text 325 of a desired word.
- the object event handler provides the media player 330 with a set of input parameters, including a link to the media file/stream and the corresponding start offset, and directs the player 330 to commence or otherwise continue playback of the underlying media content at the input start offset.
- the media player 330 begins to plays back the media content at the audio/video segment starting with “state of the union address . . . ”
- the media player 330 commences playback of the audio/video segment starting with “bush outlined . . . ”
- An advantage of this aspect of the invention is that a user can read the text of the underlying audio/video content displayed by the search snippet and then actively “jump to” a desired segment of the media content for audio/video playback without having to listen to or view the entire media stream.
- FIGS. 4 and 5 are diagrams illustrating a computerized method and apparatus for generating search snippets that enable user navigation of the underlying media content.
- a client 410 interfaces with a search engine module 420 for searching an index 430 for desired audio/video content.
- the index includes a plurality of metadata associated with a number of discrete media content and enhanced for audio/video search as shown and described with reference to FIG. 2 .
- the search engine module 420 also interfaces with a snippet generator module 440 that processes metadata satisfying a search query to generate the navigable search snippet for audio/video content for the client 410 .
- Each of these modules can be implemented, for example, using a suitably programmed or dedicated processor (e.g., a microprocessor or microcontroller), hardwired logic, Application Specific Integrated Circuit (ASIC), and a Programmable Logic Device (PLD) (e.g., Field Programmable Gate Array (FPGA)).
- a suitably programmed or dedicated processor e.g., a microprocessor or microcontroller
- hardwired logic e.g., Application Specific Integrated Circuit (ASIC), and a Programmable Logic Device (PLD) (e.g., Field Programmable Gate Array (FPGA)).
- ASIC Application Specific Integrated Circuit
- PLD Programmable Logic Device
- FPGA Field Programmable Gate Array
- FIG. 5 is a flow diagram illustrating a computerized method for generating search snippets that enable user-directed navigation of the underlying audio/video content.
- the search engine 420 conducts a keyword search of the index 430 for a set of enhanced metadata documents satisfying the search query.
- the search engine 420 obtains the enhanced metadata documents descriptive of one or more discrete media files/streams (e.g., audio/video podcasts).
- the snippet generator 440 obtains an enhanced metadata document corresponding to the first media file/stream in the set.
- the enhanced metadata identifies content segments and corresponding timing information defining the boundaries of each segment within the media file/stream.
- the snippet generator 440 reads or parses the enhanced metadata document to obtain information on each of the content segments identified within the media file/stream.
- the information obtained preferably includes the location of the underlying media content (e.g. URL), a segment identifier, a segment type, a start offset, an end offset (or duration), the word or the group of words spoken during that segment, if any, and an optional confidence score.
- Step 530 is an optional step in which the snippet generator 440 makes a determination as to whether the information obtained from the enhanced metadata is sufficiently accurate to warrant further search and/or presentation as a valid search snippet.
- each of the word segments 225 includes a confidence score 225 f assigned by the speech recognition processor 100 a .
- Each confidence score is a relative ranking (typically between 0 and 1) as to the accuracy of the recognized text of the word segment.
- a statistical value e.g., average, mean, variance, etc.
- the process continues at steps 535 and 525 to obtain and read/parse the enhanced metadata document corresponding to the next media file/stream identified in the search at step 510 .
- the process continues at step 540 .
- the snippet generator 440 determines a segment type preference.
- the segment type preference indicates which types of content segments to search and present as snippets.
- the segment type preference can include a numeric value or string corresponding to one or more of the segment types. For example, if the segment type preference can be defined to be one of the audio speech segment types, e.g., “story,” the enhanced metadata is searched on a story-by-story basis for a match to the search query and the resulting snippets are also presented on a story-by-story basis. In other words, each of the content segments identified in the metadata as type “story” are individually searched for a match to the search query and also presented in a separate search snippet if a match is found.
- the segment type preference can alternatively be defined to be one of the video segment types, e.g., individual scene.
- the segment type preference can be fixed programmatically or user configurable.
- the snippet generator 440 obtains the metadata information corresponding to a first content segment of the preferred segment type (e.g., the first story segment).
- the metadata information for the content segment preferably includes the location of the underlying media file/stream, a segment identifier, the preferred segment type, a start offset, an end offset (or duration) and an optional confidence score.
- the start offset and the end offset/duration define the timing boundaries of the content segment.
- the text of words spoken during that segment if any, can be determined by identifying each of the word segments falling within the start and end offsets. For example, if the underlying media content is an audio/video podcast of a news program and the segment preference is “story,” the metadata information for the first content segment includes the text of the word segments spoken during the first news story.
- Step 550 is an optional step in which the snippet generator 440 makes a determination as to whether the metadata information for the content segment is sufficiently accurate to warrant further search and/or presentation as a valid search snippet.
- This step is similar to step 530 except that the confidence score is a statistical value (e.g., average, mean, variance, etc.) calculated from the individual confidence scores of the word segments 225 falling within the timing boundaries of the content segment.
- step 555 the process continues at step 555 to obtain the metadata information corresponding to a next content segment of the preferred segment type. If there are no more content segments of the preferred segment type, the process continues at step 535 to obtain the enhanced metadata document corresponding to the next media file/stream identified in the search at step 510 . Conversely, if the confidence score of the metadata information for the content segment equals or exceeds the predetermined threshold, the process continues at step 560 .
- the snippet generator 440 compares the text of the words spoken during the selected content segment, if any, to the keyword(s) of the search query. If the text derived from the content segment does not contain a match to the keyword search query, the metadata information for that segment is discarded. Otherwise, the process continues at optional step 565 .
- the snippet generator 440 trims the text of the content segment (as determined at step 545 ) to fit within the boundaries of the display area (e.g., text area 320 of FIG. 3 ).
- the text can be trimmed by locating the word(s) matching the search query and limiting the number of additional words before and after.
- the text can be trimmed by locating the word(s) matching the search query, identifying another content segment that has a duration shorter than the segment type preference and contains the matching word(s), and limiting the displayed text of the search snippet to that of the content segment of shorter duration. For example, assuming that the segment type preference is of type “story,” the displayed text of the search snippet can be limited to that of segment type “sentence” or “paragraph”.
- the snippet generator 440 filters the text of individual words from the search snippet according to their confidence scores. For example, in FIG. 2 , a confidence score 225 f is assigned to each of the word segments to represent a relative ranking that corresponds to the accuracy of the text of the recognized word. For each word in the text of the content segment, the confidence score from the corresponding word segment 225 is compared against a predetermined threshold value. If the confidence score for a word segment falls below the threshold, the text for that word segment is replaced with a predefined symbol (e.g., - - - ). Otherwise no change is made to the text for that word segment.
- a predetermined threshold value e.g., - - - .
- the snippet generator 440 adds the resulting metadata information for the content segment to a search result for the underlying media stream/file.
- Each enhanced metadata document that is returned from the search engine can have zero, one or more content segments containing a match to the search query.
- the corresponding search result associated with the media file/stream can also have zero, one or more search snippets associated with it.
- An example of a search result that includes no search snippets occurs when the metadata of the original content descriptor contains the search term, but the timed word segments 105 a of FIG. 2 do not.
- the process returns to step 555 to obtain the metadata information corresponding to the next content snippet segment of the preferred segment type.
- step 535 the process continues at step 535 to obtain the enhanced metadata document corresponding to the next media file/stream identified in the search at step 510 . If there are no further metadata results to process, the process continues at optional step 582 to rank the search results before sending to the client 410 .
- the snippet generator 440 ranks and sorts the list of search results.
- One factor for determining the rank of the search results can include confidence scores.
- the search results can be ranked by calculating the sum, average or other statistical value from the confidence scores of the constituent search snippets for each search result and then ranking and sorting accordingly. Search results being associated with higher confidence scores can be ranked and thus sorted higher than search results associated with lower confidence scores.
- Other factors for ranking search results can include the publication date associated with the underlying media content and the number of snippets in each of the search results that contain the search term or terms. Any number of other criteria for ranking search results known to those skilled in the art can also be utilized in ranking the search results for audio/video content.
- the search results can be returned in a number of different ways.
- the snippet generator 440 can generate a set of instructions for rendering each of the constituent search snippets of the search result as shown in FIG. 3 , for example, from the raw metadata information for each of the identified content segments. Once the instructions are generated, they can be provided to the search engine 420 for forwarding to the client. If a search result includes a long list of snippets, the client can display the search result such that a few of the snippets are displayed along with an indicator that can be selected to show the entire set of snippets for that search result.
- such a client includes (i) a browser application that is capable of presenting graphical search query forms and resulting pages of search snippets; (ii) a desktop or portable application capable of, or otherwise modified for, subscribing to a service and receiving alerts containing embedded search snippets (e.g., RSS reader applications); or (iii) a search applet embedded within a DVD (Digital Video Disc) that allows users to search a remote or local index to locate and navigate segments of the DVD audio/video content.
- a browser application that is capable of presenting graphical search query forms and resulting pages of search snippets
- a desktop or portable application capable of, or otherwise modified for, subscribing to a service and receiving alerts containing embedded search snippets (e.g., RSS reader applications)
- a search applet embedded within a DVD Digital Video Disc
- the metadata information contained within the list of search results in a raw data format are forwarded directly to the client 410 or indirectly to the client 410 via the search engine 420 .
- the raw metadata information can include any combination of the parameters including a segment identifier, the location of the underlying content (e.g., URL or filename), segment type, the text of the word or group of words spoken during that segment (if any), timing information (e.g., start offset, end offset, and/or duration) and a confidence score (if any).
- Such information can then be stored or further processed by the client 410 according to application specific requirements.
- a client desktop application such as iTunes Music Store available from Apple Computer, Inc.
- iTunes Music Store available from Apple Computer, Inc.
- FIG. 6A is a diagram illustrating another example of a search snippet that enables user navigation of the underlying media content.
- the search snippet 610 is similar to the snippet described with respect to FIG. 3 , and additionally includes a user actuated display element 640 that serves as a navigational control.
- the navigational control 640 enables a user to control playback of the underlying media content.
- the text area 620 is optional for displaying the text 625 of the words spoken during one or more segments of the underlying media content as previously discussed with respect to FIG. 3 .
- Typical fast forward and fast reverse functions cause media players to jump ahead or jump back during media playback in fixed time increments.
- the navigational control 640 enables a user to jump from one content segment to another segment using the timing information of individual content segments identified in the enhanced metadata.
- the user-actuated display element 640 can include a number of navigational controls (e.g., Back 642 , Forward 648 , Play 644 , and Pause 646 ).
- the Back 642 and Forward 648 controls can be configured to enable a user to jump between word segments, audio speech segments, video segments, non-speech audio segments, and marker segments. For example, if an audio/video podcast includes several content segments corresponding to different stories or topics, the user can easily skip such segments until the desired story or topic segment is reached.
- FIGS. 6B and 6C are diagrams illustrating a method for navigating media content using the search snippet of FIG. 6A .
- the client presents the search snippet of FIG. 6A , for example, that includes the user actuated display element 640 .
- the user-actuated display element 640 includes a number of individual navigational controls (i.e., Back 642 , Forward 648 , Play 644 , and Pause 646 ).
- Each of the navigational controls 642 , 644 , 646 , 648 is associated with an object defining at least one event handler that is responsive to user actuations.
- the object event handler provides the media player 630 with a link to the media file/stream and directs the player 630 to initiate playback of the media content from the beginning of the file/stream or from the most recent playback offset.
- a playback offset associated with the underlying media content in playback is determined.
- the playback offset can be a timestamp or other indexing value that varies according to the content segment presently in playback. This playback offset can be determined by polling the media player or by autonomously tracking the playback time.
- the playback state of media player module 830 is determined from the identity of the media file/stream presently in playback (e.g., URL or filename), if any, and the playback timing offset. Determination of the playback state can be accomplished by a sequence of status request/response 855 signaling to and from the media player module 830 .
- a background media playback state tracker module 860 can be executed that keeps track of the identity of the media file in playback and maintains a playback clock (not shown) that tracks the relative playback timing offsets.
- the playback offset is compared with the timing information corresponding to each of the content segments of the underlying media content to determine which of the content segments is presently in playback.
- the navigational event handler 850 references a segment list 870 that identifies each of the content segments in the media file/stream and the corresponding timing offset of that segment.
- the segment list 870 includes a segment list 872 corresponding to a set of timed audio speech segments (e.g., topics).
- the segment list 872 can include a number of entries corresponding to the various topics discussed during that episode (e.g., news, weather, sports, entertainment, etc.) and the time offsets corresponding to the start of each topic.
- the segment list 870 can also include a video segment list 874 or other lists (not shown) corresponding to timed word segments, timed non-speech audio segments, and timed marker segments, for example.
- the segment lists 870 can be derived from the enhanced metadata or can be the enhanced metadata itself.
- the underlying media content is played back at an offset that is prior to or subsequent to the offset of the content segment presently in playback.
- the event handler 850 compares the playback timing offset to the set of predetermined timing offsets in one or more of the segment lists 870 to determine which of the content segments to playback next. For example, if the user clicked on the “forward” control 848 , the event handler 850 obtains the timing offset for the content segment that is greater in time than the present playback offset. Conversely, if the user clicks on the “backward” control 842 , the event handler 850 obtains the timing offset for the content segment that is earlier in time than the present playback offset. After determining the timing offset of the next segment to play, the event handler 850 provides the media player module 830 with instructions 880 directing playback of the media content at the next playback state (e.g., segment offset and/or URL).
- the media player module 830 with instructions 880 directing playback of the media content at the next playback state (e.
- an advantage of this aspect of the invention is that a user can control media using a client that is capable of jumping from one content segment to another segment using the timing information of individual content segments identified in the enhanced metadata.
- portable player devices such as the iPod audio/video player available from Apple Computer, Inc.
- iPod audio/video player available from Apple Computer, Inc.
- the control buttons on the front panel of the iPod can be used to jump from one segment to the next segment of the podcast in a manner similar to that previously described.
- the invention features a computerized method and apparatus for merging content segments from a number of discrete media content for playback.
- a user wanted to listen to or view a particular topic available in a number of audio/video podcasts, the user had to download each of the podcasts and then listen to or view the entire podcast content until the desired topic was reached.
- the media player included the ability to fast forward media playback, the user would more than likely not know when the beginning of the desired topic segment began.
- the podcast or other media file/stream contained the desired content, the user would have to expend unnecessary effort in “fishing” for the desired content in each podcast.
- embodiments of the invention obtain metadata corresponding to a plurality of discrete media content, such that the metadata identifies content segments and their corresponding timing information.
- the metadata of at least one of the plurality of discrete media content is derived using one or more media processing techniques.
- the media processing techniques can include automated techniques such as those previously described with respect to FIGS. 1B and 2 .
- the media processing techniques can also include manual techniques. For example, the content creator could insert chapter markers at specific times into the media file.
- One can also write a text summary of the content that includes timing information. A set of the content segments are then selected and merged for playback using the timing information from each of the corresponding metadata.
- the merged media content is implemented as a playlist that identifies the content segments to be merged for playback.
- the playlist includes timing information for accessing these segments during playback within each of the corresponding media files/streams (e.g., podcasts) and an express or implicit playback order of the segments.
- the playlist and each of the corresponding media files/streams are provided in their entirety to a client for playback, storage or further processing.
- the merged media content is generated by extracting the content segments to be merged for playback from each of the media files/streams (e.g., podcasts) and then merging the extracted segments into one or more merged media files/streams.
- a playlist can be provided with the merged media files/streams to enable user control of the media player to navigate from one content segment to another as opposed to merely fast forwarding or reversing media playback in fixed time increments.
- the one or more merged media files/streams and the optional playlist are then provided to the client for playback, storage or further processing.
- FIG. 7 is a diagram illustrating an apparatus for merging content segments for playback.
- a client 710 interfaces with a search engine 720 for searching an index 730 for desired audio/video content.
- the index 730 includes a plurality of metadata associated with a number of discrete media content with each enhanced for audio/video search as shown and described with reference to FIG. 2 .
- the search engine 720 interfaces with a snippet generator 740 that processes the metadata satisfying a search query, resulting in a number of search snippets being generated to present audio/video content.
- the client 710 under direction of a user, interfaces with a media merge module 900 in order to merge content segments of user interest 905 for playback, storage or further processing at the client 710 .
- FIG. 8 is a flow diagram illustrating a computerized method for merging content segments for playback.
- the search engine 720 conducts a keyword search of the index 730 for metadata enhanced for audio/video search that satisfies a search query.
- the search engine 720 or alternatively the snippet generator 740 itself, downloads a set of metadata information or instructions to enable presentation of a set of search snippets at the client 710 as previously described.
- the client 710 under the direction of a user, selects a number of the content segments to merge for playback by selecting the corresponding snippets.
- Snippet selection can be implemented in any number of ways know to those skilled in the art.
- the user interface presenting each of the search snippets at the client 710 can provide a checkbox for each snippet.
- a button or menu item is provided to enable the user to submit the metadata information identifying each of the selected content segments to the media merge module 900 .
- metadata information includes, for example, the segment identifiers and the locations of the underlying media content (e.g. URL links or filenames).
- the client 710 transmits, and the media merge module 900 receives, the selected segment identifiers and the corresponding locations of the underlying media content.
- the client 710 additionally transmits, and the media merge module 900 receives, a set of parameters for merging the content segments.
- one parameter can define a total duration which cannot be exceeded by the cumulative duration of the merged content segments.
- Another parameter can specify a preference for merging the individual content segments into one or more media files.
- Such parameters can be user-defined, programmatically defined, or fixed.
- the media merge module 900 obtains the enhanced metadata corresponding to each of the underlying media files/streams containing the selected content segments. For example, the media merge module 900 can obtain the enhanced metadata by conducting a search of the index 730 for each of the metadata according to the locations of the underlying media content (e.g., URL links) submitted by the client 710 .
- the media merge module 900 can obtain the enhanced metadata by conducting a search of the index 730 for each of the metadata according to the locations of the underlying media content (e.g., URL links) submitted by the client 710 .
- the media merge module 900 parses or reads each of the individual enhanced metadata corresponding to the underlying media content (e.g., audio/video podcasts). Using the segment identifiers submitted by the client 710 , the media merge module 900 obtains the metadata information for each of the content segments from each of the individual enhanced metadata.
- the metadata information obtained includes the segment identifier, a start offset, and an end offset (or duration).
- the metadata information can be provided to the media merge module 900 at step 915 , and thus make steps 925 and 930 unnecessary.
- the media merge module 900 can implement the merged media content according to a first embodiment described with respect to FIGS. 9A-9B or a second embodiment described with respect to FIGS. 10A-10B .
- FIGS. 9A and 9B are diagrams illustrating a computerized method for merging content segments for playback according to the first embodiment.
- a playlist that identifies the content segments to be merged for playback is generated using the timing information from the metadata.
- the playlist identifies the selected content segments and corresponding timing information for accessing the selected content segments within each of a number of discrete media content.
- the plurality of discrete media content and the generated play list are downloaded to a client for playback, storage or further processing.
- the media merge module 900 obtains the metadata information for the first content segment (as determined at step 915 or 930 ), including a segment identifier, a start offset, and an end offset (or duration).
- the media merge module 900 determines the duration of the selected segment.
- the segment duration can be calculated as the difference of a start offset and an end offset. Alternatively, the segment duration can be provided as a predetermined value.
- the media merge module 900 determines whether to add the content segment to the playlist based on cumulative duration. For example, if the cumulative duration of the selected content segments, which includes the segment duration for the current content segment, exceeds the total duration (determined at step 920 ), the content segment is not added to the playlist and the process proceeds to step 960 to download the playlist and optionally each of the media files or streams identified in the playlist to the client 710 . Conversely, if the addition of the content segment does not cause the cumulative duration to exceed the total duration, the content segment is added to the playlist at 950 .
- the media merge module 900 updates the playlist by appending the location of the underlying media content (e.g., filename or URL link), the start offset, and end offset (or duration) from the metadata information of the enhanced metadata for that content segment.
- FIG. 9B is a diagram representing a playlist merging individual content segments for playback from a plurality of discrete media content.
- the playlist 1000 provides an entry for each of the selected segments, namely segments 1022 , 1024 , 1032 , and 1042 from each of the underlying media files/streams 1020 , 1030 and 1040 .
- Each entry includes a filename 1010 a , a segment identifier 1010 b , start offset 1010 c and end offset or duration 1010 d.
- the timing information in the playlist 1000 can be used by a media player for indexing into each of the media files/streams to playback only those segments specifically designated by the user.
- each of the content segments 1022 , 1024 , 1032 and 1042 may include stories on a particular topic.
- the media player accesses and presents only those segments of the podcasts corresponding to specific topics of user interest.
- the media merge module 900 obtains the metadata information for the next content segment, namely a segment identifier, a start offset, and an end offset or duration (as determined at step 915 or 930 ) and continues at step 935 to repeat the process for adding the next content segment to the playlist. If there are no further content segments selected for addition to the merged playlist, the process continues at step 960 .
- the playlist is downloaded to the client and optionally further downloads the underlying media content in their entirety to the client for playback, storage or further processing of the merged media content.
- FIGS. 10A-10C are diagrams illustrating a computerized method for merging content segments for playback according to the second embodiment.
- the merged media content is generated by extracting the selected content segments from each of the underlying media files/streams using the timing information from the corresponding metadata. The extracted content segments are then merged into one or more discrete media files/streams and downloaded to a client for playback, storage or further processing.
- a playlist can also be generated that identifies the selected content segments and corresponding timing information for accessing the selected content segments within the merged media file(s). Using the playlist, a user can control the media player to navigate from one content segment to another as opposed to merely fast forwarding or reversing media playback in fixed time increments.
- the media merge module 900 obtains the metadata information for the first content segment, namely the segment identifier, the start offset, the end offset (or duration), and the location of the underlying media content (e.g., URL link).
- the media merge module 900 determines the duration of the selected segment.
- the segment duration can be calculated as the difference of a start offset and an end offset. Alternatively, the segment duration can be provided as a predetermined value.
- the media merge module 900 determines whether to merge the content segment along with other content segments for playback. For example, if the cumulative duration of the selected content segments, including the segment duration for the current content segment, exceeds the total duration (determined at step 920 ), the content segment is not added and the process proceeds to step 1150 .
- the media merge module 900 obtains a copy of the underlying media content from the location identified in the metadata information for the content segment.
- the media merge module 900 then extracts the content segment by cropping the underlying media content using the start offset and end offset (or duration) for that segment.
- the content segment can be cropped using any audio/video editing tool known to those skilled in the art.
- the process can continue along a first track starting at step 1125 for generating a single merged file or stream. Alternatively, the process can continue along a second track starting at step 1135 for generating separate media files corresponding to each content segment.
- the cropped segment of content from step 1120 is appended to the merged media file.
- Segment dividers may also be appended between consecutive content segments.
- a segment divider can include silent content (e.g., no video/audio).
- a segment dividers can include audio/video content that provides advertising, facts or information.
- FIG. 10B is a diagram that illustrates a number of content segments 1022 , 1024 , 1032 , 1042 being extracted from the corresponding media files/streams 1020 , 1030 and 1040 and merged into a single media file/stream 1200 .
- FIG. 10B is a diagram that illustrates a number of content segments 1022 , 1024 , 1032 , 1042 being extracted from the corresponding media files/streams 1020 , 1030 and 1040 and merged into a single media file/stream 1200 .
- the merged media file/stream 1200 enables a user to listen or view only the desired content from each of the discrete media content (e.g., audio/video podcasts).
- the discrete media content e.g., audio/video podcasts
- the media merge module 900 can create/update a playlist that identifies timing information corresponding to each of the content segments merged into the single media file/stream.
- a playlist 1270 can be generated that identifies the filename that is common to all segments 1270 a , segment identifier 1270 b , start offset of the content segment in the merged file/stream 1270 c and end offset (or duration) of the segment 1270 d .
- a user can control the media player to navigate from one content segment to another as opposed to merely fast forwarding or reversing media playback in fixed time increments.
- a new media file/stream is created for the cropped segment (determined at step 1120 ).
- the media merge module 900 also appends the filename of the newly created media file/stream to a file list.
- the file list identifies each of the media files corresponding to the merged media content.
- FIG. 10C is a diagram that illustrates a number of content segments 1022 , 1024 , 1032 , 1042 being extracted from the corresponding media files/streams 1020 , 1030 and 1040 and merged into multiple media files/streams 1210 a , 1210 b , 1210 c , and 1210 d (generally 1210 ).
- Each of the individual files/streams 1210 is associated with its own filename and can optionally include additional audio/video content that provides advertising, facts or information (not shown).
- FIG. 10C also illustrates a file list 1272 identifying each of the individual files/streams (e.g., merge1.mpg, merge2.mpg, etc) that constitute the merged media content.
- the media merge module 900 obtains the metadata information for the next content segment, namely the segment identifier, the start offset, the end offset (or duration), and the location of the underlying media content (e.g., URL link) and continues back at step 1110 to determine whether to merge the next content segment selected by the user. If, at step 1145 , there are no further content segments to process or alternatively if, at step 1115 , the media merge module make a determination not to merge the next content segment, the process continues at step 1150 .
- the media merge module 900 downloads the one or more media files/streams 1200 , 1210 respectively for playback and optionally the playlist 1270 or file list 1272 to enable navigation among the individual content segments of the merged media file(s).
- the client is a desktop application, such as iTunes Music Store available from Apple Computer, Inc.
- the media files/streams and optional playlists/filelists can be downloaded to the iTunes application and then further downloaded from the iTunes application onto an iPod media player.
- a virtual media channel can be implemented as a media file or stream of audio/video content.
- a virtual media channel can be implemented as a play list identifying a set of media files or streams, including an implied or express order of playback.
- the audio/video content of a virtual media channel can be customized by providing a rule set that defines instructions for obtaining media content that comprises the content for the media channel.
- the rule set defines the content format of the channel.
- the rule set is defined such that at least one of the rules includes a keyword search for audio/video content, the results of which can be merged into the resulting content into a media file, stream or play list for virtual channel playback.
- FIGS. 11A and 11B are diagrams illustrating a system and method, respectively, for providing a virtual media channel based on media search.
- FIG. 11A illustrates an exemplary system that includes a number of modules. As shown, the system includes a channel selector 1310 , a search engine 1320 , a database 1330 , a filter and sort engine 1340 , an optional segment cropper 1350 , and a media merge module 1360 .
- the media merge module 1360 can be implemented as previously described with respect to the first embodiment of FIGS. 9A-9B or the second embodiment of FIGS. 10A-10B . These component can be operated according to the method described with respect to FIG. 11B .
- FIG. 12 provides a diagram illustrating an exemplary user interface for channel selection.
- FIG. 12 includes a graphical user interface 1500 including a media player 1520 and graphical icons (e.g., “buttons”) that represent preset media channels 1510 a , 1510 b , 1510 c and a user-defined channel 1510 d .
- each of the channels offers access to a media stream generated from a segments of audio/video content that are merged together into a single media file, a common group of media files or a play list of such files.
- the media stream can be presented using the media player 1520 .
- the preset channels 1510 a - 1510 c can provide media streams customized to one or more specific topics selected by the content provider, while channel 1510 d can provide media streams customized to one or more specific topics requested by a user.
- the channel selector 1310 receives an indication of the selected channel and retrieves a set of rules and preferences defining the content format of the selected channel.
- the rules define instructions for obtaining media content (e.g. audio/video segments) that constitute the content for the virtual media channel.
- At least one of the rules includes instructions to execute a media search and to add one or more segments of audio/video content identified during the media search to the play list for the virtual media channel.
- An exemplary rule set can specify a first rule with instructions to add a “canned” introduction for the virtual media channel (e.g., “Welcome to Sports Forum . . . ”); a second rule with instructions to conduct a media search on a first topic (e.g. “steroids”) and to add one or more of media segments resulting from that search; a third rule with instructions to conduct a media search on a second topic (e.g. “World Baseball Classic”) and to add one or more of media segments resulting from that search; and a fourth rule with instructions to add a “canned” sign off (e.g., “Well, that's the end of the program. Thank you for joining us . . . ”).
- a “canned” introduction for the virtual media channel e.g., “Welcome to Sports Forum . . . ”
- a second rule with instructions to conduct a media search on a first topic e.g. “steroids”
- the rule set can also allocate specific or relative numbers of media segments from each media search for inclusion in the content of the virtual media channel.
- the rule set can also define a maximum duration of the channel content.
- the channel selector 1310 can provide a user interface (not shown) for selecting the topics for the media search, specifying allocations of the resulting media segments for the channel content, and define the maximum duration of the channel content.
- the rule set can also include rules to insert advertisements, factual or information content as additional content for the virtual media channel.
- the advertisements can be arbitrarily selected from a pool of available advertisements, or alternatively, the advertisements can be related to the topic of a previous or subsequent media segment included in the content of the media channel. See U.S. patent application Ser. No. 11/395,608, filed on Mar. 31, 2006, for examples of dynamic presentation of factual, informational or advertising content. The entire teachings of this application being incorporated by reference in its entirety.
- the preferences can include a maximum duration for playback over the virtual media channel. Preferences can also include a manner of delivering the content of the virtual media channel to the user (e.g., downloaded as a single merged media file or stream or as multiple media files or streams).
- the channel selector 1310 directs the search engine 1320 to conduct a media search according to each rule specifying a media search on a specific topic.
- the search engine 1320 searches the database 1330 of metadata enhanced for audio/video search, such as the enhanced metadata previously described with respect to FIG. 2 .
- the search engine 1320 can obtain accurate search results through key word searching.
- the metadata can also be segmented according to segments of other media channels.
- the search engine 1320 receives an individual set of enhanced metadata documents descriptive of one or more candidate media files or streams that satisfy the key word search query defined by a corresponding rule. For example, if a rule specified a search for the topic “steroids,” the results of the media search can include a set of enhanced metadata documents for one or more candidate audio/video podcasts that include a reference to the keyword “steroids.”
- the filter and sort engine 1340 receives the individual sets of enhanced metadata documents with each set corresponding to a media search. Specifically, the engine 1340 applies a set of rules to filter and sort the metadata documents within each set.
- the filter and sort engine 1340 can be used to eliminate previously viewed media files.
- the filter and sort engine 1340 can maintain a history that includes the identity of the media files and streams previously used as content for the virtual media channel. By comparing the identity information in an enhanced metadata document (e.g., file name, link, etc.) with the history data, the filter and sort engine 1340 can eliminate media files or streams as candidates whose identity information is included in the history data.
- an enhanced metadata document e.g., file name, link, etc.
- the filter and sort engine 1340 can be used to eliminate, or alternatively sort, media files or streams sourced from undesired sites.
- the filter and sort engine 1340 can maintain a site list data structure that lists links to specific sources of content that are “preferred” and “not preferred” as identified by a user or content provider. By comparing the source of a media file or stream from the identity information in an enhanced metadata document (e.g., file name, link, etc.) with the site list data, the filter and sort engine 1340 can eliminate media files or streams as candidates from sources that are not preferred. Conversely, the filter and sort engine 1340 can use the site list data to sort the enhanced metadata documents according to whether or not the corresponding media file or stream is sourced from a preferred site.
- the site list data can list links to specific sources of content to which the content provider or user is authorized to access and whose content can be included in the virtual media channel.
- the filter and sort engine 1340 can be used to sort the media files or streams according to relevance or other ranking criteria. For example, each set of metadata documents results from a media search defined by one of the rules in the rule set. By using the keywords from the media search query, the engine 1340 can track the keyword counts across the metadata documents in the set. Documents having higher keyword counts can be considered to be more relevant than documents having lower keyword counts. Thus, the media files can be sorted accordingly with the media files associated with more relevant metadata documents preceding the media files associated with less relevant metadata documents.
- Other known methods of ranking media files or streams known to those skilled in the art can also be used to filter and sort the individual sets of metadata. For example, the metadata can be sorted based on the date and time.
- an optional segment cropper 1350 determines the boundaries of the audio/video segment containing the keywords of the media searches.
- FIG. 13 is a diagram that illustrates an exemplary metadata document including a timed segment index.
- the segment cropper 1350 can search for the keyword “steroids” within the set of timed word segments 1610 that provide the text of the words spoken during the audio portion of the media file.
- the segment cropper 1350 can compare the text of one or more word segments to the keyword. If there is a match, the timing boundaries are obtained for the matching word segment, or segments in the case of a multi-word keyword (e.g.
- the timing boundaries of a word segment can include a start offset and an end offset, or duration, as previously described with respect to FIG. 2 . These timing boundaries define the segment of the media content when the particular tag is spoken.
- the first word segment containing the keyword “steroids” is word segment WS 050 having timing boundaries of T 30 and T 31 .
- the timing boundaries of the matching word segment(s) containing the keyword(s) are extended by comparing the timing boundaries of the matching word segment(s) to the timing boundaries of the other types of content segments (e.g., audio speech segment, video segment, marker segment as previously described in FIG. 2 ). If the timing boundaries of the matching word segment fall within the timing boundaries of a broader content segment, the timing boundaries for the keyword can be extended to coincide with the timing boundaries of that broader content segment.
- marker segments MS 001 and MS 002 defining timing boundaries that contain a plurality of the word segments 1610 .
- Marker segments can be identified within a media file or stream with embedded data serving as a marker (e.g., the beginning of a chapter). Marker segments can also be identified from a content descriptor, such as a web page. For example, a web page linking to a movie may state in the text of the page, “Scene 1 starts at time hh:mm:ss (i.e., hours, minutes, seconds).” From such information, a segment index including marker segments can be generated.
- marker segment MS 001 defines the timing boundaries for the World Baseball Classic segment
- marker segment MS 002 defines the timing boundaries for the steroids segment.
- the segment cropper 1350 searches for the first word segment containing the keyword tag “steroids” in the text of the timed word segments 1610 , and obtains the timing boundaries for the matching word segment WS 050 , namely start offset T 30 and end offset T 31 .
- the segment cropper 1350 then expands the timing boundaries for the keyword by comparing the timing boundaries T 30 and T 31 against the timing boundaries for marker segments MS 001 and MS 002 .
- the keyword “steroids” is mapped to the timing boundaries T 25 and T 99 .
- the second and third instances of the keyword tag “steroids” in word segments WS 060 and WS 070 fall within the timing boundaries of marker segment MS 002 , and thus the timing boundaries associated with tag “steroids” do not change.
- the tag can be associated with multiple timing boundaries corresponding to each of the broader segments.
- the segment cropper can be omitted, and the filtered and sorted metadata documents can be transmitted from the filter and sort engine 1430 to the media merge module 1350 .
- the media merge module merges the content of the entire media file or stream into the merged content.
- the media merge module 1360 receives the metadata that corresponds to the candidates media files or streams, including the timing information for the boundaries of the selected content segments (e.g., start offset, end offset, and/or duration) from the segment cropper 1350 (if any).
- the media merge module 1360 then merges one or more segments from the media search along with the predetermined media segments according to the channel format as defined by the set of rules and preferences as defined by the channel selector 1310 .
- the media merge module 1360 operates as previously described with respect to FIGS. 9A-9B or FIGS. 10A-10B .
- FIGS. 9A and 9B are diagrams illustrating a computerized method for merging content segments for playback according to the first embodiment.
- a playlist that identifies the content segments to be merged for playback is generated using the timing information from the metadata.
- the playlist identifies the selected content segments and corresponding timing information for accessing the selected content segments within each of a number of discrete media content.
- the plurality of discrete media content and the generated play list are downloaded to a client for playback, storage or further processing.
- FIGS. 10A-10C are diagrams illustrating a computerized method for merging content segments for playback according to the second embodiment.
- the merged media content is generated by extracting the selected content segments from each of the underlying media files/streams using the timing information from the corresponding metadata. The extracted content segments are then merged into one or more discrete media files/streams and downloaded to a client for playback, storage or further processing.
- a playlist can also be generated that identifies the selected content segments and corresponding timing information for accessing the selected content segments within the merged media file(s). Using the playlist, a user can control the media player to navigate from one content segment to another as opposed to merely fast forwarding or reversing media playback in fixed time increments.
- the above-described techniques can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them.
- the implementation can be as a computer program product, i.e., a computer program tangibly embodied in an information carrier, e.g., in a machine-readable storage device or in a propagated signal, for execution by, or to control the operation of, data processing apparatus, e.g., a programmable processor, a computer, or multiple computers.
- a computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
- a computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
- Method steps can be performed by one or more programmable processors executing a computer program to perform functions of the invention by operating on input data and generating output. Method steps can also be performed by, and apparatus can be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit). Modules can refer to portions of the computer program and/or the processor/special circuitry that implements that functionality.
- FPGA field programmable gate array
- ASIC application specific integrated circuit
- processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer.
- a processor will receive instructions and data from a read-only memory or a random access memory or both.
- the essential elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data.
- a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. Data transmission and instructions can also occur over a communications network.
- Information carriers suitable for embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
- semiconductor memory devices e.g., EPROM, EEPROM, and flash memory devices
- magnetic disks e.g., internal hard disks or removable disks
- magneto-optical disks e.g., CD-ROM and DVD-ROM disks.
- the processor and the memory can be supplemented by, or incorporated in special purpose logic circuitry.
- module and “function,” as used herein, mean, but are not limited to, a software or hardware component which performs certain tasks.
- a module may advantageously be configured to reside on addressable storage medium and configured to execute on one or more processors.
- a module may be fully or partially implemented with a general purpose integrated circuit (IC), FPGA, or ASIC.
- IC general purpose integrated circuit
- a module may include, by way of example, components, such as software components, object-oriented software components, class components and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables.
- the functionality provided for in the components and modules may be combined into fewer components and modules or further separated into additional components and modules.
- the components and modules may advantageously be implemented on many different platforms, including computers, computer servers, data communications infrastructure equipment such as application-enabled switches or routers, or telecommunications infrastructure equipment, such as public or private telephone switches or private branch exchanges (PBX).
- data communications infrastructure equipment such as application-enabled switches or routers
- telecommunications infrastructure equipment such as public or private telephone switches or private branch exchanges (PBX).
- PBX private branch exchanges
- the above described techniques can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer (e.g., interact with a user interface element).
- a display device e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor
- a keyboard and a pointing device e.g., a mouse or a trackball
- Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
- the above described techniques can be implemented in a distributed computing system that includes a back-end component, e.g., as a data server, and/or a middleware component, e.g., an application server, and/or a front-end component, e.g., a client computer having a graphical user interface and/or a Web browser through which a user can interact with an example implementation, or any combination of such back-end, middleware, or front-end components.
- the components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), e.g., the Internet, and include both wired and wireless networks. Communication networks can also all or a portion of the PSTN, for example, a portion owned by a specific carrier.
- LAN local area network
- WAN wide area network
- Communication networks can also all or a portion of the PSTN, for example, a portion owned
- the computing system can include clients and servers.
- a client and server are generally remote from each other and typically interact through a communication network.
- the relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
Abstract
Description
- This application is a continuation-in-part of U.S. patent application Ser. No. 11/395,732, filed on Mar. 31, 2006, which claims the benefit of U.S. Provisional Application No. 60/736,124, filed on Nov. 9, 2005. The entire teachings of the above applications are incorporated herein by reference.
- Aspects of the invention relate to methods and apparatus for generating and using enhanced metadata in search-driven applications.
- As the World Wide Web has emerged as a major research tool across all fields of study, the concept of metadata has become a crucial topic. Metadata, which can be broadly defined as “data about data,” refers to the searchable definitions used to locate information. This issue is particularly relevant to searches on the Web, where metatags may determine the ease with which a particular Web site is located by searchers. Metadata that are embedded with content is called embedded metadata. A data repository typically stores the metadata detached from the data.
- Results obtained from search engine queries are limited to metadata information stored in a data repository, referred to as an index. With respect to media files or streams, the metadata information that describes the audio content or the video content is typically limited to information provided by the content publisher. For example, the metadata information associated with audio/video podcasts generally consists of a URL link to the podcast, title, and a brief summary of its content. If this limited information fails to satisfy a search query, the search engine is not likely to provide the corresponding audio/video podcast as a search result even if the actual content of the audio/video podcast satisfies the query.
- According to one aspect, the invention features an automated method and apparatus for generating metadata enhanced for audio, video or both (“audio/video”) search-driven applications. The apparatus includes a media indexer that obtains a media file or stream (“media file/stream”), applies one or more automated media processing techniques to the media file/stream, combines the results of the media processing into metadata enhanced for audio/video search, and stores the enhanced metadata in a searchable index or other data repository. The media file/stream can be an audio/video podcast, for example. By generating or otherwise obtaining such enhanced metadata that identifies content segments and corresponding timing information from the underlying media content, a number of audio/video search-driven applications can be implemented as described herein. The term “media” as referred to herein includes audio, video or both.
- According to another aspect of the invention, the invention features a computerized method and apparatus for merging content segments from a number of discrete media content for playback. Previously, if a user wanted to listen to or view a particular topic available in a number of audio/video podcasts, the user had to download each of the podcasts and then listen to or view the entire podcast content until the desired topic was reached. Even if the media player included the ability to fast forward media playback, the user would more than likely not know when the beginning of the desired topic segment began. Thus, even if the podcast or other media file/stream contained the desired content, the user would have to expend unnecessary effort in “fishing” for the desired content in each podcast.
- In contrast, embodiments of the invention obtain metadata corresponding to a plurality of discrete media content, such that the metadata identifies content segments and their corresponding timing information derived from the underlying media content using one or more media processing techniques. A set of the content segments are then selected and merged for playback using the timing information from each of the corresponding metadata.
- According to one embodiment, the merged media content is implemented as a playlist that identifies the content segments to be merged for playback. The playlist can include timing information for accessing these segments during playback within each of the corresponding media files/streams (e.g., podcasts) and an express or implicit playback order of the segments. The playlist and each of the corresponding media files/streams are provided in their entirety to a client for playback, storage or further processing.
- According to another embodiment, the merged media content is generated by extracting the content segments to be merged for playback from each of the media files/streams (e.g., podcasts) and then merging the extracted segments into one or more merged media files/streams. Optionally, a playlist can be provided with the merged media files/streams to enable a user to navigate among the desired segments using a media player. The one or more merged media files/streams and the optional playlist are then provided to the client for playback, storage or further processing.
- According to particular embodiments, the computerized method and apparatus can include the steps of, or structure for, obtaining metadata corresponding to a plurality of discrete media content, the corresponding metadata identifying content segments and corresponding timing information, wherein the metadata of at least one of the plurality of discrete media content is derived from the plurality of discrete media content using one or more media processing techniques; selecting a set of content segments for playback from among the content segments identified in the corresponding metadata; and using the timing information from the corresponding metadata to enable playback of the selected set of content segments at a client.
- According to one particular embodiment, the computerized method and apparatus can further include the steps of, or structure for, using the timing information from the corresponding metadata to generate a play list that enables playback of the selected set of content segments by identifying the selected set of content segments and corresponding timing information for accessing the selected set of content segments in the plurality of discrete media content. The computerized method and apparatus can further include the steps of, or structure for, downloading the plurality of discrete media content and the play list to a client for playback.
- According to another particular embodiment, the computerized method and apparatus can further include the steps of, or structure for, using the timing information from the corresponding metadata to extract the selected set of content segments from the plurality of discrete media content; and merging the extracted segments into one or more discrete media content. The computerized method and apparatus can further include the steps of, or structure for, downloading the one or more discrete media content containing the extracted segments to a client for playback. The computerized method and apparatus can further include the steps of, or structure for, using the timing information from the corresponding metadata to generate a play list that enables playback of the extracted segments by identifying each of the extracted segments and corresponding timing information for accessing the extracted segments in the one or more discrete media content. The play list can enable ordered or arbitrary playback of the extracted segments that are merged into the one or more discrete media content. The computerized method and apparatus can further include the steps of, downloading the one or more discrete media content containing the extracted segments and the play list to a client for playback.
- With respect to any of the embodiments, the timing information can include an offset and a duration. The timing information can include a start offset and an end offset. The timing information can include a marker embedded within each of the plurality of discrete media content. The metadata can be separate from the media content. The metadata can be embedded within the media content.
- At least one of the plurality of discrete media content can include a video component and one or more of the content segments can include portions of the video component identified using an image processing technique. One or more of the content segments identified in the metadata can include video of individual scenes, watermarks, recognized objects, recognized faces, or overlay text.
- At least one of the plurality of discrete media content can include an audio component and one or more of the content segments including portions of the audio component identified using a speech recognition technique. At least one of the plurality of discrete media content can include an audio component and one or more of the content segments including portions of the audio component identified using a natural language processing technique. One or more of the content segments identified in the metadata can include audio corresponding to an individual word, audio corresponding to a phrase, audio corresponding to a sentence, audio corresponding to a paragraph, audio corresponding to a story, audio corresponding to a topic, audio within a range of volume levels, audio of an identified speaker, audio during a speaker turn, audio associated with a speaker emotion, audio of non-speech sounds, audio separated by sound gaps, or audio corresponding to a named entity, for example.
- The computerized method and apparatus can further include the steps of, or structure for, using the metadata corresponding to the plurality of discrete media content to generate a display that enables a user to select the set of content segments for playback from the plurality of discrete media content. The computerized method and apparatus can further include the steps of, or structure for, obtaining the metadata corresponding to the plurality of discrete media content in response to a search query; and using the metadata to generate a display of search results that enables a user to select the set of content segments for playback from the plurality of discrete media content.
- According to another aspect of the invention, the invention features a computerized method and apparatus for providing a virtual media channel based on media search. According to a particular embodiment, the computerized method features the steps of obtaining a set of rules that define instructions for obtaining media content that comprise the content for a media channel, the set including at least one rule with instructions to include media content resulting from a search; searching for candidate media content according to a search query defined by the at least one rule; and merging one or more of the candidate media content resulting from the search into the content for the media channel.
- The candidate media content can include segments of the media content resulting from the search. The set of rules can include at least one rule with instructions to include media content resulting from a search and at least one rule with instructions to add media content from a predetermined location. The media content from the predetermined location can include factual, informational or advertising content. The candidate media content can be associated with a story, topic, scene or channel. The search query of the at least one rule can be predetermined by a content provider of the media channel. The search query of the at least one rule can be configurable by a content provider of the media channel or an end user requesting access to the media channel.
- The computerized method can further include the steps of accessing a database for a plurality of metadata documents descriptive of media files or streams, each of the plurality of metadata documents including searchable text of an audio portion of a corresponding media file or stream; and searching for the candidate media content that satisfy the search query defined by the at least one rule within the database.
- Each of the plurality of metadata documents can include an index of content segments available for playback within a corresponding media file or stream, including timing information defining boundaries of each of the content segments. The computerized method can further include the steps of merging one or more of the content segments of the candidate media content from a set of media files or streams using the timing information from metadata documents corresponding to the set of media files or streams. At least one of the plurality of metadata documents can include an index of content segments derived using one or more media processing techniques. The one or more media processing techniques can include at least one automated media processing technique. The one or more media processing techniques can include at least one manual media processing technique.
- The computerized method can further include the step of merging one or more of the candidate media content resulting from the search according to a specific or relative number allocated by the at least one rule. The computerized method can further include the step of merging one or more of the candidate media content resulting from the search according to a maximum duration of content for the media channel. The computerized method can further include the step of merging the content for the media channel into one or more media files or stream for delivery. The computerized method can further include the step of merging the content for the media channel into a playlist for delivery.
- The computerized method can further include the steps of receiving an indication of a selected media channels from among a plurality of available media channels; and obtaining the set of rules that define instructions for obtaining media content that comprise the selected media channel, the set of rules for the selected media channel being different from the set of rules for other available media channels. The computerized method can further include the step of filtering and sorting the order of candidate media content for inclusion into the content for the media channel.
- According to another embodiment, an apparatus for providing content for a media channel is featured. The apparatus includes a channel selector that obtains a set of rules that define instructions for obtaining media content that comprise the content for a media channel, the set including at least one rule with instructions to include media content resulting from a search; a search engine capable of searching for candidate media content according to a search query defined by the at least one rule; and a media merge module that merges one or more of the candidate media content resulting from the search into the content for the media channel.
- The candidate media content can include segments of the media content resulting from the search. The apparatus can further include a segment cropper capable of identifying timing boundaries of the segments of media content resulting from the search. The candidate segments can be associated with a story, topic, scene, or channel. The search query of the at least one rule is predetermined by a content provider of the media channel. The channel selector can enable a content provider of the media channel or an end user requesting access to the media channel to configure the search query of the at least one rule.
- The apparatus can further include a database storing a plurality of metadata documents descriptive of media files or streams, each of the plurality of metadata documents including searchable text of an audio portion of a corresponding media file or stream; and the search engine searching for the candidate media content that satisfy the search query defined by the at least one rule within the database.
- Each of the plurality of metadata documents can include an index of content segments available for playback within a corresponding media file or stream, including timing information defining boundaries of each of the content segments. The media merge module can be capable of merging one or more of the content segments of the candidate media content from a set of media files or streams using the timing information from metadata documents corresponding to the set of media files or streams. At least one of the plurality of metadata documents can include an index of content segments derived using one or more media processing techniques. The apparatus can further include an engine capable of filtering and sorting the order of candidate inclusion into the content for the media channel.
- The foregoing and other objects, features and advantages of the invention will be apparent from the following more particular description of preferred embodiments of the invention, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention.
-
FIG. 1A is a diagram illustrating an apparatus and method for generating metadata enhanced for audio/video search-driven applications. -
FIG. 1B is a diagram illustrating an example of a media indexer. -
FIG. 2 is a diagram illustrating an example of metadata enhanced for audio/video search-driven applications. -
FIG. 3 is a diagram illustrating an example of a search snippet that enables user-directed navigation of underlying media content. -
FIGS. 4 and 5 are diagrams illustrating a computerized method and apparatus for generating search snippets that enable user navigation of the underlying media content. -
FIG. 6A is a diagram illustrating another example of a search snippet that enables user navigation of the underlying media content. -
FIGS. 6B and 6C are diagrams illustrating a method for navigating media content using the search snippet ofFIG. 6A . -
FIG. 7 is a diagram illustrating an apparatus for merging content segments for playback. -
FIG. 8 is a flow diagram illustrating a computerized method for merging content segments for playback. -
FIGS. 9A and 9B are diagrams illustrating a computerized method for merging content segments for playback according to the first embodiment. -
FIGS. 10A-10C are diagrams illustrating a computerized method for merging content segments for playback according to the second embodiment. -
FIGS. 11A and 11B are diagrams illustrating a system and method, respectively, for providing a virtual media channel based on media search. -
FIG. 12 provides a diagram illustrating an exemplary user interface for channel selection. -
FIG. 13 is a diagram that illustrates an exemplary metadata document including a timed segment index. - Generation of Enhanced Metadata for Audio/Video
- The invention features an automated method and apparatus for generating metadata enhanced for audio/video search-driven applications. The apparatus includes a media indexer that obtains an media file/stream (e.g., audio/video podcasts), applies one or more automated media processing techniques to the media file/stream, combines the results of the media processing into metadata enhanced for audio/video search, and stores the enhanced metadata in a searchable index or other data repository.
-
FIG. 1A is a diagram illustrating an apparatus and method for generating metadata enhanced for audio/video search-driven applications. As shown, themedia indexer 10 cooperates with adescriptor indexer 50 to generate the enhancedmetadata 30. Acontent descriptor 25 is received and processed by both themedia indexer 10 and thedescriptor indexer 50. For example, if thecontent descriptor 25 is a Really Simple Syndication (RSS) document, themetadata 27 corresponding to one or more audio/video podcasts includes a title, summary, and location (e.g., URL link) for each podcast. The descriptor indexer 50 extracts the descriptor metadata 27 from the text and embedded metatags of thecontent descriptor 25 and outputs it to acombiner 60. Thecontent descriptor 25 can also be a simple web page link to a media file. The link can contain information in the text of the link that describes the file and can also include attributes in the HTML that describe the target media file. - In parallel, the
media indexer 10 reads themetadata 27 from thecontent descriptor 25 and downloads the audio/video podcast 20 from the identified location. Themedia indexer 10 applies one or more automated media processing techniques to the downloaded podcast and outputs the combined results to thecombiner 60. At thecombiner 60, the metadata information from themedia indexer 10 and thedescriptor indexer 50 are combined in a predetermined format to form the enhancedmetadata 30. The enhancedmetadata 30 is then stored in theindex 40 accessible to search-driven applications such as those disclosed herein. - In other embodiments, the
descriptor indexer 50 is optional and the enhanced metadata is generated by themedia indexer 10. -
FIG. 1B is a diagram illustrating an example of a media indexer. As shown, themedia indexer 10 includes a bank ofmedia processors 100 that are managed by amedia indexing controller 110. Themedia indexing controller 110 and each of themedia processors 100 can be implemented, for example, using a suitably programmed or dedicated processor (e.g., a microprocessor or microcontroller), hardwired logic, Application Specific Integrated Circuit (ASIC), and a Programmable Logic Device (PLD) (e.g., Field Programmable Gate Array (FPGA)). - A
content descriptor 25 is fed into themedia indexing controller 110, which allocates one or moreappropriate media processors 100 a . . . 100 n to process the media files/streams 20 identified in themetadata 27. Each of the assignedmedia processors 100 obtains the media file/stream (e.g., audio/video podcast) and applies a predefined set of audio or video processing routines to derive a portion of the enhanced metadata from the media content. - Examples of known
media processors 100 includespeech recognition processors 100 a,natural language processors 100 b,video frame analyzers 100 c, non-speechaudio analyzers 100 d,marker extractors 100 e and embeddedmetadata processors 100 f. Other media processors known to those skilled in the art of audio and video analysis can also be implemented within the media indexer. The results of such media processing define timing boundaries of a number of content segment within a media file/stream, including timedword segments 105 a, timedaudio speech segments 105 b,timed video segments 105 c, timed non-speechaudio segments 105 d, timedmarker segments 105 e, as well as miscellaneous content attributes 105 f, for example. -
FIG. 2 is a diagram illustrating an example of metadata enhanced for audio/video search-driven applications. As shown, theenhanced metadata 200 includemetadata 210 corresponding to the underlying media content generally. For example, where the underlying media content is an audio/video podcast,metadata 210 can include aURL 215 a,title 215 b,summary 215 c, and miscellaneous content attributes 215 d. Such information can be obtained from a content descriptor by thedescriptor indexer 50. An example of a content descriptor is a Really Simple Syndication (RSS) document that is descriptive of one or more audio/video podcasts. Alternatively, such information can be extracted by an embeddedmetadata processor 100 f from header fields embedded within the media file/stream according to a predetermined format. - The
enhanced metadata 200 further identifies individual segments of audio/video content and timing information that defines the boundaries of each segment within the media file/stream. For example, inFIG. 2 , theenhanced metadata 200 includes metadata that identifies a number of possible content segments within a typical media file/stream, namely word segments, audio speech segments, video segments, non-speech audio segments, and/or marker segments, for example. - The
metadata 220 includes descriptive parameters for each of the timed word segments 225, including asegment identifier 225 a, the text of anindividual word 225 b, timing information defining the boundaries of that content segment (i.e., start offset 225 c, end offset 225 d, and/orduration 225 e), and optionally aconfidence score 225 f. Thesegment identifier 225 a uniquely identifies each word segment amongst the content segments identified within themetadata 200. The text of theword segment 225 b can be determined using aspeech recognition processor 100 a or parsed from closed caption data included with the media file/stream. The start offset 225 c is an offset for indexing into the audio/video content to the beginning of the content segment. The end offset 225 d is an offset for indexing into the audio/video content to the end of the content segment. Theduration 225 e indicates the duration of the content segment. The start offset, end offset and duration can each be represented as a timestamp, frame number or value corresponding to any other indexing scheme known to those skilled in the art. Theconfidence score 225 f is a relative ranking (typically between 0 and 1) provided by thespeech recognition processor 100 a as to the accuracy of the recognized word. - The
metadata 230 includes descriptive parameters for each of the timed audio speech segments 235, including asegment identifier 235 a, an audiospeech segment type 235 b, timing information defining the boundaries of the content segment (e.g., start offset 235 c, end offset 235 d, and/orduration 235 e), and optionally aconfidence score 235 f. Thesegment identifier 235 a uniquely identifies each audio speech segment amongst the content segments identified within themetadata 200. The audiospeech segment type 235 b can be a numeric value or string that indicates whether the content segment includes audio corresponding to a phrase, a sentence, a paragraph, story or topic, particular gender, and/or an identified speaker. The audiospeech segment type 235 b and the corresponding timing information can be obtained using anatural language processor 100 b capable of processing the timed word segments from thespeech recognition processors 100 a and/or the media file/stream 20 itself. The start offset 235 c is an offset for indexing into the audio/video content to the beginning of the content segment. The end offset 235 d is an offset for indexing into the audio/video content to the end of the content segment. Theduration 235 e indicates the duration of the content segment. The start offset, end offset and duration can each be represented as a timestamp, frame number or value corresponding to any other indexing scheme known to those skilled in the art. Theconfidence score 235 f can be in the form of a statistical value (e.g., average, mean, variance, etc.) calculated from the individual confidence scores 225 f of the individual word segments. - The
metadata 240 includes descriptive parameters for each of the timed video segments 245, including asegment identifier 225 a, avideo segment type 245 b, and timing information defining the boundaries of the content segment (e.g., start offset 245 c, end offset 245 d, and/orduration 245 e). Thesegment identifier 245 a uniquely identifies each video segment amongst the content segments identified within themetadata 200. Thevideo segment type 245 b can be a numeric value or string that indicates whether the content segment corresponds to video of an individual scene, watermark, recognized object, recognized face, or overlay text. Thevideo segment type 245 b and the corresponding timing information can be obtained using avideo frame analyzer 100 c capable of applying one or more image processing techniques. The start offset 235 c is an offset for indexing into the audio/video content to the beginning of the content segment. The end offset 235 d is an offset for indexing into the audio/video content to the end of the content segment. Theduration 235 e indicates the duration of the content segment. The start offset, end offset and duration can each be represented as a timestamp, frame number or value corresponding to any other indexing scheme known to those skilled in the art. - The
metadata 250 includes descriptive parameters for each of the timed non-speech audio segments 255 include asegment identifier 225 a, a non-speechaudio segment type 255 b, and timing information defining the boundaries of the content segment (e.g., start offset 255 c, end offset 255 d, and/orduration 255 e). Thesegment identifier 255 a uniquely identifies each non-speech audio segment amongst the content segments identified within themetadata 200. Theaudio segment type 235 b can be a numeric value or string that indicates whether the content segment corresponds to audio of non-speech sounds, audio associated with a speaker emotion, audio within a range of volume levels, or sound gaps, for example. The non-speechaudio segment type 255 b and the corresponding timing information can be obtained using anon-speech audio analyzer 100 d. The start offset 255 c is an offset for indexing into the audio/video content to the beginning of the content segment. The end offset 255 d is an offset for indexing into the audio/video content to the end of the content segment. Theduration 255 e indicates the duration of the content segment. The start offset, end offset and duration can each be represented as a timestamp, frame number or value corresponding to any other indexing scheme known to those skilled in the art. - The
metadata 260 includes descriptive parameters for each of the timed marker segments 265, including asegment identifier 265 a, amarker segment type 265 b, timing information defining the boundaries of the content segment (e.g., start offset 265 c, end offset 265 d, and/orduration 265 e). Thesegment identifier 265 a uniquely identifies each video segment amongst the content segments identified within themetadata 200. Themarker segment type 265 b can be a numeric value or string that can indicates that the content segment corresponds to a predefined chapter or other marker within the media content (e.g., audio/video podcast). Themarker segment type 265 b and the corresponding timing information can be obtained using amarker extractor 100 e to obtain metadata in the form of markers (e.g., chapters) that are embedded within the media content in a manner known to those skilled in the art. - By generating or otherwise obtaining such enhanced metadata that identifies content segments and corresponding timing information from the underlying media content, a number of for audio/video search-driven applications can be implemented as described herein.
- Audio/Video Search Snippets
- According to another aspect, the invention features a computerized method and apparatus for generating and presenting search snippets that enable user-directed navigation of the underlying audio/video content. The method involves obtaining metadata associated with discrete media content that satisfies a search query. The metadata identifies a number of content segments and corresponding timing information derived from the underlying media content using one or more automated media processing techniques. Using the timing information identified in the metadata, a search result or “snippet” can be generated that enables a user to arbitrarily select and commence playback of the underlying media content at any of the individual content segments.
-
FIG. 3 is a diagram illustrating an example of a search snippet that enables user-directed navigation of underlying media content. Thesearch snippet 310 includes atext area 320 displaying thetext 325 of the words spoken during one or more content segments of the underlying media content. Amedia player 330 capable of audio/video playback is embedded within the search snippet or alternatively executed in a separate window. - The
text 325 for each word in thetext area 320 is preferably mapped to a start offset of a corresponding word segment identified in the enhanced metadata. For example, an object (e.g. SPAN object) can be defined for each of the displayed words in thetext area 320. The object defines a start offset of the word segment and an event handler. Each start offset can be a timestamp or other indexing value that identifies the start of the corresponding word segment within the media content. Alternatively, thetext 325 for a group of words can be mapped to the start offset of a common content segment that contains all of those words. Such content segments can include a audio speech segment, a video segment, or a marker segment, for example, as identified in the enhanced metadata ofFIG. 2 . - Playback of the underlying media content occurs in response to the user selection of a word and begins at the start offset corresponding to the content segment mapped to the selected word or group of words. User selection can be facilitated, for example, by directing a graphical pointer over the
text area 320 using a pointing device and actuating the pointing device once the pointer is positioned over thetext 325 of a desired word. In response, the object event handler provides themedia player 330 with a set of input parameters, including a link to the media file/stream and the corresponding start offset, and directs theplayer 330 to commence or otherwise continue playback of the underlying media content at the input start offset. - For example, referring to
FIG. 3 , if a user clicks on theword 325 a, themedia player 330 begins to plays back the media content at the audio/video segment starting with “state of the union address . . . ” Likewise, if the user clicks on theword 325 b, themedia player 330 commences playback of the audio/video segment starting with “bush outlined . . . ” - An advantage of this aspect of the invention is that a user can read the text of the underlying audio/video content displayed by the search snippet and then actively “jump to” a desired segment of the media content for audio/video playback without having to listen to or view the entire media stream.
-
FIGS. 4 and 5 are diagrams illustrating a computerized method and apparatus for generating search snippets that enable user navigation of the underlying media content. Referring toFIG. 4 , a client 410 interfaces with asearch engine module 420 for searching anindex 430 for desired audio/video content. The index includes a plurality of metadata associated with a number of discrete media content and enhanced for audio/video search as shown and described with reference toFIG. 2 . Thesearch engine module 420 also interfaces with asnippet generator module 440 that processes metadata satisfying a search query to generate the navigable search snippet for audio/video content for the client 410. Each of these modules can be implemented, for example, using a suitably programmed or dedicated processor (e.g., a microprocessor or microcontroller), hardwired logic, Application Specific Integrated Circuit (ASIC), and a Programmable Logic Device (PLD) (e.g., Field Programmable Gate Array (FPGA)). -
FIG. 5 is a flow diagram illustrating a computerized method for generating search snippets that enable user-directed navigation of the underlying audio/video content. Atstep 510, thesearch engine 420 conducts a keyword search of theindex 430 for a set of enhanced metadata documents satisfying the search query. Atstep 515, thesearch engine 420 obtains the enhanced metadata documents descriptive of one or more discrete media files/streams (e.g., audio/video podcasts). - At
step 520, thesnippet generator 440 obtains an enhanced metadata document corresponding to the first media file/stream in the set. As previously discussed with respect toFIG. 2 , the enhanced metadata identifies content segments and corresponding timing information defining the boundaries of each segment within the media file/stream. - At
step 525, thesnippet generator 440 reads or parses the enhanced metadata document to obtain information on each of the content segments identified within the media file/stream. For each content segment, the information obtained preferably includes the location of the underlying media content (e.g. URL), a segment identifier, a segment type, a start offset, an end offset (or duration), the word or the group of words spoken during that segment, if any, and an optional confidence score. - Step 530 is an optional step in which the
snippet generator 440 makes a determination as to whether the information obtained from the enhanced metadata is sufficiently accurate to warrant further search and/or presentation as a valid search snippet. For example, as shown inFIG. 2 , each of the word segments 225 includes aconfidence score 225 f assigned by thespeech recognition processor 100 a. Each confidence score is a relative ranking (typically between 0 and 1) as to the accuracy of the recognized text of the word segment. To determine an overall confidence score for the enhanced metadata document in its entirety, a statistical value (e.g., average, mean, variance, etc.) can be calculated from the individual confidence scores of all the word segments 225. - Thus, if, at
step 530, the overall confidence score falls below a predetermined threshold, the enhanced metadata document can be deemed unacceptable from which to present any search snippet of the underlying media content. Thus, the process continues atsteps step 510. Conversely, if the confidence score for the enhanced metadata in its entirety equals or exceeds the predetermined threshold, the process continues atstep 540. - At
step 540, thesnippet generator 440 determines a segment type preference. The segment type preference indicates which types of content segments to search and present as snippets. The segment type preference can include a numeric value or string corresponding to one or more of the segment types. For example, if the segment type preference can be defined to be one of the audio speech segment types, e.g., “story,” the enhanced metadata is searched on a story-by-story basis for a match to the search query and the resulting snippets are also presented on a story-by-story basis. In other words, each of the content segments identified in the metadata as type “story” are individually searched for a match to the search query and also presented in a separate search snippet if a match is found. Likewise, the segment type preference can alternatively be defined to be one of the video segment types, e.g., individual scene. The segment type preference can be fixed programmatically or user configurable. - At
step 545, thesnippet generator 440 obtains the metadata information corresponding to a first content segment of the preferred segment type (e.g., the first story segment). The metadata information for the content segment preferably includes the location of the underlying media file/stream, a segment identifier, the preferred segment type, a start offset, an end offset (or duration) and an optional confidence score. The start offset and the end offset/duration define the timing boundaries of the content segment. By referencing the enhanced metadata, the text of words spoken during that segment, if any, can be determined by identifying each of the word segments falling within the start and end offsets. For example, if the underlying media content is an audio/video podcast of a news program and the segment preference is “story,” the metadata information for the first content segment includes the text of the word segments spoken during the first news story. - Step 550 is an optional step in which the
snippet generator 440 makes a determination as to whether the metadata information for the content segment is sufficiently accurate to warrant further search and/or presentation as a valid search snippet. This step is similar to step 530 except that the confidence score is a statistical value (e.g., average, mean, variance, etc.) calculated from the individual confidence scores of the word segments 225 falling within the timing boundaries of the content segment. - If the confidence score falls below a predetermined threshold, the process continues at
step 555 to obtain the metadata information corresponding to a next content segment of the preferred segment type. If there are no more content segments of the preferred segment type, the process continues atstep 535 to obtain the enhanced metadata document corresponding to the next media file/stream identified in the search atstep 510. Conversely, if the confidence score of the metadata information for the content segment equals or exceeds the predetermined threshold, the process continues atstep 560. - At
step 560, thesnippet generator 440 compares the text of the words spoken during the selected content segment, if any, to the keyword(s) of the search query. If the text derived from the content segment does not contain a match to the keyword search query, the metadata information for that segment is discarded. Otherwise, the process continues atoptional step 565. - At
optional step 565, thesnippet generator 440 trims the text of the content segment (as determined at step 545) to fit within the boundaries of the display area (e.g.,text area 320 ofFIG. 3 ). According to one embodiment, the text can be trimmed by locating the word(s) matching the search query and limiting the number of additional words before and after. According to another embodiment, the text can be trimmed by locating the word(s) matching the search query, identifying another content segment that has a duration shorter than the segment type preference and contains the matching word(s), and limiting the displayed text of the search snippet to that of the content segment of shorter duration. For example, assuming that the segment type preference is of type “story,” the displayed text of the search snippet can be limited to that of segment type “sentence” or “paragraph”. - At
optional step 575, thesnippet generator 440 filters the text of individual words from the search snippet according to their confidence scores. For example, inFIG. 2 , aconfidence score 225 f is assigned to each of the word segments to represent a relative ranking that corresponds to the accuracy of the text of the recognized word. For each word in the text of the content segment, the confidence score from the corresponding word segment 225 is compared against a predetermined threshold value. If the confidence score for a word segment falls below the threshold, the text for that word segment is replaced with a predefined symbol (e.g., - - - ). Otherwise no change is made to the text for that word segment. - At
step 580, thesnippet generator 440 adds the resulting metadata information for the content segment to a search result for the underlying media stream/file. Each enhanced metadata document that is returned from the search engine can have zero, one or more content segments containing a match to the search query. Thus, the corresponding search result associated with the media file/stream can also have zero, one or more search snippets associated with it. An example of a search result that includes no search snippets occurs when the metadata of the original content descriptor contains the search term, but thetimed word segments 105 a ofFIG. 2 do not. The process returns to step 555 to obtain the metadata information corresponding to the next content snippet segment of the preferred segment type. If there are no more content segments of the preferred segment type, the process continues atstep 535 to obtain the enhanced metadata document corresponding to the next media file/stream identified in the search atstep 510. If there are no further metadata results to process, the process continues atoptional step 582 to rank the search results before sending to the client 410. - At
optional step 582, thesnippet generator 440 ranks and sorts the list of search results. One factor for determining the rank of the search results can include confidence scores. For example, the search results can be ranked by calculating the sum, average or other statistical value from the confidence scores of the constituent search snippets for each search result and then ranking and sorting accordingly. Search results being associated with higher confidence scores can be ranked and thus sorted higher than search results associated with lower confidence scores. Other factors for ranking search results can include the publication date associated with the underlying media content and the number of snippets in each of the search results that contain the search term or terms. Any number of other criteria for ranking search results known to those skilled in the art can also be utilized in ranking the search results for audio/video content. - At
step 585, the search results can be returned in a number of different ways. According to one embodiment, thesnippet generator 440 can generate a set of instructions for rendering each of the constituent search snippets of the search result as shown inFIG. 3 , for example, from the raw metadata information for each of the identified content segments. Once the instructions are generated, they can be provided to thesearch engine 420 for forwarding to the client. If a search result includes a long list of snippets, the client can display the search result such that a few of the snippets are displayed along with an indicator that can be selected to show the entire set of snippets for that search result. Although not so limited, such a client includes (i) a browser application that is capable of presenting graphical search query forms and resulting pages of search snippets; (ii) a desktop or portable application capable of, or otherwise modified for, subscribing to a service and receiving alerts containing embedded search snippets (e.g., RSS reader applications); or (iii) a search applet embedded within a DVD (Digital Video Disc) that allows users to search a remote or local index to locate and navigate segments of the DVD audio/video content. - According to another embodiment, the metadata information contained within the list of search results in a raw data format are forwarded directly to the client 410 or indirectly to the client 410 via the
search engine 420. The raw metadata information can include any combination of the parameters including a segment identifier, the location of the underlying content (e.g., URL or filename), segment type, the text of the word or group of words spoken during that segment (if any), timing information (e.g., start offset, end offset, and/or duration) and a confidence score (if any). Such information can then be stored or further processed by the client 410 according to application specific requirements. For example, a client desktop application, such as iTunes Music Store available from Apple Computer, Inc., can be modified to process the raw metadata information to generate its own proprietary user interface for enabling user-directed navigation of media content, including audio/video podcasts, resulting from a search of its Music Store repository. -
FIG. 6A is a diagram illustrating another example of a search snippet that enables user navigation of the underlying media content. Thesearch snippet 610 is similar to the snippet described with respect toFIG. 3 , and additionally includes a user actuateddisplay element 640 that serves as a navigational control. Thenavigational control 640 enables a user to control playback of the underlying media content. Thetext area 620 is optional for displaying thetext 625 of the words spoken during one or more segments of the underlying media content as previously discussed with respect toFIG. 3 . - Typical fast forward and fast reverse functions cause media players to jump ahead or jump back during media playback in fixed time increments. In contrast, the
navigational control 640 enables a user to jump from one content segment to another segment using the timing information of individual content segments identified in the enhanced metadata. - As shown in
FIG. 6A , the user-actuateddisplay element 640 can include a number of navigational controls (e.g., Back 642,Forward 648,Play 644, and Pause 646). The Back 642 and Forward 648 controls can be configured to enable a user to jump between word segments, audio speech segments, video segments, non-speech audio segments, and marker segments. For example, if an audio/video podcast includes several content segments corresponding to different stories or topics, the user can easily skip such segments until the desired story or topic segment is reached. -
FIGS. 6B and 6C are diagrams illustrating a method for navigating media content using the search snippet ofFIG. 6A . Atstep 710, the client presents the search snippet ofFIG. 6A , for example, that includes the user actuateddisplay element 640. The user-actuateddisplay element 640 includes a number of individual navigational controls (i.e., Back 642,Forward 648,Play 644, and Pause 646). Each of thenavigational controls Play control 644, the object event handler provides themedia player 630 with a link to the media file/stream and directs theplayer 630 to initiate playback of the media content from the beginning of the file/stream or from the most recent playback offset. - At
step 720, in response to an indication of user actuation ofForward 648 and Back 642 display elements, a playback offset associated with the underlying media content in playback is determined. The playback offset can be a timestamp or other indexing value that varies according to the content segment presently in playback. This playback offset can be determined by polling the media player or by autonomously tracking the playback time. - For example, as shown in
FIG. 6C , when thenavigational event handler 850 is triggered by user actuation of theForward 648 or Back 642 control elements, the playback state ofmedia player module 830 is determined from the identity of the media file/stream presently in playback (e.g., URL or filename), if any, and the playback timing offset. Determination of the playback state can be accomplished by a sequence of status request/response 855 signaling to and from themedia player module 830. Alternatively, a background media playbackstate tracker module 860 can be executed that keeps track of the identity of the media file in playback and maintains a playback clock (not shown) that tracks the relative playback timing offsets. - At
step 730 ofFIG. 6B , the playback offset is compared with the timing information corresponding to each of the content segments of the underlying media content to determine which of the content segments is presently in playback. As shown inFIG. 6C , once the media file/stream and playback timing offset are determined, thenavigational event handler 850 references asegment list 870 that identifies each of the content segments in the media file/stream and the corresponding timing offset of that segment. As shown, thesegment list 870 includes asegment list 872 corresponding to a set of timed audio speech segments (e.g., topics). For example, if the media file/stream is an audio/video podcast of an episode of a daily news program, thesegment list 872 can include a number of entries corresponding to the various topics discussed during that episode (e.g., news, weather, sports, entertainment, etc.) and the time offsets corresponding to the start of each topic. Thesegment list 870 can also include avideo segment list 874 or other lists (not shown) corresponding to timed word segments, timed non-speech audio segments, and timed marker segments, for example. The segment lists 870 can be derived from the enhanced metadata or can be the enhanced metadata itself. - At
step 740 ofFIG. 6B , the underlying media content is played back at an offset that is prior to or subsequent to the offset of the content segment presently in playback. For example, referring toFIG. 6C , theevent handler 850 compares the playback timing offset to the set of predetermined timing offsets in one or more of the segment lists 870 to determine which of the content segments to playback next. For example, if the user clicked on the “forward” control 848, theevent handler 850 obtains the timing offset for the content segment that is greater in time than the present playback offset. Conversely, if the user clicks on the “backward” control 842, theevent handler 850 obtains the timing offset for the content segment that is earlier in time than the present playback offset. After determining the timing offset of the next segment to play, theevent handler 850 provides themedia player module 830 withinstructions 880 directing playback of the media content at the next playback state (e.g., segment offset and/or URL). - Thus, an advantage of this aspect of the invention is that a user can control media using a client that is capable of jumping from one content segment to another segment using the timing information of individual content segments identified in the enhanced metadata. One particular application of this technology can be applied to portable player devices, such as the iPod audio/video player available from Apple Computer, Inc. For example, after downloading a podcast to the iPod, it is unacceptable for a user to have to listen to or view an entire podcast if he/she is only interested in a few segments of the content. Rather, by modifying the internal operating system software of iPod, the control buttons on the front panel of the iPod can be used to jump from one segment to the next segment of the podcast in a manner similar to that previously described.
- Media Merge
- According to another aspect of the invention, the invention features a computerized method and apparatus for merging content segments from a number of discrete media content for playback. Previously, if a user wanted to listen to or view a particular topic available in a number of audio/video podcasts, the user had to download each of the podcasts and then listen to or view the entire podcast content until the desired topic was reached. Even if the media player included the ability to fast forward media playback, the user would more than likely not know when the beginning of the desired topic segment began. Thus, even if the podcast or other media file/stream contained the desired content, the user would have to expend unnecessary effort in “fishing” for the desired content in each podcast.
- In contrast, embodiments of the invention obtain metadata corresponding to a plurality of discrete media content, such that the metadata identifies content segments and their corresponding timing information. Preferably the metadata of at least one of the plurality of discrete media content is derived using one or more media processing techniques. The media processing techniques can include automated techniques such as those previously described with respect to
FIGS. 1B and 2 . The media processing techniques can also include manual techniques. For example, the content creator could insert chapter markers at specific times into the media file. One can also write a text summary of the content that includes timing information. A set of the content segments are then selected and merged for playback using the timing information from each of the corresponding metadata. - According to one embodiment, the merged media content is implemented as a playlist that identifies the content segments to be merged for playback. The playlist includes timing information for accessing these segments during playback within each of the corresponding media files/streams (e.g., podcasts) and an express or implicit playback order of the segments. The playlist and each of the corresponding media files/streams are provided in their entirety to a client for playback, storage or further processing.
- According to another embodiment, the merged media content is generated by extracting the content segments to be merged for playback from each of the media files/streams (e.g., podcasts) and then merging the extracted segments into one or more merged media files/streams. Optionally, a playlist can be provided with the merged media files/streams to enable user control of the media player to navigate from one content segment to another as opposed to merely fast forwarding or reversing media playback in fixed time increments. The one or more merged media files/streams and the optional playlist are then provided to the client for playback, storage or further processing.
-
FIG. 7 is a diagram illustrating an apparatus for merging content segments for playback. As shown, aclient 710 interfaces with asearch engine 720 for searching anindex 730 for desired audio/video content. Theindex 730 includes a plurality of metadata associated with a number of discrete media content with each enhanced for audio/video search as shown and described with reference toFIG. 2 . Thesearch engine 720 interfaces with asnippet generator 740 that processes the metadata satisfying a search query, resulting in a number of search snippets being generated to present audio/video content. After presentation of the search snippets, theclient 710, under direction of a user, interfaces with amedia merge module 900 in order to merge content segments ofuser interest 905 for playback, storage or further processing at theclient 710. -
FIG. 8 is a flow diagram illustrating a computerized method for merging content segments for playback. Atstep 910, thesearch engine 720 conducts a keyword search of theindex 730 for metadata enhanced for audio/video search that satisfies a search query. Subsequently, thesearch engine 720, or alternatively thesnippet generator 740 itself, downloads a set of metadata information or instructions to enable presentation of a set of search snippets at theclient 710 as previously described. - At
step 915, theclient 710, under the direction of a user, selects a number of the content segments to merge for playback by selecting the corresponding snippets. Snippet selection can be implemented in any number of ways know to those skilled in the art. For example, the user interface presenting each of the search snippets at theclient 710 can provide a checkbox for each snippet. After enabling the checkboxes corresponding to each of the snippets of interest, a button or menu item is provided to enable the user to submit the metadata information identifying each of the selected content segments to the media mergemodule 900. Such metadata information includes, for example, the segment identifiers and the locations of the underlying media content (e.g. URL links or filenames). Theclient 710 transmits, and the media mergemodule 900 receives, the selected segment identifiers and the corresponding locations of the underlying media content. - At
optional step 920, theclient 710 additionally transmits, and the media mergemodule 900 receives, a set of parameters for merging the content segments. For example, one parameter can define a total duration which cannot be exceeded by the cumulative duration of the merged content segments. Another parameter can specify a preference for merging the individual content segments into one or more media files. Such parameters can be user-defined, programmatically defined, or fixed. - At
step 925, the media mergemodule 900 obtains the enhanced metadata corresponding to each of the underlying media files/streams containing the selected content segments. For example, the media mergemodule 900 can obtain the enhanced metadata by conducting a search of theindex 730 for each of the metadata according to the locations of the underlying media content (e.g., URL links) submitted by theclient 710. - At
step 930, the media mergemodule 900 parses or reads each of the individual enhanced metadata corresponding to the underlying media content (e.g., audio/video podcasts). Using the segment identifiers submitted by theclient 710, the media mergemodule 900 obtains the metadata information for each of the content segments from each of the individual enhanced metadata. The metadata information obtained includes the segment identifier, a start offset, and an end offset (or duration). In other embodiments, the metadata information can be provided to the media mergemodule 900 atstep 915, and thus makesteps module 900 can implement the merged media content according to a first embodiment described with respect toFIGS. 9A-9B or a second embodiment described with respect toFIGS. 10A-10B . -
FIGS. 9A and 9B are diagrams illustrating a computerized method for merging content segments for playback according to the first embodiment. In this first embodiment, a playlist that identifies the content segments to be merged for playback is generated using the timing information from the metadata. The playlist identifies the selected content segments and corresponding timing information for accessing the selected content segments within each of a number of discrete media content. The plurality of discrete media content and the generated play list are downloaded to a client for playback, storage or further processing. - At
step 935, the media mergemodule 900 obtains the metadata information for the first content segment (as determined atstep 915 or 930), including a segment identifier, a start offset, and an end offset (or duration). Atstep 940, the media mergemodule 900 determines the duration of the selected segment. The segment duration can be calculated as the difference of a start offset and an end offset. Alternatively, the segment duration can be provided as a predetermined value. - At
step 945, the media mergemodule 900 determines whether to add the content segment to the playlist based on cumulative duration. For example, if the cumulative duration of the selected content segments, which includes the segment duration for the current content segment, exceeds the total duration (determined at step 920), the content segment is not added to the playlist and the process proceeds to step 960 to download the playlist and optionally each of the media files or streams identified in the playlist to theclient 710. Conversely, if the addition of the content segment does not cause the cumulative duration to exceed the total duration, the content segment is added to the playlist at 950. - At
step 950, the media mergemodule 900 updates the playlist by appending the location of the underlying media content (e.g., filename or URL link), the start offset, and end offset (or duration) from the metadata information of the enhanced metadata for that content segment. For example,FIG. 9B is a diagram representing a playlist merging individual content segments for playback from a plurality of discrete media content. As shown, theplaylist 1000 provides an entry for each of the selected segments, namelysegments streams filename 1010 a, asegment identifier 1010 b, start offset 1010 c and end offset orduration 1010 d. - In operation, the timing information in the
playlist 1000 can be used by a media player for indexing into each of the media files/streams to playback only those segments specifically designated by the user. For example, each of thecontent segments video podcast - Referring back to
FIG. 9A atstep 955, the media mergemodule 900 obtains the metadata information for the next content segment, namely a segment identifier, a start offset, and an end offset or duration (as determined atstep 915 or 930) and continues atstep 935 to repeat the process for adding the next content segment to the playlist. If there are no further content segments selected for addition to the merged playlist, the process continues atstep 960. Atstep 960, the playlist is downloaded to the client and optionally further downloads the underlying media content in their entirety to the client for playback, storage or further processing of the merged media content. -
FIGS. 10A-10C are diagrams illustrating a computerized method for merging content segments for playback according to the second embodiment. In the second embodiment, the merged media content is generated by extracting the selected content segments from each of the underlying media files/streams using the timing information from the corresponding metadata. The extracted content segments are then merged into one or more discrete media files/streams and downloaded to a client for playback, storage or further processing. In particular embodiments, a playlist can also be generated that identifies the selected content segments and corresponding timing information for accessing the selected content segments within the merged media file(s). Using the playlist, a user can control the media player to navigate from one content segment to another as opposed to merely fast forwarding or reversing media playback in fixed time increments. - At step 1100, the media merge
module 900 obtains the metadata information for the first content segment, namely the segment identifier, the start offset, the end offset (or duration), and the location of the underlying media content (e.g., URL link). Atstep 1110, the media mergemodule 900 determines the duration of the selected segment. The segment duration can be calculated as the difference of a start offset and an end offset. Alternatively, the segment duration can be provided as a predetermined value. Atstep 1115, the media mergemodule 900 determines whether to merge the content segment along with other content segments for playback. For example, if the cumulative duration of the selected content segments, including the segment duration for the current content segment, exceeds the total duration (determined at step 920), the content segment is not added and the process proceeds to step 1150. - Conversely, the process continues at
step 1120 if the addition of the content segment does not cause the cumulative duration to exceed the total duration. Atstep 1120, the media mergemodule 900 obtains a copy of the underlying media content from the location identified in the metadata information for the content segment. The media mergemodule 900 then extracts the content segment by cropping the underlying media content using the start offset and end offset (or duration) for that segment. The content segment can be cropped using any audio/video editing tool known to those skilled in the art. - Depending on whether the specified preference (as optionally determined at step 920) is to merge the individual content segments into one or more media files, the process can continue along a first track starting at
step 1125 for generating a single merged file or stream. Alternatively, the process can continue along a second track starting atstep 1135 for generating separate media files corresponding to each content segment. - At
step 1125, where the preference is to merge the individual content segments into a single media file, the cropped segment of content fromstep 1120 is appended to the merged media file. Segment dividers may also be appended between consecutive content segments. For example, a segment divider can include silent content (e.g., no video/audio). Alternatively, a segment dividers can include audio/video content that provides advertising, facts or information. For example,FIG. 10B is a diagram that illustrates a number ofcontent segments streams stream 1200.FIG. 10B also illustrates segment dividers 1250 a, 1250 b, 1250 b separating theindividual segments stream 1200. As a result, the merged media file/stream 1200 enables a user to listen or view only the desired content from each of the discrete media content (e.g., audio/video podcasts). - Referring back to
FIG. 10A atoptional step 1130, the media mergemodule 900 can create/update a playlist that identifies timing information corresponding to each of the content segments merged into the single media file/stream. For example, as shown inFIG. 10B , aplaylist 1270 can be generated that identifies the filename that is common to allsegments 1270 a,segment identifier 1270 b, start offset of the content segment in the merged file/stream 1270 c and end offset (or duration) of thesegment 1270 d. Using the playlist, a user can control the media player to navigate from one content segment to another as opposed to merely fast forwarding or reversing media playback in fixed time increments. - Referring back to
FIG. 10A atstep 1135, where the preference is to merge the individual content segments into a group of individual media files, a new media file/stream is created for the cropped segment (determined at step 1120). Atstep 1140, the media mergemodule 900 also appends the filename of the newly created media file/stream to a file list. The file list identifies each of the media files corresponding to the merged media content. - For example,
FIG. 10C is a diagram that illustrates a number ofcontent segments streams streams FIG. 10C also illustrates afile list 1272 identifying each of the individual files/streams (e.g., merge1.mpg, merge2.mpg, etc) that constitute the merged media content. - Referring back to
FIG. 10A atstep 1145, the media mergemodule 900 obtains the metadata information for the next content segment, namely the segment identifier, the start offset, the end offset (or duration), and the location of the underlying media content (e.g., URL link) and continues back atstep 1110 to determine whether to merge the next content segment selected by the user. If, atstep 1145, there are no further content segments to process or alternatively if, atstep 1115, the media merge module make a determination not to merge the next content segment, the process continues atstep 1150. - At
step 1150, the media mergemodule 900 downloads the one or more media files/streams 1200, 1210 respectively for playback and optionally theplaylist 1270 orfile list 1272 to enable navigation among the individual content segments of the merged media file(s). For example, if the client is a desktop application, such as iTunes Music Store available from Apple Computer, Inc., the media files/streams and optional playlists/filelists can be downloaded to the iTunes application and then further downloaded from the iTunes application onto an iPod media player. - Virtual Channels Based on Media Search
- According to a particular application of the media merge, the invention features a system and method for providing custom virtual media channels based on media searches. A virtual media channel can be implemented as a media file or stream of audio/video content. Alternatively, a virtual media channel can be implemented as a play list identifying a set of media files or streams, including an implied or express order of playback. The audio/video content of a virtual media channel can be customized by providing a rule set that defines instructions for obtaining media content that comprises the content for the media channel. In other words the rule set defines the content format of the channel. The rule set is defined such that at least one of the rules includes a keyword search for audio/video content, the results of which can be merged into the resulting content into a media file, stream or play list for virtual channel playback.
-
FIGS. 11A and 11B are diagrams illustrating a system and method, respectively, for providing a virtual media channel based on media search.FIG. 11A illustrates an exemplary system that includes a number of modules. As shown, the system includes achannel selector 1310, asearch engine 1320, adatabase 1330, a filter andsort engine 1340, anoptional segment cropper 1350, and amedia merge module 1360. The media mergemodule 1360 can be implemented as previously described with respect to the first embodiment ofFIGS. 9A-9B or the second embodiment ofFIGS. 10A-10B . These component can be operated according to the method described with respect toFIG. 11B . - Referring to
FIG. 11B atstep 1410, a user selects a virtual media channel for playback through a user interface provided by thechannel selector 1310.FIG. 12 provides a diagram illustrating an exemplary user interface for channel selection. As shown,FIG. 12 includes agraphical user interface 1500 including amedia player 1520 and graphical icons (e.g., “buttons”) that representpreset media channels media player 1520. The preset channels 1510 a-1510 c can provide media streams customized to one or more specific topics selected by the content provider, while channel 1510 d can provide media streams customized to one or more specific topics requested by a user. - Referring back to
FIG. 11B atstep 1420, thechannel selector 1310 receives an indication of the selected channel and retrieves a set of rules and preferences defining the content format of the selected channel. The rules define instructions for obtaining media content (e.g. audio/video segments) that constitute the content for the virtual media channel. At least one of the rules includes instructions to execute a media search and to add one or more segments of audio/video content identified during the media search to the play list for the virtual media channel. - An exemplary rule set can specify a first rule with instructions to add a “canned” introduction for the virtual media channel (e.g., “Welcome to Sports Forum . . . ”); a second rule with instructions to conduct a media search on a first topic (e.g. “steroids”) and to add one or more of media segments resulting from that search; a third rule with instructions to conduct a media search on a second topic (e.g. “World Baseball Classic”) and to add one or more of media segments resulting from that search; and a fourth rule with instructions to add a “canned” sign off (e.g., “Well, that's the end of the program. Thank you for joining us . . . ”). The rule set can also allocate specific or relative numbers of media segments from each media search for inclusion in the content of the virtual media channel. The rule set can also define a maximum duration of the channel content. In the case of a user-defined media channel, the
channel selector 1310 can provide a user interface (not shown) for selecting the topics for the media search, specifying allocations of the resulting media segments for the channel content, and define the maximum duration of the channel content. - The rule set can also include rules to insert advertisements, factual or information content as additional content for the virtual media channel. The advertisements can be arbitrarily selected from a pool of available advertisements, or alternatively, the advertisements can be related to the topic of a previous or subsequent media segment included in the content of the media channel. See U.S. patent application Ser. No. 11/395,608, filed on Mar. 31, 2006, for examples of dynamic presentation of factual, informational or advertising content. The entire teachings of this application being incorporated by reference in its entirety.
- The preferences, which can be user defined, can include a maximum duration for playback over the virtual media channel. Preferences can also include a manner of delivering the content of the virtual media channel to the user (e.g., downloaded as a single merged media file or stream or as multiple media files or streams).
- At
step 1430, thechannel selector 1310 directs thesearch engine 1320 to conduct a media search according to each rule specifying a media search on a specific topic. Thesearch engine 1320 searches thedatabase 1330 of metadata enhanced for audio/video search, such as the enhanced metadata previously described with respect toFIG. 2 . In particular, by including the text of the audio portion of a media file or stream within the metadata descriptive of the media file or stream, which is segmented according to, for example, topics, stories, scenes, etc., thesearch engine 1320 can obtain accurate search results through key word searching. The metadata can also be segmented according to segments of other media channels. As a result of each media search, thesearch engine 1320 receives an individual set of enhanced metadata documents descriptive of one or more candidate media files or streams that satisfy the key word search query defined by a corresponding rule. For example, if a rule specified a search for the topic “steroids,” the results of the media search can include a set of enhanced metadata documents for one or more candidate audio/video podcasts that include a reference to the keyword “steroids.” - At
step 1440, the filter andsort engine 1340 receives the individual sets of enhanced metadata documents with each set corresponding to a media search. Specifically, theengine 1340 applies a set of rules to filter and sort the metadata documents within each set. - For example, the filter and
sort engine 1340 can be used to eliminate previously viewed media files. According to one embodiment, the filter andsort engine 1340 can maintain a history that includes the identity of the media files and streams previously used as content for the virtual media channel. By comparing the identity information in an enhanced metadata document (e.g., file name, link, etc.) with the history data, the filter andsort engine 1340 can eliminate media files or streams as candidates whose identity information is included in the history data. - The filter and
sort engine 1340 can be used to eliminate, or alternatively sort, media files or streams sourced from undesired sites. According to one embodiment, the filter andsort engine 1340 can maintain a site list data structure that lists links to specific sources of content that are “preferred” and “not preferred” as identified by a user or content provider. By comparing the source of a media file or stream from the identity information in an enhanced metadata document (e.g., file name, link, etc.) with the site list data, the filter andsort engine 1340 can eliminate media files or streams as candidates from sources that are not preferred. Conversely, the filter andsort engine 1340 can use the site list data to sort the enhanced metadata documents according to whether or not the corresponding media file or stream is sourced from a preferred site. According to another embodiment, the site list data can list links to specific sources of content to which the content provider or user is authorized to access and whose content can be included in the virtual media channel. - The filter and
sort engine 1340 can be used to sort the media files or streams according to relevance or other ranking criteria. For example, each set of metadata documents results from a media search defined by one of the rules in the rule set. By using the keywords from the media search query, theengine 1340 can track the keyword counts across the metadata documents in the set. Documents having higher keyword counts can be considered to be more relevant than documents having lower keyword counts. Thus, the media files can be sorted accordingly with the media files associated with more relevant metadata documents preceding the media files associated with less relevant metadata documents. Other known methods of ranking media files or streams known to those skilled in the art can also be used to filter and sort the individual sets of metadata. For example, the metadata can be sorted based on the date and time. - At
step 1450, anoptional segment cropper 1350 determines the boundaries of the audio/video segment containing the keywords of the media searches. For example,FIG. 13 is a diagram that illustrates an exemplary metadata document including a timed segment index. With respect to theexemplary metadata document 1600, thesegment cropper 1350 can search for the keyword “steroids” within the set oftimed word segments 1610 that provide the text of the words spoken during the audio portion of the media file. Thesegment cropper 1350 can compare the text of one or more word segments to the keyword. If there is a match, the timing boundaries are obtained for the matching word segment, or segments in the case of a multi-word keyword (e.g. “World Baseball Classic.” The timing boundaries of a word segment can include a start offset and an end offset, or duration, as previously described with respect toFIG. 2 . These timing boundaries define the segment of the media content when the particular tag is spoken. For example, inFIG. 13 , the first word segment containing the keyword “steroids” is word segment WS050 having timing boundaries of T30 and T31. The timing boundaries of the matching word segment(s) containing the keyword(s) are extended by comparing the timing boundaries of the matching word segment(s) to the timing boundaries of the other types of content segments (e.g., audio speech segment, video segment, marker segment as previously described inFIG. 2 ). If the timing boundaries of the matching word segment fall within the timing boundaries of a broader content segment, the timing boundaries for the keyword can be extended to coincide with the timing boundaries of that broader content segment. - For example, in
FIG. 13 , marker segments MS001 and MS002 defining timing boundaries that contain a plurality of theword segments 1610. Marker segments can be identified within a media file or stream with embedded data serving as a marker (e.g., the beginning of a chapter). Marker segments can also be identified from a content descriptor, such as a web page. For example, a web page linking to a movie may state in the text of the page, “Scene 1 starts at time hh:mm:ss (i.e., hours, minutes, seconds).” From such information, a segment index including marker segments can be generated. In this example, marker segment MS001 defines the timing boundaries for the World Baseball Classic segment, and marker segment MS002 defines the timing boundaries for the steroids segment. Thesegment cropper 1350 searches for the first word segment containing the keyword tag “steroids” in the text of thetimed word segments 1610, and obtains the timing boundaries for the matching word segment WS050, namely start offset T30 and end offset T31. Thesegment cropper 1350 then expands the timing boundaries for the keyword by comparing the timing boundaries T30 and T31 against the timing boundaries for marker segments MS001 and MS002. Since the timing boundaries of the matching word segment falls within the timing boundaries of marker segment MS002, namely start offset T25 and end offset T99, the keyword “steroids” is mapped to the timing boundaries T25 and T99. Similarly, the second and third instances of the keyword tag “steroids” in word segments WS060 and WS070 fall within the timing boundaries of marker segment MS002, and thus the timing boundaries associated with tag “steroids” do not change. Where multiple instances of the tag cannot be found in multiple non-contiguous content segments, the tag can be associated with multiple timing boundaries corresponding to each of the broader segments. - In other embodiments, the segment cropper can be omitted, and the filtered and sorted metadata documents can be transmitted from the filter and
sort engine 1430 to themedia merge module 1350. In such embodiments, the media merge module merges the content of the entire media file or stream into the merged content. - At
step 1460, themedia merge module 1360 receives the metadata that corresponds to the candidates media files or streams, including the timing information for the boundaries of the selected content segments (e.g., start offset, end offset, and/or duration) from the segment cropper 1350 (if any). The media mergemodule 1360 then merges one or more segments from the media search along with the predetermined media segments according to the channel format as defined by the set of rules and preferences as defined by thechannel selector 1310. The media mergemodule 1360 operates as previously described with respect toFIGS. 9A-9B orFIGS. 10A-10B . -
FIGS. 9A and 9B are diagrams illustrating a computerized method for merging content segments for playback according to the first embodiment. In this first embodiment, a playlist that identifies the content segments to be merged for playback is generated using the timing information from the metadata. The playlist identifies the selected content segments and corresponding timing information for accessing the selected content segments within each of a number of discrete media content. The plurality of discrete media content and the generated play list are downloaded to a client for playback, storage or further processing. -
FIGS. 10A-10C are diagrams illustrating a computerized method for merging content segments for playback according to the second embodiment. In the second embodiment, the merged media content is generated by extracting the selected content segments from each of the underlying media files/streams using the timing information from the corresponding metadata. The extracted content segments are then merged into one or more discrete media files/streams and downloaded to a client for playback, storage or further processing. In particular embodiments, a playlist can also be generated that identifies the selected content segments and corresponding timing information for accessing the selected content segments within the merged media file(s). Using the playlist, a user can control the media player to navigate from one content segment to another as opposed to merely fast forwarding or reversing media playback in fixed time increments. - The above-described techniques can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. The implementation can be as a computer program product, i.e., a computer program tangibly embodied in an information carrier, e.g., in a machine-readable storage device or in a propagated signal, for execution by, or to control the operation of, data processing apparatus, e.g., a programmable processor, a computer, or multiple computers.
- A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
- Method steps can be performed by one or more programmable processors executing a computer program to perform functions of the invention by operating on input data and generating output. Method steps can also be performed by, and apparatus can be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit). Modules can refer to portions of the computer program and/or the processor/special circuitry that implements that functionality.
- Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. Data transmission and instructions can also occur over a communications network.
- Information carriers suitable for embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in special purpose logic circuitry.
- The terms “module” and “function,” as used herein, mean, but are not limited to, a software or hardware component which performs certain tasks. A module may advantageously be configured to reside on addressable storage medium and configured to execute on one or more processors. A module may be fully or partially implemented with a general purpose integrated circuit (IC), FPGA, or ASIC. Thus, a module may include, by way of example, components, such as software components, object-oriented software components, class components and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables. The functionality provided for in the components and modules may be combined into fewer components and modules or further separated into additional components and modules.
- Additionally, the components and modules may advantageously be implemented on many different platforms, including computers, computer servers, data communications infrastructure equipment such as application-enabled switches or routers, or telecommunications infrastructure equipment, such as public or private telephone switches or private branch exchanges (PBX). In any of these cases, implementation may be achieved either by writing applications that are native to the chosen platform, or by interfacing the platform to one or more external application engines.
- To provide for interaction with a user, the above described techniques can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer (e.g., interact with a user interface element). Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
- The above described techniques can be implemented in a distributed computing system that includes a back-end component, e.g., as a data server, and/or a middleware component, e.g., an application server, and/or a front-end component, e.g., a client computer having a graphical user interface and/or a Web browser through which a user can interact with an example implementation, or any combination of such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), e.g., the Internet, and include both wired and wireless networks. Communication networks can also all or a portion of the PSTN, for example, a portion owned by a specific carrier.
- The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
- While this invention has been particularly shown and described with references to preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the invention encompassed by the appended claims.
Claims (25)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/446,543 US20070118873A1 (en) | 2005-11-09 | 2006-06-02 | Methods and apparatus for merging media content |
PCT/US2006/043680 WO2007056532A1 (en) | 2005-11-09 | 2006-11-08 | Methods and apparatus for merging media content |
US14/845,749 US9934223B2 (en) | 2005-11-09 | 2015-09-04 | Methods and apparatus for merging media content |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US73612405P | 2005-11-09 | 2005-11-09 | |
US11/395,732 US20070106646A1 (en) | 2005-11-09 | 2006-03-31 | User-directed navigation of multimedia search results |
US11/446,543 US20070118873A1 (en) | 2005-11-09 | 2006-06-02 | Methods and apparatus for merging media content |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/395,732 Continuation-In-Part US20070106646A1 (en) | 2005-11-09 | 2006-03-31 | User-directed navigation of multimedia search results |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/845,749 Continuation US9934223B2 (en) | 2005-11-09 | 2015-09-04 | Methods and apparatus for merging media content |
Publications (1)
Publication Number | Publication Date |
---|---|
US20070118873A1 true US20070118873A1 (en) | 2007-05-24 |
Family
ID=37909171
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/446,543 Abandoned US20070118873A1 (en) | 2005-11-09 | 2006-06-02 | Methods and apparatus for merging media content |
US14/845,749 Expired - Fee Related US9934223B2 (en) | 2005-11-09 | 2015-09-04 | Methods and apparatus for merging media content |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/845,749 Expired - Fee Related US9934223B2 (en) | 2005-11-09 | 2015-09-04 | Methods and apparatus for merging media content |
Country Status (2)
Country | Link |
---|---|
US (2) | US20070118873A1 (en) |
WO (1) | WO2007056532A1 (en) |
Cited By (130)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060256739A1 (en) * | 2005-02-19 | 2006-11-16 | Kenneth Seier | Flexible multi-media data management |
US20070106693A1 (en) * | 2005-11-09 | 2007-05-10 | Bbnt Solutions Llc | Methods and apparatus for providing virtual media channels based on media search |
US20070106760A1 (en) * | 2005-11-09 | 2007-05-10 | Bbnt Solutions Llc | Methods and apparatus for dynamic presentation of advertising, factual, and informational content using enhanced metadata in search-driven media applications |
US20070106685A1 (en) * | 2005-11-09 | 2007-05-10 | Podzinger Corp. | Method and apparatus for updating speech recognition databases and reindexing audio and video content using the same |
US20070178865A1 (en) * | 2005-12-15 | 2007-08-02 | Steelberg Ryan S | Content Depot |
US20080034056A1 (en) * | 2006-07-21 | 2008-02-07 | At&T Corp. | System and method of collecting, correlating, and aggregating structured edited content and non-edited content |
US20080030797A1 (en) * | 2006-08-04 | 2008-02-07 | Eric Circlaeys | Automated Content Capture and Processing |
US20080046406A1 (en) * | 2006-08-15 | 2008-02-21 | Microsoft Corporation | Audio and video thumbnails |
US20080050096A1 (en) * | 2006-08-25 | 2008-02-28 | Samsung Electronics Co., Ltd. | Method, av cp device and home network system for executing av content with segment unit |
US20080140385A1 (en) * | 2006-12-07 | 2008-06-12 | Microsoft Corporation | Using automated content analysis for audio/video content consumption |
US20080165388A1 (en) * | 2007-01-04 | 2008-07-10 | Bertrand Serlet | Automatic Content Creation and Processing |
US20080244644A1 (en) * | 2007-03-30 | 2008-10-02 | Verizon Business Network Services Inc. | Managing multiple media content sources |
US20080254741A1 (en) * | 2007-04-13 | 2008-10-16 | Google Inc. | Leader and Follower Broadcast Stations |
US20080255686A1 (en) * | 2007-04-13 | 2008-10-16 | Google Inc. | Delivering Podcast Content |
US20080256080A1 (en) * | 2007-04-13 | 2008-10-16 | William Irvin | Sharing Media Content Among Families of Broadcast Stations |
US20080253307A1 (en) * | 2007-04-13 | 2008-10-16 | Google Inc. | Multi-Station Media Controller |
US20080255687A1 (en) * | 2007-04-14 | 2008-10-16 | Aaron Eppolito | Multi-Take Compositing of Digital Media Assets |
US20080263433A1 (en) * | 2007-04-14 | 2008-10-23 | Aaron Eppolito | Multiple version merge for media production |
US20080301187A1 (en) * | 2007-06-01 | 2008-12-04 | Concert Technology Corporation | Enhanced media item playlist comprising presence information |
US20080307104A1 (en) * | 2007-06-08 | 2008-12-11 | Lisa Amini | Methods and Apparatus for Functional Model-Based Data Provenance in Stream Processing Environments |
US20080319833A1 (en) * | 2006-07-11 | 2008-12-25 | Concert Technology Corporation | P2p real time media recommendations |
US20090055396A1 (en) * | 2006-07-11 | 2009-02-26 | Concert Technology Corporation | Scoring and replaying media items |
US20090055759A1 (en) * | 2006-07-11 | 2009-02-26 | Concert Technology Corporation | Graphical user interface system for allowing management of a media item playlist based on a preference scoring system |
US20090063484A1 (en) * | 2007-08-30 | 2009-03-05 | International Business Machines Corporation | Creating playback definitions indicating segments of media content from multiple content files to render |
US20090063279A1 (en) * | 2007-08-29 | 2009-03-05 | Ives David J | Contextual Advertising For Video and Audio Media |
US20090077052A1 (en) * | 2006-06-21 | 2009-03-19 | Concert Technology Corporation | Historical media recommendation service |
US20090077613A1 (en) * | 2007-09-14 | 2009-03-19 | At&T Knowledge Ventures, L.P. | Apparatus and method for managing media content |
US20090083116A1 (en) * | 2006-08-08 | 2009-03-26 | Concert Technology Corporation | Heavy influencer media recommendations |
US20090097770A1 (en) * | 2007-10-11 | 2009-04-16 | Apple Inc. | Representing high-resolution media content in a lower resolution system |
US20090132585A1 (en) * | 2007-11-19 | 2009-05-21 | James Tanis | Instructional lesson customization via multi-media data acquisition and destructive file merging |
US20090164516A1 (en) * | 2007-12-21 | 2009-06-25 | Concert Technology Corporation | Method and system for generating media recommendations in a distributed environment based on tagging play history information with location information |
WO2009089097A1 (en) * | 2008-01-04 | 2009-07-16 | Bandtones Llc | Methods and apparatus for delivering audio content to a caller placed on hold |
WO2009101624A2 (en) * | 2008-02-13 | 2009-08-20 | Innovid Inc. | Apparatus and method for manipulating an object inserted to video content |
US20090222442A1 (en) * | 2005-11-09 | 2009-09-03 | Henry Houh | User-directed navigation of multimedia search results |
US20090300498A1 (en) * | 2008-05-29 | 2009-12-03 | Telcordia Technologies, Inc. | Method and System for Generating and Presenting Mobile Content Summarization |
US20100023964A1 (en) * | 2008-07-22 | 2010-01-28 | At&T Labs | System and method for temporally adaptive media playback |
US20100064338A1 (en) * | 2004-05-14 | 2010-03-11 | Ryan Steelberg | Broadcast monitoring system and method |
US7680959B2 (en) | 2006-07-11 | 2010-03-16 | Napo Enterprises, Llc | P2P network for providing real time media recommendations |
US20100107090A1 (en) * | 2008-10-27 | 2010-04-29 | Camille Hearst | Remote linking to media asset groups |
US20100129057A1 (en) * | 2008-11-26 | 2010-05-27 | Sling Media Pvt Ltd | Systems and methods for creating logical media streams for media storage and playback |
US20100228803A1 (en) * | 2009-02-24 | 2010-09-09 | Gm Global Technology Operations, Inc. | Methods and systems for merging media |
US20100251120A1 (en) * | 2009-03-26 | 2010-09-30 | Google Inc. | Time-Marked Hyperlinking to Video Content |
US20100287475A1 (en) * | 2009-05-06 | 2010-11-11 | Van Zwol Roelof | Content summary and segment creation |
US20100313235A1 (en) * | 2009-06-05 | 2010-12-09 | Time Warner Cable Inc. | Providing syndication feed content on a television set-top box with limited decoder capability |
US20100333142A1 (en) * | 2009-06-29 | 2010-12-30 | Verizon Patent And Licensing Inc. | Method and apparatus for creating a personalized programming guide |
US20100333123A1 (en) * | 2009-06-30 | 2010-12-30 | Verizon Patent And Licensing Inc. | User-based media content chaptering systems and methods |
US7865522B2 (en) | 2007-11-07 | 2011-01-04 | Napo Enterprises, Llc | System and method for hyping media recommendations in a media recommendation system |
US20110173666A1 (en) * | 2008-09-23 | 2011-07-14 | Huawei Display Co., Ltd. | Method, terminal and system for playing programs |
US20110194838A1 (en) * | 2010-02-09 | 2011-08-11 | Echostar Global B.V. | Methods and Apparatus For Presenting Supplemental Content In Association With Recorded Content |
US20110218991A1 (en) * | 2008-03-11 | 2011-09-08 | Yahoo! Inc. | System and method for automatic detection of needy queries |
US20110218994A1 (en) * | 2010-03-05 | 2011-09-08 | International Business Machines Corporation | Keyword automation of video content |
US8059646B2 (en) | 2006-07-11 | 2011-11-15 | Napo Enterprises, Llc | System and method for identifying music content in a P2P real time recommendation network |
US8069232B2 (en) | 2008-06-30 | 2011-11-29 | Microsoft Corporation | Wireless synchronization of media content and subscription content |
US8090606B2 (en) | 2006-08-08 | 2012-01-03 | Napo Enterprises, Llc | Embedded media recommendations |
US8112720B2 (en) | 2007-04-05 | 2012-02-07 | Napo Enterprises, Llc | System and method for automatically and graphically associating programmatically-generated media item recommendations related to a user's socially recommended media items |
US8117193B2 (en) | 2007-12-21 | 2012-02-14 | Lemi Technology, Llc | Tunersphere |
US20120057847A1 (en) * | 2007-11-19 | 2012-03-08 | Echostar Technologies L.L.C | Methods and apparatus for filtering content in a video stream using closed captioning data |
US20120057848A1 (en) * | 2007-11-20 | 2012-03-08 | Echostar Technologies L.L.C. | Methods and apparatus for displaying interstitial breaks in a progress bar of a video stream |
US8200602B2 (en) | 2009-02-02 | 2012-06-12 | Napo Enterprises, Llc | System and method for creating thematic listening experiences in a networked peer media recommendation environment |
US20120232681A1 (en) * | 2011-03-08 | 2012-09-13 | Packetvideo Corporation | System and method for using a list of audio media to create a list of audiovisual media |
US20120254753A1 (en) * | 2011-04-04 | 2012-10-04 | Andrews Christopher C | Automated system for combining and publishing network-based audio programming |
US8285776B2 (en) | 2007-06-01 | 2012-10-09 | Napo Enterprises, Llc | System and method for processing a received media item recommendation message comprising recommender presence information |
WO2012170441A2 (en) * | 2011-06-06 | 2012-12-13 | Time Warner Cable Inc. | Methods and apparatus for watermarking and distributing watermarked content |
WO2013032941A1 (en) * | 2011-08-26 | 2013-03-07 | Google Inc. | System and method for identifying availability of media items |
US8396951B2 (en) | 2007-12-20 | 2013-03-12 | Napo Enterprises, Llc | Method and system for populating a content repository for an internet radio service based on a recommendation network |
US20130151351A1 (en) * | 2006-11-21 | 2013-06-13 | Daniel E. Tsai | Ad-hoc web content player |
US20130160063A1 (en) * | 2011-12-20 | 2013-06-20 | Usman Rashid | Network delivery of broadcast media content streams |
US8484311B2 (en) | 2008-04-17 | 2013-07-09 | Eloy Technology, Llc | Pruning an aggregate media collection |
US8484227B2 (en) | 2008-10-15 | 2013-07-09 | Eloy Technology, Llc | Caching and synching process for a media sharing system |
US20130275412A1 (en) * | 2012-04-13 | 2013-10-17 | Ebay Inc. | Method and system to provide video-based search results |
US20130290402A1 (en) * | 2012-04-25 | 2013-10-31 | Verizon Patent And Licensing, Inc. | Live streaming circular buffer |
US8577874B2 (en) | 2007-12-21 | 2013-11-05 | Lemi Technology, Llc | Tunersphere |
US8583791B2 (en) | 2006-07-11 | 2013-11-12 | Napo Enterprises, Llc | Maintaining a minimum level of real time media recommendations in the absence of online friends |
US20140006364A1 (en) * | 2012-06-28 | 2014-01-02 | Adobe Systems Incorporated | Media stream index merging |
US8725740B2 (en) | 2008-03-24 | 2014-05-13 | Napo Enterprises, Llc | Active playlist having dynamic media item groups |
US20140229970A1 (en) * | 2013-02-14 | 2014-08-14 | Jan Besehanic | Methods and apparatus to measure exposure to streaming media |
EP2770695A4 (en) * | 2011-12-31 | 2014-08-27 | Huawei Tech Co Ltd | Method, server and user terminal for providing and acquiring media content |
US8839141B2 (en) | 2007-06-01 | 2014-09-16 | Napo Enterprises, Llc | Method and system for visually indicating a replay status of media items on a media device |
US20140280272A1 (en) * | 2013-03-15 | 2014-09-18 | International Business Machines Corporation | Media content substitution |
US8868526B2 (en) | 2009-05-29 | 2014-10-21 | International Business Machines Corporation | Parallel segmented index supporting incremental document and term indexing |
US8874655B2 (en) | 2006-12-13 | 2014-10-28 | Napo Enterprises, Llc | Matching participants in a P2P recommendation network loosely coupled to a subscription service |
US20140321833A1 (en) * | 2013-04-24 | 2014-10-30 | Fuji Xerox Co., Ltd. | Information processing apparatus, information processing method, and non-transitory computer readable medium |
US8880599B2 (en) | 2008-10-15 | 2014-11-04 | Eloy Technology, Llc | Collection digest for a media sharing system |
US20140369666A1 (en) * | 2012-01-09 | 2014-12-18 | Thomson Licensing | Managing time-shift data |
US20150052119A1 (en) * | 2007-09-06 | 2015-02-19 | At&T Intellectual Property I, Lp | Method and system for information querying |
US20150052437A1 (en) * | 2012-03-28 | 2015-02-19 | Terry Crawford | Method and system for providing segment-based viewing of recorded sessions |
US8990858B2 (en) | 2009-06-29 | 2015-03-24 | Verizon Patent And Licensing Inc. | Search-based media program guide systems and methods |
US9027048B2 (en) | 2012-11-14 | 2015-05-05 | Bank Of America Corporation | Automatic deal or promotion offering based on audio cues |
US20150134782A1 (en) * | 2013-11-08 | 2015-05-14 | Disney Enterprises, Inc. | Systems and methods for delivery of localized media assets |
US9037632B2 (en) | 2007-06-01 | 2015-05-19 | Napo Enterprises, Llc | System and method of generating a media item recommendation message with recommender presence information |
US20150153906A1 (en) * | 2013-06-26 | 2015-06-04 | Google Inc. | Video Segments For A Video Related To A Task |
US9060034B2 (en) | 2007-11-09 | 2015-06-16 | Napo Enterprises, Llc | System and method of filtering recommenders in a media item recommendation system |
US20150172347A1 (en) * | 2013-12-18 | 2015-06-18 | Johannes P. Schmidt | Presentation of content based on playlists |
US9100460B2 (en) | 2012-06-28 | 2015-08-04 | Adobe Systems Incorporated | Media stream fragment request |
US20150293996A1 (en) * | 2014-04-10 | 2015-10-15 | Google Inc. | Methods, systems, and media for searching for video content |
US9164993B2 (en) | 2007-06-01 | 2015-10-20 | Napo Enterprises, Llc | System and method for propagating a media item recommendation message comprising recommender presence information |
US9183885B2 (en) | 2008-05-30 | 2015-11-10 | Echostar Technologies L.L.C. | User-initiated control of an audio/video stream to skip interstitial content between program segments |
US9191707B2 (en) | 2012-11-08 | 2015-11-17 | Bank Of America Corporation | Automatic display of user-specific financial information based on audio content recognition |
US9197421B2 (en) | 2012-05-15 | 2015-11-24 | The Nielsen Company (Us), Llc | Methods and apparatus to measure exposure to streaming media |
US20150347390A1 (en) * | 2014-05-30 | 2015-12-03 | Vavni, Inc. | Compliance Standards Metadata Generation |
US9210208B2 (en) | 2011-06-21 | 2015-12-08 | The Nielsen Company (Us), Llc | Monitoring streaming media content |
US20150373423A1 (en) * | 2013-01-15 | 2015-12-24 | Sharp Kabushiki Kaisha | Video supply device, video acquisition device, and program |
US9224150B2 (en) | 2007-12-18 | 2015-12-29 | Napo Enterprises, Llc | Identifying highly valued recommendations of users in a media recommendation network |
US9224427B2 (en) | 2007-04-02 | 2015-12-29 | Napo Enterprises LLC | Rating media item recommendations using recommendation paths and/or media item usage |
US9332035B2 (en) | 2013-10-10 | 2016-05-03 | The Nielsen Company (Us), Llc | Methods and apparatus to measure exposure to streaming media |
US9336332B2 (en) * | 2013-08-28 | 2016-05-10 | Clipcard Inc. | Programmatic data discovery platforms for computing applications |
US9357260B2 (en) | 2008-05-30 | 2016-05-31 | Echostar Technologies L.L.C. | Methods and apparatus for presenting substitute content in an audio/video stream using text data |
US9361295B1 (en) | 2006-11-16 | 2016-06-07 | Christopher C. Andrews | Apparatus, method and graphical user interface for providing a sound link for combining, publishing and accessing websites and audio files on the internet |
US9380356B2 (en) | 2011-04-12 | 2016-06-28 | The Nielsen Company (Us), Llc | Methods and apparatus to generate a tag for media content |
US20160196252A1 (en) * | 2015-01-04 | 2016-07-07 | Emc Corporation | Smart multimedia processing |
US9390757B2 (en) | 2008-07-22 | 2016-07-12 | At&T Intellectual Property I, L.P. | System and method for adaptive media playback based on destination |
US20160211001A1 (en) * | 2015-01-20 | 2016-07-21 | Samsung Electronics Co., Ltd. | Apparatus and method for editing content |
US9436688B2 (en) * | 2008-05-28 | 2016-09-06 | Adobe Systems Incorporated | Durational referencing cue points for linking multimedia files |
US20170017658A1 (en) * | 2015-07-14 | 2017-01-19 | Verizon Patent And Licensing Inc. | Automated media clipping and combination system |
US9578379B1 (en) * | 2015-09-29 | 2017-02-21 | Rovi Guides, Inc. | Scene-by-scene viewer ratings |
US9609034B2 (en) | 2002-12-27 | 2017-03-28 | The Nielsen Company (Us), Llc | Methods and apparatus for transcoding metadata |
US20170118265A1 (en) * | 2015-10-22 | 2017-04-27 | Le Holdings (Beijing) Co., Ltd. | Method, server, client and system for remotely controlling customized channels |
US20170126768A1 (en) * | 2015-10-29 | 2017-05-04 | NETFLIX Inc. | Techniques for modifying a rules engine in a highly-scaled computing environment |
US9734507B2 (en) | 2007-12-20 | 2017-08-15 | Napo Enterprise, Llc | Method and system for simulating recommendations in a social network for an offline user |
US20180165696A1 (en) * | 2016-12-09 | 2018-06-14 | Authors, Inc. | Predictive Analytics Diagnostic System and Results on Market Viability and Audience Metrics for Scripted Media |
US10217138B1 (en) * | 2013-01-29 | 2019-02-26 | Amazon Technologies, Inc. | Server-side advertisement injection |
US10296561B2 (en) | 2006-11-16 | 2019-05-21 | James Andrews | Apparatus, method and graphical user interface for providing a sound link for combining, publishing and accessing websites and audio files on the internet |
US20190320242A1 (en) * | 2018-04-12 | 2019-10-17 | International Business Machines Corporation | Generating video montage of an event |
US11172269B2 (en) | 2020-03-04 | 2021-11-09 | Dish Network L.L.C. | Automated commercial content shifting in a video streaming system |
CN113841418A (en) * | 2019-05-14 | 2021-12-24 | 微软技术许可有限责任公司 | Dynamic video highlights |
US11451867B2 (en) * | 2018-12-27 | 2022-09-20 | The Nielsen Company (Us), Llc | Methods and apparatus to monitor digital media |
US11537601B2 (en) * | 2019-10-02 | 2022-12-27 | Infosum Limited | Accessing datasets |
US20230040968A1 (en) * | 2021-07-21 | 2023-02-09 | Nearme Entertainment, Inc. | Search tool for local information |
WO2023240114A1 (en) * | 2022-06-09 | 2023-12-14 | SoundWaves LLC | Method for generating a playlist |
US11948588B2 (en) | 2009-05-01 | 2024-04-02 | The Nielsen Company (Us), Llc | Methods, apparatus and articles of manufacture to provide secondary content in association with primary broadcast media content |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7239981B2 (en) | 2002-07-26 | 2007-07-03 | Arbitron Inc. | Systems and methods for gathering audience measurement data |
US8959016B2 (en) | 2002-09-27 | 2015-02-17 | The Nielsen Company (Us), Llc | Activating functions in processing devices using start codes embedded in audio |
US9711153B2 (en) | 2002-09-27 | 2017-07-18 | The Nielsen Company (Us), Llc | Activating functions in processing devices using encoded audio and detecting audio signatures |
US9940626B2 (en) | 2006-06-23 | 2018-04-10 | At&T Intellectual Property I, L.P. | Methods and apparatus to provide an electronic agent |
EP2061239B1 (en) * | 2007-11-19 | 2017-09-20 | EchoStar Technologies L.L.C. | Methods and apparatus for identifying video locations in a video stream using text data |
US9667365B2 (en) | 2008-10-24 | 2017-05-30 | The Nielsen Company (Us), Llc | Methods and apparatus to perform audio watermarking and watermark detection and extraction |
US8121830B2 (en) | 2008-10-24 | 2012-02-21 | The Nielsen Company (Us), Llc | Methods and apparatus to extract data encoded in media content |
US8359205B2 (en) | 2008-10-24 | 2013-01-22 | The Nielsen Company (Us), Llc | Methods and apparatus to perform audio watermarking and watermark detection and extraction |
US8508357B2 (en) | 2008-11-26 | 2013-08-13 | The Nielsen Company (Us), Llc | Methods and apparatus to encode and decode audio for shopper location and advertisement presentation tracking |
US8606848B2 (en) * | 2009-09-10 | 2013-12-10 | Opentv, Inc. | Method and system for sharing digital media content |
GB2483125B (en) * | 2011-02-25 | 2012-09-26 | British Sky Broadcasting Ltd | Media system |
GB2502944A (en) * | 2012-03-30 | 2013-12-18 | Jpal Ltd | Segmentation and transcription of speech |
US9282366B2 (en) | 2012-08-13 | 2016-03-08 | The Nielsen Company (Us), Llc | Methods and apparatus to communicate audience measurement information |
CN103731692B (en) * | 2012-10-16 | 2017-04-12 | 阿里巴巴集团控股有限公司 | Method and system for playing SDM data |
FR2996934A1 (en) * | 2012-10-17 | 2014-04-18 | France Telecom | NAVIGATION METHOD IN AUDIO CONTENT INCLUDING MUSICAL EXTRACTS |
TW201436545A (en) * | 2013-03-07 | 2014-09-16 | Wistron Corp | Method for virtual channel management, network-based multimedia reproduction system with virtual channel, and computer readable storage medium |
TWI533686B (en) | 2013-03-11 | 2016-05-11 | 緯創資通股份有限公司 | Method for virtual channel management, network-based multimedia reproduction system with virtual channel, and computer readable storage medium |
WO2014172654A1 (en) * | 2013-04-19 | 2014-10-23 | Huawei Technologies Co., Ltd. | Media quality information signaling in dynamic adaptive video streaming over hypertext transfer protocol |
US20150039321A1 (en) | 2013-07-31 | 2015-02-05 | Arbitron Inc. | Apparatus, System and Method for Reading Codes From Digital Audio on a Processing Device |
US9711152B2 (en) | 2013-07-31 | 2017-07-18 | The Nielsen Company (Us), Llc | Systems apparatus and methods for encoding/decoding persistent universal media codes to encoded audio |
US9743124B2 (en) | 2013-09-12 | 2017-08-22 | Wideorbit Inc. | Systems and methods to deliver a personalized mediacast with an uninterrupted lead-in portion |
US9544655B2 (en) * | 2013-12-13 | 2017-01-10 | Nant Holdings Ip, Llc | Visual hash tags via trending recognition activities, systems and methods |
US9699499B2 (en) | 2014-04-30 | 2017-07-04 | The Nielsen Company (Us), Llc | Methods and apparatus to measure exposure to streaming media |
US11122315B2 (en) | 2014-05-13 | 2021-09-14 | Wideorbit Llc | Systems and methods to identify video content types |
US9762965B2 (en) | 2015-05-29 | 2017-09-12 | The Nielsen Company (Us), Llc | Methods and apparatus to measure exposure to streaming media |
US10986379B2 (en) | 2015-06-08 | 2021-04-20 | Wideorbit Llc | Content management and provisioning system |
US11023417B2 (en) * | 2017-05-30 | 2021-06-01 | Home Box Office, Inc. | Video content graph including enhanced metadata |
US10915606B2 (en) * | 2018-07-17 | 2021-02-09 | Grupiks Llc | Audiovisual media composition system and method |
US11508411B2 (en) | 2020-10-28 | 2022-11-22 | Meta Platforms Technologies, Llc | Text-driven editor for audio and video assembly |
Citations (72)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5613034A (en) * | 1991-09-14 | 1997-03-18 | U.S. Philips Corporation | Method and apparatus for recognizing spoken words in a speech signal |
US5613036A (en) * | 1992-12-31 | 1997-03-18 | Apple Computer, Inc. | Dynamic categories for a speech recognition system |
US6006265A (en) * | 1998-04-02 | 1999-12-21 | Hotv, Inc. | Hyperlinks resolution at and by a special network server in order to enable diverse sophisticated hyperlinking upon a digital network |
US6064959A (en) * | 1997-03-28 | 2000-05-16 | Dragon Systems, Inc. | Error correction in speech recognition |
US6081779A (en) * | 1997-02-28 | 2000-06-27 | U.S. Philips Corporation | Language model adaptation for automatic speech recognition |
US6112172A (en) * | 1998-03-31 | 2000-08-29 | Dragon Systems, Inc. | Interactive searching |
US6157912A (en) * | 1997-02-28 | 2000-12-05 | U.S. Philips Corporation | Speech recognition method with language model adaptation |
US20010045962A1 (en) * | 2000-05-27 | 2001-11-29 | Lg Electronics Inc. | Apparatus and method for mapping object data for efficient matching between user preference information and content description information |
US20010049826A1 (en) * | 2000-01-19 | 2001-12-06 | Itzhak Wilf | Method of searching video channels by content |
US6345253B1 (en) * | 1999-04-09 | 2002-02-05 | International Business Machines Corporation | Method and apparatus for retrieving audio information using primary and supplemental indexes |
US20020052925A1 (en) * | 2000-08-29 | 2002-05-02 | Yoohwan Kim | Method and apparatus for information delivery on the internet |
US20020069218A1 (en) * | 2000-07-24 | 2002-06-06 | Sanghoon Sull | System and method for indexing, searching, identifying, and editing portions of electronic multimedia files |
US6418431B1 (en) * | 1998-03-30 | 2002-07-09 | Microsoft Corporation | Information retrieval and speech recognition based on language models |
US20020099695A1 (en) * | 2000-11-21 | 2002-07-25 | Abajian Aram Christian | Internet streaming media workflow architecture |
US20020108112A1 (en) * | 2001-02-02 | 2002-08-08 | Ensequence, Inc. | System and method for thematically analyzing and annotating an audio-visual sequence |
US20020133398A1 (en) * | 2001-01-31 | 2002-09-19 | Microsoft Corporation | System and method for delivering media |
US20020143852A1 (en) * | 1999-01-19 | 2002-10-03 | Guo Katherine Hua | High quality streaming multimedia |
US6484136B1 (en) * | 1999-10-21 | 2002-11-19 | International Business Machines Corporation | Language model adaptation via network of similar users |
US6501833B2 (en) * | 1995-05-26 | 2002-12-31 | Speechworks International, Inc. | Method and apparatus for dynamic adaptation of a large vocabulary speech recognition system and for use of constraints from a database in a large vocabulary speech recognition system |
US6546427B1 (en) * | 1999-06-18 | 2003-04-08 | International Business Machines Corp. | Streaming multimedia network with automatically switchable content sources |
US20030123841A1 (en) * | 2001-12-27 | 2003-07-03 | Sylvie Jeannin | Commercial detection in audio-visual content based on scene change distances on separator boundaries |
US6611803B1 (en) * | 1998-12-17 | 2003-08-26 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for retrieving a video and audio scene using an index generated by speech recognition |
US20030171926A1 (en) * | 2002-03-07 | 2003-09-11 | Narasimha Suresh | System for information storage, retrieval and voice based content search and methods thereof |
US6671692B1 (en) * | 1999-11-23 | 2003-12-30 | Accenture Llp | System for facilitating the navigation of data |
US6687697B2 (en) * | 2001-07-30 | 2004-02-03 | Microsoft Corporation | System and method for improved string matching under noisy channel conditions |
US6691123B1 (en) * | 2000-11-10 | 2004-02-10 | Imp Technology As | Method for structuring and searching information |
US6697796B2 (en) * | 2000-01-13 | 2004-02-24 | Agere Systems Inc. | Voice clip search |
US6728763B1 (en) * | 2000-03-09 | 2004-04-27 | Ben W. Chen | Adaptive media streaming server for playing live and streaming media content on demand through web client's browser with no additional software or plug-ins |
US6738745B1 (en) * | 2000-04-07 | 2004-05-18 | International Business Machines Corporation | Methods and apparatus for identifying a non-target language in a speech recognition system |
US20040103433A1 (en) * | 2000-09-07 | 2004-05-27 | Yvan Regeard | Search method for audio-visual programmes or contents on an audio-visual flux containing tables of events distributed by a database |
US6748375B1 (en) * | 2000-09-07 | 2004-06-08 | Microsoft Corporation | System and method for content retrieval |
US6768999B2 (en) * | 1996-06-28 | 2004-07-27 | Mirror Worlds Technologies, Inc. | Enterprise, stream-based, information management system |
US20040199507A1 (en) * | 2003-04-04 | 2004-10-07 | Roger Tawa | Indexing media files in a distributed, multi-user system for managing and editing digital media |
US20040205535A1 (en) * | 2001-09-10 | 2004-10-14 | Xerox Corporation | Method and apparatus for the construction and use of table-like visualizations of hierarchic material |
US6816858B1 (en) * | 2000-03-31 | 2004-11-09 | International Business Machines Corporation | System, method and apparatus providing collateral information for a video/audio stream |
US6848080B1 (en) * | 1999-11-05 | 2005-01-25 | Microsoft Corporation | Language input architecture for converting one text form to another text form with tolerance to spelling, typographical, and conversion errors |
US20050033758A1 (en) * | 2003-08-08 | 2005-02-10 | Baxter Brent A. | Media indexer |
US6856997B2 (en) * | 2000-10-27 | 2005-02-15 | Lg Electronics Inc. | Apparatus and method for providing file structure for multimedia streaming service |
US6859799B1 (en) * | 1998-11-30 | 2005-02-22 | Gemstar Development Corporation | Search engine for video and graphics |
US6873993B2 (en) * | 2000-06-21 | 2005-03-29 | Canon Kabushiki Kaisha | Indexing method and apparatus |
US6877134B1 (en) * | 1997-08-14 | 2005-04-05 | Virage, Inc. | Integrated data and real-time metadata capture system and method |
US20050086692A1 (en) * | 2003-10-17 | 2005-04-21 | Mydtv, Inc. | Searching for programs and updating viewer preferences with reference to program segment characteristics |
US20050096910A1 (en) * | 2002-12-06 | 2005-05-05 | Watson Kirk L. | Formed document templates and related methods and systems for automated sequential insertion of speech recognition results |
US20050165771A1 (en) * | 2000-03-14 | 2005-07-28 | Sony Corporation | Information providing apparatus and method, information processing apparatus and method, and program storage medium |
US20050197724A1 (en) * | 2004-03-08 | 2005-09-08 | Raja Neogi | System and method to generate audio fingerprints for classification and storage of audio clips |
US20050216443A1 (en) * | 2000-07-06 | 2005-09-29 | Streamsage, Inc. | Method and system for indexing and searching timed media information based upon relevance intervals |
US20050229118A1 (en) * | 2004-03-31 | 2005-10-13 | Fuji Xerox Co., Ltd. | Systems and methods for browsing multimedia content on small mobile devices |
US20050234875A1 (en) * | 2004-03-31 | 2005-10-20 | Auerbach David B | Methods and systems for processing media files |
US20050256867A1 (en) * | 2004-03-15 | 2005-11-17 | Yahoo! Inc. | Search systems and methods with integration of aggregate user annotations |
US6973428B2 (en) * | 2001-05-24 | 2005-12-06 | International Business Machines Corporation | System and method for searching, analyzing and displaying text transcripts of speech after imperfect speech recognition |
US6985861B2 (en) * | 2001-12-12 | 2006-01-10 | Hewlett-Packard Development Company, L.P. | Systems and methods for combining subword recognition and whole word recognition of a spoken input |
US20060015904A1 (en) * | 2000-09-08 | 2006-01-19 | Dwight Marcus | Method and apparatus for creation, distribution, assembly and verification of media |
US20060020971A1 (en) * | 2004-07-22 | 2006-01-26 | Thomas Poslinski | Multi channel program guide with integrated progress bars |
US20060020662A1 (en) * | 2004-01-27 | 2006-01-26 | Emergent Music Llc | Enabling recommendations and community by massively-distributed nearest-neighbor searching |
US20060047580A1 (en) * | 2004-08-30 | 2006-03-02 | Diganta Saha | Method of searching, reviewing and purchasing music track or song by lyrical content |
US20060053156A1 (en) * | 2004-09-03 | 2006-03-09 | Howard Kaushansky | Systems and methods for developing intelligence from information existing on a network |
US7111009B1 (en) * | 1997-03-14 | 2006-09-19 | Microsoft Corporation | Interactive playlist generation using annotations |
US7120582B1 (en) * | 1999-09-07 | 2006-10-10 | Dragon Systems, Inc. | Expanding an effective vocabulary of a speech recognition system |
US20060265421A1 (en) * | 2005-02-28 | 2006-11-23 | Shamal Ranasinghe | System and method for creating a playlist |
US20070005569A1 (en) * | 2005-06-30 | 2007-01-04 | Microsoft Corporation | Searching an index of media content |
US7177881B2 (en) * | 2003-06-23 | 2007-02-13 | Sony Corporation | Network media channels |
US20070041522A1 (en) * | 2005-08-19 | 2007-02-22 | At&T Corp. | System and method for integrating and managing E-mail, voicemail, and telephone conversations using speech processing techniques |
US20070078708A1 (en) * | 2005-09-30 | 2007-04-05 | Hua Yu | Using speech recognition to determine advertisements relevant to audio content and/or audio content relevant to advertisements |
US20070100787A1 (en) * | 2005-11-02 | 2007-05-03 | Creative Technology Ltd. | System for downloading digital content published in a media channel |
US20070106760A1 (en) * | 2005-11-09 | 2007-05-10 | Bbnt Solutions Llc | Methods and apparatus for dynamic presentation of advertising, factual, and informational content using enhanced metadata in search-driven media applications |
US20070106693A1 (en) * | 2005-11-09 | 2007-05-10 | Bbnt Solutions Llc | Methods and apparatus for providing virtual media channels based on media search |
US20070106660A1 (en) * | 2005-11-09 | 2007-05-10 | Bbnt Solutions Llc | Method and apparatus for using confidence scores of enhanced metadata in search-driven media applications |
US20070106685A1 (en) * | 2005-11-09 | 2007-05-10 | Podzinger Corp. | Method and apparatus for updating speech recognition databases and reindexing audio and video content using the same |
US7222155B1 (en) * | 1999-06-15 | 2007-05-22 | Wink Communications, Inc. | Synchronous updating of dynamic interactive applications |
US7260564B1 (en) * | 2000-04-07 | 2007-08-21 | Virage, Inc. | Network video guide and spidering |
US7308487B1 (en) * | 2000-12-12 | 2007-12-11 | Igate Corp. | System and method for providing fault-tolerant remote controlled computing devices |
US20090222442A1 (en) * | 2005-11-09 | 2009-09-03 | Henry Houh | User-directed navigation of multimedia search results |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6990453B2 (en) * | 2000-07-31 | 2006-01-24 | Landmark Digital Services Llc | System and methods for recognizing sound and music signals in high noise and distortion |
CA2600733A1 (en) * | 2005-03-10 | 2006-09-21 | Portalvideo, Inc. | Video editing method and apparatus |
-
2006
- 2006-06-02 US US11/446,543 patent/US20070118873A1/en not_active Abandoned
- 2006-11-08 WO PCT/US2006/043680 patent/WO2007056532A1/en active Application Filing
-
2015
- 2015-09-04 US US14/845,749 patent/US9934223B2/en not_active Expired - Fee Related
Patent Citations (78)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5613034A (en) * | 1991-09-14 | 1997-03-18 | U.S. Philips Corporation | Method and apparatus for recognizing spoken words in a speech signal |
US5613036A (en) * | 1992-12-31 | 1997-03-18 | Apple Computer, Inc. | Dynamic categories for a speech recognition system |
US6501833B2 (en) * | 1995-05-26 | 2002-12-31 | Speechworks International, Inc. | Method and apparatus for dynamic adaptation of a large vocabulary speech recognition system and for use of constraints from a database in a large vocabulary speech recognition system |
US6768999B2 (en) * | 1996-06-28 | 2004-07-27 | Mirror Worlds Technologies, Inc. | Enterprise, stream-based, information management system |
US6157912A (en) * | 1997-02-28 | 2000-12-05 | U.S. Philips Corporation | Speech recognition method with language model adaptation |
US6081779A (en) * | 1997-02-28 | 2000-06-27 | U.S. Philips Corporation | Language model adaptation for automatic speech recognition |
US7111009B1 (en) * | 1997-03-14 | 2006-09-19 | Microsoft Corporation | Interactive playlist generation using annotations |
US6064959A (en) * | 1997-03-28 | 2000-05-16 | Dragon Systems, Inc. | Error correction in speech recognition |
US6877134B1 (en) * | 1997-08-14 | 2005-04-05 | Virage, Inc. | Integrated data and real-time metadata capture system and method |
US6418431B1 (en) * | 1998-03-30 | 2002-07-09 | Microsoft Corporation | Information retrieval and speech recognition based on language models |
US6112172A (en) * | 1998-03-31 | 2000-08-29 | Dragon Systems, Inc. | Interactive searching |
US6006265A (en) * | 1998-04-02 | 1999-12-21 | Hotv, Inc. | Hyperlinks resolution at and by a special network server in order to enable diverse sophisticated hyperlinking upon a digital network |
US6859799B1 (en) * | 1998-11-30 | 2005-02-22 | Gemstar Development Corporation | Search engine for video and graphics |
US6611803B1 (en) * | 1998-12-17 | 2003-08-26 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for retrieving a video and audio scene using an index generated by speech recognition |
US6728673B2 (en) * | 1998-12-17 | 2004-04-27 | Matsushita Electric Industrial Co., Ltd | Method and apparatus for retrieving a video and audio scene using an index generated by speech recognition |
US20020143852A1 (en) * | 1999-01-19 | 2002-10-03 | Guo Katherine Hua | High quality streaming multimedia |
US6345253B1 (en) * | 1999-04-09 | 2002-02-05 | International Business Machines Corporation | Method and apparatus for retrieving audio information using primary and supplemental indexes |
US7222155B1 (en) * | 1999-06-15 | 2007-05-22 | Wink Communications, Inc. | Synchronous updating of dynamic interactive applications |
US6546427B1 (en) * | 1999-06-18 | 2003-04-08 | International Business Machines Corp. | Streaming multimedia network with automatically switchable content sources |
US7120582B1 (en) * | 1999-09-07 | 2006-10-10 | Dragon Systems, Inc. | Expanding an effective vocabulary of a speech recognition system |
US6484136B1 (en) * | 1999-10-21 | 2002-11-19 | International Business Machines Corporation | Language model adaptation via network of similar users |
US6848080B1 (en) * | 1999-11-05 | 2005-01-25 | Microsoft Corporation | Language input architecture for converting one text form to another text form with tolerance to spelling, typographical, and conversion errors |
US6671692B1 (en) * | 1999-11-23 | 2003-12-30 | Accenture Llp | System for facilitating the navigation of data |
US6697796B2 (en) * | 2000-01-13 | 2004-02-24 | Agere Systems Inc. | Voice clip search |
US20010049826A1 (en) * | 2000-01-19 | 2001-12-06 | Itzhak Wilf | Method of searching video channels by content |
US6728763B1 (en) * | 2000-03-09 | 2004-04-27 | Ben W. Chen | Adaptive media streaming server for playing live and streaming media content on demand through web client's browser with no additional software or plug-ins |
US20050165771A1 (en) * | 2000-03-14 | 2005-07-28 | Sony Corporation | Information providing apparatus and method, information processing apparatus and method, and program storage medium |
US6816858B1 (en) * | 2000-03-31 | 2004-11-09 | International Business Machines Corporation | System, method and apparatus providing collateral information for a video/audio stream |
US6738745B1 (en) * | 2000-04-07 | 2004-05-18 | International Business Machines Corporation | Methods and apparatus for identifying a non-target language in a speech recognition system |
US7260564B1 (en) * | 2000-04-07 | 2007-08-21 | Virage, Inc. | Network video guide and spidering |
US20010045962A1 (en) * | 2000-05-27 | 2001-11-29 | Lg Electronics Inc. | Apparatus and method for mapping object data for efficient matching between user preference information and content description information |
US6873993B2 (en) * | 2000-06-21 | 2005-03-29 | Canon Kabushiki Kaisha | Indexing method and apparatus |
US20050216443A1 (en) * | 2000-07-06 | 2005-09-29 | Streamsage, Inc. | Method and system for indexing and searching timed media information based upon relevance intervals |
US20020069218A1 (en) * | 2000-07-24 | 2002-06-06 | Sanghoon Sull | System and method for indexing, searching, identifying, and editing portions of electronic multimedia files |
US20020052925A1 (en) * | 2000-08-29 | 2002-05-02 | Yoohwan Kim | Method and apparatus for information delivery on the internet |
US6748375B1 (en) * | 2000-09-07 | 2004-06-08 | Microsoft Corporation | System and method for content retrieval |
US20040199502A1 (en) * | 2000-09-07 | 2004-10-07 | Microsoft Corporation | System and method for content retrieval |
US20040103433A1 (en) * | 2000-09-07 | 2004-05-27 | Yvan Regeard | Search method for audio-visual programmes or contents on an audio-visual flux containing tables of events distributed by a database |
US20060015904A1 (en) * | 2000-09-08 | 2006-01-19 | Dwight Marcus | Method and apparatus for creation, distribution, assembly and verification of media |
US6856997B2 (en) * | 2000-10-27 | 2005-02-15 | Lg Electronics Inc. | Apparatus and method for providing file structure for multimedia streaming service |
US6691123B1 (en) * | 2000-11-10 | 2004-02-10 | Imp Technology As | Method for structuring and searching information |
US6785688B2 (en) * | 2000-11-21 | 2004-08-31 | America Online, Inc. | Internet streaming media workflow architecture |
US20020099695A1 (en) * | 2000-11-21 | 2002-07-25 | Abajian Aram Christian | Internet streaming media workflow architecture |
US20050187965A1 (en) * | 2000-11-21 | 2005-08-25 | Abajian Aram C. | Grouping multimedia and streaming media search results |
US7308487B1 (en) * | 2000-12-12 | 2007-12-11 | Igate Corp. | System and method for providing fault-tolerant remote controlled computing devices |
US20020133398A1 (en) * | 2001-01-31 | 2002-09-19 | Microsoft Corporation | System and method for delivering media |
US20020108112A1 (en) * | 2001-02-02 | 2002-08-08 | Ensequence, Inc. | System and method for thematically analyzing and annotating an audio-visual sequence |
US6973428B2 (en) * | 2001-05-24 | 2005-12-06 | International Business Machines Corporation | System and method for searching, analyzing and displaying text transcripts of speech after imperfect speech recognition |
US6687697B2 (en) * | 2001-07-30 | 2004-02-03 | Microsoft Corporation | System and method for improved string matching under noisy channel conditions |
US20040205535A1 (en) * | 2001-09-10 | 2004-10-14 | Xerox Corporation | Method and apparatus for the construction and use of table-like visualizations of hierarchic material |
US6985861B2 (en) * | 2001-12-12 | 2006-01-10 | Hewlett-Packard Development Company, L.P. | Systems and methods for combining subword recognition and whole word recognition of a spoken input |
US20030123841A1 (en) * | 2001-12-27 | 2003-07-03 | Sylvie Jeannin | Commercial detection in audio-visual content based on scene change distances on separator boundaries |
US20030171926A1 (en) * | 2002-03-07 | 2003-09-11 | Narasimha Suresh | System for information storage, retrieval and voice based content search and methods thereof |
US20050096910A1 (en) * | 2002-12-06 | 2005-05-05 | Watson Kirk L. | Formed document templates and related methods and systems for automated sequential insertion of speech recognition results |
US20040199507A1 (en) * | 2003-04-04 | 2004-10-07 | Roger Tawa | Indexing media files in a distributed, multi-user system for managing and editing digital media |
US7177881B2 (en) * | 2003-06-23 | 2007-02-13 | Sony Corporation | Network media channels |
US20050033758A1 (en) * | 2003-08-08 | 2005-02-10 | Baxter Brent A. | Media indexer |
US20050086692A1 (en) * | 2003-10-17 | 2005-04-21 | Mydtv, Inc. | Searching for programs and updating viewer preferences with reference to program segment characteristics |
US20060020662A1 (en) * | 2004-01-27 | 2006-01-26 | Emergent Music Llc | Enabling recommendations and community by massively-distributed nearest-neighbor searching |
US20050197724A1 (en) * | 2004-03-08 | 2005-09-08 | Raja Neogi | System and method to generate audio fingerprints for classification and storage of audio clips |
US20050256867A1 (en) * | 2004-03-15 | 2005-11-17 | Yahoo! Inc. | Search systems and methods with integration of aggregate user annotations |
US20050229118A1 (en) * | 2004-03-31 | 2005-10-13 | Fuji Xerox Co., Ltd. | Systems and methods for browsing multimedia content on small mobile devices |
US20050234875A1 (en) * | 2004-03-31 | 2005-10-20 | Auerbach David B | Methods and systems for processing media files |
US20060020971A1 (en) * | 2004-07-22 | 2006-01-26 | Thomas Poslinski | Multi channel program guide with integrated progress bars |
US20060047580A1 (en) * | 2004-08-30 | 2006-03-02 | Diganta Saha | Method of searching, reviewing and purchasing music track or song by lyrical content |
US20060053156A1 (en) * | 2004-09-03 | 2006-03-09 | Howard Kaushansky | Systems and methods for developing intelligence from information existing on a network |
US20060265421A1 (en) * | 2005-02-28 | 2006-11-23 | Shamal Ranasinghe | System and method for creating a playlist |
US20070005569A1 (en) * | 2005-06-30 | 2007-01-04 | Microsoft Corporation | Searching an index of media content |
US20070041522A1 (en) * | 2005-08-19 | 2007-02-22 | At&T Corp. | System and method for integrating and managing E-mail, voicemail, and telephone conversations using speech processing techniques |
US20070078708A1 (en) * | 2005-09-30 | 2007-04-05 | Hua Yu | Using speech recognition to determine advertisements relevant to audio content and/or audio content relevant to advertisements |
US20070100787A1 (en) * | 2005-11-02 | 2007-05-03 | Creative Technology Ltd. | System for downloading digital content published in a media channel |
US20070106693A1 (en) * | 2005-11-09 | 2007-05-10 | Bbnt Solutions Llc | Methods and apparatus for providing virtual media channels based on media search |
US20070106660A1 (en) * | 2005-11-09 | 2007-05-10 | Bbnt Solutions Llc | Method and apparatus for using confidence scores of enhanced metadata in search-driven media applications |
US20070106685A1 (en) * | 2005-11-09 | 2007-05-10 | Podzinger Corp. | Method and apparatus for updating speech recognition databases and reindexing audio and video content using the same |
US20070106646A1 (en) * | 2005-11-09 | 2007-05-10 | Bbnt Solutions Llc | User-directed navigation of multimedia search results |
US20070106760A1 (en) * | 2005-11-09 | 2007-05-10 | Bbnt Solutions Llc | Methods and apparatus for dynamic presentation of advertising, factual, and informational content using enhanced metadata in search-driven media applications |
US20090222442A1 (en) * | 2005-11-09 | 2009-09-03 | Henry Houh | User-directed navigation of multimedia search results |
US7801910B2 (en) * | 2005-11-09 | 2010-09-21 | Ramp Holdings, Inc. | Method and apparatus for timed tagging of media content |
Cited By (258)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9900652B2 (en) | 2002-12-27 | 2018-02-20 | The Nielsen Company (Us), Llc | Methods and apparatus for transcoding metadata |
US9609034B2 (en) | 2002-12-27 | 2017-03-28 | The Nielsen Company (Us), Llc | Methods and apparatus for transcoding metadata |
US20100064338A1 (en) * | 2004-05-14 | 2010-03-11 | Ryan Steelberg | Broadcast monitoring system and method |
US20060256739A1 (en) * | 2005-02-19 | 2006-11-16 | Kenneth Seier | Flexible multi-media data management |
US9697231B2 (en) | 2005-11-09 | 2017-07-04 | Cxense Asa | Methods and apparatus for providing virtual media channels based on media search |
US20070106760A1 (en) * | 2005-11-09 | 2007-05-10 | Bbnt Solutions Llc | Methods and apparatus for dynamic presentation of advertising, factual, and informational content using enhanced metadata in search-driven media applications |
US20070106685A1 (en) * | 2005-11-09 | 2007-05-10 | Podzinger Corp. | Method and apparatus for updating speech recognition databases and reindexing audio and video content using the same |
US20090222442A1 (en) * | 2005-11-09 | 2009-09-03 | Henry Houh | User-directed navigation of multimedia search results |
US9697230B2 (en) | 2005-11-09 | 2017-07-04 | Cxense Asa | Methods and apparatus for dynamic presentation of advertising, factual, and informational content using enhanced metadata in search-driven media applications |
US20070106693A1 (en) * | 2005-11-09 | 2007-05-10 | Bbnt Solutions Llc | Methods and apparatus for providing virtual media channels based on media search |
US20070178865A1 (en) * | 2005-12-15 | 2007-08-02 | Steelberg Ryan S | Content Depot |
US8903843B2 (en) * | 2006-06-21 | 2014-12-02 | Napo Enterprises, Llc | Historical media recommendation service |
US20150074090A1 (en) * | 2006-06-21 | 2015-03-12 | Napo Enterprises, Llc | Historical Media Recommendation Service |
US20090077052A1 (en) * | 2006-06-21 | 2009-03-19 | Concert Technology Corporation | Historical media recommendation service |
US10469549B2 (en) | 2006-07-11 | 2019-11-05 | Napo Enterprises, Llc | Device for participating in a network for sharing media consumption activity |
US20080319833A1 (en) * | 2006-07-11 | 2008-12-25 | Concert Technology Corporation | P2p real time media recommendations |
US8762847B2 (en) | 2006-07-11 | 2014-06-24 | Napo Enterprises, Llc | Graphical user interface system for allowing management of a media item playlist based on a preference scoring system |
US8059646B2 (en) | 2006-07-11 | 2011-11-15 | Napo Enterprises, Llc | System and method for identifying music content in a P2P real time recommendation network |
US9003056B2 (en) | 2006-07-11 | 2015-04-07 | Napo Enterprises, Llc | Maintaining a minimum level of real time media recommendations in the absence of online friends |
US8805831B2 (en) | 2006-07-11 | 2014-08-12 | Napo Enterprises, Llc | Scoring and replaying media items |
US8422490B2 (en) | 2006-07-11 | 2013-04-16 | Napo Enterprises, Llc | System and method for identifying music content in a P2P real time recommendation network |
US7970922B2 (en) | 2006-07-11 | 2011-06-28 | Napo Enterprises, Llc | P2P real time media recommendations |
US20090055396A1 (en) * | 2006-07-11 | 2009-02-26 | Concert Technology Corporation | Scoring and replaying media items |
US20090055759A1 (en) * | 2006-07-11 | 2009-02-26 | Concert Technology Corporation | Graphical user interface system for allowing management of a media item playlist based on a preference scoring system |
US8327266B2 (en) | 2006-07-11 | 2012-12-04 | Napo Enterprises, Llc | Graphical user interface system for allowing management of a media item playlist based on a preference scoring system |
US9292179B2 (en) | 2006-07-11 | 2016-03-22 | Napo Enterprises, Llc | System and method for identifying music content in a P2P real time recommendation network |
US7680959B2 (en) | 2006-07-11 | 2010-03-16 | Napo Enterprises, Llc | P2P network for providing real time media recommendations |
US8583791B2 (en) | 2006-07-11 | 2013-11-12 | Napo Enterprises, Llc | Maintaining a minimum level of real time media recommendations in the absence of online friends |
US7581166B2 (en) * | 2006-07-21 | 2009-08-25 | At&T Intellectual Property Ii, L.P. | System and method of collecting, correlating, and aggregating structured edited content and non-edited content |
US20090276503A1 (en) * | 2006-07-21 | 2009-11-05 | At&T Intellectual Property Ii, L.P. | System and method of collecting, correlating, and aggregating structured edited content and non-edited content |
US20080034056A1 (en) * | 2006-07-21 | 2008-02-07 | At&T Corp. | System and method of collecting, correlating, and aggregating structured edited content and non-edited content |
US20080030797A1 (en) * | 2006-08-04 | 2008-02-07 | Eric Circlaeys | Automated Content Capture and Processing |
US8090606B2 (en) | 2006-08-08 | 2012-01-03 | Napo Enterprises, Llc | Embedded media recommendations |
US20090083116A1 (en) * | 2006-08-08 | 2009-03-26 | Concert Technology Corporation | Heavy influencer media recommendations |
US8620699B2 (en) | 2006-08-08 | 2013-12-31 | Napo Enterprises, Llc | Heavy influencer media recommendations |
US20080046406A1 (en) * | 2006-08-15 | 2008-02-21 | Microsoft Corporation | Audio and video thumbnails |
US20080050096A1 (en) * | 2006-08-25 | 2008-02-28 | Samsung Electronics Co., Ltd. | Method, av cp device and home network system for executing av content with segment unit |
US8607291B2 (en) * | 2006-08-25 | 2013-12-10 | Samsung Electronics Co., Ltd. | Method, AV CP device and home network system for executing AV content with segment unit |
US10296561B2 (en) | 2006-11-16 | 2019-05-21 | James Andrews | Apparatus, method and graphical user interface for providing a sound link for combining, publishing and accessing websites and audio files on the internet |
US9361295B1 (en) | 2006-11-16 | 2016-06-07 | Christopher C. Andrews | Apparatus, method and graphical user interface for providing a sound link for combining, publishing and accessing websites and audio files on the internet |
US20130151351A1 (en) * | 2006-11-21 | 2013-06-13 | Daniel E. Tsai | Ad-hoc web content player |
US9645700B2 (en) * | 2006-11-21 | 2017-05-09 | Daniel E. Tsai | Ad-hoc web content player |
US7640272B2 (en) * | 2006-12-07 | 2009-12-29 | Microsoft Corporation | Using automated content analysis for audio/video content consumption |
US20080140385A1 (en) * | 2006-12-07 | 2008-06-12 | Microsoft Corporation | Using automated content analysis for audio/video content consumption |
US8874655B2 (en) | 2006-12-13 | 2014-10-28 | Napo Enterprises, Llc | Matching participants in a P2P recommendation network loosely coupled to a subscription service |
US20080165388A1 (en) * | 2007-01-04 | 2008-07-10 | Bertrand Serlet | Automatic Content Creation and Processing |
US20080244644A1 (en) * | 2007-03-30 | 2008-10-02 | Verizon Business Network Services Inc. | Managing multiple media content sources |
US9071796B2 (en) * | 2007-03-30 | 2015-06-30 | Verizon Patent And Licensing Inc. | Managing multiple media content sources |
US9224427B2 (en) | 2007-04-02 | 2015-12-29 | Napo Enterprises LLC | Rating media item recommendations using recommendation paths and/or media item usage |
US8434024B2 (en) | 2007-04-05 | 2013-04-30 | Napo Enterprises, Llc | System and method for automatically and graphically associating programmatically-generated media item recommendations related to a user's socially recommended media items |
US8112720B2 (en) | 2007-04-05 | 2012-02-07 | Napo Enterprises, Llc | System and method for automatically and graphically associating programmatically-generated media item recommendations related to a user's socially recommended media items |
US7826444B2 (en) | 2007-04-13 | 2010-11-02 | Wideorbit, Inc. | Leader and follower broadcast stations |
US20080253307A1 (en) * | 2007-04-13 | 2008-10-16 | Google Inc. | Multi-Station Media Controller |
US20080254741A1 (en) * | 2007-04-13 | 2008-10-16 | Google Inc. | Leader and Follower Broadcast Stations |
US20080255686A1 (en) * | 2007-04-13 | 2008-10-16 | Google Inc. | Delivering Podcast Content |
US7889724B2 (en) | 2007-04-13 | 2011-02-15 | Wideorbit, Inc. | Multi-station media controller |
US7925201B2 (en) | 2007-04-13 | 2011-04-12 | Wideorbit, Inc. | Sharing media content among families of broadcast stations |
US20080256080A1 (en) * | 2007-04-13 | 2008-10-16 | William Irvin | Sharing Media Content Among Families of Broadcast Stations |
US20080263450A1 (en) * | 2007-04-14 | 2008-10-23 | James Jacob Hodges | System and method to conform separately edited sequences |
US20080263433A1 (en) * | 2007-04-14 | 2008-10-23 | Aaron Eppolito | Multiple version merge for media production |
US20080255687A1 (en) * | 2007-04-14 | 2008-10-16 | Aaron Eppolito | Multi-Take Compositing of Digital Media Assets |
US8751022B2 (en) | 2007-04-14 | 2014-06-10 | Apple Inc. | Multi-take compositing of digital media assets |
US20080301187A1 (en) * | 2007-06-01 | 2008-12-04 | Concert Technology Corporation | Enhanced media item playlist comprising presence information |
US8839141B2 (en) | 2007-06-01 | 2014-09-16 | Napo Enterprises, Llc | Method and system for visually indicating a replay status of media items on a media device |
US9275055B2 (en) | 2007-06-01 | 2016-03-01 | Napo Enterprises, Llc | Method and system for visually indicating a replay status of media items on a media device |
US8954883B2 (en) | 2007-06-01 | 2015-02-10 | Napo Enterprises, Llc | Method and system for visually indicating a replay status of media items on a media device |
US9448688B2 (en) | 2007-06-01 | 2016-09-20 | Napo Enterprises, Llc | Visually indicating a replay status of media items on a media device |
US8285776B2 (en) | 2007-06-01 | 2012-10-09 | Napo Enterprises, Llc | System and method for processing a received media item recommendation message comprising recommender presence information |
US9037632B2 (en) | 2007-06-01 | 2015-05-19 | Napo Enterprises, Llc | System and method of generating a media item recommendation message with recommender presence information |
US9164993B2 (en) | 2007-06-01 | 2015-10-20 | Napo Enterprises, Llc | System and method for propagating a media item recommendation message comprising recommender presence information |
US7539753B2 (en) * | 2007-06-08 | 2009-05-26 | International Business Machines Corporation | Methods and apparatus for functional model-based data provenance in stream processing environments |
US20080307104A1 (en) * | 2007-06-08 | 2008-12-11 | Lisa Amini | Methods and Apparatus for Functional Model-Based Data Provenance in Stream Processing Environments |
US9087331B2 (en) | 2007-08-29 | 2015-07-21 | Tveyes Inc. | Contextual advertising for video and audio media |
US20090063279A1 (en) * | 2007-08-29 | 2009-03-05 | Ives David J | Contextual Advertising For Video and Audio Media |
US8260794B2 (en) * | 2007-08-30 | 2012-09-04 | International Business Machines Corporation | Creating playback definitions indicating segments of media content from multiple content files to render |
US20090063484A1 (en) * | 2007-08-30 | 2009-03-05 | International Business Machines Corporation | Creating playback definitions indicating segments of media content from multiple content files to render |
US10114893B2 (en) * | 2007-09-06 | 2018-10-30 | At&T Intellectual Property I, L.P. | Method and system for information querying |
US20150052119A1 (en) * | 2007-09-06 | 2015-02-19 | At&T Intellectual Property I, Lp | Method and system for information querying |
US9131115B2 (en) | 2007-09-14 | 2015-09-08 | At&T Intellectual Property I, Lp | Apparatus and method for managing media content |
US8191088B2 (en) * | 2007-09-14 | 2012-05-29 | At&T Intellectual Property I, L.P. | Apparatus and method for managing media content |
US20090077613A1 (en) * | 2007-09-14 | 2009-03-19 | At&T Knowledge Ventures, L.P. | Apparatus and method for managing media content |
US20120128262A1 (en) * | 2007-10-11 | 2012-05-24 | Apple Inc. | Representing high-resolution media content in a lower resolution system |
US20090097770A1 (en) * | 2007-10-11 | 2009-04-16 | Apple Inc. | Representing high-resolution media content in a lower resolution system |
US8532423B2 (en) * | 2007-10-11 | 2013-09-10 | Apple Inc. | Representing high-resolution media content in a lower resolution system |
US8131100B2 (en) * | 2007-10-11 | 2012-03-06 | Apple Inc. | Representing high-resolution media content in a lower resolution system |
US7865522B2 (en) | 2007-11-07 | 2011-01-04 | Napo Enterprises, Llc | System and method for hyping media recommendations in a media recommendation system |
US9060034B2 (en) | 2007-11-09 | 2015-06-16 | Napo Enterprises, Llc | System and method of filtering recommenders in a media item recommendation system |
US8977106B2 (en) * | 2007-11-19 | 2015-03-10 | Echostar Technologies L.L.C. | Methods and apparatus for filtering content in a video stream using closed captioning data |
US20120057847A1 (en) * | 2007-11-19 | 2012-03-08 | Echostar Technologies L.L.C | Methods and apparatus for filtering content in a video stream using closed captioning data |
US20090132585A1 (en) * | 2007-11-19 | 2009-05-21 | James Tanis | Instructional lesson customization via multi-media data acquisition and destructive file merging |
US20120057848A1 (en) * | 2007-11-20 | 2012-03-08 | Echostar Technologies L.L.C. | Methods and apparatus for displaying interstitial breaks in a progress bar of a video stream |
US8965177B2 (en) * | 2007-11-20 | 2015-02-24 | Echostar Technologies L.L.C. | Methods and apparatus for displaying interstitial breaks in a progress bar of a video stream |
US9224150B2 (en) | 2007-12-18 | 2015-12-29 | Napo Enterprises, Llc | Identifying highly valued recommendations of users in a media recommendation network |
US9734507B2 (en) | 2007-12-20 | 2017-08-15 | Napo Enterprise, Llc | Method and system for simulating recommendations in a social network for an offline user |
US9071662B2 (en) | 2007-12-20 | 2015-06-30 | Napo Enterprises, Llc | Method and system for populating a content repository for an internet radio service based on a recommendation network |
US8396951B2 (en) | 2007-12-20 | 2013-03-12 | Napo Enterprises, Llc | Method and system for populating a content repository for an internet radio service based on a recommendation network |
US8060525B2 (en) | 2007-12-21 | 2011-11-15 | Napo Enterprises, Llc | Method and system for generating media recommendations in a distributed environment based on tagging play history information with location information |
US20090164516A1 (en) * | 2007-12-21 | 2009-06-25 | Concert Technology Corporation | Method and system for generating media recommendations in a distributed environment based on tagging play history information with location information |
US8983937B2 (en) | 2007-12-21 | 2015-03-17 | Lemi Technology, Llc | Tunersphere |
US9552428B2 (en) | 2007-12-21 | 2017-01-24 | Lemi Technology, Llc | System for generating media recommendations in a distributed environment based on seed information |
US8577874B2 (en) | 2007-12-21 | 2013-11-05 | Lemi Technology, Llc | Tunersphere |
US8117193B2 (en) | 2007-12-21 | 2012-02-14 | Lemi Technology, Llc | Tunersphere |
US8874554B2 (en) | 2007-12-21 | 2014-10-28 | Lemi Technology, Llc | Turnersphere |
US9275138B2 (en) | 2007-12-21 | 2016-03-01 | Lemi Technology, Llc | System for generating media recommendations in a distributed environment based on seed information |
WO2009089097A1 (en) * | 2008-01-04 | 2009-07-16 | Bandtones Llc | Methods and apparatus for delivering audio content to a caller placed on hold |
US20110051718A1 (en) * | 2008-01-04 | 2011-03-03 | Band Tones,Llc | Methods and apparatus for delivering audio content to a caller placed on hold |
WO2009101624A3 (en) * | 2008-02-13 | 2010-03-11 | Innovid Inc. | Apparatus and method for manipulating an object inserted to video content |
WO2009101624A2 (en) * | 2008-02-13 | 2009-08-20 | Innovid Inc. | Apparatus and method for manipulating an object inserted to video content |
US20110218991A1 (en) * | 2008-03-11 | 2011-09-08 | Yahoo! Inc. | System and method for automatic detection of needy queries |
US8312011B2 (en) * | 2008-03-11 | 2012-11-13 | Yahoo! Inc. | System and method for automatic detection of needy queries |
US8725740B2 (en) | 2008-03-24 | 2014-05-13 | Napo Enterprises, Llc | Active playlist having dynamic media item groups |
US8484311B2 (en) | 2008-04-17 | 2013-07-09 | Eloy Technology, Llc | Pruning an aggregate media collection |
US9436688B2 (en) * | 2008-05-28 | 2016-09-06 | Adobe Systems Incorporated | Durational referencing cue points for linking multimedia files |
US20090300498A1 (en) * | 2008-05-29 | 2009-12-03 | Telcordia Technologies, Inc. | Method and System for Generating and Presenting Mobile Content Summarization |
US8171410B2 (en) * | 2008-05-29 | 2012-05-01 | Telcordia Technologies, Inc. | Method and system for generating and presenting mobile content summarization |
US9183885B2 (en) | 2008-05-30 | 2015-11-10 | Echostar Technologies L.L.C. | User-initiated control of an audio/video stream to skip interstitial content between program segments |
US9357260B2 (en) | 2008-05-30 | 2016-05-31 | Echostar Technologies L.L.C. | Methods and apparatus for presenting substitute content in an audio/video stream using text data |
US8667099B2 (en) | 2008-06-30 | 2014-03-04 | Microsoft Corporation | Wireless synchronization of media content and subscription content |
US10193970B2 (en) | 2008-06-30 | 2019-01-29 | Microsoft Technology Licensing, Llc | Wireless synchronization of media content and subscription content |
US8069232B2 (en) | 2008-06-30 | 2011-11-29 | Microsoft Corporation | Wireless synchronization of media content and subscription content |
US9191440B2 (en) | 2008-06-30 | 2015-11-17 | Microsoft Technology Licensing, Llc | Wireless synchronization of media content and subscription content |
US20100023964A1 (en) * | 2008-07-22 | 2010-01-28 | At&T Labs | System and method for temporally adaptive media playback |
US9390757B2 (en) | 2008-07-22 | 2016-07-12 | At&T Intellectual Property I, L.P. | System and method for adaptive media playback based on destination |
US11272264B2 (en) | 2008-07-22 | 2022-03-08 | At&T Intellectual Property I, L.P. | System and method for temporally adaptive media playback |
US10812874B2 (en) | 2008-07-22 | 2020-10-20 | At&T Intellectual Property I, L.P. | System and method for temporally adaptive media playback |
US9392345B2 (en) | 2008-07-22 | 2016-07-12 | At&T Intellectual Property I, L.P. | System and method for temporally adaptive media playback |
US10397665B2 (en) | 2008-07-22 | 2019-08-27 | At&T Intellectual Property I, L.P. | System and method for temporally adaptive media playback |
US8990848B2 (en) * | 2008-07-22 | 2015-03-24 | At&T Intellectual Property I, L.P. | System and method for temporally adaptive media playback |
US8464294B2 (en) * | 2008-09-23 | 2013-06-11 | Huawei Device Co., Ltd. | Method, terminal and system for playing programs |
US20110173666A1 (en) * | 2008-09-23 | 2011-07-14 | Huawei Display Co., Ltd. | Method, terminal and system for playing programs |
US8484227B2 (en) | 2008-10-15 | 2013-07-09 | Eloy Technology, Llc | Caching and synching process for a media sharing system |
US8880599B2 (en) | 2008-10-15 | 2014-11-04 | Eloy Technology, Llc | Collection digest for a media sharing system |
US20100107090A1 (en) * | 2008-10-27 | 2010-04-29 | Camille Hearst | Remote linking to media asset groups |
US20100129057A1 (en) * | 2008-11-26 | 2010-05-27 | Sling Media Pvt Ltd | Systems and methods for creating logical media streams for media storage and playback |
US9191610B2 (en) * | 2008-11-26 | 2015-11-17 | Sling Media Pvt Ltd. | Systems and methods for creating logical media streams for media storage and playback |
US9367808B1 (en) | 2009-02-02 | 2016-06-14 | Napo Enterprises, Llc | System and method for creating thematic listening experiences in a networked peer media recommendation environment |
US9824144B2 (en) | 2009-02-02 | 2017-11-21 | Napo Enterprises, Llc | Method and system for previewing recommendation queues |
US8200602B2 (en) | 2009-02-02 | 2012-06-12 | Napo Enterprises, Llc | System and method for creating thematic listening experiences in a networked peer media recommendation environment |
US8250120B2 (en) * | 2009-02-24 | 2012-08-21 | GM Global Technology Operations LLC | Methods and systems for merging media files from multiple media devices |
US20100228803A1 (en) * | 2009-02-24 | 2010-09-09 | Gm Global Technology Operations, Inc. | Methods and systems for merging media |
US9612726B1 (en) | 2009-03-26 | 2017-04-04 | Google Inc. | Time-marked hyperlinking to video content |
US8990692B2 (en) * | 2009-03-26 | 2015-03-24 | Google Inc. | Time-marked hyperlinking to video content |
US20100251120A1 (en) * | 2009-03-26 | 2010-09-30 | Google Inc. | Time-Marked Hyperlinking to Video Content |
US11948588B2 (en) | 2009-05-01 | 2024-04-02 | The Nielsen Company (Us), Llc | Methods, apparatus and articles of manufacture to provide secondary content in association with primary broadcast media content |
US8386935B2 (en) * | 2009-05-06 | 2013-02-26 | Yahoo! Inc. | Content summary and segment creation |
US20100287475A1 (en) * | 2009-05-06 | 2010-11-11 | Van Zwol Roelof | Content summary and segment creation |
US8868526B2 (en) | 2009-05-29 | 2014-10-21 | International Business Machines Corporation | Parallel segmented index supporting incremental document and term indexing |
US20140013366A1 (en) * | 2009-06-05 | 2014-01-09 | Time Warner Cable Enterprises Llc | Providing syndication feed content on a television set-top box with limited decoder capability |
US9113186B2 (en) * | 2009-06-05 | 2015-08-18 | Time Warner Cable Enterprises Llc | Providing syndication feed content on a television set-top box with limited decoder capability |
US8533768B2 (en) * | 2009-06-05 | 2013-09-10 | Time Warner Cable Enterprises Llc | Providing syndication feed content on a television set-top box with limited decoder capability |
US20100313235A1 (en) * | 2009-06-05 | 2010-12-09 | Time Warner Cable Inc. | Providing syndication feed content on a television set-top box with limited decoder capability |
US20100333142A1 (en) * | 2009-06-29 | 2010-12-30 | Verizon Patent And Licensing Inc. | Method and apparatus for creating a personalized programming guide |
US8990858B2 (en) | 2009-06-29 | 2015-03-24 | Verizon Patent And Licensing Inc. | Search-based media program guide systems and methods |
US9241136B2 (en) * | 2009-06-29 | 2016-01-19 | Verizon Patent And Licensing Inc. | Method and apparatus for creating a personalized programming guide |
WO2011002549A1 (en) * | 2009-06-30 | 2011-01-06 | Verizon Patent And Licensing Inc. | User-based media content chaptering systems and methods |
US8959558B2 (en) | 2009-06-30 | 2015-02-17 | Verizon Patent And Licensing Inc. | User-based media content chaptering systems and methods |
CN102428708A (en) * | 2009-06-30 | 2012-04-25 | 维里逊专利及许可公司 | User-based media content chaptering systems and methods |
US20100333123A1 (en) * | 2009-06-30 | 2010-12-30 | Verizon Patent And Licensing Inc. | User-based media content chaptering systems and methods |
US8934758B2 (en) | 2010-02-09 | 2015-01-13 | Echostar Global B.V. | Methods and apparatus for presenting supplemental content in association with recorded content |
US20110194838A1 (en) * | 2010-02-09 | 2011-08-11 | Echostar Global B.V. | Methods and Apparatus For Presenting Supplemental Content In Association With Recorded Content |
US20110218994A1 (en) * | 2010-03-05 | 2011-09-08 | International Business Machines Corporation | Keyword automation of video content |
US8798777B2 (en) * | 2011-03-08 | 2014-08-05 | Packetvideo Corporation | System and method for using a list of audio media to create a list of audiovisual media |
US20120232681A1 (en) * | 2011-03-08 | 2012-09-13 | Packetvideo Corporation | System and method for using a list of audio media to create a list of audiovisual media |
US9973560B2 (en) | 2011-04-04 | 2018-05-15 | Soundlink, Inc. | Location-based network radio production and distribution system |
US10270831B2 (en) * | 2011-04-04 | 2019-04-23 | Soundlink, Inc. | Automated system for combining and publishing network-based audio programming |
US9380410B2 (en) | 2011-04-04 | 2016-06-28 | Soundlink, Inc. | Audio commenting and publishing system |
US20120254753A1 (en) * | 2011-04-04 | 2012-10-04 | Andrews Christopher C | Automated system for combining and publishing network-based audio programming |
US9681204B2 (en) | 2011-04-12 | 2017-06-13 | The Nielsen Company (Us), Llc | Methods and apparatus to validate a tag for media |
US9380356B2 (en) | 2011-04-12 | 2016-06-28 | The Nielsen Company (Us), Llc | Methods and apparatus to generate a tag for media content |
US8848969B2 (en) | 2011-06-06 | 2014-09-30 | Time Warner Cable Enterprises Llc | Methods and apparatus for watermarking and distributing watermarked content |
WO2012170441A3 (en) * | 2011-06-06 | 2013-05-10 | Time Warner Cable Inc. | Methods and apparatus for watermarking and distributing watermarked content |
WO2012170441A2 (en) * | 2011-06-06 | 2012-12-13 | Time Warner Cable Inc. | Methods and apparatus for watermarking and distributing watermarked content |
US10791042B2 (en) | 2011-06-21 | 2020-09-29 | The Nielsen Company (Us), Llc | Monitoring streaming media content |
US9515904B2 (en) | 2011-06-21 | 2016-12-06 | The Nielsen Company (Us), Llc | Monitoring streaming media content |
US9838281B2 (en) | 2011-06-21 | 2017-12-05 | The Nielsen Company (Us), Llc | Monitoring streaming media content |
US11296962B2 (en) | 2011-06-21 | 2022-04-05 | The Nielsen Company (Us), Llc | Monitoring streaming media content |
US11252062B2 (en) * | 2011-06-21 | 2022-02-15 | The Nielsen Company (Us), Llc | Monitoring streaming media content |
US11784898B2 (en) | 2011-06-21 | 2023-10-10 | The Nielsen Company (Us), Llc | Monitoring streaming media content |
US9210208B2 (en) | 2011-06-21 | 2015-12-08 | The Nielsen Company (Us), Llc | Monitoring streaming media content |
US20150088891A1 (en) * | 2011-08-26 | 2015-03-26 | Google Inc. | System and method for identifying availability of media items |
CN110083718A (en) * | 2011-08-26 | 2019-08-02 | 谷歌有限责任公司 | The system and method for the availability of media item for identification |
CN110083717A (en) * | 2011-08-26 | 2019-08-02 | 谷歌有限责任公司 | The system and method for the availability of media item for identification |
WO2013032941A1 (en) * | 2011-08-26 | 2013-03-07 | Google Inc. | System and method for identifying availability of media items |
KR101925961B1 (en) | 2011-08-26 | 2018-12-06 | 구글 엘엘씨 | System and method for identifying availability of media items |
US11567931B2 (en) | 2011-08-26 | 2023-01-31 | Google Llc | System and method for identifying availability of media items |
US10929391B2 (en) * | 2011-08-26 | 2021-02-23 | Google Llc | System and method for identifying availability of media items |
CN103959286A (en) * | 2011-08-26 | 2014-07-30 | 谷歌公司 | System and method for identifying availability of media items |
US20130160063A1 (en) * | 2011-12-20 | 2013-06-20 | Usman Rashid | Network delivery of broadcast media content streams |
US9633029B2 (en) | 2011-12-31 | 2017-04-25 | Huawei Technologies Co., Ltd. | Method, server, and user terminal for providing and acquiring media content |
EP2770695A4 (en) * | 2011-12-31 | 2014-08-27 | Huawei Tech Co Ltd | Method, server and user terminal for providing and acquiring media content |
EP2770695A1 (en) * | 2011-12-31 | 2014-08-27 | Huawei Technologies Co., Ltd. | Method, server and user terminal for providing and acquiring media content |
US20140369666A1 (en) * | 2012-01-09 | 2014-12-18 | Thomson Licensing | Managing time-shift data |
US9640220B2 (en) * | 2012-01-09 | 2017-05-02 | Thomson Licensing | Managing time-shift data |
US20150052437A1 (en) * | 2012-03-28 | 2015-02-19 | Terry Crawford | Method and system for providing segment-based viewing of recorded sessions |
US9804754B2 (en) * | 2012-03-28 | 2017-10-31 | Terry Crawford | Method and system for providing segment-based viewing of recorded sessions |
US9031927B2 (en) * | 2012-04-13 | 2015-05-12 | Ebay Inc. | Method and system to provide video-based search results |
US20130275412A1 (en) * | 2012-04-13 | 2013-10-17 | Ebay Inc. | Method and system to provide video-based search results |
AU2016200352B2 (en) * | 2012-04-13 | 2017-09-28 | Ebay Inc. | Method and system to provide video-based search results |
US10791375B2 (en) | 2012-04-13 | 2020-09-29 | Ebay Inc. | Method and system to provide video-based search results |
US20130290402A1 (en) * | 2012-04-25 | 2013-10-31 | Verizon Patent And Licensing, Inc. | Live streaming circular buffer |
US9930408B2 (en) * | 2012-04-25 | 2018-03-27 | Verizon Patent And Licensing Inc. | Live streaming circular buffer |
US9209978B2 (en) | 2012-05-15 | 2015-12-08 | The Nielsen Company (Us), Llc | Methods and apparatus to measure exposure to streaming media |
US9197421B2 (en) | 2012-05-15 | 2015-11-24 | The Nielsen Company (Us), Llc | Methods and apparatus to measure exposure to streaming media |
US9413801B2 (en) * | 2012-06-28 | 2016-08-09 | Adobe Systems Incorporated | Media stream index merging |
US9100460B2 (en) | 2012-06-28 | 2015-08-04 | Adobe Systems Incorporated | Media stream fragment request |
US9374403B2 (en) | 2012-06-28 | 2016-06-21 | Adobe Systems Incorporated | Media stream fragment request |
US20140006364A1 (en) * | 2012-06-28 | 2014-01-02 | Adobe Systems Incorporated | Media stream index merging |
US9191707B2 (en) | 2012-11-08 | 2015-11-17 | Bank Of America Corporation | Automatic display of user-specific financial information based on audio content recognition |
US9027048B2 (en) | 2012-11-14 | 2015-05-05 | Bank Of America Corporation | Automatic deal or promotion offering based on audio cues |
US20150373423A1 (en) * | 2013-01-15 | 2015-12-24 | Sharp Kabushiki Kaisha | Video supply device, video acquisition device, and program |
US10217138B1 (en) * | 2013-01-29 | 2019-02-26 | Amazon Technologies, Inc. | Server-side advertisement injection |
US9357261B2 (en) | 2013-02-14 | 2016-05-31 | The Nielsen Company (Us), Llc | Methods and apparatus to measure exposure to streaming media |
US9313544B2 (en) * | 2013-02-14 | 2016-04-12 | The Nielsen Company (Us), Llc | Methods and apparatus to measure exposure to streaming media |
US20140229970A1 (en) * | 2013-02-14 | 2014-08-14 | Jan Besehanic | Methods and apparatus to measure exposure to streaming media |
US20140280272A1 (en) * | 2013-03-15 | 2014-09-18 | International Business Machines Corporation | Media content substitution |
US20140321833A1 (en) * | 2013-04-24 | 2014-10-30 | Fuji Xerox Co., Ltd. | Information processing apparatus, information processing method, and non-transitory computer readable medium |
US9343108B2 (en) * | 2013-04-24 | 2016-05-17 | Fuji Xerox Co., Ltd. | Information processing apparatus, information processing method, and non-transitory computer readable medium |
US9304648B2 (en) * | 2013-06-26 | 2016-04-05 | Google Inc. | Video segments for a video related to a task |
US10296640B1 (en) | 2013-06-26 | 2019-05-21 | Google Llc | Video segments for a video related to a task |
US20150153906A1 (en) * | 2013-06-26 | 2015-06-04 | Google Inc. | Video Segments For A Video Related To A Task |
US11354356B1 (en) | 2013-06-26 | 2022-06-07 | Google Llc | Video segments for a video related to a task |
US9336332B2 (en) * | 2013-08-28 | 2016-05-10 | Clipcard Inc. | Programmatic data discovery platforms for computing applications |
US9503784B2 (en) | 2013-10-10 | 2016-11-22 | The Nielsen Company (Us), Llc | Methods and apparatus to measure exposure to streaming media |
US10687100B2 (en) | 2013-10-10 | 2020-06-16 | The Nielsen Company (Us), Llc | Methods and apparatus to measure exposure to streaming media |
US11563994B2 (en) | 2013-10-10 | 2023-01-24 | The Nielsen Company (Us), Llc | Methods and apparatus to measure exposure to streaming media |
US11197046B2 (en) | 2013-10-10 | 2021-12-07 | The Nielsen Company (Us), Llc | Methods and apparatus to measure exposure to streaming media |
US9332035B2 (en) | 2013-10-10 | 2016-05-03 | The Nielsen Company (Us), Llc | Methods and apparatus to measure exposure to streaming media |
US10356455B2 (en) | 2013-10-10 | 2019-07-16 | The Nielsen Company (Us), Llc | Methods and apparatus to measure exposure to streaming media |
US20150134782A1 (en) * | 2013-11-08 | 2015-05-14 | Disney Enterprises, Inc. | Systems and methods for delivery of localized media assets |
US9661044B2 (en) * | 2013-11-08 | 2017-05-23 | Disney Enterprises, Inc. | Systems and methods for delivery of localized media assets |
US20150172347A1 (en) * | 2013-12-18 | 2015-06-18 | Johannes P. Schmidt | Presentation of content based on playlists |
US10311101B2 (en) | 2014-04-10 | 2019-06-04 | Google Llc | Methods, systems, and media for searching for video content |
US20150293996A1 (en) * | 2014-04-10 | 2015-10-15 | Google Inc. | Methods, systems, and media for searching for video content |
US9672280B2 (en) * | 2014-04-10 | 2017-06-06 | Google Inc. | Methods, systems, and media for searching for video content |
US20150347390A1 (en) * | 2014-05-30 | 2015-12-03 | Vavni, Inc. | Compliance Standards Metadata Generation |
US20160196252A1 (en) * | 2015-01-04 | 2016-07-07 | Emc Corporation | Smart multimedia processing |
US10691879B2 (en) * | 2015-01-04 | 2020-06-23 | EMC IP Holding Company LLC | Smart multimedia processing |
CN105893387A (en) * | 2015-01-04 | 2016-08-24 | 伊姆西公司 | Intelligent multimedia processing method and system |
US20160211001A1 (en) * | 2015-01-20 | 2016-07-21 | Samsung Electronics Co., Ltd. | Apparatus and method for editing content |
US10373648B2 (en) * | 2015-01-20 | 2019-08-06 | Samsung Electronics Co., Ltd. | Apparatus and method for editing content |
US10971188B2 (en) | 2015-01-20 | 2021-04-06 | Samsung Electronics Co., Ltd. | Apparatus and method for editing content |
US20170017658A1 (en) * | 2015-07-14 | 2017-01-19 | Verizon Patent And Licensing Inc. | Automated media clipping and combination system |
US10242007B2 (en) * | 2015-07-14 | 2019-03-26 | Verizon Patent And Licensing Inc. | Automated media clipping and combination system |
US9578379B1 (en) * | 2015-09-29 | 2017-02-21 | Rovi Guides, Inc. | Scene-by-scene viewer ratings |
US20170118265A1 (en) * | 2015-10-22 | 2017-04-27 | Le Holdings (Beijing) Co., Ltd. | Method, server, client and system for remotely controlling customized channels |
US20170126768A1 (en) * | 2015-10-29 | 2017-05-04 | NETFLIX Inc. | Techniques for modifying a rules engine in a highly-scaled computing environment |
US11025695B2 (en) * | 2015-10-29 | 2021-06-01 | Netflix, Inc. | Techniques for modifying a rules engine in a highly-scaled computing environment |
US10693933B2 (en) * | 2015-10-29 | 2020-06-23 | Netflix, Inc. | Techniques for modifying a rules engine in a highly-scaled computing environment |
US20180165696A1 (en) * | 2016-12-09 | 2018-06-14 | Authors, Inc. | Predictive Analytics Diagnostic System and Results on Market Viability and Audience Metrics for Scripted Media |
US10701462B2 (en) * | 2018-04-12 | 2020-06-30 | International Business Machines Corporation | Generating video montage of an event |
US20190320242A1 (en) * | 2018-04-12 | 2019-10-17 | International Business Machines Corporation | Generating video montage of an event |
US11451867B2 (en) * | 2018-12-27 | 2022-09-20 | The Nielsen Company (Us), Llc | Methods and apparatus to monitor digital media |
US11838584B2 (en) | 2018-12-27 | 2023-12-05 | The Nielsen Company (Us), Llc | Methods and apparatus to monitor digital media |
CN113841418A (en) * | 2019-05-14 | 2021-12-24 | 微软技术许可有限责任公司 | Dynamic video highlights |
US11537601B2 (en) * | 2019-10-02 | 2022-12-27 | Infosum Limited | Accessing datasets |
US11172269B2 (en) | 2020-03-04 | 2021-11-09 | Dish Network L.L.C. | Automated commercial content shifting in a video streaming system |
US20230040968A1 (en) * | 2021-07-21 | 2023-02-09 | Nearme Entertainment, Inc. | Search tool for local information |
WO2023240114A1 (en) * | 2022-06-09 | 2023-12-14 | SoundWaves LLC | Method for generating a playlist |
Also Published As
Publication number | Publication date |
---|---|
US20150378998A1 (en) | 2015-12-31 |
US9934223B2 (en) | 2018-04-03 |
WO2007056532A1 (en) | 2007-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9934223B2 (en) | Methods and apparatus for merging media content | |
US9697231B2 (en) | Methods and apparatus for providing virtual media channels based on media search | |
US7801910B2 (en) | Method and apparatus for timed tagging of media content | |
US9697230B2 (en) | Methods and apparatus for dynamic presentation of advertising, factual, and informational content using enhanced metadata in search-driven media applications | |
US20070106646A1 (en) | User-directed navigation of multimedia search results | |
US20160012047A1 (en) | Method and Apparatus for Updating Speech Recognition Databases and Reindexing Audio and Video Content Using the Same | |
US7640272B2 (en) | Using automated content analysis for audio/video content consumption | |
US7386542B2 (en) | Personalized broadcast news navigator | |
US8185543B1 (en) | Video image-based querying for video content | |
JP6838098B2 (en) | Knowledge panel contextualizing | |
US8312022B2 (en) | Search engine optimization | |
US8799253B2 (en) | Presenting an assembled sequence of preview videos | |
KR101659097B1 (en) | Method and apparatus for searching a plurality of stored digital images | |
US8972458B2 (en) | Systems and methods for comments aggregation and carryover in word pages | |
US20060288001A1 (en) | System and method for dynamically identifying the best search engines and searchable databases for a query, and model of presentation of results - the search assistant | |
US20050222989A1 (en) | Results based personalization of advertisements in a search engine | |
US9015172B2 (en) | Method and subsystem for searching media content within a content-search service system | |
US20090287677A1 (en) | Streaming media instant answer on internet search result page | |
EP1405212A2 (en) | Method and system for indexing and searching timed media information based upon relevance intervals | |
AU2012202738B2 (en) | Results based personalization of advertisements in a search engine | |
Bhardwaj et al. | Structure and Functions of Metasearch Engines: An Evaluative Study. | |
Gurrin et al. | Fischlár@ TRECVID2003: system description | |
WO2009023129A1 (en) | Systems and methods for comments aggregation and carryover in word pages |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: BBN TECHNOLOGIES CORP., MASSACHUSETTS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HOUH, HENRY;STERN, JEFFREY NATHAN;REEL/FRAME:018017/0951 Effective date: 20060721 |
|
AS | Assignment |
Owner name: PODZINGER CORP.,MASSACHUSETTS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BBN TECHNOLOGIES CORP.;REEL/FRAME:018416/0080 Effective date: 20061018 Owner name: PODZINGER CORP., MASSACHUSETTS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BBN TECHNOLOGIES CORP.;REEL/FRAME:018416/0080 Effective date: 20061018 |
|
AS | Assignment |
Owner name: EVERYZING, INC., MASSACHUSETTS Free format text: CHANGE OF NAME;ASSIGNOR:PODZINGER CORPORATION;REEL/FRAME:019638/0871 Effective date: 20070611 Owner name: EVERYZING, INC.,MASSACHUSETTS Free format text: CHANGE OF NAME;ASSIGNOR:PODZINGER CORPORATION;REEL/FRAME:019638/0871 Effective date: 20070611 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION |
|
AS | Assignment |
Owner name: CXENSE ASA, NORWAY Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:RAMP HOLDINGS INC.;REEL/FRAME:037018/0816 Effective date: 20151021 |