CN201639717U - 可变块尺寸运动预测装置 - Google Patents
可变块尺寸运动预测装置 Download PDFInfo
- Publication number
- CN201639717U CN201639717U CN 200920124187 CN200920124187U CN201639717U CN 201639717 U CN201639717 U CN 201639717U CN 200920124187 CN200920124187 CN 200920124187 CN 200920124187 U CN200920124187 U CN 200920124187U CN 201639717 U CN201639717 U CN 201639717U
- Authority
- CN
- China
- Prior art keywords
- macro block
- pixel
- block pixels
- current macro
- sad
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
可变块尺寸运动预测装置包括存储当前宏块像素的当前宏块像素存储器;存储参考宏块像素的搜索窗像素存储器;当前宏块像素与参考宏块像素分别从经过宏块像素降采样处理单元一、二及像素截位处理单元一、二进行降采样和像素截位后存储在当前宏块像素寄存器阵列和参考宏块像素寄存器阵列,SAD计算单元计算处理后的当前宏块像素与参考宏块像素的SAD值,SAD比较单元选取各种宏块分割模式下最小SAD值对应的块模式及运动矢量作为当前宏块位置的预测模式和运动矢量,运动预测流程控制单元控制各模块的启动。本实用新型采用全流水结构,整个运动估计运算周期短,可以实时处理,实现在编码器性能、功耗、面积之间进行权衡,具有很强的通用性。
Description
技术领域
本实用新型涉及信号处理中的图像和视频编码技术领域,特别涉及在编码过程中可变块尺寸运动预测技术。
背景技术
在视频压缩中,为了更好的去除视频信息的冗余,达到在保持视频质量的同时尽可能提高压缩比的目的,广泛采用预测编码和变换编码结合的基于块的混合编码方法,通过变换编码将空域图像映射到频域系数,有效地去除像素间的空间相关性,而基于运动估计和运动补偿的预测编码则充分利用了相邻帧间的时间相关性,从而获得较好的压缩性能。
由于块匹配具有较低的硬件复杂度,对于实际运动来说被认为是最通用的方法之一,因此在VLSI中广泛采用,几乎所有的H.261/H.263和MPEG1,2/4的编解码电路的物理组合都把块匹配用于运动估计。
为了得到最小的预测误差,在H.264/AVC中进行帧间预测时不再采用固定块尺寸模式,而是采用可变块尺寸模式对每个划分的子块进行运动估计和运动补偿,以得到最佳的匹配块,从而提高压缩效率。H.264/AVC的多模式运动估计中,一个16×16的宏块(Macroblock,MB)可以进一步划分成若干个子块进行补偿。如图1所示宏块分割模式包括16×16,16×8,8×16,8×8;对于8×8子块,可以进一步划分成8×4,4×8,4×4块模式,具体应用如图2所示,图2的当前宏块在参考帧的搜索区域内搜索出的最优预测模式为左上方的8×8子块最优模式为两个8×4子块,对应得运动矢量为Mv0和Mv1,其余三个8×8子块的最优预测模式是8×8块,对应得运动矢量分别是Mv2、Mv3和Mv4。宏块分割模式大大提高了各宏块之间及宏块内部子块的关联性。H.264/AVC对编码的宏块进行运动预测时要遍历所有的预测模式,即对每一种尺寸的子块都要执行一次搜索动作,因此帧间预测就能针对图像中不同大小物体的各种移动,利用最适合的子块尺寸进行组合,以提高搜索的正确性,而不会因为用固定尺寸的块去搜索不同大小的物体而导致在移动时产生的误差。
确定宏块分割模式(块的尺寸)后,需要对每一个子块编码,计算每一个待编码的子块对应的运动矢量,然后编码传输每个运动矢量和宏块分割模式。因此当选定一个比较大的块尺寸时,则需要较少的码字对分块信息和运动矢量进行编码传送,但是难于达到精确的匹配,也就是说在图像的残差部分可能包含着比较多的信息;而选定一个较小的块尺寸,可以显著降低残差部分的信息,但是产生比较高的码率来表示运动矢量和对应的分块策略。因此在不同的条件下需要选择合适块分块策略,块划分策略的好坏直接影响着编码***的效率和压缩效果。
目前有两种普遍的运动预测的方法,一种方法是对各种宏块分割模式逐一进行固定块尺寸的运动预测,这种方法由于对每一中宏块分割模式都需要遍历搜索窗区域,所需的存储器操作带宽巨大,同时所需的计算时间长,无法实现实时处理。另外一种方法基于具有最小的宏块分割尺寸的子块进行处理,计算出这些最小子块的SAD残差值后,通过若干最小子块的组合得到较大子块的SAD残差值,这种方法需存储较多的中间计算结果,所需的暂存资源较多。
发明内容
本实用新型的目的是为了克服已有技术的不足,提出了一种实时处理H.264/AVC中可变块尺寸运动预测方法,该方法可以降低硬件开销,所需存储器操作带宽小,计算时间短,所需暂存资源少。
本实用新型同时提出了一种可变块尺寸运动预测装置。
可变块尺寸运动预测方法,包括如下步骤:
(1)从外部存储器中持续取出待预测帧中用于预测某一候选运动矢量的当前宏块像素及其对应的参考宏块像素,分别存储在当前宏块像素存储器和搜索窗像素存储器,直到遍历搜索窗中的所有候选运动矢量;
(2)从当前宏块像素存储器取出一个候选运动矢量的当前宏块像素,并对当前宏块像素进行降采样和像素截位处理;
(3)进行步骤(2)的同时,从搜索窗像素存储器取出一个候选运动矢量的参考宏块像素,并对取出的参考宏块像素进行降采样和像素截位处理;
(4)将步骤(2)和步骤(3)处理后的像素送到SAD计算单元进行运算,计算该候选运动矢量对应的参考宏块在各种宏块分割模式下的SAD值;
(5)各种宏块分割模式下的SAD值与前一个候选运动矢量运算得到的各种宏块分割模式下的SAD值进行比较,选取各种宏块分割模式下最小SAD值和对应的运动矢量。
本实用新型还可以将所述步骤(2)和(3)处理的结果分别缓存在当前宏块像素寄存器阵列和参考宏块像素寄存器阵列,所述当前宏块像素寄存器阵列,将整个宏块的像素在同一周期内提供给所述SAD计算单元,所述参考宏块像素寄存器阵列,将整个宏块的像素在同一周期内提供给所述SAD计算单元。
为了便于水平和垂直方向相邻的两个侯选运动矢量之间预测处理的连续性,所述参考像素寄存器阵列在一个计算周期内在垂直方向向上和向下移动若干行像素,在水平方向向左移动若干列像素。
可变块尺寸运动预测装置,包括:当前宏块像素存储器,搜索窗像素存储器,宏块像素降采样处理单元一、宏块像素降采样处理单元二,像素截位处理单元一、像素截位处理单元二,当前宏块像素寄存器阵列,参考宏块像素寄存器阵列,SAD计算单元,SAD比较单元,运动预测流程控制单元,其中:
所述当前宏块像素存储器从外部存储器中持续取出待预测帧中用于预测某一候选运动矢量的当前宏块像素;
所述搜索窗像素存储器从外部存储器中持续取出当前宏块像素对应的参考宏块像素。
宏块像素降采样处理单元一、宏块像素降采样处理单元二分别独立地从当前宏块像素存储器和搜索窗像素存储器取出当前宏块像素和参考宏块像素进行降采样处理,其在不影响所述SAD计算精度的前提下减少当前宏块像素寄存器阵列和参考宏块像素寄存器阵列的大小,同时降低SAD计算单元的硬件资源消耗;
像素截位处理单元一、像素截位处理单元二分别独立地对所述降采样处理后的当前宏块像素和参考宏块像素进行像素截位处理,其在不影响所述SAD计算精度的前提下降低SAD计算单元的硬件资源消耗;
当前宏块像素寄存器阵列暂存经所述宏块像素降采样和截位处理后的当前宏块像素,寄存器阵列将整个宏块的像素在同一周期内提供给所述SAD计算单元;
参考宏块像素寄存器阵列暂存经所述宏块像素降采样和像素截位处理后的参考宏块像素,寄存器阵列将整个宏块的像素在同一周期内提供给所述SAD计算单元;
为了便于水平和垂直方向相邻的两个侯选运动矢量之间的预测处理的连续性,参考像素寄存器阵列在一个计算周期内可在垂直方向向上和向下移位移行像素,在水平方向向左移动若干列像素的结构;
SAD计算单元计算当前宏块像素与候选运动矢量对应的参考像素宏块之间的相似度,将所述宏块像素降采样和截位处理后的当前宏块像素与参考宏块像素对应位置上的差值的绝对值的累加;
SAD比较单元选取各种宏块分割模式下的最小SAD值所对应的块模式及运动矢量作为当前宏块位置的预测模式和运动矢量;
运动预测流程控制单元控制当前宏块像素存储器、搜索窗像素存储器、两个宏块像素降采样处理单元、两个像素截位处理单元、当前宏块像素寄存器阵列单元、参考宏块像素寄存器阵列单元、宏块SAD计算单元、SAD比较单元的启动。
本实用新型的有益效果主要体现在:一方面本方法采用全流水结构,整个运动估计运算执行周期短,所需存储器操作带宽小,所需暂存资源少,可以实现在编码器性能、功耗、面积之间进行权衡,采用降采样和截位处理可以在不损编码性能的情况下占用更少的硬件资源,对编码器的压缩效率影响很小;另一方面由于本方法基于块模式编码,因此在多种视频标准实现都可以采用,具有很强的通用性。根据不同视频编码标准,只需要针对多种该标准中宏块分割大小调整SAD累加和模式判决单元或模式选择单元即可。
附图说明
图1为运动估计中使用的各种宏块分割模式
图2为运动估计中使用的各种宏块分割模式的应用示例
图3为搜索窗区域与搜索范围的关系示例
图4为本实用新型采用的1/2降采样模板
图5为本实用新型8x8宏块分割的SAD计算和组合的过程
图6为本实用新型可变块尺寸运动预测方法流程图和可变块尺寸运动预测装置结构图
图7为本实用新型实施例所实现的不同位数像素截位处理结果同JM8.4参考代码的比较图
图8为本实用新型实施例所实现的H.264/AVC编码器RD曲线同JM8.4参考代码的比较图
具体实施方式
以下结合附图对本实用新型内容进一步说明。
可变块尺寸运动预测方法,包括如下步骤,如图6所示:
(1)从外部存储器中持续取出待预测帧中用于预测某一候选运动矢量的当前宏块像素及其对应的参考宏块像素,分别存储在当前宏块像素存储器和搜索窗像素存储器,直到遍历搜索窗中的所有候选运动矢量;
(2)从当前宏块像素存储器取出一个候选运动矢量的当前宏块像素,并对当前宏块像素进行降采样和像素截位处理;
(3)进行步骤(2)的同时,从搜索窗像素存储器取出一个候选运动矢量的参考宏块像素,并对取出的参考宏块像素进行降采样和像素截位处理;
(4)将步骤(2)和步骤(3)处理后的像素送到SAD计算单元进行运算,计算该候选运动矢量对应的参考宏块在各种宏块分割模式下的SAD值;
(5)各种宏块分割模式下的SAD值与前一个候选运动矢量运算得到的各种宏块分割模式下的SAD值进行比较,选取各种宏块分割模式下最小SAD值和对应的运动矢量。
本实用新型还可以将所述步骤(2)和(3)处理的结果分别缓存在当前宏块像素寄存器阵列和参考宏块像素寄存器阵列,所述当前宏块像素寄存器阵列,将整个宏块的像素在同一周期内提供给所述SAD计算单元,所述参考宏块像素寄存器阵列,将整个宏块的像素在同一周期内提供给所述SAD计算单元。
为了便于水平和垂直方向相邻的两个侯选运动矢量之间预测处理的连续性,所述参考像素寄存器阵列在一个计算周期内在垂直方向向上和向下移动若干行像素,在水平方向向左移动若干列像素。
可变块尺寸运动预测装置,如图6所示,包括:当前宏块像素存储器(1),搜索窗像素存储器(2),宏块像素降采样处理单元一(3)、宏块像素降采样处理单元二(4)、像素截位处理单元一(5)、像素截位处理单元二(6),当前宏块像素寄存器阵列(7),参考宏块像素寄存器阵列(8),SAD计算单元(9),SAD比较单元(10),运动预测流程控制单元(11),其中:
所述当前宏块像素存储器(1)从外部存储器中持续取出待预测帧中预测某一候选运动矢量的当前宏块像素;
所述搜索窗像素存储器(2)从外部存储器中持续取出当前宏块像素对应的参考宏块像素,搜索窗内所存储的参考像素宏块的个数取决于所采用的搜索范围,例如,对于水平方向[-16,15],垂直方向[-16,15]的搜索范围,所需装载的参考像素宏块个数为3x3=9个;对于水平方向[-32,31],垂直方向[-32,31]的搜索范围,所需装载的参考像素宏块个数为5x5=25个,图3所示为搜索窗中宏块的个数与搜索范围关系;
宏块像素降采样处理单元一(3)、宏块像素降采样处理单元二(4)分别独立地从当前宏块像素存储器和搜索窗像素存储器取出当前宏块像素和参考宏块像素进行降采样处理,其在不影响所述SAD计算精度的前提下减少当前宏块像素寄存器阵列和参考宏块像素寄存器阵列的大小,同时降低SAD计算单元的硬件资源消耗,图4所示为一种降采样模式的示例;
像素截位处理单元一(5)、像素截位处理单元二(6)分别独立地对所述降采样处理后的当前宏块像素和参考宏块像素进行像素截位处理,其在不影响所述SAD计算精度的前提下降低SAD计算单元的硬件资源消耗。
像素截位处理的具体实现是对像素进行右移的处理,保留移位后的高位数据,如对8位像素进行保留5位的截位处理,只需右移3位即可。如图7所示本实用新型实现的不同位数像素截位处理的结果比较,比较的基准是JM8.4参考代码,像素截位处理从高到低分别取保留7位数据、保留6位数据、保留5位数据和保留4位数据四种情况。结果表明,像素数据保留5位时,编码器的整体性能有略微的下降,信噪比降低0.1dB左右;而像素数据保留4位时,编码器的整体性能下降较多,信噪比降低0.3dB左右。
当前宏块像素寄存器阵列(7)暂存经所述宏块像素降采样和截位处理后的当前宏块像素,寄存器阵列将整个宏块的像素在同一周期内提供给所述SAD计算单元。
参考宏块像素寄存器阵列(8)暂存经所述宏块像素降采样和像素截位处理后的参考宏块像素,寄存器阵列将整个宏块的像素在同一周期内提供给所述SAD计算单元。
为了便于水平和垂直方向相邻的两个侯选运动矢量之间的预测处理的连续性,参考像素寄存器阵列(8)在一个计算周期内可在垂直方向向上和向下移位移行像素,在水平方向向左移动若干列像素的结构。
SAD计算单元(9)计算当前宏块像素与候选运动矢量对应的参考像素宏块之间的相似度,将所述宏块像素降采样和截位处理后的当前宏块像素与参考宏块像素对应位置上的差值的绝对值的累加。一种由最小宏块分割的SAD得到较大宏块分割的SAD的计算和组合的过程如图5所示,该图所示为一个8x8宏块分割的SAD计算和组合的过程,其他宏块分割的SAD计算与组合过程与此类似。
SAD比较单元(10)包括SAD比较单元一和SAD比较单元二,
其中,SAD比较单元一,选定某一宏块分割模式,比较不同的候选运动矢量在该宏块分割下的SAD值,从而选择一个具有最小SAD值的运动矢量。
其中,SAD比较单元二,在SAD比较单元一提供的结果中,比较各种宏块分割所对应的最小的SAD值,选其中最小者所对应的宏块分割模式及运动矢量作为当前宏块位置的预测模式和运动矢量。
SAD比较单元的另外一种实现是包括SAD比较单元三和SAD比较单元四,
其中,SAD比较单元三,比较同一候选运动矢量在各种宏块分割下的SAD值,从而选择一个具有最小SAD值的子块模式。
其中,SAD比较单元四,在SAD比较单元三提供的结果中,比较各个候选运动矢量对应的最小的SAD值,选其中最小者所对应的块模式及运动矢量作为当前宏块位置的预测模式和运动矢量。
运动预测流程控制单元(11)控制当前宏块像素存储器、搜索窗像素存储器、两个宏块像素降采样处理单元、两个像素截位处理单元、当前宏块像素寄存器阵列单元、参考宏块像素寄存器阵列单元、宏块SAD计算单元、SAD比较单元的启动。
如图8所示为本实用新型实现的H.264/AVC编码器RD曲线比较,比较基准是JM8.4参考代码。结果表明,本实用新型所实现的H.264/AVC编码器在相同的码率下,相比于JM8.4参考代码,信噪比降低0.1dB左右。
应该理解到的是,上述实施例只是对本实用新型的说明,而不是对本实用新型的限制,任何不超出本实用新型实质精神范围内的发明创造,均落入本实用新型保护范围之内。
Claims (2)
1.可变块尺寸运动预测装置,其特征在于包括:当前宏块像素存储器,搜索窗像素存储器,宏块像素降采样处理单元一、宏块像素降采样处理单元二,像素截位处理单元一、像素截位处理单元二,当前宏块像素寄存器阵列,参考宏块像素寄存器阵列,SAD计算单元,SAD比较单元,运动预测流程控制单元,其中:
所述当前宏块像素存储器从外部存储器中持续取出待预测帧中用于预测某一候选运动矢量的当前宏块像素;
所述搜索窗像素存储器从外部存储器中持续取出当前宏块像素对应的参考宏块像素。宏块像素降采样处理单元一、宏块像素降采样处理单元二分别独立地从当前宏块像素存储器和搜索窗像素存储器取出当前宏块像素和参考宏块像素进行降采样处理;
像素截位处理单元一、像素截位处理单元二分别独立地对所述降采样处理后的当前宏像素和参考宏块像素进行像素截位处理;
当前宏块像素寄存器阵列暂存经所述宏块像素降采样和截位处理后的当前宏块像素,寄存器阵列将整个宏块的像素在同一周期内提供给所述SAD计算单元;
参考宏块像素寄存器阵列暂存经所述宏块像素降采样和像素截位处理后的参考宏块像素,寄存器阵列将整个宏块的像素在同一周期内提供给所述SAD计算单元;
SAD计算单元计算当前宏块像素与候选运动矢量对应的参考像素宏块之间的相似度,将所述宏块像素降采样和截位处理后的当前宏块像素与参考宏块像素对应位置上的差值的绝对值的累加;
SAD比较单元选取各种宏块分割模式下的最小SAD值所对应的块模式及运动矢量作为当前宏块位置的预测模式和运动矢量;
运动预测流程控制单元控制当前宏块像素存储器、搜索窗像素存储器、两个宏块像素降采样处理单元、两个像素截位处理单元、当前宏块像素寄存器阵列单元、参考宏块像素寄存器阵列单元、宏块SAD计算单元、SAD比较单元的启动。
2.如权利要求1所述可变块尺寸运动预测装置,其特征在于所述的参考像素寄存器阵列在一个计算周期内可在垂直方向向上和向下移位一行像素,在水平方向向左移动若干列像素的结构。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200920124187 CN201639717U (zh) | 2009-07-09 | 2009-07-09 | 可变块尺寸运动预测装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200920124187 CN201639717U (zh) | 2009-07-09 | 2009-07-09 | 可变块尺寸运动预测装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN201639717U true CN201639717U (zh) | 2010-11-17 |
Family
ID=43084223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200920124187 Expired - Lifetime CN201639717U (zh) | 2009-07-09 | 2009-07-09 | 可变块尺寸运动预测装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN201639717U (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103916674B (zh) * | 2012-12-31 | 2017-05-24 | 富士通株式会社 | 存储装置及方法、映射方法、编解码装置和图像处理设备 |
CN107979759A (zh) * | 2011-03-21 | 2018-05-01 | Lg 电子株式会社 | 选择运动矢量预测值的方法和使用其的设备 |
-
2009
- 2009-07-09 CN CN 200920124187 patent/CN201639717U/zh not_active Expired - Lifetime
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107979759A (zh) * | 2011-03-21 | 2018-05-01 | Lg 电子株式会社 | 选择运动矢量预测值的方法和使用其的设备 |
CN107979759B (zh) * | 2011-03-21 | 2021-04-30 | Lg 电子株式会社 | 选择运动矢量预测值的方法和使用其的设备 |
US10999598B2 (en) | 2011-03-21 | 2021-05-04 | Lg Electronics Inc. | Method for selecting motion vector predictor and device using same |
CN103916674B (zh) * | 2012-12-31 | 2017-05-24 | 富士通株式会社 | 存储装置及方法、映射方法、编解码装置和图像处理设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101605262B (zh) | 可变块尺寸运动预测方法和装置 | |
CN1882094B (zh) | 图像编码装置、图像编码方法、图像解码装置、图像解码方法和通信装置 | |
CN101267556B (zh) | 快速运动估计方法及视频编解码方法 | |
CN102835111B (zh) | 使用先前块的运动矢量作为当前块的运动矢量来对图像进行编码/解码的方法和设备 | |
CN101087417B (zh) | 图像编码装置 | |
KR100939917B1 (ko) | 움직임 예측을 통한 부호화 시스템 및 움직임 예측을 통한부호화 방법 | |
CN103188496B (zh) | 基于运动矢量分布预测的快速运动估计视频编码方法 | |
CN100435586C (zh) | 用于预测运动的方法和设备 | |
CN103997645B (zh) | 一种快速的hevc帧内编码单元和模式决策方法 | |
CN102291581B (zh) | 支持帧场自适应运动估计的实现方法 | |
CN101573984A (zh) | 用于使用多个运动矢量预测因子来估计运动矢量的方法和设备,编码器、解码器和解码方法 | |
CN103248895A (zh) | 一种用于hevc帧内编码的快速模式估计方法 | |
CN108989799B (zh) | 一种编码单元参考帧的选择方法、装置及电子设备 | |
CN101888546B (zh) | 一种运动估计的方法及装置 | |
CN101505427A (zh) | 视频压缩编码算法中的运动估计装置 | |
CN102647598B (zh) | 基于极大极小mv差值的h.264帧间模式优化方法 | |
CN103384327A (zh) | 基于自适应阈值的avs快速模式选择算法 | |
CN105025298B (zh) | 对图像进行编码/解码的方法和设备 | |
CN101754022A (zh) | 低复杂度的运动估计方法 | |
CN102710940A (zh) | 基于dsp平台利用运动估计算法实现优化视频编码的方法 | |
CN101304529A (zh) | 宏块模式的选择方法和装置 | |
CN103313058A (zh) | 针对芯片实现的hevc视频编码多模块优化方法和*** | |
CN110198442B (zh) | 一种用于视频编码的帧内预测方法、装置和存储介质 | |
CN101883275B (zh) | 视频编码方法 | |
CN201639717U (zh) | 可变块尺寸运动预测装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20101117 |