一种普适的手机平台vpu视频编解码性能检测方法

【专利摘要】本发明公开了一种普适手机平台的视频处理单元(VPU)的H.264视频编解码性能检测方法,包括:手机平台利用VPU进行H.264视频编解码的系统搭建、YUV视频序列H.264编码速率的测试、YUV视频序列H.264编码功耗的测试、YUV视频序列H.264编码PSNR的测试、H.264视频流解码速率的测试以及H.264视频流解码功耗的测试。本发明是一种能够适应各种手机型号的并在手机平台上实现检测上述VPU H.264编解码的极限性能的方案,本发明避免了传统只能适应某种型号手机进行VPU H.264编解码的弊端,并能对其编解码性能高效准确的测试。

【专利说明】一种普适的手机平台VPU视频编解码性能检测方法

【技术领域】

[0001] 本发明涉及多媒体信息处理检测【技术领域】,具体涉及一种普适的手机平台VPU视 频编解码性能检测方法。

【背景技术】

[0002] 目前,4G网络技术已经取得阶段性的成果,而且智能终端平台能够成熟采用4G传 输技术作为新一代的网络传输。凭借其突出的数据传输性能,4G智能终端的功能逐渐从简 单的网络通讯转向丰富多彩的多媒体通讯娱乐。智能移动终端实时多媒体流处理的性能就 显得极为重要。目前,VPU是智能移动终端处理多媒体信息的主要处理单元,开发者能借助 获得使多媒体通讯娱乐软件有更好的用户体验。但只有充分了解VPU编解码的性能,开 发者才能有效开发利用VPU。因此,能准确了解各种手机平台VPU的性能就显得尤为重要。

[0003] 主流的SoC厂商并不公开VPU的详细参数信息和手册,开发者无法通过查阅资料 的方式得知当前平台VPU的性能,只能通过测试的途径。但是,现有的VPU H. 264编解码的 性能测试使用仅配合单一手机平台的测试方法因而不具备普适性。不同的手机平台,不得 不各自开发相应的VPU H. 264编解码测试方法。至今没有完善的检测VPU编码速率、编码 功耗、编码PSNR、解码速率和解码功耗的方案。

【发明内容】

[0004] 发明目的:为了解决现有技术的不足,

[0005] 技术方案:一种普适的手机平台VPU视频编解码性能检测方法,其特征在于,该方 法包括以下步骤:

[0006] 以YUV视频序列作为H. 264编码性能测试的标准输入,直接驱动底层VPU进行 H. 264的视频编码部分与解码部分;通过对YUV视频序列H. 264编码性能的测试,和对 H. 264视频流解码性能的测试,得到综合编码检测结果或解码检测结果;该综合编码检测 结果或解码检测结果与标准YUV输入,获得编解码性能功耗数据;

[0007] 对YUV视频序列H. 264编码性能的测试,包括YUV视频序列的制作、编码速率的测 算、编码功耗的测算和编码峰值信噪比的测算;

[0008] 对H. 264视频流解码性能的测试,包括H. 264视频流的制作、解码速率的测算、解 码功耗的测算。通过综合编码检测结果或解码检测结果与标准YUV输入,获得编解码性能 功耗数据;避免了传统测试方法中Camera,或者10操作与在线的颜色空间转换对测试结果 引入误差。直接驱动底层VPU进行H. 264的视频编码部分与解码部分。避免了使用高层编 解码方法引入Camera,进而对VPU的H. 264编解码性能功耗测试结果带来的误差。

[0009] 进一步的,对YUV视频序列H. 264编码性能的测试,具体包括以下步骤:

[0010] 制作不同颜色格式的YUV视频序列作为输入数据的方案:在每一帧图像数据的数 组中将YUV对应的位置调换;

[0011] 初始化MediaFormat,包括初始化颜色格式、每秒传输帧数、每秒传送位数和I帧 间隔;

[0012] 创建MediaCodec的编码器对象,获取编码器对应的输入输出缓冲器后进入编码 循环,每次先读取一帧数据填入输入缓冲器中,然后考察输出缓冲器的状态,若输出缓冲器 中有已经完成编码的数据,则取出数据;若输出缓冲器的状态为Try Again Later,则返回 继续循环,直到编码完成,再无数据则跳出循环为止。

[0013] 进一步的,YUV视频序列H. 264编码性能的测试中YUV视频序列的制作,是作为 H. 264编解码系统中编码器部分的输入数据和峰值信噪比测算时与解码产生的视频序列比 较的原始视频序列。

[0014] 有益效果:

[0015] 1)本发明中的H. 264编解码系统区别于传统的H. 264编解码系统,提供了直接驱 动底层VPU进行H. 264编解码的方式,避免了使用高层编解码方法,不得不引入Camera,进 而对VPU的H. 264编解码性能功耗测试结果带来的误差,且解决了在高层编码方法中难以 提取检测VPU性能参数的问题;

[0016] 2)本发明中的H. 264编解码系统区别与传统的H. 264编解码系统,通过综合编码 检测结果或解码检测结果与标准YUV输入,获得编解码性能功耗数据,避免了测算性能耗 时的10操作以及在线的颜色空间转换,使检测结果更为准确;

[0017] 3)本发明中的H. 264编解码系统可以适应不同的手机型号,可以根据不同手机 WU支持的颜色空间自动调整配置该编解码系统。

[0018] 4)提供了一整套完整的普适的针对H. 264编解码系统的性能的检测方法,使得多 媒体通讯娱乐软件的开发者能更方便地测试VPU的各项指标。

【专利附图】

【附图说明】

[0019] 图1是本发明在Android系统中用VPU进行H. 264的视频编码部分流程图;

[0020] 图2是本发明在Android系统中用VPU进行H. 264的视频解码部分流程图;

[0021] 图 3 是 YUVPlanar 格式。

[0022] 图 4 是 YUVSemiPlanar 格式

[0023] 图 5 是 YUVPackedPlanar 格式

[0024] 图6是YV12的格式

【具体实施方式】

[0025] 下面结合附图对本发明做更进一步的解释。

[0026] H. 264编解码的系统,包括驱动VPU进行H. 264的视频编码部分与解码部分,其工 作流程分别对应图1和图2。

[0027] (一)驱动VPU进行H. 264的进行视频编码部分的性能检测。

[0028] 首先需要初始化MediaFormat,包括颜色格式、每秒传输帧数、每秒传送位数、I帧 间隔。其中不同手机平台VPU所支持的颜色格式不同,为了达到普适的目的,可按照以下方 法获得当前手机平台所支持的颜色格式:先要使用getCapabilitiesForType方法获得当 前手机支持的 CodecCapabilities,并读出 CodecCapabilities 中的 colorFormats 得到手 机所支持的颜色格式,Android手机常见的颜色格式主要包括以下几种:

[0029] C0L0R_FormatYUV420Planar, C0L0R_FormatYUV420SemiPlanar, C0L0R_ FormatYUV420PackedPlanar等,相互之间的差别如图3、4、5、6所示。图3-6为在相同的物 理像素格式下,上述颜色格式的示意。

[0030] 由于各手机平台VPU所支持的颜色格式不同,网络上能下载到的标准YUV视频序 列的颜色格式为YV12,与以上所支持的颜色格式均不相同。本发明与传统方法在H. 264 编解码的系统内部在线做颜色空间的转换不同,由于在线做颜色空间的转换非常耗时,影 响到测试结果,因此本发明提出提前制作不同颜色格式的YUV视频序列作为输入数据的 方案,制作方法如下:在每一帧图像数据的数组中将YUV对应的位置调换即可,以YV12到 C0L0R_F 〇rmatYUV420Planar转换为例,对于每帧数据,只需将Y位置的数据与U位置的数据 互换则达到了颜色空间转换的效果。

[0031] 接着创建MediaCodec的编码器Encoder对象,其中MediaCodec是Android系统 提供的驱动VPU的API接口,Encoder所处理视频序列的长、宽可根据需求设定。然后获 取Encoder对应的输入输出缓冲器Buffer后进入编码循环,每次先读取一帧数据填入输 入缓冲器InputBuffer中,然后考察输出缓冲器OutputBuffer的状态,若OutputBuffer 中有已经完成编码的数据,贝U取出数据,若OutputBuffer的状态为Try Again Later,则 返回,继续循环,直到编码完成,再无数据则跳出循环。在测量编码速率时,使用System. currentTimeMillisO标记每次循环的开始时间和结束时间,算得每次执行的时间为t,执 行n次,总编码巾贞数为frame_cnt,则编码速率velocity为:

【权利要求】

1. 一种普适的手机平台VPU视频编解码性能检测方法,其特征在于,该方法包括w下 步骤: W YUV视频序列作为H. 264编码性能测试的标准输入,直接驱动底层VPU进行H. 264 的视频编码部分与解码部分;通过对YUV视频序列H. 264编码性能的测试,和对H. 264视频 流解码性能的测试,得到综合编码检测结果或解码检测结果;该综合编码检测结果或解码 检测结果与标准YUV输入,获得编解码性能功耗数据; 对YUV视频序列H. 264编码性能的测试,包括YUV视频序列的制作、编码速率的测算、 编码功耗的测算和编码峰值信噪比的测算; 对H. 264视频流解码性能的测试,包括H. 264视频流的制作、解码速率的测算、解码功 耗的测算。

2. 如权利要求1所述的一种普适的手机平台VPU视频编解码性能检测方法,其特征在 于,所述对YUV视频序列H. 264编码性能的测试,具体包括W下步骤: 制作不同颜色格式的YUV视频序列作为输入数据的方案;在每一峽图像数据的数组中 将YUV对应的位置调换; 初始化MediaFormat,包括初始化颜色格式、每砂传输峽数、每砂传送位数和I巾贞间隔; 创建MediaCodec的编码器对象,获取编码器对应的输入输出缓冲器后进入编码循环, 每次先读取一峽数据填入输入缓冲器中,然后考察输出缓冲器的状态,若输出缓冲器中有 已经完成编码的数据,则取出数据;若输出缓冲器的状态为Try Again Later,则返回继续 循环,直到编码完成,再无数据则跳出循环为止。

3. 如权利要求1或2所述的一种普适的手机平台VPU视频编解码性能检测方法,其特 征在于,所述的YUV视频序列比264编码性能的测试中YUV视频序列的制作,是作为H. 264 编解码系统中编码器部分的输入数据和峰值信噪比测算时与解码产生的视频序列比较的 原始视频序列。

【文档编号】H04N17/02GK104469368SQ201410742098

【公开日】2015年3月25日 申请日期:2014年12月8日 优先权日:2014年12月8日

【发明者】齐志, 金弘晟, 张亚, 孟炜, 李志

申请人:东南大学

vpu测试_一种普适的手机平台vpu视频编解码性能检测方法相关推荐

  1. python登录系统账号检测_一种基于python的惠普打印机默认用户名密码检测方法与流程...

    本发明涉及打印机检测技术领域,特别是一种基于python的惠普打印机默认用户名密码检测方法. 背景技术: 网络打印机是当前各大中小型企业正常办公比不可少的办公网络设备,但对于大中型企业而言,不同部门或 ...

  2. 两个一样的图像相除会怎么样_【壮凌自动化分析】一种动力电池生产中基于图像运动模糊的速度检测方法...

    一种动力电池生产中基于图像运动模糊的速度检测方法 1.西南大学 电子信息工程学院,重庆 400715) 2.非线性电路与智能信息处理重庆市重点实验室,重庆 400715) 1.当前背景与成熟方法介绍 ...

  3. 手机来电秀怎么开启_华为手机怎么设置视频来电秀?原来方法这么简单,手把手教你设置...

    原标题:华为手机怎么设置视频来电秀?原来方法这么简单,手把手教你设置 前几天有个使用华为手机的网友问小编,下载什么软件可以将视频设置成来电铃声.其实华为手机自身就携带了视频来电秀功能,并不用下载第三方 ...

  4. 53、RK3588测试视频编解码和 POE OAK Camera编码结合开发

    基本思想:一直想学rk3588的视频编解码,奈何没有设备,最近获得机会,利用空闲时间好好研究一番,正好手中的深度相机oak camera支持视频编码,逐想用软解编码和瑞芯微的mpp硬解码去走一波,本实 ...

  5. 04 ARM Mali-V VPU硬件视频编解码驱动介绍V61

    ARM Mali-V VPU硬件视频编解码驱动介绍V61 作者 将狼才鲸 创建日期 2022-12-13 CSDN文章地址:ARM Mali-V VPU硬件视频编解码驱动介绍V61 一.PC上的VPU ...

  6. 一种新的8B/10B编解码硬件设计方法

    作者:贺传峰 戴居丰 毛陆虹    时间:2006-12-03    来源:电子设计信息网-www.edires.net    摘要:在深入研究了8B/10B 编码规则及其内在相关性的基础上,提出了一 ...

  7. 水位尺读数识别 python_一种基于视频的水尺读数检测方法与流程

    本发明创造属于视频检测技术领域,尤其是涉及一种基于视频的水尺读数检测方法及装置. 背景技术: 在水利监测领域中,通过人眼观察水尺并确定水位读数,往往会耗费大量的人力成本和时间成本,并且读数会存在较大误 ...

  8. 整机压力测试_一种服务器整机压力的测试方法

    一种服务器整机压力的测试方法 [专利摘要]本发明公开了一种服务器整机压力的测试方法,根据测试内容,配置服务器:安装操作系统,准备测试工具IntelWindowsValidationStressSuit ...

  9. android 判断手机计步_一种在Android手机上实现计步器的方法

    一种在Android手机上实现计步器的方法 [技术领域] [0001] 本发明设及一种在Amlroid手机上实现计步器的方法,特别设及对手机加速度传 感器数据的采集.处理及应用技术,属于传感器应用领域 ...

最新文章

  1. java 数据保存内存_java中的各种数据类型在内存中存储的方式 一
  2. Android中LayoutInflater()方法
  3. JavaScript数组拼接、对象拼接
  4. RestFul 风格规范
  5. 3.C#编程指南-字符串
  6. Android 布局优化之include与merge
  7. 支付宝宣布刷脸支付将全面接管扫码支付
  8. 【KnockoutJS】KnockoutJS 绑定列表数据。实现表头合并,列生成,图片上传等功能
  9. python 科学计算地磁_用Python控制硬件32-用HMC5883L测量地磁场强度
  10. 如何判断环境变量为空
  11. 移远M26 GSM实时获取网络时间
  12. 怎么定位前后端问题之-图片显示不出来显示空白等
  13. vs2013 qt5.6.3安装
  14. Compass实战 站内搜索
  15. 虚幻C++入门个人笔记(4)——UMG、网络
  16. Java身份证校验算法
  17. vue项目无法启动,谷歌浏览器报:您与此网站之间建立的连接不安全,实际是cdn服务器过期
  18. 【组织架构】中国铁路上海局集团有限公司
  19. 苹果浏览器之简单应用
  20. mysql中查找出生日期_如何在MySQL中根据出生日期记录显示日期名称?

热门文章

  1. 后端:微信支付(小程序)
  2. 倾斜摄影当中重叠度、传感器尺寸、焦距等参数问题梳理
  3. 集线器Hub、交换机Switch 和 路由器Router 的区别
  4. 自动调度属于计算机领域的,调度自动化
  5. 【小技巧】2345——劫持浏览器主页(Chrome、Edge)
  6. 计算机专业野外考察,野外考察--生存技能
  7. 如何设计群发系统消息表
  8. 在web中打开SVG格式文件
  9. TFT-LCD液晶显示器的工作原理
  10. 2008年会不会是Linux的桌面年