專利名稱:提供用于串流傳輸視頻數(shù)據(jù)的序列數(shù)據(jù)集的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及經(jīng)編碼的視頻數(shù)據(jù)的輸送。
背景技術(shù):
可將數(shù)字視頻能力并入到廣泛范圍的裝置中,所述裝置包括數(shù)字電視、數(shù)字直播系統(tǒng)、無線廣播系統(tǒng)、個(gè)人數(shù)字助理(PDA)、膝上型計(jì)算機(jī)或桌上型計(jì)算機(jī)、攝像機(jī)、數(shù)字記錄裝置、數(shù)字媒體播放器、視頻游戲裝置、視頻游戲控制臺(tái)、蜂窩式電話或衛(wèi)星無線電電話、 視頻電話會(huì)議裝置及其類似者。數(shù)字視頻裝置實(shí)施視頻壓縮技術(shù)(例如,在由MPEG-2、 MPEG-4、ITU-T H. 263 或 ITU-T H. 264/MPEG-4 第 10 部分(高級(jí)視頻譯碼(AVC))定義的標(biāo)準(zhǔn)及這些標(biāo)準(zhǔn)的擴(kuò)展中所描述的視頻壓縮技術(shù))以更有效率地發(fā)射及接收數(shù)字視頻信息。
視頻壓縮技術(shù)執(zhí)行空間預(yù)測(cè)及/或時(shí)間預(yù)測(cè)以減少或移除視頻序列中所固有的冗余。對(duì)于基于塊的視頻譯碼來說,可將視頻幀或切片分割成宏塊??蛇M(jìn)一步分割每一宏塊。使用相對(duì)于相鄰宏塊的空間預(yù)測(cè)來編碼經(jīng)幀內(nèi)譯碼(I)的幀或切片中的宏塊。在經(jīng)幀間譯碼(P或B)的幀或切片中的宏塊可使用相對(duì)于在同一幀或切片中的相鄰宏塊的空間預(yù)測(cè)或相對(duì)于其它參考幀的時(shí)間預(yù)測(cè)。
在已編碼視頻數(shù)據(jù)之后,可將視頻數(shù)據(jù)包化以用于傳輸或存儲(chǔ)。可遵照各種標(biāo)準(zhǔn)中的任一者(例如,國(guó)際標(biāo)準(zhǔn)組織(ISO)基礎(chǔ)媒體文件格式及其擴(kuò)展(例如AVC))將視頻數(shù)據(jù)組裝成一視頻文件。
一直在努力開發(fā)基于H. 264/AVC的新視頻譯碼標(biāo)準(zhǔn)。一個(gè)此種標(biāo)準(zhǔn)為可縮放視頻譯碼(SVC)標(biāo)準(zhǔn),其為H.264/AVC的可縮放擴(kuò)展。另一標(biāo)準(zhǔn)為多視圖視頻譯碼(MVC), 其已變成H. 264/AVC的多視圖擴(kuò)展。AVC標(biāo)準(zhǔn)的一版本描述于JVT-AD007的“ ITU-T推薦 H. 264|IS0/IEC 14496-10高級(jí)視頻譯碼的編者草案修正——準(zhǔn)備用于ITU-T SG 16 AAP 批準(zhǔn)(整合形式)(Editors' draft revision to ITU-T Rec. Η. 264 | IS0/IEC 14496-10 Advanced Video Coding-1n preparation for ITU-T SG 16 AAP Consent(in integrated form)) ”中(2009年2月瑞士日內(nèi)瓦的第30屆JVT會(huì)議),可在http://wftp3.1tu.1nt/ av-arch/jvt-site/2009_01_Geneva/JVT-AD007. zip 處獲得。此文獻(xiàn)將 SVC 和 MVC 整合于 AVC規(guī)范中。發(fā)明內(nèi)容
大體上,本發(fā)明描述用于提供描述視頻文件的經(jīng)譯碼視頻圖片(例如)以支持根據(jù)HTTP串流傳輸?shù)囊曨l文件的串流傳輸?shù)男蛄袛?shù)據(jù)集的技術(shù)。序列數(shù)據(jù)集可包含例如序列參數(shù)集、圖片參數(shù)集和一些補(bǔ)充增強(qiáng)信息(SEI)消息,例如序列層級(jí)SEI消息。這些技術(shù)可包含將序列數(shù)`據(jù)集與由序列數(shù)據(jù)集描述的經(jīng)譯碼視頻圖片解耦。也就是說,并非與由序列層級(jí)SEI消息描述的經(jīng)譯碼視頻圖片一起包含序列層級(jí)SEI消息,本發(fā)明的技術(shù)可包含將序列層級(jí)SEI消息與經(jīng)譯碼視頻圖片解耦。因此,序列層級(jí)SEI消息可與經(jīng)譯碼視頻圖片分離地從源裝置傳送到目的地裝置。在一些實(shí)例中,包含序列層級(jí)SEI消息的序列數(shù)據(jù)集可在序列數(shù)據(jù)集所屬的經(jīng)譯碼視頻圖片的傳送之前從源裝置傳送到目的地裝置。
在一個(gè)實(shí)例中,一種輸出經(jīng)封裝視頻數(shù)據(jù)的方法包含產(chǎn)生與經(jīng)譯碼視頻圖片分離的一個(gè)或一個(gè)以上補(bǔ)充增強(qiáng)信息(SEI)消息,其中所述SEI消息描述所述經(jīng)譯碼視頻圖片序列中的相應(yīng)者且包含所述經(jīng)譯碼視頻圖片中的一者以上所共同的元素;以及與所述經(jīng)譯碼視頻圖片序列分離地輸出所述SEI消息。
在另一實(shí)例中,一種用于輸出經(jīng)封裝視頻數(shù)據(jù)的設(shè)備包含控制單元,其經(jīng)配置以產(chǎn)生與經(jīng)譯碼視頻圖片分離的一個(gè)或一個(gè)以上補(bǔ)充增強(qiáng)信息(SEI)消息,其中所述SEI消息描述所述經(jīng)譯碼視頻圖片序列中的相應(yīng)者且包含所述經(jīng)譯碼視頻圖片中的一者以上所共同的元素;以及輸出接口,其經(jīng)配置以與所述經(jīng)譯碼視頻圖片序列分離地輸出所述SEI 消息。
在另一實(shí)例中,一種用于輸出經(jīng)封裝視頻數(shù)據(jù)的設(shè)備包含用于產(chǎn)生與經(jīng)譯碼視頻圖片分離的一個(gè)或一個(gè)以上補(bǔ)充增強(qiáng)信息(SEI)消息的裝置,其中所述SEI消息描述所述經(jīng)譯碼視頻圖片序列中的相應(yīng)者且包含所述經(jīng)譯碼視頻圖片中的一者以上所共同的元素;以及用于與所述經(jīng)譯碼視頻圖片序列分離地輸出所述SEI消息的裝置。
在另一實(shí)例中,一種包含計(jì)算機(jī)可讀存儲(chǔ)媒體的計(jì)算機(jī)程序產(chǎn)品包括指令,所述指令在執(zhí)行時(shí)致使用于輸出經(jīng)封裝視頻數(shù)據(jù)的源裝置的處理器進(jìn)行以下操作產(chǎn)生與經(jīng)譯碼視頻圖片分離的一個(gè)或一個(gè)以上補(bǔ)充增強(qiáng)信息(SEI)消息,其中所述SEI消息描述經(jīng)譯碼視頻圖片序列中的相應(yīng)者且包含所述經(jīng)譯碼視頻圖片中的一者以上所共同的元素;以及與所述經(jīng)譯碼視頻圖片序列分離地輸出所述SEI消息。
在另一實(shí)例中,一種接收經(jīng)編碼視頻數(shù)據(jù)的方法包含接收描述視頻文件的經(jīng)譯碼視頻圖片序列的補(bǔ)充增強(qiáng)信息(SEI)消息,其中所述SEI消息描述所述經(jīng)譯碼視頻圖片序列中的相應(yīng)者且包含所述經(jīng)譯碼視頻圖片中的一者以上所共同的元素;與所述SEI消息分離地接收所述視頻文件的所述經(jīng)譯碼視頻圖片序列;以及在所述經(jīng)譯碼視頻圖片序列已經(jīng)解碼之后基于所述SEI消息而再現(xiàn)所述經(jīng)譯碼視頻圖片序列。
在另一實(shí)例中,一種用于接收經(jīng)編碼視頻數(shù)據(jù)的設(shè)備包含控制單元,其經(jīng)配置以接收描述視頻文件的經(jīng)譯碼視頻圖片序列的補(bǔ)充增強(qiáng)信息(SEI)消息,其中所述SEI消息描述所述經(jīng)譯碼視頻圖片序列中的相應(yīng)者且包含所述經(jīng)譯碼視頻圖片中的一者以上所共同的元素,且與所述SEI消息分離地接收所述視頻文件的所述經(jīng)譯碼視頻圖片序列;以及視頻輸出,其經(jīng)配置以在所述經(jīng)譯碼視頻圖片序列已經(jīng)解碼之后再現(xiàn)所述經(jīng)譯碼視頻圖片序列。
在另一實(shí)例中,一種用于接收經(jīng)編碼視頻數(shù)據(jù)的設(shè)備包含用于接收描述視頻文件的經(jīng)譯碼視頻圖片序列的補(bǔ)充增強(qiáng)信息(SEI)消息的裝置,其中所述SEI消息描述所述經(jīng)譯碼視頻圖片序列中的相應(yīng)者且包含所述經(jīng)譯碼視頻圖片中的一者以上所共同的元素; 用于與所述SEI消息分離地接收所述視頻文件的所述經(jīng)譯碼視頻圖片序列的裝置;以及用于在所述經(jīng)譯碼視頻圖片序列已經(jīng)解碼之后基于所述SEI消息而再現(xiàn)所述經(jīng)譯碼視頻圖片序列的裝置。
在另一實(shí)例中,一種包含計(jì)算機(jī)可讀存儲(chǔ)媒體的計(jì)算機(jī)程序產(chǎn)品包括指令,所述指令在執(zhí)行時(shí)致使用于接收經(jīng)編碼視頻數(shù)據(jù)的目的地裝置的處理器進(jìn)行以下操作接收描述視頻文件的經(jīng)譯碼視頻圖片序列的補(bǔ)充增強(qiáng)信息(SEI)消息,其中所述SEI消息描述所述經(jīng)譯碼視頻圖片序列中的相應(yīng)者且包含所述經(jīng)譯碼視頻圖片中的一者以上所共同的元素;與所述SEI消息分離地接收所述視頻文件的所述經(jīng)譯碼視頻圖片序列;以及在所述經(jīng)譯碼視頻圖片序列已經(jīng)解碼之后基于所述SEI消息而再現(xiàn)所述經(jīng)譯碼視頻圖片序列。
一個(gè)或一個(gè)以上 實(shí)例的細(xì)節(jié)陳述于隨附圖式及以下描述中。其它特征、目標(biāo)及優(yōu)勢(shì)將從所述描述及所述圖式以及從權(quán)利要求書顯而易見。
圖1為說明其中音頻/視頻(A/V)源裝置將音頻及視頻數(shù)據(jù)傳送到A/V目的地裝置的實(shí)例系統(tǒng)的框圖。
圖2為說明實(shí)例封裝單元的組件的框圖。
圖3為說明可在各種位置中包含序列層級(jí)SEI消息的實(shí)例視頻文件的元素的框圖。
圖4是說明另一實(shí)例視頻文件的元素的框圖,所述另一實(shí)例視頻文件包含含有序列層級(jí)SEI消息的參數(shù)集軌道。
圖5是說明包含第三代合作伙伴計(jì)劃(3GPP)文件的簡(jiǎn)報(bào)的實(shí)例集合的框圖,所述 3GPP文件包含相應(yīng)簡(jiǎn)報(bào)的相應(yīng)序列數(shù)據(jù)集。
圖6是說明用于在視頻文件內(nèi)封裝序列數(shù)據(jù)集且將視頻文件從源裝置提供到目的地裝置的實(shí)例方法的流程圖。
圖7是說明包含多個(gè)序列數(shù)據(jù)集的視頻文件的另一實(shí)例的框圖。
具體實(shí)施方式
大體上,本發(fā)明描述用于支持使用例如超文本傳送協(xié)議(HTTP)串流傳輸?shù)却鱾鬏斁W(wǎng)絡(luò)協(xié)議遞送視頻數(shù)據(jù)的技術(shù)。特定來說,本發(fā)明的技術(shù)是針對(duì)當(dāng)例如以視頻文件的形式發(fā)射視頻數(shù)據(jù)時(shí)使某些補(bǔ)充增強(qiáng)信息(SEI)消息(例如序列層級(jí)SEI消息)與特定視頻樣本解耦。另外,所述技術(shù)可包含在目的地裝置處解譯序列層級(jí)SEI消息以支持經(jīng)編碼視頻圖片的解碼和再現(xiàn)。
本發(fā)明還描述將SEI消息與編解碼器層級(jí)中的視頻樣本解耦,其中SEI消息不一定需要與特定經(jīng)譯碼圖片相關(guān)聯(lián),例如當(dāng)SEI消息與存取單元相關(guān)聯(lián)時(shí)。在SEI消息與經(jīng)譯碼圖片去耦的情況下,指定SEI消息適用于哪一持續(xù)時(shí)間的時(shí)序信息可作為SEI消息的部分而用信號(hào)表不。
SEI消息可含有用以幫助解碼器和/或再現(xiàn)器解碼和/或顯示某些經(jīng)編碼視頻圖片的信息。SEI消息還可用以提供錯(cuò)誤恢復(fù)。一些SEI消息是序列層級(jí)(例如,與經(jīng)譯碼圖片群組(GOP)或經(jīng)譯碼視頻圖片的其它序列相關(guān)),而其它SEI消息可與特定經(jīng)譯碼圖片相關(guān)。SEI消息通常與特定經(jīng)譯碼圖片一起發(fā)射。也就是說,為了檢索SEI消息,解碼器通常需要檢索包含SEI消息的經(jīng)譯碼圖片。在解碼器不需要經(jīng)譯碼圖片的數(shù)據(jù)的情況下,這大體上導(dǎo)致浪費(fèi)帶寬。而且,在一些情況下,用于不同經(jīng)譯碼圖片或兩個(gè)GOP的兩個(gè)SEI消息可能含有基本上相同的信息,使得重復(fù)地發(fā)射SEI消息同樣可造成帶寬的浪費(fèi)。
本發(fā)明的技術(shù)包含單獨(dú)于(例如,獨(dú)立于)經(jīng)譯碼視頻數(shù)據(jù)來發(fā)射SEI消息,例如在SEI消息描述經(jīng)譯碼視頻圖片序列的序列數(shù)據(jù)的情況下。序列數(shù)據(jù)可對(duì)應(yīng)于經(jīng)譯碼視頻圖片序列所共同的數(shù)據(jù)。在涉及H.264/AVC(高級(jí)視頻譯碼)的一些實(shí)例中,當(dāng)SEI消息包含與平移掃描矩形相關(guān)的信息和立體視頻信息時(shí),SEI消息可連同參數(shù)集基本串流一起發(fā)射。參數(shù)集基本串流可包含序列參數(shù)集(SPS)和/或圖片參數(shù)集(PPS)消息。也就是說,根據(jù)這些技術(shù),參數(shù)集基本串流除了一個(gè)或一個(gè)以上SEI消息外還可包含PPS和/或SPS消息。H. 264/AVC中的此SEI消息的一個(gè)實(shí)例是幀包化布置SEI,其指定關(guān)于如何將一圖像對(duì)的兩個(gè)視圖交錯(cuò)在一起成為一個(gè)幀的信息。作為另一實(shí)例,相對(duì)于可縮放視頻譯碼(SVC), 當(dāng)SEI消息提供可縮放性信息時(shí)SEI消息可在參數(shù)集基本串流中發(fā)送。作為又一實(shí)例,在多視圖視頻譯碼(MVC)中,當(dāng)SEI消息包含視圖可縮放性信息、多視圖獲取信息和/或多視圖場(chǎng)景信息時(shí)SEI消息可包含在參數(shù)集基本串流中。
常規(guī)序列層級(jí)SEI消息已與某些存取單元相關(guān)聯(lián),例如包括瞬時(shí)解碼器刷新 (IDR)圖片的存取單元。然而,本發(fā)明的技術(shù)是針對(duì)將序列層級(jí)SEI消息與存取單元分離。 因此,本發(fā)明的技術(shù)可使得客戶端裝置能夠與由序列層級(jí)SEI消息描述的經(jīng)譯碼視頻圖片分離地檢索序列層級(jí)SEI消息,而不是檢索包含序列層級(jí)SEI消息的存取單元。因此,如果客戶端裝置經(jīng)配置以解碼和顯示經(jīng)譯碼視頻圖片序列的僅一部分,那么客戶端裝置可檢索所述序列的僅所述部分,而無需檢索其它圖片,例如SEI消息原本將與 之一起包含的IDR圖片。根據(jù)本發(fā)明的技術(shù),客戶端裝置可與經(jīng)譯碼視頻圖片的所要部分分離地檢索SEI消息。
在一些實(shí)例中,并不是將序列層級(jí)SEI消息(和/或其它序列數(shù)據(jù))包含在參數(shù)集軌道中,而是序列層級(jí)SEI消息可連續(xù)地包含在文件中,使得客戶端可使用HTTP-Get操作來檢索可用以在任一點(diǎn)解碼和顯示視頻文件的信息。也就是說,用戶可尋覓視頻文件中的任一點(diǎn),且解碼器可檢索SEI消息而無需檢索額外的不必要的經(jīng)譯碼視頻數(shù)據(jù),例如在視頻文件內(nèi)對(duì)應(yīng)于尋覓請(qǐng)求的時(shí)間位置之前且將不會(huì)用來對(duì)在所述尋覓請(qǐng)求的時(shí)間位置處及之外的視頻數(shù)據(jù)進(jìn)行解碼的經(jīng)譯碼視頻數(shù)據(jù)。
視頻或音頻表示可包含一個(gè)或一個(gè)以上區(qū)段。每一表示可含有一初始化區(qū)段,或所述表示中的每一媒體區(qū)段可為自初始化的。初始化區(qū)段可含有用于存取對(duì)應(yīng)表示(例如,由初始化區(qū)段描述的媒體區(qū)段)的數(shù)據(jù)的初始化信息。初始化區(qū)段大體上不含任何媒體數(shù)據(jù),而是可僅包含初始化數(shù)據(jù)。每一表示可包含一個(gè)或一個(gè)以上媒體分量,其中每一媒體分量可為例如音頻、視頻或經(jīng)計(jì)時(shí)文本等個(gè)別媒體類型的經(jīng)編碼版本。媒體分量在一個(gè)表示內(nèi)的連續(xù)媒體區(qū)段的邊界上可為時(shí)間連續(xù)的。
作為又一實(shí)例,本發(fā)明的技術(shù)可包含發(fā)送序列數(shù)據(jù)(例如,PPS、SPS和序列層級(jí) SEI消息)以及(特定來說)不含有經(jīng)譯碼視頻數(shù)據(jù)(即,視頻樣本)的文件區(qū)段。源裝置和目的地裝置可以包含序列數(shù)據(jù)的視頻樣本的位置來配置,和/或以用于確定這些視頻樣本的位置的方法來配置。在一些實(shí)例中,序列數(shù)據(jù)可在經(jīng)編碼視頻數(shù)據(jù)發(fā)送之前從服務(wù)器發(fā)送到客戶端。也就是說,源裝置可在發(fā)送由序列數(shù)據(jù)參考的經(jīng)編碼視頻數(shù)據(jù)之前將例如 PPS、SPS和序列層級(jí)SEI消息等序列數(shù)據(jù)提供到客戶端裝置。在基于文件區(qū)段的HTTP串流傳輸中,SEI消息(例如,序列層級(jí)SEI消息)連同參數(shù)集(例如序列參數(shù)集和圖片參數(shù)集)可放置于初始化區(qū)段中,所述初始化區(qū)段不含有任何經(jīng)譯碼音頻或視頻樣本。
本發(fā)明的技術(shù)可應(yīng)用于遵照以下各項(xiàng)中的任一者的視頻文件IS0基礎(chǔ)媒體文件格式、可縮放視頻譯碼(SVC)文件格式、高級(jí)視頻譯碼(AVC)文件格式、第三代合作伙伴計(jì)劃(3GPP)文件格式,和/或多視圖視頻譯碼(MVC)文件格式。ISO基礎(chǔ)媒體文件格式經(jīng)設(shè)計(jì)以含有供以靈活、可擴(kuò)展的格式呈現(xiàn)的定時(shí)媒體信息,所述靈活、可擴(kuò)展的格式促進(jìn)媒體的互換、管理、編輯及呈現(xiàn)。ISO基礎(chǔ)媒體文件格式(IS0/IEC14496-12:2004)在MPEG-4第 12部分中指定,MPEG-4第12部分界定基于時(shí)間的媒體文件的一般結(jié)構(gòu)。ISO基礎(chǔ)媒體文件格式用作所述家族中的例如以下其它文件格式的基礎(chǔ)經(jīng)定義以支持H. 264/MPEG-4 AVC 視頻壓縮的AVC文件格式(IS0/IEC 14496-15)、3GPP文件格式、SVC文件格式,及MVC文件格式。3GPP文件格式及MVC文件格式為AVC文件格式的擴(kuò)展。ISO基礎(chǔ)媒體文件格式含有用于媒體數(shù)據(jù)的定時(shí)序列(例如,視聽呈現(xiàn))的時(shí)序、結(jié)構(gòu)及媒體信息。所述文件結(jié)構(gòu)是面向?qū)ο蟮???蓸O其簡(jiǎn)單地將文件分解成基本對(duì)象,且對(duì)象的結(jié)構(gòu)由其類型隱含。
遵照ISO基礎(chǔ)媒體文件格式(及其擴(kuò)展)的文件可形成為一系列對(duì)象,稱作“盒 (box)”。呈ISO基礎(chǔ)媒體文件格式的數(shù)據(jù)可含于盒中,且在盒外無其它數(shù)據(jù)需要含于文件內(nèi)。這包含特定文件格式所需要的任何初始簽名。“盒”可為通過唯一類型識(shí)別符及長(zhǎng)度定義的面向?qū)ο蟮慕ㄖ脡K。通常,一簡(jiǎn)報(bào)(presentation)含于一個(gè)文件中,且媒體簡(jiǎn)報(bào)為自含式的。電影容器(電影盒)含有媒體的元數(shù)據(jù),且視頻及音頻幀含于媒體數(shù)據(jù)容器中且可在其它文件中。
一簡(jiǎn)報(bào)(運(yùn)動(dòng)序列)可含于若干文件中。時(shí)序及成幀(位置及大小)信息通常在 ISO基礎(chǔ)媒體文件中,且輔助文件可基本上使用任何格式。此簡(jiǎn)報(bào)可在含有所述簡(jiǎn)報(bào)的系統(tǒng)的“本地”,或可經(jīng)由網(wǎng)絡(luò)或其它串流遞送機(jī)制來提供。
文件可具有邏輯結(jié)構(gòu)、時(shí)間結(jié)構(gòu)及物理結(jié)構(gòu),且這些結(jié)構(gòu)不需要耦合。文件的邏輯結(jié)構(gòu)可為電影或視頻剪輯(潛在地包含視頻和音頻數(shù)據(jù)兩者)的邏輯結(jié)構(gòu),其又含有一組時(shí)間并行的軌道。文件的時(shí)間結(jié)構(gòu)可為軌道含有在時(shí)間上的樣本序列,且那些序列通過任選的編輯列表而映射到整個(gè)電影的時(shí)間線。文件的物理結(jié)構(gòu)可將邏輯、時(shí)間及結(jié)構(gòu)分解所需的數(shù)據(jù)與媒體數(shù)據(jù)樣本自身分離。此結(jié)構(gòu)信息可集中于一電影盒中,可能在時(shí)間上由電影片段盒擴(kuò)展。所述電影盒可記載樣本的邏輯及時(shí)序關(guān)系,且也可含有到其所處位置的指針。那些指針可指向同一文件中或另一文件中(例如,由URL參考)。
每一媒體串流可含于專門用于所述媒體類型(音頻、視頻等)的軌道中,且可進(jìn)一步通過樣本條目來參數(shù)化。所述樣本條目可含有確切媒體類型(解碼串流所需要的解碼器的類型)的“名稱”及所述所需解碼器的任何參數(shù)化。所述名稱也可采取四字符碼(例如, “moov”或“trak”)的形式。存在不僅用于MPEG-4媒體而且也用于使用此文件格式家族的其它組織所使用的媒體類型的經(jīng)定義的樣本條目格式。
對(duì)元數(shù)據(jù)的支持通常采取兩種形式。首先,可將定時(shí)元數(shù)據(jù)存儲(chǔ)于適當(dāng)軌道中,且在需要時(shí)與其所描述的媒體數(shù)據(jù)同步。其次,可存在對(duì)附加到電影或個(gè)別軌道的非定時(shí)元數(shù)據(jù)的一般支持。結(jié)構(gòu)支持為一般性的,且以類似于媒體數(shù)據(jù)(即,經(jīng)譯碼視頻圖片)的存儲(chǔ)的方式允許元數(shù)據(jù)資源存儲(chǔ)于文件中的別處或存儲(chǔ)于另一文件中。另外,這些資源可加以命名且可受保護(hù)。
在ISO基礎(chǔ)媒體文件格式中,樣本分組為將軌道中的樣本中的每一者指派為一個(gè)樣本群組中的成員。樣本群組中的樣本不需要為連續(xù)的。舉例來說,在呈現(xiàn)呈AVC文件格式的H. 264/AVC時(shí),處于一個(gè)時(shí)間層級(jí)中的視頻樣本可被取樣于一個(gè)樣本群組中。可通過兩個(gè)數(shù)據(jù)結(jié)構(gòu)來表不樣本群組SampIeToGroup盒(sbdp)及SampleGroupDescription 盒。SampleToGroup盒表示將樣本指派給`樣本群組。對(duì)于每一樣本群組條目來說,可存在SampleGroupDescription盒的一個(gè)實(shí)例以描述對(duì)應(yīng)群組的性質(zhì)。任選的元數(shù)據(jù)軌道可用以用其所具有的“有趣特性”來標(biāo)記每一軌道,對(duì)于所述軌道來說,其值可不同于群組的其它成員(例如,其位速率、屏幕大小或語(yǔ)言)。軌道內(nèi)的一些樣本可具有特殊特性或可個(gè)別地識(shí)別。特性的一個(gè)實(shí)例為同步點(diǎn)(常為視頻I幀)??稍诿恳卉壍乐型ㄟ^特殊表來識(shí)別這些點(diǎn)。更一般來說,也可使用元數(shù)據(jù)來記載軌道樣本之間的相依性質(zhì)。元數(shù)據(jù)可經(jīng)結(jié)構(gòu)化為文件格式樣本的序列,正如視頻軌道一樣。此軌道可稱作元數(shù)據(jù)軌道。每一元數(shù)據(jù)樣本可經(jīng)結(jié)構(gòu)化為元數(shù)據(jù)語(yǔ)句。存在各種種類的語(yǔ)句,其對(duì)應(yīng)于關(guān)于對(duì)應(yīng)文件格式樣本或其組成樣本而可能被詢問的各種問題。在經(jīng)由串流傳輸協(xié)議遞送媒體時(shí),可能需要從其表示于文件中的方式變換媒體。此情形的一個(gè)實(shí)例發(fā)生于經(jīng)由實(shí)時(shí)傳輸協(xié)議(RTP)傳輸媒體時(shí)。舉例來說,在文件中,將視頻的每一幀連續(xù)地存儲(chǔ)為文件格式樣本。在RTP中,必須遵守專門針對(duì)所使用的編解碼器的包化規(guī)則以將這些幀置于RTP包中。串流傳輸服務(wù)器可經(jīng)配置以在運(yùn)行時(shí)間計(jì)算此包化。然而,存在對(duì)串流傳輸服務(wù)器的輔助的支持??蓪⒈环Q為提示軌道的特殊軌道置于文件中。
提示軌道含有用于串流傳輸服務(wù)器的關(guān)于如何針對(duì)特定協(xié)議從媒體軌道形成包串流的一般指令。因?yàn)檫@些指令的形式獨(dú)立于媒體,所以在引入新編解碼器時(shí)可能不需要修訂服務(wù)器。另外,編碼及編輯軟件可不知曉串流傳輸服務(wù)器。一旦對(duì)文件完成編輯,則被稱為提示程序(hinter)的一段軟件可用以在將文件置于串流傳輸服務(wù)器上之前將提示軌道添加到文件。作為實(shí)例,在MPEG-4文件格式規(guī)范中存在針對(duì)RTP串流定義的提示軌道格式。術(shù)語(yǔ)“漸進(jìn)下載”用以描述通常使用HTTP協(xié)議的數(shù)字媒體文件從服務(wù)器到客戶端的傳送。當(dāng)從計(jì)算機(jī)起始時(shí),所述計(jì)算機(jī)可在下載完成之前開始媒體的重放。串流傳輸媒體與漸進(jìn)下載之間的一個(gè)差別在于正存取數(shù)字媒體的最終用戶裝置如何接收并存儲(chǔ)數(shù)字媒體數(shù)據(jù)。能夠進(jìn)行漸進(jìn)下載重放的媒體播放器依賴于位于文件標(biāo)頭中的完整的元數(shù)據(jù)且在從網(wǎng)絡(luò)服務(wù)器下載數(shù)字媒體文件時(shí)依賴于數(shù)字媒體文件的本地緩沖器。在指定量的經(jīng)緩沖數(shù)據(jù)變得可用于本地重放裝置時(shí),所述裝置可開始播放媒體。此指定量的經(jīng)緩沖數(shù)據(jù)可通過編碼器設(shè)置中的內(nèi)容的產(chǎn)生者而嵌入于文件中,且可通過客戶端計(jì)算機(jī)的媒體播放器所外加的額外緩沖器設(shè)置來加強(qiáng)。AVC及3GPP為ISO基礎(chǔ)媒體文件格式的擴(kuò)展,而SVC及MVC為AVC文件格式的擴(kuò)展。因此,本發(fā)明的技術(shù)可應(yīng)用于遵照以下各者的視頻文件IS0基礎(chǔ)媒體文件格式、AVC文件格式及其擴(kuò)展(例如,SVC及MVC),及/或第三代合作伙伴計(jì)劃(3GPP)文件格式。所述技術(shù)可進(jìn)一步應(yīng)用于這些格式的這些及其它擴(kuò)展,且可進(jìn)一步應(yīng)用以擴(kuò)展其它文件格式從而與SEI消息描述的視頻數(shù)據(jù)分離地提供SEI消息。因此,雖然為了實(shí)例目的而大體相對(duì)于AVC來描述,但應(yīng)了解本發(fā)明的技術(shù)可大體上應(yīng)用于任何其它文件格式。動(dòng)畫專家組(MPEG)已開發(fā)AVC文件格式作為ISO基本媒體文件格式的擴(kuò)展。在AVC文件格式中,參數(shù)集(包含序列參數(shù)集和圖片參數(shù)集)可與處于視頻軌道中的視頻基本串流相關(guān)聯(lián)。還可能在稱為參數(shù)集軌道的另一軌道中具有參數(shù)集,所述軌道包含含有作為SPS或PPS網(wǎng)絡(luò)抽象層(NAL)單元的樣本的參數(shù)集基本串流。然而,SEI消息NAL單元的位置不限于在AVC文件格式中,只要任一 SEI消息是在解碼時(shí)間處于使用此SEI消息的任一圖片之前的樣本中呈現(xiàn)即可。AVC文件格式具有SVC和MVC擴(kuò)展以分別支持SVC和MVC的存儲(chǔ)。在SVC和MVC中,多個(gè)層/視圖可含于一個(gè)視頻軌道或多個(gè)視頻軌道中。在SVC和MVC規(guī)范中存在經(jīng)定義以當(dāng)在各種組織中呈現(xiàn)層/視圖時(shí)構(gòu)建操作點(diǎn)的工具。SVC的一些功能性是從H. 264/AVC繼承。與先前的可縮放標(biāo)準(zhǔn)相比,SVC標(biāo)準(zhǔn)可提供各種優(yōu)點(diǎn),例如階層式時(shí)間可縮放性、層間預(yù)測(cè)、單循環(huán)解碼和靈活的輸送接口。H. 264/AVC提供靈活的階層式B圖片譯碼結(jié)構(gòu),其實(shí)現(xiàn)高級(jí)時(shí)間可縮放性。通過從H. 264/AVC繼承的此特征,SVC支持具有不同分辨率的層的時(shí)間可縮放性。在SVC中,圖片群組(GOP)包含所謂的關(guān)鍵圖片及在輸出/顯示次序上位于此關(guān)鍵圖片與先前關(guān)鍵圖片之間的所有圖片。關(guān)鍵圖片可以規(guī)則或不規(guī)則間隔來譯碼,且可使用先前關(guān)鍵圖片作為運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)的參考而經(jīng)幀內(nèi)譯碼或幀間譯碼??蓮木哂休^低時(shí)間層級(jí)的圖片以階層式方式預(yù)測(cè)非關(guān)鍵圖片,且關(guān)鍵圖片可具有最低時(shí)間層級(jí)。圖片的時(shí)間層級(jí)可由NAL單元標(biāo)頭SVC擴(kuò)展中的語(yǔ)法元素 temporal_id 指不。SVC基于紋理、殘余和運(yùn)動(dòng)而針對(duì)空間和信噪比(SNR)可縮放性引入層間預(yù)測(cè)。SVC中的空間可縮放性可經(jīng)一般化到兩個(gè)層之間的任一分辨率比率。SNR可縮放性可通過粗粒度可縮放性(CGS)、中等粒度可縮放性(MGS)或細(xì)粒度可縮放性(FGS)來實(shí)現(xiàn)。在SVC中,兩個(gè)空間或CGS層可屬于不同的相依性層(如NAL單元標(biāo)頭中的dependency_id可指示),而兩個(gè)MGS層可在同一相依性層中。一個(gè)相依性層可包含具有從0到較高值的`quality_id的質(zhì)量層,所述值對(duì)應(yīng)于質(zhì)量增強(qiáng)層。SVC提供可用以減少層間冗余的層間預(yù)測(cè)方法。所述方法經(jīng)概括為層間紋理預(yù)測(cè)、層間殘余預(yù)測(cè)和層間運(yùn)動(dòng)預(yù)測(cè)。SVC還提供靈活的系統(tǒng)和輸送接口設(shè)計(jì),其可實(shí)現(xiàn)編解碼器到可縮放的多媒體應(yīng)用系統(tǒng)的無縫集成。除了壓縮和可縮放性提供之外,系統(tǒng)和輸送接口集中于編解碼器功能性,例如大體上對(duì)于視頻編解碼器來說是互操作性和一致性、可擴(kuò)展性、隨機(jī)存取、時(shí)序、緩沖管理以及錯(cuò)誤恢復(fù),且特定地對(duì)于可縮放譯碼來說是向后兼容性、可縮放性信息提供和可縮放性調(diào)適。SVC進(jìn)一步提供單循環(huán)解碼方案。在單循環(huán)解碼方案中,僅目標(biāo)層需要運(yùn)動(dòng)補(bǔ)償和完全解碼。因此,與其中通常針對(duì)每個(gè)空間或SNR可縮放層執(zhí)行運(yùn)動(dòng)補(bǔ)償和完全解碼的其它多循環(huán)解碼方案相比,SVC的單循環(huán)解碼方案可大大降低解碼復(fù)雜性以及DPB大小。SVC和MVC具有類似的高層級(jí)語(yǔ)法設(shè)計(jì),例如在NAL單元標(biāo)頭、序列參數(shù)集和SEI消息方面。在SVC和MVC兩者中,對(duì)于帶寬或裝置能力的調(diào)適,在某一程度上支持整個(gè)位流的提取。在一些實(shí)例中,本發(fā)明的技術(shù)可應(yīng)用于H. 264/AVC編解碼器或基于AVC的編解碼器,例如SVC、MVC或H. 264/AVC的其它擴(kuò)展。此類編解碼器可經(jīng)配置以當(dāng)SEI消息在一個(gè)經(jīng)譯碼圖片(例如,存取單元)內(nèi)相關(guān)聯(lián)時(shí)辨識(shí)SEI消息,其中SEI消息可以ISO基礎(chǔ)媒體文件格式或MPEG-2系統(tǒng)位流封裝在所述存取單元內(nèi)。所述技術(shù)還安排未來的譯碼標(biāo)準(zhǔn)(例如,H. 265/HEVC)以允許與由SEI消息描述的任何存取單元分離地傳遞SEI消息。關(guān)于作為另一實(shí)例的3GPP,支持3GP文件的HTTP/TCP/IP輸送以進(jìn)行下載及漸進(jìn)下載。此外,使用HTTP進(jìn)行視頻串流傳輸可提供一些優(yōu)點(diǎn),且基于HTTP的視頻串流傳輸服務(wù)正變得流行。HTTP串流傳輸可提供某些優(yōu)點(diǎn),包括可使用現(xiàn)有因特網(wǎng)組件及協(xié)議,使得不需要作新的努力來開發(fā)用于經(jīng)由網(wǎng)絡(luò)輸送視頻數(shù)據(jù)的新技術(shù)。其它傳輸協(xié)議(例如,RTP有效負(fù)載格式)需要中間網(wǎng)絡(luò)裝置(例如,中間盒)知曉媒體格式及信令上下文。且,HTTP串流傳輸可為客戶端驅(qū)動(dòng)的,此可避免控制問題。舉例來說,為了利用特征來獲得最佳性能,服務(wù)器可追蹤尚未得到確認(rèn)的包的大小及內(nèi)容。服務(wù)器也可分析文件結(jié)構(gòu)并重建構(gòu)客戶端緩沖器的狀態(tài)以作出RD最佳切換/精簡(jiǎn)決策。另外,可滿足對(duì)位流變化的約束以便保持服從所協(xié)商的簡(jiǎn)檔。HTTP在已實(shí)施HTTP1.1的網(wǎng)絡(luò)服務(wù)器處不必需要新的硬件或軟件實(shí)施。HTTP串流傳輸還提供TCP易用性及防火墻穿越。在HTTP串流傳輸中,頻繁使用的操作包含GET及部分GET。GET操作檢索與給定統(tǒng)一資源定位符(URL)或統(tǒng)一資源名稱(URN)相關(guān)聯(lián)的整個(gè)文件。部分GET操作接收一字節(jié)范圍作為輸入?yún)?shù)且檢索對(duì)應(yīng)于所接收到的字節(jié)范圍的文件的連續(xù)數(shù)目個(gè)字節(jié)。因此,可提供電影片段以進(jìn)行HTTP串流傳輸,這是因?yàn)椴糠諫ET操作可取得一個(gè)或一個(gè)以上個(gè)別電影片段。請(qǐng)注意,在一電影片段中,可存在不同軌道的若干軌道片段。在HTTP串流傳輸中,媒體簡(jiǎn)報(bào)可為客戶端可存取的數(shù)據(jù)的結(jié)構(gòu)化集合。所述客戶端可請(qǐng)求并下載媒體數(shù)據(jù)信息以向用戶呈現(xiàn)串流傳輸服務(wù)。 圖1為說明其中音頻/視頻(A/V)源裝置20將音頻及視頻數(shù)據(jù)輸送到A/V目的地裝置40的實(shí)例系統(tǒng)10的框圖。圖1的系統(tǒng)10可對(duì)應(yīng)于視頻電話會(huì)議系統(tǒng)、服務(wù)器/客戶端系統(tǒng)、廣播臺(tái)/接收器系統(tǒng),或其中將視頻數(shù)據(jù)從源裝置(例如,A/V源裝置20)發(fā)送到目的地裝置(例如,A/V目的地裝置40)的任何其它系統(tǒng)。在一些實(shí)例中,A/V源裝置20及A/V目的地裝置40可執(zhí)行雙向信息交換。即,A/V源裝置20及A/V目的地裝置40可能夠編碼及解碼(以及發(fā)射及接收)音頻及視頻數(shù)據(jù)。在一些實(shí)例中,音頻編碼器26可包括語(yǔ)音編碼器(也稱作聲碼器)。在圖1的實(shí)例中,A/V源裝置20包括音頻源22及視頻源24。舉例來說,音頻源22可包括麥克風(fēng),所述麥克風(fēng)產(chǎn)生表示將由音頻編碼器26編碼的所俘獲音頻數(shù)據(jù)的電信號(hào)?;蛘?,音頻源22可包括存儲(chǔ)先前記錄的音頻數(shù)據(jù)的存儲(chǔ)媒體、例如計(jì)算機(jī)化合成器的音頻數(shù)據(jù)產(chǎn)生器,或任何其它音頻數(shù)據(jù)源。視頻源24可包括產(chǎn)生將由視頻編碼器28編碼的視頻數(shù)據(jù)的攝像機(jī)、編碼有先前記錄的視頻數(shù)據(jù)的存儲(chǔ)媒體、視頻數(shù)據(jù)產(chǎn)生單元,或任何其它視頻數(shù)據(jù)源。原始音頻及視頻數(shù)據(jù)可包括模擬或數(shù)字?jǐn)?shù)據(jù)。在通過音頻編碼器26及/或視頻編碼器28編碼之前,模擬數(shù)據(jù)可經(jīng)數(shù)字化。在講話參與者正在講話時(shí),音頻源22可獲得來自講話參與者的音頻數(shù)據(jù),且視頻源24可同時(shí)獲得所述講話參與者的視頻數(shù)據(jù)。在其它實(shí)例中,音頻源22可包括包含所存儲(chǔ)的音頻數(shù)據(jù)的計(jì)算機(jī)可讀存儲(chǔ)媒體,且視頻源24可包括包含所存儲(chǔ)的視頻數(shù)據(jù)的計(jì)算機(jī)可讀存儲(chǔ)媒體。以此方式,本發(fā)明中所描述的技術(shù)可應(yīng)用于實(shí)況、串流傳輸?shù)膶?shí)時(shí)音頻及視頻數(shù)據(jù)或應(yīng)用于經(jīng)歸檔、預(yù)先記錄的音頻及視頻數(shù)據(jù)。對(duì)應(yīng)于視頻幀的音頻幀一般為含有與在視頻幀內(nèi)所含有的由視頻源24所俘獲的視頻數(shù)據(jù)同時(shí)由音頻源22俘獲的音頻數(shù)據(jù)的音頻幀。舉例來說,當(dāng)講話參與者一般通過講話而產(chǎn)生音頻數(shù)據(jù)時(shí),音頻源22俘獲音頻數(shù)據(jù),且視頻源24同時(shí)(即,在音頻源22正俘獲音頻數(shù)據(jù)的同時(shí))俘獲講話參與者的視頻數(shù)據(jù)。因此,音頻幀可在時(shí)間上對(duì)應(yīng)于一個(gè)或一個(gè)以上特定視頻幀。因此,對(duì)應(yīng)于視頻幀的音頻幀一般對(duì)應(yīng)于其中同時(shí)俘獲到音頻數(shù)據(jù)及視頻數(shù)據(jù)且音頻幀及視頻幀分別包括音頻數(shù)據(jù)及同時(shí)俘獲的視頻數(shù)據(jù)的情形。在一些實(shí)例中,音頻編碼器26可將表示記錄每一經(jīng)編碼的音頻幀的音頻數(shù)據(jù)的時(shí)間的時(shí)戳編碼于所述經(jīng)編碼的音頻幀中,且類似地,視頻編碼器28可將表示記錄每一經(jīng)編碼的視頻幀的視頻數(shù)據(jù)的時(shí)間的時(shí)戳編碼于所述經(jīng)編碼的視頻幀中。在這些實(shí)例中,對(duì)應(yīng)于視頻幀的音頻幀可包括包含時(shí)戳的音頻幀及包含同一時(shí)戳的視頻幀。A/V源裝置20可包含內(nèi)部時(shí)鐘,音頻編碼器26及/或視頻編碼器28可從所述內(nèi)部時(shí)鐘產(chǎn)生時(shí)戳,或音頻源22及視頻源24可使用所述內(nèi)部時(shí)鐘來使音頻及視頻數(shù)據(jù)分別與一時(shí)戳相關(guān)聯(lián)。在一些實(shí)例中,音頻源22可將 對(duì)應(yīng)于記錄音頻數(shù)據(jù)的時(shí)間的數(shù)據(jù)發(fā)送到音頻編碼器26,且視頻源24可將對(duì)應(yīng)于記錄視頻數(shù)據(jù)的時(shí)間的數(shù)據(jù)發(fā)送到視頻編碼器28。在一些實(shí)例中,音頻編碼器26可將一序列識(shí)別符編碼于經(jīng)編碼音頻數(shù)據(jù)中以指示經(jīng)編碼音頻數(shù)據(jù)的相對(duì)時(shí)間排序而不必指示記錄音頻數(shù)據(jù)的絕對(duì)時(shí)間,且類似地,視頻編碼器28也可使用序列識(shí)別符來指示經(jīng)編碼視頻數(shù)據(jù)的相對(duì)時(shí)間排序。類似地,在一些實(shí)例中,序列識(shí)別符可經(jīng)映射或以其它方式與一時(shí)戳相關(guān)。本發(fā)明的技術(shù)大體上是針對(duì)經(jīng)編碼多媒體(例如,音頻及視頻)數(shù)據(jù)的輸送,以及經(jīng)輸送的多媒體數(shù)據(jù)的接收及后續(xù)的解譯及解碼。如圖1的實(shí)例中所展示,視頻源24可將一場(chǎng)景的多個(gè)視圖提供到視頻編碼器28。A/V源裝置20可將“服務(wù)”提供到A/V目的地裝置40。服務(wù)大體上對(duì)應(yīng)于MVC數(shù)據(jù)的可用視圖的子集。舉例來說,MVC數(shù)據(jù)可能可用于排序成零到七的八個(gè)視圖。一個(gè)服務(wù)可對(duì)應(yīng)于具有兩個(gè)視圖的立體視頻,而另一服務(wù)可對(duì)應(yīng)于四個(gè)視圖,且又一服務(wù)可對(duì)應(yīng)于所有八個(gè)視圖。大體來說,服務(wù)對(duì)應(yīng)于可用視圖的任何組合(即,任何子集)。服務(wù)也可對(duì)應(yīng)于可用視圖的組合以及音頻數(shù)據(jù)。操作點(diǎn)可對(duì)應(yīng)于服務(wù),使得A/V源裝置20可對(duì)于由A/V源裝置20提供的每一服務(wù)進(jìn)一步提供操作點(diǎn)描述符。數(shù)據(jù)(無論是音頻還是視頻)的每一個(gè)別串流被稱作基本串流。基本串流為一節(jié)目的單一、經(jīng)數(shù)字譯碼(可能經(jīng)壓縮)的分量。舉例來說,所述節(jié)目的經(jīng)譯碼視頻或音頻部分可為基本串流?;敬骺稍诜庋b于視頻文件內(nèi)之如轉(zhuǎn)換成包化基本串流(PES)。在同一節(jié)目?jī)?nèi),使用串流ID來區(qū)分屬于一個(gè)基本串流的PES包與屬于另一基本串流的PES包?;敬鞯臄?shù)據(jù)的基本單元為包化基本串流(PES)包。因此,MVC視頻數(shù)據(jù)的每一視圖對(duì)應(yīng)于相應(yīng)基本串流。類似地,音頻數(shù)據(jù)對(duì)應(yīng)于一個(gè)或一個(gè)以上相應(yīng)基本串流。根據(jù)本發(fā)明的技術(shù),序列數(shù)據(jù)集(可包含例如序列參數(shù)集、圖片參數(shù)集和序列層級(jí)SEI消息)可包含在參數(shù)集軌道或參數(shù)集基本串流中。本發(fā)明的技術(shù)可應(yīng)用于符合MPEG-2系統(tǒng)的視頻文件或視頻串流,包含經(jīng)包化基本串流(PES)、節(jié)目串流(PS)和輸送串流(TS),及其AVC、SVC和MVC擴(kuò)展??蓪VC經(jīng)譯碼視頻序列分離成若干子位流,所述子位流中的每一者為基本串流??墒褂肕VC view_id子集來識(shí)別每一子位流?;诿恳?MVC view_id子集的概念,定義MVC視頻子位流。MVC視頻子位流含有列于MVC view_id子集中的視圖的NAL單元。節(jié)目串流通常僅含有來自基本串流的那些視圖的NAL單元。還設(shè)計(jì)任何兩個(gè)基本串流不可含有相同視圖。在圖1的實(shí)例中,封裝單元30接收包括來自視頻編碼器28的視頻數(shù)據(jù)的基本串流及包括來自音頻編碼器26的音頻數(shù)據(jù)的基本串流。在一些實(shí)例中,視頻編碼器28及音頻編碼器26可各自包含用于從經(jīng)編碼數(shù)據(jù)形成PES包的包化器。在其它實(shí)例中,視頻編碼器28及音頻編碼器26可各自與用于從經(jīng)編碼數(shù)據(jù)形成PES包的相應(yīng)包化器介接。在再其它實(shí)例中,封裝單元30可包含用于從經(jīng)編碼音頻及視頻數(shù)據(jù)形成PES包的包化器。如本發(fā)明中所使用的“節(jié)目”可包括音頻數(shù)據(jù)與視頻數(shù)據(jù)(例如,由A/V源裝置20的服務(wù)遞送的音頻基本串流及可用視圖的子集)的組合。每一 PES包包含識(shí)別PES包所屬于的基本串流的stream_id。封裝單元30負(fù)責(zé)將基本串流組裝成視頻文件。封裝單元30從音頻編碼器26及視頻編碼器28接收一節(jié)目的基本串流的PES包,且從所述PES包形成對(duì)應(yīng)網(wǎng)絡(luò)抽象層(NAL)單元。在H.264/AVC (高級(jí)視頻譯碼)的實(shí)例中,將經(jīng)譯碼視頻區(qū)段組織成NAL單元,此提供“網(wǎng)絡(luò)友好”視頻表示尋址應(yīng)用,例如視頻電話、存儲(chǔ)、廣播或串流傳輸。NAL單元可分類為視頻譯碼層(VCL)NAL單元及非VCL NAL單元。VCL單元可含有核心壓縮引擎,且可包含塊、宏塊及/或切片層級(jí)數(shù)據(jù)。其它NAL單元可為非VCL NAL單元。在一些實(shí)例中,一個(gè)時(shí)間實(shí)例(time instance)中的經(jīng)譯碼圖片(通常呈現(xiàn)為主要經(jīng)譯碼圖片)可含于一存取單元中,所述存取單元可包含一個(gè)或一個(gè)以上NAL單元。非VCL NAL單元可包含參數(shù)集NAL單元及SEI NAL單元,及其它單元。參數(shù)集可含有序列層級(jí)標(biāo)頭信息(在序列參數(shù)集(SPS)中)及很少改變的圖片層級(jí)標(biāo)頭信息(在圖片參數(shù)集(PPS)中)。就參數(shù)集(例如,PPS及SPS)而論,無需對(duì)于每一序列或圖片來重復(fù)很少改變的信息,因此可改善譯碼效率。此外,參數(shù)集的使用可實(shí)現(xiàn)重要標(biāo)頭信息的頻帶外傳輸,從而避免為了錯(cuò)誤恢復(fù)而進(jìn)行冗余傳輸?shù)男枰T陬l帶外傳輸實(shí)例中,參數(shù)集NAL單元可在與其它NAL單元(例如,SEI NAL單元)不同的信道上傳輸。補(bǔ)充增強(qiáng)信息(SEI)可含有對(duì)于從VCL NAL單元解碼經(jīng)譯碼圖片樣本來說并非必要但是可有助于與解碼、顯示、錯(cuò)誤恢復(fù)和其它目的有關(guān)的過程的信息。SEI消息可含于非VCL NAL單元中。SEI消息是一些標(biāo)準(zhǔn)規(guī)范的標(biāo)準(zhǔn)化部分,且因此對(duì)于符合標(biāo)準(zhǔn)的解碼器實(shí)施方案并非總是強(qiáng)制的。SEI消息可為序列層級(jí)SEI消息或圖片層級(jí)SEI消息。一些序列層級(jí)信息可含于SEI消息中,例如在SVC實(shí)例中的可縮放性信息SEI消息和在MVC中的視圖可縮放性信息SEI消息。這些實(shí)例SEI消息可傳遞關(guān)于例如操作點(diǎn)的提取和操作點(diǎn)的特性的信息。 根據(jù)本發(fā)明的技術(shù),封裝單元30可布置視頻文件的數(shù)據(jù)以使得序列層級(jí)SEI消息與由序列層級(jí)SEI消息描述的經(jīng)譯碼視頻圖片解耦。以此方式,封裝單元30可將序列層級(jí)SEI消息與含有經(jīng)譯碼視頻數(shù)據(jù)的特定存取單元解耦。舉例來說,封裝單元30可在參數(shù)集基本串流中包含序列層級(jí)SEI消息,以及SPS和PPS數(shù)據(jù),例如用于根據(jù)AVC或其擴(kuò)展(例如MVC和SVC)編碼的視頻數(shù)據(jù)。另外,對(duì)于其中視頻數(shù)據(jù)是根據(jù)MVC和/或SVC編碼的實(shí)例,封裝單元30可在參數(shù)集基本串流中包含子集SPS。在一些實(shí)例中,封裝單元30可經(jīng)配置以將僅某些SEI消息放置于參數(shù)集基本串流中。舉例來說,對(duì)于H. 264/AVC,封裝單元30可在參數(shù)集基本串流中包含描述平移掃描矩形和立體視頻信息的SEI消息。作為另一實(shí)例,對(duì)于SVC,封裝單元30可在參數(shù)集基本串流中包含描述可縮放性信息的SEI消息。作為又一實(shí)例,對(duì)于MVC,封裝單元30可包含描述視圖可縮放性彳目息、多視圖獲取彳目息和多視圖場(chǎng)景彳目息的SEI消息。大體上,SPS和PPS (和子集SPS,例如對(duì)于MVC和SVC)以及序列層級(jí)SEI消息可統(tǒng)稱為“序列數(shù)據(jù)集”。如上文論述,序列數(shù)據(jù)集可包含在例如參數(shù)集基本串流等單獨(dú)軌道中。在一些實(shí)例中,并非將序列數(shù)據(jù)集放置于單獨(dú)參數(shù)軌道中,而是封裝單元30可在文件中連續(xù)地呈現(xiàn)一序列的序列數(shù)據(jù)集,使得目的地裝置40可使用HTTP部分GET請(qǐng)求來檢索整個(gè)序列數(shù)據(jù)集。舉例來說,序列數(shù)據(jù)集可含于專門的視頻樣本中,所述視頻樣本不含經(jīng)譯碼視頻數(shù)據(jù),例如經(jīng)譯碼視頻圖片的部分或全體。通過將序列數(shù)據(jù)集與由序列數(shù)據(jù)集描述的視頻數(shù)據(jù)分離,目的地裝置40可與由序列數(shù)據(jù)集描述的視頻數(shù)據(jù)分離地檢索序列數(shù)據(jù)集。以此方式,源裝置20可在將由序列數(shù)據(jù)集描述的視頻數(shù)據(jù)發(fā)射到目的地裝置40之前將序列數(shù)據(jù)集發(fā)射到目的地裝置40。因此,源裝置20可在將含有經(jīng)譯碼視頻圖片的電影片段發(fā)送到目的地裝置40之前將序列數(shù)據(jù)集發(fā)送到目的地裝置40。在一些實(shí)例中,例如關(guān)于3GPP視頻文件的使用,序列參數(shù)集可包含在單獨(dú)的3GPP文件中,所述3GPP文件可在目的地裝置40存取媒體簡(jiǎn)報(bào)描述符之后發(fā)送到目的地裝置40。也就是說,目的地裝置40可檢索視頻數(shù)據(jù)序列的媒體簡(jiǎn)報(bào)描述符,隨后檢索包含所述視頻數(shù)據(jù)序列的序列數(shù)據(jù)集的3GPP文件,且隨后檢索所述視頻數(shù)據(jù)序列自身。在一些實(shí)例中,序列數(shù)據(jù)集可形成媒體簡(jiǎn)報(bào)描述符自身的部分。在一些實(shí)例中,序列數(shù)據(jù)集可包含在不含經(jīng)譯碼視頻數(shù)據(jù)的電影盒的部分中。在一些實(shí)例中,序列數(shù)據(jù)集可形成放置于電影盒之后的電影片段。 封裝單元30可形成包括識(shí)別NAL所屬于的節(jié)目的標(biāo)頭以及有效負(fù)載(例如,音頻數(shù)據(jù)、視頻數(shù)據(jù)或描述NAL單元所對(duì)應(yīng)的輸送串流或節(jié)目串流的數(shù)據(jù))的NAL單元。舉例來說,在H. 264/AVC中,NAL單元包含I字節(jié)的標(biāo)頭及變化大小的有效負(fù)載。在一個(gè)實(shí)例中,NAL 單兀標(biāo)頭包括 priority_id 兀素、temporal_id 兀素、anchor_pic_flag 兀素、view_id元素、non_idr_flag元素,及inter_view_f lag元素。在常規(guī)MVC中,除了包含4字節(jié)的MVC NAL單元標(biāo)頭及NAL單元有效負(fù)載的前綴NAL單元及MVC經(jīng)譯碼切片NAL單元外,保留
H.264所定義的NAL單元。NAL標(biāo)頭的priority_id元素可用于簡(jiǎn)單的單路徑位流調(diào)適過程。temporal_id元素可用于指定對(duì)應(yīng)NAL單元的時(shí)間層級(jí),其中不同時(shí)間層級(jí)對(duì)應(yīng)于不同幀速率。anchor_pic_flag元素可指示圖片為錨定圖片還是非錨定圖片。錨定圖片及輸出次序(即,顯示次序)在錨定圖片后的所有圖片可正確地加以解碼而無需對(duì)解碼次序(即,位流次序)在前的圖片進(jìn)行解碼,且因此,可用作隨機(jī)存取點(diǎn)。錨定圖片及非錨定圖片可具有不同相依性,兩者均在序列參數(shù)集中用信號(hào)表示。其它旗標(biāo)將被論述并用于此章的以下部分中。此錨定圖片也可稱為開放GOP(圖片群組)存取點(diǎn),而在non_idr_flag元素等于零時(shí)也支持封閉GOP存取點(diǎn)。non_idr_flag元素指示圖片為瞬時(shí)解碼器刷新(IDR)還是視圖1DR(V-1DR)圖片。通常,可正確地解碼IDR圖片及輸出次序或位流次序在其后的所有圖片而無需對(duì)解碼次序或顯示次序在前的圖片進(jìn)行解碼。view_id元素可包括可用以識(shí)別視圖的語(yǔ)法信息,其可用于MVC解碼器內(nèi)的數(shù)據(jù)互動(dòng)功能(例如,用于視圖間預(yù)測(cè))且可用于解碼器外的數(shù)據(jù)互動(dòng)功能(例如,用于再現(xiàn))。inter_view_flag元素可指定是否由其它視圖使用對(duì)應(yīng)NAL單元以用于視圖間預(yù)測(cè)。為了傳達(dá)可符合AVC的用于基礎(chǔ)視圖的4字節(jié)NAL單元標(biāo)頭信息,在MVC中定義前綴NAL單元。在MVC的上下文中,基礎(chǔ)視圖存取單元包含視圖的當(dāng)前時(shí)間實(shí)例的VCL NAL單元以及其僅含有NAL單元標(biāo)頭的前綴NAL單元。H. 264/AVC解碼器可忽略前綴NAL單元。在有效負(fù)載中包含視頻數(shù)據(jù)的NAL單元可包括各種粒度層級(jí)的視頻數(shù)據(jù)。舉例來說,NAL單元可包括一視頻數(shù)據(jù)塊、一宏塊、多個(gè)宏塊、一視頻數(shù)據(jù)切片,或視頻數(shù)據(jù)的整個(gè)幀。封裝單元30可從視頻編碼器28接收呈基本串流的PES包的形式的經(jīng)編碼視頻數(shù)據(jù)。封裝單元30可使每一基本串流與對(duì)應(yīng)節(jié)目相關(guān)聯(lián)。封裝單元30也可從多個(gè)NAL單元組裝存取單元。通常,一存取單元可包括用于表示一視頻數(shù)據(jù)幀以及對(duì)應(yīng)于所述幀的音頻數(shù)據(jù)(當(dāng)此音頻數(shù)據(jù)可用時(shí))的一個(gè)或一個(gè)以上NAL單元。一存取單元通常包含一個(gè)輸出時(shí)間實(shí)例的所有NAL單元,例如,一個(gè)時(shí)間實(shí)例的所有音頻及視頻數(shù)據(jù)。舉例來說,如果每一視圖具有20個(gè)幀/秒(fps)的幀速率,則每一時(shí)間實(shí)例可對(duì)應(yīng)于0. 05秒的時(shí)間間隔。在此時(shí)間間隔期間,可同時(shí)再現(xiàn)同一存取單元(同一時(shí)間實(shí)例)的所有視圖的特定幀。在對(duì)應(yīng)于H. 264/AVC的實(shí)例中,一存取單元可包括一個(gè)時(shí)間實(shí)例中的一經(jīng)譯碼圖片,所述經(jīng)譯碼圖片可呈現(xiàn)為主要經(jīng)譯碼圖片。因此,一存取單元可包括一共同時(shí)間實(shí)例的所有音頻及視頻幀,例如對(duì)應(yīng)于時(shí)間X的所有視圖。本發(fā)明還將一特定視圖的經(jīng)編碼圖片稱作“視圖分量”。即,一視圖分量可包括在特定時(shí)間的一特定視圖的經(jīng)編碼圖片(或幀)。因此,存取單元可定義為包括一共同時(shí)間實(shí)例的所有視圖分量。存取單元的解碼次序不必必須與輸出或顯示次序相同。如同大多數(shù)視頻譯碼標(biāo)準(zhǔn),H. 264/AVC定義無錯(cuò)誤位流的語(yǔ)法、語(yǔ)意及解碼過程,所述各者中的任一者均遵照某一簡(jiǎn)檔或?qū)蛹?jí)。H. 264/AVC不指定編碼器,但編碼器的任務(wù)是保證所產(chǎn)生的位流對(duì)于解碼器來說符合標(biāo)準(zhǔn)。在視頻譯碼標(biāo)準(zhǔn)的上下文中,“簡(jiǎn)檔”對(duì)應(yīng)于算法、特征或工具及施加于其的約束的一子集。如由H. 264標(biāo)準(zhǔn)所定義,例如,“簡(jiǎn)檔”為由
H.264標(biāo)準(zhǔn)指定的整個(gè)位流語(yǔ)法的一子集?!皩蛹?jí)”對(duì)應(yīng)于解碼器資源消耗(例如,解碼器存儲(chǔ)器及計(jì)算)的限制,所述限制與圖片的分辨率、位速率及宏塊(MB)處理速率有關(guān)??梢詐r0file_idC (簡(jiǎn)檔指示符)值用信號(hào)表`示一簡(jiǎn)檔,而可以Ievelidc (層級(jí)指示符)值用信號(hào)表不一層級(jí)。舉例來說,H. 264標(biāo)準(zhǔn)認(rèn)識(shí)到,在給定簡(jiǎn)檔的語(yǔ)法外加的邊界內(nèi),仍有可能需要編碼器及解碼器的性能的大變化,這取決于位流中的語(yǔ)法元素所采取的值(例如,經(jīng)解碼圖片的指定大小)。札264標(biāo)準(zhǔn)進(jìn)一步認(rèn)識(shí)到,在許多應(yīng)用中,實(shí)施能夠應(yīng)對(duì)一特定簡(jiǎn)檔內(nèi)的語(yǔ)法的所有假設(shè)使用的解碼器既不實(shí)際也不經(jīng)濟(jì)。因此,H. 264標(biāo)準(zhǔn)將“層級(jí)”定義為外加于位流中的語(yǔ)法元素的值的約束的一指定集合。這些約束可為對(duì)值的簡(jiǎn)單限制?;蛘?,這些約束可采取對(duì)值的算術(shù)組合(例如,圖片寬度乘以圖片高度乘以每秒解碼的圖片的數(shù)目)的約束的形式。H. 264標(biāo)準(zhǔn)進(jìn)一步使得個(gè)別實(shí)施方案可對(duì)于每一受支持簡(jiǎn)檔支持一不同層級(jí)。遵照一簡(jiǎn)檔的解碼器通常支持所述簡(jiǎn)檔中定義的所有特征。舉例來說,作為一譯碼特征,B圖片譯碼在H. 264/AVC的基線簡(jiǎn)檔中不受支持,但在H. 264/AVC的其它簡(jiǎn)檔中受到支持。遵照一層級(jí)的解碼器應(yīng)能夠解碼不需要超出所述層級(jí)中定義的限制的資源的任何位流。簡(jiǎn)檔及層級(jí)的定義可有助于可解譯性。舉例來說,在視頻傳輸期間,一對(duì)簡(jiǎn)檔及層級(jí)定義可對(duì)于整個(gè)傳輸會(huì)話來加以協(xié)商并達(dá)成一致。更特定來說,在a 264/AVC中,層級(jí)可定義(例如)對(duì)以下各者的限制需要處理的宏塊的數(shù)目、經(jīng)解碼圖片緩沖器(DPB)大小、經(jīng)譯碼圖片緩沖器(CPB)大小、垂直運(yùn)動(dòng)向量范圍、每?jī)蓚€(gè)連續(xù)MB的運(yùn)動(dòng)向量的最大數(shù)目,及B塊是否可具有小于8X8像素的子宏塊分割區(qū)。以此方式,一解碼器可確定所述解碼器是否能夠適當(dāng)?shù)亟獯a所述位流。參數(shù)集通常含有序列層標(biāo)頭信息(在序列參數(shù)集(SPS)中)及很少改變的圖片層標(biāo)頭信息(在圖片參數(shù)集(PPS)中)。就參數(shù)集而論,無需對(duì)于每一序列或圖片來重復(fù)此很少改變的信息,因此可改善譯碼效率。此外,參數(shù)集的使用可實(shí)現(xiàn)標(biāo)頭信息的頻帶外傳輸,從而避免為了錯(cuò)誤恢復(fù)而進(jìn)行冗余傳輸?shù)男枰?。在頻帶外傳輸中,參數(shù)集NAL單元是在與其它NAL單元不同的信道上傳輸。SVC和MVC的實(shí)例提供用于可縮放視頻或多視圖視頻的序列參數(shù)集(SPS)擴(kuò)展。SPS擴(kuò)展信息可含于子SPS NAL單元中,所述單元可具有與其它NAL單元不同的NAL單元類型。受支持操作點(diǎn)的簡(jiǎn)檔和層級(jí)信息可包含于包含SPS擴(kuò)展信息的NAL單元中。媒體簡(jiǎn)報(bào)可包含媒體簡(jiǎn)報(bào)描述符(MPD),其可含有不同的替代表示(例如,具有不同質(zhì)量的視頻服務(wù))的描述且所述描述可包含例如編解碼器信息、簡(jiǎn)檔值和層級(jí)值。目的地裝置40可檢索媒體簡(jiǎn)報(bào) 盒)中。視頻壓縮標(biāo)準(zhǔn)(例如,ITU-TH. 261、H. 262、H. 263、MPEG-1, MPEG-2 及 H. 264/MPEG-4第10部分)利用運(yùn)動(dòng)補(bǔ)償時(shí)間預(yù)測(cè)來減少時(shí)間冗余。編碼器使用從一些先前經(jīng)編碼圖片(本文中也被稱作幀)的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)以根據(jù)運(yùn)動(dòng)向量來預(yù)測(cè)當(dāng)前經(jīng)譯碼圖片。在典型視頻譯碼中,存在三種主要圖片類型。所述三種主要圖片類型為經(jīng)幀內(nèi)譯碼圖片(“I圖片”或“I幀”)、預(yù)測(cè)圖片(“P圖片”或“P幀”)及雙向預(yù)測(cè)圖片(“B圖片”或“B幀”)。P圖片僅使用時(shí)間次序在當(dāng)前圖片之前的參考圖片。在B圖片中,可從一個(gè)或兩個(gè)參考圖片來預(yù)測(cè)所述B圖片的每一塊。這些參考圖片的時(shí)間次序可位于當(dāng)前圖片之前或之后。根據(jù)H. 264譯碼標(biāo)準(zhǔn),作為一實(shí)例,B圖片使用先前經(jīng)譯碼參考圖片的兩個(gè)列表,列表0及列表I。這兩個(gè)列表可各自含有時(shí)間次序上為過去及/或未來的經(jīng)譯碼圖片。可以以下若干方式中的一者預(yù)測(cè)B圖片中的塊根據(jù)列表0參考圖片的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)、根據(jù)列表I參考圖片的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè),或根據(jù)列表0參考圖片與列表I參考圖片兩者的組合的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)。為了得到列表0參考圖片與列表I參考圖片兩者的組合,分別從列表0與列表I參考圖片獲得兩個(gè)運(yùn)動(dòng)補(bǔ)償參考區(qū)域。所述兩個(gè)運(yùn)動(dòng)補(bǔ)償參考區(qū)域的組合將用以預(yù)測(cè)當(dāng)前塊。ITU-T H. 264標(biāo)準(zhǔn)支持各種塊大小的幀內(nèi)預(yù)測(cè)(例如,對(duì)于明度分量的16乘16、8乘8或4乘4,以及對(duì)于色度分量的8X8)以及各種塊大小的幀間預(yù)測(cè)(例如,對(duì)于明度分量的16X16、16X8、8X16、8X8、8X4、4X8及4X4,以及對(duì)于色度分量的對(duì)應(yīng)經(jīng)縮放大小)。在本發(fā)明中,“ X ”與“乘”可互換使用以指代按照垂直及水平尺寸的塊的像素尺寸,例如,16X16像素或16乘16像素。一般來說,16X16塊將在垂直方向上具有16個(gè)像素(y=16),且在水平方向上具有16個(gè)像素(x=16)。同樣,NXN塊一般在垂直方向上具有N個(gè)像素,且在水平方向上具有N個(gè)像素,其中N表示非負(fù)整數(shù)值。可將塊中的像素排列成行及列。小于16乘16的塊大小可稱作16乘16宏塊的分割區(qū)。視頻塊可包括像素域中的像素?cái)?shù)據(jù)的塊,或變換域中的變換系數(shù)的塊,例如,以下變換應(yīng)用,例如離散余弦變換(DCT)、整數(shù)變換、小波變換,或與殘余視頻塊數(shù)據(jù)在概念上類似的變換,所述殘余視頻塊數(shù)據(jù)表示經(jīng)譯碼視頻塊與預(yù)測(cè)性視頻塊之間的像素差。在一些狀況下,視頻塊可包括變換域中的經(jīng)量化變換系數(shù)的塊。較小視頻塊可提供較好分辨率,且可用于包含高細(xì)節(jié)水平的視頻幀的位置。一般來說,可將宏塊及各種分割區(qū)(有時(shí)稱作子塊)視為視頻塊。另外,可將一切片視為多個(gè)視頻塊,例如宏塊及/或子塊。每一切片可為一視頻幀的可獨(dú)立解碼單元?;蛘?,幀自身可為可解碼單元,或幀的其它部分可被定義為可解碼單元。術(shù)語(yǔ)“經(jīng)譯碼單元”或“譯碼單元”可指代一視頻幀的任何可獨(dú)立解碼單元,例如整個(gè)幀、幀的一切片、也稱作序列的圖片群組(GOP),或根據(jù)適用的譯碼技術(shù)定義的另一可獨(dú)立解碼單元。術(shù)語(yǔ)宏塊指用于根據(jù)包括16X 16像素的二維像素陣列編碼圖片及/或視頻數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)。每一像素包括一色度分量及一亮度分量。因此,宏塊可界定四個(gè)亮度塊(各自包括8X8像素的二維陣列)、兩個(gè)色度塊(各自包括16X16像素的二維陣列)及一標(biāo)頭,所述標(biāo)頭包括語(yǔ)法信息,例如經(jīng)譯碼塊模式(CBP)、編碼模式(例如,幀內(nèi)(I)或幀間(P或B)編碼模式)、經(jīng)幀內(nèi)編碼塊的分割區(qū)的分割區(qū)大小(例如,16 X 16、16 X 8、8 X 16、8 X 8、8X4、4X8或4X4),或經(jīng)幀間編碼宏塊的一個(gè)或一個(gè)以上運(yùn)動(dòng)向量。視頻編碼器28、視頻解碼器48、音頻編碼器26、音頻解碼器46、封裝單元30及解封裝單元38在適當(dāng)時(shí)各自可實(shí)施為各種合適處理電路中的任一者,例如一個(gè)或一個(gè)以上微處理器、數(shù)字信號(hào)處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門陣列(FPGA)、離散邏輯電路、軟件、硬件、固件,或其任何組合。視頻編碼器28及視頻解碼器48中的每一者可包含于一個(gè)或一個(gè)以上編碼器或解碼器中,其任一者可集成為組合式視頻編碼器/解碼器(CODEC)的部分。同樣,音頻編碼器26及音頻解碼器46中的每一者可包含于一個(gè)或一個(gè)以上編碼器或解碼器中,其任一者可集 成為組合式CODEC的部分。包含視頻編碼器28、視頻解碼器48、音頻編碼器音頻編碼器26、音頻解碼器46、封裝單元30及/或解封裝單元38的設(shè)備可包括集成電路、微處理器及/或無線通信裝置,例如蜂窩式電話。在封裝單元30已基于接收到的數(shù)據(jù)將NAL單元及/或存取單元組裝成一視頻文件之后,封裝單元30將所述視頻文件傳遞到輸出接口 32以供輸出。在一些實(shí)例中,封裝單元30可在本地存儲(chǔ)所述視頻文件或經(jīng)由輸出接口 32將所述視頻文件發(fā)送到遠(yuǎn)程服務(wù)器,而非直接將所述視頻文件發(fā)送到目的地裝置40。舉例來說,輸出接口 32可包括發(fā)射器、收發(fā)器、用于將數(shù)據(jù)寫入到計(jì)算機(jī)可讀媒體的裝置,例如光驅(qū)、磁性媒體驅(qū)動(dòng)器(例如,軟驅(qū)動(dòng)器)、通用串行總線(USB)端口、網(wǎng)絡(luò)接口或其它輸出接口。輸出接口 32將所述視頻文件輸出到計(jì)算機(jī)可讀媒體34,例如傳輸信號(hào)、磁性媒體、光學(xué)媒體、存儲(chǔ)器、快閃驅(qū)動(dòng)器或其它計(jì)算機(jī)可讀媒體。最終,輸入接口 36從計(jì)算機(jī)可讀媒體34檢索數(shù)據(jù)。舉例來說,輸入接口 36可包括光驅(qū)、磁性媒體驅(qū)動(dòng)器、USB端口、接收器、收發(fā)器或其它計(jì)算機(jī)可讀媒體接口。輸入接口36可將NAL單元或存取單元提供到解封裝單元38。解封裝單元38可將一視頻文件的元素解封裝成組成的PES串流、將所述PES串流解包化以檢索經(jīng)編碼數(shù)據(jù),及將所述經(jīng)編碼數(shù)據(jù)發(fā)送到音頻解碼器46或視頻解碼器48,這取決于所述經(jīng)編碼數(shù)據(jù)是音頻串流的部分還是視頻串流的部分,例如由所述串流的PES包標(biāo)頭所指示。音頻解碼器46解碼經(jīng)編碼音頻數(shù)據(jù)且將所述經(jīng)解碼音頻數(shù)據(jù)發(fā)送到音頻輸出42,而視頻解碼器48解碼經(jīng)編碼視頻數(shù)據(jù),且將所述經(jīng)解碼視頻數(shù)據(jù)(其可包含一串流的多個(gè)視圖)發(fā)送到視頻輸出44。
另外,解封裝單元38可將經(jīng)解碼序列數(shù)據(jù)集(可包含PPS數(shù)據(jù)、SPS數(shù)據(jù)和/或序列層級(jí)SEI消息)發(fā)送到視頻輸出44。視頻輸出44可包括使用一場(chǎng)景的單個(gè)視圖或一場(chǎng)景的多個(gè)視圖的顯示,例如同時(shí)或快速交替連續(xù)地呈現(xiàn)一場(chǎng)景的每一視圖的立體或自由立體顯示。視頻輸出44可使用序列數(shù)據(jù)集來顯示經(jīng)解碼視頻圖片。序列層級(jí)SEI消息也可用以輔助解碼過程,但適當(dāng)解碼視頻序列的樣本并不需要SEI消息。因此,視頻解碼器48也可在解碼視頻文件的視頻樣本時(shí)使用序列層級(jí)SEI消息。如上所述,SEI消息可用于多種目的。舉例來說,序列層級(jí)SEI消息可描述平移掃描信息,所述信息用于調(diào)整視頻數(shù)據(jù)以適應(yīng)顯示時(shí)的各種屏幕大小。因此,視頻輸出44(或其控制單元)可使用序列層級(jí)SEI消息來調(diào)整視頻數(shù)據(jù)以由視頻輸出44顯示。作為另一實(shí)例,序列層級(jí)SEI消息可描述立體視頻信息。也就是說,序列層級(jí)SEI消息可描述哪些圖片是用于三維視頻應(yīng)用的“左”或“右”圖像。因此,視頻輸出44可使用序列層級(jí)SEI消息來確定如何呈現(xiàn)三維視頻數(shù)據(jù)。舉例來說,視頻輸出44可使用光的不同極化或以不同的濾色器(例如,紅和綠)來顯示左圖像和右圖像,或可在左圖像與右圖像之間快速地交替,使得與視頻輸出44相關(guān)聯(lián)的作用中眼鏡可在允許光通過的透鏡之間交替。作為又一實(shí)例,序列層級(jí)SEI消息可提供可縮放性信息,例如對(duì)于其中根據(jù)SVC或MVC來構(gòu)建視頻文件的實(shí)例。因此,視頻解碼器48可使用序列層級(jí)SEI消息來確定增強(qiáng)層信息是否已被接收,且因此確定是否使用接收到的增強(qiáng)層數(shù)據(jù)或內(nèi)插值以對(duì)基本層視頻數(shù)據(jù)進(jìn)行上取樣。作為另一實(shí)例,序列層級(jí)SEI消息可提供多視圖獲取信息或多視圖場(chǎng)景信息,例如對(duì)于其中根據(jù)MVC來構(gòu)建視頻文件的實(shí)例。大體上,多視圖獲取信息SEI消息指定獲取環(huán)境的參數(shù),例如固有和非固有相機(jī)參數(shù)、視圖數(shù)目、焦距、主點(diǎn)、偏斜因數(shù)、旋轉(zhuǎn)參數(shù)和/或平移參數(shù)。多視圖場(chǎng)景信息SEI消息可在俘獲視圖時(shí)指定多個(gè)視圖之間的最大相異性。此信息可在解碼和/或再現(xiàn)三維視頻數(shù)據(jù)時(shí),例如當(dāng)從現(xiàn)存圖像構(gòu)建額外圖像時(shí)由視頻解碼器48和/或視頻輸出44使用。多視圖場(chǎng)景信息還可描述在圖像獲取期間一個(gè)或一個(gè)以上相機(jī)或條件的特性,例如因(例如)高達(dá)1024個(gè)視圖的相機(jī)設(shè)定引起的最大相異性是什么。多視圖場(chǎng)景信息還可提供與相機(jī)校準(zhǔn)和糾正相關(guān)的細(xì)節(jié)。圖2為說明實(shí)例封裝單元30的組件的框圖。在圖2的實(shí)例中,封裝單元30包含視頻輸入接口 80、音頻輸入接口 82、視頻文件創(chuàng)建單元60及視頻文件輸出接口 84。在此實(shí)例中,視頻文件創(chuàng)建單元60包含網(wǎng)絡(luò)抽象層(NAL)單元建構(gòu)器62、SEI消息提取單元64和序列數(shù)據(jù)集創(chuàng)建單元66。
`
視頻輸入接口 80及音頻輸入接口 82分別接收經(jīng)編碼視頻及音頻數(shù)據(jù)。當(dāng)數(shù)據(jù)經(jīng)編碼時(shí),視頻輸入接口 80及音頻輸入接口 82可接收經(jīng)編碼視頻及音頻數(shù)據(jù),或可從計(jì)算機(jī)可讀媒體檢索經(jīng)編碼視頻及音頻數(shù)據(jù)。在接收到經(jīng)編碼視頻及音頻數(shù)據(jù)后,視頻輸入接口80及音頻輸入接口 82即刻將經(jīng)編碼視頻及音頻數(shù)據(jù)傳遞到視頻文件創(chuàng)建單元60以組裝成一視頻文件。視頻文件創(chuàng)建單元60可對(duì)應(yīng)于一控制單元,所述控制單元包含經(jīng)配置以執(zhí)行歸其所有的功能及程序的硬件、軟件及/或固件。所述控制單元可進(jìn)一步執(zhí)行大體上歸封裝單元30所有的功能。對(duì)于其中視頻文件創(chuàng)建單元60以軟件和/或固件體現(xiàn)的實(shí)例,封裝單元30可包含包括用于視頻文件創(chuàng)建單元60的指令的計(jì)算機(jī)可讀媒體,和用以執(zhí)行所述指令的處理單元。視頻文件創(chuàng)建單元60的子單元(在此實(shí)例中,為NAL單元建構(gòu)器62、SEI消息提取單元64和序列數(shù)據(jù)集創(chuàng)建單元66)中的每一者可實(shí)施為個(gè)別硬件單元及/或軟件模塊,及/或可在功能上集成或進(jìn)一步分離成額外子單元。視頻文件創(chuàng)建單元60可對(duì)應(yīng)于任何合適處理單元或處理電路,例如一個(gè)或一個(gè)以上微處理器、專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門陣列(FPGA)、數(shù)字信號(hào)處理器(DSP),或其任何組合。視頻文件創(chuàng)建單元60可進(jìn)一步包含存儲(chǔ)用于NAL單元建構(gòu)器62、SEI消息提取單元64和序列數(shù)據(jù)集創(chuàng)建單元66中的任一者或全部的指令的非暫時(shí)性計(jì)算機(jī)可讀媒體,以及用于執(zhí)行所述指令的處理器。通常,視頻文件創(chuàng)建單元60可創(chuàng)建包含接收到的音頻及視頻數(shù)據(jù)的視頻文件。NAL單元建構(gòu)器62可形成包含經(jīng)編碼視頻及音頻樣本的NAL單元。視頻文件創(chuàng)建單元60可進(jìn)一步經(jīng)配置以組裝包含特定時(shí)間實(shí)例的所有NAL單元的存取單元。此外,視頻文件創(chuàng)建單元60可經(jīng)配置以使序列層級(jí)SEI消息與由序列層級(jí)SEI消息描述的經(jīng)編碼視頻圖片解耦,且與由序列層級(jí)SEI消息描述的經(jīng)編碼視頻圖片分離地將序列層級(jí)SEI消息存儲(chǔ)在創(chuàng)建的視頻文件中。視頻編碼器28 (圖1)可與視頻數(shù)據(jù)樣本一起包含SEI消息。在一些情況下,針對(duì)若干個(gè)別樣本從視頻編碼器28接收的SEI消息對(duì)于樣本中的每一者來說可為相同的。因此,并非針對(duì)樣本中的每一者發(fā)射相同SEI消息,在確定個(gè)別樣本的SEI消息對(duì)于所述樣本中的每一者來說相同(或非常類似)后,SEI消息提取單元64可將SEI消息與由SEI消息描述的樣本分離。可與一個(gè)以上經(jīng)編碼視頻圖片相關(guān)的此類SEI消息可稱為序列層級(jí)SEI消息。另外或替代地,視頻文件創(chuàng)建單元60可經(jīng)配置以產(chǎn)生經(jīng)譯碼視頻圖片序列的序列層級(jí)SEI消息。以此方式,視頻文 件創(chuàng)建單元60可產(chǎn)生序列層級(jí)SEI消息或?qū)F(xiàn)存SEI消息與視頻樣本分離以形成描述視頻樣本中的一者或一者以上的序列層級(jí)SEI消息。序列數(shù)據(jù)集創(chuàng)建單元66可創(chuàng)建由視頻文件創(chuàng)建單元60產(chǎn)生的視頻文件的序列數(shù)據(jù)集。序列數(shù)據(jù)集創(chuàng)建單元66可以序列參數(shù)集和/或圖片參數(shù)集數(shù)據(jù)來分組序列層級(jí)SEI消息。舉例來說,序列數(shù)據(jù)集創(chuàng)建單元66可在參數(shù)集基本串流中包含序列層級(jí)SEI消息,所述參數(shù)集基本串流包含SPS和PPS,且在一些實(shí)例(例如,關(guān)于SVC和MVC)中包含子集SPS0作為另一實(shí)例,序列數(shù)據(jù)集創(chuàng)建單元66可包含經(jīng)創(chuàng)建視頻文件的一連續(xù)部分中的經(jīng)譯碼視頻圖片序列的序列層級(jí)SEI消息。也就是說,序列數(shù)據(jù)集創(chuàng)建單元66可確保特定經(jīng)譯碼視頻圖片序列的序列層級(jí)SEI消息的數(shù)據(jù)在連續(xù)的一串一個(gè)或一個(gè)以上字節(jié)中分組在一起。舉例來說,序列數(shù)據(jù)集創(chuàng)建單元66可將序列數(shù)據(jù)集的序列層級(jí)SEI消息和其它數(shù)據(jù)組裝成特定視頻樣本,所述特定視頻樣本不含經(jīng)譯碼視頻圖片的任一部分。作為另一實(shí)例,例如關(guān)于3GPP,序列數(shù)據(jù)集創(chuàng)建單元66可將經(jīng)譯碼視頻圖片序列的序列數(shù)據(jù)集組裝成相對(duì)小的3GPP文件,所述3GPP文件位于包含由序列數(shù)據(jù)集描述的經(jīng)譯碼視頻圖片序列的一個(gè)或一個(gè)以上3GPP文件之前。替代地,序列數(shù)據(jù)集創(chuàng)建單元66可針對(duì)包含一個(gè)或一個(gè)以上3GPP文件的一個(gè)或一個(gè)以上相關(guān)簡(jiǎn)報(bào)在媒體簡(jiǎn)報(bào)描述(MPD)文件中包含序列數(shù)據(jù)集。作為又一實(shí)例,序列數(shù)據(jù)集創(chuàng)建單元66可在視頻文件的電影盒(moov盒)不包含經(jīng)譯碼視頻圖片時(shí)在所述電影盒內(nèi)包含序列數(shù)據(jù)集。作為另一實(shí)例,序列數(shù)據(jù)集創(chuàng)建單元66可在發(fā)生于視頻文件的電影盒(moov盒)之后但在包含經(jīng)譯碼視頻圖片的任何電影片段盒之前的電影片段盒(moof盒)內(nèi)包含序列數(shù)據(jù)集。通過將SPS、PPS、序列層級(jí)SEI消息和/或子集SPS分組為序列數(shù)據(jù)集,序列數(shù)據(jù)集創(chuàng)建單元66可簡(jiǎn)化將序列數(shù)據(jù)提供到客戶端裝置(例如目的地裝置40)的任務(wù)。以此方式,序列層級(jí)SEI消息可在由序列層級(jí)SEI消息描述的經(jīng)譯碼視頻圖片發(fā)射到目的地裝置40之前發(fā)射到目的地裝置40。大體上,序列數(shù)據(jù)集的SPS、PPS和序列層級(jí)SEI消息預(yù)期針對(duì)由序列數(shù)據(jù)集描述的視頻樣本序列保持恒定。然而,在一些情況下,SPS、PPS和/或序列層級(jí)SEI消息的某些部分可針對(duì)個(gè)別經(jīng)譯碼視頻圖片或針對(duì)經(jīng)譯碼視頻圖片的集合或子序列稍微有所不同。舉例來說,在封裝有若干經(jīng)譯碼視頻圖片的視頻文件中,可存在不一定共享SPS、PPS或序列層級(jí)SEI消息的相同信息的一個(gè)或一個(gè)以上序列。當(dāng)此情況發(fā)生時(shí),序列數(shù)據(jù)集創(chuàng)建單元66可創(chuàng)建多個(gè)參數(shù)集軌道,其中每一軌道可包含一組SPS、PPS和/或SEI消息,以及指示軌道的序列數(shù)據(jù)集何時(shí)適用的時(shí)序信息的指示。舉例來說,所述時(shí)序信息可指示視頻序列的開始時(shí)間,其指示軌道開始應(yīng)用于視頻序列的時(shí)間和/或包含時(shí)序信息的軌道不再適用的視頻序列結(jié)束時(shí)間。替代地,每一軌道的時(shí)序信息可僅指示結(jié)束時(shí)間,使得在到達(dá)特定參數(shù)集軌道的結(jié)束時(shí)間后,客戶端裝置可跳到下一參數(shù)集軌道。此時(shí)序信息可 對(duì)應(yīng)于協(xié)調(diào)世界時(shí)間(UTC)或參數(shù)集軌道在用于呈文件封裝格式的整個(gè)視頻的時(shí)間標(biāo)度中適用于的最后一視頻樣本(對(duì)于結(jié)束時(shí)間來說)的持續(xù)時(shí)間。多個(gè)參數(shù)集軌道中的一者可適用于視頻文件的所有樣本。序列數(shù)據(jù)集創(chuàng)建單元66可通過將參數(shù)集軌道的時(shí)序信息設(shè)定為比任一電影樣本或電影片段晚的UTC時(shí)間,來指示適用于視頻文件的所有樣本的參數(shù)集軌道。替代地,序列數(shù)據(jù)集創(chuàng)建單元66可針對(duì)適用于視頻文件的所有樣本的參數(shù)集軌道的時(shí)序信息指示零持續(xù)時(shí)間。對(duì)于其中序列數(shù)據(jù)集創(chuàng)建單元66創(chuàng)建多個(gè)參數(shù)集軌道的實(shí)例,序列數(shù)據(jù)集創(chuàng)建單元66可對(duì)參數(shù)集軌道中的每一者指派相應(yīng)的唯一識(shí)別符。當(dāng)例如目的地裝置40等客戶端裝置例如通過本地重放或在HTTP串流傳輸期間請(qǐng)求尋覓特定時(shí)間位置時(shí),目的地裝置40可確定若干參數(shù)集軌道中的哪一者適用于所尋覓的時(shí)間位置。客戶端裝置可請(qǐng)求具有指示相應(yīng)參數(shù)集軌道適用于比所尋覓時(shí)間位置晚的視頻樣本的時(shí)序信息的參數(shù)集軌道的識(shí)別符。服務(wù)器(例如,源裝置20)可維持用以標(biāo)記此類相關(guān)參數(shù)集軌道的數(shù)據(jù)結(jié)構(gòu)以確保相關(guān)參數(shù)集軌道遞送到客戶端,例如在HTTP串流傳輸?shù)纳舷挛闹?。在本地重放期間,客戶端可維持類似的數(shù)據(jù)結(jié)構(gòu)以確保相關(guān)參數(shù)集軌道由客戶端裝置剖析。而且,并非包含若干參數(shù)集軌道,序列數(shù)據(jù)集創(chuàng)建單元66可在視頻文件中包含若干序列數(shù)據(jù)集,其中每一者可連續(xù)地存儲(chǔ)在文件內(nèi)。也就是說,序列數(shù)據(jù)集中的每一者可連續(xù)地存儲(chǔ)以使得所述序列數(shù)據(jù)集中的特定一者的所有數(shù)據(jù)是連續(xù)的,但所述序列數(shù)據(jù)集不需要彼此連續(xù)地存儲(chǔ)。舉例來說,序列數(shù)據(jù)集創(chuàng)建單元66可在一序列數(shù)據(jù)集相關(guān)的一系列片段之前的視頻片段中存儲(chǔ)所述序列數(shù)據(jù)集,且隨后在所述系列片段之后存儲(chǔ)一新序列數(shù)據(jù)集。所述新序列數(shù)據(jù)集可與在存儲(chǔ)所述新序列數(shù)據(jù)集的片段之后的其它視頻片段相關(guān)。當(dāng)在文件中存儲(chǔ)多個(gè)序列數(shù)據(jù)集時(shí),序列數(shù)據(jù)集創(chuàng)建單元66可提供所述序列數(shù)據(jù)集中的每一者的時(shí)序信息,以及所述序列數(shù)據(jù)集中的每一者的唯一識(shí)別符。在視頻文件創(chuàng)建單元60產(chǎn)生包含與由序列層級(jí)SEI消息描述的經(jīng)譯碼視頻圖片分離的序列層級(jí)SEI消息的視頻文件之后,視頻文件創(chuàng)建單元60可將視頻文件傳遞到視頻文件輸出接口 84。視頻文件輸出接口 84可將視頻文件輸出(例如)到源裝置20的輸出接口 32。在一些實(shí)例中,視頻文件輸出接口 84可將視頻文件輸出到源裝置20的存儲(chǔ)媒體(未圖示)。視頻文件可在本地存儲(chǔ)于源裝置20內(nèi)、可存儲(chǔ)到便攜式存儲(chǔ)媒體(例如,DVD、藍(lán)光光盤、快閃驅(qū)動(dòng)器、軟磁盤或其它便攜式存儲(chǔ)媒體)、可經(jīng)由網(wǎng)絡(luò)輸出(例如,根據(jù)例如HTTP串流傳輸?shù)却鱾鬏攨f(xié)議)或以其它方式輸出,使得可由客戶端裝置(例如,目的地裝置40)來接收視頻文件。以此方式,視頻數(shù)據(jù)(例如,序列層級(jí)SEI消息和由序列層級(jí)SEI消息描述的經(jīng)譯碼視頻圖片)的輸出可包含視頻數(shù)據(jù)的存儲(chǔ)、傳送、發(fā)射和廣播。圖3為說明 可在各種位置中包含序列層級(jí)SEI消息的實(shí)例視頻文件100的元素的框圖。如上文所描述,根據(jù)ISO基礎(chǔ)媒體文件格式及其擴(kuò)展,視頻文件將數(shù)據(jù)存儲(chǔ)于被稱為“盒”的一系列對(duì)象中。在圖3的實(shí)例中,視頻文件100包含文件類型(FTYP)盒102、電影(MOOV)盒104、電影片段(MOOF)盒112及電影片段隨機(jī)存取(MFRA)盒114。文件類型盒102大體上描述視頻文件100的文件類型。文件類型盒102可包含識(shí)別描述視頻文件100的最佳用途的規(guī)范的數(shù)據(jù)。文件類型盒102可置于MOOV盒104、電影片段盒112及MFRA盒114之前。在圖3的實(shí)例中,MOOV盒104包含電影標(biāo)頭(MVHD)盒106、軌道(TRAK)盒108及一個(gè)或一個(gè)以上電影擴(kuò)展(MVEX)盒110。大體來說,MVHD盒106可描述視頻文件100的一般特性。舉例來說,MVHD盒106可包含描述在何時(shí)起初創(chuàng)建視頻文件100、在何時(shí)最后修改視頻文件100、視頻文件100的時(shí)間標(biāo)度、視頻文件100的重放持續(xù)時(shí)間的數(shù)據(jù),或大體上描述視頻文件100的其它數(shù)據(jù)。TRAK盒108可包含視頻文件100的軌道的數(shù)據(jù)。TRAK盒108可包含描述對(duì)應(yīng)于TRAK盒108的軌道的特性的軌道標(biāo)頭(TKHD)盒。在一些實(shí)例中,TRAK盒108可包含經(jīng)譯碼視頻圖片,而在其它實(shí)例中,軌道的經(jīng)譯碼視頻圖片可包含于可由TRAK盒108的數(shù)據(jù)參考的電影片段112中。在一些實(shí)例中,視頻文件100可包含一個(gè)以上軌道。因此,MOOV盒104可包含等于視頻文件100中的軌道的數(shù)目的數(shù)個(gè)TRAK盒。TRAK盒108可描述視頻文件100的對(duì)應(yīng)軌道的特性。舉例來說,TRAK盒108可描述對(duì)應(yīng)軌道的時(shí)間及/或空間信息。在封裝單元30(圖1)在視頻文件(例如,視頻文件100)中包含參數(shù)集軌道時(shí),類似于MOOV盒104的TRAK盒108的TRAK盒可描述參數(shù)集軌道的特性。封裝單元30可用信號(hào)表示描述參數(shù)集軌道的TRAK盒內(nèi)的參數(shù)集軌道中的序列層級(jí)SEI消息的存在。MVEX盒110可描述對(duì)應(yīng)電影片段112的特性,例如用信號(hào)表示視頻文件100除包含于MOOV盒104內(nèi)的視頻數(shù)據(jù)(如果存在)外還包含電影片段112。在串流傳輸視頻數(shù)據(jù)的上下文中,經(jīng)譯碼視頻圖片可包含于電影片段112中而非包含于MOOV盒104中。因此,所有經(jīng)譯碼視頻圖片可包含于電影片段112中而非包括于MOOV盒104中。MOOV盒104可包含等于視頻文件100中的電影片段112的數(shù)目的數(shù)個(gè)MVEX盒110。MVEX盒110中的每一者可描述電影片段112中的對(duì)應(yīng)一者的特性。舉例來說,每一MVEX盒可包含電影擴(kuò)展標(biāo)頭盒(MEHD)盒,其描述電影片段112中的對(duì)應(yīng)一者的持續(xù)時(shí)間。如上所述,封裝單元30可在不包含實(shí)際經(jīng)譯碼視頻數(shù)據(jù)的視頻樣本中存儲(chǔ)序列數(shù)據(jù)集。視頻樣本可大體上對(duì)應(yīng)于存取單元,所述存取單元為在特定時(shí)間實(shí)例處經(jīng)譯碼圖片的表示。在AVC的上下文中,經(jīng)譯碼圖片包含一個(gè)或一個(gè)以上VCL NAL單元,其含有用以構(gòu)建存取單元和其它相關(guān)聯(lián)非VCL NAL單元的所有像素的信息,例如SEI消息。因此,封裝單元30可在電影片段112中的一者中包含序列數(shù)據(jù)集,其可包含序列層級(jí)SEI消息。封裝單元30可進(jìn)一步將序列數(shù)據(jù)集和/或序列層級(jí)SEI消息的存在用信號(hào)表示為存在于電影片段112中的一者中位于MVEX盒110中對(duì)應(yīng)于電影片段112中的所述一者的一者內(nèi)。電影片段112可包含一個(gè)或一個(gè)以上經(jīng)譯碼視頻圖片。在一些實(shí)例中,電影片段112可包含一個(gè)或一個(gè)以上圖片群組(GOP),所述圖片群組中的每一者可包含若干經(jīng)譯碼視頻圖片,例如幀或圖片。另外,如上文所描述,在一些實(shí)例中,電影片段112可包含序列數(shù)據(jù)集。電影片段112中的每一者可包含電影片段標(biāo)頭盒(MFHD)。MVHD盒可描述對(duì)應(yīng)電影片段的特性,例如電影片段的序號(hào)。電影片段112可按序號(hào)次序包含于視頻文件100中。MFRA盒114可描述視頻文件100的電影片段112內(nèi)的隨機(jī)存取點(diǎn)。這可輔助執(zhí)行在視頻文件100內(nèi)尋覓特定時(shí)間位置。對(duì)于一些實(shí)例,MFRA盒114通常為任選的,且不需要包含于視頻文件中。同樣,例如目的地裝置40的客戶端裝置不一定需要參考MFRA盒114來正確地解碼并顯示 視頻文件100的視頻數(shù)據(jù)。MFRA盒114可包含等于視頻文件100的軌道的數(shù)目或(在一些實(shí)例中)等于視頻文件100的媒體軌道(例如,非提示軌道)的數(shù)目的數(shù)個(gè)軌道片段隨機(jī)存取(TFRA)盒。圖4是說明另一實(shí)例視頻文件140的元素的框圖,所述另一實(shí)例視頻文件140包含含有序列層級(jí)SEI消息156的參數(shù)集軌道146。特定來說,視頻文件140包含MOOV盒142和MDAT盒150。視頻文件140可進(jìn)一步包含其它盒,例如文件類型盒和/或MFRA盒等等。在圖4的實(shí)例中,MOOV盒142包含視頻數(shù)據(jù)軌道144和參數(shù)集軌道146。參數(shù)集軌道146對(duì)應(yīng)于圖片參數(shù)集(PPS) 152、序列參數(shù)集(SPS) 154和序列層級(jí)補(bǔ)充增強(qiáng)信息(SLSEI)消息156。視頻數(shù)據(jù)軌道144對(duì)應(yīng)于視頻片段160A到160N(視頻片段160)。大體上,視頻片段160可各自包含一個(gè)或一個(gè)以上經(jīng)譯碼視頻圖片。在圖4的實(shí)例中,PPS152、SPS154、序列層級(jí)SEI消息156以及視頻片段160的數(shù)據(jù)存儲(chǔ)在MDAT盒150中。PPS152、SPS154和序列層級(jí)SEI消息156可統(tǒng)稱為序列參數(shù)集。在一些實(shí)例中,參數(shù)集軌道146可包含一個(gè)以上圖片參數(shù)集。PPS152、SPS154和序列層級(jí)SEI消息156大體上描述視頻片段160的特性。這些特性可幫助例如目的地裝置40等客戶端裝置選擇、解碼和/或再現(xiàn)視頻片段160。作為一實(shí)例,當(dāng)視頻文件140對(duì)應(yīng)于AVC文件格式時(shí),序列層級(jí)SEI消息156可包含平移掃描矩形SEI消息、立體視頻信息SEI消息和/或幀封裝布置SEI消息中的一者或一者以上。作為另一實(shí)例,當(dāng)視頻文件140對(duì)應(yīng)于SVC文件格式時(shí),序列層級(jí)SEI消息156可包含可縮放性信息SEI消息。作為另一實(shí)例,當(dāng)視頻文件140對(duì)應(yīng)于MVC文件格式時(shí),序列層級(jí)SEI消息156可包含視圖可縮放性信息SEI消息、多視圖獲取信息SEI消息和/或多視圖場(chǎng)景信息SEI消息中的一者或一者以上。視頻文件可包含類似于視頻數(shù)據(jù)軌道144的若干媒體軌道。視頻數(shù)據(jù)軌道中的每一者可具有不同特性,所述特性可對(duì)應(yīng)于各種解碼和/或再現(xiàn)要求。目的地裝置40可尤其基于由序列數(shù)據(jù)集用信號(hào)表示的媒體軌道的視頻片段的特性來選擇媒體軌道中的一者。舉例來說,目的地裝置40可分別基于視頻解碼器48和視頻輸出44的解碼和/或再現(xiàn)能力來選擇軌道中的一者。目的地裝置40可基于包含PPS 152,SPS 154和序列層級(jí)SEI消息156的參數(shù)集軌道146來確定視頻片段160的特性。目的地裝置40可經(jīng)配置以檢索序列參數(shù)集,例如MOOV盒104、電影片段112中包含序列參數(shù)集的一者、包含序列參數(shù)集但不包含經(jīng)譯碼視頻數(shù)據(jù)的視頻樣本,或在由序列參數(shù)集描述的任何經(jīng)譯碼樣本之前的視頻文件100的其它元素。另外或替代地,源裝置20可經(jīng)配置以在將由序列參數(shù)集描述的任何經(jīng)譯碼視頻圖片提供到目的地裝置40之前將序列參數(shù)集提供到目的地裝置40。而且,源裝置20可經(jīng)配置以在目的地裝置40尚未首先請(qǐng)求電影片段112中被請(qǐng)求的一者的序列數(shù)據(jù)集的數(shù)據(jù)時(shí)拒絕來自目的地裝置40的對(duì)電影片段112中的所述一者的請(qǐng)求。圖5是說明包含3GPP文件186、194的簡(jiǎn)報(bào)182、190的實(shí)例集合198的框圖,所述3GPP文件186、194包含相應(yīng)簡(jiǎn)報(bào)的相應(yīng)序列數(shù)據(jù)集。也就是說,集合198可包含額外的簡(jiǎn)報(bào),但圖5為了實(shí)例目的而描繪兩個(gè)簡(jiǎn)報(bào)182、190。媒體簡(jiǎn)報(bào)描述(MPD) 180包含描述集合198的簡(jiǎn)報(bào)(例如,簡(jiǎn)報(bào)182、190)的數(shù)據(jù)。MPD 180可描述例如簡(jiǎn)報(bào)的統(tǒng)一資源定位符(URL)和/或統(tǒng)一資源名稱(URN)。MPD 180可進(jìn)一步描述集合198中的簡(jiǎn)報(bào)中的每一者的特性。舉例來說,MPD 180可包含簡(jiǎn)報(bào)中的每一者的序列數(shù)據(jù)集。MPD 180還可描述存儲(chǔ)在簡(jiǎn)報(bào)中的每一者中的若干3GPP視頻文件。在圖5的實(shí)例中,簡(jiǎn)報(bào)182包含標(biāo)頭數(shù)據(jù)184、具有序列數(shù)據(jù)集的3GPP文件186和3GPP文件188A到188N(3GPP文件188)。類似地,在此實(shí)例中,簡(jiǎn)報(bào)190包含標(biāo)頭數(shù)據(jù)192、具有序列數(shù)據(jù)集的3GPP文件194和3GPP文件196A到196N(3GPP文件196)。雖然使用字母“N”來指定3GPP文件188和3GPP文件196的基數(shù),但N對(duì)于簡(jiǎn)報(bào)182和190來說不一定相同。也就是說,在簡(jiǎn)報(bào)182和簡(jiǎn)報(bào)190以及集合198的簡(jiǎn)報(bào)中的任一者中可存在不同數(shù)目的3GPP文件。 標(biāo)頭數(shù)據(jù)184可描述簡(jiǎn)報(bào)182的某些特性,例如簡(jiǎn)報(bào)182中的3GPP文件的數(shù)目、對(duì)應(yīng)于3GPP文件188中的每一者的開始的存儲(chǔ)器地址、3GPP文件188的長(zhǎng)度(例如,以字節(jié)為單位)、3GPP文件188的持續(xù)時(shí)間(例如,以秒、分鐘等為單位)、客戶端裝置適當(dāng)解碼和再現(xiàn)3GPP文件188的預(yù)期解碼和/或再現(xiàn)能力,或其它數(shù)據(jù)。簡(jiǎn)報(bào)182可包含例如由ISO基本媒體文件格式標(biāo)準(zhǔn)和/或其擴(kuò)展(例如3GPP標(biāo)準(zhǔn))描述的額外數(shù)據(jù)。3GPP文件188可包含經(jīng)譯碼視頻圖片。具有序列數(shù)據(jù)集的3GPP文件186包含描述經(jīng)譯碼視頻圖片序列的經(jīng)譯碼視頻圖片(例如,包含在3GPP文件188中的一者或一者以上中)的序列數(shù)據(jù)集。在圖5的實(shí)例中,集合198的簡(jiǎn)報(bào)可對(duì)應(yīng)于同一視頻數(shù)據(jù)序列的各種簡(jiǎn)報(bào)。也就是說,簡(jiǎn)報(bào)中的每一者在重放期間(例如當(dāng)解碼和再現(xiàn)時(shí))可為類似的。然而,視頻數(shù)據(jù)在集合198的不同簡(jiǎn)報(bào)內(nèi)可不同地譯碼或呈現(xiàn)。舉例來說,簡(jiǎn)報(bào)190的視頻樣本可具有較高或較低的分辨率,以較高或較低的位速率編碼,預(yù)期特定解碼器緩沖器大小,具有特定幀速率,預(yù)期特定宏塊解碼速率,或基于其它特性而彼此不同。例如封裝單元30(圖1)的封裝單元可將序列數(shù)據(jù)集放置于簡(jiǎn)報(bào)內(nèi)的3GPP文件中,例如簡(jiǎn)報(bào)182的3GPP文件186和簡(jiǎn)報(bào)190的3GPP文件194。另外或替代地,封裝單元30可將集合198的一個(gè)或一個(gè)以上簡(jiǎn)報(bào)的序列數(shù)據(jù)存儲(chǔ)在MPD 180中。圖6是說明用于在視頻文件內(nèi)封裝序列數(shù)據(jù)集且將視頻文件從源裝置提供到目的地裝置的實(shí)例方法的流程圖。雖然為了實(shí)例和闡釋目的關(guān)于源裝置20和目的地裝置40(圖1)的組件來描述,但應(yīng)了解,任何合適裝置可實(shí)施圖6的技術(shù)。
最初,封裝單元30可接收經(jīng)編碼視頻圖片序列(210)。例如視頻編碼器28等編碼器可能已隨經(jīng)譯碼樣本一起包含序列層級(jí)SEI消息。另外或替代地,封裝單元30可與視頻編碼器28分離地創(chuàng)建序列層級(jí)SEI消息。在任一情況下,封裝單元30可將序列層級(jí)SEI消息與由序列層級(jí)SEI消息描述的經(jīng)譯碼視頻圖片解耦(212)。也就是說,封裝單元30可創(chuàng)建包含序列層級(jí)SEI消息和由序列層級(jí)SEI消息描述的經(jīng)譯碼視頻圖片的視頻文件(214)。然而在如此做法時(shí),封裝單元30可與由序列層級(jí)SEI消息描述的經(jīng)譯碼視頻圖片分離地存儲(chǔ)序列層級(jí)SEI消息。以此方式,SEI消息可與經(jīng)譯碼視頻圖片分離地發(fā)射和處理。舉例來說,根據(jù)本發(fā)明的技術(shù),封裝單元30可將序列層級(jí)SEI消息存儲(chǔ)在經(jīng)創(chuàng)建視頻文件的參數(shù)集軌道中。作為另一實(shí)例,封裝單元30可將序列層級(jí)SEI消息存儲(chǔ)在不包含經(jīng)譯碼視頻圖片的軌道片段中、不包含經(jīng)譯碼視頻圖片的單獨(dú)3GPP文件中、類似于經(jīng)譯碼視頻圖片但實(shí)際上不包含經(jīng)譯碼視頻數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)中、描述視頻文件的媒體簡(jiǎn)報(bào)描述中,或以另外方式將序列層級(jí)SEI消息與由序列層級(jí)SEI消息描述的經(jīng)譯碼視頻圖片分離。
封裝單元30可隨后輸出視頻文件(216)。舉例來說,封裝單元30可致使源裝置20將視頻文件寫入到存儲(chǔ)媒體,例如光盤、軟磁盤、快閃驅(qū)動(dòng)器、硬驅(qū)動(dòng)器、固態(tài)驅(qū)動(dòng)器或其它存儲(chǔ)媒體。此存儲(chǔ)媒體可物理上輸送到目的地裝置40。替代地,源裝置20可例如經(jīng)由廣播、網(wǎng)絡(luò)發(fā)射或其它發(fā)射技術(shù)將視頻文件發(fā)射到目的地裝置40。在任一情況下,目的地裝置40可最終接收視頻文件(218)。在一些實(shí)例中,源裝置20可例如響應(yīng)于由目的地裝置40發(fā)出到源裝置20的一個(gè)或一個(gè)以上HTTP-Get或部分Get請(qǐng)求而將視頻文件的相異部分提供到目的地裝置40。目的地裝置40可將第一 HTTP-Get或部分Get請(qǐng)求發(fā)出到源裝置20以檢索序列數(shù)據(jù)集,例如包含序列層級(jí)SEI消息的參數(shù)集軌道的全部或一部分,且發(fā)出第二(或更多)HTTP-Get或部分Get請(qǐng)求以檢索由序列數(shù)據(jù)集描述的經(jīng)譯碼視頻圖片。在接收到視頻文件之后,目的地裝置40可基于序列層級(jí)SEI消息來解碼視頻文件
(220)。也就是說,視頻解碼器48可使用序列層級(jí)SEI消息的數(shù)據(jù)來幫助解碼過程。同樣,視頻顯示器44可使用序列層級(jí)SEI消息來幫助再現(xiàn)經(jīng)解碼視頻數(shù)據(jù),以便顯示經(jīng)解碼視頻數(shù)據(jù)(222)。舉例來說,視頻解碼器48和/或視頻顯示器44 (或其再現(xiàn)單元或再現(xiàn)引擎)可使用序列層級(jí)SEI消息來確定如何使視頻數(shù)據(jù)適于視頻顯示器44的原生分辨率,確定圖像是左圖像還是右圖像(例如,對(duì)于立體視頻數(shù)據(jù)來說),確定如何封裝幀,確定視頻數(shù)據(jù)的可縮放性信息,確定多視圖獲取信息,和/或確定多視圖場(chǎng)景信息。圖7是說明視頻文件240的另一實(shí)例的框圖。在圖7的實(shí)例中,視頻文件240包含電影(MOOV)盒242和電影數(shù)據(jù)(MDAT)盒250。MOOV盒242包含視頻數(shù)據(jù)軌道和若干參數(shù)集軌道246A到246C。雖然在圖7的實(shí)例中說明三個(gè)參數(shù)集軌道,但應(yīng)了解,視頻文件可大體上包含任一數(shù)目的參數(shù)集軌道。視頻數(shù)據(jù)軌道244對(duì)應(yīng)于若干各種視頻片段254A到254C,其中每一者可存儲(chǔ)在MDAT盒250中。在此實(shí)例中,視頻片段254A、254B和254C的每一集合可具有不同的序列層級(jí)信息。舉例來說,序列層級(jí)信息可在視頻片段254A、254B和254C之間改變。因此,視頻片段254A、254B和254C中的每一者可具有相應(yīng)的序列數(shù)據(jù)集。在此實(shí)例中,序列數(shù)據(jù)集252A與視頻片段254A相關(guān),序列數(shù)據(jù)集252B與視頻片段254B相關(guān),且序列數(shù)據(jù)集252C與視頻片段254C相關(guān)。視頻片段的給定集合的序列數(shù)據(jù)集可應(yīng)用于序列中的視頻片段中的每一者。舉例來說,序列數(shù)據(jù)集252A可應(yīng)用于視頻片段254A中的每一者。然而,視頻片段254B的一個(gè)或一個(gè)以上特性可不同于視頻片段254A。因此,序列數(shù)據(jù)集252B可描述視頻片段254B的特性。每一序列數(shù)據(jù)集可對(duì)應(yīng)于相應(yīng)的參數(shù)集軌道。在圖7的實(shí)例中,參數(shù)集軌道246A對(duì)應(yīng)于序列數(shù)據(jù)集252A,參數(shù)集軌道246B對(duì)應(yīng)于序列數(shù)據(jù)集252B,且參數(shù)集軌道246C對(duì)應(yīng)于序列數(shù)據(jù)集252C。每一參數(shù)集軌道可包含描述一時(shí)間的數(shù)據(jù),在所述時(shí)間期間,對(duì)應(yīng)序列數(shù)據(jù)集應(yīng)用于視頻數(shù)據(jù)軌道244的視頻片段。舉例來說,參數(shù)集軌道246A可包含指示在對(duì)應(yīng)于視頻片段254A中的最后一者的時(shí)間之后序列數(shù)據(jù)集252A不再適用的數(shù)據(jù)。此時(shí)序信息可為UTC時(shí)間或?qū)?yīng)于重放持續(xù)時(shí)間。在一些實(shí)例中,視頻文件可包含對(duì)應(yīng)于所有視頻片段254A到254C的額外參數(shù)集軌道。在此類實(shí)例中,目的地裝置可利用來自適用于所有視頻片段的參數(shù)集軌道的數(shù)據(jù)和來自特定適用于給定視頻片段的參數(shù)集軌道的數(shù)據(jù)。雖然為了實(shí)例目的而說明為包含在MOOV盒242中,但應(yīng)了解,序列數(shù)據(jù)集252可包含在本發(fā)明中描述的其它位置中的任一者中。舉例來說,序列數(shù)據(jù)集可包含在特定視頻片段中、特定3GPP文件中、媒體簡(jiǎn)報(bào)描述內(nèi),或者視頻文件內(nèi)或與視頻文件相關(guān)聯(lián)的另外一或多個(gè)位置中。在一個(gè)或一個(gè)以上實(shí)例中,所描述的功能可以硬件、軟件、固件或其任何組合來實(shí)施。如果以軟件來實(shí)施,則功能可作為一個(gè)或一個(gè)以上指令或代碼而存儲(chǔ)于計(jì)算機(jī)可讀媒體上或經(jīng)由計(jì)算機(jī)可讀媒體來傳輸,且可由基于硬件的處理單元執(zhí)行。計(jì)算機(jī)可讀媒體可包含對(duì)應(yīng)于例如數(shù)據(jù)存儲(chǔ)媒體的有形媒體的計(jì)算機(jī)可讀存儲(chǔ)媒體,或包含促進(jìn)計(jì)算機(jī)程序(例如)根據(jù)一通信協(xié)議從一處傳送到另一處的任何媒體的通信媒體。以此方式,計(jì)算機(jī)可讀媒體大體上可對(duì)應(yīng)于(I)非暫時(shí)性有形計(jì)算機(jī)可讀存儲(chǔ)媒體或(2)例如信號(hào)或載波的通信媒體。數(shù)據(jù)存儲(chǔ)媒體可為可由一個(gè)或一個(gè)以上計(jì)算機(jī)或一個(gè)或一個(gè)以上處理器存取以檢索用于實(shí)施本發(fā)明中所描述的技術(shù)的指令、代碼及/或數(shù)據(jù)結(jié)構(gòu)的任何可用媒體。計(jì)算機(jī)程序產(chǎn)品可包含計(jì)算機(jī)可讀媒體。作為實(shí)例而非限制,此計(jì)算機(jī)可讀存儲(chǔ)媒體可包含RAM、ROM、EEPROM、CD-ROM或其它光盤存儲(chǔ)裝置、磁盤存儲(chǔ)裝置或其它磁性存儲(chǔ)裝置、快閃存儲(chǔ)器,或可用于存儲(chǔ)呈指令或數(shù)據(jù)結(jié)構(gòu)的形式的所要代碼且可由計(jì)算機(jī)存取的任何其它媒體。且,任何連接均適當(dāng)?shù)胤Q作計(jì)算機(jī)可讀媒體。舉例來說,如果使用同軸電纜、光纜、雙絞線、數(shù)字訂戶線(DSL),或例如紅外線、無線電及微波的無線技術(shù)而從網(wǎng)站、服務(wù)器或其它遠(yuǎn)程源傳輸指令,則同軸電纜、光纜、雙絞線、DSL,或例如紅外線、無線電及微波的無線技術(shù)包含于媒體的定義中。然而,應(yīng)理解,計(jì)算機(jī)可讀存儲(chǔ)媒體及數(shù)據(jù)存儲(chǔ)媒體不包含連接、載波、信號(hào)或其它瞬時(shí)媒體,而是針對(duì)非瞬時(shí)、有形的存儲(chǔ)媒體。如本文中所使用,磁盤及光盤包含壓縮光盤(⑶)、激光光盤、光學(xué)光盤、數(shù)字多功能光盤(DVD)、軟磁盤及藍(lán)光光盤,其中磁盤通常以磁性方式再現(xiàn)數(shù)據(jù),而光盤通過激光以光學(xué)方式再現(xiàn)數(shù)據(jù)。以上各物的組合也應(yīng)包含于計(jì)算機(jī)可讀媒體的范圍內(nèi)。 可由例如一個(gè)或一個(gè)以上數(shù)字信號(hào)處理器(DSP)、通用微處理器、專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程邏輯陣列(FPGA)或其它等效集成電路或離散邏輯電路的一個(gè)或一個(gè)以上處理器來執(zhí)行指令。因此,如本文中所使用,術(shù)語(yǔ)“處理器”可指代前述結(jié)構(gòu)或適于實(shí)施本文中所描述的技術(shù)的任何其它結(jié)構(gòu)中的任一者。另外,在一些方面中,本文所描述的功能性可提供于經(jīng)配置以用于編碼及解碼的專用硬件及/或軟件模塊內(nèi),或并入于組合式編解碼器中。且,所述技術(shù)可完全實(shí)施于一個(gè)或一個(gè)以上電路或邏輯元件中。本發(fā)明的技術(shù)可實(shí)施于廣泛多種裝置或設(shè)備中,包括無線手持機(jī)、集成電路(IC)或IC的集合(例如,芯片組)。本發(fā)明中描述各種組件、模塊或單元以強(qiáng)調(diào)經(jīng)配置以執(zhí)行所揭示的技術(shù)的裝置的功能方面,但未必需要通過不同硬件單元來實(shí)現(xiàn)。實(shí)情為,如上文所描述,各種單元可組合于一編解碼器硬件單元中或由互操作的硬件單元的集合(包含如上文所描述的一個(gè)或一個(gè)以上處理器)結(jié)合合適的軟件及/或固件來提供。
已描述各種實(shí)例。這些及其它實(shí)例屬于所附權(quán)利要求書的范圍內(nèi)。
權(quán)利要求
1.一種輸出經(jīng)封裝視頻數(shù)據(jù)的方法,所述經(jīng)封裝視頻數(shù)據(jù)包括經(jīng)譯碼視頻圖片序列, 所述方法包括產(chǎn)生與所述經(jīng)譯碼視頻圖片分離的一個(gè)或一個(gè)以上補(bǔ)充增強(qiáng)信息SEI消息,其中所述 SEI消息描述所述經(jīng)譯碼視頻圖片序列中的相應(yīng)者且包含所述經(jīng)譯碼視頻圖片中的一者以上所共同的元素;以及與所述經(jīng)譯碼視頻圖片序列分離地輸出所述SEI消息。
2.根據(jù)權(quán)利要求1所述的方法,其中所述SEI消息包括適用于兩個(gè)或兩個(gè)以上存取單元的序列層級(jí)SEI消息,其中所述兩個(gè)或兩個(gè)以上存取單元包括所述經(jīng)譯碼視頻圖片序列,且其中產(chǎn)生所述一個(gè)或一個(gè)以上SEI消息包括將所述序列層級(jí)SEI消息與所述存取單元分離。
3.根據(jù)權(quán)利要求1所述的方法,其中所述SEI消息經(jīng)界定為H.264/高級(jí)視頻譯碼AVC、 H. 264的可縮放視頻譯碼SVC擴(kuò)展和H. 264的多視圖視頻譯碼MVC擴(kuò)展的SEI消息類型中的至少一者。
4.根據(jù)權(quán)利要求1所述的方法,其中輸出包括以視頻文件的形式封裝所述SEI消息和所述經(jīng)譯碼視頻圖片,且其中輸出進(jìn)一步包括將所述SEI消息包含在與含有所述經(jīng)譯碼視頻圖片序列的文件單元分離的文件單元中。
5.根據(jù)權(quán)利要求4所述的方法,其中含有所述SEI消息的所述單獨(dú)文件單元包括所述視頻文件的參數(shù)集軌道,其中所述參數(shù)集軌道進(jìn)一步包括所述經(jīng)譯碼視頻圖片序列的序列參數(shù)集數(shù)據(jù)和圖片參數(shù)集數(shù)據(jù)中的至少一者。
6.根據(jù)權(quán)利要求4所述的方法,其中媒體表示的初始化區(qū)段包括所述單獨(dú)文件單元。
7.根據(jù)權(quán)利要求1所述的方法,其中產(chǎn)生所述SEI消息包括產(chǎn)生所述SEI消息中的至少一者內(nèi)的信令信息,所述信令信息用信號(hào)表示對(duì)應(yīng)于所述SEI消息的所述經(jīng)譯碼視頻圖片序列的持續(xù)時(shí)間。
8.根據(jù)權(quán)利要求1所述的方法,其中所述經(jīng)譯碼視頻圖片序列包括第一經(jīng)譯碼視頻圖片序列,且其中所述SEI消息包括第一組SEI消息,所述方法進(jìn)一步包括產(chǎn)生與第二經(jīng)譯碼視頻圖片序列分離的第二組一個(gè)或一個(gè)以上SEI消息,其中所述第二組SEI消息描述所述第二經(jīng)譯碼視頻圖片序列中的相應(yīng)者且包含所述第二經(jīng)譯碼視頻圖片序列中的一者以上所共同的元素;以及與所述第二經(jīng)譯碼視頻圖片序列分離地輸出所述第二組SEI消息。
9.根據(jù)權(quán)利要求1所述的方法,其中輸出包括對(duì)包括所述SEI消息和所述經(jīng)譯碼視頻圖片序列的視頻數(shù)據(jù)進(jìn)行編碼;以及經(jīng)由網(wǎng)絡(luò)串流傳輸所述經(jīng)編碼視頻數(shù)據(jù)。
10.根據(jù)權(quán)利要求9所述的方法,其中串流傳輸所述視頻數(shù)據(jù)包括經(jīng)由至少一個(gè)傳輸控制協(xié)議TCP連接來串流傳輸所述視頻數(shù)據(jù)。
11.根據(jù)權(quán)利要求10所述的方法,其中所述至少一個(gè)TCP連接包括超文本傳送協(xié)議 HTTP連接。
12.根據(jù)權(quán)利要求1所述的方法,其中產(chǎn)生包括通過編解碼器層級(jí)處的視頻編碼器來與所述經(jīng)譯碼視頻圖片序列分離地編碼所述SEI消息。
13.一種用于輸出經(jīng)封裝視頻數(shù)據(jù)的設(shè)備,所述經(jīng)封裝視頻數(shù)據(jù)包括經(jīng)譯碼視頻圖片序列,所述設(shè)備包括控制單元,其經(jīng)配置以產(chǎn)生與所述經(jīng)譯碼視頻圖片分離的一個(gè)或一個(gè)以上補(bǔ)充增強(qiáng)信息SEI消息,其中所述SEI消息描述所述經(jīng)譯碼視頻圖片序列中的相應(yīng)者且包含所述經(jīng)譯碼視頻圖片中的一者以上所共同的元素;以及輸出接口,其經(jīng)配置以與所述經(jīng)譯碼視頻圖片序列分離地輸出所述SEI消息。
14.根據(jù)權(quán)利要求13所述的設(shè)備,其中所述SEI消息包括適用于兩個(gè)或兩個(gè)以上存取單元的序列層級(jí)SEI消息,其中所述兩個(gè)或兩個(gè)以上存取單元包括所述經(jīng)譯碼視頻圖片序列,且其中所述控制單元經(jīng)配置以將所述序列層級(jí)SEI消息與所述存取單元分離。
15.根據(jù)權(quán)利要求13所述的設(shè)備,其中所述控制單元經(jīng)配置以以視頻文件的形式封裝所述SEI消息和所述經(jīng)譯碼視頻圖片,且其中所述控制單元經(jīng)配置以將所述SEI消息包含在與含有所述經(jīng)譯碼視頻圖片序列的文件單元分離的文件單元中。
16.根據(jù)權(quán)利要求15所述的設(shè)備,其中含有所述SEI消息的所述單獨(dú)文件單元包括所述視頻文件的參數(shù)集軌道,其中所述參數(shù)集軌道進(jìn)一步包括所述經(jīng)譯碼視頻圖片序列的序列參數(shù)集數(shù)據(jù)和圖片參數(shù)集數(shù)據(jù)中的至少一者。
17.根據(jù)權(quán)利要求15所述的設(shè)備,其中媒體表示的初始化區(qū)段包括所述單獨(dú)文件單元
18.根據(jù)權(quán)利要求13所述的設(shè)備,其中所述控制單元經(jīng)配置以產(chǎn)生所述SEI消息中的至少一者內(nèi)的信令信息,所述信令信息用信號(hào)表示對(duì)應(yīng)于所述SEI消息的所述經(jīng)譯碼視頻圖片序列的持續(xù)時(shí)間。
19.根據(jù)權(quán)利要求13所述的設(shè)備,其中所述經(jīng)譯碼視頻圖片序列包括第一經(jīng)譯碼視頻圖片序列,其中所述SEI消息包括第一組SEI消息,其中所述控制單元經(jīng)配置以產(chǎn)生與第二經(jīng)譯碼視頻圖片序列分離的第二組一個(gè)或一個(gè)以上SEI消息,其中所述第二組SEI消息描述所述第二經(jīng)譯碼視頻圖片序列中的相應(yīng)者且包含所述第二經(jīng)譯碼視頻圖片序列中的一者以上所共同的元素,且其中所述輸出接口經(jīng)配置以與所述第二經(jīng)譯碼視頻圖片序列分離地輸出所述第二組SEI消息。
20.根據(jù)權(quán)利要求13所述的設(shè)備,其中所述設(shè)備包括以下各項(xiàng)中的至少一者集成電路;微處理器;以及無線通信裝置,其包含所述控制單元。
21.一種用于輸出經(jīng)封裝視頻數(shù)據(jù)的設(shè)備,所述經(jīng)封裝視頻數(shù)據(jù)包括經(jīng)譯碼視頻圖片序列,所述設(shè)備包括用于產(chǎn)生與所述經(jīng)譯碼視頻圖片分離的一個(gè)或一個(gè)以上補(bǔ)充增強(qiáng)信息SEI消息的裝置,其中所述SEI消息描述所述經(jīng)譯碼視頻圖片序列中的相應(yīng)者且包含所述經(jīng)譯碼視頻圖片中的一者以上所共同的元素;以及用于與所述經(jīng)譯碼視頻圖片序列分離地輸出所述SEI消息的裝置。
22.根據(jù)權(quán)利要求21所述的設(shè)備,其中所述SEI消息包括適用于兩個(gè)或兩個(gè)以上存取單元的序列層級(jí)SEI消息,其中所述兩個(gè)或兩個(gè)以上存取單元包括所述經(jīng)譯碼視頻圖片序列,且其中所述用于產(chǎn)生所述一個(gè)或一個(gè)以上SEI消息的裝置包括用于將所述序列層級(jí)SEI消息與所述存取單元分離的裝置。
23.根據(jù)權(quán)利要求21所述的設(shè)備,其中所述用于輸出的裝置包括用于以視頻文件的形式封裝所述SEI消息和所述經(jīng)譯碼視頻圖片的裝置,且其中所述用于輸出的裝置進(jìn)一步包括用于將所述SEI消息包含在與含有所述經(jīng)譯碼視頻圖片序列的文件單元分離的文件單元中的裝置。
24.根據(jù)權(quán)利要求23所述的設(shè)備,其中含有所述SEI消息的所述單獨(dú)文件單元包括所述視頻文件的參數(shù)集軌道,其中所述參數(shù)集軌道進(jìn)一步包括所述經(jīng)譯碼視頻圖片序列的序列參數(shù)集數(shù)據(jù)和圖片參數(shù)集數(shù)據(jù)中的至少一者。
25.根據(jù)權(quán)利要求23所述的設(shè)備,其中媒體表示的初始化區(qū)段包括所述單獨(dú)文件單J Li ο
26.根據(jù)權(quán)利要求21所述的設(shè)備,其中所述用于產(chǎn)生所述SEI消息的裝置包括用于產(chǎn)生所述SEI消息中的至少一者內(nèi)的信令信息的裝置,所述信令信息用信號(hào)表示對(duì)應(yīng)于所述 SEI消息的所述經(jīng)譯碼視頻圖片序列的持續(xù)時(shí)間。
27.根據(jù)權(quán)利要求21所述的設(shè)備,其中所述經(jīng)譯碼視頻圖片序列包括第一經(jīng)譯碼視頻圖片序列,且其中所述SEI消息包括第一組SEI消息,所述設(shè)備進(jìn)一步包括用于產(chǎn)生與第二經(jīng)譯碼視頻圖片序列分離的第二組一個(gè)或一個(gè)以上SEI消息的裝置, 其中所述第二組SEI消息描述所述第二經(jīng)譯碼視頻圖片序列中的相應(yīng)者且包含所述第二經(jīng)譯碼視頻圖片序列中的一者以上所共同的元素;以及用于與所述第二經(jīng)譯碼視頻圖片序列分離地輸出所述第二組SEI消息的裝置。
28.根據(jù)權(quán)利要求21所述的設(shè)備,其中所述用于輸出的裝置包括用于對(duì)包括所述SEI消息和所述經(jīng)譯碼視頻圖片序列的視頻數(shù)據(jù)進(jìn)行編碼的裝置;以及用于經(jīng)由網(wǎng)絡(luò)串流傳輸所述經(jīng)編碼視頻數(shù)據(jù)的裝置。
29.—種包括計(jì)算機(jī)可讀存儲(chǔ)媒體的計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)可讀存儲(chǔ)媒體上存儲(chǔ)有指令,所述指令在執(zhí)行時(shí)致使用于輸出經(jīng)編碼視頻數(shù)據(jù)的設(shè)備的處理器進(jìn)行以下操作產(chǎn)生與經(jīng)譯碼視頻圖片分離的一個(gè)或一個(gè)以上補(bǔ)充增強(qiáng)信息SEI消息,其中所述SEI 消息描述經(jīng)譯碼視頻圖片序列中的相應(yīng)者且包含所述經(jīng)譯碼視頻圖片中的一者以上所共同的元素;以及與所述經(jīng)譯碼視頻圖片序列分離地輸出所述SEI消息。
30.根據(jù)權(quán)利要求29所述的計(jì)算機(jī)程序產(chǎn)品,其中所述用以輸出的指令包括用以以視頻文件的形式封裝所述SEI消息和所述經(jīng)譯碼視頻圖片的指令,且其中所述用以輸出的指令進(jìn)一步包括用以將所述SEI消息包含在與含有所述經(jīng)譯碼視頻圖片序列的文件單元分離的文件單元中的指令。
31.根據(jù)權(quán)利要求30所述的計(jì)算機(jī)程序產(chǎn)品,其中含有所述SEI消息的所述單獨(dú)文件單元包括所述視頻文件的參數(shù)集軌道,其中所述參數(shù)集軌道進(jìn)一步包括所述經(jīng)譯碼視頻圖片序列的序列參數(shù)集數(shù)據(jù)和圖片參數(shù)集數(shù)據(jù)中的至少一者。
32.根據(jù)權(quán)利要求30所述的計(jì)算機(jī)程序產(chǎn)品,其中媒體表示的初始化區(qū)段包括所述單獨(dú)文件單元。
33.根據(jù)權(quán)利要求29所述的計(jì)算機(jī)程序產(chǎn)品,其中所述用以產(chǎn)生所述SEI消息的指令包括用以產(chǎn)生所述SEI消息中的至少一者內(nèi)的信令信息的指令,所述信令信息用信號(hào)表示對(duì)應(yīng)于所述SEI消息的所述經(jīng)譯碼視頻圖片序列的持續(xù)時(shí)間。
34.根據(jù)權(quán)利要求29所述的計(jì)算機(jī)程序產(chǎn)品,其中所述經(jīng)譯碼視頻圖片序列包括第一經(jīng)譯碼視頻圖片序列,且其中所述SEI消息包括第一組SEI消息,所述計(jì)算機(jī)程序產(chǎn)品進(jìn)一步包括用以進(jìn)行以下操作的指令產(chǎn)生與第二經(jīng)譯碼視頻圖片序列分離的第二組一個(gè)或一個(gè)以上SEI消息,其中所述第二組SEI消息描述所述第二經(jīng)譯碼視頻圖片序列中的相應(yīng)者且包含所述第二經(jīng)譯碼視頻圖片序列中的一者以上所共同的元素;以及與所述第二經(jīng)譯碼視頻圖片序列分離地輸出所述第二組SEI消息。
35.一種接收經(jīng)編碼視頻數(shù)據(jù)的方法,所述方法包括接收描述視頻文件的經(jīng)譯碼視頻圖片序列的補(bǔ)充增強(qiáng)信息SEI消息,其中所述SEI消息描述所述經(jīng)譯碼視頻圖片序列中的相應(yīng)者且包含所述經(jīng)譯碼視頻圖片中的一者以上所共同的元素;與所述SEI消息分離地接收所述視頻文件的所述經(jīng)譯碼視頻圖片序列;以及在所述經(jīng)譯碼視頻圖片序列已經(jīng)解碼之后基于所述SEI消息而再現(xiàn)所述經(jīng)譯碼視頻圖片序列。
36.根據(jù)權(quán)利要求35所述的方法,其進(jìn)一步包括提交對(duì)所述SEI消息的第一請(qǐng)求,其中接收所述SEI消息包括響應(yīng)于所述第一請(qǐng)求而接收所述SEI消息;以及僅在接收到所述SEI消息之后提交對(duì)所述經(jīng)譯碼視頻圖片序列的第二請(qǐng)求,其中接收所述經(jīng)譯碼視頻圖片序列包括響應(yīng)于所述第二請(qǐng)求而接收所述經(jīng)譯碼視頻圖片序列。
37.根據(jù)權(quán)利要求36所述的方法,其中所述SEI消息包括第一組SEI消息,且其中所述經(jīng)譯碼視頻圖片序列包括第一經(jīng)譯碼視頻圖片序列,所述方法進(jìn)一步包括在接收到所述第一經(jīng)譯碼視頻圖片序列之后提交對(duì)第二組SEI消息的第三請(qǐng)求;響應(yīng)于所述第三請(qǐng)求而接收所述第二組SEI消息;提交對(duì)由所述第二組SEI消息描述的第二經(jīng)譯碼視頻圖片序列的第四請(qǐng)求;在接收到所述第二組SEI消息之后接收所述第二經(jīng)譯碼視頻圖片序列;以及在所述第二經(jīng)譯碼視頻圖片序列已經(jīng)解碼之后基于所述第二組SEI消息而再現(xiàn)所述第二經(jīng)譯碼視頻圖片序列。
38.根據(jù)權(quán)利要求35所述的方法,其進(jìn)一步包括從參數(shù)集軌道、不包含經(jīng)譯碼視頻圖片的軌道片段和不包含經(jīng)譯碼視頻數(shù)據(jù)的第三代合作伙伴計(jì)劃3GPP格式文件中的至少一者提取所述SEI消息。
39.根據(jù)權(quán)利要求35所述的方法,其進(jìn)一步包括剖析和解碼所述SEI消息,其中所述 SEI消息是與包括所述經(jīng)譯碼視頻圖片序列的存取單元分離地譯碼。
40.一種用于接收經(jīng)編碼視頻數(shù)據(jù)的設(shè)備,所述設(shè)備包括控制單元,其經(jīng)配置以接收描述視頻文件的經(jīng)譯碼視頻圖片序列的補(bǔ)充增強(qiáng)信息SEI 消息,其中所述SEI消息描述所述經(jīng)譯碼視頻圖片序列中的相應(yīng)者且包含所述經(jīng)譯碼視頻圖片中的一者以上所共同的元素,且與所述SEI消息分離地接收所述視頻文件的所述經(jīng)譯碼視頻圖片序列;以及視頻輸出,其經(jīng)配置以在所述經(jīng)譯碼視頻圖片序列已經(jīng)解碼之后再現(xiàn)所述經(jīng)譯碼視頻圖片序列。
41.根據(jù)權(quán)利要求40所述的設(shè)備,其中所述控制單元經(jīng)配置以提交對(duì)所述SEI消息的第一請(qǐng)求,響應(yīng)于所述第一請(qǐng)求而接收所述SEI消息,僅在接收到所述SEI消息之后提交對(duì)所述經(jīng)譯碼視頻圖片序列的第二請(qǐng)求,且響應(yīng)于所述第二請(qǐng)求而接收所述經(jīng)譯碼視頻圖片序列。
42.根據(jù)權(quán)利要求41所述的設(shè)備,其中所述SEI消息包括第一組SEI消息,且其中所述經(jīng)譯碼視頻圖片序列包括第一經(jīng)譯碼視頻圖片序列,其中所述控制單元經(jīng)配置在接收到所述第一經(jīng)譯碼視頻圖片序列之后提交對(duì)第二組SEI消息的第三請(qǐng)求,響應(yīng)于所述第三請(qǐng)求而接收所述第二組SEI消息,提交對(duì)由所述第二組SEI消息描述的第二經(jīng)譯碼視頻圖片序列的第四請(qǐng)求,以及在接收到所述第二組SEI消息之后接收所述第二經(jīng)譯碼視頻圖片序列,且其中所述視頻輸出經(jīng)配置以在所述第二經(jīng)譯碼視頻圖片序列已經(jīng)解碼之后基于所述第二組SEI消息而再現(xiàn)所述第二經(jīng)譯碼視頻圖片序列。
43.根據(jù)權(quán)利要求40所述的設(shè)備,其中所述控制單元經(jīng)配置以從參數(shù)集軌道、不包含經(jīng)譯碼視頻圖片的軌道片段和不包含經(jīng)譯碼視頻數(shù)據(jù)的第三代合作伙伴計(jì)劃3GPP文件中的至少一者提取所述SEI消息。
44.根據(jù)權(quán)利要求40所述的設(shè)備,其中所述設(shè)備包括以下各項(xiàng)中的至少一者集成電路;微處理器;以及無線通信裝置,其包含所述控制單元。
45.一種用于接收經(jīng)編碼視頻數(shù)據(jù)的設(shè)備,所述設(shè)備包括用于接收描述視頻文件的經(jīng)譯碼視頻圖片序列的補(bǔ)充增強(qiáng)信息SEI消息的裝置,其中所述SEI消息描述所述經(jīng)譯碼視頻圖片序列中的相應(yīng)者且包含所述經(jīng)譯碼視頻圖片中的一者以上所共同的元素;用于與所述SEI消息分離地接收所述視頻文件的所述經(jīng)譯碼視頻圖片序列的裝置;以及用于在所述經(jīng)譯碼視頻圖片序列已經(jīng)解碼之后基于所述SEI消息而再現(xiàn)所述經(jīng)譯碼視頻圖片序列的裝置。
46.根據(jù)權(quán)利要求45所述的設(shè)備,其進(jìn)一步包括用于提交對(duì)所述SEI消息的第一請(qǐng)求的裝置,其中所述用于接收所述SEI消息的裝置包括用于響應(yīng)于所述第一請(qǐng)求而接收所述SEI消息的裝置;以及用于僅在接收到所述SEI消息之后提交對(duì)所述經(jīng)譯碼視頻圖片序列的第二請(qǐng)求的裝置,其中所述用于接收所述經(jīng)譯碼視頻圖片序列的裝置包括用于響應(yīng)于所述第二請(qǐng)求而接收所述經(jīng)譯碼視頻圖片序列的裝置。
47.根據(jù)權(quán)利要求46所述的設(shè)備,其中所述SEI消息包括第一組SEI消息,且其中所述經(jīng)譯碼視頻圖片序列包括第一經(jīng)譯碼視頻圖片序列,所述設(shè)備進(jìn)一步包括用于在接收到所述第一經(jīng)譯碼視頻圖片序列之后提交對(duì)第二組SEI消息的第三請(qǐng)求的裝置;用于響應(yīng)于所述第三請(qǐng)求而接收所述第二組SEI消息的裝置;用于提交對(duì)由所述第二組SEI消息描述的第二經(jīng)譯碼視頻圖片序列的第四請(qǐng)求的裝置;用于在接收到所述第二組SEI消息之后接收所述第二經(jīng)譯碼視頻圖片序列的裝置;以及用于在所述第二經(jīng)譯碼視頻圖片序列已經(jīng)解碼之后基于所述第二組SEI消息而再現(xiàn)所述第二經(jīng)譯碼視頻圖片序列的裝置。
48.根據(jù)權(quán)利要求45所述的設(shè)備,其進(jìn)一步包括用于從參數(shù)集軌道、不包含經(jīng)譯碼視頻圖片的軌道片段和不包含經(jīng)譯碼視頻數(shù)據(jù)的第三代合作伙伴計(jì)劃3GPP文件中的至少一者提取所述SEI消息的裝置。
49.一種包括計(jì)算機(jī)可讀媒體的計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)可讀媒體上存儲(chǔ)有指令, 所述指令在執(zhí)行時(shí)致使用于接收經(jīng)編碼視頻數(shù)據(jù)的設(shè)備的處理器進(jìn)行以下操作接收描述視頻文件的經(jīng)譯碼視頻圖片序列的補(bǔ)充增強(qiáng)信息SEI消息,其中所述SEI消息描述所述經(jīng)譯碼視頻圖片序列中的相應(yīng)者且包含所述經(jīng)譯碼視頻圖片中的一者以上所共同的元素;與所述SEI消息分離地接收所述視頻文件的所述經(jīng)譯碼視頻圖片序列;以及在所述經(jīng)譯碼視頻圖片序列已經(jīng)解碼之后基于所述SEI消息而再現(xiàn)所述經(jīng)譯碼視頻圖片序列。
50.根據(jù)權(quán)利要求49所述的計(jì)算機(jī)程序產(chǎn)品,其進(jìn)一步包括用以進(jìn)行以下操作的指令提交對(duì)所述SEI消息的第一請(qǐng)求,其中所述用以接收所述SEI消息的指令包括用以響應(yīng)于所述第一請(qǐng)求而接收所述SEI消息的指令;以及僅在接收到所述SEI消息之后提交對(duì)所述經(jīng)譯碼視頻圖片序列的第二請(qǐng)求,其中所述用以接收所述經(jīng)譯碼視頻圖片序列的指令包括用以響應(yīng)于所述第二請(qǐng)求而接收所述經(jīng)譯碼視頻圖片序列的指令。
51.根據(jù)權(quán)利要求50所述的計(jì)算機(jī)程序產(chǎn)品,其中所述SEI消息包括第一組SEI消息, 且其中所述經(jīng)譯碼視頻圖片序列包括第一經(jīng)譯碼視頻圖片序列,所述計(jì)算機(jī)程序產(chǎn)品進(jìn)一步包括用以進(jìn)行以下操作的指令在接收到所述第一經(jīng)譯碼視頻圖片序列之后提交對(duì)第二組SEI消息的第三請(qǐng)求;響應(yīng)于所述第三請(qǐng)求而接收所述第二組SEI消息;提交對(duì)由所述第二組SEI消息描述的第二經(jīng)譯碼視頻圖片序列的第四請(qǐng)求;在接收到所述第二組SEI消息之后接收所述第二經(jīng)譯碼視頻圖片序列;以及在所述第二經(jīng)譯碼視頻圖片序列已經(jīng)解碼之后基于所述第二組SEI消息而再現(xiàn)所述第二經(jīng)譯碼視頻圖片序列。
52.根據(jù)權(quán)利要求49所述的計(jì)算機(jī)程序產(chǎn)品,其進(jìn)一步包括用以從參數(shù)集軌道、不包含經(jīng)譯碼視頻圖片的軌道片段和不包含經(jīng)譯碼視頻數(shù)據(jù)的第三代合作伙伴計(jì)劃3GPP格式文件中的至少一者提取所述SEI消息的指令。
全文摘要
一種裝置可封裝視頻數(shù)據(jù)以使得補(bǔ)充增強(qiáng)信息SEI消息與由所述SEI消息描述的經(jīng)譯碼視頻圖片序列分離地存儲(chǔ)。實(shí)例裝置包含控制單元,其經(jīng)配置以產(chǎn)生與所述經(jīng)譯碼視頻圖片分離的一個(gè)或一個(gè)以上SEI消息,其中所述SEI消息描述所述經(jīng)譯碼視頻圖片序列中的相應(yīng)者且包含所述經(jīng)譯碼視頻圖片中的一者以上所共同的元素;以及輸出接口,其經(jīng)配置以與所述經(jīng)譯碼視頻圖片序列分離地輸出所述SEI消息。實(shí)例目的地裝置可與所述經(jīng)譯碼視頻圖片分離地接收所述SEI消息且使用所述SEI消息來再現(xiàn)所述經(jīng)譯碼視頻圖片。
文檔編號(hào)H04N21/854GK103069828SQ201180040329
公開日2013年4月24日 申請(qǐng)日期2011年7月20日 優(yōu)先權(quán)日2010年7月20日
發(fā)明者陳盈, 馬爾塔·卡切維奇 申請(qǐng)人:高通股份有限公司