Method, apparatus and system for updating metadata file

The present invention discloses a method, an apparatus, and a system for updating a metadata file. The method include: sending a message to a server on a network side to request a metadata file corresponding to media presentation; receiving a metadata file returned by the server according to the message that requests the metadata file corresponding to the media presentation, where the metadata file includes information about duration of a part of described media presentation; determining update time of the metadata file according to the information about the duration of the part of described media presentation; and sending a request for updating the metadata file to the server according to the update time.

FIELD OF THE INVENTION

The present invention relates to the communication field, and in particular, to a method, an apparatus, and a system for updating a metadata file.

BACKGROUND OF THE INVENTION

In a streaming service based on a Hyper Text Transfer Protocol (Hyper Text Transfer Protocol, HTTP), a method of obtaining the streaming service by a user equipment (User Equipment, UE) includes: The UE sends a message to a server on a network side to request a metadata file corresponding to media presentation, receives a metadata file returned by the server, determines a media fragment corresponding to the described media presentation according to the media presentation description information included in the metadata file, and obtains and plays the media fragment.

When the media presentation is a live program, the end time of the live program cannot be determined beforehand, the server keeps updating the metadata file corresponding to the live program with elapse of time. To obtain a complete live program, the UE needs to keep updating the metadata file corresponding to the live program.

Currently, the UE updates the metadata file periodically. When the update period of the metadata file is set improperly, the UE may fail to normally obtain a streaming service. For example, as shown inFIG. 1, when the update period of the metadata file is set to a too large value, information about a part of media presentation (a media fragment4shown inFIG. 1) described by metadata file2is lost in the duration between t0and t1, where t0is the first time of updating the metadata file and t1is the second time of updating the metadata file. Consequently, the UE is unable to obtain normal streaming service according to the metadata file1obtained in the first time of update and the metadata file2obtained in the second time of update.

SUMMARY OF THE INVENTION

Embodiments of the present invention provide a method, an apparatus, and a system for updating a metadata file, so that a user equipment can accurately determine the time of updating the metadata file and ensure that a user can obtain a streaming service normally.

In one aspect, a method for updating a metadata file is provided, including: sending a message to a server on a network side to request a metadata file corresponding to media presentation; receiving a metadata file returned by the server according to the message that requests the metadata file corresponding to the media presentation, where the metadata file includes information about duration of a part of described media presentation; determining update time of the metadata file according to the information about the duration of the part of described media presentation; and sending a request for updating the metadata file to the server according to the update time.

In another aspect, a method for updating a metadata file is provided, including: generating a metadata file corresponding to media presentation, where the metadata file includes information about duration of a part of described media presentation; and sending the metadata file to a user equipment if a message that requests the metadata file corresponding to the media presentation is received from the user equipment, where the user equipment determines update time of the metadata file according to the information about the duration of the part of described media presentation.

In another aspect, a user equipment is provided, including:

a sending module, configured to send a message to a server on a network side to request a metadata file corresponding to media presentation;

a receiving module, configured to receive a metadata file returned by the server according to the message that requests the metadata file corresponding to the media presentation, where the metadata file includes information about duration of a part of described media presentation;

a determining unit, configured to determine update time of the metadata file according to the information about the duration of the part of described media presentation, where the information is included in the metadata file received by the receiving module; and

an updating module, configured to send a request for updating the metadata file to the server according to the update time determined by the determining module.

In another aspect, a server is provided, including:

a generating module, configured to generate a metadata file corresponding to media presentation, where the metadata file includes information about duration of a part of described media presentation; and

a sending module, configured to send the metadata file generated by the generating module to a user equipment if a message that requests the metadata file corresponding to the media presentation is received from the user equipment, where the user equipment determines update time of the metadata file according to the information about the duration of the part of described media presentation.

In another aspect, a communication system is provided, including:

a server, configured to: generate a metadata file corresponding to media presentation, where the metadata file includes information about duration of a part of described media presentation; send the metadata file to a user equipment if a message that requests the metadata file corresponding to the media presentation is received from the user equipment; and

the user equipment, configured to: send the message to the server to request the metadata file corresponding to the media presentation; receive a metadata file returned by the server; determine update time of the metadata file according to the information about the duration of the part of described media presentation, where the information is included in the metadata file; and send a request for updating the metadata file to the server according to the update time.

In the method, apparatus and system for updating the metadata file in the embodiments of the present invention, the information about the duration of the part of described media presentation is added in the metadata file, so that the user equipment can accurately determine, according to the information about the duration of the part of described media presentation, the time of updating the metadata file, so as to solve the following problem that: Improper setting of the update period makes the user equipment fail to normally obtain a streaming service when the metadata file is updated periodically in the prior art.

Embodiments of the present invention further provide a method, an apparatus, and a system for updating a metadata file, so that a user equipment can accurately determine the time of updating the metadata file and ensure that a user can normally obtain a streaming service.

In one aspect, a method for updating a metadata file is provided, including: sending a message to a server on a network side to request a metadata file corresponding to media presentation; receiving a metadata file returned by the server according to the message that requests the metadata file corresponding to the media presentation, where the metadata file includes information about time of updating the metadata file by the server and information indicated to a user equipment about a time length of updating the metadata file; determining a time range of updating the metadata file, according to the information about the time of updating the metadata file by the server and the information indicated to the user equipment about the time length of updating the metadata file; selecting update time of the metadata file in the time range of updating the metadata file; and sending a request for updating the metadata file to the server according to the update time.

In another aspect, a method for updating a metadata file is provided, including: generating a metadata file corresponding to media presentation, where the metadata file includes information about time of updating the metadata file by a server and information indicated to a user equipment about a time length of updating the metadata file; and sending the metadata file to the user equipment if a message that requests the metadata file corresponding to the media presentation is received from the user equipment, where the user equipment determines update time of the metadata file according to the information about the time of updating the metadata file by the server and the information indicated to the user equipment about the time length of updating the metadata file.

In another aspect, a user equipment is provided, including:

a sending module, configured to send a message to a server on a network side to request a metadata file corresponding to media presentation;

a receiving module, configured to receive a metadata file returned by the server according to the message that requests the metadata file corresponding to the media presentation, where the metadata file includes information about time of updating the metadata file by the server and information indicated to a user equipment about a time length of updating the metadata file;

a determining module, configured to determine a time range of updating the metadata file, according to the information about the time of updating the metadata file by the server and the information indicated to the user equipment about the time length of updating the metadata file;

a selecting module, configured to select update time of the metadata file in the time range of updating the metadata file, where the time range is determined by the determining module; and

an updating module, configured to send a request for updating the metadata file to the server according to the update time selected by the selecting module.

In another aspect, a server is provided, including:

a generating module, configured to generate a metadata file corresponding to media presentation, where the metadata file includes information about time of updating the metadata file by a server and information indicated to a user equipment about a time length of updating the metadata file; and

a sending module, configured to send the metadata file to the user equipment if a message that requests the metadata file corresponding to the media presentation is received from the user equipment, where the user equipment determines update time of the metadata file according to the information about the time of updating the metadata file by the server and the information indicated to the user equipment about the time length of updating the metadata file.

In another aspect, a communication system is provided, including:

a server, configured to: generate a metadata file corresponding to media presentation, where the metadata file includes information about time of updating the metadata file by a server and information indicated to a user equipment about a time length of updating the metadata file; and send the metadata file to the user equipment if a message that requests the metadata file corresponding to the media presentation is received from the user equipment; and

the user equipment, configured to: send the message to the server to request the metadata file corresponding to the media presentation; receive a metadata file returned by the server; determine a time range of updating the metadata file, according to the information about the time of updating the metadata file by the server and the information indicated to the user equipment about the time length of updating the metadata file, where the two pieces of information is included in the metadata file; select update time of the metadata file in the time range of updating the metadata file; and send a request for updating the metadata file to the server according to the update time.

In the method, apparatus and system for updating the metadata file in the embodiments of the present invention, the information about the time of updating the metadata file by the server and the information indicated to the user equipment about the time length of updating the metadata file are added in the metadata file, so that the user equipment can accurately determine the time of updating the metadata file, according to the information about the time of updating the metadata file by the server and the information indicated to the user equipment about the time length of updating the metadata file; so as to solve the following problem that: Improper setting of the update period makes the user equipment fail to normally obtain a streaming service when the metadata file is updated periodically in the prior art.

DETAILED DESCRIPTION OF THE EMBODIMENTS

The technical solutions of embodiments of the present invention are described clearly and comprehensively with reference to the accompanying drawings of the embodiments of the present invention. Evidently, the embodiments to be described are merely some embodiments rather than all embodiments of the present invention. All other embodiments, which can be derived by those skilled in the art from the embodiments given herein without any creative effort, shall fall within the scope of the present invention.

To overcome incapability of the prior art in determining accurately update time of a metadata file, embodiments of the present invention provide a method, an apparatus, and a system for updating a metadata file.

As shown inFIG. 2, a method for updating a metadata file according to an embodiment of the present invention includes the following steps:

Step201: Send a message to a server on a network side to request a metadata file corresponding to media presentation.

In this embodiment, the server on the network side may be a streaming server, or a file server used for generating and storing a metadata file. In a practical application, the server on the network side may also be another server related to the metadata file.

Step202: Receive a metadata file returned by the server according to the message sent in step201, where the message is a request for the metadata file corresponding to the media presentation, and the metadata file includes information about duration of a part of described media presentation.

In this embodiment, the part of described media presentation may be all media presentation parts described by the metadata file received in step202and a metadata file that is corresponding to the media presentation and is received before the metadata file received in step202, or may be the media presentation described by the metadata file received in step202.

In this embodiment, the information about the duration of the part of described media presentation may be expressed by the end time of the part of described media presentation, or expressed by a difference between the end time of the part of described media presentation and the start time of entire media presentation, or expressed by a difference between the end time of the part of described media presentation and the start time of the metadata file received in step202. Definitely, in a practical application, the information about the duration of the part of described media presentation may be expressed in other modes, which are not detailed herein.

In this embodiment, when the method for updating the metadata file in this embodiment is applied under HTTP Streaming (HTTP Streaming) service protocol architecture of the Third-generation Partnership Project (3GPP), the metadata file is a media presentation description (Media Presentation Description, MPD) file; in other protocols, the metadata file may also be called a manifest file (manifest file).

Step203: Determine update time of the metadata file according to the information about the duration of the part of described media presentation.

Step204: According to the update time determined in step203, send, to the server, a request for updating the metadata file received in step202.

In the method for updating the metadata file according to the embodiment of the present invention, the time of updating the metadata file can be determined accurately according to the information that is included in the metadata file and is about the duration of the part of described media presentation, so as to solve the following problem that: Improper setting of the update period makes the user equipment fail to normally obtain a streaming service when the metadata file is updated periodically in the prior art.

As shown inFIG. 3, another embodiment of the present invention provides a method for updating a metadata file. The method includes the following steps:

Step301: Generate a metadata file corresponding to media presentation, where the metadata file includes information about duration of a part of described media presentation.

Step302: Send the metadata file to a UE if a message that requests the metadata file corresponding to the media presentation is received from the UE, where the UE determines update time of the metadata file according to the information about the duration of the part of described media presentation.

In the method for updating the metadata file according to the embodiment of the present invention, the information about the duration of the part of described media presentation is added in the metadata file, so that the UE can determine accurately the time of updating the metadata file, according to the information about the duration of the part of described media presentation, so as to solve the following problem that: Improper setting of the update period makes the user equipment fail to normally obtain a streaming service when the metadata file is updated periodically in the prior art.

To make persons skilled in the art better understand the technical solutions of the present invention, the following gives more details about the method for updating the metadata file provided in the embodiment of the present invention, by taking an example that the embodiment of the present invention is applied under a 3GPP protocol architecture.

As shown inFIG. 4, a method for updating a metadata file according to another embodiment of the present invention includes the following steps:

Step401: A server generates an MPD corresponding to media presentation, where the MPD includes information about duration of a part of described media presentation.

In this embodiment, the media presentation is a live program. The server generates two or more MPDs for the media presentation. Specifically, the server may generate two or more MPDs for the media presentation at the same interval of update time, or generate two or more MPDs for the media presentation at different intervals of update time.

In this embodiment, a case shown inFIG. 5is taken as an example. As shown inFIG. 5, the media presentation includes 10 media fragments (P1-P10), and the server generates three versions of the metadata file (MPD1, MPD2, and MPD3) for the media presentation at different intervals of update time. At the time of updating the metadata file, a next MPD replaces a previous MPD, namely, MPD(i) replaces MPD(i−1), where i=2 or 3. MPD1is used to describe P1-P5, MPD2is used to describe P5-P7, MPD3is used to describe P7-P10, and the interval of update time between MPD1and MPD2is T1(T1is duration from P1to P4), and the interval of update time between MPD2and MPD3is T2(T2is duration from P5to P6).

It should be noted that, in order to ensure continuity of media fragments described by the MPD, when the server generates MPDs for the media presentation, an overlap area (namely, overlap time) needs to be set between any two adjacent MPDs. As shown inFIG. 5, the overlap area between MPD1and MPD2is W1,u(W1,uis a duration area of P5), and the overlap area between MPD2and MPD3is W2,u(W2,uis a duration area of P7). Media fragments included in the overlap area may be described in an updated MPD explicitly. For example, as shown inFIG. 5, the description information of P5is carried in MPD2explicitly. Media fragments included in the overlap area may also be described in the updated MPD implicitly. For example, as shown inFIG. 5, the description information of P7is not carried in MPD3, and the description information of P7is obtained from MPD2.

In this embodiment, the part of described media presentation may be all media presentation parts described by a current MPD generated by the server and an MPD prior to the MPD. For example, as shown inFIG. 5, if MPD2is the MPD currently generated by the server, the part of described media presentation is P1-P7, and the part of described media presentation may also be a part of media presentation described by the current MPD generated by the server. For example, as shown inFIG. 5, if MPD2is the MPD currently generated by the server, the part of described media presentation is P5-P7.

In the embodiment, an example that the part of described media presentation is all media presentation parts described by the current MPD generated by the server and an MPD prior to the MPD is taken for illustration.

In the embodiment, the information about the duration of the part of described media presentation may be expressed by the end time of the part of described media presentation. The end time of the part of described media presentation may be expressed by Universe Time Coordinated UTC or time of the server. For example, as shown inFIG. 5, the duration of the part of described media presentation included in MPD1is t1,e, the duration of the part of described media presentation included in MPD2is t2,eand the duration of the part of described media presentation included in MPD3is t3,e.

The duration of the part of described media presentation may also be expressed by a difference between the end time of the part of described media presentation and the start time of entire media presentation. For example, as shown inFIG. 5, the duration of the part of described media presentation included in MPD1is t1,e−ts, the duration of the part of described media presentation included in MPD2is t2,e−tsand the duration of the part of described media presentation included in MPD3is t3,e−ts.

Definitely, in a practical application, the duration of the part of described media presentation may be expressed in other modes, which are not detailed herein.

It should be noted that if the end time of the part of described media presentation is expressed by the time of the server, a UE needs to set up a time synchronization relationship with the server beforehand.

Further, when the information about the duration of the part of described media presentation is expressed by the end time of the part of described media presentation, the information about the duration of the part of described media presentation is expressed by an endPresentationTimeDescribed field; when the information about the duration of the part of described media presentation is expressed by a difference between the end time of the part of described media presentation and the start time of the entire media presentation, the information about the duration of the part of described media presentation is expressed by a mediaPresentationDurationDescribed field.

Further, when the MPD is a last MPD corresponding to the media presentation, the information about the duration of the part of described media presentation may also be expressed by an endTimePresentation field.

Optionally, to enable the UE to more accurately determine the time of updating the MPD by the UE and to avoid a waste of network communication resources and information processing resources of the server due to repeated requests for the same MPD, the MPD in this embodiment may also include information about the time length of updating the MPD and/or information about a time interval of updating the MPD by the server.

The information about the time length of updating the MPD is used to indicate the time length of updating the MPD by the UE, so that the UE can determine, according to the information about the time length of updating the MPD, the time range of updating the MPD. The information about the time interval of updating the MPD by the server is used to indicate, to the UE, the time length of updating the MPD by the server, so that the UE determines, according to the information about the time interval of updating the MPD by the server, the time range of updating the MPD.

In this embodiment, the server may determine information about the time length of updating the MPD, according to overlap time between a current MPD and an MPD next to the current MPD. For example, as shown inFIG. 5, according to overlap area W1,u(W1,uis a duration area of P5) between MPD1and MPD2, the server may set the time length of updating the MPD to be any time length greater than 0 and less than or equal to W1,u, where the time length of updating the MPD is carried in MPD1.

Optionally, to enable the UE to determine in time whether a received MPD has described the entire media presentation completely and to save network communication resources occupied by the update of the MPD, the MPD may also include information indicating that the media presentation is completely described. The information indicating that the media presentation is completely described is used to indicate, to the UE, that the metadata file has described the media presentation completely, so that the UE stops sending a request for updating the metadata file.

Step402: When the UE needs to obtain an MPD corresponding to the media presentation, the UE sends a message to the server to request the MPD corresponding to the media presentation.

As shown inFIG. 5, the UE may send the message to the server at time t1,1or t2,1to request the MPD corresponding to the media presentation.

Step403: The server sends the MPD to the UE according to the received message that requests the MPD corresponding to the media presentation.

As shown inFIG. 5, if the server receives, at time t1,1, the message that requests the MPD corresponding to the media presentation and is sent by the UE, the server sends MPD1to the UE; if the server receives, at time t2,1, the message that requests the MPD corresponding to the media presentation and is sent by the UE, the server sends MPD2to the UE.

Step404: The UE determines the update time of the MPD according to the information about the duration of the part of described media presentation, where the information is included in the MPD.

In this embodiment, the UE may use the last time of updating the MPD and the time prior to the end time of the part of described media presentation as the update time of the MPD.

Further, if the MPD sent by the server to the UE in step403includes information about the time length of updating the current MPD, the UE may determine, according to the information about the time length of updating the current MPD and the information about the duration of the part of described media presentation, the time range of updating the current MPD and select update time of the current MPD randomly in the time range of updating the current MPD.

For example, as shown inFIG. 5, if the MPD sent by the server to the UE at time t1,1is MPD1, MPD1includes the information about the duration of the part of described media presentation and the information about the time length of updating MPD1. The information about the duration of the part of described media presentation is expressed by the end time of the part of described media presentation. The end time of the part of described media presentation is t1,e, and the information about the time length of updating MPD1is W1,u(W1,uis the duration of P5). In step404, the UE may determine the time range of updating MPD1as [t1,e-W1,u, t1,e] according to the information about the duration (t1,e) of the part of described media presentation and the information about the time length (W1,u) of updating MPD1. The UE may select a time point in [t1,e-W1,u, t1,e] randomly as the update time of MPD1.

Alternatively, if the MPD sent by the server to the UE in step403includes information about the time interval of updating the current MPD by the server, the UE may determine predicted update time of the current MPD according to the information about the time interval of updating the current MPD and the time of receiving the current MPD; determine the time range of updating the current MPD, according to the predicted update time of the current MPD and the information about the duration of the part of described media presentation; and select update time of the current MPD randomly in the time range of updating the current MPD.

For example, as shown inFIG. 5, the MPD sent by the server to the UE at time t1,1is MPD1, and MPD1includes the information about the duration of the part of described media presentation and the information about the time interval of updating MPD1by the server. The information about the duration of the part of described media presentation is expressed by the end time of the part of described media presentation. The end time of the part of described media presentation is t1,e, and the information about the time interval of updating MPD1by the server is T1(T1is duration of P1-P4). In step404, the UE may determine the predicted update time (t1,2=t1,1+T1) of MPD1according to the information about the time interval (T1) of updating MPD1by the server and the time (t1,1) of receiving MPD1by the UE. According to the predicted update time (t1,2=t1,1+T1) of MPD1and the information about the duration (t1,e) of the part of described media presentation, the UE determines the time range of updating MPD1as (t1,2, t1,e), and selects a time point in (t1,2, t1,e) randomly as the update time of MPD1.

Further, if the predicted update time of the current MPD, which is obtained through the foregoing method, is greater than the duration of the part of described media presentation of the current MPD, the UE selects a time point randomly in the preset time range of updating the MPD as update time of the current MPD. The preset time range of updating the MPD falls within the duration of the part of described media presentation of the current MPD.

For example, as shown inFIG. 5, the MPD sent by the server to the UE at time t2,1is MPD2, and MPD2includes the information about the duration of the part of described media presentation and the information about the time interval of updating MPD2by the server. The information about the duration of the part of described media presentation is expressed by the end time of the part of described media presentation. The end time of the part of described media presentation is t2,e, and the information about the time interval of updating MPD2by the server is T2(T2is duration of P5and P6). In step404, the UE may determine the predicted update time (t2,2=t2,1+T2) of MPD2according to the information about the time interval (T2) of updating MPD2by the server and the time (t2,1) of receiving MPD2by the UE. In this case, t2,2>t2,e,the UE selects a time point randomly in the preset time range [t2,x, t2,e] of updating MPD2as update time of MPD2.

Definitely, in a practical application, the UE may determine the update time of the MPD in other modes according to the information about the duration of the part of described media presentation, where the information is included in the MPD. Each of the modes is not detailed herein.

Step405: The UE updates the MPD according to the update time of the MPD determined in step404. The step includes: The UE sends a request for updating the MPD to the server upon arrival of the update time, where in this embodiment, the request for updating the MPD is a message for requesting the MPD corresponding to the media presentation; the UE receives the MPD returned by the server according to the request for updating the MPD, and uses the MPD to update the MPD stored by the UE.

Further, the method for updating the metadata file provided in this embodiment may further include: The UE judges whether the MPD has described the media presentation completely, and the UE stops sending the request for updating the MPD to the server if the MPD has described the media presentation completely.

In this embodiment, judging whether the MPD has described the media presentation completely refers to: judging whether the MPD includes description about all media fragments of the media presentation, or, if the MPD includes description about a part of media fragments of the media presentation, judging whether the description about the part of media fragments includes description about the last media fragment of the media presentation, where other part of media fragments of the media presentation have been described in an MPD prior to the MPD.

In this embodiment, the UE judging whether the MPD has described the media presentation completely includes two modes:

A first mode is: The UE judges whether information indicating that the media presentation has been described completely is included the received MPD. The UE judges, according to a judgment result, whether the MPD has described the media presentation completely, that is, when the information indicating that the media presentation has been described completely is included in the MPD, the UE judges that the MPD has described the media presentation completely; otherwise, the UE judges that the MPD has not described the media presentation completely.

In this embodiment, the information indicating that the media presentation has been described completely may be expressed by an endTimePresentation field. The endTimePresentation field is used to record duration of entire media presentation. The information indicating that the media presentation has been described completely may also be expressed by a flag bit. Definitely, in a practical application, the information indicating that the media presentation has been described completely may also be expressed through other means, which are not detailed herein.

A second mode is: The UE judges whether a message indicating that the media presentation has been described completely is received from the server. If the UE receives, from the server, the message indicating that the media presentation has been described completely, the UE judges that the media presentation has been described completely; otherwise, the media presentation has not been described completely.

In this embodiment, the UE may trigger the server to send a message indicating that the media presentation has been described completely, by sending a message to the server to request the MPD corresponding to the media presentation; or the UE may also trigger the server to send a message indicating that the media presentation has been described completely, by sending a query message to the server. Definitely, in a practical application, the UE may also use other means to trigger the server to send the message indicating that the media presentation has been described completely. The means are not detailed herein.

The embodiment of the present invention does not restrict the specific form of the message indicating that the media presentation has been described completely. In a practical application, the message indicating that the media presentation has been described completely may be an independent control signaling, or may also be a blank media data file, or may be in other forms, which are not detailed herein.

It should be noted that when the UE uses the first mode to judge whether the MPD has described the media presentation completely, the judging step is performed before step405shown inFIG. 4; when the UE uses the second mode to judge whether the MPD has described the media presentation completely, the judging step is performed after step405shown inFIG. 4.

Further, the method for updating the metadata file provided in the embodiment of the present invention may further include: The UE generates a media fragment list corresponding to the part of described media presentation according to the information that is about the duration of the part of described media presentation and is included in the MPD; and obtains a media fragment in the media fragment list.

In the embodiment, the step that, the UE generates the media fragment list corresponding to the part of described media presentation according to the information that is about the duration of the part of described media presentation and is included in the MPD, and obtains the media fragments in the media fragment list, specifically includes:

First, the UE determines index numbers 1-n of described media fragments according to the information that is about the duration of the part of described media presentation and is included in the MPD and information about duration of the media fragments, where n=int (the information about the duration of the part of described media presentation/the information about the duration of the media fragments), int (x) is a rounding function and represents a maximum integer not greater than x. In this embodiment, x is the information about the duration of the part of described media presentation/the information about the duration of the media fragments.

Then, the UE generates a uniform resource locator corresponding to the media fragments whose index numbers are 1-n, and generates a list of media fragments whose index numbers are 1-n according to the uniform resource locator.

Finally, the UE obtains a corresponding media fragment through the uniform resource locator according to the order of the index numbers.

In the method for updating the metadata file in this embodiment of the present invention, the information about the duration of the part of described media presentation is added in the MPD, so that the UE can determine accurately the time of updating the MPD, according to the information about the duration of the part of described media presentation, so as to solve the following problem that: The UE fails to normally obtain a streaming service when the MPD is updated periodically in the prior art.

As shown inFIG. 6, an embodiment of the present invention provides a user equipment, including:

a sending module601, configured to send a message to a server on a network side to request a metadata file corresponding to media presentation;

a receiving module602, configured to receive a metadata file returned by the server according to the message that requests the metadata file corresponding to the media presentation, where the metadata file includes information about duration of a part of described media presentation;

a determining unit603, configured to determine update time of the metadata file according to the information about the duration of the part of described media presentation, where the information is included in the metadata file received by the receiving module602; and

an updating module604, configured to send a request for updating the metadata file to the server according to the update time determined by the determining module603.

As shown inFIG. 7, the determining module603may further include:

a first determining submodule6031, configured to obtain, from the metadata file received by the receiving module602, information about a time length of updating the metadata file, and determine, according to the information about the time length of updating the metadata file and the information about the duration of the part of described media presentation, a time range of updating the metadata file; and

a first selecting submodule6032, configured to select update time of the metadata file in the time range of updating the metadata file, where the time range is determined by the first determining submodule6031.

As shown inFIG. 7, the determining module603may further include:

a second determining submodule6033, configured to obtain, from the metadata file received by the receiving module602, information about a time interval of updating the metadata file by the server, and determine predicted update time of the metadata file according to the information about the time interval of updating the metadata file and time of currently receiving the metadata file;

a third determining submodule6034, configured to determine a time range of updating the metadata file, according to the predicted update time of the metadata file and the information about the duration of the part of described media presentation, where the predicted update time is determined by the second determining submodule6033; and

a second obtaining submodule6035, configured to select update time of the metadata file in the time range of updating the metadata file, where the time range is determined by the third determining submodule6034.

As shown inFIG. 7, the determining module603may further include:

a third selecting submodule6036, configured to: select update time of the metadata file in a preset time range of updating the metadata file if the predicted update time of the metadata file, which is determined by the second determining submodule6034, is greater than the duration of the part of described media presentation, where the preset time range of updating the metadata file falls within the duration of the part of described media presentation.

As shown inFIG. 8, the user equipment provided in this embodiment may further include:

a judging module605, configured to judge whether the metadata file received by the receiving module602has described the media presentation completely; and

a control module606, configured to control the updating module604to stop sending the request for updating the metadata file to the server if the judging module605determines that the metadata file has described the media presentation completely.

Specifically, the judging module605is further configured to judge that the metadata file has described the media presentation completely if the metadata file includes information indicating that the media presentation has been described completely.

As shown inFIG. 9, the user equipment provided in this embodiment may further include:

a generating module607, configured to generate a media fragment list corresponding to the part of described media presentation according to the information about the duration of the part of described media presentation; and

an obtaining module608, configured to obtain a media fragment in the media fragment list generated by the generating module607.

For the detailed implementation method of the user equipment provided in the embodiment of the present invention, reference can be made to relevant description about the method for updating the metadata file according to the embodiment of the present invention shown inFIG. 2toFIG. 5.

It should be noted that in a practical application, multiple modules of the user equipment according to the embodiment of the present invention shown inFIG. 6toFIG. 9may also be implemented by one module or functional unit with functions similar to functions of the multiple modules, which is not detailed herein.

Through the user equipment according to the embodiment of the present invention, the time of updating the metadata file can be determined accurately according to the information that is included in the metadata file and is about the duration of the part of described media presentation, so as to solve the following problem that: Improper setting of the update period makes the user equipment fail to normally obtain a streaming service when the metadata file is updated periodically in the prior art.

As shown inFIG. 10, an embodiment of the present invention provides a server, including:

a generating module1001, configured to generate a metadata file corresponding to media presentation, where the metadata file includes information about duration of a part of described media presentation; and

a sending module1002, configured to send the metadata file generated by the generating module to a user equipment if a message that requests the metadata file corresponding to the media presentation is received from the user equipment, where the user equipment determines update time of the metadata file according to the information about the duration of the part of described media presentation.

For the detailed implementation method of the server provided in the embodiment of the present invention, reference can be made to relevant description about the method for updating the metadata file according to the embodiment of the present invention shown inFIG. 2toFIG. 5, which is not detailed herein.

It should be noted that in a practical application, multiple modules of the server provided in the embodiment of the present invention shown inFIG. 10may also be implemented by one module or functional unit with functions similar to functions of the multiple modules, which is not detailed herein.

Through the server provided in the embodiment of the present invention, the information about the duration of the part of described media presentation is added in the metadata file, so that the UE can accurately determine the time of updating the metadata file, according to the information about the duration of the part of described media presentation, so as to solve the following problem that: improper setting of the update period makes the user equipment fail to normally obtain a streaming service when the metadata file is updated periodically in the prior art.

As shown inFIG. 11, an embodiment of the present invention provides a communication system, including:

a server1101, configured to: generate a metadata file corresponding to media presentation, where the metadata file includes information about duration of a part of described media presentation; send the metadata file to a user equipment1102if a message that requests the metadata file corresponding to the media presentation is received from the user equipment1102; and

the user equipment1102, configured to: send the message to the server to request the metadata file corresponding to the media presentation; receive a metadata file returned by the server1101; determine update time of the metadata file according to the information about the duration of the part of described media presentation, where the information is included in the metadata file; and send a request for updating the metadata file to the server according to the update time.

For the detailed implementation method of the communication system provided in the embodiment of the present invention, reference can be made to relevant description about the method and apparatus for updating the metadata file according to the embodiments of the present invention shown inFIG. 2toFIG. 10.

Through the communication system provided in the embodiment of the present invention, the server adds the information about the duration of the part of described media presentation in the metadata file, so that the UE can accurately determine the time of updating the metadata file, according to the information about the duration of the part of described media presentation, so as to solve the following problem that: The user equipment fail to normally obtain a streaming service when the metadata file is updated periodically in the prior art.

To overcome incapability of the prior art in determining accurately the update time of the metadata file, embodiments of the present invention further provide a method, an apparatus, and a system for updating a metadata file.

As shown inFIG. 12, a method for updating a metadata file in an embodiment of the present invention includes the following steps:

Step1201: Send a message to a server on a network side to request a metadata file corresponding to media presentation.

In this embodiment, when the method for updating the metadata file in the embodiment of the present invention is applied under an HTTP Streaming protocol architecture of the 3GPP, the metadata file is a media presentation description (Media Presentation Description, MPD) file; in other protocols, the metadata file may also be called a manifest file (manifest file).

Step1202: Receive a metadata file returned by the server according to the message that requests the metadata file corresponding to the media presentation, where the metadata file includes information about time of updating the metadata file by the server and information indicated to a user equipment about the time length of updating the metadata file.

Step1203: Determine a time range of updating the metadata file, according to the information about the time of updating the metadata file by the server and the information indicated to the user equipment about the time length of updating the metadata file.

Step1204: Select update time of the metadata file in the time range of updating the metadata file, where the time range is obtained in step1203.

Step1205: According to the update time selected in step1204, send a request for updating the metadata file to the server.

In the method for updating the metadata file according to the embodiment of the present invention, the information about the time of updating the metadata file by the server and the information indicated to the UE about the time length of updating the metadata file are added in the metadata file, so that the UE can accurately determine the time of updating the metadata file, according to the information about the time of updating the metadata file by the server and the information indicated to the UE about the time length of updating the metadata file, so as to solve the following problem that: improper setting of the update period makes the user equipment fail to normally obtain a streaming service when the metadata file is updated periodically in the prior art.

As shown inFIG. 13, another embodiment of the present invention provides a method for updating a metadata file. The method includes the following steps:

Step1301: Generate a metadata file corresponding to media presentation, where the metadata file includes information about time of updating the metadata file by a server and information indicated to a UE about the time length of updating the metadata file.

Step1302: Send the metadata file to a UE if a message that requests the metadata file corresponding to the media presentation is received from the UE, where the UE determines update time of the metadata file according to the information about the time of updating the metadata file by the server and the information indicated to the UE about the time length of updating the metadata file.

In the method for updating the metadata file according to the embodiment of the present invention, the information about the time of updating the metadata file by the server and the information indicated to the UE about the time length of updating the metadata file are added in the metadata file, so that the UE can determine accurately the time of updating the metadata file, according to the information about the time of updating the metadata file by the server and the information indicated to the UE about the time length of updating the metadata file, so as to solve the following problem that: improper setting of the update period makes the user equipment fail to normally obtain a streaming service when the metadata file is updated periodically in the prior art.

As shown inFIG. 14, another embodiment of the present invention provides a method for updating a metadata file. The method includes the following steps:

Step1401: A server generates a metadata file corresponding to media presentation, where the metadata file includes information about reference time of updating the metadata file and information indicated to a UE about a time length of updating the metadata file.

In this embodiment, the information about the reference time of updating the metadata file may be information about time of updating the metadata file by the server, or information about duration of a part of described media presentation.

Further, when the information about the reference time of updating the metadata file is the information about the duration of the part of described media presentation, the information about the duration of the part of described media presentation may be all media presentation parts described by a current metadata file generated by the server and a metadata file prior to the current metadata file, or may be a part of media presentation described by a current metadata file generated by the server.

Further, when the information about the reference time of updating the metadata file is the information about the duration of the part of described media presentation, the information about the duration of the part of described media presentation may be expressed by end time of the part of described media presentation. The end time of the part of described media presentation may be expressed by Universe Time Coordinated UTC or time of the server. The duration of the part of described media presentation may also be expressed by a difference between the end time of the part of described media presentation and start time of entire media presentation, or expressed by a difference between the end time of the part of described media presentation and start time of generating the current metadata file by the server. Definitely, in a practical application, the information about the duration of the part of described media presentation may also be expressed in other modes, which are not detailed herein.

It should be noted that if the end time of the part of described media presentation is expressed by the time of the server, the UE needs to set up a time synchronization relationship with the server beforehand.

Further, when the information about the duration of the part of described media presentation is expressed by the end time of the part of described media presentation, the information about the duration of the part of described media presentation is expressed by an endPresentationTimeDescribed field; when the information about the duration of the part of described media presentation is expressed by a difference between the end time of the part of described media presentation and the start time of the entire media presentation, the information about the duration of the part of described media presentation is expressed by a mediaPresentationDurationDescribed field.

Further, when the metadata file is a last metadata file corresponding to the media presentation, the information about the duration of the part of described media presentation may also be expressed by an endTimePresentation field.

Optionally, when the information about the reference time of updating the metadata file is the information about the duration of the part of described media presentation, to enable the UE to judge in time whether the received metadata file has described the entire media presentation completely and to save network communication resources occupied by the update of the metadata file, the metadata file may further include information indicating that the media presentation has been described completely. The information indicating that the media presentation has been described completely is used to indicate, to the UE, that the metadata file has described the media presentation completely, so that the UE stops sending the request for updating the metadata file.

In this embodiment, the server may determine the information indicated to the UE about the time length of updating the metadata file, according to overlap time between a current metadata file and a metadata file next to the current metadata file. The information indicated to the UE about the time length of updating the metadata file is greater than 0 and less than or equal to the overlap time between the current metadata file and the metadata file next to the current metadata file.

Step1402: When the UE needs to obtain the metadata file corresponding to the media presentation, the UE sends a message to the server to request the metadata file corresponding to the media presentation.

Step1403: The server sends the metadata file to the UE according to the received message that requests the metadata file corresponding to the media presentation.

Step1404: The UE determines a time range of updating the metadata file, according to the information about the reference time of updating the metadata file and the information indicated to the UE about the time length of updating the metadata file, where the two pieces of information is carried in the metadata file.

In this embodiment, when the information about the reference time of updating the metadata file is the information about the time of updating the metadata file by the server, the time range of updating the metadata file, which is determined by the UE according to the information about the time of updating the metadata file by the server and the information indicated to the UE about the time length of updating the metadata file, is: the start time of updating the metadata file by the server to “the start time of updating the metadata file by the server+the time length of updating the metadata file by the UE”.

When the information about the reference time of updating the metadata file is the information about the duration of the part of described media presentation, and the information about the duration of the part of described media presentation is expressed by the end time of the part of described media presentation, the time range of updating the metadata file, which is determined by the UE according to the information about the time of updating the metadata file by the server and the information indicated to the UE about the time length of updating the metadata file, is: “the end time of the part of described media presentation−the time length of updating the metadata file by the UE” to the end time of the part of described media presentation.

Step1405: The UE selects update time of the metadata file in the time range of updating the metadata file, where the time range is determined in step1404.

Step1406: The UE updates the metadata file according to the update time of the metadata file determined in step1405. The update include: Upon arrival of the update time, the UE sends a request for updating the metadata file to the server, where in this embodiment, the request for updating the metadata file is a message for requesting the metadata file corresponding to the media presentation; the UE receives a metadata file returned by the server according to the request for updating the metadata file, and uses the metadata file to update the metadata file stored by the UE.

Further, the method for updating the metadata file provided in this embodiment may further include: The UE judges whether the metadata file has described the media presentation completely, and stops sending the request for updating the metadata file to the server if the metadata file has described the media presentation completely.

In this embodiment, the UE judging whether the metadata file has described the media presentation completely includes two modes:

A first mode is: The UE judges whether the received metadata file includes information indicating that the media presentation has been described completely, and judges, according to a judgment result, whether the metadata file has described the media presentation completely, that is, if the metadata file includes the information indicating that the media presentation has been described completely, the UE judges that the metadata file has described the media presentation completely; otherwise, the UE judges that the metadata file has not described the media presentation completely.

In this embodiment, the information indicating that the media presentation has been described completely may be expressed by an endTimePresentation field. The endTimePresentation field is used to record duration of entire media presentation. The information indicating that the media presentation has been described completely may also be expressed by a flag bit. Definitely, in a practical application, the information indicating that the media presentation has been described completely may be expressed in other modes, and each mode is not detailed herein.

A second mode is: The UE judges whether a message indicating that the media presentation has been described completely is received from the server. If the UE receives, from the server, the message indicating that the media presentation has been described completely, the UE judges that the media presentation has been described completely; otherwise, the media presentation has not been described completely.

In this embodiment, the UE may trigger the server to send the message indicating that the media presentation has been described completely, by sending the message to the server to request the metadata file corresponding to the media presentation, or trigger the server to send the message indicating that the media presentation has been described completely, by sending a query message to the server. Definitely, in a practical application, the UE may use other means to trigger the server to send the message indicating that the media presentation has been described completely. The means are not detailed herein.

The embodiment of the present invention does not restrict the form of the message indicating that the media presentation has been described completely. In a practical application, the message indicating that the media presentation has been described completely may be an independent control signaling, or a blank media data file, or may be in other forms, which are not detailed herein.

Further, the method for updating the metadata file provided in the embodiment of the present invention may further include: The UE generates a media fragment list according to information that is included in the metadata file and is about reference time of updating the metadata file, and obtains a media fragment in the media fragment list.

In this embodiment, the step that, the UE generates the media fragment list according to the information that is included in the metadata file and is about the reference time of updating the metadata file, and obtains the media fragments in the list of media fragments, specifically includes:

First, the UE determines index numbers 1-n of media fragments according to the information about the reference time of updating the metadata file and information about duration of the media fragments, where the two pieces of information is included in the metadata file.

In this embodiment, when the information about the reference time of updating the metadata file is the information about the time of updating the metadata file by the server, n=int ((information about time of updating the metadata file by the server+information that is indicated to the UE and is about a time length of updating the metadata file−start time of the entire media presentation)/information about duration of a media fragment), where int (x) is a rounding function and represents a maximum integer not greater than x, and in this embodiment, x is (information about time of updating the metadata file by the server+information that is indicated to the UE and is about a time length of updating the metadata file−start time of the entire media presentation)/information about duration of a media fragment. When the information about the reference time of updating the metadata file is the information about the duration of the part of described media presentation, n=int (the information about the duration of the part of described media presentation/the information about the duration of the media fragment), where int (x) is a rounding function, and + represents a maximum integer not greater than x, and in this embodiment, x is the information about the duration of the part of described media presentation/the information about the duration of the media fragment.

Then, the UE generates a uniform resource locator corresponding to media fragments whose index numbers are 1-n, and generates a list of media fragments whose index numbers are 1-n according to the uniform resource locator.

Finally, the UE obtains a corresponding media fragment through the uniform resource locator according to the order of the index numbers.

In the method for updating the metadata file according to the embodiment of the present invention, the information about the time of updating the metadata file by the server and the information indicated to the UE about the time length of updating the metadata file are added in the metadata file, so that the UE can determine accurately the time of updating the metadata file, according to the information about the time of updating the metadata file by the server and the information indicated to the UE about the time length of updating the metadata file, so as to solve the following problem that: improper setting of the update period makes the user equipment fail to normally obtain a streaming service when the metadata file is updated periodically in the prior art.

As shown inFIG. 15, an embodiment of the present invention provides a user equipment, including:

a sending module1501, configured to send a message to a server on a network side to request a metadata file corresponding to media presentation;

a receiving module1502, configured to receive a metadata file returned by the server according to the message that requests the metadata file corresponding to the media presentation, where the metadata file includes information about time of updating the metadata file by the server and information indicated to a user equipment about a time length of updating the metadata file;

a determining module1503, configured to determine a time range of updating the metadata file, according to the information about the time of updating the metadata file by the server and the information indicated to the user equipment about the time length of updating the metadata file;

a selecting module1504, configured to select update time of the metadata file in the time range of updating the metadata file, where the time range is determined by the determining module1503; and an updating module1505, configured to send a request for updating the metadata file to the server according to the update time selected by the selecting module1504.

For the detailed implementation method of the user equipment provided in the embodiment of the present invention, reference can be made to relevant description about the method for updating the metadata file according to the embodiments of the present invention shown inFIG. 12toFIG. 14.

It should be noted that in a practical application, multiple modules of the user equipment provided in the embodiment of the present invention shown inFIG. 15may also be implemented by one module or functional unit with functions similar to functions of the multiple modules, which is not detailed herein.

Through the user equipment provided in the embodiment of the present invention, the time of updating the metadata file can be determined accurately according to the information about the time of updating the metadata file by the server and the information indicated to the UE about the time length of updating the metadata file, where the two pieces of information is included in the metadata file, so as to solve the following problem: Improper setting of the update period makes the user equipment fail to normally obtain a streaming service when the metadata file is updated periodically in the prior art.

An embodiment of the present invention provides a server, including:

a generating module, configured to generate a metadata file corresponding to media presentation, where the metadata file includes information about time of updating the metadata file by a server and information indicated to a user equipment about a time length of updating the metadata file; and

a sending module, configured to send the metadata file to the user equipment if a message that requests the metadata file corresponding to the media presentation is received from the user equipment, where the user equipment determines update time of the metadata file according to the information about the time of updating the metadata file by the server and the information indicated to the user equipment about the time length of updating the metadata file.

For the detailed implementation method of the server provided in the embodiment of the present invention, reference can be made to relevant description about the method for updating the metadata file according to the embodiments of the present invention shown inFIG. 12toFIG. 14.

It should be noted that in a practical application, multiple modules of the server provided in the embodiment of the present invention may also be implemented by one module or functional unit with functions similar to functions of the multiple modules, which is not detailed herein.

Through the server provided in the embodiment of the present invention, the information about the time of updating the metadata file by the server and the information indicated to the UE about the time length of updating the metadata file are added in the metadata file, so that the UE can determine accurately the time of updating the metadata file, according to the information about the time of updating the metadata file by the server and the information indicated to the UE about the time length of updating the metadata file, so as to solve the following problem that: Improper setting of the update period makes the user equipment fail to normally obtain a streaming service when the metadata file is updated periodically in the prior art.

An embodiment of the present invention further provides a communication system, including:

a server, configured to: generate a metadata file corresponding to media presentation, where the metadata file includes information about time of updating the metadata file by a server and information indicated to a user equipment about a time length of updating the metadata file; and send the metadata file to the user equipment if a message that requests the metadata file corresponding to the media presentation is received from the user equipment; and

the user equipment, configured to: send the message to the server to request the metadata file corresponding to the media presentation; receive a metadata file returned by the server; determine a time range of updating the metadata file, according to the information about the time of updating the metadata file by the server and the information indicated to the user equipment about the time length of updating the metadata file, where the two pieces of information is included in the metadata file; select update time of the metadata file in the time range of updating the metadata file; and send a request for updating the metadata file to the server according to the update time.

For the detailed implementation method of the communication system provided in the embodiment of the present invention, reference can be made to relevant description about the method for updating the metadata file according to the embodiments of the present invention shown inFIG. 12toFIG. 14.

Through the communication system provided in the embodiment of the present invention, the server adds the information about the time of updating the metadata file by the server and the information indicated to the UE about the time length of updating the metadata file in the metadata file, so that the UE can determine accurately the time of updating the metadata file, according to the information about the time of updating the metadata file by the server and the information indicated to the UE about the time length of updating the metadata file, so as to solve the following problem that: Improper setting of the update period makes the user equipment fail to normally obtain a streaming service when the metadata file is updated periodically in the prior art.

The method, the apparatus, and the system for updating the metadata file in the embodiments of the present invention are applicable in an HTTP-based streaming service system.

The method or algorithm steps described in the embodiments disclosed herein may be implemented through hardware directly or through a software module executed by a processor, or through both of the hardware and the software module. The software module may be set in a random access memory (RAM), memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, register, hard disk, removable disk, CD-ROM, or any other form of storage media well-known in the art.

The above description is merely exemplary embodiments of the present invention, but not intended to limit the protection scope of the present invention. Any modification, variation or replacement that can be easily derived by those skilled in the art without departing from the technical scope disclosed by the present invention shall fall within the protection scope of the present invention. Therefore, the protection scope of the present invention is subject to the appended claims.