数据处理系统的制作方法

文档序号:7640570阅读:183来源:国知局
专利名称:数据处理系统的制作方法
技术领域
本发明涉及一种数据处理系统和一种用于处理视频数据的方
法。
背景技术
当今的数据处理系统或处理器是基于一种确定的存储器体系, 包括具有不同速度和容量的存储器。然而,因为快速存储器是昂贵的,
所以存储器体系就被组织成若干等级,其中每个等级比下一个较低等 级每字节更小、更快和更昂贵。通常,在一个等级中的所有数据还可 以在其下面的等级中发现,并且在所述较低级别中的所有数据可在该 等级下面的等级中发现直到到达所述体系的底部。
一个高速缓冲存储器可以包括所述存储器体系的第一等级,即
它是与中央处理单元CPU或处理单元最接近的存储器。如果CPU请求
一个能在所述高速缓冲存储器中找到的数据项,则会发生所谓的高速
缓存命中。然而,如果在所述高速缓冲存储器中不能找到由CPU请求
的数据项,则会发生所谓的高速缓存未中。校正所述高速缓存未中和
取出请求数据项需要的时间取决于所述存储器的延迟和带宽。所述延
迟对应于用来检索一个块的第一个字的时间,而带宽涉及检索一个块 的其余字的时间。高速缓冲存储器的基本思想是在它们的实际处理之
前取出那些数据项,所述数据项将是在即将来临的处理循环期间需要 的。
在视频处理的领域内,经常在视频压缩技术中使用运动估计。 视频序列典型地由一系列视频帧构成。可以利用相邻帧之间的时间冗 余来改进视频序列的压縮。对于运动估计,将一个帧选择为参考帧, 并从所述参考帧预测随后的帧。 一个视频帧典型地被分成宏块,其中 一个帧内部的每个宏块与所述参考帧中的宏块相当,并选择所述最佳匹配宏块。通过一个预定的区域(即所谓的搜索区)来执行对所述最 佳匹配宏块的搜索。确定一个矢量,该矢量表示参考帧中的宏块关于 当前帧中的宏块的偏移。为了降低与搜索有关的计算成本,搜索区被 限制。
关于用于视频应用的多级缓冲的更多信息,请参阅由Beric等 人在2004年于"Proceedings of the IAESTED International Conference on Circuits, Signals and Systems 2004,,(第427 -432页)发表的"Streaming Scratchpad Memory Organization for Video Applications"。这里,示出 一个暂存器用于对来自图像存储 器的视频数据提供多级缓冲。例如,类似去隔行、摄影速度上变频、 空间縮放、视频解码/编码、降噪等的视频处理算法需要专门的存储 子系统来满足所述性能要求。通过限制所述矢量的范围来定义一个搜 索区。这种搜索区的大小可根据应用要求而变化。搜索区大小的一个 示例可以是5x3个块。所述暂存器的大小被选为大于所述搜索区。
在Beric等人在2004年1月在印度孟买召开的"17th International Conference on VLSI design (VLSI design 2004),, 上发表的"A 27 mW 1.1疆2 Motion Estimator for Picture-Rate Up-converter"中,描述了一种具有图像存储器、LI暂存器和L0暂 存器的运动估计器。所述L0暂存器存储所述运动估计算法所需的整 个搜索区。
在Beric等人发表的"Low-Bandwidth Dynamic Aspect Ratio Region-Based Motion Estimation"中,示出了一种用于运动估计的 二级存储器体系。L0暂存器用于保存所述运动估计器的搜索区。所 述L1暂存器用于朝向片外图像存储器的方向降低带宽要求。所述Ll 暂存器被设计成用于例如保存所述图像中的一个区域或一个视频帧 的一个区域。这里,所述运动估计是根据的是基于区域的扫描。在所 述基于区域的方案中,所述图像被分成若干区域,并且在每一个所述 区域内独立地执行运动估计。
因此,用于处理视频数据流的系统可以基于二级存储器体系架 构以便降低通过从主存储器取出数据所引入的延迟。这里,LO缓冲器/暂存器位于靠近用于对数据进行缓冲/高速缓冲的处理器或处理 单元,所述数据是所述处理器或处理单元执行其处理所需的。此外, 引入一个Ll缓冲器/暂存器,用于进一步减小与主存储器或图像存储 器通信所需的带宽。所述L0以及Ll缓冲器/暂存器典型地被提供在 芯片内,而所述图像存储器或主存储器被提供在芯片外。因此期望降 低与主存储器进行通信的带宽,因为该通信也会被其它处理单元使用 从而必须在所述特定的处理单元中间共享所述通信的带宽。
LO缓冲器/暂存器典型地包括一个受限芯片区域,因此它不会消 耗大量的能量。所述LO缓冲器/暂存器典型地用于实现所述搜索区。 与所述LO缓冲器/暂存器相比,Ll缓冲器/暂存器典型地需要提供大 量数据,因此所需要的芯片区域是较大的并且所述Ll缓冲器/暂存器 需要较大的能耗。
图3表示从主存储器取出数据到一个基于区域的运动估计的暂 存器/缓冲器中的方案的示意图。具体地说,从所述主存储器/图像存 储器取出一个完整的区域到所述Ll缓冲器/暂存器中。存储在所述 Ll缓冲器/暂存器中的像素的处理被开始。来自Ll缓冲器/暂存器的 数据或像素被取出到所述LO缓冲器/暂存器中使得一个处理单元可 以访问该数据以便能够启动其处理。在L1缓冲器/暂存器中的数据已 经被处理之后,需要用新数据填充所述Ll缓冲器/暂存器。该新数据 优选的是与先前访问的区域邻接的数据,即先前位置右边的区域。用 于取出数据的扫描顺序在图3中由曲折线SO指示。优选的,将要扫 描的区域被选为相对较大并且选择一个曲折的扫描顺序SO。然而, 如果在将要扫描的区域移到位于先前位置右边的一个位置的情况下 所述区域并不覆盖一个视频帧或屏幕S的全宽,则该扫描顺序SO被 打断。因此,所述曲折扫描顺序SO被中断从而所述处理的质量被削 弱。

发明内容
因此本发明的目的是提供一种具有用于对视频数据进行缓冲的 存储器的数据处理系统,其需要较小的芯片区域而不会削弱其处理的性能或质量。
该目的是通过根据权利要求1所述的数据处理系统和根据权利 要求7所述的用于处理视频数据的方法解决的。
因此,提供一种用于在窗口的基础上对视频数据进行处理的数 据处理系统。至少提供一个第一存储器单元来用于根据第一窗口以第 一扫描顺序对来自图像存储器的视频数据进行取出和存储。至少提供 一个第二存储器单元来用于根据第二窗口以第二扫描顺序对来自第 一存储器单元的视频数据进行取出和存储。至少提供一个处理单元来
用于根据第二扫描顺序对存储在所述至少一个第二存储器单元中的 第二窗口的视频数据执行视频处理。第二扫描顺序对应于与第一扫描 顺序基本上垂直的曲折扫描顺序。
因为第二扫描顺序与第一扫描顺序垂直,所以如果正进行处理 的窗口被移动以处理后续数据,则不需要中断所述扫描顺序。此外, 能够在逐行方式的基础上从所述图像存储器取出数据到第一和第二 存储器单元中。
根据本发明的一个方面,第二扫描顺序是通过下述步骤执行的 在第二扫描顺序的方向上扫描、在第一扫描顺序的方向上前进一步、 在与第一扫描顺序的方向垂直的方向上反向扫描和在第一扫描顺序
的方向上前进一步。因此,通过该曲折扫描方案,能够保证在所述扫 描顺序中将不需要中断。
本发明还涉及一种用于在窗口的基础上处理视频数据的方法。 来自图像存储器的视频数据根据第一窗口以第一扫描顺序被取出和 存储在至少一个第一存储器单元中。来自第一存储器单元的视频数据 根据第二窗口以第二扫描顺序被取出和存储在至少一个第二存储器 单元中。根据第二扫描顺序对存储在所述至少一个第二存储器单元中 的第二窗口的视频数据执行视频处理。第二扫描顺序是与第一扫描顺 序垂直的曲折扫描顺序。
本发明涉及的思想是将扫描顺序,即曲折方向旋转90。。因此, 如果正进行处理的区域被移动以便处理后续数据,则将不用打断所述 扫描顺序。在对几列进行处理的同时,能够下载后续数据,即在所述处理正在进行RWP的同时可以对它进行补充。因此,所述区域只需要 移位一列来补充数据。因为这是顺序进程,所以所述处理数据能够被 并行执行。
通过执行与主方向垂直的曲折扫描顺序模式,来自主存储器的
视频数据在逐行方式的基础上被取出到Ll暂存器/缓冲器中。随后, Ll暂存器/缓冲器中的数据按照逐行的方式被取出到LO暂存器/缓冲 器中,其中通过LO暂存器/缓冲器取出的各行的方向与通过Ll暂存 器/缓冲器取出的各行的方向一致。
本发明的其它方面在从属权利要求中定义。


现在将参照

本发明的实施例。
图l表示根据本发明的数据处理系统的基本架构;
图2A和2B表示根据本发明一个实施例的基于区域的运动估计
的扫描的示意图;和
图3A和3B表示根据现有技术的用于从主存储器取出数据的基
于区域的运动估计方案的示意图。
具体实施例方式
图1表示根据第一实施例的数据处理系统的基本架构。所述数 据处理系统包括多个用于执行专用或一般处理的处理单元PU。每一 个所述处理单元PU关联到一个LO缓冲器/暂存器。所述LO缓冲器/ 暂存器与一个Ll缓冲器/暂存器耦接。所述Ll缓冲器/暂存器用于对 来自图像存储器或主存储器IM的数据进行缓冲/暂存。主存储器IM 优选地组成一个外部存储器,但也可以在芯片上实现。此外,提供一 个控制器C,用于控制Ll缓冲器/暂存器和LO缓冲器/暂存器的缓冲 /高速缓冲/暂存操作。所述控制器C、处理单元PU和缓冲器/暂存器 优选地被布置在芯片OC上。优选的是,分别在LO和Ll缓冲器/暂存 器中实现控制器C。因此所述控制器是以分布的方式实现的。
根据第一实施例的数据处理系统可用于对视频数据流执行运动估计以便实现一个运动估计器。可在主存储器IM中存储或缓冲所述
流或所述流的至少一部分。借助于Ll和LO缓冲器/暂存器,来自主 存储器IM的视频数据被取出使得所述处理单元中的一个能够对所述 视频数据执行所需的视频处理。如何从主存储器IM取出视频数据到 Ll缓冲器/暂存器和从Ll缓冲器/暂存器取出到LO缓冲器/暂存器并 且最终送到处理单元PU的方式或方案由处理单元PU控制和/或启动。 优选的是,能够通过处理单元PU修改或修正该取出方案。因此,所 述取出方案是可编程的,具体地说是在运行时间内可编程的。
根据第一实施例的运动估计优选地涉及基于区域的运动估计。 所述LO缓冲器被设计成提供了所述运动估计的搜索区和/或运动补 偿器。所述Ll缓冲器优选地被设计成提供了能够对其执行运动估计 的视频数据的一个区域。
举例来说,所述运动估计可以基于三维递归搜索3DRS块匹配算 法。应该注意也可以执行其它匹配算法。所述图像被分成若干区域, 并且对每个所述区域独立地执行运动估计。当已经处理了所述区域内 的所有数据时,选择下一个区域。
图2表示根据本发明一个实施例的基于区域的运动估计的扫描 的示意图。图2A表示在被扫描的屏幕S中进行处理的区域的示意图。 在图2A中主扫描顺序S01是水平方向的,即从左至右。进行处理的 区域,即取给Ll缓冲器的数据被选择成小于现有技术中的区域。这 是因为扫描顺序S0的方向被旋转90。。即扫描开始于沿第一列CL1 向下扫描,然后在第一列CL1的末端所述扫描向右移,再然后向上扫 描第二列CL2。因此,能够以在不需要打断所述扫描顺序SO的情况 下移动通过所述帧并处理各个数据的连续的方式执行扫描。在对正在 进行处理的区域迸行扫描期间,能够在处理RWP的同时补充列CL4。 在该列CL4已经被填满之后,所述区域R被移位一个列,并如前所述 继续扫描。因此,所述区域不是按逐区域方式偏移的,而是按逐列方 式或逐线方式偏移的。因为这是可以与所述数据处理并行执行的顺序 进程,所以这种处理的效率能够得以改进。与关于图3所述的现有方 案相比,其中为了提供并行处理需要完整区域的双缓冲,根据图2的扫描更为容易并且不需要扫描中断。
可选择的,所述主扫描顺序可以自上而下。在此情况中,所述 曲折扫描顺序SO将与所述主扫描顺序正交,使得所述扫描将从第一 行开始,例如从左至右,然后在主扫描顺序方向上前进一步,然后从 右到左扫描并且再次在所述主扫描方向上再前进一步,等等。
在所述处理单元上执行的应用可以对所述主扫描顺序以及从图
像存储器IM和Ll缓冲器/暂存器取出数据的扫描顺序进行编程。
在图2B中,示出了其中扫描已经按时进行了的情形。应该注意 虽然图2A和2B中的区域R只包括4歹ij,但该特定数量的列被选择用 于阐释本发明的基本原理。所述区域R也可以提供更多的列。
从主存储器或图像存储器IM取出视频数据到Ll暂存器的过程 是通过在垂直于运动估计的方向上滑动来执行的。在所述滑动操作期 间,最旧的和不再需要的那些列或行被一列替换。
根据所述应用的另一个实施例,上述的数据处理系统是基于考 虑高清晰度电视(HDTV)屏幕尺寸和应用于该尺寸的算法的CMOS 12 技术实现的。对于需要支持大屏幕尺寸的情况会实现最佳效果。
现在通过分析HDTV (作为标准提出的)的尺寸的成本降低说明 关于所述区域的结果保存,所述HDTV可以达到1920 * 1080i (隔行 应用)像素。这可以被译成8 * 4像素的块,即240 * 135块。高性 能所要求的一个搜索区(所述要求实际上被提议作为运动矢量的限 制)可对应于21 * 13块,即所述Ll缓冲器/暂存器必须提供至少 21 + 1块且所述L0缓冲器应该能提供21块。根据图3A和3B描绘的 区域的典型尺寸可以是69 * 26块=1794块,其可对应于2.2 mm2 的区域。为了提供上述宽度为21块的搜索区,根据本发明的区域可 以选择来提供64 * 14块=8%块=1.2 ram2。该L1宽高比和尺寸支 持足够的曲折宽度。换句话说,与现有技术的基于区域的方案的69* 26块的情况比较,图像质量被很小的削弱。即,现有技术的情况假 定在每个26 - 2 * 13/2块之后的垂直域中中断扫描(然后进行Ll 的更新)。然而,根据本发明,在垂直域中根本没有中断。所述Ll 可以被复制达到6 - 10次以支持使用多个场/帧参考的算法,即两个方案中的差别是非常显著的,即大于6至10 mm2。
因此,本发明涉及一种具有二级缓冲器(L1和L0)的视频处理
系统。所述视频处理是在窗口的基础上执行的,即逐个窗口的执行视
频处理。将要处理的视频数据典型地被从一个外部存储器提取到Ll 缓冲器中使得与第一窗口相关的视频数据被存储在Ll缓冲器中。来 自L1缓冲器的视频数据被取出到L0缓冲器中使得与第二窗口相关的 视频数据被存储在L0缓冲器中,其中第二窗口是第一窗口的子集。 与L0缓冲器相关的处理单元执行的处理是在第二窗口的基础上进 行。可以提供用于控制缓冲器LO、 Ll的控制器。所述控制器可以包 含在所述缓冲器中使得L1具有其自己的控制器和L0具有其自己的控 制器,并且所述控制器是以分布的方式实现的。所述处理单元适合于 修改所述扫描顺序。
本发明还涉及一种具有二级缓冲器(L0、 Ll)的运动估计器, 所述二级缓冲器用于对来自图像存储器的视频数据进行缓冲。选择 L0缓冲器的容量以提供运动估计的搜索区。选择Ll缓冲器的容量以 提供所述运动估计的区域以便执行基于区域的运动估'计。根据运动估 计的方向从所述图像存储器取出用于运动估计的区域。从Ll缓冲器 到LO缓冲器的取出过程和视频数据在LO缓冲器中的处理是按照曲折 扫描顺序执行的,其中所述扫描顺序与运动估计的方向垂直。
应该注意上述实施例仅仅是阐释而非限制本发明,在不脱离所 附权利要求的范围的情况下,本领域技术人员将能设计许多替换实施 例。在权利要求中,放置在括号中间的任何参考符号不应该理解为限 制权利要求。单词"包括"并不排除存在在一个权利要求中所列举的 那些之外的元件或步骤。在一个元件之前的单词"一"或"一个"并 不排除出现多个这种元件。在列举了若干构件的装置权利要求中,这 些构件的若干个能够通过仅仅一个硬件来实现。在互相不同的从属权 利要求中列举的某些措施这样的纯粹事实并不表示这些措施的组合 不能用来得到有益效果。
此外,在权利要求中的任何参考符号不应理解为限制权利要求 的范围。
权利要求
1.用于在窗口的基础上处理视频数据的数据处理系统,包括-至少一个第一存储器单元(L1),用于根据第一窗口(R)以第一扫描顺序(SO1)从一个图像存储器(IM)取出和存储视频数据,-至少一个第二存储器单元(L0),用于根据第二窗口以第二扫描顺序(SO)从第一存储器单元(L1)取出和存储视频数据,-至少一个处理单元(PU),用于根据第二扫描顺序(SO)对存储在所述至少一个第二存储器单元(L0)中的第二窗口的视频数据执行视频处理,并且其中第二扫描顺序(SO)是与第一扫描顺序(SO1)垂直的曲折扫描顺序。
2. 根据权利要求l所述的数据处理系统,包括-控制器单元(C),用于控制所述至少一个第一存储器单元和 至少一个第二存储器单元(L1, LO)的视频数据的取出和存储。
3. 根据权利要求l所述的数据处理系统,其中-第二扫描顺序(SO)是通过下述步骤执行的在第二扫描顺 序(SO)的方向上进行扫描,在第一扫描顺序(SOI)的方向上前进 一步,然后在与第一扫描顺序(SOI)的方向垂直的方向上反向扫描, 和在第一扫描顺序(SOI)的方向上前进一步。
4. 根据权利要求1或2所述的数据处理系统,其中 -'所述第一扫描顺序(SOI)的方向是水平的或垂直的。
5. 根据权利要求l所述的数据处理系统,其中 所述至少一个处理单元(PU)用于改变所述第一和/或第二扫描顺序(SOl, SO)。
6. 根据权利要求l所述的数据处理系统,其中所述从图像存储器(IM)取出视频数据到第一存储器单元(Ll) 中的过程是通过在第一扫描顺序(S01)的方向上滑动来执行的。
7. 用于在窗口的基础上处理视频数据的方法,包括下述步骤-根据第一窗口 (R)以第一扫描顺序(S01)将视频数据从一 个图像存储器(IM)取出并存储在至少一个第一存储器单元(Ll)中,-根据第二窗口按照第二扫描顺序(SO)将视频数据从第一存 储器单元(LI)取出并存储在至少一个第二存储器单元中;-根据第二扫描顺序对存储在所述至少一个第二存储器单元中 的第二窗口的视频数据执行视频处理,并且-其中第二扫描顺序(SO)是与第一扫描顺序(SOI)垂直的曲折扫描顺序。
全文摘要
提供一种用于在窗口的基础上处理视频数据的数据处理系统。提供至少一个存储器单元(L1),用于根据第一窗口(R)以第一扫描顺序从图像存储器(IM)取出和存储视频数据。提供至少一个第二存储器单元(L0),用于根据第二窗口以第二扫描顺序(S0)从第一存储器单元(L1)取出和存储视频数据。此外,提供至少一个处理单元(PU),用于根据第二扫描顺序(S0)对存储在所述至少一个第二存储器单元(L0)中的第二窗口的视频数据执行视频处理。第二扫描顺序(S0)是与第一扫描顺序(S01)垂直的曲折扫描顺序。
文档编号H04N7/50GK101300849SQ200680040550
公开日2008年11月5日 申请日期2006年10月27日 优先权日2005年11月1日
发明者亚历山大·贝里克, 拉马纳坦·塞思拉曼 申请人:Nxp股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1