Source: https://patents.google.com/patent/JP2004526227A/en
Timestamp: 2020-02-20 05:25:13
Document Index: 801336803

Matched Legal Cases: ['art 300', 'art 300', 'art 300', 'art 400', 'art 400', 'art 400', 'art 500', 'art 500', 'art 500', 'art.\n27']

JP2004526227A - Distributed on-demand media conversion system and method - Google Patents
Distributed on-demand media conversion system and method Download PDF
JP2004526227A
JP2004526227A JP2002553311A JP2002553311A JP2004526227A JP 2004526227 A JP2004526227 A JP 2004526227A JP 2002553311 A JP2002553311 A JP 2002553311A JP 2002553311 A JP2002553311 A JP 2002553311A JP 2004526227 A JP2004526227 A JP 2004526227A
JP2002553311A
ジョバンニ エム． アニョリー
スティーブン エイチ． チェン
ハワード イー． チャートック
ハリー エー． チョムスキー
クリストファー ブイ． ピラッツィ
ヒトシ ホカムラ
ジェイムズ ピーター ホディ
アンジェラ シー． ダブリュ． レイ
ジェネリック メディア インコーポレーティッド
2001-12-20 Application filed by ジェネリック メディア インコーポレーティッド filed Critical ジェネリック メディア インコーポレーティッド
2001-12-20 Priority to PCT/US2001/048850 priority patent/WO2002052730A1/en
2004-08-26 Publication of JP2004526227A publication Critical patent/JP2004526227A/en
A system and method for converting media content from a source type to a destination type on demand, the system including a plurality of transcoders (218) for transcoding from a plurality of source types (208). And the system receives a transcoding request for the media content, captures the media content in response to the transcoding request, and selects one of the plurality of transcoders based on the source type (208) and the destination type. A system and method for transmitting (220) the converted media content, thereby generating the converted media content and transmitting the converted media content. The system (106) captures, transmits, and converts the media content, and transmits the converted media content in a pipelined manner. The system (106) also exposes the media content as a file or stream of digital data, stores the media content, and enables caching of the converted media content, increasing system efficiency.
The present invention relates to systems and methods for converting information. In particular, the present invention relates to systems and methods for converting media content.
The rapid release of media content has always been pursued in human history. Publishers strive to supply media content to more audiences faster. As used herein, the term “media content” refers to any information, including audio, video, data, concepts, images, stories, audio, text, or other content perceived by one or more human senses. Point to.
Now, the combination of digital representation of media content with computing and networking technologies has enabled effective publishing methods. According to this new publishing mode, networking technology allows digitized media content to be provided over the network to end-user computers. Communication protocols define how digitized media content is exchanged over a network. The media player runs on the end-user computer and allows the user to play or otherwise experience the media content.
There are various types of digital representations of media content. These types generally include a set of public variables that can include, but are not limited to, file formats, bit rates, communication protocols, physical media, compression algorithms, and / or digital rights management information associated with the media content. Defined by The type of digitized media content used depends on several factors, such as the computing and / or networking technology used in the publishing process and the nature of the content itself.
For example, many types of digitized media content are defined by file formats. Common file formats include QUICK TIME, MPEG, AVI, MP3, REAL, WINDOWS MEDIA, H.263 video encoding, and PALM compatible formats. The format defines the media content as a file or in a data stream. See, for example, "The Encyclopedia of Graphics File Formats, Second Edition" by JD Murray and W. van Ryper, which is incorporated herein by reference (O'Reilly & Associates, Inc. : Sebastopol, California, 1996) and other file formats.
The type of digitized media content is categorized according to the type of encoding or compression technology used to reduce the physical size of the media content, or according to the type of physical media that supports storage of the media content. It can be divided. Various types of physical media, such as magnetic or optical storage devices, memory devices, and wireless media, have been used in publishing media content.
The types of digitized media content can also be categorized by the type of communication protocol used to transmit the media content. Many protocol layers are used in packet switching networks such as the Internet. Such protocols may include network and transport programs and application protocols. Network and transport protocols have some responsibility for providing packets of digital data. Examples of network protocols and transport protocols include Internet Protocol (IP), Transmission Control Protocol (TCP), User Datagram Protocol (UDP), and Real-Time Transport Protocol (RTP). Application protocols are higher-level protocols that operate over network and transport protocols. In particular, application protocols provide services that support digital media publishing. Examples of application protocols used in WWW technology include HyperText Transport Protocol (HTTP) and Real-Time Streaming Protocol (RTSP).
With the rapid increase in the number of media players, the difference between the rich variety of media content and the variety of functions by which client devices handle content has increased. As a result, the end user's technology selection process is extremely complicated. For example, a user often does not know for certain whether a given media player can play the type of media content that the user is interested in. Also, the user must frequently download new media playback software to access the desired content.
Further, as users use different client media players, the content provider needs to publish the initial media content in several source types in order to serve the content to a large number of users. Content providers with stored media content are also burdened with publishing the stored media content in a new or updated source type.
Transcoders convert one type of media content (source type) to another type of media content (destination type). This conversion is called "transcoding". Transcoding can include several different transform operations. The particular transformation action used depends on what public variables are being transformed. For example, transcoding can include converting from one encoded data format to another encoded data format (such as converting CCITT Group 3 encoded data to RLE encoded data). See page 1095 of Murray and vanRyper.
Conventional multi-type conversion services are performed offline before the content provider publishes the media content, introducing undesirable unavoidable delays in the publishing process. Although configurations for real-time transcoding of media content are known (e.g., transcoding and serving live media over the Internet), such configurations allow media content to be transmitted to a single destination type. And that the media content cannot be served by multiple destination types.
Further, because of the cost of offline multi-format transcoding services, content providers can only convert their media content to a limited number of destination types. Users with media players that cannot handle the destination type of the converted file will not be able to access this content. Thus, conventional media generation is limited to a "push" process in which the content provider must guess which media player the user will use to play his or her media files.
Another consequence of this rapid development of media publishing technology is that new Internet and wireless device manufacturers are also encouraging media content to be able to experience various content as new destination types on new media playback devices. You have to invest a lot in transcoding. Thus, new Internet and wireless device manufacturers experience the same shortcomings of the conventional transcoding scheme described above.
The present invention relates to a system and method for converting media content from multiple source types to multiple destination types on demand. In one aspect, a method of converting media content from a source type to a destination type, comprising: receiving a transcoding request for the media content; capturing the media content; Selecting one of a plurality of transcoders for transcoding from the plurality of source types to the plurality of destination types based on the plurality of source types; transmitting media content to the selected transcoder; A method is provided that includes converting content from a source type to a destination type, thereby generating a converted media file, and transmitting the converted media content.
In one aspect of the invention, the media content may include a file of digital information or a stream of digital data. In one aspect of the invention, media content is captured, transmitted, and converted as a stream of digital data, and the converted media file is transmitted as a stream of digital data, the capture, transmission, conversion, All transmissions are performed in a pipeline manner.
In one aspect of the invention, the transcoding request is received over the Internet, and the transformed media content is transmitted over the Internet.
In one aspect of the invention, the media content type is defined according to at least one public variable, wherein the public variable stores the media content file format, the media content bit rate, and the media content. The media content may be a compression algorithm, a communication protocol for transferring the media content, or a physical medium storing the media content. To the destination public variable type.
A media transcoding system according to the present invention converts media content from a source type to a destination type. The media transcoding system includes a network interface, a resource manager, a sending server, a streaming server, and a plurality of transcoders for transcoding from multiple source types to multiple destination types. . The network interface is adapted to receive a transcoding request for media content. The resource manager is responsive to the transcoding request, in response to the transcoding request, instructing the sending server to capture the media content, wherein one of the plurality of transcoders is based on the source type and the destination type. One to instruct the selected transcoder to convert the media content from the source type to the destination type, thereby generating the converted media content, and to the streaming server Media content is sent.
In one aspect of the invention, the media content may include a file of digital information or a stream of digital data.
In one aspect of the invention, the sending server is adapted to capture the media content as a data stream, and the selected transcoder is adapted to convert the media content as a data stream; -The server is adapted to send the converted media content as a data stream. The resource manager manages the operation of the sending server, selected transcoders, and streaming server so that ingestion, transcoding, and transmission occur in a pipelined manner.
In one aspect of the invention, the network interface is adapted to receive the transcoding request over the Internet, and the streaming server is adapted to transmit the converted media content over the Internet.
In one aspect of the invention, the media content type is defined according to at least one public variable, wherein the public variable stores the media content file format, the media content bit rate, and the media content. Compression algorithm, a communication protocol for transferring the media content, or a physical medium storing the media content, and the selected transcoder selects the media content public variable from the source public variable type to the destination. Converted to public variable type.
The present invention is advantageous in that it allows for on-demand conversion of media content from a single source type to various destination types in a manner transparent to content providers and users. .
The present invention enables on-demand conversion of media content stored in a file from a single source type to various destination types in a manner transparent to content providers and users. This is advantageous.
Another advantage of the present invention is that the present invention enables on-demand live (ie, streaming) media content from a single source type to various destination types in a manner transparent to content providers and users. To make the conversion possible.
Another advantage of the present invention is that the present invention allows a user to play various types of media content regardless of the media player used by the user.
Another advantage of the present invention is that it allows a user to access desired media content without having to download a new media player or upgrade an existing media player. It is.
Another advantage of the present invention is that the present invention allows a content provider to use multiple media players, which allow various media content types, for initial media content of a single source type. It can be given to the user.
Another advantage of the present invention is that the present invention enables the media content provider publishing process by allowing the media content provider to publish media content without first using an offline encoding service. It is easy. Thus, the present invention minimizes market time for publishing media content.
Another advantage of the present invention is that it allows a content provider to outsource the necessary transcoding tasks and avoid investment in transcoding servers and other equipment required for transcoding. This will lower the barriers to entry to the media.
Another advantage of the present invention is that the present invention allows a content provider to provide media content to a user having a media player that cannot handle the source type of the initial media content.
Another advantage of the present invention is that the present invention delays transcoding of media content until the content is requested by a particular media player user. Thus, the content provider can avoid unnecessary investment in transcoding the initial media content to a type not required by the user.
Other features and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The objects and other advantages of the invention are realized by the systems and methods particularly pointed out in the description and claims, and the accompanying drawings.
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate the invention and, together with the description, further explain the principles of the invention and allow those skilled in the art to make and use the invention. It works to make it possible.
Next, the present invention will be described with reference to the accompanying drawings. In the drawings, like reference numbers indicate identical or functionally similar elements. Further, the left-most digit (s) of a reference number identifies the drawing in which the reference number first appears.
The present invention relates to systems and methods for converting media information from various source types to various destination types on demand. According to the present invention, there is provided a method for converting media content from a source type to a destination type in a system including a transcoder for transcoding from a plurality of source types to a plurality of destination types. The method includes receiving a transcoder request for media content, capturing the media content, and transmitting the media content to a selected one of the plurality of transcoders. . The transcoder is selected based on the source type and destination type. The transcoder converts the media content from a source type to a destination type, thereby producing the converted media content. The converted media content is then transmitted.
A media content transcoding system according to the present invention converts media content from a source type to a destination type. The transcoding system includes a network interface, a resource manager, a sending server, a streaming server, and a plurality of transcoders for transcoding from multiple source types to multiple destination types. . The network interface receives a transcoding request for media content. The resource manager instructs the sending server to capture the media content. The resource manager selects one of the plurality of transcoders based on the source type and the destination type, converts the media content from the source type to the destination type to the selected transcoder, and converts To generate media content. The resource manager instructs the streaming server to send the converted media content.
Next, the present invention will be further described with reference to FIGS.
FIG. 1 is a block diagram showing an example of an operation environment of the transcoding system of the present invention. It should be understood that the example operating environment 100 is shown for illustrative purposes only and is not limiting of the present invention. Other implementations of the operating environments described herein will be apparent to those skilled in the art based on the teachings contained herein. The present invention is directed to such other implementations.
Referring to FIG. 1, an example operating environment 100 includes a viewer client 102, a content provider client 104, a media transcoding engine 106, and a network 108. For clarity, only the viewer client 102 and the content provider client 104 are shown. In general, any number of these components 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 network 108. Network 108 is a network connecting all the components of the present invention, and may be any type of computer network, including but not limited to circuit and / or packet switched networks and wireless networks. May be combined. As an example, network 108 includes the Internet.
Any type of communication protocol may be used to support communication between the components of the transcoding system 100. For example, a link may be established using the Transmission Control Protocol / Internet Protocol (TCP / IP) suite, and each component of the transcoding system 100 using transport data and Real-Time Streaming Protocol (RTSP). Data can be streamed between. A WWW-based application layer and browser (and web server) may be used to further facilitate communication between the components shown in FIG. However, these examples are illustrative. The invention is not limited to a particular communication protocol or application, but may use other patented or non-patented network communication protocols or applications.
The viewer client 102 is used when a user or viewer requests and receives media content via the network 108 and plays the received media content. In one aspect, the viewer client 102 is a personal computer that includes a web browser and one or more media players operating under a computer operating system. Alternatively, the viewer client 102 can request, receive, and play WEBTV, WINDOWS CE device, PDA (Personal Digital Assistant), PALM handheld device, console device with network access function, MP3 device, media content. It can be any other client device and / or program that can. However, the invention is not limited to these examples, and those skilled in the art will appreciate that various client devices and programs may be used to request, receive, and play media content over network 108. The present invention relates to such another client device and program.
The viewer client 102 can receive and play various types of media content. For example, the viewer client 102 may use various known formats, including, but not limited to, MPEG format, AVI format, MP3 format, REAL format, WINDOWS MEDIA format, QUICK TIME format, H.263 video encoding format, and PALM compatible format. The media content can be received and reproduced in the encoding format of.
Content provider client 104 is used when content providers publish and / or transmit media content over network 108. In one aspect, the content provider client 104 includes a client workstation and a media input device and / or program. For example, content provider client 104 may include a personal computer having a connected media input device. Content provider client 104 can provide media content using various media input devices and programs. For example, a camera (8mm, Hi-8, or any video digitizing device), a line-in / microphone (either connected to any camera device or a stand-alone audio input device), a digital camera, a voice camera A device for uploading a slide show with over-illustration, a file already encoded in a format selected by the client, or a network-accessible mount point (Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP)) , A remote server, or the like, but is not limited thereto) to provide media content. These examples are not limiting and those skilled in the art will appreciate that a variety of client devices and programs may be used to publish and / or transmit media content over network 108. The present invention relates to such a client device and a program.
Content provider client 104 can publish and / or transmit various types of media content. For example, the content provider client 104 may use a variety of formats including, but not limited to, MPEG, AVI, MP3, REAL, WINDOWS MEDIA, QUICK TIME, H.263 video encoding, and PALM compatible formats. The multimedia file can be provided in a known encoding format.
Media transcoding engine 106 acts as an intermediary between content provider client 104 and viewer client 102. As described in more detail below, the media transcoding engine 106 receives a request 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 converts the media content received from the content provider client 104 from a source type to a destination type that can be handled by the viewer client 102, and converts the converted media content to a viewer.・ Supply to the client 102. The media transcoding engine 106 transcodes and supplies the requested media content on demand, transparently to the content provider and viewers of the media content.
In accordance with the present invention, the media transcoding engine 106 can convert the media content to various destination types, so that the content provider can supply the media content using a single input device, and each can provide the media content. Content can be provided to viewers using a variety of different media players that require different destination types. Further, the present invention allows a user to access a variety of media content published on different source types, regardless of what media player the user is using. Next, the media transcoding engine 106 of FIG. 1 will be described in detail.
FIG. 2 is a block diagram of the media transcoding engine 106 according to aspects of the present invention. The media transcoding engine 106 includes a viewer web server interface 202, a content provider web server interface 204, a task manager 206, a resource manager 208, a database 210, a translated cache 212, a master archive. 214, a machine farm 216, and several components including a transcoder server 218, a transmitting server 220, and a streaming server 222 in the machine farm 216. Each component of the media transcoding engine 106 is operatively connected to each other by an internal computer network, partially represented by arrows connecting the components of FIG. The computer network comprises one or more computer buses connecting each coexisting component on the same server and each remote component including, but not limited to, a circuit switched and / or packet switched network and a wireless network. And any other type of communication infrastructure. In some aspects, the network connecting the components within the media transcoding engine 106 includes a local area network (LAN).
Next, each component of the media transcoding engine 106 will be described.
Content provider web server interface 204 is a network interface between media transcoding engine 106 and content provider client 104 that enables content providers to publish media content. is there. Content provider web server interface 204 receives and processes requests from content provider client 104 to publish media content. In some aspects, the content provider web server interface 204 also receives the media content itself from the content provider client 104 for storage within the media transcoding engine 106. Alternatively, the content provider web server interface 204 allows the media transcoding engine 106 to later find and capture the media content to transform and / or provide the media content to the viewer. Location and access information to be enabled is received from the content provider client 104.
In one aspect, the content provider provides a software tool or "plug-in" that facilitates the provision of media content from the content provider client 104 to the content provider web server interface 204. It can be downloaded from the web server interface 204. This tool configures a configurable interface that resides on the content provider client 104 and allows the content provider to upload various types of media content to the content provider web server interface 204. enable.
After the content provider web server interface 204 receives the media content or the location and access information needed to capture the media content, the content provider web server interface 204 provides the content provider client 104 with address source information. return it. The address information indicates to the media transcoding engine 106 which viewers are requesting the content provider's media content, and the source information provides information regarding the source of the requested media content. As shown in FIG. 2, in one aspect of the present invention, the address source information indicates the viewer client to the media transcoding engine 106 and provides information about the source of the requested media content to the media source. A URL (Uniform Resource Locator) to be supplied to the transcoding engine 106 is included. The content provider can announce the URL as a link on the content provider's website so that viewers accessing the content provider's website can click on the URL and click on the media transcoding engine. Enables access to media content via 106.
The viewer web server interface 202 is a network interface between the media transcoding engine 106 and the viewer client 102 that allows viewers to request and have media content provided to the viewer. is there. The viewer web server interface 202 receives and processes requests for access to media content from the viewer client 102, thereby transforming and providing the requested media content to the viewer client 102. To start. The viewer web server interface 202 responds to the viewer client 102 as the converted media content is streamed to the viewer client 102 by a streaming server and / or a proxy server as discussed in more detail below. And redirect the viewer client 102 to the appropriate server to receive the requested media content.
The media transcoding engine 106 is adapted to provide the requested media content to the viewer client 102 in an optimal destination type. The optimal destination type of the viewer client 102 can be determined in several ways.
In one aspect, the viewer downloads a software tool or “plug-in” from the viewer web server interface 202 that facilitates the provision of media content from the media transcoding engine 106 to the viewer client 102. can do. This tool runs on the viewer client 102 and helps determine the best destination type for the viewer client 102 to receive and play media content. In some aspects, the optimal destination type may be determined by automated tests performed on the viewer client 102 or by asking the viewer to explicitly supply system and preference information. The optimal destination type can then be stored as a "cookie" on the viewer client 102 by a software tool for future reference by the media transcoding engine 106.
Alternatively, the optimal destination type may be stored in a database within the media transcoding engine 106 and a "cookie" that simply identifies the user may be stored on the viewer client 102. The media transcoding engine 106 then reads the cookie and maps the user's identity to a database when requested to convert the media content so that it can be provided to the viewer client 102 to find the optimal destination. You can get the type.
In other aspects, the optimal configuration may be adjustable for higher level users, or when network conditions change between the viewer client 102 and the network 108 (eg, Internet services).・ Change of provider or change of connection speed).
As described above, the content provider web server interface 204 and the viewer web server interface 202 each include a network interface. In some aspects, the content provider web server interface 204 and the viewer web server interface 202 each include a web server. In other aspects, the content provider web server interface 204 and the viewer web server interface 202 each redirect requests to and from other physical web servers (in other words, these physical web servers). The server includes a load balancer (which is a virtual web server).
Task manager 206 is a component of media transcoding engine 106 that processes requests for media content received from viewer web server interface 202. Task manager 206 determines whether media transcoding engine 106 has all the information necessary to supply the requested media content, collects the missing information, and Determine what tasks need to be performed to serve the media content. Task manager 206 then interacts with resource manager 208 to perform the necessary tasks.
Resource manager 208 utilizes any resources within media transcoding engine 106 to perform the tasks necessary to provide the required media content (eg, capture and convert the required media content). Determine if it is possible, assign the required tasks to the appropriate resources, and then manage to complete each task. In a sense, the resource manager 208 works like a traditional load balancer. However, while traditional load balancers operate by managing a virtual machine consisting of a set of machines performing separate tasks and the same task, resource managers are different and independent. Distribute each task often. The process by which the resource manager 208 distributes each task and allocates resources will be described in detail below.
Although FIG. 2 shows only one resource manager 208, those skilled in the art will appreciate that other aspects of the media transcoding engine 106 may be able to assign tasks and resources within the media transcoding engine 106. It may be understood that the resource manager may be included.
In some aspects, task manager 206 and resource manager 208 may be implemented as software running on one or more general-purpose servers in media transcoding engine 106.
Machine farm 216 includes a plurality of individual servers that perform the transcoding and serving of requested media content within media transcoding engine 106. Machine farm 216 includes a sending server 220 that captures source data for the requested media content, a transcoder server 218 that converts the source data to an appropriate destination type, and a viewer that converts the converted media content. A streaming server 222 that streams to the client 102 or streams to a proxy server for delivery to the viewer client 102.
The sending server 220 retrieves the requested media content from the source location and sends it to one of the transcoder server 218, the streaming server 222, and a proxy server (not shown). Run the transmitter software that allows you to do so.
The transcoder server 218 operates transcoder software that allows the transcoder server 218 to transcode from various known source types to various known destination types. In an aspect, the machine farm 216 provides a plug-in architecture that allows new transcoding services to be added incrementally, thereby allowing the media transcoding engine 106 to handle new media types. It is implemented using.
In another aspect of the invention, a single server can perform both transmitter and transcoder functions. In other aspects, the transmission of the requested media content may be performed by software external to the media transcoding engine 106. For example, transmission of the requested media content may be performed by software residing on content provider client 104.
In one aspect, the streaming server in machine farm 216 is a type-specific streaming server dedicated to serving a single type of media content. For example, a streaming server in machine farm 216 can be dedicated to providing converted media content, such as REAL format, WINDOWS MEDIA format, QUICK TIME format, and the like. The streaming server 222 in the machine farm 216 may be an off-the-shelf industry standard streaming server, ie, a streaming server program implemented in accordance with a published standard streaming server program or a patented streaming server program. Can be operated.
In addition to streaming the media content to the viewer client 102, the streaming server 222 maintains usage statistics regarding the media content to be provided and the destination type to which the media content is to be provided. The streaming server 222 provides usage statistics to the resource manager 208, thereby enabling the resource manager 208 to perform cache management functions within the media transcoding engine 106. For example, such usage statistics allow the resource manager 208 to cache the most frequently requested converted media content at the most frequently requested destination type. Caching of converted media content is described in more detail below with respect to converted cache 212.
In another aspect, usage statistics tracking is performed by any proxy server (not shown) that directs streaming media content from the streaming server 222 to the viewer client 102. Such an implementation is desirable when the streaming server 222 cannot track usage statistics.
As shown in FIG. 2, each server in machine farm 216 includes a slave monitor that acts as an interface between the server and resource manager 208. The slave monitor operates to receive tasks from the resource manager 208, initialize tasks in the server, and report the status of the initialized tasks, including reporting the failure or completion of assigned tasks. I do. The slave monitor enables the resource manager 208 to manage the execution of all tasks in the media transcoding engine 106 by reporting the status of each task in the server.
In another aspect, the slave monitor only initiates the task received from resource manager 208, and the task itself reports directly to resource manager 208 instead of the slave monitor.
Database 210 is used when helping resource manager 208 manage tasks and resources within media transcoding engine 106. The database 210 stores information about the status of each of the pending and unprocessed tasks, and the status of each resource in the machine farm 216, so that the resource manager 208 can now determine which tasks are needed. Helps resource manager 208 in determining which resources are available to perform.
The database 210 is also used by the task manager 206 to track published media content stored in the media transcoding engine 106. Database 210 maintains source information about such published media content, including the media content ID, source location, and source type when available.
Database 210 may be implemented using any type of database structure known in the art for storing data, including but not limited to a relational database, an object-oriented database, a flat file database, or an inverted list database. Can be implemented. In an aspect, database 210 may be stored on media transcoding engine 106 on one or more general-purpose servers, file servers, or storage devices connected to a network.
The master archive 214 is in the media transcoding engine 106 that stores the initial media content published by the content provider and received from the content provider client 104 by the content provider web server interface 204. Archive. Further, if the media transcoding engine 106 needs to capture the first media content from a location external to the media transcoding engine 106, the media transcoding engine 106 may copy a copy of the first media content. It can be cached in the master archive 214. The media transcoding engine 106 caches a copy of the original media content in the master archive 214 so that later, when a request for the same media content is received, the first copy from outside the engine's internal network is received. This eliminates the need to capture media content.
Translated cache 212 is a cache within media transcoding engine 106. Translated cache 212 is used when media transcoding engine 106 stores a copy of the requested media content after it has been translated. When a subsequent request for the same media content of the same destination type is received, media transcoding engine 106 serves this content from the translated cache, thereby iteratively converting the same media content. Avoid costly CPU overhead.
The resource manager 208 keeps track of what is cached in the master archive 214 and the translated cache 212 and manages the use of each cache using intelligent algorithms. In one aspect, the intelligent algorithm used by resource manager 208 to manage the usage of each cache is based on the streaming server 222 and / or as described above regarding the frequency with which media content is requested at various destination types. Or an algorithm based on usage statistics received from any proxy server (not shown). For example, in one aspect, the resource manager 208 determines whether a copy of the media content should be kept in cache or discarded using a Least-Recently-Used (LRU) algorithm. According to the LRU algorithm, if a copy of a media content does not meet a predetermined threshold over several accesses within a given time period, the copy of the media content is discarded. This example is not limiting and those skilled in the art will appreciate that any number of intelligent algorithms known in the art can be used to manage the usage of master archive 214 and translated cache 212. Like. Such intelligent algorithms are within the scope and spirit of the present invention.
In an aspect, the master archive 214 and / or the translated cache 212 are implemented as one or more network-connected storage devices coupled to an internal network within the media transcoding engine 106. However, the present invention is not limited to this, and any suitable server including, but not limited to, a general purpose server, a file server, one or more disk arrays, or a storage area network (SAN) running caching software. The storage device may be used to implement the master archive 214 and / or the translated cache 212.
Next, a method for publishing and accessing media content according to an aspect of the present invention will be described.
D. Publishing media content according to an aspect of the present invention
In certain aspects of the invention, the media content can be exposed as an encoded file or provided as a continuous data stream such as a live audio or video feed.
FIG. 3 is a flowchart 300 of a method for publishing media content according to an aspect of the present invention, where the media content is an encoded media file. However, the invention is not limited to the description given by flowchart 300. It will be apparent to those skilled in the art from the teachings herein that other functional flows are within the scope and spirit of the invention.
At step 302, the content provider sends a request from the content provider client 104 to publish the content to the content provider web server interface 204. In one aspect, the request includes an HTTP request.
At step 304, the content provider web server interface 204 sends a prompt to the content provider client 104 for the media content itself or the location and access information needed to capture the media content. As mentioned above, in accordance with certain aspects of the present invention, the content provider may store media content in the media transcoding engine 106 or media transcoding, such as the content provider's own server. • Media content can also be stored at other locations outside of the engine 106.
As shown in step 306, if the content provider wants to store the encoded media file in an archive in the media transcoding engine 106, the content provider may store the media file in the content It supplies to the content provider web server interface 204 via the provider client 104. At step 308, the content provider web server interface 204 informs the encoded media file and then sends the encoded media file to the master archive 214 for storage in the media transcoding engine 106. I do. The encoded files can be utilized by the resource manager 208 and other components of the media transcoding engine 106 from the master archive 214. At step 310, the ID and location of the saved file is reported by the content provider web server interface 204 to the task manager 206, which stores this information in the database 210 for future reference. I do. In one aspect, the source type of the saved file is also stored in database 210 for future reference.
As shown in step 312, if the content provider wants to store the encoded file at another location outside of the media transcoding engine 106, the content provider The location and access information required for the file is provided to the content provider web server interface 204 via the content provider client 104.
In step 316, the content provider web server interface 204 receives the encoded media file, or the location and access information necessary to capture the encoded media file, Providing address source information to the client 104; The address information indicates to the media transcoding engine 106 which viewers are requesting the content provider's media content, and the source information provides information regarding the source of the requested media content. If the encoded media file is stored at another location outside of the media transcoding engine 106, the source information includes the location and access information provided by the content provider in a previous step 312.
In one aspect, the address source information indicates to the media transcoding engine 106 the viewer client 102 and provides a URL (Uniform Resource Locator) that provides the media transcoding engine 106 with information about the source of the requested media content. ). The content provider can announce the URL as a link on the content provider's website so that viewers accessing the content provider's website can click on the URL and click on the media transcoding engine. Enables access to media content via 106.
At step 316, flowchart 300 ends.
FIG. 4 is a flowchart 400 of a method for publishing media content according to an aspect of the present invention, where the media content is provided as a continuous data stream, such as in the case of a live audio or video feed. . However, the invention is not limited to the description given by flowchart 400. It will be apparent to those skilled in the art from the teachings herein that other functional flows are within the scope and spirit of the invention.
In step 402, the content provider sends a request from the content provider client 104 to the streaming media content to the content provider web server interface 204. In one aspect, the request includes an HTTP request.
At step 404, the content provider web server interface 204 sends a prompt for streaming media content to the content provider client 104.
At step 410, the content provider web server interface 204 provides the address source information to the content provider client 104 after receiving the streaming media content. The address information indicates to the media transcoding engine 106 which viewers are requesting the content provider's media content, and the source information provides information regarding the source of the requested media content. In one aspect, the address source information indicates to the media transcoding engine 106 the viewer client 102 and provides a URL (Uniform Resource Locator) that provides the media transcoding engine 106 with information about the source of the requested media content. ). The content provider can announce the URL as a link on the content provider's website so that viewers accessing the content provider's website can click on the URL and click on the media transcoding engine. Enables access to media content via 106.
At step 410, the flowchart 400 ends.
Next, a method for a viewer to access published media content according to an aspect of the present invention will be described.
E. Accessing media content according to an aspect of the invention
As described herein, certain aspects of the invention perform transcoding of media content on demand in response to a viewer's request for access to the media content. Further, certain aspects of the present invention essentially perform "real-time" transcoding of the media content after the media content has been published, as part of the media content provisioning process. In certain aspects of the invention, the delay between sending a request to view media content to the media transcoding engine 106 and providing the media content to the viewer client 102 is about 30 seconds or less. It is. However, the present invention is not limited to a particular delivery time, but may include various delivery times longer or shorter than 30 seconds.
FIG. 5 is a flowchart 500 of a method for a viewer to access media content according to an aspect of the present invention. However, the invention is not limited to the description given by flowchart 500. It will be apparent to those skilled in the art from the teachings herein that other functional flows are within the scope and spirit of the invention.
At step 502, the viewer sends a request for access to media content via the viewer client 102 to the viewer web server interface 202 in the media transcoding engine 106. In one aspect, the request is an HTTP request generated by the viewer client 102 when the viewer clicks on a URL on the content provider's website. As described above, a URL link is a link that can be provided from the media transcoding engine 106 to the content provider during the media content publishing process, indicating the viewer client 102 to the media transcoding engine 106, It includes address information and source information that provides the media transcoding engine 106 with information about the source of the rendered media content.
After receiving the request, the viewer web server interface 202 forwards it to the task manager 206.
At step 504, task manager 206 analyzes the request and determines whether it contains the required information needed to satisfy the request. In some aspects of the invention, where the request includes an HTTP request, task manager 206 parses the HTTP request header to determine whether it contains the required information needed to satisfy the request. In one aspect, the required information includes at least a source location, a source type, a destination location, and a destination type. The source type and destination type are each defined by at least one public variable. In some aspects, the public variables of the media content can include, but are not limited to, file format, bit rate, communication protocol, physical medium, compression algorithm, digital rights management information, or a combination thereof. . In one aspect, the information needed to satisfy the request includes at least a source location, a source format, a source bit rate, a destination location, a destination format, and a destination bit rate.
If the task manager 206 determines that the requested information is not complete, it captures the required information as shown in steps 506 and 508. For example, if the request does not include a source type or location and the requested media content is stored in the media transcoding engine 106, the task manager 206 needs to query the database 210 Find the right source information. Alternatively, if the media content is stored externally to the media transcoding engine 106, the task manager 206 performs a network request to retrieve the required information from the content provider's web site. For example, task manager 206 may execute an HTTP request, an RTSP request, or a request using any other standard network application protocol. Furthermore, if the destination type is not available, the task manager 206 can capture the required information by querying the viewer client 102. As described above, in one aspect, the optimal destination type for the destination location may be stored as a "cookie" on the viewer client 102 accessible from the task manager 206.
At step 510, after obtaining the information necessary to satisfy the request, the task manager 206 determines what tasks need to be performed to provide the requested media content. This task includes all the steps required to supply the required media content, including capturing the required media content and converting the required media content from a source type to a destination type. And streaming the converted media content to the viewer client 102. After determining what tasks need to be performed, the task manager 206 interfaces with the resource manager 208 and instructs the resource manager 208 to perform the required task.
Resource manager 208 receives this indication and performs the necessary tasks from task manager 206, and assigns each task to one or more machines in machine farm 216 at step 512. Resource manager 208 is programmed to perform each task efficiently with available resources. In some aspects, the assignment of resources to a given task by resource manager 208 depends on which machines support the utilities needed to perform the required tasks, the available resources (eg, available resources). CPU), based on various factors including, but not limited to, which machines can adjust to each other in performing the task when the machine needs to be tuned to perform the task Is done. The resource manager 208 can also be programmed to distribute tasks based on various other criteria, including avoiding network congestion. For example, the resource manager 208 may perform decompression and compression on the same machine to avoid network congestion resulting from sending uncompressed data from one machine to another within the media transcoding engine 106 internal network. It can be programmed to do so.
In accordance with the present invention, resource manager 208 monitors tasks after they have been assigned to ensure that they are performing properly. The resource manager 208 maintains a list of all assigned tasks in the database 210 and periodically communicates with the slave monitors of each machine running a given task to determine the status of the task. Monitor the execution of assigned tasks.
In one aspect, the resource manager 208 periodically polls slave monitors of the machine to which the task is assigned to determine the status of the task. In another aspect, the slave monitor itself sends periodic status messages to the resource manager 208 to inform the resource manager 208 of the status of the assigned task. The resource manager 208 stores information about the status of each task and each machine, which it has learned from the slave monitor, in a database and assists the resource manager 208 in allocating and monitoring required tasks.
In another aspect of the invention, the slave monitor only initiates the task received from resource manager 208, and the task itself reports directly to resource manager 208 instead of the slave monitor.
The resource manager 208 can itself determine when a task fails and resolve the problem and perform the necessary steps to ensure that the required media content is provided. Monitor each assigned task according to the routine. For example, if the machine to which a task is assigned does not respond to a status query for a predetermined period of time, the task can be reassigned to a different machine and the resource manager 208 can be programmed to reboot the non-responsive machine. In addition, if a failed task results in a failure of the distributed chain of independent tasks, shut down all independent tasks and reassign the entire set of tasks to ensure the required media content. The resource manager 208 can be programmed to supply These examples are not limiting and other fault tolerance schemes will become apparent to those skilled in the art based on the teachings contained herein. The present invention is directed to such other fault tolerance schemes.
In another aspect of the invention, individual tasks are each assigned a priority. The resource manager 208 monitors the new task and instructs the existing task to purge itself when the priority of the existing task becomes lower than the priority of the new task that needs to be assigned; Accept new higher priority tasks. Alternatively, the slave monitor can delete an existing task. An example of a low priority task is transcoding media content for a viewer after the viewer has stopped viewing the requested content.
At step 514, after all tasks have been assigned, task manager 206 creates a response to the initial request for access to media content received from viewer client 102. This response serves to redirect the viewer client 102 input and output to and from the streaming server or proxy server that is the ultimate source of the requested media content. In one aspect, the response includes an HTTP response.
At steps 516-526, each machine in machine farm 216 performs the necessary steps to provide the requested media content according to the assigned tasks received from resource manager 208. In one aspect of the invention, providing media content is a pipelined process that can simultaneously capture, transcode, and stream different portions of the same media content stream. Resource manager 208 prepares for these stages of pipelining through resource allocation within media transcoding engine 106. By pipelining these steps, the time required for the media transcoding engine 106 to supply the requested media is reduced.
As shown in step 516, the translated cache 212 in which the requested media content has already been converted to the appropriate destination type (eg, the appropriate destination format and bit rate or other appropriate public variable). Is provided in step 524 by the streaming server 222 which streams the converted media content to the viewer client 102 as described below.
However, if the requested media content is not present in the translated cache 212 translated to the appropriate destination type, one of the sending servers 220 in the machine farm 216, as shown in step 518, , Start ingesting the requested media content as a data stream from the source location. As discussed above with respect to FIGS. 3 and 4, in one aspect of the invention, the requested media content is initially stored in the master archive 214 in the media transcoding engine 106, or in the media transcoding engine. It can reside in an archive external to engine 106 or be received as a streaming feed obtained directly from content provider client 104.
If the requested media content is present in the master archive 214, one of the sending servers 220 retrieves the requested media content via the media transcoding engine 106 internal network.
If the requested media content resides in an archive outside of the media transcoding engine 106, one of the sending servers 220 may use the access information provided during the publishing process to request the requested media content.・ Import content. In an aspect, after the sending server uses the access information to capture the requested media content, the requested media content can be temporarily cached in the master archive 214 and the same media content can be cached. Enables fast access to media content when subsequent requests for are received by the media transcoding engine 106.
If the requested media content is a streaming feed obtained directly from the content provider client 104, one of the sending servers 220 retrieves the streaming data from the content provider web server interface 204. In one aspect of the present invention, unnecessary transcoding of media content is avoided because the streaming data is not captured and converted until the streaming data is actually requested by the viewer.
As shown in step 520, after the sending server has begun ingesting the requested media content, the source type is the same as the destination type (e.g., the source format and bit rate are If it is the same as the format and bit rate), no transcoding is required and the media content is sent to the streaming server 222 immediately after it is captured. Streaming server 222 then streams the content to viewer client 102 at step 524, as described below. However, if the source type is the same as the destination type, as shown in step 522, one of the transcoding servers 218 in the machine farm 216 converts the media content from the source type to the destination type. Convert to As discussed above with respect to step 512, resource manager 208 assigns the transcoding task to a transcoder server that runs the transcoder software necessary to perform the appropriate conversion of public variables. In some aspects, transcoding is performed using various known methods of converting one type of media content to another type of media content, including conventional codec routines that convert media content. .
In an aspect, if the transcoding is complete, a copy of the converted media content is temporarily stored in the converted cache 212, and subsequent requests for the same media content converted to the same destination type are transmitted to the media Media content can be provided at a high rate as received by transcoding engine 106.
At step 524, one of the streaming servers 222 streams the media content immediately after media content of the appropriate destination type for the viewer client 102 is received from the transcoder, transmitter, or translated cache 212. I do. In one aspect, the converted media content is streamed to the viewer client 102 via any proxy server, as discussed above with respect to FIG. In another aspect, the streaming server or any proxy server uses the media content to be served and the destination type to which the media content is to be used by the resource manager 208 to manage the cache. Maintain statistics.
In some aspects, the protocol used for streaming media to the viewer client 102 and streaming data between the sending server 220, the transcoder server 218, and the streaming server 222 is streaming media, such as RTSP. Is a standard protocol for Alternatively, a patented protocol defined via a standard network protocol such as TCP / UDP can be used. In other aspects, different protocols may be used to address different needs of the network infrastructure. For example, a protocol may be implemented that translates dynamically depending on network traffic conditions. However, these examples are illustrative. The invention is not limited to a particular communication protocol or application, but may use other patented or non-patented network communication protocols or applications.
At step 526, viewer client 102 receives streaming media from a streaming server or proxy server. At this point, the viewer client 102 plays the media content according to the destination type associated with the media player residing on the viewer client 102. In another aspect of the invention, receiving media content and storing it as a downloaded file on viewer client 102 so that it can be played later or transferred to another media playback device. Can be.
At step 526, flowchart 500 ends.
F. Examples of other transcoder operations and media content
As mentioned above, the media transcoding engine 106 includes one or more transcoders 218. Transcoder 218 converts one type of media content (referred to herein as a source type) to another type of media content (referred to herein as a destination type). Transcoding can include several different transform operations. The particular conversion operation used depends on the media content being converted and the associated public variables. Published variables, as used herein, refer to various characteristics of the media content.
According to the present invention, media content is digital data that is published on a network. In this case, the publishing object refers to digital data that has been supplied over the network and formatted so that it can be displayed by the destination media player. The public variables of the media content can include, but are not limited to, file format, bit rate, communication protocol, physical media, compression algorithm, and / or digital rights management information.
Digital data includes container formats, bitmap formats, video formats, audio formats, vector formats, metafile formats, scene formats, animation formats, multimedia formats, hybrid formats, and hypertext. Formats and hypermedia formats, three-dimensional data (3D) formats, VRML (Virtual Reality Modeling Language) formats, font formats (bitmap fonts, stroke fonts, spline-based outline fonts), page description languages (PDL) format, as well as any other kind of graphics file format or other file format Including may be any type of file format that is not limited to them. Table 1 lists examples of such file formats that can be used in certain aspects of the present invention.
(Table 1) File format example
See pages 12-26 of Murray and vanRyper. These examples are illustrative and do not necessarily limit the invention. Other file formats (now known or later developed) may be used, as will be apparent to those skilled in the art upon reading this description.
Even within the same file format, digital data can be compressed according to various compression algorithms. For example, a QUICK TIME format file can compress video data according to the H.263, CINEPAK, JPEG, QT ANIMATION, or QT VIDEO standards. As another example, a Windows Media ASF format file may compress audio according to the MICROSOFT AUIDO FORMAT standard, the ACELP standard, the VOXWARE standard, or the MP3 standard. The choice of compression algorithm can be based on optimization, depending on the choice of bit rate or on the nature of the content. For example, a video file with little motion ("Talking Head") and a video file with a substantial amount of motion ("High Motion" video) are each more efficiently compressed using different compression algorithms. can do.
There may be further variations within any one compression algorithm. For example, files compressed according to the JPEG standard may be YUB-based or RGB-based.
In addition to the public variables described above, there are also public variables specific to video and audio data.
Public variables for video data include the width and height of the video image in pixels and the frame rate of the video. Depending on the bit rate requirements and the nature of the data, various settings are required to obtain the best image quality. For example, some video may be better displayed at 160x120 pixels at 15 frames per second, while other videos may be displayed at 320x240 pixels at 5 frames per second at the same bit rate. But high image quality can be obtained. At a bit rate of 56 Kbps, image quality is very limited, and providing video at a resolution of 640x480 pixels rarely results in optimal image quality. Another public variable for video data is the number of bits per component.
Public variables for audio data include number of samples per second, number of channels (eg, mono, stereo, 5 channels), and sample size (8 bits, 16 bits, etc.). Various settings are required to ensure audio quality in consideration of a specific content type and bit rate.
Public variables may include the size of the data packet to be transmitted and the choice of transmission protocol (eg, TCP or UDP).
FIG. 6 illustrates an example transcoder 218 that converts source type media content 610 to destination type media content 650 on demand. Source type media content 610 is digital data provided in one or more packets over a network. The digital data forming the source type media content 610 is defined by one or more public variables. The public variables shown in FIG. 6 include one of the following variables, source file format, source bit rate, source physical medium, source communication protocol, source encoding, or any combination thereof. One or more. Destination type media content 650 is data that is provided in one or more packets over a network to an end user requesting media content. The digital data forming the destination type media content 650 is defined by one or more public variables. The public variables shown in FIG. 6 include one or more of the following variables, destination file format, destination bit rate, destination physical medium, destination communication protocol, destination encoding, or any combination thereof. Includes multiple.
FIG. 7 is a table of an example implementation in which one or more transcoders 218 perform on-demand transcoding from a source type media content 710 to a first destination type 750. FIG. 7 also illustrates an example implementation in which one or more transcoders 218 perform on-demand transcoding from source type media content 710 to second destination type 760. Source type media content 710 contains digital data that is published according to the following source disclosure variables. That is, the physical medium is a local disk, the communication protocol includes file I / O, and the file format is MP3 using MP3 encoding at a bit rate of 128 kilobytes per second (kbps). The first destination type media content 750 includes digital data that has been converted for publishing according to the following destination publishing function. That is, the physical medium is a packet-switched network (Internet), the communication protocol includes the WINDOWS MEDIA STREAMING MMS protocol, and the file format is WINDOWS MEDIA FILE using MP3 coding at a bit rate of 56 kbps. The second destination type media content 760 includes digital data that has been converted to be publishable according to the following destination publishing function. That is, the physical medium is a wireless network, the communication protocol includes HTTP, and the file format is MP3, including MP3 encoding at a bit rate of 12 kbps.
Other examples are shown in the table below.
Table 2-5 Transcoder operation examples
These examples are illustrative and do not limit the invention. As will be apparent to those of skill in the art upon reading this description, other types of on-demand transcoding operations now known or later developed may be used.
G. Other aspects of the invention
This specification describes exemplary embodiments of the methods and systems of the present invention. As noted elsewhere, these example embodiments are described for illustrative purposes only, and are not limiting. Other embodiments that are slightly different or substantially different from the embodiments described herein will be apparent to those skilled in the art based on the teachings contained herein. For example, those skilled in the art will recognize that the transcoding system and method of the present invention is not limited to transcoding and providing media content only, but may also be used to store compressed files, electronic documents, HTML pages, XML documents, and multiple It will be understood that the invention also encompasses the transcoding and provision of all types of information including, but not limited to, any other information that can be provided specifically. Other aspects include, but are not limited to, hardware, software, and software / hardware implementations of the methods, systems, and components of the present invention. Such other embodiments are within the scope and spirit of the present invention.
While various aspects of the invention have been described above, it should be understood that they have been presented by way of example only, and not limitation. Those skilled in the art will appreciate that various changes may be made in the form and details of each embodiment without departing from the spirit and scope of the invention as defined in the appended claims. Therefore, the scope of the present invention should not be limited by the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.
FIG. 1 is a block diagram of a media transcoding system according to one aspect of the present invention.
FIG. 2 is a block diagram of an example of a media transcoding engine according to one aspect of the present invention.
FIG. 3 is a flowchart illustrating a routine for publishing media content according to aspects of the present invention.
FIG. 4 is a flowchart illustrating a routine for publishing media content according to aspects of the present invention.
5A-B are flowcharts describing a routine for accessing media content according to aspects of the present invention.
FIG. 6 illustrates an exemplary transcoder that can be used in accordance with certain aspects of the present invention.
FIG. 7 is a table illustrating exemplary transcoding of source and destination types for various public variables in accordance with aspects of the present invention.
A method of converting media content from a source type to a destination type,
(A) receiving a transcoding request for media content;
(B) capturing media content in response to the transcoding request;
(C) selecting one of a plurality of transcoders for transcoding from the plurality of source types to the plurality of destination types based on the source type and the destination type;
(D) transmitting media content to the selected transcoder;
(E) converting the media content from a source type to a destination type, thereby generating the converted media content;
(F) transmitting the converted media content.
The method of claim 1, wherein the media content comprises a file of digital information.
The method of claim 1, wherein the media content comprises a stream of digital data.
The media content is captured, transmitted, and converted as a stream of digital data, and the converted media file is transmitted as a stream of digital data, and includes steps (b), (d), (e). 2. The method of claim 1, wherein, and (f) are performed in a pipelined manner.
The method of claim 1, wherein the transcoding request is received over the Internet, and the converted media content is sent over the Internet.
The media content type is defined according to at least one public variable, wherein the at least one public variable is:
(1) Media content file format,
(2) the bit rate of the media content,
(3) a compression algorithm for storing media content,
(4) a communication protocol for transferring the media content, or (5) a physical medium for storing the media content, wherein the step (e) includes replacing the at least one public variable of the media content with a source public variable. 2. The method of claim 1, comprising converting from a type to a destination public variable type.
(G) storing the converted media content in a converted cache;
(H) responding to a subsequent transcoding request for media content by retrieving the converted media content from the translated cache and transmitting the converted media content. Method according to 1.
The method of claim 7, further comprising: (i) determining whether to maintain the converted media content in a converted cache based on an intelligent algorithm.
9. The method according to claim 8, wherein the intelligent algorithm is a Least Recently Used algorithm.
Further comprising publishing the media content, wherein the publishing step comprises:
(1) receiving media content;
(2) storing the media content in a master archive, wherein the publishing step is performed before step (a), and step (b) is performed in response to the transcoding request. The method of claim 1, including retrieving media content that is missing from the master archive.
(1) further comprising receiving location and access information regarding the media content, wherein the publishing step is performed before step (a), and step (b) is performed in response to the transcoding request; The method of claim 1, comprising capturing media content using the access information.
(1) further comprising receiving the media content as a stream of digital data, wherein the publishing step is performed prior to step (a), and step (b) is performed in response to the transcoding request. 2. The method of claim 1, comprising capturing a data stream.
A media transcoding system for converting media content from a source type to a destination type,
A sending server,
The network interface is adapted to receive a transcoding request for media content, and the resource manager responds to the transcoding request and, in response to the transcoding request, Commanding to capture content, selecting one of the plurality of transcoders based on a source type and a destination type, and causing the selected transcoder to convert media content from a source type to a destination type Media transcoding adapted to convert, thereby instructing to generate converted media content, and instructing the streaming server to transmit the converted media content. system.
14. The media transcoding system of claim 13, wherein the media content includes a file of digital information.
14. The media transcoding system of claim 13, wherein the media content comprises a stream of digital data.
The transmitting server is adapted to capture the media content as a data stream, the selected transcoder is adapted to convert the media content as a data stream, and the streaming server is adapted to convert the media content as a data stream. Media content as a data stream, the resource manager comprising: the transmission server, the selected transcoder, the acquisition, transcoding, and transmission being performed in a pipelined manner. 14. The media transcoding system of claim 13, wherein the system manages the operation of the streaming server.
14. The media transcoding system of claim 13, wherein the network interface comprises a web server interface.
14. The media server of claim 13, wherein the network interface is adapted to receive the transcoding request over the Internet, and the streaming server is adapted to transmit the converted media content over the Internet. Transcoding system.
(4) a communication protocol for transferring the media content, or (5) a physical medium storing the media content, wherein the selected transcoder converts the at least one public variable of the media content into a source public variable. 14. The media transcoding system of claim 13, adapted to convert from a type to a destination public variable type.
In addition, including translated cache,
The translated cache is adapted to store translated media content, and the resource manager instructs a sending server to retrieve the translated media content from the translated cache; 14. The media transformer of claim 13, wherein the media server is configured to instruct a streaming server to send the converted media content when the network interface receives a subsequent transcoding request for the media content. Coding system.
21. The media transcoding system of claim 20, wherein the resource manager is adapted to determine whether to maintain the converted media file in a converted cache based on an intelligent algorithm.
22. The media transcoding system according to claim 21, wherein the intelligent algorithm is a Least Recently Used algorithm.
A master archive,
A content provider network interface,
The content provider network interface is adapted to receive media content and store the media content in the master archive, and the sending server transfers the stored media content to the master archive. 14. The media transcoding system of claim 13, adapted for ingestion from an archive.
Further including a content provider network interface,
The content provider network interface is adapted to receive location and access information regarding the media content, and the transmitting server is adapted to capture the media content using the location and access information. 14. The media transcoding system of claim 13.
The content provider network interface is adapted to receive media content as a stream of digital data, and the sending server is adapted to capture the digital media content stream. Item 14. The media transcoding system according to Item 13.
Each of the sending server, the streaming server, and the plurality of transcoders each further includes a slave monitor, wherein each slave monitor receives a command from the resource manager and performs a task in response to the command. 14. The media transcoding system according to claim 13, adapted to start.
27. The media transcoding system of claim 26, wherein each slave monitor is further adapted to report a status of the task to a resource manager.
A plurality of transcoding servers 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 media content, and the resource manager responds to the transcoding request, and responds to the transcoding request with a source type and a destination. Selecting one of the plurality of transcoders based on the type and capturing the media content into the transcoding server to convert from the source type to the destination type, thereby converting the converted media content. A media transcoding system that is instructed to generate and to instruct the streaming server to transmit the converted media content.
Streaming means,
Instructing the transmitting means to capture media content, selecting one of the plurality of transcoding means based on a source type and a destination type, and providing the selected transcoding means with media content. -Includes resource management means for converting from type to destination type, thereby generating converted media content and instructing the streaming means to transmit the converted media content. , Means for responding to the transcoding request.
30. The media transcoding system of claim 29, wherein the media content comprises a stream of digital data.
The transmitting means is adapted to capture the media content as a data stream, the selected transcoding means is adapted to convert the media content as a data stream, and the streaming means is adapted to convert the media content as a data stream. Transmitting the media content as a data stream, the resource management means comprising: the transmitting means, the selected transcoding means such that the capturing, transcoding, and transmitting are performed in a pipelined manner. 30. The media transcoding system of claim 29, which manages the operation of the streaming means.
30. The means for receiving a transcoding request is adapted to receive the transcoding request over the Internet, and the streaming means is adapted to transmit the converted media content over the Internet. The described media transcoding system.
(4) a communication protocol for transferring the media content, or (5) a physical medium storing the media content, wherein the selected transcoding means publishes the at least one public variable of the media content. 30. The media transcoding system of claim 29, adapted to convert from a variable type to a destination public variable type.
A method of converting media content, comprising:
(A) receiving a transcoding request for media content, including a source type, a source location, a destination type, and a destination location;
(B) capturing media content from the source location in response to the transcoding request;
(C) 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;
(E) converting media content from the source type to the destination type, thereby generating converted media content;
(F) transmitting the converted media content to the destination location.
The method of claim 35, further comprising analyzing the transcoding request to determine a source type, a source location, a destination type, and a destination location.
The method of claim 36, further comprising capturing at least one of a source type, a source location, a destination type, or a destination location when the transcoding request is determined to be incomplete in the analyzing step. Method.
(A) capturing media content;
(B) selecting one of a plurality of transcoders for transcoding from the plurality of source types to the plurality of destination types based on the source type and the destination type;
(C) transmitting media content to the selected transcoder;
(D) converting the media content from a source type to a destination type, thereby generating the converted media content;
A media transcoding system for converting media content,
The network interface is adapted to receive a transcoding request for media content, the transcoding request including a source type, a source location, a destination type, and a destination location, wherein the resource manager comprises: Responding to the transcoding request, in response to the transcoding request, instructing the sending server to retrieve media content from the source location, and wherein the plurality of transcoders are based on the source type and the destination type. Selecting one of the coders and instructing the selected transcoder to convert media content from the source type to the destination type, thereby generating converted media content; And the streaming server Media transcoding system adapted to instruct to send the media content to the destination location.
Further includes a task manager,
40. The media transcoding system of claim 39, wherein the task manager is configured to parse the transcoding request to determine a source type, a source location, a destination type, and a destination location.
The task manager is further adapted to capture at least one of a source type, a source location, a destination type, or a destination location when the transcoding request is determined to be incomplete. 40. The media transcoding system according to 40.
40. The media transcoding system of claim 39, wherein the network interface is a web server interface.
The resource manager instructs the sending server to capture media content, selects one of the plurality of transcoders based on a source type and a destination type, and provides the selected transcoder with media. Convert the content from the source type to the destination type, thereby instructing to generate the converted media content and instructing the streaming server to send the converted media content Media transcoding system.
A method of converting media content from a source type to a first destination type and a second destination type,
(B) selecting a first transcoder from a plurality of transcoders for transcoding from the plurality of source types to the plurality of destination types based on the source type and the first destination type;
(C) transmitting media content to the first transcoder;
(D) converting the media content from a source type to a first destination type, thereby generating a first converted media content;
(E) transmitting the first transformed media content;
(F) selecting a second transcoder from the plurality of transcoders based on a source type and a second destination type;
(G) transmitting media content to the second transcoder;
(H) converting the media content from a source type to a second destination type, thereby generating a second converted media content;
(F) transmitting the second transformed media content.
A method for converting a first media content from a first source type to a destination type, and converting a second media content from a second source type to a destination type,
(A) capturing the first and second media content;
(B) selecting a first transcoder from a plurality of transcoders for transcoding from the plurality of source types to the plurality of destination types based on the first source type and the destination type;
(C) transmitting a first media content to the first transcoder;
(D) converting the first media content from a first source type to a destination type, thereby generating a first converted media content;
(F) selecting a second transcoder from the plurality of transcoders based on a second source type and a destination type;
(G) transmitting a second media content to the second transcoder;
(H) converting the second media content from a second source type to a destination type, thereby generating a second converted media content;
A media transcoding system for converting media content from a source type to a first destination type and a second destination type,
First and second sending servers;
First and second streaming servers;
The resource manager instructs the first sending server to capture media content, and selects a first transcoder from the plurality of transcoders based on a source type and a first destination type; Instructing the first transcoder to convert media content from a source type to a first destination type, thereby generating a first converted media content; Instructing the server to transmit the first transformed media content, instructing the second transmitting server to retrieve the media content, and instructing the server to transmit the media content based on the source type and the second destination type. Selecting a second transcoder from the plurality of transcoders and providing the second transcoder with media content from the source type to the second transcoder; And instructs to generate a second converted media content, and sends the second converted media content to the second streaming server. Media transcoding system adapted to command.
A media transcoding system for converting a first media content from a first source type to a destination type and converting a second media content from a second source type to a destination type,
The resource manager instructs the first sending server to ingest first media content, and causes a first transcoder from the plurality of transcoders based on a first source type and a destination type. Selecting and instructing the first transcoder to convert media content from a first source type to a destination type, thereby generating a first converted media content; Instructing the streaming server to send the first converted media content, instructing the second sending server to ingest the second media content, a second source type and Selecting a second transcoder from the plurality of transcoders based on the destination type and providing the second transcoder with second media content to a second source; From the source type to the destination type, thereby instructing to generate a second converted media content, and instructing the second streaming server to the second converted media content. Media transcoding system that is instructed to transmit
JP2002553311A 2000-12-22 2001-12-20 Distributed on-demand media conversion system and method Granted JP2004526227A (en)
PCT/US2001/048850 WO2002052730A1 (en) 2000-12-22 2001-12-20 Distributed on-demand media transcoding system and method
JP2004526227A true JP2004526227A (en) 2004-08-26
JP2002553311A Granted JP2004526227A (en) 2000-12-22 2001-12-20 Distributed on-demand media conversion system and method
JP2008109984A Active JP5120943B2 (en) 2000-12-22 2008-04-21 Content providing apparatus, content providing method, client, information processing method of client, and program
JP2011007255A Pending JP2011108261A (en) 2000-12-22 2011-01-17 Content information providing device and method, and client and information processing method and program thereof
JP2013234816A Pending JP2014075136A (en) 2000-12-22 2013-11-13 Information processing apparatus, information processing method, and information process system
JP2015084935A Pending JP2015172938A (en) 2000-12-22 2015-04-17 Information processing apparatus, information processing method, program, and recording medium
JP2006311267A (en) * 2005-04-28 2006-11-09 Toshiba Corp Electronic equipment and contents managing method
JP2010518509A (en) * 2007-02-09 2010-05-27 ノバラ・インコーポレイテッドＮｏｖａｒｒａ， Ｉｎｃ． Method and system for converting and delivering video file content for mobile devices
JP2011160432A (en) * 2011-02-17 2011-08-18 Toshiba Corp Electronic equipment and method of managing contents
JP2012504918A (en) * 2008-10-03 2012-02-23 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドＡｄｖａｎｃｅｄ Ｍｉｃｒｏ Ｄｅｖｉｃｅｓ Ｉｎｃｏｒｐｏｒａｔｅｄ Distributed audio and video processing
JP2012050085A (en) * 2010-08-30 2012-03-08 Hitachi Ltd Administrative server, image distribution control system, image distribution control method
JP2012165390A (en) * 2006-09-11 2012-08-30 Tivo Inc Personal content distribution network
JP2013513319A (en) * 2009-12-04 2013-04-18 クゥアルコム・インコーポレイテッドＱｕａｌｃｏｍｍ Ｉｎｃｏｒｐｏｒａｔｅｄ Mobile media server
JP2014532323A (en) * 2011-09-16 2014-12-04 ▲騰▼▲訊▼科技（深▲セン▼）有限公司 Mobile multimedia real-time transcoding system, apparatus, storage medium, and method
JP2015518612A (en) * 2012-04-20 2015-07-02 ベネフィットフォーカス ドット コム インコーポレーテッドＢｅｎｅｆｉｔｆｏｃｕｓ．Ｃｏｍ， Ｉｎｃ． Computer system, non-transitory computer readable storage medium and method enabling styling and decoration of multiple and dissimilar web pages by remote method invocation
WO2019103293A1 (en) * 2017-11-23 2019-05-31 주식회사 에스제이테크놀로지 Distributed transcoding cloud service system
DE60205257D1 (en) * 2001-05-17 2005-09-01 Optibase Herzelia Method and device for video radio multiple enhanced media formats
FR2844935B1 (en) * 2002-09-25 2005-01-28 Canon Kk Transcoding digital data
JP3795018B2 (en) * 2003-01-20 2006-07-12 富士通株式会社 Streaming transmission method, streaming transmission system, data processing apparatus, and computer program
WO2004102459A1 (en) * 2003-05-15 2004-11-25 Nokia Corporation Transferring content between digital rights management systems
JP5102027B2 (en) * 2004-07-12 2012-12-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Content with navigation support
JP4711696B2 (en) * 2005-02-17 2011-06-29 株式会社エヌ・ティ・ティ・ドコモ Data communication management system, mobile terminal, and mobile terminal control program
WO2007124163A2 (en) * 2006-04-21 2007-11-01 Dilithium Networks Pty Ltd. Method and apparatus for video mixing
CN102017568B (en) * 2008-05-07 2015-11-25 爱立信电话股份有限公司 For sending the system of the autonomous content play
JP5347440B2 (en) * 2008-11-10 2013-11-20 日本電気株式会社 Moving image processing device
CN103338384A (en) * 2013-05-31 2013-10-02 优视科技有限公司 Video play method and video play device
ITMI20131710A1 (en) 2013-10-15 2015-04-16 Sky Italia S R L "Cloud system encoding"
CN103858407B (en) * 2013-12-02 2017-04-12 华为技术有限公司 File processing method, device and system
CN103984633B (en) * 2014-06-04 2016-08-17 中国工商银行股份有限公司 A kind of bank main passes down the automatization test system of operation
CN104639949B (en) * 2015-03-03 2018-07-06 腾讯科技（深圳）有限公司 A kind of video source cut-in method and device
JP2018517380A (en) 2015-04-09 2018-06-28 デジェロ ラブス インコーポレイテッド System, device, and method for distributing data having multi-tiered encoding
US10447751B2 (en) 2015-09-28 2019-10-15 Sony Corporation Parallel transcoding directly from file identifier
US10277911B2 (en) 2016-01-22 2019-04-30 Wowza Media Systems, LLC Video processing workload management
CN106302781A (en) * 2016-08-25 2017-01-04 乐视控股（北京）有限公司 Routing iinformation distribution processing method, background server and terminal
IT984397B (en) * 1973-03-02 1974-11-20 Cselt Centro Studi Lab Telecom Encoder nonlinear multi level for transmission of numerical signals if
JP3817280B2 (en) 1995-06-27 2006-09-06 株式会社日立製作所 Data conversion apparatus, network system including data conversion apparatus, and data transmission method
DE69810250T2 (en) 1997-05-26 2003-10-09 Koninkl Philips Electronics Nv System for playing back data in a data flow server
JP3988094B2 (en) 1997-10-31 2007-10-10 リコーソフトウエア株式会社 Image transfer method and program storage recording medium
CN1204751C (en) 1999-04-13 2005-06-01 松下电器产业株式会社 Coded data converting method, recoding method, recoding system and data recording medium
2000-12-22 US US09/742,294 patent/US6407680B1/en active Active
2001-12-20 CN CNA018222935A patent/CN1488195A/en not_active Application Discontinuation
2001-12-20 CN CN2011103188875A patent/CN102427563A/en not_active Application Discontinuation
2001-12-20 WO PCT/US2001/048850 patent/WO2002052730A1/en active Application Filing
2001-12-20 KR KR1020037008538A patent/KR100897967B1/en active IP Right Grant
2001-12-20 JP JP2002553311A patent/JP2004526227A/en active Granted
2001-12-20 EP EP01996269A patent/EP1356594A4/en not_active Ceased
2001-12-20 EP EP13187005.7A patent/EP2683173A1/en not_active Withdrawn
2001-12-20 CN CN2009101261722A patent/CN101594518B/en active IP Right Grant
2002-05-10 US US10/141,966 patent/US6593860B2/en active Active
2003-06-20 US US10/465,805 patent/US6888477B2/en active Active
2008-03-04 US US12/074,393 patent/US7924177B2/en active Active
2008-04-21 JP JP2008109984A patent/JP5120943B2/en active Active
2011-01-17 JP JP2011007255A patent/JP2011108261A/en active Pending
2011-02-18 US US13/030,432 patent/US8610603B2/en active Active
2013-09-17 US US14/028,698 patent/US9276984B2/en active Active
2013-11-13 JP JP2013234816A patent/JP2014075136A/en active Pending
2015-04-17 JP JP2015084935A patent/JP2015172938A/en active Pending
2016-01-26 US US15/006,184 patent/US20160142460A1/en not_active Abandoned
JP2014060718A (en) * 2008-05-10 2014-04-03 Vantrix Corp Modular transcoding pipeline
KR101559895B1 (en) * 2008-10-03 2015-10-27 어드밴스드 마이크로 디바이시즈, 인코포레이티드 Distributed audio and video processing
JP2016167841A (en) * 2009-12-04 2016-09-15 クゥアルコム・インコーポレイテッドＱｕａｌｃｏｍｍ Ｉｎｃｏｒｐｏｒａｔｅｄ Mobile media server
US9288250B2 (en) 2011-09-16 2016-03-15 Tencent Technology (Shenzhen) Company Limited Mobile multimedia real-time transcoding system, apparatus, storage medium and method
CN101594518B (en) 2012-08-01
US6407680B1 (en) 2002-06-18
US6888477B2 (en) 2005-05-03
US20040032348A1 (en) 2004-02-19
KR100897967B1 (en) 2009-05-18
JP2008269614A (en) 2008-11-06
EP2683173A1 (en) 2014-01-08
JP2014075136A (en) 2014-04-24
JP2011108261A (en) 2011-06-02
US20140019595A1 (en) 2014-01-16
US20080231480A1 (en) 2008-09-25
US7924177B2 (en) 2011-04-12
US9276984B2 (en) 2016-03-01
JP5120943B2 (en) 2013-01-16
US20020190876A1 (en) 2002-12-19
WO2002052730A1 (en) 2002-07-04
CN1488195A (en) 2004-04-07
EP1356594A4 (en) 2006-02-22
CN101594518A (en) 2009-12-02
US20160142460A1 (en) 2016-05-19
US6593860B2 (en) 2003-07-15
US8610603B2 (en) 2013-12-17
JP2015172938A (en) 2015-10-01
CN102427563A (en) 2012-04-25
US20110140937A1 (en) 2011-06-16
KR20030075155A (en) 2003-09-22
EP1356594A1 (en) 2003-10-29
KR102024311B1 (en) 2019-09-23 Adaptive data streaming method with push messages control
KR20080108568A (en) 2008-12-15 Streaming from server to client