主頁 >  其他 > 昇騰實戰丨DVPP媒體資料處理圖片解碼問題案例

昇騰實戰丨DVPP媒體資料處理圖片解碼問題案例

2023-06-06 16:26:55 其他

摘要:本期就分享幾個關于DVPP圖片解碼問題的典型案例,并給出原因分析及解決方法,

本文分享自華為云社區《DVPP媒體資料處理圖片解碼問題案例》,作者:昇騰CANN ,

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= https://www.cnblogs.com/huaweiyun/p/..., 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=https://www.cnblogs.com/huaweiyun/p/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]昇騰檔案中心:https://www.hiascend.com/zh/document

[2]昇騰社區在線課程:https://www.hiascend.com/zh/edu/courses

[3]昇騰論壇:https://www.hiascend.com/forum

 

點擊關注,第一時間了解華為云新鮮技術~

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/554450.html

標籤:其他

上一篇:電腦縮放例外、顯示亮度無法調整的處理辦法

下一篇:返回列表

標籤雲
其他(160453) Python(38206) JavaScript(25478) Java(18205) C(15237) 區塊鏈(8270) C#(7972) AI(7469) 爪哇(7425) MySQL(7234) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5873) 数组(5741) R(5409) Linux(5347) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4585) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2434) ASP.NET(2403) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) .NET技术(1983) 功能(1967) HtmlCss(1952) Web開發(1951) C++(1932) python-3.x(1918) 弹簧靴(1913) xml(1889) PostgreSQL(1879) .NETCore(1863) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 昇騰實戰丨DVPP媒體資料處理圖片解碼問題案例

    摘要:本期就分享幾個關于DVPP圖片解碼問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《DVPP媒體資料處理圖片解碼問題案例》,作者:昇騰CANN 。 DVPP(Digital Vision Pre-Processing)是昇騰AI處理器內置的影像處理單元,通過AscendCL媒體 ......

    uj5u.com 2023-06-06 16:26:55 more
  • 電腦縮放例外、顯示亮度無法調整的處理辦法

    本文介紹Windows電腦**系統更新**或**重裝系統**后,出現螢屏亮度**最高且無法調整**、電腦**字體變小**等問題的解決方法。 最近更新了**Windows 10 20H2**版本,更新完畢打開電腦后發現,電腦中各類**字體變小**了,仿佛就是從一個普通的筆記本電腦變成了大螢屏電腦。 先 ......

    uj5u.com 2023-06-06 16:25:46 more
  • AI電詐—10分鐘被騙430萬

    ## 前言 最近比較熱門的AI電信詐騙應該是“福州市某科技公司法人代表郭先生10分鐘內被騙430萬元”,詐騙程序如下: 4月20日中午,郭先生的好友突然通過微信視頻聯系他,自己的朋友在外地競標,需要430萬保證金,且需要公對公賬戶過賬,想要借郭先生公司的賬戶走賬。基于對好友的信任,加上已經視頻聊天核 ......

    uj5u.com 2023-06-06 16:25:14 more
  • 2.1 變數與資料型別

    在Python中,變數是用來存盤資料的容器。資料型別是用來規定這些資料的型別,例如整數、浮點數和字串等。接下來我們將詳細了解Python中的變數和一些常見的資料型別。 #### 2.1.1 變數的命名和賦值 變數命名規則: 1. 變數名必須以字母(大寫或小寫)或下劃線(_)開頭,后面可以跟字母、數 ......

    uj5u.com 2023-06-06 16:14:06 more
  • 第三屆陜西省大學生網路安全技能部分WP

    #web ##easyrce 題目代碼如下: ``` 24、m->12、h->7、s->18、e->4、c->2 按照順序位移,數字字符跳過 最后獲得flag: flag(6fc0ea1e6f897033ee0c1fa40915d659} ......

    uj5u.com 2023-06-06 15:55:44 more
  • 頂象無感驗證碼助力京客隆提升數字化運營能力

    電商、社區團購等新興零售業態的沖擊下,線下零售門店面臨著客流量減少、與年輕消費人群需求脫節的增長瓶頸,傳統零售商加速數字化轉型。數字化改變了經濟與社會活動的載體、渠道、技術和效率,讓零售服務活動更加靈活、敏捷、智慧,讓資訊更豐富更多維,設計出更貼近需求的產品和服務。 在數字化轉型和發展中,傳統零售企 ......

    uj5u.com 2023-06-06 15:44:29 more
  • 10.5. 版本控制(如Git)

    版本控制系統(Version Control System,VCS)是軟體開發程序中用于管理源代碼的工具。它可以幫助你跟蹤代碼的變更歷史,方便回滾到之前的版本,以及協同多人共同開發。Git是當前最流行的版本控制系統之一,我們將以Git為例,介紹版本控制的基本概念和操作。 #### 10.5.1. G ......

    uj5u.com 2023-06-06 15:31:30 more
  • OCR -- 文本識別 -- 實踐篇

    [OCR -- 文本識別 -- 理論篇](https://www.cnblogs.com/vipsoft/p/17445583.html) 本章將詳細介紹如何基于PaddleOCR完成CRNN文本識別模型的搭建、訓練、評估和預測。資料集采用 icdar 2015,其中訓練集有4468張,測驗集有20 ......

    uj5u.com 2023-06-06 11:03:24 more
  • k8s實戰案例之部署Zookeeper集群

    zookeeper是一個開源的分布式協調服務,由知名互聯網公司Yahoo創建,它是Chubby的開源實作;換句話講,zookeeper是一個典型的分布式資料一致性解決方案,分布式應用程式可以基于它實作資料的發布/訂閱、負載均衡、名稱服務、分布式協調/通知、集群管理、Master選舉、分布式鎖和分布式... ......

    uj5u.com 2023-06-06 10:49:55 more
  • 9.3. Hibernate框架

    Hibernate是一個開源的持久層框架,它可以幫助我們將Java物件映射到資料庫表中,并實作物件的持久化操作。Hibernate提供了豐富的API,可以方便地進行CRUD(增刪改查)操作,而無需手動撰寫復雜的JDBC代碼。 #### 9.3.1. Hibernate核心組件 Hibernate主要 ......

    uj5u.com 2023-06-06 10:32:05 more