用于处理视频通信差错的方法和装置的制作方法

文档序号:7633611阅读:183来源:国知局
专利名称:用于处理视频通信差错的方法和装置的制作方法
背景技术
本发明总地涉及处理电信信号。存在若干个用于编码通过通信链路的音频和视频信号的标准。这些标准允许终端(手机、桌上型电脑、网关等等)与支持相同的标准集合的其他终端交互。不支持公共标准的终端仅在其间插入有额外设备(即代码转换网关)时才能进行交互。代码转换网关将编码后信号从一种标准转换为另一种。多媒体网关是这样的一种代码转换网关,它除了代码转换之外还可以执行其他功能,例如居中调节不同网络(移动、分组陆上线路等)上的终端之间的呼叫信令,以及在终端所使用的协议之间转换命令和控制信息。在一些应用中,终端之一可以是服务器应用(例如视频信件应答服务)。多媒体网关可以是物理上独立的单元,也可以是服务器系统内的模块。代码转换网关被简称为多媒体网关。
不同网络上的终端也可以使用相同的媒体编解码器(音频、视频)。但是,对在通过通信信道传送的帧中被编码比特的封装可能不同。例如,语音和视频比特流都是通过将它们的比特帧封装到实时协议(RTP)分组中来通过分组网络传送的。RTP分组包括包含诸如时间戳和序列号等信息的头部信息。由压缩比特流的群组构成的媒体(语音、视频、数据)比特形成了这种RTP分组的有效载荷。
另一方面,在采用H.324M/3G-324M标准的3G视频电话网络上,媒体比特块(media bit chunk)被复用到电路交换比特流中。
依赖于所使用的网络和底层通信协议,媒体比特块(有效载荷)可能具有不同的操纵大小和边界的规则,根据这些规则,这些比特群组被编解码器形成并准备好以RTP分组或被复用在电路交换信道上的形式被传送。
因此,多媒体网关不仅必须处理终端使用的不同编码标准之间的代码转换,还必须验证和调节比特群组的大小和边界,以便满足在那些网络上使用的协议的成帧要求。因此,虽然当终端使用相同的编解码器时,本质上可能不涉及代码转换,但是网关仍需要处理音频和视频比特流,以使它们在有效载荷大小和有效载荷边界方面兼容。
感兴趣的一种特定情形是具有移动视频电话终端(例如H.324M/3G-324M终端)的环境。移动终端使用无线电通信,由于干扰或发送/接收条件,比特流中常常会引入差错。用户很容易注意到音频和视频的毁损。过度的音频和视频毁损会显著恶化用户体验。
复习一些视频压缩原理是有帮助的。
视频数据由图像序列构成。每个单个的图像被称为一帧。
混合视频编解码器使用若干种方法来编码(压缩)帧中的信息。与本发明的有关的编码后帧类型有·I帧被编码为静态图像,并且可以独立于其他帧而被解码。
·P帧被编码为与前一个或前几个I或P帧之间的差别,以便利用帧中的相似性。
·B帧被编码为与前几个或后几个I或P帧之间的差别,以便利用帧中的相似性。
预测视频编码(被编码为P和B帧的帧)是现代视频压缩中的一种关键技术,其允许编码器通过使用来自前几帧的信息对视频帧进行压缩来去除视频序列中的时间冗余。
要被编码的帧首先被分裂为宏块。宏块包含源帧的方形区域的亮度和色度分量。在H.261、H.263和MPEG视频压缩标准中,源视频帧被分解为包含16×16亮度图片元素(像素)和相关联的色度像素(对于4:2:0格式的源视频来说是8×8像素)的宏块。
然后,宏块被进一步划分为块。亮度和色度像素被存储在独立的块中。块的数量和大小依赖于编解码器。遵从H.261、H.263和MPEG-4的视频编解码器将每个宏块划分为6个8×8像素块,4个用于亮度,两个用于色度。
通过首先使用变换来去除空间冗余然后量化变换系数来对每个块编码。这个阶段将被称为“变换编码”。使用行程(run length)和可变长度编码来对非零的量化后变换系数进一步编码。这第二个阶段将被称为VLC编码。逆向处理将被分别称为VLC解码和变换解码。H.261、H.263和MPEG4视频压缩标准使用离散余弦变换(DCT)来去除块中的空间冗余。
可以3种方法来对宏块编码·“帧内编码”的宏块具有直接从被编码的源帧拷贝的像素值。
·“帧间编码”的宏块利用源帧序列中的时间冗余。帧间宏块具有从当前源帧的像素值和参考帧的像素值之间的差别形成的像素值。参考帧是先前被解码的帧。在计算差别时使用的参考帧的区域是由指定当前帧中的宏块和它在参考帧中的最佳匹配之间的位移的一个或多个运动向量来控制的。
·“未编码”宏块是相比于前一帧没有显著改变的宏块,对于这些宏块不传送运动或系数数据。
给定帧中包含的宏块类型依赖于帧类型。对于本算法所感兴趣的帧类型来说,允许的宏块类型如下·I帧可仅包含帧内编码宏块。
·P帧可包含帧内、帧间和“未编码”宏块。
在一些视频编解码器中,宏块可被组合成被称为“块群组”或GOB的单元。
诸如H.261、H.263和MPEG-4视频等视频编码标准描述了压缩视频比特流的语法和语义。发送和接收设备之间的通信中的差错通常将导致接收器中的视频解码器在接收到的比特流中检测到语音差错。视频帧的比特流中的毁损不仅影响正被处理的当前图像,还会影响使用预测编码被编码的很多后续视频帧(例如P或B帧)。大多数视频通信协议使用包括基于所谓“视频快速更新”请求的差错恢复方案的命令和控制协议。该请求用信号通知发送视频的一方将下一视频帧编码为I帧(仅使用当前视频帧的内容进行编码)。视频快速更新技术将任何毁损限制在很短的(最好是不被用户觉察的)时间段内,从而允许视频质量很快恢复。
传统的多媒体网关设计规定网关将视频快速更新从发起终端中继到另一终端(手机或例如视频邮件应答服务这样的服务器应用)。图1示出了这一处理。发送终端101向多媒体网关102发送视频数据,多媒体网关102处理比特流并将其发送到接收终端103。当两个终端使用相同的编码标准时,现有技术比特流处理可以包括实际的代码转换或格式化。当接收终端103检测到视频比特流中的差错时,它向多媒体网关102发送视频快速更新请求,多媒体网关102将该请求重传到发起终端101。这种方法在某些情形下(例如视频会议中)工作得很好,在这些情形下两个终端主动地编码/解码视频流,并且能够在它们检测到毁损或它们被请求时发送视频快速更新。
下面描述传统的比特流差错处理可能不能应付的情况。
诸如消息和流服务器等视频终端设备可能不能检测传入视频比特流中的差错(它们可能不解码比特流,而是简单地照已压缩的原样存储比特流)或对视频快速更新请求作出响应,因为它们可能正在发送已被编码(压缩)的比特流,因此不会主动地进行编码从而改变它们的编码模式以编码和发送I帧。例如,诸如视频应答服务(其仅将视频邮件消息以压缩格式保存在邮箱中,并在以后中继压缩视频比特流)这样的消息服务器既不能检测比特流差错,也不能对视频快速更新请求作出响应。在此情形下,多媒体网络处理差错情况是很重要的,否则用户将继续看到视频毁损,直到消息比特流中的下一I帧被发送。这会显著恶化用户体验,因为依赖于压缩比特流中I帧的频率,毁损将持续几秒(有可能是10秒)。在比特流中存储更多的I帧不能缓解这个问题,因为I帧比P帧占用更多的比特率带宽,因此视频的实际帧速率可能受到影响。
在将视频邮件消息存放于视频应答服务处的情形下,在移动终端发送视频比特流时,在无线接口上可能引入差错。如果多媒体网关仅中继比特流而不检查差错,并且视频应答服务记录比特流而不对其进行检查,则毁损的视频将被记录。
需要这样的方法,其允许多媒体网关处理在移动终端所接收或发送的视频比特流中引入差错的情况。

发明内容
根据本发明,提供了用于处理多媒体网关设备中的视频比特流差错的方法,其中网关设备检测传入视频比特流中的差错,而不依赖于最终的终端设备处的差错检测,并且发送信号到发起设备以便刷新比特流。当终端设备发出刷新视频比特流的信号时,网关在本地生成和发送合适的刷新帧。多媒体网关中的视频在任何连接协议上在任意混合视频编解码器对之间被处理,以使得多媒体网关能够高效地处理视频比特流差错。
当传入多媒体网关的视频比特流可能存在比特差错时,该装置包括用于检测毁损并用信号通知发送终端从毁损中恢复的模块。毁损可能在数据被首次接收和在媒体独立层被处理时被检测出来(例如在解复用期间的校验和差错或序列号不匹配),或者毁损可能被能够检测穿过多媒体网关的视频比特流中的差错的用于输入编解码器的解码模块检测出来。当在媒体独立级别检测到差错,并且传输协议支持重传时,发送终端可被请求重发数据。当重传请求不可用或不被希望时(由于重传过程将引入延迟,并且可能导致音频和视频流失去同步),并且当差错被检测为视频流语法差错时,网关发送视频快速更新请求到发送终端。
视频邮件服务器需要视频解码器来检查其接收的视频比特流。视频邮件服务器需要耦合到视频解码功能的命令和控制功能来发送视频快速更新来请求发送手机发送I帧。本发明介绍了检查视频比特流以查找差错的功能,还介绍了位于多媒体网关中的视频快速更新的发送器的通知,即使网关的两侧使用相同的视频编码标准。这具有若干优点,因为网关一般比服务器具有大得多的实时处理功率,而且网关是距离发送器最近的网络元件,因此用于处理差错的时间比差错到达和被视频邮件服务器处理的时间相比要短得多。此外,多媒体网关还可进行视频代码转换,因此差错处理可被包含在代码转换器中。
当被网关发送的视频在多媒体网关和接收器之间的信道中有可能引入比特差错时,该装置包括用于输入编解码器的解码模块和用于输出编解码器的编码模块。当多媒体网关接收视频快速更新请求时,编码模块能够将解码模块的输出转换为I帧,不论被解码的帧的帧编码类型如何。
本发明允许网关在本地处理“视频快速更新”请求,以获得最小的视频毁损和更好的用户体验。“视频快速更新”请求的本地处理要求多媒体网关中的视频处理能够响应于视频快速更新请求来发送I帧。该本地处理可以多种方式进行a)如果视频处理执行解码和重编码(级联代码转换器),则网关中的视频处理器的编码器能够很容易地执行视频快速更新请求。
b)一种用于实现视频快速更新请求的本地处理的可替换的视频处理方法是将这种处理嵌入智能视频代码转换模块中。这种代码转换器可以在宏块基础上操作宏块,或在帧基础上操作帧。在以下情况下,该视频代码转换模块能够处理代码转换i.两个终端(例如用户端点和消息或内容服务器)使用的编码标准相同。例如,代码转换器可解码输入比特流,但是当不存在差错时,它不变地再次使用输入比特流,仅在需要生成I帧以服务于视频快速更新请求时才引入重编码的成本。
ii.终端所使用的编码标准不同,但是相似性允许智能代码转换。例如,代码转换器可对每帧解码和重编码,但是在编码阶段再次使用诸如运动矢量和宏块编码类型等信息。这一情形的代码转换器可很容易地被扩展到响应于视频快速更新请求而将任意帧重编码为I帧。
视频网关的本地差错检测不仅简化了视频邮件服务器(其一般不适合于3G-324M所规定的实时比特流处理)的功能,而且最小化了视频毁损的持续时间,因为如果视频快速更新请求必须行进到视频邮件服务器并且返回的话,往返时间将会更长。在多媒体网关中在本地检测差错和生成视频快速更新显著减少了邮箱订户面对从视频邮件服务器获取的视频中的毁损的时间。它还使得不需要在视频邮件服务器中包含视频解码器。
结合附图,参考以下详细描述来更详细地描述本发明。


图1是示出了处理视频快速更新请求的传统现有技术多媒体网关连接的框图。
图2是根据本发明的多媒体网关中的差错检测处理的流程图,其中接收到的比特流数据可能包含差错。
图3是示出了根据本发明的从第一混合视频编解码器到第二混合视频编解码器的多媒体网关连接的框图,其中在网关接收到的视频数据中可能存在比特差错。
图4是示出了根据本发明的从第一混合视频编解码器到第二混合视频编解码器的多媒体网关连接的框图,其中网关可以接收来自接收器的视频快速更新请求。
具体实施例方式
参考具体实施例描述本发明。在用于H.324M/3g-324M(此后称为3G-324M)到H.323协议转换和多媒体代码转换的多媒体网关的特定情形下,H.323终端可以是使用H.323协议来与多媒体网关通信的视频邮件应答服务,或者可以是其他类型的服务器或最终用户终端。3G-324M和H.323协议在这里仅被用于说明目的。这里描述的方法是通用的,并且适用于实质上通过任何连接协议的实质上任何混合视频编解码器对之间的多媒体网关中的视频处理。本领域的技术人员将认识到,在不脱离本发明的精神和范围的情况下可使用其他步骤、配置和布置。
当3G-324M手机通过无线接口发送其视频时,比特差错可能被引入,导致信息有效载荷不可避免地出现毁损。本发明的装置检测到这些差错,并能够立即在不需要远端接收终端(即视频邮件服务器)介入的情况下,通过执行“视频快速更新”来请求发送终端帮助从差错状况恢复。该装置在带外(即通过ITU-T H.245消息)发送所述请求,或者通过可使用带外或带内反向信道的等同装置来发送所述请求。在3G-324M和H.323的上下文中,可使用固有的H.245消息,因为它是3G-324M和H.323的一部分,并且它为这些消息的传送提供了便利。
图2是用于代码转换网关的优选实施例中的差错检测处理的流程图,其中在网关处接收的比特流数据可能包含比特差错。从发送终端接收数据(步骤A),从接收到的数据提取媒体比特流(步骤B)。存在于数据中的媒体可包括多个视频和/或音频比特流。图中为了简明起见仅示出了单个视频比特流。如果在比特流提取期间检测到差错(步骤C),并且重传请求是可操作的,而且网关被配置为偏好重传请求胜于视频快速更新(步骤D),则网关请求该数据被重传(步骤J)。如果重传不被支持或不被偏好,则网关将请求视频快速更新(步骤H)。如果在比特流提取期间未检测到差错,则视频比特流被检测以查找差错(步骤E)。如果在比特流中找到了差错(步骤F),则网关将请求视频快速更新(步骤H),否则它将如常对比特流进行代码转换(步骤G)。
图3是用于代码转换网关系统10的特定实施例的框图,其中在网关14处接收的视频比特流可能包含比特差错。附图示出了来自3G-324M终端13的视频比特流在被发送到H.323终端15之前穿过网关14时的情形。
信道16上的传入视频比特流被传输层接口17解码。如果传输层处理在接收到的比特流中检测到差错,并且重传请求是可操作的,则传输层可发送重传请求到发送终端13。
接收到的视频比特流被传递到语法解码模块18。语法解码模块18负责检查比特流的语法正确性。它不必对视频比特流完全解码。
当语法解码模块18检测到比特流差错时,差错被以信号的形式通知给控制模块20。控制模块将生成视频快速更新请求,其使用合适的控制协议被发送回3G-324M终端。当模块18在时间窗内快速连续检测到若干差错时,控制模块可选择仅发送一个视频快速更新请求。检测模块18可以是扫描视频比特流但不重构视频帧的简化视频解码器模块。这可被称为语法解码,因为比特流被扫描以查找差错,并且差错被报告给控制模块20。本领域的技术人员可以实现差错检测模块。
传入视频比特流也被传递到处理模块19。该处理模块19执行一般的代码转换任务,例如将输入比特流转变为不同的视频标准和/或改变比特流的比特率。如果输入和输出视频标准相同,则处理模块19可仅将输入传递到输出,根据需要对分组边界作出任何改变。如果处理需要传入比特流被解码(例如级联代码转换器),则处理19和语法解码模块18可被组合。当需要代码转换时,处理模块19的最常用设计是级联代码转换器。这种模块由传入视频标准的解码器构成,该解码器的输出以未压缩视频帧的形式被用作到传出视频标准的编码器的输入。视频解码器和编码器的实现是基于相应的标准化团体公布的编码器和解码器标准来进行实现的信号处理工程师所从事的普通任务。例如,H.263是由国际电信联盟(ITU)制定的标准。MPEG4视频编解码器是由国际标准化组织(ISO)制定的标准。编码器、解码器和级联代码转换器可由本领域的技术人员实现。
来自处理模块19的视频数据到达传输层模块21,在此处其与控制和其他媒体比特流组合。然后,数据通过信道22被发送到接收终端15。
当3G-324M终端通过无线接口接收其视频时,可能出现比特差错,导致不可避免的毁损信息有效载荷。该消息获取阶段期间的比特差错必须被管理。在获取期间,被干净存储的压缩视频比特流通过多媒体网关、MSC被视频邮件或内容服务器发送到终端。从MSC的发送(通过无线电接口)可能引入比特差错。视频邮件服务器的消息存储上的视频比特流最可能以压缩格式存储。
未压缩的视频需要大量存储空间,并且在视频邮件服务器上执行近实时压缩的计算量太大。如果终端中的视频解码器检测到由于无线电接口状况而造成的差错,则它将发送“视频快速更新”请求到发送器。因为视频邮件服务器发送预存储的压缩比特流,因此它可能不能处理要求未压缩视频内容的实时编码/响应的“视频快速更新”请求。
网关是处理“视频快速更新”请求的适当阶段。本发明允许网关在本地处理“视频快速更新”请求,以获得最小的视频毁损和更好的用户体验。
图4是代码转换网关的特定实施例的框图,其中网关发送的视频比特流可包含比特差错。该示意图示出了来自H.323终端23的视频比特流在被发送到3G-324M终端25之前穿过网关24的情形。
传入信道26上的数据被传输层接口27解码。数据中存在的媒体可包括多个音频和/或音频比特流。图中为了简明起见仅示出了单个视频比特流。
视频比特流被解码模块28解码。传出比特流由编码模块29生成。当没有视频快速更新被请求时,编码模块29可使用来自解码模块的输出和/或中间结果来生成经代码转换的比特流。如果输入和输出视频标准相同,则编码器29可仅将输入传递到输出,可能将比特流分裂为具有用于传出传输标准的合适的大小和对齐方式的分组。
当网关24的控制模块30接收到来自3G-324M终端的视频快速更新时,它用信号通知编码器29将下一帧编码为I帧。在此情形下,编码器29使用来自解码器28的输出作为输入。
来自视频编码器29的数据到达传输层模块31,在此处其与控制和其他媒体比特流组合。然后,该数据通过信道32被发送到接收终端25。
“视频快速更新”的本地处理要求网关中的视频处理能够响应于视频快速更新请求发送I帧。该本地处理可以用多种方式实现a)如果视频处理执行解码和重编码(在级联代码转换器中),则网关中的视频处理器的编码器能够很容易地执行视频快速更新请求。级联代码转换器中的视频解码器充当解码模块28,编码器充当编码模块29。控制模块30用信号通知视频编码器29将下一帧编码为I帧。执行完整的解码/重编码不是实现本地视频快速更新处理的最优技术,例如因为其需要很大的处理功率。
b)一种可替换的视频处理快速更新过程将视频处理嵌入智能视频代码转换模块中。这种代码转换器可以在宏块基础上操作宏块,或在帧基础上操作帧。在以下情况下,该视频代码转换模块将能够处理代码转换i.两个终端(例如用户端点和消息或内容服务器)使用的编码标准相同。例如,代码转换器必须解码输入比特流,但是当不存在差错时,它可不变地再次使用输入比特流,仅在需要生成I帧以服务于视频快速更新请求时引入对解码后视频帧重编码的成本。当需要生成I帧时,代码转换器将解码后的帧数据传递到编码器,以便被记录为I帧中的帧内宏块。
ii.终端所使用的编码标准不同,但是相似性允许智能代码转换。例如,代码转换器可对每帧解码和重编码,但是在编码阶段再次使用诸如运动矢量和宏块编码类型等信息。与前一情形一样,当需要生成I帧时,代码转换器将解码后的帧数据传递到编码器,以便被记录为I帧中的帧内宏块。
参考特定实施例描述了本发明。但是本领域的普通技术人员将很清楚其他实施例。因此,本发明不应受到除所附权利要求之外的限制。
权利要求
1.一种用于将使用第一混合视频编解码器编码的视频比特流数据转换为使用第二混合视频编解码器编码的第二比特流数据的装置,包括数据获取模块,所述数据获取模块置于数据终端之前的数据路径中,并且可操作来从在网关处接收到的所有数据中获取所述视频比特流数据;比特流语法解码器,所述比特流语法解码器耦合到所述数据获取模块,并且可操作来检测所述视频比特流数据中的差错;以及快速更新单元,所述快速更新单元可操作来在所述数据获取模块或所述比特流语法解码器检测到所述视频比特流数据中的差错时发送视频快速更新消息。
2.如权利要求1所述的装置,其中所述视频快速更新消息还包括在块级别上的更新。
3.如权利要求1所述的装置,其中用于所述视频比特流数据的标准与所述第二比特流数据匹配。
4.一种用于将使用第一混合视频编解码器编码的视频比特流数据转换为使用第二混合视频编解码器编码的第二比特流数据的装置,包括视频比特流解码器,所述视频比特流解码器置于数据终端之前的数据路径中,并且可操作来对所述视频比特流数据解码;以及耦合到所述解码器的用于在接收到视频快速更新请求时将帧重编码为I帧的装置。
5.如权利要求4所述的装置,其中在接收到所述视频快速更新请求时,使用帧内宏块来对单独的GOB和宏块重编码。
6.如权利要求4所述的装置,其中用于所述视频比特流数据的标准与所述第二比特流数据匹配。
7.如权利要求4所述的装置,其中所述视频比特流解码器是可操作来在对每一帧编码之前对每一帧完全解码的级联代码转换器。
8.如权利要求4所述的装置,其中所述视频比特流解码器仅对选定的宏块重编码。
9.如权利要求4所述的装置,其中所述视频比特流解码器可操作来操纵离散余弦变换域中的数据。
10.一种用于将使用第一混合视频编解码器编码的视频比特流数据转换为使用第二混合视频编解码器编码的第二比特流数据的方法,包括通过置于数据终端之前的数据路径中的数据获取模块从在网关处接收到的所有数据中获取所述视频比特流数据;在耦合到所述数据获取模块的比特流语法解码器处检测所述视频比特流中的差错;以及在所述数据获取模块或所述比特流语法解码器检测到所述视频比特流数据中的差错时发送视频快速更新消息。
11.一种用于将使用第一混合视频编解码器编码的视频比特流数据转换为使用第二混合视频编解码器编码的第二比特流数据的方法,包括在置于数据终端之前的数据路径中的视频比特流解码器中对视频比特流数据解码;以及在接收到视频快速更新请求时将帧重编码为I帧。
12.如权利要求11所述的方法,其中在接收到所述视频快速更新请求时,使用帧内宏块来对单独的GOB和宏块重编码。
13.如权利要求11所述的方法,其中用于所述视频比特流数据的标准与所述第二比特流数据匹配。
14.如权利要求11所述的方法,其中所述视频比特流解码器是可操作来在对每一帧编码之前对每一帧完全解码的级联代码转换器。
15.如权利要求11所述的方法,其中所述视频比特流解码器仅对选定的宏块重编码。
16.如权利要求11所述的方法,其中所述视频比特流解码器可操作来操纵离散余弦变换域中的数据。
全文摘要
一种用于处理多媒体网关设备(14)中的视频比特流差错的方法,其中网关设备(14)检测传入视频比特流(16)中的差错,并发送信号到发起设备(13)以便刷新比特流,而无需从最终的终端设备(15)进行差错检测。当终端设备(15)发出刷新视频比特流的信号时,网关(14)在本地生成和传送适当的刷新帧。本发明允许网关为诸如流和消息服务器等没有内建差错处理的设备处理差错。
文档编号H04N7/24GK1910926SQ200580002906
公开日2007年2月7日 申请日期2005年1月20日 优先权日2004年1月21日
发明者斯蒂芬·F·布朗, 马尔万·A·贾布里 申请人:达丽星网络有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1