專利名稱:一元化解碼器結構的制作方法
技術領域:
本發(fā)明涉及視頻編碼和解碼技術,更具體地說,涉及一種一元化解碼器結構。
背景技術:
目前針對視頻數據的編碼存在有很多不同的標準。有時,視頻數據也被壓縮而作為編碼處理過程的一部分。例如,運動圖像專家組(MPEG)已設計出兩種這樣的標準,一般稱為MPEG-2和先進視頻編碼(MPEG-4)。另一個編碼標準實例是數字視頻25(DV-25)。
已編碼的視頻數據由一個視頻解碼器進行解碼。然而,視頻解碼器可能會收到根據任一類型編碼標準所編碼的視頻數據。為了顯示這些視頻數據,視頻解碼器需要能夠確定和解碼用多種編碼標準中的任一種標準所編碼的視頻數據。
雖然一些視頻解碼器能從若干種格式中對視頻數據進行解碼,但這些視頻解碼器中需包括專用于對多種編碼標準中的每種標準進行解碼的特定硬件。其帶來的缺點是這些額外的硬件會增加解碼器系統(tǒng)的成本。
通過將傳統(tǒng)的系統(tǒng)與本發(fā)明(后面參考附圖對本發(fā)明的應用進行了描述)進行比較,本領域的技術人員可以顯而易見地看出傳統(tǒng)方案所存在的局限性和缺點。
發(fā)明內容
這里要提供的是一種一元化解碼器結構。
在一個實施例中,提供了一種對采用特定標準所編碼的視頻數據進行解碼的系統(tǒng)。所述系統(tǒng)中包括視頻解碼器、指令存儲器和主處理器。所述視頻解碼器對用所述特定標準所編碼的視頻數據進行解碼。所述指令存儲器中存儲有第一指令集和第二指令集。所述第一指令集用于根據第一編碼標準來解碼已編碼的視頻數據。所述第二指令集用于根據第二編碼標準來解碼已編碼的視頻數據。所述主處理器向視頻解碼器發(fā)出指示以指明所述特定編碼標準。如果該指示指明所述特定編碼標準是第一編碼標準,則視頻解碼器執(zhí)行第一指令集;如果該指示指明所述特定編碼標準是第二編碼標準,則視頻解碼器執(zhí)行第二指令集。
在另一實施例中,提供了一種對采用特定標準所編碼的視頻數據進行解碼的方法。該方法包括向視頻解碼器發(fā)出指示,以向視頻解碼器指明所述特定編碼標準,如果該指示指明所述特定編碼標準是第一編碼標準,則視頻解碼器執(zhí)行第一指令集;如果該指示指明所述特定編碼標準是第二編碼標準,則視頻解碼器執(zhí)行第二指令集。
在另一實施例中,提供了一種對采用特定標準所編碼的視頻數據進行解碼的系統(tǒng)。該系統(tǒng)包括代碼存儲器和處理器。所述代碼存儲器用于存儲指令。在視頻數據是根據第一編碼標準所編碼的情況下,所述處理器將第一指令集加載到所述代碼存儲器中,以便根據所述第一編碼標準對已編碼的視頻數據進行解碼,在視頻數據是根據第二編碼標準所編碼的情況下,所述處理器將第二指令集加載到代碼存儲器中,以便根據所述第二編碼標準對已編碼的視頻數據進行解碼。
一方面,本發(fā)明提供一種對采用特定標準所編碼的視頻數據進行解碼的系統(tǒng),所述系統(tǒng)包括一個視頻解碼器,它用于解碼用所述特定標準所編碼的視頻數據;指令存儲器,它用于存儲第一指令集,它用于根據第一編碼標準來解碼已編碼的視頻數據;第二指令集,它用于根據第二編碼標準來解碼已編碼的視頻數據;一個主處理器,它用于向視頻解碼器提供指示以指明所述特定編碼標準;其中,如果所述指示指明所述特定編碼標準是所述第一編碼標準,則視頻解碼器執(zhí)行第一指令集,如果所述指示指明所述特定編碼標準是所述第二編碼標準,則執(zhí)行第二指令集。
本發(fā)明的優(yōu)選方案中,所述第一編碼標準包括MPEG-2,所述第二編碼標準包括MPEG-4。
本發(fā)明的優(yōu)選方案中,所述指令存儲器中存儲有一套第三指令集,它用于根據第三編碼標準來解碼已編碼的視頻數據,其中,如果所述指示指明所述特定編碼標準是所述第三編碼標準,則所述視頻解碼器執(zhí)行所述第三指令集。
本發(fā)明的優(yōu)選方案中,所述第一編碼標準包括MPEG-2,所述第二編碼標準包括MPEG-4,所述第三編碼標準包括DV-25。
本發(fā)明的優(yōu)選方案中,所述指令存儲器中存儲有一套第四指令集,它用于根據第一編碼標準、第二編碼標準和第三編碼標準來解碼視頻數據。
本發(fā)明的優(yōu)選方案中,所述系統(tǒng)還包括一個用于存儲來自主處理器的指示的寄存器。
本發(fā)明的優(yōu)選方案中,所述指令存儲器中存儲有一套第五指令集,其中,由主處理器執(zhí)行這些指令以便實現檢測特定編碼標準;以及將所述指示寫到寄存器中。
另一方面,本發(fā)明提供一種對采用特定標準所編碼的視頻數據進行解碼的方法,所述方法包括為視頻解碼器提供一個指示以向所述視頻解碼器指明所述特定編碼標準;當所述指示指明所述特定編碼標準是第一編碼標準時,執(zhí)行第一指令集;當所述指示指明所述特定編碼標準是第二編碼標準時,執(zhí)行第二指令集。
本發(fā)明的優(yōu)選方案中,所述第一編碼標準包括MPEG-2,所述第二編碼標準包括MPEG-4。
本發(fā)明的優(yōu)選方案中,如果所述指示指明所述特定編碼標準是所述第三編碼標準,則執(zhí)行所述第三指令集。
本發(fā)明的優(yōu)選方案中,所述第一編碼標準包括MPEG-2,所述第二編碼標準包括MPEG-4,所述第三編碼標準包括DV-25。
本發(fā)明的優(yōu)選方案中,可執(zhí)行第四指令集,以便根據第一編碼標準、第二編碼標準和第三編碼標準來解碼視頻數據。
本發(fā)明的優(yōu)選方案中,該方法還包括檢測所述特定編碼標準;以及將所述指示寫到一個寄存器中。
另一方面,本發(fā)明提供一種對采用特定標準所編碼的視頻數據進行解碼的系統(tǒng),所述系統(tǒng)包括用于存儲指令的代碼存儲器;以及一個處理器,當所述視頻數據是根據第一編碼標準所編碼的時,所述處理器把第一指令集加載到所述代碼存儲器中,以便根據所述第一編碼標準對已編碼的視頻數據進行解碼,當所述視頻數據是根據第二編碼標準所編碼的時,所述處理器把第二指令集加載到所述代碼存儲器中,以便根據所述第二編碼標準對已編碼的視頻數據進行解碼。
本發(fā)明的優(yōu)選方案中,所述處理器要在從一個主處理器處接收到一個指明所述特定編碼標準的指示之后,才加載所述代碼存儲器。
本發(fā)明的優(yōu)選方案中,所述處理器對所述第一指令集的執(zhí)行控制第一組電路,所述處理器對所述第二指令集的執(zhí)行控制第二組電路。
本發(fā)明的優(yōu)選方案中,該系統(tǒng)還包括從引擎,所述從引擎還包括另一指令存儲器,當所述編碼標準是第二編碼標準時,該指令存儲器用于存儲第三指令集。
本發(fā)明的優(yōu)選方案中,所述從引擎包括第三組電路,其中第三指令集的執(zhí)行控制第三組電路。
根據以下描述和附圖,將會更加全面地理解本發(fā)明的這些和其它優(yōu)點與新的特征,以及其中所說明的實施例的細節(jié)。
圖1是根據本發(fā)明的實施例用于解碼已壓縮視頻數據的示范性解碼器系統(tǒng)的框圖;圖2是根據本發(fā)明的實施例用于對已編碼視頻數據進行解碼的電路框圖;圖3是根據本發(fā)明的實施例用于解碼已壓縮視頻數據的流程圖;以及圖4是根據本發(fā)明的實施例的視頻解碼器的框圖。
具體實施例方式
現在參照圖1,圖中顯示了根據本發(fā)明的實施例用于解碼已壓縮視頻數據的示范性解碼器系統(tǒng)的框圖。數據被接收并存儲在同步動態(tài)隨機存取存儲器(SDRAM)201中的顯象緩沖器203中。數據可從通信信道或從本地存儲器例如硬盤或DVD中接收到。此外,視頻數據可采用不同的編碼標準,比如但不限于MPEG-2、DV-25和MPEG-4標準進行壓縮。
數據從顯象緩沖器203輸出,然后傳遞到數據傳送處理器205。數據傳送處理器205將傳送流解復用為打包的基本流元,并將音頻傳送流傳遞到音頻解碼器215,而將視頻傳送流傳遞到視頻傳送處理器207,隨后再傳遞到MPEG視頻解碼器209。然后將音頻數據發(fā)送到輸出塊,而將視頻數據傳送到顯示器211。
顯示引擎211按比例縮放視頻圖片、交付圖形并構成完整的顯示。一旦要提供的顯示準備好了,其便被傳送到視頻編碼器213,在視頻編碼器213中采用內部數模轉換器(DAC)將顯示轉換為模擬視頻信號。數字音頻信號在音頻數模轉換器(DAC)217中轉換為模擬音頻信號。
視頻解碼器209可解碼用多種編碼標準中的任一種標準所編碼的視頻數據。視頻解碼器209采用固件來解碼已編碼的視頻數據。對于每一種標準均可使用固件的一部分來解碼視頻數據,而固件的其它部分專用于特定標準。因此,視頻解碼器執(zhí)行的是用于解碼各個不同標準共有的固件部分和用于對已編碼視頻數據進行解碼的特定標準特有的固件部分的組合。
主處理器290檢測用于對已編碼視頻數據進行編碼的特定標準,并向視頻解碼器209發(fā)出指明所述特定標準的指示。相應地,視頻解碼器209選擇執(zhí)行對所述編碼標準特有的固件部分和對所有標準共有的固件部分。
現在參照圖2,它是根據本發(fā)明的實施例用于對已編碼視頻數據進行解碼的電路框圖。該電路包括視頻解碼器209、主處理器290、第一指令存儲器291和第二指令存儲器292。第一指令存儲器291中存儲這樣的固件,該固件包括共用于對用多種編碼標準中的任一種所編碼的視頻數據進行解碼的第一組指令295a、特用于對用第一編碼標準所編碼的視頻數據進行解碼的第二組指令295b、特用于對用第二編碼標準所編碼的視頻數據進行解碼的第三組指令295c、以及特用于對用第三編碼標準所編碼的視頻數據進行解碼的第四組指令295d。第一編碼標準可包括MPEG-2。第二編碼標準可包括DV-25。第三編碼標準可包括MPEG-4。雖然為簡化說明起見,將各組指令295a、295b、295c和295d用連續(xù)區(qū)域表示出來,但是應注意到各組指令295a、295b、295c和295d不一定要占用與第一指令存儲器291連續(xù)的區(qū)域。
主處理器290執(zhí)行存儲在第二指令存儲器292中的指令。對第二指令存儲器292中指令的執(zhí)行,使主處理器290檢測用于編碼所述壓縮視頻數據的編碼標準,并向視頻解碼器209提供一個指明該編碼標準的指示。
視頻解碼器209包括含有多比特的控制寄存器297。主處理器290通過在控制寄存器中設置一比特或多比特的特定值來向視頻解碼器209指明編碼標準。例如,在示范性示例中,主處理器290可通過設置控制寄存器297中的其中兩比特來指明編碼標準,下表說明了控制寄存器中兩比特值的設置與編碼標準之間的關系。
比特值 編碼標準00 未使用01 MPEG-210 DY-2511 MPEG-4根據所指明的編碼標準,視頻解碼器209選擇并執(zhí)行專用于執(zhí)行該編碼標準的固件部分和共用于多編碼標準的固件部分。
現在參照圖3,它是根據本發(fā)明的實施例用于解碼已壓縮視頻數據的流程圖。在步驟305中,主處理器290檢測用于對已編碼視頻數據進行編碼的編碼標準。
確定了用于對已編碼視頻數據進行編碼的編碼標準后,主處理器290發(fā)出一個指示,以向視頻解碼器209指明所述編碼標準(步驟310)。
在步驟315中,視頻解碼器209接收指明所述編碼標準的指示。在步驟320中,判斷編碼標準是第一編碼標準、第二編碼標準、還是第三編碼標準。
如果在步驟320中判斷出編碼標準是第一編碼標準,則視頻解碼器209選擇(步驟325)特用于第一編碼標準的固件部分。在步驟330中,視頻解碼器209通過執(zhí)行特用于第一編碼標準的固件部分和共用于所有編碼標準的固件部分來解碼已編碼的視頻數據。
如果在步驟320中判斷出編碼標準是第二編碼標準,則視頻解碼器209選擇(步驟335)特用于第二編碼標準的固件部分。在步驟340中,視頻解碼器209通過執(zhí)行特用于第二編碼標準的固件部分和所有共用于多編碼標準的固件部分來解碼已編碼的視頻數據。
如果在步驟320中判斷出編碼標準是第三編碼標準,則視頻解碼器209選擇(步驟355)特用于第三編碼標準的固件部分。在步驟360中,視頻解碼器209通過執(zhí)行特用于第三編碼標準的固件部分和共用于所有編碼標準的固件部分來解碼已編碼的視頻數據。
現在參照圖4,其中顯示了根據本發(fā)明實施例的示范性視頻解碼器209的框圖。視頻解碼器209包括主行引擎405和從行引擎410。主行引擎405支持MPEG-2、MPEG-4和DV-25編碼標準。然而,在MPEG-2高清晰度電視(HDTV)應用中,盡管指令是相同的,但是編碼數據率很高。因此,從行引擎410輔助主行引擎405來解碼MPEG-2視頻數據。
主處理器發(fā)送一個指示到主行引擎410中的主處理器430,以指明要解碼的視頻數據類型。接收該信號后,主處理器430將指令295a、295b、295c、295d的適當組合從指令存儲器加載到代碼數據存儲器425中。[或者是主處理器加載這些指令?]如果該指示指明所述視頻數據是MPEG-2,則主處理器430還將指令295a、295b、295c、295d的適當組合從指令存儲器加載到從行引擎410的代碼數據存儲器550中。在加載了指令295a、295b、295c、295d的適當組合以后,適當的指令組合將促使主行引擎405用視頻DMA 420來存取視頻數據。
視頻數據由比特流提取器460接收。在視頻數據是MPEG-2的情況下,視頻數據也可由比特流提取器510接收。根據接收到的視頻數據類型,指令295a、295b、295c、295d的組合會配置或驅動主行引擎409及從行引擎410中合適的硬件。
主行引擎409包括用以解碼DV-25、MPEG-2和MPEG-4視頻的硬件部件。主行引擎409包括視頻引擎接口VEIF、量化器命令編程(QCP)先進先出隊列(FIFO)490、運動計算機(MOTC)440、視頻請求管理器(VREQM)FIFO 445、反量化器525、視頻請求管理器450、反離散余弦變換(IDCT)模塊500和像素重構器455,它們用于解碼DV-25、MPEG-2和MPEG-4視頻數據。主行引擎也包括DV反量化器(DVIQ)480、DV長度可變解碼器(DV VLD)465和DV IDCT預處理器505,它們用于解碼DV-25視頻數據。
從行引擎410包括主VLD 515、從VLD 520、視頻引擎接口(VEIF)525、QCP FIFO 530、反量化器535、IDCT 540、橋545、從處理器555、MOTC 560、VREGM FIFO 565、視頻請求管理器570和像素重構器575,它們用于解碼MPEG-2視頻數據。
本發(fā)明的一個實施例可實現為板級產品、單芯片、專用集成電路(ASIC)或利用與系統(tǒng)其余部分集成在單芯片上的可變級實現為分離器件。系統(tǒng)集成程度主要由速度和成本考慮來決定。因為現代處理器的復雜特性,也可以用市面上購得的處理器,它可實現于本系統(tǒng)的ASIC實現之外??蛇x擇地是,如果處理器可作為ASIC核或邏輯模塊,則市面上購得的處理器可作為ASIC設備的一部分來實現,將各種功能實現為固件。
盡管已參考具體實施例對本發(fā)明進行了描述,但是本領域技術人員將會理解,在不背離本發(fā)明范圍的情況下,可以進行各種改變和等同替換。此外,在不背離本發(fā)明范圍的情況下,可進行多種修改以適應特定情況或材料。因此,這意味著本發(fā)明不限于已公開的特定實施例,而應包括落于本發(fā)明權利要求范圍內的所有實施例。
權利要求
1.一種對采用特定標準所編碼的視頻數據進行解碼的系統(tǒng),所述系統(tǒng)包括一個視頻解碼器,它用于解碼用所述特定標準所編碼的視頻數據;指令存儲器,它用于存儲第一指令集,它用于根據第一編碼標準來解碼已編碼的視頻數據;第二指令集,它用于根據第二編碼標準來解碼已編碼的視頻數據;一個主處理器,它用于向視頻解碼器提供指示以指明所述特定編碼標準;其中,如果所述指示指明所述特定編碼標準是所述第一編碼標準,則視頻解碼器執(zhí)行第一指令集,如果所述指示指明所述特定編碼標準是所述第二編碼標準,則執(zhí)行第二指令集。
2.根據權利要求1所述的系統(tǒng),其特征在于,所述第一編碼標準包括MPEG-2,所述第二編碼標準包括MPEG-4。
3.根據權利要求1所述的系統(tǒng),其特征在于,所述指令存儲器中存儲有一套第三指令集,它用于根據第三編碼標準來解碼已編碼的視頻數據,其中,如果所述指示指明所述特定編碼標準是所述第三編碼標準,則所述視頻解碼器執(zhí)行所述第三指令集。
4.根據權利要求3所述的系統(tǒng),其特征在于,所述第一編碼標準包括MPEG-2,所述第二編碼標準包括MPEG-4,所述第三編碼標準包括DV-25。
5.一種對采用特定標準所編碼的視頻數據進行解碼的方法,所述方法包括為視頻解碼器提供一個指示以向所述視頻解碼器指明所述特定編碼標準;當所述指示指明所述特定編碼標準是第一編碼標準時,執(zhí)行第一指令集;當所述指示指明所述特定編碼標準是第二編碼標準時,執(zhí)行第二指令集。
6.根據權利要求5所述的方法,其特征在于,所述第一編碼標準包括MPEG-2,所述第二編碼標準包括MPEG-4。
7.根據權利要求5所述的方法,其特征在于,還包括,如果所述指示指明所述特定編碼標準是所述第三編碼標準,則執(zhí)行所述第三指令集。
8.一種對采用特定標準所編碼的視頻數據進行解碼的系統(tǒng),所述系統(tǒng)包括用于存儲指令的代碼存儲器;以及一個處理器,當所述視頻數據是根據第一編碼標準所編碼的時,所述處理器把第一指令集加載到所述代碼存儲器中,以便根據所述第一編碼標準對已編碼的視頻數據進行解碼,當所述視頻數據是根據第二編碼標準所編碼的時,所述處理器把第二指令集加載到所述代碼存儲器中,以便根據所述第二編碼標準對已編碼的視頻數據進行解碼。
9.根據權利要求8所述的系統(tǒng),其特征在于,所述處理器要在從一個主處理器處接收到一個指明所述特定編碼標準的指示之后,才加載所述代碼存儲器。
10.根據權利要求8所述的系統(tǒng),其特征在于,所述處理器對所述第一指令集的執(zhí)行控制第一組電路,所述處理器對所述第二指令集的執(zhí)行控制第二組電路。
全文摘要
本發(fā)明提供了一種一元化解碼器結構。其中提供了一種系統(tǒng),包括視頻解碼器、指令存儲器和一個主處理器。所述視頻解碼器對采用特定編碼標準所編碼的視頻數據進行解碼。所述指令存儲器中存儲有第一指令集和第二指令集。所述第一指令集用于根據第一編碼標準來解碼已編碼的視頻數據。所述第二指令集用于根據第二編碼標準來解碼已編碼的視頻數據。所述主處理器為視頻解碼器提供一個指示,以指明所述特定編碼標準。如果所述指示指明所述特定視頻標準是第一編碼標準,則視頻解碼器執(zhí)行第一指令集。如果所述指示指明所述特定視頻標準是第二編碼標準,則視頻解碼器執(zhí)行第二指令集。
文檔編號H04N7/26GK1655617SQ200510053219
公開日2005年8月17日 申請日期2005年2月16日 優(yōu)先權日2004年2月9日
發(fā)明者拉萬爵·布利紐, 萊克西米坎斯·拉梅達斯·佩, 哈斯卡·謝里加, 阿里魯達·薩恩, 桑迪普·哈蒂爾, 高拉夫·阿加沃 申請人:美國博通公司