CN114616801A - 在媒体流式传输中使用组合索引段轨道用信号通知带宽上限 - Google Patents
在媒体流式传输中使用组合索引段轨道用信号通知带宽上限 Download PDFInfo
- Publication number
- CN114616801A CN114616801A CN202180005996.3A CN202180005996A CN114616801A CN 114616801 A CN114616801 A CN 114616801A CN 202180005996 A CN202180005996 A CN 202180005996A CN 114616801 A CN114616801 A CN 114616801A
- Authority
- CN
- China
- Prior art keywords
- segment
- segments
- media
- duration
- index
- 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
Links
- 230000011664 signaling Effects 0.000 title claims description 19
- 238000000034 method Methods 0.000 claims abstract description 52
- 230000006978 adaptation Effects 0.000 claims abstract description 41
- 239000000872 buffer Substances 0.000 claims abstract description 30
- 238000004590 computer program Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 11
- 230000033001 locomotion Effects 0.000 description 18
- 230000006835 compression Effects 0.000 description 16
- 238000007906 compression Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 239000013598 vector Substances 0.000 description 8
- 230000002123 temporal effect Effects 0.000 description 7
- 230000001052 transient effect Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 5
- 239000012634 fragment Substances 0.000 description 4
- 238000013442 quality metrics Methods 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 230000000153 supplemental effect Effects 0.000 description 2
- 239000000370 acceptor Substances 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000014102 antigen processing and presentation of exogenous peptide antigen via MHC class I Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 210000004247 hand Anatomy 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013403 standard screening design Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
- H04L47/365—Dynamic adaptation of the packet size
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/38—Flow control; Congestion control by adapting coding or compression rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
包括一种方法和一种装置,该装置包括计算机代码,该计算机代码被配置成使一个或多个处理器进行下述操作:获得视频数据;基于该视频数据来创建指示段带宽并包括媒体适配集的多个对准段的信息的定时元数据轨道,使得所述对准段中的每个对准段的持续时间信息和大小信息被包括在至少一个元数据样本中;基于定时元数据轨道指示视频数据的多个表示中的每个表示的输入缓冲是否至少溢出来向所述多个表示中的一个表示进行切换;以及将所述多个表示中的一个表示传递至客户端。
Description
相关申请的交叉引用
本申请要求于2021年4月28日提交的美国专利申请第17/242,875号的权益,该美国专利申请要求于2020年6月23日提交的临时申请US 63/042,959和于2020年10月7日提交的临时申请US 63/088,712的优先权,上述美国专利申请和两个临时申请的全部内容在此通过引用明确地并入本申请中。
背景技术
1.技术领域
本公开内容涉及通过HTTP的动态自适应流式传输(DASH)信号传送。
2.相关技术的描述
MPEG DASH提供了用于通过IP网络流式传输多媒体内容的标准。ISO/IEC 23009-1DASH标准允许多速率内容的流式传输。然而,虽然DASH客户端可以基于可用的网络带宽和其缓冲器充满程度挑选同一内容的多个表示中的段,同时DASH标准提供了用于描述每个表示的平均带宽的方法,但是没有提供段在单个表示中的瞬时带宽波动,并且因此,即使给出了表示的平均比特率,也可能出现以字节为单位的段的大小远大于期望的带宽,使得下载该段可能使客户端输入缓冲器溢出。
发明内容
为了解决一个或更多个不同的技术问题,本公开内容提供了减少网络开销和服务器计算开销的技术解决方案,同时提供了将各种操作应用于解析元素使得在使用这些操作时可以改进这些操作的实用性和技术信号传送特征中的一些的选项。
包括一种方法和一种装置,该装置包括:存储器,该存储器被配置成存储计算机程序代码;以及一个或多个处理器,所述一个或多个处理器被配置成访问该计算机程序代码并且按照由该计算机程序代码指示的进行操作。计算机程序代码包括:获得代码,该获得代码被配置成使至少一个处理器获得视频数据;创建代码,该创建代码被配置成使至少一个处理器基于视频数据来创建指示段带宽并包括媒体适配集中的多个对准段的信息的定时元数据轨道,使得所述对准段中的每个对准段的持续时间信息和大小信息被包括在至少一个元数据样本中;切换代码,该切换代码被配置成使至少一个处理器基于定时元数据轨道指示视频数据的多个表示中的每个表示的输入缓冲是否至少溢出来向所述多个表示中的一个表示进行切换;以及传递代码,该传递代码被配置成使至少一个处理器将多个表示中的一个表示传递至客户端。
根据示例性实施方式,该计算机程序代码还包括:另外的创建代码,该另外的创建代码被配置成使至少一个处理器创建重新同步块索引,以用信号通知至少一个元数据样本中的对准段的至少一个段的媒体块的特征以及该媒体块的大小;生成代码,该生成代码被配置成使至少一个处理器连同媒体块逐步生成元数据样本;以及另外的传递代码,该另外的传递代码被配置成使至少一个处理器将元数据样本逐步传递至客户端。
根据示例性实施方式,定时元数据轨道还指示任何的对准段和媒体块中的至少所述对准段和所述媒体块的相对质量,并且向多个表示中的一个表示进行切换还基于对该相对质量进行比较。
根据示例性实施方式,该计算机程序代码还包括信号传送代码,该信号传送代码被配置成使至少一个处理器用信号通知任何的对准段和媒体块中的至少所述对准段和所述媒体块的持续时间是否是已知的,其中,当该持续时间是已知时,将该持续时间用信号通知为任何的对准段和媒体块中的至少所述对准段和所述媒体块中的每一者的精确持续时间,并且其中,当该持续时间是未知时,将该持续时间用信号通知为任何的对准段和媒体块中的至少所述对准段和所述媒体块中的每一者的变化量。
根据示例性实施方式,该计算机程序代码还包括:另外的创建代码,该另外的创建代码被配置成使至少一个处理器通过组合对准段的索引信息来创建组合索引段;以及另外的传递代码,该另外的传递代码被配置成使至少一个处理器将该组合索引段传递至客户端。
根据示例性实施方式,该计算机程序代码还包括:第二另外的创建代码,该第二另外的创建代码被配置成使至少一个处理器通过对媒体适配集中的对准段的块重新同步信息进行组合来创建组合重新同步索引段;以及第二另外的传递代码,该第二另外的传递代码被配置成使至少一个处理器将组合重新同步索引段传递至客户端。
根据示例性实施方式,该计算机程序代码还包括:第三另外的创建代码,该第三另外的创建代码被配置成使至少一个处理器创建混合的组合索引轨道,该混合的组合索引轨道包括用于除对准段中的正在编码的一个对准段之外的所有对准段的组合索引段的格式,并且其中,该混合的组合索引轨道还包括用于所述对准段中的一个对准段的组合重新同步索引段的格式。
根据示例性实施方式,该混合的组合索引轨道是并行的元数据轨道。
根据示例性实施方式,向视频数据的多个表示中的一个表示进行切换还基于确定所述表示的带宽。
根据示例性实施方式,定时元数据轨道指示输入缓冲是否至少溢出包括确定输入缓冲器的当前充满度。
附图说明
根据以下具体实施方式和附图,所公开的主题的其他特征、性质和各种优点将更加明显,在附图中:
图1是根据实施方式的简化示意图示。
图2是根据实施方式的简化示意图示。
图3是根据实施方式的关于解码器的简化框图。
图4是根据实施方式的关于编码器的简化框图。
图5是根据实施方式的简化框图。
图6是根据实施方式的简化图。
图7是根据实施方式的简化图。
图8是根据实施方式的简化图。
图9是根据实施方式的简化图。
图10是根据实施方式的简化流程图。
图11是根据实施方式的简化流程图。
图12是根据实施方式的简化图。
图13是根据实施方式的简化图。
图14是根据实施方式的示意图示。
具体实施方式
下面讨论的建议特征可以以任何顺序单独使用或组合使用。此外,实施方式可以通过处理电路(例如,一个或更多个处理器或者一个或更多个集成电路)来实现。在一个示例中,一个或更多个处理器执行存储在非暂态计算机可读介质中的程序。
图1示出了根据本公开内容的实施方式的通信系统100的简化框图。通信系统100可以包括经由网络105互连的至少两个终端102和103。为了数据的单向传输,第一终端103可以在本地位置对视频数据进行编码,以经由网络105传输至另一终端102。第二终端102可以从网络105接收另一终端的已编码的视频数据,对已编码数据进行解码并且显示恢复的视频数据。单向数据传输在媒体服务应用等中可以是常见的。
图1示出了第二对终端101和104,第二对终端101和104被提供以支持可能例如在视频会议期间发生的已编码视频的双向传输。为了数据的双向传输,每个终端101和104可以对在本地位置处捕获的视频数据进行编码,以经由网络105传输至另一终端。每个终端101和104也可以接收由另一终端传输的已编码的视频数据,可以对已编码数据进行解码并且可以在本地显示设备处显示恢复的视频数据。
在图1中,终端101、102、103和104可以被示出为服务器、个人计算机和智能电话,但是本公开内容的原理不限于此。本公开内容的实施方式可以适用于膝上型计算机、平板计算机、媒体播放器和/或专用视频会议设备的应用。网络105表示在终端101、102、103和104之间传送已编码视频数据的许多网络,包括例如有线和/或无线通信网络。通信网络105可以在电路交换信道和/或分组交换信道中交换数据。代表性网络包括电信网络、局域网、广域网和/或因特网。出于本论述的目的,除非在下文中有所说明,否则网络105的架构和拓扑对于本公开内容的操作来说可以是无关紧要的。
图2示出了视频编码器和视频解码器在流式传输环境中的放置方式,作为针对所公开的主题的应用的示例。所公开的主题可以同样适用于其他支持视频的应用,包括例如:视频会议;数字电视;压缩后的视频在包括光盘(Compact Disc,CD)、数字通用光盘(Digital Video Disc,DVD)、记忆棒等的数字介质上的存储等。
流式传输系统可以包括捕获子系统203,该捕获子系统203可以包括创建例如未压缩的视频样本流213的视频源201,例如数字摄像装置。样本流213可以被强调为在与已编码的视频比特流进行比较时高的数据量,并且可以由耦接至摄像装置201的编码器202进行处理。编码器202可以包括硬件、软件或其组合,以实现或实施如下面更详细地描述的所公开主题的方面。已编码的视频比特流204可以被强调为在与样本流进行比较时较低的数据量,该已编码的视频比特流204可以存储在流式服务器205上以供将来使用。一个或更多个流式客户端212和207可以访问流式服务器205以检索已编码的视频比特流204的副本208和副本206。客户端212可以包括视频解码器211,视频解码器211对已编码的视频比特流208的传入副本进行解码,并且创建可以在显示器209或另一呈现设备(未描绘)上呈现的传出视频样本流210。在一些流式传输系统中,可以根据某些视频编码/压缩标准来对视频比特流204、206和208进行编码。那些标准的示例在上面已经提到并且在本文中进一步描述。
图3可以是根据本发明的实施方式的视频解码器300的功能框图。
接收器302可以接收要由解码器300解码的一个或更多个编解码器视频序列;在同一实施方式或另一实施方式中,一次接收一个已编码的视频序列,其中,每个已编码的视频序列的解码独立于其他已编码的视频序列。可以从信道301接收已编码的视频序列,信道301可以是到存储已编码视频数据的存储设备的硬件/软件链路。接收器302可以接收已编码的视频数据以及其他数据,例如,已编码音频数据和/或辅助数据流,这些数据可以被转发至其相应的使用实体(未描绘)。接收器302可以将已编码的视频序列与其他数据分开。为了防止网络抖动,可以将缓冲存储器303耦接在接收器302与熵解码器/解析器304(此后被称为“解析器”)之间。在接收器302正在从具有足够带宽和可控性的存储/转发设备或者从等时同步网络(Isosychronous Network)接收数据时,可以不需要缓冲器303或者缓冲器303可以是小的。为了在诸如因特网的尽力(Best Effort)型分组网络上使用,可能需要缓冲器303,缓冲器303可以相对较大并且可以有利地具有自适应大小。
视频解码器300可以包括解析器304,以根据已熵编码的视频序列重建符号313。这些符号的类别包括:用于管理解码器300的操作的信息;以及潜在地用于控制诸如显示器312的呈现设备的信息,所述呈现设备不是解码器的组成部分而是可以耦接至解码器。用于呈现设备的控制信息可以是辅助增强信息(Supplemental Enhancement Information,SEI消息)或视频可用性信息参数集片段(未描绘)的形式。解析器304可以对接收到的已编码视频序列进行解析/熵解码。已编码的视频序列的编码可以根据视频编码技术或视频编码标准进行,并且可以遵循本领域技术人员公知的原理,包括:可变长度编码、霍夫曼编码(Huffman coding)、具有或不具有上下文灵敏度的算术编码等。解析器304可以基于与群组对应的至少一个参数来从已编码视频序列中针对视频解码器中的像素的至少一个子群组提取子群组参数集。子群组可以包括:图片群组(Group of Pictures,GOP)、图片、图块、切片、宏块、编码单元(Coding Unit,CU)、块、变换单元(Transform Unit,TU)、预测单元(Prediction Unit,PU)等。熵解码器/解析器还可以从已编码视频序列中提取信息,诸如变换系数、量化器参数值、运动矢量等。
解析器304可以对从缓冲器303接收到的视频序列进行熵解码/解析操作,以创建符号313。解析器304可以接收已编码的数据,并且选择性地对特定符号313进行解码。此外,解析器304可以确定是否将特定符号313提供给运动补偿预测单元306、缩放器/逆变换单元305、帧内预测单元307或环路滤波器311。
根据已编码的视频图片或一部分已编码的视频图片的类型(例如:帧间图片和帧内图片、帧间块和帧内块)以及其他因素,符号313的重建可以涉及多个不同的单元。涉及哪些单元以及涉及方式可以通过由解析器304根据已编码视频序列解析的子群组控制信息来控制。为了简洁起见,未描绘解析器304与下面的多个单元之间的这种子群组控制信息流。
除了已经提及的功能块之外,解码器300可以在概念上细分成如下面描述的多个功能单元。在商业约束下操作的实际实现方式中,这些单元中的许多单元彼此紧密交互并且可以至少部分地彼此集成。然而,出于描述所公开的主题的目的,概念上细分成下面的功能单元是适当的。
第一单元是缩放器/逆变换单元305。缩放器/逆变换单元305从解析器304接收作为符号313的量化变换系数以及控制信息,包括使用哪种变换方式、块大小、量化因子、量化缩放矩阵等。缩放器/逆变换单元305可以输出包括样本值的块,所述样本值可以输入至聚合器310中。
在一些情况下,缩放器/逆变换305的输出样本可以属于帧内编码块;也就是说:这个块不使用来自先前重建的图片的预测性信息,但是可以使用来自当前图片的先前重建部分的预测性信息。这样的预测性信息可以由帧内图片预测单元307提供。在一些情况下,帧内图片预测单元307使用从当前(部分重建的)图片309提取的周围已经重建的信息来生成与重建下的块相同大小和形状的块。在一些情况下,聚合器310基于每个样本将帧内预测单元307已经生成的预测信息添加至由缩放器/逆变换单元305提供的输出样本信息。
在其他情况下,缩放器/逆变换单元305的输出样本可以属于帧间编码块和潜在地运动补偿块。在这种情况下,运动补偿预测单元306可以访问参考图片存储器308以提取用于预测的样本。在根据属于块的符号313对提取的样本进行运动补偿之后,这些样本可以由聚合器310添加至缩放器/逆变换单元的输出(在这种情况下被称为残差样本或残差信号),以生成输出样本信息。运动补偿单元从其提取预测样本的参考图片存储器内的地址可以由运动矢量控制,所述运动矢量以符号313的形式供运动补偿单元使用,所述符号313可以具有例如X分量、Y分量和参考图片分量。运动补偿还可以包括在子样本精确运动矢量在使用中时从参考图片存储器提取的样本值的内插、运动矢量预测机制等。
聚合器310的输出样本可以在环路滤波器单元311中经受各种环路滤波技术。视频压缩技术可以包括环路内滤波技术,所述环路内滤波技术由被包括在已编码视频比特流中并且作为来自解析器304的符号313可用于环路滤波器单元311的参数来控制,但是视频压缩技术还可以响应于在对已编码图片或已编码视频序列的先前(按解码顺序)部分进行解码期间获得的元信息,以及响应于先前重建且经环路滤波的样本值。
环路滤波器单元311的输出可以是样本流,所述样本流可以输出至呈现设备312以及可以被存储在参考图片存储器557中,以用于将来的帧间图片预测中使用。
一旦完全重建,某些已编码的图片就可以用作参考图片以用于将来预测。一旦已编码的图片被完全重建并且该已编码的图片已经被识别为参考图片(通过例如解析器304),则当前参考图片309就可以变为参考图片缓冲器308的一部分,并且可以在开始重建后续已编码的图片之前重新分配新的当前图片存储器。
视频解码器300可以根据可以在诸如ITU-T Rec.H.265的标准中记载的预定视频压缩技术进行解码操作。在已编码视频序列遵循如视频压缩技术文档或视频压缩技术标准中指定的以及特别在其配置文件中指定的视频压缩技术或视频压缩标准的语法的意义上,已编码视频序列可以符合由正在使用的视频压缩技术或视频压缩标准指定的语法。对于合规性,还要求已编码视频序列的复杂性处于由视频压缩技术或视频压缩标准的层级所限定的范围内。在一些情况下,层级限制最大图片大小、最大帧速率、最大重建采样率(以例如每秒兆(mega)个样本为单位进行测量)、最大参考图片大小等。在一些情况下,由层级设置的限制可以通过假想参考解码器(Hypothetical Reference Decoder,HRD)规范以及用于在已编码视频序列中用信号通知的HRD缓冲器管理的元数据来进一步限制。
在实施方式中,接收器302可以接收附加(冗余)数据和已编码的视频。所述附加数据可以被包括作为已编码视频序列的一部分。所述附加数据可以由视频解码器300使用,以对数据进行适当解码以及/或者更准确地重建原始视频数据。附加数据可以为例如时间、空间或信噪比(Signal Noise Ratio,SNR)增强层、冗余切片、冗余图片、前向纠错码等的形式。
图4可以是根据本公开内容的实施方式的视频编码器400的功能框图。
编码器400可以从视频源401(其并非编码器的一部分)接收视频样本,所述视频源401可以捕获要由编码器400编码的视频图像。
视频源401可以提供要由编码器(303)编码的数字视频样本流形式的源视频序列,所述数字视频样本流可以具有任何合适的位深度(例如:8位、10位、12位、……)、任何色彩空间(例如,BT.601 Y CrCB、RGB、……)和任何合适的采样结构(例如,Y CrCb 4:2:0、YCrCb 4:4:4)。在媒体服务系统中,视频源401可以是存储先前已准备的视频的存储设备。在视频会议系统中,视频源401可以是捕获本地图像信息作为视频序列的摄像装置。可以将视频数据提供为在按顺序观看时被赋予运动的多个单独的图片。图片自身可以被组织为空间像素阵列,其中,每个像素可以包括取决于所使用的采样结构、色彩空间等的一个或更多个样本。本领域技术人员可以容易地理解像素与样本之间的关系。下面侧重于描述样本。
根据实施方式,编码器400可以实时地或者按照应用所要求的任何其他时间约束将源视频序列的图片编码并压缩成已编码的视频序列410。施行适当的编码速度是控制器402的一个功能。控制器控制如下面描述的其他功能单元并且在功能上耦接至这些单元。为了简洁起见,未描绘耦接。由控制器设置的参数可以包括速率控制相关参数(图片跳过、量化器、率失真优化技术的λ值、……)、图片大小、图片群组(GOP)布局、最大运动矢量搜索范围等。本领域技术人员能够容易地识别控制器402的其他功能,原因是这些功能可能属于针对某些系统设计优化的视频编码器400。
一些视频编码器以本领域技术人员容易识别为“编码环路”的方式操作。作为过于简化的描述,编码环路可以包括:编码器402的编码部分(此后被称为“源编码器”)(负责基于要被编码的输入图片和参考图片创建符号)以及嵌入在编码器400中的(本地)解码器406,(本地)解码器406重建符号以创建(远程)解码器也将创建的样本数据(因为在所公开的主题中考虑的视频压缩技术中,符号与已编码的视频比特流之间的任何压缩是无损的)。将重建的样本流输入至参考图片存储器405。由于符号流的解码产生与解码器位置(本地或远程)无关的位精确结果,因此参考图片缓冲器内容在本地编码器与远程编码器之间也是位精确的。换句话说,编码器的预测部分“看到”的参考图片样本与解码器将在解码期间使用预测时所“看到”的样本值完全相同。这种参考图片同步性的基本原理(以及在例如由于信道误差而无法维持同步性的情况下产生的漂移)对本领域技术人员来说是众所周知的。
“本地”解码器406的操作可以与已经在上面结合图3详细描述的“远程”解码器300的操作相同。然而,还简要参照图4,当符号可用并且熵编码器408和解析器304可以无损地将符号编码/解码为已编码的视频序列时,在本地解码器406中可以不完全实现包括信道301、接收器302、缓冲器303和解析器304的解码器300的熵解码部分。
此时可以观察到,除了存在于解码器中的解析/熵解码之外的任何解码器技术也必然需要以基本上相同的功能形式存在于相应的编码器中。可以省略编码器技术的描述,这是因为编码器技术与全面描述的解码器技术互逆。仅在某些区域中需要更详细的描述并且在下面提供了该描述。
作为其操作的一部分,源编码器403可以进行运动补偿预测编码,该运动补偿预测编码参考来自视频序列中被指定为“参考帧”的一个或更多个先前已编码的帧对输入帧进行预测性编码。以这样的方式,编码引擎407对输入帧的像素块与参考帧的像素块之间的差异进行编码,所述参考帧可以被选作所述输入帧的预测参考。
本地视频解码器406可以基于由源编码器403创建的符号对可以指定为参考帧的帧的已编码视频数据进行解码。编码引擎407的操作可以有利地为有损处理。当已编码的视频数据可以在视频解码器(图4中未示出)处被解码时,重建的视频序列通常可以是具有一些误差的源视频序列的副本。本地视频解码器406复制可以由视频解码器对参考帧进行的解码处理,并且可以使重建的参考帧存储在参考图片缓存405中。以这样的方式,编码器400可以在本地存储重建的参考帧的副本,该副本与将由远端视频解码器获得的重建参考帧具有共同内容(不存在传输误差)。
预测器404可以针对编码引擎407进行预测搜索。也就是说,对于要编码的新帧,预测器404可以在参考图片存储器405中搜索可以用作用于所述新图片的适当的预测参考的样本数据(作为候选参考像素块)或某些元数据例如参考图片运动矢量、块形状等。预测器404可以基于样本块逐像素块操作,以找到适当的预测参考。在一些情况下,如由预测器404获得的搜索结果所确定的,输入图片可以具有从参考图片存储器405中存储的多个参考图片得到的预测参考。
控制器402可以管理视频编码器403的编码操作,包括例如设置用于对视频数据进行编码的参数和子群组参数。
可以在熵编码器408中对所有以上提及的功能单元的输出进行熵编码。熵编码器根据例如霍夫曼编码、可变长度编码、算术编码等的本领域技术人员已知的技术通过对由各种功能单元生成的符号进行无损压缩来将所述符号转换为已编码的视频序列。
传输器409可以缓冲由熵编码器408创建的已编码的视频序列,以为经由通信信道411进行传输做准备,该通信信道411可以是到将存储已编码视频数据的存储设备的硬件/软件链路。传输器409可以将来自视频编码器403的已编码视频数据与要传输的其他数据例如已编码音频数据和/或辅助数据流(未示出源)进行合并。
控制器402可以管理编码器400的操作。在编码期间,控制器405可以向每个已编码的图片分配某个已编码的图片类型,这可能影响可以应用于相应图片的编码技术。例如,通常可以将图片分配为下述帧类型中的一种帧类型:
帧内图片(I图片)可以是可以在不将序列中的任何其他帧用作预测源的情况下被编码和解码的图片。一些视频编解码器允许不同类型的帧内图片,包括例如独立解码器刷新图片。本领域技术人员了解I图片的变型及其相应的应用和特征。
预测性图片(P图片)可以是可以使用用至多一个运动矢量和参考索引来预测每个块的样本值的帧内预测或帧间预测进行编码和解码的图片。
双向预测性图片(B图片)可以是可以使用用至多两个运动矢量和参考索引来预测每个块的样本值的帧内预测或帧间预测进行编码和解码的图片。类似地,多预测性图片可以使用多于两个参考图片和相关联的元数据以用于单个块的重建。
源图片通常可以在空间上细分成多个样本块(例如,分别为4×4、8×8、4×8或16×16个样本的块),并且逐块进行编码。这些块可以参考其他(已经编码的)块进行预测性编码,所述其他(已经编码的)块通过应用于块的相应图片的编码分配来确定。例如,I图片的块可以进行非预测性编码,或者I图片的块可以参考同一图片的已经编码的块来进行预测性编码(空间预测或帧内预测)。P图片的像素块可以参考一个先前已编码的参考图片经由空间预测或经由时间预测进行非预测性编码。B图片的块可以参考一个或两个先前已编码的参考图片经由空间预测或经由时间预测进行非预测性编码。
视频编码器400可以根据诸如ITU-T Rec.H.265的预定视频编码技术或视频编码标准进行编码操作。在视频编码器400的操作中,视频编码器400可以进行各种压缩操作,包括利用输入视频序列中的时间冗余和空间冗余的预测性编码操作。因此,已编码的视频数据可以符合由所使用的视频编码技术或视频编码标准指定的语法。
在实施方式中,传输器409可以传输附加数据和已编码的视频。源编码器403可以包括这样的数据作为已编码视频序列的一部分。附加数据可以包括时间/空间/SNR增强层、诸如冗余图片和切片的其他形式的冗余数据、辅助增强信息(SEI)消息、视觉可用性信息(Video Usability Information,VUI)参数集片段等。
图5示出了例如用于处理DASH事件和通用媒体应用格式(Common MediaApplication Format,CMAF)事件的客户端样本架构的样本DASH客户端处理模型500,其中,媒体段的客户端请求可以基于清单中描述的地址,该清单还描述了元数据轨道,根据该清单,客户端可以访问并解析元数据轨道的段,并且将其发送至应用。此外,根据示例性实施方式,关于如下所述的媒体段的地址,DASH清单可以提供针对索引段的寻址。每个索引段可以提供关于一个段的持续时间和大小的信息,并且表示索引可以提供针对给定表示的所有段的索引信息。
图6示出了用于例如索引用于任何给定的适配集的适配集段的元数据轨道的样本的示例600。例如,对于期望用信号通知瞬时段带宽的每个适配集(Adaptation Set,AS),在清单中也可以包括单独的适配集,如图6所示。
如图6所示,对于具有其段是定时对准的k个媒体表示的AS i,新的适配集AS索引被添加至包含单个表示的清单。该单个表示是定时元数据轨道,该定时元数据轨道的段也与AS i表示的段定时对准。
图7示出了根据示例性实施方式的组合索引段示例700,在示例性实施方式中,组合索引段示例中的每个段可以具有下述特征:(1)每个段应以具有类型“cisx”的ISO基本媒体文件格式(如在ISO/IEC 14496-12中定义的)(ISO Base Media File Format,ISOBMFF)“sty p”盒开始,以标识该段是针对所有轨道的组合索引段盒;(2)每个段应当包括按照0、1、2、……、K-1顺序的k个“sidx”盒,每个“sidx”盒分别且按照该顺序对应于参考适配集中的一个表示0、1、2、……、K-1;以及(3)每个sidx盒应包括相应表示的整个段的持续时间和大小。根据示例性实施方式,ISOBMFF段格式化,以实现限定用于用信号通知编解码器的多用途互联网邮件扩展类型(Multipurpose Internet Mail Extensions,MIME)类型参数,并且为初始化段、媒体段和随机访问点提供必要的格式特定限定,例如媒体源扩展的字节流格式部分所需的格式特定限定。
图8示出了例如用于低延迟模式的重新同步索引段示例800,该低延迟模式引入了具有下述结构的重新同步索引段:R0使得:(1)重新同步索引段应以具有类型“rpis”的ISOBMFF“sty p”盒开始;(2)重新同步索引段应包括在每个块编码完成时被添加至该段的一系列菊花链式和分级的sidx盒;以及(3)每个sidx盒应包括按照在媒体段中出现的顺序的相应媒体段的一个块的持续时间、大小和起始SAP类型。
图9示出了例如用于低延迟模式的组合重新同步索引段示例900,在该低延迟模式中引入了具有下述结构的组合重新同步索引段:(1)组合重新同步索引段应以具有类型“rpis”的ISOBMFF“sty p”盒开始;(2)组合重新同步索引段应包括按照0、1、2、……、K-1顺序的一系列sidx盒,每个sidx盒分别且按照该顺序对应于参考适配集的一个表示0、1、2、……、K-1(并且根据示例性实施方式,每个sidx盒具有固定长度,因为作为版本0,一级sidx盒具有一个参考计数,并且每个盒指向同一表示中以相同顺序排序的下一个块的下一个sidx盒);以及(3)每个sidx盒应包括按照在媒体段中出现的顺序的相应媒体段的一个块的持续时间、大小和起始SAP类型。
根据示例性实施方式,元数据轨道可以包括在清单中的单独适配中,并且该适配集必须具有下述约束:(1)应使用参考媒体适配集的相同寻址方案用于这种表示(并且如果参考适配集的表示具有各种寻址方案,则应使用表示寻址方案中的一种表示寻址方案用于元数据轨道表示);(2)元数据轨道的段数目应等于参考适配集中任何表示中的最高段数目;(3)元数据轨道的适配集应用信号通知为以其MIME类型的元数据,并且应当使用特定标识符用于@codec以用信号通知这种组合索引段轨道;(4)表示轨道应用信号通知为元数据以及索引段类型——下述中的一者:组合索引段、组合重新同步索引段、组合索引段与最后重新同步索引段;(5)参考适配集id应包括在元数据轨道适配集中的补充描述符的值字段中并且具有特定的schemeIdUri诸如uri:mpeg:dash:sidxtrack:2020;以及(6)元数据表示id应与参考适配集的表示相同——它们的寻址方案是相同的。
图10示出了在每个表示有单独的段索引情况下的关于DASH客户端处理模型的示例性流程图1000,其中,根据示例性实施方式,可以在没有组合索引段轨道的情况下检索段的持续时间和大小,并且如果每个表示还具有在清单中限定的索引段,那么DASH客户端处理模型可以为如下:在S1001处,在下述考虑因素的情况下,选择实时流的加入时间:(J:基于具有平均持续时间和可能带宽波动的段的数目的DASH客户端处理模型的输入缓冲器的大小;以及L:在元数据轨道中允许先行的段数目。L可以为从0到任何正数。注意,(L*average_duration)被添加至回放中。);在S1002处,基于J和L找到实时流的加入时间;以及在S1003处,针对每个表示下载L个索引段,并且因此下载了L*K个索引段;在S1004处,对L*K个索引段的sidx盒进行解析并且构建表1(下文)中的大小/持续时间的段;以及在S1005处,鉴于表1,计算向对于下一M个段(M<L)实现了最佳质量同时输入缓冲不会溢出的表示的切换;在S1006处,下载下一媒体段和L+1个元数据段(此后,在S1007处,可以对下一媒体段和L+1个元数据段进行处理和播放);在S1008处,根据表1相应地进行更新;以及在S1009处,考虑到网络带宽变化,对决策进行调整,然后如图10所示再次到S1005。
如示出的,使用组合索引段轨道而不是表示的索引段的区别在于,在每个段请求之前,DASH客户端请求K个索引段。如果K为较大的数字,那么附加数目的请求可能是低效的。
表1–交叉表示段持续时间-大小表
图11示出了在组合段索引轨道情况下的关于DASH客户端处理模型的示例性流程图1100,其中,根据示例性实施方式:在S1001处,选择实时流的加入时间(在下述考虑因素的情况下:J:基于具有平均持续时间和可能带宽波动的段的数目的DASH客户端处理模型的输入缓冲器的大小;以及L:在元数据轨道中允许先行的段数目。L可以为从0到任何正数。注意(L*average_duration)被添加至回放中。);在S1102处,基于J和L找到实时流的加入时间;在S1103处,从实时边缘起从组合索引段轨道下载L个段;在S1104处,对L个段的sidx盒进行解析并且构建表1中的大小/持续时间的段;在S1105处,鉴于表1,计算向对于下一M个段(M<L)实现了最佳质量同时输入缓冲不会溢出的表示的切换;在S1106处,下载下一媒体段和L+1个元数据段(此后,在S1107处,可以对下一媒体段和L+1个元数据段进行处理和播放);在S1108处,根据表1相应地进行更新;以及在S1109处,考虑到网络带宽变化,对决策进行调整,然后如图11所示再次到S1105。
如示出的,与来自图6的数据的K个索引段请求相比较,DASH客户端可以对每个媒体段请求进行一个组合索引段请求。因此,特别是对于大的K,这种示例性实施方式非常有效。
此外,根据关于例如以低延迟方式的DASH客户端处理模型的示例性实施方式,可以存在也可以在低延迟情况下与瞬时块带宽适配一起使用的元数据轨道,并且在这种情况下,元数据样本可以包括所有表示的索引段和重新同步索引段。考虑到这样的实施方式,可以考虑两种可能的变型:(a)混合的组合索引轨道:单个元数据轨道——每个段包括除了最后一个段(实时边缘处的段)之外的相应段的sidx盒,使得最后一个段可以是被逐步追加的组合重新同步索引段,并且当完成相应的媒体段时,用组合索引段替换组合重新同步段;以及(b)常规轨道和低延迟组合轨道:两个元数据轨道的适配集,一个轨道具有组合索引段,并且一个轨道具有组合重新同步索引段。
对于在低延迟模式下操作的客户端,实施方式可以流式传输来自低延迟组合轨道的段,而其他客户端流式传输来自常规组合轨道的段。替选地,如果仅提供混合的组合索引轨道,则常规客户端和低延迟客户端两者都可以从同一轨道进行流式传输。
根据示例性实施方式,组合索引轨道是具有下述结构的ISOBMFF定时元数据轨道。报头包括下述信息:(1)轨道4CC标识符;(2)切换集中轨道的数目;(3)切换集中的轨道的轨道标识符;(4)可选地,测量轨道、段和块的质量使用的质量度量标识符;以及(5)与使用上述质量度量的其他轨道相比较的每个轨道的质量。元数据段具有下述特征:(1)所有段与相应的切换集的段定时对准;(2)所有块与相应的切换集的块定时对准;以及(3)所有段都具有其类型的4CC标识符。每个元数据样本具有下述特征:(1)时间元数据轨道中的每个样本都是随机访问样本;以及(2)每个样本具有下述信息:(a)SAP类型的相应媒体段/块;(b)指示媒体段/块具有最高级别盒,诸如事件盒和prft盒;(c)用于测量段和块的持续时间的时间尺度;(d)持续时间已知情况下的标志;(e)持续时间精确情况下的标志;(f)以持续时间百分比方式的最大持续时间变化;(g)以元数据轨道报头中限定的时间尺度的相应媒体段/块的持续时间;(h)每个轨道中的按照该轨道中限定的特定顺序的每个相应的段/块的大小;以及(e)可选地,轨道中的与其他段/块相比较的相应的段/块的质量。
根据示例性实施方式,组合索引轨道包括在清单中的单独适配中,并且这种组合索引适配集必须具有下述约束:(1)应使用参考媒体适配集的相同寻址方案用于这种表示(如果参考适配集的表示具有各种寻址方案,则应使用表示寻址方案中的一种表示寻址方案用于元数据轨道表示);(2)组合索引轨道的块/段的数目应等于参考适配集中任何表示中的块/段的数目;(3)元数据轨道的适配集应用信号通知为以其MIME类型的组合索引轨道,并且应当使用特定标识符用于@codec以用信号通知该组合索引段轨道;(4)表示轨道应用信号通知为元数据以及组合索引轨道;(5)参考适配集id应包括在组合索引适配集中的补充描述符的值字段中并且具有特定的schemeIdUri诸如uri:mpeg:dash:comboindex:2020;以及(6)元数据表示id应与参考适配集的表示相同——它们的寻址方案是相同的。
图12示出了表示清单约束的可能实现方式的样本条目1200,样本条目1200可以如图12所示限定,并且这样的样本可以具有诸如图13所示的语法1300的语法并且可以具有下述语义:“num_tracks”切换集中的轨道的数目;“track_id”提供样本中track_id的顺序;“quality_indicator_flag”标识是否使用特定的质量指示用于标识块的质量;“quality_identifier”用于指示期望被解释的轨道和样本的质量的质量度量的URI;“segment_start_flag”标识该块是否与段的开始相同,即,该块是否是段的开始;“SAP_type”标识SAP类型,如果“SAP_type”为0,则块不以SAP开始;标记,标识该块是否包括包含styp的标记;“emsg_flag”标识该块是否包括任何emsg盒;“prft_flag”标识该块是否包括prft盒;“known_duration_flag”标识是否已知该块的持续时间,如果该标志为“假”,那么应忽略标志exact_duration_flag和duration_variation、duration和timescale字段的值;“exact_duration_flag”标识持续时间的值是否准确,即,持续时间不是该块的标称持续时间(如果该标志为“真”,则应忽略duration_variation字段的值);“duration_variation”标识以百分比方式的最大持续时间变化(较短或较长的变化)(该值不应当超过100。超过100的值被处理为100的值);“duration”块在时间尺度上的持续时间,即,持续时间对于时间尺度的划分提供块的持续时间,以秒为单位;“timescale”提供该盒内针对持续时间字段的时间尺度,以每秒计时数为单位,建议其与参考切换集中的一个轨道的时间尺度匹配;first_offset标识块从序列开始的偏移量;“offset”标识块从段开始的字节偏移量;size提供块的以八位字节为单位的大小;“quality”根据质量方案提供块的质量(如果不存在质量方案,那么质量被线性地解释为其中质量随着值增加而增加);“missing”标识块丢失并且不应当请求该块。
根据示例性实施方式,组合索引段可以连同媒体的编码由例如上面描述的编码器创建,并且在这种情况下,由于编码器可以具有每个段/块的精确持续时间,因此该值可以包括在元数据样本中。然而,封装者也可以基于从编码器接收到的段来创建该组合索引轨道。在这种情况下,根据封装者的能力,可以部署下述场景中的任何场景:(a)每个段/块的精确持续时间是已知的,并且因此封装者将精确持续时间插入至组合索引元数据样本中;(b)精确持续时间是未知的,并且因此封装者仅计算段/块的大小,并且将所述段/块包括在元数据样本中,并且设置持续时间为未知的标志;(c)精确持续时间是未知的,但是标称持续时间和可能的持续时间变化的最大范围是封装者已知的,并且因此封装者将这些值包括在元数据样本中。
因此,根据示例性实施方式,存在用于使用索引段并且在低延迟情况下使用重新同步索引段用信号向DASH客户端通知带宽上限的方法。为了提高性能,还在实时流中引入组合索引轨道,并且DASH客户端可以使用上述方式中的任何方式来找到瞬时段带宽并且向提供最佳质量同时不会使该DASH客户端的输入缓冲器溢出的最佳表示进行切换。还提供了用信号向流式客户端通知各种轨道瞬时带宽变化,使得所述客户端可以同时观察针对所有轨道的带宽要求的突然变化,并且根据上面描述的各种标准在必要时采取措施切换另一轨道。因此,本文中的实施方式使用包含同一适配集/切换集中的所有轨道的组合段以及块持续时间和大小的元数据轨道来改进MPEG DASH的元数据轨道,以用于用信号向DASH客户端通知瞬时带宽变化,并且DASH客户端可以使用上述方式中的任何方式来找到瞬时段带宽并且向提供最佳质量而其输入缓冲器不会溢出的最佳表示进行切换。
例如,可以存在下述中的任一种:创建用于提供瞬时段带宽信息的元数据轨道,其中,在元数据轨道的单个段中提供一个媒体适配集的所有对准段的信息;创建组合索引段,其中,将所有表示对准段的所有索引信息组合在一个索引段中;创建重新同步索引段,以用于将一个段的块的特征用信号通知为段索引,其中,重新同步段可以连同媒体块逐步生成并且可以逐步传递至客户端,因此该客户端可以使用所述重新同步段以在低延迟流式传输时在块边界处进行切换;创建组合重新同步索引段,其中,一个适配集的所有表示的所有对准段的块重新同步信息被包括在索引段中,并且被逐步传输至客户端,使得客户端可以在低延迟流式传输时在块之间进行切换;创建混合的组合索引轨道,所述混合的组合索引轨道针对除了正在编码的最后一个段之外的所有段使用组合索引段格式,并且对当前正在编码的段使用组合重新同步段格式;针对常规流式传输操作创建两个并行的元数据轨道,一个轨道包括组合索引段并且另一轨道包括组合重新同步索引段;通过该方法,DASH客户端可以使用所有表示的段索引中的信息以监控每个表示的瞬时带宽,并且考虑到比特率峰值和比特率谷值,使用所述信息在表示之间进行切换,并且基于当前带宽、缓冲器充满度以及跨多个表示的段大小对表示适配选择进行优化;进一步使用上述方法以用于客户端更高效地测量所有表示的瞬时带宽;进一步使用上述方法以用于客户端的低延迟操作,使得DASH客户端能够在低延迟模式下操作;以及进一步使用上述方法以用于使得常规客户端和低延迟客户端两者能够使用一个轨道或两个轨道进行操作。
此外,还可以创建用于提供瞬时段带宽和质量信息的定时元数据轨道,其中,在元数据轨道的单个段中提供一个媒体适配集的所有对准段的信息,其中,所有相应的段和/或块的持续时间和大小信息被包括在样本中;创建重新同步块索引,以用于用信号通知元数据样本中的一个段的块的特征连同该块的大小,其中,元数据样本可以连同媒体块逐步生成并且可以逐步传递至客户端,因此该客户端可以使用所述元数据样本以在低延迟流式传输时在块边界处进行切换;在上述方法中分别使用段和/或块的相对质量,使得客户端可以比较跨所有媒体轨道的瞬时质量;用信号通知对准段或对准块的持续时间对于对准段或对准块的每个集是否是已知的,如果是已知的,则用信号通知标称持续时间或精确持续时间,用信号通知所通知的持续时间是精确的还是标称的,并且如果所通知的持续时间是标称的,则用信号通知最大持续时间变化;创建要逐步创建的索引段并且将该索引段逐步传输至客户端,使得客户端可以在低延迟流式传输时在块之间进行切换;创建元数据轨道,其中,除了最后一个段之外的所有段均为如上面的段中的一者,而最后一个段对应于在实时边缘处正在编码并使用上面的其他特征创建的段;创建两个并行的元数据轨道,一个元数据轨道使用上面的特征而一个轨道使用上面的其他特征,并且将这些轨道用信号通知在清单中;使DASH客户端使用上面的元数据轨道段中的信息以监控每个表示的瞬时带宽,并且使用所述信息在考虑了比特率峰值和比特率谷值的表示之间进行切换,并且基于当前带宽、缓冲器充满度以及跨多个表示的段大小对表示适配选择进行优化;更高效地测量所有表示的瞬时带宽;对于客户端的低延迟操作,更高效地测量所有表示的瞬时带宽;以及使得常规客户端和低延迟客户端两者能够使用一个轨道或两个轨道进行操作。
上面描述的技术可以实现为使用计算机可读指令的计算机软件并且物理地存储在一个或更多个计算机可读介质中,或者可以通过特别配置的一个或更多个硬件处理器来实现。例如,图14示出了适于实现所公开的主题的某些实施方式的计算机系统1400。
可以使用任何合适的机器代码或计算机语言来编码计算机软件,所述机器代码或计算机语言可以经受汇编、编译、链接等机制以创建包括指令的代码,所述指令可以由计算机中央处理单元(Central Processing Unit,CPU)、图形处理单元(Graphics ProcessingUnit,GPU)等直接执行或者通过解释、微代码执行等来执行。
指令可以在各种类型的计算机或其部件上执行,所述计算机或其部件包括例如个人计算机、平板计算机、服务器、智能电话、游戏设备、物联网设备等。
图14所示的用于计算机系统1400的部件本质上是示例性的,并且不旨在对实现本公开内容的实施方式中的计算机软件的使用范围或功能进行任何限制。部件的配置也不应当被解释为具有与计算机系统1400的示例性实施方式中示出的部件中的任一部件或部件组合有关的任何依赖性或要求。
计算机系统1400可以包括某些人机接口输入设备。这样的人机接口输入设备可以对由一个或更多个人类用户通过例如触觉输入(例如:键击、滑动、数据手套移动)、音频输入(例如:语音、拍手)、视觉输入(例如:姿势)、嗅觉输入(未描绘)的输入作出响应。人机接口设备还可以用于捕获不一定与人类的意识输入直接相关的某些介质,例如音频(诸如:语音、音乐、环境声音)、图像(例如:扫描图像、从静态图像摄像装置获得的摄影图像)、视频(诸如二维视频、包括立体视频的三维视频)。
输入人机接口设备可以包括下述中的一个或更多个(每者仅描绘一个):键盘1401、鼠标1402、触控板1403、触摸屏1410、操纵杆1405、麦克风1406、扫描仪1408、摄像装置1407。
计算机系统1400还可以包括某些人机接口输出设备。这样的人机接口输出设备可以通过例如触觉输出、声音、光和气味/味道来刺激一个或更多个人类用户的感觉。这样的人机接口输出设备可以包括:触觉输出设备(例如,通过触摸屏1410或操纵杆1405的触觉反馈,但是也可以存在不用作输入设备的触觉反馈设备)、音频输出设备(例如:扬声器1409、头戴式耳机(未描绘))、视觉输出设备(例如,包括阴极射线管(Cathode Ray Tube,CRT)屏幕、液晶显示(Liquid Crystal Display,LCD)屏幕、等离子屏幕、有机发光二极管(OrganicLight-emitting Diode,OLED)屏幕的屏幕1410,每个屏幕具有或不具有触摸屏输入能力,每个屏幕具有或不具有触觉反馈能力——其中的一些可能能够通过诸如立体图像输出、虚拟现实眼镜(未描绘)、全息显示器和烟罐(未描绘)以及打印机(未描绘)的方式输出二维视觉输出或三维以上的输出。
计算机系统1400还可以包括人类可访问存储设备及其相关联的介质,例如,包括具有CD/DVD 1411等介质的CD/DVD只读存储器(Read Only Memory,ROM)/(Read Write,RW)存储器1420的光学介质、拇指驱动器1422、可移除硬盘驱动器或固态驱动器1423、诸如磁带和软盘(未描绘)的传统磁性介质、基于专用ROM/专用集成电路(Application SpecificIntegrated Circuit,ASIC)/可编程逻辑器件(Programmable Logic Device,PLD)的设备诸如安全加密狗(未描绘)等。
本领域技术人员还应当理解的是,结合当前公开的主题使用的术语“计算机可读介质”不涵盖传输介质、载波或其他瞬时信号。
计算机系统1400还可以包括到一个或更多个通信网络1498的接口1499。网络1498可以例如为无线的、有线的、光学的。网络1498还可以为局域的、广域的、城域的、车辆的和工业的、实时的、延迟容忍的等。网络1498的示例包括:诸如以太网的局域网;无线局域网(Local Area Network,LAN);包括全球移动通讯系统(Global System for MobileCommunications,GSM)、第三代(the Third Generation,3G)、第四代(the FourthGeneration,4G)、第五代(the Fifth Generation,5G)、长期演进(Long Term Evolution,LTE)等的蜂窝网络;包括有线电视、卫星电视和地面广播电视的电视有线或无线广域数字网络;包括控制器局域网(Controller Area Network,CAN)总线的车辆和工业网络等。某些网络1498通常需要外部网络接口适配器,该外部网络接口适配器附接至某些通用数据端口或外围总线(1450和1451)(诸如,例如计算机系统1400的通用串行总线(Universal SerialBus,USB)端口);其他网络通常通过附接至如下所述的系统总线(例如,到PC计算机系统的以太网接口或者到智能电话计算机系统的蜂窝网络接口)而集成至计算机系统1400的核中。使用这些网络1498中的任何网络,计算机系统1400可以与其他实体通信。这样的通信可以为单向仅接收的(例如,广播电视)、单向仅发送的(例如,到某些CAN总线设备的CAN总线)、或者双向的,例如使用局域数字网络或广域数字网络到其他计算机系统。可以在如上所述的这些网络和网络接口中的每一个上使用某些协议和协议栈。
以上提及的人机接口设备、人类可访问的存储设备和网络接口可以附接至计算机系统1400的核1440。
核1440可以包括一个或更多个中央处理单元(CPU)1441、图形处理单元(GPU)1442、图形适配器1417、呈现场可编程门阵列(Field Programmable Gate Area,FPGA)1443形式的专用可编程处理单元、用于某些任务的硬件加速器(Accelerator)1444等。这些设备连同只读存储器(ROM)1445、随机存取存储器1446、内部大容量存储装置诸如内部非用户可访问硬盘驱动器、SSD等1447可以通过系统总线1448连接。在一些计算机系统中,可以以一个或更多个物理插头的形式访问系统总线1448,以使得能够通过附加的CPU、GPU等进行扩展。外围设备可以直接地或通过外围总线1451附接至核的系统总线1448。外围总线的架构包括外设组件互联标准(peripheral component interconnect,PCI)、USB等。
CPU 1441、GPU 1442、FPGA 1443和加速器1444可以执行某些指令,这些指令可以组合构成以上提及的计算机代码。该计算机代码可以存储在ROM 1445或RAM 1446中。过渡数据也可以存储在RAM 1446中,而永久数据可以存储在例如内部大容量存储装置1447中。可以通过使用缓存存储器来实现对存储器设备中的任何存储器设备的快速存储和检索,该缓存存储器可以与一个或更多个CPU 1441、GPU 1442、大容量存储装置1447、ROM 1445、RAM1446等紧密关联。
计算机可读介质上可以具有计算机代码以用于执行各种计算机实现的操作。介质和计算机代码可以是出于本公开内容的目的而专门设计和构造的介质和计算机代码,或者介质和计算机代码可以是计算机软件领域的技术人员公知且可用的类型。
作为示例而非通过限制的方式,具有架构的计算机系统1400并且特别是核1440可以由于处理器(包括CPU、GPU、FPGA、加速器等)执行体现在一个或更多个有形计算机可读介质中的软件而提供功能。这样的计算机可读介质可以为与如以上所介绍的用户可访问的大容量存储装置相关联的介质,以及核1440的具有非暂态性质的某些存储装置,例如核内部大容量存储装置1447或ROM 1445。可以在这样的设备中存储实现本公开内容的各种实施方式的软件并且由核1440执行所述软件。根据特定需要,计算机可读介质可以包括一个或更多个存储器设备或芯片。软件可以使核1440并且特别是其中的处理器(包括CPU、GPU、FPGA等)执行本文中描述的特定处理或特定处理的特定部分,包括限定存储在RAM 1446中的数据结构以及根据由软件限定的处理修改这样的数据结构。另外地或替选地,计算机系统可以由于逻辑硬连线而提供或以其他方式体现在电路(例如:加速器1444)中而提供功能,该电路可以代替软件或者与软件一起操作以执行本文中描述的特定处理或特定处理的特定部分。在适当的情况下,提及的软件可以包含逻辑,反之,提及的逻辑也可以包含软件。在适当的情况下,提及的计算机可读介质可以包含存储用于执行的软件的电路(例如,集成电路(Integrated Circuit,IC))、体现用于执行的逻辑的电路或者上述两者。本公开内容包含硬件与软件的任何合适的组合。
虽然本公开内容已经描述了若干示例性实施方式,但是存在落入本公开内容范围内的改变、置换和各种替代等同内容。因此将理解的是,本领域技术人员能够设想出多种系统和方法,虽然这些系统和方法在本文中没有明确示出或描述,但是体现了本公开内容的原理并且因此落入本公开内容的精神和范围内。
Claims (20)
1.一种视频编码的方法,所述方法包括:
获得视频数据;
基于所述视频数据来创建指示段带宽并包括媒体适配集中的多个对准段的信息的定时元数据轨道,使得所述对准段中的每个对准段的持续时间信息和大小信息被包括在至少一个元数据样本中;
基于下述情况来向所述多个表示中的一个表示进行切换,所述情况为所述定时元数据轨道指示所述视频数据的多个表示中的每个表示的输入缓冲是否至少溢出;以及
将所述多个表示中的一个表示传递至客户端。
2.根据权利要求1所述的方法,还包括:
创建重新同步块索引,以用信号通知所述至少一个元数据样本中的所述对准段的至少一个段的媒体块的特征以及所述媒体块的大小;
连同所述媒体块逐步生成所述元数据样本;以及
将所述元数据样本逐步传递至所述客户端。
3.根据权利要求2所述的方法,
其中,所述定时元数据轨道还指示任何的所述对准段和媒体块中的至少所述对准段和所述媒体块的相对质量,并且
其中,向所述多个表示中的一个表示进行切换还基于对所述相对质量进行比较。
4.根据权利要求2所述的方法,还包括:
用信号通知任何的所述对准段和媒体块中的至少所述对准段和所述媒体块的持续时间是否是已知的,
其中,当所述持续时间是已知时,将所述持续时间用信号通知为任何的所述对准段和所述媒体块中的至少所述对准段和多数媒体块中的每一者的精确持续时间,并且
其中,当所述持续时间是未知时,将所述持续时间用信号通知为任何的所述对准段和所述媒体块中的至少所述对准段和所述媒体块中的每一者的变化量。
5.根据权利要求1所述的方法,还包括:
通过组合所述对准段的索引信息来创建组合索引段;以及
将所述组合索引段传递至所述客户端。
6.根据权利要求5所述的方法,还包括:
通过对所述媒体适配集中的对准段的块重新同步信息进行组合来创建组合重新同步索引段;以及
将所述组合重新同步索引段传递至所述客户端。
7.根据权利要求6所述的方法,还包括:
创建混合的组合索引轨道,所述混合的组合索引轨道包括用于除所述对准段中的正在编码的一个对准段之外的所有所述对准段的所述组合索引段的格式,并且
其中,所述混合的组合索引轨道还包括用于所述对准段中的一个对准段的所述组合重新同步索引段的格式。
8.根据权利要求7所述的方法,
其中,所述混合的组合索引轨道是并行的元数据轨道。
9.根据权利要求1所述的方法,
其中,向所述视频数据的所述多个表示中的一个表示进行切换还基于确定所述表示的带宽。
10.根据权利要求1所述的方法,
其中,所述定时元数据轨道指示所述输入缓冲是否至少溢出包括确定所述输入缓冲器的当前充满度。
11.一种用于视频流式传输的装置,所述装置包括:
至少一个存储器,所述至少一个存储器被配置成存储计算机程序代码;
至少一个处理器,所述至少一个处理器被配置成访问所述计算机程序代码并且按照由所述计算机程序代码指示的进行操作,所述计算机程序代码包括:
获得代码,所述获得代码被配置成使所述至少一个处理器获得视频数据;
创建代码,所述创建代码被配置成使所述至少一个处理器基于所述视频数据来创建指示段带宽并包括媒体适配集中的多个对准段的信息的定时元数据轨道,使得所述对准段中的每个对准段的持续时间信息和大小信息被包括在至少一个元数据样本中;
切换代码,所述切换代码被配置成使所述至少一个处理器基于下述情况来向所述多个表示中的一个表示进行切换,所述情况为所述定时元数据轨道指示所述视频数据的多个表示中的每个表示的输入缓冲是否至少溢出;以及
传递代码,所述传递代码被配置成使所述至少一个处理器将所述多个表示中的一个表示传递至客户端。
12.根据权利要求11所述的装置,还包括:
另外的创建代码,所述另外的创建代码被配置成使所述至少一个处理器创建重新同步块索引,以用信号通知所述至少一个元数据样本中的所述对准段的至少一个段的媒体块的特征以及所述媒体块的大小;
生成代码,所述生成代码被配置成使所述至少一个处理器连同所述媒体块逐步生成所述元数据样本;以及
另外的传递代码,所述另外的传递代码被配置成使所述至少一个处理器将所述元数据样本逐步传递至所述客户端。
13.根据权利要求12所述的装置,
其中,所述定时元数据轨道还指示任何的所述对准段和媒体块中的至少所述对准段和所述媒体块的相对质量,并且
其中,向所述多个表示中的一个表示进行切换还基于对所述相对质量进行比较。
14.根据权利要求12所述的装置,还包括:
信号传送代码,所述信号传送代码被配置成使所述至少一个处理器用信号通知任何的所述对准段和媒体块中的至少所述对准段和所述媒体块的持续时间是否是已知的,
其中,当所述持续时间是已知时,将所述持续时间用信号通知为任何的所述对准段和所述媒体块中的至少所述对准段和多数媒体块中的每一者的精确持续时间,并且
其中,当所述持续时间是未知时,将所述持续时间用信号通知为任何的所述对准段和所述媒体块中的至少所述对准段和多数媒体块中的每一者的变化量。
15.根据权利要求11所述的装置,还包括:
另外的创建代码,所述另外的创建代码被配置成使所述至少一个处理器通过组合所述对准段的索引信息来创建组合索引段;以及
另外的传递代码,所述另外的传递代码被配置成使所述至少一个处理将所述组合索引段传递至所述客户端。
16.根据权利要求15所述的装置,还包括:
第二另外的创建代码,所述第二另外的创建代码被配置成使所述至少一个处理器通过对所述媒体适配集中的对准段的块重新同步信息进行组合来创建组合重新同步索引段;以及
第二另外的传递代码,所述第二另外的传递代码被配置成使所述至少一个处理器将所述组合重新同步索引段传递至所述客户端。
17.根据权利要求16所述的装置,还包括:
第三另外的创建代码,所述第三另外的创建代码被配置成使所述至少一个处理器创建混合的组合索引轨道,所述混合的组合索引轨道包括用于除所述对准段中的正在编码的一个对准段之外的所有所述对准段的所述组合索引段的格式,并且
其中,所述混合的组合索引轨道还包括用于所述对准段中的一个对准段的所述组合重新同步索引段的格式。
18.根据权利要求17所述的装置,
其中,所述混合的组合索引轨道是并行的元数据轨道。
19.根据权利要求11所述的装置,
其中,向所述视频数据的所述多个表示中的一个表示进行切换还基于确定所述表示的带宽。
20.一种存储程序的非暂态计算机可读介质,所述程序使计算机执行处理,所述处理包括:
获得视频数据;
基于所述视频数据来创建指示段带宽并包括媒体适配集中的多个对准段的信息的定时元数据轨道,使得所述对准段中的每个对准段的持续时间信息和大小信息被包括在至少一个元数据样本中;
基于下述情况来向所述多个表示中的一个表示进行切换,所述情况为所述定时元数据轨道指示所述视频数据的多个表示中的每个表示的输入缓冲是否至少溢出;以及
将所述多个表示中的一个表示传递至客户端。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063042959P | 2020-06-23 | 2020-06-23 | |
US63/042,959 | 2020-06-23 | ||
US202063088712P | 2020-10-07 | 2020-10-07 | |
US63/088,712 | 2020-10-07 | ||
US17/242,875 | 2021-04-28 | ||
US17/242,875 US11973817B2 (en) | 2020-06-23 | 2021-04-28 | Bandwidth cap signaling using combo-index segment track in media streaming |
PCT/US2021/034529 WO2021262385A1 (en) | 2020-06-23 | 2021-05-27 | Bandwidth cap signaling using combo-index segment track in media streaming |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114616801A true CN114616801A (zh) | 2022-06-10 |
CN114616801B CN114616801B (zh) | 2023-12-26 |
Family
ID=79022109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180005996.3A Active CN114616801B (zh) | 2020-06-23 | 2021-05-27 | 视频编码的方法、装置、设备以及存储介质 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11973817B2 (zh) |
EP (1) | EP4026274B1 (zh) |
JP (1) | JP7371984B2 (zh) |
KR (1) | KR20220079669A (zh) |
CN (1) | CN114616801B (zh) |
WO (1) | WO2021262385A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240022792A1 (en) * | 2022-07-12 | 2024-01-18 | Tencent America LLC | Method for bandwidth switching by cmaf and dash clients using addressable resource index tracks and events |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014158264A1 (en) * | 2013-03-29 | 2014-10-02 | Intel IP Corporation | Quality-aware rate adaptation techniques for dash streaming |
US20150026358A1 (en) * | 2013-07-19 | 2015-01-22 | Futurewei Technologies, Inc. | Metadata Information Signaling And Carriage In Dynamic Adaptive Streaming Over Hypertext Transfer Protocol |
US20150074129A1 (en) * | 2013-09-12 | 2015-03-12 | Cisco Technology, Inc. | Augmenting media presentation description and index for metadata in a network environment |
US20150163757A1 (en) * | 2013-12-05 | 2015-06-11 | Cisco Technology, Inc. | Synchronization of streaming data |
WO2018115572A2 (en) * | 2016-12-22 | 2018-06-28 | Nokia Technologies Oy | An apparatus, a method and a computer program for video coding and decoding |
WO2020068935A1 (en) * | 2018-09-27 | 2020-04-02 | Futurewei Technologies, Inc. | Virtual reality viewpoint viewport center point correspondence signaling |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9432433B2 (en) | 2006-06-09 | 2016-08-30 | Qualcomm Incorporated | Enhanced block-request streaming system using signaling or block creation |
US9852219B2 (en) * | 2007-08-20 | 2017-12-26 | Nokia Technologies Oy | Segmented metadata and indexes for streamed multimedia data |
KR101757994B1 (ko) | 2012-07-10 | 2017-07-13 | 브이아이디 스케일, 인크. | 품질 주도형 스트리밍 |
EP2908535A4 (en) | 2012-10-09 | 2016-07-06 | Sharp Kk | Content transfer device, content playback device, content distribution system, method for controlling a content transfer device, method for controlling a content playback device, control program and recording medium |
KR101766696B1 (ko) | 2013-10-25 | 2017-08-09 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 적응 스트리밍에서의 레프리젠테이션 연계 |
US10904515B2 (en) | 2016-02-22 | 2021-01-26 | Sony Corporation | File generation apparatus and file generation method as well as reproduction apparatus and reproduction method |
WO2020141259A2 (en) * | 2019-01-04 | 2020-07-09 | Nokia Technologies Oy | Method and apparatus for storage and signaling of media segment sizes and priority ranks |
US11025982B2 (en) * | 2019-03-29 | 2021-06-01 | Twizted Design, Inc. | System and method for synchronizing content and data for customized display |
-
2021
- 2021-04-28 US US17/242,875 patent/US11973817B2/en active Active
- 2021-05-27 KR KR1020227016078A patent/KR20220079669A/ko not_active Application Discontinuation
- 2021-05-27 WO PCT/US2021/034529 patent/WO2021262385A1/en unknown
- 2021-05-27 EP EP21828204.4A patent/EP4026274B1/en active Active
- 2021-05-27 CN CN202180005996.3A patent/CN114616801B/zh active Active
- 2021-05-27 JP JP2022523681A patent/JP7371984B2/ja active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014158264A1 (en) * | 2013-03-29 | 2014-10-02 | Intel IP Corporation | Quality-aware rate adaptation techniques for dash streaming |
EP2979414A1 (en) * | 2013-03-29 | 2016-02-03 | Intel IP Corporation | Quality-aware rate adaptation techniques for dash streaming |
US20150026358A1 (en) * | 2013-07-19 | 2015-01-22 | Futurewei Technologies, Inc. | Metadata Information Signaling And Carriage In Dynamic Adaptive Streaming Over Hypertext Transfer Protocol |
US20150074129A1 (en) * | 2013-09-12 | 2015-03-12 | Cisco Technology, Inc. | Augmenting media presentation description and index for metadata in a network environment |
US20150163757A1 (en) * | 2013-12-05 | 2015-06-11 | Cisco Technology, Inc. | Synchronization of streaming data |
WO2018115572A2 (en) * | 2016-12-22 | 2018-06-28 | Nokia Technologies Oy | An apparatus, a method and a computer program for video coding and decoding |
WO2020068935A1 (en) * | 2018-09-27 | 2020-04-02 | Futurewei Technologies, Inc. | Virtual reality viewpoint viewport center point correspondence signaling |
Non-Patent Citations (1)
Title |
---|
ISO/IEC 2019, INFORMATION TECHNOLOGY-DYNAMIC ADAPTIVE STREAMING OVER HTTP(DASH)-PART 1:MEDIA PRESENTATION DESCRIPTION AND SEGMENT FORMATS - THIRD EDITION - 2019-08, pages 8 - 14 * |
Also Published As
Publication number | Publication date |
---|---|
KR20220079669A (ko) | 2022-06-13 |
US20210400100A1 (en) | 2021-12-23 |
JP2022553964A (ja) | 2022-12-27 |
WO2021262385A1 (en) | 2021-12-30 |
CN114616801B (zh) | 2023-12-26 |
EP4026274B1 (en) | 2024-02-28 |
JP7371984B2 (ja) | 2023-10-31 |
EP4026274A1 (en) | 2022-07-13 |
US11973817B2 (en) | 2024-04-30 |
EP4026274A4 (en) | 2022-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113711605A (zh) | 用于在已编码图片中支持混合nal单元类型的方法 | |
CN113348666A (zh) | 用于图块组识别的方法 | |
CN113826387A (zh) | 在编码视频流中进行分层随机访问的方法 | |
CN114641976B (zh) | 用于流式传输媒体内容的方法、设备和计算机可读介质 | |
CN113545066B (zh) | 视频码流解码方法和解码器、编码器以及电子设备 | |
CN114616801B (zh) | 视频编码的方法、装置、设备以及存储介质 | |
CN113994686A (zh) | 点云编码的数据单元和参数集设计 | |
US10904545B2 (en) | Method for syntax controlled decoded picture buffer management | |
EP4026074A1 (en) | Signaling timeout and complete data inputs in cloud workflows | |
CN114514752A (zh) | 用于交互式播放dash内容的应用程序预期交互式选择信息 | |
CN112995680A (zh) | 重建已编码增强层图片的方法和设备 | |
EP4026011A1 (en) | In-manifest update event | |
CN114073084A (zh) | 在视频码流中有效发信号通知图片大小和分区信息的方法和装置 | |
US11687386B2 (en) | MPD validity expiration processing model | |
JP7345669B2 (ja) | セッションベースのdash動作を使用したurlカスタマイズ | |
US20230222823A1 (en) | Method for annotating vvc subpictures in dash | |
CN116508319A (zh) | 神经图像压缩中的逐块熵编码方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40070652 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |