从低分辨率图像导出高分辨率图像的编码信息的方法以及实现该方法的编码和解码设备的制作方法

文档序号:7636035阅读:261来源:国知局

专利名称::从低分辨率图像导出高分辨率图像的编码信息的方法以及实现该方法的编码和解码设备的制作方法
技术领域
:本发明涉及使用一种用于导出编码信息的方法的空间可缩放编码和解码处理。更具体地,涉及一种也被称作层间预测方法的方法,用于从低分辨率图像的编码信息中导出高分辨率图像的编码信息。
背景技术
:现有技术中的可縮放分级(hierarchical)编码方法允许分级地编码信息,以便能够以不同分辨率和/或品质层来进行解码。由可縮放的编码设备生成的数据流因此被分为几个层底层(baselayer)和一个或多个增强层(也称作高层)。这些设备允许唯一的数据流适应变化的传输条件(带宽,误差率…),并且适应接收设备的能力(CPU,再现设备特性…)。空间可縮放分级编码方法编码(或解码)与低分辨率图像相关的、称作底层数据的第一部分,以及从该底层编码(或解码)与高分辨率图像相关的、称作增强层的至少另一数据部分。釆用被称作层间预测方法的方法,从涉及底层的编码信息中继承(即,导出)涉及增强层的编码信息。导出的编码信息可以包括与高分辨率图像像素块相关联的分区模式(用于将所述块分成几个子块)、与所述块相关联的编码模式、与能够参考用于预测所述块的图像的某些块相关联的可能的运动矢量以及一个或多个图像参考索引。参考图像是序列中用于预测序列中另一个图像的图像。因此,如果在数据流中没有显式编码,不得不从涉及低分辨率图像的编码信息中导出涉及增强层的编码信息。现有技术中,用于导出编码信息的方法不能被用于没有通过二进转换将格式链接到低分辨率图像格式的高分辨率图像
发明内容本发明涉及一种用于从低分辨率图像的至少一个图像部分的编码信息导出高分辨率图像的至少一个图像部分的编码信息的方法,每个图像被划分为非交迭宏块,编码信息至少包括分区信息。根据本发明,被称为底层宏块的低分辨率图像部分的至少一个宏块,与被称为高层宏块的高分辨率图像部分的每个宏块相关联,从而当高分辨率图像部分叠加在与沿水平方向以第一预定义比率和沿垂直方向以第二预定义比率上采样的低分辨率图像部分上时,相关联的低分辨率宏块至少部分地与高分辨率宏块交迭。所述方法包括以下步骤-根据高层宏块相对于与高层宏块相关联的、被称为对应底层宏块的底层宏块的位置,计算高分辨率图像部分中每个高层宏块的几何参数;-根据几何参数,导出高分辨图像部分中每个高层宏块的宏块类别;-根据几何参数和高层宏块类别,从对应底层宏块的分区(partition)信息中导出高分辨图像部分的每个高层宏块的分区信息。优选地,坐标系统与每个高分辨率图像相关联,以及在高分辨率图像坐标系统中,针对被划分为非交迭块的每个高层宏块,计算如下四个几何参数-第一几何参数是高层宏块中心和对应底层宏块的最近垂直边界之间的代数距离MbBorderX,该距离是根据第一方向定义的;-第二几何参数是高层宏块中心和对应底层宏块的最近水平边界之间的代数距离,该距离是根据第二方向定义的;-第三几何参数是高层宏块中心和对应底层宏块的块的最近垂直边界之间的代数距离,根据第一方向定义该距离;-第四几何参数是高层宏块中心和对应底层宏块的块的最近水平边界之间的代数距离,该距离是根据第二方向定义的。有利地,编码信息还包括子分区信息,以及该方法还包括步骤根据几何参数和高层宏块类别,从对应底层宏块的分区信息和子分区信息中导出高分辨率图像部分中高层宏块的子分区信息。有利地,编码信息还包括运动信息,以及该方法还包括步骤从对应底层宏块的运动信息中导出高分辨率图像部分中每个高层宏块的运动信息。优选地,导出高分辨率图像部分中每个高层宏块的运动信息的步骤包括导出高层宏块的每个分区的运动信息以及每个分区的每个子分区的运动信息。优选地,一个宏块、一个分区或一个子分区的运动信息包括具有第一和第二分量的至少一个运动矢量以及从第一或第二参考索引列表中选择的、与运动矢量相关联的至少一个参考索引,索引识别参考图像。根据典型实施方式,用于导出运动信息的步骤包括步骤针对高分辨率图像部分中的每个高层宏块,均化相同分区的子分区之间的运动信息,该步骤包括对于参考索引的每个列表-针对高层宏块的每个分区,识别参考索引列表的参考索引中子分区的最低索引;-将最低参考索引与当前参考索引不等于最低参考索引的每个子分区相关联,该当前参考索引成为在前参考索引;和-将在前参考索引与最低参考索引不同的每个子分区,与在前参考索引与最低参考索引相同的相邻子分区的运动向量相关联。优选地,当首先检査水平相邻子分区、然后检查垂直相邻子分区、再检查对角相邻子分区时,关联运动矢量是遇到的第一相邻子分区的运动矢量。优选地,利用以下公式縮放每个宏块、分区和子分区的运动向量的运动向量分量《=(血*sca/ed—6aye—vv/湖+6aye—w/舶/2*57'g"[《])/6a化—w/舰其中-dx和dy表示导出的运动向量的坐标;-4和d^表示縮放的运动向量的坐标;-在x为正数时,sign[x]等于l,在x为负数时,sign[x]等于-l;-scaled—base—width禾Bscaled_base—height分别是高分辨率图像部分的宽和高;-base—width和base—height分别是低分辨率图像部分的宽和高。根据典型实施方式,宏块尺寸为16x16像素,块尺寸为8x8像素,第一预定义比率等于第二预定义比率。优选地,所述方法是用于编码视频信号的处理的一部分和/或用于解码视频信号的处理的一部分。本发明还涉及一种用于编码至少高分辨率图像序列和低分辨率图像序列的设备,每个图像被划分为宏块,所述设备包括-第一编码装置,用于编码低分辨率图像,该第一编码装置生成低分辨率图像的编码信息和底层数据流;-继承装置,用于从低分辨率图像的至少一个图像部分的编码信息中导出高分辨率图像的至少一个图像部分的编码信息;和-第二编码装置,用于使用导出的编码信息来编码高分辨率图像,第二编码装置生成增强层数据流。此外,本发明还涉及一种用于解码由前述编码设备编码的至少高分辨率图像序列和低分辨率图像序列的设备,由数据流表示这些编码的图像,所述解码设备包括-第一解码装置,用于解码解码数据流中的至少第一部分,以生成低分辨率图像和低分辨率图像的编码信息;-继承装置,用于从低分辨率图像的至少一个图像部分的编码信息中导出高分辨率图像的至少一个图像部分的编码信息;和-第二解码装置,用于使用导出的编码信息来解码数据流的至少第二部分,以生成高分辨率图像;其特征在于,编码信息至少包括分区信息,继承装置包括-关联装置,用于将被称为底层宏块的低分辨率图像部分的至少一个宏块,与被称为高层宏块的高分辨率图像部分的每个宏块相关联,从而高分辨率图像部分叠加在当沿水平方向以第一预定义比率和沿垂直方向以第二预定义比率上采样的低分辨率图像部分上时,相关联的低分辨率宏块至少部分地与高分辨率宏块交迭;-计算装置,用于根据高层宏块相对于与高层宏块相关联的、被称为对应底层宏块的底层宏块的位置,计算高分辨率图像部分中每个高层宏块的几何参数-第一导出装置,用于根据几何参数,导出高分辨图像部分中每个高层宏块的宏块类别;-第二导出装置,用于根据几何参数和高层宏块类别,从对应底层宏块的分区信息中导出高分辨图像部分的每个高层宏块的分区信息。有利地,编码设备还包括用于将底层数据流和增强层数据流结合为单个数据流的结合模块。有利地,解码设备还包括提取装置,用于从数据流中提取数据流第一部分和数据流第二部分,并且第一解码装置是MPEG-4AVC视频解码器。本发明的其他特征和优点将在其某些具体实施方式的以下描述中体现,这描述与将结合以下附图来进行所示描述,图中-图1示出了关于底层对应宏块(BLMBs)并识别其MB类别的高层(HLMB)宏块的位置;-图2示出了HLMB和其对应的BLMB;-图3示出了底层坐标系统中的MBHL的中心位置(XC,YC);-图4示出了高层坐标系统中8x8底层块的左边界相对于重縮放的MBHL的中心位置(XC,YC)的位置dXl,以及高层坐标系统中8x8底层块的右边界相对于重縮放的MBHL的中心位置(XC,YC)的位置dX2;-图5示出了被垂直划分为8像素大小两个分区的HLMB;-图6示出了被垂直划分为8像素大小两个分区的HLMB,其中一个分区被垂直划分为4像素大小的两个子分区;-图7示出了被垂直划分为8像素大小两个分区的HLMB;-图8示出了被垂直划分为8像素大小两个分区的HLMB,其中一个分区被垂直划分为4像素大小的两个子分区;-图9示出了被底层子分区边界垂直划分的HLMB;-图10示出了中性分区/子分区;-图11示出了根据本发明的编码设备;-图12示出了根据本发明的解码设备;-图13示出了根据MPEG4AVC的分区和子分区模式;-图14示出了根据本发明的方法的流程图。具体实施方式本发明涉及一种被称为层间预测的方法,用于当高分辨率图像部分尺寸(也就是宽和高)和低分辨率图像部分尺寸(也就是宽和高)之间的比率与处于l和2之间、被称为层间比率或上采样比率的特定比率相联系时,从低分辨率图像的至少一个图像部分的编码信息中导出高分辨率图像的至少一个图像部分的编码信息。可以沿水平和垂直方向使用两个不同层间比率。每个图像都被划分为宏块。可以通过其像素(例如所述宏块左上方的像素)或通过以宏块为单位的坐标识别图像中的宏块位置。例如,按照光栅扫描顺序的图像的第二宏块具有以像素为单位的坐标(16,0),即,左上方的像素,并且具有以宏块为单位的坐标(1,0)。低分辨率图像的宏块被称作低分辨率宏块或底层宏块,并被表示为BLMB。高分辨率图像的宏块被称作高分辨率宏块或高层宏块,并被表示为HLMB。优选实施方式以空间可縮放编码和解码的上下文来描述本发明,具体地,依照在文献ISO/IEC14496-10题为《Informationtechnology—Codingofaudio-visualobjects—Part10:AdvancedVideoCoding》中描述的标准MPEG4AVC,来进行空间可縮放编码和解码。在这种情况下,低分辨率图像根据在所述文献中描述的编码/解码过程被编码及解码。当编码低分辨率图像时,其编码信息与所述低分辨率图像中的每个宏块相关联。例如,该编码信息包括宏块的分区和可能的子分区、编码模式(例如,帧间(inter)编码模式、帧内(intra)编码模式…)、可能的运动矢量和参考索引。与当前像素块相关联的参考索引允许识别被用于预测当前块的块所处的图像。依据MPEG4-AVC,采用两个参考索引表Lo和LlQ图13示出了根据MPEG4AVC的以块为单位的宏块的分区。在第一行,如MPEG4AVC所建议的,由不同的可能宏块分区来表示宏块(如16x8像素块大小,称为16x8块,8xl6像素块大小,称为8xl6块,和8x8像素块大小,称为8x8块)。如MPEG4AVC所建议的,图13中的第二行表示具有不同可能的8x8块分区,也被称为子分区的8x8像素块大小(8x8块)。实际上根据MPEG4AVC,当宏块被划分为4个8x8的块时,每个所述块可能进一步被划分为8x4子块、8x4子块或4x4子块。随后,考虑两个空间层,与低分辨率图像相对应的低层(称为底层)和与高分辨率图像像对应的高层(称为增强层)。增强层图像(也就是高分辨率图像)的宽和高分别由enh—width和enh一height所定义。底层图像(也就是低分辨率图像)的尺寸由base—width和base—height所定义。低分辨率图像可能是增强层图像的子图像的下采样形式,其尺寸为scaled—base—width和scaled—base—height,并位于增强层图像坐标系统中的坐标(scaled—baseJK,scaled—base一Y)。低和高分辨率图像还可由不同摄像机提供。在这种情况下,低分辨率图像不能通过下采样高分辨率图像而得到,可通过外部装置(例如由摄像机本身)来提供几何参数。无需在高层图像的宏块结构中对准scaled—base_X和scaled—base—Y的值。相应于缩放底层的窗口被称为剪辑窗口。如果当沿两个方向被以层间比率上采样的重叠的低分辨率图像部分与高分辨率图像部分相重叠时,低分辨率宏块与高分辨率宏块相关联。与HLMB相关联的BLMB被称作对应宏块。在高分辨率图像的边界处,宏块可能没有底层对应宏块,而仅由縮放的底层宏块部分地覆盖。结果,必需进行与ISO/IECMPEG&ITU-TVCEGJVT-N021的联合视频组(JVT),题为"JointScalableVideoModelJSVM1",J.Reichel,H.Schwarz,M.Wien的文献所述不同的层间预测的管理。这个文献下文中被称作[JSVMl]。在诸如[JSVM1]中描述的空间可縮放编码处理的上下文中,可以采用被用作编码低分辨率图像的传统编码模式(即帧内预测和帧间预测)来编码高分辨率宏块。此外,高分辨率图像的某些特定宏块还可采用被称作层间预测模式(即层间运动和纹理预测)的新模式。这种新模式仅适用于被缩放底层完全覆盖的高层宏块,即,以宏块为单位的坐标(MBX,MBy)验证以下条件MBX>=scaled_base—column—in—mbs禾口<scaled—base—column—in—mbs+scaled—base—width/16以及MA>=scaled—base—line—in—mbs禾口MB,<scaled—base—line—in—mbs+scaled—base—height/16其中-scaled—base—column—in—mbs=scaled—based—X/16;-scaled—base—line—in一mbs=scaled—based—Y/16;不满足这些条件的宏块仅可使用典型的模式,也就是帧内预测和帧间预测模式,而符合这些条件的宏块可以使用帧内预测、帧间预测或层间预测模式。与在JSVM1中所述的二进空间可縮放对准的宏块相同,这些高层宏块可以使用縮放的底层运动信息、使用"BASE—LAYER—MODE"或"QPEL—REFINEMENT—MODE"来进行层间预测。当使用"QPEL—REFINEMENT—MODE"模式时,可达到四分之一采样运动向量精度。之后,编码处理必须针对完全包含在剪辑窗口中的每个宏块来决定其编码模式,以在帧内预测、帧间预测或层间之间进行选择。在最终决定选择某一模式之前,如果编码处理最终选择层间编码模式,需要针对验证上述条件的每一个宏块,导出用于预测该宏块的编码信息。类似地,在解码侧,如果针对给定宏块解码"BASE—LAYER—MODE"或"QPEL—REFINEMENT—MODE",必须首先导出这些层间编码信息。根据优选实施例,编码处理使用一种被称为预测宏块并被表示为Mbi_pred的中间结构来选择之后的对应宏块MBi的编码模式。将描述题为《Informationtechnology—Codingofaudio-visualobjects—Part10:AdvancedVideoCoding》的ISO/IEC14496-10文献中下文使用的位运算符、算术运算符和关系运算符。位运算符是运算符'带符号扩展的右移',算术运算符是模数运算符,关系运算符表示'等于',关系运算符表示<不等于',表示逻辑运算符OR。下面,还考虑以下情况-一般情况:上采样率和剪辑窗口不受限(唯一的限制是被称为层间比率的上采样率必须在1和2之间)。垂直和水平上采样率可以是不同值。这种配置对应于ESS—generic方案,在文献JSVM2(JointScalableVideoModelJSVM-2AnnexS,JVT-O202fromISO/IECJTC1/SC29/WG11andITU-TSG16Q,6)中也被表示为SpatialScalabilityType=3。-比率3/2情况:上采样率(两个方向上相同)等于3/2,并且剪辑窗口基于宏块结构对准。这种配置对应于ESS一3—2方案,在JSVM2中也被表示为SpatialScalabilityType-2。这是实际是一般情况的一种子情况。scaled—based—X%16=0且scaled—based—Y%16=0争scaied—based_width=3/2*based—width且scaled—based—height=3/2*based—height-比率1情况:上采样率等于1并且剪辑窗口基于宏块结构对准。这种配置在文献JSVM2中被表示为SpatialScalabmtyType=0。-比率2情况:上采样率等于2并且剪辑窗口基于宏块结构对准。这种配置在文献JSVM2中被表示SpatialScalabilityType=l。通常情况下,由其原点定义以像素为单位的高层图像坐标系统,该原点是高层图像的第一个像素,水平轴从左延伸到右,垂直轴从上延伸到下。由其原点定义以MB为单位的高层图像坐标系统,该原点是高层图像的第一个MB,水平轴从左延伸到右,垂直轴从上延伸到下。类似地,定义以像素为单位的底层图像坐标系统和以MB为单位的底层图像坐标系统。也可以使用其它的定向或原点。针对以宏块为单位定义的位置(MbldxX,MbldxY)处并且授权使用层间预测模式的当前高层宏块HLMB,继承运动信息处理包括以下步骤-计算IIO几何参数,所述几何参数的特征在于所述高层宏块相对于对应底层宏块的位置,并且从这些参数中导出120所述MBHL的宏块类别,称为MB类别;-根据几何参数和HLMB类别,从对应底层宏块分区和子分区中导出20所述HLMB的每个分区的分区(例如16x16,16x8…)和可能的子分区(例如8x8,8x4…);和-从对应底层宏块的运动信息中导出30所述HLMB(即HLMB的每个分区/子分区)的运动信息(例如运动向量和参考索引)。针对一个HLMB来描述该方法,并且该方法可以应用于授权使用层间预测模式的所有HLMB。步骤IO包括计算U0几何参数,以便从由根据图1定义的四个类别中导出120当前HLMB的宏块类别。在此图中,HLBM由虚线标识,,沿两个方向使用层间比率上采样的四个縮放BL宏块由不同灰度的颜色填充。参考图1,类别为Corner的MBHL有单个对应BLMB,类别为Vert的HLMB有两个对应BLMB,一个左一个右MB,类别为Hori的HLMB有两个对应BLMB,—个上一个下MB,类别为Center的HLMB有四个对应BLMB。利用图1中所示的它们对应BLMB的边界,水平地划分类别为Hori的HLMB,垂直地划分类别为Vert的HLMB。垂直和水平地划分类别为Center的HLMB,而CornerMB没有被任何对应BLMB边界划分。如图2如示,在以像素为单位高层图像坐标系统中计算110以下几何参数-高层MB中心和最近的垂直底层MB边界之间的水平代数距离MbBorderX,该距离是根据第一方向定义的,也就是,例如将经过高层MB中心并且垂直于最近的底层垂直MB边界的直线定向为高层图像坐标系统的水平轴;-高层MB中心和最近的水平底层MB边界之间的垂直代数距离MbBorderY,该距离是根据第二方向定义的,也就是,例如将经过高层MB中心并且垂直于最近的底层水平MB边界的直线定向为高层图像坐标系统的垂直轴;-高层MB中心和最近的垂直底层8x8块边界之间的水平代数距离B8x8BorderX,该距离是根据第一方向定义的,以及;-高层MB中心和最近的水平底层8x8块边界之间的水平代数距离B8x8BorderX,该距离是根据第二方向定义的。几何参数计算110需要首先在如图3所示的底层坐标系统中一维地计算HLMB中心位置(XC,YC)。在高层坐标系统中,设(XP,YP)为HL宏块的左上方采样(也就是像素)的位置。在底层坐标系统中的对应位置(XB,YB)由以下公式计算-XB=(XPO*base—width+base—width/2)/scaled—base_width(公式1)-YB=(YPO*base—height+base—height/2)/scaled—base—height其中(XPO,YPO)由以下公式定义-XP0=XP-scaled—base—X(公式2)-YP0=YP-scaled—base—Y此外,(XC,YC)被定义为底层坐标系统中高层MB中心的位置,由以下公式计算-XC=((XP0+8)*base—width+base_width/2)/scaled—base—width(公式3)-YC=((YP0+8)*base—height+base—height/2)/scaled—base—height根据第一个实施例,在一般情况下,如下文所属,从(XC,YC)计算110几何参数。设b维包括坐标点(XC,YC)的8x8BL块。参考图4,分别计算在HL坐标系统中重縮放后的坐标点(XC,YC)和b的左边界及上边界之间的代数距离dXl和dYl。以同样的方式,计算在HL坐标系统中重缩放后的坐标点(XC,YC)和b的右边界及下边界之间的代数距离dX2和dY2。具体公式如下dX1=(8*(XC3)*scaled—base—width+base—width/2)/base—width-(XPO+8)(eq.4a)dX2=(8*(XC3+1)*scaled—base—width+base—width/2)/base—width誦(XPO+8)(eq.4b)dYl=(8*(YC>>3)*scaled—base—height+base—height/2)/base—height-(YPO+8)(eq.5a)dY2=(8*(YC〉>3+1)*scaled—base—height+base—height/2)/base—height-(YPO+8)(eq.5b)然后,将这些参数舍入到最近的第四个值,如下dZi=sign(dZi)*(|dZi|/4+((|dZi|%4)>2))*4,其中i=l,2(公式6)其中Z被X和Y连续的替代。如果XC在BLMB的左8x8块内,将几何参数MbBorderX禾口B8x8BorderX分别设为dXl和dX2;或者如果XC在BLMB的右8x8块内,将它们分别设为dX2和dXl。对于Y尺寸,也应用相同的处理。-如果((8*(ZC>>3))%16==0)MbBorderZ=dZl且B8x8BorderZ=dZ2(公式7a)-否则MbBorderZ=dZ2且B8x8BorderZ=dZl(公式7b)该一般情况处理还可应用于比率1、2和3/2。根据优选的实施例,在一般情况下,通过以下公式进行计算110几何参数设dXl和dX2被定义如下-dXl=((8*(Xc>>3)-XC)*scaled—base—width+base—width/2)/base—width-dX2=((8*(Xc>>3+1)-XC)*scaled—base—width+base—width/2)/base—width设dYl和dY2被定义如下-dY2=((8*(Yc3+1)-YC)*scaled_base—height+base—height/2)/base—height如下述应用,用X和Y替代Z。-如果((8*(ZC>>3))%16=K)),则应用-mbBorderZ=dZl-b8x8BorderZ=dZ2-否则,应用-mbBorderZ=dZ2-b8x8BorderZ=dZl通过以下公式导出在当前HLMB的对应BLMB中左上方的BLMB坐标(也被称为宏块地址)(mbAddrBaseX,mbAddrBaseY):如果((8*(ZC>>3))%16==0),则应用-mbAddrBaseX=XC/16-mbAddrBaseY=YC/16;如果mbBorderX大于-6并且小于等于0,贝ljmbAddrBaseX=mbAddrBaseX-1如果mbBorderY大于-6并且小于等于0,贝ljmbAddrBaseY=mbAddrBaseY-1然后,通过以下公式将几何参数舍入到最近的第四个值.--mbBorderZ二sign(mbBorderZ)*((|mbBorderZ|+2)/4)*4;以及-b8x8BorderZ=sign(b8x8BorderZ)*((|b8x8BorderZ|+2)/4)其中使用X和Y连续的替代Z。然后,如下从计算的几何参数中导出120HLMB类别.如果((|MbBorderX|>=8)则应用-如果(|MbBorderY|>=8))MbClass=corner-否贝ljMbClass=horiz-否则,应用-如果(|MbBorderY|〉=8))MbClass=vert-否贝UMbClass-center需要注意的是,对于层间比率l、2、3/2,通过以下关系链接几何参数-层间比率1:(|MbBorderX|+|B8x8BorderX|)和(|MbBorderY|+|B8x8BorderY|)都等于8;-层间比率2:(|MbBorderX|+|B8x8BorderX|)和(|MbBorderY|+|B8x8BorderY|)都等于16;以及-层间比率3/2:(|MbBorderX|+|B8x8BorderX|)和(|MbBorderY|+|B8x8BorderY|)都等于12。根据特定实施例,如果SpatialScalabilityType等于0、1或2,几何参数和MB类别可由下文所述直接导出。因此可以避免详细的计算。如果SpatialScalabilityType等于0,即,如果层间比率=1且MB对准剪辑(即,剪辑窗口基于宏块结构对准scaled—base—X%16==0和scaled—base—Y%16==0),则Mbclass有系统地(systematically)等于角部(corner)。此外,在此情况下,MbBorderX=MbBorderY=-8,且B8x8BorderX=B8x8BorderY=0。如果SpatialScalabilityType等于1,即,层间比率=2且MB对准剪辑,Mbclass有系统地等于角部。如表1所述,可以从宏块位置直接导出几何参数,其中(modX,modY)定义如下-modX二(MbldxX-(scaled—base—X/16))%2-modY-(MbldxY-(scaled—base—Y/16))%2<table>tableseeoriginaldocumentpage21</column></row><table>表1在SpatialScakbilityTypel情况下mb类别参数的导出如果SpatialScalabilityType等于2,艮卩,层间比率=3/2且MB对准剪辑,如表2所述,从宏块位置直接导出不同的参数,其中(modX,modY)定义如下-modX=(MbldxX-(scaled一base一X/16))%3-modY=(MbldxY-(scaled—base—Y/16))%3<table>tableseeoriginaldocumentpage21</column></row><table>表2SpatialScalabilityType2情况下mb类别和几何参数的导出步骤20包括对于当前HLMB-导出210分区(例如16x16,16x8...);并且如果需要(也就是如果划分为8x8),贝lj:-导出220子分区(例如8x8,8x4…)。更准确地,步骤20包括对于当前HLMB,基于被表示为Mbclass的HLMB类别及其几何参数(MbBorderX,MbBorderY)和(B8x8BorderX,B8x8BorderY),从对应底层宏块中导出宏块分区和可能的子分区。该几何参数用于识别是否可能划分高层宏块。考虑在一维的处理,例如在水平方向X上。该处理以相同方式被应用到两个方向上,MbBorderX和M8x8BorderX分别被用于识别垂直的分区/子分区,MbBorderY和M8x8BorderY被用于识别水平的分区/子分区。_如果BL宏块边界包括在HLMB中,HLMB按照以下方式被划分*如果IMbBorderXI等于0,HLMB被垂直的划分为大小为8像素的2个分区。图5示出了这种情况;*如果IMbBorderXI等于4,HLMB被垂直的划分为大小为8像素的2个分区,并且其中一个分区被进一步划分为大小为4像素的2个子分区。图6示出了这种情况;-如果属于被划分为大小为8像素的两个分区的BLMB的BL8x8块边界包含在HLMB中,则HLMB按照以下方式被划分*如果IB8x8BorderXI等于0,则HLMB被垂直地划分为大小为8像素的2个分区。图7示出了这种情况;*如果IB8x8BorderXI等于4,则HLMB被垂直地划分为大小为8像素的2个分区,并且其中一个分区被进一步划分为大小为4像素的2个子分区。图8示出了这种情况;-如果BL子分区边界包含在HLMB中,划分HL8x8块;这对应于以下情况*|MbBorderX+B8x8BorderX|/2=4。图9示出了这种情况。通过使用伪码函数在附录中描述了步骤20的优选实施方式。子步骤210包括针对当前HLMB导出被标记为mbLabel的宏块分区模式(也被称为宏块分区)的。根据MbCIass、(MbBorderX,MbBorderY)和(B8x8BorderX,B8x8BorderY)导出MbLabel。根据MbClass,可以以MB为单位如下计算对应BLMB坐标-如果MbCIass为Corner,仅有N=l个位于mbAddrBase=(mbAddrBaseX,mbAddrBaseY)和mbAddrBase[l]=(mbAddrBaseX,mbAddrBaseY+1)的对应BLMB;-如果MbCIass为Vert,有N=2个位于mbAddrBase=(mbAddrBaseX,mbAddrBaseY)禾BmbAddrBase[l]=(mbAddrBaseX+l,mbAddrBaseY)的对应BLMB;-如果MbCIass为Corner,有N=4个位于mbAddrBase[O]-(mbAddrBaseX,mbAddrBaseY),mbAddrBase[l]=(mbAddrBaseX+1,mbAddrBaseY),mbAddrBase[2]=(mbAddrBaseX,mbAddrBaseY+1)禾口mbAddrBase[3]=(mbAddrBaseX+1,mbAddrBaseY+1)的对应BLMB。将MbTypeBase[j]定义为对应BLMBj(j的值从0到N-l)的MB分区模式。例如,如果对应BLMB1的模式为B—L0_L0—16x8(如MPEG4AVC中定义的),则MbTypeBase[l]等于16x8。MbTypeBase[j]和mbLabel在集合(16x16,16x8,8x16,8x8,INTRA}中取值。-如果(IMbBorderXI等于4)或(IMbBorderYI等于4),贝(JmbLabel被设为8x8。-否则-如果MbClass等于Center,则应用-设cptrlntra为计数器,以识别考虑的宏块是否将被分类为INTRA。cptrlntra被初始化为0并按如下导出-对于由值从0到3之间的B8x8Idx做索引(左上方的索引为0,右上方的索引为l,左下方的索引为2,右下方的索引为3)的当前HLMB的每个8x8块,应用-如果(MbTypeBase[B8x8Idx]等于INTRA)cptrlntra递增2-如果索引B8x8Idx的8x8块被BL8x8块边界分区(如果B8x8IdX等于-4,则划分索引为0和2的左边8x8块;如果B8x8IdX等于4,则划分索引为1和3的右边8x8块;如果B8x8IdY等于-4,则划分索引为0和1的上边8x8块;如果B8x8IdY等于4,则划分索引为2和3的右边8x8块),然后,cptrlntra递增1。-如果cptrlntra大于等于4,贝!JmbLabel被设为INTRA;-否则mbLabel被设为8x8;-否贝lj,如下导出三个新参数mbTypeBaseSuffixX、mbTypeBaseSuffixY禾口is8x8Base被-如果MbClass等于Corner,则应用-设mbTypeBaseSuffixX是索引j=0的BLMB的水平分区模式(例如,如果BLMB分区模式为16x8,水平分区模式等于16;如果BLMB分区模式为8x16,水平分区模式等于8)。如果BLMB模式为INTRA,则mbTypeBaseSuffixX被设为INTRA;-设mbTypeBaseSuffixY是索引j=0的BLMB的垂直分区模式(例如,如果BLMB分区模式为16x8,垂直分区模式等于8;如果BLMB分区模式为8x16,垂直分区模式等于16)。如果BLMB模式为INTRA,则mbTypeBaseSuffixX被设为INTRA;-设is8x8Base是指示某个BLMB分区模式为8x8的标志。如果索引j=0的BLMB的分区模式为8x8,将is8x8Base设为TRUE,否则将其设为FALSE。-否则,如果MbClass等于Vert,则应用-mbTypeBaseSuffixX被设为8-mbTypeBaseSuffixY被设为索引j=0的BLMB的垂直分区模式和索引j=l的BLMB的垂直划分模式中的最小值。如果索引j=0或j=l的BLMB都是INTRA,则将mbTypeBaseSuffixY设为INTRA;-如果索引j=0的BLMB的划分模式或索引j=l的BLMB的划分模式是8x8,贝ljis8x8Base设为TRUE,否则将其设为FALSE;-否则(也就是MbClass等于Hori)-mbTypeBaseSuffixX被设为索引j=0的BLMB的水平划分模式和索弓lj二l的BLMB的水平划分模式中的最小值。如果索引j=0或j=l的BLMB都是INTRA,则将mbTypeBaseSuffixX设为INTRA;-mbTypeBaseSuffixY被设为8-如果索引j二O的BLMB的划分模式或索引j-l的BLMB的划分模式是8x8,则is8x8Base设为TRUE,否则将其设为FALSE。-如果mbTypeBaseSuffixX等于INTRA或mbTypeBaseSu伍xY等于INTRA,则将mbLabel设为INTRA。-否则,如下导出两个新参数mbLabelX和mbLabelY:-mbLabelX被设为16和(mbTypeBaseSuffixX+|B8x8BorderX|)中的最小值;-mbLabelY被设为16和(mbTypeBaseSuffixY+|B8x8BorderY|)中的最小值;-如果mbLabelX等于12或mbLabelY等于12,这意味着一些8x8块被底层分区边界划分,并且因此mbLabel被设为8x8;-否则,执行附加分析以检查一些8x8块是否被底层子分区边界划分。-如果is8x8Base为TRUE并且mbLabelX不同于8并且mbLabelY不同于8,则应用-块索引参数B8x8Idx由以下导出B8x8Idx二(1-sign(B8x8BorderX))+(l画sign(B8x8BorderY))/2其中如果x<0,sign(x)返回画l,如果x>0,sign(x)返回1,且如果乂==0,sign(x)返回0。-如果IB8x8BorderXI等于8,应用以下处理来导出mbLabelX(事实上其检査是否垂直底层子分区边界划分了索引为B8x8Idx的8x8块)-设BL4x4B0是所考虑的索引B8x8Idx的8x8块中左上4x4块的对应BL4x4块;-设subMbTypeBaseO是包含BL4x4B0的子分区或划分的子分区或划分类型(使用"4x4识别"处理的识别,B8x8Idx和0作为输入参数);-设BL4x4Bl是所考虑的索引B8x8Idx的8x8块中右下4x4块的对应BL4x4±央;-设subMbTypeBasel是包含BL4x4Bl的子分区或划分的子分区或划分类型(使用"4x4识别"处理的识别,B8x8Idx和3作为输入参数);-设mbLabelX是subMbTypeBaseO禾QsubMbTypeBasel的水平值中的最小值(例如,如果subMbTypeBaseO为4x8,水平值等于4)。如果它们都为INTRA,则mbLabelX被设为INTRA。-如果IB8x8BorderYI等于8,应用以下处理以导出mbLabelY(事实上其检査是否水平底层子分区边界划分了索引为B8x8Idx的8x8块)-如上所述定义subMbTypeBaseO和subMbTypeBasel;-mbLabelY被设为subMbTypeBaseO禾nsubMbTypeBasel的垂直值之间的最小值(例如,如果subMbTypeBaseO为4x8,垂直值等于8)。如果它们都为INTRA,则mbLabelX被设为INTRA。-将mbLabel设置为mbLabelX和mbLabelY的值的级联(concatenation)(例如,如果mbLabelX等于8并且mbLabelY等于16,则mbLabel被设为8x16)。子步骤210,220和步骤30使用被称为"4x4识别"处理的共同处理,以便对于当前HLMB中索引b8x8Idx的8x8块的索引b4x4Idx的给定4x4块,识别包含所考虑的HL4x4块的对应BL4x4块的BL宏块、BL分区和可能存在的BL子分区,(等同于附录中的函数'getBaseldx(),)。该子步骤的输出是BL宏块地址(BLMBIdxX,BLMBIdxY)、BL分区索引BLpartldx和BL子分区索引BLSubPartldx。对于一维情况,如X方向,使用直接映射表(参考表3),输入是高层4x4块(b4x4X,导出为b4x4Idx%4)的水平索弓l、MbBorderX、B8x8BorderX,并且输出是对应BL4x4块的水平索引outB4x4X。outB4x4X=MapTab[b4x4X,MbBorderX,B8x8BorderX]对于Y方向,按照以下导出outB4x4Y,其中b4x4Y=b4x4Idx/4:outB4x4Y=MapTab[b4x4Y,MbBorderY,B8x8BorderY]将mbldx定义为包括位于(outB4x4X,outB4x4Y)的BL4x4块的BLMB的数目。如下导出mbldx:-如果MbClass等于Corner,贝Umbldx=0;-否则,如果(MbClass==Vert),mbIdx=outB4x4X/4;-否则,如果(MbClass==Hori),mbIdx=outB4x4Y/4;-否贝U(即,MbClass==Center),mbldx=2*(outB4x4Y/4)+outB4x4X/4。(BLMBIdxX,BLMBIdxY)被设为mbAddrBase[mbIdx]。<table>tableseeoriginaldocumentpage28</column></row><table>表3当前和底层4x4块映射表(MapTab[])如果需要,步骤220包括导出每个HLMB分区的子分区模式或标记,即,如果mbLabel等于8x8。对于具有索引b8x8Idx的8x8块,子分区模式mbPartLabd被如下导出-如果BLMB边界垂直划分该8x8块,则mbPartLabelX被设为等于4。-否则,如果BLMB边界垂直划分该8x8块,则应用-如果所考虑的8x8块的对应BLMB利用INTRA编码,mbPartLabelX被设为等于-1。-否则,mbPartLabelX被如下导出(事实上其检查是否垂直底层子分割边界划分了该8x8块)。-设BL4x4B0是所考虑的索引B8x8Idx的8x8块左上4x4块的对应BL4x4块。-设subMbTypeBase0是包含BL4x4B0的子分区或分区的子分区或分区的类型(使用"4x4识别"处理进行识别,B8x8Idx和0作为输入参数)。-设BL4x4Bl是所考虑的索引B8x8Idx的8x8块右下4x4块的对应BL4x4块。-设subMbTypeBasel是包含BL4x4Bl的子分区或分区的子分区或分区的类型(使用"4x4识别"处理进行识别,B8x8Idx和3作为输入参数)。-将mbLabelX设为subMbTypeBaseO和subMbTypeBasel水平值中的最小值(例如,如果subMbTypeBaseO为4x8,则其水平值等于4)。如果这两个都是INTRA,则mbLabelX被设为INTRA。-否则,mbPartLabelX被设为等于8。-mbPartLabelY被如下导出。-如果BLMB边界水平划分该8x8块,贝UmbPartLabelY被设为等于4。-否则,如果BL8x8块边界水平划分该8x8块,则应用-如果所考虑的8x8块的对应BLMB利用INTRA编码,mbPartLabelY被设为等于-1。-否则,mbPartLabdX被如下导出(事实上其检查是否水平底层子分区边界划分了该8x8块)。-设BL4x4B0是所考虑的索引B8x8Idx的8x8块的左上4x4块的对应BL4x4块。-设subMbTypeBaseO是包含BL4x4B0的子分区或分区的子分区或分区的类型(使用"4x4识别"处理进行识别,B8x8Idx和0作为输入参数)。-设BL4x4Bl是所考虑的索引B8x81dx的8x8块右下4x4块的对应BL4x4块。-设subMbTypeBasel是包含BL4x4Bl的子分区或分区的子分区或分区的类型(使用"4x4识别"处理进行识别,B8x8Idx和3作为输入参数)。-将mbLabelY设为subMbTypeBaseO和subMbTypeBasel垂直值中的最小值(例如,如果subMbTypeBaseO为4x8,则其垂直值等于8)。如果这两个都是INTRA,则mbLabelX被设为INTRA。-否则,mbPartLabelY被设为等于8。-如果mbPartLabelX等于-1或者mbPartLabelY等于-1,mbPartLabel被设为等于INTRA。-否则,将mbPartLabel设置为mbPartLabelX和mbPartLabelY的值的级联(例如,如果mbPartLabelX等于8并且mbPartLabelY等于4,则mbPartLabel被设为8x4)。步骤30包括导出当前HLMB的每个分区/子分区的运动信息。运动信息被如下导出-识别所考虑的分区/子分区的左上HL4x4块;-使用表3,识别其对应BL4x4块;-从包含识别出的BL4x4块的BL分区/子分区中继承分区/子分区运动信息;如果BL分区/子分区是在INTRABLMB中,则从相邻的分区/子分区复制运动信息而不从INTRABLMB继承。索引为mbPartldx的分区的运动信息被如下导出-设NotlntraFlag为初始化为1的参数。-如果mbLabd不等于8x8,则应用-调用"4x4识别"处理以识别与所考虑的分区(索引mbPartldx)的左上BL宏块相对应的BL宏块、分区和可能的子分区。-如果该BL宏块是INTRA模式,NotlntraFlag被设为等于0。-否则,来自识别出的BL分区或可能的子分区的运动向量和参考索引被复制到所考虑的索引mbPartldx的分区。-否则,应用-设mbPartLabel是使用mbPartldx为输入的子步骤220所得到的子分区模式。-如果mbPartLabel等于INTRA,NotlntraFlag被设为等于0。-否则,则应用-针对所考虑的分区的每个子分区,从对应BL分区或可能的子分区继承运动向量和参考索引。如果该BL分区或任何子分区属于INTRABLMB,则从相邻的子分区之一复制运动向量和参考索引(首先检査水平相邻、然后是垂直、和对角线)。-实现运动信息均化子步骤,用于使所考虑的分区每个子分区具有相同的参考索引。对于每个列表(0和1),识别子分区中的最小参考索弓l。从具有等于该最小参考索引的参考索引的相邻子分区中,复制运动向量和参考索引不等于该最小参考索引的子分区的参考索引(首先检査水平邻居、然后是垂直和对角线)。将第三步骤30应用于所考虑的HLMB的每个分区。对于NotlntraFlag等于0的分区,从NotlntraFlag等于l的相邻子分区处复制其子分区模式、运动向量和参考索引(首先检查水平邻居、然后是垂直和对角线)。作为最小参考索引的代替,运动信息均化子步骤可以使用在当前分区中最通常使用的参考索引mbPartldx。步骤40包括縮放导出的运动向量。为了这目的,将运动向量縮放应用到导出的运动向量。使用以下公式来实现运动向量nn^(dx,dy)的縮放f《=*—6a化—w/础+6aye一w/淑/2*"'gw[《])/6ae—w/淑其中在x为正数时,sign[x]等于l,在x为负数时,sign[x]等于-l。因此,根据本发明的方法能够针对高分辨率图像中的至少一个宏块导出这些编码信息。然后,可以使用这些导出的编码信息对该高分辨率图像进行编码。在这种情况下,减小了编码高分辨率图像所需要的比特数目,这是因为对于编码信息已从低分辨率图像处导出了的每个宏块,在数据流中没有编码信息被编码。实际上,由于解码处理使用用于导出高分辨率图像的编码信息的相同方法,则其不需要传输。本发明涉及图11所示的一种编码设备8。该编码设备8包括第一编码模块80,用于编码低分辨率图像。模块80生成低分辨率图像的底层数据流和编码信息。优选地,该模块80适于生成与MPEG4AVC标准兼容的底层数据流。该编码设备8包括继承装置82,用于从由第一编码模块80生成的低分辨率图像的编码信息导出高分辨率图像的编码信息。该继承装置82适于实现根据本发明的方法的步骤10、20和30。该编码设备8包括第二编码模块81,用于编码高分辨率图像。第二编码模块81使用由继承装置82导出的编码信息以编码高分辨率图像。第二编码模块81因此生成增强层数据流。优选地,该编码设备8还包括模块83(例如复用器),用于将分别由第一编码模块80和第二编码模块81提供的底层数据流和增强层数据流组合成生成一个单独的数据流。与高分辨率图像相关的编码信息在数据流中不被编码,因为其己从与由模块80提供的低分辨率图像相关的编码信息被导出。这能够节约一些比特。本发明还涉及图12所示的一种解码设备9。该解码设备9接收由编码设备8生成的数据流。该解码设备9包括第一解码模块91,用于解码数据流中称为底层数据流的第一部分,以便生成该低分辨率图像和低分辨率图像的编码信息。优选地,该模块9i适于解码与MPEG4AVC标准兼容的数据流。该解码设备9包括继承装置82,用于从由第一解码模块91生成的低分辨率图像的编码信息中导出高分辨率图像的编码信息。该解码设备9包括第二解码模块92,用于解码数据流中称为增强层数据流的第二部分。第二解码模块92使用由继承装置82导出的编码信息以解码数据流中的第二部分。第二解码模块92由此生成高分辨率图像。有利地,设备9还包括提取模块90(例如解复用器),用于从所接收到的数据流中提取底层数据流和增强层数据流。根据另一个实施例,该解码设备接收两个数据流底层数据流和增强层数据流。在这种情况下,设备9不包括提取模块90。本发明并不限于所描述的实施例。具体地,针对两个图像序列(即,两个空间层)描述的本发明可被用于编码两个以上的图像序列。附录以下章节使用如下定义的伪码函数描述了导出步骤20(即,子步骤210和220)和步骤30的优选实现方式。子步骤210包括按照如下方式,针对每个HLMB导出分区模式mWLabel:-If(IMbBorderX|==4)or(|MbBorderY|==4)mbLabel=8x8一Otherwise,-If(MbClass==Center)-Letcptrlntrabeavariablesetequalto0;-ForB8x8ldxindexedby0,.3-lf(MbTypeBase[B8x8ldx]==INTRA)cptrlntra+=2-IfsplitBlock(B8x8BorderX,B8x8ldx,0)cptrlntra+=-1-IfsplitBlock(B8x8BorderY,B關dx,1)cptrlntra+=-1—If(cptrlntra>=4)mbLabel=INTRA;一Otherwise,mbLabel=8x8;一Otherwise,—if(MbClass==Corner)一mbTypeBaseSu行ixX=Su行ix(MbTypeBase[0],0)一mbTypeBaseSuffixY=Suffix(MbTypeBase[0],1)-is8x8Base=(MbTypeBase[0]==8x8)—Otherwise,if(MbClass==Vert)一mbTypeBaseSuffixX=8一mbTypeBaseSuffixY=minBlockSize(Suffix(MbTypeBase[0],1),Suffix(MbTypeBase[1],1))-is8x8Base=(mbTypeBaseO==8x8川(mbTypeBase1==8x8)-Otherwise,(i.e.ifMbClass==Hori)_mbTypeBaseSuffixX=minBlockSize(Suffix(MbTypeBase[0],0),Suffix,MbTypeBase[1],0))一mbTypeBaseSuffixY=8一is8x8Base-(mbTypeBaseO==8x8)||(mbTypeBase1==8x8)-lf(mbTypeBaseSuffixX==INTRA)or(mbTypeBaseSuffixY==INTRA)mbLabel=INTRA-Otherwise,-mbLabelX=min(16,mbTypeBaseSuffixX+|B8x8BorderX|)-mbLabelY=min(16,mbTypeBaseSuffixY+|B8x8BorderY|)-If(mbLabelX==12)or(mbLabelY==12)mbLabel=INTRA=8x8-Otherwise,-If(is8x8Base)and(mbLabelX!=8)and(mbLabelY!=8)-B8x8ldx=(1-sign(B8x8BorderX))+(1-sign(B8x8BorderY"/2-If(IB8x8BorderXI==8)_mbLabelX=min(mbLabelX,2*getSubMbtypeBaseDim(B8x8ldx,0"-lf(IB8x8BorderY|==8)-mbLabelY=min(mbTypeY,2*getSubMbtypeBaseDim(B8x8ldx,1))—mbLabel=mbLabelX—mbLabelY子步骤220包括如果需要,按照如下方式导出每个HLMB的子分区模式mbPartLabel:-LetmbPartLabelXbederivedbyinvokingcomputeSubMbTypeSize(MbBorderX,B8x8BorderX,b8x8ldx,0);-LetmbPartLabelYbederivedbyinvokingcomputeSubMbTypeSize(MbBorderY,B8x8BorderY,b8x8ldx,1);-If(mbPartLabelX==-1)or(mbPartLabelY==-1),mbPartLabel=INTRA;-OtherwisembPartLabel=mbPartLabelX—mbPartLabelY.步骤30包括导出索引mbPartldx的每个HLMB分区的运动信息。该步骤具有输入-宏块分区标记mbLabel;以及-宏块分区索引mbPartldx.和输出-referenceindicesRefldxLO[mbPartldx]andRefldxL1[mbPartldx;禾口-motionvectorsMvLO[mbPartldx][iIandMvL1[mbPartldx][i]withi=0..nbPart,andnbPartbeingthenumberofpartitionscorrespondingtombLabel.步骤30如下-IfJnheritPartitionMotion(mbLabel,predldx)isequalto0,thefollowingapplies:-Letpredldxbe3variablederivedbyinvokingcomputePredldx(subMbPartldx,1);-IfinheritPartitionMotion(mbLabel,predldx)isequalto0'thefollowingapplies:-predldxisderivedbyinvokingcomputePredldx(subMbPartldx,2)-inheritPartitionMotion(mbLabel,predldx)isinvoked;-RefldxLX[mbPartldx]=RefldxLX[predldx];-LetmbPartLabelbederivedbyapplyingsub-step210;-LetnbSubPartbethenumberofsub-partitionscorrespondingtombPartLabel;-ForsubMbPartldxindexedbyO..nbSubPart_1,thefollowingapplies:-MvLX[mbPartldx][subMbPartldx]=MvLX[predldx][subMbPartldx].Suffix(type,dim)该函数提供了名为'type'的可变变量的后缀,对应于方向dim(dim等于0为X,即水平方向,1为Y,即垂直方向)。如果输入为INTRA,返回INTRA。IftypeisanINTRAmode,returnsINTRA一Otherwise,thefollowingapplies一Thelastpartofthenameoftypeisfirstextracted(forinstance,16x8)-If(dim==0)thefirstdimensionvalueisreturned(16inthepreviousexample)-Otherwise,theseconddimensionvalueisreturned(8inthepreviousexample)SplitBlock(borderPos,b8x8Idx,dim)如果可能沿方向dim分区8x8块b8x81dx,也就是水平或垂直方向,该函数返回1。-lf(|D|==4)-lf(dim)return-(2*(b8x8ldx/2)-1))==sign(borderPos)一Otherwisereturn-(2*(b8x8ldx%2)—1))==sign(borderPos)—Otherwise,return0.minBlockSize(sizeO,sizel)该函数返回size0和sizel中的较小者。如果两个输入都是INTRA,则返回INTRA。-If(sizeO==INTRA)一If(size1==INTRA)returnINTRA一Otherwise,returnsizel一Otherwise,if(sizel==INTRA),returnsizeO一Otherwise,returnmin(sizeO,sizel)getMbtypeBaseDim(B8x8Idx,dim)相应于方向dim,该函数返回8x8块B8x81dx继承的底层宏块的mb—TypeSuffix。-lf(MbClass==Corner)—returnSuffix(MbTypeBase[0],dim)一Otherwise,jf(MbClass==Verti)-ifsp画ock(MbBorderX,B8x8ldx,0)-returnminBlockSize(Suffix(MbTypeBase[0],dim),Suffix(MbTypeBase[1],dim))一Otherwise,-mbldx=B8x8ldx%2一returnSuffix(MbTypeBase[mbldx],dim)一Otherwise,if(MbClass==Hori)-ifsplitBlock(MbBorderY,B8x8ldx,"—returnminBlockSize(Suffix(MbTypeBase[0],dim),Suffix(MbTypeBase[1],dim))一Otherwise,-mbldx=b8x8ldx/2一returnSuffix(MbTypeBase[mbldx],dim)—Otherwise,if(MbClass==Center)-IfspmBlock(MbBorderX,B8x8ldx,0)—returnminBlockSize(Suffix(MbTypeBase[0],dim),Suffix(MbTypeBase[1],dim))一Otherwise,_ifsplitBlock(MbBorderY,B8x8ldx,1)—returnminBlockSize(Suffix(MbTypeBase[O],dim),Suffix(MbTypeBase[1],dim))-Otherwise,returnSuffix(MbTypeBase[b8x8ldx],dim)getSubMbtypeBaseDim(B8x8Idx,dim)相应于方向dim,该函数返回8x8块B8x81dx继承的底层8x8块的submb—TypeSuffix一l_etsubMbTypeBaseOandsubMbTypeBase1bedefinedasfollows.一LetmbAddrBaseO,mbPartldxO,subMbPartldxObederivedbyinvokingfunctiongetBaseldx(B8x8ldx,0)一LetmbAddrBase1,mbPartldx1,subMbPartldx1bederivedbyinvokingfunctiongetBaseldx(B8x8ldx,3)一LetsubMbTypeBaseObethesub-MBtypeofpartitionmbPartldxOofmbAddrBaseO一LetsubMbTypeBase1bethesub-MBtypeofpartitionmbPartldx1ofmbAddrBase1一returnminBlockSize(Suffix(subMbTypeBaseO,dim),Suffix(subMbTypeBase1,dim)).getBaseldx(B8x8Idx,b4x4Idx)该函数分别返回4x4块B8x8Idx/b4x41dx继承的底层宏块地址、底层分区索引和可能存在的底层子分区索引(mbAddrBase,mbPartldxBase,subMbPartldxBase)。一LetidxBaseBXandidxBaseBYbedefinedasfollows.一LetMapTabbeTable3whichgivesthemappingbetweencurrentandbaselayer4x4blocksasafunctionofMbBorderZandB8x8BorderZ(withZequaltoXorY).-idxBaseBX=MapTab[MbBorderX,B8x8BorderX,2*(B8x8ldx%2)+(b4x4ldx%2-idxBaseBY=MapTab[MbBorderY,B8x8BorderY,2*(B8x8ldx/2)+(b4x4ldx/2)]<formula>formulaseeoriginaldocumentpage40</formula>陽IfgetsubMbtypeBaseDim(B8x8ldx,dim)==INTRA,thefunctionreturns-1-OtherwisethefunctionreturnsgetsubMbtypeBaseDim(B8x8ldx,dim)Otherwise,thefunctionreturns8.与运动数据继承相关的函数定义如下inhertPartitionMotion(mbLabel,mbPartldx)该函数执行宏块分区的运动数据继承。如果对应底层宏块为INTRA,不执行运动数据继承且函数返回0。否则执行运动数据继承,函数返回1。-If(mbLabel!=8x8),thefollowingapplies.-Letb8x8ldxbedefinedasfollows.-If(mbLabel==16x8)b8x8ldx=2*mbPartldx-Otherwiseb8x8ldx=mbPartldx-LetmbAddrBase,mbPartldxBase,subMbPartldxBasebederivedbyinvokingfunctiongetBaseldx(b8x8ldx,0).-Ifmb一typeofmbAddrBaseisINTRA,thefunctionreturns0.-Otherwise,forXbeingreplacedby0and1,RefldxLX[mbPartldx]andMvLX[mbPartldx][0]aresettothereferenceindexandmotionvectorofmbAddrBase/mbPartldxBase/subMbPartldxBase.-Otherwise,-LetmbPartLabelbederivedbyapplyinfsub-step220withmbPartldxasinput.-IfmbPartLabelisequaltoINTRA,thefunctionreturns0.-Otherwise,thefollowingapplies.-LetnbSubPartbethenumberofsub-partitionscorrespondingtombPartLabel.-LetrefldxBaseLO[i]andre她BaseL1[iIwithi=0..nbSubPart-1betwoarraysofvariables.-LetmvBaseLO[i]andmvBaseL1[i]withi=0..nbSubPart-1betwoarraysofmotionvectors.-ForsubMbPartldxindexedbyO..nbSubPart-1,themotioninheritanceisachievedasfollows.-IfinheritSubPartitionMotion(mbPartLabel,mbPartldx,subMbPartldx,refldxBaseLO,refldxBaseL1,mvBaseL0,mvBaseL1)isequalto0,thefollowingapplies.-LetpredldxbeavariableinitializedbyinvokingcomputePredldx(subMbPartldx,1》-IfinheritSubPartitJonMotion(mbPartLabel,mbPartldx,predldx,refldxBaseLO,refldxBaseL1,mvBaseL0,mvBaseL1)isequalto0,thefollowingapplies.-predldxisderivedbyinvokingcomputePredldx(subMbPartldx,2).-inheritSubPartitionMotion(mbPartLabel,mbPartldx,predldx,refldxBaseLO,refldxBaseL1,mvBaseL0,mvBaseL1)isinvoked.-ForXbeingreplacedby0and1,thereferenceindexmergingisachievedasfollows.-LetminRedldxLXbe3variablesettotheminimumreferenceindexoftherefldxBaseLX[i],withi=0..nbSubPart-1.-IfatleasttworefldxBaseLX[i]withi=0..nbSubPart-1,aredifferent,thefollowingapplies.-Foreachsub-macroblockpartition,indexedbysubMbPartldx=0..nbSubPart-1,-If(refldxBaseLX[subMbPartldx]!=minRefldxLX),thefollowingapplies.-LetpredldxbecomputedbyinvokingcomputePredldx(subMbPartldx,1).-If(refldxBaseLX[predldx!=minRefldxLX),predldxiscomputedbyinvokingcomputePredldx(subMbPartldx,2).-mvBaseLX[subMbPartldx]=mvBaseLX[predldx]-RefldxLX[mbPartldx]issettominRedldxLX.-Foreachsub-macroblockpartition,indexedbysubMbPartldx=0..nbSubPart-1,thefollowingapplies-MvLX[mbPartldx][subMbPartldx〗=mvBaseLX[subMbPartldx]-Thefunctionreturns1.inhertSubPartitionMotion(mbPartLabel,mbPartIdx,subMbPartldx,ref[dxBaseL0,ref[dxBaseLl,mvBaseLO,mvBaseLl)该函数执行子分区的运动数据继承。如果对应底层宏块为INTRA,不执行运动数据继承且函数返回0。否则执行运动数据继承,函数返回1。-Letb4x4ldxbedefinedasfollows.-If(mbPartLabel==8x4)b4x4ldx=2*subMbPartldx-Otherwiseb4x4ldx=subMbPartldx-LetmbAddrBase,mbPartldxBase,subMbPartldxBasebederivedbyinvokingfunctiongetBaseldx(mbPartldx,b4x4ldx)-IfmbjypeofmbAddrBaseisINTRA,thefunctionreturns0.-Otherwise,thefollowingapplies.-ForXbeingreplacedby0and1,refldxBaseLX[subMbPartldx]andmvBaseLX[subMbPartldx]aresettothereferenceindexandmotionvectorofmbAddrBase/mbPartldxBase/subMbPartldxBase.-Thefunctionreturns1.权利要求1、一种用于从低分辨率图像的至少一个图像部分的编码信息导出高分辨率图像的至少一个图像部分的编码信息的方法,每个图像被划分为非交迭宏块,所述方法的特征在于所述编码信息至少包括分区信息,被称为底层宏块的所述至少一个低分辨率图像部分的至少一个宏块,与被称为高层宏块的所述至少一个高分辨率图像部分的每个宏块相关联,从而当将所述至少一个高分辨率图像部分叠加在沿水平方向以第一预定义比率和沿垂直方向以第二预定义比率上采样的所述至少一个低分辨率图像部分上时,所述相关联的低分辨率宏块至少部分地与所述高分辨率宏块交迭,所述方法包括以下步骤-根据所述高层宏块相对于与所述高层宏块相关联的、被称为对应底层宏块的底层宏块的位置,计算(110)所述至少一个高分辨率图像部分中每个高层宏块的几何参数;-根据所述几何参数,导出(120)所述至少一个高分辨图像部分中每个高层宏块的宏块类别;以及-根据所述几何参数和所述高层宏块类别,从对应底层宏块的分区信息中导出(210)所述至少一个高分辨图像部分的每个高层宏块的分区信息。2、如权利要求l所述的方法,其中,坐标系统与每个高分辨率图像相关联,以及在所述高分辨率图像坐标系统中,针对被划分为非交迭块的每个高层宏块,计算(110)如下四个几何参数-第一几何参数是高层宏块中心和对应底层宏块的最近垂直边界之间的代数距离MbBorderX,该距离是根据第一方向定义的;-第二几何参数是高层宏块中心和对应底层宏块的最近水平边界之间的代数距离,该距离是根据第二方向定义的;-第三几何参数是高层宏块中心和对应底层宏块的块的最近垂直边界之间的代数距离,该距离是根据第一方向定义的;-第四几何参数是高层宏块中心和对应底层宏块的块的最近水平边界之间的代数距离,该距离是根据第二方向定义的。3、如权利要求1或2所述的方法,其中,所述编码信息还包括子分区信息,以及该方法还包括步骤如果有对应底层宏块,则根据所述几何参数和所述高层宏块类别,从对应底层宏块的分区信息和子分区信息中导出(220)所述至少一个高分辨率图像部分中高层宏块的子分区信息。4、如权利要求l-3之一所述的方法,其中,所述编码信息还包括运动信息,以及该方法还包括步骤从对应底层宏块的运动信息中导出(30)所述至少一个高分辨率图像部分中每个高层宏块的运动信息。5、根据引用权利要求3的权利要求4所述的方法,其中导出(30)所述至少一个高分辨率图像部分中每个高层宏块的运动信息的步骤包括如果有的话,导出所述高层宏块的每个分区的运动信息以及每个所述分区的每个子分区的运动信息。6、如权利要求5所述的方法,其中,一个宏块、一个分区或一个子分区的运动信息包括具有第一和第二分量的至少一个运动矢量以及从第一或第二参考索引列表中选择的、与所述运动矢量相关联的至少一个参考索引,所述索引识别参考图像。7、如权利要求6所述的方法,其中,用于导出(30)运动信息的步骤包括步骤针对所述至少一个高分辨率图像部分中的每个高层宏块,均化相同分区的子分区之间的运动信息,该步骤包括对于参考索引的每个列表--针对高层宏块的每个分区,识别所述参考索引列表的参考索引中所述子分区的最低索引;-将所述最低参考索引与当前参考索引不等于所述最低参考索引的每个所述子分区相关联,该当前参考索引成为在前参考索引;和-将在前参考索引与所述最低参考索引不同的每个所述子分区,与在前参考索引与所述最低参考索引相同的相邻子分区的运动向量相关联。8、如权利要求7所述的方法,其中,当首先检查水平相邻子分区、然后检查垂直相邻子分区、再检査对角相邻子分区时,关联运动矢量是遇到的第一相邻子分区的运动矢量。9、如权利要求7或8所述的方法,其中,利用以下公式縮放每个宏块、分区和子分区的运动向量的运动向量分量<formula>formulaseeoriginaldocumentpage4</formula>其中--4和dy表示导出的运动向量的坐标;-dw和d,y表示縮放的运动向量的坐标;-在x为正数时,sign[x]等于l,在x为负数时,sign[x]等于-l;-scaled—base—width禾卩scaled—base—height分别是高分辨率图像部分的宽和高;-base—width和base—height分别是低分辨率图像部分的宽和高。10、如权利要求3-9之一所述的方法,其中,宏块尺寸为16xl6像素,块尺寸为8x8像素,所述第一预定义比率等于所述第二预定义比率。11、如权利要求l-10之一所述的方法,其中,所述方法是用于编码视频信号的处理的一部分。12、如权利要求1-10之一所述的方法,其中,所述方法是用于解码视频信号的处理的一部分。13、一种用于编码至少髙分辨率图像序列和低分辨率图像序列的设备(8),每个图像被划分为宏块,所述设备包括-第一编码装置(80),用于编码低分辨率图像,该第一编码装置生成所述低分辨率图像的编码信息和底层数据流;-继承装置(82),用于从低分辨率图像的至少一个图像部分的编码信息中导出高分辨率图像的至少一个图像部分的编码信息;和-第二编码装置(81),用于使用导出的编码信息来编码所述高分辨率图像,所述第二编码装置生成增强层数据流;其特征在于,所述编码信息至少包括分区信息,继承装置(82)包括-关联装置,用于将被称为底层宏块的所述至少一个低分辨率图像部分的至少一个宏块,与被称为高层宏块的所述至少一个高分辨率图像部分的每个宏块相关联,从而当将所述至少一个高分辨率图像部分叠加在沿水平方向以第一预定义比率和沿垂直方向以第二预定义比率上采样的所述至少一个低分辨率图像部分上时,所述相关联的低分辨率宏块至少部分地与所述高分辨率宏块交迭;-计算装置,用于根据所述高层宏块相对于与所述高层宏块相关联的、被称为对应底层宏块的底层宏块的位置,计算所述至少一个高分辨率图像部分中每个高层宏块的几何参数;-第一导出装置,用于根据所述几何参数,导出所述至少一个高分辨图像部分中每个高层宏块的宏块类别;-第二导出装置,用于根据所述几何参数和所述高层宏块类别,从对应底层宏块的分区信息中导出所述至少一个高分辨图像部分的每个高层宏块的分区信息。14、如权利要求13所述的设备,其中,所述设备还包括用于将所述底层数据流和所述增强层数据流结合为单个数据流的结合模块(83)15、如权利要求13或14所述的设备,其中,所述第一编码装置是MPEG-4AVC视频编码器。16、一种用于解码由权利要求13至15之一所述的设备编码的至少高分辨率图像序列和低分辨率图像序列的设备(9),由数据流表示这些编码的图像,所述解码设备包括-第一解码装置(91),用于解码所述解码数据流中的至少第一部分,以生成低分辨率图像和所述低分辨率图像的编码信息;-继承装置(82),用于从低分辨率图像的至少一个图像部分的编码信息中导出高分辨率图像的至少一个图像部分的编码信息;和-第二解码装置(92),用于使用所述导出的编码信息来解码所述数据流的至少第二部分,以生成高分辨率图像;其特征在于,所述编码信息至少包括分区信息,继承装置(82)包括-关联装置,用于将被称为底层宏块的所述至少一个低分辨率图像部分的至少一个宏块,与被称为高层宏块的所述至少一个高分辨率图像部分的每个宏块相关联,从而当将所述至少一个高分辨率图像部分叠加在沿水平方向以第一预定义比率和沿垂直方向以第二预定义比率上采样的所述至少一个低分辨率图像部分上时,所述相关联的低分辨率宏块至少部分地与所述高分辨率宏块交迭;-计算装置,用于根据所述高层宏块相对于与所述高层宏块相关联的、被称为对应底层宏块的底层宏块的位置,计算所述至少一个高分辨率图像部分中每个高层宏块的几何参数;-第一导出装置,用于根据所述几何参数,导出所述至少一个高分辨图像部分中每个高层宏块的宏块类别;-第二导出装置,用于根据所述几何参数和所述高层宏块类别,从对应底层宏块的分区信息中导出所述至少一个高分辨图像部分的每个高层宏块的分区信息。17、如权利要求16所述的设备,其中,所述设备还包括提取装置(90),用于从所述数据流中提取所述数据流第一部分和所述数据流第二部分。18、如权利要求16或17所述的设备,其中,所述第一解码装置是MPEG-4AVC视频解码器。全文摘要本发明涉及使用一种用于导出编码信息的方法来进行空间可缩放编码和解码处理。更具体地,涉及一种用于从低分辨率图像的编码信息导出高分辨率图像的编码信息的方法。该方法主要包括以下步骤计算(110)特征在于高层宏块相对于对应底层宏块的位置的几何参数,并且从这些参数中导出(120)宏块类别;根据几何参数和HLMB类别,从对应底层宏块分区和子分区导出(20)针对所述高层宏块的每个分区的分区和可能的子分区;和从对应底层宏块的运动信息导出(30)所述高层宏块的运动信息。文档编号H04N7/26GK101213840SQ200680003950公开日2008年7月2日申请日期2006年2月14日优先权日2005年2月18日发明者尼古拉斯·比尔丹,帕特里克·洛佩兹,格温艾利·马康,热罗姆·维耶龙,爱德华·弗朗索瓦,纪尧姆·布瓦松申请人:汤姆森许可贸易公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1