有效的视频重采样的技术的制作方法

文档序号:2610318阅读:136来源:国知局
专利名称:有效的视频重采样的技术的制作方法
技术领域
本发明涉及一种有效地访问存储器中的存储值以允许数据重采样(re-sampling)等的技术。
背景技术
通过以特定频率对模拟信号进行采样并且将采样存储为相应的数字采样,来进行模拟信号至数字信号的转换。某些应用需要输出采样率与输入采样率不同。转换采样速率或相位的过程通常被称为“重采样”。在视频条件下,当证明图像像素的数目或结构是希望的时,例如,当将诸如CCIR 656或ATSC之类的特定格式的图像转换为与特定显示设备兼容的像素结构时,出现数据重采样。在画中画处理和电子画面几何校正期间,也出现重采样。
执行数据重采样的设备通常使用多相滤波器来进行重采样。这种滤波器包括各个子滤波器的集合。子滤波器的组合使用周围输入像素值的加权和来计算输出像素值。响应相对于输入像素位置的希望输出像素位置,出现加权系数的动态控制。至少两个周围输入像素被用于插值。使用大量的周围像素在更高复杂度的代价下提供了更好的结果。
对于提供水平几何校正的系统,仅在水平方向中进行重采样,并且四个水平相邻的输入像素用于计算一个输出像素。用于计算一个输出像素的四个相邻输入像素可以构成用于计算前一采样的相同四个像素。可选地,该四个像素组可以移位一个或两个输入像素。
图1示出了其中每一个存储器位置都存储了单个像素的现有技术线性存储器结构10。数据值A、B、C等共同地表示相邻水平像素的像素值。图1的数据结构导致了必须发生四个读操作来获得所有四个所需相邻像素值的缺点。如果在每一个时钟周期内需要读取四个相邻像素,由于在每一个时钟周期内读操作被局限于一个地址,所以存在存储器带宽的问题。使存储器时钟运行快四倍可以解决这种问题,但是这通常是不实际的。
因此,需要一种技术,用于在单个读操作期间获得对任意预定数目的存储值的随机访问。

发明内容
简而言之,根据本发明原理的优选实施例,提供了一种方法,用于从存储器中获得特定数据值串内的预定一组数据值,所述数据串的值的数目至少比组中的数据值数目大一。该方法开始于首先产生包括第一和第二部分的地址请求。第一部分标识感兴趣的特定串,而第二部分标识该特定数据值串内感兴趣的预定一组值。地址请求的第一部分被应用到寻址存储器,以在读操作期间读出特定数据值。根据地址请求的第二部分,对选定的串进行掩码(masking)操作,以选择串内的预定一组值。使用该方法获得的优点在于每一个存储器位置提供了多个预定数据值组的集合,在单个读操作期间可以获得其中任何一组数据值。


图1示出了在每一个存储器位置存储了单个像素值的现有技术线性存储器结构;图2示出了根据本发明原理的第一实施例、用于能够随机访问一组值的存储器结构;图3示出了根据本发明原理的第二实施例、用于能够随机访问一组值的第二存储器结构;以及图4示出了实现根据本发明原理的存储器结构的几何校正系统的读控制电路的方框示意图。
具体实施例方式
如下面详细进行描述的,每一个所示实施例都提供了一种存储器结构,能够访问存储在存储器中的一串值中不同预定组的值,使得在单个读操作期间可以访问每一个预定组的值。
图2示出了存储器结构20的第一实施例,允许在单个读操作期间随机访问多个组中任意一组的值。为了便于讨论,每一个预定组包括四个值,并且每一个值典型地表示图像中的像素。然而,每一个组可以包括多于或少于四个值,并且可以包括任意类型的数据值。
存储器结构20具有M列、每列N块的形式,其中,M和N是整数。在图2所示的实施例中,块大小N等于每一个感兴趣的预定值组内的值的数目。在为了几何校正而进行视频重采样的情况下,每一个预定值组包括四个值,与要校正的像素周围的四个相邻像素值相对应。对于图2所示的存储器结构,M=7,且N=4。存储器结构10中的M列具有独立的地址,为了演示目的由数字0、1、2、3、…M表示。
为了便于随机访问,存储器结构20中的每一个连续列具有N-1块,该N-1块具有与前一列相同的值。因此,例如,在图2中,地址“0”的列具有分别包含值A、B、C、D的四个块,而地址“1”和“2”的列分别包含值B、C、D和E以及值C、D、E和F。存储器结构20的M列中特定一列的单个读取将产生特定四块集合的值。
与图1的存储器结构10相比,图2的存储器结构20提供了在单个读操作期间获得特定集合的四个像素值的能力,与一次读出一个像素值相比,实现了更高的效率。然而,图2的存储器结构20仅提供了读出单个四块集合的能力,在读特定列时单个四块集合通常是指像素相位。因此,读取地址为“0”的列产生了单个像素相位(pixel phase)A、B、C和D,实现了25%的效率(单个像素相位/每列四个像素值)。尽管图2的存储器结构克服了图1的存储器结构10的存储器带宽问题,但是存储器结构20的低效使得它对于多数应用是不合意的。
图3示出了存储器结构30,包括M列,每列具有N+Y块,其中N和Y是大于零的整数。与图2的存储器结构相比,存储器结构30的M列的每一列具有地址0、1、2、3…M的独立一列。在所示实施例中,M=8,N=4且Y=3。因此,与图2的存储器结构20的每一列中包含四块相比,图3的存储器结构中八列的每一列包含七块。与图2的存储器结构20相比,存储器结构30的每一个后一行具有与每一个前一列相同的Y块。
从下面可以更好地理解到,假设存储器结构30在每一列中具有N+Y块,通过在单个读操作期间提供更多数目的像素相位组合,实现了更高的效率。例如,考虑具有地址“0”的存储器结构30中的第一列。该特定列包含像素值A、B、C、D、E、F和G,因此提供了四个像素相位相位0A B C D相位1B C D E相位2C D E F相位3D E F G因此,通过读图3的存储器结构30的每一列,提供了获得四个不同像素相位的能力。
典型地,通过解码过程来进行对存储在存储器结构30的每一列中的特定一个像素相位进行选择,以标识感兴趣的像素相位,而对剩下的像素相位进行掩码操作。为此,对存储器结构30应用的地址请求具有两部分,尽管不是必要的,两部分通常是至少一个最高有效位和至少一个最低有效位。地址请求的第一部分(即最高有效位(MSB))标识包含感兴趣的像素相位的特定列。地址请求的第二部分(即最低有效位或LSB)标识所标识的列中感兴趣的特定像素相位。
关于图3演示性地示出的存储器结构30,地址请求包含二进制五比特串xxxyy。地址请求的三个最高有效位(MSB)(xxx)指定了感兴趣的八列中的特定一列,而两个最低有效位(LSB)(yy)指定了该列中感兴趣的特定像素相位。根据地址请求中的LSB,解复用器(未示出)或类似设备对未选择的像素相位进行掩码操作。与图2的存储器结构20相比,图3的存储器结构30提供了4/7(四个像素/每列7块)或57%的效率,对于多数应用而言是可接受的。
在存储器结构30的每列中增加块的数目将增加效率。表I示出了存储器效率按照需要随机访问四个相邻像素的应用的块大小的函数的增加,其中每块的相位按照2i的函数而改变,其中i是整数指数值。该表简化了如上所述进行解码的地址。
表I

图4示出了根据本发明原理、用于控制数据访问以能够按照下述方法进行几何校正的几何校正电路40的一部分的方框图。电路40包括读控制器42,用于产生从存储连续视频行的存储器44中读取数据的读地址。每一视频行包括多个像素值,每一个像素值在连续的块周期期间进入存储器。实际上,存储器存储每一视频行,作为独立的YUV数据串。通常,存储器44的每一列包含7块,每一块分别存储单独一个Y、U和V集合的连续10比特值。为了允许快速数据传输,存储器44具有与读控制器42相连的2百-十比特总线,以允许在单个读操作期间输出Y、U和V的七个连续值的每一个。
典型地,读控制器42具有有线单元的形式,例如特定应用集成电路(ASIC)或可编程门阵列(PGA)或这种器件的任意组合。可选地,读控制器42可以包括微处理器和微计算机,其包括硬件、软件和固件的组合。可以将软件实现为易于在程序存储器件(未示出)中实现的应用程序。
读控制块42根据通常长度为13比特的拉伸(STRETCH)信号和偏移(OFFSET)信号,产生用于访问存储器44的读地址。拉伸信号指示图像内希望的拉伸程度,因此规定了存储的像素值的寻址。这可以理解如下。在没有任何拉伸时,读控制器42针对每一存储的视频行,按照与写这种像素值相同的方式,根据连续时钟信号将连续像素值读出存储器44,以便将每一行存储在存储器中。按照这种方式,由读控制器42读出存储器44的相应像素串表示的每一视频行应该与读入存储器时看起来相同。
为了实现将图像拉伸规定的百分比,读控制器42必须按照实现使视频行拉伸该百分比的方式来读出存储器44中的像素值。因此,为了实现百分之十的拉伸,读控制器42必须读取其值表示拉伸了该百分比的图像的相应部分的像素。取决于希望的拉伸程度,通常需要插值。当必须进行插值时,读控制器42将对存储器44进行寻址以获得最近的像素值,并且产生子像素插值命令,下游插值器(未示出)接收该命令以实现所需的插值。
由读控制器42接收的偏移确定了对存储器44的寻址必须偏移的程度,以实现相应视频行中的偏移。例如,假设视频行应该享有25像素的偏移。为了实现这种偏移,读控制器输出用于对存储器44进行寻址的连续读地址,以实现25像素的偏移。
除了拉伸和偏移信号之外,读控制器42接收缓冲旁路(BUF_BYPASS)信号和行起始(START_OF_LINE)信号。行起始信号在每一行的开始处初始化读控制器内的状态机。缓冲旁路信号通过将偏移和拉伸信号设置为零,使几何校正失效。
从读控制器42接收的每一个像素值的Y、U和V分量的7个连续10比特值分别在每一个数据总线Y_data、V_data和U_data上传递,分别被传递到子地址解复用器46、48和50的集合中的单独一个。子地址复用器46、48和50的每一个接收读控制器42结合施加到存储器44上的读地址所产生的2比特的采样选择信号(SA-SEL)。施加到子地址解复用器上的SA-SEL使得每一个解复用器选择施加到其上的数据流内的特定像素相位,而对剩下的像素相位进行掩码操作。
可以认识到,图4的读控制器42提供了按照与结合图3的存储器结构30所述方式的相同的方式、在单个读操作期间对像素值串内的像素集合中的特定一个的选择。读控制器42产生的读地址包括地址请求的第一部分,用于从存储器44中选择特定的像素值串。采样选择信号(SA-SEL)包括地址请求的第二部分,操作用于控制子地址解复用器46、48和50选择感兴趣的特定像素相位而对其它相位进行掩码操作。按照这种方式,读控制器42操作用于从存储器44中读出特定的像素值串,并且在单个读操作期间选择特定的像素相位。
上面描述了一种技术,用于有效地访问存储的值,以便在单个读操作期间获得一串值内的预定值集合中的任意一个。
权利要求
1.一种方法,用于从存储器获得选定数据串内的预定一组数据值,所述选定数据串包含比所述组中的数据值的数目更多的值,所述方法包括步骤产生包括第一和第二部分的地址请求,第一部分标识感兴趣的选定数据串,第二部分标识选定串内感兴趣的预定一组值;将地址请求的第一部分应用到存储器,以便在读操作期间读出选定数据串;根据地址请求的第二部分,对选定数据串进行掩码操作,以便在选定串内选择预定一组数据值。
2.根据权利要求所述的方法,还包括步骤产生地址请求,使得第一和第二部分分别包括至少一个最高有效位和至少一个最低有效位。
3.根据权利要求1所述的方法,其中,掩码步骤包括步骤将选定数据串应用到解复用器;以及根据地址请求的第二部分来控制解复用器。
4.根据权利要求1所述的方法,其中,选定数据串包括的数据值比每一个组中预定数目的数据值至少多两个。
5.根据权利要求1所述的方法,其中,选定的值串包括独立的子串,并且掩码步骤还包括步骤根据地址请求的第二部分对每一个子串进行掩码操作。
6.根据权利要求5所述的方法,其中,子串包括Y、U和V像素数据。
7.一种设备,用于从存储器获得选定数据串内的预定一组数据值,所述选定数据串包含比所述组中的数据值的数目更多的值,所述设备包括地址产生器,用于产生包括第一和第二部分的地址请求,第一部分标识感兴趣的选定数据串,第二部分标识该选定串内感兴趣的预定一组值;存储器,用于存储至少一个数据值串,并且响应于地址请求的第一部分,读出选定数据串;至少一个解复用器,用于根据地址请求的第二部分来对选定数据串进行掩码操作,以便在选定串内选择预定一组数据值。
8.根据权利要求7所述的设备,其中,地址请求的第一和第二部分分别包括至少一个最高有效位和至少一个最低有效位。
7.根据权利要求所述的设备,其中,选定的值串包括独立的子串。
8.根据权利要求7所述的设备,还包括多个解复用器,每一个解复用器根据地址请求的第二部分,分别对相应的每一个子串进行掩码操作。
9.根据权利要求5所述的方法,其中,子串包括Y、U和V像素数据。
全文摘要
通过首先产生地址请求,来进行存储器(20、30、44)内的有效重采样,该地址请求包括标识感兴趣的选定数据串的第一部分和标识该选定串内预定一组数据值的第二部分。将地址请求的第一部分施加到存储器,以在单个读操作期间获得选定的值串。读地址的第二部分用于对选定的值串进行掩码操作,以获得串内感兴趣的特定一组值。
文档编号G09G5/36GK1930627SQ200580008250
公开日2007年3月14日 申请日期2005年3月2日 优先权日2004年3月15日
发明者马克·弗朗西斯·鲁姆里奇 申请人:汤姆森许可贸易公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1