基于同构多核处理器的H.264多粒度并行编码器.pdf

所需积分/C币:1 2012-11-24 11:43:32 720KB PDF
16
收藏 收藏
举报

H.264码率低和视频质量高的优越性能以增加编码计算的复杂度为代价,如何开发适用于多核处理器平 台的并行编码算法是提高其编码速度的重要研究内容,对于满足高清视频实时传输和大规模共享具有十分重要的 意义.利用H.264开源编码器项目X264,在片级和数据级并行编码算法的基础上,通过分析图像帧之间的参考关 系,提出并实现了B帧个数可变的帧级并行算法;根据宏块之间的参考关系,设计了一种类似流水线的宏块级并行 方法;基于Intel同构多核平台,提出融合帧级、片级、宏块级和数据级4种不同粒度的并行编码方案,开发了H.264 多粒度并行编码器.实
1102 计算机学报 2009年 3.1.1图像组 编码的最小基本单元是宏块,因此子块一级的编码 在H,264中,帧图像分为I、P、B3种,一般排成包含在宏块的内部,因此无法实施并行操作 IBBPBBPBBPBBPBBP…样式,这种连续的图像组 通过以上分析可以看出,要想实现H264多粒 合即为图像组( Group of picture,GOP),是H264度并行编码器,在现有层次结构中,按照并行粒度从 视频存取的基本单位 大到小可以分为帧级、片级和宏块级.现有多核处理 由于GOP是H264最基本的存储单位,GOP器通常都有多媒体扩展指令集,利用SIMD指令集 之间不存在相互关系,符合并行化的一个条件,但由对向量操作同样可以实施数据运算的并行,能够获 于GOP数据量太大,不能作为处理器基本处理单得可观的加速比.因此,H.264多粒度并行编码包括 位进行整体处理,因此不能在这个层次实施并行化.帧级、片级、宏块级和数据级4种不同的粒度 3.1.2帧结构 3.2帧级并行 H.264视频将图像(即帧)分为Ⅰ、P、B3种,I帧 在H.264编码中,I帧是内部编码帧,不需要参 是帧内编码图,P是预测图,B是双向预测图.简单考其它帧P帧需要前向的I帧作为参考,B是双向 地讲,I帧是一个完幣的图像,而P帧和B帧记录的预测帧,需要前向和后向的I或者P帧作为其参考 是相对于I帧的变化,没有I帧、P帧和B帧就无法帧.由于帧与帧之间的参考关系比较复杂,彼此之间 解码.虽然当前编码帧依赖于前面的已编码帧,但通互相关联,对帧编码的简单并行是行不通的.因此, 过分析帧间的依赖关系可以找到共用参考帧的当前寻找共用参考帧的可编码帧成为实现帧级并行的 编码帧,这就决定了可以在帧级实现并行编码 关键 3.1.3片组和片结构 假设编码序列中设置的B帧个数为2,其具体 个帧图像叮编码成一个或很多个片,每片包视频编码序列为 IBBPBBPBBP…,依照I、P和B帧 含整数个宏块即每片至少一个宏块,最多时每片包之间的参考关系,可以把连续的视频序列按照BBP 含整个图像的宏块设片的目的是为了限制误码的的样式分割成一个个单元序列经过分析可以看出 扩散和传输,应使编码片相互间保持独立.某片的预个BBP单元序列中的两个B帧由于共用前后的 测不能以其他片中的宏块为参考,这样某一片中的两个P帧作为参考帧,可以实施并行.同时,这个 预测误差才不会传播到其他片中去 BP单元序列中的P帧又作为下一个BBP单元序 H264编码中片的特点是帧中的片之间互不依列中P帧的参考,因此前一单元序列中的两个B帧 赖,也就是说,如果一幅帧图像被划分成N个片,这加上下一个单元序列中的P帧就可以实施三帧同 N个片之间彼此不存在相互依赖关系,这便为实现时并行以上是B帧设置参数为2时帧级并行的基 同一帧中片的并行奠定了基础 本思路,可以得出原本执行一帧的时间现在可以用 3.1.4宏块结构 来执行三帧,理论加速比基本可以达到3,等于B帧 帧编码图像通常划分成若干个宏块,每个宏设置参数加1 块由一个16×16的亮度像素块和附加的一个 本文实现的帧级并行可以随着B帧设置参数 8×8Cb和一个8×8Cr彩色像素坎组成每个图像动态变化,具体的并行策略如图2所示.当设置编码 中,若干宏块被排列成片的形式 序列中B帧个数可变时,帧级并行的线程数取决于 宏块作为H264编码最小的基本单元,其预测B帧的个数,B帧数越大,并行加速比越高,在处理 模式选择需要参考左、上、右上的相邻宏块,在所需器足够的情况下,理论上获得的最大加速比等于B 参考宏块均已编码的悖况下,多个宏块就可以实施帧设置参数加1.由于在并行过程中,创建编码线程 并行预测模式分析和编码,其具体的并行处理流程 帧播放顺序BB. PBB.PBB.!P 类似流水线操作 帧编码顺序 IPBB. PBB... PBB 3.1.5子块结构 帧并行编码顺序I→P→P→P 在H264的运动预测中,一个宏块可以被分为 B→B→B 不同的子块,形成7种不同模式的块尺寸,即分成 B 16×16、16×8、8×16或8×8亮度像素块;如果选 了8×8的子块,则可再分割成各种子块,其尺寸为 B 8×8、8×4、4×8或4×4亮度像素块.由于H264 图2帧级并行策略示意图 6期 于俊清等:基于同构多核处理器的H264多粒度并行编码器 1103 需要分配内存,线程之间的数据传输也会消耗资源,测并可以提高压缩比,现在就无法利用,造成单位时 实际加速比会小于理论加速比,再加上处理器个数间内压缩视频的规模(即码率)增大.码率是H264 资源的限制,会在某个B帧的个数上获得一个峰值编码性能的一个重要参数,因此,不能以无限制地提 加速比 高分片数目来获得加速比,需要综合考虑分片数目 3.3片级并行 对码率的影响 H264编码的片与片之间不存在直接的数据依3.4宏块级并行 赖,可以通过对帧进行分片来实现多片同时编码,从 片由多个宏块组成,宏块编码需要左、上和右上 而实现片级并行.片级并行的实现通过把帧图像数的宏块进行参考,串行编码程序中片内的宏块按照 据单元平均划分成多个数据块,然后每个数据块同行顺序依次进行编码,当前宏块进行编码的时候其 时创建线程进行并行编码,编码过程中会加入片头参考宏块已经编码完成了.宏块级并行就是要找到 信息,编码完成后再依次把各片数据组合成一帧图参考宏块已经编码完成的可编码宏块 像数据就完成了.具体的片级并行编码流程如图3 宏块级并行主要针对片内有多行宏块的情况, 所示 首先创建两个线程分别对第1行宏块和第2行宏块 Slice l 同时进行编码.由于宏块编码过程中要参考左、上和 右上的宏块,因此,第2行宏块的编码肯定要比第1 行宏块编码慢,大概相差两个宏块编码的时间.当 Slice 4 第1行宏块编码结束之后,第2行的宏块也编码到 图3片级并行策略示意图 了最后几个宏块,这样第3行的宏块能以第2行的 宏块为参考,可以直接进行编码.因此,当第1行宏 片级并行程度取决于帧的分片数,而分片数可块编码完成之后,宏块编码线程就可以直接跳转到 以人为设定,分片数越大,获得的并行加速比越大 第3行进行编码;同理,当第2行编码完成之后,宏 但是由于片是人为把图像帧划分成的数据块,而划块编码线程2就直接跳转第4行进行宏块编码,依 分之后片与片之间相关性将不复存在,因此,原本存次类推,具体的宏块级并行策略如图4所示 在于帧內部的数据相关性,可以很好地用于宏块预 ■编码和写流都已完成的宏块 编码完成,正在进行写码流的宏块 □正在进行编码的宏块 编码完成,尚未写回码流的宏块 尚未编码的宏块 任务1:宏块分析和编码 仟务2: ABAC写回码流 写码流线程宏块编码线程1 宏块编码线程2 (0.0) (2,0(30(4.0)(5,0)小(60)()(x ,1)(1,1)(21)(3,1)(4,1)5,1)(67,1)8.1 (0,2)(12)(22)3,2)4,2)(5,2)(6,2)(7,2)(8,2 (0,31.32.3)(3.3)4,3)(53(6,3)(7,3)8,3) 图4宏块级并行策略示意图 3.5数据级并行 量运算模式如图5所示 同构多核处理器内嵌了多媒体指令集,这些指 在X264代码中,主要运用多媒体指令集对如 令集通过对数据实行向量化运算从而达到并行处理下几个计算模块进行改写具体包括离散余弦变换 的效果,多媒体指令集包括MMX/SSE/SSE2,它们运动补偿、去方块滤波、1/4或1/8像素精度的运动 对大规模的密集计算有明显的加速作用.SIMD向矢量计算以及量化.由此获得的数据级并行加速比 1104 计算机学报 2009年 也是很可观的,数据级并行使用的是处理器内嵌的 操作数A AO 多媒体指令集,不占用多处理器的资源,是一种非常 有效的提高编码速度的并行策略,同时可以把节省 下来的处理器资源用于大粒度的编码并行化 操作数B[B3B2B■ 3.6多粒度并行编码实现 完整的H264多粒度并行编码实现流程如图6 所示.基于X264开源编码器,通过创建3个数据队 运算结果C[A39pB3A2opB2| AlopB1A0pB0 列,分别为I/P编码帧队列、B编码帧队列和NAL 图5SIMD向量运算模式示意图 输出缓冲队列,并建立分级线程实现. 图像序列(GOP) m→ 读?进程 终P队列 1/P帧「类型决定 取出L/P帧 分析叮并行B帧 B帧 I/P帧编码线程 B队列 创建并行B帧线程 匚B呦编码线程匚B帧编码线程了匚B帧编妈线程」 预分配NAL 内存空间 嫘巴二 ‖英 宏 编码过程中级级级 级级‖级 级‖级级 级级级 包含SIM)编编‖编 编日编 数据级井行 码 线线‖线 组合分片数据组合分片数据」[组合分片数据][组合分片数据 把数据写NAL队列 [读写进程」—问到磁盘输出文 图6H264多粒度并行编码实现示意图 H.264编码过程分成3个部分:原始视频输入、进行帧级并行分析,创建B帧编码线程;I/P帧编码 编码和编码后数据输出.其中涉及的线程有主线程、线程和B帧编码线程分别根据分片数创建片级编 读写线程、I/P帧编码线程、B帧编码线程、片级编码线程;在各片内部,分别创建两个宏块级编码线程 码线程和宏块级编码线程.这些线程创建的先后关和一个码率写回线程对宏块进行类似流水线的并行 系及主要功能为:主线程创建读写线程和I/P帧编编码.下面详细阐述多粒度并行编码实现的算法 码线程;读写线程负责从缓冲队列中读入图像序列、流程, 决定帧类型并插入到编码帧队列中,同时检查NAL (1)原始视频序列被读写线程顺序读入到内存 队列把完整数据写回到磁盘空间;IP帧编码线程中并决定帧类型.如果是B帧就放入B帧编码队 6期 于俊清等:基于同构多核处理器的H264多粒度并行编码器 1105 列,否则放入I/P帧编码队列中,同时要在NAL输 read a frame to the buffer: 出队列中为编码后的码流输出预留一个数据单元, decide the type of current frame; 在该数据单元中写入图像帧的帧号 if (the type is i or P) enter l/P queue (2)主线程在程序初始化时创建I/P帧编码线 程,该线程通过轮询的方式不断检查I/P帧编码队 enter B queue; 列中是否有可编码的I或P帧.如果存在,则再查找 allocate a node in the nal queue for current frame 帧编码队列,把所有共用参考帧的可并行B帧全 部取出来,为所有取出的B帧创建B帧编码线程与 else if (there is bitstream in the Nal queue) 取出的Ⅰ或P帧一起实行帧级并行编码 write the bitstream to output file, else (3)在帧级并行线程创建之后,如果处理器核 wait i 还有剩余,根据分片数的大小,把每一个并行编码帧 再次进行分片,为每一个片创建片级编码线程以实 I/P帧编码线程代码 现片级并行 while(1) (4)在每个片内部,创建两个宏块级编码线程 和一个宏块码率写回线程,编码线程1和线程2分 if (there is frame in the I/P queue) 别对片内奇数行和偶数行的宏块顺次进行编码,由 fetch a frame from i/P queue 于宏块之间的参考关系,两个线程相互交替刚好达 analyze the b frames in b queue 到流水线并行的效果.两个编码线程把编完的码流 create B thread for B frame which can be encoded 依次写入到各自的缓冲队列中,宏块码流写回线程 arallel; 分别读两个缓冲队列把宏块码流按顺序进行组合 encode current frames (5)在取宏块级编码过程中,宏块编码内部的 else if (all frames are encoded) 离散余弦变换和量化等都可以运用SIMD多媒体扩 展指令集实施数据级并行 else (6)片级编码结束之后,通过把各分片数据加 入片头信息组合成帧码流,然后加入帧头信息,根据 NAL队列预留数据单元中写入的帧号,由读写线程 把完整帧码流写回到NAL队列中与该帧帧号相同4实验结果与分析 的数据单元中去 从上述多粒度并行编码算法流程可以看出,帧4.1实验平台和参数设置 级、片级、宏块级和数据级4种粒度的并行可以很好 我们采用的同构多核实验平台为 Intel Xeon 地融合在一起这些并行粒度之间有一个大致的顺2×4核处理器,单核主频2.0GHz,8.0GB内存.实 序,一般先有帧级并行再有片级并行,然后是宏块级验主要测试多粒度融合、B帧个数自适应之后的加 并行,在宏块编码内部还包括数据级并行.在具体的速比和码率的变化情况以及多粒度并行融合对不同 编码执行过程中,也可以根据计算环境关闭其中的分辨率和不同格式视频的加速比变化情况为了便 某几个级别的并行粒度,例如可以关闭片级和数据于在相同测试条件下进行比较,主要测试参数设置 级并行只使用帧级和宏块级并行 如下:30帧一个图像序列、多参考帧、可以平均B帧 下面通过伪代码详细描述整个编码流程中的两参考块的运动矢量、允许B帧加权预测、关闭自适 个重要线程:读写线程和I/P帧编码线程. 应B帧判定 读写线程代码: 4.2多粒度并行编码实验结果分析 while(there is frame to encode) H.264多粒度并行编码共包括4个粒度的并 行,本节首先对帧级、片级和数据级并行加速比与传 if there is free entry in image buffer) 统单一级并行性能进行分析,然后加入宏块级并行, 分析多粒度并行编码的加速比和码率变化 1106 计算机学报 2009年 4.2.1帧级、片级和数据级并行与传统单级并行性倍.由此可见,数据级并行对于提高H264编码速 能的分析比较 度具有非常重要的意义.由于数据级并行只需要处 图7给出了帧级和片级两种粒度并行编码的融理器支持SIMD多媒体扩展指令集,而不需要占用 合与传统单一的帧级、片级并行加速比的对比情况.多个处理器核资源,因此是一种高效的并行编码 在这里,设定B帧数为典型值2.从图7中可以看出方法 随着分片数的增加,片级并行加速比会逐渐增大,范4.2.2宏块级并行加速比和编码码率分析 围大概在1~4之间变化,并在分片数为6或7时达 图9给出了B帧个数可变时多粒度并行编码 到峰值,这主要是由处理器核个数的限制造成的.从时码率的变化情况.由于分片是把帧图像划分成多 图中可以看出,帧级并行加速比不随分片数的变化个数据块,隔断了片与片之间宏块的相关性,使得宏 而变化,因为帧级并行只取决于帧之间的参考关系.块之间的参考只能局限于片内部,因此分片数越大, 由于B帧参数设置为2,其理论加速比为3,除去创码率越大,由此造成了片级并行编码码率随分片数 建线程、数据传输的资源消耗,实际的加速比约为线性增大帧级并行的码率随着B帧数的增加先降 2.当帧级和片级融合之后,与文献[4-6]相比,加速低而后增加,在B帧个数为2~4时取得较小值,这 比有显若提升,范围从2~5变化,同样在分片数为是由于B帧数较小时,双向预测的相关性大,压缩 6或7的时候达到加速比峰值.由帧级和片级的并率较大,随着B帧数增加双向预测的相关性变小, 行方案可以得出帧级并行只需要与B帧设置参数从而造成了码率的增加而宏块级和数据级并行并 相同的处理器核的个数就能获得较好的加速比,而不影响相关性,因此对编码码率都没有影响可以看 片级并行霱要处理器核的个数较多的时候才能获得出,随着分片数的不断增大,多粒度并行码率基本上 较大的加速比 呈现线性增大的趋势.当B帧个数为2~4的时候, 整体码率相对于其它B帧个数比较低. 640 620 燜3 G 级加速比 片级加速比 餐520 帧级+片级加速比 45678 分片数 图7帧级和片级并行融合与传统单一的 420 400 帧级、片级并行加速比对比示意图 分片数 图8是在图7的基础上加上数据级并行,实现 图9B帧个数可变时多粒度并行码率变化 了3个粒度的融合,曲线变化趋势与图7大致相同 图10和图11给出的是B帧个数可变时帧级 但是整体加速比大幅提高,3种粒度融合之后加速片级并行和帧级、片级及宏块级并行加速比的对比 比变化范围从20~35.与文献[4-6]单一地采用固状况从图中可以看出,随着B帧个数的不断增大, 定帧级和片级并行编码相比,加速比提高了5~7并行编码加速比都呈上升趋势.结合图9的码率变 4505 化趋势图可以看出,B帧数设置为2~4的时候编码 码率较低,B帧数设置大于3的时候加速比在一个 较高的水平,由此可以得出存在一个B帧个数最优 搬 点使得编码速度较高和编码码率较低.从实验结果可 15 帧级+数据级加速比 以大致看出这个点出现在B帧设置个数为4的时候 5 帧级+片级+数据级加速比 图10和图11的对比可以看出,帧级片级融合 片级+数据级加速比 时峰值加速比出现在分片数为6的地方,而帧级、片 2345678 分片数 级和宏块级并行融合时峰值加速比出现在分片数为 图8帧级、片级和数据级并行融合加速比示意图 3的地方,二者峰值加速比大致相当.加入了宏块级 6期 于俊清等:基于同构多核处理器的H264多粒度并行编码器 1107 并行之后,峰值加速比出现在分片数较小的地方,根 表1本文方法与其它方法的性能比较 据图9码率的变化趋势可以得出,加人了宏块级并 并行策略 加速比 码率比 行在大幅提升编码速度的同时,编码码率相对较低 B帧固定片级并行 5.21x~5.56x 单一数据级并行[4,8 这是宏块级并行的优势所在 单一宏块级并行9 3.08x 本文的多粒度并行33.57x~34.36x1.04x 4.3不同视频格式下实验结果分析 60 视频格式按分辨率从大到小排序为CIF(352 5. 288)>SIF(352×240)>QCIF(176×144).如图12 坦1.d 所示,可以看出分辨率越大,融合之后获得的编码加 段3 速比越大.这是由于分辨率越大,一帧图像中需要的 计算时间也就越多,相对于帧级线程创建和内存分 b=2 配的消耗,并行编码中计算所占的权重比较大,通信 分片数 开销所占的权重相对较小,也就会获得更大的加速 图10B帧个数可变时帧级片级融合加速比 比QCIF分辨率大概是CF的四分之一,其加速比 相对于CIF也小很多.因此,可以得出结论,不同视 7.0 6.5 频格式下多粒度并行编码融合之后加速比都有不同 5 程度的提升,多粒度并行对于分辨率大的视频编码 提升的效果更为明显 3. b=0 312-3352 b=1+b=6 30 2.0 10 b=8 图20 5 b=4 分片数 a news (QCIF) 图11B帧个数可变时帧级片级宏块级融合加速比 o hall (CIF) 峰值加速比 4.2.3与现有其它方法的性能比较 图12不同视频格式下多粒度并行编码加速比对比 如表1所示,我们从加速比和码率比两个方面 将本文的多粒度并行方法与现有其它方法进行性能 比较文献[46]在8个逻辑CPU上(4CPU的xeon5结论 超线程处理器),即对于B帧为2的视频采用片级 并行取得4.31x~4.69x加速比,当分片数为8时, H264并行编码的粒度主要包含帧级、片级、宏 该方法引起了1.08倍的码率增加在4.1节介绍的块级和数据级单一粒度的并行化可以增加加速比, 测试平台中,本文对其方法进行了测试,获得但是往往有加速比不够高或者码率增大的弊端.本 5,21x~5.56x加速比.文献[4,8]和文献[9分别采 文实现的H264多粒度并行编码器,对帧级、片级 用了数据级和宏块级的并行取得了2x~4x和宏块级和数据级并行进行了融合,通过减少分片数 3.08x的加速比,同时保持了码率不变 和降低码率在保持视频质量(PSNR)不变的同 通过对多粒度并行融合,我们的多粒度H.2864时,极大地提升了并行编码的加速比,获得了优越 并行编码获得33.57x~34.36X的加速比,比上述的编码性能因此,基于同构多核处理器实现的 方法有较大的性能提高同时与文献[4-6]相比,通H.264多粒度并行编码器是一种综合性能优异的并 过宏块级并行部分替代了片级并行,减小了分片行编码器对于多粒度并行来说在处理器核有限的 数,从而在取得较高加速比的同时,只带来了1.04情况下,如何在各个粒度上更精确地分配数目不同 倍的码率增加,与文献[4-6】相比,保持了较低的的核资源是优化编码性能的主要因素之一,未来工 码率 作将围绕这一点进行研究. 1108 计算机学报 2009年 Processing and Communication Systems. Xiamen, China, 參考文献 2007:870-873 [8 Zhou X, LiE Q, Chen Y-K. Implementation of H. 264 de- coder on general-purpose processors with media instructions [1] Wiegand T, Sullivan G J, Bjontegaard G et aL. Overview of //Proceedings of the sPle Conference on Image and video the H. 264/Avc video coding standard. IEEE Transactions C on Circuits and Systems for Video Technology, 2003, 13(7) and Processing. California, 2003. Bellin ham: SPIE-IS&T,2003:224-235 560-576 [2] JVT. Draft text of final draft international standard for ad [9 Zhao Zhuo, Liang Ping. A highly efficient parallel for H. 264 video encoder// Proceedings of the IEEE Interna vanced video coding Geneva: ISO/IEC, Draft: ISO/IEC tional Conference on Acoustics, Speech and Signal Process 14496-10,2002 ing. Toulouse, 2006: 489-492 [3 Parkhurst Jeff, Darringer John, Grundmann Bill, From sin [10] Fluegel S, Klussmann H, Pirsch P et al. A highly parallel 1//P sub-pel accurate motion estimator for H. 264//Proceedings of ceedings of the TEEF International Conference on Computer he IEEE 8th Workshop on Multimedia Signal Processing. Aided Design. New York, 2006: 67-72 Victoria, BC, 2006: 387-390 [4 Ge S, Tian X, Chen Y-K. Efficient multithreading imple- [11] Lin Chiachun, Lin Yukun, Chang Tiansheuan. A parallel mentation of H, 264 encoder on Intel hyper-threading archi multi-rcsolution motion estimation algorithm and architecture tectures//Proceedings of the IEEE Pacific- Rim Conference on for HDTV sized H. 264 video coding// Proceedings of the Multimedia. Singapore, 2003: 469-473 IEEE International Conference on Acoustics, Speech and Sig [5] Tian X, Chen Y-K, Girkar M et al. Exploring the use of hy- nal Processing. Hawaii, 2007: 385-388 er threading technology for multimedia applications with In [12] Cho C-Y, Huang SY, Wang J-S. An embedded merging tel OpenMP compiler//Proceedings of the Intel Parallel scheme for H. 264, AVC motion estimation//Proceedings of Distributed Processing Symposium. Nice, 2003: 36-43 the IEEE International Conference on Image Processing, Bar [6 Chen Y-K, Tian X, Ge Set al. Towards efficient multi-level celona, Spain, 2003: 909-912 threading of h. 264 encoder on Intel hyper-threading archi [13 lee Chuanyiu, Lin Yucheng, Wu Chiling et al. Multi-pass tectures//Proceedings of the 18th Intel Parallel and distribu and frame parallel algorithms of motion estimation in H. 264 ted Processing Symposium. Santa Fe, 2004: 63-72 AVC for generic GPU// Proceedings of the IEEE Internation [7 Ye Jian-Hong, Liu Ji-Lin. Fast parallel implementation of al Conference on Multimedia and Expo. Beijing, 2007: 1603- H. 264/AVC transform exploiting SIMD instructions//Pro ceedings of the International Symposium on Intelligent Signal YU Jun-Qing, born in 1975, Ph. D, LI Jiang, born in 1984, M.S. His research interest is associate professor. His research inter digital video processing. ests include digital media processing and WEI Hai-Tao, born in 1982, Ph. D. candidate. His re- retrieval, multi-core programming envi- search interest is multi-core programming environment Backgroun As a new video coding standard H 264 developed by computation power than previous coding standards. There- Joint Video Team (JVT) is now being used widely due to its fore, we need some hard ware and software mechanisms to ac- high-quality video content and low bitrates. a number of new celerate the speed of encoder for real-time application features have been introduced in H. 264 to attain such coding Multi-core processor architecture is becoming the main performance, such as multiple reference frames, intra-predic tream solution for next generation microprocessor chips, in tion,quarter-pixel motion estimation (ME) with variable which multi-grained parallel computational resources are pro block sizes, CABAC, in-loop deblocking filter and more vided. Multi-core hardware can be used to execute multiple which make encoding process more complex and require more thread contents in parallel. In order to improve H. 264 enco- 6期 于俊清等:基于同构多核处理器的H264多粒度并行编码器 1109 ding performance, the authors present an implement of multi- four parallel grains, including frame, slice, macroblock and level parallelization for H.264 encoder on multi-core architec- data level. Experimental results demonstrate that the enco- ture. In the new scheme, frame-level, slice-level macrob- ding speedup is improved to a large extent, without obvious lock-level and data-level of parallelism are exploited by analy- increasing bitrates. The high-quality video is kept in the en zing the feature of H. 264 encoding process. Based on the coding process open-source H.264 encoder project X264, an adaptive B This work is financially supported by Intel grant for a rame frame parallel algorithm is proposed through analysis study of multi-core programming environment. In recent of the dependency among the referent frames, According to years, this group concentrated on the research on media pro the reference of related macroblocks, a macroblock-level par- cessing and retrieval on multi-core architecture. Several p allel approach is designed in assembly-line fashion. A multi- pers have been published in international conference and jour grain parallel H. 264 encoder is implemented on the homoge nal. a testing platform prototype has been developed. neous multi-core platform. This encoder efficiently combines

...展开详情
试读 11P 基于同构多核处理器的H.264多粒度并行编码器.pdf
立即下载
限时抽奖 低至0.43元/次
身份认证后 购VIP低至7折
一个资源只可评论一次,评论内容不能少于5个字
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
关注 私信
上传资源赚钱or赚积分
最新推荐
基于同构多核处理器的H.264多粒度并行编码器.pdf 1积分/C币 立即下载
1/11
基于同构多核处理器的H.264多粒度并行编码器.pdf第1页
基于同构多核处理器的H.264多粒度并行编码器.pdf第2页
基于同构多核处理器的H.264多粒度并行编码器.pdf第3页

试读结束, 可继续读1页

1积分/C币 立即下载