国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      視頻解碼方法與流程

      文檔序號:11732306閱讀:428來源:國知局

      本發(fā)明涉及一種視頻解碼方法。



      背景技術(shù):

      現(xiàn)有技術(shù)中,提升視頻解碼效率通常采用改進算法或改進多核處理器并行處理的方式。然而,現(xiàn)有的多核處理器并行處理的方式通常為幀級并行解碼或宏塊并行解碼的方式,當(dāng)全部都用幀級并行解碼時,若可并行處理的幀的數(shù)量少于cpu的核心數(shù)時,會有cpu閑置的情況;當(dāng)全部都用宏塊并行解碼時,熵解碼需要對數(shù)據(jù)進行連續(xù)操作,不能并行實現(xiàn),至少需要完成當(dāng)前行的熵解碼,才能實現(xiàn)數(shù)據(jù)劃分的宏塊并行解碼,解碼效率也不高。



      技術(shù)實現(xiàn)要素:

      鑒于以上,有必要提供一種提高cpu的使用率及解碼效率的視頻解碼方法。

      一種視頻解碼方法,包括以下步驟:

      a.確認能夠處理視頻幀的處理器的核心的數(shù)目;

      b.根據(jù)視頻幀的類型確認可并行處理的視頻幀的數(shù)目;

      c.判斷可并行處理的視頻幀的數(shù)目是否大于或等于能夠處理視頻幀的處理器的核心的數(shù)目,若可并行處理的視頻幀的數(shù)目大于或等于能夠處理視頻幀的處理器的核心的數(shù)目,進入步驟d,若可并行處理的視頻幀的數(shù)目小于能夠處理視頻幀的處理器的核心的數(shù)目,進入步驟e;

      d.進行幀級并行解碼;

      e.保留一個視頻幀采用宏塊并行解碼,其他視頻幀采用幀級并行解碼。

      一種視頻解碼方法,包括以下步驟:

      a.根據(jù)視頻幀的類型確認可并行處理的視頻幀的數(shù)目;

      b.確認能夠處理視頻幀的處理器的核心的數(shù)目;

      c.判斷可并行處理的視頻幀的數(shù)目是否大于或等于能夠處理視頻幀的處理器的核心的數(shù)目,若可并行處理的視頻幀的數(shù)目大于或等于能夠處理視頻幀的處理器的核心的數(shù)目,進入步驟d,若可并行處理的視頻幀的數(shù)目小于能夠處理視頻幀的處理器的核心的數(shù)目,進入步驟e;

      d.進行幀級并行解碼;

      e.保留一個視頻幀采用宏塊并行解碼,其他視頻幀采用幀級并行解碼。

      該視頻解碼方法根據(jù)可并行處理的視頻幀的數(shù)目與能夠處理視頻幀的處理器的核心數(shù)之間的大小關(guān)系來決定采用不同的并行解碼方法,可以讓所有的處理器的核心都保持使用狀態(tài),不被閑置,且可提高解碼的效率。

      附圖說明

      圖1是本發(fā)明視頻解碼方法的較佳實施方式的流程圖。

      具體實施方式

      請參照圖1,本發(fā)明視頻解碼方法包括如下步驟:

      步驟s1:開始。

      步驟s2:處理器的若干線程等待視頻幀被讀進來。

      步驟s3:判斷是否接收到可以被處理的視頻幀的信號。如果是,進入步驟s4。如果否,回到步驟s2繼續(xù)等待。

      步驟s4:確認能夠處理視頻幀的處理器的核心的數(shù)目。

      步驟s5:根據(jù)視頻幀的類型確認可并行處理的視頻幀的數(shù)目。

      步驟s6:判斷可并行處理的視頻幀的數(shù)目是否大于或等于能夠處理視頻幀的處理器的核心的數(shù)目。如可并行處理的視頻幀的數(shù)目大于或等于能夠處理視頻幀的處理器的核心的數(shù)目,進入步驟s7,如可并行處理的視頻幀的數(shù)目小于能夠處理視頻幀的處理器的核心的數(shù)目,進入步驟s8。

      步驟s7:進行幀級并行解碼,這些視頻幀分配至處理器的線程進行幀級并行解碼。例如,目前有3個視頻幀可并行處理,有3個處理器核心可使用,可分配3個視頻幀至該3個處理器核心進行幀級并行解碼。

      步驟s8:保留一個視頻幀采用宏塊并行解碼,其他視頻幀采用幀級并行解碼。例如,目前有3個視頻幀可并行處理,有4個處理器核心可使用,可分配2個視頻幀至2個處理器核心進行幀級并行解碼,另一個幀分配至另外兩個處理器核心進行宏塊并行解碼。又如,目前只有1個視屏幀可并行處理,有4個處理器核心可使用,將該視頻幀分配至該4個處理器核心進行宏塊并行解碼。

      步驟s9:判斷是否還有未處理的視頻幀。如有,回到步驟s4。如沒有,結(jié)束。

      步驟s10:結(jié)束。

      在上述步驟中,步驟s4和步驟s5的先后順序可以互換,步驟s9判斷如有未處理的視頻幀,回到步驟s4和步驟s5中在先的步驟繼續(xù)確認處理器的使用狀況和可并行處理的視頻幀的數(shù)目。

      下面結(jié)合具體實施例來說明本發(fā)明:

      實施例1:

      開始,處理器的若干線程等待視頻幀被讀進來,接收到可以被處理的視頻幀的信號,讀入視頻幀ipbbpbbpbbibb。確認處理器的使用狀況,確認能夠處理視頻幀的閑置處理器的核心的數(shù)目為4個。4核平臺一次檢查4張視頻幀,讀取第一張視頻幀i,檢查ipbb,發(fā)現(xiàn)第二張是p幀,因為有相依性的關(guān)系,所以直接處理第一張視頻幀i,可處理視頻幀的數(shù)目是1,閑置處理器的核心數(shù)是4,因為可處理的視頻幀的數(shù)目小于能夠處理視頻幀的處理器的核心數(shù),設(shè)定第一張視頻幀i使用宏塊并行解碼。處理完第一張視頻幀i后,讀取第二張視頻幀p,檢查pbbp,發(fā)現(xiàn)第三張是b幀,因為有相依性的關(guān)系,所以直接處理第二張p幀,可處理視頻幀的數(shù)目是1,目前閑置處理器的核心數(shù)是4,因為可處理的視頻幀的數(shù)目小于能夠處理視頻幀的處理器的核心數(shù),設(shè)定第二張視頻幀p使用宏塊并行解碼。處理完第二張視頻幀p后,讀取第三張視頻幀b,檢查bbpb,發(fā)現(xiàn)可以并行處理bbp這三張視頻幀,可處理視頻幀的數(shù)目是3,目前閑置處理器的核心數(shù)是4,因為可處理的視頻幀的數(shù)目小于能夠處理視頻幀的處理器的核心數(shù),選取第一張視頻幀b用宏塊并行解碼,其他兩張視頻幀bp使用幀級并行解碼。處理完第五張視頻幀p后,讀取第六張視頻幀b,檢查bbpb,一樣發(fā)現(xiàn)可以并行處理bbp這三張視頻幀,可處理視頻幀的數(shù)目是3,若確認得到目前閑置處理器的核心數(shù)是4,則使用同上一步的分配方法,選取第六張視頻幀b用宏塊并行解碼,其他兩張視頻幀bp使用幀級并行解碼;若確認得到此時閑置處理器的核心數(shù)是3,可處理的視頻幀的數(shù)目等于能夠處理視頻幀的處理器的核心的數(shù)目,則此三張視頻幀bbp都使用幀級并行解碼。后面繼續(xù)循環(huán)解碼,直至判斷沒有未處理的視頻幀,結(jié)束解碼。

      實施例2:

      開始,處理器的若干線程等待視頻幀被讀進來,接收到可以被處理的視頻幀的信號,讀入視頻幀ipbbpbbpbbibb。確認處理器的使用狀況,確認能夠處理視頻幀的閑置處理器的核心的數(shù)目為2個。2核平臺一次檢查2張視頻幀,讀取第一張視頻幀i,檢查ip,發(fā)現(xiàn)第二張是p幀,因為有相依性的關(guān)系,所以直接處理第一張視頻幀i,可處理視頻幀的數(shù)目是1,閑置處理器的核心數(shù)是2,因為可處理的視頻幀的數(shù)目小于能夠處理視頻幀的處理器的核心數(shù),設(shè)定第一張視頻幀i使用宏塊并行解碼。處理完第一張視頻幀i后,讀取第二張視頻幀p,檢查pb,發(fā)現(xiàn)第三張是b幀,因為有相依性的關(guān)系,所以直接處理第二張p幀,可處理視頻幀的數(shù)目是1,目前閑置處理器的核心數(shù)是2,因為可處理的視頻幀的數(shù)目小于能夠處理視頻幀的處理器的核心數(shù),設(shè)定第二張視頻幀p使用宏塊并行解碼。處理完第二張視頻幀p后,讀取第三張視頻幀b,檢查bb,發(fā)現(xiàn)可以并行處理bb這兩張視頻幀,可處理視頻幀的數(shù)目是2,目前閑置處理器的核心數(shù)是2,因為可處理的視頻幀的數(shù)目等于能夠處理視頻幀的處理器的核心數(shù),設(shè)定此兩張視頻幀bb使用幀級并行解碼。處理完前兩張幀中的任意一幀后,就能讀取第五張視頻幀p,檢查pb,發(fā)現(xiàn)第六張是b幀,因為有相依性的關(guān)系,只能先處理第五張視頻幀p,可處理視頻幀的數(shù)目是1,目前閑置處理器的核心數(shù)也是1,因為可處理的視頻幀的數(shù)目等于能夠處理視頻幀的處理器的核心數(shù),設(shè)定此張視頻幀p使用幀級并行解碼。后面繼續(xù)循環(huán)解碼,直至判斷沒有未處理的視頻幀,結(jié)束解碼。

      當(dāng)前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1