專利名稱:視頻信號多處理器并行處理方法
技術領域:
本發明涉及一種并行視頻信號處理方法,尤其是高分辨率數字視頻信號的編碼和解碼處理方法。
背景技術:
數字視頻信號的數據量非常大,特別是高分辨率視頻信號的實時處理,需要巨大的數據處理能力。
目前常用DSP(數字信號處理器)進行視頻信號處理,特別地為視頻和音頻信號處理設計了專用的DSP,這些處理器具有專用的視頻和音頻數據輸入輸出接口,有的還具有一定視頻協處理能力,如數據格式轉換、VLC(變長編碼)、VLD(變長解碼)和OSD(屏幕疊加顯示)等,可非常方便地進行數字視音頻信號的處理,如壓縮編碼和解碼等,這樣的處理器稱之為多媒體處理器或媒體處理器。
可編程邏輯器件(PLD,如FPGA和CPLD),因具有強大的并行處理能力,非常適用于視頻信號處理,可編程邏輯器件也可擴展視頻輸入和輸出接口,有的還內嵌MCU或MPU,可方便地用于視頻信號處理,成為多媒體處理專用可編程邏輯器件,本發明也將其歸為多媒體處理器。
然而,多媒體處理器的處理能力有限,而人們對視頻信號分辨率的要求卻越來越高,單個處理器的處理能力常不能滿足處理高分辨率視頻信號的要求。比如,目前單片多媒體處理器還不能實現1080i格式的高清晰度視頻信號的H.264、AVS或MPEG4等標準的實時視頻壓縮編碼,更不能處理4百萬像素等更高分辨率的視頻信號。一種解決方案是采用多片處理器并行實現高分辨率視頻信號的處理,但由于視頻處理常需要信號反饋,這就需要并行處理的各處理器間實現高速數據通信,常用的方法是采用增加雙口RAM或FIFO實現相互間的高速數據通信,但這種方法實現較復雜,開發難度大,雙口RAM和FIFO的成本較高,因而實用性較差。目前也有采用差分高速串行接口實現處理器間通信的多處理器并行處理方式,但目前這類帶差分高速串行接口的處理器均為高端處理器,成本較高。
發明內容
本發明要解決的技術問題是提供一種視頻信號的多處理器并行處理方法,利用該方法能較方便地實現多個多媒體處理器的并行處理,從而降低多處理器并行處理的復雜性,解決高分辨率視頻信號處理的處理能力瓶頸問題。
為達到上述目的,本發明采用的技術方案是這樣的采用多個具有視頻輸入和視頻輸出接口的子塊處理器,該子塊處理器為多媒體處理器,可以是具有一個或多個視頻輸入和輸出接口的DSP(如TI公司的TMS320DM642處理器可配置為具有4個視頻輸入接口和2個視頻輸出接口等工作方式),也可以是具有視頻輸入和輸出接口的可編程器件。所述的子塊處理器構成一個并行視頻處理系統,并將輸入的視頻圖像分成多個子塊(子區域),每個子塊用一個處理器進行處理。
為了實現對各子塊處理器處理結果的融合,本發明所構成的系統中還設有一個合成處理器,該合成處理器可以是一個多媒體處理器或一個MPU(微處理器,如ARM、MIPS)。例如,該系統用于高分辨率視頻編碼時,每個子塊處理器的輸出結果均輸到該合成處理器,由合成處理器完成數據合成和復接等,形成一個完整的數據流。合成處理器同時可承擔應用系統的其它任務,如音頻接口和編解碼,視頻流復接和解復接,也能將解復接后的視頻數據通過雙向數據接口(如以太網、HPI、EMIF)分發給各子塊處理器。
如果合成處理器采用一片多媒體處理器實現,則它可接收來自各處理器輸出的光柵視頻數據,在合成處理器中融合為高分辨率光柵視頻數據,并通過其視頻輸出口輸出。這樣的系統的典型應用是高清視頻解碼和多路視頻拼屏。
如果需要處理的視頻圖像較大或算法較復雜,則需要將視頻分成較多子塊,即需要較多的子塊處理器并行處理,這時可用多個處理器組成合成處理器組。例如,采用多片多媒體處理器構成合成處理器組,每片合成處理器接收其中幾路子塊處理器輸出的光柵視頻信號,各合成處理器的輸出信號輸入另一合成處理器,最后合成為高分辨率視頻信號,再通過其視頻輸出口輸出。
由于多媒體處理器的視頻輸入口可采用行、場(或幀)控制視頻信號的輸入,為減少輸入到多媒體處理器的數據量,如對給定處理器,只需將分派給該處理器的視頻子塊數據輸入該處理器,本發明的并行視頻處理系統還可包含若干接口控制電路。在對應各子塊處理器的每個視頻輸入口,都可設置一個接口控制電路,因而所構成的系統中有多個接口控制電路,用于改變視頻信號的行、場(或幀)控制信號,從而控制輸入到處理器的圖像數據有效范圍,即只將特定的視頻子塊或區域輸入相應的子塊處理器。所述的接口控制電路可以用一片或多片CPLD、FPGA等可編程器件或其它邏輯電路實現。行、場(或幀)控制信號可以是行、場(或幀)有效信號或同步信號,可以用信號線傳輸,或采用特定碼嵌入在視頻數據中。
利用多媒體處理器的視頻接口還可實現多個處理器間的高速數據通信。本發明采用多媒體處理器視頻輸出口輸出視頻信號及其它信號,另一個多媒體處理器采用視頻輸入口接收該信號,從而實現多媒體處理器間的數據傳輸。由于所用的多媒體處理器具有多個視頻輸入和視頻輸出接口,用這種方法就可實現大規模的并行視頻處理。為了只輸入需要的數據,同樣采用接口控制電路控制視頻數據輸入的有效范圍。
本發明中由于多媒體處理器的視頻輸入和輸出端口數量有限,為了便于實現視頻信號的大規模并行處理,視頻子塊的劃分應使每個子塊的相鄰子塊的數量不超過多媒體處理器的視頻輸入端口數量,如可將視頻圖像劃分成垂直或水平條狀子塊,或將視頻圖像田字形劃分成四個子塊。
圖1是幾種視頻圖像子塊劃分的示意圖。
圖2是對應圖1(a)子塊劃分實現并行處理的一個實施例。
圖3是對應圖1(b)或(c)子塊劃分實現并行處理的一個實施例。
圖4是采用圖3實施例結構方式進行視頻轉碼處理的一個實施例。
圖5是與圖4類似,采用二片處理器進行解碼的視頻轉碼處理實施例。
具體實施例方式
對高分辨率的視頻數據,每一幀有較大的尺寸,如1920×1080分辨率的HDTV視頻數據,可將每幀圖像分為如圖1(a)所示4塊,每塊大小為960×540,也可將視頻圖像分為如圖1(b)所示4塊,每塊大小為480×1080,也可將視頻圖像分為如圖1(c)所示4塊,每塊大小為1920×270。這樣可以用4個多媒體處理器分別處理其中的一塊,每塊視頻圖像壓縮編碼后的數據送合成處理器合成為完整的視頻信號。對于分辨率更大的視頻信號或處理復雜度更高的算法,則可以用這種方法分成更多的子塊,如圖1(d)所示。對于如HDTV 1080i這樣的隔行視頻信號,則每個子塊輸入多媒體處理器是分二場進行的。
由于幀間視頻處理技術需要利用以前圖像幀處理后的數據,如幀間視頻編碼需要利用前一幀圖像的重建數據(重建幀)進行運動估計,即所謂參考幀,H.264和AVS等視頻編碼標準甚至需要多個參考幀。其它視頻處理也可能要用到以前的圖像幀數據。問題是幀間視頻處理需要用到的參考幀圖像數據或中間處理結果數據并不限制在所在的分塊內,也即需要相鄰分塊對應的視頻數據。如用幀間視頻編碼算法進行運動估計時,要用到周圍圖像數據,如圖1(a)中對C塊中宏塊的運動估計需要用到圖中虛線框內的參考幀數據。也就是說,采用分塊方式進行幀間視頻處理,若每個處理器處理其中一個分塊,則每個處理器均需要用到來自其它處理器的參考幀圖像數據,這些數據可由相應處理器通過視頻輸出接口輸出,再由當前處理器的視頻輸入口接收到存貯器中。如圖1(a),若分塊A用處理器1處理,分塊B用處理器2處理,分塊C用處理器3處理,分塊D用處理器4處理,處理器1、處理器2和處理器4的視頻輸出數據需要輸入到處理器3,處理器1、處理器2和處理器4可利用其視頻輸出口輸出數據,分別由處理器3的三個視頻輸入接口接收這些視頻數據。
對于圖1(b)、(c)和(d)的子塊劃分方法,每個子塊的處理最多只要用到相鄰二塊的數據。也就是說,處理如圖(b)、(c)和(d)中所示每個子塊的處理器,需接收來自處理該子塊相鄰二子塊的子塊處理器的視頻數據。我們稱處理相鄰子塊的子塊處理器為相鄰處理器。這種子塊劃分方法的好處是,可以用很多處理器并行處理很大的視頻序列數據。
圖2是用上述方法的一個實施例,對應圖1(a)的子塊劃分。該實施例采用TI的TMS320DM642多媒體處理器,也可以采用其它有多個視頻輸入輸出接口的多媒體處理器。DM642含3個視頻端口,每個視頻端口又可作為2個10位端口使用,如果全部作為輸入,則共可有6個視頻輸入口。
輸入的視頻信號可以是來自傳感器(如CCD或CMOS圖像傳感器)的視頻數據或其它高清視頻設備輸出的視頻信號或其它可通過多媒體處理器視頻口輸入的視頻數據,我們稱其為外部視頻信號。通過對應每個處理器的接口控制電路控制和改變視頻信號的行、場控制信號,這些信號可以是行、場(或幀)有效信號或同步信號,從而控制輸入到子塊處理器的圖像數據有效范圍,即只將特定的視頻子塊輸入相應的處理器。而視頻數據可以直接輸入多媒體處理器的視頻輸入口或為了時序匹配作一定的延時。
每個處理器將其處理后的視頻數據,如視頻編解碼算法中的重建幀、視頻圖像分析中的中間結果或數據,通過視頻輸出口輸出,我們稱其為內部視頻信號,同樣經過接口控制電路,通過控制和改變視頻信號中的行、場(或幀)控制信號選擇有效視頻數據,再通過處理器的視頻輸入口輸入處理器。
由于每個處理器需要接收一路外部視頻信號和來自對應三個相鄰處理器的三路內部視頻信號,即共需接收四路視頻數據,這四路視頻數據都需要經過接口控制電路選擇有效數據,也即共需四個獨立的接口控制電路,這些接口控制電路可一片或多片邏輯電路中實現。在采用多片邏輯電路實現時,由于接口控制電路為對視頻信號中行、場(或幀)控制信號進行改變,對應同一數據源(外部視頻信號或內部視頻信號)的接口控制電路可以組合在一起,從而簡化電路。接口控制電路可以是CLPD、FPGA或其它邏輯電路。
每個處理器用四個視頻輸入口接收這四路視頻信號,用一個視頻輸出口輸出一路視頻信號給相鄰處理器。
每個處理器各另用一個視頻接口輸出一路處理后的視頻信號到合成處理器,合成處理器用四個視頻輸入口接收這四路視頻信號。合成處理也可以通過以太網、HPI、EMIF等接口與各視頻處理器通信,從而實現對各視頻處理器的控制、給各視頻處理器分發數據流。
圖3是用上述方法的另一個實施例,對應圖1(b)或(c)的子塊劃分。其中處理器1、處理器2、處理器3、處理器4分別用于處理視頻子塊A、視頻子塊B、視頻子塊C、視頻子塊D,處理器1接收外部視頻信號及來自處理器2的視頻信號,處理器2接收外部視頻信號及來自處理器1和處理器3的視頻信號,處理器3接收外部視頻信號及來自處理器2和處理器4的視頻信號,處理器4接收外部視頻信號及來自處理器3的視頻信號。對視頻信號的控制方式與圖1例相同。特別地,對于H.264和AVS等具有幀內預測模式的視頻編碼和解碼算法,其幀內編碼宏塊的編碼和解碼均需要用到其左側和上部相鄰像素,圖1(c)所示的子塊劃分更能適應實時編碼和解碼。
圖4是利用圖3所示方法實現的一個用于視頻轉碼的實施例。該實施例用一片處理器實現視頻解碼,如實現HDTV分辨率的MPEG2視頻解碼,將解碼后的視頻信號送到各視頻處理器,工作原理與圖3相同,所不同的是解碼處理器將碼流中關于宏塊的運動矢量、量化參數等信息傳輸給合成處理器,并由合成處理通過以太網、HPI、EMIF等接口傳輸給處理器1、處理器2、處理器3、處理器4,也可由解碼處理器直接將這些信息通過數據總線傳輸給各視頻處理器(如圖4中虛線所示),從而提高視頻編碼算法中運動估計的速度,或者可以將這些信息嵌入在視頻數據中,當作視頻數據通過視頻接口傳輸給各視頻處理器,這時需要將原圖像進行擴展。
對于需要更復雜的視頻解碼時,如要實現1080i分辨率的H.264/AVC視頻解碼,則可用2片或4片多媒體處理器用上述方法實現并行視頻解碼處理。
圖5是用6片多媒體處理器和一片合成處理器實現視頻轉碼的一個實施例。
合成控制處理器將需要轉碼的原始碼流通過以太網、HPI、EMIF等接口傳輸給解碼處理器1和解碼處理器2,它們均是多媒體處理器。由于解碼過程中需要從相鄰處理器(這里是另一個解碼處理器)獲得參考幀視頻數據,故這二個處理器均通過視頻輸出和輸入口將重建幀傳輸給對方。解碼處理器1將解碼后的視頻數據通過視頻口傳輸給編碼處理器1和編碼處理器2,解碼處理器2將解碼后的視頻數據通過視頻口傳輸給編碼處理器3和編碼處理器4。同時,解碼處理器1和解碼處理器2將運動矢量等信息通過以太網、HPI、EMIF等接口傳輸給各編碼處理器(可直接傳輸或通過合成控制處理器轉發)。
本發明的主要特點是采用多媒體處理器的視頻口進行視頻數據的處理器間傳輸,從而實現大規模并行視頻處理。可用于但不限于上述視頻子塊劃分及實施例。本發明方法也可用于視頻數據融合,如多路視頻拼接和融合,本發明方法可用于各種高分辨率視頻處理,如高分辨視頻中的目標分割和理解等。
權利要求
1.一種視頻信號多處理器并行處理方法,采用多個子塊處理器和合成處理器實現視頻信號的并行處理,其特征在于子塊處理器對整幅圖像進行分區域并行處理,每個子塊處理器處理視頻圖像的一個區域,這些處理器間可通過視頻輸入和輸出接口進行通信;合成處理器通過通信接口與子塊處理器通信,實現對各子塊處理器處理結果的融合。
2.根據權利要求1所述的視頻信號多處理器并行處理方法,其特征在于在子塊處理器的視頻輸入口,可設置一接口控制電路,用以改變視頻信號的行、場控制信號,控制輸入到子塊處理器的圖像數據有效范圍,其中行、場控制信號可以采用獨立的控制線,也可以嵌入在視頻數據中。
3.根據權利要求1或2所述的視頻信號多處理器并行處理方法,其特征在于子塊處理器的視頻輸出接口可與其它一個或多個子塊處理器的視頻輸入接口連接,用以實現處理器間的數據通信。
4.根據權利要求1或2或3所述的視頻信號多處理器并行處理方法,其特征在于可實現視頻轉碼處理,視頻解碼處理將解碼后的視頻數據通過視頻接口輸入到子塊處理器,同時將原運行矢量、量化等參數通過通信接口或嵌入在視頻數據中,傳輸給各子塊處理器。
5.根據權利要求4所述的視頻信號多處理器并行處理方法,其特征在于采用多個解碼處理器實現視頻解碼,解碼處理器間采用視頻接口進行視頻數據傳輸,解碼后的視頻數據通過視頻接口和控制電路傳輸給相應的子塊處理器。
全文摘要
本發明公開了一種視頻信號多處理器并行處理方法,它采用多個子塊處理器和合成處理器實現視頻信號的并行處理。所述子塊處理器對整幅圖像進行分區域并行處理,每個子塊處理器處理視頻圖像的一個區域,這些處理器間可通過視頻輸入和輸出接口進行通信;所述合成處理器通過通信接口與子塊處理器通信,實現對各子塊處理器處理結果的融合。本發明能較方便地實現多個多媒體處理器的并行處理,從而降低多處理器并行處理的復雜性,解決高分辨率視頻信號處理的處理能力瓶頸問題。
文檔編號H04N5/765GK1889667SQ20061005266
公開日2007年1月3日 申請日期2006年7月26日 優先權日2006年7月26日
發明者唐慧明, 蔣國華, 褚方杰 申請人:浙江大學