CN110870282B - 使用网络内容的文件轨处理媒体数据 - Google Patents

使用网络内容的文件轨处理媒体数据 Download PDF

Info

Publication number
CN110870282B
CN110870282B CN201880045522.XA CN201880045522A CN110870282B CN 110870282 B CN110870282 B CN 110870282B CN 201880045522 A CN201880045522 A CN 201880045522A CN 110870282 B CN110870282 B CN 110870282B
Authority
CN
China
Prior art keywords
file
track
data
media
content
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201880045522.XA
Other languages
English (en)
Other versions
CN110870282A (zh
Inventor
托马斯·斯托克哈默
王业魁
吉达尔·哈堤·曼蒂阿姆
查尔斯·农格·罗
瓦卡尔·齐亚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN110870282A publication Critical patent/CN110870282A/zh
Application granted granted Critical
Publication of CN110870282B publication Critical patent/CN110870282B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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
    • 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]
    • 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/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/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

使用网络内容的文件轨处理媒体数据
本申请要求2017年7月13日申请的第62/532,237号美国临时申请、2018年7月12日申请的第16/033,999号美国申请的权益,所述申请的全部内容特此以引用的方式并入。
技术领域
本发明涉及经编码视频数据的存储及传送。
背景技术
数字媒体能力可并入到广泛范围的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上或桌上计算机、数字相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、视频电话会议装置及类似者。数字视频装置实施视频压缩技术,例如描述于由MPEG-2、MPEG-4、ITU-T H.263或ITU-TH.264/MPEG-4、第10部分、高级视频译码(AVC)、ITU-T H.265(也称作高效视频译码(HEVC))及此类标准的扩展所定义的标准中的那些技术,从而更为有效地传输且接收数字视频信息。
在视频数据已编码之后,可将视频数据包化以用于传输或存储。可以将视频数据汇编成符合多种标准中的任一个的视频文件,所述标准例如国际标准化组织(ISO)基本媒体文件格式及其扩展,例如AVC。
发明内容
通常,本发明描述用于处理包含于文件格式中的媒体数据的技术,所述媒体数据具有载运同步呈现的网络内容的一或多个轨。也就是说,所述网络内容将以与所述媒体数据时间同步的方式呈现。举例来说,交互式网络内容元素可在与视频数据重叠的某些时间呈现。文件可包含媒体数据、网络内容,及表示所述网络内容与所述媒体数据之间的同步的数据。以此方式,客户端装置可仅仅检索单一文件,且仅仅使用所述所检索文件的所述内容使所述媒体数据与所述网络内容的呈现时间同步。
在一项实例中,一种检索媒体数据的方法包含:检索包含媒体数据、根据超文本标记语言(HTML)格式化的网络内容,及指示如何使所述网络内容与所述媒体数据同步的数据的文件;及呈现所述媒体数据及所述网络内容,其中呈现所述媒体数据及所述网络内容包括根据指示如何使所述网络内容与所述媒体数据同步的所述数据,使所述网络内容的呈现与所述媒体数据的呈现同步。
在另一实例中,一种用于检索媒体数据的装置包含经配置以存储媒体数据的存储器及一或多个处理器,所述一或多个处理器实施于电路系统中且经配置以检索包含所述媒体数据、根据超文本标记语言(HTML)格式化的网络内容,及指示如何使所述网络内容与所述媒体数据同步的数据的文件,且呈现所述媒体数据及所述网络内容,其中为了呈现所述媒体数据及所述网络内容,所述一或多个处理器经配置以根据指示如何使所述网络内容与所述媒体数据同步的所述数据,使所述网络内容的呈现与所述媒体数据的呈现同步。
在另一实例中,一种检索媒体数据的装置包含:用于检索包含媒体数据、根据超文本标记语言(HTML)格式化的网络内容,及指示如何使所述网络内容与所述媒体数据同步的数据的文件,及呈现所述媒体数据及所述网络内容的装置,其中用于呈现所述媒体数据及所述网络内容的所述装置包括用于根据指示如何使所述网络内容与所述媒体数据同步的所述数据,使所述网络内容的呈现与所述媒体数据的呈现同步的装置。
在另一实例中,一种其上存储有指令的计算机可读存储媒体,所述指令在执行时使得处理器执行以下操作:检索包含媒体数据、根据超文本标记语言(HTML)格式化的网络内容,及指示如何使所述网络内容与所述媒体数据同步的数据的文件;及呈现所述媒体数据及所述网络内容,其中使得所述处理器呈现所述媒体数据及所述网络内容的所述指令包括使得所述处理器根据指示如何使所述网络内容与所述媒体数据同步的所述数据,使所述网络内容的呈现与所述媒体数据的呈现同步的指令。
在以下随附图式及描述中阐述一或多个实例的细节。其它特征、目标及优点将从实施方式及图式以及权利要求书而显而易见。
附图说明
图1为说明实施用于经由网络流式传输媒体数据的技术的实例系统的框图。
图2为说明检索单元的实例组件集合的框图。
图3为说明根据本发明的技术的实例网络交互性轨的概念图。
图4为说明实例多媒体内容的元素的概念图。
图5为说明实例视频文件的元素的框图。
图6为说明根据本发明的技术的实例接收器数据处理模型的概念图。
图7为说明根据本发明的技术的实例处理模型的概念图。
图8为说明用于本发明的技术的实例基于事件的模型的概念图。
图9为说明根据本发明的技术的用于检索及处理媒体数据及经同步网络内容的实例方法的流程图。
具体实施方式
通常,本发明的技术涉及使用包含媒体数据及时间同步网络内容两者的媒体文件。举例来说,网络内容可以与媒体数据(例如,音频数据及/或视频数据)时间同步的方式呈现。举例来说,可在音频数据的某一音频样本播放的同时,或在视频数据的特定图片或图片序列得以显示时呈现某些网络内容。本发明描述客户端装置可处理此媒体文件,且以时间同步方式呈现媒体数据及网络内容两者的技术。
举例来说,客户端装置可包含网络插口服务器、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’轨处理程序指示轨内容并非意图用于直接显示。其也可用于HTML5TextTrack 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 TransferProtocol-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中间件单元100、DASH客户端110及媒体应用程序112。
在此实例中,eMBMS中间件单元100进一步包含eMBMS接收单元106、高速缓冲存储器104及服务器单元102。在此实例中,eMBMS接收单元106经配置以经由eMBMS接收数据,例如,根据T.Paila等人在“FLUTE-经由单向输送的文件传递(FLUTE-File Delivery overUnidirectional Transport)”(网络工作群组,RFC 6726,2012年11月)(可于http://tools.ietf.org/html/rfc6726获得)中所描述的单向输送文件传递(File Delivery overUnidirectional 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为说明根据本发明的技术的实例网络交互性轨的概念图。在许多状况下,网页交互性需要不仅在浏览器中提供,且也在单独应用程序中提供。本发明认识到提供关于ISOBMFF轨层级的可互操作解决方案的预期益处。图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可与下文同样简单:
Figure BDA0002358060240000221
网络内容轨处理程序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经执行以剖析ISOBMFF数据,且使用轨数据启动所呈现的页面以及动态元数据。对象与插口绑定可在不使用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’。
●样本项目设计
○样本项目类型为‘htm5’。
○定义HTML5ConfigurationBox,其强制包含到样本项目中且含有以下信息:
■例如相应规范的版本的基本HTML-5及JavaScript(包含JSON)信息、所要API及可选API,等等。
■样本中可提及的JavaScript码的阵列。
●样本设计
○样本定义:样本为任一个
■1)HTML-5页面加一些JavaScript码,作为启动页面。此充当启动样本,且也可用作完整同步样本(重新加载页面)。HTML-5页面也可经提供作为冗余同步样本。-此样本被称作“启动”样本
■2)在解码时间被推送到特定websocket API的一些二进制对象(经同步到媒体播出)。启动页面有责任在启动页面中于二进制对象与websocket API之间提供适当绑定。此些样本并非为同步样本,这是因为其取决于启动页面的存在。此对象被称为“推送”样本。
■3)可经由HTTP请求存取,以便对交互性作出反应或也基于执行加载对象的对象(XHR将为API)。启动页面与对象之间的绑定是经由http URL。样本可含有关于对象的管理(例如,高速缓冲存储器指引等等)的额外信息。实例为可在被请求或需要保持等等之后从轨处理程序缓冲器移除样本的情况。此些样本被称为“拉取”样本。
○启动页面可经提供作为轨标头中的非定时项,或可经提供作为轨中的常规样本,其用解码时间0进行定时。
○解码时间视样本类型而定进行解译。
■对于“启动”样本,解码时间为页面需要被加载到HTML-5引擎中的媒体时间的时间。
■对于“推送”样本,解码时间为样本被推送到WebSocketAPI的时间。
■对于“拉取”样本,解码时间为样本可通过HTML-5处理器请求的最早时间,也就是说,所包括的对象可用的时间。
○样本可嵌入于轨中,或可进行外部参考。详细地说,对于拉取样本的状况,可进行外部参考。
○JavaScript语法经扩展以能够通过使用轨ID以及到样本项目中的JavaScript码的阵列的索引来指代文件中的轨。对于依赖于现有标准JavaScript语法的客户端,文件剖析器需要将新参考机制翻译为与现有标准JavaScript语法兼容的机制。
●轨中的准许也将配置信息添加到(例如)所要API等等上的媒体类型的htm5的媒体类型。
●需要实行相同呈现(ISO BMFF、DASH呈现等等)中的媒体轨之间的轨绑定。存在几个选项:
○使用源元素,且经由经明确定义的新URI提供绑定。举例来说,可定义track://<tracknumber>以指代轨。分辨率达到浏览器。
○替代地,类似于包括轨的资源,可进行http绑定。然而,随后需要用于外部绑定的指示。
○又一替代方案为使用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)的清单文件(例如,DASHMPD),且客户端装置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集合(例如,芯片组)。在本发明中描述各种组件、模块或单元以强调经配置以执行所揭示技术的装置的功能方面,但未必要求由不同硬件单元来实现。确切来说,如上文所描述,各种单元可结合合适的软件及/或固件而组合于编解码器硬件单元中或由互操作性硬件单元(包含如上文所描述的一或多个处理器)的集合提供。
各种实例已予以描述。此些及其它实例在以下权利要求书的范围内。

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所述的方法,其中所述网络内容的样本与解码时间相关联,所述方法进一步包括:
当所述样本包括启动样本时,不迟于所述解码时间加载所述样本的网页;
当所述样本包括推送样本时,在所述解码时间将所述样本推送到Web Socket API;及
当所述样本包括拉取样本时,不早于所述解码时间请求所述样本。
10.根据权利要求1所述的方法,其进一步包括从所述文件的网络内容轨或使用外部参考检索样本。
11.根据权利要求1所述的方法,其进一步包括执行参考所述文件中的轨的所述网络内容的JavaScript。
12.根据权利要求1所述的方法,其中所述网络内容包含于所述文件的htm5轨中,且其中用于所述htm5轨的媒体类型指示针对所述媒体类型添加配置信息。
13.根据权利要求1所述的方法,其进一步包括确定对应于所述文件的呈现中的媒体轨之间的绑定。
14.根据权利要求1所述的方法,其进一步包括处理所述文件的轨,所述轨具有轨参考类型‘mdtk’。
15.根据权利要求1所述的方法,其中所述文件包含多个HTML-5轨。
16.根据权利要求13所述的方法,其中所述绑定包括经明确定义的统一资源标识符URI。
17.根据权利要求13所述的方法,其中所述绑定包括HTTP绑定。
18.根据权利要求13所述的方法,其中所述绑定包括媒体源扩展MSE绑定。
19.根据权利要求18所述的方法,其进一步包括将所述文件的轨的字节流发送到网络浏览器,所述轨包含所述网络内容。
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.根据权利要求20所述的装置,其中所述文件包含多个HTML-5轨。
34.根据权利要求20所述的装置,其中所述装置包括以下各者中的至少一个:
集成电路;
微处理器;及
无线通信装置。
35.根据权利要求32所述的装置,其中所述绑定包括以下各项中的一个:经明确定义的统一资源标识符URI、HTTP绑定或媒体源扩展MSE绑定。
36.一种用于检索媒体数据的装置,所述装置包括:
用于检索包含媒体数据、根据超文本标记语言HTML格式化的网络内容,及指示如何使所述网络内容与所述媒体数据同步的数据的文件的装置,其中所述网络内容定义经提供作为所述文件的网络内容轨的标头中的非定时项的启动页面;及
用于呈现所述媒体数据及所述网络内容的装置,其中用于呈现所述媒体数据及所述网络内容的所述装置包括用于根据指示如何使所述网络内容与所述媒体数据同步的所述数据,使所述网络内容的呈现与所述媒体数据的呈现同步的装置。
37.一种其上存储有指令的非暂时性计算机可读存储媒体,所述指令在执行时使得处理器执行以下操作:
检索包含媒体数据、根据超文本标记语言HTML格式化的网络内容,及指示如何使所述网络内容与所述媒体数据同步的数据的文件,其中所述网络内容定义经提供作为所述文件的网络内容轨的标头中的非定时项的启动页面;及
呈现所述媒体数据及所述网络内容,其中使得所述处理器呈现所述媒体数据及所述网络内容的所述指令包括使得所述处理器根据指示如何使所述网络内容与所述媒体数据同步的所述数据,使所述网络内容的呈现与所述媒体数据的呈现同步的指令。
38.根据权利要求37所述的非暂时性计算机可读存储媒体,其中所述网络内容包含于所述文件的网络内容轨中。
39.根据权利要求37所述的非暂时性计算机可读存储媒体,其中所述网络内容的样本与解码时间相关联,其进一步包括使得所述处理器执行以下操作的指令:
当所述样本包括启动样本时,不迟于所述解码时间加载所述样本的网页;
当所述样本包括推送样本时,在所述解码时间将所述样本推送到Web Socket API;及
当所述样本包括拉取样本时,不早于所述解码时间请求所述样本。
40.根据权利要求37所述的非暂时性计算机可读存储媒体,其进一步包括使得所述处理器从所述文件的网络内容轨或使用外部参考检索样本的指令。
41.根据权利要求37所述的非暂时性计算机可读存储媒体,其进一步包括从所述文件的网络内容轨或使用外部参考检索样本。
42.根据权利要求37所述的非暂时性计算机可读存储媒体,其进一步包括使得所述处理器执行参考所述文件中的轨的所述网络内容的JavaScript的指令。
43.根据权利要求37所述的非暂时性计算机可读存储媒体,其中所述网络内容包含于所述文件的htm5轨中,且其中用于所述htm5轨的媒体类型指示针对所述媒体类型添加配置信息。
44.根据权利要求37所述的非暂时性计算机可读存储媒体,其进一步包括使得所述处理器确定对应于所述文件的呈现中的媒体轨之间的绑定的指令。
45.根据权利要求37所述的非暂时性计算机可读存储媒体,其进一步包括使得所述处理器处理所述文件的轨的指令,所述轨具有轨参考类型‘mdtk’。
46.根据权利要求37所述的非暂时性计算机可读存储媒体,其中所述文件包含多个HTML-5轨。
47.根据权利要求44所述的非暂时性计算机可读存储媒体,其中所述绑定包括经明确定义的统一资源标识符URI。
48.根据权利要求44所述的非暂时性计算机可读存储媒体,其中所述绑定包括HTTP绑定。
49.根据权利要求44所述的非暂时性计算机可读存储媒体,其中所述绑定包括媒体源扩展MSE绑定。
50.根据权利要求49所述的非暂时性计算机可读存储媒体,其进一步包括使得所述处理器将所述文件的轨的字节流发送到网络浏览器的指令,所述轨包含所述网络内容。
CN201880045522.XA 2017-07-13 2018-07-13 使用网络内容的文件轨处理媒体数据 Active CN110870282B (zh)

Applications Claiming Priority (5)

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
PCT/US2018/042060 WO2019014574A1 (en) 2017-07-13 2018-07-13 PROCESSING MULTIMEDIA DATA USING FILE TRACKS FOR WEB CONTENT

Publications (2)

Publication Number Publication Date
CN110870282A CN110870282A (zh) 2020-03-06
CN110870282B true CN110870282B (zh) 2022-02-25

Family

ID=65000723

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880045522.XA Active CN110870282B (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 (9)

* 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
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
DE10392598T5 (de) 2002-04-29 2005-05-19 Sony Electronics Inc. Unterstützung von fortschrittlichen Codierungsformaten in Mediendateien
US10382514B2 (en) 2007-03-20 2019-08-13 Apple Inc. Presentation of media in an application
US9319448B2 (en) * 2010-08-10 2016-04-19 Qualcomm Incorporated Trick modes 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
WO2017140939A1 (en) 2016-02-16 2017-08-24 Nokia Technologies Oy Media encapsulating and decapsulating
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
TW201909626A (zh) 2019-03-01
WO2019014574A1 (en) 2019-01-17
AU2018300191A1 (en) 2020-01-16
SG11201911715XA (en) 2020-01-30
US10887645B2 (en) 2021-01-05
EP3652919A1 (en) 2020-05-20
US20190020915A1 (en) 2019-01-17
KR102303582B1 (ko) 2021-09-16
BR112020000307A2 (pt) 2020-07-14
KR20200026891A (ko) 2020-03-11
CN110870282A (zh) 2020-03-06
TWI727186B (zh) 2021-05-11

Similar Documents

Publication Publication Date Title
CN110870282B (zh) 使用网络内容的文件轨处理媒体数据
CN110447234B (zh) 用于处理媒体数据及产生位流的方法、装置及存储媒体
CN109479158B (zh) 检索及存取用于媒体流式处理的段区块
CN110089122B (zh) 用于检索媒体数据的方法、媒体装置及计算机可读存储媒体
US20160337424A1 (en) Transferring media data using a websocket subprotocol
JP6285608B2 (ja) ネットワークを介して交換されたファイルのためのエラー処理
CN110832872B (zh) 使用用于文件格式方框的通用描述符处理媒体数据
CN112154672B (zh) 一种检索媒体数据的方法、设备及可读存储介质
US11321516B2 (en) Processing dynamic web content of an ISO BMFF web resource track
US20180176278A1 (en) Detecting and signaling new initialization segments during manifest-file-free media streaming
KR102549656B1 (ko) 미디어 데이터 스트리밍을 위한 sei 트랙들의 시스템 레벨 시그널링
CN110870323B (zh) 使用全向媒体格式处理媒体数据
US20210306703A1 (en) Determination of availability of chunks of data for network streaming media data
CN114503599B (zh) 使用gltf2场景描述中的扩展来支持视频和音频数据
CN114503599A (zh) 使用gltf2场景描述中的扩展来支持视频和音频数据

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40016062

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant