专利名称:视频信号多处理器并行处理方法
技术领域:
本发明涉及一种并行视频信号处理方法,尤其是高分辨率数字视频信号的编码和解码处理方法。
背景技术:
数字视频信号的数据量非常大,特别是高分辨率视频信号的实时处理,需要巨大的数据处理能力。
目前常用DSP(数字信号处理器)进行视频信号处理,特别地为视频和音频信号处理设计了专用的DSP,这些处理器具有专用的视频和音频数据输入输出接口,有的还具有一定视频协处理能力,如数据格式转换、VLC(变长编码)、VLD(变长解码)和OSD(屏幕叠加显示)等,可非常方便地进行数字视音频信号的处理,如压缩编码和解码等,这样的处理器称之为多媒体处理器或媒体处理器。
可编程逻辑器件(PLD,如FPGA和CPLD),因具有强大的并行处理能力,非常适用于视频信号处理,可编程逻辑器件也可扩展视频输入和输出接口,有的还内嵌MCU或MPU,可方便地用于视频信号处理,成为多媒体处理专用可编程逻辑器件,本发明也将其归为多媒体处理器。
然而,多媒体处理器的处理能力有限,而人们对视频信号分辨率的要求却越来越高,单个处理器的处理能力常不能满足处理高分辨率视频信号的要求。比如,目前单片多媒体处理器还不能实现1080i格式的高清晰度视频信号的H.264、AVS或MPEG4等标准的实时视频压缩编码,更不能处理4百万像素等更高分辨率的视频信号。一种解决方案是采用多片处理器并行实现高分辨率视频信号的处理,但由于视频处理常需要信号反馈,这就需要并行处理的各处理器间实现高速数据通信,常用的方法是采用增加双口RAM或FIFO实现相互间的高速数据通信,但这种方法实现较复杂,开发难度大,双口RAM和FIFO的成本较高,因而实用性较差。目前也有采用差分高速串行接口实现处理器间通信的多处理器并行处理方式,但目前这类带差分高速串行接口的处理器均为高端处理器,成本较高。
发明内容
本发明要解决的技术问题是提供一种视频信号的多处理器并行处理方法,利用该方法能较方便地实现多个多媒体处理器的并行处理,从而降低多处理器并行处理的复杂性,解决高分辨率视频信号处理的处理能力瓶颈问题。
为达到上述目的,本发明采用的技术方案是这样的采用多个具有视频输入和视频输出接口的子块处理器,该子块处理器为多媒体处理器,可以是具有一个或多个视频输入和输出接口的DSP(如TI公司的TMS320DM642处理器可配置为具有4个视频输入接口和2个视频输出接口等工作方式),也可以是具有视频输入和输出接口的可编程器件。所述的子块处理器构成一个并行视频处理系统,并将输入的视频图像分成多个子块(子区域),每个子块用一个处理器进行处理。
为了实现对各子块处理器处理结果的融合,本发明所构成的系统中还设有一个合成处理器,该合成处理器可以是一个多媒体处理器或一个MPU(微处理器,如ARM、MIPS)。例如,该系统用于高分辨率视频编码时,每个子块处理器的输出结果均输到该合成处理器,由合成处理器完成数据合成和复接等,形成一个完整的数据流。合成处理器同时可承担应用系统的其它任务,如音频接口和编解码,视频流复接和解复接,也能将解复接后的视频数据通过双向数据接口(如以太网、HPI、EMIF)分发给各子块处理器。
如果合成处理器采用一片多媒体处理器实现,则它可接收来自各处理器输出的光栅视频数据,在合成处理器中融合为高分辨率光栅视频数据,并通过其视频输出口输出。这样的系统的典型应用是高清视频解码和多路视频拼屏。
如果需要处理的视频图像较大或算法较复杂,则需要将视频分成较多子块,即需要较多的子块处理器并行处理,这时可用多个处理器组成合成处理器组。例如,采用多片多媒体处理器构成合成处理器组,每片合成处理器接收其中几路子块处理器输出的光栅视频信号,各合成处理器的输出信号输入另一合成处理器,最后合成为高分辨率视频信号,再通过其视频输出口输出。
由于多媒体处理器的视频输入口可采用行、场(或帧)控制视频信号的输入,为减少输入到多媒体处理器的数据量,如对给定处理器,只需将分派给该处理器的视频子块数据输入该处理器,本发明的并行视频处理系统还可包含若干接口控制电路。在对应各子块处理器的每个视频输入口,都可设置一个接口控制电路,因而所构成的系统中有多个接口控制电路,用于改变视频信号的行、场(或帧)控制信号,从而控制输入到处理器的图像数据有效范围,即只将特定的视频子块或区域输入相应的子块处理器。所述的接口控制电路可以用一片或多片CPLD、FPGA等可编程器件或其它逻辑电路实现。行、场(或帧)控制信号可以是行、场(或帧)有效信号或同步信号,可以用信号线传输,或采用特定码嵌入在视频数据中。
利用多媒体处理器的视频接口还可实现多个处理器间的高速数据通信。本发明采用多媒体处理器视频输出口输出视频信号及其它信号,另一个多媒体处理器采用视频输入口接收该信号,从而实现多媒体处理器间的数据传输。由于所用的多媒体处理器具有多个视频输入和视频输出接口,用这种方法就可实现大规模的并行视频处理。为了只输入需要的数据,同样采用接口控制电路控制视频数据输入的有效范围。
本发明中由于多媒体处理器的视频输入和输出端口数量有限,为了便于实现视频信号的大规模并行处理,视频子块的划分应使每个子块的相邻子块的数量不超过多媒体处理器的视频输入端口数量,如可将视频图像划分成垂直或水平条状子块,或将视频图像田字形划分成四个子块。
图1是几种视频图像子块划分的示意图。
图2是对应图1(a)子块划分实现并行处理的一个实施例。
图3是对应图1(b)或(c)子块划分实现并行处理的一个实施例。
图4是采用图3实施例结构方式进行视频转码处理的一个实施例。
图5是与图4类似,采用二片处理器进行解码的视频转码处理实施例。
具体实施例方式
对高分辨率的视频数据,每一帧有较大的尺寸,如1920×1080分辨率的HDTV视频数据,可将每帧图像分为如图1(a)所示4块,每块大小为960×540,也可将视频图像分为如图1(b)所示4块,每块大小为480×1080,也可将视频图像分为如图1(c)所示4块,每块大小为1920×270。这样可以用4个多媒体处理器分别处理其中的一块,每块视频图像压缩编码后的数据送合成处理器合成为完整的视频信号。对于分辨率更大的视频信号或处理复杂度更高的算法,则可以用这种方法分成更多的子块,如图1(d)所示。对于如HDTV 1080i这样的隔行视频信号,则每个子块输入多媒体处理器是分二场进行的。
由于帧间视频处理技术需要利用以前图像帧处理后的数据,如帧间视频编码需要利用前一帧图像的重建数据(重建帧)进行运动估计,即所谓参考帧,H.264和AVS等视频编码标准甚至需要多个参考帧。其它视频处理也可能要用到以前的图像帧数据。问题是帧间视频处理需要用到的参考帧图像数据或中间处理结果数据并不限制在所在的分块内,也即需要相邻分块对应的视频数据。如用帧间视频编码算法进行运动估计时,要用到周围图像数据,如图1(a)中对C块中宏块的运动估计需要用到图中虚线框内的参考帧数据。也就是说,采用分块方式进行帧间视频处理,若每个处理器处理其中一个分块,则每个处理器均需要用到来自其它处理器的参考帧图像数据,这些数据可由相应处理器通过视频输出接口输出,再由当前处理器的视频输入口接收到存贮器中。如图1(a),若分块A用处理器1处理,分块B用处理器2处理,分块C用处理器3处理,分块D用处理器4处理,处理器1、处理器2和处理器4的视频输出数据需要输入到处理器3,处理器1、处理器2和处理器4可利用其视频输出口输出数据,分别由处理器3的三个视频输入接口接收这些视频数据。
对于图1(b)、(c)和(d)的子块划分方法,每个子块的处理最多只要用到相邻二块的数据。也就是说,处理如图(b)、(c)和(d)中所示每个子块的处理器,需接收来自处理该子块相邻二子块的子块处理器的视频数据。我们称处理相邻子块的子块处理器为相邻处理器。这种子块划分方法的好处是,可以用很多处理器并行处理很大的视频序列数据。
图2是用上述方法的一个实施例,对应图1(a)的子块划分。该实施例采用TI的TMS320DM642多媒体处理器,也可以采用其它有多个视频输入输出接口的多媒体处理器。DM642含3个视频端口,每个视频端口又可作为2个10位端口使用,如果全部作为输入,则共可有6个视频输入口。
输入的视频信号可以是来自传感器(如CCD或CMOS图像传感器)的视频数据或其它高清视频设备输出的视频信号或其它可通过多媒体处理器视频口输入的视频数据,我们称其为外部视频信号。通过对应每个处理器的接口控制电路控制和改变视频信号的行、场控制信号,这些信号可以是行、场(或帧)有效信号或同步信号,从而控制输入到子块处理器的图像数据有效范围,即只将特定的视频子块输入相应的处理器。而视频数据可以直接输入多媒体处理器的视频输入口或为了时序匹配作一定的延时。
每个处理器将其处理后的视频数据,如视频编解码算法中的重建帧、视频图像分析中的中间结果或数据,通过视频输出口输出,我们称其为内部视频信号,同样经过接口控制电路,通过控制和改变视频信号中的行、场(或帧)控制信号选择有效视频数据,再通过处理器的视频输入口输入处理器。
由于每个处理器需要接收一路外部视频信号和来自对应三个相邻处理器的三路内部视频信号,即共需接收四路视频数据,这四路视频数据都需要经过接口控制电路选择有效数据,也即共需四个独立的接口控制电路,这些接口控制电路可一片或多片逻辑电路中实现。在采用多片逻辑电路实现时,由于接口控制电路为对视频信号中行、场(或帧)控制信号进行改变,对应同一数据源(外部视频信号或内部视频信号)的接口控制电路可以组合在一起,从而简化电路。接口控制电路可以是CLPD、FPGA或其它逻辑电路。
每个处理器用四个视频输入口接收这四路视频信号,用一个视频输出口输出一路视频信号给相邻处理器。
每个处理器各另用一个视频接口输出一路处理后的视频信号到合成处理器,合成处理器用四个视频输入口接收这四路视频信号。合成处理也可以通过以太网、HPI、EMIF等接口与各视频处理器通信,从而实现对各视频处理器的控制、给各视频处理器分发数据流。
图3是用上述方法的另一个实施例,对应图1(b)或(c)的子块划分。其中处理器1、处理器2、处理器3、处理器4分别用于处理视频子块A、视频子块B、视频子块C、视频子块D,处理器1接收外部视频信号及来自处理器2的视频信号,处理器2接收外部视频信号及来自处理器1和处理器3的视频信号,处理器3接收外部视频信号及来自处理器2和处理器4的视频信号,处理器4接收外部视频信号及来自处理器3的视频信号。对视频信号的控制方式与图1例相同。特别地,对于H.264和AVS等具有帧内预测模式的视频编码和解码算法,其帧内编码宏块的编码和解码均需要用到其左侧和上部相邻像素,图1(c)所示的子块划分更能适应实时编码和解码。
图4是利用图3所示方法实现的一个用于视频转码的实施例。该实施例用一片处理器实现视频解码,如实现HDTV分辨率的MPEG2视频解码,将解码后的视频信号送到各视频处理器,工作原理与图3相同,所不同的是解码处理器将码流中关于宏块的运动矢量、量化参数等信息传输给合成处理器,并由合成处理通过以太网、HPI、EMIF等接口传输给处理器1、处理器2、处理器3、处理器4,也可由解码处理器直接将这些信息通过数据总线传输给各视频处理器(如图4中虚线所示),从而提高视频编码算法中运动估计的速度,或者可以将这些信息嵌入在视频数据中,当作视频数据通过视频接口传输给各视频处理器,这时需要将原图像进行扩展。
对于需要更复杂的视频解码时,如要实现1080i分辨率的H.264/AVC视频解码,则可用2片或4片多媒体处理器用上述方法实现并行视频解码处理。
图5是用6片多媒体处理器和一片合成处理器实现视频转码的一个实施例。
合成控制处理器将需要转码的原始码流通过以太网、HPI、EMIF等接口传输给解码处理器1和解码处理器2,它们均是多媒体处理器。由于解码过程中需要从相邻处理器(这里是另一个解码处理器)获得参考帧视频数据,故这二个处理器均通过视频输出和输入口将重建帧传输给对方。解码处理器1将解码后的视频数据通过视频口传输给编码处理器1和编码处理器2,解码处理器2将解码后的视频数据通过视频口传输给编码处理器3和编码处理器4。同时,解码处理器1和解码处理器2将运动矢量等信息通过以太网、HPI、EMIF等接口传输给各编码处理器(可直接传输或通过合成控制处理器转发)。
本发明的主要特点是采用多媒体处理器的视频口进行视频数据的处理器间传输,从而实现大规模并行视频处理。可用于但不限于上述视频子块划分及实施例。本发明方法也可用于视频数据融合,如多路视频拼接和融合,本发明方法可用于各种高分辨率视频处理,如高分辨视频中的目标分割和理解等。
权利要求
1.一种视频信号多处理器并行处理方法,采用多个子块处理器和合成处理器实现视频信号的并行处理,其特征在于子块处理器对整幅图像进行分区域并行处理,每个子块处理器处理视频图像的一个区域,这些处理器间可通过视频输入和输出接口进行通信;合成处理器通过通信接口与子块处理器通信,实现对各子块处理器处理结果的融合。
2.根据权利要求1所述的视频信号多处理器并行处理方法,其特征在于在子块处理器的视频输入口,可设置一接口控制电路,用以改变视频信号的行、场控制信号,控制输入到子块处理器的图像数据有效范围,其中行、场控制信号可以采用独立的控制线,也可以嵌入在视频数据中。
3.根据权利要求1或2所述的视频信号多处理器并行处理方法,其特征在于子块处理器的视频输出接口可与其它一个或多个子块处理器的视频输入接口连接,用以实现处理器间的数据通信。
4.根据权利要求1或2或3所述的视频信号多处理器并行处理方法,其特征在于可实现视频转码处理,视频解码处理将解码后的视频数据通过视频接口输入到子块处理器,同时将原运行矢量、量化等参数通过通信接口或嵌入在视频数据中,传输给各子块处理器。
5.根据权利要求4所述的视频信号多处理器并行处理方法,其特征在于采用多个解码处理器实现视频解码,解码处理器间采用视频接口进行视频数据传输,解码后的视频数据通过视频接口和控制电路传输给相应的子块处理器。
全文摘要
本发明公开了一种视频信号多处理器并行处理方法,它采用多个子块处理器和合成处理器实现视频信号的并行处理。所述子块处理器对整幅图像进行分区域并行处理,每个子块处理器处理视频图像的一个区域,这些处理器间可通过视频输入和输出接口进行通信;所述合成处理器通过通信接口与子块处理器通信,实现对各子块处理器处理结果的融合。本发明能较方便地实现多个多媒体处理器的并行处理,从而降低多处理器并行处理的复杂性,解决高分辨率视频信号处理的处理能力瓶颈问题。
文档编号H04N5/765GK1889667SQ20061005266
公开日2007年1月3日 申请日期2006年7月26日 优先权日2006年7月26日
发明者唐慧明, 蒋国华, 褚方杰 申请人:浙江大学