欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

視頻編碼中的圖像幀編組的制作方法

文檔序號(hào):7952977閱讀:181來源:國知局
專利名稱:視頻編碼中的圖像幀編組的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及多媒體文件的編組,尤其是視頻文件并且尤其是與流播(streaming)有關(guān)的多媒體文件的編組。
背景技術(shù)
術(shù)語“流播”指的是同時(shí)發(fā)送并回放數(shù)據(jù)(典型的是多媒體數(shù)據(jù),比如音頻和視頻文件),在流播過程中,接收人可以在所有要發(fā)送的數(shù)據(jù)已經(jīng)接收到之前開始數(shù)據(jù)回放。多媒體數(shù)據(jù)流播系統(tǒng)包括一個(gè)流播服務(wù)器和終端設(shè)備,接收人可使用該終端設(shè)備與流播服務(wù)器典型地通過電信網(wǎng)絡(luò)來建立一個(gè)數(shù)據(jù)連接。接收人從流播服務(wù)器取回已存儲(chǔ)的或?qū)崟r(shí)的多媒體數(shù)據(jù),然后就可以借助包含在終端中的流播應(yīng)用程序非常有利地、幾乎與數(shù)據(jù)的傳輸實(shí)時(shí)地開始多媒體數(shù)據(jù)的回放。
從流播服務(wù)器的角度來看,可以將流播執(zhí)行為常規(guī)流播,或者可以將其執(zhí)行為向終端的累進(jìn)下載。在常規(guī)流播過程中,多媒體數(shù)據(jù)和/或數(shù)據(jù)內(nèi)容的傳送通過確保傳送的比特率基本上對應(yīng)于終端設(shè)備的回放速率來進(jìn)行控制,或者如果傳送過程中所使用的電信網(wǎng)絡(luò)造成了數(shù)據(jù)傳送中的瓶頸,就通過確保傳送的比特率基本上對應(yīng)于電信網(wǎng)絡(luò)中可用的帶寬來進(jìn)行控制。在累進(jìn)下載過程中,根本不必要對多媒體數(shù)據(jù)和/或數(shù)據(jù)內(nèi)容的傳送進(jìn)行干預(yù),但是多媒體文件同樣傳送給接收者,這典型地是通過使用傳送協(xié)議流量控制而進(jìn)行的。于是終端接收、存儲(chǔ)并再生從服務(wù)器傳送過來的數(shù)據(jù)的精確副本,然后這個(gè)副本可以稍后在終端上再次進(jìn)行再生,而無需再次通過電信網(wǎng)絡(luò)開始一個(gè)流播。不過,一般來說,存儲(chǔ)在終端中的多媒體文件都非常大,并且將它們傳送到終端是非常耗時(shí)的且它們要求非常大量的存儲(chǔ)空間,這就是為什么經(jīng)常會(huì)首選常規(guī)流播的原因。
多媒體文件中的視頻文件包括大量的靜態(tài)圖像幀,這些幀被快速連續(xù)地(通常為每秒15到30幀)顯示以產(chǎn)生運(yùn)動(dòng)圖像的效果。這些圖像幀典型地包括很多靜止的背景物,它們由基本保持不變的圖像信息確定,以及包括少量的運(yùn)動(dòng)物,它們由發(fā)生了某種程度的變化的圖像信息確定。由連續(xù)顯示的圖像幀包含的信息通常大同小異,即,連續(xù)的圖像幀包含相當(dāng)大的冗余量。視頻文件中出現(xiàn)的冗余性可以分為空間、時(shí)間和頻譜冗余??臻g冗余涉及相鄰圖像像素的相互相關(guān)性,時(shí)間冗余涉及后續(xù)幀中的特定圖像對象中發(fā)生的變化,而頻譜冗余涉及圖像幀中的不同顏色分量的相關(guān)性。
為了減少視頻文件中的數(shù)據(jù)量,可以通過減少圖像幀中的冗余信息量來將圖像數(shù)據(jù)壓縮為較小的形式。此外,在編碼的同時(shí),大多數(shù)當(dāng)前使用的視頻編碼器會(huì)使視頻信息中不很重要的圖像幀片斷的圖像質(zhì)量降級(jí)。此外,很多視頻編碼方法是通過對壓縮參數(shù)進(jìn)行高效無損編碼(稱為VLC(可變長度編碼))而使得從圖像數(shù)據(jù)編碼得到的比特流中的冗余得以減少的。
此外,很多編碼方法利用上面介紹的連續(xù)圖像幀的時(shí)間冗余。在這種情況下,使用了一種稱為運(yùn)動(dòng)補(bǔ)償時(shí)間預(yù)測的方法,即,視頻序列中的一些(典型地是大多數(shù))圖像幀的內(nèi)容是通過跟蹤連續(xù)圖像幀中的特定對象或區(qū)域的變化,從該序列中的其它幀預(yù)測出來的。視頻序列總是包含一些壓縮的圖像幀這些壓縮圖像幀的圖像信息尚未使用運(yùn)動(dòng)補(bǔ)償時(shí)間預(yù)測來確定。這樣的幀被稱為INTRA幀,或I幀。對應(yīng)地,由在前圖像幀預(yù)測的運(yùn)動(dòng)補(bǔ)償視頻序列圖像幀被稱為INTER-幀,或P幀(預(yù)測的)。P幀的圖像信息是使用一個(gè)I幀和可能一個(gè)或多個(gè)在前編碼的P幀確定出來的。如果丟失了一幀,那么依賴于它的其它幀就不再能夠被正確地解碼。
I幀通常發(fā)起一個(gè)被定義為一個(gè)圖片組(GOP)的視頻序列,該圖片組的P幀只能根據(jù)所關(guān)心的GOP中的I幀和在前的P幀進(jìn)行確定。下一個(gè)I幀開始一個(gè)新的圖片組GOP,該圖片組包含的圖像信息因此不能根據(jù)在前的GOP的幀進(jìn)行確定。換句話說,圖片組在時(shí)間上是不重疊的,從而每個(gè)圖片組可以單獨(dú)進(jìn)行解碼。此外,很多視頻壓縮方法采用了雙向預(yù)測的B幀(雙向的),在圖片組GOP中,這些B幀被設(shè)置在兩個(gè)錨定幀(anchor frame)(I幀和P幀或兩個(gè)P幀)之間,B幀的圖像信息是從在前的錨定幀和跟在B幀之后的錨定幀預(yù)測出來的。因此B幀提供了質(zhì)量比P幀高的圖像信息,但是通常它們不用作錨定幀,因此從視頻序列中將它們?nèi)コ粫?huì)使后續(xù)圖像的質(zhì)量降級(jí)。不過,沒有什么會(huì)阻止B幀也用作為錨定幀,只是在那種情況下,才不能將它們從視頻序列中除去、而不降低依賴于它們的那些幀的質(zhì)量。
每個(gè)視頻幀可以分為稱為宏塊的部分,這些宏塊包括一個(gè)矩形圖像區(qū)域的所有像素的顏色分量(比如Y、U、V)。更加具體講,宏塊由每顏色分量至少一個(gè)塊組成,這些塊各自包括相關(guān)圖像區(qū)域中的一個(gè)色級(jí)的顏色值(比如Y、U或V)。這些塊的空間分辨率可以不同于宏塊的空間分辨率,例如,U和V分量可以僅使用Y分量的分辨率的一半進(jìn)行顯示。宏塊可以進(jìn)一步編組為條,例如,宏塊條可以是通常按照圖像的掃描順序選取的宏塊的組。時(shí)間預(yù)測通常是在塊或宏塊所特定的視頻編碼方法中進(jìn)行的,而不是在圖像幀所特定的視頻編碼方法中進(jìn)行的。
為了顧及視頻文件的靈活流播,很多視頻編碼系統(tǒng)采用了可縮放編碼,按照這種編碼方法,可以除去視頻序列的部分元素或元素組,而不會(huì)影響視頻序列其它部分的重構(gòu)??煽s放性通常是通過將圖像幀編組為幾個(gè)分層結(jié)構(gòu)的層來實(shí)現(xiàn)的。編碼到基本層圖像幀的圖像幀基本上只包括對于在接收端進(jìn)行視頻信息解碼所必需的圖像幀。每個(gè)圖片組GOP的基本層因此包括一個(gè)I幀和必要數(shù)目的P幀。在基本層之下可確定一個(gè)或多個(gè)增強(qiáng)層,每一個(gè)增強(qiáng)層與上一層相比提高了視頻編碼的質(zhì)量。因此這些增強(qiáng)層包含基于運(yùn)動(dòng)補(bǔ)償、由一個(gè)或多個(gè)上層圖像預(yù)測得到的P或B幀。這些幀通常依據(jù)一個(gè)算術(shù)級(jí)數(shù)來編號(hào)。
在流播過程中,傳送比特率必須是根據(jù)所使用的帶寬或接收者的最大解碼或者比特率值進(jìn)行控制的。比特率可以在流播服務(wù)器中進(jìn)行控制,或者在電信網(wǎng)絡(luò)的某一個(gè)單元中進(jìn)行控制,例如在因特網(wǎng)路由器或移動(dòng)通信網(wǎng)絡(luò)的基站中進(jìn)行控制。在流播服務(wù)器中控制比特率的最簡單的手段是從傳送中省去具有高信息含量的B幀。此外,流播服務(wù)器可以確定將在視頻流中傳送的可縮放層的數(shù)量,并且因此可以總是在新的圖片組GOP開始的時(shí)候,改變可縮放層的數(shù)量。使用不同的視頻序列編碼方法也是可能的。相應(yīng)地,在電信網(wǎng)絡(luò)的單元中,可以從比特流中去除增強(qiáng)層的B幀以及其它的P幀。
上述方案牽涉到許多缺點(diǎn)。很多編碼方法,比如依據(jù)ITU-T(國際電信聯(lián)盟,電信標(biāo)準(zhǔn)化部門)標(biāo)準(zhǔn)H.263進(jìn)行的編碼,都熟悉一種稱為參考圖片選擇的規(guī)程。在參考圖片選擇中,P圖像的至少一部分是由除了在時(shí)域內(nèi)緊接在該P(yáng)圖像前面的圖像之外的至少一個(gè)其它圖像預(yù)測出來的。所選定的參考圖像以特定于圖像的、特定于圖像段(比如一條或一組宏塊)的、特定于宏塊的或者特定于塊的方式在編碼的比特流或者比特流標(biāo)題字段中用信號(hào)通知??梢詫⒖紙D片選擇進(jìn)行推廣,以致于還可以從在時(shí)間上跟在所要編碼的圖像后邊的圖像來作出預(yù)測。此外,還可以將參考圖片選擇推廣為覆蓋所有的在時(shí)間上進(jìn)行預(yù)測的幀類型,包括B幀。由于還可能選擇先于作為圖片組GOP開始的I圖像的至少一個(gè)圖像作為參考圖像,因此采用參考圖片選擇的一組圖片不是必定能獨(dú)立解碼的。此外,在流播服務(wù)器或網(wǎng)絡(luò)單元中進(jìn)行可縮放性或編碼方法的調(diào)節(jié)變得很困難,因?yàn)楸仨殞σ曨l序列進(jìn)行長時(shí)段的解碼、分析和緩沖,以使得不同圖像組之間的任何依賴性都能夠得以檢測出來。
再有一個(gè)問題涉及到檢測解碼器可以從其開始進(jìn)行解碼處理的圖像幀。這種檢測對多種目的有用。例如,終端用戶可能希望從一個(gè)視頻序列的中間開始瀏覽一個(gè)視頻文件。另一個(gè)例子涉及到從一個(gè)廣播或多播的視頻傳輸?shù)闹虚g開始接收該視頻傳輸。第三個(gè)例子涉及到來自服務(wù)器的點(diǎn)播(on-demand)流播并且發(fā)生在終端用戶希望從一個(gè)流的某個(gè)位置開始回放的時(shí)候。

發(fā)明內(nèi)容
現(xiàn)在,發(fā)明了一種改進(jìn)的方法和實(shí)現(xiàn)該方法的設(shè)備,該方法和設(shè)備使得能夠檢測解碼器可以從其開始進(jìn)行解碼處理的圖像幀。本發(fā)明的各方面包括方法、一種視頻編碼器、一種視頻解碼器、和計(jì)算機(jī)程序,它們的特征在于獨(dú)立權(quán)利要求中所記載的特征。在從屬權(quán)利要求中公開了本發(fā)明的優(yōu)選實(shí)施例。
本發(fā)明基于這樣一種思想編碼一個(gè)包含一獨(dú)立的圖像幀序列的視頻序列,其中至少一個(gè)參考圖片可由至少一個(gè)在前的圖像幀預(yù)測出來,該在前的圖像幀在解碼順序上早于該在前的參考圖像幀。將對至少一個(gè)圖像幀的指示編碼到該視頻序列中,被指示的那個(gè)圖像幀是該獨(dú)立序列的、在解碼順序上的第一圖片,所述至少一個(gè)參考圖像幀被包括在該序列中。在解碼階段,分別地,從該視頻序列解碼出對至少一個(gè)圖像幀的指示,并且從所述獨(dú)立序列的第一圖像幀開始解碼該視頻序列,由此對該視頻序列進(jìn)行解碼而無需根據(jù)任何先于所述第一圖像幀被解碼的圖像幀進(jìn)行預(yù)測。
因此,本發(fā)明的思想是確定一個(gè)可獨(dú)立解碼的圖片組中的起始圖片,由此在解碼階段,任何先于所述起始圖片的圖片被定義為不可用于參考。從而,在解碼該起始圖片之后,可以對該可獨(dú)立解碼序列的所有隨后圖片進(jìn)行解碼,而無需根據(jù)任何先于所述起始圖片被解碼的圖片進(jìn)行預(yù)測。
按照一個(gè)實(shí)施例,將所述指示編碼到視頻序列中作為一個(gè)包括在條頭標(biāo)中的單獨(dú)標(biāo)記。
按照一個(gè)實(shí)施例,根據(jù)一種編號(hào)方案對用于圖片的標(biāo)識(shí)符值進(jìn)行編碼,并且對用于所指示的獨(dú)立序列第一圖片的標(biāo)識(shí)符值進(jìn)行重置,優(yōu)選地重置為零。
按照一個(gè)實(shí)施例,將一個(gè)用于獨(dú)立序列的標(biāo)識(shí)符值編碼到視頻序列中。
本發(fā)明的規(guī)程的一個(gè)優(yōu)點(diǎn)是,它使得能夠從一個(gè)隨機(jī)點(diǎn)開始瀏覽一個(gè)視頻序列,即它向解碼器提供關(guān)于可獨(dú)立解碼的序列的第一圖片的信息。因此,解碼器知道通過解碼這個(gè)第一圖片,有可能繼續(xù)進(jìn)行解碼處理而無需根據(jù)任何先前的圖片進(jìn)行任何預(yù)測。因此,另一個(gè)優(yōu)點(diǎn)是,解碼器可以從它的緩沖存儲(chǔ)器中丟棄任何先于所述起始圖片被解碼的圖片,因?yàn)樵诮獯a處理過程中不再需要這些在先的圖片。另外一個(gè)優(yōu)點(diǎn)是,本發(fā)明的規(guī)程使得一個(gè)單獨(dú)的視頻序列被容易地插入到另一個(gè)視頻序列中。
再有一個(gè)優(yōu)點(diǎn)是,使能通過查看起始圖片的子序列號(hào)來識(shí)別兩個(gè)緊接著的起始圖片之間的圖片邊界。還有一個(gè)優(yōu)點(diǎn)涉及到檢測那些開始一個(gè)可獨(dú)立解碼的子序列的圖像幀的丟失,如果這樣的一個(gè)圖像幀例如在傳輸期間丟失了,不可能有任何錯(cuò)誤隱藏方法來導(dǎo)致主觀滿意的圖像質(zhì)量。因而,向解碼器提供一種手段來檢測那些開始一個(gè)可獨(dú)立解碼的子序列的圖像幀的丟失是一個(gè)優(yōu)點(diǎn)。解碼器可以通過例如請求重新傳輸或圖片刷新來對這樣的丟失做出反應(yīng)。


下面,將結(jié)合優(yōu)選實(shí)施例并參照附圖對本發(fā)明進(jìn)行描述,其中附圖1表示一種普通的多媒體數(shù)據(jù)流播系統(tǒng),其中可以應(yīng)用本發(fā)明的可縮放編碼分層結(jié)構(gòu);附圖2表示本發(fā)明的一個(gè)優(yōu)選實(shí)施例的可縮放編碼分層結(jié)構(gòu);附圖3a和3b表示用于調(diào)整可縮放性的本發(fā)明的實(shí)施例;附圖4a、4b和4c表示用于調(diào)整圖像編號(hào)的本發(fā)明的實(shí)施例;附圖5a、5b和5c表示在可縮放編碼分層結(jié)構(gòu)中使用B幀的本發(fā)明的實(shí)施例;附圖6a、6b和6c表示本發(fā)明結(jié)合參考圖片選擇的優(yōu)選實(shí)施例的可縮放編碼分層結(jié)構(gòu);和附圖7表示按照用于對場景變換進(jìn)行編碼的本發(fā)明的優(yōu)選實(shí)施例的方案。
具體實(shí)施例方式
下面,公開了一種通用的多媒體數(shù)據(jù)流播系統(tǒng),其基本原理可以與任何電信系統(tǒng)相結(jié)合地應(yīng)用。雖然這里是具體參照流播系統(tǒng)(其中多媒體數(shù)據(jù)最好是通過諸如IP網(wǎng)絡(luò)這樣的采用包交換數(shù)據(jù)協(xié)議的電信網(wǎng)絡(luò)傳送的)對本發(fā)明進(jìn)行介紹的,但是本發(fā)明同樣也可應(yīng)用在諸如固定電話網(wǎng)PSTN/ISDN(公共交換電話網(wǎng)/綜合業(yè)務(wù)數(shù)字網(wǎng))這樣的電路交換網(wǎng)絡(luò)或者移動(dòng)通信網(wǎng)PLMN(公共地面移動(dòng)網(wǎng)絡(luò))中。此外,本發(fā)明既可以應(yīng)用在正常流播形式的多媒體文件流播中,又可以應(yīng)用在累進(jìn)下載的多媒體文件流播中,而且可以用于實(shí)現(xiàn)例如視頻呼叫。
還應(yīng)當(dāng)注意到,雖然這里是具體參照流播系統(tǒng)對本發(fā)明進(jìn)行介紹的,并且本發(fā)明也可以便利地應(yīng)用于這些系統(tǒng)中,但是本發(fā)明并不單單局限于流播系統(tǒng),而是可以應(yīng)用在任何視頻再生系統(tǒng)中,不管所要解碼的視頻文件是如何下載和從哪里下載的。本發(fā)明因此可以應(yīng)用于,例如,從DVD盤或從其它一些計(jì)算機(jī)存儲(chǔ)載體上下載的視頻文件的回放,例如與可用于視頻回放的變化處理能力相結(jié)合而進(jìn)行。具體來講,本發(fā)明可應(yīng)用于通常在受到帶寬限制的電信系統(tǒng)中使用的不同低比特率視頻編碼。一個(gè)實(shí)例是按照ITU-T標(biāo)準(zhǔn)H.263定義的系統(tǒng)和正在H.26L(可能以后會(huì)變?yōu)镠.264)定義的系統(tǒng)。結(jié)合這些系統(tǒng),本發(fā)明可以應(yīng)用于例如移動(dòng)臺(tái),在這種情況下,當(dāng)移動(dòng)臺(tái)還被用來執(zhí)行視頻回放之外的其它應(yīng)用時(shí),可以對視頻回放進(jìn)行調(diào)節(jié),以適應(yīng)改變的傳送容量或信道質(zhì)量以及當(dāng)前可用的處理器運(yùn)算能力。
還應(yīng)當(dāng)注意,為了清楚起見,下面將通過給出一個(gè)圖像幀級(jí)別上的圖像幀編碼和時(shí)間預(yù)測的計(jì)算來對本發(fā)明進(jìn)行介紹。不過,在實(shí)踐中,編碼和時(shí)間預(yù)測通常是對塊或宏塊級(jí)進(jìn)行的,正如上面所述的。
將參照附圖1對一個(gè)典型的多媒體流播系統(tǒng)進(jìn)行介紹,該系統(tǒng)是應(yīng)用本發(fā)明的規(guī)程的優(yōu)選系統(tǒng)。
多媒體數(shù)據(jù)流播系統(tǒng)通常包括一個(gè)或多個(gè)多媒體源100,比如攝像機(jī)和麥克風(fēng),或者存儲(chǔ)在存儲(chǔ)載體中的視頻圖像或計(jì)算機(jī)圖形文件。在編碼器102中,將從不同的多媒體源100得到的原始數(shù)據(jù)組合到一個(gè)多媒體文件中,該編碼器102也可以稱為編輯單元。從一個(gè)或多個(gè)多媒體源100得到的原始數(shù)據(jù)首先是使用一個(gè)包含在編碼器102中的捕獲裝置104捕獲到的,這個(gè)捕獲裝置通常可以被實(shí)現(xiàn)為不同的接口卡、驅(qū)動(dòng)軟件或控制卡功能的應(yīng)用軟件。例如,可以使用視頻捕獲卡和相關(guān)軟件來捕獲視頻數(shù)據(jù)。捕獲裝置104的輸出通常是未壓縮或輕微壓縮的數(shù)據(jù)流,例如當(dāng)涉及到視頻捕獲卡時(shí),是YUV 4∶2∶0格式或運(yùn)動(dòng)-JPEG圖像格式的未壓縮視頻幀。
編輯器106將不同的媒體流鏈接在一起,以使按期望要同時(shí)再生的視頻和音頻流同步。編輯器106還可以舉例而言,通過使幀速率減半或通過降低空間分辨率來對比如視頻流的各個(gè)媒體流進(jìn)行編輯。這些單獨(dú)的(雖然是同步的)媒體流在壓縮器108中進(jìn)行壓縮,在這種情況下,每個(gè)媒體流是使用適用于該媒體流的壓縮器單獨(dú)進(jìn)行壓縮的。例如,可以使用依照ITU-T建議標(biāo)準(zhǔn)H.263或H.26L的低比特率視頻編碼技術(shù)對YUV 4∶2∶0格式的視頻幀進(jìn)行壓縮。通常在多路復(fù)用器110中對這些單獨(dú)的、同步且經(jīng)過壓縮的媒體流進(jìn)行交織,從編碼器102得到的輸出是一個(gè)單一、均勻的比特流,該比特流包含多個(gè)媒體流的數(shù)據(jù),并且可以將該比特流稱為多媒體文件。需要注意的是,多媒體文件的形成并非必須要求將多個(gè)媒體流多路復(fù)用為一個(gè)單一的文件,而是可以由流播服務(wù)器就在傳送該媒體流之前對它們進(jìn)行交織。
這些媒體文件被傳送給一個(gè)流播服務(wù)器112,這樣該服務(wù)器就具有按照實(shí)時(shí)流播方式或以累進(jìn)下載的形式進(jìn)行流播的能力。在累進(jìn)下載過程中,首先將多媒體文件保存在服務(wù)器112的存儲(chǔ)器中,當(dāng)需求產(chǎn)生時(shí),可以從這里取回它們以進(jìn)行傳送。在實(shí)時(shí)流播過程中,編輯器102向流播服務(wù)器112發(fā)送多媒體文件的連續(xù)媒體流,并且服務(wù)器112將該媒體流直接轉(zhuǎn)送給客戶端114。作為另外一種選擇,還可以這樣來執(zhí)行實(shí)時(shí)流播將多媒體文件存儲(chǔ)在一個(gè)可從服務(wù)器112進(jìn)行訪問的存儲(chǔ)裝置中,當(dāng)需求產(chǎn)生時(shí),可以從那里驅(qū)動(dòng)實(shí)時(shí)流播并啟動(dòng)多媒體文件的連續(xù)媒體流。在這種情況下,編輯器102就沒有必要借助任何手段對流播進(jìn)行控制了。流播服務(wù)器112依照可用帶寬或者客戶端114的最大解碼和回放速率來進(jìn)行多媒體數(shù)據(jù)的業(yè)務(wù)量整形,該流播服務(wù)器112能夠例如通過從傳輸中省去B幀或者通過調(diào)整可縮放層的數(shù)量來調(diào)節(jié)媒體流的比特率。而且,流播服務(wù)器112可以修改經(jīng)多路復(fù)用的媒體流的標(biāo)題字段,以減小它們的大小,并且可以將多媒體數(shù)據(jù)封裝到適于在所采用的電信網(wǎng)絡(luò)中傳送的數(shù)據(jù)包中??蛻舳?14可以通過使用適當(dāng)?shù)目刂茀f(xié)議來至少在某種程度上對服務(wù)器112的操作進(jìn)行調(diào)節(jié)??蛻舳?14至少可以通過這樣的方式對服務(wù)器112進(jìn)行控制可以選擇所需的多媒體文件傳送到客戶端,除此之外,客戶端通常還能夠停止和中斷多媒體文件的傳送。
當(dāng)客戶端114正在接收多媒體文件時(shí),首先將該文件提供給一個(gè)解復(fù)用器116,該解復(fù)用器將多媒體文件所包含的媒體流分離出來。然后將單獨(dú)的、經(jīng)壓縮的媒體流提供給一個(gè)解壓縮器118,此處各個(gè)單獨(dú)的媒體流是由適用于各個(gè)具體媒體流的解壓縮器進(jìn)行解壓縮的。將經(jīng)解壓縮和重構(gòu)的媒體流提供給一個(gè)回放單元120,在這里,這些媒體流是依照它們的同步數(shù)據(jù)以正確的步調(diào)得以還原的,然后將經(jīng)還原的媒體流提供給呈現(xiàn)裝置124。實(shí)際的呈現(xiàn)裝置124可以包括,例如,計(jì)算機(jī)或移動(dòng)臺(tái)顯示器和揚(yáng)聲器裝置??蛻舳?14一般來說還包括一個(gè)控制單元122,終端用戶一般可以通過一個(gè)用戶界面對該控制單元122進(jìn)行控制,并且該控制單元122根據(jù)終端用戶給出的指令,既可以通過上述的控制協(xié)議對服務(wù)器的操作進(jìn)行控制,也可以對回放單元120的操作進(jìn)行控制。
要注意的是,多媒體文件從流播服務(wù)器112到客戶端114的傳送是通過電信網(wǎng)絡(luò)進(jìn)行的,傳送路徑通常包括多個(gè)電信網(wǎng)絡(luò)單元。因此有可能至少有這樣的一些網(wǎng)絡(luò)單元,它們可以至少部分地以與上面關(guān)于流播服務(wù)器介紹的相同方式,來進(jìn)行關(guān)于可用帶寬或客戶端114的最大解碼和回放速率的多媒體數(shù)據(jù)的業(yè)務(wù)量整形。
下面將參照本發(fā)明的優(yōu)選實(shí)施例和附圖2中示出的一個(gè)實(shí)例對可縮放編碼進(jìn)行介紹。附圖2表示壓縮視頻序列的一部分,具有第一幀200,該第一幀200是一個(gè)INTRA幀或I幀,并因此是一個(gè)獨(dú)立確定的視頻幀,其圖像信息無需使用運(yùn)動(dòng)補(bǔ)償時(shí)間預(yù)測來確定。I幀200位于第一可縮放層,該層也可稱為INTRA層。給每個(gè)可縮放層分配一個(gè)唯一的標(biāo)識(shí)符,比如層號(hào)。因此可以分配給INTRA層例如一個(gè)號(hào)碼0,或者其它字母數(shù)字的標(biāo)識(shí)符,例如一個(gè)字母,或字母與數(shù)字的組合。
相應(yīng)地,為各個(gè)可縮放層確定了由一個(gè)或多個(gè)視頻幀的組構(gòu)成的子序列,在一個(gè)組的圖像中的至少一個(gè)(一般來說是第一個(gè)或最后一個(gè))被至少從另一個(gè)子序列的視頻幀進(jìn)行時(shí)間預(yù)測,所述另一個(gè)子序列一般來說是較高或同一可縮放層的子序列,其余的視頻幀是僅從同一子序列的視頻幀進(jìn)行時(shí)間預(yù)測,或者也有可能從所述第二個(gè)子序列的一個(gè)或多個(gè)視頻幀進(jìn)行時(shí)間預(yù)測。子序列可以獨(dú)立地進(jìn)行解碼,而不考慮除了所述第二個(gè)子序列之外的其它子序列。使用例如從為可縮放層的第一個(gè)子序列給出的號(hào)碼0開始的連續(xù)編號(hào),為每個(gè)可縮放層的子序列分配了一個(gè)唯一的標(biāo)識(shí)符。由于I幀200是獨(dú)立確定的,并且在接收的時(shí)候還可以進(jìn)行與其它圖像幀無關(guān)的獨(dú)立解碼,因此它還可以在某種意義上形成一個(gè)單獨(dú)的子序列。
因此,本發(fā)明的主要特征是根據(jù)子序列所依賴的那些子序列來確定每個(gè)子序列。換句話說,一個(gè)子序列包括關(guān)于已直接用于預(yù)測該所關(guān)心子序列的圖像幀的所有子序列的信息。這個(gè)信息在視頻序列比特流中用信號(hào)通知,最好是獨(dú)立于實(shí)際的圖像信息,并且因此該視頻序列的圖像數(shù)據(jù)可以優(yōu)選地被調(diào)節(jié),因?yàn)楹苋菀状_定要獨(dú)立進(jìn)行解碼的視頻子序列部分,并且可以將其除去,而不會(huì)影響其余圖像數(shù)據(jù)的解碼。
下面,在每個(gè)子序列中,使用例如從為子序列的第一個(gè)視頻幀給出的號(hào)碼0開始的連續(xù)編號(hào),為子序列的視頻幀給出圖像號(hào)碼。由于I幀200也形成一個(gè)單獨(dú)的子序列,所以其圖像號(hào)碼為0。在附圖2中,I幀200顯示為該幀的類型(I)、子序列標(biāo)識(shí)符和圖像號(hào)碼(0.0)。
附圖2還示出了INTRA層的下一個(gè)I幀202,該幀也是一個(gè)未使用運(yùn)動(dòng)補(bǔ)償時(shí)間預(yù)測而確定的獨(dú)立確定的視頻幀。I幀的時(shí)間傳輸頻率取決于很多與視頻編碼、圖像信息內(nèi)容以及所要使用的帶寬相關(guān)的因素,并且,取決于應(yīng)用程序或應(yīng)用環(huán)境,例如,I幀以0.5到10秒的間隔在視頻序列中傳送。由于I幀202可以獨(dú)立解碼,因此它也形成一個(gè)單獨(dú)的子序列。由于這是INTRA層中的第二個(gè)子序列,因此I幀202的子序列標(biāo)識(shí)符的連續(xù)編號(hào)為1。此外,由于I幀202也形成單獨(dú)的子序列,即,它是該子序列中僅有的視頻幀,因此其圖像號(hào)碼為0。這樣,I幀202可由標(biāo)識(shí)符(I.1.0)標(biāo)示。相應(yīng)地,INTRA層中的下一個(gè)I幀的標(biāo)識(shí)符是(I.2.0),等等。結(jié)果,只有獨(dú)立確定的I幀(其中圖像信息不是使用運(yùn)動(dòng)補(bǔ)償時(shí)間預(yù)測確定的)被編碼到第一個(gè)可縮放層(即,INTRA層)中。也可以使用其它類型編號(hào)方式或其它的標(biāo)識(shí)符來確定這些子序列,只要可以使子序列相互區(qū)別開來即可。
下一個(gè)可縮放層(該層具有層號(hào)(例如)1,并且可以將該層稱為基本層),包括經(jīng)編碼的、經(jīng)運(yùn)動(dòng)補(bǔ)償?shù)腎NTER或P幀(一般僅從在前的圖像幀進(jìn)行預(yù)測,即,在這種情況下,是從上面的INTRA層的I幀預(yù)測)。附圖2中所示的基本層的第一個(gè)P幀204的圖像信息是使用INTRA層的I幀200確定的。以P幀204開始該基本層的第一個(gè)子序列,因此P幀204的子序列的標(biāo)識(shí)符為0。此外,由于P幀204是基本層的第一個(gè)子序列的第一個(gè)圖像幀,因此P幀204的圖像號(hào)碼是0。P幀204因此可由(P.0.0)來標(biāo)識(shí)。
基本層中在時(shí)間上跟在后邊的P幀206是從在前的P幀204預(yù)測出來的。因此P幀206和204屬于同一子序列,從而P幀206也接納子序列標(biāo)識(shí)符0。由于P幀206是子序列0中的第二圖像幀,所以P幀206的圖像號(hào)是1,并且該P(yáng)幀206可由(P.0.1)來標(biāo)識(shí)。
跟在基本層后面且具有層號(hào)2的可縮放層叫做增強(qiáng)層1。該層包括經(jīng)編碼的、僅從在前的圖像幀預(yù)測出來的運(yùn)動(dòng)補(bǔ)償?shù)腜幀,在這種情況下是從INTRA層的I幀或基本層的P幀預(yù)測出來的。附圖2示出了增強(qiáng)層1的第一個(gè)圖像幀208和第二個(gè)圖像幀210,它們都是僅從INTRA層的第一圖像幀200預(yù)測出來的。從P幀208開始增強(qiáng)層1的第一個(gè)子序列,因此該P(yáng)幀的子序列標(biāo)識(shí)符是0。此外,由于P幀208是所述子序列中的第一個(gè)也是僅有的圖像幀,因此P幀208接納圖像編號(hào)0。這樣P幀208可由(P.0.0)來標(biāo)識(shí)。
由于第二個(gè)圖像幀210也是僅從INTRA層的第一個(gè)圖像幀200預(yù)測來的,所以從該P(yáng)幀210開始增強(qiáng)層1的第二個(gè)子序列并且因此該P(yáng)幀210的子序列標(biāo)識(shí)符是1。由于P幀210是該子序列中的第一個(gè)圖像幀,因此P幀210的圖像編號(hào)為0。這樣該P(yáng)幀可由(P.1.0)來標(biāo)識(shí)。增強(qiáng)層1中的在時(shí)間上后續(xù)的P幀212是從前一P幀210預(yù)測出來的。P幀210和212因此屬于同一子序列,并且因此該P(yáng)幀也接納子序列標(biāo)識(shí)符1。P幀212是子序列1中的第二個(gè)圖像幀,因此該P(yáng)幀接納圖像編號(hào)1,從而該P(yáng)幀可由(P.1.1)標(biāo)識(shí)。
增強(qiáng)層1的按時(shí)間順序第四個(gè)圖像幀214是從基本層的第一個(gè)圖像幀204預(yù)測出來的。P幀214因此起始了增強(qiáng)層1的第三個(gè)子序列,因此P幀214接納子序列標(biāo)識(shí)符2。此外,由于P幀214是該子序列中的第一個(gè)且僅有的圖像幀,因此P幀214的圖像編號(hào)為0。因此P幀208可由(P.2.0)標(biāo)識(shí)。
而且增強(qiáng)層1的按時(shí)間順序第五個(gè)圖像幀216是僅從基本層的第一個(gè)圖像幀204預(yù)測出來的,P幀216因此起始了增強(qiáng)層1的第四個(gè)子序列,并且P幀216的子序列標(biāo)識(shí)符是3。此外,由于P幀216是所關(guān)心的子序列中的第一個(gè)圖像幀,因此P幀216的圖像編號(hào)為0。因此P幀216可由(P.3.0)標(biāo)識(shí)。增強(qiáng)層1中的在時(shí)間上后續(xù)的P幀218是從先前的P幀216預(yù)測出來的。P幀216和218因此屬于同一子序列,并且該P(yáng)幀218的子序列標(biāo)識(shí)符也為3。由于P幀218是子序列3中的第二個(gè)圖像幀,因此該P(yáng)幀218的圖像編號(hào)為1,從而該P(yáng)幀218可由(P.3.1)標(biāo)識(shí)。
為了說明的簡便和清楚,上面所介紹的公開內(nèi)容僅涉及I和P幀。不過,本領(lǐng)域的技術(shù)人員可以輕而易舉地發(fā)現(xiàn),本發(fā)明的可縮放視頻編碼也可以使用其它公知的圖像幀類型來實(shí)現(xiàn),比如上面所介紹的B幀和至少SI幀、SP幀和MH幀。SI幀對應(yīng)于I幀,不過和SP幀結(jié)合在一起,才能使相同的圖像得以重構(gòu)。依次地,SP幀是一個(gè)P幀,它經(jīng)歷了特殊的編碼,與一個(gè)SI幀或另一個(gè)SP幀組合在一起才能使得同一圖像得以重構(gòu)。通常把SP幀放在視頻序列中需要訪問點(diǎn)或掃描點(diǎn)的點(diǎn)上,或者放在可能改變視頻流的編碼參數(shù)的點(diǎn)上。并且這些幀還可用于糾錯(cuò)和用于提高容錯(cuò)。SP幀在其它方面與由在前幀預(yù)測的常規(guī)P幀相同,只是將SP幀定義為可由SP或SI類型的另一個(gè)視頻幀進(jìn)行替換,新的幀的解碼結(jié)果與視頻流中原來的SP幀的解碼結(jié)果相同。換句話說,用于代替視頻流中的SP幀的新的SP幀是從另一個(gè)序列或視頻流中預(yù)測出來的,并且重構(gòu)得出的幀仍然具有相同的內(nèi)容。在例如本申請人較早的申請PCT/FI02/00004中對SP幀進(jìn)行了介紹。
與B幀類似,MH(多假設(shè)(Multi Hypothesis))幀的宏塊是根據(jù)運(yùn)動(dòng)補(bǔ)償預(yù)測由兩個(gè)其它的幀預(yù)測出來的,不過,這兩個(gè)其它的幀并不必須與MH幀位置相鄰。更精確地講,將預(yù)測宏塊計(jì)算做兩個(gè)其它幀的兩個(gè)宏塊的平均。不使用兩個(gè)幀,MH幀宏塊實(shí)際上也可從一個(gè)其它幀預(yù)測出來??梢砸罁?jù)宏塊而改變參考圖像,換句話說,在同一圖像中的所有宏塊沒有必要使用同一幀進(jìn)行預(yù)測。
這樣,子序列覆蓋了視頻序列中的特定的時(shí)間段。同一層或不同層的子序列可以是部分或完全重疊的。如果在同一層上有時(shí)間上重疊的圖像幀,那么可以將這些幀解譯為是同一圖像內(nèi)容的交替表示,因此任何模式的圖像表示都可以使用。另一方面,如果在不同層上有時(shí)間上重疊的圖像幀,則它們形成了同一圖像內(nèi)容的不同表示,并且因此這些表示在圖像質(zhì)量上是不同的,即,較低層上的圖像質(zhì)量更好。
上面參照附圖2公開的內(nèi)容說明了按照本發(fā)明的優(yōu)選實(shí)施例的圖像幀的一種可縮放的編碼方案以及一種分層結(jié)構(gòu)和編號(hào)方法。在這個(gè)實(shí)施例中,INTRA層只包括I幀,基本層可以只使用從INTRA層接收的信息進(jìn)行解碼。相應(yīng)地,增強(qiáng)層1的解碼一般來說需要來自基本層和INTRA層的信息。
可縮放層的數(shù)量不局限于如上所述的三個(gè),而是可以使用為產(chǎn)生足夠的可縮放性而考慮的任何數(shù)量的增強(qiáng)層。從而,增強(qiáng)層2的層號(hào)是四,增強(qiáng)層3的層號(hào)是五等等。由于上述例子中的某些圖像幀被給予相同的標(biāo)識(shí)符(例如,圖像幀204和208的標(biāo)識(shí)符都是(P.0.0)),因此通過在標(biāo)識(shí)符中包含層號(hào),便能夠唯一地標(biāo)識(shí)每個(gè)圖像幀,并且同時(shí),優(yōu)選地確定了每個(gè)圖像幀與其它圖像幀的依賴性。這樣就唯一地標(biāo)識(shí)了每個(gè)圖像幀,圖像幀204的標(biāo)識(shí)符,例如,是(P.1.0.0)或簡單地是(1.0.0),相應(yīng)地,圖像208的標(biāo)識(shí)符是(P.2.0.0)或(2.0.0)。
按照本發(fā)明的一個(gè)優(yōu)選實(shí)施例,參考圖像幀的號(hào)碼是依照一個(gè)特定的預(yù)定字母數(shù)字?jǐn)?shù)序列來確定的,例如為0和255之間的整數(shù)。當(dāng)參數(shù)值達(dá)到所考慮的序列中的最大值N(例如,255)時(shí),則參數(shù)值的確定從頭開始,即,從序列的最小值(例如,0)開始。這樣,圖像幀在特定的子序列中得到了唯一地標(biāo)識(shí),直到同樣的圖像編號(hào)被再次使用的那一點(diǎn)。子序列標(biāo)識(shí)符也可以依照一個(gè)特定的預(yù)定算術(shù)級(jí)數(shù)來確定。當(dāng)子序列標(biāo)識(shí)符的值達(dá)到該級(jí)數(shù)的最大值N時(shí),標(biāo)識(shí)符的確定再次從該級(jí)數(shù)的首項(xiàng)開始。不過,不能將仍在使用的(在同一層中的)標(biāo)識(shí)符分配給子序列。除了算術(shù)方法外,還可以采用另外一種方法來確定所使用的序列。一種可選方案是,分配隨機(jī)子序列標(biāo)識(shí)符,要考慮所分配的標(biāo)識(shí)符不被再次使用。
當(dāng)用戶希望在視頻序列的中間開始瀏覽視頻文件時(shí),圖像幀的編號(hào)會(huì)出現(xiàn)問題。這種情況發(fā)生在,例如,用戶希望向后或向前瀏覽本地存儲(chǔ)的視頻文件或在一個(gè)特定的點(diǎn)瀏覽流播文件的時(shí)候;用戶從一個(gè)隨機(jī)點(diǎn)啟動(dòng)流播文件的回放的時(shí)候;或者檢測到所要再生的視頻文件中包含錯(cuò)誤、而該錯(cuò)誤會(huì)中斷回放或者要求從錯(cuò)誤之后的點(diǎn)重新恢復(fù)回放的時(shí)候。當(dāng)視頻文件的瀏覽是在先前的瀏覽之后從一個(gè)隨機(jī)點(diǎn)重新開始時(shí),圖像編號(hào)通常會(huì)出現(xiàn)不連續(xù)性。解碼器一般來說會(huì)將這種情況解譯為圖像幀的非故意缺失,并且將會(huì)不必要地設(shè)法重構(gòu)那些疑為丟失的圖像幀。
按照本發(fā)明的一個(gè)優(yōu)選實(shí)施例,這可以通過在可獨(dú)立解碼的圖片組GOP中定義一個(gè)起始圖像來避免在解碼器中發(fā)生這種情況,該可獨(dú)立解碼的圖片組GOP是在視頻文件的隨機(jī)點(diǎn)上被激活的,并且所述起始圖像的編號(hào)被設(shè)置為零。這樣,該可獨(dú)立解碼的圖片組可以是例如INTRA層的一個(gè)子序列,例如在這種情況下,將一個(gè)I幀用作所述起始圖像,或者,如果采用了源自基本層的縮放,則該可獨(dú)立解碼的圖像組是基本層的一個(gè)子序列,在這種情況下,該子序列的第一個(gè)圖像幀(一般來說是I幀)通常用作起始圖像。從而,當(dāng)在一個(gè)隨機(jī)點(diǎn)激活時(shí),解碼器優(yōu)選地將可獨(dú)立解碼的子序列的第一個(gè)圖像幀(最好是I幀)的標(biāo)識(shí)符設(shè)置為0。由于所要解碼的子序列還可能包含其它標(biāo)識(shí)符為零的圖像幀(例如當(dāng)上述的字母數(shù)字序列從頭開始時(shí)),可以將子序列的開端(即,其第一個(gè)圖像幀),例如,通過加在該圖像幀中的一個(gè)條的標(biāo)題字段中的一個(gè)單獨(dú)標(biāo)記而指示給解碼器。這使得解碼器能夠?qū)⒃搱D像編號(hào)正確地解譯,并且能夠從視頻序列的圖像幀中找到起始該子序列的正確圖像幀。
上述的編號(hào)系統(tǒng)給出了這樣一個(gè)實(shí)例如何進(jìn)行本發(fā)明的唯一圖像幀標(biāo)識(shí),以致同時(shí)指示出圖像幀之間的相互依賴性。不過,可以應(yīng)用本發(fā)明的方法的視頻編碼方法,比如依照I TU-T標(biāo)準(zhǔn)H.263和H.26L的視頻編碼方法,采用了代碼表,它們進(jìn)而使用了可變長度編碼。當(dāng)使用可變長度編碼來對層號(hào)進(jìn)行編碼時(shí),例如,一個(gè)較低的碼字索引,即較小的層號(hào),則這意味著一個(gè)較短的碼字。在實(shí)踐中,本發(fā)明的可縮放編碼將會(huì)在大多數(shù)情況中以這樣一種方式用,即基本層將會(huì)包括明顯多于INTRA層的圖像幀。這證明了在基本層使用比INTRA層較低的索引(即,較小的層號(hào))是正確的,因?yàn)榫幋a的視頻數(shù)據(jù)量由此有利地得到了降低。由此,最好為INTRA層指配層號(hào)1而將層號(hào)0配給基本層。另外,可以通過使用比INTRA層編號(hào)更少的比特對基本層編號(hào)進(jìn)行編碼來形成所述代碼,在這種情況下,考慮到所創(chuàng)建的代碼長度,實(shí)際的層號(hào)值是無關(guān)的。
此外,按照本發(fā)明的第二個(gè)優(yōu)選實(shí)施例,當(dāng)使可縮放層的數(shù)量保持得較低時(shí),尤其可以將第一個(gè)可縮放層編碼為包含INTRA層和基本層。從編碼的分層結(jié)構(gòu)的角度考慮,構(gòu)思此方案的最簡單的方法是一起省略掉INTRA層,并為基本層提供由獨(dú)立定義的I幀(其圖像信息未使用運(yùn)動(dòng)補(bǔ)償時(shí)間預(yù)測來確定)和從在前的幀預(yù)測出來的圖像幀(圖像幀在這種情況下是由同一層的I幀預(yù)測出來的運(yùn)動(dòng)補(bǔ)償P幀)組成的編碼幀。這樣,基本層仍然可以使用層號(hào)0,并且,如果將增強(qiáng)層編碼為視頻序列,則分配給增強(qiáng)層1的層號(hào)是1。這將在下面參照附圖3a和3b進(jìn)行說明。
附圖3a表示一個(gè)非可縮放的視頻序列結(jié)構(gòu),其中所有的圖像幀都放在同一可縮放層上,即,基本層上。該視頻序列包括一個(gè)第一圖像幀300,它是一個(gè)I幀(I.0.0),并且因此它起始第一子序列。圖像幀300用于預(yù)測子序列的第二個(gè)圖像幀302,即,P幀(P.0.1),然后該P(yáng)幀用于預(yù)測該子序列的第三個(gè)圖像幀304,即,P幀(P.0.2),該P(yáng)幀(P.0.2)進(jìn)而用于預(yù)測下一個(gè)圖像幀306,即,P幀(P.0.3)。然后在該視頻序列中配備一個(gè)經(jīng)編碼的I幀(I.1.0),即I幀308,這樣,該I幀起始該視頻序列中的第二個(gè)子序列。這種類型的非可縮放編碼可用于,例如,當(dāng)所采用的應(yīng)用不允許使用可縮放編碼時(shí),或者不需要使用可縮放編碼時(shí)。例如,在電路交換可視電話應(yīng)用中,信道帶寬保持恒定,并且視頻序列是實(shí)時(shí)編碼的,因此一般情況下不需要可縮放編碼。
接下來,附圖3b表示這樣一個(gè)實(shí)例,在需要的時(shí)候,如何為組合在一起的INTRA和基本層添加可縮放性。這里,視頻序列基本層同樣包括一個(gè)第一圖像幀310,它是一個(gè)I幀(I.0.0),并且它起始基本層的第一個(gè)子序列。圖像幀310用于預(yù)測該子序列的第二個(gè)圖像幀312,即,P幀(P.0.1),然后該P(yáng)幀用于預(yù)測該子序列的第三個(gè)圖像幀314,即,P幀(P.0.2)。不過,增強(qiáng)層1也編碼為這一視頻序列,并且它包括一個(gè)第一子序列,該第一子序列的第一個(gè)且唯一的圖像幀316是一個(gè)P幀(P.0.0),該P(yáng)幀是從基本層的第一個(gè)圖像幀310預(yù)測來的。增強(qiáng)層的第二個(gè)子序列的第一個(gè)圖像幀318是順次從基本層的第二個(gè)圖像幀312預(yù)測來的,并且因此這個(gè)P幀的標(biāo)識(shí)符是(P.1.0)。增強(qiáng)層的下一個(gè)圖像幀320再次地是從同一層的在前圖像幀318預(yù)測出來的,因此,它屬于同一個(gè)子序列,從而其標(biāo)識(shí)符為(P.1.1)。
在本發(fā)明的這一實(shí)施例中,基本層的子序列可獨(dú)立地解碼,雖然基本層子序列可能依賴于另一個(gè)基本層子序列?;緦幼有蛄械慕獯a需要來自基本層和/或來自增強(qiáng)層1的第二個(gè)子序列的信息,增強(qiáng)層2的子序列的解碼需要來自增強(qiáng)層1和/或來自增強(qiáng)層2的第二個(gè)子序列的信息,等等。按照一種實(shí)施方案,I幀并不單單限于基本層,而是較低的增強(qiáng)層也可以包含I幀。
支持上述實(shí)施例的基本思想是,一個(gè)子序列包含關(guān)于它所依賴的所有子序列的信息,即,關(guān)于用于預(yù)測所討論的子序列的圖像幀中的至少一幀的所有子序列的信息。不過,按照一種實(shí)施方式,也可能是一個(gè)子序列包含關(guān)于依賴于所討論的子序列的所有子序列的信息,也就是,關(guān)于所有這樣的子序列的信息,即在該子序列中至少一個(gè)圖像幀已使用所討論的子序列中的至少一個(gè)圖像幀預(yù)測。由于在后一情況下,依賴性一般來說在時(shí)間上是向前確定的,因此在編碼過程中可以按照稍后介紹的方式來方便地利用圖像幀緩沖器。
在上述所有實(shí)施例中,圖像幀的編號(hào)都是子序列所特定的,即,新的子序列總是從頭開始編號(hào)。這樣,標(biāo)識(shí)個(gè)體圖像幀就需要確定層號(hào)、子序列標(biāo)識(shí)符和圖像幀編號(hào)。按照本發(fā)明的優(yōu)選實(shí)施方式,可以使用連續(xù)的編號(hào)對圖像幀進(jìn)行獨(dú)立編號(hào),其中連續(xù)的參考圖像幀按照編碼順序由遞增一的號(hào)碼來指示。關(guān)于層號(hào)和子序列標(biāo)識(shí)符,也可以采用上述的編號(hào)規(guī)程。在必要的時(shí)候,這使得每個(gè)圖像幀都能夠得以唯一地標(biāo)識(shí),而無需使用層號(hào)和子序列標(biāo)識(shí)符。
這將參照附圖4a所示的例子進(jìn)行介紹,在附圖4a中,基本層包括一個(gè)在時(shí)間上處于第一位的I幀400(I.0.0)。這個(gè)幀用于預(yù)測增強(qiáng)層1的第一個(gè)圖像幀402,即,(P.0.1),然后幀(P.0.1)用于預(yù)測屬于同一子序列(具有子序列標(biāo)識(shí)符0)的第二個(gè)圖像幀404,即,(P.0.2),幀(P.0.2)用于預(yù)測同一子序列的第三個(gè)圖像幀406,即,(P.0.3),幀(P.0.3)用于預(yù)測第四個(gè)圖像幀408(P.0.4),最后,第四個(gè)幀用于預(yù)測第五個(gè)圖像幀410(P.0.5)。按時(shí)間順序下一個(gè)視頻序列圖像幀412位于基本層上,在這種情況下該幀412與I幀400處于同一子序列中,雖然按時(shí)間順序它只是第七個(gè)編碼的圖像幀,并且因此其標(biāo)識(shí)符為(P.0.6)。于是該第七個(gè)幀用于預(yù)測增強(qiáng)層1的第二個(gè)子序列的第一個(gè)圖像幀414,即,(P.1.7),然后該幀(P.1.7)用于預(yù)測屬于同一子序列(具有子序列標(biāo)識(shí)符1)的第二個(gè)圖像幀416,即,(P.1.8),幀(P.1.8)進(jìn)而用于預(yù)測第三個(gè)圖像幀418(P.1.9),該第三個(gè)圖像幀(P.1.9)用于預(yù)測第四個(gè)圖像幀420(P.1.10),最后,第四個(gè)圖像幀420用于預(yù)測同一子序列的第五個(gè)圖像幀422(P.1.11)。按時(shí)間順序下一個(gè)視頻序列圖像幀424再次位于基本層上,這里它與I幀400和P幀412處于同一子序列中,雖然按時(shí)間順序它只是第十三個(gè)編碼圖像幀,并且因此其標(biāo)識(shí)符為(P.0.12)。為了說明清楚,本實(shí)施例的上述說明沒有包含層標(biāo)識(shí)符,不過顯然,為了實(shí)現(xiàn)可縮放性,層標(biāo)識(shí)符也必須與視頻序列一起用信號(hào)通知,一般來說是作為圖像幀標(biāo)識(shí)符的一部分。
附圖4b和4c表示對附圖4a中所示的視頻序列的圖像幀進(jìn)行編組的另外的實(shí)施例。附圖4b中的圖像幀是依據(jù)子序列進(jìn)行編號(hào)的,即,新的子序列總是從開端(從零)開始編號(hào)。接下來,附圖4c采用了這樣一種圖像幀編號(hào)方法在其它方面上與附圖4a中所使用的編號(hào)方法相對應(yīng),只是基本層的P幀由SP幀對代替,以顧及圖像信息的等同重構(gòu)。
如上所述,本發(fā)明的規(guī)程也可以使用B幀來實(shí)現(xiàn)。它的一個(gè)例子在附圖5a、5b和5c中給出。附圖5a表示時(shí)域中的一個(gè)視頻序列,該序列包含P幀P1、P4和P7,有多個(gè)B幀位于它們之間,B幀關(guān)于時(shí)間預(yù)測的相互依賴關(guān)系由箭頭表示。附圖5b表示視頻序列圖像幀的一個(gè)優(yōu)選編組,其中示出了附圖5a中所示的相互依賴關(guān)系。附圖5b表示子序列所特定的圖像幀編號(hào),其中新的子序列總是從零開始對圖像幀編號(hào)。接下來,附圖5c表示這樣一種圖像幀編號(hào)按照時(shí)間預(yù)測的順序連續(xù)編號(hào),其中后面的參考幀總是接納前一編碼的參考幀的下一個(gè)圖像號(hào)碼。圖像幀(B1.8)(和(B2.10))不用作任何其它幀的參考預(yù)測幀,因此它不影響圖像幀編號(hào)。
上面的例子說明了可如何通過使用本發(fā)明的方法來調(diào)整視頻序列編碼的可縮放性的不同可選方案。從終端設(shè)備再生視頻序列的角度看,可得到越多的可縮放層,或者說能夠解碼的可縮放層越多,圖像的質(zhì)量就越好。換句話說,圖像信息量的增加和用于傳送這些信息的比特率的增大,提高了時(shí)間或空間分辨率,或者圖像數(shù)據(jù)的空間質(zhì)量。相應(yīng)地,較多數(shù)量的可縮放層也會(huì)對執(zhí)行解碼的終端設(shè)備的處理能力提出相當(dāng)高的要求。
此外,上面的例子說明了通過使用子序列所獲得的優(yōu)點(diǎn)。通過使用圖像幀標(biāo)識(shí)符,便以明確的方式指出了子序列中每個(gè)圖像幀與其它圖像幀的依賴性。這樣,子序列就形成了一個(gè)獨(dú)立的整體,在必要時(shí),它可以整個(gè)被從視頻序列中省去,而不會(huì)影響視頻序列中后續(xù)圖像幀的解碼。在這種情況下,只有所討論的子序列的圖像幀和在同一可縮放層上和/或在較低可縮放層上依賴于該所討論子序列的子序列中的圖像幀不被解碼。
與視頻序列一起發(fā)送的圖像幀標(biāo)識(shí)符數(shù)據(jù)最好包含在視頻序列的標(biāo)題字段中或包含在傳送視頻序列所使用的傳送協(xié)議的標(biāo)題字段中。換句話說,預(yù)測得到的圖像幀的標(biāo)識(shí)符數(shù)據(jù)并不包含在經(jīng)編碼的視頻序列的圖像數(shù)據(jù)中,而總是包含在標(biāo)題字段中,從而不用對實(shí)際視頻序列的圖像進(jìn)行解碼就可以檢測出圖像幀的依賴性。在對視頻序列進(jìn)行編碼以進(jìn)行傳送的時(shí)候,該圖像幀的標(biāo)識(shí)符數(shù)據(jù)可以存儲(chǔ)在,例如,流播服務(wù)器的緩沖存儲(chǔ)器中。此外,可以在各個(gè)可縮放層上對子序列進(jìn)行獨(dú)立的解碼,因?yàn)樽有蛄械膱D像幀不依賴于同一可縮放層上的其它子序列。
按照本發(fā)明的一種實(shí)施方式,子序列所包含的圖像幀因此也可以依賴于同一可縮放層上的其它子序列。然后必須將這種依賴性用信號(hào)通知給,例如,執(zhí)行業(yè)務(wù)量整形的流播服務(wù)器,因?yàn)槲挥谕粚由系南嗷ヒ蕾嚨淖有蛄胁荒軉为?dú)地從所要發(fā)送的視頻序列中除去。執(zhí)行該信令的優(yōu)選方式是將其包含在所發(fā)送的圖像幀標(biāo)識(shí)符中,例如通過列出所討論的子序列所依賴的層-子序列對。這還提供了一種表示與同一可縮放層上的另一個(gè)子序列的依賴性的優(yōu)選方式。
上述的例子說明了這樣一種情況圖像幀是按照時(shí)間順序從在前的圖像幀預(yù)測出來的。不過,在一些編碼方法中,已經(jīng)將參考圖片選擇進(jìn)一步擴(kuò)展到還包括從按時(shí)間順序跟在后面的圖像幀來預(yù)測圖像幀的圖像信息。參考圖片選擇提供了創(chuàng)建不同的在時(shí)間上可縮放圖像幀結(jié)構(gòu)的很多各種各樣的手段,并且使得視頻序列的錯(cuò)誤敏感度得到了降低?;趨⒖紙D片選擇的編碼技術(shù)之一是INTRA幀延期。INTRA幀未被放在在視頻序列中其在時(shí)間上的“正確”位置上,但是其位置被在時(shí)間上延期。位于INTRA幀的“正確”位置與其實(shí)際位置之間的視頻序列圖像幀按時(shí)間順序向后由所討論的INTRA幀進(jìn)行預(yù)測。這自然要求將未編碼的圖像幀緩沖充分長的時(shí)間段,以致使所要顯示的所有圖像幀都可以被編碼且得以按照它們的呈現(xiàn)次序安排。下面將參照附圖6對按照本發(fā)明的INTRA幀轉(zhuǎn)移以及相關(guān)的子序列確定進(jìn)行介紹。
附圖6a表示一個(gè)視頻序列部分,其中INTRA幀包括一個(gè)單一的I幀600,該I幀在時(shí)間上被轉(zhuǎn)移到附圖6中所示的位置上,雖然該I幀在視頻序列中的“正確”位置應(yīng)當(dāng)是第一個(gè)圖像幀的位置。這樣,在“正確”位置與實(shí)際位置600之間的視頻序列圖像幀是按照時(shí)間順序向后由I幀600預(yù)測出來的。這是通過編碼到增強(qiáng)層1中并且具有第一個(gè)按時(shí)間順序后向預(yù)測的圖像幀602(P幀(P.0.0))的子序列表示出來的。這個(gè)幀用于按時(shí)間順序預(yù)測在前的圖像幀604,即,P幀(P.0.1),該P(yáng)幀(P.0.1)順次用于預(yù)測圖像幀606,即,P幀(P.0.2),最后,幀606用于預(yù)測圖像幀608,即,P幀(P.0.3),該P(yáng)幀(P.0.3)處于I幀600在視頻序列中的“正確”位置上。相應(yīng)地,基本層上的I幀600還用于包含四個(gè)P幀610、612、614和616(即,P幀(P.0.0)、(P.0.1)、(P.0.2)和(P.0.3))的子序列的按時(shí)間順序前向預(yù)測。
在這個(gè)例子中,將后向預(yù)測的圖像幀放在比前向預(yù)測的圖像層更低層上的行為表明,為了說明的目的,在這個(gè)編碼實(shí)例中,將后向預(yù)測的圖像幀主觀地看作沒有前向預(yù)測的圖像幀有價(jià)值。自然,這些子序列也可以同時(shí)放在同一層上,在這種情況下,可以將它們看作是等同的,或者也可以將后向預(yù)測的子序列放在上層上,在這種情況下,可以將其主觀地看作為更有價(jià)值。
附圖6b和6c表示對依據(jù)附圖6a的視頻序列進(jìn)行編碼的一些可供選擇的方法。在附圖6b中,前向和后向預(yù)測的子序列都放在了基本層上,只有I幀放在INTRA層上。這樣,這一層上的前向預(yù)測的子序列是第二個(gè)子序列并且其子序列標(biāo)識(shí)符為1。接下來,在附圖6c中,I幀和基于該I幀的前向預(yù)測的子序列放在基本層上,而后向預(yù)測的子序列放在了增強(qiáng)層1上。
而且,按照本發(fā)明的優(yōu)選實(shí)施例方式,可以利用上面介紹的可縮放性來將所謂的場景變換編碼為視頻序列。諸如新聞報(bào)道、音樂視頻和電影預(yù)告片這樣的視頻素材經(jīng)常包括單獨(dú)的圖像素材場景之間的迅速切換。有時(shí)候這種切換是突然的,不過通常使用一種稱為場景變換的規(guī)程,按照這種方法,從一個(gè)場景向另一個(gè)場景的轉(zhuǎn)換是通過使前一個(gè)場景的圖像幀漸漸變暗、擦除、馬賽克淡入淡出或滾動(dòng)、并且相應(yīng)地通過表現(xiàn)出下一場景的圖像幀來進(jìn)行的。從編碼效率的角度看,場景變換的視頻編號(hào)通常是很有問題的,因?yàn)樵趫鼍白儞Q過程中出現(xiàn)的圖像幀既包括有關(guān)終止場景的圖像幀的信息又包括有關(guān)開始場景的圖像幀的信息。
一種典型的場景變換-淡出淡入,是通過逐漸將第一個(gè)場景的圖像幀的強(qiáng)度或亮度降低為零,同時(shí)逐漸將第二個(gè)場景的圖像幀的強(qiáng)度增大到其最大值來實(shí)現(xiàn)的。這種場景變換被稱為交叉淡出淡入場景變換。
一般來說,可以將計(jì)算機(jī)制作的圖像想象為是由多個(gè)層或圖像對象組成的??梢詤⒄罩辽偃N信息類型來定義每個(gè)對象圖像對象的結(jié)構(gòu)、它的形狀和透明度,以及相對于圖像的背景和其它圖像對象的分層等級(jí)(深度)。形狀和透明度通常是使用所謂的阿爾法平面來確定的,該阿爾法平面測量不透明性并且其值通常是為各個(gè)圖像對象單獨(dú)確定的,有可能不包括背景,背景通常被確定為不透明的。這樣,可以將不透明的圖像對象(比如背景)的阿爾法平面值設(shè)置為1.0,而完全透明的圖像對象的阿爾法平面值為0.0。之間的值定義了圖片中的特定圖像對象相比于背景,或其它至少部分重疊的具有高于所討論的圖像對象的深度值的圖像對象的可見性的強(qiáng)度。
依據(jù)圖像對象的形狀、透明度和深度位置、按層次的圖像對象的疊合稱為場景合成。在實(shí)踐中,該規(guī)程是以使用加權(quán)平均為基礎(chǔ)的。首先,將最接近背景,即,依據(jù)其深度位置是最深的圖像對象放到背景上,從而形成了它們兩個(gè)的組合圖像。將組合圖像的像素值形成為由背景圖像和所討論的圖像對象的阿爾法平面值加權(quán)了的平均值。然后將該組合圖像的阿爾法平面值設(shè)置為1.0,此后,該組合圖像用作下一圖像對象的背景圖像。這一處理過程繼續(xù)進(jìn)行,直到將所有圖像對象都粘貼到該圖像上。
在下文中,將會(huì)介紹一種按照本發(fā)明的優(yōu)選實(shí)施方式的規(guī)程,其中將視頻序列可縮放層與上面介紹的圖像幀的圖像對象以及它們的信息類型結(jié)合起來,以提供具有可縮放視頻編碼的場景變換,它還具有良好的壓縮效率。
下文中本發(fā)明的這個(gè)實(shí)施例是借助實(shí)例并以簡化的方式進(jìn)行介紹的,一方面,通過使用交叉淡出淡入場景變換作為實(shí)例,另一方面,通過使用突變場景變換作為實(shí)例。在場景變換過程中所要顯示的圖像幀一般來說是由兩個(gè)重疊的圖像幀形成的,第一個(gè)圖像幀包括第一個(gè)圖像場景而第二個(gè)圖像幀包括第二個(gè)場景。圖像幀之一用作背景圖像,而其它被稱為前景圖像的圖像幀被放在該背景圖像之上。背景圖像的不透明度,即,其非透明性值是恒定的。換句話說,其像素所特定的阿爾法平面值不被調(diào)節(jié)。
在本發(fā)明的這個(gè)實(shí)施例中,背景和前景圖像都是按照可縮放層定義的。這在附圖7中進(jìn)行了說明,附圖7表示可如何在本發(fā)明的場景變換期間將兩個(gè)不同場景的圖像幀放到可縮放層上。附圖7示出了位于基本層上的第一個(gè)(終止)場景的第一個(gè)圖像幀700。該圖像幀700可以是一個(gè)包含沒有使用運(yùn)動(dòng)補(bǔ)償時(shí)間預(yù)測確定的圖像信息的I幀,或者是一個(gè)P幀(它是由在前的圖像幀預(yù)測的運(yùn)動(dòng)補(bǔ)償圖像幀)。在按照時(shí)間順序的后面的圖像幀期間,第二個(gè)(起始)場景的編碼開始,并且,按照本發(fā)明,也將該場景的圖像幀放在基本層上。然后將第二個(gè)(終止)場景中剩下的圖像幀702、704放在增強(qiáng)層1上。這些圖像幀一般來說是P幀。
在這個(gè)實(shí)施例中,因此至少在場景變換的持續(xù)時(shí)間之內(nèi)將第二個(gè)(起始)場景的圖像幀放在基本層上。該場景的第一個(gè)圖像幀706一般來說是一個(gè)I幀,并且它用于按時(shí)間順序預(yù)測該場景的后續(xù)圖像幀。因此,第二個(gè)場景的后續(xù)圖像幀是時(shí)間上預(yù)測的幀,一般來說是P幀,比如附圖7中所示的幀708和710。
按照本發(fā)明的一種優(yōu)選實(shí)施方式,通過將基本層上的圖像層總是定義為具有最大不透明度(100%)或非透明性值的背景圖像,這種將圖像幀放在可縮放層上可用于實(shí)現(xiàn)交叉淡出淡入場景變換。在場景變換期間,將位于增強(qiáng)層上的圖像幀放到背景圖像上,并且例如借助適當(dāng)?shù)臑V波器對它們的不透明度進(jìn)行調(diào)節(jié),以致這些幀逐漸從不透明變?yōu)橥该鳌?br> 在附圖7所示的視頻序列中,在第一個(gè)基本層圖像幀700期間,在較低的可縮放層上沒有圖像幀。對于這一時(shí)刻,僅將該第一個(gè)圖像幀700編碼為視頻序列。
基本層的下一個(gè)圖像幀706起始了一個(gè)新的(第二)場景,在此期間,為圖像幀706提供了將其放置為背景圖像的深度定位,并且將其不透明度值設(shè)置為最大。在增強(qiáng)層1上,有一個(gè)終止(第一)場景的圖像幀702與基本層的圖像幀706在時(shí)間上是同時(shí)的。為了使得交叉淡出淡入場景變換得以實(shí)現(xiàn),必須要增大幀702的透明性。附圖7的例子假設(shè),將圖像幀702的不透明度設(shè)置為67%,并且,此外,為圖像幀702提供了將其確定為前景圖像的深度定位。對于這一時(shí)刻,將組合了圖像幀706和702的圖像編碼到視頻序列中,圖像706可視為背景上的一個(gè)較弱的圖像,而圖像702可視為前面的一個(gè)較強(qiáng)的圖像,因?yàn)槠洳煌该鞫戎祵?shí)質(zhì)上很高(67%)。
在按時(shí)間順序跟在后面的圖像幀期間,在基本層上有一個(gè)第二場景的第二圖像幀708,因此為該幀708相應(yīng)地提供了將其確定為背景圖像的深度定位,并且將其不透明度值設(shè)為最大。增強(qiáng)層1還包括時(shí)間上同時(shí)終止的(第一)場景的最后一個(gè)圖像幀704,將該幀的不透明度值設(shè)置為33%,并且此外,為該圖像幀704提供了將其也確定為前景圖像的深度定位。從而,對于這一時(shí)刻,將由圖像幀708和704組合的圖像編碼為視頻序列,圖像708得以顯示為背景上較強(qiáng)的圖像,而圖像704顯示為前景上較弱的圖像,因?yàn)閳D像704的不透明度值不再超過33%。
在按時(shí)間順序跟在后面的圖像幀期間,基本層包括一個(gè)第二場景的第三圖像幀710。由于第一個(gè)場景已經(jīng)終止,所以只有圖像幀710被編碼到視頻序列中,并且第二個(gè)場景的顯示從幀710繼續(xù)進(jìn)行。
上面的公開內(nèi)容借助實(shí)例介紹了按照本發(fā)明的圖像幀在可縮放層上的定位,用于以從編碼效率的角度看比較有利的方式實(shí)現(xiàn)交叉淡出淡入的場景變換。不過,有可能在傳送或解碼視頻序列的時(shí)候,出現(xiàn)這樣一種情況,即必須依據(jù)可用于數(shù)據(jù)傳送的帶寬的最大值和/或終端設(shè)備解碼速度對視頻序列的比特率進(jìn)行調(diào)整。此種比特率控制在要使用現(xiàn)有技術(shù)的視頻編碼方法實(shí)現(xiàn)場景變換的時(shí)候會(huì)引發(fā)問題。
本發(fā)明的優(yōu)選實(shí)施方式現(xiàn)在允許將一個(gè)或多個(gè)可縮放層或包含在它們之中的可獨(dú)立解碼的子序列從視頻序列中除去,從而可以降低視頻序列的比特率,且同時(shí)仍然可以對視頻序列進(jìn)行解碼,而不會(huì)降低圖像頻率。在按照附圖7的圖像幀定位中,這可以通過從視頻序列中除去增強(qiáng)層1來實(shí)現(xiàn)。這樣,視頻序列僅用于顯示基本層的圖像幀700、706、708和710。換句話說,從第一個(gè)(終止)場景到第二個(gè)(起始)場景的直接變換以突然的場景變換的形式進(jìn)行,即,直接從第一個(gè)場景的圖像幀700進(jìn)入到起始第二個(gè)場景的I圖像幀706。該變換因此不是一個(gè)交叉淡出淡入的場景變換,而是一個(gè)突然的場景變換。然而盡管如此,場景變換還是能夠以不影響視頻序列圖像的質(zhì)量的有利方式進(jìn)行,并且觀眾通常不會(huì)經(jīng)歷一個(gè)代替交叉淡出淡入場景變換的、以任何令人心煩或者有錯(cuò)誤的方式而執(zhí)行的突然的場景變換。與之相比較,由于現(xiàn)有技術(shù)的實(shí)現(xiàn)方法不允許除去可縮放層,所以場景變換經(jīng)常需要降低圖像頻率,此時(shí)觀眾會(huì)感覺到突然的變化并且會(huì)覺得心煩。
因此,本發(fā)明提供了一種在流播服務(wù)器中執(zhí)行多媒體數(shù)據(jù)業(yè)務(wù)量整形的優(yōu)選手段,包括關(guān)于視頻序列的不同子序列的信息它們的平均比特率、相對于整個(gè)視頻序列的位置、持續(xù)時(shí)間和它們與各層有關(guān)的相互依賴性。流播服務(wù)器還確定了可用于數(shù)據(jù)傳送的帶寬的最大值和/或終端設(shè)備的解碼速度。根據(jù)這一信息,流播服務(wù)器決定在視頻序列中傳送多少可縮放層和傳送哪些子序列。這樣,在必要的時(shí)候,就可以進(jìn)行比特率控制了首先通過對可縮放層的數(shù)量進(jìn)行組略地調(diào)整,此后可以容易地進(jìn)行子序列所特定的較為精細(xì)的調(diào)整。最簡單地講,比特率控制意味著作出有關(guān)一個(gè)具體的子序列是否應(yīng)被加入到視頻序列中或從該視頻序列中將其除去的子序列所特定的決定。在除去的情況下,從視頻序列中除去整個(gè)子序列是比較可行的,因?yàn)槌为?dú)的圖像可能會(huì)導(dǎo)致同一子序列中其它圖像的錯(cuò)誤。出于同樣的原因,如果較低增強(qiáng)層的所有子序列依賴于已經(jīng)除去的較高層上的子序列的話,那么應(yīng)當(dāng)將它們?nèi)慷汲ァH绻谕豢煽s放層上有相互依賴的多個(gè)子序列,那么如果除去了比較靠前的子序列,則依賴于該比較靠前的子序列的子序列也必須除去。
如果將圖像幀標(biāo)識(shí)符數(shù)據(jù)加到了所要傳送的視頻序列中,那么業(yè)務(wù)量整形也可以在用于傳送視頻序列的電信網(wǎng)絡(luò)單元中進(jìn)行,例如,在因特網(wǎng)路由器中、在不同的網(wǎng)關(guān)中或者在移動(dòng)通信網(wǎng)絡(luò)的基站或基站控制器中進(jìn)行。為了使網(wǎng)絡(luò)單元能夠維持并處理子序列信息,它必須具有額外的存儲(chǔ)器和處理能力。出于這一原因,在網(wǎng)絡(luò)中進(jìn)行的業(yè)務(wù)量整形也許最有可能使用簡單的處理方法來執(zhí)行,比如由某些基于IP的網(wǎng)絡(luò)支持的DiffServ,即區(qū)別業(yè)務(wù),規(guī)程。按照DiffServ方法,為每個(gè)IP數(shù)據(jù)包分配一個(gè)優(yōu)先級(jí),從而與較低優(yōu)先級(jí)的數(shù)據(jù)包相比,較高優(yōu)先級(jí)的數(shù)據(jù)包被更加快速且更加可靠地傳遞給接收者。通過不僅確定可縮放層所特定的優(yōu)先級(jí),而且確定子序列所特定的優(yōu)先級(jí),而可以將這種方法便利地應(yīng)用到本發(fā)明的可縮放性中,這使得能夠?qū)崿F(xiàn)更加高級(jí)的優(yōu)先級(jí)。
有很多用于在所要傳送的視頻序列中添加圖像幀標(biāo)識(shí)符數(shù)據(jù)的可選擇的方案。此外,也有可能不在視頻序列中加入任何標(biāo)識(shí)符數(shù)據(jù),在這種情況下,僅在流播服務(wù)器中進(jìn)行業(yè)務(wù)量整形。標(biāo)識(shí)符數(shù)據(jù)可以包含在視頻序列的標(biāo)題字段中,或者包含在所使用的傳送協(xié)議的標(biāo)題字段中,例如RTP(實(shí)時(shí)協(xié)議)的標(biāo)題字段中。按照一種優(yōu)選實(shí)施方式,可以使用一種輔助增強(qiáng)信息(SEI)機(jī)制來傳送標(biāo)識(shí)符數(shù)據(jù)。SEI提供一種與視頻數(shù)據(jù)內(nèi)容同步傳送的數(shù)據(jù)傳遞機(jī)制,這樣有助于視頻序列的解碼和顯示。在ITU-T標(biāo)準(zhǔn)文件ITU-T Rec.H.264(ISO/IEC 14496-102002),附件D中,較為詳細(xì)地公開了SEI機(jī)制,尤其是在用于傳送層和子序列信息的時(shí)候。在這種情況下,其中單獨(dú)的傳送協(xié)議或機(jī)制被用于標(biāo)識(shí)符數(shù)據(jù)的傳送,業(yè)務(wù)量整形也可以在傳送路徑中的一個(gè)網(wǎng)絡(luò)單元中進(jìn)行。此外,接收終端設(shè)備可以對解碼進(jìn)行控制。
如果編碼器或解碼器支持參考圖片選擇,那么視頻序列編碼要求在編碼之前緩沖經(jīng)解碼的圖像幀,以便使得不同的圖像幀之間的關(guān)系能夠按時(shí)間順序從一個(gè)或多個(gè)其它的圖像幀預(yù)測出來。可以至少以兩種不同的方式來安排圖像幀緩沖或者作為活動(dòng)窗口或者作為自適應(yīng)緩沖存儲(chǔ)器控制。在滑動(dòng)窗口中,將最后編碼的M個(gè)圖像幀用作為一個(gè)緩沖器。該緩沖器中的幀具有已解碼和已重構(gòu)的形式,這使得它們能夠在編碼中用作參考圖像。隨著編碼的進(jìn)行,圖像幀緩沖根據(jù)FIFO原理(先入先出)工作。不用作參考圖像的圖像,比如傳統(tǒng)的B幀,不需要存儲(chǔ)在緩沖器中。另外,也可以按照自適應(yīng)緩沖存儲(chǔ)器控制來實(shí)施緩沖,在這種情況下,圖像緩沖并不限于FIFO原理,而是在處理過程中間可以將不需要的圖像幀清出緩沖器,或者,相應(yīng)地,某些圖像幀可以在更長時(shí)間內(nèi)被存儲(chǔ)在緩沖器中(如果它們需要作為后面的圖像幀的參考圖像)。例如,一種公知的參考圖片選擇是通過對緩沖存儲(chǔ)器中的圖像幀編制索引為一個(gè)特定的順序來實(shí)現(xiàn)的,然后使用這些圖像索引來查找與運(yùn)動(dòng)補(bǔ)償相關(guān)的圖像。與使用圖像編號(hào)(例如,當(dāng)運(yùn)動(dòng)補(bǔ)償參考圖像要用信號(hào)通知時(shí),使用圖像編號(hào)來查找一個(gè)特定的圖像)相比,這種編制索引的方法總地來說提供了更好的壓縮效率。
上面所述的參考圖像編制索引方法對傳送錯(cuò)誤很敏感,因?yàn)榘l(fā)送者的編碼器和接收者的解碼器的緩沖器必須以相同的順序包含相互對應(yīng)的重構(gòu)圖像,以確保編碼器和解碼器都根據(jù)相同的索引順序。如果圖像幀在編碼器和解碼器的緩沖器中是以不同的順序編制索引的,那么在解碼器中可能會(huì)使用不正確的參考圖像。為了防止這種情況的發(fā)生,有必要使解碼器可被控制去考慮編碼器有意從視頻序列中除去的圖像幀和子序列。在這種情況下,圖像幀編號(hào)可能會(huì)包括間隙,解碼器通常會(huì)將此解譯為錯(cuò)誤,并設(shè)法重構(gòu)被解譯為丟失的圖像幀。出于這種原因,有必要使編碼器能夠告知解碼器,所發(fā)送的圖像幀中的圖像編號(hào)的不連續(xù)是有意造成的。
響應(yīng)于此,并假定使用了滑動(dòng)窗口來對圖像幀進(jìn)行緩沖,則解碼器將與丟失的圖像編號(hào)相應(yīng)的多個(gè)圖像幀輸入到緩沖存儲(chǔ)器中,它們的內(nèi)容可以是完全隨機(jī)的。然后使用一個(gè)標(biāo)識(shí)符“無效”標(biāo)示這些隨機(jī)的圖像幀,以指示這些所關(guān)心的圖像幀不屬于實(shí)際的視頻序列,而只是為了緩沖存儲(chǔ)器管理而輸入的填充幀。自然,填充幀可以僅僅使用存儲(chǔ)器指示器來實(shí)現(xiàn),即,最好不將數(shù)據(jù)輸入到緩沖存儲(chǔ)器中,而是僅僅使用存儲(chǔ)器管理來存儲(chǔ)對同類的“無效”幀的引用。在將由丟失的圖像編號(hào)所指示的數(shù)量的填充幀輸入到緩沖器中之后,實(shí)際視頻序列的圖像幀的輸入從正確的圖像幀編號(hào)繼續(xù)進(jìn)行,這使得編碼器和解碼器的緩沖存儲(chǔ)器優(yōu)選地被保持為同步。如果在解碼期間,檢測到了一個(gè)圖像編號(hào)的引用,然后發(fā)現(xiàn)它指示位于該緩沖器中的一個(gè)填充幀,則在解碼器中啟動(dòng)糾錯(cuò)動(dòng)作,以重構(gòu)該實(shí)際的參考圖像,例如,通過請求編碼器重新發(fā)送所討論的參考圖像。
此外,本發(fā)明的規(guī)程使得單獨(dú)的緩沖存儲(chǔ)器能夠用在不同的可縮放層上,或者,相應(yīng)地,特定于子序列。這樣,每個(gè)可縮放層可以具有一個(gè)單獨(dú)的緩沖存儲(chǔ)器,該緩沖存儲(chǔ)器在概念上是單獨(dú)的并且是在滑動(dòng)窗口原理的基礎(chǔ)上運(yùn)行的。類似地,每個(gè)子序列還可以配備一個(gè)概念性的單獨(dú)的緩沖存儲(chǔ)器,該緩沖存儲(chǔ)器也在滑動(dòng)窗口原理的基礎(chǔ)上運(yùn)行。這意味著當(dāng)子序列終止時(shí),緩沖存儲(chǔ)器總是空的。單獨(dú)的緩沖存儲(chǔ)器能夠以優(yōu)選的方式用于在某些情況下降低對信令的需求,在這些情況中,正常的滑動(dòng)窗口緩沖將是不夠的并且可能將需要改為使用主動(dòng)的自適應(yīng)緩沖存儲(chǔ)器管理。
H.26L標(biāo)準(zhǔn)將圖片次序計(jì)數(shù)定義為按照輸出次序的圖片位置。在H.26L標(biāo)準(zhǔn)中規(guī)定的解碼處理使用圖片次序計(jì)數(shù)來為B條中的參考圖片確定默認(rèn)的索引排序,以表示用于運(yùn)動(dòng)矢量預(yù)測中的矢量縮放和用于B條中的隱含模式加權(quán)預(yù)測的幀與場之間的圖片次序差,并確定何時(shí)按照解碼順序的連續(xù)條屬于不同的圖片。對圖片次序計(jì)數(shù)進(jìn)行編碼并為每個(gè)圖片進(jìn)行傳送。
按照本發(fā)明的一種實(shí)施方式,解碼器使用圖片次序計(jì)數(shù)來推斷那些圖片是時(shí)間重疊的,即,具有相等的圖片次序計(jì)數(shù)的圖片是時(shí)間重疊的。最好,解碼器僅輸出最高的接收到的層上的圖片。在缺少層信息的情況下,解碼器推斷最新的按照解碼順序、在時(shí)間上重疊的圖像駐留于最高的所接收到的層。
上面公開的內(nèi)容介紹了一種為了產(chǎn)生一個(gè)可縮放的壓縮視頻序列而對視頻幀進(jìn)行編碼的規(guī)程。實(shí)際的規(guī)程是在視頻編碼器中執(zhí)行的,比如是在附圖1中的壓縮器108中執(zhí)行的,該壓縮器可以是任何公知的視頻編碼器。例如可以使用依據(jù)ITU-T建議H.263或H.26L的視頻編碼器,將這種視頻編碼器安排為按照本發(fā)明,將一個(gè)第一子序列形成到視頻序列中,該子序列的至少一部分是通過對I幀進(jìn)行編碼形成的;將至少一個(gè)第二子序列形成到視頻序列中,該第二子序列的至少一部分是通過對至少P或B幀進(jìn)行編碼形成的,并且該第二子序列的至少一個(gè)視頻幀是從所述第一子序列的至少一個(gè)視頻幀預(yù)測出來的;以及,將至少第二子序列的視頻幀的標(biāo)識(shí)數(shù)據(jù)確定到視頻序列中。
按照本發(fā)明的規(guī)程,一個(gè)特定可縮放層的每個(gè)子序列最好是可獨(dú)立解碼的,自然要考慮對較高可縮放層或者同一可縮放層的可能的其它子序列的依賴性。因此,可以通過如下方式對諸如上述的一個(gè)可縮放的壓縮視頻幀進(jìn)行解碼對視頻序列的第一個(gè)子序列進(jìn)行解碼,該子序列的至少一部分是通過對至少I幀編碼而形成的;和對視頻序列的至少一個(gè)第二子序列進(jìn)行解碼,該第二子序列的至少一部分是通過對至少P或B幀編碼而形成的,且該第二子序列的至少一個(gè)視頻幀是從第一子序列的至少一個(gè)視頻幀預(yù)測出來的;和確定至少由視頻序列的第二子序列包含的視頻幀的標(biāo)識(shí)和依賴性數(shù)據(jù);并根據(jù)子序列依賴性重構(gòu)該視頻序列的至少一部分。
實(shí)際的解碼是在視頻解碼器(比如附圖1中的解壓縮器118)中進(jìn)行的,該視頻解碼器可以是任何公知的視頻解碼器。例如,可以使用依據(jù)ITU-T建議H.263或H.26L的低比特率視頻解碼器,在本發(fā)明中,將該解碼器安排為用于對視頻序列的第一個(gè)子序列進(jìn)行解碼,該子序列的至少一部分是通過對I幀編碼形成的;對視頻序列的至少一個(gè)第二子序列進(jìn)行解碼,該第二子序列的至少一部分是通過對至少P或B幀編碼而形成的,且該第二子序列的至少一個(gè)視頻幀是從第一子序列的至少一個(gè)視頻幀預(yù)測出來的。將該視頻解碼器安排為用于確定至少由視頻序列的第二子序列包含的視頻幀的標(biāo)識(shí)和依賴性數(shù)據(jù),并根據(jù)子序列的依賴性而重構(gòu)該視頻序列的至少一部分。
本發(fā)明的流播系統(tǒng)的操作中的一個(gè)主要方面是,對編碼器和解碼器進(jìn)行定位,至少使得編碼器在操作上與流播服務(wù)器相連接并且解碼器在操作上與接收終端設(shè)備相連接。不過,該流播系統(tǒng)的不同組成部分,尤其是終端設(shè)備,可以包括允許多媒體文件的雙向傳送(即,傳送和接收)的功能性。因此,編碼器和解碼器可以以集成了編碼器和解碼器功能性的、稱為視頻編解碼器的形式實(shí)現(xiàn)。
應(yīng)當(dāng)注意到,按照本發(fā)明,上述流播系統(tǒng)的功能單元及其組成部分,比如流播服務(wù)器、視頻編碼器、視頻解碼器和終端最好是借助軟件、通過硬件解決方案或者作為二者的組合來實(shí)現(xiàn)的。本發(fā)明的編碼和解碼方法尤其適于實(shí)現(xiàn)為包括用于執(zhí)行本發(fā)明的處理步驟的計(jì)算機(jī)可讀命令的計(jì)算機(jī)軟件。實(shí)現(xiàn)編碼器和解碼器的優(yōu)選方式是將它們作為可由計(jì)算機(jī)類的設(shè)備(例如個(gè)人計(jì)算機(jī)(PC)或移動(dòng)臺(tái))執(zhí)行的程序代碼存儲(chǔ)在存儲(chǔ)裝置中,以便為所討論的設(shè)備提供編碼/解碼功能性。
另一種可選方案是將本發(fā)明實(shí)現(xiàn)為包括可縮放地壓縮的視頻序列的視頻信號(hào),其中可縮放地壓縮的視頻序列進(jìn)而包括按照至少第一和第二幀格式編碼的視頻幀,按照第一幀格式的視頻幀獨(dú)立于其它的視頻幀,并且第二幀格式的視頻幀是從其它視頻幀中的至少一個(gè)預(yù)測出來的。按照本發(fā)明,所討論的視頻信號(hào)包括至少一個(gè)第一子序列,該第一子序列的至少一部分是通過對至少第一幀格式的視頻幀進(jìn)行編碼而形成的;至少一個(gè)第二子序列,該第二子序列的至少一部分是通過對至少第二幀格式的視頻幀進(jìn)行編碼而形成的;且至少一個(gè)第二子序列的視頻幀是從至少一個(gè)第一子序列的視頻幀預(yù)測出來的;以及至少一個(gè)數(shù)據(jù)字段,該數(shù)據(jù)字段確定屬于第二子序列的視頻幀。
對本領(lǐng)域的技術(shù)人員而言,有一點(diǎn)是顯而易見的隨著技術(shù)的進(jìn)步,本發(fā)明的基本思想可以以各種不同的方式來實(shí)現(xiàn)。因此,本發(fā)明及其實(shí)施例并不局限于上述的實(shí)例,而是,它們可以在權(quán)利要求書的范圍之內(nèi)進(jìn)行各種改變。
權(quán)利要求
1.一種用于編碼包含一獨(dú)立的圖像幀序列的視頻序列的方法,其中至少一個(gè)參考圖像幀可由至少一個(gè)在前的圖像幀預(yù)測,該在前的圖像幀在解碼順序上早于該在前的參考圖像幀,其特征在于將一個(gè)對至少一個(gè)圖像幀的指示編碼到該視頻序列中,該至少一個(gè)圖像幀是該獨(dú)立序列的、在解碼順序上的第一圖像幀,所述至少一個(gè)參考圖像幀被包括在該序列中。
2.按照權(quán)利要求1所述的方法,其特征在于將所述指示編碼到該視頻序列中作為一個(gè)包括在條頭標(biāo)中的單獨(dú)標(biāo)記。
3.按照權(quán)利要求1或2所述的方法,其特征在于根據(jù)一編號(hào)方案對用于圖像幀的標(biāo)識(shí)符值進(jìn)行編碼,以及對用于所指示的獨(dú)立序列的第一圖像幀的標(biāo)識(shí)符值進(jìn)行重置。
4.按照前述任何一項(xiàng)權(quán)利要求所述的方法,其特征在于將一個(gè)用于該獨(dú)立序列的標(biāo)識(shí)符值編碼到該視頻序列中。
5.一種用于編碼包含一獨(dú)立的圖像幀序列的視頻序列的視頻編碼器,其中至少一個(gè)參考圖像幀可由至少一個(gè)在前的圖像幀預(yù)測,該在前的圖像幀在解碼順序上早于該在前的參考圖像幀,其特征在于該視頻編碼器被安排來將一個(gè)對至少一個(gè)圖像幀的指示編碼到該視頻序列中,該至少一個(gè)圖像幀是該獨(dú)立序列的、在解碼順序上的第一圖像幀,所述至少一個(gè)參考圖像幀被包括在該序列中。
6.按照權(quán)利要求5所述的視頻編碼器,其特征在于該視頻編碼器被安排來將所述指示編碼到該視頻序列中作為一個(gè)包括在條頭標(biāo)中的單獨(dú)標(biāo)記。
7.按照權(quán)利要求5或6所述的視頻編碼器,其特征在于該視頻編碼器被安排來根據(jù)一編號(hào)方案對用于圖像幀的標(biāo)識(shí)符值進(jìn)行編碼,以及對用于所指示的獨(dú)立序列第一圖像幀的標(biāo)識(shí)符值進(jìn)行重置。
8.按照權(quán)利要求5-7中任何一項(xiàng)所述的視頻編碼器,其特征在于該視頻編碼器被安排來將一個(gè)用于該獨(dú)立序列的標(biāo)識(shí)符值編碼到該視頻序列中。
9.一種存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上并且可在數(shù)據(jù)處理設(shè)備中執(zhí)行的計(jì)算機(jī)程序產(chǎn)品,用于編碼包含一個(gè)獨(dú)立的圖像幀序列的視頻序列,其中至少一個(gè)參考圖像幀可由至少一個(gè)在前的圖像幀預(yù)測,該在前的圖像幀在解碼順序上早于該在前的參考圖像幀,其特征在于該計(jì)算機(jī)程序產(chǎn)品包括用于將一個(gè)對至少一個(gè)圖像幀的指示編碼到該視頻序列中的計(jì)算機(jī)程序代碼,該至少一個(gè)圖像幀是該獨(dú)立序列的、在解碼順序上的第一圖像幀,所述至少一個(gè)參考圖像幀被包括在該序列中。
10.一種用于解碼壓縮視頻序列的方法,其中至少一個(gè)參考圖像幀可由至少一個(gè)在前的圖像幀預(yù)測,該在前的圖像幀在解碼順序上早于該在前的參考圖像幀,其特征在于從該視頻序列解碼出一個(gè)對至少一個(gè)圖像幀的指示,該至少一個(gè)圖像幀是一個(gè)獨(dú)立序列的、在解碼順序上的第一圖像幀,所述序列包括該至少一個(gè)參考圖像幀,以及從所述的獨(dú)立序列第一圖像幀開始解碼該視頻序列,由此對該視頻序列進(jìn)行解碼而無需根據(jù)任何先于所述第一圖像幀被解碼的圖像幀進(jìn)行預(yù)測。
11.按照權(quán)利要求10所述的方法,其特征在于,所述指示是一個(gè)包括在條頭標(biāo)中的單獨(dú)標(biāo)記。
12.按照權(quán)利要求10或11所述的方法,其特征在于根據(jù)一編號(hào)方案對用于圖像幀的標(biāo)識(shí)符值進(jìn)行解碼,以及對用于所指示的獨(dú)立序列第一圖像幀的標(biāo)識(shí)符值進(jìn)行重置。
13.一種用于解碼壓縮視頻序列的視頻解碼器,其中至少一個(gè)參考圖像幀可由至少一個(gè)在前的圖像幀預(yù)測,該在前的圖像幀在解碼順序上早于該在前的參考圖像幀,其特征在于該視頻解碼器被安排來從該視頻序列解碼出一個(gè)對至少一個(gè)圖像幀的指示,該至少一個(gè)圖像幀是一個(gè)獨(dú)立序列的、在解碼順序上的第一圖像幀,所述序列包括該至少一個(gè)參考圖像幀,以及從所述的獨(dú)立序列第一圖像幀開始解碼該視頻序列,由此對該視頻序列進(jìn)行解碼而無需根據(jù)任何先于所述第一圖像幀被解碼的圖像幀進(jìn)行預(yù)測。
14.一種存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上并且可在數(shù)據(jù)處理設(shè)備中執(zhí)行的、用于解碼壓縮視頻序列的計(jì)算機(jī)程序產(chǎn)品,其中至少一個(gè)參考圖像幀可由至少一個(gè)在前的圖像幀預(yù)測,該在前的圖像幀在解碼順序上早于該在前的參考圖像幀,其特征在于該計(jì)算機(jī)程序產(chǎn)品包括用于從該視頻序列解碼出一個(gè)對至少一個(gè)圖像幀的指示的計(jì)算機(jī)程序代碼,該至少一個(gè)圖像幀是一個(gè)獨(dú)立序列的、在解碼順序上的第一圖像幀,所述序列包括該至少一個(gè)參考圖像幀,以及用于從所述的獨(dú)立序列第一圖像幀開始解碼該視頻序列,由此對該視頻序列進(jìn)行解碼而無需根據(jù)任何先于所述第一圖像幀被解碼的圖像幀進(jìn)行預(yù)測的計(jì)算機(jī)程序代碼。
15.一種包含壓縮視頻序列的視頻信號(hào),該壓縮視頻序列包括一個(gè)獨(dú)立的圖像幀序列,其中至少一個(gè)參考圖像幀可由至少一個(gè)在前的圖像幀預(yù)測,該在前的圖像幀在解碼順序上早于該在前的參考圖像幀,其特征在于該視頻信號(hào)包括一個(gè)對至少一個(gè)圖像幀的指示,該至少一個(gè)圖像幀是該獨(dú)立序列的、在解碼順序上的第一圖像幀,所述至少一個(gè)參考圖像幀被包括在該序列中。
16.按照權(quán)利要求15所述的視頻信號(hào),其特征在于該視頻信號(hào)包含用于該獨(dú)立序列的標(biāo)識(shí)符值。
全文摘要
一種用于編碼包含一個(gè)獨(dú)立的圖像幀序列的視頻序列的方法,其中至少一個(gè)參考圖像幀可由至少一個(gè)在前的圖像幀預(yù)測,該在前的圖像幀在解碼順序上早于該在前的參考圖像幀。將一個(gè)對至少一個(gè)圖像幀的指示編碼到該視頻序列中,被指示的那個(gè)圖像幀是該獨(dú)立序列的、在解碼順序上的第一圖像幀,所述至少一個(gè)參考圖像幀被包括在該序列中。在解碼階段,從該視頻序列解碼出所述對至少一個(gè)圖像幀的指示,并且從所述的獨(dú)立序列第一圖像幀開始解碼該視頻序列,由此對該視頻序列進(jìn)行解碼而無需根據(jù)任何先于所述第一圖像幀被解碼的圖像幀進(jìn)行預(yù)測。
文檔編號(hào)H04N7/36GK1822678SQ200610009350
公開日2006年8月23日 申請日期2003年1月22日 優(yōu)先權(quán)日2002年1月23日
發(fā)明者M·漢努克塞拉 申請人:諾基亞有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
察隅县| 鸡东县| 临湘市| 天门市| 汝州市| 叶城县| 和林格尔县| 仪陇县| 铜川市| 富裕县| 庆云县| 原阳县| 瑞昌市| 定襄县| 阜城县| 鄯善县| 始兴县| 长兴县| 民和| 琼结县| 株洲市| 巩留县| 汤阴县| 团风县| 临颍县| 陆川县| 惠水县| 苏尼特右旗| 巴彦县| 湖北省| 宣城市| 社旗县| 甘南县| 巍山| 阿瓦提县| 翁源县| 格尔木市| 托克逊县| 林西县| 肇庆市| 织金县|