多dsp核框架以及快速并行视频信号处理的方法

文档序号:3351636阅读:204来源:国知局
专利名称:多dsp核框架以及快速并行视频信号处理的方法
技术领域
本发明涉及一种视频信号处理的方法,特别涉及一种多DSP核(即DSP核 处理单元)框架的快速并行纟见频信号处理的方法。
背景技术
目前领先的最高时钟达1GHz单核心DSP核已不能满足实时大数据量和大运 算量的数字信号处理,特别是高清晰度电视-现频信号编码和解码。多DSP核因 其可编程及含有多个可并行运算的核心,正在净皮越来越多地利用。由于3见频编 码和解码方法传统是用一个快速处理器(DSP核或ASIC)来处理的,在使用多 DSP核来处理视频编码和解码方法时,要对方法进行并行化,即将数据和方法分 解成可以同时运算的子数据组和子程序,合理分配给不同的DSP核核,让所有 的DSP核工作在满负荷状态,同时尽量减少DSP核数据总线上的数据交换。
如图1所示,多DSP核有多个处理单元,称为CPU (或DSP核)单元。每一 处理单元有自己的高速内存(Ll/L2), 一般在16 KB-64KB,处理单元可以非常 快速地从其中存取数据。同时,所有处理单元共享更大的一块内存(L3), 一般 在好几MB。 L3的存取速度,因为要通过数据总线,相对慢些,但数量大。L1/L2 一般较贵,L3较便宜,Ll/2/3的比例是一个性价比的问题。多DSP核 一般含 有一个中央控制器,如MIPS或ARMCPU,来处理用户界面和各种外围接口,如 以太网口, SRIO, RS232, USB,和无线收发器,以适用于各种运用场合。
多DSP核的方法所采用的分解方法,目前主要是函数(或计算步骤)分解。 函数分解法是一种时域分解法,将方法按照处理顺序分解成多个步骤,然后进 行串并行(pipeline)处理,即第一个核处理第一帧图像的第一步骤,在它处 理完以后,交给下一个核作第二步骤,自己再去做下一帧图像的第一步骤;而 第二个核处理完第二步骤以后,交给下一个核作第三步骤,自己再去^t下一帧图像的第二步骤;如此进行。用这种方式,所有DSP核核都在同时工作。这种 分解法有2个问题
(1 )需要保证每一步骤的工作量差不多,以免有一步骤窝工(等待前一步 骤结束)
(2 )相邻步骤(或DSP核核心)之间的数据交换(大约是一帧图像的 相应的数据)较大,这就意味在数据总线的数据流量较大,增加处理的时间。
H. 264及其它4^频方法较难将其切割成在时间先后上计算量差不多的步骤。 而最主要的是大量的数据在多个DSP核之间调进调出,成了目前DSP核视频处 理的并瓦颈。

发明内容
为克服上述缺陷,本发明的目的提供一种处理速度快相邻步骤之间数据交 换较小的多DSP核框架以及快速并行视频信号处理的方法。
为达到上述目的,本发明多DSP核框架中快速并行-见频信号处理的方法,
其步骤为接收视频流影像;按照预定步骤对视频流影像作串并行处理;对其中 至少一个步骤按预定程序做并行处理。
优选的,所述按预定程序做并行处理的步骤为将视频流影像中的每一帧 视频图像按空间分割成可以并行处理的多个子数据块;将各子数据块分配给不 同的DSP核进行并行处理。
优选的,上述的各子数据块之间没有相关性。
优选的,所述按预定程序做并行处理的步骤为将^L频流影像中的每一帧 视频图像按照各像素子块间的相关性分割成多个子块集;判断相邻的各子块集 之间是否有相关性;如果没有相关性,则分配给不同的DSP核并行处理;如果 有相关性,则分配给DSP核进行串并行处理。
优选的,将视频流影像中的每一帧视频图像按照各像素子块间的相关性、图像参数和DSP核参数分割成多个子块集中。
优选的,所述的并行处理是指每个DSP核对数据按照相同的预定程序进行 多个步骤的处理。
优选的,所述的子块集至少包括一个像素子块。
采用上述方法,每一个DSP核将分给的数据调入自己的快速内存(Ll/L2) 进行处理,由于需要调进调出的数据只是一帧图像的一小部分,系统的数据交 换大大减少,而且每一个核会对分给的数据作多个步骤的处理,进一步减少了 数据交换。


图1为多DSP核结构图。
图2为H. 264解码的流程图。
图3表示数据分解法与函数分解法的对比图;其中,图3.1为函数分解法, 图3. 2为数据分解法。
图4为像素子块的相关性示意图。
图5为图像处理的像素数据分割。
图6为数据分割时间表,用以展示子块集的相关性和并行性。 图7为本发明发明多DSP核框架中快速并行^L频信号处理的方法的流程图。 图8为图7所示流程图中并行处理部分的流程图。
具体实施例方式
本发明的方法可以适用于各种视频格式,如H. 264 、 MPEG2/4、 JPEG、 VC、 AVS等;也同样适用于多DSP核处理其它实时信号,如通讯数据。
本发明中所称的串并行(pipeline)处理,是指第一个DSP核处理第一帧 图像的第一步骤,在它处理完以后,交给下一个DSP核作第二步骤,自己再去做下一帧图像的第一步骤;而第二个DSP核处理完第二步骤以后,交给下一个 DSP核作第三步骤,自己再去做下一帧图像的第二步骤;如此进行。
本发明中所称的并行处理,是指多个DSP核针对同一帧图像同时处理一个 步骤中该图像的不同部分。
下面结合附图和实施例以多DSP核用于H. 264 baseline profile (BF)解 码器来对本发明作进一步地说明。
本发明多DSP核框架中快速并行^L频信号处理的方法,包括以下步骤将 视频流影像中的每一帧视频图像分割成可以并行处理的子数据块,这种分割是 一种空间分割,它将每一帧图像分解成可以并行处理的子数据块,使得子数据 块之间有相对的并行性;然后,再将各子数据块分配给不同的DSP核进行并行 处理。其中,并行处理是指每个DSP核对数据按照相同的预定程序进行多个步 骤的处理。
上述方法中,每一个DSP核将分给的数据调入自己的快速内存(Ll/L2)进 行处理,由于需要调进调出的数据只是一帧图像的一小部分,系统的数据交换 大大减少,而且每一个核会对分给的数据作多个步骤的处理,进一步减少了数 据交换。并且这种数据分割法可以将数据分解得大小差不多,而且每个DSP核 处理的步骤基本相同。这就意味着每个DSP核的工作量基本平衡,保证所有DSP 核可以最大限度地工作。
上述的方法适合对数据相关性小的数据进行处理。比如,图2所示的 entropy decoding步骤中数据相关性太大,不适合数据分割,因此这一步的 不易并行处理。
对于视频编码后的数据,为了减少数据冗余的信息,图像的16x16像素子 块(micro block,也称宏块)或其他尺寸(如,8x16, 16x 8)的像素子块之 间有相关性,如图4所示。图中标以"当前处理的子像素块(current MB)"的《象素子块,在进行帧内预测(intra prediction),运动矢量预测(MV prediction),和环路滤波(loop filter) 这3个处理步骤时,与图中其它 的像素子块有相关性;为了处理它,要等到其它像素子块处理完。但是仔细分 析,有很多像素子块的处理没有相关性,可以并行处理。举个例子,如果将一 帧图像按图5切割成多个子块集。 一个子块集包含多个像素子快,如子块集l 包括5个像素子块,图6列出了子块集的相关和并行性。比如,子块集l与子 块集G有相关性(即其处理要等到子块集G的所有像素子块处理完毕),子块集 2和7与子块集l有相关性,但子块集2与子块集7可以并行处理。同样,子 块集3和8与子块集2和3有相关性,但子块集3与子块集8可以并行处理。 如此等等。
在这个分割中,可以并行计算的子块集可用DSP核同时处理,不可以并行 计算的子块集,如子块集O, l就采用串并行(pipeline)处理。具体来i兌, 假设我们有4个DSP核,表l列出了在不同的时间段,DSP核所处理的子块集 (intra prediction, MV,和loop filter 3个步骤,参考图5)
时间 段tlt2t3t4t5t6t7t8t9tlOtiltl2tl3tl4tl5
DSP 核lROB20B26B27B33B34R6R13GOR20R26R27K33R34
DSP 核2B19RlB31B32R4R5RllR12R18R19GlR31R32G4G5
DSP 核3B24B25R2R9RIOR16R17R23R24R25G2G3G9G10
DSP 核4B29B30R7R8R14R15R21R22R28R29R30G7G8G14G15
上表中
B字头数字代表第 (n-l)帧图像的分割的子块集编号 R字头数字代表第n (目前)帧图像的分割的子块集编号 G字头数字代表第(n+1)帧图像的分割的子块集编号
从表中可以看到,在时间段t6, 子块集5, 10, 15分别由DSP核核2, 3, 4并行处理,而在同一时间段,子块集34是前面一帧图像的子块。在该时间段,子块5, 6, 15与子块34的关系是串并行的关系,即子块集5, 6, 15与子 块集34并行,但子块集34属于不同的图像帧。
因此作为本发明进一步地改进,多DSP核框架中快速并行视频信号处理的 方法,包括以下步骤将视频流影像中的每一帧视频图像按照各像素子块(micro block或称宏块)间的相关性分割成多个子块集;判断相邻的各子块集之间是 否有相关性;如杲没有相关性,则分配给不同的DSP核并行处理;如果有相关 性,则分配给一DSP核进行串并行处理。采用这2种处理方法,DSP核可以根据 各子块集间的相关性来对不同的子块集选择不同处理方法,从而克服多DSP核 与子块集间相关性的矛盾,进一步减少数据交换。对于何时采用何种方法,我 们可以经过理论计算和仿真来决定,以达到最大限度地使用所有DSP核,和减 少在处理数据过程中的经过数据总线(与L3)的数据交换。
综上所述,采用上述的方法进行分割,多DSP核均工作在最大负荷,充分 发挥DSP核各核的运算功能。以上只是一种分割法,并不一定最优。如果分得 太细(有很多子块),则可以有很多并行的组合,但每个DSP核频繁地更换子块, 每更新一次,都有一些额外的计算量(overhead).如果分得太粗,则并行的子 块可能较少,而且每一 DSP核处理的数据可能在其快速Ll/L2内存放不下,意 味着在处理此子块时要有数据交换。因此,我们可以根据不同的图像精度
(resolution), DSP核的数量,Ll/L2/L3内存的大小,来决定最优的数据分割 法,使得多DSP核能最快的处理图像。经过计算机仿真和在一多DSP核上的 实施结果显示,HD 720p高清晰度电视H.264 BP码流能够根据用双核
(dual-core : 2x600MHz) DSP核 and 3核 (triple-core: 3x600MHz) DSP 核实时解码。
明的精神范围。因此如果这些改变属于本发明权利要求书及其等同技术范围内, 则本发明也意图涵盖这些改变。
权利要求
1、一种多DSP核框架中快速并行视频信号处理的方法,其步骤为接收视频流影像;按照预定步骤对视频流影像作串并行处理;其特征在于,还包括以下步骤对其中至少一个步骤按预定程序做并行处理。
2、 如权利要求l所述的多DSP核框架中快速并行视频信号处理的方法,其 特征在于,所述按预定程序做并行处理的步骤为将视频流影像中的每一帧视频图像按空间分割成可以并行处理的多个子数 据块;将各子数据块分配给不同的DSP核进行并行处理。
3、 如权利要求2所述的多DSP核框架中快速并行视频信号处理的方法,其 特征在于所述的各子数据块之间没有相关性。
4、 如权利要求l所述的多DSP核框架中快速并行视频信号处理的方法,其 特征在于,所述按预定程序做并行处理的步骤为将视频流影像中的每一帧视频图像按照各像素子块间的相关性分割成多个 子块集;判断相邻的各子块集之间是否有相关性;如果没有相关性,则分配给不同 的DSP核并行处理;如果有相关性,则分配给DSP核进行串并行处理。
5、 如权利要求1或3所述的多DSP核框架中快速并行视频信号处理的方法, 其特征在于将视频流影像中的每一帧视频图像按照各像素子块间的相关性、 图像参数和DSP核参数分割成多个子块集。
6、 如权利要求1或2所述的多DSP核框架中快速并行视频信号处理的方法, 其特征在于所述的并行处理是指每个DSP核对数据按照相同的预定程序进行 多个步骤的处理。
7、 如权利要求2所迷的多DSP核框架中快速并行视频信号处理的方法,其 特征在于,所述的子块集至少包括一个《象素子块。
全文摘要
本发明公开了一种多DSP核框架以及快速并行视频信号处理的方法,为解决现有技术处理速度慢等问题而发明。其步骤为接收视频流影像;按照预定步骤对视频流影像作串并行处理;对其中至少一个步骤按预定程序做并行处理。采用上述方法,每一个DSP核将分给的数据调入自己的快速内存(L1/L2)进行处理,由于需要调进调出的数据只是一帧图像的一小部分,系统的数据交换大大减少,而且每一个核会对分给的数据作多个步骤的处理,进一步减少了数据交换。
文档编号H04N7/26GK101616327SQ200910157780
公开日2009年12月30日 申请日期2009年7月27日 优先权日2009年7月27日
发明者斌 侯, 李科奕, 王生洪, 进 陆 申请人:无锡睿网科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1