两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

視頻編碼的制作方法

文檔序號:7665630閱讀:301來源:國知局
專利名稱:視頻編碼的制作方法
技術領域
本發(fā)明涉及視頻編碼。
視頻序列由一序列的靜態(tài)畫面或幀組成。視頻壓縮方法基于減小視頻序列的冗余和顯然的不相關部分。在視頻序列中的冗余能夠分為頻譜冗余、空間冗余和時間冗余。頻譜冗余是指在相同的畫面之間的不同的色彩分量之間的相似性??臻g冗余是由在畫面中的相鄰像素之間的相似性造成的。而時間冗余的存在是因為在在先的圖像中出現(xiàn)的對象也可能出現(xiàn)在當前的圖像中。通過考慮這種時間冗余并從另一畫面(稱為錨定或參考畫面)中預測當前的畫面可以實現(xiàn)壓縮。通過產生描述在當前的畫面和先前的畫面之間的運動的運動補償數(shù)據(jù)可以實現(xiàn)進一步的壓縮。
然而,僅通過減小序列的固有的冗余并不能實現(xiàn)足夠的壓縮。因此,視頻編碼器還試圖減小那些并不重要的視頻序列部分的質量。此外,通過壓縮參數(shù)和系數(shù)的有效的無損失編碼減小編碼的位流冗余度。主要的技術是使用可變長度的編碼。
視頻壓縮方法通常不同地對待使用時間冗余減小的畫面和不使用時間冗余減小的畫面。不使用時間冗余減小法的壓縮的畫面通常稱為INTRA或I-幀或I-畫面。通常從在當前的畫面之前產生的畫面中前向預測時間預測圖像,并稱為INTER或P-幀或P-畫面。在INTER幀的情況下,預測的運動補償畫面很少足夠精確,因此空間壓縮的預測誤差幀與每個INTER幀相關。INTER畫面可以包含INTRA-編碼區(qū)。
許多視頻壓縮方案也使用時間雙向預測幀,這種幀通常稱為B-畫面或B-幀。B-畫面插入在I-和/或P-幀的固定畫面對之間并從這些固定畫面中的一個或兩個中預測。與前向預測畫面相比,B-畫面通常產生更高的壓縮比。B-畫面并不用作固定畫面,即不能從它們中預測另外的畫面。因此,可以將它們丟棄(有意或無意地)而不影響將來的畫面的畫面質量。雖然與P-畫面相比B-畫面可以改善壓縮的性能,但是它們要求更大的計算復雜度和使用存儲器,并且它們造成了進一步的延遲。對于非實時應用比如視頻流可能不是問題,但在實時應用比如視頻會議中可能帶來問題。
壓縮的視頻剪輯通常包括一序列的畫面,這些畫面可以大致分為時間獨立的INTRA畫面和時間差分編碼的INTER畫面。由于在INTRA畫面中的壓縮效率通常低于在INTER畫面中的效率,因此保守地使用INTRA畫面,尤其是在低位率應用場合中。
視頻序列可以由許多場景或鏡頭組成。不同場景的圖片內容可能顯著地不同,因此場景的第一畫面通常為INTRA編碼。在電視和電影材料中經常有場景變換,然而在視頻會議中場景剪切相當少。此外,插入INTRA畫面以停止在重構的視頻信號中的傳輸誤差的時間傳播并給視頻位流提供隨機的訪問點。
由于各種原因壓縮的視頻容易被傳輸誤差所破壞。首先,由于使用了時間預測差分編碼(INTER幀),誤差在空間和時間中傳播。在實際中這意味著,一旦產生了誤差,在相對較長的時間中人眼都容易看到。對低位速率傳輸尤其敏感,在這種低速率傳輸中僅有少數(shù)幾個的INTRA-編碼幀,因此在某些時間中時間誤差傳播并沒有停止。其次,使用可變長度編碼增加了對誤差的敏感性。在位誤差改變碼元時,解碼器失去了碼元同步并對隨后的無誤差碼元(包括幾個位)進行不正確地解碼直到下一同步碼。同步碼是一種不能從其它的碼元的正當組合中產生的位模式,并且這種碼可以加入到間隔的位流中以實現(xiàn)再同步。此外,在傳輸?shù)倪^程中在丟失數(shù)據(jù)時產生了誤差。例如,在IP網絡中使用不可靠的用戶數(shù)據(jù)報協(xié)議(UDP)傳輸協(xié)議的視頻應用中,網絡元素可以放棄編碼的視頻位流的某些部分。此外,編碼的INTRA畫面的大小通常比編碼的INTER畫面的大小大得多。在對周期性的INTRA幀進行編碼時,更可能的是INTRA畫面受到破壞。
接收器有許多方式解決在傳輸路徑中的破壞。一般地,一旦接收到信號,首先檢測傳輸誤差,然后通過接收器校正或隱蔽傳輸誤差。首先誤差校正是指象還沒有產生誤差那樣完整地接收誤差數(shù)據(jù)的過程。誤差隱蔽是指隱蔽傳輸誤差以使在重構的視頻序列中幾乎看不到他們的過程。通常通過源或傳輸碼加入某些冗余量以有利于誤差檢測、校正和隱蔽。
在流應用中,在下載隨后的剪輯部分的同時可以實施多路分解-解壓縮-重放鏈。在這種情況下,客戶可以請求重新傳輸被破壞的INTRA畫面。然而,有時侯流服務器可以不能響應這種請求或者在流服務器和客戶之間的通信協(xié)議可能不能傳輸這種請求。例如,服務器可以發(fā)送多址通信流即多客戶的單流。如果這些客戶中的一個客戶接收破壞的INTRA畫面并發(fā)送重新傳輸?shù)恼埱?,多址通信服務器可以使用多址通信信道將重新傳輸?shù)腎NTRA畫面發(fā)送給所有的客戶或者打開一個附加的單址通信信道來給特定的客戶重新傳輸。前一種情況不必要地增加了大多數(shù)客戶的網絡傳輸量,而后一種情況使應用和網絡資源分配變得復雜。RTCP(實時控制協(xié)議)是一種不能請求重新傳輸特定的圖片的傳輸協(xié)議。服務器不能基于由RTCP所提供的接收器報告確定重新傳輸哪個圖片。
當前的視頻編碼標準定義了自足的視頻位流體系。目前最流行的標準是ITU-T Recommendation H.263,“Video coding for low bitratecommunication”(1998年2月,ISO/IEC 14496-2)、“GenericCoding of Audio-Visual Objects.Part 2 Visual”(1999年,稱為MPEG-4);和ITU-T Recommendation H.262(ISO/IEC 13818-2,稱為MPEG-2)。這些標準定義了位流和相應的圖像序列和圖像的體系。
某些視頻編碼方案(比如ITU-T H.263 Annex N ReferencePicture Selection(RPS)模式)包括INTER幀的預測參考幀的指示器。
視頻冗余編碼(VRC)還描述在H.263的附錄N中。在VRC中,產生了獨立編碼的INTER畫面的多個“線程(thread)”。因此在一個線程中的幀的破壞并不影響其它的線程的解碼。周期性地,所有的線程都收斂到所謂的同步幀,該同步幀可以是在所有的線程內冗余地表示的INTRA畫面或非INTRA畫面。從這個同步幀起所有的獨立的線程都重新開始。
VRC方法的原理是將畫面序列劃分為兩個或多個線程以使所有的畫面以循環(huán)復用方式分配給其中一個線程。每個線程獨立地編碼。在一個線程內的幀速率低于總的幀速率在兩個線程的情況下的一半,在三個線程的情況下的三分之一,等。這導致了實質的編碼惡化,因為通常要求一般更長的變化和更長的運動矢量來精確表示在一個線程內的兩個P-畫面之間的運動相關的變化。所有的線程以規(guī)則的間隔收斂到所謂的同步幀。從這個同步幀起,開始新的線程序列。
如果一個線程被破壞了(例如因為包損失),剩余的線程可用于預測下一同步幀。損壞的線程的解碼可以繼續(xù),這通常導致輕微的畫面質量降低,或者停止它的解碼,這就導致了幀速率的降低。然而,如果線程的長度合理地保持較小,在相當短的時間中都存在兩種形式的質量降低,即直到達到下一同步幀。
同步幀總是從一個未損壞的線程中預測。這意味著傳輸?shù)腎-畫面的數(shù)量可以保持較小,因為不需要完整的重新同步。只有在兩個同步幀之間的所有的線程都損壞時,則不可能再進行正確的同步幀預測。在這種情況下,討厭的假象就會出現(xiàn)直到下一I-畫面被正確地解碼,正如不使用VRC的情況。
根據(jù)本發(fā)明的一方面,提供一種對表示畫面序列的視頻信號進行編碼的方法,該方法包括不參考該序列的另一畫面對該序列的第一畫面的至少一部分進行編碼和參考該序列的另一畫面對該第一畫面的所說的至少一部分進行編碼以產生對應的時間預測畫面。
只要以INTRA方式對一幀或一幀的一部分進行編碼就可適用本發(fā)明。在編碼器以INTRA方式對一幀(或一幀的一部分)進行編碼時,該編碼器也對該幀(該幀的一部分)進行再次編碼,這次以時間預測方式參考在視頻序列中的另一幀。
即使原始INTRA畫面丟失或者被破壞本發(fā)明也能夠在解碼器中實現(xiàn)INTRA畫面恢復。為恢復INTRA畫面不需要在發(fā)射器和接收器之間的相互作用。此外,在某些情況下,本發(fā)明導致了比已有技術中的前述誤差校正方法更低的位速率開銷。
可取的是,也參考序列的另一畫面對不參考另一畫面的每個畫面(或者畫面段)進行編碼。
參考在時間上在所說的第一畫面之前的序列中出現(xiàn)的另一畫面和/或參考在時間上在所說的第一畫面之后的在序列中出現(xiàn)的另一畫面可以對第一畫面(或畫面段)進行編碼。參考在該序列中出現(xiàn)的另一畫面可以對第一畫面(或畫面段)中編碼多次。
在本發(fā)明的第二方面中,提供一種視頻編碼器,該視頻編碼器包括用于接收表示畫面序列的視頻信號的輸入,該編碼器被設置成不參考該序列的另一畫面對該序列的第一畫面的至少一部分進行編碼和參考該序列的另一畫面對該第一畫面的所說的至少一部分進行編碼以產生對應的時間預測畫面。
本發(fā)明也延伸到包括根據(jù)本發(fā)明的視頻編碼器的視頻編解碼器和多媒體系統(tǒng)。
在本發(fā)明的進一步方面中,提供一種對表示畫面序列的視頻信號進行編碼的方法,該方法包括不參考該序列的另一畫面對該序列的第一畫面的一段進行編碼和參考該序列的另一畫面對所說的第一畫面的至少所說的段進行編碼以產生對應的時間預測畫面段。
本發(fā)明也包括一種視頻解碼的方法,包括接收表示視頻序列的編碼畫面的信號,確定非時間預測的畫面或者非時間預測的部分畫面是否已經被破壞了,以及如果是這樣,監(jiān)測該畫面或者它的一部分的時間預測的表示,一旦接收到該畫面或者它的一部分的時間預測表示,參考另一畫面對該畫面或者它的一部分進行解碼。
在本發(fā)明的進一步方面中,還提供一種視頻解碼器,該視頻解碼器包括接收表示畫面序列的視頻信號的輸入,所說的視頻解碼器被設置成確定非時間預測的畫面或者非時間預測的部分畫面是否已經被破壞了,以及如果是這樣,監(jiān)測該畫面或者它的一部分的時間預測的表示,一旦接收到該畫面或者它的一部分的時間預測表示,參考另一畫面對該幀或者它的一部分的時間預測表示進行解碼。
本發(fā)明可延伸到并入了根據(jù)本發(fā)明的視頻編碼器或者視頻解碼器的便攜式電子設備。
現(xiàn)在參考附圖通過舉例的方式描述本發(fā)明,其中附

圖1所示為多媒體移動通信系統(tǒng);附圖2所示為多媒體終端的多媒體部件的實例;附圖3所示為視頻編解碼器的實例;附圖4所示為根據(jù)本發(fā)明的視頻編碼器的操作的流程圖;附圖5所示為根據(jù)本發(fā)明的視頻編碼器的第一實施例的輸出的實例;附圖6所示為根據(jù)本發(fā)明的第一實施例的視頻解碼器的操作的流程圖;附圖7所示為根據(jù)本發(fā)明的第二實施例的視頻解碼器的操作的流程圖;附圖8所示為本發(fā)明的進一步實施例;以及附圖9所示為并入了根據(jù)本發(fā)明的視頻編碼器和/或解碼器的多媒體內容產生和檢索系統(tǒng)。
附圖1所示為常規(guī)的多媒體移動通信系統(tǒng)。第一多媒體移動終端1通過鏈接到移動通信網絡4的無線電鏈接3與第二多媒體移動終端2進行通信??刂茢?shù)據(jù)在兩個終端1,2以及多媒體數(shù)據(jù)之間發(fā)送。
附圖2所示為常規(guī)的終端1的多媒體部件。終端包括視頻編解碼器10、聲頻編解碼器20、數(shù)據(jù)協(xié)議管理器30、控制管理器40、多路復用器/多路分解器50和調制解調器(如果需要的話)。視頻編解碼器10從終端(例如照相機)的視頻輸入/輸出裝置70中接收編碼的信號并從遠程終端2中接收解碼的信號以通過終端1顯示在視頻輸入/輸出裝置70的顯示器上進行顯示。聲頻編解碼器20接收來自終端1的聲頻輸入/輸出裝置75(例如麥克風)的編碼信號并從自遠程終端2接收解碼信號以通過終端1的聲頻輸入/輸出裝置75(例如揚聲器)進行再現(xiàn)。該終端可以是便攜式無線電通信設備比如無線電電話。
控制管理器40控制視頻編解碼器10、聲頻編解碼器20和數(shù)據(jù)協(xié)議管理器30的操作。但是,由于本發(fā)明涉及視頻編解碼器10的操作,因此不進一步討論聲頻編解碼器20和協(xié)議管理器30。
附圖3所示為根據(jù)本發(fā)明的視頻編解碼器10的實例。視頻編解碼器包括編碼器部分100和解碼器部分200。編碼器部分100包括從終端1的照相機或視頻源(未示)接收視頻信號的輸入101。開關102在INTER模式和INTRA模式之間切換編碼器。視頻編解碼器10的編碼器部分100包括DCT變換器103、數(shù)字轉換器104、反向數(shù)字轉換器108、反向DCT變換器109、加法器110、一個或多個畫面存儲器107、形成預測誤差的減法器106、開關115和編碼控制管理器105。
視頻編解碼器10的解碼器部分200包括反向數(shù)字轉換器220、反向DCT變換器221、運動補償器222、多個畫面存儲器223和控制器224??刂破?24接收通過多路復用器50從編碼的多媒體流中多路分解的視頻編解碼控制信號。在實際中編碼器的控制器105和解碼器的控制器224可以是相同的處理器。
現(xiàn)在描述根據(jù)本發(fā)明的編碼器的操作。視頻編解碼器10接收要編碼的視頻信號。視頻編解碼器的編碼器100通過執(zhí)行DCT變換、量化和運動補償來對視頻信號進行編碼。然后將編碼的視頻信號輸入到多路復用器50。多路復用器50將來自視頻編解碼器10的視頻數(shù)據(jù)和來自管理器40的控制數(shù)據(jù)(以及其它合適的信號)復用成多媒體信號。終端1通過調制解調器60(如果需要的話)將該多媒體信號輸出到接收終端2。
在INTRA模式中,通過DCT變換器103將來自輸入101的視頻信號轉換為DCT系數(shù)。然后將DCT系數(shù)傳輸給數(shù)字轉換器104,在該數(shù)字轉換器中進行量化。通過視頻編解碼器的編碼控制管理器105控制開關102和數(shù)字轉換器104,該編碼控制管理器105還可以通過控制管理器40從接收終端2中接收反饋控制。然后使通過數(shù)字轉換器輸出的數(shù)據(jù)通過反向數(shù)字轉換器108并將反向DCT變換109應用于反向量化的數(shù)據(jù)來形成解碼的畫面。通過加法器110將所得的數(shù)據(jù)加入到畫面存儲器107中,開關115不給加法器110提供任何數(shù)據(jù)。
在INTER模式中,運行開關102以從減法器106中接收來自輸入101的信號和存儲在畫面存儲器107中的參考畫面之間的差值。從減法器106中輸出的差值數(shù)據(jù)表示在當前的畫面和存儲在畫面存儲器107中的參考畫面之間的預測誤差。運動估計器111可以以常規(guī)的方式從畫面存儲器107中的數(shù)據(jù)中形成運動補償數(shù)據(jù)。
編碼控制管理器105基于減法器106的輸出或者響應來自接收解碼器的反饋控制數(shù)據(jù)決定是否適用INTRA或INTER編碼或者對幀進行完全編碼,并由此操作開關102。在當前幀和參考幀之間的相似性足夠或者沒有時間對幀進行解碼時編碼控制管理器可以決定根本不對接收的幀進行編碼。
如果不響應反饋控制數(shù)據(jù),僅在編碼開始時(所有的其它的幀都是P-幀)或以恒定的周期例如每5秒,或者如果減法器的輸出超過閾值,即在判斷當前的畫面和存儲在畫面存儲器107中的畫面太不類似以致不能進行有效的時間預測時,編碼器通常將幀編碼為INTRA-幀。也可以對編碼器進行編程以特定的規(guī)則序列例如IBBPBBPBBPBBPBBIBBP等對幀進行編碼。
在對INTER畫面進行編碼的情況下,視頻編解碼器輸出INTRA編碼畫面的量化的DCT系數(shù)或者INTER編碼畫面112a、量化指標112b(即所使用的數(shù)字轉換器的細節(jié))、指示所執(zhí)行的編碼的模式(I或者P/B)的INTRA/INTER標志112c、指示編碼的幀的數(shù)量的發(fā)射標志112d和運動矢量112e的預測誤差數(shù)據(jù)。通過多路復用器50將這些數(shù)據(jù)與其它的多媒體信號多路復用器在一起。
附圖4所示為根據(jù)本發(fā)明的第一實施例的編碼器的操作的流程圖。編碼器產生對應于INTRA編碼幀的一個或多個時間預測幀以及INTRA編碼幀本身。為簡化描述僅參考INTER和INTRA幀的處理。省去其它類型的幀(例如B-幀)的處理。以常規(guī)的方式進行這些處理。
首先,編碼器接收幀(401)。編碼器確定(以常規(guī)的方式)是否對幀進行編碼或者跳過它(402)。如果決定對幀進行編碼,則編碼器確定(403)是否將該幀編碼為INTRA幀(404)或者INTRA幀(405)。在前述的情況中,以常規(guī)的時間預測方式對幀進行編碼(404)。在后一種情況中,以常規(guī)的非時間預測方式對幀進行編碼(405)。作出將幀編碼為INTRA幀的決定(405)可以是響應在編碼器中建立的周期性INTRA請求或者響應從接收解碼器中接收的特定請求??商鎿Q的是,可以響應編碼器確定在畫面內容中是否存在重要的變化,從壓縮效率的角度看利用INTRA畫面比較有利。這也可以非正式地稱為場景剪切。
只要以INTRA方式對幀或幀的一段進行編碼就可適用本發(fā)明。在編碼器將一幀編碼為INTRA幀時,該編碼器也對該幀(或該幀的一段)再次進行編碼(407,408),這次以時間預測方式參考在視頻序列中的另一幀。
對于除了視頻序列的第一幀除外的所有幀,在要編碼的幀之前,以時間預測方式參考在視頻序列內產生的幀(即通過前向預測)也對已經進行INTRA編碼的幀進行編碼(407)。這種例外也可以是在場景剪切之后的第一INTRA編碼幀的情況。
如果編碼器確定(406)該幀是要編碼的第一INTRA幀(或者在場景剪切之后要編碼的第一INTRA幀),編碼器對該幀進行再次編碼(408),這次以時間預測方式在要編碼的幀之后參考在視頻序列內產生的幀,即通過后向預測。因此編碼器必須等待直到在它參考隨后的幀能夠對預測幀進行編碼之前已經接收了要編碼的隨后的幀。
在附圖4中所示的實例中,編碼器等待(409)直到已經編碼了下一INTRA幀,然后參考該場景的第二INTRA幀產生(408)在先的INTRA編碼幀的后向預測表示。
在視頻序列的INTRA畫面之后的所有的INTRA畫面可以具有以前向預測方式和/或后向預測的方式編碼的時間預測的表示。
附圖5所示為根據(jù)本發(fā)明的編碼器的逐幀輸出。I0是出現(xiàn)在視頻序列正好開始時(或在場景剪切之后)的INTRA編碼的畫面。所示的系統(tǒng)使用周期性的INTRA畫面,I4是這種畫面。為了保護I0和I4不產生傳輸錯誤,對每個INTRA編碼畫面的第二表示進行時間預測編碼和傳輸。畫面4的第二表示是參考畫面0預測(和運動編碼)的INTER畫面。在附圖5中通過P4表示這個第二表示。P4可以從在前的幀I0、P1、P2或P3中的任何幀中預測。優(yōu)選選擇畫面0,因為否則在從I0開始預測路徑中其它的P4易產生傳輸錯誤。接收解碼器可以使用畫面4的任何表示以重構顯示/參考的畫面。
為保護畫面0不產生傳輸錯誤,對相同畫面的第二表示進行編碼并傳輸。畫面0是視頻序列的第一INTRA編碼的幀。這可以是整個視頻序列或者可以是整個視頻序列的子集的第一INTRA編碼的幀(例如,在視頻內容不連續(xù)例如場景剪切之后緊接產生的INTRA幀)。這種INTRA畫面的參考畫面的選擇方法不同于I4所使用的選擇方法。相反,畫面0的第二表示是參考下一周期性INTRA畫面的畫面(在該實例中的畫面4)預測(和運動補償)的INTER畫面。如果I0被破壞了,則接收器可以等待直到已經接收了I4和P0,在這之后它重構畫面0。再次從除了幀I4以外的畫面中預測P0,但優(yōu)選從以INTRA方式已經編碼的在時間上最近的幀中進行預測。
以其編碼的順序即I0、P1、P2、P3、I4、P4、P0、P5...等傳輸經編碼的數(shù)據(jù)??商鎿Q的是,可以對數(shù)據(jù)幀進行重新排序。
考慮終端1從終端2中接收編碼的視頻數(shù)據(jù),現(xiàn)在參考它的解碼作用描述視頻編解碼器10的操作。終端1從傳輸終端2中接收多媒體信號。多路分解器50對多媒體信號進行解復用并將視頻數(shù)據(jù)傳輸給視頻編解碼器10和將控制數(shù)據(jù)傳輸給控制管理器40。視頻編解碼器的解碼器200通過對數(shù)據(jù)進行反向數(shù)字轉換、反向DCT變換和運動補償來對編碼的視頻數(shù)據(jù)進行解碼。解碼器的控制器24校驗所接收的數(shù)據(jù)的完整性,并且如果檢測到錯誤,試圖以下述的方式隱蔽錯誤。然后將解碼、校正和隱蔽的視頻數(shù)據(jù)存儲在一個畫面存儲器223并輸出以在接收終端1的顯示器70上進行再現(xiàn)。
視頻數(shù)據(jù)誤差可能發(fā)生在該畫面級、畫面段級(例如,GOB(塊組)或片層級)或者宏塊級上。以這些級中的任何等級或每個等級上都可以實施誤差校驗。
附圖6所示為根據(jù)本發(fā)明的視頻解碼器的流程圖。首先考慮如附圖5中所示的信號,在根據(jù)本發(fā)明的解碼器接收這個信號時以常規(guī)的方式對該信號的每個幀進行解碼然后顯示在顯示裝置上??梢砸猿R?guī)的方式對所解碼的幀進行誤差校正和誤差隱蔽。在每次對幀進行解碼時,解碼器確定要顯示的幀的時間。通過檢查幀頭部的時間參考(RT)域可以實現(xiàn)這些,或者如果以包發(fā)送視頻,則可以檢查包的時間標記。
考慮如在附圖5中所示的畫面,以如下的方式發(fā)送I0、P1、P2、P3、I4、P4、P0、P5...等。解碼器接收畫面I0(601)并從它的畫面頭部中確定該畫面是INTRA編碼的。解碼器對畫面I0進行解碼(603)而不參考任何其它的畫面、顯示它并將它存儲在畫面存儲器223a中(604)。然后解碼器接收畫面P1(601)并從它的畫面頭部中確定該畫面是作為P一畫面進行INTER編碼的。該解碼器確定是否對畫面1已經進行了解碼(605)。由于還沒有對畫面1進行解碼,解碼器檢查是否已經接收了P1的參考畫面并對其進行解碼(606)。在已經接收了畫面0并對其進行了解碼時,該解碼器參考參考畫面0對畫面P1進行解碼、顯示它并將它存儲在下一畫面存儲器223b中(604)。然后解碼器接收畫面P2(601)并從它的畫面頭部中確定該畫面是作為P-畫面進行INTER編碼的。由于還沒有對畫面2進行解碼(605)并且已經對參考畫面1進行了解碼(606),因此解碼器參考在先的參考畫面1對畫面P2進行解碼、顯示它并將它存儲在下一存儲器223c中等。隨后對INTER編碼的畫面P3實施相同的程序(步驟602、603、605和606)。
要接收的下一畫面是I4。然后解碼器從它的畫面頭部中確定(602)該畫面是INTRA編碼的并對該畫面進行解碼。然后解碼器接收畫面P4(601)并從它的畫面頭部中確定(602)該畫面作為P-畫面進行INTER編碼的。但是該解碼器注意到(605)畫面4已經成功地被解碼過,放棄畫面P4并接收數(shù)據(jù)P0的下一畫面。解碼器從它的畫面頭部中確定(602)該畫面是作為P-畫面按INTER編碼的。但是該解碼器注意到(605)畫面0已經被解碼過,放棄畫面P0并成功地接收數(shù)據(jù)P5的下一畫面。然后參考解碼的畫面4對這個畫面進行解碼。
上文的描述說明了在傳輸?shù)倪^程中在沒有產生錯誤時所發(fā)生的情況?,F(xiàn)在考慮解碼不能成功時對INTRA編碼幀I0進行解碼的情況。這可能是因為在傳輸?shù)倪^程中幀的數(shù)據(jù)已經完全丟失或者該幀的某些數(shù)據(jù)部分被破壞而使它不能滿意地被恢復。在接收到幀P1時,解碼器確定還沒有對幀1進行解碼并還沒有接收和解碼P1的參考幀(606)。然后解碼器將P1的數(shù)據(jù)放置在緩沖器中(607)。對P2和P3進行相同的動作。
在成功地接收到I4時,解碼器對I4進行解碼而不參考任何其它的幀。在接收P4時忽略它因為畫面4已經被解碼(605)。在接收P0時解碼器確定還沒有對畫面0進行解碼(605)并且已經對P0的參考畫面進行了解碼。因此解碼器參考畫面4對幀P0進行解碼(603)。由于現(xiàn)在已經對畫面0進行解碼,因此可以以畫面0作為參考畫面對任何緩沖的幀進行解碼。因此解碼器參考畫面0對緩沖的幀P1進行解碼(608)。在對幀1進行解碼之后,解碼器也能夠對緩沖的幀P2進行解碼,在對幀2進行解碼之后,解碼器也能夠對緩沖的幀P3進行解碼。
如果解碼器沒有接收到所緩沖的幀的參考幀則解碼器放棄該緩沖的幀。解碼器可以設置為如果在給定的時間內或者在接收到INTRA編碼的幀時沒有接收到緩沖的幀的參考畫面則放棄該緩沖的幀。
附圖7所示為根據(jù)本發(fā)明的視頻解碼器的第二實施例的流程圖,該視頻解碼器能夠檢測場景的變化。解碼器接收(701)解碼信號。解碼器檢測(702)在最近的解碼幀之間是否存在場景剪切和在該場景剪切之后的INTRA畫面是否遺失。如在H.263的附錄W中所闡述,例如通過檢查在該編碼的幀的頭部中的某些標識或者檢測該幀的畫面數(shù)量可以實現(xiàn)這些。在后一種情況中,解碼器可以從畫面數(shù)量中推斷畫面是否遺失,如果在遺失的畫面之后的下一畫面沒有指示備用的參考畫面數(shù)量,則解碼器假設所丟失的畫面是與場景剪切相關的INTRA畫面。
如果在場景剪切之后緊接的INTRA畫面沒有遺失,則解碼器檢查(703)所解碼的幀是否是已經解碼的幀(在附圖中稱為同步幀)的冗余表示。在H.263中,這種冗余表示可以通過給編碼的幀以與該畫面的主表示相同的TR來指示。
如果該幀不是同步幀或者如果還沒有對同步幀的主表示進行解碼(704),則解碼器對該幀進行解碼(705)并從該環(huán)路的開始處繼續(xù)。否則,解碼器跳過該解碼并從環(huán)路的開始處繼續(xù)(701)。
如果在第一INTRA畫面(或者在場景剪切之后的畫面)遺失,則該解碼器開始監(jiān)測(706)對應于第一INTRA畫面的后向預測幀的接收。解碼器已知這種特定的幀應該在下一周期性的INTRA畫面之后出現(xiàn)。在預期的后向預測幀之前的所有的幀都進行緩沖(707)(以壓縮的格式)。在后向預測同步幀是由于位流的出現(xiàn)引起的時,緩沖停止。如果正確地接收了它和第一周期性的INTRA畫面(即在場景中的第二INTRA畫面)則對下一接收的幀進行解碼(708)。在這之后,對所有的緩沖的幀進行解碼(709),然后可以繼續(xù)正常地解碼,好像該場景的第一INTRA畫面還沒有遺失一樣。否則,該解碼器不能對緩沖的幀進行解碼,而是必須放棄他們(710),并等待(711)下一INTRA畫面達到并在對它解碼之后繼續(xù)正常地解碼。
幀緩沖有兩個含義。首先,回放(顯示)過程應該使用緩沖來吸收由解碼過程所產生的畫面跳動。這種緩沖器的類型通常是視頻流,因此本發(fā)明不必對顯示過程作任何修改。其次,一對參考幀解碼就對所有的緩沖幀進行解碼。在實際中這意味著在場景的第一INTRA畫面(I0)丟失并且對該場景的畫面的隨后的表示(P0)進行解碼時有一系列的計算動作。解碼器應該足夠快以使它具有彌補花在緩沖上的時間的資源,因此未壓縮的幀并不能長時間地保留在緩沖器中。
典型的編碼/解碼順序為I0,P1,P2,...,Pn-1,Pn,P0,Pn+1,Pn+2,...
這里I表示INTRA畫面,P表示INTER畫面,索引對應于相對的捕獲/顯示時間,以及時間常數(shù)n對應于在場景剪切之后的第一周期性的INTRA幀。
與常規(guī)的編碼/解碼順序相比,對發(fā)射的幀進行重新排序可以使在解碼器上要求的處理功率最小,即發(fā)射器可以以如下的順序發(fā)射幀I0,In,P0,Pn,P1,P2,...,pn-1,Pn+1,Ph+2,...
只要畫面的某些段是INTRA編碼的而其它的段是INTER編碼的則本發(fā)明就可適用這些方案。這在附圖8中示出。首先,以常規(guī)的方式進行位流編碼。在編碼器決定以INTRA方式更新畫面段時,它實施如下的三種操作1.解碼器將該畫面編碼為常規(guī)的INTER畫面P(n)。
2.解碼器對P(n)′進行編碼,P(n)′是對所需的畫面段進行INTRA編碼而其它的畫面段與P(n)保持不變的P(n)的冗余表示。這種新近編碼的畫面的時間標記盡可能地接近P(n)。
3.解碼器對P(n)′的次表示的P(n)″進行編碼。在P(n)″中對以INTRA方式編碼的P(n)′的畫面段進行I NTER編碼。可取的是,所使用的參考畫面是最近的畫面(而不是P(n)′),在這種畫面中相應的段被INTRA編碼。編碼器可以將運動矢量限制到僅在畫面段里面的點上以防止來自相鄰的段的可能的解碼誤差的傳播??商鎿Q的是,解碼器可以使用編碼模式比如H.263 Independent Segment Decoding(附錄R),這種模式能夠根本地防止相鄰畫面段的預測。P(n)″的其它的畫面段保持與P(n)相同。
在這之后,編碼器繼續(xù)正常地編碼。
解碼器類似于前文所描述的解碼器運行。如果在P(n)中的畫面段沒有被破壞,則P(n)′和P(n)″是冗余的并且可以丟棄掉。否則,解碼器可以使用P(n)′或P(n)″以恢復被破壞的畫面段。
如果發(fā)射器發(fā)送對應于INTRA幀的時間預測幀的多個拷貝,則本發(fā)明可以改善錯誤復原能力。多個拷貝可以從不同的參考畫面中以前向或后向方式預測。為使誤差保護最大,應該將這些幀壓縮到不同的包中。此外,有利的是如果每個INTRA畫面與前向和后向預測的相應的畫面相關。
本發(fā)明可以用于會話式、低延遲應用中。在顯示解碼的幀之前不對他們進行緩沖(而是直接顯示解碼的幀)的應用中,解碼器不能使用相應的后向預測幀。因此,這種應用(例如會話式應用)的發(fā)射編碼器可以設置成不對INTRA幀的相應的后向預測幀進行編碼。因此,根據(jù)本發(fā)明不保護第一INTRA畫面。
現(xiàn)在參考附圖9描述整個多媒體內容生成和檢索系統(tǒng)的框架。該系統(tǒng)具有一個或多個媒體源90,例如照相機和麥克風。多媒體內容可以綜合地生成,例如通過計算機動畫畫面和數(shù)字產生的音樂合成。為創(chuàng)作由不同的媒體類型構成的多媒體剪輯,通過編輯系統(tǒng)91對從資料中獲取的原始數(shù)據(jù)進行編輯。通常原始多媒體數(shù)據(jù)所需的存儲空間較大。為有利于在較低的位速率通道上實現(xiàn)有吸引力的多媒體檢索服務,在編輯系統(tǒng)91中也對多媒體剪輯進行壓縮。然后,將該剪輯交給多媒體服務器92處理。通常,多個客戶93可以通過網絡訪問服務器。服務器92也能夠響應由客戶93所提交的請求。服務器的主要任務是向給定的客戶發(fā)送所需的多媒體剪輯??蛻?3對該多媒體剪輯進行解壓并播放。在重放階段,客戶利用一個或多個輸出裝置94例如客戶的屏幕和揚聲器。在附圖9中所示的系統(tǒng)中,服務器并入了根據(jù)本發(fā)明的視頻編碼器和客戶并入了根據(jù)本發(fā)明的視頻解碼器。在包括雙向視頻傳輸?shù)膽弥?,服務器和客戶都并入了根?jù)本發(fā)明的視頻編解碼器。
在移動的多媒體檢索系統(tǒng)中,至少連接客戶93和服務器92的鏈接部分是無線的,例如通過無線電。
通常,多媒體服務器92具有兩種操作模式,即他們發(fā)送預先存儲的多媒體剪輯或者實況(實時)多媒體流。在前一種情況中,剪輯存儲在服務器數(shù)據(jù)庫中,然后根據(jù)需要客戶的服務器訪問該數(shù)據(jù)庫。在后一種情況中,該多媒體剪輯作為直接發(fā)送給客戶93的連續(xù)多媒體流交給服務器。服務器可以刪除和壓縮由多路復用格式所產生的某些頭部信息以及將多媒體剪輯壓縮在網絡包中。
客戶93使用控制協(xié)議來控制服務器92的操作。最小組的控制由選擇所需的多媒體剪輯的功能組成。此外,服務器可以支持更多的先進的控制。例如,客戶能夠終止剪輯的傳輸、暫停并恢復剪輯的傳輸以及如果傳輸通道的吞吐量變化則控制媒體流,在這種情況下服務器動態(tài)地調節(jié)位流以適合于可用的帶寬。
客戶93從多媒體服務器92接收壓縮的和多路復用的媒體剪輯。首先,客戶對剪輯進行解復用以檢索分別的媒體軌跡,然后對這些媒體軌跡進行解壓。在這之后,在輸出裝置94上播放解壓縮(重構)的媒體軌跡。除了這些操作之外,控制器單元與最終用戶連接,根據(jù)用戶的輸入控制重放以及處理客戶服務器的控制通信量。在一直下載隨后的剪輯的部分的同時實施解復用-解壓-重放鏈。這一般稱為流動。可替換的是,將整個剪輯下載到客戶93,然后客戶解復用、解壓縮并播放它。
本發(fā)明并不希望限于上文所討論的視頻編碼協(xié)議,因為這些協(xié)議僅僅是實例性的。本發(fā)明可適用于使用時間預測的任何視頻編碼協(xié)議。如果接收的信號的一部分受到了破壞,則如上文所討論對應于INTRA幀的附加INTER幀的加入給編碼的信號帶來了誤差復原能力,并且允許接收解碼器選擇可替換的解碼點。
權利要求
1.一種對表示畫面序列的視頻信號進行編碼的方法,該方法包括不參考該序列的另一畫面對該序列的第一畫面的至少一部分進行編碼和參考該序列的另一畫面對該第一畫面的所說的至少一部分進行編碼以產生對應的時間預測畫面。
2.根據(jù)權利要求1所述的方法,其中也參考該序列的另一畫面對不參考另一畫面編碼的每個畫面或者它的一部分進行編碼。
3.根據(jù)權利要求1所述的方法,其中參考在時間上在所說的第一畫面之前的該序列中發(fā)生的另一畫面對所說的第一畫面或它的一部分進行編碼。
4.根據(jù)權利要求1所述的方法,其中參考在時間上在所說的第一畫面之后的該序列中發(fā)生的另一畫面對所說的第一畫面或它的一部分進行編碼。
5.根據(jù)權利要求1所述的方法,其中參考在該序列中發(fā)生的一個或多個畫面對所說的第一畫面或它的一部分進行編碼。
6.一種視頻編碼器,該視頻編碼器包括接收表示畫面序列的視頻信號的輸入,該編碼器被設置成不參考該序列的另一畫面對該序列的第一畫面或它的一部分進行編碼和參考該序列的另一畫面對所說的第一畫面或它的一部分進行編碼以產生對應的時間預測畫面。
7.一種包括根據(jù)權利要求6所述的視頻編碼器的視頻編解碼器。
8.一種包括根據(jù)權利要求6所述的視頻編碼器或者根據(jù)權利要求7所述的視頻編解碼器的多媒體系統(tǒng)。
9.一種對表示畫面序列的視頻信號進行編碼的方法,該方法包括不參考該序列的另一畫面對該序列的第一畫面的一段進行編碼和參考該序列的另一畫面對所說的第一畫面的至少所說的段進行編碼以產生對應的時間預測畫面段。
10.一種視頻解碼的方法,包括接收表示視頻序列的編碼畫面的信號,確定非時間預測的畫面或者非時間預測的部分畫面是否已經被破壞了,以及如果是這樣,監(jiān)測該畫面或者它的一部分的時間預測的表示,一旦接收到該畫面或者它的一部分的時間預測表示,參考另一畫面對該畫面或者它的一部分進行解碼。
11.一種視頻解碼器,該視頻解碼器包括接收表示畫面序列的視頻信號的輸入,所說的視頻解碼器被設置成確定非時間預測的畫面或者它的非時間預測的部分畫面是否已經被破壞了,以及如果是這樣,監(jiān)測該幀或者它的部分的時間預測的表示,一旦接收到該畫面或者它的部分的時間預測表示,參考另一畫面對該幀或者它的一部分的時間預測表示進行解碼。
12.一種并入了根據(jù)權利要求6或權利要求11所述的視頻編碼器或視頻解碼器的便攜式電子設備。
全文摘要
一種對表示畫面序列的視頻信號進行編碼的方法,該方法包括不參考該序列的另一畫面對該序列的第一畫面(或畫面段)進行編碼以產生畫面(I0)和參考該序列的另一畫面(I4)對所說的第一畫面(或畫面段)進行編碼以產生對應的時間預測畫面(P4)或畫面段。
文檔編號H04N7/32GK1470133SQ01817330
公開日2004年1月21日 申請日期2001年8月9日 優(yōu)先權日2000年8月14日
發(fā)明者M·漢努克塞拉, M 漢努克塞拉 申請人:諾基亞有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
泰州市| 紫金县| 乃东县| 宣威市| 泊头市| 都昌县| 阳曲县| 辰溪县| 确山县| 南华县| 蒙自县| 佛山市| 怀柔区| 建德市| 将乐县| 安达市| 新化县| 伊金霍洛旗| 修水县| 弋阳县| 清远市| 中超| 湖州市| 保康县| 文化| 芷江| 冷水江市| 荆门市| 阿拉善右旗| 牟定县| 泸溪县| 堆龙德庆县| 苍梧县| 星座| 珠海市| 山东省| 扬中市| 台安县| 高密市| 台中县| 铁岭县|