一種視頻解碼方法及數(shù)字電視的制作方法
【專利摘要】本發(fā)明實(shí)施例公開了一種視頻解碼方法及數(shù)字電視,涉及電子技術(shù)領(lǐng)域,可以通過數(shù)字電視中集成的VPU實(shí)現(xiàn)不同格式數(shù)據(jù)流的解碼。具體方案為:SoC芯片上集成有VPU的數(shù)字電視在接收到VPU調(diào)用指令后,對(duì)VPU進(jìn)行初始化,以獲得VPU的解碼固件,解碼固件中包含用于解碼的至少一個(gè)解碼算法,至少一個(gè)解碼算法中的每一個(gè)解碼算法對(duì)應(yīng)一種編碼格式,VPU調(diào)用指令中攜帶有待解碼數(shù)據(jù)流;根據(jù)解碼固件,創(chuàng)建編碼格式與待解碼數(shù)據(jù)流的編碼格式相同的VPU解碼器實(shí)例;采用VPU解碼器實(shí)例對(duì)待解碼數(shù)據(jù)流進(jìn)行解碼,并獲得解碼輸出信息。本發(fā)明用于數(shù)字電視的視頻解碼過程中。
【專利說明】
一種視頻解碼方法及數(shù)字電視
技術(shù)領(lǐng)域
[0001 ]本發(fā)明涉及電子技術(shù)領(lǐng)域,尤其涉及一種視頻解碼方法及數(shù)字電視。
【背景技術(shù)】
[0002]隨著信息技術(shù)迅速發(fā)展,越來越多的電子終端開始進(jìn)入人們的生活,如智能手機(jī)、高清數(shù)字電視等。其中,數(shù)字電視可以接收經(jīng)過編碼的數(shù)據(jù)流,然后對(duì)接收到的數(shù)據(jù)流進(jìn)行解碼,從而實(shí)現(xiàn)數(shù)據(jù)流對(duì)應(yīng)電視節(jié)目的播放。
[0003]現(xiàn)有的視頻解碼技術(shù)中,考慮到高清視頻的分辨率和高碼較高,如果采用高清電視的中央處理器(英文:Central Processing Unit,簡(jiǎn)稱:CPU)進(jìn)行解碼會(huì)消耗CPU運(yùn)算能力,一般將解碼任務(wù)交給單獨(dú)設(shè)置的硬件電路模塊,即由單獨(dú)設(shè)置的硬件電路模塊對(duì)數(shù)字電視接收的數(shù)據(jù)流進(jìn)行解碼。
[0004]但是,雖然將解碼任務(wù)交給單獨(dú)設(shè)置的硬件電路模塊,可以緩解解碼任務(wù)對(duì)CPU的占用;但是,上述單獨(dú)設(shè)置的硬件電路模塊能夠支持的解碼視頻格式單一,即一個(gè)硬件電路模塊可能只能對(duì)采用一種編碼格式進(jìn)行編碼的視頻進(jìn)行解碼。如此,數(shù)字電視如果要播放不同編碼格式的數(shù)據(jù)流對(duì)應(yīng)的視頻,則需要設(shè)置多個(gè)支持該不同解碼格式的硬件電路模塊。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的實(shí)施例提供一種視頻解碼方法及數(shù)字電視,可以通過數(shù)字電視中集成的VPU實(shí)現(xiàn)不同格式數(shù)據(jù)流的解碼。
[0006]為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案:
[0007]本發(fā)明實(shí)施例的第一方面,提供一種視頻解碼方法,應(yīng)用于數(shù)字電視,所述數(shù)字電視的片上系統(tǒng)SoC芯片上集成有視頻處理單元VPU,所述方法包括:
[0008]在接收到VPU調(diào)用指令后,對(duì)所述VPU進(jìn)行初始化,以獲得所述VPU的解碼固件,所述解碼固件中包含用于解碼的至少一個(gè)解碼算法,所述至少一個(gè)解碼算法中的每一個(gè)解碼算法對(duì)應(yīng)一種編碼格式,所述VPU調(diào)用指令中攜帶有待解碼數(shù)據(jù)流;
[0009]根據(jù)所述解碼固件,創(chuàng)建編碼格式與所述待解碼數(shù)據(jù)流的編碼格式相同的VPU解碼器實(shí)例;
[0010]采用所述VPU解碼器實(shí)例對(duì)所述待解碼數(shù)據(jù)流進(jìn)行解碼,并獲得解碼輸出信息,所述解碼輸出信息中包含解碼得到的至少一幀數(shù)據(jù)中每幀數(shù)據(jù)的幀信息,所述幀信息至少包括該幀數(shù)據(jù)的幀顯示索引、幀解碼索引和幀類型。
[0011]本發(fā)明實(shí)施例的第二方面,提供一種數(shù)字電視,所述數(shù)字電視的片上系統(tǒng)SoC芯片上集成有視頻處理單元VPU,所述數(shù)字電視包括:
[0012]接收模塊,用于接收VPU調(diào)用指令,所述VPU調(diào)用指令中攜帶有待解碼數(shù)據(jù)流;
[0013]初始化模塊,用于在所述接收模塊接收到VHJ調(diào)用指令后,對(duì)所述VPU進(jìn)行初始化,以獲得所述VHJ的解碼固件,所述解碼固件中包含用于解碼的至少一個(gè)解碼算法,所述至少一個(gè)解碼算法中的每一個(gè)解碼算法對(duì)應(yīng)一種編碼格式;
[0014]創(chuàng)建模塊,用于根據(jù)所述解碼固件,創(chuàng)建編碼格式與所述待解碼數(shù)據(jù)流的編碼格式相同的VHJ解碼器實(shí)例;
[0015]解碼模塊,用于采用所述創(chuàng)建模塊創(chuàng)建的所述VPU解碼器實(shí)例對(duì)所述待解碼數(shù)據(jù)流進(jìn)行解碼,并獲得解碼輸出信息,所述解碼輸出信息中包含解碼得到的至少一幀數(shù)據(jù)中每幀數(shù)據(jù)的幀信息,所述幀信息至少包括該幀數(shù)據(jù)的幀顯示索引、幀解碼索引和幀類型。
[0016]本發(fā)明實(shí)施例提供的視頻解碼方法及數(shù)字電視,在數(shù)字電視的SoC芯片上集成了支持多格式視頻解碼的VPU,如此,在接收到有待解碼數(shù)據(jù)流的VHJ調(diào)用指令后,則可以對(duì)VPU進(jìn)行初始化獲得VPU的解碼固件,并根據(jù)解碼固件,創(chuàng)建編碼格式與待解碼數(shù)據(jù)流的編碼格式相同的VPU解碼器實(shí)例,采用VPU解碼器實(shí)例對(duì)待解碼數(shù)據(jù)流進(jìn)行解碼獲得解碼輸出?目息O
[0017]與現(xiàn)有技術(shù)在數(shù)字電視中設(shè)置多個(gè)支持該不同解碼格式的硬件電路模塊相比,本方案中僅需要在數(shù)字電視的SoC芯片上集成了支持多格式視頻解碼的VPU,便可以使得數(shù)字電視支持多格式視頻解碼,實(shí)現(xiàn)多種不同格式數(shù)據(jù)流的視頻播放,提高了數(shù)字電視的解碼效率。
【附圖說明】
[0018]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0019]圖1為本發(fā)明實(shí)施例提供的一種數(shù)字電視的結(jié)構(gòu)組成示意圖;
[0020]圖2為本發(fā)明實(shí)施例提供的一種用于實(shí)現(xiàn)視頻解碼的驅(qū)動(dòng)框架示意圖;
[0021 ]圖3為本發(fā)明實(shí)施例提供的一種視頻解碼方法流程圖;
[0022]圖4為本發(fā)明實(shí)施例提供的另一種視頻解碼方法流程圖;
[0023]圖5為本發(fā)明實(shí)施例提供的另一種視頻解碼方法流程圖;
[0024]圖6為本發(fā)明實(shí)施例提供的另一種視頻解碼方法流程圖;
[0025]圖7為本發(fā)明實(shí)施例提供的一種數(shù)字電視的結(jié)構(gòu)組成示意圖;
[0026]圖8為本發(fā)明實(shí)施例提供的另一種數(shù)字電視的結(jié)構(gòu)組成示意圖;
[0027]圖9為本發(fā)明實(shí)施例提供的另一種數(shù)字電視的結(jié)構(gòu)組成示意圖;
[0028]圖10為本發(fā)明實(shí)施例提供的另一種數(shù)字電視的結(jié)構(gòu)組成示意圖。
【具體實(shí)施方式】
[0029]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0030]本發(fā)明實(shí)施例應(yīng)用于數(shù)字電視的視頻解碼過程中,在本發(fā)明實(shí)施例中,數(shù)字電視(英文:Digital Televis1n,簡(jiǎn)稱:DTV)的片上系統(tǒng)(英文:System on Chip,簡(jiǎn)稱:SoC)芯片上集成有視頻處理單元(英文:Video Processing Unit,簡(jiǎn)稱:VPU)。
[0031]請(qǐng)參考圖1,其示出了本發(fā)明實(shí)施例提供的一種數(shù)字電視的結(jié)構(gòu)組成示意圖。如圖1所示,該數(shù)字電視包括:硬盤或者存儲(chǔ)接口 11、開發(fā)板12、計(jì)算機(jī)13和顯示器14。
[0032]其中,開發(fā)板12與計(jì)算機(jī)13之間通過串口和網(wǎng)線連接。上述開發(fā)板12包括:GStreamer多媒體架構(gòu)121、視頻解碼模塊122和視頻后處理模塊123。上述開發(fā)板12即為本發(fā)明實(shí)施例中數(shù)字電視的SoC芯片,上述視頻解碼模塊122中集成有本發(fā)明實(shí)施例中的VPU。
[0033]示例性的,上述存儲(chǔ)接口可以為通用串行總線(英文-Universal Serial Bus,簡(jiǎn)稱:USB)接口,或者用于連接外部存儲(chǔ)設(shè)備的接口。
[0034]請(qǐng)參考圖2,其示出了本發(fā)明實(shí)施例提供的一種用于實(shí)現(xiàn)視頻解碼的驅(qū)動(dòng)框架示意圖。如圖2所示,該驅(qū)動(dòng)框架可以分為用戶空間層、驅(qū)動(dòng)(內(nèi)核空間)層以及硬件層。
[0035]其中,用戶空間層包括:數(shù)字電視應(yīng)用(英文:DTV Applicat1n,簡(jiǎn)稱:DTV APP)21、數(shù)字電視中間件(英文:DTV Middle Ware簡(jiǎn)稱:DMW)22、播放器APP(英文:Player APP)23、媒體播放器(即英文:Media Player)24、GStreamer架構(gòu)25和視頻插件(英文:VideoPlugin)260
[0036]驅(qū)動(dòng)(內(nèi)核空間)層包括:數(shù)字電視分解器(英文:DTV DemuX)31、視頻解碼器驅(qū)動(dòng)(英文= Video Decoder Driver,簡(jiǎn)稱:VDD)32、視頻后處理單元(VPR0C)33和視頻輸出(英文:Avout)模塊 34。
[0037]硬件層包括:視頻輸入緩存器(英文:Video Input Buffer)41、VPU42、視頻輸出緩存器(英文:Video Output Buffer)43、后處理單元44和低壓差分信號(hào)(英文:Low VoltageDifferential Signaling,簡(jiǎn)稱:LVDS)接口45。
[0038]以下以圖2所示的驅(qū)動(dòng)框架為例,對(duì)本發(fā)明實(shí)施例提供的視頻解碼方法中的數(shù)據(jù)流處理流程進(jìn)行說明:
[0039]其中,進(jìn)入VPU的數(shù)據(jù)流有兩條:一條來自數(shù)字電視APP 21,經(jīng)過DMW 22后,進(jìn)入數(shù)字電視分解器31,由數(shù)字電視分解器31分解得到的ES視頻流,另一條為本地文件碼流,該本地文件碼流為來自播放器APP 23,經(jīng)過媒體播放器24后,進(jìn)入GStreamer架構(gòu)25,由GStreamer架構(gòu)25中的Demux分解得到的ES視頻流。
[0040]VDD 32可以將上述兩種ES視頻流存入視頻輸入緩存器41,然后數(shù)字電視便可以采用VPU 42對(duì)視頻輸入緩存器41中存儲(chǔ)的數(shù)據(jù)流進(jìn)行解碼處理,然后將該解碼后的數(shù)據(jù)流寫入視頻輸出緩存器43。該視頻輸出緩存器43中存儲(chǔ)的解碼后的數(shù)據(jù)流經(jīng)過后處理單元44處理后,便可以輸出至數(shù)字電視的顯示器的LVDS接口 45。上述數(shù)字電視的顯示器可以為液晶顯示器。
[0041]可以想到的,本發(fā)明實(shí)施例中用于實(shí)現(xiàn)視頻解碼的功能模塊的代碼架構(gòu)可以分為兩大部分:測(cè)試代碼和驅(qū)動(dòng)代碼。
[0042]其中,測(cè)試代碼相當(dāng)于上述用戶空間層,該用戶空間層可以調(diào)用驅(qū)動(dòng)(內(nèi)核空間)層的1ctr I接口,而驅(qū)動(dòng)(內(nèi)核空間)層是通過分層調(diào)用各層的應(yīng)用程序編程接口(Applicat1n Programming Interface,API)函數(shù)來實(shí)現(xiàn)視頻解碼的。具體分為Hs_vdec.c層、vdec_ap1.c層和vpuap1.c層。
[0043]其中,Hs_vdec.c層中定義了響應(yīng)用戶空間層應(yīng)用程序的調(diào)用的1ctrl接口,用戶空間層通過1ctrl接口來調(diào)用下層驅(qū)動(dòng)。具體的cmd命令可以包括:HS_VDEC_10CRESET,用于解碼器重置;HS_VDEC_1CPLAY,用于解碼器解碼;HS_VDEC_1CPAUSE,用于暫停解碼器;HS_VDEC_1CSTOP,用于停止解碼器;HS_VDEC_1CGETVER,用于獲取VPU的解碼固件的版本;HS_VDEC_1CSETMEDIATYPE,用于設(shè)置媒體格式。
[0044]Vdec_ap1.c層針對(duì)Hs_vdec.c層不同的cmd命令執(zhí)行不同的操作,具體用于根據(jù)Hs_vdec.c層不同的cmd命令驅(qū)動(dòng)底層執(zhí)行不同的操作,如可以實(shí)現(xiàn)對(duì)圖像幀的各種處理。
[0045]Vpuap 1.c層將對(duì)VI3U中的API接口做進(jìn)一步的細(xì)化,在各個(gè)功能函數(shù)中調(diào)用的是VPU中的接口代碼,并在這一層中將其封裝為需要的形式,以便于對(duì)圖像格式及YCbCr進(jìn)行處理。其中,YCbCr是顏色編碼的一種方式,YCbCr處理包括獲取幀顯示索引和解碼的幀索弓I,操作寄存器接口等。
[0046]下面結(jié)合附圖,通過具體的實(shí)施例及其應(yīng)用場(chǎng)景對(duì)本發(fā)明實(shí)施例提供的一種視頻解碼方法及數(shù)字電視進(jìn)行詳細(xì)地說明。
[0047]本發(fā)明實(shí)施例提供一種視頻解碼方法,其特征在于,應(yīng)用于數(shù)字電視,該數(shù)字電視的SoC芯片上集成有VPU,如圖3所示,該視頻解碼方法包括:
[0048]S301、數(shù)字電視在接收到VPU調(diào)用指令后,對(duì)VPU進(jìn)行初始化,以獲得VPU的解碼固件。
[0049]其中,上述解碼固件中包含用于解碼的至少一個(gè)解碼算法,該至少一個(gè)解碼算法中的每一個(gè)解碼算法對(duì)應(yīng)一種編碼格式,VPU調(diào)用指令中攜帶有待解碼數(shù)據(jù)流。
[0050]可以想到的是,數(shù)字電視在接收到VPU調(diào)用指令后,便可以對(duì)VPU進(jìn)行初始化,為后續(xù)創(chuàng)建VPU解碼器實(shí)例,采用VPU解碼器實(shí)例對(duì)VPU調(diào)用指令中攜帶的待解碼數(shù)據(jù)流進(jìn)行解碼做好準(zhǔn)備。
[0051 ]當(dāng)然,數(shù)字電視對(duì)VPU進(jìn)行初始化還可以開始Bit Processor,設(shè)置指針分別指向VPU的工作緩沖區(qū)、參數(shù)緩沖區(qū)和代碼緩沖區(qū),運(yùn)行上述Bit Processor以及設(shè)置中斷寄存益寺O
[0052]S302、數(shù)字電視根據(jù)解碼固件,創(chuàng)建編碼格式與待解碼數(shù)據(jù)流的編碼格式相同的VPU解碼器實(shí)例。
[0053]其中,解碼固件中包含用于解碼的至少一個(gè)解碼算法,該至少一個(gè)解碼算法中的每一個(gè)解碼算法對(duì)應(yīng)一種編碼格式,而待解碼數(shù)據(jù)流的編碼格式一定;因此,數(shù)字電視可以從上述解碼固件中的至少一個(gè)解碼算法中,選擇與待解碼數(shù)據(jù)流的編碼格式相同的解碼算法,然后根據(jù)選擇的解碼算法創(chuàng)建對(duì)應(yīng)的VPU解碼器實(shí)例。
[0054]S303、數(shù)字電視采用VPU解碼器實(shí)例對(duì)待解碼數(shù)據(jù)流進(jìn)行解碼,并獲得解碼輸出信息,解碼輸出信息中包含解碼得到的至少一幀數(shù)據(jù)中每幀數(shù)據(jù)的幀信息,幀信息至少包括該幀數(shù)據(jù)的幀顯示索引、幀解碼索引和幀類型。
[0055]可以想到的是,數(shù)字電視在對(duì)待解碼數(shù)據(jù)流進(jìn)行解碼得到的至少一幀數(shù)據(jù)中每幀數(shù)據(jù)的幀信息用于該數(shù)字電視的播放器播放解碼后的數(shù)據(jù)流,即數(shù)字電視的播放器可以根據(jù)數(shù)字電視解碼得到的至少一幀數(shù)據(jù)中每幀數(shù)據(jù)的幀信息,播放該幀數(shù)據(jù)。
[0056]本發(fā)明實(shí)施例提供的視頻解碼方法,在數(shù)字電視的SoC芯片上集成了支持多格式視頻解碼的VPU,如此,在接收到有待解碼數(shù)據(jù)流的VPU調(diào)用指令后,則可以對(duì)VPU進(jìn)行初始化獲得VPU的解碼固件,并根據(jù)解碼固件,創(chuàng)建編碼格式與待解碼數(shù)據(jù)流的編碼格式相同的VPU解碼器實(shí)例,采用VPU解碼器實(shí)例對(duì)待解碼數(shù)據(jù)流進(jìn)行解碼獲得解碼輸出信息。
[0057]與現(xiàn)有技術(shù)在數(shù)字電視中設(shè)置多個(gè)支持該不同解碼格式的硬件電路模塊相比,本方案中僅需要在數(shù)字電視的SoC芯片上集成了支持多格式視頻解碼的VPU,便可以使得數(shù)字電視支持多格式視頻解碼,實(shí)現(xiàn)多種不同格式數(shù)據(jù)流的視頻播放,提高了數(shù)字電視的解碼效率。
[0058]進(jìn)一步的,數(shù)字電視在采用VPU解碼器實(shí)例對(duì)所述待解碼數(shù)據(jù)流進(jìn)行解碼,即執(zhí)行S303之前,需要獲取該VPU解碼器實(shí)例的數(shù)據(jù)流緩沖區(qū)的起始地址,如此,才能夠向該VPU解碼器實(shí)例的數(shù)據(jù)流緩沖區(qū)存入待解碼數(shù)據(jù)流中的數(shù)據(jù),并采用該VHJ解碼器實(shí)例對(duì)待解碼數(shù)據(jù)流進(jìn)行解碼。
[0059]具體的,如圖4所示,在S303之前,本發(fā)明實(shí)施例的方法還可以包括S303,和S303":
[0060]S3037、數(shù)字電視獲取VPU解碼器實(shí)例的數(shù)據(jù)流緩沖區(qū)的起始地址。
[0061]具體的,數(shù)字電視在創(chuàng)建上述VPU解碼器實(shí)例后,通過調(diào)用VPU_DeC0pen()函數(shù)獲取指向該VPU解碼器實(shí)例的句柄(handl e ),然后根據(jù)該handl e獲得對(duì)應(yīng)DecOpenParam類型的變量,并通過DecOpenParam類型的變量獲得該VPU解碼器實(shí)例的內(nèi)部特點(diǎn)信息。該內(nèi)部特點(diǎn)信息包括:該VPU解碼器實(shí)例的數(shù)據(jù)流緩沖區(qū)的起始地址、該數(shù)據(jù)流緩沖區(qū)的大小和該VPU解碼器實(shí)例的編碼格式。其中,DecOpenParam類型的變量中包括:上述VPU解碼器實(shí)例的數(shù)據(jù)流緩沖區(qū)的起始地址、該數(shù)據(jù)流緩沖區(qū)的大小和該VPU解碼器實(shí)例的編碼格式。
[0062]S303"、數(shù)字電視根據(jù)數(shù)據(jù)流緩沖區(qū)的起始地址開始向數(shù)據(jù)流緩沖區(qū)存入待解碼數(shù)據(jù)流中的數(shù)據(jù)。
[0063]具體的,數(shù)字電視可以通過調(diào)用VPU_DecGetBitstreamBuffer()函數(shù)來獲取讀、寫指針以及可用空間,在成功獲取讀、寫指針以及可用空間后,數(shù)字電視便可以通過調(diào)用VPU_DecGetBi tstreamBuf f er ()函數(shù)獲得當(dāng)前寫指針的位置,然后向?qū)?yīng)位置寫入待解碼數(shù)據(jù)流中的數(shù)據(jù)。
[0064]可以想到的是,只有在向數(shù)據(jù)流緩沖區(qū)存入一定量的數(shù)據(jù)后,才能夠采用上述VPU解碼器實(shí)例正常的對(duì)待解碼數(shù)據(jù)流進(jìn)行解碼,因此,數(shù)字電視需要判斷存入數(shù)據(jù)流緩沖區(qū)的數(shù)據(jù)流的長(zhǎng)度是否大于或等于預(yù)設(shè)閾值,并在數(shù)據(jù)流緩沖區(qū)存入的待解碼數(shù)據(jù)流長(zhǎng)度大于或等于預(yù)設(shè)閾值,才對(duì)待解碼數(shù)據(jù)流進(jìn)行解碼。
[0065]具體的,如圖4所示,S303可以替換為S303a:
[0066]S303a、若數(shù)據(jù)流緩沖區(qū)存入的待解碼數(shù)據(jù)流長(zhǎng)度大于或等于預(yù)設(shè)閾值,數(shù)字電視則采用VPU解碼器實(shí)例對(duì)待解碼數(shù)據(jù)流進(jìn)行解碼,并獲得解碼輸出信息。
[0067]優(yōu)選的,若數(shù)據(jù)流緩沖區(qū)存入的待解碼數(shù)據(jù)流長(zhǎng)度小于預(yù)設(shè)閾值,數(shù)字電視則可以繼續(xù)向數(shù)據(jù)流緩沖區(qū)存入待解碼數(shù)據(jù)流中的數(shù)據(jù)。具體的,如圖4所示,本發(fā)明實(shí)施例的方法還可以包括S304:
[0068]S304、若數(shù)據(jù)流緩沖區(qū)存入的待解碼數(shù)據(jù)流長(zhǎng)度小于預(yù)設(shè)閾值,數(shù)字電視則繼續(xù)向數(shù)據(jù)流緩沖區(qū)存入待解碼數(shù)據(jù)流中的數(shù)據(jù)。
[0069]通過本方案,在數(shù)據(jù)流緩沖區(qū)存入的待解碼數(shù)據(jù)流長(zhǎng)度大于或等于預(yù)設(shè)閾值時(shí),才開始采用VHJ解碼器實(shí)例對(duì)待解碼數(shù)據(jù)流進(jìn)行解碼,如此可以保證VPU解碼器實(shí)例解碼工作的正常進(jìn)行。
[0070]進(jìn)一步的,數(shù)字電視在創(chuàng)建VPU解碼器實(shí)例后,還需要對(duì)該VPU解碼器實(shí)例的相關(guān)參數(shù)進(jìn)行配置。具體的,如圖5所示,在S302之后,S303之前,本發(fā)明實(shí)施例的方法還可以包括S305:
[0071]S305、數(shù)字電視分析待解碼數(shù)據(jù)流的頭序列信息,獲得解碼器配置信息,并采用解碼器配置信息配置VPU解碼器實(shí)例,解碼器配置信息包括幀緩沖區(qū)(Frame buffer)的數(shù)量和每個(gè)幀緩沖區(qū)的大小。其中,F(xiàn)rame buffer是用于暫存已經(jīng)解碼過的數(shù)據(jù)的。一般而言,一幀圖像的大小可能不是16*16的倍數(shù),但是為了更加規(guī)范的進(jìn)行解碼,F(xiàn)rame buffer的大小一般設(shè)置為16*16的倍數(shù);Frame buff er的數(shù)量的大小一般根據(jù)處理待解碼數(shù)據(jù)流的過程中,I秒時(shí)間內(nèi)傳輸?shù)膱D片的數(shù)量(即圖片的幀數(shù))確定,如針對(duì)活動(dòng)圖像專家組(英文:Moving Picture Experts Group,簡(jiǎn)稱:MPEG)_2格式的待解碼數(shù)據(jù)流,可以為其分配8個(gè)Frame buffer0
[0072]具體的,數(shù)字電視可以通過調(diào)用VPU—DecGetInitiaIInfoO函數(shù),向VPU發(fā)出序列初始化命令,控制VHJ分析待解碼數(shù)據(jù)流的頭序列信息,以獲得解碼器配置信息。
[0073]其中,如圖5所示,本發(fā)明實(shí)施例中S303具體可以包括S303b和S303c:
[0074]S303b、若數(shù)據(jù)流緩沖區(qū)存入的待解碼數(shù)據(jù)流長(zhǎng)度大于或等于預(yù)設(shè)閾值,數(shù)字電視則對(duì)所述數(shù)據(jù)流緩沖區(qū)存入的第一幀數(shù)據(jù)進(jìn)行解碼,并獲得第一幀數(shù)據(jù)的幀信息。
[0075]S303c、數(shù)字電視對(duì)數(shù)據(jù)流緩沖區(qū)存入的第二幀數(shù)據(jù)進(jìn)行解碼,并獲得第二幀數(shù)據(jù)的幀信息,直至獲得數(shù)據(jù)流緩沖區(qū)存入的所有幀數(shù)據(jù)的幀信息。
[0076]可以想到的是,數(shù)字電視可以依次對(duì)存入數(shù)據(jù)流緩沖區(qū)的每一幀數(shù)據(jù)進(jìn)行解碼,獲得該幀數(shù)據(jù)的幀信息,直至獲得數(shù)據(jù)流緩沖區(qū)存入的所有幀數(shù)據(jù)的幀信息。
[0077]進(jìn)一步的,為了減少VPU解碼器實(shí)例對(duì)數(shù)字電視內(nèi)存空間的占用,本發(fā)明實(shí)施例中,數(shù)字電視可以在獲得數(shù)據(jù)流緩沖區(qū)存入的所有幀數(shù)據(jù)的幀信息后,及時(shí)終止VHJ解碼器實(shí)例,并釋放VHJ解碼器實(shí)例所占用的緩存資源。
[0078]示例性的,如圖6所示,本發(fā)明實(shí)施例的方法還可以包括S306:
[0079]S306、數(shù)字電視在獲得數(shù)據(jù)流緩沖區(qū)存入的所有幀數(shù)據(jù)的幀信息后,終止VPU解碼器實(shí)例,并釋放VHJ解碼器實(shí)例所占用的緩存資源。
[0080]本發(fā)明實(shí)施例提供的視頻解碼方法,在數(shù)字電視的SoC芯片上集成了支持多格式視頻解碼的VPU,如此,在接收到有待解碼數(shù)據(jù)流的VPU調(diào)用指令后,則可以對(duì)VPU進(jìn)行初始化獲得VPU的解碼固件,并根據(jù)解碼固件,創(chuàng)建編碼格式與待解碼數(shù)據(jù)流的編碼格式相同的VPU解碼器實(shí)例,采用VPU解碼器實(shí)例對(duì)待解碼數(shù)據(jù)流進(jìn)行解碼獲得解碼輸出信息。
[0081]與現(xiàn)有技術(shù)在數(shù)字電視中設(shè)置多個(gè)支持該不同解碼格式的硬件電路模塊相比,本方案中僅需要在數(shù)字電視的SoC芯片上集成了支持多格式視頻解碼的VPU,便可以使得數(shù)字電視支持多格式視頻解碼,實(shí)現(xiàn)多種不同格式數(shù)據(jù)流的視頻播放,提高了數(shù)字電視的解碼效率。
[0082]并且,通過本方案可以在一個(gè)VPU解碼器實(shí)例完成解碼工作后,及時(shí)終止該VPU解碼器實(shí)例,并釋放該VHJ解碼器實(shí)例所占用的緩存資源。如此,便可以避免該VPU解碼器實(shí)例對(duì)數(shù)字電視緩存資源的冗余占用。
[0083]本發(fā)明實(shí)施例提供一種數(shù)字電視,該數(shù)字電視的SoC芯片上集成有VPU,如圖7所示,該數(shù)字電視包括:接收模塊71、初始化模塊72、創(chuàng)建模塊73和解碼模塊74。
[0084]接收模塊71,用于接收VPU調(diào)用指令,所述VPU調(diào)用指令中攜帶有待解碼數(shù)據(jù)流。
[0085]初始化模塊72,用于在所述接收模塊71接收到VPU調(diào)用指令后,對(duì)所述VPU進(jìn)行初始化,以獲得所述VPU的解碼固件,所述解碼固件中包含用于解碼的至少一個(gè)解碼算法,所述至少一個(gè)解碼算法中的每一個(gè)解碼算法對(duì)應(yīng)一種編碼格式。
[0086]創(chuàng)建模塊73,用于根據(jù)所述初始化模塊72初始化后獲取的所述解碼固件,創(chuàng)建編碼格式與所述待解碼數(shù)據(jù)流的編碼格式相同的VHJ解碼器實(shí)例。
[0087]解碼模塊74,用于采用所述創(chuàng)建模塊73創(chuàng)建的所述VPU解碼器實(shí)例對(duì)所述待解碼數(shù)據(jù)流進(jìn)行解碼,并獲得解碼輸出信息,所述解碼輸出信息中包含解碼得到的至少一幀數(shù)據(jù)中每幀數(shù)據(jù)的幀信息,所述幀信息至少包括該幀數(shù)據(jù)的幀顯示索引、幀解碼索引和幀類型。
[0088]進(jìn)一步的,如圖8所示,上述數(shù)字電視還可以包括:獲取模塊75和緩存模塊76。
[0089]獲取模塊75,用于在所述解碼模塊74采用所述VPU解碼器實(shí)例對(duì)所述待解碼數(shù)據(jù)流進(jìn)行解碼之前,獲取所述VHJ解碼器實(shí)例的數(shù)據(jù)流緩沖區(qū)的起始地址。
[0090]緩存模塊76,用于根據(jù)所述獲取模塊74獲取的所述數(shù)據(jù)流緩沖區(qū)的起始地址開始向所述數(shù)據(jù)流緩沖區(qū)存入所述待解碼數(shù)據(jù)流中的數(shù)據(jù)。
[0091]所述解碼模塊74,具體用于若所述緩存模塊76存入所述數(shù)據(jù)流緩沖區(qū)的數(shù)據(jù)流長(zhǎng)度大于或等于預(yù)設(shè)閾值,則采用所述VHJ解碼器實(shí)例對(duì)所述待解碼數(shù)據(jù)流進(jìn)行解碼。
[0092]進(jìn)一步的,所述緩存模塊76,還用于若所述緩存模塊76存入所述數(shù)據(jù)流緩沖區(qū)的數(shù)據(jù)流長(zhǎng)度小于所述預(yù)設(shè)閾值,則繼續(xù)向所述數(shù)據(jù)流緩沖區(qū)存入所述待解碼數(shù)據(jù)流中的數(shù)據(jù)。
[0093]進(jìn)一步的,如圖9所示,上述數(shù)字電視還可以包括:配置模塊77。
[0094]配置模塊77,用于在所述解碼模塊74采用所述VPU解碼器實(shí)例對(duì)所述待解碼數(shù)據(jù)流進(jìn)行解碼,并獲得解碼后的數(shù)據(jù)流之前,分析所述待解碼數(shù)據(jù)流的頭序列信息,獲得解碼器配置信息,并采用所述解碼器配置信息配置所述VPU解碼器實(shí)例,所述解碼器配置信息包括幀緩沖區(qū)的數(shù)量和每個(gè)幀緩沖區(qū)的大小。
[0095]所述解碼模塊74,具體用于:
[0096]若所述緩存模塊76存入所述數(shù)據(jù)流緩沖區(qū)的數(shù)據(jù)流長(zhǎng)度大于或等于預(yù)設(shè)閾值,則對(duì)所述數(shù)據(jù)流緩沖區(qū)存入的第一幀數(shù)據(jù)進(jìn)行解碼,并獲得所述第一幀數(shù)據(jù)的幀信息;
[0097]對(duì)所述數(shù)據(jù)流緩沖區(qū)存入的第二幀數(shù)據(jù)進(jìn)行解碼,并獲得所述第二幀數(shù)據(jù)的幀信息,直至獲得所述數(shù)據(jù)流緩沖區(qū)存入的所有幀數(shù)據(jù)的幀信息。
[0098]進(jìn)一步的,如圖1O所示,上述數(shù)字電視還可以包括:控制模塊78。
[0099]控制模塊78,用于在所述解碼模塊74獲得所述數(shù)據(jù)流緩沖區(qū)存入的所有幀數(shù)據(jù)的幀信息之后,終止所述VPU解碼器實(shí)例,并釋放所述VPU解碼器實(shí)例所占用的緩存資源。
[0100]其中上述的,初始化模塊72、創(chuàng)建模塊73、解碼模塊74、獲取模塊75、緩存模塊76、配置模塊77和控制模塊78可以為單獨(dú)設(shè)立的處理器,也可以集成在管理系統(tǒng)的某一個(gè)處理器中實(shí)現(xiàn),此外,也可以以程序代碼的形式存儲(chǔ)于管理系統(tǒng)的存儲(chǔ)器中,由管理系統(tǒng)的某一個(gè)處理器調(diào)用并執(zhí)行以上單元的功能。接收模塊71用作信號(hào)接收功能時(shí),可以為無(wú)線或有線方式實(shí)現(xiàn)的具有接收功能的接口電路。此外這里所述的處理器可以是一個(gè)中央處理器(英文全稱:central processing unit,英文簡(jiǎn)稱:CPU),或者是特定集成電路(英文全稱:applicat1n specific integrated circuit,英文簡(jiǎn)稱:ASIC),或者是被配置成實(shí)施本發(fā)明實(shí)施例的一個(gè)或多個(gè)集成電路。
[0101]需要說明的是,本發(fā)明實(shí)施例提供的數(shù)字電視中部分功能模塊的具體描述可以參考方法實(shí)施例中的對(duì)應(yīng)內(nèi)容,本實(shí)施例這里不再詳細(xì)贅述。
[0102]本發(fā)明實(shí)施例提供的數(shù)字電視,該數(shù)字電視的SoC芯片上集成了支持多格式視頻解碼的VPU,如此,在接收到有待解碼數(shù)據(jù)流的VPU調(diào)用指令后,則可以對(duì)VPU進(jìn)行初始化獲得VPU的解碼固件,并根據(jù)解碼固件,創(chuàng)建編碼格式與待解碼數(shù)據(jù)流的編碼格式相同的VPU解碼器實(shí)例,采用VHJ解碼器實(shí)例對(duì)待解碼數(shù)據(jù)流進(jìn)行解碼獲得解碼輸出信息。
[0103]與現(xiàn)有技術(shù)在數(shù)字電視中設(shè)置多個(gè)支持該不同解碼格式的硬件電路模塊相比,本方案中僅需要在數(shù)字電視的SoC芯片上集成了支持多格式視頻解碼的VPU,便可以使得數(shù)字電視支持多格式視頻解碼,實(shí)現(xiàn)多種不同格式數(shù)據(jù)流的視頻播放,提高了數(shù)字電視的解碼效率。
[0104]通過以上的實(shí)施方式的描述,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,僅以上述各功能模塊的劃分進(jìn)行舉例說明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過程,在此不再贅述。
[0105]在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述模塊或單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
[0106]所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
[0107]另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
[0108]所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(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è)備等)或處理器(processor)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(ROM,Read-0nly Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0109]以上所述,僅為本發(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)。
【主權(quán)項(xiàng)】
1.一種視頻解碼方法,其特征在于,應(yīng)用于數(shù)字電視,所述數(shù)字電視的片上系統(tǒng)SoC芯片上集成有視頻處理單元VPU,所述方法包括: 在接收到VPU調(diào)用指令后,對(duì)所述VPU進(jìn)行初始化,以獲得所述VPU的解碼固件,所述解碼固件中包含用于解碼的至少一個(gè)解碼算法,所述至少一個(gè)解碼算法中的每一個(gè)解碼算法對(duì)應(yīng)一種編碼格式,所述VPU調(diào)用指令中攜帶有待解碼數(shù)據(jù)流; 根據(jù)所述解碼固件,創(chuàng)建編碼格式與所述待解碼數(shù)據(jù)流的編碼格式相同的VPU解碼器實(shí)例; 采用所述VHJ解碼器實(shí)例對(duì)所述待解碼數(shù)據(jù)流進(jìn)行解碼,并獲得解碼輸出信息,所述解碼輸出信息中包含解碼得到的至少一幀數(shù)據(jù)中每幀數(shù)據(jù)的幀信息,所述幀信息至少包括該幀數(shù)據(jù)的幀顯示索引、幀解碼索引和幀類型。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述采用所述VPU解碼器實(shí)例對(duì)所述待解碼數(shù)據(jù)流進(jìn)行解碼之前,所述方法還包括: 獲取所述VHJ解碼器實(shí)例的數(shù)據(jù)流緩沖區(qū)的起始地址; 根據(jù)所述數(shù)據(jù)流緩沖區(qū)的起始地址開始向所述數(shù)據(jù)流緩沖區(qū)存入所述待解碼數(shù)據(jù)流中的數(shù)據(jù); 所述采用所述VPU解碼器實(shí)例對(duì)所述待解碼數(shù)據(jù)流進(jìn)行解碼,包括: 若所述數(shù)據(jù)流緩沖區(qū)存入的待解碼數(shù)據(jù)流長(zhǎng)度大于或等于預(yù)設(shè)閾值,則采用所述VPU解碼器實(shí)例對(duì)所述待解碼數(shù)據(jù)流進(jìn)行解碼。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,還包括: 若所述數(shù)據(jù)流緩沖區(qū)存入的待解碼數(shù)據(jù)流長(zhǎng)度小于所述預(yù)設(shè)閾值,則繼續(xù)向所述數(shù)據(jù)流緩沖區(qū)存入所述待解碼數(shù)據(jù)流中的數(shù)據(jù)。4.根據(jù)權(quán)利要求2所述的方法,其特征在于,在所述采用所述VPU解碼器實(shí)例對(duì)所述待解碼數(shù)據(jù)流進(jìn)行解碼,并獲得解碼后的數(shù)據(jù)流之前,所述方法還包括: 分析所述待解碼數(shù)據(jù)流的頭序列信息,獲得解碼器配置信息,并采用所述解碼器配置信息配置所述VPU解碼器實(shí)例,所述解碼器配置信息包括幀緩沖區(qū)的數(shù)量和每個(gè)幀緩沖區(qū)的大??; 所述采用所述VPU解碼器實(shí)例對(duì)所述待解碼數(shù)據(jù)流進(jìn)行解碼,并獲得解碼后的數(shù)據(jù)流,包括: 若所述數(shù)據(jù)流緩沖區(qū)存入的待解碼數(shù)據(jù)流長(zhǎng)度大于或等于預(yù)設(shè)閾值,則對(duì)所述數(shù)據(jù)流緩沖區(qū)存入的第一幀數(shù)據(jù)進(jìn)行解碼,并獲得所述第一幀數(shù)據(jù)的幀信息; 對(duì)所述數(shù)據(jù)流緩沖區(qū)存入的第二幀數(shù)據(jù)進(jìn)行解碼,并獲得所述第二幀數(shù)據(jù)的幀信息,直至獲得所述數(shù)據(jù)流緩沖區(qū)存入的所有幀數(shù)據(jù)的幀信息。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,在獲得所述數(shù)據(jù)流緩沖區(qū)存入的所有幀數(shù)據(jù)的幀信息之后,所述方法還包括: 終止所述VRJ解碼器實(shí)例,并釋放所述VRJ解碼器實(shí)例所占用的緩存資源。6.—種數(shù)字電視,其特征在于,所述數(shù)字電視的片上系統(tǒng)SoC芯片上集成有視頻處理單元VPU,所述數(shù)字電視包括: 接收模塊,用于接收VHJ調(diào)用指令,所述VRJ調(diào)用指令中攜帶有待解碼數(shù)據(jù)流; 初始化模塊,用于在所述接收模塊接收到VPU調(diào)用指令后,對(duì)所述VPU進(jìn)行初始化,以獲得所述VHJ的解碼固件,所述解碼固件中包含用于解碼的至少一個(gè)解碼算法,所述至少一個(gè)解碼算法中的每一個(gè)解碼算法對(duì)應(yīng)一種編碼格式; 創(chuàng)建模塊,用于根據(jù)所述初始化模塊獲得的解碼固件,創(chuàng)建編碼格式與所述待解碼數(shù)據(jù)流的編碼格式相同的VHJ解碼器實(shí)例; 解碼模塊,用于采用所述創(chuàng)建模塊創(chuàng)建的所述VPU解碼器實(shí)例對(duì)所述待解碼數(shù)據(jù)流進(jìn)行解碼,并獲得解碼輸出信息,所述解碼輸出信息中包含解碼得到的至少一幀數(shù)據(jù)中每幀數(shù)據(jù)的幀信息,所述幀信息至少包括該幀數(shù)據(jù)的幀顯示索引、幀解碼索引和幀類型。7.根據(jù)權(quán)利要求6所述的數(shù)字電視,其特征在于,還包括: 獲取模塊,用于在所述解碼模塊采用所述VPU解碼器實(shí)例對(duì)所述待解碼數(shù)據(jù)流進(jìn)行解碼之前,獲取所述VPU解碼器實(shí)例的數(shù)據(jù)流緩沖區(qū)的起始地址; 緩存模塊,用于根據(jù)所述獲取模塊獲取的所述數(shù)據(jù)流緩沖區(qū)的起始地址開始向所述數(shù)據(jù)流緩沖區(qū)存入所述待解碼數(shù)據(jù)流中的數(shù)據(jù); 所述解碼模塊,具體用于若所述緩存模塊存入所述數(shù)據(jù)流緩沖區(qū)的數(shù)據(jù)流長(zhǎng)度大于或等于預(yù)設(shè)閾值,則采用所述VHJ解碼器實(shí)例對(duì)所述待解碼數(shù)據(jù)流進(jìn)行解碼。8.根據(jù)權(quán)利要求7所述的數(shù)字電視,其特征在于,所述緩存模塊,還用于若所述緩存模塊存入所述數(shù)據(jù)流緩沖區(qū)的數(shù)據(jù)流長(zhǎng)度小于所述預(yù)設(shè)閾值,則繼續(xù)向所述數(shù)據(jù)流緩沖區(qū)存入所述待解碼數(shù)據(jù)流中的數(shù)據(jù)。9.根據(jù)權(quán)利要求7所述的數(shù)字電視,其特征在于,還包括: 配置模塊,用于在所述解碼模塊采用所述VPU解碼器實(shí)例對(duì)所述待解碼數(shù)據(jù)流進(jìn)行解碼,并獲得解碼后的數(shù)據(jù)流之前,分析所述待解碼數(shù)據(jù)流的頭序列信息,獲得解碼器配置信息,并采用所述解碼器配置信息配置所述VPU解碼器實(shí)例,所述解碼器配置信息包括幀緩沖區(qū)的數(shù)量和每個(gè)幀緩沖區(qū)的大小; 所述解碼模塊,具體用于: 若所述緩存模塊存入所述數(shù)據(jù)流緩沖區(qū)的數(shù)據(jù)流長(zhǎng)度大于或等于預(yù)設(shè)閾值,則對(duì)所述數(shù)據(jù)流緩沖區(qū)存入的第一幀數(shù)據(jù)進(jìn)行解碼,并獲得所述第一幀數(shù)據(jù)的幀信息; 對(duì)所述數(shù)據(jù)流緩沖區(qū)存入的第二幀數(shù)據(jù)進(jìn)行解碼,并獲得所述第二幀數(shù)據(jù)的幀信息,直至獲得所述數(shù)據(jù)流緩沖區(qū)存入的所有幀數(shù)據(jù)的幀信息。10.根據(jù)權(quán)利要求9所述的數(shù)字電視,其特征在于,還包括: 控制模塊,用于在所述解碼模塊獲得所述數(shù)據(jù)流緩沖區(qū)存入的所有幀數(shù)據(jù)的幀信息之后,終止所述VPU解碼器實(shí)例,并釋放所述VPU解碼器實(shí)例所占用的緩存資源。
【文檔編號(hào)】H04N21/426GK105959797SQ201610353246
【公開日】2016年9月21日
【申請(qǐng)日】2016年5月25日
【發(fā)明人】矯風(fēng), 曾小光, 王金童, 張金平
【申請(qǐng)人】青島海信電器股份有限公司