CN108900874B - Streaming media self-adaption request method and device based on SVC-DASH framework - Google Patents

Streaming media self-adaption request method and device based on SVC-DASH framework Download PDF

Info

Publication number
CN108900874B
CN108900874B CN201810947883.5A CN201810947883A CN108900874B CN 108900874 B CN108900874 B CN 108900874B CN 201810947883 A CN201810947883 A CN 201810947883A CN 108900874 B CN108900874 B CN 108900874B
Authority
CN
China
Prior art keywords
fragment
enhancement layer
downloading
downloaded
segment
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.)
Active
Application number
CN201810947883.5A
Other languages
Chinese (zh)
Other versions
CN108900874A (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.)
University of Science and Technology Beijing USTB
Original Assignee
University of Science and Technology Beijing USTB
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 University of Science and Technology Beijing USTB filed Critical University of Science and Technology Beijing USTB
Priority to CN201810947883.5A priority Critical patent/CN108900874B/en
Publication of CN108900874A publication Critical patent/CN108900874A/en
Application granted granted Critical
Publication of CN108900874B publication Critical patent/CN108900874B/en
Active 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/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440227Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by decomposing into layers, e.g. base layer and one or more enhancement layers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The invention provides a streaming media self-adaptive request method and a device thereof based on an SVC-DASH framework, relating to the field of video coding and HTTP dynamic streaming media transmission; in the invention, the process of requesting to download the basic layer is as follows: judging whether the base layer fragment of the next segment of the current playing segment is downloaded to the buffer area, if not, sequentially downloading the base layer fragments of each subsequent segment until the length of the buffer area reaches an upper limit value B; if yes, judging whether the next segmented basic layer fragment is downloaded to the buffer area, and repeating the steps until the buffer length reaches an upper limit value B; the process of requesting to download the enhancement layer is similar to the process of requesting to download the base layer; the invention also adds the steps of broadband prediction and the judgment of the effectiveness of the enhancement layer fragments. The method and the device of the invention solve the problems of frequent code rate switching, incapability of effectively overcoming the playing interruption caused by buffer underflow and incapability of fully utilizing bandwidth resources commonly existing in the prior method under the mobile network environment.

Description

Streaming media self-adaption request method and device based on SVC-DASH framework
Technical Field
The invention relates to the field of video coding and HTTP dynamic streaming media transmission, in particular to a streaming media self-adaptive request method and a streaming media self-adaptive request device facing a mobile network and based on an SVC-DASH framework.
Background
In recent years, with the rapid development of internet technology and mobile intelligent terminals, the traditional static media service using characters and pictures as carriers has been unable to meet the needs of users, the proportion of video services with richer forms in the total flow of network data is increasing, and the attention of each world to video services, especially to video transmission technology under the mobile network, is also increasing. In this situation, an emerging Streaming media dynamic Adaptive technology dash (dynamic Adaptive Streaming over HTTP) based on HTTP should be developed. DASH works as follows: the method comprises the steps that a server end encodes the same video content into video versions with different code rates and divides the video versions into streaming media fragments (segments) which are continuous and fixed in duration on a time axis, and then attribute information and video fragment information of a video are written into an MPD (media Presentation description) file in an XML format, wherein the MPD file structure is formed by nesting of labels at each level, such as a Period (Period), an adaptation set (adaptation set), a Presentation (retrieval), a fragment (Segment) and the like; the client downloads and analyzes the MPD file, obtains the detailed information of the video of the server, dynamically selects the fragments with proper code rate according to the network bandwidth, the cache size and other factors, and achieves smooth playing of the video while preventing the cache of the playing end from overflowing or running out.
However, DASH technology can significantly increase the load on the server due to the multiple encoding. The problem becomes more prominent as the number of network cache nodes increases and the number of videos increases. Related studies have shown that applying Scalable Video Coding (DASH) technology to DASH technology can solve the above problems well. SVC is an extension of H.264/AVC, and has the characteristics of once coding and multiple decoding. One video is coded and compressed once by using the SVC technology, and the videos with different code rate levels can be decoded. The SVC stream consists of a Base layer (Base layer) and several Enhancement layers (Enhancement layers), and the higher layer must rely on the lower layer to decode the video content. The base layer data provides the lowest viewing quality video, while the enhancement layer data may increase the viewing quality of the video layer by layer from three aspects of Temporal (Temporal), Spatial (Spatial) and picture signal-to-noise ratio (SNR), with the greater the number of layers the better the video quality. Mapping layers of one SVC format video to DASH streaming media presentation (rendering) may constitute an SVC-DASH framework. Compared with the traditional DASH frame, the SVC-DASH frame does not need to encode the same video into a plurality of video versions with different code rates, so that the storage space of a server can be greatly saved. In addition, under the conventional DASH framework, once a certain slice is received by the client, the bitrate level thereof cannot be changed any more; under the SVC-DASH framework, a client can flexibly change the code rate level of certain downloaded but not played streaming media fragments by adopting a fragment superposition mode, and a self-adaptive mode can be more flexible and fine-grained.
One important aspect of streaming media adaptation techniques is the adaptation strategy or method. The adaptive strategy or method under the SVC-DASH framework proposed by the existing literature generally has the problems of frequent code rate switching, incapability of effectively overcoming the playing interruption caused by buffer underflow, incapability of fully utilizing bandwidth resources and the like under the mobile network environment.
Disclosure of Invention
The invention aims to: in order to solve the problems that the existing streaming media adaptive request method generally has frequent code rate switching, can not effectively overcome playing interruption caused by buffer underflow and can not fully utilize bandwidth resources in a mobile network environment, the invention provides a streaming media adaptive request method and a device thereof based on an SVC-DASH framework and oriented to a mobile network.
In one aspect, the present invention provides a streaming media adaptive request method based on an SVC-DASH framework, including:
step 1: and the server side stores the SVC format video slices and the MPD file.
Step 2: and the client initiates an HTTP-GET request to the server after the connection is established, downloads and analyzes the MPD file, and obtains the detailed video information of the server.
And step 3: the client initiates an HTTP-GET request according to the URL address in the MPD file, requests to download the fragments and stores the fragments in a cache region, starts a player, takes out the fragments stored in the cache, merges the fragments into segments, and then decodes and plays the fragments frame by frame; the step of requesting to download the fragment comprises the following steps:
step 3.1: requesting to download the base layer; judging current playing segment SegiNext segmented base layer slice Segi+1,0Whether or not it has alreadyDownloading to a buffer area, if not, sequentially downloading the base layer fragment Seg of each subsequent segmenti+1,0、Segi+2,0…, until the buffer length reaches the upper limit value B; if yes, judging the base layer slice Seg of the next segmenti+2,0And if the data is downloaded to the buffer area, and so on until the buffer length reaches an upper limit value B.
Step 3.2: requesting to download an enhancement layer; judging current playing segment SegiNext segmented enhancement layer slice Segi+1,jWhether the segment is downloaded to the buffer area or not, if not, the enhancement layer segment Seg of each subsequent segment is downloaded in sequencei+1,j、Segi+3,j…Segi+B,j(ii) a If yes, judging the enhancement layer slice Seg of the next segmenti+2,jWhether the file is downloaded to the buffer area or not, and so on until the fragment Seg is judgedi+B,j
Step 3.3: judging the buffer status in real time according to the playing progress, if the buffer length is still B, sequentially requesting, downloading and storing the enhancement layer fragment of the higher layer of each segment according to the method of the step 3.2; if the cache length is smaller than B, the procedure returns to step 3.1.
In the above steps, i represents the segment number of the segment, i belongs to [0, N-1], and N represents the number of segments; j represents the layer number of the slice, j belongs to [0, L ], and L represents the total layer number of the enhancement layer.
Under poor network conditions, when segmenting SegiAlready played, enhancement layer slice Segi,jBefore downloading is completed, the segment Segi,jThe data resource is wasted because the data cannot be decoded and played, and to solve the problem, the following steps are simultaneously performed in the process of performing step 3.2:
step 3A: and predicting the time for downloading the enhancement layer fragment according to the predicted bandwidth value before downloading each subsequent enhancement layer fragment, and on a time axis, if the predicted downloading time is greater than the difference value between the initial playing time and the current playing time of the segment in which the enhancement layer fragment is positioned, abandoning to download the enhancement layer fragment.
Specifically, in the step 3A, predicting the bandwidth value by using a weighted average method specifically includes the following steps:
(1) calculating the actual bandwidth value when the nth fragment is downloaded:
Figure BDA0001770713830000031
wherein SegsizenIndicating the size of the nth slice,
Figure BDA0001770713830000032
respectively the starting time and the ending time of downloading the nth fragment.
(2) Calculating the predicted bandwidth value when the (n + 1) th fragment is downloaded:
Figure BDA0001770713830000033
wherein, the value range of the weight coefficient is (0,1), p and the sum conforms to the logistic function model.
Specifically, the method comprises the following steps:
Figure BDA0001770713830000034
Figure BDA0001770713830000035
wherein k and p0Is constant, the p sum conforms to the logistic function model.
Specifically, in the step 3A, the specific process of calculating the time for downloading the enhancement layer slice according to the predicted bandwidth value and the specific process of determining whether to skip downloading the enhancement layer slice are:
the current predicted bandwidth value is BWeOn the time axis, t is currently playing to the video by the client0At that moment, the enhancement layer slice to be downloaded currently is Segi,jIts start position corresponds to the time T x i of the video;
download fragment Segi,jUsed predicted time
Figure BDA0001770713830000041
Downloading the sliced Seg if the following conditions are satisfiedi,j
Figure BDA0001770713830000042
Namely:
Figure BDA0001770713830000043
where T is the duration of a single slice, rjThe code rate of the j layer video is;
otherwise, skipping downloading the enhancement layer fragment to the next enhancement layer fragment; the next enhancement layer slice is downloaded, and the decision is also made according to the method of this step.
In another aspect, the present invention provides a streaming media adaptive request apparatus based on SVC-DASH framework, including:
and requesting a downloading module.
And the decoding playing module is used for merging the downloaded fragments in the cache area into segments and playing the video.
Wherein, the download requesting module comprises:
the base layer fragment downloading submodule is used for requesting and downloading the base layer fragments of the buffer area; the request rule is as follows: judging current playing segment SegiNext segmented base layer slice Segi+1,0Whether the fragments are downloaded to the buffer area or not, if not, the fragments Seg of the base layer of each subsequent fragment are downloaded in sequencei+1,0、Segi+2,0…, until the length of the buffer reaches the upper limit value B; if yes, judging the base layer slice Seg of the next segmenti+2,0And if the data is downloaded to the buffer area, and so on until the buffer length reaches an upper limit value B.
The enhancement layer fragment downloading submodule is used for requesting and downloading the base layer fragments of the buffer area; please for itThe rule is as follows: judging current playing segment SegiNext segmented enhancement layer slice Segi+1,jWhether the segment is downloaded to the buffer area or not, if not, the enhancement layer segment Seg of each subsequent segment is downloaded in sequencei+1,j、Segi+3,j…Segi+B,j. If yes, judging the enhancement layer slice Seg of the next segmenti+2,jWhether the file is downloaded to the buffer area or not, and so on until the fragment Seg is judgedi+B,j
Further, the apparatus further comprises:
the bandwidth prediction module is used for predicting the bandwidth when a certain fragment is downloaded;
the enhancement layer fragment downloading effectiveness judging module is used for judging effectiveness according to the difference value between the initial playing time of the segment where the subsequent enhancement layer fragment to be downloaded is located and the current playing time of the client, and the judging rule is as follows: on a time axis, if the difference value between the initial playing time and the current playing time of the segment of the enhancement layer fragment is less than the time for predicting downloading the enhancement layer fragment, judging that the enhancement layer fragment is invalid, and abandoning downloading the enhancement layer fragment; otherwise, the enhancement layer fragment is downloaded effectively.
After the scheme is adopted, the invention has the following beneficial effects:
(1) the invention firstly and transversely downloads the basic layer fragment of each segment in the upper limit of the cache, can fill the cache region quickly, can effectively resist the underflow of the cache region, and reduces the playing interruption times and the interruption time.
(2) The invention transversely promotes the downloaded but not played segment code rate in the cache region layer by layer within the upper limit of the cache, can keep the video code rate at the same level to the maximum extent, minimizes the code rate switching times and the switching amplitude, and realizes better smoothing effect.
(3) When the enhancement layer is downloaded under the condition of poor network condition, the invention avoids the downloading of invalid fragments by the limitation of the judgment of the downloading effectiveness of the enhancement layer fragments, thereby reducing the waste of network resources; when the network condition is better, the invention can promote the downloaded but not played segment code rate in the buffer area to the highest level, can effectively avoid the overflow of the buffer area and fully utilize the network resources.
In a word, compared with the existing adaptive method, the method does not singly judge the code rate level of a certain subsection one by one in the process of requesting and downloading, but performs self-adaptation layer by layer on the premise of comprehensively considering the filling state of the whole buffer area, and can better improve the watching experience of a mobile user.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings needed in the embodiments will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings without creative efforts. The above and other objects, features and advantages of the present invention will become more apparent from the accompanying drawings. Like reference numerals refer to like parts throughout the drawings. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention.
FIG. 1 is a flow chart of requesting downloading of a base layer fragment according to the present invention;
FIG. 2 is a flow chart of requesting downloading of enhancement layer slices according to the present invention;
FIG. 3 is a flowchart of an enhancement layer fragmentation download validity decision strategy of the present invention;
FIG. 4 is a diagram of the structure of the device module of the present invention;
FIG. 5 is a diagram of the SVC-DASH framework of the present invention;
FIG. 6 is a diagram illustrating the splitting and merging of SVC code streams according to the present invention;
FIG. 7 is a schematic diagram of an MPD file structure under an SVC-DASH framework according to the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The SVC-DASH framework consists of a server side, a mobile transmission network and a client side. The server stores SVC format video fragments and MPD files; the client executes the adaptive request method.
Under the SVC-DASH framework, there are dependencies between slices of different presentations at decoding. Fig. 7 shows this dependency. For convenience of expression, the base layer is denoted as BL and the respective enhancement layers are denoted as EL, respectively1,EL2……ELLWhere the subscript L is the total number of layers of the reinforcement layer, as shown in fig. 5. The single slice is denoted as Segi,jWherein i represents the segment number of the segment, i belongs to [0, N-1]]N is the total duration of the video/the duration of a single slice; j represents the layer number of the fragment, j belongs to [0, L ]]. The client can number the same segment into Seg according to the dependency relationshipi,jAre superposed layer by layer to form a SegiReferred to herein as segmentation. For SegiThe base layer slice and each of the 1-L enhancement layer slices are respectively marked as Segi,0、Segi,1、…Segi,j、…Segi,L
The streaming media self-adaption request method and device based on the SVC-DASH framework of the invention can carry out self-adaption from a basic layer to each enhancement layer by layer on the premise of comprehensively considering the filling state of an integral buffer area, and do not judge the code rate level one by one in a segmentation-by-segmentation manner like in the prior art.
The present invention will now be described more fully hereinafter with reference to the accompanying drawings.
Example 1
In this embodiment, a method for requesting streaming media adaptation based on SVC-DASH framework corresponds to a device for requesting streaming media adaptation based on SVC-DASH framework, as shown in fig. 4, the device is the same as the prior art in that: the system comprises a server and a client, wherein the server is used for storing SVC format video slices and MPD files, and the client executes a layered self-adaptive request method; the device is different from the prior art in that: the client comprises a request downloading module, a broadband prediction module, an enhancement layer fragment downloading effectiveness judging module and a playing module, wherein the request downloading module comprises a basic layer fragment requesting submodule and an enhancement layer fragment requesting submodule. The present invention will be described in detail with reference to the specific steps and modules of the present embodiment.
The steps of this embodiment include:
step 1: and the server side stores the SVC format video slices and the MPD file. As in the prior art, in the SVC format, video data is encapsulated into a series of network Abstraction Layer units nalu (network Abstraction Layer unit), respectively. Each NALU consists of video data and a unit header, which carries scalable information for SVC, including resolution, frame rate, and image signal-to-noise ratio. When generating the slice, the individual NALUs are assembled into different video layers according to the decoding sequence by using the scalable information. For a certain layer, the layer is divided into individual slices in units of time length T of a single slice according to the frame rate and the frame number, as shown in fig. 5. After the video is segmented, relevant information is written into an MPD file, wherein the relevant information comprises video duration, resolution, frame rate, segment number, layer number, single segment duration, URL addresses of segments and the like.
Step 2: and the client initiates a request to the server after the HTTP connection is established, downloads and analyzes the MPD file, and obtains the detailed video information of the server.
Step 1 and step 2 are the same as in the prior art, and the improvement of the present invention is in step 3.
And step 3: the client starts the player according to the URL address in the MPD file, and takes out the segments Segi,0 and Seg stored in the cachei,1、Segi,2… merge into SegiThen, the decoding playing module carries out decoding playing frame by frame; as shown in fig. 6, the process of synthesizing segments is a process of parsing header information of NALUs and reassembling NALUs. Specifically, the step of requesting to download the fragment includes:
step 3.1: as shown in FIG. 1, basicallyThe layer fragmentation request submodule requests to download the basic layer; judging current playing segment SegiNext segmented base layer slice Segi+1,0Whether the fragments are downloaded to the buffer area or not, if not, the fragments Seg of the base layer of each subsequent fragment are downloaded in sequencei+1,0、Segi+2,0…, until the length of the buffer reaches the upper limit value B; if yes, judging the base layer slice Seg of the next segmenti+2,0And if the data is downloaded to the buffer area, and so on until the buffer length reaches an upper limit value B.
Step 3.2: as shown in fig. 2, the enhancement layer fragment requesting sub-module requests to download the enhancement layer; judging current playing segment SegiNext segmented enhancement layer slice Segi+1,jWhether the segment is downloaded to the buffer area or not, if not, the enhancement layer segment Seg of each subsequent segment is downloaded in sequencei+1,j、Segi+3,j…Segi+B,j(ii) a If yes, judging the enhancement layer slice Seg of the next segmenti+2,jWhether the file is downloaded to the buffer area or not, and so on until the fragment Seg is judgedi+B,j
Step 3.3: judging the buffer status in real time according to the playing progress, if the buffer length is still B, sequentially requesting, downloading and storing the enhancement layer fragment of the higher layer of each segment according to the method of the step 3.2; if the cache length is smaller than B, the procedure returns to step 3.1.
Example 2
On the basis of example 1, in the process of carrying out step 3.2, the following steps are carried out simultaneously:
in the process of step 3.2, the following discrimination steps are carried out simultaneously:
step 3A: as shown in fig. 3, on the time axis, before the client plays the current video and downloads the subsequent enhancement layer segment, the broadband prediction module calculates the time for downloading the enhancement layer segment according to the predicted bandwidth value; and the enhancement layer fragment downloading effectiveness judging module judges, and if the difference value between the initial playing time of the segment of the enhancement layer fragment and the current playing time is less than the prediction time for downloading the enhancement layer fragment, the enhancement layer fragment is abandoned. Specifically, the current predicted bandwidth value is BWeCurrent customerT for playing video0At that moment, the enhancement layer slice to be downloaded currently is Segi,jIts start position corresponds to the time T x i of the video; download fragment Segi,jUsed predicted time
Figure BDA0001770713830000081
Downloading the sliced Seg if the following conditions are satisfiedi,j
Figure BDA0001770713830000082
Namely:
Figure BDA0001770713830000083
where T is the duration of a single slice, rjThe bitrate for layer j video (excluding the layer on which layer j decoding depends);
otherwise, the downloading of the enhancement layer fragment is abandoned, and when the request for downloading the enhancement layer fragment is made, the judgment is also carried out according to the method of the step.
In this embodiment, the method for predicting the bandwidth value by using the weighted average method specifically includes the following steps:
(1) calculating the actual bandwidth value when the nth fragment is downloaded:
Figure BDA0001770713830000084
wherein SegsizenIndicating the size of the nth slice,
Figure BDA0001770713830000085
respectively downloading the start time and the stop time of the nth fragment;
(2) calculating the predicted bandwidth value when the (n + 1) th fragment is downloaded:
Figure BDA0001770713830000091
wherein, the value range of the weight coefficient is (0,1), p and the weight coefficient accords with a logistic function model;
Figure BDA0001770713830000092
Figure BDA0001770713830000093
wherein k and p0Is constant, the p sum conforms to the logistic function model.
The calculation process shows that when the bandwidth changes greatly, the value is also large in order to ensure the sensitivity to the network change, and the predicted bandwidth value is closer to the actual bandwidth value of the previous fragment; when the bandwidth changes less, the value of the bandwidth prediction value is smaller in order to ensure the smoothness of the bandwidth prediction value, and then the bandwidth prediction value is closer to the historical situation.
It should be noted that there are other prior art methods for predicting bandwidth, such as sliding window wideband prediction, and in this embodiment, a weighted average method is preferably used.
Next, a description will be given with reference to specific numerical values in addition to example 2.
As shown in fig. 5. Assuming that the duration T of a single slice is 2 seconds in the whole video, the frame rate F rate24 frames/second, and the buffer upper limit value B is 12 seconds.
First, the client shards Seg from the base layer0,0Starting download, this base layer slice Seg0,0After downloading, the decoding playing module decodes and starts playing the segment Seg from the 1 st frame in the segment0. Meanwhile, the download requesting module requests to download the fragment Seg in sequence1,0、Seg2,0、Seg3,0… …, while downloading, predict the BWe value.
When Seg6,0When the downloading is completed, it is assumed that the decoding playing module has played to the 1 st second (24 th frame) of the video at this time, as indicated by arrow P1, and the buffer length has reached this timeTo the upper limit value B.
Then starts downloading the enhancement layer EL1. Seg, the decision of the decision module for judging the effectiveness of the slice download of the enhancement layer1,1Satisfies the discrimination condition of the discrimination module for the effectiveness of the slice download of the enhancement layer, and then requests to download the Seg1,1. Sequentially judging, requesting and downloading Seg according to the same method2,1To Seg6,1And predicts the BWe value while downloading the allocation.
When Seg6,1When the downloading is completed, it is assumed that the decoding playing module has played to the 4 th second (97 th frame) of the video at this time, as indicated by arrow P2, and the buffer length is smaller than the upper limit value B at this time.
At this point, go to the base layer to request to download the Seg7,0To Seg8,0And predicts the BWe value while downloading. When Seg8,0When the downloading is completed, it is assumed that the player has played to the 5 th second (frame 120) of the video at this time, as indicated by arrow P3, and the buffer length reaches the upper limit B again.
Then starts downloading the enhancement layer EL1Sequentially judging, requesting and downloading Seg by using the judging condition of the enhancement layer fragmentation downloading validity module7,1To Seg8,1And predicts the BWe value while downloading. When Seg8,1When the download is complete, it is assumed that the player has now played to the 6 th second (frame 143) of the video, as indicated by arrow P4. At this point the buffer length has reached the upper limit B.
Then, the enhancement layer EL2 starts to be downloaded, and the enhancement layer slice downloading effectiveness module judges Seg3,2The discrimination condition is not satisfied. If the download request is requested at this time to download Seg3,2, the segment Seg will appear when it is completely downloaded3In the case of already decoded playback, slice Seg3,2Will become invalid segment and further judge the segment Seg4,2The discrimination condition is satisfied. Thus abandoning the request fragment Seg3,2In turn requesting download of the fragment Seg4,2
The above description is only an embodiment of the present invention, but the scope of the present invention is not limited thereto, and any changes or substitutions that can be easily conceived by those skilled in the art within the technical scope of the present invention are included in the scope of the present invention.

Claims (4)

1. A streaming media adaptive request method based on SVC-DASH framework is characterized by comprising the following steps:
step 1: the server stores SVC format video fragments and MPD files;
step 2: the client initiates an HTTP-GET request to the server after the connection is established, and downloads and analyzes an MPD file to obtain the detailed video information of the server;
and step 3: the client initiates an HTTP-GET request according to the URL address in the MPD file to request for downloading the fragments and storing the fragments in a cache region, the client starts a player, takes out the fragments stored in the cache and combines the fragments into segments, and then the segments are decoded and played frame by frame; the step of requesting to download the fragment comprises the following steps:
step 3.1: requesting to download the base layer; judging the current playing segment
Figure DEST_PATH_IMAGE002
Next segmented base layer slice of
Figure DEST_PATH_IMAGE004
If not, then downloading the basic layer fragment of each subsequent segment in turn
Figure DEST_PATH_IMAGE006
Until the cache length reaches an upper limit value B; if yes, judging the base layer slice of the next segment
Figure DEST_PATH_IMAGE008
Whether the data is downloaded to the buffer area or not, and so on until the cache length reaches an upper limit value B;
step 3.2: requesting to download an enhancement layer; judging the current playing segment
Figure 6039DEST_PATH_IMAGE002
Next segmented enhancement layer slice of
Figure DEST_PATH_IMAGE010
Whether the fragments are downloaded to the buffer area or not, if not, the fragments of the enhancement layer of each subsequent segment are sequentially downloaded
Figure DEST_PATH_IMAGE012
Figure DEST_PATH_IMAGE014
(ii) a If yes, judging the enhancement layer slice of the next segment
Figure DEST_PATH_IMAGE016
Whether the file is downloaded to the buffer area or not, and so on until the fragment is judged
Figure DEST_PATH_IMAGE018
Step 3.3: judging the buffer status in real time according to the playing progress, if the buffer length is still B, sequentially requesting, downloading and storing the enhancement layer fragment of the higher layer of each segment according to the method of the step 3.2; if the cache length is smaller than B, returning to the step 3.1;
in the above steps, i represents the segment number of the segment, i belongs to [0, N-1], and N represents the number of segments; j represents the layer number of the fragment, j belongs to [0, L ], and L represents the total layer number of the enhancement layer;
in the process of step 3.2, the following discrimination steps are carried out simultaneously:
step 3A: predicting the time for downloading the enhancement layer fragment according to the predicted bandwidth value before downloading each subsequent enhancement layer fragment, and on a time axis, if the predicted downloading time is greater than the difference value between the initial playing time and the current playing time of the segment where the enhancement layer fragment is located, giving up downloading the enhancement layer fragment;
in the step 3A, a weighted average method is used to predict the bandwidth value, and the method specifically includes the following steps:
(1) calculating the actual bandwidth value when the nth fragment is downloaded:
Figure DEST_PATH_IMAGE020
wherein the content of the first and second substances,
Figure DEST_PATH_IMAGE022
indicating the size of the nth slice,
Figure DEST_PATH_IMAGE024
respectively downloading the start time and the end time of the nth fragment;
(2) calculating the predicted bandwidth value when the (n + 1) th fragment is downloaded:
Figure DEST_PATH_IMAGE026
wherein, the value range of the weight coefficient is (0, 1);
specifically, the method comprises the following steps:
Figure DEST_PATH_IMAGE028
wherein k is and
Figure DEST_PATH_IMAGE030
is constant, the p sum conforms to the logistic function model.
2. The method according to claim 1, wherein the specific process of calculating the time to download the enhancement layer slice and the specific process of determining whether to skip downloading the enhancement layer slice according to the predicted bandwidth value in step 3A are:
the current predicted bandwidth value is
Figure DEST_PATH_IMAGE032
On the time axis, the current client is playing to the video
Figure DEST_PATH_IMAGE034
At that moment, the enhancement layer currently to be downloaded is sliced into
Figure DEST_PATH_IMAGE036
Its start position corresponds to the time T x i of the video;
downloading shards
Figure 438026DEST_PATH_IMAGE036
The prediction time used is downloaded if the following conditions are met
Figure 748922DEST_PATH_IMAGE036
Figure DEST_PATH_IMAGE038
Namely:
Figure DEST_PATH_IMAGE040
wherein T is the duration of a single slice,
Figure DEST_PATH_IMAGE042
the code rate of the j layer video is;
otherwise, skipping downloading the enhancement layer fragment to the next enhancement layer fragment; the next enhancement layer slice is downloaded, and the decision is also made according to the method of this step.
3. An apparatus for streaming media adaptive request based on SVC-DASH framework, comprising:
a request downloading module;
the decoding playing module is used for merging the downloaded fragments in the cache area into segments and playing videos;
wherein, the download requesting module comprises:
basicThe layer fragment downloading submodule is used for requesting and downloading the basic layer fragments of the buffer area; the request rule is as follows: judging the current playing segment
Figure DEST_PATH_IMAGE044
Next segmented base layer slice of
Figure DEST_PATH_IMAGE046
If not, then downloading the basic layer fragment of each subsequent segment in turn
Figure DEST_PATH_IMAGE048
Until the length of the cache region reaches an upper limit value B; if yes, judging the base layer slice of the next segment
Figure DEST_PATH_IMAGE050
Whether the data is downloaded to the buffer area or not, and so on until the cache length reaches an upper limit value B;
the enhancement layer fragment downloading submodule is used for requesting and downloading the base layer fragments of the buffer area; the request rule is as follows: judging the current playing segment
Figure 377087DEST_PATH_IMAGE044
Next segmented enhancement layer slice of
Figure DEST_PATH_IMAGE052
Whether the fragments are downloaded to the buffer area or not, if not, the fragments of the enhancement layer of each subsequent segment are sequentially downloaded
Figure DEST_PATH_IMAGE054
(ii) a If yes, judging the enhancement layer slice of the next segment
Figure DEST_PATH_IMAGE056
Whether the file is downloaded to the buffer area or not, and so on until the fragment is judged
Figure DEST_PATH_IMAGE058
Predicting the time for downloading the enhancement layer fragment according to the predicted bandwidth value before downloading each subsequent enhancement layer fragment, and on a time axis, if the predicted downloading time is greater than the difference value between the initial playing time and the current playing time of the segment where the enhancement layer fragment is located, giving up downloading the enhancement layer fragment; predicting the bandwidth value by adopting a weighted average method, which specifically comprises the following steps:
(1) calculating the actual bandwidth value when the nth fragment is downloaded:
Figure 747718DEST_PATH_IMAGE020
wherein the content of the first and second substances,
Figure 648809DEST_PATH_IMAGE022
indicating the size of the nth slice,
Figure 978159DEST_PATH_IMAGE024
respectively downloading the start time and the end time of the nth fragment;
(2) calculating the predicted bandwidth value when the (n + 1) th fragment is downloaded:
Figure 193371DEST_PATH_IMAGE026
wherein, the value range of the weight coefficient is (0, 1);
specifically, the method comprises the following steps:
Figure DEST_PATH_IMAGE059
wherein k is and
Figure 455725DEST_PATH_IMAGE030
is constant, the p sum conforms to the logistic function model.
4. The SVC-DASH framework-based streaming media adaptive request device of claim 3, further comprising:
the bandwidth prediction module is used for predicting the bandwidth when a certain fragment is downloaded;
the enhancement layer fragment downloading effectiveness judging module is used for judging effectiveness according to the difference value between the initial playing time of the segment where the subsequent enhancement layer fragment to be downloaded is located and the current playing time of the client, and the judging rule is as follows: on a time axis, if the difference value between the initial playing time and the current playing time of the segment of the enhancement layer fragment is less than the time for predicting downloading the enhancement layer fragment, judging that the enhancement layer fragment is invalid, and abandoning downloading the enhancement layer fragment; otherwise, the enhancement layer fragment is downloaded effectively.
CN201810947883.5A 2018-08-20 2018-08-20 Streaming media self-adaption request method and device based on SVC-DASH framework Active CN108900874B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810947883.5A CN108900874B (en) 2018-08-20 2018-08-20 Streaming media self-adaption request method and device based on SVC-DASH framework

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810947883.5A CN108900874B (en) 2018-08-20 2018-08-20 Streaming media self-adaption request method and device based on SVC-DASH framework

Publications (2)

Publication Number Publication Date
CN108900874A CN108900874A (en) 2018-11-27
CN108900874B true CN108900874B (en) 2020-12-22

Family

ID=64354780

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810947883.5A Active CN108900874B (en) 2018-08-20 2018-08-20 Streaming media self-adaption request method and device based on SVC-DASH framework

Country Status (1)

Country Link
CN (1) CN108900874B (en)

Families Citing this family (2)

* 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
CN113747229B (en) * 2021-08-03 2022-08-02 上海交通大学 Slice size prediction and adaptive code rate control method, system and medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120035831A (en) * 2010-10-06 2012-04-16 한국전자통신연구원 Random access support method for streaming service based on scalabe video coding
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
CN106028057A (en) * 2016-05-05 2016-10-12 北京邮电大学 Caching method for adaptive streaming content of scalable coding in mobile CCN (Content-Centric Network)
CN107113476A (en) * 2015-01-12 2017-08-29 诺基亚技术有限公司 For the method for video flowing, device and computer-readable recording medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015007795A1 (en) * 2013-07-16 2015-01-22 Bitmovin Gmbh Apparatus and method for cloud assisted adaptive streaming

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120035831A (en) * 2010-10-06 2012-04-16 한국전자통신연구원 Random access support method for streaming service based on scalabe video coding
CN104270646A (en) * 2014-09-22 2015-01-07 何震宇 Self-adaption transmission method and system based on mobile streaming media
CN107113476A (en) * 2015-01-12 2017-08-29 诺基亚技术有限公司 For the method for video flowing, device and computer-readable recording medium
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
CN106028057A (en) * 2016-05-05 2016-10-12 北京邮电大学 Caching method for adaptive streaming content of scalable coding in mobile CCN (Content-Centric Network)

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
一种基于HTTP自适应流的混合码流自适应算法;熊丽荣等;《计算机科学》;20170228;第44卷(第2期);全文 *
信息网络中心中可伸缩视频的分发缓存方法;赵姝丽;《通信技术》;20180228;第51卷(第2期);全文 *
可伸缩视频编码传输速率控制技术研究;朱海波;《中国博士学位论文全文数据库》;20140531;全文 *

Also Published As

Publication number Publication date
CN108900874A (en) 2018-11-27

Similar Documents

Publication Publication Date Title
US7028096B1 (en) Method and apparatus for caching for streaming data
KR102144557B1 (en) Systems and methods for the reuse of encoding information in encoding alternative streams of video data
US8812621B2 (en) Reducing fetching load on cache servers in adaptive streaming
Zhang et al. Video super-resolution and caching—An edge-assisted adaptive video streaming solution
US9571827B2 (en) Techniques for adaptive video streaming
KR101701182B1 (en) A method for recovering content streamed into chunk
DK2545459T3 (en) Parallel streaming
US9402058B2 (en) Content delivery system, content delivery method and content delivery program
CN103139559B (en) Multi-media signal transmission method and device
CN110049336B (en) Video encoding method and video decoding method
KR20150042191A (en) Methods and devices for bandwidth allocation in adaptive bitrate streaming
US20210185368A1 (en) Adaptive bitrate video cache
CN108900874B (en) Streaming media self-adaption request method and device based on SVC-DASH framework
JP2022545623A (en) Prediction-Based Drop Frame Handling Logic in Video Playback
CN114786034A (en) Panoramic video optimal transmission method and system based on edge calculation
Zeng et al. TVSR‐OR: Tile‐based 360‐degree video streaming over real time streaming protocol with optimized read
CN109348233B (en) Interlayer backfill self-adaptive SVC-DASH playing method
KR20200037015A (en) Method and apparatus for transmitting adaptive video in real time using content-aware neural network
CN115988267B (en) Video code rate self-adaptive adjustment method and system based on DASH
Yu SVC-based dynamic caching for smart media streaming over the internet of things
Zhang et al. Exploiting layer and spatial correlations to enhance SVC and tile based 360-degree video streaming
US20230188764A1 (en) Predictive per-title adaptive bitrate encoding
US20230283825A1 (en) Method for dynamic computational resource management and apparatus for implementing the same
ArunKumar et al. Optimized buffer allocation for video multicasting applications with virtual memory implementation
CN118214928A (en) Video-on-demand transmission method, device, equipment and storage medium

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