[go: up one dir, main page]

CN100469072C - Multi-source streaming media transmission QoS control method - Google Patents

Multi-source streaming media transmission QoS control method Download PDF

Info

Publication number
CN100469072C
CN100469072C CNB2005100960825A CN200510096082A CN100469072C CN 100469072 C CN100469072 C CN 100469072C CN B2005100960825 A CNB2005100960825 A CN B2005100960825A CN 200510096082 A CN200510096082 A CN 200510096082A CN 100469072 C CN100469072 C CN 100469072C
Authority
CN
China
Prior art keywords
streaming media
media
transmission
rate
code rate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2005100960825A
Other languages
Chinese (zh)
Other versions
CN1744592A (en
Inventor
郑庆华
刘均
彭挺
林杰
伍洋
张帆
王晨旭
吕伟梅
张之明
丁凯
江丕峻
姜山
杨冬
陈洪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Jiaotong University
Original Assignee
Xian Jiaotong University
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 Xian Jiaotong University filed Critical Xian Jiaotong University
Priority to CNB2005100960825A priority Critical patent/CN100469072C/en
Publication of CN1744592A publication Critical patent/CN1744592A/en
Application granted granted Critical
Publication of CN100469072C publication Critical patent/CN100469072C/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种多源流媒体传输QoS控制方法,由多源流媒体描述语言解释器、多源流媒体带宽分配、定值带宽检测、数据传输控制以及RTP/RTCP五个模块组成。MSML解释器根据MSML文件获得各路流媒体的URL、传输质量要求;多源流媒体带宽分配模块根据流媒体传输的QoS要求以及检测模块得到的带宽值确定各路流媒体的传输速率与编码速率;数据传输控制模块根据VCR命令与缓冲区状态对媒体传输进行控制;RTP/RTCP模块实现流媒体的实时有序传输。本发明可实现多路多源并发流媒体传输质量的协调控制,以降低传输延迟与丢包率,适用于多窗口视频点播、网络视频监控、网络教育课件点播、多角度/多场景实况转播等应用领域。

The invention discloses a QoS control method for multi-source streaming media transmission, which is composed of five modules: multi-source streaming media description language interpreter, multi-source streaming media bandwidth allocation, fixed value bandwidth detection, data transmission control and RTP/RTCP. The MSML interpreter obtains the URL and transmission quality requirements of each channel of streaming media according to the MSML file; the multi-source streaming media bandwidth allocation module determines the transmission rate and encoding rate of each channel of streaming media according to the QoS requirements of streaming media transmission and the bandwidth value obtained by the detection module ; The data transmission control module controls the media transmission according to the VCR command and the buffer state; the RTP/RTCP module realizes the real-time and orderly transmission of the streaming media. The present invention can realize the coordinated control of multi-channel and multi-source concurrent streaming media transmission quality to reduce transmission delay and packet loss rate, and is suitable for multi-window video on demand, network video monitoring, network education courseware on demand, multi-angle/multi-scene live broadcast, etc. application field.

Description

多源流媒体传输QoS控制方法 Multi-source streaming media transmission QoS control method

技术领域 technical field

本发明属于计算机设计与应用技术领域,涉及计算机软件、数据传输技术、多媒体技术以及IP网络,特别涉及一种多源流媒体传输QoS控制方法。The invention belongs to the technical field of computer design and application, relates to computer software, data transmission technology, multimedia technology and IP network, and particularly relates to a multi-source streaming media transmission QoS control method.

背景技术 Background technique

目前,对流媒传输QoS研究的主要对象主要单路流媒体,解决问题的方法主要通过缓冲器调度、网络资源预留等方法。在进行单源流媒体进行传输时,效果较好,然而在进行多源流媒体传输QoS控制时,上述技术效果则并不理想。At present, the main object of QoS research on streaming media transmission is single-channel streaming media, and the methods to solve the problem are mainly through buffer scheduling, network resource reservation and other methods. When performing single-source streaming media transmission, the effect is better, but when performing multi-source streaming media transmission QoS control, the effect of the above techniques is not ideal.

针对多源流媒体传输QoS控制方法,申请人经过查新,检索到4篇与本发明相关较为紧密的文献,它们分别是:For the multi-source streaming media transmission QoS control method, the applicant retrieves 4 relatively closely related documents related to the present invention through a novelty search, and they are respectively:

1、基于Qos的多路视频回放1. Multi-channel video playback based on Qos

2、IP网络VOD中具有QoS保证的流媒体系统结构研究与设计2. Research and design of streaming media system structure with QoS guarantee in IP network VOD

3、Realtime multimedia transport using multiple paths3. Realtime multimedia transport using multiple paths

4.An application-level QoS comparison of single-stream and multi-streamapproaches in a wireless ad hoc network4.An application-level QoS comparison of single-stream and multi-stream approaches in a wireless ad hoc network

上述文献分别提出了多路视频进行回放时所采用的多缓冲区及其调度算法;基于RSVP实现QoS;采用多路径的方式实现多流实时传输及对视音频分成两路流传输并在接收端进行同步控制的方法。其中,多缓冲区控制及调度算法能够在一定程度上解决播放时的抖动问题,但在网络传输方面产无能为力;采用资源预留协议RSVP,可以在流媒体传输之间在网络中预留资源,这需要网络支持,且不能根据网络环境变化进行动态调整;采用多路径传输方法可以屏蔽掉部分网络故障,但并不判断网络能否满足于特定流媒体的传输要求;将音视频分开传输增加了额外开销,在进行多源流媒体传输时会使问题更加复杂。The above-mentioned documents respectively proposed the multi-buffer and its scheduling algorithm used in the playback of multi-channel video; the realization of QoS based on RSVP; method for synchronous control. Among them, the multi-buffer control and scheduling algorithm can solve the jitter problem during playback to a certain extent, but it is powerless in network transmission; the resource reservation protocol RSVP can be used to reserve resources in the network between streaming media transmissions, This requires network support and cannot be dynamically adjusted according to changes in the network environment; the use of multi-path transmission methods can shield some network failures, but it does not determine whether the network can meet the transmission requirements of specific streaming media; separate audio and video transmission increases the Additional overhead, which can compound the problem when streaming from multiple sources.

另外,现有描述多源流媒体的语言SMIL(Synchronized Multimedia IntegrationLanguage,同步多媒体集成语言)侧重于描述多路流媒体的呈现信息,缺少对多源流媒体QoS控制信息的描述。目前的网络带宽测试方法,如Pathchar算法或包对算法,都是通过向网络中输入数据来检测可用带宽,这类主动输入数据的方法会对测试结果造成影响,特别是在高速网络环境中,将会产生较大偏差。此外,这类方法只能获得网络的当前最大可用带宽,无法获得丢包率。目前的带宽分配方法主要针对单路媒体流,不能根据媒体流的类型与QoS要求对并发传输的多路媒体流进行网络带宽的协调分配。此外,现有带宽分配方法是依据最大可用带宽,未考虑在该带宽下的丢包率。In addition, the existing SMIL (Synchronized Multimedia Integration Language, Synchronized Multimedia Integration Language), which describes multi-source streaming media, focuses on describing the presentation information of multi-channel streaming media, and lacks the description of multi-source streaming media QoS control information. Current network bandwidth test methods, such as Pathchar algorithm or packet pair algorithm, all detect available bandwidth by inputting data into the network. This type of active data input method will affect the test results, especially in high-speed network environments. There will be a large deviation. In addition, such methods can only obtain the current maximum available bandwidth of the network, but cannot obtain the packet loss rate. The current bandwidth allocation method is mainly aimed at a single media stream, and cannot coordinate network bandwidth allocation for multiple concurrently transmitted media streams according to media stream types and QoS requirements. In addition, the existing bandwidth allocation method is based on the maximum available bandwidth, without considering the packet loss rate under the bandwidth.

因此,进行流媒体传输特别是多源流媒体传输时,现有技术并不能解决对网络可用带宽进行噢各地区精确检测并在可用网络带宽随时发生变化时对多源流媒体的传输带宽进行动态优化分配的问题,这在一定程度上限制了流媒体传输的服务质量。Therefore, when performing streaming media transmission, especially multi-source streaming media transmission, the existing technology cannot solve the problem of accurately detecting the available bandwidth of the network in various regions and dynamically monitoring the transmission bandwidth of multi-source streaming media when the available network bandwidth changes at any time. The problem of optimizing distribution, which limits the quality of service of streaming media transmission to some extent.

发明内容 Contents of the invention

本发明的目的是提出一种多源流媒体传输QoS控制方法,根据多源流媒体中各路媒体的具体情况及网络可用带宽情况,在整体上降低了数据传输的延迟与丢包率,可对网络资源进行优化利用,以提高多源流媒体的传输质量。The purpose of the present invention is to propose a multi-source streaming media transmission QoS control method, according to the specific conditions of each channel media in the multi-source streaming media and the available bandwidth of the network, the delay and packet loss rate of data transmission are reduced on the whole, which can Optimize the use of network resources to improve the transmission quality of multi-source streaming media.

实现上述发明的技术解决方案是:一种多源流媒体传输QoS(Quality ofService)控制方法:按以下步骤进行:The technical solution that realizes above-mentioned invention is: a kind of multi-source streaming media transmission QoS (Quality ofService) control method: carry out according to the following steps:

首先,采用多源流媒体语言MSML解释器从MSML文件中获得多源流媒体的元数据信息,该信息中的流媒体类型、传输质量要求将用于流媒体数据传输中的QoS控制;First, the multi-source streaming media language MSML interpreter is used to obtain the metadata information of the multi-source streaming media from the MSML file, and the streaming media type and transmission quality requirements in the information will be used for QoS control in the streaming media data transmission;

然后,采用定值带宽检测模块根据RTP/RTCP协议判断当前网络状况所能传输数据的最高速率;根据此结果,多源流媒体带宽分配模块结合流媒体类型、传输质量要求、所支持的码率,获得每路流媒体的在当前网络状况下可用的最高编码速率以及编码速率倍数的传输速率;定值带宽检测模块与多源流媒体带宽分配模块交替运行,随时根据最新的网络可用带宽,获得最高可用的编码速率及倍数传输速率;Then, use the fixed-value bandwidth detection module to judge the highest data rate that can be transmitted according to the current network conditions according to the RTP/RTCP protocol; according to this result, the multi-source streaming media bandwidth allocation module combines the streaming media type, transmission quality requirements, and supported code rate , to obtain the highest encoding rate and the transmission rate of encoding rate multiples available for each streaming media under the current network conditions; the fixed-value bandwidth detection module and the multi-source streaming media bandwidth allocation module operate alternately, and obtain according to the latest network available bandwidth at any time The highest available encoding rate and multiple transmission rate;

最后,数据传输控制模块根据用户的VCR命令与带宽分配结果,向RTP/RTCP模块发送更编码速率及倍数传输速率指令;RTP/RTCP模块在数据传输控制模块的控制下进行流媒体的实时传输。Finally, the data transmission control module sends commands to the RTP/RTCP module to update the encoding rate and multiple transmission rates according to the user's VCR command and bandwidth allocation results; the RTP/RTCP module performs real-time transmission of streaming media under the control of the data transmission control module.

所述的多源流媒体语言MSML是一种基于XML的、支持多源流媒体传输QoS控制与同步播放的描述语言;MSML描述的信息包括三种类型:一、各路流媒体的基本信息,包括名称、URL、类型;二、各路流媒体的传输质量要求,包括编码速率范围、最大允许延迟、最大允许丢包率;三、各路流媒体播放过程中呈现信息,包括视频窗口初始大小、位置。Described multi-source streaming media language MSML is a kind of description language based on XML, supporting multi-source streaming media transmission QoS control and synchronous playback; the information described by MSML includes three types: one, the basic information of each channel streaming media, Including name, URL, type; 2. The transmission quality requirements of each channel of streaming media, including encoding rate range, maximum allowable delay, and maximum allowable packet loss rate; 3. Information presented during the playback of each channel of streaming media, including the initial size of the video window ,Location.

所述的定值带宽检测是指采用RTP/RTCP协议检测并获得从媒体所支持的最低速率到网络最高可用传输速率间各速率下流媒体传输丢包率,并将这一丢包率与流媒体传输允许的最大丢包率进行比较,如果比预定丢包率小,则认为当前网络状况能满足该速率下的数据传输,否则就认为当前网络状况不能满足该速率下的数据传输。Described fixed-value bandwidth detection refers to adopting RTP/RTCP protocol to detect and obtain the packet loss rate of streaming media transmission at each rate between the lowest rate supported by the media and the highest available transmission rate of the network, and compare this packet loss rate with the streaming media Compared with the maximum packet loss rate allowed by the transmission, if it is smaller than the predetermined packet loss rate, it is considered that the current network condition can meet the data transmission rate at this rate, otherwise it is considered that the current network condition cannot meet the data transmission rate at this rate.

所述的多源流媒体带宽分配是指根据定值带宽检测的结果,调整各路流媒体的编码速率与传输速率,调整分以下两种情况处理:一、若某路流媒体来自于与其它流媒体不同的流媒体服务器时,则采用定值带宽检测算法从高到低检测该路流媒体的各级编码速率,直到找到当前网络状态支持的最高编码速率,若缓冲区为空或其中媒体数据包的最大与最小当前呈现时间戳PTS(PresentationTimeStamp)之差小于特定阈值,则检测网络状态所支持该速率的倍速率;若缓冲区为空或其中媒体数据包的最大与最小PTS之差大于特定阈值,将编码速率作为倍速率;最后,将当前网络状态所支持的最高编码速率作为该路流媒体的编码速率,倍速率作为实际传输速率;二、若其中几路流媒体来自于同一流媒体服务器,则根据媒体类型的优先级确定这些媒体流总编码速率的侯选集合,并通过定值带宽检测算法选择最高的总编码速率,若当缓冲区为空或其中媒体数据包的最大与最小PTS之差大于特定阈值还需要用定值带宽检测相应的倍速率,否则,将最高的总编码速率作为总倍速率;最后,将当前网络状态所支持的最高编码速率作为这些媒体的编码速率,并根据总编码速率中各路流媒体速率所占的比重将总倍速率相应地分解到各路媒体作为实际传输速率。Described multi-source streaming media bandwidth allocation refers to adjusting the encoding rate and transmission rate of each stream media according to the result of fixed-value bandwidth detection, and the adjustment is divided into the following two situations: one, if a certain stream media comes from and other When the streaming media is from different streaming media servers, use the fixed-value bandwidth detection algorithm to detect the encoding rates of the streaming media at all levels from high to low until the highest encoding rate supported by the current network state is found. If the buffer is empty or the media in it The difference between the maximum and minimum current presentation time stamp PTS (PresentationTimeStamp) of the data packet is less than a specific threshold, then detect the multiplier rate of the rate supported by the network state; if the buffer is empty or the difference between the maximum and minimum PTS of the media data packet is greater than For a specific threshold, the encoding rate is used as the multiple rate; finally, the highest encoding rate supported by the current network status is used as the encoding rate of the streaming media, and the multiple rate is used as the actual transmission rate; 2. If several channels of streaming media come from the same stream The media server determines the candidate set of the total encoding rate of these media streams according to the priority of the media type, and selects the highest total encoding rate through the fixed-value bandwidth detection algorithm. If the minimum PTS difference is greater than a specific threshold, it is necessary to use a fixed value bandwidth to detect the corresponding multiple rate, otherwise, the highest total encoding rate is used as the total multiple rate; finally, the highest encoding rate supported by the current network state is used as the encoding rate of these media , and according to the proportion of each streaming media rate in the total encoding rate, the total multiplication rate is correspondingly decomposed into each channel of media as the actual transmission rate.

本发明采用上述方法,能根据多源流媒体中各路媒体的基本信息、同步信息、媒体类型、QoS要求以及呈现信息判断当前网络状态能否满足既定速率的媒体传输。在带宽受限的情况下,根据流媒体的类型与QoS需求,对来自不同流媒体服务器的多路并发媒体数据分配带宽,从而在整体上降低数据传输的延迟与丢包率。通过上述策略,对网络资源进行优化利用,以提高多源流媒体的传输质量。The present invention adopts the above-mentioned method, and can judge whether the current network state can meet the media transmission at a predetermined rate according to the basic information, synchronization information, media type, QoS requirements and presentation information of each channel in the multi-source streaming media. In the case of limited bandwidth, according to the type of streaming media and QoS requirements, bandwidth is allocated to multiple concurrent media data from different streaming media servers, so as to reduce the delay and packet loss rate of data transmission as a whole. Through the above strategies, network resources are optimally utilized to improve the transmission quality of multi-source streaming media.

附图说明 Description of drawings

图1是本发明控制机制的组成;Fig. 1 is the composition of control mechanism of the present invention;

图2是本发明控制机制的工作机理。Fig. 2 is the working mechanism of the control mechanism of the present invention.

具体实施方式 Detailed ways

为了更清楚地理解本发明,以下结合附图对本发明作进一步的详细描述。In order to understand the present invention more clearly, the present invention will be further described in detail below in conjunction with the accompanying drawings.

参照图1所示,首先,多源流媒体语言MSML解释器用于从MSML文件中获得多源流媒体的元数据信息,该信息中的流媒体类型、传输质量要求将用于流媒体数据传输中的QoS控制;Referring to Figure 1, first, the multi-source streaming language MSML interpreter is used to obtain the metadata information of the multi-source streaming media from the MSML file, and the streaming media type and transmission quality requirements in this information will be used in the streaming media data transmission QoS control;

然后,定值带宽检测模块采用RTP/RTCP协议判断当前网络状况所能传输数据的最高速率;根据此结果,多源流媒体带宽分配模块结合流媒体类型、传输质量要求,调整每路流媒体的编码速率以及编码速率倍数的传输速率;定值带宽检测模块与多源流媒体带宽分配模块交替运行,随时根据最新网络状况进行带宽分配;Then, the fixed-value bandwidth detection module uses the RTP/RTCP protocol to judge the highest rate of data that can be transmitted under the current network conditions; according to this result, the multi-source streaming media bandwidth allocation module adjusts the bandwidth of each streaming media in combination with the streaming media type and transmission quality requirements. The encoding rate and the transmission rate of the multiple of the encoding rate; the fixed-value bandwidth detection module and the multi-source streaming media bandwidth allocation module operate alternately, and bandwidth allocation is performed according to the latest network conditions at any time;

最后,数据传输控制模块根据用户的VCR命令与带宽分配结果,对流媒体传输进行控制;RTP/RTCP模块在数据传输控制模块的控制下进行流媒体的实时传输,并根据缓冲区中的数据量完成丢失数据的重传。Finally, the data transmission control module controls the streaming media transmission according to the user's VCR command and bandwidth allocation results; the RTP/RTCP module performs real-time transmission of the streaming media under the control of the data transmission control module, and completes it according to the amount of data in the buffer Retransmission of lost data.

1、多源流媒体传输QoS控制机制的组成1. Composition of multi-source streaming media transmission QoS control mechanism

多源流媒体传输QoS控制机制由MSML解释器、定值带宽检测、多源流媒体带宽分配、数据传输控制以及RTP/RTCP五个模块组成。The multi-source streaming media transmission QoS control mechanism is composed of five modules: MSML interpreter, constant value bandwidth detection, multi-source streaming media bandwidth allocation, data transmission control and RTP/RTCP.

MSML解释器用于从MSML文件中获得多源流媒体的元数据信息;其中,流媒体类型、传输质量要求将用于传输中的QoS控制。定值带宽检测模块用于判断当前网络状况能否满足某个确定速率的数据传输。多源流媒体带宽分配模块根据定值带宽检测结果以及流媒体类型、传输质量要求确定媒体的编码速率与传输速率。数据传输控制模块根据VCR命令与带宽分配结果对媒体传输进行控制。RTP/RTCP协议模块用于实现流媒体的实时有序传输以及丢失数据包的重传。The MSML interpreter is used to obtain the metadata information of multi-source streaming media from the MSML file; among them, the streaming media type and transmission quality requirements will be used for QoS control during transmission. The fixed value bandwidth detection module is used to judge whether the current network condition can meet the data transmission of a certain rate. The multi-source streaming media bandwidth allocation module determines the encoding rate and transmission rate of the media according to the fixed value bandwidth detection result, streaming media type, and transmission quality requirements. The data transmission control module controls the media transmission according to the VCR command and the bandwidth allocation result. The RTP/RTCP protocol module is used to realize real-time and orderly transmission of streaming media and retransmission of lost data packets.

2、多源流媒体传输QoS控制机制的工作机理2. Working mechanism of multi-source streaming media transmission QoS control mechanism

参照图2所示,多源流媒体传输QoS控制机制主要是以事件驱动方式工作的。在从MSML文件中的流媒体类型与QoS要求信息后,以数据传输控制模块为核心,通过处理用户VCR控制、缓冲区状态以及定时器三类事件完成多源流媒体传输QoS控制;在处理过程中,传输控制模块调用多源流媒体分配模块、RTP/RTCP模块。事件类型与处理过程如下:Referring to Figure 2, the multi-source streaming media transmission QoS control mechanism mainly works in an event-driven manner. After obtaining the streaming media type and QoS requirements information in the MSML file, the data transmission control module is the core, and the multi-source streaming media transmission QoS control is completed by processing three types of events: user VCR control, buffer status and timer; Among them, the transmission control module calls the multi-source streaming media distribution module and the RTP/RTCP module. The event types and processing procedures are as follows:

■VCR控制■VCR control

1)当开始播放时,采用RTSP或MMS协议获得各路流媒体的各级编码速率,并以最高速率通知媒体服务器传输数据,同时执行多源流媒体带宽分配;1) When starting to play, use the RTSP or MMS protocol to obtain the encoding rates of each streaming media at all levels, and notify the media server to transmit data at the highest rate, and perform multi-source streaming media bandwidth allocation at the same time;

2)当暂停播放时,采用RTSP或MMS协议通知媒体服务器暂停传输数据;2) When the playback is paused, the RTSP or MMS protocol is used to notify the media server to suspend the transmission of data;

3)当继续播放时,采用RTSP或MMS协议通知媒体服务器以当前编码速率与传输速率继续传输数据;3) When continuing to play, use RTSP or MMS protocol to notify the media server to continue to transmit data at the current encoding rate and transmission rate;

4)当停止播放时,采用RTSP或MMS协议通知媒体服务器停止传输数据,并关闭通道。4) When the playback is stopped, the RTSP or MMS protocol is used to notify the media server to stop transmitting data and close the channel.

5)当拖动到某一时刻播放时,清空缓冲区,并以最高速率通知媒体服务器传输数据,同时执行多源流媒体带宽分配。5) When dragging to a certain moment to play, clear the buffer, and notify the media server to transmit data at the highest rate, and perform multi-source streaming media bandwidth allocation at the same time.

■缓冲区状态■Buffer status

1)当缓冲区容量中该路媒体时延小于特定阈值(5秒),重新执行多源流媒体带宽分配;1) When the media delay in the buffer capacity is less than a specific threshold (5 seconds), re-execute multi-source streaming media bandwidth allocation;

2)当缓冲区容量中该路媒体时延大于特定阈值(30秒),将多源流媒体各路媒体的传输速率设置为编码速率。2) When the delay of the media in the buffer capacity is greater than a specific threshold (30 seconds), the transmission rate of each channel of the multi-source streaming media is set as the encoding rate.

■定时器■Timer

定时重新执行多源流媒体带宽分配。Periodically re-execute multi-source streaming media bandwidth allocation.

在执行多源流媒体带宽分配过程中,调用定值带宽检测模块检验当前网络状态是否满足为各路媒体分配的带宽,根据检测结果,为每路流媒体重新进行带宽分配。In the process of bandwidth allocation for multi-source streaming media, the fixed-value bandwidth detection module is called to check whether the current network status meets the bandwidth allocated for each channel of media, and the bandwidth is re-allocated for each channel of media according to the detection results.

在处理“开始播放”、“拖动到某一时刻播放”、“缓冲区容媒体时延小于特定阈值”事件过程中,为流媒体分配的传输速率一般是所传输媒体编码速率的倍数,这样可以快速填充缓冲区,以减少用户等待时间。During the processing of events such as "start playing", "drag to a certain moment to play", and "buffer capacity media delay is less than a certain threshold", the transmission rate allocated for streaming media is generally a multiple of the transmitted media encoding rate, so The buffer can be filled quickly to reduce user waiting time.

3、多源流媒体传输QoS控制机制各个模块的接口3. The interface of each module of the multi-source streaming media transmission QoS control mechanism

■多源流媒体带宽分配模块的接口■Interface of multi-source streaming media bandwidth allocation module

Bandinfo[]AllotBand(Mediainfo MediaArray[]);Bandinfo[]AllotBand(Mediainfo MediaArray[]);

该函数确定多路媒体的传输速率以及所传媒体的编码速率。This function determines the transfer rate of the multiplexed media and the encoding rate of the transferred media.

函数AllotBand的参数为Mediainfo类型的数组,Mediainfo类型定义如下:The parameter of the function AllotBand is an array of Mediainfo type, and the Mediainfo type is defined as follows:

Struct Mediainfo{Struct Mediainfo{

  char[]url,char[]url,

  int Mediatype,int Mediatype,

  int Minband,int Minband,

  int Maxlostint Maxlost

    }}

其中,url为流媒体的URL;Mediatype为媒体类型,包括音频、视频、屏幕三种类型;Minband、Maxlost为该媒体的QoS要求,分别是允许的最小带宽、最大丢包率。Among them, url is the URL of the streaming media; Mediatype is the media type, including audio, video, and screen; Minband and Maxlost are the QoS requirements of the media, which are the allowed minimum bandwidth and maximum packet loss rate respectively.

函数AllotBand返回Bandinfo类型的数组,Bandinfo类型定义如下:The function AllotBand returns an array of the Bandinfo type, and the Bandinfo type is defined as follows:

Struct Bandinfo{Struct Bandinfo{

  int coding_speed,int coding_speed,

  int trans_speedint trans_speed

     }}

其中,coding_speed为编码速率;trans_speed为传输速率。Among them, coding_speed is the coding rate; trans_speed is the transmission rate.

■定值带宽检测模块的接口■The interface of fixed value bandwidth detection module

Int Bandtest(intb,int lmax,int pmax,int pmin);Int Bandtest(intb, int lmax, int pmax, int pmin);

该函数用于判断当前网络状态是否满足带宽要求。This function is used to judge whether the current network status meets the bandwidth requirement.

其中,b为需要检查的某路流媒体定值带宽、该路流媒体允许的最大丢包率lmax、该媒体流在缓冲区中的最大与最小PTS pmax与pmin;返回为丢包率,当返回-1时,说明当前网络状况不能满足带宽b。定值带宽检测算法由多源流媒体带宽分配算法调用。Among them, b is the fixed value bandwidth of a streaming media that needs to be checked, the maximum packet loss rate lmax allowed by the streaming media, the maximum and minimum PTS pmax and pmin of the media stream in the buffer; the return is the packet loss rate, when When -1 is returned, it means that the current network condition cannot satisfy the bandwidth b. The fixed-value bandwidth detection algorithm is invoked by the multi-source streaming media bandwidth allocation algorithm.

■RTSP/MMS模块的接口■Interface of RTSP/MMS module

  接口定义 接口说明 void get_description(); 获得流媒体的各级编码速率。 void setup(); 开启播放器与媒体服务器之间的传输通道。 void vcr_control(vcr_typevcr); 对媒体传输进行VCR控制,包括暂停、恢复、结束、快进、定位等。 void close(); 关闭播放器与媒体服务器之间的传输通道。 Interface definition Interface Description void get_description(); Get the encoding rate of all levels of streaming media. void setup(); Open the transmission channel between the player and the media server. void vcr_control(vcr_typevcr); Perform VCR control on media transmission, including pause, resume, end, fast forward, positioning, etc. void close(); Close the transmission channel between the player and the media server.

  callbackreceive_control(*bytecontrol) 以回调函数的方式接收控制信息。 callbackreceive_control(*bytecontrol) Receive control information as a callback function.

■RTP/RTCP模块的接口■Interface of RTP/RTCP module

Figure C200510096082D00121
Figure C200510096082D00121

Figure C200510096082D00131
Figure C200510096082D00131

4、基于XML的多源流媒体语言MSML4. XML-based multi-source streaming media language MSML

MSML是一种简单的基于XML的标记语言,可以用于描述多源流媒体中各路媒体的基本信息、同步信息、媒体类型、QoS要求以及呈现信息。MSML is a simple XML-based markup language that can be used to describe the basic information, synchronization information, media type, QoS requirements and presentation information of each channel in multi-source streaming media.

MSML的显示分成两部分。第一部分是开始部分(Header Section),在这里定义显示的全局特性,比如播放器中的信息窗口要显示的信息,各路流媒体播放器过程中窗口呈现状态,包括视频窗口初始化大小、位置。The display of MSML is divided into two parts. The first part is the Header Section, where the global characteristics of the display are defined, such as the information to be displayed in the information window in the player, the status of the window during the process of each streaming media player, including the initial size and position of the video window.

第二部分是主体部分(Body Section),这里主要指定流媒体的同步信息,媒体的基本信息,包括名称、URL、类型,设置流媒体的QoS要求,包括编码速率范围、最大延迟时间和最大丢包率。The second part is the Body Section, which mainly specifies the synchronization information of the streaming media, the basic information of the media, including name, URL, and type, and sets the QoS requirements of the streaming media, including the encoding rate range, maximum delay time and maximum loss. packet rate.

MSML文件的框架结构如下:The frame structure of the MSML file is as follows:

<msml><msml>

     <head><head>

           <meta/><meta/>

                ...说明各路媒体的基本信息...                                                                                            ...

           <layout><layout>

                  ...定义流媒体播放过程中呈现时所需的初始化信息...                                                                                                                                                                                                                                                ...Defines the initialization information required for rendering during streaming playback...

          </layout></layout>

      </head></head>

      <body><body>

          <par><par>

          ...给定流媒体的基本信息......Given the basic information of the streaming media...

          ...设定传输质量所需的相关参数......Setting related parameters required for transmission quality...

          <par><par>

      </body></body>

</msml></msml>

标签说明如下表:The label description is as follows:

  标签 功能 <meta/> 允许设计者设定媒体元数据 Label Function <meta/> Allows designers to set media metadata

  <layout></layout> 如果指定了layout数据,那么它必须包含在这两个标签之间 <root-layout/> 它包含在<layout>和</layout>之间,指定显示的窗口大小 <region> 设置每路流媒体视频显示的窗口区域 <par></par> 并行播放在<par>和</par>间的各路流媒体文件 <video> 给出视频文件的相关信息并设置该路视频的传输质量 <audio> 给出音频文件的相关信息并设置该路音频的传输质量 <screen> 给出屏幕的相关信息并设置屏幕播放的传输质量 <layout></layout> If layout data is specified, it must be contained between these two tags <root-layout/> It is included between <layout> and </layout>, specifying the displayed window size <region> Set the window area displayed by each streaming video <par></par> Play the streaming media files between <par> and </par> in parallel <video> Give the relevant information of the video file and set the transmission quality of the video <audio> Give the relevant information of the audio file and set the transmission quality of the audio <screen> Give information about the screen and set the transmission quality of the screen playback

meta标签的属性设置如下:The attributes of the meta tag are set as follows:

layout标签的属性设置如下:The attributes of the layout tag are set as follows:

  属性 取值 功能 id 任何字符串 说明该窗口的名字 width 像素点为单位的数值或百分比 规定窗口的宽度 height 像素点为单位的数值或百分比 规定窗口的高度 left,top 像素点为单位的数值或百分比 确定该区域相对与父窗口的左上角位置 bottom,right 像素点为单位的数值或百分比 确定该区域相对与父窗口的右上角位置 z-index 任何数值 确定每个窗口所处的层次 Attributes value Function id any string specify the name of the window width Number or percentage in pixels Specifies the width of the window height Number or percentage in pixels Specifies the height of the window left, top Number or percentage in pixels Determine the position of the area relative to the upper left corner of the parent window bottom, right Number or percentage in pixels Determine the position of the area relative to the upper right corner of the parent window z-index any value Determine what level each window is in

流媒体文件的属性设置Property settings for streaming media files

  属性 取值 功能 url 文件名或者完整的URL路径 指定流媒体文件的位置 region 显示中定义的任何区域名 为流媒体分配播放区域 codespeed_from 任何有效数值 指定编码速率取值的起始点 codespeed_to 任何有效数值 指定编码速率取值的终点 max_delay 任何有效数值 指定最大延迟时间 Attributes value Function url filename or full URL path Specify the location of the streaming media file region Display any zone names defined in Assign play area for streaming codespeed_from any valid value Specify the starting point of the encoding rate value codespeed_to any valid value Specifies the end point of the encoding rate value max_delay any valid value Specifies the maximum delay time

  max_lose 任何有效数值 指定最大丢包率 begin 任何合法的定时时间 指定文件的播放时间 end 任何合法的定时时间 指定文件的结束时间 dur 任何合法的定时时间 指定文件播放的持续时间 id 任何字符串 把meta中对应的id赋予这个文件 max_lose any valid value Specifies the maximum packet loss rate begin any legally scheduled time Specifies the playback time of the file end any legally scheduled time Specifies the end time of the file dur any legally scheduled time Specifies the duration of file playback id any string Assign the corresponding id in meta to this file

5、定值带宽检测5. Fixed value bandwidth detection

在点播过程中,由于媒体数据的编码速率是已知的,因此,我们只需要检验当前网络状况下传输该速率媒体数据的丢包率是否小于该流媒体QoS需求的中最大允许丢包率,即可判断媒体数据的传输效果。During the on-demand process, since the encoding rate of media data is known, we only need to check whether the packet loss rate of media data transmitted at this rate is less than the maximum allowable packet loss rate in the streaming media QoS requirement under the current network conditions. Then the transmission effect of the media data can be judged.

鉴于此,我们设计了一种定值带宽估测算法,用于检测在允许有限次数据重传的情况下,某个特定速率媒体流的丢包率。定值带宽估测算法如下:In view of this, we design a fixed-value bandwidth estimation algorithm to detect the packet loss rate of a specific rate media stream under the condition of allowing a limited number of data retransmissions. The fixed value bandwidth estimation algorithm is as follows:

算法输入:需要检查的某路流媒体定值带宽bv、该路流媒体允许的最大丢包率lmax、该媒体流在缓冲区中的最大与最小PTS pmax、pminAlgorithm input: the fixed value bandwidth b v of a streaming media to be checked, the maximum packet loss rate l max allowed by the streaming media, the maximum and minimum PTS p max and p min of the media stream in the buffer;

算法输出:丢包率1;当返回-1时,说明当前网络状况不能满足带宽bv,即lmax<lrAlgorithm output: packet loss rate 1; when -1 is returned, it means that the current network condition cannot satisfy the bandwidth b v , that is, l max < l r ;

中间变量:、送持续时间ts,时间ts接收的RTP包数目m,RTP包大小s,允许重传次数n,重传中固定时延tcIntermediate variables: the duration of transmission t s , the number of RTP packets received at time t s m, the size of RTP packets s, the number of allowed retransmissions n, and the fixed delay in retransmission t c .

算法描述如下:The algorithm is described as follows:

STEP1.若缓冲区为空,或(pmax-pmin)/(tc+s/bv)<1,则n=0;否则n=[(pmax-pmin)/(tc+s/bv)],f(x)=[x]为高斯函数,n≥1表示允许数据重传。STEP1. If the buffer is empty, or (p max -p min )/(t c +s/b v )<1, then n=0; otherwise n=[(p max -p min )/(t c + s/b v )], f(x)=[x] is a Gaussian function, and n≥1 indicates that data retransmission is allowed.

STEP2.若n=0,在ts时间内,媒体服务器向播放器发送速率为bv的媒体数据包数目为(ts×bv)/s个,丢包率为l=1-(ts×bv)/(s×m);若l≤lmax,则当前网络状况满足该速率媒体数据的传输,返回l,否则,返回-1;STEP2. If n=0, within t s time, the number of media data packets sent by the media server to the player with a rate of b v is (t s ×b v )/s, and the packet loss rate is l=1-(t s ×b v )/(s×m); if l≤l max , the current network condition meets the transmission rate of media data, return l, otherwise, return -1;

STEP3.若n≥1,则引入重传机制,此时丢包率为ln,若ln≤lmax,则当前网络状况可满足该速率媒体数据的传输,返回ln;若ln>lmax,当前网络状况不满足该速率媒体数据的传输,返回-1。STEP3. If n≥1, introduce a retransmission mechanism. At this time, the packet loss rate is l n . If l n ≤ l max , the current network conditions can meet the transmission rate of media data, and return l n ; if l n > l max , the current network condition does not meet the transmission rate of media data, return -1.

和其它算法相比,本方法的主要特点是:Compared with other algorithms, the main features of this method are:

1)获得链路传输某一事先确定的速率带宽的能力,而不必估测链路全部可用带宽;1) Obtain the ability of the link to transmit a predetermined rate bandwidth without estimating the entire available bandwidth of the link;

2)不主动向网络输入数据,测试过程对网络是无扰的;2) Do not actively input data to the network, and the test process is non-disturbing to the network;

3)测量过程真实反映了链路数据的传输过程;3) The measurement process truly reflects the transmission process of link data;

4)不存在受链路上其它流量干扰的问题。4) There is no problem of being interfered by other traffic on the link.

6、多源流媒体带宽分配6. Multi-source streaming media bandwidth allocation

组成多源流媒体的各路媒体可能来自多个媒体服务器,而且由于媒体类型不同,对媒体传输的要求也不同。对音频流媒体,要求较低的丢包率与抖动,并且在流媒体中占有重要位置;对于屏幕流媒体,要求有高分辨率,但是帧速率要求不高,在流媒体中占有比视频更重要的位置。此外,每路媒体还有具体的QoS要求。The various media that make up the multi-source streaming media may come from multiple media servers, and because of the different media types, the requirements for media transmission are also different. For audio streaming media, low packet loss rate and jitter are required, and it occupies an important position in streaming media; for screen streaming media, high resolution is required, but the frame rate requirement is not high, and it occupies more in streaming media than video. important position. In addition, each channel of media has specific QoS requirements.

为了在受限的网络状态下,获得好的表现质量,我们设计了一种多源流媒体带宽分配算法,对来自不同流媒体服务器的多路并发媒体数据分配带宽,从而在整体降低数据传输的延迟与丢包率。In order to obtain good performance quality under limited network conditions, we have designed a multi-source streaming media bandwidth allocation algorithm to allocate bandwidth to multiple concurrent media data from different streaming media servers, thereby reducing the overall data transmission cost. Latency and packet loss rate.

多源流媒体带宽分配算法根据媒体的类型、QoS要求、缓冲区与网络状态以试探的方式为每路媒体分类带宽。多源流媒体带宽分配算法如下:The multi-source streaming media bandwidth allocation algorithm classifies the bandwidth for each channel of media in a heuristic manner according to the type of media, QoS requirements, buffer and network status. Multi-source streaming media bandwidth allocation algorithm is as follows:

算法输入:n路流媒体中每路媒体的流媒体URLi、媒体类型Mediatypei、最小带宽Minbandi、最大丢包率Maxlosti、当前编码速率CodingSpeedi,t,当前传输速率与编码速率的倍数Timesi,t,n路流媒体中每路媒体的当前丢包率Losti,t,在缓冲区内的时延di,t,di,t=pmax,i,t-pmin,i,t,pmax,i,t与pmin,i,t是该媒体流当前在缓冲区中的最大与最小PTS,i∈[l,n]。Algorithm input: Streaming media URL i , media type Mediatype i , minimum bandwidth Minband i , maximum packet loss rate Maxlost i , current coding rate CodingSpeed i, t , multiples of current transmission rate and coding rate for each channel of media in n channels of streaming media Times i, t , the current packet loss rate Lost i, t of each channel in the n-channel streaming media, the time delay in the buffer zone d i, t , d i, t = p max, i, t -p min, i, t , p max, i, t and p min, i, t are the maximum and minimum PTS of the media stream currently in the buffer, i∈[l,n].

算法输出:n路流媒体中每路媒体的编码速率CodingSpeedi,t+1,传输速率与编码速率的倍数Timesi,t+1,i∈[l,n]。Algorithm output: CodingSpeed i, t+1 of each channel of media in n channels of streaming media, times i, t+1 of transmission rate and encoding rate, i∈[l, n].

STEP1.设M为n路流媒体的集合,是满足以下条件的集合:对于ME中任意流媒体,与M中其它任意流媒体来源于不同的媒体服务器。对ME中所有流媒体并行执行以下操作:STEP1. Let M be the collection of n-channel streaming media, is a set that satisfies the following conditions: for any streaming media in M E , the source of any streaming media in M is different from the media server. Execute the following operations in parallel for all streams in M E :

设媒体流的序号为j。Let the serial number of the media stream be j.

STEP1.1当缓冲区内媒体的时延dj,t=0时,则CodingSpeedj,t+1设置为将该路媒体支持的最高编码速率、设置Timesj,t+1为2。STEP1.1 When the time delay d j, t of the media in the buffer zone is 0, then CodingSpeed j, t+1 is set to the highest coding rate supported by the media, and Times j, t+1 is set to 2.

STEP1.2当缓冲区内媒体的时延0<dj,t≤d时:STEP1.2 When the delay of the media in the buffer is 0<d j, t ≤ d:

若Losti,t≥Maxlosti且Timesi,t>1.5,设置CodingSpeedj,t+1为CodingSpeedj,t,设置Timesj,t+1为Timesj,t-0.5;If Lost i, t ≥ Maxlost i and Times i, t > 1.5, set CodingSpeed j, t+1 to CodingSpeed j, t , set Times j, t+1 to Times j, t -0.5;

若Losti,t≥Maxlosti且Timesi,t≤1.5且CodingSpeedj,t>Minbandi,设置CodingSpeedj,t+1为比CodingSpeedj,t低一级的编码速率,设置Timesj,t+1为2;If Lost i, t ≥ Maxlost i and Times i, t ≤ 1.5 and CodingSpeed j, t > Minband i , set CodingSpeed j, t+1 as the coding rate one level lower than CodingSpeed j, t , set Times j, t+ 1 is 2;

若Losti,t≥Maxlosti且Timesi,t≤1.5且CodingSpeedj,t≤Minbandi,设置CodingSpeedj,t+1为Minbandi,设置Timesj,t+1为1;If Lost i, t ≥ Maxlost i and Times i, t ≤ 1.5 and CodingSpeed j, t ≤ Minband i , set CodingSpeed j, t+1 to Minband i , set Times j, t+1 to 1;

若Losti,t≤Maxlosti且Timesi,t≤2.5,设置CodingSpeedj,t+1为CodingSpeedj,t,设置Timesj,t+1为Timesj,t+0.5;If Lost i, t ≤ Maxlost i and Times i, t ≤ 2.5, set CodingSpeed j, t+1 to CodingSpeed j, t , set Times j, t+1 to Times j, t +0.5;

若Losti,t≤Maxlosti且Timesi,t>2.5且CodingSpeedj,t不是最高的编码速率,设置CodingSpeedj,t+1为比CodingSpeedj,t高一级的编码速率,设置Timesj,t+1为2;If Lost i, t ≤ Maxlost i and Times i, t > 2.5 and CodingSpeed j, t is not the highest coding rate, set CodingSpeed j, t+1 as a higher coding rate than CodingSpeed j, t , set Times j, t+1 is 2;

若Losti,t≤Maxlosti且Timesi,t>2.5且CodingSpeedj,t是最高的编码速率,设置CodingSpeedj,t+1为CodingSpeedj,t,设置Timesj,t+1为Timesi,tIf Lost i, t ≤ Maxlost i and Times i, t >2.5 and CodingSpeed j, t is the highest coding rate, set CodingSpeed j, t+1 to CodingSpeed j, t , set Times j, t+1 to Times i, t ;

当缓冲区内媒体的时延d<dj,t时:When the delay of the media in the buffer d<d j, t :

若Losti,t≥Maxlosti且CodingSpeedj,t>Minbandi,设置CodingSpeedj,t+1为比CodingSpeedj,t低一级的编码速率,设置Timesj,i+1为1;If Lost i, t ≥ Maxlos t i and CodingSpeed j, t >Minband i , set CodingSpeed j, t+1 to a coding rate lower than CodingSpeed j, t , set Times j, i+1 to 1;

若Losti,t≥Maxlosti且CodingSpeedj,t≤Minbandi,设置CodingSpeedj,t+1为Minbandi,设置Timesj,t+1为1;If Lost i, t ≥ Maxlos t i and CodingSpeed j, t ≤ Minband i , set CodingSpeed j, t+1 to Minband i , set Times j, t+1 to 1;

若Losti,t≤Maxlosti且CodingSpeedj,t不是最高的编码速率,设置CodingSpeedj,t+1为比CodingSpeedj,t高一级的编码速率,设置Timesj,t+1为1;If Lost i, t ≤ Maxlost i and CodingSpeed j, t is not the highest coding rate, set CodingSpeed j, t+1 to a higher coding rate than CodingSpeed j, t , set Times j, t+1 to 1;

若Losti,t≤Maxlosti且Timesi,t>2.5且CodingSpeedj,t是最高的编码速率,设置CodingSpeedj,t+1为CodingSpeedj,t,设置Timesj,t+1为1。If Lost i, t ≤ Maxlost i and Times i, t > 2.5 and CodingSpeed j, t is the highest coding rate, set CodingSpeed j, t+1 to CodingSpeed j, t , and set Times j, t+1 to 1.

STEP2.设MM=M-ME,将MM划分成若干个子集MM,k,k∈[l,m]。每个子集中的媒体来源于同一媒体服务器,各个子集中的媒体来源于不同的媒体服务器。STEP2. Let M M =MM E , divide M M into several subsets M M, k , k∈[l, m]. The media in each subset comes from the same media server, and the media in each subset comes from different media servers.

STEP3.在MM,k中,各路媒体应具有相同丢包率,相同的倍速率、在缓冲区具有相同的时延,设MM,k的当前丢包率为LostM,k,t、传输速率与编码速率的倍数为TimesM,k,t、时延为dM,k,t,MM,k中各路媒体当前编码速率之和CodingSpeedM,k,t。LostM,k,t、dM,k,t与MM,k中任意一路媒体的丢包率、缓冲区延迟相同。对每个MM,k并行执行以下操作:STEP3. In M M, k , each medium should have the same packet loss rate, the same multiplier rate, and the same delay in the buffer zone. Let the current packet loss rate of M M, k be Lost M, k, t , the multiple of the transmission rate and the coding rate is Times M, k, t , and the time delay is the sum of the current coding rates of each media in d M, k, t , M M, k CodingSpeed M, k, t . Lost M, k, t , d M, k, t are the same as the packet loss rate and buffer delay of any media in M M, k . For each M M,k do the following in parallel:

STEP3.1确定MM,k中每路媒体的优先级,其中音频流优先级为3,屏幕媒体流优先级为2,视频媒体流优先级为1,同一类型的媒体具有相同的优先级。STEP3.1 Determine the priority of each channel of media in M M,k , where the priority of audio stream is 3, the priority of screen media stream is 2, the priority of video media stream is 1, and the same type of media has the same priority.

STEP3.2当缓冲区内媒体的时延dM,k,t=0时,对MM,k中任意一路媒体j,将CodingSpeedj,t+1设置为将该路媒体支持的最高编码速率、设置Timesj,t+1为2。STEP3.2 When the time delay of the media in the buffer zone d M, k, t = 0, for any media j in M M, k , set CodingSpeed j, t+1 as the highest coding rate supported by the media , Set Times j, t+1 to 2.

STEP3.3当缓冲区内媒体的时延0<dM,k,t≤d时:STEP3.3 When the delay of the media in the buffer is 0<d M, k, t ≤ d:

若MM,k中存在一路媒体j,使得LostM,k,t≥Maxlostj且当前Timesj,t>1.5,则保持MM,k中所有媒体的传输速率不变,设置Timesj,t+1为Timesj,t-0.5;If there is a channel of media j in M M, k , so that Lost M, k, t ≥ Maxlost j and the current Times j, t > 1.5, keep the transmission rate of all media in M M, k unchanged, set Times j, t +1 for Times j,t -0.5;

若MM,k中存在一路媒体j,使得LostM,k,t≥Maxlostj且Timesi,t≤1.5,则在所有当前编码速率大于最小允许速率的媒体流中寻找优先级最低的媒体流,假设为媒体l,设置CodingSpeedl,t+1为比CodingSpeedl,t低一级的编码速率,设置MM,k所有媒体的倍速率为2。如果MM,k不存在编码速率大于最小允许速率的媒体流,则设置MM,k中所有媒体的编码速率为对应的最小允许速率,设置MM,k所有媒体的倍速率为1。If there is a media j in M M, k , so that Lost M, k, t ≥ Maxlost j and Times i, t ≤ 1.5, then find the media stream with the lowest priority among all media streams whose current encoding rate is greater than the minimum allowable rate , assuming it is media l, set CodingSpeed l, t+1 to be a coding rate one level lower than CodingSpeed l, t , set M M, k to double the rate of all media. If M M, k does not have a media stream whose encoding rate is greater than the minimum allowable rate, then set the encoding rate of all media in M M, k to the corresponding minimum allowable rate, and set the multiplication rate of all media in M M, k to 1.

若MM,k中任一媒体j,都满足LostM,k,t≥Maxlostj,且Timesi,t≤2.5,设置CodingSpeedj,t+1为CodingSpeedj,t,设置Timesj,t+1为Timesj,t+0.5;If any media j in M M, k satisfies Lost M, k, t ≥ Maxlost j , and Times i, t ≤ 2.5, set CodingSpeed j, t+1 to CodingSpeed j, t , set Times j, t+ 1 for Times j, t +0.5;

若MM,k中任一媒体j,都满足LostM,k,t≥Maxlostj,且Timesi,t>2.5,则在所有当前编码速率不是最高编码速率的媒体流中寻找优先级最高的媒体流,假设为媒体l,设置CodingSpeedl,t+1为比CodingSpeedl,t高一级的编码速率,设置MM,k所有媒体的倍速率为2。若MM,k所有媒体的当前编码速率都是最高编码速率,保持各路媒体的编码速率与倍速率不变。当缓冲区内媒体的时延d<dM,k,t时:If any media j in M M, k satisfies Lost M, k, t ≥ Maxlost j , and Times i, t > 2.5, then find the highest priority among all media streams whose current encoding rate is not the highest encoding rate Media stream, assuming it is media l, set CodingSpeed l, t+1 to be a coding rate one level higher than CodingSpeed l, t , set M M, k to 2 for all media multipliers. If M M, k, the current encoding rate of all media is the highest encoding rate, keep the encoding rate and multiplication rate of each channel unchanged. When the delay of the media in the buffer d<d M, k, t :

若MM,k中存在一路媒体j,使得LostM,k,t≥Maxlostj,则在所有当前编码速率大于最小允许速率的媒体流中寻找优先级最低的媒体流,假设为媒体l,设置CodingSpeedl,t+1为比CodingSpeedl,t低一级的编码速率,设置MM,k所有媒体的倍速率为1。如果MM,k不存在编码速率大于最小允许速率的媒体流,则设置MM,k中所有媒体的编码速率为对应的最小允许速率,设置MM,k所有媒体的倍速率为1。If there is a media j in M M, k , so that Lost M, k, t ≥ Maxlost j , then find the media stream with the lowest priority among all the media streams whose current encoding rate is greater than the minimum allowable rate, assuming it is media l, set CodingSpeed l, t+1 is the coding rate one level lower than CodingSpeed l, t , set M M, k to be 1 for all media. If M M, k does not have a media stream whose encoding rate is greater than the minimum allowable rate, then set the encoding rate of all media in M M, k to the corresponding minimum allowable rate, and set the multiplication rate of all media in M M, k to 1.

若MM,k中任一媒体j,都满足LostM,k,t≥Maxlostj,则在所有当前编码速率不是最高编码速率的媒体流中寻找优先级最高的媒体流,假设为媒体l,设置CodingSpeedl,t+1为比CodingSpeedl,t高一级的编码速率,设置MM,k所有媒体的倍速率为1。若MM,k所有媒体的当前编码速率都是最高编码速率,保持各路媒体的编码速率,设置MM,k所有媒体的倍速率为1。If any media j in M M, k satisfies Lost M, k, t ≥ Maxlost j , then find the media stream with the highest priority among all the media streams whose current encoding rate is not the highest encoding rate, assuming it is media l, Set CodingSpeed l, t+1 as the coding rate one level higher than CodingSpeed l, t , and set M M, k to 1 for all media multipliers. If the current encoding rate of all media in M, k is the highest encoding rate, keep the encoding rate of each media, and set the multiplication rate of all media in M , k to 1.

Claims (4)

1, a kind of multi-source flow media transmission QoS (Quality of Service) control method is characterized in that, carries out according to the following steps:
At first, adopt multi-source flow media language MSML interpreter to obtain the metadata information of multi-source flow media from the MSML file, the Streaming Media type in this information, transmission quality requirements will be used for the QoS control of transmission of flow media data;
Then, adopt the definite value bandwidth detection can transmit the flank speed of data according to RTP/RTCP agreement judgement current network conditions; According to this result, the multi-source flow media bandwidth allocation module is in conjunction with Streaming Media type, transmission quality requirements, the code rate supported, obtains the available the highest code rate under current network conditions of every road Streaming Media and the transmission rate of code rate multiple; Definite value bandwidth detection and multi-source flow media bandwidth allocation module alternate run at any time according to the latest network available bandwidth, obtain the highest available code rate and multiple transmission rate;
At last, the Data Transmission Controlling module sends renewal code rate and the instruction of multiple transmission rate according to user's VCR order and allocated bandwidth result to the RTP/RTCP module; The RTP/RTCP module is carried out the real-time Transmission of Streaming Media under the control of Data Transmission Controlling module.
2, multi-source flow media transmission QoS control method according to claim 1 is characterized in that: described multi-source flow media language MSML is a kind of descriptive language based on XML, the control of support multi-source flow media transmission QoS and synchronous playing; The information that MSML describes comprises three types: one, the essential information of each road Streaming Media comprises title, URL, type; Two, the transmission quality requirements of each road Streaming Media comprises code rate scope, maximum delay, the maximum packet loss that allows of allowing; Three, the presentation information in each road streaming media playing process comprises video window initial size, position.
3, multi-source flow media transmission QoS control method according to claim 1, it is characterized in that: described definite value bandwidth detection is meant that the minimum code rate that adopts the RTP/RTCP protocol detection and obtain to support from Streaming Media is to the dirty media delivery packet loss of each code rate the highest available transmission rate of network, and the maximum packet loss that the transmission of this packet loss and Streaming Media is allowed compares, if it is littler than predetermined packet loss, think that then current network conditions can satisfy the transfer of data under this speed, otherwise just think that current network conditions can not satisfy the transfer of data under this speed.
4, multi-source flow media transmission QoS control method according to claim 1, it is characterized in that: described multi-source flow media allocated bandwidth is meant the result according to the definite value bandwidth detection, adjust the code rate and the transmission rate of each road Streaming Media, adjust and divide following two kinds of situations to handle: one, when if certain road Streaming Media comes from the streaming media server different with other Streaming Media, then adopt definite value bandwidth detection algorithm to detect the code rates at different levels of this road Streaming Media from high to low, up to the highest code rate that finds current network state to support, if the difference that buffering area is maximum empty or wherein media data packet and minimum current presentative time stabs PTS (Presentation TimeStamp) then detects times speed of this speed that network state is supported less than certain threshold level; If the difference of the maximum of media data packet and minimum PTS is greater than certain threshold level, with this speed as a times speed; At last, the highest code rate that current network state is supported is as the code rate of this road Streaming Media, and times speed is as actual transfer rate; Two, if wherein several roads Streaming Media comes from same streaming media server, then determine the candidate set of the total code rate of these Streaming Medias according to the priority of medium type, and by the highest total code rate of definite value bandwidth detection algorithm selection, if when buffering area be sky or wherein the difference of the maximum of media data packet and minimum PTS less than certain threshold level, adopt corresponding times of speed of definite value bandwidth detection, if the difference of the maximum of media data packet and minimum PTS is greater than certain threshold level, with the highest total code rate as total times of speed; At last, the highest code rate that current network state is supported is as the code rate of these Streaming Medias, and according to the shared proportion of each road Streaming Media speed in total code rate total times of speed correspondingly decomposed each road Streaming Media as actual transfer rate.
CNB2005100960825A 2005-09-29 2005-09-29 Multi-source streaming media transmission QoS control method Expired - Fee Related CN100469072C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100960825A CN100469072C (en) 2005-09-29 2005-09-29 Multi-source streaming media transmission QoS control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100960825A CN100469072C (en) 2005-09-29 2005-09-29 Multi-source streaming media transmission QoS control method

Publications (2)

Publication Number Publication Date
CN1744592A CN1744592A (en) 2006-03-08
CN100469072C true CN100469072C (en) 2009-03-11

Family

ID=36139786

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100960825A Expired - Fee Related CN100469072C (en) 2005-09-29 2005-09-29 Multi-source streaming media transmission QoS control method

Country Status (1)

Country Link
CN (1) CN100469072C (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI696961B (en) * 2018-12-12 2020-06-21 財團法人工業技術研究院 Deep neural networks (dnn) hardware accelerator and operation method thereof

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100382549C (en) * 2006-04-13 2008-04-16 中山大学 System for realizing multi data source flow media on-line view
CN100588249C (en) * 2006-07-27 2010-02-03 腾讯科技(深圳)有限公司 Method, system and terminal for adjusting video quality
CN101227604B (en) * 2007-01-18 2010-05-19 上海未来宽带技术及应用工程研究中心有限公司 Method for detecting network video quality by network injury tolerance
CN101030938B (en) * 2007-02-05 2010-04-14 北京大学 QoS Adaptive P2P Streaming Media Data Organization and Transmission System and Method
KR20090000582A (en) * 2007-02-27 2009-01-08 삼성전자주식회사 Method and apparatus for relaying streaming data
CN101068236B (en) * 2007-04-13 2011-10-26 华为技术有限公司 Streaming media bit rate control method, system and equipment
CN101212647B (en) * 2007-07-18 2010-06-09 中国科学技术大学 Method and device for realizing streaming media service based on HFC bidirectional network
CN101287002B (en) * 2008-05-21 2010-12-29 华中科技大学 Method for enhancing amount of concurrent media flow of flow media server
CN101296184B (en) * 2008-05-30 2011-04-13 华为技术有限公司 Method, system and device for data transmission
CN101753985B (en) * 2008-11-27 2012-10-03 北京中星微电子有限公司 Video monitoring system, and medium flow transmitting control device and method in the video monitoring system
JP4650573B2 (en) * 2009-01-22 2011-03-16 ソニー株式会社 COMMUNICATION DEVICE, COMMUNICATION SYSTEM, PROGRAM, AND COMMUNICATION METHOD
CN101635830B (en) * 2009-08-18 2011-09-28 深圳市同洲电子股份有限公司 Method of video on demand, server side and client side
CN107707929A (en) * 2011-05-12 2018-02-16 索林科集团 Video analytic system
CN110062478A (en) 2011-07-18 2019-07-26 索尼公司 Radio data transmission method and Transmission system, client and service end controller
CN105429983B (en) * 2015-11-27 2018-09-14 刘军 Acquire method, media termination and the music lesson system of media data
CN106453306A (en) * 2016-10-08 2017-02-22 广东欧珀移动通信有限公司 A synchronization method, device and system for media data transmission
CN111083094B (en) * 2018-10-22 2022-06-07 中国移动通信有限公司研究院 Code stream switching method and device for streaming media and computer storage medium
CN111917662B (en) * 2019-05-07 2024-04-26 华为技术有限公司 A bandwidth reservation method and related equipment
CN113726562A (en) * 2021-08-19 2021-11-30 中国电子科技集团公司第二十八研究所 Method for evaluating network communication bandwidth required by monitoring information transmission between air traffic control systems

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI696961B (en) * 2018-12-12 2020-06-21 財團法人工業技術研究院 Deep neural networks (dnn) hardware accelerator and operation method thereof
US11551066B2 (en) 2018-12-12 2023-01-10 Industrial Technology Research Institute Deep neural networks (DNN) hardware accelerator and operation method thereof

Also Published As

Publication number Publication date
CN1744592A (en) 2006-03-08

Similar Documents

Publication Publication Date Title
CN100469072C (en) Multi-source streaming media transmission QoS control method
US10904596B2 (en) Dynamic content delivery routing and related methods and systems
KR102024311B1 (en) Adaptive data streaming method with push messages control
KR102110627B1 (en) Methods and devices for bandwidth allocation in adaptive bitrate streaming
US20140181266A1 (en) System, streaming media optimizer and methods for use therewith
US8036125B2 (en) Apparatus and method for transmitting multimedia stream using virtual machines based on a number of transmissions at a data rate
EP2360923A1 (en) Method for selectively requesting adaptive streaming content and a device implementing the method
CN105323604B (en) A kind of HTTP streaming media on demand control mode of buffer of QoE drivings
EP2696552A1 (en) Method, system and network for transmitting multimedia data to a plurality of clients
WO2018165487A1 (en) Excess bitrate distribution based on quality gain in sabr server
CN104620595A (en) Proactive video frame dropping
JP7354411B2 (en) Predictive-based drop frame handling logic in video playback
KR101863965B1 (en) Apparatus and method for providing adaptive multimedia service
GB2517060A (en) Adaptive data streaming method with push messages control
CN116017037A (en) Dynamic Parameter Tuning for Adaptive Bitrate Algorithms
CN100382549C (en) System for realizing multi data source flow media on-line view
JP2013214800A (en) Streaming media reproduction device, streaming media reproduction method, and program
EP3354033B1 (en) Dynamic seeking in video delivery systems
KR102304476B1 (en) Multipath-based block transmission system and streaming method for adaptive streaming service
Zhang et al. A QOE-driven approach to rate adaptation for dynamic adaptive streaming over http
CN103987133B (en) Resource allocation methods based on client video broadcasting condition under LTE system
Yu SVC-based dynamic caching for smart media streaming over the internet of things
JP2013214799A (en) Streaming media reproduction device, media bit rate change determination method, and program
CN119155492B (en) Server-side adaptive SVC ABR method based on MPQUIC and prefetching
Chang et al. ATF: an Adaptive Three-layer Framework for inter-stream synchronization of SMIL multimedia presentations

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090311

Termination date: 20140929

EXPY Termination of patent right or utility model