分析辅助编码的制作方法

文档序号:7978317阅读:133来源:国知局
分析辅助编码的制作方法
【专利摘要】视频分析可用于通过选择性地只对帧的部分编码以及替代地使用先前被编码的部分来辅助视频编码。当后续帧具有小于阈值的运动水平时,可使用先前被编码的部分。在这种情况下,在一些实施例中,所有的或部分的后续帧可以不被编码,增加了带宽和速度。
【专利说明】分析辅助编码
【技术领域】
[0001]本发明一般涉及计算机,更具体地涉及视频处理技术。
【背景技术】
[0002]存在许多这样的应用:在其中视频必须被处理和/或被存储。一个例子是视频监视,其中为了安全或其它目的,一个或多个视频馈送可被接收、被分析以及被处理。另一常见应用是用于视频会议。
[0003]通常,通用处理器(例如,中央处理单元)用于视频处理。在一些情况下,称作图形处理器的专用处理器可协助中央处理单元。
[0004]视频分析涉及获得有关视频信息内容的信息。例如,视频处理可包括内容分析,其中内容视频被分析以便检测某些事件或出现或找出感兴趣的信息。
[0005]通常,结合视频处理使用的存储器是线性存储器。通过线性存储器,意图参考常用存储器的特性,其中存储器被分解成列和行。在列或行相交处的个体地址可被寻址为称作点寻址。此外,可通过提供初始地址以及被寻址的存储器位置范围的分界符而对沿着一行或可能甚至一列的线性地被寻址的部分进行寻址。因此,通常,当寻址存储器时,仅沿着单一寻址线(一行或一列)的一个或多个位置可在任何给定的时间或在一个存储器存取操作中被寻址。
【专利附图】

【附图说明】
[0006]图1是根据本发明一个实施例的系统体系结构;
[0007]图2是根据一个实施例的对图1所示的视频分析引擎的电路描绘;
[0008]图3是根据本发明一个实施例的用于视频捕捉的流程图;
[0009]图4是根据一个实施例的用于二维矩阵存储器的流程图;以及
[0010]图5是根据一个实施例的用于分析辅助编码的流程图。
【具体实施方式】
[0011]根据一些实施例,取代仅使用线性寻址,还可以提供二维矩阵寻址。在二维或矩阵寻址中,可指定在存储器中的点位置并且可以提供矩阵大小。该大小可被指定为用于被寻址的存储器矩阵的维度,或通过提供被寻址区域的行和列方向中的范围而被指定。因而,可对存储器的二维块或矩阵进行存取,以供在某一时间的存取或写入。
[0012]在一些实施例中,因为寻址可以被有效地自动化,因而在某一时间存取二维位置的矩阵的能力可促进存储器存取操作。在一些实施例中,仅第一地址可能是所需要的,并且其余地址可被自动产生。此外,在一些实施例中,可减少一些传送的带宽。
[0013]在涉及视频分析的实施例中,可使用视频分析辅助编码。任何所给定的一个或多个帧的编码部分是利用视频分析技术基于逐个情况而被确定的。尤其是,视频分析可用于判断一个或多个帧的一个或多个区域中的运动量。基于该信息,对于整个帧可以进行或不进行编码,或者对于展示运动超出给定阈值的一个或多个区域外面的帧的区域可以进行或不进行编码。再次,在一些实施例中,速度和带宽可以被改进。
[0014]虽然给出了使用视频分析的实施例的例子,但在一些实施例中,视频分析仅是选择性的且可以使用或可以不使用。
[0015]参照图1,计算机系统10可以是任意种类的计算机系统,包括,如视频监视和视频会议应用的那些使用视频分析的计算机系统,以及不使用视频分析的实施例。对于提及的一些例子,系统10可以是桌上型计算机、服务器、膝上型计算机、移动互联网设备或蜂窝电话。
[0016]系统10可具有一个或多个主机中央处理单元12,其被耦合到系统总线14。系统存储器22可耦合到系统总线14。虽然提供了主机系统体系结构的例子,但本发明不受限于任何特定的系统体系结构。
[0017]系统总线14可耦合到总线接口 16,接着,耦合到常用的总线18。在一个实施例中,可使用外围部件互连快速(PCIe)总线,但是本发明不限于任何特定的总线。
[0018]视频分析引擎20可经由总线18耦合到主机。在一个实施例中,视频分析引擎可以是提供编码和视频分析的单个集成电路。在一个实施例中,集成电路可使用嵌入式动态随机存取存储器(EDRAM)技术。但是,在一些实施例中,可省略编码或视频分析。此外,在一些实施例中,引擎20可以包括控制板上集成的二维矩阵存储器的存储器控制器,以及提供与外部存储器的通信。
[0019]因此,在图1所示的实施例中,视频分析引擎20与本地动态随机存储存储器(DRAM)19进行通信。具体地,视频分析引擎20可包括用于存取存储器19的存储器控制器。可替换地,引擎20可使用系统存储器22并且可包括到系统存储器的直接连接。
[0020]一个或多个摄像机24也可耦合到视频分析引擎20。在一些实施例中,多达四个同步视频输入可以以标准清晰度格式被接收。在一些实施例中,可以在三个输入处提供一个高度清晰度输入,并且在第四个输入处提供一个标准清晰度。在其他实施例中,可提供更多或更少的清晰度输入,并且可提供更多或更少标准清晰度输入。如一个例子,三个输入中的每一个可各自在分离的10位输入线上接收10位的高清晰度输入数据,例如,R、G和B输入或者Y、U和V输入。
[0021]图2示出了视频分析引擎20的一个实施例,其被展示在页面顶部具有四个摄像机信道输入的实施例中。四个输入可通过视频捕捉接口 26接收。在提及一些例子中,视频捕捉接口 26可接收以摄像机输入或包括其它视频信息(包括电视、数字视频记录器、或媒体播放器输入)形式的多个同步视频输入。
[0022]视频捕捉接口自动捕捉并复制每个输入帧。输入帧的一个副本被提供到VAFF单元66,并且其它副本被提供到VEFF单元68。VEFF单元68负责将视频存储在外部存储器上,例如图1所示的存储器22。在一个实施例中,外部存储器可耦合到片上系统存储器控制器/仲裁器50。在一些实施例中,外部存储器上的存储可用于视频编码的目的。具体而言,如果一个副本被存储在外部存储器上,那么其可通过视频编码器32被存取以用于对所需格式的信息进行编码。在一些实施例中,多个格式是可用的,且系统可选择最需要的特定编码格式。
[0023]如上所述,在一些情况中,可使用视频分析以改进由视频编码器32实施的编码处理的效率。一旦帧被编码,那么它们可经由PCI快速总线36被提供到主机系统。
[0024]同时,输入视频帧的其他副本被存储在二维矩阵或主存储器28上。VAFF可处理并同时传输所有的四个输入视频信道。VAFF可包括四个复制单元以处理并传输视频。对于存储器28的视频传输可使用多路复用。在一些实施例中,由于视频往返时间的固有延迟,所以多个信道的传送可实时完成。
[0025]在主存储器上的存储可选择性地非线性地或线性地实施。通常,线性寻址相交寻址线上的一个或多个位置被指定以存取存储器位置。在一些情况下,可指定寻址线(例如,字或位线)并且指示沿着字或位线的区间,因而可将寻址存储器线的一部分以自动化形式依次存储。
[0026]相反地,在二维或非线性寻址中,行和列线两者都可在一个操作中被存取。该操作可指定在存储器矩阵内的初始点,例如,在两条寻址线(例如,行或者列线)的相交处。接着,提供存储器大小或其它分界符以指示二维矩阵的区间,例如,沿着行和列线。一旦初始点被指定,可通过可寻址位置的自动增量而自动地存储整个矩阵。换句话说,其不必返回到主机或其它装置以决定用于存储存储器矩阵的初始点之后的后续部分的地址。二维存储器卸载产生地址的任务或大体上整个地消除它。因而,在一些实施例中,所需的带宽和存取时间两者都可被降低。
[0027]基本上,相同的操作可相反地进行以读取二维存储器矩阵。可替换地,二维存储器矩阵也可使用常见的线性寻址而被存取。
[0028]虽然给出了其中存储器矩阵大小被指定的例子,但也可提供其它分界符,包括二维的每个的区间(即,沿着字和位线)。二维存储器有利于静态与移动图像、图表、以及具有二维数据的其它应用。
[0029]信息可以二维或一维存储于存储器28中。在一个实施例中,在一维与二维之间的转换可自动地在硬件中即时发生。
[0030]因此,参看图3,用于视频捕捉的系统20可以硬件、软件、和/或固件实施。在一些情况下,硬件实施例可能是有利的,因为它们可以有较大的速度。
[0031]如框72中所指示的,可从一个或多个信道接收视频帧。接着视频帧被复制,如框74所指示的。然后,视频帧的一个副本被存储于用于编码的外部存储器中,如框76所指示的。其他副本被存储于用于分析目的的内部或主存储器28中,如框78所指示的。
[0032]接着参看二维矩阵序列80,其被示于图4中,序列可以以软件、固件或硬件实施。再次,使用硬件实施例具有速度优势。
[0033]首先,在菱形框82处的检查确定存储命令是否已经被接收。通常,这种命令可从主机系统(尤其是从其中央处理单元12)接收。那些命令可通过分派单元34被接收,其接着提供这种命令到用于实施该命令的引擎20的适当单元。当该命令已经被实施时,在一些实施例中,分派单元将命令报告返回到主机系统。
[0034]如果涉及存储命令,如菱形框82中确定的,则可接收初始存储器位置以及二维大小信息,如框84所指示的。接着信息被存储在适当的二维矩阵中,如框86所指示的。初始位置例如可定义矩阵的左上方角落。存储操作可自动地在所需大小的存储器20中找到矩阵以实施该操作。在一些实施例中,一旦提供了存储器中的初始点,则操作可自动地存储矩阵的后续部分,而不需要额外的地址计算。[0035]相反地,如果涉及读取存取,如菱形框88中确定的,则可接受初始位置以及二维大小信息,如框90所指示的。接着所指定的矩阵被读取,如框92所指示的。再次,可以自动化形式完成存取,其中初始点可被存取,如常见的线性寻址方式完成,并且接着其余的地址被自动地确定,而不需要返回并且以常规方式计算地址。
[0036]最后,如果移动命令已从主机处接收,如框94所确定的,则接收初始位置以及二维大小信息,如框96所指示的,并且移动命令被自动地实施,如框98所指示的。再次,简单地通过指定开始位置以及提供大小信息,可自动地将信息矩阵从一个位置移动到另一位置。
[0037]返回参看图2,视频分析单元42可通过像素管线单元44耦合至系统的其余部分。单元44可包括执行来自分派单元34的命令的状态机。通常,这些命令源自主机并且由分派单元实施。可依照应用包括多种不同的分析单元。在一个实施例中,可包括卷积单元46用于卷积的自动化供应。
[0038]卷积命令可包括一命令以及指定屏蔽、参考或核心的论据,因而可将在一个被捕捉的图像中的特征与存储器28中的参考二维图像进行比较。该命令可包括指定将卷积结果存储在何处的目的地。
[0039]在一些情况下,每个视频分析单元可以是硬件加速器。通过“硬件加速器”,其意图涉及比在中央处理单元上运行的软件更快地执行功能的硬件装置。
[0040]在一个实施例中,每个视频分析单元可以是状态机,该状态机通过专用于该单元的特定功能的专门硬件而被实施。因而,这些单元可以相对快速的方式执行。此外,对于视频分析单元所实施的每个操作,可能仅需要一个时钟周期,这是因为所需的是告诉硬件加速器执行任务以及提供任务的论据,并且接着可以实施操作序列,而无需来自任何处理器(包括主机处理器)的进一步的控制。
[0041]在一些实施例中,其他视频分析单元可包括以自动化方式计算质心的质心单元48、以自动化方式确定直方图直方图的直方图直方图单元50、以及膨胀/侵蚀单元52。
[0042]膨胀/侵蚀单元52可以负责以自动化方式增加或减少给定图像的分辨率。当然,除非信息先前已经是可用的,否则是不可能增加分辨率的,但在一些情况下,以较高分辨率接收的帧可以较低分辨率处理。因而,较高分辨率的帧是可用的并且可通过膨胀/侵蚀单元52将其转换至较高的分辨率。
[0043]如先前所述,矩阵存储器转移(MTOM)单元54负责实施移动命令。在一些实施例中,可提供运算单元56以及布尔单元58。即使这些相同的单元结合中央处理单元或先前已存在的协同处理器是可用的,将它们装载于引擎20上也是有利的,这是因为它们存在于芯片上可以降低从引擎20至主机以及返回的很多数据传送操作的需要。此外,通过将它们装载于引擎20上,二维或矩阵主存储器可用于一些实施例中。
[0044]可提供提取单元60以从图像取得向量。查询单元62可用于查询特定类型的信息以查看其是否已被存储。例如,查询单元可用于找出已经存储的直方图。最后,当图像对于特定任务具有太高的分辨率时,使用子采样单元64。可对图像进行子采样以减小其分辨率。
[0045]在一些实施例中,也可提供其它部件,包括I2C接口 38以连接摄像机配置命令,并且在一些实施例中通用输入/输出设备40被连接到所有的对应模块以接收一般输入与输出并且结合调试进行使用。[0046]最后,参看图5,在一些实施例中,可实施分析辅助编码方案100。该方案可以软件、固件和/或硬件实施。但是,硬件实施例可能更快。分析辅助编码可使用分析能力以确定应该对视频信息的给定帧的哪部分(如果有的话)进行编码。因而,在一些实施例中,一些部分或帧可能不需要被编码,作为一个结果,可以增加速度和带宽。
[0047]在一些实施例中,是否对其进行编码可以是具体情况,并且在提及一些例子时可以基于可用的电池电力、使用者选择以及可用带宽来立即进行确定的。更具体地,可在现存帧相对后续帧上进行图像或帧分析,以确定是否整个帧需要被编码或者是否仅部分帧需要被编码。这个分析辅助编码与仅决定是否包括运动向量但是仍然对每个帧进行编码的常用的基于运动评估的编码形成对比。
[0048]在本发明的一些实施例中,依据选择基础对连续帧进行编码或不进行编码,以及依照帧内的选择区域中的运动的区间,对那些区域进行编码或根本不进行编码。接着,解码系统被告知有多少帧将被编码或不被编码并且可按照需要简单地复制帧。
[0049]参考图5,在开始时,第一帧或多个帧可被完全编码,如框102中所指示的,以便确定基础或参考。然后,在菱形框104处,检查确定是否应提供分析辅助编码。如果不使用分析辅助编码,则按常规进行编码处理。
[0050]如果如菱形框104所确定的提供分析辅助编码,则确定阈值,如框106中所指示的。在提及一些实施例时,阈值可以是固定的或者可以是适应性的,这取决于非运动因素,例如,可用的电池电力、可用的带宽、或使用者选择。然后,在框108中,分析现存帧以及后续帧,以确定是否存在超出阈值的运动,并且如果是的话,则确定其可否被隔离到特定区域。为此,可使用各种分析单元,包括但不限于,卷积单元、膨胀/侵蚀单元、子采样单元、以及查询单元。尤其是,针对阈值以上的运动分析图像或帧,相对于先前和/或后续帧进行分析。
[0051]接着,如框110中所指示的,可定位具有超出阈值的运动的区域。在一个实施例中,仅那些区域可被编码,如框112中所指示的。在一些情况下,在给定帧上根本没有区域被编码,并且这个结果可被简单地记录,因而该帧可在解码期间被简单地复制。通常,编码器在报头或其它位置中提供关于哪些帧被编码以及帧是否仅有部分被编码的信息。在一些实施例中,被编码部分的地址可以初始点以及矩阵大小的形式提供。
[0052]图3、4和5是可以硬件实施的流程图。它们也可以软件或固件实施,在这种情况下,它们可在非瞬态计算机可读取介质(例如,光学存储器、磁性存储器、或半导体存储器)上实施。非瞬态介质存储由处理器执行的指令。这种处理器或控制器的例子可包括分析引擎20,并且作为两个例子,适当的非瞬态介质可包括主存储器28以及外部存储器22。
[0053]这里描述的图形处理技术可以各种硬件体系结构实施。例如,图形功能可被集成到芯片组内。可替换地,可以使用离散图形处理器。在另一实施例中,图形功能可通过通用处理器实施,包括多核心处理器。
[0054]贯穿全说明书所提及的“一个实施例”或“实施例”意味着结合实施例所说明的特定特征、结构或特性包含于本发明内所包括的至少一个实施例中。因此,短语“一个实施例”或“在实施例中”的出现不必指同一实施例。更进一步,除了所展示的特定实施例之外,特定特征、结构或特点,还可以其它适当的形式制定,并且所有这种形式可包括在本申请的权利要求内。[0055]虽然已经结合有限数量的实施例说明了本发明,但本领域技术人员将明白,本发明可以有许多的修改和变化。附加的权利要求意图涵盖落入本发明真正精神和范畴内的所有修改和变化。
【权利要求】
1.一种方法,包括: 使用视频分析来分析帧以识别所述帧的具有在阈值之下的运动的部分; 对所述部分不编码,而对所述帧的其余部分进行编码;以及 对所述未编码的部分,再使用用于来自先前帧的对应部分的编码。
2.如权利要求1所述的方法,其中使用视频分析包括使用以下中的至少一个:侵蚀、膨胀、或卷积。
3.如权利要求1所述的方法,包括接收多个同时输入视频信道。
4.如权利要求3所述的方法,包括复制每个所述信道。
5.如权利要求4所述的方法,包括将一个副本存储在外部存储器上。
6.如权利要求5所述的方法,包括将另一副本存储在内部存储器上。
7.如权利要求6所述的方法,包括使用二维寻址存储在所述内部存储器上。
8.如权利要求7所述的方法,包括指定所述内部存储器中的点以及二维中的区间。
9.如权利要求5所述的方法,包括存取所述外部存储器以用于编码。
10.如权利要求9所述的方法,包括使用一个副本用于编码以及另一副本用于视频分析。
11.一种存储指令的非瞬态计算机可读介质,以使得计算机处理器用于: 使用视频分析来分析帧以识别所述帧的具有在阈值之下的运动的部分; 对所述部分不编码,而对所述帧的其余部分进行编码;以及 对于所述未编码的部分,再使用用于来自先前帧的对应部分的编码。
12.如权利要求11所述的介质,进一步存储指令以通过使用侵蚀、膨胀、或卷积中的至少一个来使用视频分析。
13.如权利要求11所述的介质,进一步存储指令以接收多个同时输入视频信道。
14.如权利要求13所述的介质,进一步存储指令以复制每个所述信道。
15.如权利要求14所述的介质,进一步存储指令以将一个副本存储在外部存储器上。
16.如权利要求15所述的介质,进一步存储指令以将另一副本存储在内部存储器上。
17.如权利要求16所述的介质,进一步存储指令以使用二维寻址存储在所述内部存储器上。
18.如权利要求17所述的介质,进一步存储指令以指定所述内部存储器中的点以及二维中的区间。
19.如权利要求15所述的介质,进一步存储指令以存取所述外部存储器以用于编码。
20.如权利要求19所述的介质,进一步存储指令以使用一个副本用于编码以及另一副本用于视频分析。
21.一种集成电路,包括: 视频捕捉接口; 主存储器,其耦合到所述视频捕捉接口 ; 像素管线单元,其耦合到所述主存储器;以及 视频编码器,其耦合到所述像素管线单元以及所述视频捕捉接口,所述视频编码器用于使用视频分析来分析帧以分析所述帧的具有在阈值之下的运动的部分,对所述部分不编码,而对所述帧的其余部分进行编码,以及对于所述未编码的部分,再使用用于来自先前帧的对应部分的编码。
22.如权利要求21所述的电路,其中所述电路是嵌入式动态随机存取存储器。
23.如权利要求22所述的电路,所述编码器用于使用在所述像素管线单元中的侵蚀单元、膨胀单元或卷积单元。
24.如权利要求21所述的电路,所述视频捕捉接口用于接收多个同时输入视频信道,并复制每个所述输入视频信道。
25.如权利要求24所述的电路,所述电路用于将所述输入视频信道的一个副本存储在外部存储器上。
26.如权利要求25所述的电路,所述视频捕捉接口用于将另一副本存储在所述主存储器上。
27.如权利要求26所述的电路,其中所述视频捕捉接口使用二维寻址将一个副本存储在所述主存储器上。
28.如权利要求27所述的电路,所述视频捕捉接口指定所述内部存储器中的点以及二维中的区间。
29.如权利要求25所述的电路,所述编码器用于存取存储待被编码的信息的外部存储器。
30.如权利要求29所述的电路,所述编码器用于使用所述副本中的一个和所述像素管线单元来使用所述副本中的另一个。
【文档编号】H04N19/137GK103765888SQ201180073281
【公开日】2014年4月30日 申请日期:2011年9月6日 优先权日:2011年9月6日
【发明者】J·罗德里格斯, A·米什拉, N·多德阿普内尼 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1