CN112567742A - 用于编码360度沉浸式视频的系统和方法 - Google Patents

用于编码360度沉浸式视频的系统和方法 Download PDF

Info

Publication number
CN112567742A
CN112567742A CN201980053687.6A CN201980053687A CN112567742A CN 112567742 A CN112567742 A CN 112567742A CN 201980053687 A CN201980053687 A CN 201980053687A CN 112567742 A CN112567742 A CN 112567742A
Authority
CN
China
Prior art keywords
frame
encoded
slice
video
frames
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201980053687.6A
Other languages
English (en)
Other versions
CN112567742B (zh
Inventor
C·菲利普斯
R·H·福斯曼
S·科恩
R·舍伯格
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of CN112567742A publication Critical patent/CN112567742A/zh
Application granted granted Critical
Publication of CN112567742B publication Critical patent/CN112567742B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/164Feedback from the receiver or from the transmission channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

一种用于实现优化的360°沉浸式视频观看体验的系统和方法。媒体输入流被编码成具有不同质量的第一组比特流,其中每个GOP以帧内编码(I)帧开始,随后是包括至少一个预测编码(P)帧的一组帧。媒体输入流也被编码成具有不同质量的第二组比特流,其中每个GOP以I帧开始,随后是多个X帧,每个X帧具有P帧的切片报头,并且包括仅内部编码数据块(例如,I块)。在360°沉浸式视频内容的播出期间,当视口在中间GOP期间改变和/或在带宽分配改变的情况下,将X帧中的更高质量的数据复用到编码视频序列中,以便以最小的时延提供增强的观看体验。

Description

用于编码360度沉浸式视频的系统和方法
技术领域
本公开一般涉及通信网络。更特别地,并且不作为任何限制,本公开涉及用于在流播网络环境中提供360°沉浸式视频的系统和方法。
背景技术
虚拟现实的引入除了改进若干现有技术之外,还将新的应用带入到前沿。在360°沉浸式视频的情况下,可以看到对现有技术的一种改进,该360°沉浸式视频也不同地称为全景视频、360度视频或360视频等。
360度视频向用户提供沉浸式“身临其境(being there)”的体验。虚拟现实的增加的沉浸感可以容易地应用于视频,从而提供比投影在平坦表面上的传统视频更优的用户体验。随着全向捕获系统和交互式显示系统(例如,头戴式显示器(HMD)或耳机(headset))的出现,可导航360度视频系统的普及性也已增长。然而,内容提供商一直与带宽受限的网络环境竞争来以高效的方式递送360度视频内容,以便确保满意的观看体验,因为360度视频资产是超高分辨率球形视频,其包含需要大量数据的场景的全向视图。
当前的360视频耳机是2K分辨率的显示装置,每只眼睛涵盖1K。为了在耳机中实现最佳质量,典型的网络需要向装置发送8K 360视频流。已知视频压缩通过减少表示画面的比特数而允许媒体流播网络中的带宽的高效利用。虽然视频压缩技术的进步持续快速地增长,但是在当今网络环境中关于高效管理带宽,在360视频递送和显示的领域中仍然存在若干缺陷,由此需要进一步的创新,如下文中将阐述。
发明内容
本专利公开广泛地涉及用于实现优化的360°沉浸式视频观看体验的系统、方法、设备、装置和相关联的非暂时性计算机可读介质和网络架构。在一个方面,某些实施例针对可以在涉及将源视频流编码成具有不同质量的分片编码(tile-encoded)流的布置中实现的优化编码方案。在另外的方面,某些实施例涉及在基于分片相对于用户视口的位置确定分片权重时利用用户注视向量信息。在又一些另外的方面,示例实施例涉及分片选择和带宽加强(annealing)方案,其中响应于注视向量信息和带宽分配来选择带宽优化的分片,以便拼接(stitch)成复用的编码视频序列中,从而增强观看体验。
在涉及媒体准备系统和方法的一个实施例中,媒体输入流被编码成具有不同质量(例如,与QP (量化参数)相关)的第一组比特流,其中每个画面组(Group-of-Pictures,GOP)以内部编码(intra-coded)(I)帧开始,随后是包括至少一个预测编码(predictive-coded)(P)帧的一组帧。媒体输入流还被编码成具有不同质量的第二组比特流,其中每个GOP以I帧开始,随后是多个X帧(也称为块内编码帧或全内部(All-Intra)编码帧)。在一个变型中,每个X帧被编码,从而具有P帧的切片(slice)报头(header)且包括仅内部编码数据的块(例如,I块)。在另一变型中,X帧被编码,从而具有双预测编码帧(B帧)的切片报头,其仅具有图像数据的I块。在360°沉浸式视频内容的播放期间,当视口在中间GOP期间改变时和/或如果带宽分配改变,则X帧中的较高质量数据相对于新视口被拼接成编码视频序列,以便以最小时延增强观看体验。
在针对媒体准备系统和方法的另一实施例中,媒体输入流被编码以生成媒体输入流的多个比特率表示,每个比特率表示具有与用于比特率表示的QP值有关的单独视频质量。每个比特率表示被编码成多个相位编码比特流,属于特定比特率表示的每个相位编码比特流包括具有特定GOP结构的多个(N个)帧,特定GOP结构具有GOP大小(p),其中多个相位编码比特流等于GOP大小。对于每个第p个相位编码比特流,N个帧被编码如下:至少第一帧被编码为内部编码(I)帧;并且对于2≤i≤N,在帧位置i处满足{ i Mod (GOP大小) } = p的帧被编码为X帧,该X帧具有预测编码(P)帧的切片报头并且包括仅内部编码数据的块(I块),否则,该帧被编码为具有预测编码数据的块(P块)的P帧,该P块具有P切片报头。在本文的示例实施例中,“Mod”是在除法之后返回余数的模运算符。其他变型可采用具有B切片报头的X帧。在360°沉浸式视频内容的播放期间,当视口在中间GOP期间改变时和/或如果带宽分配改变,则来自具有合适相位的相位编码比特流的X帧中的较高质量数据被复用到编码视频序列中,以便以最小时延来增强观看体验。在本文的示例实施例中,具有合适相位的比特流是X帧位于期望帧位置处的比特流,例如,所述X帧在解码顺序中可以被复用到编码视频序列中的最早帧处。
在示例实现中,可以基于高效视频编码(HEVC) H.265压缩、开放媒体联盟(AOMedia)视频1 (AV1)压缩和H.266压缩(也称为通用视频编码(VVC)或未来视频编解码器(FVC)压缩)中的至少一个来生成具有不同质量的各种类型的分片比特流、BIE比特流和/或PE比特流。
在另一方面,涉及在沉浸式视频优化系统处操作的方法的实施例尤其包括从客户端装置接收注视向量,该客户端装置操作以向用户显示360°沉浸式视频资产,其中每个视频帧包括投影在用户所沉浸在的、该用户所观看的3维(3D)显示环境上的分片阵列,该注视向量定义用户在任何特定时间正在观看的3D显示环境中的注视方向。确定注视向量和与每个分片位置相关联的方向向量之间的角度间隔,每个分片位置相应地对应于3D显示环境中的分片阵列。响应于所述角度间隔,确定与所述分片阵列对应的多个分片权重以用于选择360°沉浸式视频资产的具有不同比特率质量的分片,以便促进跨360度视图具有不同质量的视频帧的组装来递送到所述客户端装置。在一个变型中,通过跟踪与客户端装置相关联的用户的耳机的定向来获得注视方向,以便显示360°沉浸式视频资产。在另一变型中,在显示360°沉浸式视频资产的同时通过跟踪用户的眼球相对于3D显示环境的不同部分的移动来获得注视方向。在又一些另外的变型中,可以实现与用户相关联的眼睛和头部移动的组合以便确定注视向量信息。
在又一方面,针对在沉浸式视频优化系统处操作的分片选择和带宽加强方法的实施例尤其包括检索一个或多个流清单文件,所述流清单文件描述针对每个分片编码比特流每个帧的片块分组的特性,每个分片编码比特流对应于媒体输入流的多个比特率表示中的特定一个。每个比特率表示或流被编码,从而具有与用于该比特率表示的对应QP值相关的单独视频质量,其中分片编码比特流的每个帧包括被组织为每帧至少一个切片的分片阵列,其中多个帧形成分片编码比特流的GOP结构。获得与基于相应分片位置形成帧的分片阵列对应的分片权重和与媒体输入流的多个分片编码比特流对应的变量权重。可以根据针对每个分片编码比特流跨GOP结构的每个分片/ GOP组合的变量权重和分片权重来确定适当性(adequacy)度量或值。响应于适当性度量值,具有不同比特率质量的分片或来自具有不同比特率质量的比特流的分片可以在迭代过程中从对应的分片编码的比特流中选择,以便实现关于总体带宽分配的背包(knapsack)优化,其中所选择的分片的比特率质量被优化以满足用于传送复用视频输出流的传送缓冲器模型。将所选择的分片提供给复用器或分片拼接器(stitcher),以生成包含所选择的分片的帧作为复用视频输出流的一部分,其中视口中的分片选自较高质量比特流。在一个变型中,可以在视频优化节点处的在以网络为中心的配置中提供分片拼接器。在另一变型中,可在客户端装置处在以装置为中心的配置中提供分片拼接器,该客户端装置可操作以消费360°沉浸式视频内容。
在又一方面中,本公开涉及一种在虚拟现实(VR)装置上呈现360°沉浸式视频流的视频分片的方法,其中视频质量跨360°全景视图而变化。该方法尤其包括:基于视频流的总的分配比特率和各个分片相对于用户的直接视野的位置来确定每个单独视频分片的比特率。该方法可以包括确定用户的当前直接视野(例如,感兴趣区域或ROI);在所述用户的当前直接视野内呈现具有比所述视频流的总比特率更高的比特率的视频分片(或包括使用相对低的QP值来编码的块的视频分片);以及在用户的当前直接视野之外呈现具有比360°视频流的总比特率低的比特率的视频分片(或包括使用相对较高的QP值来编码的块的视频分片),其中用户视野内的视频分片和用户视野外的视频分片的总比特率不超过360°视频流的总分配比特率。本领域技术人员在对其进行参考时将认识到,在示例实现中,相对QP值和相对比特率值通常是反比关系,并且可以在特定实施例中互换地使用,加以必要的变更。
在另一个实施例中,本公开涉及被配置成在VR装置上呈现视频流的视频分片的360°视频优化系统,其中视频质量跨360°全景视图变化。该系统基于360视频流的总分配比特率以及各个分片相对于用户的直接视野的位置来确定每个各个视频分片的比特率。系统访问视频清单(或获得与清单的链接)并且从视频后台办公室接收视频流的总比特率的指示。系统接收或以其他方式确定用户相对于VR装置的当前直接视野。该系统在用户的当前直接视野内呈现具有比360°视频流的总比特率更高的比特率的视频分片;以及在用户的当前直接视野之外呈现具有比360°视频流的总比特率低的比特率的视频分片,其中用户的视野内的视频分片和用户的视野外的视频分片的总比特率不超过360°视频流的总分配比特率。
在又一些另外的方面,公开了系统、设备或网络元件的实施例,其尤其包括适当的硬件,诸如处理器和具有用于执行本文阐述的方法的实施例的程序指令的永久性存储器。
在又一些另外的方面,公开了包含存储在其上的计算机可执行程序指令或代码部分的非暂时性计算机可读介质或分布式介质的一个或多个实施例,其用于在由网络节点、设备、系统、网络元件、订户装置等的处理器实体执行时,执行本发明的方法的一个或多个实施例,加以必要的变更。各种实施例的进一步特征在从属权利要求中要求保护。
本文公开的示例实施例在沉浸式媒体消费环境中提供若干益处。基于本发明的编码实施例,并且基于输入注视向量、带宽分配和传送缓冲器模型来选择不同质量的分片,帧可以有利地与针对较高质量视口而优化的分片组装。因为帧被选择性地视口优化,所以即使在带宽受限的环境中也可能传输高质量的复用流,而不牺牲观看体验。示例实施例可以被有利地配置,使得最高质量的分片将总是在直接视图中被递送,其中跨更远离直接视野的多个区域上的受控降级质量在处于与用户正在观看的位置的截然相反的方向上的区域中具有最低质量。因此,当将流递送到该装置时,用户总是在他们正在直接观看的区域中得到最高的视频QoE。此外,当用户移动他们的头部时,示例实施例的中间GOP切换允许以最小时延尽可能快地接收高质量的分片。利用针对逐渐刷新而编码的分片,当用户改变他们的视野时,示例实施例可以进一步减少视频的时延,因为可以通过在要递送的下一帧的初始升级时发送若干高质量分片来最小化视频缓冲器的大小。在接下来的若干帧的过程中,示例实施例逐渐增加剩余分片的质量,直到基于当前视野和允许的带宽达到分片的质量。
当考虑受管网络环境时,在本发明的示例实施例的实践中可以实现更进一步的益处和优点。因为示例实施例可以被配置成利用受管理的网络并且优化在专用的网络带宽量内的递送,所以客户端不必估计可用的带宽量和对正在请求的分片的比特率进行调整。这允许客户端以1-3帧的最小缓冲器操作,并且避免进入暂停的缓冲情况。因此,可以实现用于流的递送的高得多的可靠性,同时提供用于质量升级的最小时延。
鉴于以下描述和附图,实施例的附加益处和优点将是显然的。
附图说明
在附图的图中,通过示例而非限制的方式示出了本公开的实施例,在附图中,相似的参考标号指示相似的元素。应注意,本公开中对“一”或“一个”实施例的不同引用未必针对同一实施例,且此类引用可意味着至少一个。此外,当结合实施例描述特定特征、结构或特性时,认为结合其他实施例实现这种特征、结构或特性是在本领域技术人员的知识范围内的,而无论是否明确描述。
附图被并入说明书中并形成说明书的一部分,以说明本公开的一个或多个示例性实施例。从以下结合所附权利要求并参考附图的详细描述中,将理解本公开的各种优点和特征,在附图中:
图1描述了一般化的示例网络环境,其中本发明的一个或多个实施例可以被实施用于在各种网络配置上提供360°沉浸式视频;
图2描绘了根据示例实施例包括图1中所示的环境的一部分的示例网络架构,以用于促进360°沉浸式视频的优化的分片编码;
图3描绘了示例性分片编码器的框图,该示例性分片编码器可以被提供作为被配置成在图2的网络架构的布置中操作的媒体准备和/或处理系统的一部分;
图4A-4C示出了在示例编码器布置中每帧包含一个或多个切片和/或分片的示例视频帧;
图5是示出了根据本发明的一个或多个实施例的媒体准备/处理方法的各种框、步骤和/或动作的流程图,它们可以在一个或多个布置中(重新)组合,具有或不具有本公开的附加流程图的块、步骤和/或动作,用于促进优化的360°沉浸式视频;
图6示出了根据本发明的一个或多个实施例的示例编码布置的各种框、步骤和/或动作,该示例编码布置涉及可以被实现为图5的示例媒体准备/处理方法的一部分的相控编码(PE)方案或块内编码(BIE)方案;
图7是示出根据本发明的示例实施例的BIE方案的流程图;
图8A是示出了根据本发明的示例实施例用于在分片编码布置中配置BIE方案的过程的流程图;
图8B示出了根据本发明的示例实施例在示例性BIE方案中的附加框、步骤和/或动作的流程图;
图9是示出根据本发明的示例实施例的PE方案的流程图;
图10A是示出根据本发明的示例实施例用于在分片编码布置中配置PE方案的过程的流程图;
图10B是示出根据本发明的示例实施例在示例PE方案中的附加框、步骤和/或动作的流程图;
图11描绘了在示例实施例中由基于BIE的分片编码器系统生成的具有不同质量的多个编码比特流;
图12描绘了在示例实施例中由基于PE的分片编码器系统生成的具有特定比特率表示的不同相位的多个编码比特流;
图13A示出了根据本发明的实施例涉及基于BIE的分片流的示例分片拼接方案的各个框、步骤和/或动作;
图13B示出了根据本发明的实施例的涉及基于PE的分片流的示例分片拼接方案的各个框、步骤和/或动作;
图13C是示出了根据本发明的实施例关于示例分片拼接方案的附加框、步骤和/或动作的流程图;
图14示出根据本发明的示例实施例包括从具有不同质量或QP的编码比特流中选择的分片的360°视频帧;
图15A和15B是根据本发明的一个或多个实施例的流程图,其示出了可以在一个或多个布置中(重新)组合的方法的各个框、步骤和/或动作,具有或不具有本公开的附加流程图的框、步骤和/或动作,用于促进基于与360度沉浸式视频观看环境中的用户注视相关联的权重进行优化的分片选择;
图16A和16B示出示例几何布置,其用于促进确定用户的注视方向与分片编码帧中的分片位置之间的角度间隔;
图16C示出针对本发明的一个或多个实施例的目的的示例360°沉浸式视频观看环境;
图17A是示出了根据本发明的示例实施例关于示例360°沉浸式视频优化过程的附加框、步骤和/或动作的流程图;
图17B是示出了根据本发明的示例实施例关于示例360°沉浸式视频优化处理的另外方面的附加块、步骤和/或动作的流程图;
图18A描绘了根据本发明的实施例确定的具有不同权重的分片位置的示例视频帧;
图18B描绘了具有不同编码的视口分片的帧的示例装置缓冲器;
图18C和18D示出了其中基于用户注视方向来分布分片质量的3D观看空间;
图19是示出根据本发明的一个或多个实施例分片选择和带宽加强过程的各个框、步骤和/或动作的流程图,它们可以在媒体准备/处理方法的一个或多个布置中(重新)组合,具有或不具有本公开的附加流程图的框、步骤和/或动作;
图20是示出了根据本发明的实施例关于示例分片选择和带宽加强过程的附加框、步骤和/或动作的流程图;
图21A和21B是示出了根据本发明的示例实施例关于分片选择和带宽加强过程的另外方面的附加框、步骤和/或动作的流程图;
图22示出了根据本发明的示例性实施例用于分片选择和带宽加强布置的传送缓冲器模型配置;
图23描绘了出于本专利公开的实施例的目的,其中UE装置可以被配置成执行360°沉浸式视频优化的某些方面的布置;
图24描绘了根据本发明的实施例的设备的框图,该设备可以被(重新)配置和/或(重新)布置为平台、节点或元素,以实现360°沉浸式视频处理、准备和优化的一个或多个方面;以及
图25描绘了具有用于本专利公开的实施例的目的附加细节的示例UE装置的框图。
具体实施方式
在本文中对于本发明的实施例的描述中,提供了许多特定细节,例如组件和/或方法的示例,以提供对本发明的实施例的透彻理解。然而,本领域技术人员将认识到,可以在没有一个或多个特定细节的情况下,或者在具有其他设备、系统、组装件、方法、组件、材料、零件等等的情况下实践本发明的实施例。在其他情况下,没有具体示出或详细描述众所周知的结构、材料或操作,以避免使本发明的实施例的各方面模糊。因此,本领域技术人员将认识到,可以在没有此类特定组件的情况下实践本公开的实施例。还应该认识到,借助本文阐述的详细描述并参考附图,本领域普通技术人员将能够在不进行过度实验的情况下制造和使用一个或多个实施例。
另外,诸如“耦合”和“连接”之类的术语及其派生词可用于以下描述、权利要求或两者。应该理解,这些术语不一定意在作为彼此的同义词。“耦合”可以用于指示两个或更多个元件彼此合作或相互作用,它们彼此可以或可以不直接物理或电接触。“连接”可以用于指示在彼此耦合的两个或更多个元件之间的通信的建立,即,通信关系。此外,在本文阐述的一个或多个示例实施例中,一般来说,如果可以对元件编程以执行该功能或以其他方式在结构上布置成执行该功能,则该元件、组件或模块可以被配置成执行该功能。
如本文所使用的,网络元件、节点或子系统可以包括一个或多个服务网络设备,包括可通信地互连网络上的其他设备(例如,其他网络元件、末端站等)的硬件和软件,并且适合于在虚拟化/非虚拟化环境中,针对可操作以接收/消费媒体分布网络中的内容的多个订户和相关联用户设备(UE)节点,托管一个或多个应用或服务,其中媒体内容资产可以使用基于流或基于文件的机制来分发和递送。这样,一些网络元件可以被布置在无线的无线电网络环境中,而其他网络元件可以被布置在公共分组交换网络基础设施中,包括或者以其他方式涉及可以包括公共、私有或混合CDN的合适的内容递送网络(CDN)基础设施。此外,包括本文阐述的一个或多个实施例的合适的网络元件可以涉及陆地和/或卫星宽带递送基础设施,例如,数字用户线(DSL)网络架构、符合线缆数据服务接口规范(DOCSIS)的线缆调制解调器终端系统(CMTS)架构、交换数字视频(SDV)网络架构、混合光纤同轴(HFC)网络架构、合适的卫星接入网络架构或通过蜂窝和/或WiFi连接性的宽带无线接入网络架构。因此,一些网络元件可以包括“多个服务网络元件”,其提供对多个基于网络的功能(例如,360°沉浸式A/V媒体准备递送策略管理、会话控制、QoS策略实施、带宽调度管理、内容提供商优先级策略管理、流播策略管理等)的支持,此外还提供对多个应用服务(例如,在变化的质量或定义中,包括360°沉浸式视频资产(也称为360度视频资产或简称为360视频资产)的数据和多媒体应用)的支持。示例订户末端站或客户端装置可以包括各种装置(系留(tethered)或无系留),其可以使用流播和/或基于文件的下载技术来消费或递送媒体内容资产,在某些实施例中,这可以涉及某种类型的速率适配。因此,说明性客户端装置或UE装置可以包括被配置成尤其执行一个或多个客户端应用的任何装置,所述一个或多个客户端应用用于例如经由宽带接入网络使用HTTP、HTTPS、RTP等从一个或多个内容提供商接收、记录、存储和/或解码/渲染(render)360视频内容、实况媒体和/或静态/点播媒体,其可以包括虚拟现实(VR)媒体、增强现实(AR)媒体、混合现实(MR)媒体。因此,这样的客户端装置可以包括下一代基于IP的STB、联网的TV、个人/数字录像机(PVR/DVR)、联网的媒体投影仪、便携式膝上型计算机、上网本、掌上电脑、平板电脑、智能电话、多媒体/视频电话、移动/无线用户设备、便携式媒体播放器、与3D显示装置协作操作的便携式游戏系统或控制台(诸如,Wii®、PlayStation 3®等)等,其可以访问或消费经由合适的媒体分布网络提供的360度内容/服务,其中可以根据本文阐述的一个或多个实施例来提供带宽和体验质量(QoE)方案。
可以使用软件、固件和/或硬件的不同组合来实现本专利公开的一个或多个实施例。因此,可以使用在一个或多个电子装置或节点(例如,订户客户端装置或末端站、网络元件等)上存储和执行的代码和数据来实现附图(例如,流程图)中所示的一种或多种技术。这样的电子装置可以使用计算机可读介质来存储和传递(内部和/或通过网络与其他电子装置传递)代码和数据,计算机可读介质诸如非暂时性计算机可读存储介质(例如,磁盘、光盘、随机访问存储器、只读存储器、闪速存储器装置、相变存储器等)、暂时性计算机可读传输介质(例如电、光、声或其他形式的传播信号——例如载波、红外信号、数字信号)等。另外,此类网络元件通常可以包括与一个或多个其他组件耦合的一个或多个处理器集合,一个或多个其他组件例如:一个或多个存储装置(例如,非暂时性机器可读存储介质))以及(一个或多个)存储数据库、用户输入/输出装置(例如键盘、触摸屏、指示装置和/或显示器),以及用于实现信令和/或承载媒体传输的网络连接。处理器集合和其他组件的耦合通常可以通过以任何已知(例如,对称/共享多处理)或迄今未知的架构布置的一个或多个总线和桥(也称为总线控制器)来进行。因此,为了实现本公开的一种或多种技术,给定电子装置或网络元件的存储装置或组件可以被配置成存储代码和/或数据,以在该元件、节点或电子装置的一个或多个处理器上执行。
现在参考附图,更特别地,参考图1,其中描绘了一般化的示例网络环境100,其中可以实施本发明的一个或多个实施例,以便提供分布在各种配置上的沉浸式视频,以供一个或多个观看装置消费。示例视频源/捕获系统102说明了被配置成记录、生成、读取、解码、提供或以其他方式获得在无数客户端装置环境中可渲染360°观看的媒体的任何布置,这些客户端装置环境可包括系留或无系留装置、多个独立设备、订户驻地设备、游戏设备、和/或与3D显示装置配对组合而操作的设备等,其利用各种访问/连接技术操作,如本专利申请中其他地方所述。作为说明,可以与头戴式显示器(HMD)或耳机142 (其又可以与便携式设备(诸如平板、智能电话、平板电话、游戏装置等,共同地被示为装置140等,通常被示为客户端装置138)相关联的计算机/显示器144可以被配置成解码和渲染各种类型的360°视频内容,这些视频内容可以根据本发明的教导被编码和带宽优化,如将在下面另外以附加细节阐述的。在一个实施例中,示例360°沉浸式视频源/捕获系统102可以包括一个或多个高清相机(例如,4K、8K等),包括全向或全景相机等,或者可以被配置成以多种方式提供源视频流的视频存储装置。取决于关于视频预处理的配置和集成度,来自示例360°沉浸式视频源/捕获102的输出流可以被提供为与一个或多个接口、高清多媒体接口(HDMI)、串行数字接口(SDI)、高清SDI (HD-SDI)或其他格式兼容的流,其可以包括具有或不具有投影映射以及具有或不具有源视频编码的情况下的未拼接或拼接流。例如,可以将没有投影映射104A的未拼接的源流提供给视频拼接器106,其将覆盖重叠角度的流组合成拼接流108。在另一实施例中,视频源流可包括拼接的HDMI/SDI/HD-DSI流104B。此外,可能存在可能涉及les校正的对所捕获的视频的其他处理。在所述流没有被投影映射的情况下,投影映射系统110可操作以使用适当的映射投影方案从拼接流104B/108生成投影映射流114,所述适当的映射投影方案例如是球形图像投影,包括但不限于等矩形投影、立方体映射投影、等角Cubemap(EAC)投影、金字塔投影、鱼眼投影等。在又一实施例中,视频流可以包括拼接和投影映射流104C,其可以被提供给源视频编码模块112,该源视频编码模块可操作以根据实现方式来实现一个或多个编码或压缩方案,例如包括但不限于H.264或高级视频编码(MPEG-4 AVC)、高效视频编码(HEVC)或H.265 (MPEG-H部分2)、H.262 (MPEG-2)、H.264 (MPEG-4,部分2)、开放媒体联盟(AOMedia)视频1 (AV1)、H.266、通用视频编码(VVC)、未来视频编码(FVC)等,其中一些方案可以包括或可以不包括分片编码/或可以包括或可以不包括自适应比特率(ABR)转码。在一种布置中,来自投影映射系统110的投影映射流也可以提供给编码器系统112,以实现适当的视频压缩。根据与媒体准备中的预处理有关的配置和集成度,根据本发明的教导有利地提供了分片编码器/转码器120,以处理从投影映射系统110接收的未压缩视频流(视频流114)、从编码器系统112接收的压缩视频流(视频流116)、或来自视频源/捕获系统102的视频流104C。如下面将进一步详细阐述的,在一些实施例中其功能可以与编码器系统112和/或投影映射系统110集成的分片编码器/转码器120可操作以生成与360°沉浸式视频资产或程序对应的输入视频流的多个比特率表示的编码流,其中具有特定视频质量水平的每个比特率表示可以被编码以包含具有适当修改的分片、帧和/或切片数据的帧,以便于带宽优化的360°视频分布。分片封装器122可操作以封装来自编码器/代码转换器120的编码流以便存储124,并且提供描述编码流的分片分组、分片位置、媒体类型和相关特性的关联清单文件126。如下面将进一步阐述的,分片选择和流生成系统132可操作以响应于控制输入来选择适当的分片,并且生成复用视频输出流,该复用视频输出流可以由服务于观看装置138的与接入网络136相关联的递送服务器134递送。在示例实现中,可以在各种网络基础设施上基于多种协议,例如基于HTTP/S、分块的HTTP/S、RTP/RTCP等,来实现向终端用户递送复用视频流,如本专利申请中其他地方所述。
本领域技术人员将认识到,前述一般化的示例网络环境100可以在分层网络架构中实现,其中媒体捕获和准备的各个方面包括例如源流拼接、投影映射、源媒体压缩、分片/ABR编码/转码、封装等,以及分布/上传和边缘节点过程发生在部署于不同分层级处的不同网络部分中,涉及一个或多个运营商、内容递送网络(CDN)、边缘网络等。此外,在一些实现中,前述设备和过程中的至少一些可以是基于云的。在一些布置中,CDN可以是部署在连接到因特网或其他公共/私用通信网络的多个数据中心中的大型分布式服务器系统。CDN可以是受管理的或不受管理的网络,并且也可以是受管或不受管网络的联合。
因此,在前述示例网络环境中操作地关联的媒体服务器/源系统的示例实施例可以被配置为例如全球头端(headend),以从实况源和/或静态文件源,例如在线内容提供商(诸如Hulu®、Netflix®、YouTube®或Amazon® Prime)以及VOD目录或内容提供商或演播室(诸如Disney、Warner、Sony等)接受媒体内容。来自直播源的媒体内容可以包括针对任何类型的事件(例如,体育/娱乐/游戏事件、音乐会、直播电视节目、诸如国家广播公司(例如,NBC、ABC等)之类的直播新闻广播源)以及诸如CNN、ESPN、CNBC等的Time Warner频道之类的有线广播公司频道和包括诸如广告媒体频道之类的任何辅助媒体插入的本地广播公司等捕获的直播节目。
非限制性地,在图2中描绘了示例网络架构200 (其可以形成图1中所示的环境的一部分),用于促进根据本发明的实施例的沉浸式视频的优化分片编码。媒体输入流202示出对应于360°视频资产的视频流,其可以如图1中所阐述的那样被适当地拼接、投影映射和/或编码,视频流可以被分发、上传或以其他方式提供给与运营商内容递送网络206相关联的CDN源服务器204。广义上,媒体输入流202可包括与直播TV内容、IPTV内容、时移(TS)TV内容、时移(PS) TV内容、游戏内容、视频点播(VOD)内容、VR/AR/MR内容、联网数字录像机(nDVR)内容等中的至少一个相对应的流,或者被(预)处理以用于360度观看体验的任何内容。耦合到CDN 206的CDN边缘服务器208可以被配置成接收与相应视频资产对应的上传的(一个或多个)媒体流202,其可以被存储在(一个或多个)合适的数据库(未具体示出)中。可以被配置成遵循标准编解码器方案(例如,HEVC、AV1等)来操作的分片编码器210可操作以生成多个分片自适应比特率流212,其中每个流可以包括具有特定分辨率、比特率和像素大小(取决于纵横比)的分片。作为说明,流212可包括一个或多个32K流(30730水平像素×17280垂直像素)、16K流(15360水平像素×8640垂直像素)、一个或多个8K流(7680水平像素×4320垂直像素)、一个或多个4K流(3840水平像素×2160垂直像素)、一个或多个HD流(1920水平像素×1080垂直像素)、一个或多个720p流(1280水平像素×720垂直像素)等,其中较高分辨率流可在较高比特率范围处编码,而较低分辨率流可在较低比特率范围处编码。例如,32K流可以在800-1000 兆比特/秒(或Mbps)的范围内编码,16K流可以在200-300Mbps的范围内编码,8K流可以在80-100 Mbps的范围内编码,以此类推,直到720p流在1.2-3Mbps的范围内编码。此外,也被称为分片编码比特流的分片自适应比特率流212可以包括每帧具有合适数量的分片的帧,例如,对于4K为128个分片,这取决于所采用的方案。
在一种布置中,分片编码器210可以被配置成生成分片编码比特流作为媒体输入流202的每个比特率表示的多个相位编码流,其中,取决于相位,特定比特率表示的每个相位编码流在流的画面组(GOP)结构中的特定位置处被提供有专用帧,如将在下面以附加细节进一步阐述的。针对本发明的某些实施例,这种编码方案可以被称为相控编码(PE)方案。在另一布置中,分片编码器210可以被配置成针对媒体输入流202的每个比特率表示生成一对分片编码比特流,例如第一和第二分片编码比特流,其中第一编码比特流可以包括根据已知或迄今未知的编码方案生成的常规或标准分片编码比特流,并且第二编码比特流可以被编码,使得在GOP结构中的每个位置处提供专用帧,如将在下面另外进一步阐述的。针对本发明的某些实施例,这种编码方案可以被称为块内编码(BIE)或全内部编码(AIE)方案。
无论使用PE编码方案还是BIE编码方案,封装器214可操作以封装分片编码比特流212并生成合适的清单文件,该清单文件描述每个分片编码比特流的每帧分片分组的特性,例如分片位置、切片报头信息、包括画面定时、色彩空间信息、视频参数信息等的各种类型的元数据,它们可连同合适的流清单241一起存储在合适的经封装的媒体存储设施240处。包括视频优化系统215(其包括多个模块或子系统)的网络边缘节点216与视频后台办公系统238相关联地操作,以便实现与订户驻地234的驻地设备236的360°沉浸式视频会话,该驻地设备236由经由适当接入网络(例如,具有适当基础设施的DSL/DOCSIS网络部分,该适当基础设施可以包括例如路由器、DSLAM/CMTS元件等,或者适当的3G/4G/5G无线电接入网络元件,包括某些实现中的固定无线基础设施等)实现的受管带宽管道232来服务,该适当接入网络通常由节点或元件230表示。
在一种布置中,视频优化系统215可以包括分片选择子系统218,其可操作以响应于带宽加强和QoE管理策略以及用户注视向量信息等,尤其将从不同的视频质量比特流中选择的分片220提供给分片组合和流生成子系统222。来自不同比特流224的具有分片的复用视频帧可以被提供给递送服务226,以便于复用分片流228到下游基础设施230的传输。广义上,当生成针对360°沉浸式视频会话的用户请求250时,其由视频后台系统238处理并且经由消息252被转发到视频优化系统215,以便获得针对所请求的360°媒体的会话ID和相关联的位置信息。响应于来自视频优化系统215的响应消息251,视频后台办公系统238可操作以向请求装置236提供包括媒体的适当URL信息和会话ID的响应248。用户注视信息(其最初可以是默认设置)和相关联的会话ID信息可以作为消息246被提供给基础设施元件230,消息246可以作为消息254被传播到视频优化系统215。此外,基础设施元件230可操作以在相关或单独的过程中向视频优化系统215提供包括会话ID信息的动态带宽分配消息254。如前所述,分片选择子系统218可以被配置成:响应于与带宽分配、用户注视向量信息或二者有关的控制消息而操作,以用于选择具有不同视频质量的分片,这些分片可以被组合或拼接成帧,以便生成复用分片编码的视频输出流。在一种布置中,可以在视频流递送期间将分片组合和流生成子系统222提供为视频优化系统215的一部分。在另一布置中,可在播放期间在客户端侧(例如,在客户端装置236或与其相关联的某一其他驻地设备处)而非在服务器侧上实现分片拼接。在这种布置中,客户端侧拼接功能性可操作以接收所选择的分片并且执行必要的拼接以便生成要解码和渲染的拼接流。在以下部分中将更详细地阐述与前述过程、子系统和组件相关的各种实施例。
图3描绘了示例分片编码器300的框图,示例分片编码器300可作为被配置成在图2的网络架构的布置内操作的媒体准备和/或处理系统的一部分来提供。非限制地,以下将阐述可被配置成实现PE编码方案或BIE编码方案的示例分片编码器300,该PE编码方案或BIE编码方案用于生成针对每个媒体资产具有不同质量的、同时遵循与分片编码兼容的已知或迄今未知的标准编解码器方案的多比特率视频流,该标准编解码器方案诸如例如H.265、H.266、VVC、AV1等。广义上,在一个实施例中,生成专用帧(或者略微同义地,画面),其被编码为预测编码(P)画面或帧(即,具有将其标识为P帧的报头),但是仅包含被编码为内部编码块或单元(即,I块)的编码块或单元。在另一实施例中,专用帧可包括被标识为双预测(B)帧但仅含有I块的帧。为了本专利申请的目的,这些专用帧被称为“块内”帧或“X”帧,其中所有块的媒体图像数据被强制编码为内部编码(即,没有时间估计或预测)。
为了本文的示例实施例的目的,GOP结构是编码视频流中的一组连续画面,其指定了布置内部帧和帧间帧的顺序。每个编码视频流包括连续的GOP,从其中可以生成可见帧。通常,GOP结构可以包含以下画面类型:(1)I画面或I帧(内部编码画面)——独立于所有其他画面而编码的画面。每个GOP以这种类型的画面开始(按解码顺序)。(2)P画面或P帧(预测编码画面)——包含相对于先前解码画面的运动补偿的差信息。在诸如MEPG-1、H.262/MPEG-2和H.263的较早设计中,每个P画面只能参考一个画面,并且该画面必须按照显示顺序以及解码顺序在P画面之前,并且必须是I或P画面。这些约束不应用于较新的标准,例如H.264/MPEG-4 AVC、H.265/HEVC等。(3) B-画面或B-帧(双预测编码画面或双向预测编码画面)——其包含来自GOP内的前面和后面的I-或P-帧的差异信息,并且包含相对于先前解码图像的运动补偿差异信息。在诸如MPEG-1和H.262/MPEG-2的较早设计中,每个B画面只能参考两个画面,一个画面在显示顺序中在B画面前面,一个画面在后面,所有参考的图像必须是I或P画面。这些约束不应用于较新的标准,诸如,例如H.264/MPEG-4 AVC、H.265/HEVC等(4) D-画面或D-帧(DC直接编码画面)——用作画面的快速访问表示,用于某些类型的视频(例如MPEG-1视频)中的丢失鲁棒性或快进。
通常,I帧指示GOP的开始。随后,可以跟随几个P和B帧。I帧包含完整图像,并且不需要任何附加信息来重建它。通常,编码器使用GOP结构,该GOP结构使每个I帧成为“干净的随机访问点”,使得解码可以干净地在I帧上开始,并且GOP结构内的任何错误在处理正确的I帧之后被纠正。GOP结构通常由两个数字来指代,例如,M =3,N =12。第一个数字表示两个锚帧(I或P)之间的距离。第二个表示两个完整图像(I帧)之间的距离,这是GOP大小。对于示例M =3,N =12,GOP结构是{ IBBPBBPBBPBBI }。可以使用两个连续锚帧之间的B帧的最大计数来代替M参数。例如,在具有模式{ IBBBBPBBBBPBBBBI }的序列中,GOP大小等于15 (两个I帧之间的长度),并且两个锚帧之间的距离(M值)为5 (I帧和P帧之间的长度或两个连续P帧之间的长度)。
虽然典型的GOP以I帧开始,但是本文的一些实施例提供了一种结构,其中GOP可以改为从X帧开始,此外,还将X帧放置在特定位置或替换GOP结构中的P帧和/或B帧,如下面将以附加细节进一步描述的。
本领域技术人员将认识到,取决于编解码器实现,可以以不同的粒度级别将画面或帧划分成多种方式,例如以尤其促进编码效率、并行处理等。在一种配置中,帧可以被划分成多个编码树单元(CTU),每个CTU包含一定数量的亮度(luma)编码树块(CTB)和色度CTB,CTB又可以包括多个编码块(CB)。帧可被拆分成一个或多个切片,每个切片是帧的空间上不同的区域,其可与同一帧中的任何其他区域分开编码并以切片报头来标识。通常,切片是子包含的,并且包含按照光栅扫描的顺序处理的CTU序列,其中切片可以被编码为分别与I帧、P帧或B帧类似的I切片、P切片或B切片。在一种布置中,可使用切片来实现再同步以最小化数据损失,并且根据视频场景中的活动每切片可包含变化数量的CTU。图4A示出包含多个切片402-1到402-N的实例视频帧400A,其中示例切片402-N包含多个CTU 404。
除了切片之外,编码方案还可定义每帧的多个分片,其还可被配置成基于形成网格的垂直及水平划分,是自包含的并且是画面的可独立解码的矩形或正方形区域,以便促进编码和解码级处的并行处理。在一个变型中,自包含的和可独立解码的分片可使用来自先前的编码画面或帧的共置分片的时间预测。多个分片可通过包含于同一切片中而共享报头信息,其中分片可包括某一数量的CTU。不要求每个分片包括相同数量的CTU。因此,在一个布置中,帧的分片可具有不同大小。如果帧包含单个切片,则帧的分片将因此具有相同的切片报头和画面报头信息。在另一布置中,帧可包括一个或多个切片,每个切片包含一个或多个分片,且每个分片又包含一个或多个CTU。图4B示出包含组织成分片406-1到406-N的矩阵或阵列的多个CTU的示例视频帧400B,其中每个分片被示为具有2×2配置的4个CTU 408的正方形。作为进一步举例说明,图4C中示出了根据HEVC的示例4K视频帧400C,其可以包括3840水平像素乘2160垂直像素的阵列,该阵列被划分成16列和8行,从而产生128个分片。如先前所述,这些分片在帧400C内可不必具有相等大小。
出于本专利申请的目的,因为视频帧可以采用多种方式并且以不同级别被划分,所以术语“编码树单元”、“编码树块”、“编码单元”、“宏块”或“块”或类似含义的术语将通常被视为可以针对分片、切片和/或帧应用而不限于任何特定视频压缩标准或技术的编码的抽象单元。
返回图3,可针对基于PE或BIE的方案配置示例分片编码器300以生成X帧,其中所述X帧被编码为具有对应报头但具有内部编码的个别切片和/或分片的P或B帧,即,仅包括I块的I切片和/或I分片。换句话说,X帧可具有P或B帧(或P切片或B切片,如果每帧仅提供一个切片)的报头信息,但所有媒体图像数据均被内部编码为I帧的数据。视频序列的剩余帧可以根据如前所述的已知或迄今未知的方案正常地编码。因此,通用编码器控制306可以被配置成在PE和BIE方案308、310之间进行选择,来向分片编码器的前端部分302的剩余组件和结构提供适当的控制信号和/或参数,以便根据PE或BIE方案针对一个或多个输入视频信号304的特定实现,强制按照需要对特殊帧进行编码。通常,PE方案中的每个画面被编码为常规I帧(例如,序列中的第一画面)或用于与相位/周期匹配的那些输入画面的X帧,以及用于视频序列的所有其他画面的常规P或B帧,如将在下面进一步详细描述的。针对BIE方案,可以提供BIE编码序列,其中为该序列的GOP结构的所有P帧和B帧提供X帧。因此,帧内/帧间(intra/inter)选择块312被配置成使得画面内估计/预测316总是活动的并且用于画面的所有块。同样地,由于对于X帧所有块都是内部编码的,因此可以禁用运动补偿和估计318。在示例实施例中,取决于分片编码器实现,包括变换、缩放和量化314、逆变换320、滤波器控制322、去块(deblock)和采样自适应偏移(SAO)滤波324、解码画面缓冲器326的剩余块可以保持不受影响。通用控制数据328、量化变换系数数据330、帧内预测和滤波控制数据332和运动数据334可以被提供给报头格式化器和熵编码器336 (例如,上下文自适应二进制算术编码(CABAC)引擎),以生成与视频资产的每个比特率表示相对应的一个或多个编码比特流338。如前所述,编码比特流338可以被提供给分片封装器(在该图3中未示出)来进行封装和清单生成,以促进在适当的下游网络位置处(预先)供应资产。
图6示出了根据本发明的实施例的示例编码布置600的各种框、步骤和/或动作,示例编码布置600涉及可以作为示例媒体准备/处理的一部分而实现的PE方案或BIE方案。在框604,接收视频源流602,如前所述,其可以是未编码的、编码的、拼接的、投影映射的或以其他方式预处理的。在框606,可以确定选择PE或BIE的位置。作为响应,可以适当地配置例如图3中的分片编码器300的分片编码器系统中的模式选择器。在选择PE时,视频源流602可被编码/转码成具有不同质量和/或比特率的多个流,每个流以分片来编码,如框608处所阐述的。每个质量或比特率流被相位编码以生成多个PE流610。作为举例说明,参考标号614-1表示与具有对应相位615-1至615-P (取决于在GOP结构中X帧被放置的位置,其中P是GOP大小)的一组相位编码流612-1相关的质量信息,所有PE流具有30的量化参数(QP)设置和/或大约7.0兆比特/秒的比特率,这可以指示质量的较低端。以类似的方式,参考标号614-N指的是与具有对应相位615-1到615-P的一组相位编码流612-N有关的质量信息,所有这些相位编码流都具有16的QP设置和/或大约105.6兆比特/秒的比特率,这可以指示质量的较高端。
如果选择了BIE (也称为全内部编码,如本专利申请中其他地方所述),则视频源流602可被编码/转码成具有变化质量和/或比特率的多个流(框616)。在一个示例实施例中,可以使用标准编码方案(例如,HEVC、AV1等)对每个流进行分片编码,以生成正常或常规的分片编码流618。与上面关于相控分片流610的讨论类似,参考标号622-1通过举例说明指的是与具有QP设置30和/或大约7.0兆比特/秒的比特率的常规分片编码流620-1有关的质量信息,其可以指示质量的较低端。同样,参考标号622-N指的是与具有QP设置值16和/或大约105.6兆比特/秒的比特率的常规分片编码流620-N有关的质量信息,其可以指示更高质量的流。
另外,视频源流602还被编码/转码为具有对应质量和/或比特率的多个流(框617),其中每个流被分片编码,使得其GOP结构的所有帧被提供为X帧。作为举例说明,参考标号632指的是多个BIE编码的和分片流,其中具有QP设置30和/或大约7.0兆比特/秒(有时也缩写为Mb或Mb/s)的比特率的质量信息636-1是指较低质量的BIE编码分片流634-1,而QP设置16和/或大约105.6兆比特/秒的比特率的质量信息636-N是指较高质量的BIE编码分片流634-N。
本领域技术人员将在对其参考时认识到,当编码器被配置有目标QP时,编码比特流的比特率在比特流的过程上稍微被平均。例如,如果在源编码方案中以QP 10为目标,则有可能在没有运动的区域中可以看到低比特率(例如,导致4 Mbs)。在高速运动的区域中,比特率有可能达到200 Mbs。因此,在如前所述的以特定QP为目标的示例编码方案中,输出流的比特率可以在一定范围内可变。因此,应当理解,图6中示出的与PE或BIE流的QP相关联的比特率通常指示一段时间上的平均比特率。如下面将进一步看到的,当QP在编码方案中被作为目标时(对应地,具有变化比特率),与分片选择有关的本发明的某些实施例可以被配置成根据关于特定360度沉浸式视频会话的总分配比特率来选择分片并且适配它们。在附加或备选实施例中,示例编码器可被配置成生成具有特定目标比特率代替目标QP的编码比特流。然而,在此布置中,尽管输出比特流可维持特定比特率,但QP值可变化。因此,分片选择的实施例可基于可由不同编码参数和设定控制的视频质量来选择分片,并且相应地适配它们以优化所分配的带宽。为了本专利申请的目的,术语“质量”、“视频质量”以及关于编码比特流或比特率表示的具有类似含义的术语可以广义地与QP、比特率、其他标志(indicia)相关和/或基于QP、比特率、其他标志。因此,本文基于目标QP阐述的与PE/BIE编码、分片选择、拼接等相关的实施例也同样适用于具有目标比特率的比特流,加以必要的变更。
因此,读者应理解,尽管本公开内的描述的某些示例和部分是在假定每流使用固定量化(QP)值的情况下提供,但如上文所述,流实际上可包含画面之间和画面内变化的QP值。根据本发明的实施例的编码器可以借助于速率控制等来控制其输出比特率,从而改变图像之间的QP值。编码器还可以使用变化的QP值对一个流内的图像进行编码,以优化流的视觉质量。在一个画面内,QP值可使用例如自适应量化机制在块之间改变以优化视觉质量,如本领域中已知。在本公开内的短语中使用“QP”应当被理解为表征流的方式,该短语诸如但不限于“利用该QP编码”、“不同QP值的视频”、“具有不同QP值的生成的视频”、“具有QP值为N的流”、“视频流的QP值”,使得与较低QP值相关联的流比与较高QP值相关联的流具有更高的比特率和更高的质量,并且不是针对流中的每个块将QP保持静态。
还应当理解,在一个示例实施例中,媒体资产的自适应比特率编码和分片编码可以被集成在作为内容准备系统的一部分的装置内,使得各种类型的编码和/或转码可以采用不同的序列和/或并行的过程发生。此外,取决于实现,诸如投影映射、源流拼接、封装等附加功能也可与本专利申请的分片编码/转码方案组合或以其他方式集成。
图5是示出了根据本发明的一个或多个实施例的方法500的各种框、步骤和/或动作的流程图,它们可以在一个或多个布置中(重新)组合,具有或不具有本公开的附加流程图的框、步骤和/或动作,以用于促进优化的360°沉浸式视频。在框502处,可以实现与沉浸式视频的媒体输入流的媒体捕获和预处理有关的各种操作,例如,源流拼接、编码、投影映射等。在框504,可与分片编码方案相关联地实现将预处理的媒体输入流自适应友好比特率编码/转码成具有不同视频质量(例如,具有变化的QP值)的多个比特率表示或流。如先前所述,基于PE的编码过程(框506B)或基于BIE的编码过程(框506A)可被配置成生成编码比特流输出。应当注意,框504和506A/B的过程可以作为单个编码操作来执行,使得框504的自适应友好比特率编码/转码使用PE方案(框506A)或BIE方案(框506B)使用单个编码过程来完成。此后,编码比特流可以被封装(框508)并被分布到适当的网络边缘位置(框510),以便由客户端使用适当的终端用户设备来递送和消费。当接收和处理对特定媒体资产的用户请求时,可以实现基于控制输入(例如,传输条件、带宽分配和/或注视向量输入等)的分片选择过程,以便从媒体资产的不同比特率表示(即,不同质量)中选择分片(框512)。可以实现流生成过程,以便将所选择的分片拼接成帧,作为要被递送到请求客户端装置的输出视频流(框514)。
本领域技术人员将认识到,前述步骤、动作或操作的至少一部分可以包括关于分布在上述图1和图2中所示的网络环境或架构中的一个或多个360°沉浸式视频资产的媒体准备和(预)供应。转到图7,阐述了关于根据本发明示例实施例的BIE方案700的附加细节。在框702和704处,接收并处理相对于360°沉浸式视频资产的媒体输入流,以生成具有不同/单独质量的多个比特率表示,例如,每个视频质量涉及或受控于用于每个比特率表示和/或目标比特率的对应目标QP值,或相应质量的其他标记。每个比特率表示被编码成第一编码比特流,该第一编码比特流包括具有特定GOP结构的多个帧,其中每个GOP以I帧开始,随后是包括至少一个P帧或B帧的一组帧(框706)。此外,每个比特率表示被编码成第二编码比特流,该第二编码比特流包括具有GOP结构的多个帧,该GOP结构具有与第一编码比特流的GOP结构的大小共同扩展的大小,其中第二编码比特流的每个GOP以I帧开始,随后是多个X帧,每个X帧以P或B帧的切片/画面报头编码并且仅包括内部编码媒体图像数据(即,类似于GOP的I帧),如在块708阐述的。如先前所述,第一编码比特流和第二编码比特流可以使用任何与分片兼容的压缩方案被编码为相应的分片编码流,其中分片编码比特流的每个帧包括被组织成每帧至少一个切片的分片阵列,每个分片包括帧的媒体数据的被形成为多个编码单元、块或树的一部分。本领域技术人员将认识到,在一个实现中,如先前关于图5的框504和506A/B所述,框704和706的过程可以在单个编码过程中执行。例如,在实践中,将期望单个过程编码/转码最小化计算复杂度并最小化由串联或级联编码引入的降级。
图11描绘了在示例实施例中由基于BIE的分片编码器系统生成的具有不同质量或QP的多个编码比特流1100。参考标号1102-1到1102-N表示具有对应质量或QP的N个流或比特率表示。对应于特定比特率表示(例如QP-N 1102-N)的正常编码分片流1104A被示出为具有GOP结构1106A,该GOP结构具有四个帧,以I帧开始,随后是三个P帧。对应的BIE编码流1104B具有GOP结构1106B,其也被示出为具有四个帧,以I帧开始,但随后是三个X帧。
图8A是示出根据本发明的示例实施例的用于在分片编码布置中配置BIE方案的过程800A的流程图。非限制性地,将参考配置HEVC方案以基于修改某些参数而执行BIE,来描述示例过程800A,但出于本文的目的,也可应用其他方案。
通常,BIE配置方法的实施例可以被配置成接收或获得作为输入的用于360°沉浸式视频的源视频流和输出视频质量的列表(例如,QP值列表,诸如{ QP1=16,QP2=18,QP3=20,QP4=22,QP5=24,QP6=26,QP7=28,QP8=30,或基于目标比特率的其他标记})。因此,非限制性地,对于每个输出视频质量(例如,每个QP值),两个视频流可被编码——具有该QP或质量的常规/标准HEVC视频,以及具有该QP/质量的块内HEVC视频—如前所述。为了能够在稍后的时间(例如,在解码之前不久)将来自不同质量的分片拼接成同一比特流,实施例的编码阶段提供了所有视频流具有相同的base_qp(下面定义),而不同QP值的视频之间的实际差异可以借助于距基本QP的qp_delta (下面定义)来实现。例如,可以配置base_qp =22的设置,其中参数值base_qp =22并且qp_delta = -6可以被用于实现QP =16。通常,这两个参数涉及设置视频流的质量(QP)。想到具有不同qp值的所有生成的视频需要具有相同的base_qp,而不同的QP值可以通过使用距base_qp的qp_ delta来实现。这个要求可以基于一个特定的时刻来施加。也就是说,如果对比特流中的画面进行编号,则在一种布置中,来自两个比特流的作为输入而用于拼接的具有相同编号的任何两个画面必须使用相同的base_qp值。为了本发明的目的,“base_qp”可以描述如下:在相同视频的所有编码版本或比特率表示中的第i帧(对于每个i =1至N,其中N是视频序列中的帧的总数)将具有相同的切片QP值。换句话说,切片QP是base_qp。虽然在所有生成的流中可以将切片QP设置为相同值,但是它可以随时间变化。为了本发明的目的,参数delta_qp可以描述如下:通过指派给定qp_delta,每个分片中发信号通知QP的第一块被配置成发信号通知delta _qp (距离基本QP的变化量)。可以注意到,在一些实施例中,在拼接之后可能存在去块失配。
可出于本发明的目的而定义的另一参数是ROI (感兴趣区域),其确定帧的区域,其中可独立地编码分片使得可容易地提取对应于ROI的比特流的子集并将其重构到另一比特流中。如上所述,为了稍后拼接不同QP的视频,期望利用base_qp和delta_qp的功能性。例如,当在一个说明性实现中使用HEVC ROI编码功能性时,这得到支持。因此,在实施例中当利用ROI进行编码时,除了定义ROI网格(独立于帧的分片的网格/阵列而定义)之外,可以定义用于切片QP报头的base_qp参数,使得ROI网格中的第i行和第j列中的网格的区域得到其自己的delta_qp。通常,这允许实施例将不同的delta_qp指派给ROI网格的不同区域,由此选择性delta_qp值可以用于本发明的目的。例如,为了实现给定的期望QP (比如QP = 16),可以使用常规qp参数来定义base_qp (比如base_qp = 22),然后通过使用ROI网格,可以向所有目标区域分配-6的delta_qp,从而针对ROI网格中的所有分片有效地实现16的QP。
在一个实施例中,对于特定帧,可以使用相同的base_qp(切片QP)来编码不同质量的内容。对于该帧的每个质量,可以设置特定的期望QP,其中可以使用delta_qp 语法元素,使得该帧的所有块(或者备选地,尽可能多或期望的块)都以该期望QP来编码。基于HEVC的BIE配置方案的另外方面可以如下阐述。
编码器可以被设置为使用分片编码。在设立期间,这可以通过设置用于分片编码的适当标志以及配置分片的特定网格结构(例如,如图4C所示)来实现。作为举例说明,编码器可被配置成针对4K视频输入提供16×8分片网格结构,从而在每个帧中产生128个分片。
编码器可被配置成禁用时间运动向量预测。尽管示例BIE方案不使用MV (运动向量),但是时间运动向量预测(TMVP)设置可能需要跨流相同,以使得能够在稍后的时间进行拼接。这种配置是可选的,因为可以在不禁用TMVP的情况下实施BIE的实施例。
此外,切片报头的许多其他元素可被配置成跨流相同。例如,诸如要使用的参考画面的数量、参考画面集、什么参考画面用于L0、要使用的画面参数集(PPS)、画面顺序计数、SAO参数之类的元素。此外,还要求解码顺序对于要用作比特流切换的输入的所有比特流是相同的。本领域技术人员在对此参考时将认识到,可以在示例BIE实现中相应地配置各种分片报头元素。
由于片段使用单个PPS id码字来标识要使用什么PPS,并且PPS引用一个单个序列参数集(SPS),所以在示例实施例中,可以使用相同的PPS和SPS id值来完成所有编码。同样,SPS和PPS中的许多语法元素也可以被配置成对于多个编码是相同的。虽然不是必需的要求,示例BIE实施例因此可以被配置成使得使用相同的SPS和PPS来实现编码。然而,严格地需要SPS和PPS中的一些元素在某些布置中是相同的。
回到图8A,示例BIE配置过程800A可以从初始化编码器的模式选择器以选择BIE用于编码输入视频流开始,如上所述(框802)。在框804处,编码器可被配置成针对每个帧使用特定网格或阵列布置中的分片。在框806,base_qp参数可以被写入编码流的所有分片QP报头中。为了以不同的质量(同时具有相同的base_qp)编码流,qp_delta参数可以如上所述基于目标QP针对每个流来配置(框808)。例如,为了实现特定流的目标QP 22,可以配置qp_delta为-10,其中base_qp是32。如前所述,要求用作拼接的输入的具有相同画面编号的所有画面须使用相同的base_qp值。因此,在一个实施例中,在所有流报头中设置相同的base_qp参数不是必要的要求。空间运动向量预测可被配置成使得其仅被限制在所述分片内(框810)。也就是说,在示例实施例中不允许运动向量跨越分片边界(即,仅允许分片内预测)。这意味着运动向量被设置成使得在分片内部的块的运动补偿内插期间不读取任何共置分片的边界外部的样本。可针对编码器配置ROI网格,使得其使用qp_delta信息来相对于帧的特定区域编码特定流(框812)。此外,在如上所述的示例BIE配置过程中,还可以禁用TMVP(框814)。
应当注意,尽管上述BIE配置过程800A使用某些参数,但是可以实施附加的或备选的实施例,其中BIE方案可以被配置成利用除了和/或代替图8A的流程图中举例的参数的其他参数。
图8B是流程图,示出了根据本发明实施例的示例BIE方案800B中的附加框、步骤和/或动作。通常,在基于BIE的分片编码期间,编码器可以被配置成实现若干判定。在对作为P帧的一部分的分片进行编码期间,编码器判定特定分片是否应使用任何运动向量来编码且取决于先前帧,或者它是否应在“帧内”模式中编码,其中所述分片是自包含的且不取决于任何先前帧(即,不使用来自任何先前帧的预测)。如前所述,在BIE中的P帧编码期间,编码器被迫使用帧内模式对所有块进行编码。在框834处,接收视频输入832以用于编码。在框836,分片编码器被配置用于实现如上所述的BIE过程。对于视频输入的每个帧,可以实现迭代过程,以逐帧基础来实现适当的编码判决,这开始于确定视频序列是否已经到达其结尾(框838)。如果未到达结尾(即,视频序列中剩余的帧需要处理),则获得下一帧(框840)。如果确定该帧是GOP结构的第一帧(框842),则将其编码为常规I帧(框854),并且处理流程返回到获得下一帧(框840)。否则,将其编码为P帧(框844)。对于P帧的每个切片,对其进行编码或向其提供P切片报头(框846)。对于P切片的每个块或任何其他合适的编码单元,编码器被配置成在帧内模式中编码图像数据(框848)。此后,处理流程返回以确定是否所有帧已经被处理(框838)。如果是,则结束视频序列的编码(框850),这可以作为BIE分片的比特流提供给下游实体(例如,封装系统),如框852所阐述的。在备选布置中,可以使用B帧代替P帧来生成X帧,如本专利申请中其他地方所述。因此,框844、846可被适当地修改以支持这种布置。
在本发明的另外实施例中,基于如前所述的PE方案,X-帧可以在每个GOP中使用一次(代替如BIE中的多次)。本质上,基于PE的分片编码涉及用于生成流的过程和设备,其中除了作为I帧的第一帧之外,所有帧都具有P片报头,而周期性地存在X帧(即BIE帧或AIE帧),其中所有块都被内部编码,但是切片报头具有P切片(或者B切片,其中B帧也在序列中被编码)。通常,潜在地用作拼接的输入的任何两个画面的所有切片需要具有相同的切片类型、切片qp以及切片报头和PPS中的许多其他设置。与上述BIE方案形成对比,其中GOP的所有帧都是X帧,除了第一帧之外,PE方案的实施例被配置成根据两个参数仅在选择的帧位置处提供X帧:时段(period)(其是GOP的大小,即,GOP中的帧数)和相位(其是范围{0到[时段-1]}中的整数)。PE方案中X帧出现的帧位置可以确定如下。令N是流中的帧的总数。第一帧被编码为I帧;对于第i位置处的帧(2≤i≤N),如果{ i Mod(时段)≠相位},则它被编码为常规P帧;以及否则(即,{ i Mod(时段) =相位}),帧被编码为X帧(具有P片报头和以帧内模式编码的所有块,与先前帧无关)。应注意,示例PE方案可针对媒体输入的每个质量/比特率表示而提供为与GOP中的帧位置(即,GOP大小)一样多的相位PE编码流。
通过使用用于本发明目的X帧中的P切片或B切片报头而不是I切片报头,在示例性实施例中可以实现若干优点,包括但不限于便于用户观看环境中的GOP中间切换。假设用户正在观看360度沉浸式视频节目或内容,其中直接注视的视野(FoV)处于高质量(即,较低QP),并且用户在GOP的中间移动他的头部。用户现在在他们的新视野或视口中看到低质量视频(较高的QP)。服务器可以在下一个GOP的开始时发送高质量(低QP)的I帧,但是这引入了显著的延迟,因为直到将呈现视口的下一个GOP的高质量I帧将花费时间。期望在GOP的中间时尽可能快地接收或获得以高质量编码的新视野的I帧。但是在常规沉浸式视频观看环境中,仅仅将I帧放在GOP的中间是不可行的。通过生成X帧(即,块内编码帧或所有块内编码帧)并在GOP的中间(例如,在GOP结构中的任何帧位置)传送它,本发明的实施例因此能够有效地升级视野的质量,类似于I帧以高质量分片呈现在GOP中间情况下的效果。通过在AI或BI编码的帧(即AIE/BIE帧或X帧)中提供P切片报头,本发明的实施例因此允许在GOP的中间使用FoV的感兴趣区域(ROI)中具有高质量数据的帧。
此外,在帧被划分为分片和切片的分片编码方案中,涉及X帧的本发明的实施例使得能够在单个输出压缩帧中混合分片,其中一些分片可以使用空间或时间预测(即,画面间预测),并且一些分片可以仅使用空间预测(例如,仅包括内部编码块)。仅由内部编码块组成的分片可源自X帧。在本专利申请的上下文中,术语“混合”、“复用”、“拼接”、“接合(splicing)”或关于输出流生成的类似含义的术语可以指将一个压缩的分片(例如,分片A)与另一个压缩的分片(例如,分片B)级联以形成表示单个输出帧的比特流的一部分的手段和方法,其中分片A和分片B可以源自内容的单独编码,这将在下面另外进一步详细阐述。
PE方案的优点之一涉及克服BIE方案中可能存在的漂移问题(即,漂移消除或减少)。应当理解,虽然BIE允许以新视口的X帧替换先前视口的P帧,但是后续帧是利用对先前帧所做的预测来编码的新视口的常规P帧。因此,当P帧被X帧代替,然后下一帧使用该X帧代替常规比特流的原始帧来进行预测时,存在可能累积预测误差的漂移的可能性。另一方面,在相控编码中,生成流使用位置=< 相位 >+ i*<时段 >处的X帧进行后续P帧的预测,因此,避免了P帧使用与编码期间使用的不同帧来进行预测的情况。因此,不存在由于根据与编码期间生成的帧不同的帧进行预测而呈现的预测误差,因此,避免了由于这种类型的预测误差而导致的任何潜在漂移。然而,PE方案可能需要更大量的存储,因为需要存储GOP中X帧之后的P帧。
此外,可以有利地利用PE方案的实施例来促进帧的逐步刷新,由此通过仅选择分片的子集来升级其质量并发送其适当的相控编码的分片,在播出期间实现较低的时延。虽然在BIE方案的实施例中,以X帧替换P帧,但在逐渐刷新帧加强方案中,PE编码流可用于以取自适当PE编码流的对应分片替换所选分片。另一方面,在另一个实施例中,BIE方案还可以有利地以逐个分片基础来操作。因此,针对基于PE的实施例,如果时段是P并且帧号是X,则可以通过以下等式获得对应相位:相位= { X Mod P }。因此,在编码视频序列的递送或播出期间,假定选择某一分片T以升级成帧X中的QP质量q,则可将所选分片(在帧X及后续帧中,直到T的下一升级/降级或视口改变为止)替换为用来自具有满足以下关系的相位的流的分片T:在QP = q时,相位= { X Mod P }。此后,属于同一GOP的帧X之后的帧中的共置分片被来自同一PE编码流的对应共置分片替换。应当理解,当用户改变注视方向时级联来自不同流的分片的优点类似于上面阐述的用户在GOP中间期间改变其注视的情形。相同的切片QP被用于切换/替换分片,因为如果两个输入分片利用不同的实际QP被编码并且利用每画面单个切片被编码,则如果切片QP不同,则输出流中的分片的QP将不可能是正确的而没有流的低级重写。关于逐渐刷新帧加强和分片选择的额外细节将在下文参考本专利申请的附加实施例进一步阐述。
关于PE的潜在缺点可能是它需要更多的存储,因为输入流以许多相位来编码,潜在地导致与GOP大小一样多的流(而不是如BIE中的仅仅两个流)。在示例实现中,这个缺点可以针对减少时延而没有漂移的优点进行折衷。对于最快的质量改变响应,相位的数量可以被设置为等于GOP的大小,即,时段P,但是示例实施例可以提供使用较少的阶段和消耗较少的存储而质量升级的时延可能较长的折衷,因为分片升级将仅在下一相位上进行。
图9是示出根据本发明示例实施例的PE方案900的流程图。在框902处,可以接收与360°沉浸式视频资产对应的媒体输入流。如前所述,可以生成媒体输入流的多个比特率表示,每个比特率表示具有单独的视频质量,例如,涉及或受控于用于比特率表示和/或目标比特率的对应目标QP值,或者相应质量的其他标志(框904)。由对应QP控制的每个比特率表示被编码成多个相位编码比特流,属于特定比特率表示的每个相位编码比特流包括具有特定GOP结构的多(N)个帧,该特定GOP结构具有GOP大小(p),其中多个相位编码比特流的数量等于GOP大小。在一种配置中,GOP大小即p>1。对于每个第p个相位编码比特流,N个帧被编码如下:(i)至少第一帧被编码为内部编码(I)帧;以及(ii)对于2≤i≤N,将帧位置i处满足关系{i Mod (GOP大小) } = P的帧编码为X帧,该X帧具有P帧的切片报头并且仅包括内部编码媒体图像数据的块(即,类似于I帧)。否则,将所述帧编码为具有带有P切片报头的预测编码帧的媒体数据的常规P帧(框906)。在一些布置中,P帧还可包含内部编码数据。在实施例中,在B帧也被编码的情况下,可以类似于前述过程提供X帧来代替常规B帧。如先前关于图5和7所述,在一个示例实施例中,为了计算效率,在框904和906处阐述的操作可以被组合以在单个编码过程中执行。
在PE方案的附加或备选实施例中,相位编码比特流可具有除I帧以外的帧作为编码视频序列的第一帧,这可通过根据本文中的教导的编码器中的适当设置来实现。例如,第一帧可以是X帧(或某一其他非I帧)。编码序列的所有其他帧可以包含基于相位的适当位置处的预测帧(P/B帧)和X帧。
图12描绘了在示例实施例中对于由基于PE的分片编码器系统生成的特定比特率表示具有不同相位的多个编码比特流1200。作为举例说明,由于在该示例中使用了四个帧的GOP大小,所以具有QP值22的QP-N流1202-N被编码或以其他方式提供为四个相位编码流1204-1至1204-4。对于每个PE流1204-1至1204-4,第一帧被编码为I-帧1206-1至1206-4,每个PE流中的剩余帧基于上述相位-位置关系被编码为P-帧或X-帧。
转到图10A,其中描绘了示出根据本发明的示例实施例用于在分片编码布置中配置PE方案的过程1000A的流程图。在框1002,可以对编码器进行初始化,以便针对与360°沉浸式视频资产对应的媒体输入流来选择PE方案。在框1008,获得或以其他方式配置时段和相位参数,其中时段等于GOP大小(框1004),相位等于或小于GOP大小(框1006)。在框1010处,编码器可被设置为使用分片编码来生成每帧特定网格/阵列布置的分片。类似于前面阐述的BIE配置过程,base_qp参数可被写入编码流的切片QP头中(框1012)。如上所述,要求被用作拼接的输入的具有相同画面编号的所有画面必须使用相同的base_qp值。因此,在示例实施例中,在所有流报头中设置相同的base_qp参数不是必要的要求。为了促进不同质量的编码流(同时具有相同的base_qp),qp_delta参数可以如上所述基于目标QP针对每个流来配置(框1014)。如前所述,在示例BIE配置过程中,可以配置-10的qp_delta,其中base_qp是32,以实现特定流的目标QP 22。空间运动向量预测可被配置成使得其仅被限制在分片内(框1016)。也就是说,在示例实施例中,不允许运动向量跨越分片边界(即,仅允许分片内预测且不允许跨越分片边界的帧间预测或上下文选择)。这意味着运动向量被设置成使得在分片内部的块的运动补偿内插期间不读取任何共置分片的边界外部的样本。可针对编码器配置ROI网格,使得它使用qp_delta信息来针对帧的特定区域编码特定流(框1018)。此外,在如上所述的示例PE配置过程中,还可以禁用TMVP (框1020)。
应当注意,在一个实施例中,示例PE配置过程大致类似于BIE配置过程,其可以根据GOP大小对每个“相控”流来执行。此外,类似于使用某些参数的BIE配置过程800A,PE配置过程的附加或备选实施例可涉及除了和/或代替图10A的流程图中举例的参数的其他参数。
图10B是示出根据本发明的实施例的示例PE实现中的框、步骤和/或动作的流程图。一般而言,编码器可被配置成在基于PE的分片编码期间实行若干判定以仅在每个相位编码流的特定帧位置处生成X帧。在框1034,接收视频输入1032以用于编码。在框1040处,分片编码器被配置成用于基于如上所述的时段(框1036)和相位(框1038)来实现PE过程。对于每个流,将第一帧编码为I帧(框1042)。此后,可以实现迭代过程以逐帧基础来实现适当的编码判决,这开始于确定视频序列是否已经到达其结尾(框1044)。如果未到达结尾(即,视频序列中剩余的帧需要处理),则帧索引(i)递增(框1046),并且获得下一帧并将其表示为第i帧(框1048)。确定是否满足模数关系{ i Mod (时段) =相位}。如果是,则如在框1054、1056和1058所述,将该帧编码为X帧。否则,将它编码为常规P帧(框1052)。此后,处理流程返回以确定是否已经处理了视频流的所有帧(框1044)。如果是,则处理流程继续以结束对视频流的编码(框1060),其可以作为PE分片比特流被提供给下游实体(例如,封装系统),如框1062所述。
如前所述,基于PE的分片编码方案有助于在360°视频递送期间的逐渐刷新加强过程,这将在下面进一步详细阐述。在播出期间也可以使用相控编码的实施例,其中在服务器侧或客户端侧执行的拼接器可以用于组合不同质量的分片。因此,在正播放的视频的每个帧处,每个分片具有当前质量,其可对应于从中取得分片的视频流的QP值、目标比特率或其他标志。当带宽足够大时,或者当用户移动其头部并且视口改变时,将期望升级一些分片(例如,新视口上的分片)的质量(例如,降低QP)。此外,为了借助于减少解码器侧的缓冲器的使用来降低时延,本发明的实施例提供了可以不立即升级整个视口,而是借助于逐渐刷新来逐渐升级视口,仅升级每帧中的几个分片,从而保持解码器缓冲器较小并且因此减少时延。如下面将另外进一步详细描述的,示例带宽加强设备可以被配置成实现用于基于带宽、视口和/或当前缓冲器利用率来确定在每个时刻要升级哪个分片的过程。此外,这种处理还可以被配置成确定应该将分片升级到的质量水平(即,哪个QP)。
例如,假设在播出期间,分片选择设备(下面进一步详细描述)确定将第i帧中的分片T升级到质量QP = q,该确定可以被提供作为到分片/帧拼接器模块的控制输入,该分片/帧拼接器模块从使用相控编码以质量QP = base_qp + delta_qp = q编码的视频流的第i帧检索、接收或者以其他方式获得分片T,其中相位由模数关系确定:{相位= i Mod (时段)}。然后,直到下一次分片选择过程决定改变该片的质量,从相同流(即,具有质量QP = q并且具有相同相位的相控编码流)中取得分片T。因此,将理解,PE方案的除在升级期间执行分片的逐渐刷新的能力之外的额外优点是更好的视频质量。总之,相控编码给出比BIE方案更好的QoE,在BIE方案中,X帧被替代而没有相位,这可能导致漂移,并且导致较低的峰值信噪比(PSNR)值,从而导致GOP的剩余部分的较低QoE流。如前所述,相控编码的潜在缺点是需要多个流,这可导致显著的编码处理开销和存储空间。
下面将阐述关于如何使用PE或BIE方案拼接分片编码的比特流的示例实施例。如先前所述,可在流递送阶段期间在服务器处或在客户端侧上实现分片拼接实施例以供播出。一般来说,用于拼接分片的示例实施例涉及利用不同质量(例如,基于不同QP、目标比特率或其他标志)的比特流,以及确保在可从中选择分片的比特流当中存在关于与视频画面有关的各种参数数据片段(例如,视频参数集(VPS)、序列参数集(SPS)、画面参数集(PPS)、补充增强信息(SEI)等)的兼容性。通常,分片结构应当优选地随时间恒定以便于拼接,这又与由本发明的编码器执行的分片编码过程有关。比特流拼接器模块响应于包括来自不同分片编码流的分片列表的输入而操作,所述分片编码流可被组合以生成新的输出比特流,其中更靠近视口的分片与更远离视口的分片相比具有更高的质量。此外,根据本发明的教导执行分片组合和流复用的示例实施例可以被配置成使得输出流生成仍然在诸如MPEGHEVC/ITU-T/ISO23008第2部分/H.265规范的已知编解码器标准以及诸如AV1、H.266、VVC等的新兴标准内保持兼容。
为了拼接BIE编码流,来自常规流的分片可默认用于拼接(例如,直到基于用户的注视或带宽分配提供某个控制输入为止)。仅有的从BIE编码流中获取图像块的实例是当视口改变(从而需要X帧,该X帧是具有可适合于GOP中间的P切片报头的帧,但分片被内部编码,因此可呈现新的视口)时或当带宽加强过程确定升级分片的质量(在此情况下,具有P切片报头的块内帧包含具有升级的较高质量的分片)时。
图13A示出了根据本发明的一些示例实施例涉及BIE编码分片流的示例分片拼接方案1300A的各个框、步骤和/或动作。在框1302,BIE比特流拼接器接收不同QP的输入比特流,第一组包括常规分片编码流,并且第二组包括BIE分片编码流。如上所述,示例实施例中的流是运动约束的,并且对于每个帧N具有与任何其他帧N中的基本QP相同的base_qp。分片选择模块提供具有不同QP的分片的列表(框1306),其形成关于每个分片的描述和参数信息以及检索或获得分片的特定QP比特流的总体输入的一部分(框1304)。可以在逐个块的基础上实现块拼接处理,如框1308中所述。如果视口和/或分片QP已经改变(框1310),则从具有适当QP的BIE编码流中取得分片并将分片拼接成帧(框1312)。否则,从常规分片编码流中取得分片且将其相应地拼接(框1314)。在将所有分片拼接在帧中(在预定网格阵列中)之后,可提供具有不同分片质量的拼接帧作为输出(框1316)。如果剩余额外的视频帧用于处理(例如,编码和拼接),则处理流程可以继续。
作为举例说明,考虑块-帧内流拼接场景,其中存在至少三个流:(1)较低质量的常规流(例如,30的QP设置);(2)较高质量的常规流(例如,22的QP设置);以及(3)较高质量的BIE (全内部)流。广义上 ,当视口改变时,一些分片的质量可以被增加。这在框1312中完成,这意味着例如在先前画面中从流(1)中取得的在位置A处的分片现在是从流(3)中取得的。在下一画面中,如果分片仍然在视口内,则应当从流(2)中取得位置A处的分片。如果该分片不再位于视口内,则可以从流(1)中取得位置A分片。更特别地,其可以进一步取决于注视向量信息。换句话说,不是取决于仅仅位置A处的分片是否在视口中;相反,取决于在用于分片选择的注视到权重确定方案中分片位于何处(下面进一步详细描述)。因此,应当理解,在本发明的示例实施例中,取决于自身位于何处的在视口内的分片可以基于分片与直接视线相距多远而被升级或降级。
以类似的方式,图13B中示出了涉及基于PE的分片流的示例性分片拼接方案1300B。PE比特流拼接器可操作以接收不同QP的输入比特流,每个QP被编码成多个相位编码比特流(框1332)。分片选择模块提供具有不同QP的分片的列表(框1336),其形成关于每个分片的描述和参数信息以及检索或获得分片的特定QP比特流的总体输入的一部分(框1334)。如框1338所述,可以在逐个分片的基础上实现与BIE分片拼接相似的分片拼接处理。如果视口和/或分片QP已经改变使得需要改变当前分片的质量(框1340),则基于相位-帧模数关系从具有适当QP的PE编码流中取得分片并将其拼接成帧(框1342)。例如,如果帧I处的分片的QP改变为QP = q,则取得来自相位等于{ i Mod (时段) }且QP = q的流的分片,且将该分片拼接在分片网格的适当位置处。否则,从与在前一帧中取得分片的相同比特流中取得分片,并相应地将该分片拼接(框1344)。在将所有分片拼接于帧中(在预定网格阵列中)之后,可提供具有不同分片质量的拼接帧作为输出(框1346)。此外,如果剩余额外的视频帧用于处理(例如,编码和拼接),则处理流程可以继续。
无论来自BIE编码比特流还是PE编码比特流的分片是否被拼接,拼接的示例实施例可以涉及从除了如前所述的其他参数信息之外还具有兼容的切片报头的不同流中取得分片。通常,可以监测切片类型(即,I/P/B切片)、切片QP和可能影响CABAC解码过程的其他字段或参数,以确保兼容性和顺应性。此外,一些实施例,例如图13A/13B中阐述的示例实施例,可能要求仅使用先前解码的画面来完成帧间预测。
转到图13C,其中示出了根据本发明示例实施例关于示例分片拼接/接合方案的附加框、步骤和/或动作的流程图。在框1362处,获得当前帧(待拼接)的不同QP的分片作为输入。将基于分片选择处理选择的分片的数据(来自BIE流或来自PE流) 复制在存储器中 (框1364)。在框1366,接合过程以原型切片报头开始,该原型切片报头可以包括报头字段、偏移字段等(框1368)。对于分片索引(i),可从分片大小确定entry_point_offset [ i ] (框1368)。确定entry_point_offset [ i ]的最大值所需的位(框1370)。可基于如先前所确定的所有分片索引的最大偏移值,以新入口点偏移(EPO)长度调整切片报头(框1372)。在框1374,EPO字段被写入切片报头。此后,在切片报头之后将分片级联在一起(框1376),从而生成拼接帧的输出比特流(框1378)。
本领域技术人员将认识到,为了接合分片,需要响应于分片选择过程而从特定源比特流检索分片。为了促进高效检索,接合的实施例可涉及提供存储器映射的分片指针高速缓存,其允许更快地引用对应于分片的解析文件,其中文件格式被优化为存储器映射而代替被解析到RAM中。下面阐述了用于示例性接合实施例的示例文件格式:
Figure DEST_PATH_IMAGE001
Figure 623440DEST_PATH_IMAGE002
参考图14,其中示出了根据本发明的实施例包括从具有不同质量或QP的编码比特流中选择和接合的分片的示例360°视频帧1400。作为举例说明,视频帧1400由4K视频输入的128个分片(16列乘8行)形成,以展开格式示出(即,未投影在3D球形空间中),其中基于视口或注视向量位置,场1402可对应于帧1400的ROI。根据本文的教导,ROI 1402可以由接合高质量的分片(即,从具有低QP的编码比特流中选择的分片,并且在拼接过程中级联,所述低QP例如105.6 Mbps的QP-16)形成。邻近/靠近ROI 1402布置的区域或场可以具有中等质量的分片(例如,场1404)。另一方面,远离ROI 1402布置的场或区域,例如,更远离视口的那些场或区域,可以由较低质量的分片形成,如由区域1406和1408所举例说明的。
为了促进基于注视的分片选择控制,本发明的附加实施例涉及监测用户正在360°沉浸式视频节目(即,用户的视口)中观看的位置,并基于用户的注视来确定适当的分片权重。通常,注视向量(GV)可以由用户/客户端装置返回,定义在显示360°视频的3D沉浸式空间中的注视方向,例如,在耳机指向的地方。在另外的实施例中,可以出于类似的目的跟踪用户的眼球移动。如以下将看到的,分片帧的分片还具有基于在3D显示环境中如何映射帧的方向向量(其不取决于用户的注视)。可以计算分片向量和注视向量的点积(也称为标量积或内积)以确定注视方向和帧的任何分片的中间的方向之间的角度间隔,该角度间隔可以被提供给加权功能模块以用于确定对应的分片权重。
图15A和15B是根据本发明的一个或多个实施例的流程图,其示出了注视控制方案的各种框、步骤和/或动作,它们可以在一个或多个布置中(重新)组合,具有或不具有本公开的附加流程图的框、步骤和/或动作,以便于优化的分片选择。过程1500A涉及从客户端装置接收注视向量,该客户端装置操作以向用户显示360°沉浸式视频资产,其中每个视频帧包括投影在用户所观看的、用户所沉浸在的3维(3D)显示环境上的分片阵列,该注视向量定义用户在任何特定时间正在观看的3D显示环境中的注视方向(框1502)。在一个实施例中,注视向量信息可以包括在可以与显示环境相关联的3D笛卡尔坐标系中的(x,y,z)信息。在另一实施例中,注视向量信息可包括基于等矩形投影映射的3D球面坐标系中的(ρ,θ,φ)信息。在另一实施例中,3D注视向量可以被归一化(以获得单位长度方向向量)。因此,本领域技术人员将认识到,取决于在特定实现中使用的几何建模、投影映射、计算方法等,可以以多种方式提供GV信息。在框1504,可以确定在注视向量和方向向量之间的角度间隔是什么,方向向量与分别对应于3D显示环境中的分片阵列的每个分片位置相关联;这同样可以取决于特定的几何建模、投影映射、计算方法等。在框1506,响应于角度间隔,确定对应于分片阵列的多个分片权重,以供用于选择360°沉浸式视频资产的不同比特率质量(QP)的分片,以便组装将被递送到客户端装置的视频帧。通常,接近或在距注视向量的任意角距离内的分片(或,更广义地,分片位置或定位)可被指派较高值,而与注视向量直接相对(即,180°或π弧度)的分片可被指派最低权重值,其中,其间(在水平和垂直方向上)的剩余分片根据任何合适的数学关系(例如,线性、二次等)接收最大值和最小值之间的变化权重值。
过程1500B阐述了关于在示例实施例中实现基于注视的控制的附加细节。在框1522,可以根据注视向量与方向向量之间的角度间隔的余弦来确定分片权重,该方向向量对应于360°沉浸式视频资产的2D视频帧的合适3D空间投影中的分片位置。在框1524处,可将分片权重作为输入连同动态带宽分配输入一起提供到分片选择和带宽加强过程,这在本专利申请中的其他地方进一步描述。
在一个示例实施例中,取决于分片相对于注视向量位于何处,确定有多少带宽被分配给对应于权重的该分片位置。在注视向量
Figure DEST_PATH_IMAGE003
和分片方向向量
Figure 540580DEST_PATH_IMAGE004
由向量表示的情况下,它们的点积可以被确定如下:
Figure DEST_PATH_IMAGE005
在归一化时,即,如果[
Figure 258001DEST_PATH_IMAGE006
] = gaze/|gaze|,则|a| = 1。同理,通过指派[
Figure DEST_PATH_IMAGE007
] =tile_direction/|tile_direction|, |b| = 1。因此,通过归一化,前述关系简化为:
Figure 653210DEST_PATH_IMAGE008
本发明的实施例不是将cos (θ)映射回到θ以确定权重,而是涉及定义如下数学函数,以从cos (θ)映射到权重:x = cos (θ);并且如果x≧0,则f (x) = { x +1},并且如果x<0,则f (x) = [α{x +1} ],其中α=缩放因子,例如0.1。因此,如果注视向量与分片方向向量之间的角度间隔是0°,cos (θ) = 1并且f (x) = 2。同样,对于与该注视向量相距60°或300°的分片,cos (θ) = 0.5并且对应的f (x)值是1.5。在3D帧的等矩形投影中,与用户正观看的位置正好相反的角度是180°,这产生cos (θ) = -1.0,从而获得权重f (x)值0,而不管缩放因子如何。因此,示例实施例可以基于分片质量可以相对于帧内的注视方向如何平滑地或快速地变化来提供合适的缩放因子。
图16A示出了用于便于确定用户的注视方向和块位置之间的角度间隔的示例单元圆形几何布置1600A。用户位置1602被设置为3D球形空间的单位圆形横截面的中心。通过参考用户沿第一参考轴(例如,X轴) 1604的注视,可以如上所述地确定分片位置的不同角位移。作为举例说明,参考标号1606和1608表示与注视方向1604偏离30°和60°的两个分片方向向量。通常,相对于注视方向1604接近近+90°或其附近 (例如,参考标号1610A/1610B)的分片位置意味着用户的中到远的外围视觉,并且可以利用加权缩放因子,使得可以向这样的区域中的分片和超过这样的区域的分片分配更快的带宽减少(即,更低的质量)。在方向向量位置1614处,分片距离注视方向1604为±180度。
在示例实施例中,代替实际角位移,可以参考注视方向提供对应于不同位置的余弦值。例如,如果分片方向向量距离注视向量是90°或270°,则x = 0.0可被馈送到加权函数,这产生1.0的权重。同样地,对于距离330°的分片方向向量,x = 0.866被提供给加权函数,从而产生1.866的权重值。作为另外的示例,如果分片方向向量是距离120°,则x = -0.5被提供给加权函数,从而产生0.05的权重值(假设α= 0.1),如果分片方向是远离注视向量240度,则这是相同的)。
此外,注视向量信息和分片方向向量信息两者都可以被转换为相对于在媒体准备期间在分片编码中使用的分片网格的适当分片坐标信息,以便于通过行和列来标识分片,其可以与权重信息一起被输入到分片选择和带宽加强过程。本领域技术人员将认识到,分片坐标信息的确定取决于在示例实施例中使用的投影映射。图16B示出了导致球形显示环境1600B的等矩形投影映射方案,其中分片形成表面。一个示例实现提供了将北极1605放置在{0,1,0}的方向上,并且将南极1607放置在相反的方向上,而分片帧的左边缘和右边缘在{0,0,1}的方向上,并且图像(即,分片帧)的中心在[0,0,-1}的方向上。在涉及均匀分片大小的示例实现中,本发明的实施例提供了用于确定具有方向向量1611的分片1609的位置的设备和方法,其可以被配置成针对nx (分片的列数)和ny (分片的行数)的给定网格布置计算tx (分片的列索引)和ty (分片的行索引) 如下,其中θ是极角并且φ是球面坐标系的方位角:
Figure DEST_PATH_IMAGE009
在编码具有非均匀分片大小的情况下,可基于(例如)个别分片的像素区域等来修改前述等式。作为举例说明,使用(i)作为用于分片列i的左边缘的分片索引,(j)作为用于分片行j的顶部边缘的分片索引,w是像素的列数,并且h是像素的行数,本发明的实施例可以被配置成确定以下内容,其中xi和yj都涉及“floor”运算符以关于使用示例编码单元或块大小(例如,64个像素)进行舍入(即,小数部分被移除):
Figure 654533DEST_PATH_IMAGE010
图16C示出出于本发明的一个或多个实施例的目的的示例360°沉浸式视频观看环境1600C。与订户驻地1640相关联的驻地节点或网关(GW) 1642由递送管道1644来服务以便提供沉浸式媒体内容。在一种布置中,这样的沉浸式媒体内容可以在用户/订户所佩戴的合适耳机中所观看的3D全景虚拟空间中呈现。示例UE可以包括由GW 1642服务的CPE 1646,例如游戏控制台、膝上型计算机或智能电话,其执行一个或多个游戏或媒体应用,以向诸如安装到用户头部1628或用户头部1628上的显示装置1636之类的一个或多个装置提供合适的信号。这种装置的附加示例可以包括护目镜、有线/无线头帽或头盔、面罩等,其可以显示或实现围绕用户的沉浸式观看空间。在示例显示装置布置中,可以存在诸如陀螺仪、加速计和磁力计等的附加仪器以促进头部跟踪,即,当用户1628移动她的头部时,模拟空间周围的视野可以相应地与用户正注视的空间的一部分(即,视口)一起移动。因此,在头部跟踪耳机中,当用户向上、向下看并且从一侧移动到另一侧或使她的头部成角度时,视锥或视野以及用户的视口四处移动。示例系统可包括所谓的6DoF (六个自由度)布置,它可在X、Y和Z轴上标绘用户的头部以测量头部移动,也称为俯仰、偏摆和翻滚,这些可用于在模拟3D全景观看空间内跟踪用户的视点。
作为举例说明,CPE 1646可以体现为平台1648,其包括一个或多个处理器1656、易失性和非易失性/永久性存储器1654、输入/输出(I/O)接口1660 (例如,触摸屏、游戏控制器、手跟踪手套等)以及可以实现用于穿戴头戴式显示器(HMD) 1636的用户1628的3D虚拟观看空间或“屏幕” 1620的一个或多个360度媒体/游戏应用1638。在一个示例性布置中,HMD 1636可以经由无线接口1642无线地耦合到CPE 1646。多个解码器缓冲器1645可以被提供为与用户1628可用的一个或多个360°沉浸式视频内容频道相对应的示例CPE平台1646/1648的一部分。
还可以单独地或可选地提供附加的具有3D媒体能力的CPE 1634 (例如,平板、平板电话或智能电话等)。与HMD 1636一起或单独操作的示例CPE设备1646/1634可以可操作以实现3D虚拟观看空间1620,其是沉浸式环境,其中用户1628可以在3D环境中定义的垂直平面、水平平面或两个平面之一中完全360°地移动她的视点,其中视口1624相应地改变。在附加或备选布置中,与HMD 1636结合操作的CPE设备1646/1634可以可操作以实现3D虚拟观看空间1620,其可以是部分沉浸式的,因为它沿着轴中的任何一个小于360°。
移动和注视检测模块1662可操作以检测用户/订户1628相对于3D虚拟观看空间1620在视点或注视方向上的移动,并且当订户1628在观看空间1620内转移她的注视时,向服务节点提供合适的注视向量输出。在一个实施例中,分片加权模块可被配置成在360°视频优化节点(例如,图2中的节点216)处操作以基于注视向量信息来确定适当的分片权重。在另一个实施例中,可以在示例设备1646/1634和/或在HMD 1636本地执行分片加权。
图17A是示出了根据本发明的示例实施例关于示例360°沉浸式视频优化过程的附加框、步骤和/或动作的流程图。特别地,过程1700A在一个实现中举例说明了关于注视/移动检测的客户端侧处理。在框1702,用户开始360°视频会话,随之客户端装置向后台办公节点(例如,图2中的节点238)发送关于所请求的360°视频资产的请求(框1704)。在框1706,后台办公节点以所请求的资产的URL来响应,并向客户端提供视频会话ID。响应于此,客户端装置开始经由来自URL中标识的位置的流播来接收编码视频资源,客户端装置的设备播放器对其进行解码并且在3D沉浸式环境中渲染(框1710)。此外,客户端装置可以开始监测或跟踪用户的头部/眼睛移动,所述用户结合正在进行的360°视频会话来操作客户端装置(框1708)。响应于检测到移动被检测(框1712),将关于当前视口的注视向量信息提供给360°视频优化节点(例如,图2中的节点216),其在带宽加强和分片选择过程中利用注视向量信息结合其他片段的信息 (框1714)。在一个实施例中,可生成注视向量信息直到 (例如,在一段时间上) 用户已停止播放视频和/或未检测到头部/眼部移动,如涉及判决框1712及1716的迭代循环中所示。在一个实施例中,可以以预定频率(例如,每秒40次)生成注视向量。如下面将看到的,在示例带宽加强和分片选择过程中不是所有注视向量都可以被利用,该示例带宽加强和分片选择过程可以被配置成仅在存在对分片质量修改(例如,升级或降级)的需要时被触发。当用户停止播放视频资产时,可以向递送服务器生成适当的会话终止请求/消息(框1718),于是过程流可以终止(框1720)。
下面阐述在示例实现中由客户端装置在可配置时间窗口上提供的注视向量的列表:
Figure DEST_PATH_IMAGE011
Figure 476995DEST_PATH_IMAGE012
Figure DEST_PATH_IMAGE013
Figure 681712DEST_PATH_IMAGE014
在非归一化格式中,笛卡尔坐标系中的示例GV可包括(x,y,z)值,例如[3,5,1];[10,4,1]等。在归一化球面坐标系中,GV值可包括角度的集合,例如(59.04°,80.27°),其中r =半径已被归一化,θ =极倾角,并且φ=方位角。不管格式如何,尽管可以以可配置的频率、时间段等提供或以其他方式获得注视向量信息,但是在分片权重确定过程中可能不需要利用所有注视向量。例如,如先前关于某些实施例所述,可仅响应于触发分片选择和带宽加强过程来确定和利用分片权重。因此,在这样的实施例中,未使用的注视向量信息可以被周期性地丢弃。
图17B是示出了根据本发明的示例实施例关于示例360°沉浸式视频优化处理的另外方面的附加框、步骤和/或动作的流程图。特别地,过程1700B示出了在示例实现中,特别是在带宽加强和分片选择中,基于注视/移动检测进行分片权重确定以及分片权重利用的服务器侧处理。在框1742处,视频后台办公节点接收用于开始会话的用户请求,于是可以向360度视频优化系统生成会话设立请求(框1744)。响应于获得适当片段的信息,例如会话ID、会话的清单URL等,后台办公室向客户端装置提供必要的信息以开始所请求的视频资产(框1746)。具有分片选择功能性的带宽加强和QoE管理模块(在一些实施例中也被称为BWA-TS模块)可操作以获得、检索、读取和/或处理与所有编码表示中的所请求视频资产相关联的清单(框1748)。在框1750,BWA-TS模块还可被配置成从递送网络基础设施(例如,示例实施例中的DSLAM/CMTS)接收关于客户端装置的视频会话的动态带宽通知。在框1752,BWA-TS模块可操纵以从分片编码流或表示中提取特定分片。在框1754,BWA-TS模块可操作以接收关于360°沉浸式视频会话的带宽分配的控制输入(框1756、1758)以及任何注视向量信息。如前所述,如果注视向量输入最初不可用,则可以使用默认值,该默认值可以基于内容类型、内容提供商策略、客户端装置类型和能力等可配置。响应于控制输入,BWA-TS功能性可操作以基于带宽和分片权重生成或以其他方式指示所选的分片集合(框1754)。分片组合/拼接和流生成功能性(在一些实施例中也被称为TC-SG模块)可操作以接收所选择的分片集合(框1760),其可以如上所述被级联。因此,在一个实现中,将视频切片报头与选定分片级联,并且适当地修改视频切片报头以包括适用的入口点偏移(框1762)。出于分片拼接的目的,可在网络抽象层(NAL)访问单元级处执行某些操作,其中编码视频数据被组织成分片层次中的多个NAL单元。NAL访问单元实际上是含有整数数目字节的分组,可被视为由二进制音频/视频流形成且经压缩以促进比特流操纵访问的基本流的逻辑子结构。在一种实现中,考虑到保持视频参数信息(例如空间/时间冗余等)之间的一致性,涉及层压缩的同步系统中可能归因于最小数据组织,其中可以进行MPEG解码操作。
继续参考图17B,在框1764处,TC-SG模块被提供有包括组合分片的一个帧/画面的数据段,其可以以适当的容器格式被容器化,例如MPEG-2传输流容器格式(M2TS;有时也被称为MP2TS)、MPEG 4部分14 (MP4)容器格式、或ISO基媒体文件格式(ISOBMFF)容器格式等(框1766)。递送服务器可以被配置成通过合适的网络将复用画面/帧递送到客户端装置(框1768)。如图17B的实施例中所述,包括BWA-TS、TC-SG和过程1700B的递送服务的操作可以继续进行,直到递送通信套接口关闭或超时为止(框1770)。此后,可终止与客户端装置的360°视频会话(框1772)。
在示例实施例中,示例性360°沉浸式视频会话的带宽分配可以是19 Mb/s。可以使用128分片网格利用全360视频来编码视频,覆盖从QP值为16的高达105.6 Mb/s到QP值为30的低至7 Mb/s而变化的比特率。在用户的直接视野处针对更高质量分片。分片质量与距用户的直接视野的距离成比例地降级(即,QP值上升)。BWA-TS的功能性确保了不超过360视频会话的总带宽。分片选择基于每个分片的比特率。在用户正向上看场景中的多云天空时的示例中,在该视口中提供的大多数分片是相对高质量的。当在这种情况下向上看时,分片的内容是相对静态的(即,非常小的运动),因此编码器没有将那么多的比特专用于低运动区域。这导致能够显示来自QP值为16的最高质量视频编码的分片。当用于360视频的带宽分配被减小(例如从19 Mb/s到7 Mb/s)时,分片的质量也被减小。在前述示例中,直接视野中的最高质量分片可以具有QP值为22的22.4 Mb/s的比特率。
图18A示出了在示例实现中包括16乘8的分片阵列的分片加权帧1800A,其中每个分片基于由客户端装置提供的注视向量{0.783,0.396,-0.481}被指派权重。参考标号1802指的是与注视相关联的视口,其中根据本发明的教导,对分片给予最高值。本领域技术人员将认识到,随着视口改变,具有最高值的分片的区域也伴随地改变。在基于等矩形投影的360°沉浸式视频显示空间中,具有最高值的分片的区域因此也四处移动,例如,如果用户直接向上或向下注视则移动到极区,或者如果用户直接注视画面的中间则移动到赤道。作为举例说明,图18C描绘了3D沉浸式显示或观看空间1800C,其中当用户直接向上看时,最高质量的分片在北极区域1852附近,其中质量逐渐降低的分片形成沉浸式空间的剩余部分,其中,质量最低的分片位于南极区域1854附近。同样地,图18D描绘了3D沉浸式显示或观看空间1800D,其中,当用户直接向下看时,较高质量的分片在南极区域1854附近,其中质量逐渐降低的分片朝向北极1852跨越。
图18B示出了示例实施例中的装置帧缓冲器1800B。示出了缓冲器中的三个连续帧1822A-1822C,每个帧具有P切片报头,但是基于耳机视图在视口1820中包括不同集合的分片。尽管当前帧1822A在其视口1820中具有所有I分片,但随后的帧被示为具有带有P分片的视口1820。
如上所述,BWA-TS模块的功能性的方面是确保示例360°沉浸式视频会话的总带宽不超过指定带宽分配(例如,基于网络运营商策略、内容提供商策略、订户/装置策略或其任何组合),同时仍然使质量和观看体验最大化。因此,可以响应于用户的视野、带宽分配/限制、每分片的比特率以及传送缓冲器模型来配置具有合适比特率质量的优化分片选择,使得在直接视线中的分片具有可能的最佳质量,其中,质量随着远离直接注视而降低。
图19是流程图,示出了根据本发明的一个或多个实施例,BWA-TS过程1900的各个框、步骤和/或动作,它们可以在一个或多个布置中(重新)组合,具有或不具有本公开的附加流程图的框、步骤和/或动作。如在框1902处所阐述的,过程1900可以开始于或响应于接收、检索或以其他方式获得由360°视频资产封装器(例如,图2中的封装器214)针对可以根据BIE或PE方案生成的多个分片编码流而提供的一个或多个流清单文件。通常,清单文件可包括描述每帧的分片分组的各种特性的信息或数据,其针对媒体输入流的多个比特率表示中的特定一个相对应的每个分片编码比特流,包括位置URL、比特率、切片/框类型、媒体类型等。在一种布置中,可以以分层方式来组织清单,即,具有用于描述总体编码比特流的某些清单,而提供其他清单用于描述流中的各个分片。如本专利申请中各处阐述的,每个流是具有视频质量的源媒体的特定比特率表示,例如,涉及或受控于用于比特率表示的对应QP、和/或目标比特率、或其他标志,其中,分片编码比特流的每个帧包括组织成每帧至少一个切片的分片阵列,其中,多个帧形成分片编码比特流的GOP结构。在框1904,过程1900继续进行以接收、检索或以其他方式获得注视向量信息,并且响应于此,例如基于注视向量或通过默认设置来确定与形成帧的分片阵列相对应的分片权重。在框1906,过程1900进行接收、检索或以其他方式获得与媒体输入流的多个比特率表示或相关联的分块编码比特流对应的变量权重。在一种布置中,变量权重可定义为流的基于策略的性质,其中较高质量流表示(即,变量)被赋予较高优先级或权重,其可用于涉及基于权重的背包打包选择的进一步计算中。在框1908,对于每个分片编码比特流,在GOP结构上的一组帧上,根据每个分片/ GOP元组组合的变量权重和分片权重,针对适当性度量值进行确定。在框1910,过程1900至少部分地响应于适当性度量值而从对应分片编码比特流选择具有不同比特率质量的分片以用于组装帧,其中所选择的分片的比特率质量被优化以满足用于传送复用视频输出流的传送缓冲器模型。此后,可以将所选择的分片的列表提供给分片拼接器,以生成包含所选择的分片的帧作为复用视频输出流的一部分(框1912)。在装置侧实施例中执行分片拼接的情况下,在示例实施例中,可以将所选择的分片提供给客户端装置,如本专利申请中其他地方所指出的。
下面示出了用于本发明实施例的目的的示例流级清单:
Figure DEST_PATH_IMAGE015
Figure 880612DEST_PATH_IMAGE016
为了涉及多个相位编码流的本发明的实施例的目的,基于DASH-MPD的示例较低级清单在下面示出:
Figure DEST_PATH_IMAGE017
Figure 549491DEST_PATH_IMAGE018
Figure 231270DEST_PATH_IMAGE019
Figure DEST_PATH_IMAGE020
图20是示出了根据本发明的实施例关于示例分片选择和带宽加强过程的附加框、步骤和/或动作的流程图。在一种布置中,如前所述,基于包括注视向量、带宽分配/限制、流权重等的输入,背包组合优化可以用于分片选择和加强。在框2002,在与视频优化相关联的服务器或节点处执行的过程2000开始于或响应于接收到对360°沉浸式视频会话的请求。在框2004,过程2000继续检索或以其他方式获得分片流清单定义,以便能够基于深度级检查和处理来确定视频特性的所有方面,以便提取所需的分片,这可以通过解析流清单来实现(框2006)。为每个流确定网格布局,例如每帧的列和行(框2008)。在示例性变化中,过程2000可以向网络管理和编排节点注册,以接收与所请求会话的分配/确定带宽相关的通知消息(框2010)。如果接收到带宽分配(框2012),则可以做出是否接收到注视向量信息的进一步确定(框2014)。此后,基于注视向量信息确定分片权重(框2016)。可响应于可用带宽分配通知而作为背包加强过程来执行分片选择(框2018)。在框2020处,将所选择的分片提供给分片拼接过程(在服务器处或在客户端装置处执行)。
图21A和21B是示出了根据本发明的示例实施例关于分片选择和带宽加强过程的另外方面的附加框、步骤和/或动作的流程图。特别地,图21A中所示的过程2100A举例说明了相对较简单的背包加强过程,其可能在计算上更昂贵,这可能导致对于分片接合大约为1秒。在框2102,将分片初始化为最低质量。适当性度量可以被确定为流变量权重与分片权重之间的比率,其可以针对所有<分片,GOP >-元组或组合来提供(框2104)。如框2108所述,确定升级具有最低适当性(即,最不适当)的<分片,GOP >元组。确定是否违反或满足传送缓冲器模型(框2110)。如果不满足(即违反)缓冲器模型,则该分片/ GOP组合可能被取消(disqualify)升级,并且过程流返回到考虑下一个分片/ GOP组合以便升级,如在框2112所述。如果没有违反缓冲器模型,则在质量上升级分片/ GOP组合(框2114)。可以迭代地执行上述过程,直到没有低于最高质量的非取消分片/ GOP组合(框2116)。如果没有,则通过将选定分片发送到分片复用和流生成过程来完成过程2100A,如框2118处所述。
转到图21B,示出了性能优化的分片选择和加强过程2100B,其在一些实现中可以导致更快的分片部分,从而导致大约10毫秒左右的总分片拼接时间。广义上,可针对I分片升级(其比P分片升级更昂贵,因为I分片封装更多数据)施加惩罚因子,并且最初“朴素”升级序列可在下述位置之前:在该位置,不管升级是否遵从适当性度量,均不针对传送缓冲器模型检查分片升级。此外,当ROI /视口中的分片首先被升级并且帧的其余分片随后被升级/更新时,示例实施例可以基于分片位置在哪里而将惩罚考虑在内。例如,如果分片位置接近注视向量,则与该位置相关联的惩罚可以更低。此外,惩罚也可与分片位置有关,作为要升级的分片的质量/类型相对于它在帧中的位置之间的平衡。在示例实施例中,惩罚因子或组合的效果可通过适当地调节朴素升级序列中使用的适当性度量而结合到加强过程中。
类似于图21A的实施例,所有视频编码的分片被初始化为最低质量(框2132)。适当性度量可以被确定为流变量权重与分片权重之间的比率乘以惩罚因子,其可以针对所有<分片,GOP >元组或组合来提供(框2136)。在框2134,堆(heap)结构(例如,作为大的存储器池)可以被配置用于包含所有<分片,GOP >-元组的适当性值。在框2138,从堆中抽出最不适当的分片并记录在朴素升级序列或过程中。如果分片质量可被进一步升级(框2140),则执行该升级并确定升级后分片的适当性度量(框2142)。可以在迭代循环中执行上述过程,直到堆为空并且可以升级的所有分片已经升级(框2144)。可以对朴素序列实现二进制搜索序列,以找到服从给定传送缓冲器模型的最后有效状态(框2146),该最后有效状态可以用作起始分片状态(框2148)。新的升级堆可被配置用于包含分片/ GOP状态(框2150)。从堆中抽出最不适当的分片/ GOP组合(框2152),并针对传送缓冲器模型进行验证(框2154)。如果所抽出的分片/ GOP不能满足缓冲器模型,则取消未来的升级(框2158)。否则,确定其是否可以进一步被升级(框2156)。如果是,则确定满足传送缓冲器模型的升级后分片/ GOP组合的适当性值(框2160)。迭代地执行上述操作,直到新的升级堆为空,如在框2162所述。如果是,则通过将选定分片发送到分片复用和流生成过程来完成过程2100B,如框2164处所述。
本文阐述的示例加强过程有利地促进了在视口或带宽改变时帧的逐渐刷新,从而允许基于用户的视野在增加质量时最小化时延并且同时不使带宽过载的能力。通常,当试图同时对所有分片执行质量改变时,由于同时改变I分片的P分片的结果而可能遇到若干问题,其在经编码比特速率方面较昂贵。另一方面,用最小的客户端缓冲器执行这种替换可能在递送I-切片/帧时引起太多的延迟。
在采用逐步刷新的示例实施例中,视频流不具有I帧(除了初始I帧或任何其他特殊帧(例如,即时解码刷新或IDR帧)外)。取而代之,视频流具有I块或I分片,它们可以分布在整个时间序列中,使得屏幕上的任何特定点都以规则的间隔获得I块,例如,通过如在本专利申请的较早部分中详细描述的相位编码流来实现。因此,在此情形中,不存在其中所有像素由I块刷新的帧。通过执行逐步刷新加强,本发明的示例实施例可以被有利地配置成使帧大小(即,在编码图像数据量方面)持平,并且减少注入I帧的带宽结果,以便升级进入FoV或视口的分片的质量。尽管PE方案可允许时间/帧序列中的分片的选择性早期刷新,但其可施加某些带宽成本(例如,由于在帧中具有多个I分片,其可针对对应于所述视频帧的传输的所述时间间隔,引起所需带宽的增加)。然而,涉及PE的示例实施例可以被配置成使得具有更稳定的字节/帧级别的优点超过这种成本。
随着帧序列中的时间推移,基于PE的实施例可允许操纵周围的各个分片的相位,直到I分片再次在时间上大致均匀地分布为止。这种能力可以被配置成针对该重新分发何时发生而是用户和/或内容相关的,因为它要求用户保持他们的视野稳定足够长的时间以使其发生。为了选择分片来填充带宽,示例实施例可以涉及对将来延展3个GOP的帧的字节大小进行建模(该选择是任意的)并且基于缓冲器模型(例如,在前视场景中利用3个GOP)来执行假设的早期刷新(HER)。基于图21A和21B中阐述的实施例,可以看出,这样的过程开始于针对所有分片挑选最低质量流,然后考虑针对当前帧和未来帧两者的分片的每个GOP,并且评估升级该GOP是否将违反任何带宽约束(其是单独帧大小和缓冲器考虑的组合)。如果考虑将当前(与将来相反)分片-GOP组合升级到高于已经递送的I帧的质量,则本发明的实施例可以在时间上重新对准该分片以从I帧(其可能影响接合窗口中的其余帧)开始。一旦获得可能的升级的列表,就可以根据质量和分片在FoV中的位置对它们进行加权(因此,靠近视觉中心的分片将优选被升级)。在一个实现中,可以重复前述升级步骤,直到缓冲器约束使得任何更多的升级变得不可能。
应当理解,示例升级过程可以根据前视GOP建模在时间和空间上来回移动。在一种布置中,每个分片可具有3-4 GOP范围,其各自可随着过程的迭代而被升级,其中未来的GOP升级是用于未来覆盖3-4个GOP的早期刷新的潜在未来增强。
在考虑基于HER的实现中,可以标识和/或采用几个潜在的度量来获得合适的折衷:(i)停播时间,(ii)最大缓冲器水平,以及(iii)结束缓冲水平,等等。在一个示例实现中,最大缓冲器水平可以被加权作为HER升级的主导标准,其中可以释放足够的带宽以允许分片GOP质量升级。
如图21B的实施例所述,一旦在升级迭代中到达结尾,就可以使用一组分片来复用切片/帧,由此可以计算复用切片/切片的字节大小,并且可以记录其对传送缓冲器的影响,使得根据给定的传送缓冲器模型来精确地约束下一切片/帧。当下一次接合帧时(例如,用户注视已经改变,从而导致进行调整),可以重复背包加强过程,其中,相对于先前操作对一个额外的帧进行建模,这可以验证和/或微调背包/加强过程。
本领域技术人员将认识到,图21B的实施例中所采用的堆存储器结构对于跟踪可升级分片尤其有利,因为可避免在每次迭代时重新计算分片GOP升级的得分。如前所述,为给分片评分而定义了适当性度量,其用于选择要升级哪个块,其中以适当的数学关系提供诸如variant_weight、tile_weight和惩罚之类的参数以捕获期望的升级场景。这样,variant_weight参数可以被定义为编码流的属性,并且较高质量的流变量(具有较低的QP)具有较高的variant_weight。一些示例variant_weight是{1/QP}、{100-QP},或在上面阐述的清单示例中定义的值,或者它可以是整个流的比特率。tile_weight还可以根据分片相对于注视的位置来提供,如上所述。通常,可以给予用户的直接FoV或ROI /视口中的分片较高的tile_weight。图21A/B的实施例中阐述的示例适当性度量公式被配置成使得随着流质量增加,适当性值也增加,并且更靠近注视向量的分片比更远离注视向量的相同质量的分片具有更低的适当性(其配置加强过程以在升级远离注视向量的分片之前升级更靠近注视向量的分片)。
此外,示例实施例还包括在针对升级过程在对分片进行评分时的惩罚因子,如上所述。在一种布置中,当需要以I分片进行早期刷新时可施加惩罚,其中当前GOP中的分片将被升级超过其在先前切片/帧中所具有的质量。这种惩罚具有增加该分片的适当性的效果,这相对于堆中的其他分片延迟了升级。这允许当注视已经改变足够时进行分片升级,但是在边际情况下推迟早期刷新。
对于本领域技术人员来说将显然的是,在本发明的范围内的一些变型中,附加/备选的公式也可用于对分片升级进行评分。
图22示出了根据本发明的示例实施例用于片选择和带宽加强布置的传送缓冲器模型过程。通常,传输缓冲器模型可以被配置成与根据实现方式的帧速率(例如,30 fps、60fps等)一致,其中可以将如何将数据添加到缓冲器中以及如何将数据从缓冲器中传出的时间变化参数化,以便确定是否以及何时可能存在溢出(即,违反)。在示例传送缓冲器模型2200中,b0是起始缓冲器水平,bi是在添加访问单元或NAL单元之前的缓冲器的大小,ni是访问/ NAL单元的大小,以及ai是在添加访问/ NAL单元之后的缓冲器的大小,其中ai = bi +ni,i≥1。假设传送速率为r,并且Δt = 1/帧速率,则获得以下关系:
Figure 923282DEST_PATH_IMAGE021
可以如下定义buffer_size参数:
Figure DEST_PATH_IMAGE022
根据前述模型,如果Max (ai)>buffer_size,则可以将其指示为缓冲器溢出条件。因此,当根据分片升级过程添加不同的ni时,可以针对所计算的缓冲器大小来检查缓冲器端点水平,以便确保在升级处理中不会造成缓冲器违规。
转到图23,其中描绘了布置2300,其中出于本专利公开的实施例的目的,客户端UE装置可以被配置成执行360°沉浸式视频优化的某些方面。具有合适的360°显示装置的用户2310与连接的UE装置2302一起操作,该UE装置2302包括视频优化客户端模块2306和连接的播放器2308,其被布置以向显示装置生成合适的播放信号。在一个实施例中,播放器2308可包括HEVC或AV1播放器,其配置有适当的视频解码器2314、显示渲染器2316、音频解码器2318及声音渲染器2320。类似于上文阐述的示例实施例,注视跟踪模块2312可以与连接的UE装置2302一起提供,其可以被配置成在ABR流播环境中消费通过因特网2304递送的360°沉浸式视频内容。
客户端优化模块2306优选地包括360°沉浸式视频接口模块2321,其包括清单解析器2328、视频分片和音频流下载器2330、带宽估计模块2326和分片选择模块2324,它们可以被配置成以类似于上文阐述的实施例的方式操作,利用适当的以设备为中心的修改,加以必要的变更。HEVC分片/音频请求2344可以基于关于特定内容的清单2340经由因特网2304被生成到网络位置,例如,内容提供商网络或基于云的存储。所请求的视频分片和音频数据可经由路径2342接收。从注视跟踪模块2312 (例如,经由路径2322)提供给沉浸式视频接口模块2321的注视向量信息可以与带宽估计一起用于选择每帧的分片,其可以经由视频信号路径2331提供给动态分配的视频缓冲器2332。同样,对应的音频段可经由音频信号路径2338提供给音频缓冲器2336。不同质量的分片可被提供给分片组合器2334,其向播放器的视频解码器2314生成复用编码视频流2346。编码音频流2348可以从音频缓冲器2336生成到音频解码器2318。提供给播放器2308的相应渲染器2320、2316的解码音频和视频数据被适当地渲染,以用于在由用户的显示装置实现的沉浸式环境中的显示/呈现,基本上类似于先前阐述的示例实施例。
图24描绘了根据本发明的实施例的计算机实现的设备的框图,该设备可以被(重新)配置和/或(重新)布置为平台、节点或元件,以实现360°沉浸式视频处理、准备和分片选择优化的一个或多个方面。取决于实现和/或网络架构,设备2400可以被配置或以其他方式集成在适合于在示例环境的一个或多个层级处操作的不同布置中(例如,如图1和2中所示)。一个或多个处理器2402可以被提供为用于提供对设备2400的过全局(overcall)控制的合适计算机架构的一部分,其中(一个或多个)处理器2402可以被配置成执行存储在适当的存储器模块或块(例如,永久存储器2408)中的各种程序指令,包括专用于媒体准备、预处理、基于BIE/PE的分片编码(包括自适应比特率编码/转码)、优化的分片选择和带宽加强、分片媒体打包、分片拼接等的附加模块或块,如上文详细描述的。例如,这样的模块可以包括基于分片的PE/BIE编码器2404、ABR编码器/转码器2406、GV处理和分片权重处理模块2413、分片选择和加强模块2416、打包器和清单生成器2410、投影映射器2418等。此外,取决于设备2400的实现方式,在示例实施例中可以提供封装媒体数据库2419。因此,取决于网络层级和/或集成,可以提供各种网络接口作为设备2400的一部分,所述网络接口例如I/F2414-1至2414-L以及接口2412-1至2412-K,I/F 2414-1至2414-L可操作用于实现与网络基础结构元件的通信,所述网络基础结构元件包括视频后台办公元件、DRM实体、源服务器、客户端控制器节点、源媒体节点、管理节点和高速缓存数据库,接口2412-1至2412-K用于实现与一个或多个下游节点的通信会话,所述下游节点例如包括递送服务器、DSLAM/CMTS单元、RAN基础结构元件、驻地网关节点等。
图25描绘了根据本专利公开的一个或多个实施例被配置用于执行各种客户端侧过程的示例客户端UE装置或订户站2500的框图。客户端装置2500一般表示上述一个或多个附图中所示的各种观看装置,并且可以包括适当硬件/软件组件和子系统,其被配置用于根据实现方式执行关于媒体请求生成、注视向量生成、分片选择和带宽估计等的任何装置侧过程(单独地或以其任何组合执行)。提供一个或多个微控制器/处理器2502以用于客户端装置2500的整体控制,以及用于执行在可以是装置2500的存储器子系统2511的一部分的一个或多个持久性存储器模块中体现的各种存储的程序指令。例如,包括VR应用的360°沉浸式视频客户端应用2513A可以与可以作为存储器子系统2511的一部分提供的带宽估计器2513B和相关联的分片选择器2513C一起操作。可以提供清单解析器2517以促进将媒体请求生成到适当位置。由参考标号2502表示的控制器/处理器复合体也可以表示与适当的视频和音频接口(未具体示出)相关联地操作的其他专用处理模块,例如图形处理器、视频处理器、数字信号处理器(DSP)等。可以包括适当的网络接口,例如与调谐器、解调器、解扰器、MPEG/H.264/H.265/AV1解码器/解复用器有关或一起操作的网络I/F模块2504和2506,用于处理经由DSL/CMTS网络2598或卫星网络2596接收的IPTV和其他内容信号并与其对接。在STB被配置成示例客户端装置或应用的情况下,也可以包括合适的解调器。可以提供一个或多个媒体播放器2514,用于与客户端装置2500的其他子系统(例如,用户接口2520)结合操作,用户接口2520可以进一步配置有用于促进对媒体播放的用户控制的附加子系统,包括频道改变请求和任何技巧模式操作。例如,客户端/用户控制功能可以包括关于正在播放的特定360度沉浸式视频资产的暂停、恢复、快进、倒带、查找、加书签等。示例媒体播放器可以被配置成基于已知或迄今未知的标准或规范来与一个或多个A/V编码器/解码器(编解码器)功能性一起操作。
根据装置配置,还可以提供其他I/O或接口,例如沉浸式显示接口2515、触摸屏或键盘接口2520、USB/HDMI端口2518、以太网I/F 2508以及短距离和广域无线连接性接口2512。还可以包括各种运动检测和注视跟踪传感器2516,其中一些可以包括陀螺仪、加速度计、位置传感器等。硬盘驱动器(HDD)或本地DVR系统2510可以被包括在用于各种节目资产的本地存储的示例实现中。合适的电源块2522可包括AC/DC电力转换以向装置2500提供电力。应当理解,装置2500的实际功率架构可以随所使用的硬件平台而变化,例如,取决于在特定平台中使用的核心SoC (片上系统)、存储器、模拟前端、模拟信号链组件和接口等。
本领域技术人员将认识到,在本专利公开的附加或备选实施例中,可以根据网络功能虚拟化(NFV)架构在虚拟化环境中构建关于前述实施例的各种设备和系统以及上述下层网络架构。例如,在本申请的示例性流播网络内执行的各种物理资源、数据库、服务、应用和功能,包括上文阐述的源媒体处理基础设施、媒体容器化、PE/BIE分片编码和封装等,可以被提供为虚拟设备、机器或功能,其中资源和应用经由合适的虚拟化层被虚拟化为合适的虚拟网络功能(VNF)或虚拟网络元件(VNE)。包括计算资源、存储器资源和网络基础设施资源的资源被虚拟化为对应的虚拟资源,其中虚拟计算资源、虚拟存储器资源和虚拟网络资源共同地操作以支持VNF层,该VNF层的总体管理和编排功能性可以由虚拟化基础设施管理器(VIM)结合VNF管理器和NFV编排器来支持。操作支持系统(OSS)和/或业务支持系统(BSS)组件通常可被提供用于处置网络级功能,诸如网络管理、故障管理、配置管理、服务管理和订户管理等,其可经由适当的接口与VNF层和NFV编排组件对接。
此外,本文公开的示例网络架构的至少一部分可以如上所述被虚拟化并且构建在包括可配置虚拟资源的共享池的云计算环境中。与PE/BIE分片编码和封装、带宽加强和分片选择、分片复用和容器化等相关联的各种硬件/软件可以被实现在面向服务的架构中,例如,软件即服务(SaaS)、平台即服务(PaaS)、基础设施即服务(IaaS)等,其中多个实体提供本发明的示例实施例的不同特征,其中虚拟化环境的一个或多个层可以在商业现货(COTS)硬件上实例化。本领域技术人员还将理解,这样的云计算环境可以包括私有云、公共云、混合云、社区云、分布式云、多云和云间云(例如,“云中的云”)等中的一个或多个。
在本公开的各种实施例的以上描述中,应当理解,本文所使用的术语仅用于描述特定实施例的目的,而不旨在限制本发明。除非另有定义,否则本文所用的所有术语(包括技术和科学术语)具有与本发明所属领域的普通技术人员通常理解的相同含义。还应当理解,诸如在常用词典中定义的那些术语应当被解释为具有与它们在本说明书的上下文和相关领域中的含义一致的含义,并且可以不采用这里明确定义的理想化或过于正式的意义来解释。
本文参考计算机实现的方法、设备(系统和/或设备)和/或计算机程序产品的框图和/或流程图来描述至少一些示例实施例。应当理解,框图和/或流程图的框以及框图和/或流程图中的框的组合可以由一个或多个计算机电路执行的计算机程序指令来实现。这样的计算机程序指令可以被提供给通用计算机电路、专用计算机电路和/或其他可编程数据处理电路的处理器电路以产生机器,使得经由计算机和/或其他可编程数据处理设备的处理器执行的指令变换和控制晶体管、存储在存储器位置中的值、以及这样的电路内的其他硬件组件,以实现在框图和/或流程图的一个或多个框中指定的功能/动作,并且由此创建用于实现在框图和/或流程图的一个或多个框中指定的功能/动作的部件(功能性)和/或结构。另外,计算机程序指令还可以存储在有形的计算机可读介质中,其可以引导计算机或其他可编程数据处理设备以特定方式运作,使得存储在计算机可读介质中的指令产生包括实现框图和/或流程图的一个或多个框中指定的功能/动作的指令的制品。
如先前所指出,有形非暂时性计算机可读介质可包括电子、磁、光、电磁或半导体数据存储系统、设备或装置。计算机可读介质的更特定示例将包括以下:便携式计算机磁盘、随机存取存储器(RAM)电路、只读存储器(ROM)电路、可擦除可编程只读存储器(EPROM或闪速存储器)电路、便携式压缩盘只读存储器(CD-ROM)和便携式数字视频盘只读存储器(DVD /蓝光)。计算机程序指令还可以被加载到或以其他方式下载到计算机和/或其他可编程数据处理设备,以使得在计算机和/或其他可编程设备上执行一系列操作步骤来产生计算机实现的过程。因此,本发明的实施例可以在硬件和/或在处理器或控制器上运行的软件(包括固件、驻留软件、微代码等)中体现,它们可以统称为“电路”、“模块”或其变体。此外,作为举例说明,示例处理单元可包括通用处理器、专用处理器、常规处理器、数字信号处理器(DSP)、多个微处理器、与DSP核相关联的一个或多个微处理器、控制器、微控制器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)电路、任何其他类型的集成电路(IC)和/或状态机。如可以理解的,在某些实施例中,示例处理器单元可以采用分布式处理。
此外,在至少一些附加或备选实现中,框中描述的功能/动作可以不按流程图中所示的顺序发生。例如,取决于所涉及的功能性/动作,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以按照相反的顺序执行。此外,流程图和/或框图的给定框的功能性可以被分成多个框,和/或流程图和/或框图的两个或更多个框的功能性可以至少部分地被集成。此外,虽然一些图包括通信路径上的箭头以示出通信的主要方向,但是应当理解,通信可以在相对于所描绘的箭头的相反方向上发生。最后,可以在所示的框之间添加/插入其他框。
因此,应当清楚地理解,在本公开的附图中描绘的任何流程图中示出的动作、步骤、功能、组件或框的顺序或次序可以在特定流程图内被修改、更改、替换、定制或以其他方式重新布置,包括删除或省略特定动作、步骤、功能、组件或框。此外,为了实践本专利公开的教导的目的,在特定流程图中示出的动作、步骤、功能、组件或框可以与在另一流程图中示出的动作、步骤、功能、组件或框相互混合或以其他方式相互布置或重新布置,以便实现针对一个或多个过程的附加变化、修改和配置。
虽然已经详细示出和描述了各种实施例,但是权利要求不限于任何特定实施例或示例。上述详细描述都不应被解读为暗示任何特定组件、元件、步骤、动作或功能是必需的,使得其必须被包括在权利要求的范围内。除非这样明确说明,否则以单数形式引用元素并非旨在表示“一个且仅一个”,而是“一个或多个”。本领域技术人员知道的对上述实施例的元素的所有结构和功能等同物,通过引用并入本文,并且意在由本权利要求涵盖。因此,本领域技术人员将认识到,在所附权利要求的精神和范围内,可以利用各种修改和变更来实践本文描述的示例性实施例。
所选实施例:
1. 一种媒体准备方法,包括:
接收(702)媒体输入流(202);
生成(704)所述媒体输入流的多个比特率表示,每个比特率表示具有与用于每个比特率表示的量化参数(QP)值相关的单独的视频质量;
将每个比特率表示编码(706)成包括具有特定画面组(GOP)结构的多个帧的第一编码比特流,其中每个GOP以内部编码(I)帧开始,随后是包括至少一个预测编码(P)帧的一组帧;以及
将每个比特率表示编码(708)成包括具有GOP结构的多个帧的第二编码比特流,所述GOP结构具有与所述第一编码比特流的GOP结构的大小共同扩展的大小,其中所述第二编码比特流的每个GOP以I帧开始,随后是多个X帧,每个X帧具有P帧的切片报头并且包括仅内部编码数据的块(I块)。
2. 如实施例1所述的方法,其中,所述生成多个比特率表示以及将每个比特率表示编码成所述第一编码比特流和所述第二编码比特流中的至少一个是由编码器作为单个编码操作来执行的。
3. 如实施例2所述的方法,其中,所述编码器基于以下中的至少一个可操作:高效视频编码(HEVC) H.265压缩、开放媒体联盟(AOMedia)视频1 (AV1)压缩和H.266/通用视频编码(VVC)压缩。
4. 如实施例2所述的方法,其中,所述第一编码比特流和所述第二编码比特流的每个比特率表示被编码为相应的分片编码比特流,并且进一步地,其中所述分片编码比特流的每个帧包括被组织成每帧至少一个切片的分片阵列,每个分片包括被形成为多个编码树单元(CTU)的所述帧的所述媒体数据的一部分。
5. 如实施例4所述的方法,其中,所述媒体输入流包括360°沉浸式视频资产,所述方法还包括:生成描述每个分片编码比特流的每帧分片分组的特性的一个或多个清单文件(126),以及将所述相应的分片编码比特流提供给分片选择器,所述相应的分片编码比特流对应于与所述媒体输入流的每个比特率表示相关联的所述第一编码比特流和所述第二编码比特流,所述分片选择器可操作以:响应于控制输入,从不同比特率表示的所述第一编码比特流和所述第二编码比特流中选择分片,以促进复用视频输出流的中间GOP切换,所述控制输入与以下中的至少一个相关:针对涉及所述360°沉浸式视频资产的多媒体会话可用于客户端装置的估计带宽量以及所述客户端装置的视口。
6. 如实施例5所述的方法,其中,来自所述第二编码比特流的不同比特率表示的X帧中的分片被选择用于在中间GOP切换时组合成所述复用视频输出流的帧,从而促进:当与所述视口相关联的注视向量被改变时以最小的时延在所述视口内呈现较高质量的分片。
7. 如实施例6所述的方法,还包括:
确定满足以下条件中的至少一个:(i)所述客户端装置的视口在预定时间量尚未改变;以及(ii)分配给所述客户端装置用于所述多媒体会话的带宽量已经保持在基本恒定的水平;以及
响应于所述确定,从所述第一编码比特流的不同比特率表示中选择分片以用于组合成所述复用视频输出流的连续帧。
8. 如实施例6所述的方法,其中,所述360°沉浸式视频资产包括以下中的至少一个:直播TV内容、IPTV内容、时移(TS) TV内容、位移(PS) TV内容、游戏内容、视频点播(VOD)内容、自适应多比特率(MBR)内容、虚拟现实(VR)内容、增强现实(AR)内容、混合现实MR内容和联网数字录像机(nDVR)内容。
9. 一种媒体准备系统,包括:
一个或多个处理器(2402);和
一个或多个永久性存储器模块,其上存储有程序指令,所述程序指令在由所述一个或多个处理器执行时,与一个或多个模块相关联地执行以下动作:
接收媒体输入流;
生成所述媒体输入流的多个比特率表示,每个比特率表示具有与用于每个比特率表示的量化参数(QP)值相关的单独的视频质量;
将每个比特率表示编码成包括具有特定画面组(GOP)结构的多个帧的第一编码比特流,其中每个GOP以内部编码(I)帧开始,随后是包括至少一个预测编码(P)帧的一组帧;以及
将每个比特率表示编码成包括具有GOP结构的多个帧的第二编码比特流,所述GOP结构具有与所述第一编码比特流的GOP结构的大小共同扩展的大小,其中所述第二编码比特流的每个GOP以I帧开始,随后是多个X帧,每个X帧具有P帧的切片报头并且包括内部编码数据的块(I块)。
10. 如实施例9所述的媒体准备系统,其中,用于生成多个比特率表示的程序指令以及用于将每个比特率表示编码成所述第一编码比特流和所述第二编码比特流中的至少一个的程序指令是由编码器作为单个编码操作来执行的。
11. 如实施例10所述的媒体准备系统,其中,所述编码器基于以下中的至少一个可操作:高效视频编码(HEVC) H.265压缩、开放媒体联盟(AOMedia)视频1 (AV1)压缩和H.266/通用视频编码(VVC)压缩。
12. 如实施例10所述的媒体准备系统,其中,所述第一编码比特流和所述第二编码比特流的每个比特率表示被编码为相应的分片编码比特流,并且进一步地,其中所述分片编码比特流的每个帧包括被组织成每帧至少一个切片的分片阵列,每个分片包括被形成为多个编码树块(CTB)的所述帧的所述媒体数据的一部分。
13. 如实施例12所述的媒体准备系统,其中,所述媒体输入流包括360°沉浸式视频资产,所述程序指令还包括:用于生成描述每个分片编码比特流的每帧分片分组的特性的一个或多个清单文件的指令以及用于将所述相应的分片编码比特流提供给分片选择器的指令,所述相应的分片编码比特流对应于与所述媒体输入流的每个比特率表示相关联的所述第一编码比特流和所述第二编码比特流,所述分片选择器可操作以:响应于控制输入,从不同比特率表示的所述第一编码比特流和所述第二编码比特流中选择分片,以促进复用视频输出流的中间GOP切换,所述控制输入与以下中的至少一个相关:针对涉及所述360°沉浸式视频资产的多媒体会话可用于客户端装置的估计带宽量以及所述客户端装置的视口。
14. 如实施例13所述的媒体准备系统,其中,来自所述第二编码比特流的不同比特率表示的X帧中的分片被选择用于在中间GOP切换时组合成所述复用视频输出流的帧,从而促进:当与所述视口相关联的注视向量被改变时以最小的时延在所述视口内呈现较高质量的分片。
15. 如实施例14所述的媒体准备系统,其中,所述程序指令还包括:
用于确定满足以下条件中的至少一个的指令:(i)所述客户端装置的视口在预定时间量尚未改变;以及(ii)分配给所述客户端装置用于所述多媒体会话的带宽量已经保持在基本恒定的水平;以及
用于以下动作的指令:响应于所述确定,从所述第一编码比特流的不同比特率表示中选择分片以用于组合成所述复用视频输出流的连续帧。
16. 如实施例14所述的媒体准备系统,其中,所述360°沉浸式视频资产包括以下中的至少一个:直播TV内容、IPTV内容、时移(TS) TV内容、位移(PS) TV内容、游戏内容、视频点播(VOD)内容、自适应多比特率(MBR)内容、虚拟现实(VR)内容、增强现实(AR)内容、混合现实(MR)内容和联网数字录像机(nDVR)内容。
17. 一个或多个非暂时性有形计算机可读介质,其上包含所存储的指令,所述指令在由媒体准备系统的一个或多个处理器执行时,实现优化的媒体编码过程以便最小的时延来呈现360°沉浸式视频资产,所述一个或多个非暂时性计算机可读介质包括:
用于接收与360°沉浸式视频资产相关联的媒体输入流的代码部分;
用于生成所述媒体输入流的多个比特率表示的代码部分,每个比特率表示具有与用于每个比特率表示的对应量化参数(QP)值相关的单独的视频质量;
将每个比特率表示编码成包括具有特定画面组(GOP)结构的多个帧的第一编码比特流的代码部分,其中每个GOP以内部编码(I)帧开始,随后是包括至少一个预测编码(P)帧的一组帧;以及
用于将每个比特流表示编码成包括具有特定GOP结构的多个帧的第二编码比特流的代码部分,该特定GOP结构具有与所述第一编码比特流的GOP结构的大小共同扩展的大小,其中所述第二编码比特流的每个GOP以I帧开始,随后是多个X帧,每个X帧具有P帧的切片报头并且包括内部编码数据的块(I块)。
18. 如实施例17所述的非暂时性有形计算机可读介质,其中,用于生成多个比特率表示的所述代码部分以及用于将每个比特率表示编码成所述第一编码比特流和所述第二编码比特流中的至少一个的所述代码部分是由编码器作为单个编码操作来执行的。
19. 如实施例18所述的非暂时性有形计算机可读介质,其中,所述编码器基于以下中的至少一个可操作:高效视频编码(HEVC) H.265压缩、开放媒体联盟(AOMedia)视频1(AV1)压缩和H.266/通用视频编码(VVC)压缩。
20. 如实施例19所述的非暂时性有形计算机可读介质,其中,用于生成所述第一编码比特流和所述第二编码比特流的所述代码部分还包括:用于将所述第一编码比特流和所述第二编码比特流编码为相应的分片编码比特流的指令,并且进一步地,其中所述比特流的每个帧包括被组织成每帧至少一个切片的分片阵列,每个分片包括被形成为多个编码树块(CTB)的所述帧的所述媒体数据的一部分。
21. 如实施例20所述的非暂时性有形计算机可读介质,还包括:
用于生成描述每个分片编码比特流的每帧分片分组的特性的一个或多个清单文件的代码部分;以及
用于将所述相应的分片编码比特流提供给分片选择器的代码部分,所述相应的分片编码比特流对应于与所述媒体输入流的每个比特率表示相关联的所述第一编码比特流和所述第二编码比特流,所述分片选择器可操作以:响应于控制输入,从不同比特率表示的所述第一编码比特流和所述第二编码比特流中选择分片,以促进复用视频输出流的中间GOP切换,所述控制输入与以下中的至少一个相关:针对涉及所述360°沉浸式视频资产的多媒体会话可用于客户端装置的估计带宽量以及与所述客户端装置的视口相关联的注视向量。
22. 如实施例21所述的非暂时性有形计算机可读介质,其中,来自所述第二编码比特流的不同比特率表示的X帧中的分片被选择用于在中间GOP切换时组合成所述复用视频输出流的帧,从而促进:当与所述视口相关联的所述注视向量被改变时以最小的时延在所述视口内呈现较高质量的分片。
23. 如实施例21所述的非暂时性有形计算机可读介质,还包括:
确定满足以下条件中的至少一个的代码部分:(i)所述客户端装置的视口在预定时间量尚未改变;以及(ii)分配给所述客户端装置用于所述多媒体会话的带宽量已经保持在基本恒定的水平;以及
用于以下动作的代码部分:响应于所述确定,从所述第一编码比特流的不同比特率表示中选择分片以用于组合成所述复用视频输出流的连续帧。

Claims (23)

1.一种媒体准备方法,包括:
接收(702)媒体输入流(202);
生成(704)所述媒体输入流的多个比特率表示,每个比特率表示具有与用于每个比特率表示的量化参数QP值相关的单独的视频质量;
将每个比特率表示编码(706)成包括具有特定画面组GOP结构的多个帧的第一编码比特流,其中每个GOP以内部编码I帧开始,随后是包括至少一个预测编码P帧的一组帧;以及
将每个比特率表示编码(708)成包括具有GOP结构的多个帧的第二编码比特流,所述GOP结构具有与所述第一编码比特流的GOP结构的大小共同扩展的大小,其中所述第二编码比特流的每个GOP以I帧开始,随后是多个X帧,每个X帧具有P帧的切片报头并且包括仅内部编码数据的块I块。
2.如权利要求1所述的方法,其中,所述生成多个比特率表示以及将每个比特率表示编码成所述第一编码比特流和所述第二编码比特流中的至少一个是由编码器作为单个编码操作来执行的。
3. 如权利要求2所述的方法,其中,所述编码器基于以下中的至少一个可操作:高效视频编码HEVC H.265压缩、开放媒体联盟AOMedia视频1 AV1压缩和H.266/通用视频编码VVC压缩。
4.如权利要求2所述的方法,其中,所述第一编码比特流和所述第二编码比特流的每个比特率表示被编码为相应的分片编码比特流,并且进一步地,其中所述分片编码比特流的每个帧包括被组织成每帧至少一个切片的分片阵列,每个分片包括被形成为多个编码树单元CTU的所述帧的所述媒体数据的一部分。
5.如权利要求4所述的方法,其中,所述媒体输入流包括360°沉浸式视频资产,所述方法还包括:生成描述每个分片编码比特流的每帧分片分组的特性的一个或多个清单文件(126),以及将所述相应的分片编码比特流提供给分片选择器,所述相应的分片编码比特流对应于与所述媒体输入流的每个比特率表示相关联的所述第一编码比特流和所述第二编码比特流,所述分片选择器可操作以:响应于控制输入,从不同比特率表示的所述第一编码比特流和所述第二编码比特流中选择分片,以促进复用视频输出流的中间GOP切换,所述控制输入与以下中的至少一个相关:针对涉及所述360°沉浸式视频资产的多媒体会话可用于客户端装置的估计带宽量以及所述客户端装置的视口。
6.如权利要求5所述的方法,其中,来自所述第二编码比特流的不同比特率表示的X帧中的分片被选择用于在中间GOP切换时组合成所述复用视频输出流的帧,从而促进:当与所述视口相关联的注视向量被改变时以最小的时延在所述视口内呈现较高质量的分片。
7. 如权利要求6所述的方法,还包括:
确定满足以下条件中的至少一个:(i)所述客户端装置的视口在预定时间量尚未改变;以及(ii)分配给所述客户端装置用于所述多媒体会话的带宽量已经保持在基本恒定的水平;以及
响应于所述确定,从所述第一编码比特流的不同比特率表示中选择分片以用于组合成所述复用视频输出流的连续帧。
8. 如权利要求6所述的方法,其中,所述360°沉浸式视频资产包括以下中的至少一个:直播TV内容、IPTV内容、时移TS TV内容、位移PS TV内容、游戏内容、视频点播VOD内容、自适应多比特率MBR内容、虚拟现实VR内容、增强现实AR内容、混合现实MR内容和联网数字录像机nDVR内容。
9. 一种媒体准备系统,包括:
一个或多个处理器(2402);和
一个或多个永久性存储器模块,其上存储有程序指令,所述程序指令在由所述一个或多个处理器执行时,与一个或多个模块相关联地执行以下动作:
接收媒体输入流;
生成所述媒体输入流的多个比特率表示,每个比特率表示具有与用于每个比特率表示的量化参数QP值相关的单独的视频质量;
将每个比特率表示编码成包括具有特定画面组GOP结构的多个帧的第一编码比特流,其中每个GOP以内部编码I帧开始,随后是包括至少一个预测编码P帧的一组帧;以及
将每个比特率表示编码成包括具有GOP结构的多个帧的第二编码比特流,所述GOP结构具有与所述第一编码比特流的GOP结构的大小共同扩展的大小,其中所述第二编码比特流的每个GOP以I帧开始,随后是多个X帧,每个X帧具有P帧的切片报头并且包括内部编码数据的块I块。
10.如权利要求9所述的媒体准备系统,其中,用于生成多个比特率表示的程序指令以及用于将每个比特率表示编码成所述第一编码比特流和所述第二编码比特流中的至少一个的程序指令是由编码器作为单个编码操作来执行的。
11. 如权利要求10所述的媒体准备系统,其中,所述编码器基于以下中的至少一个可操作:高效视频编码HEVC H.265压缩、开放媒体联盟AOMedia视频1 AV1压缩和H.266/通用视频编码VVC压缩。
12.如权利要求10所述的媒体准备系统,其中,所述第一编码比特流和所述第二编码比特流的每个比特率表示被编码为相应的分片编码比特流,并且进一步地,其中所述分片编码比特流的每个帧包括被组织成每帧至少一个切片的分片阵列,每个分片包括被形成为多个编码树块CTB的所述帧的所述媒体数据的一部分。
13.如权利要求12所述的媒体准备系统,其中,所述媒体输入流包括360°沉浸式视频资产,所述程序指令还包括:用于生成描述每个分片编码比特流的每帧分片分组的特性的一个或多个清单文件的指令以及用于将所述相应的分片编码比特流提供给分片选择器的指令,所述相应的分片编码比特流对应于与所述媒体输入流的每个比特率表示相关联的所述第一编码比特流和所述第二编码比特流,所述分片选择器可操作以:响应于控制输入,从不同比特率表示的所述第一编码比特流和所述第二编码比特流中选择分片,以促进复用视频输出流的中间GOP切换,所述控制输入与以下中的至少一个相关:针对涉及所述360°沉浸式视频资产的多媒体会话可用于客户端装置的估计带宽量以及所述客户端装置的视口。
14.如权利要求13所述的媒体准备系统,其中,来自所述第二编码比特流的不同比特率表示的X帧中的分片被选择用于在中间GOP切换时组合成所述复用视频输出流的帧,从而促进:当与所述视口相关联的注视向量被改变时以最小的时延在所述视口内呈现较高质量的分片。
15. 如权利要求14所述的媒体准备系统,其中,所述程序指令还包括:
用于确定满足以下条件中的至少一个的指令:(i)所述客户端装置的视口在预定时间量尚未改变;以及(ii)分配给所述客户端装置用于所述多媒体会话的带宽量已经保持在基本恒定的水平;以及
用于以下动作的指令:响应于所述确定,从所述第一编码比特流的不同比特率表示中选择分片以用于组合成所述复用视频输出流的连续帧。
16. 如权利要求14所述的媒体准备系统,其中,所述360°沉浸式视频资产包括以下中的至少一个:直播TV内容、IPTV内容、时移TS TV内容、位移PS TV内容、游戏内容、视频点播VOD内容、自适应多比特率MBR内容、虚拟现实VR内容、增强现实AR内容、混合现实MR内容和联网数字录像机nDVR内容。
17.一个或多个非暂时性有形计算机可读介质,其上包含所存储的指令,所述指令在由媒体准备系统的一个或多个处理器执行时,实现优化的媒体编码过程以便最小的时延来呈现360°沉浸式视频资产,所述一个或多个非暂时性计算机可读介质包括:
用于接收与360°沉浸式视频资产相关联的媒体输入流的代码部分;
用于生成所述媒体输入流的多个比特率表示的代码部分,每个比特率表示具有与用于每个比特率表示的对应量化参数QP值相关的单独的视频质量;
将每个比特率表示编码成包括具有特定画面组GOP结构的多个帧的第一编码比特流的代码部分,其中每个GOP以内部编码I帧开始,随后是包括至少一个预测编码P帧的一组帧;以及
用于将每个比特流表示编码成包括具有特定GOP结构的多个帧的第二编码比特流的代码部分,该特定GOP结构具有与所述第一编码比特流的GOP结构的大小共同扩展的大小,其中所述第二编码比特流的每个GOP以I帧开始,随后是多个X帧,每个X帧具有P帧的切片报头并且包括内部编码数据的块I块。
18.如权利要求17所述的非暂时性有形计算机可读介质,其中,用于生成多个比特率表示的所述代码部分以及用于将每个比特率表示编码成所述第一编码比特流和所述第二编码比特流中的至少一个的所述代码部分是由编码器作为单个编码操作来执行的。
19. 如权利要求18所述的非暂时性有形计算机可读介质,其中,所述编码器基于以下中的至少一个可操作:高效视频编码HEVC H.265压缩、开放媒体联盟AOMedia视频1 AV1压缩和H.266/通用视频编码VVC压缩。
20.如权利要求19所述的非暂时性有形计算机可读介质,其中,用于生成所述第一编码比特流和所述第二编码比特流的所述代码部分还包括:用于将所述第一编码比特流和所述第二编码比特流编码为相应的分片编码比特流的指令,并且进一步地,其中所述比特流的每个帧包括被组织成每帧至少一个切片的分片阵列,每个分片包括被形成为多个编码树块CTB的所述帧的所述媒体数据的一部分。
21. 如权利要求20所述的非暂时性有形计算机可读介质,还包括:
用于生成描述每个分片编码比特流的每帧分片分组的特性的一个或多个清单文件的代码部分;以及
用于将所述相应的分片编码比特流提供给分片选择器的代码部分,所述相应的分片编码比特流对应于与所述媒体输入流的每个比特率表示相关联的所述第一编码比特流和所述第二编码比特流,所述分片选择器可操作以:响应于控制输入,从不同比特率表示的所述第一编码比特流和所述第二编码比特流中选择分片,以促进复用视频输出流的中间GOP切换,所述控制输入与以下中的至少一个相关:针对涉及所述360°沉浸式视频资产的多媒体会话可用于客户端装置的估计带宽量以及与所述客户端装置的视口相关联的注视向量。
22.如权利要求21所述的非暂时性有形计算机可读介质,其中,来自所述第二编码比特流的不同比特率表示的X帧中的分片被选择用于在中间GOP切换时组合成所述复用视频输出流的帧,从而促进:当与所述视口相关联的所述注视向量被改变时以最小的时延在所述视口内呈现较高质量的分片。
23. 如权利要求21所述的非暂时性有形计算机可读介质,还包括:
确定满足以下条件中的至少一个的代码部分:(i)所述客户端装置的视口在预定时间量尚未改变;以及(ii)分配给所述客户端装置用于所述多媒体会话的带宽量已经保持在基本恒定的水平;以及
用于以下动作的代码部分:响应于所述确定,从所述第一编码比特流的不同比特率表示中选择分片以用于组合成所述复用视频输出流的连续帧。
CN201980053687.6A 2018-06-14 2019-06-13 用于编码360度沉浸式视频的系统和方法 Active CN112567742B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/009031 2018-06-14
US16/009,031 US10432970B1 (en) 2018-06-14 2018-06-14 System and method for encoding 360° immersive video
PCT/EP2019/065422 WO2019238796A1 (en) 2018-06-14 2019-06-13 System and method for encoding 360-degree immersive video

Publications (2)

Publication Number Publication Date
CN112567742A true CN112567742A (zh) 2021-03-26
CN112567742B CN112567742B (zh) 2024-06-07

Family

ID=

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023051106A1 (en) * 2021-09-30 2023-04-06 Mediatek Singapore Pte. Ltd. Method and apparatus for code block groups and slices mapping in mobile communications

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104641638A (zh) * 2012-06-28 2015-05-20 阿克西斯股份公司 使用虚拟帧内帧对视频内容进行编码的系统和方法
US20160234536A1 (en) * 2015-02-10 2016-08-11 Qualcomm Incorporated Low latency video streaming
WO2017029637A1 (en) * 2015-08-19 2017-02-23 Ericsson Ab System and method for managing segment delivery and bandwidth responsive to encoding complexity metrics
CN106537923A (zh) * 2014-09-08 2017-03-22 苹果公司 自适应视频流的技术
CN107534780A (zh) * 2015-02-25 2018-01-02 瑞典爱立信有限公司 视频中的帧间画面的编码和解码

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104641638A (zh) * 2012-06-28 2015-05-20 阿克西斯股份公司 使用虚拟帧内帧对视频内容进行编码的系统和方法
CN106537923A (zh) * 2014-09-08 2017-03-22 苹果公司 自适应视频流的技术
US20160234536A1 (en) * 2015-02-10 2016-08-11 Qualcomm Incorporated Low latency video streaming
CN107534780A (zh) * 2015-02-25 2018-01-02 瑞典爱立信有限公司 视频中的帧间画面的编码和解码
WO2017029637A1 (en) * 2015-08-19 2017-02-23 Ericsson Ab System and method for managing segment delivery and bandwidth responsive to encoding complexity metrics

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023051106A1 (en) * 2021-09-30 2023-04-06 Mediatek Singapore Pte. Ltd. Method and apparatus for code block groups and slices mapping in mobile communications

Also Published As

Publication number Publication date
WO2019238796A1 (en) 2019-12-19
EP3808082A1 (en) 2021-04-21
US10432970B1 (en) 2019-10-01
MX2020013419A (es) 2021-03-09

Similar Documents

Publication Publication Date Title
CN112292864B (zh) 用于提供360度沉浸式视频的图块选择和带宽优化
US11758103B2 (en) Video client optimization during pause
US11758105B2 (en) Immersive video system and method based on gaze vector information
US10432970B1 (en) System and method for encoding 360° immersive video
CN112740711A (zh) 用于配置为支持多个360度视频会话的网络中的带宽优化的系统和方法
CN112740710A (zh) 用于在360度沉浸式视频中插入广告内容的系统和方法
CN112789854B (zh) 用于在暂停期间在360º沉浸式视频中提供质量控制的系统和方法
US10567780B2 (en) System and method for encoding 360° immersive video
WO2020022943A1 (en) Bookmarking system and method in 360-degree immersive video based on gaze vector information
CN112567742B (zh) 用于编码360度沉浸式视频的系统和方法
Phillips et al. System and method for encoding 360 immersive video

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