研究文章|开放获取
穆罕默德•阿西夫Imtiaz泰姬,s m . Ziauddin只Maaz本艾哈迈德,m . Tahir, ”混合方案基于流水线和移动应用程序处理器的多任务先进的视频编码”,科学的规划, 卷。2015年, 文章的ID197843年, 16 页面, 2015年。 https://doi.org/10.1155/2015/197843
混合方案基于流水线和移动应用程序处理器的多任务先进的视频编码
文摘
移动设备的一个关键要求是提供高性能计算在更低的能耗。这些设备使用的处理器提供特定的硬件资源来处理计算密集型视频处理和交互式图形应用程序。此外,低功耗的处理器设计应用程序可能引入限制资源的可用性和使用情况,系统设计者带来额外的挑战。由于JZ47x一系列的特定设计移动应用处理器,一个混合software-hardware实现方案为h / AVC编码器提出了这项工作。该方案硬件和软件模块之间分配编码任务。一系列的优化技术开发加快内存访问和记忆之间的数据传输。此外,提出了一种有效的数据重复使用设计解块过滤视频处理单元,以减少内存访问。此外,细粒宏模块(MB)级并行性是有效利用和管线式方法提出了有效利用硬件处理的核心。最后,基于提出的并行设计,编码任务分布在两个处理核心。实验表明,混合编码器是12倍高度优化的顺序编码器由于提议的技术。
1。介绍
在这个时代,便携式多媒体设备与相应的媒体技术在我们的日常生活中扮演着重要的角色。这些设备执行多媒体功能,如视频录制和播放看电视(移动电视),videotelephony和视频流。高效视频编码以较低的功耗是这些设备的基本要求。
h / AVC先进的视频编码标准(AVC)提供高质量的视频内容编码比特率非常低(相对于以前的视频压缩标准1- - - - - -3]。压缩质量是通过添加一个新的压缩技术包括空间intraprediction, ()整数变换、多参考帧、多帧间编码的块大小,四分之一像素运动估计(我),解块过滤和content-adaptive算术编码(4- - - - - -6]。这些额外的特性和功能改善编码效率显著增加计算复杂度为代价的(3,5,7]。所以这将是一个极具挑战性的任务实时h编码甚至在最近的可用高功率单处理单元。
JZ47x是一系列的小功率的移动应用程序处理器非常适合电池供电的便携式设备。这些设备,例如身体穿录像机,无线视频传感器,和视频等浮电缆,需要长时间操作。本系列介绍了一个创新的处理器架构来满足高速移动计算和计算密集型视频编码便携式多媒体设备的要求。特别是对h / AVC视频编码、JZ47x处理器(JZ4760 JZ4770, JZ4780)配有专用硬件处理单元的编码器。他们有两个主要的核心,即中央处理单元(CPU)和视频处理单元(VPU),其中VPU核心控制专用硬件处理单元。他们也有通用的直接存储器存取单位(直)高效的数据传输和管理在视频编码。
尽管JZ47x架构有能力满足计算需求的h / AVC编码器,它一定限制系统设计师。h / AVC编码器的效率实现JZ47x处理器是一项具有挑战性的任务,因为一些编码器模块在硬件中实现和其他需要在软件中实现。h .编码器在一个集成框架,任务依赖性很大,编码器的任务分配、调度、同步硬件和软件模块之间的真正考验设计师的技能。此外,它要求高效的内存管理和同步开发的处理单元实现实时编码。
提出了一个端到端的software-hardware混合h / AVC编码器实现方案JZ47x一系列移动应用处理器。JZ4770是作为一个例子来实现该方案。该方案硬件和软件模块之间分配编码任务。芯片上的记忆的小尺寸和限制硬件处理单元在编码过程中引起记忆的大数据传输。为了减少数据传输,提出了几种优化技术工作。对于硬件视频处理单元和程序之前需要配置每个执行并采取规定的时间执行分配的任务。由于固有的任务和数据依赖关系在h / AVC编码器,处理器仍然封锁在那段时间。这是命名为处理或轮询时间。也会使硬件处理单元的空转。减少轮询和空转时间的硬件处理模块,利用流水线设计提出了编码器后微粒宏模块(MB)级并行的多个宏模块(MBs)并行处理。 Finally, a mechanism is developed to efficiently distribute the computational load among CPU and VPU cores to increase the encoding rate. The experimental results show that the incorporation of hardware processing units increases the encoding rate (from 4.48 fps to 23 fps) but the major advantage (from 23 fps to 58.70) is due to the proposed methodologies.
本文的主要贡献如下:(我)一个端到端的混合实现的h / AVC编码器JZ4770移动应用程序处理器提出有效利用所有并行功能的高性能视频编码这个平台低功率消耗。(2)记忆有效解块滤波器设计视频处理单元,提出了增加数据重用率和减少内存访问。(3)开发一些优化技术加快内存访问和数据传输在编码过程中记忆。(iv)h .编码器的流水线设计是开发利用并行微粒MB水平后,并行处理多个MBs的地方。(v)并发机制是开发利用CPU和VPU核心编码。这种机制提供了有效的任务同步、调度和负载平衡CPU和VPU核心之间。
剩下的纸是组织如下。部分2介绍了文献综述。部分3描述了JZ4770平台架构。该方案中描述部分4。编码器性能评估部分5。最后,得出结论6。
2。文献综述
许多方案实现h / AVC编码器在不同的平台上。阮et al。11)描述的实现h .基线配置编码器对多媒体应用可重构多媒体系统2 (REMUSII)。实现的编码器实现CIF 30帧的编码速度()分辨率视频序列。Sankaraiah et al。10)提出了一个基于Group-Of-Pictures并行化方法(共和党)h .编码器。在这个方案中,每个共和党在一个单独的线程独立编码和帧被引用包含在共和党。这导致减少编码时间由5.6到10倍相比,标准的顺序代码实现。但是很难实现实时编码使用这种技术。此外,这种方法需要大量的内存来存储所有的帧。阿西夫et al。12]利用宏模块(MB)级并行性h / AVC编码器,基于这种并行性提出了一个方案来实现多核平台的编码器。编码器能够编码NTSC ()和高清720 p ()决议的帧率72 fps和32 fps,分别。Aw et al。13)描述了优化技术实现h / AVC TI TMS320DM648 DSP平台上高清视频编码。实现的编码器进行实时编码和流在25 fps 720 p高清视频。林和杨14)提出了优化的实现的h / AVC编码器TM320DM642 DSP平台。编码器可以编码VGA ()和CIF分辨率帧速率为22.6 fps和超过40 fps,分别。
施耐德et al。15)开发和优化h基线配置编码器在TMS320DM642 DSP平台上。为了加快编码速度,增强直接内存访问(EDMA)控制器,使用查找表和内在。编码器的编码CIF分辨率视频序列的帧速率30 fps。细胞处理器,Alvanos et al。9)提出了一个方法来实现细粒度的任务级并行性的编码器。运行时标记过程调用(TPC)和基于任务的编程模型用于并行化编码器。实现编码器实现加速4.7倍和8.6倍之间六协同处理元素(spe),相对于串行版本运行在电力处理元素(PPE)。然而,这个实现需要大量的编程工作,任务管理开销。实时高清视频编码,他等。16]利用分散使用八个spe管线式并行编码方案。分散任务创建减少在这个实现的任务管理开销。他们使用片上通信和传输数据多重缓冲不同编码器模块之间的有效沟通。编码器能够执行实时高清编码(19201080 @31 fps)通过使用8 spe (spe) 16日58 fps。陆和挂17)和Schwalb et al。18提出了自适应我NVIDIA gpu的算法。这些算法主要集中在降低计算复杂度的我,也试图利用潜在的并行性。此外,这些建议主要是利用数据级并行性和集中在单个模块的prediction-loop h / AVC编码器。
张等人。19和代理等。20.)提出在MB级调度技术的应用可伸缩的h .视频编码协助嵌入式多核设备。在这些技术中,专门的硬件优化任务提交或检索单位使用。然而,MB的水平实现调度控制使得这个模型非常昂贵的CPU + GPU平台。Momcilovic et al。21)提出了并行混合GPU + CPU系统的动态模型。在这个模型中,整个interprediction循环的编码器是CPU和GPU并行。动态分配CPU和GPU之间的计算负载,还提出一种计算有效的模型。提出了模型包括两个依赖意识到任务调度和负载平衡算法。Momcilovic et al。8]给出了一种改进的动态依赖意识到调度算法对混合GPU + CPU协同视频编码平台。计划加速编码器2.5倍相比,高度优化的GPU-only编码。
简而言之,大多数的这些计划缺乏在描述混合实现的h / AVC编码器,编码器的一些街区在硬件和软件实现。因此,实现需要高效的编码器的任务分配,调度,硬件和软件模块之间的同步。所以需要工作在这个方向突出的问题参与这样的实现。
3所示。JZ4770架构
JZ4770异步多处理器(AMP)的体系结构。CPU和VPU是其主要的核心。CPU核心包含主处理器(命名为j - 1)运营的时钟频率1000 MHz。另一方面,VPU核心辅助处理器(辅助)运营的时钟频率500 MHz。j - 1和辅助都是MIPS(微处理器没有联锁管道阶段)。j - 1和辅助的主从模型之间存在。操作系统内核使用j - 1,同时用户可以程序辅助。j - 1加载二进制在辅助和命令开始执行。
h编码的视频处理单元向量矩阵运算部件(VMAU)、运动补偿和评估引擎”(MCE),解块(DBLK)。有三种类型的芯片上的记忆包括两个紧密耦合的共同记忆TCSM0 (16 KB)和TCSM1 (48 KB)随着SRAM(划痕RAM 28 KB)。此外,DMA0 DMA1, DMA2对于三个通用程序加上TCSM0 TCSM1,和SRAM分别22,23]。这些对于支持三种不同的数据传输类型,也就是说,字节,短,整数。
对于硬件视频处理单元和每个执行和之前需要配置不支持多个实例。他们规定的时间执行分配的任务。这些硬件处理单元的约束,他们在MB操作水平和输入/输出数据从/到芯片上的内存。但多国评价模块所使用的参考帧分配内存。当前和参考帧分配内存,因为有限大小的芯片上的记忆。
4所示。提出了方案
4.1。h / AVC JZ4770移植
基于顺序软件(C代码实现)的x264编码器是JZ4770平台上移植。在这个工作中,基线的编码器使用由于其低复杂度相比的主要和扩展配置文件。分发软件和硬件处理单元之间的编码任务,x264编码器转换成一个高度模块化和灵活的结构。在这种结构化的编码器,所有功能模块独立软件模块。它允许一个简单的替换相应的软件模块硬件处理单元。
如图1、硬件处理单元取代划分功能。多国评价模块替换运动估计和补偿。VMAU模块替换执行intraprediction的软件功能,剩余计算,DCT / IDCT、Q /智商,MB重建。DBLK模块用于从重建帧删除解封工件。软件模块包括intraprediction模式选择、重新排序、Context-Adaptive变长编码(CAVLC),边缘扩展,比特率控制、文件阅读或视频捕获和文件写作。所有这些软件模块主处理器执行。主处理器还负责每个执行之前配置的硬件模块。
4.2。h / AVC编码器数据依赖关系和分析分析
并行处理,优化之前,和任务映射到加快h / AVC视频编码器,一个广泛的分析是必需的。这一分析包括各种编码器的功能元素的计算需求和数据之间的依赖关系。
在h / AVC的编码,MB是一个框架的基本处理单元。编码框架,原始数据从主存储器转移到芯片上的每个MB内存。MB的编码模式选择内部或国际米兰。模内,输入VMAU单位原始MB数据和intraprediction模式。intermode,输入原始MB数据和运动补偿数据。在intraencoding,合适intraprediction模式选择是通过软件模块来完成的。模内的VMAU配置。VMAU单元输出的量化系数,编码块模式(CBP),和重建MB。熵编码编码量化系数和CBP,而重建的DBLK单位解除屏蔽构件MB。DBLK单元的输出从片上存储器转移到重建帧在主内存。在interencoding,多国评价处理单元进行运动估计。多国评价的输出运动向量和运动补偿数据。 The VMAU is configured for intermode. The rest of processing is similar to intramode encoding.
图2表示顺序的编码器的功能模块之间的依赖关系;也就是说,一个模块的输出数据对应于另一个后续模块的输入数据。因为这些依赖项,一次一个硬件处理单元使用和所有其余的单位是空闲的。确保合规的一整套严格的编码器强加的依赖关系,它可以观察到,细粒级并行性的开发可能有助于减少硬件处理单元的闲置时间。
图3代表混合h / AVC编码器的故障处理时间对不同的功能模块。为了评估编码器的计算复杂度,NTSC分辨率测试视频序列包括移动、足球,介绍时,花园,帆船,vtc1nw, washdc编码。编码参数设置如下:MV搜索范围是−32 + 32象素块大小是1616、RD优化是禁用的,一个参考系运动估计和补偿,是钻石搜索运动估计方案,MV决议是1/4像素,共和党与IPPP结构选为25,和四个量化参数(每秒)24日,28日,32、36。
图3表明,记忆是一项主要的任务之间的数据复制/转移以大约30%的总处理时间。这一数据传输的限制是必要的,因为硬件处理单元和有限大小的芯片上的记忆。另一方面,VMAU、多国评价和DBLK整体处理时间的很大一部分。这些硬件模块所花的时间是他们的配置和处理时间。CAVLC,锯齿形扫描等其余的处理时间。
考虑上面的分析中,需要利用编码器的并行硬件资源的有效利用,减少他们的空转和轮询时间。此外,需要高效的内存管理,减少数据传输和编码过程中复制操作。
4.3。优化内存管理和数据传输的技术
从分析所提供的分析部分4.2中,很明显,数据传输和访问的记忆是最计算密集型任务。本节提出了许多优化技术来减少数据传输时间和增加数据重用率。
4.3.1。记忆效率设计DBLK模块
MB的解封过滤需要从邻近的MBs像素数据,也就是说,顶部MB底部边缘(最后四行(416))和左MB右边缘(最后四列(164))。硬件的内存约束DBLK单位当前MB, MB右边缘数据必须在芯片上的相邻的内存为输入和输出,如图4。
DBLK单元的输出电流重构像素数据过滤MB (1616),顶部MB底部边缘(416),左边缘(16 MB的权利4),nonfiltered当前MB底部边缘(164)。顶部MB底部边缘的像素数据可以放置在芯片上的记忆。左边MB右边缘和顶部MB底部边缘通常从重建帧复制内存芯片上的内存。同样,DBLK模块生成的输出从片上内存到内存复制。这个数据转移是必要的,因为重建帧存储在内存是由于有限的片上内存的大小。为了减少这些数据复制操作,设计一个高效的内存DBLK模块提出了如图5。
根据这个设计,VMAU模块的输出作为输入DBLK模块。这避免了应对当前MB的数据从主内存芯片上的记忆。此外,DBLK模块的输出存储毗邻其输入(当前MB重构像素数据从VMAU模块)这样的右边缘的输出与输入的左边缘,如图5。这消除了需要复制的右边缘留下MB,需要在下个迭代。nonfiltered当前MB底部边缘,DBLK输出,存储在芯片上的记忆,这样的底部边缘完整的帧MB行存储在连续的内存。通过这种方式,它可以重用顶部MB底部边缘nonfiltered DBLK模块的输入下MB行处理。最后,只在重建帧过滤输出复制。边界情况下,也就是说,MB大行,离开了MB列,和底部MB行,已按要求处理。这种设计导致增加了数据的可重用性和避免过度数据复制操作。
4.3.2。高效的数据传输
就像前面提到的3、硬件视频处理单元接受输入和输出数据存储芯片上的记忆。因为有限大小的芯片上的记忆,输入和存储在主存中的重构帧。处理一帧,每个MB内存复制到芯片上的数据。同样,重建MB需要从片上存储器转移到主内存。这需要多个数据传输操作内存复制例程做涉及CPU。这是一项耗时的任务作为CPU不能执行任何其他操作。DMA是一个方便的工具来执行这些转移没有调用CPU。
在该方案,对于加快记忆之间的数据传输。此外,芯片上的电流和相应的重构MB内存分配是在这样一种方式,所有直(DMA0、DMA1 DMA2)可以并行执行记忆之间传输数据。当前MB的内存分配TCSM0而相应的重构像素数据过滤和左MB TCSM1右边缘存储。存储器是用来存储重建过滤顶部MB底部边缘的像素数据。对于这样的内存分配有助于执行所有程序并行加速的数据传输。DMA0负责将当前MB数据从主存储器转移到芯片上的内存TCSM0编码。重建的MB转移从片上记忆TCSM1和SRAM内存通过DMA1 DMA2,分别。MB的数据传输DMA0大小是384字节。DMA1 DMA2转移288字节和执行在每个96字节的数据,分别。MB的编码,384字节的数据从主存储器转移到芯片上的内存,反之亦然。 The DMAs incorporation in the design speeds up the data transferring during the encoding process.
4.3.3。算法优化利用SIMD指令
锯齿形扫描和边缘扩展算法属于混合编码器的软件部分,因为他们不可用在硬件的支持。这些算法涉及多个内存访问和数据复制操作,显著贡献的计算成本。本节描述这些算法的优化使用SIMD指令加快编码。SIMD指令允许同时执行多个算术或逻辑操作。Ingenic处理器JZ4770提供多媒体编解码器60 SIMD指令优化(24]。这些指令作用于32位寄存器。
锯齿形扫描之前量化系数进行熵编码。16位量化系数从片上内存访问。在这个工作中,32位加载和存储操作用于使量化系数加载和存储速度。SIMD指令也同时安排两个系数,而不是一个。算法1(一个)显示了锯齿形扫描算法优化利用SIMD指令(S32LDD、S32SFL和S32STD),从片上内存加载的量化系数的专用MXU使用S32LDD指令寄存器(xr1-xr8)。之后,S32SFL执行这些寄存器成对调整系数的位置根据字形秩序。然后,最后重新排序系数存储从专用MXU主内存寄存器(xr1、xr10 xr5, xr7, xr6, xr4, xr9,和xr8)使用S32STD指令。S32SFL (r1、r2、r3、r4, 3)包装要求。这个指令包的两个最重要的半字(16位)参数r2和r3 r1。r2的半字挤在r1的最重要的半字;r3的半字挤在r1的最低位半字。同样,它还包两个最低位半字从参数r2和r3 r4。
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
进行运动估计,参照系是垫。这条边扩展可能是几个像素,根据运动估计模式。上下边缘通过复制生成框架的第一个和最后一个行到边界或边缘。类似地,左和右边缘是由框架的第一个和最后一个列复制到边境。在这个工作中,32位加载和存储操作而不是使用8位操作。SIMD指令的使用有助于扩展并行四个像素。算法1(b)显示顶部边缘扩展使用SIMD指令(S32LDD和S32STD)。
表1列出了每个优化技术实现加速获得通过。
|
||||||||||||||
4.4。编码器管道设计
考虑数据依赖分析部分4.2,它是观察到的异构结构固有的h / AVC编码器序贯模块数据依赖关系;也就是说,一个模块的输出成为它的后续模块的输入。因为模块化的依赖,一个硬件处理单元使用一次和所有其他的单位仍然闲置。此外,对于硬件处理单元和轮询的时间编码的重要组成部分。这些因素不仅减少硬件处理单元的吞吐量,对编码器性能也有不利影响。有效利用的硬件处理单元和减少轮询时间、管道设计提出了h .编码器在MB级别后,利用细粒度的并行性。利用m级并行性需要满足数据MBs之间的依赖关系。对于一个给定的MB, intraprediction interprediction,解块过滤和熵编码需要数据从邻国(左,上,左上角,右上角)MBs。这些数据包括像素数据、预测模式、运动向量,和非零系数的数量。最简单的方法解决所有这些依赖项是处理MBs扫描顺序。
在提出设计中,一个MB编码过程分为几个阶段,每个阶段上执行一个单独的处理核心。之后,这些处理核心管线式MB水平,同时处理多个MBs扫描顺序。处理内部inter-MB,管道的设计描述如下。
Intra-MBs。编码任务intra-MB四大管道阶段执行。这些阶段是DMA0阶段(转移原始MB数据从主内存芯片上的内存),VMAU阶段,DBLK + CAVLC阶段(这个阶段执行解块过滤和熵编码在相同的时间片),和DMA1阶段(转移过滤重建MB的数据从片上内存到内存)。每个intra-MB经过最后DMA1阶段后four-MB周期时间延迟。这对模内如图四级管道6。
Inter-MBs。编码任务inter-MB五大管道阶段执行。这些阶段是DMA0阶段、多国评价阶段(它执行运动估计),VMAU阶段,DBLK + CAVLC阶段,DMA1阶段。MB0经过DMA1阶段后five-MB周期时间延迟。这对于intermode如图五级流水线7。
算法2介绍了提出的伪代码编码器流水线设计,在硬件模块来处理当前MB之前配置轮询他们先前MB。以这种方式减少了硬件模块的使用轮询的时间。
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
显示该流水线设计的优势,分析分析是利用MB前后水平进行并行。每个模块所花的时间在管线式混合编码器设计如图8。表2表明,轮询和配置硬件视频处理单元的总处理时间的51%和20%,分别。
|
||||||||||||||||||||||||||||||||||||||||||||
流水线设计后,处理时间的分配在不同的编码块如图9。表3表明,轮询时间从51%降低到6%。
|
||||||||||||||||||||||||||||||||||||||||||||
4.5。编码器之间的分区CPU和VPU内核
即使管道设计大大缩短编码时间,编码器编码任务的总体性能仍然严重依赖于分布在CPU和VPU之间。分析分析后进行管道设计说明硬件模块的配置和处理40%,而CAVLC和锯齿形扫描消耗47%的整体处理时间。潜在的优势是分发这些计算要求模块在CPU和VPU内核。在提出了流水线设计,熵编码(CAVLC和锯齿形)和解块过滤(DBLK)模块都是在同一阶段。没有它们之间的数据依赖关系,它们可以并行。为了把这种并行性的优点,编码器之间任务分配CPU和VPU内核。
图10显示了CPU和VPU核之间的分布的编码器。这个分布是由考虑到并行处理,核心之间的负载平衡,和可伸缩性。编码的任务的初始化是由CPU核心编码器和硬件处理单元、视频采集、帧参数设置和控制水平,锯齿形扫描、运动矢量预测,熵编码、比特率控制、边缘扩展和文件写作。VPU核心负责配置和控制的硬件模块,MB水平安排硬件处理单元、编码参数选择和数据转移主要与芯片上的记忆。编码器之间的任务分配CPU和VPU导致有效利用所有并行功能的高性能视频编码的平台。
4.6。调度策略和编码器流
在提议的设计中,CPU和VPU核心工作同时,管线式MB的水平。他们使用片上记忆交换数据和/或信息。十个缓冲区分配和乒乓球的方式用于发送和接收框架和核心之间的位流数据。图10显示了建议h .编码器的流程图。编码过程描述如下。(1)的原始数据帧由CPU核心阅读和预处理。(2)CPU设置帧级参数之后,它开始VPU并等待完成信号。(3)VPU核心流程MBs使用硬件处理单元中描述的部分4.4。(4)完成后,CPU和VPU信号发送MB参数结构。这个结构包含了运动矢量,剩余量化系数,CBP,编码所需的其他参数。(5)CPU进行熵编码,写位流,控制速度,从VPU接收数据结构。(6)VPU核心停止毕竟MBs在一帧处理。(7)上面的过程一直持续到所有候选帧的编码。
提出了多核管线式编码器的时间表是图所示11。它清楚地演示了细粒度的剥削MB级并行性和所有JZ4770平台的处理能力。当管道已满,五MBs并行处理。
重要的是要注意,该方案的灵活的设计允许快速的集成模式选择和运动估计算法。运动估计可以很容易地集成在多国评价模块和模式选择算法可以合并在参数选择模块。此外,在CABAC熵编码的情况下,CAVLC CABAC取代。
4.7。最近比较建议的体系结构的方案
Sankaraiah的10)方法是基于Group-Of-Pictures(共和党),每一个共和党是在一个单独的线程独立编码和帧被引用包含在共和党。这种方法需要大量的内存来存储所有的帧,因此这种技术地图多核架构,分为通用处理器(GPP)类。此外,并行的GOP-level结果在一个非常高的延迟,不能容忍在某些应用程序中。因此,该方案并不适合多核架构,由所有处理器的内存是共享的,因为缓存污染。
Alvanos et al。9)把MB编码过程分三个阶段包括分析和编码,熵编码,解封。之后,每个阶段执行作为一个单独的任务。为了解决依赖关系,Alvanos利用2 d-wavefront并行技术(25)所有宏模块是基于antidiagonal方式发出的,等待第二antidiagonal发行。然而,大多数的耗时的任务分析和编码分配给主要协同处理元素(SPE)。因此,该计划不能实现实时处理等低功耗cpu一个用于这项研究。
Momcilovic [8)方法同时分配CPU和GPU的运动估计和插值模块。而剩下的编码器模块顺序处理CPU或GPU,这个计划需要非常高功率的CPU和GPU所以嵌入式解决方案。
5。绩效评估和讨论
评估该方案的性能,两个不同的框架决议,NTSC (720480)和720 p高清(1280720年),被认为是。4:2中所有测试序列是:0,300帧格式。NTSC分辨率测试序列是可移动的,足球,介绍时,花园,帆船,vtc1nw, washdc。斯德哥尔摩,盾牌,Parkrun Mobcal被认为是高清720 p分辨率测试序列。视频编码参数设置如下:MV搜索范围是−32 + 32象素块大小是1616日RD启用优化与绝对差度量和(SAD),速率控制方法是单通道不变量化器(QP模式),一个参考系的运动估计和补偿,是钻石搜索运动估计方案,MV决议是1/4像素,与共和党选为25 IPPP结构。RD优化技术提高了RD性能,但降低了编码速度。使用计算密集型Psychovisual优化指标提高了RD性能和降低了编码速度。另一方面,简单的指标如悲伤和笔绝对变换的区别(饱和的)提高编码速度的降低成本RD性能。
5.1。编码器的性能在不同的实施阶段
为了演示方案的优点,计算结果在三个独立的阶段。第一阶段是基于x264顺序软件实现(26)执行CPU核心。第二阶段属于部分4.1视频处理单元合并。最后,三个阶段介绍了许多优化方法、管道设计、并行处理。表4和5描述的结果在不同的执行阶段为NTSC和720 p分辨率,分别。
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||
NTSC决议在第一阶段的平均编码率为4.48 fps。第二阶段后,编码率增加到23 fps。最后,编码率平均增加了58.70帧/秒,第三阶段。结果表明,硬件处理单元的加入可以提高编码速率为4.48 fps 23 fps和提出优化技术提高编码率从23 fps为58.70 fps。同样,720 p分辨率增加的编码率从1.46到25.32 (fps fps。在这种情况下,编码速度增加从1.46到8.55 (fps fps由于添加硬件处理单元和从8.55到25.32 (fps fps因为提出了优化技术。它可以得出结论,虽然硬件处理单元的使用提高了编码速度,主要优势是由于他们通过提出有效利用优化方法。
表6显示了每个优化方法对总编码加速的影响。它表明,编码器之间的分区CPU和VPU核心贡献最重要的是,也就是说,45.71%,加快编码的过程。背后的原因这类重要的编码增益并行处理和减少硬件配置时间。在拟议的管道设计、编码和熵解块过滤(DBLK)模块都是在同一管道阶段。这个阶段需要的大多数编码时间和成为一个瓶颈的管道阶段。编码器分区后,这两个模块并行MB水平和整体编码负载分布在两个处理核心。这导致编码过程的加速。此外,所有的硬件处理单元转移到VPU核心可以配置他们直接使用物理地址的芯片上的记忆。这样配置的硬件处理单元总体编码时间减少。
|
||||||||||||||
5.2。与顺序(CPU)的实现
一组实验是进行这些测试序列和四个量化参数,即QP = 24日28日32、36。实现的编码器的性能比较与高度优化的顺序x264编码器(26)提出了表7NTSC测试序列。表7说明该方案显示了一个一致的获得在所有序列编码率从58.70 fps QP 72.10 = 24 fps QP = 36。
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
对于高清720 p分辨率测试序列,量化参数设置26日30到34岁。表8显示该编码器的帧速率比较连续的软件实现(26]。720 p的大部分测试序列,实现实时编码。编码的平均增加率从25.32 fps QP = 26日为32.04 fps QP = 34。
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
实验结果表明,决议NTSC和720 p,该方案实现了加速超过12 x相比,高度优化的顺序实现CPU核心在PSNR值没有损失。
虽然建议的解决方案是基于x264基线配置文件,也可以直接用于主要或高调B帧和CABAC CABAC熵编码代替CAVLC模块中实现软件和分配给CPU。然而,CABAC实现可能导致增加的编码时间。高清720 p和更高的分辨率、视频实时编码序列可能是不可能的。
5.3。比较先进的实现方案
表9该方案比较与先前的作品而言,加速收益。完成该方案的比较与前三个作品,Momcilovic et al。8),Alvanos et al。9],Sankaraiah et al。10]。表中可以看到9,该方案优于其他技术的加速。
5.4。能源保存
节能是另一个重要的指标来评估任何技术为移动设备的性能。能源消耗的最关键问题之一的移动应用程序处理器,实现方案必须满足这一重要问题。顺序(CPU)的能耗,提出实现计算如下:应用电压5伏,稳态电流(待机模式)是180毫安,QP 24,迭代的数量是5。平均系统当前的顺序,提出实现马马是235和242,分别。
提出了实现顺序实现的功耗比较表10。虽然瞬时功率消耗的方案较高,消耗的总功率300帧编码远低于连续的软件实现。表11和12提供能源消耗的比较编码300帧的NTSC和720 p分辨率,分别。拟议的技术和58.28兆瓦时节省约4.90兆瓦能量编码300帧的NTSC和720 p分辨率,分别。
|
||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||
5.5。方案的可伸缩性视频编码效率高(HEVC)
该方案是可伸缩的,它可以很容易地修改高效视频编码(HEVC)标准。HEVC保留基本的混合编码h / AVC的体系结构。此外,视频编码的基本工具集HEVC编解码器是安静的类似于h / AVC的编码标准,例如,内部interprediction,运动估计和补偿、变换、量化、熵编码和解封过滤。然而,HEVC使用更多的基于自适应四叉树结构编码树单元(反恐组),而不是宏模块(MB)和几个中已经作了一些改进工具集,以改善其压缩性能和吞吐量速度(尤其是并行处理架构)。
HEVC,方案的基本编码流和积木保持不变,如图10。然而,需要以下修改内部的构建块。(1)在HEVC,基本处理单元是反恐组而不是MB。所以主编码循环将在反恐组。(2)流处理器(CPU和VPU)和硬件处理单元将管线式在反恐组的水平。(3)DBLK阶段提出设计将同时进行解封和sample-adaptive抵消(SAO)过滤。(4)在HEVC CAVLC CABAC所取代。(5)内存需求将增加,因为大尺寸HEVC的元数据结构。
6。结论
本文提出了一个端到端的software-hardware混合h / AVC编码器的实现方案JZ47x系列的处理器。该方案不仅硬件和软件模块之间分配编码任务也执行不同的内核和硬件加速器块之间的同步。硬件处理单元的空转和轮询时间也减少了在MB层面利用细粒度的并行性。异步处理的可能性在CPU和VPU也是有效利用高效地分配计算负载在这些处理核心。这导致增加的编码速率和降低功耗。实现的编码器可以编码NTSC和高清720 p的视频序列在72 fps和32 fps,分别。这是大约12倍高度优化的顺序编码器的编码速率。这项工作中演示的性能改进技术也可以应用于其他家庭的处理器。可以指出,该方案是可伸缩的,它可以很容易地修改高效视频编码(HEVC)标准。
利益冲突
作者宣称没有利益冲突有关的出版。
引用
- Werda, t . Dammak t . Grandpierre m·a·b·德和n . Masmoudi”TMS320C6416的实时h / AVC基线译码器实现,”实时图像处理》杂志上,7卷,不。4、215 - 232年,2012页。视图:出版商的网站|谷歌学术搜索
- k . Babionitakis g . Doumenis g . Georgakarakos et al .,”一个实时h / AVC VLSI编码器结构,”实时图像处理》杂志上,3卷,不。1 - 2,43-59,2008页。视图:出版商的网站|谷歌学术搜索
- z, k . l . Tang和k . n .颜”移动设备上实现h。”IEEE消费类电子产品,53卷,不。3、1109 - 1116年,2007页。视图:出版商的网站|谷歌学术搜索
- Wiegand t·h·施瓦兹,a . Joch f . Kossentini g·j·沙利文,“Rate-constrained编码器控制和比较的视频编码标准,“IEEE电路和系统视频技术,13卷,不。7,688 - 703年,2003页。视图:出版商的网站|谷歌学术搜索
- 问:唐,p . Nasiopoulos有效运动re-estimation和率失真优化mpeg - 2 h / AVC代码转换,“IEEE电路和系统视频技术,20卷,不。2、262 - 274年,2010页。视图:出版商的网站|谷歌学术搜索
- b . La、m .加工和y崔承哲,“主要基于边缘方向快速在h / AVC编码器内部模式决定,”浙江大学学报:自然科学,10卷,不。6,767 - 777年,2009页。视图:出版商的网站|谷歌学术搜索
- m·阿西夫•m . Farooq,中情局泰姬,“优化的实现h .译码器的运动补偿”第五届国际会议上计算机科学学报》和融合信息技术(ICCIT 10)IEEE,页216 - 221年,汉城,韩国,2010年12月。视图:出版商的网站|谷歌学术搜索
- 美国Momcilovic:罗马,l·苏萨,“利用任务和数据并行性为先进的视频编码混合CPU + GPU平台上,“实时图像处理》杂志上,1卷,2013页。视图:出版商的网站|谷歌学术搜索
- m . Alvanos g . Tzenakis d s Nikolopoulos和a . Bilas“基于任务的并行h .视频编码为显式通信架构,”学报》第11届国际会议上嵌入式计算机系统(萨摩斯的11)IEEE,页217 - 224年,萨摩斯,希腊,2011年7月。视图:出版商的网站|谷歌学术搜索
- c . Eswaran s Sankaraiah h . s . Lam和j·阿卜杜拉,”共和党在h级并行性。264视频编码器的多核架构,”国际会议上电路,系统的程序和仿真(可以11)7卷,第133 - 127页,IPCSIT, 2011年5月。视图:谷歌学术搜索
- h . k .阮p .曹x x。王et al .,“硬件软件合作设计的h .基线编码器在粗粒度的动态可重构计算芯片系统,”IEICE交易信息和系统,E96-D卷,不。3、601 - 615年,2013页。视图:出版商的网站|谷歌学术搜索
- m·阿西夫·s·马吉德,中情局泰姬,m·本·艾哈迈德和s . m . Ziauddin”利用h / AVC编码器MB水平并行多核平台”IEEE / ACS学报》11日国际会议对计算机系统和应用程序(AICCSA 14),页125 - 130,多哈,卡塔尔,2014年11月。视图:出版商的网站|谷歌学术搜索
- k . s .啊,s m .吴作栋k h .吴作栋t . k . Chiew j.y. Tham,“DSP的实时高清视频编码,”第五届IEEE会议程序工业电子产品和应用(ICIEA 10)IEEE,页1992 - 1995年,台中,台湾,2010年6月。视图:出版商的网站|谷歌学术搜索
- D.-T。林和彭译葶。杨,”H。264/AVC video encoder realization and acceleration on TI DM642 DSP,” in图像和视频技术的进步:第三环太平洋地区研讨会,PSIVT 2009年,东京,日本,2009年1月,13 - 16。诉讼卷,5414在计算机科学的课堂讲稿施普林格,页910 - 920年,柏林,德国,2009年。视图:出版商的网站|谷歌学术搜索
- d·施耐德·m·Jeub z君,李,“先进的h / AVC编码器优化TMS320DM642数字信号处理器,”学报》第16届国际会议上数字信号处理(DSP ' 09)2009年7月,页1 - 14,。视图:出版商的网站|谷歌学术搜索
- x, x方,c . Wang和s .转到“平行高清编码细胞,”诉讼IEEE国际研讨会的电路与系统(ISCAS’09年)IEEE,页1065 - 1068年,台北,台湾,2009年5月。视图:出版商的网站|谷歌学术搜索
- C.-T。陆和小时。挂,“多视图编码器NVIDIA CUDA并行快速搜索实现,”《IEEE视觉通讯和图像处理(VCIP 11),页1 - 4,台南,台湾,2011年11月。视图:出版商的网站|谷歌学术搜索
- m . Schwalb r . Ewerth, b . Freisleben“快速运动估计在图形硬件h。264视频编码。”IEEE多媒体,11卷,不。1、1 - 10,2009页。视图:出版商的网站|谷歌学术搜索
- N.-M。张,x的粉丝,欧盟,M.-C。宫”,视频编码在多核图形处理器,”IEEE信号处理杂志,27卷,不。2、79 - 89年,2010页。视图:出版商的网站|谷歌学术搜索
- 答:代理b . Juurlink c Meenderinck et al .,“h的高度可伸缩的并行实现,”交易高性能嵌入式架构和编译器(HiPEAC),4卷,不。2、111 - 134年,2011页。视图:谷歌学术搜索
- 美国Momcilovic:罗马,l·苏萨”多层次并行的混合CPU / GPU平台上先进的视频编码,”第十届国际研讨会上算法的程序罗德岛,页165 - 174年,2012年8月,希腊。视图:谷歌学术搜索
- Ingenic半导体、JZ4770 VPU编程手册Ingenic半导体,北京,2011。
- Ingenic半导体有限公司JZ4770数据表Ingenic半导体有限公司,2011年版。
- Ingenic半导体、MXU指令使用指南Ingenic半导体,北京,2011。
- e . b . Van Der Tol e . g . t .雅斯贝尔斯和r·h·Gelderblom”h .解码在多处理器体系结构的映射,”图像和视频通信和处理卷,5022学报学报圣克拉拉,页707 - 718年,加州,美国,2003年1月。视图:出版商的网站|谷歌学术搜索
- x264,http://www.videolan.org/developers/x264.html。
版权
版权©2015年穆罕默德·阿西夫等。这是一个开放的分布式下文章知识共享归属许可,它允许无限制的使用、分配和复制在任何媒介,提供最初的工作是正确引用。