首页> 中国专利> 利用参考帧选择规则进行视频错误隐藏的方法与装置

利用参考帧选择规则进行视频错误隐藏的方法与装置

摘要

提供了一种用于基于块的错误隐藏的方法与装置。该装置包括错误隐藏模块(177),当画面组中的丢失画面为该画面组中的第一个帧间编码画面时,该错误隐藏模块(177)用于通过利用先前画面组中的最后一个可用帧间编码画面来隐藏该丢失画面中的当前块。该画面组具有特征为帧内编码画面后接着帧间编码画面序列的模式。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-02-22

    专利权的转移 IPC(主分类):H04N7/68 登记生效日:20190130 变更前: 变更后: 申请日:20061026

    专利申请权、专利权的转移

  • 2019-02-22

    专利权人的姓名或者名称、地址的变更 IPC(主分类):H04N7/68 变更前: 变更后: 申请日:20061026

    专利权人的姓名或者名称、地址的变更

  • 2012-11-14

    授权

    授权

  • 2009-02-11

    实质审查的生效

    实质审查的生效

  • 2008-12-17

    公开

    公开

说明书

相关申请的交叉引用

本申请要求2005年12月7日提交的、题为“METHOD AND APPARATUS FORVIDEO ERROR CONCEALMENT USING REFERENCE FRAME SELECTION RULES”的美国临时专利申请第60/748250号的优先权,其内容通过引用全部融入本文。

技术领域

本发明一般涉及视频解码,并且更具体地涉及利用参考帧选择规则进行视频错误隐藏(video error concealment)的方法与装置。

背景技术

在容易出错的传送环境下(例如因特网、无线网络等等),所传送的视频比特流可能会经受由信道恶化引起的损坏。在一些实际系统中遇到的常见情况是:某些压缩视频帧从比特流中丢失。对于低比特率应用而言尤其如此,在低比特率应用中,帧小得足以被编码到一个传送单位中,例如实时传输协议(RTP)分组。在接收机端,健壮的视频解码器应该能够处理帧丢失。

另外,当在被损坏的比特流中丢失帧时,基于帧的错误隐藏方法可以被用来隐藏丢失的帧。基于帧的错误隐藏的一项现有技术方法要求将在检测到的丢失的帧之前接收并解码的参考帧用作为该丢失帧的参考帧。根据该现有技术方法,总是假定存在先前接收并解码的参考帧。但是,对于一些特定的帧或者比特流模式,该方法不一定会产生最佳隐藏性能,并且由此可能导致不必要的隐藏质量变差。

发明内容

本发明处理现有技术的这些以及其他缺点与短处,本发明针对利用参考帧选择规则进行视频错误隐藏的方法与装置。

根据本发明的一方面,提供了一种用于基于块的错误隐藏的装置。该装置包括错误隐藏模块,当画面组中的丢失画面为该画面组中的第一个帧间编码画面时,该错误隐藏模块用于通过利用先前画面组中的最后一个可用的帧间编码画面,来隐藏该丢失画面中的当前块。该画面组具有特征为一个帧内编码画面后接着帧间编码画面序列的模式。

根据本发明的另一方面,提供了一种用于基于块的错误隐藏的方法。该方法包括:当画面组中的丢失画面为该画面组中的第一个帧间编码画面时,通过利用先前画面组中的最后一个可用的帧间编码画面,来隐藏该丢失画面中的当前块。该画面组具有特征为一个帧内编码画面后接着帧间编码画面序列的模式。

根据本发明的另一方面,提供了一种用于基于块的错误隐藏的装置。该装置包括错误隐藏模块,当画面组中的丢失画面为帧间编码的参考画面时,该错误隐藏模块用来通过利用该画面组中的时间上最接近的先前画面而不考虑画面类型,来隐藏该丢失画面中的当前块。该画面组具有特征为一个帧内编码画面后接着帧间编码参考画面与帧间编码非参考画面的序列的模式。

根据本发明的另一方面,提供了一种用于基于块的错误隐藏的方法。该方法包括:当画面组中的丢失画面为帧间编码参考画面时,通过利用该画面组中的时间上最接近的先前画面而不考虑画面类型,来隐藏该丢失画面中的当前块。该画面组具有特征为一个帧内编码画面后接着帧间编码参考画面与帧间编码非参考画面的序列的模式。

本发明的这些以及其他方面、特征、以及优点可以从以下结合附图阅读的示例实施例的详细描述中看出。

附图说明

根据以下示例附图,可以更好地理解本发明,其中:

图1为可以应用本发明原理的示例可扩展视频解码器的图;以及

图2为根据本发明原理的实施例的视频解码器中的基于帧的错误隐藏的示例方法的图。

具体实施方式

本发明针对利用参考帧选择规则进行视频错误隐藏的方法与装置。

本说明书例示了本发明的原理。由此,应该理解,本领域技术人员能够设想各种结构,其尽管没有在此处明确描述或者示出,但是实现了本发明的原理,并且包含在本发明的精神与范围内。

此处引用的所有例子以及条件性语言都是出于教学目的以帮助读者理解本发明的原理以及本发明人对推动现有技术进步所贡献的构思,并且可以被解释为不限制于如此具体引用的例子与条件。

另外,此处所有引用本发明的原理、方面、以及实施例、及其特定示例的语句都意欲覆盖其结构上与功能上的等价物两者。另外,此类等价物都意欲包含当前公知的等价物以及将来开发的等价物(即所开发的执行相同功能的任何元件,而不考虑其结构)两者。

由此,例如,本领域技术人员应该理解,此处所呈现的框图表示实现本发明原理的示例性电路的概念性视图。类似地,应该理解,任何流程图(flowchart)、作业图(flow diagram)、状态变换图、伪代码等等表示实质上可以在计算机可读介质中表示、并且由此由计算机或者处理器执行的各种处理,无论此类计算机或者处理器是否被明确示出。

在附图中显示的各种元件的功能可以通过利用专用硬件以及能够与适当软件结合来执行软件的硬件来提供。当由处理器提供时,这些功能可以由单个专用的处理器提供、由单个共享处理器提供、或者由多个独立处理器(其中一些可以被共享)提供。另外,明确使用术语“处理器”或者“控制器”不应该被解释为专指能够执行软件的硬件,并且可以隐含地包括但不限于数字信号处理器(DSP)硬件、用来存储软件的只读存储器(ROM)、随机存取存储器(RAM)、以及非易失性存储装置。

也可以包括常规和/或定制的其他硬件。类似地,在图中示出的所有开关都只是概念性的。其功能可以通过操作程序逻辑、通过专用逻辑、通过程序控制与专用逻辑的交互、或者甚至手动地来执行,具体技术可由实现者根据对环境的理解来更具体地选择。

在其权利要求书中,被表示为用来执行指定功能的部件的任何元件都意欲覆盖执行该功能的任何方式,包括:例如,a)执行该功能的电路元件的组合;或者b)任何形式的软件,因此包括固件、微代码等等,其与适当电路组合以执行履行该功能的软件。由此权利要求书限定的本发明在于以下事实:以权利要求书所主张的方式将各种引用的部件所提供的功能性结合并集合在一起。由此认为可以提供那些功能的任何部件都等价于此处示出的那些部件。

转到图1,可以应用本发明原理的示例解码器以参考数字100总体指示。视频解码器100包括熵解码器110。熵解码器110的第一输出端以信号通信方式与逆量化器/变换器120的输入端连接。逆量化器/变换器120的输出端以信号通信方式与相加点(summing junction)140的第一输入端连接。

相加点140的输出端以信号通信方式与去块滤波器190连接。去块滤波器190的输出端以信号通信方式与参考画面存储部件150连接。参考画面存储部件150以信号通信方式与运动补偿器160的第一输入端连接。运动补偿器160的输出端以信号通信方式与相加点140的第二输入端连接。

熵解码器110的第二输出端以信号通信方式与运动向量(MV)存储部件176的输入端以及运动补偿器160的第二输入端连接。运动向量存储部件176的输出端以信号通信方式与错误隐藏模块177的输入端连接。错误隐藏模块177的输出端以信号通信方式与运动补偿器160的第三输入端连接。去块滤波器190的输出端提供视频解码器100的输出。

根据本发明原理,提出了在用于不同类型的丢失帧的错误隐藏期间选择要参照的适当帧的许多规则。考虑了以下示例情况:(1)在I PPP...比特流模式下,I帧之后的第一个P帧丢失;以及(2)在IpPpP...比特流模式下,P帧丢失。当然,应该理解本发明原理不仅限于前面的比特流模式,并且由此根据本发明原理也可以利用其他比特流模式。即,依据在此处提供的本发明原理的教导,本领域以及相关领域技术人员将预期可以有利地应用本发明原理的这些以及各种其他比特流模式,同时保持本发明原理的范围。另外,应该理解,虽然此处关于帧描述了本发明原理的例子,但是本发明原理同样可用于画面、场等等。

在上述现有技术方法中,对应于国际标准化组织/国际电工委员会(ISO/IEC)运动画面专家组-4(MPEG-4)第10部分高级视频编码(AVC)标准/国际电信联盟电信部(ITU-T)H.264标准(此后为“MPEG4/H.264标准”或者简称为“H.264标准”)的联合模型(JM)解码器软件配备有检测并隐藏丢失帧的功能。以下两个选项可用于JM解码器软件中的帧丢失错误隐藏:(a)帧拷贝;以及(b)运动拷贝。但是,这两个选项都要求在错误隐藏期间参考特定的已接收并解码的帧。在上述现有技术方法中,选择在丢失帧之前的先前可用的参考帧。但是,对于某些特定的比特流模式或者丢失情况,这不总是最好的作法。

考虑具有I PPP...比特流模式的GOP(画面组)。假设丢失了GOP中的第一个P帧。根据上述现有技术方法,如果调用“运动拷贝”错误隐藏来隐藏P帧,则选择I帧作为其参考帧。因为I帧未携带运动信息(运动向量等于0),所以在这种情况下,“运动拷贝”等价于“帧重复”,这会造成显著的隐藏失真(concealment distortion)与错误传播(error propagation),尤其对于高运动视频序列更是如此。在场景变化处经常插入I帧,并且在这种情况下,以上做法一般会产生尽可能好的结果。但是,也可能针对其他目的,诸如抗错(errorresilience)以及随机存取(random access),来插入I帧,其中I帧不一定对应于场景的剧烈变化。对于后一种情况,我们假定使用来自先前GOP的最后一个可用的P帧作为隐藏的参考帧。因为P帧携带运动信息,所以可以正常地调用“运动拷贝”来隐藏当前GOP中丢失的P帧。与使用I帧作为参考帧相比,尽管在两个P帧之间有较大的时间距离,但是对于那些高速运动视频序列而言,通过利用运动信息,仍然会获得性能改进。

考虑具有IpPpP...比特流模式的GOP,其中“p”表示非参考P帧,“P”表示参考P帧。假设丢失了P帧。根据上述现有技术方法,使用其先前可用的参考帧进行错误隐藏。相反,根据本发明原理的实施例,我们提出使用其前面紧接的p帧(如果可用的话)进行错误隐藏。与上述现有技术方法相比,所提出的规则使用在时间上更接近丢失帧的帧。因此,关于像素值以及运动信息,新的参考帧一般具有对于丢失帧更高的相关性。因此,“帧重复”以及“运动拷贝”错误隐藏方法可以受益于所提出的规则。因为p帧没有存储在解码器缓冲器中,所以其运动信息在解码器缓冲器中是不可用的。因此,对于“运动拷贝”错误隐藏,为了实现所提出的规则,必须存储(P,p)对中的p帧以用于可能出现的下一P帧的丢失。在每次解码p帧之后,只需要存储该p帧,并且其替换存储器中现有的p帧。

具体地,必须在分配用于该用途的缓冲器中存储p帧的解码后的像素值及其运动信息(运动向量、参考索引)。该附加功能容易实现,并且不会对解码器增加许多复杂度。

转到图2,视频解码器中基于帧的错误隐藏的示例方法由参考数字200总体指示。

循环限制块204在序列中的每个帧上进行循环,并且将控制传递给判断块208。判断块208确定是否frame_num(new)-frame_num(old)=1。如果是,则控制传递给功能块212。否则,控制传递给功能块232。

功能块212对帧进行正常解码,并且将控制传递给功能块216。对于IpP...模式,功能块216存储刚刚解码的p帧,以替换先前解码的p帧,并且将控制传递给判断块220。判断块220确定帧是否准备好输出。如果是,则控制传递给功能块224。否则,控制传递给循环限制块299。

功能块224计算画面顺序计数(picture order count POC)间隙(gap),并且将控制传递给判断块228。判断块228确定功能块224计算的POC间隙是否等于在配置文件中设置的POC间隙。如果是,则控制传递给循环限制块299。否则,控制传递给功能块232。

循环限制块299结束对序列中帧的循环。

功能块232创建用于丢失帧的空解码画面结构(empty decoding picturestructure),并且将控制传递给判断块236。判断块236确定是否要使用帧拷贝或运动拷贝。如果要使用运动拷贝,则控制传递给功能块256。否则,如果要使用帧拷贝,则控制传递给判断块240。

功能块256检查丢失帧是否为GOP中的第一个P帧(从而要对丢失帧的参考帧进行调整),并且将控制传递给循环限制块260。循环限制块260在丢失帧中每个子块上进行循环,并且将控制传递给功能块264。功能块264将丢失帧中子块内的一区域的运动向量设置为参考帧中相同位置区域的运动向量,并且将控制传递给功能块268。功能块268将该区域的参考索引设置为参考帧中相同位置区域的参考索引,并且将控制传递给循环限制块272。循环限制块272结束对丢失帧中每个子块的循环,并且将控制传递给功能块276。功能块276进行运动补偿以重新构造该帧,并且将控制传递给功能块280。功能块280对帧应用去块滤波,并且将控制传递给判断块284。判断块284确定所隐藏的帧是否为参考帧。如果是,则将控制传递给功能块288。否则,将控制传递给功能块298。

功能块288更新所隐藏的帧的frame_num,并且将控制传递给判断块292。判断块292确定当前帧是否为即时解码刷新(instantaneous decoding refreshIDR)帧。如果是,则将控制传递给功能块294。否则,将控制传递给功能块296。

功能块294将所隐藏的帧放入解码器缓冲器,并且将控制返回给判断块208。

功能块296清除当前解码器缓冲器中的内容,并且将控制传递给功能块294。

判断块240确定参考间隙POC是否等于四。如果是,则将控制传递给判断块244。否则,将控制传递给功能块252。

判断块244确定当前帧是否包含IpP...模式。如果是,则将控制传递给功能块248。否则,将控制传递给功能块252。

功能块248将参考帧设置为先前可用P帧,并且将控制传递给功能块252。

功能块252进行从参考帧到丢失帧的逐像素拷贝,并且将控制传递给循环限制块299。

由此,根据本发明原理的一个示例实施例,对于具有特征为帧内编码帧后接着帧间编码帧序列(例如IPPP...序列)的比特流模式的GOP而言,当丢失第一个帧间编码帧、并且帧内编码帧未对应于场景变化时,使用来自先前GOP的最后一个可用的预测帧用于错误隐藏。

另外,根据本发明原理的另一个示例实施例,对于具有特征为帧内编码帧后接着作为非参考类型(p)或者参考类型(P)的帧间编码帧序列(例如IpPpP...序列)的比特流模式的GOP,当丢失参考类型的帧间编码帧(除参照IPPP...序列描述的以上情况之外)时,使用其在时间上最接近的先前的一帧或多帧(不考虑帧类型)用于错误隐藏。

如上所述,应该理解,虽然此处主要关于帧描述了本发明原理,但是本发明原理同样适用于画面、场等等,并且可以被本领域以及相关领域技术人员容易地确定。另外,应该理解,本发明原理不仅限于先前的比特流模式,并且由此根据本发明原理可以利用其他比特流模式。即,依据在此处提供的本发明原理的教导,本领域以及相关领域技术人员将预期可以有利地应用本发明原理的这些以及其他比特流模式,同时保持本发明原理的范围。

现在描述本发明的一些伴随的优点/特征,其中一些在上面已经提到。例如,一个优点/特征为一种基于块的错误隐藏装置,其包括:错误隐藏模块,用来:当画面组中的丢失画面为该画面组中的第一个帧间编码画面时,通过利用先前画面组中的最后一个可用帧间编码画面,来隐藏该丢失画面中的当前块。该画面组具有特征为帧内编码画面后接着帧间编码画面序列的模式。

另一优点/特征为上述装置,其中所述错误隐藏模块通过从最后一个可用的预测画面中的位于相同位置的块导出当前块的运动信息,来隐藏当前块。

另一优点/特征为上述的、具有从所述位于相同位置的块导出当前块的运动信息的错误隐藏模块的装置,其中所述错误隐藏模块从所述位于相同位置的块的参考索引导出用于当前块的参考索引。

另外,另一优点/特征为上述装置,其中所述画面组中的帧内编码画面没有对应于场景变化。

另外,另一优点/特征为上述装置,其中当从所述画面组中的丢失画面到所述先前画面组中的最后一个可用预测画面的画面顺序计数间隙大于阈值时,所述错误隐藏模块进行从所述最后一个可用预测画面中位于相同位置的像素到所述丢失画面中当前像素的逐像素拷贝。

另外,另一优点/特征为上述装置,其中所述错误隐藏模块更新所述丢失画面的画面顺序计数。

另外,另一优点/特征为一种用于基于块的错误隐藏的装置,该装置包括:错误隐藏模块,用来:当画面组中的丢失画面为帧间编码参考画面时,通过利用该画面组中的时间上最接近的先前画面而不考虑画面类型,来隐藏该丢失画面中的当前块。该画面组具有特征为帧内编码画面后接着帧间编码参考画面与帧间编码非参考画面的序列的模式。

另一优点/特征为上述的、具有利用所述时间上最接近的先前画面来隐藏当前块的错误隐藏模块的装置,其中所述错误隐藏模块通过从所述时间上最接近的先前画面中位于相同位置的块导出当前块的运动信息,来隐藏当前块。

另一优点/特征为上述的、具有利用所述时间上最接近的先前画面来隐藏当前块、并且从所述位于相同位置的块导出当前块的运动信息的错误隐藏模块的装置,其中所述错误隐藏模块从所述位于相同位置的块的参考索引导出用于当前块的参考索引。

另外,另一优点/特征为上述的、具有利用所述时间上最接近的先前画面来隐藏当前块的错误隐藏模块的装置,其中所述画面组中帧内编码画面不对应于场景变化。

另外,另一优点/特征为上述的、具有利用所述时间上最接近的先前画面来隐藏当前块的错误隐藏模块的装置,其中当从所述丢失画面到所述时间上最接近的先前画面的画面顺序计数间隙大于阈值时,所述错误隐藏模块进行从所述时间上最接近的先前画面中位于相同位置的像素到所述丢失画面中当前像素的逐像素拷贝。

另外,另一优点/特征为上述的、具有利用所述时间上最接近的先前画面来隐藏当前块的错误隐藏模块的装置,其中所述错误隐藏模块更新所述丢失画面的画面号(number)。

另外,另一优点/特征为上述的、具有利用所述时间上最接近的先前画面来隐藏当前块的错误隐藏模块的装置,其中所述装置还包括缓冲器,当所述丢失画面为即时解码刷新画面时,该缓冲器用于存储隐藏之后的丢失画面。

另外,另一优点/特征为上述的、具有利用所述时间上最接近的先前画面来隐藏当前块的错误隐藏模块的装置,其中存储所述丢失画面以替换先前隐藏的丢失画面。

另外,另一优点/特征为上述的、具有利用所述时间上最接近的先前画面来隐藏当前块的错误隐藏模块的装置,其中所述装置还包括缓冲器,在解码了最后一个可用非参考帧间编码画面之后,该缓冲器用于存储该最后一个可用非参考帧间编码画面以便用于隐藏所述丢失画面中的当前块。

另外,另一优点/特征为上述的、具有利用所述时间上最接近的先前画面来隐藏当前块的错误隐藏模块的装置,其中所述装置还包括缓冲器,在解码了最后一个可用非参考帧间编码画面之后,该缓冲器用于存储该最后一个可用非参考帧间编码画面的运动向量以便用于隐藏所述丢失画面中的当前块。

根据此处的教导,本领域技术人员可以容易地确定本发明的这些以及其他特征和优点。应该理解可以各种形式的硬件、软件、固件、专用处理器、或者其组合来实现本发明的教导。

最优选地,将本发明的教导实现为硬件与软件的组合。另外,软件可以实现为有形地包含在程序存储单元上的应用程序。应用程序可以被上传到包含任何适当体系结构的机器并且由该机器执行。优选地,在具有诸如一个或多个中央处理单元(CPU)、随机存取存储器(RAM)、输入/输出(I/O)接口的硬件的计算机平台上实现该机器。该计算机平台还可以包括操作系统与微指令代码。此处描述的各种处理与功能可以为微指令代码的一部分或者为应用程序的一部分、或者为其任何组合,其可以由CPU执行。另外,各种其他外设单元,诸如附加的数据存储单元以及打印单元,可以连接到该计算机平台。

还应该理解,因为在附图中示出的一些构成系统组件与方法优选以软件实现,所以系统组件或者处理功能块之间的实际连接可以根据编制本发明程序的方式而不同。在此处的教导下,本领域技术人员将能够预期本发明的这些以及类似的实现或者配置。

虽然此处参照附图描述了示例实施例,但是应该理解本发明不限于这些精确的实施例,并且本领域技术人员在不脱离本发明的范围或精神的前提下可以进行各种改变与修改。所有这些改变与修改都意欲包含在权利要求书限定的本发明的范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号