DVPP(Digital Vision Pre-Processing)是昇腾AI处理器内置的图像处理单元,通过AscendCL媒体数据处理接口提供强大的媒体处理硬加速能力,主要功能包括图像编解码、视频编解码、图像抠图缩放等。

本期就分享几个关于DVPP图片解码问题的典型案例,并给出原因分析及解决方法:

1. 图片格式不支持或图片数据不完整,图片解码失败

2. 图像解码进程超时退出

01 图片格式不支持或图片数据不完整,图片解码失败 

问题现象信息

图片解码失败,查看日志有类似如下报错信息:

日志片段举例1:

Unsupported subsample format, just support jpeg with YUV 444 440 422 420 400
do not support progressive mode
do not support arithmetic code, support huffman code only

日志片段举例2:

EOI segment of the stream is invalid

原因分析

分析上面日志信息,可能存在以下可能原因:

  • 数据格式不支持
  • 图片数据不完整

解决措施

针对上述可能原因,请按以下方式处理:

1、目前不支持的超规格图像格式,建议用户自行使用第三方软件解码。

解码JPEG图片,只支持JPEG图片为huffman编码(colorspace: yuv, subsample: 444/440/422/420/400 ),不支持算术编码,不支持渐进编码,不支持jpeg2000格式。

2、图片数据不完整,根据报错提示,通过第三方软件查看原图像二进制进行确认。

图像缺失最后的EOI结束符,对应图像二进制类似下图所示。正常JPEG图片最后应该由标记码FF D9结束,该数据最后缺失FF D9标记码。

如果确认原图数据不完整,报错属于正常现象,需更换图片。

3、原图像数据完整,可能数据在传输过程中存在损坏,需要在调用图片解码接口前,通过fwrite函数将送入解码接口的的图片码流保存下来,与原JPEG图进行二进制比较。如果不一致,传输过程出现数据缺失,需进一步定位传输过程数据缺失问题后,再重新解码图片。

02 图像解码进程超时退出

问题现象信息

用户进程退出。

查看应用类日志,发现类似ERROR日志“task timeout, userData= ..., timeout=30, duration=…”和WARNING日志“frames statistic: ACL receive(n), send(n-1)”,n表示处理任务数量,需根据实际情况确定。

日志片段举例如下:

[ERROR] AICPU(pid,pName):DateTimeMS [dvpp_timeout_manager.cc:33][OnPulse][tid:2581][DVPP_KERNELS] WaitId[10] task timeout, userData=0xe7ffe0001280, timeout=30, duration=30.930062.
[INFO] AICPU(pid,pName):DateTimeMS [dvpp_kernel_base.cc:222][SendTaskCompleteToTs][tid:2581][DVPP_KERNELS] Send task complete to ts success, taskId=2, streamId=44, errorCode=1.
[WARNING] DVPP(pid,pName):DateTimeMS [JpegdAsyncManager.cpp:405][API] [PrintFrameCount:405] [T208] DFX [JPEGD]: frames statistic: ACL receive(16), send(15)

原因分析

多路并发解码JPEG图片场景下,如果每一路解码的JPEG图片中,都包含带旋转信息的大分辨率图片,例如3840*2160分辨率及以上的图片,则可能导致图片解码时间过长,从而导致用户进程超时退出。

解决措施

1、确定大分辨率的图片是否包含旋转信息。

使用JPEG码流分析工具(例如JPEGsnoop)解析大分辨率的图片,查看其是否包含旋转信息,若Orientation信息为1,则表示不旋转;否则,都带有一定角度的旋转,例如下图解析出来的Orientation信息为8,表示顺时针旋转270°。

2、如果无法更换图片,确定这些图片是带旋转的大分辨率图片,则建议用户先调用第三方库(例如OpenCV)进行解码。

03更多介绍 

[1]昇腾文档中心

[2]昇腾社区在线课程

[3]昇腾论坛

DVPP媒体数据处理图片解码问题案例相关推荐

  1. 昇腾实战丨DVPP媒体数据处理视频解码问题案例

    摘要:本期就分享几个关于DVPP视频解码问题的典型案例,并给出原因分析及解决方法 本文分享自华为云社区<DVPP媒体数据处理视频解码问题案例>,作者:昇腾CANN . DVPP(Digit ...

  2. 【TOP100】100个中国大数据应用最佳实践案例—为您打开万亿元大数据产业的财富之门

    热门下载(点击标题即可阅读) ☞[下载]2015中国数据分析师行业峰会精彩PPT下载(共计21个文件) 2017年3月28日至29日,由工业和信息化部指导.中国信息通信研究院和数据中心联盟主办的&qu ...

  3. ExoPlayer播放器在瑞芯微rk3228CPU播放H264编码格式1080P媒体资源编解码器解码失败问题

    华为E6108V9E部分机顶盒播放H264编码格式1920*1080分辨率媒体资源编解码器解码失败问题总结** 设备信息:华为E6108V9E cpu:rk3228 arm-v7 API19 在使用E ...

  4. 大快搜索城市运河大数据政务管理平台案例解读

    2019独角兽企业重金招聘Python工程师标准>>> 大快搜索城市运河大数据政务管理平台案例解读 大数据在政务当中的应用对于提高问题解决的效率可谓大有帮助,但政务大数据平台的应用开 ...

  5. 备份全网服务器数据生产架构方案案例模型

    备份全网服务器数据生产架构方案案例模型 某公司里有一台web服务器,里面的数据很重要,但是始果硬盘坏了,数据就会丢失,现在领导要求你把数据在其他机器上做一个周期性定时备份,要求如下: 每天晚上00点整 ...

  6. 某银行信用卡中心——大数据反欺诈应用案例 2017-06-23 10:54 本篇案例为数据猿推出的大型“金融大数据主题策划”活动(查看详情)第一部分的系列案例/征文;感谢 百融金服 的投递 作为整体

    某银行信用卡中心--大数据反欺诈应用案例 2017-06-23 10:54 本篇案例为数据猿推出的大型"金融大数据主题策划"活动(查看详情)第一部分的系列案例/征文:感谢 百融金服 ...

  7. 数据中心空调故障案例集(第二季)

    一.蓄冷罐氮封装置故障 故障现象:冬季,某蓄冷罐内出现压力异常告警. 故障原因:环境温度过低,导致隔膜阀被冻结,失去调节作用. 对策:需对隔膜阀进行保温. 氮封装置故障 二.冷机发生喘振 故障现象:冷 ...

  8. python代码学习-数据处理图片加遮挡、噪声、模糊

    python代码学习-数据处理图片加遮挡.噪声.模糊 (一)python代码学习-数据处理图片加遮挡 代码: from matplotlib import pyplot as plt from PIL ...

  9. 【ArcGIS风暴】ArcGIS+CASS点云(.las)数据生成等高线方法案例精解

    本文讲解基于点云LAS数据,在ArcGIS+CASS平台上生成等高线的方法. 扩展阅读: 什么是点云?什么是Las数据集?一篇文章告诉你点云数据的奥秘 ArcGIS+CASS点云(.las)数据生成等 ...

最新文章

  1. python教程课后答案-python程序设计教程课后答案
  2. 新手看看如何发布一个网站
  3. 三天流量有效期具体怎么算_信用证具体的费用怎么算?
  4. Windows创建类似.project只有后缀名的文件的方法
  5. 好看的php提示弹窗,漂亮的jquery提示效果(仿腾讯弹出层)
  6. 电商、快递最后一公里的解决方案
  7. JMS学习(三)ActiveMQ Message Persistence(转)
  8. 2020秋招CV面试知识点汇总
  9. 删除mysql指令_MySQL常用命令学习笔记
  10. 拓端tecdat|新零售消费者特征的数据视野
  11. 【CSON原创】javascript图片滚动效果发布
  12. Java 发送邮件的几种方式
  13. 每一个互联网公司都要掌握的《计算广告》,它是数据与计算的灵魂
  14. 吐血推荐 ▏看完这个我才知道原来PHP应该这样学!大牛的成功是可以复制的(福利派送)
  15. 关于安卓上pcm文件转wav全是噪音解决办法
  16. UOS系统下安装软件打不开的解决方法
  17. ubuntu及shell脚本常用命令入门
  18. 英特尔(中国)架构师夏磊先生一行到访云创
  19. ipad 导入电脑中文件
  20. 判断两条直线是否相交c语言,计算几何-两条线段是否相交(三种算法)

热门文章

  1. Nuxt打包build和generate
  2. 健身房行业研究规划及投资可行性分析
  3. java map求和
  4. 我偏要用360浏览器来看我的QQ空间, 腾讯能拿我咋的?
  5. [转载]人生经典的60句话~慢慢体会~
  6. 利用JS来进行多张图片的压缩、预览、上传
  7. 【python】turtle
  8. 基于89C52的可调电压表设计(简洁版)
  9. android 控制震动强度
  10. 中文繁体和简体相互转换simplified.txt文件