用于对图像进行编码和解码方法、编码装置和解码装置、相应的数据流和计算机程序的制作方法

文档序号:7912020阅读:103来源:国知局
专利名称:用于对图像进行编码和解码方法、编码装置和解码装置、相应的数据流和计算机程序的制作方法
技术领域
本发明的技术领域涉及对图像进行编码和解码,尤其涉及由一系列的连续图像组成的视频流进行编码和解码。具体而言,本发明涉及使用以块表示的图像来压缩图像或图像序列。因此,本发明可尤其(但并不排他地)适用于在当前的视频编码器及其修改 (MPEG,H. 264,H. 264 SVC,H. 264 MVC等)或未来的视频编码器(ITU-T/VCEG (H. 265)或 ISO/ MPEG(HVC))中实施的视频编码,并适用于对应的解码。
2.
背景技术
数字图像和图像序列占据大量的存储空间,从而在传输这些图像时必需对这些图像进行压缩,以避免用于此传输的通信网络中的拥塞问题。实际上,用于此网络的位速率通常是有限的。目前已存在多种视频数据压缩技术。在这些技术中,大量的视频编码技术,尤其是 H. 264技术,使用相对于属于同一图像(帧内预测)或属于前一或后一图像(帧间预测)的其他像素对当前图像的像素进行预测的技术。具体而言,根据此H. 264技术,例如相对于通过运动补偿进行编码/解码的其他图像I、P或B (帧间预测)而言,图像I通过空间预测(帧内预测)来进行编码,图像P和图像B通过时间预测(帧间预测)来进行编码。为此,图像细分为宏块,宏块随后细分为块。一个块由一组像素组成。编码信息片段随后针对每个块进行传输。传统上,可通过以下方式完成对块的预测对块进行预测,并对即将添加到预测中的预测残余进行编码。所述预测通过已重建的信息(当前图像中的已编码/解码的前块, 视频编码环境中已初步编码的图像等)来实现。进行此预测性编码之后,像素块通过离散余弦变换型变换进行变换,接着进行量化。经量化的像素块的系数随后按照读取顺序扫描以便能够利用高频中大量的零系数,并接着通过熵编码进行编码。例如,根据H. 264技术,针对每个块对以下内容进行编码-编码类型(帧内预测、帧间预测、任何信息均未传输至解码器时的默认或跳跃预测);-分区类型;-关于预测的信息(方向、参考图像等);-运动信息(如有必要);-已编码系数,其对应于量化和熵编码后的变换残余;-等等。解码会逐个图像完成,且对于每个图像,解码会逐个宏块完成。对于每个宏块,读取流中的相应元素。宏块中块的系数的反量化和反变换完成。然后计算宏块的预测,并通过将预测添加到已解码的预测残余中来重建宏块。这些压缩编码技术很有效,但对于压缩包括具有类似特性(例如同质纹理)区域而言,这些技术却不是最佳的。具体而言,按照H. ^4/MPEG_4AVC标准,可相对于图像中的块对该同一图像中的另一块进行空间预测,前提是所述另一块是要预测的块的邻块,且在相对于此块的特定预定方向上,即通常在此块的上方或左侧,位于此块附近,这称为“因果”邻近。类似地,图像的块的运动矢量的预测是相对于邻块的运动矢量的因果预测。因此,此类预测无法利用不相交区域中具有相同纹理的块或在区域中彼此远离并具有相同纹理的块的纹理相似性。换言之,此类技术无法使具有共用特性的块同时作为单个整体。此外,同质纹理区域从一个图像到另一个图像的运动未在以下方面进行最佳应用 实际上,根据H. ^4/MPEG-4AVC标准的时间预测可利用块从一个图像到另一个图像的运动,而不可利用块在具有同质运动的区域中的从属关系。为解决这个问题,称为区域编码技术的某些技术已提议将视频序列的图像进行分害ι],以首先分离出这些图像中的同质运动和同质纹理区域,然后再对这些区域进行编码。这些区域确定这些图像中的目标,在这些目标上,例如可选择使用精密编码,或反之使用粗糙编码。但是,这些区域编码技术必需向作为视频序列目的地的编码器发送分割图,所述分割图针对每个图像在发送此视频序列的编码器中计算得出。就存储空间而言,此分割图十分昂贵,因为此分割图的边界通常不对应于所分割的图像的像素块的边界。此外,将视频序列分割为任意形状的区域具有不确定性分割图的边界通常不对应于实际目标的边界, 此分割图试图在视频序列的图像中细分这些实际目标。因此,只对这些分割图的表示和传输进行了标准化(MPEG-4标准的第2部分),而未对分割图的形成进行标准化。2009年2月20日代表当前申请人申请的国际专利申请案No. PCT/FR2009/050278 提议,使用块群集摂的视频压缩技术可克服上述某些缺点。具体而言,根据此技术,当图像序列的某些宏块共用例如有关运动的信息片段等共用信息片段时,就会被组合到群集中。 然后,针对群集中的所有宏块,仅对共用信息片段进行一次编码,并且在解码侧,属于群集的宏块从已解码的群集中获得有关运动的信息。此技术可通过防止对冗余信息进行编码来实现压缩增益。但是,根据此技术可证明,就位速率而言,在流中发送群集信号的成本很大。实际上,群集可包括图像或图像组的任何宏块。此外,因为宏块中的某些块或子块可被排除在群集之外,所以必需针对每个宏块报告所述宏块中的某些块或子块是否被排除了。因此,需要新图像编码/解码技术,以克服现有技术中的至少某些缺点,且优化数据流的发送,从而优化传输位速率。
3.

发明内容
本发明提出一种不具有现有技术中的所有这些缺点的新方法,其形式为一种对至少一个图像的序列进行编码的方法,所述图像通过将像素块组合在标准大小的组中而形成。根据本发明,此方法针对序列中图像的至少一组实施以下步骤-针对组中的每个块,确定所述块的至少一个特性参数;-根据确定步骤的结果,形成至少一个群集,所述至少一个群集包括具有至少一个类似特性参数的块;-对群集或各群集中的块进行编码,以针对每个群集传递有关群集编码的信息片段,与群集中的每个块关联的类似特性参数针对群集只编码一次;-对组中不属于任何群集的块进行编码,所述块称为外部块,针对每个外部块提供有关外部块编码的信息片段,与每个外部块关联的一个或多个特性参数未进行编码;此方法还实施以下步骤-生成表示序列的数据流,所述数据流包括有关群集编码的信息片段和有关外部块编码的信息片段;以及-将一个或多个组的至少一个有关分区的信息片段插入数据流中,以识别组中的一个或多个外部块。因此,本发明基于一种对图像进行编码的新发明方法,并提出一种技术,根据这种技术,不同块的特定数据,例如有关纹理、颜色或运动预测的数据,集中在具有类似纹理、颜色或类似运动预测矢量的块之间。换言之,如果相同类型的两个特性参数之间(例如两个运动矢量之间)的差值低于预定阈值,则认为这两个特性参数类似。根据本发明,与现有技术相比,组中的块的特定数据片段的集中方式十分灵活,其中所述块属于具有类似特性(例如纹理、颜色或同质运动)的区域。实际上,将组中具有类似特性(例如同质纹理等)的块组合在同一群集中可使同一组中彼此远离的块,即不相邻(未“直接”接触)的块,包括在此群集中。本发明还优化了传输信息量,从而优化了传输位速率。实际上,本发明无需将分割图传输至解码器,所述解码器是已编码的图像或各图像的目标解码器。与上文所述国际专利申请案n° PCT/FR2009/050278中描述的技术相比,本发明
还最小化群集信号发送成本。具体而言,在组合在标准大小的组中的像素块中建立群集实际上使群集形成间隔规则化,在所述间隔中,一个或多个群集可形成于同一组中。例如,根据本发明的一个优选实施例,标准大小的组是正方形组,其每列包括八个像素块,且每行包括八个像素块。因此, 可认为群集将一直建立在8 X 8像素块的组中。就空间而言,这些组可形成于图像中,就时间而言,这些组可形成在图像序列中。此外,根据本发明,有关分区的信息片段会插入数据流中,从而可识别组中不属于任何群集的一个或多个外部块。有关分区的此信息片段可在块组中-在分配至外部块群集的块之间设置“边界”, 所述外部块不具有与群集中的块类似的任何特性参数。此外,如果组中包括若干个群集,则 “边界”适应于群集的轮廓,例如折线,从而可分隔外部块与属于群集的块。此外,同一块可属于两个不同的群集,例如一个是通过运动矢量类型特性参数建立的,另一个是通过预测残余类型特性参数建立的。
鉴于在上文所述的第PCT/FR2009/050278号国际专利申请案中描述的现有技术中,必须针对每个宏块报告宏块的特定块或子块是否被排除,因此对于每组,只可传输一个有关分区的信息片段,以使用信号发送组中群集的外部块。最后,调整群集结构的类似特性参数未针对外部块进行编码,,其就信号发送而言,表示不可忽略的增益。根据本发明的一项特定实施例,组中的外部块形成组的至少一行和/或至少一列。这样,同一行或同一列中的所有块均会排除。由于在组中,如果一个块是外部块,那么外部块所属的行和/或列也将是外部的, 因此本发明的编码方法可限制信号发送和/或编码的成本,且/或可提高处理速度。根据一项特定实施例,组的有关分区的信息片段表示以下任意一种-组的垂直分区,其通过按照预定的路线顺序得到的相对第一个像素或块的垂直位移量设定,所述垂直位移量的单位为一个像素或块;-或者,组的水平分区,其按照相对于组中根据预定扫描顺序确定的第一像素或块的像素或块数量,通过水平移位来设定;-或者,组的对角线分区,其通过按照预定的路线顺序得到的相对第一个像素或块的垂直和/或水平位移量以及相对于所述组的垂直轴或水平轴的倾角设定,所述垂直和/ 或水平位移量的单位为一个像素或块。因此,本发明的编码方法可在组中设定“边界”,以分隔外部块与组中属于至少一个群集的块。组中的此“边界”可为垂直边界(组中的外部块随后形成至少一列)、水平边界(组中的外部块随后形成至少一行)或对角线边界,其具体取决于分区信息所表示的移位种类。例如,在实施“对角线边界”的一项实施例中,具有类似特性参数的块属于同一群集,该群集的边界在组中形成折线或“阶梯”。对应于此折线的有关分区的信息片段将以对角直线的形式进行编码,所述对角直线穿过形成“阶梯台阶”的块。解码时,例如,对于只包含一个群集的组,解码器将可对表示对角线边界的有关分区的信息片段进行解码,且如果对角直线穿过的块中的大部分像素相对于对角直线位于群集的一侧,则认为这个块属于该群集,否则,如果此块中大部分像素相对于对角直线位于群集的相对侧,则认为这个块是外部块。根据实施“对角线边界”的另一个实例,对角线上的第一个块和最后一个块可为不属于任何群集的外部块。此选择以在组中形成至少一整列和/或行的外部块形式来增加信号发送过程中的增益。这种分区规则将为解码器所了解。根据本发明的一个特定方面,所述特性参数属于包含以下参数的组-预测编码类型值,例如帧内预测、帧间预测、默认或跳跃预测;-运动矢量值;-零预测残余值,也称为“理想”预测;-变换类型值(在4X4像素、8X8像素、16X16像素等的块上执行的变换、定向变换等);-光照补偿系数值(此系数适用于从a*P+b型运动补偿得出的预测,其中a是加权系数,b是移位系数,P是预测值);-各个预测的加权系数值;-等等。通过这种方式,可集中并减少信号发送成本,与现有技术相比,此方式较为灵活。例如,与群集中的块关联的特性参数的值可对应于当前图像的群集中的块和参考图像的块之间的运动矢量值。此外,根据具体情况,当群集允许时,编码方法针对组成群集的块的集合确定若干类似特性参数。在此情况下,此若干参数针对群集进行编码。例如,如果同一组中的两个块具有类似预测方向值和类似运动矢量值,那么由这两个块形成的群集包括具有两个类似特性参数的块。根据另一个实例,群集将具有相同的运动参数(即运动矢量或各运动矢量)、图像列表中用于运动补偿的图像指数、运动矢量的预测方向、运动矢量的预测残余的块组合在一起。在预测模式指定两个运动矢量的特定情况下,群集的块也可共用这些矢量的加权系数。应注意的是,与群集关联的特性参数的值可对应于与群集中的块关联的特性参数的值。根据另一个实例,与群集关联的特性参数的值可对应于与群集中的每个块关联的类似特性参数的中间值,或者对应于群集中的块的特性参数的舍入值。例如,如果组中的若干块具有距离小于预定阈值(例如0.0005)的类似运动矢量,那么这些块可组合在同一群集中,且与群集关联的特性参数的值可对应于群集中每个块的运动矢量的平均值。本发明的另一方面涉及一种对表示至少一个图像的序列的数据流进行解码的方法,图像由组合成标准大小的组的像素块形成。根据本发明,此解码方法针对数据流中已编码的至少一组的块实施以下步骤-提取数据流中至少一个有关分区的信息片段,从而可在所述组中识别称为外部块的块,所述外部块不属于组中的任何群集,群集由组中具有至少一个类似特性参数的块形成;-通过所述数据流中有关群集编码的信息片段对所述组的至少一个群集中的块进行解码,所述解码包括以下步骤-对群集中的块进行解码,其实施对只针对群集编码一次的一个或多个特性参数的解码;-根据所述之前已解码的一个或多个特性参数对群集中的其他块进行解码的步骤;-根据之前已解码的邻块的至少一个特性参数,通过数据流中有关外部块编码的信息片段对所述外部块进行解码。因此,本发明的解码技术可在接收并读取编码和分区信息时,对各个组进行解码, 并重建图像序列。如之前关于编码所述,与组关联的有关分区的信息尤其可在同一组中确定外部块群集或各群集中的块之间的“边界”。此外,根据本发明,与外部块中的每个块关联的特性参数根据之前已解码的邻块的特性参数来确定。换言之,此参数将通过获取之前已解码的邻块的特性参数获得。因此应了解的是,此获取机制会形成新群集,在图像序列中,所述新群集的“边界”无需发送任何额外信号,即可延伸超过所述组。这种解码方法尤其适用于对根据上文所述得编码方法进行编码的数据流进行解码。当然,这种解码方法可包括涉及本发明的编码方法的不同特性。根据本发明的一项实施例,对于块组,所述解码方法如下-当有关分区的信息片段表示垂直分区时,与外部块关联的特性参数获取与直接位于外部块左侧的邻块关联的特性参数的值;-当有关分区的信息片段表示水平分区时,与外部块关联的特性参数获取与直接位于外部块上方的邻块关联的特性参数的值;-当有关分区的信息片段表示对角线分区时,根据所述分区信息片段设定的对角线分区线在所述组中的位置,与外部块关联的特性参数等于与位于外部块左侧和/或上方和/或左上方的邻块关联的特性参数的值的组合。这样,根据“边界”种类,无论是垂直、水平还是对角线边界,组中的“外部”块分别从直接位于左侧、上方或左上方的邻块获取特性参数,所述邻块之前已解码。本发明的另一方面涉及一种表示至少一个图像的序列的数据流,图像由组合成标准大小的组的像素块形成。根据本发明,此数据流携载-所述序列的图像的至少一组的有关分区的信息片段,其可在组中识别称为外部块的块,外部块不属于任何群集,群集由组中具有至少一个类似特性参数的块形成;-有关群集编码的信息片段,其是在对至少一个群集中的块进行编码的过程中针对至少一组获得的,与群集的块中的每个块关联的至少一个类似特性参数针对所述群集只编码一次;以及-有关外部块编码的信息片段,其是在对组中的外部块进行编码的过程中针对至少一组获得的,与外部块中的每个块关联的所述至少一个特性参数未进行编码。这种数据流尤其可通过上文所述的编码方法进行发送。当然,此数据流可包括涉及本发明的编码方法的不同特性。在另一项实施例中,本发明涉及一种对至少一个图像的序列进行编码的装置,图像由组合成标准大小的组的像素块形成。根据本发明,此编码装置包括针对序列中图像中的至少一组启用的下列构件-确定构件,其用于针对组中的每个块,确定所述块的至少一个特性参数;-形成构件,其用于根据确定构件的结果,形成至少一个群集,所述至少一个群集包括具有至少一个类似特性参数的块;-编码构件,其用于对群集或各群集中的块进行编码,以针对每个群集传递有关群集编码的信息片段,与群集中的每个块关联的类似特性参数针对群集只编码一次;-外部块编码构件,用于对组中不属于任何群集的块进行编码,所述块称为外部块,针对每个外部块提供有关外部块编码的信息片段,与外部块中的每个外部块关联的类似特性参数或各类似特性参数未进行编码;且所述装置的特征在于,所述装置还包括-生成构件,其用于生成表示序列的数据流,所述数据流包括有关群集编码的信息片段和有关一个或多个外部块编码的信息片段;以及-插入构件,其用于将一个或多个组的至少一个有关分区的信息片段插入数据流中,以识别组中的一个或多个外部块。这种编码装置尤其适用于实施上文所述的编码方法。例如,这种编码装置是MPEG 或H. 264型编码器,或根据未来编码标准的编码器。在另一项实施例中,本发明涉及一种对表示至少一个图像的序列的数据流进行解码的装置,图像由组合成标准大小的组的像素块形成。根据本发明,所述装置包括针对数据流中已解码的至少一组的块启用的下列构件-提取构件,其用于提取数据流中组的至少一个有关分区的信息片段,从而可在所述组中识别称为外部块的块,外部块不属于任何群集,群集由组中具有至少一个类似特性参数的块形成;-解码构件,其通过所述数据流中有关群集编码的信息片段对所述组中至少一个群集中的所述块进行解码,所述解码构件包括-对所述群集中的一个块进行解码的构件,其对所述一个或多个特性参数实施解码,所述一个或多个特性参数针对所述群集只编码一次;-对所述群集中的其他块进行解码的构件,所述构件会参考之前已解码的一个或多个特性参数;-外部块解码构件,其根据之前已解码的邻块的至少一个特性参数,通过数据流中有关外部块编码的信息片段对外部块进行解码。这种解码装置尤其适用于实施上文所述的解码方法。例如,这种解码装置是MPEG 或H. 264型解码器,或根据未来标准的解码器。本发明的另一方面涉及至少一个计算机程序,所述至少一个计算机程序包括在处理器执行所述程序时,执行上文所述的编码方法和/或上述解码方法的指令。应注意的是,实际上,编码方法和解码方法可通过多种方式实施,尤其是以有线形式或软件形式实施。
4.


通过下文对一项特定实施例的描述,并借助于简单的说明性而非详尽的实例,本发明的其他特征及优点将更加清楚,在这些附图中-图IA和图IB所示为根据本发明的一项实施例分别使用垂直分区和对角线分区进行编码的块组;-图2所示为根据本发明的一项特定实施例的编码方法的主要步骤;-图3所示为根据本发明的一项特定实施例的解码方法的主要步骤;-图4所示为根据本发明的一项实施例生成的数据流结构;-图5所示为使用水平分区对块组进行解码;-图6和图7所示分别为根据本发明的一项特定实施例的编码装置和解码装置的结构。5.
具体实施例方式5.1 —般原理本发明的一般原理是在至少一组标准大小的块中建立一个或多个块群集。此类群集通过将同一组中具有类似特性参数的块分组在一起来建立。这样就会“排除”组中不具有与另一个块类似的特性参数的块。该组中这些由此不属于任何群集的块称为外部块。因此,本发明的术语“组”表示预定大小的正方形或矩形块的集合,例如4X4块、 8X8块或8X4块等的集合。群集相当于该组中的块的子集,其包括具有至少一个类似或相近特性参数的块。一个组可包括零个、一个或多个群集。一个块可属于若干个群集。例如,组中的第一块具有等于mvl的运动矢量类型特性参数以及等于零的预测残余类型特性参数,同一组中的第二块具有实质上等于mvl的运动矢量类型特性参数,且同一组中的第三块具有等于零的预测残余类型特性参数。随后,第一块和第二块形成与等于mvl的运动矢量类型特性参数关联的第一群集,且第一块和第三块形成与等于零的预测残余类型特性参数关联的第二群集。本发明的技术还可生成数据流,所述数据流尤其携载有关分区的至少一个信息片段,其中分区会界定“边界”以分隔组中属于群集的块与此同一组中的外部块。与同一群集中的块关联的特性参数对该群集只编码一次,且有利地是,与每个外部块关联的特性参数未进行编码,以便提供信号传输增益。最后,在解码侧上,有关分区的信息用于识别组中的外部块。对由此识别的外部块进行解码尤其可通过获取之前已解码的邻块中的一个邻块的特性参数来完成。5. 2编码方法的实施例说明下文将描述本发明在编码侧上的运作方式。具体而言,图IA和图IB所示为根据本发明的一项实施例的要编码的块组。 此项实施例的具体情况为,所述组规则地设于序列的每个图像中,且具有(例如) 标准大小的8 X 8像素的4 X 4 ±夬。在至少一个块组(参考标号为1、2或3)中,对于该组的十六个块中的每个块,这个块的至少一个特性参数的值(例如与此块关联的预测方向值和/或运动矢量值)是确定的。根据这些参数,块随后在同一组中进行分组,以形成群集。可回想前文,群集是由组中具有类似特性参数的块组成。例如,图IA所示为参考标号为1和2的两个组。图IA中的组1位于附图左侧,其对群集的概念进行了很好的解释。在用于确定与每个块关联的特性参数的步骤进行后,第一组1中的块分别组合在三个群集11(对应于第一组1中的前两列)、12 (对应于第一组1中后两行和后两列的重合部分)和18 (对应于第一组1中前两行和后两列的重合部分,即块13至块16)中。例如,第一群集11中的块均携载实质上等于mv6的运动矢量,第二群集12中的块均携载实质上等于mv4的运动矢量,第三群集18中的块均携载实质等于mv3的运动矢量。根据本发明,每个群集中的块均会进行编码,从而针对每个群集传输有关群集编码的信息。与之相比,运动矢量对每个群集只编码一次。此特性参数可通过块在有关群集编码的信息中或有关群集编码的信息“外”进行编码。
例如,运动矢量mv6对形成第一群集11的八个块只进行一次编码,运动矢量mv4 对形成第二群集12的四个块只进行一次编码,且运动矢量mv3对形成第三群集18的四个块只编码一次。第一组11的特性参数的值对应于,例如,块100的运动矢量。换言之,特性参数(运动矢量mv6)对块100进行编码,所述块100按照组的预定扫描顺序是群集11的第一块,且所述特性参数不再对群集中的其他块进行编码。根据一项替代性实施例,如果组中某些块的运动矢量非常相近,从而证明它们会组合在群集中,那么与群集关联的特性参数的值可等于组成该群集的块的运动矢量的平均值。可注意的是,根据本发明,组1不包括任何外部块。在此情况下,不必传输任何分
区信息。图IA中的组2所示的情况为,组包括至少一个群集以及外部块。具体而言,在用于确定与每个块关联的特性参数的步骤进行后,位于附图右侧的第二组2中的某些块组合在由组2的后三列形成的群集17中。组2中的其他块形成该组的第一列,这些块相当于不具有与群集17中的块类似的任何特性参数的外部块。如图IA所示,第二组2具有对应于第二组2的垂直分区的“边界”。此分区用于识别第二组2中位于边界线1000左侧的外部块101、102、103和104。根据本发明,这些块101至块104通过组2的有关分区的信息片段报告为外部块, 且它们的特性参数(例如它们的运动矢量)未进行编码。此列外部块的"未编码"可能会获得有效的编码增益。第二组2中位于边界线1000右侧的块将通过解码获取与群集17关联的特性参数 (例如运动矢量mW)。外部块101至外部块104位于边界线1000左侧,其将通过解码获取与其之前已编码/解码的邻块或各邻块关联的特性参数。例如,如下文参照解码所描述的那样,块101至块104将获取位于左侧的邻块的特性参数,例如,块101将获取块15的运动矢量,块102将获取块16的运动矢量等。根据所使用的编码方案,确定是否针对这些外部块中的每个外部块计算预测残余,并根据具体情况确定随后是否在数据流中传输该预测残余。要将此组的分区用信号传输至解码器,则有关分区的信息片段会插入表示图像序列的数据流,并会在其中进行编码。例如,可对相对于块组的起点的垂直移位进行编码,以表示与组的起点上的分区线的距离。例如,在图IA中,垂直移位等于相对于第二组2的起点,即相对于第二组2的第一块(101)移位一个块。在解码时,解码器可对表示边界的分区信息进行解码,并如下文所述的那样,从中推断出“未编码的”特性参数的值。因此,组无论是携载一个或多个群集还是未携载任何群集,均会在数据流中使用信号进行传输。如果组有一个群集,那么该群集中的所有块可通过解码获取群集所携载的参数的值。因此,组的信号传输可在两个级上实现。第一信号级是固定的,且其对应于图像所细分成的标准大小的组,在所述组中可形成群集。第二级可将组划分成群集,以使其适应于图像特性,且对形成群集的不同块的类似特性参数进行编码,每个群集只编码一次。这种在两个级上进行的组的信号传输成本较低,同时保持了适应性。图IA中的第二组2的实例所示为群集的垂直分区。
自然地,可设想其他分区,尤其是组的水平分区或对角线分区。图IB所示为参考标号为3的组的另一个实例。图IB中的组3采用对角线分区方式进行划分。图IB中所示的用于划分组3的边界直线1050,或更严格地说是折线1060,界定了相对于参考标号为5的外部块集合的群集,该群集的参考标号为6。实际上,根据所示实施例,具有类似特性参数的块被视为属于同一群集6,严格地说,群集6的边界在组中形成的是折线1060或“阶梯状”线。对应于此折线1060的有关分区的信息将以对角直线的形式进行编码,所述对角直线贯穿形成“阶梯台阶”的块。因此, 属于群集6的块1010、1020、1030和1040的特征均为大部分像素位于群集6中在对角直线 1050右侧的“侧面”上。解码时,解码器可(例如)针对包括群集6的组3,对表示对角线边界的有关分区的信息片段进行解码,且如果对角直线1050穿过的块的大部分像素相对于对角直线1050 位于群集6的侧面,则认为这个块属于群集6,否则,如果这个块中的大部分像素相对于对角直线1050位于群集6的相对侧面,则认为这个块是外部块。根据另一项实施例,可假定强调块群集形成的规则,以使该群集的外部块形成至少一列和/或至少一行外部块。这样,块1010和块1040就不属于群集6,而属于一列或一行外部块。块1020和块1030仍属于群集6。这种分区规则将为解码器所了解。在此特定情况下,即在对角线分区的情况下,例如可对表示垂直移位和相对于水平线的倾角的有关分区的信息片段进行编码。根据另一项特定实施例,该实施例是本发明所理解的非最佳实施例,要编码的图像的至少一组可根据现有技术进行编码。在此情况下,图像的至少一组要进行编码,因此与不属于此组中任何群集的块关联的特性参数会进行编码。图2更准确地图示了根据本发明的一项特定实施例的在对图像序列进行编码的过程中实施的各个步骤。具体而言,考虑将当前图像20预先细分成标准大小的组,例如,如图IA和图IB所示的8X8像素的4X4块的组。编码方法针对当前图像20的至少一组,例如图IA所示的第二组2,实施以下步骤。首先,针对此组2中的每个块,确定21此块的特性参数。例如,该特性参数是与此块关联的运动矢量。然后,设法组合具有类似特性参数的块,从而在组2中形成22群集。例如,具有实质上等于mv2的运动矢量的块会分组在一起,从而获得如图IA所示的单个群集17。组2中不具有任何类似特性参数的其他块为外部块。例如,仍参考图IA所示的实施例,组2中不属于群集17的外部块101至外部块 104会进行编码23,以传输有关外部块编码的信息。应注意的是,根据本发明,与这四个块中的每个块关联的特性参数(例如运动矢量)未进行编码。然后,完成对群集17中的块进行编码24,以传输有关群集编码的信息。应注意的是,根据本发明,由于群集17中的十二个块具有实质上等于mv2的运动矢量,因此该特性参数对整个群集17只编码一次。组中的群集或外部块的编码顺序可根据组中的块的扫描顺序进行更改。因此,如果遇到的第一块是外部块,则对这些外部块进行编码,且随后在遇到属于群集的块时对群集进行编码。如果先遇到属于群集的块,则先对群集中的块进行编码,随后按照块的扫描顺序逐个对未编码的块进行编码操作。如果此块属于新群集,则对属于此新群集的所有块进行编码。如果此块是外部块,则“单独”对其进行编码,直至组中所有的块都已进行扫描。然后,数据流生成25,其携载表示第二组2的至少一个数据结构。此数据结构包括有关群集编码的信息片段,其对应于群集17的编码,以及有关此群集的外部块编码的信息片段,其对应于之前的阶段23和M中块101至块104的编码。最后,所述方法将有关分区的信息片段插入沈数据流或与组2有关的数据结构中,其中所述分区对应于可识别组2中的外部块101至外部块104的垂直边界线1000。参考图4,其所示为根据本发明的一项实施例实施编码方法过程中获得的数据流 4000的实例。在此实例中,属于图像序列的图像的每组像素块在此数据流4000中以数据结构 40的形式进行编码。此数据结构40表示像素块组(例如图IA所示的组2),所述像素块组包括有关分区的信息片段41,其包括表示分区类型(垂直、水平、对角线)的字段42,表示可使边界线位于组中的移位的字段43,以及表示边界线倾斜程度的字段44。此外,此数据结构也包括适用于外部块(例如图IA所示的组2中的块101至块104)的有关外部块60 编码的信息,以及涉及属于组中一个或多个群集(例如图IA所示的组2中的群集17)的块的有关群集70编码的信息。可想到,这些有关群集70编码的信息片段包括与群集关联的至少一个类似特性参数,所述特性参数对整个群集只编码一次。在群集与某些特性参数关联的特定情况下,插入数据流中的有关分区的信息片段还表示针对群集进行编码的特性参数的数量。例如,块组的有关分区的信息片段表示根据以下两个类似的特性参数建立的群集运动矢量和用于运动补偿的图像指数。可想到,分区以有关分区的信息片段的形式针对组只编码一次。此外,在此特定情况下,群集外部块的有关编码的信息片段表示,某些块因不具有相同的运动矢量而成为外部块,而其他块因不具有相同的用于运动补偿的图像指数而成为外部块。此外,在群集与若干不同特性参数关联的此特定情况下,本发明可将每个特性参数与优先级数据片段关联,以向解码器指定与群集关联的数据的解码顺序。5. 3解码方法的实施例说明参考图3,其所示为根据本发明的一项实施例的解码方法的主要步骤。首先,解码器接收30表示图像序列的流F,例如参考图4所述的流4000。对于表示像素块组的至少一个数据结构,所述方法实施以下步骤。所述方法提取31在数据结构中进行编码的像素块组的有关分区的信息片段。此提取步骤用于确定组中存在一个或多个群集以及不属于进行解码的组中的任何群集的外部块。为清晰起见,本文中应考虑所述组包括进行解码的组中的单个群集的情况。自然地, 所属领域一般技术人员将很容易地将此教示扩展为在同一组中具有若干个群集的组。因此,解码器可通过读取分区信息来重新划分组的边界线,以将群集与外部块隔开。如参考图4所述,此有关分区的信息片段41包括,例如,关于边界线类型、移位和倾斜程度的信息片段。随后,解码器对组中群集的块进行解码32。此解码包括两个子步骤320和321
-第一子步骤320可针对群集中的块(例如按照解码的预定扫描顺序的第一块) 对群集的特性参数进行解码。可想到,此特性参数针对整个群集只编码一次;-第二解码子步骤321对群集中的其他块进行解码,其中涉及之前已解码的特性参数。换言之,群集中的其他块获取之前已解码的特性参数。最后,解码器对群集的外部块进行解码33,其中涉及之前已解码的邻块的至少一个特性参数。具体而言,此解码涉及,例如,可为垂直、水平或对角线的边界线。因此,根据本发明的一项实施例-当有关分区的信息表示垂直分区时,与外部块关联的特性参数获取与直接位于外部块左侧的邻块关联的特性参数值;-当有关分区信息片段表示水平分区时,与外部块关联的特性参数获取与直接位于外部块上方的邻块关联的特性参数值;-当有关分区的信息片段表示对角线划分时,与外部块关联的特性参数等于与位于外部块左侧和/或上方和/或左上方的邻块关联的特性参数值的组合。参考图5,其所示为根据水平分区5000划分的块组中的外部块进行解码的另一个实例。图5所示为两个组51和50,组51之前已解码。水平边界线5000表示块组50的水平分区。此边界实际上将特性参数为运动矢量mv7的群集500与外部块501至外部块504 隔开。根据本发明的一项实施例,解码器向外部块501分配与组51中的邻块505关联的运动矢量mv8,所述邻块505位于组50中的块501的上方。同样地,解码器分别向块502、 503,504分配位于这些块上方的块506、507、508的运动矢量mv9、mvlO、mvll。根据使用的编码方案,解码器借助于向外部块分配的运动矢量进行运动补偿,并向外部块的预测值添加数据流中可能接收的预测残余。例如,根据一项替代性实施例,位于外部块502的左上方、上方以及右上方的块 505,506,507的运动矢量的线性组合(例如平均值)会分配给外部块502。由此可形成新群集,以扩展之前已解码的组中的群集。例如,块505和块501形成具有运动矢量mv8作为特性参数的新群集。此外,在群集与若干特性参数关联的特定情况,上文所述提取步骤可识别与所述群集关联的不同特性参数。然后,本发明的解码方法针对识别的每个特性参数重复对群集中的块进行解码的步骤,以及对群集的外部块进行解码的步骤。此外,在有关分区的信息片段表示对角线分区的特定情况下,解码器会,例如针对包括单个群集的组,对表示对角线边界的分区信息片段进行解码,且如果群集的大部分像素相对于对角边界线位于群集一侧,则解码器可向此群集分配对角线所穿过的块。5. 4编码装置和解码装置的结构现参考图6和图7,其所示为根据上文所述各项实施例的编码和解码装置的简化结构。如图6所示,此类编码装置包括存储器61,其包括缓冲存储器;以及处理单元62, 其配备有(例如)微处理器μ P且受计算机程序63驱动;所述编码装置实施本发明的编码方法。
例如,初始化时,计算机程序代码指令63加载到RAM中,并随后由处理单元62的处理器执行。处理单元62输入至少一个图像的序列。处理单元62的微处理器根据计算机程序63的指令实施上文所述的编码方法的步骤,以对图像序列进行编码。为此,除了缓冲存储器61之外,所述编码装置包括确定构件,用于针对图像的至少一个组中的每个块,确定所述块的至少一个特性参数;形成构件,用于形成至少一个群集,所述群集包括具有至少一个类似特性参数的块;用于对群集或各群集中的块进行编码的构件;用于对不属于任何群集的外部块组进行编码的构件;生成构件,用于生成表示序列的数据流;以及插入构件, 用于将一个或多个组的至少一个有关分区的信息片段插入数据流中。这些构件由处理单元 62的微处理器进行驱动。因此,处理单元62向至少一个编码装置传输数据流,所述数据流表示包括有关分区、群集编码和外部块编码的信息的图像序列。如图7所示,此类解码装置包括存储器71,所述存储器71包括缓冲存储器;处理单元72,其配备有(例如)处理器μ P且受计算机程序73驱动;所述解码装置实施本发明的解码方法。例如,初始化时,计算机程序73的代码指令加载到RAM中,并随后由处理单元72 的处理器执行。处理单元72输入表示图像序列的数据流,所述图像序列包括有关分区、群集编码和外部块编码的信息。处理单元72的微处理器根据计算机程序73的指令实施上文所述的解码方法的步骤,从而对已编码的块进行解码。为此,除了缓冲存储器71外,解码装置除包括提取构件,用于提取组的至少一个有关分区的信息片段;根据数据流中的群集编码信息对组中一个群集的块进行解码的构件;以及通过数据流中的外部块编码信息对外部块进行解码的构件。这些构件由处理单元72的微处理器驱动。
1权利要求
1.一种用于对至少一个图像的序列进行编码的编码方法, 图像00)由组合成标准大小的组(1)的像素块形成,所述编码方法的特征在于,所述编码方法针对所述序列中图像的至少一组(1)实施以下步骤-针对所述组中的每个所述块,确定所述块的至少一个特性参数; -根据所述确定步骤的结果,形成02)至少一个群集(11),所述至少一个群集(11)包括具有至少一个类似特性参数的块;-对所述至少一个群集中的所述块进行编码(M),针对每个群集提供有关群集编码的信息片段(70),与群集(11)中的每个块关联的所述类似特性参数针对所述群集(11)只编码一次;-对所述组中不属于任何群集的块进行编码(23),所述块称为外部块(101),针对每个外部块提供有关外部块编码的信息片段(60),与所述外部块中的每个块关联的所述一个或多个特性参数未进行编码;且所述编码方法的特征在于,所述编码方法还实施以下步骤-生成0 表示所述序列的数据流(4000),所述数据流0000)包括所述有关群集编码的信息片段和所述有关外部块编码的信息片段;以及-将所述一个或多个组的至少一个有关分区的信息片段Gl)插入06)所述数据流 (4000)中,以识别组中的所述一个或多个外部块。
2.根据权利要求1所述的编码方法,其特征在于,组(1)的所述外部块(101)形成所述组的至少一行和/或至少一列。
3.根据权利要求1所述的编码方法,其特征在于,组(1)的所述有关分区的信息片段 (41)表示以下内容-所述组的垂直分区(1000),其通过按照预定的路线顺序得到的相对第一个像素或块的垂直位移量设定,所述垂直位移量的单位为一个像素或块;-或者,所述组的水平分区(5000),其通过按照预定的路线顺序得到的相对第一个像素或块的水平位移量设定,所述水平位移量的单位为一个像素或块;-或者,所述组的对角线分区(1050),其通过按照预定的路线顺序得到的相对第一个像素或块的垂直和/或水平位移量以及相对于所述组的垂直轴或水平轴的倾角设定,所述垂直和/或水平位移量的单位为一个像素或块。
4.根据权利要求1所述的编码方法,其特征在于,所述特性参数属于包含以下参数的组预测编码类型值; 运动矢量值; 零预测残余值; 变换类型值; 光照补偿系数值; 各个预测的加权系数值。
5.一种用于对表示至少一个图像的序列的数据流G000)进行解码的解码方法, 图像00)由组合成标准大小的组(1)的像素块形成,所述解码方法的特征在于,所述解码方法针对所述数据流(F,4000)中进行编码的至少一组(1)的块实施以下步骤-提取(31)所述数据流G000)中存在的所述组(1)的至少一个有关分区的信息片段 (41),从而可在所述组中识别称为外部块(101)的块,外部块不属于所述组中任何群集,群集(11)由所述组中具有至少一个类似特性参数的块形成;-通过所述数据流G000)中有关群集编码的信息片段(70)对所述组中至少一个群集 (11)中的所述块进行解码(32),所述解码(3 包括以下步骤-对所述群集(11)中的块进行解码(320),实施对于所述群集仅被编码一次的所述一个或多个特性参数的解码;-根据所述之前已解码的一个或多个特性参数,对所述群集(11)中的其他块进行解码 (321);-根据之前已解码的邻块的至少一个特性参数,通过所述数据流G000)中有关外部块编码的信息片段(101)对所述外部块进行解码(33)。
6.根据权利要求5所述的解码方法,其特征在于-当所述有关分区的信息片段表示垂直分区(1001)时,与外部块(101)关联的特性参数获取与直接位于所述外部块左侧的邻块关联的特性参数的值;-当所述有关分区的信息片段Gl)表示水平分区(5000)时,与外部块(101)关联的特性参数获取与直接位于所述外部块上方的邻块关联的特性参数的值;-当所述有关分区的信息片段表示对角线分区(1050)时,根据所述分区信息片段设定的对角线分区线在所述组中的位置,与外部块(101)关联的特性参数等于与位于所述外部块左侧和/或上方和/或左上方的邻块关联的特性参数的值的组合。
7.一种表示至少一个图像的序列的数据流(4000),图像由组合成标准大小的组的像素块形成,所述序列的特征在于,所述数据流携载-所述序列的图像的至少一组的有关分区的信息片段(41),其可在所述组中识别称为外部块的块,外部块不属于任何群集,所述群集由所述组中具有至少一个类似特性参数的块形成;-有关群集编码的信息片段(70),其是针对至少一组,在对至少一个群集中的块进行编码的过程中获得的,与群集的所述块中的每个块关联的至少一个类似特性参数针对所述群集只编码一次;以及-有关一个或多个外部块编码的信息片段(60),其是针对至少一组,在对所述组中的所述外部块进行编码的过程中获得的,与所述外部块中的每个外部块关联的所述至少一个特性参数未进行编码。
8.一种用于对至少一个图像的序列进行编码的装置, 图像由组合成标准大小的组的像素块形成,所述装置的特征在于,所述装置包以下构件,所述装置包括针对所述序列中所述图像中的至少一组启用的下列构件-确定构件,其用于针对所述组的所述块中的每个块确定所述块的至少一个特性参数;-形成构件,其用于根据所述确定构件的结果,形成至少一个群集,所述至少一个群集包括具有所述至少一个类似特性参数的所述块;-编码构件,其用于对所述至少一个群集中的所述块进行编码,针对每个群集提供有关群集编码的信息片段,与群集的所述块中的每个块关联的所述一个或多个类似特性参数针对所述群集只编码一次;-外部块编码构件,其用于对所述组中不属于任何群集的称为外部块的所述块进行编码,从而针对每个外部块传递有关外部块编码的信息片段,有关所述外部块中每个块的所述一个或多个特性参数未进行编码;且所述装置的特征在于,所述装置还包括-生成构件,其用于生成表示所述序列的数据流,所述数据流包括所述有关群集编码的信息片段和所述有关一个或多个外部块编码的信息片段;以及-插入构件,其用于将所述一个或多个组的至少一个有关分区的信息片段插入数据流中,以识别所述组中的所述一个或多个外部块。
9.一种用于对表示至少一个图像的序列的数据流进行解码的装置, 图像由组合成标准大小的组的像素块形成,所述装置的特征在于,所述装置包括针对所述数据流中已解码的至少一组的块启用的下列构件-提取构件,其用于提取所述数据流中所述组的至少一个有关分区的信息片段,从而可在所述组中识别称为外部块的块,外部块不属于任何群集,群集由所述组中具有至少一个类似特性参数的块形成;-解码构件,其通过所述数据流中有关群集编码的信息片段对所述组中至少一个群集中的所述块进行解码,所述解码构件包括-对所述群集中的一个块进行解码的构件,其对所述一个或多个特性参数实施解码,所述一个或多个特性参数针对所述群集只编码一次;-对所述群集中的其他块进行解码的构件,其会考虑所述之前已解码的一个或多个特性参数;-外部块解码构件,其根据之前已解码的邻块的至少一个特性参数,通过所述数据流中有关外部块编码的信息片段对所述外部块进行解码。
10.一种计算机程序,其包括在处理器执行所述程序时,执行根据权利要求1至6中任一权利要求所述的编码方法的指令。
全文摘要
本发明涉及一种对图像序列进行编码的方法,对于图像的至少一组的块,所述方法包括以下步骤针对每个块,确定(21)所述块的至少一个特性参数;形成(22)至少一个群集,所属群集包括具有至少一个类似特性参数的块;对所述群集中的所述块进行编码(24),与所述群集关联的所述类似特性参数只编码一次;对不属于任何群集的所述块进行编码(23),与所述块中的每个块关联的所述特性参数未进行编码。所述方法还包括生成(25)数据流;以及插入(26)步骤,其用于在所述流中插入所述组的至少一个有关分区的信息片段,以识别组中的外部块。
文档编号H04N7/26GK102484698SQ201080028064
公开日2012年5月30日 申请日期2010年6月17日 优先权日2009年6月23日
发明者伊莎贝尔·阿莫努, 娜塔莉·伽玛, 斯蒂芬·巴特 申请人:法国电信
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1