(信号与信息处理专业论文)基于并行多处理器的h263编码器设计与实现.pdf_第1页
(信号与信息处理专业论文)基于并行多处理器的h263编码器设计与实现.pdf_第2页
(信号与信息处理专业论文)基于并行多处理器的h263编码器设计与实现.pdf_第3页
(信号与信息处理专业论文)基于并行多处理器的h263编码器设计与实现.pdf_第4页
(信号与信息处理专业论文)基于并行多处理器的h263编码器设计与实现.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

(信号与信息处理专业论文)基于并行多处理器的h263编码器设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

南京邮电学院硕士研究生学位论文摘要 摘要 h 2 6 1 和h 2 6 3 建议是国际电信联盟 i t u t 分别于1 9 9 3 年和1 9 9 6 年制定的 视频压缩标准 有广泛的应用 c t 3 4 0 0 是c r a d l e 公司的一个多核高速处理器 它主要面向多媒体应用 本文首先介绍了h 2 6 1 h 2 6 3 和c t 3 4 0 0 及其开发系统 根据c t 3 4 0 0 的结构特 点 h 2 6 1 和h 2 6 3 的编码流程 提出了h 2 6 1 和h 2 6 3 并行编码器的的实现方案 把编码任务分割为多个可并行的小任务 每个处理器负责一个小任务 实现编码流 程的流水线操作 本文的主要工作是用c t 3 4 0 0 上的多个d s e 和p e 实现h 2 6 1 和 h 2 6 3 并行编码器 并实现了h 2 6 3 的部分可选模式和优化算法 然后利用c t 3 4 0 0 提供的s i m d 和p i m a c 对h 2 6 3 编码器作了部分代码级优化 本文实现的h 2 6 l 和 h 2 6 3 并行编码器实验效果都比较理想 能达到实时编码 是再给 了实验结果 最后对所做工作进行了回顾和总结 并提出对未来的工作提出了一定的 关键词 h 2 6 1 h 2 6 3 视频编码 c t 3 4 0 0 并行多处理器 南京邮电学院硕士研究生学位论文 a b s t r a 了 a b s t r a c t h 2 6 la n dh 2 6 3r e c o m m e n d a t i o na r ev i d e oc o d i n gs t a n d a r dc o n s t i t u t e db y i t u ti n1 9 9 3a n d1 9 9 6 t h e ya r ep o p u l a ri na l lk i n d so fa p p l i c a t i o n s c t 3 4 0 0i sar a p i dc o r ew i t hm u l t i p l ep r o c e s s o r sp r o v i d e db yc r a d l e t e c h n o l o g i e s i ti sm a i n l yf o rm u l t i m e d i aa p p l i c a t i o n s t h i sp a p e rf i r s t l yi n t r o d u c e sl i 2 6 1 h 2 6 3r e c o m m e n d a t i o n s c t 3 4 0 0a n d i t sd e v e l o p m e n ts y s t e m t h e np r e s e n t st h es c h e m eo fh 2 6 1a n dh 2 6 3c o d e r a c c o r d i n gt oc h a r a c t e r so fc t 3 4 0 0a n de n c o d i n gf l o wo fh 2 6 1a n dh 2 6 3 t h e m a i nw o r ko ft h i sp a p e ri st or e a l i z eh 2 6 1a n dh 2 6 3c o d e ro v e rc t 3 4 0 0w i t h d s e sa n dp e i t a l s or e a l i z e ss o m eo p t i o n so fh 2 6 3a n do p t i m i z e sh 2 6 3 e n c o d e r t h e r ea r et w om e t h o d so fo p t i m i z a t i o n i m p r o v e m e n to ft h ee n c o d e a l g o r i t h ma n dm o d i f i c a t i o no fp r o g r a mc o d eb a s e do ns i 帅a n dp i m a co fr d s 3 4 0 0 t h ee n c o d e r sc a nw o r kr e a l t i m e a tl a s tr e s u l t so fe x p e r i m e n ta r eg i v e n t h es u m m a r i z a t i o ni sm a d ea b o u tt h ew o r k a n df u t u r ed i r e c t i o na n de m p h a s i s o fr e s e a r c ha r ep u tf o r w a r ds i m u l t a n e o u s l y k e yw o r d h 2 6 1 h 2 6 3 v i d e oc o d i n g c t 3 4 0 0 p a r a l l e lm u l t i p l e p r o c e s s o r s 南京邮电学院学位论文独创性声明 7 6 5 1 7 6 本人声明所呈交的学位论文是我个人在导师指导下进行的研究 工作及取得的研究成果 尽我所知 除了文中特别加以标注和致谢的 地方外 论文中不包含其他人已经发表或撰写过的研究成果 也不包 含为获得南京邮电学院或其它教育机构的学位或证书而使用过的材 料 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了 明确的说明并表示了谢意 研究生签名 匿i 垦垫日期 2 1 1 1 j 南京邮电学院学位论文使用授权声明 南京邮电学院 中国科学技术信息研究所 国家图书馆有权保留 本人所送交学位论文的复印件和电子文档 可以采用影印 缩印或其 他复制手段保存论文 本人电子文档的内容和纸质论文的内容相一 致 除在保密期内的保密论文外 允许论文被查阅和借阅 可以公布 包括刊登 论文的全部或部分内容 论文的公布 包括刊登 授权 南京邮电学院研究生部办理 职生躲趟垦塾导师虢望选嗽幽 南京邮电学院硕士研究生学位论文 第一章h 2 5 1 和h 2 6 3 建议 第一章h 2 6 1 和h 2 6 3 建议 1 1 视频压缩简介 1 1 1 视频压缩技术介绍 视频编码主要通过减少图像的冗余度来减少图像的数据量 视频图像数据的冗 余主要存在空间冗余和时间冗余 此外还存在着信息熵冗余 视觉冗余 结构冗余 知识冗余 纹理统计冗余等 经典的编码方法以s h a n n o n 的信息理论为基础 利用图像信号的统计相关性 消除冗余度 常用的方法有预测法 变换法 混合编码等 带有运动估计的混合编 码方法是当前实用视频编码的主流方法 在h 2 6 x 和t c i p e g x 等系列国际标准无一例 外地被采用 除了上述经典的混合编码方法外 还有以下几种常见的编码方法 矢量量化编 码 小波压缩编码 分形编码和模型基编码 1 1 2 视频压缩标准介绍 视频压缩编码标准的制定工作主要是由国际电信联盟 i t u t 和国际标准化组 织 i s 0 i e c 完成的 1 h 2 6 l 标准 1 1 9 9 3 年 i t u t 公布了第 个视频编码标准h 2 6 1 这是第一个投入广泛实际应用 的数字视频编码标准 它使数字视频信号能够以p x 6 4 k b p s p 卜 3 0 的速率在 电信网络中传输 更为重要的是 它奠定了混合编码框架的雏形 这个框架以运动 补偿 图像分块变换 标量量化和熵编码等技术为主要特征 至今依然是实现限失 真数字视频编码的最为重要的一种方法 2 h 2 6 3 h 2 6 3 h 2 6 3 标准 2 3 1 4 1 1 9 9 6 年i t u t 推出了针对甚低比特率的视频压缩标准h 2 6 3 建议 h 2 6 3 最初 是针对低于6 4 k b i t s 范围的甚低比特率应用设计的 但实验结果表明 在任意速率 范围内 h 2 6 3 都取得了良好的压缩效果 h 2 6 3 采用了诸如可变尺寸块运动补偿 南京邮电学院硕士研究生学位论文第一章h 2 6 1 和h 2 6 3 建议 重叠块运动补偿 无限制运动矢量和运动矢量预测等一系列新的视频编码技术 为 混合编码框架的进一步发展奠定了基础 1 9 9 8 年i t u t 推出的h 2 6 3 是h 2 6 3 视频编 码标准的第二版 它提供了1 2 个新的可选择模式 进一步提高了压缩编码性能 2 0 0 0 年i t u t 又推出了h 2 6 3 对h 2 6 3 又做了一些新的扩展 增加了一些新的可选技术 从而更加适应于各种网络环境 并增强差错恢复能力 3 h 2 6 4 标准例 2 0 0 3 年3 月 i t u t 和m p e g 成立的联合视频组 j v t 公布了h 2 6 4 a v c 也 称为m p e g 4v i s u a lp a r t1 0 h 2 6 4 的视频编码层采取的编码框架仍然是传统的 混合编码框架 h 2 6 4 提供了多种新技术来提高编码效率 这些新技术包括 多种 新的帧内预测方法 可变尺寸块的运动补偿技术 多参考帧的运动补偿技术 4 x 4 整 数变换技术 新的环路滤波技术 4 m p e g 一1 m p e g 一2 1 6 1 7 m p e g 运动图像专家小组的活动始于1 9 8 8 年 1 9 9 0 年提出和建立了m p e g 标准草 案 1 9 9 2 作为i s o i e c1 1 1 7 2 号建议正式通过成为m p e g 一1 国际标准 m p e g 一1 视频 是面向比特率大约为1 5 m b i t s 的视频信号的压缩 1 9 9 3 年正式通过了关于m p e g 一2 标准的建议 这个建议包括四个部分 系统 i s o i e c 儿1 7 2 1 视频 i s o i e c 1 1 1 7 2 2 音频 i s o i e c1 1 1 7 2 3 和一致测试描述 i s o i e c1 1 1 7 2 4 2 m p e g 一4 标准 8 1 9 9 6 年2 月在德国m u n i c h 举行的m p e g 第3 3 次会议上正式定义了第一个m p e g 一4 的视频验证模型v m v e r i f i c a t i o nm o d e l 1 9 9 8 年1 1 月公布的国际标准草案f d i s f i n a ld r a f ti n t e r n a t i o n a ls t a n d a r d 后来成为正式标准i s o i e c1 4 4 9 6 的第 一版 m p e g 一4 标准第二版是对第一版的扩充 增加了物体伸缩编码 提高了编码效 率 鲁棒性和灵活性 这个国际标准包含有纹理和视频编码 任意形状的视频对象 编码和视频流的纠错编码等比较成熟的技术 除了上述国际标准之外 中国也在制定具有自主知识产权的音视频编码标准 2 0 0 3 年1 1 月底 中国国家信息产业部 数字音视频编解码标准组 正式发布a v s a u d i ov i d e oc o d i n gs t a n d a r dw o r k i n gg r o u po fc h i n a 标准草案 9 1 2 南京邮电学院侦士研究生学位论文第一章h 2 6 1 和h 2 6 3 建议 1 2h 2 6 1 简介 1 9 9 3 年 i t u t 公布了第一个视频编码标准h 2 6 1 它主要是会议电视和可视电 话图像压缩技术标准 目标速率是p 6 4 k b p s p 1 3 0 支持c i f 和q c i f 两 种标准的图像格式 h 2 6 1 奠定了混合编码框架的雏形 这个框架以运动补偿 图 像分块变换 标量量化和熵编码等技术为主要特征 至今依然是实现限失真数字视 频编码的最为重要的一种方法 1 2 1h 2 6 1 建议框架 h 2 6 1 建议采用了降低图像时间冗余度的帧问预测编码和降低图像空间冗余度 的d c t 变换编码相结合的混合编码 如图1 1 其中主要的部分是d c t 变换 量化 和预测 h 2 6 1 的编码器首先对当前图像进行整像素运动估计 经过帧内 帧间判断 若为帧间方式 则在参考图像中选出最佳匹配宏块 并与当前宏块相减计算运动残 差 以减少图像在时间域上的相关性 经过匹配处理之后的表示预测误差的宏块以 8 8 块为单位分别作d c t 和系数量化 以减少图像在空间域的相关性 若为帧内方 式 则直接对原始图像数据进行d c t 和系数量化 量化后的二维系数按频率上升的 方向经过z i g z a g 扫描后变成一维系数 并送入编码器作变字长的编码 量化后的二 维系数同时进行反量化和反d c t 若为帧间类型则加上参考数据 环路滤波后得到 重建图像 运动估计中的参考图像就是前一帧的重建图像 1 2 2h 2 6 1 的码流结构 h 2 6 1 的视频码流复用采用四层分层结构 从顶层到底层分别是 图像层 p i c t u r el a y e r 块组层 g r o u po fb l o c k sl a y e r 宏块层 m a c r o b l o c kl a y e r 块层 b l o c kl a y e r 句法流程框图如图1 2 p s t u f 是任意氏的填充比特流 在这四层中每一层都有 相应的头和和相应的数据 各层都是非常相似 这里以图像层为例说明 图像层是最上面的一层 每幅图的数据由图像头和其后的块组数据组成 图像 南京邮电学院硕上研究生学位论文 第一章h 2 6 1 和h 2 6 3 建议 分成若干个块组 每个块组包含三十三 分成三行 每行十一个 个宏块 而每个 宏块又包含4 个亮度块和2 个色度块 图像层数据结构如图1 3 所示 方框下的数据为相应字段的比特数 其中时间 参考t r 实际上是指图像在原始图像序列中的序号 第一帧图像序号为0 每隔一帧 序号增加l 序号以3 2 为模 在解码端用这个时间参考可简单地算出当前编码图像 与刚解码的图像间有多少幅图像被跳过 图1 1h 2 6 1 编码框图 4 t 传 不传指示 q z 量化器指示 p 帧内 帧间指示 q 变换系数的量化值 t d c t 变换 q 量化 f 环路滤波 v 运动矢量 南京邮电学院硕士研究生学位论文第一章h 2 6 1 和h 2 6 3 建议 p i c t u r ed a t ap i c t u r ed a t a p i c t u r eh e a d e rg o bd a t ag o bd a t a g o bh e a d e rm b d a t am bd a t a m bh e a d e rb l o c kd a t ab l o c kd a t a t c o e f e o b 图1 2h 2 6 1 码流结构 图像层 块组层 宏块层 块层 1 3h 2 6 3 简介 图1 3 图像层的数据结构 h 2 6 3 是h 3 2 4 多媒体终端中低比特率视频编码建议 它的主要应用于p s t n i s d n 和无线网等低比特率网络 它能够在像电话线这样带宽较窄的信道上传送质量 较好的图像 h 2 6 3 的基本方法是基于h 2 6 1 的 将减少时间冗余的帧间预测和减 少空间冗余的2 d d c t 结合起来的混合编码 h 2 6 3 源编码器能够使用s u b o c i f q c i f c i f 4 c i f 和1 6 c i f 等五种标准的图像格式 h 2 6 3 的运动估计精度为半像素 精度 在基本的编码算法的基础上 h 2 6 3 还有四个可选的模式用以改善性能 它 们是 非限制运动矢量 基于语法的算术编码 高级预测和p b 帧 这些模式可以一 起或单独使用 南京邮电学院硕士研究生学位论文第一章h 2 6 1 和h 2 6 3 建议 1 3 1h 2 6 3 建议框架 图1 4h 2 6 3 编码框图 t 传 不传指示 q z 量化器指示 p 帧内 帧间指示 q 变换系数的量化值 t d c t 变换 q 量化 动矢量 h 2 6 3 编码器如图1 4 它的基本结构取自h 2 6 1 其中主要部分仍然是运动 估计 d c t 量化 首先 编码器进行整像素运动估计并判断帧内 帧间模式 若为 帧问 则进行半像素精度运动估计 对重建图像进行运动补偿 经匹配处理的预测 误差宏块以块为单位作d c t 和量化 若为帧内方式 则对原始数据进行d c t 和量化 最后编码器将量化后的d c t 系数作v l c 1 3 2 四个可选模式 l 非限制运动矢量模式 在一般的运动估计中 参考图像像素必须位于编码帧内部 而非限制运动矢量 模式去除了这种限制 使运动矢量允许指向图像之外 从而改善了边缘运动估计效 6 南京邮电学院预上研究生学位论文第一章h 2 6 1 和h 2 6 3 建议 粜 在非限制运动矢量模式下 运动矢量可以指向图像外 不存在的像素用边缘像 素代替进行预测 实现时先对编码帧进行扩边 将四个边缘均扩大一定尺寸 如 1 m b 所增加区域的像素由该像素所处行 或列 对应原图像相应行 或列 的边 缘像素值代替 增加对图像边缘的考虑可以大大提高图像边缘的运动补偿效果 在 非限制运动矢量模式下的m v 的最大范围可达 3 1 5 3 1 5 这对摄像机移动或更 大图像格式 4 c i f 或1 6 c i f 特别有用 2 基于句法的算术编码模式 在h 2 6 3 缺省模式下以及h 2 6 1 和m p e g 等一系列压缩编码中 对于经过d c t 变换 量化和z i g z a g 扫描后所得到的二维 电平和游程 事件都采用v l c 算术编码这一模式是在h 2 6 3 建议附件e 中定义的算法 在这一可选模式下 相应的v l c 操作均由s a c 代替 在v l c 中每一个符号必须编成相应的整数个比特 如果将符号的这种固定长比特数限制去掉 将会进一步降低编码码字 这一点就是 通过基于句法的s a c 来实现 算术编码在某些方面优于常用的h u f f m a n 编码 它具 有以下特点 1 算术编码具有自适应模式 而像熵编码方法 如 h u f f m a n 不具有这一 特性 s a c 不必先定义概率模型 尤其适用于不用概率统计的场合 2 当信源符号概率比较接近时 算术编码效率要比l i u f f m a n 编码高 在信噪 比s n r 和重建图像相同的情况下 算术编码产生的比特数比变长编码少 3 高级预测模式 高级预测模式包含两方面的内容 一方面 它将一个宏块分成四个块进行运动 估计和补偿 使运动估计和物体的划分更加匹配 更准确 另一方面 还采用块重 叠的运动补偿 0 b m c 方法 这样明显消除了由块编码带来的方块效应 1 一个宏块四个运动矢量 4 m v 在这一高级预测模式下 每个亮度块独立进行运动估计 产生了4 个运动矢量 分别进行差分编码 在高级模式也可以只传一个 l v 这时我们认为4 个矢量是相同 的 2 块重叠运动补偿 在接收端采取与上述编码相同的方式恢复各予块m v 人为的将连续图像分成一 系列块进行处理 在恢复这些块时由于亮度突变会产生方块效应 采用o b m c 后减小 南京邮电学院硕士研究牛学位论文第一章h 2 6 1 和h 2 6 3 建议 了这种影响 o b m c 被用于p 帧的亮度分量 减少了人为阻塞 从而改善了主观图像 质量 4 p b 帧模式 为了提高压缩比以满足低比特率传输的需要 h 2 6 3 引入了m p e g 中p 图像和b 图像的思想 规定了p b 帧模式 如图1 5 一个p b 帧由一个p 帧和一个b 帧构成 前者根据前一个己重建的的p 帧或者i 帧进行预测 后者根据前一帧已重建的p 帧 或者i 帧和当前正在被重建的p 帧这两帧进行预测 引入b 帧不仅可以克服时域亚 取样的消极影响 而且由于b 帧不作为后续图像的预测参考 利用时间视觉掩盖效 应 可以进行比较粗的量化 从而进一步降低了码率 h 2 6 3 的p b 帧中 p 帧运动矢量估计和一般p 帧一样 所不同的是b 帧的运动矢量 估计 假设p b 帧中p 帧的运动矢量 半像素精度 为m v 而b 帧要预测两个方向的运 动矢量 前向运动矢量m 和后向运动矢量肘 p b 帧 图1 5p b 帧模式示意图 b 帧预测有两种模式 双向预测和前向预测 对b 块采用后向运动矢量得到p 帧 的匹配块 对于该匹配块中属于p 帧当前重建宏块范围内的区域采用双向预测 方式编码 其预测值为前向预测与后向预测的平均值 对于不属于双向预测区域的 像素采用前向预测方式 1 3 3h 2 6 3 的码流结构 h 2 6 3 的视频码流复用采用四层分层结构 从顶层到底层分别是 图像层 p i c t u r el a y e r 南京邮电学院硕士研究生学位论文第一章h 2 6 1 和h 2 6 3 建议 块组层 g r o u po fb l o c k sl a y e r 宏块层 m a c r o b l o c kl a y e r 块层 b l o c kl a y e r 句法流程框图如图1 6 图中e o s 是图像编码结束标志 码值为 0 0 0 00 0 0 00 0 0 00 0 0 01 1 1 11 l p s t u f 是任意长的填充比特流 在这四层中每一层都有相应的头 和和相应的数据 各层都是非常相似 这里以图像层为例说明 图像层是最上面的一层 每幅图的像数据由图像头 其后的块组数据及后面的 序列结束码和填充比特组成 图像在垂直方向分成若干个块组 每个块组包含一行 或者几行的宏块 而每个宏块又包含4 个亮度块和2 个色度块 图像层数据结构如图1 7 所示 方框下的数据为相应字段的比特数 其中时间 参考t r 实际上是指图像在原始图像序列中的序号 第一帧图像序号为0 每隔一帧 序号增加1 序号以3 2 为模 在解码端用这个时间参考可简单地算出当前编码图像 与刚解码的图像间有多少幅图像被跳过 吲1 6h 2 6 3 码流结构 南京邮电学院硕士研究生学位论文第一章h 2 6 1 和h 2 6 3 建议 1 4i i 2 6 3 与h 2 6 1 的主要区别 为了适应码率低于6 4 k b p s 的视频传输的要求 h 2 6 3 在继承h 2 6 1 建议的基本 原理的基础上 对h 2 6 1 作了重大改进 使得在同样图像质量的前提下 码率能够 低至h 2 6 1 的1 2 1 4 两建议的主要区别包括如下几个方面 1 图像格式 h 2 6 1 中定义了c i f 和q c i f 两种图像格式 而在h 2 6 3 中有共五种图像格式 1 6 c i f 4 c i f c i f q c i f 和s u b q c f 出于对图像质量 成本和h 3 2 0 h 2 6 1 兼容 性等方面的考虑 h 2 6 3 要求所有解码器能以s u b q c i f 格式工作 所有编码器能以 s u b q c i f 和o c i f 中的某一种格式工作 c i f 对于编码器和解码器均为可选方式 2 块组 g o b 结构 h 2 6 1 和h 2 6 3 中对宏块 船 的定义是相同的 h 2 6 1 中q c i f c i f 的一个g o b 由3 3 3 1 1 个宏块组成 而h 2 6 3 中的q c i f c i f 的一个g o b 分别由1 1 1 x 1 1 2 2 1 2 2 个宏块组成 3 字头 在极低码率传输情况下 用于字头的比特数是越少越好 因此h 2 6 3 在g o b 字 头定义中 对应于图像的第一个块组 g o b 字头为空 仅仅传送宏块m b 数据 对于 其它g o b 由编码器决定其字头是否为空 同时 对块编码模式 宏块类型和运动矢 0 南京邮电学院硕士研究生学位论文 第一章h 2 6 1 和h 2 6 3 建议 量数据采用不同的可交长编码 v l e 表以减少字头的比特数 在h 2 6 1 中 量化步 长采用5 比特固定字长的码字 而h 2 6 3 中引入了d q u a n t 仅用2 比特对差分量化 步长编码传输 注 这虽然减少了用于编码量化步长的比特数 但却降低了码率控 制的灵活性 4 运动矢量数据 在h 2 6 1 中 对运动矢量采用一维前值预测与v l c 相结合的方式进行编码 而 在h 2 6 3 中则采用更复杂的二维预测与v l c 相结合的方式对预测误差值编码传输 因为运动矢量的取值范围是受限的 可使每个v l c 码字表示一对差值 在这对差值 中 只有其中的一个产生的宏块矢量落在所允许的范围内 5 d c t 系数变长编码 对量化后系数进行游程编码时 连续的0 游程r u n 和后面的值 l e v e l 的 最常出现的组合用变长编码 在h 2 6 1 中由二维v l c r u n l e v e l 加上块结束标 志来实现 在h 2 6 3 中 量化后系数采用三维v l c l a s t r u n l e v e l 表示 其 中l a s t 为一个比特 用来指示是否为最后一个非零系数 6 运动估计精度 在h 2 6 1 中 位移的估计精度为整数像素间隔 运动矢量范围为 一1 6 1 5 而在h 2 6 3 中 采用半像素精度运动估计 运动矢量取值范围为 1 6 0 1 5 5 半像素值由双线性内插得到 7 环路滤波 h 2 6 1 编码环路中 采用一个环路滤波器对重建图像进行滤波以去除噪声 而 在h 2 6 3 编码环中则没有采用环路滤波器 这是因为高级预测模式中重叠块运动补 偿也有滤波的作用 它可去除方块效应 8 误码处理 h 2 6 3 建议不提供误码检测 纠错处理 由于h 2 6 3 将应用于具有较大噪声干扰 的窄带信道 这种信道经常出现突发性噪声 使h 2 6 1 中采用的主要适用于随机噪 声的b c h 5 1 l 4 9 3 前向纠错编码方法对h 2 6 3 不再适用 对误码的处理可以由 外部方式 如h 2 2 3 建议 实现 9 四个可选模式 h 2 6 3 提供的四个可选模式是提高图像编解码性能的关键所在 其中包括非限 南京邮电学院硕士研究生学位论文第一章h 2 6 1 和h 2 6 3 建议 制运动矢量模式 高级预测模式 p b 帧模式和基于语法的算术编码模式 南京邮电学院硕士研究牛学位论文第二章高速多核处理器c t 3 4 0 0 及其开发系统 第二章高速多核处理器c t 3 4 0 0 及其开发系统 r d s 3 4 0 0 是c r a d l e 公司推出的一款主要用于音视频的开发系统 它的核心是 c t 3 4 0 0 高速多核处理器 r d s 3 4 0 0 开发板上集成了了两个l o l o o m 以太网口 一个 r s 2 3 2 串口 一个d b 2 5 2 端口 通过j t a g 调试线和p c 的e p p 相连实现调试 一个 p c i 接口 一个d i m ms d r a m 接口 一个8 m 的闪存 一个l m 的n v r a m 一个2 k 的 e e p r o m 和一个p i o 扩展口 r d s 3 4 0 0 有两种工作模式 p c i 模式和s t a n d a l o n e 模式 在s t a n d a l o n e 模式下r d s 3 4 0 0 独立工作 在p c i 模式下r d s 3 4 0 0 通过p c i 接口和 p c 相连作为协处理器工作 r d s 开发系统还包括相关仿真调试工具i n s p e c t o r 和p i o 配置软件p i oc o n f i g u r a t o r 2 1 高速多核处理器c t 3 4 0 0 1 o m c t 3 4 0 0 的结构如图2 1 所示 它包括了一个c o m p u t i n gq u a d 一个i oq u a d 一个s d r a m 控制器和一个g b i g l o b a lb u si n t e r f a c e 它们通过3 3 0 m h z 的全局 总线相连 o u a d 的时钟是2 3 0 唧z s d r a m 的时钟是1 3 2 旧z c o m p u t i n gq u a d 中有4 个p e p r o c e s s i n ge l e m e n t s 8 个d s e d i g i t a ls i g n a l e n g i n e s 一个m t e m e m o r yt r a n s f e re n g i n e s 6 4 k b 的数据存储器 3 2 k b 的指 令闪存 还有一个时钟计数器中断寄存器 硬件信号量和全局总线接口等等 i 0q u a d 中有2 个p e 2 个m t e 一个j t a g 6 4 k b 的数据存储器 3 2 k b 的指 令闪存 一个2 5 6 k 的引导r o m p i o 系统 全局总线接口和总线接口单元等等 q u a d 中的6 4 k b 数据存储器有3 2 k b 固定为数据存储器 另外3 2 k b 可以配置为 存储器或者闪存 指令闪存也可以配置为指令存储器 每个q u a d 有2 5 6 k 数据地址空间和2 5 6 k 的控制地址空间 另外i oq u a d 的引 导r o m 也在控制地址空间中 这些地址空间固定分配给各个功能单元 通过这些地 址和q u a d 基地址 各个处理器都可以访问所有处理器的存储器和寄存器 例如p e 通过把d s ep s w 的r u n 位置l 来启动d s e 向d s e 的指令存储器写入d s e 要运行的 程序 向d s e 的数据存储器写入d s e 程序要使用的数据 控制地址空间的信息主要 包括两类 一类是通过全局总线访问的基址寄存器配置信息 一类是通过内部调试 总线 i d b i n t e r n a ld e b u gb u s 访问的状态寄存器 南京邮电学院硕士研究生学位论文第二章高速多核处理器c t 3 4 0 0 及其开发系统 c o m p u t i n gq u a d 一目引目吲目目吲吲 6 4l b d a t a m e m o r v 工 1 jlj jl jl 7g l o b a l 山d a t a b u s 卜 b u s 至 i n s t r u c t i o nb u s ji n t e r f a c e 1 1 上 一 上 j r 工 7 r i s cr i s cr i s ci r i s c u t i l i t i e s lb 3 2 等 p ep ep e i p e f i o q u a d i g b i 6 4 k b g l o b a l m t em t e b t a j t a g r i m i n g 瞄 r y o j 一 s e m a p h o r e s d a t a b u s 工t t工0 g l o b a l 丁 土t土 1 l b u s j r 工上 j r i n s t r u c t i o n b u s 工 i n t e r f a c e l r i s cl p e r i i i 1 n 把而 i a c 1 1 n 8 仃u 甜 l p e f ilii j s d r a m c o n t r o l l i o b u s p i n g r o u p 0 1 5 i i l t l i l i l 图2 1 c t 3 4 0 0 结构 4 南京邮电学院硕士研究生学位论文第二章高速多核处理器c t 3 4 0 0 及其开发系统 2 1 1p e p e 是3 2 位的一般用途的r i s c 处理器 它的指令是1 6 位 有3 2 个3 2 位的一 般用途寄存器 3 2 个3 2 位特殊用途寄存器 一个a l u 一个3 2 位乘法器和一个单 精度算术逻辑单元 它采用哈佛结构 数据空间和指令空间独立 p e 的数据和指令 都是b y t o 对齐 p e 一般作为控制单元使用 方面 p e 支持中断 p e 的p s w 中的d s e c t s e m g w g b t e s w i t r a c e 位分别对应d s e 完成中断 计数器计时器中断 信号量中 断 全局唤醒中断 全局总线传输错误中断 软件中断 陷入中断 p e 根据这些中 断位的状态来响应各种中断 保持和各个单元的通信 另一方面 p e 使用q u a d 的 指令闪存和数据存储器 可以执行比较大的程序 同时通过全局地址p e 可以访问所 有处理器的寄存器和存储器 很方便控制各个处理器 p e 中的程序可以用c 语言写 开发难度相对较低 但是p e 的运算能力相对较 筹 2 1 2d s e d s e 是高性能的d s p 协处理器 它有1 2 8 个3 2 位的d p d m d u a lp o r td a t a m e m o r y 一个支持s i i d 指令的3 2 位整数a l u 一个浮点运算单元 一个p i m a c 单 元 外部存储器读写f i f o 一个位访问单元和 个程序控制单元 d s e 还提供了4 个指针寄存器和一个索引寄存器来方便程序开发 d p d m 中的后 3 2 单元只能通过索引寄存器访问 外部存储器读写f i f o 是3 2 个3 2 b i tf i f o d s e 向外部存储器写数据由w r i t e 指令发起写操作后 d s e 实际先把数据写入m e m 寄存器 也就是先写入外部存储器 数据f i f o 然后再由f i f o 写入外部存储器 d s e 从外部存储器读数据由r e a d 指令 发起读请求后 d s e 继续执行后续的代码 读硬件同时等待数据到达写入读f i f o 位访问单元由f a c f a f d 三个寄存器组成 硬件上提供了循环移位操作 使 得任意b i t 的数据访问更加方便 利用循环控制寄存器l c 和返回地址寄存器r a 可 以很方便的实现程序循环 d s e 的浮点运算单元有一个乘法器 四个加速器寄存器和一个f m a ca l u 浮点 南京邮电学院硕士研究生学位论文第二章高速多核处理器c t 3 4 0 0 及其开发系统 运算单元执行三个浮点操作 f l o a t f l o a t i n gm u l t i p l y f l o a t i n ga c c u m u l a t e 只需要一个时钟周期 p i m a c 单元有1 6 个8 位乘法器 4 个 6 位乘法器 一个3 2 位乘法器 通过设置p s w 中的s i m d h s i n m a c m 0 m a c m i 位可以让d s e 工作在s a d h a l f w o r ds i n b y t es i n 3 2 3 2 i g a c 1 6 1 6 p i g a c 8 8 p i r k c f m a c 等各 种模式下 执行相应模式下的指令 m a c 指令都有2 4 个时钟周期的流水线延迟 也就是乘法的结果在2 4 个周期之后才能取出 d s e 提供了3 个p i m a c 8 个s i n 指令 提高了数据处理的速度 d s e 的指令是2 0 b i t 实际占用3 2 b i t 其中1 2 b i t 保留 对于操作数是两个寄 存器或者一个是寄存器一个是常数的指令 6 b i t 是操作码 两个操作数各占7 b i t 所以d s e 程序中常数的范围是一6 4 6 3 指令存储器是5 1 2 个字 也就是指令存储器 只能存5 1 2 条指令 d s e 指令存储器支持3 2 b i t 和6 4 b i t 读写 也就是可以一次读 写一条或者两条指令 外部存储器支持b y t e h a l f w o r d w o r d 读写 除了a b s m i n m a x f m i n f h l a x 这几个指令的执行需要两个时钟周期外 d s e 中的指令都只需要一个时钟周期 视频编码中经常要计算s a d s u mo fa b s o l u t e d i f f e r e n c e d s e 提供了s a d 指令 一个时钟周期可以计算四个像素的s a d 2 1 3 e m t e 在c o m p u t i n go u a d 中提供d m a 数据传输 在i oq u a d 中提供i o 数据传 输和控制 每个m t e 包括四个m t c m e m o r yt r a n s f e rc o n t r o l l e t m t e 用时间片轮转法 在一组硬件上实现四个m t c m t e 中有每个m t c 专有独立的寄存器也有四个m t c 共用 的寄存器 在某个时刻只能有一个m t c 在运行 由仲裁器决定哪个m t c 运行 m t e 中有9 6 个d p d m 这些d p d m 被平均分成六组 其中四组分别给四个m t c 作为数据寄 存器 另外两个作为m t e 的寄存器缓冲池 由四个m t c 共用 4 个m t c 共享一个2 k 指令存储器 但是每个m t c 有自己的程序控制寄存器 每个m t c 还有1 6 个硬件寄存 器 4o c t e t 的读f i f o 和4o c t e t 的写f i f o p l p p a r a m e t e rl i s tp o i n t e r f i f o 是m t e 的命令输入f i f o 把参数控制块 的地址写入p l pf i f o 之后 如果有空闲的m t c m t e 就启动m t c 读入参数控制块 根据参数控制块传输数据 参数控制块有四种格式 每种格式主要包括传输数据的 6 南京邮电学院硕士研究生学位论文第二章高速多核处理器c t 3 4 0 0 及其开发系统 数据 源地址 目的地址和传输方式等各种参数 m t e 可以以b y t e h a l f w o r d w o r d o c t e t 对齐方式传输数据 还可以保存 恢复寄存器等等 m t c 读数据时先把存储器地址写入读地址寄存器 存储器在响应后把数据放入 该m t c 的读f i f o 从m t c 发起读请求到数据到达读f i f o 有一定的时间间隔 所以 在m t c 发起读请求后m t c 进入暂停模式 等待数据到达被唤醒 在该m t c 进入暂停 后m t e 仲裁器就可以启动其它m t c 运行 同样m t c 写数据的过程也类似 四个m t c 通过这种方式实现时间片轮转 m t e 的指令是2 0 b i t 占用3 2 b i t 其中1 2 b i t 保留 有2 k w o r d 的指令存储器 也就是可以存储2 k 条指令 m t e 指令存储器只支持3 2 b i t 读写 外部存储器访问支 持b y t e h a l f w o r d w o r d 读写 m t e 还有r s r e e d s o l o m o n 和c r c c y c l i cr e d u n d a n c yc h e c k 单元 2 1 4p 1 0 i n l c t 3 4 0 0 的p i o p r o g r a m m a b l e1 0 系统提供了一种用软件实现i 0 设备的方式 p i o 系统通过配置i oo u a d 的1 6 个p g p i ng r o u p 来实现i 0 设备 i 0 设备有 两种类型 p i o 设备和d m 设备 p i o 设备主要是访问速度较慢的设备 它们由p e 或者m t e 程序直接读写设备的引脚 d m a 设备主要是快速设备 它们通过p s m p i n s t a t em a c h i n e s 或者b i u b u si n t e r f a c eu n i t 访问设备引脚 p e 或m t e 提供 d m a 设备的高级控制 i o 设备的开发过程如下 i 指定设备名和地址 2 指定p g 3 配置每个p g 4 编写p s m 程序 5 编译b o o l 程序 6 优化 7 产生c 语言数据结构 8 产生配置c 代码 9 编写p e m t e 程序 南京邮电学院硕士研究生学位论文第二章高速多核处理器c t 3 4 0 0 及其开发系统 1 0 把c 配置代码和p s m 程序数据结构集成到p e 代码中 r d s 3 4 0 0 开发系统提供了p i oc o n f i g u r a t o r 工具方便p i o 设备的开发 p i o 系 统方便了c t 3 4 0 0 和外设的互连 r d s 3 4 0 0 开发系统中的外设都是通过p i o 实现的 其中音视频输入输出是通过音视频扩展板再和外设相连 扩展板由p 7 p 8 和c t 3 4 0 0 相连 由m t c 控制音视频数据的输入输出 2 2c l a s 砰1 3 c l a s m c l i k ea s s e m b l e r 是r d s 3 4 0 0 开发系统专用低级开发语言 它支持所 有处理器指令并提供一些高级语言特性 大多数的c l a s m 语句和机器指令是一一对 应的 一般开发d s e 和m t e 程序都用c l a s m c l a s m 的程序结构如下 i l l c l u d es t a t e m e n t s c o n s t a n td e f i n i t i o n s e x t e r nd a t av a r i a b l e sa n dp r o c e d u r e s d a t av a r i a b l e s c o d es e g m e n t s c l a s m 使用标准c 的预处理器 c l a s m 的词法和c 语言类似 在c l a s m 中 在每个代码段的起始必须说明该代码段是运行在p e d s e 还是m t e 上 s e g m e n t p e 说明代码段是运行在p e 上 s e g m e n t d s e 说明代码段是运行在d s e 上 s e g m e n t m t e 说明代码段是运行在m t e 上 用e n d s e g m e n t 结束代码段 p e d s e m t e 的代码段必须存放在不同文件中 而且每个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论