TW202133610A - 基於網路之媒體處理應用中利用軌道推導產生新軌道之方法和裝置 - Google Patents

基於網路之媒體處理應用中利用軌道推導產生新軌道之方法和裝置 Download PDF

Info

Publication number
TW202133610A
TW202133610A TW110100594A TW110100594A TW202133610A TW 202133610 A TW202133610 A TW 202133610A TW 110100594 A TW110100594 A TW 110100594A TW 110100594 A TW110100594 A TW 110100594A TW 202133610 A TW202133610 A TW 202133610A
Authority
TW
Taiwan
Prior art keywords
track
media data
media
data
generate
Prior art date
Application number
TW110100594A
Other languages
English (en)
Other versions
TWI782386B (zh
Inventor
新 王
魯林 陳
Original Assignee
新加坡商聯發科技(新加坡)私人有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 新加坡商聯發科技(新加坡)私人有限公司 filed Critical 新加坡商聯發科技(新加坡)私人有限公司
Publication of TW202133610A publication Critical patent/TW202133610A/zh
Application granted granted Critical
Publication of TWI782386B publication Critical patent/TWI782386B/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/282Image signal generators for generating image signals corresponding to three or more geometrical viewpoints, e.g. multi-view systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/322Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier used signal is digitally coded
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/08Projecting images onto non-planar surfaces, e.g. geodetic screens
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/16Spatio-temporal transformations, e.g. video cubism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4038Image mosaicing, e.g. composing plane images from plane sub-images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/275Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing 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/234309Processing 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 by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing 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/234345Processing 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

在此描述的技藝關於配置來進行媒體處理任務的方法、裝置、與電腦可讀取媒體。一媒體處理實體包括一處理器以與一記憶體進行聯繫,其中該記憶體電腦可讀取的指令,當藉由該處理器加以執行時,使得該處理器進行:從一遠端計算裝置接收包括一階層式軌道結構的多視角多媒體資料(multi-view multimedia data),該階層式軌道結構至少包括:一第一軌道,包括在該階層式軌道結構的一第一層級中的第一媒體資料;以及一第二軌道,包括在該階層式軌道結構的一第二層級中的任務指令資料,該第二層級與該第一軌道的該第一層級不同。該等指令進一步使得該處理器進行:基於與該第二軌道的該任務指令資料,來處理該第一軌道的該第一媒體資料而產生:修正後的媒體資料,以及包括該修正後的媒體資料的一輸出軌道。

Description

用於網路基礎之媒體處理應用中利用軌導出產生新軌之方法和裝置
在此處描述的技術概括說來是關於使用軌道推導以用於基於網路之媒體處理,且尤其是使用軌道推導來指明將被媒體處理實體所進行的功能來產生新軌道。
存在有各種類型的三維(3D)內容與多重方向內容。例如,全方向的視訊是一種視訊類型,為使用一組攝像機來加以取得,而有別於傳統單一方向視訊僅用一單一攝像機完成。例如,數個攝像機可以被放置環繞一特定的中心點,以使每一攝像機對於場景的一球面覆蓋取得一部份的視訊,進而取得360度的視訊。從多個攝像機來的視訊可以被拼接(stitched),做可能地旋轉,而且被投影來產生一投影式的二維畫面來代表球面內容。例如,一等距柱狀投影(equal rectangle projection)可以被使用來將球面圖像鋪成一二維影像。例如,這可以進一步被處理而使用二維編碼與壓縮技術來完成。最終,被編碼與壓縮的內容被儲存並且使用一所想要的傳遞機制(例如隨身碟、數位影音光碟(DVD)、檔案下載、數位傳播、與/或線上串流)加以傳遞。這種視訊可以被用於虛擬現實(virtual reality,VR)與/或三維視訊。
在客戶裝置端,當客戶裝置處理內容時,一視訊解碼器解碼被編碼與被壓縮的視訊並且進行一反向投影以將內容放回於球面。一使用者則可以觀賞所呈現的內容,例如使用一頭戴式觀賞裝置。此內容通常是依據使用者的視口(viewport)來加以呈現,代表使用者看待內容的角度。此視口也可以包括代表觀賞區域的一部件,此部件可以描述被觀賞者在特定角度所正在觀賞的區域有多大與是什麼形狀。
當視訊處理不是以基於視口(viewport-dependent)的方式來進行時(致使視訊編碼器與/或解碼器無法得知使用者實際會觀賞什麼),整個編碼、傳遞與解碼的處理程序會處理整個球面內容。例如這可以讓使用者在任何特定視口與/或區域來觀賞內容,這是由於所有的球面內容都被編碼、傳遞與解碼。。
然而,處理所有的球面內容會是計算密集而且會消耗相當可觀的頻寬。例如,對於線上串流的應用,處理所有的球面內容會比所必要的網路頻寬帶來更巨大的負擔。因此,當頻寬資源與/或計算資源有限時,要保存一使用者的經驗會很困難。有些技術僅處理正在被使用者觀賞的內容。例如,如果使用者正在觀賞上方(例如,北極),則無需傳遞內容的下方(例如,南極)。如果使用者改變視口,則可以依據新的視口來相對應傳遞內容。舉另一例子,對於自由視點電視(Free viewpoint TV,FTV)應用程式(例如使用複數個攝像機來取得一場景的視訊),可以取決於使用者正在觀賞場景的角度來傳遞內容。例如,如果使用者正從一視口觀賞內容(例如,攝像機與/或相鄰的攝像機),可能就無需傳遞其他視口的內容。
依據所揭示的主題,提供裝置、系統、與方法來使用軌道推導來產生新軌道以用於基於網路之媒體處理應用。
有些實施例關於一種媒體處理方法,該方法藉由一媒體處理實體加以施行,該媒體處理實體包括有至少一處理器以與一記憶體進行聯繫,其中該記憶體電腦可讀取的指令,當藉由該至少一處理器加以執行時,使得該至少一處理器進行:從一遠端計算裝置接收包括一階層式軌道結構的多視角多媒體資料,該階層式軌道結構至少包括:一第一軌道,包括在該階層式軌道結構的一第一層級中的第一媒體資料;以及一第二軌道,包括在該階層式軌道結構的一第二層級中的任務指令資料,該第二層級與該第一軌道的該第一層級不同;以及基於與該第二軌道相關聯的該任務指令資料,來處理該第一軌道的該第一媒體資料而產生:修正後的媒體資料;以及包括該修正後的媒體資料的一輸出軌道。
在一些例子中,從遠端計算裝置接收多視角媒體資料包括從一第二遠端媒體處理實體接收該多視角媒體資料。
在一些例子中,該方法包括:傳輸包括該修正後的媒體資料的該輸出軌道至一第二計算裝置,其中該第二計算裝置包括一第二媒體處理實體、與該第一計算裝置不同的一第二遠端計算裝置、或二者。在該階層式軌道結構的一第三層級中與一第三軌道相關聯的任務指令資料可以被傳輸至該第二媒體處理實體,而該第三層級與該第一軌道的該第一層級以及該第二軌道的該第二層級不同。
在一些例子中,在該第二軌道的任務指令資料包括:一資料結構,以指明進行於該第一媒體資料的一轉換特性而產生該修正後的媒體資料,該資料結構包括一數目的輸入、一數目的輸出、以及該轉換特性。
在一些例子中,該階層式軌道結構中的該第二層級與該第一軌道的該第一層級不同;以及處理該第一軌道的該第一媒體資料包括:解碼該第一軌道的該第一媒體資料,而產生用於該輸出軌道的該修正後的媒體資料。
在一些例子中,該轉換特性可以指明下列之一個或多個:一拼接操作來拼接該第一軌道的該第一媒體資料的影像以及映射該拼接後影像至一投影表面,而產生該修正後的媒體資料;一逆投影操作來投影該第一媒體資料的影像至一三維球面,而產生該修正後的媒體資料;一逆打包操作來進行下列一或多個:轉換、重調尺寸大小、以及重定位該第一媒體資料的一或多個區域,而產生該修正後的媒體資料;一逆次畫面操作從一複數個軌道來合成該修正後的媒體資料,該複數個軌道包括該第一軌道以及一或多個額外軌道;對一操作的一選擇來從該第一媒體資料建構樣本影像,而產生該修正後的媒體資料;一轉碼操作來對該第一媒體資料從一第一位元率轉碼至一第二位元率,而產生該修正後的媒體資料;一縮放操作來對該第一媒體資料從一第一尺度縮放至一第二尺度,而產生該修正後的媒體資料;以及一重調尺寸大小操作來對該第一媒體資料從一第一寬度與一第一高度重調尺寸大小至一第二寬度與一第二高度,而產生該修正後的媒體資料。
在一些例子中,該階層式軌道結構中的該第二層級與該第一軌道的該第一層級不同;以及處理該第一軌道的該第一媒體資料包括:編碼該第一軌道的該第一媒體資料,而產生用於該輸出軌道的該修正後的媒體資料。
在一些例子中,該轉換特性指明下列之一個或多個:一投影操作來投影該第一媒體資料的影像至一二維平面,而產生該修正後的媒體資料;一打包操作來進行下列一或多個:轉換、重調尺寸大小、以及重定位該第一媒體資料的一或多個區域,而產生該修正後的媒體資料;一次畫面操作來合成用於一複數個軌道的一複數個不同媒體資料,該複數個軌道包括該第一軌道以及一或多個額外軌道;一視口操作從該第一媒體資料的球面樣本影像來建構視口樣本影像,而產生該修正後的媒體資料;一轉碼操作來對該第一媒體資料從一第一位元率轉碼至一第二位元率,而產生該修正後的媒體資料;一縮放操作來對該第一媒體資料從一第一尺度縮放至一第二尺度,而產生該修正後的媒體資料;以及一重調尺寸大小操作來對該第一媒體資料從一第一寬度與一第一高度重調尺寸大小至一第二寬度與一第二高度,而產生該修正後的媒體資料。
有些實施例關於一種裝置被配置來處理視訊資料。該裝置包括一處理器以與記憶體進行聯繫,該處理器被配置來執行儲存於該記憶體中的指令,使得該處理器進行:從一遠端計算裝置接收包括一階層式軌道結構的多視角多媒體資料,該階層式軌道結構至少包括:一第一軌道,包括在該階層式軌道結構的一第一層級中的第一媒體資料;以及一第二軌道,包括在該階層式軌道結構的一第二層級中的任務指令資料,該第二層級與該第一軌道的該第一層級不同;以及基於與該第二軌道相關聯的該任務指令資料,來處理該第一軌道的該第一媒體資料而產生修正後的媒體資料以及包括該修正後的媒體資料的一輸出軌道。
在一些例子中,從該遠端計算裝置接收該多視角多媒體資料包括從一第二遠端媒體處理實體接收該多視角媒體資料。
在一些例子中,該等指令進一步使得該處理器進行:傳輸包括該修正後的媒體資料的該輸出軌道至一第二計算裝置,其中該第二計算裝置包括一第二媒體處理實體、與該第一計算裝置不同的一第二遠端計算裝置、或二者。
在一些例子中,該等指令進一步使得該處理器進行:將在該階層式軌道結構的一第三層級中與一第三軌道相關聯的任務指令資料傳輸至該第二媒體處理實體,而該第三層級與該第一軌道的該第一層級以及該第二軌道的該第二層級與不同。
在一些例子中,在該第二軌道的任務指令資料包括:一資料結構,以指明進行於該第一媒體資料的一轉換特性而產生該修正後的媒體資料,該資料結構包括一數目的輸入、一數目的輸出、以及該轉換特性。
在一些例子中,該階層式軌道結構中的該第二層級與該第一軌道的該第一層級不同;以及處理該第一軌道的該第一媒體資料包括:解碼該第一軌道的該第一媒體資料,而產生用於該輸出軌道的該修正後的媒體資料。
在一些例子中,該轉換特性指明下列之一個或多個:一拼接操作來拼接該第一軌道的該第一媒體資料的影像以及映射該拼接後影像至一投影表面,而產生該修正後的媒體資料;一逆投影操作來投影該第一媒體資料的影像至一三維球面,而產生該修正後的媒體資料;一逆打包操作來進行下列一或多個:轉換、重調尺寸大小、以及重定位該第一媒體資料的一或多個區域,而產生該修正後的媒體資料;一逆次畫面操作從一複數個軌道來合成該修正後的媒體資料,該複數個軌道包括該第一軌道以及一或多個額外軌道;對一操作的一選擇來從該第一媒體資料建構樣本影像,而產生該修正後的媒體資料;一轉碼操作來對該第一媒體資料從一第一位元率轉碼至一第二位元率,而產生該修正後的媒體資料;一縮放操作來對該第一媒體資料從一第一尺度縮放至一第二尺度,而產生該修正後的媒體資料;以及一重調尺寸大小操作來對該第一媒體資料從一第一寬度與一第一高度重調尺寸大小至一第二寬度與一第二高度,而產生該修正後的媒體資料。
在一些例子中,該階層式軌道結構中的該第二層級與該第一軌道的該第一層級不同;以及處理該第一軌道的該第一媒體資料包括:編碼該第一軌道的該第一媒體資料,而產生用於該輸出軌道的該修正後的媒體資料。
在一些例子中,該轉換特性指明下列之一個或多個:一投影操作來投影該第一媒體資料的影像至一二維平面,而產生該修正後的媒體資料;一打包操作來進行下列一或多個:轉換、重調尺寸大小、以及重定位該第一媒體資料的一或多個區域,而產生該修正後的媒體資料;一次畫面操作來合成用於一複數個軌道的一複數個不同媒體資料,該複數個軌道包括該第一軌道以及一或多個額外軌道;一視口操作從該第一媒體資料的球面樣本影像來建構視口樣本影像,而產生該修正後的媒體資料;一轉碼操作來對該第一媒體資料從一第一位元率轉碼至一第二位元率,而產生該修正後的媒體資料;一縮放操作來對該第一媒體資料從一第一尺度縮放至一第二尺度,而產生該修正後的媒體資料;以及一重調尺寸大小操作來對該第一媒體資料從一第一寬度與一第一高度重調尺寸大小至一第二寬度與一第二高度,而產生該修正後的媒體資料。
有些實施例關於至少一種電腦可讀取儲存媒介,用來儲存處理器可執行的指令,當該儲存媒介被至少一處理器執行時,會使得該至少一處理器進行:從一遠端計算裝置接收包括一階層式軌道結構的多視角多媒體資料,該階層式軌道結構至少包括:一第一軌道,包括在該階層式軌道結構的一第一層級中的第一媒體資料;以及一第二軌道,包括在該階層式軌道結構的一第二層級中的任務指令資料,該第二層級與該第一軌道的該第一層級不同;以及基於與該第二軌道相關聯的該任務指令資料,來處理該第一軌道的該第一媒體資料而產生修正後的媒體資料以及包括該修正後的媒體資料的一輸出軌道。
已經相當廣泛地概述了所公開主題的特徵,以便可以更好地理解其隨後的詳細描述,並且可以更好地理解對本領域的當前貢獻。當然,在下文中將描述所公開的主題的附加特徵,這些附加特徵將構成所附申請專利範圍的主題。應當理解,本文採用的措辭和術語是出於描述的目的,而不應被認爲是限制性的。
在此描述各類技術可被用於基於網路的媒體處理任務。發明人已經發現並理解到值得使用基於網路的資源(例如,藉由使用基於雲端的資源)來進行媒體處理任務。然而,現存架構就發展而言仍處於嬰兒期。雖然包括媒體處理實體(media processing entities,MPEs)的一通用架構已經被提議來進行基於網路的媒體處理,當前設計著重在使用用於多媒體資料(例如,一MPEG-2的傳輸流(transport stream))的一傳統的平面檔案格式(flat file format),而且使用一基於索引的查表方式(indexed-based look-up approach)來指明處理功能。發明人已經發現並覺察到使用階層式軌道結構的好處,包括使用軌道推導技術。然而,現存基於網路的架構媒體並不支援階層式軌道結構。
在此所描述的技術提供使用基於網路的處理架構中的階層式軌道結構,來施行藉由任務指令資料所指明的任務。尤其,此技術提供使用軌道推導技術來提供任務指令給媒體處理實體,使得媒體處理實體可以產生新的輸出軌道。在一些例子中,一MPE接收一(或多)個輸入軌道與一相關聯的推導軌道(該推導軌道包括指明於輸入軌道上執行的一功能(例如,如360拼接、6DoF前-渲染等)的任務指令資料),而產生一或多個新輸出軌道(例如,用於一單一新輸出軌道的樣本、多重輸出軌道的軌道群組等)。因此,此技術善用推導軌道來指明用於基於網路媒體處理的任務。在一些實施例中,此技術可以包括藉由URI(例如,除了軌道的ID)將給輸入軌道的參考提供給任務。在一些實施例中,此技術可以進一步提供對樣本尚未產生的那些推導軌道來加以發信,使得推導軌道沒有(尚未有)任何媒體樣本。
在以下描述中,闡述了關於所公開主題的系統和方法以及此類系統和方法可以在其中操作的環境等的許多具體細節,以便提供對所公開主題的透徹理解。 另外,將理解的是,下面提供的示例是示例性的,並且在所公開的主題的範圍內,還有其他系統和方法可以被思及。
第1圖顯示出了根據一些實施例的示例性視訊編解碼配置100。相機102A-102N為N個數目的相機,而且可以是任何類型的相機(例如包括音訊記錄功能與/或分離相機和錄音功能的相機)。編碼裝置104包括一視訊處理器106與一編碼器108。視訊處理器106處理接收自相機102A-102N的視訊,例如拼接、投影、與/或映射。編碼器108編碼與/或壓縮二維視訊資料。解碼裝置110接收編碼後的資料。解碼裝置110可以通過廣播網路、通過移動網路(例如,蜂巢網路)與/或通過互聯網來接收作爲視訊産品的視訊(例如,數位視訊磁碟或其他計算機可讀媒體)。解碼裝置110可以是例如計算機、一手持裝置、頭戴式顯示器的一部分或具有解碼能力的任何其他裝置。解碼裝置110包括解碼器112,其被配置爲對編碼後的視訊進行解碼。解碼裝置110也包括一渲染器114,以將二維內容渲染回復為可播放的一格式。顯示器116顯示來自渲染器114所渲染的內容。
一般而言,3D內容可以利用球面內容加以表現來提供一360度的場景觀賞(例如,有時稱為全方向的媒體內容)。雖然有一些觀賞可以使用3D球面來支援,一終端使用者通常僅觀賞3D球面上一部份的內容。用來傳輸整個3D球面所需要的頻寬會對網路造成極大的負擔,而且可能不足以支援球面內容。因此,需要使3D內容的傳遞更有效率。可以進行基於視口處理來改善3D內容的傳遞。3D球面內容可以被分割為區域/方塊/次-畫面,而且只有那些與觀賞銀幕(例如,視口)相關的才可以被傳輸與傳遞給終端使用者。
第2圖依據一些實施例顯示出用於VR內容的一基於視口內容流程處理200。如所顯示的,球面視口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)。
如第2A圖所顯示,視口的概念是終端使用者所觀賞的,涉及了在球面上區域的角度與大小。一般對於360度內容而言,此技術會傳遞所需方塊/次-畫面內容給客戶以涵蓋使用者所將觀賞到的。此一過程為基於視口,因為此技術僅傳遞涵蓋有興趣的當前視口的內容,而非整個球面內容。視口(例如,一種球面區域的類型)可以改變且因此不是靜態不動的。例如,當使用者移動他們的頭時,系統則需要獲取相鄰的方塊(或次-畫面)以涵蓋使用者接下來想要觀賞的內容。
點雲資料可以包括在一場景的一組3D點。每一點可以基於一(x, y, z)位置與顏色信息(例如(R,V,B)、(Y,U,V)、反射率、透明度與/或類似信息)來加以指明。點雲的點通常並非有序(ordered),而且通常不包括與其他點(例如,使得每一點被指明而無需參考其他點)的關係。點雲資料在許多應用上可以很有用,例如提供6DoF的3D 沈浸式媒體體驗。然而,點雲信息會消耗相當數量的資料,如果經由網路連接在裝置間轉移時進而會消耗相當數量的頻寬。例如,如果不經壓縮,在一場景中的800,000點會消耗1Gbps。因此,壓縮通常是必需的以使點雲資料在基於網路的應用上是有用的。
MPEG組織已經致力於點雲壓縮以降低點雲資料量的大小,其可以致能用於在其他裝置上即時的點雲資料串流。第2B圖依據一些例子顯示出用於點雲內容作為一般性視口/ROI(例如3DoF/6DoF)處理模型的一特定例證的一示例性處理流程230。處理流程230被進一步詳細描述於,例如文件N17771 “PCC WD V-PCC(Video-based PCC),2018年7月在斯洛維尼亞的盧布爾雅那(Ljubljana,SI),該文件全文以引用方式在此併入本文。客戶裝置232接收點雲媒體內容檔案234,其是由二個2D平面視訊位元流與指明一2D平面視訊至3D容積視訊轉換的元資料所組成。此內容2D平面視訊至3D容積視訊轉換的元資料可以在如時間印記後的元資料軌道的檔案層級(file level)或是在如SEI訊息的2D視訊位元流之內找到。
剖析模組236讀取點雲內容234。剖析模組236傳遞二個2D視訊位元流238至2D視訊解碼器240。剖析模組236傳遞2D平面視訊轉3D容積視訊轉換元資料242至2D視訊轉3D點雲轉換模組244。在本地客戶裝置的剖析模組236可以傳遞需要遠端渲染(remote rendering;例如,具有更多計算能力、特殊化的渲染引擎、與/或類似的)的一些資料至一遠端渲染模組(未顯示)以用於部份渲染(partial rendering)。2D視訊解碼器模組240對於2D平面視訊位元流238進行解碼以產生2D像素資料。2D視訊轉3D點雲轉換模組244將來自2D視訊解碼器240來的2D像素資料轉換至3D點雲資料,如果必要時會使用從剖析模組236所接收的元資料242。
渲染模組246接收關於使用者的6度視口信息的信息而且決定所要渲染的點雲媒體的部份。如果一遠端渲染器被使用,使用者的6DoF視口信息也可以被傳遞至遠端渲染模組。渲染模組246藉由使用3D資料或是3D資料與2D像素資料的一組合來產生點雲媒體。如果有來自一遠端渲染模組所部份渲染的點雲媒體資料,則渲染器246也可以將此資料與本地渲染的點雲媒體相結合,來產生顯示於顯示器248的最後點雲視訊。使用者互動信息250,例如在3D空間的一使用者位置或是此使用者的方向與視口,可以被傳遞給涉及處理點雲媒體的模組(例如剖析模組236、2D視訊解碼器240與/或視訊轉點雲轉換器244),以依據使用者互動信息250來動態改變用於內容適應性渲染的資料的部份。
用於點雲媒體的使用者互動信息需要被提供來達成這種基於使用者互動的渲染。尤其,使用者互動信息250必須被明確化與被發信來使得客戶裝置232與渲染模組246進行溝通,這包括提供使用者所選擇的視口。點雲內容可以經由編輯剪裁(editor cuts)、或由推薦、或引導式觀賞(guided views)、或視口來呈現給使用者。第2C圖依據一些例子顯示出一自由視點路徑(free-view path)250的一例子。自由視點路徑250讓使用者可以依循路徑移動從不同觀點來觀賞場景252。
例如,用於內容的一平坦檔案結構可以被使用於一單一電影的一視訊軌道。對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'與'cmp1';為了說明目的而且不是作限制之用。相同地,在元資料軌道所示的元資料是為了說明目的而且不是作限制之用。例如,來自OMAF的元資料方塊可以被用來描述於文件 w17235,標題為“Text of ISO/IEC FDIS 23090-2 Omnidirectional Media Format”,MPEG 第120次會議,2017年10月,於中國的澳門(Macau,China),上述的全部內容在此以引用方式併入本文。
第3圖所示軌道的數目是為了說明而且不是作限制之用。例如,有些中間推導出的軌道(intermediate derived track)在如第3圖所示的階層中並不一定需要時,相關的推導步驟可以被合成為一(例如,其中逆打包與逆投影被合成起來以消除投影後軌道306的存在)。
第4圖為依據一些例子的一編碼與解碼架構400的一示例圖。架構400可以因應在VR360影音媒體中提供多至三個自由度的導航的應用。架構400可以是一MPEG-I架構,例如,MPEG-I部份2的第一版本(OMAF)所因應者,其被描述於文件N17563,標題為“Revised text of ISO/IEC FDIS 23090-2 Omnidirectional Media Format”,於美國的聖地牙哥(San Diego,US)(2018年4月),上述的全部內容在此以引用方式併入本文。如所示,架構400包括一取得組件402來取得與影像拼接、投影與映射組件404以及一聲音編碼組件406相通聯的多媒體資料。影像拼接、投影、與映射組件404是與視訊編碼組件408以及影像編碼組件410相通聯。聲音編碼組件406、視訊編碼組件408、以及影像編碼組件410是與檔案/分段囊封(file/segmentation encapsulation)組件412相通聯,組件412也可以接收來自影像拼接、投影、與映射組件404的元資料。組件404-412可以被視為架構400中的編碼組件。
檔案/分段囊封組件412是與傳遞組件414相通聯,上述二者皆與檔案/分段去囊封(file/segmentation decapsulation)組件416相通聯。檔案/分段去囊封組件416是與聲音解碼組件418、視訊解碼組件420、以及影像解碼組件422相通聯。聲音解碼組件418是與聲音渲染單元424相通聯,聲音渲染單元424是與聲音輸出裝置432(例如揚聲器或頭戴耳機)相通聯。視訊解碼單元420與影像解碼單元422是與影像渲染組件426相通聯,影像渲染組件426是與顯示器430相通聯。如所示,一頭/眼追蹤組件428可以被使用來提供定向(orientation)/視口元資料給傳遞組件414、檔案/分段去囊封組件416、視訊解碼組件420、影像解碼組件422、影像渲染組件426、聲音解碼組件418、以及聲音渲染單元424。檔案/分段去囊封組件可以提供元資料給影像渲染組件426。組件416-428可以被視為架構400中的解碼組件。對3DoF,頭/眼追蹤組件428與使用者的頭部互動來追蹤頭部運動,並如所示提供反饋來決定要傳遞什麼媒體資料。
第5圖依據一些例子顯示出一編碼與解碼架構500的一示例圖。例如,架構500可以是MPEG-I的另一個示例性架構(例如,與架構500相比較),以設計來支援不只是三個自由度的導航,而且也在有限度的空間讓使用者橫向地(laterally)移動他們的頭。如第4-5圖所示類似的MPEG-I架構被描述於例如文件N17888,標題為“MPEG-I Architecture”,2018年7月,於斯洛維尼亞的盧布爾雅那(Ljubljana,SK),上述的全部內容在此以引用方式併入本文。
架構500包括一取得組件502來取得與影像(一或多個)拼接、投影與映射組件504以及一聲音編碼組件506相通聯的多媒體資料。影像(一或多個)拼接、投影、與映射組件504是與視訊(一或多個)編碼組件508以及影像(一或多個)編碼組件510相通聯。聲音編碼組件506、視訊(一或多個)編碼組件508、以及影像(一或多個)編碼組件510是與檔案/分段囊封組件512相通聯,組件512也可以接收來自影像拼接、投影、與映射組件504的元資料(包括深度信息)。組件504-512可以被視為架構500中的編碼組件。
檔案/分段囊封組件512是與傳遞組件514相通聯,上述二者皆與檔案/分段去囊封組件516相通聯。檔案/分段去囊封組件516是與聲音解碼組件518、視訊(一或多個)解碼組件520、以及影像(一或多個)解碼組件522相通聯。聲音解碼組件518是與聲音渲染單元524相通聯,聲音渲染單元524是與聲音輸出裝置532(例如揚聲器或頭戴耳機)相通聯。視訊(一或多個)解碼單元520與影像(一或多個)解碼單元522是與影像合成與渲染組件526相通聯,影像合成與渲染組件526是與顯示器530相通聯。如所示,一頭/眼追蹤組件528可以被使用來提供定向(orientation)/視口元資料給傳遞組件514、檔案/分段去囊封組件516、視訊(一或多個)解碼組件520、影像(一或多個)解碼組件522、影像合成與渲染組件526、聲音解碼組件518、以及聲音渲染單元524。檔案/分段去囊封組件416可以提供元資料(包括深度信息)給影像合成與渲染組件526。組件516-528可以被視為架構500中的解碼組件。
與架構400相比較,組件 504、508、510、520與522因而可以處理多於一個的影像或視訊。此外,影像(一或多個)拼接、投影與映射組件504以及檔案/分段去囊封組件516所提供的元資料可以包括深度信息。另外,與第4圖的影像渲染組件426相比較,影像合成與渲染組件526包括合成。尤其對於3DoF+,可能有更多視訊或影像需要被編碼來使得一使用者移動他們的頭來於不同角度與位置觀賞多媒體內容。因此,架構500包括多面向來處理額外的內容。
在上述架構所描述的處理功能(例如,MPEG-I處理功能)可以使用各種框架來加以施行。在一些實施例中,可以利用網路資源(例如,基於雲端的資源)使框架可以被用來進行基於網路的媒體處理。例如,有些或所有媒體處理可以在雲端加以進行(例如,在傳遞到一終端裝置之前)。如此處進一步所描述者,一或多基於雲端的媒體處理實體可以被用來提供基於網路的多媒體處理功能。例如,一實體可以進行投影,另一實體可以進行映射,一第三實體進行拼接,或類似的。因此,一實體池可以被創建來施行所想要的功能。
第6A圖顯示出媒體處理框架600的一例子,可以被用來利用網路資源(例如,雲端資源)來施行一些處理功能。此種媒體處理框架的一例子被提議於基於網路媒體處理(Network-Based Media Processing,NBMP)活動的文件N17502,標題為 “Use cases and requirements for NBMP (v4)”,2018年4月,於美國的聖地牙哥(San Diego,US),上述的全部內容在此以引用方式併入本文。媒體處理框架600包括一媒體來源602,例如一相機、一個人電腦、儲存、與/或一實時編碼器(live encoder)。媒體來源602使用NBMP格式來提供內容給媒體處理實體(MPE)604。如第6A圖所示,多種MPE被使用;在此例子中MPE604使用NBMP格式來與一第二MPE610進行聯繫。每一MPE可以包括控制功能(一或多個)與/或處理功能(一或多個),如所示用於MPE604,包括控制功能606與處理功能608。MPE604將多媒體資料與一媒體接收器(media sink)612(例如一媒體播放器)進行聯繫。多媒體資料可以為一公開格式,例如共同媒體應用格式(Common Media Application Format,CMAF)、基於HTTP的動態自適性串流(Dynamic Adaptive Streaming over HTTP,DASH)、多媒體處理單元(Multimedia Processing Unit,MPU)、HTTP實時串流(HTTP Live Streaming,HLS)、MPEG-2 轉換串流(transport stream,TS),與/或諸如此類。
第6B圖依據一些實施例顯示出一媒體處理框架650的另一例子。與第6A圖類似,框架650包括一媒體來源652(與NBMP來源653為分開),一組一或多個MPE654(配置來執行一或多個任務,本例子中顯示為任務1與任務2)與一媒體接收器656。框架650也包括一NBMP工作流程管理者(NBMP workflow manager)658,來與MPE654(例如,本例子中為任務1)以及一可選的功能儲存庫(optional function repository)660進行聯繫。
當現有的媒體來源被儲存或囊封於ISOBMFF的媒體軌道(例如,如描述於ISO/IEC 14496-12:2015,標題為“Information technology – Coding of audio-visual objects – Part 12: ISO Base Media File Format”,上述的全部內容在此以引用方式併入本文),一視覺軌道可以被建構為藉由其包含類型為'dtrk'的樣本項目所加以識別的一推導出軌道。一推導出樣本可以包含操作的一有序列表(ordered list)來進行於輸入影像或樣本的一有序列表。每一操作可以藉由轉換特性(在此也被稱為一轉換特性,TransformProperty)來加以指明或指示出。因此,一推導出軌道可以包含指令,以轉換特性TransformProperty項目的形式,於如何從其輸入軌道的內容資料來產生/製造其內容資料(例如,樣本)。因為,推導出軌道也是軌道,推導出軌道可以與非-推導出軌道一起被用來推導其他推導出軌道,以及形成軌道推導的階層,以及建立軌道推導的工作流程。轉換特性TransformProperty的例子包括:(1) 'idtt': 身分(identity),(2) 'clap': 清潔孔徑(clean aperture),(3) 'srot': 旋轉(rotation),(4) 'dslv': 溶解(dissolve),(5) '2dcc': ROI剪裁(ROI crop),(6) 'tocp': 軌道覆蓋組成(Track Overlay Composition,(7) 'tgcp': 軌道格柵合成(Track Grid Composition,(8) 'tgmc': 使用矩陣數值的軌道格柵合成(Track Grid Composition using Matrix values),(9) 'tgsc': 軌道格柵次畫面合成(Track Grid Sub-Picture Composition),(10) 'tmcp': 轉換矩陣合成(Transform Matrix Composition),(11) 'tgcp': 軌道群組合成(Track Grouping Composition),以及 (12) 'tmcp': 使用矩陣數值的軌道群組合成(Track Grouping Composition using Matrix Values)。
在例如VR、FTV、與NBMP的許多應用中,令人想要從ISOBMFF中的現有軌道發信並推導出軌道作為媒體處理的結果。此外,可能令人想要使用基於網絡的媒體處理來建構推導出軌道與進行推導出軌道處理。例如,對視口處理,接收裝置(例如,移動裝置)可能無法將各種處理考量因素納入考慮,諸如網絡資源約束、頻寬、功耗等諸如此類。由於移動裝置無法將這些考量因素納入考慮中,它使得在移動裝置內渲染視口(rendering a viewport)越來越困難,因此令人想要將視口渲染的各面向移至基於網絡/基於雲端的資源中。然而,當前基於網絡的媒體處理框架是基於的平坦檔案格式(flat file format),因此不支援階層式軌道結構的(或進行軌道推導操作,例如以支援基於VR視口的內容流程序)。例如,對MPE的典型輸入是一平坦ISO檔案格式、MPEG-2傳輸串流等諸如此類。此外,MPE處理的當前配置是為一特定MPE功能提供一識別子(identifier),並且MPE在儲存庫(repository)或資料庫中查找該識別子,以決定一特定功能的語義。因此,MPE的當前輸入不提供藉由MPE所要進行功能的任何實際規格。
在此所描述的技術提供以基於網路的媒體處理框架來使用一軌道階層式結構。在一些例子中,每一基於網路的MPE可以進行一或多個軌道推導操作,使得每一處理功能可以用一軌道推導來施行實作。例如,參考第6A圖,每個MPE的輸入可以是(1)一或多個輸入軌道,以及(2)一推導出軌道,其中每個推導出軌道可以具有任何數目的輸入軌道。推導出軌道指明一或多個轉換特性,以便將MPE配置為使用輸入軌道來建構用於推導出軌道的樣本。在一些實施例中,推導出軌道可以是一特定MPE的處理輸出。因此,一組MPE可以藉由使用用於每一步驟的各種輸入軌道與相關聯推導出軌道來施行實作整個編碼與/或解碼架構,以提供用於軌道推導的處理功能描述。因此,這些技術可以使用軌道推導作為提供指令的方式,而上述指令對於藉由一特定MPE來進行多媒體處理可加以施行實作。
在此所描述的技術提供還為如上於3DoF和3DoF+架構所討論的媒體處理操作,提供了用於軌道推導新的轉換特性項目的說明性例子。儘管在此提供某些示例性語法並結合這些例子,但是應當理解,這種配置(包括示例性功能名稱、參數、相關聯的功能、與/或諸如此類)僅用作例子而非意圖加以限制。如在此所進一步描述,示例性轉換特性可以包括:'stch':(例如,全方位視頻)拼接;'proj':(例如,全方位視頻)投影,'pack':(全方位視頻)打包; 'subp':(例如,全方位視頻)次畫面; 'trsc':轉碼(例如,於所想要的位元率); 'vpot':(例如,全方位視頻)視口(例如,用於前置-渲染); 'sel1':選擇一個; 'scal':縮放;與/或'srez':重調尺寸大小。作為額外例子,加密與解密(例如,逆向加密)可以被提供,例如藉由使用一時變元資料軌道(例如,類似於使用一視口操作)或不使用一時變元資料軌道(例如,類似於使用投影與打包操作),例如依據文件N14849所描述的共同加密(Common Encryption),標題為 “ISO/IEC 23001-7 3nd Edition - Common encryption in ISO base media file format files”,2014年10月,在法國的史特拉斯堡(Strasbourg,Fr),該文件全文以引用方式在此併入本文。其他操作(例如在NBMP中所提超級解析度與基於QoE的上縮放(upscaling))也可以類似地加以提供。
該技術也提供了機制以用於推導出軌道的集合或一軌道群組來作為一軌道推導操作的一輸出。此種機制對於使用案例是有用的,例如對於需要將多個推導出軌道分組在一起來指示出它們之間關係,例如用於自適應串流中於不同位元率進行轉碼(例如,在DASH所完成的,如描述於N17813,標題為“Revised text of ISO/IEC FDIS 23009-1 3rd edition”,2018年7月,在斯洛維尼亞的盧布爾雅那(Ljubljana,SK),該文件全文以引用方式在此併入本文),或用於基於視口沉浸式媒體處理的次畫面軌道產生(例如,在OMAF所完成的。為了說明性的目的,此種軌道群組推導機制藉由兩個示例性轉換特性加以說明:'subp'(例如,全方位視頻)次畫面與'trsc':轉碼(例如,於所想要的位元率),其意在說明而非加以限制。
在一些實施例中,一拼接轉換特性可以被提供,例如拼接'stch'轉換特性,其對每一樣本為可選的(optional)而且可以任何數量加以指明。拼接轉換特性可以提供信息以用於輸入軌道的拼接影像程序,以及將他們映射至一投影表面,而產生一拼接後的視覺軌道(例如,依據各種混和(blending)參數,如所熟知,如那些使用於拼接影像描述於https://en.wikipedia.org/wiki/Image_stitching,此文件全文以引用方式在此併入本文)。在一些實施例中,轉碼'stch'轉換特性(當存在時)可以包括大於1的一num_input,並且用於相對應拼接操作的輸入實體可以是視覺軌道。當一輸入實體是視覺項目時,可以將其視為包含相同視覺項目的一樣本的一視覺軌道。
在一些實施例中,拼接轉換特性可以指明每一輸入實體的寬度和高度、由拼接輸入實體的相對應樣本所得到的一推導出樣本的一投影表面類型、以及用於混合輸入樣本的覆蓋區域的一可選的混合模式。寬度和高度參數可加以省略,如同,假設它們的數值被攜帶在輸入實體中。在一些例子中,此轉換特性可以被分割為數個轉換特性,每一轉換特性相對應於一特定的投影表面類型,這可以消除投影表面類型的發信。例如,對於投影表面類型為球形的全方位視頻拼接,例如在基於雲端的360 VR拼接(例如,N17502的第4.1.5小節)的使用案例中,一轉換特性'ovst'(用於“全方位視頻拼接”)可以用如'stch'的相同方式加以指明,但省略了投影表面類型。類似地,對於投影表面類型為2D平面的全景拼接(panorama stitching),例如在網路輔助VR拼接的使用案例中(例如,N17502的第4.1.1小節),一轉換特性為'pvst'(用於“全景視頻拼接” )可以被指明。在一些例子中,轉換特性可以僅提供進行視頻拼接所需的參數。在這些例子中,可以取決於拼接軌道推導的實作來找出如何進行視頻拼接的方法(例如,正確地、有效地、與/或高效地),如藉由考慮例如投影表面類型和混合模式。
第7圖依據一些例子顯示出用於一拼接轉換特性的一示例的語法700。image_width 702與image_height 704分別可以指明 影像的寬度與高度(以亮度樣本為單位)。 projection_surface_type 706可以指明拼接的樣本所要投影的表面的一類型,例如:一數值0用於直線的(Rectilinear),一數值1用於球面的(Spherical),一數值2用於圓柱的(Cylindered),一數值3用於立方體的(Cubic),以及4 ~ 15加以保留。當拼接覆蓋輸入視覺實體的區域時,blending_flag 708可以指示出是否涉及混和(blending)。alpha_blending_mode 710可以指明阿法混和模式(alpha blending mode)與下面示例的表格1中的數值。表格 1
數值 ( Value ) 合成模式 ( Compositing mode) 描述 (Description)
1 清除(Clear) 沒有區域被致能(No regions are enabled.)
2 來源(Source) 只有來源會存在(Only the source will be present.)
3 目的地(Destination) 只有目的地會存在(Only the destination will be present.) 
4 來源置於上(Source Over) 來源被置於目的地之上(Source is placed over the destination.)
5 目的地置於上(Destination Over) 目的地被置於來源之上(Destination is placed over the source.)
6 來源於內(Source In) 與目的地重疊, 取代目的地的來源(Source that overlaps the destination, replaces the destination.)
7 目的地於內(Destination In) 與來源重疊, 取代來源的目的地(Destination which overlaps the source, replaces the source.)
8 來源於外(Source Out) 來源被取代, 其中來源位於目的地之外(Source is placed, where it falls outside of the destination.)
9 目的地於外(Destination Out) 目的地被取代, 其中目的地位於來源之外(Destination is placed, where it falls outside of the source.)
10 來源於上(Source Atop) 與目的地重疊, 取代目的地的來源。其他地方目的地被取代 (Source which overlaps the destination, replaces the destination. Destination is placed elsewhere.)
11 目的地於上(Destination Atop) 與來源重疊, 取代來源的目的地。其他地方來源被取代(Destination which overlaps the source replaces the source. Source is placed elsewhere.)
12 互斥或(XOR) 來源與目的地非重疊的區域被結合(The non-overlapping regions of source and destination are combined.)
13 ~16 保留(Reserved)  
17 溶解(Dissolve) 從二層取得隨機的像素。在高不透明度下,多數像素取自來源層。在低不透明度下,多數像素取自目的地層(Takes random pixels from both layers. With high opacity, most pixels are taken from the source layer. With low opacity most pixels are taken from the destination layer.)
18 加(Plus) 顯示來源影像與目的地影像的總和(Display the sum of the source image and destination image.)
19 乘(Multiply) 來源顏色乘上目的地顏色並取代目的地(The source color is multiplied by the destination color and replaces the destination.)
20 篩選(Screen) 在二層的像素數值被反轉, 相乘, 且再次反轉(The values of the pixels in the two layers are inverted, multiplied, and then inverted again)
21 覆蓋(Overlay) 覆蓋結合乘與螢幕混和模式(Overlay combines Multiply and Screen blend modes.)
22 較深(Darken) 選擇目的地與來源顏色較深的(Selects the darker of the destination and source colors.)
23 較淺(Lighten) 選擇目的地與來源顏色較淺的(Selects the lighter of the destination and source colors)
24 顏色_躲閃(Color_dodge) 使目的地顏色明亮來反映來源顏色(Brightens the destination color to reflect the source color)
25 顏色_燃燒(Color_burn) 使目的地顏色黯淡來反映來源顏色(Darkens the destination color to reflect the source color)
26 硬_光(Hard_light) 取決於來源顏色數值而乘或篩選顏色 (Multiplies or screens the colors, depending on the source color value.)
27 軟_光(Soft_light) 取決於來源顏色數值而使顏色較深或較淺(Darkens or lightens the colors, depending on the source color value.)
28 差值(Difference) 從較淺顏色減去二成份顏色中較深的(Subtracts the darker of the two constituent colors from the lighter color)
29 互斥(Exclusion) 產生與差值類似的效果但是對比較低(Produces an effect similar to that of the Difference mode but lower in contrast.)
30 ~ 255 保留(Reserved) 用於新的模式或非可分離混和模式(For new modes or non-separable blending modes.)
表格1是示例性的目的,例如被定義於一分別的文件中(例如,ISO/IEC 23001-8或標題為“W3C: Composing and Blending 1.0”,W3C候選推薦(Candidate Recommendation),2015年1月,上述的全部內容在此以引用方式併入本文)的一表格(例如,以及相關的演算法與預設的參數)。在一些例子中,一參數(例如,在每一軌道TrackHeaderBox中‘層’(‘layer’)的參數數值以用來指明視覺軌道的前-到-後順序)可以被設定與使用以作為一相對前與後層指示子( indicator)來合成二軌道。在表格1中,術語‘來源’(‘Source’)以及‘目的地’(‘Destination’)分別可以是前方/上方層以及後方/下方層或背景幕(backdrop)。
blending_mode_specific_params 712可以指明具有一給定混和模式的可選的參數(optional parameter)。例如,blending_mode_specific_params 712可以被用來指明其他參數(除了使用那些被指明於例如ISO/IEC 23001-8的預設數值之外),例如阿法頻道資料(alpha channel data)。在一些實施例中,混和相關的參數可以用下列相同方式加以指明ISOBMFF TuC N17833,標題為“Technologies under Consideration for ISOBMFF”,2018年7月在斯洛維尼亞的盧布爾雅那(Ljubljana,SK),該文件全文以引用方式在此併入本文。
在一些實施例中,一投影轉換特性可以被提供,例如投影'proj'轉換特性,其對每一樣本為可選的(optional)而且可以任何數量加以指明。投影'proj'轉換特性可以提供信息以用於將一輸入軌道的影像投影至一2D平面的程序以形成一推導出軌道,例如依據一投影格式像是OMAF中所給定的等距柱狀投影(Equi-rectangular Projection,ERP)與立方體映射投影(Cube Map Projection,CMP)。一指示子is_reverse可以被用來指示出操作是否為一(順向,forward)投影建構或一逆向投影。投影'proj'轉換特性(當存在時)可以使num_inputs等於1,而且用於相對應影像操作的輸入實體可以為一視覺軌道。
在一些實施例中,轉換特性可以假設輸入與(推導出)輸出軌道是OMAF-合規(OMAF-compliant)軌道。當操作是一(順向,forward)投影建構時(例如,is_reverse == 0),輸入軌道可以是一未投影(un-projected)畫面軌道,輸出軌道可以是一投影後(projected)畫面軌道,而且投影格式打包結構ProjectionFormatStruct()可以被發信(例如,在ProjectionFormatProperty之中),來指示出在投影後畫面的投影格式。當操作是一逆向投影建構時(例如,is_reverse == 0),輸入軌道可以是一投影後畫面軌道(其具有一投影格式項目特性包含一ProjectionFormatStruct()結構),輸出軌道可以是一未投影畫面軌道,而且投影格式結構ProjectionFormatStruct()可以是輸入軌道,用來指示出在投影後畫面的投影格式。
在一些例子中,指示子的引進可以是為了語法緊密度(syntax compactness)的目的;對投影與逆投影的轉換特性分開加以指明是可能的。在一些例子中,用於投影操作的約束num_inputs等於1可以被放鬆,以使操作個別地應用於每一輸入軌道;也就是說,建構num_inputs為投影後或未投影軌道(例如,如此處進一步一起與軌道群組推導所描述者)。在一些例子中,即使為了逆投影建構,ProjectionFormatStruct()可以被發信,例如為了改寫在輸入投影後畫面軌道中其所相對應者的目的。
第8A與8B圖分別為依據一些實施例用於一投影轉換特性的示例的語法800與850。每一語法800與850包括is_reverse 802,可以指示出操作是否為一(順向,forward)投影(例如,當等於0)或一逆向投影(例如,當等於1)。ProjectFormatStruct() 804與projection_type 806可以有相同的語法以及語意(如OMAF中所提供的)。
在一些實施例中,一打包轉換特性可以被提供,例如打包'pack'轉換特性,其對每一樣本為可選的而且可以用任何數量加以指明。打包'pack'轉換特性可以依據一打包方案(例如OMAF中所給定的區域性打包),提供信息以用於將一輸入軌道的區域進行轉換、重調尺寸大小、以及重定位的程序以形成一推導出軌道。一指示子is_reverse可以被用來指示出操作是否為一(順向,forward)打包建構或一逆向反打包。打包'pack'轉換特性(當存在時)可以使num_inputs等於1,而且用於相對應影像操作的輸入實體可以為一視覺軌道。
在一些例子中,此一轉換特性可以假設輸入與(推導出)輸出軌道是OMAF-合規(OMAF-compliant)軌道。當操作是一(順向,forward)打包建構時(例如,is_reverse == 0),輸入軌道是一投影後畫面軌道,輸出軌道可以是一打包後(packed)畫面軌道,而且區域性打包結構RegionWisePackingStruct()可以被發信來指示出在打包後畫面的每一打包後區域的位置、形狀、與尺寸大小。當操作是一逆向打包(或反打包)建構時(例如,is_reverse == 0),輸入軌道可以是一打包後畫面軌道(其具有一區域性打包項目特性包含一RegionWisePackingStruct()結構,輸出軌道可以是一投影後畫面軌道,而且在輸入軌道的區域性打包結構RegionWisePackingStruct()可以被用來指示出在打包後畫面的每一打包後區域的位置、形狀、與尺寸大小。
在一些例子中,指示子的引進可以是為了語法緊密度(syntax compactness)的目的;對打包與逆打包的轉換特性分開加以指明是可能的。在一些例子中,用於投影操作的約束num_inputs等於1可以被放鬆,以使操作個別地應用於每一輸入軌道;也就是說,建構num_inputs為打包後或未打包軌道(例如,如此處一起與軌道群組推導所討論者)。在一些例子中,即使用於逆投影建構,RegionWisePackingStruct()可以被發信,例如為了改寫在輸入打包後畫面軌道中其所相對應者的目的。
第9圖依據一些實施例顯示出用於一打包轉換特性的一示例的語法900。欄位is_reverse 902可以指示出操作是否為一(順向)打包(例如,等於0)或一逆向打包(例如,等於1)。在一些實施例中,RegionWisePackingStruct() 904可以有相同的語意(如OMAF中所提供的元資料)。
在一些例子中,打包轉換特性的結構可以類似於在OMAF中RegionWisePackingBox的結構,且在考慮以下:操作的輸入是輸入軌道(而非輸入區域),其數目是由num_inputs所加以指定(而非num_regions),而且有些簡化在於不規定每一輸入軌道具有其自己的打包_類型(packing_type)。應該可以理解的是,如果非區域性打包方案或其他打包類型要被使用時,除了此處所討論的那些之外,其他結構也可以用類似方式加以引入。
在一些實施例中,一次畫面轉換特性可以被提供,例如次畫面'subp'轉換特性,其對每一樣本為可選的而且可以用任何數量加以指明。次畫面'subp'轉換特性可以依據一次畫面軌道或軌道群組規格(例如,像是OMAF中所給定的一次畫面軌道群組),從一輸入合成(或超-畫面,super-picture)軌道來建構一次畫面軌道,或是從一輸入次畫面軌道的一數目來合成一合成畫面軌道。一指示子is_reverse可以被用來指示出操作是否為一(順向)次畫面建構或一逆向合成畫面。
在一些實施例中,次畫面'subp'轉換特性(當存在時)可以使num_inputs大於或等於1,而且用於相對應影像操作的輸入實體可以為視覺軌道。當操作為一(順向)次畫面建構時,num_inputs可以等於1,在輸入軌道中的每一視覺樣本影像可以大於或等於在SpatialRelationship2DSourceBox()所發信的尺寸大小,而且使用於次畫面建構的影像部份可以從原本的輸入影像(具有的尺寸大小與座標被發信於SubPictureRegionBox())來加以測量。當操作為一逆向合成畫面建構時,輸入軌道可以被約束為屬於一相同次畫面軌道群組,每一包含一次畫面軌道群組方塊SpatialRelationship2DDescriptionBox並具有track_group_type等於'2dcc',但沒有任何二個軌道屬於一相同替代性群組(alternate group)(例如,他們沒有包含具有一相同非-零替代性_群組(alternate_group)數值的軌道標頭方塊(Track Header Box)‘tkhd’,此數值指示出他們屬於一相同替代性群組,其目的是為了從該替代性群組中只選擇其中一個)。
在一些例子中,指示子is_reverse的引進可以是為了將轉換特性的一數目最小化的的目的;應該可以理解的是,對次畫面與逆向合成畫面建構的轉換特性分開加以定義是可能的。在一些例子中,即使為了合成畫面建構,SpatialRelationship2DSourceBox()與SubPictureRegionBox()可以被發信,例如為了改寫在輸入次畫面軌道中其所相對應方塊的目的。在一些例子中,次畫面轉換特性可以與用於有興趣區域(ROI)選擇( “Region of interest (ROI) selection”)、“2dcc” 的轉換特性不相同,這是由於後者需要二個輸入軌道,一個為視覺而且另一個時變元資料(timed metadata)以提供潛在時間變異ROI信息;而次畫面轉換特性可以被用來選擇一靜態與固定(static and fixed)的長方形區域。
第10圖依據一些實施例顯示出用於一次畫面轉換特性的一示例的語法。欄位is_reverse 1002指示出操作是否為一(順向)次畫面分割(例如,等於0)或一逆向次畫面合成(例如,等於1)。SpatialRelationship2DSourceBox() 1004與SubPictureRegionBox() 1006可以有相同的語法以及語意,例如定義於OMAF第二版工作文稿,如描述於文件w17827,標題為“WD of ISO/IEC 23090-2 2nd edition OMAF”,2018年7月在斯洛維尼亞的盧布爾雅那(Ljubljana,SK),該文件全文以引用方式在此併入本文。他們分別指明合成畫面的尺寸大小,以及每一次畫面的尺寸大小與位置。
在一些實施例中,一轉碼轉換特性可以被提供,例如轉碼'trsc'轉換特性,其對每一樣本為可選的而且可以用任何數量加以指明。轉碼'trsc'轉換特性可以依據給定的參數(例如混和參數(blending parameter),像是在此所描述使用於影像拼接的那些參數),來提供信息以用於將一輸入軌道的影像在一想要的位元率進行轉碼的程序,以形成一轉碼後視覺軌道。轉碼'trsc'轉換特性(當存在時)可以使num_inputs等於1,而且用於相對應轉碼操作的輸入實體可以為一視覺軌道。此轉換特性可以指明一想要的位元率、一幀速率(frame rate)、以及從輸入實體所轉碼的一推導出樣本的參考寬度與高度。應該可以理解的是,轉碼轉換特性僅顯示作為轉碼的一個例子。其他類型的轉碼特性可以被指明,例如一具上限的位元率(capped bit rate),“pre-transcoding” 如在N17502所給出的NBMP使用案例與規定,與/或類似的。
第11圖依據一些實施例顯示出用於一轉碼轉換特性的一示例的語法1100。frame_rate 1102可以指明轉碼後視覺軌道每秒鐘幀影像的數目(乘以100)。image_width 1104與image_height 1106可以分別指明轉碼後影像的寬度與高度(以亮度樣本為單位)。位元率1108可以指明轉碼後視覺軌道的常數(constant)或具上限的位元率(以kbits/s)。
在一些實施例中,一視口轉換特性可以被提供,例如視口'vpot'轉換特性,其對每一樣本為可選的而且可以用任何數量加以指明。視口'vpot'轉換特性可以依據一視口規格(例如OMAF中所給定用於一(時變)球面區域的規格),來從一輸入全方位視訊軌道的球面樣本影像來建構(或擷取,extract)視口樣本影像。視口'vpot'轉換特性(當存在時)可以使一num_inputs等於2。用於相對應影像操作的輸入實體可以為一全方位視訊軌道與一球面區域時變元資料軌道,例如'rosc'(球面區域)或'rcvp'(推薦的視口)時變元資料軌道,並具有對視覺軌道的一'cdsc'軌道參考。
在一些實施例中,視口轉換特性可以使用時變元資料軌道的球面區域元資料,來從輸入視訊軌道的樣本來擷取視口樣本。換言之,球面區域元資料軌道可以規範性地被應用在用於視口轉換特性的輸入實體的視訊軌道。影像操作的輸出可以只包含由球面區域元資料軌道所指定的球面區域。在一些實施例中,當一靜態、固定的視口是所想要的,可以僅使用一單一球面區域定義而對一分別的轉換特性加以指明,例如在OMAF中的球面區域結構SphereRegionStruct(),而不使用時變球面區域元資料軌道。
在一些實施例中,一轉換特性的一選擇可以被提供,例如一個'sel1'轉換特性的選擇,其對每一樣本為可選的而且可以用任何數量加以指明。一個'sel1'轉換特性的選擇,是從屬於一相同替代性群組的輸入視覺軌道中的一個軌道藉由選擇其中數個樣本影像來加以建構樣本影像。此轉換特性(當存在時),可以使輸入項目(input entries)num_input的一數目大於或等於1,而且輸入項目可以是屬於一相同替代性群組(即指明於ISOBMFF之中的相同替代性群組)的視覺軌道。此轉換特性可以指明一推導出軌道,其中樣本的每一個是從數個輸入軌道中的一個所選擇的一樣本影像。在一些實施例中,如果目標是從一相同替代性群組的一輸入軌道的列表中選擇一軌道,則一分別的轉換特性(例如一軌道(或實體,entity)的選擇)可以被定義。此外,一轉換特性的選擇(Selection of One transform property)可以用屬性(attribute)與參數加以擴增,以對基於樣本影像應該如何製作樣本影像的選擇來加以發信。
在一些實施例中,一縮放轉換特性可以被提供,例如縮放'scal'轉換特性,其對每一樣本為可選的而且可以用任何數量加以指明。此縮放'scal'轉換特性(當存在時),可以使輸入項目num_input的一數目等於1,而且輸入項目可以是屬於一視覺軌道或一影像物件。此轉換特性可以用百分比為單位縮放輸入視覺軌道的樣本影像。第12圖依據一些實施例顯示出用於一縮放轉換特性的一示例的語法1200。除以100後的百分比1202數值可以指明輸入樣本影像的一縮放因子。
在一些實施例中,一重調尺寸大小轉換特性可以被提供,例如重調尺寸大小' srez'轉換特性,其對每一樣本為可選的而且可以用任何數量加以指明。此重調尺寸大小' srez'轉換特性(當存在時),可以使輸入項目num_input的一數目等於1,而且輸入項目可以是屬於一視覺軌道。此轉換特性可以依據一寬度與一高度對輸入視覺軌道的樣本影像重調尺寸大小。第13圖依據一些實施例顯示出用於一重調尺寸大小轉換特性的一示例的語法1300。image_width 1302與 image_height 1304分別給予重調尺寸大小後的輸入樣本影像的寬度與高度。
在此描述的技術提供了用於推導出一軌道或一軌道群組的集合。在預設情況下,現有的軌道推導選項(例如,N17833所描述列表於ISOBMFF TuC的那些選項)考慮將一單一推導出的軌道作為軌道推導的輸出。在一些情況下,例如轉碼和次圖片產生(其中軌道推導常被使用來產生一組軌道(例如,一組具有不同位元率的軌道以及次圖片軌道的一集合)),可能需要有一推導出的軌道組以作為輸出。根據一些實施例,一新的軌道群組推導機制(例如,基於在 ISOBMFF TuC中的軌道推導機制列表的各面向),具有支援一軌道群組推導的特性。在一些實施例中,除了輸入或實體(例如,用於選項1-3的 ‘num_inputs’ ,或用於TuC中選項4的‘input_count’) 的數目之外,一欄位(例如,‘num_outputs’或 ‘output_count’)可被用來對輸出推導出的軌道(或實體)的數量加以發信。
第14圖依據一些實施例顯示出用於輸出一軌道群組的一示例的語法1400。第14圖顯示出了TuC中的選項3(Option 3)的語法和語義的一例子,其被應用於軌道群組推導以包括一num_outputs欄位1404與使用於迴圈(loop)的num_outputs 1404的相關處理,如語法1400所示。當設定為0時,它可以指示出唯一的輸入是先前ImageOperation的輸出。num_outputs 1404可以指定用於此影像操作的輸出實體的數目。entity_idx 1406可以是類型'dtrk'的TrackReferenceTypeBox的基於-1的索引,或數值0來指示先前ImageOperation的輸出。當entity_idx 1406指向解析(resolve to)為一影像序列軌道的一軌道ID的一ID值時,函數IsPictTrack(entity_idx)可以被指明為返回1,而否則函數IsPictTrack(entity_idx)可以被指明為返回0。如果entity_idx 1406參考一個軌道而且sample_offset_flag等於1,sample_offset 1408可以存在,而且它對樣本的偏移量(正或負)相對於推導出樣本的解碼時間加以編碼。sample_offset 1408(當不存在時)被推論為等於0。在某些例子中,樣本0(零)是與推導出的視覺軌道的樣本的解碼時間相比較具有相同或最接近的先前解碼時間的樣本;樣本1(一)是下一個樣本,樣本-1(負1)是上一個樣本,依此類推。
第15圖依據一些實施例顯示出用於輸出一軌道群組的另一示例的語法1500。語法1500顯示TuC中選項 4(Option 4)的語法與語意的一例子,TuC藉由包括類別(class) VisualDerivationOutputs、類別 ‘doup’與在視覺推導(Visual Derivation)‘dimg’類別的VisualDerivaitonOutputs 欄位輸出1504 而被採納用於軌道群組推導。
在此所描述的技術可以提供用於推導出軌道群組的轉換特性。為了方便解釋,在此提供二個例子,一個用於轉碼而另一個用於次次畫面。對接下來的例子,順向轉碼可以導致轉碼後軌道的一替代性群組,而順向次畫面可以導致次畫面視覺軌道的一次畫面軌道群組。
例如,對於轉碼,可能有必要將多媒體資料轉碼為數個不同的位元率。因此,使一MPE能夠將多媒體資料轉碼為一組不同的位元率是令人期待的。一轉碼轉換特性可以被提供來創建一替代性群組的軌道,例如轉碼'tcdb'轉換特性,其對每一樣本為可選的而且可以用任何數量加以指明。與結合第11圖所討論的轉碼轉換特性相類似,轉碼'trsc'轉換特性(如果存在時)可以具有num_inputs等於1,而且用於相對應轉碼操作的輸入實體可以是一視覺軌道。轉換特性可以指明一幀速率、參考寬度與高度、以及從用於每一輸出轉碼後軌道的輸入實體所轉碼的一推導出樣本所想要的一位元特率。輸出轉碼後的視覺軌道可以形成一替代群組(例如,根據ISOBMFF的一替代群組)。
第16圖依據一些實施例顯示出可以產生一替代性的轉碼後軌道群組的轉碼的一示例的語法1600。frame_rate 1602可以指明轉碼後視覺軌道每秒鐘幀影像的數目(乘以100)。image_width 1604與image_height 1606可以分別指明轉碼後影像的寬度與高度(以亮度樣本為單位)。位元率1608可以指明轉碼後視覺軌道的常數(constant)或具上限的位元率(以kbits/s)。
像轉碼一樣,指明不同的次畫面(包括如何將一畫面分割為次畫面)是令人想要的。一次畫面轉換特性可以被提供來創建次畫面視覺軌道的一次畫面軌道群組,例如轉碼'subp'轉換特性,其對每一樣本為可選的而且可以用任何數量加以指明。次畫面的'subp'轉換特性可以根據一次畫面軌道或軌道群組的規格(例如,如OMAF中所給出用於一次畫面軌道群組的規格)從一輸入合成(或超畫面)軌道來建構次畫面軌道的一次畫面軌道群組。該次畫面'subp'轉換特性(當存在時)可以具有一num_inputs等於1,而且用於相對應影像操作的輸入實體可以是一視覺軌道。輸入軌道中的每一視覺樣本影像都可以大於或等於在SpatialRelationship2DSourceBox()中所發信的尺寸大小,而且用於次畫面結構的影像的部份被發信於SubPictureRegionBox()中而且從輸入影像的起原來加以測量。輸出次畫面的視覺軌道形成一次畫面軌道群組(例如,與OMAF第二版中所提供的次畫面軌道群組相一致)。第17圖根據一些實施例顯示出用於一次畫面轉換特性的一示例性語法1700,來創建次畫面視覺軌道的一次畫面軌道群組。SpatialRelationship2DSourceBox()1702和SubPictureRegionBox()1704可以具有與m40385中第二版OMAF的工作草案中所提供相同的語法和語義。他們可以分別指明合成畫面的尺寸大小以及每一次畫面的尺寸大小語位置。
發明人發現並理解到,基於媒體處理的傳統技術利用了要求使用基於索引的對照表方式來指明功能的一平坦檔案結構。此傳統方式並不提供用於跨不同媒體處理實體的分別各種處理任務。此傳統方式也沒有提供藉由使用一階層式軌道結構來在跨一個或多個網絡處理實體之間分派基於網絡的處理任務所可利用獲得的靈活性。此外,用於基於網絡的媒體處理的傳統技術通常指明媒體內容之外的處理功能,而不是指明媒體內容本身之內的媒體功能。在媒體內容之外指明處理功能可能導致易於出錯的內容處理,不可相容操作性等諸如此類。
發明人已經對傳統基於媒體的處理任務發展技術改進,以利用一階層式軌道結構來在跨一個或多個網絡處理實體之間分派任務。此技術包括提供任務指令資料以指明要在輸入媒體樣本上進行的任務(一或多個)。在一些實施例中,任務指令資料可以被指明為分別的轉換操作與/或藉由將任務指令資料包括在推導出的軌道中(不產生其樣本)。一媒體處理實體可以被配置為進行藉由任務指令資料所指明的任務,來修改輸入媒體樣本以產生囊括於(encapsulated)新的輸出軌道(一或多個)中修改後的媒體樣本。因此,藉由利用一階層式軌道結構來分派任務給媒體處理實體,媒體處理任務可以被指明在檔案格式層級(file format level)。與在媒體內容之外指明處理功能的傳統方法相比較,階層式軌道結構方法可以提供一種標準方式來在所囊括的媒體包(encapsulated media package)本身之中承載媒體處理功能,這可以致能跨不同平台和系統的相互操作性,而導致免於錯誤(error-free)的處理等諸如此類。
在一些實施例中,在此所描述的技術提供了使用軌道推導操作,例如那些描述於w18640,標題為“WD of Derived visual tracks in the ISO base media file format”,2019年7月,瑞典的哥德堡(Gothenburg,SE)(“w18640”),其中上述的全部內容在此以引用方式併入本文,以作為用於基於網路媒體處理之類的應用的一媒體處理機制。該技術提供了基於輸入軌道來產生新的輸出軌道,其中所推導出的媒體資料(例如,尤其是它們的樣本)被包括在輸出軌道中(例如,其中輸出軌道(一或多個)與到該任務的輸入軌道不同)。在一些實施例中,一媒體處理實體藉由在由輸入任務指令資料所指明的輸入軌道上執行一或多個任務來產生新的軌道。
為了支援軌道推導的使用以用於與媒體處理相關的應用中,有許多提議已經提出來改進目前在w18640中的推導出軌道的規格。進一步參考第6B圖,第6B圖顯示於w18640中所指明的NBMP架構650。在此架構650中,可以與推導出軌道程序涉及的系統部件或實體包括媒體來源652、媒體接收器656、以及一組一或多個MPE 654。媒體來源652是可以提供媒體內容給媒體處理框架650來處理的一實體。媒體接收器656是可以消耗NBMP工作流的輸出的一實體(例如,通過傳統的傳遞方法)。一組一或多個MPE 654可以運行可應用於從媒體來源652所接收到的媒體資料與相關元資料的處理任務與/或其他任務。MPE 654可以提供用於配置、管理、與/或監督處理任務的能力。
媒體處理任務(在此例子中顯示為654A和654B)是應用於媒體和元資料輸入(一或多個)的程序,以產生媒體資料與相關元資料輸出(一或多個),其可以被媒體接收器656與/或其他媒體處理任務所消耗。例如,w18640的附錄CFunction Reference Templates”為以下功能提供了功能參考模板:360拼接、6DoF前置-渲染、引導轉碼(guided transcoding)、電子體育串流(e-sports streaming)、OMAF打包者、測量、MiFiFo緩衝器、1到N分割、以及N到1合併。根據此處所描述的技術,這些功能可以藉由編配(orchestrating)媒體處理任務來加以施行實作。
在一些實施例中,此處所描述的技術提供了利用軌道推導來用於媒體處理任務。作為一般概述,媒體來源(例如,一輸入軌道)和補充信息(例如,任務指令資料)可以被提供作為一任務的輸入,並且來自任務的輸出可以使用如ISOBMFF的一檔案格式加以囊括(例如,如描述於m50963,“On Temporal Track Derivations in ISOBMFF”,瑞士日內瓦,2019年10月,其中的全部內容在此以引用方式併入本文。軌道推導機制可被使用對在檔案格式層級的個別任務加以施行實作。在一些實施例中,在推導出軌道中的一推導出轉換可以被用於表達或提供任務指令資料。
藉由使用指明為轉換操作或在推導出軌道的任務指令資料,媒體處理任務可以在檔案格式層級加以指明。在一些實施例中,任務可以將一輸入軌道(包括媒體資料)以及任務指令資料作為輸入。第18A圖為依據一些實施例,來顯示一NBMP任務1802的一例子的圖1800。NBMP任務1802將來自媒體來源1804的一或多個輸入軌道以及指明一轉換操作的任務指令資料(如顯示於1806)作為輸入。NBMP任務1802產生可以被媒體接收器1810加以消耗的輸出軌道1808。
在一些實施例中,任務可以將一輸入軌道以及包括任務指令資料的一推導出軌道作為輸入。第18B圖是根據一些實施例顯示出一NBMP任務1852的一例子的圖1850。NBMP任務1852將來自媒體來源1854的一或多個輸入軌道以及具有指明一轉換操作的任務指令資料的一推導出軌道(如顯示於1856)作為輸入。具有任務指令資料的推導出軌道是當輸入到NBMP任務1852時不包括任何媒體樣本的一推導出軌道。NBMP任務1852產生可以被媒體接收器1860加以消耗的輸出軌道1858。
例如,可以藉由第19A圖所顯示的一NBMP任務1900,來將影像樣本順時針旋轉90度的一任務加以施行實作,其將具有未旋轉樣本的一輸入軌道1902作為輸入以及,將轉換操作旋轉'srot'1904(例如,如描述於w18640)作為任務指令資料(例如,在第18A圖中如何提供任務指令資料所討論的使用一般方式)。任務1900產生一輸出軌道1906,其具有根據'srot'任務指令資料所產生旋轉後樣本。
以另一例子,第19B圖顯示的一NBMP任務1950來將影像樣本旋轉90度,其將具有未旋轉樣本的一輸入軌道1952作為輸入,以及將包括轉換操作旋轉'srot'的一推導出軌道1954作為任務指令資料(例如,在第18B圖中如何使用一推導出軌道來提供任務指令資料所討論的使用一般方式)。任務1950產生一輸出軌道1956,其具有根據'srot'任務指令資料所產生旋轉後樣本。在一些實施例中,指示出'srot'操作的資料可以被包括在輸出軌道1956中(例如,提供輸出軌道1956到推導出軌道1954的一鏈接),而在其他實施例中,這種資料不需要被包括在輸出軌道1956中。
作為另一例子,一任務可以藉由第20A圖所示的NBMP任務2000施行實作一修剪(trim)操作,其將具有全-長度內容的一輸入軌道2002作為輸入,以及基於轉換操作‘edls’ 2004的編輯-列表的一修剪版本(例如,如m50963中提議的“On Temporal Track Derivations in ISOBMFF”, 瑞士日內瓦,於2019年10月,其中的全部內容在此以引用方式併入本文)作為任務指令資料(例如,如第18A圖所討論的)。從輸入軌道,任務2000可以產生具有頭部部份的一輸出軌道2006。作為另一個例子,第20B圖顯示用於施行實作一修剪操作的一NBMP任務2050,其將具有全-長度內容的一輸入軌道2052作為輸入,以及將包括基於轉換操作‘edls’的編輯-列表的一修剪版本的一推導出軌道2054以及一身分(identity)轉換‘idtt’ 作為任務指令資料(例如,如第18B圖所討論的)。從藉由'edls'資料所指明的輸入軌道,任務2050產生具有頭部部份的一輸出軌道2056。如上所解釋,指示出'edls'操作的資料可以被包括在輸出軌道2056中,而在其他實施例中,這種資料不需要被包括在輸出軌道2056中。
在一些實施例中,使用基於轉換操作的編輯列表的時間推導出軌道可以施行實作不同於具有一身分轉換操作的推導出軌道,該身分轉換操作包含用於對推導出軌道的樣本進行時間重新安排(temporal re-arrangement)的相對應編輯列表。第20C圖顯示出一NBMP任務2070,以施行實作具有包含一相對應編輯列表的身分轉換操作的一任務,其將具有全-長度內容的一輸入軌道2072作為輸入,以及將包括一相對應編輯列表‘edls’的一身分轉換操作作為任務指令資料2074。任務2070產生一輸出軌道2076。第20B和20C圖的例子一不同之處在於,第20C圖中,輸出軌道2076具有與輸入軌道2072相同的樣本數目,並且由‘edls’2074中所指明的編輯列表所造成的時間重新安排僅出現在輸出軌道2076的呈現時間軸(而不是合成時間軸)。如本例子所示,指示出'edls'的資料可以包含在輸出軌道2076中(儘管不是必須的)。這樣的結果與例如w18640中的條款3.1.3相一致。因此,在一些實施例中,一輸出軌道可以具有指明藉由輸入編輯列表所提供的推導方法的編輯列表。編輯列表(當存在時)可以在呈現時間軸上提供推導出軌道的輸出樣本的時間和數目。如果推導出的軌道沒有一編輯列表,則其呈現時間軸等於其合成時間軸。
在一些實施例中,該技術關於軌道推導以用於實作媒體處理任務的改善。在一些實施例中,該技術關於藉由URI(例如,而不僅僅是軌道或項目的ID)來致能對輸入軌道的參考。w18640中傳統的軌道推導規格僅允許藉由其ID來對輸入軌道參考。發明人已經發現並理解到,這可以將推導出的軌道應用限制於輸入軌道與推導出軌道在一單一檔案中的情況(這可能並不實際),例如在輸入軌道和推導出軌道被打包在不同檔案中的情況。在一些實施例中,此處所描述的技術擴展了參考技術以提供藉由URI來指明輸入軌道。在一些實施例中,信息可以被包括在推導出軌道的軌道參考方塊中,使得該信息可以被用來將輸入軌道參考到推導出軌道。
第21圖依據一些實施例,來顯示出軌道參考類型方塊‘TrackReferenceTypeBox’ 2100的一示例規格。TrackReferenceTypeBox接收32位元無符號整數參考類型‘reference_type’2102作為參數,並擴展reference_type的一方塊。TrackReferenceTypeBox 2100包括32位元無符號整數track_IDs [] 2104的一陣列。為了藉由URI致能對輸入軌道的參考,TrackReferenceTypeBox 2100也包括字串(string)track_URLs [] 2106的一陣列。track_URLs 2106是URL的一陣列,可以提供參考軌道的檔案URL或是參考軌道群組的track_group_id數值。在一些實施例中, track_URLs [i] 2106的每一數值(其中i是track_URLs[] 2106陣列的一有效索引)可以是一有效URL(例如,使用UTF-8字符(UTF-8 character)),該URL提供從包含軌道(containing track)到一檔案的一參考,該檔案包含具有track_ID 等於track_IDs[i] 2104的軌道或是二者track_group_id等於 track_IDs[i] 2104的軌道群組。因此,在一些實施例中,track_URLs[] 2104的長度等於track_IDs[] 2106的尺寸大小。
應當理解,在第21圖中所提供的示例性語法(包括欄位名字、欄位類型、以及語法)出於示例性目的,並不意圖來限制在此所述技術的範圍。其他技術可以被使用來將在一個別檔案中的一個別軌道識別為軌道推導的一輸入軌道(例如,包括用於擴展方塊的其他技術,例如TrackReferenceTypeBox)。作為對此所述技術加以施行實作的另一例子,一些實施例可以是使用以查詢參數加以擴展的URL的陣列以包括軌道ID,例如,一陣列track_URL_IDs。在陣列中的每個輸入項都可以具有指明檔案的軌道id的一形式,例如以下例子可用於參考在目錄“a.com/d/”的檔案“v.mp4” 中具有ID為“1”的一軌道: http://a.com/d/v.mp4?track_id=1。
在一些實施例中,該技術關於發信不包括樣本(例如,其樣本尚未產生)的推導出軌道或輸出軌道。發明人已經理解到,為了使用一推導出軌道的轉換操作來提供補充信息給一媒體處理實體來執行一任務(可以用於產生一輸出軌道以作為一推導出的軌道),依據其轉換操作來將資料(例如,旗標)發信是值得的,以指示出一推導出軌道是否已經從其輸入軌道的樣本產生了其樣本。這樣的發信可以額外地或備選地幫助來支援其中一推導出軌道的樣本僅產生於在一稍後需要時的時候(如在一呈現時間、在一傳遞交談期間(delivery session)、在渲染程序之中等諸如此類)的使用情況。作為一例子,具有任務指令資料的輸入推導出的軌道可以包括發信來指示出推導出的軌道不包括媒體樣本。
第22圖為依據一些實施例,來顯示出可以被用來發信一推導出軌道的樣本是否被產生的一示例的語法2200的圖。第22圖顯示出了擴展FullBox的一示例性種類(class)VisualDerivationDefault()2202。這些欄位包括無符號整數default_derivation_input 2204、derivation_method 2206、以及一保留欄位2210。為了對是否要推導出樣本加以發信,一欄位derivation_to_be_done 2208可以被包括在信令中。derivation_to_be_done欄位2208可以是一旗標,其可被用來對推導出軌道的樣本是否已經被產生了加以發信。例如,一數值0指示出樣本已經被產生;也就是說,推導出的軌道是具有所有樣本的一“完整” (full)軌道。一數值1可以指示出樣本尚未被產生;也就是說,推導出的軌道是一“空” (empty)軌道而沒有樣本產生。
在一些實施例中,該技術關於使用矩陣數值來實作用於影像轉換的轉換操作。例如,在ISOBMFF(例如,如w18855中所指明的“Text of ISO/IEC 14496-12 6th edition”,瑞士日內瓦,2019年10月,其全部內容在此以引用方式併入本文)中,出現在一軌道標頭矩陣數值可以指明用於呈現的視頻影像的一轉換。第23圖顯示出指明用於呈現的視頻畫面的一轉換的一例子2300,其中使用一矩陣2302將一樣本影像的點(p,q) 轉換為(p', q') ,其中m = ap + cq + x;  n = bp + dq + y;  z = up + vq + w, and p' = m/z and q' = n/z。在一些實施例中,矩陣中的數值可以依{a,b,u, c,d,v, x,y,w}的順序加以存儲。
不同的矩陣數值可用於指明視頻影像的各種視覺轉換,包括尺寸大小縮放、角度旋轉、與位置偏移(location shifting)。例如,矩陣{2,0,0, 0,2,0, 0,0,1}可用於將一影像的像素尺寸加倍,而矩陣{0,-1,0, 1,0,0, 0,0,1}可用於將一影像逆時針旋轉90度。相應地,可以使用矩陣數值(例如,稱為“矩陣轉換” )來對一通用轉換操作加以指明,其具有一方塊類型為‘matt’,不是每個樣本都強制需要的(mandatory),並且每個樣本可以包含任何數量。樣本矩陣轉換‘matt’ 轉換操作可以依據由一3x3矩陣所定義的轉換來轉換輸入樣本影像。一示例的語法是擴展VisualDerivationBase('matt')的種類SampleTransformation,該種類包括9個整數的一陣列'matrix',其中該矩陣指明一3x3轉換矩陣{a,b,u, c,d,v, x,y,w}。
如此處所描述,多種數目的MPE可以被使用來進行媒體處理任務。第24圖為依據此處所說明技藝用於MPE以進行一媒體處理任務來產生一新的輸出軌道的一示例電腦化程序2400的流程圖。在步驟2402與2404,MPE從一遠端計算裝置(例如,從一媒體來源與/或從另一NBMP來源)接收包括一階層式軌道結構的多視角多媒體資料。尤其,在步驟2402,MPE接收在該階層式軌道結構的一第一層級中包括第一媒體資料的一第一軌道(例如,可以是一或多個輸入軌道)。在步驟2404,MPE接收在該階層式軌道結構的一第二層級中包括任務指令資料的一第二軌道,該第二層級與該第一軌道的該第一層級不同(其可以是推導出軌道而不具有媒體資料)。步驟2402與2404被顯示於虛線方塊2406中來指示出步驟2402與2404可以分別地與/或同時地被進行。此外,如此處所描述,MPE可以從一複數個不同遠端裝置來接收輸入軌道。在步驟2408,MPE基於藉由該第二軌道所指明的任務指令資料,來處理(例如,編碼或解碼)該第一軌道的第一媒體資料,而產生修正後的媒體資料(例如,樣本)以用於一新的輸出軌道(例如,其中該輸出軌道不同於該第一軌道或該第二(推導出)軌道)。
如此處所描述,推導出的軌道可以經由任務指令資料來指明要在輸入軌道上進行的一或多個任務。這些任務可以實現,例如,w18640的附錄C “Function Reference Templates”中所描述的功能。在一些實施例中,任務指令資料可以指明結合例如第7-17圖所討論的一或多個操作。
在步驟2410,MPE將所產生且具有修正後的媒體資料的輸出軌道傳遞到一第二遠端計算裝置,例如另一個MPE、接收裝置、等諸如此類。在一些實施例中,MPE還可以在與第一軌道的第一層級和第二軌道的第二層級不相同的該階層式軌道結構中的一第三層級處傳遞與第三軌道相關聯的任務指令資料。如此處所描述,例如,第三軌道可以是另一推導出軌道,其包括指明要在一或多個輸入軌道上進行的一或多個任務的任務指令資料。因此,該技術提供了跨不同媒體處理實體來分派媒體處理任務。
參考步驟2402與2404,任務指令資料包括指明要在第一媒體資料上進行一轉換特性的一資料結構,以產生修正後的媒體資料。資料結構可以包括輸入的一數目、輸出的一數目、以及轉換特性。
在一些實施例中,任務指令資料可以指明一或多個解碼(或反向,reverse)轉換特性。例如,階層式軌道結構中的第二層級可以不同於第一軌道的第一層級,並且MPE可以解碼第一軌道的第一媒體資料(例如,其可以包括多個輸入軌道)以產生用於輸出軌道的修正後的媒體資料。在一些實施例中,在第一層級的第一軌道用作在第二層級的第二軌道的一輸入軌道(例如,使得輸入軌道和輸出軌道在不同層級可以具有不同的軌道關係)。
如此處所描述,多種如此的轉換特性可以藉由任務指令資料加以指明。例如,任務指令資料可以指明一拼接操作來拼接該第一軌道的該第一媒體資料的影像,以及映射該拼接後影像至一投影表面,而產生該修正後的媒體資料。如另一例子,任務指令資料可以指明一逆投影操作來投影該第一媒體資料的影像至一三維球面,而產生該修正後的媒體資料。如又一例子,任務指令資料可以指明一逆打包操作來進行下列一或多個:轉換、重調尺寸大小、以及重定位該第一媒體資料的一或多個區域,而產生該修正後的媒體資料。如另一例子,任務指令資料可以指明一逆次畫面操作從一複數個軌道來合成該修正後的媒體資料,該複數個軌道包括該第一軌道以及一或多個額外軌道。如又一例子,任務指令資料可以指明對一操作的一選擇來從該第一媒體資料建構樣本影像,而產生該修正後的媒體資料。如另一例子,任務指令資料可以指明一轉碼操作來對該第一媒體資料從一第一位元率轉碼至一第二位元率,而產生該修正後的媒體資料。如又一例子,任務指令資料可以指明一縮放操作來對該第一媒體資料從一第一尺度縮放至一第二尺度,而產生該修正後的媒體資料。如一額外的例子,任務指令資料可以指明一重調尺寸大小操作來對該第一媒體資料從一第一寬度與一第一高度重調尺寸大小至一第二寬度與一第二高度,而產生該修正後的媒體資料。
進一步參考步驟2402與2404,任務指令資料可以指明一或多個編碼轉換特性。例如,階層式軌道結構中的第二層級可以不同於第一軌道的第一層級,並且MPE可以對第一軌道的第一媒體資料進行編碼,以產生用於輸出軌道的修正後媒體資料。在一些實施例中,如此處所描述,在第一層級的第一軌道用作在第二層級的第二軌道的一輸入軌道。。
如此處所描述的,各類此種轉換特性可以藉由推導軌道的任務指令資料加以指明。例如,任務指令資料可以指明一投影操作來投影該第一媒體資料的影像至一二維平面,而產生該修正後的媒體資料。以另一例子,任務指令資料可以指明一打包操作來進行下列一或多個:轉換、重調尺寸大小、以及重定位該第一媒體資料的一或多個區域,而產生該修正後的媒體資料。以又一例子,任務指令資料可以指明一次畫面操作來合成用於一複數個軌道的一複數個不同媒體資料,該等軌道包括該輸出軌道以及一或多個額外軌道。以另一例子,任務指令資料可以指明一視口操作從該第一媒體資料的球面樣本影像來建構視口樣本影像,而產生該輸出的媒體資料。以又一例子,任務指令資料可以指明一轉碼操作來對該第一媒體資料從一第一位元率轉碼至一第二位元率,而產生該修正後的媒體資料。以另一例子,任務指令資料可以指明一縮放操作來對該第一媒體資料從一第一尺度縮放至一第二尺度,而產生該修正後的媒體資料。以又一例子,任務指令資料可以指明一重調尺寸大小操作來對該第一媒體資料從一第一寬度與一第一高度重調尺寸大小至一第二寬度與一第二高度,而產生該修正後的媒體資料。
根據本文描述的原理的技術操作可以以任何適當的方式來實作。上面的流程圖的處理塊和決策塊表示被包含執行這些不同處理的演算法中的步驟和行為。自這些處理中推導出的演算法,可以用集成於並指導一個或多個單目的或多目的的處理器的操作的軟體來實作,可以以諸如數位訊號處理(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)、智慧手機、伺服器或任何其他合適的計算設備。網路介面卡可以是任何合適的硬體與/或軟體,以使得計算設備能夠通過任何合適的計算網路與任何其他合適的計算設備進行有線和/或無線通訊。電腦網路可以包括無線接入點、交換機、路由器、閘道與/或其他網路設備,以及任何合適的有線與/或無線通訊介質或者介質以用於交換兩個或者多個電腦之間的資料,包括網際網路。電腦可讀介質可適於存儲待處理的資料和/或由處理器待執行的指令。處理器可以對資料進行處理以及執行指令。資料和指令可以被存儲在電腦可讀存儲介質上。
計算設備還可以具有一個或多個元件和週邊設備,包括輸入裝置和輸出設備。在其他已說明的之外,這些設備也可用於呈現使用者介面。可用於提供使用者介面的輸出設備的示例,包括用於輸出視覺呈現的印表機或顯示屏幕,和揚聲器或者用於輸出聽覺呈現的其它聲音產生設備。可用於使用者介面的輸入裝置的示例包括鍵盤和指向設備,例如滑鼠、觸摸盤和數位化平板。又例如,計算設備可以通過語音辨識或其他可聽覺格式接收輸入信息。
以電路和/或電腦可執行指令來實作這些技術的實施例已經被描述了。應該理解的是,一些實施例可以是一種方法的形式,其中提供了至少一個示例。作為方法的一部分執行的行為可以以任何適當的方式進行排序。因此,這些實施例可以被解讀為以不同於所示出的順序來執行行為,因此即使如示出的實施例中作為前後接序的行為來說,其也可以被解讀為包括這些行為同時被執行。
以上所描述的實施例的各個方面可以被單獨使用、組合、或即使在上述的實施例中並未具體討論的各種排列,而且其應用因而不受限於上述說明或附圖中的元件的具體細節和排列。例如,在一個實施例中所描述的方面可以以任何方式與其他實施例中所描述的方面結合。
在申請專利範圍中用以修飾申請專利範圍要件的諸如“第一”、“第二”、“第三”等的順序術語的使用,本身並不意味著任何優先級、先後性、或者以申請專利範圍要件之間的順序或者方法的行為被執行的時間順序;而僅用於作標記以將具有相同名稱的一個申請專利範圍要件與具有相同名稱的另一個要件進行區分(僅僅用作順序術語),進而區分申請專利範圍要件。
此外,本文所使用的措辭和術語是為了描述的目的,而不應被視為限制性的。本文所使用“包括”、“包含”、“具有”、“包含”、“涉及”及其變化形,是指包含其後所列出的項目、其等效、以及額外的項目。
本文所使用的“示例性”一詞是指作為示例、實例或說明。因此,除非另有說明,本文中所描述的任何實施例、實施方式、處理、特徵等都應該被理解為一個說明性的示例,並且不應理解為較佳的或有利的示例。
在已經描述了至少一個實施例的幾個方面之後,應將理解的是,各種改變、修改和改進對於本領域通常知識者來說就沒甚麼困難。這種改變、修改和改進將是本發明的一部分,並且在本文所描述的原理的精神和範圍內。因此,上述描述和附圖僅以示例的方式進行。
100:視訊編解碼配置 102A-102N:相機 104:編碼裝置 106:視訊處理器 108:編碼器 110:解碼裝置 112:解碼器 114:渲染器 116:顯示器 200:基於視口內容流程處理 201:球面視口 202:區塊 204:區塊 206:區塊 208:區塊 210:區塊 212:區塊 214:區塊 230:處理流程 232:客戶裝置 234:點雲內容 236:剖析模組 238:視訊位元流 240:2D視訊解碼器 242:元資料 244:2D視訊轉3D點雲轉換模組 246:渲染模組 248:顯示器 250:使用者互動信息 252:自由視點路徑 254:場景 300:階層式結構 302:上方軌道 304:元資料軌道 306:軌道 308:軌道 310:軌道 310A~310R:軌道 312:軌道 312A~312K:軌道 314A~314K:軌道 400:架構 402:取得組件 404:影像拼接、投影與映射組件 406:聲音編碼組件 408:視訊編碼組件 410:影像編碼組件 412:檔案/分段囊封組件 414:傳遞組件 416:檔案/分段去囊封組件 418:聲音解碼組件 420:視訊解碼組件/單元 422:影像解碼組件/單元 424:聲音渲染組件/單元 426:影像渲染組件 428:頭/眼追蹤組件 430:顯示器 432:揚聲器/頭戴耳機(聲音輸出裝置) 500:編碼與解碼架構 502:取得組件 504:影像(一或多個)拼接,投影與映射組件 506:聲音編碼組件 508:視訊(一或多個)編碼組件 510:影像(一或多個)編碼組件 512:檔案/分段囊封組件 514:傳遞組件 516:檔案/分段去囊封組件 518:聲音解碼組件 520:視訊(一或多個)解碼組件/單元 522:影像(一或多個)解碼組件/單元 524:聲音渲染組件/單元 526:影像合成與渲染組件 528:頭/眼追蹤組件 530:顯示器 532:揚聲器/頭戴耳機(聲音輸出裝置) 600:媒體處理框架 602:媒體來源 604:媒體處理實體(MPE) 606:控制功能 608:處理功能 610:媒體處理實體(MPE) 612:媒體接收器 650:媒體處理框架 652:媒體來源 653:NBMP來源 654:媒體處理實體(MPE) 656:媒體接收器 658:NBMP工作流程管理者 660:功能儲存庫 700:語法 702:欄位image_width 704:欄位image_height 706:欄位projection_surface_type 708:欄位blending_flag 710:欄位alpha_blending_mode 712:欄位blending_mode_specific_params 800:語法 802:欄位is_reverse 804:欄位ProjectFormatStruct() 806:欄位projection_type 850:語法 900:語法 902:欄位is_reverse 904:欄位RegionWisePackingStruct() 1000:語法 1002:欄位is_reverse 1004:欄位SpatialRelationship2DSourceBox() 1006:欄位SubPictureRegionBox() 1100:語法 1102:欄位frame_rate 1104:欄位image_width 1106:欄位image_height 1108:位元率 1200:語法 1202:百分比 1300:語法 1302:欄位image_width 1304:欄位image_height 1400:語法 1404:欄位num_outputs 1406:欄位entity_idx 1408:欄位sample_offset 1500:語法 1504:欄位輸出 1600:語法 1602:欄位frame_rate 1604:欄位image_width 1606:欄位image_height 1608:位元率 1700:語法 1702:欄位SpatialRelationship2DSourceBox() 1704:欄位SubPictureRegionBox() 1800:圖 1802:NBMP任務 1804:媒體來源 1806:任務指令資料 1808:輸出軌道 1810:媒體接收器 1850:圖 1852:NBMP任務 1854:媒體來源 1856:推導出軌道 1858:輸出軌道 1860:媒體接收器 1900:NBMP任務 1902:輸入軌道 1904:轉換操作旋轉'srot' 1906:輸出軌道 1950:NBMP任務 1952:輸入軌道 1954:推導出軌道 1956:輸出軌道 2000:NBMP任務 2002:輸入軌道 2004:轉換操作‘edls’ 2006:輸出軌道 2050:NBMP任務 2052:輸入軌道 2054:推導出軌道 2056:輸出軌道 2070:NBMP任務 2072:輸入軌道 2074:任務指令資料 2076:輸出軌道 2100:方塊‘TrackReferenceTypeBox’ 2102:參考類型‘reference_type’ 2104:陣列track_IDs[i] 2106:陣列track_URLs [i] 2202:種類VisualDerivationDefault() 2204:欄位default_derivation_input 2206:欄位derivation_method 2208:欄位derivation_to_be_done 2210:保留欄位 2300:例子 2302:矩陣 2400:程序 2402:步驟 2404:步驟 2406:方塊 2408:步驟 2410:步驟
在圖示中,繪示於不同圖示中每一相同會接近相同的元件以一相似的參考符號來加以表示。為了清楚起見,並非每一元件在每一圖示中都加以標示。圖示不一定是按照比例繪製,而是會把重點放在此處說明的技術與裝置的各個面向的闡釋。 第1圖依據一些實施例顯示出一示例性的視訊編解碼配置。 第2A圖依據一些例子顯示出用於虛擬實境(VR)內容的一基於視口內容流程處理。 第2B圖依據一些例子顯示出用於VR內容的一基於視口內容流程處理。 第2C圖依據一些例子顯示出用於點雲內容的一示例性處理流程。 第3圖依據一些實施例顯示出軌道的階層式結構。 第4圖為依據一些例子的一編碼與解碼架構的一示例圖。 第5圖依據一些例子顯示出一編碼與解碼架構500的一示例圖。 第6A圖依據一些實施例顯示出一媒體處理框架的一例子。 第6B圖依據一些例子顯示出一媒體處理框架的另一例子。 第7圖依據一些例子顯示出用於一拼接轉換特性的一示例的語法。 第8A圖為依據一些實施例用於一投影轉換特性的一第一示例的語法。 第8B圖為依據一些實施例用於一投影轉換特性的一第二示例的語法。 第9圖依據一些實施例顯示出用於一打包轉換特性的一示例的語法。 第10圖依據一些實施例顯示出用於一次畫面轉換特性的一示例的語法。 第11圖依據一些實施例顯示出用於一轉碼轉換特性的一示例的語法。 第12圖依據一些實施例顯示出用於一縮放轉換特性的一示例的語法。 第13圖依據一些實施例顯示出用於一重調尺寸大小轉換特性的一示例的語法。 第14圖依據一些實施例顯示出用於輸出一軌道群組的一示例的語法。 第15圖依據一些實施例顯示出用於輸出一軌道群組的另一示例的語法。 第16圖依據一些實施例顯示出可以產生一替代性的轉碼後軌道群組的轉碼的一示例的語法。 第17圖依據一些實施例顯示出一示例的語法,來用於一次畫面轉換特性以創造次畫面視覺軌道的一次畫面軌道群組。 第18A圖為依據一些實施例,來顯示出接收任務指令資料作為輸入的一NBMP任務的一架構的一例子的圖。 第18B圖為依據一些實施例,來顯示出接收包括任務指令資料的一推導軌道作為輸入的一NBMP任務的另一架構的一例子的圖。 第19A圖為依據一些實施例,來顯示出接收任務指令資料作為輸入的一NBMP任務的一例子的圖。 第19B圖為依據一些實施例,來顯示出接收包括任務指令資料的一推導軌道作為輸入的一NBMP任務的一例子的圖。 第20A圖為依據一些實施例,來顯示出接收任務指令資料作為輸入的一NBMP任務的另一例子的圖。 第20B圖為依據一些實施例,來顯示出接收包括任務指令資料的一推導軌道作為輸入的一NBMP任務的另一例子的圖。 第20C圖為依據一些實施例與第20B圖比較,來顯示出接收包括任務指令資料的一推導軌道作為輸入的一NBMP任務的又一例子的圖。 第21圖依據一些實施例,來顯示出一軌道參考類型方塊的一示例的說明。 第22圖為依據一些實施例,來顯示出可以被用來發信一推導軌道的樣本是否被產生的一示例的語法的圖。 第23圖為依據一些實施例,來指明視訊影像的一轉換的 一矩陣以用於呈現的一例子的圖。 第24圖為依據此處所說明技藝用於MPE以進行一媒體處理任務的一示例電腦化程序的流程圖。
2402、2404、2408、2410:步驟
2406:方塊

Claims (19)

  1. 一種媒體處理方法,該方法藉由一媒體處理實體加以施行,該媒體處理實體包括有至少一處理器以與一記憶體進行聯繫,其中該記憶體電腦可讀取的指令,當藉由該至少一處理器加以執行時,使得該至少一處理器進行: 從一遠端計算裝置接收包括一階層式軌道結構的多視角多媒體資料,該階層式軌道結構至少包括: 一第一軌道,包括在該階層式軌道結構的一第一層級中的第一媒體資料;以及 一第二軌道,包括在該階層式軌道結構的一第二層級中的任務指令資料,該第二層級與該第一軌道的該第一層級不同;以及 基於與該第二軌道相關聯的該任務指令資料,來處理該第一軌道的該第一媒體資料而產生: 修正後的媒體資料;以及 包括該修正後的媒體資料的一輸出軌道。
  2. 如請求項1所述的媒體處理方法,其中從該遠端計算裝置接收該多視角多媒體資料包括從一第二遠端媒體處理實體接收該多視角媒體資料。
  3. 如請求項1所述的媒體處理方法,進一步包括:傳輸包括該修正後的媒體資料的該輸出軌道至一第二計算裝置,其中該第二計算裝置包括一第二媒體處理實體、與該第一計算裝置不同的一第二遠端計算裝置、或二者。
  4. 如請求項3所述的媒體處理方法,進一步包括:將在該階層式軌道結構的一第三層級中與一第三軌道相關聯的任務指令資料傳輸至該第二媒體處理實體,而該第三層級與該第一軌道的該第一層級以及該第二軌道的該第二層級不同。
  5. 如請求項1所述的媒體處理方法,其中在該第二軌道的任務指令資料包括:一資料結構,以指明進行於該第一媒體資料的一轉換特性而產生該修正後的媒體資料,該資料結構包括一數目的輸入、一數目的輸出、以及該轉換特性。
  6. 如請求項5所述的媒體處理方法,其中: 該階層式軌道結構中的該第二層級與該第一軌道的該第一層級不同;以及 處理該第一軌道的該第一媒體資料包括:解碼該第一軌道的該第一媒體資料,而產生用於該輸出軌道的該修正後的媒體資料。
  7. 如請求項6所述的媒體處理方法,其中該轉換特性指明下列之一個或多個: 一拼接操作來拼接該第一軌道的該第一媒體資料的影像以及映射該拼接後影像至一投影表面,而產生該修正後的媒體資料; 一逆投影操作來投影該第一媒體資料的影像至一三維球面,而產生該修正後的媒體資料; 一逆打包操作來進行下列一或多個:轉換、重調尺寸大小、以及重定位該第一媒體資料的一或多個區域,而產生該修正後的媒體資料; 一逆次畫面操作從複數個軌道來合成該修正後的媒體資料,該複數個軌道包括該第一軌道以及一或多個額外軌道; 對一操作的一選擇來從該第一媒體資料建構樣本影像,而產生該修正後的媒體資料; 一轉碼操作來對該第一媒體資料從一第一位元率轉碼至一第二位元率,而產生該修正後的媒體資料; 一縮放操作來對該第一媒體資料從一第一尺度縮放至一第二尺度,而產生該修正後的媒體資料;以及 一重調尺寸大小操作來對該第一媒體資料從一第一寬度與一第一高度重調尺寸大小至一第二寬度與一第二高度,而產生該修正後的媒體資料。
  8. 如請求項5所述的媒體處理方法,其中: 該階層式軌道結構中的該第二層級與該第一軌道的該第一層級不同;以及 處理該第一軌道的該第一媒體資料包括:編碼該第一軌道的該第一媒體資料,而產生用於該輸出軌道的該修正後的媒體資料。
  9. 如請求項8所述的媒體處理方法,其中該轉換特性指明下列之一個或多個: 一投影操作來投影該第一媒體資料的影像至一二維平面,而產生該修正後的媒體資料; 一打包操作來進行下列一或多個:轉換、重調尺寸大小、以及重定位該第一媒體資料的一或多個區域,而產生該修正後的媒體資料; 一次畫面操作來合成用於一複數個軌道的一複數個不同媒體資料,該複數個軌道包括該第一軌道以及一或多個額外軌道; 一視口操作從該第一媒體資料的球面樣本影像來建構視口樣本影像,而產生該修正後的媒體資料; 一轉碼操作來對該第一媒體資料從一第一位元率轉碼至一第二位元率,而產生該修正後的媒體資料; 一縮放操作來對該第一媒體資料從一第一尺度縮放至一第二尺度,而產生該修正後的媒體資料;以及 一重調尺寸大小操作來對該第一媒體資料從一第一寬度與一第一高度重調尺寸大小至一第二寬度與一第二高度,而產生該修正後的媒體資料。
  10. 一種處理視訊資料的裝置,該裝置包括一處理器以與記憶體進行聯繫,該處理器被配置來執行儲存於該記憶體中的指令,使得該處理器進行: 從一遠端計算裝置接收包括一階層式軌道結構的多視角多媒體資料,該階層式軌道結構至少包括: 一第一軌道,包括在該階層式軌道結構的一第一層級中的第一媒體資料;以及 一第二軌道,包括在該階層式軌道結構的一第二層級中的任務指令資料,該第二層級與該第一軌道的該第一層級不同;以及 基於與該第二軌道相關聯的該任務指令資料,來處理該第一軌道的該第一媒體資料而產生: 修正後的媒體資料;以及 包括該修正後的媒體資料的一輸出軌道。
  11. 如請求項10所述的處理視訊資料的裝置,其中從該遠端計算裝置接收該多視角多媒體資料包括從一第二遠端媒體處理實體接收該多視角媒體資料。
  12. 如請求項10所述的處理視訊資料的裝置,其中該等指令進一步使得該處理器進行:傳輸包括該修正後的媒體資料的該輸出軌道至一第二計算裝置,其中該第二計算裝置包括一第二媒體處理實體、與該第一計算裝置不同的一第二遠端計算裝置、或二者。
  13. 如請求項12所述的處理視訊資料的裝置,其中該等指令進一步使得該處理器進行:將在該階層式軌道結構的一第三層級中與一第三軌道相關聯的任務指令資料傳輸至該第二媒體處理實體,而該第三層級與該第一軌道的該第一層級以及該第二軌道的該第二層級與不同。
  14. 如請求項10所述的處理視訊資料的裝置,其中在該第二軌道的任務指令資料包括:一資料結構,以指明進行於該第一媒體資料的一轉換特性而產生該修正後的媒體資料,該資料結構包括一數目的輸入、一數目的輸出、以及該轉換特性。
  15. 如請求項14所述的處理視訊資料的裝置,其中: 該階層式軌道結構中的該第二層級與該第一軌道的該第一層級不同;以及 處理該第一軌道的該第一媒體資料包括:解碼該第一軌道的該第一媒體資料,而產生用於該輸出軌道的該修正後的媒體資料。
  16. 如請求項15所述的處理視訊資料的裝置,其中該轉換特性指明下列之一個或多個: 一拼接操作來拼接該第一軌道的該第一媒體資料的影像以及映射該拼接後影像至一投影表面,而產生該修正後的媒體資料; 一逆投影操作來投影該第一媒體資料的影像至一三維球面,而產生該修正後的媒體資料; 一逆打包操作來進行下列一或多個:轉換、重調尺寸大小、以及重定位該第一媒體資料的一或多個區域,而產生該修正後的媒體資料; 一逆次畫面操作從一複數個軌道來合成該修正後的媒體資料,該複數個軌道包括該第一軌道以及一或多個額外軌道; 對一操作的一選擇來從該第一媒體資料建構樣本影像,而產生該修正後的媒體資料; 一轉碼操作來對該第一媒體資料從一第一位元率轉碼至一第二位元率,而產生該修正後的媒體資料; 一縮放操作來對該第一媒體資料從一第一尺度縮放至一第二尺度,而產生該修正後的媒體資料;以及 一重調尺寸大小操作來對該第一媒體資料從一第一寬度與一第一高度重調尺寸大小至一第二寬度與一第二高度,而產生該修正後的媒體資料。
  17. 如請求項14所述的處理視訊資料的裝置,其中: 該階層式軌道結構中的該第二層級與該第一軌道的該第一層級不同;以及 處理該第一軌道的該第一媒體資料包括:編碼該第一軌道的該第一媒體資料,而產生用於該輸出軌道的該修正後的媒體資料。
  18. 如請求項17所述的處理視訊資料的裝置,其中該轉換特性指明下列之一個或多個: 一投影操作來投影該第一媒體資料的影像至一二維平面,而產生該修正後的媒體資料; 一打包操作來進行下列一或多個:轉換、重調尺寸大小、以及重定位該第一媒體資料的一或多個區域,而產生該修正後的媒體資料; 一次畫面操作來合成用於一複數個軌道的一複數個不同媒體資料,該複數個軌道包括該第一軌道以及一或多個額外軌道; 一視口操作從該第一媒體資料的球面樣本影像來建構視口樣本影像,而產生該修正後的媒體資料; 一轉碼操作來對該第一媒體資料從一第一位元率轉碼至一第二位元率,而產生該修正後的媒體資料; 一縮放操作來對該第一媒體資料從一第一尺度縮放至一第二尺度,而產生該修正後的媒體資料;以及 一重調尺寸大小操作來對該第一媒體資料從一第一寬度與一第一高度重調尺寸大小至一第二寬度與一第二高度,而產生該修正後的媒體資料。
  19. 一種電腦可讀取儲存媒介至少用來儲存處理器可執行的指令,當該儲存媒介被至少一處理器執行時,會使得該至少一處理器進行: 從一遠端計算裝置接收包括一階層式軌道結構的多視角多媒體資料,該階層式軌道結構至少包括: 一第一軌道,包括在該階層式軌道結構的一第一層級中的第一媒體資料;以及 一第二軌道,包括在該階層式軌道結構的一第二層級中的任務指令資料,該第二層級與該第一軌道的該第一層級不同;以及 基於與該第二軌道相關聯的該任務指令資料,來處理該第一軌道的該第一媒體資料而產生: 修正後的媒體資料;以及 包括該修正後的媒體資料的一輸出軌道。
TW110100594A 2020-01-07 2021-01-07 基於網路之媒體處理應用中利用軌道推導產生新軌道之方法和裝置 TWI782386B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202062957951P 2020-01-07 2020-01-07
US62/957,951 2020-01-07
US17/142,797 US11589032B2 (en) 2020-01-07 2021-01-06 Methods and apparatus for using track derivations to generate new tracks for network based media processing applications
US17/142,797 2021-01-06

Publications (2)

Publication Number Publication Date
TW202133610A true TW202133610A (zh) 2021-09-01
TWI782386B TWI782386B (zh) 2022-11-01

Family

ID=76654794

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110100594A TWI782386B (zh) 2020-01-07 2021-01-07 基於網路之媒體處理應用中利用軌道推導產生新軌道之方法和裝置

Country Status (2)

Country Link
US (1) US11589032B2 (zh)
TW (1) TWI782386B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113114608B (zh) * 2020-01-10 2022-06-10 上海交通大学 点云数据封装方法及传输方法
CN114554243B (zh) * 2020-11-26 2023-06-20 腾讯科技(深圳)有限公司 点云媒体的数据处理方法、装置、设备及存储介质
US11539776B2 (en) * 2021-04-19 2022-12-27 Tencent America LLC Method for signaling protocol characteristics for cloud workflow inputs and outputs

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050052531A (ko) * 2002-10-15 2005-06-02 코닌클리케 필립스 일렉트로닉스 엔.브이. Ip 네트워크를 통해 스캐일 가능한 코드화된 비디오를전송하기 위한 시스템 및 방법
US20070022215A1 (en) * 2005-07-19 2007-01-25 Singer David W Method and apparatus for media data transmission
US20090160862A1 (en) * 2005-10-13 2009-06-25 Tae Hyeon Kim Method and Apparatus for Encoding/Decoding
WO2008129516A2 (en) * 2007-04-24 2008-10-30 Nokia Corporation Signaling of multiple decoding times in media files
JP5130352B2 (ja) * 2007-05-04 2013-01-30 ノキア コーポレイション マルチメディアコンテナファイルの受信ヒントトラックに記録するメディアストリーム
JP5231563B2 (ja) * 2007-10-19 2013-07-10 サムスン エレクトロニクス カンパニー リミテッド 立体映像データを記録する方法
US20100250633A1 (en) * 2007-12-03 2010-09-30 Nokia Corporation Systems and methods for storage of notification messages in iso base media file format
US20100049865A1 (en) * 2008-04-16 2010-02-25 Nokia Corporation Decoding Order Recovery in Session Multiplexing
WO2010007513A1 (en) * 2008-07-16 2010-01-21 Nokia Corporation Method and apparatus for track and track subset grouping
KR101340102B1 (ko) * 2008-07-31 2013-12-10 미쓰비시덴키 가부시키가이샤 영상 부호화 장치, 영상 부호화 방법, 영상 재생 장치 및 영상 재생 방법
CA2750211C (en) * 2009-03-19 2015-06-16 Lg Electronics Inc. Method for processing three dimensional (3d) video signal and digital broadcast receiver for performing the processing method
US8719309B2 (en) * 2009-04-14 2014-05-06 Apple Inc. Method and apparatus for media data transmission
KR101473035B1 (ko) * 2009-06-19 2014-12-16 한국전자통신연구원 프리셋을 이용한 객체기반 오디오 시스템, 객체기반 오디오 제공 방법 및 객체기반 오디오 재생 방법
WO2011105814A2 (ko) * 2010-02-23 2011-09-01 삼성전자 주식회사 다시점 정지 영상 서비스 제공 방법 및 그 장치, 다시점 정지 영상 서비스 수신 방법 및 그 장치
EP2614653A4 (en) * 2010-09-10 2015-04-15 Nokia Corp METHOD AND APPARATUS FOR ADAPTIVE CONTINUOUS DIFFUSION
KR20130139242A (ko) * 2010-09-14 2013-12-20 톰슨 라이센싱 차폐 데이터의 압축 방법 및 장치
US20130195171A1 (en) * 2012-01-30 2013-08-01 Qualcomm Incorporated Method of coding video and storing video content
US9357199B2 (en) * 2013-01-04 2016-05-31 Qualcomm Incorporated Separate track storage of texture and depth views for multiview coding plus depth
US20160155477A1 (en) * 2014-12-01 2016-06-02 Microsoft Corporation Identifying Media Types
US20160275108A1 (en) * 2015-02-09 2016-09-22 Jonathan Mark Sidener Producing Multi-Author Animation and Multimedia Using Metadata
US20180213216A1 (en) * 2015-06-16 2018-07-26 Lg Electronics Inc. Media data transmission device, media data reception device, media data transmission method, and media data rececption method
GB2550604A (en) * 2016-05-24 2017-11-29 Canon Kk Method, device, and computer program for encapsulating and parsing timed media data
US11457290B2 (en) * 2017-02-24 2022-09-27 Telefonaktiebolaget Lm Ericsson (Publ) System and method for watermarking of media segments using sample variants for normalized encryption (SVNE)
US10699746B2 (en) * 2017-05-02 2020-06-30 Microsoft Technology Licensing, Llc Control video playback speed based on user interaction
GB2563865A (en) * 2017-06-27 2019-01-02 Canon Kk Method, device, and computer program for transmitting media content
US11252454B2 (en) * 2017-06-28 2022-02-15 Telefonaktiebolaget L M Ericsson (Publ) System, devices and methods for providing stream privacy in an ABR OTT media network
US10944977B2 (en) 2018-04-03 2021-03-09 Mediatek Singapore Pte. Ltd. Methods and apparatus for encoding and decoding overlay compositions
GB2575074B (en) * 2018-06-27 2022-09-28 Canon Kk Encapsulating video content with an indication of whether a group of tracks collectively represents a full frame or a part of a frame
US11716505B2 (en) * 2018-08-29 2023-08-01 Zhejiang University Methods and apparatus for media data processing and transmitting and reference picture specifying
GB2579389B (en) * 2018-11-29 2022-07-27 Canon Kk Method, device and computer program for encapsulating media data into a media file
WO2020183055A1 (en) * 2019-03-14 2020-09-17 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding

Also Published As

Publication number Publication date
TWI782386B (zh) 2022-11-01
US11589032B2 (en) 2023-02-21
US20210211637A1 (en) 2021-07-08

Similar Documents

Publication Publication Date Title
US11509878B2 (en) Methods and apparatus for using track derivations for network based media processing
TWI709325B (zh) 用於編解碼視訊資料的方法及裝置
US11245926B2 (en) Methods and apparatus for track derivation for immersive media data tracks
US10939086B2 (en) Methods and apparatus for encoding and decoding virtual reality content
US10931930B2 (en) Methods and apparatus for immersive media content overlays
TWI782386B (zh) 基於網路之媒體處理應用中利用軌道推導產生新軌道之方法和裝置
TWI674797B (zh) 球面區域呈現之方法與裝置
TWI688263B (zh) 一種推導合成軌道的方法及裝置
TWI815187B (zh) 適應性媒體串流系統之伺服器側串流適應系統和方法
US20230224512A1 (en) System and method of server-side dynamic adaptation for split rendering
TWI820490B (zh) 利用衍生視訊軌道實現場景描述的方法和系統
US20230007314A1 (en) System and method of server-side dynamic spatial and temporal adaptations for media processing and streaming
TWI802204B (zh) 用於導出的沉浸式軌道的方法和系統
US20220337800A1 (en) Systems and methods of server-side dynamic adaptation for viewport-dependent media processing
TWI793743B (zh) 處理多媒體資料的方法和裝置
TW202143727A (zh) 用以重定時序和縮放輸入視頻軌道的方法和裝置