一種高速自適應(yīng)提取視頻關(guān)鍵幀的方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于智能視頻分析領(lǐng)域,特別是設(shè)及一種高速自適應(yīng)視頻的關(guān)鍵帖提取方 法。
【背景技術(shù)】
[0002] 隨著多媒體數(shù)據(jù)技術(shù)的發(fā)展,多媒體數(shù)據(jù)中的視頻數(shù)據(jù)逐漸成為多媒體數(shù)據(jù)中最 重要的組成元素之一,它可W從時(shí)間、空間等維度上更逼真地記錄更多細(xì)節(jié)內(nèi)容。但是,網(wǎng) 絡(luò)中的多媒體數(shù)據(jù)信息給人們帶來(lái)方便的同時(shí),也帶來(lái)了很多負(fù)面的影響。一些包含不良 信息(如暴力恐怖、低俗等)的視頻在互聯(lián)網(wǎng)中的廣泛傳播嚴(yán)重威脅了網(wǎng)絡(luò)安全,危害了互 聯(lián)網(wǎng)用戶的用網(wǎng)安全。為了保障網(wǎng)絡(luò)環(huán)境的健康,需要能夠快速、準(zhǔn)確地在海量視頻數(shù)據(jù)中 分析出不良視頻并予W處理。因此,智能視頻分析中不良視頻檢測(cè)成為備受關(guān)注的熱點(diǎn)。
[0003] 視頻數(shù)據(jù)具備數(shù)據(jù)量大W及數(shù)據(jù)非結(jié)構(gòu)化的特點(diǎn),直接對(duì)視頻進(jìn)行分析復(fù)雜度 高,難度較大,不能保證網(wǎng)絡(luò)實(shí)時(shí)性的要求。因此,如何高效、快速地從視頻數(shù)據(jù)中獲取有效 信息是決定敏感視頻檢測(cè)速度的重要環(huán)節(jié)。比較常用且有效的做法是利用不同方法提取視 頻數(shù)據(jù)中的關(guān)鍵帖,然后對(duì)提取出的關(guān)鍵帖進(jìn)行分析,通過(guò)特定的檢測(cè)技術(shù)過(guò)濾掉不良視 頻。提取視頻關(guān)鍵帖的技術(shù)降低了視頻數(shù)據(jù)流在內(nèi)容上W及時(shí)間上的冗余度,既能有效反 映視頻內(nèi)容,又能有效縮短檢測(cè)時(shí)間,大大提高了檢索效率。
[0004] 關(guān)鍵帖提取技術(shù)是視頻內(nèi)容檢測(cè)的關(guān)鍵技術(shù)及重要步驟之一,目前已有的提取方 法主要分為W下幾種:
[0005] (1)基于抽樣的方法
[0006] 基于抽樣的方法是一種比較簡(jiǎn)單快速的關(guān)鍵帖提取方法,一般通過(guò)隨機(jī)抽取幾帖 或者按照規(guī)定的間隔抽取關(guān)鍵帖,或者規(guī)定每個(gè)鏡頭提取的帖數(shù),從而實(shí)現(xiàn)等間隔提取。該 方法簡(jiǎn)單快速,但是不能夠有效地表達(dá)視頻內(nèi)容,當(dāng)鏡頭很短時(shí)可能只能抽取到極少甚至 一個(gè)關(guān)鍵帖,可能導(dǎo)致一些重要信息丟失,而對(duì)于一些比較長(zhǎng)的視頻鏡頭片段,可能又會(huì)有 很多相似的關(guān)鍵帖被提取出來(lái),產(chǎn)生冗余,從而失去了關(guān)鍵帖提取的意義。
[0007] (2)基于鏡頭邊界的方法
[000引基于鏡頭邊界法認(rèn)為在一組鏡頭中相鄰圖像之間的特征變化很小,所W整個(gè)鏡頭 中圖像帖的特征變化應(yīng)該不會(huì)太大,因此該方法將切分得到的鏡頭中的第一帖和最后一帖 作為鏡頭的關(guān)鍵帖。該種方法實(shí)現(xiàn)也比較簡(jiǎn)單,但沒(méi)有考慮視覺(jué)內(nèi)容的復(fù)雜性,僅適用于一 些場(chǎng)景單一、內(nèi)容變化不大的視頻。而且該方案依賴于鏡頭切割技術(shù),該技術(shù)本身就是視頻 處理技術(shù)中的一個(gè)重點(diǎn)和難點(diǎn)問(wèn)題,局限性較大。
[0009] (3)基于運(yùn)動(dòng)分析的方法
[0010] 基于運(yùn)動(dòng)分析法也利用了對(duì)輸入視頻進(jìn)行鏡頭切割的方法。首先,通過(guò)光流分析 來(lái)計(jì)算每個(gè)鏡頭中的運(yùn)動(dòng)量,將運(yùn)動(dòng)量取極小值時(shí)對(duì)應(yīng)的視頻帖作為關(guān)鍵帖,該方法認(rèn)為 視頻中攝像機(jī)在某一位置停留時(shí)表明該視頻內(nèi)容比較重要,但是該方法對(duì)于鏡頭內(nèi)容變化 較快的情況容易發(fā)生漏檢,且同樣由于依賴于視頻鏡頭切割,導(dǎo)致復(fù)雜度高局限性大。
[0011] (4)基于聚類(lèi)的方法
[0012] 聚類(lèi)方法在人工智能、模式識(shí)別和語(yǔ)音識(shí)別等領(lǐng)域有著廣泛的應(yīng)用,基于聚類(lèi)的 關(guān)鍵帖提取算法通常在聚類(lèi)前便指定了關(guān)鍵帖的數(shù)目,該往往和實(shí)際情況不太相符,對(duì)于 包含較多突變鏡頭的視頻容易產(chǎn)生過(guò)多錯(cuò)誤聚類(lèi)。
[0013] W上關(guān)鍵帖提取方案均不能同時(shí)滿足提取速度快、對(duì)視頻的代表性高和關(guān)鍵帖數(shù) 量自適應(yīng)高等要求,因此,研究一種高速自適應(yīng)關(guān)鍵帖提取方法對(duì)視頻內(nèi)容檢測(cè)等領(lǐng)域具 有重要的研究?jī)r(jià)值和應(yīng)用前景。
【發(fā)明內(nèi)容】
[0014] 本發(fā)明針對(duì)現(xiàn)有關(guān)鍵帖提取算法中存在的問(wèn)題,提出一種高速自適應(yīng)關(guān)鍵帖提取 方法。該方法基于視頻解碼開(kāi)源程序,能夠處理視頻解碼開(kāi)源程序可解析的所有視頻格式。 針對(duì)現(xiàn)有關(guān)鍵帖方法速度慢的問(wèn)題,本發(fā)明在視頻壓縮數(shù)據(jù)流中精確定位KEY_FRAME數(shù)據(jù) 帖(該變量在視頻解碼開(kāi)源程序中定義,該種類(lèi)型的視頻帖不需參考其他視頻帖就可進(jìn)行 解碼),而非解碼全部視頻序列后再進(jìn)行關(guān)鍵帖提取操作,由此大大提高了關(guān)鍵帖的提取速 度。此外,針對(duì)W往算法提取出的關(guān)鍵帖代表性差和關(guān)鍵帖數(shù)量固定而導(dǎo)致適應(yīng)性差等問(wèn) 題,本發(fā)明首先通過(guò)人工標(biāo)注的實(shí)驗(yàn)數(shù)據(jù)確定相鄰關(guān)鍵帖之間的歸一化闊值,然后將該闊 值應(yīng)用到提取算法中實(shí)現(xiàn)自適應(yīng)地調(diào)整關(guān)鍵帖的數(shù)量,得到視頻序列中具有代表性的關(guān)鍵 帖。
[0015] 本發(fā)明提出的高速自適應(yīng)關(guān)鍵帖提取算法流程圖如圖1所示,其主要步驟如下:
[0016] (1)從海量網(wǎng)絡(luò)數(shù)據(jù)文件中獲取視頻文件,并利用視頻解碼開(kāi)源程序解析該視頻 文件,精確判斷視頻文件流中的視頻數(shù)據(jù)帖和非視頻數(shù)據(jù)帖(如音頻數(shù)據(jù)帖、字幕數(shù)據(jù)帖 等),當(dāng)為視頻數(shù)據(jù)帖時(shí)則進(jìn)行步驟(2),當(dāng)為非視頻數(shù)據(jù)帖(如音頻數(shù)據(jù)帖、字幕數(shù)據(jù)帖 等)時(shí)則丟棄。
[0017] (2)確定當(dāng)前數(shù)據(jù)帖為視頻數(shù)據(jù)帖后,根據(jù)其帖類(lèi)型字段判斷當(dāng)前數(shù)據(jù)帖中的數(shù) 據(jù)是否為KEY_FRAME視頻數(shù)據(jù)帖。如果是,則對(duì)其進(jìn)行解碼。否則丟棄該視頻數(shù)據(jù)帖,不對(duì) 其進(jìn)行操作,繼續(xù)解析下一視頻數(shù)據(jù)帖。
[0018] (3)當(dāng)利用視頻解碼開(kāi)源程序判斷當(dāng)前數(shù)據(jù)帖的類(lèi)型為KEY_FRAME時(shí),判斷其是 否為該視頻序列的第一個(gè)KEY_FRAME(也可W是后續(xù)某個(gè)KEY_FRAME數(shù)據(jù)帖),如果是,則將 當(dāng)前KEY_FRAME視為一個(gè)關(guān)鍵帖存入關(guān)鍵帖數(shù)據(jù)庫(kù)。如果否,則進(jìn)行步驟(4)。
[0019] (4)當(dāng)利用視頻解碼開(kāi)源程序判斷出當(dāng)前帖為KEY_FRAME但不為當(dāng)前視頻序列中 的第一個(gè)KEY_FRAME時(shí),計(jì)算并判斷該帖與關(guān)鍵帖數(shù)據(jù)庫(kù)中前一個(gè)關(guān)鍵帖的相似度是否符 合預(yù)設(shè)條件。如果符合,則將此KEY_FRAME作為新的關(guān)鍵帖存入數(shù)據(jù)庫(kù)中。如果不符合,貝U 將其舍棄,繼續(xù)解析下一視頻帖。
[0020] (5)按照上述流程,重復(fù)步驟(2)、(3)、(4)處理視頻序列中的所有視頻帖,直至視 頻文件結(jié)尾,即得到該視頻中具有代表性的關(guān)鍵帖。
[0021] 進(jìn)一步的,在步驟(1)中,本發(fā)明利用視頻解碼開(kāi)源程序解析視頻,據(jù)調(diào)研,現(xiàn)有 的視頻編碼標(biāo)準(zhǔn)中最為重要的編碼標(biāo)準(zhǔn)包括國(guó)際電聯(lián)的H. 261、H. 263、H. 264,運(yùn)動(dòng)靜止 圖像專家組的M-JPEG和國(guó)際標(biāo)準(zhǔn)化組織運(yùn)動(dòng)圖像專家組成的MPEG系列標(biāo)準(zhǔn)。此外,在互 聯(lián)網(wǎng)上被廣泛應(yīng)用的還有Real-Networks的RealVideo、微軟公司的WMVW及蘋(píng)果公司的 QuickTime。而現(xiàn)有的視頻解碼開(kāi)源程序針對(duì)不同的編碼標(biāo)準(zhǔn)均設(shè)計(jì)了不同的解碼器,可W完成各種格式視頻的解碼。
[0022] 進(jìn)一步的,在步驟(1)、(2)、(3)中,每次解析均為一獨(dú)立的視頻數(shù)據(jù)帖或者音頻 數(shù)據(jù)帖,從視頻文件流中精確定位并提取每個(gè)數(shù)據(jù)帖的具體方法是;如圖2所示,一般視頻 文件都由已經(jīng)編碼壓縮好的視頻軌和音頻軌等按照一定的格式和規(guī)則封裝到到一個(gè)容器 中。通過(guò)在一完整的視頻帖編碼后的數(shù)據(jù)前加入特定格式的信息,使之成為和某特定格式 容器兼容的視頻數(shù)據(jù)帖,從而寫(xiě)入到視頻文件,繼而完成整個(gè)封裝過(guò)程。利用視頻解碼開(kāi)源 程序?qū)σ曨l文件進(jìn)行解封裝時(shí),可利用該些特定格式信息將視頻文件流劃分為相互獨(dú)立的 數(shù)據(jù)帖。
[0023] 進(jìn)一步的,在步驟(2)中,判斷當(dāng)前視頻帖類(lèi)型是否為KEY_FRAME的具體方法是: