CN101656888A - 一种视频传输方法及装置、系统 - Google Patents
一种视频传输方法及装置、系统 Download PDFInfo
- Publication number
- CN101656888A CN101656888A CN 200810118766 CN200810118766A CN101656888A CN 101656888 A CN101656888 A CN 101656888A CN 200810118766 CN200810118766 CN 200810118766 CN 200810118766 A CN200810118766 A CN 200810118766A CN 101656888 A CN101656888 A CN 101656888A
- Authority
- CN
- China
- Prior art keywords
- packet loss
- video data
- video
- scene
- transmission
- 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.)
- Granted
Links
Images
Abstract
一种视频传输方法及装置、系统,方法具体包括:对视频数据提取基于场景的运动强度特征信息,并确定基于所述场景的视频数据的运动强度;根据接收端反馈的丢包率信息以及基于所述场景的视频数据的运动强度,确定传输基于所述场景的视频数据时的丢包率,以及丢弃的包的类型;按照所述确定传输基于所述场景的视频数据时的丢包率,以及丢弃的包的类型,传输基于所述场景的视频数据。本发明实施例可以有效降低计算复杂度;并且控制网络拥塞更加有效,避免了在网络拥塞情况下传输大量数据引起的盲目丢包,即使在多路视频流同时传送时也能对各具体视频流质量进行控制,从而实现了在有效控制网络拥塞的同时提高视频播放质量。
Description
技术领域
本发明涉及流媒体传输领域,尤其涉及网络中传输视频的方法及装置、系统。
背景技术
随着网络技术的不断发展,通过网络传输视频已越来越普及。例如,人们可以在网络上在线观看电影、进行视频通信等。但由于传输视频数据时需要消耗大量的网络带宽,难免会出现网络拥塞的情况,进而导致传输质量下降、影响视频的播放效果。
为了解决上述问题,目前采用的技术方案是:使用运动活动性描述符来改进网络中视频传输的质量。例如,对原始视频信号进行镜头分割后,利用神经网络模型实现运动活动性特征的提取,并将运动活动性特征量化为5个级别,接着将编码后的原始视频和运动活动性描述符一起传输,在传输过程中根据丢帧策略丢弃部分帧来缓解网络拥塞,以实现拥塞控制,接收端收到传输的视频和运动活动性描述符后对视频进行解码,并通过错误隐藏技术降低丢帧对视频质量的影响。
上述传输过程中的丢帧策略,是在网络各个节点丢帧来解决网络拥塞的一种有效方法。在视频中,I帧是关键的帧,对图像质量有很大的影响,P帧和B帧的解码都要依赖于I帧;P帧的重要性仅次于I帧,他的解码依赖于前一个I帧或P帧;相比而言,B帧的重要性又次于P帧,它的解码依赖于相邻的两个I帧或P帧。目前通过丢弃部分或者全部B帧,保留全部I帧和P帧的方法来保证接收端的视频质量。
发明人在实现本发明的过程中,发现现有技术中至少存在如下问题:
利用上述计算方法,可以在传输视频的过程中根据运动活动性等级丢弃视频流中运动活动性等级小的B帧,以满足运动活动性等级越高丢帧率越小的要求。在多路视频流同时传送而网络带宽又有限的情况下,就可以调整各个不同运动活动强度的视频流的丢帧率,保证总的视频质量下降最小。但是,对于具体某个运动活性级别的视频流,有可能质量下降很大,不能保证接收端观看效果;并且,对每个镜头进行运动活动性特征提取,计算复杂且任务繁重。
发明内容
本发明的实施例提供了一种视频传输方法和装置,能够有效提高视频播放质量。
一种视频传输方法,包括:对视频数据提取基于场景的运动强度特征信息,并确定基于所述场景的视频数据的运动强度;
根据接收端反馈的丢包率信息以及基于所述场景的视频数据的运动强度,确定传输基于所述场景的视频数据时的丢包率,以及丢弃的包的类型;
按照所述确定传输基于所述场景的视频数据时的丢包率,以及丢弃的包的类型,传输基于所述场景的视频数据。
一种视频传输装置,包括:
运动强度提取单元,用于对视频数据提取基于场景的运动强度特征信息,并确定基于所述场景的视频数据的运动强度;
反馈信息接收单元,用于获取接收端反馈的丢包率信息;
视频传输控制单元,用于根据所述反馈信息接收单元的丢包率信息,以及所述运动强度提取单元确定的基于所述场景的视频数据的运动强度,确定传输基于所述场景的视频数据时的丢包率,以及丢弃的包的类型;
传输单元,用于按照所述视频传输控制单元确定的所述传输基于所述场景的视频数据时的丢包率,以及丢弃的包的类型,传输基于所述场景的视频数据。
一种视频传输系统,包括:视频传输装置,可被设置成与客户端装置进行视频传输通信;
所述视频传输装置,用于对视频数据基于场景提取运动强度特征信息,并确定基于所述场景的视频数据的运动强度;获取接收端反馈的丢包率信息;并根据接收端反馈的丢包率信息以及基于所述场景的视频数据的运动强度,确定传输基于所述场景的视频数据时的丢包率,以及丢弃的包的类型;并按照所述确定的传输基于所述场景的视频数据时的丢包率,以及丢弃的包的类型,传输基于所述场景的视频数据;
所述客户端装置,用于接收所述视频传输装置传输的视频数据,并反馈丢包率信息。
由上述本发明的实施例提供的技术方案可以看出,由于本发明实施例在控制网络拥塞时,根据网络当前的传输情况和视频数据的运动强度等级,在发送端对视频传输质量等级进行自适应调整,不但能够在网络拥塞时对低运动强度的视频数据进行丢包,还可以对高运动强度场景的视频数据进行丢包,使得控制网络拥塞更加有效,同时不同的丢帧策略也保证了当前发送的各视频流中关键数据帧不会被丢弃,避免了在网络拥塞情况下传输大量数据引起的盲目丢包,即使在多路视频流同时传送时也能对各具体视频流质量进行控制,从而实现了在有效控制网络拥塞的同时提高视频播放质量。
附图说明
图1为本发明实施例提供的方法流程示意图;
图2为本发明实施例提供的丢包率相同情况下不同运动强度的视频的质量损失示意图:
图3为本发明实施例提供的相同运动强度下视频数据内的I、P、B帧比例示意图:
图4为本发明实施例提供的相同视频质量下视频数据内的I、P、B帧比例示意图:
图5为本发明实施例进行了运动强度分级的一段画面示意图;
图6为本发明实施例根据自适应传输策略去除马赛克的效果对比示意图;
图7为本发明实施例根据自适应传输策略去除马赛克前后的信噪比曲线示意图;
图8是本发明实施例根据采用自适应传输和非自适应传输的各10幅画面得到的PSNR曲线示意图;
图9a为本发明实施例提供的视频传输装置的结构示意图;
图9b为本发明实施例提供的视频传输控制单元的结构示意图;
图10为本发明实施例提供的视频传输系统的结构示意图;
图11为本发明实施例提供的客户端装置结构示意图。
具体实施方式
在本发明实施例中,为有效提高网络中传输的视频质量,提供一种视频传输方法,具体可以对视频数据提取基于场景的运动强度特征信息,并确定基于所述场景的视频数据的运动强度等级;根据接收端反馈的丢包率信息以及基于所述场景的视频数据的运动强度等级,确定传输基于所述场景的视频数据时的丢包率,以及丢弃的包的类型;并根据所述确定传输基于所述场景的视频数据时的丢包率,以及丢弃的包的类型,传输基于所述场景的视频数据。
为便于对本发明实施例的理解,下面将结合附图对本发明实施例的具体实现方案进行详细的描述。
图1是本发明实施例提供的方法流程示意图,下面结合图1对本发明实施例提供的方法进行详细描述。如图1所示,具体可以包括:
11:对视频数据提取基于场景的运动强度特征信息,并确定基于所述场景的视频数据的运动强度;具体可以包括:将连续的一组镜头作为一个场景,提取基于该场景的视频数据中的运动强度特征信息,并根据运动强度等级划分值,确定基于该场景的视频数据的运动强度等级;
运动强度特征是运动活动性描述符中的一个子项,运动强度特征可以从基于镜头的视频数据中提取,但由于实际应用中需要对运动强度特征进行量化,而一个场景中相邻镜头之间的运动强度等级相差不大,为了减少存储的信息量以及处理过程中的复杂度,本发明实施例采取基于场景提取视频数据的运动强度特征信息;例如具体实现时,运动强度特征信息的提取可以在Mpeg-1(Moving Picture Expert Group,运动图像专家组格式)的压缩域中进行(以P帧为例):先通过Mpeg-1的标准解码器mpeg2decode获得Mpeg-1压缩视频数据中P帧每个宏块的运动向量,定义活力矩阵Cmv:
Cmv={R(i,j)}
其中,C表示矩阵,mv表示活力,Cmv为活力矩阵,R(i,j)为(i,j)处的运动活力,xii,yii分别表示(i,j)块在x和y方向上的运动向量;
然后计算该P帧的每个宏块的平均向量幅度:
其中,I、J分别代表一个P帧中的x和y方向上的宏块数目;
接着计算该P帧的运动幅度标准差:
然后计算该P帧的运动幅度标准差的期望值:
最后,对该P帧运动幅度标准差的期望值进行量化,经过大量数据测试,25帧/秒、CIF(标准化图像格式,Common Intermediate Format)分辨率的视频的量化值可以由50、80、100、120划分为5个等级,虽然这与MPEG-7中给定的参考值有区别,但经过实验证明,用上述5个等级衡量场景的激烈程度是可行的;
相应的,根据运动强度特征划分运动强度等级的过程可以如下:例如,如果该P帧的值小于50,则将该P帧的运动强度等级设为1级;如果值大于50且小于80,则将该P帧的运动强度等级设为2级;如果值大于80且小于100,则将该P帧的运动强度等级设为3级;如果值大于100且小于120,则将该P帧的运动强度等级设为4级;如果值大于等于120,则将该P帧的运动强度等级设为5级;
需要说明的是,上述基于场景的视频数据的运动强度等级信息可以保存在服务器端;
12:根据接收端反馈的丢包率信息以及基于所述场景的视频数据的运动强度等级,确定基于所述场景的视频数据的视频传输质量等级,视频传输质量等级用于确定传输基于所述场景的视频数据时的丢包率,以及丢弃的包的类型;包括:
(一)基于所述场景的视频数据的运动强度等级,对应传输基于所述场景的视频数据的丢包率上限值和丢包率下限值;为确定了基于所述场景的运动强度等级的视频数据选择对应传输时的丢包类型和丢包率的视频传输质量等级;
其中,视频数据的基于场景的运动强度等级越高,传输时对应的丢包率上限值越低,丢包率下限值越高;基于场景的视频数据的视频传输质量等级越高,传输时对应的丢包率越低,丢弃的包的重要等级也越低;
A、本发明实施例为确定了基于场景的运动强度等级的视频数据,设置传输时的丢包率上限值和丢包率下限值的原理如下:
假设网络传输时无计划外丢包,视频数据的视频传输质量等级都一致,则按着视频传输质量等级对应的丢包率丢包后,再播放该丢包后视频的过程中,视频运动强度越低,内容变化越少,用户能够清晰流畅的观看视频画面,并且由于视频中帧和帧之间的大背景非常相似,画面一般不会剧烈变化,因此用户看到的画面延续性很强,例如运动强度等级为1的视频即使只播放I帧也可以提供流畅的画面。随着视频的运动强度不断增大,画面的变化程度越来越激烈,视频丢失的帧对播放画面的影响越来越大。若运动强度是第五级,丢包到只剩下I帧时,播放该视频时,基本看到的是一幅幅跳动很大的画面,视频中的一些动作都已经被略过了,因此视频画面跳跃性太大,令用户难以满意。
因此,在网络传输视频数据时丢包率相同的情况下,不同运动强度的视频的质量损失也不同,具体如图2所示:
从图2中可以看出,当网络传输的视频数据的丢包率相同时,则随着视频运动强度的升高,视频质量下降越明显,也就是说,高运动强度的视频质量对丢包率的敏感度远远高于低运动强度的视频质量。
鉴于上述结论,本发明实施例将视频的运动强度用于指导丢帧(或丢包),即对于不同运动强度的视频,设置不同的丢包率上限值和下限值,使得不同运动强度的视频场景得到不同的处理:具体的,
对于高运动强度的视频场景,为该场景的视频数据设置丢包率上限值、下限值时,使该丢包率上限值和下限值对丢包率的变化敏感。对于丢包率上限值,不宜设置过大,以保证网络使用状况为主。因为对于高运动强度视频,相邻若干帧之间信息密度大,对网络的丢包率非常敏感,为了避免由于传输时丢包过多导致画面产生大量的马赛克,丢包率上限不易设置的过大。而对于丢包率下限值,不宜设置过小,以保证视频质量为主。因为网络一旦好转,需要最先提升高运动强度场景的视频数据传输质量等级,因为高运动强度场景的视频数据的丢帧对视频质量的影响相对低运动强度场景的视频质量的影响较大,所以丢包率下限值不能太小。丢包率的下限值不是用于确定是否少丢包,而是用于确定网络状况是否好转,也就是说,一旦当前视频传输的丢包率低于设置的下限值,就认为当前的网络传输状态处于轻载状态。运动强度越高,丢包率下限值越大,那么当网络负载减轻时,也就越先开始调整,这有助于视频平均播放质量的提高。
由于在一般情况下,包括网络在满载状态时,若视频质量损失不超过10%,视频质量不会明显下降,根据上述处理原理,设定的丢包率上限值、下限值可以如下表1所示:
下限P1 | 上限P2 | |
运动强度1级 | 1 | 30 |
运动强度2级 | 3 | 25 |
运动强度3级 | 5 | 20 |
运动强度4级 | 7 | 17 |
运动强度5级 | 9 | 15 |
表1
从表1可以看出,当视频场景的运动强度很小时,视频对网络波动并不敏感:当网络传输变得很差时,低运动强度场景的视频数据的传输质量等级开始下降,或当网络传输状态很好时,低运动强度场景的视频数据的传输质量等级开始提升。由于运动强度低的视频相邻若干帧之间信息密度很低,而且对网络中由于丢包而产生的视频质量变化也不敏感,因此上表中为低运动强度场景的视频数据设置的丢包率上、下限值符合实际的需要;
而当视频场景的运动强度很大时,视频对网络波动非常敏感。如果网络丢包率超过一定范围,产生的视频质量损失将会非常大,而且高运动强度场景的视频数据相邻若干帧之间信息密度很大,因此设置低的网络丢包率上限,可以保证传输过程中的丢包率不会很大。当网络状况转好时,由于高运动强度场景的视频数据的丢包率下限值较大,就会对网络状况的好转最先做出反应,即最先提升的是高运动强度场景的视频数据的传输质量等级。因为视频运动强度越大,传输质量等级提升带来的质量好转越明显。
B、本发明实施例为视频数据设置、选择视频传输质量等级的原理如下:
由于在实际应用中传输视频数据时,视频数据通常经过打包形成一个个的RTP(实时传输协议)包,每个RTP信息包被封装在UDP消息段中,然后再封装在IP数据包中。下面的实验测试以下述设置为例:系统设置包的流的包大小限制为1450字节,视频格式选择H.264、帧率选择25、每15帧设置一个关键帧,并且在打包中增加用于实现视频媒体数据传输的Hint Track功能。
进行实验测试时,对不同运动强度的视频场景,采用不同的量化方式(例如通过软件进行设置实现),获得不同质量的视频,并进行分析以确定可行的划分视频传输质量等级的方案。
1、当视频的运动强度相同时,测试视频数据内的I、P、B帧打包的个数比例,得到结果如图3所示:
图3中表(a)~(e)分别对应1~5级运动强度时各帧打包后所占的比例:其中,横坐标代表不同质量的视频,从1~5分别是最低质量、低质量、中等质量、高质量、最佳质量;纵坐标代表数据流中I、P、B数据包的百分比。
2、当视频的质量等级相同时,测试各场景视频数据内的I、P、B帧打包的个数比例,得到结果如图4所示:
图4中表(f)~(j)分别表示视频质量等级相同时,各视频数据内各帧打包后所占的比例,即(f)到(j)分别对应最低质量、低质量、中等质量、高质量、最佳质量的视频;其中,横坐标代表不同的运动强度,从1~5级依次增加,纵坐标代表数据流中I、P、B数据包的百分比;
从图3、图4中可以看出:
(1)在各场景视频的质量等级相同时,各场景视频数据中的I帧所占的比例基本上不会超过20%,而B帧和P帧则占了数据的大部分,并且P帧占的比例是最大的;
(2)在视频质量为低时,各场景视频数据中的B帧与P帧所占的比例相差不大,当视频质量升高时B帧与P帧所占的比例有先增大后减小的趋势;
(3)随着视频质量的升高,各场景视频数据中的B帧的包所占比例一般先减少再升高,说明在最低质量或最佳质量时,B帧的比例都会很大;
因此,通过上述测试,对于视频数据中I、P、B各帧所占的比例,我们可以得出如下结果:
(1)在多数情况下,视频数据中的I帧所占的比例基本上不会超过20%,而B帧和P帧则占了数据的大部分,并且P帧占的比例是最大的;
(2)在视频质量为低时,视频数据中的B帧与P帧所占的比例相差不大,当视频质量升高时B帧与P帧所占的比例有先增大后减小的趋势;
(3)随着视频质量的升高,视频数据中的B帧的包所占比例一般先减少再升高,说明在最低质量或最佳质量时,B帧的比例都会很大;
根据上述结论,得出划分视频传输质量等级的原则:丢弃B帧可以释放一部分网络带宽,但若B帧丢弃完时网络带宽依然紧张,则可以继续丢弃P帧,这可以更大幅度的释放网络带宽,直到只剩下I帧,鉴于I帧所占的比例不大,故把只剩下I帧的情况作为最后的底限。因此,在实际应用中,可以将视频流的传输质量等级划分为7个等级(1级最高,7级最低),如下表2所示:
级别 | 级别名称 | 级别意义 |
1 | kAllPackets | 传输所有帧 |
2 | k70PercentBFrames | 丢弃30%的B帧 |
3 | k30PercentBFrames | 丢弃70%的B帧 |
4 | kNoBFrames | 丢弃所有B帧 |
5 | k70PercentPFrames | 丢弃30%的P帧 |
6 | k30PercentPFrames | 丢弃70%的P帧 |
7 | kKeyFramesOnly | 只传输I帧 |
表2
可以看出,基于场景的视频数据的传输质量等级越高(1级最高,7级最低),传输时对应的丢包率越低,丢弃的包的重要等级也越低;具体应用时,即可根据上述视频传输质量等级,为视频数据可以选择适当的视频传输质量等级;此外当前传输的视频数据的传输质量等级信息可以保存在服务器端。
(二)、为基于所述场景的视频数据选择视频传输质量等级,根据基于所述场景的视频数据的运动强度等级对应的所述丢包率上限值和下限值,以及接收端反馈的丢包率信息,调整所述选择的视频传输质量等级:
由于对视频数据进行实时网络传输时,网络状态会随时变化,于是就会出现按照原本选择的传输质量等级传输视频数据时出现网络拥塞的情况,为了避免这种情况,就需要根据接收端反馈的丢包率信息以及所述场景的视频数据的运动强度等级对以前选择的传输质量等级进行实时调整;而实现实时调整可以进行如下处理:
(a)获取接收端反馈的丢包率信息
对于获取接收端反馈的丢包率信息,本发明实施例可以通过如下方式实现:从RTCP包中提取丢包率信息,例如在DSS(达尔文流服务器,DarwinStreaming Server)中增加一个用于获取RTCP包的丢包率信息的模块,这样,发送方接收到接收方发送来的RTCP包后,即可获取RTCP包中的丢包率信息。每当服务器接收到数据包时,根据RTCP包中的丢包率检测结果来控制视频数据的传输质量等级。本发明实施例可以使用RTP/RTCP协议实现流媒体传输,也可以采用其它的流媒体传输方式;还可以采取其它的获取接收端丢包率信息的方法,只要能够获取接收端的丢包率信息即可。
(b)确定当前的网络运行状态
本发明实施例将网络的运行状态分为3种:轻载、满载、过载。轻载时网络丢包率小于丢包率下限P1,过载时网络丢包率大于丢包率上限P2,满载时丢包率处于P1~P2之间。当网络状态变为轻载时,可以提高当前传输的视频数据的传输质量等级;当网络状态变为过载时,必须降低当前传输的视频数据的传输质量等级;满载则继续保持当前传输的视频数据的传输质量等级。而丢包率的上限和下限值则可以通过当前传输的视频数据的运动强度等级来确定。
(c)丢包率平滑
在网络传输视频数据的实际过程中,需要考虑到网络中出现的一些冲激性质的波动,这时网络的丢包率会瞬时增加,然后立刻恢复原状,在这种情况下不需要改变当前传输的视频数据的传输质量等级,但需要对丢包率进行平滑处理,以防止这种瞬时突变引起的传输速率不必要的大幅变化。
本实施例中,采用的平滑处理方法可以采用如下公式:
也就是使用前一次的丢包率为基准来计算现在的丢包率;其中,α一般取值为1/4或1/8。表示平滑处理过后的丢包率,Ploss(t)是检测到的丢包率。通过上述公式计算得到的丢包率依赖于前一次的丢包率,这样如果出现瞬时波动,则丢包率上升的速度决定于未出现波动的丢包率,不会出现丢包率超过丢包界限的情况,当波动结束时,丢包率也恢复正常。
在本实施例中,为了平滑丢包率,可以进行如下设置:如果连续4次丢包率过大而超过上限值,则实施传输质量降低自适应调节;如果连续6次接收到丢包率过小而低于下限,则实施传输质量等级升高自适应调节。
(d)根据接收端反馈的丢包率信息以及基于所述场景的视频数据的运动强度等级对应的丢包率上限值和下限值,调整确定当前传输的视频数据的传输质量等级:
通过控制视频传输质量等级可以避免网络拥塞,即让传输速率能够根据丢包率加法增加、乘法减少。例如,若接收端反馈的丢包率大于基于所述场景的视频数据的所述丢包率上限值,则降低基于所述场景的视频数据的所述视频传输质量等级;若接收端反馈的丢包率小于基于所述场景的视频数据的所述丢包率下限值,则提高基于所述场景的视频数据的所述视频传输质量等级;若接收端反馈的丢包率介于基于所述场景的视频数据的所述丢包率上限值和丢包率下限值之间,以及接收端反馈的丢包率等于所述丢包率上限值或下限值,则保持所述视频传输质量等级。
具体的,在本发明实施例中,如果网络处于过载状态,则大幅下降此时传输的视频数据的传输质量等级,例如当前传输的视频数据的传输质量等级为第1~3级,则可以降至第4级,即丢弃所有B帧;如果当前传输的视频数据的传输质量等级为第4~6级,则直接降至第7级,即只传输I帧。若网络处于轻载状态,则可以缓慢地一步步提升传输质量等级,使之尽量满足网络传输协议友好,实现自适应调节;
具体应用中,调节质量传输等级的公式可以如下所示:
其中,k表示应调整到的级别,n表示检测到拥塞的次数,P1为网络轻载的下限,P2为网络过载的上限。当然,当前网络满载,则不改变当前传输的视频数据的传输质量级别;
13:按照所述视频传输质量等级传输基于所述场景的视频数据;即根据所述视频传输质量等级对应的丢包类型和相应丢包率,在传输基于所述场景的视频数据时进行丢包;具体可以包括:根据所述视频传输质量等级对应的丢包类型和相应丢包率,确定传输方式,并在丢包时根据丢帧策略进行丢帧:
a、根据所述视频传输质量等级确定传输方式:
(1)当视频数据的传输质量等级是kKeyFramesOnly(第7级)时,则只传输关键帧(I帧);具体应用时,可以先判断当前传输的数据包是否属于一个I帧,如果是则继续传输包括I帧的数据包,如果不是,则直接选取下一个I帧的第一个数据包开始发送。
(2)当视频数据的传输质量等级是k30PercentPFrames(第6级)时,则不但传输全部I帧还要传输30%的P帧;具体应用时,若当前传输的是I帧,则继续传输帧内的下一个数据包;如果是P帧,则先获得此时离前一个I帧的距离,计算两个I帧内已经传送的P帧占两个I帧中间的P帧的比例,在与30%误差不超过3%时,直接进行下一个I帧的传输;在上述传输过程中,直接丢弃B帧。
(3)当视频数据的传输质量等级是k70PercentPFrames(第5级)时,则不但传输全部I帧还要传输70%的P帧;具体应用时,若当前传输的是I帧,则继续传输帧内的下一个数据包;如果是P帧,则先获得此时离前一个I帧的距离,计算两个I帧内已经传送的P帧占两个I帧中间的P帧的比例,在与70%误差不超过3%时,直接进行下一个I帧的传输;在上述传输过程中,直接丢弃B帧。
(4)当视频数据的传输质量等级是kNoBFrames(第4级)时,则仅传输全部I、P帧,而丢弃所有的B帧;具体应用时,若当前传输的是I帧或P帧,则继续传输帧内的下一个数据包;若遇到B帧,则直接丢弃B帧。
(5)当视频数据的传输质量等级是k30PercentBFrames(第3级)时,则不但传输全部I、P帧,还要传输30%的B帧;具体应用时,若当前传输的是I帧或P帧,则继续传输帧内的下一个数据包;如果当前传输的是B帧,则先获得此时离前一个I帧的距离,计算两个I帧内已经传送的B帧占两个I帧中间的B帧的比例,在与30%误差不超过3%时,则在两I帧中再次遇到B帧时直接丢弃B帧。
(6)当视频数据的传输质量等级是k70PercentBFrames(第2级)时,则不但传输全部I、P帧,还要传输70%的B帧;具体应用时,若当前传输的是I帧或P帧,则继续传输帧内的下一个数据包;如果当前传输的是B帧,则先获得此时离前一个I帧的距离,计算两个I帧内已经传送的B帧占两个I帧中间的B帧的比例,在与70%误差不超过3%时,则在两I帧中再次遇到B帧时直接丢弃B帧。
(7)当视频数据的传输质量等级是kAllPackets(第1级)时,则传输所有的帧,传输时不丢数据包。
b、在丢包时根据丢帧策略进行丢帧
丢帧策略指的是在网络中传输视频数据过程中,如何丢帧的策略;本发明实施例中,对I帧、P帧、B帧分别实施不同的丢帧策略:
(1)I帧的丢帧策略
在传输视频数据的过程中,若I帧被丢弃,则随后的P、B帧的解码会很困难,使得马赛克现象很严重;因此系统中的丢帧策略的底线是保留I帧,先丢B帧,再丢P帧的顺序,从而保证I帧不会被随意丢弃。
(2)B帧的丢帧策略
由于B帧是双向预测帧,不作为参考帧使用,故丢弃B帧不会引起解码出错;在系统中,丢弃30%B帧时,丢弃的是相隔比较远的头尾B帧,这样播放画面时基本感觉不到丢帧带来到影响;当保留30%的B帧时,则保留相隔比较远的头尾B帧。
(3)P帧的丢帧策略
由于P帧的解码依赖于其前面的一个I帧或P帧,一旦参考帧丢失,跟随着的P帧都可能解码错误,使得马赛克大量出现;因此随机丢弃P帧可能会造成客户端视频质量的下降。
为了避免上述情况,本发明实施例采用的丢弃P帧的策略如下:
例如,在丢弃P帧的时,可以保留两个I帧之间处于前面的P帧,将数据都集中在两个I帧之间的后半部分P帧丢弃,这样就可以避免因丢帧而产生的马赛克现象。比如丢弃30%的P帧时,则先读取I帧和下一个I帧之间的P帧的数目,顺次读取P帧,与70%相差不超过3%时,则直接跳到下一个I帧。这样的处理使得所有的帧都能够正常解码,解决了平常因为丢帧而引起的马赛克现象,这也是有计划的丢帧而产生的优点。
由于P帧在视频传输时占有相当的比例,因此当丢弃部分P帧时就可以立刻缓解网络拥塞,但随即机丢弃P帧与有计划的丢弃P帧的视频效果非常不同,因此在丢弃P帧时采用上述策略对缓解网络带宽有非常重要的意义。
上述针对不同帧的丢帧策略,可以应用于多个视频流中运动活动性同等级帧的丢帧,从而保证当前发送的多个视频流中关键数据帧不会被丢弃,避免了在网络拥塞情况下传输大量数据引起的盲目丢包,实现了在有效控制网络拥塞的同时提高视频播放质量。
需要说明的是,在根据上述方法传输视频数据时,往往需要对出现传输错误的数据包进行处理,即当传输RTP包时,由于丢包率的存在,可能出现某些帧的信息不完整,如果用这些不完整的数据进行解码,可能导致客户端视频质量的严重下降,因此需要对出现的上述传输错误进行处理。本发明实施例可以采用信息隐藏方法来解决上述问题,即通过拷贝前一个对应的传输帧来处理上述传输错误,例如当前不完整的I帧拷贝前一个I帧,当前不完整的P帧拷贝前一个P帧,当前不完整的B帧拷贝前一个B帧。
根据上述方法流程,传输视频数据时由于基于场景提取视频数据中的运动强度特征信息,相比于背景技术的基于镜头提取运动活动性特征可以有效降低计算复杂度、减少传输时的数据量;并且在控制网络拥塞时,根据网络当前的传输情况和视频数据的运动强度等级,在发送端对视频传输质量等级进行自适应调整,不但能够在网络拥塞时对低运动强度等级的视频数据进行丢包,还可以对高运动强度等级的视频数据进行丢包,使得控制网络拥塞更加有效,同时也保证了当前发送的关键数据帧不会被丢弃,避免了在网络拥塞情况下传输大量数据引起的盲目丢包,即使在多路视频流同时传送时也能对各具体视频流质量进行控制,从而实现了在有效控制网络拥塞的同时提高视频播放质量。
下面结合附图,对应用上述方法的本发明实施例进行详细介绍:
(1)对视频场景进行运动强度分级
图5是本发明实施例进行了运动强度分级的一段画面示意图,如图5所示,最上面即第一行的视频序列是一段字母缓缓出现、移动的序幕,根据上述方法流程的21中的计算方法,第一行这三幅画面的运动幅度标准差的期望值为6.86,运动强度等级属于1级;
第二行的视频序列中一个人在讲话,画面移动的非常缓慢,根据上述方法流程的21中的计算方法,第二行这三幅画面的运动幅度标准差的期望值为69.50,运动强度等级属于2级;
第三行的视频序列中一个人在走动,移动速度较快,背景也随之变化,根据上述方法流程的21中的计算方法,第三行这三幅画面的运动幅度标准差的期望值为80.13,运动强度等级属于3级;
第四行的视频序列中一辆车在行驶,移动速度很快,背景也随之变化,根据上述方法流程的21中的计算方法,第四行这三幅画面的运动幅度标准差的期望值为110.56,运动强度等级属于4级;
第五行的视频序列中熙熙攘攘的人群在下楼梯,使得整幅画面变化激烈,根据上述方法流程的21中的计算方法,第五行这三幅画面的运动幅度标准差的期望值为126。79,运动强度等级属于5级。
(2)根据自适应传输去除马赛克
图6是本发明实施例根据自适应传输策略去除马赛克的效果对比示意图,图6中,左侧是没有根据自适应传输策略处理时,即随机丢P帧的画面,右侧是根据自适应传输策略处理时的画面。当以传输质量等级为k30PercentPFrames,对这相同的视频测试,在保证网络带宽相同的情况下,从图6中可以明显看出,没有经过去除马赛克处理的视频播放时马赛克非常多,而经过处理的视频完全没有任何马赛克,一样的环境与视频,不一样的策略就得到了完全不一样的结果。
进一步的,分别测量图6中六幅图相对于原图的信噪比(PSNR,PeakSignal Noise Ratio),左侧三幅从上到下信噪比依次为:18.522、18.382、17.864,右侧三幅从上到下信噪比依次为:23.274、24.421、22.704,原图使用本地播放截取的同一时刻的图,故有一定误差,但两者趋势却没有变化。上述信噪比曲线具体如图7所示。
(3)在未利用运动强度特征信息时,自适应传输与非自适应传输效果比较
对于点播的视频质量,虽然主观上即可以看出自适应传输与非自适应传输效果的差别,但客观上用数据描述却比较困难。在实验中,当客户端不断的增加点播服务来消耗网络带宽,则在服务器端分别对视频数据的传输采用自适应处理和非自适应处理以进行比较,可以明显地看出:未经过自适应处理的视频画面会随着带宽度逐渐减少而不断恶化直至停止,而经过自适应处理的视频画面随着网络带宽度的减少不会出现明显的马赛克,只是会有些小的停顿,但画面非常清晰,直到网络传输最后一帧时停止。图8是实验中截取采用自适应传输和非自适应传输的各10幅画面得到的PSNR曲线,可以明显对比出采用了自适应传输和非自适应传输的视频质量的差别:图8中,位于上面的曲线表示经过自适应传输处理的视频图像序列的质量,它们的画面质量都保持在较高水平,这样的质量是以画面中的短暂停顿为代价的;而位于下面的曲线则表示未经过自适应传输处理的视频图像序列的画面质量,虽然在播放过程中这些画面连续,但屏幕上出现了很多马赛克,非常影响画面效果,令观众难以满意。
(4)利用运动强度特征信息的自适应传输与未利用运动强度特征信息的自适应传输效果比较
利用视频场景的运动强度等级信息进行自适应传输后,当客户端点播包括了1~5级运动强度的视频,并且不断的增加点播服务消耗网络带宽时,网络会开始拥塞,第5级视频最先开始反应,即立刻会因为丢帧而出现播放中短暂跳动,但视频质量依然完好,其他运动强度等级的视频仍然正常播放;随着网络带宽的继续被消耗,其它运动强度等级的视频依次也开始丢帧,但马赛克只会在网络传输质量等级变化的瞬间出现。在网络好转时,高运动强度等级的视频最先好转,其它视频的质量依次好转。
相对于未利用运动强度特征信息的自适应传输,当网络开始拥塞时,大部分视频开始同时降低传输质量等级,即同时丢包,影响了本可以不降低传输质量的视频,并且在网络恢复时,各视频的传输质量等级的提升也没有先后次序,使得高运动强度等级的视频的传输质量不能够得到及时的回升,导致影响播放画面,使得用户难以满意播放质量。
从上述描述可以看出,采用本发明实施例的方法后,即使在多路视频流同时传送时也能对各具体视频流质量进行控制,视频播放质量得到明显改善,实现了在有效控制网络拥塞的同时提高视频播放质量。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
本发明实施例还提供了相应的视频传输装置,该装置可以作为流媒体服务器,用于实现基于运动强度的自适应传输视频数据,该视频传输装置的结构如图9a所示,具体实现结构可以包括:
运动强度提取单元91,用于对视频数据提取基于场景的运动强度特征信息,并确定基于所述场景的视频数据的运动强度;具体可以包括:将连续的一组镜头作为一个场景,提取基于该场景的视频数据中的运动强度特征信息,并根据运动强度等级划分值,确定基于该场景的视频数据的运动强度等级;
例如,将视频的运动强度等级量化值可以由50、80、100、120划分为5个等级,相应的,根据运动强度特征划分运动强度等级的过程可以如下:例如,如果该P帧的值小于50,则将该P帧的运动强度等级设为1级;如果值大于50且小于80,则将该P帧的运动强度等级设为2级;如果值大于80且小于100,则将该P帧的运动强度等级设为3级;如果值大于100且小于120,则将该P帧的运动强度等级设为4级;如果值大于等于120,则将该P帧的运动强度等级设为5级;
反馈信息接收单元92,用于获取接收端的丢包率信息;例如,使用RTP/RTCP协议进行流媒体的传输时,可以从RTCP包中提取丢包率信息;当然还可以采取其它的获取接收端丢包率信息的方法,只要能够获取接收端的丢包率信息即可;
视频传输控制单元93,用于根据反馈信息接收单元92获取的丢包率信息,以及运动强度提取单元91确定的所述运动强度,确定传输基于所述场景的视频数据时的丢包率,以及丢弃的包的类型;
视频传输控制单元93具体结构如图9b所示,可以包括:
设置丢包率上下限单元931,用于根据所述运动强度提取单元91确定的运动强度等级,为基于所述场景的视频数据设置传输时对应的丢包率上限值和丢包率下限值;基于所述场景的视频数据的所述运动强度等级越高,对应的丢包率上限值越低,丢包率下限值越高;
例如,对于某一段由若干个场景组成的视频,各个场景对应的视频片断的运动强度等级不同,对丢包率的敏感程度也不同,因此对于该视频各个场景的视频片断需要设置不同的丢包率上下限值;具体实现时,可以根据上述图表5所示的运动强度等级与丢包率上、下限对应关系设置丢包率的上下限;具体的,对于高运动强度场景的视频,为该场景的视频数据设置对丢包率的变化敏感的丢包率上限值、下限值,以保证视频质量;因为网络一旦好转,需要最先提高高运动强度的视频场景的数据发送速率,因为高运动强度场景的视频丢帧对视频质量的影响相对低质量视频场景的影响较大,所以丢包率下限值不能太小,即运动强度越高,丢包率下限值越大,那么当网络负载减轻时,也就越先开始调整,这有助于视频平均播放质量的提高;
选择传输质量等级单元932,用于为基于所述场景的视频数据选择视频传输质量等级,视频传输质量等级用于确定传输基于所述场景的视频数据时的丢包率,以及丢弃的包的类型;具体的,基于所述场景的视频数据的视频传输质量等级越高,传输时对应的丢包率越低,丢弃的包的重要等级也越低;例如可以根据上述表2所示进行选择;
存储单元933,用于存储所述设置丢包率上下限单元931设置的传输时的丢包率上限值和丢包率下限值,以及所述选择传输质量等级单元932设置的视频传输质量等级,包括对应的丢包类型和丢包率,并存储调整单元934调整后的视频传输质量等级;具体的,例如可以存储例如表1中的对应关系,以及表2中的对应关系;
调整单元934,用于根据所述反馈信息接收单元92的所述丢包率信息以及存储单元933存储的所述丢包率上限值和丢包率下限值,调整所述选择传输质量等级单元932设置的所述视频传输质量等级;具体用于:
若接收端反馈的丢包率大于基于所述场景的视频数据的所述丢包率上限值,则降低基于所述场景的视频数据的所述视频传输质量等级;
若接收端反馈的丢包率小于基于所述场景的视频数据的所述丢包率下限值,则提高基于所述场景的视频数据的所述视频传输质量等级;
若接收端反馈的丢包率介于基于所述场景的视频数据的所述丢包率上限值和丢包率下限值之间,以及接收端反馈的丢包率等于所述丢包率上限值或下限值,则保持所述视频传输质量等级;
例如,对于当前传输的是多路视频流时,当网络状况开始好转时,即反馈的丢包率小于下限值时,首先提高高运动强度场景的视频的传输质量等级;
具体实施中,若网络处于过载状态,则大幅下降此时传输的视频数据的传输质量等级,假设当前传输的视频数据的传输质量等级为第1~3级,则可以降至第4级,即丢弃所有B帧;如果当前传输的视频数据的传输质量等级为第4~6级,则直接降至第7级,即只传输I帧。若网络处于轻载状态,则可以缓慢地一步步提升传输质量等级,使之尽量满足网络传输协议友好;
传输单元94,用于按照所述视频传输控制单元93确定的所述传输基于所述场景的视频数据时的丢包率,以及丢弃的包的类型,传输基于所述场景的视频数据;具体的可以按照所述调整单元934得出的视频传输质量等级传输基于所述场景的视频数据,即根据所述视频传输质量等级对应的丢包类型和相应丢包率,在传输基于所述场景的视频数据时进行丢包;具体可以包括:根据所述视频传输质量等级对应的丢包类型和相应丢包率确定传输方式,并在丢包时根据丢帧策略进行丢帧;
例如,根据所述视频传输质量等级确定传输方式:当视频数据的传输质量等级是kKeyFramesOnly(第7级)时,则只传输关键帧(I帧);具体应用时,可以先判断当前传输的数据包是否属于一个I帧,如果是则继续传输包括I帧的数据包,如果不是,则直接选取下一个I帧的第一个数据包开始发送;当视频数据的传输质量等级是k30PercentPFrames(第6级)时,则不但传输全部I帧还要传输30%的P帧;具体应用时,若当前传输的是I帧,则继续传输帧内的下一个数据包;如果是P帧,则先获得此时离前一个I帧的距离,计算两个I帧内已经传送的P帧占两个I帧中间的P帧的比例,在与30%误差不超过3%时,直接进行下一个I帧的传输;在上述传输过程中,直接丢弃B帧;当视频数据的传输质量等级是k70PercentPFrames(第5级)时,则不但传输全部I帧还要传输70%的P帧;具体应用时,若当前传输的是I帧,则继续传输帧内的下一个数据包;如果是P帧,则先获得此时离前一个I帧的距离,计算两个I帧内已经传送的P帧占两个I帧中间的P帧的比例,在与70%误差不超过3%时,直接进行下一个I帧的传输;在上述传输过程中,直接丢弃B帧;当视频数据的传输质量等级是kNoBFrames(第4级)时,则仅传输全部I、P帧,而丢弃所有的B帧;具体应用时,若当前传输的是I帧或P帧,则继续传输帧内的下一个数据包;若遇到B帧,则直接丢弃B帧;当视频数据的传输质量等级是k30PercentBFrames(第3级)时,则不但传输全部I、P帧,还要传输30%的B帧;具体应用时,若当前传输的是I帧或P帧,则继续传输帧内的下一个数据包;如果当前传输的是B帧,则先获得此时离前一个I帧的距离,计算两个I帧内已经传送的B帧占两个I帧中间的B帧的比例,在与30%误差不超过3%时,则在两I帧中再次遇到B帧时直接丢弃B帧;当视频数据的传输质量等级是k70PercentBFrames(第2级)时,则不但传输全部I、P帧,还要传输70%的B帧;具体应用时,若当前传输的是I帧或P帧,则继续传输帧内的下一个数据包;如果当前传输的是B帧,则先获得此时离前一个I帧的距离,计算两个I帧内已经传送的B帧占两个I帧中间的B帧的比例,在与70%误差不超过3%时,则在两I帧中再次遇到B帧时直接丢弃B帧;当视频数据的传输质量等级是kAllPackets(第1级)时,则传输所有的帧,传输时不丢数据包;
同时,在网络中传输视频数据过程中,丢包时根据丢帧策略进行丢帧:本发明实施例中,对I帧、P帧、B帧分别实施不同的丢帧策略:I帧不会被随意丢弃;丢弃30%B帧时,丢弃的是相隔比较远的头尾B帧;当保留30%的B帧时,则保留相隔比较远的头尾B帧;在丢弃P帧的时,可以保留两个I帧之间处于前面的P帧,将数据都集中在两个I帧之间的后半部分P帧丢弃,丢弃30%的P帧时,则先读取I帧和下一个I帧之间的P帧的数目,顺次读取P帧,与70%相差不超过3%时,则直接跳到下一个I帧。
可选的,在该视频传输装置中还可以包括:
丢包率平滑单元95,用于在网络中出现冲激性质的波动时,对丢包率进行平滑处理,以防止这种瞬时突变引起的传输质量等级不必要的大幅变化;例如使用前一次的丢包率为基准来计算现在的丢包率,这样如果出现瞬时波动,则丢包率上升的速度决定于未出现波动的丢包率,不会出现丢包率超过丢包界限的情况,当波动结束时,丢包率也恢复正常。
本发明实施例中的视频传输装置可以设置于各种网络节点设备中,包括服务器,或其它网络传输设备中。
本发明实施例还提供了一种用于实现基于运动强度的自适应传输视频数据的视频传输系统,其结构如图10所示,具体实现结构包括:
视频传输装置101,用于对视频数据提取基于场景的运动强度特征信息,并确定基于所述场景的视频数据的运动强度;获取接收端反馈的丢包率信息;并根据接收端反馈的丢包率信息以及基于所述场景的视频数据的运动强度,确定传输基于所述场景的视频数据时的丢包率,以及丢弃的包的类型;根据所述确定的传输基于所述场景的视频数据时的丢包率,以及丢弃的包的类型,传输基于所述场景的视频数据;具体结构如图9a所示,这里不再重复;视频传输装置101,可被设置成与客户端装置进行视频传输通信;
客户端装置102,用于接收视频传输装置传输的视频数据,并反馈丢包率信息,对接收到的视频数据中的错误进行处理后,解码视频数据并播放;客户端装置102具体结构如图11所示,可以包括:
收发单元111,用于接收视频数据,并发送各种数据信息;
丢包率信息单元112,用于提供丢包率信息,并通过收发单元111将丢包率信息反馈给视频传输装置101;例如可以收集客户端的信息,形成RTCP数据包,通过收发单元111定时将该RTCP数据包发送给视频传输装置101,具体的功能可以由DSS(Darwin Streaming Server,达尔文流服务器)中的相应模块实现;
错误处理单元113,用于对出现传输错误的数据包进行处理,并将处理后的数据送至解码单元114(实际应用中可以为解码器)解码;例如,可以采用信息隐藏方法来进行处理,即通过拷贝前一个对应的帧来处理上述传输错误,例如当前不完整的I帧拷贝前一个I帧,当前不完整的P帧拷贝前一个P帧,当前不完整的B帧拷贝前一个B帧;此外,还可以采用前向纠错编码(Forward ErrorCorrection,FEC),延迟约束的重传、错误弹性编码(error-resilient encoding)以及其它的错误隐藏方法来对出现传输错误的数据包进行处理;
解码单元114,用于解码错误处理单元113处理后的视频数据,并播放,具体的,解码单元74可以为解码器。
上述系统中,视频传输装置101对视频数据提取基于场景的运动强度特征信息后,将其量化为1~5级,并将上述视频数据打包,在获取客户端反馈的丢包率信息确定当前的视频数据的传输质量等级,并根据该传输质量等级确定传输该视频数据的方式,在丢包时根据丢帧策略进行丢帧。而客户端装置102,则通过定时反馈丢包率信息给视频传输装置101,并在错误处理单元113对出现传输错误的数据包进行处理后,将视频数据送至解码单元解码、播放。
本发明实施例中用于实现基于运动强度的自适应传输视频数据的视频传输系统可以设置于各种网络设备中。
综上所述,本发明各实施例和现有技术中相比,由于本发明的实施例基于场景提取视频数据中的运动强度特征信息,可以有效降低计算复杂度、减少传输时的数据量;并且在控制网络拥塞时,根据网络当前的传输情况和视频数据的运动强度等级,在发送端对视频传输质量等级进行自适应调整,不但能够在网络拥塞时对低运动强度等级的视频数据进行丢包,还可以对高运动强度等级的视频数据进行丢包,使得控制网络拥塞更加有效,同时不同的丢帧策略也保证了当前发送的关键数据帧不会被丢弃,避免了在网络拥塞情况下传输大量数据引起的盲目丢包,即使在多路视频流同时传送时也能对各具体视频流质量进行控制,从而实现了在有效控制网络拥塞的同时提高视频播放质量。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (12)
1、一种视频传输方法,其特征在于,包括:
对视频数据提取基于场景的运动强度特征信息,并确定基于所述场景的视频数据的运动强度;
根据接收端反馈的丢包率信息以及基于所述场景的视频数据的运动强度,确定传输基于所述场景的视频数据时的丢包率,以及丢弃的包的类型;
按照所述确定传输基于所述场景的视频数据时的丢包率,以及丢弃的包的类型,传输基于所述场景的视频数据。
2、根据权利要求1所述的方法,其特征在于,所述对视频数据提取基于场景的运动强度特征信息,并确定基于所述场景的视频数据的运动强度,包括:
将连续的一组镜头作为一个场景,提取基于该场景的视频数据中的运动强度特征信息,并确定基于该场景的视频数据的运动强度等级。
3、根据权利要求1或2所述的方法,其特征在于,所述基于所述场景的视频数据的运动强度等级,用于确定传输基于所述场景的视频数据时对应的丢包率上限值和丢包率下限值。
4、根据权利要求1或2或3所述的方法,其特征在于,所述根据接收端反馈的丢包率信息以及基于所述场景的视频数据的运动强度,确定传输基于所述场景的视频数据时的丢包率,以及丢弃的包的类型,包括:
根据接收端反馈的丢包率信息以及基于所述场景的视频数据的运动强度,确定基于所述场景的视频数据的视频传输质量等级,所述视频传输质量等级用于确定传输基于所述场景的视频数据时的丢包率,以及丢弃的包的类型;具体处理包括:
为基于所述场景的视频数据选择视频传输质量等级,根据基于所述场景的视频数据的运动强度等级对应的丢包率上限值和下限值,以及接收端反馈的丢包率信息,调整所述选择的视频传输质量等级。
5、根据权利要求4所述的方法,其特征在于,所述调整所述选择的所述视频传输质量等级,包括:
若接收端反馈的丢包率大于基于所述场景的视频数据的所述丢包率上限值,则降低基于所述场景的视频数据的所述视频传输质量等级;
若接收端反馈的丢包率小于基于所述场景的视频数据的所述丢包率下限值,则提高基于所述场景的视频数据的所述视频传输质量等级;
若接收端反馈的丢包率介于基于所述场景的视频数据的所述丢包率上限值和丢包率下限值之间,以及接收端反馈的丢包率等于所述丢包率上限值或下限值,则保持所述视频传输质量等级。
6、根据权利要求5所述的方法,其特征在于,所述按照所述视频传输质量等级,传输基于所述场景的视频数据,包括:
根据所述视频传输质量等级对应的丢包类型和丢包率,在传输基于所述场景的视频数据时进行丢包。
7、一种视频传输装置,其特征在于,包括:
运动强度提取单元,用于对视频数据提取基于场景的运动强度特征信息,并确定基于所述场景的视频数据的运动强度;
反馈信息接收单元,用于获取接收端反馈的丢包率信息;
视频传输控制单元,用于根据所述反馈信息接收单元的丢包率信息,以及所述运动强度提取单元确定的基于所述场景的视频数据的运动强度,确定传输基于所述场景的视频数据时的丢包率,以及丢弃的包的类型;
传输单元,用于按照所述视频传输控制单元确定的所述传输基于所述场景的视频数据时的丢包率,以及丢弃的包的类型,传输基于所述场景的视频数据。
8、根据权利要求7所述的装置,其特征在于,所述运动强度提取单元,在进行所述对视频数据提取基于场景的运动强度特征信息,并确定基于所述场景的视频数据的运动强度时,具体用于:
将连续的一组镜头作为一个场景,提取基于该场景的视频数据中的运动强度特征信息,并确定基于该场景的视频数据的运动强度等级。
9、根据权利要求7或8所述的装置,其特征在于,所述视频传输控制单元包括:
设置丢包率上下限单元,用于根据所述运动强度提取单元确定的运动强度等级,为基于所述场景的视频数据设置传输时的丢包率上限值和丢包率下限值;
选择传输质量等级单元,用于为基于所述场景的视频数据选择视频传输质量等级,所述视频传输质量等级用于确定传输基于所述场景的视频数据时的丢包率,以及丢弃的包的类型;
存储单元,用于存储所述设置丢包率上下限单元设置的传输时的丢包率上限值和丢包率下限值,以及所述选择传输质量等级单元选择的所述视频传输质量等级,包括对应的丢包类型和丢包率;
调整单元,用于根据所述反馈信息接收单元的所述丢包率信息以及所述存储单元存储的所述丢包率上限值和丢包率下限值,调整所述选择传输质量等级单元选择的所述视频传输质量等级。
10、根据权利要求9所述的装置,其特征在于,所述调整单元,进行所述调整所述选择传输质量等级单元选择的所述视频传输质量等级时,具体用于:
若接收端反馈的丢包率大于基于所述场景的视频数据的所述丢包率上限值,则降低基于所述场景的视频数据的所述视频传输质量等级;
若接收端反馈的丢包率小于基于所述场景的视频数据的所述丢包率下限值,则提高基于所述场景的视频数据的所述视频传输质量等级;
若接收端反馈的丢包率介于基于所述场景的视频数据的所述丢包率上限值和丢包率下限值之间,以及接收端反馈的丢包率等于所述丢包率上限值或下限值,则保持所述视频传输质量等级。
11、根据权利要求7所述的装置,其特征在于,所述传输单元,进行所述按照确定的所述传输基于所述场景的视频数据时的丢包率,以及丢弃的包的类型,传输基于所述场景的视频数据时,具体用于:根据所述视频传输质量等级对应的丢包类型和丢包率,在传输基于所述场景的视频数据时进行丢包。
12、一种视频传输系统,其特征在于,包括:视频传输装置,可被设置成与客户端装置进行视频传输通信;
所述视频传输装置,用于对视频数据基于场景提取运动强度特征信息,并确定基于所述场景的视频数据的运动强度;获取接收端反馈的丢包率信息;并根据接收端反馈的丢包率信息以及基于所述场景的视频数据的运动强度,确定传输基于所述场景的视频数据时的丢包率,以及丢弃的包的类型;并按照所述确定的传输基于所述场景的视频数据时的丢包率,以及丢弃的包的类型,传输基于所述场景的视频数据;
所述客户端装置,用于接收所述视频传输装置传输的视频数据,并反馈丢包率信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810118766 CN101656888B (zh) | 2008-08-21 | 2008-08-21 | 一种视频传输方法及装置、系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810118766 CN101656888B (zh) | 2008-08-21 | 2008-08-21 | 一种视频传输方法及装置、系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101656888A true CN101656888A (zh) | 2010-02-24 |
CN101656888B CN101656888B (zh) | 2013-01-16 |
Family
ID=41710933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200810118766 Expired - Fee Related CN101656888B (zh) | 2008-08-21 | 2008-08-21 | 一种视频传输方法及装置、系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101656888B (zh) |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102170554A (zh) * | 2010-02-25 | 2011-08-31 | 无锡中星微电子有限公司 | 基于电力网的网络摄像装置及网络摄像方法 |
CN102209237A (zh) * | 2011-05-26 | 2011-10-05 | 杭州华三通信技术有限公司 | 降低点播实况媒体流时i帧重叠的方法及视频管理服务器 |
CN102802089A (zh) * | 2012-09-13 | 2012-11-28 | 浙江大学 | 一种基于体验质量预测的移动视频码率调整方法 |
CN103338375A (zh) * | 2013-06-27 | 2013-10-02 | 公安部第一研究所 | 一种宽带集群系统中基于视频数据重要性的动态码率分配方法 |
CN103780917A (zh) * | 2012-10-19 | 2014-05-07 | 上海贝尔股份有限公司 | 用于智能地适配视频分组的方法和网络单元 |
CN103945281A (zh) * | 2014-04-29 | 2014-07-23 | 中国联合网络通信集团有限公司 | 视频传输处理方法、装置和系统 |
CN104320669A (zh) * | 2014-10-24 | 2015-01-28 | 北京有恒斯康通信技术有限公司 | 视频传输方法及装置 |
CN104823448A (zh) * | 2012-10-16 | 2015-08-05 | 微软技术许可有限责任公司 | 视频编码中的颜色自适应 |
CN105357592A (zh) * | 2015-10-26 | 2016-02-24 | 山东大学苏州研究院 | 一种流媒体自适应传输选择性丢帧方法 |
CN105992023A (zh) * | 2015-02-11 | 2016-10-05 | 杭州海康威视数字技术股份有限公司 | 视频图像数据的处理方法及装置 |
CN106209500A (zh) * | 2016-06-28 | 2016-12-07 | 北京小米移动软件有限公司 | 用于检测网络带宽的方法和装置 |
CN106454432A (zh) * | 2016-10-18 | 2017-02-22 | 浙江大华技术股份有限公司 | 一种视频帧处理方法和装置 |
CN107635115A (zh) * | 2017-10-09 | 2018-01-26 | 深圳市天视通电子科技有限公司 | 一种实现超低码率的方法、存储介质及电子设备 |
CN108600794A (zh) * | 2018-05-21 | 2018-09-28 | 深圳市梦网科技发展有限公司 | 一种丢帧率的校正方法、装置及终端 |
CN108668166A (zh) * | 2018-05-21 | 2018-10-16 | 深圳市梦网科技发展有限公司 | 一种编码方法、装置及终端设备 |
CN108737818A (zh) * | 2018-05-21 | 2018-11-02 | 深圳市梦网科技发展有限公司 | 一种拥塞网络下的丢帧方法、装置及终端设备 |
CN110248257A (zh) * | 2018-03-07 | 2019-09-17 | 华为技术有限公司 | 数据传输方法、装置、网络接入设备和存储介质 |
CN111066329A (zh) * | 2017-09-08 | 2020-04-24 | 连株式会社 | 控制视频质量 |
US10977498B2 (en) | 2016-10-18 | 2021-04-13 | Zhejiang Dahua Technology Co., Ltd. | Methods and systems for video processing |
CN113301332A (zh) * | 2021-04-12 | 2021-08-24 | 阿里巴巴新加坡控股有限公司 | 视频解码方法、系统和介质 |
CN113891155A (zh) * | 2021-09-29 | 2022-01-04 | 百果园技术(新加坡)有限公司 | 视频播放档位确定方法、视频播放方法及相关装置 |
CN115190080A (zh) * | 2021-04-02 | 2022-10-14 | 维沃移动通信有限公司 | 拥塞控制方法、装置及通信设备 |
CN115396733A (zh) * | 2022-09-02 | 2022-11-25 | 上海洛塔信息技术有限公司 | 视频帧传输方法、装置、设备、存储介质及产品 |
US11553221B2 (en) | 2017-06-27 | 2023-01-10 | Huawei Technologies Co., Ltd. | Video transmission method and system and device |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6456951B1 (en) * | 1999-01-06 | 2002-09-24 | Hitachi, Ltd. | Method and apparatus for processing inspection data |
CN101047845A (zh) * | 2006-03-29 | 2007-10-03 | 腾讯科技(深圳)有限公司 | 一种调节视频通讯数据码率的装置和方法 |
CN101119483B (zh) * | 2006-07-31 | 2011-11-02 | 联想(北京)有限公司 | 一种基于源质量的视频流传输速率调整方法 |
-
2008
- 2008-08-21 CN CN 200810118766 patent/CN101656888B/zh not_active Expired - Fee Related
Cited By (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102170554B (zh) * | 2010-02-25 | 2016-04-27 | 无锡中感微电子股份有限公司 | 基于电力网的网络摄像装置及网络摄像方法 |
CN102170554A (zh) * | 2010-02-25 | 2011-08-31 | 无锡中星微电子有限公司 | 基于电力网的网络摄像装置及网络摄像方法 |
CN102209237A (zh) * | 2011-05-26 | 2011-10-05 | 杭州华三通信技术有限公司 | 降低点播实况媒体流时i帧重叠的方法及视频管理服务器 |
CN102209237B (zh) * | 2011-05-26 | 2013-05-29 | 浙江宇视科技有限公司 | 降低点播实况媒体流时i帧重叠的方法及视频管理服务器 |
CN102802089A (zh) * | 2012-09-13 | 2012-11-28 | 浙江大学 | 一种基于体验质量预测的移动视频码率调整方法 |
CN102802089B (zh) * | 2012-09-13 | 2014-12-31 | 浙江大学 | 一种基于体验质量预测的移动视频码率调整方法 |
CN104823448B (zh) * | 2012-10-16 | 2018-07-31 | 微软技术许可有限责任公司 | 用于视频编码中的颜色自适应的装置和介质 |
CN104823448A (zh) * | 2012-10-16 | 2015-08-05 | 微软技术许可有限责任公司 | 视频编码中的颜色自适应 |
CN103780917A (zh) * | 2012-10-19 | 2014-05-07 | 上海贝尔股份有限公司 | 用于智能地适配视频分组的方法和网络单元 |
CN103780917B (zh) * | 2012-10-19 | 2018-04-13 | 上海诺基亚贝尔股份有限公司 | 用于智能地适配视频分组的方法和网络单元 |
CN103338375A (zh) * | 2013-06-27 | 2013-10-02 | 公安部第一研究所 | 一种宽带集群系统中基于视频数据重要性的动态码率分配方法 |
CN103945281B (zh) * | 2014-04-29 | 2018-04-17 | 中国联合网络通信集团有限公司 | 视频传输处理方法、装置和系统 |
CN103945281A (zh) * | 2014-04-29 | 2014-07-23 | 中国联合网络通信集团有限公司 | 视频传输处理方法、装置和系统 |
CN104320669A (zh) * | 2014-10-24 | 2015-01-28 | 北京有恒斯康通信技术有限公司 | 视频传输方法及装置 |
CN105992023A (zh) * | 2015-02-11 | 2016-10-05 | 杭州海康威视数字技术股份有限公司 | 视频图像数据的处理方法及装置 |
CN105992023B (zh) * | 2015-02-11 | 2019-06-04 | 杭州海康威视数字技术股份有限公司 | 视频图像数据的处理方法及装置 |
CN105357592B (zh) * | 2015-10-26 | 2018-02-27 | 山东大学苏州研究院 | 一种流媒体自适应传输选择性丢帧方法 |
CN105357592A (zh) * | 2015-10-26 | 2016-02-24 | 山东大学苏州研究院 | 一种流媒体自适应传输选择性丢帧方法 |
CN106209500A (zh) * | 2016-06-28 | 2016-12-07 | 北京小米移动软件有限公司 | 用于检测网络带宽的方法和装置 |
US11527068B2 (en) | 2016-10-18 | 2022-12-13 | Zhejiang Dahua Technology Co., Ltd. | Methods and systems for video processing |
US10977498B2 (en) | 2016-10-18 | 2021-04-13 | Zhejiang Dahua Technology Co., Ltd. | Methods and systems for video processing |
CN106454432A (zh) * | 2016-10-18 | 2017-02-22 | 浙江大华技术股份有限公司 | 一种视频帧处理方法和装置 |
CN106454432B (zh) * | 2016-10-18 | 2019-09-17 | 浙江大华技术股份有限公司 | 一种视频帧处理方法和装置 |
US11553221B2 (en) | 2017-06-27 | 2023-01-10 | Huawei Technologies Co., Ltd. | Video transmission method and system and device |
CN111066329A (zh) * | 2017-09-08 | 2020-04-24 | 连株式会社 | 控制视频质量 |
CN107635115A (zh) * | 2017-10-09 | 2018-01-26 | 深圳市天视通电子科技有限公司 | 一种实现超低码率的方法、存储介质及电子设备 |
CN110248257A (zh) * | 2018-03-07 | 2019-09-17 | 华为技术有限公司 | 数据传输方法、装置、网络接入设备和存储介质 |
CN108737818B (zh) * | 2018-05-21 | 2020-09-15 | 深圳市梦网科技发展有限公司 | 一种拥塞网络下的丢帧方法、装置及终端设备 |
CN108737818A (zh) * | 2018-05-21 | 2018-11-02 | 深圳市梦网科技发展有限公司 | 一种拥塞网络下的丢帧方法、装置及终端设备 |
CN108668166B (zh) * | 2018-05-21 | 2021-05-14 | 深圳市梦网科技发展有限公司 | 一种编码方法、装置及终端设备 |
CN108668166A (zh) * | 2018-05-21 | 2018-10-16 | 深圳市梦网科技发展有限公司 | 一种编码方法、装置及终端设备 |
CN108600794A (zh) * | 2018-05-21 | 2018-09-28 | 深圳市梦网科技发展有限公司 | 一种丢帧率的校正方法、装置及终端 |
CN115190080A (zh) * | 2021-04-02 | 2022-10-14 | 维沃移动通信有限公司 | 拥塞控制方法、装置及通信设备 |
CN113301332A (zh) * | 2021-04-12 | 2021-08-24 | 阿里巴巴新加坡控股有限公司 | 视频解码方法、系统和介质 |
CN113891155A (zh) * | 2021-09-29 | 2022-01-04 | 百果园技术(新加坡)有限公司 | 视频播放档位确定方法、视频播放方法及相关装置 |
CN113891155B (zh) * | 2021-09-29 | 2024-04-05 | 百果园技术(新加坡)有限公司 | 视频播放档位确定方法、视频播放方法及相关装置 |
CN115396733A (zh) * | 2022-09-02 | 2022-11-25 | 上海洛塔信息技术有限公司 | 视频帧传输方法、装置、设备、存储介质及产品 |
Also Published As
Publication number | Publication date |
---|---|
CN101656888B (zh) | 2013-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101656888B (zh) | 一种视频传输方法及装置、系统 | |
CN101305612B (zh) | 用于对等订户小区的多源和弹性按需点播视频流媒体系统 | |
CN102130886B (zh) | 网络视频流媒体系统及传输处理方法、发送端 | |
CN105307010B (zh) | 一种云视频直播平台的视频上传系统及方法 | |
CN101262443B (zh) | 一种手机流媒体自适应实时传输方法 | |
CN105393583B (zh) | 具有媒体突发传送能力的媒体分发网络 | |
CN103795996B (zh) | 3d视频传递方法和设备 | |
CN100512446C (zh) | 一种基于自适应时域亚采样的多描述视频编解码方法 | |
CN101466034A (zh) | 发送、播放流媒体数据的方法和装置及流媒体点播系统 | |
CN107205160A (zh) | 一种针对服务器下发的视频的播放方法及装置 | |
CN109618565A (zh) | 流式视频用户体验质量的自动测量方法和系统 | |
CN102740108A (zh) | 一种视频数据质量评估方法和装置 | |
US20170142029A1 (en) | Method for data rate adaption in online media services, electronic device, and non-transitory computer-readable storage medium | |
CN108093197A (zh) | 用于信息分享的方法、系统及机器可读介质 | |
CN101835029A (zh) | 流媒体播放控制方法、系统及客户端 | |
CN102333089A (zh) | 基于超文本传输协议流化的多码率媒体流自适应控制方法 | |
CN103139559A (zh) | 多媒体信号传输方法和装置 | |
CN106134130A (zh) | 用于实时视频流量的动态有效速率估计的系统和方法 | |
CN104967884A (zh) | 一种码流切换方法和装置 | |
CN101300781A (zh) | 控制运动图像数据在网络上的传输的系统和方法 | |
CN104394426A (zh) | 流媒体倍速播放方法和装置 | |
CN107295364B (zh) | 用于弹幕视频的实时流传输控制方法、控制装置 | |
CN105323604A (zh) | 一种QoE驱动的HTTP流媒体点播缓冲区控制方法 | |
CN107509120A (zh) | 一种基于缓冲区下溢概率估计的流媒体自适应传输方法 | |
CN103338412A (zh) | 结合无线自适应调制与编码的自适应视频编码系统 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130116 Termination date: 20180821 |