操作在一些地方被描述為由與容器格式信宿或容器格式源相 關(guān)聯(lián)的容器格式處理工具實施,但是在許多情況下,所述操作可以替換地由另一類型的容 器格式處理工具來實施。這里所描述的一些示例涉及視頻內(nèi)容。更一般地,這里所描述的 創(chuàng)新可以應(yīng)用于圖像內(nèi)容(例如,一般靜止圖像內(nèi)容、醫(yī)學(xué)掃描內(nèi)容、多光譜成像內(nèi)容)、音 頻內(nèi)容或另一類型的媒體內(nèi)容。
[0026] 這里所描述的創(chuàng)新中的一些將參照特定于MP4或CFF容器格式的語法元素和操作 來說明。這里所描述的創(chuàng)新也可以被實施用于其他容器格式,比如ASF、MPEG-2 TS/PS和 MKV0
[0027] 更一般地,對于這里所描述的示例的各種替換方案是可能的。例如,可以通過改變 所描述的方法動作的排序,通過分割、重復(fù)或省略某些方法動作等等,來改動這里所描述的 方法中的一些方法。可以組合地或者單獨地使用所公開技術(shù)的各個方面。不同實施例使用 所描述的創(chuàng)新中的一個或多個創(chuàng)新。這里所描述的創(chuàng)新中的一些創(chuàng)新解決了在【背景技術(shù)】中 所提到的問題中的一個或多個問題。典型地,給定的技術(shù)/工具不解決所有這樣的問題。
[0028] I.示例計筧系統(tǒng) 圖1圖示出適當(dāng)計算系統(tǒng)(100)的一般化示例,其中可以實施所描述的創(chuàng)新中的若干 個創(chuàng)新。計算系統(tǒng)(100)并非旨在暗示關(guān)于用途或功能的范圍的任何限制,因為所述創(chuàng)新 可以被實現(xiàn)在各種各樣的通用或?qū)S糜嬎阆到y(tǒng)中。
[0029] 參照圖1,計算系統(tǒng)(100)包括一個或多個處理單元(110、115)和存儲器(120、 125)。處理單元(110、115)執(zhí)行計算機可執(zhí)行指令。處理單元可以是通用中央處理單元 ("〇?1]")、專用集成電路("六51(:")中的處理器或任何其他類型的處理器。在多處理系統(tǒng)中, 多個處理單元執(zhí)行計算機可執(zhí)行指令以提高處理能力。例如,圖1示出了中央處理單元 (110)以及圖形處理單元或共處理單元(115)。有形存儲器(120、125)可以是(多個)處理 單元可訪問的易失性存儲器(例如,寄存器、高速緩存器、RAM)、非易失性存儲器(例如,R0M、 EEPR0M、閃速存儲器等等)、或者這兩者的某種組合。存儲器(120、125)按照適合于由(多個) 處理單元執(zhí)行的計算機可執(zhí)行指令的形式存儲軟件(180),該軟件(180)實施了用于對媒 體文件中根據(jù)容器格式定義的按層級組織的語法元素進行知曉語法的操縱的一個或多個 創(chuàng)新。
[0030] 計算系統(tǒng)可以具有附加特征。例如,計算系統(tǒng)(100)包括存儲裝置(140)、一個或 多個輸入設(shè)備(150)、一個或多個輸出設(shè)備(160)以及一個或多個通信連接(170)。比如總 線、控制器或網(wǎng)絡(luò)之類的互連機制(未示出)使計算系統(tǒng)(100)的組件互連。典型地,操作系 統(tǒng)軟件(未示出)提供了用于在計算系統(tǒng)(100)中執(zhí)行的其他軟件的操作環(huán)境,并且協(xié)調(diào)了 計算系統(tǒng)(100)的組件的活動。
[0031] 有形存儲裝置(140)(也稱作計算機可讀存儲裝置)可以是可移除的或不可移 除的,并且包括磁盤、磁帶或磁盒、⑶-ROM、DVD或可以用于存儲信息并且可以在計算系統(tǒng) (100)內(nèi)訪問的任何其他介質(zhì)。存儲裝置(140)存儲用于軟件(180)的指令,該軟件(180) 實施用于對媒體文件中根據(jù)容器格式定義的按層級組織的語法元素進行知曉語法的操縱 的一個或多個創(chuàng)新。
[0032] (多個)輸入設(shè)備(150)可以是觸摸輸入設(shè)備(比如鍵盤、鼠標、筆或軌跡球)、語音 輸入設(shè)備、用于接收手勢輸入的觸摸屏、掃描設(shè)備、或提供輸入到計算系統(tǒng)(100)的另一設(shè) 備。對于視頻,(多個)輸入設(shè)備(150)可以是攝影機、視頻卡、TV調(diào)諧器卡、或接受模擬或 數(shù)字形式的視頻輸入的類似設(shè)備、或者將視頻樣本讀入計算系統(tǒng)(100)的CD-ROM或CR-RW。 對于音頻,(多個)輸入設(shè)備(150)可以是麥克風(fēng)或接受模擬或數(shù)字形式的音頻輸入的類似 設(shè)備、或者將音頻樣本讀入計算系統(tǒng)(100)的⑶-ROM或CR-RW。(多個)輸出設(shè)備(160)可 以是顯示器、打印機、揚聲器、⑶寫入器、或提供來自計算系統(tǒng)(100)的輸出的另一設(shè)備。
[0033] (多個)通信連接(170)允許經(jīng)由通信介質(zhì)與另一計算實體通信。通信介質(zhì)在經(jīng)調(diào) 制的數(shù)據(jù)信號中傳達信息,比如計算機可執(zhí)行指令、音頻或視頻輸入或輸出、或其他數(shù)據(jù)。 經(jīng)調(diào)制的數(shù)據(jù)信號是讓其特性中的一個或多個按照在信號中編碼信息這樣的方式被設(shè)置 或改變的信號。舉例而非限制,通信介質(zhì)可以使用電、光學(xué)、RF或其他載體。
[0034] 所述創(chuàng)新可以在計算機可讀介質(zhì)的一般情境中描述。計算機可讀介質(zhì)是可以在計 算環(huán)境內(nèi)訪問的任何可用有形介質(zhì)。舉例而非限制,對于計算系統(tǒng)(1〇〇),計算機可讀介質(zhì) 包括存儲器(120、125),存儲裝置(140)和任何一個以上內(nèi)容的組合。
[0035] 所述創(chuàng)新可以在計算機可執(zhí)行指令(也稱作機器可讀指令)的一般情境中描述,比 如被包括在程序模塊(也稱作計算機程序產(chǎn)品)中的、在目標真實或虛擬處理器上的計算系 統(tǒng)中執(zhí)行的那些指令。一般地,程序模塊包括實施特定任務(wù)或?qū)嵤┨囟ǔ橄髷?shù)據(jù)類型的例 程、程序、庫、對象、類、組件、數(shù)據(jù)結(jié)構(gòu)等??梢园凑赵诟鞣N實施例中所期望的那樣在程序模 組塊之間組合或分割程序模塊的功能。程序模塊的計算機可執(zhí)行指令可以在本地或分布式 的計算系統(tǒng)內(nèi)執(zhí)行。
[0036] 術(shù)語"系統(tǒng)"和"設(shè)備"在這里可互換地使用。除非上下文另外清楚地指示,否則 術(shù)語不暗示關(guān)于計算系統(tǒng)或計算設(shè)備的類型的任何限定。一般而言,計算系統(tǒng)或計算設(shè)備 可以是本地的或分布式的,并且可以包括具有實施這里所描述的功能的軟件的專用硬件和 /或通用硬件的任何組合。
[0037] 還可以使用被配置為實施任一個所公開方法的專用計算硬件來實施所公開方法。 例如,可以由被專門設(shè)計或配置來實施任一個所公開方法的集成電路(例如,比如ASIC數(shù) 字信號處理單元之類的ASIC、圖形處理單元或比如現(xiàn)場可編程門陣列之類的可編程邏輯設(shè) 備)來實施所公開方法。
[0038] 為了介紹的目的,該【具體實施方式】使用像"確定"、"提供"和"使用" 一樣的術(shù)語來 描述計算系統(tǒng)中的計算機操作。這些術(shù)語是對由計算機實施的操作的高層級抽象,并且不 應(yīng)該與由人類實施的動作相混淆。與這些術(shù)語對應(yīng)的實際計算機操作根據(jù)實施方案而變 化。如這里所使用的,術(shù)語"由……提供"意為任何形式的遞送,而不論是直接來自于實體 還是通過一個或多個中介間接地來自于實體。
[0039] II.示例網(wǎng)絡(luò)環(huán)境 圖2a和2b示出了示例網(wǎng)絡(luò)環(huán)境(201、202),其包括媒體編碼器(220)和媒體解碼器 (270 )。編碼器(270 )和解碼器(270 )使用適當(dāng)通信協(xié)議通過網(wǎng)絡(luò)(250 )相連。網(wǎng)絡(luò)(250 ) 可以包括因特網(wǎng)或另一個計算機網(wǎng)絡(luò)。
[0040] 在圖2a中所示出的網(wǎng)絡(luò)環(huán)境(201)中,每個實時通信("RTC")工具(210)包括 用于雙向通信的一個或多個編碼器(220)和一個或多個解碼器(270)以及容器格式信宿 和源工具(未示出)。對于視頻,給定編碼器(220)可以生成遵循SMPTE 421M標準、ISO/ IEC 14496-10標準(也已知為Η. 264或AVC)、HEVC標準,另一種標準或私有格式的輸 出,其中對應(yīng)的解碼器(270)接受來自編碼器(220)的已編碼數(shù)據(jù)。對于音頻,給定編碼器 (220)可以生成遵循HE AAC標準、AAC標準、Windows Media Audio (Windows媒體音頻) ("WMA")格式或另一種私有格式的輸出,其中對應(yīng)的解碼器(270)接受來自編碼器(220)的 已編碼數(shù)據(jù)。容器格式信宿根據(jù)容器格式處理流出的媒體內(nèi)容并且容器格式源根據(jù)容器格 式處理流入的媒體內(nèi)容。雙向通信可以是視頻會議、視頻電話呼叫、或其他雙方通信場景的 一部分。盡管圖2a中的網(wǎng)絡(luò)環(huán)境(201)包括兩個實時通信工具(210),但是網(wǎng)絡(luò)環(huán)境(201) 可以代替地包括參與多方通信的三個或更多實時通信工具(210)。
[0041] 實時通信工具(210)管理由編碼器(220)進行的編碼。圖3 (在上半部分)示出了 示例編碼器系統(tǒng),其包括容器格式信宿,其可以被包括在實時通信工具(210)中。替換地, 實時通信工具(210)使用另一種編碼器系統(tǒng)。實時通信工具(210)還管理由解碼器(270) 進行的解碼。圖3 (在下半部分)還示出了示例解碼器系統(tǒng),其包括容器格式源,其可以被 包括在實時通信工具(210)中。替換地,實時通信工具(210)使用另一種解碼器系統(tǒng)。
[0042] 在圖2b中所示出的網(wǎng)絡(luò)環(huán)境(202)中,編碼工具(212)包括一個或多個編碼器 (220),其對媒體編碼以用于遞送到包括解碼器(270)的多個重放工具(214)。在編碼工具 (212)中,容器格式信宿(未示出)根據(jù)容器格式處理流出的媒體內(nèi)容。在重放工具(214) 中,容器格式源(未示出)根據(jù)容器格式處理流入的媒體內(nèi)容。單向通信可以被提供用于視 頻監(jiān)管系統(tǒng)、web攝影機監(jiān)視系統(tǒng)、遠程桌面會議演示或其中媒體被編碼且被從一個位置發(fā) 送至一個或多個其他位置的其他場景。盡管圖2b中的網(wǎng)絡(luò)環(huán)境(202)包括兩個重放工具 (214),但是網(wǎng)絡(luò)環(huán)境(202)可以包括更多或更少的重放工具(214)。一般而言,重放工具 (214)與編碼工具(212)通信,以便確定供重放工具(214)接收的媒體流。重放工具(214) 接收流,將所接收的已編碼數(shù)據(jù)緩存一個適當(dāng)?shù)臅r間段,并且開始解碼和重放。
[0043] 圖3 (在上半部分)示出了示例編碼器系統(tǒng),其包括容器格式信宿,其可以被包括在 編碼工具(212)中。替換地,編碼工具(212)使用另一種編碼器系統(tǒng)。編碼工具(212)還可 以包括用于管理與一個或多個重放工具(214)的連接的服務(wù)器側(cè)控制器邏輯。圖3 (在下 半部分)還示出了示例解碼器系統(tǒng),