将视频帧从存储器传送到片内缓冲器供视频处理的制作方法

文档序号:7612922阅读:203来源:国知局
专利名称:将视频帧从存储器传送到片内缓冲器供视频处理的制作方法
技术领域
本发明涉及使用多相滤波器对数字图像或数字视频进行垂直缩放的技术。
背景技术
在获得随后应用于显示屏的图像或帧的最后象素之前,存在对输入视频执行的数字处理的若干阶段。大多数数字视频播放器可以与不同类型的视频源(包括不同的广播和视频编码格式,例如全国电视标准委员会NTSC和运动图象专家组MPEG格式)接口。因此通常在初始阶段提供转换器,以执行从NTSC模拟信号或MPEG数字信号到未压缩的数字视频流的转换。然后,该流被送到在此简单地称为数字电视(TV)芯片的集成电路(IC)。该数字TV芯片通常物理地位于个人计算机(PC)、电视机顶盒或显示装置内部。
数字电视芯片具有显示处理引擎(DPE),也称为视频流水线或显示处理流水线。该DPE接收未压缩的视频流,并处理该视频流以使其适合特定的显示装置。该DPE也具有许多阶段。这些阶段其中之一可以执行噪声降低。另一个阶段是加强该流,例如关于清晰度或对比度。可以设计二者以改善在显示时该流将如何出现。该DPE还可以具有格式调整阶段。格式调整阶段改变视频流的分辨率、它的刷新率、和/或它的扫描率以适合特定类型的显示装置(如高清晰度电视HDTV、显示装置、液晶显示器(LCD)、等离子以及阴极射线管(CRT))。
通常由DPE以光栅扫描顺序接收视频流,例如,以沿显示屏水平行从左到右(或从右到左)、从上到下(或从下到上)扫描的顺序从外部存储器进行传送。外部存储器可以包括片外随机存取存储器(RAM)装置、如动态RAM器件。该存储装置可以是PC(如使用由位于美国加利福尼亚洲圣克拉拉市的因特尔公司(Intel Corp.,Santa Clara,California)制造的PENTIUM处理器)的主要或系统存储器的一部分。增强流随后可以由DPE直接传送给显示装置。

发明内容
由DPE进行的格式调整可以部分地在缩放阶段执行。缩放操作被设计为在水平和/或垂直方向上收缩或扩展视频帧。在某些应用中,例如从旧的广播电视标准转换成HDTV,缩放操作需要具有更精细的粒度。精细粒度缩放通常使用特定类型的、被称为多相滤波器的数字滤波器来执行。
DPE可以实现垂直缩放,即如下地使用多相滤波器在帧的垂直方向上进行伸展或收缩。考虑具有5个本地(片内)行存储器、每一个都足够大以存储充满整个显示屏的图像或帧的整个水平行的像素的DPE。5个行存储器中的每一个的输出都耦合到5抽头(5个输入)的多相滤波器上。多相滤波器对于从行存储器中获得的5个输入像素的每一列都在其输出端产生单一的像素值。与光栅扫描顺序一致,DPE通常从片外存储器连续装入图像或帧的5个完整的行到其行存储器中。一旦该行存储器已经装入完毕,则多相滤波器的输出被启用,并将多相滤波器的输出作为一组新的像素值(对缩放图像来说)。注意到,取决于向下缩放或向上缩放的大小,DPE可能需要将帧的附加行读到其行存储器(其可以替换较早前被读取的行存储器),以对缩放图像产生更多或更少的输出像素。
作为上述技术的一个例子,考虑具有1920×1080像素分辨率(适于HD电视)的视频。在这种情况下,每个行存储器大约2000像素宽,以适合1920像素(帧的水平宽度)的完整行。因此,对于8比特/像素的4∶2∶2的Y-Cr-Cb的颜色配置来说,该操作需要下列的行存储器尺寸用于Y的行存储器=5×1920×8=76800比特用于Cr的行存储器=5×1920/2×8=38400比特用于Cb的行存储器=5×1920/2×8=38400比特行存储器总数=153600比特


通过实例而非限定的方式说明了本发明的实施例,附图中相同的参考标记指示类似的元件。应该注意的是,在本公开中参考本发明的“一个”实施例不一定是相同的实施例,但它们指至少一个。
图1是用于视频处理的环境的框图。
图2显示了已经被分成多个待连续传送到片内缓冲器供视频处理的条带或区域的HD帧的一个例子。
图3是包括处理器和视频后处理芯片的系统的框图。
图4是用于处理视频的方法的流程图。
具体实施例方式
本发明的一个实施例针对使用多相滤波器对数字图像或数字视频进行垂直缩放的技术。对其它的实施例也进行了描述。
图1是根据本发明实施例、用于视频处理的环境的框图。要显示的视频到达并作为被解码、未被压缩的帧116的流存储在存储器104中。在这种情况下,该存储器104是片外存储器,但它也可以选择性地设置在片内。该存储器104可以是一个足够大以存储实际大小的帧的存储器,例如实际大小的帧的缓冲器。分离的数字电视(DTV)芯片108使用如上所述构成视频流水线或显示处理流水线的固件和/或硬件的组合对帧执行视频处理。将帧116按部分从存储器传送到对它们执行视频处理的DTV芯片。一旦处理完一部分,随后就可以将结果传回到存储器或另一个位置,以应用于显示屏(未示出)。DTV芯片硬件包括用于存储正被处理的每个视频帧的部分的片内缓冲器112。视频处理可以包括使用N抽头多相滤波器114所执行的缩放。
来自存储器的视频帧像素数据的传送(用于填充DTV芯片的片内缓冲器112供处理)可以发生在多个存储器事务处理、例如多个存储器突发(burst)传输中。例如,存储器104可以包括对存储器突发传输具有良好定义机制的双数据率(DDR)随机存取存储器(RAM)。突发传输与确定的存储器地址边界对准。例如,突发可以是字对准的,也就是说,突发包括在给定地址开始的整数个字(其中每个字包括两个或两个以上字节)。可选择地,该突发传输可以是与存储器的较大或较小的组块对准。存储器突发传输比使用多个较小事务处理传送相同数量的字更有效率。
在图1所描述的环境中的操作可以如下。可以对每个帧连续地执行在此描述的操作。存储在存储器104中的视频帧116被分割成多个条带或区域。每个条带可以具有比全部水平屏幕宽度的一半还要小的宽度(以像素测量的)。每个条带可以是存储器的存储器突发宽度(或也称为存储器突发尺寸)的整数倍(一倍或多倍)。像素数据可以以具有条带尺寸大小(从宽度的观点)的部分从存储器被传送。这有助于减少与从存储器传送有关的事务处理开销。
如果条带宽度是缓冲器112的宽度的整数倍,并且是突发尺寸的整数倍,那么因此可以避免与读取超出填充缓冲器所需数据的过量数据(该数据基本上被丢弃)相关的存储器存取损失,从而可以节省存储器传送周期。这种节省对于较大的帧(如,HD帧)以及对于高质量视频的较高帧频(如,大于每秒30帧)更加明显。
除了节省与存储器事务处理相关的开销之外,本发明的实施例还考虑到减小的片内缓冲器或行存储器尺寸,从而减少了对于视频处理所需的芯片有效面积。例如,拿上述背景技术部分所描述的1920×1080HD视频的情况来说,使用本发明实施例所需的行存储器尺寸如下(对于5抽头多相滤波器和4∶2∶2Y、Cr、Cb颜色配置以及8比特/像素的例子来说)用于4Y的行存储器=5×64×8=2560用于Cr的行存储器=5×64×8=2560用于Cb的行存储器=5×64×8=2560行存储器总数=7680比特其中,每个行存储器仅为64字节宽。因此,这在本地或片内行存储器的尺寸的节省上超过一个数量级。
现在参考图2,显示了被分割为M个条带或区域204的实例帧116(用于HD电视的1920×1080像素分辨率)。在此情况下,每个条带的宽度是相同的,在这个例子中,除了在帧的最右边或最左边的条带(未示出)以外,均为64字节。在其它实施例中,帧可以被分割为具有不同条带宽度的部分。图2也显示了如何以部分光栅扫描顺序、在这种情况下为从左到右和从上到下的顺序每次读取条带部分的一水平行。可选择地,光栅扫描顺序可以是从右到左和/或从下到上。每个条带可以由DTV芯片108(图1)顺序地进行处理。注意一些条带可以重叠,虽然为了更好的性能,它们不应该重叠并且应该对准(如图2所示),这样在相邻的条带或区域204之间才不会有间隙。
回到图1,使用多相滤波器114在DTV芯片108中对条带的已传送部分执行视频处理。该多相滤波器是一个具有N抽头的数字滤波器。当使用多相滤波器实现垂直缩放时,片内缓冲器112可以包括用于视频的每种颜色或亮度分量的N个行存储器112_1、112_2...112_N。在这种情况下,每次有N个水平行段被存储在片内缓冲器中。应当注意到,这些是作为与填充整个显示屏的视频帧的全部或完整行相反的行段。通过典型的光栅扫描传送,需要将全部行传送到片内缓冲器。
为了产生多相滤波器的初始输出,需要从给定的条带或区域204中读取一组初始N个行段(参见图2)。一旦执行上述操作,则以水平行形式获取多相滤波器的输出。例如,在这种情况下,对于每个已经装入了64字节宽的N个行段的每一组,存在包括从多相滤波器取得的64字节的输出行段122。在垂直缩放的情况下,取决于缩放因子,在处理完初始组之后,一个或多个附加的或新的行段需要装入。因此,虽然条带的一部分可以包括N个行段,但是随后的部分可以仅仅是单独的附加行段。以这种方式,将N个行段的窗口提供给垂直向下移动该条带的多相滤波器,在每个位置提供64字节宽的输出行段。在处理了整个第一区域204_1以后,操作移到区域204_2,并且以那种方式连续通过帧的剩余部分。注意到,在窗口的每个位置可以可选地装入一组新的数字滤波器系数。
通常,可以根据存储器总线宽度选择条带宽度,以将其有效地传送到片内缓冲器。例如,条带宽度可以是存储器突发尺寸的整数倍。然而已经确定的是,存在外部存储器,则行存储器宽度不需要大于单个存储器突发宽度。保持每个行存储器宽度恰好等于单个存储器突发宽度避免了与未对准的存储器读取相关的存取损失,但也可以是芯片有效面积和更大的缓冲之间理想的权衡。作为一个例子,对于64位的DDR存储器和8位像素,条带宽度应为64字节,突发尺寸8字节,并且片内缓冲器中的行存储器宽度为8字节。
现在转向图3,显示了具有视频后处理芯片的计算机系统的框图。该系统具有处理器304,其可以是由位于加利福尼亚洲圣克拉拉市的因特尔公司(Intel Corp.,of Santa Clara,California)制造的PENTIUM处理器。包括例如DDR RAM模块的主存储器308用于存储要由处理器执行的程序。视频后处理芯片312对程序已请求的解码的视频执行帧调整。该解码的视频可以是例如解码的MPEG视频或已经数字化的另一个原始视频源。芯片312用于将帧“分割”或“划分”成条带,也就是说,如上所述存取采用条带形式的每一个视频帧,其中每个条带可以具有主存储器308的存储器突发宽度的整数倍的宽度。作为选择,每个条带宽度可以是高速缓冲存储器316的高速缓冲存储器行的整数倍,其中高速缓冲存储器316存储最近由处理器使用的数据。芯片312具有允许将每个条带从主存储器连续传送到芯片312、然后在芯片312中进行垂直缩放的机制。这是一个统一存储器体系结构实施例的实例,其中主存储器308具有帧缓冲器部分,以存储用于传送到后处理芯片312的视频帧。这种视频帧可以以光栅扫描的顺序存储在帧缓冲器部分。换句话说,可以以光栅扫描的顺序将它们写入帧缓冲器部分,也可以以光栅扫描的顺序从中读取。当然,为了垂直缩放的目的,然而不是每次读取该帧的整行,而是每次读取一个条带(此处也称为部分光栅扫描)。
可以通过将芯片312连接到主存储器的直接存储器存取(DMA)通道来实现传送。关于垂直缩放,这可以如上所述通过具有N个抽头的多相滤波器来执行,其中每个抽头与相应的片内行段缓冲器耦合。片内缓冲器用来存储条带的N个行段,其中每个行段缓冲器可以具有与存储器突发宽度相同的宽度。
根据本发明的另一个实施例,帧缓冲存储器是片内的,具有多相滤波器和它的片内/本地缓冲器。在那种情况下,片内缓冲器可以是通常位于片内DMA引擎内部的暂存器的一部分。
如上所述的垂直缩放由n个输入的一维运算器来实现。在那种情况下,运算器的输出像素取决于n象素的列,而不取决于那些邻近的列。可以在第一次运算期间以这种方式处理整个帧。这可以与在其中应用另一个一维运算器的第二次运算结合,这次用于水平缩放。两次运算的结合完成所希望的2维缩放。这种类型格式调整的应用是从NTSC 4∶3到HD 16∶9的转换(通过2维按比例缩放)。
同时,可能存在一个以上输入视频流被馈送到DTV芯片的显示处理流水线。例如,一个流要在在电视显示设备上全屏显示,而另一个流要作为画中画(PIP)或画上画(POP)在相同显示屏上进行显示。
现在参考图4,显示了根据本发明实施例、用于已解码视频的后处理的方法的流程图。操作开始于将存储在帧缓冲存储器中的视频帧分割为条带或区域,每个条带或区域具有存储器突发尺寸的整数倍的宽度(404)。使用存储器突发事务处理将条带的一部分传送到片内缓冲器(408)。可以对已传送的部分执行多相滤波、例如垂直失真缩放(412)。如果那个部分是所给定条带的最后一个(416),则该方法确定是否所有条带都已经被处理(420)。如果不是,那么该方法移动到下一部分或下一条带(424),并且对那个下一条带的多个部分重复进行传送和多相滤波操作408、412。
本发明的一个实施例可以是一种机器可读介质,在其上存储有编程处理器以执行如上所述的某些操作的指令,例如,对从存储器传送来的图像部分执行诸如垂直缩放的图像处理。在其它实施例中,这些操作中的一些可以由包含硬连线逻辑的特定硬件组件执行。可选择地,那些操作还可以由编程的计算机组件和定制的硬件组件的任何组合来执行。
机器可读介质可以包括以机器(如,计算机)可读方式进行存储或传送信息的任何结构,不局限于小型只读存储器(CD-ROM)、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)以及通过互联网的传输。
进一步,设计从创造到模拟到制造要经历各种阶段。表示设计的数据可以采用许多方式表示该设计。首先,如在模拟中有用的,可以使用硬件描述语言或其它功能描述语言来表示硬件。另外,具有逻辑和/或晶体管门电路的电路级模型可以在设计处理的某些阶段进行制造。更进一步,大多数设计在某一阶段达到表示在硬件模型中的各种装置的物理布置的数据级别。在使用传统的微电子制造技术的情况下,表示硬件模型的数据可以是指明用于制造集成电路的不同掩模层或掩模上各种特征有无的数据。在任何设计表示中,数据可以存储在任何形式的机器可读介质中。
本发明不局限于上述特定实施例。例如,虽然本发明的实施例在上文中通过参考视频进行描述,但将帧分割为条带并将条带的部分传送到片内缓冲器供进一步片内处理的技术也可以应用于静止图像。而且,任何参考“象素”不局限于上述使用的单独的、8位值的例子。因此,其它实施例也落在权利要求的范围内。
权利要求
1.一种方法,包括a)将存储在帧缓冲存储器中的视频帧分割为多个条带,每个条带都具有小于要在显示屏上显示所述视频帧的显示屏的整个水平宽度的一半的宽度,并且是所述存储器的存储器突发宽度的整数倍;b)将所述条带其中之一的一部分从所述存储器传送到片内缓冲器中;c)对已传送的部分执行多相滤波;以及对所述条带其中之一的另外部分重复b)-c)。
2.根据权利要求1所述的方法,其中所述视频帧是高清晰度(HD)视频帧。
3.根据权利要求2所述的方法,其中垂直缩放是将HD转换为全国电视标准委员会(NTSC)格式的帧调整操作中的一部分。
4.根据权利要求1所述的方法,其中所述视频帧以光栅扫描顺序存储在所述存储器中。
5.根据权利要求4所述的方法,其中所述部分被传送到具有存储器突发宽度的片内缓冲器的多个行段存储器中。
6.一种方法,包括a)通过存储器突发传送将视频帧的一部分从存储器传送到具有宽度为所述存储器的存储器突发宽度的片内缓冲器中;以及b)对已传送的部分执行视频处理。
7.根据权利要求6所述的方法,其中所述视频处理是垂直缩放。
8.根据权利要求7所述的方法,其中所述视频帧以光栅扫描顺序存储在所述存储器中。
9.根据权利要求8所述的方法,其中所述已传送的部分具有多个以从上到下或从下到上的顺序传送的水平行。
10.根据权利要求9所述的方法,其中所述部分被传送到具有存储器突发宽度的片内缓冲器的多个行段存储器中。
11.一种方法,包括根据存储器存取模式,将存储在帧缓冲器中的图像帧传送到不比条带宽度宽的片内缓冲器中,所述存储器存取模式将所述帧处理为多个条带,每个条带具有基于所述存储器的存储器总线宽度的宽度,并且每次传送所述帧的条带的一部分;以及对每个已传送的部分连续执行视频处理。
12.根据权利要求11所述的方法,其中所述视频处理是使用多相滤波的垂直缩放。
13.根据权利要求12所述的方法,其中所述视频帧以光栅扫描顺序存储在所述存储器中。
14.根据权利要求13所述的方法,其中所述已传送的部分具有多个水平行段,每个都具有所述条带宽度的宽度,以从上到下或从下到上的顺序进行传送。
15.一种集成电路(IC)装置,包括片内缓冲器,用于存储已存储在外部存储器中的视频帧的像素数据,所述缓冲器具有多个行段存储器,每个都具有高速缓冲存储器行宽度和所述外部存储器的存储器突发宽度其中之一的宽度,所述IC装置用于接收要从所述外部存储器传送到多个行段存储器中的视频帧的一部分;以及片内视频处理多相滤波器,具有多个分别与所述多个行段存储器相耦合的抽头,以便对已传送的部分进行操作。
16.根据权利要求15所述的IC装置,其中每个行段存储器包括片内RAM。
17.根据权利要求15所述的IC装置,其中所述多相滤波器具有n个抽头,其中n大于2并小于20。
18.根据权利要求17所述的IC装置,其中所述IC装置将所述视频帧处理分割为多个垂直走向的条带,每个条带都具有高速缓冲存储器行宽度和存储器突发宽度其中之一的整数倍宽度。
19.根据权利要求18所述的IC装置,其中所述IC装置使用存储器突发传输重复地从外部存储器中读取条带的部分。
20.根据权利要求19所述的IC装置,其中所述片内缓冲器被组织成Y、Cr和Cb组,以存储所述视频帧的像素数据。
21.一种系统,包括处理器;高速缓冲存储器,用于存储处理器最近使用的数据;主存储器,用于存储要由处理器执行的程序;以及视频后处理芯片,用于对所述程序已请求的解码未压缩的视频执行帧调整,所述芯片将每个视频帧处理划分成多个条带,其中每个条带具有高速缓冲存储器行宽度和所述主存储器的存储器突发宽度其中之一的整数倍宽度,并且从所述主存储器接收每个条带,并对每个已接收的条带进行垂直缩放。
22.根据权利要求21所述的系统,其中所述主存储器具有帧缓冲器部分,以存储用于传送到所述视频后处理芯片的视频帧。
23.根据权利要求22所述的系统,其中所述视频帧以光栅扫描顺序存储在所述帧缓冲器部分。
24.根据权利要求23所述的系统,其中所述主存储器由随机存取存储器模块构成。
25.根据权利要求21所述的系统,其中所述视频后处理芯片具有片内缓冲器,用于存储条带其中之一的一部分,所述片内缓冲器具有与高速缓冲存储器行宽度或存储器突发宽度相同的宽度。
26.一种机器可读介质,包括存储在其中的指令,当执行时,开始多个突发存储器读取事务处理,以将图像的一部分从外部存储器传送到具有与事务处理的存储器突发宽度相同宽度的片内缓冲器中,并对已传送的部分执行多相滤波。
27.根据权利要求26所述的介质,进一步包括重复传送所述图像的另外部分并对已传送的另外部分执行多相滤波的指令。
28.根据权利要求27所述的介质,其中每个所述部分具有所述存储器突发宽度的整数倍宽度。
29.根据权利要求28所述的介质,其中每个部分的宽度就是沿所述图像的水平行段测量的宽度。
全文摘要
通过存储器突发传输将视频帧的一部分从存储器传送到片内缓冲器。片内缓冲器具有与存储器的存储器突发宽度相同的宽度。对已传送的部分执行视频处理。其它实施例也被描述和要求。
文档编号H04N7/015GK1784007SQ20051002301
公开日2006年6月7日 申请日期2005年10月29日 优先权日2004年10月29日
发明者B·尼克尔森, S·王, S·乔德哈里, J·刘, S·库鲁帕蒂 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1