Method and apparatus for streaming media transmission

By combining SVC technology and 5G network slicing resources, the streaming media server determines the QoS for each data stream, solving the problem of streaming media transmission quality with complex QoS requirements and achieving efficient streaming media transmission.

CN114979086BActive Publication Date: 2026-11-06HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202110211834.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-02-25
Publication Date
2026-11-06
Estimated Expiration
2041-02-25

AI Technical Summary

Technical Problem

Existing technologies have failed to effectively address the quality assurance problem of streaming media transmission with extremely complex QoS requirements.

Method used

Scalable Video Coding (SVC) technology is used to process streaming media. The streaming media server determines the Quality of Service (QoS) for each data stream and transmits it through 5G network slicing resources to ensure that the edge streaming media server pushes streaming media according to different needs.

Benefits of technology

It enables multi-stream transmission, ensuring the transmission quality of streaming media and meeting the complex QoS requirements of different terminal devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114979086B_ABST
    Figure CN114979086B_ABST
Patent Text Reader

Abstract

The application discloses a streaming media transmission method and device, relates to the technical field of communication, and aims to solve the problem of guaranteeing the transmission quality of streaming media with extremely complex QoS requirements. The method comprises the following steps: a streaming media server receives a first message sent by a terminal device, the first message comprising a streaming media identifier, and the first message being used for requesting the streaming media corresponding to the streaming media identifier; the streaming media server processes the streaming media according to scalable video coding (SVC) to obtain at least one data stream, and determines the quality of service (QoS) of each data stream; and the streaming media server sends a second message to a first edge streaming media server, wherein the second message comprises the QoS of each data stream in the at least one data stream, and the second message instructs the first edge streaming media server to transmit the at least one data stream to the terminal device by using the resources corresponding to the QoS of each data stream.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communication technology, and in particular to a streaming media transmission method and apparatus. Background Technology

[0002] Scalable video coding (SVC) is a technique that allows a video stream to be encoded and decoded in layers, dividing it into multiple video streams of different resolutions, qualities, and frame rates. SVC divides a video stream into a base layer and multiple enhancement layers, carrying the data streams of different layers on different data packets for transmission over the network.

[0003] The Quality of Service (QoS) of cloud media is related to content source, resolution, frame rate, and scene, among other factors. When using SVC for encoding and decoding cloud media, the resulting streaming media has extremely complex QoS requirements. However, current technologies do not offer any solutions to address how to guarantee the transmission quality of streaming media with such complex QoS requirements. Summary of the Invention

[0004] This application provides a streaming media transmission method and apparatus to address the problem of ensuring the transmission quality of streaming media with extremely complex QoS requirements.

[0005] In a first aspect, a streaming media transmission method is provided, comprising: a streaming media server receiving a first message sent by a terminal device, the first message including a streaming media identifier, the first message being used to request a streaming media corresponding to the streaming media identifier; the streaming media server processing the streaming media according to Scalable Video Coding (SVC) to obtain at least one data stream; the streaming media server determining a Quality of Service (QoS) for each data stream; and the streaming media server sending a second message to a first edge streaming media server, the second message including the QoS of each data stream in the at least one data stream, the second message instructing the first edge streaming media server to transmit at least one data stream to the terminal device using resources corresponding to the QoS of each data stream.

[0006] Based on the above technical solution, the streaming media server uses SVC technology to process the streaming media requested by the terminal, obtaining at least one data stream. A QoS is assigned to each data stream, enabling the edge streaming media server to use the resources corresponding to the QoS of each data stream to transmit at least one data stream to the terminal device. Based on SVC technology, multi-stream transmission and the ability of the edge streaming media server to push streaming media according to different needs are realized, ensuring the transmission quality of the streaming media.

[0007] In one possible design, the QoS resource is a 5G network slice resource.

[0008] In one possible design, the streaming media server determines the QoS for each data stream by: determining the corresponding QoS for each data stream according to a preset mapping relationship, which is pre-configured by the streaming media provider. Based on this design, determining the corresponding QoS for each data stream according to the preset mapping relationship ensures that the data stream can be transmitted according to the resources corresponding to that QoS during subsequent data stream transmission, thus guaranteeing the transmission quality of the streaming media.

[0009] In one possible design, the first message also includes the identifier of the terminal device. Before the streaming media server sends the second message to the first edge streaming media server, the method further includes: the streaming media server sending a third message to the network device, the third message being used to request binding the identifier of the terminal device with the resource corresponding to the QoS; the streaming media server receiving a fourth message sent by the network device, the fourth message being used to indicate the result of binding the identifier of the terminal device with the resource corresponding to the QoS.

[0010] In one possible design, if the streaming media server determines, based on the fourth message, that the identifier of the terminal device is successfully bound to the resource corresponding to the QoS, the second message also includes the stream identifier of at least one data stream, and the mapping relationship between the stream identifier of each data stream and the QoS of each data stream; the method further includes: the streaming media server transmitting at least one data stream to the first edge streaming media server.

[0011] In one possible design, the method further includes: a streaming media server processing another streaming media according to SVC to obtain at least one additional data stream, the other streaming media being the streaming media requested by another terminal device; wherein the at least one additional data stream includes a first data stream and at least one second data stream, the first data stream representing a basic quality data stream, and the quality of the data stream formed by the at least one second data stream and the first data stream being higher than that of the basic quality data stream; the streaming media server determining QoS for each of the at least one additional data stream; if the streaming media server determines that the identifier of the other terminal device and the resource corresponding to the QoS of the at least one additional data stream have not been successfully bound, the streaming media server transmitting the first data stream to a first edge streaming media server.

[0012] In one possible design, the method further includes: the streaming media server receiving a fifth message sent by a first edge streaming media server, the fifth message including the priority of the streaming media and / or the priority of at least one data stream; and the streaming media server controlling the first edge streaming media server to transmit at least one data stream to the terminal device according to the fifth message.

[0013] In one possible design, the streaming media server controls the first edge streaming media server to transmit at least one data stream to the terminal device according to the fifth message, including: the streaming media server determines, according to the fifth message, to disconnect the connection between the first edge streaming media server and the terminal device for transmitting a third data stream, the third data stream belonging to at least one data stream.

[0014] In one possible design, after the streaming media server determines, based on the fifth message, to disconnect the connection between the first edge streaming media server and the terminal device for transmitting the third data stream, the method further includes: the media server sending a sixth message to the second edge streaming media server, the sixth message including the stream identifier of the third data stream, the sixth message being used to instruct the second edge streaming media server to transmit the third data stream to the terminal device.

[0015] In a second aspect, a streaming media transmission method is provided, comprising: a first edge streaming media server receiving a second message sent by a streaming media server, the second message including the QoS of each data stream in at least one data stream, the second message being used to instruct the first edge streaming media server to transmit at least one data stream to a terminal device using resources corresponding to the QoS of each data stream; wherein, at least one data stream is obtained by the streaming media server processing the streaming media according to SVC; and the first edge streaming media server transmitting at least one data stream to the terminal device according to the second message.

[0016] Based on the above technical solution, the first edge streaming media server receives a second message from the streaming media server. The second message includes the QoS of each data stream in at least one data stream. The first edge streaming media server can then transmit at least one data stream to the terminal device using the resources corresponding to the QoS of each data stream, as instructed in the second message. Based on SVC technology, multi-stream transmission and the ability of the edge streaming media server to push media streams according to different needs are achieved, ensuring the transmission quality of the streaming media.

[0017] In one possible design, the QoS resource is a 5G network slice resource.

[0018] In one possible design, there is a preset mapping relationship between the stream identifier of the data stream and QoS, which is pre-configured by the streaming media provider.

[0019] In one possible design, the second message further includes a stream identifier for at least one data stream; before the first edge streaming media server transmits at least one data stream to the terminal device, the method further includes: the first edge streaming media server obtaining at least one data stream from the streaming media server according to the second message; the first edge streaming media server establishing at least one connection using resources corresponding to QoS, the at least one connection being used to transmit at least one data stream.

[0020] In one possible design, after the first edge streaming media server transmits at least one data stream to the terminal device, the method further includes: the first edge streaming media server obtaining a fifth message, the fifth message including the priority of the streaming media and / or the priority of at least one data stream; and the first edge streaming media server controlling at least one connection based on the fifth message.

[0021] In one possible design, the method further includes: a first edge streaming media server sending a fifth message to a streaming media server, the fifth message being used to instruct the streaming media server to control at least one connection.

[0022] Thirdly, a streaming media server is provided, including a processing module and a communication module connected to the processing module; the communication module is used to receive a first message sent by a terminal device, the first message including a streaming media identifier, the first message being used to request the streaming media corresponding to the streaming media identifier; the processing module is used to process the streaming media according to Scalable Video Coding (SVC) to obtain at least one data stream; the processing module is further used to determine the Quality of Service (QoS) for each data stream; the communication module is further used to send a second message to a first edge streaming media server, the second message including the QoS of each data stream in at least one data stream, the second message instructing the first edge streaming media server to transmit at least one data stream to the terminal device using the resources corresponding to the QoS of each data stream.

[0023] In one possible design, the QoS resource is a 5G network slice resource.

[0024] In one possible design, the processing module is specifically used to determine the corresponding QoS for each data stream based on a preset mapping relationship, which is pre-configured by the streaming media provider.

[0025] In one possible design, the first message also includes the identifier of the terminal device. The communication module is also used to send a third message to the network device, which requests that the identifier of the terminal device be bound to the resource corresponding to the QoS. The communication module is also used to receive a fourth message sent by the network device, which indicates the result of the binding of the identifier of the terminal device to the resource corresponding to the QoS.

[0026] In one possible design, the processing module is further configured to determine, based on the fourth message, that the identifier of the terminal device is successfully bound to the resource corresponding to the QoS. The second message further includes the stream identifier of at least one data stream and the mapping relationship between the stream identifier of each data stream and the QoS of each data stream. The communication module is further configured to transmit at least one data stream to the first edge streaming media server.

[0027] In one possible design, the processing module is further configured to process another streaming media according to SVC to obtain at least one additional data stream, the other streaming media being a streaming media requested by another terminal device; wherein the at least one additional data stream includes a first data stream and at least one second data stream, the first data stream representing a basic quality data stream, and the quality of the data stream formed by the at least one second data stream and the first data stream being higher than that of the basic quality data stream; the processing module is further configured to determine QoS for each of the at least one additional data stream; the processing module is further configured to determine that the identifier of the other terminal device and the resource corresponding to the QoS of the at least one additional data stream have not been successfully bound; and the communication module is further configured to transmit the first data stream to a first edge streaming media server.

[0028] In one possible design, the communication module is further configured to receive a fifth message sent by the first edge streaming media server, the fifth message including the priority of the streaming media and / or the priority of at least one data stream; the processing module is further configured to control the first edge streaming media server to transmit at least one data stream to the terminal device according to the fifth message.

[0029] In one possible design, the processing module is further configured to determine, based on the fifth message, to disconnect the connection between the first edge streaming media server and the terminal device for transmitting a third data stream, the third data stream belonging to at least one data stream.

[0030] In one possible design, the communication module is also used to send a sixth message to the second edge streaming media server. The sixth message includes a stream identifier of the third data stream and is used to instruct the second edge streaming media server to transmit the third data stream to the terminal device.

[0031] Fourthly, an edge streaming media server is provided, comprising: a communication module; the communication module being configured to receive a second message sent by the streaming media server, the second message including the QoS of each data stream in at least one data stream, the second message being configured to instruct the edge streaming media server to transmit at least one data stream to a terminal device using resources corresponding to the QoS of each data stream; wherein, at least one data stream is obtained by the streaming media server processing the streaming media according to SVC; the communication module is further configured to transmit at least one data stream to the terminal device according to the second message.

[0032] In one possible design, the QoS resource is a 5G network slice resource.

[0033] In one possible design, there is a preset mapping relationship between the stream identifier of the data stream and QoS, which is pre-configured by the streaming media provider.

[0034] In one possible design, the second message also includes a stream identifier for at least one data stream; the edge streaming media server further includes: a processing module connected to the communication module; the communication module is further configured to obtain at least one data stream from the streaming media server according to the second message; the processing module is configured to establish at least one connection using resources corresponding to QoS, the at least one connection being used to transmit at least one data stream.

[0035] In one possible design, the communication module is further configured to acquire a fifth message, which includes the priority of the streaming media and / or the priority of at least one data stream; the processing module is further configured to control at least one connection based on the fifth message.

[0036] In one possible design, the communication module is also used to send a fifth message to the streaming media server, which instructs the streaming media server to control at least one connection.

[0037] Fifthly, a streaming media server is provided, comprising: a processor configured to be coupled to a memory, read instructions from the memory, and implement the method as described in the first aspect above according to the instructions.

[0038] In a sixth aspect, an edge streaming media server is provided, comprising: a processor configured to be coupled to a memory, read instructions from the memory, and implement the method as described in the second aspect above according to the instructions.

[0039] In a seventh aspect, a computer-readable storage medium is provided that stores computer instructions, which, when executed on a computer, cause the computer to perform any of the methods provided by any of the first to second aspects or any of their designs.

[0040] Eighthly, a computer program product comprising computer instructions is provided, which, when executed on a computer, cause the computer to perform a method provided by any design of any of the first to second aspects.

[0041] A ninth aspect provides a computer device including a communication interface, a processor, and a memory. The communication interface is used to communicate with other devices, the memory stores instructions, and the processor is used to execute the instructions stored in the memory to cause the computer device to perform a method provided by any design of any of the first to second aspects.

[0042] In a tenth aspect, a communication system is provided, comprising: a streaming media server provided in the third aspect or any of the designs described above, and an edge streaming media server provided in the fourth aspect or any of the designs described above.

[0043] It should be noted that the technical effects brought about by any of the designs in the third to tenth aspects can be referred to the technical effects brought about by the corresponding designs in any of the first to second aspects, and will not be repeated here. Attached Figure Description

[0044] Figure 1 A schematic diagram of the service-oriented architecture of existing 5G networks;

[0045] Figure 2 A flowchart illustrating the existing video cloud service process;

[0046] Figure 3 A schematic diagram of the architecture of an application system provided in this application embodiment;

[0047] Figure 4 A flowchart illustrating a streaming media transmission method provided in this application embodiment;

[0048] Figure 5 A schematic diagram illustrating a streaming media transmission method provided in an embodiment of this application;

[0049] Figure 6 A flowchart illustrating yet another streaming media transmission method provided in this application embodiment;

[0050] Figure 7 A flowchart illustrating yet another streaming media transmission method provided in this application embodiment;

[0051] Figure 8 A flowchart illustrating yet another streaming media transmission method provided in this application embodiment;

[0052] Figure 9 A flowchart illustrating yet another streaming media transmission method provided in this application embodiment;

[0053] Figure 10 A flowchart illustrating yet another streaming media transmission method provided in this application embodiment;

[0054] Figure 11 A schematic diagram illustrating yet another streaming media transmission method provided in an embodiment of this application;

[0055] Figure 12 A flowchart illustrating yet another streaming media transmission method provided in this application embodiment;

[0056] Figure 13 This is a schematic diagram of the structure of a communication device provided in an embodiment of this application;

[0057] Figure 14 This is a schematic diagram of another communication device provided in an embodiment of this application. Detailed Implementation

[0058] In the description of this application, unless otherwise stated, " / " means "or," for example, A / B can mean A or B. The "and / or" in this document is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, and B alone. Furthermore, "at least one" means one or more, and "multiple" means two or more. The terms "first," "second," etc., do not limit the quantity or order of execution, and "first," "second," etc., do not necessarily imply differences.

[0059] It should be noted that, in this application, the terms "exemplary" or "for example" are used to indicate that something is being described as an example, illustration, or illustration. Any embodiment or design described as "exemplary" or "for example" in this application should not be construed as being more preferred or advantageous than other embodiments or design solutions. Specifically, the use of terms such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.

[0060] The terminology used in the embodiments of this application will be described below to facilitate understanding by those skilled in the art.

[0061] 1. Scalable Video Coding (SVC)

[0062] SVC (Segmentation-Video Capability) is a technique that divides a video stream into multiple streams of different resolutions, qualities, and frame rates. Encoding a video stream using SVC can divide it into two or more distinct bitstreams, called layers. These layers consist of a base layer and multiple enhancement layers. The base layer contains the most basic and important information in the video stream, while the enhancement layers contain more detailed information. These layers are transmitted as separate data packets over the network. The receiving end only needs to accurately receive the base layer to decode it and create a basic quality video image. Furthermore, the receiving end can decode both the received base layer and enhancement layers together to create higher quality video images.

[0063] The impact of base layer packet loss is the same as that of non-layerable coding, but the impact of enhancement layer packet loss is much smaller. Because the enhancement layer is based on the base layer rather than the previous frame, enhancement layer packet loss only causes a temporary decrease in sharpness and frame rate, without affecting the basic architecture of the video image.

[0064] The technical advantages of SVC technology include:

[0065] (1) Depending on the network conditions and equipment capabilities, the decoder can select to decode different levels of bitstream.

[0066] (2) Encode once and decode multiple times, without the need for repeated encoding or transcoding.

[0067] (3) Error resistance: Decoding can be performed using only the lower-level bitstream; errors or loss of higher-level bitstreams do not affect video smoothness. Different strengths of packet loss / error resistance measures can be applied to the lower-level and higher-level bitstreams. Considering the overhead of forward error correction (FEC), the overall bitstream of SVC may be lower.

[0068] (4) The underlying bitstream is compatible with H264 non-SVC decoders.

[0069] SVC supports three layering methods:

[0070] (1) Temporal scalability: It is possible to extract bitstreams with different frame rates from the bitstream.

[0071] (2) Spatial scalability: It is possible to extract bitstreams with different image sizes from the bitstream.

[0072] (3) Quality scalability: It is possible to extract bitstreams with different image qualities from the bitstream.

[0073] 2. Quality of Service (QoS)

[0074] QoS is a network security mechanism used to address network latency and congestion. Under normal circumstances, QoS is not needed for applications with no time constraints, such as web applications or email settings. However, QoS guarantees are crucial for networks with limited capacity, especially for streaming media applications like Voice over Internet Protocol (VoIP) and Internet Protocol Television (IPTV). These services have high requirements for real-time performance, transmission accuracy, and user experience; therefore, end-to-end QoS guarantees are essential for the networks supporting these services.

[0075] QoS mainly includes four metrics: bandwidth, latency, jitter, and packet loss rate. These QoS metrics are mostly applied at lower protocol layers and are not directly observed or perceived by applications.

[0076] Currently, traditional QoS provides the following three service models:

[0077] (1) Best effort service model: The network sends messages to the greatest extent possible, but does not provide any guarantee for performance such as latency and reliability.

[0078] (2) Integrated Service (Int-Serv) Model: This model can meet various QoS requirements. It uses the Resource Reservation Protocol (RSVP), which runs on every device from the source to the destination. It can monitor each flow to prevent it from consuming too many resources. This model can clearly distinguish and guarantee the quality of service for each service flow, providing the most granular quality of service differentiation for the network.

[0079] (3) Differentiated service (Diff-Serv) model: It can meet different QoS requirements and does not require the network to reserve resources for each service.

[0080] The 5G QoS model is based on QoS flows and supports both guaranteed flow bit rate (GBR) and non-guaranteed flow bit rate (Non-GBR) QoS flows. Whether a QoS flow is a GBR or non-GBR QoS flow is determined by the corresponding QoS profile. A QoS profile may include the following parameters: 5G QoS identifier (5QI), allocation and retention priority (ARP), guaranteed flow bit rate (GFBR), and maximum flow bit rate (MFBR), and optionally, QoS notification control (QNC). Specifically, 5QI is a scalar used to index corresponding 5G QoS features. 5QIs are categorized into standardized 5QIs, pre-configured 5QIs, and dynamically allocated 5QIs. For a standardized 5QI, there is a one-to-one correspondence with a set of standardized 5G QoS feature values. For a pre-configured 5QI, the corresponding 5G QoS feature values ​​are pre-configured on the radio access network (RAN) equipment. For a dynamically allocated 5QI, the corresponding 5G QoS features are sent to the RAN equipment by the core network equipment through a QoS profile. Therefore, different 5QIs have different QoS levels, and the 5G QoS characteristics (latency, packet loss rate) corresponding to different QoS levels are also different.

[0081] 3. 5G network slicing

[0082] 5G network slicing involves dividing a physical network into multiple virtual end-to-end networks. Each virtual network, including its devices, access, transmission, and core network, is logically independent. A failure in one virtual network will not affect the others. Each virtual network has different functional characteristics to meet the differentiated requirements of services regarding user numbers, QoS, bandwidth, and latency, thus adapting to various business scenarios and applications.

[0083] A network slice includes at least a radio sub-slice, a bearer sub-slice, and a core network sub-slice. 5G network slices are logically independent but share physical resources, therefore resource allocation between slices needs to be considered. Different services require different slicing modes with varying emphases, resulting in different resource allocations. This resource priority allocation necessitates the use of Quality of Service (QoS).

[0084] By using network slicing, operators can allocate appropriate amounts of network resources to specific slices, enabling network operators to provide differentiated services in the user access layer of the radio access network (RAN) and guarantee different transmission qualities for them.

[0085] The above is an introduction to the technical terms involved in the embodiments of this application, which will not be repeated below.

[0086] The technical solutions in the embodiments of this application will now be described with reference to the accompanying drawings.

[0087] The technical solutions of this application can be applied to various communication systems. For example, Long Term Evolution (LTE) systems, LTE Frequency Division Duplex (FDD) systems, LTE Time Division Duplex (TDD) systems, Universal Mobile Telecommunication System (UMTS), Worldwide Interoperability for Microwave Access (WiMAX) systems, 5th Generation (5G) systems, or New Radio (NR), etc. The 5G mobile communication systems involved in this application include non-standalone (NSA) 5G mobile communication systems and standalone (SA) 5G mobile communication systems. The technical solutions provided in this application can also be applied to future communication systems, such as 6th Generation (6G) mobile communication systems. The communication system can also be a public land mobile network (PLMN), a device-to-device (D2D) communication system, a machine-to-machine (M2M) communication system, an Internet of Things (IoT) communication system, or other communication systems.

[0088] Figure 1This diagram illustrates the service-oriented architecture of an existing 5G network. The 5G network includes radio access network (RAN) equipment, user plane functions (UPF), core access and mobility management functions (AMF), session management functions (SMF), authentication server functions (AUSF), network slice selection functions (NSSF), network exposure functions (NEF), network exposure function repository (NRF), policy control functions (PCF), unified data management (UDM), unified data repository (UDR), application functions (AF), or charging functions (CHF), etc.

[0089] Among them, such as Figure 1 As shown, the terminal device accesses the 5G network through the radio access network (RAN) equipment. The terminal device communicates with the AMF through the N1 interface (N1); the RAN equipment communicates with the AMF through the N2 interface (N2); the RAN equipment communicates with the UPF through the N3 interface (N3); the SMF communicates with the UP through the N4 interface (N4); and the UPF accesses the data network through the N6 interface (N6). Furthermore, Figure 1The control plane functions shown, such as AUSF, AMF, SMF, NSSF, NEF, NRF, PCF, UDM, UDR, CHF, or AF, interact using service-oriented interfaces. For example, the service-oriented interface provided by AUSF is Nausf; AMF is Namf; SMF is Nsmf; NSSF is Nnssf; NEF is Nnef; NRF is Nnrf; PCF is Npcf; UDM is Nudm; UDR is Nudr; CHF is Nchf; and AF is Naf. For detailed descriptions of the relevant functions and interfaces, please refer to the 5G system architecture diagram in the 23501 standard; further details are omitted here.

[0090] Figure 2 A flowchart illustrating the process of existing video cloud services. (Example) Figure 2 As shown, in a typical video cloud service process, the videos collected by the content provider are first encoded into a specific format. After the videos are uploaded to the cloud server, they are usually transcoded in the cloud to adapt to different network environments and playback terminals. The server provides personalized value-added services, including data statistics, content review, and real-time watermarking. The videos are distributed via CDN acceleration and finally played on the content consumer's terminal device after decoding.

[0091] The embodiments involved in the technical solution of this application will be described below with reference to the accompanying drawings.

[0092] The technical solutions provided in this application can be applied to various communication systems, such as communication systems deployed with cloud computing and / or employing a content delivery network (CDN) architecture, where cloud computing includes, but is not limited to, public cloud, edge cloud, private cloud, and hybrid cloud. The applicable services for the technical solutions in this application include, but are not limited to, video services, cloud gaming services, and virtual reality (VR) services.

[0093] The streaming media involved in this application embodiment is a media format that transmits audio, video, and multimedia files over a network in a streaming manner. Compared to network playback formats where files are downloaded and then viewed, the typical characteristic of streaming media is that continuous audio and video information is compressed and placed on a network server, allowing users to watch and download simultaneously without waiting for the entire file to finish downloading. Streaming media technology can be applied to video-on-demand, video conferencing, distance education, telemedicine, and online live streaming systems, among others.

[0094] Figure 3 This is a schematic diagram of the architecture of an application system provided in an embodiment of this application, using a 5G NR communication system as an example for illustration. Figure 3 As shown, the application system includes 5G network services and related equipment 100, video cloud services 200, edge sites 300, access network equipment 400, and terminal equipment 500, etc.

[0095] in, Figure 3 The image only shows NEF and UPF devices in the 5G network. NEF is located between the 5G core network (5Gcore, 5GC) and external third-party application functions (and possibly some internal AF). It is responsible for exposing network data to the outside world. All external applications that want to access data inside the 5GC must go through NEF. NEF provides corresponding security guarantees to ensure the security of external applications to the network, and provides functions such as opening up QoS customization capabilities for external applications, subscription to mobility state events, AF request distribution, and slice management.

[0096] UPF is used for packet routing and forwarding, data interaction with external data networks (DNs), QoS processing in the user plane, and flow control rule enforcement (e.g., gating, redirection, traffic redirection).

[0097] The video cloud service 200 includes an SVC encoding module, an encoding and QoS analyzer, and a streaming media server. The SVC encoding module uses SVC technology to perform layered encoding of video streams stored in the video cloud service. The encoding and QoS analyzer analyzes the streaming media's content source, frame rate, and scene (e.g., live streaming, games), summarizing different QoS definitions. This means analyzing the different transmission quality requirements of different streaming media and then using resources corresponding to different QoS levels to provide network services.

[0098] A streaming media server is used to process and analyze streaming media data in the cloud. For example, streaming media includes, but is not limited to, IPTV, video conferencing, live streaming, video-on-demand, and short videos.

[0099] The cloud media service (e.g., video cloud service) involved in this application embodiment is a media service that integrates cloud computing architecture with streaming media, thereby improving the performance of the media service system. Streaming media requires a large amount of hardware and software technology and needs to transmit a large amount of data per second. Streaming media also requires the consistency and uninterruptedness of the data stream. Cloud computing can increase the bandwidth of streaming media services, thereby improving the service quality of streaming media, and can also improve the flexibility and scalability of streaming media.

[0100] The edge site includes an edge streaming media server and a multi-stream transmission proxy server. The edge streaming media server acts as an intermediary device, connecting the streaming media server and terminal devices, and transmitting media streams to the terminal devices. The multi-stream transmission proxy server is used to implement multi-stream transmission, connecting upwards to multiple media streams obtained by the edge streaming media server from the streaming media server, and downwards to multiple network links, that is, establishing multiple network links with the terminal devices to transmit different data streams. The protocols that the multi-stream transmission proxy server can use include, but are not limited to, multipath-user datagram protocol (MP-UDP), multipath-transmission control protocol (MP-TCP), and multipath-real-time transport protocol (MP-RTP). Optionally, the specific protocol used can be determined by protocol agreement, client-side decision, or specific application scenario; this application does not limit this.

[0101] In this application, the streaming media server involved in the embodiment is the core system of the streaming media application. The main function of the streaming media server is to transmit video files to the client using streaming protocols (real-time transport protocol (RTP), real-time streaming protocol (RSTP), multimedia messaging service (MMS), real-time messaging protocol (RTMP), etc.) for users to watch online. At the same time, it can also collect, cache, schedule, and transmit streaming media content.

[0102] The functions or network elements corresponding to the access network equipment can be the next-generation radio access network (NG-RAN) equipment in the 5G mobile communication system.

[0103] In this embodiment, the terminal device is a device with wireless transceiver capabilities. The terminal device can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; it can also be deployed on water (such as on ships); and it can be deployed in the air (such as on airplanes, balloons, and satellites). The terminal device can be a user equipment (UE). The UE includes handheld devices, vehicles, in-vehicle devices, wearable devices, or computing devices with wireless communication capabilities. For example, the UE can be a mobile phone, tablet computer, or computer with wireless transceiver capabilities. The terminal device can also be a virtual reality (VR) terminal device, an augmented reality (AR) terminal device, a wireless terminal device in industrial control, a wireless terminal device in autonomous driving, a wireless terminal device in telemedicine, a wireless terminal device in a smart grid, a wireless terminal device in a smart city, a wireless terminal device in a smart home, and so on. In this embodiment, the apparatus for implementing the functions of the terminal device can be the terminal device itself, or an apparatus capable of supporting the terminal device in implementing those functions, such as a chip system. In this application embodiment, the chip system may be composed of chips, or it may include chips and other discrete devices. In this application embodiment, taking a terminal device as an example to illustrate the functions of a terminal device, the technical solutions provided by this application embodiment are described.

[0104] The device names mentioned above are merely names and do not constitute a limitation on the devices themselves. It is understood that in 5G networks and other future networks, names such as NEF, UPF, and streaming media server may also be used, and this application does not specifically limit these names. For example, NEF can also be called a NEF network element or a UPF entity, and a streaming media server can also be called a cloud server or a central streaming media server, etc. This will be explained uniformly here and will not be repeated below.

[0105] Optionally, the aforementioned devices can be implemented by a single device, multiple devices working together, or a functional module within a single device. This application does not specifically limit this. It is understood that the aforementioned functional modules can be network elements within hardware devices, software functional modules running on dedicated hardware, or virtualization modules instantiated on a platform (e.g., a cloud platform).

[0106] It should be noted that the network architecture and business scenarios described in the embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided in the embodiments of this application. As those skilled in the art will know, with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.

[0107] like Figure 4 The image shows a streaming media transmission method provided in an embodiment of this application. The method includes the following steps:

[0108] S101, The streaming media server receives the first message sent by the terminal device.

[0109] The first message includes a streaming media identifier, which is used to request the streaming media corresponding to the streaming media identifier. The streaming media server may also be referred to as a central streaming media server; this application does not limit this terminology.

[0110] Optionally, the first message may also include the identifier of the terminal device and the Internet Protocol (IP) address of the terminal device.

[0111] S102. The streaming media server processes the streaming media according to the SVC to obtain at least one data stream.

[0112] For example, a streaming media server includes an SVC encoding module. Multiple streaming media are stored in a video cloud service (e.g., a streaming media server). The SVC encoding module of the streaming media server uses SVC technology to encode the multiple streaming media to generate different layers, each layer corresponding to a data stream.

[0113] It should be understood that the above example illustrates the integration of a streaming media server and an SVC encoding module into a single device. Optionally, if the streaming media server and SVC encoding module are implemented in two separate devices, this step can be performed by the SVC encoding module.

[0114] S103, The streaming media server determines the QoS for each data stream.

[0115] The streaming media server stores a preset mapping relationship, which allows it to determine the QoS for each data stream. This preset mapping relationship is a mapping between the stream identifier and the QoS of the data stream. Optionally, the QoS can be identified by a QoS identifier (ID) or a QoS level; this application does not limit this choice.

[0116] For example, the preset mapping relationship is shown in Table 1.

[0117] Table 1

[0118]

[0119] In this embodiment, a streaming media identifier can be represented as a "streaming media identifier," where a streaming media stream can refer to a single video stream; for example, stream1 can refer to a single video stream. Performing SVC encoding on the streaming media stream generates at least one data stream, where the stream identifier can be represented as a "layer identifier." Each data stream identifier has a corresponding QoS ID (level). In this embodiment, QoS is described using a 5G network, therefore this QoS ID (level) can be recognized by the 5G network. Each streaming media identifier corresponds to a priority level, representing the priority of the streaming media stream.

[0120] For example, taking stream1 as the streaming media identifier, the priority level of the streaming media represented by stream1 is 1. Performing SVC encoding on the streaming media represented by stream1 will generate data streams represented by Layer1 and Layer2. The QoS ID corresponding to Layer1 is 1, meaning that the resources corresponding to QoS1 need to be used to transmit the data stream represented by layer1. The QoS ID corresponding to Layer2 is 4, meaning that the resources corresponding to QoS4 need to be used to transmit the data stream represented by layer2.

[0121] Optionally, the preset mapping relationship can be established by the encoder and QoS analyzer.

[0122] In one possible design, after the encoding and QoS analyzer have established a preset mapping relationship, a copy of the mapping relationship is sent to the streaming media server.

[0123] In another possible design, after the encoding and QoS analyzer establish the preset mapping relationship, it does not actively send it to the streaming media server. Instead, the streaming media server actively requests it from the encoding and QoS analyzer when needed. Optionally, the streaming media server can request the entire content of the preset mapping relationship, or it can request a portion of the preset mapping relationship, i.e., the mapping relationship related to streaming media.

[0124] In another possible design, the encoder and QoS analyzer and streaming media server can be integrated together, that is, the functions of both can be implemented through a single device. In this case, the streaming media server can establish a preset mapping relationship and store it.

[0125] It should be understood that the QoS and its corresponding characteristics (e.g., latency, packet loss rate, throughput) involved in the embodiments of this application can be system defaults or defined by the user according to their own needs. For example, cloud service providers may define new QoS based on factors such as service type, user level, and terminal level, combined with indicators such as buffering speed, playback stream speed, clarity, stuttering, instant opening, latency, and first screen latency. This application does not limit this.

[0126] S104, The streaming media server sends a second message to the first edge streaming media server.

[0127] The second message includes the QoS of each data stream in at least one data stream. The second message instructs the first edge streaming media server to transmit at least one data stream to the terminal device using the resources corresponding to the QoS of each data stream. The resources corresponding to the QoS can be 5G network slice resources.

[0128] It should be understood that 5G network slice resources have been pre-allocated. Using slice resources corresponding to a certain QoS to transmit a certain data stream means that the network slice can guarantee to provide the network services corresponding to that QoS, such as latency, bandwidth, throughput, etc.

[0129] It should be understood that there is a one-to-one correspondence between QoS and data streams, that is, the resources of a data stream's QoS are used to transmit a data stream corresponding to that QoS.

[0130] S105, The first edge streaming media server transmits at least one data stream to the terminal device according to the second message.

[0131] For example, the first edge streaming media server first transmits at least one data stream to the multiplexing proxy server according to the second message, and the multiplexing proxy server then transmits at least one data stream to the terminal device.

[0132] Based on this scheme, the streaming media server uses SVC technology to process the streaming media requested by the terminal, obtaining at least one data stream. A QoS is assigned to each data stream, enabling the edge streaming media server to use the resources corresponding to the QoS of each data stream to transmit at least one data stream to the terminal device. Based on SVC technology, multi-stream transmission and the ability of the edge streaming media server to push streaming media according to different needs are achieved, ensuring the transmission quality of the streaming media.

[0133] The second message also includes a stream identifier for at least one data stream. Prior to step S105, the method further includes the following steps (not shown in the figure):

[0134] S106, The first edge streaming media server obtains at least one data stream from the streaming media server according to the second message.

[0135] The first edge streaming media server can obtain the corresponding data stream based on the stream identifier of the data stream.

[0136] S107. The first edge streaming media server establishes at least one connection using the resources corresponding to QoS.

[0137] At least one connection is used to transmit at least one data stream. Each connection corresponds to a QoS and is used to transmit a specific data stream.

[0138] For example, such as Figure 5 As shown, taking the MP-UDP proxy server as an example of a multi-path transmission proxy server, and referring to Table 1 for explanation. First, a connection is established between the first edge streaming media server and the MP-UDP proxy server. Then, the MP-UDP proxy server calls the MP-UDP protocol to establish at least one UDP connection with the terminal device using the 5G network slice resources corresponding to QoS. For example, connection UDP1 established using the 5G network slice resources corresponding to 5G QoS1 is used to transmit the data stream represented by layer 1 of stream 1, and connection UDP2 established using the 5G network slice resources corresponding to 5G QoS4 is used to transmit the data stream represented by layer 2 of stream 1.

[0139] Figure 4 In the illustrated embodiment, step S103 can be specifically implemented as follows: Figure 6 As shown.

[0140] S201. The streaming media server determines the corresponding QoS for each data stream according to the preset mapping relationship.

[0141] The preset mapping relationship is pre-configured by the streaming media provider.

[0142] In one possible scenario, let's take Tencent Video, a streaming media provider, as an example. Tencent Video purchases the necessary 5G network slice resources from operators to transmit its videos. Specifically, network equipment (such as NEF) activates parameters such as the number of users, anchor point range, QoS level, slice ID, and QoS ID. It's important to note that these parameters activated by NEF are defined by the 5G network system and selected by Tencent Video, the streaming media provider storing its videos in a video cloud service, based on its own needs. The number of users refers to the number of users that a slice ID can serve, and the anchor point range refers to the cities or users for which the slice resources corresponding to a slice ID are applicable. There is a one-to-one relationship between the QoS level, slice ID, and QoS ID.

[0143] For example, Tencent Video can activate the aforementioned parameters with the operator according to its own needs. Specifically, it can activate a 5G network slice that guarantees 1ms latency, which can serve 1 million users in Shenzhen to transmit live streaming data streams. In this scenario, Tencent Video decides which QoS-corresponding network slice resource to use for transmitting which streaming media; therefore, the streaming media and network slice resources are correlated.

[0144] It should be understood that the above parameters are merely illustrative examples. In other networks in the future, the above parameters may include other content or may have other names, and this application embodiment does not limit this.

[0145] It should be noted that the QoS of streaming media is related to the user's subjective experience. Therefore, in practical applications, QoS-related indicators can be flexibly defined according to requirements, such as buffering speed, playback speed, resolution, stuttering, instant playback, latency, and first-screen latency. This application does not impose any limitations on this.

[0146] For example, a streaming media server can analyze the QoS requirements of a data stream. Taking QoS metrics such as buffering speed and resolution as examples, if the data stream has high requirements for buffering speed and resolution, the streaming media server can match a higher level of QoS to the data stream and establish a mapping relationship between the stream identifier and the QoS. Subsequently, when transmitting the data stream, the 5G network slice resources corresponding to the QoS can guarantee the required quality of service for the data stream.

[0147] In another possible scenario, taking Huawei as an example of a streaming media provider, Huawei can provide streaming media and 5G network slicing resources to other vendors (such as Tencent Video), which are purchased by Huawei from operators.

[0148] When purchasing streaming media and network slices from Huawei through Tencent Video, users can choose to purchase different network slices based on their needs. For example, if Tencent purchases a higher-level network slice and the required streaming media, Huawei will allocate a higher-level network slice resource to it, ensuring better QoS for transmitting the streaming media purchased by Tencent.

[0149] Therefore, in this scenario, streaming media and network slice resources are independent. Tencent Video no longer needs to define or activate corresponding network slice resources based on the QoS requirements of different streaming media; it only needs to select and purchase different levels of network slice resources to transmit the streaming media it has purchased and wants to transmit.

[0150] Based on this scheme, a corresponding QoS is determined for each data stream according to a preset mapping relationship, so that when transmitting data streams in subsequent transmissions, the data stream can be transmitted according to the resources corresponding to the QoS, thus ensuring the transmission quality of streaming media.

[0151] In execution Figure 4 Before step S104 in the illustrated embodiment, it is necessary to determine whether at least one data stream requested by the terminal device can be transmitted according to the resource transmission corresponding to the QoS of the data stream. This operation can be performed by... Figure 7 , Figure 8 The method implementation provided in the illustrated embodiment.

[0152] like Figure 7 As shown, the first message also includes the identifier of the terminal device. Before step S104, the method further includes the following steps:

[0153] S301, The streaming media server sends a third message to the network device. Correspondingly, the network device receives the third message from the streaming media server.

[0154] Optionally, the network device is NEF, and the streaming media server can send a third message to NEF. This third message requests that the identifier of the terminal device be bound to the resource corresponding to the QoS. It should be understood that "binding" means using the resource corresponding to the QoS to transmit the data stream requested by the terminal.

[0155] S302, The streaming media server receives the fourth message sent by the network device. Correspondingly, the network device sends the fourth message to the streaming media server.

[0156] Optionally, the network device is NEF, and the streaming media server can receive a fourth message from NEF. This fourth message indicates the result of the resource binding between the terminal device's identifier and the QoS.

[0157] Optionally, after receiving the third message, the NEF determines whether the resources corresponding to the QoS can be used for the terminal device, that is, whether the number of users currently served by the network slice resources corresponding to the activated QoS and / or whether the geographical location of the terminal device meets the anchor range requirements. The NEF finally determines the result of binding the resources corresponding to the QoS with the identifier of the terminal device and sends a fourth message to the streaming media server.

[0158] In one possible design, if the streaming media server determines, based on the fourth message, that the identifier of the terminal device has been successfully bound to the resource corresponding to the QoS, then the second message also includes the stream identifier of at least one data stream, and the mapping relationship between the stream identifier of each data stream and the QoS of each data stream.

[0159] Accordingly, after receiving the third message from the streaming media, the network device (e.g., NEF) determines that the terminal device's identifier has been successfully bound to the resource corresponding to the QoS, meaning the terminal device can use the resource corresponding to that QoS to transmit its data stream. The NEF then distributes the relevant configuration information to the UPF, access network devices, access points (APs), etc., so that each network device can use the resource corresponding to that QoS to transmit the terminal device's data stream in subsequent transmissions. For specific configuration details, please refer to the configuration of existing network slicing resources; this application does not extend upon that.

[0160] It should be noted that this application is illustrated by a terminal requesting to obtain a streaming media stream. Therefore, the second message sent by the streaming media server to the first edge streaming media server only needs to include the stream identifier of the data stream.

[0161] Since the stream identifiers of data streams may be the same—for example, as shown in Table 1, the stream identifier of the data stream encoded by stream1 can be Layer2, with a corresponding QoS identifier of 4. The stream identifier of the data stream encoded by stream2 can also be Layer2, but with a corresponding QoS identifier of 3. Therefore, transmitting only the stream identifier of the target data stream cannot determine which streaming media data generated the data stream, nor can it clarify the QoS identifier corresponding to the stream identifier of that data stream. Therefore, when a terminal device requests to obtain multiple streaming media, the second message sent by the streaming media server to the first edge streaming media server may also include the streaming media identifier. This application does not limit this.

[0162] It should be noted that the embodiments in this application are illustrated using the example that the stream identifiers of the data streams can be the same. In practical applications, if the stream identifiers of the data streams are set to be different, the second message sent by the streaming media server to the first edge streaming media server may not include the streaming media identifier. This application does not limit this.

[0163] Optionally, the edge streaming server can cache the mapping after receiving it.

[0164] For example, the streaming media server may transmit only a portion of the preset mapping relationship (as shown in Table 1) to the edge streaming media server, that is, only the mapping table related to the streaming media data requested by the terminal device is transmitted. Taking streaming media stream1 as an example, the mapping relationship between the stream identifier and QoS of at least one data stream can be as shown in Table 2.

[0165] Table 2

[0166]

[0167] The mapping relationship between the stream identifier of each data stream and the QoS of each data stream is used to instruct the first edge streaming media server to transmit at least one data stream to the terminal device according to the mapping relationship.

[0168] If the streaming media server determines, based on the fifth message, that the terminal device's identifier has been successfully bound to the target first QoS identifier, then... Figure 7 The step S302 shown includes the following steps: Figure 8 The step S303 shown.

[0169] like Figure 8 As shown, after step S302, the method further includes the following steps:

[0170] S303, The streaming media server transmits at least one data stream to the first edge streaming media server.

[0171] For example, the streaming media server may first transmit at least one data stream to the first edge streaming media server, and then send a second message to the first edge streaming media server. Alternatively, the streaming media server may first send a second message to the first edge streaming media server, and then transmit at least one data stream to the first edge streaming media server. Or, the streaming media server may simultaneously send a second message to the first edge server and transmit at least one data stream. This application does not limit the order of sending the second message and transmitting the data streams, and this will be uniformly described here, and will not be repeated below.

[0172] Figure 7 , Figure 8 The illustrated embodiment demonstrates a scenario where the data stream can be transmitted according to the resources corresponding to its QoS. However, in some cases, it may not be possible to transmit the data stream according to the resources corresponding to its QoS.

[0173] Therefore, this application provides another method for streaming media transmission, such as... Figure 9 As shown, the method includes the following steps:

[0174] S401. The streaming media server processes another streaming media according to the SVC to obtain at least one other data stream.

[0175] The other streaming media is the streaming media requested by another terminal device. It should be understood that the other terminal device is not the same as the terminal device mentioned in the above embodiments.

[0176] The additional at least one data stream includes a first data stream and at least one second data stream, the first data stream representing a basic quality data stream, and the data stream formed by the at least one second data stream and the first data stream having a higher quality than the basic quality data stream.

[0177] S402, The streaming media server determines the QoS for each of the at least one other data stream.

[0178] In this embodiment, the specific details of the streaming media server determining the QoS for the data stream are the same as in the above embodiment, and will not be repeated here.

[0179] S403. If the streaming media server determines that the identifier of another terminal device has not been successfully bound to the resource corresponding to the QoS of at least one other data stream, the streaming media server transmits the first data stream to the first edge streaming media server.

[0180] Optionally, unsuccessful binding includes the following situations:

[0181] Scenario 1: If the flow identifier of at least one second data stream requested by another terminal device fails to match the resource corresponding to the QoS of that data stream, while the flow identifier of the first data stream successfully matches the resource corresponding to the QoS of that data stream, then it is determined that the identifier of the other terminal device has failed to bind to the resource corresponding to the QoS of the data stream.

[0182] Scenario 2: If the flow identifier of at least one second data stream requested by another terminal device successfully matches the resource corresponding to the QoS of that data stream, but the flow identifier of the first data stream fails to match the resource corresponding to the QoS of that data stream, then it is determined that the identifier of the other terminal device has not been successfully bound to the resource corresponding to the QoS of the data stream.

[0183] Scenario 3: If the flow identifier of at least one second data stream and the flow identifier of the first data stream requested by another terminal device fail to match the QoS-corresponding resources, it is determined that the identifier of the other terminal device has not been successfully bound to the QoS-corresponding resources of the data stream.

[0184] Optionally, the streaming media server can directly indicate the binding result through a fifth message, for example, by including "binding successful" or "binding unsuccessful" directly in the fifth message. Alternatively, the fifth message can indirectly indicate the result to the streaming media server by including specific content from the three scenarios mentioned above. This application does not specifically limit the method of indication.

[0185] In this example, the streaming media server can switch to non-layered data streaming for transmission, meaning it only transmits a base-layer video stream to the first edge streaming media server. In scenario 1 or 3, the first data stream can be transmitted using resources corresponding to the default QoS, or resources corresponding to the QoS with changed requirements. In scenario 2, the first data stream can be transmitted using resources corresponding to the successfully matched QoS. It should be understood that the above scenarios are merely illustrative examples provided for understanding the embodiments of this application and do not constitute a limitation on the embodiments of this application.

[0186] It should be noted that, Figure 9 The embodiments shown are supplementary descriptions of the technical solutions of this application, and can be used in conjunction with other embodiments.

[0187] In a multi-sided heavy-load scenario, where the terminal device establishes at least one connection with at least two edge streaming media servers to transmit data streams, if one of the edge streaming media servers becomes overloaded, it can be addressed through... Figure 10 as well as Figure 11 The illustrated embodiments provide methods for making decisions.

[0188] like Figure 10 The image shows a data transmission method provided in an embodiment of this application. The method includes the following steps:

[0189] S501, The streaming media server receives the fifth message sent by the first edge streaming media server.

[0190] The fifth message includes the priority of the streaming media and / or the priority of at least one data stream;

[0191] Optionally, the fifth message may also include parameters such as instant opening rate, lag rate, and lag duration.

[0192] Optionally, at least one connection may be established between the first edge streaming media server and the terminal device, the at least one connection being used to transmit at least one data stream generated by streaming media encoding.

[0193] S502, The streaming media server controls the first edge streaming media server to transmit at least one data stream to the terminal device according to the fifth message.

[0194] For example, the streaming media server can comprehensively consider the bandwidth status of multiple points, such as the bandwidth status of the first edge streaming media server and / or other edge streaming media servers, and dynamically decide to disconnect at least one connection between the first edge streaming media server and the terminal device and / or retain at least one connection between the first edge streaming media server and the terminal device.

[0195] Optionally, when the first edge streaming media server establishes a connection with at least one terminal device and transmits at least one data stream, the streaming media server may dynamically decide to disconnect all connections between the first edge streaming media server and at least one terminal device and / or retain all connections between the first edge streaming media server and at least one terminal device.

[0196] Based on this scheme, in scenarios with multi-side and multi-path overload, that is, when terminal devices establish connections with multiple edge streaming media servers, the streaming media server can make decisions to control at least one network link between the edge streaming media server and the terminal device when the edge streaming media server is overloaded, thus ensuring the transmission quality of streaming media.

[0197] like Figure 11 As shown, step S502 can be specifically implemented as follows:

[0198] S601. Based on the fifth message, the streaming media server determines to disconnect the connection between the first edge streaming media server and the terminal device for transmitting the third data stream.

[0199] The third data stream is at least one data stream. It should be understood that the third data stream can refer to one data stream or multiple data streams, and this application does not limit it in this regard.

[0200] For example, when the first edge streaming media server has good service performance, the streaming media server can, according to the fifth message, disconnect the connection of at least one data stream with lower priority, while retaining the connection of at least one data stream with higher priority. When the first edge streaming media server has poor service performance, the streaming media server can, according to the fifth message, disconnect the connection of at least one data stream with higher priority, while retaining the connection of at least one data stream with lower priority. It should be understood that the choice of which connections to disconnect and / or retain can be made according to actual circumstances or needs, and this application does not limit this.

[0201] S602, The streaming media server sends the sixth message to the second edge streaming media server.

[0202] The sixth message includes the stream identifier of the third data stream, and is used to instruct the second edge streaming media server to transmit the third data stream to the terminal device.

[0203] Optionally, the sixth message may also include the IP address of the terminal device. Correspondingly, a connection is established between the second edge streaming media server and the terminal device to transmit the third data stream.

[0204] It should be understood that communication between the edge streaming media server and the terminal device can be achieved through a multi-stream transmission proxy server, such as an MP-UDP proxy server. For example, the second edge streaming media server first establishes at least one connection with the MP-UDP proxy server, and then the MP-UDP proxy server refreshes the terminal connection; that is, the MP-UDP proxy server establishes at least one UDP connection with the terminal device, and this at least one UDP connection is used to transmit a third data stream.

[0205] In the scenario of unilateral overload, where the terminal device establishes at least one connection with an edge streaming media server to transmit data streams, when the edge streaming media server is overloaded, it can be... Figure 12 The illustrated embodiments provide a method for dynamic decision-making.

[0206] like Figure 12 As shown, another data transmission method is provided for an embodiment of this application, the method including the following steps:

[0207] S701, The first edge streaming media server obtains the fifth message.

[0208] The fifth message includes the priority of the streaming media and / or the priority of at least one data stream.

[0209] Optionally, the fifth message may also include parameters such as instant opening rate, lag rate, and lag duration, which can be obtained from the terminal device.

[0210] S702, the first edge streaming media server controls at least one connection according to the fifth message.

[0211] For example, the first edge streaming media server may dynamically decide to disconnect at least one connection between the first edge streaming media server and the terminal device and / or retain at least one connection between the first edge streaming media server and the terminal device based on its own bandwidth status and corresponding QoS assessment.

[0212] For example, if the first edge streaming media server determines that its bandwidth is insufficient, or that the utilization of its graphics processing unit (GPU) or central processing unit (CPU) is too high, the first edge streaming media server may, according to the sixth message, disconnect at least one data stream with a lower priority and retain at least one data stream with a higher priority. Alternatively, through QoS assessment, it may disconnect at least one data stream with a higher QoS level and retain at least one data stream with a lower QoS level to reduce the load on the first edge streaming media server. It should be understood that the choice of which connections to disconnect and / or retain can be made according to actual circumstances or needs, and this application does not limit this.

[0213] Based on this scheme, in scenarios with single-sided multi-path overload, that is, when a terminal device establishes at least one connection with an edge streaming media server, the edge streaming media server can make decisions and control multiple network links between itself and the terminal device when the edge streaming media server is overloaded, thus ensuring the transmission quality of streaming media.

[0214] The above primarily describes the solutions provided by the embodiments of this application from a methodological perspective. It is understood that communication devices (e.g., streaming media servers, edge streaming media servers) include corresponding hardware structures and / or software modules for each function to achieve the aforementioned functions. By combining the units and algorithm steps described in the embodiments disclosed in this application, the embodiments of this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed by hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such methods should not be considered beyond the scope of the technical solutions of the embodiments of this application.

[0215] This application embodiment can divide the communication device into functional modules according to the above method example. For example, each function can be divided into a separate functional module, or two or more functions can be integrated into one processing unit. The integrated unit can be implemented in hardware or as a software module. It should be noted that the unit division in this application embodiment is illustrative and only represents one logical functional division. In actual implementation, other division methods may be used.

[0216] like Figure 13 As shown, a communication device provided in an embodiment of this application is provided. The communication device includes a processing module 101 and a communication module 102.

[0217] In one possible example, taking the communication device as a streaming media server, the processing module 101 is used to support the streaming media server in performing... Figure 4 Step S102 in the process, Figure 6 The steps S201, etc., and / or other processing operations that the streaming media server needs to perform in the embodiments of this application. The communication module 102 is used to support the streaming media server in performing these operations. Figure 4 Step S101 in the process, Figure 4 Step S104, etc., and / or other communication operations that the streaming media server needs to perform in the embodiments of this application.

[0218] In another possible example, taking the communication device as an edge streaming media server, the processing module 101 is used to support the edge streaming media server in executing step S107, and / or other processing operations that the edge streaming media server needs to perform in this embodiment of the application. The communication module is used to support the edge streaming media server in executing... Figure 4 Step S105, etc., and / or other communication operations that the edge streaming media server needs to perform in the embodiments of this application.

[0219] Optionally, the communication device may include a storage module 103 for storing the program code and data of the communication device, and the data may include, but is not limited to, raw data or intermediate data.

[0220] The processing module 101 can be a processor or controller, such as a CPU, a general-purpose processor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute the various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this application. The processor can also be a combination that implements computational functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, etc.

[0221] The communication module 102 may be a communication interface, transceiver, or transceiver circuit, etc. Here, "communication interface" is a general term. In a specific implementation, the communication interface may include multiple interfaces, such as the interface between the base station and the terminal and / or other interfaces.

[0222] Storage module 103 can be a memory.

[0223] When the processing module 101 is a processor, the communication module 102 is a communication interface, and the storage module 103 is a memory, the communication device involved in the embodiments of this application can be... Figure 14 As shown, this communication device is also a computer.

[0224] See Figure 14 As shown, the communication device includes a processor 201, a communication interface 202, and a memory 203. Optionally, the communication device may also include a bus 204. The communication interface 202, processor 201, and memory 203 can be interconnected via the bus 204; the bus 204 can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The bus 204 can be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, Figure 14 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.

[0225] The memory stores instructions, and the processor executes the instructions stored in the memory to cause the computer device to perform the methods described in the above embodiments.

[0226] Optionally, embodiments of this application also provide a computer program product carrying computer instructions, which, when executed on a computer, causes the computer to perform the methods described in the above embodiments.

[0227] Optionally, embodiments of this application also provide a computer-readable storage medium that stores computer instructions that, when executed on a computer, cause the computer to perform the methods described in the above embodiments.

[0228] Those skilled in the art will understand that the above embodiments can be implemented entirely or partially by software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available media can be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., digital video discs (DVDs)), or semiconductor media (e.g., solid-state disks (SSDs)).

[0229] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple modules or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces, indirect coupling or communication connection between devices or modules, and may be electrical or other forms.

[0230] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple devices. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0231] Through the above description of the embodiments, those skilled in the art can clearly understand that this application can be implemented by means of software plus necessary general-purpose hardware, and of course, it can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that makes a contribution, can be embodied in the form of a software product. This computer software product is stored in a readable storage medium, such as a computer floppy disk, hard disk, or optical disk, and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments of this application.

[0232] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A streaming media transmission method, characterized in that, The method includes: The streaming media server receives a first message sent by the terminal device. The first message includes a streaming media identifier and is used to request the streaming media corresponding to the streaming media identifier. The streaming media server processes the streaming media according to the Scalable Video Coding (SVC) to obtain at least one data stream, the at least one data stream including a first data stream and at least one second data stream; The streaming media server determines the Quality of Service (QoS) for each data stream. The streaming media server sends a second message to the first edge streaming media server. The second message includes the QoS of each data stream in the at least one data stream. The second message instructs the first edge streaming media server to transmit the at least one data stream to the terminal device using the resources corresponding to the QoS of each data stream. Wherein, the first resource corresponding to the first data stream and the second resource corresponding to the second data stream are different from each other. The first resource and the second resource are network slice resources, which include wireless sub-slice resources, bearer sub-slice resources or core network sub-slice resources.

2. The method according to claim 1, characterized in that, The QoS refers to 5G network slice resources.

3. The method according to claim 1 or 2, characterized in that, The streaming media server determines the QoS for each data stream, including: The streaming media server determines the corresponding QoS for each data stream according to a preset mapping relationship, which is pre-configured by the streaming media provider.

4. The method according to claim 1 or 2, characterized in that, The first message also includes the identifier of the terminal device. Before the streaming media server sends the second message to the first edge streaming media server, the method further includes: The streaming media server sends a third message to the network device, the third message being used to request that the identifier of the terminal device be bound to the resource corresponding to the QoS; The streaming media server receives a fourth message sent by the network device, the fourth message being used to indicate the result of binding the identifier of the terminal device with the resource corresponding to the QoS.

5. The method according to claim 4, characterized in that, If the streaming media server determines, based on the fourth message, that the identifier of the terminal device is successfully bound to the resource corresponding to the QoS, then the second message further includes the stream identifier of the at least one data stream, and the mapping relationship between the stream identifier of each data stream and the QoS of each data stream; The method further includes: The streaming media server transmits the at least one data stream to the first edge streaming media server.

6. The method according to claim 1 or 2, characterized in that, The method further includes: The streaming media server processes another streaming media according to SVC to obtain at least one other data stream, wherein the other streaming media is the streaming media requested by another terminal device. The additional at least one data stream includes a first data stream and at least one second data stream, wherein the first data stream represents a data stream of basic quality, and the data stream formed by the at least one second data stream and the first data stream has a higher quality than the data stream of basic quality; The streaming media server determines the QoS for each of the at least one other data stream; If the streaming media server determines that the identifier of the other terminal device has not been successfully bound to the resource corresponding to the QoS of at least one other data stream, then the streaming media server transmits the first data stream to the first edge streaming media server.

7. The method according to claim 1 or 2, characterized in that, The method further includes: The streaming media server receives a fifth message sent by the first edge streaming media server, the fifth message including the priority of the streaming media and / or the priority of the at least one data stream; The streaming media server controls the first edge streaming media server to transmit the at least one data stream to the terminal device according to the fifth message.

8. The method according to claim 7, characterized in that, The streaming media server controls the first edge streaming media server to transmit the at least one data stream to the terminal device according to the fifth message, including: According to the fifth message, the streaming media server determines to disconnect the connection between the first edge streaming media server and the terminal device for transmitting a third data stream, wherein the third data stream belongs to the at least one data stream.

9. The method according to claim 8, characterized in that, After the streaming media server determines, based on the fifth message, to disconnect the connection between the first edge streaming media server and the terminal device for transmitting the third data stream, the method further includes: The streaming media server sends a sixth message to the second edge streaming media server. The sixth message includes the stream identifier of the third data stream and is used to instruct the second edge streaming media server to transmit the third data stream to the terminal device.

10. A streaming media transmission method, characterized in that, The method includes: The first edge streaming media server receives a second message sent by the streaming media server. The second message includes the QoS of each data stream in at least one data stream. The second message is used to instruct the first edge streaming media server to transmit at least one data stream to the terminal device using the resources corresponding to the QoS of each data stream. The at least one data stream is obtained by the streaming media server processing the streaming media according to SVC; The first edge streaming media server transmits the at least one data stream to the terminal device according to the second message, the at least one data stream including a first data stream and at least one second data stream; Wherein, the first resource corresponding to the first data stream and the second resource corresponding to the second data stream are different from each other. The first resource and the second resource are network slice resources, which include network slice resources such as wireless sub-slice resources, bearer sub-slice resources or core network sub-slice resources.

11. The method according to claim 10, characterized in that, The QoS refers to 5G network slice resources.

12. The method according to claim 10 or 11, characterized in that, There is a preset mapping relationship between the stream identifier of the data stream and the QoS, and the preset mapping relationship is pre-configured by the streaming media provider.

13. The method according to claim 10 or 11, characterized in that, The second message also includes a stream identifier for at least one data stream; before the first edge streaming media server transmits at least one data stream to the terminal device, the method further includes: The first edge streaming media server obtains the at least one data stream from the streaming media server according to the second message; The first edge streaming media server establishes at least one connection using the resources corresponding to the QoS, and the at least one connection is used to transmit the at least one data stream.

14. The method according to claim 13, characterized in that, After the first edge streaming media server transmits the at least one data stream to the terminal device, the method further includes: The first edge streaming media server obtains a fifth message, the fifth message including the priority of the streaming media and / or the priority of the at least one data stream; The first edge streaming media server controls the at least one connection based on the fifth message.

15. The method according to claim 14, characterized in that, The method further includes: The first edge streaming media server sends a fifth message to the streaming media server, the fifth message being used to instruct the streaming media server to control the at least one connection.

16. A streaming media server, characterized in that, The streaming media server includes: a processing module and a communication module connected to the processing module; The communication module is used to receive a first message sent by the terminal device, the first message including a streaming media identifier, and the first message is used to request the streaming media corresponding to the streaming media identifier; The processing module is configured to process the streaming media according to the Scalable Video Coding (SVC) to obtain at least one data stream, wherein the at least one data stream includes a first data stream and at least one second data stream; The processing module is also used to determine the Quality of Service (QoS) for each data stream; The communication module is further configured to send a second message to the first edge streaming media server, the second message including the QoS of each data stream in the at least one data stream, the second message instructing the first edge streaming media server to transmit the at least one data stream to the terminal device using the resources corresponding to the QoS of each data stream; Wherein, the first resource corresponding to the first data stream and the second resource corresponding to the second data stream are different from each other. The first resource and the second resource are network slice resources, which include wireless sub-slice resources, bearer sub-slice resources or core network sub-slice resources.

17. An edge streaming media server, characterized in that, The edge streaming media server includes: a communication module; The communication module is used to receive a second message sent by the streaming media server. The second message includes the QoS of each data stream in at least one data stream. The second message is used to instruct the edge streaming media server to transmit at least one data stream to the terminal device using the resources corresponding to the QoS of each data stream. The at least one data stream includes a first data stream and at least one second data stream. The at least one data stream is obtained by the streaming media server processing the streaming media according to SVC; The communication module is further configured to transmit the at least one data stream to the terminal device according to the second message; Wherein, the first resource corresponding to the first data stream and the second resource corresponding to the second data stream are different from each other. The first resource and the second resource are network slice resources, which include wireless sub-slice resources, bearer sub-slice resources or core network sub-slice resources.

18. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that, when executed on a computer, cause the computer to perform the method according to any one of claims 1-9, or cause the computer to perform the method according to any one of claims 10-15.

19. A computer device, characterized in that, The device includes a communication interface, a processor, and a memory. The communication interface is used to communicate with other devices, the memory stores instructions, and the processor is used to execute the instructions stored in the memory to cause the computer device to perform the method according to any one of claims 1-9 or 10-15.

20. A computer program product, characterized in that, When the computer program product is run on a computer, it causes the computer program product to perform the method according to any one of claims 1-9, or causes the computer program product to perform the method according to any one of claims 10-15.

Citation Information

Patent Citations

  • Network slice determination method and related device

    CN111416745A

  • Communication method and communication system for terminal and server

    CN112187495A

  • Scalable coding based video distribution

    US20190028743A1