CN113767639B - 接收媒体数据的方法、装置和非易失性计算机可读介质 - Google Patents

接收媒体数据的方法、装置和非易失性计算机可读介质 Download PDF

Info

Publication number
CN113767639B
CN113767639B CN202080032381.5A CN202080032381A CN113767639B CN 113767639 B CN113767639 B CN 113767639B CN 202080032381 A CN202080032381 A CN 202080032381A CN 113767639 B CN113767639 B CN 113767639B
Authority
CN
China
Prior art keywords
mpd
user
period
event
storybook
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
CN202080032381.5A
Other languages
English (en)
Other versions
CN113767639A (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.)
Tencent America LLC
Original Assignee
Tencent America LLC
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 Tencent America LLC filed Critical Tencent America LLC
Publication of CN113767639A publication Critical patent/CN113767639A/zh
Application granted granted Critical
Publication of CN113767639B publication Critical patent/CN113767639B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • 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/1066Session management
    • H04L65/1083In-session procedures
    • H04L65/1089In-session procedures by adding media; by removing media
    • 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
    • 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
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • 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/8541Content authoring involving branching, e.g. to different story endings

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本公开的各方面提供了接收媒体数据的方法、装置和非易失性计算机可读介质。一种装置包括处理电路,所述处理电路接收媒体呈现描述(MPD)文件,所述MPD文件包括指示故事图的多个分支的MPD事件。所述处理电路在所述MPD事件的活动持续时间期间接收用户对所述故事图的多个分支中的一个分支的选择,所述用户选择的分支与连接到当前时段的下一时段相对应。所述处理电路从服务器接收与所述用户选择的分支相对应的所述下一时段的媒体数据。

Description

接收媒体数据的方法、装置和非易失性计算机可读介质
通过引用并入本文
本申请要求于2020年9月24日提交的、申请号为17/031,314、名称为“基于HTTP的动态自适应流传输的方法和装置”的美国专利申请的优先权,其要求于2019年10月1日提交的、申请号为62/908,964、名称为“交互式故事情节DASH流传输”的美国临时申请的优先权。在先申请的全部公开内容通过引用整体并入本文。
技术领域
本公开描述了总体上涉及基于超文本传输协议的动态自适应流传输的方法和装置的实施例。
背景技术
本文所提供的背景描述旨在总体上呈现本公开的背景。在背景技术部分以及本说明书的各个方面中所描述的目前已署名的发明人的工作所进行的程度,并不表明其在本公开提交时作为现有技术,且从未明示或暗示其被承认为本公开的现有技术。
基于超文本传输协议的运动图像专家组(MPEG)动态自适应流传输(DASH)提供了通过IP网络的流传输多媒体内容的标准。在MPEG DASH中,一个清单可以表示故事图(storymap)的一个故事情节(storyline)。可以更新清单以更改故事情节。但是,故事图需要由应用程序在清单之外维护。
发明内容
本公开的各方面提供了接收媒体数据的装置。一种装置包括处理电路,所述处理电路接收媒体呈现描述(MPD)文件,所述MPD文件包括指示故事图的多个分支的MPD事件。所述处理电路在所述MPD事件的活动持续时间期间接收用户对所述故事图的多个分支中的一个分支的选择,所述用户选择的分支与连接到当前时段的下一时段相对应。所述处理电路从服务器接收与所述用户选择的分支相对应的所述下一时段的媒体数据。
在实施例中,所述MPD事件包括所述活动持续时间的开始时间。
在实施例中,所述处理电路将指示所述用户选择的分支的选择信息发送给所述服务器。
在实施例中,所述选择信息包括与所述用户选择的分支相对应的所述下一时段的时段标识(ID)。
在实施例中,所述处理电路基于包括在所述MPD事件中的统一资源定位符(URL)信息和所述时段ID,将所述选择信息发送给内容服务器。
在实施例中,更新所述MPD文件以包括所述下一时段的时段信息。
在实施例中,所述处理电路存储所述MPD事件指示的所述多个分支中的每一个的时段的时段信息;以及根据所述接收的MPD文件和所述用户选择的分支生成本地MPD文件。
本公开的各方面提供了接收媒体数据的方法。在一种方法中,接收媒体呈现描述(MPD)文件,所述MPD文件包括指示故事图的多个分支的MPD事件;在所述MPD事件的活动持续时间期间接收用户对所述故事图的多个分支中的一个分支的选择,所述用户选择的分支与连接到当前时段的下一时段相对应;以及从服务器接收与所述用户选择的分支相对应的所述下一时段的媒体数据。
本公开的各方面还提供了非易失性计算机可读存储介质,用于存储指令,当所述指令由用于接收媒体数据的计算机执行时,使所述计算机执行所述接收媒体数据的方法的任意一种或组合。
附图说明
根据以下详细描述和附图,所公开的主题的其他特征、性质和各种优点将进一步明确,其中:
图1示出了根据本公开实施例的示例性的基于超文本传输协议的动态自适应流传输(DASH)***。
图2示出了根据本公开实施例的示例性DASH客户端架构。
图3示出了根据本公开实施例的示例性故事图。
图4示出了根据本公开一些实施例的概述过程示例的流程图。
图5是根据本公开实施例的计算机***的示意图。
具体实施方式
I.基于超文本传输协议的动态自适应流传输(DASH)和媒体呈现描述(MPD,MediaPresentation Description)
基于超文本传输协议的动态自适应流传输(DASH)是一种自适应比特率流传输技术,它能够使用超文本传输协议(HTTP)基础设施,例如web服务器、内容分发网络(CDN)、各种代理和缓存等,来实现媒体内容的流传输。DASH支持从DASH服务器到DASH客户端的点播和直播,并允许DASH客户端控制流传输会话,使得DASH服务器不需要在大规模部署中处理额外的流适配管理负载。DASH还允许DASH客户端从各种DASH服务器选择流传输,从而进一步实现网络的负载平衡,以利于DASH客户端。DASH提供不同媒体轨道之间的动态切换,例如,通过改变比特率来适应网络条件。
在DASH中,媒体呈现描述(MPD)文件为DASH客户端提供信息,以便通过从DASH服务器下载媒体片段来自适应地流传输媒体内容。MPD文件可以碎片化并部分交付,以减少会话启动延迟。MPD文件还可以在流传输会话期间更新。在一些示例中,MPD文件支持内容可访问性特征、评级和相机视图的表示。DASH还支持多视图和可缩放编码内容的交付。
MPD文件可以包含一个或多个时段(period)的序列。该一个或多个时段中的每一个可以由MPD文件中的时段元素定义。MPD文件可以包括MPD的availableStartTime属性和每个时段的开始(start)属性。对于具有动态类型的媒体呈现(例如,用于直播服务),时段的开始属性和MPD属性availableStartTime的和以及媒体片段的持续时间可以以协调世界时(UTC)格式指示该时段的可用时间,特别是对应时段中的每个呈现的第一个媒体片段。对于具有静态类型的媒体呈现(例如,用于点播服务),第一个时段的开始属性可以为0。对于其它任何时段,开始属性可以指定对应时段的开始时间相对于第一个时段的开始时间之间的时间偏移。每个时段可以延长到下一时段的开始,或者如果是最后一个时段,则可以延长到媒体呈现的结束。时段开始时间可以是精确的,并反映因为播放先前所有时段的媒体而产生的实际定时。
每个时段可以包含一个或多个适配集,并且每个适配集可以包含相同媒体内容的一个或多个呈现。呈现可以是音频或视频数据的多个可选已编码版本中的一个。多个呈现可以因编码类型而不同,例如因比特率、分辨率、和/或视频数据的编解码器以及比特率、和/或音频数据的编解码器而不同。术语呈现可用于指代与多媒体内容的特定时段相对应并以特定方式编码的一段已编码音频或视频数据。
可以将特定时段的适配集分配给由MPD文件中的组属性指示的组。通常认为同一组中的适配集是相互可替代的。例如,可以将特定时段的视频数据的每个适配集分配给同一组,使得可以选择任何一个适配集进行解码,以显示对应时段的多媒体内容的视频数据。在一些示例中,一个时段内的媒体内容可以由来自组0的一个适配集(如果存在)来呈现,或由来自每个非零组的至多一个适配集的组合来呈现。时段的每个呈现的定时数据可以相对于时段的开始时间来表示。
一个呈现可以包括一个或多个片段。每个呈现可以包括初始化片段,或者呈现的每个片段可以是自初始化的。当存在时,初始化片段可以包含用于访问该呈现的初始化信息。在一些情况下,初始化片段不包含媒体数据。一个片段可以由标识符唯一地引用,例如统一资源定位符(URL)、统一资源名称(URN)或统一资源标识符(URI)。MPD文件可以为每个片段提供标识符。在一些示例中,MPD文件还可以以范围属性的形式提供字节范围,该字节范围可以对应于URL、URN或URI可访问的文件内的片段的数据。
每个呈现还可以包括一个或多个媒体组件,其中每个媒体组件可以对应于一个单独媒体类型的已编码版本,例如音频、视频或定时文本(例如,用于隐藏式字幕)。媒体组件可以是跨一个呈现内的连续媒体片段的边界时间连续的。
在一些实施例中,DASH客户端可以从DASH服务器访问和下载MPD文件。也就是说,DASH客户端可以检索MPD文件,以用于发起实时会话。基于MPD文件,对于每个选定的呈现,DASH客户端可以做出多个决定,包括确定服务器上可用的最新片段,确定下一片段和可能的未来片段的片段可用性开始时间,确定何时开始播放该片段以及从该片段中的哪个时间线(timeline)开始播放,以及确定何时获取/取得新的MPD文件。一旦播放了服务,客户端就可以跟踪直播服务与其自己的播放之间的漂移,该漂移需要检测和补偿。
II.交互式故事情节DASH流传输
本公开包括涉及故事情节事件的实施例,并提供了在DASH媒体流传输中传输交互式故事情节的方法。流传输服务可以为用户提供一个故事的多个故事分支。用户可以选择多个故事分支中的一个,并将该选择返回给流传输服务,流传输服务可以继续所选择的故事分支。
在交互式故事情节中,在故事情节的呈现的特定时刻,用户可以在故事图提供的可能分支选项当中进行选择。然后故事情节根据用户的选择而改变。交互式故事情节用例的一个示例是奈飞公司(Netflix)于2018年公布的《黑镜》。
在DASH标准中,可以更新清单。因此,可以创建具有单个时段的清单,在该时段中,应用程序可以为用户提供选择。在示例中,可以在时段结束或接近结束时提供选择。该选择可以为用户提供多个不同的故事分支,每个分支对应一个时段。然后,用户可以选择多个故事分支中的一个。根据用户的选择,清单可以更新为具有新的时段,该时段携带与用户选择相对应的故事内容。这种清单可以称为动态清单。由于内容是点播的,因此所有时段元素都存储在服务器中,并且可以通过根据用户选择逐个添加这些时段来创建动态清单。然而,在这个解决方案中,不提供故事图,并且如果用户决定返回并做出另一个选择,服务器必须导航到期望的点并编写另一个清单。呈现故事的客户端***没有故事的故事图的任何视图。
本公开提供了提供故事图以及清单的实施例。因此,当用户做出选择时,客户端***可以维护故事图并浏览故事情节的不同分支。
图1示出了根据本公开实施例的示例性DASH***(100)。在DASH***(100)中,MPD文件从DASH服务器(101)(例如,内容服务器)发送到DASH客户端(102)。DASH客户端(102)可以基于MPD文件从DASH服务器(101)接收媒体片段。MPD文件可以为用户提供选择,以便用户通过用户界面(103)选择当前时段的下一个感兴趣时段。在示例中,可以使用回调函数(callback function)将下一个感兴趣时段的选择发送回DASH服务器(101)。DASH服务器(101)可以更新MPD并将下一个感兴趣时段对应的媒体内容发送到DASH客户端(102)。
在实施例中,DASH服务器(101)向DASH客户端提供初始MPD和MPD更新以及媒体片段。在其它实施例中,初始MPD、MPD更新和/或媒体片段可以由不同的服务器提供。每当DASH客户端(102)接收到作为MPD更新的一部分的故事情节事件时,DASH客户端(102)可以通过用户界面(103)向用户提供该故事情节事件。然后,用户界面(103)将用户对感兴趣的故事分支的选择通知DASH客户端(102),DASH客户端(102)可以将用户选择提供给DASH服务器(101),使得DASH服务器(101)可以相应地更新MPD。
图2示出了根据本公开实施例的示例性DASH客户端架构。DASH客户端(或DASH播放器)可以被配置为与应用(212)通信并处理各种类型的事件,包括(i)MPD事件、(ii)带内事件、以及(iii)定时元数据事件。
清单解析器(210)可以解析清单(例如,MPD)。例如,清单可以由DASH服务器(101)提供。清单解析器(210)可以提取关于嵌入在定时元数据轨道中的MPD事件、带内事件和定时元数据事件的事件信息。可以将提取的事件信息提供给DASH逻辑(211)(例如,DASH播放器控制、选择和启发式逻辑)。DASH逻辑(211)可以基于事件信息将清单中用信号通知的事件方案通知给应用(212)。
事件信息可以包括用于区分不同事件流的事件方案信息。应用(212)可以使用事件方案信息来订阅感兴趣的事件方案。应用(212)还可以通过一个或多个订阅应用程序接口(API)为每个订阅方案指示期望的调度模式。例如,应用(212)可以向DASH客户端发送订阅请求,该订阅请求标识一个或多个感兴趣的事件方案和任何期望的对应调度模式。
如果应用(212)订阅了作为一个或多个定时元数据轨道的一部分而被交付的一个或多个事件方案,则带内事件和‘moof’解析器(203)可以将一个或多个定时元数据轨道流传输到定时元数据轨道解析器(204)。例如,带内事件和‘moof’解析器(203)解析电影碎片框(‘moof’),并随后基于来自DASH逻辑(211)的控制信息解析定时元数据轨道。
定时元数据轨道解析器(204)可以提取嵌入在定时元数据轨道中的事件消息。提取的事件消息可以存储在事件和定时元数据缓冲器(206)中。同步器/调度器模块(208)(例如,事件和定时元数据同步器和调度器)可以将订阅的事件调度(或发送)到应用(212)。
MPD中描述的MPD事件可以由清单解析器(210)解析并存储在事件和定时元数据缓冲器(206)中。例如,清单解析器(210)解析MPD的每个事件流元素,并解析每个事件流元素中描述的每个事件。对于在MPD中用信号通知的每个事件,诸如呈现时间和事件持续时间之类的事件信息可以存储在与事件相关联的事件和定时元数据缓冲器(206)中。
带内事件和‘moof’解析器(203)可以解析媒体片段,以提取带内事件消息。任何这种识别的带内事件和相关联的呈现时间和持续时间都可以存储在事件和定时元数据缓冲器(206)中。
因此,事件和定时元数据缓冲器(206)可以将MPD事件、带内事件和/或定时元数据事件存储其中。事件和定时元数据缓冲器(206)可以是例如先进先出(FIFO)缓冲器。事件和定时元数据缓冲器(206)可以对应于媒体缓冲器(207)进行管理。例如,只要媒体片段存在于媒体缓冲器(207)中,与该媒体片段相对应的任何事件或定时元数据都可以存储在事件和定时元数据缓冲器(206)中。
DASH访问API(202)可以通过HTTP协议栈(201)管理包括媒体内容和各种元数据的内容流(或数据流)的获取和接收。DASH访问API(202)可以将接收的内容流分成不同的数据流。提供给带内事件和‘moof’解析器(203)的数据流可以包括媒体片段、一个或多个定时元数据轨道、以及包括在媒体片段中的带内事件信令。在实施例中,提供给清单解析器(210)的数据流可以包括MPD。
DASH访问API(202)可以将清单转发给清单解析器(210)。除了描述事件之外,清单还可以向DASH逻辑(211)提供关于媒体片段的信息,该DASH逻辑(211)可以与应用(212)以及带内事件和‘moof’解析器(203)通信。应用(212)可以与DASH客户端处理的媒体内容相关联。在应用(212)、DASH逻辑(211)、清单解析器(210)和DASH访问API(202)之间交换的控制/同步信号可以基于清单中提供的关于媒体片段的信息控制从HTTP协议栈(201)获取媒体片段。
带内事件和‘moof’解析器(203)可以将媒体数据流解析为媒体片段,包括媒体内容、定时元数据轨道中的定时元数据、以及媒体片段中的任何用信号通知的带内事件。包括媒体内容的媒体片段可以由文件格式解析器(205)解析,并存储在媒体缓冲器(207)中。
存储在事件和定时元数据缓冲器(206)中的事件可以允许同步器/调度器(208)通过事件/元数据API向应用(212)传送与应用(212)相关的可用事件(或感兴趣的事件)。应用(212)可以被配置为处理该可用事件(例如,MPD事件、带内事件或定时元数据事件),并通过通知同步器/调度器(208)来订阅特定事件或定时元数据。存储在事件和定时元数据缓冲器(206)中的与应用(212))不相关但与DASH客户端本身相关的任何事件都可以由同步器/调度器(208)转发到DASH逻辑(211)进行进一步处理。
响应于应用(212)订阅特定事件,同步器/调度器(208)可以向应用(212)传送与应用(212)已订阅的事件方案相对应的事件实例(或定时元数据样本)。事件实例可以根据订阅请求指示的调度模式(例如,针对特定事件方案)或默认调度模式来传送。例如,在接收(on-receive)调度模式中,事件实例可以在事件和定时元数据缓冲器(206)中接收时被发送到应用(212)。另一方面,在启动(on-start)调度模式中,事件实例可以在其相关联的呈现时间(例如与来自媒体解码器(209)的定时信号同步)被发送到应用(212)。
应注意,在DASH客户端架构中,粗数据流线表示媒体数据流,窄数据流线表示事件和定时元数据数据流,虚线数据流线表示控制和同步。此外,相同的处理模型可用于CMAF事件。
图3示出了根据本公开实施例的故事的示例性故事图。在故事图中,故事从时段P0开始。在时段P0结束时,故事图提供选择点S0,指示故事有三个分支P1、P2和P3。在时段P1结束时,故事图提供选择点S1,指示故事有两个分支P4和P5。故事的其余部分P6和P7发生在各个分支的合并处。
应注意,每个选择点处的选择次数可以设置为2个或更多。每个分支的持续时间不一定彼此相等。一些或全部分支可以在特定时刻合并,并且合并的分支可以具有不同的持续时间。此外,故事可以有一个或多个端点。
根据本公开的各方面,MPD故事情节事件可以是指示故事图中的一个或多个选择点的MPD事件。MPD事件的事件方案可以用schemeIdUri来标识,例如“urn:mpeg:dash:manifest-storyline-event:2020”。在MPD文件中,每个时段只允许一个EventStream元素,因此该唯一一个EventStream元素中携带的事件应当在其方案属性(例如,@schemeIdUri)中使用相同的URI。此外,DASH客户端(102)可以忽略EventStream中这些事件的子方案属性(例如,@value)。也就是说,没有为EventStream中的事件定义子方案。
表1中示出了示例性MPD事件元素。在表1中,开始时间信息(例如属性@presentationTime)指示MPD事件的开始时间,并且持续时间信息(例如属性@duration)指示MPD事件的持续时间。从开始时间并且在持续时间期间,用户可以进行选择。此外,MPD事件元素包括URL信息,例如属性@callbackUrl,其为客户端***(102)提供URL,用于发出请求(例如,HTTP GET请求)。客户端***(102)可以基于用户的选择向URL添加查询。例如,查询可以是“nextPeriod=id”,其中id是用户通过用户界面(103)选择的时段标识(ID)(例如,@id)值。MPD事件元素包括替换信息,例如属性@replace。如果属性@replace设置为‘真’,则MPD事件是该会话中所有先前事件的更新,并且连接图(或故事图)替换先前的连接图。MPD事件包括指定连接图的连接元素。连接元素可以包括连接图中的一组简单链接。例如,在图3所示的故事图中,一个链接可以是从P0到P1的连接,另一个链接可以是从P0到P2的连接或从P0到P3的连接。
表1
表2示出了示例性连接元素。在示例性连接元素中,可以指示从第一时段到一个或多个第二时段的一个或多个链接。例如,链接可以由属性@from和属性@to指示。属性@from指示链接开始的时段。属性@to指示链接可以连接到的一个或多个时段。属性@from和@to的值可以是时段ID。应注意,属性@to可以包括一个或多个时段ID,每个时段ID对应一个不同的链接。另外,属性@from的默认值可以是事件的父时段的时段ID。例如,在图3所示的示例性故事图中的时段P0处的故事情节事件的连接元素可以用<Connection to="1 2 3">或<Connection from="0"to="1 2 3">来表示。在该示例中,假设P0@id=“0”、P1@id=“1”、P2@id=“2”、以及P3@id=“3”。
表2
根据本公开的各方面,一个或多个连接元素可以包括在一个故事情节事件中。多个连接元素可以提供当前会话的一部分或整个连接图。然而,应注意,在事件的持续时间期间,只有位于当前时段元素结束或接近结束处的那部分连接图处于活动状态,可供选择。例如,如图3所示的整个故事图可以在表3中表示。在该示例中,假设Pi@id=“i”。当当前时段为P1时,在事件的持续时间期间只有连接元素<Connection from="1"to="4 5">处于活动状态。因此,用户可以选择P4或P5作为下一个时段。
表3
根据本公开的各方面,可以基于用户选择来更新清单(例如,MPD)。可以通过使用带外(out of band)方法或回调函数将用户选择提供给DASH服务器(101)。带外方法可以是不基于DASH标准的方法。回调函数可以允许DASH客户端(102)向给定URL发出HTTP GET请求。例如,在用户做出选择之后,DASH客户端(102)可以向MPD事件元素中的回调属性(例如,@callbackUrl)指示的URL地址发出HTTP GET请求。所选择的时段ID可以包括在该请求的查询参数中。表4示出了示例性的回调函数。
表4
在本公开中,可以使用易于解析并传递给应用程序/用户界面的MPD事件来提供选择。此外,还可以提供即将出现的选项、部分故事图或整个故事图,并且可以更新故事图。如果故事图通过另一个选择点传递给DASH客户端(102)的选择点,则DASH客户端(102)一次只能有一个选择,而不能有整个故事图。故事图可以(例如,通过包括过去和将来的连接)在每个事件中更新。事件可以提供允许用户进行选择的开始时间和持续时间(例如,事件活动时段)。如果用户没有进行选择,则可以使用默认的分支故事情节来继续该呈现。由于可以在转换到下一个时段之前设置事件活动持续时间,因此客户端***(102)可以有时间缓冲下一个时段的内容以便连续回放。应注意,客户端***(102)可以存储故事图以及所有时段的时段信息,并且能够构建用于回放的交互式本地MPD。
本公开提出了传递交互式故事情节流传输内容的方法。可以在故事的时间线中的特定时刻向用户提供多个选择。用户可以在提供的多个选择中进行选择,以改变故事方向。MPD事件可用于传达每个时段的多个选择。MPD事件可以在从当前时段实际转换到下一时段之前激活。MPD事件可以具有一个持续时间,用于客户端***(102)缓冲所选择的下一时段并在没有中断或重新缓冲的情况下回放内容。可以为每个MPD事件提供故事图中的一个或多个选择点,或者可以在任何MPD事件中提供整个故事图。可以使用每个或一些MPD事件更新部分或整个故事图。MPD事件还可以为客户端***(102)提供URL,以返回用户选择。通过添加用户选择的下一个时段,可以在每个时段结束时更新MPD。DASH客户端(102)可以逐步构建故事图,或者如果完全提供了故事图,则可以一步构建故事图。DASH客户端(102)还可以存储相应的时段,因此能够构建整个交互式故事情节并在本地生成MPD更新,而无需联系DASH服务器(101)进行MPD。在DASH客户端(102)播放交互式故事时,DASH服务器(101)可以只流传输媒体内容。
III.流程图
图4示出了根据本公开一些实施例的概述过程(400)的流程图。在各种实施例中,过程(400)由处理电路执行,例如DASH客户端(102)中的处理电路。在一些实施例中,过程(400)以软件指令实现,因此当处理电路执行该软件指令时,处理电路执行过程(400)。过程(400)开始于(S410),其中过程(400)接收MPD文件,所述MPD文件包括指示故事图的多个分支的MPD事件。然后,过程(400)进行到步骤(S420)。
在步骤(S420),过程(400)在所述MPD事件的活动持续时间期间从信息处理装置的处理电路接收用户对所述故事图的多个分支中的一个分支的选择,所述用户选择的分支与连接到当前时段的下一时段相对应。然后,过程(400)进行到步骤(S430)。
在步骤(S430),过程(400)从服务器接收与所述用户选择的分支相对应的所述下一时段的媒体数据。然后,过程(400)结束。
在实施例中,所述MPD事件包括所述活动持续时间的开始时间。
在实施例中,过程(400)将指示所述用户选择的分支的选择信息发送给所述服务器。
在实施例中,所述选择信息包括与所述用户选择的分支相对应的所述下一时段的时段标识(ID)。
在实施例中,过程(400)基于包括在所述MPD事件中的统一资源定位符(URL)信息和所述时段ID,将所述选择信息发送给内容服务器。
在实施例中,更新所述MPD文件以包括所述下一时段的时段信息。
在实施例中,过程(400)存储所述MPD事件指示的所述多个分支中的每一个的时段的时段信息;以及根据所述接收的MPD文件和所述用户选择的分支生成本地MPD文件。
IV.计算机***
上述技术可以通过计算机可读指令实现为计算机软件,并且物理地存储在一个或多个计算机可读介质中。例如,图5示出了计算机***(500),其适于实现所公开主题的某些实施例。
所述计算机软件可通过任何合适的机器代码或计算机语言进行编码,通过汇编、编译、链接等机制创建包括指令的代码,所述指令可由一个或多个计算机中央处理单元(CPU),图形处理单元(GPU)等直接执行或通过译码、微代码等方式执行。
所述指令可以在各种类型的计算机或其组件上执行,包括例如个人计算机、平板电脑、服务器、智能手机、游戏设备、物联网设备等。
图5所示的用于计算机***(500)的组件本质上是示例性的,并不用于对实现本公开实施例的计算机软件的使用范围或功能进行任何限制。也不应将组件的配置解释为与计算机***(500)的示例性实施例中所示的任一组件或其组合具有任何依赖性或要求。
计算机***(500)可以包括某些人机界面输入设备。这种人机界面输入设备可以通过触觉输入(如:键盘输入、滑动、数据手套移动)、音频输入(如:声音、掌声)、视觉输入(如:手势)、嗅觉输入(未示出),对一个或多个人类用户的输入做出响应。所述人机界面设备还可用于捕获某些媒体,气与人类有意识的输入不必直接相关,如音频(例如:语音、音乐、环境声音)、图像(例如:扫描图像、从静止影像相机获得的摄影图像)、视频(例如二维视频、包括立体视频的三维视频)。
人机界面输入设备可包括以下中的一个或多个(仅绘出其中一个):键盘(501)、鼠标(502)、触控板(503)、触摸屏(510)、数据手套(未示出)、操纵杆(505)、麦克风(506)、扫描仪(507)和照相机(508)。
计算机***(500)还可以包括某些人机界面输出设备。这种人机界面输出设备可以通过例如触觉输出、声音、光和嗅觉/味觉来刺激一个或多个人类用户的感觉。这样的人机界面输出设备可包括触觉输出设备(例如通过触摸屏(510)、数据手套(未示出)或操纵杆(505)的触觉反馈,但也可以有不用作输入设备的触觉反馈设备)、音频输出设备(例如,扬声器(509)、耳机(未示出))、视觉输出设备(例如,包括阴极射线管屏幕、液晶屏幕、等离子屏幕、有机发光二极管屏的屏幕(510),其中每一个都具有或没有触摸屏输入功能、每一个都具有或没有触觉反馈功能——其中一些可通过诸如立体画面输出的手段输出二维视觉输出或三维以上的输出;虚拟现实眼镜(未示出)、全息显示器和放烟箱(未示出))以及打印机(未示出)。这些视觉输出设备(例如触摸屏(510))可以通过图形适配器(550)连接到***总线(548)。
计算机***(500)还可以包括人可访问的存储设备及其相关介质,如包括具有CD/DVD的高密度只读/可重写式光盘(CD/DVD ROM/RW)(520)或类似介质(521)的光学介质、拇指驱动器(522)、可移动硬盘驱动器或固体状态驱动器(523),诸如磁带和软盘(未示出)的传统磁介质,诸如安全软件保护器(未示出)等的基于ROM/ASIC/PLD的专用设备,等等。
本领域技术人员还应当理解,结合所公开的主题使用的术语“计算机可读介质”不包括传输介质、载波或其它瞬时信号。
计算机***(500)还可以包括通往一个或多个通信网络(555)的网络接口(554)。例如,该一个或多个通信网络(555)可以是无线的、有线的、光学的。该一个或多个通信网络(555)还可为局域网、广域网、城域网、车载网络和工业网络、实时网络、延迟容忍网络等等。该一个或多个通信网络(555)的示例还包括以太网、无线局域网、蜂窝网络(GSM、3G、4G、5G、LTE等)等局域网、电视有线或无线广域数字网络(包括有线电视、***、和地面广播电视)、车载和工业网络(包括CANBus)等等。某些网络通常需要外部网络接口适配器,用于连接到某些通用数据端口或***总线(549)(例如,计算机***(500)的USB端口);其它***通常通过连接到如下所述的***总线集成到计算机***(500)的核心(例如,以太网接口集成到PC计算机***或蜂窝网络接口集成到智能电话计算机***)。通过使用这些网络中的任何一个,计算机***(500)可以与其它实体进行通信。所述通信可以是单向的,仅用于接收(例如,无线电视),单向的仅用于发送(例如CAN总线到某些CAN总线设备),或双向的,例如通过局域或广域数字网络到其它计算机***。上述的每个网络和网络接口可使用某些协议和协议栈。
上述的人机界面设备、人可访问的存储设备以及网络接口可以连接到计算机***(500)的核心(540)。
核心(540)可包括一个或多个中央处理单元(CPU)(541)、图形处理单元(GPU)(542)、以现场可编程门阵列(FPGA)(543)形式的专用可编程处理单元、用于特定任务的硬件加速器(544)等。这些设备以及只读存储器(ROM)(545)、随机存取存储器(546)、内部大容量存储器(例如内部非用户可存取硬盘驱动器、固态硬盘等)(547)等可通过***总线(548)进行连接。在某些计算机***中,可以以一个或多个物理插头的形式访问***总线(548),以便可通过额外的中央处理单元、图形处理单元等进行扩展。***装置可直接附接到核心的***总线(548),或通过***总线(549)进行连接。***总线的体系结构包括外部***组件互联PCI、通用串行总线USB等。
CPU(541)、GPU(542)、FPGA(543)和加速器(544)可以执行某些指令,这些指令组合起来可以构成上述计算机代码。该计算机代码可以存储在ROM(545)或RAM(546)中。过渡数据也可以存储在RAM(546)中,而永久数据可以存储在例如内部大容量存储器(547)中。通过使用高速缓冲存储器可实现对任何存储器设备的快速存储和检索,高速缓冲存储器可与一个或多个CPU(541)、GPU(542)、大容量存储器(547)、ROM(545)、RAM(546)等紧密关联。
所述计算机可读介质上可具有计算机代码,用于执行各种计算机实现的操作。介质和计算机代码可以是为本公开的目的而特别设计和构造的,也可以是计算机软件领域的技术人员所熟知和可用的介质和代码。
作为实施例而非限制,具有体系结构(500)的计算机***,特别是核心(540),可以作为处理器(包括CPU、GPU、FPGA、加速器等)提供执行包含在一个或多个有形的计算机可读介质中的软件的功能。这种计算机可读介质可以是与上述的用户可访问的大容量存储器相关联的介质,以及具有非易失性的核心(540)的特定存储器,例如核心内部大容量存储器(547)或ROM(545)。实现本公开的各种实施例的软件可以存储在这种设备中并且由核心(540)执行。根据特定需要,计算机可读介质可包括一个或一个以上存储设备或芯片。该软件可以使得核心(540)特别是其中的处理器(包括CPU、GPU、FPGA等)执行本文所述的特定过程或特定过程的特定部分,包括定义存储在RAM(546)中的数据结构以及根据软件定义的过程来修改这种数据结构。另外或作为替代,计算机***可以提供逻辑硬连线或以其它方式包含在电路(例如,加速器(544))中的功能,该电路可以代替软件或与软件一起运行以执行本文所述的特定过程或特定过程的特定部分。在适当的情况下,对软件的引用可以包括逻辑,反之亦然。在适当的情况下,对计算机可读介质的引用可包括存储执行软件的电路(如集成电路(IC)),包含执行逻辑的电路,或两者兼备。本公开包括任何合适的硬件和软件组合。
虽然本公开已对多个示例性实施例进行了描述,但实施例的各种变更、排列和各种等同替换均属于本公开的范围内。因此应理解,本领域技术人员能够设计多种***和方法,所述***和方法虽然未在本文中明确示出或描述,但其体现了本公开的原则,因此属于本公开的精神和范围之内。

Claims (10)

1.一种接收媒体数据的方法,其特征在于,所述方法包括:
接收媒体呈现描述MPD文件,所述MPD文件包括指示故事图的多个分支的MPD事件;
在所述MPD事件的活动持续时间期间,只有位于当前时段结束处的所述故事图处于活动状态,以用于用户在所述故事图的多个分支中进行选择,接收所述用户对所述故事图的多个分支中的一个分支的选择,所述用户选择的分支与连接到所述当前时段的下一时段相对应;
基于包括在所述MPD事件中的统一资源定位符URL发出请求,其中与所述用户选择的分支相对应的所述下一时段的时段标识ID包括在所述请求的查询参数中;以及
接收与所述用户选择的分支相对应的所述下一时段的媒体数据;
所述MPD事件的元素包括替换信息,如果所述替换信息中的属性设置为‘真’,则所述MPD事件是会话中所有先前MPD事件的更新,并且用所述故事图替换先前的故事图。
2.根据权利要求1所述的方法,其特征在于,所述MPD事件包括所述活动持续时间的开始时间。
3.根据权利要求1-2任一项所述的方法,其特征在于,进一步包括:更新所述MPD文件以包括所述下一时段的时段信息。
4.根据权利要求1-2任一项所述的方法,其特征在于,进一步包括:
存储所述MPD事件指示的所述多个分支中的每一个的时段的时段信息;以及
根据所述接收的MPD文件和所述用户选择的分支生成本地MPD文件。
5.根据权利要求1-2任一项所述的方法,其特征在于,进一步包括:通过在所述当前时段的再现期间触发所述MPD事件,通过用户界面将所述故事图的多个备选分支呈现给用户。
6.一种接收媒体数据的装置,其特征在于,所述装置包括处理电路,所述处理电路被配置为执行权利要求1-5任一项所述的方法。
7.一种接收媒体数据的装置,其特征在于,包括:
第一接收模块,用于接收媒体呈现描述MPD文件,所述MPD文件包括指示故事图的多个分支的MPD事件;
第二接收模块,用于在所述MPD事件的活动持续时间期间,只有位于当前时段结束处的所述故事图处于活动状态,以用于用户在所述故事图的多个分支中进行选择,接收所述用户对所述故事图的多个分支中的一个分支的选择,所述用户选择的分支与连接到所述当前时段的下一时段相对应;
请求模块,用于基于包括在所述MPD事件中的统一资源定位符URL发出请求,其中与所述用户选择的分支相对应的所述下一时段的时段标识ID包括在所述请求的查询参数中;以及
第三接收模块,用于接收与所述用户选择的分支相对应的所述下一时段的媒体数据;
所述MPD事件的元素包括替换信息,如果所述替换信息中的属性设置为‘真’,则所述MPD事件是会话中所有先前MPD事件的更新,并且用所述故事图替换先前的故事图。
8.根据权利要求7所述的装置,其特征在于,进一步包括:
存储模块,用于存储所述MPD事件指示的所述多个分支中的每一个的时段的时段信息;以及
生成模块,用于根据所述接收的MPD文件和所述用户选择的分支生成本地MPD文件。
9.一种非易失性计算机可读存储介质,其特征在于,用于存储指令,当所述指令由用于接收媒体数据的计算机执行时,使所述计算机执行权利要求1-5任一项所述的方法。
10.一种计算机设备,其特征在于,所述设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器用于存储指令,当所述指令由所述一个或多个处理器执行时,使所述一个或多个处理器执行权利要求1-5任一项所述的方法。
CN202080032381.5A 2019-10-01 2020-09-28 接收媒体数据的方法、装置和非易失性计算机可读介质 Active CN113767639B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962908964P 2019-10-01 2019-10-01
US62/908,964 2019-10-01
US17/031,314 US11310303B2 (en) 2019-10-01 2020-09-24 Methods and apparatuses for dynamic adaptive streaming over HTTP
US17/031,314 2020-09-24
PCT/US2020/053087 WO2021067187A1 (en) 2019-10-01 2020-09-28 Methods and apparatuses for dynamic adaptive streaming over http

Publications (2)

Publication Number Publication Date
CN113767639A CN113767639A (zh) 2021-12-07
CN113767639B true CN113767639B (zh) 2024-04-12

Family

ID=75162299

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080032381.5A Active CN113767639B (zh) 2019-10-01 2020-09-28 接收媒体数据的方法、装置和非易失性计算机可读介质

Country Status (6)

Country Link
US (2) US11310303B2 (zh)
EP (1) EP4038887A4 (zh)
JP (1) JP7177285B2 (zh)
KR (1) KR102528703B1 (zh)
CN (1) CN113767639B (zh)
WO (1) WO2021067187A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11310303B2 (en) * 2019-10-01 2022-04-19 Tencent America LLC Methods and apparatuses for dynamic adaptive streaming over HTTP
US11445270B2 (en) 2020-04-15 2022-09-13 Comcast Cable Communications, Llc Content information for manifest determination
US11882170B2 (en) * 2021-04-19 2024-01-23 Tencent America LLC Extended W3C media extensions for processing dash and CMAF inband events
US11509701B2 (en) * 2021-04-20 2022-11-22 Tencent America LLC Extended relationship signaling between events in event message tracks
US11588870B2 (en) 2021-04-21 2023-02-21 Tencent America LLC W3C media extensions for processing DASH and CMAF inband events along with media using process@append and process@play mode

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103747365A (zh) * 2010-09-17 2014-04-23 华为技术有限公司 基于http流的媒体内容动态插播方法、装置及***
CN109982142A (zh) * 2017-12-28 2019-07-05 优酷网络技术(北京)有限公司 视频播放方法及装置
CN110191374A (zh) * 2019-05-30 2019-08-30 强恺旻 非线性文件播放方法及装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070099684A1 (en) * 2005-11-03 2007-05-03 Evans Butterworth System and method for implementing an interactive storyline
US8914835B2 (en) * 2009-10-28 2014-12-16 Qualcomm Incorporated Streaming encoded video data
US9716920B2 (en) * 2010-08-05 2017-07-25 Qualcomm Incorporated Signaling attributes for network-streamed video data
CN107105351B (zh) * 2011-01-12 2019-10-11 夏普株式会社 再生装置
EP2924990A1 (en) * 2011-03-16 2015-09-30 Electronics and Telecommunications Research Institute Apparatus and method for providing streaming content using representations
EP2868097A4 (en) * 2012-06-28 2016-03-23 Ericsson Ab METHOD AND SYSTEM FOR ADVERTISING INSERTION IN OTT (OVER THE TOP) DISTRIBUTION OF LIVE MULTIMEDIA CONTENT
EP2932397B1 (en) * 2013-01-18 2017-08-09 Huawei Technologies Co., Ltd. Method and apparatus for performing adaptive streaming on media contents
WO2015000137A1 (zh) * 2013-07-02 2015-01-08 华为技术有限公司 一种流媒体处理的方法、装置及***
US20150312303A1 (en) 2014-04-25 2015-10-29 Qualcomm Incorporated Determining whether to use sidx information when streaming media data
US10582265B2 (en) * 2015-04-30 2020-03-03 JBF Interlude 2009 LTD Systems and methods for nonlinear video playback using linear real-time video players
US9716905B2 (en) * 2015-08-10 2017-07-25 Verizon Patent And Licensing Inc. Selective content delivery over diverse networks
MX2018002208A (es) * 2015-08-28 2018-03-23 Sony Corp Aparato de recepcion, aparato de transmision y metodo de procesamiento de datos.
US11617019B2 (en) * 2016-07-28 2023-03-28 Qualcomm Incorporated Retrieving and accessing segment chunks for media streaming
US11025919B2 (en) 2017-10-03 2021-06-01 Koninklijke Kpn N.V. Client-based adaptive streaming of nonlinear media
CN110035316B (zh) * 2018-01-11 2022-01-14 华为技术有限公司 处理媒体数据的方法和装置
CN110351606B (zh) * 2018-04-04 2022-12-27 华为技术有限公司 媒体信息处理方法、相关设备及计算机存储介质
US11310303B2 (en) * 2019-10-01 2022-04-19 Tencent America LLC Methods and apparatuses for dynamic adaptive streaming over HTTP

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103747365A (zh) * 2010-09-17 2014-04-23 华为技术有限公司 基于http流的媒体内容动态插播方法、装置及***
CN109982142A (zh) * 2017-12-28 2019-07-05 优酷网络技术(北京)有限公司 视频播放方法及装置
CN110191374A (zh) * 2019-05-30 2019-08-30 强恺旻 非线性文件播放方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
[OMAF] Signalling of viewpoint-driven DASH Playback for interactive Stroytelling;EMMANUEL THOMAS;MPEG MEETING;第1-4页 *

Also Published As

Publication number Publication date
JP2022525366A (ja) 2022-05-12
US20210099509A1 (en) 2021-04-01
CN113767639A (zh) 2021-12-07
US11310303B2 (en) 2022-04-19
EP4038887A4 (en) 2023-08-16
US11792248B2 (en) 2023-10-17
WO2021067187A1 (en) 2021-04-08
KR102528703B1 (ko) 2023-05-08
EP4038887A1 (en) 2022-08-10
JP7177285B2 (ja) 2022-11-22
KR20210126093A (ko) 2021-10-19
US20220191265A1 (en) 2022-06-16

Similar Documents

Publication Publication Date Title
CN113767639B (zh) 接收媒体数据的方法、装置和非易失性计算机可读介质
CN113661692B (zh) 接收媒体数据的方法、装置和非易失性计算机可读存储介质
US11818189B2 (en) Method and apparatus for media streaming
JP7252373B2 (ja) メディアコンテンツのメディアデータを受信する方法、装置、およびコンピュータプログラム
CN115299022B (zh) 基于http的动态自适应流传输的方法和装置
CN115349264B (zh) 接收媒体数据的方法和设备
CN112188256B (zh) 信息处理方法、信息提供方法、装置、电子设备及存储介质
CN115462063B (zh) 接收媒体数据的方法、设备及存储介质
CN113364728B (zh) 媒体内容接收方法、装置、存储介质和计算机设备
CN115362665B (zh) 接收媒体数据的方法、设备及存储介质
CN117256135A (zh) 用于cmaf和dash多媒体流式传输的可寻址资源索引事件
CN117256136A (zh) 用于处理备选媒体表示描述的方法、设备和计算机可读介质
CN117256153A (zh) 用于支持处理dash事件更新的dash客户端处理模型的处理模型
CN117280700A (zh) 用于自适应流参数化的可扩展请求信令

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
GR01 Patent grant
GR01 Patent grant