0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于PXA27X微处理器开发平台实现视频编码的功能应用

电子设计 来源:现代电子技术 作者:邹 涛,易 凡 2021-03-17 14:02 次阅读

随着人们对消费类电子产品(如PDA,MP4,HDTV等)需求不断增加,特别是对高质量高清晰多媒体的要求越来越高,因此视频质量已经成为广大消费者关注的焦点之一。在视频的格式方面,一些国际组织和大公司分别提出了自己的标准,如ISO组织的MPEG一2,MPEG一4,微软的WMV等。

针对Intel公司的PXA27X处理器(这是一个包含Intel Wireless MMX技术基于Intel Xscale的处理器),以XVID MPEG一4为基础,针对MPEG一4在Linux操作系统中实现视频的编码要求。在此首先介绍MPEG一4视频标准,紧接着阐述MPEG-4视频标准的关键技术和MPEG一4视频编码软件部分,最后还介绍了优化方法和实际平台的测试。

1 MPEG一4是视频标准

MPEG一4视频部分是MPEG一4标准的核心内容之一。既提供传统的基于帧的编码方法又提供基于视频对象(VO)的编码方法。在某一时刻,视频对象以视频对象平面(VOP)的形式出现,图1所示为MPEG一4编码的框架。编码也主要针对该时刻视频对象的形状、运动和纹理这三类信息来进行。

基于PXA27X微处理器开发平台实现视频编码的功能应用

2 MPEG一4视频编码关键技术

MPEG一4视频基于VOP的编码就是针对运动信息、形状信息和纹理信息等3种信息的编码技术。

2.1 形状编码

MPEG一4首次引入形状信息的编码。VO的形状信息有2类:二值形状信息和灰度形状信息。二值形状信息用0,1表示VOP的形状。二值信息的编码采用基于块的运动补偿技术,可以无损或有损编码。灰度形状信息用0~255之间的数值表示VOP的透明程度。对灰度形状信息的编码是分别对二值形状及像素亮度值进行编码。目前对灰度形状信息的编码主要采用基于块的运动补偿与DCT方法,在不需要形状信息的应用中(譬如基于规则矩形框帧的视频编码),形状编码会被屏蔽掉。这部分编码是以宏块为单位进行的。

2.2 运动估计与补偿编码

类似于现有的编码标准,MPEG一4采用运动预测和运动补偿技术来去除图像信息中的时间冗余成分,这些运动信息的编码技术可视为由现有标准向任意形状的 VOP的延伸。VOP的编码有3种模式,即帧内编码模式(I—VOP)、帧间预测编码模式(P—VOP)和双向预测编码模式(B—VOP)。在MFEG一 4中运动预测和运动补偿可以是基于16×16宏块的,也可以是基于8×8子块的。为了能适应任意形状的VOP,MPEG一4引入了图像填充技术和多边形匹配技术。图像填充技术利用VOP内部的像素值外推VOP外的像素值,以此获得运动预测的参考值。对于标准宏块,采用传统的基于块的运动估计和补偿技术。

2.3 纹理编码

VOP视频的纹理信息可以表示为亮度成分Y和两个色度成分Cr,Cb。帧内编码情况下,纹理信息包含有亮度和色度成分;运动补偿情况下,纹理信息表示经过运动补偿后的残差。纹理编码的对象可以是帧内编码模式的I—VOP,也可以是帧间预测编码模式B—VOP或P—VOP运动补偿后的预测误差。在帧内编码模式中,对于完全在VOP内的像素块,采用经典DCT方法。对于完全位于VOP之外的像素块则不进行编码:对于部分在VOP内,部分在VOP外的像素块首先采用图像填充技术获得VOP之外的像素值,之后再进行DCT编码。在帧间编码模式中,为了对B—VOP和P—VOP运动补偿后的预测误差进行编码,将那些位于VOP区域之外的像素值设为128。纹理编码过程如图1所示,DCT变换、量化、扫描及变长编码,这些过程与现有标准基本相同。

3 MPEG一4是视频编码软件

MPEG一4是软件编码是一个比较大的工程,项目用到的主要函数有:

mp4_encoder_init:初始化编码的参数,如视频大小尺寸、码流、缓冲大小;

encode_MPEG一4:编码调用的总函数,文本是基本层;

encode_pvop_MPEG一4对P帧的VOP的编码的总函数;

ippiBlockMatcn_Imeger_16x16_MVFAST:运动搜索MVFAST(Motion Vector Field AdaDtive Search Technique)。

下面是帧间宏块编码的函数:

encode_inter_mb_MPEG一4

(1)lookup_uvmv_MPEG一4:查找色度图像块的运动矢量;

(2)ippiComputeTextureErrorBlock_SAD_8u16s:计算块残余的纹理误差;

(3)encode_block_inter_MPEG一4:DCT变化和量化每块的系数。这还得反变化,来重构下帧的参考帧;

(4)create_mb_MPEG一4:得到宏块编码的信息;

(5)ippiEncodeMV_MPEG一4_8u16s:运动矢量和纹理残余的编码;

(6)ippiEncodeVLCZigzag_Inter_MPEG一4_16slu:zigzig扫描和变长编码。

IPP的函数合理使用,可以提高性能。如ip—piBlockMatch_InIeger_16x16_MVFAST这个函数就比ippiMotionEstimation_16x16_MVFAST减少3倍时间。这个函数是占正个系统最多的时间之一。

4 MPEG一4是视频编码优化和结果

这里是针对Intel公司的PXA27X处理器,MPEG一4计算量复杂,特别是运动搜索,必须对其必要的优化,以满足实时编码的要求。编译优化是静态优化,优化编译器可以自动完成程序段和代码块范围内的优化问题,但由于对算法的流程很难获取,所以人工优化是不必可少的。可使用内联函数,Wireless MMX指令编写,如WLDRD和WMACS,特别在对数据处理时,打包指令是必不可少的指令。合理分配指令周期流水线也是重点,如WLDRD需要4个周期,而WUN—PCKEL只需要1个周期,使用IPP库函数将大量节约开发时间和提高性能等,按照实际的工程的需要编写指令。当然对算法的本身优化也不必可少,如运动搜索,运动补偿算法,将这些函数优化运算时间大量减少。还有对数据搬移方面,如何有效应用硬件资源也将提高运行的性能,如DMA、缓存、寄存器等。

这里的试验平台是南望信息产业有限公司PDA,主频可达624 MHz。视频大小(480×272)透过大量的试验,测试表明MPEG一4编码可以满足用户拍视频需求,速度可达到20帧/s,而且有较高的压缩率,码流比较低,质量也不错。图3,4为实际拍摄2帧图像。

5 结 语

针对Intel公司的PXA27X微处理器开发平台,在Linux操作系统中实现视频编码的功能。但是消费类产品对视频的画面有更高的要求,同时由于视频编码需要消耗大量的电源,电源的管理仍是视频开发的研究重点。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    18261

    浏览量

    222086
  • 视频
    +关注

    关注

    6

    文章

    1890

    浏览量

    71882
收藏 人收藏

    评论

    相关推荐

    Intel PXA27x Processor Family Developer's Manual

    Intel PXA27x Processor Family Developer's Manual 共29章!值得一学!  
    发表于 11-23 09:56

    基于Intel PXA27X的音频驱动开发实现

    介绍了基于lntel PXA27X微处理器开发平台上使用WM9712L音频芯片,在Linux操作系统上实现了音频系统的软硬件设计,以及在Li
    发表于 03-12 02:40

    基于嵌入式平台视频编码器实现

    存储播放等领域中得到应用M。伴随着效率的提高,算法的复杂度也提高很多,因此需要研究h.264的压缩算法和它的嵌入式应用。  1 视频编码器的硬件设计  1.1 pxa255处理器的特点
    发表于 08-24 08:59

    PXA27x系列嵌入式处理器

    英特尔公司于2003年底推出了性能最为强劲的PXA27x系列嵌入式处理器PXA27x系列嵌入式处理器基于ARMv5E的Xscale核心,最高频率可达624MHz。作为一款性能极其强劲
    发表于 07-05 14:39

    实现PXA255处理器与CF卡的接口设计

    Intel Xscale PXA255处理器是新一代的嵌入式处理器,基于ARMv5TE体系结构的微处理器,性价比较高、功耗较低,适合于数字移动电话、个人数字助理、网络路由
    发表于 04-08 09:36

    PXA27x LCD控制有什么特点?

    液晶屏设计的好坏直接关系到智能手机的整体性能表现,然而液晶显示屏种类繁多,工程师需要针对各种显示屏的时序匹配、电源要求以及控制的不同特点进行设计。本文介绍了PXA27x内部集成LCD控制的特点、驱动
    发表于 11-11 06:04

    如何利用PXA255处理器的Sitsang开发平台实现红外模块的设计?

    本文将详细讲解基于Inte1的PXA255处理器的Sitsang开发平台红外模块的设计,其中包括Linux下的IrDA驱动程序的开发和基于M
    发表于 04-27 06:03

    智能手机LCD驱动电路该怎样去设计?求解

    本文详细介绍了一种基于PXA27x处理器的智能手机中LCD的设计与实现
    发表于 06-03 07:16

    在Intel PXA27X平台上如何去实现MPEG-4视频编码功能

    在Intel PXA27X平台上如何去实现MPEG-4视频编码功能
    发表于 06-03 06:15

    新唐NuMicro Arm9微处理器介绍

    新唐作为微控制微处理器的领导厂商之一,除了在微控制系列有上百款的产品可供选择,在微处理器方面也有许多出色的产品。本篇文章一次整理所有新唐的微处
    发表于 08-25 07:32

    基于Intel PXA27x的系统引导程序(Blob)移植与

    随着嵌入式处理器Intel PXA27x 在各种智能终端上的推广使用,基于这款处理器的Bootloader(Blob)的设计和移植也逐步转向实际应用。本文在分析基于PXA27x 的Bl
    发表于 09-01 14:31 13次下载

    基于嵌入式平台的H264视频编码器的实现

    介绍了基于嵌入式平台PXA255的h.264视频编码器的实现。在描述了视频
    发表于 09-02 16:41 87次下载
    基于嵌入式<b class='flag-5'>平台</b>的H264<b class='flag-5'>视频</b><b class='flag-5'>编码</b>器的<b class='flag-5'>实现</b>

    FPGA在Intel XScale PXA270微处理器系统上的应用

    摘要 以ACEX1K50为例,介绍FPGA在Intel XScale PXA270微处理器系统上的应用。通过内存映射机制实现ACEX1K50在Linux下的设备驱动;通过用户应用程序实现
    发表于 11-06 14:47 1次下载
    FPGA在Intel XScale <b class='flag-5'>PXA</b>270<b class='flag-5'>微处理器</b>系统上的应用

    针对PXA27X微处理器开发平台进行MPEG-4视频编码的优化

    MPEG一4视频部分是MPEG一4标准的核心内容之一。既提供传统的基于帧的编码方法又提供基于视频对象(VO)的编码方法。在某一时刻,视频对象
    的头像 发表于 12-06 08:11 2203次阅读
    针对<b class='flag-5'>PXA27X</b><b class='flag-5'>微处理器</b><b class='flag-5'>开发</b><b class='flag-5'>平台</b>进行MPEG-4<b class='flag-5'>视频</b><b class='flag-5'>编码</b>的优化

    4编码器在Intel PXA27X平台上的实现

    关键词:Intel , MPEG , PXA27X , 编码器 , 平台 随着人们对消费类电子产品(如PDA,MP4,HDTV等)需求不断增加,特别是对高质量高清晰多媒体的要求越来越高,因此
    发表于 12-06 16:23 147次阅读