文件名称:MPEG4编码器类封装-altera@epm1270 datasheet
文件大小:323KB
文件格式:PDF
更新时间:2024-06-27 16:33:24
录像
2.2 MPEG4视频码流分析 MPEG4视频 流具有高 压缩 比 ,同时对 数据 的损 失很小 , 具有 可与 DVD媲美 的高清晰画质 ,一般 的播放器都支 持这些 文件格式。为 了便于对视频编码数 据进行误码处理 、随机搜索 及编辑 ,MPEG4对视频流进行 了分块结构化组织。如图 2所示 , MPEG4视频流结构从大Nd,由以下 6个结构化块组成 :视频序 列(Video Sequence)、帧群组(Group of Pictures;GOP)、帧(Picture)、 分片 (Slice)、宏块 (Macroblock)与像块 (Block)。。”。 — — — 一 — — — — — — — — — — 一 MPEG数据流 — — ——————■ 序列头 、 组数据 ⋯⋯ 组数据 序列结束 卜_一————一 图像数据 — — ———-一 }一————■+●卜———’ ‘———■十●一'+●———■叫 图像头 分片头 块数据 ⋯-·· 块数据 图2 MPEG视频流结构 2.3 MPEG4编码器类封装 在 分 析 了 MPEG4基 本 原 理 和 MPEG4视 频 码 流结 构 的 基础 上,这里基 于 Delphi封装了一个实 现 I帧和 P帧编码 的 编 码 器 类。 该 编 码 器 由 TMpegEncoder、TMpegStream、 TMpeglmage与 TMpegBW 这 4个 类组 成 ,它们 之 间的关 系如 图 3所示 ,TMpegEneoder是编码器 主接 口类 ,与视频 流操作 类 TMpegStream 和位 图 处 理类 TMpeglmage之 间 是 合成 的关 系 ;位 图处理类 TMpeglmage与 图像 信息编码类 TMpegBW 之 间也是合成关 系。 图 3 MPEG-4编码器 类 合 成关 系是一种直观的复用对象 的方法 , 即新的对象是 由 已有的对象组合而成 ,具有最高效的代码重用性 和对象协作性 。 TMpeg类 向外部提供两个重要的函数接 口: ① 编码器初始化 函数 。主要完成编码器的图像宽高 、编码 品质系数、视频流帧率、帧族群类型及视频编码输出流等的配置, 为后续的位图处理编码和 Mpeg码流存储做准备。其函数原型 定 义 如 下 :procedure InitEncoder(Width,Height,Quantization, Tolerance, GOPType: integer; BaseFreq: TBaseFrequency; OutStream:TStream)。 ② MPEG4编码 函数 。此 函数是 MPEG4的编码 函数 ,可 以 把屏幕位 图连续送人编码为 MPEG4码流 ,并写入视频文件。其 函数 原型定义如下 :funcdon MP4Encode(bm:TBitmap):Boolean。 该 函数 如果 返 回 TRUE则 是 I(关键 )帧 ,返 回 FALSE则 是 P帧 ,它先根据初始化编码器过程给定的帧族群类型来确定 帧组 群的结构 ,由于该编码器只实现 I帧与 P帧编码 ,所 以当 GOPType值为 8时帧族群结构为:IPPPPPPP。再由帧族群结构 来确定 当前位 图的帧编码模式为 I帧还是 P帧。 I帧 编码 过程 ,先将 位 图进行 RGB到 YUV的色场 转换 , 信息安全与通信保密 ·2011。7 49 万方数据