本發(fā)明涉及芯片電路領(lǐng)域,特別涉及一種基于arm處理器的視頻錄播方法和裝置。
背景技術(shù):
隨著科技的發(fā)展和社會的進(jìn)步,用戶對觀看視頻的質(zhì)量提出了更高的要求。目前,實(shí)現(xiàn)高清視頻流數(shù)據(jù)的錄播或?qū)Рブ饕ㄟ^以下兩種意見架構(gòu)來完成:一直是采用x86處理器與圖像處理板卡相結(jié)合的架構(gòu),這種架構(gòu)價(jià)格昂貴、功耗巨大;另一種是采用arm處理器與dsp處理器相結(jié)合的架構(gòu),這種架構(gòu)設(shè)計(jì)較為復(fù)雜,且功能單一,無法滿足適應(yīng)市場需求。
技術(shù)實(shí)現(xiàn)要素:
為此,需要提供一種基于arm處理器的視頻錄播的技術(shù)方案,用以解決現(xiàn)有的實(shí)現(xiàn)高清視頻流數(shù)據(jù)的錄播或?qū)Рサ挠布軜?gòu)存在的成本高、功耗大、設(shè)計(jì)復(fù)雜、功能單一等問題。
為實(shí)現(xiàn)上述目的,發(fā)明人提供了一種基于arm處理器的視頻錄播裝置,所述裝置包括碼流輸入單元、vpu解碼單元、圖像合成單元、vpu編碼單元和碼流輸出單元;所述碼流輸入單元和vpu解碼單元連接,所述vpu解碼單元和圖像合成單元連接,所述圖像合成單元和vpu編碼單元連接,所述vpu編碼單元和碼流輸出單元連接;
所述碼流輸入單元用于獲取碼流數(shù)據(jù),所述碼流數(shù)據(jù)包括單路碼流數(shù)據(jù)或多路碼流數(shù)據(jù);
所述vpu解碼單元用于將碼流輸入單元獲取的碼流數(shù)據(jù)解碼為第一yuv數(shù)據(jù);
所述圖像合成單元用于根據(jù)預(yù)設(shè)配置信息將解碼后的第一yuv數(shù)據(jù)重新合成為單路或多路的yuv數(shù)據(jù),得到第二yuv數(shù)據(jù);
所述vpu編碼單元用于對第二yuv數(shù)據(jù)進(jìn)行編碼;
所述碼流輸出單元用于輸出單路或多路編碼后的碼流數(shù)據(jù)。
進(jìn)一步地,所述裝置還包括存儲單元,所述存儲單元與碼流輸出單元連接,所述碼流輸出單元還用于將編碼后的碼流數(shù)據(jù)保存至所述存儲單元。
進(jìn)一步地,所述裝置包括gpu處理單元,所述“vpu編碼單元和碼流輸出單元連接”包括:所述vpu編碼單元與gpu處理單元連接,所述gpu處理單元與和碼流輸出單元連接;
所述gpu處理單元用于接收vpu編碼單元編碼后的碼流數(shù)據(jù),并對編碼后的碼流數(shù)據(jù)進(jìn)行第一處理,所述碼流輸出單元用于輸出執(zhí)行第一處理后的碼流數(shù)據(jù)。
發(fā)明人還提供了一種基于arm處理器的視頻錄播方法,所述方法應(yīng)用于基于arm處理器的視頻錄播裝置,所述裝置包括碼流輸入單元、vpu解碼單元、圖像合成單元、vpu編碼單元和碼流輸出單元;所述碼流輸入單元和vpu解碼單元連接,所述vpu解碼單元和圖像合成單元連接,所述圖像合成單元和vpu編碼單元連接,所述vpu編碼單元和碼流輸出單元連接;所述方法包括以下步驟:
碼流輸入單元獲取碼流數(shù)據(jù),所述碼流數(shù)據(jù)包括單路碼流數(shù)據(jù)或多路碼流數(shù)據(jù);
vpu解碼單元將碼流輸入單元獲取的碼流數(shù)據(jù)解碼為第一yuv數(shù)據(jù);
圖像合成單元根據(jù)預(yù)設(shè)配置信息將解碼后的第一yuv數(shù)據(jù)重新合成為單路或多路的yuv數(shù)據(jù),得到第二yuv數(shù)據(jù);
vpu編碼單元對第二yuv數(shù)據(jù)進(jìn)行編碼;
碼流輸出單元輸出單路或多路編碼后的碼流數(shù)據(jù)。
進(jìn)一步地,所述裝置還包括存儲單元,所述存儲單元與碼流輸出單元連接,所述方法包括:
碼流輸出單元將編碼后的碼流數(shù)據(jù)保存至所述存儲單元。
進(jìn)一步地,所述裝置包括gpu處理單元,所述“vpu編碼單元和碼流輸出單元連接”包括:所述vpu編碼單元與gpu處理單元連接,所述gpu處理單元與和碼流輸出單元連接;所述方法包括:
gpu處理單元接收vpu編碼單元編碼后的碼流數(shù)據(jù),并對編碼后的碼流數(shù)據(jù)進(jìn)行第一處理,碼流輸出單元輸出執(zhí)行第一處理后的碼流數(shù)據(jù)。
本發(fā)明提供了一種基于arm處理器的視頻錄播的方法和裝置,所述方法包括以下步驟:碼流輸入單元獲取碼流數(shù)據(jù),所述碼流數(shù)據(jù)包括單路碼流數(shù)據(jù)或多路碼流數(shù)據(jù);vpu解碼單元將碼流輸入單元獲取的碼流數(shù)據(jù)解碼為第一yuv數(shù)據(jù);圖像合成單元根據(jù)預(yù)設(shè)配置信息將解碼后的第一yuv數(shù)據(jù)重新合成為單路或多路的yuv數(shù)據(jù),得到第二yuv數(shù)據(jù);vpu編碼單元對第二yuv數(shù)據(jù)進(jìn)行編碼;碼流輸出單元輸出單路或多路編碼后的碼流數(shù)據(jù)。本發(fā)明具有以下優(yōu)點(diǎn):將視頻碼流數(shù)據(jù)的接收、解碼、合成、編碼分別由不同的硬件進(jìn)行處理,可以有效實(shí)現(xiàn)整個視頻流數(shù)據(jù)的流水線處理,具有性能好、成本低、功耗小等特點(diǎn)。
附圖說明
圖1為本發(fā)明一實(shí)施方式涉及的基于arm處理器的視頻錄播的裝置的示意圖;
圖2為本發(fā)明一實(shí)施方式涉及的基于arm處理器的視頻錄播的方法的示流程圖;
附圖標(biāo)記說明:
101、碼流輸入單元;
102、vpu解碼單元;
103、圖像合成單元;
104、vpu編碼單元;
105、gpu處理單元;
106、碼流輸出單元;
107、存儲單元。
具體實(shí)施方式
為詳細(xì)說明技術(shù)方案的技術(shù)內(nèi)容、構(gòu)造特征、所實(shí)現(xiàn)目的及效果,以下結(jié)合具體實(shí)施例并配合附圖詳予說明。
請參閱圖1,為本發(fā)明一實(shí)施方式涉及的基于arm處理器的視頻錄播的裝置的示意圖。所述裝置包括碼流輸入單元101、vpu解碼單元102、圖像合成單元103、vpu編碼單元104和碼流輸出單元106;所述碼流輸入單元101和vpu解碼單元102連接,所述vpu解碼單元102和圖像合成單元103,所述圖像合成單元103和vpu編碼單元104連接,所述vpu編碼單元104和碼流輸出單元106連接;
所述碼流輸入單元101用于獲取碼流數(shù)據(jù),所述碼流數(shù)據(jù)包括單路碼流數(shù)據(jù)或多路碼流數(shù)據(jù)。在本實(shí)施方式中,所述碼流數(shù)據(jù)為視頻碼流數(shù)據(jù),包括多幀圖像數(shù)據(jù)。
所述vpu解碼單元102用于將碼流輸入單元獲取的碼流數(shù)據(jù)解碼為第一yuv數(shù)據(jù)。碼流數(shù)據(jù)在進(jìn)行合成處理前,需要進(jìn)行解碼進(jìn)行,具體是將視頻碼流數(shù)據(jù)解碼為一幀一幀的圖像數(shù)據(jù)。
所述圖像合成單元103用于根據(jù)預(yù)設(shè)配置信息將解碼后的第一yuv數(shù)據(jù)重新合成為單路或多路的yuv數(shù)據(jù),得到第二yuv數(shù)據(jù)。在某些應(yīng)用場景中,需要將多路碼流數(shù)據(jù)合成為一路碼流數(shù)據(jù)或者多路碼流數(shù)據(jù)進(jìn)行輸出,例如對于各個監(jiān)控?cái)z像頭傳輸?shù)拇a流數(shù)據(jù)需要整合到同一個顯示屏上進(jìn)行顯示,這就需要對碼流數(shù)據(jù)進(jìn)行重新合成。預(yù)設(shè)配置信息記錄了第一碼流數(shù)據(jù)與第二碼流數(shù)據(jù)之間輸出路數(shù)的對應(yīng)關(guān)系,即接收某一路數(shù)(單路或兩路以上)的第一yuv數(shù)據(jù)時(shí),需要將其合成為對應(yīng)路數(shù)的(單路或兩路以上)第二yuv數(shù)據(jù)。
顧名思義,第一yuv數(shù)據(jù)和第二yuv數(shù)據(jù)為yuv格式的數(shù)據(jù),yuv是被歐洲電視系統(tǒng)所采用的一種顏色編碼方法(屬于pal),是pal和secam模擬彩色電視制式采用的顏色空間。在現(xiàn)代彩色電視系統(tǒng)中,通常采用三管彩色攝影機(jī)或彩色ccd攝影機(jī)進(jìn)行取像,然后把取得的彩色圖像信號經(jīng)分色、分別放大校正后得到rgb,再經(jīng)過矩陣變換電路得到亮度信號y和兩個色差信號b-y(即u)、r-y(即v),最后發(fā)送端將亮度和色差三個信號分別進(jìn)行編碼,用同一信道發(fā)送出去。這種色彩的表示方法就是所謂的yuv色彩空間表示。采用yuv色彩空間的重要性是它的亮度信號y和色度信號u、v是分離的。
所述vpu編碼單元104用于對第二yuv數(shù)據(jù)進(jìn)行編碼。碼流數(shù)據(jù)重新合成為yuv數(shù)據(jù)后,就需要對其進(jìn)行重新編碼。在本實(shí)施方式中,所述裝置包括gpu處理單元105,所述“vpu編碼單元和碼流輸出單元連接”包括:所述vpu編碼單元104與gpu處理單元105連接,所述gpu處理單元105與和碼流輸出單元連接;所述gpu處理單元用于接收vpu編碼單元編碼后的碼流數(shù)據(jù),并對編碼后的碼流數(shù)據(jù)進(jìn)行第一處理,所述碼流輸出單元用于輸出執(zhí)行第一處理后的碼流數(shù)據(jù)。在某些實(shí)施例中,所述第一處理包括在輸出碼流中間插入廣告或者字幕數(shù)據(jù)流。
所述碼流輸出單元106用于輸出單路或多路編碼后的碼流數(shù)據(jù)。在本實(shí)施方式中,所述裝置還包括存儲單元,所述存儲單元與碼流輸出單元連接,所述碼流輸出單元還用于將編碼后的碼流數(shù)據(jù)保存至所述存儲單元。所述存儲單元為具有數(shù)據(jù)存儲功能的電子元件,將編碼后的碼流數(shù)據(jù)保存至存儲單元中,當(dāng)下次需要調(diào)用時(shí)就可以從所述存儲單元提取編碼后的碼流數(shù)據(jù),并通過碼流輸出單元傳輸至顯示單元進(jìn)行播放,進(jìn)而實(shí)現(xiàn)視頻數(shù)據(jù)的錄播功能。
在某些實(shí)施例中,輸入和輸出的碼流數(shù)據(jù)為高清碼流數(shù)據(jù),所述高清碼流數(shù)據(jù)包括720p或1080p碼流數(shù)據(jù)。配置信息可以依據(jù)實(shí)際帶寬進(jìn)行設(shè)置,例如高清碼流數(shù)據(jù)為h264協(xié)議的1080p碼流數(shù)據(jù),所獲取碼流數(shù)據(jù)為4路碼流數(shù)據(jù),所述碼流輸出單元輸出的碼流數(shù)據(jù)為2路第二yuv數(shù)據(jù),表示所述裝置可以同步處理4路1080p碼流數(shù)據(jù);再比如高清碼流數(shù)據(jù)為h264協(xié)議的720p碼流數(shù)據(jù),所獲取碼流數(shù)據(jù)為8路碼流數(shù)據(jù),所述碼流輸出單元輸出的碼流數(shù)據(jù)為2路第二yuv數(shù)據(jù),表示所述裝置可以同步處理8路720p碼流數(shù)據(jù)。
請參閱圖2,為本發(fā)明一實(shí)施方式涉及的基于arm處理器的視頻錄播的方法的示流程圖。所述方法應(yīng)用于基于arm處理器的視頻錄播裝置,所述裝置包括碼流輸入單元、vpu解碼單元、圖像合成單元、vpu編碼單元和碼流輸出單元;所述碼流輸入單元和vpu解碼單元連接,所述vpu解碼單元和圖像合成單元連接,所述圖像合成單元和vpu編碼單元連接,所述vpu編碼單元和碼流輸出單元連接;所述方法包括以下步驟:
首先進(jìn)入步驟s201碼流輸入單元獲取碼流數(shù)據(jù)。所述碼流數(shù)據(jù)包括單路碼流數(shù)據(jù)或多路碼流數(shù)據(jù)。在本實(shí)施方式中,所述碼流數(shù)據(jù)為視頻碼流數(shù)據(jù),包括多幀圖像數(shù)據(jù)。
而后進(jìn)入步驟s202vpu解碼單元將碼流輸入單元獲取的碼流數(shù)據(jù)解碼為第一yuv數(shù)據(jù)。碼流數(shù)據(jù)在進(jìn)行合成處理前,需要進(jìn)行解碼進(jìn)行,具體是將視頻碼流數(shù)據(jù)解碼為一幀一幀的圖像數(shù)據(jù)。
而后進(jìn)入步驟s203圖像合成單元根據(jù)預(yù)設(shè)配置信息將解碼后的第一yuv數(shù)據(jù)重新合成為單路或多路的yuv數(shù)據(jù),得到第二yuv數(shù)據(jù)。
而后進(jìn)入步驟s204vpu編碼單元對第二yuv數(shù)據(jù)進(jìn)行編碼。
而后進(jìn)入步驟s205碼流輸出單元輸出單路或多路編碼后的碼流數(shù)據(jù)。
在某些實(shí)施例中,所述裝置還包括存儲單元,所述存儲單元與碼流輸出單元連接,所述方法包括:碼流輸出單元將編碼后的碼流數(shù)據(jù)保存至所述存儲單元。所述存儲單元為具有數(shù)據(jù)存儲功能的電子元件,將編碼后的碼流數(shù)據(jù)保存至存儲單元中,當(dāng)下次需要調(diào)用時(shí)就可以從所述存儲單元提取編碼后的碼流數(shù)據(jù),并通過碼流輸出單元傳輸至顯示單元進(jìn)行播放,進(jìn)而實(shí)現(xiàn)視頻數(shù)據(jù)的錄播功能。
在本實(shí)施方式中,所述裝置包括gpu處理單元,所述“vpu編碼單元和碼流輸出單元連接”包括:所述vpu編碼單元與gpu處理單元連接,所述gpu處理單元與和碼流輸出單元連接;所述方法包括:gpu處理單元接收vpu編碼單元編碼后的碼流數(shù)據(jù),并對編碼后的碼流數(shù)據(jù)進(jìn)行第一處理,碼流輸出單元輸出執(zhí)行第一處理后的碼流數(shù)據(jù)。所述第一處理包括在輸出碼流中間插入廣告或者字幕數(shù)據(jù)流。
本發(fā)明提供了一種基于arm處理器的視頻錄播的方法和裝置,所述方法包括以下步驟:碼流輸入單元獲取碼流數(shù)據(jù),所述碼流數(shù)據(jù)包括單路碼流數(shù)據(jù)或多路碼流數(shù)據(jù);vpu解碼單元將碼流輸入單元獲取的碼流數(shù)據(jù)解碼為第一yuv數(shù)據(jù);圖像合成單元根據(jù)預(yù)設(shè)配置信息將解碼后的第一yuv數(shù)據(jù)重新合成為單路或多路的yuv數(shù)據(jù),得到第二yuv數(shù)據(jù);vpu編碼單元對第二yuv數(shù)據(jù)進(jìn)行編碼;碼流輸出單元輸出單路或多路編碼后的碼流數(shù)據(jù)。本發(fā)明具有以下優(yōu)點(diǎn):將視頻碼流數(shù)據(jù)的接收、解碼、合成、編碼分別由不同的硬件進(jìn)行處理,可以有效實(shí)現(xiàn)整個視頻流數(shù)據(jù)的流水線處理,具有性能好、成本低、功耗小等特點(diǎn)。
需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實(shí)體或者操作與另一個實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者終端設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者終端設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括……”或“包含……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者終端設(shè)備中還存在另外的要素。此外,在本文中,“大于”、“小于”、“超過”等理解為不包括本數(shù);“以上”、“以下”、“以內(nèi)”等理解為包括本數(shù)。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,上述各實(shí)施例可提供為方法、裝置、或計(jì)算機(jī)程序產(chǎn)品。這些實(shí)施例可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。上述各實(shí)施例涉及的方法中的全部或部分步驟可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以存儲于計(jì)算機(jī)設(shè)備可讀取的存儲介質(zhì)中,用于執(zhí)行上述各實(shí)施例方法所述的全部或部分步驟。所述計(jì)算機(jī)設(shè)備,包括但不限于:個人計(jì)算機(jī)、服務(wù)器、通用計(jì)算機(jī)、專用計(jì)算機(jī)、網(wǎng)絡(luò)設(shè)備、嵌入式設(shè)備、可編程設(shè)備、智能移動終端、智能家居設(shè)備、穿戴式智能設(shè)備、車載智能設(shè)備等;所述的存儲介質(zhì),包括但不限于:ram、rom、磁碟、磁帶、光盤、閃存、u盤、移動硬盤、存儲卡、記憶棒、網(wǎng)絡(luò)服務(wù)器存儲、網(wǎng)絡(luò)云存儲等。
上述各實(shí)施例是參照根據(jù)實(shí)施例所述的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到計(jì)算機(jī)設(shè)備的處理器以產(chǎn)生一個機(jī)器,使得通過計(jì)算機(jī)設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲在能引導(dǎo)計(jì)算機(jī)設(shè)備以特定方式工作的計(jì)算機(jī)設(shè)備可讀存儲器中,使得存儲在該計(jì)算機(jī)設(shè)備可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)設(shè)備上,使得在計(jì)算機(jī)設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
盡管已經(jīng)對上述各實(shí)施例進(jìn)行了描述,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實(shí)施例做出另外的變更和修改,所以以上所述僅為本發(fā)明的實(shí)施例,并非因此限制本發(fā)明的專利保護(hù)范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍之內(nèi)。