进行驱动程序设 66 MHz/32 位 ;符 合 2.2 版 本 的 规 范 ,通 过 插 入 PC 机 给 计,应用程序可以复用绝大部分相似设备的驱动程序,从 其供电,且与 PC 机通信,显示现场采集到的图像和编码24 2008年第 32 卷第 10 期(总第 320 期) Parts amp applications而提高驱动程序的开发效率。
视频采集启动的驱动程序 前帧是 I 或 P 片; 或者采用与参考帧的差值和是否大于结构如图 1 所示。
设定阈值来判断当前片属于 I 或 P 片。
3.2.3 应用层 DSP/BIOS 程序函数调用 主 函 数 main ()完 成 CSL 函 数 的 初 始 化 、DMA 通 道 应用层(任务) void tsk VideoLoopback () 的初始化、缓存 Cache 的初始化。
其余任务通过 DSP/BIOS 类驱动层 API/ GIO_control (gioChan ,cmd ,args ) 配置来完成,设置全局运行参数等,如 DM642PCI_init ( ) ; 微驱动层 CSL 硬件物理层 片上外围设:TVP5150 芯片 创 建 目标程序 DSP/BIOS API 所调用的运行对象和设置 其属性,在 TSK 模块中设置任务 void tskVideoLoopback() 图1 驱动层结构图 在该函数中完成对图像的采集和编码压缩。
应用层主流 算法层 程如图 5 所示。
3.2.2 T264 源 代 码 是 支 持 新 视 频 编 码 标 准 H.264 性 能 的 初始化 DSP具体实现,编码框架是 MC-DCT 结构,即运动补偿 变换 初始化 DSP/BIOS 模块编码的混合结构,保留了先前标准的一些特点,细节上做了调整,下面介绍 T264 模型主要算法的实现过程: 调用 main 函数 (包括 CSL ,Cache , 1) 帧内预测 :T264 模 型 将 H.264 标 准 中 提 出 的 13 DMA 初始化) 编码 1 个片种预测模式 (Intra4×4 模式包含 8 种 预 测 方 向 和 DC 预 进入操作系循环空间测,Intra16×16 模式包含 4 种预测方向)通过设置编码参 编码 1 个宏块数 决 定 亮 度 信 号 采 用 Intra16 ×16 或 者 Intra4 ×4 或 者 N 是否有一帧数据输入?Intra4×4 和 Intra16×16 预测方式, 选择 SAD 值最小的块 产生输出 Y为最佳匹配块。
进行片组划分 宏块的比特流 2 ) 帧间预测: T264 模型将 7 种宏块划分预测模式分成两大类:宏块划分和亚宏块划分,二者的选择由输入 是否编完所有片组? N 是否编完 N编 码 参 数 确 定 ,计 算 各 种 划 分 子 块 的 SAD ,将 其 相 加 作 Y 该片的最 后宏块?为该划分的 SAD ,选择 SAD 值最小的作为最佳划分。
具 对重构进行去块操作体运动搜索过程如下(Inter16×16 ): 对重构进行 1/4 像素精度插值 Y (1) 选择最佳参考帧:参考 Ft-2,Ft-1 帧内已编码宏块 Y 将重构放入参考缓冲区 是否编完所有片?(MB1,MB2,MB3)的运动矢量预测 Current MB (如图 2 )的运动矢量,选择 SAD 值最小的作为最佳参考帧。
N 图5 应用层主流程 MB2 MB3 (2 ) 如图 3 所示,利用从 3.3 优化实现 Current 最佳参考帧内的得出的预测 MB1 1) 运动搜索算法改进 MB 运动矢量找到搜索的中心点 H.264 的高性能是以复杂的运算量为代价的, 笔者 (正方形), 进行 Small DS 搜 图2 宏块位置图 采用了一种基于方向判断的自适应运动估计快速搜索算 索,找到匹配点(三角形)。
法,充分考虑视频图像自身的运动属性,利用相邻块运动 (3 ) 最 后 将 运 动 矢 量 进 4 矢量场的分布特性, 根据相邻块运动矢量的相似程度自 行 1/4 像 素 偏 移 , 经 内 插 处 2 3 适应地设定阈值来判断静止块, 并且对预测运动矢量进 1 理 ,得 到 最 佳 预 测 匹 配 块 (如 行方向的判断, 使用方向性的模板搜索最优点。
实验表 图 4)。
明,在基本不损失信噪比的情况下,本算法有效地降低了 3) 图 像 片 类 型 :T264图3 小钻石搜索示意图 运算量,提高了编码速度,对视频编码器的实时性做出了 模型支持 I (IDR ),P,B 3 种片 突出贡献。
类型,本文设计的视频编码器 2 ) 硬件优化 采用片组结构 IPPP … . 格式, 内存资源的合理应用,通过 DSP/BIOS 的配置工具完 根 据 t-gtframe_not-gtparam. 成 ;根 据 实 验 测 试 ,将 L2 的 128 Kbyte 配 置 为 Cache ,剩 idrframe ( 或 t -gtparam. 余 128 Kbyte 设为 SRAM,编码器