一種基于特征分析的動(dòng)態(tài)解碼方法和裝置的制造方法
【專利說(shuō)明】
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及視頻編解碼技術(shù)領(lǐng)域,特別是涉及一種基于特征分析的動(dòng)態(tài)解碼方法和裝置。
【【背景技術(shù)】】
[0002]視頻文件分類主要有兩種:一類是電影音樂(lè)娛樂(lè)等工業(yè)領(lǐng)域中標(biāo)準(zhǔn)視頻格式,比如 AVI,TS, MPG,MKV,RMVB, FLV 等,可以用通用播放器 windows media player、KMPLYER、QQ影音、暴風(fēng)影音等播放,一類是私有廠家的視頻格式,主要是視頻監(jiān)控領(lǐng)域內(nèi)一些廠家格式,比如海康、大華、漢邦等廠家都有自己的私有格式,暴風(fēng)等主流播放器無(wú)法播放,只能使用廠家自帶播放器和解碼器進(jìn)行解碼播放。國(guó)內(nèi)目前沒(méi)有一種統(tǒng)一的播放器及解碼技術(shù),能夠?qū)崿F(xiàn)對(duì)所有視頻格式的兼容處理,對(duì)于很多格式,都是需要單獨(dú)安裝解碼器或者需要單獨(dú)的播放器,查看很不方便,也無(wú)法對(duì)外提供解碼接口進(jìn)行二次開(kāi)發(fā)。
[0003]國(guó)內(nèi)專利“一種監(jiān)控錄像文件通用播放系統(tǒng)和方法”(申請(qǐng)公布號(hào)CN102404556A,申請(qǐng)公布日2012.04.04)提供了一種視頻監(jiān)控錄像文件的通用播放方法,里面關(guān)于文件解碼部分有一個(gè)大概的思路性描述,但是只是針對(duì)視頻監(jiān)控領(lǐng)域的文件格式,關(guān)于標(biāo)準(zhǔn)視頻格部分沒(méi)有說(shuō)明,覆蓋面不夠,此外方法過(guò)于粗糙化,主要觀點(diǎn)是根據(jù)文件頭和文件后綴解析出所屬?gòu)S商,由視頻廠商解碼子裝置進(jìn)行解碼,但是實(shí)際情況經(jīng)常是一些視頻格式文件頭或者后綴里面根本識(shí)別不出任何格式和廠商方面的信息,無(wú)法使用這種方法進(jìn)行解碼,而且對(duì)于能夠識(shí)別廠商的格式,由于私有封裝格式眾多,存在廠家不一定有解碼器提供、有解碼器不一定能打開(kāi)文件、每一種格式需要單獨(dú)添加一種子裝置擴(kuò)展困難需要大量人力物力等問(wèn)題。
【
【發(fā)明內(nèi)容】
】
[0004]本發(fā)明要解決的技術(shù)問(wèn)題是對(duì)于能夠識(shí)別廠商的格式,由于私有封裝格式眾多,存在廠家不一定有解碼器提供、有解碼器不一定能打開(kāi)文件、每一種格式需要單獨(dú)添加一種子裝置擴(kuò)展困難需要大量人力物力等問(wèn)題。
[0005]為了解決上述問(wèn)題,本發(fā)明一方面提供了一種基于特征分析的動(dòng)態(tài)解碼方法,包括:
[0006]通過(guò)對(duì)視頻文件格式內(nèi)容的掃描,解析得到所述視頻文件所屬的視頻解碼子結(jié)構(gòu)類型;其中所述視頻解碼子結(jié)構(gòu)類型包括標(biāo)準(zhǔn)視頻解碼子結(jié)構(gòu)、通用視頻解碼子結(jié)構(gòu)和專用私有廠商視頻解碼子結(jié)構(gòu);使用與所述視頻解碼子結(jié)構(gòu)類型相對(duì)應(yīng)的視頻解碼方式進(jìn)行解碼。
[0007]優(yōu)選的,所述通過(guò)對(duì)視頻文件的掃描,解析得到所述視頻文件所屬的編碼類型,具體包括:
[0008]使用基于開(kāi)源解碼器掃描、基于標(biāo)準(zhǔn)編碼特征碼掃描和基于私有廠商特征碼掃描的方式,按照優(yōu)先級(jí)從高到低排列;所述視頻解碼子結(jié)構(gòu)的類型由其中優(yōu)先級(jí)較高的掃描結(jié)果決定。
[0009]優(yōu)選的,所述基于開(kāi)源解碼器掃描、基于標(biāo)準(zhǔn)編碼特征碼掃描或基于私有廠商特征碼掃描的方式,具體包括:通過(guò)掃描文件頭數(shù)據(jù)、后綴以及一定量本身文件內(nèi)容,來(lái)識(shí)別出視頻文件的容器和編碼類型,或者所屬?gòu)S商,對(duì)視頻解碼子結(jié)構(gòu)進(jìn)行分類。
[0010]優(yōu)選的,所述使用與所述編碼類型相對(duì)應(yīng)的視頻解碼方式進(jìn)行解碼,其中,對(duì)于標(biāo)準(zhǔn)視頻解碼子結(jié)構(gòu)類型的視頻文件,具體包括:使用開(kāi)源解碼類庫(kù)進(jìn)行文件讀取和解碼。
[0011]優(yōu)選的,所述使用開(kāi)源解碼類庫(kù)進(jìn)行文件讀取和解碼,具體包括:
[0012]初始化開(kāi)源解碼類庫(kù)相關(guān)數(shù)據(jù)結(jié)構(gòu);使用開(kāi)源類庫(kù)相關(guān)數(shù)據(jù)結(jié)構(gòu)和接口打開(kāi)視頻文件,查找視頻流信息,打開(kāi)對(duì)應(yīng)的視頻解碼器;使用開(kāi)源類庫(kù)相關(guān)數(shù)據(jù)結(jié)構(gòu)和接口讀取視頻文件一幀內(nèi)容;將該幀內(nèi)容傳遞給開(kāi)源類庫(kù)解碼器進(jìn)行解碼。
[0013]優(yōu)選的,所述使用與所述編碼類型相對(duì)應(yīng)的視頻解碼方式進(jìn)行解碼,其中,對(duì)于通用解碼子結(jié)構(gòu)類型的視頻文件,具體包括:
[0014]根據(jù)標(biāo)準(zhǔn)編碼特征碼建立幀索引,利用索引自行讀取幀,并傳遞給開(kāi)源解碼器進(jìn)行解碼。
[0015]優(yōu)選的,所述根據(jù)標(biāo)準(zhǔn)編碼特征碼建立幀索引,利用索引自行讀取幀,并傳遞給開(kāi)源解碼器進(jìn)行解碼,具體包括:
[0016]根據(jù)標(biāo)準(zhǔn)編碼特征碼,建立文件幀索引,所述文件幀索引包括幀偏移量和幀大小信息;根據(jù)標(biāo)準(zhǔn)編碼特征碼,利用開(kāi)源解碼類庫(kù)打開(kāi)對(duì)應(yīng)的解碼器;利用建立好的文件索引結(jié)構(gòu),讀取該文件一幀數(shù)據(jù);將該幀內(nèi)容傳遞給解碼器進(jìn)行解碼。
[0017]優(yōu)選的,所述使用與所述編碼類型相對(duì)應(yīng)的視頻解碼方式進(jìn)行解碼,其中,對(duì)于專用私有廠商視頻解碼子結(jié)構(gòu),具體包括:利用廠商提供解碼類庫(kù)進(jìn)行文件讀取和解碼。
[0018]本發(fā)明另一方面,提供了一種基于特征分析的動(dòng)態(tài)解碼裝置,包括存儲(chǔ)裝置、處理裝置和顯示裝置,具體的:
[0019]所述存儲(chǔ)裝置,用于存儲(chǔ)各種視頻解碼庫(kù),包括標(biāo)準(zhǔn)的視頻解碼庫(kù)、通用的視頻解碼庫(kù)和專用私有廠商的視頻解碼庫(kù);所述處理裝置,用于通過(guò)對(duì)視頻文件格式內(nèi)容的掃描,解析得到所述視頻文件所屬的視頻解碼子結(jié)構(gòu)類型;其中所述視頻解碼子結(jié)構(gòu)類型包括標(biāo)準(zhǔn)視頻解碼子結(jié)構(gòu)、通用視頻解碼子結(jié)構(gòu)和專用私有廠商視頻解碼子結(jié)構(gòu);使用與所述視頻解碼子結(jié)構(gòu)類型相對(duì)應(yīng)的視頻解碼方式進(jìn)行解碼;所述顯示裝置,用于顯示解碼后的視頻內(nèi)容。
[0020]與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果在于:本發(fā)明方法能夠廣泛兼容多媒體等工業(yè)領(lǐng)域中標(biāo)準(zhǔn)視頻文件以及視頻監(jiān)控領(lǐng)域中的視頻監(jiān)控錄像文件等各種社會(huì)資源格式?;诖朔椒煽焖贅?gòu)建通用文件播放器或者解碼開(kāi)發(fā)包,極大精簡(jiǎn)系統(tǒng)擴(kuò)展時(shí)所需的人手和工作量,方便公安等人員能夠快速的查看視頻內(nèi)容、或者視頻監(jiān)控領(lǐng)域開(kāi)發(fā)者進(jìn)行基于解碼視頻數(shù)據(jù)的更上層應(yīng)用開(kāi)發(fā)。
【【附圖說(shuō)明】】
[0021]圖1是本發(fā)明實(shí)施例提供的一種基于特征分析的動(dòng)態(tài)解碼方法的流程圖;
[0022]圖2是本發(fā)明實(shí)施例提供的一種基于特征分析的動(dòng)態(tài)解碼方法的流程圖;
[0023]圖3是本發(fā)明實(shí)施例提供的一種基于特征分析的動(dòng)態(tài)解碼方法的流程圖;
[0024]圖4是本發(fā)明實(shí)施例提供的一種基于特征分析的動(dòng)態(tài)解碼裝置的結(jié)構(gòu)示意圖;
[0025]圖5是本發(fā)明實(shí)施例提供的一種基于特征分析的動(dòng)態(tài)解碼方法的流程圖。
【【具體實(shí)施方式】】
[0026]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0027]此外,下面所描述的本發(fā)明各個(gè)實(shí)施方式中所涉及到的技術(shù)特征只要彼此之間未構(gòu)成沖突就可以相互組合。
[0028]實(shí)施例1:
[0029]本發(fā)明實(shí)施例1提供了一種基于特征分析的動(dòng)態(tài)解碼方法,如圖1所示,包括:
[0030]在步驟201中,通過(guò)對(duì)視頻文件格式內(nèi)容的掃描,解析得到所述視頻文件所屬的視頻解碼子結(jié)構(gòu)類型。
[0031]其中,所述視頻解碼子結(jié)構(gòu)類型包括標(biāo)準(zhǔn)視頻解碼子結(jié)構(gòu)、通用視頻解碼子結(jié)構(gòu)和專用私有廠商視頻解碼子結(jié)構(gòu)。
[0032]在步驟202中,使用與所述視頻解碼子結(jié)構(gòu)類型相對(duì)應(yīng)的視頻解碼方式進(jìn)行解碼。
[0033]本發(fā)明方法能夠廣泛兼容多媒體等工業(yè)領(lǐng)域中標(biāo)準(zhǔn)視頻文件以及視頻監(jiān)控領(lǐng)域中的視頻監(jiān)控錄像文件等各種社會(huì)資源格式。基于此方法可快速構(gòu)建通用文件播放器或者解碼開(kāi)發(fā)包,極大精簡(jiǎn)系統(tǒng)擴(kuò)展時(shí)所需的人手和工作量,方便公安等人員能夠快速的查看視頻內(nèi)容、或者視頻監(jiān)控領(lǐng)域開(kāi)發(fā)者進(jìn)行基于解碼視頻數(shù)據(jù)的更上層應(yīng)用開(kāi)發(fā)。
[0034]結(jié)合本實(shí)施例,所述通過(guò)對(duì)視頻文件的掃描,解析得到所述視頻文件所屬的編碼類型,存在一種可行的方案,具體包括:
[0035]使用基于開(kāi)源解碼器掃描、基于標(biāo)準(zhǔn)編碼特征碼掃描和基于私有廠商特征碼掃描的方式,按照優(yōu)先級(jí)從高到低排列;所述視頻解碼子結(jié)構(gòu)的類型由其中優(yōu)先級(jí)較高的掃描結(jié)果決定。
[0036]其中,所述基于開(kāi)源解碼器掃描、基于標(biāo)準(zhǔn)編碼特征碼掃描或基于私有廠商特征碼掃描的方式,具體有可以實(shí)現(xiàn)為:
[0037]通過(guò)掃描文件頭數(shù)據(jù)、后綴以及一定量本身文件內(nèi)容,來(lái)識(shí)別出視頻文件的容器和編碼類型,或者所屬?gòu)S商,對(duì)視頻解碼子結(jié)構(gòu)進(jìn)行分類。
[0038]在本實(shí)施例中,所述使用與所述編碼類型相對(duì)應(yīng)的視頻解碼方式進(jìn)行解碼,對(duì)于標(biāo)準(zhǔn)視頻解碼子結(jié)構(gòu)類型的視頻文件、通用解碼子結(jié)構(gòu)類型的視頻文件和專用私有廠商視頻解碼子結(jié)構(gòu)類型的視頻文件,分別包括如下三種解碼方式:
[0039]對(duì)于標(biāo)準(zhǔn)視頻解碼子結(jié)構(gòu)類型的視頻文件,使用開(kāi)源解碼類庫(kù)進(jìn)行文件讀取和解碼。
[0040]對(duì)于通用解碼子結(jié)構(gòu)類型的視頻文件,根據(jù)標(biāo)準(zhǔn)編碼特征碼建立幀索引,利用索引自行讀取幀,并傳遞給開(kāi)源解碼器進(jìn)行解碼。
[0041]對(duì)于專用私有廠商視頻解碼子結(jié)構(gòu)類型的視頻文件,利用廠商提供解碼類庫(kù)進(jìn)行文件讀取和解碼。
[0042]實(shí)施例2:
[0043]本發(fā)明實(shí)施例2針對(duì)實(shí)施例1中所述使用開(kāi)源解碼類庫(kù)進(jìn)行文件讀取和解碼,提供了具體的實(shí)現(xiàn)步驟,如圖2所示,包括:
[0044]在步驟301中,初始化開(kāi)源解碼類庫(kù)相關(guān)數(shù)據(jù)結(jié)構(gòu)。
[0045]在步驟302中,使用開(kāi)源類庫(kù)相關(guān)數(shù)據(jù)結(jié)構(gòu)和接口打開(kāi)視頻文件,查找視頻流信息,打開(kāi)對(duì)應(yīng)的視頻解碼器。
[0046]在步驟303中,使用開(kāi)源類庫(kù)相關(guān)數(shù)據(jù)結(jié)構(gòu)和接口讀取視頻文件一幀內(nèi)容。
[0047]在步驟304中,將該幀內(nèi)容傳遞給開(kāi)源類庫(kù)解碼器進(jìn)行解碼。
[0048]實(shí)施例3:
[0049]本發(fā)明實(shí)施例2針對(duì)實(shí)施例1中所述根據(jù)標(biāo)準(zhǔn)編碼特征碼建立幀索引,利用索引自行讀取幀,并傳遞給開(kāi)源解碼器進(jìn)行解碼,提供了具體的實(shí)現(xiàn)步驟,如圖3所示,包括:
[0050]在步驟401中,根據(jù)標(biāo)準(zhǔn)編碼特征碼,建立文件幀索引,所述文件幀索引包括幀偏移量和幀大小信息。
[0051]在步驟402中,根據(jù)標(biāo)準(zhǔn)編碼特征碼,利用開(kāi)源解碼類庫(kù)打開(kāi)對(duì)應(yīng)的解碼器。
[0052]在步驟403中,利用建立好的文件索引結(jié)構(gòu),讀取該文件一幀數(shù)據(jù)。
[0053]在步驟404中,將該幀內(nèi)容傳遞給解碼器進(jìn)行解碼。
[0054]實(shí)施例4:
[0055]本發(fā)明實(shí)施例4提供了一種基于特征分析的動(dòng)態(tài)解碼裝置1,用于實(shí)現(xiàn)實(shí)施例1、2和3中的方法,如圖4所示,所述動(dòng)態(tài)解碼裝置包括存儲(chǔ)裝置11、處理裝置12和顯示裝置13,具體的:
[0056]所述存儲(chǔ)裝置11,用于存儲(chǔ)各種視頻解碼庫(kù),包括標(biāo)準(zhǔn)的視頻解碼庫(kù)、通用的視頻解碼庫(kù)和專用私有廠商的視頻解碼庫(kù);
[0057]所述處理裝置12,用于通過(guò)對(duì)視頻文件格式內(nèi)容的掃描,解析得到所述視頻文件所屬的視頻解碼子結(jié)構(gòu)類型;其中所述視頻解碼子結(jié)構(gòu)類型包括標(biāo)準(zhǔn)視頻解碼子結(jié)構(gòu)、通用視頻解碼子結(jié)構(gòu)和專用