US20180109462A1 - Method for optimizing streaming media transmission and cache apparatus using the same - Google Patents

Method for optimizing streaming media transmission and cache apparatus using the same Download PDF

Info

Publication number
US20180109462A1
US20180109462A1 US15/293,287 US201615293287A US2018109462A1 US 20180109462 A1 US20180109462 A1 US 20180109462A1 US 201615293287 A US201615293287 A US 201615293287A US 2018109462 A1 US2018109462 A1 US 2018109462A1
Authority
US
United States
Prior art keywords
video data
resolution
data block
cache apparatus
client
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
Application number
US15/293,287
Other languages
English (en)
Inventor
Yu-Chung Lin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanning Fulian Fugui Precision Industrial Co Ltd
Original Assignee
Nanning Fugui Precision Industrial Co Ltd
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 Nanning Fugui Precision Industrial Co Ltd filed Critical Nanning Fugui Precision Industrial Co Ltd
Priority to US15/293,287 priority Critical patent/US20180109462A1/en
Assigned to NANNING FUGUI PRECISION INDUSTRIAL CO., LTD., HON HAI PRECISION INDUSTRY CO., LTD. reassignment NANNING FUGUI PRECISION INDUSTRIAL CO., LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LIN, YU-CHUNG
Assigned to HON HAI PRECISION INDUSTRY CO., LTD., NANNING FUGUI PRECISION INDUSTRIAL CO., LTD. reassignment HON HAI PRECISION INDUSTRY CO., LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LIN, YU-CHUNG
Priority to CN201610917206.XA priority patent/CN107959668A/zh
Priority to TW105137189A priority patent/TWI640192B/zh
Assigned to NANNING FUGUI PRECISION INDUSTRIAL CO., LTD. reassignment NANNING FUGUI PRECISION INDUSTRIAL CO., LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HON HAI PRECISION INDUSTRY CO., LTD., NANNING FUGUI PRECISION INDUSTRIAL CO., LTD.
Publication of US20180109462A1 publication Critical patent/US20180109462A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2491Mapping quality of service [QoS] requirements between different networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/509Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to media content delivery, e.g. audio, video or TV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • H04L67/2847
    • H04L67/322
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5681Pre-fetching or pre-delivering data based on network characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • 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/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
    • H04N21/23439Processing 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 for generating different versions
    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters

Definitions

  • the subject matter herein generally relates to data transmission of streaming media.
  • Digital streaming is available in digital communication networks, for example, the Internet.
  • Streaming media players receive streaming content and render the same on the display of a client.
  • the streaming media players monitor client conditions and adjust the streaming content accordingly.
  • the streaming media players determine how to adjust the streaming content appropriate for current conditions, and request higher or lower resolution accordingly of the streaming media.
  • the streaming media players run in the client and fetch the streaming content from a content source via a cache apparatus.
  • the cache apparatus pre-fetches the streaming content from the content source and provides the pre-fetched streaming content to the client, in response to the requests of the streaming media players. If both the client's processor and network bandwidth between the client and the cache apparatus are operating below capacity, the streaming media players may request a higher resolution of stream which is not supported by weak network status between the cache apparatus and the content source. This leads streaming video rendered in the client to be switched back and forth between the high resolution and low resolution, and results in a non-fluent viewing experience.
  • FIG. 1 illustrates a schematic diagram of one embodiment of an operating environment of a cache apparatus in accordance with the present disclosure
  • FIG. 2 illustrates a block diagram of one embodiment of functional modules of a cache apparatus in accordance with the present disclosure
  • FIG. 3 illustrates a flowchart of one embodiment of a method for optimizing streaming media transmission
  • FIG. 4 illustrates a flowchart of another embodiment of a method for optimizing streaming media transmission.
  • references to “an” or “one” embodiment in this disclosure are not necessarily to the same embodiment, and such references mean “at least one.”
  • module refers to logic embodied in computing or firmware, or to a collection of software instructions, written in a programming language, such as, Java, C, or assembly.
  • One or more software instructions in the modules may be embedded in firmware, such as in an erasable programmable read only memory (EPROM).
  • EPROM erasable programmable read only memory
  • the modules described herein may be implemented as either software and/or computing modules and may be stored in any type of non-transitory computer-readable medium or other storage device. Some non-limiting examples of non-transitory computer-readable media include CDs, DVDs, BLU-RAY, flash memory, and hard disk drives.
  • the term “comprising”, when utilized, means “including, but not necessarily limited to”; it specifically indicates open-ended inclusion or membership in a so-described combination, group, series and the like.
  • FIG. 1 illustrates one embodiment of an operating environment of one embodiment of a cache apparatus 2 .
  • the cache apparatus 2 connects with clients (e.g., clients 4 A- 4 D) via a first network such as, for example, Local Area Network.
  • the cache apparatus 2 connects with content source 6 via a second network such as, for example, Wide Area Network, Internet.
  • Embodiments of the clients 4 A - 4 D may be include laptop computers, smart mobile phones, tablet personal computers, set top box, or the like. Based on adaptive bit-rate streaming technology, the clients 4 A- 4 D may automatically adjust resolution of one or more streams appropriate for current network status.
  • a client e.g., client 4 A
  • a streaming media file e.g., “sample”
  • the content source 6 feeds back a list (e.g., sample.m3u8) to the client 4 A, wherein the “sample.m3u8” lists types of resolutions of the “sample” file which can be provided by the source content 6 .
  • the client 4 A selects a type of resolution of the “sample” file (e.g., a first-resolution) according to settings or network status, and begins to request first-resolution video data blocks of “sample” file from the content source 6 via the cache apparatus 2 .
  • a type of resolution of the “sample” file e.g., a first-resolution
  • the “sample” file includes a plurality of video data blocks (i.e., video segments), and each video data block includes several resolutions, for example, a first-resolution, a second-resolution, and more.
  • the second-resolution has more data than the first-resolution.
  • a first-resolution 1-th video data block is represented with A 1
  • a first-resolution 2-th video data block is represented with A 2
  • a first-resolution 3-th video data block is represented with A 3
  • a second-resolution 1-th video data block is represented with B 1
  • a second-resolution 2-th video data block is represented with B 2
  • a second-resolution 3-th video data block is represented with B 3 , and so on.
  • the client 4 A fetches desired video data blocks from the content source 6 via the cache apparatus 2 .
  • FIG. 2 illustrates one embodiment of functional modules of the cache apparatus 2 .
  • the cache apparatus 2 includes a cache control system 10 , a non-transitory storage system 20 , at least one processor 30 , and a communication unit 40 .
  • the cache control system 10 includes a receiving module 100 , a response module 200 , and a estimation module 300 .
  • the modules 100 ⁇ 300 are configured to be executed by one or more processors (for example the processor 30 ) to achieve functionality.
  • the non-transitory storage system 20 can store code and data as to the cache control system 10 and store video data blocks obtained from the content source 6 .
  • the receiving module 100 receives, from the client 4 A, one or more requests for one or more first-resolution video data blocks (e.g., a 1-th request for the first-resolution 1-th video data block A 1 ).
  • the response module 200 generates a first pre-fetch process in response to the 1-th request, wherein the first pre-fetch process controls the cache apparatus 2 to pre-fetch the first-resolution 1-th video data block A 1 and subsequent video data blocks (e.g., A 2 , A 3 , A 4 , . . . ) from the content source 6 .
  • the response module 200 after receiving the 1-th request for A 1 from the client 4 A, the response module 200 not only pre-fetches the A 1 , but also pre-fetches the subsequent video data blocks (e.g., A 2 , A 3 , A 4 , . . . ) if network conditions between the cache apparatus 2 and the content source 6 permits.
  • the response module 200 provides A l to the client 4 A, and provides A 2 to the client 4 A when the receiving module 100 receives a 2-th request for A 2 , provides A 3 to the client 4 A when the receiving module 100 receives a 3-th request for A 3 , and so on.
  • the response module 200 prioritizes providing the client 4 A with the A 2 pre-fetched and stored in the cache apparatus 2 .
  • the response module 200 determines whether the A 1 is stored in the cache apparatus 2 . If it is determined that the A 1 is stored in the cache apparatus 2 , the response module 200 directly provides the client 4 A with the A 1 stored in the cache apparatus 2 . If it is determined that the A 1 is not stored in the cache apparatus 2 , the response module 200 generates the first pre-fetch process to pre-fetch the A 1 from the content source 6 and then provides the A 1 to the client 4 A.
  • the client 4 A may request a higher resolution of streaming media. For example, from a n-th video data block (including A n , B n , . . . ) of the “sample ” file, the client 4 A begins to request a second-resolution n-th video data block B n and subsequent video data blocks (e.g., B n+1 , B n+2 , B n+3 , . . . ).
  • n-th video data block including A n , B n , . . .
  • subsequent video data blocks e.g., B n+1 , B n+2 , B n+3 , . . .
  • the receiving module 100 receives, from the client 4 A, an n-th request for the second-resolution n-th video data block B.
  • the response module 200 determines whether pre-fetching the B n from the content source 6 is supported according to quality of service (QoS) value of the second network between the cache apparatus 2 and the content source 6 .
  • QoS quality of service
  • the QoS refers to available bandwidth of the second network between the cache apparatus 2 and the content source 6 , to the system operating status of the cache apparatus 2 and of the content source 6 , and to other factors.
  • the response module 200 limits data transmission speed from the cache apparatus 2 to the client 4 A and provides a first-resolution n-th video data block A n to the client 4 A.
  • the limit on data transmission speed from the cache apparatus 2 to the client 4 A is able to guide the client 4 A to reduce expectation to request first-resolution subsequent video data blocks (e.g., A n+1 , A n+2 , . . . ).
  • the response module 200 limits on data transmission speed by port settings, bandwidth allocation, delay-feedback, or the like.
  • the delay-feedback means reducing speed of the cache apparatus feeding back video data blocks to the client 4 A (i.e., increasing interval time between which the cache apparatus feeds back video data blocks to the client 4 A).
  • the response module 200 switches from the first pre-fetch process to a second pre-fetch process.
  • the second pre-fetch process controls the cache apparatus 2 to pre-fetch the B n and subsequent video data blocks (e.g., B n+1 , B n+2 , B n+3 , . . . ) of the B n from the content source 6 .
  • the response module 200 can provide the client 4 A with the B n which was pre-fetched by the second pre-fetch process.
  • the receiving module 100 receives the n-th request for the B n and the response module 200 determines whether the B n is stored in the cache apparatus 2 . If it is determined that the B n is stored in the cache apparatus 2 , the response module 200 directly provides the client 4 A with the B.
  • the cache control system also includes the estimation module 300 .
  • the estimation module 300 is configured to determine QoS of the first network between the cache apparatus 2 and the client 4 A and estimate a probability of the cache apparatus 2 receiving a m-th request from the client 4 A for a second-resolution m-th video data block B m . Such estimation of probability is based on a result of determination, the probability increasing with improvement of the network status of the first network.
  • the probability so estimated is compared with a predefined threshold value. If the probability is larger than the predefined threshold value, a determination can be made that pre-fetching a A m and the B m from the content source 6 is supported, and the first pre-fetch process and the second pre-fetch process are operated in parallel.
  • the first pre-fetch process pre-fetches the A m and subsequent video data blocks (e.g., A m+1 , A m+2 , A m+3 , . . . ), and the second pre-fetch process pre-fetches the B m and subsequent video data blocks (e.g., B m+1 , B m+2 , B m+3 , . . . ) of the B m .
  • the response module 200 provides the client 4 A with the B m or the subsequent video data blocks (e.g., B m+1 , B m+2 , B m+3 , . . . ), and terminates the first pre-fetch process.
  • the second pre-fetch process is continued.
  • the receiving module 100 still receives the m-th request for the A m , the response module still provides the A m to the client 4 A, and both the first pre-fetch process and the second pre-fetch process are still operated in parallel. Then, if the receiving module 100 receives a subsequent request of the m-th request (e.g., the (m+1)-th request for the B m+1 ), the response module provides the B m+1 to the client 4 A, and terminates the first pre-fetch process whilst continuing to operate the second pre-fetch process.
  • a subsequent request of the m-th request e.g., the (m+1)-th request for the B m+1
  • the response module provides the B m+1 to the client 4 A, and terminates the first pre-fetch process whilst continuing to operate the second pre-fetch process.
  • FIG. 3 illustrates a flowchart of embodiment of a method for optimizing streaming media transmission.
  • the method is provided by way of example, as there are a variety of ways to carry out the method.
  • the method described below can be carried out using the cache apparatus 2 illustrated in FIG. 2 , for example, and various elements of these figures are referenced in explaining the processing method.
  • the cache apparatus 2 is not to limit the operation of the method, which also can be carried out using other devices.
  • Each step shown in FIG. 3 represents one or more processes, methods, or subroutines, carried out in the exemplary processing method. Additionally, the illustrated order of blocks is by example only and the order of the blocks can change.
  • the method begins at block 102 .
  • the cache apparatus 2 receives, from the client 4 A, one or more requests for one or more first-resolution video data blocks (e.g., a 1-th request for the A 1 ).
  • the cache apparatus 2 generates a first pre-fetch process in response to the 1-th request, wherein the first pre-fetch process controls the cache apparatus 2 to the first-resolution 1-th video data block A 1 and subsequent video data blocks (e.g., A 2 , A 3 , A 4 , . . . ) from the content source 6 . Then, the cache apparatus 2 provides the A 1 to the client 4 A, and provides the A 2 to the client 4 A when the cache apparatus 2 receives a 2-th request for the A 2 , provides the A 3 to the client 4 A when the cache apparatus 2 receives a 3-th request for the A 3 , and so on.
  • the first pre-fetch process controls the cache apparatus 2 to the first-resolution 1-th video data block A 1 and subsequent video data blocks (e.g., A 2 , A 3 , A 4 , . . . ) from the content source 6 .
  • the cache apparatus 2 provides the A 1 to the client 4 A, and provides the A 2 to the client 4 A
  • the cache apparatus 2 prioritizes determining whether the A 1 is stored in the cache apparatus 2 . If it is determined that the A 1 is stored in the cache apparatus 2 , the cache apparatus 2 directly provides the client 4 A with the A 1 stored in the cache apparatus 2 . If it is determined that the A 1 is not stored in the cache apparatus 2 , the cache apparatus 2 generates the first pre-fetch process to pre-fetch the A 1 from the content source 6 and then provides the A 1 to the client 4 A.
  • the cache apparatus 2 receives, from the client 4 A, an n-th request for a B.
  • the cache apparatus 2 may give a priority to determine whether the B n is stored in the cache apparatus 2 . If it is determined that the B n is stored in the cache apparatus 2 , the cache apparatus 2 directly provides the B n stored in the cache apparatus 2 to the client 4 A. If not, the flowchart goes to block 108 .
  • the cache apparatus 2 determines whether pre-fetching the B n from the content source 6 is supported according to QoS of the second network between the cache apparatus 2 and the content source 6 . If yes, the flowchart goes to block 112 . If no, the flowchart goes to block 110 .
  • the cache apparatus 2 limits data transmission speed from the cache apparatus 2 to the client 4 A and provides a first-resolution n-th video data block A n to the client 4 A.
  • the cache apparatus 2 switches from the first pre-fetch process to a second pre-fetch process, wherein the second pre-fetch process controls the cache apparatus 2 to pre-fetch the B n and subsequent video data blocks (e.g., B n+1 , B n+2 , B n+3 , . . . ) from the content source 6 .
  • the second pre-fetch process controls the cache apparatus 2 to pre-fetch the B n and subsequent video data blocks (e.g., B n+1 , B n+2 , B n+3 , . . . ) from the content source 6 .
  • the cache apparatus 2 provides the client 4 A with the B n obtained from block 112 ; and waits to receive subsequent requests for the subsequent video data blocks (e.g., B n+1 , B n+2 , B n+3 , . . . ) to provide the client 4 A with the subsequent video data blocks (e.g., B n+1 , B n+2 , B n+3 , . . . ).
  • the subsequent video data blocks e.g., B n+1 , B n+2 , B n+3 , . . .
  • FIG. 4 illustrates a flowchart of another embodiment of a method for optimizing streaming media transmission.
  • the cache apparatus 2 is able to pre-fetch and store higher-resolution video data blocks before receiving requests for the higher-resolution video data blocks from a client (e.g., 4 A).
  • the cache apparatus 2 also adapts to be able to pre-fetch and store lower-resolution video data blocks before receiving requests for the lower-resolution video data blocks from a client (e.g., 4 A).
  • the method begins at block 202 .
  • the cache apparatus 2 receives, from the client 4 A, one or more requests for one or more first-resolution video data blocks (e.g., a 1-th request for the A 1 ).
  • the cache apparatus 2 generates a first pre-fetch process in response to the 1-th request, wherein the first pre-fetch process controls the cache apparatus 2 to the first-resolution 1-th video data block A 1 and subsequent video data blocks (e.g., A 2 , A 3 , A 4 , . . . ) from the content source 6 . Then, the cache apparatus 2 provides the A 1 to the client 4 A, and provides the A 2 to the client 4 A when t the cache apparatus 2 receives a 2-th request for A 2 , provides the A 3 to the client 4 A when the cache apparatus 2 receives a 3-th request for A 3 , and so on.
  • the first pre-fetch process controls the cache apparatus 2 to the first-resolution 1-th video data block A 1 and subsequent video data blocks (e.g., A 2 , A 3 , A 4 , . . . ) from the content source 6 .
  • the cache apparatus 2 provides the A 1 to the client 4 A, and provides the A 2 to the client 4 A
  • the cache apparatus 2 determines QoS value of the first network between the cache apparatus 2 and the client 4 A.
  • the cache apparatus 2 estimates a probability of the cache apparatus 2 receiving a m-th request from the client 4 A for a second-resolution m-th video data block B m . Such estimation of probability is based on a result of determination. The probability so estimated is compared with a predefined threshold value. If the probability is larger than the predefined threshold value, the flowchart goes to block 210 . If no, the flowchart continues to operate the first pre-fetched process generated at the block 204 .
  • the cache apparatus 2 determines whether pre-fetching a A m and the B m in parallel from the content source 6 is supported. If yes, the flowchart goes to block 212 . If no, the flowchart continues to operate the first pre-fetched process generated at the block 204 .
  • the cache apparatus 2 operates the first pre-fetch process and the second pre-fetch process in parallel, wherein the first pre-fetch process pre-fetches pre-fetching the A m and subsequent video data blocks (e.g., A m+1 , A m+2 , A m+3 , . . . ), and the second pre-fetch process pre-fetches the B m and subsequent video data blocks (e.g., B m+1 , B m+2 , B m+3 , . . . ) of the B m .
  • the first pre-fetch process pre-fetches pre-fetching the A m and subsequent video data blocks (e.g., A m+1 , A m+2 , A m+3 , . . . )
  • the second pre-fetch process pre-fetches the B m and subsequent video data blocks (e.g., B m+1 , B m+2
  • the cache apparatus 2 determines whether to receive the m-th request for the B m or subsequent requests for the subsequent video data blocks (e.g., B m+1 , B m+2 , B m+3 , . . . ). If yes, the flowchart goes to block 216 . If no, the cache apparatus 2 continues to provide the client 4 A with corresponding first-resolution video data blocks (e.g., A m , A m+1 , A m+2 , . . . ), and continues to operate the first pre-fetch process and the second pre-fetch process in parallel.
  • first-resolution video data blocks e.g., A m , A m+1 , A m+2 , . . .
  • the cache apparatus 2 provides the client 4 A with the B m or the subsequent video data blocks (e.g., B m+1 , B m+2 , B m+3 , . . . ), and terminates the first pre-fetch process and continue to operate the second pre-fetch process.
  • the value m may equal to the value n.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Quality & Reliability (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
US15/293,287 2016-10-14 2016-10-14 Method for optimizing streaming media transmission and cache apparatus using the same Abandoned US20180109462A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US15/293,287 US20180109462A1 (en) 2016-10-14 2016-10-14 Method for optimizing streaming media transmission and cache apparatus using the same
CN201610917206.XA CN107959668A (zh) 2016-10-14 2016-10-20 流媒体传输优化方法及缓存装置
TW105137189A TWI640192B (zh) 2016-10-14 2016-11-15 串流媒體傳輸優化方法及快取裝置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US15/293,287 US20180109462A1 (en) 2016-10-14 2016-10-14 Method for optimizing streaming media transmission and cache apparatus using the same

Publications (1)

Publication Number Publication Date
US20180109462A1 true US20180109462A1 (en) 2018-04-19

Family

ID=61904788

Family Applications (1)

Application Number Title Priority Date Filing Date
US15/293,287 Abandoned US20180109462A1 (en) 2016-10-14 2016-10-14 Method for optimizing streaming media transmission and cache apparatus using the same

Country Status (3)

Country Link
US (1) US20180109462A1 (zh)
CN (1) CN107959668A (zh)
TW (1) TWI640192B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190208000A1 (en) * 2017-12-29 2019-07-04 Avermedia Technologies, Inc. Media streaming control device and control method thereof

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108650544B (zh) * 2018-05-17 2020-09-29 上海七牛信息技术有限公司 一种媒体播放方法、装置以及媒体播放***
CN110545482B (zh) * 2018-05-29 2022-01-07 北京字节跳动网络技术有限公司 一种分辨率切换时的接续播放方法、装置及存储介质
CN112153465B (zh) * 2019-06-28 2024-01-16 北京京东尚科信息技术有限公司 图像加载方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8180920B2 (en) * 2006-10-13 2012-05-15 Rgb Networks, Inc. System and method for processing content
US9009337B2 (en) * 2008-12-22 2015-04-14 Netflix, Inc. On-device multiplexing of streaming media content
CN102447723B (zh) * 2010-10-12 2015-09-09 运软网络科技(上海)有限公司 客户端虚拟化架构
US9280540B2 (en) * 2012-10-01 2016-03-08 Verizon Patent And Licensing Inc. Content-driven download speed

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190208000A1 (en) * 2017-12-29 2019-07-04 Avermedia Technologies, Inc. Media streaming control device and control method thereof

Also Published As

Publication number Publication date
TW201817244A (zh) 2018-05-01
TWI640192B (zh) 2018-11-01
CN107959668A (zh) 2018-04-24

Similar Documents

Publication Publication Date Title
US10027545B2 (en) Quality of service for high network traffic events
CN110198495B (zh) 一种视频下载和播放的方法、装置、设备和存储介质
US20180109462A1 (en) Method for optimizing streaming media transmission and cache apparatus using the same
US20170195387A1 (en) Method and Electronic Device for Increasing Start Play Speed
US10250657B2 (en) Streaming media optimization
CA2874633C (en) Incremental preparation of videos for delivery
WO2016105904A1 (en) Context aware media streaming technologies, devices, systems, and methods utilizing the same
US10178431B2 (en) Hybrid stream delivery
US20140344882A1 (en) System and Method of Video Quality Adaptation
CN110209975B (zh) 用于提供对象的方法、装置、设备和存储介质
US8762563B2 (en) Method and apparatus for improving the adaptive bit rate behavior of a streaming media player
WO2022206244A1 (en) Reduced bandwidth consumption via generative adversarial networks
US11825139B2 (en) Bitrate and pipeline preservation for content presentation
US9454328B2 (en) Controlling hierarchical storage
US20170163555A1 (en) Video file buffering method and system
CN113727172B (zh) 视频缓存播放方法、装置、电子设备及存储介质
US9801112B2 (en) Wireless video link optimization using video-related metrics
US20150256464A1 (en) Dynamic flow control in multicast systems
WO2019151473A1 (ja) 品質予測装置、品質予測方法及びプログラム
KR102543019B1 (ko) 높은 대역폭 네트워크들 상에서의 데이터의 버퍼링
US20220210488A1 (en) Method and system for detecting and managing similar content
KR20160022505A (ko) 클라우드 스트리밍 서비스 시스템, 클라우드 스트리밍 서비스 유형에 따른 서비스 처리 방법 및 이를 위한 장치

Legal Events

Date Code Title Description
AS Assignment

Owner name: HON HAI PRECISION INDUSTRY CO., LTD., TAIWAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LIN, YU-CHUNG;REEL/FRAME:040011/0616

Effective date: 20161011

Owner name: NANNING FUGUI PRECISION INDUSTRIAL CO., LTD., CHIN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LIN, YU-CHUNG;REEL/FRAME:040011/0616

Effective date: 20161011

AS Assignment

Owner name: HON HAI PRECISION INDUSTRY CO., LTD., TAIWAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LIN, YU-CHUNG;REEL/FRAME:040026/0051

Effective date: 20161011

Owner name: NANNING FUGUI PRECISION INDUSTRIAL CO., LTD., CHIN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LIN, YU-CHUNG;REEL/FRAME:040026/0051

Effective date: 20161011

AS Assignment

Owner name: NANNING FUGUI PRECISION INDUSTRIAL CO., LTD., CHINA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:NANNING FUGUI PRECISION INDUSTRIAL CO., LTD.;HON HAI PRECISION INDUSTRY CO., LTD.;REEL/FRAME:045171/0347

Effective date: 20171229

Owner name: NANNING FUGUI PRECISION INDUSTRIAL CO., LTD., CHIN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:NANNING FUGUI PRECISION INDUSTRIAL CO., LTD.;HON HAI PRECISION INDUSTRY CO., LTD.;REEL/FRAME:045171/0347

Effective date: 20171229

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: ADVISORY ACTION MAILED

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION