專利名稱:一種流媒體傳輸裝置的制作方法
技術領域:
本發(fā)明涉及流媒體傳輸裝置及方法,而且特別但不專用于漸進流媒體傳輸(progressive media streaming)裝置及方法。
背景技術:
流媒體是在由流傳輸提供商或服務器提供的同時不斷由終端用戶或客戶端接收并呈現(xiàn)給終端用戶或客戶端的多媒體。例如能夠在遠程通信網絡上,例如采用遠程通信系統(tǒng)來實現(xiàn)流媒體系統(tǒng)以流傳輸Internet電視。流媒體傳輸的一種發(fā)展是漸進下載。漸進下載是用于描述當從計算機啟動時通常利用HTTP協(xié)議從服務器向客戶端的數字媒體文件傳輸的術語。使用漸進下載的客戶端或消費者能夠在下載完成之前開始媒體回放。流傳輸媒體和漸進下載之間的關鍵區(qū)別在于數字媒體數據如何由正在訪問數字媒體的客戶端或者終端用戶設備接收和存儲。能夠漸進下載回放的客戶端媒體播放器的依賴位于文件標題中完整的元數據以及當從web服務器下載時數字媒體文件的本地緩沖。在當確定量的數據對于本地回放設備來說可用的點處,媒體播放器可以開始播放媒體。例如,該確定量已緩沖數據可以基于接收比特率和將媒體編碼成文件的比特率來估計。此外,該確定量緩沖可在假設滿足或達到確定的接收比特率的編碼器設定中由內容提供商嵌入文件內。終端用戶體驗與流傳輸媒體相似,然而數字文件通常被下載至終端用戶設備的物理驅動器上。例如,如果將數字媒體嵌入網頁或設定在用于回放的媒體播放器參數中的存儲目錄內,則數字文件通常存儲在相關的web瀏覽器的臨時文件夾中。如果回放速率超過文件下載的速率,則數字媒體文件可能卡頓(stutter)或停止回放。然后可在進一步下載之后再次開始播放文件。元數據以及擬漸進下載的文件中的媒體數據以將不同流的媒體數據在文件中交織并且將流近似同步這樣的方式交織。而且,經常將元數據和媒體數據交織,使得用于接收位于文件起始處的元數據所需的初始緩沖延遲減小??稍?GPP文件格式的漸進下載配置文件中找到可如何將ISO基本媒體文件格式及其衍生格式限制為可漸進下載的例子。然而,存在與傳統(tǒng)漸進下載相關的幾個問題。首先,由于文件的比特率通常遠大于可用網絡吞吐量,因此傳統(tǒng)漸進下載客戶端不能有效播放具有用于所有版本的單個元數據文件和在同一文件中的所有媒體數據的文件。如果媒體數據相比于元數據位于不同文件中,那么接收所有版本元數據的開銷延遲回放的開始并可導致在回放期間的中斷和額外緩沖。此外,接收到的元數據文件包含對未被接收的媒體內容的該版本的引用,因此元數據文件不完全兼容。第二,元數據和覆蓋確定的演示回放范圍的每個片段(fragment)和內容的每個版本(比特率)的相應媒體數據位于它們各自的文件中。將內容如此分塊為大組小文件用于靜態(tài)HTTP流傳輸的可能實現(xiàn)。例如,將持續(xù)時間為20分鐘并具有10個可能演示(5個視頻比特率和2種音頻語言)的內容文件分塊為I秒鐘的小內容片(piece),將產生12000個小文件。這構成web服務器的負擔,其不得不處理如此大量的小文件。第三,當一個文件僅包含一個片段時,傳統(tǒng)漸進下載客戶端不能播放文件。第四,與通過CGI執(zhí)行命令的動態(tài)流傳輸服務器可操作地連接的常規(guī)web服務器一般意味著新創(chuàng)建進程的啟用。尤其是當程序還需要注釋或編譯時,開啟進程可產生比產生輸出的實際工作占用更多的時間和存儲器。如果常常調用命令,則產生的工作量會迅速壓垮web服務器??赏ㄟ^使用例如以C/C++編寫的那些已編譯的CGI程序減少涉及解釋的開銷,而不是使用Perl或其他腳本語言??赏ㄟ^例如快速CGI的解決方案、或者通過在使用特殊擴展模塊的web服務器內部整體運行應用代碼,減少涉及進程創(chuàng)建的開銷。普通web服務器改善其自身的擴展機制,該機制允許在web服務器自身內部運行的第三方軟件,例如Apache模塊、網景(Netscape) NSAPI插件、IIS ISAPI插件。然而,容易編譯的CGI程序的使用或對web服務器的專用擴展使得流傳輸服務器解決方案是平臺專用的,并且由此更難與其它web服務器和/或操作系統(tǒng)平臺對接。第五,當前動態(tài)HTTP流傳輸服務器對于平臺是專用的,因而更難與其它操作系統(tǒng)平臺對接。不得不對HTTP服務器協(xié)議棧實施并且不能使用充分測試的、可升級和穩(wěn)健的(robust) web 服務器。此外,如果服務器是狀態(tài)維持的,那么其計算復雜性要高于無狀態(tài)服務器。第六,關于目前使用的傳輸文件格式,傳送的文件與根據現(xiàn)有的用于文件回放的文件格式所格式化的文件相類似,但是目前的文件播放器不能用于播放傳輸文件。如果想要將傳輸文件用作回放文件,那么必須在接收端將傳輸文件轉換為現(xiàn)有的用于文件回放的文件格式。轉換過程可能有問題,而且可能不是直接的。
發(fā)明內容
本申請出于目前提出的流傳輸系統(tǒng)是柔性的的考慮。本申請的實施例旨在解決上述問題。根據第一方面,提供有一種方法,包括:確定至少第一信號和相關聯(lián)的第二信號;在第一文件中存儲第一信號;在第一文件中并與第一信號相關聯(lián)地生成位置引用指針;并在由引用指針指示的位置處存儲與第一信號相關聯(lián)的第二信號。可將第一信號配置為可獨立于第二信號譯碼。第一信號可以是基本媒體演示(base media representation)并且第二信號可以是與基本媒體演示相關聯(lián)的增強媒體演示。增強媒體演示可以是以下中的至少一個:時間分辨率增強的媒體演示、更大量視圖增強的媒體演示、空間分辨率增強的媒體演示、以及質量增強的媒體演示。位置可以包括另一文件中的位置,其中引用指針包括條件提取單元。位置可以包括第一文件中的位置,其中引用指針可以包括提取單元。該方法可進一步包括在由引用指針所指示的位置處生成指向第一文件中的第一信號位置的另一引用指針。另一引用指針可以包括提取單元。該方法可進一步包括在第一文件中存儲與第一信號和第二信號相關聯(lián)的元數據。
該方法可進一步包括在另一文件中存儲與第一信號和第二信號相關聯(lián)的元數據,其中元數據可以包括指向第一信號和第二信號的位置的指針。該方法可進一步包括:確定網絡帶寬;并在網絡上傳送第一信號和至少第二信號的子集。該方法可進一步包括:生成修補指示器,該指示器配置為指示解碼器以連接(concatenate)第一信號和第二信號。該方法可進一步包括:生成修補指示器,該指示器配置為指示接收器以連接第一
信號和第二信號。該方法可進一步包括:生成修補指示器,該指示器配置為指示文件分析器以連接
第一信號和第二信號。根據第二方面,提供有一種方法,包括:接收包括第一信號和位置引用指針的至少第一文件;基于第一信號生成至少第一可播放信號。第一信號可以包括基本媒體演示。該方法可進一步包括:確定位置內容包括第二信號,第二信號可以包括增強媒體演不;以及基于第一信號和第二信號生成第一可播放信號。增強媒體演示可以是以下中的至少一個:時間分辨率增強的媒體演示、更大量視圖增強的媒體演示、空間分辨率增強的媒體演示、以及質量增強的媒體演示。位置可以包括另一文件中的位置,其中引用指針可包括條件提取單元。位置可以包括第一文件中的位置,其中引用指針可以包括提取單元。該方法可進一步包括在由引用指針所指示的位置處確定指向第一文件位置中的第一信號的另一引用指針。另一引用指針可以包括提取單元。該方法可進一步包括在第一文件中確定與至少第一信號相關聯(lián)的元數據。該方法可進一步包括在另一文件中確定與第一信號相關聯(lián)的元數據,其中元數據可以包括指向第一信號的位置的指針。該方法還包括:確定網絡帶寬;確定至少第二信號的子集;并在網絡上請求第一信號和至少第二信號的子集。根據第三方面,提供有一種裝置,該裝置包括至少一個處理器和至少一個包括計算機程序代碼的存儲器,該至少一個存儲器和計算機程序代碼被配置為與至少一個處理器一起使該裝置至少執(zhí)行:確定至少第一信號和相關聯(lián)的第二信號;在第一文件中存儲第一信號;在第一文件中并與第一信號相關聯(lián)地生成位置引用指針;并在由引用指針所指示的位置處存儲與第一信號相關聯(lián)的第二信號??蓪⒌谝恍盘柵渲脼榭瑟毩⒂诘诙盘栕g碼。第一信號可以是基本媒體演示并且第二信號可以是與基本媒體演示相關聯(lián)的增強媒體演示。增強媒體演示可以是以下中的至少一個:時間分辨率增強的媒體演示、更大量視圖增強的媒體演示、空間分辨率增強的媒體演示以及質量增強的媒體演示。位置可以包括另一文件中的位置,其中引用指針可包括條件提取單元。位置可以包括第一文件中的位置,其中引用指針可以包括提取單元。
可進一步使得該裝置執(zhí)行在由引用指針所指示的位置處生成指向第一文件中的第一信號位置的另一引用指針。另一引用指針可以包括提取單元。可進一步使得該裝置執(zhí)行在第一文件中存儲與第一信號和第二信號相關聯(lián)的元數據??蛇M一步使得該裝置執(zhí)行在另一文件中存儲與第一信號和第二信號相關聯(lián)的元數據,其中元數據包括指向第一信號和第二信號的位置的指針??蛇M一步使得該裝置執(zhí)行:確定網絡帶寬;并在網絡上傳輸第一信號和至少第二信號的子集。可進一步使得該裝置執(zhí)行:生成修補指示器,該修補指示器配置為指示解碼器以
連接第一信號和第二信號??蛇M一步使得該裝置執(zhí)行:生成修補指示器,該修補指示器配置為指示接收器以
連接第一信號和第二信號。可進一步使得該裝置執(zhí)行:生成修補指示器,該修補指示器配置為指示文件分析
器以連接第一信號和第二信號。根據第四方面,提供有一種裝置,包括至少一個處理器和至少一個包括計算機程序代碼的存儲器,該至少一個存儲器和計算機程序代碼被配置為與至少一個處理器一起使得該裝置至少執(zhí)行:接收包括第一信號和位置引用指針的至少第一文件;并且基于第一信號生成至少第一可播放信號。第一信號可以包括基本媒體演示??蛇M一步使得該裝置執(zhí)行:確定包括第二信號的位置內容,第二信號包括增強媒體演示;以及基于第一信號和第二信號生成第一可播放信號。增強媒體演示可以是以下中的至少一個:時間分辨率增強的媒體演示、更大量視圖增強的媒體演示、空間分辨率增強的媒體演示以及質量增強的媒體演示。位置可以包括另一文件中的位置,并且引用指針可包括條件提取單元。位置可以包括第一文件中的位置,并且引用指針可以包括提取單元??蛇M一步使得該裝置執(zhí)行在由引用指針所指示的位置處確定指向第一文件中的第一信號位置的另一引用指針。另一引用指針可以包括提取單元??蛇M一步使得該裝置執(zhí)行在第一文件中確定與至少第一信號相關聯(lián)的元數據。可進一步使得該裝置執(zhí)行在另一文件中確定與第一信號相關聯(lián)的元數據,其中元數據包括指向第一信號的位置的指針。可進一步使得該裝置執(zhí)行:確定網絡帶寬;確定至少第二信號的子集;并在網絡上請求第一信號和至少第二信號的子集。根據第五方面,提供有一種裝置,包括:文件確定器,被配置為確定至少第一信號和相關聯(lián)的第二信號;文件生成器,被配置為在第一文件中存儲第一信號;指針生成器,被配置為在第一文件中并與第一信號相關聯(lián)地生成位置引用指針;以及另一文件生成器,被配置為在由引用指針所指示的位置處存儲與第一信號相關聯(lián)的第二信號??蓪⒌谝恍盘柵渲脼榭瑟毩⒂诘诙盘栕g碼。
第一信號可以是基本媒體演示,并且第二信號可以是與基本媒體演示相關聯(lián)的增強媒體演示。增強媒體演示可以是以下中的至少一個:時間分辨率增強的媒體演示、更大量視圖增強的媒體演示、空間分辨率增強的媒體演示、以及質量增強的媒體演示。位置可以包括另一文件中的位置,其中引用指針可包括條件提取單元。位置可以包括第一文件中的位置,其中引用指針可以包括提取單元。該裝置可包括另一指針生成器,該生成器被配置為在由引用指針所指示的位置處生成指向第一文件中的第一信號位置的另一引用指針。另一引用指針可以包括提取單元。該文件生成器可進一步配置為在第一文件中存儲與第一信號和第二信號相關聯(lián)的元數據。該裝置可包括元數據文件生成器,該生成器被配置為在另一文件中存儲與第一信號和第二信號相關聯(lián)的元數據,其中元數據包括至少一個指向第一信號和第二信號的位置的指針。該裝置可包括網絡監(jiān)視器,該監(jiān)視器被配置為確定網絡帶寬;以及傳輸器,配置為在網絡上傳輸第一信號和至少第二信號的子集。該裝置可包括指示器生成器,該生成器被配置為生成修補指示器,該指示器被配置為指示解碼器以連接第一信號和第二信號。該裝置可包括指示器生成器,該生成器被配置為生成修補指示器,該指示器被配置為指示接收器以連接第一信號和第二信號。該裝置可包括指示器生成器,該生成器被配置為生成修補指示器,該指示器被配置為指示文件分析器以連接第一信號和第二信號。根據第六方面,提供有一種裝置,包括:輸入,被配置為接收包括第一信號和位置引用指針的至少第一文件;以及解碼器,被配置為基于第一信號生成至少第一可播放信號。第一信號可以包括基本媒體演示。該解碼器可進一步包括指針解碼器,該解碼器被配置為確定位置內容包括第二信號,第二信號包括增強媒體演示,其中解碼器進一步配置為基于第一信號和第二信號生成第一可播放信號。增強媒體演示可以是以下中的至少一個:時間分辨率增強的媒體演示、更大量視圖增強的媒體演示、空間分辨率增強的媒體演示、以及質量增強的媒體演示。位置可以包括另一文件中的位置,并且引用指針可包括條件提取單元。位置可以包括第一文件中的位置,并且引用指針可以包括提取單元。該解碼器可進一步包括另一指針解碼器,該解碼器被配置為在由引用指針所指示的位置處確定指向第一文件中的第一信號位置的另一引用指針。另一引用指針可以包括提取單元。該設備可進一步包括元數據解碼器,該解碼器被配置為在第一文件中確定與至少第一信號相關聯(lián)的元數據。該設備可進一步包括另一元數據解碼器,該解碼器被配置為在另一文件中確定與第一信號相關聯(lián)的元數據,其中元數據包括指向第一信號位置的指針。
該設備可進一步包括:網絡監(jiān)視器,被配置為確定網絡帶寬;輸入進一步配置為確定至少第二信號的子集的接收;以及請求生成器,被配置為在網絡上請求第一信號和至少第二信號的子集。根據第七方面,提供有一種裝置,包括:信號處理部件,用于確定至少第一信號和相關聯(lián)的第二信號;文件處理部件,用于在第一文件中存儲第一信號;連接部件,用于在第一文件中并與第一信號相關聯(lián)地生成位置引用指針;以及其中文件處理部件進一步在由引用指針所指示的位置處存儲與第一信號相關聯(lián)的第二信號??蓪⒌谝恍盘柵渲脼榭瑟毩⒂诘诙盘栕g碼。第一信號可以是基本媒體演示,并且第二信號可以是與基本媒體演示相關聯(lián)的增強媒體演示。增強媒體演示可以是以下中的至少一個:時間分辨率增強的媒體演示、更大量視圖增強的媒體演示、空間分辨率增強的媒體演示、以及質量增強的媒體演示。位置可以包括另一文件中的位置,其中引用指針可包括條件提取單元。位置可以包括第一文件中的位置,其中引用指針可以包括提取單元。該裝置可包括另一連接部件,用于在由引用指針所指示的位置處生成指向第一文件位置中的第一信號的另一引用指針。另一引用指針可以包括提取單元。該文件處理部件可以進一步在第一文件中存儲與第一信號和第二信號相關聯(lián)的元數據。該裝置可包括元數據文件處理部件,用于在另一文件中存儲與第一信號和第二信號相關聯(lián)的元數據,其中元數據包括至少一個指向第一信號和第二信號的位置的指針。該裝置可包括:網絡監(jiān)視器部件,用于確定網絡帶寬;輸出部件,用于基于網絡監(jiān)視部件在網絡上輸出第一信號和至少第二信號的子集。該裝置可包括:指示器生成器部件,用于生成修補指示器,該指示器被配置為指示解碼器以連接第一信號和第二信號。該裝置可包括:指示器生成器部件,用于生成修補指示器,該指示器被配置為指示接收器以連接第一信號和第二信號。該設備可包括:指示器生成器部件,用于生成修補指示器,該指示器被配置為指示文件分析器以連接第一信號和第二信號。根據第八方面,提供有一種裝置,包括:輸入部件,用于接收包括第一信號和位置引用指針的至少第一文件;以及解碼部件,用于基于第一信號生成至少第一可播放信號。第一信號可以包括基本媒體演示。該解碼部件可包括指針解碼器部件,用于確定包括第二信號的位置內容,第二信號包括增強媒體演示,其中解碼部件進一步基于第一信號和第二信號生成第一可播放信號。增強媒體演示可以是以下中的至少一個:時間分辨率增強的媒體演示、更大量視圖增強的媒體演示、空間分辨率增強的媒體演示、以及質量增強的媒體演示。位置可以包括另一文件中的位置,并且引用指針可包括條件提取單元。位置可以包括第一文件中的位置,并且引用指針可以包括提取單元。
該解碼部件可進一步包括另一指針解碼器部件,用于在由引用指針所指示的位置處確定指向第一文件位置中的第一信號的另一引用指針。另一引用指針可以包括提取單元。該裝置可進一步包括元數據解碼器部件,用于在第一文件中確定與至少第一信號相關聯(lián)的元數據。該裝置可進一步包括另一元數據解碼器部件,用于在另一文件中確定與第一信號相關聯(lián)的元數據,其中元數據包括指向第一信號的位置的指針。該裝置可進一步包括:網絡監(jiān)視部件,用于確定網絡帶寬;輸入確定部件,用于確定至少第二信號的子集;以及請求生成部件,用于在網絡上請求第一信號和至少第二信號的子集。根據第九方面,提供有一種方法,包括:生成至少一個包括媒體數據的文件,其中媒體數據包括第一媒體數據部分和第二媒體數據部分,并且第一媒體數據片可獨立于第二媒體數據片解碼。生成可進一步包括:將第一樣本生成在至少一個文件中,該樣本包括第一數據單元和第二數據單元,第一數據單元包括第一媒體數據片,第二數據單元包括條件數據引用指針。生成可進一步包括:將第二媒體數據片生成在至少一個文件中,并設定條件數據引用指針指向第二媒體數據片。第一文件可包括至少一個:符合第一文件格式的文件,其中忽略條件數據引用指針;以及符合第二文件格式的文件,其中解析條件數據引用指針。該至少一個文件包括第一文件和第二文件,其中生成包括將樣本生成到第一文件中、以及將第二媒體數據片生成到第二文件中。根據第十方面,提供有一種方法,包括:提供指示第一文件段(segment)和第二文件段的轉換的指示器,第一文件段包括媒體數據部分(section),其中指示器進一步指示在不完全時何時修補媒體數據部分。該方法可進一步包括提供另一指示器,以指示第一文件段和第二文件段連接以形成修補的連續(xù)文件。根據第十一方面,提供有一種方法,包括:請求包括至少一個共同包括媒體數據部分的文件段的傳輸;接收至少一個文件段;確定媒體數據部分是不完整的;當媒體數據部分不完整時修補媒體數據部分,并將修補的媒體數據部分連接成文件。媒體數據部分可包括媒體數據部分的尺寸的指示。確定媒體部分不完全可進一步包括:當媒體數據部分的尺寸的指示大于媒體數據部分的尺寸時,確定媒體數據部分是不完全的。該至少一個文件部分可進一步包括文件元數據,并且文件元數據可包括媒體數據的字節(jié)范圍的引用。當字節(jié)范圍在至少一個文件段中至少部分缺失時,確定媒體數據部分是不完全的。根據第十一方面,提供有一種方法,包括:確定是否請求在至少一個文件內的字節(jié)范圍;請求包括媒體數據的至少第一文件的傳輸,該至少第一文件包括樣本,該樣本包括第一數據單元和第二數據單元,該第一數據單元包括第一媒體數據片,第二數據單元包括數據引用指針,該數據引用指針指向至少一個文件內部的字節(jié)范圍;接收該樣本;以及將樣本寫入至少第二文件。該方法可進一步包括將至少一個元素代替字節(jié)范圍寫入至少第二文件,該至少一個單元包括字節(jié)范圍的省略指示。根據第十二方面,提供有一種方法,用于解析包含媒體數據的至少一個文件,該至少一個文件包括樣本,該樣本包括第一數據單元和第二數據單元,該第一數據單元包括第一媒體數據片,該第二數據單元包括條件數據引用指針,該方法包括:從樣本提取第一數據單元或第一媒體數據片,識別條件數據引用指針的目標字節(jié)范圍是否包括存在于至少一個文件中的媒體數據;并且,當目標字節(jié)范圍包含媒體數據時從目標字節(jié)范圍中提取第二媒體數據片。該方法可進一步包括:將第一數據單元或第一媒體數據片插入存取單元;當目標字節(jié)范圍包含在至少一個文件中存在的媒體數據時,將第二媒體數據片附加至存取單元內。該方法可進一步包括:解碼存取單元。該方法可進一步包括:基于在指示不存在媒體數據的目標字節(jié)范圍中的至少一個元素或者基于位于不存在的文件中的目標字節(jié)范圍,識別目標字節(jié)范圍不包含媒體數據。該方法可進一步包括:解碼第一數據單元或第一媒體數據片;以及當目標字節(jié)范圍包括存在于至少一個文件中的媒體數據時解碼第二媒體數據片。一種電子設備,可包括上述裝置。一種芯片組,可包括上述裝置。附圖簡要說明為了更好地理解本發(fā)明,現(xiàn)在通過示例的方式對附圖作出參考,其中:
圖1a示意性示出適于采用本申請的某些實施例的系統(tǒng);圖1b示意性示出適于采用本申請的某些實施例的電子設備。圖2示意性示出如采用本申請某些實施例的圖1a中示出的系統(tǒng)操作。圖3更詳細地示意性示出在圖1a中示出的文件生成器和文件封裝器。圖4示意性示出根據本申請的某些實施例的文件生成器的操作。圖5示意性示出根據本申請的某些實施例的文件封裝器的操作。圖6示出根據本申請的某些實施例由文件封裝器生成的示例文件格式。圖7示意性示出根據本申請的某些進一步實施例的文件封裝器的操作。圖8示出根據本申請的某些進一步實施例由文件封裝器生成的示例文件格式。圖9示意性示出根據本申請的某些附加實施例的文件封裝器的操作。圖10示出根據本申請的某些附加實施例由文件封裝器生成的示例文件格式。圖11示意性示出根據本申請的某些補充實施例的文件封裝器的操作。圖12示出根據本申請的某些補充實施例由文件封裝器生成的示例文件格式。圖13更詳細地示意性示出圖1a中示出的文件封裝器。圖14示意性示出適用于采用本申請實施例的靜態(tài)HTTP服務器配置。圖15示意性示出適用于采用本申請實施例的半靜態(tài)HTTP服務器配置。
圖16示意性示出適用于在本申請實施例中采用的時間可伸縮視頻(temporalscalable video)。圖17示出示例NAL文件結構的示意圖。
具體實施例方式下面更詳細地描述用于可伸縮漸進下載和流傳輸媒體裝置的規(guī)定的可能機制。在這一點上,首先參考圖1a和圖lb,其中圖1a示出可結合本申請實施例的示例流傳輸系統(tǒng)的示意性方框圖,圖1b示出適用于在圖1a和圖2中示出的系統(tǒng)內實施的示例裝置,圖2描述圖1a中示出的系統(tǒng)的示例操作。某些實施例中流傳輸系統(tǒng)10可包括服務器I和客戶端3,其被配置為通過合適的通訊協(xié)議耦接。在下面的例子中,服務器I和客戶端3耦接并且采用超文本傳輸協(xié)議(HTTP)應用層通訊協(xié)議進行通訊。然而,應當理解可以采用任意適合的應用層通訊協(xié)議。關于圖lb,示出一種電子設備或裝置11,其根據本申請的實施例可用在圖1a中示出的系統(tǒng)內作為服務器I和/或客戶端3和/或HTTP緩存105中的至少一個。例如當裝置11用作例如客戶端3時,裝置11可以是無線通訊系統(tǒng)的移動終端或用戶設備。在另一實施例中,作為客戶端操作的裝置11可以是音頻-視頻設備,例如攝像機、電視(TV)接收器、錄音機或如mp3錄音機/播放器的音頻播放器、媒體錄像機(也公知為mp4錄像機/播放器)、或任何適用于媒體信號處理的計算機。裝置11包括處理器21,其耦接至收發(fā)器(RX/TX) 13、用戶接口(UI) 15和存儲器22。在某些實施例中,處理器21被配置為執(zhí)行各種程序代碼。在某些實施例中,所執(zhí)行的程序代碼包括當作為服務器I實現(xiàn)時用于編碼媒體數據信號的媒體編碼代碼或者當作為客戶端3實現(xiàn)時用于解碼媒體數據的媒體解碼代碼。在某些實施例中,所執(zhí)行的程序代碼或程序例如可存儲在任何時候需要時由處理器21檢索的存儲器22中。在某些實施例中,程序代碼可存儲在存儲器的程序代碼部分23中。在某些實施例中,存儲器22可以進一步包括用于存儲例如根據本發(fā)明已被編碼/或等待解碼數據的數據的數據存儲部分24。實施例中的編碼或解碼代碼可以硬件或軟件實現(xiàn)。在某些實施例中,裝置11包括用戶接口 15或用于使用戶能夠例如經由鍵盤直接向裝置11輸入命令、和/或例如經由顯示器從裝置11獲得信息的用戶接口部件。在某些實施例中,觸摸屏可向用戶接口既提供輸入又提供輸出功能。在某些實施例中,裝置11進一步包括適用于例如經由有線或無線通信網絡與其它設備實現(xiàn)通信的收發(fā)器13。還應當理解,裝置10的結構可以多種方式補充及變形。在某些實施例中,客戶端3可包括HTTP流傳輸客戶端107,其被配置為能夠在適當的通訊鏈接上產生和輸出HTTP請求5,例如獲得例如視頻或音頻剪輯的特定媒體文件的請求。如下面將討論的HTTP請求可經由HTTP緩存105傳輸至服務器I。在某些實施例中,HTTP流傳輸客戶端被配置為執(zhí)行HTTP流水線操作。HTTP流水線操作是一種不需等待相應應答而將多個HTTP請求寫出到單個套接字的技術。流水線操作僅僅在HTTP/1.1被支持,而不被1.0支持。由于通??梢詫⒍鄠€HTTP請求放入同一個(傳輸控制協(xié)議)TCP包中,因此HTTP流水線操作允許在網絡上發(fā)送更少的TCP包,降低網絡負載。在某些實施例中,TCP連接通過以下四組識別:服務器IP地址、服務器端口號、客戶端IP地址和客戶端端口號。由于每個客戶端進程被分配不同的端口號,因此從同一客戶端I向同一服務器3的多個同時的TCP連接是可能的。因此,即使請求都訪問同一服務器進程(例如在專用于HTTP的端口 80的Web服務器進程),請求都具有不同的客戶端套接字并表示唯一連接。這實現(xiàn)了從同一計算機向同一 Web站點多個同時的請求。通過步驟151在圖2中示出生成請求的操作。然后可在網絡上將請求輸出到服務器I。把請求傳送到服務器I的操作在圖2中通過步驟153示出。在某些實施例中,服務器包括HTTP流傳輸服務器103。HTTP流傳輸服務器103被配置為接收HTTP請求并且控制對接收到的HTTP請求的響應的產生。在服務器上接收請求的操作在圖2中通過步驟161示出。在某些實施例中,通過控制文件生成和文件封裝,HTTP流傳輸服務器103能夠響應來自HTTP流傳輸客戶端107的HTTP請求。HTTP流傳輸服務器103還可被配置為輸出和傳輸根據傳輸文件格式格式化的和在HTTP請求中封裝的一個或多個媒體演示文件。在某些實施例中,HTTP流傳輸服務器103可通過HTTP服務器1400實現(xiàn),該HTTP服務器1400被配置為以在例如常規(guī)web服務器中可找到的“靜態(tài)”模式操作。在模式中操作的系統(tǒng)的示例在圖14中示出。在該模式中,內容提供商1401能夠向服務/內容通知服務器1405提供內容,這可由包括服務/內容發(fā)現(xiàn)者1409的客戶端3經由URL發(fā)現(xiàn)。HTTP流傳輸客戶端107可請求來自HTTP服務器1400的一個或多個演示(內容)文件。該文件可根據服務器文件格式被格式化以被全部或部分傳輸。這些實施例中的HTTP服務器1400不需要通過任何方式編制內容。在該替代實施例中內容編制器1403從內容提供商1401接收內容并進一步(可能離線)通過內容編制器1403完成編制。在某些實施例中,HTTP流傳輸服務器103可實現(xiàn)為與動態(tài)流傳輸服務器1503可操作地連接的分離常規(guī)web HTTP服務器1400。該系統(tǒng)在圖15中示出,由此內容提供商1401被配置為向存儲部件1501提供內容。在某些實施例中,動態(tài)流服務器1503被配置為基于來自客戶端的請求動態(tài)地編制流傳輸內容到客戶端,例如經由HTTP服務器1400(以及在某些實施例中經由HTTP緩存105)的HTTP流傳輸客戶端107。在某些實施例中,在HTTP服務器1400和HTTP流傳輸客戶端107之間的HTTP流傳輸接口 1509基于HTTP協(xié)議并定義HTTP流傳輸的請求和響應的語法和語義。例如,HTTP流傳輸的請求/響應基于HTTP GET請求/響應。在這些實施例中,HTTP服務器1400和動態(tài)流傳輸服務器1503的組合被配置為解釋輸入的HTTP GET請求并識別來自給定內容的所請求的媒體樣本。在HTTP服務器1400和存儲部件1501之間的內容交付描述接口(content delivery description interface)確保能夠訪問內容交付描述。在某些實施例中,可由內容提供商或服務提供商提供內容交付描述(也稱為媒體演示描述)。它給出關于訪問相關內容的設備的信息。特別地,它描述是否內容可經由HTTP流傳輸存取以及如何執(zhí)行存取。通常經由HTTP GET請求/響應來檢索內容交付描述。在某些實施例中,在HTTP服務器1400和動態(tài)流傳輸服務器1503之間的接口是公共網關接口(CGI) 1507,其是標準化的并且在web服務器和動態(tài)內容生成服務器之間廣泛采用的接口。在某些實施例中,在HTTP服務器1400和動態(tài)流傳輸服務器1503之間的接口可以是演示性狀態(tài)轉移(Representational State Transfer,REST)接口,這是可能的并將能夠構建更多的可緩存資源定位符。REST接口是用于例如萬維網的分布超媒體系統(tǒng)的軟件架構類型。REST型架構由彼此之間傳送請求和響應的客戶端和服務器構成。請求和響應圍繞“資源”的“演示”的轉移而建立。資源可以是任何可尋址的連貫、有含義的概念。資源表述通常是捕捉資源的當前和未來狀態(tài)的文檔。在任意特定時刻,客戶端在應用狀態(tài)之間或者“休息時”之間轉換。在休息狀態(tài)的客戶端能夠與其用戶相互作用,但不會產生負載并且不會消耗在服務器組或網絡上的每個客戶端的存儲。當準備轉換為新狀態(tài)時,客戶端開始發(fā)出請求。當一個或多個請求未完成時,認為客戶端將要轉換狀態(tài)。每個應用狀態(tài)的演示包含可被用于下一時刻客戶端選擇以開啟新的狀態(tài)轉換的鏈接。公共網關接口(CGI)是定義web服務器軟件可如何將網頁生成授權給控制臺應用程序的標準(參見RFC3875 =CGI版本1.1)。該應用程序是公知的CGI腳本;雖然經常采用腳本語言,但是他們可以任意編程語言編寫。web服務器的任務通過分析請求內容(主要在其URL中)、確定響應發(fā)送的適當文檔、并將其返回至客戶端,從而響應由客戶(通常為網頁瀏覽者)所發(fā)出的網頁請求。如果請求識別磁盤上的文件,服務器可僅返回文件的內容。另夕卜,文檔的內容可在遠程組成(be composed on the fly)。一種實現(xiàn)方式是使控制臺應用程序計算文檔的內容,并告知web服務器使用該控制臺應用程序。CGI指定在web服務器和該控制臺應用程序之間傳輸哪個信息和如何傳輸。接著,HTTP服務器1400和動態(tài)流傳輸服務器1503組合在內容文件中或從實時流中定位所請求的媒體樣本。然后HTTP服務器1400和動態(tài)流傳輸服務器1503組合在容器中提取并封裝所請求的媒體樣本。隨后,新形成的具有媒體樣本的容器被傳送到HTTP GET響應主體的客戶端。此外在某些實施例中,動態(tài)HTTP流傳輸服務器103可以通過將HTTP服務器和動態(tài)流傳輸服務器在功能上合并成單個服務器I來實現(xiàn),隨后將描述該單個服務器的操作。此外,在某些實施例中,動態(tài)HTTP流傳輸服務器103可保持狀態(tài)。另外在某些實施例中,HTTP流傳輸服務器103可被配置為在兩種操作模式中實現(xiàn)HTTP流傳輸:靜態(tài)HTTP流傳輸和動態(tài)HTTP流傳輸。在靜態(tài)HTTP流傳輸的情況下,預先或獨立于服務器編制內容。無需由服務器調整媒體數據的結構以適應客戶端的需求。常規(guī)的處于“靜態(tài)”模式的web服務器(即HTTP服務器)僅可在靜態(tài)HTTP流傳輸模式中操作。在動態(tài)HTTP流傳輸的情況下,在服務器處基于接收非緩存請求來動態(tài)編制內容。常規(guī)的web服務器與動態(tài)流傳輸服務器可操作地連接,并且動態(tài)HTTP流傳輸服務器可在動態(tài)HTTP流傳輸模式中工作。在某些實施例中,服務器I可以包括文件生成器100。響應于來自HTTP流傳輸服務器的103的控制,文件生成器100確定所需的文件和數據。在某些實施例中,文件生成器是內容生成器。在該實施例中,文件生成器可包括一個或多個產生可伸縮媒體比特流的媒體編碼器。在某些其他實施例中,文件生成器100是在其中能夠檢索相關媒體數據的存儲部件,并且在進一步實施例中,文件生成器100是耦接到用于選擇性檢索數據和文件生成的存儲部件的處理器部件。
關于圖3,示出根據本申請的實施例的文件生成器100或任意適當信號處理部件的示意圖。另外圖4中示出根據某些實施例的文件生成器的操作。在某些實施例中,文件生成器100包括基本媒體數據生成器301和增強媒體數據生成器303。文件生成器100的基本媒體數據生成器301被配置為將可伸縮媒體比特流分割或生成為基本媒體數據部分?;久襟w數據代表可解碼的基本質量版本(base-quality version)的媒體數據。例如,其可以是可伸縮媒體流的基本層或多視圖媒體流的基本層演示。圖4中通過步驟401示出可伸縮媒體數據到基本媒體數據的生成/確定/分割。文件生成器100的增強媒體數據生成器303另外被配置為將可伸縮媒體分割/生成為增強媒體數據部分。例如,增強媒體數據可以是可伸縮媒體流或多視圖媒體流的一個或多個非基本視圖的增強層演示。圖4中通過步驟402示出可伸縮媒體數據到增強媒體數據的生成/確定/分割。應當理解為在某些實施例中增強媒體數據生成器303另外可生成增強媒體數據的進一步細分(sub-division),例如第一增強層和第二增強層,藉此每個進一步的層是對媒體信號的進一步增強。另外在某些實施例中,各層以類似于基本和增強層處理的方式被分別處理,如在下文關于文件封裝器101所描述的。然后文件生成器100向文件封裝器101輸出基本和增強媒體數據。圖4中通過步驟403示出向文件封裝器101輸出基本和增強媒體數據。在某些實施例中,服務器包括文件封裝器101。在某些實施例中,文件封裝器101可將媒體演示的媒體比特流作為輸入并將比特流封裝在一個或多個容器文件中。在某些實施例中,文件封裝器101還可將媒體比特流轉換成一個或多個文件,其可由HTTP流服務器處理。根據服務器文件格式9,格式化文件封裝器的輸出。在某些實施例中,文件封裝器101能夠生成適用于容器文件的服務器文件格式,其可由HTTP流傳輸服務器管理并用于生成HTTP請求的響應。多媒體容器文件格式是多媒體內容的產生、處理、傳輸和消費鏈條中的重要元素。在編碼格式或基本流格式和容器文件格式之間存在實質差異。編碼格式與將內容信息編碼成比特流的具體編碼算法行為有關。容器文件格式包括以能夠用于本地解碼和回放來存取、作為文件傳輸或以流傳輸的所有利用各種存儲和傳輸結構這樣的方式編制所生成的比特流的部件。而且,文件格式可有助于媒體的交換和編輯、以及將接收的實時流記錄成文件。關于圖13,示出根據本申請的實施例的文件封裝器101或任一適合的文件處理和/或鏈接部件。在某些實施例中,文件封裝器101包括元數據封裝器305、基本媒體數據封裝器307和增強媒體數據封裝器309,它們耦接以在文件生成器100的輸出上操作從而輸出由現(xiàn)有漸進下載客戶端和能夠適合比特率的HTTP流傳輸客戶端可存取的服務器文件。該格式還可與利用文件段作為傳輸文件格式的現(xiàn)有自適應HTTP流傳輸方案相結合使用。本申請的實施例使得以服務器文件既可以傳統(tǒng)方式漸進下載又可作為源使用以產生用于自適應HTTP流傳輸的文件段的方式的可伸縮媒體編碼的使用成為可能。而且,本申請的實施例使得所接收到的文件段能夠直接轉換為已有互換文件格式。在某些實施例中,文件生成器100和文件封裝器101被組合成單個文件生成器/封裝器。在某些實施例中,文件生成器100和/或文件封裝器101并不被視為服務器I的一部分,而是可替代包含在例如視頻編輯軟件的內容生成工具中。關于圖5,示出根據本申請的某些實施例的文件封裝器101的操作。在某些實施例中,文件封裝器101被配置為從文件生成器100接收基本和增強媒體數據。圖5中通過步驟501示出接收基本和增強媒體數據的操作。在某些實施例中,元數據封裝器305可封裝與第一文件中的媒體相關聯(lián)的元數據。而且,在某些實施例中,基本媒體數據封裝器307將基本媒體數據作為文件軌道(track)封裝或存儲到第一文件中。為了簡化下面的例子,下文中僅說明一種媒體類型,視頻,雖然典型的多媒體演示包含多于一種連續(xù)媒體類型,例如音頻和視頻媒體,并且在某些實施例中每種媒體類型均可以與下文描述的相類似的方式處理,或在某些進一步實施例中處理組合的媒體類型。在某些實施例中,封裝器可表示為用于信號封裝的文件處理部件以及用于生成和配置如本申請中描述的指針的鏈接部件。在某些實施例中,媒體數據是可伸縮的媒體數據。例如在某些實施例中,本發(fā)明采用高級視頻編碼(H.264/AVC)標準文件的可伸縮視頻編碼(SVC)。SVC在國際電信聯(lián)盟電信標準化部門(ITU-T)和國際標準化組織(ISO)/國際電工委員會(IEC)聯(lián)合技術委員會I (JTCl)共同制定的H.264/AVC的附件G中具體規(guī)定。在可伸縮視頻代碼中,可將視頻信號編碼到基本層和一個或多個增強層中。增強層增強了時間分辨率(即幀率)、空間分辨率、或僅由其他層或其部分表示的視頻內容的質量。每層與其全部附屬層一起是在確定空間分辨率、時間分辨率和質量水平下的視頻信號的一個演不??缮炜s層與其全部附屬層一起可稱為“可伸縮層演示”??蓪诳缮炜s層演示的部分可伸縮比特流提取和解碼以產生確定保真水平的原始信號的演示。在某些實施例中,視頻信號以精細粒度(顆粒度)可伸縮(FGS)方式編碼,其可以在確定位置后、或甚至在任意位置截斷增強層中的數據,并且其中每個截斷位置可包括顯示逐漸增強的視頻質量的附加數據。在某些實施例中,視頻信號以粗粒度(顆粒度)可伸縮(CGS)方式編碼,在其中不能在確定位置之后截斷增強層中的數據。CGS共同包括傳統(tǒng)質量(SNR)可伸縮和空間可伸縮。而且,在某些實施例,視頻信號以中粒度(顆粒度)可伸縮(MGS)方式編碼,在其中質量增強圖像通過具有大于O的quality_id語法元素,與SNR伸縮層圖像類似地編碼,但由與FGS層圖像類似的高級語法元素指示。在某些實施例中,SVC采用層間預測機制,其中可從并非當前重構層的層中預測確定信息。可層間預測的信息包括內部結構(intra texture)、移動和殘余數據。層間移動預測包括塊編碼模式的預測、標題信息等,其中來自較低層的移動可用于較高層的預測。在內部編碼的例子中,能夠從周邊的宏塊(maciOblock)或從較低層的協(xié)同定位的宏塊預測。這些預測技術不需使用來自先前編碼的存取單元的信息,并因此被稱為內部預測技術。而且,來自較低層的殘余數據還可用于當前層的預測。在某些實施例中,SVC指定為單循環(huán)解碼公知的概念。通過采用約束內部結構預測模式實現(xiàn)單循環(huán)解碼,由此可將層間內部結構預測應用于位于內部宏塊內部的基本層的對應塊的宏塊(MB)中?;旧吓c此同時,基本層中的這些內部宏塊采用約束內部預測(即,具有等于 I 的語法兀素 constrained_intra_pred_flag)。在采用單循環(huán)解碼的該實施例中,解碼器需要對期望回放的可伸縮層(稱作期望層或對象層)執(zhí)行運動補償和整體圖像重構,從而大幅降低解碼的復雜性。由于未用于層間預測(不論是層間內部結構預測,層間運動預測或層間殘余預測)的全部或部分宏塊數據對于期望層重構不是必需的,因此除期望層之外的所有層不需要完全解碼。在某些實施例中,需要單個解碼循環(huán)用于大多數圖像的解碼,而在某些實施例中,可以選擇性地將第二解碼循環(huán)用于重構基本演示,該演示需要作為預測參數但不用于輸出或顯示,且其重構僅用于所謂的關鍵圖像(在某些實施例中該變量store_ref_base_pic_flag的值等于I)。在某些實施例中,SVC文件中的可伸縮結構可由三個語法元素:temporal_id、dependency_id和quality_id來表征。在某些實施例中,語法元素temporal_id指示時間可伸縮層級,或間接指示幀率。包含較小的最大temp0ral_id值的圖像的可伸縮層演示具有相比包含更大的最大temporal_id的圖像的可伸縮層演示更小的巾貞率。另外,給定時間層典型地取決于較低時間層(即,具有較小temporal_id值的時間層),而不取決于任何更高的時間層。在某些實施例中,語法元素dependencyjd指示CGS層間編碼相關性層級(如先前所述,其包括SNR和空間可伸縮性)。在任一時間級位置,較小cbpendencyjd值的圖像可用于編碼具有較高dependency_id值的圖像的層間預測。語法元素quality_id用于指示FGS或MGS層的質量級別層次。在任意時間位置,且使用相同的dependency_id值,具有等于QL的quality_id的圖像利用具有等于QL-1的quality_id的圖像用于層間預測。在某些實施例中,具有大于O的quality_id的編碼片段(coded slice)可被編碼為可截斷FGS片段或不可截斷MGS片段。此外,在某些實施例中,priority_id指定各個視頻編碼NAL單元的優(yōu)先權標識符。在SVC標準中規(guī)定了子比特流提取過程。子比特流提取過程將SVC比特流轉換為具有視頻編碼層NAL單元的子集的另一 SVC或H.264/AVC比特流。子集被規(guī)定為目標priority_id> quality_id、temporal_id 和 / 或 priority_id 的值。所得到的比特流不包含比目標值更大的 priority_id、quality_id、temporal_id 和 / 或 priority_id 的值。文件生成器100和/或文件封裝器101可利用子比特流提取過程用于將可伸縮媒體分割為基本媒體數據部分和增強媒體數據部分。在某些實施例中,MVC文件的可伸縮特性由三個語法元素表征:temporal_id、priority_id 和 view_id。temporal_id 和 priority_id 與 SVC 中的相應語法兀素相似。view_id指示相關視頻編碼NAL單元的視圖或源相機(source camera)。MVC標準中規(guī)定子比特流提取過程,作為輸入包含在所得到的比特流子集中的目標temporaljd和priority_id以及一列view_id值。文件生成器100和/或文件封裝器101可利用子比特流提取過程用于將可伸縮媒體分割為基本媒體數據部分和增強媒體數據部分。在某些實施例中,具有相同dependency_id值的一個存取單元中的所有數據單元(即SVC內容中的網絡抽象層單元或NAL單元)被稱為相關單元或相關演示。在一個相關單元內部,具有相同quality_id值的所有數據單元可被稱為質量單元或層演示?;狙菔?也公知為解碼基本圖像,是從具有等于O的quality_id的相關單元以及將store_ref_base_pic_flag設置為等于O的視頻編碼層(VCL) NAL單元解碼得到的已解碼圖像。增強演示,也稱作已解碼圖像,也可從常規(guī)解碼過程得到,其中作為最高相關性演示存在的所有層演示均被解碼。每個H.264/AVC VCL NAL單元(具有范圍從1_5的NAL單元類型)在SVC比特流中在前面加上前綴NAL單元。根據某些實施例的兼容H.264/AVC解碼器的實現(xiàn)因此忽略前綴NAL單元。在某些實施例中,前綴NAL單元包括temporal_id值并由此包括SVC解碼器,例如文件播放器109,其解碼基本層,能夠從前綴NAL單元中獲知時間可伸縮層級。而且,前綴NAL單元包括用于基本演示的參考圖像標記命令。此外在某些實施例中,SVC文件可執(zhí)行與H.264/AVC相同的機制以提供時間可伸縮性。在某些實施例中,通過給定調節(jié)幀率的復雜性來提供在時域中的視頻質量的細化。在某些實施例中,時間可伸縮性可通過利用MPEG-1視頻中的B圖像在視頻編碼數據內部執(zhí)行。當B圖像從按照顯示順序,一個在B圖像前而另一個在B圖像后的兩個圖像進行雙預測時,編碼譯碼器利用兩個預測塊從平均樣本方式的兩個參考圖像以得到最終的預測塊。在某些實施例中,B圖像并非參考圖像,換句話說,它并不用于通過其他圖像的圖像間預測參考。因此,在某些實施例中,可丟棄B圖像以獲得具有更低幀率的時間可伸縮點??梢詧?zhí)行相同的機制以提供用于MPEG-2視頻、H.263和MPEG-4視頻文件的時間可伸縮性。H.264/AVC實施例中的時間可伸縮性的實現(xiàn)與B圖像或已變化的B片段的概念不同。在H.264/AVC標準中,B片段的定義是可使用在相同片段內部的已解碼樣本的內部預測或來自在先解碼的參考圖像的幀間預測,使用至多兩個運動向量和參考指標來預測每個塊的樣本值來解碼的片段。因此在這些實施例中,傳統(tǒng)B圖像概念的雙向預測特性和非參考圖像特性不再有效,因為在某些實施例中,B片段中的塊可從以顯示順序在同一方向中的兩個參考圖像預測,且包含B片段的圖像可指用于圖像間預測的其他圖像。然而,在某些實施例中,可通過利用非參考圖像和/或分級圖像間預測結構來得到H.264/AVC、SVC和MVC的時間可伸縮性。通過丟棄非參考圖像,僅利用非參考圖像能夠得到與采用傳統(tǒng)MPEG-1/2/4的B圖像相似的時間可伸縮性。因此例如在某些實施例中執(zhí)行的分級編碼結構可得到靈活的時間可伸縮性。參見圖16,示出可在本申請的實施例中采用的典型分級編碼結構。雖然該示例中示出四級時間可伸縮性,但是應當理解在本申請的某些實施例中可實現(xiàn)多于或少于四級。顯示順序由表示為圖像順序計數(POC) 1601的值指示。時間結構由表示為時間級別(TL)1607的值表示,其等于temporal_id值。I或P圖像1603,也稱作關鍵圖像,在某些實施例中以解碼順序被編碼成一組圖像(GOP) 1605中的第一圖像。在圖16中,示出兩組圖像1605a和1605b。當關鍵圖像被幀間編碼時,前一關鍵圖像用作圖像間預測的參考。這些圖像對應于時間可伸縮結構中的最低時間級別(圖中表示為TL1607)且與最低幀率相關。在這些實施例中,較高時間級別的圖像可僅利用相同或較低時間級別的圖像用于圖像間預測。在這些實施例中,通過丟棄確定時間級別值和之后的圖像,分級編碼結構實現(xiàn)對應于不同幀率的時間可伸縮性。在圖16中,圖像0、8和16具有最低時間級別(TL=0),圖像4和12具有下一最低時間級別(TL=1),圖像2、6、10和15具有再下一最低時間級別(TL=2),而圖像1、3、5、7、9、11、13和15具有最高時間級別(TL=3)。這些不同時間級別的圖像可用于生成不同幀率的比特流。例如在某些實施例中,當解碼全部時間級別時文件讀取器能夠生成30Hz的幀率,僅利用最高至TL=2的圖像可生成15Hz的幀率,利用最高至TL=I的圖像可生成7.5Hz的幀率,以及利用TL=O的圖像可生成3.75Hz的幀率。由此,通過丟棄某些時間級別的圖像,可以得到其他幀率。具有較低時間級別或較低幀率的時間可伸縮層也可稱為較低時間層。上述分級B圖像編碼結構是用于時間可伸縮性的最典型編碼結構。然而,應當指出更為靈活的編碼結構也是可以的。例如在某些實施例中,GOP尺寸不必是在時間上的常數。在某些實施例中,其他的例子未將時間增強層圖像作為B片段編碼,因為他們也可被編碼為P片段。在某些實現(xiàn)H.264/AVC的實施例中,時間級別可由補充增強信息(SEI)的子順序信息中的子順序層數來用信號指示。在某些實現(xiàn)SVC的實施例中,時間級別可由語法元素temporal_id在網絡抽象層(NAL)單元頭部中來用信號指示。在某些實施例中,每個時間級別的比特率和幀率信息可在可伸縮性信息SEI消息中用信號指示。在本申請的某些實施例中,文件生成器/封裝器被配置為執(zhí)行可包括空間可伸縮性和信噪比(SNR或保真度)可伸縮性的粗粒度可伸縮性(CGS)。在某些實施例中空間可伸縮性支持具有不同分辨率的視頻演示。對于每個時刻的視頻編碼層(VCL)的網絡抽象層(NAL)單元被編碼在同一存取單元中,且這些VCL NAL單元可對應于不同的分辨率。在解碼期間,例如在某些實施例中在文件讀取器內部,低分辨率VCL NAL單元提供運動區(qū)域和可由高分辨率圖像的最終解碼和重構可選擇性繼承的殘差。與之前的視頻壓縮標準相比,SVC的空間可伸縮性在某些實施例中概括為使基本層能夠成為增強層的裁切和縮放版本。在本申請的某些實施例中,文件生成器/封裝器被配置為實現(xiàn)MGS質量層,其可以與FGS質量層類似的方式用quality_id數據元素指示。在這些實施例中,文件生成器/封裝器可為每個相關單元(具有相同的dependency_id)生成具有等于O的quality_id的層和具有大于O的quality_id的其它層。取決于片段是否作為可截斷片段編碼層,具有大于
O的quality_id值的層可以是MGS層或FGS層。在某些實施FGS增強層的實施例中,僅采用層間預測。因此,F(xiàn)GS增強層可任意截斷而不會導致解碼次序的任何錯誤傳播。然而,由于僅低質量圖像用于幀間預測參考,這些實施例可具有低的壓縮效率。由此,在某些實施例中可利用FGS增強圖像作為幀間預測參考,當某些FGS數據丟棄時可能出現(xiàn)編碼-解碼錯位,也稱作漂移。在某些實施例中,應當理解FGS NAL單元可任意裁切或截斷,并且MGS NAL單元可任意裁切(不能被截斷)而不會影響比特流的一致性。如上所述,當在編碼期間將FGS或MGS數據用于幀間預測參考時,在某些實施例中數據的裁切或截斷導致在解碼器側和編碼器側的解碼圖像之間的錯位。該錯位也被稱為漂移。在某些實施例中,為了控制由于FGS或MGS數據的裁切或截斷的漂移,在確定的相關單元中,基本演示(通過僅解碼具有等于O的quality_id和所有取決于較低層數據的CGS圖像)存儲在解碼的圖像緩沖中。此外在該實施例中,當對具有相同dependency_id值的后來的相關單元編碼時,所有NAL單元,包括FGS或MGS NAL單元,利用幀間預測參考的基本演示。因此,由于在前存取單元中的FGS或MGS NAL單元的裁切或截斷的全部漂移在該存取單元中停止。對于具有相同dependency_id值的其他相關單元來說,為了高的編碼效率,所有NAL單元利用幀間預測參考的解碼圖像。在某些實施例中,每個網絡抽象層(NAL)單元在NAL單元頭部包括語法元素use_ref_base_pic_flag。當該元素值等于I時,在巾貞間預測過程期間,NAL單元的解碼利用參考圖像的基本演示。在該實施例中語法元素store_ref_base_pic_flag規(guī)定是(等于I時)否(等于O時)存儲當前圖像的基本演示用于幀間預測所用的未來圖像。在某些實施例中,具有大于O的quality_id的NAL單元被配置為不含有與參考圖像列表結構和加權預測相關的語法元素。換句話說,語法元素num_ref_active_lx_minusl(x=0或1),參考圖像列表的重新排序語法表以及加權預測語法表不存在。因此,在這些實施例中,當必要時MGS或FGS層必須從同一相關單元的具有等于O的quality_id的NAL單元中繼承這些語法元素。在某些實施例中,文件生成器/封裝器和HTTP服務器可被配置為以基于ISO基本媒體文件格式的IS0/IEC14496-15的AVC文件格式編碼媒體文件。在該實施例中生成的AVC流是各自被分割為大量的網絡抽象層(NAL)單元的存取單元序列。在AVC文件中,存取單元的所有NAL單元形成文件格式樣本,以及在文件中,每個NAL單元馬上在前面加上其字節(jié)尺寸。關于圖17示出AVC樣本的結構。在該實施例中,樣本1700包括一組網絡抽象層(NAL)單元。每個NAL單元包括長度字段1701,其被配置為指示后面的NAL單元的字節(jié)長度。在某些實施例中,長度字段可被配置為是1、2或4個字節(jié)。而且,每個NAL單元包括NAL數據單元,例如存取單元分隔符NAL單元703,SEI NAL單元1705,片NAL單元(主編碼圖像)1707和片NAL單元(冗余編碼圖像)1709。在某些實施例中,以與AVC文件格式類似的方式生成SVC和MVC文件格式。而且,由于能以與AVC相兼容的方式操作SVC和MVC編碼解碼器,SVC和MVC文件格式也可以在AVC兼容方式中使用。然而,存在一些SVC專用和MVC專用的結構以實現(xiàn)可伸縮和多視圖操作。在圖5中通過步驟503示出第一文件樣本數據中封裝基本媒體數據的操作。增強媒體數據封裝器309此外被配置為在第一文件樣本數據內部生成和封裝條件數據引用指針。在某些實施例中,條件數據引用指針可包括條件提取器NAL單元(Cond.Extr.NAL單元)。提取器NAL單元被配置為提供一種方法以在描述相同可伸縮或多視圖流的多軌道中共享數據并由此不會過度擴大文件。在圖5中通過步驟505示出在第一文件樣本數據中封裝條件數據引用的操作。在該實施例中,提取器NAL單元實現(xiàn)為在樣本內作為全部其他NAL單元駐留的在線結構。提取器NAL單元類型專用于文件格式。在某些實施例中,其NAL單元類型值選自對于本申請用途的H.264/AVC中保留的那些NAL單元類型值??蛇x地,在某些實施例中,條件數據引用指針可使用相同的標識符值作為非條件數據引用指針,例如SVC和MVC文件格式的提取器NAL單元。然而,由數據引用指針指向的數據可包括該標識符值,其禁用引用包含的數據。在SVC和MVC文件格式中,由提取器NAL單元指向的數據可指示為包含零尺寸NAL單元??蛇x地,由數據引用指針指向的文件不必存在并由此不從文件提取數據。在某些實施例中,提取器NAL單元可與其他NAL單元類似地構建。在該實施例中,提取器NAL單元包括從另一軌道的樣本復制確定的數據片以代替解碼所經過的存取單元中的提取器NAL單元來解碼的指令。換句話說,提取器NAL單元是指向已鏈接軌道中的一個的時間并行樣本的字節(jié)范圍的運行可解引用(de-referenceable)的指針。
在某些實施例中,提取器NAL單元實現(xiàn)不同類型的軌道。例如,在某些實施例中,H.264/AVC基本層或比特流的基本視圖可包含在作為視頻編碼NAL單元的樣本中,而增強層或非基本視圖可分別包含在提取器NAL單元中。這一軌道與AVC文件讀取器和H.264/AVC解碼器兼容。在某些實施例中,提取器NAL單元中的語法可以是:
權利要求
1.一種方法,包括: 確定至少第一信號和相關聯(lián)的第二信號; 將所述第一信號存儲在第一文件中; 在所述第一文件中并與所述第一信號相關聯(lián)地生成位置引用指針;以及 在由所述引用指針所指示的位置處存儲與所述第一信號相關聯(lián)的所述第二信號。
2.如權利要求1所述的方法,其中所述第一信號被配置為可獨立于所述第二信號解碼。
3.如權利要求1和2所述的方法,其中所述第一信號是基本媒體演示,并且所述第二信號是與所述基本媒體演示相關聯(lián)的增強媒體演示。
4.如權利要求3所述的方法,其中所述增強媒體演示是如下的至少一個: 時間分辨率增強的媒體演示; 更大量視圖增強的媒體演示; 空間分辨率增強的媒體演示;和 質量增強的媒體演示。
5.如權利要求1至4所述的方法,其中所述位置包括另一文件中的位置,其中所述引用指針包括條件提取單元。
6.如權利要求1至4所述的方法,其中所述位置包括所述第一文件中的位置,其中所述引用指針包括提取單元。
7.如權利要求1至6所述的方法,還包括在由所述引用指針所指示的位置處生成指向所述第一文件中的所述第一信號位置的另一引用指針。
8.如權利要求7所述的方法,其中所述另一引用指針包括提取單元。
9.如權利要求1至8所述的方法,還包括在所述第一文件中存儲與所述第一信號和所述第二信號相關聯(lián)的元數據。
10.如權利要求1至9所述的方法,還包括在另一文件中存儲與所述第一信號和所述第二信號相關聯(lián)的元數據,其中所述元數據包括指向所述第一信號和所述第二信號的位置的指針。
11.如權利要求1至10所述的方法,還包括: 確定網絡帶寬;在網絡上傳輸所述第一文件和至少所述第二信號的子集。
12.如權利要求1至11所述的方法,還包括: 生成修補指示器,該修補指示器被配置為指示解碼器以連接所述第一信號和所述第二信號。
13.—種方法,包括: 接收包括第一信號和位置引用指針的至少第一文件; 基于所述第一信號生成至少第一可播放信號。
14.如權利要求13所述的方法,其中所述第一信號包括基本媒體演示。
15.如權利要求13所述的方法,還包括: 確定包括第二信號的位置內容,所述第二信號包括增強媒體演示;和 基于所述第一信號和所述第二信號生成所述第一可播放信號。
16.如權利要求15所述的方法,其中所述增強媒體演示是下述中的至少一個:時間分辨率增強的媒體演示; 更大量視圖增強的媒體演示; 空間分辨率增強的媒體演示;以及 質量增強的媒體演示。
17.如權利要求13至16所述的方法,其中所述位置包括另一文件中的位置,其中所述引用指針包括條件提取單元。
18.如權利要求13至16所述的方法,其中所述位置包括所述第一文件中的位置,其中所述引用指針包括提取單元。
19.如權利要求13至18所述的方法,還包括在由所述引用指針所指示的位置處確定指向所述第一文件中的所述第一信號位置的另一引用指針。
20.如權利要求19所述的方法,其中所述另一引用指針包括提取單元。
21.如權利要求13至20所述的方法,還包括在所述第一文件中確定與至少所述第一信號相關聯(lián)的元數據。
22.如權利要求13至20所述的方法,還包括在另一文件中確定與所述第一信號相關聯(lián)的元數據,其中所述元數據包括指向所述第一信號的位置的指針。
23.一種裝置,包括至少一個處理器和至少一個包括計算機程序代碼的存儲器,所述至少一個存儲器和所述計算機程序代碼被配置為與所述至少一個處理器一起使所述裝置至少執(zhí)行: 確定至少第一信號和相關聯(lián)的第二信號;` 在第一文件中存儲所述第一信號; 在所述第一文件中并與所述第一信號相關聯(lián)地生成位置引用指針;和 在由所述引用指針所指示的位置處存儲與所述第一信號相關聯(lián)的所述第二信號。
24.如權利要求23所述的裝置,其中所述第一信號被配置為可獨立于所述第二信號解碼。
25.如權利要求23和24所述的裝置,其中所述第一信號是基本媒體演示,并且所述第二信號是與所述基本媒體演示相關聯(lián)的增強媒體演示。
26.如權利要求25所述的裝置,其中所述增強媒體演示是以下中的至少一個: 時間分辨率增強的媒體演示; 更大量視圖增強的媒體演示; 空間分辨率增強的媒體演示;和 質量增強的媒體演示。
27.如權利要求23至26所述的裝置,其中所述位置包括另一文件中的位置,其中所述引用指針包括條件提取單元。
28.如權利要求23至26所述的裝置,其中所述位置包括所述第一文件中的位置,其中所述引用指針包括提取單元。
29.如權利要求23至28所述的裝置,還使其執(zhí)行在由所述引用指針所指示的位置處生成指向所述第一文件中的所述第一信號位置的另一引用指針。
30.如權利要求29所述的裝置,其中所述另一引用指針包括提取單元。
31.如權利要求23至30所述的裝置,還使其執(zhí)行在所述第一文件中存儲與所述第一信號和所述第二信號相關聯(lián)的元數據。
32.如權利要求23至31所述的裝置,還使其執(zhí)行在另一文件中存儲與所述第一信號和所述第二信號相關聯(lián)的元數據,其中所述元數據包括指向所述第一信號和所述第二信號的位置的指針。
33.如權利要求23至32所述的裝置,還使其執(zhí)行: 確定網絡帶寬;和 在網絡上傳輸所述第一文件和至少所述第二信號的子集。
34.如權利要求23至33所述的裝置,還使其執(zhí)行: 生成修補指示器,該修補指示器被配置為指示解碼器以連接所述第一信號和所述第二信號。
35.一種裝置,包括至少一個處理器和至少一個包括計算機程序代碼的存儲器,所述至少一個存儲器和所述計算機程序代碼被配置為與所述至少一個處理器一起使所述裝置至少執(zhí)行: 接收包括第一信號和位置引用指針的至少第一文件; 基于所述第一信號生成至少第一可播放信號。
36.如權利要求35所述的裝置,其中所述第一信號包括基本媒體演示。
37.如權利要求36所述的裝置,還使其執(zhí)行: 確定包括第二信號的位置內容,所述第二信號包括增強媒體演示;和 基于所述第一信號和所述第二信號生成所述第一可播放信號。
38.如權利要求37所述的裝置,其中所述增強媒體演示是以下中的至少一個: 時間分辨率增強的媒體演示; 更大量視圖增強的媒體演示; 空間分辨率增強的媒體演示;和 質量增強的媒體演示。
39.如權利要求35至38所述的裝置,其中所述位置包括另一文件中的位置,其中所述引用指針包括條件提取單元。
40.如權利要求35至38所述的裝置,其中所述位置包括所述第一文件中的位置,其中所述引用指針包括提取單元。
41.如權利要求35至30所述的設備,還使其執(zhí)行在由所述引用指針所指示的位置處確定指向所述第一文件中的所述第一信號位置的另一引用指針。
42.如權利要求41所述的裝置,其中所述另一引用指針包括提取單元。
43.如權利要求35至42所述的裝置,還使其執(zhí)行在所述第一文件中確定與至少所述第一信號相關聯(lián)的元數據。
44.如權利要求35至42所述的裝置,還使其執(zhí)行在另一文件中確定與所述第一信號相關聯(lián)的元數據,其中所述元數據包括指向所述第一信號的位置的指針。
全文摘要
一種裝置,包括至少一個處理器和至少一個包括計算機程序代碼的存儲器,該至少一個存儲器和計算機程序代碼被配置為與至少一個處理器一起使裝置至少執(zhí)行確定至少第一信號和相關聯(lián)的第二信號;在第一文件中存儲第一信號;在第一文件中并且與第一信號相關聯(lián)地生成位置引用指針;以及在由引用指針所指示的位置處存儲與第一信號相關聯(lián)的第二信號。
文檔編號H04N7/26GK103119934SQ201080069167
公開日2013年5月22日 申請日期2010年7月20日 優(yōu)先權日2010年7月20日
發(fā)明者M·M·漢努克塞拉 申請人:諾基亞公司