專利名稱:視頻數(shù)據(jù)編碼裝置、編碼方法、傳送裝置和記錄介質(zhì)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及根據(jù)代碼難度對源視頻數(shù)據(jù)進(jìn)行編碼的視頻數(shù)據(jù)編碼裝置和方法、記錄由該裝置和方法得到的編碼數(shù)據(jù)的記錄介質(zhì)、和利用源視頻數(shù)據(jù)編碼裝置對視頻數(shù)據(jù)編碼并傳送編碼數(shù)據(jù)的視頻數(shù)據(jù)傳送裝置。
背景技術(shù):
近年來,為進(jìn)行源視頻數(shù)據(jù)的壓縮編碼,已廣泛使用了基于MPEG(運動圖像專家組)或MPEG2標(biāo)準(zhǔn)的技術(shù),這些標(biāo)準(zhǔn)采用運動補償(MC),結(jié)合比如離散余弦變換(DCT)等正交變換的冗余減少處理。
MPEG技術(shù)用于對每一個畫面組(GOP)進(jìn)行壓縮編碼,并將壓縮數(shù)據(jù)記錄在如數(shù)字盤(例如,磁光(MO)盤)等記錄介質(zhì)上的存儲系統(tǒng),每一個畫面組(GOP)作為一個由幀內(nèi)畫面(I-畫面)、預(yù)測畫面(P-畫面)和雙向預(yù)測畫面(B-畫面)組成的單元。MPEG技術(shù)也用于將壓縮數(shù)據(jù)記錄到母盤上的授權(quán)(authoring)系統(tǒng)。
在這樣的存儲系統(tǒng)和授權(quán)系統(tǒng)中,記錄介質(zhì)的存儲容量有限,因而壓縮編碼后的壓縮數(shù)據(jù)(位)量必須不大于記錄介質(zhì)的存儲容量,同時保持?jǐn)U展解碼后圖像的數(shù)據(jù)的高質(zhì)量。
本發(fā)明的受讓人已提出了一種稱為“雙路編碼(two-pass encode)”的技術(shù),用于對由固定量化值輸入的視頻信號進(jìn)行臨時編碼,然后收集比如所產(chǎn)生位的數(shù)量等的數(shù)據(jù),并從所得結(jié)果中確定常規(guī)編碼時可變速率編碼中的比特率的分配(目標(biāo)碼量)。這種雙路編碼系統(tǒng)是一種根據(jù)視頻圖像的編碼難度,最優(yōu)地給要編碼的視頻數(shù)據(jù)分配位的編碼方法。
圖1是說明整個雙路編碼系統(tǒng)的概念圖,該系統(tǒng)用在將編碼視頻數(shù)據(jù)記錄到數(shù)字視盤(DVD)上的DVD授權(quán)系統(tǒng)中,或用在將編碼數(shù)據(jù)記錄到MO盤上的存儲系統(tǒng)中。
在雙路編碼系統(tǒng)中,在第一路中,視頻信號輸入(視頻輸入)預(yù)先由固定量化的編碼器壓縮編碼,以估計壓縮編碼后所產(chǎn)生位的數(shù)量,作為編碼難度,所估計的產(chǎn)生位的數(shù)量提供給一外部計算機。然后,外部計算機根據(jù)產(chǎn)生位的數(shù)量,即編碼難度,將目標(biāo)編碼量提供給編碼器。在第二路中,編碼器根據(jù)目標(biāo)編碼量執(zhí)行編碼,并輸出編碼數(shù)據(jù)的位數(shù)據(jù)流。
雙路編碼系統(tǒng)在畫面質(zhì)量方面提供了滿意的編碼效果。然而,從操作效率的觀點來看,由于編碼操作必須至少進(jìn)行兩次,因而產(chǎn)生了需要很長編碼時間的問題。
此外,在利用光盤或磁帶機替代VTR記錄編碼視頻數(shù)據(jù)的存儲系統(tǒng)中,需要實時進(jìn)行編碼處理。因此,在這樣的利用傳統(tǒng)技術(shù)的存儲系統(tǒng)中,僅能進(jìn)行固定編碼速率的編碼,而不管要編碼的視頻數(shù)據(jù)的畫面質(zhì)量如何。
簡言之,傳統(tǒng)的授權(quán)系統(tǒng)或存儲系統(tǒng)有這樣的問題,它不可能在改善要記錄在存儲介質(zhì)上的編碼視頻數(shù)據(jù)的畫面質(zhì)量的同時實時編碼源視頻數(shù)據(jù)。
同時,MPEG技術(shù)也用在數(shù)字廣播的傳送系統(tǒng)中,用以將畫面數(shù)據(jù)作為數(shù)字?jǐn)?shù)據(jù)傳送。數(shù)字廣播的優(yōu)點是,可以在同一條傳送線上傳送比模擬廣播更大量的程序數(shù)據(jù)(下文中稱為程序)。在這種數(shù)字廣播的傳送系統(tǒng)中的壓縮編碼中,必須保持高畫面質(zhì)量,同時限制壓縮編碼后的數(shù)據(jù)(位)量不大于傳送線的傳送容量,類似于存儲系統(tǒng)或授權(quán)系統(tǒng)的情況。在傳統(tǒng)的傳送系統(tǒng)中,將“統(tǒng)計(statistical)多路傳送”方法用作傳送更大量的程序到預(yù)定傳送容量的傳送線上的方法。統(tǒng)計多路傳送是一種通過依據(jù)程序的內(nèi)容動態(tài)改變每個程序的傳送速率而給每個程序分配最佳傳送速率的方法。這種統(tǒng)計多路傳送適用于對應(yīng)于具有在編碼中不需要大量位的簡單圖形(pattern)的視頻數(shù)據(jù)的程序,減小傳送速率,對應(yīng)于具有在編碼中需要大量位的復(fù)雜圖形的視頻數(shù)據(jù)的程序,增加傳送速率。
在這樣的數(shù)字廣播的傳送系統(tǒng)中,實況視頻節(jié)目,比如體育節(jié)目和新聞節(jié)目,必須實時傳送。然而,上述雙路編碼系統(tǒng)的問題是,實況視頻節(jié)目不能實時傳送,除非視頻節(jié)目以固定編碼速率傳送,而不顧畫面質(zhì)量。簡言之,在傳統(tǒng)的傳送系統(tǒng)中,不能實時傳送高畫面質(zhì)量的節(jié)目。
本發(fā)明總述鑒于上述現(xiàn)有技術(shù)的狀態(tài),本發(fā)明的一個目的是提供視頻數(shù)據(jù)編碼裝置和方法,用以實時進(jìn)行可變速率的編碼,從而實現(xiàn)高畫面質(zhì)量,以及提供編碼數(shù)據(jù)的記錄介質(zhì)。此外,本發(fā)明的另一個目的是提供一種視頻數(shù)據(jù)編碼裝置,用以通過可變速率編碼處理來實時傳送壓縮編碼的數(shù)據(jù),從而實現(xiàn)高畫面質(zhì)量。
為解決上述問題,在根據(jù)本發(fā)明的視頻數(shù)據(jù)編碼裝置中,根據(jù)指示輸入視頻數(shù)據(jù)的特征的索引數(shù)據(jù),計算要分配給輸入視頻數(shù)據(jù)的目標(biāo)編碼量,并根據(jù)目標(biāo)編碼量,對由延遲裝置延遲的輸入視頻數(shù)據(jù)執(zhí)行編碼處理。
也就是說,根據(jù)本發(fā)明,提供了一種視頻數(shù)據(jù)編碼裝置,用于編碼提供于其中的輸入視頻數(shù)據(jù),該裝置包括目標(biāo)編碼量計算裝置,根據(jù)指示輸入視頻數(shù)據(jù)的特征的索引數(shù)據(jù),計算要分配給輸入視頻數(shù)據(jù)的目標(biāo)編碼量;延遲裝置,用于將輸入視頻數(shù)據(jù)延遲一預(yù)定時間段;和編碼處理裝置,用于根據(jù)目標(biāo)編碼量對由延遲裝置延遲的輸入視頻數(shù)據(jù)執(zhí)行編碼處理。
在這種情況下,延遲裝置延遲輸入視頻數(shù)據(jù)的時間段,是比目標(biāo)編碼量計算裝置計算目標(biāo)編碼量的時間段長的一預(yù)定時間段。因此,索引數(shù)據(jù)被事先讀取。該事先讀取比如是在一個GOP的0.5秒內(nèi)進(jìn)行的。
目標(biāo)編碼量計算裝置從索引數(shù)據(jù)中求出指示編碼時的難度的編碼難度,并根據(jù)該編碼難度計算要分配給視頻數(shù)據(jù)的目標(biāo)編碼量。
此外,根據(jù)已收集的編碼難度和由編碼處理裝置產(chǎn)生的編碼量,目標(biāo)編碼量計算裝置在任何時候都根據(jù)編碼難度更新目標(biāo)編碼量的相應(yīng)關(guān)系。
為解決上述問題,在根據(jù)本發(fā)明的視頻數(shù)據(jù)編碼方法中,根據(jù)指示輸入視頻數(shù)據(jù)的特征的索引數(shù)據(jù)計算要分配給輸入視頻數(shù)據(jù)的目標(biāo)編碼量,并根據(jù)目標(biāo)編碼量,對在延遲步驟中延遲的輸入視頻數(shù)據(jù)執(zhí)行編碼處理。
也就是說,根據(jù)本發(fā)明,還提供了一種視頻數(shù)據(jù)編碼方法,用于對所提供的輸入視頻數(shù)據(jù)進(jìn)行編碼,所述方法包括目標(biāo)編碼量計算步驟,根據(jù)指示輸入視頻數(shù)據(jù)的特征的索引數(shù)據(jù),計算要分配給輸入視頻數(shù)據(jù)的目標(biāo)編碼量;延遲步驟,將輸入視頻數(shù)據(jù)延遲一預(yù)定時間段;和編碼處理步驟,根據(jù)目標(biāo)編碼量對在延遲步驟中延遲的輸入視頻數(shù)據(jù)執(zhí)行編碼處理。
在這種情況下,在延遲步驟中延遲輸入視頻數(shù)據(jù)的時間段,是比在目標(biāo)編碼量計算步驟中計算目標(biāo)編碼量的時間段長的一預(yù)定時間段。因此,索引數(shù)據(jù)被事先讀取。該事先讀取比如是在一個GOP的0.5秒內(nèi)進(jìn)行的。
在所述目標(biāo)編碼量計算步驟中,從索引數(shù)據(jù)中求出指示編碼時的難度的編碼難度,并根據(jù)該編碼難度計算要分配給視頻數(shù)據(jù)的目標(biāo)編碼量。
此外,在所述目標(biāo)編碼量計算步驟中,根據(jù)已收集的編碼難度和在編碼處理步驟中產(chǎn)生的編碼量,在任何時候都根據(jù)編碼難度更新目標(biāo)編碼量的相應(yīng)關(guān)系。
在本發(fā)明的視頻數(shù)據(jù)編碼裝置中,編碼處理部分給CPU提供指示要編碼的源視頻數(shù)據(jù)的特征的統(tǒng)計量(索引數(shù)據(jù))。CPU根據(jù)該統(tǒng)計量計算指示編碼視頻數(shù)據(jù)中的難度的編碼難度,并根據(jù)編碼難度計算分配給視頻數(shù)據(jù)的每個畫面的目標(biāo)編碼量。此外,CPU將計算的目標(biāo)編碼量饋送給一編碼器,從而使編碼處理實時進(jìn)行,而不用象在現(xiàn)有技術(shù)的雙路編碼處理中那樣執(zhí)行兩次編碼處理。而且,在本發(fā)明的視頻數(shù)據(jù)編碼裝置中,由于計算與視頻數(shù)據(jù)的編碼難度一致的目標(biāo)編碼量,可以實現(xiàn)與編碼數(shù)據(jù)的圖形一致的優(yōu)化編碼。
在本發(fā)明的視頻數(shù)據(jù)編碼裝置和方法中,CPU從要被其編碼的源視頻數(shù)據(jù)中計算指示編碼源視頻數(shù)據(jù)中的編碼難度的編碼難度Dj,并根據(jù)計算出的編碼難度,計算用于編碼要編碼的源視頻數(shù)據(jù)的目標(biāo)編碼量Tj。然后,CPU將計算的目標(biāo)編碼量Tj以前饋方式提供給編碼器,從而使編碼根據(jù)與源視頻數(shù)據(jù)的圖形一致的目標(biāo)編碼量而進(jìn)行,并使視頻數(shù)據(jù)的編碼實時進(jìn)行。
此外,在本發(fā)明的視頻數(shù)據(jù)編碼裝置中,由于利用從要編碼的源視頻數(shù)據(jù)中發(fā)現(xiàn)的AC內(nèi)或ME殘余(intra-AC or ME residual),來大體計算每一畫面類型的編碼難度,因此在要編碼的視頻數(shù)據(jù)實際上被編碼之前就可獲得編碼難度。因此,可實現(xiàn)實時編碼處理。
此外,在本發(fā)明的視頻數(shù)據(jù)編碼裝置中,如果要編碼的視頻數(shù)據(jù)的畫面類型為I畫面,則從AC內(nèi)計算編碼難度,而如果要編碼的視頻數(shù)據(jù)的畫面類型為P畫面或B畫面,則從ME殘余中中計算編碼難度。這樣,就可根據(jù)畫面類型以高準(zhǔn)確性計算編碼難度。
此外,在本發(fā)明的視頻數(shù)據(jù)編碼裝置中,由于從計算出的編碼難度中計算目標(biāo)編碼量的轉(zhuǎn)換公式,被在任何時候根據(jù)實際產(chǎn)生的編碼量校正,作為由編碼裝置進(jìn)行的過去的編碼處理的結(jié)果,可以對應(yīng)于存儲介質(zhì)的剩余量而設(shè)定適于視頻數(shù)據(jù)的圖形的改變的目標(biāo)編碼量和目標(biāo)編碼。而且,作為從編碼難度中計算目標(biāo)編碼量的轉(zhuǎn)換公式,根據(jù)要編碼的視頻數(shù)據(jù)的畫面類型來設(shè)定不同的轉(zhuǎn)換公式。因此,不僅可以在GOP基礎(chǔ)上,而且可以在畫面基礎(chǔ)上計算優(yōu)化編碼難度。
而且,在本發(fā)明的視頻數(shù)據(jù)編碼裝置中,計算編碼難度的運算表達(dá)式,被在任何時候根據(jù)從編碼裝置的編碼處理所產(chǎn)生的編碼量和量化值中發(fā)現(xiàn)的總的復(fù)雜性而更新。因此,可以高精度測量與視頻數(shù)據(jù)的圖形一致的編碼難度。
此外,在本發(fā)明的視頻數(shù)據(jù)編碼裝置中,CPU對每一畫面計算與包含在參考GOP中的多個畫面有關(guān)的編碼難度,所述參考GOP是由編碼裝置進(jìn)行編碼處理的目標(biāo),并且,CPU從由編碼難度計算裝置所計算的多個編碼難度中,計算分配給參考GOP的目標(biāo)編碼量。CPU根據(jù)畫面類型,將分配給參考GOP的目標(biāo)編碼量分配給包含在參考GOP中的每一個畫面,以便計算對應(yīng)于包含在參考GOP中的每一個畫面的目標(biāo)編碼量。這樣,與畫面類型一致的不同的目標(biāo)編碼量可分配給相應(yīng)的畫面,同時在GOP中保持指定給GOP的平均編碼量。
根據(jù)本發(fā)明,還提供了一種視頻數(shù)據(jù)傳送裝置,用于編碼提供給它的輸入視頻數(shù)據(jù),并發(fā)送編碼的視頻數(shù)據(jù),該裝置包括目標(biāo)編碼量計算裝置,根據(jù)指示輸入視頻數(shù)據(jù)的特征的索引數(shù)據(jù),計算要分配給輸入視頻數(shù)據(jù)的目標(biāo)編碼量;延遲裝置,用于將輸入視頻數(shù)據(jù)延遲一預(yù)定時間段;和編碼傳送裝置,用于根據(jù)目標(biāo)編碼量對由延遲裝置延遲的輸入視頻數(shù)據(jù)執(zhí)行編碼處理,并發(fā)送編碼的視頻數(shù)據(jù)。
根據(jù)本發(fā)明,還提供了一種視頻數(shù)據(jù)傳送裝置,用于編碼源視頻數(shù)據(jù),并發(fā)送編碼的視頻數(shù)據(jù),該裝置包括編碼難度計算裝置,計算指示編碼源視頻數(shù)據(jù)過程中的編碼難度的編碼難度;目標(biāo)編碼量計算裝置,在任何時候,根據(jù)在過去的編碼處理中產(chǎn)生的編碼量,更新一運算表達(dá)式,該運算表達(dá)式用于從計算的編碼難度中計算用在編碼源視頻數(shù)據(jù)中的目標(biāo)編碼量,并根據(jù)更新的轉(zhuǎn)換公式,從編碼難度中計算目標(biāo)編碼量;編碼裝置,用于將目標(biāo)編碼量計算裝置計算出的目標(biāo)編碼量向前饋送,從而根據(jù)對應(yīng)于要編碼的源視頻數(shù)據(jù)的目標(biāo)編碼量,實時編碼要編碼的源視頻數(shù)據(jù);和傳送裝置,用于傳送由編碼裝置編碼的視頻數(shù)據(jù)。
根據(jù)本發(fā)明,還提供了一種視頻數(shù)據(jù)記錄介質(zhì),其中記錄編碼數(shù)據(jù),該編碼數(shù)據(jù)是通過根據(jù)指示輸入視頻數(shù)據(jù)的特征的索引數(shù)據(jù),計算要分配給輸入視頻數(shù)據(jù)的目標(biāo)編碼量,然后根據(jù)目標(biāo)編碼量對延遲了預(yù)定時間段的輸入視頻數(shù)據(jù)執(zhí)行編碼處理而獲得的。
附圖的簡要說明圖1是解釋傳統(tǒng)的雙路編碼系統(tǒng)的圖。
圖2是表示根據(jù)本發(fā)明的視頻數(shù)據(jù)編碼裝置和方法的一實施例的方框圖。
圖3是表示說明本發(fā)明的重要部分,即壓縮編碼部分的詳細(xì)結(jié)構(gòu)的方框圖。
圖4是解釋計算平面性(flatness)的原理的圖。
圖5A至5C是解釋實施例的操作的時序圖。
圖6是解釋實施例的操作的GOP比特率相對于編碼難度的曲線圖。
圖7是表示圖6中狀態(tài)被更新的曲線圖。
圖8是解釋實施例的操作的流程圖。
圖9是GOP比特率相對于編碼難度的另一張曲線圖。
圖10A至10D是編碼的幀目標(biāo)量分別相對于編碼難度I、P和B畫面的曲線圖。
圖11是表示根據(jù)本發(fā)明的視頻數(shù)據(jù)編碼裝置和方法的另一個特定例子的方框圖。
圖12是表示根據(jù)本發(fā)明的視頻數(shù)據(jù)編碼裝置和方法的再一個特定例子的方框圖。
實施本發(fā)明的最好模式下面將參照附圖描述根據(jù)本發(fā)明的視頻數(shù)據(jù)編碼裝置和方法的優(yōu)選實施例。
圖2表示根據(jù)本發(fā)明的一實施例的視頻數(shù)據(jù)編碼裝置的結(jié)構(gòu)。該視頻數(shù)據(jù)編碼裝置包括編碼預(yù)處理部分2,用于計算檢索從輸入端1輸入的輸入視頻數(shù)據(jù)的特征的索引數(shù)據(jù);和中央處理單元(CPU)6,作為目標(biāo)編碼量計算裝置,用于根據(jù)來自編碼預(yù)處理部分2的索引數(shù)據(jù),求出表示在編碼輸入視頻信號時的難度的編碼難度,并根據(jù)編碼難度計算要分配給視頻信號的目標(biāo)編碼量。所述視頻數(shù)據(jù)編碼裝置還包括FIFO存儲器3,作為延遲裝置,用于將輸入視頻數(shù)據(jù)延遲一預(yù)定時間段;和編碼器4,用于根據(jù)目標(biāo)編碼量,對由FIFO 3延遲的輸入視頻信號執(zhí)行編碼處理,并將壓縮后的視頻數(shù)據(jù)提供給輸出端7。
當(dāng)圖2所示的編碼裝置應(yīng)用到存儲系統(tǒng)或授權(quán)系統(tǒng)時,從輸出端7輸出的編碼視頻數(shù)據(jù)存儲在數(shù)據(jù)存儲介質(zhì),如光盤上。當(dāng)所述編碼裝置應(yīng)用于數(shù)字廣播等的傳送系統(tǒng)時,從輸出端7輸出的編碼視頻數(shù)據(jù)與其編碼視頻節(jié)目多路復(fù)用,然后通過圖中未示出的發(fā)送裝置或衛(wèi)星傳送到接收裝置。
CPU6可設(shè)在包括編碼預(yù)處理部分2、FIFO3和編碼器4的封裝單元中,或者,CPU6可做成計算機,用于控制編碼預(yù)處理部分2、FIFO3和編碼器4。
從編碼預(yù)處理部分2提供給CPU6的索引數(shù)據(jù)由后面所述的ME殘余、平面性和AC內(nèi)來舉例說明。
編碼預(yù)處理部分2通知CPU關(guān)于從輸入端1輸入的視頻信號的畫面存在/不存在,并執(zhí)行用于對輸入的視頻數(shù)據(jù)的每個畫面壓縮編碼的預(yù)處理。簡言之,編碼預(yù)處理部分2將輸入視頻信號的GOP中的視頻數(shù)據(jù)重新安排成編碼順序,并執(zhí)行畫面場的轉(zhuǎn)換。在輸入視頻數(shù)據(jù)為運動畫面的視頻數(shù)據(jù)時,編碼預(yù)處理部分2進(jìn)行3∶2下拉轉(zhuǎn)換處理(為將運動畫面的24幀/秒的視頻數(shù)據(jù)30幀/秒的視頻數(shù)據(jù),并在壓縮編碼前除去冗余數(shù)據(jù)),并將轉(zhuǎn)換后的數(shù)據(jù)輸出給FIFO3。此外,編碼預(yù)處理部分2給CPU6提供后面描述的比如ME殘余、平面性和AC內(nèi)等的索引數(shù)據(jù)。
運動檢測電路5檢測輸入的視頻信號的運動矢量,并輸出檢測的運動矢量給編碼預(yù)處理部分2。此外,運動檢測部分5產(chǎn)生ME殘余。
FIFO3將從編碼預(yù)處理部分2輸入的視頻數(shù)據(jù)(例如,輸入視頻數(shù)據(jù))延遲一預(yù)定時間段,并輸出延遲后的視頻數(shù)據(jù)給編碼器4。該預(yù)定時間段比CPU6計算目標(biāo)編碼量的時間要長。
壓縮編碼部分包括編碼預(yù)處理部分2、FIFO3、編碼器4和運動檢測電路5,下面將參照圖3詳細(xì)描述這些部分。
在圖3的壓縮編碼部分中,畫面重排部分11、掃描轉(zhuǎn)換宏塊形成電路12和統(tǒng)計量計算電路13構(gòu)成圖2的編碼預(yù)處理部分2。
畫面重排部分11以編碼順序重新安排輸入的視頻信號。掃描轉(zhuǎn)換宏塊形成電路12進(jìn)行場-幀轉(zhuǎn)換并形成宏塊。例如,如果視頻信號是運動畫面的視頻信號,掃描轉(zhuǎn)換宏塊形成電路12執(zhí)行3∶2下拉轉(zhuǎn)換。
統(tǒng)計量計算電路13從畫面重排電路11和掃描轉(zhuǎn)換宏塊形成電路12所處理的畫面中計算統(tǒng)計量,比如平面性和AC內(nèi),并將其壓縮編碼為I畫面。
在圖3的壓縮編碼部分中,加法電路15、DCT電路16、量化電路17、量化控制電路18、可變長度編碼(VLC)電路19、緩沖器20、逆量化(IQ)電路22、逆DCT(IDCT)電路23、加法電路24和運動補償電路25構(gòu)成圖2的編碼器4。
加法電路15從FIFO3的輸入視頻數(shù)據(jù)減去加法電路24的輸出數(shù)據(jù),并輸出所得數(shù)據(jù)給DCT電路16。
DCT電路16在加法電路15輸入的視頻數(shù)據(jù)上,對于由16×16象素組成的每個宏塊,執(zhí)行離散余弦變換(DCT),從而將時域數(shù)據(jù)變換為頻域數(shù)據(jù),并將該頻域數(shù)據(jù)輸出給量化電路17。
量化電路17以固定的或隨機的量化值量化從DCT電路16輸入的頻域數(shù)據(jù),并輸出量化數(shù)據(jù)給可變長度編碼(VLC)電路19,以及逆量化電路22。
可變長度編碼電路19在量化電路17輸入的量化數(shù)據(jù)上執(zhí)行可變長度編碼,并將壓縮后的視頻數(shù)據(jù)作為可變長度編碼的結(jié)果提供給緩沖器20。緩沖器20緩沖壓縮后的視頻數(shù)據(jù),并將構(gòu)成該壓縮視頻數(shù)據(jù)的位流提供給輸出端21。
逆量化電路22對量化電路17輸入的量化數(shù)據(jù)進(jìn)行逆量化,并輸出逆量化的數(shù)據(jù)給逆DCT電路23。
逆DCT電路23在逆量化電路22輸入的逆量化的數(shù)據(jù)上執(zhí)行逆DCT,并將所得數(shù)據(jù)輸出給加法電路24。
加法電路24將運動補償電路25的輸出數(shù)據(jù)和逆DCT電路23的輸出數(shù)據(jù)相加,并輸出相加結(jié)果給加法電路15和運動補償電路25。
運動補償電路25根據(jù)運動檢測電路5計算的運動矢量,在加法電路24的輸出數(shù)據(jù)上相對于一參考幀執(zhí)行運動補償,并輸出結(jié)果數(shù)據(jù)給加法電路15。
設(shè)于運動補償電路25和運動檢測電路5之間的FIFO26延遲運動矢量。由于運動矢量具有比畫面數(shù)據(jù)更小的信息量,F(xiàn)IFO26可以有比FIFO 3更小的容量。
有了上述結(jié)構(gòu),本發(fā)明的實施例的視頻數(shù)據(jù)編碼裝置利用視頻輸入信號的統(tǒng)計量,比如平面性和AC內(nèi),而不是利用輸入視頻信號的圖形的編碼難度,來適應(yīng)性地計算目標(biāo)數(shù)據(jù)量Tj。然后,視頻數(shù)據(jù)編碼裝置根據(jù)目標(biāo)數(shù)據(jù)量Tj將輸入視頻信號壓縮編碼成適當(dāng)數(shù)據(jù)量的壓縮編碼的視頻數(shù)據(jù)。
在視頻數(shù)據(jù)編碼裝置中,運動檢測電路5和統(tǒng)計量計算電路13產(chǎn)生統(tǒng)計量和事先檢測的ME殘余的索引數(shù)據(jù),并根據(jù)該索引數(shù)據(jù)確定目標(biāo)數(shù)據(jù)量Tj。這種壓縮編碼系統(tǒng)下文中稱為前饋速率控制系統(tǒng)。
ME殘余定義為要壓縮畫面的視頻數(shù)據(jù)和參考畫面的視頻數(shù)據(jù)之間的差值的絕對值和或平方值和。運動檢測電路5從壓縮后變成P畫面和B畫面的畫面中計算ME殘余。它表示圖像運動速度和圖形的復(fù)雜性,并且與編碼難度和壓縮后的數(shù)據(jù)量有關(guān)。
對于I畫面,不能找到ME殘余,因為這些畫面是在不參照其它畫面的情況下壓縮編碼的。作為替代ME殘余的索引數(shù)據(jù)(參數(shù)),使用平面性和AC內(nèi)。
平面性是為了實現(xiàn)視頻數(shù)據(jù)編碼裝置而新定義為表示圖像的空間平坦性的索引數(shù)據(jù)的參數(shù)。它指示圖像的復(fù)雜性,并且與編碼難度和壓縮后的數(shù)據(jù)量有關(guān)。
AC內(nèi)是為了實現(xiàn)視頻數(shù)據(jù)編碼裝置而新定義為MPEG系統(tǒng)中的DCT處理單元的每個DCT塊之間的色散值之和的參數(shù)。與平面性類似,AC內(nèi)指示圖像的復(fù)雜性,并與編碼難度和壓縮后的數(shù)據(jù)量相關(guān)。
在由本發(fā)明的受讓人于1996年8月14日提交的題目為“視頻數(shù)據(jù)壓縮裝置及其方法”的日本專利申請No.Hei 8-214708(以及1997年8月11日提交的美國專利申請No.08/909,448)的說明書和附圖中,詳細(xì)公開了利用上述這些參數(shù)以高精度求出編碼難度(所謂的難度)的方法。
對于每個畫面的編碼難度(下文中恰當(dāng)?shù)貥?biāo)為Dj)是指示編碼圖像圖形時的編碼的難度的數(shù)據(jù)。圖形變得越復(fù)雜,編碼難度就越高。相反,圖形越簡單,編碼難度就越低。
根據(jù)編碼難度Dj計算目標(biāo)編碼量Tj。具體地講,ME殘余、平面性和AC內(nèi)與編碼難度Dj有強相關(guān)性。因此,從諸如ME殘余、平面性和AC內(nèi)的索引數(shù)據(jù)中計算出編碼難度Dj,并從計算出的編碼難度Dj中計算目標(biāo)編碼量Tj。在此情況下,可由圖2所示的編碼器控制電路2和運動檢測電路5檢測索引數(shù)據(jù)。也就是說,與現(xiàn)有技術(shù)不同,不需要事先采用雙路編碼系統(tǒng)來求出編碼難度。
首先詳細(xì)描述ME殘余。在參照其它畫面實施壓縮編碼以產(chǎn)生P畫面和B畫面的過程中,運動檢測電路5檢索一宏塊作為壓縮目標(biāo),該宏塊實現(xiàn)畫面(輸入畫面)的標(biāo)記宏塊之間的差分值的最小絕對值和或平方值和,和要參照的畫面(參考畫面)的宏塊,從而求出運動矢量。簡言之,對于整個畫面,在尋找運動矢量的過程中,ME殘余定義為各個宏塊的差分值的最小絕對值和或平方值和的和值。
ME殘余與編碼難度Dj有強相關(guān)性,比如為實現(xiàn)與編碼難度Dj的基本上為正比例。這樣,在壓縮編碼之前,從ME殘余中求出要作為P畫面或B畫面的畫面的編碼難度Dj,并能計算相對于P畫面或B畫面的目標(biāo)編碼量Tj。后文中將描述其特定運算表達(dá)式。
接下來將詳細(xì)描述平面性。平面性是表示圖像的空間平面性的數(shù)據(jù)。通過首先將作為MPEG系統(tǒng)中的DCT處理單元的DCT塊劃分為子塊,每個子塊包括2×2象素,然后計算這些子塊中的對角象素數(shù)據(jù)(象素值)的差分值,然后用一預(yù)定閾值比較該差分值,并對每個畫面求出具有小于閾值的差分值的子塊總數(shù),如圖4所示。如果圖像圖形在空間上變得復(fù)雜,則平面性值變小。如果圖像圖形更平,則平面性值變大。平面性值與編碼難度Dj有很強的負(fù)相關(guān)性。這樣,在壓縮編碼之前,從平面性中求出要作為I畫面的畫面的編碼難度Dj,并從平面性中求出相對于I畫面的目標(biāo)編碼量Tj。
對于每個DCT塊,AC內(nèi)是作為DCT塊中各個象素的象素值之間的差分絕對值之和,和DCT塊中象素值的平均值,而計算的。也就是說,AC內(nèi)(Intra_AC)是由下列公式求出的Intr_AC=∑|f(x,y)-(∑f)/N|在此公式中,f(x,y)表示DCT塊中各個象素的象素值,而∑f表示DCT塊中象素值的和。N表示DCT塊中的象素數(shù)目,而∑‖表示關(guān)于DCT塊中的象素的和。
如上所述,當(dāng)要編碼的畫面類型是I畫面時,由上述公式求出的AC內(nèi)和編碼難度Dj有很強的正相關(guān)性。這樣,可在下列公式(1)的基礎(chǔ)上從AC內(nèi)中求出要作為I畫面的畫面的編碼難度Dj。
Dj=aI×Intra_AC+bI(1)在此公式中,aI和bI只是從AC內(nèi)求出關(guān)于I畫面的編碼難度Dj的一系數(shù)和一常數(shù)。
同樣,利用下列用于P畫面的公式(2)或利用下列用于B畫面的公式(3),可由CPU6從ME殘余中算出編碼難度Dj。
Dj=aP×ME_residj+bP(2)Dj=aB×ME_residj+bB(3)
接下來,將參照圖2、3和5描述利用索引數(shù)據(jù)(ME殘余、AC內(nèi)或平面性)求出編碼難度Dj的CPU6的操作。
編碼預(yù)處理部分2的畫面重排電路11以編碼次序重排輸入的視頻信號,而掃描轉(zhuǎn)換宏塊形成電路12執(zhí)行畫面場的轉(zhuǎn)換。此外,統(tǒng)計量計算電路13根據(jù)上述公式進(jìn)行算術(shù)處理,以求出對于要壓縮成I畫面的畫面的AC內(nèi),從而計算比如平面性和AC內(nèi)的統(tǒng)計量。
運動檢測部分5產(chǎn)生對于要壓縮編碼成P畫面和B畫面的畫面的運動矢量,并計算ME殘余。
FIFO3將輸入給它的源視頻信號延遲N畫面的量。該“N”是一整數(shù),表示包含在一個GOP(畫面組)中的畫面數(shù)目。
對于要編碼成I畫面的畫面,CPU6利用從統(tǒng)計量計算電路13輸出的平面性和AC內(nèi)執(zhí)行公式(1)的算術(shù)處理,從而產(chǎn)生用于I畫面的編碼難度Dj。對于要編碼成P畫面和B畫面的畫面,CPU6利用運動檢測電路5產(chǎn)生的ME殘余執(zhí)行公式(2)和(3)的算術(shù)處理,從而分別計算用于P畫面和B畫面的編碼難度Dj。
此時,編碼預(yù)處理部分2進(jìn)行預(yù)處理,比如對于輸入的視頻信號以編碼次序重排畫面,并輸出如圖5A所示的視頻數(shù)據(jù)給FIFO3。通過由編碼預(yù)處理部分2重排畫面,使得圖5A至5C中所示畫面的編碼次序與擴展解碼后的顯示次序不同。
FIFO3將輸入視頻數(shù)據(jù)的每一畫面延遲N個畫面的量,并輸出延遲后的視頻數(shù)據(jù)給編碼器4。由于輸入給編碼器4的延遲的視頻數(shù)據(jù)被FIFO3延遲了N個畫面的量,當(dāng)編碼器4壓縮編碼圖5B所示的延遲的視頻數(shù)據(jù)的第j個畫面(圖5B的畫面b)時,編碼預(yù)處理部分2從第(j+N)個畫面(圖5B的畫面a)取出索引數(shù)據(jù),并將該索引數(shù)據(jù)提供給CPU6,所述第(j+N)個畫面比視頻數(shù)據(jù)的第j個畫面b提前N個畫面。CPU6根據(jù)公式(1)、(2)和(3),瞬時利用索引數(shù)據(jù)計算對于I畫面、P畫面和B畫面的編碼難度Dj。這樣,當(dāng)編碼器4開始對延遲的視頻數(shù)據(jù)的第j個畫面的壓縮編碼時,CPU6從畫面j到畫面j+N-1獲得編碼難度Dj到Dj+N-1。
同樣,當(dāng)編碼器4開始對圖5C所示的延遲的視頻數(shù)據(jù)的第(j+1)個畫面(圖5C的畫面b′)的壓縮編碼時,CPU6從畫面(j+1)到畫面(j+N)獲得編碼難度Dj+1到Dj+N。
在稱為MPEG壓縮算法的TM5(測試模型編輯委員會或“測試模型5”,Test Model Editing Committee or“Test Model 5”)系統(tǒng)中,稱為活動性的統(tǒng)計量用于計算宏塊的量化值(MQUANT)。由于該活動性與編碼難度Dj有強相關(guān)性(與平面性和AC內(nèi)類似),可利用該活動性而不是這些索引數(shù)據(jù)來求出編碼難度Dj。
CPU6利用包含活動性的索引數(shù)據(jù)計算出的編碼難度Dj用于計算目標(biāo)編碼量Tj。
為簡化描述,假定CPU6得到的編碼難度Dj+1到Dj+N用于一個GOP。還假定一個GOP的畫面數(shù)目為N。簡言之,當(dāng)編碼器4編碼畫面j時,如上所述,從畫面j到畫面j+N-1得到編碼難度Dj到Dj+N-1。
由CPU6利用編碼難度Dj計算目標(biāo)編碼量Tj的處理,大體上包括下列三種類型的處理。
第一種處理是用于從GOP中的編碼難度Dj的平均值D-中求出一參考GOP的比特率GOP_Bitrate的處理。該第一種處理稱為用于求出參考GOP的比特率GOP_Bitrate的處理。
第二種處理是用于根據(jù)各個畫面的編碼難度的比例,分配分配給參考GOP的目標(biāo)編碼量,并確定用于每個畫面的目標(biāo)編碼量Tj的處理。該第二種處理稱為用于為每個畫面求出目標(biāo)編碼量Tj的處理。
第三種處理是用于在完成GOP的編碼后,利用產(chǎn)生的編碼量和編碼難度,更新運算表達(dá)式的處理,該運算表達(dá)式用于從用在第一種處理中的編碼難度中確定比特率。該第三種處理稱為用于更新用來計算參考GOP的比特率GOP_Bitrate的運算表達(dá)式的處理。該第三種處理非常有特色,并能提供比如滿足目標(biāo)編碼量的編碼算法,同時更新相關(guān)表達(dá)式。
下面將詳細(xì)描述第一種處理。該處理適于緊接在編碼GOP的引導(dǎo)畫面,即I畫面(j=0)之前,確定分配給從現(xiàn)在起要編碼的參考GOP的比特率。因此,首先,根據(jù)下列公式(4)求出關(guān)于從現(xiàn)在起要編碼的參考GOP的編碼難度Dj的平均值D-。D‾=Σj=0N-1DjN------------(4)]]>
在此公式中,D等于文章中的D-,同樣,附圖中的D也等于D-。
然后,利用如圖6所示的在此GOP中的編碼難度的平均值D-和參考GOP的比特率GOP_Bitrate之間的相互關(guān)系,確定要分配給GOP的比特率。圖6示出如上所述的在此GOP中的編碼難度的平均值D-和參考GOP的比特率GOP_Bitrate之間的相互關(guān)系。橫軸表示編碼難度的平均值D-,而縱軸表示參考GOP的比特率GOP_Bitrate。從圖6所表示的關(guān)系中可以看到,編碼難度的平均值D-變得越大,分配給參考GOP的比特率就越大。
在該視頻數(shù)據(jù)編碼裝置用于授權(quán)系統(tǒng)或存儲系統(tǒng)的情況下,表示在圖6的縱軸上的Max Rate(Rate_max)和Min Rate(Rate_min)分別是本申請所確定的最大比特率和最小比特率。如果用在授權(quán)系統(tǒng)或存儲系統(tǒng)中的存儲介質(zhì)的記錄容量Total_Bit和要記錄的視頻材料的長度Total_Time預(yù)先確定,則表示在縱軸上的平均比特率Avg Rate(Rate_Avg)是從這些參數(shù)中計算出的平均比特率,并且其初始值由下列公式計算。
Rate_Avg=Total_Bit[bits]/Total_Time[sec]在該視頻數(shù)據(jù)編碼裝置用于數(shù)字廣播等的傳送系統(tǒng)的情況下,表示在圖6中曲線的縱軸上的Max Rate(Rate_max)和Min Rate(Rate_min),分別是對于要傳送的視頻節(jié)目預(yù)先確定的最大比特率和最小比特率。同樣,平均比特率Avg Rate(Rate_Avg)是對于要傳送的視頻節(jié)目預(yù)先設(shè)定的比特率。
另一方面,表示在橫軸上的Avg Difficulty(D_Avg)是要編碼的輸入視頻材料的平均編碼難度的估計值。該Avg Difficulty稱為“估計值”是因為直到編碼完成之前不知道輸入視頻材料的編碼難度。
這樣,有了Rate_Min、Rate_Max、Rage_Avg和平均編碼難度D_Avg,要分配給參考GOP的比特率GOP_Bitrate表示為一直線,該直線表示當(dāng)參考GOP的編碼難度的平均值D-等于0時為Rate_Min,并表示當(dāng)平均值D-等于D_Avg時為Rate_Avg,并取比特率不超過Rate_Max的值,如圖6所示。這樣,要分配給參考GOP的比特率GOP_Bitrate由下列公式表示。GOP_Bitrate=min{Rate_Min+Rate_Avg-Rate_MinD_Avg×D‾,Rate_Max}------(5)]]>當(dāng)在第一次處理(用于求出參考GOP的比特率GOP_Bitrate的處理)中求出GOP的比特率GOP_Bitrate時,在第二次處理(用于求出每一個畫面的目標(biāo)編碼量Tj的處理)中根據(jù)下列公式(6)求出參考GOP的目標(biāo)編碼量R。R=GOP_Bitrate×NPicture_Rate------(6)]]>在此公式中,Picture_Rate是用于第二次的畫面數(shù)目。
然后,在此第二次處理中,根據(jù)公式(6)求出的每個GOP的位量R,以各個畫面的編碼難度的比例進(jìn)行分配。也就是說,每個GOP的位量R不是與GOP中的N個畫面中的每一個相等地分配,而是以傾斜方式分配,使最大量的編碼位分配給I畫面,并將小于I畫面且大于B畫面的位量分配給P畫面,而最小的位量分配給B畫面。具體地講,根據(jù)各個畫面類型,確定GOP中的第j畫面的目標(biāo)編碼量Tj由下列公式(7)、(8)和(9)表示。
由公式(7)求出在編碼具有I畫面的畫面類型的畫面時分配的目標(biāo)位量。Tj=KP×KB×DjKP×KB×DI+KB×ΣP_pictureDP+KP×ΣB_pictureDB×R---(7)]]>由公式(8)求出在編碼具有P畫面的畫面類型的畫面時分配的目標(biāo)位量。Tj=KB×DjKP×KB×DI+KB×ΣP_pictureDP+KP×ΣB_pictureDB×R--(8)]]>由公式(9)求出在編碼具有B畫面的畫面類型的畫面時分配的目標(biāo)位量。Tj=KP×DjKP×KB×DI+KB×ΣP_pictureDP+KP×ΣB_pictureDB×R--(9)]]>通用于所有公式(7)、(8)和(9)的分母中的DI、DP、DB,表示對應(yīng)于各個畫面類型的編碼難度,并且是在編碼處理之前計算的數(shù)據(jù)。KP表示I畫面位量與B畫面位量的比率。例如,如在TM5系統(tǒng)中提出的那樣,選擇的值比如為KP=1.0和KB=1.4。
為遵守MPEG規(guī)定的虛擬緩沖量(視頻緩沖校驗器或VBV緩沖器)的計算限制,限制目標(biāo)編碼量Tj的值不超過VBV緩沖器的限制,即便在產(chǎn)生通過將某些邊緣值加到目標(biāo)編碼量Tj的位量而獲得的產(chǎn)生目標(biāo)量Tj時也是這樣。
當(dāng)確定了對應(yīng)于每個畫面的目標(biāo)編碼量Tj時,根據(jù)該目標(biāo)編碼量Tj編碼一個GOP的畫面。
然后,在第三種處理中,進(jìn)行用于更新用在第一種處理(用于求出參考GOP的比特率GOP_Bitrate的處理)中的公式(5)的處理,即,用于更新用來計算參考GOP的比特率GOP_Bitrate的運算表達(dá)式的處理。
在第三種處理中,CPU6能夠通過編碼參考GOP,獲得在編碼參考GOP的過程中實際產(chǎn)生的位量。
首先,當(dāng)視頻數(shù)據(jù)編碼裝置用在授權(quán)系統(tǒng)或存儲系統(tǒng)中時,CPU6通過算術(shù)處理,求出用在授權(quán)系統(tǒng)或存儲系統(tǒng)中的存儲介質(zhì)的剩余位量和剩余時間。這是因為,在實際編碼參考GOP后編碼下一GOP之前,CPU6根據(jù)存儲介質(zhì)的剩余位量和源材料的非記錄時間,計算新的優(yōu)化平均比特率Rate_avg。
由下列公式求出用在授權(quán)系統(tǒng)或存儲系統(tǒng)中的存儲介質(zhì)的剩余位量Remain_Bit,其中表示在編碼參考GOP過程中產(chǎn)生的編碼量。
Remain_Bit=Remain_Bit-S (10)隨后,由下列公式求出源材料的非記錄時間Remain_Bit,其中Picture_Rate表示每秒的畫面數(shù)目,而N表示每個GOP的畫面數(shù)目。
Remain_Time=Remain_Time-(N/(Picture_Rate)) (11)這樣,由下列公式求出由存儲介質(zhì)的剩余位量和源材料的非記錄時間更新的新的平均比特率Rate_Avg。
Rate_Avg=Remain_Bit[bits]/Remain_Time[sec] (12)Remain_Bit和Remain_Time的初始值分別是存儲介質(zhì)的總的存儲位量Total_Bit和源視頻材料的總數(shù)據(jù)長度Total_Time。
另一方面,當(dāng)視頻數(shù)據(jù)編碼裝置用在數(shù)字廣播等的傳送系統(tǒng)中時,與前述的授權(quán)系統(tǒng)或存儲系統(tǒng)不同,由于下列原因不進(jìn)行用于更新平均比特率Rate_avg的處理。即,該平均比特率不能改變,因為該平均比特率是相對于每一個要傳送的視頻節(jié)目預(yù)設(shè)的值,并且是由廣播站使用以將費用計算給被要求傳送視頻節(jié)目的節(jié)目供應(yīng)公司的比特率。
完成一個GOP的編碼后,在下一個GOP的編碼處理進(jìn)行之前,求出下一個GOP的編碼難度的平均值D-。CPU6利用當(dāng)前GOP中的編碼難度的平均值D-,更新為下一個要編碼的GOP設(shè)定的平均編碼難度的估計值D_Avg。
用在編碼下一個GOP中的平均編碼難度的新的估計值D_Avg可由下列公式求出。D_Avg=(k-1)×D_Avg+D‾k--------(13)]]>在此公式(13)中,很容易加權(quán)(weight)先前的D_Avg(用在先前的GOP的編碼處理中的平均編碼難度的估計值),以求出平均值。在此公式中,系數(shù)k是足夠大的整數(shù)(比如,256)。系數(shù)k的幅度是平均值波動的時間常數(shù)。系數(shù)k變得越大,平均值的波動就變得越小,但達(dá)到實際平均值的時間就更長。因此,系數(shù)k的幅度必須按照實際應(yīng)用來選擇。
作為平均編碼難度的新的估計值D_Avg的初始值,可以考慮使用統(tǒng)計求出值。例如,根據(jù)編碼條件(分辨率/下拉(pull down))和輸入視頻材料的類型(運動畫面/視頻、體育/新聞,等),適于將假定為輸入視頻材料的平均編碼難度的一值設(shè)為初始值。在運動畫面材料的情況下,由于通過幀DCT可獲得2-3下拉并能提供壓縮效率,難度的平均值通常大大小于視頻材料的難度平均值。因此,適于將一相對較小的值設(shè)定為初始值。
同時,當(dāng)按照公式(12)和(13)更新Rate_Avg和D_Avg,作為先前GOP的編碼處理結(jié)果時,根據(jù)更新的Rate_Avg和D_Avg,更新用于從編碼難度中求出GOP比特率的轉(zhuǎn)換公式(5)。結(jié)果,如圖7所示,用于從編碼難度中求出GOP比特率的轉(zhuǎn)換公式被更新,從而被校正,以允許在整個目標(biāo)編碼量范圍內(nèi)的編碼。在圖7所示的例子中,由于產(chǎn)生的位量和編碼難度都大大超出平均值,故減小Rate_Avg并增加D_Avg,以使轉(zhuǎn)換公式(5)的斜率更平緩。
在此第三種處理中,當(dāng)求出相對于公式(5)的新的轉(zhuǎn)換公式時,操作操作返回到第一次處理,以確定下一個GOP的目標(biāo)編碼量。
圖8是說明第一到第三種處理的詳細(xì)算法的流程圖。
該流程圖的操作由CPU6執(zhí)行。首先,在步驟S1中,如果視頻數(shù)據(jù)編碼裝置用在授權(quán)系統(tǒng)或存儲系統(tǒng)中,用戶通過未示出的輸入界面設(shè)定編碼條件,比如存儲盤的總的編碼量、視頻材料的長度、最大比特率、最小比特率、輸入視頻材料的類型、和下拉的存在/不存在。在輸入信息的基礎(chǔ)上,在步驟S2,CPU6按照下列公式,從盤的總編碼量Total_Bit和視頻材料的暫存長度Total_Time[秒]中,計算平均比特率Rate_Avg。
Rate_Avg=Total_Bit[bits]/Total_Time[sec]如果視頻數(shù)據(jù)編碼裝置用于數(shù)字廣播等的數(shù)據(jù)傳送系統(tǒng),將事先對于要傳送的視頻節(jié)目所需要的固定比特率設(shè)定為平均比特率Rate_Avg。
然后,在步驟S3,CPU6根據(jù)編碼條件(分辨率/下拉)和輸入視頻材料的類型(運動畫面/視頻、體育/新聞,等),設(shè)定要編碼的源視頻材料的平均編碼難度的估計值D_Avg的初始值。
然后,CPU6開始步驟S4的GOP處理和后續(xù)步驟。在步驟S5,如果判斷為輸出的視頻信號是第一GOP,則CPU6在步驟S17根據(jù)上述公式(1)、(2)和(3),利用從編碼預(yù)處理部分2提供的用于j+N畫面的索引數(shù)據(jù)(AC內(nèi)和ME殘余),求出對應(yīng)于畫面類型的編碼難度Dj至Dj+N。
如果在步驟S5判斷輸入不是第一GOP,則CPU6在步驟S6從上述公式(4)求出參考GOP中的編碼難度的平均值D-。此外,CPU利用此GOP中的編碼難度的平均值D-,從上述公式(5)中求出每個GOP的比特率GOP_Bitrate。到此為止的處理對應(yīng)于第一種處理。
然后,在步驟S7,CPU6利用公式(6)求出分配給參考GOP的目標(biāo)編碼量R。
接下來,CPU6在步驟S8設(shè)定j=0,并開始從步驟S10到S15的幀循環(huán)處理。在步驟S11,CPU6根據(jù)公式(1)、(2)和(3),利用從編碼預(yù)處理部分2提供的索引數(shù)據(jù)(AC內(nèi)和ME殘余),求出j+N畫面的編碼難度。
在步驟S12,CPU6根據(jù)公式(7)和(9),求出對應(yīng)于各個畫面,即I畫面、P畫面和B畫面的目標(biāo)編碼量Tj。具體地說,由公式(6)求出的分配給參考GOP目標(biāo)編碼量R,由設(shè)定給每個畫面類型的加權(quán)系數(shù)K加權(quán),從而將目標(biāo)編碼量分配到各個畫面。此時,當(dāng)在VBV緩沖器中沒有邊緣時,對為各個畫面計算的目標(biāo)編碼量Tj削波。也就是說,當(dāng)目標(biāo)編碼量Tj大于通過從緩沖器剩余量中減去邊緣而獲得的一值時,限制計算的該目標(biāo)編碼量Tj的該值,以防止VBV緩沖器溢出。
然后,在步驟S13,CPU6接收產(chǎn)生的碼量,并將產(chǎn)生的碼量存儲到CPU6中所設(shè)的存儲器中,所述產(chǎn)生的碼量是按照目標(biāo)編碼量Tj由編碼器4產(chǎn)生的。重復(fù)這一系列的處理,直到在步驟S15得到j(luò)=N,從而求出用于一個GOP的產(chǎn)生的碼量。也就是說,執(zhí)行一個GOP的編碼。到此為目的處理對應(yīng)于第二種處理。
接下來,CPU6在步驟S20和S21執(zhí)行對應(yīng)于第三種處理的處理。在步驟S20,類似于步驟S2,CPU6從存儲介質(zhì)的剩余位量Remain_Bit[位]和源視頻材料的非記錄時間Remain_Time[秒],求出在編碼參考GOP中的剩余畫面的過程中的平均比特率Rate_Avg。用于求出平均比特率Rate_Avg的過程,僅在編碼數(shù)據(jù)被記錄到存儲介質(zhì)上時執(zhí)行。
在步驟S21,CPU6按照公式(4),利用在編碼下一個GOP之前計算出的編碼難度Dj,求出對應(yīng)于下一個GOP的編碼難度的新的平均值D-,以便更新編碼難度的新的平均值D-。然后,CPU6根據(jù)更新的編碼難度平均值D-,更新在編碼下一個GOP的過程中的平均編碼難度的估計值D_Avg,如公式(13)所描述的。
這樣,在實際產(chǎn)生的位量作為編碼處理結(jié)果的基礎(chǔ)上,更新平均比特率Rage_Avg和平均編碼難度的估計值D_Avg。通過將這些更新的平均比特率Rage_Avg和平均編碼難度的估計值D_Avg代入公式(5),改變用于從編碼難度求出GOP比特率的轉(zhuǎn)換公式,如圖7所示。結(jié)果,該轉(zhuǎn)換公式被校正,以允許在整個目標(biāo)編碼量的范圍內(nèi)編碼。
然后,操作返回到第一種處理,以確定下一個GOP的目標(biāo)編碼量,直到在步驟S22判斷出編碼處理的終止。
在此流程圖中,編碼難度和比特率之間的關(guān)系描述為如圖6和圖7所示的線性關(guān)系。然而,在此發(fā)明中,編碼難度和比特率之間的關(guān)系不必是線性關(guān)系,還可定義為如圖9所示的具有指數(shù)性平緩斜率的關(guān)系表達(dá)式。
在本發(fā)明的實施例中,為簡化起見,描述以GOP為基礎(chǔ)的事先讀取算法(precedent reading algorithm),用以在編碼處理之前計算(事先讀取)用于一個GOP的編碼難度Dj。然而,不一定要求用于GOP的事先讀取。
如果用于一個GOP的編碼難度不能事先讀取,用于一幀(一個畫面)的事先讀取就足夠了。在第一種處理中,以GOP為基礎(chǔ),根據(jù)編碼難度確定比特率。然而,如果不能使用GOP的事先讀取信息,目標(biāo)編碼量Tj可根據(jù)預(yù)定幀的編碼難度和該幀的目標(biāo)編碼量之間的關(guān)系直接確定。也就是說,同時執(zhí)行第一種處理和第二種處理。
這樣,在用于計算I畫面的編碼難度Dj的算法中,在此例中為每個畫面類型準(zhǔn)備以畫面為基礎(chǔ)的編碼難度和目標(biāo)編碼量之間的關(guān)系表達(dá)形式。圖10A到10C示出其例子。對于I畫面的每個畫面的最大和最小目標(biāo)編碼量,必須設(shè)定成大于其為P畫面和B畫面設(shè)定的最大和最小目標(biāo)編碼量。類似地,必須為每一個畫面類型求出在第三次處理中更新的編碼難度D_Avg和平均目標(biāo)編碼量Avg Bits。
圖10A是說明用于I畫面的編碼難度和目標(biāo)編碼量之間的關(guān)系的曲線圖。圖10B是說明用于P畫面的編碼難度和目標(biāo)編碼量之間的關(guān)系的曲線圖。圖10C是說明用于B畫面的編碼難度和目標(biāo)編碼量之間的關(guān)系的曲線圖。
在至此為止的描述中,即便當(dāng)產(chǎn)生的碼量相對于目標(biāo)編碼量在畫面基礎(chǔ)上或GOP基礎(chǔ)上產(chǎn)生差異時,該差異也不立即反饋,而是通過更新剩余平均比特率的形式適當(dāng)反饋。這在進(jìn)行相對長時間的編碼、以跟隨目標(biāo)量的應(yīng)用中是足夠的,如在授權(quán)系統(tǒng)或存儲系統(tǒng)中。
然而,當(dāng)視頻數(shù)據(jù)編碼裝置應(yīng)用于數(shù)字廣播等的傳送系統(tǒng)時,目標(biāo)編碼量和產(chǎn)生的碼量必須在短時間內(nèi)根據(jù)應(yīng)用相互接近。在這種情況下,可以實現(xiàn)將分配給一個畫面的位量R和產(chǎn)生的碼量Sj之間的差異主動反饋,如在TM5系統(tǒng)中那樣。也就是說,每次完成一個畫面的編碼處理,分配給下一個畫面的位量R就由下列公式表示。
R=R-Sj簡言之,分配給下一個畫面的位量R具有一值,該值是通過從分配給先前畫面的位量R中減去在編碼先前畫面過程中產(chǎn)生的位量Sj而獲得的。
可以計算公式(7)到(9)的分母,以求出GOP中剩余畫面的編碼難度的和。此外,通過將完成GOP的編碼時分配給畫面的位量R的值,加到分配給下一個GOP的位量R,所述的差異可反饋給下一個GOP。
雖然描述了如公式(13)的加權(quán)平均(ⅡR濾波器)的例子,作為求出輸入視頻材料的平均編碼難度的預(yù)測值D_Avg的方法,但可考慮多種其它方法。在下面的例子中,使用編碼難度的實際測量值的平均值。
假定在某個時間點完成從編碼開始事先讀取L畫面的編碼難度,由下列公式表示可使用的實際平均值。D_Avg=Σi=1LDiL------(14)]]>公式(14)假定過去測量的編碼難度的平均值可類似用于從現(xiàn)在起要輸入的材料。
在此情況下,有一個優(yōu)點是,長時間的編碼產(chǎn)生與準(zhǔn)確平均值接近的一值,而其缺點是,該平均值在編碼開始后立即過度受到輸入材料的影響。此外,如果編碼持續(xù)較長時間,L變得太大,并增加了計算量和存儲量。
作為本發(fā)明的一特定應(yīng)用例子,包括單路固定速率(one-pass fixed rate)。具體地講,單路固定速率可簡單地通過將在本發(fā)明的第一種處理中確定的每個GOP的比特率固定地設(shè)定為一固定值而實現(xiàn)。
在上述實施例中,根據(jù)前饋速率控制系統(tǒng),使統(tǒng)計計算的索引數(shù)據(jù),即ME殘余、平面性、AC內(nèi)和活動性,與CPU6的編碼難度接近。這些所用數(shù)據(jù)和編碼難度有強相關(guān)性。然而,有一些誤差取決于視頻數(shù)據(jù)的圖形。
因此,通過根據(jù)視頻數(shù)據(jù)的圖形,適應(yīng)性地調(diào)整公式(1)、(2)和(3)中的加權(quán)系數(shù)aI、aP、aB,可以從索引數(shù)據(jù)中以高精確性求出編碼難度。這樣,可產(chǎn)生高質(zhì)量的壓縮視頻數(shù)據(jù)。
下面將描述用于適應(yīng)性地更新加權(quán)系數(shù)aI、aP、aB的處理。
圖2中的視頻編碼裝置的編碼器4每次完成一個畫面的壓縮編碼,CPU6都了解為所產(chǎn)生的壓縮視頻數(shù)據(jù)的一個畫面產(chǎn)生的碼量,并計算壓縮編碼時的量化值Qj的平均值和總的復(fù)雜性,下面將對其進(jìn)行描述。
總的復(fù)雜性是指示視頻圖形的復(fù)雜性的數(shù)據(jù),并且被定義為通過將MPEG TM5系統(tǒng)中的壓縮視頻數(shù)據(jù)所產(chǎn)生的碼量(數(shù)據(jù)量)和量化值Qj相乘而獲得的值,如下列公式(15)和(17)所表示的。
XI=SI×QI(15)XP=SP×QP(16)XB=SB×QB(17)在公式(15)至(17)中,XI、XP、XB分別表示I畫面、P畫面和B畫面的總的復(fù)雜性,而SI、SP、SB分別表示在編碼I畫面、P畫面和B畫面的過程中產(chǎn)生的碼量。QI、QP、QB分別表示在產(chǎn)生I畫面、P畫面和B畫面的過程中的量化值Qj的平均值。
由公式(15)至(17)表示的總的復(fù)雜性X不必與編碼難度一致。然而,它基本上與編碼難度一致,除非量化值Qj的平均值相當(dāng)大或相當(dāng)小。
假定I畫面、P畫面和B畫面的索引數(shù)據(jù),比如AC內(nèi)(或其它參數(shù))和ME殘余,與總的復(fù)雜性成比例,可由下列公式(18)到(20)計算索引數(shù)據(jù)和總的復(fù)雜性之間的比例系數(shù)εI、εP、εB。
在編碼具有I畫面的畫面類型的畫面過程中的比例系數(shù)εI由下列公式表示。ϵIj=XIIntra_AC--------(18)]]>在編碼具有P畫面的畫面類型的畫面過程中的比例系數(shù)εP由下列公式表示。ϵPj=XPME_resid-------(19)]]>在編碼具有B畫面的畫面類型的畫面過程中的比例系數(shù)εB由下列公式表示。ϵBj=XBME_resid------(20)]]>利用由公式(18)至(20)計算出的比例系數(shù)εI、εP、εB,如公式(21)至(23)所表示的那樣計算對應(yīng)于各個畫面的編碼難度。
在編碼具有I畫面的畫面類型的畫面過程中的編碼難度DIj由下列公式表示。
DIj=εIj×intra_ACj(21)在編碼具有P畫面的畫面類型的畫面過程中的編碼難度DPj由下列公式表示。
DPj=εPj×ME_residj(22)
在編碼具有I畫面的畫面類型的畫面過程中的編碼難度DBj由下列公式表示。
DBj=εBj×ME_residj(23)如公式(21)到(23)所示的,編碼器4每次壓縮編碼一個畫面,CPU6都更新比例系數(shù)εI、εP、εB,從而求出對應(yīng)于每個畫面類型的優(yōu)化編碼難度D。也就是說,利用總的復(fù)雜性,可不斷求出優(yōu)化近似的編碼難度。
CPU6相對于根據(jù)公式(21)到(23)計算出的編碼難度,執(zhí)行圖8的流程圖的算法的算術(shù)處理,從而計算目標(biāo)編碼量Tj。
下面將描述用于從使用總的復(fù)雜性求出的編碼難度中計算目標(biāo)編碼量、然后根據(jù)該目標(biāo)編碼量確定產(chǎn)生的碼量的視頻數(shù)據(jù)編碼裝置的操作。
圖2的編碼預(yù)處理部分以編碼次序重排輸入的視頻數(shù)據(jù),然后進(jìn)行視頻場的轉(zhuǎn)換,并從第(j+N)個畫面中計算要壓縮編碼給I畫面的諸如平面性和AC內(nèi)等的統(tǒng)計量。
運動檢測電路5產(chǎn)生對于要壓縮編碼給P畫面和B畫面的第(j+N)個畫面的運動矢量,并計算ME殘余。FIFO3將輸入的視頻信號延遲N個畫面的量。
對于具有P畫面或B畫面的畫面類型的畫面,CPU6利用運動檢測電路5產(chǎn)生的ME殘余執(zhí)行公式(22)或(23)的算術(shù)處理,以便計算編碼難度。對于具有I畫面的畫面類型的畫面,CPU6執(zhí)行公式(21)的算術(shù)處理,以便求出編碼難度。
此外,CPU6根據(jù)圖8的算法,從為每個畫面求出的編碼難度中計算目標(biāo)編碼量Tj,并將該目標(biāo)編碼量Tj設(shè)定給編碼器4的圖3所示的量化控制電路18。
編碼器4的DCT電路16執(zhí)行延遲后視頻數(shù)據(jù)的第j個畫面的DCT處理。
量化電路17利用由量化控制電路18根據(jù)目標(biāo)編碼量Tj調(diào)整的量化值Qj,量化從DCT電路16輸入的第j個畫面的頻域的數(shù)據(jù),并計算用于壓縮編碼第j個畫面的量化值Qj的平均值。然后,量化電路17輸出該平均值給CPU6。
可變長度編碼電路19對從量化電路17輸入的第j個量化數(shù)據(jù)執(zhí)行可變長度編碼,從而產(chǎn)生基本接近于目標(biāo)編碼量Tj的數(shù)據(jù)量的壓縮視頻數(shù)據(jù)。然后,可變長度編碼電路19通過緩沖存儲器20輸出壓縮的視頻數(shù)據(jù)。
當(dāng)編碼器4完成第j個畫面的壓縮編碼時,CPU6根據(jù)量化值Qj的平均值,對從量化控制電路18輸入的第j個畫面,計算由公式(15)至(17)所表示的總的復(fù)雜性,和壓縮編碼第j個畫面的數(shù)據(jù)量。
此外,CPU6利用計算出的總的復(fù)雜性,更新由公式(18)至(20)所表示的比例系數(shù)εI、εP、εB。更新的比例系數(shù)εI、εP、εB反映在壓縮編碼下一個畫面的轉(zhuǎn)換公式中。
同時,雖然圖2的視頻數(shù)據(jù)編碼裝置具有將CPU內(nèi)置的結(jié)構(gòu),但也可以從外部提供外部計算機30,如圖11所示。在這種情況下,編碼條件從外部計算機30提供。編碼器4的產(chǎn)生的碼量通過CPU6通知給外部計算機30?;蛘撸梢詢H讓外部計算機30代替CPU6起作用,如圖12所示。
諸如DVD的記錄介質(zhì)通過有效利用有限的位量可以提供很好的畫面質(zhì)量,在該DVD上記錄有通過視頻數(shù)據(jù)編碼裝置和方法得到的編碼數(shù)據(jù)。
此外,在用于傳送通過編碼方法得到的編碼數(shù)據(jù)的視頻數(shù)據(jù)傳送方法中,根據(jù)以指示輸入視頻信號的特征的索引數(shù)據(jù)為基礎(chǔ)而計算出的目標(biāo)編碼量,在編碼處理之后進(jìn)行數(shù)據(jù)發(fā)送。這樣,可以實時傳送畫面質(zhì)量良好的壓縮編碼數(shù)據(jù)。
如上所述,在根據(jù)本發(fā)明的視頻數(shù)據(jù)編碼裝置和方法中,CPU6從要編碼的源視頻數(shù)據(jù)本身計算指示在編碼源視頻數(shù)據(jù)過程中的編碼難度的編碼難度Dj,并根據(jù)計算出的編碼難度,計算用在編碼要編碼的源視頻數(shù)據(jù)過程中的目標(biāo)編碼量Tj。然后,CPU6以前饋方式將計算出的目標(biāo)編碼量Tj提供給編碼器4,從而允許基于目標(biāo)編碼量的編碼,和視頻數(shù)據(jù)的實時編碼,所述目標(biāo)編碼量對應(yīng)于要編碼的源視頻數(shù)據(jù)的圖形。
此外,在根據(jù)本發(fā)明的視頻數(shù)據(jù)編碼裝置中,由于利用從要編碼的源視頻數(shù)據(jù)中求出的AC內(nèi)和ME殘余,來近似計算每個畫面類型的編碼難度,因此可以在實際編碼要編碼的視頻數(shù)據(jù)之前得到編碼難度。因此,可實現(xiàn)實時編碼處理。
此外,在根據(jù)本發(fā)明的視頻數(shù)據(jù)編碼裝置中,如果要編碼的視頻數(shù)據(jù)的畫面類型是I畫面,則編碼難度從AC內(nèi)計算,而如果要編碼的視頻數(shù)據(jù)的畫面類型是P畫面或B畫面,則編碼難度從ME殘余計算。這樣,就能夠以高精度計算出與畫面類型相應(yīng)的編碼難度。
此外,在根據(jù)本發(fā)明的視頻數(shù)據(jù)編碼裝置中,由于用于從計算出的編碼難度中計算目標(biāo)編碼量的轉(zhuǎn)換公式,不斷地基于實際產(chǎn)生的編碼量(該實際產(chǎn)生的編碼量是作為編碼裝置進(jìn)行的過去的編碼處理的結(jié)果)被校正,因此,可以設(shè)定適于改變視頻數(shù)據(jù)圖形的目標(biāo)編碼量和相應(yīng)于存儲介質(zhì)的剩余記錄量的目標(biāo)編碼量。此外,作為用于從編碼難度中計算目標(biāo)編碼量的轉(zhuǎn)換公式,根據(jù)要編碼的視頻數(shù)據(jù)的畫面類型,設(shè)定不同的轉(zhuǎn)換公式。因此,不僅可以計算基于GOP的編碼難度,而且可以計算基于畫面的優(yōu)化編碼難度。
此外,在根據(jù)本發(fā)明的視頻數(shù)據(jù)編碼裝置中,由于用于計算編碼難度的運算表達(dá)式,不斷地根據(jù)從編碼裝置在編碼處理中產(chǎn)生的碼量中求出的總的復(fù)雜性和量化值而更新,因而能夠以高精度檢測對應(yīng)于視頻數(shù)據(jù)圖形的編碼難度。
此外,在根據(jù)本發(fā)明的視頻數(shù)據(jù)編碼裝置中,CPU6對包含在作為編碼裝置的編碼處理目標(biāo)的參考GOP中的多個畫面中的每一個畫面,計算編碼難度,并從編碼難度計算裝置計算出的多個編碼難度中,計算分配給參考GOP的目標(biāo)編碼量。然后,CPU6根據(jù)畫面類型,將分配給參考GOP的目標(biāo)編碼量,分配到包括在參考GOP中的每一個畫面,以便計算對應(yīng)于包括在參考GOP中的每一個畫面的目標(biāo)編碼量。因此,在GOP內(nèi),對應(yīng)于畫面類型的不同的目標(biāo)編碼量可分配給各個畫面,同時保持指定給GOP的平均編碼量。
權(quán)利要求
1.一種視頻數(shù)據(jù)編碼裝置,用于編碼提供到其中的輸入視頻數(shù)據(jù),所述視頻數(shù)據(jù)編碼裝置包括目標(biāo)編碼量計算裝置,根據(jù)指示所述輸入視頻數(shù)據(jù)的特征的索引數(shù)據(jù),計算要分配給所述輸入視頻數(shù)據(jù)的目標(biāo)編碼量;延遲裝置,將所述輸入視頻數(shù)據(jù)延遲一預(yù)時間段;和編碼處理裝置,根據(jù)所述目標(biāo)編碼量,對由所述延遲裝置延遲的所述輸入視頻數(shù)據(jù)執(zhí)行編碼處理。
2.如權(quán)利要求1所述的視頻數(shù)據(jù)編碼裝置,其中所述目標(biāo)編碼量計算裝置從所述索引數(shù)據(jù)中,求出指示編碼時的難度的編碼難度,并根據(jù)該編碼難度,計算要分配給所述視頻數(shù)據(jù)的目標(biāo)編碼量。
3.如權(quán)利要求2所述的視頻數(shù)據(jù)編碼裝置,其中所述目標(biāo)編碼量計算裝置根據(jù)已經(jīng)收集的編碼難度和由所述編碼處理裝置產(chǎn)生的編碼量,在任何時候,都更新基于所述編碼難度的所述目標(biāo)編碼量的對應(yīng)關(guān)系。
4.如權(quán)利要求2所述的視頻數(shù)據(jù)編碼裝置,其中所述編碼處理裝置對每一個畫面編碼組編碼輸入的視頻數(shù)據(jù),所述畫面組包括預(yù)定數(shù)量的幀內(nèi)畫面、預(yù)測畫面和雙向預(yù)測畫面,并且,其中所述目標(biāo)編碼量計算裝置對每一個畫面編碼組事先讀取編碼難度,并根據(jù)該編碼難度,利用所述目標(biāo)編碼量的對應(yīng)關(guān)系,確定對每一個畫面編碼組的目標(biāo)編碼量。
5.如權(quán)利要求4所述的視頻數(shù)據(jù)編碼裝置,其中所述目標(biāo)編碼量計算裝置根據(jù)每一個編碼畫面的編碼難度的比例,為每一個畫面編碼組分配目標(biāo)編碼量,并對每一個編碼畫面確定目標(biāo)編碼量。
6.如權(quán)利要求3所述的視頻數(shù)據(jù)編碼裝置,其中所述目標(biāo)編碼量計算裝置定義所述編碼難度和所述目標(biāo)編碼量之間的對應(yīng)關(guān)系,作為由事先指定的最小/最大比特率、從記錄容量中計算的平均比特率和剩余時間值、以及輸入材料即輸入視頻數(shù)據(jù)的編碼難度的平均值,所確定的對應(yīng)關(guān)系,并在任何時候都更新平均比特率和編碼難度的平均值這兩個值或其中的一個值。
7.如權(quán)利要求6所述的視頻數(shù)據(jù)編碼裝置,其中所述目標(biāo)編碼量計算裝置根據(jù)材料類型、分辨率和下拉的存在/不存在,改變所述輸入視頻材料的編碼難度的平均值的初始值。
8.如權(quán)利要求6所述的視頻數(shù)據(jù)編碼裝置,其中,當(dāng)實際得到所述編碼難度時,所述目標(biāo)編碼量計算裝置在任何時候都通過平均實際得到的編碼難度的值和先前的平均值,更新所述輸入視頻材料的編碼難度的平均值。
9.如權(quán)利要求2所述的視頻數(shù)據(jù)編碼裝置,其中所述目標(biāo)編碼量計算裝置利用所述編碼難度和所述目標(biāo)編碼量之間的所述對應(yīng)關(guān)系,根據(jù)所述索引數(shù)據(jù),從事先讀取的一個幀的編碼難度中,計算該幀的目標(biāo)編碼量。
10.如權(quán)利要求9所述的視頻數(shù)據(jù)編碼裝置,其中所述目標(biāo)編碼量計算裝置對于每一個幀內(nèi)畫面、預(yù)測畫面和雙向預(yù)測畫面,準(zhǔn)備一個幀的所述編碼難度和所述目標(biāo)編碼量之間的所述對應(yīng)關(guān)系,并對每一畫面計算目標(biāo)編碼量。
11.如權(quán)利要求1所述的視頻數(shù)據(jù)編碼裝置,其中所述索引數(shù)據(jù)由索引數(shù)據(jù)計算裝置計算。
12.如權(quán)利要求11所述的視頻數(shù)據(jù)編碼裝置,其中所述索引數(shù)據(jù)計算裝置包括統(tǒng)計量計算裝置,用于對要壓縮編碼為幀內(nèi)畫面的畫面,計算諸如平面性、AC內(nèi)數(shù)據(jù)或活動性的統(tǒng)計量;和ME殘余檢測裝置,用于檢測ME殘余,作為用于要壓縮編碼為預(yù)測畫面和雙向預(yù)測畫面的畫面的運動預(yù)測的預(yù)測誤差量。
13.一種視頻數(shù)據(jù)編碼方法,用于編碼輸入視頻數(shù)據(jù),所述方法包括目標(biāo)編碼量計算步驟,根據(jù)指示所述輸入視頻數(shù)據(jù)的特征的索引數(shù)據(jù),計算要分配給所述輸入視頻數(shù)據(jù)的目標(biāo)編碼量;延遲步驟,將所述輸入視頻數(shù)據(jù)延遲一預(yù)時間段;和編碼處理裝置,根據(jù)所述目標(biāo)編碼量,對在所述延遲步驟中延遲的所述輸入視頻數(shù)據(jù)執(zhí)行編碼處理。
14.如權(quán)利要求13所述的視頻數(shù)據(jù)編碼方法,其中,在所述目標(biāo)編碼量計算步驟中,從所述索引數(shù)據(jù)中,求出指示編碼時的難度的編碼難度,并且其中,根據(jù)該編碼難度,計算要分配給所述視頻數(shù)據(jù)的目標(biāo)編碼量。
15.如權(quán)利要求14所述的視頻數(shù)據(jù)編碼方法,其中,在所述目標(biāo)編碼量計算步驟中,根據(jù)已經(jīng)收集的編碼難度和在所述編碼處理步驟中產(chǎn)生的編碼量,在任何時候,都更新基于所述編碼難度的所述目標(biāo)編碼量的對應(yīng)關(guān)系。
16.如權(quán)利要求14所述的視頻數(shù)據(jù)編碼方法,其中,在所述編碼處理步驟中,對每一個畫面編碼組編碼輸入的視頻數(shù)據(jù),所述畫面編碼組包括預(yù)定數(shù)量的幀內(nèi)畫面、預(yù)測畫面和雙向預(yù)測畫面,并且其中,在所述目標(biāo)編碼量計算步驟中,對每一個畫面編碼組事先讀取編碼難度,并根據(jù)該編碼難度,利用所述目標(biāo)編碼量的對應(yīng)關(guān)系,確定對每一個畫面編碼組的目標(biāo)編碼量。
17.如權(quán)利要求16所述的視頻數(shù)據(jù)編碼方法,其中,在所述目標(biāo)編碼量計算步驟中,根據(jù)每一個編碼畫面的編碼難度的比例,為每一個畫面編碼組分配目標(biāo)編碼量,從而對每一個編碼畫面確定目標(biāo)編碼量。
18.如權(quán)利要求15所述的視頻數(shù)據(jù)編碼方法,其中,在所述目標(biāo)編碼量計算步驟中,定義所述編碼難度和所述目標(biāo)編碼量之間的對應(yīng)關(guān)系,作為由事先指定的最小/最大比特率、從記錄容量中計算的平均比特率和剩余時間值、以及輸入材料即輸入視頻數(shù)據(jù)的編碼難度的平均值,所確定的對應(yīng)關(guān)系,從而在任何時候都更新平均比特率和編碼難度的平均值這兩個值或其中的一個值。
19.如權(quán)利要求18所述的視頻數(shù)據(jù)編碼方法,其中,在所述目標(biāo)編碼量計算步驟中,根據(jù)材料類型、分辨率和下拉的存在/不存在,改變所述輸入視頻材料的編碼難度的平均值的初始值。
20.如權(quán)利要求18所述的視頻數(shù)據(jù)編碼方法,其中,在所述目標(biāo)編碼量計算步驟中,當(dāng)實際得到所述編碼難度時,在任何時候都通過平均實際得到的編碼難度的值和先前的平均值,更新所述輸入視頻材料的編碼難度的平均值。
21.如權(quán)利要求14所述的視頻數(shù)據(jù)編碼方法,其中,在所述目標(biāo)編碼量計算步驟中,利用所述編碼難度和所述目標(biāo)編碼量之間的所述對應(yīng)關(guān)系,根據(jù)所述索引數(shù)據(jù),從事先讀取的一個幀的編碼難度中,計算該幀的目標(biāo)編碼量。
22.如權(quán)利要求21所述的視頻數(shù)據(jù)編碼方法,其中,在所述目標(biāo)編碼量計算步驟中,對于每一個幀內(nèi)畫面、預(yù)測畫面和雙向預(yù)測畫面,準(zhǔn)備一個幀的所述編碼難度和所述目標(biāo)編碼量之間的所述對應(yīng)關(guān)系,從而對每一畫面計算目標(biāo)編碼量。
23.如權(quán)利要求13所述的視頻數(shù)據(jù)編碼方法,其中,將平面性、AC內(nèi)和活動性或者它們的結(jié)合用作索引數(shù)據(jù),用于要壓縮編碼為幀內(nèi)畫面的畫面,并且,其中,ME殘余作為運動預(yù)測的預(yù)測誤差量用作索引數(shù)據(jù),用于要壓縮編碼為預(yù)測畫面和雙向預(yù)測畫面的畫面。
24.一種視頻數(shù)據(jù)編碼裝置,用于編碼源視頻數(shù)據(jù),所述視頻數(shù)據(jù)編碼裝置包括編碼難度計算裝置,用于從要編碼的源視頻數(shù)據(jù)本身,計算指示在編碼源視頻數(shù)據(jù)的過程中的編碼難度的編碼難度;目標(biāo)編碼量計算裝置,用于根據(jù)計算出的編碼難度,計算用在編碼要編碼的源視頻數(shù)據(jù)的過程中的目標(biāo)編碼量;和編碼裝置,用于通過將所述目標(biāo)編碼量計算裝置計算出的目標(biāo)編碼量向前饋送,根據(jù)與要編碼的源視頻數(shù)據(jù)相應(yīng)的目標(biāo)編碼量,實時編碼要編碼的源視頻數(shù)據(jù)。
25.如權(quán)利要求24所述的視頻數(shù)據(jù)編碼裝置,其中所述編碼難度計算裝置根據(jù)從要編碼的源視頻數(shù)據(jù)中求出的統(tǒng)計量,計算編碼難度。
26.如權(quán)利要求24所述的視頻數(shù)據(jù)編碼裝置,其中所述編碼難度計算裝置使用從要編碼的源視頻數(shù)據(jù)中求出的AC內(nèi)或ME殘余,對每個畫面類型計算編碼難度。
27.如權(quán)利要求26所述的視頻數(shù)據(jù)編碼裝置,其中所述編碼難度計算裝置在要編碼的視頻數(shù)據(jù)的畫面類型是I畫面的情況下,從AC內(nèi)計算編碼難度,而在要編碼的視頻數(shù)據(jù)的畫面類型是P畫面或B畫面的情況下,從ME殘余中計算編碼難度。
28.如權(quán)利要求24所述的視頻數(shù)據(jù)編碼裝置,其中所述目標(biāo)編碼量計算裝置使用用于從所述編碼難度計算裝置計算出的編碼難度中計算目標(biāo)編碼量的一轉(zhuǎn)換公式,從所述編碼難度中計算所述目標(biāo)編碼量,并通過根據(jù)作為所述編碼裝置的編碼處理的結(jié)果而產(chǎn)生的編碼量校正所述轉(zhuǎn)換公式,校正所計算出的目標(biāo)編碼量的值。
29.如權(quán)利要求28所述的視頻數(shù)據(jù)編碼裝置,其中,作為用于從所述編碼難度中計算所述目標(biāo)編碼量的所述轉(zhuǎn)換公式,可以根據(jù)要編碼的視頻數(shù)據(jù)的畫面類型設(shè)定不同的轉(zhuǎn)換公式。
30.如權(quán)利要求29所述的視頻數(shù)據(jù)編碼裝置,其中,用于從所述編碼難度中計算所述目標(biāo)編碼量的所述轉(zhuǎn)換公式,是根據(jù)每個編碼單元周期的平均復(fù)雜性和每個編碼單元周期的目標(biāo)編碼量而確定的,并且其中,通過改變所述每個編碼單元周期的所述平均復(fù)雜性的值,校正用于從所述編碼難度中計算所述目標(biāo)編碼量的所述轉(zhuǎn)換公式。
31.如權(quán)利要求24所述的視頻數(shù)據(jù)編碼裝置,其中所述編碼難度計算裝置在任何時候都更新一運算表達(dá)式,該運算表達(dá)式用于根據(jù)所述編碼裝置進(jìn)行的編碼處理的編碼結(jié)果計算所述編碼難度。
32.如權(quán)利要求24所述的視頻數(shù)據(jù)編碼裝置,其中所述編碼難度計算裝置在任何時候都更新一運算表達(dá)式,該運算表達(dá)式用于根據(jù)從所產(chǎn)生的編碼量中求出的總的復(fù)雜性和由所述編碼裝置進(jìn)行的編碼處理的量化值,計算所述編碼難度。
33.如權(quán)利要求24所述的視頻數(shù)據(jù)編碼裝置,其中目標(biāo)編碼量計算裝置根據(jù)多個不同的轉(zhuǎn)換公式,從由所述編碼難度計算裝置計算出的編碼難度中,計算作為編碼處理目標(biāo)分配給一參考畫面的目標(biāo)編碼量,所述多個不同的轉(zhuǎn)換公式是用于從所述編碼難度中計算所述目標(biāo)編碼量的公式,并且被設(shè)定給相應(yīng)的畫面類型。
34.如權(quán)利要求33所述的視頻數(shù)據(jù)編碼裝置,其中,在設(shè)定給相應(yīng)的畫面類型的所述多個轉(zhuǎn)換公式中,對相應(yīng)的畫面設(shè)定不同的最大值,用于限制所述目標(biāo)編碼量的上限。
35.如權(quán)利要求24所述的視頻數(shù)據(jù)編碼裝置,其中所述編碼難度計算裝置對包含在所述編碼裝置的一個編碼單元周期中的多個畫面中的每一個畫面,計算所述編碼難度,和其中所述目標(biāo)編碼量計算裝置從所述編碼難度計算裝置計算出的多個編碼難度中,計算分配給所述編碼單元周期的目標(biāo)編碼量,并通過將分配給所述編碼單元周期的目標(biāo)編碼量分配給包含在所述編碼單元周期中的每一個畫面,根據(jù)畫面類型計算對應(yīng)于各個畫面的目標(biāo)編碼量。
36.如權(quán)利要求24所述的視頻數(shù)據(jù)編碼裝置,其中所述編碼難度計算裝置對包含在一個參考GOP中的多個畫面中的每一個,計算編碼難度,所述參考GOP作為編碼裝置進(jìn)行的編碼處理的目標(biāo),并且其中,所述目標(biāo)編碼量計算裝置從所述編碼難度計算裝置計算出的多個編碼難度中,計算分配給所述參考GOP的目標(biāo)編碼量,并通過將分配給所述參考GOP的所述目標(biāo)編碼量分配給包含在所述參考GOP中的每一個畫面,計算對應(yīng)于包含在所述參考GOP中的每一個畫面的目標(biāo)編碼量。
37.如權(quán)利要求24所述的視頻數(shù)據(jù)編碼裝置,其中所述編碼難度計算裝置對包含在一個參考GOP中的多個畫面中的每一個,計算編碼難度,所述參考GOP作為編碼裝置進(jìn)行的編碼處理的目標(biāo),并且其中,所述目標(biāo)編碼量計算裝置從所述編碼難度計算裝置計算出的多個編碼難度中,計算在所述參考GOP中的編碼難度的平均值,然后從所計算出的編碼難度的平均值中,計算分配給所述GOP的目標(biāo)編碼量,并通過將分配給所述參考GOP的所述目標(biāo)編碼量分配給包含在所述GOP中的每一個畫面,計算對應(yīng)于每一個畫面的目標(biāo)編碼量。
38.一種視頻數(shù)據(jù)編碼裝置,用于編碼源視頻數(shù)據(jù),所述視頻數(shù)據(jù)編碼裝置包括編碼難度計算裝置,用于計算指示在編碼源視頻數(shù)據(jù)的過程中的編碼難度的編碼難度;目標(biāo)編碼量計算裝置,用于在任何時候,根據(jù)在過去的編碼處理中產(chǎn)生的編碼量,更新一運算表達(dá)式,并根據(jù)該更新的運算表達(dá)式,從所述編碼難度中計算目標(biāo)編碼量,該運算表達(dá)式用于從計算出的編碼難度中計算用在編碼源視頻數(shù)據(jù)的過程中的目標(biāo)編碼量;和編碼裝置,用于通過將所述目標(biāo)編碼量計算裝置計算出的目標(biāo)編碼量向前饋送,根據(jù)與要編碼的源視頻數(shù)據(jù)相應(yīng)的目標(biāo)編碼量,實時編碼要編碼的源視頻數(shù)據(jù)。
39.一種視頻數(shù)據(jù)編碼裝置,用于編碼源視頻數(shù)據(jù),所述視頻數(shù)據(jù)編碼裝置包括編碼難度計算裝置,用于根據(jù)在過去的編碼處理中實際產(chǎn)生的編碼量,更新一運算表達(dá)式,并根據(jù)更新的運算表達(dá)式計算編碼難度,所述運算表達(dá)式用于計算指示在編碼源視頻數(shù)據(jù)的過程中的編碼難度的編碼難度;目標(biāo)編碼量計算裝置,用于根據(jù)所計算出的編碼難度,計算用在編碼要編碼的源視頻數(shù)據(jù)的過程中的目標(biāo)編碼量;和編碼裝置,用于通過將所述目標(biāo)編碼量計算裝置計算出的目標(biāo)編碼量向前饋送,根據(jù)與要編碼的源視頻數(shù)據(jù)相應(yīng)的目標(biāo)編碼量,實時編碼要編碼的源視頻數(shù)據(jù)。
40.一種視頻數(shù)據(jù)編碼裝置,用于編碼源視頻數(shù)據(jù),所述視頻數(shù)據(jù)編碼裝置包括編碼難度計算裝置,用于根據(jù)在過去的編碼處理中實際產(chǎn)生的編碼量,更新一運算表達(dá)式,并根據(jù)更新的運算表達(dá)式計算編碼難度,所述運算表達(dá)式用于計算指示在編碼源視頻數(shù)據(jù)的過程中的編碼難度的編碼難度;目標(biāo)編碼量計算裝置,用于在任何時候,根據(jù)在過去的編碼處理中產(chǎn)生的編碼量,更新一運算表達(dá)式,并根據(jù)該更新的運算表達(dá)式,從所述編碼難度中計算目標(biāo)編碼量,該運算表達(dá)式用于從計算出的編碼難度中計算用在編碼源視頻數(shù)據(jù)的過程中的目標(biāo)編碼量;和編碼裝置,用于通過將所述目標(biāo)編碼量計算裝置計算出的目標(biāo)編碼量向前饋送,根據(jù)與要編碼的源視頻數(shù)據(jù)相應(yīng)的目標(biāo)編碼量,實時編碼要編碼的源視頻數(shù)據(jù)。
41.一種視頻數(shù)據(jù)編碼方法,用于編碼源視頻數(shù)據(jù),所述方法包括下列步驟從要編碼的視頻數(shù)據(jù)本身計算指示在編碼源視頻數(shù)據(jù)的過程中的編碼難度的編碼難度,并根據(jù)計算出的編碼難度,計算用在編碼要編碼的源視頻數(shù)據(jù)的過程中的目標(biāo)編碼量;和將所計算出的目標(biāo)編碼量向前饋送,從而根據(jù)與要編碼的源視頻數(shù)據(jù)相應(yīng)的目標(biāo)編碼量,實時編碼要編碼的源視頻數(shù)據(jù)。
42.一種視頻數(shù)據(jù)編碼方法,用于編碼源視頻數(shù)據(jù),所述方法包括下列步驟計算指示在編碼源視頻數(shù)據(jù)的過程中的編碼難度的編碼難度;在任何時候,根據(jù)在過去的編碼處理中產(chǎn)生的編碼量,更新一運算表達(dá)式,并根據(jù)該更新的運算表達(dá)式,從所述編碼難度中計算目標(biāo)編碼量,該運算表達(dá)式用于從計算出的編碼難度中計算用在編碼源視頻數(shù)據(jù)的過程中的目標(biāo)編碼量;和將所計算出的目標(biāo)編碼量向前饋送,從而根據(jù)與要編碼的源視頻數(shù)據(jù)相應(yīng)的目標(biāo)編碼量,實時編碼要編碼的源視頻數(shù)據(jù)。
43.一種視頻數(shù)據(jù)編碼方法,用于編碼源視頻數(shù)據(jù),所述方法包括下列步驟根據(jù)在過去的編碼處理中實際產(chǎn)生的編碼量,更新一運算表達(dá)式,并根據(jù)更新的運算表達(dá)式計算編碼難度,該運算表達(dá)式用于計算指示在編碼源視頻數(shù)據(jù)的過程中的編碼難度的編碼難度;根據(jù)所計算出的編碼難度,計算用在編碼要編碼的源視頻數(shù)據(jù)的過程中的目標(biāo)編碼量;和將所計算出的目標(biāo)編碼量向前饋送,從而根據(jù)與要編碼的源視頻數(shù)據(jù)相應(yīng)的目標(biāo)編碼量,實時編碼要編碼的源視頻數(shù)據(jù)。
44.一種視頻數(shù)據(jù)編碼方法,用于編碼源視頻數(shù)據(jù),所述方法包括下列步驟根據(jù)在過去的編碼處理中實際產(chǎn)生的編碼量,更新一運算表達(dá)式,并根據(jù)更新的運算表達(dá)式計算編碼難度,該運算表達(dá)式用于計算指示在編碼源視頻數(shù)據(jù)的過程中的編碼難度的編碼難度;在任何時候,根據(jù)在過去的編碼處理中產(chǎn)生的編碼量,更新一運算表達(dá)式,并根據(jù)該更新的運算表達(dá)式,從所述編碼難度中計算目標(biāo)編碼量,該運算表達(dá)式用于從計算出的編碼難度中計算用在編碼源視頻數(shù)據(jù)的過程中的目標(biāo)編碼量;和將所計算出的目標(biāo)編碼量向前饋送,從而根據(jù)與要編碼的源視頻數(shù)據(jù)相應(yīng)的目標(biāo)編碼量,實時編碼要編碼的源視頻數(shù)據(jù)。
45.一種視頻數(shù)據(jù)傳送裝置,用于編碼源視頻數(shù)據(jù),并傳送所編碼的視頻數(shù)據(jù),所述視頻數(shù)據(jù)傳送裝置包括編碼難度計算裝置,計算指示在編碼源視頻數(shù)據(jù)的過程中的編碼難度的編碼難度;目標(biāo)編碼量計算裝置,在任何時候,根據(jù)在過去的編碼處理中產(chǎn)生的編碼量,更新一運算表達(dá)式,并根據(jù)更新的轉(zhuǎn)換公式,從編碼難度中計算目標(biāo)編碼量,該運算表達(dá)式用于從計算的編碼難度中計算用在編碼源視頻數(shù)據(jù)的過程中的目標(biāo)編碼量;編碼裝置,用于將所述目標(biāo)編碼量計算裝置計算出的目標(biāo)編碼量向前饋送,從而根據(jù)對應(yīng)于要編碼的源視頻數(shù)據(jù)的目標(biāo)編碼量,實時編碼要編碼的源視頻數(shù)據(jù);和傳送裝置,用于傳送由所述編碼裝置編碼的視頻數(shù)據(jù)。
46.一種視頻數(shù)據(jù)傳送裝置,用于編碼提供給它的輸入視頻數(shù)據(jù),并發(fā)送所編碼的視頻數(shù)據(jù),所述視頻數(shù)據(jù)傳送裝置包括目標(biāo)編碼量計算裝置,根據(jù)指示所述輸入視頻數(shù)據(jù)的特征的索引數(shù)據(jù),計算要分配給所述輸入視頻數(shù)據(jù)的目標(biāo)編碼量;延遲裝置,用于將所述輸入視頻數(shù)據(jù)延遲一預(yù)定時間段;和編碼傳送裝置,用于根據(jù)所述目標(biāo)編碼量,對由所述延遲裝置延遲的所述輸入視頻數(shù)據(jù)執(zhí)行編碼處理,并發(fā)送所編碼的視頻數(shù)據(jù)。
47.一種視頻數(shù)據(jù)記錄介質(zhì),其中記錄編碼數(shù)據(jù),該編碼數(shù)據(jù)是通過根據(jù)指示輸入視頻數(shù)據(jù)的特征的索引數(shù)據(jù),計算要分配給所述輸入視頻數(shù)據(jù)的目標(biāo)編碼量,然后根據(jù)該目標(biāo)編碼量對延遲了預(yù)定時間段的所述輸入視頻數(shù)據(jù)執(zhí)行編碼處理而獲得的。
全文摘要
編碼預(yù)處理部分將表示要編碼的源視頻數(shù)據(jù)的特征的統(tǒng)計量(索引數(shù)據(jù))提供給CPU(6)。根據(jù)該統(tǒng)計量,CPU(6)計算編碼視頻數(shù)據(jù)的難度,然后根據(jù)該編碼難度,操作指定給視頻數(shù)據(jù)的每一個畫面的目標(biāo)編碼量。CPU(6)在不進(jìn)行傳統(tǒng)的雙路編碼所要求的雙編碼路徑的情況下,通過將所操作的目標(biāo)編碼量前饋給編碼器(4),能夠進(jìn)行實時編碼。根據(jù)視頻數(shù)據(jù)的圖形可實現(xiàn)優(yōu)化編碼,因為目標(biāo)編碼量是根據(jù)編碼視頻數(shù)據(jù)的難度而被操作的。
文檔編號H04N7/26GK1237311SQ9880119
公開日1999年12月1日 申請日期1998年7月1日 優(yōu)先權(quán)日1997年7月8日
發(fā)明者三原寬司 申請人:索尼公司