一种切换视频的方法及装置的制作方法

文档序号:7658306阅读:98来源:国知局
专利名称:一种切换视频的方法及装置的制作方法
技术领域
本发明涉及网络及通信领域,特别是涉及一种切换视频的方法及装置。
背景技术
一、视频编码相关背景技术。
目前纟见频编码的压缩算法依赖于两种基本方法
1、 以像块为基础的运动补偿,用于减少时间冗余;
2、 以变换(离散余选变幻,DCT)为基础的压缩,用于减少空间冗余。 根据编码方法不同得到的帧类型也不同,视频编码常用的帧类型有3种
I帧、P帧和B帧。
I帧,釆用帧内编码方式,只利用单帧图像内的空间相关性,没有利用时 间相关性。I帧一般对源图像进行变换,去除掉人眼不敏感的高频分量,然后 对人眼比较敏感的低频分量进行编码,得到的帧为I帧。I帧又称为帧内编码 帧,它不依赖于其它帧就可以进行独立解码,还原图像。I帧在编码中非常重 要, 一组视频编码图像序列都是以I帧为起始帧的,作为后面的P帧或者B帧 的起始帧。
P帧和B帧图像采用帧间编码方式,即同时利用了空间和时间上的相关性。 P帧,又称为预测帧,是基于前一帧图像,去除掉两帧图像之间的冗余信息得 到的。由于一般的视频图像都是连续的,相邻图像之间有很大的相似性,因此 通过帧间编码可以去除大量的冗余信息,达到4艮高的编码效率。P帧生成一般 采用帧间预测和运动补偿的方法,由于预测误差和运动补偿都有一定误差,因 此连续多个P帧之后, 一般需要编一个I帧来对图像重新同步。
B帧,又称为双向预测帧,B帧和P帧不同之处在于B帧是由前一帧图像和后一帧图像预测得到的,对前后图像都有依赖关系。编码时先完成前后两帧
图像的编码再编码B帧,编码端按照编码顺序发送编码码流;解码端只有前后 两帧图像都得到的情况下,才可以对B帧进行解码,完成解码后再按照正常时 序进行视频显示。
其他视频帧,包括D帧等,这些视频帧在视频编码中不常用,此处不做详述。
由于I帧只去除了图像空间上的冗余信息,因此I帧的编码效率一般比较 低,P帧次之,B帧最高。 一般I帧P帧B帧的大小比为8: 3: 2,编码中 大量使用P帧。编码一个正常的视频编码流的示意图,参见图1所示。
二、多媒体会议相关背景技术。
在3GPP中定义了多媒体会议(multimedia conference )的需求,多媒体会 议支持参会方在会议中同时使用音频和视频。
在IMS架构下,多々某体会议的架构示意图,参见图2所示。多媒体会议的 信令部分的处理由IMS (IP Multimedia Subsystem IP多々某体子系统)中的 CSCF (Call Session Control Function 呼叫会话控制功能实体)和AS
(Application Server 应用服务器)完成,使用的协议是SIP ( Session Initiation Protocol 会话发起协议),多々某体会议的々某体部分的处理由MRF (Multimedia Resource Function 多媒体资源功能实体)完成,使用的数据传输协议是RTP
(Real-timeTransportProtocol 实时传输协议)。
基于多4某体会议的架构,在多媒体会议业务中,各参会方的音频和视频在 本地完成音一见频采集并编码之后通过RTP协议传输到MRF, MRF一艮据预先定 制的策略或者用户和服务之间的协商结果对音视频混合处理,然后将处理之后 的音视频信号编码之后发送给各个参会方。通过RTP协议传输视频流的数据包 格式参见图3所示。具体的,对于音频,MRF根据混音策略对音频进行混音, 然后输出混音后的音频到各个参会方,当然各个参会方接收到来自MRF的音 频流不会包含自身的声音;对于视频,MRF根据制定的策略决定输出的视频流,比如根据说话人的音量来决定,输出音频音量最大的参会方的视频流到其 他参会方,输出前一音频音量最大的参会方的视频流到当前音量最大的参会 方。
三、 现有技术一、 一种多媒体会议中切换视频的方法,即多媒体会议业务 中,媒体资源服务器根据制定的策略检测到需要进行输出视频切换时,立即切
换输出视频流。具体内容如下所述
这种现有技术的方法通常制定策略为谁的音量大就输出谁的视频图像(即 当前谁在发言就输出谁的视频图像),当发言人发生变化的时候,媒体资源服 务器立即切换输出视频流。
例如在四方会议中,当参会方与媒体服务器间的音视频媒体流都是双向 的,如果设置媒体策略为输出当前说话声音最大的参会方的视频。那么四个参 会方均实时输出音视频流到MRF, MRF输出音量最大的参会方的视频流到其 他参会方,输出前一音量最大的参会方的视频流到当前音量最大的参会方。参 见图4所示,tx表示时间,Ix/Px/Bx表示Participantx贡献的视频帧。如果tl 前音量最大的参会方为Participants tl时刻音量最大的参会方切换为 Participantl, t2时刻音量最大的参会方切换到Participant2。用户il话音量发生 切换,MRF输出的视频流也立即随着切换,这样可以快速完成会议中的视频 切换。
发明人在发明过程中发现,这种方法在切换后的视频图像的质量不能保 证。以Participant3为例,t2时刻前接收到的是来自Participantl的视频流,t2 时刻后接收到的是来自Participant2的视频流,在发生切换时即t2时刻,接收 到来自Participant2的视频流中视频帧为P帧,则会以原Participantl视频流中 的视频帧为参考帧,那么此时获取到的视频图像将完全不可用,直至接收到 Participant2的视频流中的I帧。即基于这种方法进行视频切换时,如果在非I 帧处切换,则切换时刻的视频图像质量不能保证,直到收到下一个I帧。
四、 现有技术二、另一种多媒体会议中切换视频的方法,即多媒体会议业务中,媒体资源服务器根据制定的策略检测到需要进行输出视频切换,当接收 到切换目标输出视频流的视频帧为I帧时切换输出视频流。
这种现有技术的方法通常制定策略为谁的音量大就输出谁的视频图像(即 当前谁在发言就输出谁的视频图像),当发言人发生变化的时候,媒体资源服
务器待接收到切换目标输出^L频流的^L频帧为I帧时,切换输出^L频流。
例如在四方会议中,当参会方与媒体服务器间的音视频媒体流都是双向 的,如果设置媒体策略为输出当前说话声音最大的参会方的视频。那么四个参 会方均实时输出音一见频流到MRF, MRF输出音量最大的参会方的视频流到其 他参会方,输出前一音量最大的参会方的视频流到当前音量最大的参会方。参 见图5所示,tx表示时间,Ix/Px/Bx表示Participantx输出的视频帧。如果tl 前音量最大的参会方为Participants tl时刻音量最大的参会方切换为 Participantl, t2时刻音量最大的参会方切换到Participant2。用户说话音量发生 切换之后,MRF接收到切换目标输出视频流的I帧之后切换视频,这样可以保 证输出的视频图像的质量。
发明人在发明过程中发现,这种方法不能快速完成^L频切换。以 Participant3为例,t2时刻前接收到的是来自Participantl的视频流,t2时刻并 不立即进行一见频切换,由于在发生切换时即t2时刻,接收到来自Participant2 的视频流的一见频帧为P帧,直到接收到Participant2的一见频流中的I帧时才进行 视频切换。因此在t2时刻Participant3听到的是Participant2的声音,看到的却 是Participantl的^L频图像,直至接收到Participant2的碎见频流中的I帧 Participant3接收到的音频和视频才都来自Participant2。即基于这种方法进行视 频切换时,如果正好在非I帧处切换,则不能立即进行-现频切换,直到收到I 帧,因此切换时间无法保证,不能完成快速切换。
综上所述发明人在发明过程中发现,在需要进行视频切换时,现有技术不 能既满足快速切换视频,又保证视频切换后输出的视频图像的质量。

发明内容
本发明实施例提供一种切换视频的方法及装置,以实现在需要进行视频切 换时,既满足快速切换视频,又保证视频切换后输出的视频图像的质量。
本发明实施例的方法包括当发生视频切换时,根据之前緩存的切换目标 视频帧和当前接收到的切换目标视频流的帧类型,将待输出的视频帧序列调整 为首帧为I帧的视频帧序列;以及视频切换后,输出调整后的视频帧序列。
本发明实施例的媒体资源服务器,包括緩存单元,用于緩存各非输出视 频流的视频帧;帧序列调整单元,以收到视频切换信号为触发条件,用于根据 緩存单元緩存的切换目标视频帧和当前接收到的切换目标视频流的帧类型,将 待输出的视频帧序列调整为首帧为I帧的视频帧序列;输出单元,用于输出帧 序列调整单元调整后的视频帧序列。
本发明实施例中,由于在发生视频切换之前緩存了切换目标视频帧;当发 生视频切换时,可根据之前緩存的切换目标视频帧和当前接收到的切换目标视 频流的帧类型,将待输出的视频帧序列调整为首帧为I帧的视频帧序列;所以 视频切换后,可输出调整后的视频帧序列。可见,本发明实施例相对于现有技 术一,保证了视频切换后输出的视频帧序列的首帧为I帧。本发明实施例相对 于现有技术二,可完成快速切换。因此,本发明实施例既满足快速切换视频, 又保证视频切换后输出的视频图像的质量。


图1为现有的编码一个正常的视频编码流的示意图2为现有的在IMS架构下,多媒体会议的架构示意图3为现有的通过RTP协议传输视频流的数据包格式示意图4为现有技术的一的实例示意图5为现有技术的二的实例示意图6为本发明实施例的方法步骤流程图;图7为本发明实施例的媒体资源服务器结构示意图; 图8为本发明实施例一中,对非输出视频流的緩存流程图; 图9为本发明实施例一中,对切换目标-现频流的处理流程图; 图IO为本发明实施例二中,对非输出视频流的緩存流程图; 图ll为本发明实施例二中,对切换目标-现频流的处理流程图; 图12为本发明实施例三中,对非输出视频流的緩存流程图; 图13为本发明实施例三中,对切换目标^f见频流的处理流程图; 图14为本发明实施例四中,对非输出视频流的緩存流程图; 图15为本发明实施例四中,对切换目标-现频流的处理流程图。
具体实施例方式
为了在需要进行视频切换时,既满足快速切换视频,又保证视频切换后输 出的视频图像的质量,从视频编解码角度讲,解决视频切换时I帧基准图像问 题是关键所在。
由于本发明实施例主要描述的是视频切换过程中,媒体资源服务器对各参 会方的视频流的处理,因此描述是以媒体资源服务器为参考对象的。下述内容 中,输出视频流是根据指定策略媒体资源服务器输出的显示给其他参会方的视 频流,非输出视频流是不用于视频显示的视频流,切换目标输出视频流是切换 后媒体资源服务器输出的显示给其他参会方的视频。
参见图6所示,本发明实施例提供了一种切换视频的方法,可应用于(但 不限于)多々某体会议业务中,包括下列主要步骤
Sl、切换前,緩存^f见频帧。
其中,切换前对输出视频流,媒体资源服务器直接转发或者转码之后转发 给其他参会方。
切换前对各个非输出视频流,媒体资源服务器采用相同的緩存策略对各个 非输出视频流分别进行视频帧緩存,为视频切换緩存有效参考帧。具体的,本发明实施例提供了多种緩存策略(緩存策略权衡服务器能力和
视频切换瞬间还原视频的质量要求来制定),包括 方式l、直接緩存视频帧。方式l中进一步包括 方式11 、緩存距视频切换时刻最近I帧。 方式12、緩存距视频切换时刻最近I帧及其后所有的视频帧。 方式2、解码并緩存视频帧图像。方式2中进一步包括 方式21、解码所有视频帧,并緩存解码后的所有视频帧图像。 方式22、选择性解码视频帧,并緩存解码后得到的视频帧图像。方式22
中又进一步包括
方式221、解码所有I帧和P帧,并緩存距视频切换时刻最近解码得到的 两帧视频帧图像。
方式222、解码所有I帧和P帧,并緩存距视频切换时刻最近解码得到的 一帧视频帧图像。
方式223、解码所有I帧和间隔解码P帧,并緩存距^L频切换时刻最近解 码得到的两帧视频帧图像。该方式中,判定需解码的P帧包括下列步骤判定 当前接收到的视频帧的帧类型为P帧,则对P帧计数器加1后,将P帧计数器 的当前值与预设的P帧緩存间隔值比较,若小于,则判定该P帧不需解码;若 大于等于,则进一步检测出緩存有可供该P帧解码参考的视频帧时,则判定该 P帧需解码;其中,判定当前接收到的视频帧的帧类型为I帧,或每次判断出 需解码的P帧后,将P帧计数器置0。
方式224、解码所有I帧和间隔解码P帧,并緩存距^L频切换时刻最近解 码得到的一帧视频帧图像。该方式中,判定需解码的P帧包括下列步骤判定 当前接收到的视频帧的帧类型为P帧,则对P帧计数器加1后,将P帧计数器 的当前值与预设的P帧緩存间隔值比较,若小于,则判定该P帧不需解码;若 大于等于,则进一步检测出緩存有可供该P帧解码参考的视频帧时,则判定该 P帧需解码;其中,判定当前接收到的视频帧的帧类型为I帧,或每次判断出需解码的P帧后,将P帧计数器置0。
S2、当发生视频切换时,根据之前緩存的切换目标视频帧和当前接收到的
切换目标视频流的帧类型,将待输出的视频帧序列调整为首帧为I帧的视频帧 序列。
其中,切换时对原输出视频流和非输出视频流,媒体资源服务器对其视频 流进行緩存处理,处理方式同上描述的緩存处理。
切换时对切换目标输出的视频流,媒体资源服务器利用緩存视频帧对切换
目标输出的视频流进行处理,快速完成视频还原。对切换目标输出的^L频流的 处理由如下的因素决定a)切换到目标视频时刻接收到的目标视频流的视频帧 帧类型;b)非输出视频流的緩存策略;c)緩存的视频帧的帧类型。切换时目标 视频流的当前视频帧为I帧则不需额外的调整处理;否则需要根据之前緩存的 切换目标视频帧和当前接收到的切换目标视频流(所述视频流可包括当前一帧 视频帧,或最近的两帧视频帧,后续不再赘述)的帧类型,将待输出的视频帧 序列调整为首帧为I帧的^L频帧序列。
具体的,本发明实施例提供的将待输出的视频帧序列调整为首帧为I帧的 视频帧序列的方式包括
方式a、在当前视频帧之前插入I帧。方式a中进一步包括 方式al、在当前^L频帧之前插入緩存的切换目标一见频I帧。 方式a2、将緩存的切换目标视频帧图像编码为I帧,并在当前视频帧之前 插入该I帧。
方式a3、将緩存的切换目标视频帧解码为视频帧图像,再编码为I帧,并 在当前视频帧之前插入该I帧。
在方式a之下,若切换目标视频流的当前^L频帧为B帧,则还需得出P帧, 并在当前视频帧之前插入该P帧。得出P帧的方式包括从緩存的切换目标视 频帧中直接得到P帧;或者,将緩存的切换目标视频帧图像编码为P帧;或者, 将緩存的切换目标视频帧解码为视频帧图像,再编码为P帧。方式b、将当前^见频帧转换为I帧。方式b中进一步包括
方式b 1 、根据緩存的切换目标视频帧或切换目标视频帧图像将当前视频帧 解码为视频帧图像后,再编码为I帧。
方式c、以I帧替换当前视频帧。方式c中进一步包括
方式cl、以緩存的切换目标视频I帧替换当前视频帧。
方式c2、将緩存的切换目标视频帧图像编码为I帧,并以该I帧替换当前 视频帧。
方式c3、将緩存的切换目标视频帧解码为视频帧图像,再编码为I帧,并 以该I帧替#灸当前一见频帧。
S3、视频切换后,输出调整后的视频帧序列。
其中切换后对原输出视频流和非输出视频流,媒体资源服务器继续对其视 频流进行緩存处理,处理方式同上描述的緩存处理。
对切换目标输出的视频流,媒体资源服务器直接转发或者转码之后转发给 其他参会方。
本发明实施例还提供了一种媒体资源服务器,参见图7所示,其包括緩 存单元、帧序列调整单元和输出单元。
緩存单元,用于緩存各非输出视频流的视频帧。进一步所述緩存单元中包 括下述子单元之一第一緩存子单元,用于直接緩存视频帧;第二緩存子单元, 用于解码并緩存视频帧图像。
帧序列调整单元,以收到视频切换信号为触发条件,用于根据緩存单元緩 存的切换目标视频帧和当前接收到的切换目标视频流的帧类型,将待输出的视 频帧序列调整为首帧为I帧的视频帧序列。进一步所述帧序列调整单元中包括 下述子单元之一第一帧序列调整子单元,用于在当前^L频帧之前插入I帧; 第二帧序列调整子单元,用于将当前视频帧转换为I帧;第三帧序列调整子单 元,用于以I帧4l换当前^L频帧。
输出单元,用于输出帧序列调整单元调整后的视频帧序列。本发明实施例提供的将待输出的视频帧序列调整为首帧为I帧的视频帧序 列的方式与本发明实施例提供的緩存策略之间可任意组合。以下仅通过4个实 施例主要描述切换前对非输出视频流的处理和切换时对切换目标视频流的处 理。其它可组合出的实施例都应在本发明保护范围之内。
本发明实施例一緩存I帧实现多媒体会议中视频切换。
緩存I帧实现视频切换的思路是在切换前緩存非输出视频流的最近的I
帧;发生切换时,参考切换目标视频流緩存的I帧进行切换目标输出视频流的
视频还原。以下对视频切换前媒体资源服务器对视频流的处理和切换时媒体资
源服务器对视频流的处理,分别描述。
1 、视频切换前i(某体资源服务器对视频流的处理。 对于输出视频流,媒体资源服务器直接转发或者转码后转发。 对于非输出视频流,读取视频流中各个视频帧的帧类型,緩存最近的I帧 (相对于切换时刻而言)。各个参会方的视频流处理相同。参见图8所示,緩
存流程包括下述内容
a) 读取数据包中的^L频帧帧类型;
b) 判断当前视频帧的帧类型,如果为I帧则直接緩存,如果非I帧则直接 丢弃不做处理;
c) 还有数据帧则转a)继续处理,否则结束处理。 2、切换时媒体资源服务器对视频流的处理。
对原输出视频流,媒体资源服务器进行緩存处理,处理方法同上描述的緩 存处理。
对切换目标输出视频流,媒体资源服务器对切换时接收到的目标视频流进 行处理,确保切换后从媒体资源服务器输出的切换目标视频流的首帧为I帧, 后续从i某体资源服务器输出的切换目标视频流不做特殊处理,直接转发或者转 码之后转发给其他参会方。其中,如果切换目标视频流的当前视频帧为I帧, 则不需额外的调整处理;否则需要根据緩存视频帧和当前视频帧类型,将待输出的视频帧序列调整为首帧为I帧的视频帧序列,具体进行-见频帧序列调整可 以以I帧替换当前视频帧,可以在当前视频帧之前插入I帧,也可以解码緩存 视频帧和当前视频帧并编码当前视频帧为I帧,本实施例优选替换B帧,在P
帧前前插I帧的方案。如果在调整过程中(如在生成切换目标输出视频流的
首帧(I帧)之前)服务器接收到新的I帧,则终止当前的视频还原处理,并 根据最新的I帧直接进行发送处理。
参见图9所示,切换时,媒体资源服务器对接收到的切换目标视频流的处 理流程,包括下述内容
a) 读取切换时切换目标视频流的当前一见频帧的帧类型;
b) 如果当前视频帧为I帧,则不处理緩存区的视频帧,直接转发或者转 码之后转发当前的;f见频帧;
c) 如果当前S见频帧为P帧,则在当前视频帧前插入緩存区内的I帧,然 后直接发送或者转码之后发送;
d) 如果当前视频帧既不是I帧也不是P帧(如B帧),由于仅緩存了 I帧, 当前B帧不能完成解码,则以緩存区的视频帧替换当前视频帧直接发送或者转 码之后发送。
上述緩存I帧的方法,在发生视频切换时,参考緩存的I帧完成视频切换。 这种方法比较简单,緩存时媒体资源服务器只需要读视频流中的帧头,识别并 緩存I帧,切换时媒体资源服务器只需要及时发送切换目标输出视频流中的I 帧即可。
本发明实施例二解码后緩存最近视频帧图像,实现多媒体会议中视频切换。
解码后緩存最近视频帧图像的方法实现视频切换的思路是切换前,对非 输出视频流持续解码并緩存最近的有效视频帧图像;发生切换时,参考切换目 标视频流的緩存视频帧图像,并进行切换目标方的视频还原处理。对于解码后 緩存最近视频帧图像存在两个含义解码时可以解码所有视频帧也可以选择性解码视频帧,緩存时可以緩存一帧视频帧图像也可以緩存两帧视频帧图像。本 实施例选择解码所有的I帧和P帧之后,緩存两帧视频帧图像的方案。以下对 视频切换前媒体资源服务器对视频流的处理和切换时i某体资源服务器对视频 流的处理,分别描述。
1、 视频切换前J 某体资源服务器对视频流的处理。 对于输出视频流,々某体资源服务器直接转发或者转码后转发。 对非输出视频流,媒体资源服务器在接收到参会方的视频流之后,解码I
帧和P帧,并緩存最近解码后得到的两帧视频帧图像。各个参会方的视频流处
理相同。参见图10所示,解码緩存流程包括下述内容
a) 顺序读取接收到的视频帧;
b) 当前视频帧为I帧或者P帧,则解码视频帧,然后顺序緩存最近两帧 解码后的视频帧图像;当前视频帧为其他类型视频帧(如B帧)则直接丟弃;
c) 如果还有待处理视频帧,则转b)继续处理。
2、 切换时媒体资源服务器对视频流的处理。
对原输出视频流,^某体资源服务器进行解码缓存处理,处理方法同上描述 的解码緩存处理。
对切换目标输出视频流,媒体资源服务器读取切换时接收到的首帧和次帧 帧类型,并根据緩存的最近两帧视频帧图像,对切换时刻目标视频流的视频帧 进行处理,确保切换后从服务器输出的切换目标视频流的首帧为I帧,后续从 媒体资源服务器输出的切换目标视频流不做特殊处理,直接转发或者转码之后 转发给其他参会方。其中,如果目标视频流的首帧为I帧,则不需额外的调整 处理;否则需要根据缓存视频帧和当前视频帧类型,将待输出的视频帧序列调 整为首帧为I帧的视频帧序列,具体实施时可以编码緩存视频帧图像并插入到 当前视频帧之前,可以根据緩存视频帧图像解码当前视频帧后编码当前视频帧 图像为I帧并替换当前视频帧,也可以编码緩存视频帧图像为I帧替换当前视 频帧。如果在调整过程中(如在生成切换目标输出视频流的首帧(I帧)之前)服务器接收到新的I帧,则终止当前的视频还原处理,根据最新的I帧直 接进行发送处理。参见图11所示,切换时,媒体资源服务器对接收到的切换
目标视频流的处理流程,包括下述内容
a) 读耳又首帧帧类型并读取次帧帧类型;
b) 首帧为I帧,则直接转发或者转码之后转发;
c) 首帧为P帧,如何处理还需要参考次帧的帧类型,如果次帧为B帧, 首帧P帧应该是次帧B帧的后向参考帧,最近緩存的视频帧图像应该是次帧B 帧的前向参考帧图像,为了正确解码次帧B帧,发送的3见频流中应该包括最近 緩存视频帧图像对应的视频帧和首帧P帧,因此编码最近緩存的视频帧图像为 I帧并插入到当前^L频帧P帧之前,然后进行发送;如果次帧为其他类型的牙见 频帧(如D帧),则以最近緩存的视频帧图像为参考帧图像,并依据该参考帧 图像对当前视频帧P帧解码,然后将解码后得到的图像重新编码成I帧进行发 送;
d) 首帧为B帧,最近緩存视频帧图像为首帧B帧的后向参考帧图像,次 近緩存视频帧图像为首帧B帧的前向参考帧图像;次帧为B帧,其前后参考 帧图像同首帧为B帧的情况;次帧为P帧,其参考帧图4象为最近緩存视频帧图 像。因此次帧的帧类型不同,不会影响切换时的处理。
即首帧为B帧时,编码次近緩存视频帧图像为I帧,编码最近緩存视频帧 图像为P帧,然后插入这两帧到首帧B帧之前进行发送;
e) 首帧为其他类型视频帧,则编码最近緩存视频帧图像为I帧插入到当前 视频帧之前进行发送。
解码后緩存最近视频帧图像的方法,在输出视频发生切换时,参考緩存的 最近视频帧图像,读取切换时接收到的首帧和次帧类型,对切换时接收到的首 帧进行处理,准确完成视频切换。这种方法能够准确完成视频切换,緩存的视 频帧图像就是切换时接收到的视频帧的实际参考帧图像,不存在参考帧数据精 度的丢失,因此不会出现图像失真的情况;切换后的任何类型的视频帧都能够正确解码,不会因为缺少必要的参考帧导致B帧不可用,因此不会发生图像跳 变的情况。
本发明实施例三另一解码后缓存最近视频帧实现多媒体会议中视频切换 的方案。
针对实施例二,为了降低媒体资源服务器性能的负荷,本实施例选择解码 所有的I帧和部分P帧之后,緩存一帧视频帧图像的方案;即解码并緩存I帧 图像,间隔解码并緩存P帧图像,尽媒体资源服务器最大能力緩存高精度的参 考帧图像。緩存策略的设置需要权衡媒体资源服务器能力和视频切换瞬间的视 频质量要求来制定。以下对视频切换前媒体资源服务器对视频流的处理和切换 时媒体资源服务器对视频流的处理,分别描述。
1、 视频切换前媒体资源服务器对视频流的处理。 对于输出视频流,媒体资源服务器直接转发或者转码后转发。 对非输出视频流的处理,解码I帧和间隔解码P帧,并緩存最近解码之后
的一帧视频帧图像。参见图12所示,包括下列内容
a) 根据需求设置P帧緩存间隔,置P帧计数器为0;
b) 读取当前一见频帧的帧类型;
c) 判断当前视频帧的帧类型,如果为I帧则置P帧计数器为0,然后直接 解码并緩存该I帧图像;
如果为P帧则P帧计数器加一,比较P帧计数器和预设的P帧緩存间隔。 如果P帧计数器小于预设的P帧緩存间隔,则直接丟弃当前帧;如果P帧计数 器大于等于预设的P帧緩存间隔,则进一步检测緩存区中是否有可用的视频帧 图像,若有,则以最近緩存区中的视频帧图像为参考帧图像,解码并緩存该P 帧图像,并将P帧计数器置O,否则直接丢弃当前帧。
如果非I帧也非P帧,则直接丢弃,不做处理。
d) 还有数据帧则转b)继续处理,否则结束处理。
2、 切换时媒体资源服务器对视频流的处理。对原输出视频流,媒体资源服务器按照间隔緩存P帧的方法进行解码緩存
处理,处理方法同上;
对切换目标输出视频流的处理,参见图13所示,本实施例选择的方案包 括下列内容
a) 读取切换时目标视频流首帧帧类型和次帧帧类型;
b) 如果首帧为I帧,则直接进行发送处理;
c) 如果首帧为P帧,次帧为B帧,则编码最近緩存的视频帧图像为I帧 并插入到当前视频帧P帧之前,然后进行发送;次帧非B帧,则以最近緩存的 视频帧图像为参考帧图像,并依据该参考帧图像对当前视频帧P帧解码,然后 将解码后得到的图像重新编码成I帧进行发送。d) 如果首帧是B帧或者其他类型视频帧,则编码最近緩存视频帧图像为 I帧插入到当前S见频帧之前进行发送。
本实施例中,当P帧间隔设置大于O时,只需解码视频流中的I帧和部分 P帧,尽媒体资源服务器最大能力緩存高精度的参考帧图像,降低了媒体资源 服务器性能的负荷。
本发明实施例四緩存最近I帧及其后所有视频帧实现多媒体会议中视 频切换。
切换前,緩存非输出视频流中最近的I帧和I帧之后的所有视频帧的原始码流; 发生切换时,接收到切换目标输出视频流的当前视频帧为非I帧,则需要为切 换目标输出视频流的视频还原提供合适的参考帧,参考帧的获取可能直接从緩 存的原始码流中选取,也可能解码緩存原始码流之后再获取。以下对视频切换 前媒体资源服务器对视频流的处理和切换时媒体资源服务器对视频流的处理,
分别描述。
1 、视频切换前媒体资源服务器对视频流的处理。 对于输出视频流,媒体资源服务器直接转发或者转码后转发。对非输出视频流,媒体资源服务器在接收到参会方的视频流之后,读视频 帧的帧头数据判断视频帧的帧类型,緩存最近的I帧和从该I帧开始的所有视
频帧原始码流。参见图14所示,包括下列内容 a)分配緩存空间;
b )读取切换时切换目标3见频流的当前3见频帧的帧类型;
c) 如果当前视频帧为I帧,则清空緩存区之后緩存该I帧,如果非I帧, 则顺序緩存;
d) 还有数据帧则转b)继续处理,否则结束处理。 2、切换时媒体资源服务器对视频流的处理。
对原输出视频流,媒体资源服务器按照緩存最近I帧及其后所有视频帧的 方式处理,处理方法同上;
对切换目标输出视频流,媒体资源服务器根据緩存的原始码流和切换目标 视频流当前视频帧的帧类型和次帧帧类型,为还原接收到的切换目标输出视频 流的视频帧提供合适的参考帧,确保切换后从服务器输出的切换目标视频流的 首帧为I帧。其中,如果目标视频流的当前视频帧为I帧,则不需额外的调整 处理;否则需要根据緩存视频帧和当前视频帧类型,将待输出的视频帧序列调 整为首帧为I帧的视频帧序列,具体实施时可以直接在当前视频帧前插入緩存 的I帧和/或P帧,或以緩存的I帧替换当前视频帧;可以解码緩存视频帧之后 编码视频帧(I帧和/或P帧)插入到当前#见频帧之前或替换当前#见频帧,也可 以根据緩存视频帧解码当前视频帧后编码当前视频帧替换当前视频帧。如果在 调整过程中(如在生成切换目标输出视频流的首帧(I帧)之前)服务器接 收到新的I帧则,终止当前的视频还原处理,根据最新的I帧直接进行发送处 理。
参见图15所示,本实施例选择的方案包括下列内容
a) 读取首帧帧类型并读取次帧帧类型;
b) 首帧为I帧,则直接转发或者转码之后转发;C)首帧为P帧,如果次帧为B帧,緩存的最近^f见频帧为I帧,则将緩存I 帧插入到当前视频帧前进行发送,緩存的最近视频帧非I帧,则根据緩存区中 緩存的I帧依次解码緩存区中所有的视频帧,得到最近緩存的视频帧图像,之
后将该最近緩存的^L频帧图像编码为I帧,并插入到当前^L频帧前进行发送; 如果次帧非B帧,则根据緩存区中緩存的I帧依次解码缓存区中所有的视频帧 和当前视频帧,得到当前视频帧图像,然后编码当前视频帧图像为I帧进行发 送;
d) 首帧为B帧,如果緩存最近和次近视频帧分别为P帧和I帧,则将緩 存的I帧和P帧顺序插入到当前视频帧前进行发送;否则根据緩存区中緩存的 I帧依次解码緩存区中所有的视频帧,得到最近緩存的视频帧图像和次近緩存 的视频帧图像,然后编码最近和次近视频帧图像分别为P帧和I帧,之后将该 I帧作为待输出视频帧序列的首帧,以及将该P帧作为待输出视频帧序列的次 帧插入到该B帧之前;
e) 首帧为其他类型视频帧,如果緩存的最近视频帧为I帧,则将緩存的I 帧插入到当前视频帧前进行发送,如果緩存的最近视频帧非I帧,则根据緩存 区中緩存的I帧依次解码緩存区中所有的视频帧,得到最近緩存的视频帧图像, 之后编码最近緩存緩存帧图像为I帧,并插入到当前视频帧前进行发送。
緩存最近I帧及其间所有视频帧的方法,在输出视频发生切换时根据需要 解码緩存码流为切换时接收的视频流提供合适的参考帧。由于緩存了最近的I 帧及其后的所有视频帧信息,在切换时可以从中找到精确的参考帧,因此切换 发生时图像质量不会有问题;对于非输出视频流,不需要实时解码,只需要在 切换时根据切换时接收到的视频帧帧类型按需对緩存的少量视频帧进行解码。
综上所述,本发明实施例的方法和装置中,由于在发生视频切换之前緩存 了切换目标视频帧;当发生视频切换时,可根据之前緩存的切换目标视频帧和 当前接收到的切换目标视频流的帧类型,将待输出的视频帧序列调整为首帧为 I帧的视频帧序列;所以视频切换后,可输出调整后的视频帧序列。可见,本发明实施例相对于现有技术一,保证了视频切换后输出的视频帧序列的首帧为 I帧。本发明实施例对待输出的视频帧序列进行调整的时间依赖于硬件设备(如 服务器),而现有技术二等待I帧到来的过程依赖于客观现实,所以本发明实 施例相对于现有技术二,可完成快速切换;而且本发明实施例还说明了在调整 过程中收到I帧时,则终止调整过程,并从接收到的I帧开始输出切换目标牙见 频流,更好的结合了客观现实。因此,本发明实施例既满足快速切换视频,又 保证视频切换后输出的视频图像的质量。
进一步本发明实施例二中,在输出视频发生切换时,参考緩存的最近视频 帧图像,读取切换时接收到的首帧和次帧类型,对切换时接收到的首帧进行处 理,准确完成视频切换。这种方法能够准确完成视频切换,緩存的视频帧图像 就是切换时接收到的视频帧的实际参考帧图像,不存在参考帧数据精度的丢
失,因此本发明实施例二不但可快速切换,而且不会出现图像失真的情况;切 换后的任何类型的视频帧都能够正确解码,不会因为缺少必要的参考帧导致B 帧不可用,因此不会发生图像跳变的情况。
进一步本发明实施例四中,由于緩存了最近的I帧及其后的所有视频帧信 息,在切换时可以从中找到精确的参考帧,因此切换发生时图像质量不会有问 题。
明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及 其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种切换视频的方法,其特征在于,包括下列步骤当发生视频切换时,根据之前缓存的切换目标视频帧和当前接收到的切换目标视频流的帧类型,将待输出的视频帧序列调整为首帧为I帧的视频帧序列;以及视频切换后,输出调整后的视频帧序列。
2、 如权利要求1所述的方法,其特征在于,发生视频切换之前,緩存各 非输出视频流的视频帧,并在确定切换目标视频流后,将緩存的切换目标视频 流的^L频帧作为切换目标;现频帧。
3、 如权利要求2所述的方法,其特征在于,采用下述方式之一緩存各非 输出视频流的一见频帧方式1、直接緩存^L频帧; 方式2、解码并緩存视频帧图像。
4、 如权利要求3所述的方法,其特征在于,所述方式l中包括 方式ll、緩存距^L频切换时刻最近I帧;方式12、緩存距视频切换时刻最近I帧及其后所有的视频帧。
5、 如权利要求3所述的方法,其特征在于,所述方式2中包括 方式21、解码所有视频帧,并緩存解码后的所有视频帧图像; 方式22、选择性解码视频帧,并緩存解码后得到的视频帧图像。
6、 如权利要求5所述的方法,其特征在于,所述方式22中包括 方式221、解码所有I帧和P帧,并緩存距视频切换时刻最近解码得到的两帧视频帧图像;方式222、解码所有I帧和P帧,并緩存距^L频切换时刻最近解码得到的 一帧^L频帧图H方式223、解码所有I帧和间隔解码P帧,并緩存距视频切换时刻最近解 码得到的两帧视频帧图像; 方式224、解码所有I帧和间隔解码P帧,并緩存距一见频切换时刻最近解 码得到的一帧视频帧图像。
7、 如权利要求6所述的方法,其特征在于,緩存方式223和方式224中, 判定需解码的P帧,包括下列步骤判定当前接收到的视频帧的帧类型为P帧,则对P帧计数器加1后,将P 帧计数器的当前值与预设的P帧緩存间隔值比较,若小于,则判定该P帧不需 解码;若大于等于,则进一步检测出緩存有可供该P帧解码参考的视频帧时, 则判定该P帧需解码;其中,判定当前接收到的视频帧的帧类型为I帧,或每次判断出需解码的 P帧后,将P帧计数器置0。
8、 如权利要求1至7任一项所述的方法,其特征在于,将待输出的视频 帧序列调整为首帧为I帧的视频帧序列的方式为下列之一方式a、在当前视频帧之前插入I帧; 方式b、将当前浮见频帧转换为I帧; 方式c、以I帧替换当前一见频帧。
9、 如权利要求8所述的方法,其特征在于,所述方式a中包括 方式al 、在当前视频帧之前插入緩存的切换目标视频I帧;方式a2、将緩存的切换目标视频帧图像编码为I帧,并在当前视频帧之前 插入该I帧;方式a3、将緩存的切换目标视频帧解码为视频帧图像,再编码为I帧,并 在当前视频帧之前插入该I帧。
10、 如权利要求8所述的方法,其特征在于,所述方式b中包括方式bl 、根据缓存的切换目标视频帧或切换目标视频帧图像将当前视频帧 解码为视频帧图像后,再编码为I帧。
11、 如权利要求8所述的方法,其特征在于,所述方式c中包括方式cl、以緩存的切换目标视频I帧替换当前视频帧; 方式c2、将緩存的切换目标视频帧图像编码为I帧,并以该I帧替换当前 视频帧;方式c3、将緩存的切换目标3见频帧解码为4见频帧图像,再编码为I帧,并 以该I帧替换当前一见频帧。
12、 如权利要求9所述的方法,其特征在于,切换目标;现频流的当前^见频 帧为B帧,则还得出P帧,并在当前视频帧之前插入该P帧。
13、 如权利要求12所述的方法,其特征在于,得出P帧的方式包括 从緩存的切换目标视频帧中直接得到P帧;或者, 将缓存的切换目标视频帧图像编码为P帧;或者, 将緩存的切换目标视频帧解码为视频帧图像,再编码为P帧。
14、 如权利要求4所述的方法,其特征在于,采用方式ll緩存,则根据 緩存的切换目标视频帧和当前接收到的切换目标视频流的帧类型,对待输出视 频帧序列的调整包括下列情况情况al-ll、判定当前接收到的切换目标视频流的首帧帧类型为P帧,则 在该P帧前插入緩存的I帧;情况cl-ll、判定当前接收到的切换目标视频流的首帧帧类型为B帧,则 以緩存的I帧替换当前接收到的切换目标视频流的首帧。
15、 如权利要求5所述的方法,其特征在于,采用方式22,则根据緩存的 切换目标视频帧和当前接收到的切换目标视频流的帧类型,对待输出视频帧序 列的调整包括下列情况情况a2-22、判定当前接收到的切换目标视频流的首帧帧类型为P帧且次 帧帧类型为B帧,则将緩存的距视频切换时刻最近的视频帧图像编码为I帧, 并插入该P帧之前;情况bl-22、判定当前接收到的切换目标视频流的首帧帧类型为P帧且次 帧帧类型为D帧,则以緩存的距视频切换时刻最近的视频帧图像为参考帧图像,并依据该参考帧图像对该P帧解码;之后将解码后得到的图像编码为I帧, 并替换该P帧;情况a2-Q12-22-l、判定当前接收到的切换目标视频流的首帧帧类型为B 帧,则将緩存的距视频切换时刻次近的视频帧图像编码为I帧,以及将緩存的 距视频切换时刻最近的视频帧图像编码为P帧;之后将该I帧作为待输出视频 帧序列的首帧,以及将该P帧作为待输出视频帧序列的次帧插入到该B帧之前;情况a2-Q12-22、判定当前接收到的切换目标视频流的首帧帧类型为B帧, 则将緩存的距视频切换时刻最近的视频帧图像编码为I帧;之后将该I帧作为 待输出视频帧序列的首帧插入到该B帧之前。
16、如权利要求4所述的方法,其特征在于,釆用方式12緩存,则根据 緩存的切换目标^L频帧和当前接收到的切换目标^L频流的帧类型,对待输出^L 频帧序列的调整包括下列情况情况al-12、判定当前接收到的切换目标视频流的首帧帧类型为P帧、次 帧帧类型为B帧并且緩存的距视频切换时刻最近的视频帧帧类型为I帧,则将 该I帧插入到该P帧之前;情况a3-12、判定当前接收到的切换目标视频流的首帧帧类型为P帧、次 帧帧类型为B帧并且緩存的距视频切换时刻最近的视频帧帧类型非I帧,则依 次解码緩存的I帧及其后緩存的所有视频帧,得到緩存的距视频切换时刻最近 的视频帧对应的视频帧图像;之后将该视频帧图像编码为I帧,并插入到该P 帧之前;情况bl-12、判定当前接收到的切换目标;f见频流的首帧帧类型为P帧且次 帧帧类型非B帧,则依次解码緩存的I帧及其后緩存的所有视频帧和该P帧, 得到该P帧对应的视频帧图像;之后将该视频帧图像编码为I帧,并替换该P 帧;情况al-Q12-12、判定当前接收到的切换目标-f见频流的首帧帧类型为B帧, 并且緩存的距视频切换时刻最近和次近的视频帧帧类型分别为P帧和I帧,则 该I帧作为待输出视频帧序列的首帧,以及将该P帧作为待输出视频帧序列的次帧插入到该B帧之前;情况a3-Q12-12、判定当前接收到的切换目标^L频流的首帧帧类型为B帧, 则依次解码緩存的I帧及其后緩存的所有视频帧,得到緩存的距视频切换时刻 最近和次近的视频帧对应的视频帧图像;之后将该最近视频帧图像编码为P帧, 并以该P帧作为待输出视频帧序列的次帧插入到该B帧之前,以及将该次近视 频帧图像编码为I帧,并以该I帧作为待输出视频帧序列的首帧插入到该B帧 之前。
17、 如权利要求1所述的方法,其特征在于,在对待输出视频帧序列进行 调整的过程中,收到切换目标视频流的帧类型为I帧时,则终止调整过程,并 从接收到的I帧开始输出切换目标视频流。
18、 一种媒体资源服务器,其特征在于,包括 緩存单元,用于緩存各非输出视频流的视频帧;帧序列调整单元,以收到视频切换信号为触发条件,用于根据緩存单元緩 存的切换目标视频帧和当前接收到的切换目标视频流的帧类型,将待输出的视 频帧序列调整为首帧为I帧的视频帧序列;输出单元,用于输出帧序列调整单元调整后的视频帧序列。
19、 如权利要求18所述的媒体资源服务器,其特征在于,所述緩存单元 中包括下述子单元之一第一緩存子单元,用于直接緩存视频帧; 第二緩存子单元,用于解码并緩存视频帧图像。
20、 如权利要求18所述的媒体资源服务器,其特征在于,所述帧序列调 整单元中包括下述子单元之一第一帧序列调整子单元,用于在当前视频帧之前插入I帧; 第二帧序列调整子单元,用于将当前视频帧转换为I帧; 第三帧序列调整子单元,用于以I帧替换当前视频帧。
全文摘要
本发明公开了一种切换视频的方法及装置,以实现在需要进行视频切换时,既满足快速切换视频,又保证视频切换后输出的视频图像的质量。方法包括当发生视频切换时,根据之前缓存的切换目标视频帧和当前接收到的切换目标视频流的帧类型,将待输出的视频帧序列调整为首帧为I帧的视频帧序列;以及视频切换后,输出调整后的视频帧序列。媒体资源服务器,包括缓存单元,用于缓存各非输出视频流的视频帧;帧序列调整单元,以收到视频切换信号为触发条件,用于根据缓存单元缓存的切换目标视频帧和当前接收到的切换目标视频流的帧类型,将待输出的视频帧序列调整为首帧为I帧的视频帧序列;输出单元,用于输出帧序列调整单元调整后的视频帧序列。
文档编号H04N7/26GK101370139SQ20071012968
公开日2009年2月18日 申请日期2007年8月17日 优先权日2007年8月17日
发明者冯江平, 唐廷芳, 军 张 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1