CN109121019B - Dynamic cache scheduling method, device and storage device for SVC-DASH on-demand system - Google Patents

Dynamic cache scheduling method, device and storage device for SVC-DASH on-demand system Download PDF

Info

Publication number
CN109121019B
CN109121019B CN201811063582.2A CN201811063582A CN109121019B CN 109121019 B CN109121019 B CN 109121019B CN 201811063582 A CN201811063582 A CN 201811063582A CN 109121019 B CN109121019 B CN 109121019B
Authority
CN
China
Prior art keywords
video
bmax
layer
cache
buffer
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.)
Expired - Fee Related
Application number
CN201811063582.2A
Other languages
Chinese (zh)
Other versions
CN109121019A (en
Inventor
余林琛
蒋宇浩
涂大喜
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.)
China University of Geosciences
Original Assignee
China University of Geosciences
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 China University of Geosciences filed Critical China University of Geosciences
Priority to CN201811063582.2A priority Critical patent/CN109121019B/en
Publication of CN109121019A publication Critical patent/CN109121019A/en
Application granted granted Critical
Publication of CN109121019B publication Critical patent/CN109121019B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • 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/2401Monitoring of the client buffer
    • 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/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • H04N21/26216Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4335Housekeeping operations, e.g. prioritizing content for deletion because of storage space restrictions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand

Landscapes

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

Abstract

The invention provides a dynamic cache scheduling method, equipment and storage equipment for an SVC-DASH on-demand system, wherein the method comprises the following steps: according to the cache state of the cache region, the length of the cache region is dynamically adjusted, and the smoothness and the stability of video playing are improved. The dynamic cache scheduling device and the storage device for the SVC-DASH on-demand system are used for realizing the dynamic cache scheduling method for the SVC-DASH on-demand system. The invention has the beneficial effects that: compared with the existing SVC-DASH scheduling method, the technical scheme of the invention has better performance in the aspects of video playing fluency and playing quality smoothness under the condition of not losing video quality.

Description

Dynamic cache scheduling method, device and storage device for SVC-DASH on-demand system
Technical Field
The invention relates to the field of audio and video application, in particular to a dynamic cache scheduling method, device and storage device for an SVC-DASH on-demand system.
Background
Today, the distribution and transmission of network content is growing dramatically, with video content occupying a large proportion. By cisco vni (cisco vni) it was predicted that by 2021 annual global IP traffic will reach 3.3ZB, while video traffic will account for 82% of the world's dominance. In terms of video transmission, in the face of heterogeneity of terminals and networks, we need to provide different quality videos for different devices and varying networks. HTTP Adaptive Streaming (HAS) technology comes along, a client can select video fragments with different qualities according to its own condition, and DASH, as a member of HAS, HAS developed into the most advanced video streaming technology today by virtue of its many advantages. Meanwhile, since h.264/SVC (scalable video coding) can greatly save server storage space and possess more flexible regulation modes, more and more SVC-DASH schemes have been proposed in recent years.
However, some problems still exist, such as frequent video quality switching and even video interruption, which may occur in a network environment with frequent fluctuation, and the viewing experience of the user is seriously affected.
Disclosure of Invention
In order to solve the above problems, the present invention provides a dynamic cache scheduling method, device and storage device for an SVC-DASH on-demand system, and the dynamic cache scheduling method for the SVC-DASH on-demand system mainly includes the following steps:
s101: acquiring a video source with an SVC format, and uniformly separating the video source into n video fragments; uniformly separating each video fragment into m video blocks according to the quality level of the video source, stacking the m video blocks of each video fragment into m layers, and storing all the video blocks in a server; each video block corresponds to a slice number i and a layer sequence number j; wherein m and n are integers greater than or equal to 1; the value range of i is [1, n ], and the value range of j is [1, m ]; initializing the values of i and j to be 1;
s102: initializing buffer area parameters: setting the value of the height Lmax of a cache region as m, setting the value of the length Bmax of the cache region as [ min, max ], wherein the cache area of the cache region is a rectangular region with the length Bmax and the height Lmax; initializing the value of Bmax as max; dividing the buffer area into Lmax Bmax storage blocks, wherein the storage blocks are arranged according to the coordinates [1,1], [2,1] … [ Bmax,1], [1,2] … [ Bmax,2] … [ Bmax, Lmax ] in sequence and are used for storing the video blocks; wherein [1,1], [2,1] … [ Bmax,1] is a first layer of a cache region, [1,2], [2,2] … [ Bmax,2] is a second layer of the cache region, [1, j ], [2, j ] … [ Bmax, j ] is a jth layer of the cache region, and [1, Lmax ], [2, Lmax ] … [ Bmax, Lmax ] is a ltax layer of the cache region;
s103: downloading the video block with the fragment number i and the layer number j to the first empty storage block of the buffer area,
s104: after the video block is downloaded, updating the cache state data of the cache region; the cache state data comprises the download number of each layer of video block in the cache region and the slice number of the latest downloaded video block in the cache region;
s105: adjusting the length Bmax of the buffer area according to the buffer state data;
s106: judging whether the downloading is finished or the video client is closed; if yes, go to step S108; if not, go to step S107;
s107: traversing all the storage blocks of the cache region, searching a first empty storage block, and determining a fragment number i and a layer sequence number j of a next downloaded video block according to the first empty storage block; returning to step S103;
s108: and finishing the caching program to finish the dynamic caching scheduling.
Further, in step S105, the specific step of adjusting the buffer length Bmax according to the buffer status data includes:
s201: judgment condition Bmax>buffer_len1Not less than min and buffer _ lenm<buffer_len1Whether the two are true at the same time; if yes, updating Bmax to Bmax-1; if not, go to step S202; wherein, buffer _ len1Buffer _ len is the download number of the layer 1 video block in the buffermThe number of the downloaded video blocks of the highest layer of the cache area is the number of the downloaded video blocks of the highest layer of the cache area;
s202: judgment condition Bmax ═ buffer _ len1<ax and buffer _ lenm=buffer_len1Whether the two are true at the same time; if yes, updating Bmax to Bmax + 1; if not, the Bmax value is not changed.
Further, in step S106, after all the video segments are downloaded, the downloading is terminated.
Further, in step S107, the specific step of adjusting the slice number i and the layer sequence number j corresponding to the next downloaded video block according to the buffer height Lmax, the buffer length Bmax, and the buffer status includes:
s301: judging whether the cache region has the layers of the residual storage blocks, starting to judge from the first layer of the cache region, and making the number p of judging layers equal to 1;
s302: judging whether p is less than or equal to Lmax; if yes, go to step S303; if not, go to step S306;
s303: judging whether the p-th layer in the cache region has residual storage blocks; if yes, go to step S305; if not, go to step S304;
s304: updating p to p +1, and returning to the step S302;
s305: assigning the layer serial number j as p, and judging whether the p layer has a video block; if yes, i is equal to the abscissa of the latest downloaded video block of the p-th layer plus 1; if not, i is equal to the abscissa of the first video block at the layer 1 of the cache region;
s306: judging whether the abscissa of the last video block of the first layer of the cache region is n; if yes, ending the downloading; if not, go to step S307;
s307: suspending the downloading thread, setting i as the next number of the abscissa of the last video block at the layer 1 of the cache region, and setting the sequence number j as 1; circularly judging whether the buffer area has empty storage blocks, and continuing downloading once the empty storage blocks appear; and when the video fragments are cached, the decoding playing thread continuously takes out the video fragments from the cache region to the client side for decoding playing, and when one video fragment is taken out, the rest video fragments in the cache region move forwards in sequence.
A storage device storing instructions and data for implementing a dynamic cache scheduling method for an SVC-DASH on-demand system.
A dynamic cache scheduling device for SVC-DASH on-demand system, comprising: a processor and the storage device; the processor loads and executes the instructions and data in the storage device for implementing a dynamic cache scheduling method for an SVC-DASH on-demand system.
The technical scheme provided by the invention has the beneficial effects that: compared with the existing SVC-DASH scheduling method, the technical scheme of the invention has better performance in the aspects of video playing fluency and playing quality stability under the condition of not losing video quality.
Drawings
The invention will be further described with reference to the accompanying drawings and examples, in which:
fig. 1 is a flowchart of a dynamic cache scheduling method for an SVC-DASH on-demand system in an embodiment of the present invention;
FIG. 2 is a diagram illustrating a video buffer model according to an embodiment of the present invention;
fig. 3 is a detailed flowchart of a dynamic cache scheduling method for an SVC-DASH on-demand system in an embodiment of the present invention;
fig. 4 is a schematic diagram of the operation of the hardware device in the embodiment of the present invention.
Detailed Description
For a more clear understanding of the technical features, objects and effects of the present invention, embodiments of the present invention will now be described in detail with reference to the accompanying drawings.
Embodiments of the present invention provide a dynamic cache scheduling method, device and storage device for an SVC-DASH on-demand system, which are used in the video buffer model shown in fig. 2.
Referring to fig. 1, fig. 1 is a flowchart of a dynamic cache scheduling method for an SVC-DASH on-demand system in an embodiment of the present invention, which specifically includes the following steps:
s101: acquiring a video source with an SVC format, and uniformly separating the video source into n video fragments; uniformly separating each video fragment into m video blocks according to the quality level of the video source, stacking the m video blocks of each video fragment into m layers, and storing all the video blocks in a server; each video block corresponds to a slice number i and a layer sequence number j; wherein m and n are integers greater than or equal to 1; the value range of i is [1, n ], and the value range of j is [1, m ]; initializing the values of i and j to be 1;
s102: initializing buffer area parameters: setting the value of the height Lmax of a cache region as m, setting the value of the length Bmax of the cache region as [ min, max ], wherein the cache area of the cache region is a rectangular region with the length Bmax and the height Lmax; initializing the value of Bmax as max; dividing the buffer area into Lmax Bmax storage blocks, wherein the storage blocks are arranged according to the coordinates [1,1], [2,1] … [ Bmax,1], [1,2] … [ Bmax,2] … [ Bmax, Lmax ] in sequence and are used for storing the video blocks; wherein [1,1], [2,1] … [ Bmax,1] is a first layer of a cache region, [1,2], [2,2] … [ Bmax,2] is a second layer of the cache region, [1, j ], [2, j ] … [ Bmax, j ] is a jth layer of the cache region, and [1, Lmax ], [2, Lmax ] … [ Bmax, Lmax ] is a ltax layer of the cache region; the whole cache region has m layers;
s103: downloading the video block with the fragment number i and the layer number j to the first empty storage block of the buffer area,
s104: after the video block is downloaded, updating the cache state data of the cache region; the cache state data comprises the download number of each layer of video block in the cache region and the slice number of the latest downloaded video block in the cache region;
s105: adjusting the length Bmax of the buffer area according to the buffer state data;
s106: judging whether the downloading is finished or the video client is closed; if yes, go to step S108; if not, go to step S107;
s107: traversing all the storage blocks of the cache region, searching a first empty storage block, and determining a fragment number i and a layer sequence number j of a next downloaded video block according to the first empty storage block; returning to step S103;
s108: and finishing the caching program to finish the dynamic caching scheduling.
In step S105, the specific step of adjusting the buffer length Bmax according to the buffer status data is:
s201: judgment condition Bmax>buffer_len1Not less than min and buffer _ lenm<buffer_len1Whether the two are true at the same time; if yes, updating Bmax to Bmax-1; if not, go to step S202; wherein, buffer _ len1Buffer _ len is the download number of the layer 1 video block in the buffermThe number of the downloaded video blocks of the highest layer of the cache area is the number of the downloaded video blocks of the highest layer of the cache area;
s202: judgment condition Bmax ═ buffer _ len1<ax and buffer _ lenm=buffer_len1Whether the two are true at the same time; if yes, updating Bmax to Bmax + 1; if not, the Bmax value is not changed.
In step S106, when all the video segments are downloaded, the downloading is terminated.
In step S107, the specific step of adjusting the slice number i and the layer sequence number j corresponding to the next downloaded video block according to the cache area height Lmax, the cache area length Bmax, and the cache state is as follows:
s301: judging whether the cache region has the layers of the residual storage blocks, starting to judge from the first layer of the cache region, and making the number p of judging layers equal to 1;
s302: judging whether p is less than or equal to Lmax; if yes, go to step S303; if not, go to step S306;
s303: judging whether the p-th layer in the cache region has residual storage blocks; if yes, go to step S305; if not, go to step S304;
s304: updating p to p +1, and returning to the step S302;
s305: assigning the layer serial number j as p, and judging whether the p layer has a video block; if yes, i is equal to the abscissa of the latest downloaded video block of the p-th layer plus 1; if not, i is equal to the abscissa of the first video block at the layer 1 of the cache region;
s306: judging whether the abscissa of the last video block of the first layer of the cache region is n; if yes, ending the downloading; if not, go to step S307;
s307: suspending the downloading thread, setting i as the next number of the abscissa of the last video block at the layer 1 of the cache region, and setting the sequence number j as 1; circularly judging whether the buffer area has empty storage blocks, and continuing downloading once the empty storage blocks appear; and when the video fragments are cached, the decoding playing thread continuously takes out the video fragments from the cache region to the client side for decoding playing, and when one video fragment is taken out, the rest video fragments in the cache region move forwards in sequence.
Fig. 3 is a detailed flowchart of a dynamic cache scheduling method for an SVC-DASH on-demand system in an embodiment of the present invention, which shows an implementation flow of the entire dynamic cache scheduling method, and the explanation of variables corresponding to fig. 3 is shown in table 1:
table 1 variables table 1
i(1~n) Video block slice number
j(1~m) Video block layer sequence number
Lmax Buffer height
Bmax(min~max) Buffer length
Qk(1<=k<=m) Code rate of k-th layer video
buffer_lenp(1<=p<=m) Number of downloaded p-th layer video blocks in cache region
last_idq(1<=q<=n) Slice number of newly downloaded video block at layer q of cache region
avgBW Recent average bandwidth
Compared with the existing scheduling method, the technical scheme of the invention has better performance in the aspects of video playing fluency and playing quality stability under four different network environments (stability, gradual change, sudden change and jitter) without losing video quality.
Referring to fig. 4, fig. 4 is a schematic diagram of a hardware device according to an embodiment of the present invention, where the hardware device specifically includes: a dynamic cache scheduling device 401, a processor 402 and a storage device 403 for an SVC-DASH on-demand system.
Dynamic cache scheduling device 401 for SVC-DASH on-demand system: the dynamic cache scheduling device 401 for SVC-DASH on-demand system implements the dynamic cache scheduling method for SVC-DASH on-demand system.
The processor 402: the processor 402 loads and executes the instructions and data in the storage device 403 to implement the dynamic cache scheduling method for the SVC-DASH on-demand system.
The storage device 403: the storage device 403 stores instructions and data; the storage device 403 is used to implement the dynamic cache scheduling method for SVC-DASH on-demand system.
The invention has the beneficial effects that: compared with the existing SVC-DASH scheduling method, the technical scheme of the invention has better performance in the aspects of video playing fluency and playing quality stability under the condition of not losing video quality.
The above description is only for the purpose of illustrating the preferred embodiments of the present invention and is not to be construed as limiting the invention, and any modifications, equivalents, improvements and the like that fall within the spirit and principle of the present invention are intended to be included therein.

Claims (4)

1. The dynamic cache scheduling method for the SVC-DASH on-demand system is characterized by comprising the following steps: the method comprises the following steps:
s101: acquiring a video source with an SVC format, and uniformly separating the video source into n video fragments; uniformly separating each video fragment into m video blocks according to the quality level of the video source, stacking the m video blocks of each video fragment into m layers, and storing all the video blocks in a server; each video block corresponds to a slice number i and a layer sequence number j; wherein m and n are integers greater than or equal to 1; the value range of i is [1, n ], and the value range of j is [1, m ]; initializing the values of i and j to be 1;
s102: initializing buffer area parameters: setting the value of the height Lmax of a cache region as m, setting the value of the length Bmax of the cache region as [ min, max ], wherein the cache area of the cache region is a rectangular region with the length Bmax and the height Lmax; initializing the value of Bmax as max; dividing the buffer area into Lmax Bmax storage blocks, wherein the storage blocks are sequentially arranged according to coordinates [1,1], [2, 1]. the [ Bmax,1], [1, 2]. the [ Bmax, Lmax ] and used for storing the video blocks; wherein [1,1], [2, 1]. the [ Bmax,1] is a first layer of a cache region, [1,2], [2, 2]. the [ Bmax,2] is a second layer of the cache region, [1, j ], [2, j ]. the [ Bmax, j ] is a jth layer of the cache region, and [1, Lmax ], [2, Lmax ]. the [ Bmax, Lmax ] is a jth layer of the cache region;
s103: downloading a video block with a fragment number i and a layer number j to a first empty storage block of a cache region;
s104: after the video block is downloaded, updating the cache state data of the cache region; the cache state data comprises the download number of each layer of video block in the cache region and the slice number of the latest downloaded video block in the cache region;
s105: adjusting the length Bmax of the buffer area according to the buffer state data;
s106: judging whether the downloading is finished or the video client is closed; if yes, go to step S108; if not, go to step S107;
s107: traversing all the storage blocks of the cache region, searching a first empty storage block, and determining a fragment number i and a layer sequence number j of a next downloaded video block according to the first empty storage block; returning to step S103;
s108: finishing the caching program to finish dynamic caching scheduling;
in step S105, the specific step of adjusting the buffer length Bmax according to the buffer status data is:
s201: judging condition Bmax > buffer _ len1Not less than min and buffer _ lenm<buffer_len1Whether the two are true at the same time; if yes, updating Bmax to Bmax-1; if not, go to step S202; wherein, buffer _ len1Buffer _ len is the download number of the layer 1 video block in the buffermThe number of the downloaded video blocks of the highest layer of the cache area is the number of the downloaded video blocks of the highest layer of the cache area;
s202: judgment condition Bmax ═ buffer _ len1< max and buffer _ lenm=buffer_len1Whether the two are true at the same time; if yes, updating Bmax to Bmax + 1; if not, the Bmax value is not changed;
in step S107, the step of determining the slice number i and the layer sequence number j of the next downloaded video block according to the first empty storage block is:
s301: judging whether the cache region has the layers of the residual storage blocks, starting to judge from the first layer of the cache region, and making the number p of judging layers equal to 1;
s302: judging whether p is less than or equal to Lmax; if yes, go to step S303; if not, go to step S306;
s303: judging whether the p-th layer in the cache region has residual storage blocks; if yes, go to step S305; if not, go to step S304;
s304: updating p to p +1, and returning to the step S302;
s305: assigning the layer serial number j as p, and judging whether the p layer has a video block; if yes, i is equal to the abscissa of the latest downloaded video block of the p-th layer plus 1; if not, i is equal to the abscissa of the first video block at the layer 1 of the cache region;
s306: judging whether the abscissa of the last video block of the first layer of the cache region is n; if yes, ending the downloading; if not, go to step S307;
s307: suspending the downloading thread, setting i as the next number of the abscissa of the last video block at the layer 1 of the cache region, and setting the sequence number j as 1; circularly judging whether the buffer area has empty storage blocks, and continuing downloading once the empty storage blocks appear; and when the video fragments are cached, the decoding playing thread continuously takes out the video fragments from the cache region to the client side for decoding playing, and when one video fragment is taken out, the rest video fragments in the cache region move forwards in sequence.
2. The dynamic cache scheduling method for an SVC-DASH on-demand system of claim 1, wherein: in step S106, when all the video segments are downloaded, the downloading is terminated.
3. A storage device, characterized by: the storage device stores instructions and data that when executed by a processor implement any of the methods of claims 1-2 for dynamic cache scheduling for an SVC-DASH on-demand system.
4. A dynamic buffer scheduling equipment for SVC-DASH on-demand system, characterized in that: the method comprises the following steps: a processor and the storage device of claim 3; the processor loads and executes the instructions and data in the storage device to implement any one of the dynamic cache scheduling methods for SVC-DASH on-demand systems of claims 1-2.
CN201811063582.2A 2018-09-12 2018-09-12 Dynamic cache scheduling method, device and storage device for SVC-DASH on-demand system Expired - Fee Related CN109121019B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811063582.2A CN109121019B (en) 2018-09-12 2018-09-12 Dynamic cache scheduling method, device and storage device for SVC-DASH on-demand system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811063582.2A CN109121019B (en) 2018-09-12 2018-09-12 Dynamic cache scheduling method, device and storage device for SVC-DASH on-demand system

Publications (2)

Publication Number Publication Date
CN109121019A CN109121019A (en) 2019-01-01
CN109121019B true CN109121019B (en) 2020-01-17

Family

ID=64859135

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811063582.2A Expired - Fee Related CN109121019B (en) 2018-09-12 2018-09-12 Dynamic cache scheduling method, device and storage device for SVC-DASH on-demand system

Country Status (1)

Country Link
CN (1) CN109121019B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111586414B (en) * 2020-04-07 2022-04-15 南京师范大学 SVC and DASH-based 360-degree video stream scheduling method

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102761776A (en) * 2012-08-01 2012-10-31 重庆大学 Video and audio synchronizing method of P2PVoD (peer-to-peer video on demand) system based on SVC (scalable video coding)
CN103402136A (en) * 2013-07-29 2013-11-20 重庆大学 Self-adaptive cache adjustment control method and device and self-adaptive player
WO2014011559A1 (en) * 2012-07-09 2014-01-16 Qualcomm Incorporated Smoothing of difference reference picture
CN103905820A (en) * 2012-12-28 2014-07-02 中国科学院声学研究所 Client side video quality self-adaption method and system based on SVC
CN104270646A (en) * 2014-09-22 2015-01-07 何震宇 Self-adaption transmission method and system based on mobile streaming media
CN104811746A (en) * 2015-03-31 2015-07-29 康佳集团股份有限公司 Method and system for achieving integration of SVC (scalable video coding) and DASH (dynamic adaptive streaming over HTTP (hypertext transport protocol)) through multiple connections

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9912941B2 (en) * 2012-07-02 2018-03-06 Sony Corporation Video coding system with temporal layers and method of operation thereof
GB2506911B (en) * 2012-10-12 2015-12-09 Canon Kk Method and correponding device for streaming video data
CN106028057A (en) * 2016-05-05 2016-10-12 北京邮电大学 Caching method for adaptive streaming content of scalable coding in mobile CCN (Content-Centric Network)

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014011559A1 (en) * 2012-07-09 2014-01-16 Qualcomm Incorporated Smoothing of difference reference picture
CN102761776A (en) * 2012-08-01 2012-10-31 重庆大学 Video and audio synchronizing method of P2PVoD (peer-to-peer video on demand) system based on SVC (scalable video coding)
CN103905820A (en) * 2012-12-28 2014-07-02 中国科学院声学研究所 Client side video quality self-adaption method and system based on SVC
CN103402136A (en) * 2013-07-29 2013-11-20 重庆大学 Self-adaptive cache adjustment control method and device and self-adaptive player
CN104270646A (en) * 2014-09-22 2015-01-07 何震宇 Self-adaption transmission method and system based on mobile streaming media
CN104811746A (en) * 2015-03-31 2015-07-29 康佳集团股份有限公司 Method and system for achieving integration of SVC (scalable video coding) and DASH (dynamic adaptive streaming over HTTP (hypertext transport protocol)) through multiple connections

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Rate adaptation algorithm with backward quality increasing property for SVC-DASH;Simge Gizem Ozcan et al.;《2017 IEEE 7th International Conference on Consumer Electronics - Berlin》;20171218;第24-28页 *
可伸缩视频编码传输速率控制技术研究;朱海波;《中国博士学位论文全文数据库信息科技辑,2014年第5期》;20140515;第1-99页 *
可伸缩视频编码在移动互联网中的应用与实现;蒋宇浩等;《微电子学与计算机》;20161231;第33卷(第12期);第134-138页 *

Also Published As

Publication number Publication date
CN109121019A (en) 2019-01-01

Similar Documents

Publication Publication Date Title
CN106303704B (en) DASH (dynamic Address translation over Ethernet) streaming media live broadcasting system and method based on proxy server
Famaey et al. On the merits of SVC-based HTTP adaptive streaming
CN105357591B (en) A kind of QoE monitoring of self-adaption code rate net cast and optimization method
CN106688239B (en) Method for downloading video, apparatus and system
US9402058B2 (en) Content delivery system, content delivery method and content delivery program
US8527610B2 (en) Cache server control device, content distribution system, method of distributing content, and program
CN113905221B (en) Stereoscopic panoramic video asymmetric transport stream self-adaption method and system
CN105898388B (en) A kind of node download schedule method and apparatus
CN108833996A (en) Service node selection, update and code rate adaptive approach in distributed DASH system
KR20130014508A (en) Bit rate adjustment in an adaptive streaming system
CN108063955A (en) The code check switching method of dynamic self-adapting transmission of video based on state machine
CN104394484A (en) Wireless live streaming media transmission method
CN107509120A (en) A kind of streaming media self-adapting transmission method based on buffer underflow probability Estimation
CN112543357B (en) Stream media data transmission method based on DASH protocol
CN109121019B (en) Dynamic cache scheduling method, device and storage device for SVC-DASH on-demand system
CN113207015B (en) Task scheduling strategy generation method and device, storage medium and computer equipment
CN109121018B (en) Dynamic cache scheduling method, device and storage device for SVC-DASH on-demand system
Tanjung et al. Qoe optimization in dash-based multiview video streaming
CN109121020B (en) Dynamic cache scheduling method, device and storage device for SVC-DASH on-demand system
Zhang et al. Edge cache replacement strategy for SVC-encoding tile-based 360-degree panoramic streaming
KR101514128B1 (en) Apparatus and method for providing contents
CN109379127B (en) Data processing method and device
KR100686395B1 (en) The multi-media streaming method and system of a network adaptation live broadcasting for packet filtering
Chen et al. Adaptive media playout assisted rate adaptation scheme for HTTP adaptive streaming over lte system
CN110545434B (en) Method and system for adjusting rate control of GOP (group of pictures) layer of transcoding slice source

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200117

Termination date: 20210912

CF01 Termination of patent right due to non-payment of annual fee