專利名稱:提高處理效率的圖象聲音處理裝置的制作方法
技術領域:
本發明涉及數字信號處理技術領域,特別涉及進行壓縮圖象和聲音數據的擴展、圖象和聲音數據的壓縮、圖形處理等的圖象聲音處理電路。
近年來,伴隨數字動畫數據的壓縮/擴展技術的確立和LSI技術的提高,擴展壓縮圖象和聲音數據的解碼器、壓縮圖象和聲音數據的編碼器、進行圖形處理的圖形處理等各種圖象處理電路正受到重視。
作為第一現有技術,有擴展MPEG(活動圖象專家組)標準的壓縮圖象和聲音數據的解碼器(特開平8-1116429)。該圖象聲音解碼器使用一個信號處理單元進行圖象解碼和聲音解碼。
圖1表示由該圖象聲音解碼器進行解碼處理的說明圖。圖中,縱軸表示時間,橫軸表示演算量。
如果沿縱軸變大看過去,是交互地進行圖象解碼和聲音解碼。這是因為用共同的硬件解碼圖象、聲音兩者的緣故。圖中所示的圖象解碼分為按序處理和塊處理。按序處理為塊以外的解碼處理,即必須以涉及MPEG流的標題解析等多方面的條件判斷進行的處理,其演算量較小。塊解碼是解碼MPEG流的可變長符號,并且進行與塊單位相反的量化,進行反DCT(離散余弦變換)處理,其演算量較大。圖中所示的聲音解碼也必須以涉及多方面的條件判斷分別進行與上述同樣的按序處理和聲音數據本體的解碼處理。由于聲音數據本體的解碼處理比圖象數據要求更高的精度,并且必須在限定的時間內進行處理,所以必須高精度高速的處理,其演算量較大。
這樣,第一現有技術可用單芯片化的、稱為單芯片的較少硬件來實現有效率的聲音圖象解碼。
作為第二現有技術,是雙芯片構成的解碼器。一個芯片作為圖象解碼器,另一個芯片作為聲音解碼器。圖2表示由雙芯片構成的解碼器進行解碼處理的說明圖。圖象解碼、聲音解碼都進行包含多個標題解析等的條件判斷的按序處理和以數據本體的解碼為主的塊解碼處理。由于圖象解碼、聲音解碼都獨立地進行處理,所以與第一現有技術相比,各個芯片的能力可以較低。
但是,根據上述現有技術,存在下面的問題。
按照第一現有技術,由于信號處理單元必須進行圖象和聲音的解碼,所以要求較高的處理能力。也就是說,必須采用100MHz以上的高速時鐘來工作,作為民用半導體,存在成本較高的問題。此外,為了不使用高速時鐘提高處理能力,就必須考慮使用VLIW(極長指示字,Very Long Instruction Word)處理裝置等,VLIW處理裝置本身的成本較高,若采用進行其他按序處理的處理裝置,就存在整體處理效率低的問題。
按照第二現有技術,由于使用兩個處理裝置,所以存在成本較高的問題。也就是說,無論用于圖象的處理裝置還是用于聲音的處理裝置,都不能按原樣使用處理能力較低的通用的價格便宜的處理裝置。這是因為用于圖象的處理裝置對大量的圖象數據需要有實時處理能力的緣故。因此,在價格便宜處理能力較低的處理裝置中,無論是用于圖象還是用于聲音,都不能滿足處理能力要求。
并且,在數字(衛星)廣播使用的調諧器(稱為STB(Set Top Box))和DVD(數字視頻磁盤,Digital Versatile/Video Disc)重放裝置等使用的AV解碼器中使用上述圖象聲音處理電路的情況下,輸入從廣播波接受的或從磁盤中讀出的MPEG流,解碼該MPEG流,在向最終的顯示器、喇叭等進行圖象信號輸出和聲音信號輸出前必須進行的一連串處理量變得十分龐大。最近,對于高效率地實施這種一連串的龐大處理的圖象處理裝置的要求很高。
本發明的目的在于提供進行顯示壓縮圖象和壓縮聲音數據的流數據的輸入、解碼、輸出一連串的處理,即使不在高頻下工作也有較高的處理能力,能夠降低制造成本的圖象聲音處理裝置。
此外,本發明的其他目的在于提供以低成本實現壓縮圖象數據的解碼、圖象數據的編碼、圖形處理的圖象聲音處理裝置。
達到所述目的的圖象聲音處理裝置,是從外部輸入包括壓縮聲音數據和壓縮圖象數據的數據流,進行解碼,解碼后把數據輸出給輸出裝置的圖象聲音處理裝置,包括輸入輸出處理裝置,進行由外部因素非同步產生的輸入輸出處理;輸入輸出處理包括輸入從外部非同步輸入的所述數據流并存儲于存儲器,和把在存儲器存儲的數據流提供給解碼處理裝置;解碼處理裝置,通過與所述輸入輸出處理并行,進行以在存儲器存儲的數據流的解碼為主的解碼處理;其特征在于,把解碼的圖象數據、解碼的聲音數據存儲于存儲器。并且,通過使外部的顯示裝置、聲音輸出裝置各自的輸出率一致,從存儲器讀出,所述輸入輸出處理裝置把這些輸出作為輸入輸出處理來進行。
按照這種結構,由于使輸入輸出處理裝置和解碼處理裝置加流水線式的并行動作,使非同步處理和解碼處理由輸入輸出處理裝置和解碼處理裝置分擔,所以把解碼處理裝置從非同步產生的處理中解放出來,能夠專門進行解碼處理。其結果,由于高效率地實施流數據處理、解碼、輸出等一連串的處理,所以本圖象聲音處理裝置即使不用高速動作時鐘也可以進行流數據的全解碼(不丟失幀)。
其中,可成為下述圖象聲音處理裝置,其特征在于,所述解碼處理部分包括按序處理裝置對于數據流,進行以條件判斷為主的按序處理;按序處理包括壓縮聲音數據和壓縮圖象數據的標題解析,和壓縮聲音數據的解碼;定型處理裝置并行所述按序處理,進行定型處理;定型處理是除去壓縮圖象數據的標題解析的壓縮圖象數據的解碼。
按照這種結構,通過消除把處理特性不同的按序處理與適于并行處理的定型處理并存在一個單元中,能夠大幅度地提高處理效率。特別是能夠提高定性處理裝置的處理效率。其原因是在本圖象聲音處理裝置中,通過把定型處理裝置從上述的非同步處理和按序處理中解放出來,能夠僅專門進行按照壓縮圖象數據的解碼要求的各種定型演算的緣故。其結果,即使不使用高速動作時鐘也能夠獲得較高的處理能力。
其中,可成為下述圖象聲音處理裝置,其特征在于,所述輸入輸出處理裝置包括輸入裝置從外部輸入非同步數據流;圖象輸出裝置在外部的顯示裝置中輸出解碼的圖象數據;聲音輸出裝置在外部的聲音輸出裝置中輸出解碼的聲音數據;處理裝置一邊替換一邊執行在指令存儲器中存儲的第一到第四任務程序,第一任務是從輸入部分向所述存儲器傳輸數據流;第二任務是從所述存儲器向解碼處理裝置提供數據流;第三任務是從所述存儲器向圖象輸出部分輸出解碼的圖象數據;第四任務是從所述存儲器向聲音輸出部分輸出解碼的聲音數據。
其中,可成為下述圖象聲音處理裝置,其特征在于,所述處理裝置包括程序計數部分有與所述第一到第四任務對應的至少四個程序計數器;指令鎖存部分使用指示一個程序計數器的指令地址,從存儲各任務程序的指令存儲器中取出指令;指令執行部分執行在指令取出部分取出的指令;任務控制部分控制每個經過預定數的指令循環,對于指令鎖存部分,依次替換程序計數器。
按照這種結構,在由外部裝置決定的流數據的輸入率和由輸入周期、外部顯示裝置、外部聲音輸出裝置決定的圖象數據、聲音數據的各自輸出率及輸出周期的任何范圍內,具有使與輸入輸出要求對應的響應延遲很小的效果。
本發明的圖象聲音處理裝置,包括輸入裝置輸入包括壓縮聲音數據和壓縮圖象數據的數據流;按序處理裝置對于數據流,進行以條件判斷為主的按序處理;按序處理包括壓縮聲音數據和壓縮圖象數據的標題解析;和壓縮聲音數據的解碼;定型處理裝置并行所述按序處理,進行以定型演算為主的定型處理;定型處理是采用標題解析的結果,按預定塊單位解碼數據流中的壓縮圖象數據;
當所述預定塊的標題解析結束時,所述按序處理裝置指示定型處理裝置中該預定塊的解碼開始,當從定型處理裝置接受預定塊的解碼結束通知時,開始隨后的預定塊的標題解析。
按照這種結構,按序處理裝置擔當對于壓縮圖象數據以及對于壓縮聲音數據進行作為必要的涉及多方面的條件判斷的標題解析,同時還擔當聲音壓縮數據的解碼。另一方面定型處理裝置擔當對壓縮圖象數據的塊數據的定型大量運算量。通過這樣的角色分擔,與圖象解碼器比較,按序處理裝置進行演算量較少的整個聲音解碼、壓縮圖象數據的標題解析和定型處理裝置的控制。在其控制下,由于進行專門定型的演算,所以定型處理裝置能夠實現無浪費效率的處理。因此,即使未用高頻率進行動作,也能夠獲得處理能力,能夠降低制造成本。此外,由于依次進行整個聲音解碼、壓縮圖象數據的標題解析和定型處理裝置的控制,所以按序處理裝置能夠由一個處理裝置構成。
其中,圖象聲音處理裝置可成為,其特征在于,所述定型處理裝置包括數據變換裝置根據按序處理裝置的指示,可變長解碼數據流中的壓縮圖象數據;演算裝置對于由可變長解碼獲得的塊數據,通過實施預定的演算,進行反量化和反離散余弦變換;合成裝置通過合成反離散余弦變換后的塊數據和在存儲器中存儲的解碼后的幀的矩形圖象,還原與塊相當的圖象數據;所述按序處理裝置包括取得裝置由數據變換裝置獲得可變長解碼的標題信息;解析裝置解析獲得的標題信息;通知裝置把作為解析結果得到的參數通知給定型處理裝置;聲音解碼裝置解碼由輸入裝置輸入的數據流中的壓縮聲音數據;
控制裝置在接受從所述定型處理裝置通知預定塊的解碼結束的中斷信號時,停止聲音解碼裝置的動作,同時啟動取得裝置,當所述通知裝置進行所述通知時,在所述數據變換裝置中指示圖象塊的可變長解碼開始。
按照這種結構,在宏塊等預定塊單位中,按序處理裝置在進行標題解析后進行聲音解碼,當由定型處理裝置完成預定塊的解碼時,開始隨后塊的標題解析。這樣,由于用實時反復進行標題解析和聲音解碼,所以能夠把按序處理裝置用一個處理裝置按低成本來實現。此外,由于定型處理裝置不必進行涉及分支的條件判斷處理,所以能夠用低成本進行專用硬件化(或者硬件和固件)。
其中,圖象聲音處理裝置可成為,其特征在于,所述演算裝置還包括第一緩沖器有與一塊相當的存儲區;所述數據變換裝置包括可變長解碼裝置可變長解碼數據流中的壓縮圖象數據;第一地址圖表裝置存儲按折線掃描順序排列第一緩沖器存儲區地址的第一地址列;第二地址圖表裝置存儲按交錯掃描順序排列第一緩沖器存儲區地址的第二地址列;寫入裝置根據第一地址列和第二地址列的一個,把由可變長解碼裝置的可變長解碼獲得的塊數據寫入第一緩沖器。
按照這種結構,無論對于折線掃描還是對于隔行掃描,都能夠在第一緩沖器的存儲區寫入塊數據。因此,當從第一緩沖器的存儲區進行塊數據讀出時,演算裝置也可以不變更讀出地址的順序,能夠不管掃描類型,按與正常時一樣的讀出地址順序進行讀出。
其中,圖象聲音處理裝置可成為,其特征在于,所述解析裝置根據標題信息算出量化標度和移動向量;所述通知裝置把量化標度通知給演算裝置,把移動向量通知給合成裝置。
按照這種結構,能夠把移動向量的算出讓按序處理裝置擔當,合成裝置能夠使用算出的移動向量進行定型的移動補償處理。
其中,圖象聲音處理裝置可成為,其特征在于,所述演算裝置包括第一、第二控制存儲部分存儲各自的宏程序;第一程序計數器在第一控制存儲部分中指定第一讀出地址;第二程序計數器指定第二讀出地址;選擇器通過選擇第一讀出地址和第二地址的其中一個,輸出給第二控制存儲部分;執行部分有乘法器和加法器,通過控制由第一、第二控制存儲部分產生的宏程序,執行塊單位的反量化和反離散余弦變換。
按照這種結構,不必對宏塊(固件)進行涉及分支條件的判斷處理,由于僅實現定型處理,所以程序量較小并容易作成,適合低成本化。而且,通過使用兩個程序計數器,能夠使乘法器和加法器單獨并行地工作。
其中,圖象聲音處理裝置可成為,其特征在于,當選擇由選擇器產生的第二讀出地址時,所述執行部分單獨并行進行使用乘法器的處理和使用加法器的處理,當選擇由選擇器產生的第一讀出地址時,連續進行使用乘法器的處理和使用加法器的處理。
按照這種結構,通過減少乘法器和加法器的空閑時間,能夠提高處理效率。
其中,圖象聲音處理裝置可成為,其特征在于,所述演算裝置還包括第一緩沖器保存來自數據變換裝置的圖象塊;第二緩沖器保存由執行部分進行的反離散余弦變換的塊;第一控制存儲部分存儲反量化處理的宏程序和反離散余弦變換的宏程序;第二控制存儲部分存儲反離散余弦變換的圖象塊和把反離散余弦變換的圖象塊傳輸給第二緩沖器的宏程序;
所述執行裝置并行執行把反離散余弦變換的圖象塊傳輸給第二緩沖器的處理和對隨后的圖象塊進行反量化處理,用乘法器和加法器連續執行把反量化的該圖象塊進行反離散余弦變換的處理。
按照這種結構,由于并行執行反向量化處理和對第二緩沖器的傳輸處理,所以能夠提高處理效率。
其中,圖象聲音處理裝置可成為,其特征在于,所述輸入裝置還輸入多邊形數據;所述按序處理裝置還解析多邊形數據,算出多邊形頂點坐標和邊緣的斜率;所述定型處理裝置還根據算出的頂點坐標和斜率生成所述多邊形的圖象數據。
按照這種結構,按序處理裝置擔當多邊形數據的解析,定型處理裝置擔當定型的圖象數據生成處理。本圖象聲音處理裝置能夠根據高效率的多邊形數據生成圖象數據,進行制圖處理。
其中,圖象聲音處理裝置可變成,其特征在于,所述第一、第二控制存儲部分還存儲根據DDA算法進行掃描變換的宏程序;所述執行部分還根據由按序處理裝置算出的頂點坐標和斜率進行由宏程序控制的掃描變換。
按照這種結構,由所述第一、第二控制存儲部分中掃描變換宏程序,能夠簡單地實現圖象數據的生成。
其中,圖象聲音處理裝置可成為,其特征在于,所述合成裝置還根據要壓縮的圖象數據生成表示差分圖象的差分塊;所述第二緩沖器還保存生成的差分圖象;第一控制存儲部分還存儲離散余弦變換的宏程序和量化處理的宏程序;第二控制存儲部分還存儲離散余弦變換的宏程序和把離散余弦變換的圖象塊傳輸給第一緩沖器的宏程序;對于在第二緩沖器中保存的差分塊,所述執行裝置還執行離散余弦變換和量化,傳輸給第一緩沖器;所述數據變換裝置還對第1緩沖器的塊作可變長編碼。所述按序處理裝置還對由數據變換裝置作了可變長編碼的定量的塊附加標題信息。
按照這種結構,定型處理裝置擔當作為定型處理的量化和離散余弦變換,按序處理裝置擔當要進行條件判斷的處理(附加標題信息)。這種情況下,本圖象聲音處理裝置即使不使用高速時鐘,也能夠根據圖象數據高效率的執行對壓縮圖象數據的編碼處理。
其中,圖象聲音處理裝置可成為,其特征在于,所述演算裝置包括第一、第二控制存儲部分存儲宏程序;第一程序計數器在第一控制存儲部分中指定第一讀出地址;第二程序計數器指定第二讀出地址;選擇器選擇第一讀出地址和第二讀出地址的其中一個,輸出給第二控制存儲部分;多個執行部分有乘法器和加法器,通過控制由第一、第二控制存儲部分產生的宏程序,執行塊單位的反量化和反離散余弦變換;各執行部分分擔處理分割塊的部分塊。
按照這種結構,由于多個執行部分執行并行演算指令,所以能夠高效率地執行定型的大量演算。
其中,圖象聲音處理裝置可成為,其特征在于,所述演算裝置還包括多個地址變換圖表與各執行部分對應設置,各變換圖表對應于預定的地址列部分地調換地址順序保存變換的地址;指令寄存器組由對應變換地址存儲構成實現預定演算宏程序的各個宏指令的多個寄存器構成;
替換部分把在第一和第二控制存儲部分和多個執行部分之間設置的來自第一控制存儲部分或選擇器對各執行部分輸出的宏指令替換為指令寄存器的宏指令,對多個執行部分輸出;其中特征是,在所述第一讀出地址或第二讀出地址為所述預定地址列中地址的情況下,把其地址根據所述各地址變換圖表變換為變換地址;所述指令寄存器組輸出與從變換圖表中輸出的各變換地址對應的宏指令。
按照這種結構,多個執行部分在并行地執行宏程序期間,通過回避執行部分存取爭用等的資源干擾,能夠進行更高效率的處理。
其中,圖象聲音處理裝置可成為,其特征在于,所述各變換圖表還在第一程序計數器輸出所述預定地址列中的第一讀出地址期間,伴隨著表示所述寄存器中的加減法運算的宏指令輸出,把表示應該加法運算還是應該減法運算的標志輸出給所述多個執行部分;所述各執行部分根據所述標志執行加減法運算;所述標志根據所述第二控制存儲部分的宏指令來設定。
按照這種結構,由于由宏指令指定進行加法運算還是進行減法運算的變換表,并能夠在兩個通路上共用相同的宏程序,所以能夠降低宏程序的總容量,能夠實現硬件規模的下降,從而實現低成本化。
其中,圖象聲音處理裝置可成為,其特征在于,所述第二控制存儲部分還在第一程序計數器輸出所述預定地址列中的第一讀出地址期間,伴隨著所述寄存器中的宏指令輸出,把表示宏指令執行結果存儲于端的信息輸出給所述多個執行部分;所述各執行部分根據存儲于端信息存儲于執行結果。
按照這種結構,由于能夠個別地指定指令寄存器組中的宏程序,所以存儲于端的信息能夠在不同的處理,例如行列演算部分的處理中共用該宏程序。其結果,能夠進一步降低宏程序的總容量,能夠實現硬件規模的降低,從而實現低成本化。
通過如下說明及參照本發明優選實施例的附圖,會更明白本發明的這些和其他目的、優點及特征。
在這些附圖中
圖1表示根據第一已有技術中圖象聲音解碼的解碼處理的說明圖。
圖2表示根據第二已有技術中雙芯片結構解碼的解碼處理的說明圖。
圖3表示本發明第一實施例的圖象聲音處理裝置大致結構的方框圖。
圖4表示本發明第一實施例的圖象聲音處理裝置結構的方框圖。
圖5表示對MPEG流分層表示的同時,圖象聲音處理裝置各部分動作的定時圖。
圖6表示由處理裝置7進行宏塊標題解析和向其它各部分的控制內容的圖。
圖7是表示象素演算部分10結構的方框圖。
圖8表示在第一指令存儲器506和第二指令存儲器507中存儲的宏程序的一例。
圖9是表示象素演算部分10的動作定時圖。
圖10是表示象素讀寫部分11詳細結構的方框圖。
圖12是表示指令讀出電路53詳細結構例的方框圖。
圖13是表示IO處理裝置5的動作定時的定時圖。
圖14是表示任務管理部分結構的方框圖。
圖15是表示FIFO存儲器4之后的解碼動作的說明圖。
圖16是表示本發明實施例2的圖象聲音處理裝置結構的方框圖。
圖17是表示象素演算部分30結構的方框圖。
圖18表示第一指令存儲器506、第二指令存儲器507存儲內容的一例。
圖19是表示塊變換部分9結構的方框圖。
圖20表示存儲8×8個空間頻率數據的塊存儲區和折線掃描的正常路徑。
圖21表示存儲8×8個空間頻率數據的塊存儲區和隔行掃描的正常路徑。
在本發明的圖象聲音處理裝置中,按以下分項記述其實施例。
1第一實施例1.1圖象聲音處理裝置的大致結構1.1.1輸入輸出處理部分1.1.2解碼處理部分1.1.2.1按序處理部分1.1.2.2定型處理部分
1.2圖象聲音處理裝置的結構1.2.1輸入輸出處理部分的結構1.2.2解碼處理部分1.2.2.1按序處理部分1.2.2.2定型處理部分1.3各部分的詳細結構1.3.1處理裝置7(按序處理部分)1.3.2定型處理部分1.3.2.1碼變換部分1.3.2.2象素演算部分1.3.2.3象素讀寫部分1.3.3輸入輸出處理部分1.3.3.1IO處理裝置1.3.3.1.1指令讀出電路1.3.3.1.2任務管理部分1.4動作說明2第二實施例2.1圖象聲音處理裝置的結構2.1.1象素演算部分&#601.第一實施例&#62本實施例的圖象聲音處理裝置配有衛星廣播接收裝置(STB稱為Set TopBox)、DVD(數字視盤)重放裝置、DVD-RAM記錄重放裝置等,作為壓縮圖象聲音數據,從衛星廣播或DVD輸入MPEG流,進行擴展處理(以下簡稱為解碼),把圖象信號和聲音信號輸出給外部輸出裝置。
&#601.1圖象聲音處理裝置的大致結構&#62圖3表示本發明第一實施例的圖象聲音處理裝置大致結構的方框圖。
圖象聲音處理裝置1000的結構是,配有輸入輸出處理部分1001;解碼處理部分1002和存儲器控制器6,并可分離和并行地進行輸入輸出處理和解碼處理。此外,把外部存儲器3作為暫時存儲MPEG流和解碼后聲音數據的操作存儲器和存儲解碼后圖象數據的幀存儲器。
&#601.1.1輸入輸出處理部分&#62輸入輸出處理部分1001進行與圖象聲音處理裝置1000的內部動作非同步產生的輸入輸出處理。這種輸入輸出處理的內容是(a)輸入從外部非同步輸入的MPEG流,暫時存儲在外部存儲器3中;(b)把在外部存儲器3中存儲的MPEG流提供給解碼處理部分1002;(c)從外部存儲器3中讀出解碼的圖象數據、聲音數據,使外部顯示裝置、聲音輸出裝置(圖外)各自的輸出率一致后輸出。
&#601.1.2解碼處理部分&#62解碼處理部分1002與輸入輸出處理部分1001的動作獨立地并行,進行由輸入輸出處理部分1001提供的MPEG流的解碼,把解碼后的圖象數據和聲音數據存儲在外部存儲器3中。由于MPEG流的解碼處理其演算量還涉及較多處理內容,所以解碼處理部分1002的結構是,配有按序處理部分1003和定型處理部分1004,以分離和并行地實施主要涉及多方面條件判斷的按序處理,和主要進行定型的大量演算并適合并列演算的定型處理。其中,按序處理是MPEG流的標題解析等,包括標題的檢測和標題內容的判定等多個條件。此外,由于定型處理是按由預定數象素構成的塊單位必須實施的各種演算,所以適合流水線的并列處理,并且,對于不同的數據(象素),適合實施所謂完全相同演算的向量演算的并列處理。
&#601.1.2.1按序處理部分&#62按序處理部分1003把由輸入輸出處理部分1001提供的壓縮聲音數據和壓縮圖象數據的標題解析,按每個宏塊啟動定型處理部分1004的控制,和壓縮聲音數據的解碼處理作為上述按序處理來進行。標題解析包括MPEG流中的宏塊標題的解析和移動向量的解碼。其中,塊表示由8*8象素構成的圖象。宏塊由四個亮度塊和兩個色差塊構成。移動向量是指向參照幀中的8*8象素的矩形區的向量,該塊指示采取與參照幀中哪個矩形區的差分。
&#601.1.2.2定型處理部分&#62定型處理部分1004接受來自按序處理部分1003的每個宏塊的解碼啟動指示,并行按序處理部分1003的聲音解碼處理,作為上述定型處理,進行宏塊的解碼處理。該解碼處理按順序實施的內容是可變長度符號的解碼(VL)Variable Length code Decoding)、反量化(IQInverse Quantization)、反離散余弦變換(IDCT)、動態補償(MCMotion Compensation)。在動態補償中,定型處理部分1004通過作為幀的外部存儲器3中的存儲器控制器6存儲解碼后的塊。
&#601.2圖象聲音處理裝置的結構&#62圖4是表示圖象聲音處理裝置1000的更詳細結構的方框圖。
&#601.2.1輸入輸出處理部分的結構&#62圖中輸入輸出處理部分1001配有流輸入部分1;緩沖存儲器2;輸入輸出處理裝置5(以下簡稱為IO處理裝置);DMAC(直接存儲器存取控制器,Direct Memory Access Controller)5a;視頻輸出部分12;聲音輸出部分13;和組合I/F部分14。
流輸入部分1把從外部輸入的MPEG數據流變換為并行數據(以下稱為MPEG數據)。此時,流輸入部分1檢測來自MPEG流的GOP(圖象組包含一個I圖象的、與約0.5秒的動畫相當的MPEG數據流)的開頭編碼,把其意思通知IO處理裝置5。根據該通知變換后的MPEG數據通過IO處理裝置5的控制傳輸給緩沖存儲器2。
緩沖存儲器2是暫時變成從流輸入部分1傳輸的MPEG數據的暫時保存的緩沖存儲器。在緩沖存儲器2保存的MPEG數據在輸入輸出處理裝置5的控制下通過存儲器控制器6傳輸給外部存儲器3。
外部存儲器3由SDRAM(同步動態隨機存取存儲器)芯片構成,通過來自緩沖器2的存儲器控制器6暫時保存被傳輸的MPEG數據。并且,外部存儲器3還保存解碼后的圖象數據(以下稱為幀數據)和解碼后的聲音數據。
輸入輸出處理裝置5控制流輸入部分1、緩沖存儲器2、外部存儲器3(插在存儲器控制器6之間)、FIFO存儲器4之間的數據輸入輸出。也就是說,控制以下(1)~(4)所示路徑的數據傳輸(DMA傳輸)。
(1)流輸入部分1→緩沖存儲器2→存儲器控制器6→外部存儲器3(2)外部存儲器3→存儲器控制器6→FIFO存儲器4(3)外部存儲器3→存儲器控制器6→緩沖存儲器2→視頻輸入部分12(4)外部存儲器3→存儲器控制器6→緩沖存儲器2→聲音輸入部分13在這些路徑中,輸入輸出處理裝置5控制MPEG數據中圖象數據和聲音數據的各自獨立地傳輸。此外,(1)、(2)是解碼前的MPEG數據的傳輸路徑。在(1)、(2)的傳輸路徑中,輸入輸出處理裝置5單獨地傳輸壓縮圖象數據和壓縮聲音數據。(3)、(4)分別是解碼后的圖象、聲音數據的傳輸路徑。使解碼后的圖象聲音數據分別與外部的顯示裝置(圖外)、聲音輸出裝置(圖外)的輸出率一致后輸出。
DMAG5a根據IO處理裝置5的控制進行流輸入部分1、視頻輸出部分12、聲音輸出部分13與緩沖存儲器2之間的DMA傳輸,緩沖存儲器2與外部存儲器3之間的DMA傳輸,外部存儲器3與FIFO存儲器4之間的DMA傳輸。
視頻輸出部分12在與外部顯示裝置(CRT等)的輸出率(例如水平同步信號Hsync的周期)一致的輸入輸出處理裝置5中提取數據要求,把由輸入輸出處理裝置5的上述(3)的傳輸路徑輸入的圖象數據輸出給其顯示裝置。
聲音輸出部分13在與外部聲音輸出裝置的輸出率一致的輸入輸出處理裝置5中提取數據要求,把由輸入輸出處理裝置5的上述(4)的傳輸路徑輸入的聲音數據輸出給聲音輸出裝置(D/A轉換器、聲音放大器、組合揚聲器等)。
組合I/F部分14是在外部的組合處理裝置、例如DVD重放裝置的情況下,用于進行其整體控制的處理裝置的通信的接口。在該通信中,傳送來自組合處理裝置的MPEG流的解碼開始、停止、快速重放、反向重放等指示。
&#601.2.2解碼處理部分&#62圖4的解碼處理部分1004配有FIFO存儲器4;按序處理部分1003;定型處理部分1004;進行由輸入輸出處理部分1001中的FIFO存儲器4供給的MPEG數據的解碼處理。此外,按序處理部分1003配有處理裝置7和內部存儲器8。定型處理部分1004配有碼變換部分9;象素演算部分10;象素讀寫部分11;緩沖器200;緩沖器201。
FIFO存儲器4由兩個FIFO構成(以下稱為圖象FIFO、聲音FIFO),在輸入輸出處理裝置5的控制下分別按先入先出方式存儲從外部存儲器3傳輸的壓縮圖象數據、壓縮聲音數據。
&#601.2.2.1按序處理部分&#62處理裝置7控制FIFO4的壓縮圖象數據和壓縮聲音數據的讀出,同時進行對于一部分壓縮圖象數據的解碼處理,和對于壓縮聲音數據的全解碼處理。一部分壓縮圖象數據的解碼處理包括MPEG數據中的標題信息的解析、移動向量的計算和壓縮圖象解碼處理的控制。這是因為由處理裝置7和定型處理部分1004分擔壓縮圖象數據的全解碼處理的緣故。即處理裝置7分擔必須涉及多方面條件判斷的按序處理,定型處理部分1004分擔大量的定型演算處理。由于與圖象解碼相比演算量較少,所以與此對應的聲音解碼全部由處理裝置7擔當。
下面,用圖5具體說明處理裝置7的功能。圖5分層表示MPEG流,同時還表示圖象聲音處理裝置各部分的動作定時。圖中,橫軸是時間軸。第一層表示MPEG流的流動。第二層所示的1秒期間的MPEG流包含多個幀(I、P、B圖象)。第三層的一幀包括圖象標題和多個限幅。第四層的一限幅包括限幅標題和多個宏塊。第五層的一宏塊包括宏塊標題和六個塊。
在公知文獻,例如股份有限公司アスキ—的‘要點圖解式最新MPEG教科書’中詳細說明了該圖所示的第一~第五層的數據結構。
處理裝置7進行如圖第五層以下的MPEG流中至宏塊層的標題解析和壓縮聲音數據的解碼。此時,根據宏塊單位的標題解析結果,處理裝置7指示對于碼變換部分9、象素演算部分10和象素讀寫部分11的宏塊解碼的開始,在由碼變換部分9、象素演算部分10和象素讀寫部分11進行宏塊解碼期間,通過從FIFO4中讀出壓縮聲音數據進行解碼。如果結束由碼變換部分9、象素演算部分10和象素讀寫部分11進行的宏塊解碼,那么處理裝置根據中斷信號接受其中斷意思的通知,中斷壓縮聲音數據的解碼,開始隨后的宏塊的標題解析。
內部存儲器8是處理裝置7的暫時存儲器,暫時保存解碼的聲音數據。保存的聲音數據由輸入輸出處理裝置5經上述(4)的路徑傳輸給外部存儲器3。
&#601.2.2.2定型處理部分&#62碼變換部分9可變長解碼從FIFO4讀出的壓縮圖象數據(VLD)。如圖5所示,在解碼后的數據內,碼變換部分9把有關的標題信息和移動向量信息(圖中的虛線區域)傳輸給處理裝置7,通過緩沖器200把宏塊(由亮度塊Y0~Y3和色差塊Cb、Cr構成的6塊)的數據傳輸給象素演算部分10。由碼變換部分9解碼后的宏塊數據是表示空間頻率成分的數據。
緩沖器200保存由碼變換部分9寫入的表示1塊部分(8×8象素部分)的空間頻率成分。
象素演算部分10對于從碼變換部分9通過緩沖器200傳輸的宏塊數據,按塊單位進行反量化處理(IQ)和反離散余弦變換(IDCT)。象素演算部分10的處理結果如果是亮度塊就是象素的亮度值或表示其差級的數據;該結果如果是色差塊就是象素的色差或表示其差級的數據;通過緩沖器201傳輸給象素讀寫部分11。
緩沖器201保存1塊部分(8×8象素部分)的象素數據。
對于象素演算部分10的處理結果,象素讀寫部分11按塊單位進行動態補償。也就是說,在P圖象、B圖象中,通過存儲器控制器,切出從內部存儲器3內解碼后的參照幀中表示移動向量的矩形區域,利用合成象素演算部分10的處理結果的塊,解碼成原來的塊圖象。把由象素讀寫部分11產生的解碼結果通過存儲器控制器6存儲于外部存儲器3。
對于上述的動態補償、IQ、IDCT的各內容,由于是公知技術,所以省略詳細的說明(參照上述文獻)。
&#601.3各部分的詳細結構&#62下面,說明圖象聲音處理裝置1000的各主要部分的詳細結構。
&#601.3.1處理裝置7(按序處理部分)&#62圖6是表示根據處理裝置7的宏塊標題解析和向其它各部分的控制內容的圖。首先,由于在上述文獻等中說明了圖中所示的宏塊中的各數據,所以這里省略說明。
圖中所示的處理裝置7對碼變換部分9發出指令,順序獲得可加長解碼的標題部分的數據,根據其內容,對于碼變換部分9、象素演算部分10、象素讀寫部分11,設定在宏塊的解碼中必要的數據。
具體地說,首先,處理裝置7向碼變換部分9發出獲得MBAI(宏塊地址增量)的指令(S101),從碼變換部分9獲得MBAI。如果根據該MBAI的該宏塊數據是跳躍宏塊(如果此次要解碼的宏塊與上次相同),由于可省略宏塊數據進入S117,所以如果跳躍就繼續標題解析(S102、S103)。
接著,處理裝置7發行用于獲得MBT(宏塊型)的指令,從碼變換部分9獲得MBT。從該MBT的掃描類型判斷是折線掃描還是隔行掃描,在象素演算部分10中指示緩沖器200的讀出順序(S104)。
并且,處理裝置7從已經獲得的標題數據中判定是否存在STWC(SpartTemporal Weight Code)(S105),在存在的情況下發出獲得的指令(S106)。
同樣地,處理裝置7獲得FrMT(Frame Motion Type)、FiMT(FieldMotion Type)、DT(DCT type)、QSC(Quantizer Scale Code)、MV(Motion Vector)、CBP(Coded Block Pattern)(S107~116)。此時,處理裝置7把FrMT、FiMT、DT的解析結果通知給象素讀寫部分11,把QSC的解析結果通知給象素演算部分10,把CBP的解析結果通知給碼變換部分9。由此,把必要的IQ、IDCT、動態補償信息設定在碼變換部分9、象素演算部分10、象素讀寫部分11中。
此外,在2個處理裝置結構中,把必須作涉及多支的條件判斷的上述按序處理變為各處理裝置單獨進行的冗余結構。
接著,處理裝置7對于碼變換部分9發出宏塊的解碼開始指示(S117)。由此,碼變換部分9對于宏塊內的各塊開始VLD,通過緩沖器200把VLD的結果輸出給象素演算部分10。并且,處理裝置7根據MV數據計算移動向量(步驟S118),把其計算結果通知給象素讀寫部分11(步驟S119)。
在上述處理中,對于有關移動向量,移動向量的數據(MV)獲得(S113)、移動向量的計算(S118)、在象素讀寫部分11中設定移動向量(S119)的一連串處理是必要的。這時,處理裝置7在獲得移動向量數據(MV)后未進行移動向量的計算和設定(S118、119),以根據發出向定型處理部分1004的解碼開始指示,對移動向量進行計算和設定。由此,使對定型處理部分1004的解碼處理變為并行處理。即較早進行定型處理部分1004的解碼開始定時。
由于完成了如上所述的宏塊一個部分的壓縮圖象數據的標題解析,所以處理裝置7從FIFO存儲器4中獲得壓縮聲音數據,開始聲音解碼處理(S120)。直至從碼變換部分9輸入表示宏塊的解碼完成的中斷信號前,繼續聲音解碼處理。通過該中斷信號,處理裝置7對于隨后的宏塊開始上述標題解析。
&#601.3.2定型處理部分&#62接著,通過宏塊內的六個塊使碼變換部分9、象素演算部分10、象素讀寫部分11并行地動作,定型處理部分1004進行解碼處理。其中,按象素演算部分10、象素讀寫部分11、碼變換部分9的順序更詳細地說明它們的結構。
&#601.3.2.1碼變換部分9&#62圖19是表示碼變換部分9結構的方框圖。
圖中的碼變換部分9的結構是,配有VLD部分901;計數器902;增量器903;選擇器904;掃描圖表905;掃描圖表906;觸發電路907(以下簡稱為FF)和選擇器908,按折線掃描或隔行掃描的順序在塊單位中排列可變長解碼(VLD)的結果,寫入緩沖器200。
VLD901可變長解碼(VLD)從FIFO存儲器4中讀出的壓縮圖象數據,在解碼后的數據內,把與標題信息和移動向量有關的信息(圖5中的虛線區域)傳輸給處理裝置7,把宏塊(亮度塊Y0~Y3和色差塊Cb、Cr構成的6塊)的數據(圖5中的實線區域)按塊單位(64個空間頻率數據)輸出給緩沖器200。
由計數器902、增量器903、選擇器904構成的電路部分與來自VLD901的空間頻率數據的輸出同步,反復進行從0至63的計數。
掃描圖表905是按折線掃描的順序存儲緩沖器200的塊存儲區地址的圖表,順序輸入計數器902的輸出值(0~63),依次輸出其地址。圖20表示存儲緩沖器200中8×8個空間頻率數據的存儲區和折線掃描的正常路徑。掃描圖表905順序輸出圖中正常路徑的象素地址。
掃描圖表906是按隔行掃描的順序存儲緩沖器200的塊存儲區地址的圖表,順序輸入計數器902的輸出值(0~63),依次輸出其地址。圖21表示存儲緩沖器200中8×8個空間頻率數據的存儲區和隔行掃描的正常路徑。掃描圖表905順序輸出圖中正常路徑的象素地址。
FF907保存表示掃描類型的標志(是折線掃描還是隔行掃描)。由處理裝置7設定該標志。
選擇器908對應于FF907標志選擇來自掃描圖表905和掃描圖表906輸出的地址,作為寫入地址輸出給緩沖器200。
&#601.3.2.2象素演算部分&#62圖7是表示象素演算部分10結構的方框圖。
構成圖中的象素演算部分10,使其具有由乘法運算器502和加減運算器503構成的執行部分501;第一程序計數器504(以下簡稱為第一PC);第二程序計數器505(以下簡稱為第二PC);第一指令存儲器506;第二指令存儲器507;和選擇器508,并能夠重疊和并行地執行IQ和IDCT的一部分。
根據從第一指令存儲器506、第二指令存儲器507依次輸出的宏指令,執行部分501進行緩沖器200、201的存取和演算。
第一指令存儲器506、第二指令存儲器507是對于在緩沖器200中保存的塊(頻率成分)存儲用于實現IQ、IDCT的宏程序的控制存儲。圖8表示在第一指令存儲器506和第二指令存儲器507中存儲的宏程序的一例。
圖中,第一指令存儲器506存儲IDCT1A宏程序和IQ宏程序,通過第一PC504指定選擇器508指定讀出地址。IQ宏程序是以緩沖器200讀出和乘算為主體的運算處理,不用加減法器503。
第二指令存儲器507存儲IDCT1B宏程序和IDCT的宏程序,通過選擇器508,由第1PC504或第2PC505指定讀出地址。由或第二PC505產生的。其中,IDCT1意味著以乘法運算和加減法運算為主的IDCT的前半部分的處理,通過同時讀出IDCT1A宏程序和IDCT1B宏程序,使執行部分501整體被使用執行。此外,IDCT2意味著以加減法運算為主的IDCT的后半部分的處理和向緩沖器201的寫出處理,通過讀出第二指令存儲器507的IDCT2宏程序,使加減運算器503整體被使用執行。
由于由乘法運算器502處理IQ,由加減運算器503處理IDCT,所以使這些處理能夠變為并行動作。圖9表示由象素演算部分10產生的IQ、IDCT1、IDCT2的動作定時圖。
圖9中,如果碼變換部分9讀入緩沖器200中亮度塊Y0的數據(定時t0),就把其意思用控制信號102通知給象素演算部分10。使用在處理裝置7的標題解析時設定的QS值(Quantizer Scale),根據第一PC504的地址指示,通過讀出第一指令存儲器506的IQ宏程序,象素演算部分10對緩沖器200的數據進行IQ。此時,選擇器508選擇第一PC504(定時t1)。
并且,根據第一PC504的地址指定,通過讀出IDCT1A和IDCT1B宏程序,象素演算部分10對緩沖器200的數據進行IDCT1。此時,由于選擇器508選擇第一PC504,所以指定在第一指令存儲器506、第二指令存儲器507雙方中來自第一PC504的地址(定時t2)。
接著,使用上述QS值(Quantizer Scale),根據第一PC504的地址指示,通過讀出第一指令存儲器506的IQ宏程序,象素演算部分10對緩沖器200的塊Y1的數據進行IQ,同時,根據第二PC505的地址指示,通過讀出第二指令存儲器507的IDCT2宏程序,對塊Y0進行IDCT處理的后半部分的處理。此時,選擇器508選擇第二PC505。第一PC504與第二PC505就變為指定的獨立地址(定時t3)。
此后,同樣地,象素演算部分10繼續按塊單位處理(定時t4以后)。
&#601.3.2.3象素讀寫部分&#62圖10是表示象素讀寫部分11詳細結構的方框圖。
圖中的象素讀寫部分11由緩沖器71~74(以下稱為緩沖器A~D)、半象素內插部分75、合成部分76、選擇器77、78和讀寫控制部分79構成。
讀寫控制部分79對于通過緩沖器201輸入的塊數據,使用緩沖器A~D進行動態補償,把最終的解碼圖象按雙塊單位傳輸給外部存儲器3。更具體地說,根據處理裝置7的標題解析時設定的移動向量,控制存儲器控制器6,以根據外部存儲器3中的參照幀讀出與雙塊部分相當的矩形區。其結果,存儲于指示緩沖器A或緩沖器B中移動向量的雙塊部分矩形區的數據。然后,按照圖象的種類(I或P或B圖象),在合成部分76中進行雙塊部分矩形區的半象素內插。并且,通過合成(加法運算)由緩沖器201輸入的塊數據和半象素內插后的矩形區,算出該塊的象素值,存儲于緩沖器B。這樣,把在緩沖器B存儲的最終解碼塊通過存儲器控制器6傳輸給外部存儲器3。
&#601.3.3輸入輸出處理部分&#62為了執行上述多數數據的輸入輸出(數據傳輸),構成輸入輸出處理部分1001,使其無輔助操作地切換分擔各種數據傳輸的多個任務,并且,對于數據輸入輸出要求不產生響應延遲。這里,所謂的輔助操作,是任務開關時產生的前后關系的疏遠和恢復。即構成輸入輸出處理裝置5,通過在存儲器(棧區)疏遠和恢復程序計數器的指令地址和寄存器數據,消除產生的輔助操作。下面,說明其詳細結構。
&#601.3.3.1I/O處理裝置&#62圖11是表示I/O處理裝置5結構的方框圖。圖中,I/O處理裝置5構成為,配有狀態監視寄存器51;指令存儲器52;指令讀出電路53;指令寄存器54;解碼器55;演算執行部分56;通用寄存器組57和任務管理部分58,并且為了與非同步產生的多個事件對應,在每個極短的周期(4指令循環)可一邊切換一邊執行任務。
狀態監視寄存器51由寄存器CR1~CR3構成,保存用于監視IO處理裝置5的各種輸入輸出狀態的各種狀態數據(標志等)。例如,狀態監視寄存器51保存如下狀態的數據流輸入部分1的狀態(MPEG流中開始碼檢測標志);視頻輸出部分12的狀態(表示水平清除期間的標志);聲音輸出部分13的狀態(聲音幀數據的傳輸結束標志);和在這些部分與緩沖存儲器2、外部存儲器3及FIFO存儲器4之間的數據傳輸狀態等(數據傳輸數、對FIFO存儲器4的數據要求標志)。
更具體地說,包括以下標志。
開始碼檢測標志(以下稱為標志1)利用流輸入部分1,在MPEG流中檢測開始碼時設定該標志。
水平清除標志(標志2)該標志是表示水平清除期間的標志,由視頻輸出部分12設定。按約60毫秒周期來設定。
圖象幀數據的傳輸結束標志(標志3)在從外部存儲器3向視頻輸出部分12傳輸1幀部分的解碼圖象數據時,由DMAC5a設定該標志。
聲音幀數據的傳輸結束標志(標志4)在從外部存儲器3向聲音輸出部分13傳輸1幀部分的解碼聲音數據時,由DMAC5a設定該標志。
數據傳輸結束標志(標志5)在把從流輸入部分1向緩沖存儲器2的由IO處理裝置5指定數據數的壓縮圖象數據用DMAC5a進行DMA傳輸時(作為終端計數時),設定該標志。
DMA要求標志(標志6)該標志是表示把緩沖存儲器2的壓縮圖象數據或壓縮聲音數據作為應對外部存儲器3DMA傳輸的數據的標志,由IO處理裝置5來設定(從下面說明的任務1向任務2的要求)。
對圖象FIFO的數據要求標志(標志7)該標志是要求進行從外部存儲器3向FIFO存儲器4中圖象FIFO的數據傳輸的標志,按圖象FIFO的壓縮圖象數據變為預定量以下時來設定。該標志按約5~40毫秒周期來設定。
對聲音FIFO的數據要求標志(標志8)該標志是要求進行從外部存儲器3向FIFO存儲器4中聲音FIFO的數據傳輸的標志,按聲音FIFO的壓縮聲音數據變為預定量以下時來設定。該標志按約15~60毫秒周期來設定。
解碼通信要求標志(標志9)該標志是要求進行從解碼處理部分1002對輸入輸出處理部分1001通信的標志。
主通信要求標志(標志10)該標志是要求進行從主處理裝置對輸入輸出處理部分1001通信的標志。
利用由IO處理裝置5執行的各任務,不中斷穩定地監視上述標志種類。
指令存儲器52存儲分擔多個數據輸入輸出(數據傳輸)控制的多個任務程序。在本實施例中,存儲任務0~5的6個任務程序。
任務0(主I/F任務)在上述標志10被設定時,本任務是用于進行與主計算機的通信、即通過主I/F部分14進行與主計算機的通信處理的任務。例如,如果從主處理裝置接受MPEG流的解碼開始、停止、快速重放、反向重放等,就進行解碼狀況(誤差)的通知等。該處理把上述標志10作為觸發。
任務1(填充任務)該任務是在由流輸入部分1檢測開始碼時(上述標志1),解析(填充)從流輸入部分1輸入的MPEG數據,抽出各個基本流,把抽出的基本流由DMA傳輸(上述傳輸路徑(1)的前半部分)傳輸給緩沖存儲器2的程序。其中,抽出的基本流的種類是壓縮圖象數據(也稱為視頻基本流)、壓縮聲音數據(也稱為音頻基本流)、專用數據等。在把基本流存儲于緩沖存儲器2時,設定上述標志6。
任務2(流傳輸/音頻任務)本任務是控制以下(a)~(c)的傳輸的程序。
(a)從緩沖存儲器2向外部存儲器3的各個基本流的DMA傳輸(上述傳輸路徑(1)的后半部分)。該傳輸把上述標志1、3作為觸發。
(b)按照在音頻FIFO中保存的壓縮聲音數據的數據大小(殘量),從外部存儲器3向FIFO存儲器4的音頻FIFO的壓縮聲音數據的DMA傳輸(上述傳輸路徑(2)中向音頻FIFO的傳輸)。在音頻FIFO保存的壓縮聲音數據的數據大小不小于一定量的情況下,進行該數據傳輸。該傳輸把上述標志8作為觸發。
(c)從外部存儲器3向緩沖存儲器2,并且從緩沖存儲器2向聲音輸出部分13的解碼后的音頻數據的DMA傳輸(上述傳輸路徑(4))。該傳輸把上述標志2作為觸發。
任務3(圖象提供任務)本任務是按照在圖象FIFO中保存的壓縮圖象數據的數據大小(殘量),處理從外部存儲器3向FIFO存儲器4的圖象FIFO的壓縮圖象數據的DMA傳輸(在上述傳輸路徑(2)中向圖象FIFO的傳輸)的程序。在圖象FIFO保存的壓縮圖象數據的數據大小不小于一定量的情況下,進行該數據傳輸。該傳輸把上述標志7作為觸發。
任務4(視頻輸出任務)本任務是處理從外部存儲器3向緩沖存儲器2,并且從緩沖存儲器2向視頻輸出部分12的解碼后的圖象數據的DMA傳輸(上述傳輸路徑(4))的程序。該傳輸把上述標志2作為觸發。
任務5(解碼器I/F任務)本任務是處理從解碼處理部分1002對IO處理裝置5指令的程序。在指令中,有‘getAPTS’、‘getVPTS’、‘getSTC’等。getVPTS(VideoPresentation Time Stamp)是要求解碼處理部分1002對于IO處理裝置5獲得向壓縮圖象數據提供的VPTS的指令。getAPTS(Audio Presentation TimeStamp)是要求解碼處理部分1002對于IO處理裝置5獲得向壓縮聲音數據提供的APTS的指令。getSTC(System Time Clock)是要求解碼處理部分1002對于IO處理裝置5獲得STC的指令。接受這些指令的IO處理裝置5分別通知解碼處理部分1002中的STC、VPTS、APTS。為了同步解碼處理部分1002中聲音和圖象的解碼,同時按幀單位調整解碼的進度,采用STC、VPTS、APTS。
指令讀出電路53配有多個指示指令閉鎖地址的程序計數器(以下簡稱為PC),使用由任務管理部分58指定的PC,從指令存儲器52中讀出指令,存儲于指令寄存器54。具體地說,指令讀出電路53帶有與上述任務0~5對應的PC0~5,當由任務管理部分58變更PC的指定時,用硬件構成替換的高速PC。該結構的IO處理裝置5在進行任務開關時使當前任務的PC值避開存儲器,根據恢復處理開放來自存儲器的隨后任務的PC值。
解碼器55控制演算執行部分56,通過從指令存儲器52中讀出,讀出在指令寄存器54中存儲的指令,執行該指令。此外,解碼器55對IO處理裝置5整體進行至少由指令讀出電路53的指令讀出階段、解碼器55的讀出階段、演算執行部分56的執行階段的三個階段構成的流水線控制。
演算執行部分56帶有ALU(Arithmetic Logical Unit)、乘法器、BS(Barrel Shifter),根據解碼器55的控制,按指令執行指定的演算。
通用寄存器組57配有與任務0~任務5對應的6個寄存器組(一寄存器組有四個32位寄存器和四個16位寄存器)。整個帶有24個32位寄存器和24個16位寄存器,使用與執行中的任務對應的寄存器組。因此,IO處理裝置5在進行任務開關時使當前所有寄存器數據避開存儲器,根據恢復處理開放來自存儲器的隨后任務的寄存器數據。
任務管理部分58按預定數的指令循環數,通過替換指令讀出電路53的PC和通用寄存器組57的寄存器組,進行任務的替換。在本實施例中,上述預定數是4。此外,由于IO處理裝置5按一指令循環流水線處理一指令,所以任務管理部分58在未產生上述輔助操作下對每4個指令替換任務。因此,對于非同步產生的各種輸入要求,能夠抑制響應延遲。即對于輸入要求的響應延遲即使最大也僅產生24個指令循環。
&#601.3.3.1.1指令讀出電路&#62圖12是表示指令讀出電路53詳細結構的方框圖。
圖中,構成指令讀出電路53,使其配有不同任務PC存儲部分53a;當前IFAR(Instruction Fetch Address Register)53b;增量器53c;第二IFAR53d;選擇器53e;選擇器53f;和DECAR53g(DECode Address Register),并在進行任務替換時,在沒有輔助操作下替換讀出指令的地址。
不同任務PC存儲部分53a帶有與任務0~5對應的6個地址寄存器,對每個任務保存程序計數值。該程序計數值是對應任務的再開地址。進行任務替換時,在任務管理部分58和解碼器55的控制下,從隨后要執行任務所對應的地址寄存器中讀出程序計數值,把當前執行的任務所對應的地址寄存器的程序計數值更新為新的再啟動地址。此時,分別由任務管理部分58產生的“nexttaskid(rd addr)”信號、“taskid(wr addr)”信號指定隨后要執行的任務和當前任務。
圖13的PC0、1、2表示與任務0、1、2對應的程序計數值。圖中,(0-0)表示任務0的指令0,(1-4)表示任務1的指令4。例如,在進行任務0的重新啟動時讀出PC0(指令循環t0),在進行對隨后任務的替換時,更新為指令(0-4)的地址(指令循環t4)。
由增量器53c、下一個IFAR53d、選擇器53e構成的封閉回路是由隨后的選擇器53e通過選擇讀出更新地址的電路。圖13的IF1表示從選擇器53e輸出的地址。圖中,例如,在進行從任務0向任務1的替換時,在循環t4中,選擇器53e從不同任務的PC存儲部分53a中選擇讀出的指令地址(1-0),在循環t5~t7中,從下一個IFAR53d中選擇增量的指令地址。
當前IFAR53b延遲一循環地保存選擇器53e的選擇輸出IF1,輸出作為指令存儲器52中的指令讀出地址。換句話說,保存當前有效任務的指令讀出地址。圖13的IF2表示當前IFAR53b的指令讀出地址。如圖所示,IF2指出每四個指令循環中不同任務的指令地址。
DECAR53g保存在指令寄存器54中保存的指令地址。也就是說,指示解碼中的指令。表示圖13中的DEC中、DECAR53g中保存的地址。此外,圖13中的EX表示執行中的指令地址。
選擇器53f在分支指令執行時和中斷發生時選擇分支地址,除此以外選擇下一個IFAR53d的地址。
通過配有這樣結構的指令讀出電路53,IO處理裝置5進行圖13所示的4段(IF1、IF2、DEC、EX)的流水線處理。其中,IF1階段是進行多個程序計數值的選擇和更新的階段。IF2階段是讀出指令的階段。
&#601.3.3.1.2任務管理部分&#62圖14是表示任務管理部分58詳細結構的方框圖。圖中,任務管理部分58大致分為管理任務替換定時的頁槽管理器和管理任務順序的程序機。
頁槽管理器帶有計數器58a、鎖存器58b、比較器58c、鎖存組件58d,把對每四個指令循環指示任務替換的任務替換信號(chgtaskex)向指令讀出電路53輸出。
具體地說,鎖存器58b是保存計數器58a輸出的后兩位的兩個FF(FlipFlop)電路。計數器58a按每個表示指令循環的塊把鎖存器58b的兩位輸出值增量+1變為三位輸出。其結果,計數器58a就重復輸出1、2、3、4。在計數器58a的輸出值與常數4一致時,比較器58c把任務替換信號(chgtaskex)輸出給指令讀出電路53和程序機。
程序機配有任務舍入管理部分58e;優先編碼器58f;鎖存器58g;輸出每個任務替換信號(chgtaskex),更新任務id,把當前的任務id和隨后要執行的任務id輸出給指令讀出電路53。
具體地說,鎖存組件58d、鎖存器58g按編碼形式(3位)同時保存當前的任務id。編碼形式是其值表示任務id。
當輸入任務替換信號(chgtaskex)時,任務舍入管理部分58e參照鎖存組件58d,按解碼形式(6位)輸出隨后要執行的任務id。解碼形式(6位)是一位與一任務對應,位的位置表示任務id。
優先編碼器58f把從任務舍入管理部分58e輸出的任務id從解碼形式變換為編碼形式。上述鎖存組件58d、鎖存器58g同時把編碼的任務id延遲一循環來保存。
通過該結構,在輸出來自比較器58的任務替換信號(chgtaskex)時,任務舍入管理部分58e把來自優先編碼器58f的隨后要執行的任務id作為“nexttaskid(rd addr)”信號來輸出,把來自鎖存器58e的當前任務id作為“taskid(wr addr)”信號來輸出。
&#601.4動作說明&#62下面,對于以上構成的第一實施例的圖象聲音處理裝置1000,說明其動作。
在輸入輸出處理部分1001中,來自流輸入部分1非同步輸入的MPEG流,根據輸入輸出處理裝置5的控制,通過緩沖存儲器2、存儲器控制器6一次存儲于外部存儲器3,并且,通過存儲器控制器6保存在FIFO存儲器4中。此時,對于FIFO存儲器4,按照執行上述任務2(b)、任務3產生的其殘量,IO處理裝置5供給壓縮圖象數據、壓縮聲音數據。由此,由于FIFO存儲器4供給過于不足的一定量的壓縮圖象數據、壓縮聲音數據,所以解碼處理部分1002與非同步的輸入輸出分離,能夠專門進行解碼處理。通過上述輸入輸出處理部分1001,至此的處理與解碼處理部分1002獨立地并行進行。
另一方面,在解碼處理部分1002中,在FIFO存儲器4中保存的MPEG流數據由以下的處理裝置7、碼變換部分9、象素演算部分10、象素讀寫部分11進行解碼。圖15表示FIFO存儲器4以后的解碼動作的說明圖。
圖中,橫軸作為時間軸表示大致一宏塊部分的標題解析和各塊的每一個解碼的樣子。此外,縱方向表示解碼處理部分1002中把每個塊的解碼按流水線執行的樣子。
如圖所示,處理裝置7按時分重復壓縮圖象數據的標題解析和對于壓縮聲音數據的解碼處理。也就是說,處理裝置7進行一宏塊部分的標題解析,在把解析結果通知碼變換部分9、象素演算部分10、象素讀寫部分11后,對于碼變換部分9,指示宏塊的解碼開始。然后,處理裝置7進行壓縮聲音數據的解碼,直至通知來自碼變換部分9的中斷信號。解碼后的聲音數據一次保存在內部存儲器8中,并且,由存儲器控制器6向外部存儲器3進行DMA傳輸。
此外,碼變換部分9接受來自處理裝置7的宏塊的解碼開始指示,把宏塊內的每個塊存儲于緩沖器200。此時的碼變換部分9按照處理裝置7的標題解析時通知的塊掃描類型,變更對緩沖器200的寫入地址的順序。也就是說,按折線掃描的情況和在隔行掃描的情況變更寫入地址的順序。由此,象素演算部分10不變更讀出地址的順序也好,不管掃描類型,一般都能夠同樣按讀出地址的順序讀出。重復上述動作至到VLD處理結束,碼變換部分9在緩沖器200中寫出宏塊內的6個塊。如果結束6塊的VLD,那么在處理裝置7上產生中斷。該中斷信號是宏塊解碼結束信號End Of Macro Block(EOMB)。通過檢測第六個塊的塊結束信號End Of Block(EOB),碼變換部分9生成EOMB。
象素演算部分10與碼變換部分9并聯,對圖9所示的緩沖器200中存儲的塊數據按塊單位實施IQ、IDCT,把其處理結果存儲于緩沖器201。
象素讀寫部分11與象素演算部分10并聯,根據緩沖器201的塊數據和由處理裝置7進行標題解析獲得的通知移動向量,進行根據如圖15所示的外部存儲器3的參照幀的矩形區的切出和塊合成。把塊合成結果通過FIFO存儲器4存儲于外部存儲器3。
上面說明了非掃描宏塊情況的動作,但在掃描宏塊的情況下,碼變換部分9和象素演算部分10不動作,只有象素讀寫部分11動作。在存在掃描宏塊的情況下,按與參照幀中的矩形區相同的圖象,通過象素讀寫部分11,上次的圖象就作為解碼圖象復制在外部存儲器3中。
這種情況下,從碼變換部分9向處理裝置7的中斷信號如下生成。也就是說,處理裝置7獲得對于象素讀寫部分11表示送交移動補償動作開始的控制信號的信號、表示使象素讀寫部分11的移動補償動作可能的信號和表示作為掃描宏塊的信號的邏輯積,并且,把作為該邏輯積與上述EOMB信號的邏輯和的中斷信號輸入給處理裝置7。
按照以上說明的本發明實施例1的圖象聲音處理裝置,其構成使輸入輸出處理部分1001分擔來自存儲載體和通信載體的MPEG流輸入處理、向顯示裝置和聲音輸出裝置的顯示圖象數據和聲音數據的輸出處理、向解碼處理部分1002提供流的處理,和使解碼處理部分1002分擔壓縮圖象數據和壓縮聲音數據的解碼處理。由此,把解碼處理部分1002從非同步產生的處理中釋放出來,能夠專門進行解碼處理。其結果,由于高效率地進行MPEG流輸入、解碼、輸出的一連串處理,所以即使未使用高速動作時鐘,也能夠實現MPEG流的全解碼(不丟失幀)。
此外,本圖象聲音處理裝置最好進行單芯片地LSI化。這種情況下,能夠用100MHz以下的動作時鐘(實際上為54MHz)進行上述全解碼。在這點上,如果圖象尺寸較小,動作時鐘為100MHz以及超過200MHz的近年來的高性能CPU就能夠進行上述全解碼,但其不利的一面是制造成本昂貴。與此相反,本圖象聲音處理裝置在制造成本方面和全解碼方面都是優越的。
并且,本圖象聲音處理裝置的解碼處理部分1002分擔如下作用。
也就是說,處理裝置7無論對于壓縮圖象數據還是對于壓縮聲音數據,在擔當必須作涉及多分支的條件判斷的標題解析的同時,還擔當壓縮聲音數據的解碼。對于壓縮圖象數據的塊數據,由于要求定型的大量演算量,所以由所謂的碼變換部分9、象素演算部分10、象素讀寫部分11專用硬件(固件)擔當解碼處理。把圖15所示的碼變換部分9、象素演算部分10、象素讀寫部分11進行流水線化。象素演算部分10使IQ和IDCT的并行處理變為可能。象素讀寫部分11實現了雙塊單位的參照幀的存取。由此,由于實現了壓縮聲音解碼處理的效率化,所以圖象解碼專用硬件部分即使不使用高速時鐘,也能夠獲得較高的處理能力。具體地說,不使用超過100MHz的高速時鐘,用50~60MHz左右的時鐘可獲得與以往相同程度以上的處理能力。因此,不必使用高速元件,能夠抑制制造成本。
此外,由于把圖象解碼的基本單位作為處理裝置7中的宏塊單位、碼變換部分9和象素演算部分10中的塊、象素讀寫部分12中的雙塊,能夠把圖象解碼中的緩沖器容量抑制到最小限度。
&#602第二實施例&#62構成本實施例的圖象聲音處理裝置,使其施加壓縮流數據的解碼功能,并且有壓縮功能(以下稱為編碼)和制圖功能的作用。
&#602.1圖象聲音處理裝置的結構&#62圖16是表示本發明實施例2的圖象聲音處理裝置結構的方框圖。
該圖象聲音處理裝置2000由流輸入輸出部分21、緩沖存儲器22、FIFO存儲器24、輸入輸出處理裝置25、存儲器控制器26、處理裝置27、內部存儲器28、碼變換部分29、象素演算部分30、象素讀寫部分31、視頻輸出部分12、聲音輸出部分13、緩沖器200、緩沖器201構成。圖象聲音處理裝置2000加在圖4所示的圖象聲音處理裝置1000的功能上,附加以下的功能。也就是說,附加了圖象數據和聲音數據的壓縮功能,以及描述多數據的制圖功能。
因此,在圖象聲音處理裝置2000中,與圖4同名稱的結構要素有完全相同的功能,并且,附加了具有壓縮功能和制圖功能作用的功能。以下,省略與圖4相同點的說明,以不同點為中心進行說明。
流輸入輸出部分21的不同點在于變為雙方向。也就是說,通過輸入輸出處理裝置25的控制,如果從緩沖存儲器22傳輸MPEG,那么把傳輸的并行數據轉換成串行數據,作為MPEG流向外部輸出。
緩沖存儲器22、FIFO存儲器24的不同點也在于變為雙方向。輸入輸出處理裝置25在控制第一實施例所示的(1)~(4)路徑的數據傳輸中,還加上控制(5)~(8)路徑的傳輸。
(1)流輸入輸出部分21→緩沖存儲器22→存儲器控制器26→外部存儲器3(2)外部存儲器3→存儲器控制器26→FIFO存儲器24(3)外部存儲器3→存儲器控制器26→緩沖存儲器22→視頻輸入部分12(4)外部存儲器3→存儲器控制器26→緩沖存儲器22→聲音輸入部分13(5)外部存儲器3→存儲器控制器26→內部存儲器28
(6)外部存儲器3→存儲器控制器26→象素讀寫部分31(7)FIFO存儲器24→存儲器控制器26→外部存儲器3(8)外部存儲器3→存儲器控制器26→緩沖存儲器22→流輸入輸出部分21(5)、(6)路徑是進行圖象數據、聲音數據編碼情況的原來的數據路徑,(7)、(8)表示壓縮后的MPEG流的路徑。
首先,說明編碼處理。把要編碼的數據存儲于外部存儲器3。通過象素讀寫部分31控制存儲器控制器,把外部存儲器3的圖象數據傳輸給象素讀寫部分31。
象素讀寫部分31進行把圖象數據寫入第二緩沖器201的處理和差分圖象生成處理。差分圖象生成處理生塊單位的移動檢測(移動向量的算出)和差分圖象的生成構成。因此,通過在符號化對象塊和類似矩形區及參照幀內進行探索,象素讀寫部分31在內部帶有檢測移動向量的移動檢測電路。再有,代替移動檢測電路,也可以配有利用鄰接幀的已經計算過的塊移動向量,估算符號化對象移動向量的移動估算電路。
象素演算部分25接受獲得塊單位上的差分圖象,進行DCT、IDCT、量化處理(以下稱為Q處理)、IQ。把這樣量化的圖象數據存儲于緩沖器200。
碼變換部分29從緩沖器200接受獲得量化數據,進行可變長度符號處理(VLC)。把可變長度符號化的數據存儲于先進先出存儲器24,通過存儲器控制器26,在存儲于外部存儲器3的同時,還生處理裝置27對每個宏塊附加標題信息。
此外,把外部存儲器3的圖象數據通過存儲器控制器26傳輸給內部存儲器28。處理裝置27進行對每個宏塊附加標題信息的處理和按實時進行內部存儲器28的聲音數據的壓縮處理。
以上的編碼處理按與第一實施例相反的路徑來處理。
下面,說明制圖處理。制圖處理是通過把所謂的多邊形的矩形類型圖形進行組合的三維圖象生成處理。在本裝置中,進行在多邊形的頂點坐標中從象素數據中生成多邊形內部的象素數據的處理。
首先,把多邊形的頂點數據存儲于外部存儲器3。
通過處理裝置27控制存儲器控制器26,把頂點數據存儲于內部存儲器28。處理裝置27讀出內部存儲器28產生的頂點數據,寫入未進行DDA的預處理(Digital Difference Analyze)的FIFO存儲器24。
碼變換部分29根據象素演算部分30的指示,從FIFO存儲器24中讀出頂點數據,傳輸給象素演算部分30。
象素演算部分30向未進行DDA處理的象素讀寫部分31發送。象素讀寫部分31,根據處理裝置27的指示,通過Z緩沖器處理或未進行α混合處理的存儲器控制器26,在外部存儲器3中寫出圖象數據。
&#602.1.1象素演算部分&#62圖17是表示象素演算部分30結構的方框圖。
圖中,對于與圖7所示的象素演算部分10相同的結構要素附加相同的序號,并省略說明,把以下的不同點作為中心進行說明。
不同點在于,圖中所示的象素演算部分30,對于圖7所示的象素演算部分10,執行部分變為三方面(501a~501c),追加了指令指示字保存部分308和指令寄存器309。
執行部分501a~501c變為三方面是為了提高演算性能的緣故。具體地說,在制圖處理中,單獨地并行演算彩色圖象RGB。在IQ和Q處理中,使用三個乘法器502以實現高速化。在IDCT中,通過使用多個乘法器502和加減法器503,實現時間縮短。在IDCT中,存在所謂的蝶式演算,這是由于作為演算元素的所有數據間有依存關系,所以設有進行執行部分501a~501c的單元間通信的數據線103。
第一指令存儲器506、第二指令存儲器507添加IDCT、IQ,存儲于用于DCT、Q處理、DDA的宏程序。圖18表示第一指令存儲器506、第二指令存儲器507存儲內容的一例。與圖8相比,追加了Q處理宏程序、DCT宏程序和DDA宏程序。
指令指示字保存部分308a~308c與執行部分501a~501c對應設置,帶有轉換從各自第一程序輸入的地址,向指令寄存器309輸出的轉換圖表。轉換后的地址意味著指令寄存器309的寄存器序號。并且,指令指示字保存部分308a~308c保存后述的各自變更標志,輸出給執行部分501a~501c。
根據轉換圖表,指令指示字保存部分308a、308b、308c,在例如輸入地址為1、2、3、4、5、6、7、8、9、10、11、12的情況下,輸出各自如下轉換后的地址。
指令指示字保存部分308a1、2、3、4、5、6、7、8、9、10、11、12指令指示字保存部分308b2、1、4、3、6、5、8、7、10、9、12、11指令指示字保存部分308c4、3、2、1、8、7、6、5、12、11、10、9指令寄存器309,如圖23所示,由保存宏指令的多個寄存器的三個選擇器和三個輸出通道構成。三個選擇器選擇從指令指示字保存部分308a、308b、308c輸入的轉換地址(寄存器序號)中指定的寄存器的宏指令。三個輸出通道與選擇器對應設置,通過分配部分310把在各個選擇器中選擇的宏指令輸出給執行部分501a~501c。設置三個選擇器和輸出通道的原因是因為對三個加減法器503(或三個乘法器502)同時提供不同的宏指令的緣故。在本實施例中,三個輸出通道,通過分配部分310,作為有選擇地提供三個加減法器503和三個乘法器502的其中任何一個的通道。
例如,指令寄存器309配有寄存器R1~R16(寄存器序號1~16)。在寄存器R1~R16中存儲的宏程序表示在DCT和IDCT中必要的行列演算,也可以根據上述三個寄存器序號順序的其中一個來存儲,以便進行同一處理。也就是說,帶有上述三個執行順序的宏程序把執行順序的可換的一部分宏指令順序進行調換。這是因為執行部分501a~501c并行執行宏程序,為了回避在執行部分501a~501c之間寄存器(圖外)存取爭用等資源干擾的緣故。此外,上述行列演算處理把8×8×行列的乘法運算、轉置、傳輸作為其內容。
接著,在指令寄存器309的各寄存器中存儲的宏指令按助記形式「opRi,Rj,dest,(變更標志)」來表示。但是,指令寄存器部分309的宏指令僅是「op和Ri,Rj(變更標志)」的部分。「dest」的部分由指令存儲器506、507指定。「(變更標志)」的部分由指令指示字保存部分308a~308c指定。
其中,“op”是表示乘法運算指令、加減法運算指令、傳輸指令等的操作碼,“Ri,Rj”是操作數。乘法運算指令是在三個執行部分501a~c中的各乘法器502內執行的指令,加減法運算指令、傳輸指令是在三個執行部分501a~c中的各乘法器502內執行的指令。
“dest”表示演算結果的存儲端。該“dest”不是指令寄存器309的寄存器,根據指令存儲器506(乘法運算指令的情況下)或指令存儲器507(加減法運算指令和傳輸指令的情況下)來指定。這是因為指令寄存器309的宏程序在執行部分501a~501c中通用化的緣故。如果由寄存器指定傳輸端,那么就必須分別預備個別的宏程序,使宏程序的容量膨脹數倍。
“變更標志”在加減法運算中是表示加法運算還是減法運算的標志。該“變更標志”不由指令寄存器309的寄存器來指定,而是根據指令指示字保存部分308a~308c另外指定。因為在DCT、IDCT和行列演算中使用的常數行列中包括所有要素為“1”的行(或列)和所有要素為“-1”的行,這才有可能通過從指令指示字保存部分308a~308c中指定“變更標志”,共用指令寄存器309的同一宏程序。
在從指令寄存器309輸入的三個宏指令為加減法運算指令的情況下,分配部分310把這些「op和Ri,Rj」的部分、從指令存儲器506輸入的「dest」的部分和從指令指示字部分308a~c輸入的「變更標志」分配給三個加減法運算器503,同時,把指令存儲器506的宏指令分配給三個乘法器502。此外,在從指令寄存器309輸入的三個宏指令為乘法運算指令的情況下,分配部分310把這些「op和Ri,Rj」的部分和從指令存儲器506輸入的「dest」的部分分配給三個乘法運算器502,把指令存儲器507的宏指令分配給三個加減法運算器503。換句話說,利用分配部分310,對三個加減法運算器503提供的宏指令對于三個加減法運算器503通用的指令是從指令存儲器507中分別提供一個宏指令,對于三個加減法運算器503中不同的加減法指令是分別提供來自指令寄存器309的三個宏指令。同樣地,對三個乘法器502提供的宏指令對于三個乘法器502通用的指令是從指令存儲器506中提供的宏指令,對于三個乘法器502中不同的乘法運算指令是分別提供來自指令寄存器309的宏指令。
按照象素演算部分30的這種結構,能夠消減指令存儲器506、指令存儲器507的存儲容量。
如果假設象素演算部分30配有指令指示字保存部分308a~c、指令寄存器309、分配部分310,那么在對于三個執行部分501a~c提供不同的宏指令時,指令存儲器506、指令存儲器507必須并行存儲三個宏指令。
圖22表示在未配有指令指示字保存部分308a~c、指令寄存器309、分配部分310情況下的指令存儲器506和指令存儲器507存儲內容的一例。圖中,存儲16步的宏程序的一個宏指令有16位的長度。這種情況下,從并行存儲三個宏指令來看,指令存儲器506和指令存儲器507必須有總計1536位的存儲容量(16步×16位×3×2)。
對此,在本實施例的象素演算部分30中,圖23表示指令指示字保存部分308a~c、指令寄存器部分309的存儲內容的一例。圖中,也存儲16步的宏程序的一個宏指令有16位的長度。圖中,指令指示字保存部分308a~c分別存儲16個寄存器序號(4位的長度),指令寄存器309存儲16個宏指令。這種情況下,指令指示字保存部分308a~c和指令寄存器309的存儲容量也可以是448位(16步×(12+6))。在這樣的象素演算部分30中,能夠大幅度地消減宏程序的存儲容量。實際上,由于可另外發行「dest」「變更標志」,所以其部分的存儲容量或電路是必需的。此外,指令存儲器506、507指定宏指令中的「dest」,此外,由于可發行執行部分501a~c中共用的乘法指令、加減法指令,所以不必完全消除指令存儲器506、507。假設如果在指令寄存器309中設有6個輸出通道,那么也能夠消除指令存儲器506和指令存儲器507。
再有,在圖23中,在第一程序計數器的值為0~15的情況下,指令指示字保存部分308a~308c輸出轉換地址(寄存器序號),但它并不限制于此。例如,在第一程序計數器的值為32~47的情況下,也可以輸出轉換地址。這種情況下,增加適合第一程序計數器值的偏置值的結構更好。由此,能夠把第一程序計數器表示的任意地址轉換為轉換地址。
利用以上的結構,在本實施例中,不僅使壓縮圖象數據和壓縮聲音數據的解碼處理變為可能,而且使圖象和聲音數據的編碼處理和根據多邊形數據的制圖處理變為可能。此外,通過多個執行部分的并行動作,提高了處理效率。而且,通過調換指令寄存器部分308a~308c中一部分宏指令的順序,由于能夠回避多個執行部分間的資源干擾,所以還能提高處理效率。
再有,在上述實施例中,表示有三個執行部分的結構是因為有利于能夠單獨地演算RGB顏色。并且,執行部分的個數只要在三個以上就行。
此外,使上述實施例的圖象聲音處理裝置1000、2000分別進行單芯片LSI化最好。并且,作為芯片外部的存儲器說明了外部存儲器3,但也可以內裝在一個芯片內。
此外,在上述實施例中,對于外部存儲器,流輸入部分1(或流輸入輸出部分21存儲于了MPEG流(或圖象聲音數據),但也可以構成把主處理裝置存儲于在直接外部存儲器3中。
并且,在上述實施例中,IO處理裝置5每隔四個指令循環進行任務替換,但也可以是每隔四個指令循環以外的多個指令循環。此外,任務替換的指令循環數通過對每個任務預先加權,也可以使用不同的指令循環。此外,也可以按照優先度·緊急度進行對每個指令循環數加權。
盡管參照附圖用實施例充分說明了本發明,但必須指出,對于本領域技術人員來說,顯然能夠進行各種變化和變更。因此,不超出本發明范圍的各種變化和變更應該都包括在本發明中。
權利要求
1.一種圖象聲音處理裝置,解碼從外部輸入的包括壓縮聲音數據和壓縮圖象數據的數據流,把解碼后的數據輸出給輸出裝置,包括輸入輸出處理部分利用外部要因進行非同步產生的輸入輸出處理;輸入輸出處理包括輸入從外部非同步地輸入的所述數據流,并存儲于存儲器;和把在存儲器中存儲的數據流提供給解碼處理部分;解碼處理部分并行所述輸入輸出處理,進行以在存儲器中存儲的數據流的解碼為主的解碼處理其特征在于,把解碼的圖象數據、解碼的聲音數據存儲于存儲器;并且,分別與外部的顯示裝置、聲音輸出裝置的輸出率一致地從存儲器中讀出,所述輸入輸出處理裝置把這些的輸出作為輸入輸出處理來進行。
2.如權利要求1的圖象聲音處理裝置,其特征在于,所述解碼處理部分包括按序處理裝置對于數據流,進行以條件判斷為主的按序處理;按序處理包括壓縮聲音數據和壓縮圖象數據的標題解析,和壓縮聲音數據的解碼;定型處理裝置與所述按序處理并行,進行定型處理;定型處理是除去壓縮圖象數據的標題解析的壓縮圖象數據的解碼。
3.如權利要求2的圖象聲音處理裝置,其特征在于,所述按序處理部分交互地進行在數據流中的預定塊單位內附加的標題信息的解析和數據流中的聲音數據的解碼;在一個塊的標題解析結束時,指示定型處理裝置中該塊的解碼開始;在從定型處理裝置中接受到其塊解碼結束通知時,開始下一個塊的標題解析;根據按序處理裝置的解析結果,所述定型處理裝置按預定塊單位解碼壓縮圖象數據。
4.如權利要求3的圖象聲音處理裝置,其特征在于,所述定型處理裝置包括數據變換裝置根據按序處理裝置的指示,可變長解碼數據流中的壓縮圖象數據;演算裝置對于由可變長解碼獲得的塊數據,通過實施預定的演算,進行反量化和反離散余弦變換;合成裝置通過合成反離散余弦變換后的塊數據和在存儲器中存儲的解碼后的幀的矩形圖象,還原與塊相當的圖象數據。
5.如權利要求4的圖象聲音處理裝置,其特征在于,所述演算裝置還包括第一緩沖器有與一塊相當的存儲區;所述數據變換裝置包括可變長解碼裝置可變長解碼數據流中的壓縮圖象數據;第一地址圖表裝置存儲按折線掃描順序排列第一緩沖器存儲區地址的第一地址列;第二地址圖表裝置存儲按交錯掃描順序排列第一緩沖器存儲區地址的第二地址列;寫入裝置根據第一地址列和第二地址列的一個,把由可變長解碼裝置的可變長解碼獲得的塊數據寫入第一緩沖器。
6.如權利要求5所述的圖象聲音處理裝置,其特征在于,所述寫入裝置包括圖表地址產生裝置順序產生與第一地址圖表裝置和第二地址圖表裝置對應的圖表地址;地址選擇裝置從輸入圖表地址的第一圖表裝置、第二圖表裝置中分別輸出的第一地址列的地址、第二地址列的地址中,選擇一方;地址輸出裝置把選擇的地址輸出給第一緩沖器。
7.如權利要求1所述的圖象聲音處理裝置,其特征在于,所述輸入輸出處理裝置包括輸入裝置從外部輸入非同步數據流;圖象輸出裝置向外部的顯示裝置中輸出解碼的圖象數據;聲音輸出裝置向外部的聲音輸出裝置中輸出解碼的聲音數據;處理裝置一邊替換一邊執行在指令存儲器中存儲的第一到第四任務程序,第一任務是從輸入部分向所述存儲器傳輸數據流;第二任務是從所述存儲器向解碼處理裝置提供數據流;第三任務是從所述存儲器向圖象輸出部分輸出解碼的圖象數據;第四任務是從所述存儲器向聲音輸出部分輸出解碼的聲音數據。
8.如權利要求7的圖象聲音處理裝置,其特征在于,所述處理裝置包括程序計數部分有與所述第一到第四任務對應的至少四個程序計數器;指令鎖存部分使用指示一個程序計數器的指令地址,從存儲各任務程序的指令存儲器中取出指令;指令執行部分執行在指令取出部分取出的指令;任務控制部分在每個經過預定數的指令循環,對于指令鎖存部分進行控制,使得依次替換程序計數器。
9.如權利要求8的圖象聲音處理裝置,其特征在于,所述處理裝置還包括寄存器部分有與所述第一到第四任務對應的至少四個寄存器單元;其中,所述任務控制部分在程序計數更換的同時,指令執行部分替換要使用的寄存器。
10.如權利要求9的圖象聲音處理裝置,其特征在于,所述任務控制部分包括計數器在每次更換程序計數中,根據時鐘信號計數指令循環數;更換指示部分當計數器的計數值達到所述預定數時,對于指令取出部分,控制更換程序計數。
11.如權利要求10的圖象聲音處理裝置,其特征在于,所述解碼處理部分包括按序處理裝置對于數據流,進行以條件判斷為主的按序處理;按序處理包括壓縮聲音數據和壓縮圖象數據的標題解析,和壓縮聲音數據的解碼;定型處理裝置與所述按序處理并行,進行定型處理;定型處理是除去壓縮圖象數據的標題解析的壓縮圖象數據的解碼。
12.如權利要求11的圖象聲音處理裝置,其特征在于,所述按序處理部分交互地進行在數據流中的預定塊單位內附加的標題信息的解析和數據流中的聲音數據的解碼;在一個塊的標題解析結束時,指示定型處理裝置中該塊的解碼開始;在從定型處理裝置中接受到其塊解碼結束通知時,開始下一個塊的標題解析;根據按序處理裝置的解析結果,所述定型處理裝置按預定塊單位解碼壓縮圖象數據。
13.如權利要求12的圖象聲音處理裝置,其特征在于,所述定型處理裝置包括數據變換裝置根據按序處理裝置的指示,可變長解碼數據流中的壓縮圖象數據;演算裝置對于由可變長解碼獲得的塊數據,通過實施預定的演算,進行反量化和反離散余弦變換;合成裝置通過合成反離散余弦變換后的塊數據和在存儲器中存儲的解碼后的幀的矩形圖象,還原與塊相當的圖象數據。
14.如權利要求13的圖象聲音處理裝置,其特征在于,所述演算裝置還包括第一緩沖器有與一塊相當的存儲區;所述數據變換裝置包括可變長解碼裝置可變長解碼數據流中的壓縮圖象數據;第一地址圖表裝置存儲按折線掃描順序排列第一緩沖器存儲區地址的第一地址列;第二地址圖表裝置存儲按交錯掃描順序排列第一緩沖器存儲區地址的第二地址列;寫入裝置根據第一地址列和第二地址列的一個,把由可變長解碼裝置的可變長解碼獲得的塊數據寫入第一緩沖器。
15.如權利要求14所述的圖象聲音處理裝置,其特征在于,所述寫入裝置包括圖表地址產生裝置順序產生與第一地址圖表裝置和第二地址圖表裝置對應的圖表地址;地址選擇裝置從輸入圖表地址的第一圖表裝置、第二圖表裝置中分別輸出的第一地址列的地址、第二地址列的地址中,選擇一方;地址輸出裝置把選擇的地址輸出給第一緩沖器。
16.一種圖象聲音處理裝置,包括輸入裝置輸入包括壓縮聲音數據和壓縮圖象數據的數據流;按序處理裝置對于數據流,進行以條件判斷為主的按序處理;按序處理包括在數據流中一定塊單位上附加的標題信息解板;和數據流中的壓縮聲音數據的解碼;定型處理裝置與所述按序處理并行,進行以定型演算為主的定型處理;定型處理是采用標題解析的結果,按預定塊單位解碼數據流中的壓縮圖象數據;當所述預定塊的標題解析結束時,所述按序處理裝置指示定型處理裝置中該預定塊的解碼開始,當從定型處理裝置接受預定塊的解碼結束通知時,開始隨后的預定塊的標題解析。
17.如權利要求16的圖象聲音處理裝置,其特征在于,所述定型處理裝置包括數據變換裝置根據按序處理裝置的指示,可變長解碼數據流中的壓縮圖象數據;演算裝置對于由可變長解碼獲得的塊數據,通過實施預定的演算,進行反量化和反離散余弦變換;合成裝置通過合成反離散余弦變換后的塊數據和在存儲器中存儲的解碼后的幀的矩形圖象,還原與塊相當的圖象數據;所述按序處理裝置包括取得裝置由數據變換裝置獲得可變長解碼的標題信息;解析裝置解析獲得的標題信息;通知裝置把作為解析結果得到的參數通知給定型處理裝置;聲音解碼裝置解碼由輸入裝置輸入的數據流中的壓縮聲音數據;控制裝置在接受從所述定型處理裝置通知預定塊的解碼結束的中斷信號時,停止聲音解碼裝置的動作,同時啟動取得裝置,當所述通知裝置進行所述通知時,在所述數據變換裝置中指示圖象塊的可變長解碼開始。
18.如權利要求17的圖象聲音處理裝置,其特征在于,所述解析裝置根據標題信息算出量化標度和移動向量;所述通知裝置把量化標度通知給演算裝置,把移動向量通知給合成裝置。
19.如權利要求18的圖象聲音處理裝置,其特征在于,所述演算裝置包括第一、第二控制存儲部分存儲各自的宏程序;第一程序計數器在第一控制存儲部分中指定第一讀出地址;第二程序計數器指定第二讀出地址;選擇器通過選擇第一讀出地址和第二地址的其中一個,輸出給第二控制存儲部分;執行部分有乘法器和加法器,通過控制由第一、第二控制存儲部分產生的宏程序,執行塊單位的反量化和反離散余弦變換。
20.如權利要求19的圖象聲音處理裝置,其特征在于,當選擇由選擇器產生的第二讀出地址時,所述執行部分單獨并行進行使用乘法器的處理和使用加法器的處理,當選擇由選擇器產生的第一讀出地址時,連續進行使用乘法器的處理和使用加法器的處理。
21.如權利要求20的圖象聲音處理裝置,其特征在于,所述演算裝置還包括第一緩沖器保存來自數據變換裝置的圖象塊;第二緩沖器保存由執行部分進行的反離散余弦變換的塊;第一控制存儲部分存儲反量化處理的宏程序和反離散余弦變換的宏程序;第二控制存儲部分存儲反離散余弦變換的圖象塊和把反離散余弦變換的圖象塊傳輸給第二緩沖器的宏程序;所述執行裝置并行執行把反離散余弦變換的圖象塊傳輸給第二緩沖器的處理和對隨后的圖象塊進行反量化處理,用乘法器和加法器連續執行把反量化的該圖象塊進行反離散余弦變換的處理。
22.如權利要求21的圖象聲音處理裝置,其特征在于,所述合成裝置還根據要壓縮的圖象數據生成表示差分圖象的差分塊;所述第二緩沖器還保存生成的差分圖象;第一控制存儲部分還存儲離散余弦變換的宏程序和量化處理的宏程序;第二控制存儲部分還存儲離散余弦變換的宏程序和把離散余弦變換的圖象塊傳輸給第一緩沖器的宏程序;對于在第二緩沖器中保存的差分塊,所述執行裝置還執行離散余弦變換和量化,傳輸給第一緩沖器;對于由所述數據變換裝置產生的可變長符號化的預定塊,所述按序處理裝置還附加標題信息。
23.如權利要求19的圖象聲音處理裝置,其特征在于,所述輸入裝置還輸入多邊形數據;所述按序處理裝置還解析多邊形數據,算出多邊形頂點坐標和邊緣的斜率;所述定型處理裝置還根據算出的頂點坐標和斜率生成所述多邊形的圖象數據。
24.如權利要求23的圖象聲音處理裝置,其特征在于,所述第一、第二控制存儲部分還存儲根據DDA算法進行掃描變換的宏程序;所述執行部分還根據由按序處理裝置算出的頂點坐標和斜率進行由宏程序控制的掃描變換。
25.如權利要求18的圖象聲音處理裝置,其特征在于,所述演算裝置包括第一、第二控制存儲部分存儲宏程序;第一程序計數器在第一控制存儲部分中指定第一讀出地址;第二程序計數器指定第二讀出地址;選擇器選擇第一讀出地址和第二讀出地址的其中一個,輸出給第二控制存儲部分;多個執行部分有乘法器和加法器,通過控制由第一、第二控制存儲部分產生的宏程序,執行塊單位的反量化和反離散余弦變換;各執行部分分擔處理分割塊的部分塊。
26.如權利要求25的圖象聲音處理裝置,其特征在于,所述演算裝置還包括多個地址變換圖表與各執行部分對應設置,各變換圖表對應于預定的地址列部分地調換地址順序保存變換的地址;指令寄存器組由對應變換地址存儲構成實現預定演算宏程序的各個宏指令的多個寄存器構成;替換部分把在第一和第二控制存儲部分和多個執行部分之間設置的來自第一控制存儲部分或選擇器對各執行部分輸出的宏指令替換為指令寄存器的宏指令,對多個執行部分輸出;其中,在所述第一讀出地址或第二讀出地址為所述預定地址列中地址的情況下,把其地址根據所述各地址變換圖表變換為變換地址;所述指令寄存器輸出與從變換圖表中輸出的各變換地址對應的宏指令。
27.如權利要求6的圖象聲音處理裝置,其特征在于,所述各變換圖表還在第一程序計數器輸出所述預定地址列中的第一讀出地址期間,伴隨著表示所述寄存器中的加減法運算的宏指令輸出,把表示應該加法運算還是應該減法運算的標志輸出給所述多個執行部分;所述各執行部分根據所述標志執行加減法運算;所述標志根據所述第二控制存儲部分的宏指令來設定。
28.如權利要求26的圖象聲音處理裝置,其特征在于,所述第二控制存儲部分還在第一程序計數器輸出所述預定地址列中的第一讀出地址期間,伴隨著所述寄存器中的宏指令輸出,把表示宏指令執行結果存儲于端的信息輸出給所述多個執行部分;所述各執行部分根據存儲于端信息存儲于執行結果。
29.一種圖象聲音處理裝置,包括輸入裝置輸入包括壓縮聲音數據和壓縮圖象數據的數據流;按序處理裝置對于數據流,進行以條件判斷為主的按序處理;按序處理包括在數據流中一定塊單位上附加的標題解板;和數據流中的壓縮聲音數據的解碼;定型處理裝置與所述按序處理并行,進行以定型演算為主的定型處理;定型處理是采用標題解析的結果,按預定塊單位解碼數據流中的壓縮圖象數據;當所述預定塊的標題解析結束時,所述按序處理裝置指示定型處理裝置中該預定塊的解碼開始,當從定型處理裝置接受預定塊的解碼結束通知時,開始隨后的預定塊的標題解析;所述定型處理裝置包括數據變換裝置根據按序處理裝置的指示,可變長解碼數據流中的壓縮圖象數據;演算裝置對于由可變長解碼獲得的塊數據,通過實施預定的演算,進行反量化和反離散余弦變換;合成裝置通過合成反離散余弦變換后的塊數據和在存儲器中存儲的解碼后的幀的矩形圖象,還原與塊相當的圖象數據;所述按序處理裝置包括取得裝置由數據變換裝置獲得可變長解碼的標題信息;解析裝置解析獲得的標題信息;通知裝置把作為解析結果得到的參數通知給定型處理裝置;聲音解碼裝置解碼由輸入裝置輸入的數據流中的壓縮聲音數據;控制裝置在接受從所述定型處理裝置通知預定塊的解碼結束的中斷信號時,停止聲音解碼裝置的動作,同時啟動取得裝置,當所述通知裝置進行所述通知時,在所述數據變換裝置中指示圖象塊的可變長解碼開始;所述演算裝置還包括第一緩沖器有與一塊相當的存儲區;所述數據變換裝置包括可變長解碼裝置可變長解碼數據流中的壓縮圖象數據;第一地址圖表裝置存儲按折線掃描順序排列第一緩沖器存儲區地址的第一地址列;第二地址圖表裝置存儲按交錯掃描順序排列第一緩沖器存儲區地址的第二地址列;寫入裝置根據第一地址列和第二地址列的一個,把由可變長解碼裝置的可變長解碼獲得的塊數據寫入第一緩沖器。
30.如權利要求29的圖象聲音處理裝置,其特征在于,所述寫入裝置包括圖表地址產生裝置順序產生與第一地址圖表裝置和第二地址圖表裝置對應的圖表地址;地址選擇裝置從輸入圖表地址的第一圖表裝置、第二圖表裝置中分別輸出的第一地址列的地址、第二地址列的地址中,選擇一方;地址輸出裝置把選擇的地址輸出給第一緩沖器。
31.如權利要求30的圖象聲音處理裝置,其特征在于,所述解析裝置根據標題信息算出量化標度和移動向量;所述通知裝置把量化標度通知給演算裝置,把移動向量通知給合成裝置。
32.如權利要求31的圖象聲音處理裝置,其特征在于,所述演算裝置包括第一、第二控制存儲部分存儲各自的宏程序;第一程序計數器在第一控制存儲部分中指定第一讀出地址;第二程序計數器指定第二讀出地址;選擇器通過選擇第一讀出地址和第二地址的其中一個,輸出給第二控制存儲部分;執行部分有乘法器和加法器,通過控制由第一、第二控制存儲部分產生的宏程序,執行塊單位的反量化和反離散余弦變換。
33.如權利要求32的圖象聲音處理裝置,其特征在于,當選擇由選擇器產生的第二讀出地址時,所述執行部分單獨并行進行使用乘法器的處理和使用加法器的處理,當選擇由選擇器產生的第一讀出地址時,連續進行使用乘法器的處理和使用加法器的處理。
34.如權利要求33的圖象聲音處理裝置,其特征在于,所述演算裝置還包括第二緩沖器保存由執行部分進行的反離散余弦變換的塊;第一控制存儲部分存儲反量化處理的宏程序和反離散余弦變換的宏程序;第二控制存儲部分存儲反離散余弦變換的圖象塊和把反離散余弦變換的圖象塊傳輸給第二緩沖器的宏程序;所述執行裝置并行執行把反離散余弦變換的圖象塊傳輸給第二緩沖器的處理和對隨后的圖象塊進行反量化處理,用乘法器和加法器連續執行把反量化的該圖象塊進行反離散余弦變換的處理。
35.如權利要求34的圖象聲音處理裝置,其特征在于,所述合成裝置還根據要壓縮的圖象數據生成表示差分圖象的差分塊;所述第二緩沖器還保存生成的差分圖象;第一控制存儲部分還存儲離散余弦變換的宏程序和量化處理的宏程序;第二控制存儲部分還存儲離散余弦變換的宏程序和把離散余弦變換的圖象塊傳輸給第一緩沖器的宏程序;對于在第二緩沖器中保存的差分塊,所述執行裝置還執行離散余弦變換和量化,傳輸給第一緩沖器;對于由所述數據變換裝置產生的可變長符號化的預定塊,所述按序處理裝置還附加標題信息。
36.如權利要求23的圖象聲音處理裝置,其特征在于,所述輸入裝置還輸入多邊形數據;所述按序處理裝置還解析多邊形數據,算出多邊形頂點坐標和邊緣的斜率;所述定型處理裝置還根據算出的頂點坐標和斜率生成所述多邊形的圖象數據。
37.如權利要求36的圖象聲音處理裝置,其特征在于,所述第一、第二控制存儲部分還存儲根據DDA算法進行掃描變換的宏程序;所述執行部分還根據由按序處理裝置算出的頂點坐標和斜率進行由宏程序控制的掃描變換。
38.如權利要求31的圖象聲音處理裝置,其特征在于,所述演算裝置包括第一、第二控制存儲部分存儲宏程序;第一程序計數器在第一控制存儲部分中指定第一讀出地址;第二程序計數器指定第二讀出地址;選擇器選擇第一讀出地址和第二讀出地址的其中一個,輸出給第二控制存儲部分;多個執行部分有乘法器和加法器,通過控制由第一、第二控制存儲部分產生的宏程序,執行塊單位的反量化和反離散余弦變換;各執行部分分擔處理分割塊的部分塊。
39.如權利要求38的圖象聲音處理裝置,其特征在于,所述演算裝置還包括多個地址變換圖表與各執行部分對應設置,各變換圖表對應于預定的地址列部分地調換地址順序保存變換的地址;·指令寄存器組由對應變換地址存儲構成實現預定演算宏程序的各個宏指令的多個寄存器構成;替換部分把在第一和第二控制存儲部分和多個執行部分之間設置的來自第一控制存儲部分或選擇器對各執行部分輸出的宏指令替換為指令寄存器的宏指令,對多個執行部分輸出;其中,在所述第一讀出地址或第二讀出地址為所述預定地址列中地址的情況下,把其地址根據所述各地址變換圖表變換為變換地址;所述指令寄存器輸出與從變換圖表中輸出的各變換地址對應的宏指令。
40.如權利要求39的圖象聲音處理裝置,其特征在于,所述各變換圖表還在第一程序計數器輸出所述預定地址列中的第一讀出地址期間,伴隨著表示所述寄存器中的加減法運算的宏指令輸出,把表示應該加法運算還是應該減法運算的標志輸出給所述多個執行部分;所述各執行部分根據所述標志執行加減法運算;所述標志根據所述第二控制存儲部分的宏指令來設定。
41.如權利要求39的圖象聲音處理裝置,其特征在于,所述第二控制存儲部分還在第一程序計數器輸出所述預定地址列中的第一讀出地址期間,伴隨著所述寄存器中的宏指令輸出,把表示宏指令執行結果存儲于端的信息輸出給所述多個執行部分;所述各執行部分根據存儲于端信息存儲于執行結果。(非同步(輸入輸出)+同步(串行+定型))
42.一種從外部輸入、解碼和輸出包括壓縮聲音數據和壓縮圖象數據的數據流的圖象聲音處理裝置,包括輸入輸出處理部分進行輸入輸出處理;輸入輸出處理包括把由外部要因產生的非同步輸入的數據流存儲于存儲器;按序處理裝置對于在存儲器中存儲的數據流,進行以條件判斷為主的按序處理;按序處理包括壓縮聲音數據和壓縮圖象數據的標題解析和壓縮聲音數據的解碼;把解碼的聲音數據存儲于存儲器;定型處理裝置根據按序處理裝置的標題解析結果,對于在存儲器中存儲的壓縮圖象數據,進行以定型演算為主的定型處理;定型處理包括壓縮圖象數據的解碼;把解碼的圖象數據存儲于存儲器;其特征在于,所述輸入輸出處理還包括從各個存儲器中讀出解碼的聲音數據、圖象數據;使外部的顯示裝置、聲音輸出裝置的各自輸出率一致的輸出處理。
43.如權利要求42的圖象聲音處理裝置,其特征在于,所述按序處理部分交互地進行在數據流中的預定塊單位內附加的標題信息的解析和數據流中的聲音數據的解碼;在一個塊的標題解析結束時,指示定型處理裝置中該塊的解碼開始;在從定型處理裝置中接受到其塊解碼結束通知時,開始下一個塊的標題解析;根據按序處理裝置的解析結果,所述定型處理裝置按預定塊單位解碼壓縮圖象數據。
44.如權利要求43的圖象聲音處理裝置,其特征在于,所述定型處理裝置包括數據變換裝置根據按序處理裝置的指示,可變長解碼數據流中的壓縮圖象數據;演算裝置對于由可變長解碼獲得的塊數據,通過實施預定的演算,進行反量化和反離散余弦變換;合成裝置通過合成反離散余弦變換后的塊數據和在存儲器中存儲的解碼后的幀的矩形圖象,還原與塊相當的圖象數據。
45.如權利要求44的圖象聲音處理裝置,其特征在于,所述演算裝置還包括第一緩沖器有與一塊相當的存儲區;所述數據變換裝置包括可變長解碼裝置可變長解碼數據流中的壓縮圖象數據;第一地址圖表裝置存儲按折線掃描順序排列第一緩沖器存儲區地址的第一地址列;第二地址圖表裝置存儲按交錯掃描順序排列第一緩沖器存儲區地址的第二地址列;寫入裝置根據第一地址列和第二地址列的一個,把由可變長解碼裝置的可變長解碼獲得的塊數據寫入第一緩沖器。
46.如權利要求45所述的圖象聲音處理裝置,其特征在于,所述寫入裝置包括圖表地址產生裝置順序產生與第一地址圖表裝置和第二地址圖表裝置對應的圖表地址;地址選擇裝置從輸入圖表地址的第一圖表裝置、第二圖表裝置中分別輸出的第一地址列的地址、第二地址列的地址中,選擇一方;地址輸出裝置把選擇的地址輸出給第一緩沖器。
47.如權利要求42所述的圖象聲音處理裝置,其特征在于,所述輸入輸出處理裝置包括輸入裝置從外部輸入非同步數據流;圖象輸出裝置在外部的顯示裝置中輸出解碼的圖象數據;聲音輸出裝置向外部的聲音輸出裝置中輸出解碼的聲音數據;處理裝置一邊替換一邊執行在指令存儲器中存儲的第一到第四任務程序,第一任務是從輸入部分向所述存儲器傳輸數據流;第二任務是從所述存儲器向解碼處理裝置提供數據流;第三任務是從所述存儲器向圖象輸出部分輸出解碼的圖象數據;第四任務是從所述存儲器向聲音輸出部分輸出解碼的聲音數據。
48.如權利要求47的圖象聲音處理裝置,其特征在于,所述處理裝置包括程序計數部分有與所述第一到第四任務對應的至少四個程序計數器;指令鎖存部分使用指示一個程序計數器的指令地址,從存儲各任務程序的指令存儲器中取出指令;指令執行部分執行在指令取出部分取出的指令;任務控制部分在每個經過預定數的指令循環,對于指令鎖存部分進行控制,使得依次替換程序計數器。
49.如權利要求48的圖象聲音處理裝置,其特征在于,所述處理裝置還包括寄存器部分有與所述第一到第四任務對應的至少四個寄存器單元;其中,所述任務控制部分在程序計數更換的同時,指令執行部分替換要使用的寄存器。
50.如權利要求49的圖象聲音處理裝置,其特征在于,所述任務控制部分包括計數器在每次更換程序計數中,根據時鐘信號計數指令循環數;更換指示部分當計數器的計數值達到所述預定數時,對于指令取出部分,控制更換程序計數。
51.如權利要求49的圖象聲音處理裝置,其特征在于,所述定型處理裝置包括數據變換裝置根據按序處理裝置的指示,可變長解碼數據流中的壓縮圖象數據;演算裝置對于由可變長解碼獲得的塊數據,通過實施預定的演算,進行反量化和反離散余弦變換;合成裝置通過合成反離散余弦變換后的塊數據和在存儲器中存儲的解碼后的幀的矩形圖象,還原與塊相當的圖象數據。
52.如權利要求51的圖象聲音處理裝置,其特征在于,所述解析裝置根據標題信息算出量化標度和移動向量;所述通知裝置把量化標度通知給演算裝置,把移動向量通知給合成裝置。
53.如權利要求52的圖象聲音處理裝置,其特征在于,所述演算裝置包括第一、第二控制存儲部分存儲各自的宏程序;第一程序計數器在第一控制存儲部分中指定第一讀出地址;第二程序計數器指定第二讀出地址;選擇器通過選擇第一讀出地址和第二地址的其中一個,輸出給第二控制存儲部分;執行部分有乘法器和加法器,通過控制由第一、第二控制存儲部分產生的宏程序,執行塊單位的反量化和反離散余弦變換。
54.如權利要求53的圖象聲音處理裝置,其特征在于,當選擇由選擇器產生的第二讀出地址時,所述執行部分單獨并行進行使用乘法器的處理和使用加法器的處理,當選擇由選擇器產生的第一讀出地址時,連續進行使用乘法器的處理和使用加法器的處理。
55.如權利要求54的圖象聲音處理裝置,其特征在于,所述演算裝置還包括第一緩沖器保存來自數據變換裝置的圖象塊;第二緩沖器保存由執行部分進行的反離散余弦變換的塊;第一控制存儲部分存儲反量化處理的宏程序和反離散余弦變換的宏程序;第二控制存儲部分存儲反離散余弦變換的圖象塊和把反離散余弦變換的圖象塊傳輸給第二緩沖器的宏程序;所述執行裝置并行執行把反離散余弦變換的圖象塊傳輸給第二緩沖器的處理和對隨后的圖象塊進行反量化處理,用乘法器和加法器連續執行把反量化的該圖象塊進行反離散余弦變換的處理。
56.如權利要求55的圖象聲音處理裝置,其特征在于,所述合成裝置還根據要壓縮的圖象數據生成表示差分圖象的差分塊;所述第二緩沖器還保存生成的差分圖象;第一控制存儲部分還存儲離散余弦變換的宏程序和量化處理的宏程序;第二控制存儲部分還存儲離散余弦變換的宏程序和把離散余弦變換的圖象塊傳輸給第一緩沖器的宏程序;對于在第二緩沖器中保存的差分塊,所述執行裝置還執行離散余弦變換和量化,傳輸給第一緩沖器;對于由所述數據變換裝置產生的可變長符號化的預定塊,所述按序處理裝置還附加標題信息。
57.如權利要求52的圖象聲音處理裝置,其特征在于,所述演算裝置包括第一、第二控制存儲部分存儲宏程序;第一程序計數器在第一控制存儲部分中指定第一讀出地址;第二程序計數器指定第二讀出地址;選擇器選擇第一讀出地址和第二讀出地址的其中一個,輸出給第二控制存儲部分;多個執行部分有乘法器和加法器,通過控制由第一、第二控制存儲部分產生的宏程序,執行塊單位的反量化和反離散余弦變換;各執行部分分擔處理分割塊的部分塊。
58.如權利要求57的圖象聲音處理裝置,其特征在于,所述演算裝置還包括多個地址變換圖表與各執行部分對應設置,各變換圖表對應于預定的地址列部分地調換地址順序保存變換的地址;指令寄存器組由對應變換地址存儲構成實現預定演算宏程序的各個宏指令的多個寄存器構成;替換部分把在第一和第二控制存儲部分和多個執行部分之間設置的來自第一控制存儲部分或選擇器對各執行部分輸出的宏指令替換為指令寄存器的宏指令,對多個執行部分輸出;其中,在所述第一讀出地址或第二讀出地址為所述預定地址列中地址的情況下,把其地址根據所述各地址變換圖表變換為變換地址;所述指令寄存器輸出與從變換圖表中輸出的各變換地址對應的宏指令。
59.如權利要求58的圖象聲音處理裝置,其特征在于,所述各變換圖表還在第一程序計數器輸出所述預定地址列中的第一讀出地址期間,伴隨著表示所述寄存器中的加減法運算的宏指令輸出,把表示應該加法運算還是應該減法運算的標志輸出給所述多個執行部分;所述各執行部分根據所述標志執行加減法運算;所述標志根據所述第二控制存儲部分的宏指令來設定。
60.如權利要求58的圖象聲音處理裝置,其特征在于,所述各變換圖表還在第一程序計數器輸出所述預定地址列中的第一讀出地址期間,伴隨著表示所述寄存器中的加減法運算的宏指令輸出,把表示應該加法運算還是應該減法運算的標志輸出給所述多個執行部分;所述各執行部分根據所述標志執行加減法運算;所述標志根據所述第二控制存儲部分的宏指令來設定。
61.如權利要求51的圖象聲音處理裝置,其特征在于,所述演算裝置還包括第一緩沖器有與一塊相當的存儲區;所述數據變換裝置包括可變長解碼裝置可變長解碼數據流中的壓縮圖象數據;第一地址圖表裝置存儲按折線掃描順序排列第一緩沖器存儲區地址的第一地址列;第二地址圖表裝置存儲按交錯掃描順序排列第一緩沖器存儲區地址的第二地址列;寫入裝置根據第一地址列和第二地址列的一個,把由可變長解碼裝置的可變長解碼獲得的塊數據寫入第一緩沖器。
62.如權利要求61所述的圖象聲音處理裝置,其特征在于,所述寫入裝置包括圖表地址產生裝置順序產生與第一地址圖表裝置和第二地址圖表裝置對應的圖表地址;地址選擇裝置從輸入圖表地址的第一圖表裝置、第二圖表裝置中分別輸出的第一地址列的地址、第二地址列的地址中,選擇一方;地址輸出裝置把選擇的地址輸出給第一緩沖器。
63.如權利要求62的圖象聲音處理裝置,其特征在于,所述解析裝置根據標題信息算出量化標度和移動向量;所述通知裝置把量化標度通知給演算裝置,把移動向量通知給合成裝置。
64.如權利要求63的圖象聲音處理裝置,其特征在于,所述演算裝置包括第一、第二控制存儲部分存儲各自的宏程序;第一程序計數器在第一控制存儲部分中指定第一讀出地址;第二程序計數器指定第二讀出地址;選擇器通過選擇第一讀出地址和第二地址的其中一個,輸出給第二控制存儲部分;執行部分有乘法器和加法器,通過控制由第一、第二控制存儲部分產生的宏程序,執行塊單位的反量化和反離散余弦變換。
65.如權利要求64的圖象聲音處理裝置,其特征在于,當選擇由選擇器產生的第二讀出地址時,所述執行部分單獨并行進行使用乘法器的處理和使用加法器的處理,當選擇由選擇器產生的第一讀出地址時,連續進行使用乘法器的處理和使用加法器的處理。
66.如權利要求65的圖象聲音處理裝置,其特征在于,所述演算裝置還包括第二緩沖器保存由執行部分進行的反離散余弦變換的塊;第一控制存儲部分存儲反量化處理的宏程序和反離散余弦變換的宏程序;第二控制存儲部分存儲反離散余弦變換的圖象塊和把反離散余弦變換的圖象塊傳輸給第二緩沖器的宏程序;所述執行裝置并行執行把反離散余弦變換的圖象塊傳輸給第二緩沖器的處理和對隨后的圖象塊進行反量化處理,用乘法器和加法器連續執行把反量化的該圖象塊進行反離散余弦變換的處理。
67.如權利要求66的圖象聲音處理裝置,其特征在于,所述合成裝置還根據要壓縮的圖象數據生成表示差分圖象的差分塊;所述第二緩沖器還保存生成的差分圖象;第一控制存儲部分還存儲離散余弦變換的宏程序和量化處理的宏程序;第二控制存儲部分還存儲離散余弦變換的宏程序和把離散余弦變換的圖象塊傳輸給第一緩沖器的宏程序;對于在第二緩沖器中保存的差分塊,所述執行裝置還執行離散余弦變換和量化,傳輸給第一緩沖器;對于由所述數據變換裝置產生的可變長符號化的預定塊,所述按序處理裝置還附加標題信息。
68.如權利要求63的圖象聲音處理裝置,其特征在于,所述演算裝置包括第一、第二控制存儲部分存儲宏程序;第一程序計數器在第一控制存儲部分中指定第一讀出地址;第二程序計數器指定第二讀出地址;選擇器選擇第一讀出地址和第二讀出地址的其中一個,輸出給第二控制存儲部分;多個執行部分有乘法器和加法器,通過控制由第一、第二控制存儲部分產生的宏程序,執行塊單位的反量化和反離散余弦變換;各執行部分分擔處理分割塊的部分塊。
69.如權利要求68的圖象聲音處理裝置,其特征在于,所述演算裝置還包括多個地址變換圖表與各執行部分對應設置,各變換圖表對應于預定的地址列部分地調換地址順序保存變換的地址;指令寄存器組由對應變換地址存儲構成實現預定演算宏程序的各個宏指令的多個寄存器構成;替換部分把在第一和第二控制存儲部分和多個執行部分之間設置的來自第一控制存儲部分或選擇器對各執行部分輸出的宏指令替換為指令寄存器的宏指令,對多個執行部分輸出;其中,在所述第一讀出地址或第二讀出地址為所述預定地址列中地址的情況下,把其地址根據所述各地址變換圖表變換為變換地址;所述指令寄存器輸出與從變換圖表中輸出的各變換地址對應的宏指令。
70.如權利要求69的圖象聲音處理裝置,其特征在于,所述各變換圖表還在第一程序計數器輸出所述預定地址列中的第一讀出地址期間,伴隨著表示所述寄存器中的加減法運算的宏指令輸出,把表示應該加法運算還是應該減法運算的標志輸出給所述多個執行部分;所述各執行部分根據所述標志執行加減法運算;所述標志根據所述第二控制存儲部分的宏指令來設定。
71.如權利要求69的圖象聲音處理裝置,其特征在于,所述第二控制存儲部分還在第一程序計數器輸出所述預定地址列中的第一讀出地址期間,伴隨著所述寄存器中的宏指令輸出,把表示宏指令執行結果存儲于端的信息輸出給所述多個執行部分;所述各執行部分根據存儲于端信息存儲于執行結果。
全文摘要
本發明的圖象聲音處理裝置配有:輸入輸出處理部分,進行由外部要因非同步產生的輸入輸出處理;和解碼處理部分,通過與所述輸入輸出處理并行,進行以在存儲器存儲的數據流的解碼為主的解碼處理。輸入輸出處理包括:輸入從外部非同步輸入的所述數據流,并存儲于存儲器;和把在存儲器存儲的數據流提供給解碼處理部分。對于數據流,解碼處理部分構成以條件判斷為主的按序處理和除去壓縮圖象數據的標題解析的壓縮圖象數據的解碼,以便與按序處理并行進行定型處理。
文檔編號H04N7/52GK1204216SQ98108829
公開日1999年1月6日 申請日期1998年4月4日 優先權日1997年4月7日
發明者吉岡康介, 平井誠, 木村浩三, 清原督三 申請人:松下電器產業株式會社