本發(fā)明涉及視頻拼接。本發(fā)明尤其涉及表示視頻拼接的視頻流的生成。
視頻拼接可由視頻流采用已知的方式進(jìn)行,該視頻流在解碼時(shí)會(huì)導(dǎo)致顯示多個(gè)視頻,每個(gè)視頻各自占據(jù)一個(gè)可視圖像區(qū)。
為了生成該視頻流,已知的方法有,例如,檢索與需要組合拼接的信道集相關(guān)的視聽信號(hào),對(duì)其進(jìn)行子采樣,并將它們組成單個(gè)信道。然后,以相類似的方法將該視頻編碼于常規(guī)的信道。
另一種方法是通過不同視頻解碼實(shí)例進(jìn)行分別解碼的視頻流來生成拼接,從而將解碼信道組成瀏覽器網(wǎng)頁上的拼接。
這些方法都存在著一些缺陷。
在第一種情況下,確定和分配拼接子信道是靜態(tài)的且是用戶無法選擇的。此外,通過該種方式所形成的拼接也必須憑借自身占有的信道來廣播,這就會(huì)減少其它視頻流的帶寬。
在第二種情況下,該拼接需要每個(gè)顯示信道的視頻解碼實(shí)例。因此,就需要大量資源來處理該拼接,使得這類拼接類型不適合計(jì)算能力較低的設(shè)備。
本發(fā)明旨在改善這種情況。
為此,本發(fā)明涉及通過至少兩個(gè)第二視頻流集來生成表示視頻的拼接(mv),即稱之為視頻拼接,的第一視頻流(fv1)的方法,第二視頻流各自都包含與頭部數(shù)據(jù)(et2i)和表示圖像的編碼視頻數(shù)據(jù)(dv2i)相關(guān)的視頻。
特別是,在該方法中:
-在第一視頻流生成過程中,保存表示在第二視頻流集中的各個(gè)視頻圖像的編碼視頻數(shù)據(jù);
-生成與所述視頻拼接相關(guān)的頭部,所述頭部是表示在第二視頻流集中的各個(gè)視頻圖像的編碼視頻數(shù)據(jù)的組合表示,包括:
-第一頭部數(shù)據(jù),繼承來自第二視頻流集中的各個(gè)視頻的頭部數(shù)據(jù);
-第二頭部數(shù)據(jù),獨(dú)立生成與第二視頻流集中的各個(gè)視頻的頭部數(shù)據(jù)無關(guān)的數(shù)據(jù);
本發(fā)明方法允許以靈活方式,尤其是通過用戶的信道選擇,來生成拼接。此外,不需要以其自身信道進(jìn)行視頻流的傳送。最后,它提供了為了顯示拼接只需要少量解碼計(jì)算能力的視頻流。
根據(jù)本發(fā)明的另一個(gè)方面,所生成的視頻拼接所具有的分辨率高于第二視頻流集中的各個(gè)視頻的分辨率。
根據(jù)本發(fā)明的另一方面,視頻拼接由拼貼結(jié)構(gòu)生成,其中,與表示視頻拼接的各個(gè)拼貼相關(guān)圖像的編碼視頻數(shù)據(jù)分別相互對(duì)應(yīng)于表示與第二視頻流集中的各個(gè)視頻相關(guān)圖像的編碼視頻數(shù)據(jù)。
這就具有了簡(jiǎn)化在符合mpeg-hhevc/h.265標(biāo)準(zhǔn)的第二視頻流范圍內(nèi)生成第一視頻流的效果。
根據(jù)本發(fā)明的另一個(gè)方面,視頻拼接由片段或片段組的結(jié)構(gòu)來構(gòu)建,其中,與表示視頻拼接的片段或片段組相關(guān)圖像的編碼視頻數(shù)據(jù)分別相互對(duì)應(yīng)于與表示第二視頻流集中的各個(gè)視頻相關(guān)圖像的編碼視頻數(shù)據(jù)。
因此,這就具有了簡(jiǎn)化在符合mpeg-4avc/h.264標(biāo)準(zhǔn)的第二視頻流范圍內(nèi)生成第一視頻流的效果。
根據(jù)本發(fā)明的另一方面,對(duì)于第二視頻流中的至少一個(gè)視頻流,所述第二視頻流通過表示視頻拼接的第三視頻流來獲得,所述第二視頻流是表示所述第三視頻流的視頻拼接中的一個(gè)視頻。
因此,該方法允許通過來自視頻拼接的視頻來實(shí)現(xiàn)視頻拼接的生成。由此,增加了用于形成第一視頻流信道的可能配置。
根據(jù)本發(fā)明的另一方面,至少一個(gè)第二視頻流可由第三視頻流來獲得,所述第二視頻流的編碼視頻數(shù)據(jù)在其它視頻的視頻數(shù)據(jù)預(yù)測(cè)方面獨(dú)立于提供表示視頻拼接的第三視頻流。
這有利于由第三個(gè)視頻來構(gòu)建第二視頻流。
根據(jù)本發(fā)明的另一方面,第二視頻流通過與一個(gè)或多個(gè)第二視頻流相對(duì)應(yīng)的至少一個(gè)電視信道的用戶選擇來獲得。
這就使得拼接可視的視頻內(nèi)容的配置靈活性較高。
根據(jù)本發(fā)明的另一方面,對(duì)于視頻流集中的各個(gè)視頻流,構(gòu)建表示所述視頻流是否適合用作第二視頻流的通知信息,該通知信息與所述視頻流相關(guān),收到所述視頻流集中的視頻流的通知信息,并且從所述視頻流集中選擇第二視頻流。
這就具有便于用于組合第一視頻流的第二視頻流選擇的效果。
本發(fā)明還涉及一種包括在處理器執(zhí)行程序時(shí)執(zhí)行上述方法的指令的電腦程序。
本發(fā)明進(jìn)一步涉及一種用于計(jì)算機(jī)可執(zhí)行程序的非暫時(shí)性存儲(chǔ)介質(zhì),其中所述計(jì)算機(jī)可執(zhí)行程序包括一個(gè)代表一個(gè)或多個(gè)程序的數(shù)據(jù)集,所述一個(gè)或多個(gè)程序包括指令,當(dāng)含有處理單元且通過操作方式耦合存儲(chǔ)裝置和視頻流接收器模塊的電腦執(zhí)行所述一個(gè)或多個(gè)程序時(shí),指令使得電腦根據(jù)上述定義的方法來生成表示視頻拼接的視頻流。
此外,本發(fā)明還涉及一種包括適用于通過第二視頻流集來生成表示視頻拼接的第一視頻流的裝置的終端,其中,第一視頻流稱之為視頻拼接,由第二視頻流集生成,,第二視頻流各自包含與表示圖像的頭部數(shù)據(jù)和編碼視頻數(shù)據(jù)相關(guān)的視頻,其中:生成裝置配置如下:
-在第一視頻流生成過程中,保存表示在第二視頻流集中的各個(gè)視頻圖像的編碼視頻數(shù)據(jù);
-生成與所述視頻拼接相關(guān)的頭部,所述頭部是表示在第二視頻流集中的各個(gè)視頻圖像的編碼視頻數(shù)據(jù)的組合表示,包括:
-第一頭部數(shù)據(jù),繼承來自第二視頻流集中的各個(gè)視頻的頭部數(shù)據(jù);
-第二頭部數(shù)據(jù),獨(dú)立生成與第二視頻流集中的各個(gè)視頻的頭部數(shù)據(jù)無關(guān)的數(shù)據(jù)。
本發(fā)明將通過閱讀以下僅以示例方式給出的詳細(xì)說明及參考附圖得到更好的理解,附圖中:
-圖1是根據(jù)本發(fā)明的存儲(chǔ)介質(zhì)和終端的示意圖;
-圖2a和2b是在本發(fā)明范圍內(nèi)生成的視頻流數(shù)據(jù)和用于生成視頻流的視頻流數(shù)據(jù)的示意圖;
-圖3是根據(jù)本發(fā)明的示例方法的示意圖,能夠表示本發(fā)明電腦程序的通用算法;
-圖4闡釋了將視頻流圖像分割成片段組;
-圖5是在圖3所示方法的變體中使用的視頻流集的示意圖;以及,
-圖6是在圖3所示方法變體中根據(jù)本發(fā)明所生成的視頻流的示意圖。
圖1示出了根據(jù)本發(fā)明的終端term。
終端term適用于生成表示視頻拼接mv的第一視頻流fv1,以下簡(jiǎn)稱之為視頻拼接mv。采用已知的方式,在顯示時(shí),該視頻拼接以分割成多個(gè)分區(qū)的視頻形式,在各個(gè)分區(qū)中,所指定的視頻是可見的。例如,將該視頻分割成兩個(gè)或兩個(gè)以上的分區(qū)。
視頻拼接的各個(gè)視頻分量可能是相同的,也可能是不同的,換句話說,可表示相同的或不同的場(chǎng)景,所拼接的各個(gè)分量視頻的各個(gè)圖像可以是各自相同的或不同的。例如:各對(duì)視頻是不同的,即表示其中一個(gè)拼接分區(qū)的圖像不同于另一個(gè)拼接分區(qū)的伴隨圖像。
更具體地說,第一視頻流fv1是由標(biāo)記為fv21,...,fv2i,…,fv2n且通常由標(biāo)記fv2所指定的第二視頻流來生成。每個(gè)視頻流fv2均表示一個(gè)視頻(在圖1中標(biāo)記為視頻1,視頻i,視頻n)。
第一視頻流fv1和第二視頻流fv2各自對(duì)應(yīng)于表示形成對(duì)應(yīng)視頻的圖像的數(shù)據(jù)集。視頻流的圖像可以組成圖像序列,例如即表示組成對(duì)應(yīng)視頻的圖像組。
這些視頻流符合一系列標(biāo)準(zhǔn),例如,dvb標(biāo)準(zhǔn)(“數(shù)字視頻廣播”)、mpeg標(biāo)準(zhǔn)(“運(yùn)動(dòng)圖像專家組”)等。
在本發(fā)明的情況下,術(shù)語“視頻流”并不表示僅僅考慮在兩裝置(例如連接視頻流接收器終端和服務(wù)器的網(wǎng)絡(luò))之間傳播的狀態(tài)下的視頻流的數(shù)字?jǐn)?shù)據(jù)。在本發(fā)明的情況下,術(shù)語“視頻流”可理解為是指表示視頻的數(shù)據(jù)集,而與數(shù)據(jù)是否在兩裝置之間傳播無關(guān)。換句話說,“視頻流”的概念還包括位于諸如電腦服務(wù)器的存儲(chǔ)器或存儲(chǔ)空間之類的數(shù)字存儲(chǔ)設(shè)備中的數(shù)字?jǐn)?shù)據(jù)。
參考圖2a和2b,第一和第二視頻流fv1、fv2包括適合第一視頻流fv1的標(biāo)記為et1的頭部數(shù)據(jù)和適合第二視頻流fv2i的標(biāo)記為et2i的頭部數(shù)據(jù),以及適合第一視頻流fv1標(biāo)記為dv1的編碼視頻數(shù)據(jù)和適合第二視頻流fv2i的標(biāo)記為dv2i的編碼視頻數(shù)據(jù)。
頭部數(shù)據(jù)表示對(duì)應(yīng)的視頻的配置。尤其是,頭部數(shù)據(jù)表示所涉及視頻流的編碼視頻數(shù)據(jù)的編碼配置。
頭部數(shù)據(jù)包括一個(gè)或多個(gè)參數(shù)集以及包括與各個(gè)參數(shù)相關(guān)的數(shù)值。
具體而言,第一和第二視頻流fv1、fv2的頭部數(shù)據(jù)包括序列參數(shù)(“序列參數(shù)集”,首字母縮寫為sps)。這些序列參數(shù)包括分辨率參數(shù)和分別指示潛在激活的授權(quán)編碼工具集和視頻流解碼復(fù)雜程度的文件參數(shù)和級(jí)別參數(shù)。例如,序列參數(shù)集與各個(gè)圖像序列相關(guān)。
第一和第二視頻流fv1、fv2的頭部數(shù)據(jù)還包括圖像參數(shù)(“圖片參數(shù)集”,首字母縮寫pps)。這些圖像參數(shù)包括將對(duì)應(yīng)圖像的結(jié)構(gòu)激活為分區(qū)的參數(shù),例如:mpeg-4avc/h.264標(biāo)準(zhǔn)中的片段組或mpeg-hhevc/h.265標(biāo)準(zhǔn)中的拼貼。下文將描述構(gòu)造這些拼貼和片段組。
第一和第二視頻流fv1、fv2的頭部數(shù)據(jù)進(jìn)一步包括片段分段參數(shù)(“片段分段頭部”),片段也對(duì)應(yīng)于用于構(gòu)造各個(gè)圖像編碼視頻數(shù)據(jù)的對(duì)象。下文將描述構(gòu)造這些片段。
在圖2a所示的示例中,說明了第二視頻流fv2的數(shù)據(jù),其中視頻數(shù)據(jù)采用mpeg-hhevc/h.265格式進(jìn)行編碼,第二視頻流fv2的分辨率參數(shù)包括參數(shù)"pic_width_in_luma_samples"和"pic_height_in_luma_samples",文件/級(jí)別參數(shù)包括參數(shù)"general_profile_space"、"general_tier_flag"和"general__profile_idc"。此外,pps參數(shù)包括將對(duì)應(yīng)圖象的結(jié)構(gòu)激活為拼貼的參數(shù)"tile_enabled_flag"。片段分段參數(shù)包括指示對(duì)應(yīng)片段分段是否是第一個(gè)圖像的參數(shù)"first_slice_segment_in_pic_flag"??蛇x擇的是,片段分段參數(shù)包括參數(shù)"num_entry_point_offsets"。
在圖2b所示的示例中,說明了第二視頻流fv2的數(shù)據(jù),其中視頻數(shù)據(jù)dv2i采用mpeg-4avc/h.264格式進(jìn)行編碼,第二視頻流fv2的分辨率參數(shù)包括參數(shù)"pic_width_in_mbs_minus1"和"pic_height_in_map_units_minus1",文件/級(jí)別參數(shù)包括參數(shù)"profile_idc"和"level_idc"。sps參數(shù)還包括參數(shù)"frame_mbs_only_flag",它指示視頻流僅包含以逐行模式編碼的宏塊(macroblock)而不包含以隔行模式編碼的宏塊。該參數(shù)等于1表示用于組合片段組的單元是宏塊,這有助于片段組定位域的計(jì)算("top_left"和"bottom_right")。如編碼內(nèi)容可能使用隔行編碼工具,則形成片段組的單元是宏塊對(duì)。此外,可由參數(shù)"num_profile_groups_minus1"數(shù)值來指示將對(duì)應(yīng)圖像的結(jié)構(gòu)激活為片段組的參數(shù)。片段參數(shù)包括參數(shù)"first_mb_in_profile",用于提供相關(guān)片段的第一個(gè)宏塊的數(shù)值。
下文將詳細(xì)描述第一視頻流fv1的頭部數(shù)據(jù)et1。
編碼視頻數(shù)據(jù)表示對(duì)應(yīng)視頻的圖像。這些數(shù)據(jù)可根據(jù)特定的標(biāo)準(zhǔn)進(jìn)行編碼,例如:mpeg-4avc/h.264標(biāo)準(zhǔn)、mpeg-hhevc/h.265標(biāo)準(zhǔn)、mpeg-2標(biāo)準(zhǔn),等等。
對(duì)應(yīng)視頻的每個(gè)圖像均采用編碼單元的形式編碼成編碼視頻數(shù)據(jù),每個(gè)單元都覆蓋一個(gè)對(duì)應(yīng)圖像區(qū)。例如,這些編碼單元可以是在mpeg-4avc/h.264標(biāo)準(zhǔn)中稱為“宏塊”或在mpeg-hhevc/h.265標(biāo)準(zhǔn)中稱為“編碼樹單元”(ctu)。
將圖像劃分為編碼單元必須具有符合相關(guān)標(biāo)準(zhǔn)的可能結(jié)構(gòu)集中的特定結(jié)構(gòu)。換句話說,圖像編碼單元本身也可分組為較大的結(jié)構(gòu),這些結(jié)構(gòu)的使用可以改進(jìn)圖像的編碼和/或解碼的配置,從而改善性能或優(yōu)化視頻流的傳輸機(jī)制或提供保護(hù)以避免具體錯(cuò)誤。
例如,mpeg-hhevc/h.265格式明確說明將編碼單元分組為數(shù)據(jù)片段,即“片段”。各個(gè)片段對(duì)應(yīng)于圖像的分區(qū)并能夠具有與相同圖像的其它片段不同的性能,例如,與視頻其它圖像相比的在預(yù)測(cè)上的時(shí)間相依性。這些片段本身可以構(gòu)建為“片段分段(slicesegments)”。片段由第一個(gè)獨(dú)立片段分段以及之后的非獨(dú)立片段分段集組成。片段頭部存在于各個(gè)片段之中(由獨(dú)立的片段分段的頭部提供),用作片段的所有分段的索引(reference)。也存在片段分段的頭部,其相對(duì)于片段頭部就非常小。各個(gè)片段分段都封裝在單獨(dú)傳輸單元之中(稱之為“nal單元”,即“網(wǎng)絡(luò)抽象層單元”),它允許傳輸單元大小適用于所選定的傳輸機(jī)制。
這種粒度允許控制傳送單元的大小,從而可以減少頭部的成本,因?yàn)槠晤^部信息僅提供一次。
mpeg-hhevc/h.265格式還指定了可將編碼單元分組為"拼貼",各自形成圖像的矩形分區(qū)。在編碼方面,圖像拼貼形成空間上和/或時(shí)間上彼此相互獨(dú)立的矩形分區(qū)。
片段包含以圖像掃描順序連續(xù)排列的整數(shù)個(gè)編碼單元ctu,不允許靈活定義圖像中的矩形分區(qū),除非片段邊緣與圖像邊緣相匹配(所定義矩形必然是圖像寬度)的情況。
此外,如上所述,mpeg-4avc/h.264格式指定了將圖像劃分為"片段組″。
片段組對(duì)應(yīng)將圖像分區(qū)成不同組,各組都包含一個(gè)或多個(gè)片段。定義了不同的分區(qū)類型,從而可以采用棋盤格式等進(jìn)行圖像分區(qū)或在圖像中定義數(shù)個(gè)矩形分區(qū)。
在本發(fā)明的情況下,用于生成第一視頻流fv1的第二視頻流fv2優(yōu)選具有共同的屬性。
尤其是,第二視頻流fv2優(yōu)選基于相同的標(biāo)準(zhǔn)(mpeg-4avc/h.264,mpeg-hhevc/h.265等)。
此外,優(yōu)選的是,第二視頻流fv2適合將其圖像的組合形成矩形。
此外,優(yōu)選的是,各個(gè)第二視頻流fv2的編碼配置為相互兼容。有利的是,這些編碼的配置是相同的。這些編碼配置包括激活編碼工具和所采用的編碼選項(xiàng)。編碼配置尤其包括用于對(duì)第二視頻流fv2視頻數(shù)據(jù)進(jìn)行編碼的參考圖像數(shù)量。在mpeg-hhevc/h.265標(biāo)準(zhǔn)中,這些編碼配置包括例如與sps和pps參數(shù)"amp_enabled_flag"和"sample_adaptive_offset_enabled_flag"相關(guān)的已知功能的使用或不使用。在mpeg-4avc/h.264標(biāo)準(zhǔn)中,這些編碼配置包括例如與參數(shù)"frame_mbs_only_flag"和"direct_8x8_inference_flag"相關(guān)的功能。
同樣,優(yōu)選的是,第二視頻流fv2圖像的排序和時(shí)序(scheduling)為相互兼容。這對(duì)應(yīng)于編碼圖像的順序以及用于各個(gè)圖像或組成這些圖像的各個(gè)片段所用的預(yù)測(cè)類型。眾所周知,在預(yù)測(cè)類型中,有適用于幀內(nèi)(intra)的預(yù)測(cè)類型i,其不參考另一圖像進(jìn)行編碼圖像(或片段);預(yù)測(cè)類型p,參考之前已編碼的圖像進(jìn)行編碼圖像(或片段);和類型b,參考之前已編碼的圖像和之后的圖像進(jìn)行編碼圖像(或片段)。此外,優(yōu)選的是,被稱之為“瞬時(shí)解碼刷新idr”的所述圖像在時(shí)間上在第二視頻流fv2之間優(yōu)先對(duì)準(zhǔn)。以已知的方式,這些idr圖像表示順序的起始點(diǎn),在該順序中的圖像僅依賴于(當(dāng)依賴時(shí))屬于所討論序列的圖像。當(dāng)對(duì)視頻1至i進(jìn)行編碼時(shí),配置該對(duì)準(zhǔn),以便形成第二視頻流fv2。
參考圖1,終端term包括適于將終端term連接至網(wǎng)絡(luò)r的接收機(jī)模塊mr,在網(wǎng)絡(luò)r中,將第二視頻流fv2發(fā)送至終端。如前所述,各第二視頻流fv2都表示視頻。根據(jù)對(duì)應(yīng)視頻,采用已知方法來構(gòu)建頭部數(shù)據(jù)及其編碼視頻數(shù)據(jù),以形成對(duì)應(yīng)的視頻。該架構(gòu)可通過網(wǎng)絡(luò)r設(shè)備來實(shí)現(xiàn),例如,網(wǎng)絡(luò)頭端tr。
終端term進(jìn)一步包括配置用于生成第一視頻流fv1的模塊mg和用于輸出第一視頻流fv1的傳輸模塊me。此外,終端term包括處理器proc和用于存儲(chǔ)電腦程序以便于在處理器proc執(zhí)行這些程序時(shí)操作終端term的存儲(chǔ)器mem。存儲(chǔ)器mem特別包括包含指令的電腦程序pi,其中,在處理器proc執(zhí)行該指令時(shí)會(huì)導(dǎo)致生成模塊mg生成第一視頻流,如下所述。
圖1進(jìn)一步示出了存儲(chǔ)介質(zhì)ss,存儲(chǔ)介質(zhì)ss包含含有指令的程序pe集的存儲(chǔ)器mems,當(dāng)包含通過操作方式與存儲(chǔ)裝置和視頻流接收器模塊相連的處理單元的電腦執(zhí)行該程序時(shí),這些指令會(huì)導(dǎo)致電腦通過如下方法生成第一視頻流。例如,程序集對(duì)應(yīng)于電腦程序pi或通過處理器執(zhí)行的程序,該處理器是諸如處理器proc等處理器,其安裝在如存儲(chǔ)器mem的數(shù)據(jù)存儲(chǔ)器中的程序pi。
圖3示出了根據(jù)本發(fā)明用于生成第一視頻流fv1的方法的方框圖。如上所述,第一視頻流fv1的生成是通過第二視頻流fv2來完成的。
在recep步驟實(shí)施過程中,終端term在其接收機(jī)模塊mr處接收第二視頻流fv2。接收機(jī)模塊與網(wǎng)絡(luò)r相連,第二視頻流fv2通過網(wǎng)絡(luò)路徑路由。例如,該步驟可以連續(xù)進(jìn)行,直至第二視頻流fv2數(shù)據(jù)連續(xù)到達(dá)接收機(jī)模塊mr。
在生成步驟gen中,由生成模塊mg根據(jù)第二視頻流fv2來生成第一視頻流fv1。
在該步驟中,對(duì)第二視頻流fv2進(jìn)行分析。該分析提供了每個(gè)第二視頻流的頭部數(shù)據(jù)et2i和編碼視頻數(shù)據(jù)dv2i??刹捎靡阎绞絹磉M(jìn)行分析,例如,通過一個(gè)或多個(gè)解析器。
生成模塊mg隨后根據(jù)第二視頻流fv2的頭部數(shù)據(jù)et2i來生成第一視頻流fv1的頭部數(shù)據(jù)et1以及根據(jù)第二視頻流fv2的編碼視頻數(shù)據(jù)dv2i來生成第一視頻流fv1的編碼視頻數(shù)據(jù)dv1。
所生成的頭部數(shù)據(jù)et1表示第二視頻流fv2圖像集在第一視頻流fv1圖像中的組合。頭部數(shù)據(jù)et1包括第一頭部數(shù)據(jù)et11和第二頭部數(shù)據(jù)et12。
第一頭部數(shù)據(jù)et11由生成模塊mg生成,使得第一頭部數(shù)據(jù)et1繼承了各個(gè)第二視頻流fv2的頭部數(shù)據(jù)et2i。
換句話說,由生成模塊mg所生成的第一頭部數(shù)據(jù)et11的參數(shù)對(duì)應(yīng)于第二視頻流頭部數(shù)據(jù)et2i中所存在的參數(shù),并因?yàn)槠浯嬖谟陬^部數(shù)據(jù)et2中而可以準(zhǔn)確的生成。
第一頭部數(shù)據(jù)et11包含與第一視頻流fv1圖像的分辨率、和相關(guān)序列的文件和級(jí)別相關(guān)的序列參數(shù)sps。在圖2a(mpeg-hhevc/h.265)的示例中,第一頭部數(shù)據(jù)中所包含的序列參數(shù)sps可能進(jìn)一步包括一個(gè)或多個(gè)如下參數(shù):
"amp_enabled_flag","pcm_enabled_flag","scaling_list_enabled_flag","sample_adaptive_offset_enabled_flag","sps_temporal_mvp_enabled_flag",和"strong_intra_smoothing_enabled_flag"。
第一頭部數(shù)據(jù)et11包括與第一視頻流圖像的編碼配置相關(guān)的圖像參數(shù)(pps),不包括與構(gòu)建圖像為拼貼(mpeg-hhevc/h.265)和片段組(mpeg-4avc/h.264)相關(guān)的參數(shù)。在圖2a(mpeg-hhevc/h.265)示例中,第一頭部數(shù)據(jù)的圖像參數(shù)pps進(jìn)一步包括一個(gè)或多個(gè)如下參數(shù):
"sign_data_hiding_enabled_flag","weighted_pred_flag","cabac_init_present_flag","pps_slice_chroma_qp_offsets_present_flag","weighted_bipred_flag","transquant_bypass_enabled_flag".
在圖2b(mpeg-4avc/h.264)示例中,第一頭部數(shù)據(jù)中所包含的序列參數(shù)sps,包括分辨率參數(shù)和級(jí)別和文件參數(shù)??赡苓M(jìn)一步包括一個(gè)或多個(gè)如下參數(shù):"frame_mbs_only_flag","direct_8x8_inference_flag","gaps_in_frame_num_value_allowed_flag"。此外,第一頭部數(shù)據(jù)的圖像參數(shù)pps可能包括一個(gè)或多個(gè)如下參數(shù):"entropy_coding_mode_flag","weighted_pred_flag","constrained_intra_pred_flag"。
有利的是,第一頭部數(shù)據(jù)et11參數(shù)具有各自等于第二視頻流fv2頭部數(shù)據(jù)et2i中的參數(shù)數(shù)值的數(shù)值,而不包括分辨率參數(shù)。
尤其是,第一視頻流fv1分辨率參數(shù)數(shù)值大于第二視頻流fv2參數(shù)數(shù)值。換句話說,第一視頻流fv1圖像的分辨率高于第二視頻流fv2圖像分辨率。因此,視頻拼接mv的分辨率高于第二視頻流fv2表示的視頻分辨率。
在圖2a示例中,第二視頻流fv2的分辨率參數(shù)典型數(shù)值為640個(gè)像素(寬)和352個(gè)像素(高),第一視頻流fv1的分辨率參數(shù)典型數(shù)值為1920和704。在圖2b示例中,第二視頻流fv2的相應(yīng)參數(shù)為39和21,第一視頻流fv1的相應(yīng)參數(shù)為119和43(以宏塊表示)。
第一視頻流fv1包含參考列表的配置信息,以已知方式對(duì)應(yīng)于圖像特征,該圖像特征用于預(yù)測(cè)第一視頻流fv1編碼視頻數(shù)據(jù)的編碼的參考。根據(jù)第二視頻流fv2中所包含的對(duì)應(yīng)信息來生成參考列表使用的配置信息。此外,有利的是,用于第一視頻流fv1參考列表的配置信息,與用于第二視頻流fv2的配置信息是相同的。例如,參考列表的配置信息分布在序列參數(shù)sps和圖像參數(shù)pps之間。
在mpeg-hhevc/h.265標(biāo)準(zhǔn)環(huán)境中,該配置信息包括諸如如下參數(shù):
·"num_short_term_ref_pic_sets",
·"long_term_ref_pics_present_flag",
·"num_ref_idx_10_default_active_minus1",和
·"num_ref_idx_11_default_active_minus1".
在mpeg-hhevc/h.265標(biāo)準(zhǔn)中,配置信息包括諸如如下參數(shù):
·"max_num_ref_frames",
·"num_ref_idx_10_default_active_minusl",和
·"num_ref_idx_11_defaut_active_minusl".
第二頭部數(shù)據(jù)et12包括獨(dú)立生成的參數(shù),不涉及頭部數(shù)據(jù)et2i中所存在的參數(shù)。換句話說,第二頭部數(shù)據(jù)et12的參數(shù)由生成模塊mg生成,與頭部數(shù)據(jù)et2i參數(shù)和對(duì)應(yīng)數(shù)值無關(guān)。
第二頭部數(shù)據(jù)et12參數(shù)特別包括用于確定第一視頻流fv1的編碼視頻數(shù)據(jù)dv1中各個(gè)圖像在多個(gè)分區(qū)中的結(jié)構(gòu)的參數(shù)及其對(duì)應(yīng)數(shù)值。
優(yōu)選的是,對(duì)于符合mpeg-hhevc/h.265格式的第二視頻流fv2的編碼視頻數(shù)據(jù)dv2i,第二頭部數(shù)據(jù)et12參數(shù)包括聲明第一視頻流fv1的各個(gè)圖像拼貼結(jié)構(gòu)的參數(shù),以及明確各個(gè)圖像拼貼結(jié)構(gòu)配置的參數(shù)。在圖2a示例中,第二頭部數(shù)據(jù)et12因此包括數(shù)值為1的拼貼結(jié)構(gòu)聲明參數(shù)"tile_enabled_flag",和分別與對(duì)應(yīng)圖像中所拼貼列數(shù)量、圖像中所拼貼行數(shù)量和均勻分割圖像信息相關(guān)的參數(shù)"num_tile_columns_minus1"、"num_tile_rows_minusl"和"uniform_spacing_flag"(換句話說,與相同高度的行和相同寬度的列的事實(shí)相關(guān))。三個(gè)參數(shù)數(shù)值例如等于1,2和1,這就定義了第一視頻流fv1的對(duì)應(yīng)圖像(或圖像序列)細(xì)分由3列和2行組成的6個(gè)拼貼。鑒于形成第一視頻流的編碼視頻原則上不互相關(guān),所拼接的各種分量視頻更加獨(dú)立,尤其是在時(shí)間上更獨(dú)立。
參考圖2b,第二頭部數(shù)據(jù)et12包括聲明片段組結(jié)構(gòu)的參數(shù),"num_slice_groups_minus1",其數(shù)值為5,這就定義了在對(duì)應(yīng)圖像中有6個(gè)片段組。對(duì)于各個(gè)分組第二頭部數(shù)據(jù)et12進(jìn)一步包括用于對(duì)各個(gè)分組定義各組占用空間的兩個(gè)參數(shù)。這些參數(shù)是"top_left[i]"和"bottom_right[i]",其中i用以標(biāo)記相應(yīng)分組。這些參數(shù)數(shù)值各自分別與對(duì)應(yīng)的宏塊數(shù)量相對(duì)應(yīng)。在圖2b示例中,第二頭部數(shù)據(jù)et12進(jìn)一步包括用于細(xì)分為片段組的類型的參數(shù)"tile_group_map_type"。以已知的方式,該細(xì)分為片段組的機(jī)制(稱為“靈活宏塊順序”,首字母縮略詞fmo)是幾種可能的類型之一。這些類型如下:
-交叉(參數(shù)數(shù)值0),
-分散(參數(shù)數(shù)值1),
-具有幾個(gè)前景片段組和一個(gè)剩余片段組(參數(shù)值2)的細(xì)分,
-盒狀放射類型(參數(shù)數(shù)值3),
-光柵掃描類型(參數(shù)數(shù)值4),
-擦除類型(參數(shù)數(shù)值5),以及,
-顯式類型,其中為每個(gè)宏塊提供與片段組相關(guān)的顯式信息(參數(shù)數(shù)值6)。
優(yōu)選的是,參數(shù)"slice_group_map_type"數(shù)值等于2或6。通過對(duì)應(yīng)類型,可以將圖像分區(qū)以最佳方式分區(qū)為多個(gè)相鄰矩形塊。
一旦構(gòu)建完成,第一視頻流fv1的頭部數(shù)據(jù)et1定義第一視頻流fv1的各個(gè)圖像結(jié)構(gòu),尤其是定義將第一視頻流的各個(gè)圖像細(xì)分為獨(dú)立分區(qū)(mpeg-hhevc/h.265中的拼貼和mpeg-4avc/h.264中的片段組),這些分區(qū)適合形成第二視頻流fv2圖像的組合。
值得注意的是,第二視頻流fv2圖像也可通過拼貼機(jī)制(mpeg-hhevc/h.265)或片段組機(jī)制(mpeg-4avc/h.264)細(xì)分為分區(qū)。換句話說,頭部數(shù)據(jù)et2i可能還包括參數(shù)"tiles_enabled_flag",其數(shù)值為1,以及描述細(xì)分配置的參數(shù),或參數(shù)"num_slice_groups_minus1",其數(shù)值定義了將圖像細(xì)分為比圖像本身更小的分區(qū),以及描述對(duì)應(yīng)細(xì)分配置的參數(shù)。
圖4示出了通過圖2b所示參數(shù)所獲得的細(xì)分。值得注意的是,對(duì)于圖2a和2b,第一視頻流fv1從第二視頻流fv2中獲得,整數(shù)n表示第二視頻流fv2數(shù)量,其數(shù)值為6。
第二頭部數(shù)據(jù)et12進(jìn)一步包括用于所定義的各個(gè)圖像的各個(gè)區(qū)域、與所討論區(qū)域相關(guān)的頭部數(shù)據(jù)("sliceheadersegment")。這些頭部數(shù)據(jù)用于將各個(gè)區(qū)域定位在所討論的圖像內(nèi)。
在圖2a所示的示例中,片段頭部數(shù)據(jù)包括聲明該區(qū)域是圖像的第一區(qū)域(參數(shù)"first_slice_segment_in_pic_flag")的參數(shù),且對(duì)于圖像的第一區(qū)域,該數(shù)值為1,否則為0。對(duì)于其他分區(qū),對(duì)應(yīng)的頭部數(shù)據(jù)進(jìn)一步包括"slice_segment_address"參數(shù),用于表明相關(guān)區(qū)域在圖像中的地址。該參數(shù)的數(shù)值通常標(biāo)記為addressi,以表示所討論圖像的第i區(qū)。例如,該地址對(duì)應(yīng)于相對(duì)于圖像原點(diǎn)的空間偏移。例如,在圖2a所示的示例中,單元ctu配置為16×16像素的大小(通過數(shù)值為16的參數(shù)ctbsizey)。在該配置中,對(duì)于參數(shù)"slice_segment_address",圖像的第二個(gè)區(qū)域數(shù)值為880,第三個(gè)區(qū)域數(shù)值為1760,以此類推。在圖2b所示的示例中,片段頭部數(shù)據(jù)包括參數(shù)"first_mb_in_slice",用于定義對(duì)應(yīng)片段組的第一宏塊。在片段組映射單元("slice_group_map_unit")是宏塊(因"frame_mbs_only_flag"數(shù)值為1)的示例中,該參數(shù)數(shù)值等于對(duì)應(yīng)區(qū)域的參數(shù)"topleft[i]"的數(shù)值。
在步驟gen期間,由生成模塊mg從第二視頻流fv2的編碼視頻數(shù)據(jù)dv2i中構(gòu)建編碼視頻數(shù)據(jù)dv1。對(duì)于各個(gè)圖像,編碼視頻數(shù)據(jù)dvl包括與頭部數(shù)據(jù)et1所定義的各個(gè)區(qū)域相關(guān)的視頻數(shù)據(jù)。與圖像指定區(qū)域i相關(guān)的這些視頻數(shù)據(jù)標(biāo)記為dvli。
在步驟gen期間,對(duì)于第一視頻流fv1各個(gè)圖像的各個(gè)區(qū)域,生成模塊mg將該區(qū)域的視頻數(shù)據(jù)dv1i映射到第二視頻流fv2中的一個(gè)的編碼視頻數(shù)據(jù)dv2i中。
具體的說,如圖2a和2b所示,對(duì)于第一視頻流fv1的各個(gè)圖像的各個(gè)區(qū)域,為各個(gè)區(qū)域所構(gòu)建的編碼視頻數(shù)據(jù)dvli與第二視頻流fv2的圖像的視頻數(shù)據(jù)是相同的。
在構(gòu)建第一視頻流fv1的視頻數(shù)據(jù)期間,編碼視頻數(shù)據(jù)dv2i保持加密且在任何時(shí)都不解碼。換句話說,在不解碼的情況下,將其分配至第一視頻流圖像的分區(qū)。編碼視頻數(shù)據(jù)始終保存著且不做任何更改。
在該步驟后,構(gòu)建了第一視頻流fv1。因此,它表示第二視頻流fv2的視頻拼接,換句話說,視頻流fv1的各個(gè)圖像都表示第二視頻流fv2的圖像,其中圖像各自對(duì)應(yīng)于第一視頻流fv1圖像的區(qū)域。
在該步驟gen后,在步驟emi期間,由終端term的傳送模塊me提供第一視頻流fv1。
第一視頻流fv1提供至解碼和顯示設(shè)備aff,如圖1所示。
在圖3所示的步驟decod中,解碼第一視頻流fv1。例如,該解碼通過設(shè)備aff的解碼模塊dec來完成。一旦解碼第一視頻流fv1,顯示設(shè)備aff呈現(xiàn)出視頻拼接mv。隨后,第一視頻流fv1的視頻拼接采用細(xì)分為顯示設(shè)備aff分區(qū)的視頻形式來呈現(xiàn),視頻圖像對(duì)應(yīng)于這些分區(qū)中之一的可視的各個(gè)第二視頻流fv2。
優(yōu)選的是,在步驟gen期間,用于構(gòu)建第一視頻流fv1的第二視頻流fv2可由用戶選自對(duì)應(yīng)于一個(gè)或多個(gè)第二視頻流fv2的至少一個(gè)電視信道。例如,該選擇可以通過配置為選擇設(shè)備aff上所示電視信道的人機(jī)接口來完成。
此外,參考圖5,有利的是,用作構(gòu)建第一視頻流fv1的第二視頻流fv2的各視頻流都包括通知信息inf,用于表示對(duì)應(yīng)的視頻流適合用作第二視頻流fv2的情況。
更具體的說,通知信息inf表示所示視頻流共享相同的或兼容的參數(shù)化。尤其包括:
-激活的編碼工具,其在頭部數(shù)據(jù)中指定(在mpeg-4avc/h.264或mpeg-hhevc/h.265的情況下為sps,pps);
-不同圖像類型(i,p,b)的順序,有能夠啟動(dòng)解碼的所謂“隨機(jī)接入點(diǎn)”的圖像的全部或部分時(shí)間對(duì)準(zhǔn)。尤其包括mpeg-4avc/h.264或mpeg-hhevc/h.265中所述的idr圖像(即“瞬時(shí)解碼刷新”);
-用于時(shí)間預(yù)測(cè)的參考圖像的數(shù)量和次序;
-編碼分辨率。
“兼容參數(shù)化”,例如,對(duì)于與兩個(gè)視頻流之一的視頻流分別相關(guān)的第一和第二參數(shù)化,可以理解為是指可創(chuàng)建根據(jù)第一和第二參數(shù)化所確定的第三參數(shù)化,其中,兩個(gè)視頻流中的數(shù)據(jù)可以有效創(chuàng)建且不會(huì)產(chǎn)生錯(cuò)誤。換句話說,因?yàn)榕c另一參數(shù)化數(shù)值有矛盾,第一和第二參數(shù)都不包括具有在第三參數(shù)化中可以有效操作對(duì)應(yīng)數(shù)據(jù)的數(shù)值的參數(shù),所述第三參數(shù)化用于處理兩個(gè)視頻流的數(shù)據(jù)。
此外,在變體情況下,在步驟recep前的步驟sign過程中,構(gòu)建視頻流的集合e且各自均具有相關(guān)的通知信息inf。實(shí)際上,該關(guān)聯(lián)執(zhí)行是將通知信息inf添加到對(duì)應(yīng)的視頻流中。或者,通過聲明來確定關(guān)聯(lián)性,例如在與視頻流無關(guān)的文件中,聲明該視頻流可用作第二視頻流。該替代方案如圖5所示,通過塊inf(虛線)表示通知信息inf的傳送,與相關(guān)的視頻流無關(guān)。此外,所示視頻流在圖5中標(biāo)記為fvp1、fvpi、fvpn。此外,該信息的提供由相關(guān)視頻流方框來表示,且方框中具有inf。
在變體的情況下,在視頻流fv生成前的生成步驟gen過程中,第二視頻流fv2選自具有相關(guān)通知信息inf的視頻流fvp1、fvpi、fvpn集e中。
參考圖6,至少一個(gè)第二視頻流fv2也可選自本身表示視頻拼接的第三視頻流fv3。其它第二視頻流fv2可通過上述方式來獲得,或也可通過表示視頻拼接的視頻流來獲得。圖6示出了通過兩個(gè)第三視頻流fv31和fv32來獲得所有第二視頻流fv2的實(shí)施例。
優(yōu)選的是,在該變體中,第三視頻流或視頻流fv3符合mpeg-hhevc/h.265標(biāo)準(zhǔn)并呈現(xiàn)基于各個(gè)圖像拼貼結(jié)構(gòu)的數(shù)據(jù),該結(jié)構(gòu)如上所述。
這就有利于根據(jù)第三視頻流fv3來實(shí)現(xiàn)第二視頻流fv2的構(gòu)建。
此外,優(yōu)選的是,從第三視頻流中提取以便形成第二視頻流fv2的視頻流的編碼視頻數(shù)據(jù)在預(yù)測(cè)其它視頻格式以形成所討論的第三視頻流fv3的方面是獨(dú)立的。例如,這種獨(dú)立性可以通過sei信息來聲明。這些sei信息對(duì)應(yīng)于通過名稱sei(“補(bǔ)充增強(qiáng)信息”)而知的nal實(shí)體。在該情況下,用于聲明獨(dú)立性的信息則被稱之為“時(shí)間運(yùn)動(dòng)約束拼貼sei信息”。
這就進(jìn)一步有利于由第三視頻流fv3來獲得第二視頻流fv2。
在該實(shí)施例的情況下,在圖3所示方法的步驟extr中,由第三視頻流fv3所要構(gòu)建的各個(gè)第二視頻流fv2可以被實(shí)際構(gòu)建。為此,相應(yīng)的編碼視頻數(shù)據(jù)從形成編碼視頻數(shù)據(jù)dv2i的第三視頻流fv3中提取,且頭部數(shù)據(jù)et2i根據(jù)對(duì)應(yīng)第三視頻流fv3的頭部數(shù)據(jù)來生成。
例如,該步驟extr發(fā)生在接收步驟recep和生成步驟gen之間?;蛘?,該步驟發(fā)生在接收步驟recep前。在這種情況下,第二視頻流fv2的構(gòu)建可以通過非終端term的設(shè)備(例如前端)來實(shí)施。該變體會(huì)減少?gòu)木W(wǎng)絡(luò)傳輸?shù)浇K端term的數(shù)據(jù)量。
有利的是,用于獲得第二視頻流fv2的第三視頻流fv3可通過上述本發(fā)明方法來獲得。
可以設(shè)想其它實(shí)施例。
尤其是,在上述說明中,第一視頻流fv1的生成描述為通過接收視頻流的終端term來實(shí)施。然而,本方法也可通過網(wǎng)絡(luò)r的任何設(shè)備來實(shí)施,第一視頻流fv1通過網(wǎng)絡(luò)r路由至終端term。例如,本方法可由內(nèi)容服務(wù)器、服務(wù)平臺(tái)、頭端、住宅網(wǎng)關(guān)組成的設(shè)備組的其中一個(gè)設(shè)備來實(shí)施。