TW201332366A - 擷取多個視訊頻道以供視訊分析及編碼之技術 - Google Patents

擷取多個視訊頻道以供視訊分析及編碼之技術 Download PDF

Info

Publication number
TW201332366A
TW201332366A TW101146698A TW101146698A TW201332366A TW 201332366 A TW201332366 A TW 201332366A TW 101146698 A TW101146698 A TW 101146698A TW 101146698 A TW101146698 A TW 101146698A TW 201332366 A TW201332366 A TW 201332366A
Authority
TW
Taiwan
Prior art keywords
video
encoding
memory
frame
analysis
Prior art date
Application number
TW101146698A
Other languages
English (en)
Other versions
TWI526050B (zh
Inventor
Animesh Mishra
Jose M Rodriguez
Naveen Doddapuneni
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of TW201332366A publication Critical patent/TW201332366A/zh
Application granted granted Critical
Publication of TWI526050B publication Critical patent/TWI526050B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

視訊分析可用來輔助藉由選擇性地編碼一圖框的僅幾個部分,且使用先前已編碼部分作為替代,來進行視訊編碼。當後續圖框具有小於臨界值之動作等級時,可使用先前已編碼部分。在此狀況下,可能不編碼所有或部分後續圖框,從而在一些實施例中增加頻寬及速度。

Description

擷取多個視訊頻道以供視訊分析及編碼之技術
本發明大體而言係關於電腦,且尤其係關於視訊處理。
發明背景
在許多應用中必須處理及/或儲存視訊。一個實例係視訊監視,其中出於安全性或其他目的可接收、分析及處理一或多個視訊饋送。另一習知應用係用於視訊會議。
通常將諸如中央處理單元之通用處理器用於視訊處理。在一些狀況下,稱為圖形處理器之專用處理器可輔助中央處理單元。
視訊分析涉及獲取關於視訊資訊之內容的資訊。例如,視訊處理可包含內容分析,其中分析內容視訊來偵測某些事件或發生的事或尋找感興趣的資訊。
依據本發明之一實施例,係特地提出一種方法,其包括:提供至少四個輸入視訊頻道以供視訊分析及編碼;致能一個輸入頻道用於高解析度視訊;以及致能四個輸入頻道用於標準解析度視訊。
10‧‧‧系統
12‧‧‧主機中央處理單元
14‧‧‧系統總線
16‧‧‧匯流排介面
18‧‧‧匯流排
19‧‧‧局域動態隨機存取記憶體(DRAM)
20、144‧‧‧引擎
22‧‧‧系統記憶體
24‧‧‧攝影機
26‧‧‧介面
28‧‧‧記憶體
32‧‧‧視頻編碼器
34‧‧‧分派單元
36‧‧‧PCI介面
38‧‧‧I2C介面
40‧‧‧通用輸入/輸出裝置
42‧‧‧視訊分析單元
44‧‧‧單元
46‧‧‧視訊分析功能單元
48‧‧‧質心單元
50‧‧‧記憶體控制器
52‧‧‧放大/縮小單元
54‧‧‧記憶體矩陣轉移(MTOM)單元
56‧‧‧算術單元
58‧‧‧布林單元
60‧‧‧提取單元
62‧‧‧查找單元
64‧‧‧子取樣單元
66‧‧‧VAFF單元
68‧‧‧VEFF單元
72~78、84、86、90~98、102、 106~112、134、136、140、172、 174‧‧‧方塊
80‧‧‧二維矩陣序列
82、88、104、132、138、142、 170‧‧‧菱形
100‧‧‧分析輔助編碼方案
114、116‧‧‧陰影暫存器
118‧‧‧匯流排
120‧‧‧路徑
122‧‧‧暫存器組
124‧‧‧暫存器
130、168‧‧‧序列
146‧‧‧反饋式直接記憶體存取(DMA)引擎
148‧‧‧主記憶體指令仲裁器
150‧‧‧記憶體控制器
152‧‧‧外部記憶體控制器
154‧‧‧類比實體
156‧‧‧外部記憶體
158‧‧‧VCI視訊佇列/編碼器
160‧‧‧佇列/編碼器
162‧‧‧JPEG圖像壓縮格式視訊佇列/編碼器
164‧‧‧編碼器高速暫存存儲器佇列/編碼器
166‧‧‧主記憶體編碼器仲裁器
176‧‧‧圖框擷取
178‧‧‧伽瑪查找表(GLUT)
180、182‧‧‧降級器
184‧‧‧圖框格式器
186‧‧‧視訊擷取介面控制及狀態暫存器(CSR)邏輯
圖1係根據本發明的一個實施例的系統架構;圖2係對根據一個實施例的圖1中所展示的視訊分析引擎之電路描述;圖3係根據本發明之一個實施例的視訊擷取的流程圖;圖4係根據一個實施例的二維矩陣式記憶體的流程圖;圖5係根據一個實施例的分析輔助編碼的流程圖;圖6係另一實施例的流程圖;圖7係對根據一個實施例的圖2中所展示的記憶體控制器之描述;圖8係根據一個實施例的記憶體控制器的流程圖;以及圖9係對一個實施例的視訊擷取介面之概述。
詳細說明
根據一些實施例,用於視訊分析引擎之記憶體控制器可藉由自動存取主記憶體內的整個矩陣或主記憶體內的任何儲存位置來促進記憶體操作。在一些實施例中,主記憶體可儲存二維(2D)表示,該二維(2D)表示致能記憶體控制器隨機存取記憶體矩陣內的任何位置(包含一個像素)。
在一些實施例中,內部記憶體可表示為2D記憶 體矩陣,而外部儲存器可為習知的線性記憶體。儲存於線性記憶體中之資料於是可轉化為二維格式以便在視訊分析引擎內使用。
參看圖1,電腦系統10可為多種電腦系統中的任一者,該等電腦系統包含使用
視訊分析之電腦系統(諸如視訊監視應用及視訊會議應用),以及不使用視訊分析之實施例。系統10可為桌上型電腦、伺服器、膝上型電腦、行動網際網路裝置或蜂巢式電話等。
系統10可具有一或多個主機中央處理單元12,該等中央處理單元耦接至系統匯流排14。系統記憶體22可耦接至系統匯流排14。雖然提供了主機系統架構之實例,但本發明決不限於任何特定系統架構。
系統匯流排14可耦接至匯流排介面16,該匯流排介面又耦接至習知匯流排18。在一個實施例中,可使用快速周邊組件互連(PCIe)匯流排,而本發明決不限於任何特定匯流排。
視訊分析引擎20可經由匯流排18耦接至主機。在一個實施例中,視訊分析引擎可為提供編碼及視訊分析兩者之單一積體電路。在一個實施例中,該積體電路可使用嵌入式動態隨機存取記憶體(EDRAM)技術。然而,在一些實施例中,可省去編碼或視訊分析。此外,在一些實施例中,引擎20可包含記憶體控制器,該記憶體控制器控制板上的積體二維矩陣式記憶體以及提供與外部記憶體之通 訊。
因此,在圖1所示之實施例中,視訊分析引擎20與局域動態隨機存取記憶體(DRAM)19通訊。具體而言,視訊分析引擎20可包含記憶體控制器來存取記憶體19。或者,引擎20可使用系統記憶體22且可包含至系統記憶體之直接連接。
此外,一或多個攝影機24可耦接至視訊分析引擎20。在一些實施例中,以標準解析度格式可接收多達四個同時視訊輸入。在一些實施例中,可在三個輸入端上提供一個高解析度輸入,而可在第四輸入端上提供一個標準解析度。在其他實施例中,可提供更多或更少的高解析度輸入端,且可提供更多或更少的標準解析度輸入端。作為一個實例,三個輸入端中之每一者可接收十個位元之高解析度輸入資料,諸如R、G及B輸入端或Y、U及V輸入端,每一輸入端位於分離的十個位元輸入線上。
圖2中所展示的視訊分析引擎20的一個實施例係在具有位於頁面頂部的四個攝影機頻道輸入之實施例中予以描述。可由視訊擷取介面26接收該等四個輸入。視訊擷取介面26可接收多個同時視訊輸入,該等視訊輸入呈攝影機輸入或其他視訊資訊之形式,其中包含電視輸入、數字視訊錄像機輸入或媒體播放器輸入等。
視訊擷取介面自動擷取及拷貝每一輸入圖框。將輸入圖框之一個拷貝提供至VAFF單元66,而可將其他拷貝提供至VEFF單元68。VEFF單元68負責將視訊儲存於外部 記憶體上,諸如圖1中所展示之記憶體22。在一個實施例中,外部記憶體可耦接至晶片上的系統記憶體控制器/仲裁器50。在一些實施例中,在外部記憶體上之儲存可能係出於視訊編碼之目的。具體而言,若一個拷貝係儲存於外部記憶體上,則可由視訊編碼器32存取該拷貝來以所要格式編碼資訊。在一些實施例中,多個格式係可用的,而系統可選擇最理想之特定編碼格式。
如上所述,在一些狀況下,視訊分析可用來改良由視訊編碼器32實行的編碼過程之效率。一旦圖框經編碼,則可經由快速PCI匯流排36將該等圖框提供至主機系統。
同時,輸入視訊圖框之其他拷貝係儲存於二維矩陣式記憶體或主記憶體28上。VAFF可同時處理及傳輸所有四個輸入視訊頻道。VAFF可包含四個複製單元來處理及傳輸視訊。針對記憶體28的視訊傳輸可使用多工。在一些實施例中,由於視訊回掃時間所固有的延遲,可即時完成多個頻道之轉移。
在主記憶體上之儲存可選擇性地以非線性或線性方式來實行。在習知的線性定址中,指定相交的已定址線上的一或多個位置來存取記憶體位置。在一些狀況下,可指定已定址線,諸如字線或位元線,並且可指出沿著該字線或位元線之範圍,以便可以自動化形式對已定址記憶體線的一部分進行連續儲存。
相反,在二維或非線性定址中,可在一個操作中 存取列線與行線。該操作可指定記憶體矩陣內的初始點,例如,該初始點位於兩個已定址線(諸如列線或行線)之交叉點。接著提供記憶體大小或其他定界符來指出矩陣在兩個維度中的範圍,例如,沿著列線及行線之範圍。一旦指定了初始點,則可藉由可定址位置之自動化遞增來對整個矩陣進行自動儲存。換言之,不需要回到主機或其他裝置來判定用以儲存記憶體矩陣位於初始點之後的後續部分的位址。二維記憶體卸下了產生位址之任務或實質完全消除該任務。結果,在一些實施例中,所需頻寬及存取時間皆可減少。
基本上,可以相反順序完成相同操作來讀取二維記憶體矩陣。或者,亦可使用習知的線性定址來存取二維記憶體矩陣。
雖然給出指定了記憶體矩陣之大小的實例,但亦可提供其他定界符,該等定界符包含在兩個維度中的每一者中之範圍(即,沿著字線及位元線之範圍)。二維記憶體有利於靜態及活動的圖片、圖形,以及其他具有二維資料之應用。
資訊可以二維或一維方式儲存於記憶體28中。在一個實施例中,一維與二維之間的轉化可在硬體中即時自動發生。
在一些實施例中,多個串流之視訊編碼可在視訊編碼器中進行,同時,多個串流亦在視訊分析功能單元42中受到分析。此可藉由以下操作來實行:在視訊擷取介面 26中拷貝該等串流中之每一者且將該等串流中之每一者的一組拷貝發送至視訊編碼器32,而另一拷貝前往視訊分析功能單元42。
在一個實施例中,多個串流中之每一者的時間多工可在視訊編碼器32與視訊分析功能單元42中之每一者中進行。例如,基於使用者輸入,可編碼來自第一串流的一或多個圖框,後續接著編碼來自第二串流的一或多個圖框,後續接著編碼來自下一串流的一或多個串流,等等。類似地,視訊分析功能單元42中可以相同方式使用時間多工,其中基於使用者輸入,來自一個串流的一或多個圖框受到視訊分析,然後來自下一串流的一或多個圖框受到視訊分析,等等。因此,一系列串流可在實質相同時間得以處理,亦即,在編碼器與視訊分析功能單元中同時處理。
在一些實施例中,使用者可設定:首先處理哪個串流之順序,以及在任何特定時間處理每一串流的多少個圖框。在視訊編碼器及視訊分析引擎的情況下,當處理了圖框時,可在匯流排36上輸出該等圖框。
編碼器中每一串流之情境可保持於暫存器組122中專用於該串流的暫存器中,該暫存器組可包含用於該等串流中之每一者的暫存器。暫存器組122可記錄編碼之特性,該等特性已以多種方式中之一者指定,其中包含使用者輸入。例如,可記錄解析度、壓縮率及期望用於每一串流之編碼類型。於是,當時間多工編碼發生時,視訊編碼器可自暫存器116存取正在處理的當前串流之正確特性,以 得到正確串流。
類似地,在視訊分析功能單元46中可使用暫存器組124完成相同操作。換言之,每個串流的視訊分析處理或編碼之特性可記錄於暫存器124及122內,其中在每一組暫存器中為每一串流保留一個暫存器。
此外,使用者或一些其他來源可指示即時改變該等特性。「即時」意欲指,在視訊分析功能單元42的情況下或在編碼的情況下,在視訊編碼器32的情況下,在分析處理期間發生之改變。
當正在處理圖框時發生改變時,對於視訊編碼器,最初可將改變記錄於陰影暫存器(shadow register)116中,對於視訊分析功能單元42,最初可將改變記錄於陰影暫存器114中。接著,一完成該圖框(或指定數目個圖框),視訊編碼器32就檢查是否有任何改變已儲存於暫存器116中。若已儲存,則視訊編碼器在路徑120上將該等改變轉移至暫存器122,從而在適合於編碼特性已即時改變之每一串流的暫存器中更新該等新特性。
同樣,在一個實施例中,可在視訊分析功能單元42中完成相同的即時改變。當偵測到即時改變時,可使用舊特性來完成現有圖框(或現有工作組),同時將該等改變儲存於陰影暫存器114中。接著,在適當的時間,在工作量或圖框已完成處理之後,可在匯流排118上將該等改變自暫存器114轉移至視訊分析功能單元42以便儲存於暫存器124中,通常取代在該等暫存器124中的分離暫存器中針對任何 特定串流所儲存之特性。於是,一旦更新完成,下一處理負載就使用新特性。
因此,參看圖6,序列130可於軟體、韌體及/或硬體中實行。在基於軟體或韌體之實施例中,該序列可由儲存於非暫態電腦可讀媒體(諸如光記憶體、磁記憶體或半導體記憶體)中之電腦執行指令來實行。例如,在一個實施例中,在編碼器32的情況下,該序列可儲存於編碼器內的記憶體中,而在分析功能單元的情況下,該序列可儲存於例如像素管線單元44中。
最初,序列等待使用者輸入用於編碼或分析之情境指令。在一些實施例中,對於分析及編碼而言,流程可為相同的。如菱形132中所判定的,一旦接收了使用者輸入,則如方塊134中指出的,針對每一串流將情境儲存於適合的暫存器122或124中。接著,如方塊136中指出的,時間多工處理開始。在該處理期間,菱形138處的檢查判定是否已有任何處理改變指令。若無,則菱形142處的檢查判定處理是否完成。若未完成,則時間多工處理繼續。
若已接收了處理改變,則如方塊140中指出的,可將該改變儲存於適合的陰影暫存器114或116中。接著,當完成了當前處理任務時,可於下一組操作中自動實行該改變,在視訊編碼器32的情況下係編碼,或在功能單元42的情況下係分析。
在一些實施例中,編碼之頻率可隨編碼器上之負載的量值而改變。通常,編碼器運行速度足夠快以致於在 自記憶體中讀出下一圖框之前編碼器可能已完成對一個圖框之編碼。在許多狀況下,編碼引擎之運行速度可能比在下一圖框或下一組圖框離開記憶體之前編碼一個圖框或一組圖框所需要的速度更快。
情境暫存器可儲存完成編碼或分析所必需的任何準則,在編碼器的情況下,該等準則包含解析度、編碼類型及壓縮率。通常,處理可以自一個串流或頻道進行至下一串流或頻道的循環形式完成。在一個實施例中,接著將已編碼資料輸出至快速周邊組件互連(PCI)匯流排18。在一些狀況下,與快速PCI匯流排關聯的緩衝器可接收來自每一頻道之編碼。即,在一些實施例中,與快速PCI匯流排相結合,可針對每一視訊頻道提供一緩衝器。可將每一頻道緩衝器清空至受仲裁器控制之匯流排,該仲裁器與快速PCI匯流排關聯。在一些實施例中,仲裁器將每一頻道清空至匯流排之方式可取決於使用者輸入。
因此,參看圖3,一種用於視訊擷取之系統20可於硬體、軟體及/或韌體中實行。在一些狀況下,硬體實施例可為有利的,因為硬體實施例可能能夠有更大的速度。
如方塊72中指出的,可自一或多個頻道接收視訊圖框。接著,如方塊74中指出的,拷貝視訊圖框。接下來,如方塊76中指出的,將視訊圖框的一個拷貝儲存於外部記憶體中以供編碼。如方塊78中指出的,出於分析目的將其他拷貝儲存於內部記憶體或主記憶體28中。
接下來參考圖4中所展示之二維矩陣序列80,序 列可於軟體、韌體或硬體中實行。同樣,使用硬體實施例可能有速度優勢。
最初,菱形82處之檢查判定是否已接收儲存命令。按照慣例,此等命令可接收自主機系統,且尤其可接收自中央處理單元12。該等命令可由分派單元34接收,該分派單元接著將命令提供至引擎20之適合的單元,該等單元用以實行命令。在一些實施例中,當命令已實行時,分派單元向主機系統回報。
若涉及儲存命令,如在菱形82中之判定,則如方塊84中指出的,可接收初始記憶體位置及二維大小資訊。接著,如方塊86中指出的,將該資訊儲存於適合的二維矩陣中。初始位置可例如界定矩陣之左上角。儲存操作可在記憶體20內自動尋找具有所需大小的矩陣以便實行該操作。在一些實施例中,一旦提供了記憶體中之初始點,則該操作可自動儲存該矩陣之後續部分而不需要額外的位址計算。
相反的,若涉及讀存取,如在菱形88中之判定,則如方塊90中指出的,接收初始位置及二維大小資訊。接著,如方塊92中指出的,讀取指定的矩陣。同樣,存取可以自動形式完成,其中,與習知的線性定址一樣,可存取初始點,且接著自動判定位址之其餘部分而無須以習知形式返回並計算位址。
最後,若已自主機接收移動命令,如方塊94中之判定,則如方塊96中指出的,接收初始位置及二維大小資 訊,且如方塊98中指出的,自動實行該移動命令。同樣,僅藉由指定起始位置及提供大小資訊,就可使資訊之矩陣自一個位置自動移動至另一位置。
返回參看圖2,視訊分析單元42可經由像素管線單元44耦接至系統之其餘部分。單元44可包含狀態機,該狀態機執行來自分派單元34之命令。通常,此等命令在主機處產生且由分派單元實行。基於應用,可包含多種不同的分析單元。在一個實施例中,可包含迴旋單元46以便自動提供迴旋。
迴旋命令可包含命令及引數兩者,該等引數指定遮罩、參考或核心,以便可比較一個已擷取影像中的特徵與記憶體28中之參考二維影像。該命令可包含目的地,該目的地指定儲存迴旋結果之處。
在一些狀況下,視訊分析單元中之每一者可為硬體加速器。「硬體加速器」意欲指執行功能的速度比運行於中央處理單元上之軟體更快的硬體裝置。
在一個實施例中,視訊分析單元中之每一者可為狀態機,該狀態機由專用於該單元之特殊功能的專門化硬體執行。結果,該等單元可以相對快的方式執行。此外,由視訊分析單元實行之每一操作可僅需要一個時鐘週期,因為僅僅需要讓硬體加速器執行任務並且提供任務之引數,於是可在無來自任何處理器(包含主處理器)之進一步控制的情況下實行操作序列。
在一些實施例中,其他視訊分析單元可包含:質 心單元48,該單元以自動形式計算質心;直方圖單元50,該單元以自動形式判定直方圖;及放大/縮小單元52。
放大/縮小單元52可負責以自動形式增加或減小給定影像之解析度。當然,除非資訊已可獲得,否則不可能增加解析度,但在一些狀況下,可以低解析度來處理以較高解析度接收的圖框。結果,可以較高解析度獲得圖框,且可由放大/縮小單元52將該圖框轉化成較高解析度。
如先前描述的,記憶體矩陣轉移(MTOM)單元54負責實行移動指令。在一些實施例中,可提供算術單元56及布林(Boolean)單元58。雖然可結合中央處理單元或已存在的共同處理器獲得此等單元,但使該等單元在引擎20上可為有利的,因為該等單元在晶片上的存在可減少對自引擎20至主機及自主機至引擎的眾多資料轉移操作之需要。此外,藉由使該等單元在引擎20上,在一些實施例中,可使用二維或矩陣主記憶體。
可提供提取單元60以自影像取得向量。查找單元62可用來查找特定類型之資訊,以判斷是否已儲存該資訊。例如,查找單元可用來查找已儲存之直方圖。最後,當影像的解析度對於特定任務而言太高時,使用子取樣單元64。可對影像進行子取樣來減少其解析度。
在一些實施例中,亦可提供其他組件,該等其他組件包含:I2C介面38,其用以與攝影機組配命令介接;及通用輸入/輸出裝置40,其連接至所有對應的模組來接收一般輸入及輸出並且在一些實施例中結合除錯來使用。
最後,參看圖5,在一些實施例中,可實行分析輔助編碼方案100。該方案可於軟體、韌體及/或硬體中實行。然而,硬體實施例可能更快。分析輔助編碼可使用分析能力來判定應編碼視訊資訊之給定圖框的什麼部分(若有的話)。結果,在一些實施例中,一些部分或圖框可能不需要編碼,結果,可增加速度及頻寬。
在一些實施例中,編碼什麼或不編碼什麼可取決於狀況,且可例如基於根據可用的電池功率、使用者選擇及可用頻寬等予以即時判定。更特定而言,可進行對於現有圖框對後續圖框的影像分析或圖框分析,來判定是否需要編碼整個圖框或是否僅需要編碼該圖框的幾個部分。此分析輔助編碼與習知的基於動作估計之編碼形成對比,該基於動作估計之編碼僅決定是否要包含動作向量,但仍編碼每個圖框。
在本發明之一些實施例中,以選擇性方式編碼或不編碼連續圖框,且可編碼或可根本不編碼圖框內之所選區域(此係基於該等區域內的動作之範圍)。接著,告知解碼系統有多少圖框已編碼或未編碼,且可按需要直接複製圖框。
參看圖5,如方塊102指出的,可在開始時完全編碼第一圖框或前幾個圖框,來判定基準或參考。接著,菱形104處的檢查判定是否應提供分析輔助編碼。若將不使用分析輔助編碼,則編碼按照慣例繼續進行。
若提供分析輔助編碼,如菱形104中之判定,則 如方塊106指出的,判定臨界值。臨界值可為固定的或可為適應性的,取決於非動作因數,諸如可用的電池功率、可用頻寬或使用者選擇等。接下來,在方塊108處,分析現有圖框及後續圖框來判定是否存在超過臨界值的動作,且若存在,則判定是否可將該動作隔離至特定區域。為此目的,可使用各種分析單元,包括但不限於迴旋單元、縮小/放大單元、子取樣單元及查找單元。特定而言,可分析影像或圖框以發現高於臨界值的動作,此相對於先前圖框及/或後續圖框予以分析。
接著,如方塊110指出的,可定位具有超過臨界值的動作之區域。在一個實施例中,如方塊112指出的,僅可編碼該等區域。在一些狀況下,可能根本不編碼給定圖框上的任何區域,且可直接記錄此結果以便在解碼期間可直接複製該圖框。一般而言,編碼器在標頭或其他位置中提供資訊,該資訊係關於哪些圖框已編碼及是否圖框僅具有已編碼之部分。在一些實施例中,可以初始點及矩陣大小之形式提供已編碼部分之位址。
根據一些實施例,記憶體控制器50能夠在主記憶體28內自動定位整個矩陣或可存取儲存於主記憶體矩陣內的2D表示內的任何像素。在一些實施例中,記憶體控制器經特殊設計來用於視訊儲存而非一般儲存。在一些實施例中,記憶體控制器可存取全圖框或一個像素。為存取全圖框,僅僅需要圖框之起點及圖框大小。接著,在記憶體控制器50內部計算所有位址。
矩陣接著可以劃分成巨集區塊,該等巨集區塊可具有例如8×8或16×16的大小。由控制器界定的矩陣本身可具有任何所要大小。
在一些實施例中,此二維佈置及使用記憶體控制器來存取主記憶體內的矩陣可具有許多優點。作為該等優點之一實例,螢幕可完全為一種顏色。替代處理整個螢幕,一次可處理一個8×8巨集區塊,且可形成直方圖來判定是否每一8×8巨集區塊全部為相同顏色。若如此,則僅僅需要分析任一個8×8巨集區塊,於是整個圖框得到有效分析。
因此,在一些實施例中,矩陣可具有任何大小,像素可具有任何大小,其中包含8位元、16位元、24位元、32位元,且矩陣可為二維矩陣。雖然記憶體總為線性的,但線性位址由記憶體控制器轉化成二維位址。
參看圖7,提供對記憶體控制器50之更詳細描述。外部記憶體156可為雙倍資料速率(DDR)隨機存取記憶體156,且並非二維記憶體,取而代之,在一些實施例中係習知線性記憶體。
因此,二維資料可轉化成線性資料以儲存於外部記憶體156中,且相反,來自外部記憶體156之線性資料可轉化為二維資料以在記憶體控制器50內使用。
外部隨機存取記憶體156係由類比實體或PHY154連接至外部記憶體控制器152。外部記憶體控制器152連接至外部記憶體仲裁器150。
仲裁器150連接至讀寫直接記憶體存取(DMA)引 擎142。引擎142提供自快速PCI匯流排36(圖2)至內部記憶體28(圖2)或外部記憶體156之直接路徑。直接記憶體存取引擎144提供:主記憶體至外部記憶體(MTOE)轉化,該轉化意味該引擎提供2D至線性轉化;及外部記憶體至主記憶體(ETOM)轉化。反饋式直接記憶體存取(DMA)引擎146用於DMA引擎144。引擎144產生對引擎146的控制及請求,在所需資料已轉移的確切時間查看來自引擎144之資料及信號,接著請求引擎144取消擱置的請求。引擎142、144及146連接至主記憶體指令仲裁器148,該指令仲裁器又連接至圖2中所展示的主記憶體28。
多個編碼器158、160、162及164可用於主記憶體編碼器仲裁器166及外部記憶體仲裁器150。VCI視訊佇列158係將視訊寫入至內部記憶體或主記憶體28之代理程式。在一個實施例中,H.264視訊壓縮格式視訊佇列160係用於壓縮之代理程式,且自任一記憶體取得視訊資料並使用編碼器高速暫存記憶體佇列164來讀取及寫入該資料。參見可自國際電信同盟(ITU)獲得的H.264(MPEG-4)進階視訊編碼規範(2011年6月)。佇列164允許H.264視訊佇列既讀取又寫入。然而,JPEG圖像壓縮格式視訊佇列162係自任一記憶體取資料但僅讀取資料而從不寫入資料的代理程式。參見可自國際電信同盟(ITU)獲得的JPEG標準T.81(1992年9月)。在一些實施例中,可使用不同壓縮標準。
結果,VCI與編碼器皆可自主記憶體或外部記憶體來操作。在編碼期間,當自二維主記憶體執行時,主記 憶體編碼器仲裁器166進行所有轉化而不使用引擎144及引擎146。因此,可在視訊編碼期間由仲裁器166實行更多直接轉化。在一個實施例中,仲裁器166取資料且將資料轉化成線性形式,並且將該資料提供至佇列160。
參看圖8,記憶體控制器150中用於記憶體矩陣存取之序列168可於軟體、硬體及/或韌體中實行。在軟體及韌體實施例中,該序列可由儲存於非暫態電腦可讀媒體(諸如磁記憶體、光記憶體或半導體記憶體)中之電腦執行指令來實行。
序列在菱形170處由判定是否涉及隨機存取記憶體請求而開始。若涉及,則如方塊172指出的,使用X及Y位址存取儲存於二維矩陣表示中的任何像素。接著,如方塊174中指出的,記憶體控制器本身在內部計算存取位置之位址。
另一方面,若不涉及隨機存取,則由記憶體控制器50獲取起始位址及圖框大小(方塊176),且此資訊足以指定主記憶體內的矩陣。且如方塊174中指出的,在內部計算該等位址。
圖3、4、5及8係可於硬體中實行的流程圖。該等流程圖亦可於軟體或韌體中實行,在此狀況下,該等流程圖可體現於非暫態電腦可讀媒體(諸如光記憶體、磁記憶體或半導體記憶體)上。該非暫態媒體儲存由處理器執行之指令。此處理器或控制器之實例可包含分析引擎20,且適合的非暫態媒體可包含主記憶體28及外部記憶體22作為兩個 實例。
參看圖9,根據一個實施例,視訊擷取介面26能夠擷取高解析度解析度或多個標準解析度視訊頻道以供即時視訊分析。在一個實施例中,該介面可經組配來支援一個高解析度解析度視訊頻道或四個標準解析度視訊頻道。該介面可支援任何視訊介面標準,其中包含國際電信聯盟(ITU)-推薦BT.656(12/07)及BT.1120以及電影與電視工程師協會(SMPTE)274M-2005/296M-2001。
在一個實施例中,視訊管線不對垂直方向上之視訊尺寸強加任何限制。雖然水平尺寸受可用的行緩衝大小約束,但移除垂直限制可致能若干使用狀況。
在一個實施例中,即使當視訊纜線實體上斷開時,介面26仍可繼續工作。此外,在一些實施例中,即使當由於記憶體子系統中或PCI介面36(圖2)上的資源衝突而必須丟棄圖框時,此介面仍可繼續工作。在一個實施例中,可使用查表法實行伽瑪校正(gamma correction)功能。此方法允許韌體有更大的靈活性來選擇用於像素轉換之曲線。
在一個實施例中,可於編碼路徑及分析路徑中之每一者上提供第二視窗化功能。此可致能針對編碼功能及分析功能來獨立設定視訊大小。韌體可即時改變。在一些實施例中,在內部,組配改變與圖框邊界同步,從而允許與積體電路之其餘部分的無縫介接。
在一個實施例中,內部一百兆赫茲的時鐘能夠用於27兆赫茲至74.25兆赫茲的輸入視訊頻道。此外,在一個 實施例中,核心處理器可在300兆赫茲至500兆赫茲操作。
參看圖9,有四個輸入視訊頻道,標記為零至三。可在頻道零至頻道二中的任一者上提供高解析度視訊,且在一個實施例中,當在頻道一及頻道二上提供高解析度視訊時,該高解析度視訊可移植至與視訊頻道零關聯的圖框擷取176。通常,視訊頻道一至頻道三在所有狀況下可處置標準解析度視訊,除非接收了高解析度視訊。
圖框擷取單元176將高解析度或標準解析度視訊提供至伽瑪查找表(GLUT)178。伽瑪查找表將輸入標準解析度YCrCb或者高解析度YCrCb或RGB視訊空間轉化成亮度及色度值,將該等值提供至按比例縮小器180或182。按比例縮小器180與編碼器關聯,而按比例縮小器182與視訊分析引擎關聯。
按比例縮小器將按比例縮小後的亮度及色度資料提供至圖框格式器184。圖框格式器184接著提供各種輸出信號,其中包含:編碼器交握信號、可用/已完成/錯誤的信號,以及前往外部記憶體之寫入埠的寫入值位址資料信號,以及前往記憶體矩陣的寫入值位址。此外,圖框格式器184接收來自編碼器的就緒信號以及來自分派單元34(圖2)的埠負載請求。
視訊擷取介面控制及狀態暫存器(CSR)邏輯186與圖框擷取、伽瑪查找表、按比例縮小器及圖框格式器介接,且在一些實施例中提供對快速PCI匯流排36(圖2)之雙向存取。
本文描述之圖形處理技術可於各種硬體架構中實行。例如,圖形功能性可整合於晶片組內。或者,可使用離散圖形處理器。作為又一個實施例,圖形功能可由通用處理器(包含多核處理器)來實行。
在本說明書全篇中對「一個實施例」之引用意味:結合該實施例所描述之特定特徵、結構或特性係包含於本發明內所包含的至少一個實行方案中。因此,片語「一個實施例」或「在實施例中」之出現未必指同一實施例。此外,特定特徵、結構或特性可以除例示出的實施例之外的其他適合形式建立,且所有此等形式可包含於本申請案之申請專利範圍內。
雖然已就有限數目個實施例描述了本發明,但熟習此項技術者將從中瞭解眾多修改及變體。希望所附申請專利範圍在落入本發明之真實精神及範疇內的同時涵蓋所有此等修改及變體。
100‧‧‧分析輔助編碼方案
102、106、108、110、112‧‧‧方塊
104‧‧‧菱形

Claims (20)

  1. 一種方法,其包括:提供至少四個輸入視訊頻道以供視訊分析及編碼;允許一個輸入頻道用於高解析度視訊;以及允許四個輸入頻道用於標準解析度視訊。
  2. 如申請專利範圍第1項之方法,其包含允許改變視訊垂直大小。
  3. 如申請專利範圍第1項之方法,其包含使用一查找表來提供一伽瑪校正功能。
  4. 如申請專利範圍第1項之方法,其包含提供用於編碼及視訊分析之分離的按比例縮小器。
  5. 如申請專利範圍第1項之方法,其包含將按比例縮小後的亮度及色度資料提供至一圖框格式器。
  6. 一種儲存指令的非暫態電腦可讀媒體,,該等指令係用以:提供至少四個輸入視訊頻道以供視訊分析及編碼;允許一個輸入頻道用於高解析度視訊;以及允許四個輸入頻道用於標準解析度視訊。
  7. 如申請專利範圍第6項之媒體,其進一步儲存指令,該指令係用以允許改變視訊垂直大小。
  8. 如申請專利範圍第6項之媒體,其進一步儲存指令,該指令係用以使用一查找表來提供一伽瑪校正功能。
  9. 如申請專利範圍第6項之媒體,其進一步儲存指令,該 指令係用以提供用於編碼及視訊分析之分離的按比例縮小器。
  10. 如申請專利範圍第6項之媒體,其進一步儲存指令,該指令係用以將按比例縮小後的亮度及色度資料提供至一圖框格式器。
  11. 一種設備,其包括:用於視訊分析及編碼的至少四個輸入視訊頻道圖框擷取單元;用以擷取高解析度視訊的一個輸入頻道圖框擷取單元;以及用以擷取標準解析度視訊的四個輸入頻道圖框擷取單元。
  12. 如申請專利範圍第11項之設備,該等擷取單元係用以允許改變視訊垂直大小。
  13. 如申請專利範圍第11項之設備,該設備包含耦接至該等單元之查找表,來使用該等查找表以提供一伽瑪校正功能。
  14. 如申請專利範圍第11項之設備,該設備包含用於編碼以及視訊分析之分離的按比例縮小器。
  15. 如申請專利範圍第14項之設備,該設備包含一圖框格式器,該圖框格式器係用以接收來自該等按比例縮小器中之一者的按比例縮小後的亮度及色度資料。
  16. 一種系統,其包括:一視訊擷取介面,其包含用於視訊分析及編碼的至 少四個輸入視訊頻道圖框擷取單元;一視訊編碼器,其耦接至該介面;以及一視訊分析,其可工作且耦接至該介面。
  17. 如申請專利範圍第16項之設備,該等擷取單元係用以允許改變視訊垂直大小。
  18. 如申請專利範圍第16項之設備,該設備包含耦接至該等單元之查找表,來使用該等查找表以提供一伽瑪校正功能。
  19. 如申請專利範圍第16項之設備,該設備包含用於編碼以及視訊分析之分離的按比例縮小器。
  20. 如申請專利範圍第19項之設備,該設備包含一圖框格式器,該圖框格式器係用以接收來自該等按比例縮小器中之一者的按比例縮小後的亮度及色度資料。
TW101146698A 2011-12-12 2012-12-11 擷取多個視訊頻道以供視訊分析及編碼之技術 TWI526050B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/064344 WO2013089664A1 (en) 2011-12-12 2011-12-12 Capturing multiple video channels for video analytics and encoding

Publications (2)

Publication Number Publication Date
TW201332366A true TW201332366A (zh) 2013-08-01
TWI526050B TWI526050B (zh) 2016-03-11

Family

ID=48612966

Family Applications (2)

Application Number Title Priority Date Filing Date
TW104144044A TWI583178B (zh) 2011-12-12 2012-12-11 擷取多個視訊頻道以供視訊分析及編碼之技術(二)
TW101146698A TWI526050B (zh) 2011-12-12 2012-12-11 擷取多個視訊頻道以供視訊分析及編碼之技術

Family Applications Before (1)

Application Number Title Priority Date Filing Date
TW104144044A TWI583178B (zh) 2011-12-12 2012-12-11 擷取多個視訊頻道以供視訊分析及編碼之技術(二)

Country Status (6)

Country Link
US (1) US20130322552A1 (zh)
EP (1) EP2792143A4 (zh)
KR (1) KR101615466B1 (zh)
CN (1) CN103975583A (zh)
TW (2) TWI583178B (zh)
WO (1) WO2013089664A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3176729A1 (en) * 2011-09-06 2017-06-07 Intel Corporation Analytics assisted encoding
US11503381B2 (en) 2020-06-29 2022-11-15 Seagate Technology Llc Distributed surveillance system with abstracted functional layers
US11343544B2 (en) 2020-06-29 2022-05-24 Seagate Technology Llc Selective use of cameras in a distributed surveillance system
US11463739B2 (en) 2020-06-29 2022-10-04 Seagate Technology Llc Parameter based load balancing in a distributed surveillance system
CN114245129A (zh) * 2022-02-22 2022-03-25 湖北芯擎科技有限公司 图像处理方法、装置、计算机设备及存储介质

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5196924A (en) * 1991-07-22 1993-03-23 International Business Machines, Corporation Look-up table based gamma and inverse gamma correction for high-resolution frame buffers
US5381145A (en) * 1993-02-10 1995-01-10 Ricoh Corporation Method and apparatus for parallel decoding and encoding of data
US5896176A (en) * 1995-10-27 1999-04-20 Texas Instruments Incorporated Content-based video compression
US6141447A (en) * 1996-11-21 2000-10-31 C-Cube Microsystems, Inc. Compressed video transcoder
US6549577B2 (en) * 1997-09-26 2003-04-15 Sarnoff Corporation Computational resource allocation in an information stream decoder
WO2001061999A1 (en) * 2000-02-15 2001-08-23 4Nsys Co., Ltd. Multi-channel image encoding method and system
CA2321015A1 (en) * 2000-09-27 2002-03-27 Jing Yang Chen Method and apparatus for determining a bit rate need parameter in a statistical multiplexer
US7817716B2 (en) * 2003-05-29 2010-10-19 Lsi Corporation Method and/or apparatus for analyzing the content of a surveillance image
JP2005151485A (ja) * 2003-11-20 2005-06-09 Hitachi Ltd 映像信号符号化装置および映像信号記録装置
US20050243922A1 (en) * 2004-04-16 2005-11-03 Modulus Video, Inc. High definition scalable array encoding system and method
JP4613702B2 (ja) 2004-09-30 2011-01-19 日本電気株式会社 ガンマ補正、画像処理方法及びプログラム、並びにガンマ補正回路、画像処理装置、表示装置
US8214859B2 (en) * 2005-02-14 2012-07-03 At&T Intellectual Property I, L.P. Automatic switching between high definition and standard definition IP television signals
US7434146B1 (en) * 2005-05-06 2008-10-07 Helwett-Packard Development Company, L.P. Denoising and error correction for finite input, general output channel
US9258519B2 (en) * 2005-09-27 2016-02-09 Qualcomm Incorporated Encoder assisted frame rate up conversion using various motion models
US20080129844A1 (en) * 2006-10-27 2008-06-05 Cusack Francis J Apparatus for image capture with automatic and manual field of interest processing with a multi-resolution camera
US9584710B2 (en) * 2008-02-28 2017-02-28 Avigilon Analytics Corporation Intelligent high resolution video system
US9325951B2 (en) * 2008-03-03 2016-04-26 Avigilon Patent Holding 2 Corporation Content-aware computer networking devices with video analytics for reducing video storage and video communication bandwidth requirements of a video surveillance network camera system
US20090290645A1 (en) * 2008-05-21 2009-11-26 Broadcast International, Inc. System and Method for Using Coded Data From a Video Source to Compress a Media Signal
CN101998111A (zh) * 2009-08-28 2011-03-30 杨占坤 高清摄像机视频采集模式自动转换的系统和方法
WO2011041903A1 (en) * 2009-10-07 2011-04-14 Telewatch Inc. Video analytics with pre-processing at the source end
CN101706675B (zh) * 2009-11-17 2013-04-17 北京中科大洋科技发展股份有限公司 一种具有内部切换功能的高标清视音频io卡
US9325929B2 (en) * 2010-04-29 2016-04-26 Ati Technologies Ulc Power management in multi-stream audio/video devices

Also Published As

Publication number Publication date
WO2013089664A1 (en) 2013-06-20
EP2792143A4 (en) 2015-12-02
TWI583178B (zh) 2017-05-11
KR101615466B1 (ko) 2016-04-25
KR20140091058A (ko) 2014-07-18
TWI526050B (zh) 2016-03-11
CN103975583A (zh) 2014-08-06
EP2792143A1 (en) 2014-10-22
US20130322552A1 (en) 2013-12-05
TW201635787A (zh) 2016-10-01

Similar Documents

Publication Publication Date Title
TWI526050B (zh) 擷取多個視訊頻道以供視訊分析及編碼之技術
US10070134B2 (en) Analytics assisted encoding
TWI586144B (zh) 用於視頻分析與編碼之多重串流處理技術
US20130329137A1 (en) Video Encoding in Video Analytics
US10448020B2 (en) Intelligent MSI-X interrupts for video analytics and encoding
TWI603616B (zh) 晶片內/晶片外記憶體管理
US9179156B2 (en) Memory controller for video analytics and encoding
US20130322551A1 (en) Memory Look Ahead Engine for Video Analytics

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees