视频处理芯片数据流控制及帧缓存装置的制作方法

文档序号:2585259阅读:163来源:国知局
专利名称:视频处理芯片数据流控制及帧缓存装置的制作方法
技术领域
本发明涉及一种数据流控制及帧缓存装置,具体来说,涉及一种视频处理芯片中, 实现对多路数据流输入/输出的实时控制和对帧缓存器读写控制,以及实现视频帧率转换功能的视频处理芯片数据流控制及帧缓存装置。
背景技术
在DTV、HDTV实时视频后处理芯片中,需要实时处理大量的视频信号数据和屏幕显示(OSD)数据。例如,对标清视频信号720*576@50Hz而言,需要处理大于300Mb/s的数据吞吐率,而一帧图像的数据量大于800K字节。另外,数据往往并非单路的,而是多路信号输入/输出并存的。例如,典型的应用场合中,有OSD信号和Y、U、V三路视频信号。为了解决上述的视频处理芯片中多路信号并存,且数据流量大两个问题,实际上采用了片内RAM和片外存储器协作处理的方式。片内的高速RAM作为多路视频信号的缓冲器,用于多路视频数据的缓冲,防止数据丢失;而片外的存储器作为帧缓存器(或称为“显存”),用于缓存视频处理单元即要处理或已处理的帧数据。出于成本与芯片功耗的考虑,帧缓存器常采用片外的SDRAM(也可采用速度更快的DDR SDRAM,DD2 SDRAM等),而不采用片内的RAM来实现。片内的RAM具有读写速度快、 成本高昂等特点。帧缓存器需要处理的帧数据量大,若采用片内的RAM,必然占用大量的芯片面积,增加芯片成本。另外,片内存储器也是芯片功耗的主要来源。因此,采用片外的 SDRAM可以有效降低芯片的功耗。采用片外的SDRAM作为帧缓存器也存在另外一个问题SDRAM的输入输出端口只有一个,而芯片处理的数据流却有不止一组。目前要处理的信号有四组数据流,即OSD信号、亮度信号Y,以及色度信号U和V。每组数据流既有输入也有输出,即有8路数据流需要处理。各路数据流访问SDRAM的时间必须严格控制,否则会发生冲突、溢出、数据丢失等不可容忍的错误。另外,视频输入和输出格式往往不同,使得视频的帧率不一定相同。为了满足系统输入和输出接口的传输要求,必须解决帧率不同情况下的视频数据传输问题。

发明内容
针对以上的不足,本发明提供了一种视频处理芯片中,实现对多路数据流输入/ 输出的实时控制和对帧缓存器读写控制,以及实现视频帧率转换功能的视频处理芯片数据流控制及帧缓存装置,它包括实现接收并缓存外部数据流的输入缓冲池;实现处理后的数据流输出的输出缓冲池;实现对数据流的输入、输出进行实时控制和对帧缓存器进行读写控制,以及实现对数据流的视频帧率进行转换的控制模块。所述输入缓冲池片内连接OSD 控制模块和视频输入处理模块,所述输出缓冲池片内连接视频输出处理模块,所述控制模块片外连接帧缓存器。所述输入缓冲池含有多个FIFO结构异步缓冲器,它包括与OSD控制模块连接的OSD输入缓冲器,以及分别与视频输入处理模块连接的Y信号输入缓冲器、U信号输入缓冲器和V信号输入缓冲器。所述输出缓冲池含有多个FIFO结构异步缓冲器,它包括与视频输出处理模块连接的OSD输出缓冲器、Y信号输出缓冲器、U信号输出缓冲器和V信号输出缓冲器。所述控制模块包括实现对各路数据流的输入和输出进行有效实时控制的仲裁模块;实现对仲裁模块的读写请求的响应和计算并提供读写地址给显存控制器,以及通过管理帧缓存器中的三帧视频数据,实现视频帧率转换的地址管理模块;实现对与之片外连接的帧缓存器进行读写控制的显存控制器。所述仲裁模块由一个有限状态转换机组成,它采用直接跳转策略和优先级动态调整策略实现对各路数据流的输入输出的有效控制。所述显存控制器采用突发传输方式。所述帧缓存器采用常见的SDRAM或DDRSDRAM存储器。本发明的有益效果(1)仲裁模块采用了直接跳转策略和优先级动态调整策略实现对各路数据流的输入输出的有效实时控制,可以充分利用显存的数据吞吐能力,动态调整各数据通路对显存的访问优先级,有效避免了数据缓冲溢出的情况,因此在帧缓存器同等数据吞吐能力的情况下,降低了数据缓冲的深度,减小了芯片实现时数据缓冲所占用的面积。(2)地址管理模块提供了简单的视频帧率转换功能,可以实现高帧率转为低帧率或低帧率转为高帧率的视频播放。(3)显存控制器采用优化的突发传输方式,不但省去了多余的刷新操作和随机读写功能等,同时简化了控制器结构,提高了数据吞吐率。(4)输入缓冲池和输出缓冲池均含有多个FIFO结构异步缓冲器,使得每个缓冲器的输入时钟和输出时钟可以完全异步,为视频处理系统的其他处理模块提供了灵活的数据接口,异步缓冲器的设计也使得本发明不止可用于视频处理中的视频数据存储,更一般地可以用在需要大吞吐率的信号处理模块中作为数据存储单元。


图1为本发明的视频处理芯片数据流控制及帧缓存装置的系统框图;图2为本发明的仲裁机制的实现模式示意图;图3为本发明的仲裁机制优先级动态调整策略实现模式示意图;图4为本发明的地址管理模块的结构框图;图5为本发明的帧缓存器的存储结构示意图;图6为本发明的地址管理模块对视频帧的读操作方式示意图;图7为本发明的地址管理模块对视频帧的写操作方式示意图;图8为本发明的异步缓冲器的实现结构示意图。
具体实施例方式下面结合附图对本发明进行进一步阐述。如图1所示,本发明的视频处理芯片数据流控制及帧缓存装置10包括输入缓冲池12、输出缓冲池13和控制模块11,所述输入缓冲池12片内连接OSD控制模块14和视频输入处理模块15,所述输出缓冲池13片内连接视频输出处理模块16,所述控制模块11片外连接帧缓存器17。其中,输入缓冲池12实现接收并缓存外部数据流,输出缓冲池13实现处理后的数据流输出,控制模块11实现对数据流的输入、输出进行实时控制和对帧缓存器17 进行读写控制,以及实现对数据流的视频帧率进行转换。其中,所述输入缓冲池12含有多个FIFO结构异步缓冲器,它包括与OSD控制模块连接的OSD输入缓冲器121,以及分别与视频输入处理模块连接的Y信号输入缓冲器122、 U信号输入缓冲器123和V信号输入缓冲器124,其作为视频输入端。所述输出缓冲池13含有多个FIFO结构异步缓冲器,它包括与视频输出处理模块连接的OSD输入缓冲器131、Y信号输入缓冲器132、U信号输入缓冲器133和V信号输入缓冲器134,其作为视频输出端。所述控制模块11包括实现对各路数据流的输入和输出进行有效实时控制的仲裁模块111 ;实现对仲裁模块的读写请求的响应和计算并提供读写地址给显存控制器112,以及通过管理帧缓存器中的三帧视频数据,实现视频帧率转换的地址管理模块;实现对与之片外连接的帧缓存器进行读写控制的显存控制器113。所述仲裁模块111由一个有限状态转换机组成,它采用直接跳转策略和优先级动态调整策略实现对各路数据流的输入输出的有效控制,所述显存控制器113采用突发传输方式,所述帧缓存器采用常见的SDRAM或DDR SDRAM存储器。下面结合附图对各功能模块进行详细的说明一、控制器控制器11由仲裁模块111、地址管理模块112、显存控制器113三个子模块组成。 其中,仲裁模块111主要是由一个有限状态转换机组成,并采用了直接跳转策略和优先级动态调整策略,实现对各路数据流的输入输出的有效控制,避免数据缓冲溢出的情况;地址管理模块112管理帧缓存器17中的一帧OSD数据和三帧视频数据,同时实现视频帧率转换功能;显存控制器113实现了对帧缓存器的控制时序,它直接与片外的帧缓存器17相连接。1、1仲裁模块仲裁模块111实现了本发明的仲裁机制,它采用了直接跳转策略和优先级动态调整策略,实现了对各路数据流的输入输出的有效控制,同时避免数据缓冲溢出的情况。仲裁模块111主要是由一个有限状态转换机组成,当系统完成复位和帧缓存17的初始化工作后,状态机进入空闲状态,仲裁模块111根据不同的数据输入/输出的请求,决定进入或退出到不同的数据操作状态。目前的典型应用中的数据操作状态共有8个0SD数据、Y信号、U信号和V信号的输入/输出,当然,本发明也可以用于其它类型的信号的输入 /输出状态。图2所示为仲裁机制的实现模式示意图,而图3表示出当仲裁机制退出状态时采用的直接跳转策略和优先级动态调整策略,为了简化描述,对目前的8个或更多的数据操作状态,只抽象出S1-S4四个状态为代表来描述。它们原始的优先级从高到低为 S1-S2-S3-S4,它们各自会向仲裁模块111产生的操作请求,而仲裁模块会根据一定的规则来响应请求,由于帧缓存器17的输入/输出端口只有一个,所以仲裁模块只能在同一时刻响应一个操作请求,其仲裁机制如下
(1)进入和退出操作状态系统会检测输入缓冲池12和输出缓冲池13中的各缓冲器的状态,从而产生不同的数据操作请求,若仲裁模块在某时钟周期只接收到一个数据处理的请求,则直接进入相应的操作状态;若同时接收到多个数据处理的请求,则根据优先级高低,先处理优先级高的请求,再处理优先级高的请求,进入相应的操作状态。例如,假定 S2代表Y信号的输入状态,S3代表U信号的输入状态,当仲裁器同时接收到S2和S3的操作请求,由于S2的优先级比S3要高,所以S2操作请求得到响应,系统把Y信号输入缓冲器中的数据写入到帧缓存器中,完成某状态的操作后,系统将根据直接跳转策略和优先级动态调整策略退出该状态。(2)直接跳转策略和优先级动态调整策略(如图3所示)1)直接跳转策略是指当退出某一个数据操作状态时,系统不马上回到空闲状态,而会判定是否存在其他的数据操作请求,然后由仲裁模块111判定是否直接跳转到该操作状态;当不存在其他的数据操作请求时,才会回到空闲状态。2)优先级动态调整策略是指系统的优先级并非固定为 S1-S2-S3-S4,而会在每次退出某操作状态时,进行动态调整,然后根据动态调整后的优先级进行跳转。例如,假定系统刚完成了 S3状态的操作,然后系统会动态调整优先级别,S3的优先级会降为最低,而原来比S3优先级低的S4会获得最高的优先级,然后是按原来顺序的 Sl和S2,即优先级从高到底调整为S4-S1-S2-S3,再例如,如果刚完成了 S2的操作状态,则优先级动态调整为S3-S4-S1-S2。上述所采用的直接跳转策略和优先级动态调整策略,虽然使得仲裁模块的设计更为复杂,但是可以有效缓解数据量较大时,系统可能出现的吞吐量偏紧的情况。如果没有直接跳转机制,则完成某一操作的状态后,必然回到空闲状态,这需要花一个时钟周期的时间,而直接跳转机制可以省略掉该时钟周期,最大限度地利用时间资源,从而缓解了吞吐量偏紧的情况。1. 2地址管理模块地址管理模块112除了完成的基本的地址计算功能外,还通过管理帧缓存器17中的三帧视频数据,实现视频帧率转换功能。图4表示地址管理模块112的构成,它存在于控制器11中,由控制逻辑单元1121、 基地址寄存器1122和地址计数器1123组成。它响应仲裁模块111的读写请求,计算并提供读写地址给显存控制器113,从而协助完成相应的读写操作。为了便于介绍地址管理模块112的帧率转换功能,下面先简单介绍帧缓存器17的存储结构,帧缓存器17的吞吐量也是影响系统的吞吐量的重要原因之一,帧缓存器一般采用SDRAM和DDR SDRAM等存储器,若采用的存储器的吞吐量不能满足数据传输速率的要求, 则会使得视频播放时因丢失数据而导致无法观看。图5所示为片外的帧缓存器17的存储结构,它存储着一帧的OSD数据(0SD数据帧171)和三帧的视频信号数据(视频第一帧172、 视频第二帧173和视频第三帧174),不同的视频格式的帧数据量不同,所以要根据应用需求而选取足够大的存储器作为帧缓存器。输入和输出的视频的帧率可能不相同,这是因为输入和输出的视频格式不一定相同。在输入端,系统需要与视频输入处理模块15的帧率同步;在输出端,系统需要与视频输出处理模块16的帧率同步,这就需要系统实现视频帧率转换的功能。地址管理模块管理帧缓存器中的三帧视频数据,通过一定的机制实现了该功能,其实现方式如下视频帧的读操作(如图6所示)当系统复位时,读指针ra指向第一帧(即ra = 1),读取帧缓存器17中的第一帧的视频数据到输出缓冲池13中,完成视频数据的输出;当读完第一帧时,地址管理模块检查当前写指针PW的状态,若检查到写指针PW仍指向第二帧 (PW= 2),则返回再读一次第一帧的数据,否则(即PW兴2)开始读第二帧的数据;读第二帧和读第三帧的情况也类推,即当读完某一帧时,若检查到写指针PW仍指向下一帧,则返回再读取一次原来那一帧数据,否则读取下一帧数据;如此循环下去,即完成对视频帧的读操作。视频帧的写操作(如图7所示)与帧的读操作相似,系统复位时,写指针ra指向第二帧(即PW = 2),把输入缓冲池12中的数据写入到帧缓冲器17的第二帧中,完成视频数据的输入;当写完第二帧时,地址管理模块检查当前读指针I3R的状态,若检查到读指针 I3R指向第三帧(即ra = 3),则返回再写一次第二帧的数据,否则(ra兴3)开始写第三帧的数据;写第三帧和写第一帧的情况也可类推,即当写完某一帧时,若检查到读指针ra仍指向下一帧,则返回再写一次原来那一帧,否则写入下一帧数据;如此循环下去,即可完成对视频帧的写操作。通过上述视频帧的的读写操作,一直循环下去,即可实现视频帧率转换的功能,这个功能实际上就是在输入帧率高于输出帧率的时候,进行丢帧处理,而在输入帧率低于输出帧率的时候,对一些帧进行重复输出处理。二、输入缓冲池12由OSD输入缓冲器121、Y信号输入缓冲器122、U信号输入缓冲器123和V信号输入缓冲器IM组成,它实现对输入数据流的缓冲,避免数据丢失。所有的缓冲器都是由异步FIFO构成,即缓冲的输入时钟和输出时钟可以完全异步,而它们的深度都是256个字节,这里设定当缓冲器中的数据少于32个字节时为“空”状态,而大于256-32 =214个字节时为“满”状态,系统根据缓冲器的“空”或“满”状态判定是否把数据读写到帧缓存器17中。三、输出缓冲池13由OSD输入缓冲器131、Y信号输入缓冲器132、U信号输入缓冲器133和V信号输入缓冲器134组成,它实现对输出数据流的缓冲,避免数据丢失。所有的缓冲器都是由异步FIFO构成,即缓冲的输入时钟和输出时钟可以完全异步,而它们的深度都是256个字节,这里设定当缓冲器中的数据少于32个字节时为“空”状态,而大于256-32 =214个字节时为“满”状态,系统根据缓冲器的“空”或“满”状态判定是否把数据读写到帧缓存器17中。在视频输入端,数据不间断地从视频输出处理模块15和OSD控制模块14输入到输入缓冲池12中,为了防止输入缓冲池12(0SD输入缓冲器121、Y信号输入缓冲器122、U 信号输入缓冲器123和V信号输入缓冲器124)中的数据溢出,必须使输入缓冲池12中的所有缓冲器保持常“空”(少于32个字节)状态,当检测到缓冲器为“非空”(大于或等于 32个字节)状态时,则把缓冲器的数据写入到帧缓存器17中相应的帧地址上。这个过程是连续而高速的,即数据在输入缓冲池12停留的时间非常短暂,可以认为数据是连续而高速地从模块15和14写入到帧缓存器17中。在视频输出端,情况与视频输入端相类似,数据连续不断地从输出缓冲池13输出到视频输出处理模块16中,为了防止输出缓冲池13(0SD输入缓冲器131、Y信号输入缓冲器132、U信号输入缓冲器133和V信号输入缓冲器134)由于数据清空而导致输出帧中断, 即“掉帧”的情况,必须使输出缓冲池中的所有缓冲器保持常“满”(大于214个字节)状态,当检测到缓冲器为“非满”状态(少于或等于214个字节)时,显存控制器17马上从帧缓存器17中读取数据到输出缓冲池13中。上述输入缓冲池12和输出缓冲池13中均含有多个缓冲器,用于数据流的输入和输出缓冲,避免数据丢失,它们都是FIFO结构异步缓冲器,输入时钟和输出时钟可以完全异步,所有的缓冲器都是256字节的深度,但是宽度根据实际数据流情况而有所不同,有32 位进32位出的,也有8位进32位出的。图8所示为这些缓冲器的实现方式为了判定缓冲器的“空”和“满”的状态,需要计算缓冲器中的数据长度,这个长度是控制模块11通过计算读指针rd指向的地址和写指针wr指向的地址的差值来得出的,但是,因为缓冲器的读和写操作工作在不同的时钟频率下,是异步进行的,所以不能将读写指针直接相减。如图1所示,对于输入缓冲池12中的缓冲器,写操作需要与OSD控制器14和视频输入处理模块15的时钟同步,而读操作需要与控制模块11的时钟同步;对于输出缓冲池13中的缓冲器,写操作需要与控制模块11的时钟同步,而读操作需要与视频输出处理模块16的时钟同步。因为读、写操作不同步,如果把写指针w指向的地址直接减去读指针rd指向的地址,可能会出现亚稳态的情况,导致计算错误。为了解决上述缓冲器时钟域同步的问题,对于输入缓冲池12中的缓冲器,本发明先把写地址同步到读地址的时钟域(即同步到控制模块11),再把写地址直接减去读地址, 从而得出缓冲器中的数据长度;对于输出缓冲池13中的缓冲器,先把读地址同步到写地址的时钟域(即同步到控制模块11),再把写地址直接减去读地址,从而得出缓冲器中的数据长度。控制模块11是完成缓冲器中的数据长度的计算后,即可判定缓冲器的“空”和 “满”的状态,完成数据流的输入和输出控制。上文已经叙述了,当检测到输入缓冲池中的缓冲器为“非空”(大于或等于32个字节)状态时,则把的数据写入到帧缓存器中;当检测到输出缓冲池中的缓冲器为“非满”状态(少于或等于214个字节)时,控制器从帧缓存器中读取数据到输出缓冲池中。以32个字节作为判断依据是因为本发明的控制器突发传输是以32个字节作为一个突发读取操作或写入操作的。如果选择其他突发传输长度,则可以更改空满判定阈值来实现数据流控制功能。以上所述仅为本发明的较佳实施方式,本发明并不局限于上述实施方式,在实施过程中可能存在局部微小的结构改动,如果对本发明的各种改动或变型不脱离本发明的精神和范围,且属于本发明的权利要求和等同技术范围之内,则本发明也意图包含这些改动和变型。
权利要求
1.一种视频处理芯片数据流控制及帧缓存装置,其特征在于,它包括实现接收并缓存外部数据流的输入缓冲池;实现处理后的数据流输出的输出缓冲池;实现对数据流的输入、输出进行实时控制和对帧缓存器进行读写控制,以及实现对数据流的视频帧率进行转换的控制模块,所述输入缓冲池片内连接OSD控制模块和视频输入处理模块,所述输出缓冲池片内连接视频输出处理模块,所述控制模块片外连接帧缓存器。
2.根据权利要求1所述的视频处理芯片数据流控制及帧缓存装置,其特征在于,所述输入缓冲池含有多个FIFO结构异步缓冲器,它包括与OSD控制模块连接的OSD输入缓冲器,以及分别与视频输入处理模块连接的Y信号输入缓冲器、U信号输入缓冲器和V信号输入缓冲器。
3.根据权利要求1所述的视频处理芯片数据流控制及帧缓存装置,其特征在于,所述输出缓冲池含有多个FIFO结构异步缓冲器,它包括与视频输出处理模块连接的OSD输出缓冲器、Y信号输出缓冲器、U信号输出缓冲器和V信号输出缓冲器。
4.根据权利要求1所述的视频处理芯片数据流控制及帧缓存装置,其特征在于,所述控制模块包括实现对各路数据流的输入和输出进行有效实时控制的仲裁模块;实现对仲裁模块的读写请求的响应和计算并提供读写地址给显存控制器,以及通过管理帧缓存器中的三帧视频数据,实现视频帧率转换的地址管理模块;实现对与之片外连接的帧缓存器进行读写控制的显存控制器。
5.根据权利要求4所述的视频处理芯片数据流控制及帧缓存装置,其特征在于,所述仲裁模块由一个有限状态转换机组成,它采用直接跳转策略和优先级动态调整策略实现对各路数据流的输入输出的有效实时控制。
6.根据权利要求4所述的视频处理芯片数据流控制及帧缓存装置,其特征在于,所述显存控制器采用突发传输方式。
7.根据权利要求1所述的视频处理芯片数据流控制及帧缓存装置,其特征在于,所述帧缓存器采用常见的SDRAM或DDR SDRAM存储器。
全文摘要
本发明提供了一种视频处理芯片数据流控制及帧缓存装置,它包括接收并缓存外部数据流的输入缓冲池;实现处理后的数据流输出的输出缓冲池;对数据流的输入、输出进行实时控制和对帧缓存器进行读写控制,以及对数据流的视频帧率进行转换的控制模块。输入缓冲池片内连接OSD控制模块和视频输入处理模块,输出缓冲池片内连接视频输出处理模块,控制模块片外连接帧缓存器。输入缓冲池和输出缓冲池均含有多个FIFO结构异步缓冲器,控制模块包括仲裁模块、地址管理模块和显存控制器,仲裁模块由有限状态转换机组成,它采用直接跳转策略和优先级动态调整策略实现对各路数据流的输入输出的实时控制,显存控制器采用突发传输方式,帧缓存器采用SDRAM或DDR SDRAM存储器。
文档编号G09G5/00GK102270444SQ20111026418
公开日2011年12月7日 申请日期2011年9月7日 优先权日2011年9月7日
发明者徐永键, 梁永泽, 谭洪舟, 陆许明 申请人:东莞中山大学研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1