一種視頻周期管理方法和裝置制造方法
【專利摘要】本發(fā)明提供一種視頻周期管理方法,應用于視頻周期管理服務器,該方法包括:步驟1、視頻周期管理服務器到達預設時間后讀取I幀組數(shù)據(jù),判斷該I幀組數(shù)據(jù)是否有對應的運動信息矩陣A,如果是,轉步驟2;否則轉步驟3;其中該運動信息矩陣A中的元素Aij對應一幀圖像的相應區(qū)塊在一個I幀組時間內的運動變化情況;步驟2、根據(jù)運動信息矩陣A中的元素以及預設的保留閾值確定是否保留該I幀組;步驟3、計算該I幀組的運動信息矩陣,返回步驟2。本發(fā)明的方案在視頻周期管理的過程中引入了運動信息矩陣,極大的提高了視頻周期管理的效率。
【專利說明】一種視頻周期管理方法和裝置
【技術領域】
[0001]本發(fā)明涉及視頻監(jiān)控【技術領域】,尤其涉及一種視頻周期管理方法和裝置。
【背景技術】
[0002]隨著視頻監(jiān)控的發(fā)展,從標清到高清,再從高清到超高清視頻,視頻存儲量急劇增長。所以當前的視頻監(jiān)控系統(tǒng)對視頻的存儲提出了更高的要求:如何使用有限的存儲空間存儲更長周期的視頻錄像?如何使用有限的存儲空間存儲更有用的視頻內容?這些問題在監(jiān)控存儲領域逐漸顯現(xiàn)。
[0003]一種現(xiàn)有技術如下:前端編碼設備具有運動檢測功能,前端編碼設備可以只將運動的圖像聯(lián)動存儲到中心存儲設備上。但是該方法對前端設備的依賴性比較強,如果前端設備不具有運動檢測功能,該方案就無法實施。
[0004]另一種現(xiàn)有的方案為:視頻摘要服務器,將一段原始視頻進行時間與空間的重新編解碼,達到視頻的濃縮效果。雖然濃縮后的效果比較好,但是這種方案太耗性能,一般I至2路1080P視頻需 要單獨配置一個服務器,所以總體成本比原先增加存儲設備的成本更高,所以該方案只適合對固定時間長度的視頻進行濃縮,不適合對整個視頻數(shù)據(jù)進行周期管理。
【發(fā)明內容】
[0005]有鑒于此,本發(fā)明提供一種視頻周期管理方法和裝置。
[0006]本發(fā)明的方法,應用于視頻周期管理服務器,該方法包括:步驟1、視頻周期管理服務器到達預設時間后讀取I幀組數(shù)據(jù),判斷該I幀組數(shù)據(jù)是否有對應的運動信息矩陣A,如果是,轉步驟2 ;否則轉步驟3 ;其中該運動信息矩陣A中的元素Aij對應一幀圖像的相應區(qū)塊在一個I幀組時間內的運動變化情況;步驟2、根據(jù)運動信息矩陣A中的元素以及預設的保留閾值確定是否保留該I幀組;步驟3、計算該I幀組的運動信息矩陣,返回步驟2。
[0007]優(yōu)選地,根據(jù)運動信息矩陣A中的元素以及預設的保留閾值確定是否保留該I幀組具體為:如果對圖像設置有感興趣區(qū)域,則判斷該感興趣區(qū)域對應的運動信息矩陣元素是否至少有一個元素大于所述預設的保留閾值,如果是,則保留該I幀組;否則丟棄該I幀組;如果未對圖像設置有感興趣區(qū)域,則判斷所述運動信息矩陣的所有元素中是否至少有一個元素大于所述預設的保留閾值,如果是,則保留該I幀組;否則丟棄該I幀組。
[0008]優(yōu)選地,在計算該I幀組的運動信息矩陣時,以一幀圖像分割后的塊Bij在一個I幀組時間內變化的象素點的個數(shù)作為該I幀組的運動信息矩陣A的元素‘;該一幀圖像分割為m*n塊,該運動信息矩陣包括m*n個元素,每個塊Bij分別對應該運動信息矩陣中的一
AiJ。
[0009]優(yōu)選地,在計算運動信息矩陣時,由GPU對讀取的I幀組數(shù)據(jù)進行解碼,再對顯存中解碼后的數(shù)據(jù)進行壓縮編碼得到分辨率變小的I幀組數(shù)據(jù);CPU執(zhí)行對顯存中I幀組數(shù)據(jù)的運動信息矩陣計算。[0010]優(yōu)選地,所述預設的保留閾值與所述預設時間相關,預設時間越長,則預設保留閾值越大。
[0011]本發(fā)明的一種視頻周期管理裝置,應用于視頻周期管理服務器,該裝置包括:運動信息矩陣確認模塊,用于在視頻周期管理服務器到達預設時間后讀取I幀組數(shù)據(jù)后,判斷該I幀組數(shù)據(jù)是否有對應的運動信息矩陣A,如果是,則由I幀組保留判斷模塊執(zhí)行I幀組保留與否的判斷;否則由運動信息矩陣計算模塊計算I幀組對應的運動信息矩陣;其中該運動信息矩陣A中的元素Au對應一幀圖像的相應區(qū)塊在一個I幀組時間內的運動變化情況幀組保留判斷模塊,用于根據(jù)運動信息矩陣A中的元素以及預設的保留閾值確定是否保留該I幀組;運動信息矩陣計算模塊,用于計算該I幀組的運動信息矩陣,并將計算得到的運動信息矩陣傳遞給I幀組保留判斷模塊執(zhí)行判斷。
[0012]優(yōu)選地,I幀組保留判斷模塊根據(jù)運動信息矩陣A中的元素以及預設的保留閾值確定是否保留該I幀組具體為:如果對圖像設置有感興趣區(qū)域,則判斷該感興趣區(qū)域對應的運動信息矩陣元素是否至少有一個元素大于所述預設的保留閾值,如果是,則保留該I幀組;否則丟棄該I幀組;如果未對圖像設置有感興趣區(qū)域,則判斷所述運動信息矩陣的所有元素中是否至少有一個元素大于所述預設的保留閾值,如果是,則保留該I幀組;否則丟棄該I巾貞組。
[0013]優(yōu)選地,運動信息矩陣計算模塊在計算該I幀組的運動信息矩陣時,以一幀圖像分割后的塊Bu在一個I幀組時間內變化的象素點的個數(shù)作為該I幀組的運動信息矩陣A的元素Aij ;該一巾貞圖像分割為m*n塊,該運動信息矩陣包括m*n個元素,每個塊Bij分別對應該運動信息矩陣中的一個元素Aijtl
[0014]相較于現(xiàn)有技術,本發(fā)明的方案在視頻周期管理的過程中引入了運動信息矩陣,極大的提聞了視頻周期管理的效率,在保證關鍵/[目息被保留存儲的同時提聞了存儲空間的利用率;并且可以支持用戶在不進行解碼的情況下面進行多次視頻保留與否的判斷;并且本發(fā)明的方案還支持用戶對感興趣區(qū)域進行單獨的視頻周期管理。
【專利附圖】
【附圖說明】
[0015]圖1是本發(fā)明實施例流程圖。
[0016]圖2是本發(fā)明I幀組塊分割示例。
[0017]圖3a?圖3d是運動信息矩陣示例。
[0018]圖4是本發(fā)明實施例應用的視頻監(jiān)控網(wǎng)絡示意圖。
[0019]圖5是另一個運動信息矩陣示例。
[0020]圖6是本發(fā)明實施例裝置邏輯結果圖。
【具體實施方式】
[0021]本發(fā)明提出的視頻周期管理方案,通過新增視頻管理服務器的形式來進行存儲設備上存儲的視頻的周期管理,極大的提高存儲視頻的周期與單位存儲中的視頻信息量。以下以軟件實現(xiàn)為例進行說明,但是本發(fā)明并不排除諸如硬件或者邏輯器件等其他實現(xiàn)方式。如圖6所示,該裝置運行的硬件環(huán)境通常包括CPU、內存、非易失性存儲器以及其他硬件。該裝置作為一個邏輯層面的虛擬裝置,其通過CPU來運行。該裝置應用于視頻周期管理服務器,包括運動信息矩陣確認模塊、I幀組保留判斷模塊和運動信息矩陣計算模塊。
[0022]請參圖1,圖1是本發(fā)明實施例流程圖。
[0023]S1、視頻周期管理服務器到達預設時間后讀取I幀組數(shù)據(jù),運動信息矩陣確認模塊判斷該I幀組數(shù)據(jù)是否有對應的運動信息矩陣A,如果是,轉S2 ;否則轉S3 ;其中該運動信息矩陣A中的元素Aij對應一幀圖像的相應區(qū)塊在一個I幀組時間內的運動變化情況。
[0024]視頻周期管理服務器可以根據(jù)用戶設置的時間周期進行原始視頻流的保留或者丟棄。該時間周期可以是一周、一月、或者其他粒度的時間間隔。一旦到達設定的時間后,視頻周期管理服務器自動執(zhí)行視頻的周期管理。在執(zhí)行視頻的周期管理時,該視頻周期管理服務器從存儲設備上讀取I幀組數(shù)據(jù),運動信息矩陣確認模塊判斷讀取的I幀組數(shù)據(jù)是否有對應的運動信息矩陣。在從存儲設備上讀取I幀組數(shù)據(jù)的時候,可以讀取連續(xù)若干個I幀組數(shù)據(jù),然后分別判斷每個I幀組數(shù)據(jù)是否對應有運動信息矩陣。這里之所以執(zhí)行判斷的步驟,是因為視頻監(jiān)控系統(tǒng)中的前端設備包括支持運動信息矩陣提取的前端設備和不支持運動信息矩陣提取的前端設備;支持運動信息矩陣提取的前端設備在往存儲設備存儲視頻流時就已經(jīng)將每一個I幀組對應的運動信息矩陣一起發(fā)送給存儲設備進行存儲了 ;不支持運動信息矩陣提取的前端設備在存儲設備上存儲的則僅是視頻流數(shù)據(jù)而沒有運動信息矩陣信息,此時視頻周期管理服務器就需要進行各I幀組對應的運動信息矩陣的提取。本發(fā)明實施例的運動信息矩陣用來表征圖像的運動變化情況。該運動信息矩陣具有若干個元素,每個元素對應一幀圖像的相應區(qū)塊在一個I幀組時間內的運動變化情況。比如說該運動信息矩陣中的元素Au表示一幀圖像中的塊Bu在一個I幀組時間內的運動變化情況。運動信息矩陣的具體計算例子將在下文詳細闡述。
[0025]S2、I幀組保留判斷模塊根據(jù)運動信息矩陣A中的元素以及預設的保留閾值確定是否保留該I幀組。
[0026]根據(jù)運動信息矩陣A中的元素以及預設的保留閾值在確定是否保留I幀組的時候,可以有多種操作辦法。比如說,在對圖像設置有感興趣區(qū)域時,則可以判斷該感興趣區(qū)域對應的運動信息矩陣元素是否至少有一個元素大于所述預設的保留閾值,如果是,則保留該I幀組;否則丟棄該I幀組;在未對圖像設置有感興趣區(qū)域,則判斷所述運動信息矩陣的所有元素中是否至少有一個元素大于所述預設的保留閾值,如果是,則保留該I幀組;否則丟棄該I幀組。至少有一個元素大于預設的保留閾值屬于一種優(yōu)選地方式,實際上如果設置成至少有兩個元素或者三個元素等也是可以的,這可以在實際使用時結合具體的情況進行設置。該預設的保留閾值可以是和時間長度相關的值。比如說預設時間為一周,即一周執(zhí)行一次視頻的周期管理,則可以設置一保留閾值;預設時間為一月,即一月執(zhí)行一次視頻周期管理,則可以設置另一保留閾值。一周時間對應的保留閾值通常小于一月時間對應的保留閾值。
[0027]這里“確定是否保留該I幀組”中的保留可以是直接保留I幀組,即不對數(shù)據(jù)進行壓縮的保留,還可以是對數(shù)據(jù)進行壓縮后的保留。
[0028]步驟3、運動信息矩陣計算模塊計算該I幀組的運動信息矩陣,返回步驟2。
[0029]在計算該I幀組的運動信息矩陣時,可以以一幀圖像分割后的塊Bij在一個I幀組時間內變化的象素點的個數(shù)作為該I幀組的運動信息矩陣A的元素Aij ;比如說一幀圖像分割為m*n塊,則該運動信息矩陣包括m*n個元素,每個塊分別對應該運動信息矩陣中的一個元素。在計算該I幀組的運動信息矩陣的時候,可以分別計算該幀組中的每一幀相對于前一幀的運動信息矩陣,然后再取計算得到的若干個矩陣相應位置的元素的最大值或者加權平均值作為該I幀組的運動信息矩陣各元素的值。下面舉個例子進行說明。假設一個I幀組有5個視頻幀,該5個視頻幀為I個I幀和4個P幀;假設每個視頻幀相同地被分割成9個區(qū)塊,請參圖2 ;分別計算第一個P幀Pl的各塊中的像素點相對于I幀的相應塊中的象素點變化的個數(shù),即Pl幀的塊i中的象素點相對于I幀塊i中的象素點變化的個數(shù),i分別等于I?9。這樣計算完成后就得到一個3*3的矩陣MoVeValUe_Pl,該矩陣中的每個元素分別表示相應塊象素點變化的個數(shù),請參圖3a。同樣地,分別計算第二個P幀P2的各塊中的像素點相對于Pl幀的相應塊中的象素點變化的個數(shù),得到矩陣MoveValue_P2,請參圖3b ;分別計算第三個P幀P3的各塊中的像素點相對于P2幀的相應塊中的象素點變化的個數(shù),得到矩陣MoVeValue_P3,請參圖3c ;分別計算第四個P幀P4的各塊中的像素點相對于P3幀的相應塊中的象素點變化的個數(shù),得到矩陣MoveValue_P4,請參圖3d。
[0030]在得到一個I幀組中的每一幀相對于前一幀的運動信息矩陣后,可以取矩陣相應位置的元素的最大值或者加權平均值作為該I幀組的運動信息矩陣各元素的值。對于上述例子,最后得到的I幀組的運動信息矩陣第i行第j列元素Aij,可以是au、bu、Cij, Clij的最大值,或者是它們的加權平均值。
[0031]在上述例子中,如果獲知當前計算的I幀組之前的一個I幀組中最后一幀的數(shù)據(jù),則還可以得到當前計算的I幀組中的I幀相對于前一個I幀組的最后一幀的運動信息矩陣MoveValue_I,從而在計算I巾貞組的運動信息矩陣時考慮矩陣MoveValue_I。
[0032]當然上述計算I幀組運動信息矩陣的算法僅是本發(fā)明的一個例子,除了該算法,其他能表示塊運動變化的大小的算法都可以用來計算I幀組的運動信息矩陣。
[0033]視頻周期管理服務器在計算I幀組的運動信息矩陣時,可以先由GPU對從存儲設備上讀取的視頻數(shù)據(jù)進行解碼,解碼后的視頻數(shù)據(jù)存儲于顯存中;GPU再對顯存中的解碼數(shù)據(jù)進行壓縮編碼得到分辨率小的視頻數(shù)據(jù);然后CPU對顯存中的小分辨率的I幀組數(shù)據(jù)進行運動信息矩陣的計算。大分辨率幀的每一塊的運動變化信息和小分辨率幀的每一塊的運動變化信息是相同的,所以CPU對顯存中的小分辨率的I幀組進行運動信息矩陣的計算并不會帶來結果上的任何不同。實驗也證明,1080P的圖像經(jīng)過壓縮將200萬的像素壓縮為CIF的10萬像素后進行運動信息矩陣的提取與采用原始視頻進行運動信息矩陣的提取結果相同。GPU和CPU的協(xié)同工作,使得獲得運動信息矩陣的性能達到最優(yōu)的效果。當然如果圖像本身屬于非高清,那也可以直接由CPU進行計算獲得每個幀組的運動信息矩陣。
[0034]以下結合圖4的視頻監(jiān)控網(wǎng)絡示意圖來簡單說明一下本發(fā)明實施例方案。監(jiān)控前端設備,如網(wǎng)絡攝像機IPC、和模擬攝像機連接的編碼器將拍攝的視頻壓縮編碼后通過IP網(wǎng)絡傳輸?shù)酱鎯υO備進行存儲。存儲設備上存儲的視頻流用來供后續(xù)回放查看。如果監(jiān)控前端設備具有運動信息矩陣提取的功能,則監(jiān)控前端設備可以將針對I幀組提取的運動信息矩陣和視頻碼流一起傳輸?shù)酱鎯υO備進行存儲,該運動信息矩陣傳輸?shù)臅r候可以存放在私有協(xié)議中。如果該運動信息矩陣包括n*m個元素,則對于每一個I幀組數(shù)據(jù)來講,該I幀組數(shù)據(jù)僅增加n*m個字節(jié)。這里監(jiān)控前端設備進行I幀組對應的運動信息矩陣提取的方法可以參照前文的視頻周期管理服務器提取運動信息矩陣的方法。如果該監(jiān)控前端設備不具有運動信息矩陣提取的功能,則監(jiān)控前端設備如現(xiàn)有技術一樣只將壓縮編碼后的視頻數(shù)據(jù)存儲在存儲設備上。
[0035]如果用戶設定了每周進行一次視頻的周期管理,則視頻周期管理服務器在到達一周時間后就去存儲設備上讀取I幀組數(shù)據(jù),并根據(jù)其運動信息矩陣判斷是保留該I幀組還是丟棄該I幀組。假設某一個I幀組的運動信息矩陣如圖5所示,并且一周時間對應的保留閾值為5,則視頻周期管理服務器可以遍歷該運動信息矩陣中的每一個元素,如果存在大于5的元素,則表示當前的I幀組需要被保存,否則就丟棄。所以圖5運動信息矩陣對應的I幀組需要被保存。如果用戶同時還設定了一個月進行一次視頻周期管理的保留閾值為20,圖5的運動信息矩陣中沒有一個元素的值大于20,所以該運動信息矩陣對應的I幀組在一個月的時候將被丟棄。
[0036]如果設置有感興趣塊,則只需要判斷感興趣塊對應的運動信息矩陣中的元素是否大于保留閾值。還是以圖5的例子說明,如果圖像正中央的塊是感興趣的塊,則只要判斷該區(qū)塊對應的矩陣的元素,即第2行第2列的元素10是否大于保留閾值即可。
[0037]另外,需要說明的是,運動信息矩陣的提取只需要一次。比如說上述例子中,視頻周期管理服務器如果在一周時間的時候進行了運動信息矩陣的提取,在一個月的時候,可以直接使用該已經(jīng)提取的運動信息矩陣結合對應的閾值進行其對應I幀組的保留或丟棄的判斷。
[0038]本發(fā)明的方案在視頻周期管理的過程中引入了運動信息矩陣,可以支持用戶在不進行解碼的情況下面進行多次視頻保留與否的判斷。并且本發(fā)明的方案支持用戶對感興趣區(qū)域進行單獨的視頻周期管理。本發(fā)明方案極大的提高了視頻周期管理的效率,在保證關鍵信息被保留存儲的同時提高了存儲空間的利用率。
[0039]以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發(fā)明保護的范圍之內。
【權利要求】
1.一種視頻周期管理方法,應用于視頻周期管理服務器,其特征在于,該方法包括: 步驟1、視頻周期管理服務器到達預設時間后讀取I幀組數(shù)據(jù),判斷該I幀組數(shù)據(jù)是否有對應的運動信息矩陣A,如果是,轉步驟2 ;否則轉步驟3 ;其中該運動信息矩陣A中的元素Aij對應一幀圖像的相應區(qū)塊在一個I幀組時間內的運動變化情況; 步驟2、根據(jù)運動信息矩陣A中的元素以及預設的保留閾值確定是否保留該I幀組; 步驟3、計算該I幀組的運動信息矩陣,返回步驟2。
2.如權利要求1所述的方法,其特征在于,根據(jù)運動信息矩陣A中的元素以及預設的保留閾值確定是否保留該I幀組 具體為: 如果對圖像設置有感興趣區(qū)域,則判斷該感興趣區(qū)域對應的運動信息矩陣元素是否至少有一個元素大于所述預設的保留閾值,如果是,則保留該I幀組;否則丟棄該I幀組;如果未對圖像設置有感興趣區(qū)域,則判斷所述運動信息矩陣的所有元素中是否至少有一個元素大于所述預設的保留閾值,如果是,則保留該I幀組;否則丟棄該I幀組。
3.如權利要求1所述的方法,其特征在于,在計算該I幀組的運動信息矩陣時,以一幀圖像分割后的塊Bu在一個I幀組時間內變化的象素點的個數(shù)作為該I幀組的運動信息矩陣A的元素Aij ;該一幀圖像分割為m*n塊,該運動信息矩陣包括m*n個元素,每個塊Bij分別對應該運動信息矩陣中的一個元素Aijtl
4.如權利要求1所述的方法,其特征在于,在計算運動信息矩陣時,由GPU對讀取的I幀組數(shù)據(jù)進行解碼,再對顯存中解碼后的數(shù)據(jù)進行壓縮編碼得到分辨率變小的I幀組數(shù)據(jù);CPU執(zhí)行對顯存中I幀組數(shù)據(jù)的運動信息矩陣計算。
5.如權利要求1所述的方法,其特征在于,所述預設的保留閾值與所述預設時間相關,預設時間越長,則預設保留閾值越大。
6.一種視頻周期管理裝置,應用于視頻周期管理服務器,其特征在于,該裝置包括: 運動信息矩陣確認模塊,用于在視頻周期管理服務器到達預設時間后讀取I幀組數(shù)據(jù)后,判斷該I幀組數(shù)據(jù)是否有對應的運動信息矩陣A,如果是,則由I幀組保留判斷模塊執(zhí)行I幀組保留與否的判斷;否則由運動信息矩陣計算模塊計算I幀組對應的運動信息矩陣;其中該運動信息矩陣A中的元素Aij對應一幀圖像的相應區(qū)塊在一個I幀組時間內的運動變化情況; I幀組保留判斷模塊,用于根據(jù)運動信息矩陣A中的元素以及預設的保留閾值確定是否保留該I幀組; 運動信息矩陣計算模塊,用于計算該I幀組的運動信息矩陣,并將計算得到的運動信息矩陣傳遞給I幀組保留判斷模塊執(zhí)行判斷。
7.如權利要求6所述的裝置,其特征在于,I幀組保留判斷模塊根據(jù)運動信息矩陣A中的元素以及預設的保留閾值確定是否保留該I幀組具體為: 如果對圖像設置有感興趣區(qū)域,則判斷該感興趣區(qū)域對應的運動信息矩陣元素是否至少有一個元素大于所述預設的保留閾值,如果是,則保留該I幀組;否則丟棄該I幀組;如果未對圖像設置有感興趣區(qū)域,則判斷所述運動信息矩陣的所有元素中是否至少有一個元素大于所述預設的保留閾值,如果是,則保留該I幀組;否則丟棄該I幀組。
8.如權利要求6所述的裝置,其特征在于,運動信息矩陣計算模塊在計算該I幀組的運動信息矩陣時,以一幀圖像分割后的塊Bu在一個I幀組時間內變化的象素點的個數(shù)作為該I幀組的運動信息矩陣A的元素Aij ;該一幀圖像分割為m*nife,該運動信息矩陣包括m*n個元素,每個塊Bu分別對應該運動信息矩陣中的一個元素Aijtl
9.如權利要求6所述的裝置,其特征在于,在計算運動信息矩陣時,由GPU對讀取的I幀組數(shù)據(jù)進行解碼,再對顯存中解碼后的數(shù)據(jù)進行壓縮編碼得到分辨率變小的I幀組數(shù)據(jù);CPU執(zhí)行對顯存中I幀組數(shù)據(jù)的運動信息矩陣計算。
10.如權利要求6所述的裝置,其特征在于,所述預設的保留閾值與所述預設時間相關,預設時間越長,則預設保 留閾值越大。
【文檔編號】H04N19/433GK103974041SQ201410206816
【公開日】2014年8月6日 申請日期:2014年5月14日 優(yōu)先權日:2014年5月14日
【發(fā)明者】王江柱 申請人:浙江宇視科技有限公司