使用运动估计的目标检测的制作方法

文档序号:7978707阅读:238来源:国知局
使用运动估计的目标检测的制作方法
【专利摘要】使用运动估计来检测目标的系统和方法可以包括处理器和耦合到该处理器的运动估计和目标检测逻辑单元。运动估计和目标检测逻辑单元可以被配置为包括用于基于运动估计来检测视频的帧中的目标的逻辑单元。视频可以包括第一帧和第二帧。可以使用第二帧的区域和第一帧的对应区域之间的绝对差之和在第二帧的区域上执行运动估计。
【专利说明】使用运动估计的目标检测
【背景技术】
[0001]在可视化搜索中,自然图像和视频中的可靠的实时目标检测和识别可能是重要的。一种在视频中进行目标跟踪的方法用于在每个视频帧中执行完全目标检测。然而,该方法可能是计算非常密集的。
【专利附图】

【附图说明】
[0002]对本领技术人员来说,通过阅读下面的说明书和所附权利要求书,并通过参照下面的附图,本发明的实施例的各种优势将变得显而易见,在下面的附图中:
[0003]图1是根据一些实施例的、示出了示例性计算机系统的框图;
[0004]图2是根据一些实施例的、示出了使用滑动窗口来扫描图像的例子的框图;
[0005]图3是根据一些实施例的、示出了示例性视频运动估计和检测系统的框图;
[0006]图4是根据一些实施例的、示出了宏块的例子的框图;
[0007]图5示出了根据一些实施例的帧的示例性区域;
[0008]图6A是根据一些实施例的、运动估计和目标检测的示例性方法的流程图;
[0009]图6B是根据一些实施例的、使用绝对差之和(SAD)来执行运动估计和目标检测的示例性方法的流程图;
[0010]图7示出了根据一些实施例的示例性计算机系统;以及
[0011]图8示出了根据一些实施例的示例性小外形规格设备。
【具体实施方式】
[0012]实施例可以涉及包括用于在具有第一帧和第二帧的视频的该第二帧的区域上执行运动估计的逻辑单元的装置。该装置还可以包括用于基于在第二帧的区域上的运动估计来确定是否在第二帧的该区域上执行目标检测的逻辑单元。运动估计可以基于用于执行绝对差之和的逻辑单元。目标检测可以基于分类器函数。
[0013]实施例可以涉及系统,该系统可以包括处理器和耦合到该处理器的运动估计和目标检测逻辑单元。运动估计和目标检测逻辑单元可以被配置为包括用于基于运动估计来检测视频的帧中的目标的逻辑单元。视频可以包括第一帧和第二帧。可以使用第二帧的区域和第一帧的对应区域之间的绝对差之和来在第二帧的该区域上执行运动估计。可以在宏块上执行绝对差之和,所述宏块包括在第二帧的区域中和第一帧的对应区域中。第二帧可以是视频中的第一帧的后续帧。
[0014]实施例可以涉及计算机实现的方法,该方法可以包括在视频的第一帧的多个区域上执行目标检测以检测第一帧中包括的目标。该方法还可以包括在视频的第二帧的区域上执行运动估计,基于第二帧的区域上的运动估计来确定是否在第二帧的该区域上执行目标检测。第二帧可以在视频中处于所述第一帧之后。可以使用分类器函数来执行目标检测。
[0015]实施例可以涉及系统,该系统可以包括处理器、耦合到该处理器的外部供电设备、以及耦合到该处理器的运动估计和目标检测逻辑单元。运动估计和目标检测逻辑单元可以被配置为包括用于基于运动估计来检测视频的帧中的目标的逻辑单元。视频可以包括第一帧和第二帧。可以使用第二帧的区域和第一帧的对应区域之间的绝对差之和来在第二帧的该区域上执行运动估计。
[0016]转到图1,根据一些实施例示出了对示例性计算机系统100进行说明的框图。计算机系统100可以包括中央处理单元(CPU) 105、图形和存储器控制器中心(GMCH) 110、和输入/输出控制器中心(ICH) 125。GMCH110可以经由总线107耦合到CPU105。ICH125可以经由总线122耦合到GMCHl 10。GMCHl 10还可以耦合到存储器设备115和显示设备120。ICH125可以耦合到I/O设备130。GMCH110可以包括图形系统200(在图2中示出)。虽然CPU105、GMCHl 10和ICH125被示出为单独的组件,但是可以将这些组件中的两个或更多个组件的功能进行组合。可以使用供电设备150向计算机系统100供电。供电设备150可以是电池或外部电源。计算机系统100还可以包括许多其它组件;然而,为了简单起见,它们没有被示出。
[0017]转到图2,示出了对使用示例性滑动窗口 200来扫描图像进行说明的框图。滑动窗口是可以用于在图像中执行目标检测和识别的技术。滑动窗口技术可以与可以用于检测目标的分类器函数相关联。当最大分类分数超过了阈值时,目标可以被确定为出现在图像中。例如,可以使用滑动窗口 200从左上位置向右下位置扫描图像201。对于图像201,滑动窗口 200可以扫描子图像205至260。滑动窗口 200可以具有不同的尺寸。例如,滑动窗口 200可以是16像素X16像素。通常来说,对于具有NXN尺寸的图像,子图像的数量可以由N提高至N的四次方(N4)。例如,子图像的数目可以超过十亿。将需要针对每个子图像来执行与目标检测相关联的操作。也就是说,滑动窗口 200越小,需要执行的计算数量越高。其结果是,为所有的子图像详尽地估计分类器函数在计算上可能是非常昂贵的。当将滑动窗技术应用于视频的多个帧以检测目标时,计算成本可能是更加昂贵的。例如,对于25Hz/30Hz的视频,用于在视频中执行目标检测的计算成本可能比执行针对单个图像的目标检测的计算成本大十倍。
[0018]转到图3,根据一些实施例示出了对示例性视频运动估计和检测系统300进行说明的框图。运动估计和检测系统300可以包括运动估计逻辑单元305、目标检测逻辑单元310、滑动窗口逻辑单元325、和视频处理逻辑单元330。运动估计逻辑单元305可以包括绝对差之和逻辑单元315。目标检测逻辑单元310可以包括分类器函数逻辑单元320。
[0019]对于一些实施例,滑动窗口逻辑单元325可以被配置为建立不同尺寸的滑动窗口。例如,小的滑动窗口可以用于扫描视频帧以检测该视频帧中的小的目标,而大的滑动窗口可以用于检测视频帧中的大的目标。视频帧可以由视频处理逻辑单元330接收。对于一些实施例,可以使用不同尺寸的滑动窗口来执行针对第一帧的完全扫描。为了检测小的和大的目标,可以使用不同尺寸的滑动窗口来多次执行完全扫描。对于随后的帧,取代执行完全扫描,运动估计逻辑单元305可以用于降低计算成本。
[0020]可以将可以由滑动窗口覆盖的帧的区段(area)称为区域。例如,对于视频图形阵列(VGA)尺寸的视频输入,滑动窗口可以从可以覆盖帧的区域的最小尺寸20X20像素变化到可以覆盖整个帧的最大尺寸480X480像素。
[0021]分类器函数逻辑单元320可以被配置为检测目标是否存在于由滑动窗口覆盖的帧的区域内。分类器函数逻辑单元320可以基于最大分类分值来执行检测操作。对于一些实施例,可以使用分类器函数逻辑单元320来执行针对第一帧的每个区域的目标检测。如将更加详细地描述的,如果满足了特定条件,则分类器函数逻辑单元320可以用于执行针对后续帧的一些区域的目标检测。
[0022]运动估计逻辑单元305可以被配置为在将当前帧与之前帧做比较时确定在特定区域内部是否发生了任何运动。运动估计逻辑单元305的操作可以基于通常用于视频编码中的运动向量信息和针对每个宏块(在图4中描述)的绝对差之和(SAD)的值。
[0023]运动估计逻辑单元305可以被配置为移除视频的连续帧中的图像之间的时间冗余,这是因为连续帧中的大多数的图像可能是基本相似的。这可以使得能够重新使用之前帧中包括的信息来找到针对当前帧的运动向量信息以提高编码效率。对于一些实施例,运动估计逻辑单元305可以使用SAD逻辑单元315来确定当前帧的区域是否类似于之前帧的对应区域。
[0024]目标检测逻辑单元310可以被配置为检测当前帧的区域中的目标。例如,当满足了特定条件时,目标检测逻辑单元310可以应用分类器函数逻辑单元320以检测区域中的目标。
[0025]转到图4,示出了根据一些实施例的宏块的例子。宏块(MB)可以是用于运动估计的基本元素,并且可以用于编码。宏块可以为16X16像素。在当前的例子中,滑动窗口 200可以覆盖包括405至445的9个宏块的区域(由具有对角模式的矩形表示)。通常来说,当与当前帧相关联的宏块类似于与之前帧相关联的区域(其具有相同的MB尺寸)时,针对当前帧可以不需要对该宏块进行编码。可以重新使用针对来自之前帧的类似图像区域的编码信息。
[0026]SAD逻辑单元315 (图3)可以被配置为确定与宏块相关联的SAD和与区域相关联的SAD。SAD逻辑单元315可以被配置为确定当前帧的一个宏块中的每个像素与之前帧的另一个宏块中的对应像素之间的绝对差。可以对该差求和以创建对块相似性的度量。可以使用阈值来确定相似性。
[0027]对于一些实施例,可以对来自宏块405至445的SAD进行累加并将其用作针对宏块405至445可以与其相关联的区域的SAD。随后可以将针对该区域的SAD与可以与宏块的数量成比例的阈值进行比较。当针对该区域的SAD大于阈值时,可以表明滑动窗口 200所覆盖的当前帧的区域与之前帧的对应区域不匹配。在这种情况下,有必要使用分类器函数来执行针对当前帧的区域的目标检测。例如,之前帧的区域可以不包含目标,但是当前帧的对应区域可以包含目标。作为另一个例子,之前帧的区域可以在第一位置中包含目标,而当前帧的对应区域还可以在第二位置中包含该目标。这可以表明该目标已经通过运动离开,因此,将需要在当前帧中检测该目标。当针对该区域的SAD小于阈值时,重新使用来自之前帧的对应区域的编码信息是可能的。例如,如果在之前帧中的区域不包含目标,则可以认为当前帧的对应区域不包含目标。
[0028]转到图5,示出了根据一些实施例的示例性区域。区域500、520和540可以与之前帧相关联,而区域510、530和550可以与当前帧相关联。可以使用区域500和510来说明当区域500和510两者都包含同一个目标505、但是在不同的位置包含该目标时的情况。由于第二位置可以非常接近(或几乎相同)第一位置,所以针对区域510的SAD可以小于阈值。可以确定区域510的样本区域(例如,中心点),并验证该样本区域是否位于区域505。这可以类似于对目标505进行跟踪。对于一些实施例,当区域510的样本区域也在区域505中时,可以将分类器函数逻辑单元320 (图3)应用于区域510。
[0029]可以使用区域520和530来说明当目标525包含在区域530中、但是目标525没有包含在区域520中时的情况。针对区域530的SAD可以大于阈值并且可以将分类器函数逻辑单元320应用于区域530。在目标525可以包含在区域520中但不包含在区域530中时,该情况可以颠倒。针对区域530的SAD可以大于阈值并且可以将分类器函数逻辑单元320应用于区域530。可以使用区域540和550来说明当没有目标在区域540和550中时的情况。针对区域550的SAD可以小于阈值并且不需要将分类器函数逻辑单元320应用于区域550。
[0030]转到图6A,示出了根据一些实施例的运动估计和目标检测的方法600。方法600可以与图3的运动估计和目标检测系统300相关联。可以将方法600应用于视频的帧。
[0031]在框605处,可以接收视频的第一帧。在框610处,可以使用不同尺寸的滑动窗口来检测在第一帧中的目标。在框615处,使用所述滑动窗口,分类器函数可以用于检测第一帧中的目标。在框620处,接收第二视频帧。在框625处,可以使用第二帧和第一帧之间的运动估计来检测在第二帧中的目标。
[0032]转到图6B,示出了根据一些实施例的、使用绝对差之和(SAD)来执行运动估计和目标检测的方法650。可以将方法650应用于巾贞的区域。在框655处,可以基于当前巾贞的区域和之前帧的对应区域来确定运动向量信息和SAD。该区域的SAD可以基于包括在该区域中的宏块的SAD。在框660处,可以将SAD与阈值做比较。如果SAD大于阈值,则过程可以继续到框665,在此处,可以执行分类器函数以检测当前帧的区域中的目标。例如,在当前帧的区域中存在目标而之前帧的对应区域中不存在目标时,这种情况可以发生。
[0033]如果SAD小于或等于阈值,随后该过程可以从框660继续到框670,在此处,可以执行测试以确定当前帧的区域的样本(例如,中心点)区段是否可以在之前帧的对应区域中找到。如果样本区段也在之前帧的对应区域中,则该过程可继续到框665,在此处,可以应用分类器函数以检测当前帧的区域中的目标。例如,当在当前帧的区域中存在目标、并且可能由于运动的原因该目标还轻微不同地存在于之前帧的对应区域中时,这种情况可以发生。
[0034]可选地,该过程可以从框670继续到框675,在此处,可以将之前帧的对应区域的编码信息重新用于当前帧。例如,当在当前帧与之前帧两者中的相同区域不包含任何目标时,这种情况可以发生。方法600和650可以使得能够不必对不包含任何目标的区域执行分类器函数。可以将方法650重复用于当前帧的所有区域。
[0035]通过估计较少区域而同时保持与如同执行了针对每个视频帧的完全检测相同的精确度,本发明的实施例可以极大地提高目标检测操作的性能。本发明的实施例对视频相关的应用(例如,视频会议、视频监控等)可以是有用的,在该视频相关的应用中,可以使用固定的摄像机,这是因为大多数的视频背景的区域可以是无目标区域,并且除非视频中出现了新的目标,其不会随着时间明显改变。本发明的实施例可直接应用于原始视频,而不必缩放视频帧。当缩放是必要的时,需要图形控制器以恒定的缩放因子来维持一连串的视频帧。需要将每个缩放的视频帧与其自身的运动信息相关联。可以在软件、硬件或两者的组合中执行本发明的实施例。对于一些实施例,可以在硬件中执行SAD逻辑单元315(图3)的操作或框655中执行的操作,以提高性能并降低运动估计成本。例如,一些图形控制器可以包括可以用来执行SAD逻辑单元315的操作的硬件加速引擎。
[0036]以上描述的方法可以被实现为存储在机器可读或计算机可读存储介质、可配置逻辑单元、使用了电路技术的固定功能的逻辑硬件或其任意组合中的一组逻辑指令,机器可读或计算机可读存储介质例如是随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、闪存等,可配置逻辑单元例如是可编程逻辑阵列(PLA)、现场可编程门阵列(FPGA)、复杂可编程逻辑设备(CPLD),使用的电路技术例如是专用集成电路(ASIC)、互补金属氧化物半导体(CMOS)或晶体管-晶体管逻辑(TTL)技术。例如,可以以一种或多种编程语言的任意组合来编写用于执行该方法中示出的操作的计算机程序代码,该一种或多种编程语言包括面向对象的编程语言(例如C++之类)和常规程序性编程语言(例如“C”编程语言或类似编程语言)。
[0037]图7示出了系统700的实施例。在实施例中,系统700可以是介质系统,尽管系统700不限于本上下文。例如,可以将系统700合并到以下设备中:个人计算机(PC)、膝上型计算机、超薄膝上型计算机、平板电脑、触摸平板、便携计算机、手持计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、蜂窝电话/PDA的组合、电视机、智能设备(例如,智能手机、智能平板或智能电视机)、移动互联网设备(MID)、通讯设备、数据通信设备等。
[0038]在实施例中,系统700包括耦合到显示器720的平台702。平台702可以接收来自内容设备的内容,内容设备例如是内容服务设备730或内容传递设备740或其它类似的内容源。导航控制器750包括可以用于与例如平台702和/或显示器720交互的一个或多个导航特征。下面更加详细地描述这些组件中的每一个组件。
[0039]在实施例中,平台702可以包括以下的任意组合:芯片集705、处理器710、存储器712、存储设备714、图形子系统715、应用716和/或无线电设备718。芯片集705可以在处理器710、存储器712、存储设备714、图形子系统715、应用716和/或无线电设备718之间提供互相通信。例如,芯片集705可以包括能够提供与存储设备714的互相通信的存储设备适配器(未描述)。
[0040]处理器710可以被实现为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处理器、X86指令集兼容处理器、多内核、或任意其它微处理器或中央处理单元(CPU)。在实施例中,处理器710可以包括双核处理器、双核移动处理器等等。
[0041]存储器712可以被实现为易失性存储器设备,例如但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)、或静态RAM(SRAM)。
[0042]存储设备714可以被实现为非易失性存储设备,例如但不限于磁盘驱动器、光盘驱动器、磁带驱动器、内部存储设备、附加存储设备、快速存储器、电池支持的SDRAM(同步DRAM)、和/或网络可访问存储设备。在实施例中,当例如包括多个硬盘驱动器时,存储设备714可以包括用于增加对有价值的数字媒体的存储性能增强保护的工艺。
[0043]图形子系统715可以执行图像(例如静止的图像或视频图像)处理以用于显示。图形子系统715可以例如是图形处理单元(GPU)或视觉处理单元(VPU)。可以使用模拟或数字接口来通信地耦合图形子系统715和显示器720。例如,接口可以是以下各项中的任意接口:高清晰度多媒体接口、显示端口(DisplayPort)、无线HDM1、和/或适应无线HD的技术。图形子系统715可以集成在处理器710或芯片集705中。图形子系统715可以是通信地耦合到芯片集705的独立卡。[0044]可以在各种硬件架构中实现本文所描述的图形和/或视频处理技术。例如,可以将图形和/或视频功能集成在芯片集内。或者,可以使用分立的图形和/或视频处理器。作为另一个实施例,可以由包括多核处理器的通用处理器来实现图形和/或视频功能。在进一步的实施例中,可以在消费者电子设备中实现所述功能。
[0045]无线电设备718可以包括一个或多个能够使用各种适当的无线通信技术来发送和接收信号的无线电设备。这种技术可以包括跨越一个或多个无线网络的通信。示例性无线网络包括(但不限于)无线局域网(WLAN)、无线个域网(WPAN)、无线城域网(WMAN)、蜂窝网络、和卫星网络。在跨越这些网络的通信中,可以根据任何版本的一个或多个适用标准来操作无线电设备718。
[0046]在实施例中,显示器720可以包括任何电视类型监视器或显示器。显示器720可以包括例如:计算机显示屏、触摸屏显示器、视频监视器、类电视设备、和/或电视机。显示器720可以是数字的和/或模拟的。在实施例中,显示器720可以是全息显示器。此外,显示器720可以是可以接收视觉投影的透明表面。这种投影可以传递各种形式的信息、图像、和/或目标。例如,这种投影可以是用于移动增强现实(MAR)应用的视觉覆盖。在一个或多个软件应用716的控制之下,平台702可以在显示器720上显示用户界面722。
[0047]在实施例中,内容服务设备730可以作为任意国家的、国际的、和/或独立的服务的主机,并因此可以由平台702经由例如因特网来访问。内容服务设备730可以耦合到平台702和/或显示器720。平台702和/或内容服务设备730可以耦合到网络760以向网络760和从网络760传输(例如,发送和/或接收)媒体信息。内容传递设备740还可以耦合到平台702和/或显示器720。
[0048]在实施例中,内容服务设备730可以包括有线电视盒、个人计算机、网络、电话、支持因特网的设备或能够传递数字信息和/或内容的电器、以及能够在内容提供方和平台702和/显示器720之间单向地或双向地(经由网络760或直接地)传输内容的任何其它类似设备。应该意识到,可以经由网络760向系统700中的组件和内容提供方中的任何一个以及从系统700中的组件和内容提供方中的任何一个单向地和/或双向地传输内容。内容的例子可以包括任何媒体信息,包括例如视频、音乐、医疗和游戏信息等等。
[0049]内容服务设备730接收例如包括媒体信息、数字信息的有线电视节目的内容和/或其它内容。内容提供方的例子可以包括任何有线内容提供方或卫星电视内容提供方或无线内容提供方或因特网内容提供方。所提供的例子并不意味着限制根据本发明的实施例。
[0050]在实施例中,平台702可以从具有一个或多个导航特征的导航控制器750接收控制信号。控制器750的导航特征可以被用于与例如用户界面722互动。在实施例中,导航控制器750可以是定点设备,该定点设备可以是允许用户输入空间(例如,连续的且多维的)数据到计算机中的计算机硬件组件(具体地,人机接口设备)。很多系统(诸如图形用户界面(GUI))以及电视机和监视器允许用户使用形体姿势来控制并提供数据给计算机或电视机。
[0051]控制器750的导航特征的运动可以通过显示在显示器(例如显示器720)上的指针、光标、聚焦环或其它视觉指示符的运动而被回显在显示器上。例如,在软件应用716的控制之下,位于导航控制器750上的导航特征可以被映射到例如显示在用户界面722上的虚拟导航特征。在实施例中,控制器750可以不是单独的组件而可以被集成到平台702和/或显示器720中。然而,实施例不限于本文示出或描述的元件或上下文。
[0052]在实施例中,驱动器(未示出)可以包括例如在使能时,使用户能够在初始启动之后通过触摸按钮来立刻打开和关闭平台702 (像打开和关闭电视机一样)的技术。当平台被“关闭”时,程序逻辑单元可以允许平台702将内容流向媒体适配器或其它内容服务设备730或内容传递设备740。另外,芯片集705可以包括支持例如5.1环绕声音频和/或高清晰度7.1环绕声音频的硬件和/或软件。驱动器可以包括用于所集成的图形平台的图形驱动器。在实施例中,图形驱动器可以包括外围组件互连高速(PCIExpress)图形卡。
[0053]在各种实施例中,可以集成系统700中示出的任意一个或多个组件。例如,可以集成平台702和内容服务设备730、或可以集成平台702和内容传递设备740,或可以集成例如平台702、内容服务设备730以及内容传递设备740。在各种实施例中,平台702和显示器720可以是一集成单元。例如可以集成显示器720和内容服务设备730,或可以集成显示器720和内容传递设备740。这些例子并不意味着限制本发明。
[0054]在各种实施例中,系统700可以被实现为无线系统、有线系统或两者的组合。当被实现为无线系统时,系统700可以包括适于通过无线共享介质进行通信的组件和接口,例如一个或多个天线、发射机、接收机、收发机、放大器、滤波器、控制逻辑单元等等。无线共享介质的一个例子可以包括部分的无线频谱(例如RF频谱等等)。当被实现为有线系统时,系统700可以包括适于通过有线通信介质进行通信的组件和接口,例如输入/输出(I/O)适配器、物理连接器(用于连接I/O适配器与对应的有线通信介质)、网络接口卡(NIC)、磁碟控制器、视频控制器、音频控制器等等。有线通信介质的例子可以包括电线、电缆、金属引线、印刷电路板(PCB)、底板、交换机结构、半导体材料、双绞线、同轴电缆、光纤等等。
[0055]平台702可以建立一个或多个逻辑信道或物理信道以传输信息。信息可以包括媒体信息和控制信息。媒体信息可以指的是代表针对用户的内容的任何数据。内容的例子可以包括例如来自以下的数据:语音对话、视频会议、流视频、电子邮件(“email”)消息、语音邮件消息、字母数字符号、图形、图像、视频、文本等等。来自语音对话的数据可以是例如:谈话信息、静默时段、背景噪声、舒适噪声、音调等等。控制信息可以指的是代表针对自动化系统的命令、指令、或控制字的任何数据。例如,控制信息可以用于通过系统来路由媒体信息,或指示节点以预先确定的方式来处理该媒体信息。然而,实施例并不受限于图7中示出或描述的元件或上下文。
[0056]如上所述,系统700可以以变化的物理形式或外形规格来加以实施。图8示出了小外形规格设备800的实施例,在该小外形规格设备800中可以实施系统700。在实施例中,例如,设备800可以被实现为具有无线能力的移动计算设备。移动计算设备可以指的是具有处理系统和移动电源或供电设备(例如一个或多个电池)的任何设备。
[0057]如上所述,移动计算设备的例子可以包括:个人计算机(PC)、膝上型计算机、超薄膝上型计算机、平板电脑、触摸平板、便携计算机、手持计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、蜂窝电话/PDA的组合、电视机、智能设备(例如,智能手机、智能平板或智能电视机)、移动互联网设备(MID)、通讯设备、数据通信设备等等。
[0058]移动计算设备的例子还可以包括被设置为由人穿戴的计算机,例如:腕上计算机、指上计算机、指环计算机、眼镜计算机、带夹计算机、环臂计算机、鞋式计算机、衣式计算机、以及其它可穿戴计算机。在实施例中,例如,移动计算设备可以被实现为能够执行计算机应用、以及语音通信和/或数据通信的智能电话。尽管一些实施例可以被描述为具有移动计算设备(通过举例的方式被实现为智能电话),但是应当理解,也可以使用其它无线移动计算设备来实现其它的实施例。所述实施例并不受限于该上下文。
[0059]如图8所示,设备800可以包括壳体802、显示器804、输入/输出(I/O)设备806、以及天线808。设备800还可以包括导航特征812。显示器804可以包括用于显示适于移动计算设备的信息的任意适当的显示单元。I/O设备806可以包括用于输入信息到移动计算设备中的任意适当的I/O设备。I/O设备806的例子可以包括字母数字键盘、数字键板、触摸平板、输入键盘、按钮、开关、摇臂开关、话筒、扬声器、语音识别设备和软件等等。还可以通过话筒将信息输入到设备800中。这种信息可以由语音识别设备来数字化。所述实施例不受限于该上下文。
[0060]可以使用硬件元件、软件元件或两者的组合来实现各种实施例。硬件元件的例子可以包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等等)、集成电路、专用集成电路(ASIC)、可编程逻辑设备(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体设备、芯片、微芯片、芯片集等等。软件的例子可以包括:软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任意组合。确定是否使用硬件元件和/或软件元件来实现实施例可以根据以下任意数量的因素来变化:例如所希望的计算速率、功率电平、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其它设计或性能限制。
[0061]至少一个实施例的一个或多个方面可以由存储在机器可读介质中的代表性指令来实现,该机器可读介质表示处理器内的各种逻辑单元,当这些逻辑单元由机器读取时,使得机器构造逻辑单元以执行本文中描述的技术。这种被称为“IP内核”的表示可以存储在有形的机器可读介质上并供应给各种消费者或制造设施以加载到实际制造所述逻辑单元或处理器的制造机器中。
[0062]已经给出了示例性尺寸/模型/值/范围,尽管本发明的实施例并不限于同样的尺寸/模型/值/范围。由于制造技术(例如,光刻法)随着时间日益成熟,可以期待的是可以制造较小型的设备。另外,为了说明和讨论的简单,在附图中可以示出或可以不示出到集成电路(IC)芯片和其它组件的公知的功率/接地连接,以免模糊本发明的实施例的某些方面。进一步的,可以以框图形式示出设置以免模糊本发明的实施例,并且也考虑到以下事实:关于这种框图设置的实施方式的细节是高度取决于实施例将要在其中实施的平台的,即,这种细节应当完全处于本领域技术人员的范围内。在阐述了具体细节(例如电路)以描述本发明的示例性实施例的情况下,对本领域技术人员来说应当显而易见的是,可以在不具有这些具体细节或具有这些具体细节的变型的情况下实践本发明的实施例。因此,本说明书被认为是说明性的而非限制性的。
[0063]可以在本文中使用的术语“耦合”指的是任意类型的以下关系:直接的或间接的、在正讨论的组件之间的、以及可以应用到电子的、机械的、流体的、光学的、电磁的、机电的或其它连接。另外,除非另外指示,否则可以在本文中使用的术语“第一”、“第二”等仅仅有助于讨论,并不表达具体的时间上的或按照时间顺序的意义。[0064]根据前面的描述,本领域技术人员将理解,可以以各种形式来实施本发明的实施例的广义技术。因此,尽管已经结合了本发明的特定例子来描述了本发明的实施例,但是对有技术的实践者来说,在学习了附图、说明书、以及下面的权利要求之后,其它的修改将变的显而易见,所以本发明的实施例的真正范围不应该被如此限制。
【权利要求】
1.一种装置,包括: 用于在具有第一帧和第二帧的视频的所述第二帧的区域上执行运动估计的逻辑单元;以及 用于基于所述第二帧的所述区域上的所述运动估计来确定是否在所述第二帧的所述区域上执行目标检测的逻辑单元。
2.根据权利要求1所述的装置,其中所述第二帧是在所述视频中相对于所述第一帧的后续帧,以及其中所述用于执行所述运动估计的逻辑单元包括用于确定所述第二帧的所述区域与所述第一帧的对应区域之间的绝对差之和的逻辑单元。
3.根据权利要求2所述的装置,其中所述用于确定所述绝对差之和的逻辑单元包括用于确定包括在所述第二帧的所述区域中和所述第一帧的所述对应区域中的宏块上的绝对差之和的逻辑单元。
4.根据权利要求3所述的装置,其中所述用于确定是否执行所述目标检测的逻辑单元包括用于执行分类器函数的逻辑单元 。
5.根据权利要求4所述的装置,还包括:用于将所述绝对差之和与阈值进行比较以确定是否在所述第二帧的所述区域上执行所述目标检测的逻辑单元。
6.根据权利要求5所述的装置,其中如果所述绝对差之和大于所述阈值,则将在所述第二帧的所述区域上执行所述目标检测。
7.根据权利要求6所述的装置,其中如果所述绝对差之和小于或等于所述阈值并且如果所述第二帧的所述区域的样本区段包括在所述第一帧的所述对应区域中,则将在所述第二帧的所述区域上执行所述目标检测。
8.根据权利要求7所述的装置,其中如果所述绝对差之和小于或等于所述阈值并且如果所述第二帧的所述区域的所述样本区段未包括在所述第一帧的所述对应区域中,则不在所述第二帧的所述区域上执行所述目标检测。
9.根据权利要求8所述的装置,其中所述第一帧的所述对应区域的编码信息将被重新用于所述第二帧的所述区域。
10.一种系统,包括: 处理器;以及 运动估计和目标检测逻辑单元,所述运动估计和目标检测逻辑单元与所述处理器耦合而且被配置为基于运动估计来检测视频的帧中的目标,其中所述视频包括第一帧和第二帧,以及其中使用所述第二帧的区域和所述第一帧的对应区域之间的绝对差之和来在所述第二帧的所述区域上执行所述运动估计。
11.根据权利要求10所述的系统,其中在包括在所述第二帧的所述区域中以及所述第一帧的所述对应区域中的宏块上执行所述绝对差之和,以及其中所述第二帧是所述第一帧的后续帧。
12.根据权利要求11所述的系统,其中所述运动估计和目标检测逻辑单元还被配置为基于所述绝对差之和与阈值的比较来确定是否在所述第二帧的所述区域中检测目标。
13.根据权利要求12所述的系统,其中如果所述绝对差之和大于所述阈值,则将执行所述用于在所述第二帧的所述区域中检测所述目标的逻辑单元。
14.根据权利要求13所述的系统,其中如果所述绝对差之和小于或等于所述阈值并且如果所述第二帧的所述区域的样本区段包括在所述第一帧的所述对应区域中,则将执行所述用于在所述第二帧的所述区域上检测所述目标的逻辑单元。
15.根据权利要求14所述的系统,其中如果所述绝对差之和小于或等于所述阈值并且如果所述第二帧的所述区域的所述样本区段未包括在所述第一帧的所述对应区域中,则将不在所述第二帧的所述区域上执行所述目标检测。
16.根据权利要求15所述的系统,还包括:用于在所述第二帧的所述区域上执行分类器函数以在所述第二帧的所述区域中检测所述目标的逻辑单元。
17.根据权利要求16所述的系统,其中如果未在所述第二帧的所述区域上执行所述目标检测,则所述第一帧的所述对应区域的编码信息将被重新用于所述第二帧的所述区域。
18.—种计算机实现的方法,包括: 在视频的第一帧的多个区域上执行目标检测,以检测包括在所述第一帧中的目标; 在所述视频的第二帧的区域上执行运动估计;以及 基于所述第二帧的所述区域上的所述运动估计来确定是否在所述第二帧的所述区域上执行目标检测。
19.根据权利要求18所述的方法,其中所述第二帧在所述视频中处于所述第一帧之后,以及其中执行所述目标检测包括执行分类器函数。
20.根据权利要求19所述的方法,其中在所述第二帧的所述区域上执行所述运动估计包括确定所述第二帧的所述区域和所述第一帧的对应区域之间的绝对差之和。
21.根据权利要求20所述的方法,其中确定是否在所述第二帧的所述区域上执行所述目标检测包括将所述绝对差之和与阈值做比较。
22.根据权利要求21所述的方法,其中如果所述绝对差之和大于所述阈值,则在所述第二帧的所述区域上执行所述目标检测。
23.根据权利要求22所述的方法,其中如果所述绝对差之和小于或等于所述阈值并且如果所述第二帧的所述区域的样本区段包括在所述第一帧的所述对应区域中,则在所述第二帧的所述区域上执行所述目标检测。
24.根据权利要求23所述的方法,其中如果所述绝对差之和小于或等于所述阈值并且如果所述第二帧的所述区域的所述样本区段未包括在所述第一帧的所述对应区域中,则不在所述第二帧的所述区域上执行所述目标检测。
25.根据权利要求24所述的方法,其中当未在所述第二帧的所述区域上执行所述目标检测时,所述第一帧的所述对应区域的编码信息被重新用于所述第二帧的所述区域。
26.—种系统,包括: 处理器; 耦合到所述处理器的外部供电设备; 运动估计和目标检测逻辑单元,所述运动估计和目标检测逻辑单元耦合到所述处理器且被配置为基于运动估计来检测视频的帧中的目标,其中所述视频包括第一帧和第二帧,以及其中使用所述第二帧的区域和所述第一帧的对应区域之间的绝对差之和来在所述第二帧的所述区域上执行所述运动估计。
27.根据权利要求26所述的系统,其中在包括在所述第二帧的所述区域中以及所述第一帧的所述对应区域中的宏块上执行所述绝对差之和,以及还包括用于在所述第二帧的所述区域上执行分类器函数以在所述第二帧的所述区域中检测所述目标的逻辑单元。
28.根据权利要求27所述的系统,其中所述第二帧是所述第一帧的后续帧,以及其中所述运动估计和目标检测逻辑单元还被配置为基于所述绝对差之和与阈值的比较来确定是否在所述第二帧的所述区域中检测目标。
29.根据权利要求28所述的系统,其中如果所述绝对差之和大于所述阈值,则将执行用于在所述第二帧的所述区域中检测所述目标的逻辑单元,其中如果所述绝对差之和小于或等于所述阈值,则将不在所述第二帧的所述区域上执行所述目标检测,以及其中如果未在所述第二帧的所述区 域上执行所述目标检测,则所述第一帧的所述对应区域的编码信息将被重新用于所述第二帧的所述区域。
【文档编号】H04N5/14GK104012072SQ201180076093
【公开日】2014年8月27日 申请日期:2011年12月30日 优先权日:2011年12月30日
【发明者】Q·栗, Y-J·秋, Y-t·彭, Y·杜, J·李 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1