Methods and apparatus for integrating disparate media formats in a networked media system

Information

  • Patent Grant
  • 8086575
  • Patent Number
    8,086,575
  • Date Filed
    Thursday, September 23, 2004
    20 years ago
  • Date Issued
    Tuesday, December 27, 2011
    13 years ago
Abstract
A media system includes at least a source media device and a playback media device coupled through a network. The source media device presents media to the network. The media comprises at least one digital content file with a first format. A playback media device plays back digital content files formatted in a second format. A transcoder, also coupled to the network, converts the first format of the digital content file to a second format. In one embodiment, the transcoder comprises a device separate from the source media device and the playback media device. In another embodiment, the transcoder comprises a device integrated with the source media device. The playback device receives the digital content file, formatted in the second format, over the network, and processes the digital content file in the second format to generate processed signals. The processed signals drive the playback device to play the digital content file. In another embodiment, the transcoder operates in conjunction with one or more media servers. For this embodiment, media, stored on the media servers, is converted to one or more different file formats. The conversion may occur without requiring a user to initiate the conversion.
Description
BACKGROUND OF THE INVENTION

1. Field of the Invention:


The present invention is directed toward the field of converging disparate types of media, and more particularly directed integrating media of different formats for playing across devices over a network.


2. Art Background:


The widespread use of computers, digital cameras, and the Internet has resulted in the creation and use of digital media. Digital media has also largely replaced more traditional analog audio and video formats with the introduction and popular acceptance of audio compact discs (CDs) and digital video discs (DVDs). In general, digital media consists of various formats of data that stores audio, video, and images in binary files. These binary files are typically stored on a medium accessible to computer devices, such as CD-ROMs, hard drives, floppy disks and memory sticks.


The storage of digital media on commonly used computer medium allows for easy generation and transfer of digital media. For example, it has become popular to generate digital photos using a digital camera and then to transfer the digital photos onto computers. Computer software permits the user to manipulate the digital photos. The user may then transfer the digital photos to friends using e-mail, or post the digital photos on a web site accessible by the World Wide Web. These types of applications, which take advantage of the connectivity among different devices, have also contributed to the widespread popularity of digital media.


Digital media may be stored in a variety of formats. Special hardware or software compatible with the formats of the digital media is required to playback or view the digital media. For example, to listen to music stored in the popular MP3 format, a consumer must have a special MP3 player (i.e., either software running on a general purpose computer or a stand alone MP3 player). There are numerous formats for video, including high quality DVDs and various compression based MPEG and proprietary standards. To playback various formats of digital video, the consumer must use a device that reads the proper format of the digital media.


Because of the numerous different formats of digital media, the playback or viewing of numerous types of digital media today requires multiple types of devices. The playback of digital media stored in different formats is less problematic on a computer because the computer may play the digital media using software programs. However, a consumer may desire to play the media on other types of devices. For example, the consumer may desire to play digital audio files on a home stereo and view digital video on a television. Currently, stereos and televisions are not equipped to playback all formats of digital media. Accordingly, it is desirable to provide a media convergence platform that integrates various types of digital media into a single system.


SUMMARY OF THE INVENTION

A media system includes at least a source media device and a playback media device coupled through a network. The source media device presents media to the network. The media comprises at least one digital content file with a first format. A playback media device plays back digital content files formatted in a second format. A transcoder, also coupled to the network, converts the first format of the digital content file to a second format. In one embodiment, the transcoder comprises a device separate from the source media device and the playback media device. In another embodiment, the transcoder comprises a device integrated with the source media device. The playback device receives the digital content file, formatted in the second format, over the network, and processes the digital content file in the second format to generate processed signals. The processed signals drive the playback device to play the digital content file.


In one embodiment, the digital content file comprises a digital audio file, and the processed signals comprise audio signals. For example, the first format for the digital content file may comprise a Microsoft Windows Media Audio (“WMA”) file, a Moving Pictures Experts Group layer 3 (“MP3”) file or a Real Audio file. The second format may comprise, by way of example, a pulse code modulated (“PCM”) file or a Moving Pictures Experts Group layer 3 (“MP3”) file. In another embodiment, the digital content file comprises a digital video file, and the processed signals comprise video signals. For this embodiment, the first format may comprise, as example formats, a Moving Pictures Experts Group version 4 (“MPEG-4”) file, a Moving Joint Photographic Experts Group (“MJPEG”) file, a Quicktime file, a Microsoft Windows Media Video (“WMV”) file, or a Real Video file. The second video format may comprise a Moving Pictures Experts Group version 2 (“MPEG-2”) file.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 illustrates a media space configured in accordance with one embodiment of the present invention.



FIG. 2 illustrates one embodiment for integrating devices into a single media space.



FIG. 3 illustrates one embodiment for a media convergence platform configured in accordance with the present invention.



FIG. 4 illustrates an example media system.



FIGS. 5
a and 5b illustrate one embodiment for using a transcoder device with media servers.



FIG. 6 is a flow diagram illustrating one embodiment for playback of media over a network.



FIG. 7 is a block diagram illustrating one embodiment for software components operating on a media convergence platform device.



FIG. 8 is a block diagram illustrating an example home network for the media convergence platform.



FIG. 9 is a flow diagram illustrating one embodiment for discovering devices in the media convergence system.





DETAILED DESCRIPTION

Media Convergence Platform:


The media convergence platform of the present invention provides an efficient and easy way for one or more users to manage and playback media within a “media space.” As used herein, a “media space” connotes one or more media storage devices coupled to one or more media players for use by one or more users. The integration of media storage devices and media players into a single media space permits distributed management and control of content available within the media space.



FIG. 1 illustrates a media space configured in accordance with one embodiment of the present invention. As shown in FIG. 1, the media space 100 includes “n” media storage devices 110, where “n” is any integer value greater than or equal to one. The media storage devices 110 store any type of media. In one embodiment, the media storage devices 110 store digital media, such as digital audio, digital video (e.g., DVD, MPEG, etc.), and digital images. The media space 100 also includes “m” media players 120, where “m” is any integer value greater than or equal to one. In general, the media players 120 are devices suitable for playing and or viewing various types of media. For example, a media player may comprise a stereo system for playing music or a television for playing DVDs or viewing digital photos.


As shown in FIG. 1, the media storage devices 110 are coupled to the media players 120. The media storage devices 110 and the media players 120 are shown in FIG. 1 as separate devices to depict the separate functions of media storage and media playback; however, the media players may perform both the storage and playback functions. For example, a media player may comprise a DVD player that includes a hard drive for the storage and playback of digital video. In other embodiments, the storage of media and the playback/viewing of media are performed by separate devices. For this embodiment, the media players 120 playback content stored on the media storage devices 110. For example, a video clip stored on media storage device “1” may be played on any of the applicable “m” media players 120.


The storage devices 110 and media players 120 are controlled by management component 130. In general, management component 130 permits users to aggregate, organize, control (e.g., add, delete or modify), browse, and playback media available within the media space 100. The management component 130 may be implemented across multiple devices. The media space of FIG. 1 shows a plurality of users 140 to depict that more than one user may playback/view media through different media players. The system supports playback of different media through multiple media players (i.e., the system provides multiple streams of media simultaneously). The users 140, through management component 130, may also organize, control, and browse media available within the media space. The management component 130 provides a distributed means to manage and control all media within the media space. As described more fully below, the convergence media platform provides a common language to permit disparate devices to communicate (i.e., different devices utilize different network protocols).



FIG. 2 illustrates one embodiment for integrating devices into a single media space. For this embodiment, a media space 200 includes at least one media server 210 (e.g., a media space may include many media servers). The media server 210 stores media for distribution throughout the media space 200. In addition, the media server 210 stores system software to integrate the components of the media space, to distribute media through the media space, and to provide a user interface for the components of the media space. The media server 210 is coupled to different types of media players, including televisions 250 and 270, as well as an audio player 240 (e.g., stereo system). For this embodiment, the media server 210 is also coupled to a media manager 280 and to external content provider(s) 290.


For this embodiment, the media server 210 executes software to perform a variety of functions within the media space. Thus, in this configuration, the media server 210 operates as a “thick client.” A user accesses and controls the functions of the media convergence platform through a system user interface. The user interface utilizes the thick and thin clients, as well as some media players (e.g., televisions 250 & 270). In one embodiment, the user interface includes a plurality of interactive screens displayed on media player output devices to permit a user to access the functionality of the system. A screen of the user interface includes one or more items for selection by a user. The user navigates through the user interface using a remote control device (e.g., remote control 260). The user, through use of a remote control, controls the display of screens in the user interface and selects items displayed on the screens. A user interface displayed on a television permits the user, using a remote control, to perform a variety of functions pertaining to the media available in the media space.


The components of the media convergence platform are integrated through a network. For example, in the embodiment of FIG. 2, media server 210 communicates to thin audio client 230 and thin video client 220 through network 205. Network 205 may comprise any type of network, including wireless networks. For example, network 205 may comprise networks implemented in accordance with standards, such as Ethernet 10/100 on Category 5, HPNA, Home Plug, IEEE 802.11x, IEEE 1394, and USB 1.1/2.0.


For the embodiment of FIG. 2, one or more thin video clients are integrated into the media space. Specifically, a thin video client 220 is coupled to media server 210 to provide playback of digital media on television 270. The thin video client 220 does not store media. Instead, the thin video client 270 receives media from media server 210, and processes the media for display or playback on television 270 (e.g., a standard television). For example, media server 210 transmits a digital movie over network 205, and the thin video client processes the digital movie for display on television 270. In one embodiment, the thin video client 220 processes the digital movie “on the fly” to provide NTSC or PAL formatted video for playback on television 270. The thin video client 220 may be integrated into the television 270. In one embodiment, a user interface is implemented using media server 210 and thin video client 220 for display on television 270. For this embodiment, the user, using a remote control for television 270, selects items displayed on television 270 to command the system.


The media convergence platform system also optionally integrates one or more thin audio clients into the media space. For the embodiment of FIG. 2, a thin audio client 230 receives digital music (e.g., MP3 format) from media server 210 over network 205, and processes the digital music for playback on a standard audio system 240. In one embodiment, the thin audio client 210 includes a small display (e.g., liquid crystal display “LCD”) and buttons for use as a user interface. The media server 210 transmits items and identifiers for the items for display on the thin audio client 230. For example, the thin audio client 230 may display lists of tracks for playback on audio system 240. The user selects items displayed on the screen using the buttons to command the system. For example, the thin audio client screen may display a list of albums available in the media space, and the user, through use of the buttons, may command the user interface to display a list of tracks for a selected album. Then, the user may select a track displayed on the screen for playback on audio system 240.


The media manager 280 is an optional component for the media convergence platform system. In general, the media manager 280 permits the user to organize, download, and edit media in the personal computer “PC” environment. The media manager may store media for integration into the media space (i.e., store media for use by other components in the media space). In one embodiment, the media manager 280 permits the user to perform system functions on a PC that are less suitable for implementation on a television based user interface.


The media space may be extended to access media stored external to those components located in the same general physical proximity (e.g., a house). In one embodiment, the media convergence platform system integrates content from external sources into the media space. For example, as shown in FIG. 2, the media server 210 may access content external to the local network 205. The external content may include any type of media, such as digital music and video. The media convergence platform system may be coupled to external content 290 through a broadband connection (i.e., high bandwidth communications link) to permit downloading of media rich content. The external content may be delivered to the media convergence platform system through use of the Internet, or the external content may be delivered through use of private distribution networks. In other embodiments, the external content may be broadcasted. For example, the media server 210 may access external content 290 through a data casting service (i.e., data modulated and broadcast using RF, microwave, or satellite technology).


As used herein, a “device” connotes a home network client that supports a collection of services to operate a broader functionality. Also, as used herein, a “media server” is an entity on the home network that stores or presents media items to the network. Furthermore, a “node” connotes any entity on a home network, including a device and/or a media server.


The convergence media platform utilizes a “peer-to-peer” architecture. All client devices on the media platform have the ability to communicate with other devices, including multiple client devices and multiple servers. This architecture permits a device to obtain all media available on the network and to aggregate the media for presentation on that device.


A device, including a client device or a server device, may enter and/or exit the home network, at any time, and still maintain full functionality. Thus, when a device is powered off, other devices automatically recognize that the device is no longer available on the home network. When a new device is added or a portable device comes onto the network, the other nodes automatically recognize the new devices. The other nodes may utilize the services on the added device. A new media server may also automatically recognize new devices, as long as at least one other media server is currently on the network.



FIG. 3 illustrates one embodiment for a media convergence platform configured in accordance with the present invention. For this embodiment, a media network 309 couples a source device 305, a playback device 325, and a transcoder device 311. The source device 305, such as a media server, acquires media, in the form of a digital content file, formatted in “Media Format A.” In one embodiment, the media is stored in source device 305 on a permanent storage medium (e.g., hard disk drive) or on removable disk (e.g., CD or DVD). In another embodiment, the source device 305 acquires the media from an external source (e.g., Internet).


A transcoder device of the present invention operates as a translator to convert one or more input formats to one or more output formats. A transcoder may be configured to convert between any number and type of audio or video formats. Table 1 lists digital audio formats for conversion in accordance with one embodiment of a transcoder in a media convergence platform.










TABLE 1





Input Format
Output Format







Microsoft Windows Media Audio
Pulse Code Modulated (“PCM”)


(“WMA”)


Microsoft Windows Media Audio
Moving Pictures Experts Group


(“WMA”)
layer 3 (“MP3”)


Moving Pictures Experts Group
Pulse Code Modulated (“PCM”)


layer 3 (“MP3”)


Real Audio
Pulse Code Modulated (“PCM”)










Table 1 lists example audio formats for conversion in one embodiment of a media convergence platform; however, a transcoder may convert between any two audio formats without deviating from the spirit or scope of the invention.


Table 2 lists digital video formats for conversion in accordance with one embodiment of a media convergence platform transcoder.










TABLE 2





Input Format
Output Format







Moving Pictures Experts Group
Moving Pictures Experts Group


layer 4 (“MPEG-4”)
layer 2 (“MPEG-2”)


Moving Joint Photographic Experts
Moving Pictures Experts Group


Group (“MJPEG”)
layer 2 (“MPEG-2”)


Quicktime
Moving Pictures Experts Group



layer 2 (“MPEG-2”)


Microsoft Windows Media Video
Moving Pictures Experts Group


(“WMV”)
layer 2 (“MPEG-2”)


Real Video
Moving Pictures Experts Group



layer 2 (“MPEG-2”)










Table 2 identifies several example video formats that may be converted in a media convergence platform. However, a video transcoder may convert between any two video formats without deviating from the spirit or scope of the invention.


For the example of FIG. 3, transcoder device 311 receives media, in the format of “Media Format A”, from the source device 305 across network 309. The transcoder device 311 converts the media from “Media Format A” to “Media Format B.” The media file, formatted in the converted “Media Format B”, is transferred from transcoder 311 to playback device 325


As shown in FIG. 3, the playback device 325 is compatible with media formatted in “Media Format B.” As such, the playback device 325 only plays media formatted in Media Format B. The playback device 325 processes the digital content file in the second format to generate processed signals. The processed signals drive the playback device to play the digital content file. In one embodiment, the digital content file comprises a digital audio file, and the processed signals comprise audio signals. In another embodiment, the digital content file comprises a digital video file, and the processed signals comprise video signals.


In one embodiment, the media convergence platform implements the transcoder function in hardware. In other embodiments, the transcoder function is implemented in software. A software transcoder may be implemented using available open source code.


In one embodiment, the transcode function converts the input format of an audio format to a raw format, such as the pulse code modulated (“PCM”) format. For example, to conduct the WMA→PCM conversion, the transcoder decodes the Microsoft Windows Media Audio (“WMA”) format into the raw PCM format. For this embodiment, to perform the WMA→MP3 conversion, the transcoder decodes the WMA format to the raw PCM format, and then encodes the raw PCM format to the MP3 format. In other embodiments, the transcode function involves partial decoding and partial encoding (e.g., the conversion of the audio is performed fully in the frequency domain instead of converting the audio to a time domain format).


In one embodiment, video formats are also converted to “raw video formats” prior to conversion to other video formats. For example, in one embodiment, the raw video format consists of raw RGB frames. A raw RGB frame is a rasterized bitmap image of each frame in digital video represented as independent red, green and blue color channels for each pixel in each frame image. In other embodiment for generating a raw video format, the transcode function generates raw YUV 4:2:0 frames, raw YUV 4:2:2 frames, and/or raw YUV 4:4:4 frames. In general, the raw YUV 4:2:0, YUV 4:2:2 and YUV 4:4:4 frame formats represent rasterized bitmap images of each frame of digital video represented as independent Y (luminance) as well as U and V (chrominance) component color channels. Specifically, the raw YUV 4:2:0 frames format contains a single Y sample for each pixel, and one of each Cb and Cr chrominance samples spatially located in the center of each four (4) adjacent Y samples. The raw YUV 4:2:2 frames format also contains a single Y sample for each pixel, but contains one of each Cb and Cr chrominance samples spatially located in the center of each two (2) adjacent horizontal Y samples. The raw YUV 4:4:4 frames format contains a single Y sample and one of each Cb and Cr chrominance samples for each pixel.



FIG. 4 illustrates an example media system. For this example, three media servers (310, 320, and 330) are coupled to home network 340. As shown in FIG. 4, each media server stores several media items. The media items may be any type of media, including video, audio, photos, etc. For example, server 310 stores media items 1, 4, 6, 12, 22 and 33. For this example, playback device 350 is also on the home media network 340. The playback device 350 plays back media, including audio, video or photos. For example, playback device 350 may comprise a DVD player, and the media items, stored on media servers 310, 320 and 330, may comprise DVDs.


As shown in FIG. 4, media items, presented by media servers (310, 320 and 330), are associated with a format. For the example of FIG. 4, media server 330 presents media in formats A, B, D and E. For example, “Format A” may comprise a digital content file formatted as an MPEG 4 file, “Format B” may comprise a digital content file formatted as a Quicktime file, and “Format D” may comprise a digital content file formatted as a Microsoft Windows Media Video (“WMV”) file.


For the example of FIG. 4, the playback device 350 only plays media formatted in “Format A.” As such, format conversion is required to convert media of Formats B, C, D and E to Format A. The media system of FIG. 4 includes a transcoder device 360. For this embodiment, transcoder device 360 is capable of converting Formats B, C, D and E to Format A. The transcoder device 360 may convert media files “on-the-fly”, or it may convert media items for storage at playback device 350 or any other media server.


In one embodiment, after completing a discovery process, playback device 350 determines relevant media items stored on other devices (e.g., media servers) available on home network 340. Thus, playback device 350 aggregates all media, relevant to playback device 350, for use at playback device 350 (i.e., playback, control. etc.). For example, if playback device 350 plays digital video, playback device 350 aggregates a list of all digital video available on home media network 340. The aggregated list includes all media items that may be converted to Format A. As described more fully below, playback device 350 may invoke a service on transcoder device 360 to determine media formats that may be converted to Format A. As shown in FIG. 4, playback device 350 aggregates all media items stored on media servers 310, 320 and 330.



FIGS. 5
a and 5b illustrate one embodiment for using a transcoder device with media servers. For the embodiment shown in FIG. 5a, media server 511 and media server 509 are coupled to transcoder device 507 through network 503. Each media server stores a number of media items, such as audio, video or photos. Each media item has an associated format (e.g., WMA, MP3, MPEG-2, MPEG-4, etc.). For the example shown in FIG. 5a, media server 509 stores media items Media_1_Format_B, Media_2_Format_E, Media_3_Format_C, Media_4_Format_C . . . Media_n_Format_X, wherein “n” is any integer value and X is any format type. Media server 511 stores, by way of example, Media_20_Format_D, Media_21_Format_F, Media_22_Format_B, Media_23_Format_C . . . Media_m_Format_y, wherein “m” is any integer value and y is any format type.


In one embodiment, an automated process is commenced to convert all media items stored on a media server to one or more formats. The process may run without initiation from a user and when system resources are available. Media items are transferred from a media server (509 or 511) to transcoder device 507. Transcoder 507 determines the current format of the media item, converts the media items to one or more different formats, and transfers the converted media items to the media server. The media server then stores the converted media items along with the media items in the original format. FIG. 5b illustrates an example for converting the media items of FIG. 5a to a specified format, “Format_A.” As shown in FIG. 5b, after the conversion process, media server 511 stores, in addition to the original media, all media items converted to Format_A (i.e., Media_20_Format_A, Media_21_Format_A, Media_22_Format_A, Media_23_Format_A and Media_m_Format_A). Similarly, all media items stored in media server 509 are converted to Format_A (i.e., Media_1_Format_A, Media_2_Format_A, Media_3_Format_A, Media_4_Format_A and Media_n_Format_A).


In one embodiment a program allows the user to configure the parameters for the conversion process. For example, a user may specify one or more formats for conversion based on the media type of the original media item. For example, if the original media item is a WMA file, then the user may specify conversion to MP3. The user may also specify the frequency to conduct the conversion. For example, the user may specify that the system update media server items once everyday (i.e., traverse media server items and convert any media items not already converted to one or more specified formats). Also, the user may specify one or more media servers to perform the conversion process.


The underlying protocols of the media system do not permit a client device to aggregate media items from devices on the home network. The protocols themselves have no requirement to support a distributed system. For this embodiment of the media convergence platform, aggregation logic creates a distributed system using non-distributed protocols. The aggregation logic uses multiple protocols to integrate devices on the home network.



FIG. 6 is a flow diagram illustrating one embodiment for playback of media over a network. Initially, a playback device discovers media servers and transcoder devices on the home network (block 410, FIG. 6). One embodiment for discovering devices on the home network is described more fully below. Based on information learned in the discovery process, the playback device constructs state information for the discovered media servers and transcoder devices (block 420, FIG. 6). The playback device aggregates a list of media items available through the network (block 425, FIG. 6). The aggregation logic for the playback device acquires media items from all media servers that contain compatible media items. For example, if the playback device plays music items, the playback device acquires all music items from all media servers available on the network.


The playback device receives a request to play media item(s) (block 430, FIG. 6). In response, the playback device connects to a selected media server and transcoder device using state information acquired during the discovery process (block 450, FIG. 6). Specifically, the playback device translates the request to play a media item to a protocol supported by the media server with the selected item, and forwards the request to the media server. Similarly, the playback device translates the request to transcode a media item to a protocol supported by the transcoder, and forwards the request to the transcoder. In one embodiment, the playback device invokes a service on the selected media server to obtain the media items and invokes a service on the transcoder to convert the file format. (block 460, FIG. 6). In one embodiment, the playback device invokes a content manager service on the media server to acquire the media item.



FIG. 7 is a block diagram illustrating one embodiment for software components operating on a media convergence platform device. Software components 500 include, at the highest level, application software 502. The application software 502 implements functionality for an underlying device. For example, application software 502 may implement functions for a DVD player. As shown in FIG. 7, underneath the application software 502 is aggregation logic 520. Aggregation logic 520 permits a client device to aggregate media items on the home network.


The software components 500 also include user interface (“UI”) rendering logic 510. UI rendering component 510 translates scene information to display information suitable for display on the client device. The UI rendering component 510 also renders the display data. For example, if the underlying client device includes a television display (e.g., CRT), then UI rendering engine 510 generates graphics data from scene information, and renders the graphics data on the television display. If the display on the client device is a LCD display, then UI rendering engine 510 generates lists from scene information, and displays the lists on the LCD display.


As shown in FIG. 7, the client device incorporates one or more network protocols and remote procedure calls (“RPC”) mechanisms. For example, FIG. 7 shows that the client device supports network protocolA (525), network protocolB (530), and network protocolsn (535). For this example, client device software 500 supports RPC mechanismA (540), RPC mechanismB (545), and RPC mechanismsn (550).


The client device software 500 supports one or more services. As shown in FIG. 7, one or more methods of a service are accessible through an interface. In general, the methods, when invoked, provide specific functionality for the underlying service. For this example, client device software 500 includes serviceA (555), serviceB (560), and services (565). Each service is associated with one or more methods (i.e., method(1)—method(n)).


In one embodiment, the media convergence platform supports a plurality of underlying protocols. In general, the protocols define commands, RPC mechanisms, and interfaces to services. In one embodiment, the media convergence platform supports an industry defined UPnP protocol. In general, the UPnP protocol defines discovery over IP networks, an RPC mechanism, and interfaces for activating services. UPnP services include: a content directory service, a connection manager service, an audio/video (“A/V”) transport service and an A/V control service.


In one embodiment, the media convergence platform also supports a proprietary protocol (i.e., non-industry standard protocol). For this embodiment, the proprietary protocol defines a network discovery process, an RPC mechanism, and an interface to services. The services include a content manager and a media player service. The content manager service allows a client device to interface to a database. Specifically, using the content manager service, the client device may extract information (e.g., URL to identify media, metadata, etc.) from a database on another network device. Thus, the content manager service provides a means for a device of the media convergence platform system to query a database. The media player service defines an interface to permit playback functionality (e.g., initiate and control media streams).


In one embodiment, the discovery process on the proprietary protocol implements asynchronous based messaging. The discovery protocol operates on any network that supports packet based messaging or on a serialized network. In one embodiment, the discovery protocol includes an “announce” command, a “discovery” command, and a “bye-bye” command. The announce command is used by a device to announce its presence on the home media network. A discovery command is a request for an announcement (i.e., queries whether any client devices are on the home network). The “bye-bye” command is used by a client device to announce that the client device is leaving the network. In one embodiment, there are two types of announcements and two types of “bye-bye” commands: one for devices and one for services.


In one embodiment, the RPC mechanism, supported by the proprietary protocol, uses a packet based protocol. The services include methods and an identification number to permit a device on the home network to construct RPC based packets with the appropriate arguments. In general, an RPC mechanism permits a device to control another device on the network. The protocol is effectuated through requests and responses. The RPC packets include a header. In one embodiment, the header contains: version information, a command class (maps to a particular service), the command (the method the device is requesting or the response coming from the method), an identification (identification of requests or identification of responses corresponding to a request), and a length. After the header, the RPC protocol format specifies data (i.e., arguments for requests and returns values for responses).



FIG. 8 is a block diagram illustrating an example home network for the media convergence platform. For this example, a home network includes transcoder 650, DVD player 640, and media server 630. A client device (610) enters the home network 620, and discovers, using a supporting protocol, three devices (e.g., transcoder 650, DVD player 640, and media server 630). As shown in FIG. 8, client device 610 stores state information for each of the devices discovered on home network 620. Specifically, client device 610 stores, for device1 (media server 630) a supporting network protocol (i.e., network protocolA) as well as a list of services supported by the devices (i.e., serviceA and serviceC). The network protocol also specifies an RPC mechanism to execute remote procedure calls on media server 630. Similarly, state information for device2 (i.e., DVD player 640) indicates that device2 supports network protocolA and implements serviceA and serviceB. Device3, transcoder 650, supports network protocolC, and implements serviceA and serviceB. For this example, serviceA supports the conversion between FormatA to FormatB, and serviceB supports the conversion from FormatC to FormatD.


As shown in FIG. 8, each service (e.g., serviceA, serviceB, and serviceC) supports an interface. The interface defines a specification to provide a means to access the methods or commands within a service. As such, the client device 610 utilizes services (serviceA or serviceB) on transcoder 650 through their respective interfaces. Note that media server 630, DVD player 640 and transcoder 650 all implement serviceA. Each interface for serviceA is the same to permit uniform accessibility to the service. However, the implementation of serviceA in each of the devices may be different.


In one embodiment, a media convergence platform implementation provides security. For this embodiment, the announcement command is open ended, such that the protocol only defines a minimum specification for communication. Thus, announcement protocols may support multiple network specifications, including TCP and secure sockets layer (“SSL”). The protocol supports implementation on TCP/IP networks. In addition, the protocol supports SSL operating on TCP/IP networks. SSL permits secure communications, including authentication, between two parties on a network.


The proprietary protocol also permits an implementation using partial security. For this embodiment, a service may include some methods that require secure communications and other methods that do not require secure communications. Thus, some methods utilize SSL technology to realize secure communications between two devices on the home network.



FIG. 9 is a flow diagram illustrating one embodiment for discovering devices in the media convergence system. A new device (i.e., a device not currently connected to the network) is connected to the home media network (710, FIG. 9). In order to communicate on the network, the new device obtains a network address (block 720, FIG. 9). For example, in an IP network, the client requires an IP address. If the underlying network supports TCP/IP, then the client device determines if there is a DHP server. If so, the DHP server assigns the IP address to the new device. If no DHP server is available to assign the new device an IP address, then the new device selects an IP address from a pool and determines whether any other device on the home network has that IP address. If no other device on the network has that IP address, then the client device uses this IP address. This process of auto IP addressing allows communication on a home network within a single subnet.


The new device transmits an “announcement” command over the network (block 730, FIG. 9). The format of the announcement command complies with a protocol supported by the devices. The new device may broadcast or multicast the announcement command over the network. For example, in an IP network, the new device may multicast the announcement in order to expand subnets if the home network includes a gateway. A multicast format is used to specify specific IP addresses (e.g., transmitting an announcement only to those devices on the network interested or compatible with the new device). As used herein, compatible devices are those devices that may be interested in communicating with the client device.


In response to the new device's announcement command, the new device constructs state information. In general, the state information provides details regarding devices available on the network. The state information includes protocols and services supported by those devices. When compatible devices on the network receive the announcement command, those compatible devices may add information, encapsulated in the announcement command, to a local cache.


If there are no compatible devices on the network or the new device does not desire to utilize a service on the network, then the process terminates. For example, if the new device is an MP3 player, then compatible devices include those media servers storing MP3 audio as well as other MP3 players. If there are other compatible devices on the network, those devices expose one or more services to the new device (block 750, FIG. 9). To discovery services on the network, the new device transmits a discovery command and waits for a response. For this example, a media server, which stores MP3 audio, exposes an interface to allow the new device to aggregate the MP3 audio stored on that media server. Similarly, a compatible MP3 player exposes a service, through a pre-defined interface, to permit the new device to play MP3 audio stored on the new device at the compatible MP3 player.


In response to the request (e.g., new device application logic), the new device connects to a compatible device via a supporting protocol (block 760, FIG. 9). Specifically, the device translates the protocol for the appropriate device using the state information. For example, if the compatible device supports an industry standard protocol, then the new device selects the industry standard protocol to communicate to that device. The new device utilizes the services on the compatible device (block 770, FIG. 9).


A media server entering a home network is one example of the discovery process. For this example, the media server, after obtaining a network address, transmits an announcement command over the network. The media server announces the services it supports (e.g., content manager, media player service), and exposes interfaces to network clients to permit access to those services. If a device enters the network, the device waits for an announcement from the server. When the client identifies the media server, the client connects to the media server via a protocol the server specified in the announcement command. This process allows the client device to navigate media on the media server. Using the supporting protocol, the client device connects to a playback device, either itself or another playback device, and instructs the playback device to play the item that a user selected from those media items available on the media server.


Although the present invention has been described in terms of specific exemplary embodiments, it will be appreciated that various modifications and alterations might be made by those skilled in the art without departing from the spirit and scope of the invention.

Claims
  • 1. A method for managing media in a networked media system comprising a source device, at least one playback device, and a transcoder device, the method comprising: receiving, at the playback device, source-device state information from the source device, the source-device state information specifying a first network protocol and a content service supported by the source device configured to store digital media files in a plurality of formats, the content service configured to provide other network devices access to digital media files stored on the source device, the playback device configured to playback digital media files in a first of the plurality of formats;receiving, at the playback device, transcoder-device state information from the transcoder device, the transcoder-device state information specifying a second network protocol and a conversion service supported by the transcoder device, the conversion service for conversion of digital media files, the first and second network protocols being different network protocols;determining whether the conversion service of the transcoder device converts digital media files in at least one of the plurality of formats to the first format;in response to a determination that the conversion service of the transcoder device converts digital media files in at least one of the plurality of formats to the first format, aggregating, at the playback device, a list of digital media files stored on the source device, wherein the aggregated list includes only digital media files that can be provided to the playback device in the first format;sending, from the playback device to the source device, a first request invoking the content service on the source device for accessing a first digital media file included in the list of digital media files, the first digital media file being stored on the source device, the first request being translated to the first network protocol by the playback device;sending, from the playback device to the transcoder device, a second request invoking the conversion service on the transcoder device for converting the first digital media file to the first format, the second request being translated to the second network protocol by the playback device; andplaying back, at the playback device, the first digital media file converted to the first format,wherein the source device, the playback device, and the transcoder device comprise separate network devices coupled through a network.
  • 2. The method of claim 1, further comprising: sending the source-device state information through the network from the source device to the playback device, the source-device state information further specifying a plurality of services supported by the source device;exposing, at the source device, each service specified in the source-device state information to the other network devices; andrequesting, at the playback device, an exposed service of the source device using the first network protocol specified in the source-device state information.
  • 3. The method of claim 1, further comprising: sending the transcoder-device state information through the network from the transcoder device to the playback device, the transcoder-device state information further specifying a plurality of services supported by the transcoder device;exposing, at the transcoder device, each service specified in the transcoder-device state information to the other network devices; and requesting, at the playback device, an exposed service of the transcoder device using the second network protocol specified in the transcoder-device state information.
  • 4. The method of claim 1, further comprising: upon the playback device being coupled to the network, sending playback-device state information from the playback device to the source device and the transcoder device through the network, the playback-device state information specifying at least one network protocol and at least one service supported by the playback device;exposing, at the playback device, each service specified in the playback-device state information to the other network devices; and requesting an exposed service of the playback device using a network protocol specified in the playback-device state information.
  • 5. The method of claim 1, wherein: the networked media system utilizes a peer-to-peer architecture so that network devices directly communicate with each other through the network using network protocols specified in the state information for each network device; andrequests sent to a network device is translated to the network protocol specified in the state information for the network device.
  • 6. The method of claim 1, wherein the transcoder-device state information further specifies a plurality of conversion services supported by the transcoder device, each conversion service for converting different formats of digital media files, the method further comprising: determining, using the transcoder-device state information, which of the plurality of formats of digital media files stored at the source device comprise formats that are convertible to the first format, wherein aggregating the list of digital media files comprises aggregating a list of digital media files stored on the source device that are convertible to the first format.
  • 7. The method of claim 1, wherein: the digital media files comprise audio media files, video media files, or image media files stored on the source device;the playback device is configured to playback audio media files; andaggregating the list of digital media files comprises aggregating a list of only audio media files stored on the source device.
  • 8. The method of claim 7, wherein: an audio media file in the first format comprises a Microsoft Windows Median audio (“WMA”) file, a Moving Pictures Experts Group layer 3 (“MP3”), or a Real Audio file; andan audio media file in the second format comprises a pulse code modulated (“PCM”) file or a Moving Pictures Experts Group layer 3 (“MP3”) file.
  • 9. The method of claim 1, wherein: the digital media files comprise audio media files, video media files, or image media files stored on the source device;the playback device is configured to playback video media files; andaggregating the list of digital media files comprises aggregating a list of only video media files stored on the source device.
  • 10. The method of claim 9, wherein: a video media file in the first format comprises a Moving Pictures Experts Group layer 4 (“MPEG-4”) file, a Moving Joint Photographic Experts Group (“MJPEG”) file, a Quicktime file, a Microsoft Windows Media Video (“WMV”) file, or a Real Video file; anda video media file in the second format comprises a Moving Pictures Experts Group layer 2 (“MPEG-2”) file.
  • 11. The method of claim 1, wherein: the digital media files comprise audio media files, video media files, or image media files stored on the source device;the playback device is configured to playback image media files; andaggregating the list of digital media files comprises aggregating a list of only image media files stored on the source device.
  • 12. The method of claim 1, further comprising: after sending the first request to the source device, transmitting through the network the first digital media file from the source device to the transcoder device; andafter sending the second request to the transcoder device, transmitting through the network the first digital media file in the first format from the transcoder device to the playback device for playback.
  • 13. The method of claim 1, wherein the networked media system further comprises a plurality of source devices configured to store digital media files in the plurality of formats and aggregating the list of digital media files comprises aggregating a list of digital media files stored on the plurality of source devices, the method further comprising: determining which of the plurality of source devices stores the first digital media file.
  • 14. The method of claim 1, wherein the content service supported by the source device further allows other network devices to extract information to identify digital media files on the source device.
  • 15. The method of claim 1, further comprising: prior to sending the first request to the source device, receiving, at the playback device, a user request to play the first digital media file.
  • 16. The method of claim 1, further comprising: transmitting through the network the first digital media file in the first format from the transcoder device to the source device for storage.
  • 17. A networked media system for managing media, the networked media system comprising: a source device configured for storing digital media files in a plurality of formats;a transcoder device configured for converting digital media files;a playback device configured for:playing back digital media files in a first of the plurality of formats;receiving, from the source device, source-device state information specifying a first network protocol and a content service supported by the source device, the content service for providing other network devices access to digital media files stored on the source device;receiving, from the transcoder device, transcoder-device state information specifying a second network protocol and a conversion service supported by the transcoder device, the conversion service for converting digital media files, the first and second network protocols being different network protocols;determining whether the conversion service of the transcoder device converts digital media files in at least one of the plurality of formats to the first format;in response to a determination that the conversion service of the transcoder device converts digital media files in at least one of the plurality of formats to the first format, aggregating a list of digital media files stored on the source device, wherein the aggregated list includes only digital media files that can be provided to the playback device in the first format;sending, to the source device, a first request invoking the content service on the source device for accessing a first digital media file included in the list of digital media files, the first digital media file being stored on the source device, the first request being translated to the first network protocol;sending, to the transcoder device, a second request invoking the conversion service on the transcoder device for converting the first digital media file to the first format, the second request being translated to the second network protocol; andplaying back at the playback device, the first digital media file converted to the first format; anda network coupling the source device, transcoder device, and playback device which comprise separate network devices.
  • 18. The networked media system of claim 17, wherein: the source device is further configured for: sending the source-device state information through the network to the playback device, the source-device state information further specifying a plurality of services supported by the source device; andexposing each service specified by the source-device state information to the other network devices; andthe playback device is further configured for:requesting an exposed service of the source device using the first network protocol specified in the source-device state information.
  • 19. The networked media system of claim 17, wherein: the transcoder device is further configured for:sending the transcoder-device state information through the network to the playback device, the transcoder-device state information further specifying a plurality of services supported by the transcoder device; andexposing each service specified in the transcoder-device state information to the other network devices; andthe playback device is further configured for:requesting an exposed service of the transcoder device using the second network protocol specified in the trans coder-device state information.
  • 20. The networked media system of claim 17, wherein: the playback device is further configured for:upon being coupled to the network, sending playback-device state information to the source device and the transcoder device through the network, the playback-device state information specifying at least one network protocol and at least one service supported by the playback device; andexposing, at the playback device, each service specified in the playback-device state information to the other network devices; andthe source device and transcoder device are further configured for:requesting an exposed service of the playback device using a network protocol specified in the playback-device state information.
  • 21. The networked media system of claim 17, wherein: the networked media system utilizes a peer-to-peer architecture so that network devices directly communicate with each other through the network using network protocols specified in the state information for each network device; andrequests sent to a network device is translated to the network protocol specified in the state information for the network device.
  • 22. The networked media system of claim 17, wherein: the transcoder-device state information further specifies a plurality of conversion services supported by the transcoder device, each conversion service for converting different formats of digital media files; andthe playback device is further configured for determining, using the transcoder-device state information, which of the plurality of formats of digital media files stored at the source device comprise formats that are convertible to the first format, wherein aggregating the list of digital media files comprises aggregating a list of digital media files stored on the source device that are convertible to the first format.
  • 23. The networked media system of claim 17, wherein: the digital media files comprise audio media files, video media files, or image media files stored on the source device;the playback device is configured for playback of audio media files; andaggregating the list of digital media files comprises aggregating a list of only audio media files stored on the source device.
  • 24. The networked media system of claim 23, wherein: an audio media file in the first format comprises a Microsoft Windows Media Audio (“WMA”) file, a Moving Pictures Experts Group layer 3 (“MP3”), or a Real Audio file; andan audio media file in the second format comprises a pulse code modulated (“PCM”) file or a Moving Pictures Experts Group layer 3 (“MP3”) file.
  • 25. The networked media system of claim 17, wherein: the digital media files comprise audio media files, video media files, or image media files stored on the source device;the playback device is configured for playback of video media files; andaggregating the list of digital media files comprises aggregating a list of only video media files stored on the source device.
  • 26. The networked media system of claim 25, wherein: a video media file in the first format comprises a Moving Pictures Experts Group layer 4 (“MPEG-4”) file, a Moving Joint Photographic Experts Group (“MJPEG”) file, a Quicktime file, a Microsoft Windows Media Video (“WMV”) file, or a Real Video file; anda video media file in the second format comprises a Moving Pictures Experts Group layer 2 (“MPEG-2”) file.
  • 27. The networked media system of claim 17, wherein: the digital media files comprise audio media files, video media files, or image media files stored on the source device;the playback device is configured for playback of image media files; andaggregating the list of digital media files comprises aggregating a list of only image media files stored on the source device.
  • 28. The networked media system of claim 17, wherein: the source device is further configured for transmitting through the network the first digital media file to the transcoder device; andthe transcoder device is further configured for transmitting through the network the first digital media file in the first format to the playback device for playback.
  • 29. The networked media system of claim 17, further comprising: a plurality of source devices configured for storing digital media files, wherein aggregating the list of digital media files comprises aggregating a list of digital media files stored on the plurality of source devices, and the playback device is further configured for determining which of the plurality of source devices stores the first digital media file.
  • 30. The networked media system of claim 17, wherein the content service supported by the source device further allows other network devices to extract information to identify digital media files on the source device.
  • 31. The networked media system of claim 17, wherein the playback device is further configured for receiving a user request to play the first digital media file.
  • 32. The networked media system of claim 17 wherein the transcoder device is further configured for transmitting through the network the first digital media file in the first format to the source device for storage.
  • 33. A method for managing media in a networked media system comprising a source device, at least one playback device, and a transcoder device, the method comprising: receiving, at the playback device, source-device state information from the source device, the source-device state information specifying a first network protocol and a content service supported by the source device configured to store digital media files in a plurality of formats, the content service configured to provide other network devices access to digital media files stored on the source device, the playback device configured to playback digital media files in a first of the plurality of formats;receiving, at the playback device, transcoder-device state information from the transcoder device, the transcoder-device state information specifying a second network protocol and a conversion service supported by the transcoder device, the conversion service for conversion of digital media files, the first and second network protocols being different network protocols;determining whether the conversion service of the transcoder device converts digital media files in at least one of the plurality of formats to the first format;in response to a determination that the conversion service of the transcoder device converts digital media files in at least one of the plurality of formats to the first format, aggregating, at the playback device, a list of the digital media files stored on the source device, wherein the aggregated list includes only digital media files that can be provided to the playback device in the first format;playing back, at the playback device, one of the digital media files converted by the transcoder to the first format.
US Referenced Citations (451)
Number Name Date Kind
4355415 George et al. Oct 1982 A
4488179 Kroger et al. Dec 1984 A
4602279 Freeman Jul 1986 A
4605964 Chard Aug 1986 A
4694490 Harvey et al. Sep 1987 A
4704725 Harvey et al. Nov 1987 A
4706121 Young Nov 1987 A
4718107 Hayes Jan 1988 A
4745549 Hashimoto May 1988 A
4751578 Reiter et al. Jun 1988 A
4787063 Muguet Nov 1988 A
4847698 Freeman Jul 1989 A
4857999 Welsh Aug 1989 A
4908707 Kinghorn Mar 1990 A
4930158 Vogel May 1990 A
4959720 Duffield et al. Sep 1990 A
4963994 Levine Oct 1990 A
4965825 Harvey et al. Oct 1990 A
4977455 Young Dec 1990 A
5027400 Baji et al. Jun 1991 A
5047867 Strubbe et al. Sep 1991 A
5109279 Ando Apr 1992 A
5109414 Harvey et al. Apr 1992 A
5134719 Mankovitz Jul 1992 A
5151789 Young Sep 1992 A
5155591 Wachob Oct 1992 A
5172413 Bradley et al. Dec 1992 A
5200822 Bronfin et al. Apr 1993 A
5231493 Apitz Jul 1993 A
5233654 Harvey et al. Aug 1993 A
5253066 Vogel Oct 1993 A
5335277 Harvey et al. Aug 1994 A
5412720 Hoarty May 1995 A
5442389 Blahut et al. Aug 1995 A
5442390 Hooper et al. Aug 1995 A
5453779 Dan et al. Sep 1995 A
5461415 Wolf et al. Oct 1995 A
5479266 Young et al. Dec 1995 A
5479268 Young et al. Dec 1995 A
5479302 Haines Dec 1995 A
5485197 Hoarty Jan 1996 A
5506932 Holmes et al. Apr 1996 A
5517254 Monta et al. May 1996 A
5517257 Dunn et al. May 1996 A
5524195 Clanton, III et al. Jun 1996 A
5528513 Vaitzblit et al. Jun 1996 A
5534911 Levitan Jul 1996 A
5539449 Blahut et al. Jul 1996 A
5550576 Klosterman Aug 1996 A
5557724 Sampat et al. Sep 1996 A
5571672 Slavicek et al. Nov 1996 A
5574778 Ely et al. Nov 1996 A
5576755 Davis et al. Nov 1996 A
5583561 Baker et al. Dec 1996 A
5583563 Wanderscheid et al. Dec 1996 A
5585838 Lawler et al. Dec 1996 A
5585858 Harper et al. Dec 1996 A
5585866 Miller et al. Dec 1996 A
5586264 Belknap et al. Dec 1996 A
5589892 Knee et al. Dec 1996 A
5592551 Lett et al. Jan 1997 A
5594779 Goodman Jan 1997 A
5602582 Wanderscheid et al. Feb 1997 A
5606642 Stautner et al. Feb 1997 A
5610653 Abecassis Mar 1997 A
5616876 Cluts Apr 1997 A
5619247 Russo Apr 1997 A
5619249 Billock et al. Apr 1997 A
5619274 Roop et al. Apr 1997 A
5623613 Rowe et al. Apr 1997 A
5625678 Blomfield-Brown Apr 1997 A
5629867 Goldman May 1997 A
5630060 Tang et al. May 1997 A
5630119 Aristides et al. May 1997 A
5632007 Freeman May 1997 A
5635987 Park et al. Jun 1997 A
5648824 Dunn et al. Jul 1997 A
5652613 Lazarus et al. Jul 1997 A
5654748 Matthews et al. Aug 1997 A
5654886 Zereski, Jr. et al. Aug 1997 A
5657072 Aristides et al. Aug 1997 A
5666645 Thomas et al. Sep 1997 A
5671377 Bleidt et al. Sep 1997 A
5675743 Mavity Oct 1997 A
5684525 Klosterman Nov 1997 A
5694163 Harrison Dec 1997 A
5696765 Safadi Dec 1997 A
5708961 Hylton et al. Jan 1998 A
5710601 Marshall et al. Jan 1998 A
5717452 Janin et al. Feb 1998 A
5721829 Dunn et al. Feb 1998 A
5727060 Young Mar 1998 A
5732216 Logan et al. Mar 1998 A
5734119 France et al. Mar 1998 A
5742443 Tsao et al. Apr 1998 A
5745710 Clanton, III et al. Apr 1998 A
5751282 Girard et al. May 1998 A
5751672 Yankowski et al. May 1998 A
5752159 Faust et al. May 1998 A
5752160 Dunn May 1998 A
5754771 Epperson et al. May 1998 A
5758257 Herz et al. May 1998 A
5758258 Shoff et al. May 1998 A
5758259 Lawler May 1998 A
5760821 Ellis et al. Jun 1998 A
5761417 Henley et al. Jun 1998 A
5761607 Gudesen et al. Jun 1998 A
5768528 Stumm Jun 1998 A
5771354 Crawford Jun 1998 A
5774170 Hite et al. Jun 1998 A
5778181 Hidary et al. Jul 1998 A
5778182 Cathey et al. Jul 1998 A
5778187 Monteiro et al. Jul 1998 A
5781226 Sheehan Jul 1998 A
5781227 Goode et al. Jul 1998 A
5781228 Sposato Jul 1998 A
5790198 Roop et al. Aug 1998 A
5790423 Lau et al. Aug 1998 A
5793366 Mano et al. Aug 1998 A
5793412 Asamizuya Aug 1998 A
5793971 Fujita et al. Aug 1998 A
5794217 Allen Aug 1998 A
5796952 Davis et al. Aug 1998 A
5798921 Johnson et al. Aug 1998 A
5802284 Karlton et al. Sep 1998 A
5805154 Brown Sep 1998 A
5805763 Lawler et al. Sep 1998 A
5805804 Laursen et al. Sep 1998 A
5805806 McArthur Sep 1998 A
5808608 Young et al. Sep 1998 A
5808694 Usui et al. Sep 1998 A
5809204 Young et al. Sep 1998 A
5809246 Goldman Sep 1998 A
5812123 Rowe et al. Sep 1998 A
5812205 Milnes et al. Sep 1998 A
5815146 Youden et al. Sep 1998 A
5815297 Ciciora Sep 1998 A
5818438 Howe et al. Oct 1998 A
5819019 Nelson Oct 1998 A
5819160 Foladare et al. Oct 1998 A
5822530 Brown Oct 1998 A
5828945 Klosterman Oct 1998 A
RE35954 Levine Nov 1998 E
5835126 Lewis Nov 1998 A
5841979 Schulhof et al. Nov 1998 A
5844620 Coleman et al. Dec 1998 A
5850218 LaJoie et al. Dec 1998 A
5861906 Dunn et al. Jan 1999 A
5881245 Thompson Mar 1999 A
5883621 Iwamura Mar 1999 A
5884028 Kindell et al. Mar 1999 A
5884141 Inoue et al. Mar 1999 A
5886707 Berg Mar 1999 A
5886732 Humpleman Mar 1999 A
5887243 Harvey et al. Mar 1999 A
5892915 Duso et al. Apr 1999 A
5894589 Reber et al. Apr 1999 A
5896414 Meyer et al. Apr 1999 A
5898441 Flurry Apr 1999 A
5898456 Wahl Apr 1999 A
5899582 DuLac May 1999 A
5900904 Okada et al. May 1999 A
5903234 Kimura May 1999 A
5903263 Emura May 1999 A
5903264 Moeller et al. May 1999 A
5905522 Lawler May 1999 A
5905847 Kobayashi et al. May 1999 A
5909638 Allen Jun 1999 A
5911046 Amano Jun 1999 A
5913039 Nakamura et al. Jun 1999 A
5914941 Janky Jun 1999 A
5915090 Joseph et al. Jun 1999 A
5915094 Kouloheris et al. Jun 1999 A
5916303 Scott Jun 1999 A
5917538 Asamizuya Jun 1999 A
5917835 Barrett et al. Jun 1999 A
5920702 Bleidt et al. Jul 1999 A
5920800 Schafer Jul 1999 A
5922045 Hanson Jul 1999 A
5922048 Emura Jul 1999 A
5923361 Sutton, Jr. Jul 1999 A
5926205 Krause et al. Jul 1999 A
5926624 Katz et al. Jul 1999 A
5928327 Wang et al. Jul 1999 A
5929850 Broadwin et al. Jul 1999 A
5930473 Teng et al. Jul 1999 A
5930493 Ottesen et al. Jul 1999 A
5931901 Wolfe et al. Aug 1999 A
5933603 Vahalia et al. Aug 1999 A
5933835 Adams et al. Aug 1999 A
5935206 Dixon et al. Aug 1999 A
5936569 Stahle et al. Aug 1999 A
5940071 Treffers et al. Aug 1999 A
5940073 Klosterman et al. Aug 1999 A
5943046 Cave et al. Aug 1999 A
5943047 Suzuki Aug 1999 A
5945987 Dunn Aug 1999 A
5945988 Williams et al. Aug 1999 A
5947746 Tsai Sep 1999 A
5949411 Doerr et al. Sep 1999 A
5949954 Young et al. Sep 1999 A
5956482 Aqraharam et al. Sep 1999 A
5956716 Kenner et al. Sep 1999 A
5959659 Dokic Sep 1999 A
5963202 Polish Oct 1999 A
5964455 Catanzarite et al. Oct 1999 A
5969283 Looney et al. Oct 1999 A
5969714 Butcher Oct 1999 A
5973680 Ueda Oct 1999 A
5973722 Wakai et al. Oct 1999 A
5974217 Haraguchi Oct 1999 A
5977963 Gaughan et al. Nov 1999 A
5977964 Williams et al. Nov 1999 A
5978567 Rebane et al. Nov 1999 A
5978843 Wu et al. Nov 1999 A
5986650 Ellis et al. Nov 1999 A
5990881 Inoue et al. Nov 1999 A
5999970 Krisbergh et al. Dec 1999 A
6002394 Schein et al. Dec 1999 A
6002720 Yurt et al. Dec 1999 A
6005564 Ahmad et al. Dec 1999 A
6005600 Hill Dec 1999 A
6006257 Slezak Dec 1999 A
6008802 Iki et al. Dec 1999 A
6009465 Decker et al. Dec 1999 A
6012089 Hasegawa Jan 2000 A
6012091 Boyce Jan 2000 A
6014184 Knee et al. Jan 2000 A
6014381 Troxel et al. Jan 2000 A
6014694 Aharoni et al. Jan 2000 A
6014706 Cannon et al. Jan 2000 A
6018359 Kermiode et al. Jan 2000 A
6018765 Durana et al. Jan 2000 A
6020912 De Lang Feb 2000 A
6022223 Taniguchi et al. Feb 2000 A
6023725 Ozawa et al. Feb 2000 A
6025868 Russo Feb 2000 A
6028600 Rosin et al. Feb 2000 A
6029064 Farris et al. Feb 2000 A
6032202 Lea et al. Feb 2000 A
6038591 Wolfe et al. Mar 2000 A
6038614 Chan et al. Mar 2000 A
6049831 Gardell et al. Apr 2000 A
6052145 Macrae et al. Apr 2000 A
6085236 Lea Jul 2000 A
6091883 Artigalas et al. Jul 2000 A
6098082 Gibbon et al. Aug 2000 A
6111677 Shintani et al. Aug 2000 A
6118450 Proehl Sep 2000 A
6125230 Yaginuma Sep 2000 A
6141488 Knudson et al. Oct 2000 A
6147715 Yuen et al. Nov 2000 A
6154206 Ludtke Nov 2000 A
6160546 Thompson et al. Dec 2000 A
6160796 Zou Dec 2000 A
6166730 Goode et al. Dec 2000 A
6167188 Young et al. Dec 2000 A
6169725 Gibbs et al. Jan 2001 B1
6170006 Namba Jan 2001 B1
6177931 Alexander et al. Jan 2001 B1
6182094 Humpleman et al. Jan 2001 B1
6184878 Alonso et al. Feb 2001 B1
6208335 Gordon et al. Mar 2001 B1
6208341 van Ee et al. Mar 2001 B1
6219839 Sampsell Apr 2001 B1
6232539 Looney et al. May 2001 B1
6236395 Sezan et al. May 2001 B1
6237049 Ludtke May 2001 B1
6239794 Yuen et al. May 2001 B1
6243707 Humpleman et al. Jun 2001 B1
6243725 Hempleman Jun 2001 B1
6263503 Margulis Jul 2001 B1
6289165 Abecassis Sep 2001 B1
6314575 Billock et al. Nov 2001 B1
6324338 Wood et al. Nov 2001 B1
6353700 Zhou Mar 2002 B1
6356971 Katz Mar 2002 B1
6359661 Nickum Mar 2002 B1
6388714 Schein et al. May 2002 B1
6393430 Van Ryzin May 2002 B1
6441832 Tao et al. Aug 2002 B1
6456621 Wada et al. Sep 2002 B1
RE37881 Haines Oct 2002 E
6466080 Kawai Oct 2002 B2
6473559 Knudson et al. Oct 2002 B1
6483986 Krapf Nov 2002 B1
6487145 Berhan Nov 2002 B1
6487362 Yuen et al. Nov 2002 B1
6496981 Wistendahl et al. Dec 2002 B1
6498895 Young et al. Dec 2002 B2
6505348 Knowles et al. Jan 2003 B1
6564378 Satterfield et al. May 2003 B1
6577735 Bharat Jun 2003 B1
6647417 Hunter et al. Nov 2003 B1
6657116 Gunnerson Dec 2003 B1
6671882 Murphy et al. Dec 2003 B1
6741617 Rosengren et al. May 2004 B2
6751402 Elliott et al. Jun 2004 B1
6756997 Ward, III et al. Jun 2004 B1
6813775 Finseth et al. Nov 2004 B1
6816175 Hamp et al. Nov 2004 B1
6816904 Ludwig et al. Nov 2004 B1
6820278 Ellis Nov 2004 B1
6826512 Dara-Abrams et al. Nov 2004 B2
6837789 Garahi et al. Jan 2005 B2
6839769 Needham Jan 2005 B2
6850693 Young et al. Feb 2005 B2
6882793 Fu Apr 2005 B1
6901603 Zeidler May 2005 B2
6931593 Grooters Aug 2005 B1
6934964 Schaffer et al. Aug 2005 B1
6938101 Hayes et al. Aug 2005 B2
6950624 Kim et al. Sep 2005 B2
6973474 Hatayama Dec 2005 B2
7039643 Sena et al. May 2006 B2
7047377 Elder et al. May 2006 B2
7058635 Shah-Nazaroff Jun 2006 B1
7086077 Giammaressi Aug 2006 B2
7098958 Wredenhagen et al. Aug 2006 B2
7103906 Katz et al. Sep 2006 B1
7143432 Brooks et al. Nov 2006 B1
7159235 Son et al. Jan 2007 B2
7178161 Fristoe et al. Feb 2007 B1
7213071 DeLima et May 2007 B2
7231175 Ellis Jun 2007 B2
7237253 Blackketter et al. Jun 2007 B1
7240356 Iki Jul 2007 B2
7248778 Anderson et al. Jul 2007 B1
7260461 Rao et al. Aug 2007 B2
7269733 O'Toole, Jr. Sep 2007 B1
7483964 Jackson et al. Jan 2009 B1
7574723 Putterman et al. Aug 2009 B2
7650621 Thomas et al. Jan 2010 B2
7684673 Monroe Mar 2010 B2
7689510 Lamkin et al. Mar 2010 B2
7840977 Walker Nov 2010 B2
7917933 Thomas et al. Mar 2011 B2
20010004338 Yankowski Jun 2001 A1
20010007147 Goldschmidt Iki et al. Jul 2001 A1
20010026287 Watanabe Oct 2001 A1
20010039660 Vasilevsky Nov 2001 A1
20010042107 Palm Nov 2001 A1
20010043700 Shima et al. Nov 2001 A1
20020010652 Deguchi Jan 2002 A1
20020043700 Sasaki et al. Apr 2002 A1
20020046315 Miller Apr 2002 A1
20020056087 Berezowski et al. May 2002 A1
20020059588 Huber May 2002 A1
20020059642 Russ May 2002 A1
20020069218 Sull et al. Jun 2002 A1
20020069746 Taira et al. Jun 2002 A1
20020070982 Hill Jun 2002 A1
20020078293 Kou et al. Jun 2002 A1
20020082901 Dunning et al. Jun 2002 A1
20020087588 McBride et al. Jul 2002 A1
20020088011 Lamkin et al. Jul 2002 A1
20020104091 Prabhu et al. Aug 2002 A1
20020113824 Myers, Jr. Aug 2002 A1
20020120935 Huber et al. Aug 2002 A1
20020161579 Saindon et al. Oct 2002 A1
20020166123 Schrader Nov 2002 A1
20020174430 Ellis et al. Nov 2002 A1
20020174444 Gatto Nov 2002 A1
20020180803 Kaplan Dec 2002 A1
20020188735 Needham Dec 2002 A1
20020194011 Boies et al. Dec 2002 A1
20020194260 Headley Dec 2002 A1
20030005446 Jaff et al. Jan 2003 A1
20030035404 Ozluturk Feb 2003 A1
20030046437 Eytchison et al. Mar 2003 A1
20030066084 Kaars Apr 2003 A1
20030066092 Wagner Apr 2003 A1
20030068154 Zylka Apr 2003 A1
20030105813 Mizutani Jun 2003 A1
20030110499 Knudson et al. Jun 2003 A1
20030135860 Dureau Jul 2003 A1
20030149980 Ellis Aug 2003 A1
20030149988 Ellis Aug 2003 A1
20030152096 Chapman Aug 2003 A1
20030162096 Michot et al. Aug 2003 A1
20030163832 Tsuria et al. Aug 2003 A1
20030194260 Ward et al. Oct 2003 A1
20030214955 Kim Nov 2003 A1
20030220091 Farrand et al. Nov 2003 A1
20040008971 Young et al. Jan 2004 A1
20040008972 Haken Jan 2004 A1
20040088731 Putterman et al. May 2004 A1
20040117831 Ellis Jun 2004 A1
20040128686 Boyer et al. Jul 2004 A1
20040139233 Kellerman et al. Jul 2004 A1
20040156614 Bumgardner et al. Aug 2004 A1
20040181814 Ellis et al. Sep 2004 A1
20040184763 DiFrancesco Sep 2004 A1
20040193648 Lai et al. Sep 2004 A1
20040220091 Adam et al. Nov 2004 A1
20040226034 Kaczowka et al. Nov 2004 A1
20040237104 Cooper et al. Nov 2004 A1
20040255326 Alson Dec 2004 A1
20040259537 Ackley Dec 2004 A1
20040267965 Vasudevan et al. Dec 2004 A1
20050028208 Ellis Feb 2005 A1
20050039208 Veeck Feb 2005 A1
20050044567 Young et al. Feb 2005 A1
20050071876 van Beek Mar 2005 A1
20050102324 Spring et al. May 2005 A1
20050120373 Thomas et al. Jun 2005 A1
20050132264 Joshi et al. Jun 2005 A1
20050138658 Bryan Jun 2005 A1
20050204388 Knudson et al. Sep 2005 A1
20050227611 Ellis Oct 2005 A1
20050246393 Coates Nov 2005 A1
20050251827 Ellis et al. Nov 2005 A1
20060004685 Pyhalammi Jan 2006 A1
20060015888 Shih Jan 2006 A1
20060031883 Ellis et al. Feb 2006 A1
20060037054 McDowell et al. Feb 2006 A1
20060064728 Son et al. Mar 2006 A1
20060080707 Laksono Apr 2006 A1
20060085835 Istvan et al. Apr 2006 A1
20060095942 van Beek May 2006 A1
20060173838 Garg et al. Aug 2006 A1
20060215650 Wollmershauser et al. Sep 2006 A1
20060238648 Wogsberg Oct 2006 A1
20060248570 Witwer Nov 2006 A1
20060253874 Stark et al. Nov 2006 A1
20060259949 Schaefer et al. Nov 2006 A1
20060271953 Jacoby et al. Nov 2006 A1
20070011709 Katz Jan 2007 A1
20070022442 Gil et al. Jan 2007 A1
20070028267 Ostojic et al. Feb 2007 A1
20070055980 Megeid et al. Mar 2007 A1
20070089160 Ando Apr 2007 A1
20070094702 Khare et al. Apr 2007 A1
20070124781 Casey et al. May 2007 A1
20070147351 Dietrich et al. Jun 2007 A1
20070157234 Walker Jul 2007 A1
20070157240 Walker Jul 2007 A1
20070157241 Walker Jul 2007 A1
20070157242 Cordray et al. Jul 2007 A1
20070157266 Ellis et al. Jul 2007 A1
20070162661 Fu et al. Jul 2007 A1
20070174774 Lerman et al. Jul 2007 A1
20070198659 Lam Aug 2007 A1
20070220024 Putterman et al. Sep 2007 A1
20070220580 Putterman et al. Sep 2007 A1
20070282969 Dietrich et al. Dec 2007 A1
20070283046 Dietrich et al. Dec 2007 A1
20080060001 Logan et al. Mar 2008 A1
20080263227 Roberts et al. Oct 2008 A1
20090019492 Grasset Jan 2009 A1
20100186034 Walker Jul 2010 A1
Foreign Referenced Citations (139)
Number Date Country
2635571 May 2009 CA
0 424 469 May 1991 EP
2 256 115 Nov 1992 EP
0 535 749 Apr 1993 EP
0 572 090 Dec 1993 EP
0 605 115 Jul 1994 EP
0 624 039 Nov 1994 EP
0 662 771 Jul 1995 EP
0 682 452 Nov 1995 EP
0 711 076 May 1996 EP
0 725 539 Aug 1996 EP
0753964 Jan 1997 EP
0 758 833 Feb 1997 EP
0 763 938 Mar 1997 EP
0762756 Mar 1997 EP
0 854 645 Jul 1998 EP
0 673 160 Aug 1998 EP
0 874 524 Oct 1998 EP
0 924 927 Jun 1999 EP
0 932 275 Jul 1999 EP
932275 Jul 1999 EP
0 944 253 Sep 1999 EP
0 944 257 Sep 1999 EP
0940985 Sep 1999 EP
0 986 046 Mar 2000 EP
1217787 Jun 2002 EP
1217787 Jun 2002 EP
1427148 Nov 2003 EP
1427148 Jun 2006 EP
60061935 Sep 1985 JP
06111413 Apr 1994 JP
06303541 Oct 1994 JP
07-336318 Dec 1995 JP
09 214873 Aug 1997 JP
10 065978 Mar 1998 JP
11 032272 Feb 1999 JP
11-177962 Jul 1999 JP
11 205711 Jul 1999 JP
2003-162444 Jun 2003 JP
2003-209893 Jul 2003 JP
H11-341040 Dec 2009 JP
1999-0086454 Dec 1999 KR
247388 Oct 1994 TW
WO-8804507 Jun 1988 WO
WO 8912370 Dec 1989 WO
WO 9000847 Jan 1990 WO
WO 9100670 Jan 1991 WO
WO 9107050 May 1991 WO
WO 9204801 Mar 1992 WO
WO 9308542 Apr 1993 WO
WO 9322877 Nov 1993 WO
WO 9501058 Jan 1995 WO
WO-9504431 Feb 1995 WO
WO 9515658 Jun 1995 WO
WO 9531069 Nov 1995 WO
WO 9532583 Nov 1995 WO
WO 9532584 Nov 1995 WO
WO 9532585 Nov 1995 WO
WO 9532587 Nov 1995 WO
WO 9609721 Mar 1996 WO
WO 9617467 Jun 1996 WO
WO 9625821 Aug 1996 WO
WO-9631980 Oct 1996 WO
WO 9633572 Oct 1996 WO
WO 9634467 Oct 1996 WO
WO-9634491 Oct 1996 WO
WO 9641472 Dec 1996 WO
WO-9641478 Dec 1996 WO
WO-9713368 Apr 1997 WO
WO 9721291 Jun 1997 WO
WO 9732434 Sep 1997 WO
WO 9734413 Sep 1997 WO
WO 9734414 Sep 1997 WO
WO 9737500 Oct 1997 WO
WO-9740623 Oct 1997 WO
WO 9742763 Nov 1997 WO
WO 9746016 Dec 1997 WO
WO-9746943 Dec 1997 WO
WO-9747124 Dec 1997 WO
WO 9748228 Dec 1997 WO
WO 9749237 Dec 1997 WO
WO 9801995 Jan 1998 WO
WO 9807277 Feb 1998 WO
WO 9810589 Mar 1998 WO
WO 9812872 Mar 1998 WO
WO-9817064 Apr 1998 WO
WO 9818260 Apr 1998 WO
WO 9819459 May 1998 WO
WO 9826528 Jun 1998 WO
WO 9826584 Jun 1998 WO
WO 9826596 Jun 1998 WO
WO 9831115 Jul 1998 WO
WO 9831116 Jul 1998 WO
WO 9834405 Aug 1998 WO
WO 9838831 Sep 1998 WO
WO 9847279 Oct 1998 WO
WO 9847283 Oct 1998 WO
WO 9848566 Oct 1998 WO
WO 9903267 Jan 1999 WO
WO 9904561 Jan 1999 WO
WO 9911060 Mar 1999 WO
WO 9912320 Mar 1999 WO
WO-9914945 Mar 1999 WO
WO9914945 Mar 1999 WO
WO 9914945 Mar 1999 WO
WO 9927681 Jun 1999 WO
WO 9928897 Jun 1999 WO
WO-9935753 Jul 1999 WO
WO 9935753 Jul 1999 WO
WO9935753 Jul 1999 WO
WO 9939466 Aug 1999 WO
WO 9956473 Nov 1999 WO
WO-9960790 Nov 1999 WO
WO-9964969 Dec 1999 WO
WO9964969 Dec 1999 WO
WO 9964969 Dec 1999 WO
WO 9965244 Dec 1999 WO
WO 9966725 Dec 1999 WO
WO 0004706 Jan 2000 WO
WO 0005885 Feb 2000 WO
WO 0011869 Mar 2000 WO
WO 0016548 Mar 2000 WO
WO-0017738 Mar 2000 WO
WO0017738 Mar 2000 WO
WO 0017738 Mar 2000 WO
WO 0030345 May 2000 WO
WO 0033208 Jun 2000 WO
WO 0033560 Jun 2000 WO
WO 0033565 Jun 2000 WO
WO-0059230 Oct 2000 WO
WO0059230 Oct 2000 WO
WO 0059230 Oct 2000 WO
WO 0101677 Jan 2001 WO
WO 0101689 Jan 2001 WO
WO 0135662 May 2001 WO
WO 0150743 Jul 2001 WO
WO-03046727 Jun 2003 WO
WO 200461699 Jul 2004 WO
WO 2007078503 Jul 2007 WO
Related Publications (1)
Number Date Country
20070220024 A1 Sep 2007 US