基于边界强度因子进行去块效应滤波的解码方法和装置的制作方法

文档序号:7664495阅读:129来源:国知局
专利名称:基于边界强度因子进行去块效应滤波的解码方法和装置的制作方法
技术领域
本发明涉及一见频编解码技术,尤其涉及视频编解码中用于确定边 界强度因子并将其用于去块效应滤波器的方法和相应装置。
背景技术
在很多重要的视频编码标准中,例如H.264、 VC-1、 AVS标准,基 于块的运动估计和补偿被广泛地用来减少视频序列的时间冗余以得 到更高的编码效率,这种方案给许多视频流提供了 一种高效的时域模 型。在基于块的混合编码方案中,解码端反变换量化之后的图像会出 现由基于块的帧内和帧间预测残差的DCT变换和运动补偿预测所引 起的块效应。这种块效应是基于块编码的压缩算法常见的人工瑕疯。
因此,去块效应滤波器被应用到编码端的反变换之后,以及解码 端的重建和显示之前,以减少由块效应所引起的失真。滤波器的作用 在于平滑块边界,改善解码帧质量。滤波后的宏块被用于将来帧的运 动补偿预测以提高压缩性能,因为滤波后图像比具有块效应的未滤波 图像更接近原始图像。是否需要使用滤波器,以及所选用滤波器的强 度需要边界强度因子进行判别的。
在现有的视频编解码技术中进行边界强度因子的获取并将其用 于去块效应滤波器判别的方案如下
-由解码数据中提取与当前宏块相邻的参考宏块的相关信息,包括宏 块类型,参考帧序号,运动矢量,编码系数模式的计算边界强度因 子所需的参考宏块信息存储到独立存储区。
-由解码数据中提取当前宏块的参考帧序号和运动矢量等解码过程 中所需要的信息将其存入当前宏块存储区。
-从已解码宏块行存储区读取重建预测宏块数据所需要的信息重建
5预测宏块数据,并与反向余弦变换后得到的残差块数据相加,得到当 前宏块的重构数据。将当前宏块的相关信息写入已解码宏块行存储 区,以作为下一宏块的在先参考宏块。
_在获取当前宏块的重构数据后,读取独立存储区中预先存储的 边界强度因子的获取所需的参考宏块信息,从当前宏块存储区读取当 前宏块信息,根据预定的规则进行边界强度因子的获取。
-根据所述边界强度因子的数值,确定是否需要边界滤波,以及 使用何种方式进行去块效应滤波,最后,按照一定顺序依次完成各个 边界的去块效应滤波。
在这种方案中,需要在解码过程中开辟一个独立存储空间,用于 存储边界强度因子的获取所需的参考宏块的相关信息,所存储信息被 保存到获取预测宏块数据和残差块数据的重构值之后再用于边界强 度因子获取,并且,所存储信息不被其他操作共享。这种方案无疑提 高了对存储容量的要求,并且增加了存储操作的次数。而频繁的存储 读取操作恰恰是制约滤波处理能力的瓶颈。尤其对于在 一 帧重构之后 再进行去块效应滤波的情况下,所需大量参考宏块的信息可能被存储
在片外存储器中,例如SDRAM或者DDR中。而对所述信息的存储 或者读写,都需要对片外寄存器进行激活以及关闭等操作,大大增加 了系统的延时和功耗。

发明内容
针对现有技术在的解码过程中需要将边界强度因子的获取所需 的宏块信息单独保存且在得到预测宏块数据和残差块数据的重构值 之后再进行边界强度因子的获取的技术方案所可能存在的所需存储 空间大和读取存储操作延时长的问题,本发明采用了在荻取预测宏块 数据和残差块数据的重构值之前提取所需的宏块信息进行处理以完 成边界强度因子的获取的控制方法和装置。
根据本发明的第一方面,提供了 一种在视频压缩处理中基于边界强 度因子进行去块效应滤波的解码方法,其特征在于,边界强度因子的获 取在获取预测宏块数据和残差块数据的重构值之前完成。根据本发明的第二方面,提供了 一种在视频压缩处理中基于边界强 度因子进行去块效应滤波的解码装置,用于在获取预测宏块数据和残差 块数据的重构值之前完成边界强度因子的获取。
与现有技术相比,本发明对边界强度因子的获取是在获取预测宏块 数据和残差块数据的重构值之前完成的,因而可以提前释放当前宏块存 储区的信息,并且所需参考宏块的信息可以分享其它存储区已有信息, 而不必单独占据解码装置内部的片内存储空间,或者是外接存储器空 间,从而降低了对所需要的存储装置大小的要求,同时也减少了多次存 储引起的延迟等问题,提高了系统效率。


通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,
本发明的其它特征、目的和优点将会变得更明显
图1为一般视频芯片的解码控制方案的流程图; 图2为宏块所需滤波边界示意图; 图3为垂直和水平边界邻域的采样示意图; 图4为判决边界强度因子的流程图5为根据本发明一个具体实施方式
的用于在预测宏块数据和残 差块数据的重构值之前完成边界强度因子的获取的解码方案的方法流 程图6为根据本发明一个具体实施方式
对应的宏块位置示意图; 图7为根据本发明一个具体实施方式
的用于从运动矢量行存储区
读取边界强度因子所需参考宏块信息的解码方案的方法流程图; 图8为根据本发明一个具体实施方式
对应的宏块位置示意图; 图9为根据本发明一个具体实施方式
的用于一帧重构的解码方案
的方法流程图10为根据本发明的一个具体实施方式
的在预测宏块数据和残差 块数据的重构值之前完成边界强度因子的获取的解码方案的框图11为根据本发明的一个具体实施方式
的适用于逐行顺次或逐列顺次的解码装置的框图12为根据本发明的一个具体实施方式
的用于一帧重构的解码方 案的框图。
具体实施例方式
为了更好地理解本发明,下面结合本发明的具体实施例作进一步 说明,下面先解释本发明技术方案相关的背景技术细节。 视频解码芯片的编解码方案
现有的视频芯片 一般先由在先编码的数据进行预测,生成当前宏 块的预测宏块数据。当前宏块数据减去所述预测宏块数据,得到当前 宏块的残差块数据。所述残差块数据被压縮后传输到视频解码器。同 时传输到视频解码器的信息还包括所有视频解码器重复预测的过程 所必需的信息(例如运动矢量,预测模式等)。视频解码器产生一个 相同的预测宏块数据,将其和解码后的残差块数据进行处理,得到预 测宏块数据和残差块数据的重构值,并对该预测宏块数据和残差块数 据的重构值进行去块效应滤波,以减少失真。
解码控制方案的流程图可以用图l表示,其适用范围包括但不仅 限于H.264、 VC-1、 AVS或者Real标准,以下结合图1对解码控制 方案进行整体描述。
在步骤S10中,由基本比特流中提取信息,其中包括当前图像 重构所需要信息,其包括运动矢量相关信息,宏块类型(Mbtype),参 考帧序号(ref—idx)等,以及边界强度因子的获取所需要信息。视频解 码器将所述信息写入各自对应的存储区。
在步骤S11中,从存储区中读取相关信息,基于当前宏块在编 码时的预测方法(帧间预测或者帧内预测)重建预测宏块数据;
在步骤S12中,对基本比特流解码提取压缩编码,通过重排序、 尺度变换、反向离散余弦变换等,生成当前宏块的预测残差块数据;
在步骤S13中,将预测宏块数据与残差块数据相加,生成预测 宏块数据和残差块数据的重构值;
在步骤S14中,进行滤波器强度判别,并应用适合的去块效应
8滤波器对宏块边界进行去块效应滤波。
滤波对象
去块效应滤波一般是基于宏块的的基础上,以下结合图2以16x16 的宏块为例进行说明。该16x16宏块被包含16个4x4的分块。滤波 器被应用到每个4x4分块的垂直和水平边界(除了整幅图像的边缘)。 图2(a)所示为一个4 x 4宏块,a、 b、 c、 d分别为滤波亮度分量的4 个垂直的需要滤波的边界;e、 f、 g、 h分别为滤波亮度分量的4个水 平的需要滤波的边界。如图2(b)所示,i、 j分别为滤波色度分量的2 个垂直的需要滤波的边界;k、 l分别为滤波色度分量的2个水平的需 要滤波的边界;每个需要滤波的边界对应一个边界强度因子。
每个滤波操作影响边界两边的三个像素。图3(a)所示为相邻块p 和q的垂直边界两边的四个像素(p0,pl,p2,p3),图3(b)所示为相邻块 p和q的水平边界两边的四个像素和(qO, ql, q2, q3)。
边界强度因子
如步骤S14中提到的,在进行去块效应滤波之前,视频解码器需 要先对滤波强度进行判别,再根据所述滤波强度选取适合的去块效应 滤波器对宏块边界进行滤波。边界强度因子的作用就是确定滤波强 度。例如,现有H.264标准中所定义的边界强度因子的获取所需要的 信息包括当前宏块以及相邻宏块的运动矢量mv、参考帧序号 (ref—idx)、宏块类型(MBtype)和编码系数模式(cbp)等。确定边界强度 因子流程图可以如图4所示,下面结合图4进行具体描述
1) 如果p和/或者q是帧内编码的,且边界是宏块边界,那么边界 强度因子值为4;
2) 如果p和q是帧内编码,并且该边界不是宏块边界,那么边界 强度因子值为3;
3) 如果p或q不是帧内编码,且p和q包含编码系数模式,那么 边界强度因子值为2;
4) 如果p或q都不是帧内编码,并且p或q都不包含编码系数模 式,p和q采用不同的参考帧图像,或者p和q采用相同的参考图像, 但是运动矢量之差大于4,那么边界强度因子值为1;5)否则,边界强度因子值为0。
本发明在视频解码架构(如图1所示)中引入本发明第二方面所 提供的基于边界强度因子进行去块效应滤波的装置/模块,以实现本发 明第一方面所提供的方法。
本发明的第 一 实施例,提供了 一种通过在获取预测宏块数据和残差 块数据的重构值之前完成边界强度因子计算,从而提前释放保存当前宏 块相关信息的存储区数据,以减少系统负荷的方法。以下结合图5对本 发明的第 一实施例做进一步说明。
首先在步骤S51中,从基本比特流中提取出边界强度因子的荻取所 需的当前宏块信息,并将其存入当前宏块存储区,所述边界强度因子的 获取所需的当前宏块信息包括当前宏块的运动矢量和参考帧序号。以
4x4的分块为例,每个宏块需要保存16个运动矢量(x,y)和4个参考帧序 号的信息,而每个运动矢量分量x或者y需要16bit空间进行存储,每 个参考帧序号需要8bit空间进行存储。因此,对于每个单独的4x4的分 块,存储边界强度因子的获取所需的当前宏块信息需要占用至少1 6*16*2+8*4=544bit的空间。视频解码器同时从基本比特流中提取其他 解码过程中需要的其他信息,存入相应存储区。
接着,在步骤S52中,基于当前宏块在编码时的预测方法(帧间预 测或者帧内预测)从相关存储区中读取相关信息重建预测宏块数据;
然后,在步骤S53中,视频解码器对基本比特流解码提取压缩编 码,通过重排序、尺度变换、反向离散余弦变换等,生成当前宏块的 预测残差块数据;
在步骤S54中,从当前宏块存储区中读取边界强度因子的获取所 需的当前宏块信息,例如,运动矢量和参考帧序号。之后,根据视频 编解码标准中所设定的规则,例如图4中所示,进行边界强度因子的 获取。如果滤波边界不是宏块边界,且p和q都是帧内编码,则对应 该滤波边界的边界强度因子为3。在完成边界强度因子的获取之后, 将当前宏块存储区的数据写入参考宏块存储区,当前宏块存储区的空 间可以^皮释力文。
在步骤S55中,视频解码器将当前宏块的预测宏块数据和残差块数据进行处理,获取预测宏块数据和残差块数据的重构值。
在步骤S56中,根据步骤S55中获取的边界强度因子选择合适的 滤波器对步骤S55中所获取的预测宏块数据和残差块数据的重构值 进行去块效应滤波。在现有的H.264标准中,边界强度的值越大,则 对相应的边缘两侧进行的滤波越强,这是根据产生方块效应的原因来 设定的,如采用帧内预测模式的子块的方块现象较明显,则对该子块 中的对应边缘设定较大的像素边缘强度值来进行强滤波。
本领域技术人员能够理解,所述步骤S54必须在S55之前完成, 但可以在步骤S51之后步骤S55之前的任何时间完成,并不仅限在步 骤S53之后S55之前。根据本发明的另一实施例,边界强度因子的获 取也可以在从基本比特流中提取相关信息后立刻进行计算,或者在完 成对预测宏块数据的重建后获取残差块数据前进行计算。总之,图5 所示情形应该不视为对本发明的保护范围的限制。
本发明的第二实施例,提供了 一种在帧间预测的情况中通过共享运 动矢量行存储区的参考宏块信息来进行边界强度因子的获取的方案。这 种实施方法无需为边界强度因子的获取所需的参考宏块信息开辟独立 存储区,减少了对存储空间的占用,同时也提高了系统效率。
为描述清楚起见,先对本实施例中涉及的两个存储区做简要说明
表1存储区概念说明
概念说明
运动矢量4亍存J诸区在现有技术中,用于存储重建当前宏块的预测宏 块所需的在先参考宏块组的信息,所存储信息包 括宏块类型(MBtype),参考帧序号(refjdx),运 动矢量mv。
当前宏块存储区用于存储解码中所需的当前宏块信息,所存储信 息包括宏块类型(MBtype),参考帧序号 (ref idx), 运动矢量mv等
首先对运动矢量行存储区做进一步描述。
在解码过程中,所述运动矢量行存储区用于存储重建预测宏块数据 所需的在先宏块的相关信息。所述在先宏块包括的宏块位置从当前宏块
上方宏块起始至当前宏块左侧宏块结束。图6所示图像帧中的宏块被分成8行以及若干行,X为当前宏块,则所述运动矢量行存储区所包括的 所述在先宏块为图6中所示的宏块A至宏块H,总个数为8。运动矢量 行存储区的信息包括运动矢量mv、参考帧序号(ref一idx)、宏块类型 (MBtype)。不难看出,运动矢量行存储区的信息包括了边界强度因子 的获取所需的除编码系数模式(cbp)以外的所有信息。因此,只要将编 码系数模式(cbp)存入运动矢量行存储区,并通过读取运动矢量行存储 区中的信息来进行边界强度因子的获取,就无需再为边界强度因子的 获取所需的信息开辟独立存储区。
在重建当前宏块的预测宏块数据的过程中,视频解码器从基本比 特流解码获取的运动矢量信息为相对于在先宏块的运动矢量的残差 信息。假设对当前宏块X进行帧间编码,且宏块X相对于其帧间编 码的参考宏块的运动矢量为mv。编码器先读取在先宏块H的参考帧 序号和宏块类型,如果符合条件则读取宏块H的运动矢量作为当前宏 块的运动矢量预测值,假设该运动矢量预测值为mvp。为消除时间冗 余,编码端将所述当前宏块X相对在先宏块H的运动矢量残差 mvd=mv-mvp编码压缩传送到解码端,而并非对运动矢量mv进4亍编 码传输。因此,在解码端,必须先从运动矢量行存储区中读取在先宏 块的运动矢量值mvp作为当前宏块的运动矢量预测值,将其与基本比 特流中解码获得的当前宏块的运动矢量残差mvd累加获取当前宏块 的运动矢量mv。本领域技术人员能够理解,当前宏块的在先宏块并不 只限于当前宏块左边的一个宏块,可以选取一个或多个已完成解码的 相对当前宏块的在先宏块(例如,同时选取图6中的宏块A和宏块H) 对其运动矢量做加权平均,获取当前宏块的运动矢量预测值mvp,再 通过所述mvp确定mvd。
在完成对当前宏块的预测宏块数据的重建后,当前宏块存储区的 相关数值被写入运动矢量行存储区,以作为当前图像中其他宏块重建 时的在先宏块。以图6为例,当前宏块X的信息被写入运动矢量行存 储区。由于运动矢量行存储区所包含的参考宏块总数不变,宏块A的 信息被从运动矢量行存储区中释放。则运动矢量行存储区中包含了宏 块B-H及宏块X的相关信息。在对图6中宏块Y进行解码操作时,宏块X是重建宏块Y的预测宏块时在先宏块。因此,当前宏块X的 边界强度因子的获取应在当前宏块X的信息被写入运动矢量行存储 区之前完成。
以下结合图7对本发明的第二实施例作进一步具体说明。
本实施例中运动矢量行存储区的信息包括运动矢量mv、参考帧序 号(refjdx)、宏块类型(MBtype)以及编码系数模式(cbp)。编码系数模 式(cbp)在现有技术中并不保存在运动矢量存储区中。
首先,在步骤S71中,从基本比特流中提取出边界强度因子的荻 取所需的当前宏块信息,并将其存入当前宏块存储区,所述边界强度因 子的获取所需的当前宏块信息包括当前宏块的运动矢量残差mvd和参 考帧序号ref一idx。同时,视频解码器从基本比特流中提取解码过程中 需要的其他信息,存入相应存储区。本步骤与第一实施例中的步骤S51 完全相同,此处不再赘述。
接着,在步骤S72中,视频解码器从运动矢量行存储区读取已解码 的当前宏块的在先宏块的信息,重建预测宏块数据。
读取当前宏块存储区内的运动矢量残差mvd, 乂人运动矢量行存储区 内的基于在先宏块的运动矢量预测值mvp。将运动矢量残差mvd和运动 矢量预测值mvp相加得到当前宏块实际的运动矢量。再通过当前宏块的 宏块类型以及参考帧序号找到当前宏块的预测宏块,重建预测宏块数 据。
然后,在步骤S73中,视频解码器基于当前宏块和与当前宏块相邻 的参考宏块的信息,通过给定方法进行边界强度因子的获取。
从当前宏块参考区中读取边界强度因子的获取所需的当前宏块 信息,例如,运动矢量mv和参考帧序号refjdx。从运动矢量行寄存 器中读取与当前宏块相邻的参考宏块的信息,包括运动矢量mv、参 考帧序号(refjdx)、宏块类型(MBtype)以及编码系数模式(cbp)。所述 相邻的参考宏块与当前宏块有相同滤波边界。例如,如对图6中宏块 X的垂直边界滤波,则可以选取左侧相邻宏块H作为参考宏块。如对 宏块X的水平边界滤波,则可以选取上方的相邻宏块A作为参考宏 块。之后,根据视频编解码标准中所设定的规则,例如图4中所示,
13进行边界强度因子的获取。
在步骤S74中,将当前宏块X的信息写入运动矢量行存储区,以
作为下一宏块的参考宏块。
参照图6,如果对于当前图像帧按照从左向右的顺序逐行进行解 码,当前宏块为X。那么,当前宏块X的边界强度因子的获取需要宏 块A作为水平方向的参考宏块,宏块H作为垂直方向的参考宏块。 相应的,在对下一宏块Y进行边界强度因子的获取时,分别需要宏块 B作为水平方向的参考宏块,宏块X作为垂直方向的参考宏块。因此, 必须将宏块X的信息存储到运动矢量行存储区。由于步骤S74前已经 完成了对预测宏块数据的重建,以后步骤中不再需要用到当前宏块X 的运动矢量mvp和参考帧序号refjdx。因此,在完成边界强度因子 的获取后可以立即将当前宏块X的信息写入运动矢量行存储区,随即 释放宏块X在当前宏块存储区中的运动矢量mvp和参考帧序号 ref一idx,在最大程度上减少了对存储区的占用。本领域技术人员应当 理解,在获取残差块数据之前将当前宏块X信息写入运动矢量行存储 区的情形是本技术方案的一个较优实施例,但是不应视为对本发明的 保护范围的限制。
在步骤S75中,对基本比特流解码提取压缩编码,通过重排序、 尺度变换、反向离散余弦变换等,生成当前宏块X的预测残差块数据。
在步骤S76中,将当前宏块X的预测宏块数据和残差块数据进行 处理,获得预测宏块数据和残差块数据的重构值。
在步骤S77中,根据步骤S73中获取的边界强度因子选择合适的 滤波器对步骤S76中所获取的预测宏块数据和残差块数据的重构值 进行去块效应滤波。
在本实施例中为存储边界强度因子的获取所需的参考宏块信息, 只需要在运动矢量行存储区中增加 一定空间来存储编码系数模式 cbp,同时,无须另外为边界强度因子的获取所需的条件变量开辟单 独的存储空间。换而言之,对于每个宏块仅需要在存储区内增加4bit 的空间。而在现有技术中,以4x4的分块为例,在单独开辟的独立存 储区中对于每个宏块需要存储4个运动矢量(x,y), 2个参考帧序号,1
14个宏块类型和一个编码系数模式的信息。其中每个所述运动矢量分量X
或者y需要16bit空间进行存储,每个所述参考帧序号需要8bit空间进 行存储,每个宏块类型需要4bit空间进行存储,每个编码系数模式需要 4bit空间进行存储。由此可以推论,对于每个宏块而言,用来存取边界 强度因子的获取所需要的参考宏块的信息为4*2*16+8*2+4+4=152 bits。 在使用Dl的分辨率,即图像帧每行包括45个宏块的情况下,可以节 省6660bits的存储空间。可见,使用本实施例的技术方案,可以在很 大程度上节省存储边界强度因子的获取所需要信息的空间。
下面结合图7和图8对第二实施例的第一变化例做进一步描述。 假设当前图像帧如图8所示被分为K行N列,视频解码器按照逐行顺 次的顺序对当前图像帧内的所有宏块按照图7所示的流程图进行解码 操作。
首先,视频解码器按照图7的流程图所示对A行第一个宏块进行 解码。在对该宏块进行解码的过程中,A行第一个宏块的运动矢量 mvp、参考帧序号(ref—idx)、宏块类型(MBtype)以及编码系数模式(cbp) 被存入运动矢量行存储区作为其它宏块的边界强度因子的获取所需 的参考宏块信息。接着,按照先行后列的顺序对该宏块的下一个宏块, 即A行第二个宏块,进行解码。在对A行第二个宏块进行解码操作 的过程中,需要获取所述第二个宏块的垂直分量相关的边界强度因 子。视频解码器从运动矢量行存储区中读取A行第 一 个宏块的相关信 息以进行边界强度因子的获取。并将A行第二个宏块的运动矢量mv、 参考帧序号(ref—idx)、宏块类型(MBtype)以及编码系数模式(cbp)被存 入运动矢量行存储区作为其它宏块的边界强度因子的获取所需的参 考宏块信息。以此类推,视频解码器置逐个完成A行第三个宏块、A 行第四个宏块直至A行第N个宏块的解码操作。
在对当前图像的第A行完成解码操作后,视频解码器开始从B行第 一个宏块开始对B行进行解码。在对该宏块进行解码的过程中,需要获 取该宏块与A行第一个宏块相邻的水平边界的边界强度因子。视频解 码器从运动矢量行存储区中读取A行第 一个宏块的相关信息,并将当 前宏块,即B行第一个宏块的运动矢量mv、参考帧序号(ref一idx)、宏块类型(MBtype)以及编码系数模式(cbp)被存入运动矢量4亍存 <诸区作 为其它宏块的边界强度因子的获取所需的参考宏块信息。在对B行第 一个宏块完成解码操作后,视频解码器对B行第二个宏块进行解码操 作。视频解码器从运动矢量行存储区中读取与该宏块相邻的A行第二 个宏块的信息作为参考宏块信息,获取相邻水平边界的边界强度因 子;读取与该宏块相邻的B行第一个宏块的信息作为参考宏块信息, 获取相邻垂直边界的边界强度因子。之后,视频解码器将B行第二个 宏块的运动矢量mv、参考帧序号(refjdx)、宏块类型(MBtype)以及编 码系数模式(cbp)存入运动矢量行存储区作为其它宏块的边界强度因 子的获取所需的参考宏块信息。以此类推,视频解码器逐个完成B行 第三个宏块、B行第四个宏块直至B行第N个宏块解码操作,之后开 始对C行中的宏块逐个进行解码,然后是D行、E行,直至完成对当 前图像中所有行中所有宏块的解码。
本发明第二实施例的第一变化例按照对于宏块组中的每个宏块逐 行顺次的顺序进行解码,本领域技术人员可以理解,本发明的实施方案
;每个宏块,可以先对水平分量:波再垂直分量进^f于滤波:或-先对垂
直分量滤波再对水平分量滤波。无论按照何种顺序进行解码,只要保证 当前宏块的参考宏块信息已经存储在运动矢量行存储区中,即符合获取 当前宏块的边界强度因子的必要条件。
本发明第二实施例还适用于多级的解码流水线架构中。以四级流水 线为例,假设,该四级流水线的第一级用于对基本比特流进行解码,提 取解码所需的相关信息;第二级用于通过对基本比特流解码提取压缩 编码,通过重排序、尺度变换、反向离散余弦变换等,生成当前宏块 的预测残差块数据;第三级用于获取预测图像块数据,并生成预测宏 块数据和残差块数据的重构值;第四级用于对预测宏块数据和残差块 数据的重构值进行去块效应滤波操作。流水线的各级之间通过双寄存 器组传递信息。根据本发明的第二变化例,在该流水线的第一级可以 完成边界强度因子的获取。则,需要三个双寄存器组在流水线的各级 之间传递边界强度因子。因此,根据本发明的技术方案,对于4x4块每个边界因子需要2bit进行存储的情况,每个寄存器需要 16*2*2=64bits存储边界因子,三个双寄存器组一共需要 64*2*3=3841^8存储容量。而现有技术,需要三个双寄存器组,在流
水线的各级之间传递边界强度因子的获取所需的相关信息,需要3*2* (16*2*16+2*8+4+4)=3216bits的寄存器存储当前宏块信息,(4*2*16 +2*8+4+4)*45= 6840bits的片上存储器空间。其中寄存器的成本较高, 是系统设计中需要考虑的关键因素之一。不难看出,本发明的技术方 案可以大大减小边界强度因子的获取对存储空间的要求,降低系统成 本。
在某些特定情形,例如支持任意条带排列(AS0)的视频编解码标 准中,需要釆取一帧重构的解码模式,即在获取当前图像帧内一个宏块 组的预测宏块数据和残差块数据后,再对该宏块组内的所述多个宏块进 行去块效应滤波。其中,所述宏块组可以包括当前图像帧中的一个或者 多个宏块。根据本发明第二实施方案的第二变化例,可以在去块效应滤 波之前完成对个宏块组内的所有宏块边界强度因子的获取,将其进行存 储。在对该宏块组去块效应滤波时,只需读取存储区中的边界强度因子 进行去块效应滤波,无需开辟大量存储区存储边界强度因子的获取所需 的多个宏块的运动矢量mv、参考帧序号(refjdx)、宏块类型(MBtype) 以及编码系数模式(cbp)。下面结合图9对本发明第二实施方案的第二 变化例进一步的描述。
步骤S900至S905与步骤S70至步骤S76基本相同,即乂人基本比特 流中提取解码所需的当前宏块信息,从运动矢量行存储区中读取在先宏 块信息重建预测宏块数据,从运动矢量行存储区读:f又参考宏块数据并完 成边界强度因子的获取,将当前宏块信息写入运动矢量行存储区作为其 它宏块的参考宏块信息,获取残差块数据,获取预测宏块数据和残差块 数据的重构值。其中,所获取的边界强度因子的值被写入存储区,为方 便描述,将该存储区称为边界因子存储区。本领域技术人员可以理解, 边界因子存储区可以是一独立存储区,也可以和其它存储区合并。
在步骤S906中,视频解码器判别当前宏块是否为需要进行一帧重 构的宏块组中的最后一个宏块。如果当前宏块不是当前宏块组中的最后一个宏块,则选择步骤S907,将下一个需要获取预测宏块数据和残差块 数据重构值的宏块作为此后操作的当前宏块,继续对下一个宏块进行操 作。如果当前宏块是当前宏块组中的最后一个宏块,则选择步骤S908。 在步骤S908中,视频解码器从边界因子存储区中读取边界强度因 子,根据所述边界强度因子的值选择合适滤波强度的滤波器,逐个对当 前宏块组内的宏块进行去块效应滤波。在步骤S909中,视频解码器判 别当前宏块是否为需要进行一帧重构的宏块组中的最后一个宏块。如果 当前宏块不是当前宏块组中的最后一个宏块,则选择步骤S910,将下一 个需要获取预测宏块数据和残差块数据的重构值的宏块作为此后操作 的当前宏块,继续执行步骤S908继续进行去块效应滤波操作。如果当 前宏块是当前宏块组中的最后一个宏块,则完成了对当前宏块组的解 码。
对比本发明第二实施方案的第二变化例和现有4支术,不难看出本发 明可以大大节省边界强度因子的获取过程中所需的存储空间。以Dl分 辨率,将整个图像帧作为宏块组进行一帧重构的情形为例。对于此种情 形,当前图像帧被分为45*36=1620个宏块。使用本发明第二实施方案 的第二变化例,需要(16*2*2) *1620=103680bits的存储空间存储边界 强度因子。而使用现有技术方案则需要(16*2*16+2*8+4+ 4)bit* 1620=868320bits的存储空间存储边界强度因子的获取所需要的参 考宏块的信息。
本发明的第三实施例,提供了一个解码装置,用于在获取预测宏块 数据和残差块数据的重构值之前完成对边界强度因子的获取,从而提前 释放保存当前宏块相关信息的存储区数据,减少系统负荷。
首先,解码装置从基本比特流中提取出边界强度因子的获取所需的 当前宏块信息,并将其存入当前宏块存储区,所述边界强度因子的获取 所需的当前宏块信息包括当前宏块的运动矢量和参考帧序号。以4x4的 分块为例,每个宏块需要保存16个运动矢量(x,y)和4个参考帧序号的信 息,而每个运动矢量分量x或者y需要16bit空间进行存储,每个参考 帧序号需要8bit空间进行存储。因此,对于每个单独的4x4的分块,存 储边界强度因子的获取所需的当前宏块信息需要占用至少16*16*2+8*4=544bit的空间。数字解码装置同时从基本比特流中提取 其他解码过程中需要的其他信息,存入相应存储区。
接着,解码装置基于当前宏块在编码时的预测方法(帧间预测或者 帧内预测)从相关存储区中读取相关信息重建预测宏块数据。
然后,解码装置对基本比特流解码提取压缩编码,通过重排序、 尺度变换、反向离散余弦变换等,生成当前宏块的预测残差块数据。
之后,解码装置从当前宏块存储区中读取边界强度因子的获取所 需的当前宏块信息,例如,运动矢量和参考帧序号。之后,根据视频 编解码标准中所设定的规则,例如图4中所示,完成边界强度因子的 获取。如果滤波边界不是宏块边界,且p和q都是帧内编码,则对应 该滤波边界的边界强度因子为3。在完成边界强度因子的获取之后, 将当前宏块存储区的数据写入参考宏块存储区,当前宏块存储区的空 间可以被释放。
在边界强度因子的获取后,解码装置将当前宏块的预测宏块数据 和残差块数据进行处理,获取预测宏块数据和残差块数据的重构值。 解码装置根据获取的边界强度因子选择合适的滤波器,对当前宏块进 行去块效应滤波。在现有的H.264标准中,边界强度的值越大,则对 相应的边缘两侧进行的滤波越强,这是根据产生方块效应的原因来设 定的,如采用帧内预测模式的子块的方块现象较明显,则对该子块中 的对应边缘设定较大的像素边缘强度值来进行强滤波。
本领域技术人员能够理解,本实施例中边界强度因子的获取可以 在对基本比特流中提取相关信息之后,得到预测宏块数据和残差块数 据的重构值之前的任何时间完成。因此,本实施例所示情形,应该不 视为对本发明的保护范围的限制。
本发明的第四实施例,提供了一种解码装置,用于在帧间预测的 情况中通过共享运动矢量行存储区的在先参考宏块信息来进行边界强 度因子的获取的方案。这种实施方法无需为边界强度因子的获取所需的 在先参考宏块信息开辟独立存储区,减少了对存储空间的占用,同时也 提高了系统效率。
本实施例中运动矢量行存储区和当前宏块存储区的定义与第二实施例相同,此处不再赘述。我们先对运动矢量行存储区做进一步描述。
在解码过程中,所述运动矢量行存储区用于存储重建预测宏块数据 所需的在先宏块的相关信息。所述在先宏块包括的宏块位置从当前宏块 上方宏块起始至当前宏块左侧宏块结束。图6所示图像帧中的宏块被分
成8行以及若干行,X为当前宏块,则所述运动矢量行存储区所包括的 所述在先宏块为图6中所示的宏块A至宏块H,总个数为8。运动矢量 行存储区的信息包括运动矢量mv、参考帧序号(ref一idx)、宏块类型 (MBtype)。不难看出,运动矢量行存储区的信息包括了边界强度因子 的获取所需的除编码系数模式(cbp)以外的所有信息。因此,只要将编 码系数模式(cbp)存入运动矢量行存储区,并通过读取运动矢量行存储 区中的信息来进行边界强度因子的获取,就无需再为边界强度因子的 获取所需的信息开辟独立存储区。
在重建当前宏块的预测宏块数据的过程中,解码装置从基本比特 流解码获取的运动矢量信息为相对于在先宏块的运动矢量的残差信 息。假设对当前宏块X进行帧间编码,且宏块X相对于其帧间编码 的参考宏块的运动矢量为mv。编码器先读取在先宏块H的参考帧序 号和宏块类型,如果符合条件则读取宏块H的运动矢量作为当前宏块 的运动矢量预测值,假设该运动矢量预测值为mvp。为消除时间冗余, 编码端将所述当前宏块X相对在先宏块H的运动矢量残差 mvd-mv-mvp编码压缩传送到解码端,而并非对运动矢量mv进行编 码传输。因此,在解码端,必须先从运动矢量行存储区中读取在先宏 块的运动矢量值mvp作为当前宏块的运动矢量预测值,将其与基本比 特流中解码获得的当前宏块的运动矢量残差mvd累加获取当前宏块 的运动矢量mv。本领域技术人员能够理解,当前宏块的在先宏块并不 只限于当前宏块左边的一个宏块,可以选取一个或多个已完成解码的 相对当前宏块的在先宏块(例如,同时选取图6中的宏块A和宏块H) 对其运动矢量做加权平均,获取当前宏块的运动矢量预测值mvp,再 通过所述mvp确定mvd。
在完成对当前宏块的预测宏块数据的重建后,当前宏块存储区的 相关数值被写入运动矢量行存储区,以作为当前图像中其他宏块的参
20考宏块。以图6为例,当前宏块X的信息被写入运动矢量行存储区。 由于运动矢量行存储区所包含的参考宏块总数不变,从运动矢量行存 储区中删除宏块A的信息。则运动矢量行存储区中包含了宏块B-H 及宏块X的相关信息。在对图6中宏块Y进行解码操作时,宏块X 是宏块Y的参考宏块。因此,宏块X的边界强度因子的获取应在当 前宏块存储区的相关数值被写入运动矢量行存储区之前完成。
以下结合图6和图IO对本发明的第四实施例作进一步具体说明。 图IO为根据本发明一个具体实施方式
的在帧间预测的情况中通过共享 运动矢量行存储区的在先参考宏块信息来完成边界强度因子的获取的 解码装置1的框图。
该解码装置1包括读取装置100、获取装置101、写入装置102 和去块效应滤波装置103。本实施例中运动矢量行存储区的信息包括运 动矢量mv、参考帧序号(ref—idx)、宏块类型(MBtype)以及编码系数模 式(cbp)。编码系数模式(cbp)在现有技术中并不保存在运动矢量存储区 中。
以4x4分块为例,假设当前宏块为图6中所示的宏块X。
解码装置1从基本比特流中提取出边界强度因子的获取所需的当 前宏块X的信息,并将其存入当前宏块存储区,所述边界强度因子的获 取所需的当前宏块信息包括当前宏块的运动矢量残差mvd和参考帧序 号ref—idx。同时,解码装置1从基本比特流中提取解码过程中需要的 其他信息,存入相应存储区。
解码装置1从运动矢量行存储区读取已解码的预测参考宏块的信 息,重建预测宏块数据。解码装置l读取当前宏块存储区内的运动矢量 残差mvd,从运动矢量行存储区内的基于在先宏块的运动矢量预测值 mvp。将运动矢量残差mvd和运动矢量预测^直mvp相加^寻到当前宏块X 实际的运动矢量。再通过当前宏块的宏块类型以及参考帧序号找到当前 宏块的预测宏块,重建预测宏块数据。
读取装置100从运动矢量行存储区读取与当前宏块相邻的参考 宏块的相关信息。例如,如对图6中宏块X的垂直边界滤波,则从运 动矢量行存储区中读取当前宏块X左侧相邻宏块H的信息作为参考
21宏块信息。如对宏块X的水平边界滤波,则从运动矢量行存储区中读
取上方相邻宏块A的信息作为参考宏块信息。该读取装置101将其读 取到的当前宏块的参考宏块信息传递给所述获取装置101。
获取装置101基于当前宏块X的信息,和读取装置101读取到的 当前宏块的参考宏块的信息获取当前宏块X的边界强度因子。进行边 界强度因子的获取的方法应该符合视频编解码标准中所设定的规则, 例如图4中所示。该获取装置将其获取的当前宏块X的边界强度因子 传递给所述去块效应滤波装置103。
接着,写入装置102将当前宏块X的信息写入运动矢量行存储区 以作为下一宏块的参考宏块。参照图6,如果对于当前图像帧按照从 左向右的顺序逐行进行解码,当前宏块为X。那么,当前宏块X边界 强度因子的获取需要宏块A作为水平方向的参考宏块,宏块H作为 垂直方向的参考宏块。相应的,在对下一宏块Y进行边界强度因子的 获取时,分别需要宏块B作为水平方向的参考宏块,宏块X作为垂 直方向的参考宏块。因此,必须将宏块X的信息存储到运动矢量行存 储区。由于已经完成了对预测宏块数据的重建,以后步骤中不再需要 用到当前宏块X的运动矢量mvp和参考帧序号ref—idx。因此,在完 成边界强度因子的获取后可以立即将当前宏块X的信息写入运动矢 量行存储区,随即释放宏块X在当前宏块存储区中的运动矢量mvp 和参考帧序号ref—idx,在最大程度上减少了对存储区的占用。本领域 技术人员应当理解,在获取残差块数据之前将当前宏块X信息写入运 动矢量行存储区的情形是本技术方案的 一个较优实施例,但是不应视 为对本发明的保护范围的限制。
解码装置1对基本比特流解码提取压缩编码,通过重排序、尺度 变换、反向离散余弦变换等,生成当前宏块X的预测残差块数据。将 当前宏块X的预测宏块数据和残差块数据进行处理,得到当前宏块X 的预测宏块数据和残差块数据的重构值。解码装置1将所述预测宏块 数据和残差块数据的重构值传递给所述去块效应滤波装置103 。
去块效应滤波装置103基于获取装置IOI得到的当前宏块X的边 界强度因子选取合适的滤波器进行去块效应滤波。至此,解码装置1完成了对当前宏块的解码。
在本实施例中为计算边界强度因子在运动矢量行存储区中增加 的空间只用来存储编码系数模式cbp,同时,无须另外为边界强度因 子的获取所需的条件变量开辟单独的存储空间。换而言之,对于每个
宏块仅需要在存储区内增加4bit的空间。而在现有技术中,以4x4的 分块为例,在单独开辟的独立存储区中对于每个宏块需要存储4个运 动矢量(x,y),2个参考帧序号,1个宏块类型和一个编码系数模式的信息。 其中每个所述运动矢量分量x或者y需要16bit空间进行存储,每个所 述参考帧序号需要8bit空间进行存储,每个宏块类型需要4bit空间进行 存储,每个编码系数模式需要4bit空间进行存储。由此可以推论,对于 每个宏块而言,用来存取边界强度因子的获取所需要相邻宏块的信息为 4*2*16+8*2+4+4= 152bits。在使用Dl的分辨率,即图像帧每行包括 45个宏块的情况下,可以节省6660bits的存储空间。可见,使用本实 施例中所提及的方法,可以在很大程度上节省存储边界强度因子的获 取所需要信息的空间。
下面结合图8和图11对第四实施例的第一变化例作进一步描述。 假设当前图像帧如图8所示被分为K行N列,解码装置2按照逐行 顺次的顺序对当前图像帧内的所有宏块进行解码操作。
图11为根据本发明的一个具体实施方式
的适用于逐行顺次或逐列 顺次的解码装置2的框图。
该解码装置2包括边界因子获取装置110、第一控制装置111、去 块效应滤波装置112,其中,边界因子获取装置110还包括读取装置113、 获取装置114和写入装置115。
边界因子获取装置110,用于从基本比特流中提取解码所需的当前 宏块信息,从运动矢量行存储区中读取在先宏块信息重建预测宏块数 据,从运动矢量行存储区读取参考宏块的相关信息以进行边界强度因子 的获取,将当前宏块信息写入运动矢量行存储区作为其它宏块的参考宏 块信息,获取残差块数据,获取预测宏块数据和残差块数据的重构值。 其中,所获取的边界强度因子的值被写入存储区,为方便描述,将该存 储区称为边界因子存储区。本领域技术人员可以理解,边界因子存储区可以是一独立存储区,也可以和其它存储区合并。具体的说,还包括以
下子装置读取装置113、获取装置114和写入装置115。其中,各个子 装置的功能与上文提及的读取装置100、获取装置101和写入装置102 相同,此处不再赘述。
第一控制装置111根据当前宏块的位置信息生成判断信息,以确定 是否宏块组内的所有宏块都已经完成去块效应滤波操作。
首先,边界强度获取装置IIO对A行第一个宏块进行解码。在对 该宏块进行解码的过程中,A行第一个宏块的运动矢量mv、参考帧 序号(ref—idx)、宏块类型(MBtype)以及编码系数模式(cbp)被存入运动 矢量行存储区作为其它宏块的边界强度因子的获取所需的参考宏块 信息。边界强度获取装置IIO将当前宏块的位置信息,即A行第一个, 传递给所述第一控制装置111,将当前宏块的边界强度因子传递给所述 去块效应滤波装置112。
所述去块效应滤波装置112基于边界强度获取装置110传递的当前 宏块的边界强度因子选择适合的滤波器,完成对当前宏块的去块效应滤 波。
接着,第一控制装置111对边界强度获取装置110传递的当前宏块 的位置信息进行判别。判别后得知还没有完成对宏块组中的所有宏块的 去块操作操作。,第一控制装置111生成下一个需要滤波宏块的位置信 息,并将其传递给边界因子获取装置110。
解码装置2按照先行后列的顺序对该宏块的下一个宏块,即A行 第二个宏块,进行解码。在对A行第二个宏块进行解码操作的过程中, 需要获取所述第二个宏块的垂直分量相关的边界强度因子。边界强度 获取装置110从运动矢量行存储区中读取A行第 一 个宏块的相关信息 作为参考宏块信息,并获取装置101基于当前宏块,即A行第二个宏 块即A行第 一个宏块的信息获取当前宏块的边界强度因子,并将所述 边界强度因子传递给所述去块效应滤波装置112。去块效应滤波装置 112对当前宏块,即A行第二个宏块进行去块效应滤波。
以此类推,解码装置2逐个完成A行第三个宏块、A行第四个宏 块直至A行第N个宏块解码操作。之后,解码装置2开始从B行第一个宏块开始对B行进行解码。解码装置2逐个完成B行第二个宏块、 B行第三个宏块直至B行第N个宏块解码操作,之后开始对C行中 的宏块逐个进行解码,然后是D行、E行,直至完成对当前图像中所 有行中的每个宏块的解码。当完成对宏块组的最后一个宏块的解码 后,第一控制装置114生成结束信号,至此完成整个宏块组的解码操 作。
本发明第四实施例的第一变化例按照对于宏块组中的每个宏块逐 行顺次的顺序进行解码,本领域技术人员可以理解,本发明的实施方案 同样适用于按照对于宏块组中的每个宏块逐列顺次的顺序进行解码。对 于每个宏块,可以先对水平分量滤波再垂直分量进行滤波,或者先对垂 直分量滤波再对水平分量滤波。无论按照何种顺序进行解码,只要保证 当前宏块的参考宏块信息已经存储在运动矢量行存储区中,即符合获取 当前宏块的边界强度因子的必要条件。
本发明第四实施例的解码装置2还可用于多级的解码流水线架构 中。以四级流水线为例,假设,该四级流水线的第一级用于对基本比特 流进行解码,提取解码所需的相关信息;第二级用于通过对基本比特流 解码提取压缩编码,通过重排序、尺度变换、反向离散余弦变换等, 生成当前宏块的预测残差块数据;第三级用于获取预测图像块数据, 并生成预测宏块数据和残差块数据的重构值;第四级用于对预测宏块 数据和残差块数据的重构值进行去块效应滤波操作。流水线的各级之 间通过双寄存器组传递信息。根据本发明的第二变化例,在该流水线 的第一级可以完成边界强度因子的获取。则,需要三个双寄存器组在 流水线的各级之间传递边界强度因子。因此,根据本发明的技术方案, 对于4x4块每个边界因子需要2bit进行存储的情况,每个寄存器需要 16*2*2=64bits存储边界因子,三个双寄存器组一共需要 64*2*3=38化^存储容量。而现有技术,需要三个双寄存器组,在流 水线的各级之间传递边界强度因子的获取所需的相关信息,需要3*2* (16*2*16+2*8+4+4 )=3216bits的寄存器存储当前宏块信息,(4*2*16 +2*8+4+4)*45= 6840bits的片上存储器空间。其中寄存器的成本较高, 是系统设计中需要考虑的关键因素之一。不难看出,本发明的技术方
25案可以大大减小边界强度因子的获取对存储空间的要求,降低系统成本。
在某些特定情形,例如支持任意条带排列(AS0)的视频编解码标 准中,需要采取一帧重构的解码模式,即在获取当前图像帧内一个宏块 组的预测宏块数据和残差块数据后,再对该宏块组内的所述多个宏块进 行去块效应滤波。其中,所述宏块组可以包括当前图像帧中的一个或者 多个宏块。本发明第四实施方案的第二变化例提供的装置用于在去块效 应滤波之前完成对宏块组内的所有宏块边界强度因子的获取,将其进行 存储。在对该宏块组去块效应滤波时,只需读取存储区中的边界强度因 子进行去块效应滤波,无需开辟大量存储区存储边界强度因子的获取所 需的多个宏块的运动矢量mv 、参考帧序号(ref—idx)、宏块类型(MBtype) 以及编码系数模式(cbp)。下面结合图12对本发明第二实施方案的第二 变化例进一步的描述。图12为根据本发明的一个具体实时方式的适用 于一帧重构的解码装置3的框图。
该解码装置3包括边界因子获取装置120、去块效应滤波装置121 和第二控制装置122,其中,边界因子获取装置120还包括写入装置123、 读取装置124和获取装置125。
边界因子获取装置120,用于从基本比特流中提取解码所需的当前 宏块信息,从运动矢量行存储区中读取在先宏块信息重建预测宏块数 据,从运动矢量行存储区读取参考宏块数据进行边界强度因子的获取, 将当前宏块信息写入运动矢量行存储区作为其它宏块的参考宏块信息, 获取残差块数据,获取预测宏块数据和残差块数据的重构值。其中,所 获取的边界强度因子的值被写入存储区,为方便描述,将该存储区称为 边界因子存储区。本领域技术人员可以理解,边界因子存储区可以是一 独立存储区,也可以和其它存储区合并。具体的说,边界强度获取装置 120还包括以下子装置写入装置123、读取装置124和获取装置125。 其中,各个子装置的功能与上文提及的写入装置102、读取装置100和 获取装置101相同,此处不再赘述。该边界强度获取装置120将获取的 边界强度因子写入边界因子存储区,并将当前宏块的位置信息传递给所 述第二控制装置122。第二控制装置122根据当前宏块的位置信息生成边界强度因子判断 信息,以确定是否已经得到需要滤波的宏块组中的所有宏块的边界强度 因子。
解码装置3对获取确定装置122生成的边界强度因子判别信息加以 分析。如果还未完成对该宏块组内所有宏块的边界强度因子的获取,则 将当前宏块的下一宏块作为以后操作的当前宏块,边界强度获取絮置 120继续对该宏块进行边界强度因子的获取。如果已经获得该宏块组内 所有宏块的边界强度因子,则去块效应滤波装置121开始对宏块装置进 4亍滤波。
去块效应滤波装置121从边界因子存储区中读取当前宏块的边界强 度因子,根据所述边界强度因子的值选择合适滤波强度的滤波器,对当 前宏块进行去块效应滤波。去块效应滤波装置121完成对当前宏块的去 块效应滤波后,将当前宏块的位置信息传递给所述第二控制装置122。
第二控制装置122根据当前宏块的位置信息确定解码装置3是否已 经完成对宏块组内所有宏块的去块效应滤波。如果没有完成,则将当前 宏块的下一宏块作为此后操作的当前宏块。如果已经完成,则至此完成 了对该宏块组内的所有宏块的解码。
对比本发明第四实施方案的第二变化例和现有技术,不难看出本发 明可以大大节省边界强度因子的获取过程中所需的存储空间。以Dl分 辨率,将整个图像帧作为宏块组进行一帧重构的情形为例。对于此种情 形,当前图像帧被分为45*36=1620个宏块。使用本发明第四实施方案 的第二变化例,需要(16*2*2) bit*1620=6480bits的存储空间存储边界 强度因子。而使用现有技术方案则需要(16*2*16+2*8+4+ 4)bit* 1620=868320bits的存储空间存储边界强度因子的获取所需要的参 考宏块的信息。
以上对本发明的具体实施方案进行了描述。需要理解的是,本发 明并不局限于上述特定实施方式,本领域技术人员可以在所附权利要 求的范围内做出各种变形或修改。
权利要求
1. 一种在视频解码器中用于基于边界强度因子进行去块效应滤波的解码方法,其特征在于,边界强度因子的获取在获取预测宏块数据和残差块数据的重构值之前完成。
2. 如权利要求l所述方法,其特征在于,其中,该方法包括以下步骤a. 从运动矢量行存储区中读取与当前宏块相邻的参考宏块的信自、'b. 基于所述当前宏块和所述与当前宏块相邻的参考宏块的信息获 取边界强度因子;d. 基于所获取的所述边界强度因子选取适合的滤波器对所述预测 宏块数据和残差块数据的重构值进行去块效应滤波。
3. 如权利要求2所述方法,其特征在于,在所述步骤d之前还包 括以下步骤c. 将所述当前宏块的信息写入所述运动矢量行存储区,以作为其 它相邻宏块的参考宏块的信息。
4. 如权利要求3所述的方法,其特征在于,由同一图像帧中的多 个宏块组成宏块组,还包括以下步骤e. 对所述宏块组中的每个宏块按照逐行顺次或者逐列顺次的顺 序,重复所述步骤a、 b、 c和d,直至完成所述宏块组中所有宏块的去 块效应滤波操作。
5. 如权利要求3所述的方法,其特征在于,由同一图像帧中的多 个宏块组成宏块组,还包括以下步骤f. 对所述宏块组中的每个宏块执行所述步骤a、 b和c,直至获取 所述宏块组中所有宏块的边界强度因子;g. 对所述宏块组中的每个宏块进行所述步骤d的操作,直至完成 所述宏块组中的所有宏块的去块效应滤波操作。
6. 根据权利要求2至5中任一项所述的方法,其特征在于,所述 运动矢量行存储区还用于存储重建所述当前宏块的预测宏块数据所需的相关信息。
7. 如权利要求1至6中任一项中所述方法,其中,所述解码方法 适用的^L频编解码标准包括H. 264、 VC-1、 AVS或Real标准中的任一 个《
8. —种在视频解码器中用于基于边界强度因子进行去块效应滤波 的解码装置,其特征在于,用于在获取预测宏块数据和残差块数据的重 构值之前完成边界强度因子的获取。
9. 如权利要求8所述解码装置,其特征在于,包括 读取装置,用于从运动矢量行存储区中读取与当前宏块相邻的参考宏块的信息;获取装置,用于基于所述当前宏块和所述与当前宏块相邻的参考宏 块的信息获取边界强度因子;去块效应滤波装置,用于基于所述边界强度因子选取适合的滤波器 对所述预测宏块数据和残差块数据的重构值进行去块效应滤波。
10. 如权利要求9所述的解码装置,其特征在于,还包括 写入装置,用于将所述当前宏块的信息写入所述运动矢量行存储区,以作为其它相邻宏块的参考宏块的信息。
11. 如权利要求10所述的解码装置,其特征在于,还包括 第一控制装置,用于控制所述读取装置、获取装置、去块效应滤波装置和写入装置对宏块组中的宏块按照逐行顺次或者逐列顺次的顺序 进行上述操作直至完成所述宏块组中所有宏块的去块效应滤波操作,其 中,所述宏块组由同一图像帧中的多个宏块组成。
12. 如权利要求IO所述的解码装置,其特征在于,还包括 第二控制装置,用于控制所述读取装置、获取装置、和写入装置以获取所述宏块组中所有宏块的边界强度因子,再控制所述去块效应滤波 装置对所述宏块组中的所有宏块进行去块效应滤波操作,直至完成所述 宏块组中所有宏块的去块效应滤波操作。
13. 根据权利要求9至12中任一项所述解码装置,其特征在于, 所述运动矢量行存储区还用于存储重建所述当前宏块的预测宏块数据 所需的相关信息。
14.如权利要求8至13所述的解码装置,其中,所述解码装置适用的视频编解码标准包括H. 264、 VC-1、 AVS或Real标准中的任一个。
全文摘要
本发明提供了一种在视频压缩处理中基于边界强度因子进行去块效应滤波的解码方法,其中,边界强度因子的获取在获取预测宏块数据和残差块数据的重构值之前完成。所述方法可以提前释放存储区中的当前宏块信息,并且所需参考宏块的信息可以分享其它存储区已有信息,而不必单独占据解码装置内部的片内存储空间,或者是外接存储器空间,从而降低了对所需存储装置的要求,同时也减少了多次存储引起的延迟等问题,提高了系统效率。
文档编号H04N7/26GK101472176SQ20071017388
公开日2009年7月1日 申请日期2007年12月29日 优先权日2007年12月29日
发明者罗忠祥 申请人:智多微电子(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1