專利名稱:圖像處理裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種圖像處理裝置,尤其是涉及多個核心對存儲器的存取要求的控制技術(shù)。
下面,對現(xiàn)有技術(shù),將MPEG2視頻編碼為例進(jìn)行說明。
在MPEG2視頻編碼中,將整個圖像劃分為以縱16像素×橫16像素為單位的宏塊,各個宏塊形成柵格狀,從而,對每一宏塊進(jìn)行圖像信號的編碼處理。各宏塊的編碼處理是互相獨(dú)立的。
在這種圖像編碼中,為了提高編碼效率,以宏塊為單位進(jìn)行流水線處理。為了執(zhí)行此一流水線處理,MPEG2視頻編碼系統(tǒng)內(nèi)裝有多個專用運(yùn)算單元,其分別進(jìn)行動態(tài)向量檢測、DCT(離散余弦變換)運(yùn)算、量化運(yùn)算之類的為進(jìn)行編碼所必需的運(yùn)算。以下,將這些專用運(yùn)算單元稱為“核心”。
另外,在本案說明書中,將流水線處理的處理單位時間稱為“宏塊時間”,將按每段宏塊時間劃分的處理單位稱為“宏塊階段”或者“階段”。
將某一階段為例來說,各核心對不同宏塊并列地進(jìn)行個別的處理。各核心,又對存儲器分別發(fā)出存取要求。因此,為了正常且確切地進(jìn)行MPEG2視頻編碼,就需要一可在各階段中將從多個核心發(fā)出的存儲器存取要求進(jìn)行互斥性的控制的機(jī)制。
圖12表示在現(xiàn)有的MPEG2視頻編碼系統(tǒng)中對存儲器存取的控制方法(參見M.MIZUNO等,“低功耗動作預(yù)測和定時的1.5W單片MPEG2MP@ML編碼器(A 1.5W Single-Chip MPEG2 MP@ML Encoder withLow-Power Motion Estimation and Clocking)”1997年,ISSCC及大西等,“單片MPEG-2 MP@ML視頻編碼LSI中的存儲體系結(jié)構(gòu)”1997年,電子情報通信學(xué)會綜合大會)。在圖12中,縱軸表示該MPEG2視頻編碼系統(tǒng)的核心的種類,橫軸表示時間。圖12表示什么時候,即在從階段開始時起算幾周期以后,開始各核心的數(shù)據(jù)傳送。就是說,該圖表示在1宏塊時間內(nèi)的各核心的存儲器存取的程序。
在此一現(xiàn)有例中,通過編一個固定的程序在1宏塊時間內(nèi),什么時候允許哪一核心存取外部存儲器,來對多個存取要求作互斥性的控制。具體說來,在從階段開始以后幾個周期后,將數(shù)據(jù)從視頻輸入部寫入存儲器中;在幾個周期后,讓動態(tài)向量檢測部從存儲器中讀出數(shù)據(jù)什么的,預(yù)先決定好程序。
在上述現(xiàn)有例中,固定性地排程各階段的存儲器存取。因此,為了正常且確切地執(zhí)行流水線處理,就必須考慮到各核心的數(shù)據(jù)傳送所必需的周期數(shù)成為最大的情形,也就是說,考慮到最壞的情形,才能設(shè)定每一階段的周期數(shù)。
然而,通過本案發(fā)明人的研討得知在現(xiàn)有例中,如果考慮到最壞的情形來設(shè)定每一階段的周期數(shù),該周期數(shù)會超過可允許正常的流水線處理的上限值(根據(jù)現(xiàn)有例的工作頻率規(guī)格來推算)。
為了解決此一問題,在現(xiàn)有例中,在編碼系統(tǒng)內(nèi)設(shè)置了動態(tài)向量檢測用的高速緩沖存儲器。從而,將已用在第1次檢索中的參考圖像數(shù)據(jù)存儲在高速緩沖存儲器中,再將該參考圖像數(shù)據(jù)用在第2次檢索中,這樣省去了第2次檢索時從外部存儲器的數(shù)據(jù)傳送。這樣一來,減少了整個存儲器存取所必需的周期數(shù)(參見大井等,“依據(jù)MPEG2 MP@ML的單片編碼LSI的開發(fā)”,1997年4月,日經(jīng)電子技術(shù))。
可是,如果像這樣通過設(shè)置高速緩沖存儲器以減少存儲器存取的周期數(shù)的話,全系統(tǒng)的功耗和面積會增加高速緩沖存儲器的部分。特別是,在該系統(tǒng)作為LSI實(shí)現(xiàn)的情況下,功耗或面積的增加是一個很嚴(yán)重的問題。
本發(fā)明的目的在于在具有多個核心的圖像處理裝置中,提高存儲器存取的效率。特別是,在MPEG2視頻編碼系統(tǒng)中,以與現(xiàn)有例相等的工作頻率并在不設(shè)高速緩沖存儲器的情況下,確實(shí)地執(zhí)行編碼所需的數(shù)據(jù)傳送。
具體說來,本發(fā)明是一種使用外部存儲器通過流水線處理執(zhí)行圖像信號處理的圖像處理裝置,包括多個核心,其可分別進(jìn)行處理圖像時所需要的運(yùn)算;和存儲器存取部,其可在上述多個核心和上述外部存儲器之間傳送數(shù)據(jù)。上述存儲器存取部包括存取程序存儲部,其可分階段,即對每一流水線處理的單位存儲數(shù)據(jù)傳送的種類。該存儲器存取部按照該存取程序存儲部的存儲內(nèi)容,在上述多個核心和上述外部存儲器之間傳送數(shù)據(jù)。所構(gòu)成的上述存取程序存儲部,在各階段之前的階段,其內(nèi)可被設(shè)定好在該各階段中所必需的數(shù)據(jù)傳送的種類。
按照本發(fā)明,由于能在各階段之前的階段中設(shè)定該各階段中所必需的數(shù)據(jù)傳送的種類,因此能夠?qū)γ恳浑A段靈活地改變數(shù)據(jù)傳送的種類。這樣一來,使得在各階段中,存儲器存取部不用執(zhí)行判優(yōu)(arbitration)而只要執(zhí)行必要種類的數(shù)據(jù)傳送。結(jié)果,可實(shí)現(xiàn)高效率的存儲器存取。
上述本發(fā)明所涉及的圖像處理裝置最好包括可對上述多個核心及存儲器存取部進(jìn)行控制的系統(tǒng)控制部。在各階段中,上述系統(tǒng)控制部最好使上述存儲器存取部進(jìn)行數(shù)據(jù)傳送,同時,將在該階段之后的階段中所必需的數(shù)據(jù)傳送的種類,設(shè)定在上述存取程序存儲部中。
并且,在上述圖像處理裝置中,上述存儲器存取部最好輸出階段傳送狀態(tài)信號,該信號表示是否在各階段中已結(jié)束數(shù)據(jù)傳送。上述系統(tǒng)控制部最好在上述階段傳送狀態(tài)信號表示數(shù)據(jù)傳送已結(jié)束時,令上述存儲器存取部進(jìn)行后一階段的數(shù)據(jù)傳送。
再就是,上述本發(fā)明所涉及的圖像處理裝置的存儲器存取部最好包括接口部,可進(jìn)行所指定的種類的數(shù)據(jù)傳送,同時,可輸出能表示是否該數(shù)據(jù)傳送已結(jié)束的局部傳送狀態(tài)信號;和存取控制部,可指定數(shù)據(jù)傳送的種類而啟動上述接口部,同時,在上述局部傳送狀態(tài)信號表示數(shù)據(jù)傳送已結(jié)束時,重新指定數(shù)據(jù)傳送的種類而啟動上述接口部。
上述本發(fā)明所涉及的圖像處理裝置,最好作為圖像信號的處理,進(jìn)行編碼處理。
下面,對本發(fā)明中的附圖作簡要說明。
圖1是本發(fā)明的一實(shí)施例所涉及的圖像處理裝置的整體結(jié)構(gòu)圖。
圖2是表示圖1中所示的存儲器存取部的結(jié)構(gòu)圖。
圖3是表示圖2中所示的啟動存儲部的結(jié)構(gòu)圖。
圖4表示圖2中所示的存取程序存儲部的一存儲內(nèi)容。
圖5是表示圖1中所示的存儲器存取部的數(shù)據(jù)傳送時間表的時序圖。
圖6是表示一宏塊的編碼處理的流程圖。
圖7是表示執(zhí)行MPEG2編碼處理的整個流水線處理的流程圖。
圖8表示圖7的各階段中的啟動寄存器、模式寄存器及參數(shù)寄存器的設(shè)定值的變化。
圖9表示在B圖像的編碼處理中各寄存器的設(shè)定值的變化。
圖10表示在I圖像的編碼處理中各寄存器的設(shè)定值的變化。
圖11表示一場數(shù)據(jù)傳送所必需的周期數(shù),是用以說明本發(fā)明和現(xiàn)有例的差別的圖。
圖12表示現(xiàn)有的MPEG視頻編碼中的存儲器存取的控制方法。
下面,參照附圖對本發(fā)明的實(shí)施例加以說明。
圖1是本發(fā)明的一實(shí)施例所涉及的圖像處理裝置,是表示一可執(zhí)行MPEG2視頻編碼的整個系統(tǒng)的結(jié)構(gòu)圖。在圖1中,符號1表示一系統(tǒng),其是通過流水線處理而執(zhí)行圖像信號處理的圖像處理裝置。2是例如由同步DRAM構(gòu)成,能與系統(tǒng)1交換數(shù)據(jù)的外部存儲器。外部存儲器2是用以存儲由視頻輸入信號構(gòu)成的原圖像幀數(shù)據(jù)、為了檢測動態(tài)向量而被再現(xiàn)的以前的圖像幀數(shù)據(jù)、經(jīng)可變長度編碼所得的代碼等等。譬如,系統(tǒng)1可用LSI來實(shí)現(xiàn)。
系統(tǒng)1具備運(yùn)算部10,其由分別進(jìn)行編碼時所需要的運(yùn)算的多個核心11~17構(gòu)成;存儲器存取部20,其在外部存儲器2和運(yùn)算部10之間傳送數(shù)據(jù);系統(tǒng)控制部30,其對運(yùn)算部10、存儲器存取部20及整個系統(tǒng)1進(jìn)行控制。在運(yùn)算部10和存儲器存取部20之間,設(shè)置有由多個緩沖存儲器構(gòu)成的緩沖存儲器組40。各緩沖存儲器對各核心11~17和存儲器存取部20間的數(shù)據(jù)傳送進(jìn)行一下緩沖。
圖2是表示圖1中所示的存儲器存取部20的結(jié)構(gòu)圖。在圖2中,21是可對存儲器存取部20進(jìn)行控制的存取控制部,22是可分階段存儲數(shù)據(jù)傳送的種類及順序的存取程序存儲部,25是由可生成存取外部存儲器2時的地址的多個地址生成器(AG)構(gòu)成的地址生成器組,其中各地址生成器是對應(yīng)于數(shù)據(jù)傳送的種類而分別設(shè)置的。26是地址選擇器,27是數(shù)據(jù)選擇器。地址生成器組25中的各地址生成器AG1~AG8分別與緩沖存儲器組40中所包含的各緩沖存儲器SMBM、MSBM、MYBM、MCBM、ZMBM、ROBM、VWBM、VRBM對應(yīng)著。接口部60是由地址生成器組25、地址選擇器26及數(shù)據(jù)選擇器27構(gòu)成的。
存取程序存儲部22由啟動存儲部51、參數(shù)存儲部52及模式存儲部53構(gòu)成。啟動存儲部51、參數(shù)存儲部52及模式存儲部53都是由兩個存儲體(bank)構(gòu)成的。在能由存取控制部21存取一個存儲體時(即朝向存儲器存取部20時),另一個存儲體則能由系統(tǒng)控制部30來設(shè)定其存儲內(nèi)容(即朝向系統(tǒng)控制部30)。
系統(tǒng)控制部30通過第1觸發(fā)信號TGL1而切換存取程序存儲部22的存儲體,并對朝向系統(tǒng)控制部30的存儲體設(shè)定數(shù)據(jù)傳送的種類及順序。在此,讓第1觸發(fā)信號TGL1對存儲體的切換和流水線處理中的階段切換同步進(jìn)行。
換句話說,所構(gòu)成的存取程序存儲部22能夠在各階段之前的階段中,被設(shè)定好該各階段中所執(zhí)行的數(shù)據(jù)傳送的種類及順序。再就是,在各階段中,系統(tǒng)控制部30將起始信號AC1輸出到存取控制部21而使存儲器存取部20進(jìn)行數(shù)據(jù)傳送,同時,將其后階段的數(shù)據(jù)傳送的種類及順序設(shè)定到存取程序存儲部22中。
這樣一來,使得在各階段之前的階段中,由系統(tǒng)控制部30將該各階段中所必需的數(shù)據(jù)傳送的種類及順序設(shè)定到存取程序存儲部22的一個存儲體中。于是,在切換階段的同時,也切換存取程序存儲部22的存儲體,能夠由存取控制部21存取在其前的階段中已被設(shè)定好數(shù)據(jù)傳送的種類及順序的存儲體,從而在該階段中根據(jù)該存儲體的存儲內(nèi)容執(zhí)行數(shù)據(jù)傳送。
就是說,在各階段中將在其后的階段中所執(zhí)行的數(shù)據(jù)傳送的種類及順序設(shè)定到存取程序存儲部22中,通過反復(fù)該設(shè)定,來進(jìn)行編碼處理時所必需的與外部存儲器2的數(shù)據(jù)交換。
還有,緩沖存儲器組40的各緩沖存儲器也大都是由兩個以上的存儲體構(gòu)成的。系統(tǒng)控制部30通過第2觸發(fā)信號TGL2來切換各緩沖存儲器的存儲體。
圖3是表示圖2中所示的啟動存儲部51的結(jié)構(gòu)圖。如圖3所示,啟動存儲部51具備兩個8比特啟動寄存器51a、51b(雙存儲體結(jié)構(gòu)),可通過來自系統(tǒng)控制部30的第1觸發(fā)信號TGL1切換它的存儲體。
參數(shù)存儲部52具備兩組參數(shù)寄存器組(雙存儲體結(jié)構(gòu)),各參數(shù)寄存器由8個(即對應(yīng)于啟動寄存器22a、22b的比特數(shù))16比特寄存器構(gòu)成。它可通過第1觸發(fā)信號TGL1切換它的存儲體。模式存儲部53也具備兩組由8個4比特寄存器構(gòu)成的模式寄存器組(即雙存儲體結(jié)構(gòu)),可通過第1觸發(fā)信號TGL1切換它的存儲體。模式寄存器和參數(shù)寄存器是一對一地對應(yīng)著。各模式寄存器分別存儲不同數(shù)據(jù)傳送的種類;各參數(shù)寄存器存儲所對應(yīng)的模式寄存器中所存儲的那一種數(shù)據(jù)傳送所必需的參數(shù)。
圖4表示存取程序存儲部22的一存儲內(nèi)容。下面,用圖4說明存儲器存取部20的工作。
存取控制部21接收來自系統(tǒng)控制部30的起始信號AC1后,將構(gòu)成啟動存儲部51的兩個啟動寄存器當(dāng)中,與朝向存儲器存取部20的那一存儲體對應(yīng)的啟動寄存器中所存儲的值,從LSB到MSB一比特一比特地進(jìn)行檢查。啟動寄存器的各比特與各模式寄存器對應(yīng),“0”表示禁止傳送,“1”表示允許傳送。就是說,所檢查的比特為“1”時,則執(zhí)行被存儲在所對應(yīng)的模式寄存器中的那一種類的數(shù)據(jù)傳送,另一方面,其為“0”時,則不執(zhí)行被存儲在所對應(yīng)的模式寄存器中的那一種類的數(shù)據(jù)傳送。在執(zhí)行模式寄存器中所存儲的那一種數(shù)據(jù)傳送時,將與該模式寄存器對應(yīng)的參數(shù)寄存器中所存儲的值用作數(shù)據(jù)傳送的參數(shù)。
舉例來說,如圖4所示,假設(shè)啟動寄存器中所保持的值為“00110010”。此時,首先由于LSB(比特0)為“0”,所以不進(jìn)行模式0的模式寄存器中所存儲的那一種類的數(shù)據(jù)傳送。
因?yàn)槠浯蔚谋忍?為“1”,存取控制部21執(zhí)行模式1的模式寄存器中所存儲的那一種類的數(shù)據(jù)傳送。存取控制部21檢查模式1的模式寄存器中所存儲的值,決定要進(jìn)行的數(shù)據(jù)傳送的種類,并選擇要啟動的地址生成器。現(xiàn)在,在模式1的模式寄存器中存儲有$2($表示十六進(jìn)制)。在此,假定該$2意指要進(jìn)行“NoMC宏塊輸入”。NoMC宏塊是由于和前一圖像的亮度差極大,或者幾乎和前一圖像之間沒有亮度差,因此不要求動作補(bǔ)償(MotionCompensation)的宏塊。
存取控制部21通過將模式1的模式寄存器的值進(jìn)行解碼而識別要進(jìn)行“NoMC宏塊輸入”,然后將起始信號AC2送到NoMC宏塊輸入用的地址生成器中。地址生成器收到起始信號AC2后,使用模式1的參數(shù)寄存器的值($01、$0A)來生成用以存取外部存儲器2的地址。在模式1的參數(shù)寄存器中,作為與“NoMC宏塊輸入”對應(yīng)的參數(shù),存儲有要輸入的宏塊的起始地址。
并且,存取控制部21通過選擇信號SL令地址選擇器26將NoMC宏塊輸入用的地址生成器所輸出的地址和控制信號,選擇性地輸出到外部存儲器2中。還有,存取控制部21又通過選擇信號SL令數(shù)據(jù)選擇器27將從外部存儲器2中所輸出的數(shù)據(jù)選擇性地輸出到緩沖存儲器組40中的NoMC宏塊輸入用緩沖存儲器中。
收到起始信號AC2的地址生成器,在執(zhí)行數(shù)據(jù)傳送那一期間,讓為局部傳送狀態(tài)信號的忙碌信號BS2活動。當(dāng)數(shù)據(jù)傳送結(jié)束時,則讓忙碌信號BS2停止工作,以告訴存取控制部21數(shù)據(jù)傳送已結(jié)束。存取控制部21確認(rèn)此一地址生成器的數(shù)據(jù)傳送結(jié)束后,重新開始檢查啟動寄存器。
由于啟動寄存器的比特2、3為“0”,所以不進(jìn)行模式2、3的模式寄存器中所存儲的種類的數(shù)據(jù)傳送。
由于其次的比特4為“1”,存取控制部21執(zhí)行模式4的模式寄存器中所存儲的那一種類的數(shù)據(jù)傳送。模式4的模式寄存器中存儲有$3(十六進(jìn)制中的3),在此,假定$3意指要進(jìn)行“可變長度代碼輸出”。存取控制部21將起始信號AC2送到可變長度代碼輸出用的地址生成器中。地址生成器收到起始信號AC2后,使用模式4的參數(shù)寄存器的值,來生成用以存取外部存儲器2的地址。模式4的參數(shù)寄存器存儲有要傳送的字?jǐn)?shù)作與“可變長度代碼輸出”對應(yīng)的參數(shù)。
存取控制部21當(dāng)對啟動寄存器中所存儲的值的所有的比特完成檢查時,通過作為階段傳送狀態(tài)信號的忙碌信號BS1,告訴系統(tǒng)控制部30該階段的數(shù)據(jù)傳送已結(jié)束。就這樣,1宏塊階段中的外部存儲器2和多個核心10之間的數(shù)據(jù)傳送結(jié)束了。
圖5是表示圖2中所示的存儲器存取部20的數(shù)據(jù)傳送時間表的時序圖。在圖5中,從視頻信號輸入到代碼信號輸出的一系列的圖像編碼處理中,例如,選出并示出了在宏塊(n-1)至(N+1)的處理中,代碼輸出部17從外部存儲器2中讀出數(shù)據(jù)的情形。值得一提的是,要把數(shù)據(jù)寫入外部存儲器2時,不僅要設(shè)定程序,也要設(shè)定寫入數(shù)據(jù)。
在各階段中,存取外部存儲器2所要的時間比多個核心分別進(jìn)行運(yùn)算所要的時間長得多。因此,各階段的周期數(shù)取決于數(shù)據(jù)傳送所必需的周期數(shù)。還有,在各階段的數(shù)據(jù)傳送中幾乎沒有時間損耗,而且,在某一階段的數(shù)據(jù)傳送完了后,立刻就開始下一階段的數(shù)據(jù)傳送。因此,如圖5所示,在本實(shí)施例中,各階段的周期數(shù)都不一樣。
下面,將MPEG2方式的編碼處理為例,具體地說明本實(shí)施例所涉及的圖像處理裝置的工作。在MPEG2中,將各幀分割成由(16×16)像素構(gòu)成的多個宏塊,而對各宏塊進(jìn)行壓縮編碼處理。例如,在NTSC圖像的情況下,1幀是由720像素×480行所構(gòu)成的,所以可分割成1350個(=橫45×縱30)宏塊。
圖6是表示一宏塊MB0的編碼處理的流程圖。在圖6中,橫軸表示階段,圖中的各箭頭表示地址設(shè)定和數(shù)據(jù)傳送的對應(yīng)關(guān)系、及核心的處理和數(shù)據(jù)傳送的對應(yīng)關(guān)系。又在圖6中,示出了隨著編碼處理的進(jìn)行,在各階段中進(jìn)行工作的核心、存取外部存儲器2的緩沖存儲器、及進(jìn)行地址設(shè)定的地址生成器。
下面,將圖6所示的各核心的處理內(nèi)容加以說明。
<ME1處理>
這是第1動態(tài)向量檢測部12所進(jìn)行的、1像素精度的動態(tài)向量檢測。從外部存儲器2將成為編碼對象的原圖像的宏塊數(shù)據(jù)讀出到緩沖存儲器SMBM中。又,從外部存儲器2將參考圖像幀的Y成分?jǐn)?shù)據(jù)讀出到緩沖存儲器MSBM中。第1動態(tài)向量檢測部12從存儲在緩沖存儲器SMBM、MSBM里的數(shù)據(jù)中檢測出1像素精度的動態(tài)向量。在向緩沖存儲器SMBM、MSBM傳送數(shù)據(jù)之前,系統(tǒng)控制部30設(shè)定成為編碼對象的宏塊的位置作一參數(shù)。
<ME2處理>
這是第2動態(tài)向量檢測部13所進(jìn)行的、半像素精度的動態(tài)向量檢測。在第1次ME2處理中,從外部存儲器2將在第1動態(tài)向量檢測部12所輸出的動態(tài)向量所指示的區(qū)域里的參考圖像的Y成分讀出到緩沖存儲器MYBM中。第2動態(tài)向量檢測部13使用緩沖存儲器SMBM的數(shù)據(jù)和讀出到緩沖存儲器MYBM中的數(shù)據(jù),來檢出半像素精度的動態(tài)向量。
在第2次ME2處理中,從外部存儲器2將參考圖像幀的C成分?jǐn)?shù)據(jù)讀出到緩沖存儲器MCBM中。第2動態(tài)向量檢測部13使用在第1次ME2處理中所求得的動態(tài)向量,從存儲在緩沖存儲器SMBM、MCBM中的數(shù)據(jù)中檢出半像素精度的動態(tài)向量。
<MSP處理>
這是有關(guān)是否以幀單位或者以場單位執(zhí)行DCT運(yùn)算等,編碼時所必需的處理的模式選擇,是由模式選擇運(yùn)算部14執(zhí)行的。通過<ME1處理>和<ME2處理>而求得的動態(tài)向量的值為0時,從外部存儲器2向緩沖存儲器ZMBM讀出和被編碼的宏塊同一個位置的參考圖像。
<DCT/Q處理>
在該處理中,將宏塊和通過<ME1處理>及<ME2處理>所求得的動態(tài)向量所示的位置的參考圖像的差分圖像,進(jìn)行DCT運(yùn)算→量化→逆量化→逆DCT運(yùn)算的各處理。這是由DCT及量化運(yùn)算部15按照<MSP處理>中所選擇的模式執(zhí)行的。經(jīng)過逆DCT運(yùn)算的圖像數(shù)據(jù),被存儲在緩沖存儲器ROBM中,而被傳送到外部存儲器2中。從而,被用作將其他幀進(jìn)行編碼時的參考圖像(再現(xiàn)(REC))。
<VLC處理>
這是將通過<DCT/Q處理>而被量化后的數(shù)據(jù)進(jìn)行可變長度編碼的處理,是由可變長度編碼運(yùn)算部16承擔(dān)的。被可變長度編碼的數(shù)據(jù),被存儲到緩沖存儲器VWBM中,為了緩沖一下,暫時被寫入外部存儲器2中。將可變長度編碼后的數(shù)據(jù)量從可變長度編碼運(yùn)算部16傳輸?shù)较到y(tǒng)控制部30中。系統(tǒng)控制部30根據(jù)可變長度編碼后的數(shù)據(jù)量,設(shè)定傳送字?jǐn)?shù)作從緩沖存儲器VWBM中傳送數(shù)據(jù)時的參數(shù)。
<代碼輸出處理>
代碼輸出部17按照連接到系統(tǒng)1外部的器件所做出的時刻要求,輸出經(jīng)可變長度編碼的數(shù)據(jù)。緩沖存儲器VRBM被用作向外部輸出時的緩沖器。系統(tǒng)控制部30按照從外部要求的傳送時刻設(shè)定傳送字?jǐn)?shù),作從緩沖存儲器VRBM中傳送數(shù)據(jù)時的參數(shù)。
圖7是表示執(zhí)行MPEG2編碼處理的整個流水線處理的流程圖。在MPEG2標(biāo)準(zhǔn)中,定義有I、P、B這三種圖像,圖7所示的是其中數(shù)據(jù)傳送最多的P圖像的處理情況。直到階段11為止,各階段中的處理種類逐漸增加在階段12以后,在各階段中反復(fù)地進(jìn)行基本上相同種類的處理。
在I圖像中,完全不參考其他幀而進(jìn)行編碼。因此,不進(jìn)行有關(guān)動態(tài)向量檢出的處理(即ME1處理及ME2處理),不向緩沖存儲器MSBM、MYBM、MCBM傳送數(shù)據(jù)。還有,由于其他幀用不著以B圖像作參考,因此,就不用再現(xiàn)(REC)處理,不從緩沖存儲器ROBM中傳送數(shù)據(jù)。再就是,由于其他理由,也不向緩沖存儲器ZMBM傳送數(shù)據(jù)。
就這樣,根據(jù)圖像種類的不同,所必需的數(shù)據(jù)傳送的種類也不同,因此,也要根據(jù)圖像種類而變更啟動寄存器等的設(shè)定內(nèi)容。
圖8表示圖7的各階段中的啟動寄存器、模式寄存器及參數(shù)寄存器的設(shè)定值的變化。圖8所示的模式寄存器的各設(shè)定值$1、$2、$3、$4、$6、$7、$8及$A分別對應(yīng)于地址生成器AG1~AG8。如圖8所示,因在階段11以后,啟動寄存器的各比特值都成為“1”,故所有的地址生成器AG1~AG8進(jìn)行地址設(shè)定。
圖9表示在B圖像方式的編碼處理中各寄存器的設(shè)定值的變化,圖10表示在I圖像方式的編碼處理中各寄存器的設(shè)定值的變化。由和圖8的比較可知,在階段11以后,啟動寄存器中的有些比特值為“0”。
系統(tǒng)控制部30根據(jù)各種應(yīng)用而存儲有圖像種類的連續(xù)模式(例如,“IPPBPPBPPBPPBPP”),按照此一連續(xù)模式,來設(shè)定各寄存器的值(如圖8~圖10所示)。
在圖8~圖10中,模式寄存器的設(shè)定值總是固定的。換句話說,根據(jù)數(shù)據(jù)傳送最多的P圖像而設(shè)定模式寄存器的值,只通過啟動寄存器的設(shè)定來控制是否進(jìn)行數(shù)據(jù)傳送。當(dāng)然,也可通過改變模式寄存器的設(shè)定值,來控制是否進(jìn)行數(shù)據(jù)傳送。
再就是,通過模式寄存器的設(shè)定來對各階段中的數(shù)據(jù)傳送的順序進(jìn)行控制,也是可以的。在一般的應(yīng)用中,各數(shù)據(jù)傳送只要在其階段中完成即可,不一定要嚴(yán)格地控制其順序。然而,看應(yīng)用的不同,有時也會存在如“必須在向ZMBM傳送數(shù)據(jù)之前,向MCBM傳送完數(shù)據(jù)”之類的條件。在這種情況下,若把向MCBM的數(shù)據(jù)傳送設(shè)定在模式0中,向ZMBM的數(shù)據(jù)傳送設(shè)定在模式1中,就可滿足此一條件。
參數(shù)寄存器的值是按以下的方法來設(shè)定的。在模式$1、$2、$6及$7的數(shù)據(jù)傳送中,設(shè)定了表示宏塊的位置的數(shù)據(jù)(參數(shù)0、1、4、5)。在模式$3、$4的數(shù)據(jù)傳送中,根據(jù)<ME1處理>中所求得的動態(tài)向量來設(shè)定傳送源的坐標(biāo)值*1、*2(參數(shù)2、3)。在模式$8、$A的數(shù)據(jù)傳送中,設(shè)定傳送字?jǐn)?shù)*3、*4(參數(shù)6、7)。
如上所述,按照本實(shí)施例所涉及的圖像處理裝置,能分階段地將數(shù)據(jù)傳送的種類及順序設(shè)定在存取程序存儲部22中,而且,能在實(shí)際地進(jìn)行數(shù)據(jù)傳送的階段之前的階段中進(jìn)行此一設(shè)定。并且,在由忙碌信號BS2確認(rèn)了某一地址生成器的執(zhí)行結(jié)束時,立即可啟動下一地址生成器。因此,能在各階段中,在基本上不產(chǎn)生時間損耗的情況下,只連續(xù)地進(jìn)行所必需的數(shù)據(jù)傳送。
于是,在各階段中,到該各階段的前一階段為止,由系統(tǒng)控制部30已決定好與外部存儲器2之間的數(shù)據(jù)傳送的程序。因此,存儲器存取部20不用進(jìn)行各核心11~17間的判優(yōu)而能依序執(zhí)行多個數(shù)據(jù)傳送。還有,在數(shù)據(jù)傳送量少的情況下,則不產(chǎn)生無用的等候時間,能早點(diǎn)完成數(shù)據(jù)傳送。這樣一來,不設(shè)為省去數(shù)據(jù)傳送本身的緩沖存儲器,也可正常且確切地進(jìn)行MPEG2視頻編碼處理。
另外,在本實(shí)施例中,地址生成器和緩沖存儲器是一對一地對應(yīng)著。但是,例如,某一地址生成器對應(yīng)于多個緩沖存儲器,也是完全可以的。再就是,某一地址生成器對應(yīng)于多個傳送模式,也是可以的。此外,地址生成器的數(shù)量并不受限于8個。
還有,本實(shí)施例中所采用的啟動寄存器的比特寬度、模式寄存器及參數(shù)寄存器的個數(shù)只不過是一個例子,并不用受限于那些值。
并且,在本實(shí)施例中,在各階段的前一個階段中設(shè)定了該各階段的數(shù)據(jù)傳送的種類及順序,但并不一定要在前一個階段中,在前面的任一階段中也可設(shè)定。舉例來說,要在前一個階段中進(jìn)行NOP處理時,也可在那階段之前的階段中進(jìn)行設(shè)定。還有,若由3個存儲體構(gòu)成存取程序存儲部22,就能在各階段之前的第二個階段中設(shè)定該各階段的數(shù)據(jù)傳送的種類及順序。
在此,將在本說明書的課題部分中所描述的現(xiàn)有例的問題和本發(fā)明的關(guān)系,進(jìn)行補(bǔ)充說明。
圖11表示在進(jìn)行B圖的圖像編碼(使用位于時間軸的前與后的參考圖像的編碼)時,在各核心和外部存儲器之間的數(shù)據(jù)傳送所必需的周期數(shù)。圖11中所示的數(shù)據(jù)是本案發(fā)明人按照MPEG 2標(biāo)準(zhǔn)而推算出來的。根據(jù)MPEG 2視頻編碼,在各宏塊中,各核心和外部存儲器之間的數(shù)據(jù)傳送量不是固定的,每一宏塊的數(shù)據(jù)傳送量因圖像的復(fù)雜度等而異。圖11表示1場(其對應(yīng)于NTSC圖像中的1/60秒鐘的圖像)中的各宏塊的數(shù)據(jù)傳送所必需的周期數(shù)的分布,其最大值為2222,最小值為1649。
在此,假設(shè)有效像素期間和垂直消隱期間相加的時間全部都可被用在1場的圖像編碼中,可被分配到每一宏塊編碼的周期數(shù)的上限值為1997(這是基于現(xiàn)有例的工作參數(shù),將工作頻率定為81MHz而推算出來的)。
就是說,由圖11可知,每一個宏塊的周期數(shù)的最大值超過了其上限值。該事實(shí)暗示若不采取什么措施,則不能正常地執(zhí)行MPEG2視頻編碼。在現(xiàn)有例中,通過設(shè)置動態(tài)向量檢測用的高速緩沖存儲器,來省去在第2次檢索時從外部存儲器的數(shù)據(jù)傳送,就這樣,將每一宏塊的周期數(shù)的最大值降低到小于上限值的1551周期。
本案發(fā)明人,從圖11所示的推算結(jié)果得知1場即675個宏塊的平均周期數(shù)就小于其上限值。從而,通過將各宏塊的數(shù)據(jù)傳送所必需的周期數(shù)平均化,使得在不設(shè)高速緩沖存儲器的情況下也可確實(shí)地執(zhí)行圖像編碼。這就是本發(fā)明所涉及的本實(shí)施例。
此外,在和現(xiàn)有例同樣地設(shè)置高速緩沖存儲器的情況下,通過應(yīng)用本發(fā)明,例如,也可降低時鐘頻率。這樣一來,也可降低功耗。
另外,也可在MPEG 2視頻編碼以外的圖像編碼,或者圖像解碼之類的其他圖像處理中,容易地應(yīng)用本發(fā)明。還有,即使是圖像處理以外的信號處理,若從多個存取主體進(jìn)行存儲器存取時,也可容易地應(yīng)用本發(fā)明。
綜上所述,按照本發(fā)明,在多個核心和外部存儲器之間進(jìn)行數(shù)據(jù)傳送時,通過在實(shí)際進(jìn)行數(shù)據(jù)傳送的某一階段之前的階段中進(jìn)行程序設(shè)定,依次往下進(jìn)行,就這樣能在各階段中,存儲器存取部不用進(jìn)行判優(yōu)而只要順序進(jìn)行所必需的種類的數(shù)據(jù)傳送。結(jié)果,可實(shí)現(xiàn)高效率的存儲器存取。
權(quán)利要求
1.一種使用外部存儲器通過流水線處理執(zhí)行圖像信號處理的圖像處理裝置,其中包括多個核心,可分別進(jìn)行處理圖像時所需要的運(yùn)算;和存儲器存取部,可在上述多個核心和上述外部存儲器之間傳送數(shù)據(jù),上述存儲器存取部包括存取程序存儲部,其可分階段,即對每一流水線處理的單位存儲數(shù)據(jù)傳送的種類;按照該存取程序存儲部的存儲內(nèi)容,在上述多個核心和上述外部存儲器之間傳送數(shù)據(jù),所構(gòu)成的上述存取程序存儲部,在各階段之前的階段,其內(nèi)可被設(shè)定好在該各階段中所必需的數(shù)據(jù)傳送的種類。
2.根據(jù)權(quán)利要求1所述的圖像處理裝置,其中還包括可對上述多個核心及存儲器存取部進(jìn)行控制的系統(tǒng)控制部,上述系統(tǒng)控制部,可在各階段中,使上述存儲器存取部進(jìn)行數(shù)據(jù)傳送,同時可將在該階段之后的階段中所必需的數(shù)據(jù)傳送的種類,設(shè)定在上述存取程序存儲部中。
3.根據(jù)權(quán)利要求2所述的圖像處理裝置,其中上述存儲器存取部輸出階段傳送狀態(tài)信號,該信號表示是否在各階段中已結(jié)束數(shù)據(jù)傳送,上述系統(tǒng)控制部,在上述階段傳送狀態(tài)信號表示數(shù)據(jù)傳送已結(jié)束時,可令上述存儲器存取部進(jìn)行后一階段的數(shù)據(jù)傳送。
4.根據(jù)權(quán)利要求1所述的圖像處理裝置,其中上述存儲器存取部包括接口部,可進(jìn)行所指定的種類的數(shù)據(jù)傳送,同時,可輸出表示是否該數(shù)據(jù)傳送已結(jié)束的局部傳送狀態(tài)信號;和存取控制部,可指定數(shù)據(jù)傳送的種類而啟動上述接口部,同時,在上述局部傳送狀態(tài)信號表示數(shù)據(jù)傳送已結(jié)束時,重新指定數(shù)據(jù)傳送的種類而啟動上述接口部。
5.根據(jù)權(quán)利要求1所述的圖像處理裝置,其中對圖像信號進(jìn)行編碼處理。
全文摘要
一種執(zhí)行流水線處理的圖像處理裝置,其中,由存儲器存取部20進(jìn)行由多個核心構(gòu)成的運(yùn)算部10和外部存儲器2之間的數(shù)據(jù)傳送。各核心可分別進(jìn)行處理圖像時所需要的運(yùn)算。存儲器存取部20包括存取程序存儲部22,其可對各階段存儲數(shù)據(jù)傳送的種類,按照該存取程序存儲部22的存儲內(nèi)容,在運(yùn)算部10和外部存儲器2之間進(jìn)行數(shù)據(jù)傳送。在各階段之前的階段中,系統(tǒng)控制部30將該各階段所必需的數(shù)據(jù)傳送的種類,設(shè)定于存取程序存儲部22。這樣一來,能夠在各階段中靈活地改變數(shù)據(jù)傳送的種類,因此,在各階段中,存儲器存取部20不用執(zhí)行判優(yōu)而只能執(zhí)行所必需的數(shù)據(jù)傳送。
文檔編號H04N7/50GK1272931SQ99800945
公開日2000年11月8日 申請日期1999年6月25日 優(yōu)先權(quán)日1998年6月25日
發(fā)明者森重孝行 申請人:松下電器產(chǎn)業(yè)株式會社