On the fly transcoding of video on demand content for adaptive streaming

US9351020B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9351020-B2
Application numberUS-201414487853-A
CountryUS
Kind codeB2
Filing dateSep 16, 2014
Priority dateMar 15, 2013
Publication dateMay 24, 2016
Grant dateMay 24, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method includes receiving a request at a media server from a computing device for a portion of a particular rendition of content that is available for adaptive streaming. The request received while the media server has access to a single rendition of the content. When the portion is part of the single rendition, the media server sends the portion retrieved from the single rendition to the computing device in response to the request. When the portion is not part of the single rendition, the media server generates the portion by transcoding a corresponding portion of the single rendition of the content, stores the generated portion in a cache of the media server, and sends the generated portion to the computing device in response to the request. The method further includes removing portions of one or more outdated renditions from the cache while maintaining the generated portion in the cache.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: receiving, at a media server, a request from a computing device for a first portion of a plurality of portions of a particular rendition of content that is available for adaptive streaming, wherein the request is received while the media server has access to a single rendition of the content; when the first portion of the particular rendition is part of the single rendition, sending the first portion, but not other portions, of the particular rendition retrieved from the single rendition to the computing device in response to the request; when the first portion of the particular rendition is not part of the single rendition: retrieving a portion of the single rendition that corresponds to the first portion of the particular rendition of the content; generating the first portion, but not other portions, of the particular rendition by transcoding the retrieved portion of the single rendition of the content; storing the first portion of the particular rendition in a cache of the media server; and sending the first portion, but not other portions, of the particular rendition to the computing device in response to the request; receiving an updated transcoding template at the media server, the updated transcoding template including one or more updated transcoding parameters for an updated rendition of the content; and removing portions of one or more outdated renditions from the cache, while maintaining the first portion of the particular rendition in the cache, the one or more outdated renditions identified based on the updated transcoding template. 2. The method of claim 1 , further comprising when the first portion of the particular rendition is not part of the single rendition and prior to generating the first portion of the particular rendition, determining whether the first portion of the particular rendition is stored in the cache. 3. The method of claim 2 , wherein generating the first portion of the particular rendition occurs in response to determining that the first portion of the particular rendition is not stored in the cache. 4. The method of claim 1 , wherein sending the first portion of the particular rendition to the computing device includes sending the first portion of the particular rendition based on a streaming protocol that is compatible with the computing device. 5. The method of claim 4 , wherein the streaming protocol includes: HTTP dynamic streaming (HDS), smooth streaming, or motion picture experts group (MPEG) dynamic adaptive streaming over HTTP (MPEG DASH). 6. The method of claim 1 , wherein the stored first portion is in a format that is independent of a plurality of output protocols used to send the first portion of the particular rendition to one or more requesting devices. 7. The method of claim 1 , wherein the cache is indexed based on the first portion of the particular rendition. 8. The method of claim 1 , wherein the first portion of the particular rendition comprises a group of pictures that includes an intra-coded frame (I-frame) and one or more additional frames that include difference information relative to the I-frame. 9. The method of claim 1 , further comprising, in response to a subsequent request for the first portion of the particular rendition: retrieving the first portion of the particular rendition from the cache; and sending the retrieved first portion of the particular rendition in response to the subsequent request. 10. The method of claim 1 , further comprising, prior to receiving the request, sending information to the computing device, the information describing a plurality of renditions of the content that are available for adaptive streaming. 11. The method of claim 1 , wherein the request includes information specifying the first portion of the particular rendition by a portion number, a portion identifier, a frame start number, a frame end number, a portion start time, a portion end time, or any combination thereof. 12. The method of claim 1 , wherein the retrieved first portion of the single rendition of the content is stored in a non-volatile memory of the media server. 13. The method of claim 1 , wherein a plurality of renditions of the content are available for adaptive streaming from the media server, and wherein the plurality of renditions and one or more transcoding parameters are identified by a transcoding template stored at the media server. 14. The method of claim 13 , wherein the one or more transcoding parameters include, for a rendition of the content, a key frame interval of the rendition, a frame size of the rendition, a frame rate of the rendition, information regarding one or more coders/decoders (CODECs) associated with the rendition, an audio sample frequency of the rendition, and a number of audio channels of the rendition. 15. The method of claim 1 , further comprising: in response to a subsequent request for a first portion of the updated rendition, generating the first portion of the updated rendition based on the one or more updated transcoding parameters. 16. A media server comprising: a processor; a memory; a network interface configured to: receive a request from a computing device for a first portion of a plurality of portions of a particular rendition of content that is available for adaptive streaming, wherein the request is received while the media server has access to a single rendition of the content; when the first portion of the particular rendition is part of the single rendition, send the first portion, but not other portions, of the particular rendition retrieved from the single rendition to the computing device in response to the request; and when the first portion of the particular rendition is not part of the single rendition, send a generated first portion, but not other portions, of the particular rendition to the computing device in response to the request; and a transcoder executable by the processor to: in response to the request and when the first portion of the particular rendition is not part of the single rendition: retrieve a portion of the single rendition that corresponds to the first portion of the particular rendition of the content; generate the first portion, but not other portions, of the particular rendition by transcoding the retrieved portion of the single rendition of the content; store the first portion of the particular rendition in a cache of the media server; receive an updated transcoding template, the updated transcoding template including one or more updated transcoding parameters for an updated rendition of the content; and remove portions of one or more outdated renditions from the cache while maintaining the first portion of the particular rendition in the cache, the one or more outdated renditions identified based on the updated transcoding template. 17. The media server of claim 16 , wherein the cache is configured to store the first portion of the particular rendition for subsequent retrieval in response to a subsequent request for the first portion of the particular rendition, wherein the cache comprises disk-based memory, random access memory (RAM), or a combination thereof. 18. The media server of claim 16 , wherein: the transcoder is configured to simultaneously generate a plurality of renditions of the content from the retrieved first portion of the single rendition of the content, and the network interface is further configured to simultaneously send each of the plurality of renditions of the content to another media server, a stream relay server

Assignees

Inventors

Classifications

  • involving caching operations (prefetching while addressing of a memory level in which the access to the desired data or data block requires associative addressing means within memory systems or architectures G06F12/0862; caching at an intermediate stage in a data network H04L67/568) · CPC title

  • using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML] {(information retrieval of semistructured data, the underlying structure being taken into account, e.g. mark-up language structure data G06F16/80)} · CPC title

  • Local VOD servers · CPC title

  • Monitoring of the upstream path of the transmission network, e.g. client requests (monitoring data switching networks utilization H04L43/0876; scheduling or organising the servicing of application requests H04L67/60) · CPC title

  • Cache memory {(caches in web servers or browsers G06F16/9574; intermediate storage and caching in data networks H04L67/568)} · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9351020B2 cover?
A method includes receiving a request at a media server from a computing device for a portion of a particular rendition of content that is available for adaptive streaming. The request received while the media server has access to a single rendition of the content. When the portion is part of the single rendition, the media server sends the portion retrieved from the single rendition to the com…
Who is the assignee on this patent?
Wowza Media Systems Llc
What technology area does this patent fall under?
Primary CPC classification H04N21/234309. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue May 24 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).