[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO2009043291A1 - A method, a system and a stratrgy and control server for implementing stream media service - Google Patents

A method, a system and a stratrgy and control server for implementing stream media service Download PDF

Info

Publication number
WO2009043291A1
WO2009043291A1 PCT/CN2008/072523 CN2008072523W WO2009043291A1 WO 2009043291 A1 WO2009043291 A1 WO 2009043291A1 CN 2008072523 W CN2008072523 W CN 2008072523W WO 2009043291 A1 WO2009043291 A1 WO 2009043291A1
Authority
WO
WIPO (PCT)
Prior art keywords
streaming
server
stream
media data
data file
Prior art date
Application number
PCT/CN2008/072523
Other languages
French (fr)
Chinese (zh)
Inventor
Zhong Luo
Original Assignee
Huawei Technologies Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co., Ltd. filed Critical Huawei Technologies Co., Ltd.
Publication of WO2009043291A1 publication Critical patent/WO2009043291A1/en

Links

Classifications

    • 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/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/23805Controlling the feeding rate to the network, e.g. by controlling the video pump
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2405Monitoring of the internal components or processes of the server, e.g. server load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • 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/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • 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/64Addressing
    • H04N21/6405Multicasting

Definitions

  • the present invention relates to the field of network communication technologies, and specifically relates to a streaming media service implementation method, system, and policy and control server. Background of the invention
  • the streaming media transmits the multimedia data to the user terminal in a "stream" manner through the network, and the user terminal can receive the multimedia data, decode the multimedia data and other necessary processing, and play the same.
  • the multimedia data here includes: video, audio, still images, animations, text, and more.
  • the network here is like an IP network.
  • networking for streaming media services.
  • various networking forms include some basic elements.
  • the following is a schematic diagram of the streaming media service networking shown in Figure 1 and the unicast shown in Figure 2.
  • the multicast diagram illustrates the basic elements of the streaming media service networking.
  • Streaming server and storage device Multiple storage devices can form a storage array.
  • the streaming media content data is stored as a file on the storage device.
  • the streaming server reads the file from the storage device and sends it as a media stream.
  • each media stream sent by the streaming server corresponds to one user terminal.
  • the media stream sent by the streaming server can be called a unicast stream.
  • each media stream sent by the stream server corresponds to multiple user terminals, that is, when multiple user terminals need to receive the same media stream, the media stream sent by the stream server reaches the backbone network.
  • the media stream is copied and sent to different user terminals by the stream replication node device, such as a DSLAM, or a router, or a BRAS device.
  • the media stream sent by the stream server may be referred to as a multicast stream.
  • the media stream sent by the replication node device may be referred to as a unicast stream.
  • the streaming server in Figure 1 can be referred to as a central streaming server.
  • Edge stream server and storage device For a large-scale streaming media system, multiple edge streaming servers are deployed at the edge of the backbone network, and the edge streaming server provides the nearest service to the user terminal. The edge stream server reads the file from its corresponding storage device and sends it as a media stream.
  • the portal server provides a series of services such as content query, on-demand, and request for the user terminal.
  • the real business logic is executed by the background management server (group).
  • the portal server also provides an interface function for authenticating, authenticating, etc. of the user terminal, that is, the portal server obtains data required for authentication and authentication by interacting with the user terminal, and transmits the obtained data to the management server (group).
  • the authentication and authentication of the user terminal is completed by the management server (group).
  • the portal server is equivalent to the foreground of the streaming service.
  • a management server (group) can be a server group composed of multiple management servers.
  • the functions provided by the management server (group) include: user management, authentication and authentication, network management, business logic control, billing management, and so on.
  • the policy and control server controls and manages the flow server. Policy and Control Servers You can control multiple stream servers simultaneously, including the Central Streaming Server and the Edge Streaming Server.
  • the control policy is sent to the streaming server through the communication interface protocol between the server and the streaming server, and the actual situation data of the policy execution is obtained from the streaming server.
  • the functional entities described above are actually logical entities and do not represent specific Physical device. In practical applications, multiple logical functional entities can be implemented by one physical device. For example, in extreme cases, all servers except the edge streaming server can be implemented by one physical server.
  • the policy and control server adopts extensive control when formulating control policies for the streaming server. For example, when the network condition deteriorates, the streaming server or the policy and control server adjusts the encoding bit rate or frame rate of the media stream data file based on the empirical value.
  • the current extensive control approach does not provide streaming services for the optimal user experience. Summary of the invention
  • the embodiment of the invention provides a streaming media service implementation method, system and policy and control server, which improves the user experience of the streaming media service.
  • An embodiment of the present invention provides a method for implementing a streaming media service, including:
  • the mathematical optimization problem is established according to the user experience quantitative model of the streaming media, and the solution is solved to determine various parameters in the user experience quantitative model;
  • the streaming server reads the streaming media data file according to the control policy, and sends a media stream to the user terminal according to the read streaming media data file to provide a streaming media service for the user.
  • An embodiment of the present invention further provides a streaming media service implementation system, where the system includes:
  • a storage device configured to store a streaming media data file
  • a strategy and control server configured to solve a mathematical optimization problem established according to a quantitative model of the user experience of the streaming media, to determine a parameter in the user experience quantitative model, and set a control policy according to the parameter, and the control strategy is Transfer to the streaming server;
  • a stream server configured to read the streaming media data file from the storage device according to the received control policy, and send the media stream to the user terminal according to the read streaming media data file.
  • An embodiment of the present invention further provides a policy and control server, including:
  • Storage module used to store mathematical optimization problems established according to a user experience quantitative model of streaming media
  • Solving module used to solve the mathematical optimization problem stored in the storage module to determine various parameters in the user experience quantitative model
  • the transmission module is configured to set a control strategy according to each parameter in the user experience quantitative model obtained by solving the mathematical optimization problem by the solution module, and transmit the control strategy to the stream server.
  • the embodiment of the present invention implements a streaming media service based on a user experience quantitative model. Therefore, the embodiment of the present invention can provide an optimal user experience for a user terminal.
  • the service implementation method is independent of the specific manifestation of the user experience quantitative model. Therefore, the embodiment of the present invention can be applied to various user experience quantitative models that appear at present and in the future, and is a technical solution for implementing streaming media services that can be widely applied.
  • 1 is a schematic diagram of a prior art streaming media service networking
  • 2 is a schematic diagram of unicast and multicast in the prior art
  • Figure 3 is a schematic diagram showing the principle of obtaining a packet loss rate
  • Figure 4 is a schematic diagram showing the relationship between fecc and packet loss rate, and protection strength parameters
  • Figure 5 is a schematic diagram of the working principle of error correction coding
  • FIG. 6 is a schematic diagram of a process of a flow server execution policy and control server according to an embodiment of the present invention.
  • FIG. 7 is a schematic diagram of a correspondence between a media stream and a user terminal according to an embodiment of the present invention. Mode for carrying out the invention
  • control strategy provided by the policy and control server for the streaming server may include various strategies in various aspects, such as:
  • Video stream policy management What parameters are provided for each video stream, such as encoding protocol, image size, frame rate, etc.
  • the policy and control server in embodiments of the present invention can provide an optimized QoE policy for the streaming server.
  • the policy and control server determines the QoE policy based on the user experience quantitative model.
  • the QoE strategy here includes variables such as: 1. Maximum allowable bandwidth of each media stream; 2.
  • Embodiments of the present invention determine the variables in the QoE strategy by mathematically optimizing the problem of user experience quantitative model conversion.
  • the user experience quantitative model refers to: a functional relationship that associates the streaming media user experience quantized value with the media stream's various attribute parameters.
  • the independent variable of the function relationship is the attribute parameter of the media stream
  • the value of the function relationship is the quantified value of the streaming media user experience.
  • various attribute parameters herein include but are not limited to: bit rate, frame rate, compression coding protocol, image format, key frame interval, error correction coding type, protection strength parameter; for audio streaming service Said, the various attribute parameters here include but are not limited to: bit rate, compression coding protocol, error correction coding type, protection strength parameter.
  • the embodiment of the present invention proposes a general streaming media service implementation framework based on the user experience quantitative model.
  • the universal streaming media service implementation framework can be applied to various current user experience quantitative models, and can also be applied to later. User experience quantitative model.
  • the embodiment of the present invention can provide an optimal user experience for the user through this universal streaming service implementation framework.
  • the user experience quantitative model can be a quantitative model for the video user experience, or a quantitative model for the audio user experience; when a user terminal receives both the video stream and the audio stream, the user experience quantitative model can also be a quantitative model for the user experience including video and audio. Type.
  • the video user experience quantitative model and the audio user experience quantitative model in the embodiments of the present invention are respectively described below by taking several specific user experience quantitative models as an example.
  • Vbr is the video bit rate, such as 128 kbps, 384 kbps, etc., and the unit of vbr is bit/second or kilobit/second.
  • Fr is the frame rate
  • the unit of fr is fps (frames/second), such as 15fps, 30 ⁇ ⁇ .
  • the highest frame rate is vcp for the video compression protocol (optional).
  • compression coding protocols such as international standards H.261, H.263/H.263+/H.263++, H.264, MPEG-2, MPEG-4, Chinese Standard A VS, and proprietary protocols such as MSVC1 and so on.
  • Pf is the picture format.
  • the image format determines the size of the image.
  • the image formats are CIF, QCIF, SQCIF, 4CIF, VGA, XGA, Dl, 1080i, etc.
  • Kfi is the key frame interval, represented by the number of non-keyframes separated by two consecutive keyframes.
  • Ecct is an error correction code type (or error control code type).
  • Eccp is the error correction coding parameter (error correction/control code parameters).
  • the video user experience quantitative model QEV can be further expressed as:
  • fcp(vbr, fr, vcp, pf, kfi) can be expressed as follows:
  • the video user experience quantitative model shown in the above formulas (3), (4), (5), (6), and (7) is merely a specific example exemplified for describing the embodiment of the present invention. Because the embodiment of the present invention is independent of the specific manifestation of the user experience quantitative model, the embodiments of the present invention can be applied to other various user experience quantitative models that exist at present, and can also be applied to various user experience quantitative models that may appear in the future. .
  • the video bit rate vbr is not continuously changed.
  • FGS Full Granularity Scalability
  • vbr is not continuously changed.
  • Fr, vcp, pf, and kfi are non-continuously variable in nature and are discrete variables. Therefore, the five variables involved in fcp(br, fr, cp, pf, kfi) can be discretized, and can be represented by the typical values commonly used by each variable.
  • discrete values such as 128bkps, 256bkps, 384kbps, 512kbps, 768kbps, 1024kbps, 1536kbps, 1920kbps, 2048kbps, etc. can be considered. It can be seen that fcp(vbr, fr, vcp, pf, kfi) can be represented by a 5-dimensional discrete table.
  • RS Random-Solomon Code
  • BCH Fountain Code
  • Tornado Code Raptor Code
  • K K parameters to describe the protection strength.
  • the packet loss rate is a key data
  • the packet loss rate is an external variable that is uncontrollable by the streaming server.
  • the variable packet loss rate needs to be used in the control strategy provided for the streaming server. Therefore, the packet loss rate must be obtained in the embodiment of the present invention.
  • the principle of obtaining the packet loss rate is shown in Figure 3.
  • the user terminal is a receiving end of the media stream, and the user terminal collects the number of lost packets and the total number of packets in a period of time, thereby obtaining an average packet loss rate during the period of time, and then, the user terminal passes the QoS reporting mechanism.
  • the average packet loss rate is reported to the streaming server through the RTCP (Real-time Control Protocol) packet.
  • the flow server reports the average packet loss rate reported by the user terminal to the policy and control server, and the policy and control server obtains the packet loss rate of the user terminal.
  • fecc( e cct, eccp) can be represented by a multidimensional table at different end-to-end packet loss rates. If the packet loss rate and the error correction coding type are also considered as dimensions, a K+2-dimensional table may be used to represent fecc(ecct, eccp), where K is the number of parameters describing eccp.
  • Figure 4 shows the relationship between fecc and packet loss rate, and two parameters of the protection strength parameter.
  • the fecc(ecct, eccp) shown in Fig. 4 is a two-dimensional table, in which eccpl and eccp2 are two parameters describing the strength of protection.
  • the streaming server reads video or audio data, video and audio data from a video or audio file in the storage device. It can be stored in different files, or it can be stored in a common container file, such as AVI (Audio Video Interleaved) files.
  • An AVI file can contain multiple video and audio streams at the same time.
  • the streaming server can encode the multimedia stream through the error correction coding link as needed, and then package the video stream and the audio stream into a packet stream through the packet transmission link, and finally, send the packet stream to the network.
  • a bit rate multiplication factor kpac(br, cp, pacp) can be determined, where the variable pacp Indicates the packetization protocol. Since this extra overhead is generally negligible, the embodiment of the present invention can ignore this scale factor and consider kpac(br, cp, pacp) to be equal to one.
  • Abr is the audio bit rate, such as 32kbps, 48kbps, 64kbps, 192kbps, etc., the unit of abr is bit
  • Acp is an audio compression coding protocol.
  • compression coding protocols There are various compression coding protocols currently available, such as ITU-T G.711, G.722, G.723.K G.728, G.729, G. .729.K MPEG AAC, MP3 and IETF iLBC (Internet Low-BitRate Codec) and so on.
  • Ecct is an error correction code type (or error control code type).
  • Eccp is the error correction coding parameter (error correction/control code parameters).
  • the audio user experience quantitative model QEA can be further expressed as:
  • the audio user experience quantitative model adopted by the embodiment of the present invention mainly relies on two variables of the audio compression coding protocol acp and the bit rate abr.
  • the different values of acp correspond to different audio compression coding protocols.
  • Many current audio compression coding protocols support multiple bit rates, such as 32 kbps, 48 kbps, 64 kbps, 192 kbps, and the like.
  • the audio stream improves user experience by using error correction coding.
  • gecc(ecct, eccp) is similar to video fecc(ecct, eccp) and can also be represented by a multidimensional discrete table.
  • Gecc (ecct, eccp) also depends mainly on the packet loss rate.
  • the bit rate is also increased, and the rising scale factor is also kecc(ecct, eccp).
  • the error correction coding is adopted, an additional increase in the amount of multimedia data processing by the streaming server is caused, which causes the streaming server to reduce the processing efficiency of the multimedia data.
  • the above embodiment exemplifies a specific user experience quantitative model, and the user experience quantitative model is a target letter of the embodiment of the present invention.
  • the embodiment of the present invention also needs to set a constraint condition of the objective function, thereby converting the user experience quantitative model into a mathematical optimization problem.
  • the constraints here can be obtained from resource constraints corresponding to the media stream. Since the media stream needs to consume the resources of the streaming server, embodiments of the present invention can set constraints from the resources of the streaming server.
  • the following takes the processing resources of the streaming server as an example to describe the situation in which the media stream needs to consume the resources of the streaming server.
  • a streaming server is a network device with processing power.
  • the total processing resources of the streaming server are limited.
  • a rough indicator of the processing power of a streaming server is the number of concurrent streams, which is the number of simultaneous streams that the streaming server sends.
  • the embodiment of the present invention can analyze the consumption of the media stream convection server resource from the processing flow of the media stream regardless of the index of the concurrent stream number.
  • the processing of the media stream by the streaming server may include the following steps:
  • the streaming media data is packaged and sent.
  • the reading link and the packet transmission link must pass, and these two links are basically only related to the bit rate, that is, the amount of data read and packaged and sent in unit time.
  • the processing flow of the set stream server to the read and packet transmission process is: Cp(br), that is, the dependent variable is the bit rate br, the bit rate is vbr for the video stream, and the bit rate is abr for the audio stream.
  • the error correction coding step is optional, that is, the stream server may not perform error correction coding processing on the media stream, and may also perform error correction coding processing on the media stream.
  • the error correction coding link is also related to ecct and eccp.
  • the processing overhead of the error correction coding link can be set as follows: Cecc(br, ecct, eccp), that is, the dependent variable is the bit rate (the bit rate is vbr for the video stream, and the bit rate is abr for the audio stream). ), ecct and eccp.
  • the total processing overhead of the streaming server is:
  • the total processing overhead of the stream server can be as shown in Table 1: Table 1 The total processing overhead of the stream server for a single media stream
  • Cp(vbr) increases as vbr increases
  • Cecc(br,ecct,eccp) also increases as vbr increases
  • Cp (abr) increases as abr increases
  • Cecc(abr, ecct, eccp) also increases as abr increases.
  • e C ct, eCC p there is a set of values (e C ct, eCC p) max such that the value of Cecc(vbr, ecct, eccp) or Cecc(abr, ecct, eccp) for each given vbr or abr value maximum. That is, for each given vbr or abr value, the maximum processing resource of the streaming server that the video stream or audio stream needs to consume can be calculated.
  • Mpapr(abr) Cp(abr) + Cecc(abr, ecct , eccp ) ( 11 )
  • mpvpr maximum possible video processing resource
  • mpapr maximum The communicating audio processing resource
  • Mpvpr is an increasing function of the bit rate vbr
  • mpapr is an increasing function of the bit rate abr.
  • R Resource resource
  • T Total all
  • Some resources in the RT are fixed, and have nothing to do with the media stream, such as system management, running the operating system, and so on.
  • RF F means fixed or fixed
  • the embodiment of the present invention may also set the constraint condition of the objective function according to the bandwidth resource of the streaming server, the restriction condition of the user terminal to the streaming media service, and the like.
  • the strategy and control server can solve the mathematical optimization problem according to various existing solving methods.
  • the solution process can be implemented by using a DSP (Digital Signal Processor) chip.
  • DSP Digital Signal Processor
  • the strategy and control server obtains the parameters in the user experience quantitative model by solving the results, that is, determining the parameters in the control strategy provided for the streaming server.
  • the policy and control server then outputs the control policy to the streaming server.
  • the streaming server needs to perform these control strategies during media stream reading, error correction coding, and packet delivery.
  • the control strategy includes controlling the variables in the process of media stream reading, error correction coding, and packet transmission by the stream server. Variables such as video compression coding protocol, image size, frame rate, bit rate, etc.; such as audio compression coding protocol, bit rate, etc.
  • the streaming server can execute various variables in the control policy, that is, the policy and control server can control the streaming media service provided by the streaming server for the user according to the control policy.
  • the strategy and control server will be simpler in determining the variables, and thus become a special case for determining each variable.
  • the frame rate of a video cannot be controlled at will; if the compressed file corresponds to a certain bit rate, the frame rate should be fixed.
  • video data can be compressed and encoded at the same time to support multiple bit rates and image formats.
  • the base layer supports the QCIF (Quarter Common Interchange Format) format, and the bit rate is 128 kbps;
  • the enhancement layer supports the CIF format, the bit rate is 768 kbps, and the like.
  • video data can support one base layer and multiple enhancement layers, so video data can provide a combination of multiple bit rates.
  • video data can support multiple bit rates and image formats.
  • different encoding protocols and bit rates can be used for compression encoding to form multiple versions of video data, and different versions of video data are provided to user terminals having different capabilities.
  • different encoding protocols and bit rates can also be used for compression to produce different versions of the image format, which is very practical.
  • the same movie is compressed in 1080i format.
  • the video data of this version can be provided to user terminals that require high-definition quality; compression is performed in XGA format, and the video data of this version can be provided to PC user terminals; CIF or QCIF format is used. Compressed, this version of the video data can be provided to the mobile terminal.
  • Equation (6) can reflect the optimal fit of bit rate and frame rate.
  • the flow server when the flow server executes a specific control policy, it is required to select a suitable media data file stored in the storage device according to each variable in the control policy, read the selected media data file, and read the media data file. Perform error correction coding, packet transmission, and the like.
  • the specific implementation process of the flow server execution policy and the control policy transmitted by the control server in FIG. 6 may include the following four situations:
  • the streaming media data file stored in the storage device includes: supporting different bit rates, frame rates, compression coding protocols, image formats, key frame intervals, error correction coding types, and protection strength parameters. Multiple streaming media data files.
  • the stream server selects according to the bit rate, the frame rate, the compression coding protocol, the image format, the key frame interval, the error correction coding type, and the protection strength parameter in the control policy.
  • Read the streaming media data file stored in the storage device After successfully reading the streaming media data file, the streaming server directly converts the read streaming media data file into a media stream and sends it to the user terminal.
  • the streaming media data file stored in the storage device includes: a plurality of streaming media data files supporting different bit rates, frame rates, compression encoding protocols, image formats, and key frame intervals.
  • the stream server selects to read the streaming media stored in the storage device according to the bit rate, the frame rate, the compression coding protocol, the image format, and the key frame interval in the control policy. data files.
  • the streaming server After successfully reading the streaming media data file, the streaming server performs error correction coding processing on the read streaming media data file according to the error correction coding type and the protection strength parameter in the control policy. Then, the stream server converts the error correction encoded stream media data file into a media stream and sends the file to the user terminal.
  • the streaming media data file stored in the storage device includes: a plurality of streaming media data files supporting different bit rates, compression coding protocols, error correction coding types, and protection strength parameters.
  • the stream server selects and reads the streaming media data stored in the storage device according to the bit rate, the compression coding protocol, the error correction coding type, and the protection strength parameter in the control policy. file.
  • the streaming server After successfully reading the streaming media data file, the streaming server directly converts the read streaming media data file into a media stream and sends the data to the user terminal.
  • the streaming media data file stored in the storage device includes: multiple streaming media data files supporting different bit rates and compression encoding protocols.
  • the stream server After receiving the control policy transmitted by the policy and control server, the stream server reads the streaming media data file according to the bit rate and the compression coding protocol in the control policy, and according to the error correction coding type and protection strength in the control policy. The parameter performs error correction coding processing on the read streaming media data file. Then, the stream server converts the error correction encoded stream media data file into a media stream and sends the file to the user terminal.
  • the flow server in the embodiment of the present invention selects the media data file, the error correction code, and the packet transmission according to the control policy, and the control policy in the embodiment of the present invention is obtained on the basis of the user experience quantitative model.
  • the streaming server provided by the streaming server for the user terminal in the embodiment of the present invention is a streaming media service that optimizes the user terminal experience.
  • Embodiment 1 A method for obtaining a control strategy for a single video stream.
  • the policy and control server needs to determine the optimal values of the encoding protocol type, bit rate, frame rate, key frame interval, error correction coding pattern, protection strength parameter, etc., in order to optimize the user experience.
  • the method for obtaining the packet loss rate is as described in the foregoing embodiment, and the embodiment of the present invention does not limit the specific implementation process for obtaining the packet loss rate.
  • the objective functions set by the Policy and Control Server are:
  • BP eccind error correction code indicator
  • TAB Total Available Bandwidth
  • the TAB should be less than the total bandwidth of the streaming server to the network connection.
  • Processing resources of the streaming server If the video maximum allowable processing resource amvpr (allowable maximum video processing resource) is set for each video stream, then a video stream needs to satisfy the following conditions in terms of processing resources to be consumed:
  • the embodiment of the present invention may set the constraint of the target function (12) according to the network connection bandwidth of the streaming server and the processing resource of the streaming server.
  • the embodiment of the present invention may also be based on the network connection bandwidth of the streaming server and the processing resource of the streaming server.
  • the resources of the user terminal to set the constraints of the objective function (12).
  • the resources of the user terminal such as the network bandwidth of the user terminal connection, the limitation of the user terminal to the multimedia stream format, and the like.
  • the user terminal limits the multimedia stream format, such as restrictions on the multimedia stream image format.
  • the constraint (14) needs to be corrected to:
  • min(x, y) represents the minimum of the two numbers x and y.
  • st (subject to) represents a constraint
  • WS video variable space
  • ECCVS Error Correction Code
  • Variable Space (Error Correction Code) Variable Space, error correction coding variable space)
  • operator "X" represents the Cartesian product of two spaces (sets)
  • ⁇ 0, 1 ⁇ is the set of values of the variable eccind.
  • both WS and ECCVS are finite sets, that is, WS and ECCVS are elements. A limited number of collections.
  • the Cartesian product of WS, ECCVS, and ⁇ 0, 1 ⁇ is also a finite set.
  • the brute force search method searches for each set of variables in the comparison set under constraint constraints, and finally finds a set of variable values that maximize the value of the objective function.
  • the set of variable values that maximize the value of the objective function is the optimal value of the variables such as the encoding protocol type, bit rate, frame rate, key frame interval, error correction coding pattern, and protection strength parameter.
  • the optimal values of these variables are the parameters in the quantitative model of the video user experience.
  • the parameters in the quantitative model of the video user experience are also the decision parameters in the control strategy.
  • the method of solving the mathematical optimization problem belongs to the existing mathematical method, and the method for solving the mathematical optimization problem is not described in detail here. Moreover, embodiments of the present invention do not limit the method of solving mathematical optimization problems.
  • Embodiment 2 A method for obtaining a control strategy for a single audio stream.
  • the policy and control server needs to determine the optimal values of the variable encoding protocol type, bit rate, error correction coding pattern, and protection strength parameters to optimize the user experience.
  • the method for obtaining the packet loss rate is as described in the foregoing embodiment, and the embodiment of the present invention does not limit the specific implementation process for obtaining the packet loss rate.
  • the objective functions set by the Policy and Control Server are:
  • the network connection bandwidth aspect of the streaming server If the audio maximum allowed transmission bandwidth is set for each audio stream amatb
  • TAB Total Available Bandwidth
  • the TAB should be less than the total bandwidth of the streaming server to the network connection.
  • an audio stream needs to meet the following conditions in terms of needing to consume processing resources:
  • the embodiment of the present invention can set the constraint of the objective function (21) based only on the network connection bandwidth of the streaming server and the processing resources of the streaming server.
  • the embodiment of the present invention may also set the constraint condition of the objective function (21) according to the network connection bandwidth of the streaming server, the processing resource of the streaming server, and the resource of the user terminal.
  • User terminal resources such as network bands connected to user terminals Wide, user terminal restrictions on the multimedia stream format, and so on. The user terminal limits the multimedia stream format, such as restrictions on the audio stream format.
  • the constraint condition (22) needs to be corrected to:
  • min(x, y) represents the minimum of the two numbers x and y.
  • ⁇ abr,acp,ecct, eccp ⁇ 3TgmaX (gcp(abr, acp) + eccind x gecc(ecct, eccp))
  • st represents the constraint
  • AVS audio variable space
  • ECCVS audio variable space
  • ecct represents the set of all combinations of all the values of the variable abr, acp
  • ECCVS represents the various combinations of all the values of the variables ecct and eccp
  • the set of constructs; the operator "X” represents the Cartesian product of two spaces (sets); the set ⁇ 0, 1 ⁇ is the set of values of the variable eccind.
  • both AVS and ECCVS are finite sets, that is, AVS and ECCVS are sets of a limited number of elements.
  • the Cartesian product of AVS, ECCVS, and ⁇ 0, 1 ⁇ is also a finite set.
  • the method for solving the mathematical optimization problem belongs to the existing mathematical method.
  • the method for solving the mathematical optimization problem is not described in detail.
  • embodiments of the present invention do not limit the method of solving mathematical optimization problems. Regardless of the solution method used, after determining the set of variable values that maximize the value of the objective function, the decision parameters in the control strategy are determined.
  • a streaming server tends to provide multiple media streams at the same time and simultaneously provide services for multiple user terminals.
  • the correspondence between the media stream and the user terminal mainly has four cases as shown in FIG.
  • the four cases shown in Figure 7 are:
  • Case a one-to-one, that is, a unicast stream is provided to a user terminal. Case a applies to video on demand or the network does not support live streaming (Live) in the case of multicast.
  • Live live streaming
  • Case b one-to-many, that is, the network supports multicast, used for live (Live) or simulated live (Simucast). From the streaming server A multicast stream is sent and sent to multiple user terminals through the stream replication node.
  • Live live
  • Simucast simulated live
  • control policy obtaining method for the streaming media service of the multiple media streams may be the following two types in the following cases: Embodiment 3: A control policy obtaining method for a plurality of media streams and considering resource consumption separately.
  • the media stream that the streaming server needs to send to the user terminal includes NV video streams and NA audio streams.
  • the maximum value of the maximum allowed transmission bandwidth of each video stream is not necessarily the same.
  • the value of the maximum allowable transmission bandwidth of each audio stream is not necessarily the same.
  • the total available bandwidth of the streaming server can meet the bandwidth requirements of each video stream and audio stream.
  • the available processing resources of the streaming server can satisfy the processing resource requirements of each video stream and audio stream.
  • each user experience quantitative model can be converted into a mathematical optimization problem, and then the mathematical optimization problem is solved. Regardless of the solution method used, after determining a set of variable values that maximize the value of the objective function, each decision parameter in the control strategy for each media stream is determined, thereby providing an optimal user for each user terminal. Experience.
  • the third embodiment is to consider the resource consumption of each media stream separately. Considering the resource consumption of each media stream is a conservative method. The disadvantage is that the specific situation of each streaming media stream cannot be considered together. Resources cannot be adjusted to each other. Each media stream has a maximum allowed transmission bandwidth. If it is not used, other streams cannot use this extra bandwidth, and the remaining processing resources cannot be used.
  • Embodiment 4 A control strategy obtaining method for a plurality of media streams and jointly considering resource consumption of each media stream. This method is a comprehensive and optimal control strategy acquisition method.
  • the QET (Quality of Experience Total) of the user terminal is:
  • the comprehensive user experience for all users is a weighted sum of user experiences for each media stream.
  • each user terminal is equal, and it is also possible to set a difference between the user terminals. If there is a difference between the user terminals, such as the difference between the VIP user and the ordinary user, when setting the weight, the difference between the different user terminals is also considered.
  • NVC(i)-l represents the respective level weights of the NVC (i) users receiving the i-th video stream.
  • equations (31) and (32) there are 8 variables for each video stream to be optimized, and 5 variables for each audio stream need to be optimized. Therefore, the total number of variables that need to be optimized is 8NV+5NA.
  • the above formula (35) is a typical discrete mathematical optimization problem, and the number of variables to be optimized is 8NV+5NA.
  • the embodiment of the present invention can solve the mathematical optimization problem of the above formula (35) by using various solving methods in the prior art, and will not be described in detail herein.
  • CARD indicates the number of elements in the WS set
  • CARD indicates the number of elements in the AVS set
  • CARD indicates the number of elements in the AVS set
  • CARD indicates the number of elements in the ECCVS set
  • x AVS 4 The number of elements in the middle is: ZWxN ⁇ CARD WS WtCAM AVS ⁇ CAM ECCVS ⁇ wxNA a.
  • the number of variables to be optimized does not change, it is also 8NV+5NA, but needs to be searched.
  • the number of elements in the collection is:
  • Embodiments of the present invention can reduce the size of the problem and simplify the amount of computation for solving the problem by reducing the number of variables that need to be optimized.
  • the method of reducing the number of variables to be optimized is to merge the media streams according to categories. If the user terminal bandwidth of 1000 media streams, the required image size, and the encoding protocol are the same, the 1000 media streams can be merged into one. Class, the variable optimization results of the 1000 media streams are the same. As long as the variables of one media stream are optimized, the obtained optimized variable values can be adapted to other media streams of the same kind. In this way, the mathematical optimization problem is greatly simplified, so that the number of media streams that affect the scale of the mathematical optimization problem is not the number of classes of different types of media streams. At the same time, in practical applications, some variables such as image format, encoding protocol, etc. need to be fixed, which also reduces the scale of mathematical optimization problems.
  • Embodiments of the present invention also provide a streaming media service implementation system, which includes a storage device, a policy and control server, and a streaming server.
  • the storage device is mainly used to store streaming media data files.
  • the streaming media data file includes: a media stream for the same content, and multiple streaming media data files supporting different control policies; for example, for a video media stream of the same content, the storage device stores different bit rates, frame rates, and Multiple streaming media data files of compression encoding protocol, image format, key frame interval, error correction coding type, protection strength parameter; or multiple streams supporting different bit rates, frame rates, compression coding protocols, image formats, key frame intervals
  • the storage device stores multiple streaming media data files supporting different bit rates, compression coding protocols, error correction coding types, and protection strength parameters; or supports different bit rates. And compressing multiple streaming media data files of the encoding protocol.
  • the policy and control server is mainly used to store a mathematical optimization problem established according to a quantitative model of the user experience of the streaming media, and the constraint condition of the mathematical optimization problem may be set according to resource restriction conditions of the streaming media service.
  • the strategy and control server solves the mathematical optimization problem to determine various parameters in the user experience quantitative model. Then, the policy and control server sets the control strategy according to the determined parameters, and transmits the set control strategy to the stream server.
  • the policy and control server may set the constraint condition of the target function according to the resource of the streaming server, and may also set the constraint condition of the target function according to the bandwidth resource of the streaming server, the restriction condition of the user terminal to the streaming media service, and the like.
  • the constraint of the mathematical optimization problem may be set according to the constraint condition that the single media stream needs to consume the flow server resource; or the media stream needs to be consumed under the condition that the resource of the streaming server is not adjusted.
  • the constraints of the mathematical optimization problem; the constraints of the mathematical optimization problem can also be set under the condition that each media stream needs to consume the resources of the streaming server to allow mutual adjustment.
  • the streaming server is mainly configured to read the streaming media data file from the storage device according to the received control policy, and convert the read streaming media data file into a media stream and send the data to the user terminal; for example, the streaming server according to the bit in the control policy
  • the rate, frame rate, compression coding protocol, image format, key frame interval, error correction coding type, protection strength parameter are selected to read the video streaming data file stored in the storage device, and then the streaming server directly reads the video streaming media
  • the data file is converted into a media stream and sent to the user terminal; for example, the stream server selects to read the video streaming media data file stored in the storage device according to the bit rate, the frame rate, the compression encoding protocol, the image format, and the key frame interval in the control policy.
  • the stream server performs error correction coding processing on the read video streaming media data file according to the error correction coding type and the protection strength parameter in the control policy; for example, the flow server according to the bit rate in the control policy, the compression coding protocol, Error correction coding type, protection strength Selecting to read the audio streaming media data file stored in the storage device, and then the streaming server directly converts the read audio streaming media data file into a media stream and sends the data to the user terminal; and, the streaming server according to the bit rate in the control policy
  • the compression encoding protocol reads the audio streaming media data file, and the streaming server performs error correction encoding processing on the read audio streaming media data file according to the error correction encoding type and the protection strength parameter in the control strategy, and then the streaming server encodes the error correction encoding.
  • the processed streaming media data file is converted into a media stream and sent to the user terminal.
  • the specific operations performed by the streaming server are as described in the above method embodiments.
  • the embodiment of the invention also provides a policy and control server.
  • the storage module is set in the policy and control server, and the solution is solved.
  • Module and transmission module are set in the policy and control server, and the solution is solved.
  • the storage module is mainly used to store a mathematical optimization problem established according to a user experience quantitative model of the streaming media; the constraint condition of the mathematical optimization problem may be set according to a resource restriction condition of the streaming media service, such as the constraint condition of the mathematical optimization problem may be
  • the setting according to the resource of the streaming server may also be set according to the bandwidth resource of the streaming server, the restriction condition of the streaming terminal service by the user terminal, and the like.
  • the constraint of the mathematical optimization problem stored in the storage module may be set according to a constraint condition that a single media stream needs to consume the streaming server resource; or may be set under the condition that each media stream needs to consume the resources of the streaming server without adjusting the media; It may also be set under the condition that each media stream needs to consume the resources of the streaming server to allow mutual adjustment.
  • the mathematical optimization problems stored in the storage module and their constraints are as described in the above method embodiments.
  • the solution module is mainly used to solve the mathematical optimization problem stored in the storage module.
  • the solution module can be implemented by using various existing methods and devices, and the specific solution process will not be described in detail herein.
  • the transmission module is mainly used to set each parameter in the user experience quantitative model obtained by the solution module by solving the mathematical optimization problem as a control strategy, and transmit the control strategy to the stream server.
  • the control strategies here include, but are not limited to: bit rate, frame rate, compression coding protocol, image format, key frame interval, error correction coding type, protection strength parameters; for audio streaming services
  • the control strategy here includes but is not limited to: bit rate, compression coding protocol, error correction coding type, protection strength parameter.
  • the embodiment of the present invention can provide the user with the optimal maximum.
  • User experience For the corresponding user experience quantitative models such as video streams and audio streams, more quantitative models of user experience will be proposed as the research in related fields continues to deepen.
  • the implementation process of the embodiment of the present invention has no relationship with the specific expression form of the user experience quantitative model, the embodiment of the present invention can be applied to various different user experience quantitative models.
  • the user experience quantitative model is improved, the user experience brought by the embodiment of the present invention for the user terminal is also improved, thereby bringing a better user experience to the user terminal.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

A method, a system and a network equipment are provided for implementing stream media service. The invention belongs to the network communication technology field. The method includes: firstly, establishing a mathematics optimizing problem according to the user experience quantificational model of the stream media, and calculating it to determine each parameter in the user experience quantificational model; secondly, setting the control strategy of the stream server according to each the determined parameter; thirdly, the stream server reads the stream media data file according to the control strategy, transmits the media stream to the user terminals according to the read stream media data file, and provides stream media service for users. The embodiments of this invention are independent of the concrete representation form of the user experience quantificational model, therefore, the embodiments of this invention provide a universal implementing framework for stream media service. The embodiments of this invention can provide the optimization stream media user experience for users.

Description

流媒体服务实现方法、 系统和策略与控制服务器 技术领域  Streaming media service implementation method, system and strategy and control server
本发明涉及网络通讯技术领域, 具体涉及流媒体服务实现方法、 系统和策略与控制服务器。 发明背景  The present invention relates to the field of network communication technologies, and specifically relates to a streaming media service implementation method, system, and policy and control server. Background of the invention
流媒体即通过网络将多媒体数据按照"流"的方式发送给用户终端, 用户终端可以一边接收多媒 体数据、 一边对多媒体数据进行解码及其它必要处理, 并进行播放。 这里的多媒体数据包括: 视频、 音频、 静止图像、 动画以及文本等等。 这里的网络如 IP网络等。  The streaming media transmits the multimedia data to the user terminal in a "stream" manner through the network, and the user terminal can receive the multimedia data, decode the multimedia data and other necessary processing, and play the same. The multimedia data here includes: video, audio, still images, animations, text, and more. The network here is like an IP network.
流媒体服务的组网存在多种不同的形式, 但是, 各种组网形式均包括一些基本要素, 下面结合 附图 1所示的流媒体服务组网原理示意图和附图 2所示的单播、 组播示意图对流媒体服务组网的基本 要素进行说明。  There are many different forms of networking for streaming media services. However, various networking forms include some basic elements. The following is a schematic diagram of the streaming media service networking shown in Figure 1 and the unicast shown in Figure 2. The multicast diagram illustrates the basic elements of the streaming media service networking.
在图 1的流媒体服务组网原理示意图中, 流媒体服务组网的基本要素如下:  In the schematic diagram of the streaming media service networking diagram in Figure 1, the basic elements of the streaming media service networking are as follows:
1、流服务器及存储设备。多个存储设备可以组成存储阵列。流媒体内容数据以文件形式存储在 存储设备中。 流服务器从存储设备中读取文件, 并以媒体流的方式发送。 请参阅图 2, 对于单播 (Unicast) 的情况, 流服务器发送的每个媒体流对应一个用户终端。 在单播情况下, 流服务器发送 的媒体流可以称为单播流。 对于组播 (Multicast) 的情况, 流服务器发送的每个媒体流对应多个用 户终端, 也就是说, 当多个用户终端需要接收同样的媒体流时, 流服务器发送的媒体流到达骨干网 的边缘后, 由流复制节点设备如 DSLAM、 或者路由器、 或者 BRAS设备等将媒体流复制并发送给不 同的用户终端; 在组播情况下, 流服务器发送的媒体流可以称为组播流, 流复制节点设备发送的媒 体流可以称为单播流。 图 1中的流服务器可以称为中央流服务器。  1. Streaming server and storage device. Multiple storage devices can form a storage array. The streaming media content data is stored as a file on the storage device. The streaming server reads the file from the storage device and sends it as a media stream. Referring to FIG. 2, in the case of Unicast, each media stream sent by the streaming server corresponds to one user terminal. In the case of unicast, the media stream sent by the streaming server can be called a unicast stream. In the case of multicast, each media stream sent by the stream server corresponds to multiple user terminals, that is, when multiple user terminals need to receive the same media stream, the media stream sent by the stream server reaches the backbone network. After the edge, the media stream is copied and sent to different user terminals by the stream replication node device, such as a DSLAM, or a router, or a BRAS device. In the case of multicast, the media stream sent by the stream server may be referred to as a multicast stream. The media stream sent by the replication node device may be referred to as a unicast stream. The streaming server in Figure 1 can be referred to as a central streaming server.
2、边缘流服务器及存储设备。对于大型的流媒体系统, 在骨干网的边缘会布署多个边缘流服务 器, 边缘流服务器为用户终端提供就近服务。 边缘流服务器从与其对应的存储设备中读取文件, 并 以媒体流的方式发送。  2. Edge stream server and storage device. For a large-scale streaming media system, multiple edge streaming servers are deployed at the edge of the backbone network, and the edge streaming server provides the nearest service to the user terminal. The edge stream server reads the file from its corresponding storage device and sends it as a media stream.
3、 门户服务器。 门户服务器为用户终端提供内容査询、 点播、 请求等一系列服务, 真正的业务 逻辑由后台的管理服务器 (组) 执行。 门户服务器还提供对用户终端的认证、 鉴权等的接口功能, 即门户服务器通过和用户终端进行交互来获得认证、 鉴权所需要的数据, 并将获得的数据传输给管 理服务器 (组) , 由管理服务器 (组) 完成对用户终端的认证和鉴权。 门户服务器相当于流媒体服 务的前台。  3. Portal server. The portal server provides a series of services such as content query, on-demand, and request for the user terminal. The real business logic is executed by the background management server (group). The portal server also provides an interface function for authenticating, authenticating, etc. of the user terminal, that is, the portal server obtains data required for authentication and authentication by interacting with the user terminal, and transmits the obtained data to the management server (group). The authentication and authentication of the user terminal is completed by the management server (group). The portal server is equivalent to the foreground of the streaming service.
4、 管理服务器(组) 。 管理服务器(组)可以是由多个管理服务器组成的服务器组。 管理服务 器 (组)提供的功能包括: 用户管理、 认证和鉴权、 网络管理、 业务逻辑控制、 计费管理等等。  4. Management server (group). A management server (group) can be a server group composed of multiple management servers. The functions provided by the management server (group) include: user management, authentication and authentication, network management, business logic control, billing management, and so on.
5、策略与控制服务器。策略与控制服务器对流服务器进行控制和策略管理。策略与控制服务器 可以同时控制多个流服务器, 包括中央流服务器和边缘流服务器。 通过其和流服务器之间的通信接 口协议把控制策略下发到流服务器, 同时从流服务器获取策略执行的实际情况数据。  5. Strategy and control server. The policy and control server controls and manages the flow server. Policy and Control Servers You can control multiple stream servers simultaneously, including the Central Streaming Server and the Edge Streaming Server. The control policy is sent to the streaming server through the communication interface protocol between the server and the streaming server, and the actual situation data of the policy execution is obtained from the streaming server.
需要说明的是, 上述描述的各个功能实体 (Functional entity) 其实是逻辑实体, 并不代表具体 的物理设备。 在实际应用中, 完全可以将多个逻辑功能实体通过一个物理设备来实现, 如在极端情 况下, 可以将边缘流服务器之外的所有服务器都通过一台物理服务器来实现。 It should be noted that the functional entities described above are actually logical entities and do not represent specific Physical device. In practical applications, multiple logical functional entities can be implemented by one physical device. For example, in extreme cases, all servers except the edge streaming server can be implemented by one physical server.
在目前的流媒体服务实现过程中, 策略与控制服务器在为流服务器制定控制策略时, 采用粗放 式控制方式。 例如, 当网络状况劣化时, 流服务器或者策略与控制服务器根据经验值调整媒体流数 据文件的编码比特率或者帧率。 目前的粗放式控制方式无法提供最优用户体验的流媒体服务。 发明内容  In the current streaming service implementation process, the policy and control server adopts extensive control when formulating control policies for the streaming server. For example, when the network condition deteriorates, the streaming server or the policy and control server adjusts the encoding bit rate or frame rate of the media stream data file based on the empirical value. The current extensive control approach does not provide streaming services for the optimal user experience. Summary of the invention
本发明实施方式提供一种流媒体服务实现方法、 系统和策略与控制服务器, 提高了流媒体服务 的用户体验。  The embodiment of the invention provides a streaming media service implementation method, system and policy and control server, which improves the user experience of the streaming media service.
本发明实施方式提供一种流媒体服务实现方法, 包括:  An embodiment of the present invention provides a method for implementing a streaming media service, including:
根据流媒体的用户体验定量模型建立数学优化问题, 并进行求解以确定用户体验定量模型中的 各参数;  The mathematical optimization problem is established according to the user experience quantitative model of the streaming media, and the solution is solved to determine various parameters in the user experience quantitative model;
根据所述确定出的各参数设置流服务器的控制策略;  Setting a control policy of the stream server according to the determined parameters;
流服务器根据所述控制策略读取流媒体数据文件、 并根据读取的流媒体数据文件向用户终端发 送媒体流, 为用户提供流媒体服务。  The streaming server reads the streaming media data file according to the control policy, and sends a media stream to the user terminal according to the read streaming media data file to provide a streaming media service for the user.
本发明实施方式还提供一种流媒体服务实现系统, 所述系统包括:  An embodiment of the present invention further provides a streaming media service implementation system, where the system includes:
存储设备, 用于存储流媒体数据文件;  a storage device, configured to store a streaming media data file;
策略与控制服务器, 用于对根据流媒体的用户体验定量模型而建立的数学优化问题进行求解以 确定用户体验定量模型中的各参数, 并根据所述各参数设置控制策略, 将所述控制策略传输给流服 务器;  a strategy and control server, configured to solve a mathematical optimization problem established according to a quantitative model of the user experience of the streaming media, to determine a parameter in the user experience quantitative model, and set a control policy according to the parameter, and the control strategy is Transfer to the streaming server;
流服务器, 用于根据接收的控制策略从所述存储设备中读取流媒体数据文件、 并根据读取的流 媒体数据文件向用户终端发送媒体流。  And a stream server, configured to read the streaming media data file from the storage device according to the received control policy, and send the media stream to the user terminal according to the read streaming media data file.
本发明实施方式还提供一种策略与控制服务器, 包括:  An embodiment of the present invention further provides a policy and control server, including:
存储模块: 用于存储根据流媒体的用户体验定量模型所建立的数学优化问题;  Storage module: used to store mathematical optimization problems established according to a user experience quantitative model of streaming media;
求解模块: 用于对存储模块中存储的数学优化问题进行求解, 以确定用户体验定量模型中的各 参数;  Solving module: used to solve the mathematical optimization problem stored in the storage module to determine various parameters in the user experience quantitative model;
传输模块: 用于根据求解模块通过求解所述数学优化问题获得的用户体验定量模型中的各参数 设置控制策略, 并将控制策略传送给流服务器。 通过上述技术方案的描述可知,本发明实施方式是基于用户体验定量模型来实现流媒体服务的, 因此, 本发明实施方式能够为用户终端提供最优的用户体验; 本发明实施方式提供的流媒体服务实 现方法与用户体验定量模型的具体表现形式无关, 因此, 本发明实施方式可以适用于目前以及以后 出现的各种用户体验定量模型, 是一种能够广泛应用的实现流媒体服务的技术方案。 附图简要说明  The transmission module is configured to set a control strategy according to each parameter in the user experience quantitative model obtained by solving the mathematical optimization problem by the solution module, and transmit the control strategy to the stream server. According to the description of the foregoing technical solution, the embodiment of the present invention implements a streaming media service based on a user experience quantitative model. Therefore, the embodiment of the present invention can provide an optimal user experience for a user terminal. The service implementation method is independent of the specific manifestation of the user experience quantitative model. Therefore, the embodiment of the present invention can be applied to various user experience quantitative models that appear at present and in the future, and is a technical solution for implementing streaming media services that can be widely applied. BRIEF DESCRIPTION OF THE DRAWINGS
图 1是现有技术的流媒体服务组网原理示意图; 图 2是现有技术的单播、 组播示意图; 1 is a schematic diagram of a prior art streaming media service networking; 2 is a schematic diagram of unicast and multicast in the prior art;
图 3是获得丢包率的原理示意图;  Figure 3 is a schematic diagram showing the principle of obtaining a packet loss rate;
图 4是 fecc与丢包率、 以及保护强度参数之间的关系示意图;  Figure 4 is a schematic diagram showing the relationship between fecc and packet loss rate, and protection strength parameters;
图 5是纠错编码工作原理示意图;  Figure 5 is a schematic diagram of the working principle of error correction coding;
图 6是本发明实施方式的流服务器执行策略与控制服务器的过程示意图;  6 is a schematic diagram of a process of a flow server execution policy and control server according to an embodiment of the present invention;
图 7是本发明实施方式的媒体流和用户终端之间的对应关系示意图。 实施本发明的方式  FIG. 7 is a schematic diagram of a correspondence between a media stream and a user terminal according to an embodiment of the present invention. Mode for carrying out the invention
在流媒体服务实现过程中, 策略与控制服务器为流服务器提供的控制策略可以包括多个方面的 各种策略, 如:  In the process of implementing the streaming media service, the control strategy provided by the policy and control server for the streaming server may include various strategies in various aspects, such as:
A、 带宽策略管理: 给每个媒体流分配什么样的带宽。  A. Bandwidth Policy Management: What kind of bandwidth is allocated to each media stream.
B、 视频流策略管理: 给每个视频流提供什么样的参数, 这里的参数如编码协议、 图像大小、 帧率等。  B. Video stream policy management: What parameters are provided for each video stream, such as encoding protocol, image size, frame rate, etc.
C、 音频流策略管理: 给每个音频流提供什么样的参数, 这里的参数如编码协议、 比特率等。 D、 QoS/QoE (Quality of service/Quality of experience, 服务质量 /体验质量) 策略管理: 给出每 个媒体流的 QoS/QoE管理策略。  C. Audio stream policy management: What parameters are provided for each audio stream, such as encoding protocol, bit rate, etc. D. QoS/QoE (Quality of service/Quality of experience) Policy Management: Give the QoS/QoE management policy for each media stream.
从服务于用户的角度来说, 流媒体服务实现过程中最重要的是: 为用户提供最好的用户体验。 用户体验会直接影响到用户是否愿意使用流媒体服务。 因此, 为流服务器提供的各种策略中 QoE策 略是核心策略。 如何为流服务器提供最优的 QoE策略, 使用户能够得到最好的用户体验是实现流媒 体服务的关键。 如何优化为流服务器提供的 QoE策略, 是本发明实施方式技术方案的关键。 本发明 实施方式中的策略与控制服务器可以为流服务器提供优化的 QoE策略。 策略与控制服务器是根据用 户体验定量模型来确定 QoE策略的。这里的 QoE策略包括的变量如: 1、各个媒体流的最大允许带宽; 2、 各个媒体流的视频, 音频编码协议; 3、 采用的比特率; 4、 图像大小; 5、 帧率; 6、 优先级; 7、 纠错编码保护类型和保护强度参数等。 本发明实施方式是通过用户体验定量模型转换的数学优化问 题来确定 QoE策略中的各变量的。  From the perspective of serving users, the most important thing in the implementation of streaming services is to provide users with the best user experience. User experience directly affects whether users are willing to use streaming services. Therefore, the QoE strategy among the various strategies offered for streaming servers is the core strategy. How to provide an optimal QoE policy for streaming servers, so that users can get the best user experience is the key to implementing streaming media services. How to optimize the QoE policy provided for the streaming server is the key to the technical solution of the embodiment of the present invention. The policy and control server in embodiments of the present invention can provide an optimized QoE policy for the streaming server. The policy and control server determines the QoE policy based on the user experience quantitative model. The QoE strategy here includes variables such as: 1. Maximum allowable bandwidth of each media stream; 2. Video of each media stream, audio coding protocol; 3. Bit rate used; 4. Image size; 5. Frame rate; Priority; 7, error correction coding protection type and protection strength parameters. Embodiments of the present invention determine the variables in the QoE strategy by mathematically optimizing the problem of user experience quantitative model conversion.
用户体验定量模型是指: 将流媒体用户体验量化数值和媒体流各个属性参数关联起来的函数关 系。 函数关系的自变量即媒体流的各个属性参数, 函数关系的取值是流媒体用户体验量化数值。 对 于视频流媒体服务来说, 这里的各个属性参数包括但不限于: 比特率、 帧率、 压缩编码协议、 图像 格式、 关键帧间隔、 纠错编码类型、 保护强度参数; 对于音频流媒体服务来说, 这里的各个属性参 数包括但不限于: 比特率、 压缩编码协议、 纠错编码类型、 保护强度参数。  The user experience quantitative model refers to: a functional relationship that associates the streaming media user experience quantized value with the media stream's various attribute parameters. The independent variable of the function relationship is the attribute parameter of the media stream, and the value of the function relationship is the quantified value of the streaming media user experience. For the video streaming service, various attribute parameters herein include but are not limited to: bit rate, frame rate, compression coding protocol, image format, key frame interval, error correction coding type, protection strength parameter; for audio streaming service Said, the various attribute parameters here include but are not limited to: bit rate, compression coding protocol, error correction coding type, protection strength parameter.
本发明实施方式在用户体验定量模型的基础上, 提出了一种通用的流媒体服务实现框架, 该通 用的流媒体服务实现框架能够适用于目前的各种用户体验定量模型, 也能够适用于以后的用户体验 定量模型。 本发明实施方式通过这个通用的流媒体服务实现框架能够为用户提供最优的用户体验。  The embodiment of the present invention proposes a general streaming media service implementation framework based on the user experience quantitative model. The universal streaming media service implementation framework can be applied to various current user experience quantitative models, and can also be applied to later. User experience quantitative model. The embodiment of the present invention can provide an optimal user experience for the user through this universal streaming service implementation framework.
用户体验定量模型可以为视频用户体验定量模型, 也可以为音频用户体验定量模型; 当一个用 户终端同时接收到视频流和音频流时, 用户体验定量模型还可以为包括视频音频的用户体验定量模 型。 The user experience quantitative model can be a quantitative model for the video user experience, or a quantitative model for the audio user experience; when a user terminal receives both the video stream and the audio stream, the user experience quantitative model can also be a quantitative model for the user experience including video and audio. Type.
下面以几个具体的用户体验定量模型为例, 对本发明实施方式中的视频用户体验定量模型、 音 频用户体验定量模型分别进行说明。  The video user experience quantitative model and the audio user experience quantitative model in the embodiments of the present invention are respectively described below by taking several specific user experience quantitative models as an example.
一、 视频用户体验定量模型 (QEV) 。  First, the video user experience quantitative model (QEV).
视频用户体验定量模型 QEV = f(vbr, fr, vcp, pf, kfi, ecct, eccp) ( 1 )  Video User Experience Quantitative Model QEV = f(vbr, fr, vcp, pf, kfi, ecct, eccp) ( 1 )
其中, f(.)表示一个函数, 视频用户体验定量模型中的各参数解释如下:  Where f(.) represents a function, and the parameters in the video user experience quantitative model are explained as follows:
vbr为视频比特率 (video bit rate) , 如 128kbps, 384kbps等, vbr的单位为比特 /秒或者千比特 / 秒。  Vbr is the video bit rate, such as 128 kbps, 384 kbps, etc., and the unit of vbr is bit/second or kilobit/second.
fr为帧率 (frame rate), fr的单位是 fps (帧 /秒) , 如 15fps, 30φδ, 在一般应用中, 最高帧率为 vcp为视频压缩编码协议 (video compression protocol) , 可选择的压缩编码协议有多种, 如国 际标准的 H.261、 H.263/H.263+/H.263++, H.264、 MPEG-2、 MPEG-4, 中国标准 A VS以及私有协议 如 MSVC1等等。 Fr is the frame rate, and the unit of fr is fps (frames/second), such as 15fps, 30φ δ . In general applications, the highest frame rate is vcp for the video compression protocol (optional). There are various compression coding protocols, such as international standards H.261, H.263/H.263+/H.263++, H.264, MPEG-2, MPEG-4, Chinese Standard A VS, and proprietary protocols such as MSVC1 and so on.
pf为图像格式 (picture format) , 图像格式决定图像的大小, 图像格式如 CIF、 QCIF、 SQCIF、 4CIF、 VGA, XGA、 Dl、 1080i等等。  Pf is the picture format. The image format determines the size of the image. The image formats are CIF, QCIF, SQCIF, 4CIF, VGA, XGA, Dl, 1080i, etc.
kfi为关键帧间隔 (key frame interval) , 用两个相继关键帧之间隔开的非关键帧数量表示。 ecct为纠错编码类型 ( error correction code type、 或 error control code type ) 。  Kfi is the key frame interval, represented by the number of non-keyframes separated by two consecutive keyframes. Ecct is an error correction code type (or error control code type).
Eccp为纠错编码参数, 即保护强度参数 (error correction/control code parameters) 。  Eccp is the error correction coding parameter (error correction/control code parameters).
视频用户体验定量模型 QEV可进一步表示为:  The video user experience quantitative model QEV can be further expressed as:
QEV = f (vbr, fr, vcp, pf, kfi, ecct, eccp) = fcp(vbr, fr, vcp, pf, kfi) + fecc(ecct, eccp) ( 2 ) 其中, & 01^, &, ¥0 , 1",1<;1"1)表示与视频压缩编码(0, compression)相关的项,而 fecc (ecct, eccp) 表示和纠错编码相关的项。  QEV = f (vbr, fr, vcp, pf, kfi, ecct, eccp) = fcp(vbr, fr, vcp, pf, kfi) + fecc(ecct, eccp) ( 2 ) where, & 01^, &, ¥ 0, 1", 1<; 1"1) represents an item related to video compression coding (0, compression), and fecc (ecct, eccp) represents an item related to error correction coding.
下面以一个具体的表现形式为例, 对视频用户体验定量模型 QEV中的 fcp(vbr, fr, vcp,pf, kfi) 和 fecc(ecct, eccp)分别进行说明。  The following takes a specific form of expression as an example to describe fcp (vbr, fr, vcp, pf, kfi) and fecc (ecct, eccp) in the video user experience quantitative model QEV.
目前, fcp(vbr, fr, vcp, pf, kfi)可以表述为如下形式:  Currently, fcp(vbr, fr, vcp, pf, kfi) can be expressed as follows:
fcp(v&r, fr, vcp, pf, kfi) = 1 + G(ybr, fr; vcp, pf, kfi) ( 3 )  Fcp(v&r, fr, vcp, pf, kfi) = 1 + G(ybr, fr; vcp, pf, kfi) ( 3 )
(ln( r) - \n(ofr(fr; vcp, pf, kfi)) (ln( r) - \n(ofr(fr; vcp, pf, kfi))
其中: G{ybr, fr) = a{ybr; vcp, pf, kfi) exp 2 (4)  Where: G{ybr, fr) = a{ybr; vcp, pf, kfi) exp 2 (4)
2co{ybr, vcp, pf, kfi) vcp, pf, kfi) = a(vcp, pf, kfi) ——, Q < a( br; vcp, pf, kfi) < 4 (5 )
Figure imgf000006_0001
2co{ybr, vcp, pf, kfi) vcp, pf, kfi) = a(vcp, pf, kfi) ——, Q < a ( br; vcp, pf, kfi) < 4 (5 )
Figure imgf000006_0001
6(vcp,pf, kfi),  6(vcp,pf, kfi),
ofr(ybr; vcp, pf, kfi) = d (vcp, pf, kfi) + e(vcp, pf, kfi) br, 1≤ ofri br; vcp, pf, kfi) < 30 ( 6) aX br; vcp, pf, kfi) = f (vcp, pf, kfi) + g(vcp, pf, kfi) br , (7) 在上述公式 (3 ) 、 (4) 、 ( 5 ) 、 (6) 、 (7)所示的视频用户体验定量模型中, 函数中的一 组系数 a,b,C,d,e,提随着编码协议、 图像格式和关键帧间隔的变化而变化的, 而通过这些系数的变化, br、 fr和 fcp关联起来。 Ofr(ybr; vcp, pf, kfi) = d (vcp, pf, kfi) + e(vcp, pf, kfi) br, 1≤ ofri br; vcp, pf, kfi) < 30 ( 6) aX br; vcp , pf, kfi) = f (vcp, pf, kfi) + g(vcp, pf, kfi) br , (7) In the video user experience quantitative model shown in the above formulas (3), (4), (5), (6), and (7), a set of coefficients a, b, C , d, e in the function are accompanied by Br, fr and fcp are related by changes in coding protocols, image formats, and keyframe intervals.
上述公式 (3 ) 、 (4) 、 (5 ) 、 (6) 、 (7)所示的视频用户体验定量模型仅仅是用于描述本 发明实施方式而例举的一个具体的例子。 由于本发明实施方式与用户体验定量模型的具体表现形式 无关, 所以, 本发明实施方式可以适用于目前存在的其他各种用户体验定量模型, 也可以适用于将 来可能出现的各种用户体验定量模型。  The video user experience quantitative model shown in the above formulas (3), (4), (5), (6), and (7) is merely a specific example exemplified for describing the embodiment of the present invention. Because the embodiment of the present invention is independent of the specific manifestation of the user experience quantitative model, the embodiments of the present invention can be applied to other various user experience quantitative models that exist at present, and can also be applied to various user experience quantitative models that may appear in the future. .
在实际应用中, 视频比特率 vbr不是连续变化的, 即使是采用所谓的 FGS ( Fine Granularity Scalability, 精细分层编码) 的压缩编码技术, vbr也不是连续变化的。 Fr、 vcp、 pf、 kfi在本质上都 是非连续变化的, 是离散变量。 因此, fcp(br, fr, cp, pf, kfi)涉及的 5个变量都可以离散化, 可以用 每个变量所常用的典型值来表示该变量。 如对于比特率, 可以考虑如下离散值: 128bkps、 256bkps、 384kbps、 512kbps、 768kbps、 1024kbps、 1536kbps、 1920kbps、 2048kbps等等。 由此可知, fcp(vbr, fr, vcp, pf, kfi)可以用一个 5维的离散表格来表示。  In practical applications, the video bit rate vbr is not continuously changed. Even with the so-called FGS (Fine Granularity Scalability) compression coding technique, vbr is not continuously changed. Fr, vcp, pf, and kfi are non-continuously variable in nature and are discrete variables. Therefore, the five variables involved in fcp(br, fr, cp, pf, kfi) can be discretized, and can be represented by the typical values commonly used by each variable. For the bit rate, discrete values such as 128bkps, 256bkps, 384kbps, 512kbps, 768kbps, 1024kbps, 1536kbps, 1920kbps, 2048kbps, etc. can be considered. It can be seen that fcp(vbr, fr, vcp, pf, kfi) can be represented by a 5-dimensional discrete table.
本发明实施方式对 fecc(ecct, eccp)模型的分析如下:  The analysis of the fecc (ecct, eccp) model in the embodiment of the present invention is as follows:
对于给定的纠错编码类型, 如 R-S (Reed-Solomon Code) 码、 BCH码、 喷泉 (Fountain Code) 码、 旋风码 (Tornado Code) 、 速龙码 (Raptor Code) 等, 在不考虑带宽的约束下, 采用的保护强 度越高, 用户的体验效果就越好。 对于保护强度, 可以采用一组参数来描述, 如对于很多纠错编码 类型, 可以采用两个参数 (n,m)分别表示总的节点数和数据节点数来联合表示保护强度性能。 其中, 总的节点数 =数据节点数 +校验节点数。 本发明实施方式可以用 K个参数来描述保护强度。  For a given type of error correction coding, such as RS (Reed-Solomon Code) code, BCH code, Fountain Code, Tornado Code, Raptor Code, etc., regardless of bandwidth Under the constraint, the higher the protection strength used, the better the user experience. For the protection strength, a set of parameters can be used to describe. For many error correction coding types, two parameters (n, m) can be used to represent the total number of nodes and the number of data nodes to jointly represent the protection strength performance. Among them, the total number of nodes = the number of data nodes + the number of check nodes. Embodiments of the invention may use K parameters to describe the protection strength.
对于某种给定的纠错编码类型, 端到端的丢包率越高, 则用户体验越差。 因此, 在 fecc(ecct, eccp)模型中,丢包率是一个关键数据,丢包率是一个外部变量,是流服务器无法控制的。 但是, 在为流服务器提供的控制策略中需要使用丢包率这个变量, 因此, 在本发明实施方式中必须 获取丢包率。 获得丢包率的原理如附图 3所示。  For a given type of error correction coding, the higher the end-to-end packet loss rate, the worse the user experience. Therefore, in the fecc (ecct, eccp) model, the packet loss rate is a key data, and the packet loss rate is an external variable that is uncontrollable by the streaming server. However, the variable packet loss rate needs to be used in the control strategy provided for the streaming server. Therefore, the packet loss rate must be obtained in the embodiment of the present invention. The principle of obtaining the packet loss rate is shown in Figure 3.
在图 3中, 用户终端为媒体流的接收端,用户终端统计一段时间内的丢包数和总的包数, 从而得 到该段时间内的平均丢包率, 然后, 用户终端通过 QoS报告机制, 如通过 RTCP (Real-time Control Protocol)数据包将平均丢包率上报给流服务器。 流服务器将用户终端上报的平均丢包率上报给策略 与控制服务器, 策略与控制服务器获得用户终端的丢包率。  In FIG. 3, the user terminal is a receiving end of the media stream, and the user terminal collects the number of lost packets and the total number of packets in a period of time, thereby obtaining an average packet loss rate during the period of time, and then, the user terminal passes the QoS reporting mechanism. The average packet loss rate is reported to the streaming server through the RTCP (Real-time Control Protocol) packet. The flow server reports the average packet loss rate reported by the user terminal to the policy and control server, and the policy and control server obtains the packet loss rate of the user terminal.
对于某种给定的纠错编码类型, 在不同的端到端丢包率下, fecc(ecct,eccp)可以用一个多维表格 来表示。 如果将丢包率、 纠错编码类型也作为维度考虑, 则可以采用 K+2维的表格来表示 fecc(ecct,eccp), 其中 K为描述 eccp的参数个数。 图 4示出了 fecc与丢包率、 以及保护强度参数的两个 参数之间的关系。 图 4示出的 fecc(ecct,eccp)是一个二维表格, 其中, eccpl和 eccp2是两个描述保护强 度的参数。 For a given type of error correction coding, fecc( e cct, eccp) can be represented by a multidimensional table at different end-to-end packet loss rates. If the packet loss rate and the error correction coding type are also considered as dimensions, a K+2-dimensional table may be used to represent fecc(ecct, eccp), where K is the number of parameters describing eccp. Figure 4 shows the relationship between fecc and packet loss rate, and two parameters of the protection strength parameter. The fecc(ecct, eccp) shown in Fig. 4 is a two-dimensional table, in which eccpl and eccp2 are two parameters describing the strength of protection.
纠错编码工作原理如附图 5所示。  The error correction coding works as shown in Figure 5.
图 5中,流服务器从存储设备中的视频或者音频文件中读出视频或者音频数据,视频和音频数据 可以存储在不同的文件中, 也可以存储在一种通用容器文件中, 如 AVI (Audio Video Interleaved, 音频视频交织) 文件, 一个 AVI文件可以同时包含多个视频和音频流。 流服务器可以根据需要通过 纠错编码环节对多媒体流进行编码, 然后, 通过打包发送环节将视频流和音频流打包为数据包流, 最后, 将数据包流发送到网络上。 In Figure 5, the streaming server reads video or audio data, video and audio data from a video or audio file in the storage device. It can be stored in different files, or it can be stored in a common container file, such as AVI (Audio Video Interleaved) files. An AVI file can contain multiple video and audio streams at the same time. The streaming server can encode the multimedia stream through the error correction coding link as needed, and then package the video stream and the audio stream into a packet stream through the packet transmission link, and finally, send the packet stream to the network.
引入了纠错编码后, 对于媒体流数据来说, 虽然在丢包的情况下提高了保护能力, 但是, 媒体 流数据的比特率有所增加。 对于某种给定的纠错编码类型以及一组给定的保护强度参数, 对应存在 一个比例因子 kecc(ecct,eccp), 即经过纠错编码后, 视频流的比特率增加为原来的 kecc(ecct,eccp)倍。 严格的说, 压缩的媒体流数据经过打包后, 也会存在额外的开销。 这个额外 的开销是可以精确计算的。针对一种固定的编码协议和具体参数如比特率、 打包协议(如 RTP, Real Time Protocol, 实时协议)等, 可以确定一个比特率倍增比例因子 kpac(br,cp,pacp), 其中, 变量 pacp 表示打包协议 (packetization protocol) 。 由于这个额外的开销一般可以忽略不计, 所以, 本发明实 施方式可以忽略这个比例因子, 认为 kpac(br,cp,pacp)恒等于 1。  After the error correction coding is introduced, for the media stream data, although the protection capability is improved in the case of packet loss, the bit rate of the media stream data is increased. For a given error correction coding type and a given set of protection strength parameters, there is a scale factor kecc(ecct, eccp), that is, after error correction coding, the bit rate of the video stream is increased to the original kecc ( Ecct, eccp) times. Strictly speaking, compressed media stream data will be packaged and there will be additional overhead. This extra overhead is accurately calculated. For a fixed coding protocol and specific parameters such as bit rate, packet protocol (such as RTP, Real Time Protocol, real-time protocol), etc., a bit rate multiplication factor kpac(br, cp, pacp) can be determined, where the variable pacp Indicates the packetization protocol. Since this extra overhead is generally negligible, the embodiment of the present invention can ignore this scale factor and consider kpac(br, cp, pacp) to be equal to one.
二、 音频用户体验定量模型 (QEA) 。  Second, the Audio User Experience Quantitative Model (QEA).
音频用户体验定量模型 QEA = g(abr,acp,ecct,eccp) ( 8)  Audio User Experience Quantitative Model QEA = g(abr,acp,ecct,eccp) ( 8)
其中, g(.)表示一个函数, 音频用户体验定量模型中的各参数解释如下:  Where g(.) represents a function, and the parameters in the quantitative model of the audio user experience are explained as follows:
abr为音频比特率 (Audio bit rate) , 如 32kbps, 48kbps, 64kbps, 192kbps等, abr的单位为比特 Abr is the audio bit rate, such as 32kbps, 48kbps, 64kbps, 192kbps, etc., the unit of abr is bit
/秒或者千比特 /秒。 /second or kilobits/second.
acp为音频压缩编码协议 (Audio compression protocol) , 目前可选择的压缩编码协议有多种, 如 ITU-T的 G.711、 G.722、 G.723.K G.728、 G.729、 G.729.K MPEG的 AAC、 MP3以及 IETF的 iLBC (Internet Low-BitRate Codec) 等等。  Acp is an audio compression coding protocol. There are various compression coding protocols currently available, such as ITU-T G.711, G.722, G.723.K G.728, G.729, G. .729.K MPEG AAC, MP3 and IETF iLBC (Internet Low-BitRate Codec) and so on.
ecct为纠错编码类型 ( error correction code type、 或 error control code type ) 。  Ecct is an error correction code type (or error control code type).
eccp为纠错编码参数, 即保护强度参数 (error correction/control code parameters) 。  Eccp is the error correction coding parameter (error correction/control code parameters).
音频用户体验定量模型 QEA可进一步表示为:  The audio user experience quantitative model QEA can be further expressed as:
QEA = g(abr, acp, ecct, eccp) = gcp(abr, acp) + gecc(ecct, eccp) ( 9 ) 其中, gcp(abr,acp)表示与音频压缩编码相关的项, 而 gecc(ecct,eccp)表示和纠错编码相关 的项。  QEA = g(abr, acp, ecct, eccp) = gcp(abr, acp) + gecc(ecct, eccp) ( 9 ) where gcp(abr,acp) represents the item related to audio compression encoding, and gecc(ecct , eccp) represents an item related to error correction coding.
本发明实施方式采用的音频用户体验定量模型主要依赖于音频压缩编码协议 acp和比特率 abr两 个变量。 acp的不同取值对应不同的音频压缩编码协议。 当前的许多音频压缩编码协议都支持多个比 特率, 如 32kbps、 48kbps, 64kbps, 192kbps等等。 音频流由于采用了纠错编码而提高了用户体验, gecc(ecct, eccp)与视频 fecc(ecct, eccp)类似, 也可以用一个多维离散表格来表示。 gecc(ecct,eccp)也主要依赖于丢包率。 同时, 由于对音频流使用了纠错保护编码, 同样会引起比 特率的上升, 上升的比例因子也是 kecc(ecct, eccp)。 另外, 在采用纠错编码后, 会引起流服务器 对多媒体数据处理量的额外增加, 导致流服务器对多媒体数据处理效率降低。  The audio user experience quantitative model adopted by the embodiment of the present invention mainly relies on two variables of the audio compression coding protocol acp and the bit rate abr. The different values of acp correspond to different audio compression coding protocols. Many current audio compression coding protocols support multiple bit rates, such as 32 kbps, 48 kbps, 64 kbps, 192 kbps, and the like. The audio stream improves user experience by using error correction coding. gecc(ecct, eccp) is similar to video fecc(ecct, eccp) and can also be represented by a multidimensional discrete table. Gecc (ecct, eccp) also depends mainly on the packet loss rate. At the same time, due to the use of error correction protection coding for the audio stream, the bit rate is also increased, and the rising scale factor is also kecc(ecct, eccp). In addition, after the error correction coding is adopted, an additional increase in the amount of multimedia data processing by the streaming server is caused, which causes the streaming server to reduce the processing efficiency of the multimedia data.
上述实施方式例举了具体的用户体验定量模型, 用户体验定量模型是本发明实施方式的目标函 数, 本发明实施方式还需要设置目标函数的约束条件, 从而将用户体验定量模型转换为数学优化问 题。 这里的约束条件可以从媒体流对应的资源限制条件来获得。 由于媒体流需要消耗流服务器的资 源, 因此, 本发明实施方式可以从流服务器的资源来设置约束条件。 The above embodiment exemplifies a specific user experience quantitative model, and the user experience quantitative model is a target letter of the embodiment of the present invention. The embodiment of the present invention also needs to set a constraint condition of the objective function, thereby converting the user experience quantitative model into a mathematical optimization problem. The constraints here can be obtained from resource constraints corresponding to the media stream. Since the media stream needs to consume the resources of the streaming server, embodiments of the present invention can set constraints from the resources of the streaming server.
下面以流服务器的处理资源为例对媒体流需要消耗流服务器的资源情况进行说明。  The following takes the processing resources of the streaming server as an example to describe the situation in which the media stream needs to consume the resources of the streaming server.
流服务器是一个具有处理计算能力的网络设备, 流服务器总处理资源是有限的。 衡量流服务器 处理能力的一个粗略指标是并发流数 (number of concurrent streams) , 也就是流服务器同时发送媒 体流的个数。 但是, 本发明实施方式可以不考虑并发流数这个指标, 而从媒体流的处理过程来分析 媒体流对流服务器资源的消耗。 流服务器对媒体流的处理过程可以包括如下环节:  A streaming server is a network device with processing power. The total processing resources of the streaming server are limited. A rough indicator of the processing power of a streaming server is the number of concurrent streams, which is the number of simultaneous streams that the streaming server sends. However, the embodiment of the present invention can analyze the consumption of the media stream convection server resource from the processing flow of the media stream regardless of the index of the concurrent stream number. The processing of the media stream by the streaming server may include the following steps:
1、 从存储设备中读取流媒体数据;  1. Reading streaming media data from the storage device;
2、 对流媒体数据进行纠错编码;  2. Perform error correction coding on the streaming media data;
3、 将流媒体数据进行打包发送。  3. The streaming media data is packaged and sent.
在上述三个环节中, 读取环节和打包发送环节是必须经过的, 这两个环节基本上只和比特率有 关, 即由单位时间内读取和打包发送的数据量决定。 设定流服务器对读取和打包发送过程的处理开 销为: Cp(br), 即依赖的变量是比特率 br, 对于视频流来说比特率是 vbr, 对于音频流来说比特率是 abr。 纠错编码环节是可选的, 即流服务器可以不对媒体流进行纠错编码处理, 也可以对媒体流进行 纠错编码处理。 纠错编码环节除了和比特率有关外, 还与 ecct和 eccp有关。 因此, 可以设定纠错编码 环节的处理开销为: Cecc(br, ecct, eccp) , 即依赖的变量是比特率 (对于视频流来说比特率是 vbr, 对于音频流来说比特率是 abr)、 ecct和 eccp。  In the above three links, the reading link and the packet transmission link must pass, and these two links are basically only related to the bit rate, that is, the amount of data read and packaged and sent in unit time. The processing flow of the set stream server to the read and packet transmission process is: Cp(br), that is, the dependent variable is the bit rate br, the bit rate is vbr for the video stream, and the bit rate is abr for the audio stream. The error correction coding step is optional, that is, the stream server may not perform error correction coding processing on the media stream, and may also perform error correction coding processing on the media stream. In addition to the bit rate, the error correction coding link is also related to ecct and eccp. Therefore, the processing overhead of the error correction coding link can be set as follows: Cecc(br, ecct, eccp), that is, the dependent variable is the bit rate (the bit rate is vbr for the video stream, and the bit rate is abr for the audio stream). ), ecct and eccp.
对于一个媒体流来说, 流服务器的总处理开销为:  For a media stream, the total processing overhead of the streaming server is:
,, 、 iCp(br) + Cecc(br, ecct, eccp) 有纠错编码 , 、 ,, , iCp(br) + Cecc(br, ecct, eccp) with error correction coding, ,
Ct(br, ecct, eccp) , — ( 10) ' ' W lCp(br) 无纠错编码 Ct(br, ecct, eccp) , — ( 10) '' W lCp(br) No error correction coding
从公式 10可知, 对于一个媒体流来说, 流服务器的总处理开销可以有如表 1所示的几种情况: 表 1 流服务器对单个媒体流的总处理开销情况  As shown in Equation 10, for a media stream, the total processing overhead of the stream server can be as shown in Table 1: Table 1 The total processing overhead of the stream server for a single media stream
Figure imgf000009_0001
对于视频流来说, Cp(vbr)是随着 vbr的增大而增大的, Cecc( br,ecct,eccp)也是随着 vbr的增 大而增大的。 对于音频流来说, Cp (abr)是随着 abr的增大而增大的, Cecc(abr, ecct, eccp)也是随 着 abr的增大而增大的。
Figure imgf000009_0001
For video streams, Cp(vbr) increases as vbr increases, and Cecc(br,ecct,eccp) also increases as vbr increases. For the audio stream, Cp (abr) increases as abr increases, and Cecc(abr, ecct, eccp) also increases as abr increases.
在实际应用中, 存在一组数值 (eCct,eCCp)max使得对于每个给定的 vbr或者 abr值, Cecc(vbr, ecct, eccp)或者 Cecc(abr, ecct, eccp)的取值最大。 也就是说, 对于每个给定的 vbr或者 abr值, 可以计算出视频流或者音频流所需要消耗流服务器的最大处理资源。 视频流需要消耗流服务 器的最大处理资源、 音频流需要消耗流服务器的最大处理资源可以表示为如下形式: mpvpr(vbr) = Cp(vbr) + Cecc(vbr,ecct eccp In practical applications, there is a set of values (e C ct, eCC p) max such that the value of Cecc(vbr, ecct, eccp) or Cecc(abr, ecct, eccp) for each given vbr or abr value maximum. That is, for each given vbr or abr value, the maximum processing resource of the streaming server that the video stream or audio stream needs to consume can be calculated. The video stream needs to consume the maximum processing resources of the streaming server, and the audio processing needs to consume the maximum processing resources of the streaming server, which can be expressed as follows: Mpvpr(vbr) = Cp(vbr) + Cecc(vbr,ecct eccp
mpapr(abr) = Cp(abr) + Cecc(abr, ecct , eccp ) ( 11 ) 其中, mpvpr (maximum possible video processing resource)表示视频流可能需要消耗流月艮务器 的最大处理资源; mpapr (maximum possible audio processing resource)表示音频流可能需要消耗流 服务器的最大处理资源。 Mpvpr是比特率 vbr的递增函数, mpapr是比特率 abr的递增函数。  Mpapr(abr) = Cp(abr) + Cecc(abr, ecct , eccp ) ( 11 ) where mpvpr (maximum possible video processing resource) indicates that the video stream may need to consume the maximum processing resources of the server; mpapr (maximum The communicating audio processing resource) indicates that the audio stream may need to consume the maximum processing resources of the streaming server. Mpvpr is an increasing function of the bit rate vbr, and mpapr is an increasing function of the bit rate abr.
设定流服务器的总处理资源为 RT (R, Resource资源; T, Total全部) , RT中有一部分资源是 固定的, 和媒体流没有关系, 如用于系统管理、 运行操作系统等等。 在计算流服务器用于流的总处 理资源时, 需要将这一部分固定资源从 RT中减去。 上述固定资源用 RF表示 (F表示固定即 fixed) 则流服务器用于流的真正可用处理资源 RA (A, Available, 可用)为: RA=RT_RF。 在设置目标函 数的约束条件时, 应考虑音频流或视频流需要消耗的最大处理资源必须不能超过流服务器的可用处 理资源 RA。  Set the total processing resource of the streaming server to RT (R, Resource resource; T, Total all). Some resources in the RT are fixed, and have nothing to do with the media stream, such as system management, running the operating system, and so on. When calculating the total processing resources used by the streaming server for the stream, this part of the fixed resources needs to be subtracted from the RT. The above fixed resources are represented by RF (F means fixed or fixed). The real available processing resource RA (A, Available, available) used by the streaming server for the stream is: RA=RT_RF. When setting the constraints of the target function, it should be considered that the maximum processing resource that the audio stream or video stream needs to consume must not exceed the available processing resources RA of the streaming server.
本发明实施方式还可以根据流服务器的带宽资源、 用户终端对流媒体服务的限制条件等来设置 目标函数的约束条件。  The embodiment of the present invention may also set the constraint condition of the objective function according to the bandwidth resource of the streaming server, the restriction condition of the user terminal to the streaming media service, and the like.
在根据用户体验定量模型设置了数学优化问题后, 策略与控制服务器可以根据现有的各种求解 方法来求解数学优化问题。该求解过程可以通过采用 DSP (Digital Signal Processor, 即数字信号处理 器)芯片来实现。 当数学优化问题采用所谓的神经网络如 Hopfield网络来求解时, 可以利用目前已经 存在的商用神经网络数字集成电路芯片。 策略与控制服务器通过求解结果获得了用户体验定量模型 中的各参数, 即确定了为流服务器提供的控制策略中的各参数。 然后, 策略与控制服务器将控制策 略输出给流服务器。 流服务器需要在媒体流读取、 纠错编码和打包发送过程中执行这些控制策略。 控制策略中包括对流服务器执行媒体流读取、 纠错编码、 打包发送等各过程中各变量的控制。 这里 的变量如视频的压缩编码协议、 图像大小、 帧率、 比特率等; 再如音频的压缩编码协议、 比特率等。  After setting the mathematical optimization problem according to the user experience quantitative model, the strategy and control server can solve the mathematical optimization problem according to various existing solving methods. The solution process can be implemented by using a DSP (Digital Signal Processor) chip. When mathematical optimization problems are solved using so-called neural networks such as Hopfield networks, commercially available commercial neural network digital integrated circuit chips can be utilized. The strategy and control server obtains the parameters in the user experience quantitative model by solving the results, that is, determining the parameters in the control strategy provided for the streaming server. The policy and control server then outputs the control policy to the streaming server. The streaming server needs to perform these control strategies during media stream reading, error correction coding, and packet delivery. The control strategy includes controlling the variables in the process of media stream reading, error correction coding, and packet transmission by the stream server. Variables such as video compression coding protocol, image size, frame rate, bit rate, etc.; such as audio compression coding protocol, bit rate, etc.
在本发明实施方式中, 流服务器可以执行控制策略中的各变量, 也就是说, 策略与控制服务器 是可以根据控制策略来控制流服务器为用户提供的流媒体服务。 在具体的实际应用中, 如果某些变 量不能控制, 则会使策略与控制服务器在确定各变量的过程更简单一些, 从而成为确定各变量的一 个特例。  In the embodiment of the present invention, the streaming server can execute various variables in the control policy, that is, the policy and control server can control the streaming media service provided by the streaming server for the user according to the control policy. In a specific practical application, if some variables cannot be controlled, the strategy and control server will be simpler in determining the variables, and thus become a special case for determining each variable.
在本发明实施方式中,只考虑视频、音频流已经作为压缩的媒体文件存在于存储设备中的情况, 不考虑通过实时编码设备获得视频、音频流的情况。 因此, 控制策略中的有些变量不是都能控制的, 至少是不能连续控制的, 如视频的帧率一般不能随意控制; 如果压缩文件中对应于某个比特率, 帧 率应该是固定的, 要改变帧率, 可以采用跳帧等方法; 改变帧率一般是无法实现或者很难实现的。 强制进行跳帧, 会导致用户在一段时间内的用户体验严重下降。  In the embodiment of the present invention, only the case where the video and the audio stream have existed as the compressed media file in the storage device is considered, and the case where the video and audio streams are obtained by the real-time encoding device is not considered. Therefore, some variables in the control strategy are not controllable, at least they cannot be continuously controlled. For example, the frame rate of a video cannot be controlled at will; if the compressed file corresponds to a certain bit rate, the frame rate should be fixed. To change the frame rate, you can use methods such as frame skipping; changing the frame rate is generally impossible or difficult to achieve. Forcing a frame skipping will result in a serious user experience degradation for a period of time.
目前, 通过采用分层编码(Layered coding)技术, 可以使视频数据经过一次压缩编码同时支持 多个比特率和图像格式。 如基本层支持 QCIF (Quarter Common Interchange Format, 四分之一公共信 息交换格式) 格式、 比特率为 128kbps; 增强层支持 CIF格式, 比特率为 768kbps等等。 一般情况下, 视频数据可以支持一个基本层和多个增强层, 因此, 视频数据可以提供多种比特率的组合。 即便是不采用分层编码技术, 也同样可以使视频数据支持多个比特率和图像格式。 对于同一个 视频内容如同一个电影, 可以采用不同的编码协议和比特率进行压缩编码, 形成多个版本的视频数 据, 不同版本的视频数据提供给具有不同能力的用户终端。 At present, by using layered coding technology, video data can be compressed and encoded at the same time to support multiple bit rates and image formats. For example, the base layer supports the QCIF (Quarter Common Interchange Format) format, and the bit rate is 128 kbps; the enhancement layer supports the CIF format, the bit rate is 768 kbps, and the like. In general, video data can support one base layer and multiple enhancement layers, so video data can provide a combination of multiple bit rates. Even without layered coding, video data can support multiple bit rates and image formats. For the same video content as a movie, different encoding protocols and bit rates can be used for compression encoding to form multiple versions of video data, and different versions of video data are provided to user terminals having different capabilities.
对于同一个音频内容如同一首歌, 可以采用 AAC压缩, 也可以采用 MP3压缩, 从而产生不同的 比特率。  For the same audio content, such as the same song, you can use AAC compression or MP3 compression to generate different bit rates.
对于图像格式也可以采用不同的编码协议和比特率进行压缩, 以产生不同版本的图像格式, 这 是非常具有实际应用意义的。 比如同一部电影, 采用 1080i格式进行压缩, 该版本的视频数据可以提 供给需要高清质量的用户终端;采用 XGA格式进行压缩,该版本的视频数据可以提供给 PC用户终端; 采用 CIF或者 QCIF格式进行压缩, 该版本的视频数据可以提供给移动终端。  For image formats, different encoding protocols and bit rates can also be used for compression to produce different versions of the image format, which is very practical. For example, the same movie is compressed in 1080i format. The video data of this version can be provided to user terminals that require high-definition quality; compression is performed in XGA format, and the video data of this version can be provided to PC user terminals; CIF or QCIF format is used. Compressed, this version of the video data can be provided to the mobile terminal.
对于帧率, 也可以采用上述类似的方法, 即通过采用不同帧率进行压缩编码得到不同帧率的多 媒体数据。 不过通常来说, 帧率和比特率之间存在一个最优配合关系。 在给定比特率的情况下, 会 存在一个最优的帧率与之配合。 公式 (6) 即可以体现出比特率和帧率的最优配合关系。  For the frame rate, a similar method as described above can also be employed, that is, by compressing and encoding at different frame rates to obtain multimedia data of different frame rates. However, in general, there is an optimal fit between the frame rate and the bit rate. At a given bit rate, there is an optimal frame rate to match. Equation (6) can reflect the optimal fit of bit rate and frame rate.
流服务器执行策略与控制服务器传输来的控制策略的过程如附图 6所示。  The process of the flow server executing the policy and controlling the control policy transmitted by the server is as shown in FIG. 6.
在图 6中, 流服务器在执行具体的控制策略时, 需要按照控制策略中的各变量, 来选择存储设备 中存储的合适的媒体数据文件, 读取选择的媒体数据文件, 并对媒体数据文件进行纠错编码、 打包 发送等处理。  In FIG. 6, when the flow server executes a specific control policy, it is required to select a suitable media data file stored in the storage device according to each variable in the control policy, read the selected media data file, and read the media data file. Perform error correction coding, packet transmission, and the like.
图 6中流服务器执行策略与控制服务器传输来的控制策略的具体实现过程可以包括如下四种情 况:  The specific implementation process of the flow server execution policy and the control policy transmitted by the control server in FIG. 6 may include the following four situations:
情况一、 针对同一内容的视频媒体流, 存储设备中存储的流媒体数据文件包括: 支持不同比特 率、 帧率、 压缩编码协议、 图像格式、 关键帧间隔、 纠错编码类型、 保护强度参数的多个流媒体数 据文件。 此时, 流服务器在接收到策略与控制服务器传输来的控制策略后, 根据控制策略中的比特 率、 帧率、 压缩编码协议、 图像格式、 关键帧间隔、 纠错编码类型、 保护强度参数选择读取存储设 备中存储的流媒体数据文件。 在成功读取了流媒体数据文件后, 流服务器直接将读取的流媒体数据 文件转化成媒体流, 发送给用户终端。  Case 1: For the video media stream of the same content, the streaming media data file stored in the storage device includes: supporting different bit rates, frame rates, compression coding protocols, image formats, key frame intervals, error correction coding types, and protection strength parameters. Multiple streaming media data files. At this time, after receiving the control policy transmitted by the policy and the control server, the stream server selects according to the bit rate, the frame rate, the compression coding protocol, the image format, the key frame interval, the error correction coding type, and the protection strength parameter in the control policy. Read the streaming media data file stored in the storage device. After successfully reading the streaming media data file, the streaming server directly converts the read streaming media data file into a media stream and sends it to the user terminal.
情况二、 针对同一内容的视频媒体流, 存储设备中存储的流媒体数据文件包括: 支持不同比特 率、 帧率、 压缩编码协议、 图像格式、 关键帧间隔的多个流媒体数据文件。 此时, 流服务器在接收 到策略与控制服务器传输来的控制策略后, 根据控制策略中的比特率、 帧率、 压缩编码协议、 图像 格式、 关键帧间隔选择读取存储设备中存储的流媒体数据文件。 在成功读取了流媒体数据文件后, 流服务器根据控制策略中的纠错编码类型、 保护强度参数对读取的流媒体数据文件进行纠错编码处 理。 然后, 流服务器将纠错编码处理后的流媒体数据文件转化成媒体流, 发送给用户终端。  Case 2: For the video media stream of the same content, the streaming media data file stored in the storage device includes: a plurality of streaming media data files supporting different bit rates, frame rates, compression encoding protocols, image formats, and key frame intervals. At this time, after receiving the control policy transmitted by the policy and control server, the stream server selects to read the streaming media stored in the storage device according to the bit rate, the frame rate, the compression coding protocol, the image format, and the key frame interval in the control policy. data files. After successfully reading the streaming media data file, the streaming server performs error correction coding processing on the read streaming media data file according to the error correction coding type and the protection strength parameter in the control policy. Then, the stream server converts the error correction encoded stream media data file into a media stream and sends the file to the user terminal.
情况三、 针对同一内容的音频媒体流, 存储设备中存储的流媒体数据文件包括: 支持不同比特 率、 压缩编码协议、 纠错编码类型、 保护强度参数的多个流媒体数据文件。 此时, 流服务器在接收 到策略与控制服务器传输来的控制策略后, 根据控制策略中的比特率、 压缩编码协议、 纠错编码类 型、 保护强度参数选择读取存储设备中存储的流媒体数据文件。 在成功读取了流媒体数据文件后, 流服务器直接将读取的流媒体数据文件转化成媒体流, 发送给用户终端。 情况四、 针对同一内容的音频媒体流, 存储设备中存储的流媒体数据文件包括: 支持不同比特 率、 压缩编码协议的多个流媒体数据文件。 此时, 流服务器在接收到策略与控制服务器传输来的控 制策略后, 根据控制策略中的比特率、 压缩编码协议读取流媒体数据文件, 并根据控制策略中的纠 错编码类型、 保护强度参数对读取的流媒体数据文件进行纠错编码处理。 然后, 流服务器将纠错编 码处理后的流媒体数据文件转化成媒体流, 发送给用户终端。 Case 3: For the audio media stream of the same content, the streaming media data file stored in the storage device includes: a plurality of streaming media data files supporting different bit rates, compression coding protocols, error correction coding types, and protection strength parameters. At this time, after receiving the control policy transmitted by the policy and the control server, the stream server selects and reads the streaming media data stored in the storage device according to the bit rate, the compression coding protocol, the error correction coding type, and the protection strength parameter in the control policy. file. After successfully reading the streaming media data file, the streaming server directly converts the read streaming media data file into a media stream and sends the data to the user terminal. Case 4: For the audio media stream of the same content, the streaming media data file stored in the storage device includes: multiple streaming media data files supporting different bit rates and compression encoding protocols. At this time, after receiving the control policy transmitted by the policy and control server, the stream server reads the streaming media data file according to the bit rate and the compression coding protocol in the control policy, and according to the error correction coding type and protection strength in the control policy. The parameter performs error correction coding processing on the read streaming media data file. Then, the stream server converts the error correction encoded stream media data file into a media stream and sends the file to the user terminal.
由于本发明实施方式中的流服务器是根据控制策略来选择媒体数据文件、 纠错编码、 打包发送 的, 而本发明实施方式中的控制策略是在用户体验定量模型的基础上获得的, 因此, 本发明实施方 式中的流服务器为用户终端提供的流媒体服务是使用户终端体验最优的流媒体服务。  The flow server in the embodiment of the present invention selects the media data file, the error correction code, and the packet transmission according to the control policy, and the control policy in the embodiment of the present invention is obtained on the basis of the user experience quantitative model. The streaming server provided by the streaming server for the user terminal in the embodiment of the present invention is a streaming media service that optimizes the user terminal experience.
下面以几种具体的实施方式为例对本发明实施方式获得控制策略的方法进行说明。  The method for obtaining a control strategy in the embodiment of the present invention will be described below by taking several specific embodiments as an example.
实施方式一、 针对单个视频流的控制策略获得方法。  Embodiment 1 A method for obtaining a control strategy for a single video stream.
首先, 策略与控制服务器需要确定编码协议类型、 比特率、 帧率、 关键帧间隔、 纠错编码码型、 保护强度参数等变量的最优数值, 以使得用户体验达到最优。 在确定各变量的过程中, 需要结合端 到端丢包率 pl, 丢包率为外部变量。 获得丢包率的方法如上面实施方式中的描述, 本发明实施方式 不限制获得丢包率的具体实现过程。 策略与控制服务器设置的目标函数为:  First, the policy and control server needs to determine the optimal values of the encoding protocol type, bit rate, frame rate, key frame interval, error correction coding pattern, protection strength parameter, etc., in order to optimize the user experience. In the process of determining each variable, it is necessary to combine the end-to-end packet loss rate pl and the packet loss rate as an external variable. The method for obtaining the packet loss rate is as described in the foregoing embodiment, and the embodiment of the present invention does not limit the specific implementation process for obtaining the packet loss rate. The objective functions set by the Policy and Control Server are:
QEV = f (vbr, fr, vcp, pf, kfi, ecct, eccp) = fcp(vbr, fr, vcp, pf, kfi) + eccind x fecc(ecct, eccp)QEV = f (vbr, fr, vcp, pf, kfi, ecct, eccp) = fcp(vbr, fr, vcp, pf, kfi) + eccind x fecc(ecct, eccp)
( 12) (12)
在上述目标函数中引入了一个新的变量, BP eccind (error correction code indicator), eccind用于 指示是否采用了纠错编码。 eccind的取值如下:  A new variable, BP eccind (error correction code indicator), is introduced in the above objective function, and eccind is used to indicate whether error correction coding is used. The value of eccind is as follows:
使用纠错编码 , 、  Using error correction coding, ,
eccmd = 一…, ( 13 ) Eccmd = one..., ( 13 )
Figure imgf000012_0001
不用纠错编码
Figure imgf000012_0001
No error correction coding
针对目标函数 (12) 构造约束条件的过程为:  The process of constructing constraints for the objective function (12) is:
在流服务器的网络连接带宽方面: 如果对于每个视频流设定了视频最高允许发送带宽 amvtb (allowable maximum video transmission bandwidth), 那么一个视频流在需要消耗的带宽方面需要满 足如下条件:  In terms of the network connection bandwidth of the streaming server: If the video maximum allowable transmission bandwidth amvtb (allowable maximum video transmission bandwidth) is set for each video stream, then a video stream needs to satisfy the following conditions in terms of bandwidth to be consumed:
((kecc(ecct,eccp)- 1 )eccind+ 1 )vbr<amvtb ( 14)  ((kecc(ecct,eccp)- 1 )eccind+ 1 )vbr<amvtb ( 14)
如果没有对每个视频流设定视频最高允许发送带宽 amvtb,那么一个视频流在需要消耗的带宽方 面需要满足如下条件:  If the maximum allowable transmission bandwidth amvtb is not set for each video stream, then a video stream needs to satisfy the following conditions in terms of bandwidth to be consumed:
((kecc(ecct,eccp)- 1 )eccind+ 1 )vbr≤TAB ( 15 )  ((kecc(ecct,eccp)- 1 )eccind+ 1 )vbr≤TAB ( 15 )
其中: TAB (Total Available Bandwidth, 总可用带宽) 是流服务器对外发送媒体流的总可用带 宽。 如果流服务器还存在一些其他通讯需求, 如与其他服务器进行通讯等, 则 TAB应小于流服务器 与网络连接的总带宽。  Where: TAB (Total Available Bandwidth) is the total available bandwidth of the stream server to send external media streams. If the streaming server still has some other communication needs, such as communicating with other servers, the TAB should be less than the total bandwidth of the streaming server to the network connection.
流服务器的处理资源方面: 如果对于每个视频流设定了视频最大允许使用处理资源 amvpr (allowable maximum video processing resource) , 那么一个视频流在需要消耗的处理资源方面需要 满足如下条件:  Processing resources of the streaming server: If the video maximum allowable processing resource amvpr (allowable maximum video processing resource) is set for each video stream, then a video stream needs to satisfy the following conditions in terms of processing resources to be consumed:
Cp(vbr) + eccind x Cecc(vbr, ecct, eccp) < amvpr ( 16) 如果没有对于每个视频流设定视频最大允许使用处理资源 amvp 那么一个视频流在需要消耗 的处理资源方面需要满足如下条件: Cp(vbr) + eccind x Cecc(vbr, ecct, eccp) < amvpr ( 16) If the video is not allowed to be used for each video stream, the maximum processing resource avp is allowed. Then a video stream needs to meet the following conditions in terms of processing resources that need to be consumed:
Cp(vbr) + eccind x Cecc(vbr, ecct, eccp) < RA ( 17) 其中, RA为流服务器用于流的真正可用处理资源。  Cp(vbr) + eccind x Cecc(vbr, ecct, eccp) < RA ( 17) where RA is the truly available processing resource for the stream server for the stream.
本发明实施方式可以仅根据上述流服务器的网络连接带宽和流服务器的处理资源来设置目标函 数(12) 的约束条件, 本发明实施方式也可以根据流服务器的网络连接带宽、 流服务器的处理资源、 以及用户终端的资源来设置目标函数 (12) 的约束条件。 用户终端的资源如用户终端连接的网络带 宽、 用户终端对多媒体流格式的限制等等。 用户终端对多媒体流格式的限制如对多媒体流图像格式 的限制等等。  The embodiment of the present invention may set the constraint of the target function (12) according to the network connection bandwidth of the streaming server and the processing resource of the streaming server. The embodiment of the present invention may also be based on the network connection bandwidth of the streaming server and the processing resource of the streaming server. And the resources of the user terminal to set the constraints of the objective function (12). The resources of the user terminal, such as the network bandwidth of the user terminal connection, the limitation of the user terminal to the multimedia stream format, and the like. The user terminal limits the multimedia stream format, such as restrictions on the multimedia stream image format.
如果用户终端的网络带宽存在限制, 且用户终端的视频最大允许接收带宽是 amvrb (allowable maximum video reception bandwidth) , 那么约束条件 (14) 需要修正为:  If the network bandwidth of the user terminal is limited, and the maximum allowable receiving bandwidth of the video of the user terminal is amvrb (allowable maximum video reception bandwidth), then the constraint (14) needs to be corrected to:
((kecc(ecct,eccp)- 1 )eccind+ 1 )vbr<min(amvtb,amvrb) ( 18)  ((kecc(ecct,eccp)- 1 )eccind+ 1 )vbr<min(amvtb,amvrb) ( 18)
其中, min(x,y)表示取 x, y两个数中的最小值。  Where min(x, y) represents the minimum of the two numbers x and y.
如果用户终端的网络带宽存在限制, 且用户终端的视频最大允许接收带宽是 amvrb, 那么约束 条件 ( 15 ) 需要修正为:  If the network bandwidth of the user terminal is limited and the maximum allowable receiving bandwidth of the video of the user terminal is amvrb, then the constraint condition (15) needs to be corrected to:
((kecc(ecct,eccp)- 1 )eccind+ 1 )vbr<min(TAB ,amvrb) ( 19)  ((kecc(ecct,eccp)- 1 )eccind+ 1 )vbr<min(TAB ,amvrb) ( 19)
因此, 数学优化问题可以描述为如下形式:  Therefore, the mathematical optimization problem can be described as follows:
{vbr,fr,vcp,pf,kfi,ecct,eccp}0pt = 3TgmaX (fcp(vbr, fr, vcp, pf , kfi) + {vbr,fr,vcp,pf,kfi,ecct,eccp} 0pt = 3TgmaX (fcp(vbr, fr, vcp, pf , kfi) +
{vbr,fr,vcp,pf,kfi,ecct,eccp}eWSxECCVSx{0,l}  {vbr,fr,vcp,pf,kfi,ecct,eccp}eWSxECCVSx{0,l}
eccind x fecc(ecct, eccp)) Eccind x fecc(ecct, eccp))
s.t. S.t.
( 1 )((kecc(ecct,eccp)- 1 )eccind + 1 )vbr < min(amvtb,amvrb)  (1)((kecc(ecct,eccp)-1)eccind + 1 )vbr < min(amvtb,amvrb)
或者 (20) ((kecc(ecct,eccp)- 1 )eccind + l)vbr < min(TAB ,amvrb) Or (20) ((kecc(ecct,eccp)-1)eccind + l)vbr < min(TAB ,amvrb)
(2)  (2)
Cp(vbr) + eccind x Cecc(vbr, ecct, eccp) < amvpr  Cp(vbr) + eccind x Cecc(vbr, ecct, eccp) < amvpr
或者 Or
Cp(vbr) + eccind x Cecc(vbr, ecct, eccp) < RA  Cp(vbr) + eccind x Cecc(vbr, ecct, eccp) < RA
其中, s.t. (subject to)表示约束条件; WS (video variable space, 视频变量空间) , 表示变量 vbr、 fr、 vcp, pf、 kfi所有取值的各种组合所构成的集合; ECCVS (Error Correction Code Variable Space, 纠错编码变量空间) , 表示变量 ecct、 eccp所有取值的各种组合所构成的集合; 运算符 " X "表示两 个空间 (集合) 的笛卡儿积 (Cartesian Product) ; 集合 {0, 1 }是变量 eccind的取值集合。  Where st (subject to) represents a constraint; WS (video variable space) represents a set of all combinations of values vbr, fr, vcp, pf, kfi; ECCVS (Error Correction Code) Variable Space, error correction coding variable space), represents a collection of all combinations of values ecct, eccp; operator "X" represents the Cartesian product of two spaces (sets); {0, 1 } is the set of values of the variable eccind.
在上述实施方式中已经说明了 vbr、 fr、 vcp, pf、 kfi、 ecct, eccp等变量的取值可以均为离散值, 因此, WS、 ECCVS均为有限集合, 即 WS、 ECCVS均为元素个数有限的集合。从而, WS、 ECCVS 和 { 0, 1 } 的笛卡儿积也是有限集合。  It has been explained in the foregoing embodiments that the values of variables such as vbr, fr, vcp, pf, kfi, ecct, and eccp may all be discrete values. Therefore, both WS and ECCVS are finite sets, that is, WS and ECCVS are elements. A limited number of collections. Thus, the Cartesian product of WS, ECCVS, and { 0, 1 } is also a finite set.
在有限集合的基础上求解一个数学优化问题, 有很多种方法, 如蛮力搜索法 (Brutal force search) 、 组合优化 (combinatoric optimization) 方法等等。 蛮力搜索法即在约束条件限制下, 搜索 比较集合中的每组变量组, 最后找到使得目标函数值最大的一组变量值。 使目标函数值最大的一组 变量值即为使编码协议类型、 比特率、 帧率、 关键帧间隔、 纠错编码码型、 保护强度参数等变量的 最优数值。 这些变量的最优数值即为视频用户体验定量模型中的各参数, 视频用户体验定量模型中 的各参数也就是控制策略中的各决策参数。 Solving a mathematical optimization problem on the basis of a finite set, there are many methods, such as Brutal force Search), combinatoric optimization methods, and so on. The brute force search method searches for each set of variables in the comparison set under constraint constraints, and finally finds a set of variable values that maximize the value of the objective function. The set of variable values that maximize the value of the objective function is the optimal value of the variables such as the encoding protocol type, bit rate, frame rate, key frame interval, error correction coding pattern, and protection strength parameter. The optimal values of these variables are the parameters in the quantitative model of the video user experience. The parameters in the quantitative model of the video user experience are also the decision parameters in the control strategy.
对数学优化问题进行求解的方法属于现有的数学方法, 在此不再对数学优化问题的求解方法进 行详细说明。 而且, 本发明实施方式不限制对数学优化问题进行求解的方法。  The method of solving the mathematical optimization problem belongs to the existing mathematical method, and the method for solving the mathematical optimization problem is not described in detail here. Moreover, embodiments of the present invention do not limit the method of solving mathematical optimization problems.
实施方式二、 针对单个音频流的控制策略获得方法。  Embodiment 2: A method for obtaining a control strategy for a single audio stream.
首先, 策略与控制服务器需要确定变量编码协议类型、 比特率、 纠错编码码型、 保护强度参数 的最优数值, 以使得用户体验达到最优。 在确定各变量的过程中, 需要结合端到端丢包率 pl, 丢包 率为外部变量。 获得丢包率的方法如上面实施方式中的描述, 本发明实施方式不限制获得丢包率的 具体实现过程。 策略与控制服务器设置的目标函数为:  First, the policy and control server needs to determine the optimal values of the variable encoding protocol type, bit rate, error correction coding pattern, and protection strength parameters to optimize the user experience. In the process of determining each variable, it is necessary to combine the end-to-end packet loss rate pl and the packet loss rate as an external variable. The method for obtaining the packet loss rate is as described in the foregoing embodiment, and the embodiment of the present invention does not limit the specific implementation process for obtaining the packet loss rate. The objective functions set by the Policy and Control Server are:
QEA = g(abr, acp, ecct, eccp) = gcp(abr, acp) + eccind x gecc(ecct, eccp) (21 ) 针对目标函数 (21 ) 构造约束条件的过程为:  QEA = g(abr, acp, ecct, eccp) = gcp(abr, acp) + eccind x gecc(ecct, eccp) (21) The process of constructing a constraint for the objective function (21) is:
流服务器的网络连接带宽方面: 如果对于每个音频流设定了音频最高允许发送带宽 amatb The network connection bandwidth aspect of the streaming server: If the audio maximum allowed transmission bandwidth is set for each audio stream amatb
(allowable maximum audio transmission bandwidth), 那么一个音频流在需要消耗的带宽方面需要满 足如下条件: (allowable maximum audio transmission bandwidth), then an audio stream needs to meet the following conditions in terms of bandwidth that needs to be consumed:
((kecc(ecct,eccp)- 1 )eccind+ 1 )abr<amatb (22)  ((kecc(ecct,eccp)- 1 )eccind+ 1 )abr<amatb (22)
如果没有对每个音频流设定音频最高允许发送带宽 amvtb,那么一个音频流在需要消耗的带宽方 面需要满足如下条件:  If the audio maximum allowable transmission bandwidth amvtb is not set for each audio stream, then an audio stream needs to satisfy the following conditions in terms of bandwidth to be consumed:
((kecc(ecct,eccp)- 1 )eccind+ 1 )abr<TAB (23 )  ((kecc(ecct,eccp)- 1 )eccind+ 1 )abr<TAB (23 )
其中: TAB (Total Available Bandwidth, 总可用带宽) 是流服务器对外发送媒体流的总可用带 宽。 如果流服务器还存在一些其他通讯需求, 如与其他服务器进行通讯等, 则 TAB应小于流服务器 与网络连接的总带宽。  Where: TAB (Total Available Bandwidth) is the total available bandwidth of the stream server to send external media streams. If the streaming server still has some other communication needs, such as communicating with other servers, the TAB should be less than the total bandwidth of the streaming server to the network connection.
在流服务器的处理资源方面: 如果对每个音频流均设定了音频最大允许使用处理资源 amapr In terms of processing resources of the streaming server: If the audio maximum allowed processing resource is set for each audio stream amapr
(allowable maximum audio processing resource) , 那么一个音频流在需要消耗处理资源方面需要满 足如下条件: (allowable maximum audio processing resource), then an audio stream needs to meet the following conditions in terms of needing to consume processing resources:
Cp(abr) + eccind x Cecc(abr, ecct, eccp) < amapr (24) 如果没有对每个音频流设定了音频最大允许使用处理资源 amapr,那么一个音频流在需要消耗处 理资源方面需要满足如下条件:  Cp(abr) + eccind x Cecc(abr, ecct, eccp) < amapr (24) If the audio maximum allowable processing resource amapr is not set for each audio stream, then an audio stream needs to be satisfied in terms of the need to consume processing resources. The following conditions:
Cp(abr) + eccind x Cecc(abr, ecct, eccp)≤ RA (25) 本发明实施方式可以仅根据上述流服务器的网络连接带宽和流服务器的处理资源来设置目标函 数(21 ) 的约束条件, 本发明实施方式也可以根据流服务器的网络连接带宽、 流服务器的处理资源、 以及用户终端的资源来设置目标函数 (21 ) 的约束条件。 用户终端的资源如用户终端连接的网络带 宽、 用户终端对多媒体流格式的限制等等。 用户终端对多媒体流格式的限制如对音频流格式的限制 等等。 Cp(abr) + eccind x Cecc(abr, ecct, eccp) ≤ RA (25) The embodiment of the present invention can set the constraint of the objective function (21) based only on the network connection bandwidth of the streaming server and the processing resources of the streaming server. The embodiment of the present invention may also set the constraint condition of the objective function (21) according to the network connection bandwidth of the streaming server, the processing resource of the streaming server, and the resource of the user terminal. User terminal resources such as network bands connected to user terminals Wide, user terminal restrictions on the multimedia stream format, and so on. The user terminal limits the multimedia stream format, such as restrictions on the audio stream format.
如果用户终端的网络带宽存在限制, 且用户终端的音频最大允许接收带宽是 amarb (allowable maximum audio reception bandwidth) , 那么约束条件 (22) 需要修正为:  If the network bandwidth of the user terminal is limited, and the maximum allowable audio reception bandwidth of the user terminal is amarb (allowable maximum audio reception bandwidth), the constraint condition (22) needs to be corrected to:
((kecc(ecct,eccp)- 1 )eccind+ 1 )vbr<min(amatb,amarb) (26)  ((kecc(ecct,eccp)- 1 )eccind+ 1 )vbr<min(amatb,amarb) (26)
其中, min(x, y)表示取 x, y两个数中的最小值。  Where min(x, y) represents the minimum of the two numbers x and y.
如果用户终端的网络带宽存在限制,且用户终端的音频最大允许接收带宽是 amarb,那么约束条 件 (23 ) 需要修正为:  If the network bandwidth of the user terminal is limited and the maximum allowable receiving bandwidth of the user terminal is amarb, the constraint condition (23) needs to be corrected to:
((kecc(ecct,eccp)- 1 )eccind+ 1 )vbr<min(TAB ,amarb) (27)  ((kecc(ecct,eccp)- 1 )eccind+ 1 )vbr<min(TAB ,amarb) (27)
因此, 根据流媒体的用户体验定量模型建立的数学优化问题可以描述为如下形式:  Therefore, the mathematical optimization problem established based on the user experience quantitative model of streaming media can be described as follows:
{abr,acp,ecct, eccp} = 3TgmaX (gcp(abr, acp) + eccind x gecc(ecct, eccp))  {abr,acp,ecct, eccp} = 3TgmaX (gcp(abr, acp) + eccind x gecc(ecct, eccp))
{abr,acp,ecct,eccp}eAVSxECCVSx{0, 1 }  {abr,acp,ecct,eccp}eAVSxECCVSx{0, 1 }
s.t. S.t.
( 1 )((kecc(ecct, eccp) - l)eccind + l)abr < min(amatb, amarb)  (1)((kecc(ecct, eccp) - l)eccind + l)abr < min(amatb, amarb)
或者 Or
((kecc(ecct, eccp) - l)eccind + l)abr < min(TAB , amarb)  ((kecc(ecct, eccp) - l)eccind + l)abr < min(TAB , amarb)
(2) (2)
Cp(abr) + eccind x Cecc(abr, ecct, eccp) < amapr  Cp(abr) + eccind x Cecc(abr, ecct, eccp) < amapr
或者 Or
Cp(abr) + eccind x Cecc(abr, ecct, eccp) < RA  Cp(abr) + eccind x Cecc(abr, ecct, eccp) < RA
(28)  (28)
其中, s.t.表示约束条件; AVS (audio variable space, 音频变量空间) , 表示变量 abr,acp所有取 值的各种组合所构成的集合; ECCVS, 表示变量 ecct、 eccp所有取值的各种组合所构成的集合; 运算 符 " X "表示两个空间 (集合) 的笛卡儿积; 集合 {0, 1 }是变量 eccind的取值集合。  Where st represents the constraint; AVS (audio variable space), which represents the set of all combinations of all the values of the variable abr, acp; ECCVS, which represents the various combinations of all the values of the variables ecct and eccp The set of constructs; the operator "X" represents the Cartesian product of two spaces (sets); the set {0, 1 } is the set of values of the variable eccind.
在上述实施方式中已经说明了 abr、 acp、 ecct, eccp等变量的取值可以均为离散值, 因此, AVS、 ECCVS均为有限集合, 即 AVS、 ECCVS均为元素个数有限的集合。 从而, AVS、 ECCVS和 { 0, 1 } 的笛卡儿积也是有限集合。  It has been explained in the foregoing embodiments that the values of variables such as abr, acp, ecct, and eccp may all be discrete values. Therefore, both AVS and ECCVS are finite sets, that is, AVS and ECCVS are sets of a limited number of elements. Thus, the Cartesian product of AVS, ECCVS, and { 0, 1 } is also a finite set.
在有限集合的基础上求解一个数学优化问题有很多种方法, 对数学优化问题进行求解的方法属 于现有的数学方法, 在此不再对数学优化问题的求解方法进行详细说明。 而且, 本发明实施方式不 限制对数学优化问题进行求解的方法。 无论采用怎样的求解方法, 在确定出使得目标函数值最大的 一组变量值后, 即确定出控制策略中的各决策参数。  There are many methods for solving a mathematical optimization problem based on a finite set. The method for solving the mathematical optimization problem belongs to the existing mathematical method. The method for solving the mathematical optimization problem is not described in detail. Moreover, embodiments of the present invention do not limit the method of solving mathematical optimization problems. Regardless of the solution method used, after determining the set of variable values that maximize the value of the objective function, the decision parameters in the control strategy are determined.
在实际应用中, 流服务器往往会同时提供多个媒体流, 并为多个用户终端同时提供服务。 媒体 流和用户终端之间的对应关系主要有如附图 7所示的四种情况。 图 7示出的四种情况分别为:  In practical applications, a streaming server tends to provide multiple media streams at the same time and simultaneously provide services for multiple user terminals. The correspondence between the media stream and the user terminal mainly has four cases as shown in FIG. The four cases shown in Figure 7 are:
情况 a、 一对一, 即一个单播流提供给一个用户终端。 情况 a适用于视频点播或者网络不支持组 播情况下的直播 (Live) 。  Case a, one-to-one, that is, a unicast stream is provided to a user terminal. Case a applies to video on demand or the network does not support live streaming (Live) in the case of multicast.
情况 b、 一对多, 即网络支持组播, 用于直播 (Live)或者模拟直播 (Simucast) 。 从流服务器发 出的一个组播流经过流复制节点复制发送到多个用户终端。 Case b, one-to-many, that is, the network supports multicast, used for live (Live) or simulated live (Simucast). From the streaming server A multicast stream is sent and sent to multiple user terminals through the stream replication node.
情况 (;、 多对一, 即一个用户终端同时接收多个单播媒体流, 类似于电视机的画中画。  Situation (;, many-to-one, that is, one user terminal simultaneously receives multiple unicast media streams, similar to a picture-in-picture of a television set.
情况 d、 多对多, 上述三种情况的组合。  Case d, many-to-many, a combination of the above three cases.
在实际应用中, 视频流和音频流不一定成对出现, 如在网络电台(IntemetRadio)应用中, 只有 音频流没有视频流; 再如在远程监控应用中, 可能只有视频流没有音频流。 在 IPTV应用中, 视频流 和音频流往往成对出现。 但是, 视频流的数量和音频流的数量可以不同。 因此, 策略与控制服务器 在建立数学优化过程中, 必须要考虑到上述不同的情况, 使得数学优化问题的描述具有一般性。 在 考虑到上述不同的情况, 针对多个媒体流的流媒体服务的控制策略获得方法可以为如下两种: 实施方式三、 针对多个媒体流、 且分别考虑资源需要消耗的控制策略获得方法。  In practical applications, video streams and audio streams do not necessarily appear in pairs. For example, in an Internet Radio (IntemetRadio) application, only the audio stream has no video stream; as in a remote monitoring application, only the video stream may have no audio stream. In IPTV applications, video streams and audio streams tend to appear in pairs. However, the number of video streams and the number of audio streams can vary. Therefore, in the process of establishing mathematical optimization, the strategy and control server must take into account the above different situations, making the description of mathematical optimization problems general. The control policy obtaining method for the streaming media service of the multiple media streams may be the following two types in the following cases: Embodiment 3: A control policy obtaining method for a plurality of media streams and considering resource consumption separately.
设定流服务器需要发送给用户终端的媒体流包括 NV个视频流和 NA个音频流。 每个视频流的视 频最高允许发送带宽为: amvtb (i) , 其中, i=0、 1、 2、 ..., NV-1。 每个视频流的视频最高允许 发送带宽的具体数值不一定相同。 每个音频流的音频最高允许发送带宽为: amatb (j ) , 其中, j=0、 1、 2、 …, NA-1。 每个音频流的音频最高允许发送带宽的数值, 不一定相同。  The media stream that the streaming server needs to send to the user terminal includes NV video streams and NA audio streams. The maximum allowed transmission bandwidth for each video stream is: amvtb (i) , where i=0, 1, 2, ..., NV-1. The maximum value of the maximum allowed transmission bandwidth of each video stream is not necessarily the same. The maximum allowable transmission bandwidth of each audio stream is: amatb (j ) , where j=0, 1, 2, ..., NA-1. The value of the maximum allowable transmission bandwidth of each audio stream is not necessarily the same.
在设置各个视频流和音频流的最高允许发送带宽时, 所有音频流和所有视频流在需要消耗的带 宽方面需要满足如下条件:  When setting the maximum allowable transmission bandwidth for each video stream and audio stream, all audio streams and all video streams need to meet the following conditions in terms of the bandwidth to be consumed:
NV-1 NA-1  NV-1 NA-1
^amvtb(i) + ^amatb(j) ΓΑΒ (29)  ^amvtb(i) + ^amatb(j) ΓΑΒ (29)
i=0 j=0  i=0 j=0
即流服务器的总可用带宽能够满足各视频流和音频流的带宽需求。  The total available bandwidth of the streaming server can meet the bandwidth requirements of each video stream and audio stream.
在设置各视频流、 音频流的最大允许使用处理资源时, 所有音频流和所有视频流在需要消耗的 处理资源方面需要满足如下条件:  When setting the maximum allowable processing resources of each video stream and audio stream, all audio streams and all video streams need to meet the following conditions in terms of processing resources to be consumed:
NV-1 NA-1  NV-1 NA-1
^ mpvpr(amvtb(i)) + ^ mpapr(amatb( j)) <RA (30) i=0 j=0  ^ mpvpr(amvtb(i)) + ^ mpapr(amatb( j)) <RA (30) i=0 j=0
即流服务器的可用处理资源能够满足各视频流和音频流的处理资源需求。  The available processing resources of the streaming server can satisfy the processing resource requirements of each video stream and audio stream.
在设定公式(29)和(30)的约束条件后, 即可以将各用户体验定量模型转换为数学优化问题, 然后, 对数学优化问题求解。 无论采用怎样的求解方法, 在确定出使得目标函数值最大的一组变量 值后, 即确定出针对每个媒体流的控制策略中的各决策参数, 从而为各个用户终端均提供最优的用 户体验。  After setting the constraints of equations (29) and (30), each user experience quantitative model can be converted into a mathematical optimization problem, and then the mathematical optimization problem is solved. Regardless of the solution method used, after determining a set of variable values that maximize the value of the objective function, each decision parameter in the control strategy for each media stream is determined, thereby providing an optimal user for each user terminal. Experience.
上述实施方式三是对各个媒体流分别进行资源需要消耗考虑的, 分别考虑各个媒体流的资源消 耗是一种保守的方法, 其缺点是不能联合考虑各个流媒体流的具体情况, 各个媒体流之间的资源不 能相互调济。 各个媒体流都设定了一个最高允许发送带宽, 如果实际用不到, 其它流也不能使用这 部分多余的带宽, 并且也不能使用剩余的处理资源。  The third embodiment is to consider the resource consumption of each media stream separately. Considering the resource consumption of each media stream is a conservative method. The disadvantage is that the specific situation of each streaming media stream cannot be considered together. Resources cannot be adjusted to each other. Each media stream has a maximum allowed transmission bandwidth. If it is not used, other streams cannot use this extra bandwidth, and the remaining processing resources cannot be used.
实施方式四、 针对多个媒体流、 且联合考虑各个媒体流的资源消耗的控制策略获得方法。 该方 法是一种综合最优的控制策略获得方法。  Embodiment 4 A control strategy obtaining method for a plurality of media streams and jointly considering resource consumption of each media stream. This method is a comprehensive and optimal control strategy acquisition method.
仍然设定流服务器需要发送给用户终端的媒体流包括 NV个视频流和 NA个音频流, 每个媒体流 服务的用户数量为: NVC (i), i=0, 1, 2, , NV-1 ; NAC (j ) ,j=0, 1, 2, , NA-1 ; 其 中: NVC (Number of video customers)为视频用户数量, NAC (Number of audio customers )为音频 用户数量; 且对于单播流来说, 用户数量为 1, 对于组播流来说, 用户数量可能大于 1。 用户终端的 总体验质量 QET (Quality of Experience Total) 为: The media stream that the streaming server needs to send to the user terminal is still set to include NV video streams and NA audio streams, and the number of users of each media stream service is: NVC (i), i=0, 1, 2, , NV- 1 ; NAC (j ) , j = 0, 1, 2, , NA-1 ; Medium: NVC (Number of video customers) is the number of video users, NAC (Number of audio customers) is the number of audio users; and for unicast streams, the number of users is 1, for multicast streams, the number of users may be greater than 1. The QET (Quality of Experience Total) of the user terminal is:
NV-l  NV-l
QET = NVC(i) x [fcp(vbr; , fr; , vcpi, pf , kfij ) + eccindi x fecc(eccti ? eccpi )] + QET = NVC(i) x [fcp(vbr ; , fr ; , vcpi, pf , kfij ) + eccindi x fecc(ecct i ? eccpi )] +
(31 ) ^ NAC j) x [gcp(abrj , acpj ) + eccindj x gecc(ecct; , eccp;)] 所有用户的综合用户体验是一种各个媒体流用户体验的加权和。 这里可以设定每个用户终端是 平等的, 也可以设定用户终端之间是存在差别的。如果用户终端之间存在差别, 如存在 VIP用户和普 通用户的差别, 则在设置加权时, 还要考虑不同用户终端之间的差异。 (31) ^ NAC j) x [gcp(abrj , acpj ) + eccindj x gecc(ecct ; , eccp ; )] The comprehensive user experience for all users is a weighted sum of user experiences for each media stream. Here, it can be set that each user terminal is equal, and it is also possible to set a difference between the user terminals. If there is a difference between the user terminals, such as the difference between the VIP user and the ordinary user, when setting the weight, the difference between the different user terminals is also considered.
本发明实施方式引入表示用户终端等级差异的权 w, 如果等级最低用户的权值为 1、 等级最高 用户的权值为 WM, 则 w=l,2,3,...,WM。 共 WM级。 考虑到权值之后, 公式 (31 ) 需要修正为:  The embodiment of the present invention introduces a weight w indicating a level difference of the user terminal. If the weight of the lowest level user is 1, and the weight of the highest level user is WM, then w=l, 2, 3, ..., WM. A total of WM level. After considering the weight, equation (31) needs to be corrected to:
NV-l NVC(i)-l  NV-l NVC(i)-l
QET = ^[fcpCvbr^ fr; , ν。Ρί , pfj , kfij ) + eccindi x fecc(eccti , eccp )] x ^ w(i, k) +  QET = ^[fcpCvbr^ fr; , ν. Ρί , pfj , kfij ) + eccindi x fecc(eccti , eccp )] x ^ w(i, k) +
NA-1 i=0 NAC(j)- 1 k=° (32)NA-1 i=0 NAC(j)- 1 k= ° (32)
^ NAC j) x [gcp(abrj , acpj) + eccindj x gecc(ecctj ? eccpj)] x ^ w j?k) ^ NAC j) x [gcp(abrj , acpj) + eccindj x gecc(ecct j ? eccpj)] x ^ wj ? k)
j=0 k=0  j=0 k=0
其中: w(i,k),k=0,l,2,...,NVC(i)-l表示接收第 i个视频流的 NVC (i) 个用户各自的等级权值。 其 中 w(j,k),k=0,l,2,...,NAC(j)-l表示接收第 j个音频流的 NAC (j )个用户各自的等级权值。  Where: w(i,k), k=0,l,2,..., NVC(i)-l represents the respective level weights of the NVC (i) users receiving the i-th video stream. Where w(j,k), k=0, l, 2, ..., NAC(j)-l represents the respective level weights of the NAC (j) users receiving the jth audio stream.
在公式 (31 )和公式 (32) 中, 每个视频流有 8个变量需要优化, 每个音频流有 5个变量需要优 化, 因此, 需要优化的变量总数是 8NV+5NA。  In equations (31) and (32), there are 8 variables for each video stream to be optimized, and 5 variables for each audio stream need to be optimized. Therefore, the total number of variables that need to be optimized is 8NV+5NA.
所有音频流和所有视频流在需要消耗的带宽方面需要满足如下条件:
Figure imgf000017_0001
All audio streams and all video streams need to meet the following conditions in terms of the bandwidth they need to consume:
Figure imgf000017_0001
所有音频流和所有视频流在需要消耗的处理资源方面需要满足如下条件:  All audio streams and all video streams need to meet the following conditions in terms of processing resources that need to be consumed:
NV-l NA-1  NV-l NA-1
^ϋ (ν^) + eccindiCecc(vbri ?eccti ?eccpi) + ^ C (abrj ) + eccindjCecc(abrj ? ecct j ? ecc j )≤ RA i=0 j=0 ^ϋ(ν^) + eccind i Cecc(vbr i ? ecct i ? eccp i ) + ^ C (abrj ) + eccindjCecc(abrj ? ecct j ? ecc j )≤ RA i=0 j=0
(34)  (34)
因此, 根据各用户终端的用户体验定量模型转换获得的数学优化问题为:
Figure imgf000018_0001
| i = 0,1,2,..., NV - l }opt u
Therefore, the mathematical optimization problem obtained by the user experience quantitative model conversion according to each user terminal is:
Figure imgf000018_0001
| i = 0,1,2,..., NV - l } opt u
{abrj,acpj,eccindj,ecctj,eccpj | j = 0,l,2,..., NA - l}opt = {abrj,acpj,eccindj,ecctj,eccpj | j = 0,l,2,..., NA - l} opt =
NV-l  NV-l
argmin ∑ [&ρ(ν^ , , vcpj , , kf^ ) Argmin ∑ [&ρ(ν^ , , vcpj , , kf^ )
{vbr ,frj ,vcp ,ρζ ,kfi ,eccind ,ecct ,eccp |i=0,l,2,...,NV-l } < 1=0 {vbr ,frj ,vcp ,ρζ ,kfi ,eccind ,ecct ,eccp |i=0,l,2,...,NV-l } < 1= 0
{abrj ,acpj ,eccindj ,ecctj ,eccpj|j=0,l,2,..,NA-l}eWSNvxAVSNAxECCVSNVxNAx{0,l} {abrj ,acpj ,eccindj ,ecctj ,eccp j |j=0,l,2,..,NA-l}eWS Nv xAVS NA xECCVS NVxNA x{0,l}
NVC(i)-l NA-1  NVC(i)-l NA-1
+ eccind; x fecc(ecct; , eccp; )] x ^ w(i, k) NAC(j) x [gcp(abrj , acpj ) + eccindj + eccind; x fecc(ecct ; , eccp ; )] x ^ w(i, k) NAC(j) x [gcp(abrj , acpj ) + eccindj
k=0 j=0  k=0 j=0
NAC(j)- 1  NAC(j)- 1
xgecc(ecctj, eccpj)] x ^w(j,k)  Xgecc(ecctj, eccpj)] x ^w(j,k)
k=0 k=0
.t.
Figure imgf000018_0002
.t.
Figure imgf000018_0002
NV-l NA-1  NV-l NA-1
^ Cp(vbr; ) + eccindiCecc(vbri , eccti 5 ecc ; ) + ^ Cp(abrj ) + eccindjCecc(abrj , ecctj , ecc j )≤ RA i=0 j=0 其中, ws x na x ^ χ {o,!}^表示 NV个 WS、 NA个 AVS、 NVxNA个 ECCVS和 NVxNA 个 {0, 1}的笛卡儿积。 ^ Cp(vbr; ) + eccindiCecc(vbri , ecct i 5 ecc ; ) + ^ Cp(abrj ) + eccindjCecc(abrj , ecctj , ecc j )≤ RA i=0 j=0 where ws x na x ^ χ { o, !}^ represents the Cartesian product of NV WS, NA AVS, NVxNA ECCVS, and NVxNA {0, 1}.
上述公式(35)是一个典型的离散数学优化问题, 需要优化的变量个数为 8NV+5NA。本发明实 施方式可以采用现有技术中的多种求解方法对上述公式 (35) 的数学优化问题进行求解, 在此不再 详细描述。  The above formula (35) is a typical discrete mathematical optimization problem, and the number of variables to be optimized is 8NV+5NA. The embodiment of the present invention can solve the mathematical optimization problem of the above formula (35) by using various solving methods in the prior art, and will not be described in detail herein.
如果以 CARD (WS)表示 WS集合中元素个数、 以 CARD (AVS)表示 AVS集合中元素个数、 以 CARD (ECCVS)表示 ECCVS集合中元素个数, 那么 x AVS 4
Figure imgf000018_0003
中元素个数 为: ZWxN^CARD WS WtCAM AVS ^CAM ECCVS^wxNA a而在上述分别考虑各个 媒体流的实施方式中, 虽然需要优化的变量的数量没有变化, 也是 8NV+5NA, 但是需要搜索的集合 中的元素个数是:
If CARD (WS) indicates the number of elements in the WS set, CARD (AVS) indicates the number of elements in the AVS set, and CARD (ECCVS) indicates the number of elements in the ECCVS set, then x AVS 4
Figure imgf000018_0003
The number of elements in the middle is: ZWxN^CARD WS WtCAM AVS ^CAM ECCVS^wxNA a. In the above embodiments in which the respective media streams are separately considered, although the number of variables to be optimized does not change, it is also 8NV+5NA, but needs to be searched. The number of elements in the collection is:
2(NV X NA) + NV x [CARD( WS)] + NA x [CARD(AVS)] + (NV x NA) x [CARD (ECCVS)] 显然, 在分别考虑各个媒体流的实施方式中, 数学优化问题的规模随着媒体流的总数按照算术 级数增长, 在综合考虑各个媒体流的实施方式中, 数学优化问题的规模随着媒体流的总数按照几何 级数增长。  2(NV X NA) + NV x [CARD( WS)] + NA x [CARD(AVS)] + (NV x NA) x [CARD (ECCVS)] Obviously, in the implementation of each media stream separately, The size of the mathematical optimization problem increases with the number of media streams in accordance with the arithmetic progression. In the implementation of considering various media streams, the size of the mathematical optimization problem increases in geometric progression with the total number of media streams.
本发明实施方式可以通过减少需要优化的变量数目, 来降低问题的规模、 简化求解该问题的计 算量。 减少需要优化的变量数目的方法如将媒体流按照类别进行归并, 如有 1000个媒体流的用户终 端带宽、 需要的图像大小、 编码协议等变量均相同, 则这 1000个媒体流可以归并为一类, 这 1000个 媒体流的变量优化结果是相同的, 只要对其中一个媒体流的变量进行优化, 得到的优化变量值即可 适合其它各个同类的媒体流。 这样, 大大简化了数学优化问题, 从而使影响数学优化问题规模的不 是媒体流的数量, 而是不同类媒体流的类数量。 同时, 在实际应用中, 有些变量如图像格式、 编码协议等是需要固定下来的, 这样也减少了数 学优化问题的规模。 Embodiments of the present invention can reduce the size of the problem and simplify the amount of computation for solving the problem by reducing the number of variables that need to be optimized. The method of reducing the number of variables to be optimized is to merge the media streams according to categories. If the user terminal bandwidth of 1000 media streams, the required image size, and the encoding protocol are the same, the 1000 media streams can be merged into one. Class, the variable optimization results of the 1000 media streams are the same. As long as the variables of one media stream are optimized, the obtained optimized variable values can be adapted to other media streams of the same kind. In this way, the mathematical optimization problem is greatly simplified, so that the number of media streams that affect the scale of the mathematical optimization problem is not the number of classes of different types of media streams. At the same time, in practical applications, some variables such as image format, encoding protocol, etc. need to be fixed, which also reduces the scale of mathematical optimization problems.
本发明实施方式还提供一种流媒体服务实现系统, 该系统包括存储设备、 策略与控制服务器和 流服务器。  Embodiments of the present invention also provide a streaming media service implementation system, which includes a storage device, a policy and control server, and a streaming server.
存储设备主要用于存储流媒体数据文件。这里的流媒体数据文件包括:针对同一内容的媒体流、 支持不同控制策略的多个流媒体数据文件; 例如, 针对同一内容的视频媒体流, 存储设备中存储有 支持不同比特率、 帧率、 压缩编码协议、 图像格式、 关键帧间隔、 纠错编码类型、 保护强度参数的 多个流媒体数据文件; 或者支持不同比特率、 帧率、 压缩编码协议、 图像格式、 关键帧间隔的多个 流媒体数据文件; 再例如, 针对同一内容的音频媒体流, 存储设备中存储有支持不同比特率、 压缩 编码协议、 纠错编码类型、 保护强度参数的多个流媒体数据文件; 或者支持不同比特率、 压缩编码 协议的多个流媒体数据文件。  The storage device is mainly used to store streaming media data files. The streaming media data file includes: a media stream for the same content, and multiple streaming media data files supporting different control policies; for example, for a video media stream of the same content, the storage device stores different bit rates, frame rates, and Multiple streaming media data files of compression encoding protocol, image format, key frame interval, error correction coding type, protection strength parameter; or multiple streams supporting different bit rates, frame rates, compression coding protocols, image formats, key frame intervals For example, for the audio media stream of the same content, the storage device stores multiple streaming media data files supporting different bit rates, compression coding protocols, error correction coding types, and protection strength parameters; or supports different bit rates. And compressing multiple streaming media data files of the encoding protocol.
策略与控制服务器主要用于存储根据流媒体的用户体验定量模型而建立的数学优化问题, 该数 学优化问题的约束条件可以是根据流媒体服务的资源限制条件设置的。 策略与控制服务器对该数学 优化问题进行求解, 以确定用户体验定量模型中的各参数, 然后, 策略与控制服务器根据确定的各 参数设置控制策略, 将设置好的控制策略传输给流服务器。 策略与控制服务器可以根据流服务器的 资源来设置目标函数的约束条件, 还可以根据流服务器的带宽资源、 用户终端对流媒体服务的限制 条件等来设置目标函数的约束条件。 策略与控制服务器在设置约束条件时, 可以根据单个媒体流需 要消耗流服务器资源的限制条件设置数学优化问题的约束条件; 也可以在各媒体流需要消耗流服务 器的资源互不调剂的条件下设置数学优化问题的约束条件; 还可以在各媒体流需要消耗流服务器的 资源允许相互调剂的条件下设置数学优化问题的约束条件。 策略与控制服务器设置约束条件的具体 实施方式、 对数学优化问题的求解过程等如上述方法实施方式中的描述。  The policy and control server is mainly used to store a mathematical optimization problem established according to a quantitative model of the user experience of the streaming media, and the constraint condition of the mathematical optimization problem may be set according to resource restriction conditions of the streaming media service. The strategy and control server solves the mathematical optimization problem to determine various parameters in the user experience quantitative model. Then, the policy and control server sets the control strategy according to the determined parameters, and transmits the set control strategy to the stream server. The policy and control server may set the constraint condition of the target function according to the resource of the streaming server, and may also set the constraint condition of the target function according to the bandwidth resource of the streaming server, the restriction condition of the user terminal to the streaming media service, and the like. When the policy and control server set the constraint, the constraint of the mathematical optimization problem may be set according to the constraint condition that the single media stream needs to consume the flow server resource; or the media stream needs to be consumed under the condition that the resource of the streaming server is not adjusted. The constraints of the mathematical optimization problem; the constraints of the mathematical optimization problem can also be set under the condition that each media stream needs to consume the resources of the streaming server to allow mutual adjustment. The specific implementation manner of the policy and control server setting constraints, the solving process for the mathematical optimization problem, and the like are described in the above method embodiments.
流服务器主要用于根据接收到的控制策略从存储设备中读取流媒体数据文件、 并将读取的流媒 体数据文件转化成媒体流发送给用户终端; 例如, 流服务器根据控制策略中的比特率、 帧率、 压缩 编码协议、 图像格式、 关键帧间隔、 纠错编码类型、 保护强度参数选择读取存储设备中存储的视频 流媒体数据文件, 然后, 流服务器直接将读取的视频流媒体数据文件转化成媒体流, 发送给用户终 端; 例如, 流服务器根据控制策略中的比特率、 帧率、 压缩编码协议、 图像格式、 关键帧间隔选择 读取存储设备中存储的视频流媒体数据文件, 然后, 流服务器根据控制策略中的纠错编码类型、 保 护强度参数对读取的视频流媒体数据文件进行纠错编码处理; 再例如, 流服务器根据控制策略中的 比特率、 压缩编码协议、 纠错编码类型、 保护强度参数选择读取存储设备中存储的音频流媒体数据 文件, 然后, 流服务器直接将读取的音频流媒体数据文件转化成媒体流, 发送给用户终端; 还有, 流服务器根据控制策略中的比特率、 压缩编码协议读取音频流媒体数据文件, 流服务器根据控制策 略中的纠错编码类型、 保护强度参数对读取的音频流媒体数据文件进行纠错编码处理, 然后, 流服 务器将纠错编码处理后的流媒体数据文件转化成媒体流, 发送给用户终端。 流服务器执行的具体操 作如上述方法实施方式中的描述。  The streaming server is mainly configured to read the streaming media data file from the storage device according to the received control policy, and convert the read streaming media data file into a media stream and send the data to the user terminal; for example, the streaming server according to the bit in the control policy The rate, frame rate, compression coding protocol, image format, key frame interval, error correction coding type, protection strength parameter are selected to read the video streaming data file stored in the storage device, and then the streaming server directly reads the video streaming media The data file is converted into a media stream and sent to the user terminal; for example, the stream server selects to read the video streaming media data file stored in the storage device according to the bit rate, the frame rate, the compression encoding protocol, the image format, and the key frame interval in the control policy. Then, the stream server performs error correction coding processing on the read video streaming media data file according to the error correction coding type and the protection strength parameter in the control policy; for example, the flow server according to the bit rate in the control policy, the compression coding protocol, Error correction coding type, protection strength Selecting to read the audio streaming media data file stored in the storage device, and then the streaming server directly converts the read audio streaming media data file into a media stream and sends the data to the user terminal; and, the streaming server according to the bit rate in the control policy The compression encoding protocol reads the audio streaming media data file, and the streaming server performs error correction encoding processing on the read audio streaming media data file according to the error correction encoding type and the protection strength parameter in the control strategy, and then the streaming server encodes the error correction encoding. The processed streaming media data file is converted into a media stream and sent to the user terminal. The specific operations performed by the streaming server are as described in the above method embodiments.
本发明实施方式还提供一种策略与控制服务器。 该策略与控制服务器中设置有存储模块、 求解 模块和传输模块。 The embodiment of the invention also provides a policy and control server. The storage module is set in the policy and control server, and the solution is solved. Module and transmission module.
存储模块主要用于存储根据流媒体的用户体验定量模型所建立的数学优化问题; 该数学优化问 题的约束条件可以是根据流媒体服务的资源限制条件设置的, 如该数学优化问题的约束条件可以根 据流服务器的资源来设置, 还可以根据流服务器的带宽资源、 用户终端对流媒体服务的限制条件等 来设置。 存储模块中存储的数学优化问题的约束条件可以是根据单个媒体流需要消耗流服务器资源 的限制条件设置的; 也可以是在各媒体流需要消耗流服务器的资源互不调剂的条件下设置的; 还可 以是在各媒体流需要消耗流服务器的资源允许相互调剂的条件下设置的。 存储模块中存储的数学优 化问题及其约束条件如上述方法实施方式中的描述。  The storage module is mainly used to store a mathematical optimization problem established according to a user experience quantitative model of the streaming media; the constraint condition of the mathematical optimization problem may be set according to a resource restriction condition of the streaming media service, such as the constraint condition of the mathematical optimization problem may be The setting according to the resource of the streaming server may also be set according to the bandwidth resource of the streaming server, the restriction condition of the streaming terminal service by the user terminal, and the like. The constraint of the mathematical optimization problem stored in the storage module may be set according to a constraint condition that a single media stream needs to consume the streaming server resource; or may be set under the condition that each media stream needs to consume the resources of the streaming server without adjusting the media; It may also be set under the condition that each media stream needs to consume the resources of the streaming server to allow mutual adjustment. The mathematical optimization problems stored in the storage module and their constraints are as described in the above method embodiments.
求解模块主要用于对存储模块中存储的数学优化问题进行求解。 求解模块可以采用现有的各种 方法和装置来实现, 其具体求解过程在此不再详细描述。  The solution module is mainly used to solve the mathematical optimization problem stored in the storage module. The solution module can be implemented by using various existing methods and devices, and the specific solution process will not be described in detail herein.
传输模块主要用于将求解模块通过求解所述数学优化问题获得的用户体验定量模型中的各参数 设置为控制策略, 并将控制策略传送给流服务器。 对于视频流媒体服务来说, 这里的控制策略包括 但不限于: 比特率、 帧率、 压缩编码协议、 图像格式、 关键帧间隔、 纠错编码类型、 保护强度参数; 对于音频流媒体服务来说, 这里的控制策略包括但不限于: 比特率、 压缩编码协议、 纠错编码类型、 保护强度参数。  The transmission module is mainly used to set each parameter in the user experience quantitative model obtained by the solution module by solving the mathematical optimization problem as a control strategy, and transmit the control strategy to the stream server. For video streaming services, the control strategies here include, but are not limited to: bit rate, frame rate, compression coding protocol, image format, key frame interval, error correction coding type, protection strength parameters; for audio streaming services The control strategy here includes but is not limited to: bit rate, compression coding protocol, error correction coding type, protection strength parameter.
由于本发明实施方式中的控制策略是根据用户体验定量模型精确计算出来的, 而且, 用户体验 定量模型综合考虑了用户体验的各个方面, 因此, 本发明实施方式能够最大程度地为用户提供最优 的用户体验。 对于视频流、 音频流等对应的用户体验定量模型, 会随着相关领域研究的不断深入, 而提出更多的用户体验定量模型。 由于本发明实施方式的实现过程与用户体验定量模型的具体表现 形式没有关系, 因此, 本发明实施方式对于各种不同的用户体验定量模型都能够适用。 而且, 当用 户体验定量模型改进后, 本发明实施方式为用户终端带来的用户体验也会有所改进, 从而为用户终 端带来更好的用户体验。  Since the control strategy in the embodiment of the present invention is accurately calculated according to the user experience quantitative model, and the user experience quantitative model comprehensively considers various aspects of the user experience, the embodiment of the present invention can provide the user with the optimal maximum. User experience. For the corresponding user experience quantitative models such as video streams and audio streams, more quantitative models of user experience will be proposed as the research in related fields continues to deepen. Since the implementation process of the embodiment of the present invention has no relationship with the specific expression form of the user experience quantitative model, the embodiment of the present invention can be applied to various different user experience quantitative models. Moreover, when the user experience quantitative model is improved, the user experience brought by the embodiment of the present invention for the user terminal is also improved, thereby bringing a better user experience to the user terminal.
虽然通过实施例描绘了本发明, 本领域普通技术人员知道, 本发明有许多变形和变化而不脱离 本发明的精神, 本发明的申请文件的权利要求包括这些变形和变化。  While the invention has been described by the embodiments of the invention, it will be understood that

Claims

权利要求 Rights request
1、 一种流媒体服务实现方法, 其特征在于, 所述方法包括: A method for implementing a streaming media service, the method comprising:
根据流媒体的用户体验定量模型建立数学优化问题, 并进行求解以确定用户体验定量模型中的 各参数;  The mathematical optimization problem is established according to the user experience quantitative model of the streaming media, and the solution is solved to determine various parameters in the user experience quantitative model;
根据所述确定出的各参数设置流服务器的控制策略;  Setting a control policy of the stream server according to the determined parameters;
流服务器根据所述控制策略读取流媒体数据文件、 并根据读取的流媒体数据文件向用户终端发 送媒体流, 为用户提供流媒体服务。  The streaming server reads the streaming media data file according to the control policy, and sends a media stream to the user terminal according to the read streaming media data file to provide a streaming media service for the user.
2、 如权利要求 1所述的方法, 其特征在于, 对于视频流媒体服务来说, 所述各参数包括: 比特 率、 帧率、 压缩编码协议、 图像格式、 关键帧间隔、 纠错编码类型、 保护强度参数。  2. The method according to claim 1, wherein, for the video streaming service, the parameters include: a bit rate, a frame rate, a compression coding protocol, an image format, a key frame interval, and an error correction coding type. , protection strength parameters.
3、 如权利要求 2所述的方法, 其特征在于, 对于所述视频媒体流服务来说,  3. The method of claim 2, wherein, for the video media streaming service,
针对同一内容的视频媒体流, 存储的流媒体数据文件包括: 支持不同比特率、 帧率、 压缩编码 协议、 图像格式、 关键帧间隔、 纠错编码类型、 保护强度参数的多个流媒体数据文件; 且所述流服 务器根据所述控制策略读取流媒体数据文件、 并根据读取的流媒体数据文件向用户终端发送媒体流 的步骤包括: 流服务器根据控制策略中的比特率、 帧率、 压缩编码协议、 图像格式、 关键帧间隔、 纠错编码类型、保护强度参数读取流媒体数据文件, 并直接将读取的流媒体数据文件转化成媒体流, 发送给用户终端; 或者  For the video media stream of the same content, the stored streaming media data file includes: multiple streaming media data files supporting different bit rates, frame rates, compression encoding protocols, image formats, key frame intervals, error correction coding types, and protection strength parameters. And the step of the stream server reading the streaming media data file according to the control policy and sending the media stream to the user terminal according to the read streaming media data file comprises: the flow server according to the bit rate and the frame rate in the control policy, The compression coding protocol, the image format, the key frame interval, the error correction coding type, and the protection strength parameter read the streaming media data file, and directly convert the read streaming media data file into a media stream, and send the data to the user terminal; or
针对同一内容的视频媒体流, 存储的流媒体数据文件包括: 支持不同比特率、 帧率、 压缩编码 协议、 图像格式、 关键帧间隔的多个流媒体数据文件; 且所述流服务器根据所述控制策略读取流媒 体数据文件、 并根据读取的流媒体数据文件向用户终端发送媒体流的步骤包括: 流服务器根据控制 策略中的比特率、 帧率、 压缩编码协议、 图像格式、 关键帧间隔读取流媒体数据文件, 并根据控制 策略中的纠错编码类型、 保护强度参数对所述读取的流媒体数据文件进行纠错编码处理, 然后, 将 纠错编码处理后的流媒体数据文件转化成媒体流, 发送给用户终端。  For the video media stream of the same content, the stored streaming media data file includes: a plurality of streaming media data files supporting different bit rates, frame rates, compression encoding protocols, image formats, key frame intervals; and the streaming server according to the The control strategy reads the streaming media data file and sends the media stream to the user terminal according to the read streaming media data file, including: the flow server according to the bit rate, the frame rate, the compression encoding protocol, the image format, the key frame in the control policy Reading the streaming media data file at intervals, and performing error correction coding processing on the read streaming media data file according to the error correction coding type and the protection strength parameter in the control policy, and then processing the error correction coding processed streaming media data The file is converted into a media stream and sent to the user terminal.
4、 如权利要求 1所述的方法, 其特征在于, 对于音频流媒体服务来说, 所述各参数包括: 比特 率、 压缩编码协议、 纠错编码类型、 保护强度参数。  The method according to claim 1, wherein, for the audio streaming service, the parameters include: a bit rate, a compression coding protocol, an error correction coding type, and a protection strength parameter.
5、 如权利要求 4所述的方法, 其特征在于, 对于所述音频流媒体服务来说,  5. The method of claim 4, wherein, for the audio streaming service,
针对同一内容的音频媒体流, 存储的流媒体数据文件包括: 支持不同比特率、 压缩编码协议、 纠错编码类型、 保护强度参数的多个流媒体数据文件; 且所述流服务器根据所述控制策略读取流媒 体数据文件、 并根据读取的流媒体数据文件向用户终端发送媒体流的步骤包括: 流服务器根据控制 策略中的比特率、 压缩编码协议、 纠错编码类型、 保护强度参数读取流媒体数据文件, 并直接将读 取的流媒体数据文件转化成媒体流, 发送给用户终端; 或者  For the audio media stream of the same content, the stored streaming media data file includes: a plurality of streaming media data files supporting different bit rates, compression encoding protocols, error correction encoding types, protection strength parameters; and the streaming server according to the control The policy of reading the streaming media data file and sending the media stream to the user terminal according to the read streaming media data file comprises: the streaming server reading according to the bit rate, the compression encoding protocol, the error correction coding type, and the protection strength parameter in the control policy The streaming media data file is taken, and the read streaming media data file is directly converted into a media stream and sent to the user terminal; or
针对同一内容的音频媒体流, 存储的流媒体数据文件包括: 支持不同比特率、 压缩编码协议的 多个流媒体数据文件; 且所述流服务器根据所述控制策略读取流媒体数据文件、 并根据读取的流媒 体数据文件向用户终端发送媒体流的步骤包括: 流服务器根据控制策略中的比特率、 压缩编码协议 读取流媒体数据文件, 并根据控制策略中的纠错编码类型、 保护强度参数对所述读取的流媒体数据 文件进行纠错编码处理, 然后将纠错编码处理后的流媒体数据文件转化成媒体流, 发送给用户终端。 For the audio media stream of the same content, the stored streaming media data file includes: a plurality of streaming media data files supporting different bit rates, compression encoding protocols; and the streaming server reads the streaming media data files according to the control policy, and The step of sending the media stream to the user terminal according to the read streaming media data file includes: the streaming server reads the streaming media data file according to the bit rate in the control policy, the compression encoding protocol, and according to the error correction coding type and protection in the control policy. Strength parameter for the read streaming media data The file performs error correction coding processing, and then converts the error correction encoded stream media data file into a media stream and sends it to the user terminal.
6、 如权利要求 1所述的方法, 其特征在于, 所述数学优化问题的约束条件是根据流媒体服务的 资源限制条件设置的。  6. The method according to claim 1, wherein the constraint condition of the mathematical optimization problem is set according to a resource restriction condition of the streaming media service.
7、如权利要求 6所述的方法,其特征在于, 所述流媒体服务的资源限制条件包括下述一个或多 个: 媒体流需要消耗的流服务器资源的限制、 用户终端带宽的限制、 用户终端对媒体格式支持能力 的限制。  The method according to claim 6, wherein the resource restriction condition of the streaming media service comprises one or more of the following: a limitation of a streaming server resource that the media stream needs to consume, a limitation of a user terminal bandwidth, and a user. Terminal restrictions on media format support capabilities.
8、 如权利要求 7所述的方法, 其特征在于, 所述流服务器的资源包括: 流服务器的带宽资源、 和 /或流服务器的处理资源。  The method according to claim 7, wherein the resources of the streaming server comprise: a bandwidth resource of the streaming server, and/or a processing resource of the streaming server.
9、如权利要求 6或 7或 8所述的方法,其特征在于, 所述数学优化问题的约束条件的设置方法 包括:  The method according to claim 6 or 7 or 8, wherein the setting method of the constraint condition of the mathematical optimization problem comprises:
流服务器提供单个媒体流时, 根据单个媒体流需要消耗的流服务器资源的限制条件设置数学优 化问题的约束条件; 或者  When the streaming server provides a single media stream, the constraints of the mathematical optimization problem are set according to the constraints of the streaming server resources that need to be consumed by the single media stream; or
流服务器同时提供多个媒体流时, 在各媒体流需要消耗流服务器的资源互不调剂的条件下设置 数学优化问题的约束条件; 或者  When the streaming server provides multiple media streams at the same time, the constraints of the mathematical optimization problem are set under the condition that each media stream needs to consume the resources of the streaming server;
流服务器同时提供多个媒体流时, 在各媒体流需要消耗流服务器的资源允许相互调剂的条件下 设置数学优化问题的约束条件。  When the streaming server provides multiple media streams at the same time, the constraints of the mathematical optimization problem are set under the condition that each media stream needs to consume the resources of the streaming server to allow mutual adjustment.
10、 如权利要求 9所述的方法, 其特征在于, 在各媒体流需要消耗流服务器的资源允许相互调 剂的条件下设置数学优化问题的约束条件的情况下, 在对数学优化问题求解过程中, 将求解获得的 一个媒体流的控制策略参数作为与该媒体流具有相同用户体验定量模型各参数的所有属于同一类的 媒体流的控制策略参数。  10. The method according to claim 9, wherein in the case of setting a mathematical optimization problem under the condition that each media stream needs to consume the resources of the streaming server to allow mutual adjustment, in the process of solving the mathematical optimization problem The control policy parameter of one media stream obtained is obtained as a control policy parameter of all media streams belonging to the same class having the same user experience quantitative model parameters as the media stream.
11、 如权利要求 1所述的方法, 其特征在于, 针对同一内容的媒体流, 存储的流媒体数据文件 包括: 支持不同控制策略的多个流媒体数据文件; 且当存储的流媒体数据文件未经纠错编码处理时, 所述流服务器根据所述控制策略读取流媒体数据文件、 并根据读取的流媒体数据文件向用户终端发 送媒体流的步骤包括: 流服务器根据控制策略中的纠错编码类型、 保护强度参数对其发送的媒体流 数据进行纠错编码处理。  The method according to claim 1, wherein, for the media stream of the same content, the stored streaming media data file comprises: a plurality of streaming media data files supporting different control policies; and when the stored streaming media data files The step of the stream server reading the streaming media data file according to the control policy and transmitting the media stream to the user terminal according to the read streaming media data file includes: the streaming server according to the control policy The error correction coding type and the protection strength parameter perform error correction coding processing on the media stream data transmitted by the error correction coding type.
12、 一种流媒体服务实现系统, 其特征在于, 所述系统包括:  12. A streaming media service implementation system, the system comprising:
存储设备, 用于存储流媒体数据文件;  a storage device, configured to store a streaming media data file;
策略与控制服务器, 用于对根据流媒体的用户体验定量模型而建立的数学优化问题进行求解以 确定用户体验定量模型中的各参数, 并根据所述各参数设置控制策略, 将所述控制策略传输给流服 务器;  a strategy and control server, configured to solve a mathematical optimization problem established according to a quantitative model of the user experience of the streaming media, to determine a parameter in the user experience quantitative model, and set a control policy according to the parameter, and the control strategy is Transfer to the streaming server;
流服务器, 用于根据接收的控制策略从所述存储设备中读取流媒体数据文件、 并根据读取的流 媒体数据文件向用户终端发送媒体流。  And a stream server, configured to read the streaming media data file from the storage device according to the received control policy, and send the media stream to the user terminal according to the read streaming media data file.
13、 如权利要求 12所述的系统, 其特征在于, 所述数学优化问题的约束条件包括: 在流服务器只提供单个媒体流时, 根据单个媒体流需要消耗流服务器资源的限制条件设置的数 学优化问题的约束条件; 或者 13. The system of claim 12, wherein the constraints of the mathematical optimization problem comprise: When the streaming server provides only a single media stream, the constraints of the mathematical optimization problem set by the constraints of the streaming media resource are required according to the single media stream; or
在流服务器同时提供多个媒体流时, 在各媒体流需要消耗流服务器的资源互不调剂的条件下设 置的数学优化问题的约束条件; 或者  When the streaming server simultaneously provides multiple media streams, the constraints of the mathematical optimization problem set under the condition that each media stream needs to consume the resources of the streaming server are not adjusted; or
在流服务器同时提供多个媒体流时, 在各媒体流需要消耗流服务器的资源允许相互调剂的条件 下设置的数学优化问题的约束条件。  When the streaming server simultaneously provides multiple media streams, the constraints of the mathematical optimization problem set under the condition that each media stream needs to consume the resources of the streaming server to allow mutual adjustment.
14、 如权利要求 12所述的系统, 其特征在于:  14. The system of claim 12, wherein:
对于视频流媒体服务来说, 所述各参数包括: 比特率、 帧率、 压缩编码协议、 图像格式、 关键 帧间隔、 纠错编码类型、 保护强度参数;  For the video streaming service, the parameters include: a bit rate, a frame rate, a compression encoding protocol, an image format, a key frame interval, an error correction coding type, and a protection strength parameter;
对于音频流媒体服务来说, 所述各参数包括: 比特率、 压缩编码协议、 纠错编码类型、 保护强 度参数。  For the audio streaming service, the parameters include: a bit rate, a compression coding protocol, an error correction coding type, and a protection strength parameter.
15、 一种策略与控制服务器, 其特征在于, 所述策略与控制服务器包括:  15. A policy and control server, wherein the policy and control server comprises:
存储模块: 用于存储根据流媒体的用户体验定量模型所建立的数学优化问题;  Storage module: used to store mathematical optimization problems established according to a user experience quantitative model of streaming media;
求解模块: 用于对存储模块中存储的数学优化问题进行求解, 以确定用户体验定量模型中的各 参数;  Solving module: used to solve the mathematical optimization problem stored in the storage module to determine various parameters in the user experience quantitative model;
传输模块: 用于根据求解模块通过求解所述数学优化问题获得的用户体验定量模型中的各参数 设置控制策略, 并将控制策略传送给流服务器。  The transmission module is configured to set a control strategy according to each parameter in the user experience quantitative model obtained by solving the mathematical optimization problem by the solution module, and transmit the control strategy to the stream server.
16、 如权利要求 15所述策略与控制服务器, 其特征在于:  16. The policy and control server of claim 15 wherein:
对于视频流媒体服务来说, 所述各参数包括: 比特率、 帧率、 压缩编码协议、 图像格式、 关键 帧间隔、 纠错编码类型、 保护强度参数;  For the video streaming service, the parameters include: a bit rate, a frame rate, a compression encoding protocol, an image format, a key frame interval, an error correction coding type, and a protection strength parameter;
对于音频流媒体服务来说, 所述各参数包括: 比特率、 压缩编码协议、 纠错编码类型、 保护强 度参数。  For the audio streaming service, the parameters include: a bit rate, a compression coding protocol, an error correction coding type, and a protection strength parameter.
PCT/CN2008/072523 2007-09-26 2008-09-25 A method, a system and a stratrgy and control server for implementing stream media service WO2009043291A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200710122518.2 2007-09-26
CN200710122518.2A CN101399980B (en) 2007-09-26 2007-09-26 Stream media service implementing method, system, policy and control server

Publications (1)

Publication Number Publication Date
WO2009043291A1 true WO2009043291A1 (en) 2009-04-09

Family

ID=40518191

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2008/072523 WO2009043291A1 (en) 2007-09-26 2008-09-25 A method, a system and a stratrgy and control server for implementing stream media service

Country Status (2)

Country Link
CN (1) CN101399980B (en)
WO (1) WO2009043291A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102238433A (en) * 2010-04-29 2011-11-09 爱迪德有限责任公司 Controlling an adaptive streaming of digital content
US9578362B1 (en) 2015-12-17 2017-02-21 At&T Intellectual Property I, L.P. Channel change server allocation
CN110870234A (en) * 2017-05-08 2020-03-06 瑞典爱立信有限公司 Controlling forward error correction and modulation coding schemes for multicast broadcast multimedia services
CN111399964A (en) * 2020-03-27 2020-07-10 重庆海云捷迅科技有限公司 Cloud desktop platform based on video streaming technology

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101931807B (en) * 2010-06-29 2016-07-06 无锡中感微电子股份有限公司 The method and apparatus of verifying fault tolerance of multimedia player
US9584573B2 (en) * 2012-08-29 2017-02-28 Ericsson Ab Streaming policy management system and method
CN104754365A (en) * 2013-12-31 2015-07-01 中兴通讯股份有限公司 Stream media processing method and device
CN104767628A (en) * 2014-01-06 2015-07-08 中兴通讯股份有限公司 User experience quality evaluating method and device
CN106657090B (en) * 2016-12-28 2020-09-29 深圳市共进电子股份有限公司 Multimedia stream processing method and device and embedded equipment
CN109698762B (en) * 2017-10-24 2020-10-23 华为技术有限公司 Parameter adjusting method and parameter adjusting device
CN113037698B (en) * 2019-12-25 2023-08-01 拓尔思天行网安信息技术有限责任公司 Video manufacturer adaptation method, device, equipment and medium based on configuration file
CN113453025B (en) * 2020-03-26 2023-02-28 杭州海康威视系统技术有限公司 Data acquisition method and device
CN112637586A (en) * 2020-12-15 2021-04-09 北京百度网讯科技有限公司 Abnormal video construction method, abnormal video detection device, abnormal video detection equipment, abnormal video detection medium and abnormal video detection product
CN115379221B (en) * 2022-10-25 2022-12-20 中诚华隆计算机技术有限公司 Streaming media data transmission method and system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5845243A (en) * 1995-10-13 1998-12-01 U.S. Robotics Mobile Communications Corp. Method and apparatus for wavelet based data compression having adaptive bit rate control for compression of audio information
WO2005025202A1 (en) * 2003-09-02 2005-03-17 Canon Kabushiki Kaisha Image communication control method, image communication control program, and image communication apparatus
CN1764184A (en) * 2005-10-20 2006-04-26 中兴通讯股份有限公司 Real-time flow media communication transmission system and method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5845243A (en) * 1995-10-13 1998-12-01 U.S. Robotics Mobile Communications Corp. Method and apparatus for wavelet based data compression having adaptive bit rate control for compression of audio information
WO2005025202A1 (en) * 2003-09-02 2005-03-17 Canon Kabushiki Kaisha Image communication control method, image communication control program, and image communication apparatus
CN1764184A (en) * 2005-10-20 2006-04-26 中兴通讯股份有限公司 Real-time flow media communication transmission system and method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TAN PENG ET AL.: "A SELF-ADAPTING VIDEO MULTICAST SYSTEM DRIVED BY BUFFER", VIDEO ENGINEERING, no. 6, 30 June 2005 (2005-06-30) *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102238433A (en) * 2010-04-29 2011-11-09 爱迪德有限责任公司 Controlling an adaptive streaming of digital content
US9578362B1 (en) 2015-12-17 2017-02-21 At&T Intellectual Property I, L.P. Channel change server allocation
US10045059B2 (en) 2015-12-17 2018-08-07 At&T Intellectual Property I, L.P. Channel change server allocation
US10728600B2 (en) 2015-12-17 2020-07-28 At&T Intellectual Property I, L.P. Channel change server allocation
CN110870234A (en) * 2017-05-08 2020-03-06 瑞典爱立信有限公司 Controlling forward error correction and modulation coding schemes for multicast broadcast multimedia services
CN110870234B (en) * 2017-05-08 2022-06-10 瑞典爱立信有限公司 Controlling forward error correction and modulation coding schemes for multicast broadcast multimedia services
CN111399964A (en) * 2020-03-27 2020-07-10 重庆海云捷迅科技有限公司 Cloud desktop platform based on video streaming technology
CN111399964B (en) * 2020-03-27 2023-03-24 重庆海云捷迅科技有限公司 Cloud desktop platform based on video streaming technology

Also Published As

Publication number Publication date
CN101399980B (en) 2011-04-06
CN101399980A (en) 2009-04-01

Similar Documents

Publication Publication Date Title
WO2009043291A1 (en) A method, a system and a stratrgy and control server for implementing stream media service
KR101912072B1 (en) Methods for quality-aware adaptive streaming over hypertext transfer protocol
US8228982B2 (en) Adaptive video streaming system and method
CN102450014B (en) Video optimized method and video optimizer is perceived for quality
WO2010031335A1 (en) Method for controlling media server and system thereof
TW200805965A (en) Method and system for controlling multimedia QoS in a handheld device
CN104219528B (en) A kind of video transmission method for the mimo system for supporting gradable video encoding
US8665740B2 (en) Method and devices for bit rate allocation for point-to-multipoint multimedia communications
Lee et al. Allocation of layer bandwidths and FECs for video multicast over wired and wireless networks
Huang et al. DAVE: Dynamic adaptive video encoding for real-time video streaming applications
Shaha et al. Multimedia content adaptation for QoS management over heterogeneous networks
Wang et al. Bit-rate allocation for broadcasting of scalable video over wireless networks
Haghighi et al. Realizing MPEG-4 streaming over the Internet: a client/server architecture using DMIF
Hsu et al. Optimal coding of multilayer and multiversion video streams
Fuentes Adaptive mechanism for P2P video streaming using SVC and MDC
Atenas et al. IPTV transcoding to avoid network congestion
ABDULAZEEZ et al. OPTIMAL ADAPTATION OF INTERNET VIDEO STREAMING
López-Fuentes P2P video streaming combining SVC and MDC
Shwetha Multimedia Transmission Mechanism for Streaming Over Wireless Communication Channel
Yang et al. Hybrid unicast and multicast video streaming using H. 264 SVC and FLUTE for set-top box users
Vandana et al. Quality of service enhancement for multimedia applications using scalable video coding
TW200824381A (en) Resource allocation apparatus, method, application program, and computer readable medium thereof
Kamiss et al. Mpeg-Dash System via HTTP2 Protocol with HEVC Encoder for Video Streaming Services
Jarnikov et al. A framework for video streaming to resource-constrained terminals
Pang et al. Quality Adaptation of SVC-Based P2P Streaming

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08800994

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 08800994

Country of ref document: EP

Kind code of ref document: A1