专利名称:帧运动补偿编码、解码方法、装置的制作方法
技术领域:
本发明涉及视频编解码领域,尤其涉及一种帧运动补偿编码、解码方法、装置。
背景技术:
在现有视频文件的编码算法中,对于P帧和B帧的运动补偿方案一般是假设当前 编码帧相对于参考帧仅存在X方向和Y方向的位移例如P帧是假设当前编码帧相对于其 前向参考帧仅存在X方向和Y方向的位移、B帧是假设当前编码帧相对于其前向和后向参 考帧仅存在X方向和Y方向的位移。然而,在实际过程中,帧与帧之间的运动变化往往是复杂多样的,很多帧内图像细 节无规律的变化并不仅限于平移,传统的运动参考模型在图像运动变化的方面无法很好的 表现出来,造成了当前编码帧和参考帧之间差异较大,那么就导致编码效率较低,压缩性能 还有待于提高。综上所述,现有技术在处理帧与帧之间的图像变化时,无法很好的处理图像之间 的无规律变化,导致编码效率、压缩性能低。
发明内容
本发明实施例的目的在于提出一种帧运动补偿编码、解码方法,旨在解决现有技 术在处理帧与帧之间的图像变化时,无法很好的处理图像之间的无规律变化,导致编码效 率、压缩性能低问题。本发明提供一种帧运动补偿编码方法,该方法包括确定当前编码帧和参考帧之间对应的标记点参数;根据所述标记点参数对参考帧进行扭曲变换,得到扭曲参考帧;当前编码帧划分成宏块,采用所述基于扭曲参考帧的运动补偿、基于原始参考帧 的运动补偿编码代价最小的形式对当前编码帧进行编码,若采用了当前编码帧对应的扭曲 参考帧进行编码,则将所述扭曲参考帧标识位置1,并存储所述标记点参数。其中,所述采用基于扭曲参考帧的运动补偿、基于原始参考帧的运动补偿的编码 代价最小的形式对当前编码帧进行编码获取所述当前编码帧每一个宏块对应的扭曲参考 帧的编码代价的和A、以及获取所述当前编码帧每一个宏块对应的参考帧的编码代价的和 B,以及生成扭曲参考帧所需的额外编码代价D ;若A+D小于B,则采用所述扭曲参考帧进行 编码。其中,所述采用所述扭曲参考帧、参考帧编码代价最小的形式对当前编码帧进行 编码具体为比较当前编码帧每一个宏块对应的扭曲参考帧编码代价与参考帧编码代价大 小;然后获取当前编码帧每一个宏块对应的扭曲参考帧编码代价与参考帧编码代价较小的 编码代价和C,以及获取所述当前编码帧每一个宏块对应的参考帧编码代价的和B,以及生 成扭曲参考帧所需的额外编码代价D ;若和C+D小于和B,则采用当前编码帧的每一个宏块 对应的编码代价较小的扭曲参考帧或参考帧进行编码。
其中,所述的参考帧为当前编码帧的前向参考帧;所述标记点参数包括标记点集、标记点数量、标记点位移量(detaX,detaY)、扭 曲限制参数范围。其中,其特征在于,所述步骤根据所述标记点参数对所述参考帧进行扭曲变换,得到扭曲参考帧具 体为f(Pi) = Qi (其中Pi为参考帧上的点,qi为当前编码帧上面的对应点, 为正整数))ηfx (χ, y) = χ+ Yj wxiU(\ - (x,^) I)/=1 ηtools] fy (x,y) = y+^ wytu(\ ρι ~ ^ D、(1)其中w是指对应标记点的扭曲加权值,Wxi表示在第i个标记点对当前坐标的X方 向上的扭曲加权;Wyi表示在第i个标记点对当前坐标的y方向上的扭曲加权;所述系数w具体由下式求出,Kw+P = Q(2)其中,P= (Pl,p2,…,pn)T, Q = (q17 q2,…,qn)T, Cli = Pi+(detaX, detaY),K 为 nXn矩阵,Kij = U(riJ),riJ为参考帧上第i个标记点到第j个标记点的距离Uxl…Uu'·· ·K =υηλ……I其中U(rij)具体为U(r)一 tiΨ3,0(Γ/α) = (1-r/a)2+Ψ3,1(Γ/α) = (1-r/aY+(4r/a + \)Ψ3>2(Γ/α) = (1-r/a)6+(35-(r/a)2 +18"其中a为扭曲限制范围的参数,Ψ3,0 Ψ⑶ ⑷^(5)Ψ3,2对应上述的U(ru),r为参考帧上 第i个标记点到第j个标记点的距离。本发明还提供一种帧运动补偿解码方法,该方法包括判断扭曲参考帧标识位是否置1,若是则根据标记点参数对扭曲参考帧进行解码。其中,若扭曲参考帧标识位没有置1,则根据参考帧进行解码。本发明还提供一种帧运动补偿编码装置,该装置包括标记点参数单元,用于确定当前编码帧和参考帧之间对应的标记点参数;扭曲参考帧单元,用于根据所述标记点参数对参考帧进行扭曲变换,得到扭曲参 考帧;处理单元,用于将当前编码帧划分成宏块,采用所述基于扭曲参考帧的运动补偿、 基于原始参考帧的运动补偿编码代价最小的形式对当前编码帧进行编码,若采用了当前编码帧对应的扭曲参考帧进行编码,则将所述扭曲参考帧标识位置1,并存储所述标记点参数。其中,所述的处理单元,用于采用基于扭曲参考帧的运动补偿、基于原始参考帧的 运动补偿的编码代价最小的形式对当前编码帧进行编码获取所述当前编码帧每一个宏块 对应的扭曲参考帧的编码代价的和A、以及获取所述当前编码帧每一个宏块对应的参考帧 的编码代价的和B,以及生成扭曲参考帧所需的额外编码代价D ;若A+D小于B,则采用所述 扭曲参考帧进行编码。其中,所述的处理单元,用于采用所述扭曲参考帧、参考帧编码代价最小的形式对 当前编码帧进行编码具体为比较当前编码帧每一个宏块对应的扭曲参考帧编码代价与参 考帧编码代价大小;然后获取当前编码帧每一个宏块对应的扭曲参考帧编码代价与参考帧 编码代价较小的编码代价和C,以及获取所述当前编码帧每一个宏块对应的参考帧编码代 价的和B,以及生成扭曲参考帧所需的额外编码代价D ;若和C+D小于和B,则采用当前编码 帧的每一个宏块对应的编码代价较小的扭曲参考帧或参考帧进行编码。其中,所述标记点参数用于确定当前编码帧和前向参考帧之间对应的标记点参 数具体为标记点集、标记点数量、标记点位移量(detaX,detaY)、扭曲限制参数范围。其中,所述的扭曲参考帧单元,用于根据所述标记点参数对参考帧进行扭曲变换, 得到扭曲参考帧具体为f (Pi) = Qi(其中Pi为参考帧上的点,Qi为当前编码帧上面的对应 点,1彡i彡n(n为正整数))η
= χ + ΣPi 一(文,少)I)/=1 ηfy O,少)=} + Σ 丨 pi - 少)I)/=1其中w是指对应标记点的扭曲加权值,Wxi表示在第i个标记点对当前坐标的X方 向上的扭曲加权;Wyi表示在第i个标记点对当前坐标的y方向上的扭曲加权;所述系数w具体由下式求出,Kw+P = Q其中,P= (Pl,p2,…,pn)T, Q = (q17 q2,…,qn)T, Cli = Pi+(detaX, detaY),K 为 nXn矩阵,Kij = U(riJ),riJ为参考帧上第i个标记点到第j个标记点的距离"C/π Un …Ui;^mmJ" 1· ··争《K= 21U(r)=判,妒/ a) = (l-r/a)l(4r/a + \)yVx2(rla) = {\-rlaY+{Z5-{rla)2 +18r/a + 3)其中a为扭曲限制范围的参数,Ψ3,C1 Ψ3>1 Ψ3,2对应上述的U(rij),r为参考帧上 第i个标记点到第j个标记点的距离。本发明还提供一种帧运动补偿解码装置,该装置包括
判断单元,用于判断扭曲参考帧标识位是否置1 ;解码单元,若判断出扭曲参考帧标识位置1,则根据标记点参数对扭曲参考帧进行 解码。其中,所述解码单元,进一步用于若判断出扭曲参考帧没有置1,则根据参考帧进 行解码。综上所述,本发明通过记录当前编码帧和参考帧之间一系列特征点的位移情况, 构建映射函数对原始参考帧进行扭曲变换,得到一个新的扭曲参考帧。由于标记点记录了 当前帧与参考帧之间的无规律变化情况,扭曲参考帧与当前编码帧更为近似,因此更有利 于节省码率。当得到这个新的扭曲参考帧后,进一步判断根据参考扭曲参考帧进行编码所 需代价是否小于采用原始参考帧编码,如果是则采用扭曲参考帧进行编码,否则采用其他 形式编码;本发明提供的方法可以在考虑帧与帧之间图像无规律变化的情况下以编码代价 最小的方式进行编码,解决了现有技术的问题。
图1是本发明实施例1帧运动补偿编码的方法流程图;图2是本发明实施例2P帧运动补偿编码的方法流程图;图3为P帧前向参考帧上标记点示意图;图4为P帧对应其前向参考帧标记点示意图;图5为当前编码帧划分成宏块示意图;图6为当前编码帧宏块对应的扭曲参考帧编码代价示意图;图7为当前编码帧宏块对应的参考帧编码代价示意图;图8是本发明实施例3帧运动补偿编码的方法流程图;图9为本发明实施例4帧运动补偿解码方法流程图;图10为本发明实施例5帧运动补偿编码装置示意图;图11为本发明实施例6帧运动补偿解码装置示意图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图和实施例,对 本发明进行进一步详细说明,为了便于说明,仅示出了与本发明实施例相关的部分。应当理 解,此处所描写的具体实施例,仅仅用于解释本发明,并不用以限制本发明。实施例1,本发明实施例提供了一种帧运动补偿编码方法,参见图1,该方法具体 为步骤101 确定当前编码帧和参考帧之间对应的标记点参数;当前编码帧为P帧时,参考帧为其前向编码帧,也就是本领域技术人员通常所说 的原始参考帧。所述标记点参数包括标记点集、标记点数量、标记点位移量、扭曲限制参数范围; 其中的标记点集包括了当前编码帧和参考帧之间一一对应的标记点对;当前编码帧是P帧 时,标记点位移量是(detaX,detaY)。其中标记点集、标记点数量、扭曲限制参数都可以是根据参考帧和编码帧的图像情况而设定,本发明并不进行限定。步骤102 根据所述标记点参数对参考帧进行扭曲变换,得到扭曲参考帧;步骤103 当前编码帧划分成宏块,采用所述基于扭曲参考帧的运动补偿、基于原 始参考帧的运动补偿编码代价最小的形式对当前编码帧进行编码,若采用了当前编码帧对 应的扭曲参考帧进行编码,则将所述扭曲参考帧标识位置1,并存储所述标记点参数;若没 有采用扭曲参考帧进行编码,则将扭曲参考帧标识位置0则采用参考帧进行编码,不记录 标记点参数。在步骤103中,由于本领域技术人员通常在进行帧编码时,有时候也会采用帧内 预测的形式进行编码,将当前帧宏块对应的帧内预测编码代价最小的部分内嵌到参考帧的 编码代价中,来以最小的编码代价进行编码;因此本发明所述的采用参考帧编码代价的形 式也可以包括帧内预测的编码代价,在此并不做限制。在本发明的技术方案中有时也就会出现帧内预测的编码代价较小的情况,那么此 时可以将当前编码帧的宏块对应的帧内预测的编码代价最小的部分内嵌到扭曲参考帧中, 从而最终采用扭曲参考帧+帧内预测编码代价与参考帧+帧内预测编码代价最小的形式进 行编码。由于帧内预测是一种本领域技术人员通用的做法,因此采用帧内预测内嵌入扭曲 参考帧和参考帧编码代价的形式并不构成对本发明的限制。本发明实施例1通过确定当前编码帧和参考帧之间的标记点参数,并通过标记点 参数对参考帧进行扭曲变换,新得到一个扭曲参考帧;由于这个参考帧通过选择各个方向 的标记点,因此考虑了帧与帧之间图像无规律变化的情况;当得到这个新的扭曲参考帧后, 进一步判断根据该扭曲参考帧后是否为编码代价最小,如果是则进行编码;通过这一步的 比较过程可以进一步确定本发明采用代价最小的方式进行编码,因此本发明提供的方法可 以在考虑帧与帧之间图像无规律变化的情况下以编码代价最小的方式进行编码。实施例2,本发明实施例提供了一种P帧运动补偿编码方法,参见图2,该方法具体 为步骤201 确定当前编码帧P帧和P帧前向参考帧之间对应的标记点参数;详细的标记点可以参见图3和图4,如图3所示,该图表示了参考帧,也就是P帧前 向参考帧上的标记点;如图4所示,该图表示了当前编码帧,也就是P帧上与其前向参考帧 标记点一一对应的标记点;这些标记点参数包括了 标记点集、标记点数量、标记点位移量 (detaX,detaY)、扭曲限制参数范围。步骤202 根据所述标记点参数对P帧前向参考帧进行扭曲变换,得到扭曲参考 帧;得到扭曲参考帧的详细方法为利用选好的参考帧和扭曲帧之间的η个标记点对的一一对应关系f (Pi) = 1 (其 中Pi为原始参考帧上的点,Qi为当前编码帧上面的对应点,1 ^ i ^n(n为正整数)),具体 插值函数如公式(1)所示
权利要求
1.一种帧运动补偿编码方法,其特征在于,该方法包括确定当前编码帧和参考帧之间对应的标记点参数;根据所述标记点参数对参考帧进行扭曲变换,得到扭曲参考帧;当前编码帧划分成宏块,采用所述基于扭曲参考帧的运动补偿、基于原始参考帧的运 动补偿编码代价最小的形式对当前编码帧进行编码。
2.根据权利要求1所述的帧运动补偿编码方法,其特征在于,所述当前编码帧划分成 宏块后,若采用了当前编码帧对应的扭曲参考帧进行编码,则将所述扭曲参考帧标识位置 1,并存储所述标记点参数。
3.根据权利要求1所述的帧运动补偿编码方法,其特征在于,所述采用基于扭曲参考 帧的运动补偿、基于原始参考帧的运动补偿的编码代价最小的形式对当前编码帧进行编 码获取所述当前编码帧每一个宏块对应的扭曲参考帧的编码代价的和A、以及获取所述 当前编码帧每一个宏块对应的参考帧的编码代价的和B,以及生成扭曲参考帧所需的额外 编码代价D ;若A+D小于B,则采用所述扭曲参考帧进行编码。
4.根据权利要求1所述的帧运动补偿编码方法,其特征在于,所述采用所述扭曲参考 帧、参考帧编码代价最小的形式对当前编码帧进行编码具体为比较当前编码帧每一个宏 块对应的扭曲参考帧编码代价与参考帧编码代价大小;然后获取当前编码帧每一个宏块对 应的扭曲参考帧编码代价与参考帧编码代价较小的编码代价和C,以及获取所述当前编码 帧每一个宏块对应的参考帧编码代价的和B,以及生成扭曲参考帧所需的额外编码代价D ; 若和C+D小于和B,则采用当前编码帧的每一个宏块对应的编码代价较小的扭曲参考帧或 参考帧进行编码。
5.根据权利要求1至4所述的帧运动补偿编码方法,其特征在于,所述的参考帧为当前 编码帧的前向参考帧;所述标记点参数包括标记点集、标记点数量、标记点位移量(detaX,detaY)、扭曲限 制参数范围。
6.根据权利要求1至4所述的帧运动补偿编码方法,其特征在于,所述步骤根据所述标记点参数对所述参考帧进行扭曲变换,得到扭曲参考帧具体为f(Pi) = Qi (其中Pi为参考帧上的点,Cli为当前编码帧上面的对应点,1彡i彡n(n为 正整数))/=1i=l ( 1 )其中w是指对应标记点的扭曲加权值,表示在第i个标记点对当前坐标的χ方向上 的扭曲加权;Wyi表示在第i个标记点对当前坐标的y方向上的扭曲加权;所述系数w具体由下式求出,Kw+P = Q(2)其中,P = (P1, P2,…,Pn)T,Q = (q1 q2,…,qn)T,Qi = Pi+(detaX, detaY), K 为 nXn 矩阵,Kij = U(riJ),riJ为参考帧上第i个标记点到第j个标记点的距离其中a为扭曲限制范围的参数,Ψ^ Ψ3,! Ψ3,2对应上述的U(rij),r为参考帧上第1个标记点到第j个标记点的距离。
7.—种帧运动补偿解码方法,其特征在于,该方法包括判断扭曲参考帧标识位是否置1,若是则根据标记点参数对扭曲参考帧进行解码。
8.根据权利要求7所述的帧运动补偿解码方法,其特征在于,若扭曲参考帧标识位没 有置1,则根据参考帧进行解码。
9.一种帧运动补偿编码装置,其特征在于,该装置包括标记点参数单元,用于确定当前编码帧和参考帧之间对应的标记点参数;扭曲参考帧单元,用于根据所述标记点参数对参考帧进行扭曲变换,得到扭曲参考帧;处理单元,用于将当前编码帧划分成宏块,采用所述基于扭曲参考帧的运动补偿、基于 原始参考帧的运动补偿编码代价最小的形式对当前编码帧进行编码,若采用了当前编码帧 对应的扭曲参考帧进行编码,则将所述扭曲参考帧标识位置1,并存储所述标记点参数。
10.根据权利要求9所述的帧运动补偿编码装置,其特征在于,所述的处理单元,用于 采用基于扭曲参考帧的运动补偿、基于原始参考帧的运动补偿的编码代价最小的形式对当 前编码帧进行编码获取所述当前编码帧每一个宏块对应的扭曲参考帧的编码代价的和 A、以及获取所述当前编码帧每一个宏块对应的参考帧的编码代价的和B,以及生成扭曲参 考帧所需的额外编码代价D ;若A+D小于B,则采用所述扭曲参考帧进行编码。
11.根据权利要求9所述的帧运动补偿编码装置,其特征在于,所述的处理单元,用于 采用所述扭曲参考帧、参考帧编码代价最小的形式对当前编码帧进行编码具体为比较当 前编码帧每一个宏块对应的扭曲参考帧编码代价与参考帧编码代价大小;然后获取当前编 码帧每一个宏块对应的扭曲参考帧编码代价与参考帧编码代价较小的编码代价和C,以及 获取所述当前编码帧每一个宏块对应的参考帧编码代价的和B,以及生成扭曲参考帧所需 的额外编码代价D ;若和C+D小于和B,则采用当前编码帧的每一个宏块对应的编码代价较 小的扭曲参考帧或参考帧进行编码。
12.根据权利要求9至11所述的帧运动补偿编码装置,其特征在于,所述标记点参数用于确定当前编码帧和前向参考帧之间对应的标记点参数具体为 标记点集、标记点数量、标记点位移量(detaX,detaY)、扭曲限制参数范围。
13.根据权利要求9至11所述的帧运动补偿编码装置,其特征在于,所述的扭曲参考帧 单元,用于根据所述标记点参数对参考帧进行扭曲变换,得到扭曲参考帧具体为f(Pi)= Cli(其中Pi为参考帧上的点,Cii为当前编码帧上面的对应点,1彡i彡n(n为正整数))
14.一种帧运动补偿解码装置,其特征在于,该装置包括 判断单元,用于判断扭曲参考帧标识位是否置1 ;解码单元,若判断出扭曲参考帧标识位置1,则根据标记点参数对扭曲参考帧进行解码。
15.根据权利要求14所述的帧运动补偿解码装置,其特征在于,所述解码单元,进一步 用于若判断出扭曲参考帧没有置1,则根据参考帧进行解码。
全文摘要
本发明提供一种帧运动补偿编码方法,该方法包括确定当前编码帧和参考帧之间对应的标记点参数;根据所述标记点参数对参考帧进行扭曲变换,得到扭曲参考帧;当前编码帧划分成宏块,采用所述基于扭曲参考帧的运动补偿、基于原始参考帧的运动补偿编码代价最小的形式对当前编码帧进行编码,若采用了当前编码帧对应的扭曲参考帧进行编码,则将所述扭曲参考帧标识位置1,并存储所述标记点参数。本发明提供的方法可以在考虑帧与帧之间图像无规律变化的情况下以编码代价最小的方式进行编码。
文档编号H04N7/32GK102055978SQ201010609969
公开日2011年5月11日 申请日期2010年12月28日 优先权日2010年12月28日
发明者张智雄 申请人:深圳市融创天下科技发展有限公司