CN113330751A - 用于媒体片段大小和优先级排名的存储和信令的方法和装置 - Google Patents

用于媒体片段大小和优先级排名的存储和信令的方法和装置 Download PDF

Info

Publication number
CN113330751A
CN113330751A CN201980087796.XA CN201980087796A CN113330751A CN 113330751 A CN113330751 A CN 113330751A CN 201980087796 A CN201980087796 A CN 201980087796A CN 113330751 A CN113330751 A CN 113330751A
Authority
CN
China
Prior art keywords
media
media segments
segments
chunks
information
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.)
Granted
Application number
CN201980087796.XA
Other languages
English (en)
Other versions
CN113330751B (zh
Inventor
I·柯西奥
M·汉努克塞拉
S·S·马特
E·阿克苏
A·霍伦兰塔
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.)
Nokia Technologies Oy
Original Assignee
Nokia Technologies Oy
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 Nokia Technologies Oy filed Critical Nokia Technologies Oy
Publication of CN113330751A publication Critical patent/CN113330751A/zh
Application granted granted Critical
Publication of CN113330751B publication Critical patent/CN113330751B/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/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
    • 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
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23109Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion by placing content in organized collections, e.g. EPG data repository
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234345Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • 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
    • 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4728End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for selecting a Region Of Interest [ROI], e.g. for requesting a higher resolution version of a selected region
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)

Abstract

一种方法、装置和计算机程序产品用于在全方位媒体中对各种片段性质进行发信号和存储,片段性质包括大小、优先级排名等。方法、装置和计算机程序产品访问一个或多个媒体片段(30)。一个或多个媒体片段包括被配置用于流式回放的媒体数据。方法、装置和计算机程序产品访问针对一个或多个媒体片段中的每个媒体片段的一个或多个分块的大小信息(32)或优先级排名信息。方法、装置和计算机程序产品将针对一个或多个媒体片段中的每个媒体片段的大小信息(34)或优先级排名信息编码在媒体文件中、在与一个或多个媒体片段相关联的一个或多个元数据轨道内或与一个或多个媒体片段相关联的一个或多个子片段内。

Description

用于媒体片段大小和优先级排名的存储和信令的方法和装置
技术领域
示例实施例大体上涉及全向媒体文件编码和解码。
背景技术
与二维(2D)内容的消费相比,由于终端用户可获得更高的自由度,沉浸式多媒体(诸如全向内容消费)对于终端用户来说更复杂。移动图片专家组(MPEG)全向媒体格式(OMAF)规范版本1(v1)标准化了单个三自由度(3DoF)内容的全向流。3DoF是观看者位于单位球体的中心处并且具有三个自由度(偏航-俯仰-滚转)的实例。标准化的下一阶段MPEG-I阶段1b预期将实现多个3DoF和3DoF+(其提供对观看者的头部的平移运动的视觉响应)内容消费以及与用户交互的交叉支持。附加地,MPEG-I阶段1b预期实现和支持优化视口相关流操作和带宽管理的手段。
MPEG OMAF标准允许使用分块和视口相关流进行带宽适应。分块比特流对应于片段序列,例如基于超文本传输协议(HTTP)的MPEG-动态自适应流(MPEG-DASH)片段。分块片段大小可以在很大程度上变化。当前,MPEG DASH媒体呈现描述(MPD)在带宽消耗方面不提供片段级粒度,而是携带每个表示(或适应集)的会话/周期方式带宽信息。在OMAF视口相关流(VDS)中,不同的分块片段可以被下载以便表示空间域中的完整图片。不同分块片段可以以不同的质量被编码,并且片段的大小可以在很大程度上变化。不同分块片段的大小未被发信号,直到下载发生为止,这样的情况在带宽管理中产生问题。在流会话期间可能发生带宽尖峰,并且由于缺乏所需和可用带宽的细粒度计算,带宽节流效应可能被看到。附加地,在VDS中,在视口中的分块被期望比在不可见部分中的分块具有更高的质量。
在选择需要以高质量取回哪些分块时,客户端必须基于可用带宽以及该带宽应如何在要取回的分块当中被有效分布来做出决定。并非屏幕上的所有信息对于观看者都是本质上重要的。因此,如果不存在足够的带宽以高质量下载所有分块,那么可能希望将一些分块保留为较低质量。这样的决定需要片段中的分块当中的优先化。在没有对片段优先级或大小发信号的机制的情况下,如何对分块的质量切换进行优先化对于媒体播放器是难题。
发明内容
根据示例实施例提供一种方法、装置和计算机程序产品以在全向媒体中对各种片段性质进行发信号和存储,该片段性质包括大小、优先级排名等。方法、装置和计算机程序产品可以与多种视频格式结合被利用。在一个示例实施例中,提供了一种包括访问一个或多个媒体片段的方法。一个或多个媒体片段包括被配置用于流式回放的媒体数据。方法还包括访问针对一个或多个媒体片段中的每个媒体片段的大小信息。方法还包括将一个或多个媒体片段中的每个媒体片段的大小信息编码在媒体文件中、在与一个或多个媒体片段相关联的一个或多个元数据轨道内或与一个或多个媒体片段相关联的一个或多个子片段内。一个或多个元数据轨道包括一个或多个媒体片段或一个或多个子片段中的每一个中的一个或多个分块的一个或多个字节大小。
在这样的方法的一些实施方式中,一个或多个元数据轨道表示与一个或多个元数据轨道相关联的一个或多个媒体轨道的一个或多个分块结构。在一些实施例中,一个或多个元数据轨道被配置为与一个或多个媒体片段中的每个媒体片段的呈现一起对媒体播放器可用,以便在与一个或多个媒体片段中的每个媒体片段相关联的下载或呈现之前提供关于一个或多个媒体片段的先验信息。在一些实施例中,一个或多个元数据轨道被链接到媒体文件或媒体呈现清单信息中的一个或多个视频适应集或表示。
在另一示例实施例中,提供一种包括至少一个处理器和至少一个存储器的装置,该至少一个存储器包括用于一个或多个程序的计算机程序代码,其中至少一个存储器和计算机程序代码被配置为与至少一个处理器一起使装置至少访问一个或多个媒体片段。一个或多个媒体片段包括被配置用于流式回放的媒体数据。计算机程序代码还被配置为使用至少一个处理器使装置访问针对一个或多个媒体片段中的每个媒体片段的大小信息。计算机程序代码还被配置为使用至少一个处理器使装置将一个或多个媒体片段中的每个媒体片段的大小信息编码在媒体文件中、在与一个或多个媒体片段相关联的一个或多个元数据轨道内或与一个或多个媒体片段相关联的一个或多个子片段内。一个或多个元数据轨道包括一个或多个媒体片段或一个或多个子片段中的每一个中的一个或多个分块的一个或多个字节大小。
在这样的装置的一些实施方式中,一个或多个元数据轨道表示与一个或多个元数据轨道相关联的一个或多个媒体轨道的一个或多个分块结构。在一些实施例中,一个或多个元数据轨道被配置为与一个或多个媒体片段中的每个媒体片段的呈现一起对媒体播放器可用,以便在与一个或多个媒体片段中的每个媒体片段相关联的下载或呈现之前提供关于一个或多个媒体片段的先验信息。在一些实施例中,一个或多个元数据轨道被链接到媒体文件或媒体呈现清单信息中的一个或多个视频适应集或表示。
在另一示例实施例中,提供一种计算机程序产品,该计算机程序产品包括至少一个非瞬态计算机可读存储介质,该至少一个非瞬态计算机可读存储介质具有存储在其上的计算机可执行程序代码指令的,其中计算机可执行程序代码指令包括被配置为在执行时访问一个或多个媒体片段的程序代码指令。一个或多个媒体片段包括被配置用于流式回放的媒体数据。计算机可执行程序代码指令包括程序代码指令,这些程序代码指令还被配置为在执行时访问针对一个或多个媒体片段中的每个媒体片段的大小信息。计算机可执行程序代码指令包括程序代码指令,这些程序代码指令还被配置为在执行时将一个或多个媒体片段中的每个媒体片段的大小信息编码在媒体文件中、在与一个或多个媒体片段相关联的一个或多个元数据轨道内或与一个或多个媒体片段相关联的一个或多个子片段内。一个或多个元数据轨道包括一个或多个媒体片段或一个或多个子片段中的每一个中的一个或多个分块的一个或多个字节大小。
在这样的计算机程序产品的一些实施方式中,一个或多个元数据轨道表示与一个或多个元数据轨道相关联的一个或多个媒体轨道的一个或多个分块结构。在一些实施例中,一个或多个元数据轨道被配置为与一个或多个媒体片段中的每个媒体片段的呈现一起对媒体播放器可用,以便在与一个或多个媒体片段中的每个媒体片段相关联的下载或呈现之前提供关于一个或多个媒体片段的先验信息。在一些实施例中,一个或多个元数据轨道被链接到媒体文件或媒体呈现清单信息中的一个或多个视频适应集或表示。
在另一示例实施例中,提供了一种包括用于访问一个或多个媒体片段的部件的装置。一个或多个媒体片段包括被配置用于流式回放的媒体数据。装置还包括用于访问针对一个或多个媒体片段中的每个媒体片段的大小信息的部件。装置还包括用于将一个或多个媒体片段中的每个媒体片段的大小信息编码在媒体文件中在与一个或多个媒体片段相关联的一个或多个元数据轨道内或与一个或多个媒体片段相关联的一个或多个子片段内的部件。一个或多个元数据轨道包括一个或多个媒体片段或一个或多个子片段中的每一个中的一个或多个分块的一个或多个字节大小。
在这样的装置的一些实施方式中,一个或多个元数据轨道表示与一个或多个元数据轨道相关联的一个或多个媒体轨道的一个或多个分块结构。在一些实施例中,一个或多个元数据轨道被配置为与一个或多个媒体片段中的每个媒体片段的呈现一起对媒体播放器可用,以便在与一个或多个媒体片段中的每个媒体片段相关联的下载或呈现之前提供关于一个或多个媒体片段的先验信息。在一些实施例中,一个或多个元数据轨道被链接到媒体文件或媒体呈现清单信息中的一个或多个视频适应集或表示。
在另一示例实施例中,提供了一种包括访问一个或多个媒体片段的方法。一个或多个媒体片段包括被配置用于流式回放的媒体数据。方法还包括访问针对一个或多个媒体片段的一个或多个分块的优先级排名信息。方法还包括将针对一个或多个媒体片段的一个或多个分块的优先级排名信息编码在媒体文件中,作为与一个或多个媒体片段相关联的索引片段的一部分。索引片段的部分包括一个或多个媒体片段中的每个媒体片段中的一个或多个分块的一个或多个优先级排名。
在这样的方法的一些实施方式中,索引片段的部分包括一个或多个媒体片段的一个或多个子片段的优先级排名。在一些实施例中,索引片段被配置为与一个或多个媒体片段中的每个媒体片段的呈现一起对媒体播放器可用,以便在与一个或多个媒体片段中的每个媒体片段相关联的下载或呈现之前提供关于一个或多个媒体片段的先验信息。
在另一示例实施例中,提供了一种包括访问一个或多个媒体片段的方法。一个或多个媒体片段包括被配置用于流式回放的媒体数据。方法还包括访问针对一个或多个媒体片段的一个或多个分块的优先级排名信息。方法还包括将针对一个或多个媒体片段的一个或多个分块的优先级排名信息编码在媒体文件中、在与一个或多个媒体片段相关联的一个或多个元数据轨道内或与一个或多个媒体片段相关联的一个或多个子片段内。一个或多个元数据轨道包括一个或多个媒体片段或一个或多个子片段中的每一个中的一个或多个分块的一个或多个优先级排名。
在另一示例实施例中,提供一种包括至少一个处理器和至少一个存储器的装置,该至少一个存储器包括用于一个或多个程序的计算机程序代码,其中至少一个存储器和计算机程序代码被配置为与至少一个处理器一起使装置至少访问一个或多个媒体片段。一个或多个媒体片段包括被配置用于流式回放的媒体数据。计算机程序代码还被配置为使用至少一个处理器使装置访问针对一个或多个媒体片段的一个或多个分块的优先级排名信息。计算机程序代码还被配置为使用至少一个处理器使装置将针对一个或多个媒体片段的一个或多个分块的优先级排名信息编码在媒体文件中,作为与一个或多个媒体片段相关联的索引片段的部分。索引片段的部分包括一个或多个媒体片段中的每个媒体片段中的一个或多个分块的一个或多个优先级排名。
在这样的装置的一些实施方式中,索引片段的部分包括一个或多个媒体片段的一个或多个子片段的优先级排名。在一些实施例中,索引片段被配置为与一个或多个媒体片段中的每个媒体片段的呈现一起对媒体播放器可用,以便在与一个或多个媒体片段中的每个媒体片段相关联的下载或呈现之前提供关于一个或多个媒体片段的先验信息。
在另一示例实施例中,提供一种包括至少一个处理器和至少一个存储器的装置,该至少一个存储器包括用于一个或多个程序的计算机程序代码,其中至少一个存储器和计算机程序代码被配置为与至少一个处理器一起使装置至少访问一个或多个媒体片段。一个或多个媒体片段包括被配置用于流式回放的媒体数据。计算机程序代码还被配置为使用至少一个处理器使装置访问针对一个或多个媒体片段的一个或多个分块的优先级排名信息。计算机程序代码还被配置为使用至少一个处理器使装置将针对一个或多个媒体片段的一个或多个分块的优先级排名信息编码在媒体文件中、在与一个或多个媒体片段相关联的一个或多个元数据轨道内或与一个或多个媒体片段相关联的一个或多个子片段内。一个或多个元数据轨道包括一个或多个媒体片段或一个或多个子片段中的每一个中的一个或多个分块的一个或多个优先级排名。
在另一示例实施例中,提供一种计算机程序产品,该计算机程序产品包括其中存储有计算机可执行程序代码指令的至少一个非瞬态计算机可读存储介质,其中计算机可执行程序代码指令包括被配置为在执行时访问一个或多个媒体片段的程序代码指令。一个或多个媒体片段包括被配置用于流式回放的媒体数据。计算机可执行程序代码指令包括程序代码指令,这些程序代码指令还被配置为在执行时访问针对一个或多个媒体片段的一个或多个分块的优先级排名信息。计算机可执行程序代码指令包括程序代码指令,这些程序代码指令还被配置为在执行时将针对一个或多个媒体片段的一个或多个分块的优先级排名信息编码在媒体文件中,作为与一个或多个媒体片段相关联的索引片段的部分。索引片段的部分包括一个或多个媒体片段中的每个媒体片段中的一个或多个分块的一个或多个优先级排名。
在这样的计算机程序产品的一些实施方式中,索引片段的部分包括一个或多个媒体片段的一个或多个子片段的优先级排名。在一些实施例中,索引片段被配置为与一个或多个媒体片段中的每个媒体片段的呈现一起对媒体播放器可用,以便在与一个或多个媒体片段中的每个媒体片段相关联的下载或呈现之前提供关于一个或多个媒体片段的先验信息。
在另一示例实施例中,提供一种计算机程序产品,该计算机程序产品包括其中存储有计算机可执行程序代码指令的至少一个非瞬态计算机可读存储介质,其中计算机可执行程序代码指令包括被配置为在执行时访问一个或多个媒体片段的程序代码指令。一个或多个媒体片段包括被配置用于流式回放的媒体数据。计算机可执行程序代码指令包括程序代码指令,这些程序代码指令还被配置为在执行时访问针对一个或多个媒体片段的一个或多个分块的优先级排名信息。计算机可执行程序代码指令包括程序代码指令,这些程序代码指令还被配置为在执行时将针对一个或多个媒体片段的一个或多个分块的优先级排名信息编码在媒体文件中、在与一个或多个媒体片段相关联的一个或多个元数据轨道内或与一个或多个媒体片段相关联的一个或多个子片段内。一个或多个元数据轨道包括一个或多个媒体片段或一个或多个子片段中的每一个中的一个或多个分块的一个或多个优先级排名。
在另一示例实施例中,提供了一种包括用于访问一个或多个媒体片段的部件的装置。一个或多个媒体片段包括被配置用于流式回放的媒体数据。装置还包括用于访问针对一个或多个媒体片段的一个或多个分块的优先级排名信息的部件。装置还包括用于将针对一个或多个媒体片段的一个或多个分块的优先级排名信息编码在媒体文件中作为与一个或多个媒体片段相关联的索引片段的部分的部件。索引片段的部分包括一个或多个媒体片段中的每个媒体片段中的一个或多个分块的一个或多个优先级排名。
在这样的装置的一些实施方式中,索引片段的部分包括一个或多个媒体片段的一个或多个子片段的优先级排名。在一些实施例中,索引片段被配置为与一个或多个媒体片段中的每个媒体片段的呈现一起对媒体播放器可用,以便在与一个或多个媒体片段中的每个媒体片段相关联的下载或呈现之前提供关于一个或多个媒体片段的先验信息。
在另一示例实施例中,提供了一种包括用于访问一个或多个媒体片段的部件的装置。一个或多个媒体片段包括被配置用于流式回放的媒体数据。装置还包括用于访问针对一个或多个媒体片段的一个或多个分块的优先级排名信息的部件。装置还包括用于将针对一个或多个媒体片段的一个或多个分块的优先级排名信息编码在媒体文件中、在与一个或多个媒体片段相关联的一个或多个元数据轨道内或与一个或多个媒体片段相关联的一个或多个子片段内的部件。一个或多个元数据轨道包括一个或多个媒体片段或一个或多个子片段中的每一个中的一个或多个分块的一个或多个优先级排名。
附图说明
因此,在已经概括地描述了本公开的某些示例实施例之后,下文中将参考附图,这些附图不必按比例绘制,且其中:
图1是示例立方体映射图的图形图示;
图2是根据本公开的示例实施例可以具体被配置的装置的框图;
图3是图示根据本公开的示例实施例的诸如由图2的装置所执行的一组操作的流程图;
图4是根据本公开的示例实施例的针对每个适应集的媒体片段中的分块的字节大小的图形图示;
图5是图示根据本公开的示例实施例的诸如由图2的装置所执行的一组操作的流程图;
图6A和图6B是根据本公开的示例实施例的经行程编码的分块排名的图形图示;
图7是图示根据本公开的示例实施例的诸如由图2的装置所执行的一组操作的流程图;并且
图8A、图8B和图8C是根据本公开的示例实施例的分块排名的图形图示。
具体实施方式
一些实施例现在将更充分地在下文中参考附图被描述,其中本说明的一些但非所有实施例被示出。事实上,本发明的各种实施例可以以许多不同的形式被实施并且不应该被视为限于本文中所阐述的实施例;相反,这些实施例被提供以使得本公开将满足适用的法律要求。贯穿整个说明书,相同的附图标记是指相同的元件。如本文中所使用,术语“数据”、“内容”、“信息”和类似术语可以被互换使用以指能够根据本发明的实施例被传输、接收和/或存储的数据。因此,任何这样的术语的使用不应被认为限制本发明的实施例的精神和范围。
附加地,如本文中所使用,术语‘电路装置’是指(a)纯硬件电路实施方式(例如模拟电路装置和/或数字电路装置中的实施方式);(b)电路和(多个)计算机程序产品的组合,包括一个或多个计算机可读存储器上所存储的软件和/或固件指令,这些软件和/或固件指令一起工作以使装置执行本文中所描述的一个或多个功能;以及(c)电路,诸如例如(多个)微处理器或(多个)微处理器的一部分,即使软件或固件在物理上不存在,也需要软件或固件以供操作。‘电路装置’的该定义适用于本文中该术语的所有使用,包括在任何权利要求书中的使用。作为另一示例,如本文中所使用,术语‘电路装置’还包括实施方式,该实施方式包括一个或多个处理器和/或其(多个)部分以及随附的软件和/或固件。作为另一示例,如本文中所使用的术语‘电路装置’还包括例如用于移动电话的基带集成电路或应用处理器集成电路或服务器、蜂窝网络设备、其他网络设备和/或其他计算设备中的类似集成电路。
如本文中所定义,“计算机可读存储介质”(其是指非瞬态物理存储介质(例如易失性或非易失性存储器设备))可以与“计算机可读传输介质”(其是指电磁信号)不同。
如本文中所使用,术语“全向内容”可以指具有比渲染内容的设备的视场更大的空间范围的媒体内容。全向内容可以例如在水平维度上覆盖基本上360度并且在竖直维度上覆盖基本上180度,但是全向也可以指在水平方向上覆盖小于360度视图和/或在竖直方向上覆盖180度视图的内容。
如本文中所使用,术语“视口”或“VR视口”是指适用于由用户进行显示和观看的全向图像或视频的区。当前视口(其有时可以被简称为视口)可以被定义为当前被显示的球面视频的一部分,且因此可由(多个)用户观看。在任何时间点,由头戴式显示器(HMD)上的应用所渲染的视频渲染360度视频的一部分,该部分被称为视口。同样,当在传统显示器上观看360度内容的空间部分时,当前被显示的空间部分是视口。视口是在经由渲染显示器所显示的全向视频中所表示的360度世界上的窗口。视口可以被水平视场(HFoV)和竖直视场(VFoV)表征。
球体区可以被定义为球体上的区,该区可以由四个大圆或由两个方位圆和两个射角圆以及附加地由指示旋转的倾角指定,该旋转沿源自穿过球体区的中心点的球体原点的轴进行。大圆可被定义为球体与穿过球体的中心点的平面的交叉。大圆也被称为Orthodrome或Riemannian圆。方位圆可以被定义为球体上的圆,该圆连接具有相同方位角值的所有点。射角圆可以被定义为球体上的圆,该圆连接具有相同射角值的所有点。
如本文中所使用,“定向”(诸如例如视口的定向)可以由坐标系的角坐标表示。角坐标可以例如被称为偏航、俯仰和滚转,分别指示某些坐标轴(诸如y、x和z)周围的旋转角度。例如,偏航、俯仰和滚转可以被用于指示视口的定向。在一些上下文中,视口定向可能受到约束;例如,滚转可能被约束为0。在一些这样的示例中,并且在其他示例中,偏航和俯仰以度数指示视口的中心点的欧拉角。在大多数上下文中,在俯仰之前偏航被应用,以使得偏航绕Y轴旋转,并且俯仰绕X轴旋转。同样,在大多数上下文中,如当远离原点查看时所观看到,角度顺时针增大。
如本文中所使用,“分块”或“子图片”是指图片内的可独立解码的区并且可以被互换使用。图片内的分块或子图片可以共享标头信息。术语分块不必与一些视频编码格式(诸如HEVC)中的术语分块相同。关于一些视频编码格式,术语分块在本文中被用于指示运动约束分块集(MCTS),该运动约束分块集可以被定义为编码图片内被约束以使得没有当前图片中的MCTS之外或用于预测当前图片的参考图片中的相应MCTS之外的样本值或变量在编码或解码中被使用的矩形区。
如本文中所使用,术语“随机接入”是指解码器在流的开头以外的点处开始对流进行解码且恢复精确或近似的重构媒体信号的能力,诸如解码后的图片的表示。随机接入点和恢复点可以被用于表征随机接入操作。随机接入点可以被定义为媒体流中的地点,诸如接入单元或视频比特流内的编码图片,其中解码可以被发起。恢复点可以被定义为媒体流中或重构信号内的第一地点,其特征在于当解码已经从相应的随机接入点开始时,在输出顺序中处于恢复点处或在恢复点之后的所有媒体(诸如解码后的图片)在内容上是正确的或近似正确的。如果随机接入点与恢复点相同,那么随机接入操作是瞬时的;否则,该随机接入操作可能是渐进的。
统一资源标识符(URI)可以被定义为被用于标识资源的名称的字符串。这样的标识使得能够使用特定协议通过网络与资源的表示进行交互。URI通过指定URI的具体语法和相关联的协议的方案被定义。
URI包括方案部分(标识例如URI的协议)和标识资源的分层部分,并且这两部分由冒号字符分隔。URI可以可选地包括查询部分(由字符‘?’分隔)和/或分片部分(由字符‘#’分隔)。
统一资源定位符(URL)和统一资源名称(URN)是URI的形式。URL可以被定义为URI,其标识web资源且指定对资源的表示起作用或获得该表示的方式,从而指定其主要接入机制和网络地点两者。URN可以被定义为通过特定名称空间中的名称来标识资源的URI。URN可以被用于标识资源而不暗示其地点或如何访问该资源。
为了降低全向媒体(诸如虚拟现实(VR)视频)的流比特率,覆盖视口的360度视频内容的子集(即针对当前观看定向所显示的360度视频的部分)可以以高于剩余360度视频可以被传输的质量/分辨率的质量/分辨率被传输。360度视频的更好质量/分辨率部分可以覆盖围封视口的更大区域。大体上,可以被用于这样的视口自适应流的方法包括但不限于下文所呈现的两种方法。
第一种方法是视口特定编码和流,其利用视口相关编码和流并且也可以被称为非对称投影或打包VR视频。在该方法中,360度图像内容被打包到同一帧中,其中重点(例如更大的空间区域)在视口上。打包的VR帧被编码成单个比特流。例如,与其他立方体面相比,立方体映射图的正面可以以更高的分辨率被采样,并且立方体面可以被映射到相同的打包VR帧,如图1中所图示。
在立方体映射图投影格式中,球面视频被投影到立方体的六个面(也称为侧面)上。立方体映射图可以例如通过首先从视点渲染球面场景六次被生成,其中由90度视锥体定义的视图表示每个立方体面。立方体侧面可以被帧打包到同一帧中,或每个立方体侧面可以单独地被处理(例如在编码中)。存在将立方体侧面定位到帧上和/或立方体侧面可以被旋转或镜像的许多可能顺序。用于帧打包的帧宽度和高度可以被选择以“紧密地”例如以3x2立方体边网格配合立方体侧面,或可能包括未使用的组成帧,例如呈4x3立方体边网格。
第二种方法是基于分块的编码和流。在该方法中,360度内容被编码并且以使得来自不同编码的视口的选择性流成为可能的方式可用。例如,每个立方体面可以单独被编码且封装在其本身的轨道(和表示)中。可以为每个立方体面提供多于一个编码比特流,例如每个编码比特流具有不同的空间分辨率。播放器可以基于当前观看定向选择要解码和播放的轨道(或表示)。高分辨率轨道(或表示)可以针对被用于渲染当前观看定向的立方体面被选择,而剩余立方体面可以从其低分辨率轨道(或表示)中被获得。在另一示例中,等距柱状图全景内容使用运动受限的分块集被编码。多于一个编码比特流可以例如被设置有不同的空间分辨率和/或图片质量。每个运动受限的分块集在其本身的轨道(和表示)中可用。播放器可以基于当前观看定向选择要解码和播放的轨道(或表示)。高分辨率或高质量轨道(或表示)可以针对覆盖当前视口的分块集被选择,而360度内容的剩余区域可以从低分辨率或低质量轨道(或表示)中被获得。
示例实施例提供了这两种方法的优点。根据示例实施例提供一种方法、装置和计算机程序产品以在全向媒体中对各种片段性质进行发信号和存储,该片段性质包括大小、优先级排名等。
覆盖水平360度视场和竖直180度视场的全景图像可以用球体表示,该球体已经使用等距柱状投影(ERP)被映射到二维图像平面。在该情况下,水平坐标可以被认为等同于经度,并且竖直坐标可以被认为等同于纬度,而没有应用变换或缩放。在一些情况下,具有360度水平视场但具有小于180度竖直视场的全景内容可以被视为等距柱状投影的特殊情况,其中球体的极区没有被映射到二维图像平面上。在一些情况下,全景内容可能具有小于360度水平视场和高达180度竖直视场,同时以其他方式具有等距柱状投影格式的特性。
大体上,360度内容可以被映射到不同类型的立体几何结构(诸如多面体(即包含平坦多边形面、直边和尖角或顶点的三维立体对象,例如立方体或棱锥体)、圆柱体(通过将球面图像投影到圆柱体上,如上文使用等距柱状投影所描述)、圆柱体(直接不首先投影到球体上)、圆锥体等)上,且然后被展开为二维图像平面。二维图像平面也可以被视为几何结构。换句话说,360度内容可以被映射到第一几何结构上并且进一步被展开到第二几何结构。然而,可以直接从原始360度内容或从其他宽视角视觉内容获得到第二几何结构的变换。大体上,全向投影格式可以被定义为在二维图像平面上表示(高达)360度内容的格式。全向投影格式的示例包括等距柱状投影格式和立方体映射图投影格式。
方法、装置和计算机程序产品可以与各种视频格式(包括高效视频编码标准(HEVC或H.265/HEVC)、高级视频编码标准(AVC或H.264/AVC)、即将推出的通用视频编码标准(VVC或H.266/VVC))和/或各种视频和多媒体文件格式(包括国际标准组织(ISO)基本媒体文件格式(ISO/IEC 14496-12,其可以被缩写为ISOBMFF)、移动图片专家组(MPEG)-4文件格式(ISO/IEC 14496-14,也被称为MP4格式)、Matroska文件格式、NAL(网络抽象层)单元结构化视频文件格式(ISO/IEC 14496-15)和第三代合作伙伴计划(3GPP文件格式)(3GP格式))结合被利用。ISOBMFF是推导所有上述文件格式的基础。方法、装置和计算机程序产品可以与全向媒体格式(“OMAF”)标准结合被利用。
全向媒体格式(“OMAF”)标准(ISO/IEC 23090-2)指定用于球体区的通用定时元数据语法。定时元数据轨道的目的由轨道样本条目类型指示。所指定的球体区的所有元数据轨道的样本格式以公共部分开始,并且可以跟随有特定于元数据轨道的样本条目的扩展部分。每个样本指定球体区。
OMAF中所指定的特定球体区定时元数据轨道之一被称为推荐的视口定时元数据轨道,其指示当用户无法控制观看定向或已释放对观看定向的控制时应被显示的视口。推荐的视口定时元数据轨道可以被用于基于“导演剪辑”或基于观看统计的测量来指示推荐的视口。推荐的视口的文本描述可以在样本条目中被提供。推荐的视口的类型可以在样本条目中被指示并且可以是根据导演剪辑的推荐的视口,例如根据内容作者或内容提供者的创作意图所建议的视口。
分区质量排名元数据可以存在于视频或图像比特流中或沿视频或图像比特流存在。ISOBMFF和DASH MPD的分区质量排名元数据已在OMAF中被指定。质量排名区的质量排名值可以相对于相同比特流或相同轨道的其他质量排名区或其他轨道的质量排名区。分区质量排名元数据可以例如通过使用被指定为MPEG全向媒体格式的一部分的SphereRegionQualityRankingBox或2DregionQualityRankingBox被指示。SphereRegionQualityRankingBox提供球体区的质量排名值,即被限定在球体域上的区,而2DRegionQualityRankingBox提供解码后的图片上的矩形区的质量排名值(且可能提供覆盖未被任何矩形区覆盖的所有区域的剩余区)质量排名值指示质量排名区的相对质量顺序。当质量排名区A具有比质量排名区B的非零质量排名值小的非零质量排名值时,质量排名区A具有比质量排名区B高的质量。当质量排名值非零时,整个指示的质量排名区内的图片质量可以被定义为近似恒定。大体上,质量排名球体或2D区的边界可能与打包区的边界或分区打包元数据中所指定的投影区的边界匹配或不匹配。DASH MPD或其他流清单可以包括分区质量排名信令。例如,OMAF指定球面分区质量排名(SRQR)和2D分区质量排名(2DQR)描述符,以用于分别携带解码后的图片上的球体区和2D区的质量排名元数据。
内容覆盖范围可以被定义为一个或多个球体区,该一个或多个球体区被轨道或图像项所表示的内容覆盖。内容覆盖范围元数据可以存在于例如OMAF中所指定的CoverageInformationBox中的视频或图像比特流中或沿该视频或图像比特流存在。内容覆盖范围可以被指示为适用于单视场内容、立体内容的任一视图(如所指示)或立体内容的两个视图。当针对两个视图指示时,左视图的内容覆盖范围可能与右视图的内容覆盖范围匹配或不匹配。DASH MPD或其他流清单可以包括内容覆盖范围信令。例如,OMAF指定携带内容覆盖范围元数据的内容覆盖范围(CC)描述符。
Matroska文件格式能够(但不限于)在一个文件中存储任何视频、音频、图片或字幕轨道。Matroska文件扩展名包括针对视频(带有字幕和音频)的.mkv、针对立体视频的.mk3d、针对仅音频文件的.mka以及针对仅字幕的.mks。Matroska可以被用作推导文件格式的基础格式。Matroska使用可扩展二进制元语言(EBML)作为基础。EBML指定了受XML原理启发的二进制和八位字节(字节)对准格式。EBML本身是二进制标记技术的概括描述。Matroska文件由构成EBML“文档”的元素组成。元素并入元素ID、元素的大小的描述符和二进制数据本身。元素可以被嵌套。Matroska的片段元素是其他顶级(1级)元素的容器。Matroska文件可以包括一个片段(但不限于由一个片段构成)。Matroska文件中的多媒体数据被组织在集群(或集群元素)中,每个集群通常包含几秒钟的多媒体数据。集群包括BlockGroup元素,这些BlockGroup元素又包括块元素。提示元素包括可以帮助随机接入或寻找的元数据,并且可以包括文件指针或寻找点的相应时间戳。
示例实施例与ISOBMFF或其推导物结合被描述,然而,本公开不限于ISOBMFF,而是针对一种可能的基础给出描述,在此基础上本公开的示例实施例可以被部分或全部实现。
ISOBMFF的一些概念、结构和规范在下文被描述为容器文件格式的示例,一些实施例可以基于该容器文件格式被实施。本公开的方面不限于ISOBMFF,而是针对一种可能的基础给出描述,在此基础上至少一些实施例可以被部分或全部实现。
ISO基本媒体文件格式中的基本构建块被称为框。每个框具有标头和有效载荷。框标头在字节方面指示框的类型和框的大小。框类型通常由无符号的32位整数标识,被解释为四字符代码(4CC)。框可以围封其他框,并且ISO文件格式指定在某种类型的框内允许哪些框类型。此外,在每个文件中一些框的存在可能是强制性的,而其他框的存在可能是可选的。附加地,针对一些框类型,可以允许具有在文件中存在的多于一个框。因此,ISO基本媒体文件格式可以被视为指定框的分层结构。
在符合ISO基本媒体文件格式的文件中,媒体数据可以在MediaDataBox(‘mdat’)的一个或多个实例中被提供,并且MovieBox(‘moov’)可以被用于围封定时媒体的元数据。在一些情况下,针对可操作的文件,可能需要存在‘mdat’和“moov”框。‘moov’框可以包括一个或多个轨道,并且每个轨道可以驻留在一个对应的TrackBox(‘trak’)中。每个轨道与处置器相关联,该处置器由四字符代码标识,指定轨道类型。视频、音频和图像序列轨道可以被统称为媒体轨道,并且它们包含基本媒体流。其他轨道类型包括线索轨道和定时元数据轨道。轨道包括样本,诸如音频或视频帧。针对视频轨道,媒体样本可以对应于编码图片或接入单元。媒体轨道是指根据媒体压缩格式(和其对ISO基本媒体文件格式的封装)格式化的样本(其也可以被称为媒体样本)。线索轨道是指线索样本,包含用于构建分组以供通过所指示的通信协议进行传输的食谱指令。定时元数据轨道可以指描述所参考的媒体和/或线索样本的样本。
‘trak’框在其框的分层结构中包括SampleDescriptionBox,其提供关于所使用的编码类型的详细信息以及该编码所需的任何初始化信息。SampleDescriptionBox包含条目计数和与条目计数所指示的一样多的样本条目。样本条目的格式是特定于轨道类型的,但源自通用类(例如VisualSampleEntry、AudioSampleEntry)。哪种类型的样本条目形式被用于推导轨道类型特定样本条目格式由轨道的媒体处置器确定。
轨道参考机制可以被用于使轨道彼此相关联。TrackReferenceBox包括(多个)框,每个框提供从包含轨道到其他轨道集合的参考。这些参考通过(多个)所包含的框的框类型(例如框的四字符代码)被标记。
ISOBMFF格式包含用于可与特定样本相关联的定时元数据的三种机制:样本组、定时元数据轨道和样本辅助信息。所推导的规范可以为这三种机制中的一个或多个提供类似的功能性。
ISO基础媒体文件格式及其推导物中的样本分组(诸如ISO/IEC 14496-15(ISO基础媒体文件格式中的网络抽象层(NAL)单元结构化视频的载体))可以被定义为基于分组准则将轨道中的每个样本分配为一个样本组的成员。样本分组中的样本组不限于是连续样本并且可以包含非相邻的样本。由于轨道中的样本可能存在多于一个样本分组,所以每个样本分组可以具有类型字段以指示分组类型。样本分组可以由以下两个链接的数据结构表示:(1)SampleToGroupBox(sbgp框)表示样本对样本组的分配;以及(2)SampleGroupDescriptionBox(sgpd框)包含每个样本组的描述该组的性质的样本组条目。基于不同的分组准则,可能存在SampleToGroupBox和SampleGroupDescriptionBox的多个实例。这些实例可以通过被用于指示分组类型的类型字段被区分开。SampleToGroupBox可以包括可以例如被用于指示分组的子类型的grouping_type_parameter字段。
在ISOMBFF中,编辑列表提供呈现时间线与媒体时间线之间的映射。此外,编辑列表还提供了轨道中样本呈现的线性偏移,提供了空闲时间的指示并且提供了在特定时间段内要停留的特定样本。呈现时间线可以相应地被修改以提供用于循环,诸如用于场景的各个区的循环视频。包括编辑列表的框的一个示例(EditListBox)在下文被提供:
Figure BDA0003146372150000191
在ISOBMFF中,EditListBox可以被包含在EditBox中,该EditBox被包含在TrackBox(‘trak’)中。在编辑列表框的该示例中,旗标指定编辑列表的重复。通过示例,将框旗标内的特定位(最低有效位,即ANSI-C记号法中的旗标&1,其中&指示逐位与运算)设置成等于0指定编辑列表不被重复,而将特定位(即ANSI-C记号法中的旗标&1)设置成等于1指定编辑列表被重复。大于1的框旗标的值可以被定义为被保留以用于将来的扩展。如此,当编辑列表框指示回放零个或一个样本时,(旗标&1)可以等于零。当编辑列表被重复时,由编辑列表产生的时间0处的媒体紧跟在具有由编辑列表产生的最长时间的媒体之后,以使得编辑列表无缝地被重复。
在ISOBMFF中,轨道组能够基于某些特性对轨道进行分组或组内的轨道具有特定关系。然而,轨道分组不允许组中的任何图像项。
ISOBMFF中TrackGroupBox的语法如下:
Figure BDA0003146372150000192
track_group_type指示grouping_type并且可以被设置为值、或所注册的值、或来自推导的规范或注册的值。示例值包括指示该轨道属于多源呈现的‘msrc’。在track_group_type‘msrc’的TrackGroupTypeBox内具有相同track_group_id值的轨道被映射为源自相同源。例如,视频电话呼叫的录制可能具有两个参与者的音频和视频两者,并且与一个参与者的音频轨道和视频轨道相关联的track_group_id的值不同于与另一参与者的轨道相关联的track_group_id的值。track_group_id和track_group_type对标识文件内的轨道组。包含具有相同track_group_id和track_group_type值的特定TrackGroupTypeBox的轨道属于同一轨道组。
实体分组类似于轨道分组,但是使得能够将轨道和图像项分组在同一组中。ISOBMFF中EntityToGroupBox的语法如下:
Figure BDA0003146372150000201
group_id是被分配给特定分组的非负整数,其可能不等于任何其他EntityToGroupBox的任何group_id值、包含GroupsListBox的分层级别(文件、电影或轨道)的任何item_ID值或任何track_ID值(当GroupsListBox被包含在文件级别中时)。num_entities_in_group指定被映射到该实体组的entity_id值的数目。当具有等于entity_id的item_ID的项存在于包含GroupsListBox的分层级别(文件、电影或轨道)中时,entity_id被分辨为项,或当具有等于entity_id的track_ID的轨道存在且GroupsListBox被包含在文件级别中时,entity_id被分辨为轨道。
符合ISOBMFF的文件可以在元框(四字符代码:‘meta’)中包含任何非定时对象,被称为项、元项或元数据项。虽然元框的名称是指元数据,但项可以大体上包含元数据或媒体数据。元框可以驻留在文件的顶层处、电影框(四字符代码:‘moov’)内和轨道框(四字符代码:‘trak’)内,但至多一个元框可能出现在文件级别、电影级别或轨道级别中的每个级别处。元框可能需要包含指示‘元’框内容的结构或格式的HandlerBox(‘hdlr’)框。元框可以列出和表征可以被参考的任意数目的项,并且它们中的每一个可以与文件名相关联并且通过作为整数值的项标识符(item_id)与filef唯一地被标识。元数据项可以例如被存储在元框的项数据框(‘idat’)框中或‘mdat’框中或驻留在单独的文件中。如果元数据位于文件外部,那么其地点可以由DataInformationBox(四字符代码:‘dinf’)声明。在元数据使用可扩展标记语言(XML)语法被格式化且需要直接被存储在MetaBox中的特定情况下,元数据可以被封装到XMLBox(四字符代码:‘xml’)或BinaryXMLBox(四字符代码:‘bxml’)。项可以被存储为连续的字节范围,或其可以被存储在几个范围中,每个范围是连续的字节范围。换句话说,项可以被分片存储在范围中,例如以实现交错。范围是资源的字节的连续子集。资源可以通过连结范围来形成。ItemPropertiesBox能够使任何项与有序项性质集合相关联。项性质可以被视为小数据记录。ItemPropertiesBox由以下两部分组成:包含项性质的隐式索引列表的ItemPropertyContainerBox,以及使项与项性质相关联的一个或多个ItemPropertyAssociationBox。
示例实施例与DASH或其推导物结合被描述,然而,本公开不限于DASH,而是针对一种可能的基础给出描述,在此基础上本公开的示例实施例可以被部分或全部实现。DASH的一些概念、格式和操作在下文作为视频流系统的示例被描述,其中实施例可以被实施。本发明的方面不限于DASH,而是针对一种可能的基础给出描述,在此基础上本发明可以被部分或全部实现。
在DASH中,多媒体内容可以被存储在HTTP服务器上并且可以使用HTTP被递送。内容可以以两部分被存储在服务器上:媒体呈现描述(MPD),描述可用内容的清单、其各种备选物、其URL地址和其他特性;以及片段,包含在单个或多个文件中的呈文件块形式的实际多媒体比特流。MPD为客户端提供必需的信息以通过HTTP建立动态自适应流。MPD包含描述媒体呈现的信息,诸如用于发出GET片段请求的每个片段的HTTP统一资源定位符(URL)。MPD可以包含元素和/或属性,(多个)初始化片段、(多个)索引片段(如果存在)和(多个)媒体片段的URL可以从这些元素和/或属性中被推导。
为了播放内容,DASH客户端可以通过使用例如HTTP、电子邮件、拇指驱动器、广播或其他输送方法来获得MPD。通过解析MPD,DASH客户端可以了解节目定时、媒体内容可用性、媒体类型、分辨率、最小和最大带宽以及多媒体组成部分的各种编码备选物的存在、可访问性特征和所需的数字权限管理(DRM)、网络上的媒体组成部分地点以及其他内容特性。例如,使用该信息,DASH客户端可以选择适当的编码备选物且通过使用HTTP GET请求获取片段来开始对内容进行流式传输。在适当缓冲以允许网络吞吐量变化之后,客户端可以继续获取后续片段并且还监测网络带宽波动。客户端可以通过获取不同备选物的片段(具有较低或较高比特率)来决定如何适应可用带宽以维持足够的缓冲区。
在DASH的上下文中,以下定义可以被使用:媒体内容组成部分或媒体组成部分可以被定义为具有所分配的媒体组成部分类型的媒体内容的一个连续组成部分,该连续组成部分可以单独被编码为媒体流。媒体内容可被定义为一个媒体内容周期或媒体内容周期的连续序列。媒体内容组成部分类型可以被定义为单一类型的媒体内容,诸如音频、视频或文本。媒体流可以被定义为媒体内容组成部分的编码版本。
在DASH中,分层数据模型被用于如下使媒体呈现结构化。媒体呈现由一个或多个周期的序列组成,每个周期包含一个或多个组,每个组包含一个或多个适应集,每个适应集包含一个或多个表示,每个表示由一个或多个片段组成。组可以被定义为不预期同时被呈现的适应集的集合。适应集可以被定义为一个或几个媒体内容组成部分的可互换的编码版本的集合。表示是媒体内容或其子集的备选选择之一,其通常因编码选择而不同,诸如例如因比特率、分辨率、语言、编译码器等而不同。片段包含一定持续时间的媒体数据和用于解码和呈现所包括的媒体内容的元数据。片段由URI标识且通常可以由HTTP GET请求来请求。片段可以被定义为与HTTP-URL和可选地由MPD指定的字节范围相关联的数据单元。
DASH MPD符合可扩展标记语言(XML),且因此通过如XML中所定义的元素和属性来指定。MPD可以使用以下约定来指定:XML文档中的元素可以由大写首字母标识并且可以以粗体作为元素出现。为了表达元素Element1被包含在另一元素Element2中,可以写成Element2.Element1。如果元素的名称由两个或多个组合词组成,那么驼峰式大小写可以被使用,诸如例如ImportantElement。元素可以恰好存在一次,或最小和最大出现可以由<minOccurs>...<maxOccurs>定义。XML文档中的属性可以由小写首字母标识,以及这些属性例如可以在前面被加上‘@’符号,例如@attribute。为了指向被包含在元素Element中的特定属性@attribute,可以写成Element@attribute。如果属性的名称由两个或多个组合词组成,那么驼峰式大小写可以在第一个词之后被使用,诸如例如@veryImportantAttribute。属性可以在XML中已经将状态分配为强制(M)、可选(O)、具有默认值的可选(OD)和有条件强制(CM)。
在DASH中,所有描述符元素都以定义的方式被结构化。所有描述符元素包含提供用以标识方案的URI的@schemeIdUri属性以及可选属性@value和可选属性@id。元素的语义特定于所采用的方案。标识方案的URI可以是URN或URL。一些描述符在MPEG-DASH(ISO/IEC23009-1)中被指定,而描述符可以附加地或备选地在其他规范中被指定。当在除MPEG-DASH之外的规范中被指定时,MPD不提供关于如何使用描述符元素的任何特定信息。这样的情况取决于采用DASH格式来实例化具有适当方案信息的描述元素的应用或规范。使用这些元素之一的应用或规范定义了呈URI形式的方案标识符和当该方案标识符被使用时元素的值空间。方案标识符出现在@schemeIdUri属性中。在需要简单的枚举值集合的情况下,文本字符串可以针对每个值被定义并且这个字符串可以被包括在@value属性中。如果需要结构化数据,那么任何扩展元素或属性可以在单独的名称空间中被定义。@id值可以被用于指唯一描述符或一组描述符。在后一种情况下,可能需要属性@id具有相同值的描述符同义,即对@id具有相同值的描述符之一的处理就足够了。如果:1)元素名称、2)@schemeIdUri的值和3)@value属性的值是等效的,那么类型DescriptorType的两个元素是等效的。如果@schemeIdUri是URN,那么等效性可以指如IETF(因特网工程任务组)所提供的请求意见(RFC)2141的第5条中所定义的词汇等效。如果@schemeIdUri是URL,那么等效性可以指在字符对字符基础上的相等性,如RFC 3986的第6.2.1条中所定义。如果@value属性不存在,那么等效性可以仅由@schemeIdUri的等效性来确定。扩展名称空间中的属性和元素可能不被用于确定等效性。@id属性可以被忽略以用于等效性确定。
MPEG-DASH指定描述符EssentialProperty和SupplementalProperty。针对元素EssentialProperty,除非元素与另一EssentialProperty元素共享相同的@id,否则媒体呈现作者表达描述符的成功处理对于恰当使用包含该描述符的父元素中的信息是必不可少的。如果EssentialProperty元素共享相同的@id,那么处理具有相同@id值的EssentialProperty元素之一就足够了。每个不同@id值的至少一个EssentialProperty元素预期将被处理。如果EssentialProperty描述符的方案或值未被识别,那么DASH客户端预期忽略包含描述符的父元素。具有相同@id值和不同@id值的多个EssentialProperty元素可以存在于MPD中。
针对元素SupplementalProperty,媒体呈现作者表达描述符包含可以由DASH客户端用于优化处理的补充信息。如果SupplementalProperty描述符的方案或值未被识别,那么DASH客户端预期忽略描述符。多个SupplementalProperty元素可以存在于MPD中。
SRD(空间关系描述)在MPEG-DASH的规范性附件H中被指定。以下包含SRD规范的一些摘录。SRD方案允许媒体呈现描述作者表达空间对象之间的空间关系。空间对象由适应集或子表示来表示。作为示例,空间关系可以表达视频表示另一全帧视频的空间部分(例如感兴趣区或分块)。
@schemeIdUri等于“urn:mpeg:dash:srd:2014”的SupplementalProperty和/或EssentialProperty描述符被用于提供关联于包含空间对象的空间关系信息。SRD可以排他地被包含在这两个MPD元素(AdaptationSet和SubRepresentation)中。子表示级别SRD可以被用于表示一种表示中的空间对象,诸如HEVC分块流。在该情况下,SRD描述符可以存在于适应集以及子表示级别。
使用SRD方案的SupplementalProperty或EssentialProperty元素的@value是SRD参数的逗号分隔值列表。SRD参数source_id、object_x、object_y、object_width和object_height需要存在并且SRD参数total_width、total_height和spatial_set_id有条件地或可选地存在。
source_id是十进制表示的非负整数,从而提供内容的来源的标识符。source_id参数在周期内为内容的来源提供唯一标识符。该参数隐式地定义了与该源相关联的坐标系。该坐标系使用任意原点(0;0);x轴从左到右被定向,且y轴从上到下被定向。共享相同source_id值的所有SRD具有相同的原点和轴定向。使用具有不同source_id值的SRD的空间对象的空间关系是未定义的。针对给定的source_id值,参考空间被定义,对应于涵盖整个源内容的矩形区,该矩形区的左上角位于坐标系的原点。SRD中的total_width和total_height值提供以任意单位被表达的该参考空间的大小。total_width是十进制表示的非负整数,从而以任意单位表达参考空间的宽度。total_height是十进制表示的非负整数,从而以任意单位表达参考空间的高度。例如当整个源内容由两个单独的视频表示时,允许在MPD中不存在覆盖内容的整个源的空间对象。
object_x是十进制表示的非负整数,从而以任意单位表达空间对象的左上角的水平位置。object_y是十进制表示的非负整数,从而以任意单位表达空间对象的左上角的竖直位置。object_width是十进制表示的非负整数,从而以任意单位表达空间对象的宽度。object_height是十进制表示的非负整数,从而以任意单位表达空间对象的高度。object_x和object_y参数(分别是object_width和object_height)表达相关联的空间对象在关联于源的坐标系中的2D位置(分别是2D大小)。object_x、object_y、object_width和object_height参数的值相对于total_width和total_height参数的值,如上文所定义。共享相同source_id值的SRD的位置(object_x,object_y)和大小(object_width,object_height)可以在考虑参考空间的大小之后(即在object_x和object_width值除以total_width值以及object_y和object_height值除以其相应描述符的total_height值之后)被比较。不同的total_width和total_height值可以在不同的描述符中被使用以提供相同参考空间的不同单元中的位置和大小信息。
spatial_set_id是十进制表示的非负整数,从而提供一组空间对象的标识符。当不存在时,关联于该描述符的空间对象不属于任何空间集并且空间集信息不被给出。MPD作者可以使用spatial_set_id参数表达给定source_id内的一些空间对象具有特定空间关系。例如,MPD作者可以将对应于相同分辨率级别的分块的所有适应集分组。spatial_set_id参数可以被DASH客户端用来快速选择空间相关的空间对象。
ISOBMFF的轨道参考可以被反映在DASH MPD的@associationType属性中的四字符代码列表中,该属性以一对一的方式被映射到@associationId中所给出的Representation@id值列表。这些属性可以被用于将媒体表示与元数据表示链接。
初始化片段可以被定义为包含呈现被封装在媒体片段中的媒体流所必需的元数据的片段。在基于ISOBMFF的片段格式中,初始化片段可以包括可能不包括任何样本的元数据的电影框(‘moov’),即样本的任何元数据都在‘moof’框中被提供。
索引片段可以被定义为主要包含媒体片段的索引信息的片段。索引片段可以提供一个或多个媒体片段的信息。
媒体片段包含用于以正常速度回放的特定持续时间的媒体数据,这样的持续时间被称为媒体片段持续时间或片段持续时间。内容制作者或服务提供者可以根据服务的期望特性来选择片段持续时间。例如,相对短的片段持续时间可以在直播服务中被使用以实现短的端到端延迟。原因在于片段持续时间通常是DASH客户端所感知的端到端延迟的下限,这是因为片段是为DASH生成媒体数据的离散单元。内容生成通常以使得媒体数据的整个片段可用于服务器的方式来完成。此外,许多客户端实施方式使用片段作为用于GET请求的单元。因此,在直播服务的典型布置中,仅当媒体片段的整个持续时间可用以及被编码和封装到片段中时,片段才可以被DASH客户端请求。针对点播服务,选择片段持续时间的不同策略可以被使用。
例如,片段可以被进一步划分为子片段以使得能够以多个部分下载片段。子片段可能需要包含完整的接入单元。子片段可以由片段索引框(也称为SegmentIndexBox)索引,该片段索引框包含映射每个子片段的呈现时间范围和字节范围的信息。片段索引框还可以通过对其持续时间和字节偏移发信号来描述片段中的子片段和流接入点。DASH客户端可以使用从(多个)片段索引框所获得的信息来使用字节范围HTTP请求对特定子片段进行HTTPGET请求。如果相对长的片段持续时间被使用,那么子片段可以被用于保持HTTP响应的大小合理且灵活以用于比特率适应。片段的索引信息可以被放在该片段开始处的单个框中,或被散布在片段中的多个索引框当中。不同的散布方法是可能的,诸如例如分层、菊花链和混合。该技术可以避免在片段开始处添加大框,且因此可以防止可能的初始下载延迟。
记号法(子)片段是指片段或子片段。如果不存在片段索引框,那么记号法(子)片段是指片段。如果存在片段索引框,那么记号法(子)片段可以指片段或子片段,例如取决于客户端是基于片段还是子片段发出请求。
DASH通过从适应集内的不同表示动态请求媒体片段以匹配变化的网络带宽来支持速率适应。当DASH客户端切换上/下表示时,必须考虑表示内的编码相关性。表示切换可以发生在随机接入点(RAP)处,该随机接入点通常被用于视频编码技术(诸如H.264/AVC)中。在ISOBMFF和DASH中,称为流接入点(SAP)的更通用的概念可用于提供独立于编译码器的解决方案,以用于访问表示和表示之间的切换。在DASH中,SAP被指定为表示中的位置,该位置使得媒体流的播放能够仅使用从该位置开始的表示数据中所包含的信息向前开始(在初始化片段中的初始化数据之前,如果存在)。因此,表示切换可以在SAP中被执行。
几种类型的SAP已经被指定,包括以下。SAP类型1对应于一些编码方案中被称为“封闭式GOP随机接入点”的内容(其中所有图片以解码顺序可以被正确解码,从而产生正确解码图片的没有间隙的连续时间序列),且附加地,解码顺序中的第一图片也是呈现顺序中的第一图片。SAP类型2对应于一些编码方案中被称为“封闭式GOP随机接入点”的内容(其中所有图片以解码顺序可以被正确解码,从而产生正确解码图片的没有间隙的连续时间序列),针对该封闭GOP随机接入点,解码顺序中的第一图片可以不是呈现顺序中的第一图片。SAP类型3对应于一些编码方案中被称为“开放式GOP随机接入点”的内容,其中可能存在无法正确地被解码并且具有少于与SAP相关联的帧内编码图片的呈现时间的解码顺序中的一些图片。
子表示被嵌入在常规表示中并且由子表示元素描述。子表示元素被包含在表示元素中。子表示元素描述被嵌入在表示中的一个或几个媒体内容组成部分的属性。例如,该子表示元素可以描述嵌入式音频部件的确切属性(诸如例如编译码器、采样率等)、嵌入式字幕(诸如例如编译码器)或它可以描述一些嵌入式较低质量的视频层(诸如例如某一较低的帧速率或其他方式)。子表示和表示共享一些共同的属性和元素。如果@level属性存在于子表示元素中,那么子表示提供访问这些子表示被包含的表示的较低质量版本的能力。在该情况下,子表示例如允许以多路复用的表示提取音频轨道,或如果被提供有较低帧速率,那么可以允许有效的快进或倒带操作。
初始化片段和/或媒体片段和/或索引片段可以提供足够的信息,以使得对应于子表示的数据可以通过HTTP部分GET请求容易地被访问。关于提供这样的信息的细节由使用的媒体格式定义。当ISOBMFF片段被使用时,以下适用:
1.初始化片段包含级别分配框。
2.子片段索引框(‘ssix’)针对每个子片段存在。
3.属性@level指定了所描述的子表示在子片段索引中关联到的级别。表示、子表示中和级别分配(‘leva’)框中的信息包含关于将媒体数据分配到级别的信息。
4.媒体数据应该具有顺序,以使得每个级别与较低级别相比都提供增强。
如果@level属性不存在,那么子表示元素仅被用于为被嵌入表示中的媒体流提供更详细的描述。
ISOBMFF包括所谓的级别机制来指定文件的子集。级别遵循相关性分层,以使得被映射到级别n的样本可以取决于级别m的任何样本,其中m<=n,并且不取决于级别p的任何样本,其中p>n。例如,级别可以根据时间子层(例如HEVC的TemporalId)被指定。级别可以在电影扩展(‘mvex’)框中所包含的级别分配(‘leva’)框中被宣布。级别不能针对初始电影分片被指定。当级别分配框存在时,该级别分配框适用于初始电影分片之后的所有电影分片。针对级别分配框的上下文,部分被定义为由一个或多个电影分片框和相关联的媒体数据框组成,可能仅包括最后一个媒体数据框的初始部分。在部分内,每个级别的数据连续地出现。部分内的级别的数据以级别值的增加顺序出现。部分中的所有数据被分配到级别。级别分配框提供从特征(诸如可伸缩性层或时间子层)到级别的映射。特征可以通过轨道、轨道内的子轨道或轨道的样本分组被指定。例如,时间级别样本分组可以被用于指示图片到时间级别的映射,这些时间级别等效于HEVC中的时间子层。某一TemporalId值的HEVC图片可以使用时间级别样本分组被映射到特定时间级别(并且可以针对所有TemporalId值重复相同的操作)。然后,级别分配框可以指对级别的所指示的映射中的时间级别样本分组。
子片段索引框(‘ssix’)提供从级别(如级别分配框所指定)到索引子片段的字节范围的映射。换句话说,该框提供了关于子片段中的数据如何根据级别被排序成部分子片段的紧凑索引。该框使得客户端能够通过下载子片段中的数据范围来容易地访问部分子片段的数据。当子片段索引框存在时,子片段中的每个字节被分配到级别。如果范围不与级别分配中的任何信息相关联,那么不被包括在级别分配中的任何级别可以被使用。存在0或1个子片段索引框/每个片段索引框,该子片段索引框仅对叶子片段进行索引,即仅对子片段进行索引而没有片段索引。子片段索引框(如果存在)是相关联的片段索引框之后的下一个框。子片段索引框记录在紧接在前面的片段索引框中被指示的子片段。每一层可以被分配给恰好一个部分子片段,即一层的字节范围是连续的。部分子片段的级别通过增加子片段内的数字被分配,即部分子片段的样本可以取决于同一子片段中的前面的部分子片段的任何样本,而不是相反。例如,每个部分子片段包含具有相同时间子层的样本,并且部分子片段在子片段内以增加的时间子层顺序出现。当部分子片段以该方式被访问时,最终的媒体数据框可能不完整,即被访问的数据少于媒体数据框指示的长度指示存在的数据。媒体数据框的长度可能需要调整,或填补可以被使用。级别分配框中的padding_flag指示该缺失数据是否可以被零替换,如果不能,那么被分配给未被访问的级别的样本的样本数据不存在。
MPEG-DASH定义了用于ISOBMFF输送流和MPEG-2输送流两者的片段容器格式。其他规范可以指定基于其他容器格式的片段格式。例如,基于Matroska容器文件格式的片段格式已经被提出并且可以被概述如下。当Matroska文件作为DASH片段等被携带时,DASH单元和Matroska单元的相关联可以如下被指定。(DASH的)子片段可以被定义为一个或多个连续Matroska封装内容集群。DASH的初始化片段可能需要包括EBML标头、(Matroska的)片段标头、(Matroska的)片段信息和轨道,并且可以可选地包括其他1级元素和填补。DASH的片段索引可以包括Matroska的提示元素。
OMAF定义了用于使各种DASH元素相关联的MPEG-DASH元素。具有等于“urn:mpeg:mpegI:omaf:2018:assoc”的@schemeIdUri属性的SupplementalProperty元素被称为关联描述符。一个或多个关联描述符可以存在于适应集级别、表示级别、预选级别。适应集/表示/预选元素内部所包括的关联描述符指示该元素的描述符的父元素(即适应集/表示/预选元素)与由omaf2:Association元素中的XPath查询所指示的MPD和由omaf2:@associationKindList所发信号的关联类型中的一个或多个元素相关联。
高效图像文件格式(HEIF)是由移动图片专家组(MPEG)开发的用于存储图像和图像序列的标准。此外,标准促进根据高效视频编码(HEVC)标准所编码的数据的文件封装。HEIF包括建立在所使用的ISO基础媒体文件格式(ISOBMFF)之上的特征。ISOBMFF结构和特征在很大程度上被用于HEIF的设计。HEIF的基本设计包括作为项被存储的静止图像和作为轨道被存储的图像序列。
在HEIF的上下文中,以下框可以被包含在根级‘元’框内并且可以如下文所描述被使用。在HEIF中,‘元’框的处置器框的处置器值为‘pict’。包含编码媒体数据的资源(无论是在同一文件内,还是在由统一资源标识符所标识的外部文件中)通过数据信息(‘dinf’)框被分辨,而项地点(‘iloc’)框存储所参考文件内的每个项的位置和大小。项参考(‘iref’)框使用类型化参考记录项之间的关系。如果在项集合当中存在以某种方式被认为与其他项相比最重要的项,那么该项由主要项(‘pitm’)框被发信号。除了此处所提及的框之外,‘元’框还灵活地包括描述项可能需要的其他框。
任何数目的图像项可以被包括在同一文件中。给定通过使用‘元’框方法所存储的图像集合,有时必须限定图像之间的某些关系。这样的关系的示例包括指示集合的封面图像、提供集合中的一些或所有图像的缩略图以及使集合中的一些或所有图像与辅助图像(诸如阿尔法平面)相关联。图像集合当中的封面图像使用‘pitm’框被指示。缩略图图像或辅助图像分别使用类型“thmb”或“auxl”的项参考被链接到主要图像项。
不管所利用的文件格式如何,示例实施例的装置可以由广泛多种计算设备(包括例如视频编码器、视频解码器、计算机工作站、服务器等)中的任一种或通过各种移动计算设备(诸如移动终端,例如智能电话、平板计算机、视频游戏播放器等)中的任一种被提供。
不管实施装置的计算设备如何,示例实施例的装置20包括如图2中所示出的处理电路装置22、存储器24、通信接口26和可选的用户接口28、与其相关联或以其他方式与其通信。
处理电路装置22可以经由总线与存储器24通信,以用于在装置20的部件当中传递信息。存储器设备可以是非瞬态的并且可以包括例如一个或多个易失性和/或非易失性存储器。换句话说,例如,存储器设备可以是电子存储设备(例如计算机可读存储介质),该电子存储设备包括被配置为存储可由机器(例如计算设备,如处理电路装置)取回的数据(例如比特)的门。存储器设备可以被配置为存储信息、数据、内容、应用、指令等,以用于使得装置能够实施根据本公开的示例实施例的各种功能。例如,存储器设备可以被配置为缓冲输入数据以供处理电路装置进行处理。附加地或备选地,存储器设备可以被配置为存储由处理电路装置执行的指令。
在一些实施例中,装置20可以被实施在如上文所描述的各种计算设备中。然而,在一些实施例中,该装置可以被实施为芯片或芯片组。换句话说,装置可以包括一个或多个物理封装体(例如芯片),包括结构组件(例如基板)上的材料、部件和/或电线。结构组件可以为被包括在其上的部件电路装置提供物理强度、大小的保持和/或电学相互作用的限制。因此,在一些情况下,装置可以被配置为在单个芯片上或作为单个“片上系统”实施本公开的实施例。如此,在一些情况下,芯片或芯片组可以构成用于执行一个或多个操作以供提供本文中所描述的功能性的部件。
处理电路装置22可以以多种不同的方式被实施。例如,处理电路装置可以被实施为各种硬件处理部件(诸如协处理器、微处理器、控制器、数字信号处理器(DSP)、带有或不带有随附DSP的处理元件)或各种其他电路装置(包括集成电路,诸如例如ASIC(专用集成电路)、FPGA(现场可编程门阵列)、微控制器单元(MCU)、硬件加速器、专用计算机芯片等)中的一个或多个。如此,在一些实施例中,处理电路装置可以包括被配置为独立执行的一个或多个处理核心。多核心处理电路装置可以在单个物理封装体内实现多处理。附加或备选地,处理电路装置可以包括一个或多个处理器,该一个或多个处理器经由总线被串联配置以实现指令、流水线和/或多线程的独立执行。
在示例实施例中,处理电路装置22可以被配置为执行存储器24中所存储或以其他方式处理电路装置可访问的指令。备选地或附加地,处理电路装置可以被配置为执行硬编码功能性。如此,无论是由硬件或软件方法配置,还是由其组合配置,处理电路装置都可以表示在相应地被配置时能够执行根据本公开的实施例的操作的实体(例如在物理上被实施在电路装置中)。因此,例如,当处理电路装置被实施为ASIC、FPGA等时,处理电路装置可以是具体配置的硬件,以用于进行本文中所描述的操作。备选地,作为另一示例,当处理电路装置被实施为指令的执行器时,指令可以具体地配置处理器以在指令被执行时执行本文中所描述的算法和/或操作。然而,在一些情况下,处理电路装置可以是特定设备(例如图像或视频处理系统)的处理器,该处理器被配置为通过由用于执行本文中所描述的算法和/或操作的指令的处理电路装置的进一步配置来采用本发明的实施例。此外,处理电路装置可以包括时钟、算术逻辑单元(ALU)和被配置为支持处理电路装置的操作的逻辑门。
通信接口26可以是任何部件,诸如被实施在硬件或硬件和软件的组合中的设备或电路装置,该设备或电路装置被配置为接收和/或传输数据,包括视频比特流。在这一点上,通信接口可以包括例如天线(或多个天线)和支持硬件和/或软件,以用于实现与无线通信网络的通信。附加地或备选地,通信接口可以包括用于与(多个)天线交互以引起经由(多个)天线传输信号或处置经由(多个)天线所接收到的信号的接收的电路装置。在一些环境中,通信接口可以备选地或也支持有线通信。如此,例如,通信接口可以包括通信调制解调器和/或用于支持经由电缆、数字订户线(DSL)、通用串行总线(USB)或其他机制的通信的其他硬件/软件。
在一些实施例中,诸如在装置20被配置为对视频比特流进行编码的实例中,装置20可以可选地包括用户接口28,该用户接口又可以与处理电路装置22通信以诸如通过输出编码的视频比特流向用户提供输出,并且在一些实施例中,接收用户输入的指示。如此,用户接口可以包括显示器,并且在一些实施例中,还可以包括键盘、鼠标、操纵杆、触摸屏、触摸区域、软键、麦克风、扬声器或其他输入/输出机制。备选地或附加地,处理电路装置可以包括用户接口电路装置,该用户接口电路装置被配置为控制一个或多个用户接口元件(诸如显示器,和在一些实施例中,扬声器、振铃器、麦克风等)的至少一些功能。处理电路装置和/或包括处理电路装置的用户接口电路装置可以被配置为通过处理电路装置可访问的存储器(例如存储器24等)上所存储的计算机程序指令(例如软件和/或固件)控制一个或多个用户接口元件的一个或多个功能。
示例实施例提供针对全向媒体中的各种片段性质(包括大小、优先级排名等)的信令和存储机制。一些实施例在比特流、容器文件、清单或通用通信协议中(或使得可自其解析)对媒体递送会话(例如OMAF会话)的媒体片段的近似或确切大小或比特率的指示进行存储和发信号。当不同质量分块的组合以给定的时间间隔被选择用于下载时,客户端播放器在接收到这样的信息之后将能够做出更好的吞吐量预测。OMAF播放器可能能够比较呈现时间线和片段可用性时间(其可以从片段大小和可用带宽信息被推导),以便获得用于优化比特率分配和分块下载决定的超前测量。该机制提供了避免由于跨具有不同大小的不同片段的快速改变而致的带宽超限的益处,这可能导致糟糕的用户体验。
现在参考图3,描绘了诸如由图2的装置20实施的编码器所执行的操作,以便引起根据示例实施例的针对媒体片段的大小信息的信令和存储。
如框30中所示出,装置包括用于访问一个或多个媒体片段的部件,诸如处理电路装置22。一个或多个媒体片段包括被配置用于流式回放的媒体数据。
如框32中所示出,装置包括用于访问针对一个或多个媒体片段中的每个媒体片段的大小信息的部件,诸如处理电路装置22。
如框34中所示出,装置包括用于将针对一个或多个媒体片段中的每个媒体片段的大小信息编码在媒体文件中、在与一个或多个媒体片段相关联的一个或多个元数据轨道内或与一个或多个媒体片段相关联的一个或多个子片段内的部件,诸如处理电路装置22。一个或多个元数据轨道包括一个或多个媒体片段或一个或多个子片段中的每一个中的一个或多个分块的一个或多个字节大小。媒体文件还包括一个或多个媒体片段。在一些实施例中,一个或多个元数据轨道可以表示与一个或多个元数据轨道相关联的一个或多个媒体轨道的一个或多个分块结构。在一些实施例中,一个或多个元数据轨道可以被链接到媒体文件或媒体呈现清单信息中的一个或多个视频适应集或表示。
一个或多个元数据轨道被配置为与一个或多个媒体片段中的每个媒体片段的呈现一起对媒体播放器可用,以便在与一个或多个媒体片段中的每个媒体片段相关联的下载或呈现之前提供关于一个或多个媒体片段的先验信息。在与DASH相关的一些实施例中,服务器可以在片段的呈现时间之前发送针对每个DASH适应集的媒体片段中的分块的字节大小。针对每个适应集的媒体片段中的分块的字节大小的图形图示在图4中被提供。
媒体播放器可能能够通过分析当前可用的吞吐量、视口和带宽策略来请求来自不同的适应集的恰当分块片段。媒体播放器可能能够通过利用各种回放操作(诸如OMAF VDS)来组合这些分块。当视口改变时,播放器可以利用针对分块的字节大小分配来预取最高可能的视觉表示,同时将吞吐量保持在可用限制内。
在与ISOBMFF相关的一些实施例中,媒体文件可以包括用于ISOBMFF轨道的索引片段,包括对相应媒体片段进行索引的(多个)SegmentIndexBox。在定时元数据轨道中,针对每个片段持续时间,大小信息可以被存储为跨越片段的持续时间的定时元数据样本中的分块字节大小表。定时元数据轨道可以比实际媒体数据表示更快地被取回,因此,使得在播放器侧的超前成为可能。在一些实施例中,定时元数据轨道的元数据样本可以与包含分块的对应媒体轨道的媒体样本时间对准。在一些实施例中,可能存在比对应媒体轨道更少的样本。
在一些实施例中,定时元数据轨道可以表示整个分块结构的子集,该分块结构可以是相关媒体轨道的相同分块结构。在一些实施例中,在指示元数据片段的大小和排名内可以存在多个这样的元数据轨道,其中每个轨道可以对应于单独的媒体轨道,该媒体轨道覆盖被分块的整个图片的一部分。每个这样的元数据轨道可以经由如OMAF标准中所定义的DASH@associationId和@associationType属性被链接到媒体轨道。在一些实施例中,这些属性的语义可以被扩展以对与多个表示的关联进行发信号,即它们可以包含表示Id或关联类型的有序列表。
在一些实施例中,元数据轨道可以被链接到视频适应集并且针对在MPD中的整个周期被定义。附加地,在一些实施例中,元数据轨道可以通过在元数据轨道中列出表示的track_Ids而被链接到表示,作为轨道参考框或EntitytoGroupBox中的示例。
在一些实施例中,分块字节大小表的表值可以被量化为“步长”。量化步长的使用可以在定时元数据样本本身中被发信号。例如,0至1兆字节(MB)可以被分为整数部分的64步和小数部分的64步。100.58可以被发信号作为{10,5},因此作为16位数字(8.8)。在一些实施例中,表值可以按比例因子缩放以优化字节分配/每个表条目。在一些实施例中,表可以针对每个随机接入点或图片组(GOP)存在,以便具有甚至更细的粒度。在一些实施例中,适应集标识符可以在元数据样本中被用于指示片段(例如片段标识符、URL或URL模板)和/或表示标识符。
在一些实施例中,元数据样本在ISOBMFF中可以具有以下结构。
Figure BDA0003146372150000371
在另一实施例中,SegmentSizeSamples可以针对一个或多个媒体片段的一个或多个子片段存在,因此提供了更好的分块大小信息粒度。
SegmentSizeSample指示元数据样本,其包含或指示特定持续时间的每个分块的字节大小信息。tile_byte_size指定需要从对应于该元数据样本的当前样本时间或呈现时间被下载的分块的字节大小的总和,直到下一元数据样本的样本时间或呈现时间为止。num_entries指定了该样本中存在的条目数。每个条目对应于对应媒体轨道中的分块字节大小。对应媒体轨道可以以特定类型在轨道参考框中被列出。示例在下文被提供:
Figure BDA0003146372150000381
作为示例,reference_type=‘tsiz’可以被定义并且它可以指示元数据样本携带关于由track_IDs[]阵列中的轨道标识符值所指示的轨道的信息。(track_IDs[]阵列的)阵列条目的顺序可以与SegmentSizeSamples中的tile_byte_size条目的顺序相同并且具有一对一的关系。分块地点可以通过利用DASH MPD中的空间关系描述(SRD)或内容覆盖范围(CC)描述符被标识,这些描述符利用如OMAF和/或DASH标准中所定义的EssentialProperty或SupplementalProperty中的schemeIdUri和附加参数。
在另一实施例中,DASH表示与携带片段大小信息的元数据轨道之间的链路可以通过利用唯一标识符的映射来建立。这样的标识符的列表可以按预定义的顺序被存储在元数据样本条目中。每个唯一标识符然后可以作为性质(必要的或补充的)存在于DASH清单的相关表示中。示例在下文被提供:
Figure BDA0003146372150000382
num_entries指示样本条目中的条目数。unique_id是所列条目当中的唯一编号。在另一实施例中,该编号对于整个呈现可以是唯一的。DASH MPD中对该元数据轨道有贡献的每个表示列出了这些唯一编号之一作为性质。唯一编号的顺序指示元数据样本中的分块大小的顺序。来自MPD的示例片断可以如下:
Figure BDA0003146372150000391
在DASH中,unique_id补充性质也可以存在于片段大小元数据轨道的元数据样本条目中。该性质也可以被定义为本质性质。
在一些备选实施例中,每个表示的唯一标识符的列表可以被列为片段大小元数据轨道中的本质或补充性质的一部分。例如,属于同一适应集的两个表示被定义且在所定义的SupplementalPropery中使用不同的unique_ids列出,该SupplementalPropery由其schemeIdURI(“...:ssse”)标识。所列出的schemeIdURI作为示例被给出并且不同的标识符可以被使用。片段大小元数据被定义为另一适应集并且经由unique_id_values属性被链接到上述表示。该属性以与其数据存在于元数据样本条目中的顺序相同的顺序列出相关表示的unique_id值。这些实施例中的MPD的示例片段在下文被提供:
Figure BDA0003146372150000401
在一些备选实施例中,分块的顺序可以由媒体轨道的解码图片中的分块的预定义扫描顺序来确定。例如,分块扫描顺序可以通过SegmentSizeSample内部的参数被枚举,诸如:
Figure BDA0003146372150000411
tile_scanning_order指定扫描顺序,在一些示例实施例中,该扫描顺序可以被枚举如下:0指示从左上角的分块向右水平扫描,然后移动到下一个分块行且从最左边的分块(也称为光栅扫描顺序,也称为行主顺序)开始;以及1指示从左上角的分块向下竖直扫描,然后移动到下一个分块列且从最上面的分块(也称为列主顺序)开始。其他类型的枚举可以在其他实施例中被定义。需要理解的是,即使许多示例实施例包括tile_scanning_order语法元素,实施例也可以通过预定义(例如在标准中)或推理分块扫描顺序而在没有tile_scanning_order语法元素的情况下类似地被实现。
在另一实施例中,扫描顺序信息可以被放入元数据样本条目中。示例元数据样本条目在下文被提供:
aligned(8)class SegmentSizeSampleEntry(type)extendsMetadataSampleEntry(‘ssse’){
unsigned int(8)tile_scanning_order;
}
‘ssse’元数据样本条目类型作为示例被给出。
在一些备选示例实施例中,tile_byte_size信息可以用相对量值信息替换,其中可以存在缩放或量化的值而不是使用实际值。在这样的情况下,该字段的定义和类型可能不同。以下示例被提供:
Figure BDA0003146372150000412
base_byte_size可以指示大小的基值。当该值与tile_byte_size相乘时,实际字节大小(可能是量化的)可以被达到。利用这样的参数化方法可以通过引入较小的参数类型值(例如每tile_byte_size使用4位而不是8或16位)来压缩SegmantSizeSample。
在一些备选示例实施例中,base_tile_size可以被存储在元数据样本条目中。示例元数据样本条目在下文被提供:
Figure BDA0003146372150000421
base_byte_size值可适用于被链接到该样本条目的所有样本。
在一些备选实施例中,字节大小值可以以不同的方式被存储(例如)作为与扫描顺序中的先前分块大小相比的有符号的“增量”值。
在利用DASH的一些实施例中,服务器可以具有URI参数,该参数可以由播放器发送以在HTTP响应或REST API(诸如:HTTP GET http://cdn.com/myvideo?segment_tile_ sizes=10-11.........(要求包括片段10至11的片段分块大小))中访问该表信息。HTTP响应400OK可以被接收,并且消息主体可以包括片段分块大小和适应集id(segment_tile_sizes={(适应集id,16位整数值的运行)})。
现在参考图5,描绘了诸如由图2的装置20所实施的编码器所执行的操作,以便引起根据示例实施例的媒体片段的优先级排名信息的信令和存储。如果媒体片段的图片中存在MxN个分块,那么将存在用于要被传达给播放器的媒体片段的MxN个相对优先级排名值。相对优先级排名值可以具有最小可以与单个图片的持续时间一样短的时间粒度。通过利用排名值和可见视口区,媒体播放器可能能够决定以哪个顺序请求分块且为每个分块切换到更高质量。排名可以至少基于但不限于以下任何一项被定义:
·每个分块内容的复杂性。示例可以为:
ο场景中的纹理和对象(例如对象数目)
ο场景中的运动(例如人们从一侧走到另一侧或汽车从一侧移动到另一侧,或大体上,分块内的运动程度)
·显著图估计
·热点(例如,如果分块位于预定义的热点内,那么该分块可能排名靠前)
·关于查看定向和/或视口的统计数据和/或集体数据。例如,观看者的收集到的视线和/或先前会话的头戴式显示器定向信息
·比特率(例如分块可能排名靠前,这是因为该分块需要低比特率以便通过信道被传输)
·投影格式内的位置(例如,等距柱状投影中顶部或底部处的分块可能排名较低)
·大小(例如,与小的大小的分块相比,大空间大小的分块可能排名靠前)。
·分区质量排名信息。
当视口改变时,播放器考虑分块优先级排名以请求高质量分块。在一些实施例中,播放器可以选择不请求低优先级排名的高质量分块,而是仅请求片段持续时间中的高质量排名分块。这样的优先级排名存储和信号机制可以被用于单个图片视频(诸如MPEG HEIF、点云编码媒体流等)中。实施例可以使用不同的流媒体协议(例如MPEG-DASH)以及各种实时低延迟单向或双向媒体通信且覆盖不同的网络拓扑,诸如点对点、点对多点、对等,且在任何ISO开放系统互连(OSI)协议层处使用任何通信协议。与ISOBMFF和MPEG-DASH相关的实施例被提供作为示例。
如框50中所示出,装置包括用于访问一个或多个媒体片段的部件,诸如处理电路装置22。一个或多个媒体片段包括被配置用于流式回放的媒体数据。
如框52中所示出,装置包括用于访问针对一个或多个媒体片段的一个或多个分块的优先级排名信息的部件,诸如处理电路装置22。
如框54中所示出,装置包括用于将针对一个或多个媒体片段的一个或多个分块的优先级排名信息编码在媒体文件中的部件,诸如处理电路装置22。在一些实施例中,媒体文件中的针对一个或多个媒体片段的一个或多个分块的优先级排名信息被编码在与一个或多个媒体片段相关联的一个或多个元数据轨道内或与一个或多个媒体片段相关联的一个或多个子片段内,例如作为元数据样本。一个或多个元数据轨道包括一个或多个媒体片段中的每个媒体片段中的一个或多个分块的一个或多个优先级排名。在一些实施例中,媒体文件中的针对一个或多个媒体片段的一个或多个分块的优先级排名信息还可以包括针对一个或多个媒体片段的一个或多个子片段的一个或多个分块的优先级排名信息。在一些实施例中,一个或多个元数据轨道可以被链接到媒体文件或媒体呈现清单信息中的一个或多个视频适应集或表示。
在一些实施例中,媒体文件中的针对一个或多个媒体片段的一个或多个分块的优先级排名信息被编码为与一个或多个媒体片段相关联的索引片段的部分。索引片段的部分包括一个或多个媒体片段中的每个媒体片段中的一个或多个分块的一个或多个优先级排名。媒体文件还包括一个或多个媒体片段。索引片段的部分还可以包括一个或多个媒体片段的一个或多个子片段的优先级排名。在一些实施例中,索引片段被配置为与一个或多个媒体片段中的每个媒体片段的呈现一起对媒体播放器可用,以便在与一个或多个媒体片段中的每个媒体片段相关联的下载或呈现之前提供关于一个或多个媒体片段的先验信息。在一些实施例中,分块优先级排名被存储在一个或多个元数据轨道中,该一个或多个元数据轨道还包括大小信息。在一些实施例中,媒体文件中的针对一个或多个媒体片段的一个或多个分块的优先级排名信息还可以包括针对一个或多个媒体片段的一个或多个子片段的一个或多个分块的优先级排名信息。
类似于与图3结合所描述的操作,一个或多个元数据轨道被配置为与一个或多个媒体片段中的每个媒体片段的呈现一起对媒体播放器可用,以便在与一个或多个媒体片段中的每个媒体片段相关联的下载或呈现之前提供关于一个或多个媒体片段的先验信息。在与DASH相关的一些实施例中,服务器可以在片段的呈现时间之前发送针对每个DASH适应集的媒体片段中的分块的字节大小。针对每个适应集的媒体片段中的分块的字节大小的图形图示在图4中被提供。
媒体播放器可能能够通过分析当前可用的吞吐量、视口和带宽策略来请求来自不同的适应集的恰当分块片段。媒体播放器可能能够通过利用各种回放操作(诸如OMAF VDS)来组合这些分块。当视口改变时,播放器可以利用针对分块的字节大小分配来预取最高可能的视觉表示,同时将吞吐量保持在可用限制内。
在与ISOBMFF相关的一些实施例中,(多个)索引片段包括一个或多个SegmentIndexBoxes。
DASH MPD属性@indexRange可以提供包含表示的媒体片段中的片段索引的字节范围,其中片段索引可以包括描述与@indexRange属性相关联的(多个)媒体片段的(多个)SegmentIndexBox。因此,DASH客户端可以使用具有由@indexRange给出的字节范围的HTTPGET请求来获得描述(多个)媒体片段的(多个)SegmentIndexBox。
在用于点播流的示例设置中,所有SegmentIndexBoxes被布置在文件开始处且提供整个表示的子片段的信息。因此,根据实施例,关于子片段粒度的优先级排名可以在SegmentIndexBox的扩展中或在(多个)SegmentIndexBox旁边的(多个)框中被提供。在一个实施例中,(多个)SegmentIndexBox和可能在(多个)SegmentIndexBox旁边的(多个)框(例如当TilePriorityRankingBox等在SegmentIndexBox旁边而不是在SegmentIndexBox中时)被包括到(多个)索引片段中和/或被从其中被解析和/或由@indexRange属性中所给出的字节范围指示和/或从该字节范围中被解码。
新框或新语法元素可以扩展或伴随SegmentIndexBox,其可以包含如下文进一步讨论的片段或子片段级别分块优先级排名信息。SegmentIndexBox可以被定义为如ISOBMFF规范中所提供:
Figure BDA0003146372150000461
reference_track_ID提供参考轨道的track_ID;如果该片段索引框从‘父’片段索引框被参考,那么reference_ID的值可能与‘父’片段索引框的reference_ID的值相同。时间标度以每秒滴答数提供针对该框内的时间和持续时间字段的时间标度。early_presentation_time是第一子片段中的参考轨道中的任何样本的最早呈现时间,以时间标度字段的时间标度表达。first_offset是从包含片段索引框之后的第一字节到第一参考框的第一字节的以字节表示的距离。reference_count是由第二循环所索引的元素数目。
reference_type:当设置为0时指示参考的是电影分片(“moof”)框;当设置为1时指示参考的是片段索引(“sidx”)框。
referenced_size:从所参考框的第一字节到下一所参考框的第一字节的距离(以字节表示),或在最后一个条目的情况下,第一字节未被该片段索引框索引。
subsegment_duration:当参考的是片段索引框时,该字段携带该框中的subsegment_duration字段的总和;当参考的是子片段时,该字段携带下一子片段(或如果这是片段的最后一个子片段,那么携带下一片段的第一子片段,或如果这是表示的最后一个子段,那么参考轨道的结束合成时间)和参考子片段中的参考轨道的任何样本的最早呈现时间;持续时间以该框中的时间刻度值被表达。
starts_with_SAP指示所参考的子片段是否以SAP开始。针对本字段结合其他字段的详细语义。
SAP_type指示如早前所讨论的流接入点(SAP)类型或值0。SAP_delta_time:指示参考流的所参考子片段中以解码顺序的第一SAP的TSAP。如果所参考子片段不包含SAP,那么SAP_delta_time保留值为0;否则SAP_delta_time是子片段的最早呈现时间与TSAP之间的差值(注意,在子片段以SAP开始的情况下,该差值可能为零)。
新的完整框可以被称为TilePriorityRankingBox。作为示例,该新框的类型可以是‘tprb’。示例在下文被提供:
Figure BDA0003146372150000471
在一个实施例中,TilePriorityRankingBox紧跟在SegmentIndexBox之后存在。在另一实施例中,TilePriorityRankingBox被包含在SegmentIndexBox的末尾。在又一实施例中,TilePriorityRankingBox的框有效载荷被包含在SegmentIndexBox的末尾。在SegmentIndexBox的末尾附加新数据的实施例中,SegmentIndexBox的框标头中的版本字段可以等于0,在这样的情况下,遗留文件解析器省略框的末尾处的数据,但以其他方式解析和以传统方式利用(多个)SegmentIndexBox。备选地,SegmentIndexBox的框标头中的版本字段的先前未使用的值可以被使用,在这样的情况下,遗留文件解析器可能省略整个框。
reference_count可以如在SegmentIndexBox中定义的那样,并且它可以采取与在该框中所定义的相同的值。num_entries定义了图片中存在的分块的数目。tile_priority_rank是从1开始的整数。数字越高,相关分块的信息内容越重要。在另一实施例中,tile_priority_rank定义可以被颠倒(即,越低的数字可以指示越重要的信息内容)。分块扫描顺序可以如针对片段大小(即tile_scanning_order)所定义被预定义或发信号,这些片段大小可以被包括在TilePriorityRankingBox中。示例语法可以如下:
Figure BDA0003146372150000481
tile_scanning_order如针对SegmentSizeSample中的片段大小所定义。
在一些备选实施例中,TilePriorityRankingBox可以被定义为跟随SegmentIndexBox或在SegmentIndexBox内部存在的完整框,其中SegmentIndexBox版本不同于0。
Figure BDA0003146372150000482
在一些备选实施例中,排名可以存在于定时元数据样本中,可以与片段大小表一起存在。如果这些排名被存储为定时元数据样本,那么元数据样本可以如下:
Figure BDA0003146372150000491
reference_count指示存在于元数据样本中的优先级排名的数目。作为示例,在3x6的分块结构,可能存在TilePrioritySample中存在的18个tile_priority_rank值。分块的扫描顺序可以由tile_scanning_order(如上文针对SegmentSizeSample所定义)来定义。
字段的语义可以如上文所指定。这些样本可以具有与元数据轨道中的SegmentSizeSamples类似的特性,与它们相关的相关媒体轨道具有类似的关系。
在一些备选实施例中,排名值可以具有可以在元数据样本条目或样本本身中所定义的范围。如果在元数据样本条目中所定义,语义和语法可以如下:
Figure BDA0003146372150000492
元数据样本条目名称和类型作为示例给出。minimum_priority_rank指示可以作为优先级排名被给出的至少数目。maximum_priority_rank指示可以作为优先级排名被给出的至少数目。优先级排名越高,分块的信息内容越重要。
在一些实施例中,分块排名可以如在图6A和图6B中所图示的示例中被行程编码。图6A和图6B中的每个网格项表示编码图片的分块。行程编码结构可以压缩元数据样本中的条目数目。
示例元数据样本可以如下:
Figure BDA0003146372150000501
tile_priority_run指示tile_scanning_order中有多少连续的分块具有相同的tile_priority_rank值。
在一些备选实施例中,片段分块大小和分块优先级排名信息两者可以一起被存储在元数据轨道中。在这样的实施例中,元数据样本和样本条目的语法可以如下:
Figure BDA0003146372150000502
TileInformationSampleEntry和TileInformationSample中的字段的语义如上文所定义。在一些实施例中,之前所描述的其他实施例中的其他字段可以被包括在上述数据结构中。
在与DASH相关的一些实施例中,优先级排名可以在MPD中或表示中作为DASH事件被发信号。在一些实施例中,优先级排名可以作为单独的适应集存在于MPD中,其中预定义的schemeIdURI作为EssentialProperty。一个示例可以如下:
Figure BDA0003146372150000511
在一些备选实施例中,优先级排名或初始优先级排名可以在MPD中被列出。该信息可以被用于定义片段的初始下载顺序。
在一些实施例中,服务器可以具有URI参数,该参数可以由播放器发送以访问HTTP响应或REST API中的表信息。HTTP GET可以例如以http://cdn.com/myvideo?segment_ priority_ranks=10-11的形式被传输......(要求包括的片段10到11的片段优先级排名)。HTTP响应400OK可以被传输,消息主体可以包括例如tile_priority_ranks={10,{(2,2),(3,1),(2,1),(1,2),(3,1),(1,2)},11,{(2,2),(3,1),(2,1),(1,2),(3,1),(1,2)}。在该示例中,优先级排名的行程编码集合被列出。这些优先级排名可能在没有这样的行程编码的情况下被列出。此外,扫描顺序可以在内部tile_priority_ranks发信号。
现在参考图7,描绘了诸如由图2的装置20实施的播放器所执行的操作,以便根据示例实施例播放一个媒体片段。流服务器可以在回放开始之前向播放器客户端发送分块优先级排名。
如框70中所示出,装置包括用于接收分块优先级排名的部件,诸如处理电路装置22和/或通信接口26。分块优先级排名可以采取结合图5所描述的分块优先级排名的形式。
如框72中所示出,装置包括用于基于视口、带宽和分块优先级排名中的一项或多项来请求分块片段的部件,诸如处理电路装置22。
图8A、图8B和图8C是根据本公开的示例实施例的分块排名的图形图示。在图8A、图8B和图8C中,每个分块内的大数字指示排名顺序(较低的数字指示较高的优先级);每个分块的左上角上的小数字指示示例性分块编号。针对图8A中所图示的示例,播放器可以按以下顺序请求分块片段:15、16、25、26、17、27、5、6、7、35、36、37、8、18、28、38。
播放器可以同时执行对相同优先级排名分块片段的下载请求。
在回放会话期间,如果对于下一个媒体片段持续时间,优先级改变但视口保持不变,如图8B中所图示,播放器可以按以下顺序请求针对下一个媒体片段持续时间的分块片段:17、27、15、25、16、28、35、36、5、6、7、8、18、26、37、38。
如果观看者改变视口,如图8C中所图示,那么播放器可以按以下顺序对针对当前片段持续时间的片段进行分块:
14、24、13、23、33、34、35(假设15、16、25、26和36在基于先前的优先级之前已经被请求为高质量)。
在一些实施例中,播放器选择不同视口区的质量以通过利用排名值和可见视口区来最小化马赛克渲染的不利影响。例如,如果新的高优先级分块出现(其与其邻居不止具有阈值差异),那么播放器可以向其邻居传播高质量内容。播放器还可以应用渐变的平滑。在一些实施例中,如果存在场景剪切,那么优先级排名可以被用作与场景前剪切值相比的中间值,并且以较短的持续时间片段开始,以便促进与发信号的优先级排名的快速收敛。
通过利用这样的优先级排名和大小存储和信令机制,几个技术优点被提供。如果客户端事先知道片段大小和其质量,那么该客户端可以在没有任何带宽节流或缓冲区下溢/上溢的情况下在VDS模式下选择要下载哪些分块片段时做出更好的决定。进一步地,通过对高优先级分块的质量进行优先化,可以获得对分块的细粒度访问。附加地,更好的吞吐量/带宽处置通过选择需要高质量的可见分块的最佳子集被提供。
这样的优先级排名和大小存储和信令机制还能够对每媒体片段的分块优先级排名进行预先发信号,以使得播放器可以在回放片段之前知道如何对分块下载进行优先化。进一步地,使得利用用于质量选择的分块分块优先级成为可能。这样的情况减少了比特率尖峰以及提供了对可用带宽的利用的细粒度控制。通过根据优先级排名信令机制以优先级顺序下载分块,即使在吞吐量突然变化的情况下,也更有可能及时接收感知上重要的分块。
根据可以与其他实施例一起被使用或独立于其他实施例被使用的实施例,指示被创作到片段索引和/或流清单中和/或从片段索引中被解码,其中指示指示片段有效载荷中的媒体数据是否在(多个)媒体片段内被紧密打包且呈解码顺序。片段有效载荷可以指例如MediaDataBox或几个MediaDataBoxes。当媒体数据被指示为紧密打包时,可能需要存在片段的单个MediaDataBox或片段的该(多个)MediaDataBox是连续的,可能仅由非必要框交错,诸如(多个)FreeSpaceBox。紧密打包是指属于媒体比特流的片段有效载荷的所有字节,即片段有效载荷由媒体比特流的连续范围的字节组成(可能不包括MediaDataBoxes的框标头和非必要框)。可能还需要紧密打包涉及媒体数据自包含的方式,即解码和回放可以在没有其他元数据或仅在初始化片段和片段索引中的元数据的情况下发生。例如,紧密打包可以涉及在媒体数据中包括定时信息。例如,可以指定视频比特流中的图片顺序计数指示显示时间。
在本实施例中,片段索引可以例如包括(多个)SegmentIndexBox和任何伴随框,诸如(多个)TilePriorityRankingBox。当指示存在于流清单中时,指示可以例如被提供作为DASH MPD中的补充性质。片段索引可以附加地或备选地包括在ISO/IEC 23001-14中所指定的BoxFileIndexBox。BoxFileIndexBox提供相关联的片段的框分层的概要。它包含BoxIndexBox框集合,每个框描述一个顶级框,例如给出框类型和框大小(以字节表示)。
在一个实施例中,指示可以被划分为表征紧密打包的方面的几个元素和/或属性。例如,可以指示接入单元的定时信息如何被嵌入(子)片段有效载荷中。
在一个实施例中,指示(多个)(子)片段报头的(多个)字节范围的信息被创作到片段索引中和/或从片段索引被解码。(多个)(子)片段报头可以包括例如(多个)MovieFragmentBox并且可以完全或部分地排除(子)片段有效载荷。在一个实施例中,指示(多个)(子)片段有效载荷的(多个)字节范围的信息被创作到片段索引中和/或从片段索引被解码。
在一个实施例中,指示用于请求与(多个)片段报头分开的(多个)片段有效载荷的(多个)URL和/或(多个)字节范围的信息被创作到流清单中和/或从流清单中被解码。(多个)片段报头可以包括例如(多个)MovieFragmentBox。
(子)片段有效载荷中的媒体比特流可以是封装的媒体比特流。例如,(子)片段有效载荷可以由ISOBMFF文件的视频轨道的连续样本集合组成。例如,封装的媒体比特流中的每个数据单元(诸如网络抽象层(NAL)单元)可以在指示数据单元的字节计数的长度字段之前。
在一个实施例中,客户端例如从片段索引和/或流清单中所提供的信息来推断或估计(多个)(子)片段有效载荷的(多个)URL和/或(多个)字节范围。客户端还从流清单推断或解码媒体数据是紧密打包的。客户端请求(例如在HTTP GET请求的情况下)使用(多个)URL和/或(多个)字节范围的(多个)(子)片段有效负载。客户端省略请求(多个)(子)片段报头。由于媒体内容是紧密打包的并且呈解码顺序,因此(多个)(子)片段报头可能不是解码所必需的。
在一个实施例中,片段有效载荷被紧密打包的信息使得如下检测NAL单元结构化视频的接入单元边界成为可能:MediaDataBox由长度为前缀的NAL单元组成,因此可以从MediaDataBox的有效载荷可靠地标识NAL单元。由于NAL单元处于正确的解码顺序,因此如H.264和H.265中所指定的常规接入单元边界检测足以确定样本大小。因此,不需要从片段报头接收样本大小来解码和播放媒体数据。此外,用于回放的定时元数据可以被嵌入(子)片段有效载荷中。在一个实施例中,客户端通过解析接收到的(子)片段有效载荷来生成(子)片段报头,诸如(多个)MovieFragmentBox。例如,可以基于如本文中所呈现的接入单元边界检测来创作样本大小。客户端可以通过组合所生成的(子)片段报头和(子)片段有效载荷来重构(子)片段。
存在与其中(子)片段有效载荷被请求的实施例相关的几个优点。例如,流式数据的量还可以被减少。请求可以在(子)片段有效载荷与(子)片段报头之间划分优先级,其中(子)片段有效载荷具有更高的优先级,因为(子)片段报头对于回放不是必需的。与优先级排名和片段大小相关的实施例可以与其中请求(子)片段有效载荷以确定请求的顺序和/或优先级的实施例一起被使用。
如上文所描述,图3、图5和图7包括根据某些示例实施例的装置20、方法和计算机程序产品的流程图。应当理解,流程图的每个框以及流程图中的框的组合可以通过各种方式来实时,诸如硬件、固件、处理器、电路装置和/或与软件的执行相关联的其他设备,包括一个或多个计算机程序指令。例如,上文所描述过程中的一个或多个可以由计算机程序指令来实施。在这一点上,实施上文所描述的过程的计算机程序指令可以由采用本发明的实施例的装置的存储器24存储并且由装置的处理电路装置22执行。如将了解,任何这样的计算机程序指令可以被加载到计算机或其他可编程装置(例如硬件)上以产生机器,以使得所得计算机或其他可编程装置实施在流程图框中所指定的功能。这些计算机程序指令也可以被存储在计算机可读存储器中,这些计算机程序指令可以指导计算机或其他可编程装置以特定方式起作用,以使得计算机可读存储器中所存储的指令产生制品,其执行实施了流程图框中所指定的功能。计算机程序指令还可以被加载到计算机或其他可编程装置上,以使在计算机或其他可编程装置上执行一系列操作以产生计算机实施过程,以使得在计算机或其他可编程装置上执行的指令提供用于实施流程图框中所指定的功能的操作。
因此,计算机程序产品被定义为计算机程序指令(诸如计算机可读程序代码部分)由具有计算机程序指令的至少一个非瞬态计算机可读存储介质存储的那些实例中,例如计算机可读程序代码部分被配置为在执行时执行上文(诸如与图3、图5和图7的流程图结合)所描述的功能。在其他实施例中,计算机程序指令(诸如计算机可读程序代码部分)不需要由非瞬态计算机可读存储介质存储或以其他方式实施,而是可以由具有计算机程序指令的暂时性介质实施,诸如计算机可读程序代码部分仍被配置为在执行时执行上文所描述的功能。
因此,流程图的框支持用于执行指定功能的部件的组合和用于执行指定功能以供执行指定功能的操作的组合。还应理解,流程图的一个或多个框以及流程图中的框的组合可以由执行指定功能的基于专用硬件的计算机系统或专用硬件和计算机指令的组合来实施。
在一些实施例中,可以修改或进一步放大上文操作中的某些操作。可以以任何顺序和以任何组合来执行对上文操作的修改、添加或放大。
本发明所属领域的获益于前述描述和相关联的图式中所呈现的教导的技术人员会想到本文中所阐述的本发明的许多修改和其他实施例。因此,要理解,本发明不限于所公开的具体实施例并且修改和其他实施例旨在被包括在随附权利要求书的范围内。此外,尽管前述描述和相关联的图式在元件和/或功能的某些示例组合的上下文中描述了示例实施例,但是应当了解,在不脱离所附权利要求书的范围的情况下,元件和/或功能的不同组合可以由备选实施例提供。在这一点上,例如,还设想与上文所明确描述的元件和/或功能的组合不同的元件和/或功能的组合,如可以在一些所附权利要求书中被阐述。尽管本文中采用了特定术语,但是这些术语仅在通用且描述性意义上被使用,而不是出于限制性目的。

Claims (32)

1.一种方法,包括:
访问一个或多个媒体片段,其中所述一个或多个媒体片段包括被配置用于流式回放的媒体数据;
访问针对所述一个或多个媒体片段中的每个媒体片段的大小信息;以及
将针对所述一个或多个媒体片段中的每个媒体片段的所述大小信息编码在媒体文件中、在与所述一个或多个媒体片段相关联的一个或多个元数据轨道内或与所述一个或多个媒体片段相关联的一个或多个子片段内,其中所述一个或多个元数据轨道包括所述一个或多个媒体片段或所述一个或多个子片段中的每一个中的一个或多个分块的一个或多个字节大小。
2.根据权利要求1所述的方法,其中所述一个或多个元数据轨道表示与所述一个或多个元数据轨道相关联的一个或多个媒体轨道的一个或多个分块结构。
3.根据权利要求1至2中任一项所述的方法,其中所述一个或多个元数据轨道被配置为与所述一个或多个媒体片段中的每个媒体片段的呈现一起对媒体播放器可用,以便在与所述一个或多个媒体片段中的每个媒体片段相关联的下载或呈现之前提供关于所述一个或多个媒体片段的先验信息。
4.根据权利要求1至3中任一项所述的方法,其中所述一个或多个元数据轨道被链接到所述媒体文件或媒体呈现清单信息中的一个或多个视频适应集或表示。
5.一种装置,包括至少一个处理器和至少一个存储器,所述至少一个存储器包括用于一个或多个程序的计算机程序代码,所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使所述装置至少:
访问一个或多个媒体片段,其中所述一个或多个媒体片段包括被配置用于流式回放的媒体数据;
访问针对所述一个或多个媒体片段中的每个媒体片段的大小信息;以及
将针对所述一个或多个媒体片段中的每个媒体片段的所述大小信息编码在媒体文件中、在与所述一个或多个媒体片段相关联的一个或多个元数据轨道内或与所述一个或多个媒体片段相关联的一个或多个子片段内,其中所述一个或多个元数据轨道包括所述一个或多个媒体片段或所述一个或多个子片段中的每一个中的一个或多个分块的一个或多个字节大小。
6.根据权利要求5所述的装置,其中所述一个或多个元数据轨道表示与所述一个或多个元数据轨道相关联的一个或多个媒体轨道的一个或多个分块结构。
7.根据权利要求5至6中任一项所述的装置,其中所述一个或多个元数据轨道被配置为与所述一个或多个媒体片段中的每个媒体片段的呈现一起对媒体播放器可用,以便在与所述一个或多个媒体片段中的每个媒体片段相关联的下载或呈现之前提供关于所述一个或多个媒体片段的先验信息。
8.根据权利要求5至7中任一项所述的装置,其中所述一个或多个元数据轨道被链接到所述媒体文件或媒体呈现清单信息中的一个或多个视频适应集或表示。
9.一种计算机程序产品,包括至少一个非瞬态计算机可读存储介质,所述至少一个非瞬态计算机可读存储介质具有存储在其上的计算机可执行程序代码指令,所述计算机可执行程序代码指令包括被配置为在执行时执行以下操作的程序代码指令:
访问一个或多个媒体片段,其中所述一个或多个媒体片段包括被配置用于流式回放的媒体数据;
访问针对所述一个或多个媒体片段中的每个媒体片段的大小信息;以及
将针对所述一个或多个媒体片段中的每个媒体片段的所述大小信息编码在媒体文件中、在与所述一个或多个媒体片段相关联的一个或多个元数据轨道内或与所述一个或多个媒体片段相关联的一个或多个子片段内,其中所述一个或多个元数据轨道包括所述一个或多个媒体片段或所述一个或多个子片段中的每一个中的一个或多个分块的一个或多个字节大小。
10.根据权利要求9所述的计算机程序产品,其中所述一个或多个元数据轨道表示与所述一个或多个元数据轨道相关联的一个或多个媒体轨道的一个或多个分块结构。
11.根据权利要求9至10中任一项所述的计算机程序产品,其中所述一个或多个元数据轨道被配置为与所述一个或多个媒体片段中的每个媒体片段的呈现一起对媒体播放器可用,以便在与所述一个或多个媒体片段中的每个媒体片段相关联的下载或呈现之前提供关于所述一个或多个媒体片段的先验信息。
12.根据权利要求9至11中任一项所述的计算机程序产品,其中所述一个或多个元数据轨道被链接到所述媒体文件或媒体呈现清单信息中的一个或多个视频适应集或表示。
13.一种装置,包括:
用于访问一个或多个媒体片段的部件,其中所述一个或多个媒体片段包括被配置用于流式回放的媒体数据;
用于访问针对所述一个或多个媒体片段中的每个媒体片段的大小信息的部件;以及
用于将针对所述一个或多个媒体片段中的每个媒体片段的所述大小信息编码在媒体文件中在与所述一个或多个媒体片段相关联的一个或多个元数据轨道内或与所述一个或多个媒体片段相关联的一个或多个子片段内的部件,其中所述一个或多个元数据轨道包括所述一个或多个媒体片段或所述一个或多个子片段中的每一个中的一个或多个分块的一个或多个字节大小。
14.根据权利要求13所述的装置,其中所述一个或多个元数据轨道表示与所述一个或多个元数据轨道相关联的一个或多个媒体轨道的一个或多个分块结构。
15.根据权利要求13至14中任一项所述的装置,其中所述一个或多个元数据轨道被配置为与所述一个或多个媒体片段中的每个媒体片段的呈现一起对媒体播放器可用,以便在与所述一个或多个媒体片段中的每个媒体片段相关联的下载或呈现之前提供关于所述一个或多个媒体片段的先验信息。
16.根据权利要求13至15中任一项所述的装置,其中所述一个或多个元数据轨道被链接到所述媒体文件或媒体呈现清单信息中的一个或多个视频适应集或表示。
17.一种方法,包括:
访问一个或多个媒体片段,其中所述一个或多个媒体片段包括被配置用于流式回放的媒体数据;
访问针对所述一个或多个媒体片段的一个或多个分块的优先级排名信息;以及
将针对所述一个或多个媒体片段的一个或多个分块的所述优先级排名信息编码在媒体文件中,作为与所述一个或多个媒体片段相关联的索引片段的部分,其中所述索引片段的所述部分包括所述一个或多个媒体片段中的每个媒体片段中的所述一个或多个分块的一个或多个优先级排名。
18.根据权利要求17所述的方法,其中所述索引片段的所述部分包括所述一个或多个媒体片段的一个或多个子片段的优先级排名。
19.根据权利要求17至18中任一项所述的方法,其中所述索引片段被配置为与所述一个或多个媒体片段中的每个媒体片段的呈现一起对媒体播放器可用,以便在与所述一个或多个媒体片段中的每个媒体片段相关联的下载或呈现之前提供关于所述一个或多个媒体片段的先验信息。
20.一种方法,包括:
访问一个或多个媒体片段,其中所述一个或多个媒体片段包括被配置用于流式回放的媒体数据;
访问针对所述一个或多个媒体片段的一个或多个分块的优先级排名信息;以及
将针对所述一个或多个媒体片段的一个或多个分块的所述优先级排名信息编码在媒体文件中、在与所述一个或多个媒体片段相关联的一个或多个元数据轨道内或与所述一个或多个媒体片段相关联的一个或多个子片段内,其中所述一个或多个元数据轨道包括所述一个或多个媒体片段或所述一个或多个子片段中的每一个中的所述一个或多个分块的一个或多个优先级排名。
21.一种装置,包括至少一个处理器和至少一个存储器,所述至少一个存储器包括用于一个或多个程序的计算机程序代码,所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使所述装置至少:
访问一个或多个媒体片段,其中所述一个或多个媒体片段包括被配置用于流式回放的媒体数据;
访问针对所述一个或多个媒体片段的一个或多个分块的优先级排名信息;以及
将针对所述一个或多个媒体片段的一个或多个分块的所述优先级排名信息编码在媒体文件中,作为与所述一个或多个媒体片段相关联的索引片段的部分,其中所述索引片段的所述部分包括所述一个或多个媒体片段中的每个媒体片段中的所述一个或多个分块的一个或多个优先级排名。
22.根据权利要求21所述的装置,其中所述索引片段的所述部分包括所述一个或多个媒体片段的一个或多个子片段的优先级排名。
23.根据权利要求21至22中任一项所述的装置,其中所述索引片段被配置为与所述一个或多个媒体片段中的每个媒体片段的呈现一起对媒体播放器可用,以便在与所述一个或多个媒体片段中的每个媒体片段相关联的下载或呈现之前提供关于所述一个或多个媒体片段的先验信息。
24.一种装置,包括至少一个处理器和至少一个存储器,所述至少一个存储器包括用于一个或多个程序的计算机程序代码,所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使所述装置至少:
访问一个或多个媒体片段,其中所述一个或多个媒体片段包括被配置用于流式回放的媒体数据;
访问针对所述一个或多个媒体片段的一个或多个分块的优先级排名信息;以及
将针对所述一个或多个媒体片段的一个或多个分块的所述优先级排名信息编码在媒体文件中、在与所述一个或多个媒体片段相关联的一个或多个元数据轨道内或与所述一个或多个媒体片段相关联的一个或多个子片段内,其中所述一个或多个元数据轨道包括所述一个或多个媒体片段或所述一个或多个子片段中的每一个中的所述一个或多个分块的一个或多个优先级排名。
25.一种计算机程序产品,包括至少一个非瞬态计算机可读存储介质,所述至少一个非瞬态计算机可读存储介质具有存储在其上的计算机可执行程序代码指令,所述计算机可执行程序代码指令包括被配置为在执行时执行以下操作的程序代码指令:
访问一个或多个媒体片段,其中所述一个或多个媒体片段包括被配置用于流式回放的媒体数据;
访问针对所述一个或多个媒体片段的一个或多个分块的优先级排名信息;以及
将针对所述一个或多个媒体片段的一个或多个分块的所述优先级排名信息编码在媒体文件中,作为与所述一个或多个媒体片段相关联的索引片段的部分,其中所述索引片段的所述部分包括所述一个或多个媒体片段中的每个媒体片段中的所述一个或多个分块的一个或多个优先级排名。
26.根据权利要求25所述的计算机程序产品,其中所述索引片段的所述部分包括所述一个或多个媒体片段的一个或多个子片段的优先级排名。
27.根据权利要求25至26中任一项所述的计算机程序产品,其中所述索引片段被配置为与所述一个或多个媒体片段中的每个媒体片段的呈现一起对媒体播放器可用,以便在与所述一个或多个媒体片段中的每个媒体片段相关联的下载或呈现之前提供关于所述一个或多个媒体片段的先验信息。
28.一种计算机程序产品,包括至少一个非瞬态计算机可读存储介质,所述至少一个非瞬态计算机可读存储介质具有存储在其上的计算机可执行程序代码指令,所述计算机可执行程序代码指令包括被配置为在执行时执行以下操作的程序代码指令:
访问一个或多个媒体片段,其中所述一个或多个媒体片段包括被配置用于流式回放的媒体数据;
访问针对所述一个或多个媒体片段的一个或多个分块的优先级排名信息;以及
将针对所述一个或多个媒体片段的一个或多个分块的所述优先级排名信息编码在媒体文件中、在与所述一个或多个媒体片段相关联的一个或多个元数据轨道内或与所述一个或多个媒体片段相关联的一个或多个子片段内,其中所述一个或多个元数据轨道包括所述一个或多个媒体片段或所述一个或多个子片段中的每一个中的所述一个或多个分块的一个或多个优先级排名。
29.一种装置,包括:
用于访问一个或多个媒体片段的部件,其中所述一个或多个媒体片段包括被配置用于流式回放的媒体数据;
用于访问针对所述一个或多个媒体片段的一个或多个分块的优先级排名信息的部件;以及
用于将针对所述一个或多个媒体片段的一个或多个分块的所述优先级排名信息编码在媒体文件中作为与所述一个或多个媒体片段相关联的索引片段的部分的部件,其中所述索引片段的所述部分包括所述一个或多个媒体片段中的每个媒体片段中的所述一个或多个分块的一个或多个优先级排名。
30.根据权利要求29所述的装置,其中所述索引片段的所述部分包括所述一个或多个媒体片段的一个或多个子片段的优先级排名。
31.根据权利要求29至30中任一项所述的装置,其中所述索引片段被配置为与所述一个或多个媒体片段中的每个媒体片段的呈现一起对媒体播放器可用,以便在与所述一个或多个媒体片段中的每个媒体片段相关联的下载或呈现之前提供关于所述一个或多个媒体片段的先验信息。
32.一种装置,包括:
用于访问一个或多个媒体片段的部件,其中所述一个或多个媒体片段包括被配置用于流式回放的媒体数据;
用于访问针对所述一个或多个媒体片段的一个或多个分块的优先级排名信息的部件;以及
用于将针对所述一个或多个媒体片段的一个或多个分块的所述优先级排名信息编码在媒体文件中在与所述一个或多个媒体片段相关联的一个或多个元数据轨道内或与所述一个或多个媒体片段相关联的一个或多个子片段内的部件,其中所述一个或多个元数据轨道包括所述一个或多个媒体片段或所述一个或多个子片段中的每一个中的所述一个或多个分块的一个或多个优先级排名。
CN201980087796.XA 2019-01-04 2019-12-30 用于媒体片段大小和优先级排名的存储和信令的方法和装置 Active CN113330751B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962788365P 2019-01-04 2019-01-04
US62/788,365 2019-01-04
PCT/FI2019/050928 WO2020141259A2 (en) 2019-01-04 2019-12-30 Method and apparatus for storage and signaling of media segment sizes and priority ranks

Publications (2)

Publication Number Publication Date
CN113330751A true CN113330751A (zh) 2021-08-31
CN113330751B CN113330751B (zh) 2024-03-01

Family

ID=71407142

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980087796.XA Active CN113330751B (zh) 2019-01-04 2019-12-30 用于媒体片段大小和优先级排名的存储和信令的方法和装置

Country Status (4)

Country Link
US (1) US11805303B2 (zh)
EP (1) EP3906701A4 (zh)
CN (1) CN113330751B (zh)
WO (1) WO2020141259A2 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3915269A1 (en) * 2019-01-24 2021-12-01 PCMS Holdings, Inc. System and method for adaptive spatial content streaming with multiple levels of detail and degrees of freedom
US11831861B2 (en) * 2019-08-12 2023-11-28 Intel Corporation Methods for viewport-dependent adaptive streaming of point cloud content
US11704867B2 (en) * 2019-09-27 2023-07-18 Intel Corporation Methods for timed metadata priority rank signaling for point clouds
US11973817B2 (en) * 2020-06-23 2024-04-30 Tencent America LLC Bandwidth cap signaling using combo-index segment track in media streaming
US11381855B2 (en) 2020-11-18 2022-07-05 Roku, Inc. Content-modification system with multiple video buffers feature
CN114554243B (zh) * 2020-11-26 2023-06-20 腾讯科技(深圳)有限公司 点云媒体的数据处理方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106471815A (zh) * 2014-07-01 2017-03-01 佳能株式会社 用于跨时间段识别对象的方法和相应装置
WO2018169176A1 (ko) * 2017-03-17 2018-09-20 엘지전자 주식회사 퀄리티 기반 360도 비디오를 송수신하는 방법 및 그 장치
WO2018222996A1 (en) * 2017-06-02 2018-12-06 Vid Scale, Inc. 360-degree video delivery over next generation network

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6633685B1 (en) * 1998-08-05 2003-10-14 Canon Kabushiki Kaisha Method, apparatus, and storage media for image processing
CN104919809A (zh) 2013-01-18 2015-09-16 索尼公司 内容服务器和内容分配法
US9338209B1 (en) 2013-04-23 2016-05-10 Cisco Technology, Inc. Use of metadata for aiding adaptive streaming clients
US10582201B2 (en) * 2016-05-19 2020-03-03 Qualcomm Incorporated Most-interested region in an image
KR102545195B1 (ko) * 2016-09-12 2023-06-19 삼성전자주식회사 가상 현실 시스템에서 컨텐트 전송 및 재생 방법 및 장치
US11113051B2 (en) * 2017-04-28 2021-09-07 Tenstorrent Inc. Processing core with metadata actuated conditional graph execution
WO2019034803A1 (en) 2017-08-14 2019-02-21 Nokia Technologies Oy METHOD AND APPARATUS FOR PROCESSING VIDEO INFORMATION

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106471815A (zh) * 2014-07-01 2017-03-01 佳能株式会社 用于跨时间段识别对象的方法和相应装置
WO2018169176A1 (ko) * 2017-03-17 2018-09-20 엘지전자 주식회사 퀄리티 기반 360도 비디오를 송수신하는 방법 및 그 장치
WO2018222996A1 (en) * 2017-06-02 2018-12-06 Vid Scale, Inc. 360-degree video delivery over next generation network

Also Published As

Publication number Publication date
US11805303B2 (en) 2023-10-31
EP3906701A4 (en) 2022-09-07
US20220038791A1 (en) 2022-02-03
CN113330751B (zh) 2024-03-01
WO2020141259A3 (en) 2020-08-20
WO2020141259A2 (en) 2020-07-09
EP3906701A2 (en) 2021-11-10

Similar Documents

Publication Publication Date Title
JP6735415B2 (ja) オーディオビジュアルコンテンツの観察点および観察向きの制御された選択のための方法および装置
US11805304B2 (en) Method, device, and computer program for generating timed media data
CN113330751B (zh) 用于媒体片段大小和优先级排名的存储和信令的方法和装置
CN111417008B (zh) 用于虚拟现实的方法、装置和计算机可读介质
CN113574900B (zh) 用于对媒体内容中的实体进行分组的方法和装置
EP3777137B1 (en) Method and apparatus for signaling of viewing extents and viewing space for omnidirectional content
US11403804B2 (en) Method for real time texture adaptation
CN113574903B (zh) 针对媒体内容中的后期绑定的方法和装置
CN114930869A (zh) 用于视频编码和视频解码的方法、装置和计算机程序产品
EP3777219B1 (en) Method and apparatus for signaling and storage of multiple viewpoints for omnidirectional audiovisual content
US11553017B1 (en) Timed media HTTP request aggregation

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: 40056013

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant