TWI793567B - 用以重定時序和縮放輸入視頻軌道的方法和裝置 - Google Patents
用以重定時序和縮放輸入視頻軌道的方法和裝置 Download PDFInfo
- Publication number
- TWI793567B TWI793567B TW110113225A TW110113225A TWI793567B TW I793567 B TWI793567 B TW I793567B TW 110113225 A TW110113225 A TW 110113225A TW 110113225 A TW110113225 A TW 110113225A TW I793567 B TWI793567 B TW I793567B
- Authority
- TW
- Taiwan
- Prior art keywords
- track
- video media
- units
- sequence
- samples
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/21805—Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/04—Synchronising
- H04N5/05—Synchronising circuits with arrangements for extending range of synchronisation, e.g. by using switching between several time constants
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/23608—Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/4728—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for selecting a Region Of Interest [ROI], e.g. for requesting a higher resolution version of a selected region
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/816—Monomedia components thereof involving special video data, e.g 3D video
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/85406—Content authoring involving a specific file format, e.g. MP4 format
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/82—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
- H04N9/8205—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本文所描述的技藝關於方法、裝置與電腦可讀取媒介以配置來存取多媒體資料包括一階層式軌道結構,包括至少:一第一軌道,在該階層式軌道結構的一第一層級中,包括第一媒體資料,其中該第一媒體資料包括一第一視訊媒體單元序列;以及一第二軌道,在該階層式軌道結構的一第二層級,該第二層級與該第一軌道的該第一層級不同,該第二軌道包括指明一重定時序推導操作的元資料。輸出視訊媒體單元是依據該第二軌道所產生,包括藉由移除該重定時序推導操作的相關聯一或多個視訊媒體單元,與/或位移該第一視訊媒體單元序列的時序信息,而於該第一視訊媒體單元序列進行該重定時序推導操作,來修改該第一視訊媒體單元序列的一時序。
Description
本文所描述的技術一般說來是關於重定時序和縮放輸入視訊軌道,包括基於ISO的媒體檔案格式(ISO Base Media File Format,ISOBMFF)中的視訊軌道。
存在有各種類型的三維(3D)內容與多重方向內容。例如,全方向的視訊是一種視訊類型,為使用一組相機來加以取得,而有別於傳統單一方向視訊僅用一單一相機完成。例如,數個相機可以被放置環繞一特定的中心點,以使每一相機對於場景的一球面覆蓋取得一部份的視訊,進而取得360度的視訊。從多個相機來的視訊可以被拼接(stitched),可能被旋轉,而且被投影來產生一投影式的二維畫面來代表球面內容。例如,一等距柱狀投影(equal rectangle projection)可以被使用來將球面圖像鋪成一二維影像。例如,這可以進一步被處理而使用二維編碼與壓縮技術來完成。最終,被編碼與壓縮的內容被儲存並且使用一所想要的傳遞機制(例如隨身碟、數位影音光碟(DVD)、檔案下載、數位傳播、與/或線上串流)加以傳遞。這種視訊可以被用於虛擬現實(virtual reality,VR)與/或三維視訊。
在客戶裝置端,當客戶裝置處理內容時,一視訊解碼器解碼被編
碼與被壓縮的視訊並且進行一反向投影以將內容放回於球面。一使用者則可以觀賞所渲染的內容,例如使用一頭戴式觀賞裝置。此內容通常是依據使用者的視口(viewport)來加以渲染,代表使用者看待內容的角度。此視口也可以包括代表觀賞區域的一部件,此部件可以描述被觀賞者在特定角度所正在觀賞的區域有多大與是什麼形狀。
當視訊處理不是以基於視口(viewport-dependent)的方式來進行時(致使視訊編碼器與/或解碼器無法得知使用者實際會觀賞什麼),整個編碼、傳遞與解碼的處理程序會處理整個球面內容。例如這可以讓使用者在任何特定視口與/或區域來觀賞內容,這是由於所有的球面內容都被編碼、傳遞與解碼。
然而,處理所有的球面內容會是計算密集而且會消耗相當可觀的頻寬。例如,對於線上串流的應用,處理所有的球面內容會比所必要的網路頻寬帶來更巨大的負擔。因此,當頻寬資源與/或計算資源有限時,要保存一使用者的經驗會很困難。有些技術僅處理正在被使用者觀賞的內容。例如,如果使用者正在觀賞一上方區域(例如,北極),則無需傳遞內容的下方部分(例如,南極)。如果使用者改變視口,則可以依據新的視口來對應地傳遞內容。舉另一例子,對於自由視點電視(Free viewpoint TV,FTV)應用程式(例如使用複數個相機來取得一場景的視訊),可以取決於使用者正在觀賞場景的角度來傳遞內容。例如,如果使用者正從一視口觀賞內容(例如,相機與/或相鄰的相機),可能就無需傳遞其他視口的內容。
依據所揭示的主題,提供裝置、系統、與方法來重定時序與/或縮放輸入視訊軌道給一軌道推導程序,例如在ISOBMFF中一軌道推導程序的輸入軌道。
有些實施例關於一種方法,該方法藉由至少一處理器以與一記憶體進行通訊來實施,其中該記憶體儲存電腦可讀取指令,當藉由該至少一處理器執行時,會使得該至少一處理器進行:存取包括一階層式軌道結構的多媒體資料,該階層式軌道結構包括至少:一第一軌道,在該階層式軌道結構的一第一層級中,包括第一媒體資料,其中該第一媒體資料包括一第一視訊媒體單元序列;以及一第二軌道,在該階層式軌道結構的一第二層級,該第二層級與該第一軌道的該第一層級不同,該第二軌道包括指明一重定時序推導操作的元資料;以及依據該第二軌道產生輸出視訊媒體單元,包括:藉由(a)移除該重定時序推導操作相關聯的一或多個視訊媒體單元,(b)位移該第一視訊媒體單元序列的時序信息,或兩者,而於該第一視訊媒體單元序列進行該重定時序推導操作,來修改該第一視訊媒體單元序列的一時序。
在一些例子中,該第一視訊媒體單元序列包括一樣本序列;該元資料指明一操作來跳過該樣本序列的一樣本;以及產生該等輸出視訊媒體單元包括:省略該樣本以及產生該等輸出視訊媒體單元,使得該等輸出視訊媒體單元不包括該樣本。
在一些例子中,該第一視訊媒體單元序列包括一樣本序列;該元資料指明複數個操作來跳過與該樣本序列相關聯的樣本;以及產生該等輸出視訊媒體單元包括:省略該等樣本以及產生該等輸出視訊媒體單元,使得該等輸出視訊媒體單元不包括該等樣本。
在一些例子中,每一操作是相關聯於一個樣本。
在一些例子中,該第一視訊媒體單元序列的每一視訊媒體單元包括該第一視訊媒體單元序列的一媒體時間線的一相關聯媒體時間;該元資料指明一操作將該媒體時間線位移一指明時間單位的數目;以及產生該等輸出視訊媒體單元包括將與每一視訊媒體單元相關聯的該媒體時間位移該指明時間單位
的數目以及產生該等輸出視訊媒體單元,使得該等輸出視訊媒體單元包括一位移後的媒體時間線。
在一些例子中,該指明時間單位的數目是一負數;以及將與每一視訊媒體單元相關聯的該媒體時間位移該指明時間單位的數目包括:從與每一視訊單元相關聯的該媒體時間中減去該指明時間單位的數目。
在一些例子中,該指明時間單位的數目是一正數;以及將與每一視訊媒體單元相關聯的該媒體時間位移該單位的指明數目包括:從與每一視訊單元相關聯的該媒體時間中加入該指明時間單位的數目。
在一些例子中,該第一軌道是一輸入軌道,而且該第一軌道的該第一媒體資料包括複數個樣本;以及該第二軌道包括一推導軌道,而且該元資料指明該重定時序推導程序以用於該輸入軌道的複數個樣本中的一個樣本;以及產生該等輸出視訊媒體單元包括產生用於一輸出軌道的輸出視訊媒體樣本。
有些實施例關於一種裝置,包括一處理器以與記憶體進行通訊,該處理器被配置來執行儲存於該記憶體中的指令,使得該處理器進行:存取包括一階層式軌道結構的多媒體資料,該階層式軌道結構包括至少:一第一軌道,在該階層式軌道結構的一第一層級中,包括第一媒體資料,其中該第一媒體資料包括一第一視訊媒體單元序列;以及一第二軌道,在該階層式軌道結構的一第二層級,該第二層級與該第一軌道的該第一層級不同,該第二軌道包括指明一重定時序推導操作的元資料;以及依據該第二軌道產生輸出視訊媒體單元包括:藉由(a)移除該重定時序推導操作的相關聯一或多個視訊媒體單元,(b)位移該第一視訊媒體單元序列的時序信息,或兩者,而於該第一視訊媒體單元序列進行該重定時序推導操作,來修改該第一視訊媒體單元序列的一時序。
在一些例子中,該第一視訊媒體單元序列包括一樣本序列;該元資料指明一操作來跳過該樣本序列的一樣本;以及產生該等輸出視訊媒體單元
包括:省略該樣本以及產生該等輸出視訊媒體單元,使得該等輸出視訊媒體單元不包括該樣本。
在一些例子中,該第一視訊媒體單元序列包括一樣本序列;該元資料指明複數個操作來跳過與該樣本序列相關聯的樣本;以及產生該等輸出視訊媒體單元包括:省略該等樣本以及產生該等輸出視訊媒體單元,使得該等輸出視訊媒體單元不包括該等樣本。
在一些例子中,其中每一該等操作是相關聯於一個樣本。
在一些例子中,該第一視訊媒體單元序列的每一視訊媒體單元包括該第一視訊媒體單元序列的一媒體時間線的一相關聯媒體時間;該元資料指明一操作將該媒體時間線位移一指明時間單位的數目;以及產生該等輸出視訊媒體單元包括:將與每一視訊媒體單元相關聯的該媒體時間位移該指明時間單位的數目以及產生該等輸出視訊媒體單元,使得該等輸出視訊媒體單元包括一位移後的媒體時間線。
在一些例子中,該指明時間單位的數目是一負數;以及將與每一視訊媒體單元相關聯的該媒體時間位移該指明時間單位的數目包括:從與每一視訊媒體單元相關聯的該媒體時間中減去該指明時間單位的數目。
在一些例子中,該指明時間單位的數目是一正數;以及將與每一視訊媒體單元相關聯的該媒體時間位移該指明時間單位的數目包括:從與每一視訊媒體單元相關聯的該媒體時間中加入該指明時間單位的數目。
在一些例子中,該第一軌道是一輸入軌道,而且該第一軌道的該第一媒體資料包括複數個樣本;以及該第二軌道包括一推導軌道,而且該元資料指明該重定時序推導程序以用於該輸入軌道的複數個樣本中的一個樣本;以及產生該等輸出視訊媒體單元包括:產生用於一輸出軌道的輸出視訊媒體樣本。
有些實施例關於一種裝置,包括一處理器以與記憶體進行通訊,該處理器被配置來執行儲存於該記憶體中的指令,使得該處理器進行:編碼包括一階層式軌道結構的多媒體資料,該階層式軌道結構包括至少:一第一軌道,在該階層式軌道結構的一第一層級中,包括第一媒體資料,其中該第一媒體資料包括一第一視訊媒體單元序列;以及一第二軌道,在該階層式軌道結構的一第二層級,該第二層級與該第一軌道的該第一層級不同,該第二軌道包括指明一重定時序推導操作的元資料;使得輸出視訊媒體單元可以依據該第二軌道藉由下列產生:(a)移除該重定時序推導操作的相關聯一或多個視訊媒體單元,(b)位移該第一視訊媒體單元序列的時序信息,或兩者,而於該第一視訊媒體單元序列進行該重定時序推導操作,來修改該第一視訊媒體單元序列的一時序。
在一些例子中,該第一視訊媒體單元序列包括一樣本序列;該元資料指明一操作來跳過該樣本序列的一樣本;以及使得該等輸出視訊媒體單元可以藉由下列產生:省略該樣本以及產生該等輸出視訊媒體單元使得該等輸出視訊媒體單元不包括該樣本。
在一些例子中,該第一視訊媒體單元序列包括一樣本序列;以及該元資料指明複數個操作來跳過與該樣本序列相關聯的樣本;使得該等輸出視訊媒體單元可以藉由下列產生:省略該等樣本以及產生該等輸出視訊媒體單元使得該等輸出視訊媒體單元不包括該等樣本。
在一些例子中,每一操作是相關聯於一個樣本。
已經相當廣泛地概述了所公開主題的特徵,以便可以更好地理解其隨後的詳細描述,並且可以更好地理解對本領域的當前貢獻。當然,在下文中將描述所公開的主題的附加特徵,這些附加特徵將構成所附申請專利範圍的主題。應當理解,本文採用的措辭和術語是出於描述的目的,而不應被認為是限制性的。
100:視訊編解碼配置
102A-102N:相機
104:編碼裝置
106:視訊處理器
108:編碼器
110:解碼裝置
112:解碼器
114:渲染器
116:顯示器
200:基於視口內容流程處理
201:球面視口
202:區塊
204:區塊
206:區塊
208:區塊
210:區塊
212:區塊
214:區塊
300:階層式結構
302:上方軌道
304:元資料軌道
306:軌道
308:軌道
310:軌道
310A~310R:軌道
312:軌道
312A~312K:軌道
314A~314K:軌道
400:示例性語法
402:跳過推導操作
404:視覺推導基礎
450:示例性語法
452:視覺推導基礎
454:字段
456:字段
500:示例性語法
502:位移推導操作
504:字段
600:示例性語法
602:影像縮放操作
604:target_width_numerator
606:target_width_denominator
608:target_height_numerator
610:target_height_denominator
612:iscl轉換項特性/方框類型
700:示例性語法
702:縮放推導操作
704:縮放scal轉換操作/方框類型
706:target_width_numerator
708:target_width_denominator
710:target_height_numerator
712:target_height_denominator
800:方法
802、804、806:步驟
在圖示中,繪示於不同圖示中每一相同會接近相同的元件以一相似的參考符號來加以表示。為了清楚起見,並非每一元件在每一圖示中都加以標示。圖示不一定是按照比例繪製,而是會把重點放在此處說明的技術與裝置的各個面向的闡釋。
第1圖依據一些實施例顯示出一示例性的視訊編解碼配置。
第2圖依據一些例子顯示出用於虛擬實境(VR)內容的一基於視口內容流程處理。
第3圖依據一些實施例顯示出一示例的軌道的階層式結構。
第4圖為依據一些實施例顯示出用於一跳過軌道推導操作的一示例性語法。
第5圖為依據一些實施例顯示出用於一位移軌道推導操作的一示例性語法。
第6圖為依據一些例子顯示出用於一影像縮放操作的一示例性語法。
第7圖為依據一些實施例顯示出用於一影像縮放軌道推導操作的一示例性語法。
第8圖為依據一些實施例顯示出用以進行一重定時序軌道推導操作的一示例電腦化方法。
基於ISO的媒體檔案格式(ISOBMFF)提供了軌道推導,其中通常對一或多個輸入軌道進行處理以產生輸出/推導出的軌道。然而發明人已經理解到以傳統方式來進行軌道重定時序(track-retiming)存在有缺失。在ISOBMFF工作草稿中,要對軌道重定時序,建議使用一編輯列表來進行時間上的重定時
序。特別是,工作草案指出,由於一推導出軌道可能具有一編輯列表,藉由使用具有一同一轉換(identity transform)(其重製輸入影像)以及導致時間上重定時序的一編輯列表的一推導出軌道,是可能對一軌道重定時序。對同一轉換,當同一轉換操作存在於一樣本時,(a)同一轉換操作重製輸入影像,而且(b)沒有其他轉換操作應該存在於該樣本。舉一例子,如果想要修剪(trim)一軌道的前十秒,可以使用一同一軌道與一編輯列表來進行該十秒的修剪。
發明人已經發現並理解到此種時間上的重定時序的作法可能遭受各種缺失。一種缺失與當使用一編輯列表時所使用的呈現時間線(presentation timeline)有關。該呈現時間線被用於指明如何呈現樣本以供觀賞。該呈現時間線可能與合成時間線(composition timeline)不同,合成時間線基本上是將軌道上的樣本合成或放在一起的時間線(例如,合成時間線可以像內容的原始時間線一樣被觀賞)。例如,內容可以被呈現地比原始合成時間線的速度更快,因此合成時間線的兩秒僅相對應於呈現時間線的一秒。工作草案說明推導出的軌道可以具有編輯列表,當其存在時會在呈現時間線上提供推導出軌道的輸出樣本的時序和數量(或者,如果一推導出軌道不具有一編輯列表時,則其呈現時間線等於其合成時間線)。因此,使用編輯列表所進行時間上的重定時序是在呈現時間線上進行的而不是在合成時間線上。例如,如果一編輯列表被用來進行修剪前十秒的一重定時序,則位於10秒的樣本將成為呈現時間線的第一個樣本(例如,呈現時間線將從合成時間線的十秒開始)。
重新映射到呈現時間線上可能會是個問題,這是因為一旦樣本被提供於呈現時間線上,就不可能進行相對於合成時間線的後續操作,因此,使用同一轉換與一編輯列表來進行時間上重定時序的一推導出軌道,無法藉由使用合成時間線所進行的操作來進一步操控。此外,使用編輯列表的此一重新映射推導出軌道無法被用來作為推導出軌道合成中其他推導出軌道的一輸入軌道。
尤其,工作草案第一節的設計原則說明“輸入軌道不可有編輯列表”。因此,使用一同一轉換和一編輯列表來進行時間上重定時序的一推導出軌道不能被提供作為後續推導操作的輸入。因此,不可能使用某些編輯列表進行一些操作,否則將需要應用多個編輯列表在跨越多個推導出軌道上。因此,當想要建立一階層式推導出軌道時(例如,想要在重新映射的推導出軌道上進行後續轉換),利用一編輯列表來重定時序的傳統作法在這種情況下就不能使用。
本文所述的技術提供了重定時序軌道推導操作,其可用於處理視訊媒體樣本的序列,例如以組塊(chuck),片段(fragments),分段(segments),分節(sections),與/或類似形式的樣本,其來自軌道推導操作的輸入軌道。這種時間處理的例子包括跳過多媒體內容(例如,使得來自輸入軌道被跳過的多媒體內容不在推導出軌道中)與/或位移多媒體內容(例如,使得位移後的多媒體內容包括一修改後的時間線,該時間線向前或向後位移一指明時間單位的數量)。該重定時序推導操作可以被提供做為一視覺推導基礎類別的延伸,可以被用於指明推導轉換操作。因此,前述傳統技術的限制可加以避免,這是因為使用在本文所提供的技術所產生的推導出軌道可以(a)被保持在合成時間線上與/或(b)用作進一步軌道推導操作的輸入。因此此技術提供了扎實的重定時序機會,該機會可以支持複雜的重定時序(例如,用於多個加入插入(multiple add insertions)),否則在使用傳統技術是不可能的。依據本文描述的技術的例子,一推導出軌道包含某些樣本,這些樣本包含推導操作以應用於一輸入軌道的樣本,而產生一輸出軌道的輸出樣本。
在以下描述中,關於所公開主題的系統和方法以及此類系統和方法可以在其中操作的環境等的許多具體細節被闡述,以便提供對所公開主題的透徹理解。另外,將理解的是,下面提供的例子是示例性的,並且在所公開的主題的範圍內,還有其他系統和方法可以被思及。
第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球面內容可以被分割為區域/分塊(tile)/次-畫面,而且只有那些與觀賞螢幕(例如,視口)相關的才可以被傳輸與傳遞給終端使用者。
第2圖依據一些實施例顯示出用於VR內容的一基於視口內容流程處理200。如所顯示的,球面視口201(例如,其可以包括整個球面)經過拼接、投影、映射在區塊202(來產生投影後與映射後的區域),於區塊204被編碼(來產生於多種品質下的編碼後/與轉碼後的分塊),於區塊206被傳遞(如分塊),於區塊208被解碼(來產生解碼後的分塊),於區塊210被建構(來建
構一球面渲染後的視口),於區塊212被渲染。在區塊214的使用者互動可以選擇一視口,來啟動一些如虛線所顯示的“即時”(just-in-time)的處理流程。
於流程處理200中,由於當前網路頻寬限制與各種適應性規定(例如,在不同品質、編解碼器與保護機制),3D球面VR內容首先被處理(拼接、投影、與映射)至一2D平面(藉由區塊202),然後被囊括於數個基於分塊(或基於子-畫面)與分段的(segmented)檔案(於區塊204)以便傳遞與播放。在此一基於分塊與分段的檔案中,在2D平面(例如,其代表一空間部份,通常在2D平面內容的一長方形狀)的一空間分塊通常被囊括於其變體的集合中(collection of its variants),例如在不同品質與位元率、或在不同編解碼器與保護機制(例如,不同編碼演算法與模式)。在一些例子中,這些變體相對應於在MPEG DASH中的適應性組的代表(representations within adaptation sets)。在一些例子中,基於使用者對於一視口的選擇,這些不同分塊變體中的一些(當組合起來時,提供所選擇視口的覆蓋)則由接收器所取得或傳遞至接收器(通過傳遞區塊206),而然後被解碼(於區塊208)來建構與渲染所想要的視口(於區塊210與212)。
如第2圖所顯示,視口的概念是終端使用者所觀賞的,涉及了在球面上區域的角度與大小。一般對於360度內容而言,此技術會傳遞所需分塊/次-畫面內容給客戶以涵蓋使用者所將觀賞到的。此一過程為基於視口,因為此技術僅傳遞涵蓋有興趣的當前視口的內容,而非整個球面內容。視口(例如,一種球面區域的類型)可以改變且因此不是靜態不動的。例如,當使用者移動他們的頭時,系統則需要獲取相鄰的分塊(或次-畫面)以涵蓋使用者接下來想要觀賞的內容。
例如,用於內容的一平坦檔案結構可以被使用於一單一電影的一視訊軌道。對於VR內容,比起由接收裝置所傳送與/或顯示者,有更多的內容。
例如,如此處所討論的,可以有用於整個3D球面的內容,其中使用者只觀賞一小部份。為了更有效率地編碼、儲存、處理、與/或傳送這種內容,內容可以被分割為不同的軌道。第3圖依據一些實施例顯示出軌道的階層式結構300。上方軌道302是3D VR球面內容軌道,在上方軌道302之下是相關元資料軌道304(每一軌道具有相關元資料)。軌道306是2D投影後的軌道。軌道308是2D大畫面的軌道。區域軌道被顯示為軌道310A到310R,通常被稱為次畫面軌道310。每一區域軌道310具有一組相關變異軌道(associated variant track)。區域軌道310A包括變異軌道312A到312K。區域軌道310R包括變異軌道314A到314K。因此,如軌道的階層式結構300所示,一結構可以被發展來從實體多重變異區域軌道312開始,而且軌道的階層可以被建立用於區域軌道310(次畫面或平面軌道,sub-picture or tile tracks)、投影後或打包後2D軌道308、投影後2D軌道306、以及VR 3D視訊軌道302,而具有與他們相關聯的適當元資料軌道。
在操作中,變異軌道包括實際畫面資料。裝置在替代性的變異軌道之中選擇而挑選出代表次畫面區域(或次畫面軌道)310的一個。次畫面軌道310被分塊(tiled)而且合成在一起成為2D大畫面的軌道308。然後軌道308最終被逆-映射,例如,重新安排一些部份來產生軌道306。然後軌道306被逆-投影回3D軌道302,其為原本的3D畫面。
示例性的軌道階層式結構可以包括下列所描述的各面向,例如,m39971,標題為“Deriving Composite Tracks in ISOBMFF”,2017年1月,於瑞士的日內瓦(Geneva,CH);m40384,標題為“Deriving Composite Tracks in ISOBMFF using track grouping mechanisms”,2017年4月,於澳洲的荷伯特(Hobart,AU);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圖中,rProjection、rPacking、compose、與alternate分別代表軌道推導轉換特性(TransformProperty)項目逆'proj'、逆'pack'、'cmpa'與'cmpl';為了說明目的而且不是作限制之用。相同地,在元資料軌道所示的元資料是為了說明目的而且不是作限制之用。例如,來自OMAF的元資料方塊可以被用來描述於文件w17235,標題為“Text of ISO/IEC FDIS 23090-2 Omnidirectional Media Format”,MPEG第120次會議,2017年10月,於中國的澳門(Macau,China),上述的全部內容在此以引用方式併入本文。
第3圖所示軌道的數目是為了說明而且不是作限制之用。例如,有些中間推導出的軌道(intermediate derived track)在如第3圖所示的階層中並不一定需要時,相關的推導步驟可以被合成為一個(例如,其中逆打包與逆投影被合成起來以消除投影後軌道306的存在)。
一推導出視覺軌道可以藉由其包括樣本條目的類型'dtrk'來加以指明。一推導出樣本包括一有序列表的操作以進行於一有序列表的輸入影像或樣本。每一操作可以藉由一轉換特性(Transform Property)來加以指明或指示。一推導出的視覺樣本可以藉由序列中特定的操作來加以進行。ISOBMFF中轉換特性的例子可以被用來指明一軌道推導,包括那些正在考慮最新的ISOBMFF技術(TuC)(可見於,例如N17833,“Technologies under Consideration for ISOBMFF”,2018年7月在斯洛維尼亞的盧布爾雅那(Ljubljana,SK),該文件全文以引用方式在此併入本文),包括:‘idtt’(同一,identity)轉換特性;'clap'(清潔孔徑,clean aperture)轉換特性;'srot'(旋轉,rotation)轉換特性;'dslv'(溶解,dissolve)轉換特性;'2dcc'(ROI剪裁,ROI crop)轉換特性;'tocp'(軌道覆蓋合成,Track Overlay Composition)轉換特性;'tgcp'(軌道格柵合成,Track Grid Composition)轉換特性;'tgmc'(使用矩陣數值的軌道格柵合成)轉換特性;Track Grid
Composition using Matrix values)轉換特性;'tgsc'(軌道格柵次畫面合成,Track Grid Sub-Picture Composition)轉換特性;'tmcp'(轉換矩陣合成,Transform Matrix Composition)轉換特性;'tgcp'(軌道群組合成,Track Grouping Composition)轉換特性;以及'tmcp'(使用矩陣數值的軌道群組合成,Track Grouping Composition using Matrix Values)。所有這些軌道推導都關於空間處理,包括影像操控與輸入軌道的空間合成。
本文中所描述的技術可藉由提供可應用於合成時間線上、可用於一軌道階層的多個層級(level)、或兩者中的時間重定時序操作來改善現有的軌道推導技術。一推導出軌道可以包括連續視訊資料樣本的時間序列。如本文所描述,連續樣本的部分可以在輸入軌道,而且可以以不同形式,例如以組塊(chuck),片段(fragments),分段(segments),分節(sections)等類似的。如上所述,傳統重定時序技術(如提供於文件w19027,“WD of Derived visual tracks in the ISO base media file format,”,2020年1月在比利時的布魯塞爾(Brussels,BE),該文件全文以引用方式在此併入本文)利用一同一轉換與編輯列表,其提供在呈現時間線上推導出軌道的輸出樣本。此外,如此軌道推導操作無法接受具有一編輯列表的一軌道作為一輸入。因此,傳統重定時序作法被限制在幾種方式。例如,假設一輸入軌道是一二十分鐘長的樣本。可能想要在樣本的開始或中間插入一或多個廣告或廣告間隔。例如,假設一個30秒長度的廣告間隔要被加入在輸入軌道的開始,而且在十分鐘的內容之後,在輸入軌道的中間要加入另一個30秒長度的廣告間隔。為了達成這樣的結果,輸入軌道需要在開始時移位三十秒以插入第一個廣告,然後輸入軌道需要在中間移位以加入第二個廣告的插入。使用傳統作法,具有一同一轉換的編輯列表可以被用來將輸入軌道的整個二十分鐘內容位移三十秒鐘以插入第一個廣告。然而,不可能進行第二個廣告的插入,這是由於(a)在應用編輯列表將內容移動三十秒後,樣本位於呈現時間線上,
並且(b)現在具有編輯列表的推導出軌道不能用作另一推導出軌道的輸入。
本文所述的技術提供了重定時序推導操作,其可以用傳統技術來解決這樣的缺點。在此所提供重定時序推導操作(例如,跳過,位移)在不使用編輯列表的情況下被提供於一推導出軌道,其中推導出軌道包含某些樣本,這些樣本包含要應用於一輸入軌道的樣本的推導操作,以產生一輸出軌道的輸出樣本。此外,在推導出軌道中的重定時序推導操作可以產生在合成時間線上的輸出軌道。因此在此所提供重定時序推導操作提供了相當程度的可調性(flexibility),而且可以被應用在一軌道推導階層式的多個層級(level)。例如,一第一重定時序推導操作可以被進行來對一輸入軌道重定時序並產生一重定時序後的輸出軌道(例如,藉由跳過與/或位移輸入軌道)。然後可以將此重定時序後的輸出軌道作為輸入軌道提供給一進一步的軌道推導操作(例如,在第二推導出軌道中所指明的另一個跳過與/或位移推導操作),其可以提供媒體資料的多個重定時序步驟。此類技術因此可以提供傳統作法無法提供的重定時序功能。本文所描述的重定時序軌道推導技術可在各種多媒體處理場景中是有用的,例如那些需要加入與/或移除多媒體內容的場景。在一些實施例中,重定時序軌道推導可以被用於廣告處理上。繼續上面的例子,本文所描述的技術可以對一20分鐘長的樣本重定時序,以將一個30秒長的廣告間隔加入到輸入軌道的開頭,並且(b)在十分鐘的內容後,將另一個30秒長的廣告間隔加入至輸入軌道的中間。例如,一推導出軌道可以包括(a)從輸入軌道的開始到第二個廣告間隔,對每一樣本位移三十秒的的位移推導操作,以及(b)在第二個廣告間隔之後到輸入軌道的結束,對每一樣本將那些樣本位移一分鐘的位移推導操作。
在一些實施例中,一示例性的推導操作是一跳過推導操作。一跳過操作可以被用於跳過多媒體內容的樣本。例如,一跳過操作可以被指明用於一推導出軌道,以藉由不將那些樣本包括在輸出軌道中,而實質上移除一輸入
軌道的樣本,因此有效地跳過視訊剪輯的數個媒體單元。第4圖為依據一些實施例顯示出用於一跳過推導操作402的一示例性語法400。跳過推導操作402並非每個樣本都需要,但是一跳過推導操作402可以被指明用於一或多個樣本。跳過推導操作402跳過、忽略或不複製輸入樣本,因此從輸出軌道中移除攜帶有此操作的樣本。在一些實施例中,當跳過轉換操作402存在於一樣本中時,同一樣本中不應存在其他轉換操作。
在一些實施例中,軌道推導可以使用在一推導出軌道中的視覺推導基礎(VisualDerivationBase)來加以指明。如語法400所示,跳過推導操作擴展了一視覺推導基礎404。一推導操作可以在例如一推導出樣本條目(sample entry)或一推導出樣本中加以指明。第4圖依據一些實施例也顯示出用於一視覺推導基礎452的一示例性語法450。在一些實施例中,一推導操作可以由類型為'dimg'的容器方框來加以表示,該類型'dimg'攜帶有從視覺推導基礎所繼承來的一推導轉換方框。在一些實施例中,雖然未顯示出,推導操作可以攜帶一視覺推導輸入(VisualDerivationInputs)來提供用於推導轉換的輸入。如果在樣本條目或推導出樣本中列出的推導操作中未提供任何輸入,則視覺推導輸入可能不存在(absent)。
highest_param_idx字段(field)454可以提供在推導轉換方框所存在最高的索引給參數的索引(例如,當無參數存在時,預設數值為0)。在一些實施例中,一參數的索引可以藉由在推導轉換規格中的聲明順序來加以給予。第一參數可以以索引數值1開始。parameter_defined_flags字段456可以是一位元遮罩(bit-mask),來指示出在推導轉換方框中存在哪個參數。如果第Nth位元被設定為1,第Nth個參數應當存在,否則如果第Nth位元被設定為0,第Nth個參數不應當存在(即,一預設數值為0)。在一些實施例中,當推導轉換方框中不存在參數時,highest_param_idx 454和parameter_defined_flags 456可以被省
略(例如,使得如果該方框的尺寸大小等於一個空方框的尺寸大小,這指示出該方框中沒有屬性(attribute))。應當理解的是,本文所討論的語法,例如第4圖中的語法400和450,是提供作為示例性目的並且不意圖加以限制。可以用其他命名約定與/或語法來達成本文所描述的技術。例如,在一些實施例中,軌道推導可以使用於一推導出軌道中的一轉換特性來加以指明。
在一些實施例中,跳過操作被指明用於一輸入軌道的一或多個樣本,使得可以根據所需跳過多種樣本,並且因此從輸出軌道中將其省略。例如,輸入軌道的一部分(例如,在輸入軌道的開始、中間、或結束的樣本)可以被省略,而不包括在由推導出軌道所指定的輸出軌道中。舉另一例子,輸入軌道的樣本的多個部分(例如,可以被一或多個樣本加以分開)可以被省略,而不被推導出軌道在為與那些部分相關聯的樣本提供跳過推導操作時加以包括在內。在此種例子中,一跳過推導出軌道可以包括與一輸入軌道的樣本對齊(lined up)的所有樣本,而且推導出軌道中的這些樣本中的每一個都包含跳過操作,當應用於輸入軌道中的其相對應樣本時,該跳過操作不會複製輸入樣本為進入一輸出軌道的一輸出樣本。在一些實施例中,所產生推導出軌道被保持在合成時間線上。此外,跳過推導操作不使用編輯列表。因此,依據所需要與/或所想要的,輸出軌道(具有一或多個跳過的部分)可以用作後續推導操作(例如,一位移推導操作與/或後續跳過推導操作)的一輸入軌道。
在一些實施例中,跳過操作會修改一輸入軌道中樣本的合成時間線(例如,當樣本被跳過並複製到一輸出軌道時)。例如,以一推導出軌道為例,該軌道具有包含跳過操作的前十個樣本,而其餘樣本包含同一操作(identity operation)。藉由將推導出軌道中的操作應用於輸入軌道所創建的輸出軌道,輸出軌道將具有其樣本是等於輸入軌道的樣本(但是從第11個樣本開始),這表示輸出軌道是輸入軌道,但是跳過了前十個樣本。因此,輸入軌道的樣本在輸
出軌道時間t-10的時候將具有不同的時間戳記,其中t是輸入軌道的合成時間軸中的時間戳記。
另一示例性軌道推導操作是位移操作。一位移操作可以用於位移一分節(section)的多媒體內容的時序。在一些實施例中,位移操作可以藉由數個媒體單元實質上來改變視訊剪輯的時序。例如,當進行一位移推導操作時,媒體樣本(例如,媒體組塊(chuck),片段(fragments),分段(segments),分節(sections)等)可以在輸出軌道中被分配不同的時間戳記(例如,使得原始輸入軌道中的一樣本具有在輸出軌道中的不同時間戳記)。例如,對於藉由數個媒體時間單位進行位移的位移操作,其中時間單位數目為n,輸入軌道中時間戳記為m(m>=0)的樣本將在輸出軌道中具有時間戳記為m+n。因此,在一些實施例中,在一推導出軌道的樣本中的位移操作將導致一輸入樣本的時間戳記在結果輸出軌道中位移n個單位(例如,並且不改變推導出軌道中樣本的時間戳記)。
第5圖為依據一些實施例顯示出用於一位移推導操作502的一示例性語法500。如第4圖所示的示例性語法400,位移推導操作502擴展一視覺推導基礎。位移推導操作502並非每個樣本都需要,但是一位移推導操作502可以被指明用於一或多個樣本。位移推導操作502藉由num_media_time_units字段504所指明的數個媒體合成時間單位來位移該輸入樣本影像。num_media_time_units字段504可以是一整數來指明一時間尺度(timescale)(例如,電影標題方框中的時間尺度)的單位數目。當num_media_ttme_units字段504為負時,推導操作可以將樣本時序向後位移,而當num_media_time_units字段504為正時,推導操作可以將樣本時序向前位移。在一些實施例中,當num_media_time_units 504等於0時,位移推導操作可以是同一推導操作,使得不進行時序改變。在一些實施例中,當位移轉換操作存在於一樣本中時,同一樣本中不應存在其他轉換操作。
在一些實施例中,位移操作被指明用於一輸入軌道的一或多個樣本,使得各種樣本可以根據想要的加以位移。例如,輸入軌道的一部分(例如,開始處的樣本)可以被位移一第一量(例如,以提供給第一廣告插入的機會)。舉另一例子,一輸入軌道的樣本的多個部分(例如,可以被一或多個樣本加以分開)可以被位移不同的量(例如,以提供多個插入機會)。例如,輸入軌道的一第一部分可以被位移一正的n個時間單位,以及輸入軌道的一第二部分可以被位移n+x個時間單位,這導致在輸出軌道的開始處有n個時間單位的一第一個廣告插入機會,以及輸入軌道的第一部分之後的x個時間單位的一第二個廣告插入機會。在一些實施例中,如本文所述,結果的輸出軌道被保持在合成時間線上。此外,位移推導操作不使用編輯列表。因此,依據所需要與/或所想要,推導出軌道(具有一個或多個時間位移後的部分)可用作進一步推導操作的一輸入軌道(例如,進行廣告插入)。
其他形式的視訊編輯可以被指明為軌道推導,這些軌道推導不會改變內容的時序,但會改變內容的其他方面,例如一縮放操作。第6圖顯示出一影像縮放操作602的一示例性語法600。例如語法600被提供於文件w18586,“Technologies under Consideration on ISO/IEC 23008-12",2020年1月在比利時的布魯塞爾(Brussels,BE)用於高效率影像檔案格式(HEIF),該文件全文以引用方式在此併入本文。在此例子語法600中,影像縮放操作602是方框類型“iscl”612,特性類型(property type)是一轉換項特性,並且容器是ItemPropertyContainerBox。縮放操作602並非對每個樣本都需要,但是可以被包括在一樣本中。影像縮放“iscl”轉換項特性612縮放相關影像項的重構後影像。重構後影像從image_width與image_height像素(例如,在與影像項相關聯的ImageSpatialExtentsProperty中所指明)調整尺寸大小為一目標寬度與高度(以像素為單位),分別等於(image_width * target_width_numerator 604)/
target_width_denominator 606與(image_height * target_height_numerator 608)/target_height_denominator 610。target_width_numerator 604可以指明縮放比例的分子以用於水平維度中尺度大小調整後的影像(例如,並且可以被限制使得數值0不被使用)。target_width_denominator 606可以指明縮放比例的分母以用於水平維度中尺寸大小調整後的影像(例如,並且可以被限制使得數值0不被使用)。target_height_numerator 608可以指明縮放比例的分子以用於垂直維度中尺寸大小調整後的影像(例如,並且可以被限制使得數值0不被使用)。target height_denominator 610可以指明縮放比例的分母以用於垂直維度中尺寸大小調整後的影像(例如,並且可以被限制使得數值0不被使用)。
發明人已經理解到,這些縮放操作不能被提供作為視訊內容的一推導出軌道的轉換。而是,先前的作法僅限於影像,因此不能被使用於視訊內容。第7圖顯示出了根據一些實施例的一縮放推導操作702的示例性語法700。縮放推導操作702是方框類型“scal”704,而且並非對每個樣本都需要,但是可以被包括在每個樣本中。縮放“scal”704轉換操作可以縮放輸入樣本影像的推導出樣本影像。推導出樣本影像可以從輸入樣本影像的image_width與image_height像素調整尺寸大小為一目標寬度與高度(以像素為單位),分別等於(image_width * target_width_numerator 706)/target_width_denominator 708與(image_height * target_height_numerator 710)/target_height_denominator 712。target_width_numerator 706可以指明縮放比例的分子以用於水平維度中推導出樣本的影像(例如,並且可以被限制使得數值0不被使用)。target_width_denominator 708可以指明縮放比例的分母以用於水平維度中推導出樣本的影像(例如,並且可以被限制使得數值0不被使用)。target_height_numerator 710可以指明縮放比例的分子以用於垂直維度中推導出樣本的影像(例如,並且可以被限制使得數值0不被使用)。
target_height_denominator 712可以指明縮放比例的分母以用於垂直維度中推導出樣本的影像(例如,並且可以被限制使得數值0不被使用)。
第8圖為依據一些實施例顯示出使用一軌道推導操作以進行一重定時序操作的一示例電腦化方法800。在步驟802與804,計算裝置(例如,編碼裝置104或解碼裝置110)接收具有一階層式軌道結構的多媒體資料。尤其,在步驟802,計算裝置接收一第一軌道,其在該階層式軌道結構的一第一層級中,包括第一媒體資料,例如其可以是一或多個輸入軌道以用於一推導操作。每一輸入軌道的媒體資料包括一視訊媒體單元序列(例如,其中每一媒體單元是關聯於在時間相關序列中與其他媒體單元一不同的時間)。在步驟804,計算裝置接收一第二軌道,其在該階層式軌道結構的一第二層級,該第二層級與該第一軌道的該第一層級不同。該第二軌道包括指明一重定時序軌道推導操作的元資料(例如,跳過與/或位移以用於推導出軌道的一或多個樣本)。雖然步驟802和804被顯示為分開的步驟,應當可以理解輸入軌道和指明重定時序軌道導出操作的軌道可以在一或複數個步驟中被接收。
在步驟806,計算裝置依據該第二軌道產生輸出視訊媒體單元(例如,用於一輸出軌道)。計算裝置藉由移除與該重定時序推導操作相關聯的一或多個視訊媒體單元,與/或位移該第一視訊媒體單元序列的時序信息,而於該第一視訊媒體單元序列進行該重定時序推導操作,來修改該第一視訊媒體單元序列的一時序。藉由進行重定時序操作,與第一媒體資料相比,輸出媒體資料被重定時序,因此輸出媒體資料與輸入軌道的第一媒體資料不同。
在本文所描述的一些實施例中,推導操作可以是一跳過操作。在一些實施例中,在輸入軌道的第一視訊媒體單元序列包括一樣本序列,以及該推導出軌道的元資料指明一操作來跳過該樣本序列的一樣本。該技術可以包括藉由省略該樣本來產生該等輸出視訊媒體單元以及產生該等輸出視訊媒體單元,
使得該等輸出視訊媒體單元不包括該樣本。多個跳過操作可以被指明以用於輸入軌道中相關聯(不同的)樣本。在一些實施例中,該推導出軌道的元資料指明複數個操作來跳過與該樣本序列相關聯的樣本。該技術可以包括藉由省略該樣本來產生該等輸出視訊媒體單元以及產生該等輸出視訊媒體單元,使得該等輸出視訊媒體單元不包括該等樣本。
在本文所描述的一些實施例中,推導操作可以是一位移操作。在一些實施例中,輸入軌道的第一視訊媒體單元序列的每一視訊媒體單元包含輸入軌道的一媒體時間線的一相關聯媒體時間。該推導出軌道的元資料可以指明一操作來將該媒體時間線位移一指明時間單位的數目。該技術可以包括產生該等輸出視訊媒體單元,其藉由將與每一視訊媒體單元相關聯的媒體時間位移該指明時間單位的數目,來產生該等輸出視訊媒體單元,使得該等輸出視訊媒體單元具有一位移後的媒體時間線。該時間線可以在時間上向前位移或在時間上向後位移。在一些實施例中,該指明時間單位的數目是一負數;以及該技術包括從與每一視訊單元相關聯的該媒體時間中減去該指明時間單位的數目。在一些實施例中,該指明時間單位的數目是一正數;以及該技術包括從與每一視訊單元相關聯的該媒體時間中加入該指明時間單位的數目。
在一些實施例中,該技術可以藉由一編碼器與/或一解碼器來進行。在一些實施例中,該技術可用於依據本文所描述的技術來生成一編碼後的位元流(例如,其包括具有重定時序推導操作的一或多個推導出軌道的一階層式軌道結構)。在一些實施例中,該技術可用於解碼依據本文所描述技術而產生的一編碼位元流。
根據本文描述的原理的技術操作可以以任何適當的方式來實作。上面的流程圖的處理和決策塊表示被包含在實施這些不同處理的演算法中的步驟和動作。從這些處理中所推導出的演算法,可以用集成於並指導一個或多個
單一目的或多目的的處理器的操作的軟體來實作,可以用例如一數位訊號處理(Digital Signal Processing,DSP)電路或專門應用的積體電路(Application-Specific Integrated Circuit,ASIC)的功能等效電路來實作,或可以以任何其他適當的方式來實作。應該理解的是,此處所包含的流程圖不描述任何特定電路或任何特定程式語言或程式語言類型的語法或操作。反而,上述流程繪示出了本領域的習知技藝者會使用的功能信息,以製造電路或實作電腦軟體演算法,來對執行本文所描述的技術類型的特定裝置進行處理。還應該理解的是,除非在此另有說明,在每個流程圖中描述的步驟與/或動作的特定序列僅是對演算法的說明,所述的演算法可以加以實作並且可以在本文所描述的原理下在實施方式和實施例中加以變化。
因此,在一些實施例中,本文所描述的技術可以在作為軟體而實作的電腦可執行指令中被實施,包括應用軟體、系統軟體、韌體、中間軟體、嵌入式代碼或任何其他合適類型的電腦代碼。通過使用多種合適的程式設計語言和/或程式設計工具或腳本工具的任何一種,上述電腦可執行指令可以被編寫,也可以被編譯為可執行的機器語言代碼或在框架或虛擬機器上執行的中間代碼。
當本文描述的技術被體現為計算機-可執行指令時,這些計算機可執行指令可以以任何合適的方式來實現,包括多個功能設施,每一功能設施提供一或多個操作以完成依據這些技術所操作的演算法執行。“功能性設施”不論是實例化,是一計算機系統的一結構元件,當與一或多個計算機集成並由加以執行時,使得一或多個計算機來進行一特定的操作角色。一功能設施可以是一部分或整個軟件元素。例如,一功能設施可以以一過程,或者作為一離散過程,或者任何其他合適的處理單元來施行一功能。如果本文描述的技術被實現為多個功能設施時,每一功能設施可以依其自己方式加以施行;不用所有都以
相同方式加以施行。此外,這些功能工具可適當以並行與/或串列加以執行,並且可以使用他們所在執行的計算機上的共享記憶體,使用一傳遞協議或任何其他合適方式在彼此之間傳遞信息。
通常,功能設施包括進行特定任務或實現特定抽象資料類型的常用程序,程式,物件,元件,資料結構等。通常,功能設施的功能性可以以其需要在所操作的系統中進行組合或分佈。在一些實施方式中,實施本文中的技術的一或多個功能設施可以一起形成一完整的軟體包。在替代的實施例中,這些功能設施可以適應於與其他不相關的功能設施與/或過程進行交互作用,以實現一軟體程式應用。
本文已描述了一些示例性功能設施以用於執行一個或多個任務。但是,應該理解的是,所描述的功能設施和任務劃分僅僅是說明實作本文所描述的示例性技術的功能設施類型,並且實施例不限於以任何特定數量、劃分或功能設施類型來實作。在一些實施方式中,所有功能可以在單個功能設施中實作。還應該理解的是,在一些實施方式中,此處所描述的一些功能設施可以與其他一起實作或與單獨實作(即作為一單獨單元或數個分開單元),或者一些功能設施可以不實作。
在一些實施例中,實作本文所描述技術的電腦可執行指令(當作為一個或多個功能設施或以任何其他方式來實作時)被編碼在一個或多個電腦可讀介質上,以將功能提供給介質。電腦可讀介質包括如硬碟驅動器的磁介質,如光碟(Compact Disk,CD)或數位通用光碟(Digital Versatile Disk,DVD),持續或非持續的固態記憶體(如Flash記憶體,磁隨機存取記憶體等),或任何其他合適的存儲介質。這樣的電腦可讀介質可以以任何合適的方式來實作。如本文所使用,“電腦可讀介質”(也稱為“電腦可讀存儲介質”)指的是有形(tangible)存儲介質。有形存儲介質是非暫態性的,並且具有至少一個物理的、結構的元
件。在本文中所使用的“電腦可讀介質”中,至少一個物理結構構件具有至少一個物理屬性,在創建具有實施信息的介質的過程中,在其上記錄信息的過程中,或在編碼具有信息的介質的任何其它過程中,其可以以某種方式被改變。例如,在記錄過程中,可以改變電腦可讀介質的具體物理結構的一部分的磁化狀態。
此外,上面描述的一些技術包括以某種方式存儲信息(例如,資料和/或指令)以用於這些技術的行為。在這些技術的一些實施方式中一例如技術被實作為電腦可執行指令的實施方式一可在電腦可讀存儲介質上進行信息編碼。如果本文描述的特定結構是用於存儲該信息的有利格式的情況下,這些結構在存儲介質上編碼時就可以用於傳給具體物理的信息組織。然後,這些有利結構可以通過影響與該信息交互的一個或多個處理器的操作,來將功能提供到存儲介質;例如,通過提高由處理器執行的電腦操作的效率。
在技術可被實施為電腦可執行指令的一些但非所有實施方式中,這些指令可以在以任何合適的電腦系統而操作的一個或多個合適的計算設備上執行,或一個或多個計算設備(或一個或多個計算設備的一個或多個處理器)可以被程式設計以執行電腦可執行指令。當指令以可被計算設備或者處理器訪問的方式被存儲在計算設備或處理器時,一個計算設備或處理器可被程式設計以執行指令,例如在資料存儲中(例如,一個片上快取記憶體或指令寄存器、通過匯流排可以訪問的電腦可讀存儲介質、通過一個或多個網路可訪問且由設備/處理器可訪問的電腦可讀存儲介質等)。包括這些電腦可執行指令的功能設施可集成於和指導單個的多目的可程式設計數位計算設備的操作,共用處理能力和共同執行本文所描述的技術的兩個或更多的多目的計算設備的協調系統,單個計算設備或專用于執行本文所描述的技術計算設備的協調系統(同一位置或於不同地理上分佈),實施本文所描述的技術的一個或多個現場可程式設計閘陣列(Field-Programmable Gate Array,FPGA),或者任何其他合適的系統。
計算設備可以包括至少一個處理器、網路介面卡和電腦可讀存儲介質。例如,計算設備可以是桌上型電腦或筆記型電腦、個人數位助理(personal digital assistant,PDA)、智慧手機、伺服器或任何其他合適的計算設備。網路介面卡可以是任何合適的硬體與/或軟體,以使得計算設備能夠通過任何合適的計算網路與任何其他合適的計算設備進行有線和/或無線通訊。電腦網路可以包括無線接入點、交換機、路由器、閘道與/或其他網路設備,以及任何合適的有線與/或無線通訊介質或者介質以用於交換兩個或者多個電腦之間的資料,包括網際網路。電腦可讀介質可適於存儲待處理的資料和/或由處理器待執行的指令。處理器可以對資料進行處理以及執行指令。資料和指令可以被存儲在電腦可讀存儲介質上。
計算設備還可以具有一個或多個元件和週邊設備,包括輸入裝置和輸出設備。在其他已說明的之外,這些設備也可用於呈現使用者介面。可用於提供使用者介面的輸出設備的示例,包括用於輸出視覺呈現的印表機或顯示屏幕,和揚聲器或者用於輸出聽覺呈現的其它聲音產生設備。可用於使用者介面的輸入裝置的示例包括鍵盤和指向設備,例如滑鼠、觸摸盤和數位化平板。又例如,計算設備可以通過語音辨識或其他可聽覺格式接收輸入信息。
以電路和/或電腦可執行指令來實作這些技術的實施例已經被描述了。應該理解的是,一些實施例可以是一種方法的形式,其中提供了至少一個示例。作為方法的一部分執行的行為可以以任何適當的方式進行排序。因此,這些實施例可以被解讀為以不同於所示出的順序來執行行為,因此即使如示出的實施例中作為前後接序的行為來說,其也可以被解讀為包括這些行為同時被執行。
以上所描述的實施例的各個方面可以被單獨使用、組合、或即使在上述的實施例中並未具體討論的各種排列,而且其應用因而不受限於上述說
明或附圖中的元件的具體細節和排列。例如,在一個實施例中所描述的方面可以以任何方式與其他實施例中所描述的方面結合。
在申請專利範圍中用以修飾申請專利範圍要件的諸如“第一”、“第二”、“第三”等的順序術語的使用,本身並不意味著任何優先級、先後性、或者以申請專利範圍要件之間的順序或者方法的行為被執行的時間順序;而僅用於作標記以將具有相同名稱的一個申請專利範圍要件與具有相同名稱的另一個要件進行區分(僅僅用作順序術語),進而區分申請專利範圍要件。
此外,本文所使用的措辭和術語是為了描述的目的,而不應被視為限制性的。本文所使用“包括”、“包含”、“具有”、“包含”、“涉及”及其變化形,是指包含其後所列出的項目、其等效、以及額外的項目。
本文所使用的“示例性”一詞是指作為示例、實例或說明。因此,除非另有說明,本文中所描述的任何實施例、實施方式、處理、特徵等都應該被理解為一個說明性的示例,並且不應理解為較佳的或有利的示例。
在已經描述了至少一個實施例的幾個方面之後,應將理解的是,各種改變、修改和改進對於本領域通常知識者來說就沒甚麼困難。這種改變、修改和改進將是本發明的一部分,並且在本文所描述的原理的精神和範圍內。因此,上述描述和附圖僅以示例的方式進行。
800:方法
802、804、806:步驟
Claims (18)
- 一種藉由至少一處理器以與一記憶體通訊而實施的方法,其中該記憶體儲存電腦可讀取指令,當藉由該至少一處理器執行時,使得該至少一處理器進行:存取包括一階層式軌道結構的多媒體資料,該階層式軌道結構包括至少:一第一軌道,在該階層式軌道結構的一第一層級中,包括第一媒體資料,其中該第一媒體資料包括一第一視訊媒體單元序列;以及一第二軌道,在該階層式軌道結構的一第二層級,該第二層級與該第一軌道的該第一層級不同,該第二軌道包括指明一重定時序推導操作的元資料;以及依據該第二軌道產生複數個輸出視訊媒體單元,包括,藉由(a)移除該重定時序推導操作的相關聯一或多個視訊媒體單元,(b)位移該第一視訊媒體單元序列的時序信息,或兩者,而於該第一視訊媒體單元序列進行該重定時序推導操作,來修改該第一視訊媒體單元序列的一時序;其中,該第一軌道是一輸入軌道,而且該第一軌道的該第一媒體資料包括複數個樣本;以及該第二軌道包括一推導出軌道,而且該元資料指明該重定時序推導程序以用於該輸入軌道的複數個樣本中的一個樣本;以及產生該等輸出視訊媒體單元包括:產生用於一輸出軌道的輸出視訊媒體樣本。
- 如請求項1所述的藉由至少一處理器以與一記憶體通訊而實施的方法,其中:該第一視訊媒體單元序列包括一樣本序列;該元資料指明一操作來跳過該樣本序列的一樣本;以及 產生該等輸出視訊媒體單元包括:省略該樣本以及產生該等輸出視訊媒體單元,使得該等輸出視訊媒體單元不包括該樣本。
- 如請求項1所述的藉由至少一處理器以與一記憶體通訊而實施的方法,其中:該第一視訊媒體單元序列包括一樣本序列;該元資料指明複數個操作來跳過與該樣本序列相關聯的複數個樣本;以及;產生該等輸出視訊媒體單元包括:省略該等樣本以及產生該等輸出視訊媒體單元,使得該等輸出視訊媒體單元不包括該等樣本。
- 如請求項3所述的藉由至少一處理器以與一記憶體通訊而實施的方法,其中每一該等操作是相關聯於一個樣本。
- 如請求項1所述的藉由至少一處理器以與一記憶體通訊而實施的方法,其中:該第一視訊媒體單元序列的每一視訊媒體單元包含該第一視訊媒體單元序列的一媒體時間線的一相關聯媒體時間;該元資料指明一操作將該媒體時間線位移一指明時間單位的數目;以及產生該等輸出視訊媒體單元包括:將與每一視訊媒體單元相關聯的該媒體時間位移該指明時間單位的數目以及產生該等輸出視訊媒體單元,使得該等輸出視訊媒體單元包括一位移後的媒體時間線。
- 如請求項5所述的藉由至少一處理器以與一記憶體通訊而實施的方法,其中:該指明時間單位的數目是一負數;以及將與每一視訊媒體單元相關聯的該媒體時間位移該指明時間單位的數目包括:從與每一視訊單元相關聯的該媒體時間中減去該指明時間單位的數目。
- 如請求項5所述的藉由至少一處理器以與一記憶體通訊而實施的方法,其中:該指明時間單位的數目是一正數;以及將與每一視訊媒體單元相關聯的該媒體時間位移該指明時間單位的數目包括:從與每一視訊單元相關聯的該媒體時間中加入該指明時間單位的數目。
- 一種包括一處理器以與記憶體通訊的裝置,該處理器被配置來執行儲存於該記憶體中的指令,使得該處理器進行:存取包括一階層式軌道結構的多媒體資料,該階層式軌道結構包括至少:一第一軌道,在該階層式軌道結構的一第一層級中,包括第一媒體資料,其中該第一媒體資料包括一第一視訊媒體單元序列;以及一第二軌道,在該階層式軌道結構的一第二層級,該第二層級與該第一軌道的該第一層級不同,該第二軌道包括指明一重定時序推導操作的元資料;以及依據該第二軌道產生複數個輸出視訊媒體單元,包括:藉由(a)移除與該重定時序推導操作相關聯的一或多個視訊媒體單元,(b)位移該第一視訊媒體單元序列的時序信息,或兩者,而於該第一視訊媒體單元序列進行該重定時序推導操作,來修改該第一視訊媒體單元序列的一時序;其中,該第一軌道是一輸入軌道,而且該第一軌道的該第一媒體資料包括複數個樣本;以及該第二軌道包括一推導出軌道,而且該元資料指明該重定時序推導程序以用於該輸入軌道的複數個樣本中的一個樣本;以及產生該等輸出視訊媒體單元包括:產生用於一輸出軌道的輸出視訊媒體樣本。
- 如請求項8所述的包括一處理器以與記憶體通訊的裝置,其 中:該第一視訊媒體單元序列包括一樣本序列;該元資料指明一操作來跳過該樣本序列的一樣本;以及產生該等輸出視訊媒體單元包括:省略該樣本以及產生該等輸出視訊媒體單元,使得該等輸出視訊媒體單元不包括該樣本。
- 如請求項8所述的包括一處理器以與記憶體通訊的裝置,其中:該第一視訊媒體單元序列包括一樣本序列;該元資料指明複數個操作來跳過與該樣本序列相關聯的複數個樣本;以及產生該等輸出視訊媒體單元包括:省略該等樣本以及產生該等輸出視訊媒體單元,使得該等輸出視訊媒體單元不包括該等樣本。
- 如請求項10所述的包括一處理器以與記憶體通訊的裝置,其中每一該等操作是相關聯於一個樣本。
- 如請求項8所述的包括一處理器以與記憶體通訊的裝置,其中:該第一視訊媒體單元序列的每一視訊媒體單元包括該第一視訊媒體單元序列的一媒體時間線的一相關聯媒體時間;該元資料指明一操作將該媒體時間線位移一指明時間單位的數目;以及產生該等輸出視訊媒體單元包括:將與每一視訊媒體單元相關聯的該媒體時間位移該指明時間單位的數目以及產生該等輸出視訊媒體單元,使得該等輸出視訊媒體單元包括一位移後的媒體時間線。
- 如請求項12所述的包括一處理器以與記憶體通訊的裝置,其中:該指明時間單位的數目是一負數;以及 將與每一視訊媒體單元相關聯的該媒體時間位移該指明時間單位的數目包括:從與每一視訊單元相關聯的該媒體時間中減去該指明時間單位的數目。
- 如請求項12所述的包括一處理器以與記憶體通訊的裝置,其中:該指明時間單位的數目是一正數;以及將與每一視訊媒體單元相關聯的該媒體時間位移該指明時間單位的數目包括:從與每一視訊單元相關聯的該媒體時間中加入該指明時間單位的數目。
- 一種包括一處理器以與記憶體通訊的裝置,該處理器被配置來執行儲存於該記憶體中的指令,使得該處理器進行:編碼包括一階層式軌道結構的多媒體資料,該階層式軌道結構包括至少:一第一軌道,在該階層式軌道結構的一第一層級中,包括第一媒體資料,其中該第一媒體資料包括一第一視訊媒體單元序列;以及一第二軌道,在該階層式軌道結構的一第二層級,該第二層級與該第一軌道的該第一層級不同,該第二軌道包括指明一重定時序推導操作的元資料;使得複數個輸出視訊媒體單元可以依據該第二軌道藉由下列產生:(a)移除該重定時序推導操作相關聯的一或多個視訊媒體單元,(b)位移該第一視訊媒體單元序列的時序信息,或兩者,而於該第一視訊媒體單元序列進行該重定時序推導操作,來修改該第一視訊媒體單元序列的一時序;其中,該第一軌道是一輸入軌道,而且該第一軌道的該第一媒體資料包括複數個樣本;以及該第二軌道包括一推導出軌道,而且該元資料指明該重定時序推導程序以用於該輸入軌道的複數個樣本中的一個樣本;以及產生該等輸出視訊媒體單元包括:產生用於一輸出軌道的輸出視訊媒體樣本。
- 如請求項15所述的包括一處理器以與記憶體通訊的裝置,其中:該第一視訊媒體單元序列包括一樣本序列;以及該元資料指明一操作來跳過該樣本序列的一樣本;使得該等輸出視訊媒體單元可以藉由下列產生:省略該樣本以及產生該等輸出視訊媒體單元,使得該等輸出視訊媒體單元不包括該樣本。
- 如請求項15所述的包括一處理器以與記憶體通訊的裝置,其中:該第一視訊媒體單元序列包括一樣本序列;以及該元資料指明複數個操作來跳過與該樣本序列相關聯的複數個樣本;使得該等輸出視訊媒體單元可以藉由下列產生:省略該等樣本以及產生該等輸出視訊媒體單元,使得該等輸出視訊媒體單元不包括該等樣本。
- 如請求項17所述的包括一處理器以與記憶體通訊的裝置,其中每一該等操作是相關聯於一個樣本。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063008976P | 2020-04-13 | 2020-04-13 | |
US63/008,976 | 2020-04-13 | ||
US17/226,823 US11706374B2 (en) | 2020-04-13 | 2021-04-09 | Methods and apparatus for re-timing and scaling input video tracks |
US17/226,823 | 2021-04-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202143727A TW202143727A (zh) | 2021-11-16 |
TWI793567B true TWI793567B (zh) | 2023-02-21 |
Family
ID=78006417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110113225A TWI793567B (zh) | 2020-04-13 | 2021-04-13 | 用以重定時序和縮放輸入視頻軌道的方法和裝置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11706374B2 (zh) |
TW (1) | TWI793567B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200092530A1 (en) * | 2018-09-14 | 2020-03-19 | Mediatek Singapore Pte. Ltd. | Methods and apparatus for using track derivations for network based media processing |
US20200111510A1 (en) * | 2018-10-03 | 2020-04-09 | Mediatek Singapore Pte. Ltd. | Methods and apparatus for temporal track derivations |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10734025B2 (en) * | 2017-05-16 | 2020-08-04 | Apple Inc. | Seamless output video variations for an input video |
-
2021
- 2021-04-09 US US17/226,823 patent/US11706374B2/en active Active
- 2021-04-13 TW TW110113225A patent/TWI793567B/zh active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200092530A1 (en) * | 2018-09-14 | 2020-03-19 | Mediatek Singapore Pte. Ltd. | Methods and apparatus for using track derivations for network based media processing |
US20200111510A1 (en) * | 2018-10-03 | 2020-04-09 | Mediatek Singapore Pte. Ltd. | Methods and apparatus for temporal track derivations |
Also Published As
Publication number | Publication date |
---|---|
US11706374B2 (en) | 2023-07-18 |
US20210321019A1 (en) | 2021-10-14 |
TW202143727A (zh) | 2021-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI709325B (zh) | 用於編解碼視訊資料的方法及裝置 | |
TWI674797B (zh) | 球面區域呈現之方法與裝置 | |
TWI734951B (zh) | 用於編碼和解碼虛擬實境內容的方法和裝置 | |
TWI735038B (zh) | 將軌道推導用於基於網路的媒體處理的方法和裝置 | |
TWI729430B (zh) | 浸入式媒體內容覆蓋的方法和裝置 | |
TWI729517B (zh) | 時間軌道推導的方法和裝置 | |
TWI755673B (zh) | 使用編輯操作執行時域軌道推導的方法和裝置 | |
TW202118289A (zh) | 用於編碼/解碼沉浸式媒體的視訊資料的方法和裝置 | |
TWI782386B (zh) | 基於網路之媒體處理應用中利用軌道推導產生新軌道之方法和裝置 | |
TWI820490B (zh) | 利用衍生視訊軌道實現場景描述的方法和系統 | |
TW202337221A (zh) | 用於分割渲染的服務器側動態自適應的系統和方法 | |
TWI793567B (zh) | 用以重定時序和縮放輸入視頻軌道的方法和裝置 | |
US20230007314A1 (en) | System and method of server-side dynamic spatial and temporal adaptations for media processing and streaming | |
US11743441B2 (en) | Methods and apparatus for selecting and switching input video tracks using track derivations | |
TWI802204B (zh) | 用於導出的沉浸式軌道的方法和系統 | |
US20220337800A1 (en) | Systems and methods of server-side dynamic adaptation for viewport-dependent media processing |