專利名稱:使用多個處理器的動圖像編碼裝置及其方法
技術領域:
本發(fā)明涉及一種動圖像的編碼裝置及編碼方法,具體而言是涉及一種使用多個處理器來并行執(zhí)行編碼處理的動圖像編碼裝置和動圖像編碼方法。
背景技術:
以前,已知使用多個處理器來并行執(zhí)行依據MPEG(Moving Picture ExpertsGroup)等的動圖像編碼處理,縮短處理時間的方法。圖34和圖35分別是表示日本特開2000-30047號公報中記載的動圖像編碼裝置中的母處理器和子處理器處理的流程圖。在該編碼裝置中,裝置中包含的多個處理器中,選擇一臺處理器作為母處理器來動作,其它處理器作為子處理器動作。各子處理器并行執(zhí)行MPEG編碼處理中可并行執(zhí)行的處理。例如在圖35所示實例中,各子處理器編碼宏程序塊,并行執(zhí)行可變長度編碼、局部解碼的處理(步驟S32、S34和S35)。母處理器控制標題的生成(步驟S11-S14)和子處理器的啟動(步驟S15)等,主要是編碼處理的執(zhí)行。此時,母處理器本身也可執(zhí)行與子處理器一樣的編碼處理。從而,通過母處理器的執(zhí)行控制,使多個子處理器并行動作,可縮短處理時間。
但是,在上述編碼裝置中,在編碼處理的執(zhí)行控制、編碼處理的內容切換、錯誤處理和存儲裝置的結構等方面存在如下問題。首先,就編碼處理的執(zhí)行控制而言,第一,因為由母處理器來進行編碼處理的執(zhí)行控制,所以存在所謂母處理器的依次處理阻礙子處理器的并行處理的問題。第二,因為未設置在編碼處理中動態(tài)追加和刪除處理器的單元,所以存在所謂即使僅一臺處理器故障,裝置整體的動作停止的問題。第三,因為通過在母處理器與子處理器之間取得同步來進行編碼處理的執(zhí)行控制,所以在編碼處理中追加或刪除處理器時,必需在追加/刪除對象的子處理器和母處理器之間進行通信或在追加/刪除對象的子處理器中暫時進行編碼處理的執(zhí)行控制,隨之而來地存在所謂處理性能暫時降低的問題。第四,因為母處理器與子處理器中處理內容不同,所以還存在所謂編碼處理的執(zhí)行控制變復雜的問題。
下面,就編碼處理的內容切換而言,通常在動圖像編碼裝置中,期望對應于作為編碼對象的動圖像數據的特性等來切換編碼處理的內容。例如,若分別在動作劇烈的動圖像數據中適用精度高的動作矢量搜索、在動作慢的動圖像數據中適用簡易的動作矢量搜索,則對前者可使再現圖像高畫質化,對后者可縮短處理時間。
但是,在上述編碼裝置中,因為各處理器中執(zhí)行的處理固定,所以為了對應于動圖像數據的特性來切換編碼處理的內容,則必需通過在子處理器上搭載具有切換可能性的所有處理后,母處理器動態(tài)切換子處理器中的處理內容。但是,該方法中,因為搭載于子處理器中的大部分功能無用,母處理器與子處理器之間的同步控制變復雜,所以不現實。另外,在邊變更編碼處理內容,邊追加新的功能時,必需中斷作為裝置本來目的的編碼處理,并全部更新各處理器的程序。
接著,就錯誤處理而言,在上述編碼裝置中,因為母處理器與多個子處理器分別對不同的宏程序塊進行編碼處理,所以在作為編碼結果生成的位流中混合出現各處理器求出的結果。例如,在母處理器進行切片層以上的標題生成處理和宏程序塊編碼處理、「子1」、「子2」兩臺子處理器進行宏程序塊編碼處理的情況下,如圖36所示,生成三臺處理器求出的結果混合在一起的位流。
在上述編碼裝置中,因為各處理器求出的結果未被檢查就被連結而變?yōu)橐粭l位流,所以一旦任一處理器中發(fā)生異常,則產生所謂生成的位流全部不能使用的問題。例如,在上述實例中,一旦子2的處理器中發(fā)生異常,則在圖36中加斜線的部分中產生錯誤。因此,因為各處理器編碼任意選擇的宏程序塊,并且各處理器的處理時間也不一定,所以不能容易地求出生成的位流中有無錯誤或錯誤的位置等。因此,一旦處理器中發(fā)生異常,則不能使用生成的位流,為了得到正確的位流,必需在去除處理器中產生的異常原因后再進行編碼處理。
另外,在上述編碼裝置中,因為不能根據生成的位流來容易判斷哪個處理器中產生異常,所以為了檢測異常處理器,必需通過暫時中斷編碼處理后,對每個處理器進行異常檢測處理。因此,在裝置的維護上,必需與處理器的個數成正比的時間。另外,在追加子處理器來實現編碼處理高速化的情況下,因為隨著處理器的追加,裝置整體的故障率上升,所以若不使用可靠性高的高價處理器,則包含異常發(fā)生時的再編碼處理的實際處理時間變長。并且,一旦母處理器中發(fā)生異常,則還存在所謂編碼處理整體停止,在準備代替的母處理器之前,不能重新開始編碼處理的問題。
下面,就存儲裝置的結構而言,上述編碼裝置對從各處理器訪問的存儲裝置不構成特別的設計。所以,一旦多個處理器并行對存儲裝置進行訪問,則數據訪問變?yōu)槠款i,存在所謂動圖像編碼處理的速度低下的問題。
發(fā)明概述故,本發(fā)明的第一目的在于提供一種不具備進行編碼處理執(zhí)行控制的處理器,即使在編碼處理執(zhí)行中也可追加和刪除處理器的動圖像編碼裝置和方法。本發(fā)明的第二目的在于提供一種不對執(zhí)行中的編碼處理產生影響,在編碼處理中可切換、追加和變更編碼處理內容的動圖像編碼裝置和方法。本發(fā)明的第三目的在于提供一種通過在編碼處理中檢測異常處理器,容易修理或交換處理器,若至少一個處理器正常動作,則可繼續(xù)編碼處理的動圖像編碼裝置和方法。本發(fā)明的第四目的在于提供一種具備可從多個處理器并行高速訪問的存儲裝置,高速進行編碼處理的動圖像編碼裝置和方法。
為了達到上述目的,本發(fā)明具有以下特征。
第1發(fā)明是一種動圖像編碼裝置,具備并行動作的多個處理部、和從處理部共同訪問的共有存儲部,其中,共有存儲部存儲為了獨立適用處理而分割成規(guī)定單位的動圖像數據;和對于分割后的動圖像數據的各單位,編碼處理必需的數據和編碼處理的進行狀態(tài),各處理部包括次處理選擇部,根據共有存儲部中存儲的編碼處理的進行狀態(tài),選擇分割的一單位的動圖像數據和對于該一單位的動圖像數據接著應執(zhí)行的處理;處理執(zhí)行部,對于次處理選擇部選擇的一單位的動圖像數據,執(zhí)行次處理選擇部選擇的處理。
根據該第1發(fā)明,各處理部根據共有存儲部中存儲的編碼處理的進行狀態(tài),選擇執(zhí)行以下處理。各處理部中的處理的選擇與執(zhí)行與其它處理部的動作獨立,在任意定時進行。因此,因為由多個處理部分散進行編碼處理的執(zhí)行控制,所以不必具備進行編碼處理執(zhí)行控制的處理部,也不必在多個處理部中取得同步。因此,通過依次進行的編碼處理的執(zhí)行控制,不損害并行處理的高速化效果,可提高裝置的性能。另外,因為各處理部可以都具有相同結構,則可簡化編碼處理的執(zhí)行控制。
第2發(fā)明的特征在于,在第1發(fā)明中,次處理選擇部從動圖像編碼處理中包含的多個處理中選擇一個處理,作為接著應執(zhí)行的處理。
根據該第2發(fā)明,各處理部每執(zhí)行部分動圖像編碼處理,則選擇接著應執(zhí)行的處理。因此,通過將動圖像編碼處理分割成多個處理,各處理部分別執(zhí)行分割后的處理,均勻各處理部的負荷,與各處理部執(zhí)行動圖像編碼處理整體的情況相比,可提高裝置性能。
第3發(fā)明的特征在于,在第1發(fā)明中,各處理部還具備個別存儲部,存儲各處理部的處理必需的數據,處理執(zhí)行部在執(zhí)行由次處理選擇部選擇的處理之前,從共有存儲部中讀出該處理所必需的數據后存儲在個別存儲部中,對個別存儲部中存儲的數據執(zhí)行該處理,從個別存儲部中讀出該處理中得到的數據后,存儲在共有存儲部中。
根據該第3發(fā)明,各處理部將處理必需的數據從共有存儲部復制到個別存儲部中,對復制到個別存儲部中的數據執(zhí)行選擇的處理。從而,因為減少從處理部對共有存儲部的訪問,各處理部中數據等待時間縮短,所以可提高裝置的性能。
第4發(fā)明的特征在于,在第3發(fā)明中,處理執(zhí)行部在執(zhí)行次處理選擇部選擇的處理之前,在個別存儲部中未存儲該處理所需的數據的情況下,從共有存儲部中讀出該處理所需數據后存儲在個別存儲部中。
根據該第4發(fā)明,各處理部在個別存儲部中存儲必要數據的情況下,因為取得數據而不訪問共有存儲部。從而,因為可進一步減少從處理部對共有存儲部的訪問,所以可進一步提高裝置的性能。
第5發(fā)明的特征在于,在第1發(fā)明中,共有存儲部還存儲管理處理部的識別信息用的識別管理信息,各處理部還包含根據識別管理信息來取得未使用的識別信息的處理部追加部、和釋放處理部追加部取得的識別信息的處理部刪除部,次處理選擇部和處理執(zhí)行部在釋放取得的識別信息前的期間動作。
根據該第5發(fā)明,各處理部根據共有存儲部中存儲的識別管理信息來取得和釋放識別信息,僅在具有識別信息期間動作。處理部的識別信息的取得和釋放與其它處理部的動作獨立,在任意定時進行。因此,即使其它處理部在執(zhí)行編碼處理中,也不會影響其它處理部,可在任意定時向裝置追加和刪除處理部。因此,在處理部中發(fā)生故障等情況下,可不中斷裝置整體的編碼處理來維護處理部。
第6發(fā)明的特征在于,在第5發(fā)明中,處理部刪除部在根據識別管理信息,判斷處理部追加部取得的識別信息失效時,釋放該識別信息。
根據該第6發(fā)明,各處理部根據共有存儲部中存儲的識別管理信息,必要時釋放識別信息,停止處理的執(zhí)行。處理部是否應釋放識別信息的判斷與其它處理部的動作獨立,在任意定時進行。因此,即使各處理部在執(zhí)行編碼處理中,也可不影響其它處理部,根據各處理部的判斷來從裝置中刪除處理部。因此,在處理部中發(fā)生故障等情況下,可不中斷裝置整體的編碼處理,從裝置中刪除發(fā)生故障的處理部。
第7發(fā)明是一種動圖像編碼裝置,具備并行動作的多個處理部、和從處理部共同訪問的共有存儲部,共有存儲部存儲編碼對象的動圖像數據;動圖像數據編碼處理必需的數據;和管理處理部的識別信息用的識別管理信息,各處理部包括處理部追加部,根據識別管理信息來取得未使用的識別信息;處理部刪除部,釋放處理部追加部取得的識別信息;和編碼執(zhí)行部,在釋放取得的識別信息前的期間,對共有存儲部中存儲的動圖像數據執(zhí)行編碼處理。
根據該第7發(fā)明,各處理部根據共有存儲部中存儲的識別管理信息取得和釋放識別信息,僅在具有識別信息的期間進行動作。各處理部的識別信息的取得和釋放與其它處理部的動作獨立,在任意定時進行。因此,即使其它處理部是在執(zhí)行編碼處理中,也不會影響其它處理部,可在任意定時向裝置追加和刪除處理部。因此,在處理部中發(fā)生故障等情況下,可不中斷裝置整體的編碼處理,維護處理部。
第8發(fā)明的特征在于,在第7發(fā)明中,處理部刪除部根據識別管理信息來判斷處理部追加部取得的識別信息失效時,釋放該識別信息。
根據該第8發(fā)明,各處理部根據共有存儲部中存儲的識別管理信息,必要時釋放識別信息,停止執(zhí)行處理。處理部是否應釋放識別信息的判斷與其它處理部的動作獨立,在任意定時進行。因此,即使各處理部在執(zhí)行編碼處理中,也可不影響其它處理部,根據各處理部的判斷來從裝置中刪除處理部。因此,在處理部中發(fā)生故障等情況下,可不中斷裝置整體的編碼處理,從裝置中刪除發(fā)生故障的處理部。
第9發(fā)明是一種動圖像編碼裝置,具備并行動作的多個處理部、和從處理部共同訪問的共有存儲部,其中,共有存儲部存儲傳送到處理部后由處理部執(zhí)行的多個程序;和表示多個程序功能的功能信息,各處理部包括次處理選擇部,從動圖像編碼處理中包含的多個處理中選擇一處理,作為接著應執(zhí)行的處理;程序更新部,根據共有存儲部中存儲的功能信息,從共有存儲部中存儲的多個程序中選擇用于執(zhí)行由次處理選擇部選擇的處理的程序,并從共有存儲部傳送選擇的程序;個別存儲部,存儲從共有存儲部傳送的程序;和處理執(zhí)行部,使用個別存儲部中存儲的程序,執(zhí)行由次處理選擇部選擇的處理。
根據該第9發(fā)明,各處理部根據共有存儲部中存儲的功能信息,選擇下一處理必需的程序,并傳送執(zhí)行選擇的程序。各處理部中的程序選擇、傳送和執(zhí)行與其它處理部的動作獨立,在任意定時進行。因此,各處理部可不影響其它處理部的動作來選擇、執(zhí)行下一處理必需的程序。從而,可不影響執(zhí)行中的編碼處理,在編碼處理中切換、追加和變更編碼處理的內容。
第10發(fā)明的特征在于,在第9發(fā)明中,共有存儲部還存儲為了獨立適用處理而分割成規(guī)定單位的動圖像數據;和對分割后的動圖像數據的各單位,編碼處理必需的數據和編碼處理的進行狀態(tài),次處理選擇部根據共有存儲部中存儲的編碼處理的進行狀態(tài),選擇分割后的一單位的動圖像數據和接著應對該一單位的動圖像數據執(zhí)行的處理,處理執(zhí)行部對次處理選擇部選擇的一單位動圖像數據執(zhí)行次處理選擇部選擇的處理。
根據該第10發(fā)明,各處理部根據共有存儲部中存儲的編碼處理的進行狀態(tài),選擇執(zhí)行以下處理。各處理部中的處理的選擇與執(zhí)行與其它處理部的動作獨立,在任意定時進行。因此,因為由多個處理部分散進行編碼處理的執(zhí)行控制,所以不必具備進行編碼處理執(zhí)行控制的處理部,就可進行動圖像編碼處理。
第11發(fā)明的特征在于,在第9發(fā)明中,程序更新部比較共有存儲部中存儲的功能信息和次處理選擇部選擇的處理功能,選擇執(zhí)行該處理用的程序。
根據該第11發(fā)明,各處理部比較共有存儲部中存儲的功能信息和次處理必需的功能,選擇應傳送的程序。因此,在程序選擇時,僅使用共有存儲部中存儲數據中的功能信息,其它處理部可自由訪問功能信息以外的數據。從而,可不影響執(zhí)行中的編碼處理來選擇下一處理必需的程序。
第12發(fā)明的特征在于,在第9發(fā)明中,程序更新部比較個別存儲部中存儲的程序功能與次處理選擇部選擇的處理功能,切換是否從共有存儲部傳送選擇的程序。
根據該第12發(fā)明,處理部在可使用以前取得的程序來執(zhí)行以下處理的情況下,不從共有存儲部向個別存儲部傳送程序。由此,因為可減少從處理部向共有存儲部的訪問,縮短各處理部的程序傳送等待時間,所以可提高裝置性能。
第13發(fā)明是一種動圖像編碼裝置,具備并行動作的多個處理部、和從處理部共同訪問的共有存儲部,其中,共有存儲部存儲為了獨立適用處理而分割成規(guī)定單位的動圖像數據;對于分割后的動圖像數據的各單位,編碼處理必需的數據和編碼處理的進行狀態(tài),各處理部包括次處理選擇部,根據共有存儲部中存儲的編碼處理的進行狀態(tài),選擇分割的一單位的動圖像數據和對于該一單位的動圖像數據接著應執(zhí)行的處理;處理執(zhí)行部,對于次處理選擇部選擇的一單位的動圖像數據,執(zhí)行次處理選擇部選擇的處理;異常檢測部,檢測處理執(zhí)行部的處理中產生的異常;和處理停止部,在異常檢測部檢測到異常時,停止次處理選擇部和處理執(zhí)行部的編碼處理。
根據該第13發(fā)明,各處理部根據共有存儲部中存儲的編碼處理的進行狀態(tài),在選擇執(zhí)行以下處理的同時,在執(zhí)行選擇的處理時產生異常時本身停止。各處理部中的處理的選擇、執(zhí)行、異常檢測和停止與其它處理部獨立,在任意定時進行。因此,不必具備進行編碼處理執(zhí)行控制的處理部,就可在編碼處理中檢測產生異常的處理部。從而,即使是在編碼處理中,也可容易進行處理部的修理和交換,若至少一個處理部正常動作,則可繼續(xù)編碼處理。
第14發(fā)明的特征在于,在第13發(fā)明中,異常檢測部根據處理執(zhí)行部求得的動圖像數據的編碼結果,檢測處理執(zhí)行部的處理中產生的異常。
根據該第14發(fā)明,根據動圖像編碼處理中生成的位流,檢測產生異常的處理部。通常在動圖像編碼處理中產生異常時,因為位流中產生異常,所以可在編碼處理中容易檢測產生異常的處理部。
第15發(fā)明的特征在于,在第14發(fā)明中,異常檢測部根據處理執(zhí)行部求得的動圖像數據編碼結果的大小,檢測處理執(zhí)行部的處理中產生的異常。
根據該第15發(fā)明,根據動圖像編碼處理中生成的位流大小,檢測產生異常的處理部。在動圖像編碼處理中產生異常時,因為有時位流的大小中產生異常,所以可容易檢測產生異常的處理部。
第16發(fā)明的特征在于,在第14發(fā)明中,異常檢測部通過檢查處理執(zhí)行部求得的動圖像數據編碼結果的語法,檢測處理執(zhí)行部的處理中產生的異常。
根據該第16發(fā)明,通過檢查動圖像編碼處理中生成的位流語法,檢測產生異常的處理部。在動圖像編碼處理中產生異常時,因為有時位流的語法中產生異常,所以可容易檢測產生異常的處理部。
第17發(fā)明的特征在于,在第13發(fā)明中,異常檢測部根據處理執(zhí)行部的處理時間,檢測處理執(zhí)行部的處理中產生的異常。
根據該第17發(fā)明,根據各處理所需時間,來檢測產生異常的處理部。因為在動圖像編碼處理中包含的處理中多包含定型處理或可預測所需時間的處理,所以可由此來容易檢測產生異常的處理部。
第18發(fā)明的特征在于,在第17發(fā)明中,共有存儲部還對分割的動圖像數據的各單位存儲異常檢測用計數值,各處理部還具備更新計數值的計數值更新部,處理執(zhí)行部在對次處理選擇部選擇的一單位的動圖像數據執(zhí)行次處理選擇部選擇的處理之前,初始化對該一單位動圖像數據的計數值,異常檢測部在處理執(zhí)行部的處理完成時,在處理執(zhí)行部初始化的計數值大于規(guī)定值時,判斷處理執(zhí)行部的處理中產生異常。
根據該第18發(fā)明,由各處理部來更新共有存儲部中存儲的計數值,用計數值來檢測產生異常的處理部。因此,各處理部可不啟動計時器來計算處理所需時間的估算值,可檢測產生異常的處理部。
第19發(fā)明的特征在于,在第13發(fā)明中,異常檢測部在判斷處理執(zhí)行部的處理中產生異常時,將產生異常的意思記錄在共有存儲部中存儲的編碼處理的進行狀態(tài)中,次處理選擇部根據共有存儲部中存儲的編碼處理的進行狀態(tài),在選擇分割的一單位的動圖像數據和應接著對該一單位動圖像數據執(zhí)行的處理時,優(yōu)先選擇記錄產生異常意思的處理。
根據該第19發(fā)明,在共有存儲部中存儲處理部產生異常的意思,各處理部優(yōu)先執(zhí)行產生異常的處理。由此,通過其它處理部早期執(zhí)行產生異常的處理,可安全且確實地執(zhí)行動圖像編碼處理。
第20發(fā)明是一種動圖像編碼裝置,具備并行動作的多個處理部、和從處理部共同訪問的共有存儲部,其中,共有存儲部包含多個圖像存儲部,分散存儲為了獨立適用處理而分割成規(guī)定單位的動圖像數據;和參數存儲部,構成為可與各圖像存儲部獨立訪問,對于分割后的動圖像數據的各單位,存儲編碼處理必需的數據和處理的進行狀態(tài),各處理部包括次處理選擇部,根據參數存儲部中存儲的編碼處理的進行狀態(tài),選擇分割的一單位的動圖像數據和對于該一單位的動圖像數據接著應執(zhí)行的處理;和處理執(zhí)行部,對于次處理選擇部選擇的一單位的動圖像數據,執(zhí)行次處理選擇部選擇的處理。
根據該第20發(fā)明,動圖像數據被分散存儲在多個圖像存儲部中,各處理部訪問分散存儲的動圖像數據。因此,通過分散存儲動圖像數據以使來自處理部的訪問不沖突,可防止來自處理部的訪問變?yōu)榫幋a處理的瓶頸。從而可高速進行動圖像編碼處理。
第21發(fā)明的特征在于,在第20發(fā)明中,還具備輸入編碼對象的動圖像數據的圖像輸入部,次處理選擇部至少在編碼處理的過程中將處理的選擇方法切換為兩個階段,在第一階段中,選擇包含動作矢量搜索的處理,作為接著應執(zhí)行的處理,在第一階段后的第二階段中,作為利用第一階段求出的動作矢量搜索結果,選擇未包含已知動作矢量搜索的處理來作為接著應執(zhí)行的處理,處理執(zhí)行部在次處理選擇部位于第一階段時,從圖像輸入部讀出次處理選擇部選擇的一單位的動圖像數據,在執(zhí)行次處理選擇部選擇的處理的同時,將讀出的動圖像數據寫入多個圖像存儲部中的一圖像存儲部中,當次處理選擇部位于第二階段時,從圖像存儲部中讀出次處理選擇部選擇的一單位的動圖像數據,執(zhí)行次處理選擇部選擇的處理。
根據該第21發(fā)明,從圖像輸入部輸入的動圖像數據在動作矢量搜索執(zhí)行中被分散存儲在多個圖像存儲部中。之后,處理部對分散存儲的動圖像數據執(zhí)行編碼處理。在動作矢量搜索中,計算變?yōu)樘幚淼钠款i,相反,在動作矢量搜索后的處理中,輸入輸出變?yōu)樘幚淼钠款i。因此,在輸入輸出中存在過剩的動作矢量搜索執(zhí)行中,通過將動圖像數據分散存儲在多個圖像存儲部中,為高速進行輸入輸出中沒有過剩的動作矢量招待后的處理作準備。從而,可防止在動作矢量搜索后的處理中,輸入輸出變?yōu)樘幚淼钠款i。由此可高速進行動圖像編碼處理。
第22發(fā)明的特征在于,在第21發(fā)明中,次處理選擇部在對從圖像輸入部輸入的所有動圖像數據選擇第一階段處理后,將處理選擇方法從第一階段切換為第二階段。
根據該第22發(fā)明,在對所有動圖像數據執(zhí)行動作矢量搜索后,可開始動作矢量搜索后的處理。
第23發(fā)明的特征在于,在第20發(fā)明中,共有存儲部還包含編碼結果存儲部,構成為可與各圖像存儲部和參數存儲部獨立訪問,存儲動圖像數據的編碼結果,處理執(zhí)行部在新求出動圖像數據的編碼結果時,在將求出以前部分的編碼結果全部存儲在編碼結果存儲部中的情況下,將新求出的編碼結果存儲于編碼結果存儲部中的編碼結果,連接在此外的情況下,不將新求出的編碼結果與存儲的編碼結果相連接,而寫入編碼結果存儲部中。
根據該第23發(fā)明,處理部判斷新求出的編碼結果是否可與編碼結果存儲部中存儲的編碼結果相連接,在可連接的情況下,進行連接,在不可連接的情況下,將新求出的編碼結果寫入編碼結果存儲部,作為此后應連接的編碼結果。由其它處理部來執(zhí)行作為此后應連接的編碼結果的連接處理??傊词乖诰幋a結果的連接順序與生成順序不同的情況下,處理部也可不等待其它處理部生成編碼結果就開始其它可執(zhí)行的處理。從而可高速進行動圖像編碼處理。
第24發(fā)明是一種動圖像編碼方法,使用并行動作的多個處理部、和從處理部共同訪問的共有存儲部,其中,共有存儲部進行數據存儲步驟,存儲為了獨立適用處理而分割成規(guī)定單位的動圖像數據;和對于分割后的動圖像數據的各單位,編碼處理必需的數據和編碼處理的進行狀態(tài),各處理部進行次處理選擇步驟,根據共有存儲部中存儲的編碼處理的進行狀態(tài),選擇分割的一單位的動圖像數據和對于該一單位的動圖像數據接著應執(zhí)行的處理;和處理執(zhí)行步驟,對于次處理選擇步驟選擇的一單位的動圖像數據,執(zhí)行次處理選擇步驟選擇的處理。
根據該第24發(fā)明,各處理部根據共有存儲部中存儲的編碼處理的進行狀態(tài),選擇執(zhí)行以下處理。各處理部中的處理的選擇與執(zhí)行與其它處理部的動作獨立,在任意定時進行。因此,因為由多個處理部分散進行編碼處理的執(zhí)行控制,所以不必具備進行編碼處理執(zhí)行控制的處理部,也不必在多個處理部中取得同步。因此,通過依次進行的編碼處理的執(zhí)行控制,不損害并行處理的高速化效果,可提高裝置的性能。另外,因為各處理部可以都具有相同結構,則可簡化編碼處理的執(zhí)行控制。
第25發(fā)明是一種動圖像編碼方法,使用并行動作的多個處理部、和從處理部共同訪問的共有存儲部,共有存儲部進行數據存儲步驟,存儲編碼對象的動圖像數據;動圖像數據編碼處理必需的數據;和管理處理部的識別信息用的識別管理信息,各處理部進行處理部追加步驟,根據識別管理信息來取得未使用的識別信息;處理部刪除步驟,釋放處理部追加步驟取得的識別信息;和編碼執(zhí)行步驟,在釋放取得的識別信息前的期間,對共有存儲部中存儲的動圖像數據執(zhí)行編碼處理。
根據該第25發(fā)明,各處理部根據共有存儲部中存儲的識別管理信息取得和釋放識別信息,僅在具有識別信息的期間進行動作。各處理部的識別信息的取得和釋放與其它處理部的動作獨立,在任意定時進行。因此,即使其它處理部是在執(zhí)行編碼處理中,也不會影響其它處理部,可在任意定時向裝置追加和刪除處理部。因此,在處理部中發(fā)生故障等情況下,可不中斷裝置整體的編碼處理,維護處理部。
第26發(fā)明是一種動圖像編碼方法,使用并行動作的多個處理部、和從處理部共同訪問的共有存儲部,其中,共有存儲部進行程序存儲步驟,存儲傳送到處理部后由處理部執(zhí)行的多個程序;和表示多個程序功能的功能信息,各處理部進行次處理選擇步驟,從動圖像編碼處理中包含的多個處理中選擇一處理,作為接著應執(zhí)行的處理;程序更新步驟,根據共有存儲部中存儲的功能信息,從共有存儲部中存儲的多個程序中選擇用于執(zhí)行由次處理選擇步驟選擇的處理的程序,并從共有存儲部傳送選擇的程序;個別存儲步驟,存儲從共有存儲部傳送的程序;和處理執(zhí)行步驟,使用個別存儲步驟中存儲的程序,執(zhí)行由次處理選擇步驟選擇的處理。
根據該第26發(fā)明,各處理部根據共有存儲部中存儲的功能信息,選擇下一處理必需的程序,并傳送執(zhí)行選擇的程序。各處理部中的程序選擇、傳送和執(zhí)行與其它處理部的動作獨立,在任意定時進行。因此,各處理部可不影響其它處理部的動作來選擇、執(zhí)行下一處理必需的程序。從而,可不影響執(zhí)行中的編碼處理,在編碼處理中切換、追加和變更編碼處理的內容。
第27發(fā)明是一種動圖像編碼方法,使用并行動作的多個處理部、和從處理部共同訪問的共有存儲部,其中,共有存儲部進行數據存儲步驟,存儲為了獨立適用處理而分割成規(guī)定單位的動圖像數據和對于分割后的動圖像數據的各單位,編碼處理必需的數據和編碼處理的進行狀態(tài),各處理部進行次處理選擇步驟,根據共有存儲部中存儲的編碼處理的進行狀態(tài),選擇分割的一單位的動圖像數據和對于該一單位的動圖像數據接著應執(zhí)行的處理;處理執(zhí)行步驟,對于次處理選擇步驟選擇的一單位的動圖像數據,執(zhí)行次處理選擇步驟選擇的處理;異常檢測步驟,檢測處理執(zhí)行步驟的處理部產生的異常;和處理停止步驟,在異常檢測步驟檢測到異常時,停止次處理選擇步驟和處理執(zhí)行步驟的編碼處理。
根據該第27發(fā)明,各處理部根據共有存儲部中存儲的編碼處理的進行狀態(tài),在選擇執(zhí)行以下處理的同時,在執(zhí)行選擇的處理時產生異常時本身停止。各處理部中的處理的選擇、執(zhí)行、異常檢測和停止與其它處理部獨立,在任意定時進行。因此,不必具備進行編碼處理執(zhí)行控制的處理部,就可在編碼處理中檢測產生異常的處理部。從而,即使是在編碼處理中,也可容易進行處理部的修理和交換,若至少一個處理部正常動作,則可繼續(xù)編碼處理。
第28發(fā)明是一種動圖像編碼方法,使用并行動作的多個處理部、和從處理部共同訪問的共有存儲部,其中,共有存儲部進行圖像存儲步驟,分散存儲為了獨立適用處理而分割成規(guī)定單位的動圖像數據;和參數存儲步驟,為了可與圖像存儲步驟存儲的動圖像數據獨立訪問,對于分割后的動圖像數據的各單位,存儲編碼處理必需的數據和處理的進行狀態(tài),各處理部進行次處理選擇步驟,根據參數存儲步驟中存儲的編碼處理的進行狀態(tài),選擇分割的一單位的動圖像數據和對于該一單位的動圖像數據接著應執(zhí)行的處理;和處理執(zhí)行步驟,對于次處理選擇步驟選擇的一單位的動圖像數據,執(zhí)行次處理選擇步驟選擇的處理。
根據該第28發(fā)明,動圖像數據被分散存儲在多個圖像存儲部中,各處理部訪問分散存儲的動圖像數據。因此,通過分散存儲動圖像數據以使來自處理部的訪問不沖突,可防止來自處理部的訪問變?yōu)榫幋a處理的瓶頸。從而可高速進行動圖像編碼處理。
第29發(fā)明是一種程序,將具備并行動作的多個處理部、和從處理部共同訪問的共有存儲部的計算機用作動圖像編碼裝置,其中,具備在共有存儲部中存儲為了獨立適用處理而分割成規(guī)定單位的動圖像數據、和對于分割后的動圖像數據的各單位編碼處理必需的數據和編碼處理的進行狀態(tài)的狀態(tài)下,應由各處理部執(zhí)行的次處理選擇步驟,根據共有存儲部中存儲的編碼處理的進行狀態(tài),選擇分割的一單位的動圖像數據和對于該一單位的動圖像數據接著應執(zhí)行的處理;和處理執(zhí)行步驟,對于次處理選擇步驟選擇的一單位的動圖像數據,執(zhí)行次處理選擇步驟選擇的處理。
第30發(fā)明是一種程序,將具備并行動作的多個處理部、和從處理部共同訪問的共有存儲部的計算機用作動圖像編碼裝置,其中,具備在共有存儲部中存儲編碼對象的動圖像數據、動圖像數據編碼處理必需的數據、和管理處理部的識別信息用的識別管理信息的狀態(tài)下,應由各處理部執(zhí)行的處理部追加步驟,根據識別管理信息來取得未使用的識別信息;處理部刪除步驟,釋放處理部追加步驟取得的識別信息;和編碼執(zhí)行步驟,在釋放取得的識別信息前的期間,對共有存儲部中存儲的動圖像數據執(zhí)行編碼處理。
第31發(fā)明是一種程序,將具備并行動作的多個處理部、和從處理部共同訪問的共有存儲部的計算機用作動圖像編碼裝置,其中,具備在共有存儲部中存儲傳送到處理部后由處理部執(zhí)行的多個程序、和表示多個程序功能的功能信息的狀態(tài)下,應由各處理部執(zhí)行的次處理選擇步驟,從動圖像編碼處理中包含的多個處理中選擇一處理,作為接著應執(zhí)行的處理;程序更新步驟,根據共有存儲部中存儲的功能信息,從共有存儲部中存儲的多個程序中選擇用于執(zhí)行由次處理選擇步驟選擇的處理的程序,并從共有存儲部傳送選擇的程序;個別存儲步驟,存儲從共有存儲部傳送的程序;和處理執(zhí)行步驟,使用個別存儲步驟中存儲的程序,執(zhí)行由次處理選擇步驟選擇的處理。
第32發(fā)明是一種程序,將具備并行動作的多個處理部、和從處理部共同訪問的共有存儲部的計算機用作動圖像編碼裝置,其中,具備在共有存儲部中存儲為了獨立適用處理而分割成規(guī)定單位的動圖像數據和對于分割后的動圖像數據的各單位的編碼處理必需的數據和編碼處理的進行狀態(tài)的狀態(tài)下,應由各處理部執(zhí)行的次處理選擇步驟,根據共有存儲部中存儲的編碼處理的進行狀態(tài),選擇分割的一單位的動圖像數據和對于該一單位的動圖像數據接著應執(zhí)行的處理;處理執(zhí)行步驟,對于次處理選擇步驟選擇的一單位的動圖像數據,執(zhí)行次處理選擇步驟選擇的處理;異常檢測步驟,檢測處理執(zhí)行步驟的處理部產生的異常;和處理停止步驟,在異常檢測步驟檢測到異常時,停止次處理選擇步驟和處理執(zhí)行步驟的編碼處理。
第33發(fā)明是一種程序,將具備并行動作的多個處理部、和從處理部共同訪問的共有存儲部的計算機用作動圖像編碼裝置,其中,具備在共有存儲部中分散存儲為了獨立適用處理而分割成規(guī)定單位的動圖像數據,并且為了可與動圖像數據獨立訪問而1對于分割后的動圖像數據的各單位,存儲編碼處理必需的數據和處理的進行狀態(tài)的狀態(tài)下,應由各處理部執(zhí)行的次處理選擇步驟,根據共有存儲部中存儲的編碼處理的進行狀態(tài),選擇分割的一單位的動圖像數據和對于該一單位的動圖像數據接著應執(zhí)行的處理;和處理執(zhí)行步驟,對于次處理選擇步驟選擇的一單位的動圖像數據,執(zhí)行次處理選擇步驟選擇的處理。
附圖的簡要說明
圖1是表示根據本發(fā)明實施例1至5的動圖像編碼裝置的結構框圖;圖2是表示根據本發(fā)明實施例1至5的動圖像編碼裝置各處理器詳細結構的圖;圖3是根據本發(fā)明實施例1的動圖像編碼裝置的數據配置圖;圖4是根據本發(fā)明實施例1的動圖像編碼裝置各處理器的主處理流程圖;圖5是根據本發(fā)明實施例1的動圖像編碼裝置各處理器的處理器追加處理的流程圖;圖6是根據本發(fā)明實施例1的動圖像編碼裝置各處理器的處理器刪除處理的流程圖;圖7是根據本發(fā)明實施例1的動圖像編碼裝置的世代更新處理流程圖;圖8是根據本發(fā)明實施例2的動圖像編碼裝置的數據配置圖;圖9是根據本發(fā)明實施例2的動圖像編碼裝置各處理器的主處理流程圖;圖10是根據本發(fā)明實施例2的動圖像編碼裝置各處理器的次處理選擇處理的流程圖;圖11是根據本發(fā)明實施例2的動圖像編碼裝置各處理器的順序狀態(tài)更新處理的流程圖;圖12是表示根據本發(fā)明實施例2的動圖像編碼裝置各處理器動作狀態(tài)的時間圖;圖13是根據本發(fā)明實施例3的動圖像編碼裝置的數據配置圖;圖14是表示根據本發(fā)明實施例3的動圖像編碼裝置的程序管理信息細節(jié)的圖;圖15是表示根據本發(fā)明實施例3的動圖像編碼裝置中執(zhí)行的處理內容一實例的圖;圖16是根據本發(fā)明實施例3的動圖像編碼裝置各處理器的主處理的流程圖;
圖17是根據本發(fā)明實施例3的動圖像編碼裝置各處理器的次處理選擇處理的流程圖;圖18是根據本發(fā)明實施例3的動圖像編碼裝置各處理器的處理器程序更新處理的流程圖;圖19是根據本發(fā)明實施例3的動圖像編碼裝置各處理器的功能信息比較處理的流程圖;圖20是根據本發(fā)明實施例3的動圖像編碼裝置中的程序登錄處理的流程圖;圖21是根據本發(fā)明實施例3的動圖像編碼裝置中的程序刪除處理的流程圖;圖22是根據本發(fā)明實施例3的動圖像編碼裝置中的程序更新處理的流程圖;圖23是根據本發(fā)明實施例4的動圖像編碼裝置的數據配置圖;圖24是根據本發(fā)明實施例4的動圖像編碼裝置各處理器的主處理流程圖;圖25是根據本發(fā)明實施例4的動圖像編碼裝置各處理器的次處理選擇處理的流程圖;圖26是根據本發(fā)明實施例4的動圖像編碼裝置各處理器的位流檢查處理的流程圖;圖27是根據本發(fā)明實施例4的動圖像編碼裝置各處理器的順序管理信息更新處理的流程圖;圖28是根據本發(fā)明實施例4的動圖像編碼裝置各處理器的計數值更新處理的流程圖;圖29是表示根據本發(fā)明實施例4的動圖像編碼裝置各處理器動作狀態(tài)的時間圖;圖30是表示根據本發(fā)明實施例5的動圖像編碼裝置的共有存儲部詳細結構的圖;圖31是表示根據本發(fā)明實施例5的動圖像編碼裝置的控制參數細節(jié)的圖;圖32是根據本發(fā)明實施例5的動圖像編碼裝置各處理器的主處理流程圖;圖33是根據本發(fā)明實施例5的動圖像編碼裝置各處理器的位流寫入處理的流程圖;圖34是表示現有動圖像編碼裝置的母處理器處理的流程圖;圖35是表示現有動圖像編碼裝置的子處理器處理的流程圖;圖36是表示由現有動圖像編碼裝置生成的異常位流的圖。
最佳實施例的說明發(fā)明實施例動圖像編碼裝置的系統(tǒng)結構圖1是表示根據本發(fā)明實施例1至5的動圖像編碼裝置結構的框圖。圖1所示動圖像編碼裝置具備n個處理器1-1~n、共有存儲部2、系統(tǒng)管理部3、網絡4、圖像輸入部11、圖像輸出部12和數據流存儲部13。n個處理器1-1~n、共有存儲部2和系統(tǒng)管理部3都連接在設置于裝置內的網絡4上。該動圖像編碼裝置使用n個處理器1-1~n,并行編碼共有存儲部2中存儲的動圖像數據。
處理器1中使用例如個人計算機。另外,處理器1也可以是動圖像編碼專用的計算機或通用工程工作站。共有存儲部2中例如使用硬盤裝置等。網絡中例如使用路線或局域網等。
共有存儲部2存儲編碼處理必需的程序和數據。在編碼處理執(zhí)行前的共有存儲部2中存儲編碼處理用程序、編碼對象的動圖像數據和編碼處理中參照的控制信息。存儲在共有存儲部2中的程序下載到各處理器1中。各處理器1根據下載的程序,從共有存儲部2中讀出動圖像數據和控制信息,進行規(guī)定的編碼處理,并將編碼處理的中間結果或編碼結果的位流寫入共有存儲部2。在編碼處理的中間結果中包含例如GOP(Group of Pictures)結構或動作矢量等。
圖2是表示處理器1的詳細結構的框圖。如圖2所示,處理器1具備CPU21、網絡接口部22、RAM23和局域路線24。CPU21、網絡接口部22和RAM23都連接在處理器1內的局域路線24上。圖1所示n個處理器1-1~n都具有圖2所示結構。
CPU21是處理器1的運算處理裝置,根據RAM23中存儲的編碼處理用程序32動作。網絡接口部22連接網絡4和局域路線24。RAM23是設置在每個處理器1中的存儲裝置,存儲處理器識別信息31、編碼處理用程序32和編碼處理用數據33。處理器識別信息31是為了識別各處理器1而分配的識別信息。編碼處理用程序32是從共有存儲部2下載的程序。編碼處理用數據33是各處理器1的編碼處理必需的數據。編碼處理用數據33中包含編碼對象的動圖像數據、編碼處理中參照的控制信息、編碼處理的中間結果和編碼結果的位流等。
再返回圖1,系統(tǒng)管理部3具備指令輸入用的輸入部(未圖示),根據輸入的指令來進行數據輸入輸出等處理。例如,系統(tǒng)管理部3進行從圖像輸入部11向共有存儲部2傳送編碼對象的動圖像數據的處理、或從共有存儲部2向圖像輸出部12和數據流存儲部13傳送編碼結果的位流的處理等。圖1中,雖然與n個處理器1-1~n區(qū)別設置系統(tǒng)管理部3,但也可將系統(tǒng)管理部3設置在n個處理器1-1~n之一中。
圖像輸入部11具備數字VTR14和俘獲部15。數字VTR14中記錄編碼對象的動圖像數據。俘獲部15將從數字VTR14中輸出的映像信號變換為規(guī)定的形式。變換后的映像信號通過系統(tǒng)管理部3的控制,經網絡4傳送到共有存儲部2。
圖像輸出部12具備解碼部16和數字電視17。存儲于共有存儲部2中的位流通過系統(tǒng)管理部3的控制,經網絡4傳送到解碼部16。解碼部16解碼傳送來的位流,輸出再現映像信號。數字電視17將從解碼部16輸出的再現映像信號顯示在畫面上。從而,動圖像編碼裝置的用戶可評價再現映像信號的畫質。
數據流存儲部13可拆卸地構成存儲媒體(未圖示)。共有存儲部2中存儲的位流通過系統(tǒng)管理部3的控制,經網絡4傳送到數據流存儲部13。數據流存儲部13將傳送來的位流寫入可拆卸構成的存儲媒體中。在數據流存儲部13中例如使用數字VTR或盤記錄裝置等。
圖1所示動圖像編碼裝置具有以下特征。即,在圖1所示動圖像編碼裝置中,編碼對象的動圖像數據以獨立分割成可編碼單位的狀態(tài)存儲于共有存儲部2中。另外,編碼處理被分割成特征提取、場面檢測、GOP結構確定、動作矢量搜索、虛擬編碼、位分配和原編碼(虛擬編碼后進行的最終編碼)等多個處理(下面,統(tǒng)稱各處理為單位處理)。各處理器1在完成某個單位處理時,任意選擇分割后的動圖像數據,對選擇的動圖像數據,選擇在該時刻可執(zhí)行的單位處理,執(zhí)行選擇的單位處理。各處理器1中的單位處理的選擇和執(zhí)行與其它處理器的動作獨立,在任意定時進行。
從而,因為編碼處理的執(zhí)行控制由n個處理器1-1~n分散進行,所以不必具備進行編碼處理執(zhí)行控制的管理用處理器,也不必在n個處理器1-1~n之間取得同步。因此,通過依次進行的編碼處理的執(zhí)行控制,可不損害并行處理的高速化效果而提高裝置的性能。另外,因為若n個處理器1-1~n都具有相同結構,所以可簡化編碼處理的執(zhí)行控制。
下面,將圖1所示動圖像編碼裝置的特征分成五個實施例進行說明。在實施例1和2中,說明在編碼處理中追加和刪除處理器的結構。在實施例3中,說明在編碼處理中切換、追加和變更編碼處理內容的結構。在實施例4中,說明在編碼處理中檢測異常處理器的結構。在實施例5中,說明共有存儲器的詳細結構。下面,采用MPEG作為編碼方式,將動圖像數據分割成MPEG規(guī)定的順序單位,結果,得到s個順序。
實施例1根據本發(fā)明實施例1的動圖像編碼裝置除上述編碼處理的執(zhí)行控制實現方式外,其特征在于,動態(tài)分配處理器識別信息,在編碼處理中可追加和刪除處理器,并且使用世代序號來檢測故障處理器。
圖3是根據本實施例的動圖像編碼裝置的數據配置圖。圖3中,n個處理器101-1~n和共有存儲部102分別細化圖1所示的處理器1-1~n和共有存儲部2,系統(tǒng)管理部103對應于圖1所示的系統(tǒng)管理部3。另外,圖3中,為了說明本實施例的特征,僅示出必要的數據,對其它數據省略圖示。如圖3所示,在各處理器101中存儲處理器識別信息110。處理器識別信息110細化圖2所示處理器識別信息31,包含識別序號111和世代序號112。識別序號111是該處理器101在裝置整體事先準備的1-m的序號中取得的序號。識別序號111在編碼處理執(zhí)行中變?yōu)?至m之一的值,在編碼處理停止時變?yōu)?。如后所述,世代序號112用于檢測處理器101中生成的故障。
如圖3所示,共有存儲部102中對s個各順序而言存儲順序處理用數據140。在第i順序處理用數據140中包含編碼第i順序時必需的全部數據,例如動圖像數據、控制信息、中間結果和位流等。
此外,共有存儲部102中存儲順序管理信息120和識別管理信息130。順序管理信息120對s個各順序包含處理器序號121和處理狀態(tài)122。處理器序號121是對該順序而言現在執(zhí)行單位處理的處理器的識別序號。處理狀態(tài)122對該順序而言表示現在執(zhí)行的單位處理。
識別管理信息130包含當前世代序號131、世代檢查值132、世代更新標志133和m個世代信息134。當前世代序號131表示現在的世代序號。世代檢查值132用于檢測當前世代序號131是否有效。世代更新標志133表示是否更新當前世代序號。僅存在m個(識別序號的個數)世代信息134。在第i世代信息134中設置由任一處理器101取得值i的識別序號111時的當前世代序號131。
圖4是表示各處理器101的主處理的流程圖。
n個處理器101-1~n都通過執(zhí)行圖2所示編碼處理用程序23,根據圖4所示流程圖來動作。主處理的概況如下。處理器101在開始編碼處理之前執(zhí)行處理器追加處理(圖5),從事先準備的m個識別序號中取得一個識別序號。之后,處理器101選擇下面應執(zhí)行的單位處理,重復執(zhí)行選擇單位處理的處理。當對所有順序完成編碼處理時,處理器101執(zhí)行處理器刪除處理(圖6),釋放取得的識別序號。
適當更新每個共有存儲部102中存儲的當前世代序號131。處理器101在完成某單位處理的時刻檢測到更新當前世代序號131的情況下,使本身的世代序號112符合更新為當前世代序號131。在當前世代序號131更新后,經過規(guī)定時間,處理為未更新世代序號112的處理器101作為故障的處理器,釋放故障處理器使用的識別序號。
圖4所示各步驟的細節(jié)如下。一旦啟動處理器101,則首先對本處理器進行初始化處理(步驟S1101)。在初始化處理中,處理器101進行初始化RAM內編碼處理用數據(圖2所示編碼處理用數據33)等處理。接著,處理器101通過后述的處理器追加處理(圖5)取得識別序號111(步驟S1102)。
接著,處理器101判斷取得的識別序號111是否有效(步驟S1103)。在取得的識別序號無效的情況下(步驟S1103否),則因為在此以上不能追加處理器,所以處理器101結束處理。在取得的識別序號111有效的情況下(步驟S1103是),處理器101前進到步驟S1104,與已在動作中的其它處理器一起并行執(zhí)行編碼處理。
接著,處理器101根據規(guī)定的判斷標準,選擇下一處理(步驟S1104)。即,處理器101根據分配給各順序的優(yōu)先級等信息,選擇接著應處理的順序,在可對選擇的順序執(zhí)行的單位處理中,選擇一個單位處理作為下一處理。
接著,處理器101判斷是否存在下一處理(步驟S1105)。在不存在下一處理的情況下(步驟S1105否),則因為對后述的所有順序完成處理,所以處理器101在通過后述的處理器刪除處理(圖6)釋放識別序號111后(步驟S1115),結束處理。
在存在下一處理的情況下(步驟S1105是),處理器101從共有存儲部102中讀出執(zhí)行選擇處理所必需的數據,寫入本身的RAM(圖2所示RAM23)中(步驟S1106)。例如,處理器101對選擇的順序從共有存儲部102中讀出動圖像數據、控制信息和中間結果等,寫入本身的RAM中。
接著,處理器101執(zhí)行選擇的處理(步驟S1107)。具體而言,處理器101對本身RAM上的數據執(zhí)行特征提取、場面檢測、GOP結構確定、動作矢量搜索、虛擬編碼、位分配和原編碼等單位處理,將結果寫入本身的RAM中。
接著,處理器101在將求出的結果寫入共有存儲部102中之前,執(zhí)行步驟S1108至S1113的世代管理處理。在世代管理處理中,處理器101首先鎖定識別管理信息130(步驟S1108)。接著,處理器101判斷是否更新當前世代序號131(步驟S1109)。具體而言,處理器101在世代更新標志133為1時判斷為更新完,在此外的情況下判斷為未更新。在未更新當前世代序號131的情況下(步驟S1109否),處理器101直接前進到步驟S113。
在更新當前世代序號131的情況下(步驟S1109是),處理器101將本身的識別序號111代入變量i(步驟S1110),判斷本身的世代序號112是否與第i世代信息134一致(步驟S1111)。在第i世代信息134中通常設定處理器101取得識別序號111時的當前世代序號131,在處理器101故障后,設定0。因此,在世代序號121與第i世代信息134一致的情況下(步驟S1111是),處理器101應繼續(xù)編碼處理,對本身的世代序號112和第i世代信息134都設定當前世代序號131(步驟S1112)。另一方面,在世代序號121與第i世代信息134不一致的情況下(步驟S1111否),處理器101應停止編碼處理,對本身的世代序號112和第i世代信息134都設定0(步驟S1116),在解鎖識別管理信息130后(步驟S1117),結束處理。
在繼續(xù)編碼處理的情況下,處理器101解鎖識別管理信息130(步驟S1113),從本身的RAM中讀出步驟S1107中求出的結果,寫入共有存儲部102中(步驟S1114)。之后,處理器101前進到步驟S1104,再執(zhí)行步驟S1104以后的處理。另外,在步驟S1107中完成規(guī)定處理后,在將求出的結果寫入共有存儲部102之前,執(zhí)行世代管理處理,可防止將故障處理器求出的結果寫入共有存儲部102。
下面,說明根據本實施例的動圖像編碼裝置的處理器追加處理和處理器刪除處理。在圖5所示的處理器追加處理中,處理器101首先鎖定識別管理信息`30(步驟S1201)。接著,處理器101對當前世代序號131進行規(guī)定的運算f,比較求出的值與世代檢查值132(步驟S1202)。確定規(guī)定運算f,以在未初始化識別管理管理信息130的狀態(tài)下,對當前世代序號131實施運算f的結果與世代檢查值132不一致。例如,作為運算f,可使用每個位的否定(NOT)。若選擇這種運算f,則在對當前世代序號131實施運算f的結果與世代檢查值132一致的情況下,判斷為已初始化識別管理信息130,在兩者不一致的情況下,判斷為還沒有初始化識別管理信息130。處理器101在兩者一致的情況下前進到步驟S1204,在此外的情況下前進到步驟S1203。
在步驟S1202中兩者不一致的情況下(步驟S1202否),處理器101判斷本身處理器在裝置整體中最初執(zhí)行處理器追加處理,初始化識別管理信息130(步驟S1203)。具體而言,處理器101分別對當前世代序號131設定1,對世代檢查值132設定對當前世代序號(值為1)實施運算f的結果,對世代更新標志133和m個世代信息134設定0。
接著,處理器101通過步驟S1204至S1207的處理,求出m個世代信息134中未使用的、即值為0的序號。具體而言,處理器101對變量i設定1(步驟S1204),檢查第i世代信息134是否為0(步驟S1205)。在第i世代信息134為0的情況下(步驟S1205是),處理器101前進到步驟S1208。在此外的情況下(步驟S1205否),處理器101前進到步驟S1206,若變量i不足m(識別序號的個數)(步驟S1206是),則將變量i加1(步驟S1207),前進到步驟S1205。
在存在未使用的世代信息134的情況下(步驟S1205是),處理器101分別對本身的識別序號111和世代序號112設定求出的序號i和當前世代序號131,對第i世代信息134設定當前世代序號131(步驟S1208)。在沒有未使用的世代信息134的情況下(步驟S1206否),處理器101對本身的識別序號111設定0(步驟S1209)。此時,因為其它處理器可能已將序號i用作識別序號,所以處理器101不對第i世代信息134設定值。
最后,處理器101解鎖識別管理信息130(步驟S1210),據此來完成處理器追加處理。如上所述,處理器101在處理器追加處理中取得有效識別序號的情況下,選擇下一處理,重復執(zhí)行選擇處理的處理(圖4的步驟S1104到S1114的處理)。從而,將取得有效識別序號111的處理器101組裝到編碼裝置中。
在圖6所示的處理器刪除處理中,處理器101首先鎖定識別管理信息130(步驟S1301),將本身的識別序號111代入變量i(步驟S1302)。接著,處理器101對本身的識別序號111和世代序號112以及第i世代信息134都設定0(步驟S1303)。最后,處理器101解鎖識別管理信息130(步驟S1304),據此來完成處理器刪除處理。
通過圖6所示處理器刪除處理或圖6的步驟S1116的處理,處理器101釋放此前使用的識別序號111。因此,釋放使用識別序號111的處理器101從編碼裝置上切離。從裝置上切離的處理器101在任意定時執(zhí)行處理器追加處理,若取得有效的識別序號111,則再次組裝到編碼裝置中。
若采用圖5所示處理器追加處理和圖6所示處理器刪除處理,則處理器101在執(zhí)行處理器追加處理或處理器刪除處理時限于對識別管理信息130進行排他控制。因此,因為其它處理器執(zhí)行編碼處理,所以即使訪問共有存儲部102的其它數據,處理器追加/刪除處理也不妨礙該處理器。因此,各處理器不影響其它處理器的編碼處理,就可在任意定時執(zhí)行處理器追加/刪除處理。
接著,使用世代序號來說明檢測故障處理器的方法。圖7是根據本實施例的動圖像編碼裝置的世代更新處理流程圖。系統(tǒng)管理部103為了從裝置中切離故障的處理器,在輸入規(guī)定的指令時,或以規(guī)定的時間間隔執(zhí)行世代更新處理。另外,在圖4所示流程圖的適當部位插入調用世代更新處理的步驟,處理器1以規(guī)定的時間間隔執(zhí)行世代更新處理。下面,示例系統(tǒng)管理部103執(zhí)行世代更新處理的情況,但處理器101執(zhí)行世代更新處理的情況也完全一樣。
在圖7所示世代更新處理中,系統(tǒng)管理部103首先鎖定識別管理信息130(步驟S1401)。接著,系統(tǒng)管理部103比較對當前世代序號131實施規(guī)定運算f的結果和世代檢查值132,在兩者一致時,前進到步驟S1404,在此外的情況下前進到步驟S1403(步驟S1402)。
在兩者不一致的情況下(步驟S1402否),系統(tǒng)管理部103判斷還沒有初始化世代序號,初始化識別管理信息130(步驟S1403),前進到步驟S1416。另外,圖7的步驟S1402和S1403分別與圖5的步驟S1202和S1203相同,所以省略說明。
在步驟S1402中兩者一致的情況下(步驟S1402是),系統(tǒng)管理部103判斷世代更新標志133是否為0(步驟S1404)。在世代更新標志133不為0的情況下(步驟S1404否),系統(tǒng)管理部103判斷本身以外為執(zhí)行世代更新處理中,不更新當前世代序號131,前進到步驟S1416。另一方面,在世代更新標志133為0的情況下(步驟S1404是),系統(tǒng)管理部103更新當前世代序號131,前進到步驟S1405。
接著,系統(tǒng)管理部103因為表示世代更新處理執(zhí)行中,所以對世代更新標志133設定1(步驟S1405)。接著,系統(tǒng)管理部103對當前世代序號131加1,將對加算后的當前世代序號131實施運算f后的結果設定為世代檢查值132(步驟S1406)。從而,更新每個當前世代序號131,與此同時還更新世代檢查值132。
接著,系統(tǒng)管理部103解鎖識別管理信息130(步驟S1407),僅停止在規(guī)定時間(步驟S1408)。步驟S1408的規(guī)定時間設定為正常的處理器101在該時間內可完成圖4的步驟S1104選擇的處理的值。因此,當將處理器101的識別序號111設為i時,系統(tǒng)管理部103到達步驟S1408時刻的第i世代信息134在處理器101正常時與當前世代序號131一致。另一方面,因為處理器101故障,所以在系統(tǒng)管理部103到達步驟S1408的時刻未完成處理器101選擇的處理的情況下,第i世代信息134與當前世代序號131不一致。
因此,系統(tǒng)管理部103若從停止狀態(tài)再開始動作,則在鎖定識別管理信息130后(步驟S1409),對與當前世代序號131不一致的各世代信息134設定表示數據無效的值0。具體而言,系統(tǒng)管理部103將1代入變量i(步驟S1410),在第i世代信息134與當前世代序號131不一致的情況下(步驟S1411否),對第i世代信息134設定0(步驟S1412)。接著,系統(tǒng)管理部103在變量i不足s(順序的個數)的情況下(步驟S1413是),向變量i加1(步驟S1414),前進到步驟S1411。通過步驟S1410至S1413的處理,在存在未更新本身世代序號112的處理器101的情況下,將該處理器101的識別序號設為i時,第i世代信息134變?yōu)?。處理器101在本身的世代序號112與第i世代信息134不一致的情況下,釋放取得的世代序號后結束處理(圖4的步驟S1116和S1117)。從而,從裝置上切離故障的處理器101。
接著,系統(tǒng)管理部103為了表示完成世代更新處理,對世代更新標志133設定0(步驟S1415)。最后,系統(tǒng)管理部103解鎖識別管理信息130(步驟S1416),據此來完成世代更新處理。
因此,根據圖7所示世代更新處理,系統(tǒng)管理部103或處理器101依次更新每個當前世代序號131,在更新當前世代序號131后,經過規(guī)定時間,釋放未更新本身世代序號112的處理器101使用的識別序號111。釋放的識別序號此后由其它處理器101使用。因此,即使是在編碼處理執(zhí)行中,也不會影響其它處理器101的編碼處理,可檢測處理器101中產生的故障,從裝置上刪除故障的處理器101。
另外,在進行世代更新處理時,考慮具有更新前的當前世代序號131的第一處理器和具有更新后的當前世代序號131的第二處理器使用相同識別序號111,并同時執(zhí)行編碼處理的情況。但是,因為共有存儲部102對每個順序存儲編碼處理必需的數據,所以第一和第二處理器分別向共有存儲部102的不同區(qū)域中寫入求出的結果。因此,為了檢測故障處理器而進行的世代更新處理不會對由n個處理器101-1~n進行的編碼處理產生壞影響。
如上所述,根據本實施例的動圖像編碼裝置,因為由多個處理器分散進行編碼處理的執(zhí)行控制,所以不必具備進行編碼處理執(zhí)行控制的管理用處理器,也不必在處理器間取得同步。另外,各處理器根據共有存儲部中存儲的識別管理信息來取得和釋放識別信息,僅在具有識別信息期間動作。處理器的識別信息的取得和釋放與其它處理器的動作獨立,在任意定時進行。因此,即使其它程序器在編碼處理執(zhí)行中,也不會影響其它處理器,可在任意定時向裝置追加和刪除處理器。因此,在處理器中產生故障等情況下,可不中斷裝置整體的編碼處理來維護處理器。
實施例2實施例2中說明次處理選擇處理和共有存儲部中存儲的處理狀態(tài)的細節(jié)。
圖8是根據本實施例的動圖像編碼裝置的數據配置圖。圖8中,n個處理器151-1~n和共有存儲部152分別細化圖1所示處理器1-1~n和共有存儲部2。另外,圖8中,為了說明本實施例的特征,僅表示必要的數據,對其它數據省略圖示。如圖8所示,各處理器151中存儲處理器識別信息161、選擇順序序號162和選擇處理序號163。處理器識別信息161對應于圖2所示處理器識別信息31。處理器識別信息161可是以事先專門分配給各處理器,也可以如實施例1所示,由各處理器動態(tài)取得。
在圖8所示的動圖像編碼裝置中,將編碼處理分割成多個單位處理,各處理器151選擇一個順序和就該順序而言可執(zhí)行的單位處理,執(zhí)行選擇的處理。選擇順序序號162是處理器151選擇的順序序號,選擇處理序號163是處理器151選擇的單位處理的序號。另外,在本實施例中,編碼處理被分割成t個單位處理。
如圖8所示,在共有存儲部152中,對s個各順序存儲從第一到第s順序處理用數據180。根據本實施例的順序處理用數據與實施例1的相同,所以這里省略說明。
另外,共有存儲部152為監(jiān)視控制編碼處理的進行狀況,存儲順序管理信息170。順序管理信息170對s個各順序包含當前處理序號171、可選擇處理序號172、和處理狀態(tài)173。當前處理序號171是對該順序當前執(zhí)行的單位處理的序號??蛇x擇處理序號172是對該順序而言下一處理可選擇的單位處理的序號。當前處理序號171和可選擇處理序號172都取從1到t(單位處理的個數)的任一值。
處理狀態(tài)173對各單位處理包含處理器序號174、開始標志175、結束標志176和錯誤標志177。若描述各數據的第j要素,則處理器序號174是執(zhí)行第j單位處理的處理器51的處理器識別信息161。開始標志175在開始第j單位處理之前為0,在開始后為1。結束標志176在結束第j單位處理之前為0,在結束后為1。錯誤標志177在第j單位處理中發(fā)生錯誤之前為0,在發(fā)生錯誤后為1。如后所述,這些數據都由處理器151來更新。
圖9是表示各處理器151的主處理的流程圖。n個處理器151-1~n都通過執(zhí)行圖2所示編碼處理用程序32,根據圖9所示流程圖來動作。圖9所示主處理與實施例1(圖4)基本相同,但特征在于,對于次處理選擇處理(圖10)和順序狀態(tài)更新處理(圖11)而言,更新處理狀態(tài)173中包含的每個單位處理的數據。具體而言,處理器151在次處理選擇處理中,對處理器序號174設定本身的處理器識別信息161,同時,將開始標志175設定為1,在順序狀態(tài)更新處理中,在將結束標志176設定為1的同時,在故障發(fā)生時,對錯誤標志177設定1。
圖9所示各步驟的細節(jié)如下。另外,圖9的步驟S1501、S1504、S1505、和S1506分別與圖4的步驟S1101、S1106、S1107和S1114相同,所以省略說明。處理器151一旦啟動,則首先對本處理器進行初始化處理(步驟S1501)。接著,處理器151執(zhí)行后述的次處理選擇處理(圖10),更新本身的選擇順序序號162和選擇處理序號163以及順序管理信息170(步驟S1502)。
接著,處理器151判斷是否存在下一處理(步驟S1503)。在不存在下一處理的情況下(步驟S1503否),因為對所有順序完成處理,所以處理器151結束處理。在存在下一處理的情況下(步驟S1503是),處理器151從共有存儲部102中讀出必要的數據(步驟S1504),執(zhí)行選擇的處理(步驟S1505),將求出的結果寫入共有存儲部102中(步驟S1506)。
接著,處理器151執(zhí)行后述的順序狀態(tài)更新處理(圖11),對應于步驟S1505中的處理結果來更新順序管理信息170(步驟S1507)。之后,處理器151前進到步驟S1502,反復執(zhí)行步驟S1502到S1507的處理。
下面,說明根據本實施例的動圖像編碼裝置的次處理選擇處理和順序狀態(tài)更新處理。在圖10所示的次處理選擇處理中,處理器151首先鎖定順序管理信息170(步驟S1601)。另外,即使鎖定順序管理信息170,其它處理器也可自由訪問順序處理用數據180。
接著,處理器151通過步驟S1602到S1607的處理,從s個順序中選擇一個順序。具體而言,處理器151將1代入變量i(步驟S1602),對第i順序比較當前處理序號171和可選擇處理序號172(步驟S1603)。在兩者一致的情況下(步驟S1603是),因為對第i順不存在可選擇的處理,所以處理器151檢查下一順序。即,處理器151在變量i小于s(順序的個數)時(步驟S1604是),向變量i加1(步驟S1605),前進到步驟S1603。
在步驟S1604中,當變量i大于s時(步驟1604否),因為對任一順序都不存在可選擇的處理,所以處理器151暫時解鎖順序管理信息170(步驟S1606),在停止規(guī)定時間后(步驟S1607),前進到步驟S1601。因此,雖然剩余應執(zhí)行的處理,但在該時刻對任何順序都不存在可選擇的處理的情況下,處理器151在待機規(guī)定時間后,再搜索可選擇的處理。
在步驟S1603中,在當前處理序號171與可選擇處理序號172不同的情況下(步驟S1603否),處理器151對第i順序選擇現在執(zhí)行的單位處理的下一單位處理,作為接著應執(zhí)行的處理。因此,處理器151向第i順序的當前處理序號171加1(步驟S1608),將加算后的當前處理序號171代入變量j(步驟S1609)。接著,處理器151分別對本身的選擇順序序號162和選擇處理序號163設定求出的i和j的值(步驟S1610)。之后,處理器151對于第i順序的第j單位處理,分別對處理器序號174設定處理器識別信息161、對開始標志175設定1,對結束標志176和錯誤標志177設定0(步驟S1611)。最后,處理器151解鎖順序管理信息170(步驟S1612),據此完成次處理選擇處理。
在圖11所示的順序狀態(tài)更新處理中,處理器151首先鎖定順序管理信息170(步驟S1701),分別將本身的選擇順序序號162和選擇處理序號163代入變量i和j(步驟S1702)。接著,處理器151對于第i順序的第j單位處理,分別對結束標志176設定1,對應于故障發(fā)生狀況對錯誤標志177設定0或1(步驟S1703)。
接著,處理器151更新第i順序的可選擇處理序號172(步驟S1704)。具體而言,對于第i順序而言,將通過完成第j單位處理執(zhí)行可新選擇的單位處理的序號設定為第i順序的可選擇處理序號172。
之后,處理器151向就第i順序而言待機處理完成的其它處理器通知處理結束(步驟S1705)。從而,就第i順序而言待機處理完成的其它處理器再開始編碼處理。最后,處理器151解鎖順序管理信息170(步驟S1706),據此,完成順序狀態(tài)更新處理。
圖12是表示根據本實施例的動圖像編碼裝置各處理器動作狀態(tài)的時間圖。這里,為了簡化說明,用5個處理器來編碼6個順序。另外,對各順序的編碼處理由前處理和原編碼兩種單位處理構成,在對所有順序完成前處理后,對各順序進行原編碼。
在圖12中,5個處理器在時刻t0以后的任意時刻分別獨立開始動作,設第4處理器在時刻t1最早完成初始化處理。第4處理器在時刻t1到t2期間進行次處理選擇處理,選擇前處理作為接著應執(zhí)行的處理。之后,第2、第1、第3、第5各處理器完成初始化處理,通過次處理選擇處理依次選擇第1至第4順序的原編碼。第2、第1、第3、第5各處理器在選擇下一處理后,待機,直到第4處理器的前處理完成為止。
選擇前處理的第4處理器每當對各順序完成前處理時,向對該順序處理完成后待機的處理器通知處理完成。例如,對第1順序的處理完成后待機的第2處理器一旦從第4處理器接收處理完成通知,則開始對第1順序的原編碼。第1、第3、第5處理器也一樣。第4處理器一旦在時刻t3對第1至第6順序完成前處理,則在時刻t3至t4之間進行次處理選擇處理,選擇第5順序的原編碼。在時刻t4以后,第4處理器執(zhí)行第5順序的原編碼。
如上所述,根據本實施例的動圖像編碼裝置,在共有存儲部中,對各順序的各單位處理存儲包含執(zhí)行處理的處理器的識別信息、和表示處理開始、結束和錯誤的標志的處理狀態(tài),各處理器對次處理選擇處理和順序狀態(tài)更新處理更新處理狀態(tài)。因此,在編碼處理執(zhí)行中或執(zhí)行后,根據共有存儲部中存儲的處理狀態(tài),可檢測處理器的故障。
在實施例1和2中,各處理器從共有存儲部中讀出必要的數據,使用RAM上的數據來執(zhí)行規(guī)定處理,將求出的結果寫入共有存儲部中(圖4、圖9)。因此,各處理器中包含的RAM作為數據高速緩沖存儲器來動作。因此,通過將RAM用作數據高速緩沖存儲器,減少對共有存儲部的訪問,縮短各處理器的數據等待時間,所以可提高動圖像編碼裝置的性能。
實施例3根據本發(fā)明實施例3的動圖像編碼裝置的特征在于在編碼處理中切換、追加和變更編碼處理的內容。具體而言,在共有存儲部中存儲程序代碼和程序管理信息,各處理器在執(zhí)行本身RAM中存儲的程序中參照程序管理信息,必要時執(zhí)行程序更新處理。
圖13是根據本實施例的動圖像編碼裝置的數據配置圖。圖13中,n個處理器201-1~n和共有存儲部202分別細化圖1所示處理器1-1~n和共有存儲部2,系統(tǒng)管理部203對應于圖1所示系統(tǒng)管理部3。另外,圖13中,為了說明本實施例的特征,僅表示必要的數據,對其它數據省略圖示。如圖13所示,在共有存儲部202中,對s個各順序存儲處理狀態(tài)240和順序處理用數據250。第i處理狀態(tài)240表示第i順序的處理狀態(tài)。在第i順序處理用數據250中,包含編碼第i順序時必需的所有數據,例如動圖像數據、控制信息、中間結果和位流等。
此外,在共有存儲部202中存儲應下載到處理器201中的p個程序。具體而言,在共有存儲部202中,對支持不同功能的p個處理器存儲程序管理信息220和程序代碼231。程序代碼231是下載到處理器201中的程序代碼本身。如后所述(圖18),處理器201從共有存儲部202將從p個程序代碼231中選擇的一個程序代碼下載到本身的RAM(圖2所示RAM23)中。下載的程序代碼變?yōu)閳D13所示的編碼處理用程序211。根據以前的編碼處理用程序211動作的處理器201在更新編碼處理用程序211后,不用再啟動就可根據更新后的編碼處理用程序211動作。
程序管理信息220用于管理共有存儲部202中存儲的程序。圖14是表示對一個程序的程序管理信息220中包含的數據細節(jié)的圖。如圖14所示,程序管理信息220包含程序更新信息260、程序代碼信息270和程序功能信息280。
程序更新信息260包含有效標志261、更新標志262、刪除標志263和下載數264,用于程序的登錄、更新和下載的管理中。有效標志261在該程序有效期間變?yōu)?。更新標志262在更新該程序期間變?yōu)?。刪除標志263在刪除該程序期間變?yōu)?。下載數264表示現在下載該程序的處理器的個數。
程序代碼信息270包含程序名稱271、開頭地址272和程序大小273,在下載程序時參照。程序名稱271表示該程序的名稱。開頭地址272表示存儲該程序的程序代碼231的共有存儲部202的開頭地址。程序大小273表示該程序的程序代碼231的大小。
程序功能信息280包含項目數281和a個功能信息282。項目數281表示功能信息282的個數。a個功能信息282表示在將共有存儲部202中存儲的p個程序的功能分類為a個時,該程序對a個功能支持哪級功能。另外,當程序不支持某功能時,對應于該功能的功能信息282變?yōu)?。
例如,在a個功能中,設第一功能為消失功能(對消失圖像的功能),第二處理為動作矢量搜索功能。另外,設各處理器為是否支持消失功能之一,對對動作矢量搜索功能而言,是支持第1至第4搜索方法任一或哪個搜索方法都不支持。此時,不支持消失功能的程序的第一功能信息變?yōu)?,支持消失功能的程序的第一功能信息變?yōu)?。另外,不支持動作矢量搜索功能的程序的第二功能信息變?yōu)?,支持動作矢量搜索功能的程序的第二功能信息變?yōu)?至4任一值。
下面,說明本實施例的動圖像編碼裝置的編碼處理。在根據MPEG來編碼動圖像數據中,對順序層、GOP層、圖像層、切片層、宏程序塊層和塊層的各階層,有必要分別進行規(guī)定處理。在如圖15所示階層地分類編碼處理的情況下,若結束某階層中包含處理的全部或部分,則可并行執(zhí)行此下階層中的處理。例如,在結束切片標題生成處理后,可對該切片中包含的所有宏程序塊并行執(zhí)行宏程序塊編碼處理。因此,例如也可分別將圖15右欄所示各處理作為上述單位處理?;驗榱颂岣咛幚硭俣?,將圖像層以下的處理(圖像標題生成、切片標題生成和宏程序塊編碼)匯總后作為一個單位處理。
圖16是表示各處理器201的主處理的流程圖。n個處理器201-1~n都通過執(zhí)行圖2所示編碼處理用程序32,根據圖16所示流程圖來動作。如圖16所示,各處理器201選擇接著應執(zhí)行的處理,必要時在更新本身的編碼處理用程序211后,執(zhí)行選擇的處理。
圖16所示各步驟的細節(jié)如下。處理器201一旦啟動,則首先進行初始化處理(步驟S2101)。在初始化處理中,處理器201進行初始化RAM內的編碼處理用數據(圖2所示編碼處理用數據33)等處理。接著,處理器201通過后述的次處理選擇處理(圖17),選擇接著應執(zhí)行的處理(步驟S2102)。在步驟S2102中,處理器201選擇接著應處理的順序和GOP,在對選擇的GOP可執(zhí)行的處理中,選擇一單位處理。下面,將步驟S2102中選擇的處理稱為「次處理」。
接著,處理器201比較現在執(zhí)行中的程序支持的功能和執(zhí)行次處理必需的功能。具體而言,處理器201分別將現在執(zhí)行中的程序項目數代入變量a,將次處理的項目數代入變量b,將現在執(zhí)行中的程序的a個功能信息代入排列型變量X,將次處理的b個功能信息代入排列型變量Y(步驟S2103),執(zhí)行后述的功能信息比較處理(圖19)(步驟S2104)。另外,處理器201通過從共有存儲部202將現在執(zhí)行中的程序的程序功能信息280復制到本身的RAM后,根據復制的程序功能信息求出現在執(zhí)行中的程序的項目數和功能信息,在次處理選擇處理中,以與程序功能信息280相同的形式求出關于執(zhí)行次處理必需的功能的信息(項目數和功能信息)。
接著,處理器201通過功能信息比較處理來判斷兩個功能信息是否一致(步驟S2105),在兩者一致的情況下(步驟S2105是),處理器201前進到步驟S2107。在兩者不一致的情況下(步驟S2105否),處理器201執(zhí)行后述的處理器程序更新處理(圖18)后(步驟S2106),前進到步驟S2107。
之后,處理器201執(zhí)行步驟S2102中選擇的處理(步驟S2107)。具體而言,處理器201從共有共有存儲部202中讀出必要的數據后寫入本身的RAM中,對本身的RAM內的數據執(zhí)行選擇的處理,從本身的RAM中讀出該結果后寫入共有存儲部202中。接著,處理器201判斷是否結束所有編碼處理(步驟S2108),在結束所有編碼處理的情況下(步驟S2108是),結束處理。另一方面,在還剩余處理的情況下(步驟S2108否),處理器201前進到步驟S2102,繼續(xù)編碼處理。
圖1 7是次處理選擇處理的流程圖。在次處理選擇處理中,處理器201首先將之前處理的順序序號代入變量S,將之前處理的GOP序號代入變量G(步驟S2201)。接著,處理器201對第S順序中包含的第G的GOP檢查還未選擇的處理(步驟S2202)。
接著,處理器201判斷在步驟S2202中是否檢測未選擇的處理(步驟S2203)。在存在未選擇的處理的情況下(步驟S2203是),處理器201選擇該處理作為接著應執(zhí)行的處理,結束次處理選擇處理。
另一方面,在沒有未選擇處理的情況下(步驟S2203否),處理器201前進到步驟S2204,為了檢查還未對下一GOP選擇的處理,更新變量S和G。具體而言如下。處理器201將變量G加1(步驟S2204),在變量G小于第S順序的GOP數的情況下(步驟S2205是),前進到步驟S2202。在變量G大于第S的順序的GOP數時(步驟S2205否),處理器201將變量S加1,將0代入變量G(步驟S2206)。接著,處理器201在變量S小于順序數的情況下(步驟S2207是),前進到步驟S2202。在變量S大于順序數的情況下(步驟S2207否),處理器201判斷是否完成所有編碼處理(步驟S2208)。在完成所有編碼處理的情況下(步驟S2208是),處理器201不選擇接著應執(zhí)行的處理就結束次處理選擇處理。在還剩余應執(zhí)行處理的情況下(步驟S2208否),處理器201將1代入變量S,將0代入變量G(步驟S2209),前進到步驟S2202。
圖18是處理器程序更新處理的流程圖。在該處理中,處理器201首先鎖定程序管理信息220(步驟S2301),將1代入變量i(步驟S2302)。
接著,處理器201通過步驟S2303至S2307的處理,根據共有存儲部202中存儲的p個程序檢查支持執(zhí)行次處理用的功能的程序。具體而言,處理器201在第i程序無效的情況下(步驟S2303否),或第i程序的功能與執(zhí)行次處理所需的功能不一致的情況下(步驟S2306否),向變量i加1(步驟S2307),前進到步驟S2303。另一方面,處理器201在第i程序有效(步驟S2303是)且第i程序的功能與執(zhí)行次處理所需的功能一致的情況下(步驟S2306是),前進到步驟S2308。
另外,步驟S2303中判斷第i程序有效是第i程序的有效標志261為1、更新標志262和刪除標志263都為0的情況。另外,從步驟S2304到S2306的處理相對步驟S2103到S2105的處理(圖16),將比較對象的程序從現在執(zhí)行中的程序變更為第i程序。
在處理器201到達步驟S2308的時刻,變量i變?yōu)閼螺d到處理器的程序的序號。因此,處理器201向第i程序的下載數264加1(步驟S2308),在暫時解鎖程序管理信息220后(步驟S2309),將第i程序的程序代碼231下載到本身的RAM中(步驟S2310)。
之后,處理器201從第i程序的下載數264中減去1后(步驟S2312),不再初始化就將控制移動到下載的程序上(步驟S2314)。另外,處理器201在從下載數264減去1時,事先鎖定程序管理信息220(步驟S2311),事后解鎖程序管理信息220(步驟S2313)。處理器201據此完成處理器程序更新處理。
圖19是功能信息比較處理的流程圖。從圖16的步驟S2104和圖18的步驟S2305中調用功能信息比較功能。在調用該處理的時刻,分別對變量a設定作為比較對象的程序項目數,對變量b設定次處理的項目數,對排列型變量X設定比較對象的程序的a個功能信息,對排列型變量Y設定次處理的b個功能信息。另外,在不必為了執(zhí)行次處理而支持特定功能的情況下,對對應于該功能的功能信息設定0。
在功能信息比較處理中,處理器201首先將1代入變量i(步驟S2401)。接著,處理器201通過步驟S2402到S2405的處理,檢查第一到第a的功能信息中是非存在不一致。具體而言,處理器201在變量Y的第i個要素Y[i]不為0(步驟S2402是)且變量X的第i個要素X[i]與Y[i]不一致的情況下(步驟S2403是),前進到步驟S2411。另一方面,處理器201在Y[i]為0的情況下(步驟S2402否),或X[i]與Y[i]一致的情況下(步驟S2403否),前進到步驟S2404。此時,處理器201向變量i加1(步驟S2404),在變量i小于a(作為比較對象的程序的項目數)的情況下,前進到步驟S2402,在此外的情況下,前進到步驟S2406。
接著,處理器201比較變量a和變量b(步驟S2406),在a比b小的情況下,前進到步驟S2407,在此外的情況下,前進到步驟S2410。在前者的情況下,處理器201通過步驟S2407至S2409的處理,檢查變量Y的第(a+1)到第b要素中是否存在0以外的要素。具體而言,處理器201在Y[i]不是0的情況下(步驟S2407是),前進到步驟S2411。另一方面,處理器201在Y[i]為0的情況下(步驟S2407否),向變量i加1(步驟S2408),在變量i小于b(次處理的項目數)的情況下,前進到步驟S2407,在此外的情況下,前進到步驟S2410。
處理器201在到達步驟S2410的情況下,判斷比較對象的程序功能與次處理必需的功能一致,在到達步驟S2410的情況下,判斷二者不一致。處理器201在進行上述判斷后,結束功能信息比較處理。
根據圖19所示功能信息比較處理,在項目數相同的情況下當然可比較兩個功能信息,即使在項目數不同的情況下也可進行比較。另外,在圖19的處理中,在X[i]與Y[i]不同的情況下,判斷兩個功能信息不一致,但也可代之以在例如Y[i]比X[i]大的情況下,判斷兩個功能信息不一致。
接著,對根據本實施例的動圖像編碼裝置,說明在共有存儲部202中登錄、刪除和更新程序的方法。由系統(tǒng)管理部203進行對共有存儲部202的這些操作。系統(tǒng)管理部203根據輸入的指令,執(zhí)行下示的程序登錄處理(圖20)、程序刪除處理(圖21)和程序更新處理(圖22)。圖20至圖22所示處理包含在處理器201執(zhí)行編碼處理之間,在任意定時執(zhí)行。
圖20是程序登錄處理的流程圖。在程序登錄處理中,系統(tǒng)管理部203首先鎖定程序管理信息(步驟S2501),將1代入變量i(步驟S2502)。之后,系統(tǒng)管理部203通過步驟S2503至S2505的處理,求出有效標志261為0的程序管理信息220。具體而言,系統(tǒng)管理部203在第i有效標志261不為0(步驟S2503否)并且變量i小于p(程序的個數)的情況下(步驟S2504是),向變量i加1(步驟S2505),前進到步驟S2503。另外,系統(tǒng)管理部203在第i有效標志261不為0(步驟S2503否)并且變量i大于p的情況下(步驟S2504否),前進到步驟S2514。
系統(tǒng)管理部203在第i有效標志261為0(步驟S2503是)的情況下,確保共有存儲部202內配置程序代碼的區(qū)域(步驟S2506)。系統(tǒng)管理部203在區(qū)域確保失敗的情況下(步驟S2507否),前進到步驟S2514。
系統(tǒng)管理部203在區(qū)域確保成功的情況下(步驟S2507是),將第i有效標志261和更新標志262都設為1(步驟S2508)。接著,系統(tǒng)管理部203暫時解鎖程序管理信息220(步驟S2509),將登錄對象的程序的程序代碼寫入共有存儲部220內確保的區(qū)域中(步驟S2510),將關于登錄對象程序的信息寫入第i程序代碼信息270和程序功能信息280中(步驟S2511)。
接著,系統(tǒng)管理部203對第I更新標志262設定0(步驟S2513)。此時,系統(tǒng)管理部203事先鎖定程序管理信息220(步驟S2512),事后解鎖程序管理信息220(步驟S2514)。系統(tǒng)管理部203據此完成程序例如處理。
圖21是程序刪除處理的流程圖。在處理器刪除處理中,系統(tǒng)管理部203首先鎖定程序管理信息(步驟S2601),將刪除對象的程序序號代入變量i(步驟S2602)。
接著,系統(tǒng)管理部203檢查第i下載數264是否為0(步驟S2603)。在第i下載數264不為0的情況下(步驟S2603否),任一處理器201通過處理器程序更新處理(圖18),下載刪除對象的程序。因此,在此情況下,系統(tǒng)管理部203不刪除指定的程序就前進到步驟S2610。因此,為了正確刪除程序,系統(tǒng)管理部203必需再執(zhí)行程序刪除處理。
在第i下載數為0的情況下(步驟S2603是),系統(tǒng)管理部203對第I更新標志262和刪除標志263設定1(步驟S2604),暫時解鎖程序管理信息220(步驟S2605)。接著,系統(tǒng)管理部203釋放共有存儲部202內為了配置第i程序的程序代碼231而使用的區(qū)域(步驟S2606),初始化第i程序代碼信息270和程序功能信息280(步驟S2607)。
接著,系統(tǒng)管理部203對第i有效標志261、更新標志262和刪除標志263都設定0(步驟S2609)。此時,系統(tǒng)管理部3事先鎖定程序管理信息220(步驟S2608),事后解鎖程序管理信息220(步驟S2610)。系統(tǒng)管理部203據此完成程序刪除處理。
圖22是程序更新處理的流程圖。該程序更新處理是與程序登錄處理和程序刪除處理一起在一個處理中進行的處理。在程序更新處理中,系統(tǒng)管理部203首先鎖定程序管理信息220(步驟S2701),將更新對象的程序序號代入變量i(步驟S2702)。
接著,系統(tǒng)管理部203檢查第i下載數264是否為0(步驟S2703)。在第i下載數264不為0的情況下(步驟S2703否),任一處理器201通過處理器程序更新處理(圖18),下載更新對象的程序。此時,系統(tǒng)管理部203不更新指定的程序就前進到步驟S2713。因此。為了正確更新程序,系統(tǒng)管理部203必需再執(zhí)行程序更新處理。
在第i下載數為0的情況下(步驟S2703是),系統(tǒng)管理部023確保共有存儲部202內用于配置程序代碼的區(qū)域(步驟S2704)。系統(tǒng)管理部203在區(qū)域確保失敗的情況下(步驟S2705否),前進到步驟S2713。
系統(tǒng)管理部203在區(qū)域確保成功的情況下(步驟S2705是),對第i更新標志262設定1(步驟S2706)。接著,系統(tǒng)管理部203暫時解鎖程序管理信息220(步驟S2707),釋放共有存儲部202內用于配置第I程序的程序代碼231的區(qū)域(步驟S2708)。之后,系統(tǒng)管理部203將登錄對象的程序的程序代碼寫入共有存儲部202內新確保的區(qū)域中(步驟S2709),使用關于登錄對象程序的信息來更新第I程序代碼信息270和程序功能信息280(步驟S2710)。
之后,系統(tǒng)管理部203對第I更新標志262設定0(步驟S2712)。此時,系統(tǒng)管理部203事先鎖定程序管理信息220(步驟S2711),事后解鎖程序管理信息220(步驟S2713)。系統(tǒng)管理部203據此完成程序更新處理。
如圖20至圖22所示,系統(tǒng)管理部203通過進行排他控制后,訪問程序管理信息220。另外,如圖18所示,處理器201也通過進行排他控制后,訪問程序管理信息220。從而,通過與程序代碼231分離來進行對程序管理信息220的排他控制,多個處理器可同時從共有存儲部202下載程序。
在本實施例的動圖像編碼裝置中,說明處理器201從共有存儲中202中讀出執(zhí)行次處理用的程序后執(zhí)行的一實例。下面,假定如下狀況。在動圖像編碼裝置的a個功能中,設第一功能為消失功能,在共有存儲部202中存儲的p個程序中,僅第8程序支持消失功能。另外,對共有存儲部202中存儲的s個順序而言,設在第4順序中圖像不消失,在第5順序下圖像消失。另外,第三處理器使用第7程序,完成關于第4順序的處理(例如宏程序塊編碼處理),并選擇關于第5順序的處理作為次處理。
此時,第3處理器使用的第7程序因為不支持消失功能,所以不能處理第4順序。因此,第3處理器從共有存儲部202中存儲的p個程序中選擇第8程序,將第8程序的程序代碼231從共有存儲部202下載到本身的RAM中。之后,第3處理器根據下載的第8程序,對第4順序執(zhí)行包含消失功能的動圖像編碼處理。
如上所述,根據本實施例的動圖像編碼裝置,各處理器根據共有存儲部中存儲的功能信息,選擇下一處理必需的程序,傳送并執(zhí)行選擇的程序。各處理器中的程序選擇、傳送和執(zhí)行與其它處理器的動作獨立,在任意定時進行。因此,各處理器不影響其它處理器的動作,可選擇并執(zhí)行下一處理必需的程序。因此,可不影響執(zhí)行中的編碼處理,在編碼處理中切換編碼處理的內容。另外,即使邊變更編碼處理的內容,邊追加新功能,也可不中斷編碼處理就進行這些操作。
實施例4根據本發(fā)明實施例4的動圖像編碼裝置的特征在于各處理器在執(zhí)行選擇的處理時檢測異常,在異常檢測時本身停止。具體而言,各處理器在執(zhí)行選擇處理時生成位流的情況下,檢查生成的位流大小和語法,根據這些檢查結果,判斷選擇的處理中是否產生異常。
圖23是根據本實施例的動圖像編碼裝置的數據配置圖。在圖23中,n個處理器301-1~n和共有存儲部302分別細化圖1所示處理器1-1~n和共有存儲部2。另外,圖23中,為了說明本實施例的特征,僅表示必要的數據,對其它數據省略圖示。如圖23所示,在各處理器301中存儲處理器識別信息311,在共有存儲部302中,對s個各順序存儲順序管理信息320和順序處理用數據330。在第i順序處理用數據330中,包含編碼第i順序時必需的所有數據,例如動圖像數據、控制信息、中間結果和位流等。
系統(tǒng)管理信息320包含處理器序號321、開始標志322、結束標志323、錯誤標志324、暫停標志325和計數值326。處理器序號321是對該順序現在執(zhí)行處理的處理器的處理器識別信息31。開始標志322、結束標志323、錯誤標志324、暫停標志325和計數值326都由各處理器301設定,從各處理器301參照。開始標志322在開始對該順序的處理時設定為1。結束標志323在結束對該順序的處理時設定為1。錯誤標志324在對該順序的處理中檢測到異常時設定為1。暫停標志325在對該順序的處理中產生暫停時設定為1。計數值326用于檢測產生異常的處理器。后面描述系統(tǒng)管理信息320中包含的各數據使用方法的細節(jié)。
圖24是表示各處理器301的主處理的流程圖。n個處理器301-1~n都通過執(zhí)行圖2所示編碼處理用程序32,根據圖24所示流程圖來動作。如圖24所示,各處理器301由次處理選擇處理(圖25)來選擇接著應執(zhí)行的處理,當由選擇的處理生成位流時,執(zhí)行位流檢查處理(圖26)、順序管理信息更新處理(圖27)和計數值更新處理(圖28)。
圖24所示各步驟的細節(jié)如下。處理器301一旦啟動,則首先進行初始化處理(步驟S3101)。在初始化處理中,處理部301進行初始化本身RAM內的編碼處理用數據(圖2所示編碼處理用數據33)等處理。之后,處理器301通過后述的次處理選擇處理(圖25),選擇接著應執(zhí)行的處理(步驟S3102)。在步驟S3102中,處理器301選擇接著應執(zhí)行的順序和GOP,在可對選擇的GOP執(zhí)行的處理中,選擇一單位處理。
接著,處理器301執(zhí)行在步驟S3102中選擇的處理(步驟S3103)。具體而言,處理器301從共有存儲部302中讀出必要的數據后,寫入本身的RAM(圖2所示RAM23)中,對RAM內的數據執(zhí)行選擇的處理。此外,處理器301除去由選擇的處理生成位流的情況外,從本身的RAM中讀出由選擇的處理生成的結果后寫入共有存儲部302中。之后,處理器301在步驟S3103的處理中生成位流的情況下前進到步驟S3105,在此外的情況下前進到步驟S3111。
在由步驟S3103的處理生成位流的情況下(步驟S3104是),處理器301通過后述的位流檢查處理(圖26),檢查生成的位流是否正常(步驟S3105)。接著,處理器301通過后述的順序管理信息更新處理(圖27),根據位流檢查處理的結果,更新順序管理信息(步驟S3106)。此時,處理器301在位流檢查處理中檢測出異常的情況下,將該情況記錄在順序管理信息320中。
之后,處理器301判斷步驟S3103的處理是否正常結束,在判斷為正常結束的情況下,前進到步驟S3108(步驟S3107)。此時,處理器301將步驟S3103中生成的位流寫入共有存儲部302的順序處理用數據330中(步驟S3108),執(zhí)行后述的計數值更新處理(圖28)(步驟S3109)。另外,在步驟S3107中,除在位流檢查處理中檢測出異常的情況外,如后所述,在步驟S3103的處理暫停和其它處理器判斷的情況下,也判斷為未正常結束。
在步驟S3103的處理中未生成位流的情況下(步驟S3104否),處理器301進行與步驟S3106相同的順序管理信息更新處理(圖27)(步驟S3111),前進到步驟S3110。另外,在步驟S3111的順序管理信息更新處理中,步驟S3103的處理通常作為正常結束來處理。
在判斷為步驟S3103的處理正常結束的情況下,處理器301到達步驟S3110。此時,處理器301判斷是否結束所有編碼處理(步驟S3110)。處理器301在結束所有編碼處理的情況下(步驟S3110是),結束處理。另一方面,在還剩余處理的情況下(步驟S3110否),處理器301前進到步驟S3102,繼續(xù)編碼處理。
在判斷為步驟S3103的處理未正常結束的情況下(步驟S3107否),處理器判斷為不能繼續(xù)編碼處理,結束處理。此時,處理器301即使在步驟S3103的處理中生成位流,也不將該位流寫入共有存儲部302中而1放棄。從而,檢測異常后本身停止的處理器301結束維護檢修等作業(yè),一直停止,直到從用戶發(fā)來再啟動指示。
圖25是次處理選擇處理的流程圖。如圖25所示,處理器301從共有存儲部302中存儲的s個順序中選擇接著應處理的順序,通過初始化選擇的順序的順序管理信息320后,從可對選擇的順序執(zhí)行的多個處理中選擇接著應執(zhí)行的處理。圖25所示處理的特征在于優(yōu)先選擇其它處理器執(zhí)行時產生異?;驎和5奶幚?錯誤標志324或暫停標志325為1的處理)。
圖25所示各步驟的細節(jié)如下。在次處理選擇處理中,處理器301首先鎖定順序管理信息320(步驟S3201),將1代入變量i(步驟S3202)。
接著,處理器30 1通過步驟S3202至S3205的處理,從具有s個要素的順序管理信息320中搜索錯誤標志324或暫停標志325為1的要素。具體而言,處理器301在第i錯誤標志324或第i暫停標志325為1的情況下(步驟S3203是),前進到步驟S3211。此時,選擇對第i順序的處理作為接著應執(zhí)行的處理。另外,在第i錯誤標志324和第i暫停標志325都為0(步驟S3203否)且變量i小于s(順序的個數)的情況下(步驟S3204是),處理器301向變量i加1(步驟S3205),前進到步驟S3203。
在第i錯誤標志324和第i暫停標志325都為0(步驟S3203否)且變量i大于s的情況下(步驟S3204否),處理器301前進到步驟S3206。此時,處理器301將1代入變量i后(步驟S3206),通過步驟S3207至S3209的處理,從具有s個要素的順序管理信息320中搜索開始標志322為0的要素。具體而言,處理器301在第i開始標志322為1的情況下(步驟S3207是),前進到步驟S3211。此時,選擇對第i順序的處理,作為接著應執(zhí)行的處理。另外,在第i開始標志322為1(步驟S3207否),且變量i小于s(順序的個數)的情況下(步驟S3208是),處理器301向變量i加1(步驟S3209),前進到步驟S3207。
在第i開始標志322為1(步驟S3207否),且變量I大于s的情況下(步驟S3208否),處理器301前進到步驟S3210。此時,處理器301判斷為不存在接著應執(zhí)行的處理,將表示無次處理的0代入變量I后(步驟S3210),前進到步驟S3213。
在步驟S3203或S3207中選擇接著應處理的順序的情況下,處理器301初始化第i順序管理信息320(步驟S3211)。即,處理器301對于第i順序管理信息320而言,分別對處理器序號321設定本身的處理器識別信息31,對開始標志322設定1,對結束標志323、錯誤標志324、暫停標志325和計數值326設定0。接著,處理器301從在該時刻可對第i順序執(zhí)行的單位處理中選擇一個單位處理,作為接著應執(zhí)行的處理(步驟S2312)。之后,處理器301解鎖順序管理信息320(步驟S3213),據此完成次處理選擇處理。
在圖25所示的次處理選擇處理中,優(yōu)先選擇錯誤標志324或暫停標志325為1的順序和處理、即在其它處理器執(zhí)行時產生異常的處理。在不存在這種處理的情況下,選擇開始標志320為0的順序和處理、即未由其它處理器執(zhí)行的處理。從而,通過早期執(zhí)行產生異常的處理,可安全、確實地執(zhí)行動圖像編碼處理。
圖26是位流檢查處理的流程圖。在位流檢查處理中,處理器301首先檢查步驟S3103中生成的位流大小(代碼量)是否在規(guī)定范圍內。具體而言,處理器301在代碼量小于規(guī)定的最大值(步驟S3301是)、且代碼量大于規(guī)定的最小值的情況下(步驟S3302是),前進到步驟S3303,在此外的情況下,前進到步驟S3306。
接著,處理器301進行步驟S3103生成的位流的詳細語法檢查(步驟S3303)。接著,處理器301在判斷生成的位流通過語法檢查的情況下,前進到步驟S3305,在此外的情況下,前進到步驟S3306(步驟S3304)。
處理器301在生成的位流都通過上述三個檢查的情況下,判斷位流正常,步驟S3103的處理正常結束(步驟S3305)。相反,在生成的位流未通過上述三個檢查任一個的情況下,處理器301判斷位流異常,步驟S3103的處理異常結束(步驟S3306)。處理器301在S3305或S3306之一中進行上述判斷后,完成位流檢查處理。
圖27是順序管理信息更新處理的流程圖。在順序管理信息更新處理中,處理器301首先鎖定順序管理信息320(步驟S3401),將步驟S3103中處理的順序的順序序號代入變量i(步驟S3402)。
接著,處理器301通過步驟S3403和S3404的處理,確認其它處理器未處理本身處理的順序。具體而言,處理器301在第i處理器序號321與本身處理器識別信息311一致(步驟S3403是)、且第i暫停標志325為0的情況下(步驟S3404是),前進到步驟S3405,在此外的情況下,前進到步驟S3408。
在前者的情況下,處理器301對應于步驟S3103的處理的執(zhí)行結果,更新第i的順序管理信息320。具體而言,處理器301判斷步驟S3103的處理是否正常結束(步驟S3405)。在處理正常結束的情況下(步驟S3405是),處理器301分別對第I開始標志322設定0,對第i結束標志323設定1(步驟S3406)。在處理未正常結束的情況下(步驟S3405否),處理器301對第i錯誤標志324設定1(步驟S3407)。接著,處理器301解鎖順序管理管理信息320(步驟S3408),據此完成順序管理信息更新處理。
根據圖27所示順序管理信息更新處理,在執(zhí)行選擇處理時產生異常的情況下,將產生異常的意思記錄在共有存儲部302中存儲的順序管理信息320的錯誤標志324中。對于上述次處理選擇處理(圖25)而言,在選擇接著應執(zhí)行的處理時參照錯誤標志324。
圖28是計數值更新處理的流程圖。在計數值更新處理中,處理器301首先鎖定順序管理信息320(步驟S3501),將1代入變量I(步驟S3502)。
接著,處理器301通過步驟S3503到S3509的處理,更新各順序的計數值326,使用計數值326來檢測其它處理器的處理暫停。細節(jié)如下。處理器301在第i開始標志322為1、且第i結束標志323為0的情況下,前進到步驟S3504,在此外的情況下,前進到步驟S3508(步驟S3503)。在步驟S3504中,處理器301在第I錯誤標志324或第i暫停標志325為1的情況下,前進到步驟S3508,在此外的情況下,前進到步驟S3505。
在前者的情況下,處理器301向第i計數值326加1(步驟S3505)。接著,處理器301在第i計數值326大于規(guī)定上限直的情況下(步驟S3506是),對第i暫停標志325設定1(步驟S3507)。
接著,處理器301在變量i小于s(順序的個數)的情況下(步驟S3508是),向變量i加1后(步驟S3509),前進到步驟S3503。此時,處理器301對下一順序進行步驟S3503到S3508的處理。另一方面,在變量I大于s的情況下(步驟S3508否),處理器301解鎖順序管理信息320(步驟S3510),據此完成計數值更新處理。
根據圖28的計數值更新處理,更新處理器處理的順序的計數值326,若更新后的計數值326大于上限值,則將該順序的暫停標志325設定為1。對于上述的順序管理信息更新處理(圖27)而言,在判斷選擇的處理是否正常結束時參照暫停標志325。
根據圖24至圖28所示流程圖,處理器301通過檢查位流的大小和語法以處理時間,檢測在執(zhí)行選擇處理時產生的異常,并在異常檢測時將該意思記錄在順序管理信息320中后本身停止。另外,處理器301在異常檢測時,不將生成的位流寫回共有存儲部302中而4放棄,在維護檢修后,一直停止,直到從用戶發(fā)來再啟動指示為止。
另外,處理器301更新各順序的計數值326,在處理開始時初始化計數值326大于規(guī)定值的情況下,判斷該處理暫停,將該意思記錄在順序管理信息320中。此外,處理器301根據順序管理信息320,檢測判斷本身的處理是暫停的情況下,與在位流檢查中檢測異常的情況一樣,本身停止。此時,由停止處理器以外的處理器301優(yōu)先執(zhí)行判斷為暫停的處理。
圖29是表示根據本實施例的動圖像編碼裝置中各處理器動作狀態(tài)的時間圖。在圖29所示實例中,假設動圖像編碼裝置具有第1至第6處理器,其中,第1處理器因為故障而停止。另外,設第2至第6處理器彼此獨立,對不同的順序進行編碼處理,生成位流。在圖29所示實例中,第4處理器在動作中的五個處理器中最先完成對第1順序的編碼處理。第4處理器在編碼處理后,檢測生成的位流是否正常。第4處理器判斷位流正常,在時刻t1以后進行次處理選擇處理。在該時刻,已完成對第一順序的編碼處理,由其它處理器執(zhí)行對第2至第5順序的編碼處理。因此,第4處理器選擇對第6順序的編碼處理,作為接著應執(zhí)行的處理,開始該處理。
接著,設第5處理器完成對第2順序的編碼處理。第5處理器在編碼處理后,檢查生成的位流是否正常。第5處理器判斷位流正常,在時刻t2本身停止。
接著,設第2處理器完成對第4順序的編碼處理。第2處理器在編碼處理后,檢查生成的位流是否正常。第2處理器判斷位流正常,在時刻t3以后進行次處理選擇處理。在該時刻,將對第2順序的處理中產生異常記錄在共有存儲部302中存儲的順序管理信息320的錯誤標志324中。從而,第2處理器選擇其它處理器執(zhí)行時產生異常的、對第2順序的編碼處理作為接著應執(zhí)行的處理,開始該處理。
接著,設第3處理器正常完成對第3順序的編碼處理。第3處理器在時刻t4后進行次處理選擇處理,開始對第7順序的編碼處理。接著,設第6處理器正常完成對第5順序的編碼處理。第6處理器在時刻t5后進行次處理選擇處理,開始對第8順序的編碼處理。
如圖29所示,在各順序的編碼處理中產生異常的情況下,執(zhí)行該處理的處理器停止,其它處理器代替執(zhí)行該處理。另外,在圖29中,雖然表示在生成的位流中產生異常的情況,但編碼處理暫停的情況也一樣。
如上所述,根據本實施例的動圖像編碼裝置,各處理器根據共有存儲部中存儲的編碼處理的進行狀態(tài),選擇執(zhí)行下一處理,同時,在執(zhí)行選擇處理時產生異常時本身停止。各處理器的處理的選擇、執(zhí)行異常檢測和停止與其它處理器獨立,在任意定時進行。因此,不具備進行編碼處理執(zhí)行控制的處理器就可在編碼處理中檢測產生異常的處理器。從而,即使在編碼處理中也可容易進行處理器的修理或交換,若至少一個處理器正常動作,則可繼續(xù)編碼處理。
此時,通過根據生成的位流大小或語法、或選擇處理的處理時間來進行異常檢測,可在編碼處理中容易檢測產生異常的處理器。另外,由各處理器更新共有存儲部中存儲的計數值,使用計數值來檢測產生異常的處理器,所以各處理器不啟動計時器就可計算處理所需時間,檢測產生異常的處理器。另外,將處理器中產生異常的意思記錄在共有存儲部中,各處理器優(yōu)先執(zhí)行產生異常的處理,所以可安全、確實地執(zhí)行動圖像編碼處理。
另外,在位流中產生異常時,原樣利用異常發(fā)生前生成的位流,再執(zhí)行為了求出以后的位流而必需的最小限的編碼處理。此時,因為產生異常的處理被記錄在順序管理信息中,所以若對其進行分析,則可容易特定異常處理器。因此,容易進行裝置的維修管理,可抑制故障引起的裝置整體的運行率低下。
另外,在共有存儲部中存儲的順序或各處理器中存儲的程序中存在異?;蚬收蠒r,所有處理器中產生相同的異常,停止裝置整體的動作。因此,因為這種情況下在產生異常時刻也中斷處理,所以不輸出異常位流,可容易探明異常原因。
另外,各處理器本身檢查執(zhí)行選擇處理時的異常,因為在異常檢測時本身停止,所以不必進行并行處理裝置中必需的復雜異常檢測處理。另外,因為各處理器獨立選擇接著應執(zhí)行的處理,所以可以與通常的次處理選擇處理一樣的要領來容易執(zhí)行異常發(fā)生時的再編碼處理,可在任意定時容易地追加追加和刪除處理器的功能。
實施例5根據本發(fā)明實施例5的動圖像編碼裝置的特征在于具備具有分散文件系統(tǒng)結構的共有存儲部。具體而言,共有存儲部包含可彼此獨立訪問的多個圖像存儲裝置,在動作矢量搜索執(zhí)行中,各圖像存儲裝置中分散存儲編碼對象的動圖像數據。
圖30是表示根據本實施例的動圖像編碼裝置的共有存儲部詳細結構的圖。在圖30中,共有存儲部402和轉接集線器404分別細化圖1所示的共有存儲部2和網絡4。另外,n個處理器401-1~n對應于圖1所示的處理器1-1~n,系統(tǒng)管理部403對應于圖1所示系統(tǒng)管理部3,圖像輸入部411對應于圖1所示圖像輸入部11。
圖像輸入部411包含數字錄像機(DVCR)412和盤式錄音機413。在數字錄像機412中安裝記錄編碼對象的動圖像數據的盒狀記錄媒體。盤式錄機413在原樣未編碼狀態(tài)下按每幀以規(guī)定的文件形式存儲從數字錄像機412輸出的動圖像數據。
共有存儲部402包含參數存儲裝置421、q個圖像存儲裝置422-1~q和位流存儲裝置423。參數存儲裝置421存儲各處理器401的編碼處理必需的控制參數,從所有n個處理器401-1~n來訪問。q個圖像存儲裝置422-1~q分散存儲各處理器401編碼處理必需的動圖像數據。分散存儲動圖像數據的方法細節(jié)如后述。位流存儲裝置423存儲編碼結果的位流。
共有存儲402中包含的存儲裝置(在圖30中為(q+2)個存儲裝置)都例如用NAS(Network Attached Storage)等構成,分別獨立連接在轉接集線器404上。因此,各處理器401可獨立訪問共有存儲部402中包含的存儲裝置。另外,圖像存儲裝置422僅設置來自處理器401的訪問不構成編碼處理瓶頸的數量。圖像存儲裝置422的個數q限于滿足上述條件,也可以比處理器401的個數n少。例如,在處理器401的個數n為10-20的情況下,圖像存儲裝置422的個數q為2-6。
轉接集線器404通過開關結構連接在盤式錄音機413、n個處理器401-1~n、參數存儲裝置421、q個圖像存儲裝置422-1~q和位流存儲裝置423之間。轉接集線器404設成具有來自處理器401的訪問不構成編碼處理瓶頸的充足數據轉換容量。另外,轉接集線器404不必都以開關結構連接于連接對象的裝置間,至少以開關結構連接在執(zhí)行動圖像編碼處理而必需交換數據的裝置間就足以。
圖31是表示參數存儲裝置421中存儲的控制參數細節(jié)的圖。如圖31所示,控制參數對s個順序包含順序屬性信息430和順序管理信息440。順序管理信息440包含處理器序號441、開始標志442、結束標志443、錯誤標志444、暫停標志445和計數值446。順序管理信息440中包含的這些要素與實施例4中描述的相同(參照圖23),所以這里省略說明。
順序屬性信息430作為表示順序屬性的信息,包含順序序號431、開始時刻432、結束時刻433、GOP結構信息434、服務器名稱435、目標比特率436、圖像存儲裝置序號437和位流形成標志438等。順序序號431表示順序的序號。開始時刻432和結束時刻433分別以一幀作為單位的時間來表示順序的開始時刻和結束時刻。GOP結構信息434表示順序的GOP結構。在圖31所示實例中,第一順序的GOP結構信息表示在GOP中包含三個I圖像、包含15個圖像、位于GOP開頭的圖像是I圖像。服務器名稱435表示編碼處理前存儲順序的服務器名稱。目標比特率436表示編碼順序時作為目標值設定的比特率。圖像存儲裝置序號437表示編碼處理中存儲順序的圖像存儲裝置的序號。在圖31所示實例中,圖像存儲裝置序號437取1-q之一值。位流形成標志438表示是否已形成位流。位流形成標志438在已形成位流時為1,在此外的情況下為0。
通常,動圖像編碼處理品必需最多計算量的處理是動作矢量搜索。因此,根據本實施例的動圖像編碼裝置在第1路線中進行包含動作矢量搜索處理的處理,在第2路線中進行動作矢量搜索處理后的處理,在兩個路線處理中編碼動圖像數據。具體而言,在第1路線中,除動作矢量搜索外,還進行特征提取、場面檢測、GOP結構確定、虛擬編碼、位分配等處理。在第2路線中,使用第1路線中求出的動作矢量搜索結果來進行原編碼。在原編碼中,包含幀間差運算、正交變換、量子化、可變長度編碼、局域解碼、編碼控制等處理。另外,在第2路線中,對于第1路線中未得到動作矢量搜索結果的部分宏程序塊,也可進行動作矢量搜索。從而,在兩個路線處理中進行動圖像編碼處理的情況下,相對第1路線中動作矢量搜索的計算變?yōu)樘幚砥款i而言,第2路線中對共有存儲部402的訪問變?yōu)樘幚淼钠款i。因此,根據本實施例的動圖像編碼裝置進行將動圖像數據分散存儲在共有存儲部402中的處理,作為在執(zhí)行第1路線處理中,執(zhí)行第2路線處理的準備。
圖32是表示各處理器401的主處理的流程圖。n個處理器401-1~n都通過執(zhí)行圖2所示編碼處理用程序32,根據圖32所示流程圖來動作。在進行圖32所示處理前,通過系統(tǒng)管理部403的控制,從數字錄像機412中讀出動圖像數據,按每幀以文件形式存儲在盤式錄音機413中。圖32表示系統(tǒng)管理部403啟動后的處理器401的動作。
一旦啟動處理器401,則首先進行初始化處理(步驟S4101)。在初始化處理中,處理器401進行初始化本身RAM內編碼處理用數據(圖2所示編碼處理用數據33)等處理。接著,處理器401選擇包含于第1路線中的處理作為次處理(步驟S4102),從盤式錄音機413中讀出應處理的順序。接著,處理器401對步驟S4103中讀出的順序執(zhí)行步驟S4102中選擇的處理(步驟S4104)。在步驟S4104中,進行特征提取、場面檢測、GOP結構確定、動作矢量拾出、虛擬編碼、位分配等處理。
之后,處理器401從q個圖像存儲裝置422-1~q中選擇一個圖像存儲裝置,將步驟S4102中讀出的順序寫入選擇的圖像存儲裝置中(步驟S4105)。后述選擇圖像存儲裝置的方法。之后,處理器401更新參數存儲裝置421中存儲的圖像存儲裝置序號437(步驟S4106)。例如,在將第i順序寫入第j圖像存儲裝置422-j的情況下,處理器401將值j設定為第i順序的圖像存儲裝置序號437。之后,處理器401判斷是否結束所有第1路線的處理(步驟S4107)。在未結束所有第1路線的處理的情況下(步驟S4107否),處理器401前進到步驟S4012,再選擇執(zhí)行第1路線的處理。
在結束所有第1路線的處理的情況下(步驟S4107是),處理器401前進到步驟S4108。此時,處理器選擇第2路線中包含的處理作為次處理(步驟S4108),從參數存儲裝置412中讀出作為次處理對象的順序的圖像存儲裝置序號437,從該序號的圖像存儲裝置422中讀出順序(步驟S4109)。之后,處理器401對步驟S4109中讀出的動圖像數據執(zhí)行步驟S4108中選擇的處理(步驟S4110)。在步驟S4110中,進行幀間差運算、正交變換、量子化、可變長度編碼、局域解碼、編碼控制等處理。
接著,處理器401判斷步驟S4110的處理中是否產生位流(步驟S4111),在生成位流的情況下(步驟S4111是),進行將生成的位流寫入位流存儲裝置423的處理(圖33)(步驟S4112)。之后,處理器402判斷是否結束所有第2路線的處理(步驟S4113)。在未結束所有第2路線的處理的情況下(步驟S4113否),處理器401前進到步驟S4018,再選擇執(zhí)行第2路線的處理。在結束所有第2路線的處理的情況下(步驟S4113是),處理器401結束處理。
從而,在步驟S4102到S4107中,執(zhí)行第1路線的處理,在步驟S4108到S4113中,執(zhí)行第2路線的處理。另外,在執(zhí)行第1路線的處理中,從圖像輸入部411輸入的動圖像數據分散寫入q個圖像存儲裝置422-1~q。從而,構筑在執(zhí)行第1路線的處理中,第2路線執(zhí)行必需的分散文件系統(tǒng)。
在步驟S4105中,從q個圖像存儲裝置422-1~q中選擇作為順序寫入目的的圖像存儲裝置的方法中存在如下方法。作為第1方法,有對每個處理器事先確定寫入目的的圖像存儲裝置的方法。作為第2方法,有對每個順序序號事先確定寫入目的的圖像存儲裝置的方法。作為第3方法,有將各圖像存儲裝置中存儲的順序個數或幀數存儲在參數存儲裝置421中,各處理器401根據這些信息,動態(tài)選擇圖像存儲裝置,使動圖像數據的存儲量在圖像存儲裝置間變均勻的方法。處理器401在步驟S4106中,更新參數存儲裝置421中包含的圖像存儲裝置序號437。因此,即使在使用上述任一方法的情況下,處理器401都可知道在執(zhí)行第2路線處理時,處理對象的順序存儲在哪個圖像存儲裝置中。因此,即使第1路線中寫入順序的處理器與第2路線中讀出順序的處理器不同,也可正確執(zhí)行動圖像編碼處理。
圖33是處理器401的位流寫入處理的流程圖。下面,將參數存儲裝置421中存儲的第i順序的位流形成標志438表示為C[I]。在位流寫入處理中,處理器401首先將現在處理中的順序的順序序號431代入變量k,對第k順序的位流形成標志438設定1(步驟S4201)。之后,處理器401判斷k是否為1(步驟S4202)。在k為1的情況下(步驟S4202是),處理器401為了寫入位流的開頭部分,形成位流寫入目的文件BF,將生成的位流寫入形成的文件BF中(步驟S4203)。
在步驟S4202中,在k不為1的情況下(步驟S4202否),處理器401為了檢測是否已生成生成位流前的部分,判斷C[1]到C[k-1]是否全部為1(步驟S4204)。在C[1]到C[k-1]全部為1的情況下(步驟S4204是),處理器401將生成的位流連接到位流寫入目的文件BF上(步驟4205)。在此外的情況下(步驟S4204否),處理器401與位流寫入目的文件BF不同地新形成文件Fk,將生成的位流寫入文件Fk(步驟S4206)。
處理器401在步驟S4203、S4205和S4206后,都前進到步驟S4207。接著,處理器401為了檢測是否已生成生成位流后的部分,求出C[k+1]到C[k+r]全部為1的r(步驟S4207)。之后,處理器401檢測r是否大于1(步驟S4208)。在r大于1的情況下(步驟S4208是),處理器401按正的順序將文件Fk+1至Fk+r連接到位流寫入目的文件BF上,之后,刪除文件Fk+1~Fk+r(步驟4209)。處理器401據此完成位流寫入處理。
下面,說明根據本實施例的動圖像編碼裝置的效果。通常,在使用多個處理器來進行動圖像編碼處理的情況下,對數據(尤其是原圖像數據)的訪問變?yōu)樘幚砥款i,編碼處理時間變長。因此,不進行作為并行進行動圖像編碼處理時的目標的實時處理。
在根據本實施例的動圖像編碼裝置中,動圖像數據中包含的順序分散存儲在多個圖像存儲裝置422-1~q中。另外,各處理器401分別獨立訪問分散存儲的順序。因此,通過適當分散存儲順序使來自處理器401的訪問不沖突,可防止來自處理器401的訪問不變?yōu)榫幋a處理的瓶頸。
另外,在根據本實施例的動圖像編碼裝置中,從盤式錄音機413輸入的順序在動作矢量搜索執(zhí)行中分散存儲在共有存儲部402中。動作矢量搜索結束后,處理器401對分散存儲的順序并行執(zhí)行編碼處理。在動作矢量搜索中,計算變?yōu)樘幚砥款i,相反,在動作矢量搜索后的處理中,輸入輸出變?yōu)樘幚淼钠款i。因此,在輸入輸出存在過剩的動作矢量搜索執(zhí)行中,通過將動圖像數據分散存儲在多個圖像存儲裝置中,為高速進行輸入輸出中沒有過剩的動作矢量搜索后的處理作準備。從而,可防止動作矢量搜索后的處理中輸入輸出變?yōu)樘幚淼钠款i。如上所述,根據本實施例的動圖像編碼裝置,可高速進行動圖像編碼處理。從而,若處理器401的臺數足夠多,則可實時進行動作矢量搜索以外的動圖像編碼處理。
另外,在使用多個處理器來并行進行動圖像編碼處理的情況下,在任意定時生成編碼結果的位流。另外,短地分割生成的位流,因為其長度也不一定,所以必需連接生成的位流,有必要形成一條位流。因此,在生成某個位流的處理器連接該位流的方法中,在位流的連接順序與生成順序不同的情況下,必需在處理器間取得同步。因此,在該方法中,產生處理器等待其它處理器處理的時間,處理時間變長。
在根據本實施例的動圖像編碼裝置中,處理器401在生成位流的某部分時,在未完成其前的部分時,處理器401將生成的位流作為此后應連接的位流寫入位流存儲裝置423。此時,作為此后應連接的位流的連接處理由其它處理器進行。因此,即使在位流的連接順序和生成順序不同的情況下,處理器也可不等待其它處理器的處理來開始可執(zhí)行的其它處理。因此,可高速進行動圖像編碼處理。
另外,本發(fā)明不限于上述各實施例,可進行各種改變。因為各實施例中使用共同的硬件結構,所以可任意組合各實施例的特征來構成動圖像編碼裝置。因此,可構成具有各實施例特征中任意個特征的動圖像編碼裝置。例如,可構成具有實施例1和3的特征的動圖像編碼裝置,或具有實施例1、4和5的特征的動圖像編碼裝置。另外,動圖像編碼裝置中也可包含一個以上任意數據的處理器,各處理器的運算處理能力也可不同。另外,除實施例5外,也可任意確定處理器與共有存儲部之間的連接方式或共有存儲部的結構。
在實施例1和2中,可在各處理器中執(zhí)行不同內容的次處理選擇處理品,也可固定部分處理器中的處理。在實施例3中,僅部分處理器對應于選擇的次處理來更新程序?;蛘撸诟魈幚砥鞯腞AM等中,存儲幾個各處理器過去使用過的程序,對應于選擇的次處理來更新程序時,可以取代共有存儲部中存儲的程序,使用各處理器中分別存儲的程序。在實施例4中,也可在即使執(zhí)行選擇的處理也不生成位流的情況下,檢查其處理是否正常結束?;?,不僅在將位流寫入共有存儲部之后,也可在從各處理器的處理整體中任意選擇的部位執(zhí)行計數值更新處理。
權利要求
1.一種動圖像編碼裝置,具備并行動作的多個處理部、和從上述處理部共同訪問的共有存儲部,其特征在于上述共有存儲部存儲為了獨立適用處理而分割成規(guī)定單位的動圖像數據;和對于分割后的動圖像數據的各單位,編碼處理必需的數據和編碼處理的進行狀態(tài),上述各處理部包括次處理選擇部,根據上述共有存儲部中存儲的編碼處理的進行狀態(tài),選擇分割的一單位的動圖像數據和對于該一單位的動圖像數據接著應執(zhí)行的處理;處理執(zhí)行部,對于上述次處理選擇部選擇的一單位的動圖像數據,執(zhí)行上述次處理選擇部選擇的處理。
2.根據權利要求1所述的動圖像編碼裝置,其特征在于上述次處理選擇部從動圖像編碼處理中包含的多個處理中選擇一個處理,作為接著應執(zhí)行的處理。
3.根據權利要求1所述的動圖像編碼裝置,其特征在于上述各處理部還具備個別存儲部,存儲各處理部的處理必需的數據,上述處理執(zhí)行部在執(zhí)行由上述次處理選擇部選擇的處理之前,從上述共有存儲部中讀出該處理所必需的數據后存儲在上述個別存儲部中,對上述個別存儲部中存儲的數據執(zhí)行該處理,從上述個別存儲部中讀出該處理中得到的數據后,存儲在上述共有存儲部中。
4.根據權利要求3所述的動圖像編碼裝置,其特征在于上述處理執(zhí)行部在執(zhí)行上述次處理選擇部選擇的處理之前,在上述個別存儲部中未存儲該處理所需的數據的情況下,從上述共有存儲部中讀出該處理所需數據后存儲在上述個別存儲部中。
5.根據權利要求1所述的動圖像編碼裝置,其特征在于上述共有存儲部還存儲上述管理處理部的識別信息用的識別管理信息,上述各處理部還包含根據上述識別管理信息來取得未使用的識別信息的處理部追加部;和釋放上述處理部追加部取得的識別信息的處理部刪除部,上述次處理選擇部和上述處理執(zhí)行部在釋放取得的識別信息前的期間動作。
6.根據權利要求5所述的動圖像編碼裝置,其特征在于上述處理部刪除部在根據上述識別管理信息,判斷上述處理部追加部取得的識別信息失效時,釋放該識別信息。
7.一種動圖像編碼裝置,具備并行動作的多個處理部;和從上述處理部共同訪問的共有存儲部,其特征在于上述共有存儲部存儲編碼對象的動圖像數據;上述動圖像數據編碼處理必需的數據;和管理上述處理部的識別信息用的識別管理信息,上述各處理部包括處理部追加部,根據上述識別管理信息來取得未使用的識別信息;處理部刪除部,釋放上述處理部追加部取得的識別信息;和編碼執(zhí)行部,在釋放取得的識別信息前的期間,對上述共有存儲部中存儲的動圖像數據執(zhí)行編碼處理。
8.根據權利要求7所述的動圖像編碼裝置,其特征在于上述處理部刪除部根據上述識別管理信息來判斷上述處理部追加部取得的識別信息失效時,釋放該識別信息。
9.一種動圖像編碼裝置,具備并行動作的多個處理部、和從上述處理部共同訪問的共有存儲部,其特征在于上述共有存儲部存儲傳送到上述處理部后由上述處理部執(zhí)行的多個程序;和表示上述多個程序功能的功能信息,上述各處理部包括次處理選擇部,從動圖像編碼處理中包含的多個處理中選擇一處理,作為接著應執(zhí)行的處理;程序更新部,根據上述共有存儲部中存儲的功能信息,從上述共有存儲部中存儲的多個程序中選擇用于執(zhí)行由上述次處理選擇部選擇的處理的程序,并從上述共有存儲部傳送選擇的程序;個別存儲部,存儲從上述共有存儲部傳送的程序;和處理執(zhí)行部,使用上述個別存儲部中存儲的程序,執(zhí)行由上述次處理選擇部選擇的處理。
10.根據權利要求9所述的動圖像編碼裝置,其特征在于上述共有存儲部還存儲為了獨立適用處理而分割成規(guī)定單位的動圖像數據;和對分割后的動圖像數據的各單位,編碼處理必需的數據和編碼處理的進行狀態(tài),上述次處理選擇部根據上述共有存儲部中存儲的編碼處理的進行狀態(tài),選擇分割后的一單位的動圖像數據和接著應對該一單位的動圖像數據執(zhí)行的處理,上述處理執(zhí)行部對上述次處理選擇部選擇的一單位動圖像數據執(zhí)行上述次處理選擇部選擇的處理。
11.根據權利要求9所述的動圖像編碼裝置,其特征在于上述程序更新部比較上述共有存儲部中存儲的功能信息和上述次處理選擇部選擇的處理功能,選擇執(zhí)行該處理用的程序。
12.根據權利要求9所述的動圖像編碼裝置,其特征在于上述程序更新部比較上述個別存儲部中存儲的程序功能與上述次處理選擇部選擇的處理功能,切換是否從上述共有存儲部傳送選擇的程序。
13.一種動圖像編碼裝置,具備并行動作的多個處理部、和從上述處理部共同訪問的共有存儲部,其特征在于上述共有存儲部存儲為了獨立適用處理而分割成規(guī)定單位的動圖像數據和對于分割后的動圖像數據的各單位,編碼處理必需的數據和編碼處理的進行狀態(tài),上述各處理部包括次處理選擇部,根據上述共有存儲部中存儲的編碼處理的進行狀態(tài),選擇分割的一單位的動圖像數據和對于該一單位的動圖像數據接著應執(zhí)行的處理;處理執(zhí)行部,對于上述次處理選擇部選擇的一單位的動圖像數據,執(zhí)行上述次處理選擇部選擇的處理;異常檢測部,檢測上述處理執(zhí)行部的處理部產生的異常;和處理停止部,在上述異常檢測部檢測到異常時,停止上述次處理選擇部和上述處理執(zhí)行部的編碼處理。
14.根據權利要求13所述的動圖像編碼裝置,其特征在于上述異常檢測部根據上述處理執(zhí)行部求得的動圖像數據的編碼結果,檢測上述處理執(zhí)行部的處理中產生的異常。
15.根據權利要求14所述的動圖像編碼裝置,其特征在于上述異常檢測部根據上述處理執(zhí)行部求得的動圖像數據編碼結果的大小,檢測上述處理執(zhí)行部的處理中產生的異常。
16.根據權利要求14所述的動圖像編碼裝置,其特征在于上述異常檢測部通過檢查上述處理執(zhí)行部求得的動圖像數據編碼結果的語法,檢測上述處理執(zhí)行部的處理中產生的異常。
17.根據權利要求13所述的動圖像編碼裝置,其特征在于上述異常檢測部根據上述處理執(zhí)行部的處理時間,檢測上述處理執(zhí)行部的處理中產生的異常。
18.根據權利要求17所述的動圖像編碼裝置,其特征在于上述共有存儲部還對分割的動圖像數據的各單位存儲異常檢測用計數值,上述各處理部還具備更新上述計數值的計數值更新部,上述處理執(zhí)行部在對上述次處理選擇部選擇的一單位的動圖像數據執(zhí)行上述次處理選擇部選擇的處理之前,初始化對該一單位動圖像數據的上述計數值,上述異常檢測部在上述處理執(zhí)行部的處理完成時,在上述處理執(zhí)行部初始化的計數值大于規(guī)定值時,判斷上述處理執(zhí)行部的處理中產生異常。
19.根據權利要求13所述的動圖像編碼裝置,其特征在于上述異常檢測部在判斷上述處理執(zhí)行部的處理中產生異常時,將產生異常的意思記錄為上述共有存儲部中存儲的編碼處理的進行狀態(tài),上述次處理選擇部根據上述共有存儲部中存儲的編碼處理的進行狀態(tài),在選擇分割的一單位的動圖像數據和應接著對該一單位動圖像數據執(zhí)行的處理時,優(yōu)先選擇記錄產生異常意思的處理。
20.一種動圖像編碼裝置,具備并行動作的多個處理部、和從上述處理部共同訪問的共有存儲部,其特征在于上述共有存儲部包含多個圖像存儲部,分散存儲為了獨立適用處理而分割成規(guī)定單位的動圖像數據;和參數存儲部,構成為可與上述各圖像存儲部獨立訪問,對于分割后的動圖像數據的各單位,存儲編碼處理必需的數據和處理的進行狀態(tài),上述各處理部包括次處理選擇部,根據上述參數存儲部中存儲的編碼處理的進行狀態(tài),選擇分割的一單位的動圖像數據和對于該一單位的動圖像數據接著應執(zhí)行的處理;和處理執(zhí)行部,對于上述次處理選擇部選擇的一單位的動圖像數據,執(zhí)行上述次處理選擇部選擇的處理。
21.根據權利要求20所述的動圖像編碼裝置,其特征在于還具備輸入編碼對象的動圖像數據的圖像輸入部,上述次處理選擇部至少在編碼處理的過程中將處理的選擇方法切換為兩個階段,在第一階段中,選擇包含動作矢量搜索的處理,作為接著應執(zhí)行的處理,在上述第一階段后的第二階段中,作為利用上述第一階段求出的動作矢量搜索結果,選擇未包含已知動作矢量搜索的處理來作為接著應執(zhí)行的處理,上述處理執(zhí)行部在上述次處理選擇部位于上述第一階段時,從上述圖像輸入部讀出上述次處理選擇部選擇的一單位的動圖像數據,在執(zhí)行上述次處理選擇部選擇的處理的同時,將讀出的動圖像數據寫入上述多個圖像存儲部中的一圖像存儲部中,當上述次處理選擇部位于上述第二階段時,從上述圖像存儲部中讀出上述次處理選擇部選擇的一單位的動圖像數據,執(zhí)行上述次處理選擇部選擇的處理。
22.根據權利要求21所述的動圖像編碼裝置,其特征在于上述次處理選擇部在對從上述圖像輸入部輸入的所有動圖像數據選擇上述第一階段處理后,將處理選擇方法從上述第一階段切換為上述第二階段。
23.根據權利要求20所述的動圖像編碼裝置,其特征在于上述共有存儲部還包含編碼結果存儲部,構成為可與上述各圖像存儲部和上述參數存儲部獨立訪問,存儲上述動圖像數據的編碼結果,上述處理執(zhí)行部在新求出動圖像數據的編碼結果時,在將比求出部分以前部分的編碼結果全部存儲在上述編碼結果存儲部中的情況下,將新求出的編碼結果連接于存儲于上述編碼結果存儲部中的編碼結果,在此外的情況下,不將新求出的編碼結果與存儲的編碼結果相連接,而寫入上述編碼結果存儲部中。
24.一種動圖像編碼方法,使用并行動作的多個處理部、和從上述處理部共同訪問的共有存儲部,其特征在于上述共有存儲部進行數據存儲步驟,存儲為了獨立適用處理而分割成規(guī)定單位的動圖像數據;和對于分割后的動圖像數據的各單位,編碼處理必需的數據和編碼處理的進行狀態(tài),上述各處理部進行次處理選擇步驟,根據上述共有存儲部中存儲的編碼處理的進行狀態(tài),選擇分割的一單位的動圖像數據和對于該一單位的動圖像數據接著應執(zhí)行的處理;和處理執(zhí)行步驟,對于上述次處理選擇步驟選擇的一單位的動圖像數據,執(zhí)行上述次處理選擇步驟選擇的處理。
25.一種動圖像編碼方法,使用并行動作的多個處理部、和從上述處理部共同訪問的共有存儲部,其特征在于上述共有存儲部進行數據存儲步驟,存儲編碼對象的動圖像數據;上述動圖像數據編碼處理必需的數據;和管理上述處理部的識別信息用的識別管理信息,上述各處理部進行處理部追加步驟,根據上述識別管理信息來取得未使用的識別信息;處理部刪除步驟,釋放上述處理部追加步驟取得的識別信息;和編碼執(zhí)行步驟,在釋放取得的識別信息前的期間,對上述共有存儲部中存儲的動圖像數據執(zhí)行編碼處理。
26.一種動圖像編碼方法,使用并行動作的多個處理部、和從上述處理部共同訪問的共有存儲部,其特征在于上述共有存儲部進行程序存儲步驟,存儲傳送到上述處理部后由上述處理部執(zhí)行的多個程序;和表示上述多個程序功能的功能信息,上述各處理部進行次處理選擇步驟,從動圖像編碼處理中包含的多個處理中選擇一處理,作為接著應執(zhí)行的處理;程序更新步驟,根據上述共有存儲部中存儲的功能信息,從上述共有存儲部中存儲的多個程序中選擇用于執(zhí)行由上述次處理選擇步驟選擇的處理的程序,并從上述共有存儲部傳送選擇的程序;個別存儲步驟,存儲從上述共有存儲部傳送的程序;和處理執(zhí)行步驟,使用上述個別存儲步驟中存儲的程序,執(zhí)行由上述次處理選擇步驟選擇的處理。
27.一種動圖像編碼方法,使用并行動作的多個處理部、和從上述處理部共同訪問的共有存儲部,其特征在于上述共有存儲部進行數據存儲步驟,存儲為了獨立適用處理而分割成規(guī)定單位的動圖像數據、和對于分割后的動圖像數據的各單位編碼處理必需的數據和編碼處理的進行狀態(tài),上述各處理部進行次處理選擇步驟,根據上述共有存儲部中存儲的編碼處理的進行狀態(tài),選擇分割的一單位的動圖像數據和對于該一單位的動圖像數據接著應執(zhí)行的處理;處理執(zhí)行步驟,對于上述次處理選擇步驟選擇的一單位的動圖像數據,執(zhí)行上述次處理選擇步驟選擇的處理;異常檢測步驟,檢測上述處理執(zhí)行步驟的處理部產生的異常;和處理停止步驟,在上述異常檢測步驟檢測到異常時,停止上述次處理選擇步驟和上述處理執(zhí)行步驟的編碼處理。
28.一種動圖像編碼方法,使用并行動作的多個處理部、和從上述處理部共同訪問的共有存儲部,其特征在于上述共有存儲部進行圖像存儲步驟,分散存儲為了獨立適用處理而分割成規(guī)定單位的動圖像數據;和參數存儲步驟,為了可與上述圖像存儲步驟存儲的動圖像數據獨立訪問,對于分割后的動圖像數據的各單位,存儲編碼處理必需的數據和處理的進行狀態(tài),上述各處理部進行次處理選擇步驟,根據上述參數存儲步驟中存儲的編碼處理的進行狀態(tài),選擇分割的一單位的動圖像數據和對于該一單位的動圖像數據接著應執(zhí)行的處理;和處理執(zhí)行步驟,對于上述次處理選擇步驟選擇的一單位的動圖像數據,執(zhí)行上述次處理選擇步驟選擇的處理。
29.一種程序,將具備并行動作的多個處理部、和從上述處理部共同訪問的共有存儲部的計算機用作動圖像編碼裝置,其特征在于在上這共有存儲部中存儲為了獨立適用處理而分割成規(guī)定單位的動圖像數據;和對于分割后的動圖像數據的各單位編碼處理必需的數據和編碼處理的進行狀態(tài)的狀態(tài)下,應由上述各處理部執(zhí)行,并具備次處理選擇步驟,根據上述共有存儲部中存儲的編碼處理的進行狀態(tài),選擇分割的一單位的動圖像數據和對于該一單位的動圖像數據接著應執(zhí)行的處理;和處理執(zhí)行步驟,對于上述次處理選擇步驟選擇的一單位的動圖像數據,執(zhí)行上述次處理選擇步驟選擇的處理。
30.一種程序,將具備并行動作的多個處理部、和從上述處理部共同訪問的共有存儲部的計算機用作動圖像編碼裝置,其特征在于在上述共有存儲部中存儲編碼對象的動圖像數據、上述動圖像數據編碼處理必需的數據、和管理上述處理部的識別信息用的識別管理信息的狀態(tài)下,應由上述各處理部執(zhí)行,并具備處理部追加步驟,根據上述識別管理信息來取得未使用的識別信息;處理部刪除步驟,釋放上述處理部追加步驟取得的識別信息;和編碼執(zhí)行步驟,在釋放取得的識別信息前的期間,對上述共有存儲部中存儲的動圖像數據執(zhí)行編碼處理。
31.一種程序,將具備并行動作的多個處理部、和從上述處理部共同訪問的共有存儲部的計算機用作動圖像編碼裝置,其中,具備在上述共有存儲部中存儲傳送到上述處理部后由上述處理部執(zhí)行的多個程序;和表示上述多個處理程序功能的功能信息的狀態(tài)下,應由上述各處理部執(zhí)行的次處理選擇步驟,從動圖像編碼處理中包含的多個處理中選擇一處理,作為接著應執(zhí)行的處理;程序更新步驟,根據上述共有存儲部中存儲的功能信息,從上述共有存儲部中存儲的多個程序中選擇用于執(zhí)行由上述次處理選擇步驟選擇的處理的程序,并從上述共有存儲部傳送選擇的程序;個別存儲步驟,存儲從上述共有存儲部傳送的程序;和處理執(zhí)行步驟,使用上述個別存儲步驟中存儲的程序,執(zhí)行由上述次處理選擇步驟選擇的處理。
32.一種程序,將具備并行動作的多個處理部、和從上述處理部共同訪問的共有存儲部的計算機用作動圖像編碼裝置,其特征在于在上述共有存儲部中存儲為了獨立適用處理而分割成規(guī)定單位的動圖像數據、和對于分割后的動圖像數據的各單位編碼處理必需的數據和編碼處理的進行狀態(tài)的狀態(tài)下,應由上述各處理部執(zhí)行,并具備次處理選擇步驟,根據上述共有存儲部中存儲的編碼處理的進行狀態(tài),選擇分割的一單位的動圖像數據和對于該一單位的動圖像數據接著應執(zhí)行的處理;處理執(zhí)行步驟,對于上述次處理選擇步驟選擇的一單位的動圖像數據,執(zhí)行上述次處理選擇步驟選擇的處理;異常檢測步驟,檢測上述處理執(zhí)行步驟的處理部產生的異常;和處理停止步驟,在上述異常檢測步驟檢測到異常時,停止上述次處理選擇步驟和上述處理執(zhí)行步驟的編碼處理。
33.一種程序,將具備并行動作的多個處理部、和從上述處理部共同訪問的共有存儲部的計算機用作動圖像編碼裝置,其特征在于在上述共有存儲部中分散存儲為了獨立適用處理而分割成規(guī)定單位的動圖像數據,并且為了可與上述動圖像數據獨立訪問,對于分割后的動圖像數據的各單位,存儲編碼處理必需的數據和處理的進行狀態(tài)的狀態(tài)下,應由上述各處理部執(zhí)行,并具備次處理選擇步驟,根據上述共有存儲部中存儲的編碼處理的進行狀態(tài),選擇分割的一單位的動圖像數據和對于該一單位的動圖像數據接著應執(zhí)行的處理;和處理執(zhí)行步驟,對于上述次處理選擇步驟選擇的一單位的動圖像數據,執(zhí)行上述次處理選擇步驟選擇的處理。
全文摘要
共有存儲部2存儲分割成順序單位的動圖像數據、各順序編碼必需的數據和各順序的處理狀態(tài)。各處理器1與其它處理器的動作獨立,根據共有存儲部2中存儲的處理狀態(tài),選擇執(zhí)行一個順序和應接著該順序執(zhí)行的處理。各處理器1根據識別管理信息,在處理開始前事先取得識別序號,在處理結束時或故障發(fā)生時釋放取得的識別序號。各處理器1進行必要時更新本身程序的處理或檢測位流異常的處理。共有存儲部2具有分散存儲動圖像數據的功能,在動作矢量搜索中構筑分散文件系統(tǒng)。
文檔編號G06F15/177GK1426023SQ02151879
公開日2003年6月25日 申請日期2002年12月4日 優(yōu)先權日2001年12月4日
發(fā)明者花木真 申請人:松下電器產業(yè)株式會社