CN110036640B - 用于支持视频比特流切换的系统和方法 - Google Patents

用于支持视频比特流切换的系统和方法 Download PDF

Info

Publication number
CN110036640B
CN110036640B CN201680090976.XA CN201680090976A CN110036640B CN 110036640 B CN110036640 B CN 110036640B CN 201680090976 A CN201680090976 A CN 201680090976A CN 110036640 B CN110036640 B CN 110036640B
Authority
CN
China
Prior art keywords
image frame
sequence
particular portion
image
prediction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201680090976.XA
Other languages
English (en)
Other versions
CN110036640A (zh
Inventor
郑萧桢
赵文军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SZ DJI Technology Co Ltd
Original Assignee
SZ DJI Technology Co Ltd
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 SZ DJI Technology Co Ltd filed Critical SZ DJI Technology Co Ltd
Publication of CN110036640A publication Critical patent/CN110036640A/zh
Application granted granted Critical
Publication of CN110036640B publication Critical patent/CN110036640B/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/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • 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/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/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/176Methods 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 block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/36Scalability techniques involving formatting the layers as a function of picture distortion after decoding, e.g. signal-to-noise [SNR] scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

系统和方法可以对视频(例如全景或宽视图视频)进行流传输。流控制器或解码器可以基于划分方案将图像帧序列中的第一图像帧划分为多个部分,并确定第一图像帧中的每个部分的编码质量。此外,流控制器或解码器可以针对第一图像帧的每个部分获取具有所确定的编码质量的编码数据,并且根据预定顺序将第一图像帧的多个部分的编码数据合并到比特流中。

Description

用于支持视频比特流切换的系统和方法
技术领域
所公开的实施例一般涉及视频处理,更具体地但非排他地涉及视频流传输、编码和解码。
背景技术
近年来视频内容的消费量激增,这主要是由于各种类型的便携式、手持式或可穿戴设备的普及。例如,虚拟现实(VR)或增强现实(AR)能力可以集成到不同的头戴式设备(HMD)中。随着视频内容的形式变得更加复杂,视频内容的存储和传输变得越来越具有挑战性。例如,需要减少用于视频存储和传输的带宽。这是本发明的实施例旨在针对的一般领域。
发明内容
本文描述的是可以对视频(例如全景或宽视图视频)进行流传输的系统和方法。流控制器或解码器可以基于划分方案将图像帧序列中的第一图像帧划分为多个部分,并确定第一图像帧中的每个部分的编码质量。此外,流控制器或解码器可以针对第一图像帧中的每个部分获取具有所确定的编码质量的编码数据,并且根据预定顺序将第一图像帧的多个部分的编码数据合并到比特流中。
本文还描述了可以对视频(例如全景或宽视图视频)进行编码的系统和方法。编码器可以根据划分方案将图像帧序列中的每个图像帧划分为多个部分;基于图像帧序列中的第二图像帧的特定部分,对图像帧序列中的第一图像帧的所述特定部分执行编码预测;基于所述编码预测对第一图像帧的所述特定部分进行编码;将所述第一图像帧的所述特定部分的编码数据合并到图像帧序列的比特流中;以及将指示符与比特流相关联,其中所述指示符指示了图像帧序列中的每个图像帧的所述特定部分的编码预测依赖度被约束在所述特定部分内。
本文还描述了可以对视频(例如全景或宽视图视频)进行解码的系统和方法。解码器可以获取图像帧序列的比特流,其中每个所述图像帧根据划分方案被划分为多个部分;获取指示符,所述指示符指示了图像帧序列中的每个图像帧的特定部分的解码预测依赖度被约束在所述特定部分内;基于图像帧序列中的第二图像帧的所述特定部分,对图像帧序列中的第一图像帧的所述特定部分执行解码预测;以及基于所述解码预测对第一图像帧的所述特定部分进行解码。
附图说明
图1示出了根据本发明的各种实施例的对弯曲视图视频的编码/压缩。
图2示出了根据本发明的各种实施例的可以将三维球形视图映射到二维平面的示例性等距矩形投影。
图3示出了根据本发明的各种实施例的将三维球形视图映射到二维布局的示例性立方体面投影。
图4示出了根据本发明的各种实施例的弯曲视图到二维(2D)图像的映射。
图5示出了根据本发明的各种实施例的示例性视频流传输环境。
图6示出了根据本发明的各种实施例的基于拼块的示例性图像划分方案。
图7示出了根据本发明的各种实施例的对图像帧序列进行编码以支持视频流传输。
图8示出了根据本发明的各种实施例的使用拼块在视频流传输中支持比特流切换。
图9示出了根据本发明的各种实施例的使用拼块在视频流传输中进行比特流切换。
图10示出了根据本发明的各种实施例的基于切片的示例性图像划分方案。
图11示出了根据本发明的各种实施例的对图像帧序列进行编码以支持视频流传输。
图12示出了根据本发明的各种实施例的使用切片在视频流传输中支持比特流切换。
图13示出了根据本发明的各种实施例的使用切片在视频流传输中进行比特流切换。
图14示出了根据本发明的各种实施例的支持缩放以在视频流中进行比特流切换。
图15示出了根据本发明的各种实施例的用于在视频流传输中支持比特流切换的流程图。
图16示出了根据本发明的各种实施例的对拼块进行编码以在视频流传输中支持比特流切换。
图17示出了根据本发明的各种实施例的在没有帧间预测依赖度约束的情况下的基于拼块的编码。
图18示出了根据本发明的各种实施例的在具有帧间预测依赖度约束的情况下的基于拼块的编码。
图19示出了根据本发明的各种实施例的对切片进行编码以在视频流传输中支持比特流切换。
图20示出了根据本发明的各种实施例的在没有帧间预测依赖度约束的情况下的基于切片的编码。
图21示出了根据本发明的各种实施例的在具有帧间预测依赖度约束的情况下的基于切片的编码。
图22示出了根据本发明的各种实施例的用于视频编码以在视频流传输中进行比特流切换的流程图。
图23示出了根据本发明的各种实施例的对拼块进行解码以在视频流传输中支持比特流切换。
图24示出了根据本发明的各种实施例的在具有帧间预测依赖度约束的情况下的基于拼块的解码。
图25示出了根据本发明的各种实施例的对切片进行解码以在视频流传输中支持比特流切换。
图26示出了根据本发明的各种实施例的在具有帧间预测依赖度约束的情况下的基于切片的解码。
图27示出了根据本发明的各种实施例的用于视频解码以在视频流传输中进行比特流切换的流程图。
图28示出了根据本公开各种实施例的可移动平台环境。
具体实施方式
作为示例而非限制,在附图的各图中示出了本发明,其中相似的附图标记指示相似的元素。应当注意到:在本公开中针对“实施例”或“一个实施例”或“一些实施例”的引用不一定指的是相同实施例,且这种引用意味着至少一个实施例。
根据本发明的各种实施例,系统和方法可以对视频(例如全景或宽视图视频)进行流传输。流控制器或解码器可以基于划分方案将图像帧序列中的第一图像帧划分为多个部分,并确定第一图像帧中的每个部分的编码质量。此外,流控制器或解码器可以针对第一图像帧的每个部分获取具有所确定的编码质量的编码数据,并且根据预定顺序将第一图像帧的多个部分的编码数据合并到比特流中。
根据本发明的各种实施例,系统和方法可以对视频(例如全景或宽视图视频)进行编码。编码器可以根据划分方案将图像帧序列中的每个图像帧划分为多个部分;基于图像帧序列中的第二图像帧的特定部分,对图像帧序列中的第一图像帧的所述特定部分执行编码预测;基于所述编码预测对第一图像帧的所述特定部分进行编码;将第一图像帧的所述特定部分的编码数据合并到图像帧序列的比特流中;以及将指示符与比特流相关联,其中所述指示符指示了图像帧序列中的每个图像帧的所述特定部分的编码预测依赖度被约束在所述特定部分内。
根据本发明的各种实施例,系统和方法可以对视频(例如全景或宽视图视频)进行解码。解码器可以获取图像帧序列的比特流,其中每个所述图像帧根据划分方案被划分为多个部分;获取指示符,所述指示符指示了图像帧序列中的每个图像帧的特定部分的解码预测依赖度被约束在所述特定部分内;基于图像帧序列中的第二图像帧的所述特定部分,对图像帧序列中的第一图像帧的所述特定部分执行解码预测;以及基于所述解码预测对第一图像帧的所述特定部分进行解码。
图1示出了根据本发明的各种实施例的对弯曲视图视频的编码/压缩。如图1所示,全景或宽视图视频(例如,弯曲视图视频)的编码/压缩可涉及多个步骤,例如映射101、预测102、变换103、量化104和熵编码105。
根据各种实施例,在映射步骤101,系统可以在二维(2D)平面上投影视频序列中的三维(3D)弯曲视图,以便利用各种视频编码/压缩技术。系统可以使用二维矩形图像格式来存储和发送弯曲视图视频(例如,球形视图视频)。而且,系统可以使用二维矩形图像格式来支持数字图像处理和执行编解码操作。
可以采用不同的方法将弯曲视图(例如球形视图)映射到矩形图像。例如,可以基于等距矩形投影将球形视图映射到矩形图像。在一些实施例中,等距矩形投影可以将经线映射到恒定间隔的竖直直线,并且可以将纬度圈映射到恒定间隔的水平直线。备选地,可以基于立方体面投影将球形视图映射到矩形图像。立方体面投影可以基于其外接立方体来近似3D球面。3D球面在立方体的六个面上的投影可以使用不同的立方体面布局来布置为2D图像,立方体面布局定义了立方体面布置,诸如每个单个投影的相对位置和取向。除了如上所述的等距矩形投影和立方体面投影之外,可以利用其他投影机制将3D弯曲视图映射到2D视频。可以基于一些常用的视频编解码标准(例如HEVC/H.265、H.264/AVC、AVS1-P2、AVS2-P2、VP8、VP9)来对2D视频进行压缩、编码和解码。
根据各种实施例,预测步骤102可用于减少图像中的冗余信息。预测步骤102可以包括帧内预测和帧间预测。帧内预测可以仅基于当前帧内包含的信息来执行,而与视频序列中的其他帧无关。帧间预测可以通过基于参考帧(例如,先前处理的帧)消除当前帧中的冗余来执行。
例如,为了执行用于帧间预测的运动估计,可以将帧划分分为多个图像块。每个图像块可以与参考帧中的块匹配(例如,基于块匹配算法)。在一些实施例中,可以计算运动矢量,该运动矢量表示从当前帧中的图像块的坐标到参考帧中的匹配图像块的坐标的偏移。此外,可以计算残差并对其进行分组,所述残差即当前帧中的每个图像块与参考帧中的匹配块之间的差。
此外,通过应用变换步骤103可以消除帧的冗余。在变换步骤103中,系统可以处理残差以提高编码效率。例如,可以通过对分组的残差应用变换矩阵及其转置矩阵来生成变换系数。随后,可以在量化步骤104中量化变换系数,并且在熵编码步骤105中对变换系数进行编码。然后,可以存储包括从熵编码步骤105生成的信息以及其他编码信息(例如,帧内预测模式、运动矢量)在内的比特流并将其发送给解码器。
在接收端,解码器可以对接收的比特流执行逆处理(例如,熵解码、去量化和逆变换)以获取残差。因此,可以基于残差和其他接收的解码信息来解码图像帧。然后,解码后的图像可用于显示弯曲视图视频。
图2示出了根据本发明的各种实施例的可以将三维球形视图映射到二维平面的示例性等距矩形投影200。如图2所示,使用等距矩形投影,球形视图201可以被映射到二维矩形图像202。另一方面,二维矩形图像202可以以逆向的方式映射回球形视图201。
在一些实施例中,可以基于以下等式来定义映射。
Figure BDA0002065449890000061
Figure BDA0002065449890000062
其中x表示2D平面坐标系中的水平坐标,y表示2D平面坐标系202中的竖直坐标。λ表示球体201距中心经线的经度,而
Figure BDA0002065449890000063
表示球体距标准平行线的纬度。/>
Figure BDA0002065449890000064
表示投影的缩放比例为真的标准平行线。在一些实施例中,/>
Figure BDA0002065449890000065
可以被设置为0,并且坐标系202的点(0,0)可以位于中心。
图3示出了根据本发明的各种实施例的将三维球形视图映射到二维布局的示例性立方体面投影。如图3所示,使用立方体面投影,球形视图301可以被映射到二维布局302。另一方面,二维布局302可以以逆向的方式映射回球形视图301。
根据各种实施例,球形表面301的立方体面投影可以基于立方体310,例如球体301的外接立方体。为了确定映射关系,可以从球体的中心执行射线投射,以分别在球面和立方体面上获取多对交叉点。
如图3所示,用于存储和发送球形视图的图像帧可以包括立方体310的六个立方体面,例如,顶部立方体面、底部立方体面、左立方体面、右立方体面、前立方体面和后立方体面。这六个立方体面可以展开(或投影)到2D平面上。
应当注意,基于立方体面投影的诸如球形视图或椭圆体视图之类的弯曲视图的投影是为了说明的目的而提供的,并且不旨在限制本公开的范围。本领域普通技术人员可以在本公开的教导下进行各种修改和变化。关于本公开的投影的投影格式的示例性实施例可以包括八面体、十二面体、二十面体或任何多面体。例如,可以针对基于八面体的近似而生成八个面上的投影,并且可以将这八个面上的投影展开和/或投影到2D平面上。在另一个示例中,可以针对基于十二面体的近似而生成十二个面上的投影,并且可以将这十二个面上的投影展开和/或投影到2D平面上。在又一个示例中,可以针对基于二十面体的近似而生成二十个面上的投影,并且可以将这二十个面上的投影展开和/或投影到2D平面上。在又一个示例中,可以针对椭圆体视图的近似而生成椭圆体视图在多面体的各个面上的投影,并且可以将这20个面上的投影展开和/或投影到2D平面上。
还应该注意的是,对于图3所示的立方体面布局,可以使用其相对位置来描绘不同的立方体面,例如顶部立方体面、底部立方体面、左立方体面、右立方体面、前立方体面和后立方体面。提供这样的描绘仅是为了说明的目的,而不是意图限制本公开的范围。本领域普通技术人员可以在本公开的教导下进行各种修改和变化。
根据各种实施例,取决于每个立方体面的取向或相对位置,可以使用不同的连续性关系来表示各种立方体面之间的连续关系。
图4示出了根据本发明的各种实施例弯曲视图到二维(2D)图像的映射。如图4所示,映射401可用于将弯曲视图403与2D图像404相对应。2D图像404可以包括一组图像区域411-412,每个图像区域包含投影在多面体(例如立方体)的面上的弯曲视图403的一部分。
根据各种实施例,可以通过将所述弯曲视图的所述至少一部分投影到多面体上的多个面来获取该组图像区域。例如,球形视图403可以从球形表面或球形表面的一部分投影到一组立方体面。以类似的方式,弯曲视图可以从椭圆体表面或椭圆体表面的一部分投影到一组矩形立方体表面。
此外,弯曲视图(例如,球形视图403)可以基于不同的布局被映射到二维矩形图像404中。如图4所示,该组图像区域411-412可以基于布局402布置在2-D图像404中,布局402定义图像区域411-412在2-D图像中的相对位置信息,例如位置和取向。
如图4所示,球形视图403在每个方向上是连续的。根据各种实施例,可以通过将弯曲视图403的至少一部分投影到多面体上的多个面来获取一组图像区域411-412。可以使用与特定映射401和布局402相关的连续性关系来表示连续关系。由于几何限制,二维图像404可能无法完全保持球形视图403中的连续性。
根据各种实施例,系统可以采用填充方案来提供或保持该组图像区域411-412之间的连续性,以便提高编码/解码球形视图视频的效率。
根据各种实施例,各种映射机制可用于将弯曲视图(例如,球形视图403)映射到二维平面视图(即,弯曲视图视频可以被映射到二维平面视频)。球形视频或部分球形视频可以由多个相机或诸如鱼眼相机之类的宽视图相机捕捉。二维平面视频可以通过球面映射获取,并且也可以通过部分球面映射获取。可以应用映射方法来提供360度全景视频、180度全景视频或具有宽视场(FOV)的视频的表示。此外,通过映射方法获取的二维平面视频可以通过使用各种视频编解码标准(例如,HEVC/H.265、H.264/AVC、AVS1-P2、AVS2-P2、VP8和VP9)进行编码和压缩。
根据各种实施例,诸如360度全景视频或具有较大视场(FOV)的视频之类的全景或宽视图视频可包含大量数据。而且,这种视频可能需要以高编码质量进行编码,并且可能需要以高分辨率呈现。因此,即使在映射和压缩之后(例如,使用各种视频编解码方法),压缩数据的大小仍可能是大的。结果,在当前网络传输条件下,全景或宽视图视频的传输仍然是一项具有挑战性的任务。
根据各种实施例,可以使用各种方法来对全景或宽视图视频进行编码和压缩。例如,可以使用基于视口(viewport)的方法,以减少网络带宽的消耗,同时确保用户以令人满意的主观感受观看全景或宽视图视频。这里,全景或宽视图视频可以覆盖比人类视线更宽的视图,并且视口可以表示人类视线中的主要观察点,其中需要更多关注。另一方面,视口外部的区域可能仅通过边缘视线才能观察到或者不能被人观察到,可以需要较少的关注。
图5示出了根据本发明的各种实施例的示例性视频流传输环境。如图5所示,视频501(例如,全景视频或具有大视场(FOV)的宽视图视频,其可包括图像帧(或图片)序列)可在视频流环境500中从流服务器501流传输到用户设备(UE)502。
在服务器侧,编码器508可以对视频520中的图像帧序列进行编码,并将编码数据合并到存储在存储设备503中的各种比特流504中。
根据各种实施例,流控制器505可以负责控制视频510到用户设备(UE)502的流传输。在一些实例中,流控制器505可以是编码器或编码器的组件。在一些实例中,流控制器505可以包括编码器或编码器的功能。例如,流控制器505可以从用户设备(UE)502接收用户信息512,例如,视口信息。然后,流控制器505可以基于存储设备503中存储的比特流504生成对应的比特流511,并且将生成的比特流511发送给用户设备(UE)502。
在用户设备(UE)侧,解码器506可以获取包含视频510中的图像帧序列的二进制数据在内的比特流511。然后,解码器506可以相应地解码二进制数据,然后将解码后的信息提供给显示器506以供用户观看。另一方面,用户设备(UE)502或用户设备(UE)502的组件(例如,显示器506)可以获取更新的用户信息,例如,更新的视口信息(例如,当用户的视线移动时),并将这样更新的用户信息提供回流服务器501。因此,流控制器505可以重新配置比特流511以便传输到用户设备(UE)502。
根据各种实施例,可以使用不同类型的划分(partition)方案来将视频510中的每个图像帧划分为多个部分。例如,划分方案可以基于拼块(tile)或切片(slice),或者在视频编码和解码中有益的任何其他几何分界。在各种实例中,视频510中的每个图像帧可以被划分为相同数量的部分。而且,不同图像帧中的每个对应部分可以处于相同或基本相似的相对位置,并且具有相同或基本相似的几何大小(即,视频510中的每个图像帧可以以相同或基本相似的方式划分)。
根据各种实施例,对图像帧进行划分的多个部分中的每一个可以被配置有多个级别的质量。例如,在服务器侧,对图像帧进行划分的多个部分中的每一个可以被配置有多个级别的编码质量。在用户设备(UE)侧,对图像帧进行划分的多个部分中的每一个可以被配置有多个级别的解码质量。
根据各种实施例,可以基于用户偏好(诸如感兴趣区域(ROI)信息)来确定视频510中的图像帧中的每个部分的编码质量。备选地或附加地,可以基于针对第一图像帧的视口信息来确定图像帧中的每个部分的编码质量,该视口信息可以指示针对图像帧的视口的位置。这里,与图像帧中的位于视口之外的另一部分的编码质量相比,图像帧中的与视口相对应的部分可以被配置为具有更高级别的编码质量。
如图5所示,在服务器侧,针对视频510中的图像帧序列的多个比特流504可以存储在存储设备503中。在一些实例中,每个存储的比特流可以包含具有特定编码质量的编码数据,以用于图像帧序列中的特定部分。
根据各种实施例,编码器508可以利用如图1所示的编码过程。例如,通过共享诸如预测步骤和变换步骤之类的各种编码步骤,编码器508可以准备使用不同的编码质量对视频510中的图像帧序列进行编码。在量化步骤,编码器508可以对图像帧序列应用不同的量化参数,同时共享预测和变换结果。因此,编码器508可以获取图像帧序列的具有不同编码质量的多个比特流。
图6示出了根据本发明的各种实施例的基于拼块的示例性图像划分方案600。如图6(a)和图6(b)所示,可以使用多个拼块来对视频中的图像帧(或图片)进行划分。
根据各种实施例,可以使用作为图像帧中的矩形区域的拼块来进行编码。例如,在各种视频编解码标准中,图像帧可以水平和竖直地划分为拼块。在诸如HEVC/H.265之类的一些视频编码标准中,可以要求同一行中的拼块的高度是均匀的,并且可以不要求图像帧中的拼块的宽度是均匀的。不能交叉引用和预测相同图像帧中的不同拼块中的数据(尽管可以跨越同一图像中的不同拼块的边界执行滤波操作)。滤波操作可以包括去块、采样自适应偏移(SAO)、自适应环路滤波器(ALF)等。
在如图6(a)所示的示例中,图像可以被划分为九个部分(或区域)。每个部分都可以用不同的质量编码。在各种实例中,可以定量或定性地定义编码质量。例如,编码质量可以被定义为“高”、“中”或“低”之一(每个都可以与定量度量相关联)。备选地或附加地,编码质量可以由数字、字符、字母数字串或任何其他合适的表示方式来表示。在各种实例中,编码质量可以指各种编码客观度量、主观度量和不同的采样比(或分辨率)。
如图6(a)所示,拼块5(即,区域(1,1))被视口覆盖。因此,可以为拼块5分配“高”质量。此外,拼块2、4、6和8(即,区域(0,1)、(1,0)、(2,1)和(1,2))与对应于视口的区域(1,1)相邻。因此,这些区域可以用“中”质量编码,因为即使这些区域不是焦点,这些区域也在人眼的视线中(即,在边缘视线范围内)。此外,拼块1、3、7和9(即,区域(0,0)、(0,2)、(2,0)和(2,2))更加远离视口,并且可能不被人眼观察到。因此,这些区域可以用“低”质量编码。
备选地,在如图6(b)所示的示例中,可以将图像划分为两个部分或区域。每个部分可以用不同的质量编码,并且编码质量可以定义为“高”、“中”或“低”之一。如图6(b)所示,视口覆盖了B部分(例如,拼块)。因此,可以为部分B分配“高”质量。此外,围绕部分B的部分A可以被分配“低”或“中”质量。
图7示出了根据本发明的各种实施例的对图像帧序列进行编码以支持视频流传输。如图7所示,图像序列701可以被编码并作为比特流702存储在服务器700中。这里,每个比特流在服务器侧可以针对单个部分被提供有特定质量。例如,存储的比特流711对应于针对图像序列中的部分1具有质量A(例如“高”)的编码数据。
如图7所示,图像序列701(即,视频)中的图像帧可以被划分为九个部分,而每个部分可以用三种质量(例如,A用于“高”,B用于“中”或C用于“低”)编码。例如,编码可以基于各种视频编解码标准,例如H.264/AVC、H.265/HEVC、AVS1-P2、AVS1-P2等。
根据各种实施例,每个比特流能够被独立解码。例如,每个比特流可以包含独立的视频参数集(VPS)信息、独立的序列头部信息、独立的序列参数集(SPS)信息、独立的图片头部信息或单独的图片参数集(PPS)参数。
图8示出了根据本发明的各种实施例的使用拼块在视频流传输中支持比特流切换。如图8所示,使用基于拼块的划分方案802,图像帧序列801中的图像帧811可以被划分为多个拼块(例如,拼块1-9)。此外,流控制器可以确定图像帧811中的每个拼块的编码质量803。另外,流控制器可以从服务器中存储的比特流中获取针对图像帧811的每个拼块的具有所确定的编码质量的编码数据804。然后,流控制器可以根据预定顺序将针对第一图像帧的多个部分(例如,拼块)的编码数据804合并(例如,封装)在比特流805中以用于传输。在一些实例中,可以基于图像帧序列中的每个特定部分(例如,拼块)的相对位置来配置预定顺序。
根据各种实施例,流控制器可以根据用户设备(UE)的视口,针对需要发送的图像帧中的每个部分(例如,拼块),从存储的比特流中动态地选择编码数据。
参考图9(a),在时间点T(N),拼块5对应于视口821。因此,可以为拼块5分配“高”质量(H)。此外,可以为拼块2、4、6和8中的每一个分配“中”质量(M),并且可以为拼块1、3、7和9中的每一个分配“低”质量(L)。
在确定与图像帧811中的每个拼块相对应的编码质量之后,流控制器可以从服务器中的对应存储的比特流获取针对图像帧811中的每个拼块的具有期望质量的编码数据。例如,在如图9(a)所示的示例中,流控制器可以从高质量比特流(例如,图7的710)获取针对拼块5的编码数据。此外,流控制器可以从中等质量比特流(例如,图7的720)获取针对拼块2、4、6和8的编码数据,并且流控制器可以从低质量比特流(例如,图7的730)获取针对拼块1、3、7和9的编码数据。
然后,流控制器可以将获取的针对不同拼块的编码数据封装到比特流805中以用于传输。在各种实例中,可以根据预定顺序来封装针对每个拼块的编码数据。例如,可以基于光栅扫描顺序来配置预定顺序,该光栅扫描顺序是指图像帧中从左到右和从顶部到底部的顺序。
根据各种实施例,基于视口的视频流方法可以在考虑到观看中的主观体验的同时有效地减少针对全景或宽视图视频发送的数据。另一方面,当视口改变时,即,当人类视线移动时,对应于视口的图像部分也可以改变。
根据各种实施例,流控制器可以针对每个划分部分在不同质量的比特流之间动态地切换,所述每个划分部分用于生成比特流805以在视频流中传输。例如,流控制器可以在稍后的时间点接收针对第二图像帧的视口信息。这里,针对第二图像帧的视口信息可以指示针对第二图像帧的视口的位置。在图像帧序列中,第二图像帧跟随或追随在第一图像帧后面,并且针对第一图像帧的视口的位置可以与针对第二图像帧的视口的位置不同。
参考图9(b),在时间点T(M),视口822可以移位到拼块2。流控制器可以调整针对图像帧中每个拼块的编码质量。如图9(b)所示,拼块2被分配“高”质量(H)。此外,可以为拼块1、3和5分配“中”质量(M),并且可以为拼块4、6、7、8和9分配“低”质量(L)。.
因此,流控制器可以在时间点T(M)时或之后执行比特流切换。在确定针对图像帧中的每个拼块的编码质量之后,流控制器可以从服务器中的对应存储的比特流获取针对图像帧中的每个拼块的具有期望质量的编码数据。在如图9(b)所示的示例中,流控制器可以从高质量比特流(例如,图7的710)获取针对拼块2的编码数据。另外,流控制器可以从中等质量比特流(例如,图7的720)获取针对拼块1、3和5的编码数据,并且流控制器可以从低质量比特流(例如,图7的730)获取针对拼块4、6、7、8和9的编码数据。
在各种实例中,可以在随机接入点处执行比特流切换。例如,随机接入点可以是瞬时解码刷新(IDR)图片、干净随机接入(CRA)图片、序列头部、序列头部+1帧等。
如图9(b)所示,在时间点T(M)处视口位置改变之后,流控制器可以在时间点T(M)之后的第一随机接入点处执行比特流切换。例如,如果第二图像帧处于用于对比特流中的编码数据进行解码的随机接入点处,则流控制器可以基于所接收的针对第二图像帧的视口信息来确定第二图像帧中的每个部分的编码质量。否则,如果第二图像帧不处于用于对比特流中的编码数据进行解码的随机接入点处,则流控制器可以基于第一图像帧中的每个部分的编码质量来确定第二图像帧中的对应部分的编码质量。在这种情况下,流控制器可以等待,并且直到时间点T(M)之后的第一随机接入点处才执行比特流切换。
根据各种实施例,使用上述方案,流控制器可以将针对图像帧中的不同部分的具有不同质量的编码数据合并到单个比特流805中。与依赖于发送多个比特流的方法不同,上述方案可以避免多信道同步问题。因此,用于发送视频码流的系统层不需要例如使用DASH(基于Http的动态自适应流)、HLS(Http实时流)、MPEG TS(传输流)的系统协议来执行同步操作。另外,上述方案可以无需在用户设备处组合来自多个信道的数据,因为每个拼块的编码数据的位置相应地被封装到图像帧中每个拼块的相对位置处。
另外,可以提供指示符812并将其与比特流相关联。根据各种实施例,指示符812可以指示针对图像帧序列中的每个图像帧的特定部分的编码预测依赖度被约束在所述特定部分内。
在各种实施例中,由服务器侧的解码器或流控制器提供的指示符812可以与由解码器接收的指示符相同或相关,即,指示符可以指示编码和解码预测依赖度二者。
图10示出了根据本发明的各种实施例的基于切片的示例性图像划分方案。如图10(a)和图10(b)所示,可以使用多个切片来对视频中的图像帧(或图片)进行划分。
根据各种实施例,切片可以是每个图像帧中的切片分段的序列,所述切片分段的序列以独立切片分段开始并且包含在下一个独立切片分段之前的零个或更多个后续非独立切片分段。备选地,切片可以是编码块的序列或编码块对的序列。
在各种实例中,切片可用于视频编码。例如,图像帧在水平方向上仅允许一个切片(即,不能在竖直方向上执行划分)。不能交叉引用和预测相同图像帧中的不同切片中的数据(尽管可以跨越同一图像中的不同拼块的边界执行滤波操作)。滤波操作包括去块、采样自适应偏移(SAO)、自适应环路滤波器(ALF)等。
在如图10(a)所示的示例中,可以将图像划分为三个切片(或区域)。每个切片可以用不同的质量进行编码。在各种实例中,可以定量或定性地定义编码质量。例如,编码质量可以被定义为“高”、“中”或“低”之一(每个都可以与定量度量相关联)。备选地或附加地,编码质量可以由数字、字符、字母数字串或任何其他合适的表示方式来表示。在各种实例中,编码质量可以指各种编码客观度量、主观度量和不同的采样比(或分辨率)。
如图10(a)所示,切片2,即区域(1,0)被视口覆盖。因此,可以为切片2分配“高”质量。此外,切片2和3,即区域(0,0)和(2,0),与对应于视口的区域(1,0)相邻。因此,这些区域可以用“中”质量编码。
备选地,在如图10(b)所示的示例中,可以将图像划分为两个部分或区域。每个部分用不同的质量编码,并且编码质量可以定义为“高”、“中”或“低”之一。如图10(b)所示,视口覆盖了部分B(例如切片)。因此,可以为部分B分配“高”质量。此外,围绕部分B的部分A可以被分配“低”或“中”质量。
图11示出了根据本发明的各种实施例的对图像帧序列进行编码以支持视频流传输。如图11所示,图像序列1101可以被编码并作为比特流1102存储在服务器1100中。这里,每个比特流在服务器侧可以针对单个部分被提供有特定质量。例如,存储的比特流1111对应于针对图像序列1101中的部分1的具有质量A(例如“高”)的编码数据。
如图11所示,图像序列1101(即视频)中的图像帧可以被划分为3个部分,而每个部分可以用三种质量(例如“高”,“中”或“低”)编码。例如,编码可以基于各种视频编解码标准,例如,H.264/AVC,H.265/HEVC,AVS1-P2,AVS1-P2等。
根据各种实施例,每个比特流能够被独立解码。例如,每个比特流可以包含独立的视频参数集(VPS)信息、独立的序列头部信息、独立的序列参数集(SPS)信息、独立的图片头部信息或单独的图片参数集(PPS)参数。
图12示出了根据本发明的各种实施例的使用切片在视频流传输中支持比特流切换。如图12所示,使用基于切片的划分方案1202,图像帧序列1201中的图像帧1211可以被划分为多个切片(例如切片1-3)。此外,流控制器可以确定图像帧1211中的每个切片的编码质量1203。另外,流控制器可以从服务器中存储的比特流中获取针对图像帧1211的每个拼块的具有所确定的编码质量的编码数据1204。然后,流控制器可以根据预定顺序将针对第一图像帧的多个部分的编码数据1204合并(例如,封装)在比特流1205中以用于传输。在一些实例中,可以基于每个特定部分(例如切片)在图像帧序列中的相对位置来配置预定顺序。
根据各种实施例,流控制器可以根据用户设备(UE)的视口,针对需要发送的图像帧中的每个部分,从存储的比特流中动态地选择编码数据。
参考图13(a),在时间点T(N),切片2,即切片(1,0),对应于视口1211。因此,可以为切片2分配“高”质量(H)。此外,可以为切片1和3中的每一个分配“中”质量(M)。
在确定与图像帧1211中的每个切片相对应的编码质量之后,流控制器可以从服务器中的相应存储的比特流获取针对图像帧1211中的每个切片的具有期望质量的编码数据。例如,在如图13(a)所示的示例中,流控制器可以从高质量比特流(例如,图11的1110)获取针对切片2的编码数据,并且流控制器可以从中等质量比特流(例如图11的1120)获取针对切片1和3的编码数据。
然后,流控制器可以将获取的针对不同切片的编码数据封装到比特流1205中以用于传输。在各种实例中,可以根据预定顺序封装针对每个切片的编码数据。例如,可以基于光栅扫描顺序来配置预定顺序,光栅扫描顺序是指图像中从顶部到底部的顺序。
根据各种实施例,基于视口的视频流方法可以在考虑到观看中的主观体验的同时有效地减少针对360度视频或具有大FOV的视频发送的数据。另一方面,当视口改变时,即,当人的视线移动时,对应于视口的图像部分也可以改变。
根据各种实施例,流控制器可以针对每个划分部分在不同质量的比特流之间动态地切换,所述每个划分部分用于生成比特流1205以在视频流中传输。例如,流控制器可以接收针对第二图像帧的视口信息。这里,针对第二图像帧的视口信息可以指示针对第二图像帧的视口的位置。在图像帧序列中,第二图像帧追随在第一图像帧后面,并且针对第一图像帧的视口的位置不同于针对第二图像帧的视口的位置。
参考图13(b),在时间点T(M),视口1212可以移位到切片1,即切片(0,0)。流控制器可以调整图像帧中每个切片的编码质量。如图13(b)所示,切片1被分配“高”质量(H)。此外,可以为切片2分配“中”质量(M),并且可以为切片3分配“低”质量(L)。
因此,当视口1212改变时,流控制器可以在时间点T(M)时或之后执行比特流切换。在确定与图像帧中的每个切片相对应的编码质量之后,流控制器可以从服务器中的相应存储的比特流获取针对图像帧中的每个切片的具有期望质量的编码数据。例如,在如图13(b)所示的示例中,流控制器可以从高质量比特流(例如,图11的1110)获取针对切片1的编码数据。另外,流控制器可以从中等质量比特流(例如,图11的1120)获取针对切片2的编码数据,并且流控制器可以从低质量比特流(例如,图11的1130)获取针对切片3的编码数据。
在各种实例中,可以在随机接入点处执行比特流切换。例如,随机接入点可以是瞬时解码刷新(IDR)图片、干净随机接入(CRA)图片、序列头部、序列头部+1帧等。
如图13(b)所示,在时间点T(M)处视口位置改变之后,流控制器可以在时间点T(M)之后的第一随机接入点处执行比特流切换。例如,如果第二图像帧是用于对比特流中的编码数据进行解码的随机接入点,则流控制器可以基于所接收的针对第二图像帧的视口信息来确定第二图像帧中的每个部分的编码质量。否则,如果第二图像帧不是用于对比特流中的编码数据进行解码的随机接入点,则流控制器可以基于第一图像帧中的每个部分的编码质量来确定第二图像帧中的对应部分的编码质量。在这种情况下,流控制器可以等待,并且直到在时间点T(M)之后的第一随机接入点处才执行比特流切换。
根据各种实施例,使用上述方案,流控制器可以将针对图像帧中的不同部分的具有不同质量的编码数据合并到单个比特流1205中。与依赖于发送多个比特流的方法不同,上述方案避免了多信道同步问题。因此,用于发送视频码流的系统层不需要例如使用DASH(基于Http的动态自适应流)、HLS(Http实时流)、MPEG TS(传输流)的系统协议来执行同步操作。另外,上述方案可以避免在用户设备处组合来自多个信道的数据,因为每个拼块的编码数据的位置相应地被封装到图像帧中每个拼块的相对位置处。
图15示出了根据本发明的各种实施例的用于在视频流传输中支持比特流切换的流程图。如图15所示,在步骤1501,系统可以基于划分方案将图像帧序列中的第一图像帧划分为多个部分。在步骤1502,系统可以确定第一图像帧中的每个部分的编码质量。在步骤1503,系统可以针对第一图像帧的每个部分获取具有所确定的编码质量的编码数据。此外,在步骤1504,系统可以根据预定顺序将针对第一图像帧的多个部分的编码数据合并到比特流中。
图16示出了根据本发明的各种实施例的对拼块进行编码以在视频流传输中支持比特流切换。如图16所示,根据基于拼块的划分方案1602,可以将图像帧序列中的每个图像帧划分为多个部分,例如,拼块1-9。
根据各种实施例,编码器1603可以对图像帧序列1601中的图像帧1611的特定部分(例如,拼块5)执行编码预测1604。可以基于来自图像帧序列1601中的前一个图像帧的拼块5的参考数据1606来执行编码预测1604。然后,编码器1603可以例如用不同级别的编码质量基于编码预测1604对特定部分(即,图像帧1611的拼块5)进行编码。在各种实例中,可以独立地对图像帧序列中的不同部分编码,即编码器1603可以不需要知道其他部分的编码。例如,图像帧序列中的不同拼块可以顺序地编码或不同步编码。
此外,可以将针对图像帧1611的特定部分(拼块5)的编码数据1607合并到针对图像帧序列1601的比特流1605中。在被合并到用于传输的比特流1605中之前,针对图像帧1611的特定部分(拼块5)的具有不同级别的编码质量的编码数据可以存储在服务器上的多个比特流中。另外,可以提供指示符1612并将其与比特流相关联。根据各种实施例,指示符1612可以指示图像帧序列中的每个图像帧的特定部分的编码预测依赖度被约束在所述特定部分内。另外,指示符1612可以指示第二图像帧中的仅特定部分用于编码预测。例如,指示符1612可以是补充增强信息(SEI)消息或扩展数据。而且,指示符1612可以是序列参数集(SPS)消息、视频参数集(VPS)消息或序列头部。
根据各种实施例,编码器1603可以对图像帧序列1601中的图像帧1611的另一部分(例如,拼块7)执行编码预测1604。可以基于来自图像帧序列1601中的前一个图像帧的拼块7的参考数据(未示出)来执行编码预测1604。然后,编码器1603可以例如用不同级别的编码质量基于编码预测1604对该特定部分(即,图像帧1611的拼块7)进行编码。此外,针对图像帧1611的特定部分(拼块7)的编码数据(未示出)可以合并到图像帧序列1601的比特流1605中。在被合并到用于传输的比特流1605中之前,针对图像帧1611的特定部分(拼块7)的具有不同级别的编码质量的编码数据可以存储在服务器上的多个比特流中。
根据各种实施例,编码的不同部分可以从彼此独立的不同源获取。例如,从不同源获取的不同拼块可能不存在于单个物理图像帧中(即,不同拼块可以存在于多个单独的物理图像帧中)。此外,在被合并到用于传输的比特流1605中之前,针对每个拼块的具有不同级别的质量的编码数据可以存储在服务器上的多个比特流中。
根据各种实施例,来自相同图像帧中的不同拼块的数据不能用作编码中的参考数据。另一方面,在执行诸如帧间预测之类的时域编码预测时不应用约束的情况下,图像序列中的图像帧的拼块可以参考前一个图像帧中的任何区域的信息。
为了避免编码和解码中的不一致,可以应用编码约束,使得时域预测中的运动估计所需的参考数据不跨越所存储的每个对应比特流中的拼块边界。如上所述,存储在服务器侧的每个比特流对应于图像区域(即,特定拼块)的特定质量级别。这些存储的比特流彼此独立,没有编码依赖度。因此,在时域预测中,可以防止图像帧中的要编码的图像块的运动矢量指向图像序列中的前一个图像帧中的跨越拼块边界的数据。
根据各种实施例,编码器可以提供参数并将其与用于传输的比特流关联。该参数可以指示与第一图像帧的所述特定部分相关联的质量。质量可以是编码客观度量、编码主观度量或分辨率中的至少一个。例如,编码客观度量可以是峰值信噪比(PSNR)。
根据各种实施例,编码器可以提供参数集并将其与用于传输的比特流相关联。参数集可以包含一组值,每个值指示与第一图像帧的一部分相关联的质量。质量可以是第一图像帧的一部分的采样比。另外,编码器可以提供参数并将其与用于传输的比特流关联。该参数可以指示每个图像帧中的部分(例如,拼块)的数量。因此,解码器可以将图像帧序列中的第一图像帧中的每个不同部分转换为预定采样比。
图17示出了根据本发明的各种实施例的在没有帧间预测依赖度约束的情况下的基于拼块的编码。如图17(a)所示,在时间点T(n)处的图像帧中的拼块(例如,拼块0)中的图像块的编码可以基于帧间预测来执行,所述帧间预测依赖于在时间点T(n-1)处的图像帧中的拼块(例如,拼块0)中的参考块。这里,在时间点T(n-1)处的拼块0中的参考块可以跨越拼块边界。结果,在时间T(n)处,编码运动矢量和解码运动矢量二者都可以指向跨越拼块边界的参考数据。
例如,在编码器侧,如图17(b)所示,每个拼块在单独的比特流中编码。因此,可以通过延伸拼块的边界来获取时间点T(n)处的拼块0的参考块。另一方面,在解码器侧,如图17(c)所示,由于针对不同拼块的多个比特流被封装在单个流中用于传输,因此多个拼块可用于解码帧间预测。在时间点T(n)处的拼块0中的图像块的参考块可以超过拼块边界,并且参考数据可以包括来自相邻拼块(例如,拼块1)的数据。因此,用于编码和解码的参考数据可以是不同的,这可能导致在时间点T(n)处的拼块0的编码和解码之间的不一致。
因此,为了防止编码和解码所获取的参考数据的不一致,可以应用预测约束,使得时域预测中的运动估计所需的参考数据不跨越拼块的边界。
图18示出了根据本发明的各种实施例的在具有帧间预测依赖度约束的情况下的基于拼块的编码。如图18所示,在时间点T(n-1)处的拼块0中的图像块被用作在时间点T(n)处的拼块0中的图像块的参考块。帧间预测依赖度约束可以要求在点T(n-1)处的拼块0的参考块不超过拼块0的边界。
根据各种实施例,帧间预测依赖度约束可以应用于在帧间预测内插中使用的参考数据。例如,帧间预测可以涉及对参考数据进行内插以便估计参考点(例如,具有浮点数坐标)的值。当这样的参考点位于接近边界处时,帧间预测依赖度约束可以要求用于内插的参考数据不能跨越拼块的边界(即,仅特定部分中的参考数据可用于内插)。
因此,可以保证在服务器侧与每个拼块相对应的比特流以与在用户设备(UE)侧被解码的方式相同的方式被编码,即,以确保编码一致性。
图19示出了根据本发明的各种实施例的对切片进行编码以在视频流传输中支持比特流切换。如图19所示,根据基于切片的划分方案1902,可以将图像帧序列中的每个图像帧划分为多个部分。
根据各种实施例,编码器1903可以对图像帧序列1901中的图像帧1911的特定部分(例如,切片2)执行编码预测1904。可以基于来自图像帧序列1901中的前一个图像帧的切片2的参考数据1906来执行编码预测1904。然后,编码器1903可以例如用不同级别的编码质量基于编码预测1904对该特定部分(即,图像帧1911的切片2)进行编码。在各种实例中,可以独立地对图像帧序列中的不同部分编码,即编码器1603可以不需要知道其他部分的编码。例如,图像帧序列中的不同切片可以顺序地编码或不同步编码。
此外,可以将针对图像帧1911的特定部分(切片2)的编码数据1907合并到针对图像帧序列1901的比特流1905中。这里,在被合并到用于传输的比特流1905中之前,针对图像帧1911的特定部分(切片2)的具有不同级别的编码质量的编码数据可以存储在服务器上的多个比特流中。另外,指示符1912可以与比特流1906相关联。根据各种实施例,指示符1912可以指示图像帧序列中的每个图像帧的特定部分(例如,切片2)的编码预测依赖度被约束在所述特定部分内。另外,指示符1912指示第二图像帧中的仅特定部分(例如,切片2)用于编码预测。例如,指示符1912可以是补充增强信息(SEI)消息或扩展数据。而且,指示符1612可以是序列参数集(SPS)消息、视频参数集(VPS)消息或序列头部。
根据各种实施例,编码器1903可以对图像帧序列1901中的图像帧1911的另一部分(例如,切片3)执行编码预测1904。可以基于来自图像帧序列1901中的前一个图像帧的切片3的参考数据(未示出)来执行编码预测1904。然后,编码器1903可以例如用不同级别的编码质量基于编码预测1904对该特定部分(即,图像帧1911的切片3)进行编码。此外,针对图像帧1911的特定部分(切片3)的编码数据(未示出)可以合并到图像帧序列1901的比特流1905中。这里,在被合并到用于传输的比特流1905中之前,针对图像帧1911的特定部分(切片3)的具有不同级别的编码质量的编码数据可以存储在服务器上的多个比特流中。
根据各种实施例,编码的不同部分可以从彼此独立的不同源获取。例如,从不同源获取的不同切片可能不存在于单个物理图像帧中(即,不同切片可以存在于多个单独的物理图像帧中)。此外,在被合并到用于传输的比特流1605中之前,针对每个切片的具有不同级别的质量的编码数据可以存储在服务器上的多个比特流中。
根据各种实施例,在执行诸如帧间预测之类的时域编码预测时不应用约束的情况下,当前帧的切片可以参考前一个图像帧中的任何区域的信息。
为了避免编码和解码中的不一致,可以应用编码约束,使得时域预测中的运动估计所需的参考数据不跨越所存储的每个对应比特流中的切片边界。如上所述,存储在服务器侧的每个比特流对应于图像区域(即,特定切片)的特定质量级别。这些比特流彼此独立,没有编码依赖度。因此,在时域预测中,可以防止图像帧中的要编码的图像块的运动矢量指向图像序列中的前一个图像帧中的跨越切片边界的数据。
根据各种实施例,编码器可以提供参数并将其与用于传输的比特流关联。该参数可以指示与第一图像帧的所述特定部分相关联的质量。质量可以是编码客观度量、编码主观度量或分辨率中的至少一个。例如,编码客观度量可以是峰值信噪比(PSNR)。
根据各种实施例,解码器可以提供参数集并将其与用于传输的比特流相关联。参数集可以包含一组值,每个值指示与第一图像帧的一部分相关联的质量。质量可以是第一图像帧的一部分的采样比。另外,编码器可以提供参数并将其与用于传输的比特流关联。该参数可以指示每个图像帧中的部分(例如,切片)的数量。因此,解码器可以将图像帧序列中的第一图像帧中的每个不同部分转换为预定采样比。
图20示出了根据本发明的各种实施例的在没有帧间预测依赖度约束的情况下的基于切片的编码。如图20(a)所示,在时间点T(n)处的图像帧中的切片(例如,切片0)中的图像块的编码可以基于帧间预测来执行,所述帧间预测依赖于在时间点T(n-1)处的图像帧中的切片(例如,切片0)中的参考块。这里,在时间点T(n-1)处的参考块可以跨越拼块边界。结果,在时间T(n)处,编码运动矢量和解码运动矢量二者都可以指向跨越拼块边界的参考数据。
例如,在编码器侧,如图20(b)所示,每个切片在单独的比特流中编码。因此,可以通过延伸切片的边界来获取时间点T(n)处的切片0的参考块。在解码器侧,如图20(c)所示,由于针对不同切片的多个比特流被封装在一个流中用于传输,因此多个切片可用于解码帧间预测。在时间点T(n)处的切片0的参考块可以超过切片边界,并且参考数据可以包括来自相邻切片(例如,切片1)的数据。因此,用于编码和解码的参考数据可以是不同的,这导致在时间点T(n)处的切片0的编码和解码之间的不一致。
因此,为了防止编码和解码所获取的参考数据的不一致,可以应用预测约束,使得时域预测中的运动估计所需的参考数据不跨越切片的边界。
图21示出了根据本发明的各种实施例的在具有帧间预测依赖度约束的情况下的基于切片的编码。如图21所示,在点T(n-1)处的切片0中的图像块被用作在点T(n)处的切片0中的图像块的参考块。帧间预测依赖度约束可以要求在点T(n-1)处的切片0的参考块不超过切片边界。
根据各种实施例,帧间预测依赖度约束应用于在帧间预测内插中使用的参考数据。例如,帧间预测可以涉及对参考数据进行以便估计参考点(例如,具有浮点数坐标)的值。当这样的参考点位于接近边界处时,帧间预测依赖度约束可以要求用于内插的参考数据不跨越切片的边界(即,仅特定部分中的参考数据可用于内插)。
因此,可以保证在服务器侧与每个切片相对应的比特流以与在用户设备(UE)侧被解码的方式相同的方式被编码,即,以确保编码一致性。
图22示出了根据本发明的各种实施例的用于视频编码以在视频流传输中进行比特流切换的流程图。如图22所示,在步骤2201,系统可以根据划分方案将图像帧序列中的每个图像帧划分为多个部分。在步骤2202,系统可以基于图像帧序列中的第二图像帧的特定部分,对图像帧序列中的第一图像帧的所述特定部分执行编码预测。在步骤2203,系统可以基于所述编码预测对第一图像帧的所述特定部分进行编码。在步骤2204,系统可以将第一图像帧的所述特定部分的编码数据合并到图像帧序列的比特流中。此外,在步骤2205,系统可以将指示符与比特流相关联,其中指示符指示图像帧序列中的每个图像帧的所述特定部分的编码预测依赖度被约束在所述特定部分内。
图23示出了根据本发明的各种实施例的对拼块进行解码以在视频流传输中支持比特流切换。如图23所示,根据基于拼块的划分方案2302,可以将图像帧序列中的每个图像帧划分为多个部分,例如,拼块1-9。
根据各种实施例,解码器2303可以执行解码预测2304以用于对图像帧序列2301中的图像帧2311的特定部分(例如,拼块5)进行解码。可以基于来自图像帧序列2301中的前一个解码后的图像帧的拼块5的参考数据2306来执行解码预测2304。然后,解码器2303可以基于解码预测2304对该特定部分(即,图像帧2311的拼块5)进行解码。
此外,图像帧2311的特定部分(拼块5)的二进制数据2307可以从图像帧序列2301的比特流2305获取。另外,可以获取并分析与比特流2305相关联的指示符2312。根据各种实施例,指示符2312可以指示图像帧序列中的每个图像帧的特定部分(例如,拼块5)的解码预测依赖度被约束在所述特定部分内。另外,指示符2312指示前一个解码后的图像帧中的仅所述特定部分(例如,拼块5)用于解码预测。例如,指示符2312可以是补充增强信息(SEI)消息或扩展数据。而且,指示符2312可以是序列参数集(SPS)消息、视频参数集(VPS)消息或序列头部。
根据各种实施例,来自相同图像帧中的不同拼块的数据可以用作解码中的参考数据。另一方面,在执行诸如帧间预测之类的时域解码预测时不应用约束的情况下,帧的拼块可以参考前一个帧的任何区域的信息。
为了防止编码和解码中的不一致,可以应用解码约束,使得时域预测中的运动估计所需的参考数据不跨越所接收的比特流中的拼块边界。因此,在时域预测中,可以防止图像帧中的要解码的图像块的运动矢量指向图像序列中的前一个图像帧中的跨越切片边界的数据。
根据各种实施例,解码器可以获取指示与第一图像帧的所述特定部分(例如,拼块5)相关联的质量的参数。质量可以是编码客观度量、编码主观度量或分辨率中的至少一个。例如,编码客观度量可以是峰值信噪比(PSNR)。
根据各种实施例,解码器可以获取包含一组值的参数集,每个值指示与第一图像帧的一部分相关联的质量。质量可以是第一图像帧的一部分的采样比。另外,解码器可以提供参数并将其与用于传输的比特流相关联。该参数可以指示每个图像帧中的部分(例如,拼块)的数量。因此,解码器可以将图像帧序列中的第一图像帧中的每个不同部分转换为预定采样比。
图24示出了根据本发明的各种实施例的在具有帧间预测依赖度约束的情况下的基于拼块的解码。如图24所示,在时间点T(n-1)处的拼块0中的图像块可以用作在时间点T(n)处的拼块0中的图像块的参考块。帧间解码预测依赖度约束可以要求在点T(n-1)处的拼块0的参考块不超过拼块0的边界。
根据各种实施例,帧间预测依赖度约束应用于在帧间预测内插中使用的参考数据。例如,帧间预测可以涉及对参考数据进行内插以便估计参考点(例如,具有浮点数坐标)的值。当这样的参考点位于接近边界处时,帧间预测依赖度约束可以要求用于内插的参考数据不能跨越拼块的边界(即,仅特定部分中的参考数据可用于内插)。备选地或附加地,编码器可以应用约束,该约束确保用于各种预测块的参考数据不跨越每个部分(例如,拼块)的边界。
因此,可以保证在服务器侧与每个拼块相对应的比特流以与在用户设备(UE)侧被解码的方式相同的方式被编码,即,以确保编码一致性。
图25示出了根据本发明的各种实施例的对切片进行解码以在视频流传输中支持比特流切换。如图25所示,根据划分方案2502,可以将图像帧序列中的每个图像帧划分为多个部分。
根据各种实施例,解码器2503可以执行解码预测2504以用于获取图像帧序列2501中的图像帧2511的特定部分(例如,拼块2)。可以基于来自图像帧序列2401中的前一个图像帧的切片2的参考数据2506来执行解码预测2504。然后,解码器2503可以基于解码预测2504对特定部分(即,图像帧2411的切片2)进行解码。
此外,图像帧2511的特定部分(例如,切片2)的二进制数据2507可以从图像帧序列2501的比特流2505获取。另外,可以获取并分析与比特流2506相关联的指示符2512。根据各种实施例,指示符2512可以指示用于图像帧序列中的每个图像帧的特定部分的解码预测依赖度被约束在所述特定部分(例如,切片2)内。另外,指示符2512可以指示第二图像帧中的仅所述特定部分用于编码预测。例如,指示符2512可以是补充增强信息(SEI)消息或扩展数据。而且,指示符2512可以是序列参数集(SPS)消息、视频参数集(VPS)消息或序列头部。
根据各种实施例,在执行诸如帧间预测之类的时域解码预测时不应用约束的情况下,当前帧的切片可以参考前一个帧的任何区域的信息。为了防止编码和解码中的不一致,可以应用解码约束,使得时域预测中的运动估计所需的参考数据不跨越所接收的比特流中的切片边界。因此,在时域预测中,可以防止图像帧中要解码的图像块的运动矢量指向图像序列中的前一个图像帧中的跨越切片边界的数据。
根据各种实施例,解码器可以获取指示与第一图像帧的所述特定部分相关联的质量的参数。质量可以是编码客观度量、编码主观度量或分辨率中的至少一个。例如,编码客观度量可以是峰值信噪比(PSNR)。
根据各种实施例,解码器可以获取包含一组值的参数集,每个值指示与第一图像帧的一部分相关联的质量。质量可以是第一图像帧的一部分的采样比。另外,解码器可以提供参数并将其与用于传输的比特流相关联。该参数可以指示每个图像帧中的部分(例如,切片)的数量。因此,解码器可以将图像帧序列中的第一图像帧中的每个不同部分转换为预定采样比。
图26示出了根据本发明的各种实施例的在具有帧间预测依赖度约束的情况下的基于切片的解码。如图26所示,在点T(n-1)处的切片0中的图像块被用作在点T(n)处的切片0中的图像块的参考块。帧间解码预测依赖度约束可以要求在点T(n-1)处的切片0的参考块不超过切片边界。
根据各种实施例,帧间预测依赖度约束应用于在帧间预测内插中使用的参考数据。例如,帧间预测可以涉及对参考数据进行内插以便估计参考点(例如,具有浮点数坐标)的值。当这样的参考点位于接近边界处时,帧间预测依赖度约束可以要求用于内插的参考数据不能跨越切片的边界(即,仅特定部分中的参考数据可用于内插)。备选地或附加地,编码器可以应用约束,该约束确保用于各种预测块的参考数据不跨越每个部分(例如,切片)的边界。
因此,可以保证在服务器侧与每个切片相对应的比特流以与在用户设备(UE)侧被解码的方式相同的方式被编码,即,以确保编码一致性。
图27示出了根据本发明的各种实施例的用于视频解码以在视频流传输中进行比特流切换的流程图。如图27所示,在步骤2701,系统可以获取图像帧序列的比特流,其中每个所述图像帧根据划分方案被划分为多个部分。在步骤2702,系统可以获取指示符,该指示符指示图像帧序列中的每个图像帧的特定部分的解码预测依赖度被约束在所述特定部分内;在步骤2703,系统可以基于指示符,基于图像帧序列中的第二图像帧的所述特定部分,对图像帧序列中的第一图像帧的所述特定部分执行解码预测。此外,在步骤2704,系统可以基于所述解码预测来对第一图像帧的所述特定部分进行解码。
图14示出了根据本发明的各种实施例的支持缩放以在视频流中进行比特流切换。
根据各种实施例,图像帧中的每个部分(或区域)的编码质量可以定义采样比(例如,分辨率)。例如,采样比可以表示特定部分(或区域)的原始像素数据中的数据量与在比特流中发送的数据量的比率。例如,如果图像中特定区域的数据量为N且采样比为M∶1,则在码流中发送的该区域的数据量是N/M。如图14(a)所示,图像帧中的不同拼块可以具有不同的采样比。如图14(b)所示,图像帧中的不同切片可以具有不同的采样比。
在各种实施例中,可以在水平方向和竖直方向上不同地配置采样比,即,可以在水平方向和竖直方向上不同地进行采样。在编码端(即,服务器侧),编码器可以对视频中的图像帧序列进行采样,并对采样比进行编码,并在发送的比特流中提供编码数据。在解码端(即,用户设备(UE)侧),解码器可以对二进制数据进行解码并执行反向采样操作,以将图像帧的每个部分的解码后的数据调整到预定缩放比例,例如,原始缩放比例。
根据各种实施例,可以使用各种图像处理技术来实现采样操作和反向采样操作。例如,假设采样比为A∶B,如果A的值大于B,则系统执行下采样操作。另一方面,如果A小于B,则系统执行上采样,并且如果A等于B,则系统不执行采样操作。
通过不同采样比使用不同编码质量的优点在于系统可以对非关键区域执行更高程度的下采样操作,以便减少要编码、发送和解码的数据量。另一方面,系统可以对关键区域(例如,对应于视口的部分)执行较低程度的下采样操作或不采样,以保证该区域的编码质量。
图28示出了根据本公开各种实施例的可移动平台环境。如图28所示,可移动平台环境2800中的可移动平台2818(也称为可移动物体)可包括载体2802和负载2804。尽管可移动平台2818可以被描绘为飞行器,但是该描述并不旨在限制,并且可以使用任何合适类型的可移动平台。本领域技术人员将理解,本文在飞行器系统的上下文中描述的任何实施例可以应用于任何合适的可移动平台(例如,UAV)。在一些实例中,负载2804可以设置在可移动平台2818上,而不需要载体2802。根据本发明的各种实施例,各种实施例或特征可以在可移动平台2818(例如,UAV)的操作中实现或有益于该操作。
在一些实施例中,可移动平台2818可包括一个或多个移动机构2806(例如推进机构)、感测系统2808和通信系统2810。移动机构2806可包括旋翼、螺旋桨、叶片、发动机、电动机、轮子、轴,磁铁,喷嘴中的一个或多个,或可由动物或人类用于实现移动的任何机构。例如,可移动平台可具有一个或多个推进机构。移动机构2806都可以是相同类型的。备选地,移动机构2806可以是不同类型的移动机构。移动机构2806可以使用任何合适的装置(诸如,支撑元件(例如,驱动轴))安装在可移动平台2818上(或反之亦然)。移动机构2806可以安装在移动平台2818的任何合适的部分上,例如顶部、底部、前部、后部、侧部或其合适的组合上。
在一些实施例中,移动机构2806使可移动平台2818能够竖直地从表面起飞或竖直地降落在表面上,而不需要可移动平台2818的任何水平移动(例如,无需沿着跑道行进)。可选地,移动机构2806可以可操作地允许可移动平台2818以特定位置和/或取向悬停在空气中。移动机构2806中的一个或多个可以独立于其它移动机构受到控制。备选地,移动机构2806可以被配置为同时受到控制。例如,可移动平台2818可以具有多个水平取向的旋翼,其可以向可移动平台提供升力和/或推力。可以驱动多个水平取向的旋翼以向可移动平台2818提供竖直起飞、竖直着陆和悬停能力。在一些实施例中,水平取向旋翼中的一个或多个可沿顺时针方向旋转,当然水平旋翼中的一个或多个也可沿逆时针方向旋转。例如,顺时针旋翼的数量可以等于逆时针旋翼的数量。为了控制由每个旋翼产生的升力和/或推力,从而调整可移动平台2818(例如,相对于高达三个平移度和高达三个旋转度)的空间布置、速度和/或加速度,可以独立地改变每个水平取向的旋翼的转速。
感测系统2808可以包括可感测可移动平台2818(例如,相对于高达三个平移度和高达三个旋转度)的空间布置、速度和/或加速度的一个或多个传感器。一个或多个传感器可以包括传感器中的任何一个,包括:GPS传感器、运动传感器、惯性传感器、接近传感器或图像传感器。感测系统2808提供的感测数据可用于(例如,使用合适的处理单元和/或控制模块)控制可移动平台2818的空间布置、速度和/或取向。备选地,感测系统108可用于提供关于可移动平台周围的环境的数据,例如天气条件、接近潜在障碍物、地理特征的位置、人造结构的位置等。
通信系统2810能够经由无线信号2816与具有通信系统2814的终端2812进行通信。通信系统2810、2814可以包括适合于无线通信的任意数量的发射机、接收机和/或收发机。所述通信可以是单向通信,使得数据只能在一个方向上传输。例如,单向通信可以仅涉及可移动平台2818向终端2812发送数据,或者反之亦然。可以从通信系统2810的一个或多个发射机向通信系统2812的一个或多个接收机发送数据,或者反之亦然。备选地,所述通信可以是双向通信,使得可以在可移动平台2818和终端2812之间的两个方向上发送数据。双向通信可以涉及从通信系统2810的一个或多个发射机向通信系统2814的一个或多个接收机发送数据,并且反之亦然。
在一些实施例中,终端2812可以向可移动平台2818、载体2802和负载2804中的一个或多个提供控制数据,并且从可移动平台2818、载体2802和负载2804中的一个或多个接收信息(例如,可移动平台、载体或负载的位置和/或运动信息;由负载感测的数据,例如由负载相机捕获的图像数据;以及从负载相机捕获的图像数据生成的数据)。在一些实例中,来自终端的控制数据可以包括用于可移动平台、载体和/或负载的相对位置、移动、驱动或控制的指令。例如,控制数据(例如,通过对移动机构2806的控制)可以导致可移动平台的位置和/或取向的修改,或(例如,通过对载体2802的控制)可以导致负载相对于可移动平台的移动。来自终端的控制数据可以导致对负载的控制,诸如对相机或其他图像捕获设备的操作的控制(例如,拍摄静止或移动的图片、放大或缩小、打开或关闭、切换成像模式、改变图像分辨率、改变焦点、改变景深、改变曝光时间、改变视角或视野)。
在一些实例中,来自可移动平台、载体和/或负载的通信可以包括来自(例如,感测系统2808或负载2804的)一个或多个传感器的信息。通信可以包括来自一个或多个不同类型的传感器(例如,GPS传感器、运动传感器、惯性传感器、接近传感器或图像传感器)的感测信息。这样的信息可以涉及可移动平台、载体和/或负载的定位(例如位置,取向)、移动或加速度。来自负载的这种信息可以包括由负载捕获的数据或负载的感测状态。由终端2812发送的控制数据可以被配置为控制可移动平台2818、载体2802或负载104中的一个或多个的状态。备选地或组合地,载体2802和负载2804也可以各自包括被配置为与终端2812进行通信的通信模块,使得该终端可以独立地与可移动平台2818、载体2802和负载2804中的每一个进行通信并对其进行控制。
在一些实施例中,可移动平台2818可被配置为除了与终端2812通信之外还与另一远程装置通信,或者代替与终端2812通信而与另一远程装置通信。除了与可移动平台2818通信以外,终端2812还可以被配置为与另一远程装置进行通信。例如,可移动平台2818和/或终端2812可以与另一可移动物体或另一可移动物体的载体或负载通信。当需要时,远程装置可以是第二终端或其他计算装置(例如,计算机、膝上型电脑、平板电脑、智能电话或其他移动装置)。远程装置可以被配置为向可移动平台2818发送数据、从可移动平台2818接收数据、向终端2812发送数据,和/或从终端2812接收数据。可选地,远程装置可以与因特网或其他电信网络连接,使得从可移动平台2818和/或终端2812接收的数据可以上传到网站或服务器。
本发明的许多特征可以以硬件、软件、固件或其组合的形式执行,或者使用硬件、软件、固件或其组合执行,或者借助于硬件、软件、固件或其组合执行。因此,可以使用处理系统(例如,包括一个或多个处理器)来实现本发明的特征。示例性处理器可以包括但不限于一个或多个通用微处理器(例如,单核或多核处理器)、专用集成电路、专用指令集处理器、图形处理单元、物理处理单元、数字信号处理单元、协处理器、网络处理单元、音频处理单元、加密处理单元等。
本发明的特征可以以计算机程序产品的形式来实现,使用或借助于计算机程序产品来实现,所述计算机程序产品是其上存储有指令的存储介质(介质)或计算机可读介质(介质),其中可以将所述指令用来对处理系统进行编程以执行本文中呈现的任何特征。存储介质可以包括(但不限于)任何类型的盘,包括:软盘、光盘、DVD、CD-ROM、微型驱动器和磁光盘、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪存装置、磁卡或光卡、纳米系统(包括分子存储器IC)或者适于存储指令和/或数据的任何类型的介质或装置。
存储在任何机器可读介质(介质)上的本发明的特征可以并入软件和/或固件中,用来对处理系统的硬件进行控制,并且用来使处理系统能够利用本发明的结果与其他机构进行交互。这样的软件或固件可以包括但不限于应用代码、装置驱动程序、操作系统和执行环境/容器。
本发明的特征还可以使用例如专用集成电路(ASIC)和现场可编程门阵列(FPGA)器件之类的硬件组件以硬件形式实现。对于相关领域的技术人员来说,实现硬件状态机以便执行本文描述的功能将是显而易见的。
另外,可以使用包括一个或多个处理器、存储器和/或根据本公开的教导编程的计算机可读存储介质在内的一个或多个常规通用或专用数字计算机、计算设备、机器或微处理器来方便地实现本发明。编程技术人员可以根据本公开的教导容易地准备适当的软件编码,这对软件领域的技术人员将是显然的。
尽管上面已经描述了本发明的各种实施例,但是应当理解,它们仅仅是作为示例而不是限制来呈现的。本领域普通技术人员应该清楚的是在不脱离本发明的精神和范围的情况下可以进行形式和细节上的各种变化。
以上已经在示出指定功能及其关系的执行的功能构建块的辅助下,描述了本发明。为便于描述,本文通常任意定义这些功能构建块的边界。只要所指定的功能及其关系被适当地执行,就可以定义替代的边界。因此,任何这样的替代的边界都在本发明的范围和精神内。
已经提供了本发明的上述描述,用于说明和描述的目的。不是旨在是穷尽性的或将公开的精确形式作为对本发明的限制。本发明的宽度和范围不应当受到上述示例性实施例中任意一个的限制。许多修改和变化对于本领域普通技术人员将是明显的。这些修改和变化包括所公开的特征的任何相关组合。对实施例的选择和描述是为了最好地解释本发明的原理及其实际应用,从而使得本领域的其他技术人员能够理解本发明的各种实施例以及适合于预期特定用途的各种修改。意图在于,本发明的范围由所附权利要求及其等同物限定。

Claims (40)

1.一种用于视频解码的方法,包括:
获取图像帧序列的比特流,其中每个所述图像帧根据划分方案被划分为多个部分;
获取指示符,所述指示符指示了每个图像帧的特定部分的解码预测依赖度被约束在所述特定部分内,其中,所述特定部分为拼块或切片;
响应于获取指示符,基于第二图像帧的所述特定部分,对第一图像帧的所述特定部分执行解码预测;以及
基于所述解码预测对第一图像帧的所述特定部分进行解码。
2.根据权利要求1所述的方法,其中所述指示符指示了所述特定部分是拼块,所述拼块是每个图像帧中的矩形区域。
3.根据权利要求1所述的方法,其中所述指示符指示了所述特定部分是切片,所述切片是:
每个图像帧中的一个或多个切片分段的序列,所述一个或多个切片分段的序列以独立切片分段开始并且包含在下一个独立切片分段之前的零个或更多个后续非独立切片分段,或者,
所述切片是编码块的序列或编码块对的序列。
4.根据权利要求1所述的方法,其中所述指示符指示了第二图像帧中仅所述特定部分用于解码预测。
5.根据权利要求1所述的方法,其中所述指示符是补充增强信息(SEI)消息或扩展数据。
6.根据权利要求1所述的方法,其中所述指示符是序列参数集(SPS)消息、视频参数集(VPS)消息或序列头部。
7.根据权利要求1所述的方法,还包括:
获取对与第一图像帧的所述特定部分相关联的质量加以指示的参数。
8.根据权利要求7所述的方法,其中,所述质量指示编码客观度量、编码主观度量或采样比中的至少一个。
9.根据权利要求8所述的方法,其中,所述编码客观度量是峰值信噪比(PSNR)。
10.根据权利要求1所述的方法,还包括:
获取对第一图像帧中的部分的数量加以指示的参数;以及
获取包含一组值的参数集,每个值指示了与第一图像帧的多个部分中的每个部分相关联的质量。
11.根据权利要求10所述的方法,其中,所述质量指示了第一图像帧的多个部分中的每个部分的采样比。
12.根据权利要求11所述的方法,还包括:
将图像帧序列中的第一图像帧中的每个不同部分转换为与每个部分相关联的预定采样比。
13.根据权利要求1所述的方法,其中,所述指示符指示了图像帧序列中的每个图像帧的每个部分的解码预测依赖度被约束在每个特定部分内。
14.根据权利要求13所述的方法,其中,用相同的划分方案划分图像帧序列中的每个图像帧,并且每个图像帧中的多个部分处于相同的相对位置。
15.根据权利要求1所述的方法,其中,所述解码预测包括帧间预测。
16.根据权利要求15所述的方法,其中,基于图像帧序列中的第二图像帧中的所述特定部分,对图像帧序列中的第一图像帧的所述特定部分执行帧间预测,其中第一图像帧中的所述特定部分的相对位置与第二图像帧中的所述特定部分的相对位置相同或基本相似。
17.根据权利要求16所述的方法,其中,在针对图像帧序列中的第一图像帧的所述特定部分的帧间预测中使用的参考数据被约束在图像帧序列的第二图像帧的所述特定部分内。
18.根据权利要求17所述的方法,其中,所述参考数据包括在帧间预测内插中使用的数据。
19.一种用于视频解码的系统,包括:
一个或多个微处理器;
在一个或多个微处理器上运行的解码器,其中解码器操作以:
获取图像帧序列的比特流,其中每个所述图像帧根据划分方案被划分为多个部分;
获取指示符,所述指示符指示了每个图像帧的特定部分的解码预测依赖度被约束在所述特定部分内,其中,所述特定部分为拼块或切片;
响应于获取指示符,基于第二图像帧的所述特定部分,对第一图像帧的所述特定部分执行解码预测;以及
基于所述解码预测对第一图像帧的所述特定部分进行解码。
20.一种电子装置,包括:
处理器;以及
其上存储有指令的非暂时性计算机可读介质,所述指令在由处理器执行时执行包括以下在内的步骤:
获取图像帧序列的比特流,其中每个所述图像帧根据划分方案被划分为多个部分;
获取指示符,所述指示符指示了每个图像帧的特定部分的解码预测依赖度被约束在所述特定部分内,其中,所述特定部分为拼块或切片;
响应于获取指示符,基于第二图像帧的所述特定部分,对第一图像帧的所述特定部分执行解码预测;以及
基于所述解码预测对第一图像帧的所述特定部分进行解码。
21.一种用于视频编码的方法,包括:
根据划分方案将图像帧序列中的每个图像帧划分为多个部分;
基于图像帧序列中的第二图像帧的特定部分,对图像帧序列中的第一图像帧的所述特定部分执行编码预测;
基于编码预测对第一图像帧的所述特定部分进行编码;
将第一图像帧的所述特定部分的编码数据合并到图像帧序列的比特流中;以及
将指示符与比特流相关联,其中所述指示符指示了每个图像帧的所述特定部分的编码预测依赖度被约束在所述特定部分内,其中,所述特定部分为拼块或切片。
22.根据权利要求21所述的方法,其中所述指示符指示所述特定部分是拼块,所述拼块是每个图像帧中的矩形区域。
23.根据权利要求21所述的方法,其中所述指示符指示所述特定部分是切片,所述切片是:
每个图像帧中的一个或多个切片分段的序列,所述一个或多个切片分段的序列以独立切片分段开始并且包含在下一个独立切片分段之前的零个或更多个后续非独立切片分段,或者,
所述切片是编码块的序列或编码块对的序列。
24.根据权利要求21所述的方法,其中,所述指示符指示了第二图像帧中仅所述特定部分用于编码预测。
25.根据权利要求21所述的方法,其中所述指示符是补充增强信息(SEI)消息或扩展数据。
26.根据权利要求21所述的方法,其中所述指示符是序列参数集(SPS)消息、视频参数集(VPS)消息或序列头部。
27.根据权利要求21所述的方法,还包括
提供对与第一图像帧的所述特定部分相关联的质量加以指示的参数。
28.根据权利要求27所述的方法,其中,所述质量是编码客观度量、编码主观度量或采样比中的至少一个。
29.根据权利要求28所述的方法,其中,所述编码客观度量是峰值信噪比(PSNR)。
30.根据权利要求21所述的方法,还包括:
将参数与比特流相关联,其中所述参数指示第一图像帧中的部分的数量;以及
将参数集与比特流相关联,其中该参数集包含一组值,每个值指示与第一图像帧的一部分相关联的质量。
31.根据权利要求30所述的方法,其中,所述质量是第一图像帧的部分的采样比。
32.根据权利要求31所述的方法,还包括:
将图像帧序列中的第一图像帧中的每个不同部分转换为预定采样比。
33.根据权利要求21所述的方法,其中,所述指示符指示图像帧序列中每个图像帧的每个部分的编码预测依赖度被约束在每个特定部分内。
34.根据权利要求33所述的方法,其中,用相同的划分方案划分图像帧序列中的每个图像帧,并且每个图像帧中的多个部分处于相同的相对位置。
35.根据权利要求21所述的方法,其中,所述编码预测包括帧间预测,并且其中,基于图像帧序列中的第二图像帧中的所述特定部分对图像帧序列中的第一图像帧的所述特定部分执行帧间预测,其中,第一图像帧中的所述特定部分的相对位置与第二图像帧中的所述特定部分的相对位置相同或基本相似。
36.根据权利要求35所述的方法,其中,在对图像帧序列中的第一图像帧的所述特定部分的帧间预测中使用的参考数据被约束在图像帧序列的第二图像帧的所述特定部分内。
37.根据权利要求21所述的方法,还包括
基于图像帧序列中的第二图像帧的另一特定部分,对图像帧序列中的第一图像帧的所述另一特定部分执行另一编码预测;
基于所述另一编码预测对第一图像帧的所述另一特定部分进行编码;以及
将第一图像帧的所述另一特定部分的编码数据合并到图像帧序列的比特流中。
38.根据权利要求36所述的方法,其中,所述参考数据包括在帧间预测内插中使用的数据。
39.一种用于视频编码的系统,包括:
一个或多个微处理器;
在一个或多个微处理器上运行的编码器,其中编码器操作以:
根据划分方案将图像帧序列中的每个图像帧划分为多个部分;
基于图像帧序列中的第二图像帧的特定部分,对图像帧序列中的第一图像帧的所述特定部分执行编码预测;
基于编码预测对第一图像帧的所述特定部分进行编码;
将第一图像帧的所述特定部分的编码数据合并到图像帧序列的比特流中;以及
将指示符与比特流相关联,其中所述指示符指示了每个图像帧的所述特定部分的编码预测依赖度被约束在所述特定部分内,其中,所述特定部分为拼块或切片。
40.一种电子装置,包括:
处理器;以及
其上存储有指令的非暂时性计算机可读介质,所述指令在由处理器执行时执行包括以下在内的步骤:
根据划分方案将图像帧序列中的每个图像帧划分为多个部分;
基于图像帧序列中的第二图像帧的特定部分,对图像帧序列中的第一图像帧的所述特定部分执行编码预测;
基于编码预测对第一图像帧的所述特定部分进行编码;
将第一图像帧的所述特定部分的编码数据合并到图像帧序列的比特流中;以及
将指示符与比特流相关联,其中所述指示符指示了每个图像帧的所述特定部分的编码预测依赖度被约束在所述特定部分内,其中,所述特定部分为拼块或切片。
CN201680090976.XA 2016-12-14 2016-12-14 用于支持视频比特流切换的系统和方法 Active CN110036640B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/109971 WO2018107404A1 (en) 2016-12-14 2016-12-14 System and method for supporting video bit stream switching

Publications (2)

Publication Number Publication Date
CN110036640A CN110036640A (zh) 2019-07-19
CN110036640B true CN110036640B (zh) 2023-06-20

Family

ID=62557729

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680090976.XA Active CN110036640B (zh) 2016-12-14 2016-12-14 用于支持视频比特流切换的系统和方法

Country Status (5)

Country Link
US (1) US20190297332A1 (zh)
EP (1) EP3516874A4 (zh)
KR (1) KR20190060846A (zh)
CN (1) CN110036640B (zh)
WO (1) WO2018107404A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10291910B2 (en) * 2016-02-12 2019-05-14 Gopro, Inc. Systems and methods for spatially adaptive video encoding
US10506196B2 (en) * 2017-04-01 2019-12-10 Intel Corporation 360 neighbor-based quality selector, range adjuster, viewport manager, and motion estimator for graphics
US10841602B2 (en) * 2018-07-16 2020-11-17 Tencent America LLC Hierarchical tiles
WO2020051777A1 (en) 2018-09-11 2020-03-19 SZ DJI Technology Co., Ltd. System and method for supporting progressive video bit stream swiitching
US11159823B2 (en) * 2019-06-20 2021-10-26 At&T Intellectual Property I, L.P. Multi-viewport transcoding for volumetric video streaming
US11381817B2 (en) 2019-09-24 2022-07-05 At&T Intellectual Property I, L.P. Viewport-based transcoding for immersive visual streams
US20220368946A1 (en) * 2019-11-07 2022-11-17 Intel Corporation Heterogeneous real-time streaming and decoding of ultra-high resolution video content
WO2021168185A1 (en) * 2020-02-19 2021-08-26 Interdigital Vc Holdings, Inc. Method and device for processing image content
WO2022098152A1 (ko) * 2020-11-05 2022-05-12 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
CN114091624B (zh) * 2022-01-18 2022-04-26 蓝象智联(杭州)科技有限公司 一种无第三方的联邦梯度提升决策树模型训练方法
CN118042158A (zh) * 2022-11-14 2024-05-14 杭州海康威视数字技术股份有限公司 一种图像编解码方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9042458B2 (en) * 2011-04-01 2015-05-26 Microsoft Technology Licensing, Llc Multi-threaded implementations of deblock filtering
US9584819B2 (en) * 2011-10-24 2017-02-28 Qualcomm Incorporated Grouping of tiles for video coding
US9749627B2 (en) * 2013-04-08 2017-08-29 Microsoft Technology Licensing, Llc Control data for motion-constrained tile set
US9813736B2 (en) * 2013-09-27 2017-11-07 Qualcomm Incorporated Inter-view dependency type in MV-HEVC
US9591324B2 (en) * 2013-10-14 2017-03-07 Qualcomm Incorporated Systems and methods for separately defining dependencies for sub-layer based inter-layer prediction
US20150264345A1 (en) * 2014-03-13 2015-09-17 Mitsubishi Electric Research Laboratories, Inc. Method for Coding Videos and Pictures Using Independent Uniform Prediction Mode

Also Published As

Publication number Publication date
KR20190060846A (ko) 2019-06-03
EP3516874A4 (en) 2019-08-14
WO2018107404A1 (en) 2018-06-21
US20190297332A1 (en) 2019-09-26
EP3516874A1 (en) 2019-07-31
CN110036640A (zh) 2019-07-19

Similar Documents

Publication Publication Date Title
CN110036640B (zh) 用于支持视频比特流切换的系统和方法
EP3669333B1 (en) Sequential encoding and decoding of volymetric video
KR102594003B1 (ko) 볼류메트릭 비디오를 인코딩/디코딩하기 위한 방법, 장치 및 스트림
US10567464B2 (en) Video compression with adaptive view-dependent lighting removal
CN111355954B (zh) 为视频播放器装置处理视频数据
JP6501904B2 (ja) 球面ビデオのストリーミング
US10341650B2 (en) Efficient streaming of virtual reality content
CN110268711B (zh) 用于编码宽视图视频的球面旋转的方法及装置
US20180027257A1 (en) Image processing device and image processing method
TW201916685A (zh) 用於處理360°vr幀序列的方法及裝置
EP3434021B1 (en) Method, apparatus and stream of formatting an immersive video for legacy and immersive rendering devices
WO2020055655A1 (en) Scalability of multi-directional video streaming
Frieß et al. Foveated encoding for large high-resolution displays
US20210227227A1 (en) System and method for supporting progressive video bit stream switching
AU2020395346B2 (en) Rank information in immersive media processing

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant