首页 / 专利库 / 电脑图像 / 运动矢量 / 使用自适应搜索范围的真实运动矢量估计

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

阅读:1发布:2022-11-26

专利汇可以提供使用自适应搜索范围的真实运动矢量估计专利检索,专利查询,专利分析的服务。并且用于估计第一 帧 中 像素 块 的运动的方法和装置,该方法包括:搜索第二帧中的第一区域,以识别与所述像素块对应的第一匹配块,第一匹配块包括第一误差值,第一误差值是所述像素块与第一匹配块之间的至少一个误差准则的最小值;计算与第一匹配块关联的第一 运动矢量 。该方法还包括:搜索第二帧中的第二区域,以识别与所述像素块对应的第二匹配块,第二匹配块包括第二误差值,第二误差值是所述像素块与第二匹配块之间的所述至少一个误差准则的最小值;计算与第二匹配块关联的第二运动矢量;以及根据第一和第二误差值,在第一和第二运动矢量之间选择最终运动矢量。,下面是使用自适应搜索范围的真实运动矢量估计专利的具体信息内容。

1.一种用于估计第一像素的运动的方法,包括:
搜索第二帧中的第一区域,以识别与所述像素块对应的第一匹配块,第一匹配块包括第一误差值,第一误差值是所述像素块与第一匹配块之间的至少一个误差准则的最小值,所述第一区域具有包括(M+1)×(N+1)个像素的尺寸;
计算与第一匹配块关联的第一运动矢量
搜索第二帧中的第二区域,以识别与所述像素块对应的第二匹配块,第二匹配块包括第二误差值,第二误差值是所述像素块与第二匹配块之间的所述至少一个误差准则的最小值,所述第二区域具有包括(m+1)×(n+1)个像素的尺寸,其中m小于M,n小于N,且M、N、m和n是偶数;
计算与第二匹配块关联的第二运动矢量;以及
根据第一和第二误差值,在第一和第二运动矢量之间选择最终运动矢量。
2.根据权利要求1所述的方法,其中搜索第一区域以识别第一匹配块进一步包括:
将第一区域作为由多个第一像素块跨越的区域来提供;
搜索所述多个第一像素块中的每一个,以识别第一匹配块,第一匹配块包括第一误差值,第一误差值是所述像素块与第一匹配块之间的所述至少一个误差准则的最小值;以及计算与第一匹配块关联的第一运动矢量。
3.根据权利要求1所述的方法,其中搜索第二区域以识别第二匹配块进一步包括:
生成第一帧的第一栅格结构图,所述栅格结构图包括与第一帧中至少一个重复结构关联的至少一个间距周期值;
为第一帧生成第一直方图,第一直方图是从在搜索所述第二帧中的第一区域的过程中产生的一组运动矢量以及第一栅格结构图中导出的,第一直方图包括第一和第二运动矢量与所述至少一个间距周期值之间的关系;
从第一栅格结构图和第一直方图中导出至少一个参数;
将第二区域作为由多个第二像素块跨越的区域来提供,第二区域被包括为第一区域的子集,第二区域还包括从所述至少一个参数中导出的至少一个尺寸;
搜索所述多个第二像素块中的每一个,以识别第二匹配块,第二匹配块包括第二误差值,第二误差值是所述像素块与第二匹配块之间的所述至少一个误差准则的最小值;以及计算与第二匹配块关联的第二运动矢量。
4.根据权利要求1所述的方法,其中在第一和第二运动矢量之间选择最终运动矢量进一步包括:
根据第一栅格结构图中包括的至少一个间距周期值,计算第一惩罚值,第一惩罚值调整第一误差值和/或第二误差值;
根据调整后的第一和第二误差值,在第一和第二运动矢量之间选择最终运动矢量。
5.一种用于估计第一帧中像素块的运动的装置,包括:
自适应运动搜索单元AMSU,被耦接以搜索第二帧的具有包括(M+1)×(N+1)个像素的尺寸的第一区域,计算与对应于所述像素块的第一匹配块关联的第一运动矢量,第一匹配块包括第一误差值,第一误差值是所述像素块与第一匹配块之间的至少一个误差准则的最小值;自适应运动搜索单元还计算与对应于所述像素块的第二匹配块关联的第二运动矢量,第二匹配块包括第二误差值,第二误差值是所述像素块与第二匹配块之间的所述至少一个误差准则的最小值,在所述第二帧的第二区域内找到所述第二匹配块,所述第二区域具有包括(m+1)×(n+1)个像素的尺寸,其中m小于M,n小于N,且M、N、m和n是偶数;
栅格结构检测单元LSDU,被耦接以检测第一帧的第一栅格结构图,所述栅格结构图包括与第一帧中至少一个重复结构关联的至少一个间距周期值;
运动直方图生成单元MHGU,被耦接以为第一帧生成第一直方图,第一直方图是从第一运动矢量以及第一栅格结构图中导出的,第一直方图包括第一运动矢量与所述至少一个间距周期值之间的关系;以及
运动矢量选择单元MVSU,被耦接以根据第一和第二误差值,在第一和第二运动矢量之间选择最终运动矢量。

说明书全文

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

[0001] 相关申请
[0002] 本申请要求2007年12月20日提交的美国临时申请No.61/015,226的权益,其全部内容合并在此作为参考。

技术领域

[0003] 本发明总体上涉及视频和图像编码领域,具体涉及用于运动估计和补偿的方法和系统。

背景技术

[0004] 数字传输网络、数字存储介质、超大规模集成器件以及视频和音频信号的数字处理的技术发展汇聚起来,使得多种类型的应用中的数字视频的传输和存储比较经济。因为数字视频信号的存储和传输对于许多应用而言占据中心位置,所以数字视频编码技术的使用变得很普遍。
[0005] 视觉信息在几乎所有生活领域扮演了重要色。由于大量数据与图像和视频关联,所以视频编码是关键技术。运动估计和补偿在多种视频编码方案中起着关键作用。运动估计可以用在多种视频应用中,例如压缩、降噪、扫描转换、以及针对速率转换的图像插值。
[0006] 然而,相对于移动通信和互联网的非常快的发展速度,当前运动估计和补偿方案还无法赶上不断增长的应用需求,例如在互联网或移动视频电话上的视频流传输。
[0007] 因此,需要视频编码和补偿方案中更高效的运动估计和补偿。

发明内容

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

附图说明

[0012] 图1示出了根据本发明一些实施例的视频编码系统的框图
[0013] 图2a和2b示出了根据本发明一些实施例的示例性视频帧
[0014] 图3示出了根据本发明一些实施例的示例性运动视频。
[0015] 图4a和4b示出了根据本发明一些实施例的另一示例性视频帧。
[0016] 图5是根据本发明一些实施例的运动估计方法的示意图。
[0017] 图6是根据本发明一些实施例的另一运动估计方法的示意图。
[0018] 图7示出了根据本发明一些实施例的运动估计装置的高级框图。
[0019] 图8示出了根据本发明一些实施例的另一运动估计装置的高级框图。
[0020] 图9a示出了根据本发明一些实施例的另一运动估计装置的框图。
[0021] 图9b是根据本发明一些实施例的栅格结构的示意图。
[0022] 图10是根据本发明一些实施例的运动矢量直方图的示意图。
[0023] 图11示出了根据本发明一些实施例的运动估计装置的框图。

具体实施方式

[0024] 下面具体参照本发明的实施例,附图示出了本发明实施例的示例。如果可能,附图中使用相同的附图标记来指示相同或类似部分。
[0025] 在以下描述和权利要求中,可以使用术语“耦接”和“连接”以及它们的衍生词。应该理解,这些术语不是要作为彼此的同义词,而是在具体实施例中,“连接”和/或“耦接”可以用于指示两个或更多元件彼此直接物理接触电子接触。然而,“耦接”也可以表示两个或更多元件不是彼此直接接触,但是依然彼此协作、通信和/或交互。
[0026] 图1示出了根据本发明一些实施例的视频编码系统100的高级功能框图。应该理解,以下描述和权利要求中论述的多种功能单元实际中可以是单独地或以任何组合方式,以硬件、以在一个或多个硬件组件(例如一个或多个处理器、一个或多个专用集成电路(ASIC)或其他此类组件)上执行的软件或者以两者的任何组合,来实现的。
[0027] 如图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)111的一部分,MCIIU 111可以被包括在示例性解码器106等解码器中。MCIIU 111可以配置为执行图像插值,该图像插值可以恢复(重建)视频的丢失帧。参照图7具体描述根据本发明一些实施例的运动估计单元的细节。
[0028] 自然视觉场景可以在空间上和时间上连续。典型地,可以通过在空间上(通常在图像平面上的矩形网格上)和时间上(作为以规则时间间隔采样的静止图像(帧)序列)对真实场景采样,来以数字形式表示视觉场景。如图1所示,来自摄像机102的信号I可以将视觉场景表示为一个或多个静止图像(帧)(I1,I2,......,In-1,In)。
[0029] 图2a示出了来自示例性自然场景的示例性静止图像200,可以从例如摄像机102等捕获装置捕获该示例性自然场景。图像200描绘了在公路204上行驶的车辆202,背景中有山(212,214和216)和树(206,208和210)。通过将图像200采样到图2b所示P×Q大小的矩形网格R上,图像200可以表示成数字形式。矩形网格R上的每个点R(p,q)(0≤p≤P-1,0≤q≤Q-1)可以对应于图像元素(像素)。每个像素可以由能够描述亮度(光强)和/或颜色的数或数的集合来表示。在数字应用中,像素也可以表示为一个或多个二进制值,每个帧可以表示为对应像素值的阵列(或矩阵)。应该理解,根据应用的类型,帧中像素的数目(P×Q)可以变化。因此,根据本发明,本发明公开在帧中可以包括的像素数目方面不受限。
[0030] 典型地,可以通过将图像200的2D投影聚焦到传感器(例如电荷耦合器件阵列(CCD阵列))上,由捕获装置(例如摄像机102)获得作为二维采样图像的静止图像,例如示例性图像200。然后,可以从CCD阵列的输出中导出像素阵列(像素值阵列)。在一些情况下,对于彩色图像,可以将CCD阵列的输出滤波为一个或多个颜色分量,每个颜色分量可以具有对应的像素阵列。例如,RGB(红色、绿色和蓝色)颜色模型的彩色图像可以包括针对每个颜色分量的一个或多个像素阵列。
[0031] 如前所述,自然场景可以表示为帧序列,例如(I1,I2,......,In-1,In)。这些帧可以被采样为完整帧(逐行扫描帧)序列和/或隔行扫描帧序列。应该理解,本发明公开的实施例在使用的帧类型(逐行扫描或隔行扫描)方面不受制约或限制。
[0032] 图3示出了在公路204上行驶的车辆202(图1a和1b中示出)的示例性运动视频300。视频300可以通过具有周期性时间间隔的帧(例如示例性帧302、304、306和308)的序列来捕获。回放帧序列可以生成运动中的车辆202的外观。为方便起见,图3示出了视频300包括4个帧(302、304、306和308)。然而,应该理解,实际中在例如示例性视频300等给定视频中可以包括任何数目(n)的帧。因此,在根据本发明的系统可以包括并支持的帧数目方面,本发明公开不受限制。
[0033] 视频300的每个帧可以类似于参照图2a和2b描述的方式那样,表示为数字形式。因此,视频300中的每个帧可以由多个比特表示。典型地,帧速率(每单位时间捕获的帧的数目)越高,运动越平滑,视频300的总体质量越好。然而,增大帧速率也会增大表示例如视频300等视频图像所需的比特的数目。
[0034] 因为大多数视频应用的存储大小和带宽可用性有限,所以可以由编码器单元(例如示例性编码器单元104)实现多种编码(和/或压缩)方案,以达到表示给定视频所需的比特数目(或比特率)与视频质量之间平衡。
[0035] 典型地,大多数视频编码方案可以在时间上和空间上利用场景中存在的冗余信息,来实现压缩。在时域中,在时间上相邻的帧之间,即,在按照时间顺序的连续帧之间,会存在高相关度(相似度),尤其是在高帧速率情况下。在空域中,彼此接近的像素之间,即,相邻像素之间,会存在高相关度。从图3可以看出,在帧302、304、306和308中,与例如山(212,214和216)、树(206,208和210)和公路204等背景区域关联的像素在所有帧(302、304、306和308)中都是恒定的(冗余的)。因此,可以通过消除对所有帧中每个帧中的冗余信息进行表示的需要,来实现对表示视频300所需的全部比特数目的节省。
[0036] 但是,逐像素地处理帧在计算上复杂度较高。在一些情况下,为了降低计算复杂度并进一步提供压缩率,可以将帧细分成多个区域(具体地,块),并逐块地处理。典型地,区域(块)可以包括多个相邻像素,大小可以变化。依赖于应用类型,在一些情况下,块可以彼此交叠。
[0037] 图4a描绘了划分成5×5固定大小的块(例如,示例性像素块402)的示例性帧302,每个块包括16×16个像素。为方便起见,图4a示出了帧302包括5×5个像素块。但是,应该理解,实际中,所给的帧可以包括任何数目(U×V)的像素块(U<P,V<Q),每个像素块可以包括任何数目的像素。因此,在根据本发明的帧中可以包括的像素块的数目和/或大小方面,本发明不受限制。
[0038] 在一些情况下,为了进一步提高视频质量,可以将帧划分成大小可变的块。图4b描绘了示例性帧302划分成大小可变的块(例如示例性像素块402、404和406)。为方便起见,图4b示出了帧302包括块大小不同的像素块402、404和406。但是,应该理解,实际中,所给的帧可以包括任何数目(U×V)的像素块,每个像素块可以进一步划分成任何数目(u×v)的像素块(u<U,v<V)。因此,在根据本发明的帧中可以包括的像素块的数目和/或大小方面,本发明不受限制。
[0039] 典型地,视频帧之间的改变可以由如下引起:对象运动(例如,运动的车辆)、摄像机运动(例如,摇镜头,倾斜,变焦,旋转等)、露出的区域(例如,被运动的对象覆盖的场景背景的一部分)、以及光照变化。除了光照变化,典型地,运动可以涉及帧之间的像素运动。因此,通过预测连续帧之间每个像素的轨迹(运动估计),可以通过将参考帧(先前或在后帧)中的每个像素(按照该像素关联的轨迹)移动,来准确地重建当前帧(运动补偿)。因为一个或多个帧可以通过单个参考帧表示,因此可以减少表示整个视频图像所需的比特的数目。
[0040] 然而,如上所述,逐像素地处理帧在计算上复杂度较高。为了降低计算复杂度,在一些实施例中,可以由运动估计单元(MEU)110逐块地实施多种运动估计方案。
[0041] 如上参照图4a和4b所述,例如示例性帧302等给定帧可以划分成一个或多个大小固定和/或大小可变的像素块。在基于块的运动估计中,将当前块与参考帧中相同大小的另一移位块相比较。当前块与移位参考块之间的最佳匹配得到一个或多个运动矢量(MV),这些MV能够描述两个块之间的最优位移或运动。在一些实施例中,运动矢量可以是二维的,因而包括平和垂直分量。因此,通过识别已发生位移(运动)的块,并由参考帧中所有对应位移块各自的运动矢量来对各个位移块进行补偿,可以通过参考帧来表示当前帧。
[0042] 例如,在示例性视频300中,可以通过如下方式来由参考帧(例如,帧302)表示帧304:在帧304中识别已发生运动的块,计算与发生位移的块关联的对应运动矢量,并用对应的运动矢量补偿帧302中的位移块。因为,不需要存储与帧304关联的所有像素值,而只需要存储与帧304中的位移块关联的MV、以及帧302与304之间的任何差异(例如,由于车辆202的运动而露出的区域)。
[0043] 在一些实施例中,MEU 110可以执行块匹配方案,来估计参考帧和一个或多个当前帧中块之间的运动。在一个实施例中,MEU 110可以配置为针对当前块中包括的所有像素,使用误差准则(例如,绝对差和(SAD)、平方差和(SSD)、绝对变换差和(SATD)或其他此类误差准则),以找到参考帧中的对应“最佳匹配”块。典型地,由于SAD度量或成本函数的计算简单,所以SAD最常用。
[0044] 在一些实施例中,MEU 110可以执行全面穷尽搜索,为搜索区域(或范围)内的所有可能的运动矢量,找到全局最小块匹配误差(例如最小SAD值)。具有最小匹配误差的运动矢量可以表示大多数像素的最佳运动估计,关联的块可以被选定为最佳匹配块。
[0045] 图5是根据本发明一些实施例,MEU 110可以执行的全面穷尽搜索块匹配方案的示例图。图5示出了参考帧502和当前帧504。帧502和504可以类似于参照图3描述的帧。当前帧504可以包括示例性的当前块506,该块506可以类似于参照图4a和4b描述的像素块。如图5所示,属于块506的图像细节的位置可以从帧502到504发生变化。
[0046] 如图5所示,可以在参考帧502中使用全搜索区域503来执行块匹配过程,以识别与当前块506关联的一个或多个最佳匹配块(以及对应的运动矢量)。在参考帧502中,通过零位移块507,示出了块506(帧504)的空间对齐位置。
[0047] 全搜索区域503的大小可以取决于图像分辨率(格式)、帧速率和应用类型。在一些实施例中,全搜索区域503可以具有包括(M+1×N+1)个像素的矩形尺寸,水平范围是[-M/2到+M/2]个像素,垂直范围是[-N/2到+N/2]个像素,其中M和N是偶数,(M+1≤P,且N+1≤Q)。在一些实施例中,全搜索区域503的尺寸可以与图像格式成比例,以确保可以在不同图像格式中运动矢量之间类似地表示速度。速度可以定义为帧中的对象从一个边界通过该帧到另一边界所需的时间量。例如,对HDTV 1080p图像序列使用的搜索区域的大小可以是对HDTV 720p图像序列使用的搜索区域大小的225%,以获得类似的运动矢量。在一些实施例中,在帧502中,全搜索区域503可以围绕在零位移块507的周围。
[0048] 在一些实施例中,可以将参考帧502中尺寸与当前块506相同的移位搜索块(示出了两次,块508和510)以单位像素递增的方式,在全搜索区域503中进行位移,以计算可以与(块506的)所有可能位移关联的块匹配误差。可以将对应于全局最小块匹配误差的位移标识为最佳匹配块。例如,在图5中,对于参考帧502中的块506,可以将块508示为“最佳匹配”候选,将块510示为备选“最佳匹配”候选。如图5所示,可以分别向块508和510分配运动矢量MV1和MV2。为方便起见,图5示出了全搜索区域503只包括两个块(508和510)以及对应的运动矢量(MV1和MV2),作为当前块506的最佳匹配候选。然而,应该理解,实际中,全搜索区域中可以包括任何数目的最佳匹配候选(MV和/或块)。因此,在根据本发明的搜索区中可以包括的MV的数目方面,本发明不受限制。
[0049] 如图5所示,MEU 110可以通过执行全面穷尽搜索来识别参考帧502中的最佳匹配块508和510。然而,随着给定帧内块的数目增多,全面穷尽搜索方案的计算复杂度较高。此外,全面穷尽搜索方案可能产生多个最佳匹配块,如图5所示。运动补偿和/或图像插值时最佳匹配块的错误失配会产生可注意到的伪像。存在多种类型的图像特征,对于这些图像特征,可能发生错误失配。例如,在直线特征的情况下,可以从全面搜索得到与该特征平行的任何长度的运动矢量。可以随机选择所得到的与该直线特征关联的运动矢量中的任何运动矢量,当在该特征附近插值其他像素时,会导致错误。
[0050] 例如,在图5中,假设帧502中的MV2(与块510关联)是真正的与当前块506关联的运动矢量。因为匹配块508和510可能都具有相似的低匹配误差值,所以MEU 110有可能错误地将块508选定为块506的最佳匹配。这种块的错误失配会造成视频质量劣化。
[0051] 因为运动矢量可以用于图像插值,所以对图像序列中对象和细节的真实运动的准确表示可以确保将图像对象和细节在它们的适当插值空间位置处进行位移,由此可以避免插值图像中出现伪像。
[0052] 因为图像可以包括多种重复结构,也称为栅格结构或周期性结构,所以对这些栅格结构的识别可以有助于改进真实运动的表示。在一些实施例中,MEU 110可以执行栅格结构检测方案,这可以生成一个或多个栅格结构图(或栅格结构周期图),这可以标识图像中的多种栅格结构。栅格结构周期图可以包括:水平间距周期值,其对水平运动矢量分量进行归类;以及垂直间距周期值,其对垂直运动矢量分量进行归类。间距周期可以定义为栅格结构的最小重复单元。
[0053] 参照图9a和9b详细描述MEU 110可以执行的栅格结构检测方案。
[0054] 栅格结构可以明显地存在于对象中,例如建筑物、窗、烤架、栅栏和文本等中。在穷尽全搜索方法(如图5所示)中,MEU 110可以识别全搜索区域(例如搜索区域503)内具有相似的低块匹配误差的多个最佳匹配运动矢量(如图5所示)。例如,如果栅格结构具有10像素的水平间距周期(栅格结构的最小重复单元)以及+3像素的真实水平运动,则MEU 110可以得到-7像素(3-10)或+13像素(3+10)的水平运动,作为可能的最佳匹配候选。虽然可以有一个局部最小匹配误差与真实运动矢量对应,但是在一些情况下,由于场景光照的改变、摄像机摇镜头或其他此类固有光效应等效应,有可能全局最小匹配误差会与识别出的最佳匹配候选中的一个或多个关联。通过减少搜索区域(例如全搜索区域503)的大小,也可以减少局部最小值的数目,使得全局最小值与真实运动矢量关联的可能性更大。然而,如果全搜索区域503较小,则只能适当地估计有限范围的对象位移,这可能使整体运动估计受损。因此,为了防止错误的块匹配,而不损害运动估计,在一些实施例中,MEU 110可以执行自适应搜索方案,来找到最佳匹配块(以及运动矢量)。
[0055] 图6是根据本发明一些实施例的由MEU 110可以执行的自适应搜索方案的示意图。图6描绘了参考帧502和当前帧504。以与参照图5描述的方式类似的方式,块506的位置从帧502到504会发生变化。
[0056] 如图6所示,除了全搜索区域503,还可以在参考帧502中使用自适应搜索区域603,来执行块匹配过程,以识别与当前块506关联的一个或多个最佳匹配块(并估计运动矢量)。在一些实施例中,全搜索区域503和自适应搜索区域603可以围绕在零位移块507周围。
[0057] 在一些实施例中,如全搜索块匹配可以在全搜索区域503中进行一样,可以针对被包括(落入)在自适应搜索区域603中的所有位移,收集块匹配误差的子集。可以比较(在区域503和603中计算的)块匹配误差,以找到对应于最佳匹配块位置的局部最小误差。例如,图6示出了块510(包括在自适应搜索区域603中)作为最佳匹配块,具有运动矢量605作为对应的运动矢量。如上所述,全搜索区域503和自适应搜索区域603可以包括多个最佳匹配块及对应的运动矢量。为方便起见,以下描述将全搜索区域503中包括的所有最佳匹配MV和对应的块匹配误差分别统称为最佳匹配矢量607和块匹配误差609。类似地,以下描述将全自适应搜索区域5603中包括的所有最佳匹配MV和对应的块匹配误差分别统称为最佳匹配矢量605和块匹配误差611。
[0058] 在一些实施例中,全搜索区域503的尺寸可以是固定的,是矩形(类似于图5所示的),而自适应搜索区域603可以具有可变的尺寸,并且可以(从零位移块507的中心)偏移预期运动值。
[0059] 在一些实施例中,自适应搜索区域603可以具有矩形尺寸,可以包括(m+1×n+1)个像素,水平范围是[-m/2到+m/2]个像素,垂直范围是[-n/2到+n/2]个像素,其中m和Nn是偶数,(m<M,且n<N)。在一些实施例中,自适应搜索区域603可以包括(Oh,Ov)像素的运动偏移值偏移,其中Oh和Ov是自适应搜索区域603的中心从全搜索区域503的中心的水平轴和垂直轴偏移。在一些实施例中,可以根据栅格结构图和运动矢量直方图(MVH),获得m、n、Oh和Ov。
[0060] MVH可以是二维直方图阵列,MVH可以在其横轴上表示所有可能的水平运动值(MVh)[从-N/2到N/2],在其纵轴上表示所有可能的水平间距周期值(Th)[从2到N]。在一些情况下,从每个直方图条(histogram bin)可以与图像像素类似这一方面来看,MVH可以类似于小图像。在一些实施例中,可以针对每个帧生成两个直方图,一个针对水平运动矢量分量和水平周期,另一个针对垂直运动矢量分量和垂直周期。参照图10详细描述MEU 110可以使用的MVH。
[0061] 典型地,在栅格结构中,两个较好候选矢量分量之间的距离可能是间距周期值的倍数。等式(1)示出了在具有间距周期值(T)的栅格结构上,真实运动矢量(MVT)与任意选定的运动矢量(MVS)之间的关系。
[0062] MVTh=MVSh+k*Th (1)
[0063] 其中(·h)表示运动矢量的水平分量和间距周期,k是带符号的整数变量,可以指示选定的运动矢量从真实运动矢量偏移的周期的数目。在理想情况下,k=0.[0064] 从等式(1)可以得到,当m小于垂直间距周期值(Tv),且n小于水平间距周期值(Th)时,可以将自适应搜索区域603中的局部最小值的数目限制到1。在一些实施例中,可以根据等式(2)和(3)来设定自适应搜索区域603的尺寸(例如m、n、Oh和Ov)。
[0065] m=Tv-1 (2)
[0066] n=Th-1 (3)
[0067] 从等式(2)和(3)可以看出,可以将Th和Tv都假设为大于或等于2。如果Tv=0,则检测不到垂直栅格结构,并且可以将m设定为相对于M的常数值,偏移Ov=0。如果Th=0,则检测不到水平栅格结构,并且可以将n设定为相对于N的常数值,偏移Oh=0。
[0068] 在一些实施例中,当存在高/快运动(位移)时,可以剪切自适应搜索区域603。在一些实施例中,为了确保不需要针对块匹配误差计算的额外计算,自适应搜索区域603可以是全搜索区域503的包含子集(inclusive subset),可以不考虑所有不包含区域(exclusive area)中的块匹配。例如,偏移(Oh=N/2),自适应搜索区域603的中心在全搜索区域503的右边界处,由此,只考虑自适应搜索区域603的左半部分。
[0069] 在一些实施例中,搜索区域503和603的大小可以取决于图像分辨率。例如,针对高清HD-1080的搜索区域503和603的大小可以比针对HD-720的搜索区域的大小大,并且还比针对HD-480的搜索区域的大小大。在一些实施例中,针对SD-720的搜索区域503和603的大小可以是针对SD-480的搜索区域的大小的两倍,针对HD-1080的搜索区域503和
603的大小可以是针对SD-480的搜索区域的大小的三倍。
[0070] 为方便起见,图6示出了帧502包括两个搜索区域(全搜索区域503和自适应搜索区域603)。然而,应该理解,实际中给定帧可以包括任何数目的搜索区域。因此,在根据本发明的帧可以包括的搜索区域的数目方面,本发明不受限制。
[0071] 为方便起见,图6示出了全搜索区域503和自适应搜索区域603各自识别出一个最佳匹配块。然而,应该理解,实际中搜索区域可以识别出任何数目的最佳匹配块,或者没有识别出任何最佳匹配块。因此,在根据本发明的在搜索区域中可以包括的最佳匹配块的数目方面,本发明不受限制。
[0072] 如前所述,“最佳匹配”块可以选择为使例如SAD、SSD、SATD等特定块匹配误差或其他此类匹配误差最小的块。在一些实施例中,MEU 110可以配置为能够满足(落入)一个或多个误差范围的最佳匹配块。在一些实施例中,可以在外部编程和/或向MEU 110通信用于选择最佳匹配块的误差范围。
[0073] 图7示出了根据本发明一些实施例的视频编码系统(例如系统100)中可以包括的运动估计单元(MEU)110的框图。从图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)。
[0074] MEU 110还可以包括栅格结构检测单元(LSDU)706,LSDU 706可以耦接以接收信号(I),并可以配置为针对信号I中包括的一个或多个帧,生成基于块的栅格结构图(或栅格周期图)712。如图7所示,AMSU 702可以接收来自LSDU 706的栅格结构图712。
[0075] MEU 110还可以包括运动直方图生成器单元(MHGU)708,MHGU 708可以耦接以接收(来自LSDU 706)的栅格结构图712、以及(来自AMSU 702)的全搜索运动矢量607。MHGU708可以配置为生成运动偏移参数714(例如偏移值Oh和Ov)。
[0076] 如图7所示,MEU 110还可以包括运动矢量选择单元(MVSU)710,MVSU 710可以耦接以接收运动矢量(607和605)、块匹配误差(609和611)、以及栅格结构图712。MVSU 710可以配置为选择可以表示最佳匹配块的最终运动矢量716。
[0077] 在初始化时或在场景改变时,AMSU 702可以接收当前帧504和参考帧502,AMSU702可以执行全面穷尽搜索,以识别全搜索运动矢量607以及对应的块匹配误差609。同时,MHGU 708可以接收来自LSDU706的栅格结构图712,并可以相应地创建表示运动矢量607的二维MVH 711。参照图10详细描述可由MHGU 708生成的MVH 711。
[0078] 在一些实施例中,到由AMSU 702处理当前帧504的最末块之时,MHGU 708中MVH711已经收集整个当前帧504的运动信息(通过栅格结构图712归类)。MHGU可以进一步处理MVH 711,以针对栅格结构图712中的每一个可用周期,计算运动偏移参数714。AMSU
702也可以接收运动偏移参数714和栅格结构图712,并可以相应地配置自适应搜索区域
603的尺寸(例如m、n、Oh和Ov)。
[0079] 当块经历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。
[0080] 在一些实施例中,通过交换帧(502和504),可以获得这两帧的后向和前向运动矢量。图8示出了根据本发明一些实施例的AMSU 702的框图。从图8可以看出,AMSU 702可以包括块匹配单元(BMU)802,BMU 802可以耦接以接收当前帧504和参考帧502。BMU 802可以配置为,通过估算全搜索区域503中所有可能位移(dx,dy)814的一个或多个块匹配误差准则(例如SAD),来生成块匹配误差820。AMSU 702还可以包括运动矢量扫描器单元(MSCU)804,MSCU 804可以生成位移814。在一些实施例中,MSCU 804可以光栅扫描方式来生成位移814,开始于位置(-M/2,-N/2),结束于(M/2,N/2)。
[0081] 如图8所示,AMSU 702还可以包括全搜索估算单元(FSEU)812和自适应搜索估算单元(ASEU)810,FSEU 812和ASEU 810可以耦接以接收位移814和块匹配误差820。在一些实施例中,可以将块匹配误差820连同它们的对应位移一起,依次发送给FSEU 812和ASEU810。FSEU 812可以配置为针对全搜索区域503,估算全局最小块匹配误差,并生成最佳匹配运动矢量607以及对应的块匹配误差609。
[0082] AMSU 702还可以包括搜索区域计算单元(SACU)806,SACU 806可以耦接以接收栅格结构图712和运动参数714,并可以配置为计算自适应搜索区域603的尺寸816(例如m,n)。如图8所示,AMSU 702还可以包括比较器单元(CU)808,CU 808可以耦接以接收位移814和尺寸816,并可以配置为在当前帧504的全搜索块匹配期间,比较位移814中每一个位移(dx,dy),以识别位移(dx,dy)是否包括在自适应搜索区域603内。在一些实施例中,CU 808可以通过二进制信号818,来指示位移(dx,dy)是否包括在自适应搜索区域603内。
[0083] 如图8所示,ASEU 810还可以接收信号818,并针对自适应搜索区域603中包括的所有位移值(dx,dy),计算局部最小块匹配误差611以及对应的最佳匹配误差605。
[0084] 图9a示出了根据本发明一些实施例的LSDU 706的框图。如图9a所示,LSDU 706可以包括采样窗单元(SWU)902,SWU 902可以耦接以接收例如帧502等帧,并可以配置为对帧502中的像素执行基于窗的采样,以获得像素采样912。在一些实施例中,SWU 902可以包括归一化的一维采样窗,采样窗的大小可以取决于可以被检测的间距周期范围。在一些实施例中,对于周期范围[2到N],可以使用至少为2N个像素的采样窗大小。在一些实施例中,SWU 902可以通过计算(帧502)的所有像素采样912的平均值,并从每个像素采样中减去平均值,来将帧502)的像素采样912归一化为零值平均。
[0085] 如图9a所示,LSDU 706还可以包括加权单元(WU)904,WU 904可以耦接以接收像素采样912,并可以配置为执行加权函数,以获得加权的像素采样914。WU 904可以执行的加权函数可以更多地强调采样窗中心周围的像素采样,而更少地强调采样窗端部附近的采样。在一些实施例中,WU 904可以对像素采样912执行海明窗调制(或加权),以获得加权的采样914。在一些实施例中,使用海明窗可以提供从一个相邻块到下一相邻块的更加一致的周期检测。
[0086] LSDU 706还可以包括快速傅立叶变换单元(FFT)906,FFT 906可以耦接以接收加权的采样914,并可以配置为执行傅立叶变换,以获得变换系数916。在一些实施例中,系数916可以只包括系数的幅度分量。
[0087] 如图9a所示,LSDU 706也可以包括峰值和周期计算单元(PPCU)908,PPCU 908可以耦接以接收系数916,并可以配置为对系数916的幅度谱执行峰值检测方案,以检测最强频率幅度峰值。PPCU 908还可以选择最佳峰值频率值,并可以将最佳峰值频率值转换为间距周期图918。LSDU 706还可以包括滤波周期单元(FPU)910,FPU910可以耦接以接收间距周期图918,并可以配置为通过对周期图918滤波,来生成栅格结构图(或栅格结构周期图)712。通过对周期图918滤波,FPU 910可以进一步提高周期图918中检测到的周期的一致性(平滑度),并消除孤立或错误检测。
[0088] 图9b示出了帧502中可以包括的示例性栅格结构502。带圈区域932示出了帧502的指示了水平间距周期值(Th)的水平分量。栅格结构图712中可以包括例如水平间距周期Th等间距周期的有关信息。
[0089] 在一些实施例中,可以不使用加窗频率变换,而使用例如加窗信号自相关等其他方法,来逐块地检测栅格结构的周期值。在一些实施例中,也可以对输入帧的不同分辨率,分级地检测栅格结构。分级检测方案的使用可以允许通过多个图像下采样级,来检测更宽范围的间距周期。例如,如果以2对图像进行缩减,则周期看上去小了一倍,因此等效的周期检测范围变得大了一倍。
[0090] 如前参照图7所示,MHGU 708可以生成可由AMSU 702使用的、可用于计算运动偏移参数714的运动矢量直方图(MVH)711。图10示出了可由MHGU 708生成的示例性直方图MVH 711。
[0091] 从图10可以看出,MVH 711可以包括例如示例性直方图条1004的直方图条。横轴(MVh)可以表示所有可能的水平运动值,从[-N/2到N/2],纵轴(Th)可以表示所有可能检测到的水平间距周期值[从2到N]。图10中的示例性直方图MVH指示了具有栅格结构的帧,该栅格结构在一些像素块中包括检测到的间距周期4,并且在其他像素块中包括检测到的间距周期5。此外,如图10所示,对于两个周期值4和5,出现最多的运动矢量是MV0(分别出现75次和90次)。如图10所示,对于间距周期4,MV0和MV+4正好以一个间距周期值彼此分开,这指示了有可能在帧的特定块中错误地匹配了MV+4。
[0092] 如前所述,MHGU 708可以分析MVH 711,以生成运动偏移值714。在一些实施例中,MHGU 708可以对MVH 711进行滤波,以针对栅格结构图712中的每一个周期,确定最优运动。例如,参照图10所示的MVH 711,对于属于周期4或5的周期性栅格结构的块,可以将自适应搜索区域603配置为,使得可以将水平偏移Oh设定为0,将宽度n设定为如上参照等式(3)所述的值。
[0093] 在一些实施例中,可以对于每一个新的帧的输入,将所有直方图条(例如示例性条1004)重置。如前所述,在一些实施例中,MHGU708可以为每一帧生成两个直方图,一个针对水平运动矢量分量和水平周期,另一个针对垂直运动矢量分量和垂直周期。
[0094] 图11示出了根据本发明一些实施例的运动矢量选择单元(MVSU)710的框图。如图11所示,MVSU 710可以包括运动矢量比较单元(MVCU)1102,MVCU 1102可以耦接以接收全搜索和自适应搜索运动矢量(607和605)、以及栅格结构图712。MVCU 1102还可以配置为针对每一个块,比较运动矢量(607和605)之间的绝对差。如果给定块的矢量(607和605)之间的绝对差非零,并且是(来自栅格图712)的间距周期值的倍数,则在一些实施例中,MVCU 1102可以生成证实信号1110,该证实信号1110可以指示输入帧中当前块位置处存在栅格结构。在一些实施例中,证实信号1110可以是二进制信号。
[0095] MVSU 710还可以包括复用器1106,复用器1106可以耦接以接收证实信号1110,并可以配置为在参数(1112和1114)之间进行选择。基于证实信号1110,复用器1106可以发送包括因子和偏移值在内的惩罚参数1116。如图11所示,MVSU 710可以包括匹配误差计算单元(MECU)1104,MECU 1104可以耦接以接收匹配误差(609和611)、以及惩罚参数1116。MECU 1104还可以配置为生成选择信号1118。在一些实施例中,MECU 1104可以使用惩罚参数1116来惩罚对应的全搜索匹配误差609,而使对应的自适应搜索运动矢量605对于选择而言是更有利的。例如,如果存在栅格结构,则可以经由证实信号1110来配置复用器1106,来发送惩罚参数1116,该惩罚参数1116允许MECU 1104使自适应搜索运动矢量
605更可能被选择(经由选择信号1118和复用器1108),这是因为向全搜索匹配误差609施加了较大惩罚。在不存在周期性栅格结构的情况下,在块匹配误差(609和611)相似时,可以经由证实信号1110来配置复用器1106,来生成惩罚因子1116,使得MECU 1104可以向全搜索匹配误差609施加较小惩罚,以便可以(经由选择信号1118和复用器1108)选择自适应搜索矢量605。在一些实施例中,由于全搜索匹配误差609的全局最小性,所以未受惩罚的全搜索匹配误差609可以小于或等于自适应搜索匹配误差611。
[0096] 在一些实施例中,选择信号1118可以是二进制信号。基于选择信号1118,复用器1108可以在全搜索和自适应搜索运动矢量(607和605)之间选择最终运动矢量716。
[0097] 考虑本文公开的说明书和实施,其他实施例低于本领域技术人员是显而易见的。说明书和示例应该仅被视为是示例性的,本发明的真正范围和精神由所附权利要求限定。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈