CN113141379B - 在定时媒体数据流式传输期间改进渲染显示的方法、设备和计算机程序 - Google Patents

在定时媒体数据流式传输期间改进渲染显示的方法、设备和计算机程序 Download PDF

Info

Publication number
CN113141379B
CN113141379B CN202110609049.7A CN202110609049A CN113141379B CN 113141379 B CN113141379 B CN 113141379B CN 202110609049 A CN202110609049 A CN 202110609049A CN 113141379 B CN113141379 B CN 113141379B
Authority
CN
China
Prior art keywords
quality
media
representation
track
describing
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
CN202110609049.7A
Other languages
English (en)
Other versions
CN113141379A (zh
Inventor
F·德努阿尔
F·梅兹
J·他科特
N·奥德拉够
C·康克拉托
J·勒弗夫尔
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.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Publication of CN113141379A publication Critical patent/CN113141379A/zh
Application granted granted Critical
Publication of CN113141379B publication Critical patent/CN113141379B/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/70Media network packetisation
    • 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
    • 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/23439Processing 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 for generating different versions
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • 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
    • 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4621Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
    • 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/61Network physical structure; Signal processing
    • 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/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • 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/643Communication protocols
    • H04N21/64322IP
    • 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
    • H04N21/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Library & Information Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了在定时媒体数据流式传输期间改进渲染显示的方法、设备和计算机程序。本发明涉及在服务器装置和客户端装置之间改进在包括图像的定时媒体数据的流式传输期间的渲染显示。在获得与定时媒体数据的图像的部分之间的质量差异相关的质量信息之后,传输分别属于要至少部分地显示的图像的至少第一部分和第二部分的至少第一数据项和第二数据项,对应于第一数据项和第二数据项的图像部分之间的质量差异符合所获得的质量信息。

Description

在定时媒体数据流式传输期间改进渲染显示的方法、设备和 计算机程序
本申请是基于申请号为201780061368.0、申请日为2017年10月10日、发明名称为“在定时媒体数据流式传输期间改进渲染显示的方法、设备和计算机程序”的专利申请的分案申请。
技术领域
本发明总体地涉及通过通信网络(例如,符合因特网协议(IP)标准的通信网络)的定时媒体数据流式传输的领域,使得可以将视频数据作为对应于原始视频的给定空间区域的时空样本集传输。更具体地,本发明涉及用于在定时媒体数据的流式传输期间改进渲染显示的方法、设备和计算机程序。
背景技术
视频编码是一种将一系列视频图像转换为紧凑的数字化比特流使得可以传输或存储视频图像的方式。编码设备用于对视频图像进行编码,其中相关联的解码设备可用于重建用于显示视频图像的比特流。一般目的是形成比特流,使其尺寸小于原始视频信息。这有利地减少了通信网络或存储设备发送或存储比特流代码所需的容量。为了传输,一般地,根据通常添加报头、描述性元数据和校验位的传输协议来封装视频比特流或视频流。这种压缩比特流的概念不仅适用于视频,还适用于其他媒体类型,如音频和最终元数据。“媒体流”不针对任何特定媒体类型。
通过通信网络的流式传输媒体数据通常意味着,表示媒体呈现的数据由主计算机(称为服务器装置)通过通信网络提供给重放装置(称为客户端装置)。客户端装置通常是实现为各种传统计算设备中的任何一种的媒体重放计算机,例如,台式个人计算机(PC),平板PC,笔记本或便携式计算机,蜂窝电话,无线手持设备,个人数字助理(PDA),游戏机或头戴式显示器。客户端装置通常在从主机接收流式传输内容时渲染它(而不是等待传送整个文件)。
媒体呈现通常包括若干媒体组分,例如音频、视频、文本、元数据和/或字幕,其可以从服务器装置发送到客户端装置以便由客户端装置共同播放。这些媒体组分通常被单独编码成单独的媒体流,然后,它们被一起或单独地封装到多个媒体段中,并且从服务器装置发送到客户端装置以便由客户端装置共同播放。
通常的做法旨在提供对相同媒体组分的若干版本的访问,使得客户端装置可以根据其特性(例如,分辨率,计算能力和带宽)选择一个版本。根据现有的专有解决方案,描述了每个可替代版本,并且媒体数据被分段为小的时间段。
在HTTP上的动态和自适应流式传输的情景下,MPEG标准化委员会(“ISO/IEC23009-1,HTTP上的动态自适应流式传输(DASH),第1部分:媒体呈现描述和段格式”)出现了一种称为DASH(HTTP上的动态自适应流式传输)的标准。该标准使得能够将媒体呈现的媒体内容的紧凑描述与HTTP统一资源位置(URL)相关联。这种关联通常在称为清单文件或描述文件的文件中描述。在DASH的情景下,该清单文件是XML文件,也称为MPD文件(媒体呈现描述)。还有其他基于清单的流式传输解决方案,如Smooth Streaming,也使用XML文件,或者如HTTP Live Streaming,而不是使用纯文本文件作为清单,也称为播放列表。作为优选实施例,DASH用作流式传输协议,然而,在清单中添加的描述性信息将在这些其他解决方案中提供相同的效果。
清单文件收集一组描述符,这些描述符指定关于清单中描述的媒体样本的描述性信息。描述符可以是结构化元素,例如XML节点(元素和/或属性),或者可以用JSON(JavaScript Object Notation,JavaScript是商标)描述,或者甚至以纯文本格式描述,只要关键字或注释专用于传达这些描述符。
通过接收MPD文件,或更一般地,接收清单文件,客户端装置获得每个媒体内容组分的描述。因此,它知道媒体呈现中提出的媒体内容组分的种类,并且知道要用于下载相关联媒体段的HTTP URL。因此,客户端设备可以决定下载哪些媒体内容组分(通过HTTP请求)和播放哪些媒体内容组分(即,在接收媒体段之后解码和播放)。
除了这种关联之外,DASH标准还提出根据时间段分割每个媒体内容。时间分解在MPD文件中描述。因此,后者定义HTTP URL与每个时间段内来自媒体内容的每个组分的紧凑描述之间的关联。可以将每个媒体内容组分封装到与这些时间段相对应的多个独立媒体段中。媒体组分的数量可以在一个时段到另一个时段之间变化,并且/或者它们的属性也可以在一个时段到另一个时段之间变化。该分解为时间段在DASH中由<Period>元素表示。
该标准允许客户端在期望的时间段下载媒体呈现的期望媒体内容组分。
清单中公开的信息实际上是从封装步骤期间添加到压缩媒体数据的描述性元数据中提取的。存在不同的封装格式,有时也称为容器格式,例如ISO基础媒体文件格式(ISOBMFF)、WebM、Quicktime、MPEG-2传输流和公共媒体应用格式(Quicktime和MPEG是商标)。实际上,DASH与封装格式无关。
为了说明起见,下面考虑使用在MPEG标准化活动的情景中定义的ISO基础媒体文件格式的封装。
特别地,封装文件格式可以涉及高效视频编码(HEVC)的封装的标准化及其在ISO基础媒体文件格式(ISO/IEC 14496第15部分)中的可缩放的扩展。ISO/IEC 14496-15包含描述将HEVC区块封装为一个或多个区块区域的部分,例如对应于感兴趣的区域,或者简单地包括视频帧的分区并提供对视频流的空间访问。
要注意的是,依赖于区块合成的感兴趣区域的提取/流式传输和显示对于在流式传输期间实现交互式高质量放大功能特别有用,例如通过允许用户点击视频序列中的特定区域来访问特定选定区域的更高分辨率视频。
需要记住的是,视频分辨率不断增加,从标准清晰度(SD)到高清晰度(HD),再到超高清晰度(例如,4K2K或8K4K)。可以使用单层(例如HEVC)或多层(例如,可缩放HEVC)编码标准来编码视频序列。在多层编码格式的情况下,给定层可以用作一个或多个其他层的参考数据。可以使用多个从属媒体内容组分有效地表示分层视频组织,每个媒体内容组分表示处于不同的可缩放性级别的视频层。为了解码给定的媒体内容组分,客户端设备必须能够访问媒体内容组分本身,但也访问它所依赖的所有媒体内容组分。
还需要记住的是,具有视频流式传输功能的移动和连接设备的数量激增。因此,如果移动设备的用户想要通过保持或甚至改善质量来显示或想要关注视频序列的子部分,则将视频序列分割或划分成区块或空间部分变得重要。通过使用区块,用户因此可以交互地请求视频序列的空间子部分。在可缩放视频编码格式(例如,可缩放HEVC或多视图HEVC)的情况下,可以将每个视频层组织成多个独立的空间子部分,除了在增强层的区块和基层的一个或多个区块之间可能存在编码依赖性。区块也可以被组织为一组相关的媒体组分,所有这些都取决于包含所有区块的公共信息的另一个媒体组分。通常,当考虑ISO基础媒体文件格式时,这分别对应于区块轨道和区块基础轨道。
虽然在DASH的第一个应用中,客户端装置一次用于每个媒体类型下载一个表示,但是更多演进的场景开始看起来像下面所针对的那个,根据该场景,给定媒体类型的若干表示被同时流式传输。存在用于下一代音频的这种使用情况,其中可以同时流式传输和渲染多个音频流以提供更好的用户体验。已经在DASH清单中定义了特定描述符来描述这种使用情况。对于视频也是如此,其中用户可以选择要同时流式传输的多个视频部分以被渲染成合成或组合或聚合的视频。这通常是组织成空间子部分并以不同质量水平压缩的视频流的情况,如图1a所示。这些空间子部分可以用DASH的空间关系描述特征来描述,如图2所示的示例。用户可以在更大的视频中选择感兴趣区域(ROI)并且决定关注该感兴趣区域。
Jens Devloo等人的题为“Design and evaluation of tile selectionalgorithms for tiled HTTP adaptive streaming(用于区块HTTP自适应流式传输的区块选择算法的设计和评估)”的论文(Jens Devloo et al.,2013,Lecture Notes inComputer Sciences,Vol.7943,pages 25-36)根据大视频的使用场景,例如全景视频,公开了预先配置的客户端适应逻辑。在其中一个考虑的场景中,允许平移和缩放,作者提出了一种多流方法,其中低质量版本始终被流式传输给客户端,并且只有某些部分(取决于可用带宽)以高质量被流式传输给客户端。然后,根据可见性标准,即空间子部分是否覆盖用户的感兴趣区域,客户端通过区块请求者首先下载可见空间子部分。然后,根据剩余带宽,客户端还为接近感兴趣区域的其他空间子部分下载高质量。
然而,虽然这种解决方案在带宽使用方面是有效的,但是发明人已经观察到用户体验可能是有问题的。
因此,可能期望改进现有解决方案以便在定时媒体数据的流传输期间提高渲染质量。
发明内容
设计本发明以解决一个或多个前述问题。
在该情景下,提供了一种用于在服务器装置和客户端装置之间的包括图像的定时媒体数据的流式传输期间改进渲染显示的解决方案。
根据本发明的第一目的,提供了一种用于在服务器装置和客户端装置之间的包括图像的定时媒体数据的流式传输期间改进渲染显示的方法,该方法在服务器装置中实现并且包括以下步骤:
获得与定时媒体数据的图像的各部分之间的质量差异有关的质量信息;以及
发送分别属于要至少部分显示的图像的至少第一部分和第二部分的至少第一数据项和第二数据项,对应于第一数据项和第二数据项的图像部分之间的质量差异符合获得的质量信息。
本发明的方法使得可以通过避免或减少图像的各部分之间(例如,感兴趣的区域与其周围部分之间)的可感知的质量跳跃来改进在定时媒体数据的流式传输期间的渲染显示。
根据特定实施例,图像的一部分是整个图像。
在实施例中,质量信息表示定时媒体数据的图像的两个部分之间的质量差异阈值。
在实施例中,定时媒体数据是分区定时媒体数据,第一数据项和第二数据项属于同一图像的两个相邻部分。图像的一部分可以是图像的分区。
在实施例中,根据至少第一层和第二层对定时媒体数据的图像进行编码,第一数据项和第二数据项属于不同层,并且,质量信息与定时媒体数据的图像的不同层的部分之间的质量差异有关。
在实施例中,第一数据项和第二数据项属于不同的图像,并且质量信息与定时媒体数据的不同图像的部分之间的质量差异有关。
在实施例中,该方法还包括传输清单的步骤,该清单包括描述可用于流式传输的定时媒体数据的数据的信息和质量信息。
在实施例中,质量信息至少部分地在清单中被编码为一组可用于流式传输的定时媒体数据的可能数据组合,每个数据组合符合质量差异。
在实施例中,质量信息至少部分地在清单中被编码为质量规则,使得客户端装置可以确定可用于流式传输的定时媒体数据的数据是否符合质量差异。
在实施例中,清单还包括与可用于流式传输的定时媒体数据的数据相关联的至少一个质量描述符,所述至少一个质量描述符发信号通知具有相同质量的数据,所述至少一个质量描述符用于应用质量规则。
在实施例中,清单还包括质量等级属性,用于对可用于相同定时媒体数据的不同质量等级进行分类,质量等级属性用于应用质量规则。
在实施例中,所传输的第一数据项或第二数据项是在响应于来自客户端的主要请求而从服务器装置发送到客户端装置的主要数据之后的推送数据。
根据本发明的第二目的,提供了一种用于在服务器装置和客户端装置之间的包括图像的分区定时媒体数据的流式传输期间改进渲染显示的方法,该方法在客户端装置中实现并且包括以下步骤:
获得与分区定时媒体数据的图像的各部分之间的质量差异有关的质量信息;以及
请求分别属于要至少部分显示的图像的至少第一部分和第二部分的至少第一数据项和第二数据项,对应于第一数据项和第二数据项的图像部分之间的质量差异符合获得的质量信息。
本发明的方法使得可以通过避免或减少图像的各部分之间(例如,感兴趣的区域与其周围部分之间)的可感知的质量跳跃来改进在定时媒体数据的流式传输期间的渲染显示。
根据特定实施例,图像的一部分是整个图像。
在实施例中,质量信息表示定时媒体数据的图像的两个部分之间的质量差异阈值。
在实施例中,定时媒体数据是分区定时媒体数据,第一数据项和第二数据项属于同一图像的两个相邻部分。图像的一部分可以是图像的分区。
在实施例中,根据至少第一层和第二层对定时媒体数据的图像进行编码,第一数据项和第二数据项属于不同层,并且,质量信息与定时媒体数据的图像的不同层的部分之间的质量差异有关。
在实施例中,第一数据项和第二数据项属于不同的图像,并且质量信息与定时媒体数据的不同图像的部分之间的质量差异有关。
在实施例中,该方法还包括接收清单的步骤,该清单包括描述可用于流式传输的定时媒体数据的数据的信息和质量信息。
在实施例中,质量信息至少部分地在清单中被编码为一组可用于流式传输的定时媒体数据的可能数据组合,每个数据组合符合质量差异,该方法还包括选择一个可能数据组合的步骤和请求所选择的组合的数据的步骤。
在实施例中,质量信息至少部分地在清单中被编码为质量规则,使得客户端装置可以确定可用于流式传输的定时媒体数据的数据是否符合质量差异,该方法还包括应用质量规则来选择数据的步骤和请求所选择的数据的步骤。
在实施例中,质量信息是独立于服务器装置获得的。
在实施例中,清单还包括与可用于流式传输的定时媒体数据的数据相关联的至少一个质量描述符,所述至少一个质量描述符发信号通知具有相同质量的数据,所述至少一个质量描述符用于应用质量规则。
在实施例中,清单还包括质量等级属性,用于对可用于相同定时媒体数据的不同质量等级进行分类,质量等级属性用于应用质量规则。
根据本发明的第三目的,提供了一种用于在服务器装置和客户端装置之间的包括图像的定时媒体数据的流式传输期间改进渲染显示的设备,该设备位于服务器装置内并包括配置为执行以下步骤的微处理器:
获得与定时媒体数据的图像的各部分之间的质量差异有关的质量信息;以及
发送分别属于要至少部分显示的图像的至少第一部分和第二部分的至少第一数据项和第二数据项,对应于第一数据项和第二数据项的图像部分之间的质量差异符合获得的质量信息。
本发明的设备使得可以通过避免或减少图像的各部分之间(例如,感兴趣的区域与其周围部分之间)的可感知的质量跳跃来改进定时媒体数据的流式传输期间的渲染显示。
根据特定实施例,图像的一部分是整个图像。
在实施例中,质量信息表示定时媒体数据的图像的两个部分之间的质量差异阈值。
在实施例中,定时媒体数据是分区定时媒体数据,第一数据项和第二数据项属于同一图像的两个相邻部分。图像的一部分可以是图像的分区。
在实施例中,根据至少第一层和第二层对定时媒体数据的图像进行编码,第一数据项和第二数据项属于不同层,并且,质量信息与定时媒体数据的图像的不同层的部分之间的质量差异有关。
在实施例中,其中第一数据项和第二数据项属于不同的图像,并且质量信息与定时媒体数据的不同图像的部分之间的质量差异有关。
在实施例中,微处理器还被配置为执行传输清单的步骤,该清单包括描述可用于流式传输的定时媒体数据的数据的信息和质量信息。
在实施例中,质量信息至少部分地在清单中被编码为一组可用于流式传输的定时媒体数据的可能数据组合,每个数据组合符合质量差异。
在实施例中,质量信息至少部分地在清单中被编码为质量规则,使得客户端装置可以确定可用于流式传输的定时媒体数据的数据是否符合质量差异。
在实施例中,清单还包括与可用于流式传输的定时媒体数据的数据相关联的至少一个质量描述符,所述至少一个质量描述符发信号通知具有相同质量的数据,所述至少一个质量描述符用于应用质量规则。
在实施例中,清单还包括质量等级属性,用于对可用于相同定时媒体数据的不同质量等级进行分类,质量等级属性用于应用质量规则。
在实施例中,所传输的第一数据项或第二数据项是在响应于来自客户端的主要请求而从服务器装置发送到客户端装置的主要数据之后的推送数据。
根据本发明的第四目的,提供了一种用于在服务器装置和客户端装置之间的包括图像的分区定时媒体数据的流式传输期间改进渲染显示的设备,该设备位于客户端装置内并包括配置为执行以下步骤的微处理器:
获得与分区定时媒体数据的图像的各部分之间的质量差异有关的质量信息;以及
请求分别属于要至少部分显示的图像的至少第一部分和第二部分的至少第一数据项和第二数据项,对应于第一数据项和第二数据项的图像部分之间的质量差异符合获得的质量信息。
本发明的设备使得可以通过避免或减少图像的各部分之间(例如,感兴趣的区域与其周围部分之间)的可感知的质量跳跃来改进定时媒体数据的流式传输期间的渲染显示。
根据特定实施例,图像的一部分是整个图像。
在实施例中,质量信息表示定时媒体数据的图像的两个部分之间的质量差异阈值。
在实施例中,定时媒体数据是分区定时媒体数据,第一数据项和第二数据项属于同一图像的两个相邻部分。图像的一部分可以是图像的分区。
在实施例中,根据至少第一层和第二层对定时媒体数据的图像进行编码,第一数据项和第二数据项属于不同层,并且,质量信息与定时媒体数据的图像的不同层的部分之间的质量差异有关。
在实施例中,第一数据项和第二数据项属于不同的图像,并且质量信息与定时媒体数据的不同图像的部分之间的质量差异有关。
在实施例中,微处理器还被配置为执行接收清单的步骤,该清单包括描述可用于流式传输的定时媒体数据的数据的信息和质量信息。
在实施例中,质量信息至少部分地在清单中被编码为一组可用于流式传输的定时媒体数据的可能数据组合,每个数据组合符合质量差异,该微处理器还被配置为执行选择一个可能数据组合的步骤和请求所选择的组合的数据的步骤。
在实施例中,质量信息至少部分地在清单中被编码为质量规则,使得客户端装置可以确定可用于流式传输的定时媒体数据的数据是否符合质量差异,该微处理器还被配置为执行应用质量规则来选择数据的步骤和请求所选择的数据的步骤。
在实施例中,质量信息是独立于服务器装置获得的。
在实施例中,清单还包括与可用于流式传输的定时媒体数据的数据相关联的至少一个质量描述符,所述至少一个质量描述符发信号通知具有相同质量的数据,所述至少一个质量描述符用于应用质量规则。
在实施例中,清单还包括质量等级属性,用于对可用于相同定时媒体数据的不同质量等级进行分类,质量等级属性用于应用质量规则。
还提供了一种描述性数据的处理方法,该描述性数据描述关于媒体内容组分的信息,该方法包括以下步骤:
生成描述性数据,以及
将生成的描述性数据传输给客户端,
其中,描述性数据包括:
至少两个自适应集;
用于识别属于每个自适应集的多个媒体内容组分中的每一个的质量排序的排序信息;
用于指示所述至少两个自适应集的至少两个排序信息之间的关系的排序关系信息,以及
客户端请求媒体内容组分所参考的地址信息。
还提供了一种用于处理描述性数据的处理装置,该描述性数据描述了关于媒体内容组分的信息,该处理装置被配置为执行以下步骤:
生成描述性数据,以及
将生成的描述性数据传输给客户端,
其中,描述性数据包括:
至少两个自适应集;
用于识别属于每个自适应集的多个媒体内容组分中的每一个的质量排序的排序信息;
用于指示所述至少两个自适应集的至少两个排序信息之间的关系的排序关系信息,以及
客户端请求媒体内容组分所参考的地址信息。
还提供了一种用于处理描述性数据的方法,该描述性数据提供关于一个或多个媒体内容组分的一个或多个可替代版本的信息,该方法包括以下步骤:
生成描述性数据,以及
将生成的描述性数据传输给客户端,
其中,描述性数据包括:
至少两个自适应集,每个自适应集包括一个或多个媒体内容组分的一个或多个可替代版本;
第一信息,用于针对每个自适应集标识所述一个或多个媒体内容组分的每个可替代版本的质量排序;
第二信息,指示与所述至少两个自适应集相关联的第一信息之间的关系,以及
第三信息,指示一个或多个地址,每个地址供客户端参考用于请求媒体内容组分的一个或多个可替代版本之一。
还提供了一种用于处理描述性数据的设备,该描述性数据提供关于一个或多个媒体内容组分的一个或多个可替代版本的信息,该设备被配置为执行以下步骤:
生成描述性数据,以及
将生成的描述性数据传输给客户端,
其中,描述性数据包括:
至少两个自适应集,每个自适应集包括一个或多个媒体内容组分的一个或多个可替代版本;
第一信息,用于针对每个自适应集标识所述一个或多个媒体内容组分的每个可替代版本的质量排序;
第二信息,指示与所述至少两个自适应集相关联的第一信息之间的关系,以及
第三信息,指示一个或多个地址,每个地址供客户端参考用于请求媒体内容组分的一个或多个可替代版本之一。
附图说明
通过研究附图和详细描述,本发明的其他优点对于本领域技术人员而言将变得清楚。旨在将任何其他优点并入本文中。
现在将仅通过示例并参考以下附图来描述本发明的实施例,在附图中:
包括图1a和图1b的图1示出了分区视频帧的示例,其中视频序列分别被编码为三个质量级别和视频合成的示例;
图2示出了描述视频比特流中的空间部分或区块的流式传输清单的示例;
图3示出了DASH服务器装置和客户端装置,使得可以实现本发明的实施例;
图4示出了根据MPEG DASH规范的DASH中媒体呈现的典型描述;
包括图5a和图5b的图5分别示出了从服务器装置角度和客户端装置角度来看,用于在媒体数据的流式传输期间改善渲染质量的质量规则的使用;
包括图6a至图6d的图6示出了当使用质量规则描述符时,以及当使用质量等同描述符时,根据“内容创建者”实施例的清单的示例;
图7是用于实现本发明的一个或多个实施例的计算设备的示意性框图,以及
图8是提供根据本发明实施例的媒体组分的组合的表。
具体实施方式
为了说明起见,在下文中考虑“媒体组分”(或“媒体内容组分”)是特定媒体类型的媒体流的数据项(例如,音频,视频,文本或元数据)。根据MPEG DASH,媒体组分被定义为“具有指定媒体组分类型的媒体内容的一个连续组分”。在下文中,媒体组分以比DASH中的ContentComponent元素更通用的方式使用。
仍为了说明的目的,在下文中考虑“区块”是一个或多个图像的空间部分(或分区或子部分)。无论编码格式如何,图像都可以是视频比特流的帧(如图1a所示)或仅是一个压缩的静止图像。区块由位置(x,y)和尺寸(宽度(w),高度(h))定义。默认情况下,区块是静态的,也就是说,对于视频序列的每个帧,区块的位置和大小保持不变。然而,可以使用动态区块,其中它们的位置和/或大小沿着序列,基于帧或基于时间片段而改变。根据MPEG DASH,区块是图片中的特定区块列(x位置)和特定区块行(y位置)内的编码树块(编码实体)的矩形区域。
“区块区域”通常是图片中的矩形区域,也由(x,y,w,h)定义。对于区块,区块区域可以沿着视频序列固定或不固定。根据ISO BMFF,区块区域表示在相同编码图片内且不包含其他HEVC区块的一个或多个完整切片片段中的一个或多个完整HEVC区块。
仍然为了说明起见,在下文中考虑“感兴趣区域”(或“ROI”)类似于一个或多个区块区域。根据ISO BMFF,对应于感兴趣区域的数据可以被封装在包含用于ROI和非ROI的两种数据的一个轨道中,封装在对应于区块区域的一个轨道中或者作为多个轨道,每个轨道包含ROI覆盖的每个区块区域的数据。
组合、合成或包是旨在共同渲染的一组媒体内容组分。
仍为了说明的目的,在下文中考虑“合成的视频或图像”是视频包或组合或视频内容组分的组合。它是由至少两个视频帧部分或图像部分的拼接、合成或组合产生的视频或图像。视频帧部分或图像部分可以对应于区块、区块区域或ROI......以及图像部分。这使得可以在由用户装置显示的单个帧或图像中渲染至少两个视频帧部分或图像部分的拼接、合成或组合。
最后,“质量规则”在下文中被视为提供基于质量的选择的约束或参数的提示。如下所述,质量规则的示例是max_quality_degradation。
根据特定实施例,用于描述可以流式传输的数据的格式(例如MPEG DASH)的描述能力被扩展,使得内容作者可以在通过流式传输客户端选择几个区块时指定用于每个区块的质量适应性的一些指导。为了说明起见,可以在流式传输清单中指示两个相邻视频帧部分或图像部分之间的质量降级不能大于预定阈值。客户端装置可以使用这样的信息项来选择要流式传输的区块(即,符合这种质量规则的区块的组合)。这导致ROI和周围区块的可接受质量。这些描述能力包括质量降级模式以及跨越存储区块的自适应集的等同表示的指示。
虽然存在本发明的许多实施例,但是以下描述了三个特定实施例。
根据第一实施例,流式传输清单包括使客户端装置可以确定符合质量规则的区块组合的信息。这可以通过在清单中发信号通知质量规则并在清单中关联等同媒体组分来完成,使得客户端装置可以确定和选择符合质量规则的区块组合。
根据以下称为“内容创建者”的第二实施例,符合质量规则的区块组合是先验地确定的,也就是说,在传输流式传输清单之前确定的。这可以由内容作者在内容打包阶段离线完成。可以在流式传输清单中描述符合质量规则的组合,使得客户端装置可以选择它们中的一个。
这也可以通过在流式传输客户端装置端使用修改的适应性逻辑来一次处理相同媒体类型的多个组分来完成,例如,在观看模式中根据用户选择来激活。
根据以下称为“服务器控制”的第三实施例,服务器装置知道未传输到客户端装置的质量规则。因此,服务器装置在客户端请求感兴趣的媒体组分时主动建议(重定向)或发送(推送)周围媒体组分的版本。
包括图1a和图1b的图1示出了分区视频帧的示例,其中视频序列分别被编码为三个质量级别和视频合成的示例。
图1a示出了分区视频帧的示例(为了清楚起见仅示出了一个帧,但是视频序列的所有帧可以具有相同的到区块的分区),其中视频序列被编码为三个质量级别:分别表示为100、110和120的高(“HQ”)、中(“MQ”)和低(“LQ”)。
每个质量级别可以被编码为独立的视频比特流。可替代地,每个质量级别可以是另一层的可缩放性层。为了说明起见,高质量帧100可以是与中间质量帧110相对应的增强层的质量增强层,中间质量帧110是对应于低质量帧120的基础层的增强层。
具有最低质量的层被称为基础层(对应于图1的示例中的低质量帧120)。每个质量级别或层可以被编码为一组独立的区块,如区块101和102。
在特定实施例中,区块是HEVC区块,其与其他区块没有依赖性。这使得可以将一组选择的区块(例如,所选择的组105)组合成单个HEVC解码器可以解码和显示的单个视频比特流。
也可以使用独立区块和/或非HEVC编码的区块。例如,每个区块可以在其自己的视频比特流中编码,可能采用与HEVC不同的另一种编码格式(例如AVC或VP9)。
为了将数据编码成可缩放层,可以使用SHVC、SVC或任何可缩放或分层的编码格式。然后,客户端装置需要进行一些流重组以馈送单个解码器或使用多个解码器来播放由所选择的一组区块产生的合成视频。
无论使用何种编码格式,该编码格式在封装的媒体流中描述并在流式传输清单中公开,以便客户端装置可以确定它是否可以播放媒体文件并在多种编码格式可用时选择它喜欢的媒体文件。
图1b示出了视频合成的一些示例,其可受益于本发明以在合成视频上产生平滑质量。例如,合成视频150由2个不同视频比特流的空间部分的并置产生。这些比特流可以是同一场景的不同版本,或者甚至可以是来自不同场景的视频比特流。
合成视频160包括以不同质量组合相同视频的部分。表示视频161和162的视频比特流可以是独立的视频比特流或可缩放比特流的层。它们甚至可以以不同的格式编码(因此在客户端侧需要多个视频解码器),编码格式在ISO BMFF中传送并在@codecs DASH属性中公开。
需要注意的是,图1b中描述的不同分区并不意味着视频是分布式的(tiled)。一个空间部分(1、2、3或4)的提取可以由裁剪操作产生,并且裁剪的部分直接或通过分层粘贴到合成视频中(所得到的合成视频可以具有多个层,即较低层中的一些部分被较高层隐藏)。
对于这样的分层合成视频并且考虑到示例160,来自视频162的空间部分1被放置在较高层,而来自(或甚至整个)视频161的其他空间部分被放置在较低层。
图2示出了描述视频比特流中的空间部分或区块的流式传输清单的示例。在MPEGDASH的特定情况下,一个空间关系描述符(SRD)可以与每个区块、区块区域或空间部分的描述相关联。
为了说明起见,视频200被划分为4个区块。对应的DASH MPD清单210的示例示出了具有SRD的每个空间部分(区块1、2、3和4)的描述。仍为了说明起见,仅示出了区块1和2的MPD描述。
具有标识符id=“1”的第一自适应集对应于区块1的描述。它包含一个分辨率为1920×1080像素(整个视频帧的四分之一)的表示。SRD描述符(使用SupplementalProperty描述符)指定此视频是视频的空间部分(未在清单中描述),其中source_id(“value”属性的第一参数)等于1,表示为220的其左上角的位置在与等于1的source_id相关联的参考帧的(0,0)处。该空间部分的大小表示每个方向上的参考帧的一半(在表示为222的参考帧的任意2个单位上,被表示为221的宽度和高度覆盖1)。可以从SRD描述符推断出整个参考空间确实表示4k2k视频(3840×2160个像素)。
如在具有标识符id=“2”的第二自适应集的SRD描述符中所阐述的,该自适应集包含另一空间部分(区块2)的描述。此SRD描述符使用SupplementalProperty描述符来指定区块属于与第一自适应集相同的参考帧(相同的source_id=1),并且它位于x轴的中间范围(值1/2)并且位于y轴的基部(值0),如参考标号230所示,具有与第一区块相同的尺寸,如参考标号231和232所示。
使用类似的基于SRD的方法,图1中所示的视频帧可以被表示为9个自适应集,每个区块一个,每个包含描述每个质量级别的视频比特流的三个可替代表示元素。
从图1和图2中可以看出,流式传输客户端装置根据空间关系被告知视频流的不同版本。然而,没有提供关于其各自质量以及在带宽变化时如何适应的信息。例如,当用户装置选择图1上的区块区域105时,不能确定网络带宽是否允许对应于ROI 105的媒体段加上围绕该ROI 105的媒体段以相同的高质量级别进行流式传输。
虽然实际上可能有不同的组合和不同的自适应策略,但客户端必须考虑到网络带宽和渲染质量来快速决定应该使用哪些组合(以避免缓冲区饥饿和显示冻结)。这可以根据不同的策略来完成:当准备内容数据时,通过使用具有专用适配逻辑的高级客户端装置,通过使用标准客户端装置处理流式传输清单中的适当信令,或者通过帮助客户端选择或流式传输适当组合的质量感知服务器装置。
图3示出了DASH服务器装置和客户端装置,使得可以实现本发明的实施例。
如图所示,媒体服务器装置300包括媒体呈现,其中特别是包含例如音频和视频数据流的不同媒体内容组分的媒体呈现305。音频和视频流可以独立交错或存储。媒体呈现可以提出相同媒体内容组分的可替代版本(具有不同的比特率、质量、分辨率、采样率、例如360°视频的全向媒体中的不同视点等)。
例如,该媒体呈现的媒体内容组分根据ISO基础媒体文件格式封装,并根据DASH推荐进行描述和流式传输。作为封装步骤的结果,每个可替代版本(或DASH情景下的表示,例如表示1和表示2)在时间上被分成小的独立、连续的时间媒体段(例如,时间媒体段310-1至310-3和311-1至311-3),例如,符合DASH和ISO基础媒体文件格式标准(分别为ISO/IEC23009-1和ISO/IEC 14496第12和15部分)的媒体段,其可以独立地寻址和下载。取决于内容是否被多路复用,每个媒体段可以包含一个或多个媒体内容组分。服务器装置300为所有媒体段设置地址(即,所示示例中的HTTP URL地址),并且创建描述媒体呈现的清单315(例如,如参考图5a所述)。
需要记住的是,清单(例如MPD)是一种文档,通常是XML文件(甚至是用于HTTP直播流式传输的纯文本文件),它描述了对于给定的媒体呈现可访问的所有媒体内容组分。这样的描述可以包括媒体内容组分的类型(例如,音频,视频,音频-视频,元数据或文本),媒体段的持续时间,以及与媒体段相关联的地址(例如,URL),即,可以从中获得媒体内容组分的地址。媒体内容组分可被描述为相同内容的可替代版本或相同内容的部分(例如,空间部分,感兴趣区域或具有SRD的视频的区块或虚拟现实中的视口或全向媒体内容)或“媒体体验”的一部分,其描述了要一起呈现或显示的内容组分。
通常,MPD基于如图4所示的分层数据模型。
图4示出了根据MPEG DASH规范的DASH中媒体呈现的典型描述。
如图所示,它主要包括一个或多个周期,表示为400,每个周期由周期(Period)元素描述,每个周期元素具有开始时间和持续时间。反过来,每个周期元素主要包含一个或几个自适应集元素,表示为401。
自适应集元素提供关于一个或多个媒体内容组分及其各种编码的可替代方案的信息,如参考标号402所示。相同媒体内容组分的每个编码的可替代方案被称为通常包含一个或多个媒体的表示和/或初始化段,表示为403。
转回到图3并且为了说明起见,结合服务器装置300仅示出了来自媒体呈现305的自适应集的一个示例。根据所示示例,该自适应集包含给定媒体类型的相同内容的两个可替代版本,表示为310和311,观察到媒体段还可以包含不同媒体类型的复用数据。每个版本被分成连续的时间媒体段,例如,分成三个连续的时间媒体段310-1到310-3和311-1到311-3,其对应于三个连续的时间间隔。
可以通常通过HTTP将这样的清单文件发送到客户端装置320(步骤325)。
在已经接收之后,客户端装置的解析器307分析清单文件315以确定哪些呈现是可用的以及媒体呈现305的哪些媒体段310-1至310-3和311-1至311-3是可访问的。
清单文件315还用于确定这些媒体段的http地址以及这些媒体段之间的关系。这里应注意,描述文件315和通常表示为310和311的媒体段可以存储在不同的服务器上。此外,清单文件315通过使用描述符(例如,<Role>元素或<Label>元素)或通过诸如<EssentialProperty>或<SupplementalProperty>元素的通用描述符来给出关于媒体呈现的内容的信息项。这些信息项可以包括分辨率、比特率和类似信息。
鉴于所接收的描述,客户端装置320的自适应逻辑模块308因此可以从适当的版本中选择媒体段以发送用于下载这些媒体段的相应的http请求(步骤330)。
作为响应,服务器装置300发送所请求的时间媒体段(步骤335)。在http响应335中接收的这些时间媒体段可以由解析器模块340(例如mp4或ISOBMFF读取器)解析(或解封装),并且每个媒体流被发送到适当的媒体解码器341和342。对于每种媒体类型存在至少一个解码器(例如,用于音频的解码器341和用于视频的解码器342),并且,可选地,存在用于媒体类型的若干附加解码器,例如用于视频的解码器343。例如,可以存在用于其他媒体类型(例如音频)的附加解码器。
最后,解码的媒体流在显示模块345中呈现。有时,显示模块345包括变换处理,例如将全景图像投影到新的参考帧(显示参考帧)或者剪切模块,以适合于将大图像放入小显示窗口;或者后处理能力,以例如将过滤器应用于解码的图像。
应注意,服务器装置300可以包括单独的服务器装置或设备,每个服务器装置或设备执行以下步骤中的一个或多个:
-生成媒体内容,
-以文件格式封装媒体流,
-生成流式传输清单或播放列表文件,
-媒体演示的传输,和
-通常作为内容片段的媒体内容的传输。
因此,客户端装置可以向第一服务器装置(例如,应用服务器装置)发出对清单的请求,并向一个或多个其他服务器装置(例如,媒体服务器装置或流式传输服务器装置)发出对媒体内容的请求。发送媒体样本的服务器装置也可以是不同的,例如,如果媒体数据是通过CDN(内容传送网络)传送的。
根据特定实施例,服务器装置300是支持来自DASH第6部分的推送指令(Directive)的HTTP/2服务器装置。在这种情况下,如参考标号336所示,可以将一些数据推送给客户端装置320,只要客户端装置也支持HTTP/2并且有利地支持DASH第6部分(注意到,除了被称为“服务器控制”的特定实施例之外,为了实现本发明,不需要支持DASH-Part-6)。
包括图5a和图5b的图5分别示出了从服务器装置角度和客户端装置角度来看,用于在媒体数据的流式传输期间改善渲染质量的质量规则的使用。
图5a示出了根据“内容生成”实施例的针对由内容数据作者准备媒体流以进行传送的不同可替代方案。
如图所示,这些实施例的第一步涉及记录也称为媒体呈现的多媒体内容,例如音频记录(步骤501)和视频记录(步骤502)。
然后可以在视频分析模块503中可选地处理所记录的多媒体内容,以特别是从视频数据中提取一些特征,用户可以利用这些特征来分别控制一般表示为505和506的音频编码器和/或视频编码器。
为了说明起见,视频分析可以估计由视频表示的场景的复杂程度以便将来编码,检测一些感兴趣的区域,并向用户建议一些多流编码,例如一个用于背景,一个用于ROI,并建议划分为空间区域。视频分析可以直接配置视频编码器506。可替代地,用户可以通过步骤531对视频编码配置保持控制。这样的步骤使得用户可以选择编码格式,是否使用可缩放格式,或者是选择多个独立流还是单个视频比特流。
用户还可以决定对感兴趣的区域进行编码,并为感兴趣的区域和背景定义不同的压缩比。可以编码多个感兴趣区域。用户可以决定对相同内容的一个或多个版本(完整视频,区块,ROI......)进行编码,以便稍后提供一些动态自适应可能性。在步骤531期间,用户可以定义分区,以使客户端能够选择并流式传输编码视频比特流中的任何区块区域。
这同样适用于音频数据和音频编码。
视频分析模块还可以生成视频注释,其可以被视为元数据流(文本数据或结构化数据,如XML或JSON),可能是可以与视频和/或音频帧时间对准的定时元数据。如果用户在记录的内容上具有附加资源,则还可以将它们添加为提供关于媒体呈现的信息的其他元数据轨道。视频分析模块还可以从媒体编码器505或506获得信息和/或统计数据,并将相应的信息项存储为元数据轨道。例如,在视频比特流的情况下,可以基于帧存储质量信息项。当用户配置空间分区时,可以基于区块存储这些信息项。
编码完成后,所有媒体流和元数据流都封装在一个或多个媒体文件中。此外,用户可以配置封装媒体内容的方式(步骤532)。例如,视频比特流可以封装在一个轨道中或单独的轨道中。根据特定实施例,如果编码格式是关于区块的HEVC或分层HEVC,则用户可以利用区块区域描述符将每个区块封装在区块轨道中,并将公共信息收集到区块基础轨道中。
当对独立流进行编码时,用户可以将一个视频比特流封装在其自己的轨道中。如果这些视频比特流实际上是另一视频的空间部分,则用户可以用称为“三元组”的区块描述符(如ISO/IEC 14496-15第4版的第10节中所定义)来注释每个视频轨道。根据用户设置或视频分析模块,用户可以控制封装在轨道中的空间部分的粒度。
当像视频注释507或某些用户描述508那样存在元数据轨道时,这些元数据轨道可以通过轨道参考类型“cdsc”与相关视频轨道相关联。这表示元数据轨道包含视频轨道的描述性信息。元数据轨道的示例可以是ISO/IEC 23001-10中定义的动态ROI信息或质量度量。
接下来,在封装步骤509之后,用户可以控制用于自适应流式传输的数据的打包(步骤533)。根据特定实施例,该步骤可以由mp4(ISO BMFF)写入器执行。也可以使用其他打包或描述性格式,如MPEG CMAF、WebM、Matroska或MPEG-2传输流。在该步骤期间,用户可以选择自适应流式传输格式,例如DASH、HLS或平滑流式传输(确保在步骤533中选择的流式传输协议支持在步骤532选择的封装格式)。
根据特定实施例,用户选择DASH,从而导致生成MPD作为清单文件以及生成初始化和媒体段。初始化段包含用于设置客户端装置的解码器的数据,而媒体段实际上包含媒体数据。根据步骤531中的编码选择或媒体编码器505和506的配置(如果固定设置),可以存在相同媒体组分的若干可替代版本。媒体组分是一个音频流或一个视频流或一个元数据流或具有特定媒体类型的任何流。视频流实际上可以对应于完整视频或完整视频的分区(例如区块、一组区块)或对应于感兴趣的区域。
应注意,对于实况内容,由于引入一些延迟,用户控制步骤531、532和533可能是不可能的。在这种情况下,用户先验地配置负责编码(505,506)、封装(509)以及生成清单和段(510)的不同模块。
图5b示出了由客户端装置(例如,图3中的客户端装置320)处理媒体数据的步骤的示例。
如图所示,第一步骤涉及访问流式传输服务(步骤550),例如通过可以流式传输视频的网站或流式传输门户服务。通过访问服务并选择或点击视频,客户端装置请求流式传输清单(步骤551)。应注意,在一些情况下,客户端功能和相关联的自适应逻辑可以作为应用Javascript代码嵌入到网页中或用户连接到的流式传输服务中。在这种情况下,它由充当用户界面和显示的Web浏览器运行。可替代地,流式传输客户端可以是独立应用程序,其实现为客户端装置中的软件模块并具有其自己的自适应逻辑。
在接收之后(步骤552),解析清单(步骤553),以便在媒体资源及其可替代表示方面构建媒体呈现组织的存储器内表示或编译的MPD。
从清单中,客户端可以确定是否在清单文件中声明了组合或预选(测试554)。这可以通过查找<Preselection>元素或描述符或其他描述符来完成,其指示资源在提供给解析器(用于解封装和生成媒体比特流)和媒体解码器之前可以聚合。在分区块视频的特定情况下,这可以包括检查是否存在与区块基础轨道相对应的表示或自适应集以及描述区块轨道的相关表示或自适应集。可以通过Representation(表示)、AdaptationSet(自适应集)、Preselection(预选)或SubRepresentation(子表示)元素中的编解码器属性(值以“hvt1”开头)轻松识别区块轨道。
如果在清单文件中声明了组合或预选,并且如果客户端装置可以处理这些组合或预选(测试555),则客户端装置知道将执行选择过程以用于对网络条件(例如带宽变化或延迟变化)动态自适应。接下来,客户端装置检查清单文件(步骤556)以在清单中查找附加描述,提供关于质量自适应的一些指导,帮助客户端装置确定要请求的数据组合(如下所述)。
如果清单不包括这样的附加信息,则客户端装置可以决定它是否可以支持清单中描述的高级体验(即,要同时播放具有相同媒体类型的若干媒体组分的组合、合成或预选)(测试557)。
如果客户端装置不支持这种高级体验,则它通过与服务器装置协商(如下文中参考“服务器控制”实施例所述)确定是否可以依赖服务器来处理质量自适应(测试558)。
如果客户端装置可以依赖服务器来处理质量适应,则它请求感兴趣的主要媒体组分(步骤559),例如预选中的主要资源,区块视频中的仅ROI,360°视频中的用户视图,或者仅有一个媒体流而没有诸如元数据流之类的相关附加资源,并且它向服务器装置提供提示以接收附加内容(预选的剩余内容或具有相同媒体类型的媒体组分的组合或合成)。
如果客户端装置不能依赖服务器来处理质量自适应(测试558),则后者可以通知用户装置某些特征可能不可用(步骤560),例如,用于整个合成视频(例如ROI加周围区块)的平滑质量的一些观看模式可以被禁止。关于不支持的特征,它还可以保持静默(从用户的角度来看),并在图形界面中适应提供给用户的导航菜单和/或特征。这可以通过例如不考虑声明在步骤553中构建的MPD或编译的MPD的存储器内表示中的合成、组合或预选的MPD元素来完成。在这种情况下,客户端回退到基本DASH,其中一次流式传输给定媒体类型的仅一个媒体组分(步骤561)。
如图所示,如果客户端装置不能处理合成或预选,则同样适用(测试555)。
如果客户端装置支持高级体验(测试557),则它可以播放清单中声明的组合、预选或合成。因此,它在流式传输期间激活并应用高级自适应逻辑(步骤562),如下所述。接下来,客户端装置请求与合成、预选或组合的所有所选媒体组分相对应的不同媒体段。要下载的每个段的适当版本由高级自适应逻辑计算。
如果清单包括提供关于质量自适应的一些指导的附加信息(测试556),也称为质量自适应规则,例如将作为单个复合视频播放的相邻视频流之间的授权质量降级,则客户端装置可以依赖它来选择要请求的适当媒体段(步骤563和564)。
最后,将所接收的媒体段提供给客户端的解析器,并进一步派送到适当的媒体解码器以呈现给用户。然后,根据例如可用带宽,其媒体缓冲器的填充率等,客户端重新考虑媒体内容组分版本的选择在媒体呈现的时间片段上迭代。
客户端装置可以在整个流式传输会话期间保持相同的请求模式或者可以决定改变。请求模式的改变(步骤561、559、562或563)可以在客户端装置决定或用户输入上或者取决于服务器装置而发生。一个示例是当用户改变他的观看模式时,例如从完整视频内的感兴趣区域的视图改变到仅具有ROI的视图。如果例如ROI对应于一个区块,则该示例将导致切换回基本媒体流请求(步骤561)。
同样地,尽管有质量规则的指示(测试556和步骤563和564),但是客户端装置仍可决定应用其自己的高级自适应逻辑(步骤562)。然而,试图确定要流式传输的数据的组合的客户端装置可能面临自适应问题(例如,显示冻结,缓冲器饥饿或溢出或太计算密集的组合媒体流以进行解码和/或显示)。在这种情况下,客户端可以决定改变其请求模式,例如从步骤562变为步骤563。根据服务器装置的另一个示例是客户端装置决定依赖服务器装置的情况(步骤559),例如,使用数据推送,并且该服务器装置在某一时刻决定停止推送。在这种情况下,客户端装置可以回退到基本模式(步骤561)或者单独尝试以适应多个媒体组分的选择(步骤562)。无论如何,添加到清单的质量规则自适应的注释仅是来自内容创建者(或从MPD编辑器聚合媒体内容)的对客户端装置的建议。后者可以决定是否使用它(即执行或不执行步骤563)。
还应注意,可以向用户提供一些浏览模式。例如,当在编码时确定静态ROI时,可以通知用户存在一个ROI,以便在仅ROI、完整视频中但具有最佳质量的ROI、或在ROI周围的完整视频的裁剪之间进行选择。关于最后两种可能性,可以使用特定的自适应逻辑来帮助客户端选择一组好的区块。ROI也可以是动态的或用户选择为视频的优选部分,其中尝试优化质量。如果所选区域对应于多个视频组分,则还需要一些高级自适应以保证整个图像的一致质量。同样,对于虚拟现实或全向内容的应用,可以在用户的当前观点和周围区域之间选择不同的质量。当前视点和周围区域的质量有很好的平衡,因此当用户查看虚拟场景中的另一个点或全方位视频中的另一个区域时,质量不会下降太多(即应控制质量差异或不同区域之间的质量差异)。
应用质量规则
根据特定实施例,插入一些信令用于清单生成(例如,在图5a的步骤533期间)。内容创建者提供一些质量自适应规则,其帮助客户端装置选择媒体内容组分,尤其是具有相同媒体类型的媒体内容组分(例如,几个区块)。根据这些实施例,内容创建者不需要描述使内容准备更容易并且媒体呈现描述更轻的所有可能组合。此外,它可以更适合于实况内容打包,因为静态质量规则可以在清单中彻底地定义,并且不需要计算所有可能的组合。这些质量自适应规则旨在通知客户端装置,在选择相同媒体类型的多个媒体内容组分的情况下,存在由内容创建者计划的有利组合。
这种质量规则的使用导致合成媒体流的更好的整体渲染质量,例如ROI与其周围区块之间的平滑质量。
应注意,尽管存在这样的质量规则,但是客户端装置可以决定不遵循这些指示。同样地,不支持MPD的此扩展的旧客户端忽略了这些信息项。
为了说明起见,在DASH情景下描述了质量自适应规则被插入到流式传输清单中的这些实施例,即作为MPD的扩展。为了保证跨DASH客户端的一致用户体验,内容创建者指出了对空间相关内容选择的一些指导,特别是在质量方面。为此,MPD提供信令装置,以将媒体内容组分与具有内容创建者认为等同的质量级别的相同媒体类型相关联。该信息可以由视频分析模块(例如,图5a中的视频分析模块503)或从视频编码器(例如,图5a中的视频编码器506)、日志或通过内容创建者定义的编码参数(例如,在图5b中的步骤551期间)或者从在编码媒体内容时由内容创建者完成的主观测试确定。
质量等同信令或交叉自适应集质量信令
可以通过根据MPEG DASH标准的表示元素中的“qualityRanking”(“质量排序”)属性来定义表示的质量级别,回想起表示元素通常描述具有等于视频的媒体类型的媒体内容组分的版本。qualityRanking属性的范围仅限于一个自适应集,以便可以根据自适应集内的质量级别对表示进行排序。
由于具有不同质量级别的图像部分或区块的组合需要对自适应集之间的表示进行排序,因此解决方案在于基于“qualityRanking”属性在不同自适应集的质量级别之间建立链接。这可以通过在周期级别(如果质量排序在一个周期到另一个周期之间没有改变,甚至在MPD元素级别)使用新的描述符来完成。这种新的描述符可以表达为如下:
<SupplementalProperty schemeIdUri="urn:mpeg:dash:quality_equivalence“value="1,2”/>
其中,新的@schemeIdUri值指示属性@qualityRanking提供交叉AdaptationSetqualityRanking,“value”属性提供此@qualityRanking重载关注的AdaptationSets列表。
例如,在下面提到的MPD片段中,新描述符表示,对于给定的周期,具有id“1.1”的表示和具有id“2.1”的表示可以被认为在质量方面是等同的。
下面的MPD示例说明了质量等同描述符。
<MPD…>
<Period>…
<SupplementalProperty schemeIdUri="urn:mpeg:dash:quality_equivalence“value="1,2”/>
<AdaptationSet contentType=《video》id=”1”…>
<Representation id=《1.1》bandwidth=《1000》qualityRanking=《0》…><!--/*best Quality*/->…</Representation>
<Representation id=《1.2》bandwidth=《500》qualityRanking=《1》…><!--/*mid Quality*/->…</Representation>
<Representation id=《1.3》bandwidth=《250》qualityRanking=《2》…><!--/*low Quality*/->…</Representation>
</AdaptationSet>
<AdaptationSet contentType=《video》id=2…>
<Representation id=《2.1》bandwidth=《1000》qualityRanking=《0》…><!--/*best Quality*/->…</Representation>
<Representation id=《2.2》bandwidth=《800》qualityRanking=《1》…><!--/*mid Quality*/->…</Representation>
<Representation id=《2.3》bandwidth=《500》qualityRanking=《2》…><!--/*low Quality*/->…</Representation>
<Representation id=《2.4》bandwidth=《250》qualityRanking=《3》…><!--/*low Quality*/->…</Representation>
</AdaptationSet>
…</Period>
</MPD>
在说明书中进一步描述了用于该质量等同的其他可替代方案。质量等同的第一新描述符是解决方案的第一部分。制作具有可接受的整体质量的合成视频需要另一个信息:指示在质量降级方面授权的内容。我们通常将此指示称为“质量规则”描述符。
质量自适应规则(或质量规则)指示
一旦在不同自适应集的表示之间确定了质量方面的相似性,则应在清单内添加用于挑选或选择表示的质量规则,即指示在质量降级方面授权的内容。
这种质量规则帮助客户端装置选择一组好的区块以保持重建视频的整体质量。这是来自内容创建者的对质量降级模式的指示。
例如,内容创建者可以指示在与ROI对应的一个或多个区块与其周围区块之间(在质量排序单元中)应该存在不超过1个级别的质量差异。换句话说,内容创建者授权一个质量级别的最大质量差异。为了表达这一点,可以使用以下描述符:
<SupplementalProperty schemeIdUri="urn:mpeg:dash:max_quality_degradation“value="1”/>
与前一个描述符一样,该描述符可以放置在MPD元素级别或者周期元素级别。@schemeIdUri属性的值指示一个区块与其相邻区块之间,或者更一般地,在要一起显示的一个媒体组分与另一个媒体组分之间的建议的最大质量降级。属性@value表示当从不同的自适应集播放相同媒体类型的一组表示时,客户端不应选择质量排序差大于1的相邻表示。
为了说明起见,这种自适应方案可能导致以下情形:首先,客户端装置尝试选择形成最高质量的合成视频的所有空间部分;如果对应于该选择的所需比特率对于可用带宽来说太高,则除了对应于感兴趣区域的那些之外,它切换到所有区块的较低质量级别;如果它在比特率方面仍然太高,则它切换到用于对应于ROI的区块以及周围区块的较低质量级别。在不使用这样的质量规则的情况下,客户端装置可能已经选择了用于ROI的最高质量和用于周围区块的最低质量的表示,这将导致ROI边界周围的质量跳跃并且产生差的用户体验。
用于发信号通知质量规则的描述符还可以用于通过添加参数、属性或元素来提供可以具有更多描述能力的质量等同。例如,它可以明确地将等同的表示列为表示id值列表,例如:
<SupplementalProperty schemeIdUri="urn:mpeg:dash:quality_equivalence”“value="1.1,2.1;1.2,2.2”/>。
使用这样的描述符不再需要定义属性qualityRanking。
然后,前面的示例(缩短)重写为以下示例:
<MPD…>
<Period>…
<SupplementalProperty schemeIdUri="urn:mpeg:dash:quality_equivalence“value="1.1,1.2;2.1,2.2”/>
<AdaptationSet contentType=《video》id=1…>
<Representation id=《1.1》bandwidth=《1000》…><!--/*a first qualitylevel*/-->…</Representation>
<Representation id=《1.2》bandwidth=《500》…><!--/*a secondquality*/-->…</Representation>…
</AdaptationSet>
<AdaptationSet contentType=《video》id=2…>
<Representation id=《2.1》bandwidth=《1000》…><!--/*the firstquality*/-->…</Representation>
<Representation id=《2.2》bandwidth=《800》…><!--/*the secondquality*/-->…</Representation>…
</AdaptationSet>
…</Period>
</MPD>
应注意,根据该示例,内容创建者保证具有“1.1”和“1.2”的表示具有相同的质量,即使相应的带宽不相等。同样,具有相同带宽要求的表示不会自动意味着它们在质量方面是等同的。当存在时,必须从质量等同描述符推导出等同。
而且,它是可选媒体内容组分的表示之间的直接关联,无论内容创建者用于质量等同的标准(带宽,分辨率,相关元数据等)如何。
使用该质量等同描述符的示例涉及流式传输清单包含可缩放流的情况,例如,用SVC或SHVC编码的视频比特流。如果相同的清单包含可缩放流的可替代者,其中每个层被编码为视频比特流,例如在AVC或HEVC中,则质量等同描述符可用于指示独立比特流与可缩放流的一个或多个层之间的等同性。
下面给出的MPD的示例提供了在HEVC中编码的两个独立比特流(由表示“1.1”和“1.2”描述)的示例,其中质量等同性被给予由基础层(具有id“2.1”的表示)和增强层(取决于表示“2.1”的表示“2.2”)表示的可缩放HEVC比特流(SHVC的可缩放层)。这里的可缩放性类型是空间可缩放性,但这可以应用于其他类型的可缩放性,尤其是Multiview HEVC。每个表示的编解码器属性指示编码格式。
<MPD…>
<Period>…
<SupplementalProperty schemeIdUri="urn:mpeg:dash:quality_equivalence“value="1.1,2.1;1.2,2.2”/>
<AdaptationSet contentType=《video》id=1…>
<Representation id=《1.1》codec=”hvc1…”bandwidth=《1000》width=1920…>…</Representation>
<Representation id=《1.2》codec=”hvc1…”bandwidth=《2500》width=”3840”…>…</Representation>
</AdaptationSet>
<AdaptationSet contentType=《video》id=2…>
<Representation id=《2.1》codec=”hvc1…”bandwidth=《1000》width=”1920”…>…</Representation>
<Representation id=《2.2》codec=”hvc2…”dependencyId=”2.1”bandwidth=《1200》…</Representation>
</AdaptationSet>
…</Period>
</MPD>
质量等同描述符的可替代实施例是将指示表示可以与具有等同质量的MPD中的其他表示组合的元素定义为表示的定义中的新属性。该属性的值可以是例如无符号整数或字符串。对于给定的周期,此属性的每个值都必须是唯一的。以下示例提供了交叉自适应集质量排序信息的此类描述符的示例:
<AdaptationSet id=”1”…>
<Representation id=”Rep1”bandwidth=”500000”…preselect=”HQ”…>
</Representation>
<Representation id=”Rep2”bandwidth=”250000”…preselect=”MQ”…>
</Representation>
<Representation id=”Rep3”bandwidth=”175000”…preselect=”LQ”…>
</Representation>
</AdaptationSet>
<AdaptationSet id=”2”…>
<Representation id=”Rep4”bandwidth=”540000”…preselect=”HQ”…>
</Representation>
<Representation id=”Rep5”bandwidth=”280000”…preselect=”MQ”…>
</Representation>
<Representation id=”Rep6”bandwidth=”195000”…preselect=”LQ”…>
</Representation>
</AdaptationSet>
根据该实施例,客户端装置可以立即识别三个级别的预选,即“HQ”、“MQ”和“LQ”。此新属性采用的值可以是串类型(以XML Schema表达时,xs:string)。该属性的使用非常简单,因为所有在其“预选”属性中共享相同值的表示被内容作者视为在质量方面是等同的。
这样,从具有相同预选属性值的两个或多个表示中组装两个媒体流,例如显示屏左侧的一个图像和同一显示屏右侧的另一个图像,在这两个图像之间产生均匀的质量。
该信令使得直接找到可以彼此组合而不引入质量差异的表示:客户端装置在其“预选”属性中选择具有相同值的一组表示。
存在用于动态自适应和控制质量差异的可替代方案。
根据第一替代方案,预选属性的值限于无符号整数(XML方案中的xs:unsignedInt)。通过这样做,客户端装置可以确定,当将其授权质量降级设置为2个质量级别(通过清单中的特定信令,经由客户端装置的配置,或者经由来自用户的通过他/她的图形界面的动态定义)时,它可以选择一个预选属性值被设置为“N”的第一表示,并将其与其预选属性被设置为不小于值“N-2”的其他表示组合。默认情况下,如果清单中未指示任何组合、合成或预选信息,则可以组合具有预选属性的所有表示。
用于动态自适应和控制质量差异的第二可替代方案主要在于在表示元素中定义另一个属性,例如具有“max_quality_disparity”名称的属性(观察到可以使用另一个名称,只要它在MPD的XML方案中声明)。此属性可以声明为整数类型,其值指示要同时合成和渲染的所选媒体组分之间的最大质量差或差异。
然后,上面的示例重写为如下:
<AdaptationSet id=”1”…>
<Representation id=”Rep1”bandwidth=”500000”…preselect=”HQ”max_quality_disparity=”2”>
</Representation>
<Representation id=”Rep2”bandwidth=”250000”…preselect=”MQ”max_quality_disparity=”2”>
</Representation>
<Representation id=”Rep3”bandwidth=”175000”…preselect=”LQ”max_quality_disparity=”2”>
</Representation>
</AdaptationSet>
<AdaptationSet id=”2”…>
<Representation id=”Rep4”bandwidth=”540000”…preselect=”HQ”max_quality_disparity=”2”>
</Representation>
<Representation id=”Rep5”bandwidth=”280000”…preselect=”MQ”max_quality_disparity=”2”>
</Representation>
<Representation id=”Rep6”bandwidth=”195000”…preselect=”LQ”max_quality_disparity=”2”>
</Representation>
</AdaptationSet>
当在已经有描述最大质量降级的描述符的清单中存在max_quality_disparity=”2”,例如在MPD的顶级、<Period>元素或<MPD>元素时,则此max_quality_disparity优选地重新定义顶级描述符的值。作为属性值的替代,max_quality_disparity参数可以放置在诸如SupplementalProperty(补充属性)之类的表示元素的DASH描述符元素中,或者放置在用于质量规则指示的专用元素中。当表示包含子表示元素(SubRepresentation element)时,这也适用。max_quality_disparity参数指示内容作者推荐避免将表示或子表示与具有比包含该max_quality_disparity参数的表示或子表示低两级的质量级别的另一表示或子表示组合。
上面提出的属性的示例值也可以是有符号整数,使得值“0”可以指示例如从其开始的默认版本,并且正值将指示更高的质量,而更低的值将指示更低的质量。与qualityRanking属性的主要区别在于,它是针对给定周期元素的绝对质量指示,而qualityRanking属性仅适用于一个自适应集。
为了基于该实施例指定哪些表示组可以组合在一起,存在多个可替代方案。
第一可替代方案在于定义用于确定具有等同质量的表示的新属性(例如可以称为@preselect)作为包含两个标识符的一对值:用于为合成、组合或预选提供唯一标识符的第一标识符,以及如前所述的第二标识符,即用于在自适应集之间提供绝对质量值。
可以将第一标识符视为概念上类似于DASH SRD描述符中的“source_id”参数。应注意,通过引入该第一标识符,绝对质量的范围可以减少到其@preselect属性对于该第一标识符具有相同值的表示。该标识符可以是串,也可以是整数或任何类型,只要可以轻松快速地比较一个值是否与另一个值不同就行。
前一示例重写为如下:
…<AdaptationSet id=”1”…>
<Representation id=”Rep1”bandwidth=”500000”…preselect=”C1,HQ”max_quality_disparity=”2”>
</Representation>
<Representation id=”Rep2”bandwidth=”250000”…preselect=”C1,MQ”max_quality_disparity=”2”>
</Representation>
<Representation id=”Rep3”bandwidth=”175000”…preselect=”C1,LQ”max_quality_disparity=”2”>
</Representation>
</AdaptationSet>
<AdaptationSet id=”2”…>
<Representation id=”Rep4”bandwidth=”540000”…preselect=”C1,HQ”max_quality_disparity=”2”>
</Representation>
<Representation id=”Rep5”bandwidth=”280000”…preselect=”C1,MQ”max_quality_disparity=”2”>
</Representation>
<Representation id=”Rep6”bandwidth=”195000”…preselect=”C1,LQ”max_quality_disparity=”2”>
</Representation>
</AdaptationSet>…
在上面的示例中,只有一个用标识符“C1”定义的合成、组合或预选。不同的质量级别被标识为“HQ”、“MQ”或“LQ”。
下面的示例说明了仅使用两个质量级别“HQ”和“LQ”的相同属性的使用,但是表示为“C1”和“C2”的两个合成、组合或预选。为了清楚起见,在此示例中未显示与“max_quality_disparity”属性的可能组合,但也可以适用。
<MPD>…
<AdaptationSet id=”1”…>
<Representation id=”Rep1”bandwidth=”500000”…preselect=”C1,HQ”>
</Representation>
<Representation id=”Rep2”bandwidth=”175000”…preselect=”C1,LQ”>
</Representation>
</AdaptationSet>
<AdaptationSet id=”2”…>
<Representation id=”Rep3”bandwidth=”540000”…preselect=”C2,HQ”>
</Representation>
<Representation id=”Rep4”bandwidth=”195000”…preselect=”C2,LQ”>
</Representation>
</AdaptationSet>
<AdaptationSet id=”3”…>
<Representation id=”Rep5”bandwidth=”540000”…preselect=”C1,HQ”>
</Representation>
<Representation id=”Rep6”bandwidth=”195000”…preselect=”C1,LQ”>
</Representation>
</AdaptationSet>
<AdaptationSet id=”3”…>
<Representation id=”Rep7”bandwidth=”640000”…preselect=”C2,HQ”>
</Representation>
<Representation id=”Rep8”bandwidth=”235000”…preselect=”C2,LQ”>
</Representation>
</AdaptationSet>
</MPD>
根据该示例,客户端装置可以容易地从MPD解析推断出具有id=“1”的表示可以与具有id=“5”的表示没有质量差异地组合。同样,可以组合具有id=“3”和id=“7”的表示。这两种组合具有较低质量的组合:具有id=“2”和id=“6”的表示以及具有id=“4”和id=“8”的表示。
如根据被称为“内容创建者”的实施例所讨论的,在该实施例中讨论的质量规则和质量等同性也可以与在DASH中定义的<Preselection>(<预选>)元素组合。
质量等同性的这个新属性避免了改变现有qualityRanking属性的语义,并且可以避免向后兼容性问题。
质量等同性和质量规则描述符适用于发信号通知合成或组合在一起的内容组分。这需要内容组分选择描述符以让客户端知道内容创建者提供的内容。下面利用“内容创建者”的实施例讨论和描述该内容组分选择描述符。
对于质量自适应规则模式的信令有不同的可替代方案,更一般地称为质量规则描述符。
根据特定实施例,在<MPD>或<Period>级别描述它,这取决于自适应规则对于整个呈现是固定的还是可以在一个周期元素到另一个周期元素之间变化,通常当在某些周期中媒体呈现被广告中断时,在这些周期期间去激活质量自适应规则可能是有用的(除非广告还暗示多个媒体内容组分的合成或组合)。存在可以在比周期元素更低的级别声明此质量自适应规则的情况。这可以是用于呈现具有封装到区块轨道中的区块的视频流的情况,每个区块封装在表示中。
指定最大授权降级级别时的质量规则可以分为两个维度:指定水平维度中的第一值和垂直维度中的另一个值。例如:<SupplementalProperty schemeIdUri="urn:mpeg:dash:max_quality_degradation value=“1,2”/>或具有显式属性名称:<SupplementalProperty schemeIdUri="urn:mpeg:dash:max_quality_degradationvalue_h="1”value_v=”2”/>,以指示水平邻域中一个级别的最大授权质量差异,以及垂直维度中最多2个质量级别的质量差异。
根据特定实施例,用于发信号通知质量规则的描述符(诸如ROI与其他部分之间的最大质量差)还可以包括可选指示,以指示视频中的“类似过滤器”的质量降低比率和/或特定位置来应用质量降低(默认以ROI为中心)。例如:
<SupplementalPropertyschemeIdUri="urn:mpeg:dash:quality_rule_filter“value="3,3,2,1,2,1,0,1,2,1,2”/>表示在位于值0(过滤器的中心)的视频的空间部分周围具有不同的授权质量降级值的3x3模式。“类似过滤器”质量降低也可以分为两个过滤器,每个维度一个,例如:
<SupplementalPropertyschemeIdUri="urn:mpeg:dash:quality_rule_filter_2D“value="(3,1,0,1);(3,1,0,1)”/>来指定1x3模式,其具有围绕位于值0的视频的空间部分的不同的授权质量降级值,用于每个水平和垂直维度。
上述示例在两个方向上分配相同的值,但是存在根据方向具有不同模式是有用的情况。这对于像360°流式传输这样的应用是有利的,其中用户主要沿着一个方向移动头部:客户端可以在用户可能看到的区域上放置更多质量(即,当前的视图的左视图和/或右视图而不是顶视图和底视图)。质量规则甚至可以由客户端根据头部动作动态计算:当向右移动时,视频的右部分的质量将尽可能保留,并且在其他方向上允许更多的降级(左,顶部和底部)。理想情况下,过滤器遵循分区块或空间部分的合成网格,如图1a或1b所描述的那样,以便在预选的每个组分中指定质量自适应权重。
它还可以指示其他参数,例如maxDeltaQuality、maxHorizDeltaQuality、maxVertDeltaQuality或maxDiagDeltaQuality属性,创建或不创建单个比特流的指示,与分区块或不分区块的媒体数据相关的指示。另一个质量规则可以包括列出预选的一些内容组分,以便在条件变得严重时(网络拥塞,高延迟......)在一个或多个段期间被冻结。质量规则还可以通过定义参数列表(如source_id)以参考区块或360°视频或虚拟现实内容中的区域,以及相关区块或区域允许的最大质量降级,来与SRD描述符组合:如value="<SRD_source_id>,NULL,<maxQualityDegradation>"或value="<SRD_source_id>,NULL,<maxHQualityDegradation>,<maxVQualityDegradation>"指定每个方向或value="<SRD_source_id>,NULL,<maxHQualityDegradation>,<maxVQualityDegradation>,<maxDiagQualityDegradation>"的一个质量降级,用于根据曼哈顿距离进行加权的区块。也可以使用特定的@associationType值在元数据轨道中指示质量规则。例如,定义特定associationType值并将其注册为四字符代码(例如:用于质量信息的“qinf”)以指示元数据流包含用于关联表示的质量自适应的元数据或用于关联表示的质量信息的定时样本。当元数据流包含质量规则时,质量规则描述符可以直接反映这一点,例如:
<SupplementalProperty schemeIdUri="urn:mpeg:dash:quality_rule_external“value="(ID of the metadata stream)”/>
根据这些实施例,流式传输客户端知道存在由内容创建者指示的降级质量模式(图5b中的测试556的结果为真)。在请求媒体数据时可以将其考虑在内。这应该有助于跨客户端装置的一致体验。
对于用户创建者而言,其他实施例,通过在清单中描述所有可能的组合,使得客户端装置不需要对其自适应逻辑进行任何改变,而比质量自适应模式更明确,仅仅为了支持用于这些组合的信令。
内容创建者
根据前面的实施例,内容创建者提供了用于质量自适应的规则(质量规则描述符)并且避免了所有可能的组合可替代方案的详尽声明。
在这些实施例中,内容创建者通过提供媒体内容组分的可能组合的穷尽描述(例如,在图5a的步骤533或在步骤531和532中分别配置编码器、代码转换器或打包器时)来使质量规则隐含。
为此,内容创建者依赖于内容组分选择元素和/或内容组分描述符。内容组分选择元件使得内容创建者能够表达具有相同媒体类型的媒体内容组分的组合,所述媒体内容组分在一起播放时保证所合成的视频的所得质量不会受到合成在一起的图像部分或区块的边界处的强烈质量变化的影响。
内容组分选择元素可以是存在于DASH MPD中的<Preselection>元素的扩展(自2016年6月的w16221中定义的第4修订)。内容组分选择描述符也可以是具有特定属性或描述符的特定类型的自适应集,以指示该自适应集是在相同MPD中声明的经典自适应集的合成、组合或束,或者例如通过在其他MPD中声明的自适应集的Xlink元素。注释的一个示例是新属性,无论其名称如何,以指示自适应集是“虚拟”自适应集:
<AdaptationSet virtual=”true”…>
或通过DASH描述符声明的“引用”AdaptationSet:
<AdaptationSet…>
<EssentialProperty scheme_id_uri=”urn:mpeg:dash:2017:component-selection”value=”1,2”/>…</AdaptationSet>
在上面的示例中,内容组分选择的自适应集引用了id=“1”和id=“2”的其他自适应集。这意味着当使用自适应集作为内容组分选择时,引用的自适应集应该声明“id”属性。内容组分选择元素不声明任何段url,而是引用其他自适应集。组分选择元素(扩展的预选元素或特定的自适应集)可以包含表示元素以声明合成或组合或包的可替代版本,但是这些表示仅引用与由内容组分选择元素引用的自适应集中不同的其他表示。
在预选元素或描述符用作内容组分选择元素的情况下,所列出的媒体组分的预期组合的指示可能是有用的。实际上,已经注意到,当引入Main AdaptationSet(主要自适应集)和Partial AdaptationSet(部分自适应集)两个特征时,现有的预选特征定义并不清楚。
特别是,不清楚所有预选组件是否应该一起播放,或者是否还允许主要或主要加上部分自适应集的子集。
根据本发明的另一个实施例,提出了在内容组分选择元素中,在媒体组分组合方面包括描述内容作者的预期使用的附加参数。例如,此新参数(下面的名称“selectionType”是示例)作为预选(Preselection)元素中的附加属性提供:
<Preselection id=”P1”selectionType=”all”preselectionComponents=”(list of components)”...>…</Preselection>
<Preselection id=”P2”selectionType=”any”preselectionComponents=”(list of components)”…>…</Preselection>
<Preselection id=”P2”selectionType=”main”preselectionComponents=”(list of components)”…>…</Preselection>
此新参数也可以在预选描述符中声明:
<SupplementalProperty schemeIdUri=”urn:mpeg:dash:preselection:2016”selectionType=”all”value=”(list of components)”.../>
<SupplementalProperty schemeIdUri=”urn:mpeg:dash:preselection:2016”selectionType=”main”value=”(list of components)”.../>
<SupplementalProperty schemeIdUri=”urn:mpeg:dash:preselection:2016”selectionType=”any”value=”(list of components)”.../>
应注意,对于预选内或更一般地在内容组分选择元素中的媒体组分的预计或预期组合的该附加参数适用于预选,无论其声明如何:SupplementalProperty,EssentialProperty或继承自MPD方案中所定义的DescriptorType的特定元素。它可以实现为预选元素或描述符下的任何节点(例如元素或属性)。在预选描述符的情况下,它也可以是“值”属性中列出的参数之一。
这个新参数的语义定义为如下:
-当参数具有值“any”(“任意”)时,这意味着即使没有对应于主要自适应集的媒体组分,也可以选择内容组分选择元素中的媒体组分的任何组合(例如预选元素或描述符)用于下载和渲染;
-当参数取值“main”(“主要”)时,这意味着可以选择内容组分选择元素中的媒体组分的任何组合(例如预选元素或描述符)用于下载和渲染,只要对应于主要自适应集的媒体组分被选定;
-最后一个可能的值是“all”(“全部”)——这意味着只能播放列出的组合,即内容组分选择元素中声明的每个媒体组分的一个可替代编码版本——例如,在预选元素中,它是在属性“preselectionComponents”(“预选组分”)中声明的列表——对于预选描述符,它将是属性“值”中提供的标识符列表——图8中的表800为主要自适应集和部分自适应集之间的每个组合提供了此参数的可能的值;
-另一个可能的值是“recommended”(“推荐”)或“best”(“最佳”)或“fallback”(“后备”),其中标识符列表提供预选内部的组分列表,该列表仅在主要自适应集和整个预选之间提供有趣的组合——这个“recommended”或“best”可以被视为当接收器侧的内容的流媒体或处理方面的某些自适应需要自适应时的后备操作点——在这种情况下,可能无法下载并渲染整个预选——仅有对主要自适应集的后备可能会在切换回在预选中声明的组分子集时提供较差的用户体验。
用于selectionType(选择类型)属性的可替代实施例是使用它以便明确地指示哪个内容组分对应于主要媒体组分(即,AdaptationSet或ContentComponent)。例如,下面的声明:<Preselection id=“P1”preselectionComponents="3 1 2 4"selectionType="main 3">是“内容作者”做出的如下指示:无论标识符列表中的部分自适应集1、2或4中的组合如何,都应播放具有等于3的@id值的媒体组分。
这使得客户端装置能够继续使用自适应逻辑,就像在给定时间选择了一个媒体内容组分一样。实际上,在内容组分选择元素中声明的每个表示元素声明对应于引用的表示的最大值的属性,例如引用的表示的宽度和高度,或者例如对于带宽元素,对应于总和。内容组分选择元素的每个表示实际上引用内容创建者已知的在质量方面是等同的表示(即,当一起显示时,用户可以注意到每个内容组分之间(例如,ROI与其周围的区块之间)没有质量差异。
为了引用合成或组合的其他表示,内容创建者可以使用dependencyId属性,尤其是对于主要内容组分(当客户端不能支持整个组合时默认播放的组分)。对于其他引用的表示,内容创建者可以通过associationId声明那些,对于associationType属性,associationId具有“aggregate”值或任何保留或注册的值来指示associatedRepresentation,如由DASH所定义的,其包含如下表示:该表示的id的值存在于associationId属性中作为媒体合成、媒体体验或包的一个组分。
内容组分选择元素可以被视为清单中的入口点,即可选择用于流式传输和渲染的一组媒体组分。内容组分选择元素内的一个媒体组分的声明可以导致不再可选择该媒体组分。在这种情况下,不打算单独选择和渲染该媒体组分。这意味着它仅存在于流式传输清单中,因为某些可选媒体组分依赖于它,或者因为它在预选或任何内容组分选择元素中被引用。
在本发明的实施例中,提出明确区分可以单独选择和渲染的媒体组分与刚刚描述的媒体组分,因为在其他组分的计算中使用或者在包、预选或内容组分选择中引用。这允许流媒体播放器容易地过滤媒体组分以向用户或负责内容选择的应用公开。这种区别是通过与媒体组分相关联的附加参数来完成的,例如作为自适应集、内容组分、表示或子表示中的属性。例如,此属性可以称为“playbackType”。
它可以例如与区块轨道一起使用。当描述区块轨道的自适应集是内容组分选择(例如预选)的一部分时,它们可以将该“playbackType”属性设置为“禁用”以指示区块轨道不可选择单独播放。在这种情况下,内容组分选择(例如,预选)提供媒体呈现的可选择部分(可以称为入口点)。将所有轨道公开为在预选中引用的自适应集中的表示并描述为未选择用于显示(@playback_type=“disable(禁用)”),允许在清单包含描述具有相同编解码器类型的轨道的自适应集时避免模糊。
例如,这允许hvc2或hev2区块基础轨道与hvc2或hev2合成轨道或经典HEVC轨道区分开,其本身可以被声明为playbackType=”always”(“总是”)(这是默认值。):
<AdaptationSet id=”10”playbackType=”disable”…>…</AdaptationSet>
<Preselection preselectionComponents=”…10…”id=”P1”/>。
作为清单中的入口点的媒体组分(意味着客户端要解析的第一媒体组分)可以在该“playbackType”属性中用值“always”标记。该“always”值是“playbackType”的默认值;即,当不存在时,假设媒体组分是可选择的并且单独渲染。“单独”表示相应的当前表示加上当前表示所依赖的表示。此新参数的名称和可能值是指示性的,并作为示例提供。另一个可能的值是“preview”(“预览”)以指示媒体组分可以是用户或应用何时需要电影的预览或音频剪辑的几秒或媒体元素的任何简短呈现。这里提供的示例并非穷尽。用此属性标记的自适应集不应被视为交互式可选/DASH客户端在演示中的入口点。
当通过子表示描述媒体内容组分时,子表示也变为内容组分选择元素,并且该子表示的组分列表从包含在由该子表示的父表示引用的表示中的其他子表示引用组分。
在这些实施例中,质量等同描述符和质量自适应规则描述符可以是隐含的,因为包含组分选择描述符的语法元素(预选,自适应集或表示)提供可替代者的有序列表。除了上述描述符之外,媒体呈现描述还可以包含其他信息描述符:合成目的(或“组合目的”或“预选目的”或“包目的”)描述符和解码器要求描述符。合成目的描述符是与内容组分选择描述符相关联的描述符。它可以是内容组分选择描述符的属性,或者是EssentialProperty或SupplementalProperty元素,作为内容组分选择描述符的子元素。下面的MPD片段说明了当内容组分选择描述符使用预选元素时这种描述符的使用:
…<Preselection…purpose=”HEVC tiling”>
</Preselection>…
目的描述可以提供关于预期组合的附加信息,例如描述根据图1b的不同组合。例如,当合成暗示独立视频时,当在没有流修改的情况下对提取的区块的子集进行剪辑时,当将若干独立视频组合成单个视频比特流时。在只有一个合成或预选的情况下,目的描述符和解码器要求描述符可以在MPD元素级别(如果是静态的)或在周期元素级别声明,如果沿时间变化的话。
该“组合目的”的目的是通知客户端装置关于准备用于流式传输的内容作者的合成、组合或预选的种类。这可以由客户端装置用来调整用户界面并提出或激活或去激活某些导航菜单。例如,利用上面说明的“HEVC分区块”目的,客户端装置可以向用户显示区块网格,使得用户可以容易地选择一组区块以同时播放。其他值可能是“ROI加上周围的区块”或“360°主视图加上其他视图”。该“组合目的”或“合成目的”的值可以是串类型。它也可以是从注册表中的预定义值列表中获取的值。后一种选择有助于从客户端装置进一步解释。应注意,Label(标签)元素也可用于表示流式传输清单中的“组合目的”。
另一个可选描述符是“解码器要求”描述符。实际上,当内容创建者提供高级组合时,客户端装置可能需要同时使用多个解码器。因此,解码器要求描述符可以在内容组分选择描述符下的MPD中使用。对于前一个,它可以是内容组分选择描述符中的特定属性或参数,或者DASH描述符,它的关于scheme_id_uri的属性或参数。例如:
<Preselection…>…
<EssentialProperty scheme_id_uri=”urn:mpeg:decoder-reqs”value=”single”/>
</Preselection>
在合成、组合或预选需要不止一个给定媒体类型的解码器实例(例如图3中的视频解码器343或音频解码器)的情况下,该描述符的值可以设置为“多个”。它还可以用于指示在解码步骤之后立即执行后处理操作以由实现一些后置过滤的客户端装置执行(例如值=“后置过滤器”)。可以组合值(例如,值=“后置过滤器和单个”以指示在后处理步骤中需要单个解码器)。当例如解块过滤器可用时,解码器要求描述符还可用于推荐客户端侧的后过滤操作。后过滤操作可以在ISO BMFF文件中包含的后置解码器信息中被发信号通知,或者甚至由元数据流提供。它与内容组分选择元素相关联。
在预选元素被定义为要提供给单个解码器实例的一组媒体组分的情况下,初始化段上的指示对于客户端可能是有用的。实际上,预选将“主要”自适应集定义为提供解码器特定信息的自适应集。这意味着主要自适应集包含初始化段(在DASH术语中)。在现有技术中,不清楚部分自适应集是使用该初始化段还是可以具有它们自己的初始化段。此信息对于媒体播放器正确设置其解码器非常有用。例如,如果预选声明具有‘hvt1’区块轨道的一组视频轨道,其中区块基础轨道作为主要自适应集,则仅声明一个初始化段(一个区块基础轨道)。相反,当考虑具有多流音频的3D音频的预选时,可能存在若干初始化段,例如每个流一个。这些可以由音频空间化器处理,例如,将每个音频流提供给一个或多个音频解码器。对于分区块和单个视频实例,ISOBMFF解析器和视频解码器分别负责形成兼容视频比特流(例如,符合HEVC的一个或多个简档、层、级别)并解码该比特流。
对于使用‘hvc1’轨道(而不是‘hvt1’)的区块轨道也可能是这种情况,其中每个区块对应于独立的HEVC比特流。在本发明的实施例中,在特定信令中提出:取决于解码器特定信息,允许客户端快速识别(在解析清单时)在内容组分选择元素(例如,在预选元素或描述符中)中列出的媒体组分的组合中是否存在限制。该信令可以是新属性,例如采用布尔值并称为“singleInit”。此属性可以存在于预选元素或预选描述符中,如下所示:
下面两行说明了预选元素,其中附加参数提供了有关预选中存在的初始化段数的信息:
<Preselection id=”P1”singleInit=”true”preselectionComponents=”(list of components)”...>…</Preselection>
<Preselection id=”P2”singleInit=”false”preselectionComponents=”(list of components)”…>…</Preselection>
下面的示例行说明了预选描述符(此处为SupplementalProperty),其中附加参数提供有关预选中存在的初始化段数的信息:
<SupplementalProperty schemeIdUri=”urn:mpeg:dash:preselection:2016”singleInit=”true”value=”(list of components)”.../>
<SupplementalProperty schemeIdUri=”urn:mpeg:dash:preselection:2016”singleInit=”false”value=”(list of components)”.../>
应注意,在DASH第3版(w16221,2016年6月)中的预选描述符的定义中,描述符的值提供了用逗号分隔的两个字段:预选的标记和作为处理顺序中的空格分隔列表的此预选列表的包含的内容组分的id。第一id定义主要媒体组分。前一示例也适用于用于value属性的这种语义。应注意,这个“singleInit”附加参数适用于预选,无论其声明如何:SupplementalProperty,EssentialProperty或继承自MPD方案中所定义的DescriptorType的特定元素。
当设置为true(真)时,该新属性指示可以仅组合共享相同初始化段的预选的媒体组分。这在预选内声明的媒体组分的组合中引入了限制。然后,客户端知道,在一个请求中,它可以获得整个信息来设置其解码器。当设置为false(假)时,此新属性指示可能存在一个或多个初始化段,但是在“预选”内声明的媒体组分的可能组合由“selectionType”参数给出。如果不存在,则应用于预选的默认值为“false”。这样保留与不解释此新参数的客户端的后向兼容性。
例如,当用于不同分辨率的区块视频时,如表1a和1b中的示例,每个分辨率可能有一个初始化段。然后,可以仅组合相同分辨率的区块以提供无缝切换。这意味着切换到另一个分辨率可能需要用对应于另一个分辨率的初始化段重新初始化解码器。应注意,由于DASH MPD依赖于XML方案,因此可以使用预选元素或预选描述符下的任何节点(例如,元素或属性)来传送该单个初始化信息。而且,它在描述多个媒体组分的任何MPD语法元素中可能是有用的。
表1a示出了一个预选(作为元素)的示例,其中singleInit=”true”以两个不同的分辨率级别收集两个区块轨道。
表1b示出了在两个不同分辨率级别的相同组的两个区块轨道的示例,每个级别在预选中(为了可读性,并非存在所有语法元素)。
表1a:
Figure BDA0003094817940000501
表1a中的MPD示例描述了具有“singleInit”参数的扩展预选元素。由“P1”标识的预选声明三个自适应集(id等于10,11和12)作为预选组分。这些自适应集中的每一个都包含两个不同分辨率的用于HEVC轨道的表示。该示例中的第一自适应集描述了HEVC区块基础轨道,其他两个描述了HEVC区块轨道。由于这里有两个用于重建的子集:一方面用于表示101、111和121的段的串联,另一方面用于表示102、112和122,“singleInit”=true指示并非预选中的所有组合都被允许。只有共享相同初始化段的表示可以组合用于联合渲染,即使“selectionType”属性指示值“any”。“singleInit”是对播放器的警告,必须仔细选择预选中的表示组合以保证平滑显示和无缝切换。此外,MPD的作者可以例如利用自适应集级别的比特流切换属性指示:切换可能并不总是在表示之间是无缝的,即切换可能需要解码器重新初始化。
表1b:
Figure BDA0003094817940000511
Figure BDA0003094817940000521
表1b的MPD示例提供了用于描述不同分辨率级别的2个HEVC区块轨道的可替代方案。在此示例中,每个分辨率级别可用于流式传输客户端作为预选。预选“P1”提供HD分辨率的预选,而预选“P2”提供SD分辨率的预选。由于作者保证在每个自适应集10、11、12和20、21、22中的表示之间无缝切换,因此可以将用于预选元素的“singleInit”值设置为值“false”。这允许预选中的表示的任何组合。假设默认值等于“false”,预选“P2”不会为singleInit声明任何值。总而言之,参数“singleInit”,当设置为值“true”时,指示只有共享相同初始化段的表示可以组合,而无论使用情况如何:视频流中的若干分辨率或不同质量但不能无缝切换。
表2a提供了DASH MPD中描述的HEVC区块轨道的示例。更确切地说,它提供了具有在预选描述符中公开的质量等同描述符的区块轨道的示例。
表2a:
Figure BDA0003094817940000531
在该示例中,清单描述了用于区块基础轨道的一个自适应集(id=“1”,在其子表示中提供一个或多个可替代编码版本,每个版本在‘hev2’轨道中)。清单还描述了每个区块轨道(4个区块)的一个自适应集,‘hvt1’轨道。在上面的示例中(表2a),预选描述将“id”属性中的预选标识符和组成“value”属性中的预选的媒体组分列表定义为空格分隔的标识符列表(表2a示例中的自适应集标识符列表)。
主要自适应集是描述区块基础轨道(具有@id=”1”的轨道)的自适应集。部分自适应集(示例中的id 2到5)对应于用于每个区块轨道‘hvt1’的自适应集。应注意,用于区块轨道‘hvt1’的每个表示包含对应于其区块基础轨道的表示的“dependencyId”属性。而且,每个区块轨道的每个表示具有“qualityRanking”属性。这为hvt1区块轨道的描述提供了两个选项。在第一选项中,区块基础轨道(不是表2a中的轨道)未在预选组分列表中声明。然后预选只声明(hvt1)区块轨道。由于来自每个区块轨道的依赖性,自动选择区块基础轨道以供下载和显示(每个区块轨道具有对区块基础轨道的“tbas”轨道引用)。然后,预选的“selectionType”属性的值为“any”。第二选项(表2a中的选项)是在预选组分列表中包括区块基础轨道。然后,在预选的组分列表中首先列出对应于区块基础轨道的自适应集。对应于区块轨道的每个表示仍然声明对区块基础轨道的对应表示的依赖性(由于“tbas”轨道引用类型)。然后,将预选的“selectionType”属性的值设置为“main”。
在表2a的示例中,可选地,预选描述符还包含“singleInit”属性,此处设置为true,以指示DASH播放器应该仅组合共享相同的初始化段的内容组分的表示(一个,多个或全部,这取决于“selectionType”参数的值),该一个用于区块基础轨道。应注意,基于表示的“dependencyId”属性的DASH依赖机制允许识别和连接初始化段和媒体段,以获得符合所选表示的@mimeType中指定的媒体格式的段或子段序列。MPD中也存在质量等同性,这里指的是具有“P1”标识符的预选。注意,允许预选标识的任何属性(“标签”......)或值(例如“值”属性中的第一参数)可用于引用预选。质量等同性指示预选中列出的媒体组分的表示之间的质量等同性适用。例如,从一个自适应集到另一个自适应集,可以识别质量方面的等同表示。这里的质量等同性不提供关于这些表示之间的最大质量差的推荐。如以上示例所示,质量等同性可以应用于预选元素。因此,可以将其定义为预选元素的子元素,然后不再需要用于内容组分选择的参数。因此,它被认为是质量等同描述符中的可选参数。上面的示例使用描述区块基础轨道和区块轨道的自适应集,但类似地应用于任何媒体轨道(例如音频或视频)。
例如:
表2b:
<Preselection id=”P1”preselectionComponents=”(list of mediacomponents)…>
<SupplementalProperty schemeIdUri="urn:mpeg:dash:quality-equivalence”>
</Preselection>
在示例表2b中,描述符的简单存在指示对于预选的所有组分(质量等同描述符的父元素),质量等同性适用。在所有质量等同参数具有默认值的此特定情况下,它隐含地意味着父预选元素的所有内容组分具有可以在自适应集之间进行比较的质量排序。而且,推荐的质量差异为0,这对应于默认值。
表2c:
<Preselection id=”P1”preselectionComponents=”(list of mediacomponents)…>
<SupplementalProperty schemeIdUri="urn:mpeg:dash:quality-equivalence”value=”2”>
</Preselection>
在示例表2c中,质量等同描述符的存在指示对于父预选元素的所有组分,质量等同性适用,其中最大质量差等于2。关注组分的列表是隐含的,因为描述符被声明为预选元素的子元素:然后它应用于预选的所有内容组分。
表2d:
<Preselection id=”P1”preselectionComponents=”11,12,13,14”...>
<SupplementalProperty schemeIdUri="urn:mpeg:dash:quality-equivalence”value=”AS:13,14 2”>
</Preselection>
在上面的示例中(表2d),质量等同描述符的存在指示对于预选的组分子集(“id”等于13和14的自适应集),质量等同性适用,其中最大质量差等于2。
表2e:
<Preselection id=”P1”preselectionComponents=”11,12,13,14”...>
<SupplementalProperty schemeIdUri="urn:mpeg:dash:quality-equivalence”value=”AS:13,14”>
</Preselection>
在上面的示例中,(表2e)质量等同描述符的存在指示对于预选的组分子集(具有“id”等于13和14的自适应集),质量等同性适用,其中最大质量差等于0(这是默认值)。
表2f:
<Preselection id=”P1”preselectionComponents=”11,12,13,14”...>
<SupplementalProperty schemeIdUri="urn:mpeg:dash:quality-equivalence”value=”*”>
</Preselection>
在以上示例(表2f)中,质量等同描述符的存在指示对于预选的所有组分,质量等同性适用,其中默认的最大质量差等于0(这是默认值)。
表2g:
<Preselection id=”P1”preselectionComponents=”11,12,13,14”...>
<SupplementalProperty schemeIdUri="urn:mpeg:dash:quality-equivalence”value=”*1”>
</Preselection>
在上面的示例中(表2g),质量等同描述符的存在指示对于预选的所有组分,质量等同性适用,其中默认的最大质量差等于1。注意,质量等同描述符的上述声明等同于以下:
<SupplementalProperty schemeIdUri="urn:mpeg:dash:quality-equivalence”value=”1”>
由于预选元素和描述符可从架构的角度进行扩展,因此质量等同性的相同使用应用于使用新元素或属性来扩展的预选元素或描述符。
质量等同描述符类似地应用于预选描述符。
表3a:
Figure BDA0003094817940000571
表3a上的示例指示质量等同描述符应用于由“P1”标识的预选描述符中声明的所有内容组分,其中最大质量差等于0(默认值)。
表3b:
Figure BDA0003094817940000572
Figure BDA0003094817940000581
表3b上的示例指示质量等同描述符应用于由“P1”标识的预选描述符中声明的内容组分的子集,其中最大质量差等于0(默认值)。
表3c:
Figure BDA0003094817940000582
表3c上的示例指示质量等同描述符应用于由“P1”标识的预选描述符中声明的所有内容组分,其中最大质量差等于2。
表3d:
Figure BDA0003094817940000583
Figure BDA0003094817940000591
表3d上的示例指示质量等同描述符应用于由“P1”标识的预选描述符中声明的内容组分的子集(这里,id等于1和2的自适应集),其中最大质量差等于1。
表3e:
Figure BDA0003094817940000592
表3e上的示例指示质量等同描述符应用于由“P1”和“P2”标识的两个预选描述符的所有内容组分。最大质量差为0(默认值)。
表3f:
Figure BDA0003094817940000593
Figure BDA0003094817940000601
表3f的示例指示第一质量等同描述符应用于由“P1”标识的预选描述符,其中最大质量差等于0。
第二质量等同描述符应用于由“P2”标识的预选描述符,其中最大质量差等于1。
当在MPD中没有声明预选元素时,质量等同描述符在存在时可以通过其第一参数直接引用soma AdaptationSets。第二参数可以指示最大质量差,或者默认情况下指示最大质量差值等于0。下表提供了一些使用示例。
表4a:
Figure BDA0003094817940000602
Figure BDA0003094817940000611
表4a中的示例指示质量等同描述符应用于为给定时段定义的所有内容组分(此处为id为1至4的自适应集),其中最大质量差值等于0。
表4b:
Figure BDA0003094817940000612
表4b中的示例指示质量等同描述符应用于为给定时段定义的所有内容组分(此处为id为1至4的自适应集),其中最大质量差值等于3。虽然最大质量差是显式的,但质量等同性关注的内容组分列表是隐含的。上面的表示法等同于以下表示法:
<SupplementalProperty schemeIdUri="urn:mpeg:dash:quality-equivalence”value=”*3”>
表4c:
Figure BDA0003094817940000613
Figure BDA0003094817940000621
表4c中的示例指示质量等同描述符应用于为给定周期定义的内容组分的子集(此处为id为1和2的自适应集),其中最大质量差值等于0(默认值)。虽然最大质量差是隐含的,但质量等同关注的内容组分列表是显式的。
表4d:
Figure BDA0003094817940000622
表4d中的示例指示质量等同描述符应用于为给定周期定义的内容组分的子集(此处为id为1和2的自适应集),其中最大质量差等于1(显式值)。
表4e:
Figure BDA0003094817940000623
Figure BDA0003094817940000631
表4e中的示例指示两个质量等同描述符各自应用于在周期元素中定义的自适应集的子集。第一个推荐最大质量差值等于1,而第二个推荐最大质量差值等于2。
当在周期元素之上定义时,质量等同描述符类似地适用于在MPD的每个周期中定义的内容组分(预选元素或预选描述符或自适应集元素或内容组分元素)。
应注意,当质量等同描述符引用声明“singleInit”参数等于“true”的预选元素或描述符时,表示的可能组合首先受关于初始化段的约束,然后受关于质量排序的约束所约束。
当在周期级别声明质量等同性时,并且当此质量等同描述符不指示任何内容组分时,质量等同性适用于在质量等同描述符的父元素内声明的所有媒体组分。这意味着当在该父元素内存在多个内容组分选择元素(例如预选元素或描述符)时,质量等同性适用于所有预选的所有媒体组分。这并不意味着允许任何组合,相反这由每个预选的组分指示,并最终使用“singleInit”参数指示。在质量等同性仅适用于在流式传输清单中的给定级别处声明的预选列表中的一个预选的情况下,质量等同描述符应在内容组分选择参数中指示受质量等同性影响的媒体组分的列表。
包括图6a至图6d的图6示出了当使用质量规则描述符时,以及当使用质量等同描述符时,根据“内容创建者”实施例的清单的示例。
图6a涉及基于区块的流式传输。考虑作为图1中所示的视频配置的输入,图6a提供了具有表示为601的一个区块描述的一个流式传输清单600的示例(在九个区块中,为了简洁和清楚起见,将以类似的方式描述其他8个区块)。该流式传输清单基于特定的自适应集元素(“虚拟”属性和“目的”属性)的使用来声明内容组分选择元素602。SRD描述符603指示该虚拟自适应集602包括在3x3区块的所得视频中组装9个区块。
第二描述符604是“解码器要求”描述符,在这里指示该合成将需要多个解码器,可能每个区块一个。在可替代实施例中,“多个”值期望“数字”值,其指示所需的同时解码器实例的数量,例如值(value)=”multiple=9”。
在清单中声明第一表示605以明确描述用于在602中描述的合成中涉及的所有表示的质量等同性。这里例如在associationId属性中作为合成602所涉及的自适应集中的所有表示的列表给出此质量等同性。该列表包含具有相同质量级别的所有表示(这里对应于图1的“HQ”最高质量级别)。dependencyId属性(示例中为5.1)中提到的区块表示是内容创建者描述为组合602的主要组分的区块。这是将由不支持预选或组合描述或者不能一次解码九个区块的客户端装置播放的区块。
在客户端装置需要动态调整流式传输的情况下,以下表示描述了预选、组合或合成602的可替代方案。默认情况下,假设内容组分选择元素内的表示的声明顺序从最高质量到最低质量。这可以通过使用这些表示中的qualityRanking属性(具有其原始语义,而不由先前实施例中的质量等同描述符过载)来明确。
例如,表示606(具有id=”C.2”)向客户端装置指示合成的可替代版本,其对于所得到的合成视频具有较低的总体质量。该可替代方案仍然考虑最高质量的中央区块(dependencyId属性中的表示“5.1”)但是降低了用于周围区块的质量:所有都是从606中的“MQ”表示中选择的。
最后一个表示607描述了另一个可替代方案,如果带宽不使得能够使用前一个表示的话:该一个表示将中央区块的质量从“HQ”降级为“MQ”(dependencyId属性中的表示“5.2”),也将具有特定模式的周围区块的质量降级:同一行上的区块以中等质量保留(associationId属性中的表示4.2和6.2),而其余区块(行上方和下方)被降级为最低质量。这明确地指示由内容创建者选择的质量规则,并且是在质量规则描述符中表达的质量降级模式的可替代者,如先前实施例中所解释的。
图6b是可替代实施例,其中内容组分选择元素使用预选元素的扩展。它在必需中,例如在必需属性“preselectionComponents”中声明,在组合或预选中涉及的内容组分或自适应集的列表。在这个例子中,这主要包括在每个自适应集中声明图1中的区块。这可以通过使用内容组分或自适应集的唯一标识符来完成,例如“id”属性或“tag”属性或为识别目的而保留的任何语法其他元素。
该预选元素包含SRD描述符623,以指示预选导致将9个区块组合成一个大视频的图片。第二描述符,解码器要求描述符624,指示可以用单个解码器解码和显示由预选产生的合成视频,但是首先需要比特流重建(解码器要求描述符的值属性中的第二参数的对象)。该比特流重建意味着预选(即,对于每个区块)中涉及的每个视频内容组分的级联比特流必须被转码成单个比特流,这里具有9个区块。另一个描述符625指示预选的目的是“区块合成”。这是用于比特流重建过程的有用指示:客户端可以解释它必须重建由在内容组分选择元素(这里是预选元素)中声明的编解码器属性的值和后面跟着简档、层、级别信息的‘hvc2…’指示的类型的比特流,在给定的例子中,这意味着它实际上应该是HEVC比特流。
然后,如图6a的示例中那样,接下来是在此处具有显式qualityRanking属性的可替代表示的列表,以确保客户端理解这些可替代者的排序(应注意,也可以使用selectionPriority属性)。对于预选或组合的每个表示,指示用于合成视频的聚合带宽的带宽属性也可以由客户端用于其动态自适应。
在可替代实施例中,目的描述符625可以实现为预选元素的新属性或元素。类似地,解码器要求描述符可以实现为预选元素的新属性或元素。在两种情况下,图6a和图6b,“合成目的”描述符也可以替代地在内容组分选择元素中声明为标签元素。
图6c示出了当使用在该周期的开始处表达的质量等同描述符641和质量规则描述符640时相同的媒体呈现(即,图1的9个区块以及它们与中心区域上的焦点的组合)。自适应集642是区块1的描述。MPD将每个区块包含一个这样的自适应集(为了简洁和清楚起见未示出)。在该示例中,内容组分选择描述符,这里是预选元素643,不包含用于动态自适应的任何表示。相反,客户端装置依赖于具有等同质量级别的preselectionComponents属性中列出的AdaptationSets上的Representation集合。然后,在质量规则描述符640之后,客户端装置在需要时计算授权的质量降级。在该示例中,质量规则描述符640指示在预选中组装的表示不应具有比2更大的质量排序差,因此减少了用于客户端选择的可能组合的数量。应注意,图6c中所示的示例中的质量等同性在其值属性中提供预选中涉及的自适应集的列表。这里它基于其“id”属性的值。为了消除歧义使用媒体内容组分的哪个参数来指示质量等同性,可以定义schemeIdUri属性中的值以使其是真正显式的,例如:
“urn:mpeg:dash:quality-equivalence-id”指示正在使用属性“id”,或“urn:mpeg:dash:quality-equivalence-tag”指示正在使用属性“tag”来列出预选组合中涉及的媒体内容组分。更一般地,“urn:mpeg:dash:quality-equivalence-xxx”指示使用“xxx”语法元素来标识作为预选或组合的一部分的媒体内容组分。
使引用明确的可替代实施例要在schemeIdUri属性中保持通用值并且从值属性中的第一参数开始,该第一参数提供用于列出所涉及的媒体内容组分的语法元素。例如:
schemeIdUri=“urn:mpeg:dash:quality-equivalence”和value=”id,1,2”或schemeIdUri=“urn:mpeg:dash:quality-equivalence”和value=”tag,AS1,AS2”将分别指示具有id=”1”和id=”2”的自适应集参与预选或组合,并且具有tag=”AS1”和tag=”AS2”的自适应集参与预选或组合。更通常地:
schemeIdUri=“urn:mpeg:dash:quality-equivalence”和value=”foo,foo1,foo2”将指示具有值为foo1和foo2的“foo”元素或属性的媒体内容组分是预选或组合的一部分。
图6d示出了一个示例,根据该示例,质量等同描述符被放置为每个自适应集的表示元素的新属性(参考符号661)。可选地,内容组分选择元素663可以包含列出用于预选或组合的一些预定义质量级别的语法元素。
根据图6d中所示的示例,预选元素663包含新的“级别”属性(这里仅是名称),其被保留用于描述可能的质量级别列表。该信息可以作为内容组分选择元素的子元素放置,例如作为DASH descriptorType元素,通常是具有其自己的schemeIdUri特定值的SupplementalProperty元素。客户端知道在选择媒体内容组分的合成或组合或预选之前可以进行一些自适应是有用的。因为如果不可能进行动态自适应,则这可能导致用户的低体验质量,并且流式传输的客户端可以使用该信息来警告客户端。
将质量级别与内容组分选择元素相关联的可替代实施例可以是将表示661的预选属性的第一值定义为所涉及的组合或预选的值,例如图6d的示例中的“P1”。预选属性将写入:preselect=”P1,HQ”或preselect=”P1,MQ”等。在内容组分选择元素是如前一实施例中所述的自适应集或扩展的自适应集的情况下,“id”属性的值也可以使用。
在基于区块的流式传输的情况下,输入视频是一个分区块的视频HEVC比特流,其(例如,在图5中的封装步骤509期间)被封装到区块基础轨道加上9个区块轨道(对于每个质量级别)中。然后,可以重用在MPEG DASH中为DASH中的区块基础轨道描述做出的一些提议。
在区块和视频流的特定情况下,可以使用与ISO/IEC 14496-15第4版中定义的区块基础轨道的描述相对应的一个或多个自适应集。这还需要在依赖于该自适应集区块基础轨道的表示之间的质量等同性的一些指示作为内容组分描述符,这是因为它允许重建所有的、一个或一组区块。这里的自适应集的特定部分是这样的事实:它在预选或组合中涉及的所有区块轨道之间共享包含解码器设置信息的区块基础轨道。目的描述符指示HEVC分区块,并且解码器要求描述符指示仅视频解码器的单个实例可以处理所得到的合成视频。
当区块用于VR或360°视频时,为了包含用于给定区域的数据,例如投影到立方体的面上的球形场景的一部分,本发明还适用于处理例如正视图和其他视图之间的质量。更一般地,当将记录的3D场景的投影部分投影到被包含在一个或多个区块中的2D表面上时,它适用于VR内容。利用上述实施例,流式传输客户端知道存在由内容创建者指示的降级质量模式。在请求媒体时可以将其考虑在内。这应该有助于跨流式传输客户端的一致体验。另一个实施例可以包括让客户端实现他们自己的专有解决方案以用于质量自适应,如下所述。
客户端自适应逻辑
根据特定实施例,客户端装置的图形用户界面可用于在媒体呈现中挑选若干视频流以在同一显示窗口中合成和渲染它们。这可以通过例如通过在正在播放的视频上绘制矩形来选择一组区块来完成,或者通过定义用于自动ROI显示的一些设置来静态地完成,或任何其他选择手段完成。
可替代地,用户/客户端装置可以不选择特定的一组区块作为ROI,而是选择所有区块。在这种情况下,可以将整组区块视为ROI,并且必须执行质量自适应以确保在这些区块之间在质量方面不会有太多差异。为此,每个视频流在质量、比特率、分辨率等方面进行描述,并且还提供了用于下载相应数据的相应URL。
根据这些实施例,客户端装置实现不同的自适应算法以优化所渲染的视频合成的全局视觉质量,同时有利于ROI的一组区块的质量。例如,在一个实施例中,客户端装置运行经典优化算法,应用该算法来解决速率分配问题。运行优化以便在最大可用带宽的约束下为每个区块选择良好的表示。因此,最大化的目标函数表示整体渲染质量,给予ROI区块更多优先级并惩罚相邻区块之间的质量差异,以便控制视频的不同区域之间的质量差异或质量差。例如,最大化的目标函数可以是:
Figure BDA0003094817940000691
其中
ROI是属于ROI的一组区块;
Figure BDA0003094817940000692
是不属于ROI的一组区块;
NBT是一组区块邻域:它包含一组区块对,每对包含两个相邻区块;
q(t)为给定的区块t提供质量值,该质量取决于用于该区块的所选表示;以及
α、β和γ是离线确定的参数,用于在感知的总体质量和ROI质量之间获得良好的折衷。例如,可以使用α=2,β=1,γ=0.5。
因此,此优化算法的输入将是:
-最大可用带宽,
-每个选定区块的每个可能表示的可能带宽/可用比特率和相关质量,以及
-覆盖ROI的区块,用户希望ROI具有更好的质量,
-以及区块几何图形以保留更近的区块。
例如,通过对该区块的表示的比特率(或者,如果存在,则使用qualityRanking属性)排序,从最高比特率到最低比特率,并将它们拟合到速率/失真曲线,来估计用于给定区块的质量。
为了简单起见,对于第n比特率的质量,可以设置为1/n:于是,最高比特率将具有等于1的质量。可替代地,第n比特率的质量可以设置为rn/r1,其中rn为第n比特流,并且,r1是用于该区块的表示的最高比特率。
这种问题可以看作是组合优化问题。
它可以被解决,或者可以使用经典优化算法找到次优解。例如,可以使用动态编程或专家系统技术。启发式也可用于简化优化过程。作为这种可能的优化算法的示例,给每个ROI区块赋予零权重,并且给作为其到ROI区块的最小曼哈顿距离的每个其他区域赋予权重。优化通过不将质量与所有区块相关联来开始(即,不会传输区块)。接下来,在不超过最大带宽的同时,迭代地考虑具有零权重,然后具有1权重,直到最高权重的区块的最低质量。接下来,在不超过最大带宽的情况下,从‘max_d=0’开始,迭代地增加具有零权重、直到具有“max_d”权重的区块的质量(如果有更好的质量可用)。然后,增加‘max_d’。如果不是所有的区块都具有最佳质量,则算法继续。这些值用于首先降低最远的区块的质量,然后降低到最远和“次最远”的区块。该优化算法使得可以在相邻区块之间获得“1”的最大质量差。它可以很容易地扩展到支持其他最大质量差,或其他质量变化模式。
这种优化算法可以作为预定义的自适应逻辑算法嵌入客户端装置中。其他自适应逻辑算法也可以嵌入在客户端装置中(例如,图3中的模块309),每个自适应逻辑算法遵循不同的预定义质量自适应规则。然后,取决于用户对内容的使用的选择,客户端装置可以激活最相关的自适应算法。
可以给客户端选择最相关的算法,以便在流式传输清单中不需要额外的信令。这简化了内容创建者的任务。
另一可替代方案涉及一次为一个自适应集运行的经典自适应逻辑(例如,图3中的自适应逻辑308)的扩展:客户端使用来自清单的信息来计算可能的组合:例如SRD描述符,预选元素等。然后,它构建具有相关的所需带宽的可能组合的存储器内有序列表(作为组合中涉及的每个表示的@bandwidth之和)。
接下来,为了避免在切换中花费太多时间,可以将该组可能组合简化为预定组合的子集,例如简化为5个可替代者。这可以通过保持在所需带宽方面具有显著差异的组合来完成。通过这样做,对于一个自适应集,客户端可以通过如下操作来继续使用自适应逻辑:当更多带宽可用时(或缓冲区正快速填充),切换到下一组表示,或者在可用带宽正在减少(或缓冲区正有饥饿风险)时,反向切换回较低的一组表示。主要区别在于,在这种情况下,切换导致多个请求(形成组合的具有相同的媒体类型的该组表示中的每个表示一个请求),而在经典使用情况下,对于给定媒体类型的一个表示的段,切换导致一个请求。这些自适应逻辑可以直接运行而无需任何“质量规则”描述符。在这种情况下,所有选择都被允许给客户。可替代地,客户端可以利用“质量规则”和/或“质量等同”描述符的好处,以便选择其自适应逻辑中的最佳一个,从而改进对用户的呈现。
服务器装置控制:推送和重定向
根据特定实施例,客户端装置在没有关于质量自适应规则的信息的情况下请求媒体段。在该实施例中,质量自适应规则保持在服务器侧,并且流式传输清单不包含在先前实施例中引入的质量自适应规则描述符。
清单可以包含组合或预选的描述。在该实施例中,用户通过图形用户界面可以选择观看模式,例如强调ROI和周围区块的较低版本。如果服务器和客户端都支持HTTP/2,则客户端可以向服务器指示,同时请求组合或预选的主要组分,即它也对其他组分感兴趣。
这可以通过引入新的推送指令来完成,例如将推送类型名称设置为“urn:mpeg:dash:fdh:push-bundle”。这要求服务器也支持推送指令并了解可能的组合或预选。质量规则也是服务器已知的,例如主要资源与预选的其他组分之间的质量级别的最大差异。这可以通过能够分析流式传输清单的DASH识别服务器或者由被配置为使得它知道哪些资源与预选的主要资源相关的服务器来完成。响应于预选的主要资源上的GET请求,服务器可以承诺在预选中推送相关资源。当知道MPD时,服务器可以从所请求的资源确定客户端请求的质量级别。可替代地,推送指令可以指示对主资源请求的质量级别,作为推送包指令的参数。例如,它可以作为带宽信息给出:
Accept-Push-Policy=“urn:mpeg:fdh:push-bundle”;“bw:1000000”意味着主要资源是以1M比特/秒的速度请求或作为质量级别的指示:
Accept-Push-Policy=“urn:mpeg:fdh:push-bundle”;“qRank:HQ”在图1的区块的情况下,或者在预选属性用于质量等同性的情况下:
Accept-Push-Policy=“urn:mpeg:fdh:push-bundle”;“preselect:HQ”。在ROI使用情况中,该推送指令可以简化客户端的请求:它在服务器推送周围的区块时发出针对对应于ROI的视频部分的请求。这种基于推送指令的方法简化了客户端任务:它只需要知道预选存在,专注于请求主要资源并等待服务器发送与为主要资源选择的指令级别均质的质量级别的其他组分。当接受并应用推送指令时,服务器以推送Ack回复:
Push-policy=“urn:mpeg:fdh:push-bundle”;没有任何参数来确认客户端发送的请求和指令。当推送包的确认包含参数时,客户端使用它来识别媒体内容组分的预选或组合中的质量等同级别。这可以是诸如“preselect=HQ”或“qRank=MQ”的参数,这取决于正在使用哪个质量等同描述符。
图7是用于实现本发明的一个或多个实施例的计算设备700的示意性框图。计算设备700可以是诸如微计算机、工作站或轻便携式设备之类的设备。计算设备700包括连接到以下的通信总线:
-中央处理单元(CPU)701,例如,微处理器;
-用于存储本发明实施例的方法的可执行代码的随机存取存储器(RAM)702以及适于记录实现用于流式传输数据的方法所需的变量和参数的寄存器,其存储容量可以通过连接到例如扩展端口的可选RAM来扩展;
-只读存储器(ROM)703,用于存储用于实现本发明实施例的计算机程序;
-网络接口704,其通常又连接到通信网络,在该通信网络上发送或接收要处理的数字数据。网络接口704可以是单个网络接口,或者由一组不同的网络接口(例如有线和无线接口,或不同种类的有线或无线接口)组成。在CPU 701中运行的软件应用程序的控制下,数据被写入网络接口以进行传输,或者从网络接口读取数据以进行接收;
-用户界面(UI)705,用于接收来自用户的输入或向用户显示信息;
-硬盘(HD)706;
-用于从向诸如视频源或显示器之类的外部设备接收数据/向该外部设备发送数据的I/O模块707。
可执行代码可以存储在只读存储器703中,硬盘706上或可移除数字介质(比如磁盘)上。根据一种变型,程序的可执行代码可以通过通信网络经由网络接口704接收,以便在被执行之前存储在通信设备700的存储装置之一(比如硬盘706)中。
中央处理单元701适于根据本发明的实施例来控制和指导一个程序或多个程序的软件代码的指令或部分的执行,该指令存储在前述存储装置之一中。在通电之后,CPU 701能够在例如从程序ROM 703或硬盘(HD)706加载这些指令之后,执行与软件应用有关的来自主要RAM存储器702的指令。当由CPU 701执行时,这种软件应用使得执行前面附图中所示的流程图的步骤。
在该实施例中,该装置是可编程装置,其使用软件来实现本发明。然而,可替代地,本发明可以以硬件(例如,以专用集成电路或ASIC的形式)实现。
虽然已经在附图和前面的描述中详细图示和描述了本发明,但是这样的图示和描述被认为是说明性或示例性的而非限制性的,本发明不限于所公开的实施例。通过研究附图、公开内容和所附权利要求,本领域技术人员在实践所要求保护的发明时可以理解和实现所公开实施例的其他变型。
这些变型尤其可以从本发明的概述和/或所附权利要求中阐述的组合实施例得到。
在权利要求中,词语“包括”不排除其他元素或步骤,并且不定冠词“一”或“一个”不排除多个。单个处理器或其他单元可以实现权利要求中记载的若干项的功能。仅有在相互不同的从属权利要求中叙述不同特征的事实不指示不能有利地使用这些特征的组合。权利要求中的任何附图标记不应被解释为限制本发明的范围。

Claims (16)

1.一种发送用于流式传输媒体数据的信息的方法,所述媒体数据包括基础轨道和区块轨道,所述方法包括在服务器设备处:
生成对所述媒体数据的媒体呈现描述MPD,所述媒体呈现描述MPD包括:
描述基础轨道的自适应集;
对于区块轨道中的每一个,描述区块轨道的自适应集;
包含描述基础轨道的自适应集和描述区块轨道的自适应集的预选,其中,所述预选的主要自适应集与描述基础轨道的自适应集对应;
其中,自适应集和预选符合HTTP上的动态自适应流式传输DASH;以及
将所述MPD发送到客户端设备。
2.根据权利要求1所述的方法,其中,描述基础轨道的自适应集包括表示,并且描述区块轨道的自适应集包括一个或多个表示,并且所述表示符合DASH;其中,区块轨道的表示和基础轨道的表示彼此关联。
3.根据权利要求2所述的方法,其中,描述区块轨道的每个表示包括dependencyId属性,所述dependencyId属性具有等于基础轨道的表示的标识符的值。
4.根据权利要求1所述的方法,其中,区块轨道的自适应集和基础轨道的自适应集彼此关联。
5.根据权利要求4所述的方法,其中,一个自适应集与另一个自适应集的关联使用质量等同描述符进行。
6.根据权利要求1所述的方法,其中,所述MPD包括用于指示所述客户端设备应当仅对共享基础轨道的初始化段的表示进行组合的数据。
7.根据权利要求6所述的方法,其中,用于指示的所述数据包括预选描述符,所述预选描述符包括属性。
8.一种接收用于流式传输媒体数据的信息的方法,所述媒体数据包括基础轨道和区块轨道,所述方法包括在客户端设备处:
接收对所述媒体数据的媒体呈现描述MPD,所述媒体呈现描述MPD包括:
描述基础轨道的自适应集;
对于区块轨道中的每一个,描述区块轨道的自适应集;
包含描述基础轨道的自适应集和描述区块轨道的自适应集的预选,其中,所述预选的主要自适应集与描述基础轨道的自适应集对应;
其中,自适应集和预选符合HTTP上的动态自适应流式传输DASH。
9.根据权利要求8所述的方法,其中,描述基础轨道的自适应集包括表示,并且描述区块轨道的自适应集包括一个或多个表示,并且所述表示符合DASH;其中,区块轨道的表示和基础轨道的表示彼此关联。
10.根据权利要求9所述的方法,其中,描述区块轨道的每个表示包括dependencyId属性,所述dependencyId属性具有等于基础轨道的表示的标识符的值。
11.根据权利要求8所述的方法,其中,区块轨道的自适应集和基础轨道的自适应集彼此关联。
12.根据权利要求11所述的方法,其中,一个自适应集与另一个自适应集的关联使用质量等同描述符进行。
13.根据权利要求8所述的方法,其中,所述MPD包括用于指示所述客户端设备应当仅对共享基础轨道的初始化段的表示进行组合的数据。
14.根据权利要求13所述的方法,其中,用于指示的所述数据包括预选描述符,所述预选描述符包括属性。
15.一种用于发送用于流式传输媒体数据的信息的处理装置,所述媒体数据包括基础轨道和区块轨道,所述处理装置被配置为执行以下步骤:
生成对所述媒体数据的媒体呈现描述MPD,所述媒体呈现描述MPD包括:
描述基础轨道的自适应集;
对于区块轨道中的每一个,描述区块轨道的自适应集;
包含描述基础轨道的自适应集和描述区块轨道的自适应集的预选,其中,所述预选的主要自适应集与描述基础轨道的自适应集对应;
其中,自适应集和预选符合HTTP上的动态自适应流式传输DASH;以及
将所述MPD发送到客户端设备。
16.一种用于接收用于流式传输媒体数据的信息的处理装置,所述媒体数据包括基础轨道和区块轨道,所述处理装置被配置为执行以下步骤:
接收对所述媒体数据的媒体呈现描述MPD,所述媒体呈现描述MPD包括:
描述基础轨道的自适应集;
对于区块轨道中的每一个,描述区块轨道的自适应集;
包含描述基础轨道的自适应集和描述区块轨道的自适应集的预选,其中,所述预选的主要自适应集与描述基础轨道的自适应集对应;
其中,自适应集和预选符合HTTP上的动态自适应流式传输DASH。
CN202110609049.7A 2016-10-10 2017-10-10 在定时媒体数据流式传输期间改进渲染显示的方法、设备和计算机程序 Active CN113141379B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GB1617205.8 2016-10-10
GB1617205.8A GB2554877B (en) 2016-10-10 2016-10-10 Methods, devices, and computer programs for improving rendering display during streaming of timed media data
CN201780061368.0A CN109804635B (zh) 2016-10-10 2017-10-10 在定时媒体数据流式传输期间改进渲染显示的方法和设备
PCT/EP2017/075870 WO2018069357A1 (en) 2016-10-10 2017-10-10 Methods, devices, and computer programs for improving rendering display during streaming of timed media data

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201780061368.0A Division CN109804635B (zh) 2016-10-10 2017-10-10 在定时媒体数据流式传输期间改进渲染显示的方法和设备

Publications (2)

Publication Number Publication Date
CN113141379A CN113141379A (zh) 2021-07-20
CN113141379B true CN113141379B (zh) 2022-12-20

Family

ID=57610533

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202110609049.7A Active CN113141379B (zh) 2016-10-10 2017-10-10 在定时媒体数据流式传输期间改进渲染显示的方法、设备和计算机程序
CN201780061368.0A Active CN109804635B (zh) 2016-10-10 2017-10-10 在定时媒体数据流式传输期间改进渲染显示的方法和设备

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201780061368.0A Active CN109804635B (zh) 2016-10-10 2017-10-10 在定时媒体数据流式传输期间改进渲染显示的方法和设备

Country Status (9)

Country Link
US (2) US10979783B2 (zh)
EP (2) EP3523981B1 (zh)
JP (2) JP7035038B2 (zh)
KR (2) KR102249173B1 (zh)
CN (2) CN113141379B (zh)
ES (1) ES2952427T3 (zh)
GB (1) GB2554877B (zh)
RU (1) RU2724318C1 (zh)
WO (1) WO2018069357A1 (zh)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2554877B (en) * 2016-10-10 2021-03-31 Canon Kk Methods, devices, and computer programs for improving rendering display during streaming of timed media data
US11659057B2 (en) * 2017-04-19 2023-05-23 Comcast Cable Communications, Llc Methods and systems for content delivery using server push
GB2587091B (en) 2017-04-21 2022-01-05 Zenimax Media Inc Systems and methods for encoder-guided adaptive-quality rendering
JP2019054417A (ja) 2017-09-15 2019-04-04 ソニー株式会社 画像処理装置およびファイル生成装置
JP7035401B2 (ja) * 2017-09-15 2022-03-15 ソニーグループ株式会社 画像処理装置およびファイル生成装置
US11321516B2 (en) * 2018-01-19 2022-05-03 Qualcomm Incorporated Processing dynamic web content of an ISO BMFF web resource track
EP3531703A1 (en) * 2018-02-26 2019-08-28 Thomson Licensing Method and network equipment for encoding an immersive video spatially tiled with a set of tiles
US11153482B2 (en) * 2018-04-27 2021-10-19 Cubic Corporation Optimizing the content of a digital omnidirectional image
US10567780B2 (en) 2018-06-14 2020-02-18 Telefonaktiebolaget Lm Ericsson (Publ) System and method for encoding 360° immersive video
US10623736B2 (en) * 2018-06-14 2020-04-14 Telefonaktiebolaget Lm Ericsson (Publ) Tile selection and bandwidth optimization for providing 360° immersive video
US10432970B1 (en) * 2018-06-14 2019-10-01 Telefonaktiebolaget Lm Ericsson (Publ) System and method for encoding 360° immersive video
US10419738B1 (en) 2018-06-14 2019-09-17 Telefonaktiebolaget Lm Ericsson (Publ) System and method for providing 360° immersive video based on gaze vector information
US10523914B1 (en) 2018-07-26 2019-12-31 Telefonaktiebolaget Lm Ericsson (Publ) System and method for providing multiple 360° immersive video sessions in a network
US10841662B2 (en) 2018-07-27 2020-11-17 Telefonaktiebolaget Lm Ericsson (Publ) System and method for inserting advertisement content in 360° immersive video
US10440416B1 (en) 2018-10-01 2019-10-08 Telefonaktiebolaget Lm Ericsson (Publ) System and method for providing quality control in 360° immersive video during pause
US10757389B2 (en) 2018-10-01 2020-08-25 Telefonaktiebolaget Lm Ericsson (Publ) Client optimization for providing quality control in 360° immersive video during pause
CN113424549B (zh) 2019-01-24 2024-05-28 交互数字Vc控股公司 用于利用多个细节级别和自由度的自适应空间内容流传输的系统和方法
GB2582155B (en) * 2019-03-12 2023-12-27 Canon Kk Method, device, and computer program for signaling available portions of encapsulated media content
WO2021064664A1 (en) * 2019-10-04 2021-04-08 Enensys Expway Method for broadcasting dash/hls hybrid multimedia streams
US11178439B2 (en) 2019-12-16 2021-11-16 Rovi Guides, Inc. Systems and methods for optimizing bandwidth for data transmission
EP4097987A4 (en) 2020-06-24 2023-03-08 ZTE Corporation METHODS AND APPARATUS FOR PROCESSING VOLUMETRIC MULTIMEDIA CONTENT
CN111726687B (zh) * 2020-06-30 2022-12-27 北京百度网讯科技有限公司 用于生成显示数据的方法和装置
KR20220012740A (ko) * 2020-07-23 2022-02-04 삼성전자주식회사 통신 시스템에서 컨텐츠의 송수신을 제어하기 위한 방법 및 장치
WO2022056666A1 (en) * 2020-09-15 2022-03-24 Qualcomm Incorporated Methods and apparatus for video over nr-dc
US11687386B2 (en) * 2020-10-07 2023-06-27 Tencent America LLC MPD validity expiration processing model
US20230019913A1 (en) * 2021-06-30 2023-01-19 Lemon Inc. Signaling Size and Position of Target Picture-In-Picture Region
US20230007210A1 (en) * 2021-06-30 2023-01-05 Lemon Inc. Signaling the Purpose of Preselection
US20230144442A1 (en) * 2021-11-05 2023-05-11 Tencent America LLC Immersive media streaming prioritized by asset complexity
US20240129537A1 (en) * 2022-10-18 2024-04-18 Tencent America LLC Method and apparatus for signaling cmaf switching sets in isobmff

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104079622A (zh) * 2013-03-25 2014-10-01 索尼公司 用于媒体分发的设备、方法及系统
CN104854877A (zh) * 2012-10-04 2015-08-19 爱立信电视公司 用于创建描述符文件的多个版本的系统和方法
CN104885473A (zh) * 2013-01-04 2015-09-02 高通股份有限公司 用于经由http的动态自适应流式传输(dash)的实况定时
CN105379293A (zh) * 2013-04-19 2016-03-02 华为技术有限公司 基于超文本协议的动态自适应流媒体中的媒体质量信息指示
CN105684452A (zh) * 2013-10-22 2016-06-15 佳能株式会社 用于对可分级分区定时媒体数据进行封装的方法、装置和计算机程序

Family Cites Families (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5491645A (en) * 1993-10-13 1996-02-13 International Business Machines Corporation Method and system for N-track correlation
US9049449B2 (en) * 2005-04-13 2015-06-02 Nokia Corporation Coding of frame number in scalable video coding
WO2006109117A1 (en) * 2005-04-13 2006-10-19 Nokia Corporation Method, device and system for effectively coding and decoding of video data
US9521469B2 (en) * 2013-04-19 2016-12-13 Futurewei Technologies, Inc. Carriage of quality information of content in media formats
CA2762967A1 (en) * 2009-05-21 2010-11-25 Intertrust Technologies Corporation Content delivery systems and methods
US8924580B2 (en) 2011-08-12 2014-12-30 Cisco Technology, Inc. Constant-quality rate-adaptive streaming
US8396983B1 (en) * 2012-03-13 2013-03-12 Google Inc. Predictive adaptive media streaming
WO2014011848A2 (en) * 2012-07-12 2014-01-16 Huawei Technologies Co., Ltd. Signaling and processing content with variable bitrates for adaptive streaming
US9125073B2 (en) 2012-08-03 2015-09-01 Intel Corporation Quality-aware adaptive streaming over hypertext transfer protocol using quality attributes in manifest file
GB2505912B (en) * 2012-09-14 2015-10-07 Canon Kk Method and device for generating a description file, and corresponding streaming method
MY169901A (en) * 2013-04-12 2019-06-13 Ericsson Telefon Ab L M Constructing inter-layer reference picture lists
GB2513140B (en) 2013-04-16 2016-05-04 Canon Kk Methods, devices, and computer programs for streaming partitioned timed media data
US20150006621A1 (en) * 2013-07-01 2015-01-01 Futurewei Technologies, Inc. Adaptive Video Streaming for Information Centric Networks
US20150026358A1 (en) 2013-07-19 2015-01-22 Futurewei Technologies, Inc. Metadata Information Signaling And Carriage In Dynamic Adaptive Streaming Over Hypertext Transfer Protocol
EP3062523B1 (en) * 2013-10-22 2019-01-30 Sharp Kabushiki Kaisha Display processing device, distribution device, and metadata
US10841353B2 (en) * 2013-11-01 2020-11-17 Ericsson Ab System and method for optimizing defragmentation of content in a content delivery network
GB2558086B (en) * 2014-03-25 2019-02-20 Canon Kk Methods, devices, and computer programs for improving streaming of partitioned timed media data
JP6440747B2 (ja) * 2014-06-27 2018-12-19 コニンクリーケ・ケイピーエヌ・ナムローゼ・フェンノートシャップ Hevcでタイル化されたビデオ・ストリームに基づく関心領域の決定
EP3163882B1 (en) * 2014-06-30 2019-08-07 Sony Corporation Information processing device and method
US10305941B2 (en) * 2014-10-21 2019-05-28 Lg Electronics Inc. Broadcasting signal transmission device, broadcasting signal reception device, broadcasting signal transmission method, and broadcasting signal reception method
KR101844237B1 (ko) * 2014-11-17 2018-04-02 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
CA3126649C (en) * 2014-11-20 2023-10-17 Lg Electronics Inc. Apparatus for transmitting broadcast signal, apparatus for receiving broadcast signal, method for transmitting broadcast signal and method for receiving broadcast signal
US10742705B2 (en) * 2014-11-20 2020-08-11 Lg Electronics Inc. Broadcast signal transmission device, broadcast signal reception device, broadcast signal transmission method, and broadcast signal reception method
US20160149956A1 (en) * 2014-11-21 2016-05-26 Whip Networks, Inc. Media management and sharing system
US9860571B2 (en) * 2014-12-10 2018-01-02 Lg Electronics Inc. Apparatus for transmitting broadcast signal, apparatus for receiving broadcast signal, method for transmitting broadcast signal and method for receiving broadcast signal
WO2016122267A1 (ko) * 2015-01-29 2016-08-04 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016129866A1 (ko) * 2015-02-10 2016-08-18 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016129868A1 (ko) * 2015-02-10 2016-08-18 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016129869A1 (ko) * 2015-02-13 2016-08-18 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
EP3288270B1 (en) * 2015-04-22 2020-06-03 LG Electronics Inc. Broadcasting signal transmission device, broadcasting signal reception device, broadcasting signal transmission method, and broadcasting signal reception method
WO2016204481A1 (ko) * 2015-06-16 2016-12-22 엘지전자 주식회사 미디어 데이터 전송 장치, 미디어 데이터 수신 장치, 미디어 데이터 전송 방법, 및 미디어 데이터 수신 방법
US20180242028A1 (en) * 2015-08-20 2018-08-23 Koninklijke Kpn N.V. Forming A Tiled Video On The Basis Of Media Streams
EP3338454A1 (en) * 2015-08-20 2018-06-27 Koninklijke KPN N.V. Forming one or more tile streams on the basis of one or more video streams
EP3360330B1 (en) * 2015-10-08 2021-03-24 Koninklijke KPN N.V. Enhancing a region of interest in video frames of a video stream
CA3001290C (en) * 2015-10-13 2024-02-06 Sony Corporation Transmission apparatus, transmission method, reception apparatus, and reception method
US9854375B2 (en) * 2015-12-01 2017-12-26 Qualcomm Incorporated Selection of coded next generation audio data for transport
US10674229B2 (en) * 2016-02-01 2020-06-02 Dolby Laboratories Licensing Corporation Enabling personalized audio in adaptive streaming
WO2017164270A1 (en) * 2016-03-25 2017-09-28 Sharp Kabushiki Kaisha Systems and methods for signaling of information associated with audio content
US20190141311A1 (en) * 2016-04-26 2019-05-09 Lg Electronics Inc. Method for transmitting 360-degree video, method for receiving 360-degree video, apparatus for transmitting 360-degree video, apparatus for receiving 360-degree video
CN109155861B (zh) * 2016-05-24 2021-05-25 诺基亚技术有限公司 用于编码媒体内容的方法和装置以及计算机可读存储介质
GB2550604A (en) * 2016-05-24 2017-11-29 Canon Kk Method, device, and computer program for encapsulating and parsing timed media data
CN109511284B (zh) * 2016-05-26 2023-09-01 Vid拓展公司 视窗自适应360度视频传送的方法和设备
GB2550912B (en) * 2016-05-27 2019-09-04 Canon Kk Method, device and computer program for encapsulating and parsing timed media data
GB2554877B (en) 2016-10-10 2021-03-31 Canon Kk Methods, devices, and computer programs for improving rendering display during streaming of timed media data
US10917564B2 (en) * 2016-10-12 2021-02-09 Qualcomm Incorporated Systems and methods of generating and processing files for partial decoding and most interested regions
EP3535977A4 (en) * 2016-11-01 2020-05-20 Nokia Technologies Oy APPARATUS, METHOD, AND COMPUTER PROGRAM FOR VIDEO ENCODING AND DECODING
KR102546152B1 (ko) * 2017-02-15 2023-06-22 한국전자통신연구원 고정/이동방송 융합형 3DTV에서 화질 개선을 위한 부가 데이터(Video Enhancement Information, VEI) 시그널링 방법 및 장치
KR102314172B1 (ko) * 2017-03-23 2021-10-20 브이아이디 스케일, 인크. 360도 적응형 스트리밍에 대한 경험을 개선하기 위한 메트릭 및 메시지
GB2560921B (en) * 2017-03-27 2020-04-08 Canon Kk Method and apparatus for encoding media data comprising generated content
WO2018178507A1 (en) * 2017-03-27 2018-10-04 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
GB2587091B (en) * 2017-04-21 2022-01-05 Zenimax Media Inc Systems and methods for encoder-guided adaptive-quality rendering
WO2019002662A1 (en) * 2017-06-26 2019-01-03 Nokia Technologies Oy APPARATUS, METHOD AND COMPUTER PROGRAM FOR OMNIDIRECTIONAL VIDEO
US11082719B2 (en) * 2017-07-03 2021-08-03 Nokia Technologies Oy Apparatus, a method and a computer program for omnidirectional video
CN110832873A (zh) * 2017-07-06 2020-02-21 夏普株式会社 用于针对虚拟现实应用程序发送信号通知视图信息的系统和方法
CN111052748B (zh) * 2017-07-06 2022-05-17 弗劳恩霍夫应用研究促进协会 客户端设备和操作客户端设备的方法
US11665219B2 (en) * 2017-07-10 2023-05-30 Qualcomm Incorporated Processing media data using a generic descriptor for file format boxes
US20190014362A1 (en) * 2017-07-10 2019-01-10 Qualcomm Incorporated Enhanced region-wise packing and viewport independent hevc media profile
US10587883B2 (en) * 2017-07-14 2020-03-10 Qualcomm Incorporated Region-wise packing, content coverage, and signaling frame packing for media content
JP2019054417A (ja) * 2017-09-15 2019-04-04 ソニー株式会社 画像処理装置およびファイル生成装置
JP7035401B2 (ja) * 2017-09-15 2022-03-15 ソニーグループ株式会社 画像処理装置およびファイル生成装置
KR102411337B1 (ko) * 2017-10-09 2022-06-22 노키아 테크놀로지스 오와이 비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램
GB2567624B (en) * 2017-10-12 2021-05-26 Canon Kk Method, device and computer program for transmitting media content
WO2019130763A1 (ja) * 2017-12-28 2019-07-04 ソニー株式会社 情報処理装置、情報処理方法およびプログラム
EP3769515A1 (en) * 2018-03-22 2021-01-27 Huawei Technologies Co., Ltd. Immersive media metrics for rendered viewports
US20210058600A1 (en) * 2018-04-04 2021-02-25 Sharp Kabushik Kaisha Systems and methods for signaling sub-picture composition information for virtual reality applications
WO2019195101A1 (en) * 2018-04-05 2019-10-10 Futurewei Technologies, Inc. Efficient association between dash objects
EP3776484A4 (en) * 2018-04-06 2021-05-05 Huawei Technologies Co., Ltd. ASSOCIATION OF FILE FORMAT OBJECTS AND OBJECTS WITH DYNAMIC ADAPTIVE STREAMING OVER HYPERTEXT TRANSFER PROTOCOL (DASH)
US10623736B2 (en) * 2018-06-14 2020-04-14 Telefonaktiebolaget Lm Ericsson (Publ) Tile selection and bandwidth optimization for providing 360° immersive video
US10567780B2 (en) * 2018-06-14 2020-02-18 Telefonaktiebolaget Lm Ericsson (Publ) System and method for encoding 360° immersive video
US10432970B1 (en) * 2018-06-14 2019-10-01 Telefonaktiebolaget Lm Ericsson (Publ) System and method for encoding 360° immersive video
US10419738B1 (en) * 2018-06-14 2019-09-17 Telefonaktiebolaget Lm Ericsson (Publ) System and method for providing 360° immersive video based on gaze vector information
US10523914B1 (en) * 2018-07-26 2019-12-31 Telefonaktiebolaget Lm Ericsson (Publ) System and method for providing multiple 360° immersive video sessions in a network
US10841662B2 (en) * 2018-07-27 2020-11-17 Telefonaktiebolaget Lm Ericsson (Publ) System and method for inserting advertisement content in 360° immersive video
CN112640473A (zh) * 2018-08-30 2021-04-09 夏普株式会社 用于发送信号通知子图片定时元数据信息的系统和方法
US11082728B2 (en) * 2018-08-31 2021-08-03 Electronics And Telecommunications Research Institute Method and apparatus for providing broadcast service based on scalable codec
WO2020053477A2 (en) * 2018-09-12 2020-03-19 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
US10757389B2 (en) * 2018-10-01 2020-08-25 Telefonaktiebolaget Lm Ericsson (Publ) Client optimization for providing quality control in 360° immersive video during pause
US10440416B1 (en) * 2018-10-01 2019-10-08 Telefonaktiebolaget Lm Ericsson (Publ) System and method for providing quality control in 360° immersive video during pause
CN111417008B (zh) * 2019-01-08 2022-06-03 诺基亚技术有限公司 用于虚拟现实的方法、装置和计算机可读介质
US11381739B2 (en) * 2019-01-23 2022-07-05 Intel Corporation Panoramic virtual reality framework providing a dynamic user experience
US11094130B2 (en) * 2019-02-06 2021-08-17 Nokia Technologies Oy Method, an apparatus and a computer program product for video encoding and video decoding
CN114930866A (zh) * 2020-01-03 2022-08-19 诺基亚技术有限公司 用于实时纹理适配的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104854877A (zh) * 2012-10-04 2015-08-19 爱立信电视公司 用于创建描述符文件的多个版本的系统和方法
CN104885473A (zh) * 2013-01-04 2015-09-02 高通股份有限公司 用于经由http的动态自适应流式传输(dash)的实况定时
CN104079622A (zh) * 2013-03-25 2014-10-01 索尼公司 用于媒体分发的设备、方法及系统
CN105379293A (zh) * 2013-04-19 2016-03-02 华为技术有限公司 基于超文本协议的动态自适应流媒体中的媒体质量信息指示
CN105684452A (zh) * 2013-10-22 2016-06-15 佳能株式会社 用于对可分级分区定时媒体数据进行封装的方法、装置和计算机程序

Also Published As

Publication number Publication date
GB2554877A (en) 2018-04-18
ES2952427T3 (es) 2023-10-31
KR102286881B1 (ko) 2021-08-09
RU2724318C1 (ru) 2020-06-22
US11184683B2 (en) 2021-11-23
KR102249173B1 (ko) 2021-05-10
JP7035038B2 (ja) 2022-03-14
WO2018069357A1 (en) 2018-04-19
EP3523981B1 (en) 2023-05-17
JP2022066370A (ja) 2022-04-28
US10979783B2 (en) 2021-04-13
KR20210052596A (ko) 2021-05-10
GB201617205D0 (en) 2016-11-23
US20210185411A1 (en) 2021-06-17
CN113141379A (zh) 2021-07-20
CN109804635B (zh) 2021-06-18
JP2019531662A (ja) 2019-10-31
EP4224863A2 (en) 2023-08-09
CN109804635A (zh) 2019-05-24
EP4224863A3 (en) 2023-08-16
JP7263583B2 (ja) 2023-04-24
KR20190054165A (ko) 2019-05-21
GB2554877B (en) 2021-03-31
US20200053435A1 (en) 2020-02-13
EP3523981A1 (en) 2019-08-14

Similar Documents

Publication Publication Date Title
CN113141379B (zh) 在定时媒体数据流式传输期间改进渲染显示的方法、设备和计算机程序
JP6591009B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
US10135952B2 (en) Method and corresponding device for streaming video data
US10862943B2 (en) Methods, devices, and computer programs for improving streaming of partitioned timed media data
JP2016521497A5 (zh)
KR101944601B1 (ko) 기간들에 걸쳐 오브젝트들을 식별하기 위한 방법 및 이에 대응하는 디바이스

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