專利名稱:動圖像再編碼裝置、動圖像編輯裝置、程序以及記錄介質(zhì)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及動圖像再編碼裝置、動圖像編輯裝置、程序和記錄介質(zhì),更具體地,涉及從編碼后的動圖像的流中生成不同的流時所使用的動圖像再編碼裝置、動圖像編輯裝置、這些裝置的程序、以及可通過計算機(jī)讀取的記錄了這些程序的記錄介質(zhì)。
背景技術(shù):
至今為止,當(dāng)編輯由MPEG(Moving Picture Experts Group活動圖像專家組)-2,4等編碼方式所編碼的動圖像時,可以按GOP(Group Of Picture圖像組)單位進(jìn)行編輯、以內(nèi)編碼圖像的幀(I幀)單位進(jìn)行編輯等。采用上述編輯方式時,難于編輯I幀以外諸如稱為預(yù)測編碼圖像的幀(P幀)或雙向預(yù)測編碼圖像的幀(B幀)等,對可指定的幀存在限制。
因而,為了根據(jù)I幀之外的幀進(jìn)行編輯,有必要臨時解碼圖像數(shù)據(jù),并作為輸入圖像進(jìn)行處理。此外,還提出了如下技術(shù)在從任意的位置切出片段時,僅解碼切出片段的開頭,后面的部分不解碼地復(fù)制數(shù)據(jù)的技術(shù)。
此外,為了將圖像數(shù)據(jù)變更為圖像尺寸因顯示框的擴(kuò)大/縮小等而不同的尺寸、以及為了變更為不同的位速率,如果保持編碼的狀態(tài),則不可能實(shí)現(xiàn),有必要在解碼器中進(jìn)行一次解碼后恢復(fù)到圖像幀,然后在編碼器中再次編碼。因而,對于MPEG-2、4等的編碼后的動圖像,用戶在希望減小數(shù)據(jù)的情形或用戶僅希望取出特定范圍的情形等,根據(jù)上述再編碼處理生成與原有的流不同的流。
但是,為了進(jìn)行再編碼有必要同時處理解碼和編碼,產(chǎn)生了負(fù)荷較高的問題、或用于對解碼后的數(shù)據(jù)進(jìn)行可靠編碼的同步處理較困難的問題。
此外,作為再編碼技術(shù),提出了以抑制畫質(zhì)的劣化、高速而且高效地實(shí)現(xiàn)位速率變換為目的壓縮動圖像的再編碼程序、裝置和方法(例如參考專利文獻(xiàn)1)。在專利文獻(xiàn)1中所述的再編碼技術(shù)中,解碼器按照每一幀的解碼實(shí)施了編碼。
專利文獻(xiàn)1特開2003-244705號公報但是,如果采用如下技術(shù),則I幀和其后的幀容易產(chǎn)生不匹配、畫質(zhì)劣化、容易違反標(biāo)準(zhǔn),該技術(shù)為在從任意位置切出時,如果采用僅解碼切出的開頭的幀并對I幀進(jìn)行編碼,對其后的幀不進(jìn)行再編碼就對原有數(shù)據(jù)進(jìn)行復(fù)制。再者,為了不產(chǎn)生不匹配,有必要分析原始視頻的位速率,故加重了處理負(fù)荷。
此外,如專利文獻(xiàn)1所述,如果采用對解碼器所解碼的一幀進(jìn)行編碼的技術(shù),則經(jīng)常會出現(xiàn)所產(chǎn)生的視頻位流不符合標(biāo)準(zhǔn)的情形。
進(jìn)而,能夠以解碼器和編碼器不取同步而實(shí)時工作的方式構(gòu)成動圖像再編碼裝置,但是,在功率小的CPU(中央處理器)中,內(nèi)容的幀數(shù)變得極其少。而且,當(dāng)進(jìn)行再編碼時使編碼器和解碼器不同步而同時工作的情形,即便對相同的動畫文件進(jìn)行再編碼的情形,也會由于設(shè)備的處理能力而導(dǎo)致結(jié)果的差異。
如上所述,在進(jìn)行編碼后的動圖像數(shù)據(jù)(圖像數(shù)據(jù))的尺寸變更或位速率變換等變換、編輯,特別是從I幀之外進(jìn)行編輯的情形,處理變得復(fù)雜,負(fù)荷加重,在某些情形會產(chǎn)生不符合標(biāo)準(zhǔn)的結(jié)果。
發(fā)明內(nèi)容
本發(fā)明考慮到上述實(shí)際情況,旨在提供一種對編碼后的動圖像數(shù)據(jù)進(jìn)行變換或編輯時,可以通過負(fù)荷較輕的簡單處理生成具有再現(xiàn)性的正確編碼數(shù)據(jù)的動圖像再編碼裝置、具備該裝置的動圖像編輯裝置、動圖像再編碼程序、動圖像編輯程序、以及計算機(jī)可讀的記錄了所述程序的記錄介質(zhì)。
本發(fā)明為了解決上述問題,分別由下述各技術(shù)手段構(gòu)成。
第1技術(shù)手段涉及動圖像再編碼裝置,其特征在于,具有解碼單元,根據(jù)編碼了動圖像的位流對動圖像的幀進(jìn)行解碼;選擇單元,從被該解碼單元所解碼的幀中選擇再編碼的幀;編碼單元,僅將由該幀選擇單元所選擇的幀進(jìn)行再編碼;間隔通知單元,由該編碼單元對幀進(jìn)行再編碼之后,計算出從該幀開始到成為下一再編碼對象的幀間隔,并且將該算出的幀間隔通知給上述解碼單元,所述解碼單元通過所述間隔通知單元通知之后,執(zhí)行所述位流的解碼直到經(jīng)過基于該通知的幀間隔的時刻為止,所述幀選擇單元將經(jīng)過所述時刻之前的幀中最后的幀選擇為下一再編碼的幀。
第2技術(shù)手段的特征在于在第1技術(shù)手段中,所述間隔通知單元具有通過所述編碼單元對幀進(jìn)行再編碼時的速率控制信息計算出所述幀間隔的單元。
第3技術(shù)手段的特征在于在第2技術(shù)手段中,所述速率控制信息是如下信息中的任意一個或多個信息,該信息為由所述編碼單元再編碼后的幀的圖像尺寸、該幀的再編碼時的編碼量、所述編碼單元的編碼位速率、所述編碼單元的再編碼結(jié)束時的、虛擬了解碼時的視頻存儲器的虛擬緩沖器的占有量。
第4技術(shù)手段的特征在于在第1至第3技術(shù)手段的任意一個技術(shù)手段中,還具有操作輸入單元,該操作輸入單元從用戶接收作為再編碼對象的位流幀的指定、以及包含動圖像再編碼指示的操作,所述編碼部分以基于由所述操作輸入部分輸入的操作的編碼位速率執(zhí)行編碼。
第5技術(shù)手段的特征在于在第4技術(shù)手段中,還具有最小值計算單元,該最小值計算單元根據(jù)與所述操作輸入單元輸入的操作相關(guān)的信息,預(yù)先預(yù)測所述幀間隔的最小值,所述解碼單元在來自所述間隔通知單元的幀間隔的通知之前繼續(xù)進(jìn)行解碼,直到所述最小值計算單元所計算的幀間隔的最小值所示的時刻為止。
第6技術(shù)手段的特征在于在第1至第5技術(shù)手段的任一技術(shù)手段中,所述編碼單元具有將再編碼對象的幀進(jìn)行幀內(nèi)編碼的單元和進(jìn)行幀間編碼的單元。
第7技術(shù)手段涉及一種具有第1至第6技術(shù)手段的任一技術(shù)手段所述的動圖像再編碼裝置的動圖像編輯裝置,其特征在于,包括從用戶接收對所述位流進(jìn)行編輯的指示的編輯接收單元、根據(jù)該編輯接收單元接收的指示對動圖像進(jìn)行編輯的編輯單元,所述動圖像再編碼裝置隨著所述編輯單元對動圖像的編輯,而將編輯后的動圖像進(jìn)行再編碼。
第8技術(shù)手段涉及一種安裝于動圖像再編碼裝置中的程序,該動圖像再編碼裝置包括解碼單元,根據(jù)將動圖像編碼后的位流對動圖像的幀進(jìn)行解碼;以及編碼單元,將由該解碼單元所解碼的幀進(jìn)行再編碼,其特征在于使所述動圖像再編碼裝置的控制部執(zhí)行如下步驟幀選擇步驟,根據(jù)所述解碼單元所解碼的幀選擇再編碼的幀;編碼指示步驟,由所述編碼單元僅對在該幀選擇步驟中所選擇的幀進(jìn)行編碼;間隔通知步驟,由所述編碼單元對幀進(jìn)行了再編碼后,計算從該幀到下一個作為再編碼對象的幀的幀間隔,并將該計算出的幀間隔通知給所述解碼單元;以及解碼指示步驟,當(dāng)通過所述間隔通知步驟通知之后,指示所述解碼單元以執(zhí)行所述位流的解碼直到經(jīng)過基于該通知的幀間隔的時刻為止,所述幀選擇步驟包括如下步驟,即將經(jīng)過所述時刻之前的幀中最后的幀選擇為下一再編碼幀。
第9技術(shù)手段的特征在于,在第8技術(shù)手段中,所述間隔通知步驟包括如下步驟,即根據(jù)由所述編碼單元對幀進(jìn)行了編碼時的速率控制信息計算出所述幀間隔。
第10技術(shù)手段的特征在于,所述速率控制信息是下述信息之一或者多個信息,該信息為由所述編碼單元再編碼后的圖像尺寸、該幀的再編碼時的編碼量、所述編碼單元的編碼位速率、以及所述編碼單元的再編碼結(jié)束時的、虛擬了解碼時的視頻存儲器的虛擬緩沖器的占有量。
第11技術(shù)手段的特征在于,在第8至第10技術(shù)手段中的任一技術(shù)手段中,該程序進(jìn)一步使所述控制部執(zhí)行操作輸入步驟,即從用戶接收作為再編碼對象的位流的指定、以及包含動圖像再編碼指示的操作,再所述編碼指示步驟中,指示所述編碼單元以基于在所述操作輸入步驟中輸入的操作的編碼位速率進(jìn)行編碼。
第12技術(shù)手段的特征在于,在第11技術(shù)手段中,該程序進(jìn)一步使所述控制部執(zhí)行最小值計算步驟,即根據(jù)由所述操作輸入步驟輸入的與操作有關(guān)的信息,預(yù)先預(yù)測出所述幀間隔的最小值,在所述編碼指示步驟中,在由所述間隔通知步驟通知幀間隔之前指示所述解碼單元繼續(xù)進(jìn)行解碼,直到在所述最小值計算步驟中計算出的幀間隔的最小值所示的時刻為止。
第13技術(shù)手段的特征在于,在第8至第12技術(shù)手段中的任一技術(shù)手段中,所述編碼單元具有將再編碼對象的幀進(jìn)行幀內(nèi)編碼的單元和進(jìn)行幀間編碼的單元。
第14技術(shù)手段的特征在于,在第8至第13技術(shù)手段中的任一技術(shù)手段中,該程序使所述控制部進(jìn)一步執(zhí)行如下步驟從用戶接收對所述位流進(jìn)行編輯的指示的編輯接收步驟、以及根據(jù)在該編輯接收步驟中接收的指示對動圖像進(jìn)行編輯的編輯步驟,而且,使所述控制部控制所述解碼單元和編碼單元,從而隨著在所述編輯步驟中對動圖像進(jìn)行編輯,對編輯后的動圖像進(jìn)行再編碼。
第15技術(shù)手段涉及一種程序,其特征在于使計算機(jī)以作為第1至第7技術(shù)手段中任一技術(shù)手段所述的裝置進(jìn)行工作。
第16技術(shù)手段涉及一種計算機(jī)可讀取的記錄介質(zhì),其特征在于記錄了第8至第15技術(shù)手段中任一技術(shù)手段所述的程序。
根據(jù)本發(fā)明,當(dāng)對編碼后的動圖像數(shù)據(jù)進(jìn)行變換或編輯時,可以通過負(fù)荷較輕的簡單處理而生成具有再現(xiàn)性的正確的編碼數(shù)據(jù)。
圖1是示出本發(fā)明一個實(shí)施例的動圖像再編碼裝置的一個構(gòu)成例的圖。
圖2是示出可適用于本發(fā)明的動圖像再編碼裝置的計算機(jī)的一個構(gòu)成例的圖。
圖3是用于說明圖1的動圖像再編碼裝置中的一例再編碼處理的流程圖,也是用于說明本發(fā)明一個實(shí)施例的動圖像再編碼程序的一例處理程序的流程圖。
圖4是具有本發(fā)明的動圖像再編碼裝置的動圖像編輯裝置的一個構(gòu)成例。
圖5是用于說明圖4的動圖像編輯裝置的再編碼處理的圖。
圖6是用于說明圖5的再編碼處理的幀間隔決定處理的圖。
圖7是用于與VBV緩沖器的占有量一起說明圖6的幀間隔決定處理的控制的圖。
具體實(shí)施例方式
圖1是示出本發(fā)明一實(shí)施例的動圖像再編碼裝置的一個構(gòu)成例的圖,圖中,1是動圖像再編碼裝置、11是操作輸入單元、12是解碼單元、13是間隔通知單元、14是編碼單元、15是幀選擇單元。
本實(shí)施例的動圖像再編碼裝置具有解碼單元12、間隔通知單元13、編碼單元14、幀選擇單元15,圖1中示出的動圖像再編碼裝置1,除了這些構(gòu)成要素之外還具有操作輸入單元11。
操作輸入單元11是從用戶接收作為再編碼對象的位流的指定和包含動圖像再編碼指示的操作,并將所接收的信息向后級傳遞的單元。這里,動圖像再編碼指示通常包括如下指示作為對象的動圖像數(shù)據(jù)的指定;對該動圖像數(shù)據(jù)進(jìn)行區(qū)間編輯或插入附加數(shù)據(jù)、疊加等的編輯、位速率變換、尺寸變換等。例如“文件A(位速率500bps)的動圖像數(shù)據(jù)用384bps的動圖像數(shù)據(jù)進(jìn)行記錄”,“在文件A的動圖像數(shù)據(jù)中,從開始起10分~30分之間的數(shù)據(jù)用1/3的數(shù)據(jù)量進(jìn)行記錄”等指示與此相當(dāng)。此外,這里,將從用戶接收對編碼位流進(jìn)行編輯的指示的編輯接收單元也作為包含在該操作輸入單元11中的單元進(jìn)行了說明,但并不局限于此。
此外,與這些操作相關(guān)的信息是作為向解碼單元12、編碼單元14、幀選擇單元15傳送的信息,在此進(jìn)行說明,但是,根據(jù)各單元的形態(tài)其并不局限于此,例如,也可以傳送到間隔通知單元13,如果可以不傳送到幀選擇單元15而開始解碼,則將該幀從解碼單元12通知給幀選擇單元15亦可。此外,操作的種類也是各種各樣的,本發(fā)明也可以用于處理將編輯或各種變換合并執(zhí)行的操作。此外,對于操作的方法,可以進(jìn)行與用戶再編碼指示相關(guān)的操作,安裝用戶易操作的GUI(圖像用戶界面)更理想。此外,通過在動圖像再編碼裝置1中安裝編輯單元,從而可以進(jìn)行區(qū)間編輯或插入附加數(shù)據(jù)、疊加等編輯,其中該編輯單元根據(jù)操作的種類,經(jīng)由上述GUI等執(zhí)行動圖像數(shù)據(jù)的各種編輯。實(shí)際上,編輯單元根據(jù)編輯接收單元所接收的指示來編輯動圖像,動圖像再編碼裝置1也可以隨著該編輯單元進(jìn)行動圖像編輯,而將編輯之后的動圖像進(jìn)行再編碼。此外,在本發(fā)明中,無需特別地指出編輯和再編碼的定時。
解碼單元12根據(jù)對動圖像進(jìn)行編碼后的位流(也稱為編碼視頻流)來解碼動圖像的幀。這里,根據(jù)由操作輸入單元11進(jìn)行用戶輸入的再編碼開始/結(jié)束指示或解碼開始/結(jié)束指示,開始/結(jié)束所指定的位流的解碼,在此期間生成解碼幀。除此之外,也可以通過所述位流輸入單元的輸入控制,控制再編碼的開始和結(jié)束。
但是,如后所述,無論該幀是否是編碼視頻流上的I幀,解碼單元12都解碼具有開始指示的視頻幀,在解碼了最初的視頻幀之后,在接收了來自間隔通知單元13的幀間隔的通知之前基本上不進(jìn)行解碼。此外,實(shí)際上,在動圖像再編碼裝置1中設(shè)置了位流輸入單元,該位流輸入單元用于從記錄介質(zhì)或通過網(wǎng)絡(luò)輸入作為對象的動圖像數(shù)據(jù)(動圖像位流)。
幀選擇單元15從解碼單元12所解碼的幀中選擇再編碼的幀。而且,幀選擇單元15將經(jīng)過下述時刻之前的幀中的最后的幀選擇為下一再編碼的幀,該時刻為后述的基于被通知的幀間隔的時刻。此外,在幀選擇單元15中,無條件地選擇由解碼單元12最初解碼后的幀(基于開始指示的幀)。
編碼單元14僅再編碼由幀選擇單元15所選擇的幀。這里,編碼單元14可通過基于操作輸入單元11所輸入的操作內(nèi)容的編碼位速率(或編碼率)執(zhí)行編碼。此外,編碼單元14在進(jìn)行所述編碼時,為了實(shí)現(xiàn)編碼后能夠在任意解碼器進(jìn)行解碼,而對虛擬了解碼器的視頻存儲器虛擬緩沖器進(jìn)行控制,使其既不上溢也不下溢。在MPEG方式中,該虛擬緩沖器是用于監(jiān)視使其不產(chǎn)生超過接收側(cè)(解碼側(cè))的傳送流(TS)緩沖器容量的流的裝置,稱為VBV(Video BufferingVerifier視頻緩沖核驗(yàn)器)緩沖器,該緩沖器的上限值被標(biāo)準(zhǔn)化。
此外,編碼單元14既可以構(gòu)成為根據(jù)操作輸入單元11所輸入的再編碼結(jié)束的指示(還包含預(yù)定的結(jié)束指示)結(jié)束編碼,也可以構(gòu)成為編碼單元12接收了上述結(jié)束指示而停止解碼并自動地結(jié)束編碼單元14的編碼。此外,編碼單元14優(yōu)選具有將再編碼對象的幀進(jìn)行幀內(nèi)編碼的單元和及進(jìn)行幀間編碼的單元。
間隔通知單元13,在由編碼單元14將幀再編碼之后,首先計算出從該幀至作為下一再編碼對象的幀為止的幀間隔,將計算出的幀間隔通知給解碼單元12。這里所通知的幀間隔優(yōu)選根據(jù)經(jīng)編碼單元14對幀進(jìn)行再編碼時的速率控制信息進(jìn)行計算。對于該控制信息將將在后面進(jìn)行描述,特別包含用于控制上述虛擬緩沖器不溢出的信息。此外,實(shí)際上,將編碼單元14所再編碼的動圖像數(shù)據(jù)輸出到記錄介質(zhì)或通過網(wǎng)絡(luò)輸出到其它裝置的位流輸出單元,也被設(shè)置在動圖像再編碼裝置1中。此外,與上述的操作輸入單元11、編輯單元、位流輸入單元一起在動圖像再編碼裝置1中同時設(shè)置了該位流輸出單元(優(yōu)選也包括輸出目的地的記錄介質(zhì))的方式,由于可以從動圖像的讀出至編輯、記錄為止,故可稱為動圖像編輯裝置。
此外,這里補(bǔ)充了幀間隔。在圖像的編碼規(guī)格中,通常規(guī)定了將單位時間的處理量抑制在一定的范圍內(nèi)。例如,在MPEG-4的規(guī)格中,根據(jù)MPEG-4的各級別來規(guī)定虛擬的緩沖器,在該范圍內(nèi)規(guī)定進(jìn)行數(shù)據(jù)的接收、編碼(MPEG-4 visual Annex DMPEG-4視覺附件D)。因此,進(jìn)行圖像編碼的編解碼器中,有必要進(jìn)行編碼以便編碼包含在標(biāo)準(zhǔn)中所規(guī)定的緩沖器的范圍內(nèi)。此時,在控制中所使用的是編碼幀的間隔。此外,這里描述了幀間隔,但是控制編碼器所使用的參數(shù)除了幀間隔之外還包括QP值(量子化參數(shù))等。
此外,編碼單元12在通過間隔通知單元13通知之后對編碼位流進(jìn)行解碼,直至經(jīng)過基于所通知的幀間隔的時刻為止。一直解碼到基于所通知的幀間隔的時刻為止是指一直解碼到經(jīng)過裝置1內(nèi)的時鐘所示的通知時刻與幀間隔相加后的時刻為止,換言之,當(dāng)MPEG方式的DTS(Decoding Time Stamp解碼時間戳)等時刻信息作為頭的一個信息添加到編碼位流時,亦指在如下時刻的幀之前進(jìn)行解碼,該時刻為將最初由解碼單元12解碼的幀所示的時刻與幀間隔相加后的時刻。此外,不管幀在編碼視頻流上是否是I幀,解碼單元12都解碼具有開始指示的視頻幀(當(dāng)然,例如,當(dāng)為P幀時也預(yù)先對其解碼所必須的I幀進(jìn)行解碼),最初的視頻幀解碼之后到從間隔通知單元13接收到幀間隔的通知為止基本上不進(jìn)行解碼。
但是,也可以根據(jù)操作輸入單元11所輸入的與操作相關(guān)的信息(操作種類或編碼視頻流的位速率等)預(yù)先預(yù)測幀間隔的最小值,首先,進(jìn)行預(yù)解碼直至該預(yù)測的幀間隔的最小值為止。該預(yù)測也可以通過在動圖像再編碼裝置1中進(jìn)一步安裝計算幀間隔的最小值的預(yù)測的最小值計算單元。而且,解碼單元12在來自間隔通知單元13的幀間隔通知之前,直至最大、最小值計算單元所計算出的幀間隔的最小值所示的時刻為止繼續(xù)進(jìn)行解碼。在上述方式中,由于最小值所示的時刻不可能超過間隔通知單元13所通知的實(shí)際幀間隔所示的時刻,故直到最小值所示的時刻為止,不會損失必須停止解碼單元12的解碼處理等時間。
下面對速率控制信息進(jìn)行說明。所謂速率控制情報是指通過編碼單元14再編碼后的幀的圖像尺寸、所述幀的再編碼時的編碼量、動圖像再編碼裝置1的位速率(即再編碼位速率)、和虛擬了當(dāng)前(再編碼結(jié)束時)的、解碼時的視頻存儲器的虛擬緩沖器的占有量之中的任意一個或多個信息,優(yōu)選這些信息的全部。這里,最初的3個信息,原來是根據(jù)操作輸入單元11中的用戶指示和原來的編碼位流而設(shè)定的設(shè)定信息,因而,在上述具有最小值計算單元的方式中,根據(jù)這些設(shè)定信息和編碼結(jié)束時的緩沖器量的預(yù)測值計算出最小值即可。
在上述本發(fā)明的各實(shí)施例中,如上所述,根據(jù)編碼單元14(例如編碼器)的要求使解碼單元12(例如解碼器)工作,從而與設(shè)備的處理能力無關(guān),可以制作出最符合編碼器要求的文件,并可以進(jìn)行具有再現(xiàn)性的再編碼處理。此外,在控制編碼器、解碼器時不使用特殊的信息,僅使用現(xiàn)有的信息,無需復(fù)雜的計算就能進(jìn)行控制,所以,導(dǎo)入本發(fā)明的方式不會增加處理負(fù)荷。此外,根據(jù)本發(fā)明,通過負(fù)荷較輕的處理進(jìn)行動圖像的編輯、再編碼,盡管使用了簡單的處理,但所生成的編碼仍符合標(biāo)準(zhǔn)。此外,再編碼處理是在DVD(digital versatile disc多功能數(shù)碼光盤)、HDD(Hard DiskDrive硬盤驅(qū)動器)等各種記錄器等各種設(shè)備中所進(jìn)行的處理,本發(fā)明也適用于組合到上述記錄器中而發(fā)揮作用。
圖2是示出可適用于本發(fā)明的動圖像再編碼裝置的計算機(jī)的一個構(gòu)成例的圖,圖3是用于說明圖1的動圖像再編碼裝置中的一例再編碼處理的流程圖,也是說明本發(fā)明的一個實(shí)施例的動圖像再編碼程序的一例處理程序的流程圖。在圖2中,2是計算機(jī)、21是CPU(Central Processing Unit中央處理器)、22是RAM(Random AccessMemory隨機(jī)存取存儲器)、23是ROM(Read Only Memory只讀存儲器)、24是輸入裝置、25是顯示裝置、26是輸出裝置。
參考圖3對如上所述結(jié)構(gòu)的動圖像再編碼裝置1的處理程序進(jìn)行說明,其中舉出了將本發(fā)明一個實(shí)施方式的動圖像再編碼程序可執(zhí)行地安裝到圖2所示計算機(jī)的ROM23中的例子。此外,圖2的計算機(jī)2,不僅表示包含控制部的主要部分,還表示通用的個人計算機(jī)(PC),其中該控制部是加入了本發(fā)明的再編碼處理功能的記錄器等各種設(shè)備中的控制部。
在計算機(jī)2中,將如下部件作為主要構(gòu)成要素,并通過總線對其進(jìn)行連接用于輸入各種信息的鍵盤、鼠標(biāo)、記錄介質(zhì)讀取裝置、來自其它設(shè)備的輸入用的網(wǎng)絡(luò)設(shè)備等的輸入裝置24、用于進(jìn)行編輯的顯示動圖像數(shù)據(jù)或各種設(shè)定畫面等的LCD、PDP、有機(jī)EL、CRT等顯示器即顯示裝置25、記錄介質(zhì)用記錄裝置、網(wǎng)絡(luò)連接裝置(連接到網(wǎng)絡(luò)以進(jìn)行通信用的網(wǎng)絡(luò)端口等通信設(shè)備)、印刷裝置等執(zhí)行外部輸出用的輸出裝置26、除基本程序之外還記錄了本發(fā)明的動圖像再編碼程序(或動圖像編輯程序)的可擦寫ROM23(一部分不可擦寫亦可)、用于執(zhí)行在ROM23中存儲的程序的CPU21、以及作為其執(zhí)行區(qū)域的RAM22。
該動圖像再編碼程序(或動圖像編輯程序)是控制CPU21等以便使計算機(jī)2作為上述各單元的一部分(或各單元)而工作的程序。此外,在該程序中,也可以具有顯示裝置25用的GUI,從而裝置用戶(執(zhí)行再編碼的操作者)在使用時容易操作。由這些裝置所處理的信息,在所述處理時暫時存儲到RAM22中,然后存儲到各種ROM23中,并根據(jù)需要,通過CPU21進(jìn)行讀出、修改、寫入。
首先,當(dāng)輸入裝置24輸入作為對象的編碼位流和編輯指示時,根據(jù)所述編輯指示,從相當(dāng)于解碼單元的解碼程序位流對編輯開頭的視頻幀進(jìn)行解碼(步驟S1)。再有,相當(dāng)于幀選擇單元的幀選擇程序?qū)⒒陂_始指示解碼的幀選擇為再編碼的幀(步驟S2);相當(dāng)于編碼單元的編碼程序?qū)⒈贿x擇的幀按規(guī)定的速率存儲到虛擬緩沖器(例如VBV緩沖器)中,在存儲了1幅幀的階段從VBV緩沖器中輸出并進(jìn)行編碼(步驟S3)。在步驟S2中,也可以根據(jù)用戶的指示將由解碼程序所解碼的幀傳送給編碼程序。
然后,相當(dāng)于間隔通知單元的間隔通知程序,通過用于編碼的速率控制信息計算出幀間隔,向解碼程序通知該幀間隔(步驟S4)。根據(jù)該通知,解碼程序根據(jù)位流對視頻流進(jìn)行解碼直至幀間隔所示的時刻為止(步驟S5)。接著,幀選擇程序?qū)⒔獯a幀中最后的幀選擇為再編碼幀(步驟S6)。編碼程序?qū)λx擇的幀進(jìn)行編碼(步驟S7)。然后,根據(jù)用戶指示的內(nèi)容,判斷再編碼是否結(jié)束(步驟S8),如果未結(jié)束,則返回步驟S4,繼續(xù)處理。
如上所述,根據(jù)本發(fā)明的程序,不依存于CPU的差別或其它的線程(thread)是否起動的CPU占有率,可以生成具有再現(xiàn)性的數(shù)據(jù)。此外,由于算法較單純,因而,具體地除了解碼單元和編碼單元之外即便全部安裝為軟件也可以進(jìn)行高速處理。此外,盡管處理較簡單,但是由于其為虛擬緩沖器不溢出的處理,故可以生成符合標(biāo)準(zhǔn)的位流。
此外,在圖2和圖3中,示出了安裝有所有處理的程序的例子。當(dāng)然,如果僅僅是軟件處理,則僅負(fù)荷較大的解碼處理和編碼處理(相當(dāng)于解碼單元12和編碼單元14的處理)優(yōu)選由硬件構(gòu)成,例如,由解碼器和編碼器構(gòu)成或由編解碼器構(gòu)成。具體地,考慮到現(xiàn)有的PC或解碼器和編碼器的處理速度,優(yōu)選將解碼單元和編碼單元由硬件(即解碼器和編碼器、或編解碼器)構(gòu)成,其它的單元由控制這些硬件的程序構(gòu)成。這種情形的動圖像再編碼程序驅(qū)動解碼器和編碼器、或編解碼器,若根據(jù)圖3進(jìn)行說明,則是執(zhí)行如下處理的程序。
即,根據(jù)位流將開頭的視頻幀在解碼器(編解碼器的解碼器部,以下相同)中解碼(步驟S1)。然后,幀選擇程序?qū)⒏鶕?jù)開始指示解碼的幀選擇為再編碼幀(步驟S2),并傳送給編碼器(編解碼器的編碼部,以下相同)。編碼器將所選擇的幀以規(guī)定的速率存儲到虛擬緩沖器(例如VBV緩沖器)中,在存儲了1幅幀的階段從VBV緩沖器中輸出以執(zhí)行編碼(步驟S3)。在步驟S2中,也可以根據(jù)用戶指示將在解碼器中解碼的幀傳送給編碼器。
然后,間隔通知程序通過用于編碼的速率控制信息計算出幀間隔,并向解碼器通知該幀間隔(步驟S4)。與該通知一起,指示解碼器根據(jù)位流對視頻流進(jìn)行解碼直至幀間隔所示的時刻為止。然后,解碼器根據(jù)該通知,根據(jù)位流對視頻流進(jìn)行解碼直至幀間隔所示的時刻為止(步驟S5)。接著,幀選擇程序?qū)⒔獯a幀中最后的幀選擇為再編碼幀(步驟S6),并傳送到編碼器。編碼器將所選擇的幀進(jìn)行編碼(步驟S7)。然后,根據(jù)用戶指示的內(nèi)容,判斷再編碼是否結(jié)束(步驟S8),如果未結(jié)束,則返回步驟S4,繼續(xù)處理。
下面,參考圖4至圖7,進(jìn)一步具體地說明本發(fā)明的動圖像再編碼裝置的一個構(gòu)成例。圖4是具有本發(fā)明的動圖像再編碼裝置的動圖像編輯裝置的一個構(gòu)成例,圖中,4是動圖像編輯裝置。此外,圖5是用于說明圖4的動圖像編輯裝置的再編碼處理的圖,圖6是用于說明圖5的再編碼處理的幀間隔處理的圖,圖7是用于與VBV緩沖器中的占有量一起對圖6的幀間隔決定處理的控制進(jìn)行說明的圖。
這里示出的動圖像編輯裝置4由如下部件構(gòu)成顯示部40、圖像幀存儲部41、編碼/解碼動作控制部42、相當(dāng)于解碼單元的解碼部43、相當(dāng)于編碼單元的編碼部44、多路復(fù)用及分離部45、輸入部46、輸出部47、存儲部A(48)、和存儲部B(49)。
這里,解碼部43相當(dāng)于解碼單元,編碼部44相當(dāng)于編碼單元。此外,多路復(fù)用及分離部45對視頻(動圖像)數(shù)據(jù)和音頻數(shù)據(jù)進(jìn)行多路復(fù)用處理、以及將多路復(fù)用后的這些數(shù)據(jù)反過來進(jìn)行分離的處理,輸出部47和后者的處理部構(gòu)成上述位流輸出單元,輸入部46和前者的處理部構(gòu)成上述位流輸入單元。此外,顯示部40由將解碼部43所解碼的圖像數(shù)據(jù)向用戶顯示的顯示器等構(gòu)成,幀存儲器等構(gòu)成的圖像幀存儲部41暫時存儲在顯示部40顯示的圖像,并進(jìn)行用于從解碼部43向編碼部44傳遞圖像數(shù)據(jù)的暫時存儲。
然后,通過編碼/解碼動作控制部42控制解碼部43和編碼部44。該控制部42可以說主要構(gòu)成上述幀選擇單元和間隔通知單元(以及最小值計算單元)。此外,編碼/解碼動作控制部42可以通過控制解碼部43中的解碼指示來實(shí)現(xiàn)對存儲部A(48)中存儲的編碼位流的輸入控制,也可以通過控制輸入部46來實(shí)現(xiàn)對存儲部A(48)中存儲的編碼位流的輸入控制。此外,存儲部B(49)是存儲完成再編碼的位流的存儲部分,作為存儲介質(zhì)及其驅(qū)動裝置可以采用與存儲部(48)相同的存儲介質(zhì)及其驅(qū)動裝置構(gòu)成。此外,省略了上述操作輸入單元、編輯接收單元、以及編輯單元,但是,在顯示部40中繼續(xù)顯示對象的動圖像數(shù)據(jù)和編輯或變換項(xiàng),并可以通過將用戶輸入向編碼/解碼動作控制部42輸入而實(shí)現(xiàn)。
動圖像編輯裝置4,通過采用上述構(gòu)成,控制編碼/解碼動作控制部42,并執(zhí)行承接(i)~(xi)的處理。首先,(i)對由MPEG-4等所編碼的位流51開頭的幀(在被編輯的情形是其開頭幀)52a進(jìn)行解碼。此外,也可以一邊解碼一邊對解碼后的幀進(jìn)行編輯。然后,(ii)從解碼后的幀中選擇再編碼的幀。這里,必須選擇開頭的幀52a。接著,在(iii)中,編碼在(ii)中選擇的幀53a(52a)。這里,編碼器54執(zhí)行所述編碼處理(iv)。然后,(v)計算出幀間隔TF1并通知解碼部43。繼而,(vi)解碼器對視頻幀(幀52b、52c、52d、52e)進(jìn)行解碼直至該間隔TF1后。然后,(vii)選擇幀間隔時刻的幀52e,(viii)編碼所選擇的幀53b(52c)。這里,編碼器54進(jìn)行所述編碼處理。(ix)添加此前編碼的數(shù)據(jù)并進(jìn)行幀間編碼亦可。然后,與(x)(v)同樣計算出幀間隔TF2并通知解碼部43。接著,(xi)解碼器對視頻幀(幀52b、52c、52d、52e)進(jìn)行解碼直至該間隔TF2為止。然后,選擇最后的幀53c(52i)并進(jìn)行編碼。繼續(xù)進(jìn)行上述處理直至不需要再編碼為止。
下面,對于幀間隔的計算(推定)進(jìn)行說明。如圖6所示,根據(jù)由編碼器54對再編碼幀53a的編碼數(shù)據(jù)進(jìn)行編碼的條件,即根據(jù)編碼器54的此時的速率控制信息,返回下面要編碼的幀為止的要求幀間隔。由解碼器對原始的視頻位流進(jìn)行解碼,該原始的視頻位流是根據(jù)該請求幀間隔所計算的時刻以內(nèi)的幀之前的視頻位流。然后,編碼器54以加上了要求幀間隔后的時間對所解碼的幀進(jìn)行編碼。
作為幀間隔的推定要素(速率控制信息)主要可以列舉出圖像尺寸、位速率、當(dāng)前的VBV緩沖器的占有量、和1幀編碼時的編碼量。圖7中示出了VBV緩沖器的占有量的實(shí)例,圖中,縱軸表示緩沖器占有量,橫軸表示經(jīng)過時間,虛線是預(yù)測值,實(shí)線是實(shí)際值。此外,在圖7中,B表示標(biāo)準(zhǔn)上的緩沖器上限值,d表示1幀的編碼量、T表示幀間隔,Tn、TL表示作為目標(biāo)的幀間隔,圖表的斜率表示位速率。此外,為了盡可能多地對幀進(jìn)行編碼,只要對該緩沖器的上限值B設(shè)定較小的上限值即可,在這種情形下,每一幀的數(shù)據(jù)分配得較小。反之,為了進(jìn)行漂亮的編碼,只要對該緩沖器的上限值B(即對B設(shè)定)設(shè)定盡可能大的上限值即可,在這種情形下,盡可能大地分配每一幀的數(shù)據(jù)。根據(jù)圖7,說明具體的控制的實(shí)例。
在范圍A中,首先,在錄像開始的同時編碼器取得的數(shù)據(jù)量增加。然后,在經(jīng)過了幀間隔的時刻,對第1幅數(shù)據(jù)進(jìn)行編碼(d1)。然后,繼續(xù)取得數(shù)據(jù),以作為目標(biāo)的幀間隔Tn對第2幅數(shù)據(jù)進(jìn)行編碼(d2)。在進(jìn)行第二幅的編碼的時刻,接著以Tn的間隔進(jìn)行編碼(d3)的情形,可以預(yù)測到VBV緩沖器將下溢。因而,將下一要編碼的幀的間隔變寬為TL,從而防止VBV緩沖器的下溢。
此外,在范圍B中,通過在范圍A中的控制,幀間隔在TL的狀態(tài)下繼續(xù)錄像。在d4的編碼時刻,如果以當(dāng)前的幀間隔TL對下一幀進(jìn)行編碼,則可以預(yù)測到VBV緩沖器將上溢。這樣,縮短下一幀間隔(接近目標(biāo)幀速率),并防止VBV緩沖器的上溢。
具體的控制可以列舉如下當(dāng)對運(yùn)動激烈的圖像進(jìn)行編碼且一幅的數(shù)據(jù)量較多而導(dǎo)致VBV緩沖器下溢(范圍A)時,擴(kuò)大幀間隔,此后,圖像穩(wěn)定,一幅圖像的編碼量變少使VBV緩沖器上溢(范圍B)時,減小幀間距。這樣,反復(fù)進(jìn)行上述操作,從而數(shù)據(jù)容納在VBV緩沖器內(nèi)。由此,由本發(fā)明再編碼的幀的間隔,由于進(jìn)行了符合標(biāo)準(zhǔn)的再編碼,因此,當(dāng)然未必是固定的,因而通知給解碼器側(cè)的幀間隔也不是固定的。
如上所述,在本發(fā)明的再編碼結(jié)構(gòu)中,編碼器和解碼器并不實(shí)時工作。解碼器將對應(yīng)時間內(nèi)的全部幀進(jìn)行解碼,編碼器獨(dú)立于原始的視頻流而設(shè)定參數(shù)。
權(quán)利要求
1.一種動圖像再編碼裝置,其特征在于,具有解碼單元,根據(jù)編碼了動圖像的位流對動圖像的幀進(jìn)行解碼;選擇單元,從被該解碼單元所解碼的幀中選擇再編碼的幀;編碼單元,僅將由該幀選擇單元所選擇的幀進(jìn)行再編碼;間隔通知單元,由該編碼單元對幀進(jìn)行再編碼之后,計算出從該幀開始到成為下一再編碼對象的幀間隔,并且將該算出的幀間隔通知給上述解碼單元,所述解碼單元通過所述間隔通知單元通知之后,執(zhí)行所述位流的解碼直到經(jīng)過基于該通知的幀間隔的時刻為止,所述幀選擇單元將經(jīng)過所述時刻之前的幀中最后的幀選擇為下一再編碼的幀。
2.根據(jù)權(quán)利要求1所述的動圖像再編碼裝置,其特征在于所述間隔通知單元具有通過所述編碼單元對幀進(jìn)行再編碼時的速率控制信息計算出所述幀間隔的單元。
3.根據(jù)權(quán)利要求2所述的動圖像再編碼裝置,其特征在于所述速率控制信息是如下信息中的任意一個或多個信息,該信息為由所述編碼單元再編碼后的幀的圖像尺寸、該幀的再編碼時的編碼量、所述編碼單元的編碼位速率、所述編碼單元的再編碼結(jié)束時的、虛擬了解碼時的視頻存儲器的虛擬緩沖器的占有量。
4.根據(jù)權(quán)利要求1至3中任意一項(xiàng)的動圖像再編碼裝置,其特征在于還具有操作輸入單元,該操作輸入單元從用戶接收作為再編碼對象的位流的指定、以及包含動圖像再編碼指示的操作,所述編碼部分以基于由所述操作輸入部分輸入的操作的編碼位速率執(zhí)行編碼。
5.根據(jù)權(quán)利要求4所述的動圖像再編碼裝置,其特征在于還具有最小值計算單元,該最小值計算單元根據(jù)與所述操作輸入單元輸入的操作相關(guān)的信息,預(yù)先預(yù)測所述幀間隔的最小值,所述解碼單元在來自所述間隔通知單元的幀間隔的通知之前繼續(xù)進(jìn)行解碼,直到最大、所述最小值計算單元所計算的幀間隔的最小值所示的時刻為止。
6.根據(jù)權(quán)利要求1至5中任意一項(xiàng)所述的動圖像再編碼裝置,其特征在于所述編碼單元具有將再編碼對象的幀進(jìn)行幀內(nèi)編碼的單元和進(jìn)行幀間編碼的單元。
7.一種具有權(quán)利要求1至6中任意一項(xiàng)所述的動圖像再編碼裝置的動圖像編輯裝置,其特征在于,包括從用戶接收對所述位流進(jìn)行編輯的指示的編輯接收單元、根據(jù)該編輯接收單元接收的指示對動圖像進(jìn)行編輯的編輯單元,所述動圖像再編碼裝置隨著所述編輯單元對動圖像的編輯,而將編輯后的動圖像進(jìn)行再編碼。
8.一種安裝于動圖像再編碼裝置中的程序,該動圖像再編碼裝置包括解碼單元,根據(jù)將動圖像編碼后的位流對動圖像的幀進(jìn)行解碼;以及編碼單元,將由該解碼單元所解碼的幀進(jìn)行再編碼,其特征在于使所述動圖像再編碼裝置的控制部執(zhí)行如下步驟幀選擇步驟,根據(jù)所述解碼單元所解碼的幀選擇再編碼的幀;編碼指示步驟,由所述編碼單元僅對在該幀選擇步驟中所選擇的幀進(jìn)行編碼;間隔通知步驟,由所述編碼單元對幀進(jìn)行了再編碼后,計算從該幀到下一個作為再編碼對象的幀的幀間隔,并將該計算出的幀間隔通知給所述解碼單元;以及解碼指示步驟,當(dāng)通過所述間隔通知步驟通知之后,指示所述解碼單元以執(zhí)行所述位流的解碼直到經(jīng)過基于該通知的幀間隔的時刻為止,所述幀選擇步驟包括如下步驟,即將經(jīng)過所述時刻之前的幀中最后的幀選擇為下一再編碼幀。
9.根據(jù)權(quán)利要求8所述的程序,其特征在于所述間隔通知步驟包括如下步驟,即根據(jù)由所述編碼單元對幀進(jìn)行了編碼時的速率控制信息計算出所述幀間隔。
10.根據(jù)權(quán)利要求9所述的程序,其特征在于所述速率控制信息是下述信息之一或者多個信息,該信息為由所述編碼單元再編碼后的圖像尺寸、該幀的再編碼時的編碼量、所述編碼單元的編碼位速率、以及所述編碼單元的再編碼結(jié)束時的、虛擬了解碼時的視頻存儲器的虛擬緩沖器的占有量。
11.根據(jù)權(quán)利要求8至10中任意一項(xiàng)所述的程序,其特征在于該程序進(jìn)一步使所述控制部執(zhí)行操作輸入步驟,即從用戶接收作為再編碼對象的位流的指定、以及包含動圖像再編碼指示的操作,再所述編碼指示步驟中,指示所述編碼單元以基于在所述操作輸入步驟中輸入的操作的編碼位速率進(jìn)行編碼。
12.根據(jù)權(quán)利要求11所述的程序,其特征在于該程序進(jìn)一步使所述控制部執(zhí)行最小值計算步驟,即根據(jù)由所述操作輸入步驟輸入的與操作有關(guān)的信息,預(yù)先預(yù)測出所述幀間隔的最小值,在所述編碼指示步驟中,在由所述間隔通知步驟通知幀間隔之前,指示所述解碼單元繼續(xù)進(jìn)行解碼,直到在最大、所述最小值計算步驟中計算出的幀間隔的最小值所示的時刻為止。
13.根據(jù)權(quán)利要求8至12中任意一項(xiàng)所述的程序,其特征在于所述編碼單元具有將再編碼對象的幀進(jìn)行幀內(nèi)編碼的單元和進(jìn)行幀間編碼的單元。
14.根據(jù)權(quán)利要求8至13中任意一項(xiàng)所述的程序,其特征在于該程序使所述控制部進(jìn)一步執(zhí)行如下步驟從用戶接收對所述位流進(jìn)行編輯的指示的編輯接收步驟、以及根據(jù)在該編輯接收步驟中接收的指示對動圖像進(jìn)行編輯的編輯步驟,而且,使所述控制部控制所述解碼單元和編碼單元,從而隨著在所述編輯步驟中對動圖像進(jìn)行編輯,對編輯后的動圖像進(jìn)行再編碼。
15.一種程序,其特征在于使計算機(jī)以作為權(quán)利要求1至7任意一項(xiàng)所述的裝置進(jìn)行工作。
16.一種計算機(jī)可讀取的記錄介質(zhì),其特征在于記錄了權(quán)利要求8至15中任意一項(xiàng)所述的程序。
全文摘要
本發(fā)明提供一種動圖像再編碼裝置,在轉(zhuǎn)換或編輯被編碼的動圖像數(shù)據(jù)時,通過負(fù)荷較輕的簡單處理即可生成具有再現(xiàn)性的正確的編碼數(shù)據(jù)。該裝置具有解碼單元(12),根據(jù)編碼位流對動圖像的幀進(jìn)行解碼;選擇單元(15),從該解碼后的幀中選擇再編碼的幀;編碼單元(14),僅將該選擇的幀進(jìn)行再編碼;以及間隔通知單元(13),對幀進(jìn)行再編碼之后,計算出從該幀開始到作為下一再編碼對象的幀的間隔,并將該算出的幀間隔通知給所述解碼單元(12)。解碼單元(12)在由所述間隔通知單元(13)通知之后,執(zhí)行位流的解碼直到經(jīng)過基于該通知的幀間隔的時刻為止。所述幀選擇單元(15)將經(jīng)過該時刻之前的幀中最后的幀選擇為下一再編碼的幀。
文檔編號H04N5/92GK101040531SQ20058003507
公開日2007年9月19日 申請日期2005年9月12日 優(yōu)先權(quán)日2004年10月13日
發(fā)明者山田英明, 仲林次郎, 中村康洋 申請人:夏普株式會社