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

      軟硬件結(jié)合解碼的通用多媒體播放設(shè)備的制作方法

      文檔序號(hào):7820216閱讀:156來源:國(guó)知局
      專利名稱:軟硬件結(jié)合解碼的通用多媒體播放設(shè)備的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明屬于數(shù)字多媒體技術(shù)領(lǐng)域,具體涉及一種軟硬件結(jié)合解碼的通用多媒體播放設(shè)備及其播放方 法。
      背景技術(shù)
      隨著嵌入式技術(shù)發(fā)展,近些年來,各種各樣的智能終端產(chǎn)品都迅速發(fā)展起來,例如高清多媒體終端、一體機(jī)、移動(dòng)數(shù)字電視以及手持電視終端等等。智能終端產(chǎn)品中,很重要的一項(xiàng)功能就是多媒體功能,包括瀏覽圖片,播放、錄制音視頻。隨著人們的生活水平的提高,人們對(duì)智能終端的多媒體處理能力的要求也越來越高,比如期待著可以在MP4上播放各種格式的高清視頻?,F(xiàn)有的各種智能終端上,其多媒體部分功能的實(shí)現(xiàn)千差萬別,因此對(duì)于多媒體中最核心的音視頻的編解碼部分,有基于純軟件的實(shí)現(xiàn),也有基于硬件的實(shí)現(xiàn)。現(xiàn)有技術(shù)中,用的較多,采用純軟件解碼實(shí)現(xiàn)這種方式,對(duì)于碼率低,分辨率低的視頻,純軟件尚能獲得預(yù)期的播放效果,但是對(duì)于高清視頻,其處理能力受限與其所運(yùn)行的 CPU處理能力?;谟布?shí)現(xiàn)編解碼這種方式,一般是利用專門的硬件去實(shí)現(xiàn)解碼中的某些比較耗時(shí)的環(huán)節(jié)或者通過專門的解碼器去實(shí)現(xiàn)特定格式的視頻流解碼,一般而言硬件解碼處理能力較軟件解碼強(qiáng),但是由于各種硬件平臺(tái)的不同,因此造成了各種硬件解碼的解決方案千差萬別,很難有一個(gè)統(tǒng)一的解決方案能適用于較多的硬件平臺(tái)。本發(fā)明因此而來。
      發(fā)明內(nèi)容本發(fā)明目的在于提供一種軟硬件結(jié)合解碼的通用多媒體播放設(shè)備,解決了現(xiàn)有技術(shù)中智能終端產(chǎn)品播放多媒體文件時(shí)軟件解碼效果不佳、解碼速度慢而硬件解碼難以通用等問題。為了解決現(xiàn)有技術(shù)中的這些問題,本發(fā)明提供的技術(shù)方案是一種軟硬件結(jié)合解碼的通用多媒體播放設(shè)備,包括多媒體信息采集裝置、多媒體處理裝置和多媒體顯示裝置,其特征在于所述多媒體處理裝置包括根據(jù)多媒體文件的類型對(duì)多媒體信息進(jìn)行解析的文件解析模塊、對(duì)解析后的多媒體音/視頻流信息進(jìn)行解碼的解碼模塊以及接受解碼模塊解碼后的多媒體信息輸出給多媒體顯示裝置供多媒體顯示裝置顯示的輸出模塊。優(yōu)選的,所述解碼模塊選自調(diào)用解碼硬件對(duì)多媒體信息進(jìn)行解碼的硬件解碼模塊和調(diào)用與多媒體信息相關(guān)的解碼軟件進(jìn)行解碼的軟件解碼模塊,所述文件解析模塊對(duì)多媒體信息解析后多媒體處理裝置根據(jù)解析后的多媒體信息判斷多媒體信息的解碼速度調(diào)用硬件解碼模塊或軟件解碼模塊。優(yōu)選的,所述設(shè)備還包括多媒體播放控制裝置,所述多媒體播放控制裝置接受用戶輸入的指令根據(jù)用戶指令控制協(xié)調(diào)多媒體信息采集裝置、多媒體處理裝置和多媒體顯示裝置工作。優(yōu)選的,所述多媒體處理裝置還包括設(shè)置在文件解析之前對(duì)多媒體信息的文件格CN 202111812 U
      說明書
      2/5頁(yè)
      式進(jìn)行判斷的格式判斷模塊,所述格式判斷模塊進(jìn)行文件格式判斷后將文件格式傳輸給文件解析模塊,所述文件解析模塊將多媒體信息解析成音頻和視頻流。優(yōu)選的,所述文件解析模塊與解碼模塊間設(shè)置多媒體分離模塊,所述多媒體分離模塊根據(jù)文件解析模塊解析的結(jié)果將音頻流和視頻流分離,并提交給多媒體播放控制裝置供多媒體播放控制裝置控制分配解碼模塊;所述解碼模塊根據(jù)多媒體播放控制裝置的指令對(duì)獲得的多媒體流進(jìn)行解碼操作,并將解碼操作后的多媒體流通過輸出模塊輸出給多媒體顯不裝置顯不。優(yōu)選的,所述解碼模塊包括解碼內(nèi)核、注冊(cè)模塊和若干個(gè)與具體解碼組件,所述具體解碼組件通過注冊(cè)模塊向解碼內(nèi)核注冊(cè),加入到解碼模塊中;所述解碼模塊進(jìn)行解碼時(shí), 所述多媒體播放控制裝置查詢解碼內(nèi)核的具體解碼組件,通過具體解碼組件的句柄調(diào)用具體解碼組件進(jìn)行解碼操作。優(yōu)選的,所述解碼模塊與文件解析模塊間、所述解碼模塊與輸出模塊間通過共享緩沖區(qū)來實(shí)現(xiàn)模塊間的通信。本發(fā)明提供了一種通過軟硬件結(jié)合解碼進(jìn)行通用多媒體播放的方法,其特征在于所述方法包括以下步驟(1)根據(jù)多媒體文件類型對(duì)多媒體信息進(jìn)行解析,形成音頻流和或視頻流信息;(2)對(duì)解析后的多媒體音/視頻流信息通過軟硬件結(jié)合的方式進(jìn)行解碼;(3)將接受解碼模塊解碼后的多媒體信息輸出顯示。優(yōu)選的,所述步驟(2)進(jìn)行解碼時(shí)根據(jù)多媒體音/視頻流信息的解碼速度選擇使用軟件解碼模塊或者硬件解碼模塊。優(yōu)選的,所述解碼模塊內(nèi)預(yù)注冊(cè)若干個(gè)具體解碼組件,進(jìn)行解碼時(shí),多媒體播放控制裝置通過解碼內(nèi)核調(diào)用具體解碼組件進(jìn)行解碼操作,解碼操作后多媒體播放控制裝置控制解碼后多媒體音/視頻流信息輸出或儲(chǔ)存。優(yōu)選的,所述解碼模塊與文件解析模塊間、所述解碼模塊與輸出模塊間通過共享緩沖區(qū)來實(shí)現(xiàn)模塊間的通信。本發(fā)明提出一種通用的軟硬件結(jié)合的多媒體播放設(shè)備,可以將多媒體的軟硬件解碼有機(jī)的結(jié)合起來,對(duì)于一般音視頻,直接采用軟件解碼,對(duì)于軟件不能勝任的解碼任務(wù), 可以直接采用硬件解碼,加快解碼速度。并且,本發(fā)明的硬件解碼的函數(shù)接口是統(tǒng)一的,不受限于具體的硬件平臺(tái),因此整個(gè)解決方案具有良好的可移植性,可以運(yùn)行在不同的硬件平臺(tái)上。本發(fā)明通用的軟硬件結(jié)合的多媒體播放設(shè)備主要包括依次設(shè)置的多媒體處理裝置和一個(gè)多媒體播放控制裝置。多媒體處理裝置包括文件格式判斷模塊,文件解析模塊,音視頻分離模塊,音視頻解碼模塊等等,各個(gè)模塊以插件的形式注冊(cè)到多媒體播放控制裝置中,而多媒體播放控制裝置則負(fù)責(zé)接受用戶的各種命令,并且根據(jù)用戶的命令去協(xié)調(diào)各個(gè)模塊的工作,模塊與模塊之間是通過共享緩沖區(qū)通信。其中,音視頻解碼模塊則分為軟件解碼模塊和硬件解碼模塊兩種,兩種模塊分別都有一個(gè)自己的解碼內(nèi)核,負(fù)責(zé)與多媒體播放控制裝置進(jìn)行交互。硬件解碼模塊具體而言, 包含了硬件解碼內(nèi)核和各種硬件解碼組件。硬件解碼內(nèi)核與各種硬件解碼組件都遵循具體的規(guī)范標(biāo)準(zhǔn),各種硬件廠商去按照具體的規(guī)范標(biāo)準(zhǔn)去實(shí)現(xiàn)自己的硬件內(nèi)核和硬件解碼組件,然后多媒體播放控制裝置通過調(diào)用硬件內(nèi)核來與各種硬件解碼組件進(jìn)行交互。對(duì)于軟件解碼模塊,其過程與硬件解碼模塊一致,只是具體的解碼組件是由純粹的軟件實(shí)現(xiàn)。整個(gè)多媒體播放設(shè)備中文件解析模塊負(fù)責(zé)對(duì)所需要處理的音視頻格式進(jìn)行判斷和解析。判斷即判斷音視頻文件的容器格式和編碼所采用的標(biāo)準(zhǔn),解析即從音視頻文件中解析出相關(guān)的標(biāo)簽信息,比如MP3文件,解析出作曲家,流派,所屬專輯等信息。在本發(fā)明中,可以將一些常用的音視頻格式設(shè)計(jì)文件解析模塊。解碼模塊分為硬件解碼模塊和軟件解碼模塊。硬件解碼模塊和軟件解碼模塊均以.so動(dòng)態(tài)鏈接庫(kù)的形式存在,在需要進(jìn)行解碼的時(shí)候通過多媒體播放控制裝置去調(diào)用它。硬件(軟件)解碼模塊運(yùn)行時(shí)候通過去查詢硬件(軟件)內(nèi)核,獲得當(dāng)前系統(tǒng)中存在哪些硬件(軟件)解碼組件,然后通過對(duì)應(yīng)的句柄去調(diào)用具體的硬件(軟件)解碼組件。每個(gè)具體的硬件(軟件)解碼組件都必須遵循一定的規(guī)范,并且在被調(diào)用之前必須向硬件(軟件)內(nèi)核去注冊(cè),以便被解碼模塊查詢到。硬件和軟件解碼模塊的區(qū)別在于前者是通過硬件廠商的專門的硬件去實(shí)現(xiàn),后者是通過軟件方式去實(shí)現(xiàn)。在本發(fā)明中,軟件解碼模塊可以通過將 ffmpeg庫(kù)封裝實(shí)現(xiàn)。輸出模塊在經(jīng)過解碼模塊解碼后,從解碼模塊中流出的即是原始的音視頻數(shù)據(jù)流,通過輸出模塊,可以將原始的音視頻數(shù)據(jù)流送入到指定的地方,比如送入到顯示系統(tǒng)去顯示或者寫入到文件。相對(duì)于現(xiàn)有技術(shù)中的方案,本發(fā)明的優(yōu)點(diǎn)是在本發(fā)明中,實(shí)際上就是將軟件解碼和硬件解碼的各種差異屏蔽掉,為上層的多媒體框架提供一個(gè)統(tǒng)一的調(diào)用接口 ;相比如其它的多媒體播放方法,本發(fā)明可以最大限度的利用硬件平臺(tái)的處理能力,提高多媒體的處理能力。并且,通過統(tǒng)一的接口,將各種硬件解碼部件進(jìn)行抽象,從而屏蔽了不同硬件之間的差異,使得多媒體播放設(shè)備具有良好的可移植性。
      以下結(jié)合附圖及實(shí)施例對(duì)本發(fā)明作進(jìn)一步描述

      圖1為本發(fā)明實(shí)施例軟硬件結(jié)合解碼的通用多媒體播放設(shè)備的結(jié)構(gòu)框圖;圖2為本發(fā)明實(shí)施例解碼模塊的工作流程圖;圖3為本發(fā)明實(shí)施例進(jìn)行通用多媒體播放的流程圖。
      具體實(shí)施方式
      以下結(jié)合具體實(shí)施例對(duì)上述方案做進(jìn)一步說明。應(yīng)理解,這些實(shí)施例是用于說明本發(fā)明而不限于限制本發(fā)明的范圍。實(shí)施例中采用的實(shí)施條件可以根據(jù)具體廠家的條件做進(jìn)一步調(diào)整,未注明的實(shí)施條件通常為常規(guī)實(shí)驗(yàn)中的條件。
      實(shí)施例如圖1所示為本發(fā)明實(shí)施例可用的軟硬件結(jié)合解碼的通用多媒體播放設(shè)備,包括多媒體信息采集裝置、多媒體處理裝置、多媒體顯示裝置和多媒體播放控制裝置,所述多媒體處理裝置包括設(shè)置在文件解析之前對(duì)多媒體信息的文件格式進(jìn)行判斷的格式判斷模塊、根據(jù)多媒體文件的類型對(duì)多媒體信息進(jìn)行解析的文件解析模塊、對(duì)解析后的多媒體音/視頻流信息進(jìn)行解碼的解碼模塊以及接受解碼模塊解碼后的多媒體信息輸出給多媒體顯示裝置供多媒體顯示裝置顯示的輸出模塊;所述格式判斷模塊進(jìn)行文件格式判斷后將文件格式傳輸給文件解析模塊,所述文件解析模塊將多媒體信息解析成音頻和視頻流。解碼模塊選自調(diào)用解碼硬件對(duì)多媒體信息進(jìn)行解碼的硬件解碼模塊和調(diào)用與多媒體信息相關(guān)的解碼軟件進(jìn)行解碼的軟件解碼模塊,所述文件解析模塊對(duì)多媒體信息解析后多媒體處理裝置根據(jù)解析后的多媒體信息判斷多媒體信息的解碼速度調(diào)用硬件解碼模塊或軟件解碼模塊。多媒體播放控制裝置接受用戶輸入的指令根據(jù)用戶指令控制協(xié)調(diào)多媒體信息采集裝置、多媒體處理裝置和多媒體顯示裝置工作。文件解析模塊與解碼模塊間設(shè)置多媒體分離模塊,所述多媒體分離模塊根據(jù)文件解析模塊解析的結(jié)果將音頻流和視頻流分離,并提交給多媒體播放控制裝置供多媒體播放控制裝置控制分配解碼模塊;所述解碼模塊根據(jù)多媒體播放控制裝置的指令對(duì)獲得的多媒體流進(jìn)行解碼操作,并將解碼操作后的多媒體流通過輸出模塊輸出給多媒體顯示裝置顯示。解碼模塊包括解碼內(nèi)核、注冊(cè)模塊和若干個(gè)與具體解碼組件,所述具體解碼組件通過注冊(cè)模塊向解碼內(nèi)核注冊(cè),加入到解碼模塊中;所述解碼模塊進(jìn)行解碼時(shí),所述多媒體播放控制裝置查詢解碼內(nèi)核的具體解碼組件,通過具體解碼組件的句柄調(diào)用具體解碼組件進(jìn)行解碼操作。所述解碼模塊與文件解析模塊間、所述解碼模塊與輸出模塊間通過共享緩沖區(qū)來實(shí)現(xiàn)模塊間的通信。進(jìn)行通用多媒體播放時(shí),播放設(shè)備內(nèi)部通過如下方式進(jìn)行操作( 1)根據(jù)多媒體文件類型對(duì)多媒體信息進(jìn)行解析,形成音頻流和或視頻流信息;(2)對(duì)解析后的多媒體音/視頻流信息通過軟硬件結(jié)合的方式進(jìn)行解碼;(3)將接受解碼模塊解碼后的多媒體信息輸出顯示。其中步驟(2)進(jìn)行解碼時(shí)根據(jù)多媒體音/視頻流信息的解碼速度選擇使用軟件解碼模塊或者硬件解碼模塊。所述解碼模塊內(nèi)預(yù)注冊(cè)若干個(gè)具體解碼組件,進(jìn)行解碼時(shí),多媒體播放控制裝置通過解碼內(nèi)核調(diào)用具體解碼組件進(jìn)行解碼操作,解碼操作后多媒體播放控制裝置控制解碼后多媒體音/視頻流信息輸出或儲(chǔ)存。所述解碼模塊與文件解析模塊間、 所述解碼模塊與輸出模塊間通過共享緩沖區(qū)來實(shí)現(xiàn)模塊間的通信。以上各個(gè)模塊之間是通過共享緩沖區(qū)來實(shí)現(xiàn)模塊與模塊之間的通信,在使用模塊之前,必須連接它以便從模塊中獲取處理后的數(shù)據(jù)。在整個(gè)多媒體設(shè)備中,最重要的就是解碼模塊。目前該多媒體設(shè)備中以ffmpeg為解碼庫(kù)實(shí)現(xiàn)了常用的軟件解碼模塊和相對(duì)應(yīng)的軟件解碼內(nèi)核。上層的多媒體設(shè)備與硬件(軟件)內(nèi)核進(jìn)行交互的過程如下,整個(gè)過程的交互圖如圖2。1)內(nèi)核通過hit ()函數(shù)初始化;2)多媒體框架通過ComponentEnum ()函數(shù)去查詢當(dāng)前在內(nèi)核中注冊(cè)過的解碼組件;3)多媒體框架通過查詢得到的解碼組件信息來決定是否采用當(dāng)前解碼組件來進(jìn)行解碼,如果采用該解碼組件,則進(jìn)一步通過GetHandle ()來獲得該解碼組件的句柄;[0047]4)通過解碼組件的句柄與解碼組件進(jìn)行通信,首先將需要解碼的幀數(shù)據(jù)送入到解碼組件,然后從解碼組件中獲得解碼后的數(shù)據(jù),將其送入到多媒體框架中去;
      5)通過FreeHandle ()釋放掉解碼組件;6)通過Free ()來釋放對(duì)內(nèi)核的控制權(quán)。多媒體播放控制裝置與硬件(軟件)解碼組件進(jìn)行交互的過程如下 1)通過解碼組件句柄來調(diào)用Componentlnit ()來對(duì)解碼組件進(jìn)行初始化;2)在初始化之后,通過SetParamterO來設(shè)置當(dāng)前需要幀解碼的參數(shù),比如設(shè)置當(dāng)前幀序列編號(hào)和當(dāng)前音視頻時(shí)間戳。)通過ConstructComponent()來構(gòu)造相應(yīng)的解碼組件實(shí)例,然后通過Decode () 函數(shù)對(duì)當(dāng)前幀數(shù)據(jù)進(jìn)行解碼,具體的解碼過程的實(shí)現(xiàn)是依靠純軟件實(shí)現(xiàn)或者硬件實(shí)現(xiàn)。)通過GetDecode()函數(shù)來獲取當(dāng)前解碼后的數(shù)據(jù),并且將其送入到多媒體播放控制裝置中去。為了更好說明本發(fā)明所涉及到的方法,下面以一個(gè)具體的音頻播放的例子來說明整個(gè)多媒體播放控制裝置對(duì)多媒體處理的流程首先硬件廠商用自己的SDK去實(shí)現(xiàn)本發(fā)明中所提出的解碼組件的各種函數(shù);在本發(fā)明中,所有的音視頻解碼組件編解碼的對(duì)象是一幀幀的壓縮過的數(shù)據(jù),并不是一段段的音視頻流,因此硬件廠商需要去用其硬件部件去實(shí)現(xiàn)解碼幀數(shù)據(jù)中的各種功能,比如反量化運(yùn)算、熵運(yùn)算等等。硬件廠商按照預(yù)設(shè)的規(guī)范去實(shí)現(xiàn)一個(gè)解碼模塊內(nèi)核,通過內(nèi)核與上層的多媒體播放控制裝置(也可以通過軟件實(shí)現(xiàn))進(jìn)行交互;在實(shí)現(xiàn)內(nèi)核的時(shí)候,需要將已經(jīng)實(shí)現(xiàn)的各種解碼組件注冊(cè)到內(nèi)核中,并且要將各個(gè)模塊的處理能力和一些參數(shù)信息注冊(cè)到內(nèi)核,方便多媒體播放控制裝置查詢。在多媒體播放控制裝置中,通過修改配置文件,將實(shí)現(xiàn)的硬件內(nèi)核以模塊(節(jié)點(diǎn)) 的形式注冊(cè)到多媒體播放控制裝置(或多媒體播放控制裝置中軟件實(shí)現(xiàn)的多媒體引擎)中去,以多媒體播放控制裝置(或多媒體播放控制裝置中軟件實(shí)現(xiàn)的多媒體引擎)可以調(diào)用該解碼節(jié)點(diǎn)。通過多媒體播放控制裝置中軟件實(shí)現(xiàn)的多媒體引擎,來創(chuàng)建一個(gè)多媒體播放對(duì)象,多媒體播放對(duì)象通過調(diào)用多媒體播放控制裝置來調(diào)用整個(gè)播放框架中不同的模塊,多媒體播放控制裝置中軟件實(shí)現(xiàn)的多媒體引擎通過格式判斷模塊來判斷所處理的文件格式, 然后根據(jù)音視頻格式去調(diào)用相應(yīng)的解碼模塊去解碼數(shù)據(jù)。在默認(rèn)的情況下面,音視頻解碼后的輸出數(shù)據(jù)直接輸出到文件中,并不是輸出到音頻輸出設(shè)備或者顯示系統(tǒng)中,對(duì)與本發(fā)明的使用者,可以通過修改輸出模塊來將音視頻解碼后的數(shù)據(jù)輸出到指定的設(shè)備中去播放或者顯示出來。上述實(shí)例只為說明本發(fā)明的技術(shù)構(gòu)思及特點(diǎn),其目的在于讓熟悉此項(xiàng)技術(shù)的人是能夠了解本發(fā)明的內(nèi)容并據(jù)以實(shí)施,并不能以此限制本發(fā)明的保護(hù)范圍。凡根據(jù)本發(fā)明精神實(shí)質(zhì)所做的等效變換或修飾,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。
      權(quán)利要求1.一種軟硬件結(jié)合解碼的通用多媒體播放設(shè)備,包括多媒體信息采集裝置、多媒體處理裝置和多媒體顯示裝置,其特征在于所述多媒體處理裝置包括根據(jù)多媒體文件的類型對(duì)多媒體信息進(jìn)行解析的文件解析模塊、對(duì)解析后的多媒體音/視頻流信息進(jìn)行解碼的解碼模塊以及接受解碼模塊解碼后的多媒體信息輸出給多媒體顯示裝置供多媒體顯示裝置顯示的輸出模塊。
      2.根據(jù)權(quán)利要求1所述的軟硬件結(jié)合解碼的通用多媒體播放設(shè)備,其特征在于所述設(shè)備還包括多媒體播放控制裝置,所述多媒體播放控制裝置接受用戶輸入的指令根據(jù)用戶指令控制協(xié)調(diào)多媒體信息采集裝置、多媒體處理裝置和多媒體顯示裝置工作。
      專利摘要本實(shí)用新型公開了一種軟硬件結(jié)合解碼的通用多媒體播放設(shè)備,包括多媒體信息采集裝置、多媒體處理裝置和多媒體顯示裝置,其特征在于所述多媒體處理裝置包括根據(jù)多媒體文件的類型對(duì)多媒體信息進(jìn)行解析的文件解析模塊、對(duì)解析后的多媒體音/視頻流信息進(jìn)行解碼的解碼模塊以及接受解碼模塊解碼后的多媒體信息輸出給多媒體顯示裝置供多媒體顯示裝置顯示的輸出模塊。該設(shè)備可以最大限度的利用硬件平臺(tái)的處理能力,提高多媒體的處理能力。
      文檔編號(hào)H04N7/52GK202111812SQ20112001257
      公開日2012年1月11日 申請(qǐng)日期2011年1月17日 優(yōu)先權(quán)日2011年1月17日
      發(fā)明者劉靜, 王海, 章登義 申請(qǐng)人:博視聯(lián)(蘇州)信息科技有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1