Nothing Special   »   [go: up one dir, main page]

WO2011150794A1 - 流媒体服务方法、系统及客户端 - Google Patents

流媒体服务方法、系统及客户端 Download PDF

Info

Publication number
WO2011150794A1
WO2011150794A1 PCT/CN2011/074868 CN2011074868W WO2011150794A1 WO 2011150794 A1 WO2011150794 A1 WO 2011150794A1 CN 2011074868 W CN2011074868 W CN 2011074868W WO 2011150794 A1 WO2011150794 A1 WO 2011150794A1
Authority
WO
WIPO (PCT)
Prior art keywords
media
coded
priority
network bandwidth
description file
Prior art date
Application number
PCT/CN2011/074868
Other languages
English (en)
French (fr)
Inventor
张少波
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2011150794A1 publication Critical patent/WO2011150794A1/zh
Priority to US13/889,932 priority Critical patent/US9131027B2/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS

Definitions

  • the present application relates to the field of streaming media communication technologies, and in particular, to a streaming media service method, system, and client.
  • the traditional streaming media service uses RTP (Real-time Transport Protocol) and RTSP (Real Time Streaming Protocol) for streaming media transmission.
  • This streaming service requires a dedicated streaming server.
  • the streaming media server maintains a one-to-one session connection with the client.
  • the streaming media server serves as the control body, and the client tracks the change of the session state.
  • the streaming media server adjusts the streaming media transmission speed according to the network bandwidth, and sends the media content to the client, but
  • This type of streaming server is a special-purpose server, and streaming media transmission has obstacles that traverse the firewall, and the use is inconvenient.
  • HTTP streaming is client-centric, the server can use a normal HTTP file server, and the control of "session" is done by the client (there is no session in the HTTP streaming service, only a series of independent HTTP requests and responses. The server only sends a file or a portion of the file to the client based on the client request, and the client needs to explicitly indicate the requested file or a portion of the file.
  • each version is divided into media segments according to time, and these media segments are stored on an HTTP file server, and these media segments can be
  • the client accesses the media segment of different versions (rates) according to the actual transmission rate of the network, and can switch between the streaming segments of different rates according to the change of the network bandwidth.
  • the network bandwidth varies widely, for example, the network bandwidth is lower than the HTTP file service.
  • the streaming media transmission service is interrupted according to the existing transmission mode.
  • the embodiments of the present invention provide a streaming media service method, system, and client, so as to effectively reduce the problem that the existing streaming media transmission is prone to service interruption when the network bandwidth varies widely.
  • the embodiment of the present application provides a streaming media service method, including:
  • the client obtains a media presentation description file, and the media presentation description file includes a priority of the coded expression group of the media;
  • the embodiment of the present application further provides a streaming media service system, including: a client and a server, where the client is configured to obtain a media presentation description file, where the media presentation description file includes a priority of a coded expression group of the media. Selecting a coded expression set according to the priority of the coded expression group and the current network bandwidth, and selecting one coded expression from each of the selected coded expression groups, according to the selected coded expression parsed from the media presentation description file Address information, requesting the coded media segment from a server corresponding to the address information;
  • the server is configured to pre-store media segments of different coded expressions.
  • the embodiment of the present application further provides a client, including:
  • an obtaining unit configured to obtain a media presentation description file, where the media presentation description file includes a priority of the coded expression group of the media; the network bandwidth selects the coded expression group, and selects one code expression from each selected code expression group selected ;
  • a requesting unit configured to request, according to the address information of the selected code expression parsed in the media presentation description file obtained from the obtaining unit, to the server corresponding to the address information A media segment of the code representation.
  • the client obtains a media presentation description file, where the media presentation description file includes the priority of the coded expression group of the media, according to the priority of the coded expression group.
  • the current network bandwidth selects the coded expression group, and selects one coded expression from each of the selected coded expression groups, and requests the server corresponding to the address information according to the address information expressed by the selected code parsed from the media presentation description file.
  • the encoded media segment is encoded.
  • FIG. 1 is a flowchart of a first embodiment of a streaming media service method according to the present application
  • FIG. 2 is a flowchart of a second embodiment of a streaming media service method according to the present application.
  • FIG. 3 is a block diagram of an embodiment of a streaming media service system of the present application.
  • FIG. 4 is a block diagram of a first embodiment of a client of the present application.
  • Figure 5 is a block diagram of a second embodiment of the client of the present application.
  • the embodiments of the present application provide a streaming media service method, system, and client.
  • the client cannot make selections and trade-offs in the media representations of different media components. If different media components are multiplexed together (the coded representations of different media components are multiplexed in one coded representation), the client cannot request one or more of the media components; even if the coded representation of the different media components is independent, the client There is no basis for making a trade-off between media components, and it is impossible to make a correct decision based only on the bit rate expressed by the code. Regardless of the above, the network still has the capability of transmitting part of the media data. Therefore, the embodiment of the present application distinguishes the priority of the coded expression group corresponding to the different media components by distinguishing the plurality of media components to implement the network. When the bandwidth is low, part of the media data is transmitted to ensure that the streaming service is not interrupted.
  • a flowchart of a first embodiment of a streaming media service method according to the present application is as follows:
  • Step 101 The client obtains a media presentation description file, where the media presentation description file contains the priority of the coded expression group of the media.
  • the media component included in each media content is first distinguished in the embodiment of the present application, and the encoding of the media content generates a coded expression corresponding to different media components.
  • the division of media components is not limited to the type of streaming media content (audio, video is a different media type), for example, for media content, according to media type, can be divided into video components, audio components; for SVC (elastic layered coding) , Scalable Video Coding ), each video encoding layer is a media component.
  • Each media component may correspond to a plurality of encoded representations, such as: video encoded versions of different rates (bitrates), video encoded versions of different resolutions, audio encoded versions of different rates (bitrates); same media component
  • the set of corresponding coded expressions is called a representation group, and the coded expressions in the coded expression group can be substituted for each other.
  • the encoded representation can be stored on each HTTP file server, because the encoded representation corresponding to each media component is a subset of the media presentation, so the encoded representation in this application can also be referred to as a partial representation.
  • the client is based on HTTP The address of the file server, such as a URL (Uniform I Universal Resource Locator), to obtain the corresponding media segment of the encoded expression.
  • URL Uniform I Universal Resource Locator
  • the coded expression in each coding table group includes the same media component, and the coded expression group needs to be assigned different priorities.
  • the priority of the coded expression group may be determined according to at least one of the following information: media type. , media bearer information, media content production methods, media content distribution, etc.
  • media type media type
  • media bearer information media content production methods
  • media content distribution etc.
  • the audio component is generally considered to have a higher priority than the video component, but this is not absolute, but is related to the media content itself. For example, for a music meeting, the sound is more important than the image.
  • the priority of the above audio component is higher than the priority of the video component.
  • the image is more important than the sound, so the video component has a higher priority than the audio component.
  • Each coded expression group has the lowest bandwidth required for its presentation. Therefore, the embodiment of the present application preliminarily sets the correspondence between the coded expression groups of the different priorities and the minimum bandwidth to be satisfied when presented.
  • the client When the client needs to obtain the streaming service, the client first needs to obtain the media presentation description file, which contains the priority of the coded expression group given above, and the address information of the server where the code is expressed.
  • the media presentation description file may be obtained by using a short message, or the media presentation description file may be obtained by using a mail, or obtained by using a webpage directory.
  • Step 102 Select a coded expression set according to the priority of the coded expression group and the current network bandwidth, and select one coded expression from each of the selected coded expression groups.
  • the current network bandwidth is matched according to the priority of the coded expression group from high to low, and according to the matching result, a set of coded expression groups that the current network bandwidth can satisfy is obtained. That is to say, the bandwidth required to express the group with the highest priority is compared with the current network bandwidth. If it is smaller than the current network bandwidth, the coded expression group with the highest priority is selected, and then the coded expression group with the second highest priority is used. The required bandwidth is compared with the current network bandwidth minus the remaining network bandwidth that has been matched to the bandwidth of the highest priority coded expression group. If it is less than the remaining network bandwidth, the coded expression group with the second highest priority is selected, if greater than the remaining The network bandwidth is terminated, and so on, until the available network bandwidth is allocated in order of priority from the highest priority of the coded expression group.
  • Step 103 Request the coded media segment from the server corresponding to the address information according to the address information expressed by the selected code parsed from the media presentation description file.
  • the address information of the media presentation description file parsing and encoding is consistent with the process of resolving the address information in the prior art, and details are not described herein again.
  • a media segment which is an access unit of the HTTP streaming service that can be expressed by the uniform resource locator. Therefore, when the network bandwidth is low, the transmission of the media segment can still be realized, and the streaming media service is guaranteed to be uninterrupted.
  • FIG. 2 it is a flowchart of a second embodiment of a streaming media service method according to the present application.
  • the embodiment shows a detailed process of performing streaming media transmission according to changes in network bandwidth:
  • Step 201 The pre-generated encoded expression is saved on the server.
  • the media component included in each media content is first distinguished, and the encoding of the media content generates a coded expression corresponding to different media components.
  • the division of media components is not limited to the type of streaming media content (audio, video is a different media type), for example, for media content, according to media type, can be divided into video components, audio components; for video using SVC, each The video coding layer is a media component.
  • Each media component may correspond to a plurality of code representations, such as: video coded versions of different rates (bitrates), video coded versions of different resolutions, audio coded versions of different rates (bitrates); same media component
  • the set of corresponding coded expressions is called a representation group, and the coded expressions in the coded expression group can be substituted for each other.
  • the encoded representation can be stored on each HTTP file server, because the encoded expression corresponding to each media component is a subset of the media presentation, so the encoded expression in this application can also be called a partial representation.
  • the client obtains the corresponding media segment of the encoded expression according to the address of the HTTP file server, such as a URL.
  • Step 202 The client obtains a media presentation description file, and the media presentation description file includes a priority of the coded expression group of the streaming media.
  • different priority levels need to be assigned to the coded expression group, and the priority of the coded expression group may be determined according to at least one of the following information: media type, media bearer information, media content production mode, media content distribution, and the like.
  • media type media type
  • media bearer information media content production mode
  • media content distribution media content distribution
  • the file includes the priority of the coded expression group given above, and the address information of the server where the code is expressed.
  • the media presentation description file may be obtained by using a short message, or the media presentation description file may be obtained by using a mail, or obtained by using a webpage directory.
  • Step 203 Match the current network bandwidth according to the priority of the coded expression group from high to low.
  • the bandwidth required to express the group with the highest priority is compared with the current network bandwidth. If it is smaller than the current network bandwidth, the coded expression group with the highest priority is selected, and then the code with the second highest priority is used to express the required bandwidth of the group.
  • the network bandwidth is compared with the remaining network bandwidth that has been matched to the bandwidth of the highest priority coded expression group. If it is smaller than the remaining network bandwidth, the coded expression group with the second highest priority is selected. If it is greater than the remaining network bandwidth, the network bandwidth ends. Select, and so on, until the available network bandwidth is allocated in order from the highest to the lowest in the order of priority of the coded expression group.
  • Step 204 Obtain, according to the result of the matching, a set of coded expression groups that the current network bandwidth can satisfy.
  • step 203 when the available network bandwidth is allocated, a set of coded expression groups satisfying the requirements is obtained, and the set includes one or more coded expression groups.
  • Step 205 Select a coded expression from each of the selected coded expression groups.
  • the bandwidth required for coding the code with the smallest occupied bandwidth in the coded expression group is The current network bandwidth is compared, and bandwidth allocation is performed according to the bandwidth required for the encoded expression with the smallest occupied bandwidth.
  • a video coding expression group contains a plurality of coded expressions corresponding to different rates (bit rates), respectively, 200 kbps, 300 kbps, 500 kbps, 800 kbps, so when matched with the current network bandwidth, 200 kbps is required. The bandwidth is matched.
  • bit rates bit rates
  • the video encoding expression group is included in the finally selected expression group set, according to the current network bandwidth allocation, if the current remaining network bandwidth can satisfy the video coding of the higher coding rate, the further A suitable coding expression is selected from the video coding expression set, for example, a certain video coding expression higher than 200 kbps can be selected.
  • Step 206 According to the address letter expressed by the selected code parsed from the media presentation description file The media segment of the encoded expression is requested from the server corresponding to the address information.
  • Step 207 Determine whether all media segments are requested. If yes, the process ends. Otherwise, step 208 is performed.
  • Step 208 Determine whether the current network bandwidth changes, and if yes, return to step 203; otherwise, return to step 206.
  • the client can monitor the current network bandwidth change in real time.
  • the selection of the coded expression group can be re-executed, that is, the process returns to step 203. That is, after the appropriate coded expression group is selected according to the network bandwidth of the previous time period, the network bandwidth may change after a period of time.
  • a bandwidth change threshold may be preset, for example, 50k.
  • the present application indicates the priority of different media coding expressions in the media presentation description file, so that the network bandwidth can be matched according to the priority order, the coded expression that satisfies the network bandwidth is selected, and the corresponding media segment is requested.
  • This makes full use of the ability to transmit part of the media data when the network bandwidth is low, can expand the adaptation to the network bandwidth fluctuation, realize the smooth upgrade or degradation of the streaming media transmission service, and reduce the flow caused by the network bandwidth change.
  • Media transfer is interrupted.
  • the media components of the program include video, audio, narration, and subtitles.
  • the media component video multiple encoding expressions correspond to different encoding rates, respectively, 200 kbps, 300 kbps. 500kbps, 800kbps; for media component audio, the coding rate corresponding to the coded expression is 192kbps; for the media component commentary, the bit rate corresponding to the coded expression is 64kbps, 32kbps, 16kbps; for media component subtitles
  • the bit rate of its encoded representation is lkbps. According to the transmission requirement, after the streaming media content is divided into different media components, the encoded expression of the media component is saved on the server.
  • the coded expression groups of the divided media components are given different priorities, and the priority of the coded expression groups can be assigned according to the degree of importance of different media components to the complete media presentation.
  • the priority order of the coded expression groups is from high to low, respectively, subtitle, narration, audio, video.
  • the priority of the coded expression group is represented by a number, wherein the smaller the number, the higher the priority.
  • the media presentation description file (called Media Presentation Description or manifest file) is first obtained, and the client can obtain the media presentation description file by using a short message or an email.
  • the media presentation description file is an entry of the HTTP streaming service, and the client can parse the URL of the HTTP file server where the encoded expression to be accessed is located from the media presentation description file.
  • the file carries the priority sequence of the coded expression group as shown in Table 1 above.
  • the client combines the current network bandwidth to determine whether the current network bandwidth can satisfy the priority.
  • the bandwidth can meet the priority
  • Coded expression set It can be seen that, in the present example, according to the priority of the coded expression group, when the network bandwidth condition is degraded, the streaming media transmission service has a descending process: subtitle + commentary dubbing + audio + video - > subtitle + commentary dubbing + audio —— >Subtitles + Interpretation Audio -> Subtitles.
  • the client selects a coded representation from each of the selected coded expression groups. For example, for a coded expression set video, see Table 1, the client can select a coded representation from 200 kbps, 300 kbps, 500 kbps, 800 kbps.
  • the media component matching the network bandwidth can still be presented, for example, when the network bandwidth is low.
  • the client can still obtain the subtitle content from the server for presentation, thereby ensuring that the streaming media service is not interrupted in the case of low network bandwidth.
  • the streaming media to be transmitted includes audio and video
  • the priority of the encoded expression group is determined according to the media content creation manner.
  • the media content creation method refers to video coding using SVC, that is, the video coding is divided into different levels, wherein High-level video coding relies on low-level video coding. High-level video coding can be decoded only after obtaining all low-level video coding, and the video quality output by the client increases as the coding layer of the obtained video coding increases.
  • the priority of the coded expression group indicated by the media presentation description file may be as prioritized as:
  • the coded expression groups are audio, video base layer, video enhancement layer 1, and video enhancement layer 2 in descending order of priority, that is, the three coding layers of the video belong to three coded expressions respectively.
  • the file carries the priority sequence of the coded expression group as shown in Table 2 above.
  • the client combines the current network bandwidth to determine whether the current network bandwidth can satisfy the priority.
  • the code "1" is expressed as "audio”. If not, the selection is ended. If it is satisfied, the current network bandwidth is subtracted from the bandwidth allocated for the coded expression group "audio”, and then it is judged whether the remaining bandwidth can satisfy the priority.
  • the encoded expression set is used as the encoded expression set selected by the client. It can be seen that, in this example, according to the priority of the coded expression group, in the case where the network bandwidth condition is degraded, the streaming media transmission service has a descending process: high quality video (video enhancement layer 2 + video enhancement layer 1 + video base layer) + Audio 1> Medium Quality Video (Video Enhancement Layer 1 + Video Base Layer) + Audio -> Low Quality Video (Video Base Layer) + Audio - > Audio.
  • the streaming media to be transmitted includes audio and video
  • the video encoding uses MDC (Multiple Description Video Coding), that is, the video encoding includes multiple encoding descriptions, and different encoding descriptions do not exist between Hierarchies and dependencies, each code description can be decoded independently, and the video quality output by the client increases as the number of code descriptions obtained increases.
  • MDC Multiple Description Video Coding
  • the streaming service provider can distribute different encoding descriptions and codes through different CDNs (Content Distribution Network).
  • the priority of the expression group is determined according to the distribution of the media content, thereby providing the diversity (diversity) of the streaming media transmission, and if the single CDN fails, the transmission of the media data can be provided by other CDNs, thereby facilitating the improvement of the streaming media service. quality.
  • the priority of the coded expression group indicated by the media presentation description file may be as shown in Table 3.
  • the coded expression group is audio, video coding description 1, video coding description 2, and video coding description 3 in descending order of priority, that is, three video coding descriptions belong to three coding expression groups, coding
  • the expression group can be distributed through different CDNs, and the priority of the above-mentioned coding expression group can be determined according to the reliability of the CDN or the selection order of the CDN, and the audio coding expression group has higher priority than all video coding expression groups.
  • the file carries the priority sequence of the coded expression group as shown in Table 3 above.
  • the client combines the current network bandwidth to determine whether the current network bandwidth can meet the priority.
  • the code "1" is expressed as "audio”. If not, the selection is ended. If it is satisfied, the current network bandwidth is subtracted from the bandwidth allocated for the coded expression group "audio”, and then it is judged whether the remaining bandwidth can satisfy the priority.
  • the present application also provides an embodiment of a streaming media service system and a client.
  • FIG. 3 it is a block diagram of an embodiment of a streaming media service system of the present application:
  • the streaming service system includes: a client 310 and a server 320.
  • the client 310 is configured to obtain a media presentation description file, where the media presentation description file includes a priority of the coded expression group of the media, and selects a coded expression group according to the priority of the coded expression group and the current network bandwidth, and Selecting one coded expression from each of the selected coded expression groups, and requesting the coded expression from the server 320 corresponding to the address information according to the address information expressed by the selected code parsed from the media presentation description file.
  • Media clips
  • the server 320 is configured to pre-store media segments of different coded expressions.
  • the client 310 is further configured to: when it is detected that the current network bandwidth changes exceed a threshold, return to perform performing the coding expression group according to the priority of the coded expression group and the current network bandwidth, and select from the selected A coding expression is selected from each of the coded expression groups, and the coded media segment is requested from the server 320 corresponding to the address information according to the address information of the selected code expression parsed from the media presentation description file.
  • the streaming media transmission in the embodiment of the present application is based on the HTTP protocol.
  • the server is an HTTP file server. Because the media segments expressed by different encodings may be stored on different HTTP file servers, the streaming media transmission system in the foregoing embodiment may be Contains multiple HTTP file servers.
  • the server may also be an HTTP proxy server in the transport path, a gateway or a cache in the CDN.
  • FIG. 4 it is a block diagram of a first embodiment of the client of the present application:
  • the client includes: an obtaining unit 410, a selecting unit 420, and a requesting unit 430.
  • the obtaining unit 410 is configured to obtain a media presentation description file, where the media presentation descriptor The priority of the coded expression group of the package is selected; the level and the current network bandwidth are selected to encode the expression group, and a coded expression is selected from each of the selected code expression groups; The address information is requested by the server corresponding to the address information to the media segment expressed by the encoding.
  • FIG. 5 a block diagram of a second embodiment of the client of the present application is as follows:
  • the client includes: an obtaining unit 510, a selecting unit 520, a requesting unit 530, and a monitoring unit 540.
  • the obtaining unit 510 is configured to obtain a media presentation description file, where the media presentation describes a priority of the coded expression group of the body in the description file;
  • the selecting unit 520 is configured to select a coded expression group according to the priority of the coded expression group obtained by the obtaining unit 510 and the current network bandwidth, and select one coded expression from each selected coded expression group;
  • the address information of the selected code representation is requested by the server corresponding to the address information to the media segment expressed by the code.
  • the monitoring unit 540 is configured to trigger the function of the selecting unit 520 when it is detected that the current network bandwidth changes exceed a threshold.
  • the selecting unit 520 may include: (not shown in FIG. 5): a bandwidth matching unit, configured to sequentially match the current network bandwidth according to the priority of the encoded expression group from highest to lowest; and the result obtaining unit, configured to match As a result, a set of coded expression groups that the current network bandwidth can satisfy is obtained.
  • the client obtains a media presentation description file, where the media presentation description file includes a priority of the coded expression group of the media, according to the priority of the coded expression group and the current network bandwidth. Selecting a coded expression set and selecting a coded expression from each of the selected coded expression sets, based on the selected coded representation parsed from the media presentation description file.
  • the address information is requested by the server corresponding to the address information to the media segment expressed by the encoding.
  • the network bandwidth can be matched according to the priority order, the coded expression satisfying the network bandwidth is selected, and the corresponding media segment is requested.
  • This fully utilizes the ability to transmit part of the media data when the network bandwidth is low, can expand the adaptation to the network bandwidth fluctuation, realize the smooth upgrade or degradation of the streaming media transmission service, and reduce the streaming media transmission caused by the network bandwidth change. Interrupted.
  • the present application can be implemented by means of software plus a necessary general purpose hardware platform. Based on such understanding, the technical solution of the present application, which is essential or contributes to the prior art, may be embodied in the form of a software product, which may be stored in a storage medium such as a ROM/RAM or a disk. , an optical disc or the like, comprising at least two instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to perform the methods described in various embodiments of the present application or portions of the embodiments.
  • a computer device which may be a personal computer, a server, or a network device, etc.

Landscapes

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

Abstract

一种流媒体服务方法、系统及客户端,该方法包括:客户端获得媒体呈现描述文件,所述媒体呈现描述文件中包含媒体的编码表达组的优先级;根据所述编码表达组的优先级和当前网络带宽选择编码表达组,并从所选择的每个编码表达组中选择一个编码表达;根据从所述媒体呈现描述文件中解析出的所选择编码表达的地址信息,向与所述地址信息对应的服务器请求所述编码表达的媒体片段。本申请实施例充分利用了网络带宽较低的情况下具有传输部分媒体数据的能力,可以扩大对网络带宽波动的适应,实现流媒体传输服务的平滑升级或降级,减少了由于网络带宽变化引起的流媒体传输中断,提升了用户体验。

Description

流媒体服务方法、 系统^ ^户端 本申请要求于 2010 年 11 月 8 日提交中国专利局、 申请号为 201010534936.4、 发明名称为 "流媒体服务方法、 系统及客户端 "的中国专利 申请的优先权, 其全部内容通过引用结合在本申请中。
技术领域 本申请涉及流媒体通信技术领域,特别涉及流媒体服务方法、 系统及客户 端。
背景技术 传统的流媒体服务采用 RTP ( Real-time Transport Protocol,实时传输协议 ) 和 RTSP ( Real Time Streaming Protocol, 实时流传输协议 )进行流媒体传输, 这种流媒体服务需要专门的流媒体服务器,流媒体服务器与客户端保持一对一 的会话连接, 流媒体服务器作为控制主体, 客户端跟踪会话状态的变化, 流媒 体服务器根据网络带宽调节流媒体传输速度,将媒体内容发送到客户端,但是 这种流媒体服务器是特殊用途的服务器,而且流媒体传输存在穿越防火墙的障 碍, 使用存在不便。
由于 WEB的广泛应用,且 WEB服务器均支持 HTTP ( Hyper Text Transfer Protocol, 超文本传输协议)传输, 因此采用 HTTP进行流媒体传输成为发展 趋势, 以代替传统的流媒体服务。 采用 HTTP流媒体传输以客户端为中心, 服 务器可以采用普通的 HTTP文件服务器, "会话" 的控制由客户端完成(HTTP 流媒体服务中没有会话, 只有一系列的彼此独立的 HTTP请求和响应。)服务 器仅根据客户端请求将文件或文件的某一部分发送给客户端,客户端需要明确 指示所请求的文件或者文件的某一部分。现有技术中, 为了适应网络带宽的变 化, 同一内容将被编码成不同速率的版本,将每个版本按照时间分割为媒体片 段, 并将这些媒体片段存储在 HTTP文件服务器上, 这些媒体片段可以被客户 端独立访问, 客户端根据网络的实际传输速率选择不同版本(速率)的媒体片 段, 并可根据网络带宽的变化在不同速率的流媒体片段之间切换传输。
但是当网络带宽的变化范围比较大时, 例如, 网络带宽低于 HTTP文件服 务器上所存储的流媒体片段的最低编码速率时, 此时按照现有的传输方式, 则 流媒体传输服务就会中断。
发明内容 本申请实施例提供一种流媒体服务方法、 系统及客户端, 以有效降低现有 流媒体传输在网络带宽变化范围较大时, 容易出现服务中断的问题。
本申请实施例提供一种流媒体服务方法, 包括:
客户端获得媒体呈现描述文件,所述媒体呈现描述文件中包含媒体的编码 表达组的优先级;
根据所述编码表达组的优先级和当前网络带宽选择编码表达组 ,并从所选 择的每个编码表达组中选择一个编码表达;
根据从所述媒体呈现描述文件中解析出的所选择编码表达的地址信息,向 与所述地址信息对应的服务器请求所述编码表达的媒体片段。
本申请实施例还提供一种流媒体服务系统, 包括: 客户端和服务器, 所述客户端, 用于获得媒体呈现描述文件, 所述媒体呈现描述文件中包含 媒体的编码表达组的优先级,根据所述编码表达组的优先级和当前网络带宽选 择编码表达组, 并从所选择的每个编码表达组中选择一个编码表达,根据从所 述媒体呈现描述文件中解析出的所选择编码表达的地址信息,向与所述地址信 息对应的服务器请求所述编码表达的媒体片段;
所述服务器, 用于预先存储不同编码表达的媒体片段。
本申请实施例还提供一种客户端, 包括:
获得单元, 用于获得媒体呈现描述文件, 所述媒体呈现描述文件中包含媒 体的编码表达组的优先级; 网络带宽选择编码表达组, 并从所选择的每个编码表达组中选择一个编码表 达;
请求单元,用于根据从所述获得单元获得的所述媒体呈现描述文件中解析 出的所选择编码表达的地址信息,向与所述地址信息对应的服务器请求所述编 码表达的媒体片段。
由以上本申请实施例提供的技术方案可见,本申请实施例中客户端获得媒 体呈现描述文件,媒体呈现描述文件中包含媒体的编码表达组的优先级,根据 所述编码表达组的优先级和当前网络带宽选择编码表达组,并从所选择的每个 编码表达组中选择一个编码表达,根据从媒体呈现描述文件中解析出的所选择 编码表达的地址信息,向与地址信息对应的服务器请求所述编码表达的媒体片 段。应用本申请实施例,通过在媒体呈现描述文件中指示不同媒体编码表达组 的优先级,从而可以根据优先级顺序与网络带宽进行匹配,选择满足网络带宽 的编码表达, 并请求相应的媒体片段, 由此充分利用了网络带宽较低的情况下 具有传输部分媒体数据的能力, 可以扩大对网络带宽波动的适应, 实现流媒体 传输服务的平滑升级或降级, 减少了由于网络带宽变化引起的流媒体传输中 断。
附图说明 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施 例或现有技术描述中所需要使用的附图作筒单地介绍,显而易见地, 下面描述 中的附图仅仅是本申请中记载的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动性的前提下, 还可以根据这些附图获得其他的附图。
图 1为本申请流媒体服务方法的第一实施例流程图;
图 2为本申请流媒体服务方法的第二实施例流程图;
图 3为本申请流媒体服务系统的实施例框图;
图 4为本申请客户端的第一实施例框图;
图 5为本申请客户端的第二实施例框图。
具体实施方式 本申请实施例提供了一种流媒体服务方法、 系统及客户端。
为了使本技术领域的人员更好地理解本申请方案, 并使本申请的上述目 的、特征和优点能够更加明显易懂, 下面结合附图和具体实施方式对本申请作 进一步详细的说明。 由于 WEB的广泛应用,且 WEB的基础设施,如:服务器, CDN ( Content Distribution Network , 内容分发网络) 均支持 HTTP传输, 因此采用 HTTP进 行流媒体传输成为发展趋势, 以代替传统的流媒体服务。 本申请实施例采用 HTTP进行流媒体传输, 该流媒体传输以客户端为中心, 服务器可以采用普通 的 HTTP文件服务器, 媒体数据的传输的控制由客户端完成。
现有技术中,如果网络带宽不足以支持传输所有的媒体分量时,客户端无 法在不同的媒体分量的媒体表达中进行选择和取舍。如果不同的媒体分量复用 在一起(不同媒体分量的编码表达复用在一个编码表达), 客户端无法请求其 中的一个或多个媒体分量; 即使不同的媒体分量的编码表达是独立的,客户端 缺少对媒体分量做出取舍的依据,仅仅根据编码表达的比特率是不能做出正确 的决定的。 无论上述何种情况, 网络仍然具有传输部分媒体数据的能力, 因此 本申请实施例通过区分多个媒体分量,在此基础上区分不同媒体分量所对应的 编码表达组的优先级, 以实现在网络带宽较低时, 传输部分媒体数据, 保证流 媒体服务不中断。
参见图 1 , 为本申请流媒体服务方法的第一实施例流程图:
步骤 101 : 客户端获得媒体呈现描述文件, 该媒体呈现描述文件中包含媒 体的编码表达组的优先级。
为了适应较大带宽变化范围的流媒体传输,本申请实施例中首先区分每个 媒体内容所包含的媒体分量,对媒体内容的编码生成对应不同媒体分量的编码 表达。 媒体分量的划分不局限于流媒体内容的类型(音频, 视频是不同的媒体 类型), 例如, 对媒体内容, 根据媒体类型, 可以划分为视频分量、 音频分量; 对于采用 SVC (弹性分层编码, Scalable Video Coding ) 的视频, 每个视频编 码层都是一个媒体分量。 每个媒体分量可以对应多个编码表达 ( representation ), 如: 不同速率 (比特率) 的视频编码版本, 不同分辨率的 视频编码版本, 不同速率(比特率)的音频编码版本; 同一个媒体分量对应的 编码表达构成的集合称为编码表达组( representation group ), 编码表达组中的 编码表达可以相互替代。在服务器侧,每个 HTTP文件服务器上可以存储编码 表达, 因为每个媒体分量对应的编码表达是媒体呈现的一个子集, 因此本申请 中的编码表达也可称为部分编码表达( partial representation ),客户端根据 HTTP 文件服务器的地址, 例如 URL ( Uniform I Universal Resource Locator , 统一资 源定位符)来获取相应的编码表达的媒体片段。
本申请实施例中,每个编码表组中的编码表达包含了同样的媒体分量, 需 要为编码表达组赋予不同的优先级,编码表达组的优先级可以按照如下至少一 种信息确定:媒体类型、媒体承载信息、媒体内容制作方式、媒体内容分发等。 例如,按照媒体类型为编码表达组赋予优先级时,通常认为音频分量优先级高 于视频分量, 但这也不是绝对的, 而是和媒体内容本身有关。 比如, 对于音乐 会, 声音比图像重要, 上述音频分量优先级高于视频分量优先级的分配是合理 的, 而对于足球比赛, 图像比声音重要, 因此视频分量优先级高于音频分量优 先级。每个编码表达组都有其呈现时所需要的最低带宽, 因此本申请实施例预 先设置该不同优先级的编码表达组与其呈现时所要满足的最低带宽之间的对 应关系。
当客户端需要得到流媒体服务时, 客户端首先需要获得媒体呈现描述文 件, 该文件中包含了前述所赋予的编码表达组的优先级, 以及编码表达所在服 务器的地址信息。 其中, 可以通过短信获得所述媒体呈现描述文件, 或通过邮 件获得所述媒体呈现描述文件, 或通过网页目录获得所述媒体呈现描述文件。
步骤 102: 根据编码表达组的优先级和当前网络带宽选择编码表达组, 并 从所选择的每个编码表达组中选择一个编码表达。
具体的, 按照编码表达组的优先级从高到低的顺序依次匹配当前网络带 宽, 根据匹配的结果, 获得当前网络带宽能够满足的编码表达组的集合。 也就 是说,先用优先级最高的编码表达组所需带宽与当前网络带宽进行比较,如果 小于当前网络带宽, 则选择该优先级最高的编码表达组, 然后用优先级次高的 编码表达组所需带宽与当前网络带宽减去已匹配给优先级最高的编码表达组 的带宽后的剩余网络带宽进行比较,如果小于剩余网络带宽, 则选择该优先级 次高的编码表达组, 如果大于剩余网络带宽, 则结束选择, 以此类推, 直至将 可用的网络带宽按照编码表达组的优先级从高到低顺序依次分配完为止。
步骤 103: 根据从媒体呈现描述文件中解析出的所选择编码表达的地址信 息, 向与所述地址信息对应的服务器请求所述编码表达的媒体片段。 根据媒体呈现描述文件解析编码表达的地址信息与现有技术中解析地址 信息的过程一致, 在此不再赘述。 本申请实施例中, 在服务器上所保存的是编 码表达的时间片段, 以下称媒体片断, 它是 HTTP流媒体服务中可以通过统一 资源定位符指示的编码表达的访问单元。 因此可以在网络带宽较低时,仍能实 现媒体片段的传输, 保证流媒体服务不中断。
参见图 2, 为本申请流媒体服务方法的第二实施例流程图, 该实施例示出 了根据网络带宽变化进行流媒体传输的详细过程:
步骤 201 : 服务器上保存预先生成的编码表达。
本申请实施例中首先区分每个媒体内容所包含的媒体分量,对媒体内容的 编码生成对应不同媒体分量的编码表达。媒体分量的划分不局限于流媒体内容 的类型(音频, 视频是不同的媒体类型), 例如, 对媒体内容, 根据媒体类型, 可以划分为视频分量、 音频分量; 对于采用 SVC的视频, 每个视频编码层都 是一个媒体分量。 每个媒体分量可以对应多个编码表达(representation ), 如: 不同速率(比特率)的视频编码版本, 不同分辨率的视频编码版本, 不同速率 (比特率)的音频编码版本; 同一个媒体分量对应的编码表达构成的集合称为 编码表达组( representation group ), 编码表达组中的编码表达可以相互替代。 在服务器侧,每个 HTTP文件服务器上可以存储编码表达, 因为每个媒体分量 对应的编码表达是媒体呈现的一个子集,因此本申请中的编码表达也可称为部 分编码表达( partial representation ), 客户端根据 HTTP文件服务器的地址, 例 如 URL来获取相应的编码表达的媒体片段。
步骤 202: 客户端获得媒体呈现描述文件, 媒体呈现描述文件中包含流媒 体的编码表达组的优先级。
本申请实施例中, 需要为编码表达组赋予不同的优先级, 编码表达组的优 先级可以按照如下至少一种信息确定: 媒体类型、媒体承载信息、媒体内容制 作方式、 媒体内容分发等。 例如, 按照媒体类型为编码表达组赋予优先级时, 可以根据不同媒体分量对于构成完整媒体呈现的重要性程度来赋予。
当客户端需要得到流媒体服务时, 客户端首先需要获得媒体呈现描述文 件, 该文件中包含了前述所赋予的编码表达组的优先级, 以及编码表达所在服 务器的地址信息。 其中, 可以通过短信获得所述媒体呈现描述文件, 或通过邮 件获得所述媒体呈现描述文件, 或通过网页目录获得所述媒体呈现描述文件。
步骤 203: 按照编码表达组的优先级从高到低的顺序依次匹配当前网络带 宽。
用优先级最高的编码表达组所需带宽与当前网络带宽进行比较,如果小于 当前网络带宽, 则选择该优先级最高的编码表达组, 然后用优先级次高的编码 表达组所需带宽与当前网络带宽减去已匹配给优先级最高的编码表达组的带 宽后的剩余网络带宽进行比较,如果小于剩余网络带宽, 则选择该优先级次高 的编码表达组, 如果大于剩余网络带宽, 则结束选择, 以此类推, 直至将可用 的网络带宽按照编码表达组的优先级从高到低顺序依次分配完为止。
步骤 204: 根据匹配的结果, 获得当前网络带宽能够满足的编码表达组的 集合。
根据步骤 203中匹配的结果, 当将可用网络带宽分配完毕后,得到满足要 求的编码表达组的集合, 该集合中包含一个或多个编码表达组。
步骤 205: 从所选择的每个编码表达组中选择一个编码表达。
需要说明的是, 上述步骤 203中,对于包含了多个编码表达的编码表达组 来说,在根据优先级选择编码表达组时,将编码表达组中占用带宽最小的编码 表达所需要的带宽与当前网络带宽进行比较,并依据该占用带宽最小的编码表 达所需要的带宽进行带宽分配。
以某个视频编码表达组来说, 其中包含多个对应不同的速率(比特率)的 编码表达, 分别为 200kbps, 300kbps, 500kbps, 800kbps, 因此在与当前网络 带宽进行匹配时, 用 200kbps所需带宽进行匹配, 当最终选择的表达组集合中 包含了视频编码表达组时, 则可进一步根据当前网络带宽的分配情况,如果当 前剩余的网络带宽可以满足更高编码速率的视频编码,则可以进一步从该视频 编码表达组中选择一个合适的编码表达, 例如, 可以选择某个高于 200kbps的 视频编码表达。
步骤 206: 根据从媒体呈现描述文件中解析出的所选择编码表达的地址信 息, 向与地址信息对应的服务器请求编码表达的媒体片段。
步骤 207: 判断是否请求完所有的媒体片段, 若是, 则结束流程, 否则, 执行步骤 208。
步骤 208: 判断当前网络带宽是否发生变化, 若是, 则返回步骤 203; 否 则, 返回步骤 206。
客户端可以实时监测当前网络带宽的变化情况,当网络带宽的变化超过阈 值时, 可以重新进行编码表达组的选择, 即返回执行步骤 203。 也就是, 当根 据前一个时间段的网络带宽选择了合适的编码表达组后, 经过一段时间, 可能 网络带宽发生了变化,本申请实施例中可以预先设置一个带宽变化阈值,例如, 50k, 则当客户端监测到网络带宽的变化超过了 50k时, 则需要返回步骤 203 , 重新根据按照编码表达组的优先级从高到低的顺序依次匹配当前网络带宽,以 适应网络带宽的变化。
由上述实施例可见,本申请通过在媒体呈现描述文件中指示不同媒体编码 表达的优先级,从而可以根据优先级顺序与网络带宽进行匹配,选择满足网络 带宽的编码表达, 并请求相应的媒体片段, 由此充分利用了网络带宽较低的情 况下具有传输部分媒体数据的能力, 可以扩大对网络带宽波动的适应, 实现流 媒体传输服务的平滑升级或降级,减少了由于网络带宽变化引起的流媒体传输 中断。
下面描述几种通过本申请方法实施例进行流媒体服务的应用实例,这些应 用实例之间的主要区别在于所划分的编码表达组不同。
实例一:
本应用实例中, 假设有一段节目, 该节目的媒体分量包括视频、 音频、 解 说配音和字幕, 其中, 对于媒体分量视频来说, 其多个编码表达对应不同的编 码速率, 分别为 200kbps, 300kbps, 500kbps, 800kbps; 对于媒体分量音频来 说, 其编码表达对应的编码速率为 192kbps; 对于媒体分量解说配音来说, 其 编码表达对应的比特率为 64kbps、 32kbps, 16kbps; 对于媒体分量字幕来说, 其编码表达的比特率为 lkbps。 根据传输需要,将流媒体内容划分为不同的媒体分量后,在服务器上保存 上述媒体分量的编码表达。 为所划分媒体分量的编码表达组赋予不同的优先 级,编码表达组的优先级可以根据不同媒体分量对于构成完整的媒体呈现的重 要性程度来赋予。 例如, 本实例中, 编码表达组的优先级顺序从高到低分别为 字幕、 解说配音、 音频、 视频。 如下表 1所示, 编码表达组的优先级以数字表 示, 其中数字越小则优先级越高。
表 1
Figure imgf000011_0001
当客户端要访问编码表达的媒体片段时, 首先要获取媒体呈现描述文件 (称为 Media Presentation Description或者 manifest file ),客户端可以通过短信、 或者邮件等方式获取媒体呈现描述文件。媒体呈现描述文件是 HTTP流媒体服 务的入口,客户端可以从媒体呈现描述文件中解析出所要访问的编码表达所在 的 HTTP文件服务器的 URL。
当客户端获取到媒体呈现描述文件后,该文件中携带了如上述表 1所示的 编码表达组的优先级顺序, 此时客户端结合当前网络带宽, 首先判断当前网络 带宽是否能够满足优先级为 "1" 的编码表达组 "字幕", 如果不满足, 则结束 选择, 如果可以满足, 则将当前网络带宽减去为编码表达组 "字幕" 分配的带 宽, 然后判断剩余带宽是否能够满足优先级为 "2"的编码表达组 "解说配音", 如果不满足, 则结束选择, 如果可以满足, 则将剩余网络带宽进一步减去为编 码表达组 "解说配音"分配的带宽, 然后判断剩余网络带宽是否能够满足优先 级为 "3" 的编码表达组 "音频", 以此类推, 直至将所有可用的网络带宽分配 完为止, 然后将判断过程中判断结果为 "可以满足" 的编码表达组作为客户端 所选择的编码表达组。 由此可知, 本实例中根据编码表达组的优先级, 在网络 带宽条件下降的情况下, 流媒体传输服务有如下降级过程: 字幕 +解说配音 + 音频 +视频—— >字幕 +解说配音 +音频—— >字幕 +解说音频—— >字幕。 最 后, 客户端从所选择的每个编码表达组中选择一个编码表达, 例如, 对于编码 表达组视频来说,参见表 1 ,客户端可以从 200kbps, 300kbps, 500kbps, 800kbps 中选择一个编码表达。
由此可知, 当网络带宽降到不足以呈现所有的媒体分量的时候,按照上述 应用实例的方法, 仍然可以呈现与网络带宽相匹配的媒体分量, 例如, 当网络 带宽降到很低的时候, 只要能够满足编码表达组 "字幕", 则客户端仍然可以 从服务器获取字幕内容进行呈现, 由此保证在网络带宽较低的情况下, 流媒体 服务不会中断。
实例二:
本应用实例中, 所要传输的流媒体中包含音频和视频, 编码表达组的优先 级根据媒体内容制作方式进行确定, 媒体内容制作方式指视频编码采用 SVC, 即视频编码分为不同的层次, 其中高层的视频编码依赖于低层的视频编码, 只 有在获得所有低层的视频编码后, 高层视频编码才能够解码,客户端所输出的 视频质量随着所获得的视频编码的编码层的增加而提高。
本应用实例中,通过媒体呈现描述文件指示的编码表达组的优先级可以如 的优先级:
表 2
编码表达组组号 优先级 编码表达组
A 4 视频增强层 2
B 3 视频增强层 1 c 2 视频基础层
D 1 音频 上表 2中,编码表达组按照优先级顺序从高到低依次为音频、视频基础层、 视频增强层 1、视频增强层 2, 即视频的三个编码层分别属于三个编码表达组, 其中下一层的视频编码比上一层的视频编码具有更高的优先级,而音频编码表 达组优先于所有的视频编码表达组。
当客户端获取到媒体呈现描述文件后,该文件中携带了如上述表 2所示的 编码表达组的优先级顺序, 此时客户端结合当前网络带宽, 首先判断当前网络 带宽是否能够满足优先级为 "1" 的编码表达组 "音频", 如果不满足, 则结束 选择, 如果可以满足, 则将当前网络带宽减去为编码表达组 "音频" 分配的带 宽, 然后判断剩余带宽是否能够满足优先级为 "2" 的编码表达组 "视频基础 层", 如果不满足, 则结束选择, 如果可以满足, 则将剩余网络带宽进一步减 去为编码表达组 "视频基础层"分配的带宽, 然后判断剩余网络带宽是否能够 满足优先级为 "3" 的编码表达组 "视频增强层 1" , 以此类推, 直至将所有可 用的网络带宽分配完为止, 然后将判断过程中判断结果为 "可以满足" 的编码 表达组作为客户端所选择的编码表达组。 由此可知, 本实例中根据编码表达组 的优先级, 在网络带宽条件下降的情况下, 流媒体传输服务有如下降级过程: 高质量视频(视频增强层 2 +视频增强层 1 +视频基础层 ) +音频一一 >中等质 量视频(视频增强层 1 +视频基础层) +音频—— >低质量视频(视频基础层) +音频—— >音频。
实例三:
本应用实例中, 所要传输的流媒体中包含音频和视频, 其中视频编码采用 MDC ( Multiple Description Video Coding, 多描述编码;), 即视频编码包含多个 编码描述, 不同的编码描述之间不存在层次和依赖关系,各编码描述可以被独 立解码, 客户端输出的视频质量随着所获得的编码描述的数量的增加而提高。 进一步,为了提供更好的流媒体服务,流媒体服务提供者可以通过不同的 CDN ( Content Distribution Network, 内容分发网络)来分发不同的编码描述, 编码 表达组的优先级根据媒体内容分发进行确定,由此可以提供流媒体传输的分集 ( diversity ), 如果单一 CDN发生故障时, 可以由其它 CDN提供媒体数据的 传输, 由此有利于提高流媒体服务质量。
本应用实例中,通过媒体呈现描述文件指示的编码表达组的优先级可以如 表 3
Figure imgf000014_0001
上表 3中, 编码表达组按照优先级顺序从高到低依次为音频、视频编码描 述 1、 视频编码描述 2、 视频编码描述 3, 即三个视频编码描述分别属于三个 编码表达组, 编码表达组可以通过不同的 CDN进行发布, 可以根据 CDN的 可靠性或者 CDN的选择顺序, 确定上述编码表达组的优先级, 音频编码表达 组的优先级高于所有视频编码表达组。
当客户端获取到媒体呈现描述文件后,该文件中携带了如上述表 3所示的 编码表达组的优先级顺序, 此时客户端结合当前网络带宽, 首先判断当前网络 带宽是否能够满足优先级为 "1" 的编码表达组 "音频", 如果不满足, 则结束 选择, 如果可以满足, 则将当前网络带宽减去为编码表达组 "音频" 分配的带 宽, 然后判断剩余带宽是否能够满足优先级为 "2" 的编码表达组 "视频编码 描述 1" , 如果不满足, 则结束选择, 如果可以满足, 则将剩余网络带宽进一 步减去为编码表达组 "视频编码描述 1" 分配的带宽, 然后判断剩余网络带宽 是否能够满足优先级为 "3" 的编码表达组 "视频增强层 2" , 以此类推, 直至 将所有可用的网络带宽分配完为止,然后将判断过程中判断结果为 "可以满足" 的编码表达组作为客户端所选择的编码表达组。 由此可知, 本实例中根据编码 表达组的优先级,在网络带宽条件下降的情况下, 流媒体传输服务有如下降级 过程: 高质量视频(视频编码描述 3 +视频编码描述 2 +视频编码描述 1 ) + 音频—— >中等质量视频 (视频编码描述 2 +视频编码描述 1 ) +音频—— >低 质量视频(视频编码描述 1 ) +音频—— >音频。
与本申请流媒体服务方法的实施例相对应,本申请还提供了流媒体服务系 统及客户端的实施例。
参见图 3, 为本申请流媒体服务系统的实施例框图:
该流媒体服务系统包括: 客户端 310和服务器 320。
其中, 客户端 310, 用于获得媒体呈现描述文件, 所述媒体呈现描述文件 中包含媒体的编码表达组的优先级,根据所述编码表达组的优先级和当前网络 带宽选择编码表达组, 并从所选择的每个编码表达组中选择一个编码表达,根 据从所述媒体呈现描述文件中解析出的所选择编码表达的地址信息,向与所述 地址信息对应的服务器 320请求所述编码表达的媒体片段;
所述服务器 320, 用于预先存储不同编码表达的媒体片段。
进一步, 所述客户端 310, 还用于当监测到当前网络带宽的变化超过阈值 时,返回执行所述根据所述编码表达组的优先级和当前网络带宽选择编码表达 组, 并从所选择的每个编码表达组中选择一个编码表达,根据从所述媒体呈现 描述文件中解析出的所选择编码表达的地址信息,向与所述地址信息对应的服 务器 320请求所述编码表达的媒体片段。
本申请实施例中的流媒体传输基于 HTTP协议, 优选的, 服务器为 HTTP 文件服务器,由于不同编码表达的媒体片段可能存放在不同的 HTTP文件服务 器上, 因此上述实施例中的流媒体传输系统可能包含多个 HTTP文件服务器。 此外,服务器也可能是传输路径中的 HTTP代理服务器( proxy )、网关( gateway ) 或者 CDN中的緩存( cache )。
参见图 4, 为本申请客户端的第一实施例框图:
该客户端包括: 获得单元 410、 选择单元 420和请求单元 430。
其中, 获得单元 410, 用于获得媒体呈现描述文件, 所述媒体呈现描述文 件中包 ^某体的编码表达组的优先级; 级和当前网络带宽选择编码表达组,并从所选择的每个编码表达组中选择一个 编码表达; 件中解析出的所选择编码表达的地址信息,向与所述地址信息对应的服务器请 求所述编码表达的媒体片段。
参见图 5 , 为本申请客户端的第二实施例框图:
该客户端包括: 获得单元 510、 选择单元 520、 请求单元 530和监测单元 540。
其中, 获得单元 510, 用于获得媒体呈现描述文件, 所述媒体呈现描述文 件中包 ^某体的编码表达组的优先级;
选择单元 520, 用于根据所述获得单元 510获得的所述编码表达组的优先 级和当前网络带宽选择编码表达组,并从所选择的每个编码表达组中选择一个 编码表达; 件中解析出的所选择编码表达的地址信息,向与所述地址信息对应的服务器请 求所述编码表达的媒体片段。
监测单元 540, 用于当监测到当前网络带宽的变化超过阈值时, 触发所述 选择单元 520的功能。
具体的, 选择单元 520可以包括(图 5中未示出): 带宽匹配单元, 用于 按照编码表达组的优先级从高到低的顺序依次匹配当前网络带宽;结果获得单 元, 用于根据匹配的结果, 获得当前网络带宽能够满足的编码表达组的集合。
通过以上的实施方式的描述可知,本申请实施例中客户端获得媒体呈现描 述文件,媒体呈现描述文件中包含媒体的编码表达组的优先级,根据所述编码 表达组的优先级和当前网络带宽选择编码表达组,并从所选择的每个编码表达 组中选择一个编码表达,根据从媒体呈现描述文件中解析出的所选择编码表达 的地址信息, 向与地址信息对应的服务器请求所述编码表达的媒体片段。应用 本申请实施例,通过在媒体呈现描述文件中指示不同编码表达组的优先级,从 而可以根据优先级顺序与网络带宽进行匹配, 选择满足网络带宽的编码表达, 并请求相应的媒体片段,由此充分利用了网络带宽较低的情况下具有传输部分 媒体数据的能力, 可以扩大对网络带宽波动的适应, 实现流媒体传输服务的平 滑升级或降级, 减少了由于网络带宽变化引起的流媒体传输中断。
本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬 件平台的方式来实现。基于这样的理解, 本申请的技术方案本质上或者说对现 有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可 以存储在存储介质中, 如 ROM/RAM、 磁碟、 光盘等, 包括至少两个指令用以 使得一台计算机设备(可以是个人计算机, 服务器, 或者网络设备等)执行本 申请各个实施例或者实施例的某些部分所述的方法。
以上所述的本申请实施方式, 并不构成对本申请保护范围的限定。任何在 本申请的精神和原则之内所作的修改、等同替换和改进等, 均应包含在本申请 的保护范围之内。

Claims

权 利 要 求
1、 一种流媒体服务方法, 其特征在于, 包括:
客户端获得媒体呈现描述文件,所述媒体呈现描述文件中包含媒体的编码 表达组的优先级;
根据所述编码表达组的优先级和当前网络带宽选择编码表达组,并从所选 择的每个编码表达组中选择一个编码表达;
根据从所述媒体呈现描述文件中解析出的所选择编码表达的地址信息,向 与所述地址信息对应的服务器请求所述编码表达的媒体片段。
2、 根据权利要求 1所述的方法, 其特征在于, 所述获得媒体呈现描述文 件包括: 通过短信获得所述媒体呈现描述文件, 或通过邮件获得所述媒体呈现 描述文件, 或通过网页目录获得所述媒体呈现描述文件。
3、 根据权利要求 1所述的方法, 其特征在于, 每个编码表组中的编码表 达包含了同样的媒体分量;
所述编码表达组的优先级按照如下至少一种信息确定: 媒体类型、媒体承 载信息、 媒体内容制作方式、 媒体内容分发。
4、 根据权利要求 1所属的方法, 其特征在于, 所述根据编码表达组的优 先级和当前网络带宽选择编码表达组包括:
按照编码表达组的优先级从高到低的顺序依次匹配当前网络带宽; 根据匹配的结果, 获得当前网络带宽能够满足的编码表达组的集合。
5、 根据权利要求 1所述的方法, 其特征在于, 所述方法还包括: 服务器 上预先存储不同编码表达的媒体片段。
6、 根据权利要求 1所述的方法, 其特征在于, 所述方法还包括: 当监测到当前网络带宽的变化超过阈值时,返回所述根据所述编码表达组 的优先级和当前网络带宽选择编码表达组的步骤。
7、 一种流媒体服务系统, 其特征在于, 包括: 客户端和服务器, 所述客户端, 用于获得媒体呈现描述文件, 所述媒体呈现描述文件中包含 媒体的编码表达组的优先级,根据所述编码表达组的优先级和当前网络带宽选 择编码表达组, 并从所选择的每个编码表达组中选择一个编码表达,根据从所 述媒体呈现描述文件中解析出的所选择编码表达的地址信息,向与所述地址信 息对应的服务器请求所述编码表达的媒体片段;
所述服务器, 用于预先存储不同编码表达的媒体片段。
8、 根据权利要求 7所述的系统, 其特征在于, 所述客户端, 还用于当监 测到当前网络带宽的变化超过阈值时,返回执行所述根据所述编码表达组的优 先级和当前网络带宽选择编码表达组,并从所选择的每个编码表达组中选择一 个编码表达,根据从所述媒体呈现描述文件中解析出的所选择编码表达的地址 信息, 向与所述地址信息对应的服务器请求所述编码表达的媒体片段。
9、 一种客户端, 其特征在于, 包括:
获得单元, 用于获得媒体呈现描述文件, 所述媒体呈现描述文件中包含媒 体的编码表达组的优先级; 网络带宽选择编码表达组, 并从所选择的每个编码表达组中选择一个编码表 达;
请求单元,用于根据从所述获得单元获得的所述媒体呈现描述文件中解析 出的所选择编码表达的地址信息,向与所述地址信息对应的服务器请求所述编 码表达的媒体片段。
10、 根据权利要求 9所述的客户端, 其特征在于, 所述选择单元包括: 带宽匹配单元,用于按照编码表达组的优先级从高到低的顺序依次匹配当 前网络带宽;
结果获得单元, 用于根据所述带宽匹配单元匹配的结果, 获得当前网络带 宽能够满足的编码表达组的集合。
11、 根据权利要求 9所述的客户端, 其特征在于, 还包括:
监测单元, 用于当监测到当前网络带宽的变化超过阈值时,触发所述选择 单元的功能。
PCT/CN2011/074868 2010-11-08 2011-05-30 流媒体服务方法、系统及客户端 WO2011150794A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/889,932 US9131027B2 (en) 2010-11-08 2013-05-08 Method, system, and client for streaming media service

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201010534936.4 2010-11-08
CN2010105349364A CN102469072A (zh) 2010-11-08 2010-11-08 流媒体服务方法、系统及客户端

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/889,932 Continuation US9131027B2 (en) 2010-11-08 2013-05-08 Method, system, and client for streaming media service

Publications (1)

Publication Number Publication Date
WO2011150794A1 true WO2011150794A1 (zh) 2011-12-08

Family

ID=45066164

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/074868 WO2011150794A1 (zh) 2010-11-08 2011-05-30 流媒体服务方法、系统及客户端

Country Status (3)

Country Link
US (1) US9131027B2 (zh)
CN (1) CN102469072A (zh)
WO (1) WO2011150794A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104205766A (zh) * 2012-01-16 2014-12-10 高通股份有限公司 用于单播和广播之间的广播dash服务接收转换的方法和系统

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101768222B1 (ko) 2010-07-20 2017-08-16 삼성전자주식회사 적응적 스트리밍 방식의 컨텐트 송수신 방법 및 장치
US9674266B2 (en) * 2011-10-17 2017-06-06 Telefonaktiebolaget Lm Ericsson (Publ) Method for adaptive streaming, local storing and post-storing quality increase of a content file
US8977704B2 (en) 2011-12-29 2015-03-10 Nokia Corporation Method and apparatus for flexible caching of delivered media
US9401968B2 (en) * 2012-01-20 2016-07-26 Nokia Techologies Oy Method and apparatus for enabling pre-fetching of media
CN102761776B (zh) * 2012-08-01 2015-01-14 重庆大学 基于SVC的P2PVoD系统视音频同步方法
US10033777B2 (en) * 2012-10-19 2018-07-24 Interdigital Patent Holdings, Inc. Multi-hypothesis rate adaptation for HTTP streaming
CN104219590A (zh) * 2013-06-05 2014-12-17 华为终端有限公司 一种切换编码方式的方法、发送端和接收端
KR102064792B1 (ko) * 2013-12-17 2020-01-10 한국전자통신연구원 Http 기반의 멀티미디어 스트리밍 서비스를 위한 네트워크 대역폭 적응적 콘텐츠 생성 방법 및 시스템
CN105027530B (zh) * 2014-01-23 2018-09-07 华为技术有限公司 移动终端、第一基站及流媒体分段获取方法
FR3021489A1 (fr) * 2014-05-22 2015-11-27 Orange Procede de telechargement adaptatif de contenus numeriques pour plusieurs ecrans
CN104010232B (zh) * 2014-05-23 2017-12-12 惠州Tcl移动通信有限公司 一种智能播放在线视频的方法、系统、播放器及移动终端
CN104066000A (zh) * 2014-06-10 2014-09-24 百度在线网络技术(北京)有限公司 流媒体文件播放质量的监测方法及装置
WO2016003939A1 (en) * 2014-06-30 2016-01-07 Echostar Technologies L.L.C. Adaptive data segment delivery arbitration for bandwidth optimization
CN110971564B (zh) 2018-09-28 2021-03-30 华为技术有限公司 传输媒体数据的方法、客户端和服务器
KR20220075401A (ko) * 2019-10-15 2022-06-08 인터디지털 씨이 페이튼트 홀딩스, 에스에이에스 비디오를 전송 및 수신하기 위한 방법 및 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1988547A (zh) * 2005-12-23 2007-06-27 腾讯科技(深圳)有限公司 一种在线播放媒体文件的方法、服务器及系统
CN101005364A (zh) * 2006-01-16 2007-07-25 中兴通讯股份有限公司 一种媒体服务系统
CN101516057A (zh) * 2009-02-19 2009-08-26 深圳市彩秀科技有限公司 一种通过移动终端实现流媒体播放的方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6230162B1 (en) * 1998-06-20 2001-05-08 International Business Machines Corporation Progressive interleaved delivery of interactive descriptions and renderers for electronic publishing of merchandise
US7174151B2 (en) * 2002-12-23 2007-02-06 Arbitron Inc. Ensuring EAS performance in audio signal encoding
US7792982B2 (en) * 2003-01-07 2010-09-07 Microsoft Corporation System and method for distributing streaming content through cooperative networking
US20070067297A1 (en) * 2004-04-30 2007-03-22 Kublickis Peter J System and methods for a micropayment-enabled marketplace with permission-based, self-service, precision-targeted delivery of advertising, entertainment and informational content and relationship marketing to anonymous internet users
US20060023748A1 (en) * 2004-07-09 2006-02-02 Chandhok Ravinder P System for layering content for scheduled delivery in a data network
FR2882164A1 (fr) * 2005-02-11 2006-08-18 Canon Kk Procede et dispositif de transfert de donnees numeriques a format progressif
US7778268B2 (en) * 2005-09-16 2010-08-17 Acme Packet, Inc. Method and system of providing redundancy in a network device
US7953880B2 (en) 2006-11-16 2011-05-31 Sharp Laboratories Of America, Inc. Content-aware adaptive packet transmission
CN101282348B (zh) 2007-04-06 2011-03-30 上海晨兴电子科技有限公司 运用http协议实现流媒体功能的方法
CN101547356B (zh) * 2008-03-24 2011-07-27 展讯通信(上海)有限公司 视频码流收发、转发方法及设备
KR100970388B1 (ko) 2008-10-31 2010-07-15 한국전자통신연구원 네트워크 흐름기반 스케일러블 비디오 코딩 적응 장치 및 그 방법
US8214712B2 (en) 2008-11-05 2012-07-03 Mediatek Inc. Method for transmitting real-time streaming data in a communications system and apparatuses utilizing the same
EP2661866A4 (en) * 2011-01-07 2014-10-15 Nokia Corp METHOD AND DEVICE FOR PRESENTING SIGNALING
KR20140119200A (ko) * 2011-02-11 2014-10-08 인터디지탈 패튼 홀딩스, 인크 콘텐츠 배포 및 수신 방법 및 장치
US20120297430A1 (en) * 2011-05-20 2012-11-22 Marcin Morgos Central controller to manage network resources across a group of playback devices to control streaming video quality across the group of playback devices
US8995307B2 (en) * 2012-06-18 2015-03-31 Cisco Technology, Inc. Multicast media notification for queued calls

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1988547A (zh) * 2005-12-23 2007-06-27 腾讯科技(深圳)有限公司 一种在线播放媒体文件的方法、服务器及系统
CN101005364A (zh) * 2006-01-16 2007-07-25 中兴通讯股份有限公司 一种媒体服务系统
CN101516057A (zh) * 2009-02-19 2009-08-26 深圳市彩秀科技有限公司 一种通过移动终端实现流媒体播放的方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104205766A (zh) * 2012-01-16 2014-12-10 高通股份有限公司 用于单播和广播之间的广播dash服务接收转换的方法和系统
EP2805468B1 (en) * 2012-01-16 2018-11-21 Qualcomm Incorporated Method and system for transitions of broadcast dash service receptions between unicast and broadcast
EP3432548A1 (en) * 2012-01-16 2019-01-23 QUALCOMM Incorporated Method and system for transitions of broadcast dash service receptions between unicast and broadcast

Also Published As

Publication number Publication date
US20130254418A1 (en) 2013-09-26
US9131027B2 (en) 2015-09-08
CN102469072A (zh) 2012-05-23

Similar Documents

Publication Publication Date Title
WO2011150794A1 (zh) 流媒体服务方法、系统及客户端
US11770564B2 (en) Systems, devices and methods for distributing data with multi-tiered encoding
US10455404B2 (en) Quality of experience aware multimedia adaptive streaming
EP2730072B1 (en) Network-capacity optimized adaptive streaming
US8516144B2 (en) Startup bitrate in adaptive bitrate streaming
EP3092754B1 (en) Client/server signaling commands for dash
US20150256577A1 (en) Directing Fragmented Content
EP2537340A1 (en) Multipath delivery for adaptive streaming
US20130185399A1 (en) Content delivery
EP3563540A1 (en) Method and system for providing variable quality streaming video services in mobile communication networks
JP4283186B2 (ja) 双方向映像通信品質制御システム、利用者端末、品質管理サーバ及びプログラム
KR20210042051A (ko) 적응적 스트리밍 서비스를 위한 다중 경로 기반 블록 전송 시스템 및 스트리밍 방법
Clayman et al. In-network scalable video adaption using big packet protocol
CN102217278B (zh) 一种媒体内容在线适配方法及装置
CA2657444C (en) Multi-tiered scalable media streaming systems and methods
Oyman et al. Quality of experience for http adaptive streaming services
TW202123720A (zh) 伺服器端自適性媒體串流

Legal Events

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

Ref document number: 11789173

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11789173

Country of ref document: EP

Kind code of ref document: A1