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

從第一編碼視頻流切換到第二編碼視頻流的方法

文檔序號(hào):7943432閱讀:290來源:國(guó)知局
專利名稱:從第一編碼視頻流切換到第二編碼視頻流的方法
技術(shù)領(lǐng)域
本發(fā)明一般涉及視頻的流送,并且特別地,涉及一種從源編碼視頻流切換到目的編碼視頻流的方法,并且還涉及一種相關(guān)聯(lián)的設(shè)備和系統(tǒng)。
背景技術(shù)
發(fā)明人知道,適合于在具有多個(gè)內(nèi)容通道的服務(wù)器/客戶端網(wǎng)絡(luò)環(huán)境中進(jìn)行實(shí)時(shí)視頻廣播的當(dāng)前應(yīng)用需要客戶端在通道和比特率之間無縫地且快速地切換的能力,其中, 每個(gè)內(nèi)容通道均具有潛在的多個(gè)比特率。使用數(shù)字編碼的視頻流的出現(xiàn)在提供這些質(zhì)量方面產(chǎn)生了固有的問題?,F(xiàn)有的切換解決方案迎合如以下所定義的高比特率條件其中,每個(gè)客戶端可用的傳輸通道平均比特率高于正傳輸?shù)牧鞯膫鬏斖ǖ榔骄忍芈?。這些解決方案不能以低比特率提供有保障的快速切換而無需中斷客戶端處的視頻流動(dòng)。
發(fā)明人知道,壓縮的視頻流通常由被劃分成畫面組(GOP)的連續(xù)幀的序列組成。 GOP包括與其它的在前幀無關(guān)的I幀,隨后是一個(gè)或多個(gè)根據(jù)同一組內(nèi)的周圍幀預(yù)測(cè)的P幀或B幀。為了相同的視覺質(zhì)量,I幀通常需要超過P幀或B幀所需的比特?cái)?shù)三倍的比特?cái)?shù)。 統(tǒng)計(jì)上不相似的流之間的切換(諸如當(dāng)“通道跳躍”時(shí))或第一次進(jìn)入流必須發(fā)生于I幀上。P幀切換要求在解碼器或客戶端處的匹配的預(yù)測(cè)參考。預(yù)測(cè)參考是在內(nèi)部存儲(chǔ)于編碼器的幀并且被要求是對(duì)解碼器的輸出的確切表示。如果切換是在P幀上進(jìn)行的而沒有匹配參考,則由不正確的參考導(dǎo)致的累積失配在解碼器處產(chǎn)生視覺假象。這通常被稱為漂移誤差。
發(fā)明人還知道利用SI幀或SP幀(S幀)在類似的流之間切換的實(shí)踐,其中,在類似的流之間,一個(gè)流僅是另一個(gè)流的不同平均比特率形式,但是來自同一原始視頻源。這些 SI幀或SP幀(S幀)是兩個(gè)流之間的橋接幀并且試圖對(duì)當(dāng)前流和目的流之間的差別進(jìn)行編碼,以確保嚴(yán)格匹配的預(yù)測(cè)參考,從而減小漂移誤差。然而,這些橋接幀還可產(chǎn)生明顯比標(biāo)準(zhǔn)P幀更多的比特,并且此外,要求每個(gè)橋接幀均是唯一的S幀。
流中的I/S幀的頻率確定切換點(diǎn)。換言之,目的通道可以在I幀上被切換或者緊接在接收到S幀之后被切換,以使得后續(xù)的P幀具有匹配的內(nèi)部參考幀。因此,以增大的平均比特率為代價(jià),具有高頻率的I/S幀的流具有更多潛在的切換點(diǎn),這僅在支持高平均比特率的通道中是可容許的。
為了本說明書的目的,低比特率流或通道可被定義為具有間隔大約幾千幀(時(shí)間為分鐘)的、僅足以維持P幀并且最好維持一些或低質(zhì)量的I幀的帶寬。這意味著沒有自然切換點(diǎn)或自然切換點(diǎn)的數(shù)量非常有限。增大I/S幀的頻率導(dǎo)致潛在地在低比特率通道中不能維持的比特成本增加,從而引起對(duì)在解碼器處需要重緩沖的視頻服務(wù)的中斷(不是無縫的)。
提供快速、無縫的低比特率服務(wù)(其中,從一個(gè)流到另一個(gè)流的切換時(shí)間較短并且是確定的)需要I幀(對(duì)于不相似的流)或S幀(對(duì)于相似的流)的周期約為小于 Is (秒)。因此,對(duì)于從一個(gè)通道到另一通道的任何切換,中斷時(shí)期將小于Is (平均為0. 5s),直至接收到下一個(gè)I幀或S幀,并且隨后的P幀具有充分匹配的參考,其中,利用該參考對(duì)其解碼而沒有顯著的漂移誤差。
發(fā)明人已確認(rèn)的問題是,在較短的時(shí)間間隔內(nèi)以任意(低或高)比特率在兩個(gè)任意(相似的或不相似的)編碼視頻流之間隨機(jī)切換,而不會(huì)中斷幀速率或者引入顯著的長(zhǎng)期漂移誤差。因此,發(fā)明人希望克服或至少最小化該問題。
H. 264國(guó)際標(biāo)準(zhǔn)視頻編碼定義[1]使得用于在相似流之間切換的S幀的概念標(biāo)準(zhǔn)化。這是基于Karczewicz和Kurceren的提議[2,3],并且在學(xué)術(shù)公開W]中提出了其設(shè)計(jì)的說明。如在使用小波變換[5]以減少S幀的比特?cái)?shù)時(shí),提出了可替選的S幀設(shè)計(jì)。這些方法使用單個(gè)切換幀,因此,通常導(dǎo)致每個(gè)S幀的比特比目的流更多,且不能保證在低比特率環(huán)境中進(jìn)行無縫切換而沒有顯著的漂移誤差。所使用的另一種方法不是以S幀進(jìn)行切換,而是選擇當(dāng)前幀和目的幀之間的差別低于顯著漂移誤差的直接切換點(diǎn)[6]。該方法不能保證切換時(shí)間在指定界限內(nèi)。附帶信息也可用于估計(jì)從流切換以及切換到流兩者的參考幀之間的差別,而且還將要求比通道上可用的比特更多的比特[7]。然而,所有這些方法依賴于當(dāng)前流和目的流的統(tǒng)計(jì)相似性,因此,不適合于“通道跳躍”。

發(fā)明內(nèi)容
因此,本發(fā)明提供了一種從源編碼視頻流切換到目的編碼視頻流的方法,該方法包括 提供取決于目的流的中間切換流,該切換流包括連續(xù)的多個(gè)GOP序列,每個(gè)GOP序列包括初始I幀和連續(xù)的至少一個(gè)P幀; 從源視頻流切換到切換流的GOP序列的I幀;以及 從切換流切換到目的流,以使得能夠使用切換流的GOP序列的累積參考來對(duì)目的流的后續(xù)幀進(jìn)行解碼。
換言之,該方法可提供使用(切換流的)中間GOP序列從源流漸進(jìn)地或逐漸地切換到目的流。因此,切換流的特定GOP序列的初始I幀可提供從源流到切換流的入口點(diǎn)。相應(yīng)地,切換流的特定GOP序列的連續(xù)幀可朝向目的流的相應(yīng)幀而收斂。收斂意味著,切換流的特定GOP序列的連續(xù)幀和目的流的相應(yīng)幀可具有漸進(jìn)地減小的漂移誤差。
切換流可單獨(dú)地取決于目的流。替代地,切換流可取決于目的流和視頻輸入兩者。
切換流的每個(gè)GOP序列可具有短的周期或持續(xù)時(shí)間。短的周期意味著,從源流切換到切換流并且此后到目的流的切換可快速地并且優(yōu)選地?zé)o縫地進(jìn)行,而不會(huì)引入顯著的長(zhǎng)期漂移誤差假象。切換流的每個(gè)GOP序列的周期可較短,可選地,比目的流的每個(gè)GOP序列的周期(即,連續(xù)的I幀之間的周期)短一個(gè)或多個(gè)量級(jí)。每個(gè)GOP的周期可小于Is。
切換流的特定GOP序列的初始I幀可提供從源流到切換流的入口點(diǎn)。因此,當(dāng)接收到切換請(qǐng)求時(shí)(例如,通過用戶改變通道),該方法可包括延遲從源流到切換流的切換, 直至檢測(cè)到切換流的GOP序列的I幀,由此直接切換到GOP序列的I幀。因此,從源流到目的流的切換延遲可不長(zhǎng)于切換流的GOP序列的周期,并且在假設(shè)隨機(jī)的切換請(qǐng)求的情況下,該延遲平均為該周期的一半。因此,如果例如周期是ls,則切換延遲可以是Os和Is之間(取決于相對(duì)于特定的GOP序列何時(shí)接收到切換請(qǐng)求),并且平均為0. k。
切換流的幀速率可與目的流的幀速率匹配。切換流的每幀可具有與目的流的相應(yīng)幀或同步幀的比特率匹配的比特率。因此,在切換流和目的流之間幀速率和/或比特率可以沒有改變,從而確保當(dāng)接收切換流和目的流時(shí)從解碼器或客戶端(或其它接收器裝置) 的角度的無縫流。
可使用現(xiàn)有的算法或幀編碼技術(shù)、根據(jù)目的流的相應(yīng)幀計(jì)算或?qū)С銮袚Q流的每幀。
對(duì)切換流中的每幀的編碼可受制于比特分配策略,在比特分配策略中,使最大 (或平均)失真最小地受制于等于(或小于)目的流的相應(yīng)幀中的總比特?cái)?shù)的總比特約束。 該失真可被測(cè)量作為切換流的參考和目的流的參考之間的差別。該編碼策略可確保漂移誤差最小化。
該方法可包括將切換流的解碼幀與目的流的相應(yīng)解碼幀進(jìn)行比較,由此確定兩個(gè)幀之間的差別是否在預(yù)定義的漂移誤差閾值以下。在這樣的情況下,該方法可包括僅響應(yīng)于各個(gè)流的相應(yīng)幀之間的差別在漂移誤差閾值以下,從切換流切換到目的流。如果各個(gè)流的相應(yīng)幀之間的差別不在漂移誤差閾值以下,則該方法可包括對(duì)切換流的連續(xù)幀進(jìn)行流送。
切換流的每個(gè)GOP序列可包括固定數(shù)量的幀或可變數(shù)量的幀。如果數(shù)量是固定的,則該數(shù)量可以是用戶可定義的(例如,對(duì)于每個(gè)GOP序列為10幀)。如果數(shù)量是可變的,則可響應(yīng)于確定切換流和目的流的相應(yīng)幀之間的差別在漂移誤差閾值以下而觸發(fā)新的 GOP序列(并且因此觸發(fā)新的切換流I幀)。如果數(shù)量是固定的,則可根據(jù)幀速率確定GOP 序列的周期。例如,如果GOP序列固定為10幀并且?guī)俾蕿槊棵?5幀,則周期將為10/2 或者大致為0.如。
該方法可找到在具有低帶寬或者僅能夠支持低比特率的通信通道中的特定應(yīng)用, 但是該應(yīng)用不一定必然限于這樣的通信通道。
源流和目的流可以是獨(dú)立流(例如,具有完全不同的內(nèi)容)或可以是相關(guān)流(例如,具有相同的內(nèi)容但是具有不同的幀速率/比特率)。
本發(fā)明擴(kuò)展到存儲(chǔ)有指令集的機(jī)器可讀介質(zhì),其中,該指令集當(dāng)由機(jī)器執(zhí)行時(shí),使得該機(jī)器執(zhí)行如上定義的方法。
本發(fā)明擴(kuò)展到一種視頻編碼設(shè)備,其包括主編碼器,該主編碼器可操作用于接收輸入視頻流,并且基于該輸入視頻流,參考參考幀對(duì)目的視頻流進(jìn)行編碼,該視頻編碼設(shè)備還包括 取決于主編碼器的切換編碼器,該切換編碼器接收來自主編碼器的參考幀和主編碼器針對(duì)目的流的每幀而生成的比特?cái)?shù)作為輸入,由此生成包括連續(xù)的多個(gè)GOP序列的切換流的各相應(yīng)幀,每個(gè)GOP序列包括初始I幀和連續(xù)的至少一個(gè)P幀。
更具體地,切換編碼器可操作用于使用主編碼器的參考幀作為輸入,以對(duì)切換流的每幀進(jìn)行編碼,其中,目的流的特定編碼幀的比特?cái)?shù)用作針對(duì)切換流的相應(yīng)幀的比特率約束。
另外,切換編碼器可接收輸入視頻流(即,到主編碼器的輸入)作為輸入。切換編碼器可使用該輸入視頻流來生成每個(gè)GOP序列的I幀。
可替選地,如果切換編碼器沒有接收輸入視頻流作為輸入,則其可使用來自主編碼器的參考幀來生成I幀。
本發(fā)明還擴(kuò)展到包括多個(gè)如上定義的設(shè)備的視頻傳輸平臺(tái)。
該視頻傳輸平臺(tái)可包括 多個(gè)設(shè)備開關(guān),每個(gè)設(shè)備開關(guān)與特定的設(shè)備相關(guān)聯(lián)并且可操作用于在該設(shè)備的切換流和目的流之間進(jìn)行切換;以及 平臺(tái)開關(guān),其可操作用于選擇來自特定設(shè)備的流作為視頻傳輸平臺(tái)的輸出。
本發(fā)明還擴(kuò)展到用于流送視頻的系統(tǒng),該系統(tǒng)包括如上定義的視頻傳輸平臺(tái)以及至少一個(gè)解碼器。視頻傳輸平臺(tái)和解碼器可借助于電信網(wǎng)絡(luò)而互連。


現(xiàn)在,將參照附圖、通過示例進(jìn)一步描述本發(fā)明 在附圖中 圖1示出了根據(jù)本發(fā)明的視頻編碼設(shè)備的示意圖; 圖加示出了包括圖1的設(shè)備的系統(tǒng)的示意圖; 圖2b和圖2c示出了圖加的系統(tǒng)的各個(gè)部分; 圖3示出了根據(jù)本發(fā)明的方法的高層流程圖; 圖4示出了根據(jù)本發(fā)明的方法的低層流程圖; 圖5示出了根據(jù)本發(fā)明的多個(gè)視頻流的幀的示意圖;以及 圖6示出了計(jì)算機(jī)系統(tǒng)的示例形式的機(jī)器的圖示,其中,可在該機(jī)器內(nèi)執(zhí)行用于使機(jī)器執(zhí)行本文所討論的任何一個(gè)或多個(gè)方法的指令集。
具體實(shí)施例方式首先參照?qǐng)D1,附圖標(biāo)記100 —般表示根據(jù)本發(fā)明的視頻編碼設(shè)備。設(shè)備100包括主編碼器102,該主編碼器被配置成接收視頻輸入106,并且以常規(guī)方式將視頻輸入106編碼成目的編碼視頻流108。視頻輸入106可以具有主編碼器102被配置成識(shí)別的任何適當(dāng)?shù)母袷健?br> 以常規(guī)方式,主編碼器102包括處理器110,該處理器被配置成或編程成指導(dǎo)主編碼器102的操作。主編碼器102還包括存儲(chǔ)模塊112(其可以是任何方便的高速存儲(chǔ)介質(zhì)、 主存儲(chǔ)器等),該存儲(chǔ)模塊可操作用于至少暫時(shí)地將用于對(duì)目的流108中的相應(yīng)幀進(jìn)行編碼的參考幀存儲(chǔ)在其上。
目的流108包括多個(gè)GOP序列,該多個(gè)GOP序列通常以參考I幀開始,并且此后包括多個(gè)比特率較小的P幀。然而,在該示例中,設(shè)備100已被配置用于通過低帶寬通道或連接傳送視頻流。因此,目的流108的幀被配置成具有相對(duì)低的比特率,因而,I幀較少并且相距很遠(yuǎn),并且它們?cè)谀康牧?08中的特定布置不一定是確定的。
根據(jù)本發(fā)明,設(shè)備100還包括切換編碼器104,該切換編碼器類似地包括處理器 120和存儲(chǔ)模塊122。切換編碼器104可操作用于接收至少來自主編碼器102的參考幀114 和目的流108中的各幀的瞬時(shí)比特率的表示116作為輸入。然后,在處理器120的指導(dǎo)下, 切換編碼器104可操作用于生成切換流130,該切換流包括連續(xù)的多個(gè)具有相對(duì)短的周期的GOP序列。切換流130的GOP序列包括初始I巾貞,隨后是多個(gè)P幀。盡管特定GOP序列中的幀數(shù)量可以是可變的,但是在該示例中,該數(shù)量固定為10。
設(shè)備100被示為包括兩個(gè)編碼器102、104的單個(gè)裝置。然而,要意識(shí)到的是,設(shè)備 100可以包括多個(gè)聯(lián)網(wǎng)在一起的分立裝置。此外,盡管單獨(dú)地示出主編碼器102和切換編碼器104,但是如果需要,它們也可以被合并到共享公共處理器的單個(gè)模塊或單元中。此外,盡管未示出,但是設(shè)備100包括存儲(chǔ)有計(jì)算機(jī)程序形式的指令集的機(jī)器可讀介質(zhì)。因此,計(jì)算機(jī)程序指導(dǎo)處理器110、120的操作,這些處理器相應(yīng)地指導(dǎo)設(shè)備100的操作。
如上所述,切換編碼器的處理器120可操作用于針對(duì)切換流130生成兩種不同類型的幀,即I幀和P幀。P幀是使用參考幀114和目的流108中的相應(yīng)幀的比特率而生成的。因此,通過使用目的流108的幀的比特率作為比特率約束,切換流130的幀具有與目的流108的相應(yīng)幀的比特率匹配的比特率。
雖然可以以與上述P幀相同的方式來生成I幀,但是在該示例中,I幀是使用視頻輸入106本身(而不是主編碼器102的參考幀114)和目的流108的相應(yīng)幀的比特率作為輸入而生成的。因此,對(duì)于P幀,存儲(chǔ)在切換編碼器104的存儲(chǔ)模塊122上的參考幀IM將朝向主編碼器102的參考幀114而收斂,而對(duì)于I幀,將是從視頻輸入106導(dǎo)出的新參考幀, 以得到更好的性能。
因此,開關(guān)132被配置成每次切換循環(huán)將到切換編碼器104的輸入從參考幀114 切換為視頻輸入106并且再次切換回來,在該示例中,切換循環(huán)是每隔第10幀。
特定GOP序列內(nèi)的切換流130的參考幀朝向目的流108的參考幀而收斂。這意味著,解碼切換幀和相應(yīng)的解碼目的幀之間的漂移誤差從該GOP序列的初始I幀降低到最后的P幀。此外,切換編碼器104被配置成使得切換流130的GOP序列的最終P幀和目的流的相應(yīng)幀之間的漂移誤差會(huì)在預(yù)定義的漂移誤差閾值以下。潛在地,根據(jù)視頻輸入的內(nèi)容, 切換流130的GOP序列的一個(gè)或多個(gè)在前幀和目的流108的相應(yīng)幀之間的差別也可在漂移誤差閾值以下,因此,到目的流108的切換可發(fā)生在第10幀之前,而且至少在第10幀。
現(xiàn)在參照?qǐng)D2a,系統(tǒng)200包括視頻傳輸平臺(tái)210,該視頻傳輸平臺(tái)包括至少一個(gè)圖 1的視頻編碼器設(shè)備100,典型地,包括多個(gè)圖1的視頻編碼器設(shè)備100。在該示例中,視頻傳輸平臺(tái)210包括四個(gè)視頻編碼器設(shè)備100. 1,100. 2、100. 3、100. 4 (統(tǒng)稱為設(shè)備100)。視頻編碼器設(shè)備100. 1,100. 2具有各自獨(dú)立的視頻通道輸入流106,而視頻編碼器設(shè)備100. 3、 100. 4具有同一視頻通道輸入流106,以生成同一通道的不同比特率形式。
視頻傳輸平臺(tái)210經(jīng)由電信網(wǎng)絡(luò)202連接到裝有解碼器204的至少一個(gè)媒體播放器216。該示例中的電信網(wǎng)絡(luò)202包括因特網(wǎng),其有時(shí)可呈現(xiàn)低的吞吐率。媒體播放器216 借助于低帶寬通道206 (或具有間歇的低帶寬吞吐量的高帶寬通道)連接到電信網(wǎng)絡(luò)202, 因此,該媒體播放器不能夠接收連續(xù)的且可靠的高帶寬內(nèi)容。為此,視頻傳輸平臺(tái)被配置成傳送帶寬相對(duì)低的流。
視頻傳輸平臺(tái)210包括多個(gè)開關(guān)212、214。設(shè)備開關(guān)212與每個(gè)設(shè)備100相關(guān)聯(lián), 并且可操作用于在其相關(guān)聯(lián)的設(shè)備100的目的流130和切換流108之間進(jìn)行切換。單個(gè)平臺(tái)開關(guān)214可操作用于選擇來自特定設(shè)備100的流(目的流108或切換流130)作為視頻傳輸平臺(tái)210的輸出。換言之,平臺(tái)開關(guān)可選擇性地操作用于將特定設(shè)備100的輸出指定為視頻傳輸平臺(tái)210的主輸出。因此,應(yīng)理解,設(shè)備100提供多個(gè)目的流,其中,每個(gè)目的流可用于選擇為視頻傳輸平臺(tái)210的輸出。
視頻傳輸平臺(tái)210可操作用于從任何源接收切換請(qǐng)求,如遠(yuǎn)程地從媒體播放器216的用戶或者在本地從外部控制器。本地切換請(qǐng)求可由電信網(wǎng)絡(luò)202的測(cè)量而觸發(fā)以表示不同的可用帶寬(對(duì)于相關(guān)流),或者例如,可由迫使切換到廣告通道的標(biāo)簽(tag)而觸發(fā)(對(duì)于獨(dú)立流)。
媒體播放器216可操作用于接收來自用戶的切換請(qǐng)求,例如,以通道改變請(qǐng)求的形式。因此,以常規(guī)方式,用戶可借助于媒體播放器216觀看一個(gè)視頻流,并且可在任何時(shí)間發(fā)送切換請(qǐng)求(即,改變通道),由此觀看不同的視頻流或頻道。媒體播放器216根據(jù)本發(fā)明不一定需要重新配置或改變以進(jìn)行使用,而是實(shí)際上可完全不在意或獨(dú)立于設(shè)備100 和視頻傳輸平臺(tái)210的配置。
一旦媒體播放器216接收到用以觀看不同流(S卩,目的流108)的切換請(qǐng)求,則其就將該切換請(qǐng)求傳遞到視頻傳輸平臺(tái)210。
現(xiàn)在,在使用中,將首先參照?qǐng)D3、然后參照?qǐng)D4進(jìn)一步描述本發(fā)明。圖3示出了根據(jù)本發(fā)明的方法300的高層流程圖。從非常高層的角度,在框302,設(shè)備100連續(xù)地提供切換流130或使得切換流130可用。響應(yīng)于切換請(qǐng)求,在框304,設(shè)備100切換(或被切換) 到切換流130。最終,設(shè)備100切換(或被切換)到目的流108。
現(xiàn)在參照?qǐng)D4,方法310的低層流程圖更詳細(xì)地描述了本發(fā)明,并且還參照?qǐng)D2b和 2c并且參照?qǐng)D5,圖5示出了多個(gè)視頻流的幀的示意圖。參考設(shè)備100和系統(tǒng)200描述方法300、310,但是自然要意識(shí)到的是,方法300、310可應(yīng)用于不同的設(shè)備或系統(tǒng),并且設(shè)備 100和系統(tǒng)200可被配置成執(zhí)行不同的方法,如果上下文如此規(guī)定。
每個(gè)設(shè)備100連續(xù)地生成兩種流,即目的流108和切換流130。切換流130是基于目的流108而被連續(xù)生成的。如上所述,切換流130包括連續(xù)的多個(gè)GOP序列。為了產(chǎn)生序列,在框312,切換編碼器104確定是否開始新的GOP序列。如果是,則在框314,基于視頻輸入106和目的流108的相應(yīng)幀的比特率生成I幀。如果不是,則在框316,基于主編碼器102的參考幀114和比特率生成P幀。
作為示例,在框318,媒體播放器216忙于從設(shè)備100. 4接收正被用戶觀看的源流 134。(因此,源流134對(duì)應(yīng)于設(shè)備100. 4的目的流108。)參照?qǐng)D2a,其中平臺(tái)開關(guān)214連接到設(shè)備100. 4,并且設(shè)備100. 4的設(shè)備開關(guān)212連接到目的流108 (即,源流134)。源流 134可以是電視頻道或流式視頻。在某個(gè)任意點(diǎn),用戶希望觀看不同的流。因此,以常規(guī)方式,用戶在媒體播放器216提供的用戶接口上輸入切換請(qǐng)求,例如通過改變通道。媒體播放器216實(shí)際上不在意視頻傳輸平臺(tái)210內(nèi)的事件。
例如,切換請(qǐng)求表示要提供給媒體播放器216的目的流來自設(shè)備100. 1。因此,視頻傳輸平臺(tái)210必須從設(shè)備100. 4提供的流切換到設(shè)備100. 1提供的流。
一旦媒體播放器216在框320接收到切換請(qǐng)求,則將該切換請(qǐng)求傳遞到視頻傳輸平臺(tái)210,然后,在框322,該視頻傳輸平臺(tái)等待到設(shè)備100. 1的切換流130的適當(dāng)入口點(diǎn)。 必須在新的GOP序列的初始I幀進(jìn)入切換流130。在該示例中,假定任何GOP序列固定為10 幀,則該設(shè)備將決不等待長(zhǎng)于0. 4s (對(duì)于幀速率為每秒25幀的流),并且平均將等待0. 4s 的一半。因此,當(dāng)在框314生成下一I幀(圖5中以Is (bn)表示)時(shí),視頻傳輸平臺(tái)210在框304切換到設(shè)備100. 1的切換流130,并且開始在框3M將切換流130發(fā)送到媒體播放器 216,以由解碼器204進(jìn)行解碼。從解碼器204的觀點(diǎn)看,其已開始接收新的流并且與該流是切換流或目的流無關(guān)。
為了實(shí)現(xiàn)該切換,設(shè)備100. 1的設(shè)備開關(guān)212切換到切換流130,并且平臺(tái)開關(guān) 214切換到設(shè)備100. 1 (參照?qǐng)D2b)。
視頻傳輸平臺(tái)210可以被配置成對(duì)切換流130的整個(gè)GOP序列(全部10幀)進(jìn)行流送,并且最終切換到目的流108。然而,在該示例中,為了更快地切換到目的流108,視頻傳輸平臺(tái)210將切換流130的每個(gè)解碼幀與目的流108的相應(yīng)解碼幀進(jìn)行比較,以在框 3 確定漂移誤差是否在預(yù)定義的漂移誤差閾值以下。在圖5中,切換流130的幀被示出為收斂于目的流108的幀,其示出了相應(yīng)幀之間的漂移誤差逐步地減小的事實(shí)。一旦漂移誤差在漂移誤差閾值以下(在該示例中,在幀Ps(bn+7)之后),在框306,視頻傳輸平臺(tái)210就切換到目的流108,盡管切換流130的GOP序列尚未結(jié)束。為了對(duì)此進(jìn)行實(shí)現(xiàn),設(shè)備100. 1 的設(shè)備開關(guān)212簡(jiǎn)單地從切換流130切換到目的流108 (參照?qǐng)D2c)。
如果不存在源流134,則在GOP序列的I幀(Is (bn))以前什么也不發(fā)送。
作為概括,在接收到切換請(qǐng)求之后,播放源流134的幀(P。(an_2)和P。(Bn^1))的剩余部分,直至檢測(cè)到第一切換發(fā)生的I幀Is(bn)。然后,發(fā)送切換流130的幀Ps(bn+1)至 Ps(bn+7),直至漂移誤差在漂移誤差閾值以下,此時(shí)發(fā)送從目的流108向前的幀Pd(bn+8)。此外,應(yīng)注意,切換流130和目的流108中的相應(yīng)幀的比特率(以(bn)來表示)是相同的。因此,當(dāng)從切換流130切換到最終目的流108時(shí),解碼器204不經(jīng)歷比特率的改變。在圖5中借助于互連幀的、包括切換路徑的箭頭來示出“切換路徑”。
因此,正觀看解碼器204呈現(xiàn)的視頻流的觀看者僅經(jīng)歷較短的切換延遲(大約為幾十秒),其中,甚至在低比特率漂移誤差也較小或感知不到。
然后,無限地發(fā)送目的流108,直至存在另一切換請(qǐng)求,此時(shí)可至少部分地重復(fù)該方法。
圖6示出了計(jì)算機(jī)系統(tǒng)400的示例形式的機(jī)器的圖示,可在該機(jī)器內(nèi)執(zhí)行用于使機(jī)器執(zhí)行本文所討論的任何一個(gè)或多個(gè)方法的指令集。在可替選的實(shí)施例中,機(jī)器作為單獨(dú)的裝置工作或者可連接(例如,聯(lián)網(wǎng))到其它機(jī)器。在聯(lián)網(wǎng)配置中,機(jī)器可在服務(wù)器-客戶端網(wǎng)絡(luò)環(huán)境中以服務(wù)器或客戶端機(jī)器的能力工作,或者在對(duì)等(或分布式)網(wǎng)絡(luò)環(huán)境中作為對(duì)等機(jī)器工作。機(jī)器可以是個(gè)人計(jì)算機(jī)(PC)、平板PC、機(jī)頂盒(STB)、個(gè)人數(shù)字助理 (PDA)、蜂窩電話、網(wǎng)絡(luò)設(shè)施、網(wǎng)絡(luò)路由器、開關(guān)或橋接器、或者能夠執(zhí)行指定該機(jī)器要采取的動(dòng)作的指令集(順序或其它)的任何機(jī)器。此外,雖然示出了單個(gè)機(jī)器,但是術(shù)語“機(jī)器” 也被認(rèn)為包括機(jī)器的任何集合,其單獨(dú)地或共同地執(zhí)行指令集(或多個(gè)指令集),以執(zhí)行本文所討論的任何一個(gè)或多個(gè)方法。
示例計(jì)算機(jī)系統(tǒng)400包括處理器402 (例如,中央處理單元(CPU)、圖形處理單元 (GPU)或兩者)、主存儲(chǔ)器404和靜態(tài)存儲(chǔ)器406,其經(jīng)由總線408彼此通信。計(jì)算機(jī)系統(tǒng) 400還可包括視頻顯示單元410(例如,液晶顯示器(LCD)、等離子體顯示器、或者陰極射線管(CRT))。計(jì)算機(jī)系統(tǒng)400還包括字母數(shù)字輸入裝置412(例如,鍵盤)、用戶接口(UI)導(dǎo)航裝置414(例如,鼠標(biāo))、磁盤驅(qū)動(dòng)單元416、信號(hào)發(fā)生裝置418(例如,揚(yáng)聲器)以及網(wǎng)絡(luò)接口裝置420。
磁盤驅(qū)動(dòng)單元416包括存儲(chǔ)有一個(gè)或多個(gè)指令集和數(shù)據(jù)結(jié)構(gòu)(例如,軟件424)的機(jī)器可讀介質(zhì)422,該一個(gè)或多個(gè)指令集和數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)本文所描述的任何一個(gè)或多個(gè)方法或功能或者被其利用。軟件4M也可在計(jì)算機(jī)系統(tǒng)400執(zhí)行該軟件期間完全地或至少部分地存在于主存儲(chǔ)器404內(nèi)和/或處理器402內(nèi),其中,主存儲(chǔ)器404和處理器402也構(gòu)成了機(jī)器可讀介質(zhì)。
還可利用多種公知的傳輸協(xié)議(例如,HTTP、RTP、RTSP, FTP)中的任何一種、經(jīng)由網(wǎng)絡(luò)接口裝置420通過網(wǎng)絡(luò)似6來發(fā)送或接收軟件424。
盡管在示例實(shí)施例中機(jī)器可讀介質(zhì)422被示出為單個(gè)介質(zhì),但是術(shù)語“機(jī)器可讀介質(zhì)”應(yīng)被認(rèn)為是包括存儲(chǔ)一個(gè)或多個(gè)指令集的單個(gè)介質(zhì)或多個(gè)介質(zhì)(例如,集中式或分布式數(shù)據(jù)庫(kù)、和/或相關(guān)聯(lián)的高速緩存器和服務(wù)器)。術(shù)語“機(jī)器可讀介質(zhì)”還應(yīng)被認(rèn)為是包括如下任何介質(zhì)其能夠存儲(chǔ)、編碼或承載用于由機(jī)器執(zhí)行并且使機(jī)器執(zhí)行本實(shí)施例的任何一個(gè)或多個(gè)方法的指令集,或者其能夠存儲(chǔ)、編碼或承載由這樣的指令集利用或與這樣的指令集相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)。因此,術(shù)語“機(jī)器可讀介質(zhì)”應(yīng)被認(rèn)為是包括但不限于固態(tài)存儲(chǔ)器、光介質(zhì)和磁介質(zhì)、以及載波信號(hào)。
設(shè)備100可以是計(jì)算機(jī)系統(tǒng)400的形式或者可至少包括計(jì)算機(jī)系統(tǒng)400的一些部件。
發(fā)明人相信所例示的本發(fā)明提供了一種以較小的延遲以及較小或者感知不到的漂移誤差從一個(gè)視頻流切換到另一視頻流的方法,該方法可以應(yīng)用于具有較寬范圍的帶寬能力的通道,包括低帶寬通道。
參考文獻(xiàn) [1] "Advanced Video Coding for Generic Audiovisual Services"ITU-T Recommendation H. 264 & IS0/IEC 14 496-10 AVC,2005. [2]M. Karczewicz and R. Kurceren,"A Proposal for SP-Frames,"ITU-T Video Coding Experts Group Meeting,Eibsee,德國(guó),2001 年 1 月 9 日至 2001 年 1 月 12 日,Doc. VCEG-L-27. [3]US 6,765, 963, "Video decoder architecture and method for using same, ”美國(guó)專利,2004年7月· [4]Μ. Karczewicz and R. Kurceren,"The SP-and Si-Frames Design for H. 264/ AVC,,,IEEE Transactions on Circuits and Systems for Video Technology, Vol 13, No. 7,2003 年 7 月,637-644 頁. [5] W. Zhang and B. Zeng, "Se am less Bit-Stream Switching in Multirate-Based Video Streaming Systems,,,EURASIP Journal on Applied Signal Processing, Vol 2006,文章 ID 49084,1-11 頁. [6]B. Xie and W. Zeng,"Fast Bitstream Switching Algorithms for Real-Time Adaptive Video Multicasting,,,IEEE Transactions on Multimedia, Vol 9, No. 1,2007 年 1 月,169-175 頁. [7]Μ. Guo, Y. Lu, F. ffu, D. Zhao and W. Gao, "Wyner-Ziν Switching Scheme for Multiple Bit-Rate Video Streaming,,,IEEE Transactions on Circuits and Systems for Video Technology, Vol 18,No. 5,2008 年 5 月,569-581 頁·
權(quán)利要求
1.一種從源編碼視頻流切換到目的編碼視頻流的方法,所述方法包括提供取決于所述目的流的中間切換流,所述切換流包括連續(xù)的多個(gè)畫面組序列,每個(gè)畫面組序列包括初始I幀和連續(xù)的至少一個(gè)P幀;從所述源視頻流切換到所述切換流的畫面組序列的I幀;以及從所述切換流切換到所述目的流,以使得能夠使用所述切換流的所述畫面組序列的累積參考對(duì)所述目的流的后續(xù)幀進(jìn)行解碼。
2.根據(jù)權(quán)利要求1所述的方法,其中,所述切換流的特定畫面組序列的連續(xù)幀和所述目的流的相應(yīng)幀具有漸進(jìn)地減小的漂移誤差。
3.根據(jù)權(quán)利要求1所述的方法,其中,所述切換流的每個(gè)畫面組序列具有短的周期或持續(xù)時(shí)間。
4.根據(jù)權(quán)利要求3所述的方法,其中,所述切換流的每個(gè)畫面組序列的周期比所述目的流的每個(gè)畫面組序列的周期,即連續(xù)的I幀之間的周期,短至少一個(gè)量級(jí)。
5.根據(jù)前述權(quán)利要求中任一項(xiàng)所述的方法,其中,所述切換流的特定畫面組序列的初始I幀提供從所述源流到所述切換流的入口點(diǎn)。
6.根據(jù)權(quán)利要求5所述的方法,所述方法包括延遲從所述源流到所述切換流的切換, 直至檢測(cè)到所述切換流的畫面組序列的I幀,由此直接切換到所述畫面組序列的I幀。
7.根據(jù)前述權(quán)利要求中任一項(xiàng)所述的方法,其中,所述切換流的幀速率與所述目的流的幀速率匹配。
8.根據(jù)前述權(quán)利要求中任一項(xiàng)所述的方法,其中,所述切換流的每幀具有與所述目的流中的相應(yīng)幀的比特率匹配的比特率。
9.根據(jù)前述權(quán)利要求中任一項(xiàng)所述的方法,所述方法包括將所述切換流的解碼幀與所述目的流的相應(yīng)解碼幀進(jìn)行比較,由此確定兩個(gè)幀之間的差別是否在預(yù)定義的漂移誤差閾值以下。
10.根據(jù)權(quán)利要求9所述的方法,所述方法包括僅響應(yīng)于各個(gè)流的相應(yīng)幀之間的差別在所述漂移誤差閾值以下,從所述切換流切換到所述目的流。
11.根據(jù)前述權(quán)利要求中任一項(xiàng)所述的方法,其中,所述切換流的每個(gè)畫面組序列包括固定數(shù)量的幀。
12.根據(jù)權(quán)利要求1至10中任一項(xiàng)所述的方法,其中,所述切換流的每個(gè)畫面組序列包括可變數(shù)量的幀。
13.根據(jù)權(quán)利要求12所述的方法,其中,響應(yīng)于確定所述切換流和所述目的流的相應(yīng)幀之間的差別在漂移誤差閾值以下,觸發(fā)新的畫面組序列以及因此觸發(fā)新的I幀。
14.一種存儲(chǔ)有指令集的機(jī)器可讀介質(zhì),其中,所述指令集當(dāng)由機(jī)器執(zhí)行時(shí),使得所述機(jī)器執(zhí)行根據(jù)權(quán)利要求1至13中任一項(xiàng)所述的方法。
15.一種視頻編碼設(shè)備,其包括主編碼器,所述主編碼器可操作用于接收輸入視頻流, 并且基于所述輸入視頻流,參考參考幀對(duì)目的視頻流進(jìn)行編碼,所述視頻編碼設(shè)備還包括取決于所述主編碼器的切換編碼器,所述切換編碼器接收來自所述主編碼器的所述參考幀和所述主編碼器針對(duì)目的流的每幀而生成的比特?cái)?shù)兩者作為輸入,由此生成包括連續(xù)的多個(gè)畫面組序列的切換流的每個(gè)相應(yīng)幀,其中,每個(gè)畫面組序列包括初始I幀和連續(xù)的至少一個(gè)P幀。
16.根據(jù)權(quán)利要求15所述的設(shè)備,其中,所述切換編碼器可操作用于使用所述主編碼器的所述參考幀作為輸入,以對(duì)所述切換流的每幀進(jìn)行編碼,其中,所述目的流的特定編碼幀的比特?cái)?shù)用作針對(duì)所述切換流的相應(yīng)幀的比特率約束。
17.根據(jù)權(quán)利要求15或權(quán)利要求16所述的設(shè)備,其中,所述切換編碼器另外接收所述輸入視頻流,即到所述主編碼器的輸入,作為輸入,并且使用所述輸入視頻流來生成每個(gè)畫面組序列的I幀。
18.—種包括多個(gè)根據(jù)權(quán)利要求15至17中任一項(xiàng)所述的設(shè)備的視頻傳輸平臺(tái)。
19.根據(jù)權(quán)利要求18所述的視頻傳輸平臺(tái),所述視頻傳輸平臺(tái)包括多個(gè)設(shè)備開關(guān),每個(gè)設(shè)備開關(guān)與特定設(shè)備相關(guān)聯(lián)并且可操作用于在該設(shè)備的切換流和目的流之間進(jìn)行切換;以及平臺(tái)開關(guān),其可操作用于選擇來自特定設(shè)備的流作為所述視頻傳輸平臺(tái)的輸出。
20.一種用于流送視頻的系統(tǒng),所述系統(tǒng)包括根據(jù)權(quán)利要求18或權(quán)利要求19所述的視頻傳輸平臺(tái);以及至少一個(gè)解碼器。
全文摘要
本發(fā)明涉及一種從源編碼視頻流(134)切換到目的編碼視頻流(108)的方法(300、310),并且涉及一種用于該方法的設(shè)備(100)、視頻平臺(tái)(210)以及系統(tǒng)(200)。方法(300、310)包括提供取決于目的流(108)的中間切換流(130),切換流(130)包括連續(xù)的多個(gè)GOP序列,每個(gè)GOP序列包括初始I幀和連續(xù)的至少一個(gè)P幀。方法(300、310)還包括從源視頻流(134)切換到切換流(130)的GOP序列的I幀并接著從切換流(130)切換到目的流(108),以使得能夠使用切換流(130)的GOP序列的累積參考對(duì)目的流(108)的后續(xù)幀進(jìn)行解碼。
文檔編號(hào)H04N7/173GK102187667SQ200880131629
公開日2011年9月14日 申請(qǐng)日期2008年8月26日 優(yōu)先權(quán)日2008年8月26日
發(fā)明者基思·拉蒙·費(fèi)爾古森 申請(qǐng)人:Csir公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
扬州市| 抚松县| 蓝田县| 漾濞| 贡觉县| 政和县| 滕州市| 商南县| 湾仔区| 吉安县| 永丰县| 丹棱县| 沈阳市| 清水河县| 容城县| 太保市| 延寿县| 泾源县| 竹山县| 当雄县| 深水埗区| 五莲县| 乌鲁木齐县| 门源| 库尔勒市| 新安县| 砀山县| 英山县| 玉门市| 甘孜| 洞口县| 阳朔县| 宜兰市| 河曲县| 鹤壁市| 眉山市| 台东县| 方山县| 巴彦淖尔市| 济阳县| 盐城市|