TW202234896A - 用於產生媒體資料的方法及設備 - Google Patents
用於產生媒體資料的方法及設備 Download PDFInfo
- Publication number
- TW202234896A TW202234896A TW111117208A TW111117208A TW202234896A TW 202234896 A TW202234896 A TW 202234896A TW 111117208 A TW111117208 A TW 111117208A TW 111117208 A TW111117208 A TW 111117208A TW 202234896 A TW202234896 A TW 202234896A
- Authority
- TW
- Taiwan
- Prior art keywords
- track
- video
- tracks
- media
- 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/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
- H04N21/2353—Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- 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/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234345—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
-
- 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/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/23439—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
-
- 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/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Library & Information Science (AREA)
- Computer Security & Cryptography (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本發明關於用於從視訊序列產生媒體檔案的方法,該方法包括由伺服器:
- 從視訊序列獲得由複數個樣本組成的視訊資料;
- 基於獲得的視訊資料,產生視訊軌道,每一個視訊軌道包含視訊序列的樣本,且視訊軌道與描述性元資料相關,描述性元資料包括:
與相關聯的視訊軌道的一個或複數個樣本相關的空間資訊;以及
用於組織產生的視訊軌道以在用戶端顯示時獲得完整影像的組成資訊;以及
- 產生媒體檔案,其包括產生的視訊軌道。
Description
本發明一般關於定時媒體資料的封裝和解析的領域,例如,根據由MPEG標準化組織定義的ISO基礎媒體檔案格式(ISO Base Media File Format),提供彈性和可擴展的格式,以促進媒體資料的交換、管理、編輯和呈現,並改善串流管理。
國際標準組織基本媒體檔案格式(International Standard Organization Base Media File Format,ISO BMFF,ISO/IEC 14496-12)是一種眾所周知的彈性且可擴展的格式,其描述用於本地儲存或通過網路傳輸或通過另一位元流傳送機制的編碼的定時媒體資料位元流(timed media data bitstream)。這種檔案格式是物件導向的。它由按順序或分層組織並定義編碼的定時媒體資料位元流的參數(如定時和結構參數)的稱為框(box)的構建塊組成。在檔案格式中,整個演示文稿稱為影片。它在邏輯上分為軌道
(track)。每個軌道表示媒體資料的定時序列(例如,視訊訊框)。在每個軌道中,每個資料的定時單元被稱為樣本;這可能是視訊或音訊之一訊框。樣本按順序隱式編號。影片可以組織為影片和軌道片段的列表。影片片段及時擴展了演示文稿。他們提供的資訊是他們已經在一個名為MovieBox的框中。實際樣本位於名為MediaDataBoxes的框中。在影片片段中,每個軌道有一組軌道片段、零個或複數個。軌道片段又包含零個或複數個軌道運行,每個軌道運行記錄該軌道的連續運行的樣本。
檔案格式還有另一部分(第5部分,ISO/IEC 14496-15),它描述了各種基於視訊編碼格式的NAL(Network Abstraction Layer,網路抽象層)單元的封裝工具。這種編碼格式的例子是AVC(Advanced Video Coding,高級視訊編碼),SVC(Scalable Video Coding,可縮放視訊編碼),HEVC(High Efficiency Video Coding,高效視訊編碼)或L-HEVC(Layered HEVC,分層HEVC)。
HEVC和類似的視訊編碼格式定義樣本的不同空間細分,例如圖像:圖塊(tile)、切片(slice)和切片片段(slice segment)。圖塊定義包含整數個編碼樹單元(Coding Tree Unit,CTU)或編碼塊的圖像的矩形區域,所有這些都被稱為編碼單元。因此,圖塊是表示感興趣區域(regions of interest,ROI)的良好候選者。然而,在語法態樣編碼的視訊資料(位元流)組織,且將其封裝到NAL單元(或NALU)而不是切片和片段(如在AVC中)。
HEVC中的切片是一組切片片段,其中至少第一切片片段是獨立切片片段,其他切片片段(如果有的話)是依賴(dependent)切片片段。切片片段包含整數個連續的(以光柵掃描順序)CTU。切片不一定具有矩形形狀(它不比用於ROI表示的圖塊合適)。切片片段在HEVC位元流中被編碼為slice_segment_header,接著是slice_segment_data。獨立切片片段(Independent slice segment,ISS)和依賴切片片段(dependent slice segment,DSS)根據它們的標頭(header)而不同:從獨立切片片段的標頭重新使用資訊,依賴切片片段具有較短的標頭。獨立片段和依賴片段都包含位元流中的入口點列表。
當視訊位元流用圖塊編碼時,在MPEG檔案格式的部分-15(Part-15)中存在描述工具來描述NAL單元到圖塊的映射。本部分-15描述工具來封裝圖塊:
‧單個視訊軌中的所有圖塊;或
‧在圖塊軌道中的每個HEVC圖塊具有儲存在圖塊基軌中的圖塊軌道之間的共同資訊;
‧或HEVC圖塊組在圖塊軌道中形成矩形區域,其具有儲存在圖塊基軌中的圖塊軌道之間的共同資訊。
媒體內容創建者希望提供不同版本的視訊,即通過組成(composition)、影像效果或運算應用到所錄製的視訊樣本,從相同的原始視訊產生幾個視訊。問題在於提供這些不同媒體內容的演示,而不增加結果媒體檔案的大小太多。
已經設計出本發明來解決一個或複數個前述問題。所提出的方案執行媒體軌道的標準封裝,並進一步構建一個或複數個特定軌道,稱為產生軌道,其僅包含來自輸入媒體軌道的產生規則和參數。因此媒體資料被儲存一次且從產生的軌道引用。每條產生的軌道都包含一組轉換運算符(transform operator)和參數,其軌道標頭中描述了使用原始軌道上的指標。根據轉換參數是靜態的(對所有樣本都是相同的)還是動態的(根據樣本變化),還有替代的描述和儲存。例如,一種可能性是將運算符或轉換參數儲存在“mdat”框(媒體資料框)中的樣本級別。
根據本發明的第一態樣,提供了一種用於編碼由複數個樣本組成的媒體資料的方法,該方法包括由伺服器裝置:
- 編碼媒體資料以獲得編碼的媒體資料;
- 將編碼的媒體資料封裝在至少一個第一軌道的一組中;
- 產生第二軌道;
其中:
- 所述第二軌道描述了樣本表示將一組至少一個轉換運算符應用於至少一個第一軌道的樣本的結果;
- 第二軌道包括對第一軌道中的至少一個的引用;以及
- 第二軌道包括元資料部分,一組轉換運算符的描述。
在一個實施例中,該方法還包括:
- 將用於表徵至少一個轉換運算符的一個或複數個參數封裝在第二軌道的元資料部分中。
根據本發明的另一態樣,提供了一種用於解碼由複數個樣本組成的媒體資料的方法,該方法包括由用戶端裝置:
- 接收包括對至少一個第二軌道的引用和對一組至少一個轉換運算符的描述的第一軌道;
- 接收至少一個第二軌道;
- 通過將所述一組轉換運算符應用於在所述至少一個第二軌道中接收的樣本來產生所述媒體資料的樣本。
根據本發明的另一態樣,提供了一種伺服器裝置,用於編碼複數個樣本構成的媒體資料,包括處理器的伺服器裝置適於:
- 編碼媒體資料以獲得編碼的媒體資料;
- 將編碼的媒體資料封裝在至少一個第一軌道的一組中;
- 產生第二軌道;
其中:
- 所述第二軌道描述了樣本表示將一組至少一個轉換運算符應用於至少一個第一軌道的樣本的結果;
- 第二軌道包括對第一軌道中的至少一個的引用;以及
- 第二軌道包括元資料部分,一組轉換運算符的描述。
根據本發明的另一態樣,提供了一種用戶端裝置,用於複數個樣本的組成媒體資料進行解碼,包括處理器的用戶端裝置適於:
- 接收包括對至少一個第二軌道的引用和對一組至少一個轉換運算符的描述的第一軌道;
- 接收至少一個第二軌道;
- 通過將所述一組轉換運算符應用於在所述至少一個第二軌道中接收的樣本來產生所述媒體資料的樣本。
根據本發明的另一態樣,提供了一種電腦程式產品,用於可編程裝置,所述電腦程式產品包括指令序列,其用於根據本發明,當被加載到並通過可編程裝置執行時實現方法。
根據本發明的另一個態樣,提供了一種電腦可讀儲存媒體,儲存電腦程式的指令,用於根據本發明實現方法。
如前所述,HEVC和類似的視訊編碼格式定義樣本的不同空間細分,例如圖像:圖塊、切片和切片片段。HEVC為組成用戶端想要顯示的圖塊提供隱含的規則。其他類似的視訊編碼格式(如AVC或OMAF)不受益於
這些隱式規則,且需要提供組成資訊,以便用戶端可以顯示由子部分組成的視訊。組成資訊與關於要組成的子部分的空間資訊(位置和大小)相結合。
然而,現有技術中提供的方法和裝置是靜態的,且不能根據需要隨時調整空間資訊。對於某些應用程式,特別是那些允許該空間視訊部分的組合的應用程式來說,這可能會有問題,當視訊部分的位置和大小改變(例如,在一個視訊序列中追蹤運動物件時)。
還設計了本發明以解決上述問題。
根據本發明的另一個態樣,提供了一種用於從視訊序列產生媒體檔案的方法,該方法包括由伺服器:
- 從視訊序列獲得由複數個樣本組成的視訊資料;
- 基於所獲得的視訊資料產生視訊軌道,每個視訊軌
道包括視訊序列的樣本,且所述視訊軌道與描述性
元資料相關聯,所述描述性元資料包括:
與相關聯的視訊軌道的一個或複數個樣本相關的空間資訊;和
用於組織產生的視訊軌道以在用戶端顯示時獲得完整影像的組成資訊;和
- 產生包括產生的視訊軌道的媒體檔案。
換句話說,本發明提出實施空間資訊,使得它們可以與一個或複數個樣本相關聯。相關樣本的數量可以適應這種情況,提供更大的靈活性。此外,在編碼格式已經提供與一個或複數個樣本相關聯的空間資訊的情況
下,本發明允許通過重複使用該空間資訊來組成視訊子部分來避免該空間資訊的重複。
根據本發明的另一態樣,提供了一種用於解析包括對應於視訊序列的視訊資料的媒體檔案的方法,所述視訊資料由複數個樣本組成,所述方法包括由用戶端:
- 從所述視訊資料獲得視訊軌道,每個視訊軌道包括視訊序列的樣本,且所述視訊軌道與描述性元資料相關聯,所述描述性元資料包括:
與相關聯的視訊軌道的一個或複數個樣本相關的空間資訊;和
用於組織產生的視訊軌道以在用戶端顯示時獲得完整影像的組成資訊。
根據本發明的另一態樣,提供程式,當由電腦或處理器執行時,使電腦或處理器執行上述方法。
根據本發明的另一態樣,它提供了一種電腦可讀儲存媒體,儲存上述程式。
根據本發明的另一態樣,提供了一種用於從視訊序列產生媒體檔案的裝置,該裝置包括:
- 用於從視訊序列獲得由複數個樣本組成的視訊資料的裝置;
- 用於基於所獲得的視訊資料產生視訊軌道的裝置,每個視訊軌道包括視訊序列的樣本,且所述視訊軌道與描述性元資料相關聯,所述描述性元資料包括:
與相關聯的視訊軌道的一個或複數個樣本相關的空間資訊;和
用於組織產生的視訊軌道以在用戶端顯示時獲得完整影像的組成資訊;和
- 用於產生包括產生的視訊軌道的媒體檔案的裝置。
根據本發明的另一個態樣,提供了一種用於解析包括對應於視訊序列的視訊資料的媒體檔案的裝置,所述視訊資料由複數個樣本組成,所述裝置包括:
- 用於從所述視訊資料獲得視訊軌道的裝置,每個視訊軌道包括視訊序列的樣本,且所述視訊軌道與描述性元資料相關聯,所述描述性元資料包括:
與相關聯的視訊軌道的一個或複數個樣本相關的空間資訊;和
用於組織產生的視訊軌道以在用戶端顯示時獲得完整影像的組成資訊。
根據本發明的方法的至少部分可以是電腦實現的。因此,本發明可以採取完全硬體實施例、完全軟體實施例(包括韌體、駐留軟體、微程式碼等)或組合軟體和硬體態樣的實施例的形式,其可以在本文中通常被稱為一個“電路”,“模組”或“系統”。此外,本發明可以採取體現在任何有形媒體中的電腦程式產品的形式,其具有在媒體中體現的電腦可用程式碼。
由於本發明可以用軟體實現,因此本發明可以體現為用於在任何合適的載體媒體上提供給可編程裝置
的電腦可讀程式碼。有形的、非暫態的載體媒體可以包括諸如軟碟、CD-ROM、硬碟驅動器、磁帶裝置或固態記憶體裝置等的儲存媒體。瞬態載體媒體可以包括諸如電訊號、電子訊號、光訊號、聲訊號、磁訊號或電磁訊號(例如微波或RF訊號)的訊號。
100:媒體編碼器
110:媒體緊縮器
120:媒體伺服器
130:組成單元
150:媒體用戶端
190:媒體片段
111:NALU解析器
112:記憶體
113:ISOBMFF寫入器
121:清單檔案
122:媒體片段
151:HTTP用戶端
152:ISOMBFF解析器
153:媒體解碼器
154:顯示器
155:轉換模組
159:串流清單
200:視訊軌道
201:轉換運算符
202:產生的視覺軌道
210:輸入視訊軌道
211:轉換運算符
212:產生的視覺軌道
220:視訊軌道
221:運算符
222:產生的視覺軌道
230:視訊軌道
231:運算
232:產生的視覺軌道
301:輸入視訊軌道
305:軌道
309:輸入視訊軌道
340:參數軌道
341:軌道參考類型
310:產生的視覺軌道
311:軌道參考類型
312:資料參考框
313:stbl
314:轉換容器框
341:轉換或運算
342:轉換或運算
343:轉換或運算
344:轉換或運算
320:媒體資料框
330:轉換參數
331:轉換參數
400:步驟
401:步驟
402:步驟
404:步驟
405:步驟
406:步驟
407:步驟
408:步驟
409:步驟
410:步驟
411:步驟
412:步驟
413:步驟
414:步驟
415:步驟
500:步驟
501:步驟
502:步驟
503:步驟
504:步驟
505:步驟
506:步驟
507:步驟
510:步驟
511:步驟
520:步驟
521:步驟
522:步驟
600:步驟
601:步驟
602:步驟
603:步驟
604:步驟
605:步驟
606:步驟
607:步驟
608:步驟
609:步驟
610:步驟
611:步驟
612:步驟
613:步驟
614:步驟
615:步驟
700:用戶端裝置
702:通訊匯流排
704:CPU
706:程式ROM
708:RAM
710:硬碟
712:網路介面
714:通訊網路
716:使用者介面
801:軌道A
802:軌道B
803:標號
804:描述符
805:寬視圖視訊
806:提取的部分
850:內容
851:2D投影影像
852:影像
860:ISOBMFF檔案
853:軌道
854:軌道
855:軌道
900:更高解析度視訊
901:視訊軌道
902:視訊軌道
903:視訊軌道
904:視訊軌道
905:‘trak’框
910:樣本表格框
911:樣本組描述框
912:位置/大小
913:樣本描述
914:區域
920:鏈接
950:軌道組
951:軌道組類型框
952:軌道組類型框
953:軌道組類型框
1001:軌道組類型框
1002:軌道組類型框
1003:軌道組類型框
1004:軌道組類型框
1005:軌道組類型框
1140:視訊軌道
1141:隱式組成軌道組
1142:描述性元資料
1150:視訊軌道
1151:顯式組成
1152:組成參數
1200:步驟
1201:步驟
1202:步驟
1203:步驟
1204:步驟
1205:步驟
1206:步驟
1207:步驟
1208:步驟
1209:步驟
1210:步驟
1211:步驟
1212:步驟
1213:步驟
1214:步驟
1300:軌道組
1310:子集
1311:軌道
1312:軌道
1320:子集
1321:軌道
1322:軌道
1350:視訊
現在將僅以舉例的方式並參考以下附圖來描述本發明的實施例,其中:
圖1示出可以使用本發明的典型用戶端伺服器系統;
圖2示出根據本發明實施例的從視覺軌道產生軌道的不同方式;
圖3示出根據本發明實施例的產生的視覺軌道設計;
圖4示出根據本發明實施例的表示用於封裝包含一個或複數個產生的視覺軌道的媒體檔案的方法的流程圖;
圖5示出根據本發明實施例的媒體檔案或媒體片段的解析;
圖6示出本發明的一個實施例中樣本的產生;
圖7表示其中可以實現一個或複數個實施例的步驟的伺服器或用戶端裝置的方塊圖;
圖8和8b示出在本發明的一個實施例中用於與場景的寬視圖相對應的視訊的封裝處理以及場景的該寬視圖的提取;
圖9示出根據本發明形成軌道組的子圖像軌道的封裝;
圖10示出用於空間組成的不同類型的軌道組;
圖11顯示隱式和顯式組合;
圖12說明具有隱式組合的媒體檔案的解析過程;和
圖13示出根據本發明的軌道組和重疊軌道組中的子集。
圖1示出可以使用本發明的典型用戶端伺服器系統。本發明不限於這樣的系統,因為它可能關於可以以任何方式分發媒體檔案的產生,而不僅僅是通過通訊網路進行串流傳輸。
該系統在伺服器側包括:媒體編碼器100,特別是視訊編碼器、媒體緊縮器110(media paekager)和媒體伺服器120。媒體緊縮器110包括NALU解析器111、記憶體112和ISOBMFF(ISOBMFF)寫入器113。媒體伺服器120可以產生清單檔案(MPD)121和媒體片段(media segment)122。該系統在用戶端還包括具有不同模組的媒體用戶端150:ISOMBFF解析器152、媒體解碼器153,特
別是視訊解碼器、顯示器154和HTTP用戶端151支持自適應(adaptive)HTTP串流傳輸,特別是解析串流清單159以控制媒體片段190的串流傳輸。它還包含能夠對編碼位元流及/或解碼影像執行運算的模組:轉換模組155。
通常,媒體用戶端150請求清單檔案121,以獲得媒體伺服器120上可用的不同媒體的表示的描述。因此,媒體用戶端150然後請求感興趣的媒體片段122。這些請求通過HTTP模組151完成的。接收到的媒體片段隨後由ISOBMFF解析器152解析,由視訊解碼器153解碼,通過轉換單元155選擇性地轉換以在顯示器154上播放。
視訊序列通常由視訊編碼器100編碼以由媒體緊縮器110封裝到一個或複數個檔案中。產生的檔案由媒體伺服器120提供給用戶端。
根據本發明的一些實施例,作為媒體緊縮器的一部分或在媒體緊縮器之外的系統中包括另一模組:產生單元130。此單元允許使用者觀看被封裝的媒體軌道並通過應用各種影像運算到樣本上進行編輯和修改。當使用者想要將他的組成結果作為附加軌道插入由ISOBMFF寫入器產生的媒體檔案中時,該產生單元與媒體緊縮器進行互動。
就本發明主要關於由一個或複數個媒體軌道的組成、衍生、組合、轉換或聚合(aggregation)而導致的軌道的媒體封裝和構造/描述而言,媒體伺服器是可選的。對於媒體伺服器而言,發送部分(HTTP模組和清單解
析器)是可選的,因為本發明還適用於包含簡單媒體播放器的媒體用戶端,封裝媒體檔案被提供給該簡單媒體播放器用於呈現。媒體檔案可以通過完全下載、漸進式下載、自適應串流或僅通過讀取磁碟或記憶體中的媒體檔案來提供。
根據本發明的方法,如圖7所示,當通過伺服器裝置的CPU704執行時,由媒體緊縮器模組110執行,且更具體地由ISOBMFF寫入器模組113與包括軟體程式碼(code)的該組成單元130合作。
典型地,所述封裝模組是負責讀取壓縮視訊構成的視訊位元流的高級別語法,以提取和識別不同的NAL單元並且將包含視訊位元流的ISOBMFF檔案或ISOBMFF段122中的編碼的資料組織為一個或複數個具有根據ISOBMFF框架層次結構的描述性元資料的軌道。ISOBMFF檔案或ISOBMFF段122潛在地還包含一個或複數個其他同步媒體軌道,例如,音訊、字幕、文本、元資料...)。根據本發明的一個態樣,ISOBMFF寫入器產生附加軌道到由組成單元130應用於媒體軌道的合成(composition)或轉換或衍生或效果而產生的媒體軌道。為了避免重複資料,即原始資料加上產生的資料,ISOBMFF寫入器113建立一個或複數個特定軌道,稱為產生軌道,不是提供轉換的結果,而是描述轉換規則和參數來構建產生的軌道。一個產生的軌道是根據每個組合或衍生創建的。這具有保持原始和轉換軌道兩者相同的媒體檔案的優
點。參考圖4進一步詳述封裝過程。參考圖5和圖6詳細描述解析過程,媒體檔案或媒體片段的讀取和呈現。
圖2說明了從視覺軌道產生軌道的不同方式。產生的視覺軌道可以來自應用於一個或複數個視訊軌道的一個或複數個運算。
圖2(a)描繪了通過單個轉換運算符201從單個輸入視訊軌道200獲得產生的視覺軌道202。
圖2(b)描繪了通過複數個轉換運算符211從單個輸入視訊軌道210獲得產生的視覺軌道212。
圖2(c)描繪了通過單個運算221從複數個視訊軌道220獲得產生的視覺軌道222。
圖2(d)描繪了通過複數個運算231從複數個視訊軌道230獲得產生的視覺軌道232。
有些情況下,產生的軌道的樣本使用相同的轉換運算符和所有樣本的相同轉換運算符參數進行計算。我們稱這種轉換為靜態轉換。相反,有些情況下每個樣本可以與其他樣本有不同的轉換運算參數。在這種情況下,我們談論動態轉換。儘管產生的視覺軌道的當前設計適用於動態轉換,但它導致靜態轉換(重複轉換運算符和每個產生樣本中的參數)的一些描述管理負擔(overhead)。而且,目前的設計意味著在媒體資料框中描述了轉換。這可能對軌道編輯非常敏感,例如,在媒體檔案中添加或刪除軌道時,產生的樣本的偏移量可能會受到影響。本發明盡可能提出描述元資料框中的轉換,避免與媒體資料混合。
為此,圖3中描繪的設計建議在產生的軌道的元資料中定義轉換規則,並在可能的情況下,至少對於靜態轉換在軌道的元資料中宣告(declare)參數。對於動態轉換,可以將轉換參數儲存在外部軌道中,例如定時元資料軌道或產生的樣本中。外部軌道可以位於封裝的媒體檔案中,但也可以包含在另一個媒體檔案中。根據本發明的設計支持靜態和動態轉換參數宣告。
圖3示出根據本發明實施例的產生的視覺軌道設計。
產生的視覺軌道(Generated Visual Track,GVT)(或衍生視覺軌道(DVT,Derived Visual Track))被描述為視訊軌道。其處理程式被設置為保留的4字元程式碼(four-character code):'vide'。從其中GVT310產生的軌道,通過軌道參考類型引用,其具有值'gtrk'或('dtrk')從所述GVT去和指向每個輸入視訊軌道。例如,GVT310從輸入的視訊軌道301和309產生的,該軌道305在產生過程不被使用。對於任何軌道,GVT310包含資料參考框312,其指示資料是在檔案中還是在遠程檔案中。在圖3的例子中,資料,這意味著樣本,與GVT相關是在媒體資料框'mdat'320中。資料參考框312也可以用於指例如提供儲存在其他媒體檔案中的轉換參數的元資料軌道。GVT310包含一個描述樣本的SampleTableBox'stbl'313。
在其描述性元資料框中,產生的視覺軌道包含有,包含轉換或運算341至344的列表的
TransformPropertyContainer314,以衍生從輸入軌道的產生的視覺軌道。這些轉換或運算的每個被宣告,以一個參數指示是否它是一個靜態轉換或動態轉換。它還包含一個參數,指示它是應用於單個輸入媒體軌道還是應用於輸入媒體軌道列表。TransformProperty的另一個參數指示運算或轉換是應用於輸入樣本解碼之後還是之前。
例如,參考圖2(a),產生的視訊軌道310通過軌道參考類型311僅引用一個視訊軌道。
TransformPropertyContainer314然後包含單個TransformProperty類型。參考圖2(b)中,產生的視覺軌道310通過軌道參考類型311引用單個視訊軌道。
TransformPropertyContainer314然後包含TransformProperty類型的列表。參考圖2(c),產生的視訊軌道310通過軌道參考類型311引用複數個視訊軌道。
TransformPropertyContainer314包含單個TransformProperty類型。參考圖2(d),產生的視訊軌道310通過軌道參考類型311引用複數個視訊軌道。
TransformPropertyContainer314然後包含TransformProperty類型的列表。
TransformProperty框可專用於單個輸入軌道TransformProperty框和多軌TransformProperty框。這在優選實施例中通過指定其“version”參數的不同值來完成。當TransformProperty框的“version”參數取值1時,則表示單個輸入軌道作為轉換運算元提供。當TransformProperty框
的“version”參數取值2時,則表示複數個輸入軌道被視為轉換運算元;即從許多輸入視訊樣本計算產生的樣本。
然後,我們提出了一個產生的視覺軌道設計,引入了一個轉換容器(container)框314,並定義了TransformProperty框如下:
用於產生軌道的轉換宣告:
此框提供要應用於軌道產生的樣本的轉換列表:
具有以下語義:
此框的旗標(flag)參數用於描述轉換的類型。它還提供了這些轉換的複雜性的指示。旗標值(以下面的名稱和值作為示例提供)允許在圖2中所描述的不同配置的檔案中以高階描述。通過這樣做,ISOBMFF解析器或讀取器可以容易地檢查它是否可以處理產生的軌道。
All_static:表示所有包含的TransformProperty
框都對應於靜態轉換。旗標值是0x000001。這意味著產生的軌道不包含產生的樣本,因為它們都可以從TransformProperty指示產生。
All_single_input:表示所有包含的TransformProperty框都關於單個輸入軌道。旗標值是0x000002。當設置all_single旗標值時,TransformPropertyContainer僅包含version=1的TransformProperty框。當未設置all_single旗標值,則不能對包含的TransformProperty框的類型作出結論。它們可以是所有動態TransformProperty框(version=2)或靜態和動態轉換的混合。
num_entries參數指示應用於輸入軌道樣本的連續轉換的數量,以構建產生軌道的產生樣本。
在一個替代實施例中,TransformPropertyContainer的版本參數可以用來指示圖2中的不同配置。例如:
當version=1時,TransformPropertyContainer框只宣告一個TransformProperty框。因此,不需要提供條目(entry)的數量。
組合version=1與all_single_input旗標,表示圖2中的配置(a)正在使用中。當all_single_input旗標未設置時,該訊號指示圖2中的配置(a)或(c)。
當version=2時,TransformPropertyContainer框宣告複數個TransformProperty框。因此,應提供條目數
(number of entries)(用於構建產生軌道的TransformProperty的數量)。當與旗標的值all_single_input結合使用時,這表示圖2中的配置(b)。當all_single_input旗標未設置時,該訊號指示圖2中的配置(a)或(c)。
該框然後重寫為:
在另一個實施例中,包含在旗標值“all_static”中的資訊可以給出作為產生軌道的SampleTableBox中的特定VisualSampleEntry,指示該軌道的樣本實際上是空(empty)樣本。例如,使用保留的程式碼:'gtse'將產生的軌道樣本清空。每個應用於媒體樣本的轉換都由TransformProperty框如下所述(TransformProperty是用於向所有特定類型的轉換宣告公共參數的通用框(可擴展此通用TransformProperty框的其他TransformProperty框可提供轉換參數)。
對於TransformProperty具有在樣本中宣告的動態參數(TransformProperty框中的專用參數“params_in_samples”設置為1)的情況,將在產生的樣本中宣告轉換參數並將其儲存在媒體資料框中:
具有以下語義:
num_inputs指定轉換的輸入樣本數。
input_trackID指示源軌道的track_ID從該輸入樣本來轉換。設置為0時,表示前面的轉換或運算的輸出。
params_in_samples指示轉換參數是否在衍生樣本中宣告。
可選地,附加旗標可以指示params_in_samples=0時,轉換參數是否位於同一媒體檔案中的另一個軌道或遠程媒體檔案中的另一個軌道中。在後一種情況下,例如可以通過產生的視覺軌道的DataEntryBox中的資料URL框來存取(reach)該軌道。
param_track_ID指示宣告轉換參數的軌道的track_ID(例如參數軌道340)。該軌道可以通過產生的視覺軌道透過具有特定值的軌道參考類型來引用,例如:衍生軌道參數的'dtrp'。(這裡的名稱和程式碼只是例子,任何保留的程式碼,不與其他軌道參考類型衝突,很方便)。
在一個替代實施例中,不是直接引用track_ID,而是可以使用track_ref_index_or_zero參數:它可以是類型'gtrk'的TrackReferenceTypeBox的基於1(1-based)的索引(index),或者是指示先前ImageOperation的輸出的值0。當使用這種參考輸入軌道的方法時,version=1的通用TransformProperty甚至可以是空的,因為對於version=1,只有一個輸入軌道,且可以容易地從產生的軌道的軌道參考框中檢索該軌道。TransformProperty框然後重寫如下:
同樣,param_track_ID參數可以是值為“dtrp”的軌道參考類型341的索引,其引用提供轉換參數的軌道。使用以8位元編碼的軌道參考類型將導致比track_ID更短的描述。track_ID的一個優點是當軌道包含在外部或遠程媒體檔案中時。
transfo_ID是可用於引用宣告的TransformProperty的所有轉換中的唯一標識符。
此外,仍然根據本發明的一實施例,TransformProperty的旗標可以採用以下值來給出構建產生的視覺軌道的轉換的更多資訊:
Transform_is_static:表示TransformProperty具有給定軌道或軌道片段的固定參數。旗標值是0x000001。靜態TransformProperty包含應用於輸入樣本的轉換參數的值。這些由特定的TransformProperty框之一(稱為TransformationParameter)指定。當旗標值沒有設置該值時,則TransformProperty框將指示轉換參數定義何處:在產生的樣本中、在媒體檔案中的軌道中或在媒體檔案之外的軌道中。
Transform_post_decoding:指示在對要產生的樣本進行解碼之後應用TransformProperty。旗標值是0x000002。後解碼(post-decoding)的TransformProperty需要在應用轉換之前對輸入樣本進行解碼。未設置此旗標時,TransformProperty適用於壓縮樣本。
Transform_preserve_samples:表示在產生的軌道中獲得的樣本數(在應用TransformProperty之後)將與輸入軌道中的樣本數相同。旗標值是0x000004。如果未設置此旗標,則產生的軌道將包含與輸入軌道中不同數量的樣本。
在使用“version”參數的替代實施例中,定義了幾種類型TransformProperty框,它們從一個抽象的TransformProperty框繼承。例如StaticTransformProperty框
和DynamicTransformProperty框分別定義了用於轉換運算元的一個trackID(當track_ID用於引用輸入軌道時)或者沒有(當輸入軌道通過產生軌道的軌道參考框隱式引用時)和用於轉換運算元的trackID的指定列表(指向'gtrk'類型的TrackReferenceTypeBox的基於1的索引,或值0,用於指示在使用track_reference框時前一個ImageOperation的輸出)。
當產生視覺軌道的轉換是靜態轉換時,產生的視覺軌道可能不包含產生的樣本,或者至少包含空白樣本(empty sample)。對於這樣的情況下,SampleTableBox'stbl' 313然後變成可選的,且產生的視覺軌道具有最少的一組元資料框,從而成為更緊湊。在優選實施例中,產生的視覺軌道僅包含moov和軌道框中的初始化資料且不包含資料,這些轉換在這些框中描述。在這個優選實施例中,軌道標頭包含“flags”參數的特定值以指示該軌道是空軌道(無樣本資料)。這些資訊也可以通過軌道標頭框或子框中的任何專用參數來提供,例如使用TransformProperty框的語義解釋的all_static值。一個替代實施例是定義軌道標頭框的更明確和決定的旗標值,例如:
empty_samples:表示軌道不包含媒體資料框中的樣本資料。旗標值在旗標參數的24位元中未使用的位元上表示(不與現有旗標值衝突)。例如,旗標值可以是0x000016。當此未使用位元設置為1時,表示該軌道在媒
體資料框中不包含樣本資料。此位元的默認值(default value)為0。設置此值時,軌道可能會在其SampleTableBox中宣告特定的VisualSampleEntry,指示樣本實際上是空的。
有些情況下,軌道(無論軌道,不僅是生成的軌道)有一些樣本是空的(不是全部),例如,當產生的軌道不考慮來自輸入媒體軌道的所有樣本或者當期間傳輸一個或複數個樣本丟失或損壞,然後不儲存這些樣本的資料。要在軌道標頭級別發出這樣的配置訊號,定義了以下旗標值(值的名稱僅為示例):
Partial_samples:表示軌道的某些樣本可能為空或已損壞。旗標值在旗標參數的24位元中未使用的位元上表示(不與現有旗標值衝突)。例如,旗標值可以是0x000032。當此未使用位元設置為1時,表示軌道包含媒體資料框中沒有資料的樣本。此位元的默認值為0。在軌道級別發送此資訊對於媒體播放器非常有用:要正確處理具有此旗標值的軌道的媒體檔案,它們必須對某些樣本的缺失資料是強健的(robust)。
這些旗標不限於產生的軌道。當軌道的配置隨時間變化時,這些旗標也可以在軌道片段中重新定義,例如TrackFragmentHeaderBox'tfhd'的tf_flags值。
它告訴媒體播放器TransformationPropertyContainer314和它的TransformProperty框(341-344)列表足以建立產生的樣本。
然後,在圖3,媒體資料框320於產生的樣本不具有資料。
在替代實施例中,具有靜態轉換的產生的視覺軌道310仍然具有'stbl'框313。該'stbl'框可以包含指示樣本是空的VisualSampleEntry,即它們在媒體資料框320中沒有任何資料。在這個實施例中,stbl框還包含解碼器配置記錄。
在另一個替代實施例中,產生的視覺軌道310包含具有用於樣本描述的所有強制性框的stbl框313(這符合那些對遺漏強制性框而言不強健的玩家)。在這種情況下,產生的樣本被宣告為是指一個特定VisualSampleEntry。每個特定VisualSampleEntry,具有自己的4字元程式碼(4-character code)指示產生的樣本實際上是空樣本('dtre'),全樣本(full sample)在其資料中包含轉換參數('dtrf')樣本,為其聲明轉換參數的樣本在媒體檔案('dtri')或遠程軌道('dtro')中的輸入媒體檔案之外的另一軌道中。
當產生的視覺軌道包含具有'dtre'VisualSampleEntry的SampleDescription框時,這意味著衍生樣本沒有資料,即所有參數都是靜態的,且在衍生或產生的視覺軌道的元資料框中宣告。因此,這些樣本的大小設置為0。如果transform_preserve_samples旗標值設置為1,則解碼和組成時間戳(stamp)是來自輸入軌道的。此特定VisualSampleEntry的宣告如下:
其中derived_config_rec參數如下對話框:
其中transfo_list是一個TransformPropertyContainer框,它用它們的類型和參數宣告了靜態TransformProperty框的列表。
引用此VisualSampleEntry的樣本使用此EmptyDerivedTrackConfigRecord中宣告的轉換列表進行構造(construct)。或者,可以直接在視覺樣本入口級別宣告轉換列表(transfo-list),而不用任何中間的EmptyDerivedTrackConfigRecord。當TransformPropertyContainer框在VisualSampleEntry級別宣告時,不再需要在媒體處理程式或軌道標頭級別宣告它。
當產生的視覺軌道包含具有'dtrf'的SampleDescription框,VisualDesign時,這意味著此軌道的樣本在其主體或資料中包含所有轉換參數的宣告以應用於輸入樣本以產生它們。這些樣本資料儲存在軌道的媒體資料框中。SampleTableBox的適當框中適當地設置字節偏
移量(bytes offset)和塊偏移量(chunk offset)樣本。
這個特定的VisualSampleEntry被宣告如下:
其中config_record參數如下對話框:
其中transfo_list是陣列TransformProperty框與它們的類型和無參數,因為它們是動態。這些TransformProperty框中至少有一個是動態的。靜態的嵌入其轉換參數,而動態的在樣本資料中具有轉換參數,然後儲存在媒體資料框中:
引用此VisualSampleEntry的樣本是使用此FullDerivedTrackConfigRecord中宣告的轉換列表構造的,但使用樣本正文中宣告的轉換參數。應該指出,在這種情況下,衍生的樣本可以混合靜態和動態轉換。靜態的可以通過一個唯一的transform_ID來引用也可以是動態的,其通過應用適當的參數。
當產生的視覺軌道包含具有
'dtri'VisualSampleEntry的SampleDescription框時,這意味著要構建的轉換參數衍生或產生此軌道的這些樣本包含在媒體檔案中的軌道中。對於要構建的每個樣本,轉換參數可以在指示軌道的相應樣本中找到(通過track_ID或軌道參考類型341中的軌道索引,指示轉換參數的軌道參考)。
這個特定的VisualSampleEntry被宣告如下:
其中config_record參數如下對話框:
因為是動態的,其中transfo_list是陣列TransformProperty框,具有它們的類型和最終具有一些參數。這些TransformProperty框中至少有一個是動態的,且參數指示在樣本中的參數始終為不成立(false),這意味著應該從媒體檔案中的軌道檢索轉換參數。該軌道的Id可以包含在TransformProperty中。這意味著為了產生或衍生樣本,輸入樣本將使用參數軌道中相應樣本(相同的解碼時間)的轉換參數進行轉換。
當產生的視覺軌道包含具有
'dtro'VisualSampleEntry的SampleDescription框時,這意味著要構建的轉換參數衍生或產生此軌道的這些樣本包含在遠程檔案中的帶外(out-of-band)軌道中。對於要構建的每個樣本,轉換參數可以在指示軌道的相應樣本中找到(通過遠程媒體檔案中的track_ID)。或者,當具有標識符的媒體資料框可用時,可以在樣本資料中使用此標識符來引用遠程軌道中的轉換參數值。
這個特定的VisualSampleEntry被宣告如下:
其中config_record參數如下對話框:
其中transfo_list是TransformProperty框的陣列,具有其類型以及最終具有一些參數。這些TransformProperty框中至少有一個是動態的,且參數指示在樣本中的參數始終為不成立,這意味著應該從媒體檔案外部的軌道檢索轉換參數。該軌道的Id可以包含在TransformProperty中。這意味著為了產生或衍生樣本,輸
入樣本將使用外部參數軌道中相應樣本(相同解碼時間)的轉換參數進行轉換。
最後一種方法有利於均支持靜態和動態轉換,特別是對於動態轉換一些產生的樣本為空的情況,即,當產生的視覺軌道沒有與輸入樣本一對一映射的情況下的動態轉換(產生的視覺軌道可以只有轉換輸入樣本的一個子集)。在這種情況下,產生的視覺軌道310具有SampleTableBox313定義至少兩個不同VisualSampleEntry:一個宣告產生的樣本例如與保留的'gtrk'程式碼,一個用於如以上所解釋宣告空樣本。然後通過參考這些至少兩個不同的VisualSampleEntry中的一個,將每個產生的樣本宣告為包含320中的資料或者為空。這種配置可以通過TransformProperty框的旗標值:Transform_preserve_samples來發訊號。為了跳過產生的視覺樣本中的樣本,定義了一個特定的TransformationParameter“no-op”,它只是在給定的時間放置一個空樣本。
“無運算轉換類型(No-operation transform type)”
“no-op”轉換包括產生空樣本。當樣本中存在no-op轉換屬性時,其他轉換屬性將被忽略。
語法:
最後,對於動態轉換,無論是否與靜態轉換
相結合,我們都有以下替代方法來實現轉換描述的部分互換(mutualisation):
- 所有的轉換規則和參數是靜態的在軌道的一個所述的元資料框及軌道沒有具有產生的樣本(該軌道然後標記為具有空樣本)
- 轉換參數反映在SampleTableBox 313中列出的特定VisualSampleEntry中,每個產生的樣本引用這些VisualSampleEntry中的一個。
- 簡單地在樣本中宣告轉換參數,放入媒體資料框320中。
- 轉換參數在外部軌道中宣告,例如定時元資料軌道。
圖3示出設計的靈活性以及上述所揭示允許將各種描述可能性結合起來,並覆蓋靜態和動態轉換以及它們在同一產生的視覺軌道中的混合。
TransformProperty“flags”參數的Transform_post_decoding值的目標是減少解碼運算的數量。封裝內容時,作者知道應用了哪種轉換以及如何構建樣本:使用此旗標,內容作者可以在壓縮域(compressed domain)中盡可能多地進行轉換,然後儘可能最新地解碼產生的樣本,以便避免在像素域(pixel domain)中進行合成並對中間樣本進行多次解碼和儲存。
根據媒體檔案中宣告的軌道轉換的複雜性,例如通過TransformProperty或TransformPropertyContainer
框的“version”參數,媒體檔案開頭的品牌(brand)或兼容品牌(例如ftyp框)可以快速指示媒體播放器,檔案中產生的軌道的複雜性程度。例如,兩個品牌可以分別定義為單個軌道產生或轉換以及進階(即多軌)產生或轉換的“dtrs”和“dtra”。前者對應於僅包含version=1的TransformProperty框的媒體檔案(或片段),或者對應於任何表示衍生樣本的轉換或運算僅將單個軌道作為輸入的等效參數。後者對應於包含version=2的TransformProperty框的媒體檔案(或片段),或者對應於指示衍生樣本的轉換或運算可以包含複數個輸入軌道(即多軌道轉換)的任何等效參數。品牌的另一種定義可以是圖2的每個配置的一個品牌。例如,品牌'dtr1'表示一個媒體文件,其包含從單個運算(配置2(a))組成的單個輸入軌道計算的簡單衍生軌道。這意味著根據前面的實施例,TransformationPropertyContainer框是version=1框(或者指示它包含單個轉換或運算的任何參數)。遵循相同的原則,可以根據輸入軌道的數量以及應用於輸入軌道的運算或轉換的數量來定義其他品牌。根據其能力,用戶端可以決定只處理媒體軌道(無產生的軌道)、一些產生的軌道(例如:那些簡單的運算),或者可以支持所有產生的軌道。用戶端的過程可以在解析媒體檔案時或在串流場景中過濾軌道以從不選擇如此複雜或不支持的產生的軌道。
一個替代實施例,特別的相關在當不同的轉換適用於不同的樣本但是考慮到給定的樣本模式時,典型
地當產生的軌道的transform_preserve_samples flags的值未設置時,將使用樣本組,並將每組樣本關聯到一個變換或一組變換。樣本圖案(或樣本組)被定義且不同的轉換特性(VisualSampleTransfoEntry)被施加到這些樣本組或樣本圖案。SampleToTransformBox是用transformation_type定義的。SampleToTransformBox和SampleTransfoDescriptionBox通過這個transformation_type關聯。VisualSampleTransfoEntry然後至少包含該運算符的運算符和參數。例如:運算符=旋轉(operator=rotation)和參數(角度)=90°(parameter(angle)=90°)。換句話說,VisualSampleTransfoEntry可以對應於特定的TransformProperty框之一。
圖4示出根據本發明實施例的表示用於封裝包含一個或複數個產生的視覺軌道的媒體檔案的方法的流程圖。
這包括在媒體串流的封裝,由圖1的媒體編碼器100產生,根據ISO基本媒體檔案格式(ISO Base Media File Format),特別是通過一個視訊編碼器。輸入媒體串流在步驟400期間由媒體緊縮器101接收。在步驟401期間,媒體緊縮器110將每個媒體串流緊縮成一個或複數個ISOBMFF軌道或軌道片段。步驟401的結果,製作出媒體檔案、一個分段的媒體檔案或一組媒體片段。然後,使用者或內容創建者自己可以檢查所製作的媒體並創建代表媒體內容的替代或修改視圖的附加軌道。該步驟被概括為組
成步驟402。它包括從封裝的媒體軌道中選擇一個或複數個輸入軌道,並定義應用到所選軌道上的效果、轉換或運算,以製作和產生不同的軌道。
在合成(composition)過程中,使用者在轉換媒體軌道時有很多可能性和選擇,例如:
- 從一個或複數個媒體軌道中選擇輸入樣本
- 選擇一個或複數個運算來應用於輸入樣本
- 對選定的輸入樣本應用相同或不同的轉換參數
- 轉換每個選擇的樣本或選定樣本的子集。
當使用者完成合成時,他可以決定將他合成的結果記錄在與輸入媒體軌道相同的檔案中。
應當注意的是,該組成(composition)單元130和該組成構造步驟402也可以是整合在媒體緊縮器110和預記錄為自動轉換到適用於記錄的媒體串流:例如,視訊軌道的旋轉、視訊的預定義裁剪或調整大小或預先計劃或由緊縮裝置提供的任何運算。
當使用者決定記錄或如果媒體緊縮器被配置為自動創建產生的軌道中,ISOBMFF寫入器113在步驟404,通過在主要'moov'框下插入一個'trak'框,在所述媒體檔案中啟動一個新的軌道。此軌道框將包含表示所述組成產生的軌道的描述。軌道標頭框'tkhd'是使用為該新軌道分配的新track_ID創建的。所述ISOBMFF寫入器比在此軌道標頭框描述創建時間,及產生軌道的尺寸(寬度和高度)。該資訊可以從組成單元獲得及/或由使用者參數化。
然後,在步驟405創建軌道引用框'tref',以將產生的軌道鏈接到其產生的具有等於'gtrk'的軌道參考類型的一個或複數個輸入媒體軌道,以指示軌道“被產生來自”參考軌道。可選地,在相同的步驟405,產生的軌道和輸入媒體軌道還通過具有指定該組的每個軌道是原始媒體軌道的變體的特定歸組類型值的TrackGroupBox'trgr',被關聯到同一軌道組。
然後,在步驟406,該ISOBMFF寫入器描述媒體資料,以及如何處理產生的軌道。這是在軌道媒體'mdia'框完成,且,特別是,在HandlerBox'hdlr'子框。handler_type如果產生的軌道是從視覺軌道產生設置為'vide'或如果產生的軌道是從音訊輸入軌道產生,設置為'soun'。它甚至可以擴展到其他媒體類型,然後應該將處理程式設置為用於產生的輸入軌道的處理程式類型。可選地,在HandlerBox中,該名稱被設置為“產生”,以便檢查該軌道的人員可以清楚地看到該軌道的目的。根據handler_type值,媒體特定處理程式資訊在同一步驟406中設置。當從輸入視訊軌道產生產生的軌道,將特定的VideoMediaHeaderBox'vmhd'添加到軌道描述並進行擴展,以便聲明關於軌道產生的變換列表。為了區別於出現的VideoMediaHeaderBox並保持向後兼容性,用於產生軌道的特定VideoMediaHeaderBox使用version=“1”:
在特定的VideoMediaHeaderBox實際上需要兩個參數:指示它不是通常的VideoMediaHeaderBox(version=1以上的值的實例)和TransformPropertyContainer框(宣告用於產生的軌道的轉換列表中)。
取決於使用者關於組成構造的選擇,根據與圖3相關的描述來設置TransformPropertyContainerBox的旗標和版本值以及TransformPropertyContainer框的列表。這在步驟407完成。在所有靜態轉換的情況下,在步驟408測試,然後在步驟415將產生的軌道的描述在這裡結束,這意味著沒有SampleTableBox被宣告。如果至少一個用於產生軌道的轉換不是靜態的,則創建SampleTableBox以描述如何在步驟409中計算產生的樣本。在步驟410,這包括在動態參數的情況下在樣本描述框中設置適當的VisualSampleEntries,且當轉換參數儲存在產生的樣本中時,計算產生的樣本的資料(給定樣本的轉換參數)並儲存在媒體緊縮器的記憶體。
在測試步驟411,ISOBMFF寫入器通過在轉換的列表或產生的軌道宣告運算以進行迭代。每當下一個運算或轉換是動態轉換時,對應於測試412為不成立(false),則使用當前運算參數來更新產生的樣本。
為了均支持靜態和動態參數,每次遇到靜態
操作時,產生的樣本的有效負荷用標識符更新為步驟413中應用的靜態變換。一旦達到樣本的運算列表,則在步驟414中,在適當的樣本描述相關框中更新樣本描述(數據框中的大小,字節和/或塊偏移,解碼和/或合成時間)。
對於可以由軌道標頭的轉換矩陣處理的單個輸入軌道上的真正簡單的靜態轉換,產生的軌道用empty_samples宣告,並將單個運算定義為IdentityTransformProperty“idtt”。然後在產生的軌道的軌道標頭框的轉換矩陣中宣告轉換參數。
建議按照運算順序宣告轉換,首先從預解碼(pre-decoding)轉換開始,以便解碼運算的數量和中間樣本的儲存盡可能保持有限。
產生的檔案或片段可以進一步放置在串流伺服器上用於分發,例如通過HTTP上的自適應串流傳輸。
當為HTTP上的自適應串流傳輸準備內容時,部分或全部產生的視覺軌道可能會暴露在串流清單中。例如,當映射到MPEG DASH串流協定的清單(媒體呈現描述)時,產生的視覺軌道作為表示使用屬性dependencyId顯示,引用所有輸入軌道以指示解碼和重建產生的軌道所需的表示。可選地,產生的視覺軌道的表示與其輸入視訊軌道的表示之間的關係可以用'gtrk'參考類型來限定。這可以通過使用dependencyType屬性或在這些表示之間宣告associationId和associationType來完成。這允許媒體串流傳輸用戶端選擇與產生的視覺軌道相對應的
表示以用於渲染,以通知輸入軌道的分段也應該串流傳輸。
圖5圖示根據本發明實施例的媒體檔案或媒體片段的解析。
當檔案完全可用於媒體用戶端150或者當其被串流傳輸到媒體用戶端150時,該描述適用。在步驟500中,媒體檔案的處理從接收媒體檔案的初始化資料開始。在步驟501中,根據該初始化資料,ISOBMFF解析器152解析該moov框並確定檔案中包含的軌道的數量及其類型(視訊,音訊,元資料,文本等)。
然後,在步驟502中,如果至少一個軌道參考包含至少一個'gtrk'軌道參考類型到另一個軌道,則它解析所有這些軌道之間的關係,則該檔案不僅包含媒體資料軌道而且還包含產生的軌道。解析器然後需要確定是否將這些產生的軌道公開給使用者。應該注意的是,某些產生的軌道可能被指示為不打算顯示(例如:當軌道標頭的旗標值沒有設置的Track_in_movie值時),例如當用作複雜產生中的中間步驟時。在這種情況下,這些內容不會暴露給用戶端進行選擇和播放。為了確定向使用者公開哪些軌道,解析器查看為產生的軌道宣告的TransformProperty框的列表。在步驟504中,僅通過解析轉換的類型,解析器可以在步驟505中確定它是否能夠重建產生的軌道。
只要一種轉換類型在媒體用戶端不支持或有效,就不會處理產生的軌道。可以通過圖形使用者介面向
使用者顯示警告,或者使用媒體解析器將警告發送給應用程式,例如串流應用程式,然後決定選擇或切換到支持的軌道。要注意的是,如果軌道分段,可以在moof框中更新初始化資料,然後再次執行這些第一步。要注意的是,當媒體檔案在諸如例如DASH MPD的串流清單中被描述時,也可以通過ISOBMFF特定品牌或串流設定檔(profile)或通知存在轉換的任何描述符來獲得支持與否的產生軌道。
在步驟507中,當在媒體播放器或媒體用戶端支持在產生的軌道中聲明轉換時,則解析器152檢查所有變換是否是靜態的。這個資訊可以通過解析產生的軌道的軌道標頭框中的旗標值,或者通過查看TransformPropertyContainer框的版本或旗標值,或者通過遍歷產生的軌道的宣告的TransformProperty框列表,並檢查它們的旗標以及版本值而獲得。
在步驟510中,對於靜態轉換,解析器在用戶端記憶體中儲存運算符和轉換參數。在步驟511中,當所有轉換都是靜態的且產生的軌道被標記為empty_samples,則解析器可以開始建立在產生的樣本,通過一個接一個地將變換運算符使用它們的參數應用於輸入樣本。通過解析產生的軌道的TransformProperty框,確定輸入樣本。
當至少一些轉換是動態的時,意味著測試步驟507是不成立(false),則解析器檢查轉換參數是在產生的樣本中,在媒體檔案中包含的另一個軌道中還是在外部
軌道中。然後它在步驟521開始逐個構建樣本,直到在步驟522中測試最後一個輸入樣本進行處理。
圖6示出本發明的一個實施例中的樣本的產生。
該方法假定輸入軌道已被識別,且已經讀取了一組轉換運算符。該過程應循環產生連續樣本,並專注於給定樣本的過程。
在步驟600中,輸入樣本在過程開始時被讀取和儲存。值得注意的是,使用複數形式時,可能只有一個輸入軌道,因此只有一個輸入樣本。
在步驟601中,讀取第一轉換運算符。
在步驟602中,測試當前轉換運算符是靜態的還是動態的。
在轉換運算符是動態的情況下,運算符的參數必須在步驟603中獲得。它們可以從產生的軌道或參考參數軌道(本地或遠程)中的關聯樣本中獲得。在轉換運算符是靜態的情況下,則轉換運算符的參數對於所有樣本都是相同的,並假定在處理的這個階段已知。
在步驟604中,測試是否應該將轉換運算符應用於編碼樣本或解碼樣本。這裡假設轉換運算符列表可能只包含“預解碼”運算符,只包含“後解碼”運算符或兩者。當兩者都包含在列表中時,有利的是,該列表首先僅包含“預解碼”轉換運算符,然後僅包含“後解碼”轉換運算符。因此,輸入樣本只能解碼一次。
在當前轉換運算符是“預解碼”運算符的情況下,在步驟605中,讀取輸入編碼樣本。對於要應用的第二種和另外的“預解碼”轉換運算符,輸入編碼樣本實際上是儲存的產生的編碼樣本,由前一個轉換運算符的應用產生的。然後在步驟606中,將當前轉換運算符應用於輸入編碼樣本,以獲得在步驟607中儲存的產生的編碼樣本。
在當前轉換運算符是“後解碼”運算符的情況下,在步驟608中讀取輸入樣本。對於要應用的第二個和另外的“預解碼”轉換運算符,輸入解碼樣本實際上是儲存的產生的解碼樣本,由先前的轉換運算符的應用產生的。
然後,僅對於第一“後解碼”轉換運算符,輸入樣本被編碼且必須在步驟609中被解碼。這是因為根據定義,“後解碼”轉換運算符必須應用於解碼樣本。在隨後的循環中,解碼步驟609不被執行。
然後在步驟610中,將當前轉換運算符應用於輸入解碼樣本,以獲得在步驟611中儲存的產生的解碼樣本。
在步驟612中,測試是否已經到達轉換運算符列表的末尾。如果不是,則該過程在步驟601中循環回到下一個運算符。
當所有轉換運算符已經被應用時,在步驟613中測試是否僅存在“預解碼”運算符。在那種情況下,在步驟615中準備輸出之前,當前產生的樣本被編碼且需要在步驟614中被解碼。
當輸入媒體軌道到轉換運算符具有對其他軌道的依賴關係時,例如通過提取器(extractor)(顯式重建)或隱式重建其樣本,則提供給轉換的輸入樣本包含重建後的重建樣本。這適用於後解碼運算或轉換。對於預解碼運算,輸入樣本由包括樣本本身的樣本資料和重建規則解析產生的資料串聯而成。例如,在具有增強層(enhancement layer)樣本對基礎層(base layer)樣本的依賴性的可縮放視訊的情況下,當變換是預解碼變換時,輸入樣本將包括增強加基礎樣本資料的串聯。同樣,用於後解碼轉換的輸入樣本將是由基礎加增強樣本組成的重建/解碼輸入樣本。
圖7表示伺服器或用戶端裝置700的方塊圖,可實現其中一個或複數個實施例的步驟。
優選地,裝置700包括通訊匯流排702,一中央處理單元(central processing unit,CPU)704能夠在啟動設備時執行來自程式ROM 706的指令,以及在啟動之後與來自主記憶體708的軟體應用有關的指令。主記憶體708是例如隨機存取記憶體(Random Access Memory,RAM)類型,其功能是經由通訊匯流排702作為CPU704的工作區域,且記憶體容量它們可以通過連接到擴展端口(未示出)的可選RAM來擴展。與所述軟體應用程式指令可以例如從硬碟(HD)710或程式ROM706被加載到主記憶體708。這種軟體應用程式在由CPU704執行時使得參考圖4至6描述的封裝步驟在伺服器中執行。
標號712是網路介面,它允許該裝置700連接
到通訊網路714。當由CPU704執行時,軟體應用適用於對通過網絡介面接收到的請求作出反應且經由網路向其他裝置提供資料串流和請求。
標號716表示的使用者介面,以顯示資訊至使用者,及/或接收來自使用者的輸入。
這裡應當指出的是,作為一個變體(variant),所述裝置700用於管理多媒體位元流的接收或發送,可以由一個或複數個專用的積體電路(ASIC)組成,如參考到圖4到6能夠實現該方法的。這些積體電路例如而非限制性地整合到用於產生或顯示視訊序列及/或用於收聽音訊序列的裝置中。
圖8示出本發明的一個實施例中用於對應於場景的廣視角的視訊的封裝過程以及該場景的該廣視角的提取(extraction)。
場景的廣視角通常是球形的360°媒體內容。
場景的寬視圖將被編碼並封裝在至少一個軌道801中。表示從該廣視角提取的視訊被編碼並且封裝在特定軌道802中,該特定軌道802包含參考803至廣視角軌道及廣視角視訊中提取部分的描述符804。
該描述符可以用作允許發信號捕獲投影的空間部分的轉換操作符之一。
描述符804通常給出位置參數以識別寬視圖視訊805中的提取的部分806。通常,這些參數與平擺(yaw)、俯仰(pitch)和滾轉(roll)參數相關。
例如,描述符804可以採用以下語法作為特定的VisualSampleGroupEntry:
具有以下語義:
yaw_center以0.01度為增量,指定投影影像中與中心對應的平擺值。yaw_center的值應該在-18000和17999之間。當不存在時,應該推斷yaw_center的值等於0。
pitch_center以0.01度為增量,指定與投影影像中心相對應的俯仰值。pitch_center的值應該在-9000到9000的範圍內。當不存在時,pitch_center的值應該被推斷為等於0。
roll_center以0.01度為增量,指定與投影影像中心相對應的滾轉值。roll_center的值應該在-18000和18000的範圍內。當不存在時,roll_center的值應該被推斷為等於0。
yaw_range以0.01度為增量,指定投影影像中存在的平擺值的範圍。yaw_range的值應在1到36000的範圍內。當不存在時,應該推斷yaw_range的值等於36000。
pitch_range以0.01度為增量,指定投影影像中出現的俯仰值的範圍。pitch_range的值應該在1到18000的範圍內。當不存在時,俯仰範圍的值應該被推斷為等於18000。
當一個軌道是另一個軌道的視口(viewport)時,它包含一個'tref'框,具有一個'tile'參考類型表示整個球體的完整軌道。
在優選實施例中,描述符804包含更多描述性參數:
具有以下語義(與HEVC中的全向投影指示SEI訊息中的那些對齊):
region_id是與相同視覺源相關的所有球形區域樣本組描述的唯一標識符。具有相同region_id的所有球形區域樣本組描述共享相同的參考球形空間。
當設置時,full_picture指示該球形區域樣本組描述實際上代表完全球形圖像,表示至少通過具有相同region_id的類型'srif'的所有樣本組描述的聯合所形成的相同視覺內容。
當設置時,dynamic_viewport指示經由由track_ID標識的元資料軌道來提供球形區域的坐標。否則,矩形區域的坐標由yaw_center、pitch_center、roll_center、yaw_range和pitch_range提供。
track_ID指示包含定時球面坐標的元資料軌道,所述定時球面坐標描述由球形區域樣本組描述表示的球形區域的每個樣本的坐標。
yaw_center以0.01度為增量,指定與投影影像中心對應的平擺值。yaw_center的值應在-18000和17999的範圍內。
pitch_center以0.01度為增量,指定與投影影像中心相對應的俯仰值。pitch_center的值應在-9000和9000的範圍內。
roll_center以0.01度為增量,指定與投影影像中心相對應的滾轉值。roll_center的值應在-18000和18000的範圍內。
yaw_range以0.01度為增量,指定投影影像中存在的平擺值的範圍。yaw_range的值應在1到36000的範圍內。
pitch_range以0.01度為增量,指定投影影像
中存在的俯仰值的範圍。pitch_range的值應在1到18000的範圍內。
需要注意的是,球面坐標定時元資料軌道的格式被重新定義為特定的MetadataSampleEntry,如下所示:
球面坐標樣本條目(Spherical coordinates Sample Entry)
球面坐標樣本條目提供與在球面坐標系統中表示的參考軌道相關的空間資訊。
語法
該球面坐標樣本條目應當如下:
語義
projection_type指示矩形解碼器影像輸出樣本到坐標系統上的特定映射。
球面坐標樣本格式
語法
該球面坐標的樣本應符合以下語法:
針對ROI元資料軌道的同步樣本是內插(interpolate)值為0的樣本。
語義
yaw_center以0.01度為增量,指定投影影像中心對應的平擺值。yaw_center的值應在-18000和17999的範圍內。
pitch_center以0.01度為增量,指定與投影影像中心相對應的俯仰值。pitch_center的值應在-9000和9000的範圍內。
roll_center以0.01度為增量,指定與投影影像中心相對應的滾轉值。roll_center的值應在-18000和18000的範圍內。
yaw_range以0.01度為增量,指定投影影像中存在的平擺值的範圍。yaw_range的值應在1到36000的範圍內。
pitch_range以0.01度為增量,指定投影影像中存在的俯仰值的範圍。pitch_range的值應在1到18000的範圍內。
插值指示連續樣本的時間連續性。如果為成
立(true),則應用程式可以線性插值前一個樣本和當前樣本之間的ROI坐標值。如果為不成立,則前一個樣本與當前樣本之間不應有任何值的插值。
同樣,對於2D影像,定義了矩形區域的描述符作為RectRegionSampleGroupEntry('rrif')。(名稱和程式碼在這裡只是舉例,也可以是'tile'或'part',任何保留4字元的程式碼)。該描述符由特定的保留程式碼標識,例如'rrif'。矩形區域樣本組描述用於描述視訊或影像媒體軌道之間的空間關係。它允許識別軌道的解碼樣本在空間上對應於另一軌道中的給定矩形區域。
具有以下語義:
region_id是與同一視覺源相關的所有矩形區域樣本組描述的唯一標識符。具有相同region_id的所有矩形區域樣本組描述結合所共享相同的參考矩形空間。
full_picture在設置時指示該矩形區域實際上
是表示至少通過具有相同region_id的類型'rrif'的所有樣本組描述結合所形成的相同視覺內容的完整圖像,在這種情況下,region_width和region_height應該被設置到參考區域的寬度和高度。
dynamic_roi在設置時指示矩形區域的坐標是通過由track_ID標識的元資料軌道提供的。應使用ISO/IEC23001-10第6節規定的2D笛卡爾坐標定時元資料軌道(2D Cartesian coordinates timed metadata track)的格式,在這種情況下region_width和region_height應設置為2D笛卡爾坐標樣本條目中提供的reference_width和reference_height。否則,矩形區域的坐標由horizontal_offset,vertical_offset,region_width和region_height提供。
track_ID指示包含定時2D笛卡爾坐標的元資料軌道,其描述由矩形區域樣本組描述表示的矩形區域的每個樣本的坐標。
horizontal_offset和vertical_offset分別給出由矩形區域樣本組描述表示的矩形區域的左上角坐標相對於參考區域的左上角坐標的水平和垂直偏移。參考區域是由類型'rrif'的所有樣本組描述與同一region_id組合形成的區域。
當設置full_picture或dynamic_roi時,region_width和region_height給出分別由矩形區域樣本組描述以整數坐標表示的矩形區域的寬度和高度,或分別參考矩形空間的寬度和高度。
需要注意的是,用於描述區域大小的單位是任意單位,並且可以對應於視訊像素解析度,但不一定。
在一個替代實施例中,'srif'和'rrif'描述符還包含唯一標識符作為附加參數。這個標識符允許應用程式通過標識符的值來引用描述符。標識符可以是下面定義的group_ID。
除了簡單的裁剪或旋轉運算之外,這些新描述符和ISO/IEC14496_15中現有的圖塊描述符'trif'可以用於新的特定TransformProperty。這對於ROI或視口選擇或抽取很有用。例如,提出了特定的TransformProperty來使用trif描述符從封裝的HEVC軌道執行靜態ROI提取:
靜態ROI選擇(Static ROI selection)
靜態ROI選擇為定義ROI提取的轉換屬性。
此轉換被宣告為應用於單個輸入軌道的靜態TransformProperty。參數tileRegion_ID指示解析器提取與具有該tileRegion_ID的圖塊區域描述符相關聯的NAL單元或樣本。這同樣適用於球形內容中的靜態視口。根據預解碼或後解碼旗標值,該運算包括從輸入軌道提取子位元流或提取子位元流至解碼和裁剪運算中。這取決於用trif描述的封裝圖塊區域的獨立性。獨立時,可以將
TransformProperty設置為預解碼轉換,否則進行後解碼。
可以給出其他參數,例如x、y、w、h而不是tileRegion_ID值。然而,這對於必須將參數與不同trif樣本組中的參數進行匹配的解析器不太方便。
對於多軌TransformProperty,參數可以包含在tileRegionId列表中。例如:
為了概括這些類型的轉換,可以如下定義Selection運算符:
其中grouping_type指示從一個或複數個輸入軌道選擇NAL單元或樣本的標準。這可以是rrif、srif、trif、rap(用於在軌道中的隨機存取樣本上進行選擇)...且group_ID提供從中提取的確切groupID。內容創建者在組成單元130內的合成步驟期間,適當地設置靜態/動態資訊
和單/多軌以及預解碼/後解碼參數。
換言之,提出了一種用於提供封裝媒體資料的方法,該封裝媒體資料包括由第一裝置進行採樣,所述媒體資料包括第一媒體資料表示場景的廣視角的捕捉投影,和第二媒體資料對應於所述捕獲投影的空間一部分,所述方法包括:
編碼第一和第二媒體資料;
將編碼的第一媒體資料封裝在一個第一軌道中;
將編碼的第二媒體資料封裝在一個第二軌道中,所述第二軌道包括第二標頭;
在所述第二標頭中提供一個參數,用於參考第一軌道。
該參數可以與發送空間部分訊號的類型相關聯,例如圖塊。
該參數可以包含在一個框中,其類型是'tile'參考類型。
參數可以是描述符,例如像SphericalRegionGroupEntry或RectRegionGroupEntry的VisualSampleGroupEntry描述符。
對應於部分和全圖像軌道的軌道都被設置並限定在軌道組框'TrackGroupTypeBox'例如,(相關於“軌道組”)與新的軌道歸組(grouping)類型。一個用於發送完整圖像訊號的旗標可以是與特定track_group_type相關聯的旗標:
其中full_track指示屬於該軌道組的軌道是否對應於全視訊軌道且‘part’是軌道歸組類型(這裡名稱只是示例如,可以為此目的使用任何4字元的程式碼進行保留)。
'part'(或任何其它保留4字元的程式碼)表示一個軌道具有在它的‘trak’框此軌道組框屬於具有若干軌道(多軌道組成)製備的組成。track_group_type'part'的TrackGroupTypeBox中具有相同track_group_id值的軌道被映射為空間部分或來自相同源的子圖像。例如,視訊的超高解析度記錄可具有幾個高解析度的視訊軌道,每個用於超高解析度視訊的不同空間部分進行編碼。然後,具有track_grouping_type='part'的視訊軌道將具有與track_group_id相同的值。
更一般地說,用於軌道組描述的新的元資料或新的軌道歸組類型可以用於描述旨在被組合、渲染或一起顯示的一組軌道。根據本發明的一個實施例,提出了根據內容創建者將視訊軌道緊縮成媒體檔案來允許媒體播放器進行以下運算來提供不同種類的軌道組信令:
- 在其原始位置和大小呈現與該組相關的軌道(如圖11-1161所示):隱式組成(1141)。這是隱含的,因
為組成參數(主要是位置和大小)是已經儲存在軌道的描述性元資料1142中的值(例如在軌道標頭、樣本條目、樣本組描述...中)。軌道組描述的目標是描述不同軌道在原始上下文中的關係。這種軌道組的例子參考圖10-1001來描述。
在任何位置呈現軌道,可能改變它們的位置及/或尺寸(如圖11-1162):顯式組成(1151)。軌道組描述的目標然後描述軌道組的目的(通過track_grouping_type)以及組成參數1152。參考圖10-1002描述了這種軌道組的例子。這可以被看作是衍生軌道的替代品。與衍生軌道的不同之處在於產生的視覺軌道不是物理地存在於封裝檔案中,而是僅在於如何構建指令(1152)。
由於圖8描述了廣視角區域的封裝,所以圖8b詳細描述了在360°全景視訊的情況下代表幾何投影(2D投影影像)的一部分的視訊軌道的產生和封裝。(來自球體的360°內容850,沒有極點(pole))。通常,這些內容是通過一系列攝像機記錄的,為記錄的場景提供360°視場。然後將每個記錄的視圖拼接(stitch)到單個影像中:2D投影影像851,有時稱為全景圖。投影通常是等矩形投影,但也可以投影到立方體或其他柏拉圖立體的面上,每個面都映射到2D圖像。例如,所選球體區域850被分成三個區域,部分或空間部分,每個區域由相機記錄。此運算可能導致視訊解析度非常高,通常大於8K的寬視訊。每個全景影像可以像852中那樣被重新安排(或“緊縮”(packed))成2D全景
中的區域。例如,區域對應於或包含球體850的投影球形視口,或者當用作投影類型時,區域對應於立方體的一個面。這些區域可能會或可能不會匹配攝像機視圖。這些緊縮或重新安排的影像852中的每一個可以被編碼/壓縮成一個或複數個視訊位元流(未示出)並封裝在ISOBMFF檔案860中。編碼可以在HEVC或AVC或任何等效的壓縮方案中執行。封裝的檔案包含一個或複數個軌道如853、854、855。例如圖8b中,重點放在區域'2'相比區域'1'和'3'。對於具有高細節的地區或者內容作者推薦的觀點或任何其他標準,情況可能如此。每個軌道853-855可以包含描述性元資料,所述描述性元資料提供2D投影畫面中相關區域的位置和尺寸及/或與廣視角或360°場景850相關聯的3D參考中的位置。這些位置和尺寸資訊可以分別在具有特定描述符的樣本描述組中描述:VisualSampleGroupEntry:RectRegionGroupEntry('rrif')和SphericalRegionGroupEntry('srif')在下面解釋。當從全景851產生緊縮訊框852時,軌道853-855的樣本描述表包含2D投影圖像中的區域與緊縮圖像中的其對應區域之間的映射。當在導致全景結構851的拼接之後沒有完成緊縮時,軌跡853-855在特定的描述符VisualSampleGroupEntry中包含它們在2D投影圖像851中的位置和尺寸。它是mp4作者設置這些資訊的角色,同時產生ISOBMFF檔案860。分割成區域和最終緊縮由使用者控制媒體記錄提供,或者在控制攝像機裝備的應用程序中預先編程,或甚至在設置攝像機裝備時定義。這些資訊可以
在封裝媒體軌道時使用,甚至可以作為描述性元數據儲存在使用者資料框中。
圖9提供了一組要被組合、渲染或一起顯示的軌道(901-904)的例子。該組輸入軌道可以包含零個、一個或複數個使用這些輸入軌道的衍生軌道。該組輸入軌道也可以是不同於視訊的媒體類型的軌道,並且可以混合不同媒體類型的軌道。對於描述輸入軌道的空間組成的軌道組的特定情況,輸入軌道也可以被稱為子圖像軌道。這是當每個子圖像軌道覆蓋(更大)圖像的空間部分或空間區域時。這裡術語圖像應被解釋為視訊序列中的每張圖像;即子圖像軌道包含每個代表完整視訊的子部分或空間區域或子圖像的樣本。在圖9的示例中,軌道歸組描述四個輸入軌道901-904(在該示例中的視訊軌道)可以同時合成、呈現或顯示為更高解析度視訊900。這可以用於虛擬實境或超高解析度的視訊的全景(廣/360°視角如850投影到2D圖像上諸如851或852上)。
在一個實施例中,視訊軌道901-904中的每一個,例如使用諸如H.264/AVC或H.265/HEVC的視訊壓縮方案或任何其他視訊壓縮方法,在獨立位元流中編碼。每個軌道901-904被進一步封裝,例如在ISOBMFF軌道中,即包含媒體樣本的描述性元資料,例如在'trak'框如905中。
樣本的描述通常發生在樣本表格框如910中,其自身可以包含一個或複數個樣本組和樣本組描述框
(總結為911)。
例如,每個輸入軌跡在其樣本組描述框(通常是'sgpd'和'sbgp')中傳送其位置和尺寸(二維)912。位置和大小可以在VisualSampleGroupEntry 912中宣告,如RectRegionGroupEntry('rrif')或TileRegionGroupEntry(HEVC格式的'trif')或樣本表格中的任何專用描述符。它們也可以在視覺樣本條目中聲明,作為樣本描述913的一部分。這例如是由將360°視訊場景投影到2D全景上產生的“緊縮訊框(packed frame)”的情況,在編碼之前(例如,如在MPEG全向媒體應用格式(Omnidirectional Media Application Format)的RegionWisePackingStruct中)進一步分割、重新組織或緊縮在另一2D圖片上的區域914中。當軌道的所有樣本共享相同的位置和大小時,位置和大小將在VisualSampleGroupEntry中宣告,其被發信號作為'sgpd'框中的默認樣本描述索引。它允許更簡潔的描述,從而避免了樣本組的宣告。當位置和大小在'rrif'類型的VisualSampleGroupEntry中或者在如下簡化版本中宣告時(具有與上述相同的語義);
相應的軌道組類型框952設置如下:
其中
composition_width以亮度樣本單位指定合成圖像的寬度。
composition_height以亮度樣本單位指定合成圖像的高度。
track_group_id從TrackGroupTypeBox 951繼承,以提供用於軌道組的唯一標識符。
track_group_type值(在本例中'spco')指示它是一個空間上相關的軌道組。
上述實施例不同於'rrif'的初始實施例,因為現在在軌道組類型框(track_group_id)中描述了組成標識符('rrif'中的前一region_id),而不是樣本或樣本組描述框。這允許一個軌道成為零、一個或複數個組成的一部分。應該注意的是,“全部圖像”(在上面的'part'軌道組示例中也稱為“full_track”)的指示也可以放置在軌道分組類型框中。RectRegionGroupEntry然後變得更加簡單:
軌道組950和軌道組類型框951-953指示輸入軌道組901-904具有特定的關係。這裡,特定的分組類型
'spco'(對於“軌道組成組”952)指示這四個輸入軌道可以隱式地一起組成在用於同時顯示和呈現,如在900中。對應的軌道組類型框952仍然可以如上所述進行寫入。可選地,當內容創建者將完整視訊封裝在同一媒體文件中作為子圖像軌道的替代軌道時,軌道組類型框952可以包含旗標,其指示當前軌道是“全視訊”軌道還是“全畫面”軌道或全軌道,在這種情況下,只有完整的視訊軌道發出子圖像軌道組成的寬度和高度的訊號。
在用於空間合成的軌道組類型的替代實施例中,系統地呈現“full_picture”旗標。這在訊號態樣沒有額外的成本(仍然是1位元組)且允許解析器推斷出視訊軌道是子圖像軌道(“full_picture”旗標被設置為0)或者全圖像軌道(“full_picture”旗標設置為1)。它可能會推斷出該軌道並不打算單獨顯示(與“full_picture”軌道相反):
對於媒體播放器來說,可以輕鬆確定軌道組中的軌道是否打算顯示或不顯示,軌道組類型框可以包含一個參數,例如名為:“output_track”,當設置為1時表示可以選擇此軌道演示給使用者,當設置為0時,該軌道僅用於與軌道組中的其他軌道組合,且不打算單獨呈現或顯示。表示該軌道屬性的另一種可能性是在軌道標頭框來定義一個特定的旗標,例如“Track_non_displayable”:=0x000010表示軌道被啟用,在演示文稿中使用,但不允許用作預覽,且不足以單獨呈現。
在替代實施例中,軌道組('TrackGroupBox')包含輸入軌道組,其中一個對應於感興趣區域,例如360°內容中的特定視點或2D視訊中的特定物件。對於這樣的情況,軌道組類型框('TrackGroupTypeBox')可以包含附加旗標代替或與來自先前實施例的'spco'的full_picture旗標組合:
同樣,該ROI指示特徵在信令態樣(使用其中一個保留位元)沒有額外的成本,且允許解析器推斷視訊
軌道是對應於ROI的子圖像軌道(“roi_picture”旗標被設置為1)。它可以推斷出這個子圖像軌道可以通過一個圖形使用者介面將這個軌道暴露給使用者來自己渲染。當用於串流傳輸或在網路上傳輸時,該軌道可以被標記或用訊號通知對其他子圖像軌道具有一些優先權。
在另一個替代實施例中,在SubPictureCompositionBox中使用另一個標誌,以混合具有靜態位置和尺寸的軌道組軌道或子圖像軌道以及具有動態位置和尺寸的軌道或子圖像軌道,如下所示:
注意,稱為dynamic_coordinates的這個附加旗標可以與用於空間組成軌道組的各個實施例中的其他旗標組合。當軌道組中的軌道或子圖像軌道具有靜態位置和大小時,該旗標被設置為0或不成立(false)的值。相反,當一個軌道或子圖像軌道在另一個軌道(通常是定時元資
料軌道)中具有動態位置和大小時,該旗標被設置為1或成立(true),且該另一個軌道的軌道標識符在track_ID參數中指示。
圖10示出不同類型的軌道組類型框('TrackGroupTypeBox')是關於包含在軌道組中軌道或多或少描述性和規定的(prescriptive)。軌道組類型框950在圖10中是作為在ISO/IEC 14496-12(ISOBMFF)標準化的軌道組類型框。本發明定義了不同種類的軌道組類型框('TrackGroupTypeBox')來處理子圖像軌道。
第一種類型的軌道組類型框('TrackCompositionGroupBox')是在1001上描繪的那個。它從框951繼承track_group_id且宣告特定的track_grouping_type:“implicit compo_type”。請注意,為符合ISOBMFF規則,應保留4字元程式碼來表示此“implicit compo_type”,例如:“spci”表示“spatial composition implicit”。這意味著該軌道組1001依賴於在每個子圖像軌道中已經可用的資訊(在905的軌道標頭部分中,在樣本條目913中或在樣本組描述911...中),以將這些子圖像軌道按原樣呈現或顯示它在空間上排列在源編碼和封裝到這組軌道中。該框1001還包含所得到的子圖像軌道組成的大小。可選地,它也可以包含'spco'軌道組類型框中備選項中描述的一個或全部旗標。如圖9所示,這種軌道分組類型框不包含每個子圖像軌道的位置和大小。相反,它隱含地引用(鏈接920)描述軌道的描述性元數據或
已經存在於每個軌道中的樣本。它可以避免重複的描述性元數據。此外,它允許子圖像軌道的位置和大小以及空間配置隨時間變化。由於使用了樣本歸組機制,它可以在軌道片段粒度上有所不同。當在軌道組類型框952本身中宣告每個子圖像軌道的位置和大小時情況並非如此。根據圖12描述了952和920的處理。
另一種類型的軌道組類型框1002為“explicit compo type”定義另一種track_grouping_type。如上所述,應為該軌道歸組類型保留4字元程式碼,例如“spce”表示“spatial composition explicit”。該框1002除了合成寬度和高度(最終與為'spco'提及的一個或所有旗標結合)之外還宣告了子圖像軌道的新空間配置。這可以被看作是衍生軌道的變體。特別地,新框1002為子圖像軌道宣告2D轉換(translation)參數以改變其在所得演示中的位置。該宣告是可選的,可以設置為(0,0)。同樣,可以宣告可選的旋轉和縮放因子,以改變所得到的合成或演示中的子圖像軌道的配置及/或大小。應該注意的是,可以為此目的宣告軌道或影片(movie)標頭中定義的合成矩陣。遇到這種軌道歸組類型框的播放器具有根據媒體作者規範(media author specification)呈現每個子圖像軌道的定位、轉換資訊。
顯式合成1002的替代實施例被描繪為1004和1005。另一種track_grouping_type框1004指示基於網格(grid)的合成('grid_compo_type')。對於其他人,應該為此
目的保留並宣告特定的4字元,例如:“spatial composition grid”的“spcg”。包含在這種新類型框1004中的參數是一個網格運算符,如1005所示。它宣告一個網格,其中可以放置軌道組的每個子圖像軌道來呈現一種馬賽克(mosaic)視訊。該馬賽克視訊中的子圖像軌道的位置由最後一個grid_idc參數給出。至於其他的變體,一個或所有可用於'spco'旗標可以也包含在框1005。在播放器側處理這樣的軌道組框如下:將每個子圖像軌道的輸入圖像以行(row)為主要順序、頂列(top-row)先、由左至右,插入到網格的基於1的索引中。如果子圖像軌道的大小與網格單元格的大小不匹配,則會隱式執行縮放以適應單元格的大小。可以設置一個可選標誌來指示是否應該保留像素縱橫比(aspect ratio)。另一個可選標誌可以指示是否預計拼接。
重建影像通過將來自子圖像軌道的解碼輸入影像合成為網格而形成。網格具有亮度像素(luma pixel)單位中的行(column)寬度,其等於output_width除以num_of_columns且具有亮度像素中的列高度,其等於output_height除以num_of_rows。沒有間隙或重疊。如果不需要拼接,則在右側和底部執行修剪(trimming),以指示output_width和output_height。該網格運算符1005也可以用作衍生軌道的TransformProperty或轉換運算符。使用時,它被儲存在TransformPropertyContainer314中,且track_idc可能不是必需的。事實上,網格可以將軌道參考類型'dtrp'341指示的輸入軌道視為輸入。在這種情況下,
這些參考的順序指示網格中的位置。
用於空間組成的軌道組的另一個實施例是新框1003。此框具有特定的track_grouping_type值,表示組成是動態的。(4字元程式碼也應該被定義並保留用於該目的)。從某種意義上說,它是一種特定類型的顯式組成,其組成參數主要是位置和大小在外部元資料軌道中提供,例如ISO/IEC 23001-10修正1中的定時元資料軌道。該軌道組中提供了特定參數:提供組成參數的元資料軌道的軌道標識符。這對於將視訊軌道與元資料軌道相關聯是有用的,因為將元資料軌道鏈接到視訊軌道的軌道參考是單向的('cdsc'軌道參考類型到視訊軌道或'cdtg'軌道參考類型到在一組的軌道)。在軌道組中直接具有track_ID使得媒體播放器更容易檢索組成參數。至於其他類型的空間組成軌道組,框1003包含所得到的組成寬度和高度。可選地,它也可以包含'spco'軌道組類型框的變體中宣告的一個或全部旗標。雖然圖10示出不同種類的軌道組類型框空間組成(如不同的框是由特定track_grouping_type識別並保留4字元的程式碼),但是應當注意的是,這些不同種類也可以以其他方式來發訊號。一種可能的方法是使用單個4字元程式碼,例如框的'spco'程式碼和“version”參數。版本參數可以變化,而不是從version=0的軌道組類型框繼承,如951。例如,version=0對應於隱式組成1001,而version=1則指示對於動態組成1003的顯式組成1002和version=2。version=3可指示基於網格的組成1004。每個
框的特定參數僅包括版本參數的特定值。例如:
在一個替代實施例中,不同種類的軌道組類型框用旗標參數(而不是上面的版本參數)發送訊號。這樣,使用單個track_grouping_type,例如'spco'。類型'spco'的特定空間組成軌道組類型框從TrackGroupTypeBox繼承,其旗標未設置為0,如951中所示,但可能採用不同的預定義值,如tg_explicit_composition=0x000001來表示組成是顯式組成(類似於前一實施例中的version=1)。默認情況下,組成被認為是隱式的(version=0和flags=0)。其他旗標可以定義為tg_dynamic_composition=0x000002和tg_grid_composition=0x000004。這些可以用作上述實施例中所解釋的版本參數的不同值。
相關軌道組類型框過載的另一態樣是定義不限於整數的軌道組標識符的可能性,如當前ISOBMFF中的情況。這可以用於宣告一組軌道,其包含不一定包含在同一媒體檔案中的軌道。這允許將媒體檔案中的軌道與其他檔案或位於不同伺服器上的遠程軌道相關聯。這可以通過“flags”或“version”參數的特定值來完成。該軌道組類型框可以然後被重新定義如下(這裡使用版本參數):
其中global_track_group_id是URN條目,例如ISOBMFF中定義的DataEntryUrnBox。DataEntryUrnBox中的參數“name”是必需的。參數“location”是可選的。每個“name”和“location”參數都是使用UTF-8字元的以空字元結尾的字串(null-terminated string)。
圖13顯示了軌道組的另一個特徵:子集的標記(notion)。在1300,提供了包含四個輸入軌道的軌道組。實際上存在兩個子圖像軌道(視訊1和視訊2),但每個解析度不同。這些軌道可然後被收集為2個子集,其中每
個子集具有不同的解析度:例如子集1310中包含的高解析度(High Definition,HD)視訊,而子集1320包含簡單解析度(Simple Definition,SD)視訊。這隱約意味著,軌道1311和1312可以在空間上組合成更大的視訊(2倍HD解析度),且軌道1321和1322也可以組合成更大的視訊(2個解析度SD解析度)。為了允許軌道組中的子集描述,TrackGroupTypeBox被修改如下。首先,它是這個框的一個新版本(一個版本號不與上述組合的類型衝突)或一個新的旗標值(例如:contains_subset=0x000008)。下面的示例顯示的版本號設置為1。無論是哪種歸組,都可以使用,但不限於空間組成。
其中TrackGroupSubsetBox定義如下:
其中subset_ide表示軌道組中的子集的指示。它是一個基於1(1-based)的數字,範圍僅限於包含的
軌道組。在一個軌道組中不能定義多於256個子集。與軌道組和特定子集相關的每個軌道都傳達其對應的子集的索引(indice)。例如在1300中,軌道1311和1312將具有包含在軌道中的subset_idc=1數軌道組子集的TrackGroupSubsetBox,而軌道1321和1322將有具有subset_idc=2的TrackGroupSubsetBox。每個子集將宣告其自己的組成尺寸(不再是軌道組的屬性)。這允許軌道組的更詳細描述通過將整組的參數放在所述TrackGroupTypeBox中和將子集專用(subset-specific)資訊放在TrackGroupSubsetBox中。子集參數甚至可以過載TrackGroupTypeBox中宣告的參數。這允許為軌道組內的所有軌道定義默認參數值,並僅為與特定子集相關的軌道子集指定默認參數值。為了允許一個軌道成為複數個子集的一部分,TrackGroupTypeBox可以使用版本號來提供一個子集陣列,而不是只有一個實例。指定子組數量的參數也存在於TrackGroupTypeBox中,如下所示:
該子集還可用於定義一些組成限制:例如,高解析度軌道僅與其他高解析度軌道結合,而不與SD軌道結合。子集也可以用於描述導致視訊也可用於渲染或顯示的軌道組中的軌道的另一組合。在一個替代實施例中,可以在TrackGroupBox本身而不是TrackGroupTypeBox中,指定子集特徵,遵循相同的原則:版本或旗標值。該子集功能的另一個興趣是用於描述串流清單中的媒體檔案。例如,MPEG DASH標準在其MPD清單中支持空間關係描述(spatial relationship description,SRD)。SRD有一個名為spatial_set_id的參數,為一組空間物件提供標識符。然後,如在1300中具有相同的subset_idc的子圖像軌道,可以在DASH MPD中用具有作為spatial_set_id值的SRD描述符來描述subset_idc參數的值。
對於沒有TrackGroupSubsetBox的軌道組類型框('TrackGroupTypeBox')的版本,可以直接將
subset_idc或spatial_set_id參數作為軌道組類型框('TrackGroupTypeBox')的參數包含在內。它可以包含在隱式和顯式軌道組合框中,以便進行空間合成,也就是說,它可以與組合資訊(如位置和大小)以及可選的轉換參數相結合。仍然是圖13,視訊1350被分成6個空間區域,每個空間區域由視訊軌道、子圖像軌道表示。儘管視訊1350是非常高解析度視訊,可能超出了可用視訊編解碼器的設定檔和級別(最大允許大小),但是每個子圖像軌道或子圖像軌道子集符合給定的設定檔(profile)或級別。然後,向媒體播放器提供視訊序列1350中的空間存取的一些粒度(granularity)可能是有利的。軌道組可用於通過定義處理一個或複數個區域所需的設定檔和級別來發訊號。例如,在1350中,幾個軌道組被定義為歸組三個子圖像軌道。除了組成參數之外,每個軌道組還輸送由3個子圖像軌道的空間組成產生的profile_tier_level資訊。此外,通過傳輸軌道組的軌道而不是整個視訊1350,該組織可以用於導航到諸如360內容或虛擬實境內容等沉浸式(immersive)內容。此外,處理軌道組之間的重疊是避免定義每個視訊軌道封裝3個子圖像軌道的好方法,因為它避免了資料重複。
隱式組成軌道組1141的一個優點是它引用和使用儲存在樣本描述中的參數(如根據圖9所示和描述的)。這給子圖像組織帶來了一些靈活性,因為樣本條目和樣本組描述可以隨時間更新,例如在軌道片段的基礎
上。這允許獨立於軌道屬性(例如位置,大小)定義軌道組。對於圖塊配置隨時間變化的基於圖塊的編碼尤其有趣(這可以通過沿著視訊序列更新圖像參數集在HEVC中完成)。例如,在視訊監視應用中,可以調整拼貼配置以匹配正被追蹤的視訊序列中的一個感興趣物件。有一個圖塊包圍這個物件允許基於ROI的串流傳輸並保存傳輸位元組。這由trif或rrif VisualSampleGroupEntry和樣本歸組機制處理。這對於軌道組是不可能的。為了實現這個目的,本發明還提出擴展軌道組以便允許軌道片段組。這對於軌道組或軌道片段組包含組成參數的顯式組成非常有用。通過軌道片段組框,這些參數可以隨時間更新。該組中的軌道數量也可以隨著時間而變化。這個新框可以宣告如下:
此框可以指示軌道片段有效的軌道組,其中每個組共享一個特定的特徵或者一個組內的軌道具有特定的關係。該框包含零個或複數個框,且特定的特徵或關係由包含的框的框類型指示。包含的框包括一個標識符,可用於結束屬於同一個軌道片段組的軌道。在TrackFragmentGroupBox中包含相同類型的包含框且在這些包含的框內具有相同標識符值的軌道,屬於相同的軌道片段組。
軌道片段組不得用於指示軌道片段之間的依賴關係。
track_fragment_group_type表示歸組類型,且應該被設置為一個已註冊的值,或者來自衍生規範或註冊的值。它可以是例如本發明定義的用於描述子圖像軌道的空間組織的'part'值。
track_fragment_group_id是整個媒體檔案的唯一標識符。當它的值對於同一軌道而言從一個片段到另一個片段是相同時,它對應於相同的軌道組。當軌道片段組中的軌道從一個片段變為另一個片段時,track_fragment_group_id也應該改變以通知媒體播放器。當使用軌道片段組時,建議片段在與軌道片段組相關的軌道之間對齊(時間上(ternporally))。可選地,trak級別的'trgr'框可以被參數化以表明它在某些片段中被過載,或者它將在整個媒體持續時間內保持不變。這可以通過'trgr'框的特定旗標值完成。
圖12描述了根據本發明的一個態樣的媒體播放器或媒體檔案的ISOBMFF解析器的處理:描述軌道或子圖像軌道的空間組成的軌道組的情況。未在圖12中表示的第一步是解析存在於媒體文件中的軌道的每個trak框。在解析過程中,建立包含軌道組框'trgr'的軌道列表,且對於
每個組,軌道列表包含在該組中。
圖12描述了從1200開始,與隱式空間組成軌道組對應的一個軌道組的軌道的處理。首先,在步驟1201中,當前軌道默認將其位置設置為(x=0,y=0),並將其大小設置為在軌道標頭框中宣告的寬度和高度。然後在1202中,解析樣本表框尋找在軌道中宣告的樣本條目。如果樣本條目具有值'resv',測試1203,在步驟1204,分析器查找SchemeTypeBox。如果方案類型被設置為表示軌道包含投影全向(omnidirectional)視訊的值,則測試1305為成立,然後在1206中,解析器尋找區域方面的緊縮資訊,通常尋找RegionWisePackingBox。
如果沒有找到,在步驟1207中,解析器查找使用者資料框中的拼接或設置資訊。如果沒有找到,則測試1207為不成立(false),在1210中,軌道的大小被設置為原始樣本條目中提供的寬度和高度軌道或者投影影像的寬度和高度,且由這些位置和尺寸組成。如果使用者資料框提供了提供軌道的位置和大小的攝像機設置資訊的拼接資訊,則在步驟1208中使用該資訊來設置合適的位置和大小,然後在1210中組成軌道。當在步驟1206存在緊縮資訊時,在步驟1209中,資訊使用來獲得軌道的緊縮位置和大小,且軌道在1210中與這些值組合。當方案類型是未知的或不對應於全向內容或媒體內容候選組成,則在1210中使用默認位置和大小。當測試1203返回不成立(false)時,在步驟1211,對樣本條目值進行測試'hvt1'、'lht1'或指示當
前軌道是圖塊軌道的任何樣本條目值。如果是這種情況,則在1212中從'trif'框中解析位置和大小。
否則,在1213中,分析器查找像例如一個通用的區域描述符'rrif'。如果找到一個,在1214中,在'rrif'或等價的描述符中的參數被用於設置軌道的位置和大小。該過程迭代直到軌道組的所有軌道都被處理。步驟1210包括將屬於軌道組的軌道列表中它們各自的位置和大小關聯以在對應的位元流的解碼期間應用於合成和渲染。圖12的處理是播放器初始化步驟的一部分。如果追蹤片段組正在使用,它也可能在解碼過程中發生。然後,週期性地,每當發生新的軌道片段時,可以通過從1200開始的處理來更新組成參數。
根據ISO/IEC 14496-15第4版,用於空間合成的軌道組還適用於被編碼為獨立HEVC圖塊的輸入軌道,所述獨立HEVC圖塊被進一步封裝在圖塊軌道中。在這種情況下,屬於軌道組的軌道或子圖像軌道是圖塊軌道。他們圖塊基礎軌道也應該是同一個軌道組的一部分。如參照圖12所解釋的那樣,隱式組合使用'trif'框中給定的位置和大小。'trif'描述符以其原始序列傳送該圖塊的位置和大小。圖塊基礎軌道和每個圖塊軌道都與相同的軌道組相關聯(它們的'trak'框包含'trgr'框)。在隱式空間合成中使用圖塊軌道或者在衍生軌道或空間合成軌道組中使用網格運算符(grid operator)的一個優點是合成可以在壓縮域中完成(例如通過位元流連接或通過切片位置的光程式碼
(transcoding)轉換)。當在衍生軌道和網格運算符中使用時,Transform_post_decoding旗標或衍生軌道中的任何等效裝置設置為0以指示該運算不需要解碼每個軌道。對於動作約束(motion-constrained)及/或獨立圖塊編碼的HEVC位元流來說就是這種情況。通常,當網格或空間合成使用獨立的視訊位元流時,運算在解碼之後完成。
另一個實施例在於直接在'moov'框中宣告媒體檔案頂層的軌道關聯,且不在每個'trak'框中宣告。然後定義一個新的結構,為軌道關聯提供一個唯一的標識符,這種類型提供這個關聯的資訊或這個關聯的目的以及包含在這個關聯中的軌道列表(track_ID)。這種宣告的好處是避免重複每條軌道上的資訊成為軌道關聯的一部分。這種軌道關聯可以例如在檔案格式級別反映MPEG DASH的預選或捆包(bundle)概念:當一起播放時改善使用者體驗的一組軌道...。或者,這個新框可以在'udat'框中宣告為使用者資料的一部分,例如與軌道選擇框相同的方式,但是用於補充或相關軌道。軌道關聯中軌道的常用參數是作為屬性列表提供的。
軌道關聯框包含在使用者資料框中或直接包含在其描述的媒體檔案的影片框(Movie Box)中。
具有以下語義
track_association_id是為軌道關聯提供唯一標識符的整數,用於指定軌道組或軌道集合(collection)。
track_association_type是一般化KindBox最初在ISOBMFF中為軌道定義,但擴展到了影片或媒體檔案的任何部分的描述。
track_ID_list提供與該軌道關聯相關的軌道列表。
attribute_list是一個列表,在框的末尾,是屬性。該列表中的屬性是適用於軌道關聯的所有軌道的公共屬性。
圖4、5和6中所示的演算法的任何步驟可以通過由可編程電腦執行一組指令或程式來以軟體來實現,所述可編程電腦例如PC(“個人電腦(Personal Computer)”),DSP(“數位訊號處理器(Digital Signal Processor)”)或微控制器;或者由機器或諸如FPGA(“現場可編程閘陣列(Field-Programmable Gate Array)”)或ASIC(“專用積體電路(Application-Specific Integrated Circuit)”)的專用元件以硬體實現。
儘管以上參考具體實施例描述了本發明,但是本發明不限於具體實施例,且對於本領域技術人員來說,修改將是顯而易見的落入本發明範圍內的。
在參考前面的說明性實施例時,本領域技術人員將進行許多進一步的修改和變化,所述說明性實施例僅以示例的方式給出且不旨在限制本發明的範圍,其僅由附加申請專利範圍確定。特別地,來自不同實施例的不同特徵可以在適當的情況下互換。
在申請專利範圍中,詞語“包括”不排除其他元素或步驟,且不定冠詞“一”或“一個”不排除複數個。在相互不同的附屬申請專利範圍中列舉不同特徵這一事實,並不表示不能有利地使用這些特徵的組合。
900:更高解析度視訊
901:視訊軌道
902:視訊軌道
903:視訊軌道
904:視訊軌道
905:‘trak’框
910:樣本表格框
911:樣本組描述框
912:位置/大小
913:樣本描述
914:區域
920:鏈接
950:軌道組
951:軌道組類型框
952:軌道組類型框
Claims (9)
- 一種用於從視訊序列產生媒體檔案的方法,該方法包含透過伺服器:- 將視訊序列劃分為多個片段- 產生多個視訊軌道以儲存該劃分的視訊序列,每個視訊軌道與描述性元資料相關聯,該描述性元資料包含:○空間資訊,指示該視訊序列被劃分為多個片段,及○旗標,指示不能僅基於包含在一個軌道中的該資訊來執行該多個視訊軌道的該產生;及- 產生該媒體檔案,其包含該產生的多個視訊軌道以及該描述性元資料。
- 如請求項1所述的方法,其中,該描述性元資料框是“TrackGroupType”框。
- 如請求項1所述的方法,其中,該多個片段被劃分為空間區域。
- 一種用於解析包含對應於視訊序列的視訊資料的媒體檔案的方法,該視訊資料由多個樣本組成,該方法包含透過客戶端:- 從該視訊資料獲得視訊軌道,該每個視訊軌道包含視訊序列的樣本,並且該每個視訊軌道與描述性元資料相關聯,該描述性元資料包含:○空間資訊,指示該視訊序列被劃分為多個片 段,及○旗標,指示不能僅基於包含在一個軌道中的該資訊來執行該多個視訊軌道的該產生。
- 如請求項4所述的方法,其中,該描述性元資料框是“TrackGfoupType”框。
- 如請求項4所述的方法,其中,該多個片段被劃分為空間區域。
- 一種程式,當由電腦或處理器執行時,使該電腦或處理器執行任何前述請求項的方法。
- 一種伺服器裝置,用於從視訊序列產生媒體檔案,該伺服器裝置包含處理器配置用於:- 將視訊序列劃分為多個片段- 產生多個視訊軌道以儲存該劃分的視訊序列,每個視訊軌道與描述性元資料相關聯,該描述性元資料包含:○空間資訊,指示該視訊序列被劃分為多個片段,及○旗標,指示不能僅基於包含在一個軌道中的該資訊來執行該多個視訊軌道的該產生;及- 產生該媒體檔案,其包含該產生的多個視訊軌道以及該描述性元資料。
- 一種用於解析包含對應於視訊序列的視訊資料的媒體檔案的客戶端裝置,該視訊資料由多個樣本組成,該客戶端裝置包含處理器配置用於:- 從該視訊資料獲得視訊軌道,該每個視訊軌道包含視訊序列的樣本,並且該每個視訊軌道與描述性元資料相關聯,該描述性元資料包含:○空間資訊,指示該視訊序列被劃分為多個片段,及○旗標,指示不能僅基於包含在一個軌道中的該資訊來執行該多個視訊軌道的該產生。
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB1704882.8 | 2017-03-27 | ||
| GB1704882.8A GB2560921B (en) | 2017-03-27 | 2017-03-27 | Method and apparatus for encoding media data comprising generated content |
| GB1708337.9 | 2017-05-24 | ||
| GB1708337.9A GB2561026B (en) | 2017-03-27 | 2017-05-24 | Method and apparatus for generating media data |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW202234896A true TW202234896A (zh) | 2022-09-01 |
| TWI864393B TWI864393B (zh) | 2024-12-01 |
Family
ID=58687840
Family Applications (3)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW111117208A TWI864393B (zh) | 2017-03-27 | 2018-03-21 | 用於產生媒體資料的方法及設備 |
| TW107109589A TWI679885B (zh) | 2017-03-27 | 2018-03-21 | 用於產生媒體資料的方法及設備 |
| TW108139777A TWI766200B (zh) | 2017-03-27 | 2018-03-21 | 用於產生媒體資料的方法及設備 |
Family Applications After (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW107109589A TWI679885B (zh) | 2017-03-27 | 2018-03-21 | 用於產生媒體資料的方法及設備 |
| TW108139777A TWI766200B (zh) | 2017-03-27 | 2018-03-21 | 用於產生媒體資料的方法及設備 |
Country Status (8)
| Country | Link |
|---|---|
| US (3) | US11265622B2 (zh) |
| EP (3) | EP3603080B1 (zh) |
| JP (2) | JP6924266B2 (zh) |
| KR (4) | KR102470889B1 (zh) |
| CN (3) | CN115529477B (zh) |
| GB (4) | GB2560921B (zh) |
| TW (3) | TWI864393B (zh) |
| WO (2) | WO2018177817A1 (zh) |
Families Citing this family (36)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2524726B (en) * | 2014-03-25 | 2018-05-23 | Canon Kk | Image data encapsulation with tile support |
| GB2554877B (en) * | 2016-10-10 | 2021-03-31 | Canon Kk | Methods, devices, and computer programs for improving rendering display during streaming of timed media data |
| GB2560921B (en) * | 2017-03-27 | 2020-04-08 | Canon Kk | Method and apparatus for encoding media data comprising generated content |
| GB2567625B (en) | 2017-10-12 | 2020-07-15 | Canon Kk | Method, device, and computer program for generating timed media data |
| WO2019195036A1 (en) | 2018-04-03 | 2019-10-10 | Futurewei Technologies, Inc. | File format signaling of error mitigation in sub-picture bitstream based viewport dependent video coding |
| US11303923B2 (en) * | 2018-06-15 | 2022-04-12 | Intel Corporation | Affine motion compensation for current picture referencing |
| KR102073230B1 (ko) * | 2018-06-28 | 2020-02-04 | 주식회사 알파서클 | 특정 영역의 화질을 개선하기 위해 복수의 가상현실영상을 재생하는 가상현실영상재생장치 및 가상현실영상생성방법 |
| WO2020009344A1 (ko) * | 2018-07-06 | 2020-01-09 | 엘지전자 주식회사 | 360 비디오 데이터의 서브픽처 기반 처리 방법 및 그 장치 |
| US11183220B2 (en) * | 2018-10-03 | 2021-11-23 | Mediatek Singapore Pte. Ltd. | Methods and apparatus for temporal track derivations |
| WO2020145668A1 (ko) * | 2019-01-08 | 2020-07-16 | 삼성전자주식회사 | 3차원 컨텐츠의 처리 및 전송 방법 |
| US11205456B2 (en) * | 2019-01-09 | 2021-12-21 | Mediatek Singapore Pte. Ltd. | Methods and apparatus for using edit operations to perform temporal track derivations |
| US11457231B2 (en) | 2019-03-15 | 2022-09-27 | Mediatek Singapore Pte. Ltd. | Methods and apparatus for signaling spatial relationships for point cloud multimedia data tracks |
| GB2582313B (en) * | 2019-03-18 | 2022-09-07 | Canon Kk | Method and apparatus for encapsulating derived tracks |
| US11245926B2 (en) * | 2019-03-19 | 2022-02-08 | Mediatek Singapore Pte. Ltd. | Methods and apparatus for track derivation for immersive media data tracks |
| WO2020186478A1 (en) * | 2019-03-20 | 2020-09-24 | Beijing Xiaomi Mobile Software Co., Ltd. | Method and device for transmitting viewpoint switching capabilities in a vr360 application |
| JP7480773B2 (ja) * | 2019-03-20 | 2024-05-10 | ソニーグループ株式会社 | 情報処理装置、情報処理方法、再生処理装置及び再生処理方法 |
| US11218715B2 (en) * | 2019-06-14 | 2022-01-04 | Mediatek Singapore Pte. Ltd. | Methods and apparatus for spatial grouping and coordinate signaling for immersive media data tracks |
| GB2585052B (en) * | 2019-06-26 | 2023-07-26 | Canon Kk | Method and apparatus for encapsulating panorama images in a file |
| CN112148115A (zh) * | 2019-06-28 | 2020-12-29 | 中兴通讯股份有限公司 | 媒体处理方法、装置、系统和可读存储介质 |
| US20210105313A1 (en) * | 2019-10-02 | 2021-04-08 | Mediatek Singapore Pte. Ltd. | Methods and apparatus for signaling a region in spatially grouped immersive media data tracks |
| JP7549660B2 (ja) * | 2019-11-29 | 2024-09-11 | 中興通訊股▲ふん▼有限公司 | マルチビュービデオ処理方法および装置 |
| US12143601B2 (en) | 2019-12-05 | 2024-11-12 | Hfi Innovation Inc. | Specifying layout in video pictures |
| EP4082198A4 (en) * | 2019-12-27 | 2023-08-16 | Alibaba Group Holding Limited | METHOD AND DEVICE FOR SIGNALING SUBPICTURE PARTITIONING INFORMATION |
| EP4085645B1 (en) * | 2019-12-31 | 2025-09-24 | Nokia Technologies Oy | A method, an apparatus and a computer program product for video encoding and video decoding |
| CN113766271B (zh) * | 2020-06-04 | 2022-07-12 | 腾讯科技(深圳)有限公司 | 一种沉浸媒体的数据处理方法、装置及设备 |
| US11743441B2 (en) * | 2020-08-31 | 2023-08-29 | Mediatek Singapore Pte. Ltd. | Methods and apparatus for selecting and switching input video tracks using track derivations |
| EP3972269A1 (en) | 2020-09-17 | 2022-03-23 | Lemon Inc. | Subpicture entity groups in video coding |
| US11871143B2 (en) * | 2020-09-17 | 2024-01-09 | Lemon Inc. | Subpicture tracks in coded video |
| WO2022065872A1 (ko) * | 2020-09-24 | 2022-03-31 | 엘지전자 주식회사 | 미디어 파일 처리 방법 및 장치 |
| CN116210216A (zh) * | 2020-09-28 | 2023-06-02 | 佳能株式会社 | 媒体文件生成设备、媒体文件重放设备、媒体文件生成方法、媒体文件重放方法、程序和存储介质 |
| US11922561B2 (en) * | 2020-10-06 | 2024-03-05 | Mediatek Singapore Pte. Ltd. | Methods and systems for implementing scene descriptions using derived visual tracks |
| KR20220143466A (ko) * | 2021-04-16 | 2022-10-25 | 삼성전자주식회사 | 공간 컨텐츠를 처리하는 방법 및 이를 수행하는 전자 장치 |
| US12526471B2 (en) | 2021-06-29 | 2026-01-13 | Dolby International Ab | Methods, apparatus and systems for signaling preselections |
| US12530834B2 (en) * | 2022-01-11 | 2026-01-20 | Samsung Electronics Co., Ltd. | Random access of scene description in ISO base media file format (ISOBMFF) files |
| WO2024072732A1 (en) * | 2022-09-28 | 2024-04-04 | Bytedance Inc. | Enhanced signalling of extended dependent random access sample point samples in a media file |
| CN118550398A (zh) * | 2023-02-27 | 2024-08-27 | 北京京东方技术开发有限公司 | 一种媒体文件处理方法、装置及设备 |
Family Cites Families (77)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CA2175363C (en) * | 1993-10-29 | 1999-12-21 | Christopher J. Cookson | System and method for controlling play of multiple versions of same motion picture stored on optical disk |
| US7613727B2 (en) | 2002-02-25 | 2009-11-03 | Sont Corporation | Method and apparatus for supporting advanced coding formats in media files |
| CN100419748C (zh) * | 2002-04-29 | 2008-09-17 | 索尼电子有限公司 | 一种计算方法和采用该方法的装置和系统 |
| US8041190B2 (en) * | 2004-12-15 | 2011-10-18 | Sony Corporation | System and method for the creation, synchronization and delivery of alternate content |
| TWI384413B (zh) * | 2006-04-24 | 2013-02-01 | Sony Corp | An image processing apparatus, an image processing method, an image processing program, and a program storage medium |
| US9852219B2 (en) | 2007-08-20 | 2017-12-26 | Nokia Technologies Oy | Segmented metadata and indexes for streamed multimedia data |
| US9521469B2 (en) | 2013-04-19 | 2016-12-13 | Futurewei Technologies, Inc. | Carriage of quality information of content in media formats |
| US20090119594A1 (en) | 2007-10-29 | 2009-05-07 | Nokia Corporation | Fast and editing-friendly sample association method for multimedia file formats |
| EP2215842A2 (en) | 2007-12-03 | 2010-08-11 | Nokia Corporation | Systems and methods for storage of notification messages in iso base media file format |
| US20090177942A1 (en) * | 2008-01-09 | 2009-07-09 | Nokia Corporation | Systems and methods for media container file generation |
| WO2009127961A1 (en) * | 2008-04-16 | 2009-10-22 | Nokia Corporation | Decoding order recovery in session multiplexing |
| RU2492585C2 (ru) * | 2008-07-16 | 2013-09-10 | Нокиа Корпорейшн | Способ и устройство для группирования треков и подмножеств треков |
| RU2011135321A (ru) * | 2009-01-28 | 2013-03-10 | Нокиа Корпорейшн | Способ и устройство для кодирования и декодирования видеосигналов |
| JP5591932B2 (ja) * | 2009-09-22 | 2014-09-17 | クゥアルコム・インコーポレイテッド | ファイルフォーマットトラック選択のためのメディアエクストラクタトラック |
| US9769230B2 (en) | 2010-07-20 | 2017-09-19 | Nokia Technologies Oy | Media streaming apparatus |
| US9716920B2 (en) * | 2010-08-05 | 2017-07-25 | Qualcomm Incorporated | Signaling attributes for network-streamed video data |
| EP2614653A4 (en) | 2010-09-10 | 2015-04-15 | Nokia Corp | METHOD AND DEVICE FOR ADAPTIVE STREAMING |
| WO2012070875A2 (ko) * | 2010-11-23 | 2012-05-31 | 삼성전자 주식회사 | 멀티미디어 시스템에서 다계층 영상을 위한 미디어 파일 생성 방법 및 장치와 이를 이용한 미디어 파일 재생 장치 |
| US20130170561A1 (en) | 2011-07-05 | 2013-07-04 | Nokia Corporation | Method and apparatus for video coding and decoding |
| CN103907347B (zh) * | 2011-08-31 | 2018-01-30 | 诺基亚技术有限公司 | 多视图视频编码和解码 |
| US20130195171A1 (en) * | 2012-01-30 | 2013-08-01 | Qualcomm Incorporated | Method of coding video and storing video content |
| JP2015517236A (ja) * | 2012-04-10 | 2015-06-18 | ホアウェイ・テクノロジーズ・カンパニー・リミテッド | 表示オブジェクトの表示位置を提供し、3次元シーン内の表示オブジェクトを表示するための方法および装置 |
| CN103514351B (zh) * | 2012-06-28 | 2017-05-10 | 三星电子(中国)研发中心 | 一种多媒体文件的编辑方法、装置和系统 |
| KR101786276B1 (ko) * | 2012-10-12 | 2017-11-15 | 캐논 가부시끼가이샤 | 데이터를 스트리밍하기 위한 방법, 데이터를 제공하기 위한 방법, 데이터를 획득하기 위한 방법, 컴퓨터 판독 가능 저장 매체, 서버 장치, 및 클라이언트 장치 |
| US9584792B2 (en) * | 2013-01-04 | 2017-02-28 | Qualcomm Incorporated | Indication of current view dependency on reference view in multiview coding file format |
| US9591383B2 (en) * | 2013-01-18 | 2017-03-07 | Canon Kabushiki Kaisha | Method, device, and computer program for encapsulating partitioned timed media data |
| GB2513140B (en) * | 2013-04-16 | 2016-05-04 | Canon Kk | Methods, devices, and computer programs for streaming partitioned timed media data |
| US9800893B2 (en) | 2013-04-17 | 2017-10-24 | Nokia Technologies Oy | Apparatus, a method and a computer program for video coding and decoding |
| US20150026358A1 (en) * | 2013-07-19 | 2015-01-22 | Futurewei Technologies, Inc. | Metadata Information Signaling And Carriage In Dynamic Adaptive Streaming Over Hypertext Transfer Protocol |
| EP3013064B1 (en) * | 2013-07-19 | 2019-03-13 | Sony Corporation | Information processing device and method |
| GB2516825B (en) * | 2013-07-23 | 2015-11-25 | Canon Kk | Method, device, and computer program for encapsulating partitioned timed media data using a generic signaling for coding dependencies |
| GB2516826B (en) | 2013-07-23 | 2016-06-22 | Canon Kk | Method, device and computer program for encapsulating partitioned timed media data by creating tracks to be independently encapsulated in at least one media f |
| GB2516824A (en) * | 2013-07-23 | 2015-02-11 | Nokia Corp | An apparatus, a method and a computer program for video coding and decoding |
| EP3562170A1 (en) * | 2013-07-29 | 2019-10-30 | Koninklijke KPN N.V. | Providing tile video streams to a client |
| CN105981387B (zh) | 2013-10-15 | 2019-09-27 | 诺基亚技术有限公司 | 用于处理视频的方法、装置和计算机可读存储介质 |
| GB2542282B (en) * | 2013-10-22 | 2018-08-01 | Canon Kk | Method, device, and computer program for encapsulating partitioned timed media data in a server |
| US9648348B2 (en) * | 2013-10-23 | 2017-05-09 | Qualcomm Incorporated | Multi-layer video file format designs |
| WO2015082763A1 (en) * | 2013-12-02 | 2015-06-11 | Nokia Technologies Oy | Video encoding and decoding |
| WO2015104451A1 (en) * | 2014-01-07 | 2015-07-16 | Nokia Technologies Oy | Method and apparatus for video coding and decoding |
| CN105900401B (zh) * | 2014-01-07 | 2020-03-06 | 佳能株式会社 | 用于对层间依赖性进行编码的方法、装置和计算机程序 |
| WO2015104450A1 (en) * | 2014-01-07 | 2015-07-16 | Nokia Technologies Oy | Media encapsulating and decapsulating |
| RU2725656C2 (ru) * | 2014-03-17 | 2020-07-03 | Нокиа Текнолоджиз Ой | Устройство, способ и компьютерная программа для кодирования и декодирования видеоинформации |
| GB2524726B (en) * | 2014-03-25 | 2018-05-23 | Canon Kk | Image data encapsulation with tile support |
| GB2524531B (en) * | 2014-03-25 | 2018-02-07 | Canon Kk | Methods, devices, and computer programs for improving streaming of partitioned timed media data |
| GB2527786B (en) | 2014-07-01 | 2016-10-26 | Canon Kk | Method, device, and computer program for encapsulating HEVC layered media data |
| GB2564731B (en) * | 2014-10-14 | 2019-05-29 | Canon Kk | Description of image composition with HEVC still image file format |
| GB2531271A (en) | 2014-10-14 | 2016-04-20 | Nokia Technologies Oy | An apparatus, a method and a computer program for image sequence coding and decoding |
| EP4020983A1 (en) | 2014-12-31 | 2022-06-29 | Nokia Technologies Oy | An apparatus, a method and a computer program for video coding and decoding |
| US10291561B2 (en) * | 2015-02-09 | 2019-05-14 | Nokia Technologies Oy | Apparatus, a method and a computer program for image coding and decoding |
| GB201502205D0 (en) * | 2015-02-10 | 2015-03-25 | Canon Kabushiki Kaisha And Telecom Paris Tech | Image data encapsulation |
| US9922680B2 (en) * | 2015-02-10 | 2018-03-20 | Nokia Technologies Oy | Method, an apparatus and a computer program product for processing image sequence tracks |
| US9897450B2 (en) * | 2015-05-20 | 2018-02-20 | Nokia Technologies Oy | Method and apparatus to obtain differential location information |
| GB2538998A (en) * | 2015-06-03 | 2016-12-07 | Nokia Technologies Oy | A method, an apparatus, a computer program for video coding |
| GB2538997A (en) * | 2015-06-03 | 2016-12-07 | Nokia Technologies Oy | A method, an apparatus, a computer program for video coding |
| EP3107011B1 (en) | 2015-06-16 | 2018-12-12 | Nokia Technologies Oy | Method, apparatus, and computer program product for storage of dynamically derived images in an image container file |
| 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 |
| GB2539461B (en) * | 2015-06-16 | 2020-01-08 | Canon Kk | Image data encapsulation |
| WO2017007263A1 (ko) * | 2015-07-08 | 2017-01-12 | 엘지전자 주식회사 | 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법 |
| JP6548500B2 (ja) * | 2015-07-30 | 2019-07-24 | キヤノン株式会社 | ファイル名変換装置、方法及びプログラム並びに記録システム |
| MX389126B (es) * | 2016-02-16 | 2025-03-20 | Nokia Technologies Oy | Encapsulamiento y desencapsulamiento de medios |
| US10389999B2 (en) * | 2016-02-17 | 2019-08-20 | Qualcomm Incorporated | Storage of virtual reality video in media files |
| WO2017200322A1 (ko) * | 2016-05-20 | 2017-11-23 | 엘지전자 주식회사 | 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법 |
| US10623755B2 (en) * | 2016-05-23 | 2020-04-14 | Qualcomm Incorporated | End of sequence and end of bitstream NAL units in separate file tracks |
| EP3466079B1 (en) | 2016-05-24 | 2023-07-12 | Nokia Technologies Oy | Method and an apparatus and a computer program for encoding media content |
| WO2017204109A1 (en) * | 2016-05-24 | 2017-11-30 | Sharp Kabushiki Kaisha | Systems and methods for signaling scalable video in a media application format |
| EP3451659A4 (en) * | 2016-05-26 | 2019-11-06 | LG Electronics Inc. -1- | METHOD FOR SENDING A 360 DEGREE VIDEO, METHOD FOR RECEIVING A 360 DEGREE VIDEO, DEVICE FOR SENDING A 360 DEGREE VIDEO AND DEVICE FOR RECEIVING A 360 DEGREE VIDEO |
| US11172005B2 (en) | 2016-09-09 | 2021-11-09 | Nokia Technologies Oy | Method and apparatus for controlled observation point and orientation selection audiovisual content |
| CN106385587B (zh) | 2016-09-14 | 2019-08-02 | 三星电子(中国)研发中心 | 分享虚拟现实视角的方法、装置及系统 |
| US11140417B2 (en) * | 2016-11-01 | 2021-10-05 | Nokia Technologies Oy | Apparatus, a method and a computer program for video coding and decoding |
| WO2018120294A1 (zh) * | 2016-12-30 | 2018-07-05 | 华为技术有限公司 | 一种信息的处理方法及装置 |
| WO2018169139A1 (ko) * | 2017-03-17 | 2018-09-20 | 엘지전자 주식회사 | 360도 비디오의 영역 정보 전달 방법 및 장치 |
| WO2018174387A1 (ko) * | 2017-03-20 | 2018-09-27 | 엘지전자 주식회사 | 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치 |
| US10602239B2 (en) * | 2017-03-23 | 2020-03-24 | Mediatek Inc. | Method and apparatus for track composition |
| GB2560921B (en) * | 2017-03-27 | 2020-04-08 | Canon Kk | Method and apparatus for encoding media data comprising generated content |
| GB2563865A (en) * | 2017-06-27 | 2019-01-02 | Canon Kk | Method, device, and computer program for transmitting media content |
| US10931968B2 (en) * | 2017-07-31 | 2021-02-23 | Nokia Technologies Oy | Method and apparatus for encoding or decoding video content including regions having looping videos of different loop lengths |
| US10951950B2 (en) * | 2017-07-31 | 2021-03-16 | Nokia Technologies Oy | Method and apparatus for presenting a video loop during a storyline |
-
2017
- 2017-03-27 GB GB1704882.8A patent/GB2560921B/en active Active
- 2017-05-24 GB GB2002579.7A patent/GB2583570B/en active Active
- 2017-05-24 GB GB1708337.9A patent/GB2561026B/en active Active
- 2017-05-24 GB GB2005208.0A patent/GB2585270B/en active Active
-
2018
- 2018-03-20 EP EP18712207.2A patent/EP3603080B1/en active Active
- 2018-03-20 KR KR1020217037499A patent/KR102470889B1/ko active Active
- 2018-03-20 JP JP2019543259A patent/JP6924266B2/ja active Active
- 2018-03-20 CN CN202210960593.0A patent/CN115529477B/zh active Active
- 2018-03-20 JP JP2019543268A patent/JP6865842B2/ja active Active
- 2018-03-20 EP EP24220041.8A patent/EP4503619A3/en active Pending
- 2018-03-20 KR KR1020197027204A patent/KR20190117675A/ko not_active Ceased
- 2018-03-20 US US16/497,257 patent/US11265622B2/en active Active
- 2018-03-20 CN CN201880022478.0A patent/CN110506423B/zh active Active
- 2018-03-20 KR KR1020197027475A patent/KR102329474B1/ko active Active
- 2018-03-20 WO PCT/EP2018/057044 patent/WO2018177817A1/en not_active Ceased
- 2018-03-20 US US16/497,215 patent/US11070893B2/en active Active
- 2018-03-20 CN CN201880022583.4A patent/CN110463210B/zh active Active
- 2018-03-20 EP EP18713840.9A patent/EP3603081B1/en active Active
- 2018-03-20 WO PCT/EP2018/057052 patent/WO2018177819A1/en not_active Ceased
- 2018-03-20 KR KR1020217019361A patent/KR102450781B1/ko active Active
- 2018-03-21 TW TW111117208A patent/TWI864393B/zh active
- 2018-03-21 TW TW107109589A patent/TWI679885B/zh active
- 2018-03-21 TW TW108139777A patent/TWI766200B/zh active
-
2021
- 2021-09-20 US US17/479,890 patent/US11700434B2/en active Active
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI766200B (zh) | 用於產生媒體資料的方法及設備 | |
| KR102559862B1 (ko) | 미디어 콘텐츠 전송을 위한 방법, 디바이스, 및 컴퓨터 프로그램 | |
| CN110800311B (zh) | 用于传输媒体内容的方法、装置和计算机程序 |