`
`1111111111111111111111111114101111111)11111111111111111111111111
`
`(12) United States Patent
`Lai et al.
`
`(to) Patent No.:
`(45) Date of Patent:
`
`US 6,407,680 B1
`Jun. 18, 2002
`
`(54) DISTRIBUTED ON-DEMAND MEDIA
`TRANSCODING SYSTEM AND METHOD
`
`(75)
`
`Inventors: Angela C. W. Lai, Mountain View;
`James Peter Hoddie, Menlo Park;
`Howard E. Chartock, Palo Alto;
`Christopher V. Pirazzi, Redwood City;
`Giovanni M. Agnoli, San Francisco;
`Harry A. Chomsky, Oakland; Steve H.
`Chen, Santa Clara; Hitoshi Hokamura,
`Sunnyvale, all of CA (US)
`
`(73)
`
`Assignee: Generic Media, Inc., Menlo Park, CA
`(US)
`
`* )
`
`Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`(21)
`
`Appl. No.: 09/742,294
`
`(22)
`
`Filed:
`
`Dec. 22, 2000
`
`(51)
`(52)
`
`Int. C1.7
`U.S. Cl.
`
` HO3M 7/00
` 341/50; 341/51; 341/52;
`341/56; 341/62; 341/63; 341/75; 348/470;
`348/192; 348/469; 348/434; 348/466; 348/384;
`375/240; 375/270; 375/133; 370/255; 370/278;
`370/282; 370/477; 709/203; 709/217; 709/218;
`709/223; 709/229
` 341/51, 50, 58,
`(58) Field of Search
`341/61, 87, 65, 56; 709/203, 217, 218,
`223, 229; 370/255, 278, 282, 477; 375/133,
`220, 240; 348/192, 469, 434, 466, 384,
`470
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`3,394,352 A * 7/1968 Wernikoff et al.
`3,913,093 A * 10/1975 De Vincentiis et al.
`3,937,881 A * 2/1976 Hawkes
`5,526,397 A * 6/1996 Lohman
`
` 341/50
` 341/51
` 341/68
` 455/560
`
`5,657,015 A * 8/1997 Nakajima et al.
`5,920,354 A * 7/1999 Fedele
`6,058,107 A * 5/2000 Love et al.
`6,058,143 A * 5/2000 Golin
`6,215,824 B1 * 8/2001 Assuncao
`6,339,450 B1 * 1/2002 Chang et al.
`
`341/61
`348/446
`370/332
`375/240
`375/240
`348/470
`
`OTHER PUBLICATIONS
`
`Chapman, Nigel et al., "Digital Multimedia," John Wiley &
`Sons, Ltd., Copyright 2000 (Entire book provided).
`Murray, James D. et al., "Encyclopedia of Graphics File
`Formats: Second Edition," O'Reilly & Associates, Inc.,
`Copyright 1994, 1996 (Entire book provided).
`
`* cited by examiner
`
`Primary Examiner—Michael Tokar
`Assistant Examiner—Lam T. Mai
`(74) Attorney, Agent, or Firm—Sterne, Kessler, Goldstein
`& Fox P.L.L.C.
`
`(57)
`
`ABSTRACT
`
`A system and method for the on-demand transcoding of
`media content from a source type to a destination type is
`provided, wherein the system includes a plurality of
`transcoders for transcoding from a plurality of source types
`to a plurality of destination types, and wherein the system
`receives a transcoding request for media content, fetches the
`media content in response to the transcoding request, sends
`the media content to one of the plurality of transcoders based
`on the source type and destination type, transcodes the
`media content from the source type to the destination type,
`thereby generating transcoded media content, and transmits
`the transcoded media content. The system fetches, sends,
`and transcodes the media content and transmits the
`transcoded media content in a pipelined fashion. The system
`also provides for the publication of media content as a file
`or stream of digital data, for the archiving of media content,
`and the caching of transcoded media content to improve
`system efficiency.
`
`47 Claims, 8 Drawing Sheets
`
`1°
`
`218
`
`FLe
`
`YRANSIBB1ER
`
`220
`
`222
`
`'F TE=
`
`
`
`
`
`ST7BrEl
`
`H tZ
`
` 7=1/N
`
`y -210
`
`212
`
`DATABASE
`
`TR
`
`E
`
`208
`
`206
`
`21
`
`VIEWER
`‘1-.ESR'FRP.VC'E'
`
`CO TB1,T MOE DER
`I TERFACE
`
`04
`
`RECCE. TO GAL FOR PUNAISFIED
`PUBLISH CONTENT CONTENT
`REQUEST RED PELT CONTENT OR LOCATION/
`TO KA:FSE VIEWER TO
`•LCMS INFORM/MON
`CONTENT STREAMING
`
`STREAM CONTENT
`TO VIEWER CLIENT
`
`Page 1
`
`NETFLIX, INC
`Exhibit 1016
`IPR2018-01630
`
`
`
`U.S. Patent
`
`Jun. 18, 2002
`
`Sheet 1 of 8
`
`US 6,407,680 B1
`
`) 02
`
`VIEWER
`CLIENT
`
`o
`
`108
`
`104
`
`CONTENT
`PROVIDER
`CLIENT
`
`) 06
`
`MEDIA
`TRANSCODING
`ENGINE
`
`FIG. 1
`
`Page 2
`
`
`
`U.S. Patent
`
`Jun. 18, 2002
`
`Sheet 2 of 8
`
`US 6,407,680 B1
`
`) 06
`
`210
`
`—212
`
`TRANSCODED
`CACHE
`
`Slave
`Monitor
`
`Slave
`Monitor
`
`Slave
`Monitor
`
`TRANSCODER
`
`TRANSCODER
`
`TRANSCODER
`
`208
`
`1._
`
`•
`
`
`
`_.
`r _54--220
`
`—111.
`
`DATABASE
`
`:
`
`RESOURCE
`MANAGER
`
`I
`
`Slave
`Monitor
`
`Slave
`Monitor
`
`Slave
`Monitor
`
`TRANSMITTER
`
`TRANSMITTER
`
`TRANSMITTER
`
`L.
`
`•
`
`r )--222
`
`Slave
`Monitor
`
`STREAMING
`SERVER
`
`Slave
`Monitor
`
`STREAMING
`SERVER
`
`Slave
`Monitor
`
`STREAMING
`SERVER
`
`L
`
`,
`
`1
`
`____,--206
`
`y _5,-214
`
`TASK MANAGER
`
`MASTER
`ARCHIVE
`
`I
`
`VIEWER
`WEB-SERVER
`INTERFACE
`
`CONTENT PROVIDER
`—I.- WEB-SERVER
`INTERFACE
`
`---' ----202
`
`L
`--t"----204
`
`REQUEST TO
`V PUBLISH CONTENT
`
`V
`URL FOR PUBLISHED
`CONTENT
`
`REQUEST REDIRECT CONTENT OR LOCATION/
`TO ACCESS VIEWER TO
`ACCESS INFORMATION
`CONTENT STREAMING
`SERVER
`
`•
`STREAM CONTENT
`TO VIEWER CLIENT
`
`FIG. 2
`
`Page 3
`
`
`
`U.S. Patent
`
`Jun. 18, 2002
`
`Sheet 3 of 8
`
`US 6,407,680 B1
`
`r 300
`
`—302
`
`Content Provider sends request to publish media content
`
`Content provider Web server interface prompts content
`provider for media content or location/access information
`
`_x -304
`
`__J.-306
`
`__; ,-312
`
`Content provider provides media file
`
`Content provider provides location/
`access information for media file
`
`__,..-308
`
`Media file is archived in the master
`archive
`
`_5,310
`
`Identity and location of the archived
`media file is stored in the database
`
`Content provider Web server interface provides address
`and source information (e.g., URL) to content provider
`
`_5.-316
`
`FIG. 3
`
`Page 4
`
`
`
`U.S. Patent
`
`Jun. 18, 2002
`
`Sheet 4 of 8
`
`US 6,407,680 B1
`
`Content Provider sends request to publish
`streaming media content
`
`r 400
`
`_x -402
`
`404
`
`Content provider Web server interface prompts content
`provider for streaming media content
`
`,r•- `
`Content provider continuously streams media content to
`the content provider Web server interface
`
`06
`
`10
`,$---'
`Content provider Web server interface provides address
`and source information (e.g., URL) to content provider
`
`FIG. 4
`
`Page 5
`
`
`
`U.S. Patent
`
`Jun. 18, 2002
`
`Sheet 5 of 8
`
`US 6,407,680 B1
`
`r 500
`
`Viewer sends a request to access media content
`
`502
`
`Task Manager determines if
`necessary request information is available
`
`,,--504
`
`4
`
`506
`
`Necessary
`request information
`available?
`
`Task Manager fetches ......„..-508
`necessary information
`
`NO
`
`YES
`
`V
`
`Task Manager determines what tasks
`need to be executed in order to deliver
`requested media content
`
`_x -510
`
`Resource Manager assigns each task to
`one or more machines within the machine farm
`
`Task Manager sends a reply to the viewer client,
`redirecting viewer client to streaming server from
`which requested media content will be received
`
`512
`
`514
`
`FIG. 5A
`
`Page 6
`
`
`
`U.S. Patent
`
`Jun. 18, 2002
`
`Sheet 6 of 8
`
`US 6,407,680 B1
`
`500
`
`516
`
`Requested media
`content in transcoded
`cache in appropriate
`destination type?
`
`Transmitter server begins fetching
`the requested media content from the source location
`
`Source type
`the same as
`destination type?
`
`Transcoding server transcodes the
`media content from source type
`to destination type as it is fetched
`
`Streaming servers stream media content to the
`viewer client in appropriate destination type
`
`Viewer client receives and plays streaming media content
`
`526
`
`FIG. 5B
`
`Page 7
`
`
`
`Juaied 'S11
`
`8 JO L PaqS
`
`iff 089`L017`9 Sa
`
`TRANSCODER
`218
`
`610
`
`SOURCE TYPE MEDIA CONTENT
`
`DESTINATION TYPE MEDIA CONTENT
`
`• SOURCE FILE FORMAT
`
`SOURCE BIT RATE
`
`• DESTINATION FILE FORMAT
`
`• DESTINATION BIT RATE
`
`•
`
`•
`
`•
`
`•
`
`SOURCE PHYSICAL MEDIUM
`
`• DESTINATION PHYSICAL MEDIUM
`
`SOURCE COMMUNICATION PROTOCOL
`
`• DESTINATION COMMUNICATION PROTOCOL
`
`SOURCE ENCODING
`
`• DESTINATION ENCODING
`
`FIG. 6
`
`Page 8
`
`
`
`Waled *S11
`
`P
`IX
`IN
`0
`0
`IN
`
`8 Jo 8 13311S
`
`iff 089`L017`9 Sa
`
`PUBLISHING VARIABLES
`
`SOURCE TYPE
`710
`
`DESTINATION TYPE
`750
`
`DESTINATION TYPE
`760
`
`PHYSICAL MEDIUM
`
`LOCAL DISK
`
`INTERNET
`
`WIRELESS NETWORK
`
`COMMUNICATION
`PROTOCOL
`
`FILE I/O
`
`WINDOWS MEDIA
`STREAMING MMS
`PROTOCOL
`
`HTTP
`
`CONTAINER FORMAT
`
`MP3
`
`WINDOWS MEDIA
`
`MP3
`
`ENCODING BIT RATE
`
`128 kpbs
`
`56 kbps
`
`12 kbps
`
`FIG. 7
`
`Page 9
`
`
`
`US 6,407,680 B1
`
`1
`DISTRIBUTED ON-DEMAND MEDIA
`TRANSCODING SYSTEM AND METHOD
`
`BACKGROUND OF THE INVENTION
`
`1. Field of the Invention
`The present invention relates to a system and method for
`transcoding information. More specifically, the present
`invention relates to a system and method for transcoding
`media content.
`2. Related Art
`The rapid publication of media content has been sought
`throughout human history. Publishers strive to deliver media
`content faster to larger audiences. As used herein, the term
`"media content" refers to any information, including audio,
`video, data, ideas, images, story, sound, text, or other
`content, that is perceived by one or more human senses.
`The digital representation of media content combined
`with computing and networking technologies now provide a
`powerful way to publish. According to this new mode of
`publishing, networking technology permits the delivery of
`digitized media content over a network to end user comput-
`ers. Communication protocols define how the digitized
`media content is exchanged over the network. A media
`player runs on the end user computer to allow the user to
`play or otherwise experience the media content.
`Digital representations of media content come in different
`types. These types are generally defined according to a series
`of publishing variables which can include. but are not
`limited to, the file format, bit rate, communication protocol
`(s), physical medium, compression algorithm, and/or digital
`rights management information associated with the media
`content. The type of digitized media content which is used
`will depend upon a number of factors, such as, the comput-
`ing and/or networking technology used in the process of
`publishing and the nature of the content itself.
`For example, many types of digitized media content are
`defined according to a file format. Common file formats
`include QUICK TIME, MPEG, AVI, MP3, REAL, WIN-
`DOWS MEDIA, H.263 video coding, and PALM-
`compatible formats. A format can define media content as a
`file or in a data stream. See, for example, the graphics file
`formats and other formats described by J. D. Murray and W.
`vanRyper, The Encyclopedia of Graphics File Formats,
`Second Edition (O'Reilly & Associates, Inc.: Sebastopol,
`Calif.), 1996, which is incorporated in its entirety herein by
`reference.
`Digitized media content types can also be categorized
`according to the type of encoding or compression technique
`that is used to reduce the physical size of the media content,
`or according to the type of physical medium that supports
`the storage of the media content. Different kinds of physical
`medium are used in publishing media content, such as
`magnetic or optical storage devices, memory devices, and
`wireless mediums.
`Digitized media content types may also be categorized by
`the type of communication protocol or protocols used to
`transmit the media content. In packet-switched networks
`such as the Internet, many layers of protocols are used. Such
`protocols can include network and transport protocols and
`application protocols. Network and transport protocols are
`in part responsible for delivering packets of digital data.
`Examples of network and transport protocols are Internet
`Protocol (IP), Transmission Control Protocol (TCP), User
`Datagram Protocol (UDP), and Real-Time Transport Proto-
`col (RTP). Application protocols are higher level protocols
`
`
`
`0 3
`
`2
`that run on top of the network and transport protocols.
`Among other things, application protocols provide services
`that support digital media publishing. Examples of applica-
`tion protocols used in World Wide Web technology are
`5 HyperText Transport Protocol (HTTP) and Real-Time
`Streaming Protocol (RTSP).
`The emergence of a fast-growing number of media play-
`ers has created a widening gap between the richness of the
`various types of media content and the diverse capabilities
`10 of the client devices to handle the content. As a result, the
`technology selection process for the end user has become
`quite complicated. For example, the user often cannot be
`certain that a given media player will be able to play the type
`of media content in which he or she is interested. Also, the
`15 user may be required to frequently download new media
`playing software in order to access desired content.
`Furthermore, because users employ a wide variety of
`client media players, content providers are required to
`publish original media content in a number of source types
`20 in order to deliver the content to a large number of users.
`Content providers with archived media content also face a
`burden of having to publish archived media content into new
`or updated source types.
`Transcoders convert certain types of media content
`25 (source type) to another type of media content (destination
`type). This conversion is known as "transcoding." Transcod-
`ing can involve a number of different conversion operations.
`The particular conversion operations used depend upon what
`publishing variables are being converted. For example,
`transcoding can involve a conversion operation from one
`encoded data format to another encoded data format (such
`as, converting CCITT Group 3 encoded data to RLE-
`encoded data.) See, Murray and vanRyper, p. 1095.
`Conventional multi-type transcoding services are pro-
`vided off-line, before the content provider publishes media
`content, adding an undesirable and unavoidable delay to the
`publishing process. Although arrangements for the real-time
`transcoding of media content are known, (e.g., transcoding
`40 and delivery of live media events over the Internet), these
`arrangements are limited in that they only allow for media
`content to be transcoded into a single destination type, and
`do not permit for the delivery of media content in multiple
`destination types.
`45 Also, because off-line multi-format transcoding services
`are expensive, content providers can only afford to have
`their media content transcoded into a limited number of
`destination types. Users with media players incapable of
`accommodating the destination type of the transcoded files
`so simply cannot access the content. Accordingly, conventional
`media production is limited to a "push" process in which
`content providers are forced to speculate about which media
`player users will employ to play their media files.
`As a further result of this rapid development in media
`55 publishing technology, new internet and wireless device
`manufacturers must also invest heavily in the transcoding of
`media content so that a variety of content can be experienced
`on new media playing devices as new destination types.
`Thus, new internet and wireless device manufacturers expe-
`60 rience the same setbacks and disadvantages from conven-
`tional transcoding schemes as described above.
`
`35
`
`SUMMARY OF THE INVENTION
`The present invention is directed to a system and method
`65 for the on-demand transcoding of media content into from a
`plurality of source types to a plurality of destination types.
`In one embodiment, a method is provided for transcoding
`
`Page 10
`
`
`
`US 6,407,680 B1
`
`5
`
`3
`media content from a source type to a destination type,
`comprising the steps of receiving a transcoding request for
`the media content, fetching the media content, selecting one
`of a plurality of transcoders for transcoding from a plurality
`of source types to a plurality of destination types based on
`the source type and the destination type, sending the media
`content to the selected transcoder, transcoding the media
`content from the source type to the destination type, thereby
`generating a transcoded media file, and transmitting the
`transcoded media content.
`In embodiments of the present invention, the media
`content may comprise either a file of digital information or
`a stream of digital data. In embodiments of the present
`invention, the media content is fetched, sent and transcoded
`as a stream of digital data, the transcoded media file is
`transmitted as a stream of digital data, and the fetching,
`sending, transcoding and transmitting are all performed in a
`pipelined fashion.
`In embodiments of the present invention, the transcoding
`request is received over the Internet and the transcoded
`media content is transmitted over the Internet.
`In embodiments of the present invention, the media
`content type is defined according to at least one publishing
`variable, wherein the publishing variable may be the file
`format of the media content, the bit-rate of the media
`content, the compression algorithm according to which the
`media content is stored, the communication protocol accord-
`ing to which the media content is transferred, or the physical
`medium on which the media content is stored, and the step
`of transcoding the media content comprises converting the
`publishing variable of the media content from a source
`publishing variable type to a destination publishing variable
`type.
`A media transcoding system in accordance with the
`present invention transcodes media content from a source
`type to a destination type. The media transcoding system
`includes a network interface, a resource manager, a trans-
`mitting server, a streaming server, and a plurality of
`transcoders for transcoding from a plurality of source types
`to a plurality of destination types. The network interface is
`adapted to receive a transcoding request for the media
`content. The resource manager is adapted to respond to the
`transcoding request and, in response to the transcoding
`request, to command the transcoding server to fetch the
`media content, to select one of the plurality of transcoders
`based on the source type and the destination type, to
`command the selected transcoder to transcode the media
`content from the source type to the destination type, thereby
`generating transcoded media content, and to command the
`streaming server to transmit the transcoded media content.
`In embodiments of the present invention, the media
`content may comprise a file of digital information or a
`stream of digital data.
`In embodiments of the present invention, the transmitting
`server is adapted to fetch the media content as a data stream,
`the selected transcoder is adapted to transcode the media
`content as a data stream, and the streaming server is adapted
`to transmit the transcoded media content as a data stream.
`The resource manager manages the operation of the trans-
`mitting server, the selected transcoder, and the streaming
`server so that the fetching, transcoding and transmitting
`occur in a pipelined fashion.
`In embodiments of the present invention, the network
`interface is adapted to receive the transcoding request over 65
`the Internet and the streaming server is adapted to transmit
`the transcoded media content over the Internet.
`
`0
`
`4
`In embodiments of the present invention, the media
`content type is defined according to at least one publishing
`variable, wherein the publishing variable may be the file
`format of the media content, the bit-rate of the media
`5 content, the compression algorithm according to which the
`media content is stored, the communication protocol accord-
`ing to which the media content is transferred, or the physical
`medium on which the media content is stored, and the
`selected transcoder is adapted to convert the publishing
`variable of the media content from a source publishing
`variable type to a destination publishing variable type.
`The invention is advantageous in that it permits the
`transcoding of media content on demand from a single
`source type to a variety of destination types in a manner that
`is transparent to the content provider and the user.
`The invention is also advantageous in that it permits the
`transcoding of media content stored in files on demand from
`a single source type to a variety of destination types in a
`manner that is transparent to the content provider and the
`user.
`20 Another advantage of the invention is that it permits the
`transcoding of live (i.e., streaming) media content on
`demand from a single source type to a variety of destination
`types in a manner that is transparent to the content provider
`and the user.
`25 Another benefit of the invention is that it permits a user to
`play various types of media content regardless of the media
`player employed by the user.
`Yet another benefit of the invention is that it obviates the
`need for a user to download a newer media player or upgrade
`30 an existing media player in order to access desired media
`content.
`A further advantage of the invention is that it permits a
`content provider to provide original media content in a
`single source type to a large number of users using diverse
`35 media players that accept different media content types.
`A further benefit of the invention is that it expedites the
`publishing process for media content providers by allowing
`them to publish media content without first employing
`off-line encoding services. The invention thus minimizes the
`40 time-to-market for the publication of media content.
`Another benefit of the invention is that it creates a lower
`barrier of entry to media publication by permitting content
`providers to out-source necessary transcoding tasks and to
`avoid investment in transcoding servers and other equipment
`45 necessary for transcoding.
`Yet another benefit of the invention is that it permits
`content providers to deliver media content to users with
`media players incapable of accommodating the source type
`of the original media content.
`50 A further advantage of the invention is that it defers the
`transcoding of media content until the content is demanded
`by a user for a specific media player. Accordingly, content
`providers can avoid an unnecessary investment in the
`transcoding of original media content to types not requested
`55 by users.
`Additional features and advantages of the invention will
`be set forth in the description that follows, and in part will
`be apparent from the description, or may be learned by
`practice of the invention. The objectives and other advan-
`60 tages of the invention will be realized and attained by the
`system and method particularly pointed out in the written
`description and claims hereof as well as the appended
`drawings.
`
`BRIEF DESCRIPTION OF THE FIGURES
`The accompanying drawings, which are incorporated
`herein and form a part of the specification, illustrate the
`
`Page 11
`
`
`
`US 6,407,680 B1
`
`5
`present invention and, together with the description, further
`serve to explain the principles of the invention and to enable
`a person skilled in the pertinent art to make and use the
`invention. In the drawings:
`FIG. 1 is a block diagram of a media transcoding system
`according to one embodiment of the present invention.
`FIG. 2 is a block diagram of an example media transcod-
`ing engine according to one embodiment of the present
`invention.
`FIG. 3 is a flowchart that describes a routine for publish-
`ing media content according to an embodiment of the
`present invention.
`FIG. 4 is a flowchart that describes a routine for publish-
`ing media content according to an embodiment of the
`present invention.
`FIGS. 5A-5B are a flowchart that describes a routine for
`accessing media content according to an embodiment of the
`present invention.
`FIG. 6 depicts an exemplary transcoder that may be used
`in accordance with embodiments of the present invention.
`FIG. 7 is a table showing exemplary transcoding source
`types and destination types for various publishing variables
`according to an embodiment of the present invention.
`The present invention will now be described with refer-
`ence to the accompanying drawings. In the drawings, like
`reference numbers indicate identical or functionally similar
`elements. Additionally, the left-most digit(s) of a reference
`number identifies the drawing in which the reference num-
`ber first appears.
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENTS
`
`TABLE OF CONTENTS
`
`A. Overview of the Invention
`B. Operating Environment
`C. Media Transcoding Engine of the Present Invention
`D. Publishing of Media Content According to Embodiments
`of the Present Invention
`E. Accessing Media Content According to Embodiments of
`the Present Invention
`F. Further Transcoder Operation and Media Content
`Examples
`G. Alternate Embodiments of the Present Invention
`H. Conclusion
`A. Overview of the Invention
`The present invention is directed to a system and method
`for the on-demand transcoding of media information from a
`variety of source types into a variety of destination types.
`According to the present invention, in a system comprising
`a plurality of transcoders for transcoding from a plurality of
`source types to a plurality of destination types, a method is
`provided for transcoding media content from a source type
`to a destination type. The method includes receiving a
`transcoding request for the media content, fetching the
`media content, and sending the media content to a selected
`one of the plurality of transcoders. The transcoder is selected
`based on the source type and the destination type. The
`transcoder transcodes the media content from the source
`type to the destination type, thereby generating transcoded
`media content. The transcoded media content is then trans-
`mitted.
`A media transcoding system in accordance with the
`present invention transcodes media content from a source
`type to a destination type. The transcoding system includes
`
`5
`
`6
`a network interface, a resource manager, a transmitting
`server, a streaming server, and a plurality of transcoders for
`transcoding from a plurality of source types to a plurality of
`destination types. The network interface receives a transcod-
`ing request for media content. The resource manager com-
`mands the transmitting server to fetch the media content.
`The resource manager further selects one of the plurality of
`transcoders based on the source type and destination type,
`and commands the selected transcoder to transcode the
`10 media content from the source type to the destination type to
`generate transcoded media content. The resource manager
`also commands the streaming server to transmit the
`transcoded media content.
`The invention will now be further described with refer-
`15 ence to FIGS. 1-7.
`B. Operating Environment
`FIG. 1 is a block diagram representing an example
`operating environment 100 of the transcoding system of the
`present invention. It should be understood that the example
`20 operating environment 100 is shown for illustrative purposes
`only and does not limit the invention. Other implementa-
`tions of the operating environment described herein will be
`apparent to persons skilled in the relevant art(s) based on the
`teachings contained herein, and the invention is directed to
`25 such other implementations.
`Referring to FIG. 1, example operating environment 100
`includes a viewer client 102, a content provider client 104,
`a media transcoding engine 106, and a network 108. Only
`one viewer client 102 and content provider client 104 is
`30 shown for clarity. In general, any number of these compo-
`nents can be included in the transcoding system of the
`present invention.
`The viewer client 102, the content provider client 104 and
`the media transcoding engine 106 are all connected via a
`35 network 108. The network 108 connects all the components
`of the present invention, and can be any type of computer
`network or combination of networks including, but not
`limited to, circuit switched and/or packet switched networks,
`as well as wireless networks. In one example, the network
`40 108 includes the Internet.
`Any conventional communication protocol can be used to
`support communication between the components of the
`transcoding system 100. For example, a Transmission Con-
`trol Protocol/Internet Protocol (TCP/IP) suite can be used to
`45 establish links and transport data and Real-Time Streaming
`Protocol (RTSP) can be used to stream data between com-
`ponents of the transcoding system 100. A World Wide
`Web-based application layer and browser (and Web server)
`can also be used to further facilitate communication between
`50 the components shown in FIG. 1. However, these examples
`are illustrative. The present invention is not intended to be
`limited to a specific communication protocol or application,
`and other proprietary or non-proprietary network commu-
`nication protocols and applications can be used.
`The viewer client 102 is used by a user, or viewer. to
`request and receive media content via the network 108, and
`to play received media content. In embodiments, the viewer
`client 102 is a personal computer that includes a Web
`browser and one or more media players running under the
`60 computer operating system. Alternately, the viewer client
`102 can be a WEBTV, a WINDOWS CE device, a Personal
`Digital Assistant (PDA), a PALM handheld device, a con-
`sole appliance with network access capability, an MP3
`appliance, or any other client device and/or program capable
`65 of requesting, receiving and playing media content.
`However, the invention is not limited to these examples, and
`one skilled in the art will appreciate that a wide variety of
`
`55
`
`Page 12
`
`
`
`US 6,407,680 B1
`
`7
`client devices and programs can be used to request, receive
`and play media content via the network 108. The invention
`is directed to such other client devices and programs.
`The viewer client 102 is capable of receiving and playing
`various types of media content. For example, the viewer
`client may receive and play media content in various well-
`known encoded formats including, but not limited to,
`MPEG, AVI, MP3, REAL, WINDOWS MEDIA, QUICK
`TIME, H.263 video coding, and PALM-compatible formats.
`The content provider client 104 is used by the content
`provider to publish and/or transmit media content over the
`network 108. In embodiments, the content provider client
`104 includes a client workstation and media input device
`and/or program. For example, the content provider client
`104 may comprise a personal computer with an attached
`media input device. The content provider client 104 can
`provide media content using a variety of media input devices
`and programs. For example, media content can be provided
`using cameras (8 mm, Hi-8, or any video digitizing device),
`line-in/microphone (either attached to any of the camera
`devices. or stand-alone audio input devices), digital
`cameras, devices that upload slide shows with voice-over
`illustrations, files previously encoded in a client-chosen
`format, or files available via a network accessible mount
`point (such as, but not limited to, Hypertext Transfer Pro-
`tocol (HTTP), File Transfer Protocol (FTP), or remote
`servers). These examples are not limiting, and one skilled in
`the art will appreciate that a wide variety of client devices
`and programs can be used to publish and/or transmit media
`content via the network 108. and that the invention is
`directed to such client devices and programs.
`The content provider client 104 is capable of publishing
`and/or transmitting various types of media content. For
`example, the content provider client 104 can provide mul-
`timedia files in various well-known encoded formats
`including, but not limited to, MPEG, AVI, MP3, REAL,
`WINDOWS MEDIA, QUICK TIME, H.263 video coding,
`and PALM-compatible formats.
`The media transcoding engine 106 acts as an intermediate
`between the content provider client 104 and the viewer
`client 102. As will be described in more detail below, the
`media transcoding engine 106 receives requests for media
`content from the viewer client 102 and obtains the requested
`media content from the content provider client 104. The
`media transcoding engine 106 then transcodes the media
`content received from the content provider client 104 from
`a source type to a destination type that can be accommodated
`by the viewer client 102 and delivers the transcoded media
`content to the viewer client 102. The media transcoding
`engine 106 performs the transcoding and delivery of the
`requested media content on-demand in a manner that is
`transparent to the content provider as well as the viewer of
`the media content.
`In accordance with the present invention, because the
`media transcoding engine 106 can transcode media content
`into a variety of destination types, the content provider can
`provide media content using a single media input device and
`still del