專利名稱:同步雙向幀的產(chǎn)生及其使用的制作方法
技術(shù)領(lǐng)域:
本發(fā)明通常涉及視頻處理,特別涉及視頻編碼和解碼的方法和裝置。更特別地,本 發(fā)明涉及數(shù)字視頻里一個(gè)新的幀類型,其使用雙向幀。發(fā)明概述目前,視頻通信變得越來(lái)越流行。人們無(wú)論身處何時(shí)何地通過(guò)何種網(wǎng)絡(luò)都能夠 在所有類型的設(shè)備上欣賞到視頻。因此,人們對(duì)視頻通信的性能有更高的期望,如視頻質(zhì) 量、分辨率、平滑度,但是網(wǎng)絡(luò)或設(shè)備的限制如帶寬卻帶來(lái)了挑戰(zhàn)。視頻編碼的效率越高, 越容易滿足這些其月望° Yun Q. Shi 禾口 Huifang Sun 在"Image and video compression for multimediaengineering"fundamentals, algorithms, and standards, (CRC Press, BocaRaton), c. 2008 ;L. Hanzo 等在“Video compression and communications frombasics to H. 261, H. 263, H. 264, MPEG2, MPEG4 for DVB and HSDPA-styleadaptive turbo-transceivers,,,(IEEE Press :J. Wiley & Sons, NJ), c. 2007 ;以及 Ahmet Kondoz 在 "Visual media coding and transmission,,,(Wiley,UK),c. 2009 里描述了視頻編碼和視 頻壓縮,在此其披露通過(guò)引用被結(jié)合到本發(fā)明。為了使運(yùn)動(dòng)矢量不僅能夠參考過(guò)去幀而且參考將來(lái)幀,視頻編碼結(jié)合雙向幀(B 幀)。雙向幀通過(guò)一個(gè)由前幾個(gè)參考幀得來(lái)的預(yù)測(cè)算法(前向預(yù)測(cè))或由后幾個(gè)參考幀得 來(lái)的預(yù)測(cè)算法(后向預(yù)測(cè))進(jìn)行壓縮。每個(gè)雙向幀采用至少兩個(gè)參考幀,過(guò)去幀或?qū)?lái)幀, 使用幀之間的任何相關(guān)性(即使過(guò)去幀沒(méi)有相關(guān)性,但是仍有可能將來(lái)幀有相關(guān)性),并獲 得更好的編碼效率。正常而言,雙向幀不會(huì)充當(dāng)其他幀的參考幀。換言之,其他幀不會(huì)依賴 于雙向幀。結(jié)果,B幀不會(huì)用于諸如隨機(jī)訪問(wèn)和比特流切換的應(yīng)用。最近,由H. 264標(biāo)準(zhǔn)定義的編碼方案,其使用一個(gè)分層雙向幀結(jié)構(gòu),由于其編碼效 率和靈活性已經(jīng)引起越來(lái)越多的注意。視頻編碼標(biāo)準(zhǔn)H. 264在T. ffiegand, G. Sullivan, A. Luthra, "Draft ITU-T Recommendationand Final Draft International Standard of Joint Video Specification(ITU-T Rec.H.264|IS0/IEC 14496-10 AVC)”, document JVT-G050rl,8th meeting =Geneva, Switzerland, 23-27 May 2003里有描述,在此其披露通 過(guò)引用被結(jié)合到本發(fā)明。此編碼標(biāo)準(zhǔn)里的方案提出一個(gè)編碼結(jié)構(gòu),其使用雙向幀作為參考 幀。例如,當(dāng)前的多視點(diǎn)視頻編碼標(biāo)準(zhǔn)已經(jīng)采用分層雙向幀結(jié)構(gòu)作為其預(yù)測(cè)結(jié)構(gòu)。如在此使 用的“幀結(jié)構(gòu)”可能是指不同類型的幀的序列作為編碼器的輸出,或一個(gè)包括這種幀的比特 流。一個(gè)PSB幀結(jié)構(gòu)是一個(gè)包括至少一個(gè)PSB幀的幀序列。多視點(diǎn)視頻編碼標(biāo)準(zhǔn)在A. Vetro, Y. Su, H. Kimata 禾口 A. Smolic, "Joint Draft 1.O on Multiview Video Coding, "Doc. JVT-U209,Joint Video Team, Hangzhou, China, Oct. 2006 禾口 k. Vetro, P. Pandit,H. Kimata 禾口 A. Smolic, "Joint draft 9. O on multi-view video coding, "Doc. JVT-AB204, Joint Video Team, Hannover, Germany, July 2008里有描述,在此其披露通過(guò)引用被結(jié)合到本 發(fā)明。一些多視點(diǎn)編碼的軟件驗(yàn)證模型也在A. Vetro, P. Pandit, H. Kimata和A. Smolic, "Joint Multiview Video Model (JMVM)6. O, 'Doc. JVT-Y207,Joint Video Team,Shenzhen, China, Oct. 2007 和 P. Pandit, A. Vetro 和 Y. Chen, "JMVM 8 software, ” Doc. JVT-AA208, JointVideo Team, Geneva, CH, April. 2008里有描述,在此其披露通過(guò)引用被結(jié)合到本發(fā)明。本發(fā)明利用這些廣泛使用的雙向幀作為各種應(yīng)用的接入點(diǎn),如多視點(diǎn)編碼里單視 點(diǎn)訪問(wèn),將多視點(diǎn)視頻編碼(MVC)譯碼成高級(jí)視頻編碼(H. 264/AVC比特流),比特流里的隨 機(jī)訪問(wèn),比特流切換和容錯(cuò)。一個(gè)多視點(diǎn)視頻比特流包含多個(gè)比特流,其中每個(gè)比特流表示 一個(gè)視點(diǎn)。例如,這些多視點(diǎn)可能是在不同角度上攝取的一個(gè)畫(huà)面的視頻。多視點(diǎn)編碼技術(shù)和結(jié)構(gòu)在Y. -S. Ho 和 K. -J. Oh, “ Overview ofMulti-view Video Coding, " in Systems, Signals and Image Processing 2007 and6th EURASIP Conference focused on Speed and Image Processing,Multimedia Communications and Services, 14th International Workshop on, 2007, pp. 5-12,以及 Merkle P. , Smolic A., Muller K.禾口 Weigand Τ. ,"EfficientPrediction Structures for Multi-View Video Coding”,IEEE TRANSACT10NS0N CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, vol.17, issuell, pp 1461-1473,Nov. 2007里有描述,在此其披露通過(guò)引用被結(jié)合到本發(fā)明。本發(fā)明提供一個(gè)新的幀類型,使能夠在多視點(diǎn)視頻內(nèi)進(jìn)行單視點(diǎn)訪問(wèn)。在此,新的 幀類型被稱為主同步雙向幀(PSB)。主同步雙向幀可以通過(guò)修改H.264/AVC標(biāo)準(zhǔn)的初始B 幀類型而生成。修改初始B幀可以由一個(gè)改進(jìn)的B幀編碼器進(jìn)行,例如,其中轉(zhuǎn)換、量化、去 量化和逆變換處理功能可以增加到標(biāo)準(zhǔn)的B幀編碼器。從而,PSB幀類型可以由一個(gè)進(jìn)來(lái) 的原始數(shù)字視頻信號(hào)而產(chǎn)生。PSB幀類型適用于對(duì)多視點(diǎn)視頻內(nèi)的錨定幀(anchor frame) 進(jìn)行編碼,以實(shí)現(xiàn)快速視點(diǎn)訪問(wèn)和MVC到AVC譯碼。PSB幀類型也適用于替換分層B結(jié)構(gòu) 的H. 264比特流內(nèi)的更高等級(jí)的一些或所有B幀,以提供更加快速的幀訪問(wèn)。如在此使用 的“等級(jí)”是指在解碼順序上的幀位置。更高等級(jí)的幀依靠較少的幀進(jìn)行解碼。本發(fā)明可以提供一個(gè)同步獨(dú)立(Si)幀。每個(gè)SI幀不需要依賴其它幀而被編碼和 解碼。優(yōu)選地,每個(gè)PSB幀有一個(gè)對(duì)應(yīng)的SI幀用于單視點(diǎn)訪問(wèn)。通過(guò)產(chǎn)生PSB幀,可以建 立SI幀。在PSB幀編碼器里的重建效率可以被使用作為對(duì)SI幀進(jìn)行編碼的輸入。SI幀可 以滿足H. 264/AVC標(biāo)準(zhǔn)的擴(kuò)展檔次的規(guī)范,并可以被設(shè)計(jì)成與比特流里的SP幀一起使用。 SI幀可以被用來(lái)重建一個(gè)幀,與重建SP幀一樣。優(yōu)選地,SI幀是按照以下步驟進(jìn)行編碼 首先,通過(guò)變換和量化SP幀或PSB幀的重建信號(hào)參數(shù)產(chǎn)生一個(gè)輸出;第二,通過(guò)幀內(nèi)預(yù)測(cè)對(duì) 該輸出進(jìn)行編碼。當(dāng)SI幀被解碼時(shí),優(yōu)選地,SI幀的圖像質(zhì)量等于對(duì)應(yīng)SP幀的質(zhì)量或?qū)?應(yīng)PSB幀的質(zhì)量,因?yàn)镾I幀的編碼重新使用了對(duì)應(yīng)SP幀或PSB幀的重建信號(hào)參數(shù)。將SP 和 SI 幀類型引入比特流在 M. Karczewicz 和 R. Kurceren,"A Proposal for SP-frames,,,document VCEG-L27,12th meeting, Eibsee, Germany, 9-12 January, 2001 里 有描述,在此其披露通過(guò)引用被結(jié)合到本發(fā)明。SP幀和SI幀的設(shè)計(jì)及其在不同比特率的比 特流之間的預(yù)測(cè)幀上進(jìn)行無(wú)縫切換的使用在M. Karczewicz和R. Kurceren,“ The SP-and SI-FramesDesign for H. 264/AVC, “ IEEE TRANSACTIONS ON CIRCUITS ANDSYSTEMS FOR VIDEO TECHNOLOGY, vol. 13,pp. 637-644,July 2003里有描述,在此其披露通過(guò)引用被結(jié)合 到本發(fā)明。提高 SP 幀編碼效率在 X. Sun,S. Li,F(xiàn). Wu,J. Shen 和 W. Gao,“ The improved SP frame coding techniquefor the JVT standard," in International Conference on Image Processing 2003,pp. 297-300 vol. 2里有描述,在此其披露通過(guò)引用被結(jié)合到本發(fā) 明。SP 幀應(yīng)用于無(wú)漂移切換在X. Sun, F. Wu, S. Li,G. Shen和 W. Gao, “ Drift-FreeSwitching of Compressed Video Bitstreams at Predictive Frames, " IEEETRANSACTIONS ONCIRCUITS AND SYSTEMS FOR VIDEOTECHNOLOGY, vol. 16,pp. 565-576,May 2006 —文里有描 述,在此其披露通過(guò)引用被結(jié)合到本發(fā)明。 本發(fā)明還可以提供一個(gè)PSB幀和一個(gè)對(duì)應(yīng)的SI幀用于多視點(diǎn)編碼。從而使得能 夠進(jìn)行MVC到AVC譯碼用于多視點(diǎn)視頻。在多視點(diǎn)視頻重播里的一個(gè)共同問(wèn)題是漂移。一 個(gè)具有PSB幀和對(duì)應(yīng)SI幀的比特流能夠減少漂移。此外,越少比特被傳輸和解碼,使得處 理時(shí)間減少,也就需要更低復(fù)雜性的解碼器。 本發(fā)明可以提供一個(gè)PSB幀以及一個(gè)對(duì)應(yīng)的SI幀用于隨機(jī)幀訪問(wèn)。隨機(jī)訪問(wèn)的 問(wèn)題是成本高昂。例如,當(dāng)分層B幀使用在一個(gè)H. 264比特流里時(shí),為了訪問(wèn)一個(gè)幀,當(dāng)圖 像組(GOP)等于16的情況下,平均起來(lái)5個(gè)幀要求被解碼。通過(guò)對(duì)一個(gè)有PSB幀的比特 流進(jìn)行編碼,隨機(jī)訪問(wèn)的成本會(huì)降低。例如,當(dāng)分層B結(jié)構(gòu)GOP等于16,在隨機(jī)訪問(wèn)一個(gè)有 PSB幀的H. 264比特流時(shí),將被處理的幀數(shù)目平均起來(lái)大約會(huì)節(jié)省40%。從而意味著,如果 每個(gè)幀類型的解碼時(shí)間相同,可以節(jié)省大約40 %的解碼時(shí)間。在常規(guī)的重播期間,PSB幀被 解碼,而SI幀被存儲(chǔ)用于隨機(jī)訪問(wèn)。本發(fā)明還提供一個(gè)次同步雙向幀(SSB)。SSB幀從一個(gè)比特流產(chǎn)生,以與另一個(gè)比 特流里的主同步雙向幀(PSB)的圖像質(zhì)量匹配。圖像質(zhì)量的匹配可以用PSNR(峰值信噪 比)表示。通過(guò)將SSB幀和PSB幀結(jié)合到一個(gè)比特流內(nèi),可以實(shí)現(xiàn)無(wú)漂移的比特流切換,盡 管PSB幀和SSB幀是從兩個(gè)不同參考幀而編碼的。例如,一個(gè)移動(dòng)設(shè)備可能正在以一個(gè)高 比特率接收一個(gè)視頻比特流。但是,隨著移動(dòng)設(shè)備外部的網(wǎng)絡(luò)條件的變化,移動(dòng)設(shè)備可以繼 續(xù)接收同一視頻比特流,但是以一個(gè)低比特率。比特率的不匹配將導(dǎo)致視像質(zhì)量漂移和降 級(jí)。漂移的出現(xiàn)是因?yàn)橐曨l比特流內(nèi)的一些幀是基于前幾個(gè)幀進(jìn)行解碼,如果出現(xiàn)不匹配, 解碼易出現(xiàn)錯(cuò)誤,當(dāng)錯(cuò)誤逐漸累積的時(shí)候,這會(huì)變得更加惡化。提供PSB幀和SSB幀能夠避 免這種不匹配。本發(fā)明還提供幾個(gè)PSB幀代替分層B幀結(jié)構(gòu)的H. 264比特流內(nèi)的高等級(jí)B幀,以 提供良好的容錯(cuò)性(error resilience)給差錯(cuò)恢復(fù)方法。如果PSB幀受差錯(cuò)影響,可以從 其對(duì)應(yīng)的SI幀恢復(fù)。這是因?yàn)槊總€(gè)PSB幀及其SI幀有完全相同的質(zhì)量,一旦確定幀受到 差錯(cuò)影響,通過(guò)提供SI幀用于進(jìn)行解碼,恢復(fù)相應(yīng)的PSB幀是可能的。PSB幀的解碼需要參 考幀,但SI幀的解碼不需要參考幀。SI幀通過(guò)解碼器可被解碼成PSB幀,而不需要參考其 它幀。本發(fā)明可以提供裝置來(lái)生成每個(gè)或任何上述幀類型,或生成一個(gè)數(shù)據(jù)結(jié)構(gòu),如一 個(gè)合并了一個(gè)或多個(gè)上述幀類型的比特流。生成可以通過(guò)編碼進(jìn)行。本發(fā)明也可以提供裝 置來(lái)解碼比特流。本發(fā)明可以通過(guò)電路來(lái)實(shí)施。在此使用的“電路”是指不限于硬件實(shí)施, 不限于硬件和軟件的組合,以及不限于以軟件運(yùn)行的電路,而不管該軟件的物理呈現(xiàn)。軟件 包括固件。硬件包括單數(shù)和復(fù)數(shù)的處理器和存儲(chǔ)器,不管是否合并在一個(gè)集成電路內(nèi)。本 發(fā)明可以實(shí)施為一個(gè)解碼器芯片、一個(gè)編碼器芯片或集成了這些芯片的裝置。本發(fā)明可以是一個(gè)計(jì)算機(jī)程序產(chǎn)品,例如,在一個(gè)計(jì)算機(jī)可讀媒質(zhì)上的程序,利用 計(jì)算機(jī)指令來(lái)執(zhí)行在此披露的全部或部分方法。本發(fā)明可以是一個(gè)有編碼和解碼裝置的系統(tǒng),用于對(duì)在此披露的一個(gè)或多個(gè)幀類 型進(jìn)行編碼和解碼。本發(fā)明可以提供一個(gè)數(shù)據(jù)結(jié)構(gòu),如一個(gè)合并了一個(gè)或多個(gè)上述幀類型的比特流。比特流可以存儲(chǔ)在一個(gè)物理數(shù)據(jù)存儲(chǔ)媒質(zhì)上,或作為一個(gè)信號(hào)進(jìn)行傳遞。
參照以下附圖,將詳細(xì)描述本發(fā)明的方面和實(shí)施例,其中圖IA顯示一個(gè)數(shù)字視頻處理方法的流程圖以提供一個(gè)具有PSB幀結(jié)構(gòu)的視頻比 特流用于各種應(yīng)用;圖IB描述在多點(diǎn)圖視頻內(nèi)的單視點(diǎn)訪問(wèn); 圖2A描述在多視點(diǎn)視頻內(nèi)進(jìn)行MVC到AVC譯碼;圖2B描述在分層B幀結(jié)構(gòu)內(nèi)的隨機(jī)訪問(wèn);圖3顯示一個(gè)PSB幀編碼器的模塊圖;圖4顯示一個(gè)PSB幀解碼器的模塊圖;圖5顯示一個(gè)SSB幀編碼器的模塊圖;圖6顯示一個(gè)SSB幀解碼器的模塊圖;圖7顯示一個(gè)SI幀編碼器的模塊圖;圖8顯示一個(gè)SI幀解碼器的模塊圖;圖9顯示一個(gè)PSB幀編碼器的變化形式的實(shí)施例;圖10顯示一個(gè)PSB幀解碼器的變化形式的實(shí)施例。發(fā)明詳述 圖IA顯示一個(gè)數(shù)字視頻處理方法的流程圖,提供一個(gè)有PSB幀結(jié)構(gòu)的視頻比特流 用于各種應(yīng)用。圖IA也顯示了一個(gè)可選的最終步驟130:合并SI幀或SSB幀。該數(shù)字視 頻處理方法適用于在編碼器上對(duì)一個(gè)數(shù)字視頻進(jìn)行編碼,以及在解碼器上對(duì)一個(gè)數(shù)字視頻 進(jìn)行解碼。在編碼器上(如圖3的例子所示),根據(jù)一個(gè)或多個(gè)之前重建的數(shù)字視頻幀的輸 入,數(shù)字視頻內(nèi)的當(dāng)前數(shù)字視頻幀將通過(guò)一個(gè)處理器進(jìn)行處理。例如,重建幀表示至少兩個(gè) 參考幀,一個(gè)來(lái)自之前幀,另一個(gè)來(lái)自將來(lái)幀。之前重建的數(shù)字視頻幀包括前向預(yù)測(cè)和后向 預(yù)測(cè)的幀。之前重建的數(shù)字視頻幀存儲(chǔ)在一個(gè)或多個(gè)緩沖器內(nèi)。運(yùn)動(dòng)補(bǔ)償是在之前重建的 數(shù)字視頻幀上執(zhí)行,然后比較一個(gè)表示之前重建的數(shù)字視頻幀的信號(hào)和當(dāng)前數(shù)字視頻幀, 以獲得兩者之間的差異。該差異通過(guò)處理器被變換、量化、去量化和逆變換以提供一個(gè)逆變 換輸出。該逆變換輸出被加入到一個(gè)表示之前重建的數(shù)字視頻幀的信號(hào)里,以輸出一個(gè)剛 剛重建的數(shù)字視頻幀。因此,一個(gè)重建的數(shù)字視頻幀是通過(guò)一個(gè)運(yùn)動(dòng)補(bǔ)償估計(jì)而獲得。接 著,處理器在重建的數(shù)字視頻幀上執(zhí)行變換110、量化121、去量化122和逆變換123,以將一 個(gè)數(shù)字視頻比特流轉(zhuǎn)換成一個(gè)有PSB幀結(jié)構(gòu)的數(shù)字視頻比特流。變換110、量化121、和逆 過(guò)程(122,123)是在重建的信號(hào)上執(zhí)行以在產(chǎn)生具有一個(gè)或多個(gè)PSB幀的比特流的過(guò)程里 建立重建圖像的一個(gè)量化變換域信號(hào)(圖3內(nèi)的RDqs)。量化變換域信號(hào)(RDqs)被用來(lái)編 碼相應(yīng)的SI幀或相應(yīng)的SSB幀,其有與PSB幀相同的質(zhì)量。只要使用相同的量化模塊用于 有PSB幀和相應(yīng)SI幀或相應(yīng)SSB幀的比特流,PSB幀和對(duì)應(yīng)的SI幀,或者對(duì)應(yīng)的SSB幀之 間的重建質(zhì)量將是相同的 在解碼器上,輸入數(shù)據(jù)比特流是通過(guò)可變長(zhǎng)度解碼進(jìn)行解碼。解碼結(jié)果被執(zhí)行去 量化和逆變換以提供一個(gè)逆變換輸出。逆變換輸出被加入到之前重建的數(shù)字視頻幀,其被 執(zhí)行運(yùn)動(dòng)補(bǔ)償以輸出一個(gè)重建的數(shù)字視頻幀。處理器在重建的數(shù)字視頻幀上執(zhí)行變換110、 量化121、去量化122和逆變換123,將一個(gè)數(shù)字視頻比特流轉(zhuǎn)換成一個(gè)具有PSB幀結(jié)構(gòu)的數(shù)字視頻比特流。當(dāng)該數(shù)字視頻處理方法應(yīng)用到一個(gè)多視點(diǎn)視頻時(shí),通過(guò)將一個(gè)SI幀合并到多視 點(diǎn)視頻比特流內(nèi),在解碼器上通過(guò)處理器可以獲取一個(gè)單視點(diǎn)視頻比特流。多視點(diǎn)視頻是 MVC(多視點(diǎn)視頻編碼)格式。單視點(diǎn)視頻是H.264/AVC(高級(jí)視頻編碼)格式。為了能夠 將一個(gè)多視點(diǎn)標(biāo)準(zhǔn)轉(zhuǎn)換成一個(gè)H. 264/AVC標(biāo)準(zhǔn),多視點(diǎn)標(biāo)準(zhǔn)的語(yǔ)法被處理器修改成一個(gè)單 視點(diǎn)標(biāo)準(zhǔn)。例如,MVC標(biāo)準(zhǔn)的語(yǔ)法通過(guò)處理器被修改成H. 264/AVC標(biāo)準(zhǔn)的語(yǔ)法,使得一個(gè) H. 264/AVC視頻的解碼器能夠解碼由本發(fā)明數(shù)字視頻處理方法獲取的單視點(diǎn)視頻比特流。 此外,在進(jìn)行MVC到AVC的譯碼時(shí),錨幀依照I-P-P-PSB的次序進(jìn)行解碼,從解碼PSB幀獲 得的信號(hào)被用于解碼相應(yīng)的SI幀。AVC兼容的比特流是由SI幀和來(lái)自MVC比特流的初 始非錨B幀組成。接入點(diǎn)比特流是指包含SI幀的比特流。在視點(diǎn)訪問(wèn)或隨機(jī)訪問(wèn)的應(yīng)用 里,SI幀需要被編碼,并被存儲(chǔ)為一個(gè)額外的接入點(diǎn)比特流,即一個(gè)具有所有SI幀的比特 流。通過(guò)將錨幀譯碼成I幀,一個(gè)將單視點(diǎn)MVC比特流譯碼成一個(gè)獨(dú)立H. 264比特流的方 法,在丫.0^11,¥.-1(.徹叫和]\1]\1他11皿1^61&,“ Support of lightweight MVC to AVC transcoding, “ in JointVideo Team(JVT) of ISO/IEC MPEG & ITU-T VCEG (JVT-AA036) Geneva, CH, 2008里有描述,在此其披露通過(guò)引用被結(jié)合到本發(fā)明。當(dāng)該數(shù)字視頻處理方法應(yīng)用到一個(gè)具有分層B幀結(jié)構(gòu)的數(shù)字視頻比特流時(shí),例 如,一個(gè)H. 264數(shù)字視頻比特流,PSB幀和SI幀的使用允許隨機(jī)訪問(wèn)在具有分層B幀結(jié)構(gòu) 的數(shù)字視頻比特流內(nèi)的幀。另外,當(dāng)數(shù)字視頻比特流有差錯(cuò)時(shí),通過(guò)使用PSB幀和SI巾貞,很 容易獲取期望的幀。從而,數(shù)字視頻比特流的容錯(cuò)性得以增強(qiáng),因?yàn)槟軌颡?dú)立于數(shù)字視頻比 特流內(nèi)的錯(cuò)誤幀而獲得目標(biāo)幀。SI幀不需要參考幀,而參考幀也可能出現(xiàn)錯(cuò)誤。此外,該數(shù)字視頻處理方法可用于比特流切換,例如將數(shù)字比特流切換為另一個(gè) 有更低碼率的數(shù)字視頻比特流。在比特流切換期間,一個(gè)PSB幀與另一個(gè)視頻比特流的解 碼器使用的SSB幀一起使用,以獲得無(wú)差錯(cuò)的重建幀,從而獲得無(wú)漂移的比特流切換。PSB幀的嵌入取決于實(shí)際應(yīng)用。在一個(gè)所述實(shí)施例里,PSB幀用于多視點(diǎn)視頻內(nèi)的 錨幀,如圖IB所示,以便進(jìn)行視點(diǎn)訪問(wèn)和MVC到AVC的譯碼。多視點(diǎn)編碼對(duì)8個(gè)視點(diǎn)進(jìn)行 編碼,顯示了1~0和18上的錨幀之間的時(shí)間增量113233...上的幀類型。顯示有I,B,SI 和PSB幀類型,b幀是一個(gè)B幀類型。為了方便描述,沒(méi)有顯示一個(gè)比特流里的所有幀,其 中序列與一個(gè)之前幀相同。幀類型之間的箭頭表示幀之間的參照關(guān)系。在此實(shí)施例里,在 101里視點(diǎn)O的I幀是獨(dú)立可獲取的。通過(guò)使用視點(diǎn)O里的I幀和視點(diǎn)2內(nèi)的PSB幀作為 參考幀,可獲取視點(diǎn)1內(nèi)的PSB幀。通過(guò)使用視點(diǎn)O的I幀作為參考幀,可獲取視點(diǎn)2的P 幀。通過(guò)使用視點(diǎn)2里的P幀和視點(diǎn)4內(nèi)的P幀作為參考幀,可獲取視點(diǎn)3的PSB幀。通 過(guò)使用視點(diǎn)2里的P幀作為參考幀,可獲取視點(diǎn)4內(nèi)的P幀。通過(guò)使用視點(diǎn)4里的P幀和 視點(diǎn)6內(nèi)的P幀作為參考幀,可獲取視點(diǎn)5內(nèi)的PSB幀,或通過(guò)使用SI幀111,可獲取視點(diǎn) 5內(nèi)的PSB幀。通過(guò)使用視點(diǎn)4內(nèi)的P幀作為參考幀,可獲取視點(diǎn)6內(nèi)的P幀。通過(guò)使用視 點(diǎn)6內(nèi)的P幀作為參考幀,可獲取視點(diǎn)7內(nèi)的P幀。為了訪問(wèn)一個(gè)單視點(diǎn)如視點(diǎn)5106,視點(diǎn) 5106以提供一個(gè)PSB幀113的方式進(jìn)行編碼。與視點(diǎn)0 101、視點(diǎn)1 102、視點(diǎn)2 103、視點(diǎn) 3 104、視點(diǎn)4 105、視點(diǎn)6 107、視點(diǎn)7 108內(nèi)的其它幀一起,PSB幀113成為錨比特流116 的一部分。使用一個(gè)SI幀111 (其對(duì)應(yīng)PSB幀113),提供一個(gè)接入點(diǎn)訪問(wèn)視點(diǎn)5106。圖2A描述了在多視點(diǎn)視頻里進(jìn)行MVC到AVC譯碼。在圖2A的a部分,顯示一個(gè)多視點(diǎn)視頻比特流有I幀、B幀、b幀、P幀、PSB幀和I幀的幀類型。比特流201提供視點(diǎn) 0的比特流。比特流202提供視點(diǎn)1的比特流。比特流203提供視點(diǎn)3的比特流。比特流 204提供視點(diǎn)4的比特流。比特流205提供視點(diǎn)5的比特流。比特流206提供視點(diǎn)6的 比特流。比特流207提供視點(diǎn)7的比特流。但是,由于不同視點(diǎn)比特流的錨幀之間的依賴 性(如箭頭所示遠(yuǎn)離幀的箭頭表示該幀是箭頭指向的其它幀的參考幀,如圖IA所示), 僅有視點(diǎn)0的比特流201可以被獨(dú)立解碼。即當(dāng)期望有比特流從202到208時(shí),其他比特 流201到208的幀也會(huì)被需求。當(dāng)在客戶平臺(tái)上僅有H.264/AVC解碼器可用時(shí)(圖中未 顯示),多視點(diǎn)視頻比特流被譯碼成一個(gè)期望視點(diǎn)的獨(dú)立的H. 264比特流。例如,當(dāng)客戶平 臺(tái)使用H. 264解碼器對(duì)視點(diǎn)5 206進(jìn)行解碼時(shí),在MVC里采用PSB幀和SI幀能夠提供從 MVC到AVC的有效譯碼。此外,SI幀211與視點(diǎn)5 206的B幀一起,用于新的比特流。通過(guò) 一個(gè)視頻譯碼的過(guò)程進(jìn)一步修改MVC和AVC比特流語(yǔ)法之間的差異,可以產(chǎn)生一個(gè)獨(dú)立的 H. 264/AVC比特流220,如圖2A的b部分所示。視頻譯碼在Al Bovik, Handbook of image andvideo processing, (Elsevier/Academic Press, Massachusetts),c.2005 andAshraf Μ.A. Ahmad, et al, Multimedia Transcoding in Mobile and WirelessNetworks, (Idea Group Inc(IGI),PA),c. 2008里有描述,在此其披露通過(guò)引用結(jié)合到本發(fā)明。在嵌入PSB幀的另一個(gè)實(shí)施例里(未顯示),PSB幀被放入到更高等級(jí)的分層B結(jié) 構(gòu)內(nèi)??紤]到H. 264比特流的編碼效率,將通常由B幀占用的位置替換成PSB幀。在另一 個(gè)實(shí)施例里(圖中未顯示),產(chǎn)生的PSB幀代替所有的B幀,但編碼效率將會(huì)更低。如果不 是所有的B幀都被PSB幀替換,編碼效率得以優(yōu)化,例如,PSB幀被嵌入在第一和第二等級(jí) 的分層B結(jié)構(gòu)內(nèi),以在提供隨機(jī)訪問(wèn)和編碼效率之間取得一個(gè)良好的平衡。圖2B比較說(shuō)明有PSB幀的分層B幀結(jié)構(gòu)和沒(méi)有PSB幀的分層B幀結(jié)構(gòu)的隨機(jī)訪 問(wèn),以及隨機(jī)訪問(wèn)一個(gè)視點(diǎn)內(nèi)一個(gè)幀的幀解碼次序。一個(gè)常規(guī)分層B結(jié)構(gòu)如圖2B(a)所示, 其中有幾個(gè)等級(jí)的B幀。等級(jí)越高,就越少幀需要訪問(wèn)來(lái)解碼幀。第一等級(jí)是T8(圖2B內(nèi) 的最高等級(jí)),其參考TO和Τ16。第二等級(jí)是Τ4和Τ12。第三等級(jí)是T2,T6,TlO和Τ14。 通過(guò)在Τ8,Τ4和Τ12使用PSB幀代替常規(guī)分層B結(jié)構(gòu)里的B幀,提議的解碼結(jié)構(gòu)有所改善, 如圖2B(b)所示。如圖2B的a部分所示,在分層B幀結(jié)構(gòu)的常規(guī)H. 264比特流里,隨機(jī)訪問(wèn)在比特 流內(nèi)的一個(gè)幀需要許多參考幀傳送和解碼。為了訪問(wèn)在時(shí)間Tl 231上的幀,參考幀包括在 時(shí)間TO上的I幀230、在時(shí)間T16上的B幀236、在時(shí)間T8上的B幀235、在時(shí)間T4上的 B幀234、和在時(shí)間T2上的B幀232,以及在時(shí)間Tl上的B幀231本身,它們將被傳送和解 碼。通過(guò)將更高等級(jí)的分層B幀結(jié)構(gòu)上的一些B幀替換成PSB幀,如圖2B(b)部分所示,能 夠降低隨機(jī)訪問(wèn)的成本。例如,與常規(guī)分層B幀結(jié)構(gòu)比特流上的6個(gè)幀相比,在有PSB幀的 分層B幀結(jié)構(gòu)上,訪問(wèn)Tl上的參考幀242需要解碼4個(gè)幀,包括時(shí)間TO上的I幀241、時(shí)間 T4上的PSB幀244 (Si幀)、時(shí)間T2上的B幀243和時(shí)間Tl上的B幀242。由于B幀是參 照其它幀進(jìn)行編碼,為了解碼一個(gè)B幀,需要首先獲得那個(gè)B幀的參考幀。如圖2B(b)所示,例如,訪問(wèn)Tl上的幀242需要首先解碼兩個(gè)參考幀,包括在時(shí) 間TO上的I幀241和在時(shí)間T2上的B幀243。為了解碼時(shí)間T2上的B幀243,需要解碼B幀的兩個(gè)參考幀,包括在時(shí)間TO上 的I幀241和在時(shí)間T4上的幀244 (Si幀)。如果在T4使用PSB幀,我們能夠解碼對(duì)應(yīng)的SI幀,而不是PSB幀。因此,總體而言,在時(shí)間TO,T4,T2和Tl上的幀被解碼用于訪問(wèn)Tl 上的幀242。相反,如圖2B(a)所示,在T4使用B幀234。結(jié)果,我們首先需要解碼它的參考幀 在TO和T8上的幀。而且,由于在時(shí)間T8上的幀是一個(gè)B幀,我們需要首先解碼在時(shí)間TO 和T16上的幀。在此情況下,在時(shí)間TO,T16,T8,T4,T2和Tl上的幀依照解碼次序進(jìn)行解碼。圖3顯示一個(gè)PSB幀編碼器的模塊圖。PSB幀編碼器對(duì)一個(gè)嵌有PSB幀的視頻300 進(jìn)行編碼。其包括一個(gè)前向幀緩沖器331以保留前向預(yù)測(cè)幀,以及一個(gè)后向幀緩沖器333 以保留后向預(yù)測(cè)幀。在一個(gè)典型實(shí)施例里,PSB幀編碼器由至少一個(gè)處理器和至少一個(gè)包 括計(jì)算機(jī)程序代碼的存儲(chǔ)器進(jìn)行實(shí)施;該至少一個(gè)處理器和至少一個(gè)存儲(chǔ)器和計(jì)算機(jī)程序 代碼被設(shè)置使得裝置能夠執(zhí)行PSB幀編碼器的功能。至少有一個(gè)存儲(chǔ)器用來(lái)存儲(chǔ)數(shù)據(jù),并 充當(dāng)緩沖器。前向幀緩沖器331和后向幀緩沖器333的數(shù)字視頻信號(hào)輸出用于運(yùn)動(dòng)估計(jì)器 (在附圖里簡(jiǎn)稱為ME) 337里的運(yùn)動(dòng)估計(jì)和運(yùn)動(dòng)補(bǔ)償器(在附圖里簡(jiǎn)稱為MC) 335里的運(yùn)動(dòng) 補(bǔ)償。視頻300被提供給運(yùn)動(dòng)估計(jì)器337以執(zhí)行運(yùn)動(dòng)估計(jì)。運(yùn)動(dòng)估計(jì)器337的數(shù)字視頻信 號(hào)輸出被提供給運(yùn)動(dòng)補(bǔ)償器335以進(jìn)行運(yùn)動(dòng)補(bǔ)償。內(nèi)插器341使用運(yùn)動(dòng)補(bǔ)償器335的數(shù)字 視頻信號(hào)輸出以進(jìn)行插補(bǔ),并提供一個(gè)內(nèi)插的數(shù)字視頻信號(hào)輸出。前向幀緩沖器331和后向幀緩沖器333是特別用于產(chǎn)生B幀的。所以,當(dāng)與P幀 比較時(shí),B幀有多個(gè)幀進(jìn)行參考,因?yàn)橛卸鄠€(gè)運(yùn)動(dòng)估計(jì)方向,如前向、后向和雙向。內(nèi)插數(shù)字視頻信號(hào)輸出和運(yùn)動(dòng)補(bǔ)償器335的數(shù)字視頻信號(hào)輸出是一個(gè)預(yù)測(cè)數(shù)字 視頻信號(hào)PI。預(yù)測(cè)數(shù)字視頻信號(hào)PI與視頻300進(jìn)行比較,視頻300是一個(gè)原始數(shù)字視頻信 號(hào)01。從原始數(shù)字視頻信號(hào)OI減去預(yù)測(cè)數(shù)字視頻信號(hào),產(chǎn)生一個(gè)數(shù)字視頻信號(hào)的誤差EI。EI = OI-PI接著,數(shù)字視頻信號(hào)誤差EI通過(guò)第一變換器311進(jìn)行變換(在附圖里為T(mén)),并通 過(guò)第一量化器313以步長(zhǎng)qp進(jìn)行量化(在附圖里為QP)。因此,比較是在像素域而不是頻 域進(jìn)行。第一量化器313的數(shù)字視頻信號(hào)輸出記作EDqp。數(shù)字視頻信號(hào)輸出EDqp用于一 個(gè)可變長(zhǎng)度編碼器(在附圖里為VLC) 350進(jìn)行可變長(zhǎng)度編碼。連同多個(gè)參數(shù)如運(yùn)動(dòng)矢量 (在附圖里為fmv,bmv,統(tǒng)稱為mv)和由運(yùn)動(dòng)估計(jì)器337得出的運(yùn)動(dòng)估計(jì)而計(jì)算出的模式, 可變長(zhǎng)度編碼器350對(duì)第一量化器313的量化數(shù)字視頻信號(hào)輸出進(jìn)行編碼。可變長(zhǎng)度編碼 器335的數(shù)字視頻信號(hào)輸出作為一個(gè)比特流在一個(gè)通道上傳送。第一量化器313的量化數(shù)字視頻信號(hào)輸出也被提供到一個(gè)去量化器315,以步長(zhǎng) QP進(jìn)行去量化。在去量化之后,第一去量化器315的數(shù)字視頻信號(hào)輸出通過(guò)第一逆變換器 317進(jìn)行逆變換。逆過(guò)程在附圖里通過(guò)上標(biāo)-1表示。在逆變換之后,第一逆變換器317輸 出一個(gè)剩余數(shù)字視頻信號(hào)Eldp。剩余數(shù)字視頻信號(hào)EIdp是在像素域上,然后再與預(yù)測(cè)數(shù)字 視頻信號(hào)PI結(jié)合,以相同方式在解碼器上產(chǎn)生一個(gè)重建幀RI (圖4)。重建幀RI通過(guò)第二 變換器321進(jìn)行變換以輸出一個(gè)數(shù)字視頻信號(hào)RD。數(shù)字視頻信號(hào)RD通過(guò)第二量化器323 以步長(zhǎng)qs進(jìn)行量化而輸出一個(gè)數(shù)字視頻信號(hào)RDqs。數(shù)字視頻信號(hào)RDqs通過(guò)第二去量化器 325以步長(zhǎng)qs進(jìn)行去量化而輸出一個(gè)數(shù)字視頻信號(hào)RDds。數(shù)字視頻信號(hào)RDds通過(guò)第二逆 變換器327進(jìn)行逆變換而輸出一個(gè)數(shù)字視頻信號(hào)Rids。
通過(guò)第二變換器321、第二量化器323、第二去量化器325和第二逆變換器327進(jìn) 行的第二組338的變換、量化和相應(yīng)逆過(guò)程,用來(lái)準(zhǔn)備PSB幀。如果僅準(zhǔn)備B幀,不需要使 用第二組的變換、量化和相應(yīng)逆過(guò)程。產(chǎn)生PSB幀和B幀之間的差異就在于第二組338。有 了第二組338,幀被編碼作為PSB幀,而不是圖2B所示初始結(jié)構(gòu)的B幀,換言之,PSB幀取代 B幀在比特流內(nèi)。確定哪一個(gè)B幀被PSB幀代替則取決于實(shí)際應(yīng)用。例如,在隨機(jī)訪問(wèn)的應(yīng) 用里,只有較高等級(jí)的分層B幀,如圖2B(b)內(nèi)所示,被PSB幀代替。在其他實(shí)施例里,則有 其它模式的替換。來(lái)自第二組338的變換、量化和相應(yīng)逆過(guò)程的數(shù)字視頻信號(hào)RIds輸出被分別用作 為前向幀緩沖器331和后向幀緩沖器333的輸入。通常,當(dāng)產(chǎn)生B幀時(shí),這些緩沖器的輸入 是重建幀RI。圖4顯示了一個(gè)PSB幀解碼器的模塊圖。它包括一個(gè)前向幀緩沖器431來(lái)保留用 于前向預(yù)測(cè)的幀,以及一個(gè)后向幀緩沖器433來(lái)保留用于后向預(yù)測(cè)的幀。前向幀緩沖器431 和后向幀緩沖器433的數(shù)字視頻信號(hào)輸出用于運(yùn)動(dòng)補(bǔ)償器435進(jìn)行運(yùn)動(dòng)補(bǔ)償。比特流400 被提供給運(yùn)動(dòng)估計(jì)器337,以進(jìn)行運(yùn)動(dòng)估計(jì)。在一個(gè)典型實(shí)施例里,PSB幀解碼器是由至少 一個(gè)處理器和至少一個(gè)包括計(jì)算機(jī)程序代碼的存儲(chǔ)器進(jìn)行實(shí)施;該至少一個(gè)處理器和至少 一個(gè)存儲(chǔ)器和計(jì)算機(jī)程序代碼被設(shè)置使得裝置能夠執(zhí)行PSB幀解碼器的功能。有至少一個(gè) 存儲(chǔ)器用來(lái)存儲(chǔ)數(shù)據(jù),并充當(dāng)緩沖器。比特流400由一個(gè)可變長(zhǎng)度解碼器401進(jìn)行解碼。在通過(guò)可變長(zhǎng)度解碼器401進(jìn) 行可變長(zhǎng)度解碼之后,來(lái)自可變長(zhǎng)度解碼器401的參數(shù),如運(yùn)動(dòng)矢量和模式,被提供給運(yùn)動(dòng) 補(bǔ)償器435,而被解碼的數(shù)字視頻信號(hào)EDqp被提供給第一去量化器411。第一去量化器411 對(duì)被解碼的數(shù)字視頻信號(hào)EDqp執(zhí)行步長(zhǎng)為qp的去量化。去量化器411的數(shù)字視頻信號(hào)輸 出由第一逆變換器413進(jìn)行逆變換。逆變換器413在執(zhí)行逆變換之后提供一個(gè)數(shù)字視頻信 號(hào)輸出EIdp0運(yùn)動(dòng)補(bǔ)償器435的數(shù)字視頻信號(hào)輸出是一個(gè)預(yù)測(cè)數(shù)字視頻信號(hào)PI。預(yù)測(cè)數(shù)字視頻 信號(hào)PI在像素域被添加到第一逆變換器413的數(shù)字視頻信號(hào)輸出EIdp以產(chǎn)生一個(gè)剩余數(shù) 字視頻信號(hào)RI RI = PI+EIdp剩余信號(hào)RI被輸出到顯示器,一個(gè)副本通過(guò)第二變換器421進(jìn)行變換而輸出一 個(gè)數(shù)字視頻信號(hào)RD。第二變換器421的數(shù)字視頻信號(hào)RD通過(guò)第二量化器423進(jìn)行步長(zhǎng)為 qs的量化而輸出一個(gè)數(shù)字視頻信號(hào)RDqs。來(lái)自第二量化器423的數(shù)字視頻信號(hào)RDqs通過(guò) 第二去量化器425進(jìn)行步長(zhǎng)為qs的去量化而輸出一個(gè)數(shù)字視頻信號(hào)RDds。數(shù)字視頻信號(hào) RDds通過(guò)第二逆變換器427進(jìn)行逆變換以輸出一個(gè)數(shù)字視頻信號(hào)Rids。從組428的變換、量化和相應(yīng)逆過(guò)程輸出的數(shù)字視頻信號(hào)RIds被分別用作為前向 幀緩沖器431和后向幀緩沖器433的輸入。通過(guò)組428的第二變換器421、第二量化器423、第二去量化器425和第二逆變換 器427進(jìn)行的變換、量化和相應(yīng)逆過(guò)程,提供了一個(gè)具有PSB幀的比特流。但是對(duì)于僅解碼 具有B幀的比特流,就不會(huì)有組428的變換、量化和相應(yīng)逆過(guò)程。相反,緩沖器的輸入是剩 余信號(hào)RI。圖5顯示一個(gè)SSB幀編碼器520的模塊圖。SSB編碼器520的輸入是由一個(gè)B幀編碼器530提供,其也能夠提供P幀,是一個(gè)P幀編碼器。由B幀編碼器530運(yùn)動(dòng)補(bǔ)償?shù)臄?shù) 字視頻信號(hào)是一個(gè)預(yù)測(cè)數(shù)字視頻信號(hào)PI:。預(yù)測(cè)數(shù)字視頻信號(hào)PI1是到SSB編碼器520的 輸入。預(yù)測(cè)數(shù)字視頻信號(hào)PI1可以是插補(bǔ)的或不插補(bǔ)的。SSB編碼器520使用一個(gè)變換器 521以變換B幀編碼器530的預(yù)測(cè)數(shù)字視頻信號(hào)PI1,從而產(chǎn)生一個(gè)變換的數(shù)字視頻信號(hào)。 該變換的數(shù)字視頻信號(hào)通過(guò)量化器523進(jìn)行步長(zhǎng)為qs的量化,提供一個(gè)量化的數(shù)字視頻信 號(hào)PDqSl。在一個(gè)典型實(shí)施例里,SSB幀編碼器520由至少一個(gè)處理器和至少一個(gè)包括計(jì)算 機(jī)程序代碼的存儲(chǔ)器進(jìn)行實(shí)施;該至少一個(gè)處理器和至少一個(gè)存儲(chǔ)器和計(jì)算機(jī)程序代碼被 設(shè)置使得裝置能夠執(zhí)行SSB幀編碼器520的功能。有至少一個(gè)存儲(chǔ)器來(lái)存儲(chǔ)數(shù)據(jù),并充當(dāng) 緩沖器。由PSB幀編碼器510產(chǎn)生的重建幀RI2,通過(guò)第二變換器513被變換成一個(gè)數(shù)字視 頻信號(hào)RD2,參照上述圖3所示。數(shù)字視頻信號(hào)RD2通過(guò)第二量化器515進(jìn)行步長(zhǎng)為qs的 量化而輸出一個(gè)數(shù)字視頻信號(hào)RDqs2。數(shù)字視頻信號(hào)RDqs2與量化的數(shù)字視頻信號(hào)PDqs1比 較以提供一個(gè)差值數(shù)字視頻信號(hào)EDqs EDqs = RDqs2-PDqs1差值數(shù)字視頻信號(hào)EDqs,與參數(shù)如運(yùn)動(dòng)矢量和幀間預(yù)測(cè)模式一起,被提供到SSB 幀編碼器的一個(gè)可變長(zhǎng)度編碼器525,以產(chǎn)生一個(gè)切換比特流。使用切換比特流,通過(guò)在解 碼器端解碼切換比特流來(lái)實(shí)現(xiàn)無(wú)漂移切換。如圖5所示,SSB幀是通過(guò)從RDqs2減去PDqs1而構(gòu)建的,RDqs2和PDqs1都是在量 化變換域內(nèi),如圖5所示。在如圖5所示的SSB幀編碼器520里,EDqs = RDqs2-PDqs1,其提 供SSB幀。圖6顯示一個(gè)SSB幀解碼器的模塊圖。切換比特流600由一個(gè)可變長(zhǎng)度解碼器 610進(jìn)行處理。可變長(zhǎng)度解碼器610使用切換比特流600以提供運(yùn)動(dòng)矢量和模式到一個(gè)運(yùn) 動(dòng)補(bǔ)償器625。在進(jìn)行可變長(zhǎng)度解碼之后,可變長(zhǎng)度解碼器610輸出一個(gè)誤差數(shù)字視頻信號(hào) EDqs0利用運(yùn)動(dòng)矢量和模式信息,運(yùn)動(dòng)補(bǔ)償器625使用來(lái)自前向幀緩沖器621和后向幀 緩沖器623的數(shù)據(jù)執(zhí)行運(yùn)動(dòng)補(bǔ)償。運(yùn)動(dòng)補(bǔ)償器625的數(shù)字視頻信號(hào)輸出通過(guò)變換器631進(jìn) 行變換,以提供一個(gè)預(yù)測(cè)數(shù)字視頻信號(hào)PD。數(shù)字視頻信號(hào)PD通過(guò)量化器633進(jìn)行步長(zhǎng)為 qs的量化以提供一個(gè)數(shù)字視頻信號(hào)輸出PDqSl。量化器633的數(shù)字視頻信號(hào)輸出PDqs1被添加到來(lái)自可變長(zhǎng)度解碼器610的誤差 數(shù)字視頻信號(hào)ED以提供一個(gè)合并的數(shù)字視頻信號(hào)RDqs2 RDqs2 = EDqs+PDqs!合并的數(shù)字視頻信號(hào)RDqs2通過(guò)去量化器611進(jìn)行步長(zhǎng)為qs的去量化,并隨后通 過(guò)一個(gè)逆變換器613進(jìn)行逆變換。逆變換器613的數(shù)字視頻信號(hào)輸出被用作為一個(gè)PSB幀 比特流內(nèi)的一個(gè)PSB幀,用于切換到那個(gè)PSB幀比特流。由逆變換器613輸出的數(shù)字視頻 信號(hào)RDqs2也被提供到前向幀緩沖器621和后向幀緩沖器623。從而確保在比特流切換時(shí) 幀緩沖器內(nèi)沒(méi)有不匹配。如圖6所述,PDqs1是由PD幀重建的,而PD幀與圖5所示的SSB幀編碼器520里 使用的PD幀相同。在由RDqs2 = EDqS+PDqSl獲得RDqs2之后,通過(guò)去量化和逆變換RIds2 =Γ1 (Q—1 (RDqs2))而獲得RIds2。獲得的RIds2基本上與從圖5所示的SSB幀編碼器520獲得的RIds2相同。在一個(gè)典型實(shí)施例里,SSB幀解碼器由至少一個(gè)處理器和至少一個(gè)包括計(jì)算機(jī)程 序代碼的存儲(chǔ)器進(jìn)行實(shí)施;該至少一個(gè)處理器和至少一個(gè)存儲(chǔ)器和計(jì)算機(jī)程序代碼被設(shè)置 使得裝置能夠執(zhí)行SSB幀解碼器的功能。有至少一個(gè)存儲(chǔ)器用來(lái)存儲(chǔ)數(shù)據(jù),并充當(dāng)緩沖器。圖7顯示一個(gè)SI幀編碼器720的模塊圖。SI幀編碼器720包括一個(gè)可變長(zhǎng)度編 碼器722。可變長(zhǎng)度編碼器722有兩個(gè)輸入。一個(gè)輸入是由PSB幀編碼器710提供。PSB 幀編碼器通過(guò)第二變換器對(duì)其重建的視頻進(jìn)行變換,然后通過(guò)第二量化器在變換域內(nèi)對(duì)重 建的視頻進(jìn)行步長(zhǎng)為qs的量化。該變換和量化的重建視頻RDqs,與幀內(nèi)預(yù)測(cè)模式的另一個(gè) 輸入一起,被輸入到可變長(zhǎng)度編碼器722以產(chǎn)生一個(gè)接入點(diǎn)比特流。在一個(gè)典型實(shí)施例里,SI幀編碼器720由至少一個(gè)處理器和至少一個(gè)包括計(jì)算機(jī) 程序代碼的存儲(chǔ)器進(jìn)行實(shí)施;該至少一個(gè)處理器和至少一個(gè)存儲(chǔ)器和計(jì)算機(jī)程序代碼被設(shè) 置使得裝置能夠執(zhí)行SI幀編碼器720的功能。有至少一個(gè)存儲(chǔ)器用來(lái)存儲(chǔ)數(shù)據(jù),并充當(dāng)緩 沖器。圖8顯示一個(gè)SI幀解碼器的模塊圖??勺冮L(zhǎng)度解碼器810在接入點(diǎn)比特流800 上執(zhí)行可變長(zhǎng)度解碼??勺冮L(zhǎng)度解碼器810的數(shù)字視頻信號(hào)輸出由去量化器821進(jìn)行步長(zhǎng) 為qs的去量化,隨后由逆變換器813進(jìn)行逆變換以提供一個(gè)視頻輸出到顯示器。該視頻輸 出也被分別提供給前向幀緩沖器821和后向幀緩沖器823。在圖7內(nèi)的PSB幀編碼器711基本上與圖3所示的PSB幀編碼器相同。如圖4 及其相應(yīng)描述所示,在對(duì)圖3編碼的PSB幀進(jìn)行解碼之后,PSB幀的解碼信號(hào)等于RIds = Γ1 [Q-1 (RDqs)],其中Q—1和Γ1分別表示去量化和逆變換。同樣,如圖8及其相應(yīng)描述所示, 通過(guò)對(duì)圖7內(nèi)編碼的SI幀進(jìn)行解碼,SI幀的解碼信號(hào)也等于RIds = !^[(T(RDqs)]。這 樣能夠確切地保證PSB幀和相應(yīng)SI幀之間的相同質(zhì)量。在一個(gè)典型實(shí)施例里,SI幀解碼器是由至少一個(gè)處理器和至少一個(gè)包括計(jì)算機(jī)程 序代碼的存儲(chǔ)器進(jìn)行實(shí)施;該至少一個(gè)處理器和至少一個(gè)存儲(chǔ)器和計(jì)算機(jī)程序代碼被設(shè)置 使得裝置能夠執(zhí)行SI幀解碼器的功能。有至少一個(gè)存儲(chǔ)器用來(lái)存儲(chǔ)數(shù)據(jù),并充當(dāng)緩沖器。圖9顯示一個(gè)由SI編碼器提供訪問(wèn)的PSB幀編碼器的變化形式的實(shí)施例。在此 實(shí)施例里,SP幀編碼器被改建為一個(gè)PSB幀編碼器。視頻900代表一個(gè)源數(shù)字視頻信號(hào) 01。源數(shù)字視頻信號(hào)OI通過(guò)第一變換器910進(jìn)行變換。第一變換器910提供一個(gè)數(shù)字視 頻信號(hào)輸出0D。通過(guò)在運(yùn)動(dòng)補(bǔ)償器945的各個(gè)數(shù)字視頻信號(hào)輸出之間進(jìn)行切換而產(chǎn)生一個(gè) 預(yù)測(cè)數(shù)字視頻信號(hào)PI2。運(yùn)動(dòng)補(bǔ)償器945的各個(gè)數(shù)字視頻信號(hào)輸出包括有插補(bǔ)的數(shù)字視頻 信號(hào)和沒(méi)有插補(bǔ)的數(shù)字視頻信號(hào)。對(duì)于前向預(yù)測(cè),幀是從前向幀緩沖器941獲得。對(duì)于后 向預(yù)測(cè),幀是從后向幀緩沖器943獲得。運(yùn)動(dòng)估計(jì)器946通過(guò)從前向幀緩沖器941或后向 幀緩沖器943獲得幀,而執(zhí)行運(yùn)動(dòng)估計(jì)。運(yùn)動(dòng)估計(jì)器946從源數(shù)字視頻信號(hào)OI獲得一個(gè)前 向運(yùn)動(dòng)矢量和一個(gè)后向運(yùn)動(dòng)矢量。使用來(lái)自運(yùn)動(dòng)估計(jì)器的數(shù)字視頻信號(hào)輸出,運(yùn)動(dòng)補(bǔ)償器 945對(duì)來(lái)自前向幀緩沖器941或后向幀緩沖器943的幀執(zhí)行運(yùn)動(dòng)補(bǔ)償。運(yùn)動(dòng)補(bǔ)償器945的 數(shù)字視頻信號(hào)輸出被提供作為有或沒(méi)有插補(bǔ)的預(yù)測(cè)數(shù)字視頻信號(hào)PI2。預(yù)測(cè)數(shù)字視頻信號(hào) PI2通過(guò)第二變換器923進(jìn)行變換而提供一個(gè)數(shù)字視頻信號(hào)PD2。數(shù)字視頻信號(hào)PD2通過(guò)第 一量化器920進(jìn)行步長(zhǎng)為qs的量化而提供一個(gè)數(shù)字視頻信號(hào)PDqs2。數(shù)字視頻信號(hào)PDqs2 通過(guò)去量化器921進(jìn)行步長(zhǎng)為qs的去量化而提供一個(gè)數(shù)字視頻信號(hào)PDds2。在數(shù)字視頻信號(hào)PDds2和數(shù)字視頻信號(hào)PD2之間有一個(gè)切換。當(dāng)切換到數(shù)字視頻信號(hào)PDds2時(shí),從第一變 換器910的數(shù)字視頻信號(hào)輸出OD減去數(shù)字視頻信號(hào)PDds2以提供一個(gè)數(shù)字視頻信號(hào)ED2 ED2 = OD-PDds2當(dāng)切換到數(shù)字視頻信號(hào)PD2時(shí),從第一變換器910的數(shù)字視頻信號(hào)OD減去數(shù)字視 頻信號(hào)PD2,從而數(shù)字視頻信號(hào)ED2變成ED2 = OD-PD2數(shù)字視頻信號(hào)ED2通過(guò)第二量化器913進(jìn)行步長(zhǎng)為qp的量化而提供一個(gè)數(shù)字視 頻信號(hào)EDqp2。和運(yùn)動(dòng)矢量MV和模式一起,數(shù)字視頻信號(hào)EDqp2被可變長(zhǎng)度編碼器917編 碼而提供一個(gè)數(shù)字視頻信號(hào)輸出比特流。數(shù)字視頻信號(hào)EDqp2通過(guò)去量化器915進(jìn)行步長(zhǎng) 為qp的去量化而提供一個(gè)數(shù)字視頻信號(hào)EDdp2。數(shù)字視頻信號(hào)EDdp2被添加到數(shù)字視頻信 號(hào)PD2以提供一個(gè)重建數(shù)字視頻信號(hào)RD2 RD2 = PD2+EDdp2重建數(shù)字視頻信號(hào)RD2通過(guò)第三量化器931進(jìn)行步長(zhǎng)為qs的量化而提供一個(gè)數(shù)字 視頻信號(hào)RDqs2。數(shù)字視頻信號(hào)RDqs2通過(guò)第三去量化器933進(jìn)行步長(zhǎng)為qs的去量化而提 供一個(gè)數(shù)字視頻信號(hào)RDds2。數(shù)字視頻信號(hào)RDds2通過(guò)第一逆變換器935進(jìn)行逆變換而提供 一個(gè)數(shù)字視頻信號(hào)RIds2。數(shù)字視頻信號(hào)RIds2被提供給前向幀緩沖器941或后向幀緩沖 器943。前向幀緩沖器941或后向幀緩沖器943的緩沖器配置是在編碼之前進(jìn)行。例如,如 圖2B(b)所示,在時(shí)間T8上的PSB幀被解碼之后,被解碼的PSB幀存儲(chǔ)在一個(gè)可解碼的圖 像緩沖器內(nèi),其包含存儲(chǔ)一個(gè)或多個(gè)幀的存儲(chǔ)器空間。當(dāng)在時(shí)間T4上的幀正在被解碼時(shí), 在可解碼的圖像緩沖器內(nèi)的時(shí)間T8上的被解碼的PSB幀將移位到后向幀緩沖器943。當(dāng)在 T12上的幀正在被編碼時(shí),在可解碼的圖像緩沖器內(nèi)的時(shí)間T8上的被解碼的PSB幀將移位 到前向幀緩沖器941。視頻的緩沖器配置也在Jack,Keith,Videodemystified :a handbook for the digital engineer, (Newnes/Elsevier, Boston), c. 2007 里有描述,在此其披露通 過(guò)引用結(jié)合到本發(fā)明。一個(gè)SI幀編碼器被用來(lái)產(chǎn)生一個(gè)訪問(wèn)比特流,并與幀內(nèi)預(yù)測(cè)模式一起作為輸入, 在來(lái)自第三量化器931的數(shù)字視頻信號(hào)RDqs2I執(zhí)行可變長(zhǎng)度編碼??勺冮L(zhǎng)度編碼是通過(guò) 可變長(zhǎng)度編碼器950完成。在一個(gè)變化形式的實(shí)施例里,圖9所示的PSB幀編碼器和SI幀編碼器是由至少一 個(gè)處理器和至少一個(gè)包括計(jì)算機(jī)程序代碼的存儲(chǔ)器進(jìn)行實(shí)施;該至少一個(gè)處理器和至少一 個(gè)存儲(chǔ)器和計(jì)算機(jī)程序代碼被設(shè)置使得裝置能夠執(zhí)行PSB幀編碼器和SI幀編碼器的功能。 有至少一個(gè)存儲(chǔ)器用來(lái)存儲(chǔ)數(shù)據(jù),并充當(dāng)緩沖器。圖10顯示一個(gè)PSB幀解碼器的變化形式的實(shí)施例。在此實(shí)施例里,SP幀解碼器 被改建為一個(gè)PSB幀解碼器。PSB幀的編碼數(shù)字視頻比特流是通過(guò)可變長(zhǎng)度解碼器1001 進(jìn)行解碼??勺冮L(zhǎng)度解碼器1001輸出一個(gè)數(shù)字視頻信號(hào)EDqp2。數(shù)字視頻信號(hào)EDqp2通過(guò) 去量化器1010進(jìn)行步長(zhǎng)為qp的去量化以輸出一個(gè)數(shù)字視頻信號(hào)EDdp2??勺冮L(zhǎng)度解碼器 1001也提供運(yùn)動(dòng)矢量和模式到一個(gè)運(yùn)動(dòng)補(bǔ)償器1021用于執(zhí)行運(yùn)動(dòng)補(bǔ)償。運(yùn)動(dòng)補(bǔ)償器計(jì)算 一個(gè)預(yù)測(cè)數(shù)字視頻信號(hào)PI2。預(yù)測(cè)數(shù)字視頻信號(hào)PI2通過(guò)變換器1023進(jìn)行數(shù)字視頻信號(hào)變 換。在數(shù)字視頻信號(hào)變換之后,變換器1023輸出一個(gè)數(shù)字視頻信號(hào)PD2。數(shù)字視頻信號(hào)PD2 被添加到去量化器1010的數(shù)字視頻信號(hào)EDdp2以提供一個(gè)數(shù)字視頻信號(hào)RD2
RD2 = EDdp2+PD2第一逆變換器1040在數(shù)字視頻信號(hào)RD2上執(zhí)行逆變換,并輸出一個(gè)重建幀RI2作 為一個(gè)視頻到顯示器。數(shù)字視頻信號(hào)RD2通過(guò)量化器1035執(zhí)行步長(zhǎng)為qs的量化以輸出一 個(gè)數(shù)字視頻信號(hào)RDqs2。數(shù)字視頻信號(hào)RDqs2通過(guò)去量化器1033執(zhí)行步長(zhǎng)為qs的去量化 以輸出一個(gè)數(shù)字視頻信號(hào)RDds2。數(shù)字視頻信號(hào)RDds2通過(guò)第二逆變換器1031執(zhí)行逆變換 以輸出一個(gè)數(shù)字視頻信號(hào)RIds2。數(shù)字視頻信號(hào)RIds2被提供到合適的緩沖器,切換到前向 幀緩沖器1041或后向幀緩沖器1043。從前向幀緩沖器1041和后向幀緩沖器1043輸出的 數(shù)字視頻信號(hào)被提供給運(yùn)動(dòng)補(bǔ)償器1021。在一個(gè)變化形式的實(shí)施例里,圖10所示的PSB幀解碼器由至少一個(gè)處理器和至少 一個(gè)包括計(jì)算機(jī)程序代碼的存儲(chǔ)器實(shí)施;該至少一個(gè)處理器和至少一個(gè)存儲(chǔ)器和計(jì)算機(jī)程 序代碼被設(shè)置使得裝置能夠執(zhí)行PSB+幀解碼器的功能。有至少一個(gè)存儲(chǔ)器用來(lái)存儲(chǔ)數(shù)據(jù), 并充當(dāng)緩沖器。上述一個(gè)或多個(gè)處理器能夠從任何裝置接收視頻信號(hào)輸入,例如,任何無(wú)線和有 線通信信道或任何存儲(chǔ)器設(shè)備,如磁驅(qū)動(dòng)器、光碟、固態(tài)裝置等。每個(gè)處理器處理本發(fā)明各 個(gè)非限制性實(shí)施例所述的數(shù)據(jù)。每個(gè)處理都是利用存儲(chǔ)在上述一個(gè)或多個(gè)存儲(chǔ)器內(nèi)的預(yù)設(shè) 參數(shù)或使用程序自動(dòng)執(zhí)行,以控制和輸入所涉及的參數(shù),從而程序發(fā)送控制信號(hào)或數(shù)據(jù)到 處理器。而且每個(gè)處理器也使用存儲(chǔ)器來(lái)保留任何中間數(shù)據(jù)或輸出,如各種類型的視頻幀。 此外,任何輸出可以由存儲(chǔ)在存儲(chǔ)器內(nèi)的程序進(jìn)行訪問(wèn),以防處理器需要進(jìn)行進(jìn)一步的處 理,并也可能通過(guò)任何裝置如通信信道或存儲(chǔ)器設(shè)備發(fā)送輸出到其它設(shè)備或處理器。本發(fā)明優(yōu)選實(shí)施例的描述并不是窮盡性的,本領(lǐng)域技術(shù)人員可以對(duì)其作出顯而易 見(jiàn)的任何更新或修改,所以請(qǐng)參照所附的權(quán)利要求來(lái)確定本發(fā)明的范圍。盡管某些特征可 以參照一個(gè)特別實(shí)施例的描述,這些特征也可以與相同或其它實(shí)施例的特征結(jié)合在一起, 除非另作闡述。工業(yè)應(yīng)用本發(fā)明可以用于視頻通信,特別是用于編碼和解碼視頻。對(duì)視頻通信,在通過(guò)信道 被傳輸?shù)阶罱K用戶之前,需要對(duì)視頻進(jìn)行編碼。本發(fā)明特別適合用于現(xiàn)代視頻編碼標(biāo)準(zhǔn)如 H. 264和多視點(diǎn)編碼。本發(fā)明能夠以軟件或設(shè)備方式進(jìn)行實(shí)施,提供更廣泛的應(yīng)用,如從多 視點(diǎn)編碼訪問(wèn)一個(gè)視點(diǎn)、將MVC比特流轉(zhuǎn)譯成AVC比特流、隨機(jī)訪問(wèn)、比特流切換,容錯(cuò)性。
權(quán)利要求
一種數(shù)字視頻處理方法,包括依照運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)產(chǎn)生一個(gè)重建數(shù)字視頻幀;利用變換、量化、去量化和逆變換來(lái)處理該重建數(shù)字視頻幀以產(chǎn)生一個(gè)數(shù)字視頻比特流。
2.根據(jù)權(quán)利要求1所述的數(shù)字視頻處理方法,其中 數(shù)字視頻比特流是一個(gè)多視點(diǎn)視頻。
3.根據(jù)權(quán)利要求2所述的數(shù)字視頻處理方法,還包括 合并一個(gè)SI幀到該多視點(diǎn)視頻內(nèi)。
4.根據(jù)權(quán)利要求3所述的數(shù)字視頻處理方法,還包括通過(guò)SI幀在多視點(diǎn)視頻里獲得一個(gè)PSB幀,在多視點(diǎn)視頻內(nèi)提取一個(gè)單視點(diǎn)視頻比特流。
5.根據(jù)權(quán)利要求4所述的數(shù)字視頻處理方法,其中 多視點(diǎn)視頻是MVC格式。
6.根據(jù)權(quán)利要求5所述的數(shù)字視頻處理方法,其中 單視點(diǎn)視頻比特流是H. 264/AVC格式。
7.根據(jù)權(quán)利要求4所述的數(shù)字視頻處理方法,還包括將一個(gè)多點(diǎn)圖視頻標(biāo)準(zhǔn)的語(yǔ)法修改成一個(gè)單視點(diǎn)視頻標(biāo)準(zhǔn)的語(yǔ)法。
8.根據(jù)權(quán)利要求7所述的數(shù)字視頻處理方法,其中 一個(gè)單視點(diǎn)視頻標(biāo)準(zhǔn)的語(yǔ)法是一個(gè)H. 264/AVC的語(yǔ)法。
9.根據(jù)權(quán)利要求7所述的數(shù)字視頻處理方法,其中 一個(gè)多視點(diǎn)視頻標(biāo)準(zhǔn)的語(yǔ)法是一個(gè)MVC的語(yǔ)法。
10.根據(jù)權(quán)利要求1所述的數(shù)字視頻處理方法,還包括提供一個(gè)SI幀以通過(guò)一個(gè)相應(yīng)幀訪問(wèn)數(shù)字視頻內(nèi)的一個(gè)幀。
11.根據(jù)權(quán)利要求1所述的數(shù)字視頻處理方法,還包括通過(guò)使用一個(gè)PSB幀和一個(gè)SSB幀在兩個(gè)或多個(gè)數(shù)字視頻比特流之間進(jìn)行切換。
12.—個(gè)數(shù)字視頻處理裝置,包括 至少一個(gè)處理器;和至少一個(gè)存儲(chǔ)器,其包括計(jì)算機(jī)程序代碼;該至少一個(gè)處理器和至少一個(gè)存儲(chǔ)器和計(jì)算機(jī)程序代碼被設(shè)置使得數(shù)字視頻處理裝 置能夠至少執(zhí)行以下的步驟依照運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)產(chǎn)生一個(gè)重建數(shù)字視頻幀;利用變換、量化、去量化和逆變換來(lái)處理重建數(shù)字視頻幀以產(chǎn)生一個(gè)數(shù)字視頻比特流。
13.根據(jù)權(quán)利要求12所述的數(shù)字視頻處理裝置,其中數(shù)字視頻處理裝置還產(chǎn)生一個(gè)SI幀,并合并此SI幀到數(shù)字視頻比特流內(nèi)。
14.根據(jù)權(quán)利要求13的數(shù)字視頻處理裝置的裝置,其中 數(shù)字視頻比特流是一個(gè)多視點(diǎn)視頻。
15.根據(jù)權(quán)利要求14所述的數(shù)字視頻處理裝置,其中數(shù)字視頻處理裝置通過(guò)SI幀在多視點(diǎn)視頻內(nèi)獲得一個(gè)PSB幀,還在多視點(diǎn)視頻內(nèi)提取 一個(gè)單視點(diǎn)視頻比特流。
16.根據(jù)權(quán)利要求15所述的數(shù)字視頻處理裝置,其中 多視點(diǎn)視頻是MVC格式。
17.根據(jù)權(quán)利要求16所述的數(shù)字視頻處理裝置,其中 單視點(diǎn)視頻比特流是H. 264/AVC格式。
18.根據(jù)權(quán)利要求15所述的數(shù)字視頻處理裝置,其中數(shù)字視頻處理裝置還將一個(gè)多視點(diǎn)視頻標(biāo)準(zhǔn)的語(yǔ)法修改成一個(gè)單視點(diǎn)視頻標(biāo)準(zhǔn)的語(yǔ)法。
19.根據(jù)權(quán)利要求12所述的數(shù)字視頻處理裝置,其中數(shù)字視頻處理裝置還通過(guò)SI幀和一個(gè)PSB幀訪問(wèn)數(shù)字視頻比特流內(nèi)的一個(gè)幀。
20.根據(jù)權(quán)利要求12所述的數(shù)字視頻處理裝置,其中數(shù)字視頻處理裝置還通過(guò)使用一個(gè)PSB幀和一個(gè)SSB幀在兩個(gè)或多個(gè)數(shù)字視頻比特流 之間進(jìn)行切換。
全文摘要
本發(fā)明涉及同步雙向幀的產(chǎn)生及其使用,包括一種可實(shí)施在一個(gè)裝置上的數(shù)字視頻處理方法,包括通過(guò)處理器在一個(gè)重建數(shù)字視頻幀上執(zhí)行變換110、量化121、去量化122和逆變換123以將一個(gè)具有分層B幀結(jié)構(gòu)的數(shù)字視頻比特流轉(zhuǎn)換成一個(gè)具有修改的分層B幀結(jié)構(gòu)的數(shù)字視頻比特流。雙向幀通過(guò)同步獨(dú)立幀被用來(lái)作為接入點(diǎn),以使在多視點(diǎn)編碼視頻里進(jìn)行單視點(diǎn)訪問(wèn)和隨機(jī)訪問(wèn)幀的應(yīng)用成為可能。本發(fā)明也披露了改進(jìn)的比特流切換方法。
文檔編號(hào)H04N7/24GK101883268SQ20101011405
公開(kāi)日2010年11月10日 申請(qǐng)日期2010年1月22日 優(yōu)先權(quán)日2009年10月21日
發(fā)明者伏長(zhǎng)虹, 劉雨, 火焰, 蕭允治, 許偉林, 鄭嘉雯, 陳銳霖 申請(qǐng)人:香港應(yīng)用科技研究院有限公司