TW201909626A - 使用網路內容之檔案軌處理媒體資料 - Google Patents

使用網路內容之檔案軌處理媒體資料 Download PDF

Info

Publication number
TW201909626A
TW201909626A TW107124341A TW107124341A TW201909626A TW 201909626 A TW201909626 A TW 201909626A TW 107124341 A TW107124341 A TW 107124341A TW 107124341 A TW107124341 A TW 107124341A TW 201909626 A TW201909626 A TW 201909626A
Authority
TW
Taiwan
Prior art keywords
web content
file
track
data
sample
Prior art date
Application number
TW107124341A
Other languages
English (en)
Other versions
TWI727186B (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 TW201909626A publication Critical patent/TW201909626A/zh
Application granted granted Critical
Publication of TWI727186B publication Critical patent/TWI727186B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43072Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43074Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of additional data with content streams on the same device, e.g. of EPG data or interactive icon with a TV program
    • 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
    • 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/8547Content authoring involving timestamps for synchronizing content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Library & Information Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

在一項實例中,一種用於擷取媒體資料之裝置包括經組態以儲存媒體資料之一記憶體及一或多個處理器,該一或多個處理器實施於電路系統中且經組態以擷取包括該媒體資料、根據超文字標示語言(HTML)格式化之網路內容,及指示如何使該網路內容與該媒體資料同步之資料的一檔案,且呈現該媒體資料及該網路內容,其中為了呈現該媒體資料及該網路內容,該一或多個處理器經組態以根據指示如何使該網路內容與該媒體資料同步的該資料,使該網路內容之呈現與該媒體資料之呈現同步。

Description

使用網路內容之檔案軌處理媒體資料
本發明係關於經編碼視訊資料之儲存及傳送。
數位媒體能力可併入至廣泛範圍的裝置中,包括數位電視、數位直播系統、無線廣播系統、個人數位助理(PDA)、膝上型或桌上型電腦、數位攝影機、數位記錄裝置、數位媒體播放器、視訊遊戲裝置、視訊遊戲控制台、蜂巢式或衛星無線電電話、視訊電話會議裝置及類似者。數位視訊裝置實施視訊壓縮技術,諸如描述於由MPEG-2、MPEG-4、ITU-T H.263或ITU-T H.264/MPEG-4、第10部分、進階視訊寫碼(AVC)、ITU-T H.265 (亦參考高效率視訊寫碼(HEVC))及此類標準之擴展所定義的標準中之彼等技術,從而更為有效地傳輸且接收數位視訊資訊。
在視訊資料已編碼之後,可將視訊資料封包化以用於傳輸或儲存。可以將視訊資料組譯成符合多種標準中之任一者的視訊檔案,該等標準諸如國際標準化組織(ISO)基本媒體檔案格式及其擴展,諸如AVC。
大體而言,本發明描述用於處理包括於一檔案格式中之媒體資料的技術,該媒體資料具有載運同步呈現之網路內容的一或多個軌(track)。亦即,該網路內容將以與該媒體資料時間同步的一方式呈現。舉例而言,互動式網路內容元素可在與視訊資料重疊之某些時間呈現。一檔案可包括媒體資料、網路內容,及表示該網路內容與該媒體資料之間的同步的資料。以此方式,一用戶端裝置可僅僅擷取一單一檔案,且僅僅使用該所擷取檔案之該等內容使該媒體資料與該網路內容之呈現時間同步。
在一項實例中,一種擷取媒體資料之方法包括:擷取包括媒體資料、根據超文字標示語言(HTML)格式化之網路內容,及指示如何使該網路內容與該媒體資料同步之資料的一檔案;及呈現該媒體資料及該網路內容,其中呈現該媒體資料及該網路內容包含根據指示如何使該網路內容與該媒體資料同步的該資料,使該網路內容之呈現與該媒體資料之呈現同步。
在另一實例中,一種用於擷取媒體資料之裝置包括經組態以儲存媒體資料之一記憶體及一或多個處理器,該一或多個處理器實施於電路系統中且經組態以擷取包括該媒體資料、根據超文字標示語言(HTML)格式化之網路內容,及指示如何使該網路內容與該媒體資料同步之資料的一檔案,且呈現該媒體資料及該網路內容,其中為了呈現該媒體資料及該網路內容,該一或多個處理器經組態以根據指示如何使該網路內容與該媒體資料同步的該資料,使該網路內容之呈現與該媒體資料之呈現同步。
在另一實例中,一種擷取媒體資料之裝置包括:用於擷取包括媒體資料、根據超文字標示語言(HTML)格式化之網路內容,及指示如何使該網路內容與該媒體資料同步之資料的一檔案,及呈現該媒體資料及該網路內容的構件,其中用於呈現該媒體資料及該網路內容的該構件包含用於根據指示如何使該網路內容與該媒體資料同步的該資料,使該網路內容之呈現與該媒體資料之呈現同步的構件。
在另一實例中,一種其上儲存有指令之電腦可讀儲存媒體,該等指令在執行時使得一處理器執行以下操作:擷取包括媒體資料、根據超文字標示語言(HTML)格式化之網路內容,及指示如何使該網路內容與該媒體資料同步之資料的一檔案;及呈現該媒體資料及該網路內容,其中使得該處理器呈現該媒體資料及該網路內容的該等指令包含使得該處理器根據指示如何使該網路內容與該媒體資料同步的該資料,使該網路內容之呈現與該媒體資料之呈現同步的指令。
在以下隨附圖式及描述中闡述一或多個實例之細節。其他特徵、目標及優點將自實施方式及圖式以及申請專利範圍而顯而易見。
本申請案主張2017年7月13日申請之美國臨時申請案第62 / 532 , 237 號之益處,該申請案之全部內容特此以引用之方式併入。
大體而言,本發明之技術涉及使用包括媒體資料及時間同步網路內容兩者之媒體檔案。舉例而言,網路內容可以與媒體資料(例如,音訊資料及/或視訊資料)時間同步的方式呈現。舉例而言,可在音訊資料之某一音訊樣本播放的同時,或在視訊資料之特定圖像或圖像序列得以顯示時呈現某些網路內容。本發明描述用戶端裝置可處理此媒體檔案,且以時間同步方式呈現媒體資料及網路內容兩者的技術。
舉例而言,用戶端裝置可包括網路插口伺服器、HTTP伺服器快取記憶體,及HTML-5處理器。HTML-5處理器可經由WebSocket API (應用程式設計介面)以通信方式耦接至網路插口伺服器,且經由XML HTTP請求(XHR)連接以通信方式耦接至HTTP伺服器快取記憶體。作為另一實例,用戶端裝置可包括一解譯器,其用於解譯網路內容軌資料及來自媒體解碼器的解碼/顯示時間,且因此解譯網路內容之座標呈現。
本發明之技術可應用於符合根據以下之任一者囊封之視訊資料的視訊檔案:ISO基本媒體檔案格式(BMFF)、可調式視訊寫碼(SVC)檔案格式、進階視訊寫碼(AVC)檔案格式、第三代合作夥伴計劃(3GPP)檔案格式及/或多圖景視訊寫碼(Multiview Video Coding;MVC)檔案格式或其他類似視訊檔案格式。
在諸如HTTP動態自適應串流傳輸(DASH)之HTTP串流傳輸中,頻繁使用之操作包括HEAD、GET及部分GET。HEAD操作擷取與給定的統一資源定位符(URL)或統一資源名稱(URN)相關聯之檔案的標頭,但不擷取與URL或URN相關聯之有效負載。GET操作擷取與給定URL或URN相關聯之整個檔案。部分GET操作接收位元組範圍作為輸入參數且擷取檔案之連續數目個位元組,其中位元組之數目對應於所接收位元組範圍。因此,可提供電影片段以用於HTTP串流傳輸,此係因為部分GET操作能夠得到一或多個單獨的電影片段。在電影片段中,可能存在不同軌之若干軌片段。在HTTP串流傳輸中,媒體呈現可為用戶端可存取之資料之結構化集合。用戶端可請求且下載媒體資料資訊以向使用者呈現串流傳輸服務。
在使用HTTP串流傳輸將3GPP資料串流傳輸之實例中,可能存在多媒體內容之視訊及/或音訊資料的多個表示。如下文所解釋,不同表示可對應於不同寫碼特性(例如,視訊寫碼標準之不同設定檔或層級)、不同寫碼標準或寫碼標準之擴展(諸如多圖景及/或可縮放擴展)或不同位元速率。此等表示之資訊清單可在媒體呈現描述(MPD)資料結構中定義。媒體呈現可對應於HTTP串流傳輸用戶端裝置可存取之資料的結構化集合。HTTP串流傳輸用戶端裝置可請求且下載媒體資料資訊以向用戶端裝置之使用者呈現串流傳輸服務。媒體呈現可在MPD資料結構中描述,MPD資料結構可包括MPD之更新。
媒體呈現可含有一或多個週期之序列。每一週期可延長,直至下一週期開始為止,或在最後一個週期的情況下,直至媒體呈現結束為止。每一週期可含有針對同一媒體內容之一或多個表示。表示可為音訊、視訊、計時文字或其他此類資料之數個替代性經編碼版本中之一者。表示可因編碼類型而異(例如,對於視訊資料,因位元速率、解析度及/或編解碼器而異,且對於音訊資料,因位元速率、語言及/或編解碼器而異)。術語表示可用以指代經編碼音訊或視訊資料的對應於多媒體內容之特定週期且以特定方式編碼之部分。
特定週期之表示可指派至由MPD中之屬性(其指示表示所屬之調適組)指示之群組。同一調適集中之表示通常被視為彼此之替代,此係因為用戶端裝置可在此等表示之間動態地且順暢地切換,例如執行寬頻調適。舉例而言,特定週期之視訊資料之每一表示可指派至同一調適集,使得可選擇該等表示中之任一者進行解碼以呈現對應週期之多媒體內容的媒體資料(諸如視訊資料或音訊資料)。在一些實例中,一個週期內之媒體內容可由來自群組0 (若存在)之一個表示來表示,或由來自每一非零群組的至多一個表示之組合來表示。週期之每一表示之時序資料可相對於該週期之開始時間來表達。
一表示可包括一或多個區段。每一表示可包括初始化區段,或表示之每一區段可自初始化。當存在時,初始化區段可含有用於存取表示之初始化資訊。大體而言,初始化區段不含有媒體資料。區段可由識別符唯一地參考,諸如統一資源定位符(URL)、統一資源名稱(URN)或統一資源識別符(URI)。MPD可為每一區段提供識別符。在一些實例中,MPD亦可提供呈範圍 屬性之形式的位元組範圍,該範圍屬性可對應於可由URL、URN或URI存取之檔案內之區段的資料。
可選擇不同表示以用於大體上同時擷取不同類型之媒體資料。舉例而言,用戶端裝置可選擇音訊表示、視訊表示及計時文字表示,自該等表示擷取區段。在一些實例中,用戶端裝置可選擇特定調適集以用於執行頻寬調適。亦即,用戶端裝置可選擇包括視訊表示之調適集、包括音訊表示之調適集及/或包括計時文字之調適集。替代地,用戶端裝置可為某些類型之媒體(例如,視訊)選擇調適集,且為其他類型之媒體(例如,音訊及/或計時文字)直接選擇表示。
本發明之技術可應用於各種使用狀況中。舉例而言,本發明認識到,應有可能封裝音訊/視訊內容及網路資料,從而使得可在未對HTML邏輯進行特定修改(例如,無用於檔案負載、軌處置等的特定碼)的情況下達成來自常規網路瀏覽器的互動播放。特定言之,對封裝於MP4中之互動應用程式的存取對瀏覽器而言應係透明的。
消耗音訊/視訊檔案時的一個典型使用狀況為搜尋檔案之時間軸中的特定位置。由於並非所有視訊/音訊訊框均可個別地解碼,因此檔案格式通常識別隨機存取點,諸如經框內預測之視訊訊框。若檔案含有用於網頁變化或更新(佈局、內容等)的額外資料,則尋求檔案中之給定時間亦應可能使用至頁面變化之隨機存取點,產生正確的頁面顯現。
大體而言,存在不同類型用戶端(具有部分網路引擎功能性的完全基於瀏覽器的專用媒體用戶端,等等)及服務(主要為具有重疊的基於網路之媒體消耗的A/V),且可能需要向不同類型用戶端提供服務。一些用戶端僅僅支援基本功能性,而其他用戶端支援高階功能性亦係可能的。
對於服務提供者之主要要求為在不定義自身應用環境的同時發送媒體時間經同步之圖形、重疊、互動資料、任何類型之網路資料等等的能力。不考慮重做LASER、DIMS或FLASH。
在檔案格式軌層級上,重要態樣可包括網路資料之載運及其同步,及用於可互操作實施的資料之語法及語義。
關於本發明之技術考慮各種現有技術。舉例而言,DASH事件表示用於載運經同步資料之一個選項。此等DASH事件可處於頻帶內,或形成媒體呈現描述(MPD)事件串流之部分。在瀏覽器中支援的共用實施可能需要應用程式干預。舉例而言,MPD載運之事件串流可能需要應用程式在應用程式或DASH用戶端自MPD剖析此等事件之後處置此等事件。「emsg」載運方法可能造成問題,其中許多媒體播放器實施完全忽略此邏輯框(與將資料傳遞至應用程式以供處置相反)。另外,DASH事件通常藉由DASH用戶端剖析並處理,且因此,DASH事件通常無法適當地儲存於ISO基本媒體檔案格式(BMFF)檔案中。又,DASH事件通常僅僅提供載運,而不描述有效負載之處理模型。
HTML-5為另一實例技術。存在至少兩個選項以在HTML頁面中提供互動性及動態性,特定言之,在亦使用視訊及音訊資源時。可提供頁面變化作為主要HTML資源之部分(例如,作為嵌入型JavaScript之部分),在此狀況下,音訊/視訊之同步具體而言藉由JavaScript處置。替代地,頁面變化可經提供作為額外定時資源之部分,其藉由瀏覽器直接同步。第一種方法包括漸進式剖析器,在此狀況下,遞送可對事件之執行進行排程,但僅僅與媒體粗略地同步。
第二種方法包括TextTrack元素,在此狀況下,文字軌中之內容可藉由瀏覽器同步且自然地顯示。具有隱藏模式之文字軌藉由瀏覽器處理(亦即,若被使用,則軌之內容被曝露於JavaScript,事件被觸發),但其內容未由瀏覽器顯現在螢幕正上方。該內容藉由JavaScript事件處置常式處理。「後設資料」種類的TextTrack為用以將任何種類之資料提供至網路應用程式的通用軌。後設資料軌並不意圖提供準備顯示之資料,此係因為瀏覽器將此軌處理為「隱藏」。後設資料軌內容意圖藉由頁面中之JavaScript碼處理,且結果可顯示於頁面中。HTML-5定義一些類型之ISOBMFF軌至TextTrack概念的基本映射,特定言之,至角色「後設資料」之軌的基本映射。此工作正藉由W3C媒體資源頻帶內軌團體群組改進,如在www.w3.org/community/inbandtracks/中所描述。
檔案格式技術亦被視為相關的。ISO/IEC 14496-12使用(例如)用於ISOBMFF的軌定義定時資料之儲存。ISO/IEC 14496-12中之ISOBMFF使用被稱作「軌處置常式」的第一個4字元碼,接著使用被稱作「樣本描述格式」的第二個4字元碼來定義若干類型之軌。軌處置常式識別與軌相關聯的所預期之一般處理(例如,音訊處理對文字處理對視訊處理……)。樣本描述格式識別軌中之媒體樣本的特定格式。「Meta」指示相關聯解碼器將處理並未意圖直接顯示但藉由應用程式處理(可能用於顯示)的資料。
ISOBMFF 「meta」軌處置常式指示軌內容並非意圖用於直接顯示。其亦可用於HTML 5 TextTrack API之內容中。存在可用於處置常式「meta」之軌的若干樣本描述格式。根據ISOBMFF,當資料為二進位時,使用URIMetadataSampleEntry(藉由樣本描述格式「urim」識別)。URI認識到可提供每一樣本之格式及一些初始化資訊。
若輸入資料為二進位資料,而非基於文字,則URIMetadataSampleEntry可用於網路互動性。使用此格式之規範將必須定義一URI值,及相關聯的二進位樣本格式及初始化格式。其將必須同樣指示哪些樣本為同步樣本。在HTML-5環境中,當經由TextTrack介面消耗時,此等軌將通常使用DataCue映射至TextTrack。處理二進位提示所需的HTML頁面(且詳言之,JavaScript)在軌外遞送,此可能使用簡單文字軌方法或用作「meta」邏輯框中之一項。
ISOBMFF定義「meta」邏輯框,其允許將未計時資料(可能與音訊及視訊序列一起)儲存於邏輯框結構之檔案中。因此,當互動性資料未經定時,或無需作為經定時資料塊而儲存時,可將互動資料儲存於項中。此等項可藉由給予其可選名稱及MIME類型而進行儲存。
對於網路資料,有可能使用不同項儲存HTML頁面及相關聯資源(諸如CSS及JS) ,其中HTML頁面為初級項,且音訊/視訊資源作為常規軌。未感知「Meta」之播放器將僅僅播放此檔案,如同其為簡單音訊/視訊檔案,而感知「meta」之播放器將藉由載入HTML及相關聯資源來開始,且隨後在此頁面之內容背景中載入音訊/視訊。
圖1為說明實施用於經由網路來串流傳輸傳輸媒體資料之技術之實例系統10的方塊圖。在此實例中,系統10包括內容準備裝置20、伺服器裝置60及用戶端裝置40。用戶端裝置40及伺服器裝置60藉由網路74以通信方式耦接,該網路可包含網際網路。在一些實例中,內容準備裝置20與伺服器裝置60亦可藉由網路74或另一網路耦接,或可直接以通信方式耦接。在一些實例中,內容準備裝置20及伺服器裝置60可包含相同裝置。
在圖1之實例中,內容準備裝置20包含音訊源22及視訊源24。音訊源22可包含(例如)麥克風,其產生表示待藉由音訊編碼器26編碼之所俘獲音訊資料的電信號。或者,音訊源22可包含儲存媒體(其儲存先前記錄之音訊資料)、音訊資料產生器(諸如電腦化之合成器)或任何其他音訊資料源。視訊源24可包含:視訊攝影機,其產生待藉由視訊編碼器28編碼之視訊資料;儲存媒體,其編碼有先前記錄之視訊資料;視訊資料產生單元,諸如電腦圖形源;或任何其他視訊資料源。內容準備裝置20未必在所有實例中均以通信方式耦接至伺服器裝置60,而可將多媒體內容儲存至由伺服器裝置60讀取之單獨媒體。
原始音訊及視訊資料可包含類比或數位資料。類比資料在藉由音訊編碼器26及/或視訊編碼器28編碼之前可被數位化。音訊源22可在說話參與者正在說話時自說話參與者獲得音訊資料,且視訊源24可同時獲得說話參與者之視訊資料。在其他實例中,音訊源22可包含包含所儲存之音訊資料的電腦可讀儲存媒體,且視訊源24可包含包含所儲存之視訊資料的電腦可讀儲存媒體。以此方式,本發明中所描述之技術可應用於實況、串流傳輸、即時音訊及視訊資料或所存檔的、預先記錄的音訊及視訊資料。
對應於視訊訊框之音訊訊框通常為含有藉由音訊源22俘獲(或產生)之音訊資料的音訊訊框,音訊資料同時伴隨含於視訊訊框內的藉由視訊源24俘獲(或產生)之視訊資料。舉例而言,當說話參與者通常藉由說話而產生音訊資料時,音訊源22俘獲音訊資料,且視訊源24同時(即,在音訊源22正俘獲音訊資料的同時)俘獲說話參與者之視訊資料。因此,音訊訊框在時間上可對應於一或多個特定視訊訊框。因此,對應於視訊訊框之音訊訊框大體上對應於同時俘獲到的音訊資料及視訊資料且音訊訊框及視訊訊框分別包含同時俘獲到的音訊資料及視訊資料的情形。
在一些實例中,音訊編碼器26可對每一經編碼音訊訊框中表示記錄經編碼音訊訊框的音訊資料之時間的時戳進行編碼,且類似地,視訊編碼器28可對每一經編碼視訊訊框中表示記錄經編碼視訊訊框的視訊資料之時間的時戳進行編碼。在此等實例中,對應於視訊訊框之音訊訊框可包含:包含時戳之音訊訊框及包含相同時戳之視訊訊框。內容準備裝置20可包括內部時脈,音訊編碼器26及/或視訊編碼器28可根據該內部時脈產生時戳,或音訊源22及視訊源24可使用該內部時脈以分別使音訊資料及視訊資料與時戳相關聯。
在一些實例中,音訊源22可向音訊編碼器26發送對應於記錄音訊資料之時間的資料,且視訊源24可向視訊編碼器28發送對應於記錄視訊資料之時間的資料。在一些實例中,音訊編碼器26可對經編碼音訊資料中之序列識別符進行編碼以指示經編碼音訊資料之相對時間排序,但未必指示記錄音訊資料之絕對時間,且類似地,視訊編碼器28亦可使用序列識別符來指示經編碼視訊資料之相對時間排序。類似地,在一些實例中,序列識別符可映射或以其它方式與時戳相關。
音訊編碼器26通常產生經編碼音訊資料之串流,而視訊編碼器28產生經編碼視訊資料之串流。每一個別資料串流(不論音訊或視訊)可被稱作基本串流。基本串流為表示之單一的經數位寫碼(可能經壓縮)之分量。舉例而言,表示之經寫碼視訊或音訊部分可為基本串流。基本串流可在被囊封於視訊檔案內之前被轉換成封包化基本串流(PES)。在相同表示內,可使用串流ID來區分屬於一個基本串流的PES封包與屬於其它基本串流的PES封包。基本串流之資料之基本單元為封包化基本串流(PES)封包。因此,經寫碼視訊資料大體對應於基本視訊串流。類似地,音訊資料對應於一或多個各別基本串流。
許多視訊寫碼標準(諸如,ITU-T H.264/AVC及即將來臨的高效視訊寫碼(HEVC)標準)界定無誤差位元串流之語法、語義及解碼過程,該等無誤差位元串流中之任一者符合特定設定檔或層級。視訊寫碼標準通常並不指定編碼器,但編碼器具有保證所產生之位元串流對於解碼器而言係標準相容之任務。在視訊寫碼標準之上下文中,「設定檔」對應於演算法、特徵或工具及施加至演算法、特徵或工具之限制的子集。如(例如)H.264標準所定義,「設定檔」為由H.264標準指定的完整位元串流語法之子集。「層級」對應於解碼器資源消耗,諸如(例如),解碼器記憶體及計算之限制,該等限制係關於圖像解析度、位元速率及區塊處理速率。設定檔可用profile_idc (設定檔指示符)值發信,而層級可用level_idc (層級指示符)值發信。
舉例而言,H.264標準認為,在由給定設定檔之語法所強加的界限內,仍然可能要求編碼器及解碼器之效能有較大變化,此取決於位元串流中之語法元素(諸如,經解碼圖像之指定大小)所取的值。H.264標準進一步認為,在許多應用中,實施能夠處理特定設定檔內之語法之所有假設使用的解碼器既不實際又不經濟。因此,H.264標準將「層級」定義為強加於位元串流中之語法元素之值的約束之指定集。此等約束可為對值的簡單限制。替代地,此等約束條件可呈對值之算術組合(例如,圖像寬度乘以圖像高度乘以每秒解碼的圖像數目)之約束的形式。H.264標準進一步規定,個別實施對於每一所支援設定檔可支援不同層級。
符合設定檔之解碼器一般支援設定檔中所定義之所有特徵。舉例而言,作為寫碼特徵,B圖像寫碼在H.264/AVC之基線設定檔不被支援,但在H.264/AVC之其他設定檔中被支援。符合一層級之解碼器應能夠對不需要超出該層級中所定義之限制的資源之任何位元串流進行解碼。設定檔及層級之定義可對可解釋性有幫助。舉例而言,在視訊傳輸期間,可針對整個傳輸工作階段協商及同意一對設定檔定義及層級定義。更特定言之,在H.264/AVC中,層級可定義對於需要處理之巨集區塊的數目、經解碼圖像緩衝器(DPB)大小、經寫碼圖像緩衝器(CPB)大小、垂直運動向量範圍、每兩個連續MB的運動向量之最大數目及B區塊是否可具有小於8×8像素之子巨集區塊分區的限制。以此方式,解碼器可判定解碼器是否能夠適當地對位元串流進行解碼。
在圖1之實例中,內容準備裝置20之囊封單元30自視訊編碼器28接收包含經寫碼視訊資料之基本串流且自音訊編碼器26接收包含經寫碼音訊資料之基本串流。在一些實例中,視訊編碼器28及音訊編碼器26可各自包括用於自經編碼資料形成PES封包之封包化器。在其他實例中,視訊編碼器28及音訊編碼器26可各自與用於自經編碼資料形成PES封包之相應封包化器介接。在另外其他實例中,囊封單元30可包括用於自經編碼音訊及視訊資料形成PES封包之封包化器。
視訊編碼器28可以多種方式對多媒體內容之視訊資料進行編碼,從而以各種位元速率且以各種特性產生多媒體內容之不同表示,該等特性諸如像素解析度、訊框速率、對各種寫碼標準之符合性、對各種寫碼標準之各種設定檔及/或設定檔層級之符合性、具有一或多個圖景之表示(例如,對於二維或三維播放)或其他此類特性。如本發明中所使用,表示可包含音訊資料、視訊資料、文字資料(例如,用於封閉字幕)或其他此類資料中之一者。表示可包括諸如音訊基本串流或視訊基本串流之基本串流。每一PES封包可包括stream_id,該stream_id識別PES封包所屬之基本串流。囊封單元30負責將基本串流組譯成各種表示之視訊檔案(例如,區段)。
囊封單元30自音訊編碼器26及視訊編碼器28接收表示之基本串流的PES封包,且自該等PES封包形成對應的網路抽象層(NAL)單元。經寫碼視訊區段可被組織至NAL單元中,其提供「網路友好」視訊表示定址應用程式,諸如視訊電話、儲存器、廣播或串流傳輸。NAL單元可分類為視訊寫碼層(VCL) NAL單元及非VCL NAL單元。VCL單元可含有核心壓縮引擎,且可包括區塊、巨集區塊及/或圖塊層級資料。其他NAL單元可為非VCL NAL單元。在一些實例中,一個時間執行個體中之經寫碼圖像(通常呈現為初級經寫碼圖像)可含於存取單元中,該存取單元可包括一或多個NAL單元。
非VCL NAL單元可尤其包括參數集NAL單元及SEI NAL單元。參數集可含有序列層級標頭資訊(在序列參數集(SPS)中)及不頻繁改變的圖像層級標頭資訊(在圖像參數集(PPS)中)。對於參數集(例如,PPS及SPS),不頻繁改變的資訊不需要關於每一序列或圖像重複,因此可改良寫碼效率。此外,使用參數集可實現重要標頭資訊之帶外傳輸,從而避免對於用於抗誤碼之冗餘傳輸的需要。在帶外傳輸實例中,參數集NAL單元可在與其他NAL單元(諸如,SEI NAL單元)不同之頻道上傳輸。
補充增強資訊(SEI)可含有對於對來自VCL NAL單元之經寫碼圖像樣本進行解碼並非必需的資訊,但可輔助與解碼、顯示、抗誤碼及其他目的相關的過程。SEI訊息可含於非VCL NAL單元中。SEI訊息為一些標準規範之標準化部分,且因此對於標準相容之解碼器實施並非始終係強制的。SEI訊息可為序列層級SEI訊息或圖像層級SEI訊息。某一序列層級資訊可含於SEI訊息中,諸如SVC之實例中的可縮放性資訊SEI訊息,及MVC中的圖景可縮放性資訊SEI訊息。此等實例SEI訊息可傳達關於例如操作點之提取及操作點之特性的資訊。另外,囊封單元30可形成資訊清單檔案,諸如描述表示之特徵的媒體呈現描述符(MPD)。囊封單元30可根據可延伸標示語言(XML)來格式化MPD。
囊封單元30可向輸出介面32提供多媒體內容之一或多個表示的資料以及資訊清單檔案(例如,MPD)。輸出介面32可包含網路介面或用於對儲存媒體進行寫入之介面,諸如通用串列匯流排(USB)介面、CD或DVD寫入器或燒錄器、至磁性或快閃儲存媒體之介面,或用於儲存或傳輸媒體資料之其他介面。囊封單元30可向輸出介面32提供多媒體內容之表示中之每一者的資料,該輸出介面可經由網路傳輸或儲存媒體向伺服器裝置60發送該資料。在圖1之實例中,伺服器裝置60包括儲存各種多媒體內容64之儲存媒體62,每一多媒體內容包括各別資訊清單檔案66及一或多個表示68A至68N (表示68)。在一些實例中,輸出介面32亦可將資料直接發送至網路74。
在一些實例中,表示68可分成若干調適集。亦即,表示68之各種子集可包括各別共同特性集合,諸如編解碼器、設定檔及層級、解析度、圖景數目、用於區段之檔案格式、可識別待與待解碼及呈現之表示及/或音訊資料(例如,由揚聲器發出)一起顯示的文字之語言或其他特性的文字類型資訊、可描述調適集中之表示之場景的攝影機角度或真實世界攝影機視角的攝影機角度資訊、描述對於特定觀眾之內容適合性的分級資訊,或其類似資訊。
資訊清單檔案66可包括指示對應於特定調適集之表示68之子集以及該等調適集之共同特性的資料。資訊清單檔案66亦可包括表示調適集之個別表示的個別特性(諸如位元速率)之資料。以此方式,調適集可提供簡化的網路頻寬調適。調適集中之表示可使用資訊清單檔案66之調適集元素的子代元素來指示。
伺服器裝置60包括請求處理單元70及網路介面72。在一些實例中,伺服器裝置60可包括複數個網路介面。此外,伺服器裝置60之特徵中之任一者或全部可在內容遞送網路之其他裝置(諸如,路由器、橋接器、代理裝置、交換器或其他裝置)上實施。在一些實例中,內容遞送網路之中間裝置可快取多媒體內容64之資料,且包括實質上符合伺服器裝置60之彼等組件之組件。一般而言,網路介面72經組態以經由網路74來發送及接收資料。
請求處理單元70經組態以自用戶端裝置(諸如,用戶端裝置40)接收對儲存媒體62之資料的網路請求。舉例而言,請求處理單元70可實施超文字傳送協定(HTTP)版本1.1,如RFC 2616中R.Fielding等人於1999年6月在網路工作群組,IETF的「Hypertext Transfer Protocol - HTTP/1.1,」中所描述。亦即,請求處理單元70可經組態以接收HTTP GET或部分GET請求,且回應於該等請求而提供多媒體內容64之資料。請求可指定表示68中之一者的區段,例如使用區段之URL。在一些實例中,該等請求亦可指定區段之一或多個位元組範圍,因此包含部分GET請求。請求處理單元70可經進一步組態以服務於HTTP HEAD請求,以提供表示68中之一者之區段的標頭資料。在任何狀況下,請求處理單元70可經組態以處理該等請求以向請求裝置(諸如,用戶端裝置40)提供所請求之資料。
另外地或替代性地,請求處理單元70可經組態以經由諸如eMBMS之廣播或多播協定而遞送媒體資料。內容準備裝置20可用與所描述大體上相同的方式產生DASH區段及/或子區段,但伺服器裝置60可使用eMBMS或另一廣播或多播網路傳送協定來遞送此等區段或子區段。舉例而言,請求處理單元70可經組態以自用戶端裝置40接收多播群組加入請求。亦即,伺服器裝置60可向用戶端裝置(包括用戶端裝置40)公告與多播群組相關聯之網際網路協定(IP)位址,其與特定媒體內容(例如,實況事件之廣播)相關聯。用戶端裝置40轉而可提交加入多播群組之請求。此請求可遍及網路74 (例如,構成網路74之路由器)傳播,以使得促使該等路由器將去往與多播群組相關聯之IP位址的訊務導向至訂用的用戶端裝置(諸如用戶端裝置40)。
如圖1之實例中所說明,多媒體內容64包括資訊清單檔案66,該資訊清單檔案可對應於媒體呈現描述(MPD)。資訊清單檔案66可含有不同替代表示68 (例如,具有不同品質之視訊服務)的描述,且該描述可包括(例如)編解碼器資訊、設定檔值、層級值、位元速率及表示68之其他描述性特性。用戶端裝置40可擷取媒體呈現之MPD以判定如何存取表示68之區段。
詳言之,擷取單元52可擷取用戶端裝置40之組態資料(圖中未示)以判定視訊解碼器48之解碼能力及視訊輸出端44之顯現能力。組態資料亦可包括由用戶端裝置40之使用者選擇的語言偏好中之任一者或全部、對應於由用戶端裝置40之使用者設定的深度偏好之一或多個攝影機視角及/或由用戶端裝置40之使用者選擇的分級偏好。舉例而言,擷取單元52可包含網路瀏覽器或媒體用戶端,其經組態以提交HTTP GET及部分GET請求。擷取單元52可對應於由用戶端裝置40之一或多個處理器或處理單元(圖中未示)執行的軟體指令。在一些實例中,關於擷取單元52所描述的功能性之全部或部分可在硬體或硬體、軟體及/或韌體之組合中實施,其中可提供必需的硬體以執行軟體或韌體之指令。
擷取單元52可將用戶端裝置40之解碼及顯現能力與由資訊清單檔案66之資訊所指示之表示68的特性進行比較。擷取單元52可最初擷取資訊清單檔案66之至少一部分以判定表示68之特性。舉例而言,擷取單元52可請求描述一或多個調適集之特性的資訊清單檔案66之一部分。擷取單元52可選擇具有可藉由用戶端裝置40之寫碼及顯現能力滿足之特性的表示68之子集(例如,調適集)。擷取單元52可接著判定用於調適集中之表示的位元速率,判定網路頻寬之當前可用量,且自具有網路頻寬可滿足之位元速率的表示中之一者擷取區段。
一般而言,較高位元速率表示可產生較高品質之視訊播放,而較低位元速率表示可在可用網路頻寬減少時提供足夠品質之視訊播放。因此,當可用網路頻寬相對高時,擷取單元52可自相對較高位元速率表示擷取資料,而當可用網路頻寬較低時,擷取單元52可自相對較低位元速率表示擷取資料。以此方式,用戶端裝置40可經由網路74串流傳輸多媒體資料,同時亦適應網路74之改變的網路頻寬可用性。
另外或可替代地,擷取單元52可經組態以根據諸如eMBMS或IP多播之廣播或多播網路協定來接收資料。在此等實例中,擷取單元52可提交加入與特定媒體內容相關聯之多播網路群組的請求。在加入多播群組之後,擷取單元52可在另外請求未發佈至伺服器裝置60或內容準備裝置20的情況下接收多播群組之資料。擷取單元52可提交當不再需要多播群組之資料時離開多播群組的請求,例如停止播放或將頻道改變至不同多播群組。
網路介面54可接收經選定表示之區段的資料且將該資料提供至擷取單元52,該擷取單元又可將該等區段提供至解囊封單元50。解囊封單元50可將視訊檔案之元素解囊封成組成性PES串流,將該等PES串流解封包化以擷取經編碼資料,且取決於經編碼資料為音訊串流抑或視訊串流之部分(例如,如由串流之PES封包標頭所指示)而將經編碼資料發送至音訊解碼器46或視訊解碼器48。音訊解碼器46解碼經編碼音訊資料,且將經解碼音訊資料發送至音訊輸出端42,而視訊解碼器48解碼經編碼視訊資料,且將經解碼視訊資料發送至視訊輸出端44,該經解碼視訊資料可包括串流之複數個圖景。
視訊編碼器28、視訊解碼器48、音訊編碼器26、音訊解碼器46、囊封單元30、擷取單元52及解囊封單元50各自可實施為適用的多種合適處理電路系統中之任一者,合適處理電路系統諸如一或多個微處理器、數位信號處理器(DSP)、特定應用積體電路(ASIC)、場可程式化閘陣列(FPGA)、離散邏輯電路系統、軟體、硬體、韌體或其任何組合。視訊編碼器28及視訊解碼器48中之每一者可包括於一或多個編碼器或解碼器中,編碼器或解碼器中之任一者可經整合為組合式視訊編碼器/解碼器(CODEC)之部分。同樣地,音訊編碼器26及音訊解碼器46中之每一者可包括於一或多個編碼器或解碼器中,編碼器或解碼器中之任一者可經整合為組合式CODEC之部分。包括視訊編碼器28、視訊解碼器48、音訊編碼器26、音訊解碼器46、囊封單元30、擷取單元52及/或解囊封單元50的設備可包含積體電路、微處理器及/或無線通信裝置,諸如蜂巢式電話。
用戶端裝置40、伺服器裝置60及/或內容準備裝置20可經組態以根據本發明之技術操作。出於實例之目的,本發明關於用戶端裝置40及伺服器裝置60描述此等技術。然而,應理解,替代伺服器裝置60 (或除此之外),內容準備裝置20可經組態以執行此等技術。
囊封單元30可形成NAL單元,該等NAL單元包含識別NAL所屬之程式的標頭,以及有效負載,例如音訊資料、視訊資料或描述NAL單元對應於的傳送或程式串流的資料。舉例而言,在H.264/AVC中,NAL單元包括1位元組標頭及不同大小之有效負載。在有效負載中包括視訊資料之NAL單元可包含各種粒度位準之視訊資料。舉例而言,NAL單元可包含視訊資料區塊、複數個區塊、視訊資料之圖塊或視訊資料之整個圖像。囊封單元30可自視訊編碼器28接收呈基本串流之PES封包之形式的經編碼視訊資料。囊封單元30可使每一基本串流與對應程序相關聯。
囊封單元30亦可組譯來自複數個NAL單元之存取單元。一般而言,存取單元可包含用於表示視訊資料之訊框以及對應於該訊框之音訊資料(當此音訊資料可用時)的一或多個NAL單元。存取單元總體上包括用於一個輸出時間執行個體的所有NAL單元,例如,用於一個時間執行個體的所有音訊及視訊資料。舉例而言,若每一圖景具有20訊框每秒(fps)之訊框速率,則每一時間執行個體可對應於0.05秒之時間間隔。在此時間間隔期間,可同時顯現相同存取單元(相同時間執行個體)之所有圖景的特定訊框。在一個實例中,存取單元可包含一個時間執行個體中之經寫碼圖像,其可呈現為初級經寫碼圖像。
因此,存取單元可包含共同時間執行個體之所有音訊訊框及視訊訊框,例如對應於時間X 之所有圖景。本發明亦將特定圖景之經編碼圖像稱為「圖景分量」。亦即,圖景分量可包含在特定時間針對特定圖景的經編碼圖像(或訊框)。因此,存取單元可被定義為包含共同時間執行個體之所有圖景分量。存取單元之解碼次序未必與輸出或顯示次序相同。
媒體呈現可包括媒體呈現描述(MPD),該媒體呈現描述可含有不同替代表示(例如,具有不同品質之視訊服務)的描述,且該描述可包括例如編解碼器資訊、設定檔值及層級值。MPD為資訊清單檔案(諸如資訊清單檔案66)之一個實例。用戶端裝置40可擷取媒體呈現之MPD以判定如何存取各種呈現之電影片段。電影片段可位於視訊檔案之電影片段邏輯框(moof邏輯框)中。
資訊清單檔案66 (其可包含例如MPD)可公告表示68之區段之可用性。亦即,MPD可包括指示表示68中之一者之第一區段變得可用時之掛鐘時間的資訊,以及指示表示68內之區段之持續時間的資訊。以此方式,用戶端裝置40之擷取單元52可基於開始時間以及在特定區段之前的區段之持續時間而判定何時每一區段可獲得。
在囊封單元30已基於所接收之資料將NAL單元及/或存取單元組譯成視訊檔案之後,囊封單元30將視訊檔案傳遞至輸出介面32以用於輸出。在一些實例中,囊封單元30可將視訊檔案儲存在本端,或經由輸出介面32而將視訊檔案發送至遠端伺服器,而非將視訊檔案直接發送至用戶端裝置40。輸出介面32可包含(例如)傳輸器、收發器、用於將資料寫入至電腦可讀媒體的裝置,諸如光碟機、磁性媒體驅動器(例如,軟碟機)、通用串列匯流排(USB)埠、網路介面或其他輸出介面。輸出介面32將視訊檔案輸出至電腦可讀媒體,諸如傳輸信號、磁性媒體、光學媒體、記憶體、隨身碟或其他電腦可讀媒體。
網路介面54可經由網路74接收NAL單元或存取單元,且經由擷取單元52將NAL單元或存取單元提供至解囊封單元50。解囊封單元50可將視訊檔案之元素解囊封成組成性PES串流,將該等PES串流解封包化以擷取經編碼資料,且取決於經編碼資料為音訊串流抑或視訊串流之部分(例如,如由串流之PES封包標頭所指示)而將經編碼資料發送至音訊解碼器46或視訊解碼器48。音訊解碼器46解碼經編碼音訊資料,且將經解碼音訊資料發送至音訊輸出端42,而視訊解碼器48解碼經編碼視訊資料,且將經解碼視訊資料發送至視訊輸出端44,該經解碼視訊資料可包括串流之複數個圖景。
圖2為更詳細地說明圖1之擷取單元52之組件之實例集合的方塊圖。在此實例中,擷取單元52包括eMBMS介體(middleware)單元100、DASH用戶端110及媒體應用程式112。
在此實例中,eMBMS介體單元100進一步包括eMBMS接收單元106、快取記憶體104及伺服器單元102。在此實例中,eMBMS接收單元106經組態以經由eMBMS接收資料,例如,根據T.Paila等人在「FLUTE-經由單向輸送之檔案傳遞(FLUTE-File Delivery over Unidirectional Transport)」(網路工作群組,RFC 6726,2012年11月)(可於http://tools.ietf.org/html/rfc6726獲得)中所描述的單向輸送檔案傳遞(File Delivery over Unidirectional Transport,FLUTE)。亦即,eMBMS接收單元106可經由廣播而自(例如)伺服器裝置60 (其可充當BM-SC)接收檔案。
當eMBMS介體單元100接收檔案之資料時,eMBMS介體單元可將所接收之資料儲存於快取記憶體104中。快取記憶體104可包含電腦可讀儲存媒體,諸如快閃記憶體、硬碟、RAM或任何其他合適的儲存媒體。
本端伺服器單元102可充當DASH用戶端110之伺服器。舉例而言,本端伺服器單元102可將MPD檔案或其他資訊清單檔案提供至DASH用戶端110。本端伺服器單元102可公告MPD檔案中之區段之可用性時間,以及可擷取該等區段之超連結。此等超連結可包括對應於用戶端裝置40之本機主機位址首碼(例如,IPv4之127.0.0.1)。以此方式,DASH用戶端110可使用HTTP GET或部分GET請求向本端伺服器單元102請求區段。舉例而言,對於可自連結http://127.0.0.1/rep1/seg3獲得之區段,DASH用戶端110可建構包括針對http://127.0.0.1/rep1/seg3之請求的HTTP GET請求,且將請求提交至本端伺服器單元102。本端伺服器102可自快取記憶體104擷取所請求之資料且回應於此等請求而將資料提供至DASH用戶端110。
圖3為說明根據本發明之技術的實例網路互動性軌的概念圖。在許多狀況下,網頁互動性需要不僅在瀏覽器中提供,且亦在單獨應用程式中提供。本發明認識到提供關於ISO BMFF軌層級之可互操作解決方案的預期益處。圖3之組件可總體上對應於圖1之用戶端裝置40的具有類似名稱之組件。
可根據ISO BMFF,藉由允許HTML-5資料,以及JavaScript及其他動態網路資料在檔案格式資訊中以恆定方式的載運,來提供可能的解決方案。此一致性將支援不同使用狀況,且提供更廣互操作性。基本想法展示於圖3中。軌可囊封於檔案格式資訊中,且在網路引擎中終止。事件可被提供至網路引擎,以便允許事件與媒體之同步。
軌可含有HTML-5登錄頁(類似RAP/同步樣本之某物),且可能含有經同步之動態事件。圖3繪示為了處置此情況之一項實例實施。在另一實例中,ISO BMFF可在瀏覽器中終止。基於Javascript之剖析器可提取HTML-5資料且提供動力,而視訊及音訊軌可使用視訊及音訊標記進行處置。使用DASH及CMAF可依賴於提供網路互動性軌之片段化/區段化版本。
軌可限於HTML-5及JS資料,且模型可處於某一媒體時間,或者顯現HTML-5頁面,或執行JavaScript碼之結果。每一事件指派有呈現時間,且該時間與文件物件模型(DOM)修改處於作用中時相關聯。其亦意謂無需啟動HTML-5環境,但在用戶端裝置並不支援網路互動性的情況下,用戶端裝置可僅僅呈現視訊及音訊。獨立播放器可經組態有網路引擎以便處理網路互動性內容。特徵及應用程式介面(API)之有限集合可能足以呈現網路互動性內容。
可在實施此等技術時考慮某些問題: 1) 網頁與視訊之間可存在繫結。亦即,該網頁及將視訊/音訊標記連結至視訊軌的資料中可能存在HTML-5視訊及(音訊)標記。此連結可藉由軌參考進行。舉例而言,可提供諸如「<video src=“trackid://<trackid>”>」之資料。 2) (例如)在用戶端裝置按逐個片段工作的狀況下,可添加媒體源擴展(MSE)緩衝器。MSE緩衝器可由應用程式決定,但繫結可起作用,使得來自檔案之ISO BMFF片段可隨附至MSE緩衝器。 3) 在一些實例中,可存在多個HTML-5軌。在此等實例中,各種HTML-5軌可專用於不同功能性。在此等實例中,可同樣針對HTML-5軌中之每一者描述類型。 4) 網路引擎可提供各種功能性及能力以使用HTML-5軌。HTML-5軌可使用不同API及功能,且可存在用於發信所要網路引擎能力以顯現互動性軌的資料。 5) 可另外定義典型的ISO BMFF功能,諸如同步樣本、隨機存取點及其類似者。 6) 上文實例限於視覺態樣,但可基於HTML-5控制API而執行類似技術以允許與音訊元素之互動性。 7) 亦可進一步定義環境。兩個實例模型包括在瀏覽器中播放,及在包括網路工具之應用程式中播放。存在實際及協調界限(例如,MSE堅持忽略使用未辨識軌之呈現)。 8) 亦可定義由Javascript使用之資源,且亦可定義用於參考此等資源的標準方式。Webarchive點可用於此等定義。
圖4為說明實例多媒體內容120之元素的概念圖。多媒體內容120可對應於多媒體內容64 (圖1),或對應於儲存於儲存媒體62中之另一多媒體內容。在圖4之實例中,多媒體內容120包括媒體呈現描述(MPD) 122及複數個表示124A至124N (表示124)。表示124A包括可選標頭資料126及區段128A至128N (區段128),而表示124N包括可選標頭資料130及區段132A至132N (區段132)。為了方便起見,使用字母N來指定表示124中之每一者中的最後一個電影片段。在一些實例中,表示124之間可存在不同數目之電影片段。
MPD 122可包含與表示124分開之資料結構。MPD 122可對應於圖1之資訊清單檔案66。同樣,表示124可對應於圖2之表示68。一般而言,MPD 122可包括大體上描述表示124之特性的資料,諸如寫碼及顯現特性、調適集、MPD 122所對應之設定檔、文字類型資訊、攝影機角度資訊、分級資訊、特技模式資訊(例如,指示包括時間子序列之表示的資訊)及/或用於擷取遠端週期(例如,用於在播放期間將針對性廣告插入至媒體內容中)之資訊。
標頭資料126 (當存在時)可描述區段128之特性,例如,隨機存取點(RAP,其亦被稱作串流存取點(SAP))之時間位置、區段128中之哪一者包括隨機存取點、與區段128內之隨機存取點之位元組偏移、區段128之統一資源定位符(URL),或區段128之其他態樣。標頭資料130 (當存在時)可描述區段132之相似特性。另外或替代地,此等特性可完全包括於MPD 122內。
區段128、132包括一或多個經寫碼視訊樣本,其中之每一者可包括視訊資料之訊框或圖塊。區段128之經寫碼視訊樣本中之每一者可具有類似特性,例如,高度、寬度及頻寬要求。此類特性可藉由MPD 122之資料來描述,儘管此資料在圖4之實例中未說明。MPD 122可包括如3GPP規範所描述之特性,並且添加了本發明中所描述的所發信資訊中之任一者或全部。
區段128、132中之每一者可與唯一的統一資源定位符(URL)相關聯。因此,區段128、132中之每一者可使用串流傳輸網路協定(諸如,DASH)來獨立地擷取。以此方式,諸如用戶端裝置40之目的地裝置可使用HTTP GET請求來擷取區段128或132。在一些實例中,用戶端裝置40可使用HTTP部分GET請求來擷取區段128或132之特定位元組範圍。
圖5為說明實例視訊檔案150之元素的方塊圖,該實例視訊檔案可對應於表示之區段,諸如圖4之區段114、124中之一者。區段128、132中之每一者可包括實質上符合圖5之實例中所說明之資料之配置的資料。視訊檔案150可稱為囊封一區段。如上所述,根據ISO基本媒體檔案格式及其擴展的視訊檔案將資料儲存於一系列物件(稱為「邏輯框(Box)」)中。在圖5之實例中,視訊檔案150包括檔案類型(FTYP)邏輯框152、電影(MOOV)邏輯框154、區段索引(sidx)邏輯框162、電影片段(MOOF)邏輯框164及電影片段隨機存取(MFRA)邏輯框166。儘管圖5表示視訊檔案之實例,但應理解,根據ISO基本媒體檔案格式及其擴展,其他媒體檔案可包括其他類型之媒體資料(例如,音訊資料、計時文字資料或其類似者),其在結構上類似於媒體檔案150之資料。
檔案類型(FTYP)邏輯框152通常描述視訊檔案150之檔案類型。檔案類型邏輯框152可包括識別描述視訊檔案150之最佳用途之規範的資料。檔案類型邏輯框152可替代地置放在MOOV邏輯框154、電影片段邏輯框164及/或MFRA邏輯框166之前。
在一些實例中,區段(諸如,視訊檔案150)可包括在FTYP邏輯框152之前的MPD更新邏輯框(圖中未示)。MPD更新邏輯框可包括指示對應於包括視訊檔案150之表示之MPD待更新的資訊,以及用於更新MPD之資訊。舉例而言,MPD更新邏輯框可提供待用以更新MPD之資源的URI或URL。作為另一實例,MPD更新邏輯框可包括用於更新MPD之資料。在一些實例中,MPD更新邏輯框可緊接在視訊檔案150之區段類型(STYP)邏輯框(圖中未示)之後,其中STYP邏輯框可定義視訊檔案150之區段類型。在下文更詳細地論述之圖7提供關於MPD更新邏輯框之額外資訊。
在圖5之實例中,MOOV邏輯框154包括電影標頭(MVHD)邏輯框156、軌(TRAK)邏輯框158及一或多個電影延伸(MVEX)邏輯框160。一般而言,MVHD邏輯框156可描述視訊檔案150之一般特性。舉例而言,MVHD邏輯框156可包括描述視訊檔案150何時最初建立、視訊檔案150何時經最後修改、視訊檔案150之時間標度、視訊檔案150之播放持續時間的資料,或大體上描述視訊150之其他資料。
TRAK邏輯框158可包括視訊檔案150之軌的資料。TRAK邏輯框158可包括軌標頭(TKHD)邏輯框,其描述對應於TRAK邏輯框158之軌的特性。在一些實例中,TRAK邏輯框158可包括經寫碼視訊圖像,而在其他實例中,軌之經寫碼視訊圖像可包括於電影片段164中,其可由TRAK邏輯框158及/或sidx邏輯框162之資料參考。
在一些實例中,視訊檔案150可包括一個以上軌。相應地,MOOV邏輯框154可包括數個TRAK邏輯框,其等於視訊檔案150中之軌之數目。TRAK邏輯框158可描述視訊檔案150之對應軌之特性。舉例而言,TRAK邏輯框158可描述相對應軌之時間及/或空間資訊。當囊封單元30 (圖4)包括視訊檔案(諸如,視訊檔案150)中之參數集軌時,類似於MOOV邏輯框154之TRAK邏輯框158的TRAK邏輯框可描述參數集軌之特性。囊封單元30可在描述參數集軌之TRAK邏輯框內發信序列層級SEI訊息存在於參數集軌中。
MVEX邏輯框160可描述對應電影片段164之特性,例如,發信視訊檔案150除包括於MOOV邏輯框154 (若存在)內之視訊資料之外亦包括電影片段164。在串流傳輸視訊資料之上下文中,經寫碼視訊圖像可包括於電影片段164中而非包括於MOOV邏輯框154中。相應地,所有經寫碼視訊樣本可包括於電影片段164中,而非包括於MOOV邏輯框154中。
MOOV邏輯框154可包括數個MVEX邏輯框160,其等於視訊檔案150中之電影片段164之數目。MVEX邏輯框160中之每一者可描述電影片段164中之對應一者之特性。舉例而言,每一MVEX邏輯框可包括電影延伸標頭邏輯框(MEHD)邏輯框,其描述電影片段164中的一相對應者之持續時間。
如上文所指出,囊封單元30可儲存視訊樣本中之序列資料集,其並不包括實際經寫碼視訊資料。視訊樣本可大體上對應於存取單元,其為特定時間執行個體下之經寫碼圖像之表示。在AVC的上下文中,經寫碼圖像包括一或多個VCL NAL單元,其含有用以建構存取單元之所有像素的資訊,及其他相關聯的非VCL NAL單元(諸如SEI訊息)。因此,囊封單元30可包括電影片段164中之一者中之序列資料集,其可包括序列層級SEI訊息。囊封單元30可進一步發信存在於電影片段164中之一者中的序列資料集及/或序列層級SEI訊息存在於對應於電影片段164中之一者的MVEX邏輯框160中之一者內。
SIDX邏輯框162為視訊檔案150之可選元素。亦即,符合3GPP檔案格式或其他此等檔案格式之視訊檔案未必包括SIDX邏輯框162。根據3GPP檔案格式之實例,SIDX邏輯框可用以識別區段(例如,含於視訊檔案150內之區段)之子區段。3GPP檔案格式將子區段定義為「具有一或多個對應媒體資料邏輯框及含有藉由電影片段邏輯框引用之資料的媒體資料邏輯框的一或多個連續電影片段邏輯框之自含式集合,必須跟在電影片段邏輯框之後,並在含有關於同一軌之資訊的下一個電影片段邏輯框之前」。3GPP檔案格式亦指示SIDX邏輯框「含有對由邏輯框記錄之(子) 區段之子區段參考的序列。所引用的子區段在呈現時間上鄰接。類似地,由區段索引邏輯框參考之位元組始終在區段內鄰接。所引用大小給出所引用材料中之位元組數目的計數」。
SIDX邏輯框162通常提供表示包括於視訊檔案150中之區段之一或多個子區段的資訊。舉例而言,此等資訊可包括子區段開始及/或結束的播放時間、子區段之位元組偏移、子區段是否包括串流存取點(SAP) (以該串流存取點開始)、SAP之類型(例如,SAP是否為瞬時解碼器再新(IDR)圖像、清晰隨機存取(CRA)圖像、斷鏈存取(BLA)圖像或其類似者)、子區段中的SAP之位置(關於播放時間及/或位元組偏移),及其類似者。
電影片段164可包括一或多個經寫碼視訊圖像。在一些實例中,電影片段164可包括一或多個圖像群組(GOP),其中之每一者可包括數個經寫碼視訊圖像,例如訊框或圖像。另外,如上文所描述,在一些實例中,電影片段164可包括序列資料集。電影片段164中之每一者可包括電影片段標頭邏輯框(MFHD,圖5中未展示)。MFHD邏輯框可描述對應電影片段之特性,諸如電影片段之序號。電影片段164可按序號次序包括於視訊檔案150中。
MFRA邏輯框166可描述視訊檔案150之電影片段164內的隨機存取點。此可輔助執行特技模式,諸如執行對由視訊檔案150囊封之區段內之特定時間位置(即,播放時間)的尋找。在一些實例中,MFRA邏輯框166通常係可選的且無需包括於視訊檔案中。同樣,用戶端裝置(諸如用戶端裝置40)未必需要參考MFRA邏輯框166來對視訊檔案150之視訊資料進行正確解碼及顯示。MFRA邏輯框166可包括數個軌片段隨機存取(TFRA)邏輯框(圖中未示),其等於視訊檔案150之軌之數目或在一些實例中等於視訊檔案150之媒體軌(例如,非暗示軌)之數目。
在一些實例中,電影片段164可包括一或多個串流存取點(SAP),諸如IDR圖像。同樣地,MFRA邏輯框166可提供對SAP在視訊檔案150內之位置的指示。因此,視訊檔案150之時間子序列可由視訊檔案150之SAP形成。時間子序列亦可包括其他圖像,諸如取決於SAP之P訊框及/或B訊框。時間子序列之訊框及/或圖塊可配置於區段內,以使得時間子序列的取決於子序列之其他訊框/圖塊之訊框/圖塊可被恰當地解碼。舉例而言,在資料之階層式配置中,用於其他資料之預測的資料亦可包括於時間子序列中。
圖6為說明根據本發明之技術的實例接收器資料處理模型的概念圖。特定言之,圖6繪示用於媒體內容180之實例資料處理模型,其可表示(例如)ISOBMFF檔案、CMAF呈現或DASH媒體呈現。在此實例中,媒體內容180包括複數個軌,包括音訊軌182、視訊軌184及網路內容軌186。音訊軌182及視訊軌184可被集體稱為音訊/視訊(AV)軌。網路內容軌186可對應於網路/html-5軌,其包括與音訊軌182及視訊軌184之音訊及/或視訊資料時間同步的網路內容。此外,網路內容軌186可包括具有AV軌的表示同步化資訊之資料。此模型可用以解決且提供根據本發明之技術的網路軌。
圖1之用戶端裝置40可根據圖6之用戶端裝置190的實例模型進行組態,及/或其他類似用戶端裝置可根據此模型進行組態。特定言之,在此實例中,用戶端裝置190包括音訊軌處置常式192、視訊軌處置常式194、網路內容軌處置常式196、音訊解碼器198、視訊解碼器200、網路插口伺服器202、HTTP伺服器快取記憶體204、HTML-5處理器210及媒體顯現器220。HTML-5處理器210包括網路插口用戶端212及HTTP用戶端214。網路插口伺服器202及網路插口用戶端212經由WebSocket API連接216以通信方式耦接,而HTTP伺服器快取記憶體204及HTTP用戶端214經由XML HTTP請求(XHR)連接218以通信方式耦接。
假定音訊軌182、視訊軌184及網路內容軌186 (例如,HTML-5(htm5)軌)經提供於媒體內容180中,諸如ISO BMFF檔案、CMAF呈現或DASH媒體呈現。此意謂軌經時間對準,且可使用解碼時間以及「呈現」中之組成時間及呈現時間資訊以「經同步方式」呈現。對於所有軌,電影標頭及軌標頭中之資訊可用以初始化適當軌處置常式(例如,音訊軌處置常式192、視訊軌處置常式194及網路內容軌處置常式196)及媒體解碼器與處理器(例如,音訊解碼器198、視訊解碼器200、網路插口伺服器202及HTML-5處理器210)。對於音訊及視訊,可應用常規處理程序。藉由啟動解碼器(例如,音訊解碼器198及視訊解碼器200),可允用「插口」,其使得能夠在宣佈之解碼時間將樣本佈建至解碼器。
解碼器可使用解碼時間之排程,以解碼對應媒體樣本(例如,音訊樣本或視訊樣本)。關於呈現時間及組成時間之資訊可用於媒體之精確呈現。呈現可描述媒體時間中之所有時間,且即時播放及映射可由呈現環境中之元素執行。處理模型可藉由包括於ISO BMFF中之媒體時間引導。
音訊軌182及視訊軌184可單獨用作常規AV呈現,忽略網路內容軌186。然而,有能力之裝置可同樣使用網路內容軌186 (例如,htm5軌)。如上文所論述,可考慮不同播放器及服務模型,亦即,可啟動AV呈現,且稍後添加htm5軌,或網路內容軌186可在啟動時使用,且可整合AV軌。ISO BMFF中之描述獨立於此,但為簡單起見,現在假定網路內容軌186 (例如,HTML-5呈現)為主控軌,首先啟動,且藉由使用HTML-5中之視訊元素及音訊元素,來向所有所包括的AV軌提供關聯性。網路內容軌186可包括將軌識別為包括樣本項目之htm5軌的資料。此外,可提供資料充當AV軌與HTML-5中之音訊元素及視訊元素的繫結。多個音訊源及視訊源以及諸如副標題等之其他媒體元素可存在額外軌繫結。
三種實例資料類型可關注網路內容軌186: 1) HTML-5頁面之初始啟動,潛在地包括諸如JavaScript等等之動態態樣。此資訊可係靜態的(非定時項),或可在呈現時間0被視為一樣本。視訊及音訊呈現可(例如)以媒體時間增量方式晚於HTML-5頁面開始。此可能需要經由編輯清單調整音訊及視訊之呈現。 2) 基於內容製作排程在特定媒體時間被「推送」至HTML-5處理器中的任何資料。此可(例如)觸發與媒體之播放同步的DOM之變化。在特定媒體時間推送的此資料可被視為具有作為解碼時間之「特定媒體時間」的「樣本」。 3) 可用於在HTML-5處理器中處理,但可藉由處理器僅僅基於動態DOM更新或根據互動性「請求」的資料。此資料可通常僅僅在呈現中之特定媒體時段(或多個週期)內予以請求。在此等媒體時段之外,此等資料可被視為不相關的。
為使HTML-5處理器210擷取此資料,可考慮不同類型的HTML-5程序及API。上文點1之啟動頁面可包括用以啟動HTML-5處理器210之資料。此資訊可為作為非定時項或作為初始隨機存取樣本而可用於網路內容軌186之軌標頭中。上文點2之模型之後的資料可藉由使用WebSocket API連接216而易於推送。HTML-5處理器210可充當WebSocket用戶端(例如,網路插口用戶端212),且用戶端側API可與下文同樣簡單: var exampleSocket = new WebSocket(“ws://ExampleLocalWebSocketServer”); exampleSocket.onmessage = function (event) { /* handle event ...*/; }
網路內容軌處置常式196可仿真網路插口伺服器(例如,網路插口伺服器202),其為經由專用網路插口位址(例如,「ws://ExampleLocalWebSocketServer」插口)可存取的。在使用(例如)「發送」方法的情況下,可調用上文函數以在用戶端側上處置。需要適當地處置HTML-5頁面與裝置上的WebSocketServer之間的繫結。
上文點3之後的資料無需在WebSocket API連接216上「推送」,但可經由定義明確的「http://」標記(或「http-標記」)自特定時間起可用。藉由使用http-標記,HTML-5處理器210可使用諸如XHR連接218之XHR API存取資料。資料被視為在所識別之標記處自解碼時間起藉由HTML-5處理器可存取的樣本。此類似於記錄在3GPP中之FLUTE操作,除了樣本之可用性係瞬時的(亦即,在物件被遞送之後)。檔案遞送表(FDT)提供關於標記之資訊以及其他此內容類型之資訊等等。可提供類似資訊。最後,根據本發明之技術,媒體顯現器220可以時間同步方式呈現音訊軌182、視訊軌184及網路內容軌186之音訊及視訊資料。
以此方式,圖6表示一種用於擷取媒體資料之裝置的實例,該裝置包括經組態以儲存媒體資料之記憶體及一或多個處理器,該一或多個處理器實施於電路系統中且經組態以擷取包括媒體資料、根據超文字標示語言(HTML)格式化之網路內容,及指示如何使該網路內容與該媒體資料同步之資料的檔案,且呈現該媒體資料及該網路內容,其中為了呈現該媒體資料及該網路內容,該一或多個處理器經組態以根據指示如何使該網路內容與該媒體資料同步的該資料,使該網路內容之呈現與該媒體資料之呈現同步。
圖7為說明根據本發明之技術的實例處理模型的概念圖。特定言之,圖7繪示用於媒體內容230之實例資料處理模型,其可表示(例如)ISOBMFF檔案、CMAF呈現或DASH媒體呈現。在此實例中,媒體內容230包括複數個軌,包括音訊軌232、視訊軌234及網路內容軌236。總體而言,音訊軌232及視訊軌234可被稱為音訊/視訊(AV)軌。網路內容軌236可對應於網路/html-5軌,其包括與音訊軌232及視訊軌234之音訊及/或視訊資料時間同步的網路內容。此外,網路內容軌236可包括具有AV軌的表示同步化資訊之資料。
用戶端裝置40可經組態以使用此或類似處理模型處理網路內容軌236之網路軌資料。亦即,用戶端裝置40可根據圖7之用戶端裝置240的模型進行組態。在此實例中,用戶端裝置240包括音訊軌處置常式242、視訊軌處置常式244、網路內容軌處置常式246、音訊解碼器248、視訊解碼器250、解譯器260及媒體顯現器270。
基於媒體時序論述概念方法,亦即,資料被儲存於檔案中。然而,此等時序概念可在資料如DASH中的進行串流傳輸的情況下置於即時的時間軸中。假定所有資料可用於軌處置常式(例如,網路內容軌處置常式246),圖7之實例模型著重於軌處理。在下文更詳細地論述遞送特定態樣。
概言之,關於圖7,可在一個軌或在可經產生且區分開的多個軌中提供三種類型樣本資料: 1) 初始啟動資料以及「完整」且「冗餘」隨機存取資料。此資料可啟動HTML-5處理器,或可在稍後媒體時間用以隨機地存取HTML-5軌。隨機存取可係冗餘的,以便避免重新載入DOM。然而,為解決「錯誤狀況」,可在設計中考慮推送啟動資料,且在未使用WebSocket連接的情況下迫使頁面被重新載入。 2) 在解碼時間被推送至所建立的WebSocketClient的樣本,其作為最初啟動之HTML-5處理資料的部分。該等樣本可能需要識別以進行推送。可產生多個WebSocket。若提供多個WebSocket,則亦可提供繫結。 3) 在經明確定義之「http://」標記下自解碼時間起可用作如此物件的樣本允許瀏覽器使用現有XmlHttpRequest API來集中物件。可提供額外後設資料以最佳化快取。應注意,樣本可包括於檔案中,或可使用外部資料參考。在後一狀況中,XHR請求在「檔案」中將不會終止,但會被轉發至網路。
大體而言,應僅僅提供「冗餘」同步樣本,以便避免完全DOM重新載入。
若包括遞送,則樣本解碼時間可充當一遞送指示,以及在需要接收物件的最新時間(媒體時間軸上)提供資訊。視訊與音訊元素不再僅僅需要至單一資源的點,而是可使用MSE及軌緩衝器將媒體區段附加至軌緩衝器。
在圖7之實例中,網路內容軌處置常式246可為Javascript中之HTML-5軌處置常式。在(例如)HTML-5軌處置常式本身可用的情況下,圖7之網路內容軌處置常式246為一項實例實施。此可(例如)對1型用戶端感興趣(針對該等用戶端發送簡單HTML-5資訊),可能僅僅為在無推送機制的情況下經由XHR可存取的啟動頁面及互動資料。
在此實例中,網路內容軌處置常式246 (例如,HTML-5軌處置常式)可完全實施於Javascript中,且可使用軌中之資料啟動服務。在此狀況下,Javascript經執行以剖析ISO BMFF資料,且使用軌資料啟動所呈現之頁面以及動態後設資料。物件與插口繫結可在不使用XHR或WebSocketAPI的情況下實施於一個用戶端中。可提供相同狀況用於將軌繫結至媒體元素。然而,在兩種狀況下,可使用相同軌資料,僅僅對用戶端的實施可係不同的。特定言之,在此實例中,網路內容軌處置常式246將軌資料262提供至解譯器260,而音訊解碼器248及視訊解碼器250可將使音訊及視訊元素與網路內容相關聯的資料264提供至解譯器260。
在此實例中,所有資料可為常規HTML-5資料,從而使得除HTML-5中可用的,無需添加特殊媒體處理。又,接收器可為無任何特殊模組的常規HTML-5處理器。
同樣相關的是內容產生。可(例如)僅僅藉由使用非定時啟動頁面以及在變得可用時進行定時(或在媒體時間於HTML-5場景中首先參考)的請求樣本將不同片段(啟動頁面、請求樣本及推送樣本)轉儲為檔案格式來「記錄」/「產生」具有音訊/視訊之HTML-5會話,且推送樣本可在其於網路上進行推送時指派有解碼時間。
以此方式,圖7表示一種用於擷取媒體資料之裝置的實例,該裝置包括經組態以儲存媒體資料之記憶體及一或多個處理器,該一或多個處理器實施於電路系統中且經組態以擷取包括媒體資料、根據超文字標示語言(HTML)格式化之網路內容,及指示如何使該網路內容與該媒體資料同步之資料的檔案,且呈現該媒體資料及該網路內容,其中為了呈現該媒體資料及該網路內容,該一或多個處理器經組態以根據指示如何使該網路內容與該媒體資料同步的該資料,使該網路內容之呈現與該媒體資料之呈現同步。
圖8為說明用於本發明之技術的實例基於事件之模型的概念圖。圖8之實例模型可被用作如上文所述之軌模型的替代物。特定言之,圖8繪示用於媒體內容280之實例資料處理模型,其可表示(例如) ISOBMFF檔案、CMAF呈現或DASH媒體呈現。在此實例中,媒體內容280包括複數個軌,包括音訊軌282及視訊與事件軌284。視訊與事件軌284包括事件,諸如DASH應用程式事件。
在圖8之實例中,用戶端裝置290包括音訊軌處置常式292、視訊軌與事件處置常式294、音訊解碼器298、視訊解碼器300、網路插口伺服器302、HTTP伺服器快取記憶體304、HTML-5處理器310及媒體顯現器320。HTML-5處理器310包括網路插口用戶端312及HTTP用戶端314。網路插口伺服器302及網路插口用戶端312經由WebSocket API連接316以通信方式耦接,而HTTP伺服器快取記憶體304及HTTP用戶端314經由XML HTTP請求(XHR)連接318以通信方式耦接。
在此實例中,視訊軌與事件處置常式294可自視訊與事件軌284提取DASH應用程式事件,且將DASH事件傳遞至適當應用程式。舉例而言,視訊軌與事件處置常式294可自視訊與事件軌284提取WebSocket事件286,且將WebSocket事件286傳遞至網路插口伺服器302。作為另一實例,視訊軌與事件處置常式294可提取XHR事件288,且將XHR事件288傳遞至HTTP伺服器快取記憶體304。應用程式與網頁可能需要使用位於媒體內容280之外的初始頁面進行下載。吾人亦可定義專用WebSocket事件或XHR事件,但該等事件可能錯過繫結之細節等等。媒體內容280 (諸如ISO BMFF呈現或DASH/CMAF內容)可進一步擴展。
在又一方法中,可使用FLUTE概念。XHR樣本可易於用FLUTE解決,但時序並非必須與媒體對準,此可能限制適用性。資料呈現並非必須完整。WebSocket方法可使用具有標記的網路插口推送資料之廣播,此當前在習知實施中未予以支援。
基於上文論述,本發明之技術可將ISOBMFF軌之稻草人(strawman)設計用於網路內容載運,如下文所論述。亦即,圖1之內容準備裝置20、伺服器裝置60及/或用戶端裝置40可經組態以將ISOBMFF軌之稻草人設計用於本發明之網路內容載運,(例如)如下文所論述。稻草人設計概括如下: · 使用文字軌,具有處置常式類型「text」及MIME類型「text/htm5」。 · 樣本項目設計 o 樣本項目類型為「htm5」。 o 定義HTML5ConfigurationBox,其強制包括至樣本項目中且含有以下資訊: § 諸如各別規範之版本的基本HTML-5及JavaScript (包括JSON)資訊、所要API及可選API,等等。 § 樣本中可提及的JavaScript碼之陣列。 · 樣本設計 o 樣本定義:樣本為任一者 § 1) HTML-5頁面加一些JavaScript碼,作為啟動頁面。此充當啟動樣本,且亦可用作完整同步樣本(重新載入頁面)。HTML-5頁面亦可經提供作為冗餘同步樣本。-此樣本被稱作「啟動」樣本 § 2) 在解碼時間被推送至特定websocket API的一些二進位物件(經同步至媒體播出)。啟動頁面有責任在啟動頁面中於二進位物件與websocket API之間提供適當繫結。此等樣本並非為同步樣本,此係因為其取決於啟動頁面之存在。此物件被稱為「推送」樣本。 § 3)可經由HTTP請求存取,以便對互動性作出反應或亦基於執行載入物件的物件(XHR將為API)。啟動頁面與物件之間的繫結係經由一http URL。樣本可含有關於物件之管理(例如,快取記憶體指引等等)的額外資訊。實例為可在被請求或需要保持等等之後自軌處置常式緩衝器移除樣本的情況。此等樣本被稱為「牽拉」樣本。 o 啟動頁面可經提供作為軌標頭中之非定時項,或可經提供作為軌中之常規樣本,其用解碼時間0進行定時。 o 解碼時間視樣本類型而定進行解譯。 § 對於「啟動」樣本,解碼時間為頁面需要被載入至HTML-5引擎中的媒體時間的時間。 § 對於「推送」樣本,解碼時間為樣本被推送至WebSocketAPI的時間。 § 對於「拉取」樣本,解碼時間為樣本可藉由HTML-5處理器請求的最早時間,亦即,所包含之物件可用的時間。 o 樣本可嵌入於軌中,或可進行外部參考。詳言之,對於拉取樣本之狀況,可進行外部參考。 o JavaScript語法經延伸以能夠藉由使用軌ID以及至樣本項目中之JavaScript碼之陣列的索引來指代檔案中之軌。對於依賴於現有標準JavaScript語法的用戶端,檔案剖析器需要將新參考機制翻譯為與現有標準JavaScript語法相容的機制。 · 軌中的准許亦將組態資訊添加至(例如)所要API等等上之媒體類型的htm5的媒體類型。 · 需要實行相同呈現(ISO BMFF、DASH呈現等等)中之媒體軌之間的軌繫結。存在幾個選項: o 使用源元素,且經由經明確定義之新URI提供繫結。舉例而言,可定義track://<tracknumber>以指代一軌。解析度達至瀏覽器。 o 替代地,類似於包含軌之資源,可進行http繫結。然而,隨後需要用於外部繫結之指示。 o 又一替代方案為使用MSE,從而使得軌之位元組串流可被發送至瀏覽器。此選項似乎為最合適的。此可(例如)藉由使用軌URI以將MSE及JavaScript用於以經同步方式載入媒體檔案的實施進行。 · 針對HTML/XML (及此處特定言之,HTML-5)軌定義新的軌參考類型「mdtk」,以指代在包含於此軌之樣本中的HTML/XML文檔中之至少一者中進行標記的媒體軌。 · 允許多個HTML-5軌。當多個HTML-5軌確實存在於檔案中時,需要發信軌之間的區分。一項實例可為不同顯示器解析度或裝置。為此目的,吾人可將目標顯示器解析度之欄位添加至HTML5ConfigurationBox。替代地,可始終使用單一啟動,但隨後多個軌可處於相關的檔案中,且僅僅存取特定軌。
基於資料處理模型的構架之論證藉由以下實情促進:其大部分依賴於具有現有穩定實施的現有技術。在事物之接收側,僅僅需要實施HTML軌處置常式。類似地,在內容產生側,可實施HTML軌封裝機(packager)。一旦實施此等模組,使用現有瀏覽器(例如,Chrome瀏覽器、開放原始碼插口-與HTTP-伺服器)實現即時互動原型以用於論證。
作為一實例論證情境,使用者可啟動瀏覽器以存取網際網路上的科學文獻之互動串流,方法為使用串流之HTTPS URL (例如,example.com/InteractiveStream.mp4,其前面為「https://」)。在存取此URL時,具有完整特徵之網頁可出現有兩個視訊串流縮略圖,其呈現兩個選項:播放特徵或在場景軌後播放。在點選兩個選項中之一者時,電影用呈現器之縮略圖影像在完整瀏覽器視窗中播放接下來的30秒。點選縮略圖中之一者可在新視窗中公開呈現器設定檔。
用於呈現示範的所有資料可嵌入於互動檔案中(呈現器設定檔除外),該互動檔案可自公開網際網路存取。若需要服務工作者(由於對於預期時間範圍,不存在經由MSE的對HTML軌解碼之支援;用戶端可亦由於缺少當前對HTML軌本身之支援而需要將串流解多工),則可能需要發現其實現。其可經預載入、藉由存取膠合URL促進,或藉由伺服器側指令碼處理任一者。若分別自音訊/視訊提供HTML軌,則可進行簡化,但此可減少示範之影響。
互動HTML頁面可使用現有創造性共用視訊內容及/或HTML頁面製作工具產生。由於不存在用於HTML內容之現有編碼器,因此若存在極小數目個樣本,則可(例如)在Python中將指令碼寫入成塊,且封裝HTML內容。假定現有封裝機(例如,MP4Box)可能夠形成多個HTML軌,即使樣本對於封裝機而言具有未知類型。JavaScript可用以解碼HTML軌。用戶端裝置亦可使用指令碼將HTML軌解多工。
用戶端側應用程式的設置可包括設置用戶端機器、存取公開源網路插口伺服器(若必需),及存取HTML伺服器。用戶端側應用程式可包括JavaScript中之服務工作者,其可僅僅包括如上文所述之HTML軌解碼器。
稻草人設計可經擴展超出如上文所述之實例。舉例而言,稻草人設計可經擴展以考慮需要至外部之HTTPS連接的HTML-5。稻草人設計可解決CORS問題。MPEG-4、MAF或其他標準可經擴展以考慮本發明之稻草人設計。此外,可添加額外細節用於映射遞送及分段內容。
以此方式,圖8表示一種用於擷取媒體資料之裝置的實例,該裝置包括經組態以儲存媒體資料之記憶體及一或多個處理器,該一或多個處理器實施於電路系統中且經組態以擷取包括媒體資料、根據超文字標示語言(HTML)格式化之網路內容,及指示如何使該網路內容與該媒體資料同步之資料的檔案,且呈現該媒體資料及該網路內容,其中為了呈現該媒體資料及該網路內容,該一或多個處理器經組態以根據指示如何使該網路內容與該媒體資料同步的該資料,使該網路內容之呈現與該媒體資料之呈現同步。
圖9為說明根據本發明之技術的用於擷取及處理媒體資料及經同步網路內容之實例方法的流程圖。關於圖1之內容準備裝置20及用戶端裝置40解釋圖9之方法。然而,應理解,其他裝置可經組態以執行圖9之技術。舉例而言,根據圖6至圖8中任一者之用戶端裝置模型進行組態的用戶端裝置可歸因於用戶端裝置40執行圖9之元件。作為另一實例,伺服器裝置60可歸因於內容準備裝置20執行某些元件,諸如經由網路發送及接收資料。
最初,內容準備裝置20接收媒體資料及時間同步網路內容(350)。舉例而言,囊封單元30可接收來自音訊編碼器26之音訊資料、來自視訊編碼器28之視訊資料、計時文字或其他媒體資料,以及將以與媒體資料時間同步方式呈現之網路內容。內容準備裝置20之囊封單元30可接著將媒體資料及網路內容囊封於檔案中(352)。舉例而言,囊封單元30可將音訊資料囊封於音訊軌中,將視訊資料囊封於視訊軌中,且將網路內容囊封於網路內容軌中,如圖6及圖7中所示。替代地,囊封單元30可將定義網路內容事件之視訊資料及事件資料兩者囊封於視訊與事件軌中,如圖8中所示。
隨後,用戶端裝置40可發送對檔案之請求(354)。儘管未展示於圖9中,但在一些實例中,內容準備裝置20可提供指示檔案之網路位址(例如,URL)的資訊清單檔案(諸如,DASH MPD),且用戶端裝置40可首先擷取資訊清單檔案以判定檔案之網路位址。在任何狀況下,用戶端裝置40可發送對檔案之請求(354)(例如,定義檔案之URL的HTTP GET或部分GET請求)。內容準備裝置20 (或伺服器裝置60)可接收對檔案之請求(356),且將所請求檔案輸出至用戶端裝置40 (358)。
用戶端裝置40可接著接收檔案(360)。在接收檔案之後,用戶端裝置40可提取媒體資料及網路內容(362),呈現媒體資料(364),且呈現與媒體資料時間同步之網路內容(366)。舉例而言,如圖6及圖8中所示,用戶端裝置40可包括網路插口伺服器、HTTP伺服器快取記憶體及HTML-5處理器。在此實例中,為以時間同步方式呈現媒體資料及網路內容,用戶端裝置40可最初啟動網頁,且因此延遲媒體資料之呈現。隨後,網路插口伺服器可在對應媒體資料之解碼時間經由WebSocket API推送網路內容,及/或HTML-5處理器可在特定媒體時段內經由XHR自HTTP伺服器快取記憶體請求媒體資料。在一些實例中(例如,如圖8中所示),網路插口伺服器或另一單元(諸如,視訊軌及事件處置常式)可自單獨伺服器擷取網路內容之某些元素。
作為另一實例,如圖7中所示,用戶端裝置40可包括網路內容軌處置常式及解譯器。在此實例中,為了以時間同步方式呈現媒體資料及網路內容,用戶端裝置40可最初啟動完整網頁以及完整及/或冗餘隨機存取資料。隨後,解譯器及網路內容軌處置常式可使用JavaScript、WebSocket API、XHR或其類似者來傳達所推送及/或所拉取的網路內容。
以此方式,圖9之方法表示一種方法之實例,該方法包括:擷取包括媒體資料、根據超文字標示語言(HTML)格式化之網路內容,及指示如何使該網路內容與該媒體資料同步之資料的檔案;及呈現該媒體資料及該網路內容,其中呈現該媒體資料及該網路內容包含根據指示如何使該網路內容與該媒體資料同步的該資料,使該網路內容之呈現與該媒體資料之呈現同步。
在一或多個實例中,所描述之功能可實施於硬體、軟體、韌體或其任何組合中。若實施於軟體中,則該等功能可作為一或多個指令或程式碼而儲存於電腦可讀媒體上或經由電腦可讀媒體進行傳輸,且由基於硬體之處理單元執行。電腦可讀媒體可包括電腦可讀儲存媒體(其對應於諸如資料儲存媒體之有形媒體)或通信媒體(其包括(例如)根據通信協定促進電腦程式自一處傳送至另一處的任何媒體)。以此方式,電腦可讀媒體大體可對應於(1)為非暫時形的有形電腦可讀儲存媒體,或(2)通信媒體,諸如,信號或載波。資料儲存媒體可為可由一或多個電腦或一或多個處理器存取以擷取用於實施本發明中所描述之技術之指令、程式碼及/或資料結構的任何可用媒體。電腦程式產品可包括電腦可讀媒體。
藉由實例而非限制,此等電腦可讀儲存媒體可包含RAM、ROM、EEPROM、CD-ROM或其他光碟儲存器、磁碟儲存器或其他磁性儲存裝置、快閃記憶體或可用以儲存呈指令或資料結構形式之所要程式碼且可由電腦存取的任何其他媒體。而且,任何連接被恰當地稱為電腦可讀媒體。舉例而言,若使用同軸纜線、光纖纜線、雙絞線、數位用戶線(DSL)或諸如紅外線、無線電及微波之無線技術,自網站、伺服器或其他遠端源來傳輸指令,則同軸纜線、光纖纜線、雙絞線、DSL或諸如紅外線、無線電及微波之無線技術包括於媒體之定義中。然而,應理解,電腦可讀儲存媒體及資料儲存媒體不包括連接、載波、信號或其他暫時性媒體,而實情為關於非暫時性有形儲存媒體。如本文中所使用之磁碟及光碟包括緊密光碟(CD)、雷射光碟、光學光碟、數位多功能光碟(DVD)、軟碟及藍光光碟,其中磁碟通常以磁性方式再生資料,而光碟用雷射以光學方式再生資料。以上各者的組合亦應包括於電腦可讀媒體之範疇內。
可由一或多個處理器執行指令,該一或多個處理器諸如一或多個數位信號處理器(DSP)、通用微處理器、特殊應用積體電路(ASIC)、場可程式化邏輯陣列(FPGA)或其他等效之整合或離散邏輯電路系統。因此,如本文中所使用之術語「處理器」可指上述結構或適合於實施本文中所描述之技術的任何其他結構中之任一者。另外,在一些態樣中,本文所描述之功能性可經提供於經組態以供編碼及解碼或併入於經組合編解碼器中之專用硬體及/或軟體模組內。此外,該等技術可完全實施於一或多個電路或邏輯元件中。
本發明之技術可實施於廣泛多種裝置或設備中,包括無線手持機、積體電路(IC)或IC集合(例如,晶片組)。在本發明中描述各種組件、模組或單元以強調經組態以執行所揭示技術之裝置的功能態樣,但未必要求由不同硬體單元來實現。確切而言,如上文所描述,各種單元可結合合適的軟體及/或韌體而組合於編解碼器硬體單元中或由互操作性硬體單元(包括如上文所描述之一或多個處理器)之集合提供。
各種實例已予以描述。此等及其他實例在以下申請專利範圍之範疇內。
10‧‧‧系統
20‧‧‧內容準備裝置
22‧‧‧音訊源
24‧‧‧視訊源
26‧‧‧音訊編碼器
28‧‧‧視訊編碼器
30‧‧‧囊封單元
32‧‧‧輸出介面
40‧‧‧用戶端裝置
42‧‧‧音訊輸出端
44‧‧‧視訊輸出端
46‧‧‧音訊解碼器
48‧‧‧視訊解碼器
50‧‧‧解囊封單元
52‧‧‧擷取單元
54‧‧‧網路介面
60‧‧‧伺服器裝置
62‧‧‧儲存媒體
64‧‧‧多媒體內容
66‧‧‧資訊清單檔案
68A-68N‧‧‧表示
70‧‧‧請求處理單元
72‧‧‧網路介面
74‧‧‧網路
100‧‧‧EMBMS介體單元
102‧‧‧本端伺服器單元
104‧‧‧快取記憶體
106‧‧‧EMBMS接收單元
110‧‧‧DASH用戶端
112‧‧‧媒體應用程式
114‧‧‧區段
120‧‧‧多媒體內容
122‧‧‧媒體呈現描述
124A-124N‧‧‧表示
126‧‧‧標頭資料
128A-128N‧‧‧區段
130‧‧‧標頭資料
132A-132N‧‧‧區段
150‧‧‧視訊檔案
152‧‧‧檔案類型(FTYP)邏輯框
154‧‧‧電影(MOOV)邏輯框
156‧‧‧電影標頭(MVHD)邏輯框
158‧‧‧軌(TRAK)邏輯框
160‧‧‧電影延伸(MVEX)邏輯框
162‧‧‧區段索引(SIDX)邏輯框
164‧‧‧電影片段
166‧‧‧電影片段隨機存取(MFRA)邏輯框
180‧‧‧媒體內容
182‧‧‧音訊軌
184‧‧‧視訊軌
186‧‧‧網路內容軌
190‧‧‧用戶端裝置
192‧‧‧音訊軌處置常式
194‧‧‧視訊軌處置常式
196‧‧‧網路內容軌處置常式
198‧‧‧音訊解碼器
200‧‧‧視訊解碼器
202‧‧‧網路插口伺服器
204‧‧‧HTTP伺服器快取記憶體
210‧‧‧HTML-5處理器
212‧‧‧網路插口用戶端
214‧‧‧HTTP用戶端
216‧‧‧WebSocket API連接
218‧‧‧XML HTTP請求(XHR)連接
220‧‧‧媒體顯現器
230‧‧‧媒體內容
232‧‧‧音訊軌
234‧‧‧視訊軌
236‧‧‧網路內容軌
240‧‧‧用戶端裝置
242‧‧‧音訊軌處置常式
244‧‧‧視訊軌處置常式
246‧‧‧網路內容軌處置常式
248‧‧‧音訊解碼器
250‧‧‧視訊解碼器
260‧‧‧解譯器
262‧‧‧軌資料
264‧‧‧資料
270‧‧‧媒體顯現器
280‧‧‧媒體內容
282‧‧‧音訊軌
284‧‧‧視訊與事件軌
286‧‧‧WebSocket事件
288‧‧‧XHR事件
290‧‧‧用戶端裝置
292‧‧‧音訊軌處置常式
294‧‧‧視訊軌與事件處置常式
298‧‧‧音訊解碼器
300‧‧‧視訊解碼器
302‧‧‧網路插口伺服器
304‧‧‧HTTP伺服器快取記憶體
310‧‧‧HTML-5處理器
312‧‧‧網路插口用戶端
314‧‧‧HTTP用戶端
316‧‧‧WebSocket API連接
318‧‧‧XML HTTP請求(XHR)連接
320‧‧‧媒體顯現器
350‧‧‧步驟
352‧‧‧步驟
354‧‧‧步驟
356‧‧‧步驟
358‧‧‧步驟
360‧‧‧步驟
362‧‧‧步驟
364‧‧‧步驟
366‧‧‧步驟
圖1為說明實施用於經由網路串流傳輸媒體資料之技術之實例系統的方塊圖。
圖2為說明擷取單元之實例組件集合的方塊圖。
圖3為說明根據本發明之技術的實例網路互動性軌的概念圖。
圖4為說明實例多媒體內容之元素的概念圖。
圖5為說明實例視訊檔案之元素的方塊圖。
圖6為說明根據本發明之技術的實例接收器資料處理模型的概念圖。
圖7為說明根據本發明之技術的實例處理模型的概念圖。
圖8為說明用於本發明之技術的實例基於事件之模型的概念圖。
圖9為說明根據本發明之技術的用於擷取及處理媒體資料及經同步網路內容之實例方法的流程圖。

Claims (50)

  1. 一種擷取媒體資料之方法,該方法包含: 擷取包括媒體資料、根據超文字標示語言(HTML)格式化之網路內容,及指示如何使該網路內容與該媒體資料同步之資料的一檔案;及 呈現該媒體資料及該網路內容,其中呈現該媒體資料及該網路內容包含根據指示如何使該網路內容與該媒體資料同步的該資料,使該網路內容之呈現與該媒體資料之呈現同步。
  2. 如請求項1之方法,其中該網路內容包括於該檔案之一網路內容軌中。
  3. 如請求項1之方法,其中該檔案根據ISO基本媒體檔案格式(ISOBMFF)進行格式化。
  4. 如請求項1之方法,其中該檔案包括具有一處置常式類型「text」及一MIME類型「text/htm5」之一文字軌。
  5. 如請求項1之方法,其中該檔案包括具有一樣本項目類型「htm5」之一樣本項目,且其中該樣本項目包括一HTML5ConfigurationBox,其包括HTML資訊、JavaScript資訊及JavaScript碼之一陣列。
  6. 如請求項1之方法,其中該檔案包括一或多個樣本,該等樣本中之每一者包含以下項中之一者:包括JavaScript碼之一HTML頁面、二進位物件、或經由HTTP請求可存取的物件。
  7. 如請求項1之方法,其中該網路內容定義經提供作為該檔案之一網路內容軌的一軌標頭中之一非定時項的一啟動頁面。
  8. 如請求項1之方法,其中該網路內容定義經提供作為該檔案之一網路內容軌中的一樣本的一啟動頁面。
  9. 如請求項1之方法,其中該網路內容之一樣本與一解碼時間相關聯,該方法進一步包含: 當該樣本包含一啟動樣本時,不遲於該解碼時間載入該樣本之一網頁; 當該樣本包含一推送樣本時,在該解碼時間將該樣本推送至一WebSocketAPI;及 當該樣本包含一拉取樣本時,不早於該解碼時間請求該樣本。
  10. 如請求項1之方法,其進一步包含自該檔案之一網路內容軌或使用外部參考擷取一樣本。
  11. 如請求項1之方法,其進一步包含執行參考該檔案中之一軌的該網路內容之JavaScript。
  12. 如請求項1之方法,其中該網路內容包括於該檔案之一htm5軌中,且其中用於該htm5軌的一媒體類型指示針對該媒體類型添加組態資訊。
  13. 如請求項1之方法,其進一步包含判定對應於該檔案之一呈現中的媒體軌之間的一繫結。
  14. 如請求項13之方法,其中該繫結包含一經明確定義之統一資源識別符(URI)。
  15. 如請求項13之方法,其中該繫結包含一HTTP繫結。
  16. 如請求項13之方法,其中該繫結包含一媒體源擴展(MSE)繫結。
  17. 如請求項16之方法,其進一步包含將該檔案之一軌之位元組串流發送至一網路瀏覽器,該軌包括該網路內容。
  18. 如請求項1之方法,其進一步包含處理該檔案之一軌,該軌具有一軌參考類型「mdtk」。
  19. 如請求項1之方法,其中該檔案包括複數個HTML-5軌。
  20. 一種用於擷取媒體資料之裝置,該裝置包含: 一記憶體,其經組態以儲存媒體資料;及 一或多個處理器,其實施於電路系統中且經組態以: 擷取包括該媒體資料、根據超文字標示語言(HTML)格式化之網路內容,及指示如何使該網路內容與該媒體資料同步之資料的一檔案;及 呈現該媒體資料及該網路內容,其中為了呈現該媒體資料及該網路內容,該一或多個處理器經組態以根據指示如何使該網路內容與該媒體資料同步的該資料,使該網路內容之呈現與該媒體資料之呈現同步。
  21. 如請求項20之裝置,其中該網路內容包括於該檔案之一網路內容軌中。
  22. 如請求項20之裝置,其中該檔案根據ISO基本媒體檔案格式(ISOBMFF)進行格式化。
  23. 如請求項20之裝置,其中該檔案包括具有一處置常式類型「text」及一MIME類型「text/htm5」之一文字軌。
  24. 如請求項20之裝置,其中該檔案包括具有一樣本項目類型「htm5」之一樣本項目,且其中該樣本項目包括一HTML5ConfigurationBox,其包括HTML資訊、JavaScript資訊及JavaScript碼之一陣列。
  25. 如請求項20之裝置,其中該檔案包括一或多個樣本,該等樣本中之每一者包含以下項中之一者:包括JavaScript碼之一HTML頁面、二進位物件、或經由HTTP請求可存取的物件。
  26. 如請求項20之裝置,其中該網路內容定義一啟動頁面,其經提供作為該檔案之一網路內容軌的一軌標頭中之一非定時項。
  27. 如請求項20之裝置,其中該網路內容定義經提供作為該檔案之一網路內容軌中的一樣本的一啟動頁面。
  28. 如請求項20之裝置,其中該網路內容之一樣本與一解碼時間相關聯,且其中該一或多個處理器經進一步組態以: 當該樣本包含一啟動樣本時,不遲於該解碼時間載入該樣本之一網頁; 當該樣本包含一推送樣本時,在該解碼時間將該樣本推送至一WebSocketAPI;及 當該樣本包含一拉取樣本時,不早於該解碼時間請求該樣本。
  29. 如請求項20之裝置,其中該一或多個處理器經組態以自該檔案之一網路內容軌或使用外部參考擷取一樣本。
  30. 如請求項20之裝置,其中為呈現該網路內容,該一或多個處理器經組態以執行參考該檔案中之一軌的該網路內容之JavaScript。
  31. 如請求項20之裝置,其中該網路內容包括於該檔案之一htm5軌中,且其中用於該htm5軌的一媒體類型指示針對該媒體類型添加組態資訊。
  32. 如請求項20之裝置,其中該一或多個處理器經進一步組態以判定對應於該檔案之一呈現中的媒體軌之間的一繫結。
  33. 如請求項32之裝置,其中該繫結包含以下項中之一者:一經明確定義之統一資源識別符(URI)、一HTTP繫結或一媒體源擴展(MSE)繫結。
  34. 如請求項20之裝置,其中該檔案包括複數個HTML-5軌。
  35. 如請求項20之裝置,其中該裝置包含以下各者中之至少一者: 一積體電路; 一微處理器;及 一無線通信裝置。
  36. 一種用於擷取媒體資料之裝置,該裝置包含: 用於擷取包括媒體資料、根據超文字標示語言(HTML)格式化之網路內容,及指示如何使該網路內容與該媒體資料同步之資料的一檔案的構件;及 用於呈現該媒體資料及該網路內容的構件,其中用於呈現該媒體資料及該網路內容的該構件包含用於根據指示如何使該網路內容與該媒體資料同步的該資料,使該網路內容之呈現與該媒體資料之呈現同步的構件。
  37. 一種其上儲存有指令之電腦可讀儲存媒體,該等指令在執行時使得一處理器執行以下操作 擷取包括媒體資料、根據超文字標示語言(HTML)格式化之網路內容,及指示如何使該網路內容與該媒體資料同步之資料的一檔案;及 呈現該媒體資料及該網路內容,其中使得該處理器呈現該媒體資料及該網路內容的該等指令包含使得該處理器根據指示如何使該網路內容與該媒體資料同步的該資料,使該網路內容之呈現與該媒體資料之呈現同步的指令。
  38. 如請求項37之電腦可讀儲存媒體,其中該網路內容包括於該檔案之一網路內容軌中。
  39. 如請求項37之電腦可讀儲存媒體,其中該網路內容之一樣本與一解碼時間相關聯,其進一步包含使得該處理器執行以下操作的指令: 當該樣本包含一啟動樣本時,不遲於該解碼時間載入該樣本之一網頁; 當該樣本包含一推送樣本時,在該解碼時間將該樣本推送至一WebSocketAPI;及 當該樣本包含一拉取樣本時,不早於該解碼時間請求該樣本。
  40. 如請求項37之電腦可讀儲存媒體,其進一步包含使得該處理器自該檔案之一網路內容軌或使用外部參考擷取一樣本的指令。
  41. 如請求項37之電腦可讀儲存媒體,其進一步包含自該檔案之一網路內容軌或使用外部參考擷取一樣本。
  42. 如請求項37之電腦可讀儲存媒體,其進一步包含使得該處理器執行參考該檔案中之一軌的該網路內容之JavaScript的指令。
  43. 如請求項37之電腦可讀儲存媒體,其中該網路內容包括於該檔案之一htm5軌中,且其中用於該htm5軌的一媒體類型指示針對該媒體類型添加組態資訊。
  44. 如請求項37之電腦可讀儲存媒體,其進一步包含使得該處理器判定對應於該檔案之一呈現中的媒體軌之間的一繫結的指令。
  45. 如請求項44之電腦可讀儲存媒體,其中該繫結包含一經明確定義之統一資源識別符(URI)。
  46. 如請求項44之電腦可讀儲存媒體,其中該繫結包含一HTTP繫結。
  47. 如請求項44之電腦可讀儲存媒體,其中該繫結包含一媒體源擴展(MSE)繫結。
  48. 如請求項47之電腦可讀儲存媒體,其進一步包含使得該處理器將該檔案之一軌之位元組串流發送至一網路瀏覽器的指令,該軌包括該網路內容。
  49. 如請求項37之電腦可讀儲存媒體,其進一步包含使得該處理器處理該檔案之一軌的指令,該軌具有一軌參考類型「mdtk」。
  50. 如請求項37之電腦可讀儲存媒體,其中該檔案包括複數個HTML-5軌。
TW107124341A 2017-07-13 2018-07-13 使用網路內容之檔案軌處理媒體資料 TWI727186B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762532237P 2017-07-13 2017-07-13
US62/532,237 2017-07-13
US16/033,999 2018-07-12
US16/033,999 US10887645B2 (en) 2017-07-13 2018-07-12 Processing media data using file tracks for web content

Publications (2)

Publication Number Publication Date
TW201909626A true TW201909626A (zh) 2019-03-01
TWI727186B TWI727186B (zh) 2021-05-11

Family

ID=65000723

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107124341A TWI727186B (zh) 2017-07-13 2018-07-13 使用網路內容之檔案軌處理媒體資料

Country Status (9)

Country Link
US (1) US10887645B2 (zh)
EP (1) EP3652919A1 (zh)
KR (1) KR102303582B1 (zh)
CN (1) CN110870282B (zh)
AU (1) AU2018300191A1 (zh)
BR (1) BR112020000307A2 (zh)
SG (1) SG11201911715XA (zh)
TW (1) TWI727186B (zh)
WO (1) WO2019014574A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170344523A1 (en) * 2016-05-25 2017-11-30 Samsung Electronics Co., Ltd Method and apparatus for presentation customization and interactivity
US11321516B2 (en) 2018-01-19 2022-05-03 Qualcomm Incorporated Processing dynamic web content of an ISO BMFF web resource track
CN110620959B (zh) * 2018-06-20 2020-12-25 杭州海康威视数字技术股份有限公司 一种数据处理方法、装置、电子设备、系统及存储介质
CN111510756A (zh) * 2019-01-30 2020-08-07 上海哔哩哔哩科技有限公司 音视频的切换方法、装置、计算机设备及可读存储介质
US10979477B1 (en) * 2019-03-26 2021-04-13 Amazon Technologies, Inc. Time synchronization between live video streaming and live metadata
US11303688B2 (en) * 2019-09-30 2022-04-12 Tencent America LLC Methods and apparatuses for dynamic adaptive streaming over HTTP
US11461535B2 (en) * 2020-05-27 2022-10-04 Bank Of America Corporation Video buffering for interactive videos using a markup language
WO2021251886A1 (en) * 2020-06-09 2021-12-16 Telefonaktiebolaget Lm Ericsson (Publ) Providing semantic information with encoded image data
EP4275110A1 (en) * 2021-01-10 2023-11-15 Blings IO Ltd System and method for dynamic, data-driven videos
CN114416369B (zh) * 2022-01-19 2024-04-26 重庆长安汽车股份有限公司 一种仪表内部数据分发方法及系统

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040106414A (ko) 2002-04-29 2004-12-17 소니 일렉트로닉스 인코포레이티드 미디어 파일에서 진보된 코딩 포맷의 지원
US10382514B2 (en) 2007-03-20 2019-08-13 Apple Inc. Presentation of media in an application
US8806050B2 (en) * 2010-08-10 2014-08-12 Qualcomm Incorporated Manifest file updates for network streaming of coded multimedia data
EP2866436A1 (en) * 2013-10-23 2015-04-29 Thomson Licensing Method and apparatus for transmission and reception of media data
US20160337424A1 (en) 2015-05-13 2016-11-17 Qualcomm Incorporated Transferring media data using a websocket subprotocol
US20160373498A1 (en) * 2015-06-18 2016-12-22 Qualcomm Incorporated Media-timed web interactions
CN105100869B (zh) * 2015-07-13 2018-09-04 腾讯科技(深圳)有限公司 弹幕显示方法及装置
US10972519B2 (en) * 2015-09-24 2021-04-06 Flir Commercial Systems, Inc. Real-time video streaming to client video element
CN109076261A (zh) 2016-02-16 2018-12-21 诺基亚技术有限公司 媒体封装和解封装
CN105827733B (zh) * 2016-05-12 2019-06-07 珠海豹趣科技有限公司 一种推送数据的方法、装置及电子设备
US20180213294A1 (en) * 2017-01-23 2018-07-26 Ramp Holdings, Inc. Recovering from gaps in video transmission for web browser-based players

Also Published As

Publication number Publication date
WO2019014574A1 (en) 2019-01-17
SG11201911715XA (en) 2020-01-30
AU2018300191A1 (en) 2020-01-16
EP3652919A1 (en) 2020-05-20
CN110870282B (zh) 2022-02-25
CN110870282A (zh) 2020-03-06
BR112020000307A2 (pt) 2020-07-14
TWI727186B (zh) 2021-05-11
US10887645B2 (en) 2021-01-05
US20190020915A1 (en) 2019-01-17
KR20200026891A (ko) 2020-03-11
KR102303582B1 (ko) 2021-09-16

Similar Documents

Publication Publication Date Title
TWI727186B (zh) 使用網路內容之檔案軌處理媒體資料
TWI774744B (zh) 在使用mime類型參數之網路視頻串流中發信重要視頻資訊
CN114503599B (zh) 使用gltf2场景描述中的扩展来支持视频和音频数据
KR102125162B1 (ko) 미디어 캡슐화 및 캡슐 해제 기법
TWI780063B (zh) 擷取及存取媒體串流之區段組塊
JP6285608B2 (ja) ネットワークを介して交換されたファイルのためのエラー処理
CN110832872B (zh) 使用用于文件格式方框的通用描述符处理媒体数据
CN111602406B (zh) 一种处理媒体数据的方法、装置和计算机可读存储媒体
TW201842785A (zh) 作為分隔符及可定址之資源識別符之區段類型
TW201830974A (zh) 對於用於串流媒體資料之預取支持之資料發信
TW202037177A (zh) 用於串流媒體資料之服務描述
US20180176278A1 (en) Detecting and signaling new initialization segments during manifest-file-free media streaming
TW201947938A (zh) 用於在一片段中之網路串流之媒體資料之發信丟失區段
TW201742463A (zh) 樣本條目及隨機存取
TW202130189A (zh) 在基於http的動態自適應串流(dash)片段之重新同步點之隨機存取
TW201743614A (zh) 樣本條目及隨機存取
CN110870323B (zh) 使用全向媒体格式处理媒体数据
EP4068781A1 (en) File format with identified media data box mapping with track fragment box
TW202243451A (zh) 經由即時傳輸協定傳輸經heif格式化的圖像

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees