国产精品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>

      處理視頻數(shù)據(jù)的方法和裝置與流程

      文檔序號(hào):11844820閱讀:232來源:國知局
      處理視頻數(shù)據(jù)的方法和裝置與流程

      本發(fā)明實(shí)施例涉及圖像處理領(lǐng)域,更具體地,涉及處理視頻數(shù)據(jù)的方法和裝置。



      背景技術(shù):

      為了節(jié)約網(wǎng)絡(luò)傳輸?shù)膸?,通常?duì)于視頻圖像在發(fā)送端通過編碼器進(jìn)行壓縮編碼后,通過網(wǎng)絡(luò)傳輸給接收端,接收端通過解碼器進(jìn)行解壓縮后恢復(fù)出視頻圖像。該發(fā)送端或者接收端可以為移動(dòng)電話、便攜式電腦、手持式電腦、攝像機(jī)、視頻監(jiān)控設(shè)備等。因此,視頻解碼是將碼流轉(zhuǎn)換為視頻圖像的過程。在解碼端,解碼后的視頻數(shù)據(jù)被存入內(nèi)存,并被進(jìn)一步顯示處理。

      隨著媒體技術(shù)以及網(wǎng)絡(luò)技術(shù)的發(fā)展,以及消費(fèi)者對(duì)視頻圖像清晰度要求的提高,視頻圖像的分辨率逐步從當(dāng)前主流的全高清(Full High Definition,簡稱為“FHD”)過渡到超高清(Ultra High Definition Television,簡稱為“UHD”),未來甚至可能發(fā)展到超超高清(Ultra-Ultra High Definition Television,簡稱為“UUHD”)。隨著視頻分辨率的逐步提高,在做顯示處理之前,解碼后的視頻數(shù)據(jù)所占用的內(nèi)存也會(huì)逐步增加,如何減小解碼后的視頻數(shù)據(jù)對(duì)幀存空間(即存儲(chǔ)解碼后的視頻數(shù)據(jù)幀的內(nèi)存空間)的占用,成為一項(xiàng)亟待解決的問題。



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

      有鑒于此,本發(fā)明實(shí)施例提供了一種處理視頻數(shù)據(jù)的方法和裝置,能夠減小解碼后的視頻數(shù)據(jù)對(duì)幀存空間的占用。

      第一方面,提供了一種處理視頻數(shù)據(jù)的方法,包括:接收第一視頻數(shù)據(jù);對(duì)該第一視頻數(shù)據(jù)進(jìn)行基于第一解碼算法的解碼以獲得第二視頻數(shù)據(jù);對(duì)該第二視頻數(shù)據(jù)進(jìn)行基于第二編碼算法的壓縮以獲得第三視頻數(shù)據(jù);將該第三視頻數(shù)據(jù)存入存儲(chǔ)器;從該存儲(chǔ)器讀取該第三視頻數(shù)據(jù)并對(duì)該第三視頻數(shù)據(jù)進(jìn)行基于與該第二編碼算法對(duì)應(yīng)的第二解碼算法的解碼以獲得第四視頻數(shù)據(jù);對(duì)該第四視頻數(shù)據(jù)進(jìn)行顯示處理得到待顯示數(shù)據(jù)幀;

      其中,該第一視頻數(shù)據(jù)是視頻圖像的碼流,該第二視頻數(shù)據(jù)是該視頻圖像的幀數(shù)據(jù),該第三視頻數(shù)據(jù)包括壓縮頭信息和有效數(shù)據(jù),該有效數(shù)據(jù)包括該視頻圖像的內(nèi)容數(shù)據(jù)。

      在本發(fā)明實(shí)施例中,通過采用第一解碼算法對(duì)接收到的第一視頻數(shù)據(jù)進(jìn)行解碼,生成第二視頻數(shù)據(jù),再采用第二編碼算法對(duì)該第二視頻數(shù)據(jù)進(jìn)行壓縮,生成包括壓縮頭信息和有效數(shù)據(jù)的第三視頻數(shù)據(jù),將該第三視頻數(shù)據(jù)存儲(chǔ)至存儲(chǔ)器,再讀取存儲(chǔ)器中的該第三視頻數(shù)據(jù)并采用與該第二編碼算法對(duì)應(yīng)的第二解碼算法進(jìn)行解碼生成第四視頻數(shù)據(jù),最后對(duì)該第四視頻數(shù)據(jù)進(jìn)行顯示處理,這樣,由于對(duì)解碼后的視頻數(shù)據(jù)進(jìn)行了再次壓縮,能夠減小解碼后的視頻數(shù)據(jù)對(duì)幀存空間的占用,從而有效提高系統(tǒng)性能。

      應(yīng)理解,接收到的第一視頻數(shù)據(jù)是采用了壓縮率過高的編碼算法進(jìn)行壓縮的,不適合直接存儲(chǔ),在本發(fā)明實(shí)施例中需要對(duì)該第一視頻數(shù)據(jù)解碼后進(jìn)行二次壓縮,因此,對(duì)于兩次不同的壓縮所使用的編解碼算法是不同的。

      在第一方面的第一種可能的實(shí)現(xiàn)方式中,該第一解碼算法所對(duì)應(yīng)的第一編碼算法的圖像壓縮率高于該第二編碼算法。

      結(jié)合第一方面的上述可能的實(shí)現(xiàn)方式,在第一方面的第二種可能的實(shí)現(xiàn)方式中,該第一解碼算法的運(yùn)算復(fù)雜度或運(yùn)算耗時(shí)高于該第二編碼算法所對(duì)應(yīng)的該第二解碼算法。

      這樣,由于獲得該第四視頻數(shù)據(jù)的時(shí)間較獲得該第二視頻數(shù)據(jù)的時(shí)間要小,將該第三視頻數(shù)據(jù)存儲(chǔ)至存儲(chǔ)器中,減小了對(duì)內(nèi)存空間的占用的同時(shí),對(duì)第三視頻數(shù)據(jù)解碼獲得該第四視頻數(shù)據(jù)的時(shí)間也不會(huì)很長,與直接將該第一視頻數(shù)據(jù)存儲(chǔ)至該存儲(chǔ)器中相比,能夠較快地讀取出該第四視頻數(shù)據(jù),并對(duì)其執(zhí)行后續(xù)處理,從而提高用戶體驗(yàn)。

      結(jié)合第一方面的上述可能的實(shí)現(xiàn)方式,在第一方面的第三種可能的實(shí)現(xiàn)方式中,該第一解碼算法包括基于有損壓縮的算法。

      結(jié)合第一方面的上述可能的實(shí)現(xiàn)方式,在第一方面的第四種可能的實(shí)現(xiàn)方式中,該第二編碼算法包括基于無損壓縮的算法。

      具體地,數(shù)據(jù)壓縮可以分為兩種類型:無損壓縮和有損壓縮。與有損壓縮相比較,采用無損壓縮可以獲得質(zhì)量更高質(zhì)量的視頻圖像,不會(huì)使圖像細(xì)節(jié)有任何損失,因此,采用無損壓縮可以獲得更高的用戶體驗(yàn)??蛇x地,該無損壓縮算法可以為下列算法中的至少一種:霍夫曼編碼算法、LZW編碼算法、游程編碼算法和算術(shù)編碼算法。

      結(jié)合第一方面的上述可能的實(shí)現(xiàn)方式,在第一方面的第五種可能的實(shí)現(xiàn)方式中,該顯示處理包括圖像后處理,該圖像后處理包括圖像增強(qiáng)、圖像縮放或與顯示設(shè)備對(duì)接處理中的任一項(xiàng)。

      結(jié)合第一方面的上述可能的實(shí)現(xiàn)方式,在第一方面的第六種可能的實(shí)現(xiàn)方式中,在將該第三視頻數(shù)據(jù)存入存儲(chǔ)器之前,該方法還包括:在該存儲(chǔ)器中確定幀存空間,該幀存空間的大小為該第二視頻數(shù)據(jù)的大小,且大于該第三視頻數(shù)據(jù)的大??;將該第三視頻數(shù)據(jù)存入存儲(chǔ)器,包括:將該第三視頻數(shù)據(jù)存入該存儲(chǔ)器的該幀存空間,并釋放該幀存空間中未被占用的空間。

      結(jié)合第一方面的上述可能的實(shí)現(xiàn)方式,在第一方面的第七種可能的實(shí)現(xiàn)方式中,在對(duì)該第一視頻數(shù)據(jù)進(jìn)行基于第一解碼算法的解碼以獲得第二視頻數(shù)據(jù)之后,該方法還包括:將該第二視頻數(shù)據(jù)存儲(chǔ)入該存儲(chǔ)器;對(duì)該第二視頻數(shù)據(jù)進(jìn)行基于第二編碼算法的壓縮以獲得第三視頻數(shù)據(jù),包括:從該存儲(chǔ)器中獲取該第二視頻數(shù)據(jù)并采用該第二編碼算法對(duì)該第二視頻數(shù)據(jù)進(jìn)行壓縮,以獲得該第三視頻數(shù)據(jù);將該第三視頻數(shù)據(jù)存入存儲(chǔ)器,包括:釋放壓縮掉的冗余數(shù)據(jù)所占用的內(nèi)存空間。

      具體地,在對(duì)上述第二視頻數(shù)據(jù)進(jìn)行壓縮時(shí)可以采用在線壓縮,也可以采用離線壓縮,即將該第二視頻數(shù)據(jù)先存儲(chǔ)到存儲(chǔ)器中,在從該存儲(chǔ)器中獲取該第二視頻數(shù)據(jù)進(jìn)行壓縮,本發(fā)明實(shí)施例對(duì)此不作限定。

      在對(duì)視頻數(shù)據(jù)進(jìn)行存儲(chǔ)時(shí),可以采用連續(xù)的物理內(nèi)存和不連續(xù)的物理內(nèi)存兩種存儲(chǔ)方式。

      在離散壓縮且采用連續(xù)的物理內(nèi)存的情況下,需要將壓縮后產(chǎn)生的冗余數(shù)據(jù)釋放掉,從而節(jié)省內(nèi)存空間。在釋放掉該冗余數(shù)據(jù)所占用的內(nèi)存空間后,需要進(jìn)行物理搬移,將后續(xù)所存儲(chǔ)的視頻數(shù)據(jù)依次前移到該冗余數(shù)據(jù)之前所占用的內(nèi)存空間中。

      若采用不連續(xù)的物理內(nèi)存,則可以直接采用內(nèi)存管理單元(Memory Management Unit,簡稱為“MMU”)對(duì)系統(tǒng)內(nèi)存進(jìn)行管理,生成虛擬地址,將不連續(xù)的物理地址映射到連續(xù)的虛擬地址上,在釋放掉該冗余數(shù)據(jù)所占用的內(nèi)存空間后,僅需要改變?cè)形锢淼刂泛吞摂M地址的映射關(guān)系即可。

      結(jié)合第一方面的上述可能的實(shí)現(xiàn)方式,在第一方面的第八種可能的實(shí)現(xiàn)方式中,該存儲(chǔ)器的內(nèi)存空間為不連續(xù)的物理內(nèi)存空間,在將該第三視頻數(shù)據(jù)存入存儲(chǔ)器之后,該方法還包括:確定第一映射關(guān)系,該第一映射關(guān)系用于表示該第三視頻數(shù)據(jù)所占內(nèi)存的物理地址與虛擬地址之間的對(duì)應(yīng)關(guān)系。

      在采用不連續(xù)的物理內(nèi)存的情況下,由MMU對(duì)內(nèi)存統(tǒng)一進(jìn)行管理,這樣,在后續(xù)獲取該內(nèi)存空間的視頻數(shù)據(jù)時(shí),可以根據(jù)該第一映射關(guān)系進(jìn)行獲取。這種存儲(chǔ)方式能夠提高系統(tǒng)內(nèi)存的利用率,有效減少系統(tǒng)碎片的產(chǎn)生。

      第二方面,提供了一種處理視頻數(shù)據(jù)的裝置,用于執(zhí)行上述第一方面或第一方面的任意可能的實(shí)現(xiàn)方式中的方法。具體地,該裝置包括用于執(zhí)行上述第一方面或第一方面的任意可能的實(shí)現(xiàn)方式中的方法的單元。

      第三方面,提供了一種處理視頻數(shù)據(jù)的裝置,該裝置包括:數(shù)據(jù)輸入端,用于接收第一視頻數(shù)據(jù);處理器,用于對(duì)該第一視頻數(shù)據(jù)進(jìn)行基于第一解碼算法的解碼以獲得第二視頻數(shù)據(jù),對(duì)該第二視頻數(shù)據(jù)進(jìn)行基于第二編碼算法的壓縮以獲得第三視頻數(shù)據(jù),將該第三視頻數(shù)據(jù)存入存儲(chǔ)器,從該存儲(chǔ)器讀取該第三視頻數(shù)據(jù),并對(duì)該第三視頻數(shù)據(jù)進(jìn)行基于與該第二編碼算法對(duì)應(yīng)的第二解碼算法的解碼以獲得第四視頻數(shù)據(jù),對(duì)該第四視頻數(shù)據(jù)進(jìn)行顯示處理得到待顯示數(shù)據(jù)幀;

      其中,該第一視頻數(shù)據(jù)是視頻圖像的碼流,該第二視頻數(shù)據(jù)是該視頻圖像的幀數(shù)據(jù),該第三視頻數(shù)據(jù)包括壓縮頭信息和有效數(shù)據(jù),該有效數(shù)據(jù)包括該視頻圖像的內(nèi)容數(shù)據(jù)。

      在本發(fā)明實(shí)施例中,通過采用第一解碼算法對(duì)接收到的第一視頻數(shù)據(jù)進(jìn)行解碼,生成第二視頻數(shù)據(jù),再采用第二編碼算法對(duì)該第二視頻數(shù)據(jù)進(jìn)行壓縮,生成包括壓縮頭信息和有效數(shù)據(jù)的第三視頻數(shù)據(jù),將該第三視頻數(shù)據(jù)存儲(chǔ)至存儲(chǔ)器,再讀取存儲(chǔ)器中的該第三視頻數(shù)據(jù)并采用與該第二編碼算法對(duì)應(yīng)的第二解碼算法進(jìn)行解碼生成第四視頻數(shù)據(jù),最后對(duì)該第四視頻數(shù)據(jù)進(jìn)行顯示處理,這樣,由于對(duì)解碼后的視頻數(shù)據(jù)進(jìn)行了再次壓縮,能夠減小解碼后的視頻數(shù)據(jù)對(duì)內(nèi)存空間的占用,從而有效提高系統(tǒng)性能。

      在第三方面的第一種可能的實(shí)現(xiàn)方式中,該處理器包括:第一處理器,用于對(duì)該第一視頻數(shù)據(jù)進(jìn)行基于該第一解碼算法的解碼以獲得該第二視頻數(shù)據(jù);第二處理器,用于對(duì)該第二視頻數(shù)據(jù)進(jìn)行基于該第二編碼算法的壓縮以獲得該第三視頻數(shù)據(jù),將該第三視頻數(shù)據(jù)存入該存儲(chǔ)器;第三處理器,用于從該存儲(chǔ)器讀取該第三視頻數(shù)據(jù),并對(duì)該第三視頻數(shù)據(jù)進(jìn)行基于與該第二編碼算法對(duì)應(yīng)的該第二解碼算法的解碼以獲得該第四視頻數(shù)據(jù);第四處理器,用于對(duì)該第四視頻數(shù)據(jù)進(jìn)行該顯示處理得到該待顯示數(shù)據(jù)幀。

      結(jié)合第三方面的上述可能的實(shí)現(xiàn)方式,在第三方面的第二種可能的實(shí)現(xiàn)方式中,該處理器用于讀取軟件指令,并在該軟件指令的驅(qū)動(dòng)下執(zhí)行:對(duì)該第一視頻數(shù)據(jù)進(jìn)行基于該第一解碼算法的解碼以獲得該第二視頻數(shù)據(jù),對(duì)該第二視頻數(shù)據(jù)進(jìn)行基于該第二編碼算法的壓縮以獲得該第三視頻數(shù)據(jù),將該第三視頻數(shù)據(jù)存入該存儲(chǔ)器,從該存儲(chǔ)器讀取該第三視頻數(shù)據(jù)并對(duì)該第三視頻數(shù)據(jù)進(jìn)行基于與該第二編碼算法對(duì)應(yīng)的該第二解碼算法的解碼以獲得該第四視頻數(shù)據(jù),對(duì)該第四視頻數(shù)據(jù)進(jìn)行該顯示處理得到該待顯示數(shù)據(jù)幀。

      結(jié)合第三方面的上述可能的實(shí)現(xiàn)方式,在第三方面的第三種可能的實(shí)現(xiàn)方式中,該第一解碼算法所對(duì)應(yīng)的第一編碼算法的圖像壓縮率高于該第二編碼算法。

      結(jié)合第三方面的上述可能的實(shí)現(xiàn)方式,在第三方面的第四種可能的實(shí)現(xiàn)方式中,該第一解碼算法的運(yùn)算復(fù)雜度或運(yùn)算耗時(shí)高于該第二編碼算法所對(duì)應(yīng)的該第二解碼算法。

      結(jié)合第三方面的上述可能的實(shí)現(xiàn)方式,在第三方面的第五種可能的實(shí)現(xiàn)方式中,該第一解碼算法包括基于有損壓縮的算法。

      結(jié)合第三方面的上述可能的實(shí)現(xiàn)方式,在第三方面的第六種可能的實(shí)現(xiàn)方式中,該第二編碼算法包括基于無損壓縮的算法。

      結(jié)合第三方面的上述可能的實(shí)現(xiàn)方式,在第三方面的第七種可能的實(shí)現(xiàn)方式中,該顯示處理包括圖像后處理,該圖像后處理包括圖像增強(qiáng)、圖像縮放或與顯示設(shè)備對(duì)接處理中的任一項(xiàng)。

      結(jié)合第三方面的上述可能的實(shí)現(xiàn)方式,在第三方面的第八種可能的實(shí)現(xiàn)方式中,該處理器還用于:在該存儲(chǔ)器中確定幀存空間,該幀存空間的大小為該第二視頻數(shù)據(jù)的大小,且大于該第三視頻數(shù)據(jù)的大?。粚⒃摰谌曨l數(shù)據(jù)存入該存儲(chǔ)器的該幀存空間,并釋放該幀存空間中未被占用的空間。

      第四方面,提供了一種顯示視頻數(shù)據(jù)的設(shè)備,該設(shè)備包括上述第二方面或第二方面的任一種可能實(shí)現(xiàn)方式中的裝置,還包括上述存儲(chǔ)器以及顯示設(shè)備,其中,該顯示設(shè)備用于顯示該待顯示數(shù)據(jù)幀;

      或者該設(shè)備包括上述第三方面或第三方面的任一種可能實(shí)現(xiàn)方式中的裝置,還包括上述存儲(chǔ)器以及顯示設(shè)備,其中,該顯示設(shè)備用于顯示該待顯示數(shù)據(jù)幀。

      第五方面,提供了一種計(jì)算機(jī)可讀介質(zhì),用于存儲(chǔ)計(jì)算機(jī)程序,該計(jì)算機(jī)程序包括用于執(zhí)行第一方面或第一方面的任意可能的實(shí)現(xiàn)方式中的方法的指令。

      可選地,該指令被上述裝置讀取并運(yùn)行以實(shí)現(xiàn)第一方面或第一方面的任意可能的實(shí)現(xiàn)方式中的方法。具體地,該指令被上述裝置中的數(shù)據(jù)輸入端和處理器分別執(zhí)行,可參照之前任一方面或任一種實(shí)現(xiàn)方式中關(guān)于相關(guān)特征的介紹。

      附圖說明

      為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)本發(fā)明實(shí)施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面所描述的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

      圖1為本發(fā)明實(shí)施例應(yīng)用的系統(tǒng)架構(gòu)示意圖。

      圖2為本發(fā)明實(shí)施例提供的處理視頻數(shù)據(jù)的方法的示意性流程圖。

      圖3為本發(fā)明實(shí)施例提供的MMU內(nèi)存管理技術(shù)的示意圖。

      圖4為本發(fā)明實(shí)施例提供的以宏塊為單位壓縮存儲(chǔ)的示意圖。

      圖5為本發(fā)明實(shí)施例提供的另一處理視頻數(shù)據(jù)的方法的示意性流程圖。

      圖6為本發(fā)明實(shí)施例提供的處理視頻數(shù)據(jù)的裝置的示意性框圖。

      圖7為本發(fā)明實(shí)施例提供的另一處理視頻數(shù)據(jù)的裝置的示意性框圖。

      圖8為本發(fā)明實(shí)施例提供的另一處理視頻數(shù)據(jù)的裝置的示意性框圖。

      圖9為本發(fā)明實(shí)施例提供的顯示視頻數(shù)據(jù)的設(shè)備的示意性框圖。

      具體實(shí)施方式

      下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明的一部分實(shí)施例,而不是全部實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都應(yīng)屬于本發(fā)明保護(hù)的范圍。

      圖1示出了本發(fā)明實(shí)施例應(yīng)用的系統(tǒng)架構(gòu)100。該系統(tǒng)架構(gòu)100可以包括存儲(chǔ)器110、解碼器120、顯示處理單元130和顯示設(shè)備140。具體地,接收端在接收到發(fā)送端發(fā)送的第一視頻數(shù)據(jù)后,會(huì)將該第一視頻數(shù)據(jù)存儲(chǔ)到存儲(chǔ)器110中;解碼器120從該存儲(chǔ)器110中獲取該第一視頻數(shù)據(jù),并對(duì)該第一視頻數(shù)據(jù)進(jìn)行解碼,將解碼后的第二視頻數(shù)據(jù)存儲(chǔ)至該存儲(chǔ)器110中;顯示處理單元130可以從該存儲(chǔ)器110中獲取解碼后的第二視頻數(shù)據(jù),對(duì)該解碼后的第二視頻數(shù)據(jù)進(jìn)行顯示處理,并發(fā)送給顯示設(shè)備140,通過該顯示設(shè)備140將視頻圖像顯示出來。

      應(yīng)理解,上述第一視頻數(shù)據(jù)和第二視頻數(shù)據(jù)可以一起存儲(chǔ)至存儲(chǔ)器110中,也可以分開存儲(chǔ)至兩個(gè)不同的存儲(chǔ)器中,本發(fā)明實(shí)施例對(duì)此不作限定。

      在一種優(yōu)選的實(shí)現(xiàn)方式中,如圖1所示,上述存儲(chǔ)器110可以分為碼流內(nèi)存111和幀存空間112兩個(gè)存儲(chǔ)器。其中,該碼流內(nèi)存111用于存儲(chǔ)接收端接收的第一視頻數(shù)據(jù),并為該解碼器120提供該第一視頻數(shù)據(jù)進(jìn)行解碼;該幀存空間用于存儲(chǔ)該解碼器120解碼后的第二視頻數(shù)據(jù),并為顯示處理單元130提供該第二視頻數(shù)據(jù)進(jìn)行顯示處理。

      這里的顯示處理包括圖像后處理,具體可以為圖像增強(qiáng)、圖像縮放或與顯示設(shè)備對(duì)接處理等等,本發(fā)明實(shí)施例對(duì)此不作限定。

      在上述系統(tǒng)架構(gòu)中,該碼流內(nèi)存110用于存儲(chǔ)的是基本碼流(Element Stream,簡稱為“ES”),對(duì)于常見的視頻編碼協(xié)議,基本碼流的壓縮效率都很高,所以該部分內(nèi)存占用不會(huì)很大。幀存空間130用于存儲(chǔ)解碼參考幀和顯示幀,即該幀存空間130所存儲(chǔ)的為解碼后的視頻數(shù)據(jù),一般情況下,該解碼后的視頻數(shù)據(jù)的格式為YUV數(shù)據(jù),該YUV數(shù)據(jù)所占用的內(nèi)存較大。以分辨率為4K、采樣方式為YUV420的圖像為例,一幀YUV數(shù)據(jù)所占內(nèi)存的大小為:4096×2160×1.5/1024=12.6MB,再加上解碼所需要的參考信息,一幀4K圖像的大小在15MB左右。此外,假設(shè)系統(tǒng)架構(gòu)100需要支持6個(gè)參考幀的視頻,則該系統(tǒng)架構(gòu)100中該幀存空間130的大小約為(6+3)×15=135MB左右,如果考慮后續(xù)支持分辨率為UUHD的視頻,則該內(nèi)存會(huì)幾倍增加。因此,本實(shí)施例提供了一種降低內(nèi)存消耗的方案。

      圖2示出了本發(fā)明實(shí)施例提供的處理視頻數(shù)據(jù)的方法200,該方法200可以應(yīng)用于圖1所示的系統(tǒng)架構(gòu)100,但本發(fā)明實(shí)施例不限于此。

      S210,接收第一視頻數(shù)據(jù),該第一視頻數(shù)據(jù)為視頻圖像的碼流;

      S220,對(duì)該第一視頻數(shù)據(jù)進(jìn)行基于第一解碼算法的解碼以獲得第二視頻數(shù)據(jù),該第二視頻數(shù)據(jù)為該視頻圖像的幀數(shù)據(jù);

      S230,對(duì)該第二視頻數(shù)據(jù)進(jìn)行基于第二編碼算法的壓縮以獲得第三視頻數(shù)據(jù),該第三視頻數(shù)據(jù)包括壓縮頭信息和有效數(shù)據(jù),該有效數(shù)據(jù)包括該視頻圖像的內(nèi)容數(shù)據(jù);

      具體地,對(duì)該第二視頻數(shù)據(jù)進(jìn)行壓縮后可以獲得壓縮頭信息和有效數(shù)據(jù),即為上述第三視頻數(shù)據(jù),而壓縮掉的冗余數(shù)據(jù)可以直接被省略掉,無需存入存儲(chǔ)器中。以最簡單的情況為例,對(duì)于100個(gè)0的視頻數(shù)據(jù)而言,若一個(gè)0占用1個(gè)比特位,那么進(jìn)行壓縮前會(huì)存在100個(gè)0占用100個(gè)比特位,而壓縮后的視頻數(shù)據(jù)為1個(gè)100和1個(gè)0,100即為壓縮頭信息,0為該視頻圖像的內(nèi)容數(shù)據(jù),這里,假設(shè)100僅占用3個(gè)比特位,那么在此基礎(chǔ)之上,再加0所占用的1個(gè)比特位,壓縮后的視頻數(shù)據(jù)總共只需占用4個(gè)比特位。

      S240,將該第三視頻數(shù)據(jù)存儲(chǔ)入存儲(chǔ)器;

      S250,從該存儲(chǔ)器讀取該第三視頻數(shù)據(jù)并對(duì)該第三視頻數(shù)據(jù)進(jìn)行基于與該第二編碼算法對(duì)應(yīng)的第二解碼算法的解碼以獲得第四視頻數(shù)據(jù);第四視頻數(shù)據(jù)是解碼后恢復(fù)出的該視頻圖像的幀數(shù)據(jù);

      S260,對(duì)該第四視頻數(shù)據(jù)進(jìn)行顯示處理得到待顯示數(shù)據(jù)幀。

      應(yīng)理解,該顯示處理可以是圖像后處理,包括但不限于圖像增強(qiáng)、圖像縮放、與后端顯示器接口的對(duì)接處理(比如格式轉(zhuǎn)換)等等。

      具體地,發(fā)送端會(huì)將視頻圖像通過編碼器進(jìn)行壓縮編碼后,通過網(wǎng)絡(luò)傳輸給接收端,接收端通過解碼器進(jìn)行解壓縮后恢復(fù)出視頻圖像。該發(fā)送端或者接收端可以為移動(dòng)電話,便攜式電腦,手持式電腦,攝像機(jī),視頻監(jiān)控設(shè)備等。因此,本發(fā)明實(shí)施例涉及的就是接收端在接收到經(jīng)過編碼后的視頻數(shù)據(jù)后,對(duì)該編碼后的視頻數(shù)據(jù)進(jìn)行解碼并存儲(chǔ)的過程。在獲取到第一視頻數(shù)據(jù)后,接收端可以先對(duì)該第一視頻數(shù)據(jù)進(jìn)行解碼,獲得第二視頻數(shù)據(jù),該第二視頻數(shù)據(jù)即為解碼后的視頻數(shù)據(jù)。然后,接收端可以對(duì)該第二視頻數(shù)據(jù)進(jìn)行壓縮,生成包括壓縮頭信息和有效數(shù)據(jù)的第三視頻數(shù)據(jù)。將該第三視頻數(shù)據(jù)存入存儲(chǔ)器中,再讀取存儲(chǔ)器中的該第三視頻數(shù)據(jù)并采用與該第二編碼算法對(duì)應(yīng)的第二解碼算法進(jìn)行解碼生成第四視頻數(shù)據(jù),最后對(duì)該第四視頻數(shù)據(jù)進(jìn)行顯示處理獲得待顯示數(shù)據(jù)幀。

      因此,本發(fā)明實(shí)施例的處理視頻數(shù)據(jù)的方法,通過先對(duì)獲取到的視頻數(shù)據(jù)解碼,再對(duì)解碼后的視頻數(shù)據(jù)進(jìn)行壓縮,將壓縮后生成的壓縮頭信息和有效數(shù)據(jù)存儲(chǔ)到存儲(chǔ)器中,這樣能夠減小解碼后的視頻數(shù)據(jù)對(duì)幀存空間的內(nèi)存占用,從而有效提高系統(tǒng)性能。

      應(yīng)理解,本發(fā)明實(shí)施例可以由解碼器來執(zhí)行,解碼器廣泛的應(yīng)用于各種電子設(shè)備中,例如,移動(dòng)電話、便攜式電腦、MP3/MP4、手持式電腦、攝像機(jī)、視頻監(jiān)控設(shè)備等等。此外,解碼器可以通過數(shù)字處理電路實(shí)現(xiàn),例如數(shù)字信號(hào)處理(Digital Signal Processing,簡稱為“DSP”)芯片實(shí)現(xiàn),也可以通過處理器(例如中央處理器(Central Processing Unit,簡稱為“CPU”))調(diào)用軟件代碼實(shí)現(xiàn)。本發(fā)明實(shí)施例還可以應(yīng)用于機(jī)頂盒、智能電視等需要集成媒體解碼播放功能的芯片系統(tǒng)中,但本發(fā)明實(shí)施例對(duì)此不作限定。

      應(yīng)理解,接收到的第一視頻數(shù)據(jù)是采用了壓縮率過高的編碼算法進(jìn)行壓縮的,不適合直接存儲(chǔ),在本發(fā)明實(shí)施例中需要對(duì)該第一視頻數(shù)據(jù)解碼后進(jìn)行二次壓縮,因此,對(duì)于兩次不同的壓縮所使用的編解碼算法可以是不同的。

      作為一個(gè)可選的實(shí)施例,該第一解碼算法所對(duì)應(yīng)的第一編碼算法的圖像壓縮率高于該第二編碼算法。

      作為一個(gè)可選的實(shí)施例,該第一解碼算法的運(yùn)算復(fù)雜度或運(yùn)算耗時(shí)高于該第二編碼算法所對(duì)應(yīng)的該第二解碼算法。

      這樣,由于獲得該第四視頻數(shù)據(jù)的時(shí)間較獲得該第二視頻數(shù)據(jù)的時(shí)間要小,將該第三視頻數(shù)據(jù)存儲(chǔ)至存儲(chǔ)器中,減小了對(duì)內(nèi)存空間的占用的同時(shí),對(duì)第三視頻數(shù)據(jù)解碼獲得該第四視頻數(shù)據(jù)的時(shí)間也不會(huì)很長,與直接將該第一視頻數(shù)據(jù)存儲(chǔ)至該存儲(chǔ)器中相比,能夠較快地讀取出該第四視頻數(shù)據(jù),并對(duì)其執(zhí)行后續(xù)處理,從而提高用戶體驗(yàn)。

      作為一個(gè)可選的實(shí)施例,在對(duì)該第一視頻數(shù)據(jù)進(jìn)行基于第一解碼算法的解碼以獲得第二視頻數(shù)據(jù)之后,該方法還包括:將該第二視頻數(shù)據(jù)存儲(chǔ)入該存儲(chǔ)器;對(duì)該第二視頻數(shù)據(jù)進(jìn)行基于第二編碼算法的壓縮以獲得第三視頻數(shù)據(jù),包括:從該存儲(chǔ)器中獲取該第二視頻數(shù)據(jù)并采用該第二編碼算法對(duì)該第二視頻數(shù)據(jù)進(jìn)行壓縮,以獲得該第三視頻數(shù)據(jù);將該第三視頻數(shù)據(jù)存入存儲(chǔ)器,包括:釋放壓縮掉的冗余數(shù)據(jù)所占用的內(nèi)存空間。

      在上述用于處理視頻數(shù)據(jù)的方法中,對(duì)該第二視頻數(shù)據(jù)進(jìn)行壓縮可以是在線壓縮,無需將該第二視頻數(shù)據(jù)存入幀存空間中,也可以是離線壓縮,將該第二視頻數(shù)據(jù)先存儲(chǔ)在幀存空間中,再從該幀存空間中獲取該第二視頻數(shù)據(jù)進(jìn)行壓縮。這里,在線壓縮也可以理解為一邊解碼一邊壓縮,即在解碼出一個(gè)宏塊時(shí)就對(duì)該宏塊進(jìn)行壓縮,在壓縮的同時(shí)解碼下一個(gè)宏塊,并行處理從而提高壓縮速度,但對(duì)于采用在線壓縮還是離線壓縮,本發(fā)明實(shí)施例對(duì)此不作限定。

      具體地,在對(duì)視頻數(shù)據(jù)進(jìn)行存儲(chǔ)時(shí),可以采用連續(xù)的物理內(nèi)存和不連續(xù)的物理內(nèi)存兩種存儲(chǔ)方式。在離散壓縮且采用連續(xù)的物理內(nèi)存的情況下,需要將壓縮后產(chǎn)生的冗余數(shù)據(jù)釋放掉,從而節(jié)省內(nèi)存空間。在釋放掉該冗余數(shù)據(jù)所占用的幀存空間后,需要進(jìn)行物理搬移,將后續(xù)所存儲(chǔ)的視頻數(shù)據(jù)依次前移到該冗余數(shù)據(jù)之前所占用的幀存空間中,實(shí)現(xiàn)連續(xù)存儲(chǔ);若采用不連續(xù)的物理內(nèi)存,則可以直接采用內(nèi)存管理單元(Memory Management Unit,簡稱為“MMU”)對(duì)系統(tǒng)內(nèi)存進(jìn)行管理,生成虛擬地址,將不連續(xù)的物理地址映射到連續(xù)的虛擬地址上,在釋放掉冗余數(shù)據(jù)所占用的幀存空間后,僅需要改變?cè)形锢淼刂泛吞摂M地址的映射關(guān)系即可。

      如圖3所示,視頻數(shù)據(jù)實(shí)際存儲(chǔ)在離散物理內(nèi)存中,該離散物理內(nèi)存可以為雙倍速率同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器(Double Data Rate,簡稱為“DDR”)。該DDR中的離散物理內(nèi)存頁和MMU所管理的虛擬內(nèi)存頁之間存在一定的映射關(guān)系。當(dāng)對(duì)視頻數(shù)據(jù)進(jìn)行解碼時(shí),可以通過MMU把虛擬地址映射為物理地址,再從該物理地址對(duì)應(yīng)的物理空間中獲取視頻數(shù)據(jù);當(dāng)對(duì)視頻數(shù)據(jù)進(jìn)行顯示處理時(shí),也可以通過MMU采用相同方法獲取需要顯示的視頻數(shù)據(jù)。因此,在對(duì)解碼后的視頻數(shù)據(jù)進(jìn)行存儲(chǔ)時(shí),解碼后的視頻數(shù)據(jù)實(shí)際存儲(chǔ)在不連續(xù)的物理內(nèi)存中,需要更新虛擬地址和物理地址的映射關(guān)系。

      作為一個(gè)可選實(shí)施例,該存儲(chǔ)器的內(nèi)存空間為不連續(xù)的物理內(nèi)存空間,在將該第三視頻數(shù)據(jù)存儲(chǔ)入存儲(chǔ)器之后,該方法還包括:

      確定第一映射關(guān)系,該第一映射關(guān)系用于表示該第三視頻數(shù)據(jù)所占內(nèi)存的物理地址與虛擬地址之間的對(duì)應(yīng)關(guān)系。

      具體地,該幀存空間可以是不連續(xù)的物理內(nèi)存空間,在這種情況下,需要采用MMU內(nèi)存管理技術(shù)對(duì)系統(tǒng)內(nèi)存進(jìn)行管理。MMU是CPU中用來管理虛擬存儲(chǔ)器、物理存儲(chǔ)器的控制線路,同時(shí)也負(fù)責(zé)虛擬地址映射為物理地址,以及提供硬件機(jī)制的內(nèi)存訪問授權(quán),多用戶多進(jìn)程操作系統(tǒng)。在這種內(nèi)存管理方式下,系統(tǒng)可以通過MMU將不連續(xù)的物理地址映射到連續(xù)的虛擬地址上,從而實(shí)現(xiàn)對(duì)內(nèi)存的訪問。

      因此,在本發(fā)明實(shí)施例中,需要在將該壓縮頭信息和有效數(shù)據(jù)存入存儲(chǔ)器之后,確定用于表示物理地址和虛擬地址之間的對(duì)應(yīng)關(guān)系的第一映射關(guān)系。這樣,在后續(xù)獲取該存儲(chǔ)器的視頻數(shù)據(jù)時(shí),可以根據(jù)該第一映射關(guān)系進(jìn)行獲取。這種存儲(chǔ)方式能夠提高系統(tǒng)內(nèi)存的利用率,有效減少系統(tǒng)碎片的產(chǎn)生。

      作為一個(gè)可選實(shí)施例,對(duì)該第二視頻數(shù)據(jù)進(jìn)行壓縮,獲得第三視頻數(shù)據(jù),包括:

      將該第二視頻數(shù)據(jù)劃分為N個(gè)第一宏塊;

      以該第一宏塊為單位對(duì)該第二視頻數(shù)據(jù)進(jìn)行壓縮,獲得該第三視頻數(shù)據(jù),其中,該第三視頻數(shù)據(jù)包括N個(gè)第二宏塊,且該N個(gè)第二宏塊中的第i個(gè)第二宏塊包括該N個(gè)第一宏塊中的第i個(gè)第一宏塊經(jīng)過壓縮后生成的壓縮頭信息和有效數(shù)據(jù);

      其中,N和i均為大于0的整數(shù),且i小于或等于N。

      應(yīng)理解,在具體實(shí)現(xiàn)過程中,視頻的編解碼都是以宏塊為單位進(jìn)行的。一個(gè)編碼圖像通常劃分成若干宏塊組成,一個(gè)宏塊由一個(gè)亮度像素塊和附加的兩個(gè)色度像素塊組成。具體地,在本發(fā)明實(shí)施例中,該第二視頻數(shù)據(jù)包括N個(gè)第一宏塊,在對(duì)該第二視頻數(shù)據(jù)進(jìn)行壓縮的時(shí)候,可以以該第一宏塊為單位進(jìn)行壓縮,生成與該N個(gè)第一宏塊一一對(duì)應(yīng)的N個(gè)第二宏塊,然后,將該N個(gè)第二宏塊存儲(chǔ)到幀存空間中。

      圖4示出了以宏塊為單位進(jìn)行壓縮存儲(chǔ)的示意圖。如圖4所示,經(jīng)壓縮前視頻數(shù)據(jù)包括N個(gè)第一宏塊,壓縮后為N個(gè)第二宏塊,該N個(gè)第二宏塊中的每個(gè)第二宏塊包括壓縮頭信息和有效數(shù)據(jù),該N個(gè)第二宏塊被拼接起來存儲(chǔ)至幀存空間,明顯地,該N個(gè)第二宏塊與N個(gè)第一宏塊相比數(shù)據(jù)量較小,將該N個(gè)第二宏塊存入幀存空間所占用的幀存空間也較壓縮前要小。

      作為一個(gè)可選的實(shí)施例,在將該第三視頻數(shù)據(jù)存入存儲(chǔ)器之前,該方法還包括:

      在該存儲(chǔ)器中確定幀存空間,該幀存空間的大小為該第二視頻數(shù)據(jù)的大小,且大于該第三視頻數(shù)據(jù)的大??;

      將該第三視頻數(shù)據(jù)存入存儲(chǔ)器,包括:

      將該第三視頻數(shù)據(jù)存入該存儲(chǔ)器的該幀存空間,并釋放該幀存空間中未被占用的空間。

      具體地,在將該第三視頻數(shù)據(jù)存入存儲(chǔ)器之前,接收端會(huì)根據(jù)該第二視頻數(shù)據(jù)的實(shí)際寬高分配對(duì)應(yīng)大小的幀存空間。在對(duì)該第二視頻數(shù)據(jù)進(jìn)行壓縮得到第三視頻數(shù)據(jù)后,只包括了壓縮頭信息和有效數(shù)據(jù),這樣,提前分配好的幀存空間必然會(huì)有剩余,這就需要將提前確定的幀存空間中未被占用的空間釋放掉,以達(dá)到節(jié)省內(nèi)存的目的。

      作為一個(gè)可選的實(shí)施例,該第一解碼算法包括基于有損壓縮的算法。

      作為一個(gè)可選的實(shí)施例,該第二編碼算法包括基于無損壓縮的算法。

      具體地,數(shù)據(jù)壓縮可以分為兩種類型:無損壓縮和有損壓縮。無損壓縮是指壓縮后的數(shù)據(jù)在進(jìn)行解壓縮后與壓縮前的數(shù)據(jù)完全一致,沒有任何信息損失。無損壓縮的方法是構(gòu)筑在香農(nóng)的信息理論基礎(chǔ)之上的,根據(jù)信號(hào)的統(tǒng)計(jì)特性進(jìn)行編碼。有損壓縮是指壓縮后的數(shù)據(jù)重構(gòu)后,與原始數(shù)據(jù)有所不同,但不會(huì)影響人們對(duì)原始資料所要表達(dá)的信息的理解。

      應(yīng)理解,在對(duì)第二視頻數(shù)據(jù)進(jìn)行壓縮的時(shí)候,可以采用有損壓縮的方式,也可以采用無損壓縮的方式,本發(fā)明實(shí)施例對(duì)此不作限定。與有損壓縮相比較,采用無損壓縮可以獲得質(zhì)量更高質(zhì)量的視頻圖像,不會(huì)使圖像細(xì)節(jié)有任何損失,因此,應(yīng)將無損壓縮理解為本發(fā)明實(shí)施例中的一種優(yōu)選壓縮方式,而不是唯一的壓縮方式。

      可選地,上述無損壓縮算法可以為下列算法中的至少一種:霍夫曼編碼算法、LZW(Lempel-Ziv-Welch)編碼算法、游程編碼算法和算術(shù)編碼算法,但本發(fā)明實(shí)施例不限于此。

      作為一個(gè)可選實(shí)施例,在對(duì)該第一視頻數(shù)據(jù)進(jìn)行基于第一解碼算法的解碼以獲得第二視頻數(shù)據(jù)之前,該方法還包括:

      從該幀存空間中獲取第五視頻數(shù)據(jù);

      對(duì)該第五視頻數(shù)據(jù)進(jìn)行基于該第二解碼算法的解碼以獲得第六視頻數(shù)據(jù);

      對(duì)該第一視頻數(shù)據(jù)進(jìn)行基于第一解碼算法的解碼以獲得第二視頻數(shù)據(jù),包括:

      根據(jù)該第六視頻數(shù)據(jù),采用幀間預(yù)測的方式對(duì)該第一視頻數(shù)據(jù)進(jìn)行解碼,獲得該第二視頻數(shù)據(jù)。

      具體地,在解碼的過程中,可以采用幀間預(yù)測和幀內(nèi)預(yù)測兩種預(yù)測方式,幀間預(yù)測基于當(dāng)前圖像塊的時(shí)間鄰近已編碼信息來獲取預(yù)測信號(hào),幀內(nèi)預(yù)測基于當(dāng)前圖像塊的空間鄰近已編碼信息來獲取預(yù)測信號(hào)。當(dāng)采用幀間預(yù)測時(shí),需要從幀存空間中獲取已解碼的視頻數(shù)據(jù),即本發(fā)明實(shí)施例中的第五視頻數(shù)據(jù),由于第五視頻數(shù)據(jù)是經(jīng)壓縮后的視頻數(shù)據(jù),因此需要對(duì)該第五視頻數(shù)據(jù)進(jìn)行解壓,將該第五視頻數(shù)據(jù)解壓為第六視頻數(shù)據(jù),然后,在根據(jù)該第六視頻數(shù)據(jù),采用幀間預(yù)測的方式對(duì)該第一視頻數(shù)據(jù)進(jìn)行解碼,獲得該第二視頻數(shù)據(jù)。

      圖5示出了本發(fā)明實(shí)施例提供的另一處理視頻數(shù)據(jù)的方法300。該方法300可以應(yīng)用于圖1所示的系統(tǒng)架構(gòu)100,但本發(fā)明實(shí)施例不限于此。

      S301,接收碼流數(shù)據(jù),即上述的第一視頻數(shù)據(jù);

      S302,根據(jù)該碼流數(shù)據(jù)進(jìn)行殘差運(yùn)算,獲得殘差;

      S303,確定采用幀內(nèi)預(yù)測的解碼方式,獲取預(yù)測塊;

      S304,將該預(yù)測塊與該殘差相加,獲得重構(gòu)的視頻數(shù)據(jù);

      S305,將該重構(gòu)的視頻數(shù)據(jù)進(jìn)行濾波,獲得第二視頻數(shù)據(jù);

      S306,將該第二視頻數(shù)據(jù)進(jìn)行無損壓縮,獲得第三視頻數(shù)據(jù),該第三視頻數(shù)據(jù)包括壓縮頭信息和有效數(shù)據(jù);

      S307,將該第三視頻數(shù)據(jù)中的有效數(shù)據(jù)和壓縮頭信息拼接起來;

      S308,將拼接好的壓縮頭信息和有效數(shù)據(jù)存入幀存空間;

      S309,從該幀存空間中讀取該第三視頻數(shù)據(jù),采用與上述無損壓縮對(duì)應(yīng)的解壓縮算法對(duì)該第三視頻數(shù)據(jù)進(jìn)行解壓縮以獲得第四視頻數(shù)據(jù),并對(duì)該第四視頻數(shù)據(jù)進(jìn)行顯示處理獲得待顯示數(shù)據(jù)幀。

      應(yīng)理解,該顯示處理可以是圖像后處理,包括但不限于圖像增強(qiáng)、圖像縮放、與后端顯示器接口的對(duì)接處理(比如格式轉(zhuǎn)換)等等。

      上述即為采用幀內(nèi)預(yù)測解碼的過程。

      可選地,在采用幀間預(yù)測時(shí),可以先執(zhí)行S310,從該幀存空間中獲取第四視頻數(shù)據(jù);

      S311,采用與上述無損壓縮對(duì)應(yīng)的解壓縮算法將該第四視頻數(shù)據(jù)解壓為第五視頻數(shù)據(jù);

      S312,對(duì)該第五視頻數(shù)據(jù)進(jìn)行運(yùn)動(dòng)補(bǔ)償,即采用幀間預(yù)測的方式獲得預(yù)測塊;

      S301,接收碼流數(shù)據(jù),即上述的第一視頻數(shù)據(jù);

      S302,根據(jù)該碼流數(shù)據(jù)進(jìn)行殘差運(yùn)算,獲得殘差;

      S304,將該預(yù)測塊與該殘差相加,獲得重構(gòu)的視頻數(shù)據(jù);

      后續(xù)可以繼續(xù)執(zhí)行S305~S308,此處不再贅述。

      應(yīng)理解,在接收到的碼流數(shù)據(jù)中可以包括指示信息,該指示信息用于指示采用何種方式進(jìn)行預(yù)測解碼。對(duì)視頻序列的第一幀、場景切換幀以及隨機(jī)讀取幀只能采用幀內(nèi)預(yù)測的解碼方式,其余幀可以采用幀內(nèi)和幀間混合預(yù)測解碼的方式,本發(fā)明實(shí)施例對(duì)此不作限定。

      上述視頻解碼壓縮過程可以應(yīng)用在H.264或H.265視頻編解碼標(biāo)準(zhǔn)中,具體地,在H.264視頻編解碼標(biāo)準(zhǔn)中,增加了單個(gè)圖像的幀內(nèi)預(yù)測編碼,充分利用被預(yù)測塊左邊和上邊已解碼重構(gòu)的鄰近宏塊象素對(duì)當(dāng)前塊進(jìn)行預(yù)測。為了降低由H.264高壓縮比產(chǎn)生的明顯的塊失真效應(yīng),采用了去塊效應(yīng)濾波技術(shù)。去塊效應(yīng)濾波器不但能夠有效的改善主觀視頻質(zhì)量,而且可以在低碼率條件下提高圖像的信噪比。

      應(yīng)理解,本發(fā)明實(shí)施例還可以應(yīng)用在其他視頻編解碼標(biāo)準(zhǔn)中,此處僅以H.264為例進(jìn)行說明,但本發(fā)明實(shí)施例不限于此。

      本發(fā)明實(shí)施例的處理視頻數(shù)據(jù)的方法,通過先對(duì)獲取到的視頻數(shù)據(jù)解碼,再對(duì)解碼后的視頻數(shù)據(jù)進(jìn)行壓縮,將壓縮后生成的壓縮頭信息和有效數(shù)據(jù)存儲(chǔ)到幀存空間中,再對(duì)幀存空間中的視頻數(shù)據(jù)進(jìn)行解壓和顯示處理獲得待顯示數(shù)據(jù)幀,這樣能夠減小解碼后的視頻數(shù)據(jù)對(duì)幀存空間的內(nèi)存占用,從而有效提高系統(tǒng)性能。

      上文中結(jié)合圖1至圖5,詳細(xì)描述了根據(jù)本發(fā)明實(shí)施例的處理視頻數(shù)據(jù)的方法,下面將結(jié)合圖6至圖8,詳細(xì)描述根據(jù)本發(fā)明實(shí)施例的處理視頻數(shù)據(jù)的裝置。

      圖6示出了本發(fā)明實(shí)施例的處理視頻數(shù)據(jù)的裝置400,該裝置400包括:

      接收單元410,用于接收第一視頻數(shù)據(jù);

      第一解碼單元420,用于對(duì)該第一視頻數(shù)據(jù)進(jìn)行基于第一解碼算法的解碼以獲得第二視頻數(shù)據(jù);

      壓縮單元430,用于對(duì)該第二視頻數(shù)據(jù)進(jìn)行基于第二編碼算法的壓縮以獲得第三視頻數(shù)據(jù);

      存儲(chǔ)單元440,用于將該第三視頻數(shù)據(jù)存儲(chǔ)入存儲(chǔ)器;

      第二解碼單元450,用于從該存儲(chǔ)器讀取該第三視頻數(shù)據(jù)并對(duì)該第三視頻數(shù)據(jù)進(jìn)行基于與該第二編碼算法對(duì)應(yīng)的第二解碼算法的解碼以獲得第四視頻數(shù)據(jù);

      處理單元460,用于對(duì)該第四視頻數(shù)據(jù)進(jìn)行顯示處理得到待顯示數(shù)據(jù)幀;

      該第一視頻數(shù)據(jù)是視頻圖像的碼流,該第二視頻數(shù)據(jù)是該視頻圖像的幀數(shù)據(jù),該第三視頻數(shù)據(jù)包括壓縮頭信息和有效數(shù)據(jù),該有效數(shù)據(jù)包括該視頻圖像的內(nèi)容數(shù)據(jù),第四視頻數(shù)據(jù)是解碼后恢復(fù)出的該視頻圖像的幀數(shù)據(jù)。

      應(yīng)理解,這里的裝置400以功能單元的形式體現(xiàn)。這里的術(shù)語“單元”可以指應(yīng)用特有集成電路(Application Specific Integrated Circuit,ASIC)、電子電路、用于執(zhí)行一個(gè)或多個(gè)軟件或固件程序的處理器(例如共享處理器、專有處理器或組處理器等)和存儲(chǔ)器、合并邏輯電路和/或其它支持所描述的功能的合適組件。在一個(gè)可選例子中,本領(lǐng)域技術(shù)人員可以理解,裝置400可以具體為解碼器或包括解碼器的設(shè)備,裝置400可以用于執(zhí)行上述方法實(shí)施例的各個(gè)流程和/或步驟,為避免重復(fù),在此不再贅述。

      圖7示出了本發(fā)明實(shí)施例提供的處理視頻數(shù)據(jù)的裝置500。該裝置500包括:數(shù)據(jù)輸入端510、處理器520和總線系統(tǒng)530。其中,數(shù)據(jù)輸入端510和處理器520通過總線系統(tǒng)530相連。

      具體地,該數(shù)據(jù)輸入端510,用于接收第一視頻數(shù)據(jù);

      該處理器520,用于對(duì)該第一視頻數(shù)據(jù)進(jìn)行基于第一解碼算法的解碼以獲得第二視頻數(shù)據(jù),對(duì)該第二視頻數(shù)據(jù)進(jìn)行基于第二編碼算法的壓縮以獲得第三視頻數(shù)據(jù),將該第三視頻數(shù)據(jù)存入存儲(chǔ)器,從該存儲(chǔ)器讀取該第三視頻數(shù)據(jù),并對(duì)該第三視頻數(shù)據(jù)進(jìn)行基于與該第二編碼算法對(duì)應(yīng)的第二解碼算法的解碼以獲得第四視頻數(shù)據(jù),對(duì)該第四視頻數(shù)據(jù)進(jìn)行顯示處理得到待顯示數(shù)據(jù)幀;

      該第一視頻數(shù)據(jù)是視頻圖像的碼流,該第二視頻數(shù)據(jù)是該視頻圖像的幀數(shù)據(jù),該第三視頻數(shù)據(jù)包括壓縮頭信息和有效數(shù)據(jù),該有效數(shù)據(jù)包括該視頻圖像的內(nèi)容數(shù)據(jù),第四視頻數(shù)據(jù)是解碼后恢復(fù)出的該視頻圖像的幀數(shù)據(jù)。

      可選地,如圖8所示,該處理器520包括:

      第一處理器521,用于對(duì)該第一視頻數(shù)據(jù)進(jìn)行基于該第一解碼算法的解碼以獲得該第二視頻數(shù)據(jù);

      第二處理器522,用于對(duì)該第二視頻數(shù)據(jù)進(jìn)行基于該第二編碼算法的壓縮以獲得該第三視頻數(shù)據(jù),將該第三視頻數(shù)據(jù)存入該存儲(chǔ)器;

      第三處理器523,用于從該存儲(chǔ)器讀取該第三視頻數(shù)據(jù),并對(duì)該第三視頻數(shù)據(jù)進(jìn)行基于與該第二編碼算法對(duì)應(yīng)的該第二解碼算法的解碼以獲得該第四視頻數(shù)據(jù);

      第四處理器524,用于對(duì)該第四視頻數(shù)據(jù)進(jìn)行該顯示處理得到該待顯示數(shù)據(jù)幀。

      可選地,該處理器520用于讀取軟件指令,并在該軟件指令的驅(qū)動(dòng)下執(zhí)行:對(duì)該第一視頻數(shù)據(jù)進(jìn)行基于該第一解碼算法的解碼以獲得該第二視頻數(shù)據(jù),對(duì)該第二視頻數(shù)據(jù)進(jìn)行基于該第二編碼算法的壓縮以獲得該第三視頻數(shù)據(jù),將該第三視頻數(shù)據(jù)存入該存儲(chǔ)器,從該存儲(chǔ)器讀取該第三視頻數(shù)據(jù)并對(duì)該第三視頻數(shù)據(jù)進(jìn)行基于與該第二編碼算法對(duì)應(yīng)的該第二解碼算法的解碼以獲得該第四視頻數(shù)據(jù),對(duì)該第四視頻數(shù)據(jù)進(jìn)行該顯示處理得到該待顯示數(shù)據(jù)幀。

      可選地,該第一解碼算法所對(duì)應(yīng)的第一編碼算法的圖像壓縮率高于該第二編碼算法。

      可選地,該第一解碼算法的運(yùn)算復(fù)雜度或運(yùn)算耗時(shí)高于該第二編碼算法所對(duì)應(yīng)的該第二解碼算法。

      可選地,該第一解碼算法包括基于有損壓縮的算法。

      可選地,該第二編碼算法包括基于無損壓縮的算法。

      可選地,該顯示處理包括圖像后處理,該圖像后處理包括圖像增強(qiáng)、圖像縮放或與顯示設(shè)備對(duì)接處理中的任一項(xiàng)。

      可選地,該處理器520還用于:在該存儲(chǔ)器中確定幀存空間,該幀存空間的大小為該第二視頻數(shù)據(jù)的大小,且大于該第三視頻數(shù)據(jù)的大??;將該第三視頻數(shù)據(jù)存入該存儲(chǔ)器的該幀存空間,并釋放該幀存空間中未被占用的空間。

      應(yīng)理解,裝置500可以具體為解碼器或包括解碼器的設(shè)備,并且可以用于執(zhí)行上述方法實(shí)施例中的各個(gè)步驟和/或流程。可選地,該處理器520可以用于執(zhí)行存儲(chǔ)器中存儲(chǔ)的指令,并且當(dāng)該處理器執(zhí)行存儲(chǔ)器中存儲(chǔ)的指令時(shí),該處理器用于執(zhí)行上述方法實(shí)施例的各個(gè)步驟和/或流程。

      應(yīng)理解,在本發(fā)明實(shí)施例中,該處理器可以是中央處理單元(Central Processing Unit,CPU),該處理器還可以是其他通用處理器、數(shù)字信號(hào)處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件等。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。

      在實(shí)現(xiàn)過程中,上述方法的各步驟可以通過處理器中的硬件的集成邏輯電路或者軟件形式的指令完成。結(jié)合本發(fā)明實(shí)施例所公開的方法的步驟可以直接體現(xiàn)為硬件處理器執(zhí)行完成,或者用處理器中的硬件及軟件模塊組合執(zhí)行完成。軟件模塊可以位于隨機(jī)存儲(chǔ)器,閃存、只讀存儲(chǔ)器,可編程只讀存儲(chǔ)器或者電可擦寫可編程存儲(chǔ)器、寄存器等本領(lǐng)域成熟的存儲(chǔ)介質(zhì)中。該存儲(chǔ)介質(zhì)位于存儲(chǔ)器,處理器執(zhí)行存儲(chǔ)器中的指令,結(jié)合其硬件完成上述方法的步驟。為避免重復(fù),這里不再詳細(xì)描述?;谶@樣的理解,本發(fā)明實(shí)施例的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。

      圖9示出了本發(fā)明實(shí)施例提供的顯示視頻數(shù)據(jù)的設(shè)備600,該設(shè)備600包括:上述裝置500、存儲(chǔ)器610和顯示設(shè)備700,該顯示設(shè)備700用于顯示上述待顯示數(shù)據(jù)幀。應(yīng)理解,該設(shè)備600可以用于執(zhí)行上述方法實(shí)施例中的各個(gè)步驟和/或流程,為避免重復(fù),此處不再贅述。

      該存儲(chǔ)器610可以包括只讀存儲(chǔ)器和隨機(jī)存取存儲(chǔ)器,并向處理器提供指令和數(shù)據(jù)。存儲(chǔ)器的一部分還可以包括非易失性隨機(jī)存取存儲(chǔ)器。例如,存儲(chǔ)器還可以存儲(chǔ)設(shè)備類型的信息。

      本發(fā)明實(shí)施例的顯示視頻數(shù)據(jù)的設(shè)備,通過先對(duì)獲取到的視頻數(shù)據(jù)解碼,再對(duì)解碼后的視頻數(shù)據(jù)進(jìn)行壓縮,將壓縮后生成的壓縮頭信息和有效數(shù)據(jù)存儲(chǔ)到存儲(chǔ)器中,再對(duì)存儲(chǔ)器中的視頻數(shù)據(jù)進(jìn)行解壓和顯示處理,最終通過顯示設(shè)備顯示出來,這樣能夠減小解碼后的視頻數(shù)據(jù)對(duì)存儲(chǔ)器的內(nèi)存占用,從而有效提高系統(tǒng)性能。

      在一個(gè)可選地例子中,該系統(tǒng)可以具體為同時(shí)具有解碼和顯示功能的設(shè)備,例如,移動(dòng)電話,便攜式電腦,MP3/MP4,手持式電腦,攝像機(jī),視頻監(jiān)控設(shè)備等等,為避免重復(fù),在此不再贅述。

      本領(lǐng)域普通技術(shù)人員可以意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來實(shí)現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。

      所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng)、裝置和單元的具體工作過程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過程,在此不再贅述。

      以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。

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