多程视频解码方法与装置的制作方法

文档序号:7637812阅读:127来源:国知局

专利名称::多程视频解码方法与装置的制作方法
技术领域
:本发明涉及对与视频信号的画面相对应的位流进行解码的视频解码器,编码画面有可能包括以逐行方式和以隔行方式编码的宏块。更加具体地讲,本发明涉及一种包括对以逐行方式编码的宏块进行解码的解码单元的解码器。
背景技术
:如《InformationTechnology-Codingofaudio-visualobjects—Part2:Visual,Amendment1:Visualextensions》(ISO/IEC14496-2:1999/Amd.1:2000,IS0/IECJTV1/SC29/WG11N3056)中所指出的,MPEG-4标准定义了视频位流的语法规则,这一语法规则能够在各种不同编码器和解码器之间实现互通互用。这些标准描述了很多视频工具,但是实现所有这些工具对于大多数应用来说会导致复杂度过高。为了在可用工具和编码器/解码器复杂度的选择方面提供更大的灵活度,该标准此外还定义了类(profile),类是局限于特定工具的语法规则的子集。例如,简单类(SP)是整个位流语法规则的子集,用MPEG术语体系来说,它包括I和PV0P、AC/DC预测、每宏块1或4个运动向量、无限制运动向量和针对逐行画面的半像素运动补偿。高级简单类(ASP)是SP语法规则的超集它包括SP编码工具,并且增加了BV0P、全局运动补偿、隔行扫描画面、四分之一像素运动补偿(在这种情况下,内插滤波器不同于半像素运动补偿中使用的内插滤波器)以及专用于隔行扫描图像处理的其它工具。文献US2001/0016010公开了一种接收数字运动画面用于数字电视中的隔行扫描序列的下变换的设备。所述设备设计为用来对基于场和基于帧的编码块进行解码。实际上,这篇文献公开了这样一种解码器该解码器配备有能够实现ASP中定义的场编码宏块的直接解码的功能。然而,隔行扫描改变了MPEG-4标准中的两个低级处理运动补偿和反方向余弦变换(下文中称为DCT)。在某些具有有限CPU资源或电源的装置中,使用硬件加速函数来开展一部分解码操作可能是比较有益的,即使硬件加速装置不能以合宜的方式进行解码操作。这会导致解码错误,在隔行画面中的隔行宏块的情况下,这些解码错误造成的损害尤为严重。
发明内容由此,本发明的目的是提供一种视频解码器,尤其是SP类型的视频解码器,该视频解码器使用解码单元来解码逐行画面和逐行宏块,并且该视频解码器使得与隔行画面的解码相关的造成恶化的错误最小。为此,给出了一种视频解码器,该视频解码器包括解码配置单元,该解码配置单元用于为了解码单独一个画面而启动所述解码单元数次,并且用于在所述解码单元中配置所述画面的各个程(pass)的读取和/或写入跨距。因此给出了一种伪ASP解码器,该解码器依靠能够处理逐行画面的解码单元,并且在MPEG-4的情况下,依靠MPEG-4SP加速功能。有益地,将解码画面存储在存储器中。在一种实施方式中,所述解码配置单元包括缺失宏块检测模块,该模块用于检测解码画面中缺失的宏块并且将这一检测结果用于所述解码单元的配置。在一种实现方式中,跨距配置是在每一个程通过加倍所述跨距来改变的。在一种实施方式中,在每个程都对完整的画面进行解码。有益地,在前一程期间解码的宏块在后一程中保持不变。在一种实现方式中,用空块填充不能解码的或者还没有解码的宏块。在一种实施方式中,在从位流中解码或推定出来的标志被设置为代表所述画面为隔行的值时所述解码配置单元基于所述画面而得以启动。本发明还涉及一种对视频信号的画面中的位流进行解码的方法,编码画面有可能包括以逐行方式和以隔行方式编码的宏块,所述方法包括对以逐行方式编码的宏块进行解码的解码步骤。所述方法的特征在于,它包括解码配置步骤,该解码配置步骤为了解码单独一个画面而启动所述解码步骤数次,并且由所述解码步骤配置所述画面的各个程的读取和/或写入跨距。在一种实施方式中,将解码画面存储在存储器中。在一种实施方式中,所述解码配置步骤包括缺失宏块检测,该检测用于检测解码画面中缺失的宏块并且将这一检测结果用于所述解码步骤的配置。跨距配置是在每一个程通过加倍所述跨距在一种实现方式中,来改变的。在一种实施方式中,在一种实施方式中,不变。在一种实施方式中,宏块。在一种实施方式中,在每个程都对完整的画面进行解码。在前一程期间解码的宏块在后一程中保持用空块填充不能解码的或者还没有解码的在从位流中解码或推定出来的标志被设置为代表所述画面为隔行的值时所述解码配置步骤基于所述画面而得以启动。本发明还涉及一种计算机程序产品,包括用来在所述程序由处理器执行时实现前面公开的解码方法的程序指令。本发明还涉及一种包括按照本发明的视频解码器的移动装置。本发明在遵循诸如MPEG-4和DivX之类的视频标准的流在移动电话上的播放这一领域中具有应用,其中采用前面介绍的视频解码器是非常有益的。在阅读了下面的详细说明和参照附图的情况下,本发明的其它目的、特征和优点将会变得显而易见,其中-图1图解说明帧DCT编码中的宏块结构,-图2图解说明帧DCT编码中的宏块结构,-图3代表按照本发明的视频解码器,-图4图解说明针对给出与各个场相关的运动补偿向量的场预测宏块的基于场的运动补偿,其中上部分与亮度相关,下部分与色度相关,-图5图解说明按照本发明沿着多程进行的场预测宏块的重构,-图6给出本发明的优选实现方式的例子。具体实施例方式在下面的介绍中,不对本领域技术人员熟知的功能或构造进行详细介绍,因为它们可能会使得本发明埋没在不必要的细节当中。当在编码中使用了隔行扫描图像时,反DCT可能是由包含在位流中的称为dct—type的语法规则元素为具有纹理信息的各个宏块规定的帧DCT或者场DCT。当为特定的宏块将dct一type标志设定为0曰寸,该宏块是帧编码的并且亮度数据的DCT系数对由来自两个场的行交替组成的8*8块进行编码。在图1中描画了这种模式。阴影部分和空白部分分别代表两个场TF和BF。图1图解说明帧DCT编码之后的隔行宏块MB的8*8块Bl、B2、B3、B4的帧结构。当为特定的宏块将dct一type标志设定为1时,该宏块是场编码的并且这样形成亮度数据的DCT系数8*8块仅由来自一个场的数据组成。在图2中描画出了这种模式。图2图解说明场DCT编码之后的隔行宏块MB的8*8块Bl'、B2'、B3'、B4'的帧结构。在传统的反DCT中,然后必须将亮度块B1'、B2'、B3'和B4'反置换回帧宏块。这里需要提醒的是,通常,即使为特定宏块选择的是场DCT,但是色度纹理仍然是由帧DCT编码的。对于各个宏块,运动补偿也可以是基于帧或基于场的。这一特征是针对非全局运动补偿(GMC)宏块由P和SVOP(或Sprite-VOP)中宏块等级上的称为field—prediction的语法规则元素规定的。事实上,必须要指出的是,在隔行画面中,全局运动补偿总是基于帧的。如果将field—prediction标志设置为0,则就象在非隔行的情况下一样,进行非GMC运动补偿。这可以借助在1-MV模式下应用于16*16块的单独一个运动向量或者借助在4-MV模式下应用于8*8块的4个运动向量来完成。色度运动向量总是由亮度运动向量推定出来的。如果将field—prediction标志设置为1,则可以借助应用于各个场的16*8块的两个运动向量(每个场一个)来预测非GMC块。和场DCT的情况一样,在运动补偿之后必须要将预测块置换回帧宏块。而且,基于场的预测可能会由于替换为从两个色度行中选出一个色度行而导致对色度块进行8*4预测,这在4:2:0隔行颜色格式中仅仅相当于一个场。在编码期间,在非GMC宏块中,可以彼此独立地应用帧和场DCT以及帧和场运动预测。表1总结了除了GMC宏块以外ASP流的工、P和SV0P可能出现的不同组合。表1<table>tableseeoriginaldocumentpage9</column></row><table>图3示意性地代表用于解码视频信号的画面P中的位流BS的视频解码器DEC。该位流有可能包括以逐行方式编码的和以隔行方式编码的宏块。该解码器DEC包括用于对以逐行方式编码的宏块进行解码的解码单元DEU。对于MPEG-4简单类解码功能来说,有这样的情况仅能重建基于帧的8*8反DCT并且对于亮度通道仅能运动补偿16*16或8*8基于帧的块且对于色度通道仅能运动补偿8*8块。类型7和8(见表1)的宏块的运动补偿对于按照本发明的视频解码器中实现的解码单元DEU尤其成问题,因为它是基于场的,需要为亮度通道替换为两个16x8场像素LTF和LBF,并且为各个色度信道替换为两个8x4场像素CTF和CCF,如图4中所示。类似地,类型2、4和6的宏块得不到直接支持,因为需要基于场的反DCT操作。按照本发明的视频解码器包括解码配置单元DCU,该单元能够操纵解码单元DEU的读和写跨距R/WSTR。按照本发明的配置单元DCU使得读取或写入在单个场中构成的像素成为可能。通过简单地将针对亮度像素的读取操作的跨距加倍,能够使得解码单元进行隔行读取,相当于来自参考纹理的仅仅一个场,同时以基于帧的表达形式重构(写入)数据。使用它的8x8运动补偿能力,于是直接重构如图l右侧所示的8x8块帧数据以及如图2右侧所示的8x8块场数据会成为可能。这样,解码单元DEU的各种配置能够覆盖类型3、4、5、6的亮度和色度以及类型7和8中仅仅亮度的运动预测要求。通过改变写入跨距,可以通过以基于帧的方式每行写入数据或者以基于场的方式每隔一行写入数据来重构画面。这使得解码单元DEU能够将场重新交织起来。这种解码单元在配置上的改变仅仅能够在矩形的宏块组的开端完成。不可能针对各个宏块对应的读取和/或写入操作改变跨距值R/WSTR。这样,对于单独一个画面,解码配置单元DCU要启动解码单元数次,以便在各个程改变一次跨距配置的同时以多程方式解码该画面。这样能够专门解码按照前一程中使用的跨距配置不能得到解码的一种或数种宏块类型。在每个程,对单独一个存储器MEM区域中的完整画面P[1]或P[2]进行解码,以符合硬件期望的规整数据流。使在前程期间解码的宏块保持不变,并且用空块填充不能解码并且还没有得到解码的宏块。表1中的所有类型都涉及到某些读取/写入跨距组合,并且可以这样来组织所有的宏块使得共有同一个组合的宏块在同一程期间得到重构。使用专用的处理单元PRU来支持某些处理,例如,处理对于各个场具有截然不同的运动补偿向量的类型7和8的宏块。使用或不使用这些专用处理单元取决于所要解码的宏块的类型。如图5中所示,第一程FP对整个画面大小进行解码,但是对于不能按照当前的读取/写入跨距加以解码的宏块,会留下空块(由阴影块代表)。第二SP和第三TP程按照不同的跨距处理其它的宏块,但是使之前重构的宏块在主画面P中保持不变。这样,各个程都是对同一个存储区域中的整个画面P进行解码。在各个程,都要改变跨距以使在将正确信息传递给解码单元DEU以使之前解码的宏块在画面存储区域内保持不变的同时能够解码新的类型的宏块。例如,这可以通过传递将会简单地重新复制之前解码的数据而不改变它的运动向量来完成。在一种优选的实施方式中,在单独一个存储区域中逐行地重构画面P,而不需要在处理结束时重新排列来自各个不同存储位置的宏块,因为已经使得到解码的宏块留在了它们在解码画面内各自的位置上,并且当前宏块是在它们在画面P内的最终位置上解码的。在重构场编码的信息时,对各个场使用单独的程并且由解码单元DEU解码的各个宏块的像素填充在跨越垂直排列的一对宏块的单独一个场内。下面给出双程解码的例子第一程针对基于帧的预测和帧DCT。因此针对基于帧的表达形式设定读取和写入跨距。采用下列数据使用简单类解码单元加速来重构完整的画面类型1:帧内宏块。类型3和5:按照帧纹理进行帧预测的宏块。类型4和6:宏块的仅仅基于帧的运动补偿部分,不加入场纹理,即使位流中存在着场纹理。类型7:在专用处理单元PRU中使用两种情形的解码来重构按照场纹理进行场预测的宏块,在这两种情形中,对两个宏块进行解码而不是对一个宏块解码,第一个宏块利用顶部场运动向量以1-MV模式进行解码,第二个宏块利用底部运动向量进行解码。在完成时,第一个宏块拥有正确的顶部场像素,同时带有不相关的底部场,第二个宏块拥有正确的底部场像素,同时带有不相关的顶部场。第二个程将会重新组合多种情态,以稍后形成正确的类型7宏块。类型8:仅仅进行基于场的运动补偿,也是使用两种宏块情形。第二个程也将稍后重新组合它们。其它类型使用低成本操作来填充宏块仍然不能得到解码的空白空间。此时,已经进行了所有的运动预测,包括数种宏块情形中的基于场的运动预测。第二个程使用基于场的读取/写入跨距并且可以使用两个子程,一个子程针对顶部场,另一个子程针对底部场。将第一个程中重构的画面设定为参考画面,从而解码单元能够不变动地重新复制已经得到解码的块。不再参考定位画面,因为已经进行了所有的运动预测。类型1、3和5:利用适当的运动向量并且不加入DCT纹理,解码单元使用4-MV模式简单地重新复制之前的宏块。类型2:由解码单元DEU重构场INTRA宏块。类型4和6:将场DCT纹理加入到第一个程期间形成的预测结果中。类型7:使用基于场的运动补偿,将宏块从它们各自的情形进行重新交织。类型8:象类型7的宏块那样对宏块进行重新组合,并且将基于场的DCT加入到运动预测中。在这一第二个程结束时,获得了最终的正确隔行画面。在以通过在基于场的模式下对写入跨距加倍来写入宏块而每次处理一个宏块(就是说每个宏块四个8*8块)的方式设计解码单元的情况下,有可能硬件会填充大小为16x32的区域。如图6中所示,这相当于帧结构(其占据跨越交织的宏块对MBP的16x32像素)中作为场写入的四个8x8块TFMB和BTMB。因此需要将交织信息的重构分为两个子程,每个场TF和BF—个子程,对数据进行重新组合,从而由解码单元解码的各个宏块TFMB和BFMB实际上填充垂直排列的两个宏块MBP中的顶部或底部场TF和BF。前面介绍的第二个步骤实际上可以由两个子步骤组成,各个子步骤执行解码整个画面的单独一个场的操作。在重新交织期间,由解码单元解码的各个宏块在按照基于场的跨距写入时,会填充跨越宏块对的单独一个场。本发明尤其关注如移动电话这样的移动装置上的视频信号处理。这样可以通过反复使用SP解码单元解码ASP流来处理MPEG-4或DivX流。应该理解,本发明并不局限于前面介绍的实施方式并且可以进行改变和修改,而不会超出所附权利要求中定义的本发明的思想和范围。鉴于此,做出下面的结束语。存在多种多样的借助硬件或软件制品或者二者来实现按照本发明的方法的功能的方式,只要单独一个硬件或软件制品能够实施数个功能。并不排除硬件或软件制品或者二者的组合实施一项功能的情况,这样不用修改按照本发明的处理方法就可以形成单独一个功能。所述硬件或软件制品可以以多种方式实现,比如借助线接电子电路或者借助得到适当程控的集成电路。所附权利要求中的任何附图标记都不应视为对权利要求有限定作用。显然,动词"包含"或"包括"以及它们的同义词的使用并不排除除了任意权利要求中定义的步骤或要素之外还存在其它的步骤或要素。置于权利要求中的要素或步骤前面的词"一"或"一个"并不排除存在多个这种要素或步骤的可能。权利要求1.一种视频解码器(DEC),用于对与视频信号的画面(P)相对应的位流(BS)进行解码,编码画面有可能包括以逐行方式和以隔行方式编码的宏块,所述解码器包括用于对以逐行方式编码的宏块进行解码的解码单元(DEU),其特征在于,所述视频解码器包括解码配置单元(DCU),该解码配置单元(DCU)用于为了解码单独一个画面而启动所述解码单元数次,并且用于在所述解码单元中配置所述画面的各个程的读取和/或写入跨距。2.按照权利要求1所述的视频解码器,其中所述视频解码器包括用于存储解码画面的存储器(MEM)。3.按照权利要求1和2之一所述的视频解码器,其中所述解码配置单元(DCU)包括缺失宏块检测模块,该模块用于检测解码画面中缺失的宏块并且将这一检测结果用于所述解码单元的配置。4.按照前述任何一项权利要求所述的视频解码器,其中跨距配置是在每一个程通过加倍所述跨距来改变的。5.按照前述任何一项权利要求所述的视频解码器,其中在每个程都对完整的画面进行解码。6.按照前述任何一项权利要求所述的视频解码器,其中前一程期间解码的宏块在后一程保持不变。7.按照前述任何一项权利要求所述的视频解码器,其中用空块填充不能解码的或者还没有解码的宏块。8.按照前述任何一项权利要求所述的视频解码器,其中在从位流中解码或推定出来的标志被设置为代表所述画面为隔行的值时所述解码配置单元(DCU)基于所述画面而得以启动。9.一种对视频信号的画面中的位流进行解码的方法,编码画面有可能包括以逐行方式和以隔行方式编码的宏块,所述方法包括对以逐行方式编码的宏块进行解码的解码步骤,其特征在于,所述方法包括解码配置步骤,该解码配置步骤为了解码单独一个画面而启动所述解码步骤数次,并且由所述解码步骤配置所述画面的各个程的读取和/或写入跨距。10.按照权利要求9所述的方法,其中解码画面存储在存储器中。11.按照权利要求9和10之一所述的方法,其中所述解码配置步骤包括缺失宏块检测,该检测用于检测解码画面中缺失的宏块并且将这一检测结果用于所述解码步骤的配置。12.按照权利要求9一11中任何一项所述的方法,其中跨距配置是在每一个程通过加倍所述跨距来改变的。13.按照权利要求9一12中任何一项所述的方法,其中在每个程都对完整的画面进行解码。14.按照权利要求9一13中任何一项所述的方法,其中前一程期间解码的宏块在后一程中保持不变。15.按照权利要求9一14中任何一项所述的方法,其中用空块填充不能解码的或者还没有解码的宏块。16.按照权利要求9一15中任何一项所述的方法,其中在从位流中解码或推定出来的标志被设置为代表所述画面为隔行的值时所述解码配置步骤基于所述画面而得以启动。17.—种计算机程序产品,包括用来在所述程序由处理器执行时实现权利要求9一16中任何一项所述的解码方法的程序指令。18.—种移动装置,包括权利要求1到8中任何一项所述的视频解码器。全文摘要本发明涉及一种用于对与视频信号的画面(P)相对应的位流(BS)进行解码的视频解码器(DEC),编码画面有可能包括以逐行方式和以隔行方式编码的宏块,所述解码器包括用于对以逐行方式编码的宏块进行解码的解码单元(DEU)。按照本发明的视频解码器包括解码配置单元(DCU),该解码配置单元(DCU)用于为了解码单独一个画面而启动所述解码单元数次,并且用于在所述解码单元中配置所述画面的各个程的读取和/或写入跨距。文档编号H04N7/26GK101189879SQ200680019349公开日2008年5月28日申请日期2006年5月30日优先权日2005年6月1日发明者斯特凡娜·瓦朗特申请人:Nxp股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1