编/解码方法、编/解码器及寻找最佳匹配块的方法及装置的制作方法

文档序号:7674432阅读:122来源:国知局
专利名称:编/解码方法、编/解码器及寻找最佳匹配块的方法及装置的制作方法
技术领域
本发明涉及多媒体领域中的图像编码技术,尤其涉及图像编码方法、解码 方法、编码器、解码器、编解码方法、编解码器,以及在多视图像间寻找最佳 匹配块的方法及装置。发明背景目前的视频编码标准如国际电信联盟(ITU, International Telecommunication Union )制定的H.261 、 H.263、 H.263+、 H.264标准,以及运动图像专家组(MPEG, Moving Picture Experts Group )制定的MPEG誦1、 MPEG-2、 MPEG-3、 MPEG-4等,都是建立在混合编码(Hybrid Coding)框架之上的。所谓混合编码框架是 一种混合时间空间的视频图像编码方法,编码时,先进行帧内、帧间的预测, 得到预测值,以消除时间域的相关性;然后根据预测值与原始图像实际值的差 值,得到残差图像,对残差图像采用离散余弦变换法或其它的变换法进行二维 变换,以消除空间域的相关性;最后对变换后的数据进行熵编码,以消除统计 上的冗余度,将熵编码后的数据与解码所需的包括运动矢量在内的一些边信息, 一起组成一个压缩后的码流,供后续传输和存储用,达到压缩视频图像的目的。 相应地,在解码时,按照熵解码、反变换以及预测补偿等一系列解码过程重建 出图像。混合编码框架中包括了帧内编码和帧间编码两种不同的编码方法。进行帧 内编码时,对原始图像进行二维变换,然后在变换域中对变换系数进行量化, 最后进行熵编码;或者在给定帧内充分利用相邻块的空间相关性,在对一给定 块编码时,首先可以才艮据周围的块对该给定块进行预测,然后对预测值与实际 值的差值进行二维变换、量化及熵编码。进行帧间编码时,采用运动估计得到 运动矢量,然后采用基于运动补偿的帧间预测,得到预测值与原始图像实际值的差值,即残差图像,对残差图像进行二维变换,然后在变换域中对变换系数 进行量化,最后进行熵编码。可见,上述帧内编码与帧间编码中,都采用了预测技术。预测技术充分利 用了帧内以及帧间的空间、时间相关性,在消除相关性的基础上减小码率,并 提高压缩码流与原始图像的数据量压缩比。尤其在混合编码框架中,帧间预测是减小图像时间相关性的有效方法,特别是在最近的视频标准H.264的高级视 频编码(H.264/AVC, Advanced Video Coding)中,帧间预测采用了范围更广的 块尺寸划分,包括从16xl6到4x4,以及多参考图像帧等技术,因此应用广泛。 如在单个照相机拍摄到的视频序列中,相邻图像之间存在着很大的相关性,即 冗余度。通过利用已经编码过的图像与当前编码图像之间的相关性,将已经编 码的图像恢复成重建图像,作为参考图像对当前编码图像进行预测,并根据预 测值与当前编码图像实际值之间的差值,得到残差图像,并对残差图像进行编 码,从而可消除相邻图像之间的相关性,减少编码的数据量。同样在多视视频领域,如多个摄像机对同一个对象进行拍摄时,所拍到的 多个视频序列的图像之间也存在着较大的相关性,尤其当摄像机之间位置较接 近时,相关性更强。因此在对多个视频序列同时编码时,可以利用当前视频序 列中或其它视频序列中已编码的图像作为参考图像对当前待编码图像进行预 测,得到残差图像,并对残差图像进行编码,从而消除多个视频序列的图像之 间的相关性,有效降低图像之间的冗余度。上述编码方法中,对当前待编码图像只进行了一次预测,然后便对产生的 残差图像进行编码。而事实上,在多视视频领域,当前待编码图像经过一次预 测后产生的残差图像与参考图像所对应的残差图像之间仍然具有较强的相关 性,按照现有的编码方法对多个视频序列的图像进行编码时,无法消除残差图 像之间的相关性,因此也就无法更好的提高编码效率。发明内容有鉴于此,本发明实施例中提供一种图像编码方法、解码方法、编码器、解码器、编解码方法及编解码器,以便消除残差图像之间的相关性,提高编码 效率。此外,本发明实施例中还提供两种图像编码方法、 一种解码方法、两种编 码器及一种解码器,以便消除残差图像之间的相关性,并进一步提高编码效率。最后,本发明实施例中又提供两种在多视图像间寻找最佳匹配块的方法及 四种在多视图像间寻找最佳匹配块的装置,以便利用残差图像之间的相关性, 提高最佳匹配块的搜索效率。本发明实施例所提供的第一种图像编码方法,包括A、 对当前待编码图像进行一次预测,得到一次残差图像及一次运动矢量;B、 对一次残差图像进行二次预测,得到二次残差图像及二次运动矢量,并 将二次残差图像、二次运动矢量及一次运动矢量写入压缩码流中。本发明实施例所提供的第一种图像解码方法,包括A、 从压缩码流中解码得到一次运动矢量、二次运动矢量和二次残差图像;B、 根据二次运动矢量,对二次残差图像进行运动补偿,得到一次残差图像, 并根据一次运动矢量,对一次残差图像进行运动补偿,得到重建图像。本发明实施例所提供的第一种编码器,包括 一次预测模块和编码模块, 并且该编码器还包括二次预测模块,其中,一次预测模块,用于对当前待编码图像进行一次预测,得到一次残差图像 和一次运动矢量;二次预测模块,用于接收来自所述一次预测模块的一次残差图像,对所接 收的一次残差图像进行二次预测,得到二次残差图像及二次运动矢量;编码模块,用于接收来自所述一次预测模块的一次运动矢量和来自所述二 次预测模块的二次运动矢量和二次残差图像,并将所接收的一次运动矢量、二 次运动矢量及二次残差图像写入压缩码流中。本发明实施例所提供的第一种解码器,包括解码模块、 一次重建模块, 并且该解码器还包括二次重建模块,其中,次残差图像;
二次重建模块,用于接收来自所述解码模块的二次残差图像和二次运动矢 量,根据所接收的二次运动矢量,对二次残差图像进行运动补偿,得到一次残
差图像;
一次重建模块,用于接收来自所述二次重建模块的一次残差图像及来自解 码模块的一次运动矢量,根据所接收的一次运动矢量,对一次残差图像进行运 动补偿,得到重建图像。
本发明实施例所提供的编解码方法,包括
A、 对当前待编码图像进行一次预测,得到一次残差图像及一次运动矢量, 并对一次残差图像进行二次预测,得到二次残差图像及二次运动矢量,将二次 残差图像、二次运动矢量及一次运动矢量写入压缩码流;
B、 接收所述压缩码流,并从压缩码流中解码得到一次运动矢量、二次运动 矢量和二次残差图像;#4居二次运动矢量,对二次残差图像进行运动补偿,得 到一次残差图像,并根据一次运动矢量,对一次残差图像进行运动补偿,得到 重建图像。
本发明实施例所提供的编解码器,包括编码单元和解码单元,其中,
编码单元,用于对当前待编码图像进行一次预测,得到一次残差图像及一 次运动矢量,并对一次残差图像进行二次预测,得到二次残差图像及二次运动 矢量,将二次残差图像、二次运动矢量及一次运动矢量写入压缩码流;
解码单元,用于接收所述压缩码流,并从压缩码流中解码得到一次运动矢 量、二次运动矢量和二次残差图像;才艮据二次运动矢量,对二次残差图像进行 运动补偿,得到一次残差图像,并4艮据一次运动矢量,对一次残差图像进行运 动补偿,得到重建图像。
本发明实施例中所提供的第二种图像编码方法,包括
A、 对第一帧待编码图像进行编码后的当前待编码图像进行一次预测,得到 一次残差图像及一次运动矢量;
B、 以宏块或块为单位,针对一次残差图像中的每一个宏块或块,进行视差估计时,根据已编码图像中对应位置块的一次运动矢量,在二次参考图像中找 到对应块,将该对应块作为最佳匹配块,并将所述一次运动矢量作为在二次参 考图像中的二次运动矢量,用该最佳匹配块对当前宏块或块进行预测,得到二 次残差块,将一次运动矢量和二次残差块和/或二次运动矢量写入压缩码流中。
本发明实施例中所提供的第三种图像编码方法,包括
A、 对第一帧待编码图像进行编码后的当前待编码图像进行一次预测,得到 一次残差图像及一次运动矢量;
B、 以宏块或块为单位,针对一次残差图像中的每一个宏块或块,进行视差 估计时,根据已编码图像中对应位置块的一次运动矢量,在二次参考图像中找 到对应块,以该块作为搜索中心起始点,寻找最佳匹配块,用该最佳匹配块对 当前宏块或块进行预测,并得到二次残差块及对应的二次运动矢量,将一次运 动矢量、二次残差块和二次运动矢量写入压缩码流中本发明实施例中提供的第二种图像解码方法,包括
A、 从压缩码流中解码得到一次运动矢量、二次运动矢量和二次残差图像;
B、 以宏块或块为单位,针对二次残差图像中的每个宏块或块,根据该宏块 或块对应的二次运动矢量,或根据该宏块或块对应的作为二次运动矢量的一次 运动矢量,对该二次残差块进行运动补偿,得到一次残差块,并根据该一次残 差块对应的一次运动矢量,对该一次残差块进行运动补偿,得到重建图像块, 将二次残差图像的所有重建图像块合成重建图像。
本发明实施例中所4是供的第二种编码器,包括 一次预测模块和编码模块, 其特征在于,该编码器还包括二次预测模块,其中,
一次预测模块,用于对第一帧之后的当前待编码图像进行一次预测,得到 一次残差图像和一次运动矢量;
二次预测模块,用于接收来自一次预测模块的一次残差图像,对所接收的 一次残差图像以宏块或块为单位,针对一次残差图像中的每一个宏块或块,进 行视差估计时,根据已编码图像中对应位置块的一次运动矢量,在二次参考图 像中找到对应块,将该对应块作为最佳匹配块,并将所述一次运动矢量作为在二次参考图像中的二次运动矢量,用该最佳匹配块对当前宏块或块进行预测,
得到二次残差块;
编码模块,用于接收来自所述一次预测模块的一次运动矢量和来自所述二 次预测模块的二次残差图像和/或二次运动矢量,并将所接收的一次运动矢量和 二次残差图像和/或二次运动矢量写入压缩码流中。
本发明实施例中所提供的第三种编码器,包括 一次预测模块和编码模块, 其特征在于,该编码器还包括二次预测模块,其中,
一次预测模块,用于对第一帧之后的当前待编码图像进行一次预测,得到 一次残差图像和一次运动矢量;
二次预测模块,用于接收来自一次预测模块的一次残差图像,对所接收的 一次残差图像以宏块或块为单位,针对一次残差图^f象中的每一个宏块或块,进 行视差估计时,根据已编码图像中对应位置块的一次运动矢量,在二次参考图 像中找到对应块,以该块作为搜索中心起始点,寻找最佳匹配块,用该最佳匹 配块对当前宏块或块进行预测,得到二次残差块及对应的二次运动矢量;
编码模块,用于接收来自所述一次预测模块的一次运动矢量和来自所述二 次预测模块的二次残差图像和二次运动矢量,并将所接收的一次运动矢量、二 次残差图像和二次运动矢量写入压缩码流中。
本发明实施例中所提供的第二种解码器,包括解码模块、 一次重建模块, 其特征在于,该解码器还包括二次重建模块,其中,
解码模块,用于从压缩码流中解码得到一次运动矢量、二次运动矢量及二 次残差图像;
二次重建模块,用于接收来自所述解码模块的二次残差图像和二次运动矢 量或作为二次运动矢量的一次运动矢量,根据所接收的二次运动矢量或作为二 次运动矢量的一次运动矢量,对二次残差图像进行运动补偿,得到一次残差图 像;
一次重建模块,用于接收来自所述二次重建模块的一次残差图像及来自所 述解码模块的一次运动矢量,根据所接收的一次运动矢量,对一次残差图像进行运动补偿,得到重建图像。
本发明实施例中提供的第 一种在多視图像间寻找最佳匹配块的方法,包括
对当前图像的宏块或块进行一次和/或二次视差估计时,根据已编码图像中 对应位置块的一次运动矢量,在当前宏块或块的参考图像中找到对应块,将该 对应块作为当前宏块或块的一次和/或二次最佳匹配块。
本发明实施例中提供的第二种在多视图像间寻找最佳匹配块的方法,包括 对当前图像的宏块或块进行一次和/或二次视差估计时,根据已编码图像中 对应位置块的一次运动矢量,在当前宏块或块的参考图像中找到对应块,以该 对应块作为搜索中心起始点,寻找当前宏块或块的一次和/或二次最佳匹配块。 本发明实施例中提供的第一种在多视图像间寻找最佳匹配块的装置,包括 一次预测才莫块,用于对当前待编码图像以宏块或块为单位,针对当前待编 码图像中的每一个宏块或块,进行视差估计时,根据已编码图像中对应位置块 的一次运动矢量,在参考图像中找到对应块,将该对应块作为最佳匹配块。 本发明实施例中提供的第二种在多视图像间寻找最佳匹配块的装置,包括 一次预测模块,用于对当前待编码图像以宏块或块为单位,针对当前待编 码图像中的每一个宏块或块,进行视差估计时,根据已编码图像中对应位置块 的一次运动矢量,在参考图像中找到对应块,以该块作为搜索中心起始点,寻 找最佳匹配块。
本发明实施例中提供的第三种在多视图像间寻找最佳匹配块的装置,包括 二次预测模块,用于对所接收的一次残差图像以宏块或块为单位,针对一 次残差图像中的每一个宏块或块,进行视差估计时,根据已编码图像中对应位 置块的一次运动矢量,在二次参考图像中找到对应块,将该对应块作为最佳匹 配块。
本发明实施例中提供的第四种在多视图像间寻找最佳匹配块的装置,包括 二次预测模块,用于对所接收的一次残差图像以宏块或块为单位,针对一 次残差图像中的每一个宏块或块,进行视差估计时,根据已编码图像中对应位 置块的一次运动矢量,在二次参考图像中找到对应块,以该块作为搜索中心起始点,寻找最佳匹配块。
从上述方案可以看出,本发明通过将各个视频序列中某些已经编码过的图 像所对应的残差图像作为参考图像,对当前待编码图像经过预测编码后产生的 残差图像进行预测,再将预测后获得的二次残差图像进行后续编码操作,从而 消除残差图像之间的相关性,进一步降低图像之间的冗余度,减少码流的数据 量,提高编码效率。
附图简要说明


图1为多个摄^^几拍摄的视频序列的顺序示意图。
图2为当前待编码图像与参考图像之间的关系示意图。
图3为本发明实施例一中图像编码方法的流程图。
图4为图3所示流程中二次预测时四个图像之间的关系示意图。
图5为图3所示流程中图像重建的流程图。
图6为本发明实施例一中图像解码方法的流程图。
图7为本发明实施例一中编码器与解码器的关系示意图。
图8为本发明实施例一中编码器的结构示意图。
图9为本发明实施例一中解码器的结构示意图。
图IO为本发明实施例二中图像编码方法的流程图。
图11为图IO所示流程中图像重建的流程图。
图12为本发明实施例二中图像解码方法的流程图。
图13为本发明实施例二中编码器的结构示意图。
图14为本发明实施例二中解码器的结构示意图。
图15为本发明实施例三中编码器的结构示意图。
图16为本发明实施例三中解码器的结构示意图。
图17为在图8所示编码器和图9所示解码器的基础上组装成的编解码器。实施本发明的方式
本发明实施例中,利用多个摄像机所拍摄出来的视频序列之间的较强相关 性,以及不同视频序列在预测编码后产生的残差图像之间仍有很大相关性的特 点,从各个视频序列已经编码过的图像中选择与当前待编码图像相关性强的图 像,并将所选择图像对应的残差图像作为参考图像,对当前待编码图像对应的 残差图像进行预测,再将预测得到的二次残差图像进行后续编码操作,从而消 除残差图像之间的相关性,进一步P争低图像之间的冗余度,减少数据量。
为了描述上清晰起见,本发明实施例中将对原始图像进行帧间预测并产生 残差图像的过程,即运动估计,称为一次预测,所产生的残差图像称为一次残 差图像,对应的运动矢量称为一次运动矢量,相应的还有一次残差块, 一次参
考图像、 一次运动补偿等;将本发明中在一次预测的基础上,对一次残差图像 以已编码图像对应的一次残差图像为参考图像进行的帧间预测称为二次预测, 所产生的残差图像称为二次残差图像,对应的运动矢量称为二次运动矢量,相 应的还有二次残差块,二次参考图像、二次运动补偿等。
其中,在对一次残差图像进行二次预测时,本发明实施例采用了两种实现 方式,即
方式一,对一次残差图像直接进行二次预测,之后对二次预测产生的二次 残差图像进行变换或不进行变换,然后和一次运动矢量及二次运动矢量进行后 续编码操作。
方式二,对一次残差图像首先进行变换,对经过变换后的一次残差图像进 行二次预测,之后对二次预测产生的二次残差图像,连同一次运动矢量及二次 运动矢量进行后续编码操作。
即对于二次预测来说,方式一是先预测再变换,或只预测不变换;方式二 是先变换再预测。
以下实施例均以对多个视频序列同时编码的情况为例,对本发明实施例中 的编码方法、解码方法、编码器、解码器、编解码方法及编解码器进行详细描述。
对于不同摄像机拍摄到的多个视频序列,可以排列成一个二维图像阵列, 如图1所示,图1为多个摄像机拍摄的视频序列的顺序示意图,图1中横坐标
表示不同摄像机拍摄的视频序列,视l表示视频序列l,视2表示视频序列2, 依次类推,图1中列出了4个视频序列,纵坐标表示随时间变化各个视频序列 也在增加。其中,在间隔较短的一段时间内,尤其同一时刻,不同摄像机拍摄 到的多个图像之间存在着很强的相关性。极端情况下,不同摄像机所拍摄到的 视频序列有可能完全相同。因此参考图像不仅可以选取当前视频序列中已编码 的图像,而且也可以选取其它视频序列中已编码的图像,如图2所示,图2为 当前待编码图像与参考图像之间的关系示意图。对于摄像机A在T1时刻拍4i 的视频图像Al和T2时刻拍摄的视频图像A2,以及摄像机B在Tl时刻拍摄的 视频图像Bl和T2时刻拍摄的视频图像B2,假设已对Al 、 A2以及Bl进行编 码,在对B2进行编码时,可以选取同视频序列中的Bl作为参考图像,也可以 选取非同视频序列中的A1或A2作为参考图像。实际应用中,参考图像也可以 有很多,并且还可以选取同视频序列中或其它视频序列中的其它图像。 实施例一
本实施例中,对方式一中的实现方式进行详细描述。即直接对一次预测产 生的 一次残差图像进行二次预测,并对二次预测产生的二次残差图像进行后续 编码处理。图3为本发明实施例一中图像编码方法的流程图。 一般情况下,在 对当前待编码图像的原始图像进行帧间预测时,都是以宏块或块为单位进行预 测,并在最后的块中携带有当前待编码图像结束的标志,然后再开始对下一个 待编码图像进行同样的帧间预测。因此本实施例中的图像编码方法流程以当前 待编码图像的一个宏块的编码过程为例,对本发明的编码方法进行详细说明。 如图3所示,该流程包括如下步骤
步骤301,对当前待编码块进行帧间预测,即一次预测,得到一次残差块 及一次运动矢量。
本步骤中,进行帧间预测时,可以采用H.264/AVC标准中所提供的方法,也可以采用其它标准中的方法。
一般情况下,首先给定参考图像集合,如同视频序列中的前几帧,或相邻 视频序列中同时刻的几帧等,根据具体情况,可按照不同的方式选取参考图像, 此处的参考图像,即一次参考图像,为已编码图像的重建图像,具体图像重建 过程参见后面图4所示的流程。之后在参考图像集合中遍历寻找当前待编码块 的最佳匹配块,用该最佳匹配块对当前待编码的块进行预测,得到一次残差块 及运动矢量。其中,若找到最佳匹配块的参考图像为其它视频序列中同一时刻 已编码图像的重建图像,则得到的矢量称视差矢量,运动矢量和视差矢量都是 指当前块的预测块在参考图像中相对于当前块的位移。为了描述简洁,通常情 况下,将运动矢量和视差矢量统称为运动矢量。
现仍以图2所示的四个图像为例进行描述,假设当前待编码图像为B2,则 在对B2的一个宏块N编码时,可以将A1、 A2以及B1的重建图像作为参考图 像,在各个参考图像中进行运动估计,即一次预测,并最后在Bl中找到了最 佳匹配块K,得到一次预测的残差块即一次残差块为N'-N-K,且对应的运 动矢量即一次运动矢量为(Kx,Ky),并将该一次运动矢量进行存储,供后续编 码以及重建图像时使用,同时执行步骤302。对于其它宏块的一次预测方法与 此相同。
步骤302,对所得到的一次残差块进行帧间预测,即二次预测,得到二次 残差块及二次运动矢量。
本步骤中,为了消除残差图像之间的相关性,对残差图像以已编码图像的 残差图像作为参考图像,即二次参考图像,进行二次预测。预测方法与一次预 测相似。此处的参考图像为已编码图像对应残差图像的重建图像,具体图像重 建过程参见后面图4所示的流程。
仍以图2所示的四个图像为例,假设A2以Al的重建图像作为参考图像,
得到一次残差图像A2', B2以Bl的重建图像作为参考图像,得到一次残差图 像B2'。图4为二次预测时四个图像之间的关系示意图。如图4所示,本步骤中假设以A2'作为参考图像对B2'中的一次残差块N'进行预测,并在A2'中找
到最佳匹配块M,得到二次残差块为N"^N' —M,对应的运动矢量即二次运 动矢量为(Mx,My),并将该二次运动矢量进行存储,供后续编码以及重建图像
时使用,同时执行步骤303。其中,A2'为已编码图像对应残差图像的重建图像。 对于其它宏块的二次预测方法与此相同。
步骤303,对所得到的二次残差块进行变换,并将变换后的变换系数阵以 及一次预测得到一次运动矢量和二次预测得到的二次运动矢量进行熵编码,并 一起写入压缩码流中;同时利用变换后的系数阵进行图像重建,作为其它待编 码图像的参考图像。
本步骤中,对二次残差块进行变换时,包括变换及量化,进行熵编码时, 也可以包括对变换后的系数阵进行重排序等操作,具体实现方式现有技术中有 很多种,此处不再详细介绍。其中,熵编码只是采用较多的一种方法,实际应 用中,还可以有其它的编码方法。
至此,该宏块的编码过程结束。实际应用中,该宏块的编码结束之后,当 前待编码图像会判断自身图像中是否存在未进行上述编码的宏块,如果存在,
则继续执行上述步骤301至步骤303的过程;否则,该帧图像编码结束。后续 帧图像继续作为当前待编码图像执行上述过程。其中,利用变换后的变换系数 阵进行图像重建的过程参考下面图5所示流程。
图5为图3所示图像编码方法中的图像重建流程示意图。以当前待解码图 像的一个宏块的重建过程为例,该流程包括如下步骤
步骤501,对变换后的变换系数阵进行反变换,得到二次残差块。
本步骤中,对变换后的变换系数阵进行反变换时,包括反量化及反变换。 此处的反变换对应于步骤303中编码时的变换。
步骤502,根据步骤302中得到的二次运动矢量,对所得到的二次残差块, 在编码时作为参考图像的残差图像,即二次参考图像中,进行运动补偿,得到 一次残差块,并对该一次残差块进行存储。本步骤中,仍以图2所示的四个图像为例进行描述,并假设对当前待编码
图像B2的宏块N进行重建,则对于反变换后得到的二次残差块N",根据步骤
302中存储的N"对应的二次运动矢量(Mx,My),从在先重建的参考残差图像
A2'中寻找到对应的补偿块M,然后得到一次残差块N'^N" + M,对该一次残
差块进行存储,并执行步骤503。其它宏块的本次重建过程与此相同。
当B2所有宏块的二次残差块都重建完毕,才艮据所存储的B2的所有一次残
差块,得到残差图像B2'的重建图像,作为其它待编码图像的二次参考图像。 步骤503,根据步骤301中得到的一次运动矢量,对所得到的一次残差块
在编码时作为参考图像的一次参考图像中进行运动补偿,得到重建图像块,并
对该重建图像块进行存储。
本步骤中,在对步骤303中B2'的残差块N'进行解码时,根据步骤301中
存储的一次运动矢量(Kx,Ky)从在先重建的参考图像B1中寻找到补偿块K,
得到重建图像块N-N' + K,并对该重建图像块N进行存储。其它宏块的本次 重建过程与此相同。
当B2所有宏块的一次残差块都重建完毕,根据所存储的B2的所有重建图 像块,得到图像B2的重建图像,作为其它待编码图像的一次参考图像。
在实际应用中,对图像进行编码后,有可能存储在光盘中、硬盘中,或网 络中,或直接传输给接收端,但无论哪种情况,当我们需要使用或观看这些图 像时,都需要对其进行解码,然后才能使用。下面将结合图6对本发明中的图 像解码方法进行详细描述。
图6为本发明实施例一中图像解码方法的流程图。此处,也以当前待解码 图像的一个宏块的解码过程为例,对本发明的解码方法进行详细说明。如图6 所示,该流程包括如下步骤
步骤601,对压缩码流进行熵解码,得到一次运动矢量和二次运动矢量, 并对熵解码后的变换系数阵进4亍反变换,得到二次残差块。本步骤中,解码方法与编码方法相对应,对压缩码流进行熵解码后,首先
得到一次运动矢量和二次运动矢量;之后可以对熵解码后的图像数据进行重排
序,并对排序后的图像数据进行反变换,其中反变换过程中可以包括反量化、 反变换等,得到本次待解码图像的当前待解码块,即二次残差块。
步骤602,根据得到的二次运动矢量,对所得到的二次残差块,在编码时 作为二次参考图像的残差图像中进行运动补偿,得到一次残差块,并对该一次 残差块进行存储。
本步骤中,仍以图2所示的四个图像为例进行描述,并假设当前待解码图 像为B2,则对其中的宏块N进行解码时,对于从压缩码流解码后得到的二次
残差块N",根据解码得到的N'对应的二次运动矢量(Mx,My),从在先解码后 的残差图像A2'中,寻找到对应的补偿块M,然后得到一次残差块N' 二 N" + M , 对该一次残差块进行存储,并执行步骤603。其它宏块的本次解码过程与此相 同。
当B2所有宏块的二次残差块都解码完毕,4艮据所存储的B2的所有一次残 差块,得到一次残差图像的重建图像,可作为其它待解码图像的二次参考图像。
其中,A2'为编码时的二次参考图像,此时作为解码时的二次参考图像, 由在先的已解码图像A2在解码时执行步骤602时得到,即A2对应残差图像解 码后的重建图像。
步骤603,根据得到的一次运动矢量,对所得到的一次残差块,在编码时 作为一次参考图像的图像中进行运动补偿,得到重建图像块,并对该重建图像 块进行存储。
本步骤中,在对步骤602中B2'的残差块N'进行解码时,才艮据解码得到的 N'对应的一次运动矢量(Kx,Ky)从在先解码后的参考图像Bl中,寻找到补 偿块K,得到重建图像块N二N'+K,对该重建图像块进行存储。其它宏块的 本次解码过程与此相同。至此,当前待解码块的解码过程结束。当B2所有宏块的一次残差块都解码
完毕,根据所存储的B2的所有重建图像块,得到原始图像的重建图像,供后 续使用。同时得到的重建图像还可作为其它待解码图像的一次参考图像。
其中,Bl为编码时的一次参考图像,此时作为解码时的一次参考图像,由 在先的已解码图像A2在解码时执行步骤603时得到,即A2解码后的重建图像。
上面对本发明中图像编码方法以及解码方法进行了详细描述,下面再对本 发明中编解码系统进行一个详细描述。图7为实施例一中基于以上图像编码方 法和解码方法的编解器和解码器的关系示意图。
其中,编码器用于将原始图像进行编码,生成压缩码流供后续传输和存储 用。编码过程包括对当前待编码图像进行一次预测,得到一次残差图像和一 次运动矢量,以已编码图像对应的残差图像为参考图像,对得到的一次残差图 像进行二次预测,得到二次残差图像及二次运动矢量,对该二次残差图像以及 相应的二次运动矢量、 一次运动矢量进行后续编码处理。
解码器用于对图像的压缩码流进行解码,得到原始图像的重建图像供后续 使用。解码过程包括根据从码流中解出的二次运动矢量,对从码流中解出的 二次残差图像,从编码时作为二次参考图像的重建残差图像中进行运动补偿, 得到一次残差图像,根据从码流中解出的一次运动矢量,对该一次残差图像从 编码时作为一次参考图像的重建图像中进行运动补偿,得到原始图像的重建图像。
其中,编码器与解码器的内部结构分别如图8和图9所示。 图8为本发明实施例一中编码器的结构示意图。如图8所示,该编码器包 括 一次预测模块、二次预测模块、变换模块、编码模块、反变换模块、二次 重建模块以及一次重建模块。
并且,编码流程为当前待编码图像—一次预测模块—二次预测模块—变 换模块—编码模块—码流;重建时流程为反变换模块—二次重建模块—一次 重建模块—当前图像的重建图像。其中一次预测模块产生的一次运动矢量和二 次预测模块产生的二次运动矢量直接输出给编码模块,二次重建时,采用的是二次预测模块产生的二次运动矢量, 一次重建时,采用的是一次预测模块产生 的一次运动矢量。
其中, 一次预测模块用于从一次重建模块中读取一次参考图像集合,对当 前待编码图像以宏块或块为单位,对当前待编码块从参考图像集合中选取最佳 匹配块,用所选取的最佳匹配块对当前待编码块进行预测,得到一次残差块及 对应的一次运动矢量,将一次残差块输出给二次预测模块,将一次运动矢量输 出给编码模块,同时对该一次运动矢量进行存储,供一次重建模块使用。
二次预测模块用于接收来自 一次预测模块的一次残差块,从二次重建模块 中读取二次参考图像集合,对所接收的一次残差块从二次参考图像集合中选取 最佳匹配块,用所选取的最佳匹配块对该一次残差块进行预测,得到二次残差 块及二次运动矢量,将二次残差块输出给变换模块,将二次运动矢量输出给编 码模块,同时对该二次运动矢量进行存储,供二次重建模块使用。
变换模块用于接收来自二次预测模块的二次残差块,并对所接收的二次残 差块进行变换及量化,进一步压缩图像码率,并将变换及量化后的变换系数阵 输出给编码模块及反变换模块。
编码模块可以包括重排序及熵编码等编码过程,用于接收来自变换模块的
变换系数阵,连同来自 一次预测模块的一次运动矢量和来自二次预测模块的二 次运动矢量一起进行熵编码,写入码流中。
上述一次预测模块和二次预测模块两个模块中用到的一次参考图像和二次 参考图像分别为已编码图像的重建图像及已编码图像对应残差图像的重建图 像,而且在对当前待编码图像进行编码时,为了为后续编码图像提供参考图像, 也需要对当前待编码图像的已编码图像进行重建,因此本解码器中包括前面所 说的反变换模块、即二次重建模块和一次重建模块。
其中,反变换模块用于接收来自变换模块的变换、量化后的变换系数阵, 并对所接收的变换系数阵进行反量化和反变换,得到当前编码图像的二次残差 块,输出给二次重建模块。
二次重建模块用于接收来自反变换模块的二次残差块,并读取二次预测模块所存储的二次运动矢量,根据所读取的二次运动矢量,在编码时的二次参考 图像中进行运动补偿,得到一次残差块输出给一次重建模块,并将该一次残差 块进行存储。
若当前编码图像所有的二次残差块都重建结束,则4艮据所存储的当前编码 图像的所有一次残差块得到当前编码图像的一次残差图像,可作为其它预测所 需的二次参考图像。若作为二次参考图像的集合为前五帧图像,则下一个待编 码图像进行二次预测所需的五帧图像可以为前四帧图像加上本次重建得到的图 像,最前面的一帧图像此时可以被删除。
一次重建模块用于接收来自二次重建模块的一次残差块,并读取一次预测 ;溪块所存储的一次运动矢量,根据所读取的一次运动矢量,在编码时的一次参 考图像中进行运动补偿,得到重建图像块,并将该重建图像块进行存储。
若当前编码图像所有的一次残差块都重建结束,则根据所存储的当前编码 图像的所有重建图像块得到当前编码图像的重建图像,可作为其它预测所需的 一次参考图像。若作为一次参考图像的集合为前五帧图像,则下一个待编码图 像进行一次预测所需的五帧图像可以为前四帧图像加上本次重建得到的图像, 最前面的 一帧图像此时可以被删除。
其中对第一个图像进行编码时,参考图像可以为空,即对第一个图像进行 编码时,可不经过预测,而直接进4于后续编码处理。
图9为本发明实施例一中解码器的结构示意图。如图9所示,该解码器包
括解码模块、反变换模块、二次重建模块以及一次重建模块。
并且,解码流程为解码模块一反变换模块—二次重建模块—一次重建模
块—当前图像的重建图像。其中二次重建时的二次运动矢量和一次重建时的一
次运动矢量都是前续解码模块解码之后得到的。
其中,解码模块用于对压缩码流进行熵解码、重排序等,得到当前待解码
图像中当前待解码块的一次运动矢量、二次运动矢量以及二次残差块变换系数
阵等,并将二次残差块变换系数阵输出给反变换模块,将二次运动矢量输出给
二次重建模块, 一次运动矢量输出给一次重建模块。反变换模块用于接收来自解码模块二次残差块变换系数阵,并对所接收的 二次残差块变换系数阵进行反量化及反变换等,得到二次残差块,输出给二次 重建模块。
二次重建模块用于接收来自解码模块的二次运动矢量和来自反变换模块的 二次残差块,并根据所接收的二次运动矢量,对二次残差块在编码时的二次参 考图像中进行运动补偿,得到一次残差块,输出给一次重建;f莫块,并将该一次 残差块进行存储。
若当前待解码图像所有的二次残差块都重建结束,则才艮据所存储的当前待 解码图像的所有一次残差块得到当前待解码图像的一次残差图像,可作为其它 解码所需的二次参考图像。
一次重建模块用于接收来自解码模块的一次运动矢量和来自 一次重建模块 的一次残差块,并根据所接收的一次运动矢量,对一次残差块在编码时的一次 参考图像中进行运动补偿,得到重建图像块,并对该重建图像块进行保存。
若当前待解码图像所有的一次残差块都重建结束,则根据所存储的当前待 解码图像的所有重建图像块,得到原始图像的重建图像,供后续使用。同时得 到的重建图像还可作为其它待解码图像的 一次参考图像。
上面结合实施例对本发明编码方法、解码方法及编解码系统的一般情况进
行了描述。实际应用中,步骤302中在对一次残差块N'进行二次预测时,为了 在A2'中找到最佳匹配块m,可以不用直接以A2'作为参考图像,得到运动矢 量(Mx,My)。
因为若存在Bl以Al为参考图像进行了一次预测,并假设在Bl中与B2 的宏块N所处位置对应的宏块为Nl,且N1在Al中的最佳匹配块为Ml,对 应的一次4见差矢量为(Mlx,Mly),又有M1在B2中对应位置处的宏块为M,
则二次残差块为N'、N'—M,且可以将一次视差矢量(Mlx,Mly)作为N'在
A2'中的二次:规差矢量(Mx,My )。若一次-观差矢量(Mlx,Mly)已经写入码流, 则本次无需再写入码流中。假设B1以Al为参考图像进行一次预测时,只是在寻找最佳参考图像时进行的,则可以将该次预测中产生的 一 次视差矢量
(Mlx,Mly)保留下来,供二次预测时,将该一次视差矢量(Mlx,Mly)作为 二次预测的二次视差矢量写入码流中。对于其它宏块也可以采用该方法处理。
同样,在步骤502中重建时,或步骤602中解码时,保留图像B1在参考图 像A1中所有的视差矢量,在对当前图像B2待解码宏块N进行解码时,首先
解码获得一次运动矢量(Kx,Ky ),并根据解码获得的二次残差块N"以及宏块N 在B1中对应位置的宏块N1所对应的视差矢量(Mlx,Mly),将(Mlx,Mly)
作为N的二次运动矢量,在参考图像A2'中寻找到对应的补偿块M,得到一次 残差块N'^N"+M,再由一次运动矢量(Kx,Ky)在Bl中寻找到补偿块K, 得到重建图像块N二N'+K。对于其它宏块也可以采用该方法处理。
或者在上述过程中得到(Mlx,Mly )之后,并不将该矢量直接作为N'在A2' 中的视差矢量(Mx,My),而是可以根据该视差矢量在A2'中找到宏块M,然后 以M作为搜索的中心起始点,在M的附近搜索最佳匹配块M',然后再得到M'
对应的视差矢量(Mx,My ),则解码时同实施例一或实施例二中所述的方法。
当然M'也有可能与m相同,此时也可以仍以(Mlx,Mly)作为N在A2'中的 视差矢量。
相应的在图8所示的编码器中,可以进一步包括一个视差矢量存储模块, 用于存储一次预测中所产生的视差矢量,当进行二次预测时可以从该视差矢量 存储模块中检索所需的视差矢量,作为二次运动矢量,或者作为最佳匹配块的 搜索中心点。具体实现过程同上述方法中介绍。
实施例二
本实施例中,对方式二中的实现方式进行详细描述,即在进行二次预测之 前,先对一次残差图像进行变换,然后对变换后的一次残差图像,在二次参考 图像对应的变换后的二次参考图像中进行二次预测,之后对二次预测后产生的 二次残差图像进行后续编码处理。
3本实施例中,为了和方式一区别,将对一次残差图像进行变换后产生的一 次残差图像称为一次残差图像变换系数阵,相应地,将对一次残差块进行变换 后产生的一次残差块称为一次残差块变换系数阵,将对一次残差图像变换系数 阵进行二次预测产生的二次残差图像称为二次残差图像变换系数阵,相应地,
将对一次残差块变换系数阵进行二次预测产生的二次残差块称为二次残差块变 换系数阵,此外,还有二次参考图像变换系数阵等。同样,在解码端,将从压 缩码流中解码得到的二次残差图像称为二次残差图像变换系数阵,对二次残差 图像进行二次重建后产生的 一次残差图像称为 一次残差图像变换系数阵,相应 地,将从压缩码流中解码得到二次残差图像中的二次残差块称为二次残差块变 换系数阵,将对二次残差块进行二次重建后产生的一次残差块称为一次残差块 变换系数阵。
图IO为实施例二中图像编码方法的流程图。本实施例中的图像编码方法流 程仍以当前待编码图像的一个宏块的编码过程为例,如图IO所示,该流程包括
如下步骤
步骤IOOI,对当前待编码块进行一次预测,得到一次残差块及一次运动矢量。
本步骤中的具体实现过程可以同实施例一中图3所示步骤301。 步骤1002,对得到的一次残差块进行变换,得到一次残差块变换系数阵,
对该一次残差块变换系数阵进行二次预测,得到二次残差块变换系数阵,及二
次运动矢量。
本步骤中,仍以B2'中的一次残差块N'为例,首先将N'进行变换及量化,
得到变换后的变换系数阵N ,并假设M为参考图像A2'中对应的最佳匹配块, 对应的二次运动矢量为(Mx,My),且M经变换后的对应变换系数阵为M ,则 可以由M对N进行预测,得到二次残差块变换系数阵N =N-M;或者也可 以由M的某些系数对N的某些系数进行预测,如由M的直流(DC, DirectCurrent)系数来预测N的DC系数,由M的交流(AC, Alternating Current)
系数来预测N的AC系数等,具体的预测方法根据实际情况而定。同时,将得 到的二次运动矢量进行存储,供图像重建时使用。
步骤1003,对二次残差块变换系数阵,以及一次预测得到的一次运动矢量 和二次预测得到的二次运动矢量进行熵编码,并一起写入压缩码流中;同时利 用二次残差块变换系数阵进行图像重建,作为其它待编码图像的参考图像。
其中,利用二次残差块变换系数阵进行图像重建的过程参考下面图11所示 流程。
图11为图IO所示图像编码方法中的图像重建流程示意图。以当前待解码 图像的一个宏块的重建过程为例,该流程包括如下步骤
步骤1101,根据步骤1002中得到的二次运动矢量,对二次残差块变换系数 阵,在编码时作为参考图像的二次参考图像变换系数阵中,进行二次运动补偿, 得到 一次残差块变换系数阵。
本步骤中,仍以图2所示的四个图像为例进行描述,并假设对当前待编码 图像B2的宏块N进行重建,则对于二次预测后得到的二次残差块变换系数阵
N ,根据步骤1002中存储的N对应的二次运动矢量(Mx,My),从在先重建 的参考残差图像A2'的变换系数阵中寻找到对应的补偿块M ,然后得到一次残
差块变换系数阵R =N +M。其它宏块的本次重建过程与此相同。
步骤1102,对所得到的一次残差块变换系数阵进行反变换,得到一次一次
残差块,并对所得到的一次残差块进行存储。
本步骤中,对变换后的变换系数阵进行反变换时对应于步骤1002中编码时
的变换,则步骤1101中N经过反变换后得到N'。
当B2所有宏块的二次残差块变换系数阵都重建完毕,根据所存储的B2的
所有一次残差块,得到一次残差图像B2'的重建图像,作为其它待编码图像的二次参考图像。
步骤1103,才艮据步骤1001中得到的一次运动矢量,对所得到的一次残差块 在编码时作为参考图像的一次参考图像中进行一次运动补偿,得到重建图像块, 并对该重建图像块进行存储。
本步骤中,在对步骤1102中B2'的残差块N'进行解码时,根据步骤iooi 中存储的一次运动矢量(Kx,Ky)从在先重建的参考图像Bl中寻找到补偿块K,
得到重建图像块N-N'+K,并对该重建图像块N进行存储。其它宏块的本次 重建过程与此相同。
当B2所有宏块的一次残差块都重建完毕,根据所存储的B2的所有重建图 像块,得到图像B2的重建图像,作为其它待编码图像的一次参考图像。
图12为本发明实施例二中图像解码方法的流程图。此处,也以当前待解码 图像的一个宏块的解码过程为例,如图12所示,该流程包括如下步骤步骤1201,对压缩码流进行熵解码得到一次运动矢量和二次运动矢量,以 及二次残差块变换系数阵。
本步骤中,解码方法与编码方法相对应,对压缩码流进行熵解码后,得到 一次运动矢量和二次运动矢量,以及本次待解码图像的当前待解码块,即二次 残差块变换系数阵。
步骤1202,根据得到的二次运动矢量,对所得到的二次残差块变换系数阵, 在编码时作为二次参考图像的残差图像变换系数阵中进行运动补偿,得到一次 残差块变换系数阵。
本步骤中,仍以图2所示的四个图像为例进行描述,并假设当前待解码图 像为B2,则对其中的宏块N进行解码时,对于从压缩码流解码后得到的二次
残差块变换系数阵N ,根据解码得到的N对应的二次运动矢量(Mx,My),从 在先解码后的残差图像A2'的变换系数阵中,寻找到对应的补偿块M,然后得
到一次残差块变换系数阵N =N +M。其它宏块的本次解码过程与此相同。其中,A2'为编码时的二次参考图像,此时作为解码时的二次参考图像,
由在先的已解码图像A2在解码时执行步骤1203时得到,即A2对应残差图像 解码后的重建图像。在执行本步骤时,首先对A2'进行变换,得到A2'的变换 系数阵。
步骤1203,对所得到的一次残差块变换系数阵进行反变换,得到一次一次 残差块,并对所得到的一次残差块进行存储。
本步骤中,对得到的一次残差块变换系数阵进行反变换时对应于步骤1002
中编码时的变换,则步骤1202中N经过反变换后得到N'。
当B2所有宏块的二次残差块变换系数阵都解码完毕,根据所存储的B2的
所有一次残差块,得到一次残差图像B2'的重建图像,作为其它待解码图像的 二次参考图像。
步骤1204,冲艮据得到的一次运动矢量,对所得到的一次残差块,在编码时 作为一次参考图像的图像中进行运动补偿,得到重建图像块,并对该重建图像 块进行存储。
本步骤中,在对步骤1203中B2'的残差块N'进行解码时,根据解码得到的 N'对应的一次运动矢量(Kx,Ky)从在先解码后的参考图像Bl中,寻找到补 偿块K,得到重建图像块N-N'+K,对该重建图像块进行存储。其它宏块的 本次解码过程与此相同。
至此,当前待解码块的解码过程结束。当B2所有宏块的一次残差块都解码 完毕,根据所存储的B2的所有重建图像块,得到原始图像的重建图像,供后 续使用。同时得到的重建图像还可作为其它待解码图像的一次参考图像。
上述对本发明中又一种图像编码方法和解码方法进行了详细描述,下面再 对本发明中基于上述图像编码方法和解码方法的编码器和解码器进行详细说 明。
图13为本发明实施例二中编码器的结构示意图。如图13所示,该编码器包括 一次预测模块、变换模块、二次预测模块、编码模块、二次重建模块、反变换模块以及一次重建模块。
并且,编码流程为当前待编码图像—一次预测模块—变换模块—二次预测模块—编码模块—码流;重建时流程为二次重建模块—反变换模块—一次重建模块—当前图像的重建图像。其中一次预测模块产生的一次运动矢量和二次预测模块产生的二次运动矢量直接输出给编码模块,二次重建时,采用的是二次预测模块产生的二次运动矢量, 一次重建时,采用的是一次预测模块产生的一次运动矢量。
其中, 一次预测模块用于从一次重建模块中读取一次参考图像集合,对当前待编码图像以宏块或块为单位,对当前待编码块从参考图像集合中选取最佳匹配块,用所选取的最佳匹配块对当前待编码块进行预测,得到一次残差块及对应的一次运动矢量,将一次残差块输出给变换模块,将一次运动矢量输出给编码模块,同时对该一次运动矢量进行存储,供一次重建模块使用。
变换模块用于接收来自 一次预测模块的一次残差块,并对所接收的一次残差块进行变换,得到一次残差块变换系数阵输出给二次预测模块,并将从二次重建模块中读取的二次参考图像进行变换,得到二次参考图像变换系数阵,输出给二次预测模块。
二次预测模块用于接收来自 一次预测模块的一次残差块变换系数阵以及二次参考图像变换系数阵,以二次参考图像变换系数阵中最佳匹配块的变换系数阵对该一次残差块变换系数阵进行预测,得到二次残差块变换系数阵以及二次运动矢量,输出给编码模块及二次重建模块。同时,对该二次运动矢量进行存储,供二次重建模块使用。
编码模块可以包括重排序及熵编码等编码过程,用于接收来自二次预测模块的二次残差块变换系数阵及二次运动矢量,连同来自一次预测模块的一次运动矢量一起进行熵编码,写入码流中。
二次重建模块用于接收来自二次预测模块的二次残差块变换系数阵,并根据从二次预测模块读取的二次运动矢量,对所接收的二次残差块变换系数阵,在编码时的二次参考图像变换系数阵中进行运动补偿,得到 一次残差块系数阵输出给反变换模块。
反变换模块用于接收来自二次重建模块的一次残差块变换系数阵,并对所接收的一次残差块变换系数阵进行反变换,得到一次残差块,输出给一次重建模块,并将该一次残差块进行存储。
若当前编码图像所有的二次残差块变换系数阵都重建并反变换结束,则根据所存储的当前编码图像的所有一次残差块得到当前编码图像的一次残差图像,可作为其它预测所需的二次参考图像。
一次重建模块用于接收来自反变换模块的一次残差块,并读取一次预测模块所存储的一次运动矢量,根据所读取的一次运动矢量,在编码时的一次参考图像中进行运动补偿,得到重建图像块,并将该重建图像块进行存储。
若当前编码图像所有的一次残差块都重建结束,则根据所存储的当前编码图像的所有重建图像块得到当前编码图像的重建图像,可作为其它预测所需的一次参考图像。
其中对第一个图像进行编码时,参考图像可以为空,即对第一个图像进行编码时,可不经过预测,而直接进行后续编码处理。
图14为本发明实施例二中解码器的结构示意图。如图14所示,该解码器
包括解码模块、二次重建模块、反变换模块、 一次重建模块以及变换模块。并且,解码流程为解码模块—二次重建模块—反变换模块—一次重建模
块—当前图像的重建图像。其中二次重建时的二次运动矢量和一次重建时的一
次运动矢量都是解码模块解码之后得到的。
其中,解码模块,用于对压缩码流进行熵解码,得到当前待解码图像中当
前待解码块的一次运动矢量、二次运动矢量以及二次残差块变换系数阵等,并
将二次残差块变换系数阵以及二次运动矢量输出给二次重建模块,将一次运动
矢量输出给一次重建模块。
二次重建模块用于接收来自编码模块的二次残差块变换系数阵以及二次运
动矢量,并接收来自变换模块的该二次残差块变换系数阵编码时的二次参考图像变换系数阵,冲艮据所接收的二次运动矢量,将二次残差块变换系数阵在编码时的二次参考图像变换系数阵中进行运动补偿,得到一次残差块系数阵,输出给反变换模块。
其中,二次参考图像变换系数阵为经过二次重建模块和反变换模块后已解码出的一次残差图像,变换模块用于读取该一次残差图像,并对所读取的一次残差图像进行变换,将变换后的变换系数阵输出给二次重建模块。
反变换模块用于接收来自二次重建模块的一次残差块变换系数阵,并对所接收的一次残差块变换系数阵进行反变换,得到一次残差块,输出给一次重建图像,并将该一次残差块进行存储。
若当前待解码图像所有的二次残差块变换系数阵都重建并反变换结束,则根据所存储的当前待解码图像的所有一次残差块,得到当前待解码图像的一次残差图像,可作为其它解码所需的二次参考图像。
一次重建模块用于接收来自反变换模块的一次残差块,并读取一次预测模块所存储的一次运动矢量,根据所读取的一次运动矢量,在编码时的一次参考图像中进行运动补偿,得到重建图像块,并将该重建图像块进行存储。
若当前待解码图像所有的一次残差块都重建结束,则根据所存储的当前待解码图像的所有重建图像块,得到当前待解码图像的重建图像,可作为其它解码所需的一次参考图像。
其中,实施例二中的编码器,在对图像重建的过程中,经过二次重建模块之后,得到一次残差块变换系数阵,在将该一次残差块变换系数阵输出给反变换模块的同时,可以对其进行存储,并根据所存储当前编码图像的所有一次残差块变换系数阵,得到一次残差图像变换系数阵,作为输入二次预测模块的二次参考图像变换系数阵,则变换模块在对一次残差块变换系数阵进行变换后,不必再对其进行存储,且该二次参考图像变换系数阵也无需由二次参考图像经过变换模块变换后得到。同样,在解码器中,也可以作同样处理,此时解码器中可无需包含变换模块。
本实施例中在进行变换时或变换模块执行变换时,可以包括变换和量化,进行后续编码时或编码模块执行编码时,也可以包括重排序及熵编码,或者其它编码方式;同样反变换时,或反变换模块执行反变换时,与变换时或变换模块对应,也可以包括反量化和反变换,前序解码时,或解码模块执行解码时,与后续编码或编码模块相对应,可包括熵解码及重排序,或者其它解码方式。实施例三
本实施例中,可以同时应用实施例一中的图像编码方法、解码方法,以及实施例二中的图像编码方法、解码方法。相应的,编码器和解码器兼具有上述实施例一和实施例二中的编码器和解码器的两种实现功能,是在实施例二的基
础上加上了实施例一中的实现方式。图15为本发明实施例三中编码器的结构示意图。该编码器包括 一次预测模块、变换模块、二次预测模块、编码模块、二次重建模块、反变换模块以及一次重建模块。其中包括虛线部分表示的编码流程当前待编码图像—一次预测模块—二次预测才莫块—变换模块—编码模块—码流;重建时流程反变换模块—二次重建模块—一次重建模块—当前图像的重建图像。以及实线部分表示的编码流程当前待编码图像—一次预测模块—变换^^莫块—二次预测^f莫块—编码;f莫块—码流;重建时流程二次重建^f莫块—反变换模块—一次重建模块4当前图像的重建图像。
其中一次预测模块产生的一次运动矢量和二次预测模块产生的二次运动矢量直接输出给编码模块,二次重建时,采用的是二次预测模块产生的二次运动矢量, 一次重建时,采用的是一次预测模块产生的一次运动矢量。
图16为本发明实施例三中解码器的结构示意图。该解码器包括解码^t块、二次重建模块、反变换模块、 一次重建模块以及变换模块。其中包括虚线部分表示的解码流程解码模块4反变换模块—二次重建模块—一次重建模块—当
前图像的重建图像。以及实线部分表示的解码流程解码模块—二次预测模块—反变换模块—一次预测模块—当前图像的重建图像。
其中解码时,二次重建时的二次运动矢量和一次重建时的一次运动矢量都是解码模块解码之后得到的。
其中,编码器和解码器采用实线部分的流程还是虚线部分的流程,可以根据实际控制,或者根据编解码效果,或者根据其它实际情况分别进行,采用哪 种编码方式,就要对应哪种解码方式,可以在编码器编码时,以图^象帧为单位, 或者以宏块为单位等,设置一个标志位,采用哪种编码方式,便用标志位进行
标记;解码器在对压缩码流进行解码时,可根据解码标志执行相应的解码过程。 其中编码器和解码器中的各个功能模块根据实际所采用的实现方式,执行相应 的功能,如采用实线部分的实现方式时,按照实施例二中执行;采用虚线部分 的实现方式时,按照实施例一中执行。
实际编码过程中,关于熵编码环节,还可以有其它的编码方法,同理,熵 解码环节也可以为其它的解码方法,其中,解码方法与编码方法相对应。并且, 也可以不进行熵编码或其它编码过程,而直接将一次运动矢量、二次运动矢量 及二次残差图像写入压缩码流中。
上述三个实施例中的解码器,在进行二次重建时,所输入的二次残差图像 也可以是进行熵编码之后的压缩码流,此时需要在编码器中增加一个解码模块, 用于接收编码模块生成的压缩码流,从压缩码流中解码得到二次残差图像、二 次运动矢量及一次运动矢量,则重建过程可以同解码器中的过程。
其中,本发明所提供的图像编码方法和图像解码方法可以同时使用构成编 解码方法,包括
编码时,对当前待编码图像进行一次预测,得到一次残差图像及一次运动 矢量,并对一次残差图像进行二次预测,得到二次残差图像及二次运动矢量, 将二次残差图像、二次运动矢量及一次运动矢量写入压缩码流中发送出去。
解码时,接收压缩码流,并从压缩码流中解码得到一次运动矢量、二次运 动矢量和二次残差图像;根据二次运动矢量,对二次残差图像进行运动补偿, 得到一次残差图像,并根据一次运动矢量,对一次残差图像进行运动补偿,得 到重建图像。
对于编码和解码的具体实现过程,也可以同实施例一至实施例三所描述的 几种方法。
本发明所提供的编码器和解码器也可以组装成一个编解码器使用。如图17所示,图17为在实施例一中图8所示的编码器和图9所示的解码器的基础上组
装成的编解码器,该编解码器包括编码单元和解码单元。
其中,编码单元,用于对当前待编码图像进行一次预测,得到一次残差图 像及一次运动矢量,并对一次残差图像进行二次预测,得到二次残差图像及二 次运动矢量,将二次残差图像、二次运动矢量及一次运动矢量写入压缩码流中 发送出去。
解码单元,用于接收压缩码流,并从压缩码流中解码得到一次运动矢量、
二次运动矢量和二次残差图像;根据二次运动矢量,对二次残差图像进行运动 补偿,得到一次残差图像,并根据一次运动矢量,对一次残差图像进行运动补 偿,得到重建图像,并且解码单元进一步用于为编码单元提供作为参考图像的 重建图像。
其中,编码单元可以包括 一次预测模块、二次预测模块、变换模块以及 编码模块;解码单元可以包括解码模块、反变换模块、二次重建模块以及一 次重建模块。
该编解码器对于图8所示的编码器来说进一步包括了解码模块,用于在为 编码过程提供参考图像的重建图像时,从编码生成的压缩码流中解码得到二次 残差图像以及一次运动矢量和二次运动矢量,然后对该二次残差图像进行反变 换,在进行图像重建时,所需要的二次运动矢量可以是二次预测模块存储的二 次运动矢量,也可以是解码模块解码得到的二次运动矢量,同理,所需要的一 次运动矢量可以是一次预测模块存储的一次运动矢量,也可以是解码模块解码 得到的一次运动矢量,如果完成由解码模块得到的话,则一次预测模块和二次 预测模块可以不对所产生的一次运动矢量和二次运动矢量进行存储。
该编解码器对于图9所示的解码器来说,进行解码的部分主要由解码模块、 反变换模块、二次重建模块以及一次重建模块来完成,并且各个模块的功能与 连接关系和图9所示的模块功能与连接关系相同。
当前对于图17所示的编解码器还可以有其它的结构变形,或者可以不包括 变换模块以及反变换模块等,解码模块与编码模块也同样可以有很多编码方式及解码方式。
同样,对于实施例二和实施例三中的编码器和解码器也可以组装成编解码 器。并且还可以有各种结构变形等。
从上述各个实施例可见,本发明通过将各个视频序列中某些已经编码过的 图像所对应的残差图像作为参考图像,对当前待编码图像经过预测编码后产生 的残差图像进行预测,再将预测后获得的二次残差图像进行后续编码操作,从 而消除残差图像之间的相关性,进一步降低图像之间的冗余度,减少码流的数 据量,提高编码效率。
此外,在对当前待编码图像经过预测编码后产生的残差图像进行预测时, 对当前待编码图像的一次残差图像以宏块或块为单位,在作为二次参考图像的 残差图像中寻找最佳匹配块,寻找最佳匹配块时,通过利用已编码图像中对应 位置块的一次视差矢量,在二次参考图像中找到对应块,将该对应块作为最佳
匹配块,并将所参照的一次;现差矢量作为在二次参考图^^中的二次^L差矢量, 从而可以减少码流的数据量;或者在找到对应块后,以该块作为搜索中心起始 点,寻找最佳匹配块,从而进一步提高编码效率。
最后,本发明还可以对一次残差图像变换后的变换系数阵进行预测,从而 为消除残差图像之间相关性的方法,提供了更多的选择,使编码更灵活,从而 可以最大限度的消除残差图像之间的相关性。
上述各实施例只是本发明思想的 一种展示,而非限定本发明的保护范围。 凡在本发明的精神和原则之内,所,文的任何修改、等同替换、改进等,均应包 含在本发明的保护范围之内。
权利要求
1、一种图像编码方法,其特征在于,该方法包括A、对当前待编码图像进行一次预测,得到一次残差图像及一次运动矢量;B、对一次残差图像进行二次预测,得到二次残差图像及二次运动矢量,并将二次残差图像、二次运动矢量及一次运动矢量写入压缩码流中。
2、 如权利要求l所述的方法,其特征在于,所述步骤B具体包括以宏块 或块为单位,针对一次残差图像中的每一个宏块或块,在作为二次参考图像的 残差图像集合中寻找最佳匹配块,用该最佳匹配块对当前宏块或块进行预测, 并得到二次残差块及对应的二次运动矢量,将二次残差块、二次运动矢量及一 次运动矢量写入压缩码流中。
3、 如权利要求2所述的方法,其特征在于,步骤B中所述在作为二次参考 图像的残差图像集合中寻找最佳匹配块为进行视差估计时,根据已编码图像 中对应位置块的一次运动矢量,在二次参考图像中找到对应块,将该对应块作 为最佳匹配块,并将所述一次运动矢量作为在二次参考图像中的二次运动矢量;或者进行视差估计时,根据已编码图像中对应位置块的一次运动矢量,在二次 参考图像中找到对应块,以该对应块作为搜索中心起始点,寻找最佳匹配块。
4、 如权利要求l所述的方法,其特征在于,步骤B之前进一步包括以宏 块或块为单位,对一次残差图像中的每个宏块或块进行变换,得到变换后的一 次残差块;所述步骤B为针对每个变换后的一次残差块,在作为二次参考图像的残 差图像变换后的图像中寻找最佳匹配块,用该最佳匹配块对当前变换后的一次 残差块进行预测,并得到二次残差块及对应的二次运动矢量,将二次残差块、 二次运动矢量及一次运动矢量写入压缩码流中。
5、 如权利要求2至4中任意一项所述的方法,其特征在于,所述二次参考 图像为已编码图像对应一次残差图像的重建图像。
6、 如权利要求1至4中任意一项所述的方法,其特征在于,步骤B中写入 压缩码流之前,进一步包括对二次残差图像、二次运动矢量以及一次运动矢 量进行熵编码。
7、 一种图像解码方法,其特征在于,该方法包括A、 从压缩码流中解码得到一次运动矢量、二次运动矢量和二次残差图像;B、 根据二次运动矢量,对二次残差图像进行运动补偿,得到一次残差图像, 并根据一次运动矢量,对一次残差图像进行运动补偿,得到重建图像。
8、 如权利要求7所述的方法,其特征在于,所述步骤B为以宏块或块为 单位,针对二次残差图像中的每个宏块或块,根据该宏块或块对应的二次运动 矢量,对该二次残差块进行运动补偿,得到一次残差块,并根据该一次残差块 对应的一次运动矢量,对该一次残差块进行运动补偿,得到重建图像块,将二 次残差图像的所有重建图像块合成所述重建图像。
9、 如权利要求8所述的方法,其特征在于,步骤B所述根据该一次残差块 对应的一次运动矢量,对该一次残差块进行运动补偿之前,进一步包括对得 到的一次残差块进行反变换,得到反变换后的一次残差块。
10、 一种编码器,包括 一次预测模块和编码模块,其特征在于,该编码 器还包括二次预测模块,其中,一次预测模块,用于对当前待编码图像进行一次预测,得到一次残差图像 和一次运动矢量;二次预测模块,用于接收来自所述一次预测模块的一次残差图像,对所接 收的一次残差图像进行二次预测,得到二次残差图像及二次运动矢量;编码模块,用于接收来自所述一次预测模块的一次运动矢量和来自所述二 次预测模块的二次运动矢量和二次残差图像,并将所接收的一次运动矢量、二 次运动矢量及二次残差图像写入压缩码流中。
11、 如权利要求IO所述的编码器,其特征在于,该编码器还包括 二次重建模块,用于接收来自所述二次预测模块的二次残差图像,并读取二次预测模块中得到的二次运动矢量,根据该二次运动矢量,对所接收的二次残差图像进行运动补偿,得到一次残差图像,所述一次残差图像用于所述二次预测模块进行二次预测时的参考图像;一次重建模块,用于接收来自所述二次重建模块的一次残差图像,并读取 一次预测模块中得到的一次运动矢量,根据该一次运动矢量,对所接收的一次 残差图像进行运动补偿,得到重建图像,所述重建图像用于所述一次预测模块 进行一次预测时的参考图像。
12、 如权利要求11所述的编码器,其特征在于,所述编码器进一步包括 变换模块和反变换模块,其中,变换模块,用于接收来自二次预测模块的二次残差图像,对所接收的二次 残差图像进行变换,将变换后的二次残差图像输出给编码模块和反变换模块;反变换模块,用于接收来自变换模块的二次残差图像,对所接收的二次残 差图像进行反变换,得到反变换后的二次残差图像,输出给二次重建模块。
13、 如权利要求11所述的编码器,其特征在于,所述编码器进一步包括 变换模块和反变换模块,其中,变换模块,用于接收来自一次预测模块的一次残差图像,对一次残差图像 进行变换,将变换后的一次残差图像输出给二次预测模块;反变换模块,用于接收来自二次重建模块的一次残差图像,对所接收的一 次残差图像进行反变换,将反变换后的一次残差图像输出给一次重建模块。
14、 一种解码器,该解码器包括解码模块、 一次重建模块,其特征在于, 该解码器还包括二次重建模块,其中,解码模块,用于从压缩码流中解码得到一次运动矢量、二次运动矢量及二 次残差图像;二次重建模块,用于接收来自所述解码模块的二次残差图像和二次运动矢 量,根据所接收的二次运动矢量,对二次残差图像进行运动补偿,得到一次残 差图像;一次重建模块,用于接收来自所述二次重建模块的一次残差图像及来自解 码模块的一次运动矢量,根据所接收的一次运动矢量,对一次残差图像进行运动补偿,得到重建图像。
15、 如权利要求14所述的解码器,其特征在于,该解码器进一步包括反 变换模块,用于接收来自解码模块的二次残差图像,对所接收的二次残差图像 进行反变换,并将反变换后的二次残差图像输出给二次重建模块。
16、 如权利要求14所述的解码器,其特征在于,该解码器进一步包括反 变换模块,用于接收来自二次重建模块的一次残差图像,并对所接收的一次残 差图像进行反变换,将反变换后的一次残差图像输出给一次重建模块。
17、 一种编解码方法,其特征在于,该方法包括A、 对当前待编码图像进行一次预测,得到一次残差图像及一次运动矢量, 并对一次残差图像进行二次预测,得到二次残差图像及二次运动矢量,将二次 残差图像、二次运动矢量及一次运动矢量写入压缩码流;B、 接收所述压缩码流,并从压缩码流中解码得到一次运动矢量、二次运动 矢量和二次残差图像;根据二次运动矢量,对二次残差图像进行运动补偿,得 到一次残差图像,并根据一次运动矢量,对一次残差图像进行运动补偿,得到 重建图像。
18、 一种编解码器,其特征在于,该编解码器包括编码单元和解码单元, 其中,编码单元,用于对当前待编码图像进行一次预测,得到一次残差图像及一 次运动矢量,并对一次残差图像进行二次预测,得到二次残差图像及二次运动 矢量,将二次残差图像、二次运动矢量及一次运动矢量写入压缩码流中;解码单元,用于接收所述压缩码流,并从压缩码流中解码得到一次运动矢 量、二次运动矢量和二次残差图像;根据二次运动矢量,对二次残差图像进行 运动补偿,得到一次残差图像,并根据一次运动矢量,对一次残差图像进行运 动补偿,得到重建图像。
19、 如权利要求18所示的编解码器,其特征在于,所述编码单元包括 一次预测模块,用于对当前待编码图像进行一次预测,得到一次残差图像和一次运动矢量;二次预测模块,用于接收来自一次预测模块的一次残差图像,对所接收的一次残差图^f象进行二次预测,得到二次残差图像及二次运动矢量;编码模块,用于接收来自 一次预测模块的一次运动矢量和来自二次预测模 块的二次运动矢量和二次残差图像,并将所接收的一次运动矢量、二次运动矢 量及二次残差图像写入压缩码流中。
20、 如权利要求19所述编解码器,其特征在于,所迷解码单元包括 解码才莫块,用于从压缩码流中解码得到一次运动矢量、二次运动矢量及二次残差图像;二次重建模块,用于接收来自解码模块的二次残差图像和二次运动矢量, 根据所接收的二次运动矢量,对二次残差图像进行运动补偿,得到一次残差图 像;一次重建模块,用于接收来自二次重建模块的一次残差图像及来自解码模 块的一次运动矢量,根据所接收的一次运动矢量,对一次残差图像进行运动补 偿,得到重建图像。
21、 一种图像编码方法,其特征在于,该方法包括A、 对第一帧待编码图像进行编码后的当前待编码图像进行一次预测,得 到 一次残差图像及一次运动矢量;B、 以宏块或块为单位,针对一次残差图像中的每一个宏块或块,进行;現差 估计时,根据已编码图像中对应位置块的一次运动矢量,在二次参考图像中找 到对应块,将该对应块作为最佳匹配块,并将所述一次运动矢量作为在二次参 考图像中的二次运动矢量,用该最佳匹配块对当前宏块或块进行预测,得到二 次残差块;将一次运动矢量和二次残差块和/或二次运动矢量写入压缩码流中。
22、 如权利要求21所述的方法,其特征在于,步骤A中所述对当前待编 码图像进行一次预测,得到一次残差图像及一次运动矢量包括以宏块或块为 单位,针对当前待编码图像中的每一个宏块或块,进行视差估计时,根据已编 码图像中对应位置块的一次运动矢量,在当前宏块或块的参考图像中找到对应 块,将该对应块作为最佳匹配块,并将所述一次运动矢量作为当前宏块或块在参考图像中的一次运动矢量,用该最佳匹配块对当前宏块或块进行预测,得到 一次残差块;或者,进行视差估计时,根据已编码图像中对应位置块的一次运动矢量, 在当前宏块或块的参考图像中找到对应块,以该块作为搜索中心起始点,寻找 最佳匹配块,用该最佳匹配块对当前宏块或块进行预测,并得到一次残差块及 对应的一次运动矢量。
23、 一种图^象编码方法,其特征在于,该方法包括A、 对第一帧待编码图像进行编码后的当前待编码图像进行一次预测,得 到 一次残差图像及一次运动矢量;B、 以宏块或块为单位,针对一次残差图像中的每一个宏块或块,进行视差 估计时,根据已编码图像中对应位置块的一次运动矢量,在二次参考图像中找 到对应块,以该块作为搜索中心起始点,寻找最佳匹配块,用该最佳匹配块对 当前宏块或块进行预测,并得到二次残差块及对应的二次运动矢量;将一次运 动矢量、二次残差块和二次运动矢量写入压缩码流中。
24、 如权利要求23所述的方法,其特征在于,步骤A中所述对当前待编 码图像进行一次预测,得到一次残差图像及一次运动矢量包括以宏块或块为 单位,针对当前待编码图像中的每一个宏块或块,进行视差估计时,根据已编 码图像中对应位置块的一次运动矢量,在当前宏块或块的参考图像中找到对应 块,将该对应块作为最佳匹配块,并将所述一次运动矢量作为当前宏块或块在 参考图像中的一次运动矢量,用该最佳匹配块对当前宏块或块进行预测,得到 一次残差块;或者,进行视差估计时,根据已编码图像中对应位置块的一次运动矢量, 在当前宏块或块的参考图^f象中找到对应块,以该块作为搜索中心起始点,寻找 最佳匹配块,用该最佳匹配块对当前宏块或块进行预测,并得到一次残差块及 对应的一次运动矢量。
25、 一种图像解码方法,其特征在于,该方法包括A、从压缩码流中解码得到一次运动矢量、二次运动矢量和二次残差图像;B、以宏块或块为单位,针对二次残差图像中的每个宏块或块,根据该宏块或块对应的二次运动矢量,或才艮据该宏块或块对应的作为二次运动矢量的一次 运动矢量,对该二次残差块进行运动补偿,得到一次残差块,并根据该一次残 差块对应的一次运动矢量,对该一次残差块进行运动补偿,得到重建图像块, 将二次残差图像的所有重建图像块合成重建图像。
26、 一种编码器,包括 一次预测模块和编码模块,其特征在于,该编码 器还包括二次预测模块,其中,一次预测模块,用于对第一帧之后的当前待编码图像进行一次预测,得到 一次残差图像和一次运动矢量;二次预测模块,用于接收来自一次预测模块的一次残差图像,对所接收的 一次残差图像以宏块或块为单位,针对一次残差图像中的每一个宏块或块,进 行视差估计时,根据已编码图像中对应位置块的一次运动矢量,在二次参考图 像中找到对应块,将该对应块作为最佳匹配块,并将所述一次运动矢量作为在 二次参考图像中的二次运动矢量,用该最佳匹配块对当前宏块或块进行预测, 得到二次残差块;编码模块,用于接收来自所述一次预测模块的一次运动矢量和来自所述二 次预测模块的二次残差图像和/或二次运动矢量,并将所接收的一次运动矢量和 二次残差图像和/或二次运动矢量写入压缩码流中。
27、 如权利要求26所述的编码器,其特征在于,该编码器还包括 二次重建模块,用于接收来自二次预测模块的二次残差图像,并读取二次预测模块中得到的二次运动矢量或作为二次运动矢量的一次预测模块中得到的 一次运动矢量,根据所述二次运动矢量或所述作为二次运动矢量的一次运动矢 量,对所接收的二次残差图像进行运动补偿,得到一次残差图像,用于所述二 次预测模块进行二次预测时的参考图像;一次重建模块,用于接收来自二次重建模块的一次残差图像,并读取一次 预测模块中得到的一次运动矢量,根据该一次运动矢量,对所接收的一次残差 图像进行运动补偿,得到重建图像,用于所述一次预测模块进行一次预测时的参考图像。
28、 一种编码器,包括 一次预测模块和编码模块,其特征在于,该编码 器还包括二次预测模块,其中,一次预测才莫块,用于对第一帧之后的当前待编码图像进行一次预测,得到 一次残差图像和一次运动矢量;二次预测模块,用于接收来自一次预测模块的一次残差图像,对所接收的 一次残差图像以宏块或块为单位,针对一次残差图像中的每一个宏块或块,进 行视差估计时,根据已编码图像中对应位置块的一次运动矢量,在二次参考图 像中找到对应块,以该块作为搜索中心起始点,寻找最佳匹配块,用该最佳匹 配块对当前宏块或块进行预测,得到二次残差块及对应的二次运动矢量;编码模块,用于接收来自所述一次预测模块的一次运动矢量和来自所述二 次预测模块的二次残差图像和二次运动矢量,并将所接收的一次运动矢量、二 次残差图像和二次运动矢量写入压缩码流中。
29、 如权利要求28所述的编码器,其特征在于,该编码器还包括 二次重建模块,用于接收来自二次预测模块的二次残差图像,并读取二次预测模块中得到的二次运动矢量,根据所述二次运动矢量,对所接收的二次残 差图像进行运动补偿,得到一次残差图像,所述一次残差图像用于所述二次预 测^t块进行二次预测时的参考图像;一次重建模块,用于接收来自二次重建模块的一次残差图像,并读取一次 预测模块中得到的一次运动矢量,根据该一次运动矢量,对所接收的一次残差 图像进行运动补偿,得到重建图像,所述重建图像用于所述一次预测模块进行 一次预测时的参考图像。
30、 一种解码器,该解码器包括解码模块、 一次重建模块,其特征在于, 该解码器还包括二次重建模块,其中,解码模块,用于从压缩码流中解码得到一次运动矢量、二次运动矢量及二 次残差图像;二次重建模块,用于接收来自所述解码模块的二次残差图像和二次运动矢量或作为二次运动矢量的一次运动矢量,根据所接收的二次运动矢量或作为二 次运动矢量的一次运动矢量,对二次残差图像进行运动补偿,得到一次残差图像;一次重建模块,用于接收来自所述二次重建模块的一次残差图像及来自所 述解码模块的一次运动矢量,根据所接收的一次运动矢量,对一次残差图像进行运动补偿,得到重建图像。
31、 一种在多视图像间寻找最佳匹配块的方法,其特征在于,该方法包括 对当前图像的宏块或块进行一次和/或二次视差估计时,根据已编码图像中对应位置块的一次运动矢量,在当前宏块或块的参考图像中找到对应块,将该 对应块作为当前宏块或块的一次和/或二次最佳匹配块。
32、 一种在多视图像间寻找最佳匹配块的方法,其特征在于,该方法包括 对当前图像的宏块或块进行一次和/或二次视差估计时,根据已编码图像中对应位置块的一次运动矢量,在当前宏块或块的参考图像中找到对应块,以该 对应块作为搜索中心起始点,寻找当前宏块或块的一次和/或二次最佳匹配块。
33、 一种在多视图像间寻找最佳匹配块的装置,其特征在于,该装置包括 一次预测模块,用于对当前待编码图像以宏块或块为单位,针对当前待编码图像中的每一个宏块或块,进行视差估计时,根据已编码图像中对应位置块 的一次运动矢量,在参考图像中找到对应块,将该对应块作为最佳匹配块。
34、 一种在多视图像间寻找最佳匹配块的装置,其特征在于,该装置包括: 一次预测模块,用于对当前待编码图像以宏块或块为单位,针对当前待编码图像中的每一个宏块或块,进行视差估计时,根据已编码图像中对应位置块 的一次运动矢量,在参考图像中找到对应块,以该块作为搜索中心起始点,寻 找最佳匹配块。
35、 一种在多视图像间寻找最佳匹配块的装置,其特征在于,该装置包括: 二次预测模块,用于对所接收的一次残差图像以宏块或块为单位,针对一 次残差图像中的每一个宏块或块,进行视差估计时,根据已编码图像中对应位 置块的一次运动矢量,在二次参考图像中找到对应块,将该对应块作为最佳匹配块。
36、 一种在多视图像间寻找最佳匹配块的装置,其特征在于,该装置包括 二次预测模块,用于对所接收的一次残差图像以宏块或块为单位,针对一 次残差图像中的每一个宏块或块,进行视差估计时,根据已编码图像中对应位 置块的一次运动矢量,在二次参考图像中找到对应块,以该块作为搜索中心起 始点,寻找最佳匹配块。
全文摘要
本发明公开了两种编码方法,其中,一种编码方法包括对当前待编码图像进行一次预测,得到一次残差图像及一次运动矢量;对一次残差图像进行二次预测,得到二次残差图像及二次运动矢量,并将二次残差图像、二次运动矢量及一次运动矢量写入压缩码流中或进行熵编码后写入压缩码流中。本发明还公开了两种解码方法、两种编码器、两种解码器、一种编解码方法、一种编解码器,以及一种在多视图像间寻找最佳匹配块的方法及装置。本发明所提供的技术方案能够消除残差图像之间的相关性。
文档编号H04N7/28GK101518089SQ200780000320
公开日2009年8月26日 申请日期2007年8月31日 优先权日2006年9月1日
发明者芸 何, 史舒娟, 孟新建, 许晓中, 郑建铧, 郑萧桢 申请人:华为技术有限公司;清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1