WO2011106009A1 - Intelligent optimization of video encoding during video content delivery - Google Patents

Intelligent optimization of video encoding during video content delivery Download PDF

Info

Publication number
WO2011106009A1
WO2011106009A1 PCT/US2010/025470 US2010025470W WO2011106009A1 WO 2011106009 A1 WO2011106009 A1 WO 2011106009A1 US 2010025470 W US2010025470 W US 2010025470W WO 2011106009 A1 WO2011106009 A1 WO 2011106009A1
Authority
WO
WIPO (PCT)
Prior art keywords
video
server
user request
encoding
client device
Prior art date
Application number
PCT/US2010/025470
Other languages
French (fr)
Inventor
Kris Luttmer
Trevor Doerksen
Original Assignee
Mobovivo, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mobovivo, Inc. filed Critical Mobovivo, Inc.
Priority to PCT/US2010/025470 priority Critical patent/WO2011106009A1/en
Publication of WO2011106009A1 publication Critical patent/WO2011106009A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25891Management of end-user data being end-user preferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors

Definitions

  • This disclosure relates generally to video content delivery and, more particularly, to a method, an apparatus, and a system to realize intelligent optimization of video encoding during video content delivery.
  • Video encoding in a video content delivery system may utilize a processor associated with a server to transfer video content to a client device (e.g., a personal computer (PC), a mobile device).
  • a client device e.g., a personal computer (PC), a mobile device.
  • the encoding may also be provided as a Software as a Service (SaaS) in a cloud-based computing system.
  • SaaS Software as a Service
  • Encoding video content may require video content publishers to target specific client devices, screen sizes, and video formats to optimize playback in client environments.
  • a universal standard compatible with all client environments, modes of playback (e.g., streaming, download), platforms, operating systems, and client devices may not be available.
  • specific digital locks may be required to permit playback on specific client devices.
  • the digital locks may be configured to restrict sharing between client devices, which may violate ownership and licensing rights.
  • encoding methods may be hardware dependent and may include pre- purposing.
  • a standard method may include acquiring video content from a hard disk, local area network (LAN) or the Internet, selecting specific parameters for the target playback environment, encoding the video content, saving the video content, uploading the video content to a media store, publishing video content metadata to a point of access to the video, and transferring video content to the playback environment.
  • the video content may be stored on a device (e.g., server, hard drive, tape) and accessed when required.
  • one video may be required in several formats (e.g., formats compatible with mobile device, formats compatible with PC) and versions (e.g., including languages, including subtitles, including advertising), costs of storage may accrue for each format or version of the video required.
  • formats compatible with mobile device formats compatible with PC
  • versions e.g., including languages, including subtitles, including advertising
  • costs of storage may accrue for each format or version of the video required.
  • a content publisher wants to add another supported device, he/she may need to pre-purpose all existing videos to be made available to the new device.
  • a method includes receiving a user request for a video on a server, and intelligently optimizing a personalized encoding of the video at the server through an automatic and/or a dynamic utilization of a user data and/or a metrics data upon receipt of the user request.
  • the method also includes transferring the encoded personalized video from the server to a client device associated with the user request.
  • a method includes receiving a user request for a video on a server, and appropriately encoding the video to transfer the video from the server to a client device associated with the user request based on an intelligent optimization of the personalized encoding of the video at the server through an automatic and/or a dynamic utilization of a user data and/or a metrics data upon receipt of the user request.
  • the video is either appropriately encoded on-demand as per the user request without storing a specific video format associated with the encoded video at the server or the video is appropriately encoded using the specific video format associated with the user request dynamically stored at the server.
  • the dynamic storage of the specific video format is based on a first threshold time for which requests for a specific content including the user request are received at the server.
  • the video is appropriately encoded using the specific video format associated with the user request stored in a content database associated with the encoding.
  • the storage of the specific video format in the content database is based on a second threshold time for which requests for the specific content including the user request are received at the server.
  • a video content delivery system includes a server, and a client device to which a video on the server is configured to be transferred based on a user request associated with the client device.
  • the server includes a processor configured to intelligently optimize a personalized encoding of the video at the server to be transferred to the client device through an automatic and/or a dynamic utilization of a user data and/or a metrics data upon receipt of the user request.
  • Figure 1 is a flowchart detailing the operations involved in a method of pre- purposing a video and handling a subsequent user request therefor, according to one or more embodiments.
  • Figure 2 is a flowchart detailing the operations involved in a method of encoding, according to one or more embodiments.
  • Figure 3 is a flowchart detailing the operations involved in a method of utilizing an encoding algorithm in purposing video content in a format required by a user, according to one or more embodiments.
  • Figure 4 is a schematic view of video content delivery incorporating an encoding algorithm from a server to a client, according to one or more embodiments.
  • Figure 5 is a schematic view of a video content delivery system, according to one or more embodiments.
  • Figure 6 is a process flow diagram detailing the operations involved in a method of optimizing encoding of a video during content delivery, according to one or more embodiments.
  • Figure 7 is a process flow diagram detailing the operations involved in an intelligent video content delivery, according to one or more embodiments.
  • Example embodiments may be used to realize intelligent optimization of video encoding during video content delivery.
  • present embodiments have been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the various embodiments.
  • FIG. 1 shows a flowchart detailing the operations involved in a method of pre- purposing a video and handling a subsequent user request therefor, according to one or more embodiments.
  • operation 102 may involve storing solely a master copy of a video in a repository.
  • the master copy of the video may be acquired from a hard disk, a local area network (LAN), and/or the Internet.
  • content metadata associated with the master copy of the video may be published to a point of access (e.g., a node of a computer network) to the master copy of the video.
  • operation 104 may involve obtaining a user metadata associated with a device being used to render the video upon receiving a request from the user for the video.
  • operation 106 may then involve transforming the master copy of the video into a format required by the device being used to render the video based on the obtained user metadata associated with the device.
  • the master copy of the video may be encoded based on the user request, and then transferred to the user playback environment.
  • the abovementioned method of handling the user request may reduce storage requirements in video content management/delivery systems.
  • only one master copy of the video may need to be cached, as all future instances may be dynamically created based on the metadata tagged to the master copy of the video.
  • the abovementioned method may result in significant cost savings for a customer.
  • computing time and resources required may be minimized when a new video format is added to a video catalogue.
  • the format required by the user may be encoded dynamically on-demand.
  • the need to store individual files in the new format or individual files associated with rendering the video on the new device may be dispensed with.
  • the content metadata associated with the video may be published to the point of access of the video.
  • the abovementioned method may still not be efficient enough to satisfy a lot of business case scenarios.
  • factors including but not limited to cost, bandwidth, available computing resources and/or storage may impact the encoding process.
  • the aforementioned factors may need to be assessed to optimize the encoding process.
  • Figure 2 shows a flowchart detailing the operations involved in a method of encoding, according to one or more embodiments.
  • operation 202 may involve accepting a request for video content from the user.
  • operation 204 may then involve parsing the request.
  • operation 206 may involve atomically segmenting the content associated with the request.
  • operation 208 may involve reassembling the segmented content in a format appropriate to the user, following the processing on all segmented portions of the content.
  • operation 210 may then involve appropriately responding to the user request.
  • an encoding engine may accept the request from the user, parse the request, and then atomically segment the request.
  • the encoding engine may be associated with several computing nodes, each of which may work on an individual segment of the content.
  • a single computing node may take over the task of reassembling the content and signaling the encoding engine following the completion of the reassembling.
  • the encoding engine may then appropriately respond to the user request.
  • Figure 3 shows a flowchart detailing the operations involved in a method of utilizing an encoding algorithm in purposing video content in a format required by the user, according to one or more embodiments.
  • operation 302 may involve accepting a request for video content from the user.
  • operation 304 may then involve parsing the request.
  • operation 306 may involve collecting statistics about the user request to be later input to the encoding algorithm.
  • operation 308 may involve determining if the video content is located in a content database.
  • operation 310 may then involve requesting the encoding engine to purpose the video content in an appropriate format as required by the user request.
  • operation 312 may involve notifying the user of the availability of the video in the appropriate format as per the request.
  • the video content may be dynamically created in the appropriate format.
  • the video content may either be stored in the content database on a long-term basis based on the encoding algorithm or may be deleted shortly after the user obtains the video in the appropriate format.
  • the user request statistics collected in operation 306 may be input to the encoding algorithm. In one or more embodiments, this may factor several data sources into the pre-purposing process to further personalize the video content for the user. In one or more embodiments, based on an input from the encoding algorithm, the determination as to whether the video content is in the content database may be done in operation 308. In one or more embodiments, if the video content is available in the content database, the video content may have been pre-purposed. Then, in one or more embodiments, as in operation 312, the user may be notified that the video is available in the appropriate format.
  • an analytics framework may be delivered to the video content publisher.
  • the incorporation of these data sources into the pre-purposing process may be done manually, which may require additional computing resources, storage, and/or bandwidth.
  • the inclusion of an intelligent agent that utilizes intelligence derived from the user data and other metrics may broaden the scope of the encoding process.
  • the intelligent agent may decrease the number of operations required to transform the video content.
  • an encoding algorithm, incorporating the intelligent agent may result in a cost effective method for preparing video content for delivery.
  • the intelligent agent may automatically update the pre-purposing process dynamically through balancing conditions and inputs from various data sources (e.g., devices, content, computing resource, bandwidth, storage availability, cost) and/or market data (e.g., demographic trends, sales figures, social graph activity) with user parameters, user requests, and/or user requirements to produce specific encoding scenarios.
  • data sources e.g., devices, content, computing resource, bandwidth, storage availability, cost
  • market data e.g., demographic trends, sales figures, social graph activity
  • the intelligent agent may modify the encoding algorithm with the analysis of data and metrics from a variety of sources.
  • video content may be delivered from a server based on a realtime end user request.
  • a specific video format (e.g., video file format) may not be stored on the server, and the intelligent agent, instead, may rely on available computing resources to process the video on-demand and deliver from the server to the client.
  • specific video formats e.g., file formats
  • specific video formats may not initially be stored on the server, and the intelligent agent, instead, may rely on available computing until the user requests for a specific content for a specific client environment are deemed to have passed a threshold analyzed by the intelligent agent.
  • the specific video format(s) may be dynamically stored on the server for subsequent client access.
  • specific video formats may be stored on the server, without relying on the available computing. In one or more embodiments, this may be due to the user requests for specific contents for specific client environments being deemed to have passed analyzed thresholds. Therefore, in one or more embodiments, the specific video formats may be stored on the server (e.g., in a content database) for client access.
  • the intelligent agent may optimize the process of preparing videos by: (a) processing videos on-demand, (b) dynamically storing videos on the server, and (c) pre-purposing videos on the server.
  • the aforementioned scenarios may each factor in the analysis of metrics and user parameters to optimize video presentation. In one or more embodiments, therefore, video delivery may be accelerated, associated costs may be decreased, and the user experience may be enriched.
  • instructions may be sent to the encoding algorithm to optimize conditions at both the client end and the server end.
  • user requests may be fed back through the encoding algorithm to become another source of data to the intelligent agent.
  • the on- demand purposing may allow for a segmented approach in video processing, and may provide video content publishers the ability to dynamically personalize portions/attributes of videos based on the metadata captured about each user.
  • examples of personalization capabilities include but are not limited to language soundtracks, subtitles, targeted advertising, parental controls, accessibility, location-based services, collaborations, scene replacements, and versioning.
  • pre-purposing videos to deliver the abovementioned personalization enhancements may add to the number of versions that must be stored for delivery.
  • targeted advertising for example, may not be possible without pre-purposing.
  • the encoding algorithm incorporating the intelligent agent may also provide the capability to assess and deliver on-demand encoding on the server at the same time as delivery.
  • the temporal nature of video may require the encoding to be completed in a temporal, linear fashion.
  • the time taken for a video to be re- purposed may not exceed the time required for a user to view the video on the client device.
  • the user may be able to download the start of a video while the other parts of the video are being re -purposed.
  • the benefits for on-demand encoding may further be optimized.
  • Figure 4 is a schematic view of video content delivery incorporating an encoding algorithm 460 from a server 452 to a client 402, according to one or more embodiments.
  • the user may reside on the client 402 side.
  • the video content may be delivered from server 452 to client 402 on-demand 406 based on a real-time user request.
  • the specific format required by the user may not be stored on server 452, as described above.
  • the intelligent agent shown as incorporating an analytics algorithm 462 may modify encoding algorithm 460 (e.g., atomic encoding algorithm) on server 452 side with the analysis of data (e.g., financial analysis 482, of which computing, bandwidth, and storage are examples) and metrics 484
  • dynamic storage 456 may include a volatile memory (e.g., Random Access Memory (RAM)).
  • RAM Random Access Memory
  • the three avenues of providing appropriate videos to the user may have access to on-demand features 454 (e.g., language, location).
  • on-demand features 454 e.g., language, location.
  • instructions may be sent to encoding algorithm 460 to optimize conditions at both client 402 end and server 452 end.
  • encoding algorithm 460 may update device registry 468 that serves as an input to analytics algorithm 462.
  • content registry 470 may also be an input to analytics algorithm 462.
  • encoding algorithm 460 may provide for periodic/dynamic updates to device registry 468, which may lead to optimized analysis using analytics algorithm 462 and encoding algorithm 460.
  • metrics data sources 466 may be updated based on encoding algorithm 460, as shown in Figure 4.
  • analytics algorithm 462 may also include the user parameters/requirements 486 as elements/conditions/parameters for analysis.
  • FIG. 5 shows a video content delivery system 500, according to one or more embodiments.
  • server 452 may include a processor 492, a volatile memory 494, and a non-volatile memory 496.
  • processor 492 may perform the requisite processing on a video stored in, for example, non-volatile memory 496 (e.g., hard disk).
  • encoding algorithm 460 and analytics algorithm 462, implemented on processor 492 may be used to appropriately encode the video, based on a request from the user at client 402 side.
  • the encoded video may be directly transmitted to client 402 through network 502, transmitted to client 402 through network 502 via dynamic storage 408 (e.g., volatile memory 494), or transmitted to client 402 through network 502 via pre-purpose storage 458 (e.g., nonvolatile memory 496).
  • network 502 may be Internet,
  • network 502 may be a wired network.
  • client 402 may be a mobile device (e.g., mobile phone), a personal computer (PC), a laptop, a game console, a Digital Video Disc (DVD) player, a media player, or a Set- Top Box (STB) coupled to a television (TV) set.
  • mobile device e.g., mobile phone
  • PC personal computer
  • laptop a laptop
  • game console e.g., a Digital Video Disc (DVD) player
  • STB Set- Top Box
  • a majority of mobile users of a particular region may own mid- priced mobile phones based on market research data. These mobile phones may have storage limitations and may require videos in a compact format to accommodate the storage restrictions.
  • the aforementioned market research data and storage data may be pre-determined inputs to analytics algorithm 462 configured to encode the required videos in appropriate formats.
  • the market research data and storage data may also be dynamically input to analytics algorithm 462.
  • analytics algorithm 462 may be a part of encoding algorithm 460, and, therefore, in Figure 4, the block associated with analytics algorithm 462 may be shown inside encoding algorithm 460.
  • the intelligent optimized encoding in video content delivery system 500 may be provided as a Software as a Service (SaaS), where video content delivery system 500 is a cloud-based computing system.
  • SaaS Software as a Service
  • FIG. 6 shows a process flow diagram detailing the operations involved in a method of optimizing encoding of a video during content delivery, according to one or more embodiments.
  • operation 602 may involve receiving a user request for a video on a server.
  • operation 604 may involve intelligently optimizing a personalized encoding of the video at the server through an automatic and/or a dynamic utilization of a user data and/or a metrics data upon receipt of the user request.
  • operation 606 may then involve transferring the encoded personalized video from the server to a client device associated with the user request.
  • FIG. 7 shows a process flow diagram detailing the operations involved in an intelligent video content delivery, according to one or more embodiments.
  • operation 702 may involve receiving a user request for a video on a server.
  • operation 704 may involve appropriately encoding the video to transfer the video from the server to a client device associated with the user request based on an intelligent optimization of the personalized encoding of the video at the server through an automatic and/or a dynamic utilization of a user data and/or a metrics data upon receipt of the user request.
  • the video may be appropriately encoded on- demand as per the user request without storing a specific video format associated with the encoded video at the server.
  • the video may also be appropriately encoded using the specific video format associated with the user request dynamically stored at the server.
  • the dynamic storage of the specific video format may be based on a first threshold time for which requests for a specific content including the user request are received at the server.
  • the video may also be appropriately encoded using the specific video format associated with the user request stored in a content database associated with the encoding.
  • the storage of the specific video format in the content database may be based on a second threshold time for which requests for the specific content including the user request are received at the server.
  • the various devices and modules described herein may be enabled and operated using hardware circuitry (e.g., CMOS based logic circuitry), firmware, software or any combination of hardware, firmware, and software (e.g., embodied in a machine readable medium).
  • hardware circuitry e.g., CMOS based logic circuitry
  • firmware e.g., firmware, software or any combination of hardware, firmware, and software (e.g., embodied in a machine readable medium).

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Graphics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

A method includes receiving a user request for a video on a server, and intelligently optimizing a personalized encoding of the video at the server through an automatic and/or a dynamic utilization of a user data and/or a metrics data upon receipt of the user request. The method also includes transferring the encoded personalized video from the server to a client device associated with the user request.

Description

INTELLIGENT OPTIMIZATION OF VIDEO ENCODING DURING VIDEO
CONTENT DELIVERY
FIELD OF TECHNOLOGY
[0001] This disclosure relates generally to video content delivery and, more particularly, to a method, an apparatus, and a system to realize intelligent optimization of video encoding during video content delivery.
BACKGROUND
[0002] Video encoding in a video content delivery system may utilize a processor associated with a server to transfer video content to a client device (e.g., a personal computer (PC), a mobile device). The encoding may also be provided as a Software as a Service (SaaS) in a cloud-based computing system.
[0003] Encoding video content may require video content publishers to target specific client devices, screen sizes, and video formats to optimize playback in client environments. A universal standard compatible with all client environments, modes of playback (e.g., streaming, download), platforms, operating systems, and client devices may not be available. In addition, in some environments, specific digital locks may be required to permit playback on specific client devices. The digital locks may be configured to restrict sharing between client devices, which may violate ownership and licensing rights.
[0004] Therefore, encoding methods may be hardware dependent and may include pre- purposing. A standard method may include acquiring video content from a hard disk, local area network (LAN) or the Internet, selecting specific parameters for the target playback environment, encoding the video content, saving the video content, uploading the video content to a media store, publishing video content metadata to a point of access to the video, and transferring video content to the playback environment. [0005] The video content may be stored on a device (e.g., server, hard drive, tape) and accessed when required. As one video may be required in several formats (e.g., formats compatible with mobile device, formats compatible with PC) and versions (e.g., including languages, including subtitles, including advertising), costs of storage may accrue for each format or version of the video required. In addition, if a content publisher wants to add another supported device, he/she may need to pre-purpose all existing videos to be made available to the new device.
[0006] When a new format is added to the catalogue of the publisher, instructions to purpose the new format may need to be added to the catalogue. The pre -purposed videos may then need to be stored in locations of easy access. Further, video content metadata may need to be published to a point of access of the videos. Therefore, these encoding methods may lead to inefficient use of human and/or storage resources.
SUMMARY
[0007] Disclosed are a method, an apparatus, and a system to realize intelligent optimization of video encoding during video content delivery.
[0008] In one aspect, a method includes receiving a user request for a video on a server, and intelligently optimizing a personalized encoding of the video at the server through an automatic and/or a dynamic utilization of a user data and/or a metrics data upon receipt of the user request. The method also includes transferring the encoded personalized video from the server to a client device associated with the user request.
[0009] In another aspect, a method includes receiving a user request for a video on a server, and appropriately encoding the video to transfer the video from the server to a client device associated with the user request based on an intelligent optimization of the personalized encoding of the video at the server through an automatic and/or a dynamic utilization of a user data and/or a metrics data upon receipt of the user request.
[0010] The video is either appropriately encoded on-demand as per the user request without storing a specific video format associated with the encoded video at the server or the video is appropriately encoded using the specific video format associated with the user request dynamically stored at the server. The dynamic storage of the specific video format is based on a first threshold time for which requests for a specific content including the user request are received at the server.
[0011] Else, the video is appropriately encoded using the specific video format associated with the user request stored in a content database associated with the encoding. The storage of the specific video format in the content database is based on a second threshold time for which requests for the specific content including the user request are received at the server.
[0012] In yet another aspect, a video content delivery system includes a server, and a client device to which a video on the server is configured to be transferred based on a user request associated with the client device. The server includes a processor configured to intelligently optimize a personalized encoding of the video at the server to be transferred to the client device through an automatic and/or a dynamic utilization of a user data and/or a metrics data upon receipt of the user request.
[0013] The methods and systems disclosed herein may be implemented in any means for achieving various aspects, and may be executed in a form of a machine-readable medium embodying a set of instructions that, when executed by a machine, cause the machine to perform any of the operations disclosed herein. Other features will be apparent from the accompanying drawings and from the detailed description that follows.
BRIEF DESCRIPTION OF THE DRAWINGS
[0014] The embodiments of this invention are illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which:
[0015] Figure 1 is a flowchart detailing the operations involved in a method of pre- purposing a video and handling a subsequent user request therefor, according to one or more embodiments.
[0016] Figure 2 is a flowchart detailing the operations involved in a method of encoding, according to one or more embodiments.
[0017] Figure 3 is a flowchart detailing the operations involved in a method of utilizing an encoding algorithm in purposing video content in a format required by a user, according to one or more embodiments.
[0018] Figure 4 is a schematic view of video content delivery incorporating an encoding algorithm from a server to a client, according to one or more embodiments.
[0019] Figure 5 is a schematic view of a video content delivery system, according to one or more embodiments.
[0020] Figure 6 is a process flow diagram detailing the operations involved in a method of optimizing encoding of a video during content delivery, according to one or more embodiments.
[0021] Figure 7 is a process flow diagram detailing the operations involved in an intelligent video content delivery, according to one or more embodiments.
[0022] Other features of the present embodiments will be apparent from the accompanying drawings and from the detailed description that follows. DETAILED DESCRIPTION
[0023] Example embodiments, as described below, may be used to realize intelligent optimization of video encoding during video content delivery. Although the present embodiments have been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the various embodiments.
[0024] Figure 1 shows a flowchart detailing the operations involved in a method of pre- purposing a video and handling a subsequent user request therefor, according to one or more embodiments. In one or more embodiments, operation 102 may involve storing solely a master copy of a video in a repository. In one or more embodiments, the master copy of the video may be acquired from a hard disk, a local area network (LAN), and/or the Internet. In one or more embodiments, following the acquisition of the master copy of the video, content metadata associated with the master copy of the video may be published to a point of access (e.g., a node of a computer network) to the master copy of the video. In one or more embodiments, operation 104 may involve obtaining a user metadata associated with a device being used to render the video upon receiving a request from the user for the video. In one or more embodiments, operation 106 may then involve transforming the master copy of the video into a format required by the device being used to render the video based on the obtained user metadata associated with the device. In one or more embodiments, the master copy of the video may be encoded based on the user request, and then transferred to the user playback environment.
[0025] In one or more embodiments, the abovementioned method of handling the user request may reduce storage requirements in video content management/delivery systems.
In one or more embodiments, only one master copy of the video may need to be cached, as all future instances may be dynamically created based on the metadata tagged to the master copy of the video. In one or more embodiments, as costs associated with computing time decreases at a rate much faster than the cost of storage, the abovementioned method may result in significant cost savings for a customer. In one or more embodiments, computing time and resources required may be minimized when a new video format is added to a video catalogue. In one or more embodiments, as only a single master copy of each video needs to be stored, the format required by the user may be encoded dynamically on-demand.
[0026] In one or more embodiments, during the addition of a new video format and/or a new device type to a catalog of the video publisher, it may suffice to merely store the instructions to encode the new video format and/or the new device. In one or more embodiments, the need to store individual files in the new format or individual files associated with rendering the video on the new device may be dispensed with. In one or more embodiments, following the storing of instructions to encode the new video format and/or the new device, the content metadata associated with the video may be published to the point of access of the video.
[0027] In one or more embodiments, the abovementioned method may still not be efficient enough to satisfy a lot of business case scenarios. In one or more embodiments, factors including but not limited to cost, bandwidth, available computing resources and/or storage may impact the encoding process. In one or more embodiments, the aforementioned factors may need to be assessed to optimize the encoding process.
[0028] Figure 2 shows a flowchart detailing the operations involved in a method of encoding, according to one or more embodiments. In one or more embodiments, operation 202 may involve accepting a request for video content from the user. In one or more embodiments, operation 204 may then involve parsing the request. In one or more embodiments, operation 206 may involve atomically segmenting the content associated with the request. In one or more embodiments, operation 208 may involve reassembling the segmented content in a format appropriate to the user, following the processing on all segmented portions of the content. In one or more embodiments, operation 210 may then involve appropriately responding to the user request. In one or more embodiments, an encoding engine may accept the request from the user, parse the request, and then atomically segment the request. In one or more embodiments, the encoding engine may be associated with several computing nodes, each of which may work on an individual segment of the content. In one or more embodiments, once the computing nodes process the content, a single computing node may take over the task of reassembling the content and signaling the encoding engine following the completion of the reassembling. In one or more embodiments, the encoding engine may then appropriately respond to the user request.
[0029] Figure 3 shows a flowchart detailing the operations involved in a method of utilizing an encoding algorithm in purposing video content in a format required by the user, according to one or more embodiments. In one or more embodiments, operation 302 may involve accepting a request for video content from the user. In one or more embodiments, operation 304 may then involve parsing the request. In one or more embodiments, operation 306 may involve collecting statistics about the user request to be later input to the encoding algorithm. In one or more embodiments, operation 308 may involve determining if the video content is located in a content database. In one or more embodiments, if the video content is not available in the content database, operation 310 may then involve requesting the encoding engine to purpose the video content in an appropriate format as required by the user request. In one or more embodiments, operation 312 may involve notifying the user of the availability of the video in the appropriate format as per the request. In one or more embodiments, the video content may be dynamically created in the appropriate format. In one or more embodiments, the video content may either be stored in the content database on a long-term basis based on the encoding algorithm or may be deleted shortly after the user obtains the video in the appropriate format.
[0030] In one or more embodiments, as discussed above, the user request statistics collected in operation 306 may be input to the encoding algorithm. In one or more embodiments, this may factor several data sources into the pre-purposing process to further personalize the video content for the user. In one or more embodiments, based on an input from the encoding algorithm, the determination as to whether the video content is in the content database may be done in operation 308. In one or more embodiments, if the video content is available in the content database, the video content may have been pre-purposed. Then, in one or more embodiments, as in operation 312, the user may be notified that the video is available in the appropriate format.
[0031] In one or more embodiments, as there are several data sources that may be factored into the pre-purposing process to further personalize the video content for the user, as discussed above, an analytics framework may be delivered to the video content publisher. In one or more embodiments, the incorporation of these data sources into the pre-purposing process may be done manually, which may require additional computing resources, storage, and/or bandwidth.
[0032] In one or more embodiments, the inclusion of an intelligent agent that utilizes intelligence derived from the user data and other metrics may broaden the scope of the encoding process. In one or more embodiments, the intelligent agent may decrease the number of operations required to transform the video content. In one or more embodiments, an encoding algorithm, incorporating the intelligent agent, may result in a cost effective method for preparing video content for delivery.
[0033] In one or more embodiments, the intelligent agent may automatically update the pre-purposing process dynamically through balancing conditions and inputs from various data sources (e.g., devices, content, computing resource, bandwidth, storage availability, cost) and/or market data (e.g., demographic trends, sales figures, social graph activity) with user parameters, user requests, and/or user requirements to produce specific encoding scenarios. In one or more embodiments, the intelligent agent may modify the encoding algorithm with the analysis of data and metrics from a variety of sources. In one or more embodiments, video content may be delivered from a server based on a realtime end user request. In one or more embodiments, here, a specific video format (e.g., video file format) may not be stored on the server, and the intelligent agent, instead, may rely on available computing resources to process the video on-demand and deliver from the server to the client. [0034] In one or more embodiments, specific video formats (e.g., file formats) may not initially be stored on the server, and the intelligent agent, instead, may rely on available computing until the user requests for a specific content for a specific client environment are deemed to have passed a threshold analyzed by the intelligent agent. In one or more embodiments, once the user requests cross the threshold, the specific video format(s) may be dynamically stored on the server for subsequent client access.
[0035] In one or more embodiments, specific video formats (e.g., file formats) may be stored on the server, without relying on the available computing. In one or more embodiments, this may be due to the user requests for specific contents for specific client environments being deemed to have passed analyzed thresholds. Therefore, in one or more embodiments, the specific video formats may be stored on the server (e.g., in a content database) for client access.
[0036] Thus, in one or more embodiments, the intelligent agent may optimize the process of preparing videos by: (a) processing videos on-demand, (b) dynamically storing videos on the server, and (c) pre-purposing videos on the server. In one or more embodiments, the aforementioned scenarios may each factor in the analysis of metrics and user parameters to optimize video presentation. In one or more embodiments, therefore, video delivery may be accelerated, associated costs may be decreased, and the user experience may be enriched.
[0037] In one or more embodiments, as the thresholds discussed above may be arrived at as the result of analyses described above, instructions may be sent to the encoding algorithm to optimize conditions at both the client end and the server end. In one or more embodiments, user requests may be fed back through the encoding algorithm to become another source of data to the intelligent agent. In one or more embodiments, the on- demand purposing may allow for a segmented approach in video processing, and may provide video content publishers the ability to dynamically personalize portions/attributes of videos based on the metadata captured about each user. In one or more embodiments, examples of personalization capabilities include but are not limited to language soundtracks, subtitles, targeted advertising, parental controls, accessibility, location-based services, collaborations, scene replacements, and versioning.
[0038] In one or more embodiments, pre-purposing videos to deliver the abovementioned personalization enhancements may add to the number of versions that must be stored for delivery. In one or more embodiments, given the diversity of user profiles, targeted advertising, for example, may not be possible without pre-purposing.
[0039] In one or more embodiments, the encoding algorithm incorporating the intelligent agent may also provide the capability to assess and deliver on-demand encoding on the server at the same time as delivery. In one or more embodiments, the temporal nature of video may require the encoding to be completed in a temporal, linear fashion. In one or more embodiments, therefore, the time taken for a video to be re- purposed may not exceed the time required for a user to view the video on the client device. In one or more embodiments, the user may be able to download the start of a video while the other parts of the video are being re -purposed. In one or more embodiments, by eliminating the delay accompanying the re-purposing of videos, the benefits for on-demand encoding may further be optimized.
[0040] Figure 4 is a schematic view of video content delivery incorporating an encoding algorithm 460 from a server 452 to a client 402, according to one or more embodiments. In one or more embodiments, the user may reside on the client 402 side.
In one or more embodiments, the video content may be delivered from server 452 to client 402 on-demand 406 based on a real-time user request. In one or more embodiments, the specific format required by the user may not be stored on server 452, as described above. In one or more embodiments, the intelligent agent (shown as incorporating an analytics algorithm 462) may modify encoding algorithm 460 (e.g., atomic encoding algorithm) on server 452 side with the analysis of data (e.g., financial analysis 482, of which computing, bandwidth, and storage are examples) and metrics 484
(e.g., trends, sales data, social graphs) from a variety of sources (e.g., financial data sources 464, metrics data sources 466), again, as described above. [0041] In one or more embodiments, based on the analyses of thresholds discussed above, specific video formats may be dynamically stored on server 452 (shown as dynamic storage 456) for subsequent access by client 402 (e.g., access from dynamic storage 408). In one or more embodiments, such video formats may not have been stored in server 452 initially. In one or more embodiments, dynamic storage 456 may include a volatile memory (e.g., Random Access Memory (RAM)). In one or more embodiments, again, based on the analyses of thresholds discussed above, specific video formats may be initially stored on server 452, after being pre-purposed on server 452. Figure 4 indicates the pre-purpose storage 458. In one or more embodiments, client 402 access to pre-purpose storage 458 may be indicated as "from storage" 410.
[0042] In one or more embodiments, the three avenues of providing appropriate videos to the user (i.e., on-demand 406, from dynamic storage 408, and from storage 410) may have access to on-demand features 454 (e.g., language, location). In one or more embodiments, again as described above, instructions may be sent to encoding algorithm 460 to optimize conditions at both client 402 end and server 452 end. In one or more embodiments, encoding algorithm 460 may update device registry 468 that serves as an input to analytics algorithm 462. In one or more embodiments, content registry 470 may also be an input to analytics algorithm 462. In one or more embodiments, encoding algorithm 460 may provide for periodic/dynamic updates to device registry 468, which may lead to optimized analysis using analytics algorithm 462 and encoding algorithm 460. In one or more embodiments, metrics data sources 466 may be updated based on encoding algorithm 460, as shown in Figure 4. In one or more embodiments, analytics algorithm 462 may also include the user parameters/requirements 486 as elements/conditions/parameters for analysis.
[0043] Figure 5 shows a video content delivery system 500, according to one or more embodiments. In one or more embodiments, server 452 may include a processor 492, a volatile memory 494, and a non-volatile memory 496. In one or more embodiments, processor 492 may perform the requisite processing on a video stored in, for example, non-volatile memory 496 (e.g., hard disk). In one or more embodiments, encoding algorithm 460 and analytics algorithm 462, implemented on processor 492, may be used to appropriately encode the video, based on a request from the user at client 402 side. In one or more embodiments, depending on the three scenarios discussed above, the encoded video may be directly transmitted to client 402 through network 502, transmitted to client 402 through network 502 via dynamic storage 408 (e.g., volatile memory 494), or transmitted to client 402 through network 502 via pre-purpose storage 458 (e.g., nonvolatile memory 496). In one or more embodiments, network 502 may be Internet,
Worldwide Interoperability for Microwave Access TTVI (WiMAX TTVI ) network, or a cable broadband network. In one or more embodiments, network 502 may be a wired network. In one or more embodiments, client 402 may be a mobile device (e.g., mobile phone), a personal computer (PC), a laptop, a game console, a Digital Video Disc (DVD) player, a media player, or a Set- Top Box (STB) coupled to a television (TV) set.
[0044] For example, a majority of mobile users of a particular region may own mid- priced mobile phones based on market research data. These mobile phones may have storage limitations and may require videos in a compact format to accommodate the storage restrictions. The aforementioned market research data and storage data may be pre-determined inputs to analytics algorithm 462 configured to encode the required videos in appropriate formats. The market research data and storage data may also be dynamically input to analytics algorithm 462. In one or more embodiments, analytics algorithm 462 may be a part of encoding algorithm 460, and, therefore, in Figure 4, the block associated with analytics algorithm 462 may be shown inside encoding algorithm 460.
[0045] In one or more embodiments, the intelligent optimized encoding in video content delivery system 500 may be provided as a Software as a Service (SaaS), where video content delivery system 500 is a cloud-based computing system.
[0046] Figure 6 shows a process flow diagram detailing the operations involved in a method of optimizing encoding of a video during content delivery, according to one or more embodiments. In one or more embodiments, operation 602 may involve receiving a user request for a video on a server. In one or more embodiments, operation 604 may involve intelligently optimizing a personalized encoding of the video at the server through an automatic and/or a dynamic utilization of a user data and/or a metrics data upon receipt of the user request. In one or more embodiments, operation 606 may then involve transferring the encoded personalized video from the server to a client device associated with the user request.
[0047] Figure 7 shows a process flow diagram detailing the operations involved in an intelligent video content delivery, according to one or more embodiments. In one or more embodiments, operation 702 may involve receiving a user request for a video on a server. In one or more embodiments, operation 704 may involve appropriately encoding the video to transfer the video from the server to a client device associated with the user request based on an intelligent optimization of the personalized encoding of the video at the server through an automatic and/or a dynamic utilization of a user data and/or a metrics data upon receipt of the user request.
[0048] In one or more embodiments, the video may be appropriately encoded on- demand as per the user request without storing a specific video format associated with the encoded video at the server. In one or more embodiments, the video may also be appropriately encoded using the specific video format associated with the user request dynamically stored at the server. Here, in one or more embodiments, the dynamic storage of the specific video format may be based on a first threshold time for which requests for a specific content including the user request are received at the server.
[0049] Further, in one or more embodiments, the video may also be appropriately encoded using the specific video format associated with the user request stored in a content database associated with the encoding. In one or more embodiments, the storage of the specific video format in the content database may be based on a second threshold time for which requests for the specific content including the user request are received at the server. [0050] Although the present embodiments have been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the various embodiments. For example, the various devices and modules described herein may be enabled and operated using hardware circuitry (e.g., CMOS based logic circuitry), firmware, software or any combination of hardware, firmware, and software (e.g., embodied in a machine readable medium).
[0051] In addition, it will be appreciated that the various operations, processes, and methods disclosed herein may be embodied in a machine-readable medium and/or a machine accessible medium compatible with a data processing system (e.g., a computer device), and may be performed in any order (e.g., including using means for achieving the various operations). Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.

Claims

CLAIMS What is claimed is:
1. A method comprising: receiving a user request for a video on a server; intelligently optimizing a personalized encoding of the video at the server through at least one of an automatic and a dynamic utilization of at least one of a user data and a metrics data upon receipt of the user request; and transferring the encoded personalized video from the server to a client device associated with the user request.
2. The method of claim 1, wherein the user data includes at least one of a client device data, a video content data, a computing resource data, a bandwidth, a storage availability, a cost, a user parameter, the user request, a previous user request, and a user requirement, and wherein the metrics data includes a market data comprising at least one of a demographic trend, a sales figure, and a social graph activity.
3. The method of claim 1, further comprising one of: processing the video on-demand to transfer from the server to the client device without storing a specific video format associated with the user request at the server; dynamically storing the specific video format associated with the user request at the server to enable subsequent access by the client device associated with the request based on a first threshold analyzed during the intelligent optimization of the personalized encoding, the first threshold being based on a first time for which requests for a specific content including the user request are received at the server; and storing the specific video format associated with the user request at the server in a content database associated with the personalized encoding to enable subsequent access by the client device associated with the request based on a second threshold analyzed during the intelligent optimization of the personalized encoding, the second threshold being based on a second time for which requests for the specific content including the user request are received at the server.
4. The method of claim 1, further comprising feeding back the user request to the encoding algorithm associated with the intelligent optimization as a data source input.
5. The method of claim 1, wherein intelligently optimizing the personalized encoding of the video at the server includes personalizing at least a portion of the video.
6. The method of claim 1, further comprising performing an on-demand encoding of the video at the server at a same time as a delivery of the encoded video at the client device associated with the user request, wherein a time taken for the video to be encoded is less than a time taken for the encoded video to be seamlessly rendered on the client device.
7. The method of claim 1, further comprising: acquiring a content associated with the video through one of a storage associated with the server and a computer network; publishing a metadata associated with the video content to an access point of the video; storing solely a master copy of the video at the server; collecting a metadata associated with the client device; and tagging the metadata associated with the client device to the master copy of the video.
8. The method of claim 1, further comprising: parsing the user request for the video on the server; atomically segmenting a content associated with the video; individually processing segments of the content during encoding thereof; reassembling processed segments of the content; and appropriately responding to the user request.
9. The method of claim 1, wherein the client device associated with the user request is configured to communicate with the server through a computer network.
10. The method of claim 1, wherein the client device associated with the user request is one of a mobile device, a personal computer (PC), a laptop, a game console, a media player, and a Set- Top Box (STB) coupled to a television (TV) set.
11. The method of claim 3, further comprising: collecting a statistic about the user request configured to be later input during subsequent encoding; and determining if the specific video format associated with the user request is located in the content database, wherein when the specific video format associated with the user request is located in the content database, the user request is served through the content database, and wherein when the specific video format associated with the user request is not located in the content database, the specific video format is dynamically generated through encoding of the video on the server.
12. The method of claim 5, wherein an attribute associated with personalizing at least a portion of a video includes one of a language soundtrack, a subtitle, targeted advertising, a parental control, an accessibility, a location-based service, a collaboration, a scene replacement, and versioning.
13. The method of claim 7, further comprising: adding at least one of a new video format and a new client device type to a catalogue associated with the video; and solely storing an instruction associated with encoding the one of the new video format and the new device type at the server during the addition of the at least one of the new video format and the new client device type to the catalogue.
14. The method of claim 9, wherein the computer network is one of Internet, a Worldwide Interoperability for Microwave Access (WiMAX ) network, and a wired network.
15. The method of claim 11, further comprising deleting the specific video format from the server after transferring the specific video format to the client device associated with the user request.
16. A method comprising: receiving a user request for a video on a server; one of: appropriately encoding the video on-demand as per the user request to transfer the encoded video from the server to a client device associated with the user request without storing a specific video format associated with the encoded video at the server; appropriately encoding the video using the specific video format associated with the user request dynamically stored at the server to transfer the encoded video from the server to the client device, the dynamic storage of the specific video format being based on a first threshold time for which requests for a specific content including the user request are received at the server; and appropriately encoding the video using the specific video format associated with the user request stored in a content database associated with the encoding to transfer the encoded video from the server to the client device, the storage of the specific video format in the content database being based on a second threshold time for which requests for the specific content including the user request are received at the server, based on an intelligent optimization of the personalized encoding of the video at the server through at least one of an automatic and a dynamic utilization of at least one of a user data and a metrics data upon receipt of the user request.
17. The method of claim 16, wherein the user data includes at least one of a client device data, a video content data, a computing resource data, a bandwidth, a storage availability, a cost, a user parameter, the user request, a previous user request, and a user requirement, and wherein the metrics data includes a market data comprising at least one of a demographic trend, a sales figure, and a social graph activity.
18. A video content delivery system comprising: a server comprising a processor; and a client device to which a video on the server is configured to be transferred based on a user request associated with the client device, wherein the processor is configured to intelligently optimize a personalized encoding of the video at the server to be transferred to the client device through at least one of an automatic and a dynamic utilization of at least one of a user data and a metrics data upon receipt of the user request.
19. The video content delivery system of claim 18, wherein the user data includes at least one of a client device data, a video content data, a computing resource data, a bandwidth, a storage availability, a cost, a user parameter, the user request, a previous user request, and a user requirement, and wherein the metrics data includes a market data comprising at least one of a demographic trend, a sales figure, and a social graph activity.
20. The video content delivery system of claim 18, wherein the client device is configured to communicate with the server through a computer network.
21. The video content delivery system of claim 18, wherein the client device associated with the user request is one of a mobile device, a personal computer (PC), a laptop, a game console, a media player, and a Set- Top Box (STB) coupled to a television (TV) set.
22. The video content delivery system of claim 18, wherein the video content delivery system is a cloud-based computing system, and wherein the processor is configured to perform the personalized encoding as a Software as a Service (SaaS).
23. The video content delivery system of claim 20, wherein the computer network is one of Internet, a Worldwide Interoperability for Microwave Access™ (WiMAX™) network, and a wired network.
PCT/US2010/025470 2010-02-26 2010-02-26 Intelligent optimization of video encoding during video content delivery WO2011106009A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2010/025470 WO2011106009A1 (en) 2010-02-26 2010-02-26 Intelligent optimization of video encoding during video content delivery

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2010/025470 WO2011106009A1 (en) 2010-02-26 2010-02-26 Intelligent optimization of video encoding during video content delivery

Publications (1)

Publication Number Publication Date
WO2011106009A1 true WO2011106009A1 (en) 2011-09-01

Family

ID=44507124

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2010/025470 WO2011106009A1 (en) 2010-02-26 2010-02-26 Intelligent optimization of video encoding during video content delivery

Country Status (1)

Country Link
WO (1) WO2011106009A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014015168A3 (en) * 2012-07-18 2014-03-27 Skyfire Labs, Inc. Just-in-time distributed video cache
EP2806679A3 (en) * 2013-05-22 2015-01-14 Vodafone IP Licensing limited Telecommunications networks
EP2897367A1 (en) * 2014-01-19 2015-07-22 Fabrix TV Ltd Methods and systems of storage level video fragment management

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR200434082Y1 (en) * 2006-09-15 2006-12-15 주식회사 베스트투데이 Automatic data processing apparatus of bidirectional digital broadcasting for wired and/or wireless terminal with digital broadcasting function
WO2010016751A2 (en) * 2008-08-08 2010-02-11 Samsung Electronics Co., Ltd. Method and apparatus for submitting user content in dcd service

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR200434082Y1 (en) * 2006-09-15 2006-12-15 주식회사 베스트투데이 Automatic data processing apparatus of bidirectional digital broadcasting for wired and/or wireless terminal with digital broadcasting function
WO2010016751A2 (en) * 2008-08-08 2010-02-11 Samsung Electronics Co., Ltd. Method and apparatus for submitting user content in dcd service

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014015168A3 (en) * 2012-07-18 2014-03-27 Skyfire Labs, Inc. Just-in-time distributed video cache
KR20150038170A (en) * 2012-07-18 2015-04-08 오페라 소프트웨어 아일랜드 리미티드 Just-in-time distributed video cache
US9154361B2 (en) 2012-07-18 2015-10-06 Opera Software Ireland Limited Just-in-time distributed video cache
KR101629338B1 (en) 2012-07-18 2016-06-13 오페라 소프트웨어 아일랜드 리미티드 Just-in-time distributed video cache
US9800633B2 (en) 2012-07-18 2017-10-24 Performance And Privacy Ireland Ltd. Just-in-time distributed video cache
US10484442B2 (en) 2012-07-18 2019-11-19 Performance and Privacy Ireland Limited Just-in-time distributed video cache
EP2806679A3 (en) * 2013-05-22 2015-01-14 Vodafone IP Licensing limited Telecommunications networks
WO2014188208A3 (en) * 2013-05-22 2015-01-15 Vodafone Ip Licensing Limited Telecommunications networks
EP2897367A1 (en) * 2014-01-19 2015-07-22 Fabrix TV Ltd Methods and systems of storage level video fragment management

Similar Documents

Publication Publication Date Title
US10999340B2 (en) Cloud-based video delivery
US10296591B2 (en) Efficient data distribution to multiple devices
US9621928B2 (en) Streaming playback and dynamic ad insertion
US10116971B2 (en) Method and system for fetching a portion of a live media stream before a first ad finishes playing to detect the subsequent ad indicator for live consecutive ad replacement
US10904642B2 (en) Methods and apparatus for updating media presentation data
US11528264B2 (en) Merged video streaming, authorization, and metadata requests
US10194096B2 (en) System and method for optimizing videos using optimization rules
WO2021159770A1 (en) Video playback method, device, apparatus, and storage medium
US20120278497A1 (en) Reduced Video Player Start-Up Latency In HTTP Live Streaming And Similar Protocols
US20130151493A1 (en) Media service and method for delivery of stored media
US9055268B2 (en) Multi-tier recorder to enable seek-back unique copy recording
US20220167043A1 (en) Method and system for playing streaming content
WO2011106009A1 (en) Intelligent optimization of video encoding during video content delivery
US9930414B2 (en) Virtual high definition video player
US9906820B2 (en) Method and system for providing video content based on image
KR101603531B1 (en) SYSTEM FOR PROVIDING CLOUD COMPUTING SaaS BASED VIDEO SERVICES AND THE METHOD THEREOF
Sahoo et al. Resource allocation for video transcoding in the multimedia cloud
US20230336821A1 (en) Methods, devices, and computer readable medium for processing alternative media presentation description
US10887632B1 (en) Dynamic distribution of encoded content to media endpoints
KR20220159964A (en) Systems, methods, and apparatus for managing storage of media objects

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10846765

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10846765

Country of ref document: EP

Kind code of ref document: A1