使用自适应搜索范围的真实运动矢量估计的制作方法

文档序号:7942661阅读:232来源:国知局
专利名称:使用自适应搜索范围的真实运动矢量估计的制作方法
技术领域
本发明总体上涉及视频和图像编码领域,具体涉及用于运动估计和补偿的方法和 系统。
背景技术
数字传输网络、数字存储介质、超大规模集成器件以及视频和音频信号的数字处 理的技术发展汇聚起来,使得多种类型的应用中的数字视频的传输和存储比较经济。因为 数字视频信号的存储和传输对于许多应用而言占据中心位置,所以数字视频编码技术的使 用变得很普遍。视觉信息在几乎所有生活领域扮演了重要角色。由于大量数据与图像和视频关 联,所以视频编码是关键技术。运动估计和补偿在多种视频编码方案中起着关键作用。运 动估计可以用在多种视频应用中,例如压缩、降噪、扫描转换、以及针对帧速率转换的图像 插值。然而,相对于移动通信和互联网的非常快的发展速度,当前运动估计和补偿方案 还无法赶上不断增长的应用需求,例如在互联网或移动视频电话上的视频流传输。因此,需要视频编码和补偿方案中更高效的运动估计和补偿。

发明内容
根据本发明一些实施例,一种用于估计第一帧中像素块的运动的方法,包括搜索 第二帧中的第一区域,以识别与所述像素块对应的第一匹配块,第一匹配块包括第一误差 值,第一误差值是所述像素块与第一匹配块之间的至少一个误差准则的最小值;计算与第 一匹配块关联的第一运动矢量。该方法还包括搜索第二帧中的第二区域,以识别与所述像素块对应的第二匹配 块,第二匹配块包括第二误差值,第二误差值是所述像素块与第二匹配块之间的所述至少 一个误差准则的最小值;计算与第二匹配块关联的第二运动矢量;以及根据第一和第二误 差值,在第一和第二运动矢量之间选择最终运动矢量。本发明的其他特征和优点部分地在下面的描述中阐述,部分地从描述中显而易 见,或者可以通过实施本发明来获知。本发明的特征和优点将通过具体在所附权利要求中 指出的元素和组合来实现和获得。附图结合到说明书中并构成说明书的一部分,附图示出了本发明的实施例,并与 描述一起用于说明本发明的原理。


图1示出了根据本发明一些实施例的视频编码系统的框图。图2a和2b示出了根据本发明一些实施例的示例性视频帧。图3示出了根据本发明一些实施例的示例性运动视频。图4a和4b示出了根据本发明一些实施例的另一示例性视频帧。图5是根据本发明一些实施例的运动估计方法的示意图。图6是根据本发明一些实施例的另一运动估计方法的示意图。图7示出了根据本发明一些实施例的运动估计装置的高级框图。图8示出了根据本发明一些实施例的另一运动估计装置的高级框图。图9a示出了根据本发明一些实施例的另一运动估计装置的框图。图9b是根据本发明一些实施例的栅格结构的示意图。图10是根据本发明一些实施例的运动矢量直方图的示意图。图11示出了根据本发明一些实施例的运动估计装置的框图。
具体实施例方式下面具体参照本发明的实施例,附图示出了本发明实施例的示例。如果可能,附图 中使用相同的附图标记来指示相同或类似部分。在以下描述和权利要求中,可以使用术语“耦接”和“连接”以及它们的衍生词。应 该理解,这些术语不是要作为彼此的同义词,而是在具体实施例中,“连接”和/或“耦接”可 以用于指示两个或更多元件彼此直接物理接触或电子接触。然而,“耦接”也可以表示两个 或更多元件不是彼此直接接触,但是依然彼此协作、通信和/或交互。图1示出了根据本发明一些实施例的视频编码系统100的高级功能框图。应该 理解,以下描述和权利要求中论述的多种功能单元实际中可以是单独地或以任何组合方 式,以硬件、以在一个或多个硬件组件(例如一个或多个处理器、一个或多个专用集成电路 (ASIC)或其他此类组件)上执行的软件或者以两者的任何组合,来实现的。如图1所示,系统100可以包括编码器单元104,编码器单元104可以耦接来接收 来自摄像机102的视频信号(I),并可以配置为编码信号I,以获得比特流B。依赖于应用, 比特流B可以存储在存储器中,以及/或者在通信信道上传输。如图1所示,系统100还可 以包括解码器单元106,解码器单元106可以耦接来接收比特流B,并可以配置为从比特流B 重建信号I。系统100还可以包括显示器108 (例如,监视器、屏幕或其他此类显示设备), 显示器108可以耦接至解码器106,并配置为显示重建的信号I。如前所述,因为运动估计 在视频编码中起着重要作用,所以系统100可以包括运动估计单元(MEU) 110。在一些实施 例中,例如示例性MEU 110等运动估计单元可以被包括在解码器106中。在一些实施例中, MEU 110可以被包括作为运动补偿图像插值单元(MCIIU)lll的一部分,MCIIU 111可以被 包括在示例性解码器106等解码器中。MCIIU 111可以配置为执行图像插值,该图像插值可 以恢复(重建)视频的丢失帧。参照图7具体描述根据本发明一些实施例的运动估计单元 的细节。自然视觉场景可以在空间上和时间上连续。典型地,可以通过在空间上(通常在 图像平面上的矩形网格上)和时间上(作为以规则时间间隔采样的静止图像(帧)序列)
5对真实场景采样,来以数字形式表示视觉场景。如图1所示,来自摄像机102的信号I可以 将视觉场景表示为一个或多个静止图像(帧)(I1, I2,……,Ilri,In)。图2a示出了来自示例性自然场景的示例性静止图像200,可以从例如摄像机102 等捕获装置捕获该示例性自然场景。图像200描绘了在公路204上行驶的车辆202,背景 中有山(212,214和216)和树(206,208和210)。通过将图像200采样到图2b所示PXQ 大小的矩形网格R上,图像200可以表示成数字形式。矩形网格R上的每个点R(p,q) (0彡ρ彡P-1,0彡q彡Q-1)可以对应于图像元素(像素)。每个像素可以由能够描述亮 度(光强)和/或颜色的数或数的集合来表示。在数字应用中,像素也可以表示为一个或 多个二进制值,每个帧可以表示为对应像素值的阵列(或矩阵)。应该理解,根据应用的类 型,帧中像素的数目(PXQ)可以变化。因此,根据本发明,本发明公开在帧中可以包括的像 素数目方面不受限。典型地,可以通过将图像200的2D投影聚焦到传感器(例如电荷耦合器件阵列 (CCD阵列))上,由捕获装置(例如摄像机102)获得作为二维采样图像的静止图像,例如示 例性图像200。然后,可以从CCD阵列的输出中导出像素阵列(像素值阵列)。在一些情况 下,对于彩色图像,可以将CCD阵列的输出滤波为一个或多个颜色分量,每个颜色分量可以 具有对应的像素阵列。例如,RGB(红色、绿色和蓝色)颜色模型的彩色图像可以包括针对 每个颜色分量的一个或多个像素阵列。如前所述,自然场景可以表示为帧序列,例如(I1, I2,......,Ilri,In)。这些帧可
以被采样为完整帧(逐行扫描帧)序列和/或隔行扫描帧序列。应该理解,本发明公开的 实施例在使用的帧类型(逐行扫描或隔行扫描)方面不受制约或限制。图3示出了在公路204上行驶的车辆202 (图Ia和Ib中示出)的示例性运动视频 300。视频300可以通过具有周期性时间间隔的帧(例如示例性帧302、304、306和308)的 序列来捕获。回放帧序列可以生成运动中的车辆202的外观。为方便起见,图3示出了视 频300包括4个帧(302,304,306和308)。然而,应该理解,实际中在例如示例性视频300 等给定视频中可以包括任何数目(η)的帧。因此,在根据本发明的系统可以包括并支持的 帧数目方面,本发明公开不受限制。视频300的每个帧可以类似于参照图2a和2b描述的方式那样,表示为数字形式。 因此,视频300中的每个帧可以由多个比特表示。典型地,帧速率(每单位时间捕获的帧的 数目)越高,运动越平滑,视频300的总体质量越好。然而,增大帧速率也会增大表示例如 视频300等视频图像所需的比特的数目。因为大多数视频应用的存储大小和带宽可用性有限,所以可以由编码器单元(例 如示例性编码器单元104)实现多种编码(和/或压缩)方案,以达到表示给定视频所需的 比特数目(或比特率)与视频质量之间平衡。典型地,大多数视频编码方案可以在时间上和空间上利用场景中存在的冗余信 息,来实现压缩。在时域中,在时间上相邻的帧之间,即,在按照时间顺序的连续帧之间,会 存在高相关度(相似度),尤其是在高帧速率情况下。在空域中,彼此接近的像素之间,即, 相邻像素之间,会存在高相关度。从图3可以看出,在帧302、304、306和308中,与例如山 (212,214和216)、树(206,208和210)和公路204等背景区域关联的像素在所有帧(302、 304、306和308)中都是恒定的(冗余的)。因此,可以通过消除对所有帧中每个帧中的冗余信息进行表示的需要,来实现对表示视频300所需的全部比特数目的节省。但是,逐像素地处理帧在计算上复杂度较高。在一些情况下,为了降低计算复杂度 并进一步提供压缩率,可以将帧细分成多个区域(具体地,块),并逐块地处理。典型地,区 域(块)可以包括多个相邻像素,大小可以变化。依赖于应用类型,在一些情况下,块可以 彼此交叠。图4a描绘了划分成5X5固定大小的块(例如,示例性像素块402)的示例性帧 302,每个块包括16X16个像素。为方便起见,图4a示出了帧302包括5X5个像素块。但 是,应该理解,实际中,所给的帧可以包括任何数目(UXV)的像素块(U<P,V<Q),每个 像素块可以包括任何数目的像素。因此,在根据本发明的帧中可以包括的像素块的数目和 /或大小方面,本发明不受限制。在一些情况下,为了进一步提高视频质量,可以将帧划分成大小可变的块。图4b 描绘了示例性帧302划分成大小可变的块(例如示例性像素块402、404和406)。为方便 起见,图4b示出了帧302包括块大小不同的像素块402、404和406。但是,应该理解,实际 中,所给的帧可以包括任何数目(UXV)的像素块,每个像素块可以进一步划分成任何数目 (uXv)的像素块(u < U,ν < V)。因此,在根据本发明的帧中可以包括的像素块的数目和 /或大小方面,本发明不受限制。典型地,视频帧之间的改变可以由如下引起对象运动(例如,运动的车辆)、摄像 机运动(例如,摇镜头,倾斜,变焦,旋转等)、露出的区域(例如,被运动的对象覆盖的场景 背景的一部分)、以及光照变化。除了光照变化,典型地,运动可以涉及帧之间的像素运动。 因此,通过预测连续帧之间每个像素的轨迹(运动估计),可以通过将参考帧(先前或在后 帧)中的每个像素(按照该像素关联的轨迹)移动,来准确地重建当前帧(运动补偿)。因 为一个或多个帧可以通过单个参考帧表示,因此可以减少表示整个视频图像所需的比特的 数目。然而,如上所述,逐像素地处理帧在计算上复杂度较高。为了降低计算复杂度,在 一些实施例中,可以由运动估计单元(MEU) 110逐块地实施多种运动估计方案。如上参照图4a和4b所述,例如示例性帧302等给定帧可以划分成一个或多个大 小固定和/或大小可变的像素块。在基于块的运动估计中,将当前块与参考帧中相同大 小的另一移位块相比较。当前块与移位参考块之间的最佳匹配得到一个或多个运动矢量 (MV),这些MV能够描述两个块之间的最优位移或运动。在一些实施例中,运动矢量可以是 二维的,因而包括水平和垂直分量。因此,通过识别已发生位移(运动)的块,并由参考帧 中所有对应位移块各自的运动矢量来对各个位移块进行补偿,可以通过参考帧来表示当前 帧。例如,在示例性视频300中,可以通过如下方式来由参考帧(例如,帧302)表示帧 304 在帧304中识别已发生运动的块,计算与发生位移的块关联的对应运动矢量,并用对 应的运动矢量补偿帧302中的位移块。因为,不需要存储与帧304关联的所有像素值,而只 需要存储与帧304中的位移块关联的MV、以及帧302与304之间的任何差异(例如,由于车 辆202的运动而露出的区域)。在一些实施例中,MEU 110可以执行块匹配方案,来估计参考帧和一个或多个当前 帧中块之间的运动。在一个实施例中,MEU 110可以配置为针对当前块中包括的所有像素,使用误差准则(例如,绝对差和(SAD)、平方差和(SSD)、绝对变换差和(SATD)或其他此类 误差准则),以找到参考帧中的对应“最佳匹配”块。典型地,由于SAD度量或成本函数的计 算简单,所以SAD最常用。在一些实施例中,MEU 110可以执行全面穷尽搜索,为搜索区域(或范围)内的所 有可能的运动矢量,找到全局最小块匹配误差(例如最小SAD值)。具有最小匹配误差的运 动矢量可以表示大多数像素的最佳运动估计,关联的块可以被选定为最佳匹配块。图5是根据本发明一些实施例,MEU 110可以执行的全面穷尽搜索块匹配方案的 示例图。图5示出了参考帧502和当前帧504。帧502和504可以类似于参照图3描述的 帧。当前帧504可以包括示例性的当前块506,该块506可以类似于参照图4a和4b描述的 像素块。如图5所示,属于块506的图像细节的位置可以从帧502到504发生变化。如图5所示,可以在参考帧502中使用全搜索区域503来执行块匹配过程,以识别 与当前块506关联的一个或多个最佳匹配块(以及对应的运动矢量)。在参考帧502中,通 过零位移块507,示出了块506 (帧504)的空间对齐位置。全搜索区域503的大小可以取决于图像分辨率(格式)、帧速率和应用类型。在 一些实施例中,全搜索区域503可以具有包括(M+1XN+1)个像素的矩形尺寸,水平范围是 [-M/2到+M/2]个像素,垂直范围是[-N/2到+N/2]个像素,其中M和N是偶数,(M+1 ( P, 且N+1 ( Q)。在一些实施例中,全搜索区域503的尺寸可以与图像格式成比例,以确保可以 在不同图像格式中运动矢量之间类似地表示速度。速度可以定义为帧中的对象从一个边界 通过该帧到另一边界所需的时间量。例如,对HDTV IOSOp图像序列使用的搜索区域的大小 可以是对HDTV 720p图像序列使用的搜索区域大小的225%,以获得类似的运动矢量。在一 些实施例中,在帧502中,全搜索区域503可以围绕在零位移块507的周围。在一些实施例中,可以将参考帧502中尺寸与当前块506相同的移位搜索块(示 出了两次,块508和510)以单位像素递增的方式,在全搜索区域503中进行位移,以计算可 以与(块506的)所有可能位移关联的块匹配误差。可以将对应于全局最小块匹配误差的 位移标识为最佳匹配块。例如,在图5中,对于参考帧502中的块506,可以将块508示为 “最佳匹配”候选,将块510示为备选“最佳匹配”候选。如图5所示,可以分别向块508和 510分配运动矢量MVl和MV2。为方便起见,图5示出了全搜索区域503只包括两个块(508 和510)以及对应的运动矢量(MVl和MV2),作为当前块506的最佳匹配候选。然而,应该理 解,实际中,全搜索区域中可以包括任何数目的最佳匹配候选(MV和/或块)。因此,在根据 本发明的搜索区中可以包括的MV的数目方面,本发明不受限制。如图5所示,MEU 110可以通过执行全面穷尽搜索来识别参考帧502中的最佳匹 配块508和510。然而,随着给定帧内块的数目增多,全面穷尽搜索方案的计算复杂度较高。 此外,全面穷尽搜索方案可能产生多个最佳匹配块,如图5所示。运动补偿和/或图像插值 时最佳匹配块的错误失配会产生可注意到的伪像。存在多种类型的图像特征,对于这些图 像特征,可能发生错误失配。例如,在直线特征的情况下,可以从全面搜索得到与该特征平 行的任何长度的运动矢量。可以随机选择所得到的与该直线特征关联的运动矢量中的任何 运动矢量,当在该特征附近插值其他像素时,会导致错误。例如,在图5中,假设帧502中的MV2(与块510关联)是真正的与当前块506关 联的运动矢量。因为匹配块508和510可能都具有相似的低匹配误差值,所以MEU 110有
8可能错误地将块508选定为块506的最佳匹配。这种块的错误失配会造成视频质量劣化。因为运动矢量可以用于图像插值,所以对图像序列中对象和细节的真实运动的准 确表示可以确保将图像对象和细节在它们的适当插值空间位置处进行位移,由此可以避免 插值图像中出现伪像。因为图像可以包括多种重复结构,也称为栅格结构或周期性结构,所以对这些栅 格结构的识别可以有助于改进真实运动的表示。在一些实施例中,MEU 110可以执行栅格 结构检测方案,这可以生成一个或多个栅格结构图(或栅格结构周期图),这可以标识图像 中的多种栅格结构。栅格结构周期图可以包括水平间距周期值,其对水平运动矢量分量进 行归类;以及垂直间距周期值,其对垂直运动矢量分量进行归类。间距周期可以定义为栅格 结构的最小重复单元。参照图9a和9b详细描述MEU 110可以执行的栅格结构检测方案。栅格结构可以明显地存在于对象中,例如建筑物、窗、烤架、栅栏和文本等中。在穷 尽全搜索方法(如图5所示)中,MEU 110可以识别全搜索区域(例如搜索区域503)内具 有相似的低块匹配误差的多个最佳匹配运动矢量(如图5所示)。例如,如果栅格结构具 有10像素的水平间距周期(栅格结构的最小重复单元)以及+3像素的真实水平运动,则 MEU 110可以得到-7像素(3-10)或+13像素(3+10)的水平运动,作为可能的最佳匹配候 选。虽然可以有一个局部最小匹配误差与真实运动矢量对应,但是在一些情况下,由于场景 光照的改变、摄像机摇镜头或其他此类固有光效应等效应,有可能全局最小匹配误差会与 识别出的最佳匹配候选中的一个或多个关联。通过减少搜索区域(例如全搜索区域503)的 大小,也可以减少局部最小值的数目,使得全局最小值与真实运动矢量关联的可能性更大。 然而,如果全搜索区域503较小,则只能适当地估计有限范围的对象位移,这可能使整体运 动估计受损。因此,为了防止错误的块匹配,而不损害运动估计,在一些实施例中,MEU 110 可以执行自适应搜索方案,来找到最佳匹配块(以及运动矢量)。图6是根据本发明一些实施例的由MEU 110可以执行的自适应搜索方案的示意 图。图6描绘了参考帧502和当前帧504。以与参照图5描述的方式类似的方式,块506的 位置从帧502到504会发生变化。如图6所示,除了全搜索区域503,还可以在参考帧502中使用自适应搜索区域 603,来执行块匹配过程,以识别与当前块506关联的一个或多个最佳匹配块(并估计运动 矢量)。在一些实施例中,全搜索区域503和自适应搜索区域603可以围绕在零位移块507 周围。在一些实施例中,如全搜索块匹配可以在全搜索区域503中进行一样,可以针对 被包括(落入)在自适应搜索区域603中的所有位移,收集块匹配误差的子集。可以比较 (在区域503和603中计算的)块匹配误差,以找到对应于最佳匹配块位置的局部最小误 差。例如,图6示出了块510 (包括在自适应搜索区域603中)作为最佳匹配块,具有运动 矢量605作为对应的运动矢量。如上所述,全搜索区域503和自适应搜索区域603可以包 括多个最佳匹配块及对应的运动矢量。为方便起见,以下描述将全搜索区域503中包括的 所有最佳匹配MV和对应的块匹配误差分别统称为最佳匹配矢量607和块匹配误差609。类 似地,以下描述将全自适应搜索区域5603中包括的所有最佳匹配MV和对应的块匹配误差 分别统称为最佳匹配矢量605和块匹配误差611。
在一些实施例中,全搜索区域503的尺寸可以是固定的,是矩形(类似于图5所示 的),而自适应搜索区域603可以具有可变的尺寸,并且可以(从零位移块507的中心)偏 移预期运动值。在一些实施例中,自适应搜索区域603可以具有矩形尺寸,可以包括(m+lXn+1) 个像素,水平范围是[_m/2到+m/2]个像素,垂直范围是[_n/2到+η/2]个像素,其中m和 Nn是偶数,(!11<11,且11<吣。在一些实施例中,自适应搜索区域603可以包括(0h,Ov)像 素的运动偏移值偏移,其中Oh和Ov是自适应搜索区域603的中心从全搜索区域503的中心 的水平轴和垂直轴偏移。在一些实施例中,可以根据栅格结构图和运动矢量直方图(MVH), 获得!!!、!!、(^和 0V。MVH可以是二维直方图阵列,MVH可以在其横轴上表示所有可能的水平运动值 (MVh)[从-N/2到N/2],在其纵轴上表示所有可能的水平间距周期值(Th)[从2到N]。在一 些情况下,从每个直方图条(histogram bin)可以与图像像素类似这一方面来看,MVH可以 类似于小图像。在一些实施例中,可以针对每个帧生成两个直方图,一个针对水平运动矢量 分量和水平周期,另一个针对垂直运动矢量分量和垂直周期。参照图10详细描述MEU 110 可以使用的MVH。典型地,在栅格结构中,两个较好候选矢量分量之间的距离可能是间距周期值的 倍数。等式(1)示出了在具有间距周期值(T)的栅格结构上,真实运动矢量(MVT)与任意 选定的运动矢量(MVS)之间的关系。MVTh = MVSh+k*Th(1)其中(.h)表示运动矢量的水平分量和间距周期,k是带符号的整数变量,可以指示 选定的运动矢量从真实运动矢量偏移的周期的数目。在理想情况下,k = 0.从等式⑴可以得到,当m小于垂直间距周期值(Tv),且η小于水平间距周期值 (Th)时,可以将自适应搜索区域603中的局部最小值的数目限制到1。在一些实施例中,可 以根据等式⑵和⑶来设定自适应搜索区域603的尺寸(例如m、η、Oh和Ov)。m = Tv-I(2)η = Th-I(3)从等式⑵和(3)可以看出,可以将T1^PTv都假设为大于或等于2。如果Tv = 0,则检测不到垂直栅格结构,并且可以将m设定为相对于M的常数值,偏移Ov = 0。如果Th =0,则检测不到水平栅格结构,并且可以将η设定为相对于N的常数值,偏移Oh = 0。在一些实施例中,当存在高/快运动(位移)时,可以剪切自适应搜索区域603。 在一些实施例中,为了确保不需要针对块匹配误差计算的额外计算,自适应搜索区域603 可以是全搜索区域503的包含子集(inclusive subset),可以不考虑所有不包含区域 (exclusive area)中的块匹配。例如,偏移(Oh = N/2),自适应搜索区域603的中心在全 搜索区域503的右边界处,由此,只考虑自适应搜索区域603的左半部分。在一些实施例中,搜索区域503和603的大小可以取决于图像分辨率。例如,针对 高清HD-1080的搜索区域503和603的大小可以比针对HD-720的搜索区域的大小大,并且 还比针对HD-480的搜索区域的大小大。在一些实施例中,针对SD-720的搜索区域503和 603的大小可以是针对SD-480的搜索区域的大小的两倍,针对HD-1080的搜索区域503和 603的大小可以是针对SD-480的搜索区域的大小的三倍。
10
为方便起见,图6示出了帧502包括两个搜索区域(全搜索区域503和自适应搜 索区域603)。然而,应该理解,实际中给定帧可以包括任何数目的搜索区域。因此,在根据 本发明的帧可以包括的搜索区域的数目方面,本发明不受限制。为方便起见,图6示出了全搜索区域503和自适应搜索区域603各自识别出一个 最佳匹配块。然而,应该理解,实际中搜索区域可以识别出任何数目的最佳匹配块,或者没 有识别出任何最佳匹配块。因此,在根据本发明的在搜索区域中可以包括的最佳匹配块的 数目方面,本发明不受限制。如前所述,“最佳匹配”块可以选择为使例如SAD、SSD、SATD等特定块匹配误差或 其他此类匹配误差最小的块。在一些实施例中,MEU 110可以配置为能够满足(落入)一 个或多个误差范围的最佳匹配块。在一些实施例中,可以在外部编程和/或向MEU 110通 信用于选择最佳匹配块的误差范围。图7示出了根据本发明一些实施例的视频编码系统(例如系统100)中可以包括 的运动估计单元(MEU)IlO的框图。从图6可以看出,在一些实施例中,MEU 110可以包括 延迟单元(DU)704,DU 704可以耦接以接收视频信号(例如信号I)并提取与当前帧(例 如当前帧504)在空间上对齐的一个或多个帧(例如参考帧502)。MEU 110可以包括自适 应运动估计搜索单元(AMSU) 702,AMSU 702可以耦接以接收(来自DU 704)当前帧504和 参考帧502。AMSU 702可以进一步配置为执行自适应搜索方案,以识别全搜索运动矢量和 块匹配误差(分别为607和609)、以及自适应搜索运动矢量和块匹配误差(分别为605和 611)。MEU 110还可以包括栅格结构检测单元(LSDU) 706,LSDU 706可以耦接以接收信 号(I),并可以配置为针对信号I中包括的一个或多个帧,生成基于块的栅格结构图(或栅 格周期图)712。如图7所示,AMSU 702可以接收来自LSDU 706的栅格结构图712。MEU 110还可以包括运动直方图生成器单元(MHGU) 708,MHGU 708可以耦接以接 收(来自LSDU 706)的栅格结构图712、以及(来自AMSU 702)的全搜索运动矢量607。MHGU 708可以配置为生成运动偏移参数714 (例如偏移值Oh和Ov)。如图7所示,MEU 110还可以包括运动矢量选择单元(MVSU) 710,MVSU 710可以耦 接以接收运动矢量(607和605)、块匹配误差(609和611)、以及栅格结构图712。MVSU 710 可以配置为选择可以表示最佳匹配块的最终运动矢量716。在初始化时或在场景改变时,AMSU 702可以接收当前帧504和参考帧502,AMSU 702可以执行全面穷尽搜索,以识别全搜索运动矢量607以及对应的块匹配误差609。同时, MHGU 708可以接收来自LSDU706的栅格结构图712,并可以相应地创建表示运动矢量607 的二维MVH 711。参照图10详细描述可由MHGU 708生成的MVH 711。在一些实施例中,到由AMSU 702处理当前帧504的最末块之时,MHGU 708中MVH 711已经收集整个当前帧504的运动信息(通过栅格结构图712归类)。MHCiU可以进一步 处理MVH 711,以针对栅格结构图712中的每一个可用周期,计算运动偏移参数714。AMSU 702也可以接收运动偏移参数714和栅格结构图712,并可以相应地配置自适应搜索区域 603的尺寸(例如m、η、Oh和Ov)。当块经历AMSU 702中的运动估计时,全搜索区域503可以针对全搜索区域503中 包括的所有运动位移,计算块匹配误差609和对应的运动矢量607,自适应搜索区域603可以针对自适应搜索区域603中包括的所有运动位移,计算块匹配误差611和对应的运动矢 量605。可以将运动矢量(607和605)以及块匹配误差(609和611)进一步发送给运动矢量 选择单元(MVSU) 710,MVSU 710可以根据栅格结构图712来比较块匹配误差(609和611), 并选择最终运动矢量716。参照图11详细描述根据本发明一些实施例的MVSU 710。在一些实施例中,通过交换帧(502和504),可以获得这两帧的后向和前向运动矢 量。图8示出了根据本发明一些实施例的AMSU 702的框图。从图8可以看出,AMSU 702可 以包括块匹配单元(BMU)802,BMU 802可以耦接以接收当前帧504和参考帧502。BMU 802 可以配置为,通过估算全搜索区域503中所有可能位移(dx,dy)814的一个或多个块匹配 误差准则(例如SAD),来生成块匹配误差820。AMSU 702还可以包括运动矢量扫描器单元 (MS⑶)804,MS⑶804可以生成位移814。在一些实施例中,MS⑶804可以光栅扫描方式来 生成位移814,开始于位置(-M/2,-N/2),结束于(M/2,N/2)。如图8所示,AMSU 702还可以包括全搜索估算单元(FSEU) 812和自适应搜索估算 单元(ASEU) 810,FSEU 812和ASEU 810可以耦接以接收位移814和块匹配误差820。在 一些实施例中,可以将块匹配误差820连同它们的对应位移一起,依次发送给FSEU 812和 ASEU810. FSEU 812可以配置为针对全搜索区域503,估算全局最小块匹配误差,并生成最 佳匹配运动矢量607以及对应的块匹配误差609。AMSU 702还可以包括搜索区域计算单元(SA⑶)806,SA⑶806可以耦接以接收栅 格结构图712和运动参数714,并可以配置为计算自适应搜索区域603的尺寸816 (例如m, η)。如图8所示,AMSU 702还可以包括比较器单元(CU)808,⑶808可以耦接以接收位移 814和尺寸816,并可以配置为在当前帧504的全搜索块匹配期间,比较位移814中每一个 位移(dx,dy),以识别位移(dx,dy)是否包括在自适应搜索区域603内。在一些实施例中, ⑶808可以通过二进制信号818,来指示位移(dx,dy)是否包括在自适应搜索区域603内。如图8所示,ASEU 810还可以接收信号818,并针对自适应搜索区域603中包括的 所有位移值(dx,dy),计算局部最小块匹配误差611以及对应的最佳匹配误差605。图9a示出了根据本发明一些实施例的LSDU 706的框图。如图9a所示,LSDU 706 可以包括采样窗单元(SWU) 902,SWU 902可以耦接以接收例如帧502等帧,并可以配置为对 帧502中的像素执行基于窗的采样,以获得像素采样912。在一些实施例中,SWU 902可以 包括归一化的一维采样窗,采样窗的大小可以取决于可以被检测的间距周期范围。在一些 实施例中,对于周期范围[2到N],可以使用至少为2N个像素的采样窗大小。在一些实施例 中,SWU 902可以通过计算(帧502)的所有像素采样912的平均值,并从每个像素采样中 减去平均值,来将帧502)的像素采样912归一化为零值平均。如图9a所示,LSDU 706还可以包括加权单元(WU) 904,WU 904可以耦接以接收像 素采样912,并可以配置为执行加权函数,以获得加权的像素采样914。WU 904可以执行的 加权函数可以更多地强调采样窗中心周围的像素采样,而更少地强调采样窗端部附近的采 样。在一些实施例中,WU 904可以对像素采样912执行海明窗调制(或加权),以获得加权 的采样914。在一些实施例中,使用海明窗可以提供从一个相邻块到下一相邻块的更加一致 的周期检测。LSDU 706还可以包括快速傅立叶变换单元(FFT)906,FFT 906可以耦接以接收加 权的采样914,并可以配置为执行傅立叶变换,以获得变换系数916。在一些实施例中,系数
12916可以只包括系数的幅度分量。如图9a所示,LSDU 706也可以包括峰值和周期计算单元(PPCU)908,PPCU 908可 以耦接以接收系数916,并可以配置为对系数916的幅度谱执行峰值检测方案,以检测最强 频率幅度峰值。PPCU 908还可以选择最佳峰值频率值,并可以将最佳峰值频率值转换为间 距周期图918。LSDU 706还可以包括滤波周期单元(FPU)910,FPU910可以耦接以接收间 距周期图918,并可以配置为通过对周期图918滤波,来生成栅格结构图(或栅格结构周期 图)712。通过对周期图918滤波,FPU 910可以进一步提高周期图918中检测到的周期的 一致性(平滑度),并消除孤立或错误检测。图9b示出了帧502中可以包括的示例性栅格结构502。带圈区域932示出了帧 502的指示了水平间距周期值(Th)的水平分量。栅格结构图712中可以包括例如水平间距 周期Th等间距周期的有关信息。在一些实施例中,可以不使用加窗频率变换,而使用例如加窗信号自相关等其他 方法,来逐块地检测栅格结构的周期值。在一些实施例中,也可以对输入帧的不同分辨率, 分级地检测栅格结构。分级检测方案的使用可以允许通过多个图像下采样级,来检测更宽 范围的间距周期。例如,如果以2对图像进行缩减,则周期看上去小了一倍,因此等效的周 期检测范围变得大了一倍。如前参照图7所示,MHGU 708可以生成可由AMSU 702使用的、可用于计算运动偏 移参数714的运动矢量直方图(MVH)711。图10示出了可由MHGU 708生成的示例性直方图 MVH 711。从图10可以看出,MVH 711可以包括例如示例性直方图条1004的直方图条。横 轴(MVh)可以表示所有可能的水平运动值,从[-N/2到N/2],纵轴(Th)可以表示所有可能检 测到的水平间距周期值[从2到N]。图10中的示例性直方图MVH指示了具有栅格结构的 帧,该栅格结构在一些像素块中包括检测到的间距周期4,并且在其他像素块中包括检测到 的间距周期5。此外,如图10所示,对于两个周期值4和5,出现最多的运动矢量是MVtl(分 别出现75次和90次)。如图10所示,对于间距周期4,MV0和MV+4正好以一个间距周期值 彼此分开,这指示了有可能在帧的特定块中错误地匹配了 MV+4。如前所述,MHGU 708可以分析MVH 711,以生成运动偏移值714。在一些实施例中, MHGU 708可以对MVH 711进行滤波,以针对栅格结构图712中的每一个周期,确定最优运 动。例如,参照图10所示的MVH 711,对于属于周期4或5的周期性栅格结构的块,可以将 自适应搜索区域603配置为,使得可以将水平偏移Oh设定为0,将宽度η设定为如上参照等 式⑶所述的值。在一些实施例中,可以对于每一个新的帧的输入,将所有直方图条(例如示例性 条1004)重置。如前所述,在一些实施例中,MHGU708可以为每一帧生成两个直方图,一个 针对水平运动矢量分量和水平周期,另一个针对垂直运动矢量分量和垂直周期。图11示出了根据本发明一些实施例的运动矢量选择单元(MVSU) 710的框图。如 图11所示,MVSU 710可以包括运动矢量比较单元(MV⑶)1102,MV⑶1102可以耦接以接收 全搜索和自适应搜索运动矢量(607和605)、以及栅格结构图712。MVCU 1102还可以配置 为针对每一个块,比较运动矢量(607和605)之间的绝对差。如果给定块的矢量(607和 605)之间的绝对差非零,并且是(来自栅格图712)的间距周期值的倍数,则在一些实施例中,MV⑶1102可以生成证实信号1110,该证实信号1110可以指示输入帧中当前块位置处 存在栅格结构。在一些实施例中,证实信号1110可以是二进制信号。MVSU 710还可以包括复用器1106,复用器1106可以耦接以接收证实信号1110, 并可以配置为在参数(1112和1114)之间进行选择。基于证实信号1110,复用器1106可 以发送包括因子和偏移值在内的惩罚参数1116。如图11所示,MVSU 710可以包括匹配误 差计算单元(ME⑶)1104,ME⑶1104可以耦接以接收匹配误差(609和611)、以及惩罚参数 1116。ME⑶1104还可以配置为生成选择信号1118。在一些实施例中,ME⑶1104可以使 用惩罚参数1116来惩罚对应的全搜索匹配误差609,而使对应的自适应搜索运动矢量605 对于选择而言是更有利的。例如,如果存在栅格结构,则可以经由证实信号1110来配置复 用器1106,来发送惩罚参数1116,该惩罚参数1116允许ME⑶1104使自适应搜索运动矢量 605更可能被选择(经由选择信号1118和复用器1108),这是因为向全搜索匹配误差609 施加了较大惩罚。在不存在周期性栅格结构的情况下,在块匹配误差(609和611)相似时, 可以经由证实信号1110来配置复用器1106,来生成惩罚因子1116,使得ME⑶1104可以向 全搜索匹配误差609施加较小惩罚,以便可以(经由选择信号1118和复用器1108)选择自 适应搜索矢量605。在一些实施例中,由于全搜索匹配误差609的全局最小性,所以未受惩 罚的全搜索匹配误差609可以小于或等于自适应搜索匹配误差611。在一些实施例中,选择信号1118可以是二进制信号。基于选择信号1118,复用器 1108可以在全搜索和自适应搜索运动矢量(607和605)之间选择最终运动矢量716。考虑本文公开的说明书和实施,其他实施例低于本领域技术人员是显而易见的。 说明书和示例应该仅被视为是示例性的,本发明的真正范围和精神由所附权利要求限定。
权利要求
一种用于估计第一帧中像素块的运动的方法,包括搜索第二帧中的第一区域,以识别与所述像素块对应的第一匹配块,第一匹配块包括第一误差值,第一误差值是所述像素块与第一匹配块之间的至少一个误差准则的最小值;计算与第一匹配块关联的第一运动矢量;搜索第二帧中的第二区域,以识别与所述像素块对应的第二匹配块,第二匹配块包括第二误差值,第二误差值是所述像素块与第二匹配块之间的所述至少一个误差准则的最小值;计算与第二匹配块关联的第二运动矢量;以及根据第一和第二误差值,在第一和第二运动矢量之间选择最终运动矢量。
2.根据权利要求1所述的方法,其中搜索第一区域以识别第一匹配块进一步包括 将第一区域作为由多个第一像素块跨越的区域来提供;搜索所述多个第一像素块中的每一个,以识别第一匹配块,第一匹配块包括第一误差 值,第一误差值是所述像素块与第一匹配块之间的所述至少一个误差准则的最小值;以及 计算与第一匹配块关联的第一运动矢量。
3.根据权利要求1所述的方法,其中搜索第二区域以识别第二匹配块进一步包括检测第一帧的第一栅格结构图,所述栅格结构图包括与第一帧中至少一个重复结构关 联的至少一个间距周期值;为第一帧生成第一直方图,第一直方图是从第一和第二运动矢量以及第一栅格结构图 中导出的,第一直方图包括第一和第二运动矢量与所述至少一个间距周期值之间的关系; 从第一栅格结构图和第一运动矢量直方图中导出至少一个参数; 将第二区域作为由多个第二像素块跨越的区域来提供,第二区域被包括为第一区域的 子集,第二区域还包括从所述至少一个参数中导出的至少一个尺寸;搜索所述多个第二像素块中的每一个,以识别第二匹配块,第二匹配块包括第二误差 值,第二误差值是所述像素块与第二匹配块之间的所述至少一个误差准则的最小值;以及 计算与第二匹配块关联的第二运动矢量。
4.根据权利要求1所述的方法,其中在第一和第二运动矢量之间选择最终运动矢量进 一步包括根据第一栅格结构图中包括的所述至少一个间距周期值,计算第一惩罚值,第一惩罚 值调整第一误差值和/或第二误差值;根据调整后的第一和第二误差值,在第一和第二运动矢量之间选择最终运动矢量。
5.一种用于估计第一帧中像素块的运动的装置,包括自适应运动搜索单元(AMSU),被耦接以搜索第二帧,计算与对应于所述像素块的第一 匹配块关联的第一运动矢量,第一匹配块包括第一误差值,第一误差值是所述像素块与第 一匹配块之间的至少一个误差准则的最小值;自适应运动搜索单元还计算与对应于所述像 素块的第二匹配块关联的第二运动矢量,第二匹配块包括第二误差值,第二误差值是所述 像素块与第二匹配块之间的所述至少一个误差准则的最小值;栅格结构检测单元(LSDU),被耦接以检测第一帧的第一栅格结构图,所述栅格结构图 包括与第一帧中至少一个重复结构关联的至少一个间距周期值;运动直方图生成单元(MHGU),被耦接以为第一帧生成第一直方图,第一直方图是从第一运动矢量以及第一栅格结构图中导出的,第一直方图包括第一运动矢量与所述至少一个 间距周期值之间的关系;以及运动矢量选择单元(MVSU),被耦接以根据第一和第二误差值,在第一和第二运动矢量 之间选择最终运动矢量。
全文摘要
用于估计第一帧中像素块的运动的方法和装置,该方法包括搜索第二帧中的第一区域,以识别与所述像素块对应的第一匹配块,第一匹配块包括第一误差值,第一误差值是所述像素块与第一匹配块之间的至少一个误差准则的最小值;计算与第一匹配块关联的第一运动矢量。该方法还包括搜索第二帧中的第二区域,以识别与所述像素块对应的第二匹配块,第二匹配块包括第二误差值,第二误差值是所述像素块与第二匹配块之间的所述至少一个误差准则的最小值;计算与第二匹配块关联的第二运动矢量;以及根据第一和第二误差值,在第一和第二运动矢量之间选择最终运动矢量。
文档编号H04N7/26GK101946514SQ200880126856
公开日2011年1月12日 申请日期2008年12月18日 优先权日2007年12月20日
发明者乔塔姆·勒丁, 弗朗索瓦·罗西尼奥尔, 斯瑟哈·特兰 申请人:集成装置技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1