基于流水线和多任务在高级视频编码移动应用处理器中的方案外文翻译资料

 2022-07-25 20:58:15

英语原文共 18 页,剩余内容已隐藏,支付完成后下载完整资料


基于流水线和多任务在高级视频编码移动应用处理器中的方案

1. 介绍

在这个时代,与它们对应的媒体技术的便携式多媒体设备上播放在我们的日常生活中起重要作用。这些设备进行多媒体功能,如视频录制和播放,看电视(手机电视),可视电话和视频流。在较低的功率消耗的高效视频编码是这些设备的基本要求。在H.264 / AVC的高级视频编码标准(AVC)在相对于前面的视频压缩标准[1-3]非常低比特率提供的视频内容的高品质的编码。

压缩质量是通过将一些新的压缩技术包括空间帧内预测来实现,(4times;4)的整数变换,多个参考帧,多块大小为帧间编码,四分之一像素运动估计(ME),解块滤波,和内容 - 适应算术编码[4-6]。这些附加的特性和功能改善的计算复杂[3,5,7]一个显著增加成本的编码效率。因此,这将是一项艰巨的任务,以实现实时H.264对近期可用的高功率单处理单元甚至编码

JZ47x是一系列低功率移动应用处理器非常适用于电池供电的便携设备。这些设备,例如,体戴录像机,无线视频传感器和视频流光,需要很长的手术时间。该系列处理器引入了创新架构能够满足高速移动计算和便携式多媒体设备的计算密集型视频编码的要求。特别是用于H.264 / AVC视频编码,JZ47x处理器(JZ4760,JZ4770和JZ4780)配备有一些编码块的专用硬件处理单元。它们有两个主要的芯,即,中央处理单元(CPU)和一个视频处理单元(VPU),其中VPU核心控制专用硬件处理单元。他们也有在视频编码效率的数据传输和管理通用直接存储器存取单元(DMA的)。

虽然JZ47x架构具有满足计算要求能力ofH.264 / AVC编码器,它把某些限制对系统设计者为好。高效实现H.264 / AVC编码器的JZ47x处理器是一项艰巨的任务,因为有些编码块的硬件实现和其他需要software.AsH.264编码器中实现了一个综合框架,其中的任务依赖性大,中硬件和软件模块编码器的任务分配,调度,和同步的设计能力的真正考验。此外,它要求高效的内存管理和所有处理单元实现实时编码同步开发。

本文提出了一种终端到终端的软硬件混合H.264 / AVC编码器实现了JZ47x系列移动应用处理器的方案。该JZ4770是作为一个例子来实施该方案。所提出的方案分配中硬件和软件模块的编码任务。由硬件处理单元施加的片上存储器和限制规模小导致大量数据在编码过程中存储器之间转移。为了减少这种数据传送,多个优化技术中提出了这项工作。硬件视频处理单元和DMA的需要每个执行之前进行配置,并采取了规定的时间量来执行分配的任务。因为在H.264 / AVC编码器的固有任务和数据相关性,所述处理器保持在这段时间内被阻塞。这次被命名为加工或轮询时间。它还会导致硬件处理单元空转。为了减少轮询和空转的硬件处理模块时,用于编码器流水线设计开发,其中多个宏块(MB)的并行处理细颗粒宏块(MB)的级并行后提议。最后,一​​机构被显影以有效地分配CPU和VPU内核之间的计算负荷增大编码率。实验结果表明,硬件处理单元的加入增加了编码率为(从4.48 FPS至23帧),但主要的优点(23 fps的至58.70)是由于所提出的方法。

本文的主要工作如下:

(一)Anend到endhybrid implementationofH.264 / AVC编码器,用于JZ4770移动应用处理器提议有效地利用该平台在低功耗的高性能视频编码的所有并行功能。

(二)去块滤波视频处理单元内存高效的设计,提出了提高数据重用率,降低内存访问。

(三)开发了多种优化技术是加快存储器访问和数据在编码过程期间存储器之间传送。

(四)的H.264编码器A流水线设计是利用细grainMB级并行,其中多个MB被并行处理之后开发的。

(V)的机制被开发利用的同时在CPU和VPU内核的编码。这种机制提供了有效的任务同步,调度和负载CPU和VPU核心之间的平衡。

本文的其余部分安排如下。第2节介绍的文献综述。第3节描述的JZ4770平台架构。该方案在第4节编码器的性能描述在第5节最后评估,得出的结论是在第6章。

2. 文献综述

用于实现不同平台上的H.264 / AVC编码器众多方案被提出。 Nguyen等。 [11]中描述的H.264基本规范编码器可重构多媒体系统2多媒体应用的实现(REMUSII).The实现编码器实现每秒30帧的编码速度为CIF(352times;288)分辨率的视频序列。 Sankaraiah等。 [10]提出了一种基于集团-OF-图片(GOP)为H.264编码一个并行的方法。在这个方案中,每个GOP中一个单独的线程独立地进行编码和帧被参考不敢包含在GOP。这导致了5.6至10倍减少编码时间比标准顺序代码实现作为。然而实时编码很难使用这种技术来实现。此外,这种技术要求的存储器显著量,用于存储所有的帧。阿西等。 [12]利用宏块(MB)的级并行的H.264 / AVC编码器和根据该并行提出了一种方案来实现多核平台编码器。编码器能够在72 fps的32帧每秒的帧速率分别进行编码的NTSC(720times;480)andHD720p(1280times;720)的分辨率。胡等人。 [13]所描述的优化技术,实现基于TI TMS320DM648 DSP平台的H.264 / AVC高清视频编码。该实施编码器以25 fps 720P高清视频进行实时编码和流媒体。林和杨[14]提出优化TM320DM642 DSP平台上实现H.264 / AVC编码器。编码器可以在22.6 fps的和超过40帧每秒的帧速率分别编码的VGA(640times;480)和CIF分辨率。

Schneider等。 [15]开发和优化的H.264基本规范编码器上TMS320DM642 DSP平台。为了加速编码率,增强直接存储器存取(EDMA)控制器,查找表,和本征被使用。编码器可以在每秒30帧的帧速率进行编码CIF分辨率的视频序列。用于细胞处理器,Alvanos等。 [9]提出了一种方法来实现编码器的细粒度任务级并行。运行时标记过程调用(TPC)和基于任务的编程模型被用于并行编码器。所述implementated编码器实现4.7倍和六个协同处理单元(SPE)8.6倍之间的加速比,相比于动力处理元件(PPE)上运行的序列版本。然而,这种实施需要显著的编程工作,不得不任务管理开销。对于实时高清视频编码,他等。 [16]开发利用八个SPE分散流水线并行编码方案。分散式创建任务在此实现降低任务管理开销。他们用片上通信和多缓冲,以实现高效的通信不同的编码器模块之间的数据传输。编码器是能够通过使用特殊目的实体8(58 fps的16特殊目的实体)进行实时高清编码(1920times;1080 @ 31 fps)的速度。鲁杭和[17]和Schwalb等。 [18]提出了自适应ME算法的NVIDIA GPU。这些算法主要集中在减少急的计算复杂,并且还试图利用潜在的并行。而且,这些提议大多利用数据级并行和聚焦theH.264 / AVC编码器的预测回路的一个模块上。

Cheung等。 [19]和Azevedo的等。 [20]提出了调度技术的应用在MB级别的H.264可扩展视频编码,以协助嵌入式多核器件。在这些技术中,用于优化任务提交或检索单元的专用硬件。然而,调度控制的MB级实施,使得这款型号为CPU GPU的平台相当昂贵。 Momcilovic等。 [21]提出了一种混合GPU CPU并行系统动态模型。在这种模式下,编码器的整个图象间循环被并行在CPU和GPU两者上。动态分配CPU和GPU之间的计算负荷,一个计算上有效的模型,还提出。该模型包括两个依赖感知任务调度和负载平衡算法。 Momcilovic等。 [8]也提出了一种改进的动态依赖的调度算法对混合GPU CPU平台的协同视频编码。该计划加快编码器的2.5倍相比,高度优化的GPU-仅作为编码。

总之,大多数这些方案缺乏在描述了H.264 / AVC编码器,其中编码器的一些块在硬件和软件的其余部分中实现的混合实现。这样,实施需要之间的硬件和软件块高效编码器的任务分配,调度和同步。因此,有必要在这个方向上努力突出参与此类执行问题。

3. JZ4770架构

所述JZ4770是异步多处理器(AMP)的架构。 CPU和VPU是其主要的核心。 CPU核心包含在1000MHz的一个时钟速率操作的主处理器(命名为J1)。另一方面,VPU芯具有辅助处理器(AUX)其中在500MHz的时钟速率进行操作。无论J1和AUX是MIPS(无微处理器内部互锁流水级)。 J1和AUX之间存在主从模式。操作系统内核使用J1,而用户可以通过编程辅助。 J1上加载二进制AUX和命令它开始执行。

对H.264编码的视频处理单元矩阵向量运算单元(VMAU),运动补偿和估计引擎(MCE),和去块(DBLK)。有三种类型的片上存储器包括SRAM(RAM刮28 KB)沿着两个紧耦合共享内存TCSM0(16 KB)和TCSM1(48KB)。此外,DMA0,DMA1,DMA2和耦合与TCSM0,TCSM1和SRAM,分别为[22,23]三个通用的DMA。这些DMA中支持三种不同的数据传输的类型,也就是说,字节,短,和整数。

硬件视频处理单元和DMA的需要每个执行之前进行配置,不支持多个实例。他们采取了规定的时间量来执行分配的任务。这些硬件处理单元的限制是他们在MB级别上操作,并从/到片内存储器取输入/输出数据。但由MCE模块所使用的参考帧被分配在主存储器中。当前和参考帧,因为片上存储器规模有限的分配在主存储器中。

4.提出的方案

4.1。 H.264 / AVC移植到JZ4770。连续软件(C代码实现),基于X264的编码器移植的JZ4770平台。在这项工作中,编码器的基线轮廓由于用于其低复杂度相比,主要和扩展轮廓。向之间的软件和硬件处理单元分配编码任务,X264编码器变换成一个高度模块化和灵活结构。在这种结构的编码器,所有的功能模块是独立的软件模块。它允许方便地更换其相应的硬件处理单元的软件模块。

正如图1所示,硬件处理单元更换标定功能。 MCE模块代替运动估计和补偿。该VMAU模块取代了软件功能执行帧内预测,​​残差计算,DCT / IDCT,Q / IQ和MB重建。该DBLK模块用于去除重建帧解封神器。这些软件模块包括帧内预测模式的选择,重新排序上下文的自适应变长编码(CAVLC),边缘延伸部,比特率控制,文件读出或视频捕获和文件写入。所有这些软件模块执行主处理器。主处理器还负责的硬件模块每次执行之前的配置。

4.2。 H.264 / AVC编码器数据相关性和剖面分析。优化,并行处理和任务映射到加速的H.264 / AVC视频编码器之前,需要进行广泛的分析。这种分析包括它们之间的编码器和数据相关性的各种功能元件的计算需求。

在H.264 / AVC编码,MB是帧的一个基本处理单元。用于编码帧,每个MB的原始数据被从主存储器转移到片上存储器。 MB的编码模式中选择内部或中间。对于帧内,输入到VMAU单位是原始MB的数据和帧内预测模式。为模间,所述输入是原始MB的数据和运动补偿的数据。在intraencoding,合适的帧内预测模式的选择是通过软件模块实现。该VMAU配置为帧内。 VMAU单元的输出是经量化的系数,编码块模式(CBP)和重构的MB。熵编码编码的量化系数和CBP,而DBLK部除去重建MB的块效应。 DBLK单元的输出是从片上存储器转移到主存储器重构帧。在interencoding中,MCE处理单元执行运动估计。 MCE的输出为运动矢量和运动补偿的数据。该VMAU配置为模间。处理的其余部分类似于帧内编码。

图2表示该编码器的功能模块之间的顺序相关性;即一个模块的输出数据对应于另一后续模块的输入数据。因为这些依赖关系,一个硬件处理部使用在时间和所有剩余的单元是空闲的。为了保证整个组由编码器所施加严格的依赖关系的合规性,可以观察到,细粒级并行的开采可能有助于最小化的硬件处理单元的空闲时间。

图3表示的混合的H.264 / AVC编码器的处理时间相对于所述各种功能模块的崩溃。为了评估的计算复杂

编码器,包括移动,足球,前奏,花园,大帆船,vtc1nw和WASHDC NTSC分辨率测试视频序列进行编码。编码参数被设置如下:MV搜索范围是-32至 32像素和块大小为16times;16,则RD优化被禁用,一个参考帧是用于运动估计和补偿,运动估计方案是菱形搜索,MV分辨率是1/4像素,GOP被选为25与结构IPPP,和四个量化参数(QP)是24,28,32,和36。

图3示出了数据拷贝/存储器之间传送是显性任务采取的总的处理时间约30%。这个数据传输是必要的,因为由硬件处理单元和片上存储器大小限制所施加的限制。另一方面,VMAU,MCE,和DBLK采取的总处理时间显著部。通过这些硬件模块所用的时间是它们的配置和处理时间。该

CAVLC,锯齿扫描及其他取的处理时间的其余部分。

考虑到以​​上分析,有必要通过减少他们的空转和轮询时间利用在编码器的硬件资源的有效利用的并行性。此外,有效的存储器管理需要减少在编码过程中的数据传输和复制操作。

4.3。优化技术对内存管理和数据传输。从在第4.2节提出的谱分析,很显然,数据传送和存储器之间访问是最计算密集型的任务。本节介绍许多优化技术来减少数据传输时间,并增加数据再利用率。

4.3.1。对于DBLK模块存储器高效的设计。对象MB的去块滤波来自相邻MB的需要的象素数据,即,顶MB的底部边缘(后四排(4times;16))和左MB的右边缘(最后四列(16times;4))。硬件DBLK单元的存储器约束是如示于图4 DBLK单元的输出被重建当前的滤波象素数据当前MB和左MB的右边缘数据必须在片上存储器,用于输入和输出的相邻MB的(16times;16),顶部MB底部边缘(4times;16),左MB右边缘(16times;4),和nonfiltered当前MB

全文共6329字,剩余内容已隐藏,支付完成后下载完整资料


资料编号:[154769],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。