WO2002054769A1 - A method and apparatus for acquiring media services available from content aggregators - Google Patents

A method and apparatus for acquiring media services available from content aggregators Download PDF

Info

Publication number
WO2002054769A1
WO2002054769A1 PCT/US2002/000008 US0200008W WO02054769A1 WO 2002054769 A1 WO2002054769 A1 WO 2002054769A1 US 0200008 W US0200008 W US 0200008W WO 02054769 A1 WO02054769 A1 WO 02054769A1
Authority
WO
WIPO (PCT)
Prior art keywords
media service
media
content
list
service
Prior art date
Application number
PCT/US2002/000008
Other languages
French (fr)
Inventor
Kerry Wayne Calvert
Original Assignee
Thomson Licensing S.A.
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Thomson Licensing S.A. filed Critical Thomson Licensing S.A.
Priority to MXPA03006048A priority Critical patent/MXPA03006048A/en
Priority to JP2002555530A priority patent/JP4865985B2/en
Priority to BR0206234-8A priority patent/BR0206234A/en
Priority to US10/250,640 priority patent/US8677417B2/en
Priority to EP02712596A priority patent/EP1354477A4/en
Priority to KR1020037008569A priority patent/KR100866908B1/en
Publication of WO2002054769A1 publication Critical patent/WO2002054769A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8543Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]

Definitions

  • This invention is related to the field of indexing, acquiring, and playing media services, particularly media services in the form of streaming media available from a plurality of content aggregators.
  • Radio transmissions have problems that arise due to the inherent physical limitations of using radio waves. For example, radio waves lose power the further they are from their broadcast source, whereby it becomes difficult for a receiver to reliably receive and demodulate a broadcast from a long distance. This limitation makes it difficult for listeners to receive their favorite stations if outside of a geographic region (e.g., a person who lives in Boston typically can not receive a radio broadcast from Los Angeles). Additionally, the frequencies of radio broadcasts have to be tightly controlled because the airwaves can only accommodate a finite number of electronic-magnetic waves before interference results.
  • Satellite broadcasts have a further geographic range than radio wave based transmissions. Also, satellite transmissions can accommodate more radio stations broadcasts than broadcasted as radio waves, by using techniques as multiplexing and data compression increasing the bandwidth efficiency of a transmission. Satellite broadcasts are limited in programming choices available, because the radio stations are selected by satellite broadcasters and broadcasting via satellite is cost prohibitive, which may underrepresent the broadcasting choices available from small media markets. [0005] The amount of programming choices available to a listener (or viewer) has increased since the development of radio and video transmissions through a communications network such as the Internet.
  • Radio and video services (referred to as media services) that were otherwise limited by geographic bandwidth or other constraints are broadcasted around the world via the Internet.
  • Any user who possesses a connection to the Internet and an Internet enabled device computer, cellular phone, MP3 music player, Internet appliance, satellite receiver
  • the media service is encoded and compressed, typically by a computer, into packets that conform to a transport protocol, such as TCP/IP.
  • the packets are routed to a listener's device through the Internet, in that software on the listener's decoding device (e.g., a computer with a media player as REALPLAYERTM, MACROMEDIA PLAYERTM, and MP3PROTM) decompresses and decodes the packets into an audio/video signal for playback on an output device (computer, receiver, stereo, television set).
  • software on the listener's decoding device e.g., a computer with a media player as REALPLAYERTM, MACROMEDIA PLAYERTM, and MP3PROTM
  • decompresses and decodes the packets into an audio/video signal for playback on an output device computer, receiver, stereo, television set.
  • the Internet provides a listener with the ability to access thousands of media services.
  • the music genres available to a user are equally as expansive, as a user can select to hear a sub-genre of a music genre (e.g., a rock and roll station "music genre” that plays 1980's new wave music "sub-genre”).
  • the listener also can manipulate the songs (media objects) or content heard into a playlist, which is organized by the preferences of the listener.
  • These broadcasts are accessed choosing a link (uniform resource indicator URI) to a music file on a website or by using a media player that receives streaming feeds of media services.
  • URI uniform resource indicator
  • tuning service or a media subscription service.
  • content aggregators such as MUSICMATCHTM, LIVE365TM, and STREAMWAVESTM bring together a plurality of media services to a common point or interface (e.g., a website, a streaming media player with channels) with an architecture where a user selects media services from categories including genre and performer.
  • a tuning service is typically proprietary to protect the copyrighted material comprising media services and requires an interface to successfully use the tuning service to playback an available media service. The restrictions of using a proprietary tuning service typically limits a user from activating media services available from different content aggregators, without switching to an additional device.
  • a method and apparatus that enable the indexing and acquisition of media services from a plurality of content aggregators.
  • a listing of media services is generated by the indexing of available media services from the plurality of content aggregators.
  • the method and apparatus also describe the retrieval and output of a selected media service available from the plurality of content aggregators to a playback device.
  • FIG. 1 is a diagram of audio and video based media services that are aggregated by a content aggregator.
  • FIG. 2 is a diagram of an Internet connection between devices using the invention and a plurality of content aggregators.
  • FIG. 3 is a flowchart of formatting a request to a content aggregator.
  • FIG. 4 is a block diagram of requesting a content list from a content aggregator.
  • FIG. 5 is a diagram of audio based media services available from a plurality of content aggregators indexed into a unified content list.
  • FIG. 6 is a block diagram of requesting and acquiring a media service from a content aggregator.
  • FIG. 7 is a flowchart of a synchronous usage model requesting and acquiring music services from a content aggregator
  • FIG. 8 is a diagram of requesting and acquiring music services from a plurality of content aggregators by using a control point.
  • FIG. 9 is a diagram of a content list of media services a playback device receives from a content aggregator as computer code.
  • FIG. 10 is a diagram of a content list of media services formatted to the internal data structure of a playback device by a content adapter.
  • FIG. 1 1 is a display of a content list of media services formatted into a menu by a XML parser.
  • Audio based media services as audio website 1 04, radio station 106, music service 108, originating as audio based feeds (e.g., music, talk radio show, streaming media files, baseball game, audio from a television program, audio books), and video station 109 (e.g., CNN ® , ABC ® , DIRECTV ® ) are media services available to content aggregator 102 through communications network 1 10 (e.g., Internet, Public Switched Telephone Network (PSTN), Local Area Network (LAN), wireless network, Digital Subscriber Line (DSL), peer to peer network).
  • PSTN Public Switched Telephone Network
  • LAN Local Area Network
  • DSL Digital Subscriber Line
  • the media services are coupled to content aggregator 1 02 via communications network 1 10 with the media services transmitted as packets conforming to a TCP/IP protocol.
  • content aggregator 102 receives audio and video feeds that are transmitted through a wireless interface (radio frequency, microwaves, infrared) or receives media objects (e.g., audio-video files that are pre-recorded or real time feeds transmitted as streaming media) that are stored locally at the site of the content aggregator 102 (such as in a hard disk drive, optical storage, removable storage device, or magnetic tape).
  • the media services available for transmission comprise audio and video feeds.
  • Audio website 104 is an Internet based website that comprises audio based media services that are transmitted in the form of streaming media or are computer files partially or completely transmitted.
  • the media services may purport to a type of media file format (e.g., REALAUDIO ® ,
  • Radio station 106 is a content provider that broadcasts radio programs as audio based streamed media services. The broadcasts may be live or prerecorded.
  • Music service 108 is a media service that is subscription based (e.g., MUSAK ® , MUSIC CHOICE ® ) that broadcasts programming as an audio based media service available through the content aggregator 102.
  • Video feed 109 is a media service that is transmitted from a television station (e.g., CNN, ABC ) or as a video service (e.g., a movie on demand) available to content aggregator 102.
  • content aggregator 102 in an alternative embodiment, exists as a web resource (e.g., website, index, catalog) that comprises Uniform Resource Indicators (URIs) that link to the location of media services.
  • URIs Uniform Resource Indicators
  • a playback program e.g., a streaming media player
  • a playback program directly accesses a media service at its listed location (by using the listed link) instead of receiving the media service directly from content aggregator 102.
  • Content aggregator 102 may comprise an index of links to the location of media services and may have media services that are transmitted directly from content aggregator 102.
  • Uniform resource indicators are a universal set of names that refer to existing protocols or name spaces that identify resources (e.g., website, streaming media server,), services (e.g., videos on demand, internet radio), devices (e.g., mobile phone, internet enable appliance), and data files (e.g., media files and text documents).
  • a URL is a form of a URI that expresses an address that maps to an access algorithm using network protocols (e.g., TCP/IP or a MPEG transport scheme). When a URL is used, a specific resource, service, device, or data file may be accessed and/or manipulated.
  • IP Internet protocol number or address
  • DNS Domain Name Server
  • FIG. 2 illustrates a connection between Internet enabled devices (a playback device 202, cable set top box 204, computer, cellular phone, MP3 player, video game system) and a plurality of content aggregators.
  • Content aggregator 102 receives audio based media services from audio website 104 and radio station 106.
  • An Internet enabled device such as playback device 202, accesses content aggregator 102 via a communications network 1 10 (e.g., Internet).
  • a communications network 1 10 e.g., Internet
  • Playback device 202 communicates with content aggregator
  • the communications are procedural calls and requests comprising computer commands, for example hypertext markup language (HTML) or extensible markup language (XML) based requests, transported as packets adhering to a transport structure (e.g., Transmission Control Protocol/ Internet Protocol (TCP/IP)) through communications network 1 10.
  • the procedural calls are formatted through the use of an application programming interface (API) .
  • API application programming interface
  • This interface comprises a series of functions that are used by a program or device to initiate a specific action (for example, an Internet enabled device uses an audio API to control a soundcard for the playback of an audio based media service).
  • Playback device 202 contains hardware and software (APIs and program subroutines) for communicating and interacting with content aggregator 102.
  • playback device 202 comprises central processing unit (CPU) 214, program memory 216, data memory 218, an audio speaker 220, display device 222, and input device 224.
  • CPU 214 (a computer processor) processes audio services received from the content aggregator 102, received via communications network 1 10.
  • CPU 214 is coupled to data memory 218 that stores data received from the content congregator 102 and selected media services.
  • Program memory 216 connected to CPU 214, stores programming instructions and APIs used to communicate with and process the media services obtained from content aggregator 102.
  • Display device 222 displays the program genres and sub- genres of audio based media services available from content aggregator 102.
  • display device 222 is a television display, LED display, or LCD display.
  • the genres and sub-genres are selected by using input device 224 by engaging a button, dial, or touch screen interface, or other tactile mechanism available on input device 224.
  • CPU 204 requests (via a command such as a computer command or a procedural call) an audio based media service (in this example from a radio station 106) through content aggregator 102, after the media service was selected via input device 224.
  • Content aggregator 102 receives the request from playback device 202 and, in response, sends the selected media service to playback device 202 in the form of a packetized transmission.
  • Playback device 202 processes the media service and outputs the results through connected audio speaker (loudspeaker) 220.
  • the selected media service is video based and is outputted to display device 222.
  • Set top box 204 is an Internet enabled device that receives audio and video based media services from, for example, cable or broadcast television stations.
  • set top box 204 is a conduit for media services that are multi-threaded or multiplexed by set top box 204 to devices that are not Internet enabled (e.g., stereo receiver 206 and television audio output 208).
  • set top box 204 receives a classical music based media service, which set top box 204 sends to stereo receiver 206.
  • set top box 204 receives a newscast media service that is transmitted to coupled television 208.
  • set top box 204 transmits audio services to an attached data network 210 (e.g., Ethernet network, wireless RF network, power line based network, or infrared network) that is connected to output device 212 (connector or audio speaker) that outputs the media services as a signal.
  • an attached data network 210 e.g., Ethernet network, wireless RF network, power line based network, or infrared network
  • output device 212 connector or audio speaker
  • Multi-threading operates by set top box 204 dividing up its processing tasks (housekeeping tasks, data retrieval, processing data, outputting data) into a number of timeslots. Each processing task is allocated a number of timeslots. Processing tasks of a high priority (playback of a media service) receive a larger number of timeslots than other processing tasks (updating the display of available media services). The times slots as allocated in accordance with a predetermined procedure. In the current example, set top box 204 divides each second into ten timeslots: four timeslots are allocated for the classical music media service, four timeslots are for the newscast media service, and the remaining two timeslots are for housekeeping procedures. Set top box 204 then processes the media services and performs housekeeping tasks in accordance with the timeslots allocated. An embodiment of the invention supports that time slots durations may be unequal or equal amounts of time.
  • FIG. 3 shows a flowchart of a method of configuring a device
  • playback device 202 (playback device 202 or set top box 204) to the same data format as content aggregator 102 for acquiring and outputting selected media services.
  • playback device 202 communicates with a content aggregator 102 through communications network 1 10 in accordance with computer instructions controlling the CPU 214.
  • the computer instructions comprising an API operating through specific procedural calls.
  • the API requests parameters from content aggregator 102 via a Set Service Call in step 302.
  • the parameters transmitted to playback device develop a data and communication structure used by playback device 202 to communicate with content aggregator 102.
  • the communication structure is the format used to communicate data between playback device 202 and content aggregator 102.
  • the playback device 202 conforms with TCP/IP, Open Systems Interconnection (OSI) protocol, 3G, or WAP based transport protocols architectures. Accordingly, playback device 202 determines the communications structure of content aggregator 102 by using a handshake process and receiving data back that comports to a predetermined communications structure. Also, playback device 202 passively receives a data stream from content aggregator 102, whereby playback device 202 determines the communication structure based upon key attributes that exist in the data stream. For example, playback device 202 reads a header of a received data packet and determines that the data packet comports to a MPEG transport and data scheme.
  • OSI Open Systems Interconnection
  • a sample data structure comprises media service menus, the locations (URIs) and types of media service formats (Real Audio, Microsoft Media Player, MP3) available from the providers of the media services that correspond to a style sheet Playback device 202 receives the style sheet from content aggregator 102 and formats incoming and outgoing data accordingly.
  • the determination of data structure comprises a document object model (DOM) comprising three levels.
  • Level 1 establishes the format governing the exchange of data (e.g., XML and HMTL).
  • Level 2 controls presentation and manipulation of data being transmitted (using style sheets).
  • Level 3 defines a content model (e.g., data variables and metadata fields) and events used for a document (function key F12 saves a document).
  • Playback device 202 stores data structure parameters from content aggregator 102 into the program memory 216, in step 304, and formats future communications with the content aggregator 102 accordingly.
  • MIME Multipurpose Internet Mail Extensions
  • a DOM allows playback device 202 to support new document types and media formats as multimedia standards adjust. For example, a new content aggregator uses a new multimedia player to play back available media services. Playback device 202, when requesting a media service from the new content aggregator, will read the corresponding DOM and locate the new multimedia player (either by a embedded locator in the DOM or by referring to an external database). Playback device 202 then requests a codec (update) for the new media player, which is stored once the codec is received. The media service is ready to be outputted by playback device 202 using the new media player.
  • a codec update
  • playback device With the data structure parameters stored, playback device
  • the List Content Call comprises an Iradio API 412 that initiates an Iradio Request API 402 (stored in program memory 216) that allocates and manages the internal resources used for the content list request.
  • Iradio Request API 402 stored in program memory 216
  • CPU 214 designates operational cycles for the content list request and designates space in the data memory 218 for the storage of a content list.
  • Request API 402 manages multiple requests for content lists from a plurality of content aggregators 102, simultaneously.
  • CPU 214 then issues a HTTP processor API 404 subroutine that controlling the communication transmissions with content aggregator 102.
  • HTTP processor API 404 functions in accordance with the parameters stored in step 302 by managing the connection, communications, and HTTP protocol exchange with the content aggregator 102. This includes all processing related to HTTP URI redirection, error recognition, and response classification as a standard response to a stream comprising a media service.
  • HTTP processor API 404 transmits the content list request to content aggregator 102 via communications network 1 10.
  • Content aggregator 102 responds by transmitting a content list of available media services received through HTTP processor API 404.
  • CPU 214 After receiving the content list, preferably in a predetermined format, CPU 214 initiates content adapter 406 routine that formats the received content list to an internal format of data and an internal data structure used by playback device 202.
  • CPU 214 uses a XML (internal format of data) based document type definition (DTD) that predefines the internal data structure (data fields) used for playback device 202.
  • DTD document type definition
  • content adapter 406 formats the data into XML, preferably by the use of translation tables, and associates the formatted data into the internal data structure (DTD) of playback device 202.
  • DTD internal data structure
  • the formatted data and data received from content aggregator 102 are stored in data memory 218.
  • the DTD is updateable (for example, an update sent as a style sheet via the Internet 1 10 overwrites an existing DTD).
  • XML parser 408 receives the XML based data from the content adapter 406 (or from the data memory 218), and maps the XML based data to preselected menu elements that are displayed and manipulated by a user. The data mapping accomplished via a data table that indicates which variables from the internal data structure are mapped to preselected menu elements.
  • FIG. 9 is a diagram of a content list of media services 900 (in
  • FIG. 10 is a display of a content list of media services 1000 formatted to the internal data structure of the playback device 202 by the content adapter 406.
  • FIG. 1 1 is a display of a content list of media services 1 100 formatted into a menu by the XML parser 408.
  • data formatted by the XML parser 408 is displayed as a hierarchical menu on display device 222.
  • the hierarchical menu lists fields that are either preselected or designated by a user (sample fields are media service, title, media type, performer, content aggregator source, etc.).
  • a "top" level of the menu is displayed by genre (e.g., talk show, music, news, sports talk, mystery, soap opera, etc.).
  • genre e.g., talk show, music, news, sports talk, mystery, soap opera, etc.
  • content data procedure 410 initiated by CPU 214 checks data memory 218 if there are any sub-genres or available media services listed in association with the selected genre.
  • content data procedure 410 issues an additional content list call 401 to content aggregator 102 for more information that is associated with the selected genre (repeating the steps discussed above).
  • Content data procedure 410 generates and displays from the associated data a "second" level menu listed underneath the "top” level. The user then makes a selection from the "second" level, and content data procedure 410 continues to issue content list calls 401 , until the user selects a media service for playback.
  • CPU 214 issues an lradio_Stream_Contents_call API, in step 308, to retrieve the selected media service from the content aggregator 102.
  • the lradio_Stream_Contents_call API begins with a Stream Request Call 602 that determines a location of the requested media service (preferably the media service's URI) either through data returned from the lradio_List_Content_Call (in data memory 218) or through other means (e.g., as requesting the location of the media service from the content aggregator 102).
  • lradio_Stream_Contents_call API 308 supports asynchronous (multiple) requests for media services via the multithreading capability described above.
  • CPU 214 issues an Iradio API 412 that starts with the Request API 402 subroutine for allocating and managing resources used for the Stream Request Call 602.
  • HTTP processor API 404 is issued, as part of Iradio API 412, to connect to the location of the selected media service via the communications network 1 10.
  • the connection to the location of the media service is a direct connection (website, storage device, cellular network, etc.), a connection made through content aggregator 102 to the location of the media service, or a connection that is redirected to the location of the media service.
  • HTTP processor API 404 also manages the details of locating stream data in the response that comes from the requested media service's location.
  • the request for a media service is preferably made as a HTTP or MIME compliant request containing information about the resources required to playback the media service (such as a media player).
  • HTTP processor API 404 analyzes the HTTP response header to determine whether the response is a stream, media file, or other type of multimedia format (e.g. a REALPLAYER ® based stream, a non-streamed MP3 file, or a video signal). Once the determination is made, HTTP processor API 404 accepts data comprising the selected media service.
  • HTTP processor 404 routes the data to buffer 604 (contained in data memory 218).
  • Buffer 604 preferably outputs data in a first in first out (FIFO) scheme.
  • buffer 604 comprises a plurality of memory banks that queue data in accordance with a predetermined method (e.g., shared memory, memory interleaving, memory address cycling, etc.) enabling the request and delivery of multiple media services via the multithreading capability discussed above.
  • Content adapter 406 accesses and processes the data comprising the media service that is stored in buffer 604.
  • the processing of media service data depends upon information that is contained in the response header or footer of the media service data (e.g., indicating the format of the media service, the corresponding playback application 608, output requirements of the media service).
  • Processing examples performed by the content adapter 406 include decompressing the data, analyzing metadata in the media service data (e.g., metadata that describes the media service), or applying preselected audio or video effects.
  • the media service data once processed, is sent to player application 608 (media player) that outputs or "plays" media service data in, step 310.
  • the player application is a media complaint decoder (e.g., REALPLAYER, MPEG-1 Layer-3, MICROSOFT MEDIA PLAYER, QUICKTIME, MPEG-4, DivX) that decodes the media service data into a decoded audio/video signal that is ready for output to a media device (e.g., audio speaker, video screen, audio/video receiver, transmission device).
  • a media device e.g., audio speaker, video screen, audio/video receiver, transmission device.
  • Player application 608 will keep playing the media service until the content adapter 406 runs out of data received from buffer 604 (starting playback of another media service), or the media service is terminated via a return code in step 312, whereby the media service is told to stop transmitting.
  • the return code is issued from content adapter 406 to HTTP processor 404 that sends a "cancel" command to the location of media service via the communications network 1 10 to terminate the transmission of media service data.
  • the return code results from sources including, as examples, a user issuing a cancel command, an overflow/underflow error, not enough available memory, network congestion, output device not connected, etc.
  • CPU 214 has diagnostic circuitry that recognizes an error that results in the cancellation of the transmission of a media service via a return code.
  • an embodiment of the invention breaks up the processing demands of service requests, I/O (Input and Output) routines, and data conversion into distinct threads.
  • the threads are dynamically categorized and allocated computer resources (by a predetermined method), in order to fulfill desired requests and housekeeping routines for the invention.
  • the benefit of this approach is that requests can be processed by a system in accordance with this invention simultaneously, without the conflicts or delays induced by the processing of other requests.
  • the threads communicate with each other via a unique memory buffer queue that resides in data memory 218.
  • the threads put and retrieve buffers (in data memory 218) from named queues, and when done with a buffer, release the buffer to a buffer pool comprising a plurality of buffers.
  • the buffer queue enables the invention to designate specific threads to specific buffers, optimizing the storage and access of media service data when processing multiple media services.
  • semaphore primitives which may be implemented as a binary flag.
  • the use of semaphore primitives allow for the media service data to be shared across threads without corruption of the data management structures. For example, when a thread requests a buffer from the memory buffer queue, all management of data structures that track the queue buffer are performed after locking a semaphore primitive that guarantees exclusive access to the data structures.
  • Queue retrievals of data from the memory buffers supports both a blocking and a non-blocking mode.
  • the thread will stop processing and wait on the buffer to be presented, which could be an indeterminate amount of time.
  • This blocking mechanism allows CPU 214 resources to be balanced across the threads.
  • the content adapter will process a buffer and send the buffer to the player application via a queue that empties the buffer.
  • the content adapter will ignore (block) the buffer until it is filled by the I/O thread, freeing up the content adapter to access other filled buffers.
  • the non- blocking mode accesses a memory buffer whether it is filled or empty (reducing the content adapter's efficiency).
  • the invention optionally operates in a synchronous or asynchronous mode.
  • the asynchronous mode operates with callback functions, whereby the CPU 214 initiates a process (API) and designates the process to a specific thread.
  • CPU 214 also designates a corresponding callback function for the procedure that terminates the procedure (API) when the callback function is returned to CPU 214. For example, when an lradio_List_Content_Call 306 (requesting a list of media services) is initiated by CPU 214, a thread and a callback function are issued by CPU 214 that corresponds to the procedure.
  • the callback function is passed to a pointer that responds to a predetermined condition specified for the procedure (e.g., the transmission of the content list from content aggregator 102 triggers the callback function back to CPU 214). During this time, additional procedures run on other threads.
  • the pointer after the condition is met, issues a callback function to CPU 214 that terminates the thread executing the procedure.
  • the synchronous usage model does not utilize callback functions.
  • the functionality is the same of the asynchronous mode, but only a single (current) procedure is run at a time, effectively blocking all other procedures until the current procedure is serviced or an error results (terminating the current procedure).
  • CPU 214 begins a "new" procedure after the current procedure terminates and memory space in data memory 218 is cleared with a release command (ReleaseRespond).
  • FIG. 7 displays an embodiment of the invention for combining the list of media services available from two content aggregators 102.
  • Step 702 begins with a request for a list of media services by CPU 214 to a first media content aggregator.
  • CPU 214 executes an lradio_Set_Service call that builds a set of commands used to access first content aggregator 102 (in accordance with FIGS. 3 and 4 described above).
  • a follow-up lradio_Content_List call is assigned to a thread for processing, freeing CPU 214 for other processing tasks.
  • First HTTP processor API 404 receives the thread and initiates the retrieval of the list of media services from first media content aggregator 102.
  • Step 704 entails a request for a second list of media service available from a second media content aggregator 102.
  • CPU 214 executes a second Iradio Set Service call that builds a set of commands for accessing second content aggregator 102 (in accordance with FIGS. 3 and 4 described above).
  • An lradio_Content_List call is then assigned to a second thread, which is received by second HTTP processor API 404 that accesses and retrieves the list of media services from second content aggregator 104.
  • the first and second HTTP processor API 404 are the combined into one HTTP processor unit 404, which may be contained within CPU 214.
  • Step 706 the first HTTP processor API 404 performs a
  • Get command (e.g., HTTP Get Command) used to request the list of media services from first content aggregator 102.
  • the Get command is transmitted as a HTML or XML based request.
  • Step 708 involves the response to the Get command by first content aggregator 102.
  • first content aggregator 102 transmits a list of media service to first HTTP processor API 404 that determines the integrity of the list (e.g., does the list comply with a format recognized by first HTTP processor API 404?).
  • the Get command in step 706) is repeated a predetermined number of times, before first HTTP processor API 404 times out and returns an error message to CPU 214.
  • first HTTP processor API 404 collects data comprising the list of media services from first content aggregator and forwards the list to content adapter 406 for additional processing.
  • Step 712 content adapter 406 receives the list of media services and invokes the appropriate transformation routine (e.g., converting the received list into the internal format of the invention via lookup tables) to create a common (internal) content list data structure containing genres and sub-genres of media services.
  • This common content list may be used to generate a viewable list of media service that is displayed on display device 222.
  • the genres and sub-genres of media services are determined by metadata within the list of media services, or by matching the metadata to an external database (e.g., CDDBTM and MUZETM).
  • media services may be grouped by information (metadata) such as: media service author, date of copyright, media service date of transmission, performer, title, subject, parental rating, user rating, director, producer, running length, media service transmission locator (e.g., radio station, television station, studio, etc), content aggregator subscription, and language.
  • metadata such as: media service author, date of copyright, media service date of transmission, performer, title, subject, parental rating, user rating, director, producer, running length, media service transmission locator (e.g., radio station, television station, studio, etc), content aggregator subscription, and language.
  • Step 714 CPU 214 repeats steps 706-712 for a second list of media services available from second content aggregator 102.
  • a second HTTP processor API 404 requests the second list of media services via a Get Command (step 706).
  • the second content aggregator 102 responds to the Get command (step 708).
  • the second HTTP processor API 404 collects the list of media services from second content aggregator 102 and forwards the second list to content adapter 406 for additional processing (step 710).
  • Content adapter 406 uses the common list data structure to match the media services listed in the second content list to genres and sub-genres of media types.
  • the contents of the first and second content list are then indexed into a unified content list, for example under common music genres as shown in FIG. 5 or other types of hierarchical listings using metadata attributes, as described above.
  • the unified content list is presented to the user on display device 222.
  • Each item in the unified content list has a content identifier that uniquely identifies the content and its source.
  • Content adapter 406 passes this identifier to CPU 214 when a media service is selected for retrieval.
  • CPU 214 then retrieves and plays back the media service, in accordance with the method described in FIG. 6 above.
  • FIG. 5 An example of merged content selections in the form of a unified list is displayed in FIG. 5.
  • the genres and the sub-genres of media services available from the content aggregators are downloaded into data memory 218, and are manipulated preferably by a subroutine of the XML parser 408.
  • a first content aggregator 102 has a listing of media services 510 grouped by music genres and related sub-genres (e.g., jazz, a music genre, has the sub-genres of Brass, Suncoast Sound, and Trios).
  • Second content aggregator 102 has a listing of media services 520 grouped by music genres with related sub-genres (e.g., jazz, a music genre, with the sub-genre of Acid jazz).
  • XML parser 408 groups the related genres together and into a format shown in unified content aggregator list 530 (e.g., jazz has the combined sub- genres from the two content aggregators being Acid jazz, Brass, Suncoast Sound, and Trios). This format is then outputted to display device 222, and the music services are selected via input device 224 for playback through audio speaker 220.
  • FIG. 8 describes an exemplary embodiment of the invention that allows for a device connected on a network to control and receive secondary media services available through content aggregator 102.
  • the device connected to the network conforms to a predetermined protocol (e.g., Universal Plug and Play, IEEE 802.1 1 , BLUETOOTH ® , IEEE-1394) permitting the device to recognize and utilize features of other equipment on the network that conform to the predetermined protocol.
  • a primary media service is a media service that natively exists in a device, for example external device 820 (a stereo receiver) plays audio received as radio waves received through antenna 822 that are demodulated by tuner 824 for playback through audio speaker 818.
  • a secondary media service is a media service that originates in other equipment that is accessed and controlled through a network connection by a device on the network; for example receiver 820 receives and controls a streaming audio broadcast (secondary media service) from content aggregator 102 through cable set top box 204.
  • the set top box 204 offers the secondary media services as ContentDirectory 806 services (hardware or software that lists the available media services) that are indexed and managed through the operation of the predetermined protocol.
  • Receiver 820 communicates via the predetermined protocol to set top box 204 through a network or wireless connection.
  • Set top box 204 also connects to content aggregator 102 through communications network 1 10, whereby content aggregator 102 has secondary media services (e.g., streaming audio and video, MP3, compact disc music, broadcast video) available.
  • content aggregator 102 communicates to set top box 204 through a TCP/IP based connection through hardware services module 802.
  • Hardware services module 802 is a modem or other type of bi-directional communications device with serial, parallel, Ethernet, or other connecting interface.
  • Hardware services module 802 also controls the video programming displayed on television 208 connected to set top box 204.
  • Control point 810 a controller (e.g., computer, microprocessor, or software driver) connected to set top box 204, requests a listing of media services available from content aggregator 102 through set top box 204.
  • This request is received by ContentDirectory 806 that in turn issues a List_Content_Call (from step 306) to the stream API 804, as described above in FIG. 4.
  • set top box 204 receives listings of media services from a plurality of content aggregators 102 preferably as XML or HTML based documents.
  • the listing of the media services received by stream API 804 is processed and transferred to the ContentDirectory services 806.
  • the ContentDirectory service 806 formats the listing of media services from XML in accordance with a predetermined format and indexes the listing for access by other equipment that conform to the predetermined format.
  • Control point 810 transmits a command to set top box 204 to display the available media services on a display device (television 208).
  • the control point 810 uses the display services routines of the predetermined protocol and requests the list of media services from set top box 204.
  • set top box 204 takes delivery of the request and transfers the listing of media services residing in the ContentDirectory services 806.
  • Control point 810 receives and formats the media service list as HTML code that is sent to hardware services 802 that renders the HTML for display on connected television 208.
  • the rendered HTML code is displayed as a combination of text and graphics that may be used as an electronic programming guide, as in FIG. 1 1 described above.
  • Control point 810 is also enabled to control and transmit other services 808 such as additional media services, or Internet based material that does not come from content aggregator 102, such as an electronic program guide, electronic mail, and purchasing a selected media service (as a CD or cassette tape) through an online store via user selection device 826.
  • additional media services such as additional media services, or Internet based material that does not come from content aggregator 102, such as an electronic program guide, electronic mail, and purchasing a selected media service (as a CD or cassette tape) through an online store via user selection device 826.
  • a media service is selected from the listing of media services via user selection device 826 that transmits signals to control point 810.
  • user selection device 826 is remote control that uses a wire or wireless interface to communicate with control point 810, whereby television 208 displays the listing of the media services by a use of a directional pad, buttons, or knob on user selection device 826.
  • control point 810 formats and sends a request for the media service to a content aggregator 102 via hardware services module 802 and communications network 1 10.
  • Content aggregator 102 receives the request for the media service and after processing the request, transmits data comprising the media service to hardware services 802 through communications network 1 10.
  • Hardware services 802 receives data that transferred to stream API 804 that formats the data of the media service to an internal format utilized by set top box 204.
  • Control point 810 coordinates the outputting of the data comprising the media service by transmitting a request to AV transport 812 to output the media service to receiver 820.
  • AV transport 812 comprises a connection interface to an external device (as receiver 820).
  • AV transport 812 comprises software that controls the transmission of data (forming the media service) residing in buffers of the stream API 804.
  • AV transport 812 receives (from the stream API 804) and formats the data comprising the media service (into predetermined signal format for output to the receiver 820. The signal is outputted through the connection of the AV transport 812 to receiver 820.
  • AV transport 812 continuously queues the buffers of stream API 804 until the media selection is completely received or a user terminates the play of the selection.
  • Receiver 820 receives the output signal through AV transport 814 via the connection interface with set top box 204.
  • AV transport 814 forwards the signal to hardware services 816 for processing.
  • Hardware services 816 then transfers the processed signal to audio speaker 818 for audio playback.
  • the external device has built in tuner 824 that receives RF based radio signals from antenna 822.
  • Tuner 824 demodulates and decodes radio signals for playback on the connected audio speaker 818.
  • the external device automatically interrupts the playback of tuner 824 when hardware services 816 receives and outputs the processed signal.
  • the playback of the radio signals received through tuner 824 is resumed when the selected media service is terminated or completed.
  • forms of other delivery systems delivering media services available from content aggregators may benefit from the present invention.
  • a satellite radio broadcast with multiple media services available may have its selections combined with the available media services through a set top box cable interface, to form a unified listing of media services.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Tourism & Hospitality (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

A method for generating a unified list of media services available form a plurality of content aggregators having different data formats. A first list of media services from a first content aggregator (102) is transmitted to a playback device (202). A second list of media services from a second content aggregator (102) is also transmitted to the playback device (202), which combines both lists into a unified list of media services. The method optionally details the playback of a media service from said plurality of content aggregators via a selection made on the unified list to a playback device.

Description

A Method and Apparatus for Acquiring Media Services Available from Content
Aggregators
[0001] This invention is related to the field of indexing, acquiring, and playing media services, particularly media services in the form of streaming media available from a plurality of content aggregators.
[0002] Listening to radio broadcast programming, such as music, news, and talk shows, is a commonly enjoyed form of media entertainment that are typically sent as radio transmissions through the airwaves. [0003] Radio transmissions have problems that arise due to the inherent physical limitations of using radio waves. For example, radio waves lose power the further they are from their broadcast source, whereby it becomes difficult for a receiver to reliably receive and demodulate a broadcast from a long distance. This limitation makes it difficult for listeners to receive their favorite stations if outside of a geographic region (e.g., a person who lives in Boston typically can not receive a radio broadcast from Los Angeles). Additionally, the frequencies of radio broadcasts have to be tightly controlled because the airwaves can only accommodate a finite number of electronic-magnetic waves before interference results. [0004] The limitations of broadcasting via radio waves are overcome by using alternative broadcasting techniques. One approach transmits radio station broadcasts as satellite transmissions that are received through a satellite dish coupled to an audio decoder. Satellite broadcasts have a further geographic range than radio wave based transmissions. Also, satellite transmissions can accommodate more radio stations broadcasts than broadcasted as radio waves, by using techniques as multiplexing and data compression increasing the bandwidth efficiency of a transmission. Satellite broadcasts are limited in programming choices available, because the radio stations are selected by satellite broadcasters and broadcasting via satellite is cost prohibitive, which may underrepresent the broadcasting choices available from small media markets. [0005] The amount of programming choices available to a listener (or viewer) has increased since the development of radio and video transmissions through a communications network such as the Internet. Radio and video services (referred to as media services) that were otherwise limited by geographic bandwidth or other constraints are broadcasted around the world via the Internet. Any user who possesses a connection to the Internet and an Internet enabled device (computer, cellular phone, MP3 music player, Internet appliance, satellite receiver) can receive a media service broadcasted in the form of streaming media. The media service is encoded and compressed, typically by a computer, into packets that conform to a transport protocol, such as TCP/IP. The packets are routed to a listener's device through the Internet, in that software on the listener's decoding device (e.g., a computer with a media player as REALPLAYER™, MACROMEDIA PLAYER™, and MP3PRO™) decompresses and decodes the packets into an audio/video signal for playback on an output device (computer, receiver, stereo, television set).
[0006] The Internet provides a listener with the ability to access thousands of media services. The music genres available to a user are equally as expansive, as a user can select to hear a sub-genre of a music genre (e.g., a rock and roll station "music genre" that plays 1980's new wave music "sub-genre"). The listener also can manipulate the songs (media objects) or content heard into a playlist, which is organized by the preferences of the listener. These broadcasts are accessed choosing a link (uniform resource indicator URI) to a music file on a website or by using a media player that receives streaming feeds of media services. Within all of these customizable options, it is difficult for a user to find all of the media services available because the content on the Internet is chaotically organized.
[0007] One development for organizing media services available through the Internet is the use of a tuning service or a media subscription service. These type of services (alternatively known as content aggregators), such as MUSICMATCH™, LIVE365™, and STREAMWAVES™ bring together a plurality of media services to a common point or interface (e.g., a website, a streaming media player with channels) with an architecture where a user selects media services from categories including genre and performer. A tuning service is typically proprietary to protect the copyrighted material comprising media services and requires an interface to successfully use the tuning service to playback an available media service. The restrictions of using a proprietary tuning service typically limits a user from activating media services available from different content aggregators, without switching to an additional device.
[0008] In accordance with the principles of the present invention, a method and apparatus are disclosed that enable the indexing and acquisition of media services from a plurality of content aggregators. A listing of media services is generated by the indexing of available media services from the plurality of content aggregators. The method and apparatus also describe the retrieval and output of a selected media service available from the plurality of content aggregators to a playback device.
Brief Description of the Drawings
[0009] FIG. 1 is a diagram of audio and video based media services that are aggregated by a content aggregator. [0010] FIG. 2 is a diagram of an Internet connection between devices using the invention and a plurality of content aggregators.
[0011] FIG. 3 is a flowchart of formatting a request to a content aggregator.
[0012] FIG. 4 is a block diagram of requesting a content list from a content aggregator.
[0013] FIG. 5 is a diagram of audio based media services available from a plurality of content aggregators indexed into a unified content list.
[0014] FIG. 6 is a block diagram of requesting and acquiring a media service from a content aggregator. [0015] FIG. 7 is a flowchart of a synchronous usage model requesting and acquiring music services from a content aggregator
[0016] FIG. 8 is a diagram of requesting and acquiring music services from a plurality of content aggregators by using a control point. [0017] FIG. 9 is a diagram of a content list of media services a playback device receives from a content aggregator as computer code.
[0018] FIG. 10 is a diagram of a content list of media services formatted to the internal data structure of a playback device by a content adapter. [0019] FIG. 1 1 is a display of a content list of media services formatted into a menu by a XML parser.
[0020] In FIG. 1 , a composition of media services available to a content aggregator 102 is shown. Audio based media services, as audio website 1 04, radio station 106, music service 108, originating as audio based feeds (e.g., music, talk radio show, streaming media files, baseball game, audio from a television program, audio books), and video station 109 (e.g., CNN®, ABC®, DIRECTV®) are media services available to content aggregator 102 through communications network 1 10 (e.g., Internet, Public Switched Telephone Network (PSTN), Local Area Network (LAN), wireless network, Digital Subscriber Line (DSL), peer to peer network). Preferably, the media services are coupled to content aggregator 1 02 via communications network 1 10 with the media services transmitted as packets conforming to a TCP/IP protocol. Optionally, content aggregator 102 receives audio and video feeds that are transmitted through a wireless interface (radio frequency, microwaves, infrared) or receives media objects (e.g., audio-video files that are pre-recorded or real time feeds transmitted as streaming media) that are stored locally at the site of the content aggregator 102 (such as in a hard disk drive, optical storage, removable storage device, or magnetic tape). [0021] The media services available for transmission comprise audio and video feeds. Audio website 104 is an Internet based website that comprises audio based media services that are transmitted in the form of streaming media or are computer files partially or completely transmitted. Optionally, the media services may purport to a type of media file format (e.g., REALAUDIO®,
REALMEDIA®, APPLE QUICKTIME®, MICROSOFT® WINDOWS MEDIA™ FORMAT, MPEG-2 LAYER III AUDIO, and MP3®) that is played back via a media player (REALPLAYER®, WINAMP®, and MICROSOFT® WINDOWS MEDIA™ PLAYER ). Radio station 106 is a content provider that broadcasts radio programs as audio based streamed media services. The broadcasts may be live or prerecorded.
Music service 108 is a media service that is subscription based (e.g., MUSAK®, MUSIC CHOICE® ) that broadcasts programming as an audio based media service available through the content aggregator 102. Video feed 109 is a media service that is transmitted from a television station (e.g., CNN, ABC ) or as a video service (e.g., a movie on demand) available to content aggregator 102.
[0022] In accordance with the principles of the present invention, content aggregator 102, in an alternative embodiment, exists as a web resource (e.g., website, index, catalog) that comprises Uniform Resource Indicators (URIs) that link to the location of media services. A playback program (e.g., a streaming media player) directly accesses a media service at its listed location (by using the listed link) instead of receiving the media service directly from content aggregator 102. Content aggregator 102 may comprise an index of links to the location of media services and may have media services that are transmitted directly from content aggregator 102.
[0023] Uniform resource indicators (URIs) are a universal set of names that refer to existing protocols or name spaces that identify resources (e.g., website, streaming media server,), services (e.g., videos on demand, internet radio), devices (e.g., mobile phone, internet enable appliance), and data files (e.g., media files and text documents). A URL is a form of a URI that expresses an address that maps to an access algorithm using network protocols (e.g., TCP/IP or a MPEG transport scheme). When a URL is used, a specific resource, service, device, or data file may be accessed and/or manipulated. An alternative form of a URI known as an Internet protocol number or address (IP) is a series of numbers that refers to a specific resource, service, or data file. Optionally, a URL is mapped to an IP number, typically through a Domain Name Server (DNS), that provides two ways to access a desired resource (e.g., a resource is accessed either by using the domain name www.whitehouse.gov or the IP address 1 98.1 37.240.91 ).
[0024] FIG. 2 illustrates a connection between Internet enabled devices (a playback device 202, cable set top box 204, computer, cellular phone, MP3 player, video game system) and a plurality of content aggregators. Content aggregator 102 receives audio based media services from audio website 104 and radio station 106. An Internet enabled device, such as playback device 202, accesses content aggregator 102 via a communications network 1 10 (e.g., Internet).
[0025] Playback device 202 communicates with content aggregator
102 to request a listing of media services available from content aggregator 1 02 and to receive media services selected from the list of media services. Preferably, the communications are procedural calls and requests comprising computer commands, for example hypertext markup language (HTML) or extensible markup language (XML) based requests, transported as packets adhering to a transport structure (e.g., Transmission Control Protocol/ Internet Protocol (TCP/IP)) through communications network 1 10. The procedural calls are formatted through the use of an application programming interface (API) . This interface comprises a series of functions that are used by a program or device to initiate a specific action (for example, an Internet enabled device uses an audio API to control a soundcard for the playback of an audio based media service).
[0026] Playback device 202, as an Internet enable device, contains hardware and software (APIs and program subroutines) for communicating and interacting with content aggregator 102. Preferably, playback device 202 comprises central processing unit (CPU) 214, program memory 216, data memory 218, an audio speaker 220, display device 222, and input device 224. CPU 214 (a computer processor) processes audio services received from the content aggregator 102, received via communications network 1 10. CPU 214 is coupled to data memory 218 that stores data received from the content congregator 102 and selected media services. Program memory 216, connected to CPU 214, stores programming instructions and APIs used to communicate with and process the media services obtained from content aggregator 102.
[0027] Display device 222 displays the program genres and sub- genres of audio based media services available from content aggregator 102. Preferably, display device 222 is a television display, LED display, or LCD display. The genres and sub-genres are selected by using input device 224 by engaging a button, dial, or touch screen interface, or other tactile mechanism available on input device 224. CPU 204 requests (via a command such as a computer command or a procedural call) an audio based media service (in this example from a radio station 106) through content aggregator 102, after the media service was selected via input device 224. Content aggregator 102 receives the request from playback device 202 and, in response, sends the selected media service to playback device 202 in the form of a packetized transmission. Playback device 202 processes the media service and outputs the results through connected audio speaker (loudspeaker) 220. In an alternative embodiment, the selected media service is video based and is outputted to display device 222.
[0028] Set top box 204 is an Internet enabled device that receives audio and video based media services from, for example, cable or broadcast television stations. Preferably, set top box 204 is a conduit for media services that are multi-threaded or multiplexed by set top box 204 to devices that are not Internet enabled (e.g., stereo receiver 206 and television audio output 208). For example, set top box 204 receives a classical music based media service, which set top box 204 sends to stereo receiver 206. At the same time, set top box 204 receives a newscast media service that is transmitted to coupled television 208. Optionally, set top box 204 transmits audio services to an attached data network 210 (e.g., Ethernet network, wireless RF network, power line based network, or infrared network) that is connected to output device 212 (connector or audio speaker) that outputs the media services as a signal.
[0029] Multi-threading operates by set top box 204 dividing up its processing tasks (housekeeping tasks, data retrieval, processing data, outputting data) into a number of timeslots. Each processing task is allocated a number of timeslots. Processing tasks of a high priority (playback of a media service) receive a larger number of timeslots than other processing tasks (updating the display of available media services). The times slots as allocated in accordance with a predetermined procedure. In the current example, set top box 204 divides each second into ten timeslots: four timeslots are allocated for the classical music media service, four timeslots are for the newscast media service, and the remaining two timeslots are for housekeeping procedures. Set top box 204 then processes the media services and performs housekeeping tasks in accordance with the timeslots allocated. An embodiment of the invention supports that time slots durations may be unequal or equal amounts of time.
[0030] FIG. 3 shows a flowchart of a method of configuring a device
(playback device 202 or set top box 204) to the same data format as content aggregator 102 for acquiring and outputting selected media services. In the preferred embodiment, playback device 202 communicates with a content aggregator 102 through communications network 1 10 in accordance with computer instructions controlling the CPU 214. The computer instructions comprising an API operating through specific procedural calls. The API requests parameters from content aggregator 102 via a Set Service Call in step 302. The parameters transmitted to playback device develop a data and communication structure used by playback device 202 to communicate with content aggregator 102. The communication structure is the format used to communicate data between playback device 202 and content aggregator 102. Preferably, the playback device 202 conforms with TCP/IP, Open Systems Interconnection (OSI) protocol, 3G, or WAP based transport protocols architectures. Accordingly, playback device 202 determines the communications structure of content aggregator 102 by using a handshake process and receiving data back that comports to a predetermined communications structure. Also, playback device 202 passively receives a data stream from content aggregator 102, whereby playback device 202 determines the communication structure based upon key attributes that exist in the data stream. For example, playback device 202 reads a header of a received data packet and determines that the data packet comports to a MPEG transport and data scheme.
[0031] For example, a sample data structure comprises media service menus, the locations (URIs) and types of media service formats (Real Audio, Microsoft Media Player, MP3) available from the providers of the media services that correspond to a style sheet Playback device 202 receives the style sheet from content aggregator 102 and formats incoming and outgoing data accordingly. Preferably, the determination of data structure comprises a document object model (DOM) comprising three levels. Level 1 establishes the format governing the exchange of data (e.g., XML and HMTL). Level 2 controls presentation and manipulation of data being transmitted (using style sheets). Level 3 defines a content model (e.g., data variables and metadata fields) and events used for a document (function key F12 saves a document). Optionally, Multipurpose Internet Mail Extensions (MIME) compliant classes and object types are used to define the objects available. Playback device 202 stores data structure parameters from content aggregator 102 into the program memory 216, in step 304, and formats future communications with the content aggregator 102 accordingly.
[0032] The use of a DOM allows playback device 202 to support new document types and media formats as multimedia standards adjust. For example, a new content aggregator uses a new multimedia player to play back available media services. Playback device 202, when requesting a media service from the new content aggregator, will read the corresponding DOM and locate the new multimedia player (either by a embedded locator in the DOM or by referring to an external database). Playback device 202 then requests a codec (update) for the new media player, which is stored once the codec is received. The media service is ready to be outputted by playback device 202 using the new media player.
[0033] With the data structure parameters stored, playback device
202 requests a content list of media services from content aggregator 102 via a List Content Call issued by CPU 214, .in step 306. As displayed in FIG. 4, the List Content Call comprises an Iradio API 412 that initiates an Iradio Request API 402 (stored in program memory 216) that allocates and manages the internal resources used for the content list request. Preferably, CPU 214 designates operational cycles for the content list request and designates space in the data memory 218 for the storage of a content list. Optionally, Request API 402 manages multiple requests for content lists from a plurality of content aggregators 102, simultaneously.
[0034] CPU 214 then issues a HTTP processor API 404 subroutine that controlling the communication transmissions with content aggregator 102. HTTP processor API 404 functions in accordance with the parameters stored in step 302 by managing the connection, communications, and HTTP protocol exchange with the content aggregator 102. This includes all processing related to HTTP URI redirection, error recognition, and response classification as a standard response to a stream comprising a media service. HTTP processor API 404 transmits the content list request to content aggregator 102 via communications network 1 10. Content aggregator 102 responds by transmitting a content list of available media services received through HTTP processor API 404.
[0035] After receiving the content list, preferably in a predetermined format, CPU 214 initiates content adapter 406 routine that formats the received content list to an internal format of data and an internal data structure used by playback device 202. For example, CPU 214 uses a XML (internal format of data) based document type definition (DTD) that predefines the internal data structure (data fields) used for playback device 202. Data received from the content aggregator 102, in a XML format, is directly matched to the data fields defined by the DTD. If the data received from content aggregator 102 does not comply with the internal data format (XML), content adapter 406 formats the data into XML, preferably by the use of translation tables, and associates the formatted data into the internal data structure (DTD) of playback device 202. Optionally, the formatted data and data received from content aggregator 102 are stored in data memory 218. Also, the DTD is updateable (for example, an update sent as a style sheet via the Internet 1 10 overwrites an existing DTD).
[0036] XML parser 408 receives the XML based data from the content adapter 406 (or from the data memory 218), and maps the XML based data to preselected menu elements that are displayed and manipulated by a user. The data mapping accomplished via a data table that indicates which variables from the internal data structure are mapped to preselected menu elements.
[0037] FIG. 9 is a diagram of a content list of media services 900 (in
XML format) the playback device 202 receives from content aggregator 102. FIG. 10 is a display of a content list of media services 1000 formatted to the internal data structure of the playback device 202 by the content adapter 406. FIG. 1 1 is a display of a content list of media services 1 100 formatted into a menu by the XML parser 408.
[0038] As an exemplary embodiment, data formatted by the XML parser 408, is displayed as a hierarchical menu on display device 222. The hierarchical menu lists fields that are either preselected or designated by a user (sample fields are media service, title, media type, performer, content aggregator source, etc.). For example, a "top" level of the menu is displayed by genre (e.g., talk show, music, news, sports talk, mystery, soap opera, etc.). When a user selects a genre listed on the "top" menu level via input device 224, content data procedure 410 initiated by CPU 214 checks data memory 218 if there are any sub-genres or available media services listed in association with the selected genre. Alternatively, content data procedure 410 issues an additional content list call 401 to content aggregator 102 for more information that is associated with the selected genre (repeating the steps discussed above). Content data procedure 410 generates and displays from the associated data a "second" level menu listed underneath the "top" level. The user then makes a selection from the "second" level, and content data procedure 410 continues to issue content list calls 401 , until the user selects a media service for playback.
[0039] After a media service is selected via input device 224 (e.g., from a hierarchical menu or a listing of available media services), CPU 214 issues an lradio_Stream_Contents_call API, in step 308, to retrieve the selected media service from the content aggregator 102. The lradio_Stream_Contents_call API, as displayed in FIG. 6, begins with a Stream Request Call 602 that determines a location of the requested media service (preferably the media service's URI) either through data returned from the lradio_List_Content_Call (in data memory 218) or through other means (e.g., as requesting the location of the media service from the content aggregator 102). Optionally, lradio_Stream_Contents_call API 308 supports asynchronous (multiple) requests for media services via the multithreading capability described above.
[0040] Once the location of the selected media service is known, the
CPU 214 issues an Iradio API 412 that starts with the Request API 402 subroutine for allocating and managing resources used for the Stream Request Call 602. HTTP processor API 404 is issued, as part of Iradio API 412, to connect to the location of the selected media service via the communications network 1 10. The connection to the location of the media service is a direct connection (website, storage device, cellular network, etc.), a connection made through content aggregator 102 to the location of the media service, or a connection that is redirected to the location of the media service. HTTP processor API 404 also manages the details of locating stream data in the response that comes from the requested media service's location. The request for a media service is preferably made as a HTTP or MIME compliant request containing information about the resources required to playback the media service (such as a media player). Along with standard HTTP redirect processing, HTTP processor API 404 analyzes the HTTP response header to determine whether the response is a stream, media file, or other type of multimedia format (e.g. a REALPLAYER® based stream, a non-streamed MP3 file, or a video signal). Once the determination is made, HTTP processor API 404 accepts data comprising the selected media service.
[0041] As the data comprising the media service is transmitted to playback device 202, HTTP processor 404 routes the data to buffer 604 (contained in data memory 218). Buffer 604 preferably outputs data in a first in first out (FIFO) scheme. Optionally, buffer 604 comprises a plurality of memory banks that queue data in accordance with a predetermined method (e.g., shared memory, memory interleaving, memory address cycling, etc.) enabling the request and delivery of multiple media services via the multithreading capability discussed above.
[0042] Content adapter 406 accesses and processes the data comprising the media service that is stored in buffer 604. Preferably, the processing of media service data depends upon information that is contained in the response header or footer of the media service data (e.g., indicating the format of the media service, the corresponding playback application 608, output requirements of the media service). Processing examples performed by the content adapter 406 include decompressing the data, analyzing metadata in the media service data (e.g., metadata that describes the media service), or applying preselected audio or video effects.
[0043] The media service data, once processed, is sent to player application 608 (media player) that outputs or "plays" media service data in, step 310. The player application is a media complaint decoder (e.g., REALPLAYER, MPEG-1 Layer-3, MICROSOFT MEDIA PLAYER, QUICKTIME, MPEG-4, DivX) that decodes the media service data into a decoded audio/video signal that is ready for output to a media device (e.g., audio speaker, video screen, audio/video receiver, transmission device).
[0044] Player application 608 will keep playing the media service until the content adapter 406 runs out of data received from buffer 604 (starting playback of another media service), or the media service is terminated via a return code in step 312, whereby the media service is told to stop transmitting. Preferably, the return code is issued from content adapter 406 to HTTP processor 404 that sends a "cancel" command to the location of media service via the communications network 1 10 to terminate the transmission of media service data. The return code results from sources including, as examples, a user issuing a cancel command, an overflow/underflow error, not enough available memory, network congestion, output device not connected, etc. Optionally, CPU 214 has diagnostic circuitry that recognizes an error that results in the cancellation of the transmission of a media service via a return code.
[0045] As described above, an embodiment of the invention breaks up the processing demands of service requests, I/O (Input and Output) routines, and data conversion into distinct threads. The threads are dynamically categorized and allocated computer resources (by a predetermined method), in order to fulfill desired requests and housekeeping routines for the invention. The benefit of this approach is that requests can be processed by a system in accordance with this invention simultaneously, without the conflicts or delays induced by the processing of other requests.
[0046] In addition, the use of threads to process API requests allows application designers to choose whether or not they want to use synchronous or asynchronous interfaces to implement API services. This feature provides for APIs to be implemented within a vast majority of programs without forcing application designers to develop infrastructure around the API for managing its service characteristics. [0047] The threads communicate with each other via a unique memory buffer queue that resides in data memory 218. The threads put and retrieve buffers (in data memory 218) from named queues, and when done with a buffer, release the buffer to a buffer pool comprising a plurality of buffers. The buffer queue enables the invention to designate specific threads to specific buffers, optimizing the storage and access of media service data when processing multiple media services.
[0048] Access to the memory buffer queue's data structure is protected by semaphore primitives, which may be implemented as a binary flag. The use of semaphore primitives allow for the media service data to be shared across threads without corruption of the data management structures. For example, when a thread requests a buffer from the memory buffer queue, all management of data structures that track the queue buffer are performed after locking a semaphore primitive that guarantees exclusive access to the data structures.
[0049] Queue retrievals of data from the memory buffers (in data storage 218), supports both a blocking and a non-blocking mode. In the blocking mode, the thread will stop processing and wait on the buffer to be presented, which could be an indeterminate amount of time. This blocking mechanism allows CPU 214 resources to be balanced across the threads. For example, the content adapter will process a buffer and send the buffer to the player application via a queue that empties the buffer. When the buffer is waiting to be filled, the content adapter will ignore (block) the buffer until it is filled by the I/O thread, freeing up the content adapter to access other filled buffers. The non- blocking mode accesses a memory buffer whether it is filled or empty (reducing the content adapter's efficiency).
[0050] As described in step 310, the invention optionally operates in a synchronous or asynchronous mode. Preferably, in accordance with the principles of the present invention, the asynchronous mode operates with callback functions, whereby the CPU 214 initiates a process (API) and designates the process to a specific thread. CPU 214 also designates a corresponding callback function for the procedure that terminates the procedure (API) when the callback function is returned to CPU 214. For example, when an lradio_List_Content_Call 306 (requesting a list of media services) is initiated by CPU 214, a thread and a callback function are issued by CPU 214 that corresponds to the procedure. As the thread corresponding to the procedure is executed, the callback function is passed to a pointer that responds to a predetermined condition specified for the procedure (e.g., the transmission of the content list from content aggregator 102 triggers the callback function back to CPU 214). During this time, additional procedures run on other threads. The pointer, after the condition is met, issues a callback function to CPU 214 that terminates the thread executing the procedure.
[0051] Alternatively, the synchronous usage model does not utilize callback functions. The functionality is the same of the asynchronous mode, but only a single (current) procedure is run at a time, effectively blocking all other procedures until the current procedure is serviced or an error results (terminating the current procedure). CPU 214 begins a "new" procedure after the current procedure terminates and memory space in data memory 218 is cleared with a release command (ReleaseRespond).
[0052] FIG. 7 displays an embodiment of the invention for combining the list of media services available from two content aggregators 102. Step 702 begins with a request for a list of media services by CPU 214 to a first media content aggregator. CPU 214 executes an lradio_Set_Service call that builds a set of commands used to access first content aggregator 102 (in accordance with FIGS. 3 and 4 described above). A follow-up lradio_Content_List call is assigned to a thread for processing, freeing CPU 214 for other processing tasks. First HTTP processor API 404 receives the thread and initiates the retrieval of the list of media services from first media content aggregator 102.
[0053] Step 704 entails a request for a second list of media service available from a second media content aggregator 102. CPU 214 executes a second Iradio Set Service call that builds a set of commands for accessing second content aggregator 102 (in accordance with FIGS. 3 and 4 described above). An lradio_Content_List call is then assigned to a second thread, which is received by second HTTP processor API 404 that accesses and retrieves the list of media services from second content aggregator 104. Optionally, the first and second HTTP processor API 404 are the combined into one HTTP processor unit 404, which may be contained within CPU 214.
[0054] In Step 706, the first HTTP processor API 404 performs a
Get command (e.g., HTTP Get Command) used to request the list of media services from first content aggregator 102. Preferably, the Get command is transmitted as a HTML or XML based request.
[0055] Step 708 involves the response to the Get command by first content aggregator 102. Preferably, first content aggregator 102 transmits a list of media service to first HTTP processor API 404 that determines the integrity of the list (e.g., does the list comply with a format recognized by first HTTP processor API 404?). Alternatively, if the list of media services is corrupted, the Get command (in step 706) is repeated a predetermined number of times, before first HTTP processor API 404 times out and returns an error message to CPU 214. In Step 710, first HTTP processor API 404 collects data comprising the list of media services from first content aggregator and forwards the list to content adapter 406 for additional processing.
[0056] Step 712, content adapter 406 receives the list of media services and invokes the appropriate transformation routine (e.g., converting the received list into the internal format of the invention via lookup tables) to create a common (internal) content list data structure containing genres and sub-genres of media services. This common content list may be used to generate a viewable list of media service that is displayed on display device 222. Preferably, the genres and sub-genres of media services are determined by metadata within the list of media services, or by matching the metadata to an external database (e.g., CDDB™ and MUZE™). In accordance with the principles of the present invention, media services may be grouped by information (metadata) such as: media service author, date of copyright, media service date of transmission, performer, title, subject, parental rating, user rating, director, producer, running length, media service transmission locator (e.g., radio station, television station, studio, etc), content aggregator subscription, and language.
[0057] In Step 714, CPU 214 repeats steps 706-712 for a second list of media services available from second content aggregator 102. A second HTTP processor API 404 requests the second list of media services via a Get Command (step 706). The second content aggregator 102 responds to the Get command (step 708). The second HTTP processor API 404 collects the list of media services from second content aggregator 102 and forwards the second list to content adapter 406 for additional processing (step 710). Content adapter 406 uses the common list data structure to match the media services listed in the second content list to genres and sub-genres of media types. The contents of the first and second content list are then indexed into a unified content list, for example under common music genres as shown in FIG. 5 or other types of hierarchical listings using metadata attributes, as described above.
[0058] The unified content list is presented to the user on display device 222. Each item in the unified content list has a content identifier that uniquely identifies the content and its source. Content adapter 406 passes this identifier to CPU 214 when a media service is selected for retrieval. CPU 214 then retrieves and plays back the media service, in accordance with the method described in FIG. 6 above.
[0059] An example of merged content selections in the form of a unified list is displayed in FIG. 5. The genres and the sub-genres of media services available from the content aggregators are downloaded into data memory 218, and are manipulated preferably by a subroutine of the XML parser 408. For example, a first content aggregator 102 has a listing of media services 510 grouped by music genres and related sub-genres (e.g., Jazz, a music genre, has the sub-genres of Brass, Suncoast Sound, and Trios). Second content aggregator 102 has a listing of media services 520 grouped by music genres with related sub-genres (e.g., Jazz, a music genre, with the sub-genre of Acid Jazz). XML parser 408 groups the related genres together and into a format shown in unified content aggregator list 530 (e.g., Jazz has the combined sub- genres from the two content aggregators being Acid Jazz, Brass, Suncoast Sound, and Trios). This format is then outputted to display device 222, and the music services are selected via input device 224 for playback through audio speaker 220.
[0060] FIG. 8 describes an exemplary embodiment of the invention that allows for a device connected on a network to control and receive secondary media services available through content aggregator 102. The device connected to the network conforms to a predetermined protocol (e.g., Universal Plug and Play, IEEE 802.1 1 , BLUETOOTH®, IEEE-1394) permitting the device to recognize and utilize features of other equipment on the network that conform to the predetermined protocol. A primary media service is a media service that natively exists in a device, for example external device 820 (a stereo receiver) plays audio received as radio waves received through antenna 822 that are demodulated by tuner 824 for playback through audio speaker 818. A secondary media service is a media service that originates in other equipment that is accessed and controlled through a network connection by a device on the network; for example receiver 820 receives and controls a streaming audio broadcast (secondary media service) from content aggregator 102 through cable set top box 204. In this example, the set top box 204 offers the secondary media services as ContentDirectory 806 services (hardware or software that lists the available media services) that are indexed and managed through the operation of the predetermined protocol.
[0061] Receiver 820 communicates via the predetermined protocol to set top box 204 through a network or wireless connection. Set top box 204 also connects to content aggregator 102 through communications network 1 10, whereby content aggregator 102 has secondary media services (e.g., streaming audio and video, MP3, compact disc music, broadcast video) available. Preferably, content aggregator 102 communicates to set top box 204 through a TCP/IP based connection through hardware services module 802. Hardware services module 802 is a modem or other type of bi-directional communications device with serial, parallel, Ethernet, or other connecting interface. Hardware services module 802 also controls the video programming displayed on television 208 connected to set top box 204.
[0062] Control point 810, a controller (e.g., computer, microprocessor, or software driver) connected to set top box 204, requests a listing of media services available from content aggregator 102 through set top box 204. This request is received by ContentDirectory 806 that in turn issues a List_Content_Call (from step 306) to the stream API 804, as described above in FIG. 4. Optionally, set top box 204 receives listings of media services from a plurality of content aggregators 102 preferably as XML or HTML based documents. The listing of the media services received by stream API 804 is processed and transferred to the ContentDirectory services 806. Additionally, the ContentDirectory service 806 formats the listing of media services from XML in accordance with a predetermined format and indexes the listing for access by other equipment that conform to the predetermined format.
[0063] Control point 810 transmits a command to set top box 204 to display the available media services on a display device (television 208). The control point 810 uses the display services routines of the predetermined protocol and requests the list of media services from set top box 204. Also, set top box 204 takes delivery of the request and transfers the listing of media services residing in the ContentDirectory services 806. Control point 810 receives and formats the media service list as HTML code that is sent to hardware services 802 that renders the HTML for display on connected television 208. Preferably, the rendered HTML code is displayed as a combination of text and graphics that may be used as an electronic programming guide, as in FIG. 1 1 described above. Control point 810 is also enabled to control and transmit other services 808 such as additional media services, or Internet based material that does not come from content aggregator 102, such as an electronic program guide, electronic mail, and purchasing a selected media service (as a CD or cassette tape) through an online store via user selection device 826.
[0064] From television 208, a media service is selected from the listing of media services via user selection device 826 that transmits signals to control point 810. Preferably, user selection device 826 is remote control that uses a wire or wireless interface to communicate with control point 810, whereby television 208 displays the listing of the media services by a use of a directional pad, buttons, or knob on user selection device 826. Once a media service is selected with user selection device 826, control point 810 formats and sends a request for the media service to a content aggregator 102 via hardware services module 802 and communications network 1 10.
[0065] Content aggregator 102 receives the request for the media service and after processing the request, transmits data comprising the media service to hardware services 802 through communications network 1 10. Hardware services 802 receives data that transferred to stream API 804 that formats the data of the media service to an internal format utilized by set top box 204.
[0066] Control point 810 coordinates the outputting of the data comprising the media service by transmitting a request to AV transport 812 to output the media service to receiver 820. Preferably, AV transport 812 comprises a connection interface to an external device (as receiver 820). Optionally, AV transport 812 comprises software that controls the transmission of data (forming the media service) residing in buffers of the stream API 804. AV transport 812 receives (from the stream API 804) and formats the data comprising the media service (into predetermined signal format for output to the receiver 820. The signal is outputted through the connection of the AV transport 812 to receiver 820. AV transport 812 continuously queues the buffers of stream API 804 until the media selection is completely received or a user terminates the play of the selection.
[0067] Receiver 820 (e.g., an audio receiver) receives the output signal through AV transport 814 via the connection interface with set top box 204. AV transport 814 forwards the signal to hardware services 816 for processing. Hardware services 816 then transfers the processed signal to audio speaker 818 for audio playback. Optionally, the external device has built in tuner 824 that receives RF based radio signals from antenna 822. Tuner 824 demodulates and decodes radio signals for playback on the connected audio speaker 818. The external device automatically interrupts the playback of tuner 824 when hardware services 816 receives and outputs the processed signal. The playback of the radio signals received through tuner 824 is resumed when the selected media service is terminated or completed.
[0068] In accordance with the principles of the present invention, forms of other delivery systems delivering media services available from content aggregators may benefit from the present invention. For example, a satellite radio broadcast with multiple media services available may have its selections combined with the available media services through a set top box cable interface, to form a unified listing of media services.

Claims

1 . A method of processing media services from a plurality of content aggregators through a communications network comprising the steps of: receiving a first media service list from a first content aggregator from a plurality of content aggregators, receiving a second media service list from a second content aggregator from said plurality of content aggregators, wherein said second media service list has a data structure incompatible with a data structure said first media service list; and translating said first media service list and said second service list into a unified media service list comprising media services available from a plurality of uniform resource locators.
2. The method of claim 1 further comprising an additional step of displaying said unified media service list.
3. The method of claim 2 further comprising additional steps of: requesting a media service displayed on said unified media service list, wherein a location of said media service is identified by a corresponding uniform resource locator from said plurality of uniform resource locators; receiving said media service; and outputting said media service.
4. The method of claim 3, wherein said media service is output from a device comprising at least one of: a portable audio device, a stereo, an Internet radio, a computer, a telephone, an Internet enabled device and a memory device.
5. The method of claim 3, wherein said output comprises a function selected from at least one of: playing, copying, and transmitting said media service to a playback device.
6. The method of claim 3, wherein said media service is in a format comprising at least one type of media extension from the group of: .ram, .rm, .rpm, .mov, .qif, .wma, .cmr, .avi, .swf, .swl, .mpg, .mpa, .mp1 , .mp2, .mp3, .m3a, and .m3u.
7. The method of claim 1 , wherein the data structure of said first content aggregator is defined by a document type definition (DTD).
8. The method of claim 1 , wherein said plurality of content aggregator comprises at least one of a website, a server, a web-enabled device, a radio, a data storage device, an on-demand subscription service, tuning service, peer to peer media service, and a broadcast service.
9. The method of claim 1 , wherein said unified media service list is the same data structure of at least one of: said first media service list, and said second media service list.
10. The method of claim 1 , wherein a third media service list is translated and merged in said unified media service list.
1 1 . The method of claim 2 wherein said unified media service list is organized by at least one of: a genre of said media service, a media service author, a copyright data, a media service date of transmission, a performer, a title, a subject, a parental rating, a user rating, a director, a producer, a running length of said media service, a media service transmission locator, a subscription service, and a language.
1 2. The method of claim 3, wherein said media service is from a content aggregator from said plurality of content aggregators.
13. The method of claim 3, wherein said media service is received from a location associated with a content aggregator from said plurality of content aggregators.
14. A method of processing received media services from a plurality of content aggregators, comprising the steps of: selecting a first media service; selecting a second media service; processing said first media service and said second media service by a device; outputting said first media service to a first playback device, and outputting said second media service to a second playback device, wherein said outputting of said first and second media services is simultaneous.
15. The method of claim 14, wherein said steps of outputting to said first and second playback devices comprises at least one of playing, copying, and transmitting a stream to said first and second devices, respectively.
16. The method of claim 14, wherein said first playback device comprises at least one of: a stereo receiver, a television audio, a home network device, a radio frequency network, a radio frequency based music decoder, set top box, and satellite radio decoder.
17. An apparatus for unifying media services available from a plurality of content aggregators, said apparatus is of the type comprising: a means for receiving identifiers (202) listing media services available from a first content aggregator (102) from a plurality of content aggregators, a means for receiving identifiers (202) listing media services available from a second content aggregator (102) from said plurality of content aggregators, wherein said second media service list has a data structure incompatible with a data structure said first media service list; and a means for translating (214) said first media service listing and said second service listing into a unified media service listing comprising media services available from a plurality of uniform resource locators.
1 8. The apparatus of claim 1 7 further comprising a means for displaying
(222) said unified media service listing.
1 9. The apparatus of claim 1 8 further comprising: a means for requesting (224) a media service displayed on said unified media service listing; a means for receiving (202) said media service; and a means for outputting (220) said media service.
20. The apparatus of claim 1 9 further comprising: a means for receiving (204) a second media service that is preselected; a means for outputting (21 2) said second media service, wherein said means for outputting (21 2) said second media service is different than said means for outputting (220) said media service.
21 . The apparatus of claim 1 9 further comprising: a means for purchasing (224) said media service.
PCT/US2002/000008 2001-01-04 2002-01-04 A method and apparatus for acquiring media services available from content aggregators WO2002054769A1 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
MXPA03006048A MXPA03006048A (en) 2001-01-04 2002-01-04 A method and apparatus for acquiring media services available from content aggregators.
JP2002555530A JP4865985B2 (en) 2001-01-04 2002-01-04 Method and apparatus for processing media services from content aggregators
BR0206234-8A BR0206234A (en) 2001-01-04 2002-01-04 Process and apparatus for obtaining media services available from content aggregators
US10/250,640 US8677417B2 (en) 2001-01-04 2002-01-04 Method and apparatus for acquiring media services available from content aggregators
EP02712596A EP1354477A4 (en) 2001-01-04 2002-01-04 A method and apparatus for acquiring media services available from content aggregators
KR1020037008569A KR100866908B1 (en) 2001-01-04 2002-01-04 Method of processing media services from a plurality of content aggregators, and apparatus for unifying media services available from a plurality of content aggregatiors

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US25971301P 2001-01-04 2001-01-04
US60/259,713 2001-01-04

Publications (1)

Publication Number Publication Date
WO2002054769A1 true WO2002054769A1 (en) 2002-07-11

Family

ID=22986058

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2002/000008 WO2002054769A1 (en) 2001-01-04 2002-01-04 A method and apparatus for acquiring media services available from content aggregators

Country Status (9)

Country Link
US (1) US8677417B2 (en)
EP (1) EP1354477A4 (en)
JP (1) JP4865985B2 (en)
KR (1) KR100866908B1 (en)
CN (2) CN100377143C (en)
BR (1) BR0206234A (en)
MX (1) MXPA03006048A (en)
MY (1) MY147018A (en)
WO (1) WO2002054769A1 (en)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003090480A1 (en) * 2002-04-22 2003-10-30 Nokia Corporation Method of providing service for user equipment and system
WO2004052012A1 (en) * 2002-12-04 2004-06-17 Koninklijke Philips Electronics N.V. Method of considering content equivalency when rendering content
FR2881594A1 (en) * 2005-02-01 2006-08-04 Awox Sa Data exchange method for e.g. camcorder, involves collecting lists of media found and/or received independently from apparatus where medias are found by each apparatus having performed searching of type of media
WO2006082498A1 (en) * 2005-02-01 2006-08-10 Awox Sa Data exchange method and device
KR100652957B1 (en) 2005-02-17 2006-12-01 삼성전자주식회사 Method of moving multimedia content and system thereof
JPWO2005066822A1 (en) * 2004-01-07 2007-12-20 松下電器産業株式会社 Device registration system, server, terminal device
EP1947855A1 (en) * 2005-10-07 2008-07-23 Sharp Kabushiki Kaisha Receiving apparatus, server, television receiver, mobile terminal device, system, receiving method, information processing program, and recording medium
US7440975B2 (en) 2004-12-22 2008-10-21 Musicgiants, Inc. Unified media collection system
US7551888B2 (en) 2002-04-22 2009-06-23 Nokia Corporation Method and system of displaying content associated with broadcast program
US7640270B2 (en) 2004-11-11 2009-12-29 Samsung Electronics Co., Ltd. Storage medium storing audio-visual data including metadata, reproducing apparatus, and method of searching for audio-visual data using the metadata
EP1841105A3 (en) * 2006-03-30 2011-03-23 LG Electronics Inc. Mobile terminal and method of managing broadcasting service information using digital broadcast reception function
EP1898643A3 (en) * 2006-09-07 2011-04-27 Samsung Electronics Co., Ltd. Method for automatically searching for data applications for all channels and video apparatus adopting the method
US7991810B2 (en) 2003-02-18 2011-08-02 Samsung Electronics Co., Ltd. Media file management system and method for home media center
US8245265B2 (en) 2003-04-18 2012-08-14 Samsung Electronics Co., Ltd. Method and apparatus for converting digital content metadata and network system using the same
KR101179999B1 (en) 2009-12-04 2012-09-05 한국전자통신연구원 Testbed system for dynamic media service composition and experiment method for media service composition
US8490147B2 (en) 2004-11-02 2013-07-16 Samsung Electronics Co., Ltd. System and method for collecting contents on audio/video network and controlling execution of the contents
US9197936B2 (en) 2006-12-20 2015-11-24 Rovi Guides, Inc. Systems and methods for providing remote access to interactive media guidance applications

Families Citing this family (177)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11506575A (en) * 1995-03-07 1999-06-08 インターバル リサーチ コーポレイション Information selective storage system and method
US5893062A (en) 1996-12-05 1999-04-06 Interval Research Corporation Variable rate video playback with synchronized audio
US6263507B1 (en) * 1996-12-05 2001-07-17 Interval Research Corporation Browser for use in navigating a body of information, with particular application to browsing information represented by audiovisual data
US7155735B1 (en) 1999-10-08 2006-12-26 Vulcan Patents Llc System and method for the broadcast dissemination of time-ordered data
US6757682B1 (en) 2000-01-28 2004-06-29 Interval Research Corporation Alerting users to items of current interest
US6766376B2 (en) 2000-09-12 2004-07-20 Sn Acquisition, L.L.C Streaming media buffering system
US7716358B2 (en) 2000-09-12 2010-05-11 Wag Acquisition, Llc Streaming media buffering system
US8595372B2 (en) 2000-09-12 2013-11-26 Wag Acquisition, Llc Streaming media buffering system
US7146524B2 (en) 2001-08-03 2006-12-05 Isilon Systems, Inc. Systems and methods for providing a distributed file system incorporating a virtual hot spare
US7685126B2 (en) * 2001-08-03 2010-03-23 Isilon Systems, Inc. System and methods for providing a distributed file system utilizing metadata to track information about data stored throughout the system
KR20040032260A (en) * 2002-10-08 2004-04-17 전자부품연구원 Advertisements display apparatus using metadata and its service method
US8931010B2 (en) * 2002-11-04 2015-01-06 Rovi Solutions Corporation Methods and apparatus for client aggregation of media in a networked media system
WO2004046971A1 (en) * 2002-11-14 2004-06-03 Isilon Systems, Inc. Systems and methods for restriping files in a distributed file system
US20050015355A1 (en) * 2003-07-16 2005-01-20 Apple Computer, Inc. Method and system for data sharing between application programs
US9418704B2 (en) * 2003-09-17 2016-08-16 Hitachi Maxell, Ltd. Program, recording medium, and reproducing apparatus
US7345232B2 (en) * 2003-11-06 2008-03-18 Nokia Corporation Automatic personal playlist generation with implicit user feedback
KR100533680B1 (en) * 2003-12-10 2005-12-05 삼성전자주식회사 Muitimedia contents management apparatus in portable digital device and method thereof
US20060031879A1 (en) * 2004-04-30 2006-02-09 Vulcan Inc. Management and non-linear presentation of news-related broadcasted or streamed multimedia content
US20060031885A1 (en) * 2004-04-30 2006-02-09 Vulcan Inc. Management and non-linear presentation of music-related broadcasted or streamed multimedia content
US20060031916A1 (en) * 2004-04-30 2006-02-09 Vulcan Inc. Management and non-linear presentation of broadcasted or streamed multimedia content
US20060053470A1 (en) * 2004-04-30 2006-03-09 Vulcan Inc. Management and non-linear presentation of augmented broadcasted or streamed multimedia content
US20050262449A1 (en) * 2004-05-03 2005-11-24 Microsoft Corporation Online service switching and customizations
US10268352B2 (en) 2004-06-05 2019-04-23 Sonos, Inc. Method and apparatus for managing a playlist by metadata
US8719378B2 (en) * 2004-06-14 2014-05-06 Vringo Infrastructure Inc. System and method for storing and providing content to client devices
US20190278560A1 (en) 2004-10-27 2019-09-12 Chestnut Hill Sound, Inc. Media appliance with auxiliary source module docking and fail-safe alarm modes
US8090309B2 (en) * 2004-10-27 2012-01-03 Chestnut Hill Sound, Inc. Entertainment system with unified content selection
US7885622B2 (en) * 2004-10-27 2011-02-08 Chestnut Hill Sound Inc. Entertainment system with bandless tuning
US8051425B2 (en) 2004-10-29 2011-11-01 Emc Corporation Distributed system with asynchronous execution systems and methods
US8055711B2 (en) * 2004-10-29 2011-11-08 Emc Corporation Non-blocking commit protocol systems and methods
US8238350B2 (en) * 2004-10-29 2012-08-07 Emc Corporation Message batching with checkpoints systems and methods
WO2006064877A1 (en) * 2004-12-17 2006-06-22 Matsushita Electric Industrial Co., Ltd. Content recommendation device
KR100714687B1 (en) 2004-12-31 2007-05-04 삼성전자주식회사 Apparatus and method for offering graphic user interface which is consist of plural columns
KR100703752B1 (en) * 2005-03-05 2007-04-05 삼성전자주식회사 Apparatus and method for supporting interface for playing contents at plural home network device
US20060280177A1 (en) * 2005-06-13 2006-12-14 Gupta Pawan K Integration network for digital media solutions
KR20060134395A (en) * 2005-06-22 2006-12-28 엘지전자 주식회사 Cable broadcasting receiver and firmware upgrading method
KR20070018645A (en) * 2005-08-10 2007-02-14 삼성전자주식회사 EPG Method For Display Additional Service Information In T-DMB System
JP2007053665A (en) * 2005-08-19 2007-03-01 Sony Corp Communication method and communication device
US7653617B2 (en) 2005-08-29 2010-01-26 Google Inc. Mobile sitemaps
US7797283B2 (en) 2005-10-21 2010-09-14 Isilon Systems, Inc. Systems and methods for maintaining distributed data
US7788303B2 (en) * 2005-10-21 2010-08-31 Isilon Systems, Inc. Systems and methods for distributed system scanning
US7917474B2 (en) * 2005-10-21 2011-03-29 Isilon Systems, Inc. Systems and methods for accessing and updating distributed data
US7551572B2 (en) 2005-10-21 2009-06-23 Isilon Systems, Inc. Systems and methods for providing variable protection
KR100762689B1 (en) * 2005-12-08 2007-10-01 삼성에스디아이 주식회사 Portable Display Device
US7702279B2 (en) * 2005-12-20 2010-04-20 Apple Inc. Portable media player as a low power remote control and method thereof
US7848261B2 (en) * 2006-02-17 2010-12-07 Isilon Systems, Inc. Systems and methods for providing a quiescing protocol
US8161111B2 (en) * 2006-03-27 2012-04-17 Packet Video, Corp System and method for identifying common media content
US7756898B2 (en) 2006-03-31 2010-07-13 Isilon Systems, Inc. Systems and methods for notifying listeners of events
GB0702603D0 (en) 2006-05-05 2007-03-21 Omnifone Ltd Pc client
US20070294250A1 (en) * 2006-06-19 2007-12-20 Sumsung Electronics Co., Ltd. Method and system for customizable and intuitive content management on a limited resource computing device such as a mobile telephone
US8401535B2 (en) 2006-06-19 2013-03-19 Samsung Electronics Co., Ltd. System, a method, and an apparatus for sharing an updated content with peers
US7647332B2 (en) * 2006-06-29 2010-01-12 Microsoft Corporation Aggregating content from multiple content delivery types in a discovery interface
US20080004960A1 (en) * 2006-06-30 2008-01-03 Microsoft Corporation Microsoft Patent Group Interactive promotional space in a discovery interface
US8539056B2 (en) * 2006-08-02 2013-09-17 Emc Corporation Systems and methods for configuring multiple network interfaces
US7676691B2 (en) * 2006-08-18 2010-03-09 Isilon Systems, Inc. Systems and methods for providing nonlinear journaling
US7680836B2 (en) 2006-08-18 2010-03-16 Isilon Systems, Inc. Systems and methods for a snapshot of data
US7822932B2 (en) 2006-08-18 2010-10-26 Isilon Systems, Inc. Systems and methods for providing nonlinear journaling
US7752402B2 (en) * 2006-08-18 2010-07-06 Isilon Systems, Inc. Systems and methods for allowing incremental journaling
US7590652B2 (en) 2006-08-18 2009-09-15 Isilon Systems, Inc. Systems and methods of reverse lookup
US7680842B2 (en) * 2006-08-18 2010-03-16 Isilon Systems, Inc. Systems and methods for a snapshot of data
US7953704B2 (en) * 2006-08-18 2011-05-31 Emc Corporation Systems and methods for a snapshot of data
US7882071B2 (en) 2006-08-18 2011-02-01 Isilon Systems, Inc. Systems and methods for a snapshot of data
US7899800B2 (en) * 2006-08-18 2011-03-01 Isilon Systems, Inc. Systems and methods for providing nonlinear journaling
EP2064855B1 (en) * 2006-09-20 2016-02-24 Orange Method of communicating between several terminals
US7962460B2 (en) * 2006-12-01 2011-06-14 Scenera Technologies, Llc Methods, systems, and computer program products for determining availability of presentable content via a subscription service
CN102740130B (en) * 2006-12-20 2016-08-03 乐威指南公司 Remote access system and method to interactive media guidance application is provided
US20080155191A1 (en) * 2006-12-21 2008-06-26 Anderson Robert J Systems and methods for providing heterogeneous storage systems
US8286029B2 (en) * 2006-12-21 2012-10-09 Emc Corporation Systems and methods for managing unavailable storage devices
US8356039B2 (en) * 2006-12-21 2013-01-15 Yahoo! Inc. Providing multiple media items to a consumer via a simplified consumer interaction
US7593938B2 (en) * 2006-12-22 2009-09-22 Isilon Systems, Inc. Systems and methods of directory entry encodings
US7509448B2 (en) * 2007-01-05 2009-03-24 Isilon Systems, Inc. Systems and methods for managing semantic locks
US7817960B2 (en) * 2007-01-22 2010-10-19 Jook, Inc. Wireless audio sharing
US7779048B2 (en) 2007-04-13 2010-08-17 Isilon Systems, Inc. Systems and methods of providing possible value ranges
US7900015B2 (en) * 2007-04-13 2011-03-01 Isilon Systems, Inc. Systems and methods of quota accounting
US8966080B2 (en) 2007-04-13 2015-02-24 Emc Corporation Systems and methods of managing resource utilization on a threaded computer system
US7985911B2 (en) 2007-04-18 2011-07-26 Oppenheimer Harold B Method and apparatus for generating and updating a pre-categorized song database from which consumers may select and then download desired playlists
US20080257134A1 (en) * 2007-04-18 2008-10-23 3B Music, Llc Method And Apparatus For Generating And Updating A Pre-Categorized Song Database From Which Consumers May Select And Then Download Desired Playlists
JP5127318B2 (en) * 2007-06-25 2013-01-23 株式会社東芝 Reproducing apparatus, recording / reproducing apparatus, recording / reproducing system, and title information management method
US20090049162A1 (en) * 2007-08-16 2009-02-19 Deh-Yung Kuo Buffer manipulation
US7882068B2 (en) * 2007-08-21 2011-02-01 Isilon Systems, Inc. Systems and methods for adaptive copy on write
US7966289B2 (en) * 2007-08-21 2011-06-21 Emc Corporation Systems and methods for reading objects in a file system
US7949692B2 (en) * 2007-08-21 2011-05-24 Emc Corporation Systems and methods for portals into snapshot data
US20090119332A1 (en) * 2007-11-01 2009-05-07 Lection David B Method And System For Providing A Media Transition Having A Temporal Link To Presentable Media Available From A Remote Content Provider
JP5359230B2 (en) * 2008-02-04 2013-12-04 ソニー株式会社 Transmission apparatus and transmission data format determination method
US20090204885A1 (en) * 2008-02-13 2009-08-13 Ellsworth Thomas N Automated management and publication of electronic content from mobile nodes
US20090228125A1 (en) * 2008-03-04 2009-09-10 William Stewart Processing of heterogeneous media in a mobile computing device
US7870345B2 (en) 2008-03-27 2011-01-11 Isilon Systems, Inc. Systems and methods for managing stalled storage devices
US7984324B2 (en) * 2008-03-27 2011-07-19 Emc Corporation Systems and methods for managing stalled storage devices
US7953709B2 (en) * 2008-03-27 2011-05-31 Emc Corporation Systems and methods for a read only mode for a portion of a storage system
US7949636B2 (en) 2008-03-27 2011-05-24 Emc Corporation Systems and methods for a read only mode for a portion of a storage system
CN102047686B (en) 2008-04-07 2013-10-16 美国高思公司 Wireless earphone that transitions between wireless networks
US8477942B2 (en) * 2008-10-21 2013-07-02 Motorola Mobility Llc Method and apparatus for managing service lists
US20100154003A1 (en) * 2008-12-11 2010-06-17 At&T Intellectual Property I, L.P. Providing report of popular channels at present time
US8713173B2 (en) 2008-12-19 2014-04-29 Openpeak Inc. System and method for ensuring compliance with organizational policies
US8856322B2 (en) 2008-12-19 2014-10-07 Openpeak Inc. Supervisory portal systems and methods of operation of same
US8615581B2 (en) 2008-12-19 2013-12-24 Openpeak Inc. System for managing devices and method of operation of same
US8788655B2 (en) 2008-12-19 2014-07-22 Openpeak Inc. Systems for accepting and approving applications and methods of operation of same
US8745213B2 (en) 2008-12-19 2014-06-03 Openpeak Inc. Managed services platform and method of operation of same
US8650290B2 (en) 2008-12-19 2014-02-11 Openpeak Inc. Portable computing device and method of operation of same
US8612582B2 (en) 2008-12-19 2013-12-17 Openpeak Inc. Managed services portals and method of operation of same
US20100157990A1 (en) * 2008-12-19 2010-06-24 Openpeak, Inc. Systems for providing telephony and digital media services
US8260877B2 (en) 2008-12-31 2012-09-04 Apple Inc. Variant streams for real-time or near real-time streaming to provide failover protection
US8156089B2 (en) 2008-12-31 2012-04-10 Apple, Inc. Real-time or near real-time streaming with compressed playlists
US8578272B2 (en) 2008-12-31 2013-11-05 Apple Inc. Real-time or near real-time streaming
US20100169303A1 (en) * 2008-12-31 2010-07-01 David Biderman Playlists for real-time or near real-time streaming
US8938467B2 (en) * 2009-03-25 2015-01-20 Eloy Technology, Llc System and method for intelligent storage of time shifted content
EP2234297A1 (en) * 2009-03-26 2010-09-29 novero GmbH Method for operating a portable mobile internet media recorder
US20100325683A1 (en) * 2009-06-17 2010-12-23 Broadcom Corporation Media broadcast emulator
US8433814B2 (en) * 2009-07-16 2013-04-30 Netflix, Inc. Digital content distribution system and method
US8904450B2 (en) 2009-10-13 2014-12-02 Sony Corporation Individual internet video link channel
JP2011139405A (en) * 2010-01-04 2011-07-14 Sony Corp Information processor, information processing method, program, control object device, and information processing system
US9336320B2 (en) * 2010-02-19 2016-05-10 Nokia Technologies Oy Method and apparatus for navigating services
US8805963B2 (en) 2010-04-01 2014-08-12 Apple Inc. Real-time or near real-time streaming
US8560642B2 (en) 2010-04-01 2013-10-15 Apple Inc. Real-time or near real-time streaming
GB201105502D0 (en) 2010-04-01 2011-05-18 Apple Inc Real time or near real time streaming
TWI451279B (en) 2010-04-07 2014-09-01 Apple Inc Content access control for real-time or near real-time streaming
FR2959091B1 (en) * 2010-04-16 2014-06-20 Inst Nat Rech Inf Automat COMPUTER RESOURCE AND INFRASTRUCTURE MANAGEMENT TOOL AND NETWORKS
US20110289084A1 (en) * 2010-05-18 2011-11-24 Rovi Technologies Corporation Interface for relating clusters of data objects
WO2012024418A1 (en) 2010-08-17 2012-02-23 Openpeak Inc. System containing a mobile communication device and associated docking station
US8650658B2 (en) 2010-10-25 2014-02-11 Openpeak Inc. Creating distinct user spaces through user identifiers
US9767195B2 (en) 2011-04-21 2017-09-19 Touchstream Technologies, Inc. Virtualized hosting and displaying of content using a swappable media player
US8856283B2 (en) 2011-06-03 2014-10-07 Apple Inc. Playlists for real-time or near real-time streaming
US8843586B2 (en) 2011-06-03 2014-09-23 Apple Inc. Playlists for real-time or near real-time streaming
KR101946861B1 (en) * 2011-09-21 2019-02-13 삼성전자주식회사 Method and apparatus for synchronizing media data of multimedia broadcast service
US8695060B2 (en) 2011-10-10 2014-04-08 Openpeak Inc. System and method for creating secure applications
US9665339B2 (en) 2011-12-28 2017-05-30 Sonos, Inc. Methods and systems to select an audio track
US9654821B2 (en) 2011-12-30 2017-05-16 Sonos, Inc. Systems and methods for networked music playback
KR20130122345A (en) * 2012-04-30 2013-11-07 주식회사 싸이칸엔터테인먼트 Vedio contents service system and method
US9674587B2 (en) 2012-06-26 2017-06-06 Sonos, Inc. Systems and methods for networked music playback including remote add to queue
US9137564B2 (en) 2012-06-28 2015-09-15 Sonos, Inc. Shift to corresponding media in a playback queue
US9078010B2 (en) 2012-09-28 2015-07-07 Sonos, Inc. Audio content playback management
US9510055B2 (en) 2013-01-23 2016-11-29 Sonos, Inc. System and method for a media experience social interface
US9361371B2 (en) 2013-04-16 2016-06-07 Sonos, Inc. Playlist update in a media playback system
US9247363B2 (en) 2013-04-16 2016-01-26 Sonos, Inc. Playback queue transfer in a media playback system
US9501533B2 (en) 2013-04-16 2016-11-22 Sonos, Inc. Private queue for a media playback system
US9684484B2 (en) 2013-05-29 2017-06-20 Sonos, Inc. Playback zone silent connect
US10715973B2 (en) 2013-05-29 2020-07-14 Sonos, Inc. Playback queue control transition
US9495076B2 (en) 2013-05-29 2016-11-15 Sonos, Inc. Playlist modification
US9953179B2 (en) 2013-05-29 2018-04-24 Sonos, Inc. Private queue indicator
US9798510B2 (en) 2013-05-29 2017-10-24 Sonos, Inc. Connected state indicator
US9703521B2 (en) 2013-05-29 2017-07-11 Sonos, Inc. Moving a playback queue to a new zone
US9735978B2 (en) 2013-05-29 2017-08-15 Sonos, Inc. Playback queue control via a playlist on a mobile device
US9232277B2 (en) 2013-07-17 2016-01-05 Sonos, Inc. Associating playback devices with playback queues
US9241355B2 (en) 2013-09-30 2016-01-19 Sonos, Inc. Media system access via cellular network
US10028028B2 (en) 2013-09-30 2018-07-17 Sonos, Inc. Accessing last-browsed information in a media playback system
US20150220498A1 (en) 2014-02-05 2015-08-06 Sonos, Inc. Remote Creation of a Playback Queue for a Future Event
US9679054B2 (en) 2014-03-05 2017-06-13 Sonos, Inc. Webpage media playback
US10587693B2 (en) 2014-04-01 2020-03-10 Sonos, Inc. Mirrored queues
US20150324552A1 (en) 2014-05-12 2015-11-12 Sonos, Inc. Share Restriction for Media Items
CN105141569B (en) * 2014-05-30 2019-06-21 华为技术有限公司 Media processing method and equipment
US20150356084A1 (en) 2014-06-05 2015-12-10 Sonos, Inc. Social Queue
US9672213B2 (en) 2014-06-10 2017-06-06 Sonos, Inc. Providing media items from playback history
US9460755B2 (en) 2014-07-14 2016-10-04 Sonos, Inc. Queue identification
US9485545B2 (en) 2014-07-14 2016-11-01 Sonos, Inc. Inconsistent queues
US10462505B2 (en) 2014-07-14 2019-10-29 Sonos, Inc. Policies for media playback
US9467737B2 (en) 2014-07-14 2016-10-11 Sonos, Inc. Zone group control
US10498833B2 (en) 2014-07-14 2019-12-03 Sonos, Inc. Managing application access of a media playback system
US9874997B2 (en) 2014-08-08 2018-01-23 Sonos, Inc. Social playback queues
US9232013B1 (en) 2014-09-05 2016-01-05 Openpeak Inc. Method and system for enabling data usage accounting
US20160071040A1 (en) 2014-09-05 2016-03-10 Openpeak Inc. Method and system for enabling data usage accounting through a relay
US9100390B1 (en) 2014-09-05 2015-08-04 Openpeak Inc. Method and system for enrolling and authenticating computing devices for data usage accounting
US9350818B2 (en) 2014-09-05 2016-05-24 Openpeak Inc. Method and system for enabling data usage accounting for unreliable transport communication
US8938547B1 (en) 2014-09-05 2015-01-20 Openpeak Inc. Method and system for data usage accounting in a computing device
US9742839B2 (en) 2014-09-12 2017-08-22 Sonos, Inc. Cloud queue item removal
US9723038B2 (en) 2014-09-24 2017-08-01 Sonos, Inc. Social media connection recommendations based on playback information
US10645130B2 (en) 2014-09-24 2020-05-05 Sonos, Inc. Playback updates
WO2016049342A1 (en) 2014-09-24 2016-03-31 Sonos, Inc. Social media connection recommendations based on playback information
US9860286B2 (en) 2014-09-24 2018-01-02 Sonos, Inc. Associating a captured image with a media item
US9667679B2 (en) 2014-09-24 2017-05-30 Sonos, Inc. Indicating an association between a social-media account and a media playback system
US9690540B2 (en) 2014-09-24 2017-06-27 Sonos, Inc. Social media queue
US9959087B2 (en) 2014-09-24 2018-05-01 Sonos, Inc. Media item context from social media
US9876780B2 (en) 2014-11-21 2018-01-23 Sonos, Inc. Sharing access to a media service
US9342384B1 (en) * 2014-12-18 2016-05-17 Intel Corporation Function callback mechanism between a central processing unit (CPU) and an auxiliary processor
US10152212B2 (en) 2015-04-10 2018-12-11 Sonos, Inc. Media container addition and playback within queue
US11165683B2 (en) * 2015-12-29 2021-11-02 Xilinx, Inc. Network interface device
US11044183B2 (en) 2015-12-29 2021-06-22 Xilinx, Inc. Network interface device
US11184666B2 (en) 2019-04-01 2021-11-23 Sonos, Inc. Access control techniques for media playback systems
US11636855B2 (en) 2019-11-11 2023-04-25 Sonos, Inc. Media content based on operational data

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5557541A (en) * 1994-07-21 1996-09-17 Information Highway Media Corporation Apparatus for distributing subscription and on-demand audio programming
US5636276A (en) * 1994-04-18 1997-06-03 Brugger; Rolf Device for the distribution of music information in digital form
US5655130A (en) * 1994-10-14 1997-08-05 Unisys Corporation Method and apparatus for document production using a common document database
US5923362A (en) * 1995-04-17 1999-07-13 Starsight Telecast, Inc. Merging multi-source information in a television system
US6332175B1 (en) * 1999-02-12 2001-12-18 Compaq Computer Corporation Low power system and method for playing compressed audio data
US6367019B1 (en) * 1999-03-26 2002-04-02 Liquid Audio, Inc. Copy security for portable music players

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3372004B2 (en) * 1995-03-31 2003-01-27 ソニー株式会社 Electronic program guide device, electronic program guide system, and electronic program guide method
US6157411A (en) * 1996-06-14 2000-12-05 Intel Corporation Method and apparatus for compiling a repository of entertainment system data from multiple sources
US6172677B1 (en) 1996-10-07 2001-01-09 Compaq Computer Corporation Integrated content guide for interactive selection of content and services on personal computer systems with multiple sources and multiple media presentation
US5990883A (en) * 1997-04-28 1999-11-23 Microsoft Corporation Unified presentation of programming from different physical sources
US6314565B1 (en) 1997-05-19 2001-11-06 Intervu, Inc. System and method for automated identification, retrieval, and installation of multimedia software components
DE69806791T2 (en) 1997-10-14 2003-02-06 Thomson Licensing Sa SYSTEM AND METHOD FOR FORMATTING AND EDITING MULTIMEDIA PROGRAM DATA AND PROGRAM OVERVIEW INFORMATION
AU2025999A (en) 1998-01-05 1999-07-26 Amiga Development Llc System for combining electronic program guide data
US6745237B1 (en) * 1998-01-15 2004-06-01 Mci Communications Corporation Method and apparatus for managing delivery of multimedia content in a communications system
US6067477A (en) * 1998-01-15 2000-05-23 Eutech Cybernetics Pte Ltd. Method and apparatus for the creation of personalized supervisory and control data acquisition systems for the management and integration of real-time enterprise-wide applications and systems
GB2339643A (en) 1998-05-18 2000-02-02 Callscan Limited Call centre management
CN1272281A (en) * 1998-05-29 2000-11-01 索尼公司 Information processing apparatus and method, and providing medium
JP2000004272A (en) 1998-06-17 2000-01-07 Jisedai Joho Hoso System Kenkyusho:Kk Data distributing method, transmitter, receiver and data distribution system applying this data distributing method and data structure used for this data distribution system
EP0984631A1 (en) * 1998-09-04 2000-03-08 THOMSON multimedia Apparatus and method for executing interactive TV applications on set top units
JP2000231528A (en) 1999-02-12 2000-08-22 Nec Corp Web program browsing device
JP2000253367A (en) 1999-03-02 2000-09-14 Sony Corp Converter and conversion method
US6904609B1 (en) * 1999-03-18 2005-06-07 Microsoft Corporation Systems and methods for electronic program guide data services
AU7337900A (en) 1999-08-31 2001-03-26 Full Audio Corporation Structure and method for selecting, controlling and sending internet-based or local digital audio to an am/fm radio or analog amplifier
AU2018201A (en) 1999-10-12 2001-04-23 Perception Digital Technology (Bvi) Limited Digital multimedia jukebox
US6678740B1 (en) * 2000-01-14 2004-01-13 Terayon Communication Systems, Inc. Process carried out by a gateway in a home network to receive video-on-demand and other requested programs and services
US20040150677A1 (en) * 2000-03-03 2004-08-05 Gottfurcht Elliot A. Method for navigating web content with a simplified interface using audible commands

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5636276A (en) * 1994-04-18 1997-06-03 Brugger; Rolf Device for the distribution of music information in digital form
US5557541A (en) * 1994-07-21 1996-09-17 Information Highway Media Corporation Apparatus for distributing subscription and on-demand audio programming
US5655130A (en) * 1994-10-14 1997-08-05 Unisys Corporation Method and apparatus for document production using a common document database
US5923362A (en) * 1995-04-17 1999-07-13 Starsight Telecast, Inc. Merging multi-source information in a television system
US6332175B1 (en) * 1999-02-12 2001-12-18 Compaq Computer Corporation Low power system and method for playing compressed audio data
US6367019B1 (en) * 1999-03-26 2002-04-02 Liquid Audio, Inc. Copy security for portable music players

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1354477A4 *

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003090480A1 (en) * 2002-04-22 2003-10-30 Nokia Corporation Method of providing service for user equipment and system
US7551888B2 (en) 2002-04-22 2009-06-23 Nokia Corporation Method and system of displaying content associated with broadcast program
WO2004052012A1 (en) * 2002-12-04 2004-06-17 Koninklijke Philips Electronics N.V. Method of considering content equivalency when rendering content
US7991810B2 (en) 2003-02-18 2011-08-02 Samsung Electronics Co., Ltd. Media file management system and method for home media center
US8806366B2 (en) 2003-02-18 2014-08-12 Samsung Electronics Co., Ltd. Media file management system and method for home media center
US8245265B2 (en) 2003-04-18 2012-08-14 Samsung Electronics Co., Ltd. Method and apparatus for converting digital content metadata and network system using the same
JPWO2005066822A1 (en) * 2004-01-07 2007-12-20 松下電器産業株式会社 Device registration system, server, terminal device
JP4691449B2 (en) * 2004-01-07 2011-06-01 パナソニック株式会社 Device registration system, server, terminal device
US8490147B2 (en) 2004-11-02 2013-07-16 Samsung Electronics Co., Ltd. System and method for collecting contents on audio/video network and controlling execution of the contents
US7640270B2 (en) 2004-11-11 2009-12-29 Samsung Electronics Co., Ltd. Storage medium storing audio-visual data including metadata, reproducing apparatus, and method of searching for audio-visual data using the metadata
US7996449B2 (en) 2004-11-11 2011-08-09 Samsung Electronics Co., Ltd. Storage medium storing audio-visual data including metadata, reproducing apparatus, and method of searching for audio-visual data using the metadata
US7984087B2 (en) 2004-11-11 2011-07-19 Samsung Electronics Co., Ltd. Storage medium storing audio-visual data including metadata, reproducing apparatus, and method of searching for audio-visual data using the metadata
US7984086B2 (en) 2004-11-11 2011-07-19 Samsung Electronics Co., Ltd. Storage medium storing audio-visual data including metadata, reproducing apparatus, and method of searching for audio-visual data using the metadata
US7440975B2 (en) 2004-12-22 2008-10-21 Musicgiants, Inc. Unified media collection system
WO2006082498A1 (en) * 2005-02-01 2006-08-10 Awox Sa Data exchange method and device
FR2881594A1 (en) * 2005-02-01 2006-08-04 Awox Sa Data exchange method for e.g. camcorder, involves collecting lists of media found and/or received independently from apparatus where medias are found by each apparatus having performed searching of type of media
KR100652957B1 (en) 2005-02-17 2006-12-01 삼성전자주식회사 Method of moving multimedia content and system thereof
EP1947855A1 (en) * 2005-10-07 2008-07-23 Sharp Kabushiki Kaisha Receiving apparatus, server, television receiver, mobile terminal device, system, receiving method, information processing program, and recording medium
EP1947855A4 (en) * 2005-10-07 2010-09-01 Sharp Kk Receiving apparatus, server, television receiver, mobile terminal device, system, receiving method, information processing program, and recording medium
US8473985B2 (en) 2006-03-30 2013-06-25 Lg Electronics Inc. Mobile terminal and method of managing broadcasting service information using digital broadcast reception function
EP1841105A3 (en) * 2006-03-30 2011-03-23 LG Electronics Inc. Mobile terminal and method of managing broadcasting service information using digital broadcast reception function
EP1898643A3 (en) * 2006-09-07 2011-04-27 Samsung Electronics Co., Ltd. Method for automatically searching for data applications for all channels and video apparatus adopting the method
US9197936B2 (en) 2006-12-20 2015-11-24 Rovi Guides, Inc. Systems and methods for providing remote access to interactive media guidance applications
KR101179999B1 (en) 2009-12-04 2012-09-05 한국전자통신연구원 Testbed system for dynamic media service composition and experiment method for media service composition

Also Published As

Publication number Publication date
CN1215719C (en) 2005-08-17
EP1354477A1 (en) 2003-10-22
CN1645353A (en) 2005-07-27
MXPA03006048A (en) 2003-09-10
US20040078812A1 (en) 2004-04-22
CN100377143C (en) 2008-03-26
KR100866908B1 (en) 2008-11-04
EP1354477A4 (en) 2010-03-17
KR20030070081A (en) 2003-08-27
MY147018A (en) 2012-10-15
JP4865985B2 (en) 2012-02-01
BR0206234A (en) 2003-12-23
CN1484920A (en) 2004-03-24
JP2004524735A (en) 2004-08-12
US8677417B2 (en) 2014-03-18

Similar Documents

Publication Publication Date Title
US8677417B2 (en) Method and apparatus for acquiring media services available from content aggregators
EP2433423B1 (en) Media content retrieval system and personal virtual channel
US7523214B2 (en) Content providing server, information processing device and method, and computer program
US8285727B2 (en) Simplified searching for media services using a control device
JP4169181B2 (en) Host device for simulating bidirectional connectivity for unidirectional data streams
US8135844B2 (en) Content providing server, information processing device and method, and computer program
EP1143679B1 (en) A conversational portal for providing conversational browsing and multimedia broadcast on demand
US8352544B2 (en) Composition of local media playback with remotely generated user interface
US8112449B2 (en) Systems and methods for implementing a content object access point
US20040260835A1 (en) Automotive internet radio system
JP2001507533A (en) Interactive audiovisual programs
KR20050087819A (en) System and method for detecting services which can be provided by at least two different services sources
US8863195B2 (en) Media manager

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG US UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 808/KOLNP/2003

Country of ref document: IN

WWE Wipo information: entry into national phase

Ref document number: 1020037008569

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2002555530

Country of ref document: JP

Ref document number: 10250640

Country of ref document: US

Ref document number: PA/A/2003/006048

Country of ref document: MX

WWE Wipo information: entry into national phase

Ref document number: 028034694

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2002712596

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020037008569

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 2002712596

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642