一種卡頓識別方法、裝置及計算設備的制造方法
【專利摘要】本發明公開了一種卡頓識別方法、裝置及計算設備,其中卡頓識別方法適于在計算設備中執行,該方法包括以下步驟:根據預設的錄屏時長對移動終端的測試過程進行錄屏;將錄屏獲得的視頻文件導出至計算設備;按照預設的時間間隔,對所述視頻文件進行取幀處理形成圖片;分析相鄰的兩張圖片的相似度;如果所述相似度均大于相似度閾值,則判斷出現卡頓,執行卡頓處理。
【專利說明】
一種卡頓識別方法、裝置及計算設備
技術領域
[0001] 本發明涉及移動終端領域,特別涉及一種卡頓識別方法、裝置及計算設備。
【背景技術】
[0002] 隨著移動互聯網技術和移動終端技術的蓬勃發展,智能手機、平板電腦等移動終 端得到廣泛使用,其功能更加豐富,支持的應用也更為多樣化。用戶對移動終端的性能要求 也隨之越來越高,特別是運行流暢度方面,已成為用戶衡量性能是否具有優越性的一項重 要指標。
[0003] 然而,眾多的應用在使用時占據了較多的系統資源,導致移動終端易出現卡頓現 象。目前,識別移動終端卡頓的技術方案多分為三類。一類是測試人員進行手動操作,人為 判斷是否存在卡頓,但該方法不僅難以避免人工誤差,主觀性太強,還耗費時間和人力資 源。另一類是使用高速相機等硬件設備或工具來捕抓移動終端的當前頁面,并對捕抓到的 多個頁面進行分析對比來判斷,但該方法中測試效率較低,且花銷較高,過于昂貴。還有一 類是通過移動終端的系統中的FPS值來衡量判斷,雖較易實現,但系統本身的數據可靠性尚 不足以信賴。
【發明內容】
[0004] 為此,本發明提供一種卡頓識別的方案,以力圖解決或者至少緩解上面存在的問 題。
[0005] 根據本發明的一個方面,提供一種卡頓識別的方法,適于在計算設備中執行,計算 設備適于與作為被測試設備的移動終端連接并對移動終端在測試過程中的卡頓進行識別, 該方法包括如下步驟。首先,根據預設的錄屏時長對移動終端的測試過程進行錄屏;將錄屏 獲得的視頻文件導出至計算設備;按照預設的時間間隔,對視頻文件進行取幀處理形成圖 片;分析相鄰的兩張圖片的相似度;如果相似度均大于相似度閾值,則判斷出現卡頓,執行 卡頓處理。
[0006] 可選地,在根據本發明的卡頓識別方法中,按照預設的時間間隔,對視頻文件進行 取幀處理形成圖片包括:獲取待取幀處理的視頻文件的幀數,幀數為錄屏時長內的視頻文 件所包含的圖像數量;根據幀數、錄屏時長和時間間隔計算出對視頻文件取幀的取幀間隔; 按照取幀間隔對視頻文件包含的各幀圖像進行取幀處理;將取幀處理后選出的各幀圖像保 存為圖片。
[0007] 可選地,在根據本發明的卡頓識別方法中,按照取幀間隔對視頻文件包含的各幀 圖像進行取幀處理包括:獲取視頻文件包含的各幀圖像;對各幀圖像按錄屏的時間順序進 行按序編號;選出上述編號能被取幀間隔整除的圖像;對選出的各幀圖像按錄屏的時間順 序重新按序編號。
[0008] 可選地,在根據本發明的卡頓識別方法中,分析相鄰的兩張圖片的相似度包括:將 相鄰的兩張圖片轉化成預設尺寸的圖片;將轉化后的圖片劃分成大小相等的多個圖片塊; 計算上述兩張圖片對應位置上的圖片塊的直方圖;根據直方圖計算相鄰的兩張圖片的相似 度。
[0009] 可選地,在根據本發明的卡頓識別方法中,相似度閾值為95%~100%。
[0010] 可選地,在根據本發明的卡頓識別方法中,相似度閾值為99%。
[0011] 可選地,在根據本發明的卡頓識別方法中,執行卡頓處理包括保存相似度分析數 據和系統日志。
[0012] 可選地,在根據本發明的卡頓識別方法中,如果相似度未均大于相似度閾值,則判 斷未出現卡頓,并從計算設備中刪除視頻文件。
[0013] 可選地,在根據本發明的卡頓識別方法中,根據預設的錄屏時長對移動終端的測 試過程進行錄屏之前,包括執行自動化測試腳本開始測試。
[0014] 根據本發明的又一個方面,提供一種卡頓識別裝置,適于駐留在計算設備中,計算 設備適于與作為被測試設備的移動終端連接并對移動終端在測試過程中的卡頓進行識別。 該裝置包括錄屏模塊、導出模塊、取幀模塊、分析模塊和卡頓處理模塊。其中,錄屏模塊,適 于根據預設的錄屏時長對移動終端的測試過程進行錄屏;導出模塊,適于將錄屏獲得的視 頻文件導出至計算設備;取幀模塊,適于按照預設的時間間隔,對視頻文件進行取幀處理形 成圖片;分析模塊,適于分析相鄰的兩張圖片的相似度;卡頓處理模塊,適于當相似度均大 于相似度閾值時,判斷出現卡頓,執行卡頓處理。
[0015] 可選地,在根據本發明的卡頓識別裝置中,取幀模塊包括:獲取單元,適于獲取待 取幀處理的視頻文件的幀數,幀數為錄屏時長內的視頻文件所包含的圖像數量;第一計算 單元,適于根據幀數、錄屏時長和時間間隔計算出對視頻文件取幀的取幀間隔;取幀處理單 元,適于按照取幀間隔對視頻文件包含的各幀圖像進行取幀處理;保存單元,適于將取幀處 理后選出的各幀圖像保存為圖片。
[0016] 可選地,在根據本發明的卡頓識別裝置中,取幀處理單元進一步適于:獲取視頻文 件包含的各幀圖像;對各幀圖像按錄屏的時間順序進行按序編號;選出上述編號能被取幀 間隔整除的圖像;對選出的各幀圖像按錄屏的時間順序重新按序編號。
[0017] 可選地,在根據本發明的卡頓識別裝置中,分析模塊包括:轉化單元,適于將相鄰 的兩張圖片轉化成規格一致的圖片;劃分單元,適于將轉化后的圖片劃分成大小相等的多 個圖片塊;第二計算單元,適于計算上述兩張圖片對應位置上的圖片塊的直方圖;第三計算 單元,適于根據直方圖計算相鄰的兩張圖片的相似度。
[0018]可選地,在根據本發明的卡頓識別裝置中,相似度閾值為95%~100%。
[0019]可選地,在根據本發明的卡頓識別裝置中,相似度閾值為99%。
[0020] 可選地,在根據本發明的卡頓識別裝置中,卡頓處理模塊進一步適于保存相似度 分析數據和系統日志。
[0021] 可選地,在根據本發明的卡頓識別裝置中,包括刪除模塊,適于當相似度未均大于 相似度閾值時,判斷未出現卡頓,并從計算設備中刪除視頻文件。
[0022] 可選地,在根據本發明的卡頓識別裝置中,包括腳本執行模塊,適于執行自動化測 試腳本開始測試。
[0023] 根據本發明的又一個方面,還提供一種計算設備,包括根據本發明的卡頓識別裝 置。
[0024] 根據本發明的卡頓識別的技術方案,首先對移動終端的測試過程進行錄屏,并將 獲得的視頻文件導出至計算設備,按照預設的時間間隔對視頻文件進行取幀處理形成圖 片,分析相鄰兩張圖片的相似度,若相似度均大于相似度閾值,則判斷出現卡頓并執行卡頓 處理。上述技術方案中,對測試過程進行錄屏,進而對視頻文件取幀獲得的圖片進行相似度 分析來識別卡頓,一方面可以在測試過程中保持了現場錄屏數據,另一方面也實現了移動 終端卡頓識別的量化處理,極大地提高了測試效率。而且一旦出現卡頓現象,通過執行卡頓 處理來保存分析數據和系統日志,便于輔助后續的研發工作,還避免了人力和設備的浪費。
【附圖說明】
[0025] 為了實現上述以及相關目的,本文結合下面的描述和附圖來描述某些說明性方 面,這些方面指示了可以實踐本文所公開的原理的各種方式,并且所有方面及其等效方面 旨在落入所要求保護的主題的范圍內。通過結合附圖閱讀下面的詳細描述,本公開的上述 以及其它目的、特征和優勢將變得更加明顯。遍及本公開,相同的附圖標記通常指代相同的 部件或元素。
[0026] 圖1示出了根據本發明的一個實施例的計算設備100的示意圖;
[0027] 圖2示出了根據本發明一個實施例的卡頓識別方法200的流程圖;以及 [0028]圖3示出了根據本發明的一個實施例的卡頓識別裝置300的示意圖。
【具體實施方式】
[0029] 下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開 的示例性實施例,然而應當理解,可以以各種形式實現本公開而不應被這里闡述的實施例 所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠將本公開的范圍 完整的傳達給本領域的技術人員。
[0030] 圖1是示例計算設備100的框圖。在基本的配置102中,計算設備100典型地包括系 統存儲器106和一個或者多個處理器104。存儲器總線108可以用于在處理器104和系統存儲 器106之間的通信。
[0031] 取決于期望的配置,處理器104可以是任何類型的處理,包括但不限于:微處理器 ((此)、微控制器(yc)、數字信息處理器(DSP)或者它們的任何組合。處理器104可以包括諸 如一級高速緩存110和二級高速緩存112之類的一個或者多個級別的高速緩存、處理器核心 114和寄存器116。示例的處理器核心114可以包括運算邏輯單元(ALU)、浮點數單元(FPU)、 數字信號處理核心(DSP核心)或者它們的任何組合。示例的存儲器控制器118可以與處理器 104-起使用,或者在一些實現中,存儲器控制器118可以是處理器104的一個內部部分。
[0032] 取決于期望的配置,系統存儲器106可以是任意類型的存儲器,包括但不限于:易 失性存儲器(諸如RAM)、非易失性存儲器(諸如R0M、閃存等)或者它們的任何組合。系統存儲 器106可以包括操作系統120、一個或者多個應用122以及程序數據124。在一些實施方式中, 應用122可以布置為在操作系統上利用程序數據124進行操作。
[0033] 計算設備100還可以包括有助于從各種接口設備(例如,輸出設備142、外設接口 144和通信設備146)到基本配置102經由總線/接口控制器130的通信的接口總線140。示例 的輸出設備142包括圖形處理單元148和音頻處理單元150。它們可以被配置為有助于經由 一個或者多個A/V端口 152與諸如顯示器或者揚聲器之類的各種外部設備進行通信。示例外 設接口 144可以包括串行接口控制器154和并行接口控制器156,它們可以被配置為有助于 經由一個或者多個I/O端口 158和諸如輸入設備(例如,鍵盤、鼠標、筆、語音輸入設備、觸摸 輸入設備)或者其他外設(例如打印機、掃描儀等)之類的外部設備進行通信。示例的通信設 備146可以包括網絡控制器160,其可以被布置為便于經由一個或者多個通信端口 164與一 個或者多個其他計算設備162通過網絡通信鏈路的通信。
[0034] 網絡通信鏈路可以是通信介質的一個示例。通信介質通常可以體現為在諸如載波 或者其他傳輸機制之類的調制數據信號中的計算機可讀指令、數據結構、程序模塊,并且可 以包括任何信息遞送介質。"調制數據信號"可以這樣的信號,它的數據集中的一個或者多 個或者它的改變可以在信號中編碼信息的方式進行。作為非限制性的示例,通信介質可以 包括諸如有線網絡或者專線網絡之類的有線介質,以及諸如聲音、射頻(RF)、微波、紅外 (IR)或者其它無線介質在內的各種無線介質。這里使用的術語計算機可讀介質可以包括存 儲介質和通信介質二者。
[0035] 計算設備100可以實現為小尺寸便攜(或者移動)電子設備的一部分,這些電子設 備可以是諸如蜂窩電話、個人數字助理(PDA)、個人媒體播放器設備、無線網絡瀏覽設備、個 人頭戴設備、應用專用設備、或者可以包括上面任何功能的混合設備。計算設備1〇〇還可以 實現為包括桌面計算機和筆記本計算機配置的個人計算機。在一些實施例中,計算設備100 被配置為執行根據本發明的卡頓識別方法。應用122包括根據本發明的卡頓識別裝置300。 [0036]圖2示出了根據本發明一個實施例的卡頓識別方法200的流程圖。卡頓識別方法 200適于在計算設備(例如圖1所示的計算設備100)中執行。
[0037]移動終端例如智能手機、平板電腦等,在出廠之前會對其運行的流暢度進行測試, 例如發送數條SMS或者MMS以驗證其收發成功率以及穩定性、連續進行多次呼叫、多次對文 件系統進行添加或刪除操作、多任務多進程情況下的沖突測試以及極限測試,通過計算設 備與被測試移動終端連接,進行移動終端的卡頓識別。
[0038]目前,Android系統的應用最為廣泛,基于Android系統開發的各類軟件也不勝枚 舉。以下以Android系統為例描述本發明的技術方案。首先,以Android系統為基礎對預先收 集產生卡頓現象的主要場景設計相應的測試用例。其中,卡頓現象絕大多數出現在對文件、 CPU和內存的頻繁碎片式的操作切換后,對界面或列表進行滑動,或是對應用進行啟動和切 換等操作過程中。根據上述測試用例中的操作步驟和順序用腳本語言描述出來,生成自動 化測試腳本。通過在計算設備中運行測試腳本,對與計算設備如PC端連接的移動終端的運 行過程中的卡頓進行識別。
[0039] 如圖2所示,方法200始于步驟S210。在步驟S210開始之前,執行自動化測試腳本開 始測試。在步驟S210中,根據預設的錄屏時長對移動終端的測試過程進行錄屏。在本實施例 中,錄屏時長預設為3秒,通過調用adb命令來對移動終端的測試過程進行錄屏,該adb命令 可表不為adb shell screenrecord-time-limit 3/sdcard/demo.mp4,意思為對移動終端 錄屏3秒,錄制的視頻格式為MP4,視頻文件的名稱為demo,且保存在sd卡的根目錄下。同時, 在錄屏完成后通過變量RecordedListl來記錄下錄制好的視頻文件的名稱demo。
[0040]隨后,在步驟S220中,將錄屏獲得的視頻文件導出至計算設備。在本實施例中,通 過調用adb命令來實現視頻的導出,該adb命令可表示為adb pul 1/sdcard/demo.mp4D: /,表 明名稱為demo的視頻文件已導出至計算設備中D盤的根目錄下。在視頻導出至計算設備后, 將視頻文件名稱demo存儲在RecordedList2中,并將存儲在RecordedListl中的視頻文件名 稱demo刪除,表明該視頻已成功導出。換言之,在視頻導出過程中會一直檢測 RecordedListl中是否有值,即是否有視頻文件的名稱記錄。如果有,則繼續導出視頻文件, 并將已導出的視頻文件的名稱存儲在RecordedList2中,而從RecordedListl中刪除;如果 沒有,則執行等待處理,直至RecordedListl中再次出現新的視頻文件的名稱。
[0041]在步驟S230中,按照預設的時間間隔,對視頻文件進行取幀處理形成圖片。在對視 頻文件進行取幀處理前,檢測RecordedList2中是否存在視頻文件的名稱記錄。在本實施例 中,檢測到視頻文件的名稱為demo的記錄,貝lj通過Python中的OpenCV和PIL庫對導出的視頻 文件進行取幀分析,并將存儲在RecordedList2中的視頻文件名稱demo刪除。實際上,該視 頻文件是通過連續播放錄屏獲得的多幀圖像而形成的動態播放過程。對視頻文件進行取幀 處理,即是將視頻中的每一幀圖像按照預設的時間間隔取出,從而將其保存以形成待分析 的靜態的圖片。
[0042]首先,獲取待取幀處理的視頻文件幀數,幀數為錄屏時長內的視頻文件所包含的 圖像數量。幀數與錄屏的時長及幀率有關,幀率是用于測量顯示幀數的量度,以每秒顯示幀 數(Frames per Second)來衡量。錄屏時的幀率即為移動終端的實時屏幕顯示幀率,在本實 施例中,幀率為60fps,則錄屏時長為3秒、幀率為60fps的視頻文件包含180幀圖像。預設的 時間間隔為50毫秒,根據幀數、錄屏時長和時間間隔計算出對視頻取幀的間隔,即取幀間隔 =幀數/(錄屏時長/時間間隔),將數值帶入得出取幀間隔為3,單位為幀,表明每3幀取其中 最后1幀圖像保存作為待分析的圖片。通過函數cv2. VideoCapture (videoPath)對視頻文件 取幀,其中videoPath表示視頻文件的存儲路徑。接下來,按照取幀間隔對視頻文件包含的 各幀圖像進行取幀處理。先獲取視頻文件包含的各幀圖像,再對各幀圖像按錄屏的時間順 序進行按序編號,即對獲取的180幀圖像按錄屏的時間順序進行從1~180的按序編號。選出 上述編號能被取幀間隔整除的圖像,并對選出的各幀圖像按錄屏的時間順序重新按序編 號,則將編號為3、6、9、……、177、180的圖像選出后進行時間上的重新排序,將其編號對應 更新為1、2、3、……、59、60。最后,將上述編號為1~60的各幀圖片保存為圖片用于后期的相 似度分析。關鍵代碼如下所示: vcap = cv2.VideQ€apture(videQPath) similarity_list =[] pc = 1 e = 1 f= int(round(float(frameC(mnt)/(videoTime*10()0/ftime),())) while (vcap.isOpened〇):
[0043] ret, frame = vcap.read() if frame==None: break if(fb%f== 0): cv2.inivvril:e('iiTiage/' + str(pc) + 'JPG', frame) pc = pc + 1 fc = fc + 1
[0044] 在步驟S240中,分析相鄰的兩張圖片的相似度。在本實施例中,先對在步驟S230中 獲得的60張待分析的圖片按編號順序以圖片1、圖片2、……、圖片60表示,再依次對相鄰兩 張圖片的相似度進行分析。首先,將相鄰的兩張圖片轉化為預設尺寸的圖片。其中,預設尺 寸為256X256像素,則先將圖片1和圖片2轉化成256X256像素的統一規格的圖片。其次,將 轉化后的圖片劃分成大小相等的多個圖片塊,即將轉化后的圖片1和圖片2劃分成4X4的16 個大小相等的圖片塊,各圖片塊的尺寸均為64X64像素,并按照從左至右、從上至下的順序 逐一編號,則圖片1中的16個圖片塊依次表示為圖片1-1、圖片1-2、……、圖片1-15、圖片1-16,圖片2中的16個圖片塊依次表示為圖片2-1、圖片2-2、……、圖片2-15、圖片2-16。隨后, 計算上述兩張圖片對應位置上的圖片塊的直方圖,即調用PIL庫中的img.histogramO函數 分別計算圖片1-1和圖片2-1、圖片1-2和圖片2-2、……、圖片1-15和圖片2-15、圖片1-16和 圖片2-16的直方圖。最后,根據直方圖計算相鄰的兩張圖片的相似度,即根據圖片1-1和圖 片2-1的直方圖計算出圖片1-1和圖片2-1的相似度,根據圖片1-2和圖片2-2的直方圖計算 出圖片1-2和圖片2-2的相似度,以此類推,直至根據圖片1-16和圖片2-16的直方圖計算出 圖片1-16和圖片2-16的相似度,并將獲得的16個相似度的值取均值作為圖片1和圖片2的相 似度。此時,圖片的相似度計算轉化成為直方圖的距離計算,在本實施例中依照如下公式進 行直方圖相似度的定量度量:
[0046]式中,G,S為相鄰圖片的直方圖,gn為顏色空間G第n個樣點對應的直方圖數據,~為 顏色空間S第n個樣點對應的直方圖數據,N為顏色空間樣點數,通常取值為768。這是因為對 于PIL庫而言,其為RGB模式的圖片計算的直方圖樣點數為768,計算量并不算太大,因此可 不進行降維處理而直接使用。獲得圖片1和圖片2的相似度后,繼續對后續圖片進行處理,即 分別對圖片2和圖片3、圖片3和圖片4、……、圖片58和圖片59、圖片59和圖片60上述相鄰的 兩張圖片進行相似度計算。關鍵代碼如下所示: def inake_regular_image(img, size=(256, 256)): return img.resize(size).convert('RGB')
[0047] def split_image(img, part_size=(64, 64)): w, h = img.size pw, ph = part-size return [img.crop((i, j, i + pw. j + ph)).copy() / for i in xrange(0, w, pw) / for j in xrange(0, h, ph)] def hist_similar(lh? rh): return sum( 1 - (0 if 1 == r else float(abs(! - r)) / max(i. r)) for 1, r in zip(lh, rh)) / len(!h)
[0048] def calc_iraage_similar(lf, rl): li, ri = make regular_ image(Iinage.open(!f)). make regular_image(Iinage. open(ff)) siinilarity==sum(hist_siinilar(!.histograin(), r.histogram()) for 1, r in zip (sp lit」mage(li), split-image(ri)))/i 6.0 return roundlsimilarity* 100,2)
[0049]在步驟S250中,如果相似度均大于相似度閾值,則判斷出現卡頓,執行卡頓處理。 其中,卡頓處理包括保存相似度分析數據和系統日志。在本實施例中,由步驟S240計算得出 圖片1~60中相鄰兩張圖片的相似度在99.17%~99.68%的范圍內波動,均大于預設的相 似度閾值99%,說明出現卡頓現象,執行卡頓處理。而在本發明的又一實施例中,通過步驟 S240計算得出的圖片1~60中相鄰兩張圖片的相似度未均大于相似度閾值99%,則判斷未 出現卡頓,并從計算設備中將視頻文件demo刪除。
[0050]圖3示出了根據本發明一個實施例的卡頓識別裝置300的示意圖。該裝置包括:錄 屏模塊310、導出模塊320、取幀模塊330、分析模塊340和卡頓處理模塊350。該裝置還包括刪 除模塊和腳本執行模塊(圖中均未示出),刪除模塊位于卡頓處理模塊350之后,適于當相似 度未均大于相似度閾值時,判斷未出現卡頓,并從計算設備中刪除視頻文件。腳本執行模塊 位于錄屏模塊310之前,適于執行自動化測試腳本開始測試。
[0051] 錄屏模塊310適于根據預設的錄屏時長對移動終端的測試過程進行錄屏。在本實 施例中,預設的錄屏時長為3秒,對測試過程錄屏后獲得的視頻文件名稱為demo。
[0052] 導出模塊320適于將錄屏獲得的視頻文件導出至計算設備。在本實施例中,通過 adb pull命令將視頻文件demo導出至計算設備中。
[0053]取幀模塊330適于按照預設的時間間隔,對視頻文件進行取幀處理形成圖片。具體 地,取幀模塊330包括獲取單元331,適于獲取待取幀處理的視頻文件的幀數,幀數為錄屏時 長內的視頻文件所包含的圖像數量;第一計算單元332,適于根據幀數、錄屏時長和時間間 隔計算出對視頻文件取幀的取幀間隔;取幀處理單元333,適于按照取幀間隔對視頻文件包 含的各幀圖像進行取幀處理;保存單元334,適于將取幀處理后選出的各幀圖像保存為圖 片。其中,取幀處理單元333進一步適于獲取視頻文件包含的各幀圖像;對各幀圖像按錄屏 的時間順序進行按序編號;選出上述編號能被取幀間隔整除的圖像;對選出的各幀圖像按 錄屏的時間順序重新按序編號。在本實施例中,預設的時間間隔為50毫秒,對視頻文件demo 進行取幀處理后形成了圖片1~60共計60張圖片。
[0054]分析模塊340適于分析相鄰的兩張圖片的相似度。具體地,分析模塊340包括將相 鄰的兩張圖片轉化成規格一致的圖片的轉化單元341,將轉化后的圖片劃分成大小相等的 多個圖片塊的劃分單元342,計算上述兩張圖片對應位置上的圖片塊的直方圖的第二計算 單元343以及根據直方圖計算相鄰的兩張圖片的相似度的第三計算單元344。
[0055] 卡頓處理模塊350適于當相似度均大于相似度閾值時,判斷出現卡頓,執行卡頓處 理。其中,相似度閾值為95%~100%。相似度閾值還可以為99%。卡頓處理模塊350進一步 適于保存相似度分析數據和系統日志。在本實施例中,對圖片1~60中相鄰兩張圖片的相似 度計算得到的結果在99.17%~99.68%的范圍內波動,均大于相似度閾值99%,說明出現 了卡頓,執行卡頓處理。
[0056] 關于卡頓識別的具體步驟以及實施例,在基于圖2的描述中已經詳細公開,此處不 再贅述。
[0057] 在現有的卡頓識別方法中,往往在測試后整理數據時才能體現結果,不便保留和 復現卡頓現象,還可能在識別卡頓時因人工誤差、設備和系統數據可靠性等降低測試結果 的準確性和效率。根據本發明實施例的卡頓識別技術方案,首先對移動終端的測試過程進 行錄屏,并將獲得的視頻文件導出至計算設備,按照預設的時間間隔對視頻文件進行取幀 處理形成圖片,分析相鄰兩張圖片的相似度,若相似度均大于相似度閾值,則判斷出現卡頓 并執行卡頓處理。上述技術方案中,對測試過程進行錄屏,進而對視頻文件取幀獲得的圖片 進行相似度分析來識別卡頓,不僅在測試過程中保持了現場錄屏數據,還實現了移動終端 卡頓識別的量化處理,提高了測試效率。而且一旦出現卡頓現象,通過執行卡頓處理來保存 分析數據和系統日志,便于輔助后續程序的維護和修復,節省了監測儀器的資源投入,避免 人力資源的浪費。
[0058] A9.如A1-4中任一項所述的方法,所述根據預設的錄屏時長對移動終端的測試過 程進行錄屏之前,包括執行自動化測試腳本開始測試。
[0059] B11.如B10所述的裝置,所述取幀模塊包括:
[0060]獲取單元,適于獲取待取幀處理的視頻文件的幀數,所述幀數為錄屏時長內的視 頻文件所包含的圖像數量;
[0061] 第一計算單元,適于根據幀數、錄屏時長和時間間隔計算出對視頻文件取幀的取 幀間隔;
[0062] 取幀處理單元,適于按照所述取幀間隔對視頻文件包含的各幀圖像進行取幀處 理;
[0063] 保存單元,適于將取幀處理后選出的各幀圖像保存為圖片。
[0064] B12.如B11所述的裝置,所述取幀處理單元進一步適于:
[0065] 獲取所述視頻文件包含的各幀圖像;
[0066] 對各幀圖像按錄屏的時間順序進行按序編號;
[0067] 選出上述編號能被取幀間隔整除的圖像;
[0068] 對所述選出的各幀圖像按錄屏的時間順序重新按序編號。
[0069] B13.如B10所述的裝置,所述分析模塊包括:
[0070] 轉化單元,適于將相鄰的兩張圖片轉化成規格一致的圖片;
[0071] 劃分單元,適于將所述轉化后的圖片劃分成大小相等的多個圖片塊;
[0072] 第二計算單元,適于計算上述兩張圖片對應位置上的圖片塊的直方圖;
[0073] 第三計算單元,適于根據所述直方圖計算相鄰的兩張圖片的相似度。
[0074] B14.如B10-13中任一項所述的裝置,其中所述相似度閾值為95%~100%。
[0075] B15.如B14所述的裝置,其中所述相似度閾值為99%。
[0076] B16.如B10-13中任一項所述的裝置,所述卡頓處理模塊進一步適于保存相似度分 析數據和系統日志。
[0077] B17.如B10-13中任一項所述的裝置,包括刪除模塊,適于當所述相似度未均大于 相似度閾值時,判斷未出現卡頓,并從計算設備中刪除所述視頻文件。
[0078] B18.如B10-13中任一項所述的裝置,包括腳本執行模塊,適于執行自動化測試腳 本開始測試。
[0079] 在此處所提供的說明書中,說明了大量具體細節。然而,能夠理解,本發明的實施 例可以在沒有這些具體細節的情況下被實踐。在一些實例中,并未詳細示出公知的方法、結 構和技術,以便不模糊對本說明書的理解。
[0080] 類似地,應當理解,為了精簡本公開并幫助理解各個發明方面中的一個或多個,在 上面對本發明的示例性實施例的描述中,本發明的各個特征有時被一起分組到單個實施 例、圖、或者對其的描述中。然而,并不應將該公開的方法解釋成反映如下意圖:即所要求保 護的本發明要求比在每個權利要求中所明確記載的特征更多特征。更確切地說,如下面的 權利要求書所反映的那樣,發明方面在于少于前面公開的單個實施例的所有特征。因此,遵 循【具體實施方式】的權利要求書由此明確地并入該【具體實施方式】,其中每個權利要求本身都 作為本發明的單獨實施例。
[0081] 本領域那些技術人員應當理解在本文所公開的示例中的設備的模塊或單元或組 件可以布置在如該實施例中所描述的設備中,或者可替換地可以定位在與該示例中的設備 不同的一個或多個設備中。前述示例中的模塊可以組合為一個模塊或者此外可以分成多個 子模塊。
[0082]本領域那些技術人員可以理解,可以對實施例中的設備中的模塊進行自適應性地 改變并且把它們設置在與該實施例不同的一個或多個設備中。可以把實施例中的模塊或單 元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或 子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何 組合對本說明書(包括伴隨的權利要求、摘要和附圖)中公開的所有特征以及如此公開的任 何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權 利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代 替。
[0083]此外,本領域的技術人員能夠理解,盡管在此所述的一些實施例包括其它實施例 中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發明的 范圍之內并且形成不同的實施例。例如,在下面的權利要求書中,所要求保護的實施例的任 意之一都可以以任意的組合方式來使用。
[0084]此外,所述實施例中的一些在此被描述成可以由計算機系統的處理器或者由執行 所述功能的其它裝置實施的方法或方法元素的組合。因此,具有用于實施所述方法或方法 元素的必要指令的處理器形成用于實施該方法或方法元素的裝置。此外,裝置實施例的在 此所述的元素是如下裝置的例子:該裝置用于實施由為了實施該發明的目的的元素所執行 的功能。
[0085]如在此所使用的那樣,除非另行規定,使用序數詞"第一"、"第二"、"第三"等等來 描述普通對象僅僅表示涉及類似對象的不同實例,并且并不意圖暗示這樣被描述的對象必 須具有時間上、空間上、排序方面或者以任意其它方式的給定順序。
[0086]盡管根據有限數量的實施例描述了本發明,但是受益于上面的描述,本技術領域 內的技術人員明白,在由此描述的本發明的范圍內,可以設想其它實施例。此外,應當注意, 本說明書中使用的語言主要是為了可讀性和教導的目的而選擇的,而不是為了解釋或者限 定本發明的主題而選擇的。因此,在不偏離所附權利要求書的范圍和精神的情況下,對于本 技術領域的普通技術人員來說許多修改和變更都是顯而易見的。對于本發明的范圍,對本 發明所做的公開是說明性的,而非限制性的,本發明的范圍由所附權利要求書限定。
【主權項】
1. 一種卡頓識別方法,適于在計算設備中執行,所述方法包括: 根據預設的錄屏時長對移動終端的測試過程進行錄屏; 將錄屏獲得的視頻文件導出至計算設備; 按照預設的時間間隔,對所述視頻文件進行取幀處理形成圖片; 分析相鄰的兩張圖片的相似度; 如果所述相似度均大于相似度閾值,則判斷出現卡頓,執行卡頓處理。2. 如權利要求1所述的方法,所述按照預設的時間間隔,對所述視頻文件進行取幀處理 形成圖片包括: 獲取待取幀處理的視頻文件的幀數,所述幀數為錄屏時長內的視頻文件所包含的圖像 數量; 根據幀數、錄屏時長和時間間隔計算出對視頻文件取幀的取幀間隔; 按照所述取幀間隔對視頻文件包含的各幀圖像進行取幀處理; 將取幀處理后選出的各幀圖像保存為圖片。3. 如權利要求2所述的方法,按照所述取幀間隔對視頻文件包含的各幀圖像進行取幀 處理包括: 獲取所述視頻文件包含的各幀圖像; 對各幀圖像按錄屏的時間順序進行按序編號; 選出上述編號能被取幀間隔整除的圖像; 對所述選出的各幀圖像按錄屏的時間順序重新按序編號。4. 如權利要求1所述的方法,所述分析相鄰的兩張圖片的相似度包括: 將相鄰的兩張圖片轉化成預設尺寸的圖片; 將所述轉化后的圖片劃分成大小相等的多個圖片塊; 計算上述兩張圖片對應位置上的圖片塊的直方圖; 根據所述直方圖計算相鄰的兩張圖片的相似度。5. 如權利要求1-4中任一項所述的方法,其中所述相似度閾值為95 %~100 %。6. 如權利要求5所述的方法,其中所述相似度閾值為99 %。7. 如權利要求1-4中任一項所述的方法,其中所述執行卡頓處理包括保存相似度分析 數據和系統日志。8. 如權利要求1-4中任一項所述的方法,還包括: 如果所述相似度未均大于相似度閾值,則判斷未出現卡頓,并從計算設備中刪除所述 視頻文件。9. 一種卡頓識別裝置,適于駐留在計算設備中,所述裝置包括: 錄屏模塊,適于根據預設的錄屏時長對移動終端的測試過程進行錄屏; 導出模塊,適于將錄屏獲得的視頻文件導出至計算設備; 取幀模塊,適于按照預設的時間間隔,對所述視頻文件進行取幀處理形成圖片; 分析模塊,適于分析相鄰的兩張圖片的相似度; 卡頓處理模塊,適于當所述相似度均大于相似度閾值時,判斷出現卡頓,執行卡頓處 理。10. -種計算設備,包括如權利要求9所述的卡頓識別裝置。
【文檔編號】G06K9/62GK105913088SQ201610227030
【公開日】2016年8月31日
【申請日】2016年4月13日
【發明人】潘加旭
【申請人】廈門美圖移動科技有限公司