TWI586144B - 用於視頻分析與編碼之多重串流處理技術 - Google Patents
用於視頻分析與編碼之多重串流處理技術 Download PDFInfo
- Publication number
- TWI586144B TWI586144B TW101135907A TW101135907A TWI586144B TW I586144 B TWI586144 B TW I586144B TW 101135907 A TW101135907 A TW 101135907A TW 101135907 A TW101135907 A TW 101135907A TW I586144 B TWI586144 B TW I586144B
- Authority
- TW
- Taiwan
- Prior art keywords
- video
- stream
- circuit
- streams
- processing
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/156—Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/15—Conference systems
- H04N7/155—Conference systems involving storage of or access to video conference sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
- H04N7/181—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
本發明大致上係關於電腦,特別是指一種視頻處理技術。
現今,有許多的應用運用到視頻的處理及/或儲存,視頻監視器是其中一個例子。為了安全或其他目的,視頻監視器接收一個或多個的視頻饋送,並加以分析處理。另一個常見的應用是視訊會議。
型地,一般用途處理器,例如中央處理器(CPU),可被用來作視頻處理。在一些情況下,可用專業的處理器(又稱作圖形處理器)來協助中央處理器。
視頻分析涉及獲得有關視頻內容之資訊。例如視頻處理可包含內容分析,其中視頻內容被分析為了檢測一些特定事件、突發情況、或是一些有興趣的資訊。
依據本發明之一實施例,係特地提出一種方法,其包含:用分時多工處理複數個視頻串流;及儲存每一串流的處理條件。
圖1為本發明之一個實施例的系統架構;圖2為依據一個實施例對圖1中所示之視頻分析
引擎的電路描寫;圖3為依據本發明的一個實施例之擷取視頻的流程圖;圖4為依據一個實施例之一個二維矩陣記憶體的流程圖;圖5為依據一個實施例之分析輔助編碼的流程圖;及圖6為另一實施例之流程圖。
在一些實施例中,視頻的多重串流可以平行處理。在進行視頻分析的同時,也可同時對於視頻串流進行編碼。甚至,在對每一條串流進行視頻分析的同時,該等串流各自的編碼也可同時一併完成。在一些實施態樣中,使用者可在編碼或分析已經要被實行的當下即時地變更編碼或分析的特性。
儘管所給定者為其中使用視頻分析的一實施例的一例子,在一些實施例中,視頻分析僅是可供選擇的,也就是可用或可不用。
參閱圖1,一電腦系統10可以是任一種類的電腦系統,包含了使用了諸如視頻監視器和視訊會議應用之視頻分析,以及不使用視頻分析的實施態樣。舉例來說,該系統10可以是桌上型電腦、伺服器、膝上型電腦、行動上網裝置、或是手機。
該系統10可具有一個或多個耦合至系統匯流排14的主機中央處理單元12。一系統記憶體22可被耦合至該系統匯流排14。在此雖然提供了一個主機系統架構的實施例,但本發明並不限定在任何特定的系統架構。
該系統匯流排14可被耦合至一匯流排介面16,並接著耦合至一傳統匯流排18。在一個實施例中,可使用快捷週邊組件互連標準(PCIe),但本發明並不限定在任何特定的匯流排。
一視頻分析引擎20可透過匯流排18被耦合至該主機。在一個實施例中,該視頻分析引擎可為一個提供編碼及視頻分析兩者的單一積體電路。在一個實施例中,該積體電路可使用嵌入式動態隨機存取記憶體(EDRAM)的技術。然而在一些實施例中,編碼或視頻分析其中任一可被省略。此外,在一些實施例中,該引擎20可包含一記憶體控制器,其控制一板上整合二維矩陣記憶體並提供與外部記憶體之通訊。
因此,在圖1所描述的實施例中,該視頻分析引擎20與一局部動態存取記憶體(DRAM)19通訊。明確地說,該視頻分析引擎20可包含一用於存取該記憶體19的記憶體控制器。或者,該引擎20可使用該系統記憶體22並可包含至系統記憶體的直接連接。
同樣也耦合至該視頻分析引擎20的可以是一個或多個攝像機24。在一些實施例中,可以到同時接收四個標準畫質格式的視頻輸入。在一些實施例中,一個高畫質
的輸入可在三個輸入上提供,而一個標準畫質可在第四個輸入上提供。在其它的實施例中,可能會提供更多或更少的高畫質輸入以及更多或更少的標準畫質輸入。舉例來說,三個輸入其中的每一個都可接收10位元的高畫質輸入資料,如R,G,B輸入或是Y,U,V輸入,每個輸入都在一條個別的10位元輸入線上。
該視頻分析引擎20的其中一個實施例,如圖2所示,在頁面頂端描述了其為有四個攝像機通道輸入的一實施例。該四個輸入可被一視頻擷取介面26所接收。該視頻擷取介面26可接收多個同時以攝像機輸入形式的視頻輸入或是其它視頻資訊,舉例來說,包含電視、數位攝影機、或是媒體播放器輸入。
該視頻擷取介面自動擷取及複製每個輸入畫面(frame)。一輸入畫面的複製被提供到該VAFF單元66而另一複製可被提供至VEFF單元68。該VEFF單元68負責儲存該視頻於該外部記憶體上,像是如圖1所示之該記憶體22。在一個實施例中,該外部記憶體可被耦合至一晶載系統記憶體控制器/仲裁器50。在一些實施例中,於該外部記憶體上的存儲可以是為了視頻編碼的目的。明確地說,若一複製是存儲在外部記憶體上,其可被該等視頻編碼器32存取以將資訊編碼成一所需格式。在一些實施例中,有多數個格式可用且該系統可選擇一特定的最合意的編碼格式。
如上所述,在一些情況裡,視頻分析可被用來改善由該等視頻編碼器32執行的編碼處理的效率。一旦該等
畫面被編碼,其可經由該PCI Express匯流排36被提供至主機。
同時,該等輸入視頻畫面的其它複製被存儲在該二維矩陣或主記憶體28。該VAFF可同時處理及傳送所有四個輸入視頻通道。該VAFF可包含四個複製單元來處理及傳送該視頻。對該記憶體28的視頻傳輸可使用多工。在一些實施例裡,因為在視頻回掃時間裡固有的延遲,多通道的傳輸可被即時完成。
主記憶體上的存儲可被選擇以線性或非線性來實現。在習知裡,在相交的定址線上線性定址一個或多個位址被指定來存取該等記憶體位址。在某些情況,一條定址線,例如一條字元或位元線,可被指定,且一沿著該字元或位元線的延伸區塊可被標示,使得部分被定址的記憶體線可依次地以自動化的方式被儲存。
相反地,在二維或非線性的定址,行線與列線都可以一個操作被存取。該操作可在該記憶體矩陣內指定一個初始點,例如一個兩定址線,如行線及列線的相交處。接著一記憶體大小及其他定界符被提供用以二維標示該矩陣的延伸區塊,例如沿著行線及列線。一旦指定了該初始點,該矩陣可藉由可定址位置的自動化遞增而整個被自動存儲。換句話說,在初始點之後,為了儲存記憶體矩陣的接下來部分而回到主機或其他裝置以決定位址是不必要的。該二維記憶體卸載了或實質上完全消除了該產生位址的工作。因此,在一些實施例中,所需的頻寬及存取時間
都可被減少。
基本上,要讀取一個二維的記憶體矩陣也可在反向以相同的操作來完成。或者,一個二維記憶體矩陣也可用習知的線性定址來存取。
當給予一個其中記憶體矩陣的大小被指定的例子時,也可提供其他的定界符,包括每一二維的一延伸區塊(即沿著字元和位元線)。該二維記憶體對於靜態及動態圖像,圖形,和其他二維資料的應用上是有好處的。
資訊可以二維或以一維的方式存進記憶體28裡。在一個實施例中,一維和二維之間的轉換可自動在硬體中即時發生。
在一些實施例中,在該多重串流在該視頻分析功能單元42中接受分析的同時,多重串流的視訊編碼也可在一視頻編碼器中處理。此可藉著在視頻擷取介面26中對於每一串流作複製,且傳送一組每一串流的複製到該等視頻編碼器32,而另一組複製到該視頻分析功能單元42,而被實現。
在一個實施例,在該視頻編碼器32及該視頻分析功能單元42各者中,可從事對於複數串流的每一個的分時多工。例如,基於使用者的輸入,來自第一串流的一個或多個畫面可被編碼,接著來自第二串流的一個或多個畫面,在接著來自下個串流的一個或多個畫面等等。類似地,在視頻分析功能單元42中,也可以同樣的方式使用分時多工,其中,基於使用者的輸入,來自一串流的一個或多個
畫面接受視頻分析,接著來自下一串流的一個或多個畫面等等。因此,一系列的串流可實質上同時被處理,也就是說,在該等編碼器及視頻分析功能單元中可一次完成。
在一些實施例中,使用者可設定哪個串流要先處理及每個串流有多少畫面要在任何特定時間處理的排程(sequence)。就該等視頻編碼器及該視頻分析引擎的情況而言,當該等畫面經過處理後,其等可在該匯流排36上輸出。
在該編碼器中每個串流的條件(context)可在該暫存器組122裡被保留在一專用於該串流的暫存器中,該暫存器組122可包括多個暫存器以用於每個串流。該暫存器組122可記錄已以各種方式中的一種方式指定,包含一使用者輸入的編碼特性。例如解析度、壓縮率、及每個串流所需的編碼類型可被記錄。然後,當該已分時多工編碼發生時,該視訊編碼器可從該暫存器116存取對於正被處理之當前串流的正確特性,對於正確的串流。
類似地,使用該暫存器組124可讓同樣的事情在視頻分析功能單元46中被完成。換句話說,視頻分析處理的特性或每一串流的編碼可在每組暫存器中以為每一串流保留一暫存器的方式記錄在該等暫存器124及122內。
此外,使用者或一些其它來源能指引即時改變特性。此處的”即時(on the fly)”,其係意指對該視頻分析功能單元42而言,發生於分析處理期間的一變更,或對該等視頻編碼器32而言,其為編碼之情況。
對於該等視頻編碼器及影子暫存器114,對於該
視頻分析功能單元42,當一變更在一畫面正被處理時進來,該變更可最初被存儲在影子暫存器116中。接著,當畫面(或指定的畫面數目)一完成,該視頻編碼器32就會確認看看是否有任何的變更被存儲至該等暫存器116裡。若是如此,該視頻編碼器會在路徑120上傳送該等變更至該等暫存器122,以在該等暫存器中更新合適於每一被即時變更其編碼特性的串流之新的特性。
再次地,在一個實施例中,同樣的即時變更可在該視頻分析功能單元42中完成。當偵測到一即時變更,現有的畫面(或一現有的工作組)可用舊的特性完成,同時將變更存到該等影子暫存器114。接著在完成處理一工作負載或一畫面之後的適當時間,該等變更可從該等暫存器114在匯流排118上被傳送到該視頻分析功能單元42以存進該等暫存器124,並正常地置換在該等暫存器124中為了任何特定串流而儲存在個別的暫存器中的特性。然後,當更新一完成,下一個處理的負載即使用新的特性。
因此,參閱圖6,該排程130可在軟體、韌體、及/或硬體中實現。在基於軟體或韌體的實施例中,該排程可由存儲在一諸如光、磁、或半導體記憶體之非暫時性電腦可讀媒體的電腦執行指令來實現。例如,對該編碼器32而言,該排程可被存在一編碼器內的記憶體中,對該分析功能單元而言,舉例來說在一個實施例中,其可被存於該像素管線單元44中。
一開始,該排程等待使用者的條件指令輸入以進
行編碼或分析。在一些實施例,對於分析或編碼來說流程是一樣的。當使用者輸入被接收,如在菱形132中所決定的,每一串流的條件就被儲存在一適當的暫存器122或124,如區塊134所示。接著開始分時多工處理,如區塊136所示。在該處理過程中,在菱形138的檢查判斷是否有任何的處理改變指令。若沒有,則在菱形142的檢查判斷該處理是否完成。若未完成,則繼續進行分時多工處理。
若已收到了一處理變更,其可被儲存至適當的影子暫存器114或116,如區塊140所示。然後,當一當前的處理任務完成,該變更可在下一組操作中自動實現,無論是對於該等視頻編碼器32的編碼而言,或是對於功能單元42的分析而言。
在一些實施例中,編碼頻率可隨著編碼器上的負載大小而變化。通常,編碼器運作的快到足以在下個畫面被從記憶體中讀出之前完成一個畫面的編碼。在許多情況下,編碼引擎可在一個比所需還快的速度下運行以在下一個畫面或下一組畫面用完記憶體之前去編碼一個畫面或一組畫面。
該等條件暫存器可存儲任何實行編碼或分析所必需的標準,以編碼器而言,其包含了解析度、編碼類型、及壓縮率。通常,該處理器可用從一串流或通道接下一個來進行的循環方式(round robin)完成。然後,在一個實施例中,已編碼資料被輸出到快捷週邊組件互連(PCI Express)匯流排18。在一些情況下,與該PCI Express匯流排相關的
緩衝器可從每一通道接收編碼。亦即,在一些實施例中,可提供一緩衝器給每個與該PCI Express匯流排相聯繫的通道。每一通道緩衝器可被清空到藉由一與該PCI Express匯流排相關的仲裁器所控制的匯流排中。在一些實施例中,該仲裁器清空每一通道至匯流排的方式可受使用者的輸入來支配。
因此,參閱圖3,一用於視頻擷取之系統20可用硬體、軟體、及/或韌體來實現。硬體實施例在一些情況裡可能較為有利,因其可有較快的速度。
如區塊72所示,該等視頻畫面可從一個或多個通道被接收。然後這些視頻畫面被複製,如區塊74所示。接下來,其中一視頻影像的複製被存放在該外部記憶體中用以編碼,如區塊76所示。另一複製為了分析目的而被存放在該內部或主記憶體28中,如區塊78所示。
接著參閱該二維矩陣排程80,如圖4所示,一排程可用軟體、韌體、或硬體來實現。再次地,使用硬體實施例可有速度上的優勢。
一開始,在菱形82的檢查判斷是否已接收到一存儲命令。傳統上,這樣的命令可從主機接收,特別是從其中央處理單元12。這些命令可被一發送單元34接收,其接著提供命令給引擎20中的適當單元,以實行該命令。在實行該命令後,在一些實施例中,該發送單元會回報給主機系統。
若在菱形82中判斷相關於一存儲命令,則可接收
一起始記憶體位置與二維大小資訊,如區塊84所述。然後該資訊被存儲至一適當的二維矩陣裡,如區塊86所述。該起始位置可能,舉例來說,定義了矩陣的左上角。該存儲操作可自動在所需大小的記憶體20中尋找一矩陣以實行該操作。在一些實施例中,一旦提供了記憶體中的起始點,該操作可自動存儲矩陣的後續部分而不需另外的位址計算。
相反地,若在菱形88中判斷相關於一讀出,則可接收該起始位置與二維大小資訊,如區塊90所述。然後讀取該指定的矩陣,如區塊92所述。再次地,該存取可以自動化的方式完成,其中該起始點可如同現有的線性定址所做的被存取,然後自動判斷其餘的位址而不需回去以傳統方式計算位址。
最後,若在區塊94中判斷了從主機接收了一移動命令,則可接收該起始位置與二維大小資訊,如區塊96所述,然後該移動命令會自動被實行,如區塊98所述。再次地,該資訊之矩陣可藉著簡單地指定一起始位置和提供大小資訊而自動從一位置被移動到另一位置。
參閱回圖2,該視頻分析單元42可透過一像素管線單元44耦合至其餘的系統。該單元44可包括一執行從該發送單元34來的命令的狀態機。典型地,這些命令在主機產生並由發送單元實行。基於應用,可包含各種不同的分析單元。在一個實施例中,可包含一摺積單元46以自動化地提供摺積操作(convolutions)。
該摺積命令可包含一命令及指定一遮罩、參考、或核心的引數兩者,因此一擷取圖像中的特徵可與記憶體28中的參考二維影像做比較。該命令可包括一指定在何處存儲摺積結果的終點位址。
在一些情況裡,每一視頻分析單元可為一硬體加速器。這裡的「硬體加速器」硬體加速器,其意指處理一功能比用軟體在中央處理單元執行的速度快的一硬體裝置。
在一個實施例中,每一視頻分析單元可為一由專用於該單元的特定功能的專門硬體執行的狀態機。因此,該單元可以相對快速的方式執行。甚至,每一個由一視頻分析單元實現的操作可以只需要一個時鐘週期,因為所需要的只是告訴硬體加速器去執行該任務並提供引數給該任務,然後操作的排序就可實現,而不需從任何處理器做進一步的控制,包括主機處理器。
其它的視頻分析單元,在一些實施例中,可包括一以自動化方式計算形心(centroid)的形心單元48,一以自動化方式決定直方圖的直方圖單元50,及一膨脹(dilate)/侵蝕(erode)單元52。
該膨脹/侵蝕單元52可以一自動化方式負責無論是增加或減少一給定圖像的解析度。當然,除非資訊是已經可獲得的,否則增加解析度並不可行,但是在一些情況裡,一以較高解析度被接收的畫面可在一低解析度被處理。因此,該畫面可以較高解析度得到且可被該膨脹/侵蝕
單元52轉換到一較高解析度。
該記憶體傳輸矩陣(MTOM)單元54負責實行移動指令,如同先前所描述的。在一些實施例中,可提供一算數單元56及一布林單元58。雖然在一中央處理單元或一已存在的輔助處理器那裡可得到這些相同的單元,但若使其板載(onboard)在該引擎20上會是有利的,因為其在晶片上的存在可減少從該引擎20到主機間大量資料來回傳輸操作的需要。甚至,藉著使其板載於該引擎20上,二維或矩陣的主記憶體可在一些實施例中被使用。
一提取單元60可被提供來從一圖像取得向量。一查找單元62可被用來查找特定類型的資訊以查看其是否已被儲存。舉例來說,查找單元可用來尋找一已儲存的直方圖。最後,當該圖像在一特定任務中擁有一太高的解析度時,使用該部分取樣單元64。該圖像可被部份取樣以降低其解析度。
在一些實施例中,也可提供其它的元件,包括一I2C介面38以作為攝像機組態命令的介面,及一連接到所有對應模組以接收一般的輸入及輸出,及在一些實施例中用在相關於除錯的通用輸入/輸出裝置40。
最後,參閱圖5,在一些實施例中,一分析輔助編碼架構100可被實現。此架構可用軟體、韌體、及/或硬體來實現。然而,硬體的實施例可能比較快。分析輔助編碼可使用分析功能來判斷視頻資訊中的一給定畫面的哪些部分應被編碼,若有的話。因此,一些部分或畫面在一些
實施例裡可不需被編碼,且速度及頻寬可因而增加。
在一些實施例中,是否被編碼可依情況或即時決定,舉一些例子來說,例如基於可用電池量、使用者的選擇、及可用頻寬。尤其,圖像或畫面分析可用現有畫面對比隨後畫面來完成,以判斷是否整個畫面都需要被編碼或是只有部分畫面需要被編碼。這種分析輔助編碼與習知的只決定是否包括了動作向量,但仍然對每一個畫面編碼的以動作估計為基礎的編碼形成對照。
在本發明的一些實施例中,連續的畫面是基於選擇而被編碼或不被編碼的,而一個畫面中被選定的區域,以那些區域中的動作程度為基礎,可被或完全不被編碼。然後,解碼系統會被告知有多少畫面被或沒被編碼,且可單純的依需要複製畫面。
參閱圖5,一第一畫面或多個畫面可在一開始被完全地編碼,如區塊102所述,為了決定一基礎或參考。然後,在菱形104的檢查會判斷是否應提供分析輔助編碼。若分析輔助編碼將不被使用,則編碼以傳統方式進行。
若在菱形104中判斷了提供分析輔助編碼,則決定一定限(threshold),如區塊106所述。該定限可為固定或可根據非動作因子作自動調整,舉例來說,像是可用電池量、可用頻寬、或使用者的選擇。接著,在區塊108中,現有畫面及後續畫面被分析用以判斷是否有超過定限的動作存在,及,若是如此,其是否可被隔離成特定區域。為此,可使用各種分析單元,包括但不限定於該摺積單元、侵蝕/
膨脹單元、部分取樣單元、及查找單元。特別是,圖像或畫面可相對於之前及/或之後的畫面被分析出超過定限的動作。
然後,如區塊110所述,含有超過定限動作的區域可被找出。在一個實施例中,只有這些區域可被編碼,如區塊112所述。在一些情況中,給定畫面裡完全沒有區域可被編碼並可只記錄這結果,使得該畫面在解碼期間是可只被單純地複製。一般來說,編碼器在一標頭或其他位置提供關於甚麼畫面被編碼及畫面是否只有部分被編碼的資訊。在一些實施例中,被編碼部份的位址可用一初始點及一矩陣大小的方式被提供。
圖3、4、5為可在硬體中實現的流程圖。其也可在軟體或韌體中實現,不過可能要在一非暫時性電腦可讀媒體上實施,例如光、磁、或半導體記憶體。該非暫時性媒體儲存供處理器執行的指令。這種處理器或控制器的例子可包括該分析引擎20而適當的非暫時性媒體可包括該主記憶體28和該外部記憶體22作為兩個例子。
這裡描述的圖形處理技術可在多種硬體架構實現。例如,圖形功能可整合在一晶片組裡。或者,可用一分離的圖形處理器。又還如另一實施例,該圖形功能可用一般用途處理器實現,包含一多核處理器。
遍及本說明書中所用的「一個實施例」或「一實施例」意指一在相關於本發明所涵蓋的至少一態樣所包括的實施例的特定功能、結構、或特性。因此,「一個實施例」
或「在一實施例中」的詞組出現並不一定指同樣的實施例。此外,該等特定功能、結構、或特性可以該特定實施例中所說明之外的其它合適的方式被建立,且所有這些方式可被涵蓋在本案的請求項內。
雖然本發明已經描述了相對於有限數量的實施例,在本領域中的熟習技術人員將由此明白多種修改和變化。其用意在於使所附的請求項涵蓋所有這些修改和變化如同落入本發明的真實精神和範圍之內。
10‧‧‧電腦系統
12‧‧‧中央處理單元
14‧‧‧系統匯流排
16‧‧‧匯流排介面
18‧‧‧匯流排
19‧‧‧動態存取記憶體
20‧‧‧視頻分析引擎
22‧‧‧系統記憶體
24‧‧‧攝像機
26‧‧‧視頻擷取介面
28‧‧‧主記憶體
32‧‧‧視頻編碼器
34‧‧‧發送單元
36‧‧‧PCI Express匯流排
38‧‧‧I2C介面
40‧‧‧通用輸入/輸出裝置
42‧‧‧視頻分析功能單元
44‧‧‧像素管線單元
46‧‧‧摺積單元
48‧‧‧形心單元
50‧‧‧直方圖單元
50‧‧‧系統記憶體控制器/仲裁器
52‧‧‧膨脹/侵蝕單元
54‧‧‧記憶體傳輸矩陣單元
56‧‧‧算數單元
58‧‧‧布林單元
60‧‧‧提取單元
62‧‧‧查找單元
64‧‧‧部分取樣單元
66‧‧‧VAFF單元
68‧‧‧VEFF單元
70~78‧‧‧步驟
80~98‧‧‧步驟
100~112‧‧‧步驟
114‧‧‧影子暫存器
116‧‧‧影子暫存器
118‧‧‧匯流排
120‧‧‧路徑
122‧‧‧暫存器
124‧‧‧暫存器
130~140‧‧‧步驟
圖1為本發明之一個實施例的系統架構;圖2為依據一個實施例對圖1中所示之視頻分析引擎的電路描寫;圖3為依據本發明的一個實施例之擷取視頻的流程圖;圖4為依據一個實施例之一個二維矩陣記憶體的流程圖;圖5為依據一個實施例之分析輔助編碼的流程圖;及圖6為另一實施例之流程圖。
10‧‧‧電腦系統
12‧‧‧中央處理單元
14‧‧‧系統匯流排
16‧‧‧匯流排介面
18‧‧‧匯流排
19‧‧‧動態存取記憶體
20‧‧‧視頻分析引擎
22‧‧‧系統記憶體
24‧‧‧攝像機
Claims (30)
- 一種用於視頻處理之方法,其包含:針對複數個視頻串流之各者儲存一不同的使用者指定之處理條件(context);以及針對每一串流使用先前提供的該處理條件以判定如何編碼該串流。
- 如申請專利範圍第1項之方法,其包括在一視頻編碼器及一視頻分析功能單元中同時處理一組複數的串流。
- 如申請專利範圍第1項之方法,其包括接收多個同時的輸入視頻通道。
- 如申請專利範圍第3項之方法,其包括複製每一該等串流並傳送其中一組複製到該視頻分析功能單元且另一組複製到一視頻編碼器。
- 如申請專利範圍第2項之方法,其包括用分時多工來處理該等串流。
- 如申請專利範圍第5項之方法,其包括儲存每一串流的條件到那串流專用的一暫存器裡。
- 如申請專利範圍第6項之方法,其包括為每一該編碼器和視頻分析功能單元的每一串流提供一專用的暫存器。
- 如申請專利範圍第2項之方法,其包括實行即時(on the fly)的處理變更。
- 如申請專利範圍第8項之方法,其包括儲存一處理變更到一暫存器裡,且然後,當一處理任務完成,實行該處理變更。
- 如申請專利範圍第9項之方法,其包括提供專用暫存器給每一串流的即時變更及給每一該編碼器和該視頻分析功能單元。
- 一種非暫時性電腦可讀媒體,其係儲存指令使一電腦處理器能進行下列動作:分時多工複數個視頻串流;根據一處理條件處理每一串流;針對該複數個視頻串流之各者儲存一不同的使用者指定之處理條件;以及針對每一串流使用先前提供的該處理條件以判定如何編碼該串流。
- 如申請專利範圍第11項之媒體,進一步儲存指令以在一視頻編碼器及一視頻分析功能單元中同時處理一組複數的串流。
- 如申請專利範圍第11項之媒體,進一步儲存指令以接收多個同時的輸入視頻通道。
- 如申請專利範圍第13項之媒體,進一步儲存指令以複製每一該等串流並傳送其中一組複製到該視頻分析功能單元且另一組複製到一視頻編碼器。
- 如申請專利範圍第14項之媒體,進一步儲存指令以用分時多工來處理該等串流。
- 如申請專利範圍第15項之媒體,進一步儲存指令以儲存每一串流的條件到那串流專用的一暫存器裡。
- 如申請專利範圍第16項之媒體,進一步儲存指令以為每 一該編碼器和視頻分析功能單元的每一串流提供一專用的暫存器。
- 如申請專利範圍第17項之媒體,進一步儲存指令以實行即時的處理變更。
- 如申請專利範圍第15項之媒體,進一步儲存指令以儲存一處理變更到一暫存器裡,且然後當一處理任務完成,實行該處理變更。
- 如申請專利範圍第19項之媒體,進一步儲存指令以提供專用暫存器給每一串流的即時變更及給每一該編碼器和該視頻分析功能單元。
- 一種積體電路,其包含:一視頻擷取介面;一耦合至該視頻擷取介面的主記憶體;一耦合至該主記憶體的像素管線單元;以及一耦合至該像素管線單元和該視頻擷取介面的視頻編碼器,分時多工複數個視頻串流,根據一處理條件處理每一串流,並針對該複數個視頻串流之各者儲存使用者指定之該處理條件並且針對每一串流使用先前提供的該處理條件以判定如何編碼該串流。
- 如申請專利範圍第21項之電路,其中該電路為一嵌入式動態隨機存取記憶體。
- 如申請專利範圍第22項之電路,該電路用以在一視頻編碼器及一視頻分析功能單元中同時處理一組複數的串流。
- 如申請專利範圍第21項之電路,該視頻擷取介面用以接收多個同時的輸入視頻通道且複製每一該輸入視頻通道。
- 如申請專利範圍第24項之電路,該電路用以複製每一該等串流並傳送其中一組複製到該視頻分析功能單元且另一組複製到一視頻編碼器。
- 如申請專利範圍第25項之電路,該電路用以用分時多工來處理該等串流。
- 如申請專利範圍第26項之電路,其中該電路用以儲存每一串流的條件到那串流專用的一暫存器裡。
- 如申請專利範圍第27項之電路,該電路用以為每一該編碼器和視頻分析功能單元的每一串流提供一專用的暫存器。
- 如申請專利範圍第25項之電路,該電路用以實行即時的處理變更。
- 如申請專利範圍第29項之電路,該電路用以儲存一處理變更到一暫存器裡,且然後當一處理任務完成,實行該處理變更。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2011/057489 WO2013062514A1 (en) | 2011-10-24 | 2011-10-24 | Multiple stream processing for video analytics and encoding |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201322774A TW201322774A (zh) | 2013-06-01 |
TWI586144B true TWI586144B (zh) | 2017-06-01 |
Family
ID=48168190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101135907A TWI586144B (zh) | 2011-10-24 | 2012-09-28 | 用於視頻分析與編碼之多重串流處理技術 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20130278775A1 (zh) |
EP (1) | EP2772049A4 (zh) |
CN (1) | CN103891272B (zh) |
TW (1) | TWI586144B (zh) |
WO (1) | WO2013062514A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3176729A1 (en) | 2011-09-06 | 2017-06-07 | Intel Corporation | Analytics assisted encoding |
US9179156B2 (en) * | 2011-11-10 | 2015-11-03 | Intel Corporation | Memory controller for video analytics and encoding |
KR102092315B1 (ko) * | 2013-11-14 | 2020-04-14 | 한화테크윈 주식회사 | 영상 기록 시스템, 호스트 시스템의 영상 처리 방법 및 장치 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5351129A (en) * | 1992-03-24 | 1994-09-27 | Rgb Technology D/B/A Rgb Spectrum | Video multiplexor-encoder and decoder-converter |
US6031573A (en) * | 1996-10-31 | 2000-02-29 | Sensormatic Electronics Corporation | Intelligent video information management system performing multiple functions in parallel |
US20040179600A1 (en) * | 2003-03-14 | 2004-09-16 | Lsi Logic Corporation | Multi-channel video compression system |
US20060062430A1 (en) * | 2004-03-16 | 2006-03-23 | Vallone Robert P | Feed-customized processing of multiple video streams in a pipeline architecture |
JP2007221581A (ja) * | 2006-02-17 | 2007-08-30 | Toshiba Corp | 監視システム及び画像処理装置 |
US20070239779A1 (en) * | 2006-04-07 | 2007-10-11 | Microsoft Corporation | Analysis of media content via extensible object |
TW200925895A (en) * | 2007-11-01 | 2009-06-16 | Ibm | System and method for real-time new event detection on video streams |
US20090322881A1 (en) * | 2004-10-12 | 2009-12-31 | International Business Machines Corporation | Video analysis, archiving and alerting methods and apparatus for a distributed, modular and extensible video surveillance system |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61166289A (ja) * | 1985-01-18 | 1986-07-26 | Hitachi Ltd | 画像伝送システム |
JPH066798A (ja) * | 1992-06-22 | 1994-01-14 | Fujitsu General Ltd | 映像信号の伝送制御方式 |
US6965974B1 (en) * | 1997-11-14 | 2005-11-15 | Agere Systems Inc. | Dynamic partitioning of memory banks among multiple agents |
US6529146B1 (en) * | 2000-06-09 | 2003-03-04 | Interactive Video Technologies, Inc. | System and method for simultaneously encoding data in multiple formats and at different bit rates |
US7110664B2 (en) * | 2001-04-20 | 2006-09-19 | Front Porch Digital, Inc. | Methods and apparatus for indexing and archiving encoded audio-video data |
JP4706072B2 (ja) * | 2001-05-18 | 2011-06-22 | 株式会社メガチップス | 影像処理システム、動画像の圧縮符号化方法、動画像の復号化方法及びそれらのプログラム |
US7817716B2 (en) * | 2003-05-29 | 2010-10-19 | Lsi Corporation | Method and/or apparatus for analyzing the content of a surveillance image |
US7489726B2 (en) * | 2003-08-13 | 2009-02-10 | Mitsubishi Electric Research Laboratories, Inc. | Resource-constrained sampling of multiple compressed videos |
US7667732B1 (en) * | 2004-03-16 | 2010-02-23 | 3Vr Security, Inc. | Event generation and camera cluster analysis of multiple video streams in a pipeline architecture |
US7409520B2 (en) * | 2005-01-25 | 2008-08-05 | International Business Machines Corporation | Systems and methods for time division multiplex multithreading |
US20070024706A1 (en) * | 2005-08-01 | 2007-02-01 | Brannon Robert H Jr | Systems and methods for providing high-resolution regions-of-interest |
US20070083735A1 (en) * | 2005-08-29 | 2007-04-12 | Glew Andrew F | Hierarchical processor |
JP2007158553A (ja) * | 2005-12-02 | 2007-06-21 | Sony Corp | マルチコーデックカメラシステムおよび画像取得プログラム |
US9210437B2 (en) * | 2005-12-09 | 2015-12-08 | Nvidia Corporation | Hardware multi-stream multi-standard video decoder device |
CN100487739C (zh) * | 2007-06-01 | 2009-05-13 | 北京汇大通业科技有限公司 | 基于智能视频监控的多层次实时预警系统 |
US8401327B2 (en) * | 2008-09-26 | 2013-03-19 | Axis Ab | Apparatus, computer program product and associated methodology for video analytics |
US20110216827A1 (en) * | 2010-02-23 | 2011-09-08 | Jiancong Luo | Method and apparatus for efficient encoding of multi-view coded video data |
US9973742B2 (en) * | 2010-09-17 | 2018-05-15 | Adobe Systems Incorporated | Methods and apparatus for preparation of casual stereoscopic video |
US8743205B2 (en) * | 2011-08-10 | 2014-06-03 | Nice Systems Ltd. | System and method for semantic video content analysis |
-
2011
- 2011-10-24 US US13/994,790 patent/US20130278775A1/en not_active Abandoned
- 2011-10-24 EP EP11874603.1A patent/EP2772049A4/en not_active Withdrawn
- 2011-10-24 CN CN201180074364.9A patent/CN103891272B/zh not_active Expired - Fee Related
- 2011-10-24 WO PCT/US2011/057489 patent/WO2013062514A1/en active Application Filing
-
2012
- 2012-09-28 TW TW101135907A patent/TWI586144B/zh not_active IP Right Cessation
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5351129A (en) * | 1992-03-24 | 1994-09-27 | Rgb Technology D/B/A Rgb Spectrum | Video multiplexor-encoder and decoder-converter |
US6031573A (en) * | 1996-10-31 | 2000-02-29 | Sensormatic Electronics Corporation | Intelligent video information management system performing multiple functions in parallel |
US20040179600A1 (en) * | 2003-03-14 | 2004-09-16 | Lsi Logic Corporation | Multi-channel video compression system |
US20060062430A1 (en) * | 2004-03-16 | 2006-03-23 | Vallone Robert P | Feed-customized processing of multiple video streams in a pipeline architecture |
US20090322881A1 (en) * | 2004-10-12 | 2009-12-31 | International Business Machines Corporation | Video analysis, archiving and alerting methods and apparatus for a distributed, modular and extensible video surveillance system |
JP2007221581A (ja) * | 2006-02-17 | 2007-08-30 | Toshiba Corp | 監視システム及び画像処理装置 |
US20070239779A1 (en) * | 2006-04-07 | 2007-10-11 | Microsoft Corporation | Analysis of media content via extensible object |
TW200925895A (en) * | 2007-11-01 | 2009-06-16 | Ibm | System and method for real-time new event detection on video streams |
Also Published As
Publication number | Publication date |
---|---|
TW201322774A (zh) | 2013-06-01 |
CN103891272B (zh) | 2018-09-07 |
CN103891272A (zh) | 2014-06-25 |
EP2772049A1 (en) | 2014-09-03 |
US20130278775A1 (en) | 2013-10-24 |
WO2013062514A1 (en) | 2013-05-02 |
EP2772049A4 (en) | 2015-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10070134B2 (en) | Analytics assisted encoding | |
TWI526050B (zh) | 擷取多個視訊頻道以供視訊分析及編碼之技術 | |
TWI586144B (zh) | 用於視頻分析與編碼之多重串流處理技術 | |
US10448020B2 (en) | Intelligent MSI-X interrupts for video analytics and encoding | |
US20130329137A1 (en) | Video Encoding in Video Analytics | |
TWI603616B (zh) | 晶片內/晶片外記憶體管理 | |
US9179156B2 (en) | Memory controller for video analytics and encoding | |
US20130322551A1 (en) | Memory Look Ahead Engine for Video Analytics | |
CN115249207A (zh) | 视频超分方法、装置、视频超分模型、介质及终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |