TWI755673B - 使用編輯操作執行時域軌道推導的方法和裝置 - Google Patents

使用編輯操作執行時域軌道推導的方法和裝置 Download PDF

Info

Publication number
TWI755673B
TWI755673B TW109100717A TW109100717A TWI755673B TW I755673 B TWI755673 B TW I755673B TW 109100717 A TW109100717 A TW 109100717A TW 109100717 A TW109100717 A TW 109100717A TW I755673 B TWI755673 B TW I755673B
Authority
TW
Taiwan
Prior art keywords
media
time
media units
sequence
track
Prior art date
Application number
TW109100717A
Other languages
English (en)
Other versions
TW202101445A (zh
Inventor
新 王
魯林 陳
Original Assignee
新加坡商聯發科技(新加坡)私人有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 新加坡商聯發科技(新加坡)私人有限公司 filed Critical 新加坡商聯發科技(新加坡)私人有限公司
Publication of TW202101445A publication Critical patent/TW202101445A/zh
Application granted granted Critical
Publication of TWI755673B publication Critical patent/TWI755673B/zh

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • G11B27/329Table of contents on a disc [VTOC]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/34Indicating arrangements 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/10537Audio or video recording
    • G11B2020/10592Audio or video recording specifically adapted for recording or reproducing multichannel signals
    • G11B2020/106113D video data

Abstract

本文描述的技術涉及被配置為訪問多媒體資料的方法、裝置和計算機可讀介質,該多媒體資料包括在第一層具有時間相關媒體單元的第一序列的第一軌道,和包括指定時域軌道推導操作的元資料的第二級的第二軌道的分層軌道結構。元資料包括在第一軌道上執行的一個或多個操作的集合,每個操作包括第一序列的單元持續時間和第一序列中的起始單元。在至少包括第一序列的一組媒體單元上執行時域軌道推導操作,該時域軌道推導操作包括應用一個或多個操作的集合以在時間上修改第一序列,以從該組媒體單元生成包括時間相關的媒體單元的第二序列的第二軌道的第二媒體資料。

Description

使用編輯操作執行時域軌道推導的方法和裝置
本文描述的技術涉及時域軌道(temporal track)推導,更具體而言,該技術涉及使用編輯操作(edit operation)執行時域軌道推導。
存在各種類型的3D內容和多方向內容。例如,全向視訊是使用一組相機捕獲的一種視訊,與傳統的單向視訊的只有一個相機相反。例如,可以將相機放置在特定的中心點周圍,以便每個相機在場景的球形覆蓋範圍內捕獲一部分視訊,以捕獲360度視訊。來自多個相機的視訊可以拼接、可能旋轉和投影,以生成表示球形內容的投影二維圖片。例如,可以使用等距的矩形投影將球面圖放入二維圖像中。然後可以例如使用二維編碼和壓縮技術對其進行進一步處理。最終,使用期望的傳送機制(例如,拇指驅動器、數位視碟(DVD)、文件下載、數位廣播和/或在線流)來存儲和傳送編碼和壓縮的內容。此類視訊可用於虛擬實境(VR)和/或3D視訊。
在客戶端,當客戶端處理內容時,視訊解碼器對編碼和壓縮的視訊進行解碼,然後執行反向投影以將內容放回球形。然後,用戶可以例如使用頭戴式觀看設備來觀看渲染的內容。通常根據用戶的視埠渲染內容,該視埠表示用戶觀看內容的角度。視埠還可以包括代表觀察區域的組件,該組件可以 描述觀察者正在以特定角度觀察的區域的大小和形狀。
當沒有以視埠相關的方式進行視訊處理時,視訊編碼器和/或解碼器不知道用戶實際觀看的內容,則整個編碼、傳遞和解碼過程將處理整個球形內容。例如,由於所有球形內容都被編碼、傳遞和解碼,因此這可以允許用戶在任何特定的視埠和/或區域觀看內容。
但是,處理所有球形內容可能需要大量計算,並且會佔用大量帶寬。例如,對於在線流應用程式,處理所有球形內容可能會給網路帶寬帶來除必不可少之外的更大負擔。因此,當帶寬資源和/或計算資源受到限制時,可能難以保證用戶的體驗。一些技術僅處理用戶正在查看的內容。例如,如果用戶正在觀看頂部區域(例如,北極),則無需遞送內容的底部部分(例如,南極)。如果用戶更改了視埠,則可以為新視埠相應地傳遞內容。作為另一個示例,對於免費視點電視(free viewpoint TV,簡寫為FTV)應用程式(例如,使用多個相機捕獲場景的視訊),可以根據用戶查看場景的角度來傳遞內容。例如,如果用戶正在從一個視埠(例如,相機和/或相鄰相機)觀看內容,則可能不需要為其他視埠傳遞內容。
根據所公開的主題,提供了用於支持時域軌道推導的裝置、系統和方法。
一些實施例涉及由與記憶體通信的至少一個處理器實現的方法,其中該記憶體存儲計算機可讀指令,該計算機可讀指令在由至少一個處理器執行時使至少一個處理器執行訪問包括分層軌道結構的多媒體資料,該分層軌道結構至少包括分層軌道結構的第一層的第一軌道,第一軌道包括第一媒體資料,其中,第一媒體資料包括與時間相關媒體單元的第一序列,以及與第一 層的第一軌道不同的、在該分層軌道結構的第二層的第二軌道,第二軌道包括指定時域軌道推導操作的元資料。元資料包括要在第一軌道上執行的一個或多個操作的集合,該一個或多個操作的集合的每個操作包括時間相關媒體單元的第一序列的單元持續時間,以及時間相關媒體單元的第一序列中的起始單元。該指令使該至少一個處理器對至少包括與時間相關媒體單元的該第一序列的一組媒體單元執行時域軌道推導操作,包括應用該一個或多個操作的集合以在時間上修改時間相關媒體單元的第一序列以生成第二軌道的第二媒體資料,其中第二媒體資料包括來自該組媒體單元的時間相關媒體單元的第二序列。
在一些示例中,一個或多個操作的集合移除時間相關媒體單元的第一序列的一個或多個媒體單元的集合,並且所述對該組媒體單元執行時域軌道推導操作包括:應用一個或多個操作,以從時間相關媒體單元的第一序列中移除一個或多個媒體單元的集合,以生成時間相關媒體單元的第二序列。
在一些示例中,一個或多個操作的集合包括指定修整操作(trim operation)和第一單元的第一操作,該修整操作包括第一零單元持續時間,該第一單元指定時間相關媒體單元的第一序列的一個或多個媒體單元的集合中的最後一個媒體單元,並且所述從時間相關媒體單元的第一序列中移除一個或多個媒體單元的集合包括:應用第一操作以從時間相關媒體單元的第一序列的起始部分到該單元止移除一個或多個媒體單元的集合。
在一些示例中,一個或多個操作的集合包括指定修整操作的第一操作,該修整操作包括指定時間相關媒體單元的第一序列的最後一個媒體單元的第一單元持續時間和第一零單元,並且所述移除時間相關媒體單元的第一序列中的一個或多個媒體單元的集合包括:應用第一操作以從時間相關媒體單元的第一序列的從最後一個媒體單元開始的結尾部分中移除一個或多個媒體單元的集合。
在一些示例中,一個或多個操作的集合包括指定剪切操作的第一部分的第一操作,該第一操作包括指定剪切操作之前的時間相關媒體單元的第一序列的最後一個媒體單元的第一單元持續時間,以及第一零單元(unit of zero),以及第二操作,其指定剪切操作的第二部分,包括為零的第二單元持續時間,以及第二單元,其指定剪切操作之後的時間相關媒體單元的第一序列的起始媒體單元,根據最後一個媒體單元加上一個或多個媒體單元的集合確定。所述從時間相關媒體單元的第一序列中移除一個或多個媒體單元的集合包括:應用第一和第二操作以從時間相關媒體單元的第一序列的中間部分中移除一個或多個媒體單元的集合,該一個或多個媒體單元的集合的移除在最後一個媒體單元之後開始並在起始媒體單元之前結束。
在一些示例中,一個或多個操作的集合包括指定剪切操作的第一部分的第一操作,該第一操作包括指定剪切操作之前的時間相關媒體單元的第一序列的最後一個媒體單元的第一單元持續時間和第一零單元,以及第二操作,其指定剪切操作的第二部分,包括第二單元持續時間為零,以及第二單元,其指定剪切操作之後的時間相關媒體單元的第一序列的起始媒體單元,起始媒體單元基於最後一個媒體單元加上一個或多個媒體單元的集合確定,並且所述對該組媒體單元執行時域軌道推導操作包括應用第一和第二操作以生成時間相關媒體單元的第二序列以包括一個或多個媒體單元的集合。
在一些示例中,所述對該組媒體單元執行時域軌道推導操作包括:在與第一層的第一軌道不同的、分層軌道結構中的第二層上,生成第三軌道的第三媒體資料,第三媒體資料包括時間相關媒體單元的第三序列,其中時間相關媒體單元的第二序列包括剪切操作之前的時間相關媒體單元的第一序列的所有媒體單元的第一集合,時間相關媒體單元的第三序列包括第二剪切操作之後的所有媒體單元的第二集合。
在一些示例中,一個或多個操作的集合包括指定第二剪切操作的第一部分的第三操作,包括指定剪切操作之前的時間相關媒體單元的第一序列的倒數第二個媒體單元的第三單元持續時間和第三零單元,第四操作指定第二剪切操作的第二部分,該第四操作包括為零的第四單元持續時間和第四單元,該第四單元指定第二剪切操作之後的時間相關媒體單元的第一序列的第二起始媒體單元,其基於倒數第二個媒體單元加上一個或多個媒體單元的第二集合確定。生成用於第三軌道的第三媒體資料包括應用第三和第四操作以生成時間相關媒體單元的第三序列,以包括一個或多個媒體單元的第二集合。
在一些示例中,分層軌道結構還包括在第二層之下的第三層的第三軌道,該第三軌道包括第三媒體資料,其中第三媒體資料包括時間相關媒體單元的第三序列,元資料包括在第三軌道上執行的一個或多個操作的第二集合,每個操作包括時間相關的媒體單元的第三序列的第二單元持續時間和時間相關的媒體單元的第三序列中的第二單元,並且該組媒體單元進一步包括時間相關媒體單元的第三序列。
在一些示例中,一個或多個操作的集合和一個或多個操作的第二集合包括空操作集合,並且在該組媒體單元合上執行時域軌道推導操作包括連結時間相關媒體單元的第一序列和時間相關媒體單元的第三序列,以生成時間相關媒體單元的第二序列。
在一些示例中,一個或多個操作的集合包括指定第一剪切操作的第一操作,包括第一單元持續時間和第一零單元,第一單元持續時間指定代表時間相關媒體單元的第一序列的第一集合的結尾的第一媒體單元,一個或多個操作的第二集合包括第二操作,該第二操作指定第二剪切操作,該第二剪切操作包括第二單元持續時間以及第二零單元,該第二單元持續時間指定第二媒體單元,該第二媒體單元表示時間相關媒體單元的第三序列的第二集合的結尾, 並且元資料還包括要在第一軌道上執行的一個或多個操作的第三集合,一個或多個操作的第三集合包括第三操作,該第三操作指定第三剪切操作,該第三剪切操作包括為零的第三單元持續時間和第三單元,第三單元指定第三媒體單元,該第三媒體單元代表時間相關媒體單元的第一序列的第三集合的開始。所述對該組媒體單元執行時域軌道推導操作可以包括:應用第一操作以從時間相關媒體單元的第一序列中剪除時間相關媒體單元的第一序列的第一集合,應用第二操作以從時間相關媒體單元的第三序列中剪除時間相關媒體單元的第三序列的第二集合,應用第三操作以從時間相關媒體單元的第一序列中剪除時間相關媒體單元的第一序列的第三集合,並連結第一集合、第二集合和第三集合,以便第二集合位於第一集合和第三集合之間。
一些實施例涉及一種包括與記憶體通信的處理器的裝置,該處理器被配置為執行存儲在記憶體中的指令,該指令使處理器執行對多媒體資料的訪問,該多媒體資料包括分層軌道結構,該分層軌道結構至少包括分層軌道結構的第一層的第一軌道,第一軌道包括第一媒體資料,其中,第一媒體資料包括相關媒體單元的第一序列以及與所述第一層的第一軌道不同的、在所述分層軌道結構中的第二層的第二軌道,第二軌道包括指定時域軌道推導操作的元資料。元資料包括在第一軌道上執行的一個或多個操作的集合,該一個或多個操作的集合的每個操作包括時間相關媒體單元的第一序列的單元持續時間和時間相關媒體單元的第一序列的起始單元。該指令使處理器對至少包括與時間相關的第一媒體序列的第一序列的一組媒體單元執行時域軌道推導操作,包括應用一個或多個操作的集合以在時間上修改時間相關媒體單元的第一序列,以生成第二軌道的第二媒體資料,其中第二媒體資料包括來自該組媒體單元的時間相關媒體單元的第二序列。
在一些示例中,一個或多個操作的集合移除時間相關媒體單元的 第一序列的一個或多個媒體單元的集合,並且所述對該組媒體單元執行時域軌道推導操作包括:應用一個或多個操作,以從時間相關媒體單元的第一序列中移除一個或多個媒體單元的集合,以生成時間相關媒體單元的第二序列。
在一些示例中,一個或多個操作的集合包括第一操作,該第一操作指定修整操作,該修整操作包括為零的第一單元持續時間和第一單元,該第一單元指定時間相關媒體單元的第一序列的一個或多個媒體單元的集合中的最後一個媒體單元,並且所述從時間相關媒體單元的第一序列中移除一個或多個媒體單元的集合包括:應用第一操作以從時間相關媒體單元的第一序列的起始部分到該單元止移除一個或多個媒體單元的集合。
在一些示例中,一個或多個操作的集合包括指定修整操作的第一操作,該修整操作包括指定時間相關媒體單元的第一序列的最後一個媒體單元的第一單元持續時間和第一零單元,並且所述移除時間相關媒體單元的第一序列中的一個或多個媒體單元的集合包括:應用第一操作以從時間相關媒體單元的第一序列中從該最後一個媒體單元開始的結尾部分中移除一個或多個媒體單元的集合。
在一些示例中,一個或多個操作的集合包括指定剪切操作的第一部分的第一操作,該第一操作包括指定剪切操作之前的時間相關媒體單元的第一序列的最後一個媒體的第一單元持續時間以及第一零單元,以及指定剪切操作的第二部分的第二操作,包括為零的第二單元持續時間以及第二單元,其指定剪切操作之後的時間相關媒體單元的第一序列的起始媒體單元,基於該最後一個媒體單元加上一個或多個媒體單元的集合來確定,並且所述從時間相關媒體單元的第一序列中移除一個或多個媒體單元的集合包括應用第一和第二操作以從時間相關媒體單元的第一序列的中間部分中移除該一個或多個媒體單元的集合,其中該中間部分從該最後一個媒體單元之後開始,在該起始媒體單元之 前結束。
在一些示例中,一個或多個操作的集合包括指定剪切操作的第一部分的第一操作,該第一操作包括指定剪切操作之前的時間相關媒體單元的第一序列的最後一個媒體單元的第一單元持續時間和第一零單元,以及第二操作,其指定剪切操作的第二部分,包括第二單元持續時間為零,以及第二單元,其指定剪切操作之後的時間相關媒體單元的第一序列的起始媒體單元,起始媒體單元基於最後一個媒體單元加上一個或多個媒體單元的集合確定,並且所述對該組媒體單元執行時域軌道推導操作包括應用第一和第二操作以生成時間相關媒體單元的第二序列以包括一個或多個媒體單元的集合。
在一些示例中,所述對該組媒體單元執行時域軌道推導操作包括:在與第一層的第一軌道不同的、分層軌道結構中的第二層上,生成第三軌道的第三媒體資料,第三媒體資料包括時間相關媒體單元的第三序列,其中時間相關媒體單元的第二序列包括剪切操作之前的時間相關媒體單元的第一序列的所有媒體單元的第一集合,時間相關媒體單元的第三序列包括第二剪切操作之後的所有媒體單元的第二集合。
在一些示例中,一個或多個操作的集合包括指定第二剪切操作的第一部分的第三操作,其包括指定剪切操作之前的時間相關媒體單元的第一序列的倒數第二個媒體單元的第三單元持續時間和第三零單元,以及第四操作,指定第二剪切操作的第二部分,該第四操作包括為零的第四單元持續時間和第四單元,該第四單元指定第二剪切操作之後的時間相關媒體單元的第一序列的第二起始媒體單元,其基於倒數第二個媒體單元加上一個或多個媒體單元的第二集合確定,並且生成用於第三軌道的第三媒體資料包括應用第三和第四操作以生成時間相關媒體單元的第三序列,以包括一個或多個媒體單元的第二集合。
在一些示例中,分層軌道結構還包括在第二層之下的第三層的第 三軌道,該第三軌道包括第三媒體資料,其中第三媒體資料包括時間相關媒體單元的第三序列,元資料包括在第三軌道上執行的一個或多個操作的第二集合,每個操作包括時間相關的媒體單元的第三序列的第二單元持續時間和時間相關的媒體單元的第三序列中的第二單元,並且該組媒體單元進一步包括時間相關媒體單元的第三序列。
一些實施例涉及存儲處理器可執行指令的至少一個計算機可讀存儲介質,其中該記憶體存儲計算機可讀指令,該計算機可讀指令在由至少一個處理器執行時使至少一個處理器執行訪問包括分層軌道結構的多媒體資料,該分層軌道結構至少包括分層軌道結構的第一層的第一軌道,第一軌道包括第一媒體資料,其中,第一媒體資料包括與時間相關媒體單元的第一序列,以及與第一層的第一軌道不同的、在該分層軌道結構的第二層的第二軌道,第二軌道包括指定時域軌道推導操作的元資料。元資料包括要在第一軌道上執行的一個或多個操作的集合,該一個或多個操作的集合的每個操作包括時間相關媒體單元的第一序列的單元持續時間,以及時間相關媒體單元的第一序列中的起始單元。該指令使該至少一個處理器對至少包括與時間相關媒體單元的該第一序列的一組媒體單元執行時域軌道推導操作,包括應用該一個或多個操作的集合以在時間上修改時間相關媒體單元的第一序列以生成第二軌道的第二媒體資料,其中第二媒體資料包括來自該組媒體單元的時間相關媒體單元的第二序列。
因此,已經相當廣泛地概述了所公開主題的特徵,以便可以更好地理解其隨後的詳細描述,並且可以更好地理解對本領域的當前貢獻。當然,在下文中將描述所公開的主題的附加特徵,這些附加特徵將構成所附申請專利範圍的主題。應當理解,本文采用的措詞和術語是出於描述的目的,而不應被認為是限制性的。
100:視訊編解碼配置
102A-102N:相機
104:編碼設備
106:視訊處理器
108:編碼器
110:解碼設備
112:解碼器
114:渲染器
116:顯示器
200:流程
201:球形視埠
202~212:框
300:軌道分層結構
302~308、310A~310R、312A~312K、314A~314K:軌道
400~700、900:語法
402~702、1100:變換屬性
800、1000:方法
802~806、1002~1006:步驟
902:版本
1102:num_inputs
在附圖中,在各個附圖中示出的每個相同或幾乎相同的組件由相同的附圖標記表示。為了清楚起見,並非每個組件都可以在每個附圖中標記。附圖不一定按比例繪製,而是著重於說明本文描述的技術和設備的各個方面。
第1圖示出了根據一些實施例的示例性視訊編碼配置。
第2圖示出了根據一些示例用於虛擬實境(VR)內容的視埠相關的內容流過程。
第3圖示出了根據一些實施例的示例性軌道分層結構。
第4圖示出了根據一些實施例的用於修剪時域軌道推導的示例性語法。
第5圖示出了根據一些實施例的用於剪切軌道推導的示例性語法。
第6圖示出了根據一些實施例的用於插入時域軌道推導的示例性語法。
第7圖示出了根據一些實施例的分割軌道推導的示例性語法。
第8圖示出了根據一些實施例的用於執行時域軌道推導的示例性計算機化方法。
第9圖示出了根據一些示例的用於編輯列表框的示例性語法。
第10圖示出了根據一些實施例的用於使用編輯操作來執行時域軌道推導的示例性計算機化方法。
第11圖示出根據一些實施例的用於使用編輯框的時間上推導的軌道的編輯列表變換屬性的示例性語法。
ISO基媒體文件格式(ISOBMFF)提供了軌道推導,通常在其中處理一個或多個輸入軌道以生成輸出/推導軌道。一些軌道推導提供輸入軌道的空間處理。例如,空間軌道推導包括輸入軌道的圖像處理(例如,旋轉、溶解和感興趣區域(region of interest,簡寫為ROI)選擇)和空間組成(spatial composition)(例如,覆蓋組成、軌道網格組成和子畫面軌道組成)。發明人也 研發出用於時間處理的技術,例如時間樣本的處理。該技術可以提供時域中的軌道推導,其可用於處理連續樣本的時間序列,例如來自軌道推導操作的輸入軌道的卡盤、碎片、片段、分段等形式的樣本。這種時間處理的示例包括添加和/或移除多媒體內容、修改多媒體內容的速度、修改多媒體內容的時間標度等。
ISOBMFF包括諸如編輯列表之類的技術,這些技術可用於執行操作,例如移動軌道的時間線(timeline)的一部分,延遲軌道的回放(例如,通過插入一些空白時間)和/或指定軌道播放多久(例如,播放30秒)。然而,發明人已經發現並意識到,儘管這樣的技術可以用於修改特定軌道的回放,但是這樣的技術不能用於修改軌道的實際樣本。例如,如果軌道包括兩個小時的多媒體內容,而編輯操作只能用於播放該軌道的三十秒,則接收設備仍會接收和/或處理所有兩個小時的多媒體內容。因此,這樣的操作會不必要地消耗處理和/或網絡資源。作為另一個示例,編輯操作是在軌道本身中進行的,因此只能在每個軌道的基礎上指定編輯操作。因此,編輯操作不能用於指定涉及多個軌道的操作(例如,拼接、插入等)。
發明人已經開發了時域軌道推導技術,其可以利用編輯操作來對一個或多個輸入軌道執行時域軌道推導。該技術可以包括為每個輸入軌道指定一個或多個操作的集合,以及執行指定的操作以推導出推導軌道的內容。該技術支持多個輸入軌道,可以對其進行編輯和組合以提供多種多軌道推導操作(例如,插入、拼接和/或類似操作)。通過在生成推導軌道時應用編輯操作,可以生成推導軌道以僅包括期望/必要的多媒體資料。例如,如果輸入軌道包括兩個小時的多媒體內容,則可以應用編輯操作以僅包括多媒體內容的期望部分(例如,僅三十秒的多媒體內容)。因此,推導的軌道僅具有下游設備所需的內容(例如,與多媒體內容的兩個小時相比,為三十秒的內容),這可以顯著節省下游帶寬和處理。例如,基於雲的平臺可以提供時域軌道推導操作,這可以减少從這種雲 服務到下游設備的帶寬需求。
在以下描述中,闡述了關於所公開主題的系統和方法以及此類系統和方法可以在其中操作的環境等的許多具體細節,以便提供對所公開主題的透徹理解。另外,將理解的是,下面提供的示例是示例性的,並且可以想到,在所公開的主題的範圍內,還有其他系統和方法。
第1圖示出了根據一些實施例的示例性視訊編碼配置100。相機102A-102N是N個相機,並且可以是任何類型的相機(例如,包括音訊記錄功能和/或分開相機和音訊記錄功能的相機)。編碼設備104包括視訊處理器106和編碼器108。視訊處理器106處理從相機102A-102N接收的視訊,諸如拼接、投影和/或映射。編碼器108對二維視訊資料進行編碼和/或壓縮。解碼設備110接收經編碼資料。解碼設備110可以通過廣播網路、通過移動網路(例如,蜂窩網路)和/或通過互聯網接收作為視訊產品的視訊(例如,數位視訊碟或其他計算機可讀介質)。解碼設備110可以是例如計算機、手持設備、頭戴式顯示器的一部分或具有解碼能力的任何其他設備。解碼設備110包括解碼器112,其被配置為對編碼的視訊進行解碼。解碼設備110還包括渲染器114,用於將二維內容渲染回用於回放的格式。顯示器116顯示來自渲染器114的渲染內容。
通常,可以使用球形內容來表示3D內容,以提供場景的360度視圖(例如,有時稱為全向媒體內容)。儘管使用3D球形可以支持許多視圖,但終端用戶通常只觀看3D球形上的一部分內容。傳輸整個3D球形所需的帶寬可能給網路造成沉重負擔,並且可能不足以支持球形內容。因此,期望使3D內容傳遞更加有效。可以執行視埠相關處理以改善3D內容傳遞。可以將3D球形內容劃分為區域/圖塊/子圖片,並且只有那些與查看屏幕(例如,視埠)相關的內容可以發送並傳遞給終端用戶。
第2圖示出了根據一些示例的用於VR內容的視埠相關的內容流 過程200。如圖所示,在框202處對球形視埠201(例如,其可以包括整個球形)進行拼接、投影、映射(以生成投影和映射區域),在框204處對其進行編碼(以生成多種品質的編碼/轉碼圖塊)在框206處將其(作為圖塊)傳遞,在框208處進行解碼(以生成解碼的圖塊),在框210處構造(以構造球形渲染的視埠),並在框212處進行渲染。框214處的用戶交互可以選擇一個視埠,該視埠將啟動多個“實時”處理步驟,如虛線箭頭所示。
在過程200中,由於當前網路帶寬限制和各種適應性要求(例如,關於不同的品質、編解碼器和保護方案),首先將3D球形VR內容處理(拼接、投影和映射)到2D平面上(通過框202),然後封裝在多個基於圖塊(或基於子圖片)和分段的文件中(在框204),以進行傳遞和回放。在這種基於圖塊的分段文件中,通常將2D平面中的空間圖塊(例如,代表空間部分,通常為2D平面內容的矩形)封裝為其變體的集合,例如不同的品質和位元率,或不同的編解碼器和保護方案(例如,不同的加密演算法和模式)。在一些示例中,這些變體對應於MPEG DASH中的適應集中的表示。在一些示例中,基於用戶在視埠上的選擇,這些不同圖塊的這些變體中的一些變體在放在一起時提供了所選視埠的覆蓋範圍,由接收者擷取或傳遞給接收者(通過傳遞框206),然後解碼(在框208處)以構造和渲染所需視埠(在框210和212處)。
如第2圖所示,視埠概念是終端用戶所觀看的內容,它涉及球形上區域的角度和大小。通常,對於360度內容,該技術將所需的圖塊/子圖片內容傳遞給客戶端,以覆蓋用戶將觀看的內容。此過程取决於視埠,因為該技術僅提供覆蓋當前感興趣視埠的內容,而不是整個球形內容。視埠(例如,球形區域的一種)可以改變,因此不是靜態的。例如,當用戶移動其頭部時,系統需要獲取相鄰的圖塊(或子圖片)以覆蓋用戶接下來要查看的內容。
內容的平面文件結構可以用於例如單個電影的視訊軌道。對於 VR內容,存在比接收設備發送和/或顯示的內容多的內容。例如,如本文所討論的,可以存在整個3D球形的內容,其中用戶僅觀看一小部分。為了更有效地編碼、存儲、處理和/或傳遞此類內容,可以將內容分為不同的軌道。第3圖示出了根據一些實施例的示例性軌道分層結構300。頂部軌道302是3D VR球形內容軌道,並且在頂部軌道302下方是關聯的元資料軌道304(每個軌道具有關聯的元資料)。軌道306是2D投影軌道。軌道308是2D大圖片軌道。區域軌道被示為軌道310A至310R,通常稱為子圖片軌道310。每個區域軌道310具有一組相關的變體軌道。區域軌道310A包括變型軌道312A至312K。區域軌道310R包括變體軌道314A至314K。因此,如軌道層次結構300所示,可以開發從物理多個變體區域軌道312開始的結構,並且可以為區域軌道310(子圖片或圖塊軌道)、投影和打包的2D軌道308、投影的2D軌道306、VR 3D視訊軌道302,以及與它們相關的適當的元資料軌道建立軌道層次結構(track hierarchy)。
在操作中,變體軌道包括實際的圖像資料。設備在交替的變體軌道中進行選擇,以選擇代表子圖像區域(或子圖像軌道)310的變體軌道。子圖像軌道310被圖塊劃(tiled)並組成2D大圖像軌道308。最終,軌道308被反向映射,例如,以重新排列某些部分以生成軌道306。然後,軌道306被反向投影回到3D軌道302,其為原始3D圖片。
示例性軌道層次結構可以包括例如以下內容中描述的方面:m39971,“Deriving Composite Tracks in ISOBMFF”,2017年1月(日內瓦,瑞士);m40384,“Deriving Composite Tracks in ISOBMFF using track grouping mechanisms”,2017年4月(澳大利亞,霍巴特);m40385,“Deriving VR Projection and Mapping related Tracks in ISOBMFF”;m40412,“Deriving VR ROI and Viewport related Tracks in ISOBMFF”,MPEG第118次會議,2017年4月,通過引用將其全部內容合併於此。在第3圖中,rProiection、rPacking、compose和alternate 分別表示軌道推導TransformProperty項反向“proj”、反向“pack”、“cmpa”和“cmp1”,用於說明目的,而不是為了限制。元資料軌道中顯示的元資料類似地用於說明性目的,而不是限制性的。例如,可以按照w17235,“Text of ISO/IEC FDIS 23090-2 Omnidirectional Media Format”,2017年10月,第120MPEG會議(中國澳門)中所述使用來自OMAF的元資料框,在此通過引用將其完整合併於此。
第3圖所示的軌道數旨在說明而非限制。例如,在如第3圖所示的層次結構中不一定需要一些中間推導軌道的情况下,相關的推導步驟可以被組合為一個(例如,其中反向打包和反向投影被組合在一起以消除投影軌道306的存在)。
推導的視覺軌道可以通過其包含的類型為“dtrk”的樣本條目來指示。推導的樣本包含要對輸入圖像或樣本的有序列表(ordered list)執行的操作的有序列表。每個操作都可以由變換屬性(Transform Property)指定或指示。通過順序執行指定的操作,可以重建推導的視覺樣本。ISOBMFF中可用於指定軌道推導的變換屬性的示例,包括最新的ISOBMFF考慮中的技術(Technologies Under Consideration,簡寫為TuC)(例如,參見N17833,“Technologies under Consideration for ISOBMFF”,2018年7月,盧布爾雅那,SK,其通過引用整體併入本文)包括:'idtt'(身份(identity))變換屬性;“拍手”(清潔光圈(clean aperture))變換屬性;'srot'(旋轉)變換屬性;'dslv'(溶解)變換屬性;“2dcc”(ROI裁剪)變換屬性;“tocp”(軌道疊加組成(Track Overlay Composition))變換屬性;'tgcp'(軌道網格組成)變換屬性;'tgmc'(使用矩陣值軌道網格組成)變換屬性;“tgsc”(軌道網格子圖片組成)變換屬性;'tmcp'(轉換矩陣組成)變換屬性;“tgcp”(軌道分組組成)變換屬性;和“tmcp”(使用矩陣值的軌道分組組成)變換屬性。所有這些軌道推導都與空間處理有關,包括輸入軌道的圖像處理和空間組成。
本文描述的技術通過提供在時間域中處理輸入軌道的時域軌道推導來改進現有的軌道推導技術。如果推導的軌道包括連續樣本的時間序列,則推導的軌道可以包括例如時間方面。如本文所述,連續樣本可以在輸入軌道中,並且可以具有各種形式,例如卡盤、碎片、片段、分段等。時域軌道推導的示例包括添加和/或移除多媒體內容,修改多媒體內容的速度,修改多媒體內容的時間標度以及可以對多媒體內容執行的其他時間操作。本文提供了時域軌道推導的各種示例。應當理解,提供這些示例是為了說明性目的,而不是限制性的。
本文描述的時域軌道推導技術在各種多媒體處理場景中可以是有用的,例如那些需要添加和/或移除多媒體內容的場景。在一些實施例中,時域軌道推導可以用於廣告處理。例如,拼接推導可用於推導表示前卷(pre-roll)或後卷(post-roll)插入的軌道,而插入推導可用於中間卷(middle-roll)插入。在一些實施例中,時域軌道推導可以用於使用基於網絡的資源來執行基於時間的處理。N17502(“Use cases and requirements for NBMP(v4)”,2018年4月,美國聖地亞哥,通過引用將其全文合併於此)中基於網絡的媒體處理(Network-Based Media Processing,簡寫為NBMP)活動提出了這樣一種媒體處理框架的示例。在一些示例中,本文描述的技術可以與基於雲的媒體處理實體(media processing entity,簡寫為MPE)一起使用以在雲內執行基於時間的軌道處理,諸如以在雲中執行基於廣告的處理。例如,基於HTTP的動態自適應流(Dynamic Adaptive Streaming over HTTP,簡寫為DASH)在流多視圖多媒體時支持清單級(manifest level)的廣告插入。例如,流式清單可以為多媒體內容和廣告內容指定不同的時間段(例如,兩個時間段,一個時間段用於前卷廣告,另一個時間段用於多媒體內容)。但是,對於這樣的DASH配置,最終接收者執行基於廣告的處理,這可能會導致不希望的複雜性,包括消耗客戶端設備上的 資源,要求客戶端設備處理不同格式的媒體等。本文描述的技術提供了服務器端廣告插入,從而可以為客戶端設備上游的客戶端準備軌道,因此客戶端設備不需要知道和/或處理清單的各個方面。
時域軌道推導可用於修改一個或多個輸入軌道的多媒體內容,例如向多媒體剪切添加和/或刪除多媒體資料。這種時域軌道推導的例子是剪切操作。修剪操作可用於移除多媒體內容,例如從多媒體剪切的頭部和/或尾部刪除內容。第4圖示出了根據一些實施例的用於修剪時域軌道推導的示例性語法400。修剪軌道推導可以是一個可選推導,可以指定每個樣本任意數量。在示例性語法400中,“修剪”變換屬性402為修剪輸入軌道以推導修剪軌道的過程提供資訊。當“修剪”變換屬性402存在時,其可以與一個輸入軌道一起使用(例如,num_inputs等於1)。通常,變換屬性可以指定修剪類型(例如,頭部修剪或尾部修剪)的指示符,以及媒體時間,其中修剪在該時間之前(包括該時間)(例如,對於頭部修剪)或之後(包括該時間)(例如,對於尾部修剪)發生。trim_flag字段404可以指定用於頭部修剪或尾部修剪的指示符,使得trim_flag 404的等於0或1的值分別指示修剪是頭部修剪或尾部修剪。trimTime字段406可以用於指定媒體時間(例如,以輸入軌道的時間標度為單位),在該時間之前或之後(包括該時間),輸入軌道的媒體中的任何樣本被去除(例如,被修剪),取决於修剪是頭部修剪還是尾部修剪。
如所指出的,本文所討論的語法,例如第4圖中的語法400,僅出於示例性目的而不旨在進行限制。其他命名約定和/或語法可以用於實現本文描述的技術。例如,參考語法400,如果比第4圖所示的組合變換屬性更合乎需要,則可以將修整變換屬性分為兩個變換屬性,一個用於頭部修剪,另一個用於尾部修剪。
另一個示例性的時域軌道推導是剪切操作。剪切操作可用於刪 除多媒體內容的一部分。例如,剪切操作可以通過以下方式刪除視訊片段的一部分:將視訊片段實質上在兩個位置上剪切,移除兩個視訊片段之間的中間部分,然後合併剩餘的視訊。第5圖示出了根據一些實施例的用於剪切軌道推導的示例性語法500。剪切軌道推導可以是可選推導,可以指定每個樣本任意數量。示例性語法500包括“剪切”變換屬性502,其可以提供用於剪切輸入軌道以推導剪切軌道的過程的資訊。“剪切”變換屬性可以使用一個輸入軌道(例如num_inputs等於1)。通常,語法500可以指定兩個媒體時間,在兩者(包括端點)之間發生剪切。cutTime1字段504和cutTime2字段506可以用於指定兩個媒體時間(例如,以輸入軌道的時間標度的尺度),其中cutTime1<=cutTime2。在推導的軌道中,封閉的時間間隔(closed time interval)[cutTime1,cutTime2]內輸入軌道媒體中的所有樣本都被刪除。
時域軌道推導的另一示例是拼接操作。拼接操作可用於合併兩個視訊剪切。拼接軌道推導可以是一個可選推導,可以為每個樣本指定任意數量。在一些實施例中,拼接變換屬性(例如,“splc”)可用於提供用於拼接多個輸入軌道以推導拼接軌道的資訊。推導的軌道是按照輸入軌道的順序依次拼接輸入軌道的結果,因此,推導的拼接軌道的持續時間可以等於輸入軌道的所有持續時間之和。拼接變換屬性可以用於多個輸入軌道(例如,num_inputs大於1)。在一些實施例中,拼接變換屬性可以假定所有輸入軌道具有相同的媒體類型且具有相同的時間標度。在一些實施例中,輸入軌道不需要共享相同的時間標度。例如,如果輸入軌道的時間標度共享一個公共分母,則可以相應地調整推導軌道的時間標度和持續時間。
時域軌道推導的另一個示例是插入操作。插入操作可以包括將第一視訊分為兩個部分,將第二視訊(或第二視訊的一部分)放置在第一視訊的兩個部分之間,以及將這三個部分連結在一起以將第二視訊插入到第一視訊 中。第6圖示出了根據一些實施例的用於插入時域軌道推導的示例性語法600。插入軌道推導可以是可選推導,可以為每個樣本指定任意數量。如示例性語法600所示,插入“isrt”變換屬性602可以提供用於將輸入軌道插入另一輸入軌道以推導插入軌道的過程的資訊。插入'isrt'變換屬性可用於兩個輸入軌道(例如num_inputs等於2),其中兩個輸入軌道具有相同的時間標度。通常,變換屬性可以指定媒體時間,在該媒體時間發生第二輸入軌道插入第一輸入軌道。insertTime字段604可以指定第二輸入軌道插入第一輸入軌道的媒體時間(以時間標度的尺度)。
時域軌道推導的另一個例子是分割運算(split operation)。例如,可以使用分割操作將視訊分割為多個部分。例如,可以將較長的視訊切成多個部分,例如分別處理這些部分。第7圖示出了根據一些實施例的用於分割軌道推導的示例性語法700。分割軌道推導可以是一個可選推導,可以為每個樣本指定任意數量。如語法700所示,分割“splt”變換屬性702可以提供用於分割輸入軌道以推導兩個分割軌道的過程的資訊。分割'splt'變換屬性可用於一個輸入軌道(例如num_inputs等於1)以輸出兩個軌道(例如num_outputs等於2)。例如,m44800(“Media Processing related Track Derivations in ISOBMFF”,2018年10月,中國澳門,通過引用將其全文並入本文)描述了將單個輸出軌道推導擴展為多個軌道推導和軌道組推導。通常,變換屬性可以在輸入軌道中指定發生分割的媒體時間。splitTime字段704可以指定輸入軌道的媒體時間(例如,在時間標度的標度上),在該輸入軌道發生分裂,其中第一推導軌道包含該時間之前(不包括該時間)的所有樣本,第二推導軌道包含該時間之後(包含該時間)的所有樣本。儘管在此示例中僅顯示了一個分割時間,但是可以將分割變換屬性推廣為在輸入軌道中具有“n”個分割時間,這會導致n+1個分割軌道作為輸出。
在一些實施例中,當執行時域軌道推導時,可以在推導軌道中 向媒體樣本(例如,媒體卡盤、碎片、片段、分段等)分配不同的時間戳(例如,使得原始輸入軌道中的樣本在推導軌道中具有其他時間戳)。例如,對於執行修剪操作以從頭部移除多媒體資料(其中trimTime=n)的情況,輸入軌道中時間戳為n+m(m>=0)的樣本將在推導軌道中具有時間戳m。作為另一個示例,對於分割操作,在輸入軌道中所有帶有時間戳n的樣本(其中n<splitTime)將成為在第一輸出推導軌道中帶有時間戳n的樣本,而在輸入軌道中所有帶有時間戳m(m>=splitTime)的樣本將成為第二輸出推導軌道中帶有時間戳m-splitTime的樣本。
可以將視訊編輯的其他形式指定為時域軌道推導,其不改變內容本身,而是改變內容的其他方面,例如速度和/或呈現方面。這種時域軌道推導的一個例子是慢動作操作。慢動作操作可用於在媒體播放中提供效果,從而使時間似乎變慢。例如,可以通過使時間推導軌道的回放速度慢於輸入軌道的回放速度來實現慢動作操作。
時域軌道推導的另一個示例是快速動作操作。快速動作操作可用於在媒體播放中提供效果,從而加快時間。例如,可以通過使時間推導軌道的回放速度快於輸入軌道的回放速度來實現快速動作操作。
時域軌道推導的另一示例是時間標度操作。例如,時間標度增加或減少操作可用於增加或減少多媒體剪切的時間標度。可以使用時間標度操作將多媒體剪切的時間標度與其他軌道的時間標度對齊。例如,如本文所述,可以將時間標度操作與拼接操作結合使用。
可以使用推導軌道中的變換屬性來指定時域軌道推導。如本文所述,推導的軌道可以包括一組變換屬性。因此,本文描述的時間技術可以與空間變換結合使用。例如,推導的軌道可以指定時域變換屬性和空間變換屬性(以該順序),然後可以先執行時域變換,然後再執行空間變換。作為另一個示 例,軌道層次結構的不同層可以執行不同類型的軌道推導。例如,可以使用時間和/或空間變換來生成第一推導軌道,並且可以將其用作輸入軌道以使用時間和/或空間變換來推導另一軌道。
第8圖示出了根據一些實施例的用於執行時域軌道推導的示例性計算機化方法800。在步驟802和804,計算設備(例如,編碼設備104或解碼設備110)接收具有分層軌道結構的多媒體資料。特別地,在步驟802,計算設備在分層軌道結構的第一層處接收第一軌道,第一軌道包括第一媒體資料,其可以是例如一個或多個輸入軌道。每個輸入軌道的媒體資料包括媒體單元的時間相關序列,使得每個媒體單元與不同於時間相關序列中的其他媒體單元的時間相關聯。在步驟804,計算設備在分層軌道結構中的第二層上接收與第一層的第一軌道不同的第二軌道。第二軌道包括指定時域軌道推導操作(例如,修剪,剪切,慢動作等)的元資料。儘管步驟802和804被示為單獨的步驟,但是應當理解,一個或多個輸入軌道和指定時域軌道推導操作的軌道可以在一個或多個步驟中被接收。
在步驟806,計算設備對該組媒體單元執行時域軌道推導操作以生成用於第二軌道的第二媒體資料,該組媒體單元至少包括時間相關媒體單元的第一序列。第二媒體資料包括來自該組媒體單元的時間相關媒體單元的第二序列。借助於執行時間操作,第二媒體資料具有時間修改(例如,與第一媒體資料相比),因此第二媒體資料不同於第一媒體資料。如本文所述,這樣的時間修改可以包括添加和/或去除多媒體內容和/或改變多媒體資料的其他時間方面,諸如修改多媒體內容的速度和/或時間標度。
在本文所述的一些實施例中,元資料可以指定將媒體資料添加到輸入軌道的操作。通常,為了添加媒體資料,計算設備訪問第二輸入軌道(例如,第三軌道),該第二輸入軌道包括具有新的時間相關媒體單元序列的新媒體 資料,並且時域軌道推導操作包括組合第一媒體資料和新媒體資料以生成第二媒體資料。例如,如果元資料指定拼接操作,則計算設備通過結合第一媒體資料和第三媒體資料來執行時域軌道推導操作。作為另一示例,如果元資料指定包括插入時間的插入操作,則計算設備通過將在插入時間的第一媒體資料劃分為第一部分和第二部分,並將第一部分、第三媒體資料和第二部分結合在一起,從而第三媒體資料在第一部分和第二部分之間,來執行時域軌道推導操作。
在本文所述的一些實施例中,元資料可以指定用於去除媒體資料的操作。計算設備可以通過去除第一媒體資料的一部分以生成第二媒體資料來執行時域軌道推導操作。例如,元資料可以指定包括指定媒體資料量的修剪時間的修剪操作,並且計算設備可以通過從第一媒體資料的起始部分或結尾部分去除該媒體資料量來執行時域軌道推導操作。作為另一示例,元資料可以指定包括第一和第二剪切時間的剪切操作,並且計算設備可以通過去除在第一和第二剪切時間之間的第一媒體資料的中間部分來執行時域軌道推導操作。
在本文所述的一些實施例中,時域軌道推導可以生成多個推導軌道。例如,除了用於第二軌道的第二媒體資料之外,計算設備還可以生成用於第三軌道的第三媒體資料(以及可選地用於其他軌道的其他媒體資料)。例如,對於包括分割時間的分割操作,計算設備可以在分割時間將第一媒體資料分割成第一部分和第二部分,使得第二媒體資料包括第一部分,第三媒體資料包括第二部分。
在本文所述的一些實施例中,時域軌道推導操作可以執行對輸入軌道的定時的修改。例如,元資料可以指定時間改變操作,例如改變媒體資料的速度和/或時間標度,並且計算設備可以執行時域軌道推導操作以改變第一媒體資料的時間方面(例如,加快第一媒體資料的速度,减慢第一媒體資料的速度,更改第一媒體資料的時間標度等。
如本文所述,如果推導軌道由來自一個或多個輸入軌道的連續樣本(例如,卡盤、碎片、片段、分段)的時間序列組成,則其可以是在時域上的推導軌道。時域軌道推導技術可以單獨使用和/或與其他軌道推導結合使用,例如與輸入軌道的圖像處理(例如,旋轉、溶解和ROI選擇)和/或空間組成(例如,覆蓋組成、軌道網格組成和子畫面軌道組成)。
ISOBMFF,在ISO/IEC 14496-12:2015“Information technology-Coding of audio-visual objects-Part 12:ISO Base Media File Format”(其全部內容通過引用合併於此)中描述ISOBMFF,其包括編輯列表(edit list)機制。編輯列表機制提供了整個電影中軌道時間線部分的移動(以及可能的重用)。編輯列表機制還提供了“空白”時間(‘blank’time)的插入,稱為空編輯(empty edit)。如果軌道不是從演示的開頭開始,則可以使用初始的空編輯。
ISOBMFF編輯列表機制包括一個“編輯框”和一個“編輯列表框”。“編輯框”的框類型為“edts”,容器(container)為“軌道框(Track Box)”(“trak”),它不是必填項,並且可以在軌道中包含零個或一個。示例性語法為:aligned(8) class EditBox extends Box(‘edts’){}。編輯框可用於將演示文稿時間線映射到媒體時間線,因為它存儲在文件中。編輯框是用於編輯列表的容器,這裏將進一步討論。由於“編輯框”不是強制性的,因此在沒有“編輯框”的情況下,這些時間線存在隱式的一對一映射,並且軌道的展示從展示的開頭開始。空編輯可用於偏置(offset)軌道的開始時間。
編輯列表框的框類型為“elst”,容器為編輯框(“edts”),它不是必需的,並且軌道中可以包含零個或一個。編輯列表框可以包含一個明確的時間線映射(timeline map)。可以通過(a)映射媒體時間線的一部分,(b)指示空時間,和/或(c)定義駐留時間(dwell)(其中媒體中的單個時間點保持一段時間),使用每個條目來指定軌道時間線的一部分。可以由編輯列表框指定的編 輯不限於採樣時間。因此,輸入編輯內容可能需要備份到同步點(sync point),並從同步點進行前卷(pre-rolling),和/或基於第一個樣本的持續時間執行操作,如果在正常持續時間期間輸入了該樣本,則持續時間可能會被截斷。對於音訊,可能需要在最終切片之前對該幀進行解碼。同樣,編輯中最後一個樣本的持續時間可能需要切片(slicing)。
第9圖示出了根據一些示例的用於編輯列表框的示例性語法900。版本902是一個整數,它指定編輯列表框的版本(例如0或1)。entry_count 904是一個整數,它給出了編輯列表框中的條目數。segment_duration 906A或906B,統稱為segment_duration 906,是一個整數,它以電影報頭框(Movie Header Box)中的時間標度為單位指定特定編輯段的持續時間。media_time 908A或908B,統稱為media_time 908,是一個整數,其中包含此編輯段的媒體內的開始時間(以媒體時間標度為單位的組成時間(composition time))。如果media_time 908設置為-1,則為空編輯。可以將軌道中的最後一個編輯限制為非空編輯。電影報頭框中的持續時間與軌道的持續時間之間的任何差异都可以表示為最後的隱式空編輯。media_rate 910指定播放對應於該編輯段的媒體的相對速率。如果media_rate 910的值為0,則說明編輯指定了一個駐留時間,以便在該片段持續時間(segment-duration)呈現該媒體時間的該媒體。否則,media_rate 910字段應包含值1。
軌道或流的起始偏移量可以通過初始空編輯來表示。例如,要將一個軌道播放30秒,但從10秒開始演示,可以使用以下編輯列表:Entry-count=2 Segment-duration=10 seconds Media-Time=-1 Media-Rate=1 Segment-duration=30 seconds(例如,可以是整個軌道的長度)Media-Time=0 seconds Media-Rate=1
在上面的示例中,第一個編輯跳過軌道的前10秒,而第二個編輯無延遲播放30秒。在此示例中,媒體速率設置為1,這將保留現有的媒體速率以進行回放。可以增加媒體速率(例如,大於一)以提高回放速度。
非空編輯可以插入媒體時間線中不存在於初始影片中且僅存在於後續影片片段中的一部分。例如,在分段的電影文件的空初始電影中(例如,當尚無媒體樣本存在時),此編輯的segment_duration可以為零,其中該編輯提供了從媒體組成時間(media composition time)到電影呈現時間的偏移量,用於該電影和後續電影片段。當使用組成偏移(composition offset)時(例如,實質上向前移動軌道中的特定時間量),這種編輯可用於為第一個呈現的樣本建立呈現時間0。例如,如果第一個組成幀(composed frame)的組成時間是20,則將媒體時間從20開始映射到電影時間0開始(例如,實質上向前移動20秒)的編輯可以是以下編輯列表:Entry-count=1 Segment-duration=0 Media-Time=20 Media-Rate=1
本文所述的技術提供了使用編輯操作的軌道的時間推導,例如通過使用編輯框和編輯列表機制來在時域中從每個輸入媒體軌道中選擇媒體樣 本序列,並合併所選的樣本序列,以形成推導軌道的媒體樣本。如本文所述,編輯操作可以包括去除軌道的部分、剪切軌道、連接軌道等。
在一些實施例中,該技術使用諸如使用編輯框和編輯列表框之類的編輯機制為時域上推導的軌道提供變換屬性。變換屬性可以指定時域軌道推導操作,該時域軌道推導操作包括要在每個輸入軌道上執行的一個或多個編輯操作的集合。每個操作可以指定第一軌道的時間相關媒體單元序列的單元持續時間(例如,與該操作關聯的第一軌道的媒體單元的數量,例如要保留和/或剪切的單元的數量)和序列中的一個單元(例如,操作的起始單元)。可以通過將一個或多個操作的集合應用於每個輸入軌道以生成用於推導軌道的媒體資料來執行時域軌道推導操作。
在一些實施例中,從輸入軌道選擇以供在時域軌道推導中考慮的媒體樣本的列表(例如,如ISOBMFF中所述,可能是塊)是來自軌道的呈現時間線的那些。在一些實施例中,如果輸入軌道包含編輯列表,則在考慮了呈現時間線到存儲在文件中的媒體時間線的可能映射之後,可以從軌道的呈現時間線中選擇媒體樣本。每個輸入軌道可以包含一個編輯框。推導的軌道可以為每個輸入媒體軌道指定一個(例如,外部)編輯框,該編輯框可能為空並且不包含編輯列表。從輸入軌道選擇的媒體樣本的最終列表是首先從輸入軌道本身選擇的媒體樣本的列表,然後通過將包含在推導軌道指定的編輯框中的可能的編輯列表應用於列表來從列表中選擇。用於推導軌道的媒體樣本是從輸入軌道的媒體樣本的列表中串聯而成的列表的樣本,其串聯順序與輸入媒體軌道的順序相同。
第10圖示出了根據一些實施例的用於使用編輯操作來執行時域軌道推導的示例性計算機化方法。在步驟1002,計算設備在分層軌道結構的第一層訪問多媒體資料的第一軌道。第一軌道包括第一媒體資料,該第一媒體資 料包括時間相關媒體單元的第一序列。在步驟1004,計算設備訪問與第一層的第一軌道不同的分層軌道結構中的第二層的第二軌道。例如,第二層可以在第一層之上,其中第二軌道的媒體資料是基於第一軌道的媒體資料推導的,如本文進一步解釋的。第二軌道包括指定時域軌道推導操作的元資料。元資料包括要在第一軌道上執行的一個或多個操作的集合。每個操作包括時間相關媒體單元的第一序列的單元持續時間(例如,結合第9圖討論的segment_duration字段),以及時間相關媒體單元的第一序列中的媒體單元(例如,media_time字段,如結合第9圖所討論的),諸如起始或尾部媒體單元。在步驟1006,計算設備在一組媒體單元上執行時域軌道推導操作,該組媒體單元至少包括時間相關媒體單元的第一序列。執行時域軌道推導操作包括應用該組操作以在時間上修改時間相關媒體單元的第一序列以生成用於第二軌道的第二媒體資料,其中第二媒體資料包括來自該組媒體單元的時間相關媒體單元的第二序列。
如本文所述,各種技術可以用於提供使用編輯操作來執行時域軌道推導的時域變換特性。第11圖示出了根據一些實施例的用於使用編輯框的時域推導軌道的編輯列表變換屬性1100的示例語法。在一些實施例中,編輯列表變換屬性1100的框類型為“edls”,其並非每個樣本都必須的,並且在每個樣本可以出現任意數量次。當存在時,編輯列表變換屬性1100包括大於或等於1的num_inputs 1102,並且用於對應推導操作的輸入實體(input entity)是媒體軌道。編輯列表變換屬性1100為每個輸入軌道指定編輯框1104(例如,如結合第9圖所述),並且通過在其演示時間線中將編輯框應用於軌道的樣本來從輸入軌道中選擇一列媒體樣本推導軌道的推導樣本是通過將所有輸入軌道的選定列表以輸入軌道的相同順序一個接一個地拼接而成的。變換屬性1100的語法僅用於示例性目的,因為可以使用其他語法而不背離本文描述的技術的精神。
為了說明使用編輯操作的時域軌道推導的目的,本文提供了各 種示例,這些示例不應解釋為限制性的。該技術可用於執行各種類型的視訊編輯,包括廣告處理和廣告插入,以及根據需要的其他類型的視訊編輯。
在一些示例中,軌道推導操作可以用於修剪媒體單元,例如去除視訊剪切的頭部和/或尾部。因此,該組操作可以從輸入軌道中移除一個或多個媒體單元的集合,以生成推導軌道的部分和/或所有媒體內容。例如,修整操作可以指定要從輸入軌道中移除的一組媒體單元中的最後一個媒體單元,並且單元持續時間為零(例如,指示應從輸入軌道中的最後一個媒體單元開始將所有內容包括在內)。進行這種修整操作從輸入軌道的時間相關媒體單元序列的起始部分中移除一個或多個媒體單元的集合。作為另一示例,修剪操作可以指定單元持續時間,該單元持續時間指定輸入軌道的一系列時間相關媒體單元的序列中的最後一個媒體單元(例如,保持)和零單元(例如,指示單元應該從輸入軌道的開始一直保存到最後一個媒體單元)。應用這種修整操作從輸入軌道的時間相關媒體單元的序列的結尾部分去除一個或多個媒體單元的集合。
作為推導軌道的修整操作的示例,作為輸入軌道的修整,可以使用編輯列表變換屬性從輸入軌道中移除媒體時間中媒體內容的前n個(其中n>=0)單元。編輯列表變換屬性可以具有一個輸入軌道,並且包含一個編輯框,和一個編輯列表框,其中只有一個條目,如下所示:num_inputs=1 entry_count=1 segment_duration=0 media_time=n media_rate=1
作為另一個示例,可以使用編輯列表變換屬性從媒體時間的第n個(n>=0)單元開始移除尾部媒體內容。編輯列表變換屬性可以具有一個輸入軌道,並且可以包含一個編輯框和一個編輯列表框,其中只有一個條目,如下所示:num_inputs=1 entry_count=1 segment_duration=n media_time=0 media_rate=1
在一些示例中,軌道推導操作可用於剪切或移除視訊片段的一部分,例如通過在兩個位置剪切片段並挪走或移除中間部分並將其餘的兩個片段連結在一起。該組操作可以包括:第一操作,其指定剪切操作的第一部分(例如,要保留的剪輯的第一部分,發生在要去除的部分之前);以及第二操作,其指定剪切操作的第二部分(例如,要保留的剪輯的第二部分,發生在要去除的部分之後)。第一操作可以指定單元持續時間,該單元持續時間指定在剪切操作之前時間相關媒體單元序列中的最後一個媒體單元,以及零單元(例如,指示該單元持續時間從媒體單元序列的起始處開始)。第二操作可以指定剪切操作之後的時間相關媒體單元的第一序列的起始媒體單元,以及的為零單元持續時間(例如,指示應包括從輸入軌道的起始媒體單元開始的所有內容)。應用第一和第二操作從時間上相關的媒體單元的第一序列的中間部分中去除該組媒體單元,以從推導的軌道中去除該組媒體單元,該中間部分從該最後一個媒體單元之後開始,並且在該起始媒體單元之前結束。
作為從輸入軌道剪切的推導軌道的剪切操作的示例,在媒體時 間中,可以使用編輯列表變換屬性,從第m(m>=0)個單元開始剪切一段n(n>=0)個單元的媒體內容的片段。編輯列表變換屬性可以具有一個輸入軌道,並包含一個帶有兩個編輯的編輯列表框的編輯框,如下所示:num_inputs=1 entry_count=2 segment_duration=m media_time=0 media_rate=1 segment_duration=0 media_time=m+n media_rate=1
應當理解,除了上面的示例以外,還可以使用其他編輯框和編輯列表框配置來實現剪切變換屬性。作為另一個示例,可以使用兩個相同的輸入軌道以及兩個編輯框將剪切實現為推導軌道,其中兩個編輯框的每一个都包含來自上一個示例的一個編輯(例如,而不是使用具有包含兩個編輯的一個編輯框的單個輸入軌道)。
在一些示例中,軌道推導操作可用於將視訊(例如長視訊)分割或剪切為一個或多個不同部分。例如,長視訊可以分為不同的部分,以分別處理這些部分。在一些示例中,對於產生單個推導軌道的軌道推導操作,可以使用不同的軌道推導操作將分割操作實現為多個部分剪切,其中每個推導軌道實現為一個部分的剪切。例如,對於軌道推導操作,該組操作可以包括第一操作,該第一操作指定剪切操作的第一部分(例如,要移除的剪輯的第一部分, 發生在要保留的部分之前)和第二操作,指定剪切操作的第二部分(例如,要移除的剪輯的第二部分,發生在要保留的部分之後)。第一操作可以指定單元持續時間,該單元持續時間指定在剪切操作之前時間相關媒體單元序列中的最後一個媒體單元和零單元(例如,以指示該單元持續時間從媒體單元序列的起始處開始)。第二操作可以指定在剪切操作之後的時間相關媒體單元的第一序列的起始媒體單元,單元持續時間為零(例如,指示應包括輸入軌道中從起始媒體單元開始的所有內容)。應用第一和第二操作從輸入軌道的中間部分中除去該組媒體單元,其中該中間部分從該最後一個媒體單元之後開始,並在推導軌道的該起始媒體單元之前結束。
在一些示例中,對於可以生成多個推導軌道的軌道推導(例如,軌道組推導),可以使用多個分割操作來實現具有多個輸出推導軌道的軌道組推導,每個推導軌道都是從單個輸入軌道切出的關聯部分。例如,第一推導軌道可以包括與第一剪切操作相關聯的時間相關媒體單元序列中的所有媒體單元(例如,第一剪切操作之前的所有媒體單元),第二推導軌道可以包括與第二剪切操作相關聯的時間相關媒體單元序列中的所有媒體單元(例如,第二剪切操作之後的所有媒體單元)。
在一些示例中,軌道推導操作可以指定對多個輸入軌道的操作。例如,軌道推導操作可用於將兩個視訊剪輯拼接或連結在一起,這兩個視訊剪切都是不同的輸入軌道。例如,如果推導軌道是兩個輸入軌道的拼接,則編輯列表變換屬性可以使用兩個輸入軌道,並且包含兩個空的編輯框(例如,由於每個輸入軌道的內容可能不會為拼接操作更改)。這是因為拼接是通過推導軌道為多個輸入軌道實現的。在一些實施例中,拼接涉及多於一個軌道,並且不能用單個EditBox( )來實現,因為其中的任何編輯列表僅與與其關聯的同一媒體軌道的編輯有關。
作為在多個輸入軌道上的軌道推導操作的另一示例,軌道推導操作可以用於將一個軌道的一部分插入另一軌道。例如,可以將第一主視訊分割成兩個部分,並且可以將第二補充視訊放置在兩個分割部分之間,並且可以將所有三個部分結合在一起,以將第二視訊插入第一視訊中。例如,三個輸入軌道可以用作插入操作的一部分,其中兩個輸入軌道是相同的主軌道,並用於導出第一和第二分割部分,剩餘的補充軌道包括要插入的內容。
在一些示例中,第一操作可以指定第一剪切操作以從主軌道剪切起始部分。第一操作可以指定單元持續時間,該單元持續時間指定代表主軌道的起始集合(beginning set)的結束的媒體單元和第一零單元(例如,以指示剪切操作在軌道的起始處開始)。第二操作可以指定第二剪切操作以剪切第二輔助軌道的一部分以用於插入。第二操作可以指定單元持續時間,該單元持續時間指定代表插入的第二軌道的一組媒體單元的末尾的媒體單元和第二零單元(例如,以指示剪切操作在軌道的起始處開始)。第三操作可以指定要在主軌道上執行的第二剪切操作。第三操作可以指定一個單元,該單元指定了一個媒體單元,該媒體單元代表來自主軌道的尾部媒體單元集合的起始單元,以及為零的第三單元持續時間(例如,指示從指定的媒體單元播放所有內容)。該系統可以通過以下方式執行時域軌道推導操作:(1)應用第一剪切操作從主軌道剪切媒體單元的起始集合,(2)應用第二剪切操作從補充軌道(supplemental track)剪切該組媒體單元(例如,可以包括簡單地保留整個補充軌道),(3)應用第三剪切操作,從主軌道中剪切媒體單元的末尾集合,以及(4)將來自主軌道的媒體單元的起始集合,來自補充軌道的該組媒體單元,以及來自第三軌道的媒體單元的末尾集合連結在一起。
從媒體時間中的軌道t'的第m個單元開始,將媒體時間中的“n”個媒體內容單元的軌道“t”插入另一個軌道“t”的示例,變換屬性可運行於三個 輸入軌道:軌道t’、軌道t以及軌道t’,並包括三個編輯框,每個編輯框都有一個編輯列表框,分別對軌道t',軌道t和軌道t'進行如下編輯:num_inputs=3 entry_count=1 segment_duration=m media_time=0 media_rate=1 entry_count=1 segment_duration=n media_time=0 media_rate=1 entry_count=1 segment_duration=0 media_time=m+n media_rate=1
在一些實施例中,用於補充軌道的編輯列表框(以上示例中的第二編輯列表框)可以為空,並且不包含任何編輯列表。空的編輯列表框可用於補充列表以,例如,將整個補充列表插入主列表。
根據本文描述的原理操作的技術可以以任何合適的方式實現。上面的流程圖的處理和决策塊表示可以包括在執行這些各種過程的演算法中的步驟和動作。從這些過程推導的演算法可以實現為與一個或多個單用途或多用 途處理器的操作集成並指導其操作的軟體,可以實現為功能等效電路,例如數位信號處理(DSP)電路或應用-特定積體電路(ASIC),或者可以以任何其他合適的方式實現。應當理解,這裏包括的流程圖不描繪任何特定電路或任何特定程式語言或程式語言類型的語法或操作。相反,流程圖示出了所屬領域具有通常知識者可以用來製造電路或實現計算機軟體演算法以執行本文所述技術類型的特定裝置的處理的功能資訊。還應當理解,除非本文另有指示,否則每個流程圖中描述的特定步驟和/或動作序列僅僅是對可以實現的演算法的說明,並且可以在本文描述的原理的實現和實施例中變劃。
因此,在一些實施例中,本文描述的技術可以體現為實現為軟體的計算機可執行指令,包括作為應用軟體、系統軟體、韌體、中間件、嵌入代碼或任何其他合適類型的計算機代碼。這樣的計算機可執行指令可以使用許多合適的程式語言和/或程式或脚本工具中的任何一種來編寫,並且還可以被編譯為在幀或虛擬機上執行的可執行機器語言代碼或中間代碼。
當本文描述的技術體現為計算機可執行指令時,這些計算機可執行指令可以以任何合適的方式實現,包括作為多個功能設施,每個功能設施提供一個或多個操作以完成根據這些技術操作的演算法的執行。然而,實例劃的“功能設施”是計算機系統的結構組件,當與一個或多個計算機集成並由一個或多個計算機執行時,使得一個或多個計算機執行特定的操作角色。功能設施可以是軟體元素的一部分或整個軟體元素。例如,功能設施可以根據過程,或作為離散過程,或作為任何其他合適的處理單元來實現。如果這裏描述的技術被實現為多功能設施,則每個功能設施可以以其自己的方式實現;所有這些都不需要以同樣的方式實現。另外,這些功能設施可以適當地並行和/或串行地執行,並且可以使用它們正在執行的計算機上的共享記憶體,使用消息傳遞協議,或者其他合適的方式在任何一個之間在彼此之間傳遞資訊。
通常,功能設施包括執行特定任務或實現特定抽象資料類型的例程、程式、對象、組件、資料結構等。通常,功能設施的功能可以根據需要在它們運行的系統中組合或分布。在一些實現中,執行本文技術的一個或多個功能設施可以一起形成完整的軟體包。在備選實施例中,這些功能設施可以適於與其他不相關的功能設施和/或過程交互,以實現軟體程序應用。
這裏已經描述了用於執行一個或多個任務的一些示例性功能設施。然而,應當理解,所描述的功能設施和任務劃分僅僅是可以實現本文描述的示例性技術的功能設施的類型的說明,並且實施例不限於以任何特定數量、劃分,或功能設施的類型。在一些實現中,所有功能可以在單個功能設施中實現。還應當理解,在一些實施方式中,本文描述的一些功能設施可以與其他功能設施一起實施或與其他功能設施分開實施(即,作為單個單元或單獨的單元),或者可以不實現這些功能設施中的一些。
在一些實施例中,實現本文描述的技術的計算機可執行指令(當實現為一個或多個功能設施或以任何其他方式實施時)可以在一個或多個計算機可讀介質上編碼以向媒體提供功能。計算機可讀介質包括諸如硬碟驅動器之類的磁介質,諸如光碟(CD)或數位通用碟(DVD)之類的光學介質,持久或非持久固態記憶體(例如,閃存,磁性RAM等)或任何其他合適的存儲介質。這種計算機可讀介質可以以任何合適的方式實現。如這裏所使用的,“計算機可讀介質”(也稱為“計算機可讀存儲介質”)指的是有形存儲介質。有形存儲介質是非暫時性的並且具有至少一個實體結構組件。在如本文所使用的“計算機可讀介質”中,至少一個實體結構組件具有至少一個實體特性,該特性可在創建具有嵌入資訊的介質的過程期間以某種方式改變,在其上記錄資訊的過程,或用資訊編碼媒體的任何其他過程。例如,可以在記錄過程期間改變計算機可讀介質的實體結構的一部分的磁化狀態。
此外,上述一些技術包括以某些方式存儲資訊(例如,資料和/或指令)以供這些技術使用的動作。在這些技術的一些實現中-諸如將技術實現為計算機可執行指令的實現-該資訊可以在計算機可讀存儲介質上編碼。在本文中將特定結構描述為存儲該資訊的有利格式的情况下,這些結構可用於在編碼在存儲介質上時賦予資訊的實體組織。然後,這些有利結構可以通過影響與資訊交互的一個或多個處理器的操作來向存儲介質提供功能;例如,通過提高處理器執行的計算機操作的效率。
在其中技術可以體現為計算機可執行指令的一些但非全部實現中,這些指令可以在任何合適的計算機系統中一個或多個計算設備中操作的一個或多個合適的計算設備上執行,或者,一個或多個計算設備(或一個或多個計算設備的一個或多個處理器)可以被程式化為執行計算機可執行指令。計算設備或處理器可以被程式化為當指令以計算設備或處理器可訪問的方式存儲時執行指令,例如在資料記憶體中(例如,片上高速緩存或指令寄存器、可通過總線訪問的計算機可讀存儲介質、可通過一個或多個網路訪問並可由設備/處理器訪問的計算機可讀存儲介質等)。包括這些計算機可執行指令的功能設施可以與以下設備的操作集成並指導其操作:單個多用途可程式化數位計算設備、共享處理能力並且聯合執行本文描述的技術的兩個或更多個多用途計算設備的協調系統、專用於執行本文所述技術的單個計算設備或計算設備的協調系統(共址或地理分布)、用於執行本文所述技術的一個或多個現場可程式化邏輯閘陣列(FPGA),或任何其他合適的系統。
計算設備可以包括至少一個處理器、網路適配器和計算機可讀存儲介質。計算設備可以是例如臺式或膝上型個人計算機、個人數位助理(PDA)、智能移動電話、服務器或任何其他合適的計算設備。網路適配器可以是任何合適的硬體和/或軟體,以使計算設備能够通過任何合適的計算網路與任 何其他合適的計算設備進行有線和/或無線通信。計算網路可以包括無線接入點、交換機、路由器、網關和/或其他網路設備以及用於在兩個或更多個計算機(包括因特網)之間交換資料的任何合適的有線和/或無線通信介質或介質。計算機可讀介質可以適於存儲要處理的資料和/或要由處理器執行的指令。處理器能够處理資料和執行指令。資料和指令可以存儲在計算機可讀存儲介質上。
計算設備可以另外具有一個或多個組件和外圍設備,包括輸入和輸出設備。除其他之外,這些設備可用於呈現用戶界面。可用於提供用戶界面的輸出設備的示例包括用於輸出和揚聲器或其他聲音生成設備的視覺呈現的打印機或顯示屏,用於輸出的可聽呈現。可以用於用戶界面的輸入設備的示例包括鍵盤和指示設備,諸如滑鼠、觸摸板和數位劃平板電腦。作為另一示例,計算設備可以通過語音識別或其他可聽格式接收輸入資訊。
已經描述了以電路和/或計算機可執行指令實現這些技術的實施例。應當理解,一些實施例可以是方法的形式,其中已經提供了至少一個示例。作為方法的一部分執行的動作可以以任何合適的方式排序。因此,可以構造這樣的實施例,其中以不同於所示的順序執行動作,其可以包括同時執行一些動作,即使在示例性實施例中示出為順序動作。
上述實施例的各個方面可以單獨使用、組合使用,或者在前面描述的實施例中沒有具體討論的各種布置中使用,因此不限於其應用於前面的描述或附圖中示出的上述實施例中闡述的部件的細節和布置。例如,一個實施例中描述的方面可以以任何方式與其他實施例中描述的方面組合。
在申請專利範圍中使用諸如“第一”、“第二”、“第三”等的序數術語來修改申請專利範圍元素本身並不意味著一個申請專利範圍要素相對於另一個的任何優先權、優先級或順序,或者執行方法時的行為時間上的順序,而僅用作標簽以將具有特定名稱的一個申請專利範圍元素與具有相同名稱的另一個 元素區分(進用於使用序數術語),以區分申請專利範圍元素。
此外,這裏使用的措辭和術語是出於描述的目的,而不應被視為限制。本文中“包括”、“包含”、“具有”、“含有”、“涉及”及其變劃形式的使用旨在涵蓋其後列出的項及其等同物以及附加項。
本文使用的“示例性”一詞意味著用作示例、實例或說明。因此,在此描述為示例性的任何實施例、實現、過程、特徵等應當被理解為說明性示例,並且除非另有指示,否則不應被理解為優選或有利示例。
已經如此描述了至少一個實施例的若干方面,應當理解,所屬領域具有通常知識者將容易想到各種改變、修改和改進。這些改變、修改和改進旨在成為本公開的一部分,並且旨在落入本文描述的原理的精神和範圍內。因此,前面的描述和附圖僅是示例性的。
1000:方法
1002~1006:步驟

Claims (21)

  1. 一種由與記憶體通信的至少一個處理器實施的方法,其中,該記憶體存儲計算機可讀指令,該指令在由該至少一個處理器執行時使該至少一個處理器執行:訪問包括分層軌道結構的多媒體資料,該分層軌道結構至少包括:包括第一媒體資料的該分層軌道結構的第一層的第一軌道,其中該第一媒體資料包括時間相關媒體單元的第一序列;以及與該第一層的該第一軌道不同的、在該分層軌道結構中的第二層的第二軌道,該第二軌道包括指定時域軌道推導操作的元資料,其中該元資料包括要在該第一軌道上執行的一個或多個操作的集合,該一個或多個操作的集合的每個操作包括:時間相關媒體單元的該第一序列的單元持續時間;以及時間相關媒體單元的該第一序列中的起始單元;以及在至少包括時間相關媒體單元的該第一序列的第一媒體單元集合上執行該時域軌道推導操作,包括應用該一個或多個操作的集合在時間上修改該第一媒體單元集合,以生成第二媒體單元集合,包括(a)移除時間相關媒體單元的該第一序列的第三媒體單元集合,該第三媒體單元集合包括一個或多個媒體單元,(b)從該分層軌道結構中的第三軌道的時間相關媒體單元的第三序列添加第四媒體單元集合,其中該第四媒體單元集合包括一個或多個媒體單元,是該第一媒體單元集合的一部分,或兩者,以生成時間相關媒體單元的第二序列,其中,該第二媒體單元集合包括來自時間相關媒體單元的該第二序列;並且 該第一媒體單元集合不同於該第二媒體單元集合。
  2. 如申請專利範圍第1項所述之方法,其中:該一個或多個操作的集合移除時間相關媒體單元的該第一序列的該第三媒體單元集合;以及所述對該第一媒體單元集合執行該時域軌道推導操作包括:應用該一個或多個操作集合,以從時間相關媒體單元的該第一序列中移除該第三媒體單元集合,以生成時間相關媒體單元的該第二序列。
  3. 如申請專利範圍第2項所述之方法,其中:該一個或多個操作的集合包括指定修整操作的第一操作,該修整操作包括:為零的第一單元持續時間;以及第一單元指定時間相關媒體單元的該第一序列的該一個或多個媒體單元集合中的最後一個媒體單元;以及所述從時間相關媒體單元的該第一序列中移除該第三媒體單元集合包括應用該第一操作以從時間相關媒體單元的該第一序列的起始部分到該單元止移除該第三媒體單元集合。
  4. 如申請專利範圍第2項所述之方法,其中:該一個或多個操作的集合包括指定修整操作的第一操作,該修整操作包括:指定時間相關媒體單元的該第一序列的最後一個媒體單元的第一單元持續時間;以及第一零單元,以及所述移除時間相關媒體單元的該第一序列中的該第三媒體單元集合包括應用該第一操作以從時間相關媒體單元的該第一序列的從最後一個媒體單元開始 的結尾部分中移除該第三媒體單元集合。
  5. 如申請專利範圍第2項所述之方法,其中:該一個或多個操作的集合包括:指定剪切操作的第一部分的第一操作,包括:指定該剪切操作之前的時間相關媒體單元的該第一序列的最後一個媒體單元的第一單元持續時間;以及第一零單元;以及第二操作,指定該剪切操作的第二部分,包括:為零的第二單元持續時間;以及第二單元,指定該剪切操作之後的時間相關媒體單元的該第一序列的起始媒體單元,根據該最後一個媒體單元加上該一個或多個媒體單元的集合確定;以及所述從時間相關媒體單元的該第一序列中移除該第三媒體單元集合包括:應用該第一操作和該第二操作以從時間相關媒體單元的該第一序列的中間部分中移除該第三媒體單元集合,其中該中间部分在該最後一個媒體單元之後開始並在該起始媒體單元之前結束。
  6. 如申請專利範圍第1項所述之方法,其中:該一個或多個操作的集合包括:指定剪切操作的第一部分的第一操作,包括:指定該剪切操作之前的時間相關媒體單元的該第一序列的最後一個媒體單元的第一單元持續時間;以及第一零單元;以及第二操作,指定該剪切操作的第二部分,包括:為零的第二單元持續時間;以及 第二單元,指定該剪切操作之後的時間相關媒體單元的該第一序列的起始媒體單元,該起始媒體單元基於該最後一個媒體單元加上該一個或多個媒體單元的集合確定;所述對該第一媒體單元集合執行該時域軌道推導操作包括應用該第一操作和該第二操作以生成時間相關媒體單元的該第二序列。
  7. 如申請專利範圍第6項所述之方法,其中,所述對該媒體單元集合執行該時域軌道推導操作包括:在與該第一軌道的該第一層不同的,該分層軌道結構中的該第二層上,生成第四軌道的第四媒體資料,該第四媒體資料包括時間相關媒體單元的第四序列,其中時間相關媒體單元的該第二序列包括該剪切操作之前的時間相關媒體單元的該第一序列的所有媒體單元的第一集合,時間相關媒體單元的該第四序列包括第二剪切操作之後的所有媒體單元的第二集合。
  8. 如申請專利範圍第7項所述之方法,其中:該一個或多個操作的集合包括:指定該第二剪切操作的第一部分的第三操作,包括:指定該剪切操作之前的時間相關媒體單元的該第一序列的倒數第二個媒體單元的第三單元持續時間;以及第三零單元;以及第四操作,指定該第二剪切操作的第二部分,包括:為零的第四單元持續時間;以及第四單元,指定該第二剪切操作之後的時間相關媒體單元的該第一序列的第二起始媒體單元,其基於倒數該第二個媒體單元加上一個或多個媒體單元的第二集合確定;以及生成用於該第四軌道的該第四媒體資料包括應用該第三操作和該第四操作 以生成時間相關媒體單元的該第四序列。
  9. 如申請專利範圍第1項所述之方法,其中:該第三軌道位於該第二層之下的第三層;該元資料包括在該第三軌道上執行的一個或多個操作的第二集合,每個操作包括:時間相關的媒體單元的該第三序列的第二單元持續時間;以及時間相關的媒體單元的該第三序列中的第二單元。
  10. 如申請專利範圍第9項所述之方法,其中:該一個或多個操作的集合以及一個或多個操作的該第二集合包括空操作集合;以及在該第一媒體單元集合合上執行該時域軌道推導操作包括將時間相關媒體單元的該第一序列和時間相關媒體單元的該第三序列結合以生成時間相關媒體單元的該第二序列。
  11. 如申請專利範圍第9項所述之方法,其中:該一個或多個操作的集合包括指定第一剪切操作的第一操作,包括:第一單元持續時間,指定代表時間相關媒體單元的該第一序列的第一集合的結尾的第一媒體單元;以及第一零單元;一個或多個操作的該第二集合包括第二操作,該第二操作指定第二剪切操作;包括:第二單元持續時間,指定第二媒體單元,該第二媒體單元表示時間相關媒體單元的該第三序列的第二集合的結尾;以及第二零單元;以及該元資料還包括要在該第一軌道上執行的一個或多個操作的第三集合,一 個或多個操作的該第三集合包括第三操作,該第三操作指定第三剪切操作,包括:為零的第三單元持續時間;以及第三單元,指定第三媒體單元,該第三媒體單元代表時間相關媒體單元的該第一序列的第三集合的起始;以及所述對該第一媒體單元集合執行該時域軌道推導操作包括:應用該第一操作以從時間相關媒體單元的該第一序列中剪除時間相關媒體單元的該第一序列的該第一集合;應用該第二操作以從時間相關媒體單元的該第三序列中剪除時間相關媒體單元的該第三序列的該第二集合;應用該第三操作以從時間相關媒體單元的該第一序列中剪除時間相關媒體單元的該第一序列的該第三集合;以及連結該第一集合、該第二集合和該第三集合,以便該第二集合位於該第一集合和該第二集合之間。
  12. 一種包括與記憶體通信的處理器的裝置,該處理器被配置為執行存儲在該記憶體中的指令,該指令使該處理器執行:訪問包括分層軌道結構的多媒體資料,該分層軌道結構至少包括:包括第一媒體資料的該分層軌道結構的第一層的第一軌道,其中該第一媒體資料包括時間相關媒體單元的第一序列;以及與該第一層的該第一軌道不同的、在該分層軌道結構中的第二層的第二軌道,該第二軌道包括指定時域軌道推導操作的元資料,其中該元資料包括要在該第一軌道上執行的一個或多個操作的集合,該一個或多個操作的集合的每個操作包括:時間相關媒體單元的該第一序列的單元持續時間;以及 時間相關媒體單元的該第一序列中的起始單元;以及在至少包括時間相關媒體單元的該第一序列的第一媒體單元集合上執行該時域軌道推導操作,包括應用該一個或多個操作的集合在時間上修改該第一媒體單元集合,以生成第二媒體單元集合,包括(a)移除時間相關媒體單元的該第一序列的第三媒體單元集合,該第三媒體單元集合包括一個或多個媒體單元,(b)從該分層軌道結構中的第三軌道的時間相關媒體單元的第三序列添加第四媒體單元集合,其中該第四媒體單元集合包括一個或多個媒體單元,是該第一媒體單元集合的一部分,或兩者,以生成時間相關媒體單元的第二序列,其中,該第二媒體單元集合包括來自時間相關媒體單元的該第二序列;並且該第一媒體單元集合不同於該第二媒體單元集合。
  13. 如申請專利範圍第12項所述之裝置,其中:該一個或多個操作的集合移除時間相關媒體單元的該第一序列的該第三媒體單元集合;以及所述對該第一媒體單元集合執行該時域軌道推導操作包括:應用該一個或多個操作集合,以從時間相關媒體單元的該第一序列中移除該第三媒體單元集合,以生成時間相關媒體單元的該第二序列。
  14. 如申請專利範圍第13項所述之裝置,其中:該一個或多個操作的集合包括指定修整操作的第一操作,該修整操作包括:為零的第一單元持續時間;以及第一單元,其指定時間相關媒體單元的該第一序列的該一個或多個媒體單元集合中的最後一個媒體單元;以及 所述從時間相關媒體單元的該第一序列中移除該第三媒體單元集合包括:應用該第一操作以從時間相關媒體單元的該第一序列的起始部分到該單元止移除該第三媒體單元集合。
  15. 如申請專利範圍第13項所述之裝置,其中:該一個或多個操作的集合包括指定修整操作的第一操作,該修整操作包括:指定時間相關媒體單元的該第一序列的最後一個媒體單元的第一單元持續時間;以及第一零單元,以及所述移除時間相關媒體單元的該第一序列中的該第三媒體單元集合包括應用該第一操作以從時間相關媒體單元的該第一序列的從最後一個媒體單元開始的結尾部分中移除該第三媒體單元集合。
  16. 如申請專利範圍第13項所述之裝置,其中:該一個或多個操作的集合包括:指定剪切操作的第一部分的第一操作,包括:指定該剪切操作之前的時間相關媒體單元的該第一序列的最後一個媒體單元的第一單元持續時間;以及第一零單元;以及第二操作,指定該剪切操作的第二部分,包括:為零的第二單元持續時間;以及第二單元,指定該剪切操作之後的時間相關媒體單元的該第一序列的起始媒體單元,根據該最後一個媒體單元加上該一個或多個媒體單元的集合確定;以及所述從時間相關媒體單元的該第一序列中移除該第三媒體單元集合包括: 應用該第一操作和該第二操作以從時間相關媒體單元的該第一序列的中間部分中移除該第三媒體單元集合,其中該中间部分在該最後一個媒體單元之後開始並在該起始媒體單元之前結束。
  17. 如申請專利範圍第12項所述之裝置,其中:該一個或多個操作的集合包括:指定剪切操作的第一部分的第一操作,包括:指定該剪切操作之前的時間相關媒體單元的該第一序列的最後一個媒體單元的第一單元持續時間;以及第一零單元;以及第二操作,指定該剪切操作的第二部分,包括為零的第二單元持續時間;以及第二單元,指定該剪切操作之後的時間相關媒體單元的該第一序列的起始媒體單元,該起始媒體單元基於該最後一個媒體單元加上該一個或多個媒體單元的集合確定;所述對該第一媒體單元集合執行該時域軌道推導操作包括應用該第一操作和該第二操作以生成時間相關媒體單元的該第二序列。
  18. 如申請專利範圍第17項所述之裝置,其中,所述對該第一媒體單元集合執行該時域軌道推導操作包括:在與該第一軌道的該第一層不同的,該分層軌道結構中的該第二層上,生成第四軌道的第四媒體資料,該第四媒體資料包括時間相關媒體單元的第四序列,其中時間相關媒體單元的該第二序列包括該剪切操作之前的時間相關媒體單元的該第一序列的所有媒體單元的第一集合,時間相關媒體單元的該第四序列包括第二剪切操作之後的所有媒體單元的第二集合。
  19. 如申請專利範圍第18項所述之裝置,其中: 該一個或多個操作的集合包括:指定該第二剪切操作的第一部分的第三操作,包括:指定該剪切操作之前的時間相關媒體單元的該第一序列的倒數第二個媒體單元的第三單元持續時間;以及第三零單元;以及第四操作,指定該第二剪切操作的第二部分,包括:為零的第四單元持續時間;以及第四單元,指定該第二剪切操作之後的時間相關媒體單元的該第一序列的第二起始媒體單元,其基於倒數該第二個媒體單元加上一個或多個媒體單元的第二集合確定;以及生成用於該第四軌道的該第四媒體資料包括應用該第三操作和該第四操作以生成時間相關媒體單元的該第四序列。
  20. 如申請專利範圍第12項所述之裝置,其中:該第三軌道位於該第二層之下的第三層;該元資料包括在該第三軌道上執行的一個或多個操作的第二集合,每個操作包括:時間相關的媒體單元的該第三序列的第二單元持續時間;以及時間相關的媒體單元的該第三序列中的第二單元。
  21. 至少一種計算機可讀存儲介質,其中存儲有處理器可執行指令,在由至少一個處理器執行時使該至少一個處理器執行:訪問包括分層軌道結構的多媒體資料,該分層軌道結構至少包括:包括第一媒體資料的該分層軌道結構的第一層的第一軌道,其中該第一媒體資料包括時間相關媒體單元的第一序列;以及與該第一層的該第一軌道不同的、在該分層軌道結構中的第二層的第二軌 道,該第二軌道包括指定時域軌道推導操作的元資料,其中該元資料包括要在該第一軌道上執行的一個或多個操作的集合,該一個或多個操作的集合的每個操作包括:時間相關媒體單元的該第一序列的單元持續時間;以及時間相關媒體單元的該第一序列中的起始單元;以及在至少包括時間相關媒體單元的該第一序列的第一媒體單元集合上執行該時域軌道推導操作,包括應用該一個或多個操作的集合在時間上修改該第一媒體單元集合,以生成第二媒體單元集合,包括(a)移除時間相關媒體單元的該第一序列的第三媒體單元集合,該第三媒體單元集合包括一個或多個媒體單元,(b)從該分層軌道結構中的第三軌道的時間相關媒體單元的第三序列添加第四媒體單元集合,其中該第四媒體單元集合包括一個或多個媒體單元,是該第一媒體單元集合的一部分,或兩者,以生成時間相關媒體單元的第二序列,其中,該第二媒體單元集合包括來自時間相關媒體單元的該第二序列;並且該第一媒體單元集合不同於該第二媒體單元集合。
TW109100717A 2019-01-09 2020-01-09 使用編輯操作執行時域軌道推導的方法和裝置 TWI755673B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962790147P 2019-01-09 2019-01-09
US62/790,147 2019-01-09
US16/737,349 US11205456B2 (en) 2019-01-09 2020-01-08 Methods and apparatus for using edit operations to perform temporal track derivations
US16/737,349 2020-01-08

Publications (2)

Publication Number Publication Date
TW202101445A TW202101445A (zh) 2021-01-01
TWI755673B true TWI755673B (zh) 2022-02-21

Family

ID=71404567

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109100717A TWI755673B (zh) 2019-01-09 2020-01-09 使用編輯操作執行時域軌道推導的方法和裝置

Country Status (2)

Country Link
US (1) US11205456B2 (zh)
TW (1) TWI755673B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11183220B2 (en) 2018-10-03 2021-11-23 Mediatek Singapore Pte. Ltd. Methods and apparatus for temporal track derivations
US10468064B1 (en) * 2019-03-19 2019-11-05 Lomotif Inc. Systems and methods for efficient media editing
US11356534B2 (en) * 2019-04-23 2022-06-07 Tencent America LLC Function repository selection mode and signaling for cloud based processing
CN111831842A (zh) 2019-04-23 2020-10-27 腾讯美国有限责任公司 Nbmp中处理媒体内容的方法、装置和存储介质
US11489898B1 (en) * 2021-07-07 2022-11-01 Tencent America LLC Method and apparatus for segment-based split and merge functions for parallel processing of media

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100153395A1 (en) * 2008-07-16 2010-06-17 Nokia Corporation Method and Apparatus For Track and Track Subset Grouping
US20130170561A1 (en) * 2011-07-05 2013-07-04 Nokia Corporation Method and apparatus for video coding and decoding
TW201717191A (zh) * 2015-06-22 2017-05-16 時光機資本有限公司 音樂情境系統、音軌結構及即時音樂內容同步化的方法
US20180199044A1 (en) * 2017-01-11 2018-07-12 Mediatek Inc. Method and apparatus for deriving composite tracks
TW201836358A (zh) * 2017-03-27 2018-10-01 日商佳能股份有限公司 用於產生媒體資料的方法及設備

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8488943B1 (en) 2012-01-31 2013-07-16 Google Inc. Trimming media content without transcoding
GB2539462B (en) 2015-06-16 2019-04-03 Canon Kk Obtaining media data and metadata from encapsulated bit-streams wherein operating point descriptors can be dynamically set
US10904313B2 (en) 2017-06-20 2021-01-26 Telefonaktiebolaget Lm Ericsson (Publ) Apparatuses, methods, computer programs, and computer program products for live uplink adaptive streaming
US10911512B2 (en) 2017-09-05 2021-02-02 Amazon Technologies, Inc. Personalized content streams using aligned encoded content segments
US11183220B2 (en) 2018-10-03 2021-11-23 Mediatek Singapore Pte. Ltd. Methods and apparatus for temporal track derivations

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100153395A1 (en) * 2008-07-16 2010-06-17 Nokia Corporation Method and Apparatus For Track and Track Subset Grouping
US20130170561A1 (en) * 2011-07-05 2013-07-04 Nokia Corporation Method and apparatus for video coding and decoding
TW201717191A (zh) * 2015-06-22 2017-05-16 時光機資本有限公司 音樂情境系統、音軌結構及即時音樂內容同步化的方法
US20180199044A1 (en) * 2017-01-11 2018-07-12 Mediatek Inc. Method and apparatus for deriving composite tracks
TW201836358A (zh) * 2017-03-27 2018-10-01 日商佳能股份有限公司 用於產生媒體資料的方法及設備

Also Published As

Publication number Publication date
US11205456B2 (en) 2021-12-21
US20200219536A1 (en) 2020-07-09
TW202101445A (zh) 2021-01-01

Similar Documents

Publication Publication Date Title
TWI755673B (zh) 使用編輯操作執行時域軌道推導的方法和裝置
TWI729517B (zh) 時間軌道推導的方法和裝置
TWI709325B (zh) 用於編解碼視訊資料的方法及裝置
TWI674797B (zh) 球面區域呈現之方法與裝置
JP7072649B2 (ja) 高品質のエクスペリエンスのためのオーディオメッセージの効率的な配信および使用のための方法および装置
TWI735038B (zh) 將軌道推導用於基於網路的媒體處理的方法和裝置
KR101445074B1 (ko) 미디어 플레이어에서 미디어 객체 처리 방법 및 그 장치
WO2017092340A1 (zh) 一种视频压缩、播放方法以及装置
TWI729430B (zh) 浸入式媒體內容覆蓋的方法和裝置
WO2021065605A1 (ja) 情報処理装置および情報処理方法
TWI782386B (zh) 基於網路之媒體處理應用中利用軌道推導產生新軌道之方法和裝置
JP2016072858A (ja) メディアデータ生成方法、メディアデータ再生方法、メディアデータ生成装置、メディアデータ再生装置、コンピュータ読み取り可能な記録媒体、及びプログラム
TWI820490B (zh) 利用衍生視訊軌道實現場景描述的方法和系統
TWI793567B (zh) 用以重定時序和縮放輸入視頻軌道的方法和裝置
US11743441B2 (en) Methods and apparatus for selecting and switching input video tracks using track derivations
CN102780896A (zh) 一种流媒体素材支持3d技术的方法