US20130136430A1 - System and methods for optimizing buffering heuristics in media - Google Patents
System and methods for optimizing buffering heuristics in media Download PDFInfo
- Publication number
- US20130136430A1 US20130136430A1 US13/752,302 US201313752302A US2013136430A1 US 20130136430 A1 US20130136430 A1 US 20130136430A1 US 201313752302 A US201313752302 A US 201313752302A US 2013136430 A1 US2013136430 A1 US 2013136430A1
- Authority
- US
- United States
- Prior art keywords
- media
- heuristics
- playback
- buffering
- video
- Prior art date
- Legal status (The legal status 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 status listed.)
- Abandoned
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2428—Query predicate definition using graphical user interfaces, including menus and forms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4331—Caching operations, e.g. of an advertisement for later insertion during playback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44213—Monitoring of end-user related data
- H04N21/44222—Analytics of user selections, e.g. selection of programs or purchase activity
- H04N21/44224—Monitoring of user activity on external systems, e.g. Internet browsing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/765—Interface circuits between an apparatus for recording and another apparatus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/87—Regeneration of colour television signals
Definitions
- Disclosure herein is generally directed to the field buffering heuristics in media assets.
- the algorithms for selecting which fragment to download next into the media player are called the “heuristics” components.
- Current Smooth Video heuristics are closed to end-user modifications, have been optimized for long form video, do not utilize any historical playback data and fail to provide a high quality end-user experience when playing multiple high quality short form media clips in a row.
- the heuristics start over by playing the lowest bit rate video first and ramping up.
- the user By playing the lowest quality bitrate video first, the user is presented with typically 2-3 fragments or more of video which plays at very low quality.
- the media clip is short, perhaps only 4-30 fragments long, the user is presented with 2 seconds of low quality video, even if their connection to the Internet would normally support high quality video during long form video playback.
- Disclosure below relates to enabling smooth video playback of a group of media files where the transition between each file be smooth and at have the highest quality available.
- the present invention relates to selecting the best bitrate and to filling the playback buffer in the most optimized way so as to avoid quality loss, thus enhancing the end-user experience.
- a new heuristics engine which sacrifices initial load time for quality of playback, while also utilizing previous user-based playback statistics as hints on how to optimize successive items. Additionally, in accordance to this invention, the heuristics system will continue to fill the media player's buffer across playlist elements without waiting for the current element to be finished.
- Short form media and particularly sports or other high definition media, requires heuristics which optimize the end-user experience.
- the quality of highlight reel playback e.g. custom reel playback consisting of short form video segments selected by end users, content providers or other means that yield assemblage of short form video segments
- the systems and methods utilize a computer executable program having instructions to implement a method to smooth video playback of a media file.
- the method includes selecting a media player, selecting a media file for smoothing, selecting at least one heuristics engine compatible with the media player, selecting a buffering engine compatible with the media file, buffering the media file, and creating a new heuristics engine to optimize playback of the buffered media file on the selected media player.
- the particular embodiments utilizes an algorithm to analyze previous attempts by the same user and either presents the media player with all data, a subset of data or even just a simple hint, enabling the boot of the heuristics engine with the ability to custom-target the initial startup methods.
- This may be handled in one of two ways. This provides for implementation of one heuristics engine per media element or utilizes one or more heuristics engines that is/are persistent across multiple media elements. The result is that the heuristics engine is responsible for correctly managing the system to optimize the end user's viewing experience.
- the buffering engine driven by the heuristics sub-system, will continue to buffer data, even across media asset borders, regardless of where playback is inside the media player.
- the buffering engine can also be configured to store each fragment locally in a database style cache.
- the user can be presented with options on the size and aggressiveness of the disk caching system.
- the buffering engine will either request a higher quality fragment, if one is available, and if the heuristics engine stats indicate there is time to do so, or alternately, will utilize the fragment previously cached.
- a clip is done buffering, it may still be playing in the media player. The media player will then create a new heuristics system and buffering engine, yet transfer relevant data from the current media's components. In this fashion, buffering can occur across media boundaries and playback of the next clip is smooth and without the compromise of quality that current blank slate heuristics system exhibit that are standard in the industry today.
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Social Psychology (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Television Signal Processing For Recording (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
An algorithm to analyze previous attempts by the a user of a media player and either presents the media player with all data, a subset of data or even a hint, enabling the boot of the heuristics engine with the ability to custom-target initial startup methods of the media engine.
Description
- This application is a continuation of U.S. patent application Ser. No. 13/085,363 filed on Apr. 12, 2011 which claims the benefit of priority to and incorporates by reference in their entireties U.S. Provisional Patent Application No. 61/323,790 filed Apr. 13, 2010 and to U.S. Provisional Patent Application No. 61/323,800 filed Apr. 13, 2010. All of the aforementioned applications are hereby incorporated by reference in their entireties as if fully set forth herein.
- Disclosure herein is generally directed to the field buffering heuristics in media assets.
- Recently a new type of digital media encoding has become available. The encoding process, tag named “Smooth” or “Smooth Video,” means that video is encoded in more than one bitrate and that every 2-3 seconds of video in each bitrate can be grouped together. These groupings are called “fragments”. By enabling such encoding to exist, playback within a network viewing system can select the best possible fragment based on available bandwidth, quality of service or QOS settings, central processing unit or CPU utilization and other factors. Additionally, if the media player changes bitrates between fragments, the playback is smooth—video playback isn't halted, jerky or display other artifacts during transition between the borders of each fragment. The algorithms for selecting which fragment to download next into the media player are called the “heuristics” components. Current Smooth Video heuristics are closed to end-user modifications, have been optimized for long form video, do not utilize any historical playback data and fail to provide a high quality end-user experience when playing multiple high quality short form media clips in a row.
- Previously, where there is only one bitrate available (such as with YouTube and other such video solutions), there are no heuristics. These systems simply download the single available bitrate content as fast as conditions permit. The only heuristics for Smooth Video released thus far have been by Microsoft Corporation. Microsoft's heuristics have made certain tradeoffs resulting in compromised performance when handling short form video. The existing heuristics assume that the media being played back is long form; they start from the lowest bitrate video and increase, per fragment, until the proper optimized bitrate video matching current end user conditions is found. Every time a new clip is loaded, the heuristics, being driven by the statistics of playback, are cleared and reset. With each new clip, the heuristics start over by playing the lowest bit rate video first and ramping up. By playing the lowest quality bitrate video first, the user is presented with typically 2-3 fragments or more of video which plays at very low quality. When the media clip is short, perhaps only 4-30 fragments long, the user is presented with 2 seconds of low quality video, even if their connection to the Internet would normally support high quality video during long form video playback.
- In brief, current methods utilize no historical data, either per-network, per-application or per-user, and, as such, information from previous playback is ignored during subsequent playback. Additionally, load time is sacrificed for quality. The results are that Smooth Video does not work satisfactorily with highlight reels inside of a network player.
- Disclosure below relates to enabling smooth video playback of a group of media files where the transition between each file be smooth and at have the highest quality available. The present invention relates to selecting the best bitrate and to filling the playback buffer in the most optimized way so as to avoid quality loss, thus enhancing the end-user experience.
- In accordance with the particular embodiments of the present invention, there is provided a new heuristics engine which sacrifices initial load time for quality of playback, while also utilizing previous user-based playback statistics as hints on how to optimize successive items. Additionally, in accordance to this invention, the heuristics system will continue to fill the media player's buffer across playlist elements without waiting for the current element to be finished. Short form media, and particularly sports or other high definition media, requires heuristics which optimize the end-user experience. The quality of highlight reel playback (e.g. custom reel playback consisting of short form video segments selected by end users, content providers or other means that yield assemblage of short form video segments) is critical to an acceptable end-user experience.
- In one particular embodiment for optimizing the buffering heuristics in microprocessor executable or computer media, the systems and methods utilize a computer executable program having instructions to implement a method to smooth video playback of a media file. The method includes selecting a media player, selecting a media file for smoothing, selecting at least one heuristics engine compatible with the media player, selecting a buffering engine compatible with the media file, buffering the media file, and creating a new heuristics engine to optimize playback of the buffered media file on the selected media player.
- The particular embodiments utilizes an algorithm to analyze previous attempts by the same user and either presents the media player with all data, a subset of data or even just a simple hint, enabling the boot of the heuristics engine with the ability to custom-target the initial startup methods. This may be handled in one of two ways. This provides for implementation of one heuristics engine per media element or utilizes one or more heuristics engines that is/are persistent across multiple media elements. The result is that the heuristics engine is responsible for correctly managing the system to optimize the end user's viewing experience. The buffering engine, driven by the heuristics sub-system, will continue to buffer data, even across media asset borders, regardless of where playback is inside the media player. The buffering engine can also be configured to store each fragment locally in a database style cache. The user can be presented with options on the size and aggressiveness of the disk caching system. When utilizing the cache, the buffering engine will either request a higher quality fragment, if one is available, and if the heuristics engine stats indicate there is time to do so, or alternately, will utilize the fragment previously cached. When a clip is done buffering, it may still be playing in the media player. The media player will then create a new heuristics system and buffering engine, yet transfer relevant data from the current media's components. In this fashion, buffering can occur across media boundaries and playback of the next clip is smooth and without the compromise of quality that current blank slate heuristics system exhibit that are standard in the industry today.
- While the preferred embodiment of the invention has been illustrated and described, as noted above, many changes can be made without departing from the spirit and scope of the invention. Accordingly, the scope of the invention is not limited by the disclosure of the preferred embodiment. Instead, the invention should be determined entirely by reference to the claims that follow.
Claims (1)
1. A computer executable program having instructions to implement a method to smooth video playback of a media file, the method comprising:
selecting a media player;
selecting a media file for smoothing;
selecting at least one heuristics engine compatible with the media player;
selecting a buffering engine compatible with the media file;
buffering the media file; and
creating a new heuristics engine to optimize playback of the buffered media file on the selected media player.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/752,302 US20130136430A1 (en) | 2010-04-13 | 2013-01-28 | System and methods for optimizing buffering heuristics in media |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US32379010P | 2010-04-13 | 2010-04-13 | |
US32380010P | 2010-04-13 | 2010-04-13 | |
US13/085,363 US20110262102A1 (en) | 2010-04-13 | 2011-04-12 | System and methods for optimizing buffering heuristics in media |
US13/752,302 US20130136430A1 (en) | 2010-04-13 | 2013-01-28 | System and methods for optimizing buffering heuristics in media |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/085,363 Continuation US20110262102A1 (en) | 2010-04-13 | 2011-04-12 | System and methods for optimizing buffering heuristics in media |
Publications (1)
Publication Number | Publication Date |
---|---|
US20130136430A1 true US20130136430A1 (en) | 2013-05-30 |
Family
ID=44815858
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/085,326 Active 2032-02-05 US9282307B2 (en) | 2010-04-13 | 2011-04-12 | System and methods for searching and displaying ontology-based data structures |
US13/085,363 Abandoned US20110262102A1 (en) | 2010-04-13 | 2011-04-12 | System and methods for optimizing buffering heuristics in media |
US13/752,302 Abandoned US20130136430A1 (en) | 2010-04-13 | 2013-01-28 | System and methods for optimizing buffering heuristics in media |
US15/043,161 Abandoned US20160162540A1 (en) | 2010-04-13 | 2016-02-12 | System and methods for searching and displaying ontology-based data structures |
US16/569,260 Pending US20200004745A1 (en) | 2010-04-13 | 2019-09-12 | System and methods for searching and displaying ontology-based data structures |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/085,326 Active 2032-02-05 US9282307B2 (en) | 2010-04-13 | 2011-04-12 | System and methods for searching and displaying ontology-based data structures |
US13/085,363 Abandoned US20110262102A1 (en) | 2010-04-13 | 2011-04-12 | System and methods for optimizing buffering heuristics in media |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/043,161 Abandoned US20160162540A1 (en) | 2010-04-13 | 2016-02-12 | System and methods for searching and displaying ontology-based data structures |
US16/569,260 Pending US20200004745A1 (en) | 2010-04-13 | 2019-09-12 | System and methods for searching and displaying ontology-based data structures |
Country Status (1)
Country | Link |
---|---|
US (5) | US9282307B2 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2836920A4 (en) | 2012-04-09 | 2015-12-02 | Vivek Ventures Llc | Clustered information processing and searching with structured-unstructured database bridge |
US9665615B2 (en) | 2012-10-24 | 2017-05-30 | Microsoft Technology Licensing, Llc | Search-as-you-type on a relational database |
US9720972B2 (en) * | 2013-06-17 | 2017-08-01 | Microsoft Technology Licensing, Llc | Cross-model filtering |
CN104159251A (en) * | 2014-08-18 | 2014-11-19 | 重庆邮电大学 | Sensor network fault link inference method based on passive end-to-end |
US10454987B2 (en) * | 2016-10-28 | 2019-10-22 | Google Llc | Bitrate optimization for multi-representation encoding using playback statistics |
US12141179B2 (en) | 2021-07-28 | 2024-11-12 | OntagenAI, Inc. | System and method for generating ontologies and retrieving information using the same |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100115060A1 (en) * | 2005-01-03 | 2010-05-06 | Luc Julia | System and method for delivering content to users on a network |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6208339B1 (en) * | 1998-06-19 | 2001-03-27 | International Business Machines Corporation | User-interactive data entry display system with entry fields having distinctive and changeable autocomplete |
US20040078236A1 (en) * | 1999-10-30 | 2004-04-22 | Medtamic Holdings | Storage and access of aggregate patient data for analysis |
US20010034734A1 (en) * | 2000-02-16 | 2001-10-25 | Whitley Craig A. | Multimedia sports recruiting portal |
US6757673B2 (en) * | 2000-10-09 | 2004-06-29 | Town Compass Llc | Displaying hierarchial relationship of data accessed via subject index |
US20050001837A1 (en) * | 2002-03-01 | 2005-01-06 | Shannon Michael P. | Method and internet based software for graphing sport statistics |
US20040162803A1 (en) * | 2003-02-15 | 2004-08-19 | Rhoads Jeffrey S. | Method and system to enable a single sports software application's use across multiple sports |
US7299222B1 (en) * | 2003-12-30 | 2007-11-20 | Aol Llc | Enhanced search results |
US8880677B2 (en) * | 2005-01-03 | 2014-11-04 | Qualcomm Connected Experiences, Inc. | System and method for delivering content to users on a network |
US20110055188A1 (en) * | 2009-08-31 | 2011-03-03 | Seaton Gras | Construction of boolean search strings for semantic search |
US20070021165A1 (en) * | 2005-07-21 | 2007-01-25 | Ma Jeffrey K | Graphical user interface for a fantasy sports application |
JP2007110064A (en) * | 2005-09-14 | 2007-04-26 | Ishikawajima Harima Heavy Ind Co Ltd | Laser annealing method and device thereof |
US8201107B2 (en) * | 2006-09-15 | 2012-06-12 | Emc Corporation | User readability improvement for dynamic updating of search results |
US7987176B2 (en) * | 2007-06-25 | 2011-07-26 | Sap Ag | Mixed initiative semantic search |
NO331587B1 (en) * | 2007-10-26 | 2012-01-30 | Bmenu As | Sok in menus |
US20090210395A1 (en) * | 2008-02-12 | 2009-08-20 | Sedam Marc C | Methods, systems, and computer readable media for dynamically searching and presenting factually tagged media clips |
US20090241066A1 (en) * | 2008-03-18 | 2009-09-24 | Cuill, Inc. | Apparatus and method for displaying search results with a menu of refining search terms |
US8051370B2 (en) * | 2008-04-23 | 2011-11-01 | Microsoft Corporation | Intelligent autocompletion |
CN101727454A (en) * | 2008-10-30 | 2010-06-09 | 日电(中国)有限公司 | Method for automatic classification of objects and system |
US8875055B1 (en) * | 2008-11-28 | 2014-10-28 | Google Inc. | Interface for creating and viewing medical decision support rules |
US9129012B2 (en) * | 2010-02-03 | 2015-09-08 | Google Inc. | Information search system with real-time feedback |
US8622797B2 (en) * | 2010-03-29 | 2014-01-07 | Jaime Brian Noonan | Apparatus and method for recommending roster moves in fantasy sports systems |
WO2012116312A1 (en) * | 2011-02-25 | 2012-08-30 | Vasco Data Security, Inc. | Method and apparatus for encoding and decoding data transmitted to an authentication token |
-
2011
- 2011-04-12 US US13/085,326 patent/US9282307B2/en active Active
- 2011-04-12 US US13/085,363 patent/US20110262102A1/en not_active Abandoned
-
2013
- 2013-01-28 US US13/752,302 patent/US20130136430A1/en not_active Abandoned
-
2016
- 2016-02-12 US US15/043,161 patent/US20160162540A1/en not_active Abandoned
-
2019
- 2019-09-12 US US16/569,260 patent/US20200004745A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100115060A1 (en) * | 2005-01-03 | 2010-05-06 | Luc Julia | System and method for delivering content to users on a network |
Also Published As
Publication number | Publication date |
---|---|
US20200004745A1 (en) | 2020-01-02 |
US20110264680A1 (en) | 2011-10-27 |
US9282307B2 (en) | 2016-03-08 |
US20160162540A1 (en) | 2016-06-09 |
US20110262102A1 (en) | 2011-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9510043B2 (en) | Pre-buffering audio streams | |
US10972772B2 (en) | Variable bit video streams for adaptive streaming | |
US20130136430A1 (en) | System and methods for optimizing buffering heuristics in media | |
US8689267B2 (en) | Variable bit video streams for adaptive streaming | |
US10033787B2 (en) | Dynamic virtual chunking of streaming media content | |
US9280540B2 (en) | Content-driven download speed | |
US9646141B2 (en) | Fast start of streaming digital media playback with deferred license retrieval | |
CN110198495B (en) | Method, device, equipment and storage medium for downloading and playing video | |
US20140025710A1 (en) | Storage Optimizations for Multi-File Adaptive Bitrate Assets | |
AU2012207151A1 (en) | Variable bit video streams for adaptive streaming | |
US10425500B2 (en) | Web server constraint support | |
US20110307900A1 (en) | Changing streaming media quality level based on current device resource usage | |
US20160072864A1 (en) | Method and client terminal for receiving a multimedia content split into at least two successive segments, and corresponding computer program product and computer readable mediium | |
US9712580B2 (en) | Pipelining for parallel network connections to transmit a digital content stream | |
JP2017204754A (en) | Moving picture playback apparatus, moving picture playback method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |