專利名稱:快速提取關(guān)鍵幀的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻數(shù)據(jù)處理技術(shù)領(lǐng)域,尤其涉及一種對電視音像資料編目時(shí) 從視頻數(shù)據(jù)中提取關(guān)鍵幀的方法和裝置。
背景技術(shù):
媒體行業(yè)長期以來積累了眾多的多媒體資料,帶給了人們信息和娛樂,充 實(shí)了人們的精神生活。隨著電視臺數(shù)字化進(jìn)程的快速推進(jìn)和視頻應(yīng)用的迅猛發(fā) 展,越來越多的媒體企業(yè)認(rèn)識到必須改善對多媒體資料等媒體資產(chǎn)的管理方法, 才能適應(yīng)高速發(fā)展的技術(shù)、業(yè)務(wù)需求。
目前許多電視臺都在進(jìn)行媒體資產(chǎn)管理系統(tǒng)(簡稱媒資系統(tǒng))的建設(shè)。如
圖1所示,為了將視頻存儲(chǔ)到媒資系統(tǒng)的數(shù)據(jù)庫中, 一般會(huì)經(jīng)過以下過程視 頻會(huì)先上載到現(xiàn)有的播出系統(tǒng)中,然后經(jīng)過節(jié)目遷移入庫請求,視頻才會(huì)被篩 選進(jìn)入媒資系統(tǒng)的數(shù)據(jù)庫中,此時(shí),為了便于快速查詢和瀏覽視頻,會(huì)將視頻 轉(zhuǎn)化為低碼流的格式,并提取關(guān)鍵幀,最后對視頻進(jìn)行打點(diǎn)編輯和信息編目, 從而完成入庫。
在上述視頻入庫的過程中, 一個(gè)重要的工作為從視頻中提取關(guān)鍵幀。通常 一個(gè)視頻中包含有多個(gè)鏡頭,所提取的關(guān)鍵幀即用于代表視頻包含的每個(gè)鏡頭 的內(nèi)容。提取出關(guān)鍵幀之后,通過檢索關(guān)鍵幀,來提高視頻的查詢和瀏覽效率。
為了提取視頻中每個(gè)鏡頭的關(guān)鍵幀,傳統(tǒng)的方法是對視頻進(jìn)行鏡頭分割(檢 測出各鏡頭的邊界),然后從分割后的各鏡頭中提取關(guān)鍵幀。在實(shí)現(xiàn)鏡頭分割后, 一部視頻素材就會(huì)自動(dòng)提取能夠代表鏡頭內(nèi)容的一個(gè)或多個(gè)關(guān)鍵幀,并加以描 述后存入數(shù)據(jù)庫,對應(yīng)的碼流存儲(chǔ)在媒資系統(tǒng)的數(shù)據(jù)庫中,通過檢索關(guān)鍵幀來 代替相應(yīng)的碼流,提高該視頻素材的查詢和瀏覽效率。
傳統(tǒng)的鏡頭分割方法是先提取視頻中各幀的特征值(如顏色分量或直方 圖),然后進(jìn)行逐幀比較,當(dāng)相鄰兩幀的特征值之差大于一定閾值時(shí),說明該兩 幀為鏡頭的邊界,在它們之間發(fā)生了鏡頭轉(zhuǎn)換,所以在該兩幀之間進(jìn)行鏡頭分
5割即可。
上述方法的缺點(diǎn)是當(dāng)一部視頻較長時(shí),其逐幀比較的方式將非常耗時(shí)。 雖然該方法能保證查全率(即每幀數(shù)據(jù)都會(huì)進(jìn)行比較),但速度太慢,尤其不適 用于電視臺的媒資系統(tǒng),原因是 一、電視臺對視頻處理的速度要求較高;二、 用于客戶瀏覽而提取的關(guān)鍵幀需要的不是"全"而是"準(zhǔn)"(即所提取的關(guān)鍵幀 分別屬于不同的鏡頭)。
發(fā)明內(nèi)容
本發(fā)明提供一種快速提取關(guān)鍵幀的方法和裝置,用于在保證查準(zhǔn)率的前提 下,快速提取關(guān)鍵幀。
為達(dá)到上述目的,本發(fā)明釆用如下技術(shù)方案 一種快速提取關(guān)鍵幀的方法,包括
a 、確定視頻的幀序列中首幀與尾幀的特征值之差大于設(shè)定的閾值;
b、 將幀序列分割為兩個(gè)幀序列,并記錄分割位置,所述兩個(gè)幀序列中前一 幀序列的尾幀與后一幀序列的首幀為同 一幀;
c、 在分割后的所有幀序列中,根據(jù)相鄰幀序列的首幀與尾幀的特征值之差 情況,處理所記錄的分割位置,并找出首幀與尾幀的特征值之差大于所述閾值 的幀序列,執(zhí)行步驟b,如果未找出所述幀序列,則執(zhí)行步驟d;
d、 根據(jù)處理后的分割位置,提取關(guān)鍵幀。 一種快速提取關(guān)鍵幀的方法,包括
a 、確定視頻的幀序列中首幀與尾幀的特征值之差'J、于設(shè)定的閾值; b、從所述幀序列的任意位置,提取關(guān)鍵幀。 一種快速提取關(guān)鍵幀的裝置,其特征在于,包括
第 一確定單元用于確定視頻的幀序列中首幀與尾幀的特征值之差大于設(shè) 定的閾值;
分割和記錄單元用于將幀序列分割為兩個(gè)幀序列,并記錄分割位置,所 述兩個(gè)幀序列中前一幀序列的尾幀與后一幀序列的首幀為同一幀;
處理和查找單元用于在分割后的所有幀序列中,根據(jù)相鄰幀序列的首幀
6與尾幀的特征值之差情況,處理所記錄的分割位置,并找出首幀與尾幀的特征 值之差大于所述閾值的幀序列,發(fā)送給分割和記錄單元,如果未找出所述幀序
列,則啟動(dòng)第一提取單元;
第一提取單元用于根據(jù)處理后的分割位置,提取關(guān)鍵幀。 一種快速提取關(guān)鍵幀的裝置,包括
第二確定單元用于確定視頻的幀序列中首幀與尾幀的特征值之差小于設(shè) 定的閾值;
第二提取單元用于從所述幀序列的任意位置,提取關(guān)鍵幀。 本發(fā)明中,首先將視頻的幀序列中首幀與尾幀的特征值之差與設(shè)定的閾值 進(jìn)行比較,如果小于設(shè)定的閾值,則說明該視頻僅包含一個(gè)鏡頭,此時(shí),則可 以從視頻幀序列的任意位置提取關(guān)鍵幀。如果大于設(shè)定的閾值,則說明該視頻 包含多個(gè)鏡頭,此時(shí),將幀序列分割為兩個(gè)幀序列,并記錄分割位置,所述兩 個(gè)幀序列中前一幀序列的尾幀與后一幀序列的首幀為同一幀;然后在分割后的 所有幀序列中,根據(jù)相鄰幀序列的首幀與尾幀的特征值之差情況,處理所述分 割位置,并找出首幀與尾幀的特征值之差大于所述閾值的幀序列,執(zhí)行前述分 割的步驟;經(jīng)過該步驟處理后,包含多個(gè)鏡頭的幀序列都會(huì)被不斷的進(jìn)行再分 割,直至所有的幀序列中僅包含一個(gè)鏡頭。分割過程結(jié)束后,所記錄的分割位 置中,就包含了每個(gè)鏡頭的邊界幀(首幀和尾幀),因此,根據(jù)所記錄的分割位 置,即可提取關(guān)鍵幀。本發(fā)明是將幀序列的首尾幀特征值之差與設(shè)定的閾值進(jìn) 行比較,判斷其是否包含多個(gè)鏡頭,然后將包含多個(gè)鏡頭的幀序列不斷進(jìn)行分 割,直至其只包含一個(gè)鏡頭,從而最終實(shí)現(xiàn)了鏡頭分割,本發(fā)明沒有進(jìn)行逐幀 比較,大大減少了運(yùn)算量,節(jié)省了時(shí)間,并且保證了所提取的關(guān)鍵幀屬于不同 的鏡頭,因此,本發(fā)明能夠在保證查準(zhǔn)率的前提下,快速提取關(guān)鍵幀。
圖1為現(xiàn)有技術(shù)中將視頻存儲(chǔ)到媒資系統(tǒng)數(shù)據(jù)庫中的流程示意圖; 圖2為本發(fā)明方法實(shí)施例一的流程示意圖; 圖3為本發(fā)明方法實(shí)施例二的流程示意7圖4為現(xiàn)有技術(shù)中視頻幀序列的結(jié)構(gòu)示意圖5為本發(fā)明中對^f見頻幀序列進(jìn)行分割的示意圖6為本發(fā)明中刪除分割位置的情況示意圖7為本發(fā)明中利用二叉樹結(jié)構(gòu)記錄圖6所示分割位置的示意圖8為本發(fā)明裝置一個(gè)實(shí)施例的結(jié)構(gòu)示意圖9為本發(fā)明裝置另一實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施例方式
本發(fā)明提供一種快速提取關(guān)鍵幀的方法和裝置,它能夠在保證查準(zhǔn)率的前 提下,快速提取關(guān)鍵幀。下面結(jié)合附圖對本發(fā)明作詳細(xì)描述。
一方面,本發(fā)明提供一種快速提取關(guān)鍵幀的方法,它包含有兩種技術(shù)方案, 此處分別采用實(shí)施例 一和實(shí)施例二對該兩種技術(shù)方案進(jìn)行介紹。
實(shí)施例一
如圖2所示,本實(shí)施例快速提取關(guān)鍵幀的方法,包括
步驟201:確定視頻的幀序列中首幀與尾幀的特征值之差大于設(shè)定的閾值;
現(xiàn)有技術(shù)中,幀特征值的計(jì)算方法有直方圖、RGB顏色分量和邊緣(輪廓) 特征值等方法。本實(shí)施例中,特征值以RGB顏色分量為例。
如果首幀與尾幀的特征值之差大于設(shè)定的閾值,則說明該幀序列包含有多 個(gè)鏡頭,因此,為了在各鏡頭中提取關(guān)鍵幀,還需要進(jìn)行后續(xù)步驟。
步驟202:將幀序列分割為兩個(gè)幀序列,并記錄分割位置,所述兩個(gè)幀序列 中前一幀序列的尾幀與后一幀序列的首幀為同 一幀;
該步驟202中,將幀序列分割為兩個(gè)幀序列,該兩個(gè)幀序列中前一幀序列 的尾幀與后一幀序列的首幀為同一幀的原因是在分割后,通常會(huì)存在這種情 況,即,相鄰的兩個(gè)幀序列屬于同一個(gè)鏡頭。由于該步驟202中的分割位置是 隨機(jī)選取的,所以可能會(huì)在一個(gè)鏡頭幀序列的中間某個(gè)位置進(jìn)行了分割,此時(shí), 經(jīng)過后續(xù)分割后,就會(huì)出現(xiàn)相鄰幀序列屬于同一鏡頭的情況。因此,為了保證 所提取的關(guān)鍵幀屬于不同的鏡頭,就需要識別出這種情況。該步驟中的分割時(shí) 使相鄰幀序列包含有同一幀,因此,如果已知相鄰幀序列都只包含有一個(gè)鏡頭,則不用進(jìn)行額外的比較,就能夠推知該相鄰幀序列屬于同一鏡頭。而如果分割 時(shí)使相鄰幀序列不包含有同一幀,則還需要進(jìn)行額外的比較,來判斷它們是否 屬于同一個(gè)鏡頭,這樣就會(huì)增加計(jì)算量,耗費(fèi)較多時(shí)間。
步驟203:在分割后的所有幀序列中,根據(jù)相鄰幀序列的首幀與尾幀的特征 值之差情況,處理所記錄的分割位置,并找出首幀與尾幀的特征值之差大于所 述閾值的幀序列,執(zhí)行步驟202,如果未找出所述幀序列,則執(zhí)行步驟204;
該步驟203中,首先根據(jù)相鄰幀序列的首幀與尾幀的特征值之差情況,處 理所記錄的分割位置,這主要是用于判斷出相鄰幀序列屬于同一鏡頭的情況, 然后對這種情況下相鄰幀序列的相鄰位置所對應(yīng)的分割位置進(jìn)行處理。處理的 目的是為了保證后續(xù)提取關(guān)鍵幀時(shí)的查準(zhǔn)率。此處的處理可以是標(biāo)記該相鄰位 置所對應(yīng)的分割位置與相鄰的兩個(gè)幀序列各自的首尾幀均屬于同一鏡頭,或者 直接將該分割位置刪除從而合并該相鄰兩個(gè)幀序列。
另外,該步驟203中還找出了首幀與尾幀的特征值之差大于所述閾值的幀 序列,執(zhí)行步驟202,從而使得包含多個(gè)鏡頭的幀序列都會(huì)被不斷的進(jìn)行再分割, 直至所有的幀序列中僅包含一個(gè)鏡頭。需要說明的是,本發(fā)明方法盡管會(huì)在一 個(gè)鏡頭的中間某些位置對該鏡頭的幀序列進(jìn)行分割,但最后在鏡頭的邊界處必 然會(huì)進(jìn)行了分割(不然的話,就會(huì)不斷的執(zhí)行步驟202 ),最終實(shí)現(xiàn)了鏡頭分割, 因此,所記錄的分割位置中,包括與鏡頭的邊界幀相對應(yīng)的分割位置,另外還 包括與鏡頭內(nèi)某些幀相對應(yīng)的分割位置,而與鏡頭內(nèi)某些幀相對應(yīng)的分割位置 已經(jīng)經(jīng)過處理,因此,根據(jù)處理后的分割位置,就能夠方便的提取出關(guān)^:幀。
步驟204:根據(jù)處理后的分割位置,提取關(guān)鍵幀。
經(jīng)過前面的步驟后,此時(shí)根據(jù)處理后的分割位置,就能夠方便的提取出關(guān) 鍵幀。
本實(shí)施例是將幀序列的首尾幀特征值之差與設(shè)定的閾值進(jìn)行比較,判斷其 是否包含多個(gè)鏡頭,然后將包含多個(gè)鏡頭的幀序列不斷進(jìn)行分割,直至其只包 含一個(gè)鏡頭,從而最終實(shí)現(xiàn)了鏡頭分割。本實(shí)施例沒有進(jìn)行逐幀比較,大大減 少了運(yùn)算量,節(jié)省了時(shí)間,并且能夠保證所提取的關(guān)鍵幀屬于不同的鏡頭,因
此,本發(fā)明能夠在保證查準(zhǔn)率的前提下,快速提取關(guān)^:幀。
9本實(shí)施例中,步驟202對幀序列進(jìn)行分割的位置可以選擇幀序列中的任意 位置,均能實(shí)現(xiàn)本發(fā)明的技術(shù)方案。為了使分割過程更加方便和快速,分割的 位置優(yōu)選為幀序列的中間位置,即對幀序列采用二分法處理,具體如下
如果幀序列的幀個(gè)數(shù)為n,并且n為偶數(shù),則分割位置為n/2,分割后形成 的兩個(gè)幀序列的幀個(gè)數(shù)分別為n/2和n/2+l;
如果幀序列的幀個(gè)數(shù)為n,并且n為奇數(shù),則分割位置為(n+l)/2,分割 后形成的兩個(gè)幀序列的幀個(gè)數(shù)均為(n+l) /2。
另外,步驟203中根據(jù)相鄰幀序列的首幀與尾幀的特征值之差情況,處理 所述分割位置,具體為如果存在兩個(gè)相鄰的幀序列,其首幀與尾幀的特征值 之差均小于所述閾值,則從所記錄的分割位置中,刪除該兩個(gè)幀序列相鄰位置 所對應(yīng)的分割位置。在經(jīng)過至少兩次分割后,會(huì)產(chǎn)生相鄰幀序列屬于同一個(gè)鏡 頭的情況,因此,為了使所提取的關(guān)鍵幀屬于不同的鏡頭,確保查準(zhǔn)率,則刪 除該兩個(gè)幀序列相鄰位置所對應(yīng)的分割位置。刪除之后,所記錄的分割位置中, 就只包含有與鏡頭的邊界幀相對應(yīng)的分割位置,此時(shí),就可以根據(jù)所記錄的分 割位置,直接提取邊界幀作為關(guān)鍵幀。而如果需要在一個(gè)鏡頭內(nèi)提取多個(gè)關(guān)鍵 幀的話,則可以根據(jù)所述邊界幀的位置,計(jì)算并提取出鏡頭內(nèi)部位置的幀作為 關(guān)鍵幀。
并且,本發(fā)明中為了更快速的提取關(guān)鍵幀,所述方法進(jìn)一步包括預(yù)先設(shè) 定分割次數(shù),當(dāng)所述分割的次數(shù)達(dá)到預(yù)先設(shè)定的分割次數(shù)時(shí),結(jié)束步驟203,執(zhí) 行步驟204。如果對關(guān)鍵幀查全率要求不高,比如只需要獲取少量關(guān)鍵幀時(shí),那 么使用較少的分割次數(shù),使步驟203盡早結(jié)束,這樣就能更快速的提取關(guān)鍵幀。
實(shí)施例二
如圖3所示,本實(shí)施例快速提取關(guān)鍵幀的方法,包括
步驟301:確定視頻的幀序列中首幀與尾幀的特征值之差小于設(shè)定的閾值;
步驟302:從所述幀序列的任意位置,提取關(guān)鍵幀。
本實(shí)施例中首幀與尾幀的特征值之差小于設(shè)定的閾值,說明該視頻僅包含 一個(gè)鏡頭,此時(shí),可以從視頻幀序列的任意位置提取關(guān)鍵幀。由于在步驟301 中已經(jīng)獲取了首尾幀的數(shù)據(jù),因此,優(yōu)選提取首尾幀作為關(guān)鍵幀,以提高速度。本實(shí)施例僅用到了一次比較,就能夠提取關(guān)鍵幀,大大減少了運(yùn)算量,節(jié)省了 時(shí)間,并且能夠保證所提取的關(guān)鍵幀屬于不同的鏡頭,因此,本發(fā)明能夠在保 證查準(zhǔn)率的前提下,快速提取關(guān)鍵幀。
上述實(shí)施例一是針對視頻中包含多個(gè)鏡頭的情況,該情況實(shí)際應(yīng)用中較為
常見;實(shí)施例二是針對視頻中僅包含一個(gè)鏡頭的情況,該情況較為少見。下面 結(jié)合對一具體視頻提取關(guān)鍵幀的過程,對上述實(shí)施例一作進(jìn)一步描述。
為了更容易理解本發(fā)明,先簡要說明一下現(xiàn)有技術(shù)中關(guān)鍵幀的提取方法。
如圖4所示的一部視頻,各幀用小方塊表示,黑色方塊代表一個(gè)鏡頭的開 始幀,其中,第1幀和第2幀組成了第一個(gè)鏡頭,第3幀至第6幀則組成了第 二個(gè)鏡頭,第7幀到第N幀則組成了其它多個(gè)鏡頭。
現(xiàn)有技術(shù)中,為了提取關(guān)鍵幀,采用的方法是使用逐幀比較的方法檢測 出鏡頭的邊界,然后在各個(gè)鏡頭中提取關(guān)鍵幀。逐幀比較需要比較各幀的特征 值(特征值以RGB顏色分量為例),首先計(jì)算各幀的RGB分量值,第x幀的特征 值記為f (x),然后計(jì)算相鄰兩幀的幀差lf (x) -f (x-l) I,如果大于預(yù)先設(shè) 定的閾值F的話,那么就認(rèn)為在第x幀處發(fā)生了鏡頭轉(zhuǎn)換。這種方法需要對各 幀的特征量都要計(jì)算一次共n次計(jì)為Un,每對相鄰幀都要比較一次幀差共計(jì)算 n-l次計(jì)為Vn,那么總計(jì)算量為Un+Vn=2n-1。
現(xiàn)有技術(shù)中提取關(guān)鍵幀時(shí),是將視頻的關(guān)鍵幀記錄到xml(可擴(kuò)展標(biāo)記語言) 文件中進(jìn)行打點(diǎn),當(dāng)需要提取關(guān)鍵幀時(shí)直接讀取xral文件中幀的位置,來獲取 關(guān)鍵幀。本發(fā)明中,對幀序列的分割也是通過在文件中打點(diǎn)來實(shí)現(xiàn)的,打點(diǎn)位 置即為分割位置。
下面結(jié)合圖5詳細(xì)說明使用本發(fā)明實(shí)施例方法對圖4所示的視頻提取關(guān)鍵 幀的過程,該過程使用二分分割法并通過打點(diǎn)來實(shí)現(xiàn)對幀序列的分割,并且本 實(shí)施例視頻的幀序列中幀個(gè)數(shù)n為偶數(shù),各幀分別以1「L來表示。
如圖5所示,首先,在首尾兩幀L和In處打點(diǎn)并判斷l(xiāng)f (n) -f (1) |>F 是否成立,如果成立,說明幀序列中包含有多個(gè)鏡頭,那么在中間位置1-/2處打 點(diǎn),從而使幀序列分割為1「U和In/2-1 兩個(gè)幀序列,該兩個(gè)幀序列中前一幀 序列的尾幀與后一幀序列的首幀為同一幀,均為L/2;然后再分別計(jì)算分割形成的兩個(gè)幀序列的首尾幀特征值之差,即I f ( n/2 ) -f ( 1 ) I >F和I f ( n ) -f ( n/2 ) 1〉F是否成立,如果成立,說明該兩個(gè)幀序列仍然包含有多個(gè)鏡頭,那么繼續(xù)在
I!與In/2的中間位置以及In/2與L的中間位置打點(diǎn),分別記為In/4和U一,接
著計(jì)算lf (n/4) -f (1) 1〉F和lf (n/2) -f (n/4) 1〉F以及l(fā)f ( 3n/4 ) -f (n/2) |>F和lf (n) -f (3n/4) |〉F是否成立,成立的話,以此類推向下進(jìn)行,直到 該不等式不成立為止。不成立時(shí),說明對應(yīng)的幀序列中只包含有一個(gè)鏡頭,這 樣就最終實(shí)現(xiàn)了鏡頭分割。
假如在第k次劃分之后,在m幀處打的點(diǎn)使得lf (m) -f (m-n/2k) 1〉F不成 立的話,說明這兩幀之間為同 一個(gè)鏡頭,那么在xml文件上標(biāo)記m和(m-n/2k) 這兩個(gè)點(diǎn),在第k+1次二分時(shí)就不再向這兩幀中間打點(diǎn)。
一段幀數(shù)為n的視頻由于每個(gè)鏡頭最少含有兩幀,所以最多只有必要進(jìn)行 1og2n次二分打點(diǎn),在每次劃分之后,如果幀差不大于閾值F,則在打點(diǎn)記錄本 片段,使得在下一次二分時(shí)不再插入中間幀以減少計(jì)算量。在最后一次劃分后, 中間幀與上次劃分的前后幀幀數(shù)差只會(huì)是2或者3,那么到這一層為止,如果幀 差大于閾值F的話,則打點(diǎn)記錄兩幀,如果小于閾值F,則只取兩幀中的前面一 幀位置。
在上述判斷不等式是否成立的過程中,可以同時(shí)判斷出相鄰幀序列屬于同 一鏡頭的情況,確定出現(xiàn)該情況后,刪除相鄰幀序列之間的打點(diǎn)位置。如圖6 所示的打點(diǎn)過程中,第一次打點(diǎn)位置為第q幀,第二次打點(diǎn)位置為第p幀;由 于p和q之間包含多個(gè)鏡頭,因此會(huì)有第三次打點(diǎn),打點(diǎn)位置為第u幀;由于p 和u之間只包含一個(gè)鏡頭,因此p和u之間不再打點(diǎn),而u和q之間還包含多 個(gè)鏡頭,因此會(huì)繼續(xù)在u和q之間打點(diǎn),打點(diǎn)位置為第v幀。由圖6可知,p和 u之間的幀序列與u和v之間的幀序列為相鄰的幀序列,該相鄰幀序列就屬于同 一個(gè)鏡頭,因此,刪除u幀的打點(diǎn)記錄。
最后,處理后的打點(diǎn)位置中就僅包含各鏡頭的邊界幀,因此,根據(jù)處理后 的打點(diǎn)位置,即可提取關(guān)鍵幀。
結(jié)合上述過程,分析兩種極限情況
第一種極限情況是每個(gè)鏡頭只含兩幀,直到第log2n-l次劃分為止才有幀差不大于閾值F的情況,此時(shí),需要計(jì)算特征量的幀數(shù)為n/2,計(jì)算量為Un/2,幀 差對比計(jì)算的次數(shù)為Vn-2。+2'+22十……+2A(log2n-1)=2° (2Alog2n-l) / (2-1) =n-l。
這種情況是計(jì)算量最大的情況,總計(jì)算量為Un/2+Vn=l. 5n-l。 第二種極限情況是整部視頻只由一個(gè)鏡頭組成(即實(shí)施例二),那么只需計(jì)
算首尾幀特征值即Un=2,而幀差對比次數(shù)只需一次即Vn=l。 這種情況是計(jì)算量最小的情況,總計(jì)算量為Un+Vn=2+1=3。 由以上分析可知,即使在最差情況下本發(fā)明方法也會(huì)比傳統(tǒng)的逐幀比較法 的計(jì)算量(2n-l)小,節(jié)省時(shí)間。
以上分析是針對幀序列中幀個(gè)數(shù)n為偶數(shù)的情況,當(dāng)n為奇數(shù)時(shí)同樣也會(huì) 減少計(jì)算量,節(jié)省時(shí)間。并且當(dāng)n為奇數(shù)時(shí),分割過程可以有兩種處理方式 一種方式是,分割位置選擇為(n+1) /2,其余步驟與上述步驟相同;另一種方 式是,舍去幀序列中的某個(gè)幀,使n變?yōu)榕紨?shù)后,再釆用上述步驟進(jìn)行處理。
以上過程重點(diǎn)描述了使用本發(fā)明方法中對幀序列的分割及其有益效果。在 每次分割后,都會(huì)記錄分割位置(即打點(diǎn)位置),為了清晰、方便的記錄各分割
位置,并便于后續(xù)步驟從中提取關(guān)鍵幀,本發(fā)明中,優(yōu)選結(jié)合所述分割過程, 使用二叉樹結(jié)構(gòu)進(jìn)行記錄。
下面將詳細(xì)介紹本發(fā)明方法如何使用二叉樹記錄所述分割位置。
使用二叉樹記錄分割位置的過程如下
將第 一次分割時(shí)的分割位置記錄為二叉樹的# 節(jié)點(diǎn);在后續(xù)分割過程中, 獲得當(dāng)前要分割的幀序列以及在上一次分割過程中該幀序列所對應(yīng)的分割位 置,按照該兩者的位置關(guān)系,將該幀序列的分割位置記錄為上一次分割過程中 分割位置所對應(yīng)節(jié)點(diǎn)的左子節(jié)點(diǎn)或右子節(jié)點(diǎn)。如圖7所示,為本發(fā)明中利用二 叉樹結(jié)構(gòu)記錄圖6所示分割位置的示意圖。圖6中,q為第一次分割時(shí)的分割位 置,因此將q記錄為二叉樹的根節(jié)點(diǎn);后續(xù)分割過程中,根據(jù)幀序列的位置關(guān) 系,構(gòu)建二叉樹的各節(jié)點(diǎn),所以在第二次分割時(shí),由于p所要分割的幀序列位 于q的左側(cè),因此將p記錄為q的左子節(jié)點(diǎn);第三次分割時(shí),由于u所要分割 的幀序列位于p的右側(cè),因此將u記錄為p的右子節(jié)點(diǎn);同理,第四次分割時(shí), v記錄為u的右子節(jié)點(diǎn)。在分割過程中,如果存在一個(gè)幀序列,其首幀與尾幀的特征值之差小于所 述閾值(即首尾幀處于同一鏡頭內(nèi)),并且其首尾位置所對應(yīng)的兩個(gè)節(jié)點(diǎn)中,一 個(gè)節(jié)點(diǎn)為另一節(jié)點(diǎn)的子節(jié)點(diǎn),則所述子節(jié)點(diǎn)將不具有與另一節(jié)點(diǎn)同側(cè)的下層節(jié)
點(diǎn)。參見圖6和圖7,在進(jìn)行第三次分割時(shí),由于u與p處在同一4竟頭中,且p 在u的左側(cè),所以對應(yīng)的二叉樹中u將不再具有左子節(jié)點(diǎn)。同理,v也不具有左 子節(jié)點(diǎn)。
在所述二叉樹中,對于某一節(jié)點(diǎn),其具有父節(jié)點(diǎn)和子節(jié)點(diǎn),如果該節(jié)點(diǎn)不 具有與其父節(jié)點(diǎn)同側(cè)的下層節(jié)點(diǎn),并且其子節(jié)點(diǎn)也不具有與該節(jié)點(diǎn)同側(cè)的下層 節(jié)點(diǎn),則刪除該節(jié)點(diǎn),使其父節(jié)點(diǎn)與子節(jié)點(diǎn)直接相連。參見圖6和圖7,對于節(jié) 點(diǎn)u,它具有父節(jié)點(diǎn)p和子節(jié)點(diǎn)v,由于u將不具有與p同側(cè)的左節(jié)點(diǎn),v也不 具有與u同側(cè)的左節(jié)點(diǎn),因此,說明p、 u和v處于同一鏡頭中,這種情況下, 為了使提取的關(guān)鍵幀屬于不同的鏡頭,確保查準(zhǔn)率,則刪除u節(jié)點(diǎn),使p與v 直接相連。
整棵樹建立完畢后,參見圖5,整部視頻的中間幀n/2將為根節(jié)點(diǎn),其左子 節(jié)點(diǎn)為n/4幀號,右子節(jié)點(diǎn)為3n/4幀號,依次類推,最后整部視頻的首幀號1 位于左子樹末尾左葉子節(jié)點(diǎn)處,尾幀n處在右子樹末尾右葉子節(jié)點(diǎn)處,那么對 整棵樹進(jìn)行中序遍歷,根據(jù)遍歷結(jié)果,即可獲得按時(shí)間順序排列的關(guān)鍵幀序列。 由于中序遍歷是首先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹;并且在 遍歷左、右子樹時(shí),仍然先遍歷左子樹,再訪問根結(jié)點(diǎn),最后遍歷右子樹,所 以,進(jìn)行中序遍歷后,根據(jù)遍歷結(jié)果,就能夠獲得按時(shí)間順序排列的關(guān)鍵幀序 列。
上述過程介紹了本發(fā)明如何使用二叉樹結(jié)構(gòu)記錄所述分割位置,使用二叉 樹的好處在于,二叉樹的結(jié)構(gòu)能夠與本發(fā)明的分割過程相配合,分割過程中所 記錄的分割位置正好構(gòu)成二叉樹的節(jié)點(diǎn),因此,使用二叉樹能夠非常清晰、方 便的記錄各分割位置。并且,最后對整棵樹進(jìn)行中序遍歷,根據(jù)遍歷結(jié)果,還 能夠獲得按時(shí)間順序排列的關(guān)鍵幀序列,方便關(guān)鍵幀的使用。
本發(fā)明實(shí)施例中,由于刪除了同一鏡頭內(nèi)的分割位置,只保留了鏡頭首尾 位置的分割位置,因此,最后根據(jù)處理后的分割位置,所提取的關(guān)鍵幀是各鏡
14頭的首幀或尾幀。本發(fā)明實(shí)施例在保證查準(zhǔn)率的前提下,快速的提取了關(guān)鍵幀。
另外,本發(fā)明方法還可以讓用戶設(shè)定分割次數(shù)k (l<k<log2n)的大小,使 分割步驟盡早結(jié)束,以自由控制二叉樹的深度。如杲對關(guān)鍵幀查全率要求不高, 比如只需要獲取少量關(guān)鍵幀時(shí),那么可以把分割次數(shù)k設(shè)定的小一些,這種情 況下會(huì)更快速的完成關(guān)鍵幀提取。但這種情況最后沒有實(shí)現(xiàn)鏡頭分割,因此, 所提取的關(guān)鍵幀就不再是各鏡頭的首幀或尾幀,但是,本發(fā)明在所記錄的分割 位置中,將屬于同一鏡頭的相鄰關(guān)鍵幀之間的分割位置進(jìn)行了處理(標(biāo)記或是 刪除),因此能夠保證最終根據(jù)處理后的分割位置,所提取出的關(guān)^:幀屬于不同 的鏡頭,確保查準(zhǔn)率。
綜上,本發(fā)明的方法,是將幀序列的首尾幀特征值之差與設(shè)定的閾值進(jìn)行 比較,判斷其是否包含多個(gè)鏡頭,然后將包含多個(gè)鏡頭的幀序列不斷進(jìn)行分割, 直至其只包含一個(gè)鏡頭,最后根據(jù)分割位置,來提取關(guān)鍵幀。本發(fā)明沒有進(jìn)行 逐幀比較,大大減少了運(yùn)算量,節(jié)省了時(shí)間,并且能夠保證所提取的關(guān)鍵幀屬 于不同的鏡頭,因此,本發(fā)明能夠在保證查準(zhǔn)率的前提下,快速提取關(guān)鍵幀。
另一方面,與上述方法相對應(yīng),本發(fā)明提供一種快速提取關(guān)鍵幀的裝置, 該裝置也有兩種技術(shù)方案,此處分別采用實(shí)施例三和實(shí)施例四對其進(jìn)行介紹。
實(shí)施例三
如圖8所示,本實(shí)施例快速提取關(guān)鍵幀的裝置,包括 第一確定單元801:用于確定視頻的幀序列中首幀與尾幀的特征值之差大于 設(shè)定的閾值;
分割和記錄單元802:用于將幀序列分割為兩個(gè)幀序列,并記錄分割位置, 所述兩個(gè)幀序列中前一幀序列的尾幀與后一幀序列的首幀為同一幀;
處理和查找單元803:用于在分割后的所有幀序列中,根據(jù)相鄰幀序列的首 幀與尾幀的特征值之差情況,處理所記錄的分割位置,并找出首幀與尾幀的特 征值之差大于所述閾值的幀序列,發(fā)送給分割和記錄單元802,如果未找出所述 幀序列,則啟動(dòng)第一提取單元804;
第一提取單元804:用于根據(jù)處理后的分割位置,提取關(guān)鍵幀。
本發(fā)明的裝置,是將幀序列的首尾幀特征值之差與設(shè)定的閾值進(jìn)行比較,判斷其是否包含多個(gè)鏡頭,然后將包含多個(gè)鏡頭的幀序列不斷進(jìn)行分割,直至 其只包含一個(gè)鏡頭,最后根據(jù)分割位置,來提取關(guān)鍵幀。本發(fā)明沒有進(jìn)行逐幀 比較,大大減少了運(yùn)算量,節(jié)省了時(shí)間,并且能夠保證所提取的關(guān)鍵幀屬于不 同的鏡頭,因此,本發(fā)明能夠在保證查準(zhǔn)率的前提下,快速提取關(guān)鍵幀。 實(shí)施例四
如圖9所示,本實(shí)施例快速的關(guān)鍵幀提取裝置,包括 第二確定單元901:用于確定視頻的幀序列中首幀與尾幀的特征值之差、于 設(shè)定的閾值;
第二提取單元902:用于從所述幀序列的任意位置,提取關(guān)鍵幀。 本發(fā)明中首幀與尾幀的特征值之差小于設(shè)定的閾值,說明該視頻僅包含一 個(gè)鏡頭,此時(shí),可以從視頻幀序列的任意位置提取關(guān)鍵幀,以用于表示鏡頭的 內(nèi)容。本發(fā)明僅用到了一次比較,大大減少了運(yùn)算量,節(jié)省了時(shí)間,并且能夠 保證所提取的關(guān)鍵幀屬于不同的鏡頭,因此,本發(fā)明能夠在保證查準(zhǔn)率的前提 下,快速提取關(guān)鍵幀。
以上所述,僅為本發(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)利要求
1、一種快速提取關(guān)鍵幀的方法,其特征在于,包括a、確定視頻的幀序列中首幀與尾幀的特征值之差大于設(shè)定的閾值;b、將幀序列分割為兩個(gè)幀序列,并記錄分割位置,所述兩個(gè)幀序列中前一幀序列的尾幀與后一幀序列的首幀為同一幀;c、在分割后的所有幀序列中,根據(jù)相鄰幀序列的首幀與尾幀的特征值之差情況,處理所記錄的分割位置,并找出首幀與尾幀的特征值之差大于所述閾值的幀序列,執(zhí)行步驟b,如果未找出所述幀序列,則執(zhí)行步驟d;d、根據(jù)處理后的分割位置,提取關(guān)鍵幀。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟b中分割幀序列,具體為如果該幀序列的幀個(gè)數(shù)為n,并且n為偶數(shù),則分割位置為n/2,分割后形 成的兩個(gè)幀序列的幀個(gè)數(shù)分別為n/2和n/2+l;如果該幀序列的幀個(gè)數(shù)為n,并且n為奇數(shù),則分割位置為(n+l)/2,分 割后形成的兩個(gè)幀序列的幀個(gè)數(shù)均為(n+l) /2。
3、 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,步驟c中根據(jù)相鄰幀序 列的首幀與尾幀的特征值之差情況,處理所述分割位置,具體為如果存在兩個(gè)相鄰的幀序列,其首幀與尾幀的特征值之差均小于所述閾值,則從所記錄的分割位置中,刪除該兩個(gè)幀序列相鄰位置所對應(yīng)的分割位置。
4、 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,步驟b中記錄分割位置, 進(jìn)一步為結(jié)合所述分割過程,使用二叉樹結(jié)構(gòu)記錄分割位置。
5、 根據(jù)權(quán)利要求4所述的方法,其特征在于,所述結(jié)合所述分割過程,使 用二叉樹結(jié)構(gòu)記錄分割位置,具體為將第一次分割時(shí)的分割位置記錄為二叉樹的根節(jié)點(diǎn);獲得當(dāng)前要分割的幀序列以及在上一次分割過程中該幀序列所對應(yīng)的分割 位置,按照該兩者的位置關(guān)系,將該幀序列的分割位置記錄為上一次分割過程 中分割位置所對應(yīng)節(jié)點(diǎn)的左子節(jié)點(diǎn)或右子節(jié)點(diǎn)。
6、 根據(jù)權(quán)利要求5所述的方法,其特征在于,所述方法進(jìn)一步包括 在所述分割過程中,如果存在一個(gè)幀序列,其首幀與尾幀的特征值之差小于所述閾值,并且其首尾位置所對應(yīng)的兩個(gè)節(jié)點(diǎn)中, 一個(gè)節(jié)點(diǎn)為另一節(jié)點(diǎn)的子 節(jié)點(diǎn),則所述子節(jié)點(diǎn)將不具有與另一節(jié)點(diǎn)同側(cè)的下層節(jié)點(diǎn)。
7、 根據(jù)權(quán)利要求6所述的方法,其特征在于,所述方法進(jìn)一步包括 在所述二叉樹中,對于某一節(jié)點(diǎn),其具有父節(jié)點(diǎn)和子節(jié)點(diǎn),如果該節(jié)點(diǎn)不具有與其父節(jié)點(diǎn)同側(cè)的下層節(jié)點(diǎn),并且其子節(jié)點(diǎn)也不具有與該節(jié)點(diǎn)同側(cè)的下層 節(jié)點(diǎn),則刪除該節(jié)點(diǎn),使其父節(jié)點(diǎn)與子節(jié)點(diǎn)直接相連。
8、 根據(jù)權(quán)利要求7所述的方法,其特征在于,步驟d根據(jù)處理后的分割位 置,提取關(guān)鍵幀,進(jìn)一步為對所述二叉樹進(jìn)行中序遍歷,根據(jù)遍歷結(jié)果,提取關(guān)鍵幀。
9、 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述方法進(jìn)一步包括 預(yù)先設(shè)定分割次數(shù),當(dāng)所述分割的次數(shù)達(dá)到預(yù)先設(shè)定的分割次數(shù)時(shí),結(jié)束步驟c,執(zhí)行步驟d。
10、 一種快速提取關(guān)鍵幀的方法,其特征在于,包括a、 確定視頻的幀序列中首幀與尾幀的特征值之差小于設(shè)定的閾值;b、 從所述幀序列的任意位置,提取關(guān)鍵幀。
11、 一種快速提取關(guān)鍵幀的裝置,其特征在于,包括第一確定單元用于確定視頻的幀序列中首幀與尾幀的特征值之差大于設(shè) 定的閾值;分割和記錄單元用于將幀序列分割為兩個(gè)幀序列,并記錄分割位置,所 述兩個(gè)幀序列中前一幀序列的尾幀與后一幀序列的首幀為同 一幀;處理和查找單元用于在分割后的所有幀序列中,根據(jù)相鄰幀序列的首幀 與尾幀的特征值之差情況,處理所記錄的分割位置,并找出首幀與尾幀的特征 值之差大于所述閾值的幀序列,發(fā)送給分割和記錄單元,如果未找出所述幀序 列,則啟動(dòng)第一提取單元;第一提取單元用于根據(jù)處理后的分割位置,提取關(guān)鍵幀。
12、 一種快速提取關(guān)鍵幀的裝置,其特征在于,包括 第二確定單元用于確定視頻的幀序列中首幀與尾幀的特征值之差小于設(shè) 定的閾值;第二提取單元用于從所述幀序列的任意位置,提取關(guān)鍵幀。
全文摘要
本發(fā)明公開了一種快速提取關(guān)鍵幀的方法和裝置,屬于視頻數(shù)據(jù)處理技術(shù)領(lǐng)域,解決了現(xiàn)有技術(shù)中鏡頭分割時(shí)采用逐幀比較的方法,耗時(shí)長的問題。所述快速提取關(guān)鍵幀的方法,包括a.確定視頻的幀序列中首幀與尾幀的特征值之差大于設(shè)定的閾值;b.將幀序列分割為兩個(gè)幀序列,并記錄分割位置,所述兩個(gè)幀序列中前一幀序列的尾幀與后一幀序列的首幀為同一幀;c.在分割后的所有幀序列中,根據(jù)相鄰幀序列的首幀與尾幀的特征值之差情況,處理所記錄的分割位置,并找出首幀與尾幀的特征值之差大于所述閾值的幀序列,執(zhí)行步驟b,如果未找出所述幀序列,則執(zhí)行步驟d;d.根據(jù)處理后的分割位置,提取關(guān)鍵幀。本發(fā)明適用于從視頻中提取關(guān)鍵幀。
文檔編號G06F17/30GK101499085SQ20081023973
公開日2009年8月5日 申請日期2008年12月16日 優(yōu)先權(quán)日2008年12月16日
發(fā)明者張?zhí)I龍, 朱興輝, 群 楊, 董全武, 郭宗明 申請人:北京大學(xué);北大方正集團(tuán)有限公司;北京北大方正電子有限公司