接收mpeg2的半象素运动补偿控制器的制作方法

文档序号:7566660阅读:165来源:国知局
专利名称:接收mpeg2的半象素运动补偿控制器的制作方法
技术领域
本发明涉及接收MPEG2的半象素运动补偿控制器,此控制器根据MPEG2算法提出实现其建议的半象素运动补偿。
通常,半象素运动补偿是在象素元间,通过内插运动补偿的结果而实现。根据获得适当的象素值的平均值,用辅助存储器或延迟装置以便同时选择邻近的视频数据的值来完成半象素运动补偿。


图1A显示水平的插值,图1B表示垂直插值,而图1C为水平和垂直插值。在这些图中,标记×表示插值点。
当仅使用辅助存储器时,至少要求4倍容量的存储器。在成本或体积上这是不合适的。因此半象素运动补偿通常利用延迟的装置,这必须要用一个比系统时钟更高的时钟。
在MPEG2中,运动补偿处理块单元随帧/场图象和运动编码类型变化。因此,需要一种控制器。然而,这种的硬件结构尚未公开。
本发明的目的是提供一个接收MPEG2的半象素运动补偿控制器,该装置以宏块为单位使用4相划分采用比系统时间更快的时钟实现半象素运动补偿,并使用FIFO控制器(先进先出)控制器控制补偿器。
为实现本发明的目的,提供一接收MPEG2的半象素运动补偿控制器,包括一个亮度象素元运动补偿器,它根据输入亮度运动矢量对一亮度信号的象素元进行运动补偿;一个亮度半象素元运动补偿器,它根据来自亮度运动矢量的亮度半象素信息对从亮度象素元运动补偿器输出的亮度信号的半象素元运动进行补偿;一个色度运动矢量转换器,以从亮度运动矢量得到色度信号的运动矢量;一个色度象素元运动补偿器,它根据从色度运动矢量转换器输出的色度运动矢量对色度信号的象素元运动进行补偿;一个色度半象素元运动补偿器,它根据来自色度运动矢量转换器输出的色度运动矢量的色度半象素和亮度半象素信息,对色度象素元运动补偿器输出的色度信号的半象素元运动进行补偿;一个亮度FIFO,它缓存亮度半象素元运动补偿器的输出数据;一个色度FIFO,它缓存彩色度半象素元运动补偿器的输出数据;一个亮度FIFO控制器,它根据MPEG2系统输出的同步信号和帧/场图象及运动编码类型选择信号控制亮度FIFO的输入和输出;还有一个色度FIFO控制器,它根据MPEG2系统输出的同步信号和帧/场图象及运动编码类型选择信号控制色度FIFO的输入和输出。
图1A、1B和1C显示了水平、垂直及水平/垂直内插的一般状态;图2是本发明的采用MPEG2的半象素运动补偿控制器的一实施例的方块图;图3是图2的亮度半象素元运动补偿器的方块图;图4是图3的加法器的详细方块图;图5是色度半象素元运动补偿器的方块图;图6是图5的加法器的详细方块图;图7是显示了图2的色度运动矢量转换器的结构;图8A是图2的亮度FIFO控制器的写信号发生器的方块图8B是图2的亮度FIFO控制器的读信号发生器的方块图;图9说明本发明中采用MPEG2半象素运动补偿控制器的各个信号的波形图。
下面结合附图详细说明本发明。参考图2,本发明中接收MPEG2信号的半象素运动补偿控制器包括一个亮度象素元运动补偿器10,亮度半象素元运动补偿器20,色度运动矢量转换器30,色度象素元运动补偿器40,色度半象素元运动补偿器50,亮度FIFO 60,色度FIFO 70;亮度FIFO控制器80及色度FIFO控制器90。
亮度象素元运动补偿器10根据输入亮度运动矢量对亮度信号进行象素元运动补偿,亮度半象素元运动补偿器20根据亮度运动矢量中亮度半象素信息对亮度象素元运动补偿器10输出的亮度信号进行半象素元运动补偿。
色度运动矢量转换器30从亮度运动矢量中得到色度信号的运动矢量,色度象素元运动补偿器40根据色度运动矢量转换器30输出的色度运动矢量对色度信号进行象素元运动补偿。
色度半象素元运动补偿器50根据色度运动矢量转换器30输出的色度运动矢量色度半象素信息和亮度半象素信息,对色度象素元运动补偿器40输出的色度信号半象素元运动进行补偿。
亮度FIFO 60缓存半象素元运动补偿器20的输出数据,色度FIFO 70缓存色度半象素元运动补偿器50的输出数据,亮度FIFO控制器8O根据MPEG2系统输出的同步信号和帧/场图象及运动编码类型选择信号控制亮度FIFO 60的输入和输出,色度FIFO控制器90根据MPEG2系统输出的同步信号和帧/场图象及运动编码类型选择信号控制色度FIFO 70的输入和输出。
本发明中接收MPEG2信号的半象素运动补偿控制器的操作将在以下说明。
通过亮度象素元运动补偿器10的输入视频数据,按亮度运动矢量(LMV)输入,偏移该矢量指示的量,作为亮度视频数据输出。从亮度象素元运动补偿器10输出的亮度视频数据输入给亮度半象素单元运动补偿器20,以根据亮度运动矢量LMV中的亮度半象素信息进行亮度半象素单元运动补偿。
色度运动矢量转换器30从亮度运动矢量LMV中得到色度运动矢量CMV,也就是色度象素信息,由此得到的信息输入到色度象素元运动补偿器40。
就像亮度半象素元运动补偿器20那样,色度象素元运动补偿器40根据色度运动矢量CMV对色度数据进行象素元运动补偿,并把补偿的结果输入给色度半象素元运动补偿器50。然后,色度半象素元运动补偿器50根据来自色度运动矢量CMV的色度半象素信息补偿彩色半象素元运动。
亮度和色度半象素元运动补偿器20及50的输出分别根据亮度和色度FIFO控制器80及90输入到亮度和色度FIFO 60及70。这里,不需要的数据周期性地插入到亮度半象素元运动补偿器20的输出数据中。因此,不需要的插入数据通过控制由亮度FIFO控制器80产生的FIFO写允许信号来删除。这样处理以后,亮度半象素元运动补偿器20的输出数据写到亮度FIFO 60中。此时,若半象素运动补偿是用延迟实现,从象素元运动补偿开始使用快时钟数据。因此,快时钟也就用于在亮度FIFO 60中写数据。
更确切地,在每个同步信号例如帧同步信号fsync,即运动补偿的同步信号期间,在向亮度FIFO 60中写入由半象素元运动补偿器20来半象素补偿的亮度数据时,半象素补偿的亮度数据的写输入必须被中断,并必须分离出无用数据。
色度FIFO 70由色度FIFO控制器90控制,其工作类似于亮度FIFO控制器80。亮度和色度FIFO 80和90的详细工作过程将在下文说明。
在亮度和色度半象素单元运动补偿器20和50中,一个通常处理的宏块,如16×16象素,能在一个单相中形成。然而,像HDTV视频帧那样,在必须处理大量数据的情况下,必须进行并行处理。
若视频帧的区域简单地以水平和垂直划分,用单一处理部件形成宏块的方法可以用于多个处理部件同时形成宏块的情况。然而,在本发明中由于像运动矢量的延迟问题,宏块处理被分成4相。在这种状态中,象素元运动及同样的半象素元均被运动补偿,这种方法,不管宏块如何分割,在利用延迟部件的情况下,能容易地用于半象素运动补偿。
同时,亮度半象素元运动补偿器20根据亮度半象素信息,通过对邻近值的内插得到半象素补偿数据。亮度半象素元运动补偿器的结构示于图3,图中亮度半象素元运动补偿器20被分成4相,也就是一个宏块的0-3相。
在图3中,亮度半象素单元运动补偿器20包括一个亮度半象素处理方向和延迟控制器21,以输出亮度半象素处理方向控制信号S1和输出延迟控制器信号S2a及S2b。根据亮度半象素信息控制亮度半象素处理方向和输出延迟;包括0-3相亮度半象素元运动补偿器20a、20b、20c及20d,这些补偿器根据它们的输入数据形成各相的亮度半象素运动补偿数据,并根据亮度半象素处理方向和延迟控制器21来的亮度半象素处理方向控制信号S1和输出延迟控制信号S2a和S2b输出各相的亮度半象素运动补偿数据,还包括并行地锁存各相输入数据的锁存部分而且把它们输出到0-3相亮度半象素元运动补偿器中。
这里的锁存部分包括锁存器LA1到LA8,LA1用来锁存0相的输入数据并把它输出到0相亮度半象素元运动补偿器20a,LA2用来锁存1相的输入数据并把它输出到1相亮度半象素元运动补偿器20a,LA3用来锁存1相的输入数据并把它输出到1相亮度半象素元运动补偿器20b。LA4用来锁存2相的输入数据,并把它输出到1相亮度半象素元运动补偿器20b,LA5用来锁存2相的输入数据并把它输出到2相亮度半象素元运动补偿器20C,LA6用来锁存3相的输入数据并把它输出到2相亮度半象素元运动补偿器20C,LA7用来锁存3相的输入数据并把它输出到3相亮度半象素元运动补偿器20d,而LA8用来锁存0相输入数据并把它输出到3相亮度半象素元运动补偿器20d。
0相亮度半象素元运动补偿器20a包括一个5延迟部分200,它用来对0相的输入数据延迟5个象素;包括一个4延迟部分201,它对5延迟部分200的输出延迟4个象素,以得到延时的象素元亮度数据;包括一个加法部分202,它把0相输入数据和5延迟部分200的输出进行算术平均以得到亮度插值数据;包括2延迟部分203,它用来把加法部分202的输出延迟2个象素以输出亮度垂直插值数据;包括加法部分206,它用来对0相和1相输入数据取算术平均,以得到亮度插值数据;包括5延迟部分207,它用来顺序延迟加法部分206的输出延迟5个象素;包括2延迟部分209,它用来对5延迟部分207的输出延迟2象素,以输出亮度水平插值数据;包括加法部分208,它把加法部分206的输出和5延迟部分207的输出进行算术平均,以得到亮度水平和垂直插值数据;包括多路复用器204,它根据从亮度半象素处理方向和延迟控制器21输出的亮度半象素处理方向控制信号,选择4延迟部分201的输出的象素元亮度插值数据或2延迟部分203输出的亮度垂直插值数据之一并输出;包括多路复用器210,它根据从亮度半象素处理方向和延迟控制器21输出的亮度半象素处理方向控制信号,选择2延迟部分209输出的亮度水平插值数据或加法部分208输出的垂直插值数据之一并输出;包括锁存器205,它根据从亮度半象素处理方向和延迟控制器21输出的输出延迟控制信号,对多路复用器204的输出进行锁存,并把它输出到亮度FIFO 60;还包括锁存器211,它根据从亮度半象素处理方向和延迟控制器21输出的输出延迟控制信号,对多路复用器210的输出进行锁存并把它输出到亮度FIFO 60。
这里,如图4所示,加法部分202包括加法器220,它把0相输入数据和5延迟部分200的输出分成高位和低位,再把低位相加求和;包括锁存器222,它对加法器220的输出进行锁存,包括锁存器221,它把0相输入数据和5延迟部分200的输出分成高位和低位,再把高位进行锁存;还包括加法器223,它把加法器220及锁存器221的输出相加并输出。
就像加法部分202那样,加法部分206包括加法器220,它把0相和1相的输入数据分成高位和低位,再把低位相加求和;包括锁存器222,这对加法器220的输出进行锁存;包括锁存器221,它把0相和1相的输入数据分成高位和低位,并对高位进行锁存;还包括加法器223,它把加法器220和锁存器221的输出相加并输出。
正像加法部分202或206那样,加法部分208包括加法器220,它把加法部分206的输出和5延迟部分207的输出分成高位和低位,并对低位相加求和;包括锁存器222,它对加法器220的输出进行锁存;包括锁存器221,它把加法部分206的输出和5延迟部分207的输出分成高位和低位,并对高位锁存;还包括加法器223,它把加法器220和锁存器221的输出相加并输出之。
1到3相亮度半象素元运动补偿器20b、20c和20d同0相亮度半象素元运动补偿补偿器20a结构相同。
1相亮度半象素元运动补偿器20b包括5延迟部分200,它对1相输入数据延迟5个象素;包括4延迟部分201,它对5延迟部分200的输出延迟4个象素,并得到象素元亮度插值数据;包括一个加法部分202,它把1相的输入数据和5延迟部分200的输出进行算术平均以得到亮度插值数据;包括2延迟部分203,它把加法部分202的输出延迟2个象素并作亮度垂直插值数据输出;包括加法部分206,它把1相和2相的输入数据做算术平均,以得到亮度插值数据;包括5延迟部分207,它顺序对加法部分206的输出延迟5个象素;包括2延迟部分209,它把5延迟部分207的输出延迟2个象素作为亮度水平插值数据输出;包括加法部分208,它对加法部分206的输出和5延迟部分207的输出进行算术平均以得到亮度水平和垂直插值数据;包括多路复用器204,它根据从亮度半象素处理方向和延迟控制器21输出的亮度半象素处理方向控制信号,选择从4延迟部分201输出的象素元亮度插值数据或从2延迟部分203输出的亮度垂直插值数据之一并输出;包括多路复用器210,它根据亮度半象素处理方向和延迟控制器21输出的亮度半象素处理方向控制信号,选择从2延迟部分209输出的亮度水平插值数据或从加法部分208输出的亮度水平和垂直插值数据之一并输出;包括锁存器205,它根据从亮度半象素处理方向和延迟控制器21输出的输出延迟控制信号,对多路复用器204的输出进行锁存并输出到亮度FIFO 60中;还包括锁存部分211,它根据从亮度半象素处理方向和延迟控制器21输出的输出延迟控制信号对多路复用器210的输出锁存,并将其输出到亮度FIFO 60中。这里,加法部分202、206和208同0相亮度半象素单元运动补偿器20a中的相应部件结构相同。
加法部分202包括一个加法器220,它把1相的输入数据及5延迟部分200的输出分成高位和低位,把低位数据相加求和;包括锁存器222,它锁存加法器220的输出;包括锁存器221,它把1相的输入数据和5延迟部分200的输出分成高位和低位,再对高位锁存;还包括加法器223,它把加法器220和锁存器221的输出相加再输出。
加法部分206包括一加法器220,它把1相和2相的输入数据分成高位和低位,对低位数相加求和;包括锁存器222,它锁存加法器220的输出;包括锁存器221,它把1相和2相的输入数据分成高位和低位,并锁存高位数;还包括加法器223,它把加法器220和锁存器221的输出相加再输出之。
加法部分208包括一个加法器220,它把加法部分206的输出和5延迟部分207的输出分成高位和低位,对低位数相加求和;包括锁存器220,它锁存加法器220的输出;包括锁存器221,它把加法部分206的输出和5延迟部分207的输出分成高位和低位,并对高位数锁存;还包括加法器223,它把加法器220和锁存器221的输出相加,并输出之。2相亮度半象素元运动补偿器20c同0-1相亮度半象素元运动补偿器20a和20b结构相同。
2相亮度半象素元运动补偿器20c包括一5延迟部分200,它对2相的输入数据延迟5个象素;包括一个4延迟部分201,它对5延迟部分200的输出延迟4个象素,以得到象素单元亮度插值数据;包括加法部分202,它对2相的输入数据和5延迟部分200的输出求算术平均,以得到亮度插值数据;包括2延迟部分203,它对加法部分202的输出延迟2个象素,并输出亮度垂直插值数据;包括加法部分206,它对2相和3相输入数据求算术平均,并得到亮度插值数据;包括5延迟部分207,它对加法部分206的输出顺序延迟5个象素;包括延迟部分209,它把5延迟部分207的输出延迟2个象素,并输出亮度水平插值数据;包括加法部分208,它对加法部分206的输出和5延迟部分的输出求算术平均,并得到亮度水平和垂直插值数据;包括多路复用器204,它根据从亮度半象素处理方向和延迟控制器21输出的亮度半象素处理方向控制信号选择从4延迟部分201输出的象素元亮度插值数据和从2延迟部分203输出的亮度垂直插值数据之一并输出之;包括多路复用器210,它根据从亮度半象素处理方向和延迟控制器21输出的亮度半象素处理方向控制信号,选择从2延迟部分209输出的亮度水平插值数据及从加法部分208输出的亮度水平和垂直插值数据之一并输出之;包括锁存部分205,它根据从亮度半象素处理方向和延迟控制器21输出的输出延迟控制信号,对多路复用器204的输出进行锁存,并将其输出到亮度FIFO 60;还包括锁存部分211,它根据从亮度半象素处理方向和延迟控制器21输出的输出延迟控制信号,对多路复用器210的输出进行锁存并将其输出到亮度FIFO 60。这里的加法部分202、206和208同0-1相亮度半象素单元运动补偿20a和20b结构相同。
加法部分202包括一个加法器220,它把2相的输入数据和5延迟部分200的输出分成高位和低位,并对低位求和;包括锁存器222,它对加法器220和输出进行锁存;包括锁存器221,它把2相的输入数据和5延迟部分输出分成高位和低位,并对高位进行锁存;还包括加法器223,它把加法器220的和锁存器221的输出相加并输出。
加法部分206包括加法器220,它把2相和3相的输入数据分成高位和低位,并对低位求和;还包括锁存器222,它锁存加法器220的输出;包括锁存器221,它把1相和3相和输入数据分成高位和低位,并将高位锁存;还包括加法器223,它把加法器220和锁存器221的输出相加并输出之。
加法部分208包括加法器220,它把加法部分206的输出和5延迟部分207的输出分成高位和低位,并对低位求和;包括锁存器222,它锁存加法器220的输出;包括锁存器221,它把加法部分206的输出及5延迟部分207的输出分成高位和低位,并对高位进行锁存;还包括加法器223,它把加法器220及锁存器221的输出相加并输出之。
3相亮度半象素单元运动补偿器20d包括一个5延迟部分200,它把3相输入数据延迟5及4个象素;包括一4延迟部分201,它把5延迟部分200的输出延迟4个象素,以得到象素元亮度插值数据;包括加法部分202,它对3相的输入数据和5延迟部分200的输出进行算术平均,以得到亮度插值数据;包括2延迟部分203,它对加法部分202的输出延迟2个象素,并输出亮度垂直插值数据;包括加法部分206,它对3相和0相的输入数据求算术平均值,以得到亮度插值数据;包括5延迟部分207,它把加法部分206的输出次序延迟5个象素;包括2延迟部分209,它对延迟5延迟部分207的输出延迟2个象素,并输出亮度水平插值数据;包括加法部分208,它对加法部分206的输出和5延迟部分207的输出求算平均以得到亮度水平的和垂直插值数据;包括多路复用器204,它根据从亮度半象素处理方向和延迟控制器21输出的亮度半象素处理方向控制信号,选择从4延迟部分201输出的象素元亮度插值数据及从2延迟部分203输出的亮度垂直插值数据之一,并输出之;包括多路复用器210,它根据从亮度半象素处理方向和延迟控制器21输出的亮度半象素处理方向控制信号,选择从2延迟部分209输出的亮度水平插值数据及从加法部分208输出的亮度水平和垂直插值数据之一,并输出之;包括锁存部分205,它根据从亮度半像素处理方向和延迟控制器21输出的输出延迟控制信号,对多路复用器204的输出锁存,并将其输出到亮度FIFO 60中;还包括锁存部分211,它根据从亮度半象素处理方向和延迟控制器21输出的输出延迟控制信号,对多路复用器210的输出锁存,并将其输出到亮度FIFO 60。这里,加法部分202、206和206间0-2相亮度半象素元运动补偿器20a、20b和20c结构相同。
加法部分202包括一加法器220,它把3相的输入数据和5延迟部分200的输出分成低位和高位,并对低位求和;包括一锁存器222,它对加法器220的输出锁存;包括锁存器221,它把3相的输入数据和5延迟部分的输出分成高位和低位,并对高位锁存;还包括加法器223,它把加法器220和锁存器221的输出相加并输出之。
加法部分206包括一加法器220,它把3相和0相的输入数据分成高位和低位,并对低位求和;包括一锁存器222,它对加法器220的输出锁存;包括锁存器221,它把3相和0相输入数据分成高位和低位,并对高位锁存;还包括一加法器223,它把加法器220的输出和锁存器221的输出相加并输出。
加法部分208包括加法器220,它把加法部分206的输出和5延迟部分207的输出分成高位和低位,并对低位求和;包括锁存器222,它对加法器220的输出锁存;包括锁存器221,它把加法部分206的输出和5延迟部分207的输出分成高位和低位,并对高位锁存;还包括加法器223,它把加法器220和锁存器221的输出相加,并输出之。有关亮度半象素元运动补偿器20的工作将如下说明。
当16×16的宏块在X轴上分成4相,成为4×16的处理块。为了插值,由于边缘数据插值需要5×17个象素数据,对场图象,需要5×18数据,为了得到插值结果的4×16个象素,需要用系统时钟mclk×(5×18/4×16)这样块的时钟。
在图3中,在象素元没有半象素信息的情况下,只是延迟9个象素,经由5延迟部分200和4延迟部分201得到象素元亮度插值数据YP。
在Y方向,就是垂直方向半象素信息标记为1的情况下,5延迟部分200的输出和锁存器LA1的输出在加法部分202中相加,加法结果除以2得到垂直插值数据,它在2延迟部分203中被延迟,这样,得到亮度垂直插值数据YV。
在X方向,就是水平方向半象素信息标记是1的情况下,下一相的锁存器LA2的输出,就是n+1相,和锁存器LA1的输出在加法部分206中被插值,并通过5延迟部分207和2延迟部分209延迟7个象素,这样,得到亮度水平插值数据YH。
在同时存在X和Y方向的情况下,就是水平和垂直方向半象素信息标记均为1的情况下,在加法部分206中水平插值的结果和5延迟部分207的输出在加法部分208中再插值,得到水平和垂直插值数据YHV。
象素元亮度插值数据YP和亮度垂直插值数据YV根据从亮度半象素处理方向和延迟控制器21来的处理方向控制信号S1,在多路复用器204中被选择,而亮度水平插值数据YH和亮度水平/垂直插值数据YHV在多路复用器210中被选择,它们被锁存在锁存部分205和211中。
多路复用器204和210的输出根据从亮度半象素处理方向和延迟控制器21来的输出延迟控制信号S2a和S2b而输出到锁存部分205和211。
特别地,象素元亮度插值数据YP,垂直和水平亮度插值数据YV和YH及水平/垂直亮度插值数据YHV中一个,根据从亮度半象素处理方向和延迟控制器21来的处理方向控制信号S1及输出延迟控制信号S2a和S2b而被输出,作为对0相位通过多路复用器204和210以及锁存部分205和211的半象素运动补偿数据输出。在此,输出延迟控制信号S2a及S2b,为了实现同步,延迟时间同多路复用延迟时间同样长。
输出1-3相半象素运动补偿数据其实现同0相,对4相输出半象素运动补偿数据。
加法部分202、206和208用处理时间2D实现插值,如图4所示,加法部分202、206及208具有锁存器222和221,以便把8位加法器分成4位加法器,加法器分成2部分以匹配速度,并实现同步,加法部分输出2个输入的平均值,这个平均值就是插值数据。
如图5所示,色半象素元运动补偿器50包括一象素元色插值器51,它对从色象素元运动补偿器40的色象素元补偿数据输出进行延迟,并输出象素元色插值数据;包括色水平插值器52,它使用象素元色插值器51中延迟的色象素元补偿数据,输出色水平插值数据;包括垂直插值器53,它使用色象素元运动补偿器40及象素元色插值器51中延迟的色象素元补偿数据,输出色垂直插值数据;包括色水平和垂直插值器54,它使用色垂直插值器53输出的数据来输出色水平和垂直插值数据;包括一多路复用器57,它从象素元色插值器51输出的象素元色插值数据,从色水平插值器52输出的色水平插值数据,从色垂直插值器53输出的色垂直插值数据及从色垂直和水平插值器54输出的色水平和垂直插值数据中选择其一,并输出色度半象素元运动补偿数据;包括色半象素信息转换器55,它从色度运动矢量转换器30输出的亮度半象素信息中得到色半象素信息;还包括色半象素处理方向和延迟控制器56,它给多路复用器57输出一选择信号以控制多路复用器57的输出选择和输出延迟。
这里的象素元色插值器51包括9延迟部分511,它把从色度象素元运动补偿器40输出的色度象素元补偿数据延迟9个象素,并把延迟数据输出到色垂直插值器53;包括3延迟部分512,它把从9延迟部分511输出的数据延迟3个象素,并把延迟的数据输出到彩色水平插值器52;包括1延迟部分513,它把从3延迟部分512输出的数据延迟一个象素,并把延迟后的数据输出到色水平插值器52;还包括一个4延迟部分514,它把从1延迟部分513的输出的数据延迟4个象素并把象素元色插值数据输出到多路复用器57。
色水平插值器52包括一个加法部分521,它对象素元色插值器51的3延迟部分512和1延迟部分513所延迟的色度象素元补偿数据取算术平均值;还包括1延迟部分522,它把从加法部分521输出的数据延迟1个象素以输出色水平插值数据。
在此,如图6所示的加法部分521包括一个加法器581,它把从象素元色插值器51的3延迟部分512和1延迟部分513延迟的色象素元补偿数据以2为单位分开,并对最低2位求和;包括锁存器582,它为同步锁存加法器581的输出,并输出2位数据;包括锁存器583,它把象素元色度插值器51的3延迟部分512和1延迟部分513的色象素单元补偿数据以2位为单位分开,并为同步锁存第2最低2位;包括加法器584,它把锁存器583的输出和锁存器582的进位输出相加;包括锁存器585,它为同步锁存加法器584的输出,以输出2位的数据,包括锁存器586;它把从象素单元色插值器51的3延迟部分512和1延迟部分513延迟的色象素元补偿数据以2位为单位分开,并为同步锁存第3最低2位;包括一个加法器587,它对锁存器586的输出和锁存器585的进位输出求和;包括锁存器588,它为同步锁存加法器587的输出以输出2位的数据;包括锁存器589,它把从象素单元彩色插值器51的3延迟部分512和1延迟部分513延迟的色象素单元补偿数据以2位为单位分开,而且为同步锁存最高2位;包括一加法器590,它把锁存器589的输出同锁存器588的进位输出相加,以输出2位的数据;还包括锁存器591,它为同步锁存器582、585和588的输出。
色垂直插值器53包括一加法部分531,它把色象素元运动补偿器40和象素元色插值器51延迟的色象素元补偿数据求算术平均;包括1延迟部分532,它对加法部分531输出的数据延迟一个象素,并把它输出到色水平和垂直插值器54;包括1延迟部分533,它把从1延迟部分532输出的数据延迟一个象素,并将其输出到色度水平和垂直插值器54;还包括一个3延迟部分534,它把从1延迟部分533输出的数据延迟3个象素,并输出色垂直插值数据给多路复用器57。
在此如图6所示,加法部分531同色水平插值器52结构相同。加法部分531包括加法器581,它把来自色象素元运动补偿器40延迟的色象素元补偿数据和由象素元色插值器51的9延迟部分511延迟的数据以2位为单位分开,并对最低两位求和;包括一锁存器582,它为同步对加法器581的输出锁存,并输出2位的数据;包括一锁存器583,它把来自色象素元运动补偿器40延迟的色象素元补偿数据和由象素元色插值器51的9延迟部分511延迟的数据以2位为单位分开,并为同步锁存第2最低2位,包括加法器584,它对锁存器583的输出和锁存器582的进位输出求和;包括锁存器585,它为同步锁存加法器584的输出并输出2位的数据;包括锁存器586,它把来自色象素元运动补偿器40延迟的色象素元补偿数据和由象素元色插值器51的9延迟部分511延迟的数据以2位为单位分开,并为同步锁存第3最低2位;包括加法器587,它对锁存器586的输出和锁存器585的进位输出求和;包括锁存器588,它为同步锁存加法器587的输出,并输出2位的数据;包括锁存器589,它把来自色象素元运动补偿器40延迟的色象素元补偿数据和由象素元色插值器51的9延迟部分511延迟的数据以2位为单位分开,并为同步锁存最高2位;包括加法器590,它对锁存器589的输出和锁存器588的进位输出求和并输出2位的数据,还包括锁存器591,它为同步锁存锁存器582、585和588的输出。
色水平和垂直插值器54包括加法器541,它对色垂直插值器53的1延迟部分532和533的输出数据求算术平均,并输出色水平和垂直插值数据。如图6所示,这里的加法部分541同色水平插值器52的加法器结构相同。加法部分541包括加法器581,它把色垂直插值器53的1延迟部分532和533延迟的数据,以2位为单位分开,并对最低2位求和;包括一锁存器582,它为同步锁存加法器581的输出,并输出2位的数据;包括锁存器583,它把色垂直插值器53的1延迟部分532和533的延迟数据以2位为单位分开,并为同步锁存第2最低2位;包括加法器584,它对锁存器583的输出和锁存器582的进位输出求和;包括锁存器585,它为同步锁存加法器584的输出,以输出2位的数据;包括锁存器586,它把色垂直插值器53的1延迟部分532和533延迟的色象素元补偿数据,以2位为单位分开,并为同步锁存第3最低2位;包括加法器587,它对锁存器586的输出和锁存器585的进位输出求和;包括锁存器588,它同步锁存加法器587的输出,并输出2位的数据;包括锁存器589,它把色垂直插值器53的1延迟部分532和533的输出数据以2位为单位分开,并为同步锁存最高2位;包括加法器590,它对锁存器589的输出和锁存器588的进位输出求和并输出2位的数据;还包括锁存器591,它同步锁存锁存器582、585和588的输出。
如图6所示,这里的加法部分521、531及541均用2位加法器形成一个8位加法器,以便匹配1个时钟的速度。以与亮度处理同样的方式,加法部分输出平均值。色半象素元运动补偿器50在整个处理时间延迟17个象素,它同亮度半象素元运动补偿器20的操作相同。
因为色度信号相对于亮度信号水平地(X)和垂直地(Y)被减为一半,宏块就成为8×8象素,由此,不分成4相的色度信号处理速度与分成4相的亮度处理速度相同,所以不需要对色度信号处理分成4相。
由于块的边缘象素需处理,在色度半象素元运动补偿器50中为插值实际要求数据是9×9象素。
参考图7,色度运动矢量转换器30包括一加法部分,其中亮度运动矢量的最高位作为进位输入,当它是负值,在输入端加1,截掉最低位,以得到色度运动矢量CMV。对色度运动矢量CMV,最低位是半象素运动信息。
换言之,色度运动矢量转换器30包括图7所示的色度半象素信息转换器,由3个4位的加法器组成的加法部分31(图中未显示)组成。在这种结构中,亮度运动矢量LMV最高位被连接到加法部分31的进位输入部分Cin。当它是负值时,1被加到那里,然后,输出数据的最低位截去,以得到色度运动矢量CMV。余下的最低位成为半象素运动信息。
参考图8A,亮度FIFO控制器80包括写信号发生器80a,它分别根据同步信号及帧/场图象,和MPEG2系统输出的运动编码类型选择信号形成写信号,并把写信号输出给亮度FIFO;包括亮度读信号发生器80b,分别根据同步信号和帧/场图象和MPEG2系统输出的运动编码类型选择信号形成读信号,并把读信号输出到亮度FIFO 60。
如图8A所示,这里的亮度写信号发生器80a包括选择器81,它用来选择宏块时钟mbclk和宏块同步信号mbsync中的一个;包括控制器82,它根据MPEG2系统输出的图象结构类型信号Pstr0及Pstr1和图象运动类型信号Pmtypel,输出选择信号sel到选择器81;包括延迟器83,它对选择器81的输出延迟;包括计数器84,它对延迟器83的输出计数并形成锯齿波信号fifow-cnt,用于不写不需要的数据;包括写启动信号发生器85,它从延迟器83的输出形成写启动信号fifow-delay-win;包括写完成信号发生器86,它从计数器84的输出形成写完成信号fifow-end-win;还包括一个或门87,它对控制器82,计数器84,写信号发生器85和写完成信号发生器86的输出进行或操作,并形成亮度写信号fifo-we。
如图8b所示,亮度读信号发生器80b包括复位信号发生器88,它根据MPEG2系统输出的片窗口(slice window)信号swin以宏块为单位形成复位信号fifo-rs,并输出结果给亮度FIFO 60;还包括读信号发生器89,它根据MPEG2系统输出的片窗口信号swin形成的读信号fifo-re,并输出结果给亮度FIFO 60。亮度FIFO控制器80的工作将用图9的时序说明。
亮度FIFO控制器80用块时钟从半象素运动补偿数据中只选择需要的部分,把它输入给亮度FIFO 60,并用系统时钟mclk输出,以完成半象素运动补偿。
当控制器82根据图象结构类型信号Pstr0,Pstr1及图象运动类型信号Pmtypel给选择器81提供选择信号sel1时,选择器81根据选择信号sel1选择宏块时钟mbclk和宏块同步mbsync中的一个,由此所选择信号通过延迟器83输入给计数器84及写启动信号发生器85。
由于4象素间隔从5×17象素产生了不需要的数据,计数器84生成锯齿波信号fifow-cnt,以便不写不需要的数据到亮度FIFO 60。
写启动信号发生器85形成写启动信号fifow-delay-wln,给亮度FIFO 60的输入端口,用来计算从帧同步信号fsync来的数据花费的延迟时间,在此延迟时间以后把输入数据给亮度FIFO 60。
写完成信号发生器86从计数器84的输出形成写完成信号fifow-end-win。该信号根据图象结构类型信号Pstr0,Pstr1及图象运动类型信号Pmtypel,经一个宏块周期或半个宏块周期处理后禁止剩余的处理时间。
锯齿波信号fifow-cnt,写启动和写完成信号fifow-delay-win及fifow-end-win同选择信号sel2在或门87中作或操作,用于正当片窗口信号swin指示一数据活动区,宏同步信号mbsync和宏块时钟mbclk被改变时,禁止亮度FIFO 60的数据输入。所形成的或门操作结果作为亮度FIFO 60的写信号fifo-we。
读信号发生器80b用片窗口信号swin读信号发生器89生成读信号fifo-re,读信号fifo-re在一个宏块以后形成读数据,以不使亮度FIFO 60下溢。复位信号fifo-re用于每个宏块,由复位信号发生器88产生。
在图9中,块系统时钟fmclk用宏块同步信号mbsync,通过a锁存,以形成快宏块同步信号fmbsync,用于写或读中。
色度FIFO控制器90由色度写信号发生器和色度读信号发生器组成。因为色度信号的宏块是8×8象素,色度FIFO控制器90同亮度FIFO控制器80不同在于为了不写不需要数据的锯齿波信号fifow-cnt以及所用计数器84的计数的数不同,其它部分同亮度FIFO控制器80相同。
色度FIFO控制器90包括一个写信号发生器,它根据从MPEG2系统输出的各自的同步信号及帧/场和图象和运动编码类型选择信号产生色度写信号,并把结果输出到色度FIFO 70。还包括一个色度读信号发生器,它根据各自的同步信号及帧/场图象和MPEG2系统输出的运动编码类型选择信号产生色度读信号,并把结果输出到色度FIFO 70。
亮度FIFO控制器80的计数器84产生一锯齿波信号fifow-cnt到亮度FIFO 60,以便不写不需要的数据,这些不必要数据是从以4个象素为间隔的5×17象素产生的。而且,因为色度FIFO控制器90的锯齿波信号fifow-cnt在色度情况下是9×9象素元,所以它对输入的8象素数据操作并除掉第9个插值。除此之外,色度FIFO控制器90的工作同亮度FIFO控制器80相同。
图9中,信号fifo-cnt-rs以帧为单位去复位亮度和色度FIFO60及70。信号fifo-we-mb是对于一个宏块的写信号。参考号a1-a4表示在从宏块同步信号mbsync延迟以后进行写的4象素数据,参考号a5是不写的数据,这些操作根据图象结构类型信号Pstr0和Pstr1并重复8次或16次,然后被禁止,直到下一个宏块。
如上所述,本发明利用以宏块为单位的4相分开,一个比系统时钟更快的时钟,及FIFO控制器,实现接收MPEG2算法的半象素运动补偿器。
权利要求
1.一个接受MPEG2的半象素运动补偿控制器包括一个亮度象素元运动补偿器,用于根据一输入亮度运动矢量对亮度信号的象素元运动进行补偿;一个亮度半象素元运动补偿器,用于根据所述亮度运动矢量中的亮度半象素信息,对从所述亮度象素元运动补偿器输出的该亮度信号的半象素元运动进行补偿;一个色度运动矢量转换器,用于从所述亮度运动矢量中得到彩色信号的运动矢量;一个色度象素元运动补偿器,用于根据所述色度运动矢量转换器输出的色度运动矢量对所述色度信号的象素元运动进行补偿;一个色度半象素元运动补偿器,用于根据从所述色度运动矢量转换器输出的该色度运动矢量中的色度半象素和亮度半象素信息,对从所述色度象素元运动补偿器输出的该色度信号的半象素元运动进行补偿;一个亮度FIFO,用于对所述亮度半象素元运动补偿器的输出数据进行缓冲;一个色度FIFO,用于对所述色度半象素元运动补偿器的输出数据进行缓冲;一个亮度FIFO控制器,用于根据同步信号及帧/场图象和MPEG2系统输出的运动编码类型选择信号,对所述亮度FIFO的输入和输出进行控制;及一个色度FIFO控制器,用于根据MPEG2系统输出的同步信号和帧/场图象以及运动编码类型选择信号,对所述色度FIFO的输入和输出进行控制。
2.根据权利要求1中所述的接受MPEG2半象素运动补偿控制器,其中,所述亮度半象素元运动补偿器包括一个亮度半象素处理方向和延迟控制器,用于输出一个亮度半象素处理方向控制信号和多个对输出延迟的控制信号,用来控制亮度半象素处理方向和从亮度半象素信息输出的延迟;及0-3相亮度半象素元运动补偿器,用于根据各相的输入数据生成相应的亮度半象素运补偿数据,并根据来自所述亮度半象素处理方向和输出延迟控制器21的该亮度半象素处理方向控制信号和各输出延迟控制信号,输出各相相应的亮度半象素运动补偿数据。
3.根据权利要求2中所述的接受MPEG2的半象素运动补偿控制器,还包括一个锁存部分,它对并行的各相的输入数据锁存,并把它们输出到所述0-3相亮度半象素元运动补偿器。
4.根据权利要求3中所述的接受MPEG2的半象素运动补偿控制器,其中所述的锁存部分包括第一锁存器,用于对0相的输入数据锁存,并把它输出到所述0相亮度半象素元运动补偿器;第二锁存器,用于对1相的输入数据锁存,并把它输出到所述0相亮度半象素元运动补偿器;第三锁存器,用于对1相的输入数据锁存,并把它输出到所说的3相亮度半象素元运动补偿器;第四锁存器,用于对2相的输入数据锁存,并把它输出到所述1相亮度半象素元运动补偿器;第五锁存器,用于对2相的输入数据锁存,并把它输出到所述2相亮度半象素元运动补偿器;第六锁存器,用于对3相的输入数据锁存,并把它输出到所述的2相亮度半象素元运动补偿器;第七锁存器,用于对3相的输入数据锁存,并把它输出到所述3相亮度半象素元运动补偿器;及第八锁存器,用于对0相的输入数据锁存,并把它输出到所述3相亮度半象素元运动补偿器。
5.根据权利要求2中所述的接受MPEG2半象素运动补偿控制器,其中所述0相亮度半象素元运动补偿器包括第一5延迟部分,用于对0相的输入数据延迟5个象素;4延迟部分,用于对所述的第一5延迟部分的输出延迟4个象素,以得到象素元亮度插值数据;第一加法部分,用于对0相的输入数据和所述第一5延迟部分的输出求算术平均,以得到亮度插值数据;第一2延迟部分,用于对所述第一加法部分的输出延迟2个象素,以输出亮度垂直插值数据;第二加法部分,用于对0相和1相的输入数据求算术平均,以得到亮度插值数据;第二5延迟部分,用于对所述第二加法部分的输出,顺序延迟5个象素;第二2延迟部分,用于对所述第二5延迟部分的输出延迟2个象素,以输出亮度水平插值数据;第三加法部分,用于对所述第二加法部分的输出和所述第二5延迟部分的输出求算术平均,以得到亮度水平和垂直插值数据;第一多路复用器,用于根据从所述亮度半象素处理方向和延迟控制器输出的亮度半象素处理方向控制信号,选择并输出从该4延迟部分输出的象素元亮度插值数据和从该第一2延迟部分输出的亮度垂直插入数据二者之一;第二多路复用器,用于根据从所述亮度半象素处理方向和延迟控制器输出的亮度半象素处理方向控制信号,选择并输出从该第二2延迟部分输出的亮度水平插值数据和从该第三加法部分输出的亮度水平与垂直插值数据二者之一;第一锁存部分,用于根据从所述亮度半象素处理方向和延迟控制器输出的输出延迟控制信号,对所述第一多路复用器的输出锁存,并把它输出到该亮度FIFO;及第二锁存部分,用于根据从所述亮度半象素处理方向和延迟控制器输出的输出延迟控制信号,对第二多路复用器的输出锁存,并把它输出到该亮度FIFO。
6.根据权利要求5中所述的接受MPEG2的半象素运动补偿控制器,其中所述的第一加法部分包括第一加法器,用于把0相输入数据和所述第一5延迟部分的输出分成高位和低位,并对低位求和;第一锁存器对该第一加法器的输出锁存;第二锁存器用于把所述0相的输入数据和所述第一5延迟部分的输出分成高位和低位,并对高位锁存;及第二加法器,用于把所述第一加法器和第二锁存器的输出相加并输出。
7.根据权利要求5中所述的接受MPEG2的半象素运动补偿控制器,其中所述加法部分包括第一加法器,用于把0相和1相的输入数据分成高位和低位,并对低位求和;第一锁存器,用于锁存所述第一加法器的输出;第二锁存器,用于把0相和1相的输入数据分成高位和低位,并对高位锁存;及第三加法器,用于对所述的第一加法器和第二锁存器的输出相加并输出。
8.根据权利要求5中所述的接受MPEG2的半象素运动补偿控制器,其中所述加法部分包括第一加法器,用于把该第二加法部分输出和该第二5延迟部分的输出分成高位和低位,并对低位求和;第一锁存器,用于锁存所述第一加法器的输出;第二锁存器,它把该第二加法部分的输出和该第二5延迟部分的输出分成高位和低位,并对高位锁存;及第二加法器,它把所述第一加法器和第二锁存器的输出相加并输出。
9.根据权利要求2中所述的接受MPEG2的半象素运动补偿控制器,其中所述1相亮度半象素元运动补偿器包括第一5延迟部分,用于对1相的输入数据延迟5个象素;4延迟部分,用于对该第一5延迟部分的输出延迟4个象素,以得到象素单元亮度插值数据;第一加法部分,用于对1相的输入数据和该第一5延迟部分的输出求算术平均,以得到亮度插值数据;第一2延迟部分,用于对该第一加法部分的输出延迟2个象素,以输出亮度垂直插值数据;第二加法部分,用于对1相和2相的输入数据求算术平均,并得到亮度插值数据;第二5延迟部分,用于对该第二加法部分的输出顺序延迟5个象素;第二2延迟部分,用于对该第二5延迟部分的输出延迟2个象素,以输出亮度水平插值数据;第三加法部分,它对该第二加法部分的输出和所述第二5延迟部分的输出求算术平均,以得到亮度水平和垂直插值数据;第一多路复用器,用于根据从所述亮度半象素处理方向和延迟控制器输出的亮度半象素处理方向控制信号,选择并输出从该4延迟部分输出的象素元亮度插值数据和从该第一2延迟部分输出的象素元亮度插值数据和从该第一2延迟部分输出的亮度垂直插值数据二者之一;第二多路复用器,用于根据从所述亮度半象素处理方向和延迟控制器输出的亮度半象素处理方向控制信号,选择并输出从该第二2延迟部分输出的亮度水平插值数据和从该第三加法部分输出的亮度水平的和垂直插值数据二者之一;第一锁存部分,用于根据从所述亮度半象素处理方向和延迟控制器输出的输出延迟控制信号,对该第一多路复用器的输出锁存,并将其输出到该亮度FIFO;以及第二锁存部分,用于根据所述亮度半象素处理方向和延迟控制器输出的输出延迟控制信号,对该第二多路复用器的输出锁存,并把它输出到该亮度FIFO。
10.根据权利要求9中所述的接受MPEG2的半象素运动补偿控制器,其中所述第一加法部分包括第一加法器,用于把1相的输入数据和所述第一5延迟部分的输出分成高位和低位,并对低位求和;第一锁存器,用于锁存所述第一加法器的输出锁存;第二锁存器,用于把1相的输入数据和所述第一5延迟部分的输出分成高位和低位,并对高位锁存;及第二加法器,它把所述第一加法器和第二锁存器的输出相加并输出。
11.根据权利要求9中所述的接受MPEG2的半象素运动补偿控制器,其中所述第二加法部分包括第一加法器,用于把1相和2相的输入数据分成高位和低位,并对低位求和;第一锁存器,对所述第一加法器的输出锁存;第二锁存器,把相1和相2的输入数据分成高位和低位,并对高位锁存;及第二加法器,把所述第一加法器和第二锁存器的输出相加并输出。
12.根据权利要求9中所述的接受MPEG2半象素运动补偿控制器,其中所述第三加法部分包括第一加法器,用于把所述第二加法部分输出和第二5延迟部分的输出分成高位和低位,并对低位求和;第一锁存器,对所述第一加法器的输出锁存;第二锁存器,把所述第二加法部分的输出和第二5延迟部分的输出分成高位和低位,并对高位锁存;及第二加法器,把该第一加法器和第二锁存器的输出相加并输出。
13.根据权利要求2中所述的接受MPEG2的半象素运动补偿控制器,其中所述2相亮度半象素元运动补偿器包括第一5延迟部分,用于对2相的输入数据延迟5个象素;4延迟部分,用于把所述第一5延迟部分的输出延迟4个象素,以得到象素单元亮度插值数据;第一加法部分,用于对2相的输入数据和该第一5延迟部分的输出求算术平均,以得到亮度插值数据;第一2延迟部分,用于对该第一加法部分的输出延迟2个象素,以输出亮度垂直插值数据;第二加法部分,用于对2相和3相的输入数据求算术平均以得到亮度插值数据;第二5延迟部分,它对该第二加法部分的输出顺序延迟5个象素;第二2延迟部分,用于对该第二5延迟部分的输出延迟2个象素,以输出亮度水平插值数据;第三加法部分,用于对该第二加法部分的输出和该第二5延迟部分的输出求算术平均,以得到亮度水平和垂直插值数据;第一多路复用器,用于根据从所述亮度半象素处理方向和延迟控制器输出的亮度半象素处理方向控制信号,选择并输出从该4延迟部分输出的象素元亮度插值数据和从该第一2延迟部分输出的亮度垂直插入数据二者之一;第二多路复用器,用于根据从所述亮度半象素处理方向和延迟控制器输出的亮度半象素处理方向控制信号,选择并输出从该第二2延迟部分输出的亮度水平插值数据和从该第三加法部分输出的亮度水平与垂直插值数据二者之一;第一锁存部分,用于根据从所述亮度半象素处理方向和延迟控制器输出的输出延迟控制信号,对该第一多路复用器的输出锁存,并把它输出到所述亮度FIFO;及第二锁存部分,用于根据从所述亮度半象素处理方向和延迟控制器输出的输出延迟控制信号,对该第二多路复用器的输出锁存,并把它输出到所述亮度FIFO 60。
14.根据权利要求13中所述的接受MPEG2的半象素运动补偿控制器,其中所述第一加法部分包括第一加法器,它把2相的输入数据和所述第一5延迟部分的输出分成高位和低位,并对低位求和;第一锁存器,用于对所述第一加法器的输出锁存;第二锁存器,它把2相的输入数据和所述第一5延迟的输出分成高位和低位,并对高位锁存;及第二加法器,它把所述第一加法器和第二锁存器的输出相加并输出。
15.根据权利要求13中所述的接受MPEG2的半象素运动补偿控制器,其中所述第三加法部分包括第一加法器,它把2相和3相的输入数据分成高位和低位,并对低位求和;第一锁存器,它对该第一加法器的输出锁存;第二锁存器,它把所述1相和2相的输入数据分成高位和低位,并对高位锁存;及第二加法器,它把该第一加法器和第二锁存器的输出相加并输出。
16.根据权利要求13中所述的接受MPEG2的半象素运动补偿控制器,其中所述第三加法部分包括第一加法器,它把该第二加法部分的输出和该第二5延迟部分的输出分成高位和低位,并对低位求和;第一锁存器,对该第一加法器的输出锁存;第二锁存器,把所述第二加法部分的输出和所述第二5延迟部分的输出成高位和低位,并对高位锁存;及第二加法器,它对所述第一加法器和第二锁存器的输出相加并输出。
17.根据权利要求2中所述的接受MPEG2的半象素运动补偿控制器,其中所述3相亮度半象素元运动补偿器包括第一5延迟部分,它对3相的输入数据延迟5个象素;4延迟部分,它对该第一5延迟部分的输出延迟4个象素以得到象素元亮度插值数据;第一加法部分,它对3相的输入数据和该第一5延迟部分的输出求算术平均以得到亮度插值数据;第一2延迟部分,它对所述第一加法部分的输出延迟2个象素以输出亮度垂直插值数据;第二加法部分,它于对3相和0相的输入数据求算术平均,以得到亮度插值数据;第二5延迟部分,它对该第二加法部分的输出顺序延迟5个象素;第二2延迟部分,它对所述第二5延迟部分的输出延迟2个象素,以输出亮度水平插值数据;第三加法部分,它对所述第二加法部分的输出和所述第二5延迟部分的输出求算术平均,以得到亮度水平和垂直插值数据;第一多路复用器,它根据从所述亮度半象素处理方向和延迟控制器输出的亮度半象素处理方向控制信号,选择从所述4延迟部分输出的象素元亮度插值数据和从所述第一2延迟部分输出的亮度垂直插值数据之一并输出;第二多路复用器,它根据从所述亮度半象素处理方向和延迟控制器输出的亮度半象素处理方向控制信号,选择从该第二2延迟部分输出的亮度水平插值数据和从该第三加法部分输出的亮度水平和垂直插值数据之一并输出;第一锁存部分,它根据从所述亮度半象素处理方向和延迟控制器输出的输出延迟控制信号,对该第一多路复用器的输出锁存,并把它输出到所述亮度FIFO;及第二锁存部分,它根据从所述亮度半象素处理方向和延迟控制器输出的输出延迟控制信号,对该第二多路复用器的输出锁存,并输出到所述亮度FIFO。
18.根据权利要求17中所述的接受MPEG2的半象素运动补偿控制器,其中所述第一加法部分包括第一加法器,它把3相的输入数据和所述第一5延迟部分的输出分成高位和低位,并对低位求和;第一锁存器,它把该第一加法器的输出锁存;第二锁存器,它把3相的输入数据和所述第一5延迟部分的输出分成高位和低位,并对高位锁存;及第二加法器,它把第一加法器和第二锁存器的输出相加并输出。
19.根据权利要求17中所述的接受MPEG2的半象素运动补偿控制器,其中所述的第二加法部分包括第一加法器,它把3相和0相的输入数据分成高位和低位,并对低位求和;第一锁存器,它对该第一加法器的输出锁存;第二锁存器,它把3相和0相的输入数据分成高位和低位,并对高位锁存;及第二加法器,它对所述第一加法器和第二锁存器的输出相加并输出。
20.根据权利要求17中所述的接受MPEG2的半象素运动补偿控制器,其中所述第三加法部分包括第一加法器,它把所述第二加法部分的输出和所述第二5延迟部分的输出分成高位和低位,并对低位求和;第一锁存器,它对该第一加法器的输出锁存;第二锁存器,它对所述第二加法部分的输出和所述第二5延迟部分的输出分成高位和低位,并对高位锁存;及第二加法器,它对所述第一加法器和第二锁存器的输出相加并输出。
21.根据权利要求1中所述的接受MPEG2的半象素运动补偿控制器,其中所述彩色半象素元运动补偿器包括象素元色度插值器,它对所述色度象素元运动补偿器输出的色度象素单元补偿数据延迟,并输出象素元色度插值数据;色度水平插值器,使用在该象素元色度插值器内延迟的彩色象素元补偿数据,输出色度水平插值数据;色度垂直插值器,它使用在该色度象素元运动补偿器和象素元色度插值器内延迟的色度象素元补偿数据,输出色度垂直插值数据;色度水平和垂直插值器,它利用该色度垂直插值器输出的数据,输出色度水平和垂直插值数据;多路复用器,它选择从所述象素元色度插值器输出的象素元色度插值数据,从所述色度水平插值器输出的色度水平插值数据,从所述色度垂直插值器输出的色度垂直插值数据,和从所述色度水平和垂直插值器输出的色度水平和垂直插值数据之一,并输出色度半象素元运动补偿数据;色度半象素信息转换器,用于从所述色度运动矢量转换器输出的亮度半象素信息中得到色度半象素信息;及色度半象素处理方向和延迟控制器,它给所述多路复用器输出一选择信号,以控制该多路复用器的输出选择和输出延迟。
22.根据权利要求1中所述的接受MPEG2的半象素运动补偿控制器,其中所述象素单元色度插值器包括9延迟部分,用于对所述色度象素元运动补偿器输出的色度象素元补偿数据延迟9个象素,并把延迟后数据输出到所述色度垂直插值器;3延迟部分,用于对该9延迟部分输出的数据延迟3个象素,并把延迟后的数据输出到所述色度水平插值器;1延迟部分,用于对该3延迟部分输出的数据延迟1个象素,并把延迟的数据输出给该色度水平插值器;及4延迟部分,用于对该1延迟部分的输出数据延迟4个象素,以输出象素元色度插值数据给所述多路复用器。
23.根据权利要求21中所述的接受MPEG2的半象素运动补偿控制器,其中所述色度水平插值器包括一个加法部分,用于对所述象素元色度插值器延迟的色度象素元补偿数据求算术平均;及1延迟部分,它对该加法部分输出的数据延迟一个象素,以输出色度水平插值数据。
24.根据权利要求23中所述的接受MPEG2的半象素运动补偿控制器,其中所述加法部分包括第一加法器,它把所述象素单元色度插值器延迟的色度象素元补偿数据以2位为单位分开,并对最低两位求和;第一锁存器,它对该第一加法器的输出锁存以同步,并输出2位的数据;第二锁存器,它把所述象素元色度插值器延迟的色度象素补偿数据,以2位为单位分开,并锁存次低的两位以同步;第二加法器,它对该第二锁存器的输出和该第一锁存器的进位输出求和;第三锁存器,它对该第二加法器的输出锁存以同步,以输出2位的数据;第四锁存器,它把所述象素元色度插值器延迟的色度象素元补偿数据,以2位为单位分开,并锁存第3最低两位以同步;第三加法器,它对第四锁存器的输出和该第三锁存器的进位输出求和;第五锁存器,它锁存该第三加法器的输出以同步,并输出2位的数据;第六锁存器,它把所述象素元色度插值器延迟的色度象素元补偿数据以2位为单位分开,并锁存最高2位以同步;第四加法器,它对该第六锁存器的输出和该第五锁存器的进位输出求和,以输出2位的数据;及第七锁存器,它锁存所述第一、第三和第五锁存器的输出以同步。
25.根据权利要求21中所述的接受MPEG2的半象素运动补偿控制器,其中所述色度垂直插值器包括加法部分,它对所述色度象素元运动补偿器和象素元色度插值器延迟的色度象素元补偿数据求算术平均;第一1延迟部分,它对该加法部分输出的数据延迟一个象素,并把它输出到所述色度水平和垂直插值器;第二1延迟部分,它对该第一1延迟部分输出的数据延迟一个象素,并把它输出到所述色度水平和垂直插值器;及3延迟部分,它对该第二1延迟部分输出的数据延迟3个象素,并对所述多路复用器57输出色度垂直插值数据。
26.根据权利要求26中所述的接受MPEG2的半象素运动补偿控制器,其中所述加法部分包括第一加法器,它把所述色度象素元运动补偿器和象素元色度插值器延迟的色度象素元补偿数据,以2位为单位分开,并对最低二位求和;第一锁存器,它锁存该第一加法器的输出以同步,并输出2位的数据;第二锁存器,它把所述色度象素元运动补偿器和象素元色度插值器延迟的色度象素元补偿数据以2位为单位分开,并对次低2位锁存以同步;第二加法器,它把该第二锁存器的输出和该第一锁存器的进位输出求和;第三锁存器,它对该第二加法器的输出锁存以同步,并输出2位的数据;第四锁存器,它把所述色度象素元运动补偿器和象素元色度插值器延迟的色度象素元补偿数据,以2位为单位分开,并对第3最低2位锁存以同步;第三加法器,它对该第四锁存器的输出和该第三锁存器的进位输出求和;第五锁存器,它锁存该第三加法器的输出以同步,并输出2位的数据;第六锁存器,它把所述色度象素元运动补偿器和象素元色度插值器延迟的色度象素元补偿数据以2位为单位分开,并对最高2位锁存以同步;第四加法器,它对所述第六锁存器的输出和所述第五锁存器的进位输出求和,并输出2位的数据;及第七锁存器,它锁存所述第一、第三和第五锁存器的输出以同步。
27.根据权利要求26所述的接受MPEG2的半象素运动补偿控制器,其中所述色度水平和垂直插值器包括一个加法器,用于对所述色度垂直插值器输出的数据求算术平均,并输出色度水平和垂直插值数据。
28.根据权利要求27所述的接受MPEG2的半象素运动补偿控制器,其中所述加法部分包括第一加法器,它对所述色度垂直插值器延迟的数据,以2位为单位分开,并对最低2位求和;第一锁存器,它对该第一加法器的输出锁存以同步,并输出2位的数据;第二锁存器,它对所述色度垂直插值器延迟的数据,以2位为单位分开,并对次低2位锁存以同步;第二加法器,它对该第二锁存器的输出和该第一锁存器的进位输出求和;第三锁存器,它对该第二加法器的输出锁存以同步,并输出2位的数据;第四锁存器,它对所述色度垂直插值器延迟的色度象素元补偿数据,以2位为单位分开,并对第三最低2位锁存以同步;第三加法器,它对该第四锁存器的输出和该第三锁存器的进位输出求和;第五锁存器,它对所述第三加法器的输出以同步,并输出2位的数据;第六锁存器,它把所述色度垂直插值器输出的数据以2位为单位分开,并对最高位2位锁存以同步;第四加法器,它对该第六锁存器的输出和该第五锁存器的进位输出求和,并输出2位的数据;及第七锁存器,它为同步对所述第一、第三和第五锁存器的输出锁存。
29.根据权利要求1中所述的接受MPEG2的半象素运动补偿控制器,其中所述色度运动矢量转换器包括一个加法部分,此加法部分中亮度运动矢量的最高位作为进位输入,当它是负值时,在输入端加1,并截掉最低位以得到色度运动矢量,所述色度运动矢量其最低位是半象素运动信息。
30.根据权利要求1中所述的接受MPEG2的半象素运动补偿控制器,其中所述亮度读信号发生器包括亮度写信号发生器,用于从根据MPEG2系统输出的各自的同步信号和帧/场图象,以及运动编码类型选择信号来生成写信号,并把写信号输出到所述亮度FIFO;及亮度读信号发生器,用于根据从MPEG2系统输出的各自的同步信号和帧/场图象以及运动编码类型选择信号来生成读信号,并把读信号输出到所述亮度FIFO。
31.根据权利要求30中所述的接受MPEG2的半象素运动补偿控制器,其中所述亮度写信号发生器包括选择器,用于选择宏块和宏块同步信号中的一个;控制器,用于根据从MPEG2系统输出的图象结构类型信号和图象运动类型信号,输出选择信号给所述选择器;延迟器,用于对该选择器的输出延迟;计数器,用于对该延迟器的输出计数并产生一锯齿波信号,以不写不需要的数据;写启动信号发生器,用于从所述延迟器的输出产生一个写启动信号;写完成信号发生器,用于从该计数器的输出产生写完成信号;及或门,用于对所述控制器,计数器,写信号启动发生器和写完成信号发生器的输出进行或操作,并生成一个亮度写信号。
32.根据权利要求30中所述的接受MPEG2的半象素运动补偿控制器,其中所述的亮度读信号发生器包括复位信号发生器,用于根据MPEG2系统输出的片窗口(slicewindow)信号,以宏块为单位生成一个复位信号,并把结果输出到所述亮度FIFO;及读信号发生器,它根据MPEG2系统输出的片窗口信号生成一读信号,并把结果输出到所述亮度FIFO。
33.根据权利要求30中所述的接受MPEG2的半象素运动补偿控制器,其中所述色度FIFO控制器包括写信号发生器,用于根据从MPEG2系统输出的各自的同步信号和帧/场图象以及运动编码类型选择信号生成一个色度写信号,并把结果输出到所述色度FIFO;及色度读信号发生器,用于根据从MPEG2系统输出的各自的同步信号和帧/场图象以及运动编码类型选择信号生成一色度读信号,并把结果输出到所述色度FIFO。
全文摘要
本发明涉及接受MPEG2的半象素运动补偿控制器,利用以宏块为单位的4相分开及一个比系统时钟更快的时钟实现半象素运动补偿,并利用FIFO控制器来控制补偿器。此控制器包括一亮度象素元运动补偿器,一亮度半象素元运动补偿器,一色度运动矢量转换器,一色度象素元运动补偿器,一色度半象素元运动补偿器,一亮度FIFO,一色度FIFO,一亮度FIFO控制器及一个色度FIFO控制器。
文档编号H04N5/14GK1140958SQ9511720
公开日1997年1月22日 申请日期1995年9月22日 优先权日1994年9月23日
发明者宋基焕 申请人:Lg电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1