用于视频快速更新的方法和系统的制作方法

文档序号:7609365阅读:165来源:国知局
专利名称:用于视频快速更新的方法和系统的制作方法
技术领域
本发明一般而言涉及响应于所接收的比特差错来执行视频帧的更新,更具体而言,涉及在第三代网络的视频电话服务中执行视频快速更新,但并不限于此。
背景技术
在第三代(“3G”)网络中使用的一种重要应用是视频电话服务(“VT”)。VT典型地使用透明的64kb/s承载(bearer),其平均比特差错率是近似10-4-10-3。更高比特差错率意味着无线网络可处理更多的同时VT呼叫;然而,更高比特差错率经常导致视频传输问题。
编码视频比特流对差错很敏感。视频比特流的差错灵敏度主要归因于大量使用了根据先前视频帧的预测以及使用了可变长度编码,如果在比特流中引入比特差错,那么比特流可能容易脱离同步。许多移动终端包括视频解码器,该视频解码器应用差错隐藏功能来隐藏毁坏的比特流的影响。视频编码器还被典型地配置成产生弹性比特流,其对于差错相当鲁棒。
在比特流中存在太多差错的情况下,由移动终端应用的差错隐藏可能不足以有效地隐藏差错。然后视频解码器可以通知视频编码器通过不用根据先前图像的预测来编码视频帧,从而刷新图像。没有预测的视频帧被称为内部帧,并且比典型的帧大得多;因此,内部帧不应当被不必要地发送。视频解码器通过将根据H.245协议的视频快速更新(“VFU”)消息发送到视频编码器来通知视频编码器刷新图像。
一些移动终端以规则的时间间隔发送VFU请求,这意味着即使没有发生比特差错,完整的内部帧有时也被传送。因此,在所接收的视频中经常出现规则的图像冻结,因为与称为帧间帧的使用预测的帧相比,内部帧占用长得多的时间来传输。
其它移动终端响应于比特流差错的检测而发送VFU请求。VFU请求可通过移动终端的H.223解复用器或通过H.263/MPEG-4视频解码器来发送。在这种方法中,内部帧的请求甚至当所检测的差错如此小以致该差错可以由视频解码器的差错隐藏功能容易地处理时也被发送。因此,内部帧有时被不必要地传输。
另一种用于仅更新部分图像的解决方案在H.263附录I中被描述。在H.263附录I中描述的解决方案需要实质性改变视频编码器和第三代合作伙伴计划(“3GPP”)对于视频电话的推荐的更新。

发明内容
一种确定是否产生视频刷新请求的方法包括接收包(packet),并且至少执行下述之一确定所接收的包是否包含差错,以及确定在所接收的包之前的包是否丢失。响应于所接收的包包含差错的确定,增加差错索引(index)。响应于在所接收的包之前的包丢失的确定,增加差错索引。响应于所接收的包不包含差错并且在所接收的包之前的包没有丢失的确定,减小差错索引。
一种用于确定是否产生视频刷新请求的系统包括多个用于存储至少一个差错索引的寄存器、以及用于从输入比特流中获得包差错信息的包信息单元。该系统还包括处理器。该处理器被可相互操作地连接到包信息单元和多个寄存器。该处理器用于确定所接收的包是否包含差错,确定在所接收的包之前的包是否丢失,响应于所接收的包包含差错的确定而增加差错索引,响应于在所接收的包之前的包丢失的确定而增加差错索引,以及响应于所接收的包不包含差错并且在所接收的包之前的包没有丢失的确定而减小差错索引。


通过参考以下结合附图的本发明的具体实施方式
可以获得对于本发明的更完整的理解,其中图1是说明用于确定移动终端何时应当产生一个VFU请求的算法的流程图;以及图2是移动终端的示例性VFU模块的框图。
具体实施例方式
本发明的实施例现在将参考附图进行更充分地描述。然而,本发明可以以许多不同的形式来体现,并且不应当被解释为限于在此陈述的实施例。应当认为本发明仅由现在存在的权利要求书及其等同物来限定。
根据3GPP推荐3G TS 26.911 V3.2.0,在根据3G-324M操作的移动终端中的H.263编码器应当响应于通过H.245控制所接收的所有VFU命令。3G TS26.911 V3.2.0推荐规定“当所接收的画面被检测为由于传输差错而显著毁坏时,3G-324M解码器被相应地推荐为传输视频快速更新命令”。
因为VFU请求除了所接收的图像被明显毁坏之外不应当被作出,因此比特流中少量的差错应当被认为是可接受的。视频解码器的差错隐藏连同图像宏块的循环内部刷新一起可被用于处理这些差错。如果在少量的时间内有很多差错,那么发送VFU请求。漏桶型的算法可用于确定VFU请求是否需要响应于比特差错或丢失数据的检测来发送。在漏桶型的算法中,坏的包(即具有差错的包或丢失的包)的接收增加差错索引(“EI”),该差错索引被用于与差错索引阈值(“EIT”)结合来确定何时发送VFU请求。差错索引增量(Delta)(“EID”)与桶中的孔的类似之处在于,好的包(即不具有差错的顺序包)的接收使得EI减小,并且因此使其变得距EIT更远。
现在参考附图,图1是说明用于确定移动终端何时应当产生一个VFU请求的算法的流程图。流程100使用各种变量和常数,其在步骤102开始。在图1中,EI是反映当前比特差错率的变量。EI可以被看作具有不正确循环冗余校验(“CRC”)的或那些已经丢失的(即失序接收的)视频字节的累积数量的表示,因为最近的VFU请求补偿自动更新图像的循环内部刷新。作为一种视频传输包的毁坏或丢失的视频H.223 AL-SDU使得EI与毁坏或丢失的视频传输包的尺寸成比例增加。如果EI变得大于预定阈值,则产生VFU请求。EI在规则的时间间隔处或对于接收的每个正确视频传输包而被减小。以这种方式减小EI补偿在比特流中的差错之后自动更新图像的循环内部刷新。
自最近刷新以来的字节(“BSLR”)是一个变量,其反映自最近的VFU请求以来在视频比特流中经过的字节的数量。EIT是一个预定常数,其反映将导致即刻VFU请求的毁坏字节的数量。在本发明的各种实施例中,典型的BSLR值是400。估计服务数据单元尺寸(“ESDU尺寸”)是一个变量,其表示由于差错而丢失的视频传输包的估计尺寸。SDU尺寸(“SDU尺寸”)是一个变量,其表示具有CRC差错的视频传输包的尺寸。
自动刷新间隔(“ARI”)是一个常数,其反映小差错可被多快地忽略。ARI可以被设置为例如在图像被循环内部刷新完全刷新之前的字节的数量。在本发明的各种实施例中,典型ARI值是13,000(在每帧中总数99的5个内部块,10fps,6,500字节/s=>1.98s或者近似13,000字节来完成循环刷新)。EID是一个变量,其反映在正确包已经被接收后应当减少多少EI。EID可以被设置为(SDU尺寸/ARI)*EIT。刷新最小间隔(“RMI”)是一个常数,其反映在可以发送VFU请求之前必须被接收的字节的最小数量。
再次参考图1,执行从步骤102进行到步骤104,在该步骤中作出所接收视频传输包是否具有错误顺序号的确定。如果在步骤104确定所接收的视频传输包具有错误顺序号,那么执行进行到步骤106。
在步骤106,EI通过增加ESDU尺寸来增加。ESDU尺寸当然是丢失视频传输包的尺寸的估计。执行从步骤106进行到步骤108。在步骤108,BSLR通过增加SDU尺寸来增加。如果在步骤104所接收的视频传输包未被确定为具有错误顺序号,那么执行进行到步骤110。在步骤110,作出CRC差错是否存在的确定。如果在步骤110确定在所接收的视频传输包中存在CRC差错,那么执行进行到步骤112。在步骤112,EI通过SDU尺寸来增加。执行从步骤112进行到步骤108。
如果在步骤110没有确定CRC差错存在于所接收的视频传输包中,那么执行进行到步骤113。在步骤113,计算EID。如上所述,EID可以被设置为(SDU尺寸/ARI)*EIT。执行从步骤113进行到步骤114。在步骤114,EI由EID减小,并且EI被设置为max(0,EI-EID),以便避免EI取负值。步骤114表示漏桶型算法100的桶中的象征性的孔。执行从步骤114进行到步骤108。
执行从步骤108进行到步骤116。在步骤116,作出EI是否大于EIT的确定。如果在步骤116中是如此确定的,那么执行进行到步骤118。在步骤118,作出BSLR是否大于RMI的确定。如果在步骤118中是如此确定的,那么执行进行到步骤120。在步骤120,VFU请求被发送到远程移动终端,EI被设置为零,并且BSLR被设置为零。执行从步骤120进行到步骤122,在该步骤执行结束。如果在步骤116确定EI不大于EIT,那么执行进行到步骤122。如果在步骤118确定BSLR不大于RMI,那么执行进行到步骤122。
发送移动终端的内部块刷新率根据所使用的视频编码器进行变化;因此,ARI和EID值可被选择为反映在发送移动终端中的视频编码器的刷新率。在本发明相对较简单的实施例中,可假设EID的固定值。在本发明更复杂的实施例中,实际ARI值可使用输入视频比特流数据来计算。在计算ARI值之后,ARI值可从视频解码器被传输到移动终端的VFU模块。然后EID值可根据当前ARI值来计算。
再次参考附图,图2是移动终端的示例性VFU模块的框图。VFU模块200包括处理单元202、SDU信息单元204以及寄存器组206。SDU信息单元204从移动终端的H.223复用器(未明确示出)通过线路208接收视频传输包。由SDU信息单元204通过线路208接收的视频传输包也被输入到移动终端的视频解码器(未明确示出)。SDU信息单元204从在线路208上接收的视频传输包中提取信息,举例来说,比如CRC差错标志、顺序号、以及关于所接收视频传输包的尺寸的信息。
寄存器组206包括EI寄存器210、BSLR寄存器212以及ARI寄存器214。本领域普通技术人员将会理解,当EID的值预先固定时,ARI寄存器214不是必要的。相反,在其中计算EID值的本发明的实施例中,EID值根据由ARI寄存器214通过线路216接收的ARI值进行计算。线路216输入来自移动终端的视频解码器(未明确示出)的内部块刷新率统计数据。EI寄存器210、BSLR寄存器212以及ARI寄存器214中的每个可分别通过线路218、220和224输入数据到处理器202。EI寄存器210和BSLR寄存器212每个可被处理器204分别通过线路226和228写入。处理器202通过线路230输出VFU请求到移动终端的视频编码器(未明确示出)。
VFU模块200可被用来执行流程100或任何其它用于确定何时应当作出VFU请求的适当的漏桶算法。本领域普通技术人员将会理解,在不脱离本发明原理的情况下,可对流程100和VFU模块200作出修改。
代替计数视频比特流中的字节并将该数量存储在BSLR寄存器中,自最近的VFU请求以来在输入复用比特流(例如包括音频、视频和控制)上的字节总数可以被计数,并且自最近VFU请求以来的时间可以被测量。此外,代替仅计数视频比特流中的差错,在输入复用比特流中的所有可检测差错都可被计数。本发明的原理可被应用于例如移动终端的H.223复用器模块或H.263/MPEG-4/H.264视频解码器模块。在本发明的各种实施例中,除了H.223之外的传输协议可被用于发送视频数据。例如,本发明的原理可被应用于使用数据传输的实时协议(RTP)的基于H.323或会话启动协议(SIP)的系统。
前面是本发明的具体实施方式
。本发明的范围不应当必须被限制于这些描述。代之以,本发明的范围由后面的权利要求书及其等同物来限定。
权利要求
1.一种确定是否产生视频刷新请求的方法,该方法包括接收包;至少执行以下之一确定所接收的包是否包含差错;以及确定在所接收的包之前的包是否丢失;响应于所接收的包包含差错的确定,增加差错索引;响应于在所接收的包之前的包丢失的确定,增加差错索引;响应于所接收的包不包含差错并且在所接收的包之前的包没有丢失的确定,减小差错索引。
2.权利要求1所述的方法,其中确定在所接收的包之前的包是否丢失的步骤包括分析所接收的包的报头。
3.权利要求1所述的方法,其中确定所接收的包是否包含差错的步骤包括分析所接收包的CRC校验和。
4.权利要求1所述的方法,其中所接收的包是视频传输包。
5.权利要求4所述的方法,其中所接收的包是H.223适配层服务数据单元(Al-SDU)。
6.权利要求4所述的方法,其中所接收的包是RTP包。
7.权利要求1所述的方法,进一步包括确定差错索引超过预定差错索引阈值;以及请求视频刷新。
8.权利要求1所述的方法,其中减小差错索引的步骤包括将差错索引减小一个与所接收的包的尺寸成比例的值。
9.权利要求1所述的方法,进一步包括响应于下述而产生视频刷新请求差错索引已经超过预定差错索引阈值的确定;以及自最近的视频刷新请求以来所接收的数据量超过预定数据量阈值的确定。
10.权利要求9所述的方法,进一步包括将差错索引与预定差错索引阈值进行比较。
11.权利要求1所述的方法,其中确定所接收的包是否包含差错的步骤包括确定所接收的包是否具有有效的CRC。
12.权利要求1所述的方法,其中减小差错索引的步骤包括将差错索引减小一个与内部块刷新率成比例的值。
13.一种用于确定是否产生视频刷新请求的系统,该系统包括多个寄存器,用于存储至少一个差错索引;包信息单元,用于从输入比特流中获得包差错信息;处理器,其被可相互操作地连接到包信息单元和多个寄存器,用于确定所接收的包是否包含差错;以及确定在所接收的包之前的包是否丢失;响应于所接收的包包含差错的确定,增加差错索引;响应于在所接收的包之前的包丢失的确定,增加差错索引;以及响应于所接收的包不包含差错并且在所接收的包之前的包没有丢失的确定,减小差错索引。
14.权利要求13所述的系统,其中确定在所接收的包之前的包是否丢失的步骤包括分析所接收的包的报头。
15.权利要求13所述的系统,其中确定所接收的包是否包含差错的步骤包括分析所接收的包的CRC校验和。
16.权利要求13所述的系统,其中所接收的包是视频传输包。
17.权利要求16所述的系统,其中所接收的包是H.223适配层服务数据单元(Al-SDU)。
18.权利要求16所述的系统,其中所接收的包是RTP包。
19.权利要求13所述的系统,其中处理器进一步被用于确定差错索引超过预定差错索引阈值;以及请求视频刷新。
20.权利要求13所述的系统,其中减小差错索引包括将差错索引减小一个与所接收的包的尺寸成比例的值。
21.权利要求13所述的系统,其中处理器进一步被用于响应于下述而产生视频刷新请求差错索引已经超过预定差错索引阈值的确定;以及自最近的视频刷新请求以来所接收的数据量超过预定数据量阈值的确定。
22.权利要求21所述的系统,其中处理器进一步被用于将差错索引与预定差错索引阈值进行比较。
23.权利要求13所述的系统,其中确定所接收的包是否包含差错包括确定所接收的包是否具有有效的CRC。
24.权利要求13所述的系统,其中减小差错索引包括将差错索引减小一个与内部块刷新率成比例的值。
全文摘要
一种确定是否产生视频刷新请求的方法包括接收包,并且至少执行以下之一确定所接收的包是否包含差错,以及确定在所接收的包之前的包是否丢失。响应于所接收的包包含差错的确定,增加差错索引。响应于在所接收的包之前的包丢失的确定,增加差错索引。响应于所接收的包不包含差错并且在所接收的包之前的包没有丢失的确定,减小差错索引。本摘要被提供以用于遵守需要摘要的规定,该摘要允许检索者或其他读者快速地查明本技术公开的主题。
文档编号H04N7/64GK1947428SQ200480035997
公开日2007年4月11日 申请日期2004年12月2日 优先权日2003年12月5日
发明者P·托雷尔, J·-O·约翰松, G·罗特 申请人:艾利森电话股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1