專利名稱:視頻編碼方法和裝置,以及視頻解碼方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種使用運動補償預(yù)測幀內(nèi)編碼的視頻編碼方法和裝置以及視頻解碼方法和裝置。
背景技術(shù):
作為視頻壓縮編碼技術(shù),MPEG 1(ISO/IEC 11172-2)、MPEG2(ISO/IEC 13818-2)、MPEG 4(ISO/IEC 14496-2)得到了廣泛地實際應(yīng)用。這些視頻編碼方式通過幀內(nèi)編碼、正向預(yù)測幀內(nèi)編碼、編碼和雙向預(yù)測幀間編碼的組合而實現(xiàn)。由這些編碼方式編碼的幀被稱為I圖像、P圖像和B圖像。使用在先的P圖像之前的P或I圖像作為參考幀對P圖像進行編碼。使用B圖像之前或之后的P或I圖像作為參考幀對B圖像進行編碼。正向預(yù)測幀間編碼和雙向預(yù)測幀間編碼稱作運動補償預(yù)測幀間編碼。
當基于MPEG方式的視頻編碼數(shù)據(jù)以快進方式播放時,傳統(tǒng)的方法是,只播放不需要參考幀的I圖像;或利用B圖像不能被用作參考幀的性質(zhì),只對I圖像和P圖像解碼而跳過B圖像。然而,當只有I圖像被播放時,如果I圖像的周期長,則可以進行高速快進播放而不能實現(xiàn)流暢的快進播放。在使用I圖像和P圖像的快進播放中,由于通過幀間預(yù)測編碼對P圖像進行了編碼,則必須對所有的I圖像和P圖像解碼。出于這種原因,隨意地改變快進的速度是困難的。
在傳統(tǒng)的MPEG方式的視頻編碼中,B圖像不被用作參考幀。因此,在多個B圖像連續(xù)的預(yù)測結(jié)構(gòu)的情況下,則必須使用與B圖像相對于一個時刻分離的P圖像作為參考幀對B圖像編碼。這導致了一個問題,就是B圖像的編碼效率的降低。另一方面,當已解碼的B圖像被用作P圖像中的參考幀時,在快進播放時,就需要對所有的幀進行解碼,包括B圖像,而播放時又跳過了B圖像。結(jié)果,有效地進行快進播放變得困難。
如上面所介紹的,當通過包括運動補償預(yù)測幀間編碼的編碼方式(例如MPEG)所得到的視頻編碼數(shù)據(jù)以快進方式播放時,利用僅播放I圖像的方式實現(xiàn)以自由的播放速度進行流暢地快進播放是困難的。當通過跳過B圖像而不對其進行解碼的方式進行快進播放時,難以使用解碼B圖像作為參考幀。出于這個原因,存在這樣一個問題,就是在B圖像連續(xù)的預(yù)測結(jié)構(gòu)中編碼效率的降低。
發(fā)明內(nèi)容
本發(fā)明的一個目的是,提供一種使用運動補償預(yù)測幀間編碼的視頻編碼和解碼方法及其裝置,其可以實現(xiàn)高編碼效率的快進播放和在解碼側(cè)的高自由度。
根據(jù)本發(fā)明的一個方面,提供一種使用參考幀對視頻幀進行編碼的方法,特征在于包括將視頻幀分配給多個預(yù)測組中的一個,該多個預(yù)測組包括至少第一和第二預(yù)測組;和利用取決于被分配了所述視頻幀的所述一個預(yù)測組的參考幀,按照運動補償預(yù)測編碼方式對視頻幀進行編碼,這些參考幀中的一個是解碼幀,其中第一預(yù)測組是通過利用屬于第一預(yù)測組的參考幀進行的預(yù)測得到的,而第二預(yù)測組是通過利用屬于第二預(yù)測組和第一預(yù)測組中的至少一個的參考幀進行的預(yù)測得到的。
根據(jù)本發(fā)明的另一方面,提供一種使用參考幀對視頻幀進行編碼的視頻編碼裝置,特征在于包括將視頻幀分配給多個預(yù)測組中的一個的分配單元,和編碼單元,使用取決于被分配了所述視頻幀的所述一個預(yù)測組的參考幀,按照運動補償預(yù)測幀間編碼方式對視頻幀進行編碼,這些參考幀中的一個是解碼幀,該編碼單元包括利用屬于第一預(yù)測組的參考幀產(chǎn)生第一預(yù)測組、并利用屬于第二預(yù)測組和第一預(yù)測組中的至少一個的參考幀產(chǎn)生第二預(yù)測組的預(yù)測器。
根據(jù)本發(fā)明的另一個方面,提供了一種將通過運動補償預(yù)測幀間編碼獲得的編碼數(shù)據(jù)解碼的方法,該方法包括接收包括編碼視頻幀數(shù)據(jù)、指示分配了視頻幀數(shù)據(jù)的第一和第二預(yù)測組的第一編碼識別信息以及指示用于運動補償預(yù)測幀間編碼的參考幀數(shù)據(jù)的第二編碼識別信息的編碼數(shù)據(jù);將第一編碼識別信息和第二編碼識別信息解碼,以生成第一解碼識別信息和第二解碼識別信息;和利用屬于第一預(yù)測組的參考幀數(shù)據(jù)和屬于第一和第二預(yù)測組的參考幀數(shù)據(jù)的至少一個,根據(jù)第一解碼識別信息和第二解碼識別信息,將視頻幀數(shù)據(jù)解碼。
根據(jù)本發(fā)明的另一個方面,提供了一種將通過運動補償預(yù)測幀間編碼獲得的編碼數(shù)據(jù)解碼的視頻解碼裝置,該裝置的特征在于包括接收單元,其接收包括編碼視頻幀數(shù)據(jù)、指示分配了視頻幀數(shù)據(jù)的第一和第二預(yù)測組的第一編碼識別信息以及指示用于運動補償預(yù)測幀間編碼中的參考幀數(shù)據(jù)的第二編碼識別信息的編碼數(shù)據(jù);第一解碼單元,其將第一編碼識別信息和第二編碼識別信息解碼,以生成第一解碼識別信息和第二解碼識別信息;和第二解碼單元,其利用屬于第一預(yù)測組的參考幀數(shù)據(jù)和屬于第一和第二預(yù)測組的至少一個的參考幀數(shù)據(jù),根據(jù)第一解碼識別信息和第二解碼識別信息,將視頻幀數(shù)據(jù)解碼。。
圖1表示按照本發(fā)明的一個實施例的視頻編碼裝置的框圖;圖2是表示視頻編碼中關(guān)于運動補償預(yù)測幀間編碼的主過程的流程的框圖;圖3表示按照本發(fā)明的一個實施例的運動圖象解碼裝置的結(jié)構(gòu)圖;圖4表示用于對運動補償預(yù)測幀間編碼的結(jié)果進行解碼的主過程的流程;圖5是用于上述實施例的視頻編碼裝置和視頻解碼裝置的運動補償預(yù)測單元的框圖;圖6是表示按照本發(fā)明的一個實施例的幀間預(yù)測結(jié)構(gòu)和參考幀控制的例子的示意圖;圖7是表示根據(jù)本發(fā)明的一個實施例的幀間預(yù)測結(jié)構(gòu)和參考幀控制的例子的示意圖;圖8是表示根據(jù)本發(fā)明的一個實施例的幀間預(yù)測結(jié)構(gòu)和參考存儲器控制的例子的示意圖;圖9是表示根據(jù)本發(fā)明的一個實施例的幀間預(yù)測結(jié)構(gòu)和參考存儲器控制的例子的示意圖;圖10是表示根據(jù)本發(fā)明的一個實施例的幀間預(yù)測結(jié)構(gòu)和參考存儲器控制的例子的示意圖;圖11是表示根據(jù)本發(fā)明的一個實施例的幀間預(yù)測結(jié)構(gòu)和參考存儲器控制的例子的示意圖;圖12表示根據(jù)本發(fā)明的實施例的變型的視頻編碼裝置的框圖;圖13表示根據(jù)本發(fā)明的實施例的變型的運動圖象解碼裝置的框圖;具體實施方式
下面將參照附圖對本發(fā)明的實施例進行說明。
(編碼)圖1是本實施例的視頻編碼裝置的框圖。圖2是表示由運動補償預(yù)測幀間編碼執(zhí)行的過程的步驟的流程圖。圖1中示出的視頻編碼裝置可以由硬件實現(xiàn),也可以利用計算機通過軟件實現(xiàn)。該過程的一部分由硬件執(zhí)行而剩余部分由軟件執(zhí)行。
本實施例基于這樣一種視頻編碼方式,該編碼方式是運動補償預(yù)測、正交變換和可變長度編碼的組合,該視頻編碼方式的代表是傳統(tǒng)的MPEG方案?,F(xiàn)在將介紹根據(jù)包括兩個級層(hierarchical layers)的預(yù)測組的視頻編碼方法。
視頻信號100(視頻幀)按幀輸入到視頻編碼裝置中。首先,視頻信號100的視頻幀由運動補償預(yù)測單元111分配給兩個級層的預(yù)測組中的任何一個(步驟S11)。使用至少一個參考幀,對該視頻幀按照運動補償預(yù)測幀間編碼進行編碼,該參考幀屬于低于該視頻幀所分配的預(yù)測組的級層的至少一個級層的預(yù)測組(步驟S12)。在這一實施例中,使用了存儲在幀存儲裝置118中的參考幀。
視頻幀向每個級層的預(yù)測組的分配在各幀間隨時間變化。例如,偶數(shù)幀被分配給第一級層的預(yù)測組,而奇數(shù)幀被分配給第二級層的預(yù)測組。根據(jù)屬于與用作參考幀的已編碼幀相應(yīng)的視頻幀的預(yù)測組,確定屬于每一個級層的預(yù)測組的參考幀。換句話說,如果視頻幀被分配給一個級層的預(yù)測組,對視頻幀進行編碼和本地解碼得到的編碼幀屬于同一級層的預(yù)測組。對步驟S11和S12的處理過程進行了詳細的說明。
如上所述,多個屬于第一和第二級層的預(yù)測組的已編碼幀作為參考幀。兩個參考存儲裝置118和119用于臨時儲存作為參考幀的已編碼幀。屬于第一級層(即,最底層的級層)的預(yù)測組的已編碼幀作為參考幀被臨時儲存在第一參考存儲裝置118中。屬于第二級層(即,較高級層)的預(yù)測組的已編碼幀作為參考幀被臨時儲存在第二參考存儲裝置119中。
利用屬于第一級層的預(yù)測組并存儲在第一參考存儲裝置118中的參考幀,對分配給第一級層的預(yù)測組的視頻幀進行運動補償預(yù)測幀間編碼。另一方面,利用屬于第一和第二級層的預(yù)測組并儲存在第一和第二參考存儲裝置118和119中的參考幀,對分配給第二級層的預(yù)測組的視頻幀進行運動補償預(yù)測幀間編碼。
下面將具體說明運動補償預(yù)測幀編碼。當相應(yīng)于視頻信號100的視頻幀屬于第一級層的預(yù)測組時,臨時存儲在第一參考存儲裝置118中的一個或多個參考幀被從其中讀出,并輸入到運動補償預(yù)測單元111中。此時,開關(guān)120斷開,所以來自第一參考存儲裝置119的參考幀不會輸入到運動補償預(yù)測單元111中。利用一個或多個從參考存儲裝置118中讀出的參考幀,運動補償預(yù)測單元111進行運動補償預(yù)測,以產(chǎn)生預(yù)測圖像信號104。預(yù)測圖像信號104被輸入到減法器110中以產(chǎn)生預(yù)測誤差信號101,預(yù)測誤差信號101是預(yù)測圖像信號104相對于輸入視頻信號100的誤差信號。
當相應(yīng)于輸入視頻信號100的視頻幀屬于第二級層的預(yù)測組時,開關(guān)120為閉合。此時,一個或多個臨時儲存在第一和第二參考存儲裝置118和119中的參考幀被從其中讀出,并輸入到運動補償預(yù)測單元111。運動補償預(yù)測單元111產(chǎn)生預(yù)測圖像信號104并與上面所述類似地提供給減法器110。減法器110產(chǎn)生預(yù)測誤差信號101。
通過DCT(離散余弦變換)變換器112對預(yù)測誤差信號101進行離散余弦變換。由量化器113對來自DCT變換器112的DCT系數(shù)進行量化。經(jīng)量化的DCT系數(shù)數(shù)據(jù)102被分成兩路,并且其中一路由可變長度編碼器114進行編碼。在另一路上,由去量化器115和反DCT變換器116將DCT系數(shù)數(shù)據(jù)102再生為預(yù)測誤差信號。這一再生的預(yù)測誤差信號與預(yù)測圖像信號104相加以產(chǎn)生本地解碼圖像信號103。
根據(jù)與輸入的視頻信號100對應(yīng)的視頻幀所分配的級層的預(yù)測組,相應(yīng)于本地已解碼圖像信號103的已編碼幀被暫時保存在第一和第二參考存儲裝置118和119中的一個里(步驟S13)。換句話說,當視頻幀屬于第一級層的預(yù)測組時,已編碼幀被臨時儲存在第一參考存儲裝置118中。當視頻幀屬于第二級層的預(yù)測組時,已編碼幀就被臨時儲存在第二參考存儲裝置119中。
從運動補償預(yù)測單元111中輸出所謂的輔助信息105,包括用于運動補償預(yù)測的運動向量、用于識別視頻幀所屬的預(yù)測組的索引(第一識別信息)以及指定用于運動補償預(yù)測幀間編碼的參考幀的索引(第二識別信息)。由可變長度編碼單元114對輔助信息進行編碼(步驟114)。在這種情況下,用于識別預(yù)測組的索引就被編碼為代表例如一種預(yù)測結(jié)構(gòu)的圖像類型。按每個宏塊對指定參考幀的索引進行編碼。
這些輔助信息與量化DCT系數(shù)數(shù)據(jù)一起作為可變長度編碼的數(shù)據(jù)106輸出(步驟S15),量化DCT系數(shù)數(shù)據(jù)是運動補償預(yù)測幀間編碼的結(jié)果。例如,輔助信息作為標題信息被編碼到編碼數(shù)據(jù)106中。此外,如果采用第二參考幀數(shù)量設(shè)置方法,代表幀的最大數(shù)量的信息被作為標題信息編碼到編碼數(shù)據(jù)106中。第二參考幀數(shù)量設(shè)置方法是一種通過預(yù)定屬于每個級層的預(yù)測組的參考幀的總量來設(shè)置分配給每個級層的預(yù)測組的參考幀的最大數(shù)量的方法。編碼數(shù)據(jù)106被傳送給存儲介質(zhì)或傳輸介質(zhì)(未示出)。
新的已解碼幀作為參考幀被連續(xù)寫入?yún)⒖即鎯ρb置118和119中。以幀為單位進行所謂的FIFO(先進先出)型控制,即,所儲存的幀從最舊的參考幀開始被依次刪除。然而,在讀取參考幀時,在每個參考存儲裝置118和119中,對任意的參考幀進行隨機訪問。
參考幀的數(shù)量分別臨時儲存在參考儲存裝置118和119中,換句話說,包括在每個參考存儲裝置118和119中的參考存儲器的數(shù)量是通過下面的兩種方法中的任一個來確定的。
在第一參考幀數(shù)量設(shè)置方法中,屬于每個級層的預(yù)測組的參考幀的最大數(shù)量是根據(jù)編碼方法或編碼規(guī)范(例如配置文件(profile)、級別)預(yù)先確定的。在視頻編碼裝置和視頻解碼裝置中,為每個預(yù)測組確定了由上述方法確定的參考幀的最大數(shù)量,并進行編碼和解碼。在這種情況下,通過使視頻編碼裝置和視頻解碼裝置之間的編碼規(guī)范相一致,參考幀的必要數(shù)量可以自動地確定。
在第二參考幀數(shù)量設(shè)置方法中,屬于每一個級層的預(yù)測組的參考幀的總數(shù)是根據(jù)編碼方法或編碼規(guī)范(例如配置文件(profile)、級別)預(yù)先確定的,而有多少參考幀被分配給每個級層的預(yù)測組的信息,也就是指示了幀的最大數(shù)量的信息,作為標題信息被編碼到編碼數(shù)據(jù)106中。
如此所述,在第二參考幀數(shù)量設(shè)置方法中,在編碼側(cè),最適于每個級層的預(yù)測組的最大數(shù)量的參考幀被動態(tài)地分配給預(yù)測組。
通過對代表著所分配的幀的最大數(shù)量的信息進行的編碼,可以使得屬于每個級層的預(yù)測組的參考幀的最大數(shù)量在編碼側(cè)和解碼側(cè)之間彼此一致。因此,屬于每個級層的預(yù)測組的參考幀的最大數(shù)量與參考幀的總數(shù)的比例可以根據(jù)輸入視頻信號100的圖像性質(zhì)的變化而適當?shù)馗淖?。結(jié)果,編碼效率得到了提高。
在上面的說明中,編碼是以幀為單位進行的。編碼是以塊(宏塊)為單位進行的。換句話說,將視頻塊分配給至少包含有第一和第二預(yù)測組的多個預(yù)測組中的一個。按照運動補償預(yù)測編碼方式,利用從屬于被分配了視頻塊的多個預(yù)測組中的一個的參考塊,對視頻塊進行編碼,參考塊中的一個為解碼塊。通過使用屬于第一預(yù)測組的參考塊進行的預(yù)測得到第一預(yù)測組。通過使用屬于第一和第二預(yù)測組中的至少一個的參考塊進行的預(yù)測得到第二預(yù)測組。
通過幀內(nèi)編碼方式、正向預(yù)測幀間編碼方式以及雙向預(yù)測幀間編碼方式中的一種對視頻塊進行編碼。通過幀內(nèi)編碼方式和正向預(yù)測幀間編碼方式對第一視頻塊編碼、相應(yīng)于第一視頻塊的參考塊被分配給第一預(yù)測組。通過雙向預(yù)測幀間編碼方式對第二視頻塊編碼、相應(yīng)于第二視頻塊的參考塊被分配給第一和第二預(yù)測組中的至少一個。
(解碼)圖3是與圖1所示的視頻編碼裝置相應(yīng)的視頻解碼裝置的結(jié)構(gòu)圖。圖4是說明涉及與運動補償預(yù)測幀間編碼相應(yīng)的解碼的處理步驟的流程圖。附圖3中所示的視頻解碼裝置可以通過硬件實現(xiàn),也可以由軟件實現(xiàn)。另一方面,處理過程的一部分可由硬件執(zhí)行而剩下的部分由軟件執(zhí)行。
由圖1中所示的視頻編碼裝置輸出的編碼數(shù)據(jù)106通過存儲介質(zhì)或傳輸介質(zhì)輸入到圖3中所示的視頻解碼裝置中。由可變長度解碼器214對所輸入的編碼數(shù)據(jù)200進行可變長度解碼,從而輸出量化的DCT系數(shù)數(shù)據(jù)201和輔助信息202。由去量化器215和反DCT變換器216對量化的DCT系數(shù)數(shù)據(jù)201進行解碼,從而再生預(yù)測誤差信號。
另一方面,對包含有按每宏塊編碼的運動向量、識別屬于每個視頻幀的預(yù)測組的索引(第一識別信息)以及指定參考幀的索引(第二識別信息)的輔助信息202進行解碼(步驟21)。根據(jù)輔助信息進行類似于編碼過程的參考幀選擇和運運動補償,以產(chǎn)生預(yù)測圖像信號203。換句話說,根據(jù)第一識別信息和第二識別信息來選擇參考幀(步驟S22)。根據(jù)所選取的參考幀對運動補償預(yù)測幀間編碼的結(jié)果進行解碼(步驟S23)。預(yù)測圖像信號203與來自反DCT變換器216的預(yù)測誤差信號相加得到解碼圖像信號204。
根據(jù)相應(yīng)于解碼幀的編碼幀所屬的預(yù)測組,相應(yīng)于解碼圖像信號204的解碼幀被臨時存儲在第一和第二參考存儲裝置218和219的任一個中(步驟S24)。解碼幀被用作參考幀。類似于視頻編碼裝置,按照FIFO方式對這些參考存儲裝置218和219進行控制。按照在視頻編碼裝置中所介紹的第一和第二參考幀數(shù)量設(shè)置方法,對屬于每一級層的預(yù)測組的參考幀的數(shù)量進行設(shè)置。
換句話說,當按照第一參考幀數(shù)量設(shè)置方法和編碼規(guī)范預(yù)定了屬于每個級層的預(yù)測組的參考幀的最大數(shù)量時,對于每種編碼規(guī)范,將屬于每個級層的預(yù)測組的參考幀的數(shù)量設(shè)置為固定值。當按照第二參考幀數(shù)量設(shè)置方法和編碼規(guī)范預(yù)定了屬于每個級層的預(yù)測組的參考幀的總數(shù)時,則最大數(shù)量的參考幀被分配給每個級層的預(yù)測組。只有參考幀的總數(shù)量是固定的,根據(jù)指示按照編碼數(shù)據(jù)的標題信息解碼的參考幀的最大數(shù)量的信息對從屬于每個級層的預(yù)測組的參考幀的數(shù)量進行動態(tài)控制。
圖5表示圖1所示的視頻編碼裝置中的運動補償預(yù)測單元111或圖3中所示的視頻解碼裝置中的運動補償預(yù)測單元211的結(jié)構(gòu)。
如上面所提到的,按照將被編碼的幀或?qū)⒈唤獯a的幀所屬的級層的預(yù)測組,可用的參考幀是不同的。假設(shè)圖5中的幀存儲器302到304存儲了可用作從屬于一個級層的預(yù)測組的編碼幀的參考幀的參考幀。
運動補償預(yù)測單元對每個宏塊從可用的參考幀中選擇一個參考幀,或通過線性預(yù)測器301計算可用參考幀的線性和,以基于該線性和預(yù)測一個參考幀,由此,執(zhí)行了一次運動補償以產(chǎn)生一個預(yù)測宏塊。
視頻編碼裝置對每個宏塊選擇參考幀和運動向量,以便選擇具有小的預(yù)測誤差和最高的編碼效率的預(yù)測宏塊。所選擇的參考幀的信息和運動向量的信息按每宏塊編碼。
在視頻解碼裝置中,運動補償單元根據(jù)所接收到的運動向量和參考幀的信息產(chǎn)生一個預(yù)測宏塊并對其解碼。當基于線性和進行預(yù)測時,關(guān)于線性預(yù)測系數(shù)的信息被編碼為編碼數(shù)據(jù)的標題信息,以使編碼和解碼之間在線性預(yù)測器系數(shù)上保持一致。
圖6到11表示用于說明本實施例中的幀間預(yù)測結(jié)構(gòu)和參考存儲控制的示意圖。
圖1示出了由I和P圖像構(gòu)成的并且在預(yù)測組a和預(yù)測組b之間交替轉(zhuǎn)換每個幀的例子。假設(shè)預(yù)測組b具有比預(yù)測組a高的級層。而且,假設(shè)預(yù)測組a和預(yù)測組b的每一個的參考儲存器是一個幀。
具有下標a(例如Ia0、Pa2、Pa4)的圖像屬于預(yù)測組a,而具有下標b(例如Pb1、Pb3、Pb5)的圖像屬于預(yù)測組b。這些預(yù)測組的屬性被編碼為圖像類型的擴展(extension)或獨立索引并被用作視頻幀的標題信息。屬于預(yù)測組a的視頻幀只能使用屬于預(yù)測幀a并且已經(jīng)解碼為參考幀的幀。
至于更高級層的預(yù)測幀b,使用一個屬于預(yù)測組a和預(yù)測組b中的任一個的并且已解碼的幀或者兩個已解碼幀的線性和,來產(chǎn)生預(yù)測圖像。
每個級層的預(yù)測組具有一個相應(yīng)于一個幀的參考存儲器。因此,預(yù)測組a的視頻幀的參考幀的數(shù)量最大為1。最多兩個參考幀可以被用于預(yù)測組b的視頻幀。屬于,例如,預(yù)測組a的幀Pa2僅使用解碼幀Ia0作為參考幀。屬于預(yù)測組b的幀Pb3使用兩個幀,即,屬于預(yù)測組a的解碼幀Pa2和屬于預(yù)測組b的解碼幀Pb1作為參考幀。
在圖6中,F(xiàn)M1、FM2和FM3表示物理參考存儲器。DEC、REFa和REFb分別表示邏輯參考存儲器。換句話說,DEC、REFa和REFb是由虛擬地址表示的幀存儲器。FM1、FM2和FM3是由物理地址表示的幀存儲器。以虛擬地址表示,DEC是用于臨時存儲當前解碼幀的幀存儲器。REFa和REFb分別表示預(yù)測組a和預(yù)測組b的參考存儲器。因此,屬于預(yù)測組a的解碼幀被依次地且臨時地存儲在參考存儲器REFa中。屬于預(yù)測組b的解碼幀被依次地且臨時地存儲在參考存儲器REFb中。
在圖6的例子中,可以放棄屬于較高級層的預(yù)測組b的視頻幀而只對屬于預(yù)測組a的幀進行解碼。這樣,如果有兩個參考存儲器,例如,用于臨時存儲當前解碼幀的幀存儲器DEC和預(yù)測組a的參考存儲器REFa,則解碼是可能的。
通過僅對屬于預(yù)測組a的幀進行解碼,能夠不用破壞預(yù)測結(jié)構(gòu)按半個幀周期對幀進行解碼。以例如兩倍幀頻播放屬于預(yù)測組a的解碼幀可以實現(xiàn)流暢的快進播放。而且,當傳輸信道的帶寬隨視頻信號流中的時間波動時,所有的編碼數(shù)據(jù)以正常狀態(tài)發(fā)送。當傳輸信道的有效帶寬減小時,則放棄屬于屬于預(yù)測組b的編碼數(shù)據(jù)而只發(fā)送屬于較低級層的預(yù)測組a的編碼數(shù)據(jù)。這樣,在接收端就不會不能再現(xiàn)解碼幀。
圖7表示對圖6的改進,圖示了兩個屬于預(yù)測組b的幀被插入到屬于預(yù)測組a的幀之間的預(yù)測結(jié)構(gòu)。每個級層的預(yù)測組的參考存儲是一個幀。對于這種情況,可以通過對三個幀使用一個幀存儲器進行類似于圖6的解碼。在圖7所示的例子中,通過僅對,例如,預(yù)測組a的幀進行解碼并以原始幀頻播放編碼幀,可以實現(xiàn)流暢的三倍速快進播放。
圖8表示由I和P圖像構(gòu)成的預(yù)測結(jié)構(gòu),其預(yù)測組包括三個級層a、b、c。預(yù)測組a的幀按每四個輸入幀進行分配。預(yù)測組b的一個幀和預(yù)測組c的兩個幀被插入到預(yù)測組a的幀之間。
各級層的預(yù)測組a、b、c的參考幀是一個幀。層次按照a、b、c的順序增加。換句話說,屬于預(yù)測組a的幀可以僅使用解碼預(yù)測組a的一個幀作為參考幀。屬于預(yù)測組b的幀可以使用解碼預(yù)測組a和b的兩個幀作為參考幀。屬于預(yù)測組c的幀可以使用解碼預(yù)測組a、b、c的三個幀作為參考幀。
在圖8中,DEC、REFa、REFb、REFc表示用于臨時儲存解碼幀的幀存儲器、分別用于存儲預(yù)測組a的參考幀、預(yù)測組b的參考幀、預(yù)測組c的參考幀的邏輯幀存儲器。FM1、FM2、FM3和FM4分別表示用于上述四種幀的物理幀存儲器。在當前幀之前已經(jīng)被解碼的一個幀被臨時存儲在參考存儲器REFa、REFb和REFc中。當前解碼幀被寫入解碼幀存儲器DEC中。
在圖8的結(jié)構(gòu)中,預(yù)測組包括三個級層。因此,當不超過預(yù)測組c的所有的編碼幀被解碼時,實現(xiàn)正常播放。當不超過預(yù)測組b的編碼幀被解碼時,幀正常數(shù)量的1/2的幀被解碼。當不超過預(yù)測組a的編碼幀被解碼時,幀正常數(shù)量的1/4的幀被解碼。在任一解碼過程中,可從預(yù)測結(jié)構(gòu)無誤地產(chǎn)生正常解碼圖像。通過動態(tài)控制所要解碼的級層,可以實現(xiàn)流暢的可調(diào)速快進播放?;蛘?,通過動態(tài)控制所傳輸?shù)募墝?,可以動態(tài)改變傳輸比特率。
在附圖9中,預(yù)測結(jié)構(gòu)包括I、P和B圖像,I和P圖像分配給預(yù)測組a而B圖像分配給預(yù)測組b。預(yù)測組b采用比預(yù)測組a更高的級層。預(yù)測組a包括兩個幀,即,兩個參考存儲器,而預(yù)測組b包括一個幀,即,一個參考存儲器。
在圖9所示的例子中,預(yù)測組a的I和P圖像的參考存儲器的數(shù)量是2。因此,可以使用兩個幀作為參考幀,兩個幀中的一個是在當前的P圖像之前被編碼或解碼的I或P圖像,而另一個是在當前P圖像之前的兩個幀的I或P圖像。在B圖像中,預(yù)測組b有一個參考幀。因此,在當前幀之前編碼或解碼的B圖像的一個幀被用作參考幀。此外,可以使用由B圖像和包含在相應(yīng)于較低級層的預(yù)測組中的兩個在先的幀的I和P圖像組成的三個幀的參考幀。
類似于圖6到8,F(xiàn)M1、FM2、FM3和FM4表示物理幀存儲器,而DEC、REFa1、REFa2和REFb表示邏輯幀存儲器。DEC表示用于在解碼期間臨時存儲一個幀的幀存儲器。REFa1和REFa2表示相應(yīng)于預(yù)測組a的兩個幀的參考存儲器。REFb表示相應(yīng)于預(yù)測組b的一個幀的參考存儲器。
圖9中的Idx0和Idx1表示在解碼過程中為幀指定參考幀的索引。在解碼過程中,例如,幀Pa6,在幀Pa6之前的并屬于預(yù)測組a的兩個幀Pa3和Ia0是備選的參考幀。參考幀的索引被順序地分配給時間上更接近視頻幀的各幀。指示參考幀的索引被按宏塊編碼并且對每個宏塊都選擇參考幀。對于索引為0的宏塊,通過在相應(yīng)于該宏塊的圖像之前的I或P圖像產(chǎn)生預(yù)測圖像。對于索引為1的宏塊,通過在相應(yīng)于該宏塊的圖像前面的兩個幀的I或P圖像產(chǎn)生預(yù)測圖像。當通過當前圖像之前的I或P圖像以及當前圖像之前的兩個幀的I或P圖像的線性和產(chǎn)生預(yù)測圖像時,識別一對索引0和1的索引被編碼為宏卷的標題信息。
圖9中的BWref表示用于B圖像的反向預(yù)測的參考幀。在圖9的例子中,用于圖像Bb1和Bb2的反向參考幀是圖像Pa3,而用于圖像Bb4和Bb5的反向參考幀是圖像Pa6。由于幀的分類的限制,反向預(yù)測的參考幀限于之前編碼或解碼的I或P圖像。因此,參考幀被唯一地確定。從而,反向預(yù)測的參考幀BWref不應(yīng)被編碼為標題信息。
在圖9所示的例子中,可以通過最多兩個可選的幀進行B圖像的正向預(yù)測。在例如圖像Bb4的編碼和解碼過程中,圖像Pa3和Bb2可以被用作參考幀,其中圖像Pa3是時間上在圖像Bb4之前并且屬于預(yù)測組a的幀,圖像Bb2是先于圖像Bb4兩個幀并且屬于預(yù)測組b的幀。指示對于每個宏塊選擇了哪個參考幀或是否根據(jù)兩個參考幀的線性和進行預(yù)測的索引被編碼。類似于圖像Bb5,兩種圖像Bb4和Pa3被用作參考幀。
至于參考幀的索引,對于正向預(yù)測,以與參考幀時間上更相近的順序按視頻幀給參考幀加上編號。在圖9的例子中,在P圖像的編碼和解碼過程中,存儲在參考存儲器中的I或P圖像以時間順序排列并編號。在B圖像的編碼和解碼過程中,存儲在參考存儲器中的所有參考幀,除了在用作反向預(yù)測的參考幀之前編碼或解碼的I或P圖像之外,都以時間順序排列并編號。附圖9中的Idx0和Idx1代表按照上述規(guī)則產(chǎn)生的索引。
圖10是圖9的改進,表示一種對于預(yù)測組b,即,B圖像,將參考幀的數(shù)量設(shè)置為2而參考存儲器的總數(shù)設(shè)置為5的情況。FM1到FM5表示物理參考幀。DEC表示在解碼過程中臨時儲存一個圖像的緩存器。REFa1和REFa2表示預(yù)測組a,也就是,用于I和P圖像的參考存儲器。REFb1和REFb2表示預(yù)測組b,也就是,分別用于B圖像的邏輯參考存儲器。Idx0、Idx1和Idx2代表在正向預(yù)測中分配的參考幀索引。BWref表示用于B圖像的反向預(yù)測的參考幀。類似于圖9所示的例子,對于每個宏塊,正向預(yù)測中的參考幀索引被編碼為標題信息。
在圖6到10所示的例子中,每個級層的預(yù)測組的參考存儲器的數(shù)量是固定的。然而,在參考幀的總數(shù)恒定的情況下,每個級層的預(yù)測組的參考幀的數(shù)量可以是動態(tài)變化的。在例如附圖6所示的結(jié)構(gòu)中,預(yù)測組b的參考存儲器的數(shù)量被設(shè)置為0,而同時預(yù)測組a的參考存儲器的數(shù)量被設(shè)置為2。這一改變可以通過編碼數(shù)據(jù)的標題信息由編碼側(cè)告知解碼側(cè)。此時,控制運動補償預(yù)測的選擇,以致可以在編碼側(cè)采用根據(jù)預(yù)測組a的兩個在先的幀進行的預(yù)測,而禁止根據(jù)預(yù)測組b的在先幀進行的預(yù)測,盡管進行了根據(jù)預(yù)測組a的兩個在先幀的預(yù)測。
在上面的說明中,解碼是以幀為單位進行的。解碼是以塊(宏塊)為單位進行的。換句話說,編碼數(shù)據(jù)包括編碼視頻塊數(shù)據(jù)、代表被分配了所述視頻塊數(shù)據(jù)的第一和第二預(yù)測組的第一編碼識別信息和代表在運動補償預(yù)測幀間編碼中使用的參考塊數(shù)據(jù)的第二編碼識別信息。對第一編碼識別信息和第二編碼識別信息進行解碼以產(chǎn)生第一解碼識別信息和第二解碼識別信息。使用屬于第一預(yù)測組的參考塊數(shù)據(jù)和屬于第一和第二預(yù)測組的至少一個的參考塊數(shù)據(jù),根據(jù)第一解碼識別信息和第二解碼識別信息,對視頻塊數(shù)據(jù)進行解碼。
圖11表示一個預(yù)測結(jié)構(gòu),以及當參考存儲器的分配變?yōu)樯厦嫠龅膱D6的例子那樣時,如何使用幀存儲器。
上述的方法動態(tài)地實現(xiàn)在有限數(shù)量的參考幀中設(shè)置適用于輸入視頻圖像的最優(yōu)預(yù)測結(jié)構(gòu)。而且,該方法可以實現(xiàn)預(yù)測效率得到提高的高效編碼。
圖12和13表示使用分別不少于三個級層的預(yù)測組的視頻編碼裝置和視頻解碼裝置。據(jù)此,參考幀裝置118或218屬于最低級層。屬于較高級層的兩個或更多參考幀裝置119以及兩個或更多開關(guān)117和120配置在視頻編碼裝置中。屬于較高級層的兩個或更多參考幀裝置219以及兩個或更多開關(guān)217和220配置在視頻解碼裝置中。當開關(guān)117和120或開關(guān)217和220根據(jù)級層的數(shù)量被閉合時,參考幀的數(shù)量增加。換句話說,根據(jù)級層的增加,開關(guān)117和120或開關(guān)217和220依次閉合。具體地,分配給多個預(yù)測組的多個視頻幀從最低級層的預(yù)測組到比最低級層更高的級層的至少一個預(yù)測組依次分層。使用屬于最低級層的預(yù)測組和比被分配了視頻幀的預(yù)測組的級層更低的級層的預(yù)測組的參考幀,對視頻幀進行運動補償預(yù)測幀間編碼。
如上所述,幀間預(yù)測結(jié)構(gòu)構(gòu)成為分層的預(yù)測組結(jié)構(gòu)。根據(jù)較高級層的預(yù)測組的參考幀的幀間預(yù)測被禁止。此外,在參考幀的總數(shù)恒定的前提下,每一級層的預(yù)測組的參考幀的數(shù)量被動態(tài)地改變,其結(jié)果是改善了編碼效率,可以以高自由度實現(xiàn)快進播放。
當增加層級時,可以在快進播放中實現(xiàn)平緩的播放。而且,由于幀周期即幀頻增加,在以快進方式播放時,圖像品質(zhì)得到了提高。
當使用家用電視播放上面所述的多級層視頻圖像時,所有的級層都可以播放。當使用蜂窩電話播放該多級層視頻圖像時,為了減輕硬件的負擔,可以通過適當?shù)奶S來播放該多級層視頻圖像。也就是說,可以根據(jù)接收端的硬件選擇級層。
其它的優(yōu)點和改進對本領(lǐng)域的技術(shù)人員來說是顯而易見的。因此,本發(fā)明的范圍更寬,不局限于這里所示出和說明的具體細節(jié)和典型實施例。因此,可以進行各種修改而不會超出由所附的權(quán)利要求和它們的等價內(nèi)容所限定的總的發(fā)明構(gòu)思的精神或范圍。
權(quán)利要求
1.一種將通過運動補償預(yù)測幀間編碼獲得的編碼數(shù)據(jù)解碼的方法,該方法包括接收包括編碼視頻幀數(shù)據(jù)、指示分配了視頻幀數(shù)據(jù)的第一和第二預(yù)測組的第一編碼識別信息以及指示用于運動補償預(yù)測幀間編碼的參考幀數(shù)據(jù)的第二編碼識別信息的編碼數(shù)據(jù);將第一編碼識別信息和第二編碼識別信息解碼,以生成第一解碼識別信息和第二解碼識別信息;和利用屬于第一預(yù)測組的參考幀數(shù)據(jù)和屬于第一和第二預(yù)測組的參考幀數(shù)據(jù)的至少一個,根據(jù)第一解碼識別信息和第二解碼識別信息,將視頻幀數(shù)據(jù)解碼。
2.根據(jù)權(quán)利要求1的方法,其中當屬于第一和第二預(yù)測組的每一個的參考幀的最大數(shù)量對于第一和第二預(yù)測組的每一個被預(yù)先確定時,屬于第一和第二預(yù)測組的每一個的參考幀數(shù)被設(shè)定為固定值,并且被用于將視頻幀數(shù)據(jù)解碼。
3.根據(jù)權(quán)利要求1的方法,其中當屬于第一和第二預(yù)測組的參考幀總數(shù)被預(yù)先確定,并且參考幀的最大數(shù)量被分配給第一和第二預(yù)測組的每一個時,參考幀的總數(shù)被固定,并且屬于第一和第二預(yù)測組的每一個的參考幀數(shù)基于指示解碼參考幀最大數(shù)量的信息被動態(tài)控制,且被用于將視頻幀數(shù)據(jù)解碼。
4.根據(jù)權(quán)利要求1的方法,其中將視頻幀數(shù)據(jù)解碼的步驟包括利用數(shù)據(jù)第一和第二預(yù)測組之一的一個幀或?qū)儆诘谝缓偷诙A(yù)測組兩者的解碼幀的線性和,生成預(yù)測圖像。
5.根據(jù)權(quán)利要求1的方法,其中將視頻幀數(shù)據(jù)解碼的步驟包括將屬于第一預(yù)測組的視頻幀丟棄,并且僅將屬于第二預(yù)測組的視頻幀解碼。
6.一種將通過運動補償預(yù)測幀間編碼獲得的編碼數(shù)據(jù)解碼的視頻解碼裝置,該裝置的特征在于包括接收單元,其接收包括編碼視頻幀數(shù)據(jù)、指示分配了視頻幀數(shù)據(jù)的第一和第二預(yù)測組的第一編碼識別信息以及指示用于運動補償預(yù)測幀間編碼中的參考幀數(shù)據(jù)的第二編碼識別信息的編碼數(shù)據(jù);第一解碼單元,其將第一編碼識別信息和第二編碼識別信息解碼,以生成第一解碼識別信息和第二解碼識別信息;和第二解碼單元,其利用屬于第一預(yù)測組的參考幀數(shù)據(jù)和屬于第一和第二預(yù)測組的至少一個的參考幀數(shù)據(jù),根據(jù)第一解碼識別信息和第二解碼識別信息,將視頻幀數(shù)據(jù)解碼。
7.根據(jù)權(quán)利要求6的裝置,其中第二解碼單元包括幀存儲器,其中當屬于第一和第二預(yù)測組的每一個的參考幀的最大數(shù)量對于第一和第二預(yù)測組的每一個被預(yù)先確定時,屬于第一和第二預(yù)測組的每一個的參考幀數(shù)被設(shè)定為固定值,并且被用于將視頻幀數(shù)據(jù)解碼。
8.根據(jù)權(quán)利要求6的裝置,其中第二解碼單元包括幀存儲器,其中當屬于第一和第二預(yù)測組的參考幀總數(shù)被預(yù)先確定,并且參考幀的最大數(shù)量被分配給第一和第二預(yù)測組的每一個時,參考幀的總數(shù)被固定,并且屬于第一和第二預(yù)測組的每一個的參考幀數(shù)基于指示解碼參考幀最大數(shù)量的信息被動態(tài)控制,并且被用于將視頻幀數(shù)據(jù)解碼。
9.根據(jù)權(quán)利要求6的裝置,其中第二解碼單元包括運動補償預(yù)測單元,其利用數(shù)據(jù)第一和第二預(yù)測組之一的一個幀或?qū)儆诘谝缓偷诙A(yù)測組兩者的解碼幀的線性和,生成預(yù)測圖像。
10.根據(jù)權(quán)利要求6的裝置,其中解碼單元包括解碼器,其將屬于第一預(yù)測組的視頻幀丟棄,并且僅將屬于第二預(yù)測組的視頻幀解碼。
全文摘要
本申請公開了一種視頻編碼方法和裝置,以及視頻解碼方法和裝置。具體地,公開了一種將通過運動補償預(yù)測幀間編碼獲得的編碼數(shù)據(jù)解碼的方法,該方法包括接收包括編碼視頻幀數(shù)據(jù)、指示分配了視頻幀數(shù)據(jù)的第一和第二預(yù)測組的第一編碼識別信息以及指示用于運動補償預(yù)測幀間編碼的參考幀數(shù)據(jù)的第二編碼識別信息的編碼數(shù)據(jù);將第一編碼識別信息和第二編碼識別信息解碼,以生成第一解碼識別信息和第二解碼識別信息;和利用屬于第一預(yù)測組的參考幀數(shù)據(jù)和屬于第一和第二預(yù)測組的參考幀數(shù)據(jù)的至少一個,根據(jù)第一解碼識別信息和第二解碼識別信息,將視頻幀數(shù)據(jù)解碼。
文檔編號H04N7/50GK1893652SQ20061008995
公開日2007年1月10日 申請日期2003年3月28日 優(yōu)先權(quán)日2002年3月29日
發(fā)明者古藤晉一郎, 中條健, 菊池義浩 申請人:株式會社東芝