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

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

3天内不再提示

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

电子设计 来源:郭婷 作者:电子设计 2018-12-06 08:11 次阅读

随着社会的发展,人们对消费类电子产品(如PDA,MP4,HDTV等)需求不断增加,特别是对高质量高清晰多媒体的要求越来越高,因此视频质量已经成为广大消费者关注的焦点之一。 MPEG-4编解码的基本思想是基于图像内容的第二代视频编解码方案,并将基于合成的编码方案也结合在标准中。它根据图像的内容将图像分割成不同的视频对象VO(Video Object),在编码过程中对前景对象和后景对象采用不同的编码策略,对于人们所关心的前景对象,则尽可能的保持对象的细节及平滑,而对不大关心的后景对象采用大压缩比的编码策略。

l MPEG一4是视频标准

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

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

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

MPEG-4按照如下五个层次组织要编码的图像,从上至下依次为:视频段VS(Video Session)、视频对象VO(Video Object)、视频对象层VOL(Video Object Layer)、视频对象组层GOV(Group of Video Object Plane)、视频对象平面VOP(Video Object Plane)。 MPEG-4的编码流程:第一步是VO的形成(VO Formation),先要从原始视频流中分割出VO,之后由编码控制(Coding control)机制为不同的VO以及各个VO的三类信息分配码率,之后各个VO分别独立编码,最后将各个VO的码流。

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)。图像填充技术利用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。纹理编码过程如图2所示,DCT变换、量化、扫描及变长编码,这些过程与现有标准基本相同。

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

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计算量复杂,特别是运动搜索,必须对其必要的优化,以满足实时编码的要求。编译优化是静态优化,优化编译器可以自动完成程序段和代码块范围内的优化问题,但由于对算法的流程很难获取,所以人工优化是不必可少的。合理分配指令周期流水线也是重点,如WLDRD需要4个周期,而WUN—PCKEL只需要1个周期,使用IPP库函数将大量节约开发时间和提高性能等,按照实际的工程的需要编写指令。

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

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

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

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

    关注

    6

    文章

    1929

    浏览量

    72758
  • 微处理器
    +关注

    关注

    11

    文章

    2241

    浏览量

    82241
  • 编解码
    +关注

    关注

    1

    文章

    140

    浏览量

    19571
收藏 人收藏

    评论

    相关推荐

    针对TI汽车处理器新的SAFERTOS库评估包

    体验SAFERTOS针对TI 汽车处理器TDA4x/DRA8x的免费SAFERTOS二进制评估包。在高性能C66x DSP、强大的C7
    的头像 发表于 10-09 15:50 271次阅读
    <b class='flag-5'>针对</b>TI汽车<b class='flag-5'>处理器</b>新的SAFERTOS库评估包

    MSP430x47x3、MSP430x47x4混合信号微处理器数据表

    电子发烧友网站提供《MSP430x47x3、MSP430x47x4混合信号微处理器数据表.pdf》资料免费下载
    发表于 08-09 11:05 0次下载
    MSP430<b class='flag-5'>x47x</b>3、MSP430<b class='flag-5'>x47x4</b>混合信号<b class='flag-5'>微处理器</b>数据表

    视频处理器分辨率怎么调

    信号进行解码、编码、转换、缩放等操作。视频处理器广泛应用于电视、显示、投影仪、摄像头等设备中。 视频处理器的主要功能包括:
    的头像 发表于 07-16 11:25 734次阅读

    嵌入式微处理器的分类 嵌入式微处理器的种类和型号

    的分类可以从多个角度进行划分,比如架构、指令集、用途等。下面将从这些角度详细介绍嵌入式微处理器的种类和型号。 一、架构分类 嵌入式微处理器的架构分类主要有以下几种: 单核架构(Single-core):单核架构的嵌入式
    的头像 发表于 05-04 16:31 1989次阅读

    嵌入式微处理器主要组成 嵌入式微处理器的分类和特点

    嵌入式微处理器是指集成在嵌入式系统中的微处理器,它是一种专门针对特定应用的定制处理器。嵌入式微处理器的主要组成包括核心
    的头像 发表于 05-04 15:48 2159次阅读

    嵌入式微处理器有哪几类 嵌入式微处理器包含哪些重要参数

    等。在本文中,我们将详细介绍嵌入式微处理器的几类以及包含的重要参数。 一、嵌入式微处理器的几类 通用微处理器 通用微处理器是指那些不专为嵌入式系统设计的
    的头像 发表于 05-04 14:58 782次阅读

    嵌入式微处理器的功能 嵌入式微处理器原理与应用

    嵌入式微处理器是一种集成了中央处理单元(CPU)核心和各种外围接口的集成电路,广泛应用于嵌入式系统中。由于嵌入式系统对功耗、体积和成本等方面有着严格的要求,嵌入式微处理器在这些方面都做出了相应的
    的头像 发表于 05-04 14:50 995次阅读

    嵌入式微处理器有哪几种类型 嵌入式微处理器有哪些类别

    嵌入式微处理器是一种专门用于嵌入式系统中的微处理器,它能够提供计算和控制功能。嵌入式系统通常是对特定任务或应用进行优化的计算机系统,例如汽车电子、医疗设备、智能家居等。嵌入式
    的头像 发表于 05-04 14:42 661次阅读

    嵌入式微处理器的分类特点 嵌入式微处理器作用

    领域,包括消费电子、工业控制、医疗设备、汽车电子等。 嵌入式微处理器可以根据其架构、指令集和性能等特点进行分类。常见的分类方法包括架构、工作频率、指令集和功能等。 从架构的角度来看,嵌入式微处理器通常可以分
    的头像 发表于 04-21 14:52 1185次阅读

    嵌入式微处理器结构与应用 嵌入式微处理器一般分为哪几类

    嵌入式微处理器是一种专用的微处理器,广泛应用于嵌入式系统中。嵌入式系统是指嵌入到其他设备中的计算机系统,其功能与控制是针对特定的应用需求而设计的。嵌入式微处理器通常具有较小的尺寸、低功
    的头像 发表于 04-21 14:35 1261次阅读

    嵌入式微处理器的基础是什么

    要求的硬件和软件技术。 在嵌入式微处理器的基础上,我们可以考虑以下几个方面进行详细讨论: 处理器架构和指令集:嵌入式微处理器通常在特定的指令集架构上运行,比如ARM架构、MIPS架构或
    的头像 发表于 04-21 14:34 1039次阅读

    dsp和嵌入式微处理器的区别是什么

    DSP(数字信号处理器)和嵌入式微处理器是两种针对不同应用优化处理器类型。本文将深入探讨它们之间的技术差异、应用场景以及它们各自的优势和局
    的头像 发表于 04-07 15:11 1213次阅读

    什么是嵌入式微处理器?嵌入式微处理器有哪些?

    嵌入式微处理器是指嵌入到特定应用系统中的微处理器,它是整个嵌入式系统的核心,由通用处理器演变而来,具有体积小、重量轻、成本低、可靠性高等优点。与通用处理器相比,嵌入式
    的头像 发表于 03-29 11:39 888次阅读

    嵌入式微处理器的原理和应用

    嵌入式微处理器是专为嵌入式系统设计的微处理器,它们是嵌入式系统的核心组件,负责执行程序指令、处理数据和控制其他硬件设备。与通用微处理器相比,嵌入式
    的头像 发表于 03-28 15:51 780次阅读

    微处理器由什么组成 微处理器和cpu的关系

    计数等。指令译码对指令进行解析和译码,时钟发生提供时钟脉冲以驱动微处理器的运行,程序计数
    的头像 发表于 02-22 10:40 3438次阅读