CN109792487B - 用于视频编码和解码的装置、方法和计算机程序 - Google Patents

用于视频编码和解码的装置、方法和计算机程序 Download PDF

Info

Publication number
CN109792487B
CN109792487B CN201780061134.6A CN201780061134A CN109792487B CN 109792487 B CN109792487 B CN 109792487B CN 201780061134 A CN201780061134 A CN 201780061134A CN 109792487 B CN109792487 B CN 109792487B
Authority
CN
China
Prior art keywords
sample
layer
picture
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
CN201780061134.6A
Other languages
English (en)
Other versions
CN109792487A (zh
Inventor
K·卡马施斯里达
M·汉努克塞拉
P·阿弗莱吉贝尼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Technologies Oy
Original Assignee
Nokia Technologies Oy
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Technologies Oy filed Critical Nokia Technologies Oy
Publication of CN109792487A publication Critical patent/CN109792487A/zh
Application granted granted Critical
Publication of CN109792487B publication Critical patent/CN109792487B/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
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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
    • 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/182Methods 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 pixel
    • 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/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • 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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format

Landscapes

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

Abstract

本发明涉及用于视频编码的方法和技术设备。一种编码方法包括:将图像(600)的多个样本行重新采样成多个重新采样的样本行(601‑612);以及将重新采样的样本行沿着嵌套多边形链扫描重新排列成重新排列的样本阵列(650和670)。一种解码方法包括:获得包括沿着嵌套多边形链扫描的多个重新采样的样本行的重新排列的样本阵列;通过沿着扫描顺序将嵌套多边形链扫描中的多边形链当作一维信号来提取重新采样的样本行;将重新采样的样本行重新采样成样本行;以及将样本行排列成样本阵列。

Description

用于视频编码和解码的装置、方法和计算机程序
技术领域
本公开一般地涉及用于视频编码和解码的装置、方法和计算机程序产品。
背景技术
本部分旨在提供权利要求中所述的本发明的背景或上下文。在本文中的描述可以包括可追求的概念,但并非是先前已经构思或追求的概念。因此,除非在本文中另行指出,否则在本部分中描述的内容不是本申请中的说明书和权利要求的现有技术,并且不因包括在本部分中而被认为是现有技术。
视频编码***可以包括将输入视频转换成适于存储/传输的压缩表示的编码器,以及可将压缩视频表示解压缩回可视形式的解码器。编码器可以丢弃原始视频序列中的一些信息,以便以更紧凑的形式来表示视频,例如,以使能采用比可能所需要的更低的比特率来存储/传输视频信息。
发明内容
一些实施例提供一种用于对视频信息编码和解码的方法。在本发明的一些实施例中,提供了一种用于视频编码的方法、装置和计算机程序。
根据第一方面,提供了一种方法,其包括:将图像的多个样本行重新采样成多个重新采样的样本行;以及将重新采样的样本行沿着嵌套多边形链扫描重新排列成重新排列的样本阵列。
根据一个实施例,该方法还包括:对重新排列的样本阵列编码。
根据一个实施例,该方法还包括:通过重新构建多个样本行作为对原始图像编码或从编码图像中解码多个样本行的一部分来获得多个样本行;以及使用重新排列的样本阵列作为帧内预测、帧间预测或层间预测的参考。
根据一个实施例,该方法还包括:将图像的多个区域的多个样本行重新采样成多个重新采样的样本行;以及将重新采样的样本行重新排列成多个重新排列的样本阵列。
根据一个实施例,该方法还包括:将多个重新排列的样本阵列打包成单个帧。
根据一个实施例,该方法还包括:将多个重新排列的样本阵列打包成不同的帧。
根据一个实施例,嵌套多边形链扫描包括:将图像的最顶部样本行或最底部样本行排列到重新排列的样本阵列中的最内侧多边形链中;以及将距离图像的最顶部样本行或最底部样本行最远的样本行排列到重新排列的样本阵列中的最外侧多边形链中。
根据一个实施例,样本行包括来自以下组中的一个的一个或多个样本:亮度样本;色度样本;亮度样本和色度样本两者。
根据第二方面,提供了一种方法,其包括:获得包括沿着嵌套多边形链扫描的多个重新采样的样本行的重新排列的样本阵列;通过沿扫描顺序将嵌套多边形链扫描中的多边形链当作一维信号来提取重新采样的样本行;将重新采样的样本行重新采样成样本行;以及将样本行排列成样本阵列。
根据一个实施例,该方法还包括:通过对编码帧解码或者通过重新构建帧作为对原始帧编码的一部分来获得重新排列的样本阵列。
根据一个实施例,该方法还包括:使用样本阵列作为帧内预测、帧间预测或层间预测的参考。
根据第三方面,提供了一种装置,其包括至少一个处理器、包括计算机程序代码的存储器,存储器和计算机程序代码被配置为与至少一个处理器一起使该装置至少执行以下操作:将图像的多个样本行重新采样成多个重新采样的样本行;以及将重新采样的样本行沿着嵌套多边形链扫描重新排列成重新排列的样本阵列。
根据一个实施例,该装置进一步包括被配置为使该装置执行以下操作的计算机程序代码:对重新排列的样本阵列编码。
根据一个实施例,该装置进一步包括被配置为使该装置执行以下操作的计算机程序代码:通过重新构建多个样本行作为对原始图像编码或从编码图像中解码多个样本行的一部分来获得多个样本行;以及使用重新排列的样本阵列作为帧内预测、帧间预测或层间预测的参考。
根据一个实施例,该装置进一步包括被配置为使该装置执行以下操作的计算机程序代码:将图像的多个区域的多个样本行重新采样成多个重新采样的样本行;以及将重新采样的样本行重新排列成多个重新排列的样本阵列。
根据一个实施例,该装置进一步包括被配置为使该装置执行以下操作的计算机程序代码:将多个重新排列的样本阵列打包成单个帧。
根据一个实施例,该装置进一步包括被配置为使该装置执行以下操作的计算机程序代码:将多个重新排列的样本阵列打包成不同的帧。
根据一个实施例,嵌套多边形链扫描包括:将图像的最顶部样本行或最底部样本行排列到重新排列的样本阵列中的最内侧多边形链中;以及将距离图像的最顶部样本行或最底部样本行最远的样本行排列到重新排列的样本阵列中的最外侧多边形链中。
根据一个实施例,样本行包括来自以下组中的一个的一个或多个样本:亮度样本;色度样本;亮度样本和色度样本两者。
根据第四方面,提供了一种装置,其包括至少一个处理器,包括计算机程序代码的存储器,存储器和计算机程序代码被配置为与至少一个处理器一起使该装置至少执行以下操作:获得包括沿着嵌套多边形链扫描的多个重新采样的样本行的重新排列的样本阵列;通过沿着扫描顺序将嵌套多边形链扫描中的多边形链当作一维信号来提取重新采样的样本行;将重新采样的样本行重新采样成样本行;以及将样本行排列成样本阵列。
根据一个实施例,该装置进一步包括被配置为使该装置执行以下操作的计算机程序代码:通过队编码帧解码或者通过重新构建帧作为对原始帧编码的一部分来获得重新排列的样本阵列。
根据一个实施例,该装置进一步包括被配置为使该装置执行以下操作的计算机程序代码:使用样本阵列作为帧内预测、帧间预测或层间预测的参考。
根据第五方面,提供了一种装置,其包括:用于将图像的多个样本行重新采样成多个重新采样的样本行的装置;以及用于将重新采样的样本行沿着嵌套多边形链扫描重新排列成重新排列的样本阵列的装置。
根据第六方面,提供了一种装置,其包括:用于获得包括沿着嵌套多边形链扫描的多个重新采样的样本行的重新排列的样本阵列的装置;用于通过沿着扫描顺序将嵌套多边形链扫描中的多边形链当作一维信号来提取重新采样的样本行的装置;用于将重新采样的样本行重新采样成样本行的装置;以及用于将样本行排列成样本阵列的装置。
根据第八方面,提供了一种具体化在非暂时性计算机可读介质上的计算机程序产品,其包括计算机程序代码,该计算机程序代码当在至少一个处理器上执行时被配置为使装置或***:将图像的多个样本行重新采样成多个重新采样的样本行;以及将重新采样的样本行沿着嵌套多边形链扫描重新排列成重新排列的样本阵列。
根据第九方面,提供了一种具体化在非暂时性计算机可读介质上的计算机程序产品,其包括计算机程序代码,该计算机程序代码当在至少一个处理器上执行时被配置为使装置或***:获得包括沿着嵌套多边形链扫描的多个重新采样的样本行的重新排列的样本阵列;通过沿着扫描顺序将嵌套多边形链扫描中的多边形链当作一维信号来提取重新采样的样本行;将重新采样的样本行重新采样成样本行;以及将样本行排列成样本阵列。
附图说明
在下文中,将参考附图更详细地描述本发明的各种实施例,其中:图1示出根据实施例的视频编码***的框图;
图2示出根据实施例的装置的布局;
图3示出***的示例;
图4示出视频编码器的框图;
图5示出等距形全景图像的示例;
图6示出全景图像的重新采样的实施例;
图7a、7b示出全景图像的重新采样的另一个实施例;
图8示出全景图像的重新采样的又一个实施例;
图9示出全景图像的重新采样的又一个实施例;
图10示出预处理和成帧打包编码和解码的实施例;
图11示出运动受限图块的实施例;
图12示出多分辨率运动约束图块的实施例;
图13示出层间处理的实施例;
图14示出引导重写(guided rewriting)的实施例;
图15是根据实施例的方法的流程图;
图16是根据另一个实施例的方法的流程图。
具体实施方式
在下文中,将在一个视频编码布置的上下文中描述本发明的若干实施例。然而需指出,本发明不限于该特定布置。实际上,不同的实施例在需要改进不可伸缩、可伸缩和/或多视图视频编码的任何环境中具有广泛的应用。例如,本发明可以应用于视频编码***,如流传输***、DVD播放器、数字电视接收器、个人视频记录器、个人计算机上的***和计算机程序、手持式计算机和通信设备、以及诸如转码器和云计算布置的其中视频数据被处理的网络单元。
以下进一步详细描述了用于实现一些实施例的适用的装置和可能的机制。在这方面,首先参考图1和图2,其中图1示出了根据示例性实施例的视频编码***的框图,作为示例性装置或电子设备50的示意性框图,其可以集成根据本发明的实施例的编解码器。图2示出了根据示例性实施例的装置的布局。接下来将解释图1和图2中的元件。
电子设备50例如可以是无线通信***的移动终端或用户设备。然而,应当理解,本发明的实施例可以在可能需要编码和解码或者对视频图像编码或解码的任何电子设备或装置内实现。
装置50可包括用于集成和保护设备的壳体30。装置50还可包括采用液晶显示器形式的显示器32。在本发明的其它实施例中,显示器可以采用适用于显示图像或视频的任何适合的显示技术。装置50还可以包括小键盘34。在本发明的其它实施例中,可以采用任何适合的数据或用户接口机制。例如,用户接口可以实现为作为触敏显示器的一部分的虚拟键盘或数据输入***。
该装置可以包括麦克风36或任何适合的音频输入,其可以是数字或模拟信号输入。装置50还可以包括音频输出设备,在本发明的实施例中,音频输出设备可以是耳机38、扬声器或模拟音频或数字音频输出连接中的任何一个。装置50还可以包括电池40(或者在本发明的其它实施例中,该设备可以由任何适合的移动能量设备供电,诸如太阳能电池、燃料电池或发条发电机)。该装置还可以包括能够记录或捕获图像和/或视频的照相机42。装置50还可以包括红外端口,其用于与其它设备进行短距离视线通信。在其它实施例中,装置50还可以包括任何适合的短距离通信方案,例如,蓝牙无线连接或USB/火线有线连接。
装置50可以包括用于控制装置50的控制器56或处理器。控制器56可以连接到存储器58,在本发明的实施例中,存储器58可以以图像和音频数据的形式存储数据和/或还可以存储用于在控制器56上实现的指令。控制器26还可以连接到编解码器电路54,编解码器电路54适用于执行音频和/或视频数据的编码和解码,或者协助由控制器执行的编码和解码。
装置50还可以包括读卡器48和智能卡46,例如UICC和UICC读取器,其用于提供用户信息并且适用于提供用于在网络上对用户进行认证和授权的认证信息。
装置50可以包括无线电接口电路52,其连接到控制器并且适用于生成无线通信信号,例如用于与蜂窝通信网络、无线通信***或无线局域网进行通信。装置50还可以包括连接到无线电接口电路52的天线44,其用于将在无线电接口电路52处产生的无线电频率信号发送到其它装置,以及用于从其它装置接收无线电频率信号。
装置50可以包括能够记录或检测各个帧的照相机,其然后将这些帧传递到编解码器54或控制器以进行处理。该装置可以在传输和/或存储之前从另一个设备接收用于处理的视频图像数据。装置50还可以无线地或通过有线连接接收用于编码/解码的图像。
关于图3,其中示出了可以使用本发明的实施例的***的示例。***10包括可以通过一个或多个网络进行通信的多个通信设备。***10可以包括有线或无线网络的任何组合,这些网络包括但不限于无线蜂窝电话网络(诸如GSM、UMTS、CDMA网络等)、诸如由任一IEEE 802.x标准定义的无线局域网(WLAN)、蓝牙个人局域网、以太网局域网、令牌环局域网、广域网和因特网。
***10可以包括适用于实现本发明的实施例的有线和无线通信设备和/或装置50。
例如,图3中所示的***示出了移动电话网络11以及因特网28的表示。到因特网28的连接可以包括但不限于长距离无线连接、短距离无线连接、以及各种有线连接,包括但不限于电话线、电缆线、电力线和类似的通信路径。
***10中示出的示例性通信设备可以包括但不限于电子设备或装置50,个人数字助理(PDA)和移动电话14的组合、PDA 16、集成消息传送设备(IMD)18、台式计算机20、笔记本计算机22。装置50可以是静止的或移动的(当被正在移动的个人携带时)。装置50还可以位于一种运输模式中,包括但不限于汽车、卡车、出租车、公共汽车、火车、船、飞机、自行车、摩托车或任何类似的适合的运输模式。
实施例还可以在机顶盒中实现,即,可以/可以不具有显示或无线能力的数字TV接收器;在具有编码器/解码器实现的硬件或软件或两者的组合的平板计算机或(膝上型)个人计算机(PC)中实现;在各种操作***中实现;以及在芯片组、处理器、DSP和/或提供基于硬件/软件的编码的嵌入式***中实现。
一些或其它装置可以发送和接收呼叫和消息,并通过到基站24的无线连接25与服务提供商通信。基站24可以连接到允许移动电话网络11与因特网28之间进行通信的网络服务器26。该***可以包括附加的通信设备和各种类型的通信设备。
通信设备可以使用各种传输技术进行通信,包括但不限于码分多址(CDMA)、全球移动通信***(GSM)、通用移动电信***(UMTS)、时分多址(TDMA)、频分多址(FDMA)、传输控制协议-因特网协议(TCP-IP)、短消息服务(SMS)、多媒体消息服务(MMS)、电子邮件、即时消息服务(IMS)、蓝牙、IEEE 802.11和任何类似的无线通信技术。实现本发明的各种实施例时所涉及的通信设备可以使用各种介质进行通信,包括但不限于无线电、红外线、激光、电缆连接和任何适合的连接。
实时传输协议(RTP)广泛用于诸如音频和视频的定时媒体的实时传输。RTP可以在用户数据报协议(UDP)之上运行,而UDP又可以在因特网协议(IP)之上运行。RTP在因特网工程任务组(IETF)请求注释(RFC)3550中规定,其可从www.ietf.org/rfc/rfc3550.txt获得。在RTP传输中,媒体数据被封装到RTP分组中。通常,每种媒体类型或媒体编码格式具有专用RTP有效载荷格式。
RTP会话是与RTP通信的一组参与者之间的关联。它是一个群组通信信道,其可以承载多个RTP流。RTP流是包括媒体数据的RTP分组流。RTP流由属于特定RTP会话的SSRC标识。SSRC是指同步源或同步源标识符,它是RTP分组报头中的32位SSRC字段。同步源的特征在于来自同步源的所有分组形成相同定时和序列号空间的一部分,因此接收器可以通过同步源对分组(packet)进行分组(group)以进行播放。同步源的示例包括从诸如麦克风或相机或RTP混合器的信号源获得的分组流的发送器。每个RTP流由SSRC标识,该SSRC在RTP会话中是唯一的。
视频编解码器包括编码器和解码器,编码器将输入视频转换成适合于存储/传输的压缩表示,解码器可以将压缩视频表示解压缩回可视形式。视频编码器和/或视频解码器也可以彼此分离,即不需要形成编解码器。编码器丢弃原始视频序列中的一些信息,以便以更紧凑的形式(即,以更低的比特率)来表示视频。视频编码器可用于对图像序列进行编码,如随后所定义的,而视频解码器可用于对编码的图像序列进行解码。视频编码器或视频编码器的帧内编码部分或图像编码器可用于对图像进行编码,而视频解码器或视频解码器的帧间解码部分或图像解码器可用于对编码的图像进行解码。
一些混合视频编码器,例如ITU-T H.263和H.264的许多编码器实现,在两个阶段中对视频信息进行编码。首先,例如通过运动补偿装置(找到并指示与正被编码的块紧密对应的先前编码的视频帧之一中的区域)或通过空间装置(使用将以特定方式进行编码的块周围的像素值)预测某一图像区域(或“块”)中的像素值。其次,对预测误差(即预测像素块与原始像素块之间的差异)进行编码。这通常通过使用特定变换(例如,离散余弦变换(DCT)或其变形)对像素值中的差异进行变换,对系数进行量化以及对量化系数进行熵编码来实现。通过改变量化过程的保真度,编码器可以控制像素表示的精确度(图像质量)与所得到的编码的视频表示的大小(文件大小或传输比特率)之间的平衡。
在时间预测中,预测的源是先前解码的图像(也称为参考图像)。在帧内块复制(也称为帧内块复制预测)中,与时间预测类似地应用预测,但是参考图像是当前图像,并且在预测过程中只能参考先前解码的样本。可以与时间预测类似地应用层间或视图间预测,但是参考图像分别是来自另一可伸缩层或来自另一视图的解码图像。在一些情况下,帧间预测可仅指时间预测,而在其它情况下,帧间预测可统指时间预测以及帧内块复制、层间预测和视图间预测中的任一个,前提是它们是用与时间预测相同或类似的方法执行的。帧间预测或时间预测有时可称为运动补偿或运动补偿预测。
帧内预测利用了同一图像内的相邻像素可能相关的事实。帧内预测可以在空间或变换域中执行,即,可以预测样本值或变换系数。帧内预测通常在其中不应用帧间预测的帧内编码中使用。
在编码方案中可以存在不同类型的帧内预测模式,编码器可例如基于块或编码单元基础从中选择并指示所使用的模式。例如,以块或编码单元为基础。解码器可以对所指示的帧内预测模式进行解码并且相应地重新构建预测块。例如,若干各自用于不同的角度方向的角度帧内预测模式是可用的。角度帧内预测可被认为是沿着线性预测方向来推断相邻块的边界样本。附加地或替代地,平面预测模式可以是可用的。平面预测可被认为基本上形成预测块,其中,预测块的每个样本可被规定为当前块的左侧的相邻样本列中的垂直对齐样本和当前块的上方的相邻样本行中的水平对齐样本的平均值。附加地或替代地,DC预测模式可以是可用的,其中,预测块是一个或多个相邻块的平均样本值。
编码过程的一个结果是一组编码参数,诸如运动向量和量化的变换系数。如果首先根据空间或时间上相邻的参数预测多个参数,则可以更有效地对这些参数进行熵编码。例如,运动向量可以根据空间相邻的运动向量进行预测,并且可以仅对相对于运动向量预测器的差进行编码。编码参数的预测和帧内预测可以统称为图像内预测。
图4示出了适用于采用本发明实施例的视频编码器的框图。图4示出了用于两层的编码器,但是应当理解,所示出的编码器可以类似地简化为仅编码一层或者扩展为编码多于两层。图4示出了视频编码器的实施例,其包括用于基础层的第一编码器部分500和用于增强层的第二编码器部分502。第一编码器部分500和第二编码器部分502中的每一个可以包括像素预测器302、402,预测误差编码器303、403和预测误差解码器304、404。图4还示出了像素预测器302、402的实施例,其包括帧间预测器306、406,帧内预测器308、408,模式选择器310、410,滤波器316、416和参考帧存储器318、418。第一编码器部分500的像素预测器302接收视频流的300个基础层图像,这些图像在帧间预测器306(其确定图像与运动补偿参考帧318之间的差异)和帧内预测器308(其仅基于当前帧或图像的已处理部分来确定图像块的预测)两者处进行编码。帧间预测器和帧内预测器两者的输出被传递到模式选择器310。帧内预测器308可以具有多于一个的帧内预测模式。因此,每个模式可以执行帧内预测并向模式选择器310提供预测信号。模式选择器310还接收基础层图像300的副本。对应地,第二编码器部分502的像素预测器402接收视频流的增强层图像400,这些图像在帧间预测器406(其确定图像与运动补偿参考帧418之间的差异)和帧内预测器408(其仅基于当前帧或图像的已处理部分来确定图像块的预测)两者处进行编码。帧间预测器和帧内预测器两者的输出被传递到模式选择器410。帧内预测器408可以具有多于一个的帧内预测模式。因此,每个模式可以执行帧内预测并向模式选择器410提供预测信号。模式选择器410还接收增强层图像400的副本。
根据选择哪种编码模式来编码当前块,帧间预测器306、406的输出或可选的帧内预测器模式之一的输出或模式选择器内的表面编码器的输出被传递到模式选择器310、410的输出端。模式选择器的输出被传递到第一求和设备321、421。第一求和设备可以从基础层图像300/增强层图像400中减去像素预测器302、402的输出以产生第一预测误差信号320、420,其被输入到预测误差编码器303、403。
像素预测器302、402还从初步重新构建器339、439接收图像块312、412的预测表示与预测误差解码器304、404的输出338、438的组合。初步重新构建图像314、414可以被传递到帧内预测器308、408和滤波器316、416。接收初步表示的滤波器316、416可以对初步表示进行滤波并输出可以保存在参考帧存储器318、418中的最终重新构建图像340、440。参考帧存储器318可以连接到帧间预测器306以用作在帧间预测操作中与未来的基础层图像300进行比较的参考图像。根据一些实施例,在选择基础层并且将其指示为用于增强层的层间样本预测和/或层间运动信息预测的源的情况下,参考帧存储器318还可以连接到帧间预测器406以用作在帧间预测操作中与未来的增强层图像400进行比较的参考图像。此外,参考帧存储器418可以连接到帧间预测器406以用作在帧间预测操作中与未来的增强层图像400进行比较的参考图像。
根据一些实施例,在选择基础层并且将其指示为用于预测增强层的滤波参数的源的情况下,可以将来自第一编码器部分500的滤波器316的滤波参数提供给第二编码器部分502。
预测误差编码器303、403包括变换单元342、442和量化器344、444。变换单元342、442将第一预测误差信号320、420变换到变换域。例如,变换是DCT变换。量化器344、444量化变换域信号(例如,DCT系数)以形成量化系数。
预测误差解码器304、404接收来自预测误差编码器303、403的输出,并执行预测误差编码器303、403的相反处理,以产生解码的预测误差信号338、438,当在第二求和设备339、439处与图像块312、412的预测表示组合时,这些解码的预测误差信号338、438产生初步重新构建图像314、414。可以认为预测误差解码器包括去量化器361、461,其对量化的系数值(例如,DCT系数)进行去量化,以重新构建变换信号,还包括逆变换单元363、463,其对重新构建变换信号执行逆变换,其中逆变换单元363、463的输出包含重新构建块。预测误差解码器还可以包括块滤波器,其可以根据进一步解码的信息和滤波器参数对重新构建块进行滤波。
熵编码器330、430接收预测误差编码器303、403的输出,并且可以对信号执行适合的熵编码/可变长度编码,以提供误差检测和校正能力。熵编码器330、430的输出可以通过例如复用器508***比特流。
H.264/AVC标准由国际电信联盟电信标准化部门(ITU-T)的视频编码专家组(VCEG)和国际标准化组织(ISO)/国际电工委员会(IEC)的运动图像专家组(MPEG)的联合视频组(JVT)开发。H.264/AVC标准由这两个母标准化组织发布,它被称为ITU-T建议H.264和ISO/IEC国际标准14496-10,也被称为MPEG-4第10部分高级视频编码(AVC)。H.264/AVC标准有多个版本,其中在规范中纳入新的扩展或特征。这些扩展包括可伸缩视频编码(SVC)和多视图视频编码(MVC)。
高效视频编码(H.265/HEVC,也被称为HEVC)标准的版本1由VCEG和MPEG的联合协作小组-视频编码(JCT-VC)开发。该标准由两个母标准化组织发布,并且被称为ITU-T建议H.265和ISO/IEC国际标准23008-2,也被称为MPEG-H第2部分高效视频编码(HEVC)。H.265/HEVC的版本2作为ITU-T H.265建议(10/2014)和ISO/IEC 23008-2的版本2发布。目前正在进行标准化项目以开发对H.265/HEVC的进一步扩展,包括三维和屏幕内容编码扩展,其可以分别缩写为3D-HEVC和SCC。
SHVC、MV-HEVC和3D-HEVC使用在HEVC标准的版本2的附录F中规定的公共基础规范。该公共基础例如包括高级语法和语义,例如规定比特流的层的一些特性,诸如层间依赖性,以及解码过程,诸如包括层间参考图像的参考图像列表构建和用于多层比特流的图像顺序计数推导。附录F也可用于现在的HEVC的后续多层扩展。应当理解,即使视频编码器、视频解码器、编码方法、解码方法、比特流结构和/或实施例可以在下文中参考特定扩展(例如SHVC和/或MV-HEVC)来描述,它们也通常适用于HEVC的任何多层扩展,甚至更一般地适用于任何多层视频编码方案。
在本节中将H.264/AVC和HEVC的一些关键定义、比特流和编码结构以及概念描述为其中可以实现实施例的视频编码器、解码器、编码方法、解码方法和比特流结构的示例。H.264/AVC的这些关键定义、比特流和编码结构以及概念与在HEVC中的相同——因此,它们在下面被联合地描述。本发明的各方面不限于H.264/AVC或HEVC,而是针对在其上可以部分或全部实现本发明的一个可能的基础而进行描述。
与许多早期视频编码标准类似,在H.264/AVC和HEVC中规定了比特流语法和语义以及用于无差错比特流的解码过程。没有规定编码过程,但编码器必须生成符合的比特流。可以使用假设参考解码器(HRD)来验证比特流和解码器一致性。这些标准包含有助于处理传输错误和丢失的编码工具,但是这些工具的使用在编码中是可选的,并且没有规定用于错误比特流的解码过程。
在现有标准的描述以及示例性实施例的描述中,语法元素可被定义为比特流中表示的数据的元素。语法结构可被定义为以特定顺序一起存在于比特流中的“零”个或多个语法元素。在现有标准的描述以及示例性实施例的描述中,可以使用短语“由外部装置”或“通过外部装置”。例如,可以“由外部装置”向解码过程提供诸如在解码过程中使用的语法结构或变量值的实体。短语“由外部装置”可以指示实体不包括在由编码器创建的比特流中,而是例如使用控制协议从比特流向外传送。它可以替代地或附加地意味着实体不是由编码器创建的,而是例如可以在使用解码器的播放器或解码控制逻辑等中创建。解码器可以具有用于输入外部装置的接口,诸如变量值。
H.264/AVC或HEVC编码器的输入和H.264/AVC或HEVC解码器的输出的基本单元分别是图像。作为编码器的输入而提供的图像也可被称为源图像,而由解码器解码的图像可被称为解码图像。
源图像和解码图像每个均包括一个或多个样本阵列,诸如以下多组样本阵列中的一个:
-仅亮度(Y)(单色)。
-亮度和两个色度(YCbCr或YCgCo)。
-绿色、蓝色和红色(GBR,也称为RGB)。
-表示其它未指定的单色或三刺激颜色采样(例如,YZX,也称为XYZ)的阵列。
在下文中,这些阵列可被称为亮度(或L或Y)和色度,其中,两个色度阵列可被称为Cb和Cr;无论使用的实际颜色表示方法是什么。使用的实际颜色表示方法例如可以在编码比特流中指示,例如使用H.264/AVC和/或HEVC的视频可用性信息(VUI)语法。分量可被定义为来自三个样本阵列(亮度和两个色度)之一的阵列或单个样本,或者构成单色格式的图像的阵列或该阵列的单个样本。
在H.264/AVC和HEVC中,图像可以是帧或段(field)。帧包括亮度样本矩阵,并且可包括对应的色度样本。段是帧的一组交替的样本行,并且可以在源信号交织时被用作编码器的输入。色度样本阵列可以不存在(因此可能在使用单色采样),或者与亮度样本阵列相比,色度样本阵列可以进行二次采样。色度格式可总结如下:
-在单色采样中,只有一个样本阵列,其可以名义上被认为是亮度阵列。
-在4:2:0采样中,两个色度阵列中的每一个都具有亮度阵列的一半高度和一半宽度。
-在4:2:2采样中,两个色度阵列中的每一个都具有亮度阵列的相同高度和一半宽度。
-在4:4:4采样中,在没有使用单独的颜色平面时,两个色度阵列中的每一个都具有与亮度阵列相同的高度和宽度。
在H.264/AVC和HEVC中,可以将样本阵列作为单独的颜色平面编码到比特流中并且分别从比特流中对被单独编码的颜色平面进行解码。当使用单独的颜色平面时,它们中的每一个都作为具有单色采样的图像被(编码器和/或解码器)单独地处理。
分割(partitioning)可被定义为将集合划分成多个子集,使得集合中的每个元素恰好在子集之一中。
在H.264/AVC中,宏块是16×16的亮度样本块和对应的色度样本块。例如,在4:2:0采样模式中,对于每个色度分量,宏块包含一个8×8色度样本块。在H.264/AVC中,图像被分割为一个或多个切片组(slice group),并且一个切片组包含一个或多个切片。在H.264/AVC中,切片由在特定切片组内的光栅扫描中的连续排序的整数个宏块组成。
当描述HEVC编码和/或解码的操作时,可以使用以下术语。可以将编码块定义为针对N的某个值的N×N个样本块,如此将编码树块划分成编码块便是分割。可以将编码树块(CTB)定义为针对N的某个值的N×N个样本块,如此将分量划分成编码树块便是分割。编码树单元(CTU)可被定义为亮度样本的编码树块,具有三个样本阵列的图像的色度样本的两个对应的编码树块,或者单色图像或使用三个单独的颜色平面和用于编码样本的语法结构编码的图像的样本的编码树块。编码单元(CU)可被定义为亮度样本的编码块,具有三个样本阵列的图像的色度样本的两个对应编码块,或者单色图像或使用三个单独的颜色平面和用于编码样本的语法结构编码的图像的样本的编码块。
在一些视频编解码器(诸如高效视频编码(HEVC)编解码器)中,视频图像被划分成覆盖图像区域的编码单元(CU)。CU包括定义CU内的样本的预测过程的一个或多个预测单元(PU)以及定义所述CU中的样本的预测误差编码过程的一个或多个变换单元(TU)。通常,CU由方形样本块组成,其大小可从预定义的一组可能的CU大小中选择。具有最大允许大小的CU可以被命名为LCU(最大编码单元)或编码树单元(CTU),并且视频图像被划分成非重叠的LCU。LCU可以进一步划分成更小的CU的组合,例如,通过递归地划分LCU和所得到的CU。每个所得到的CU通常具有至少一个PU和至少一个与之相关联的TU。每个PU和TU可以进一步被划分成更小的PU和TU,以分别增加预测和预测误差编码过程的粒度。每个PU具有与之相关联的预测信息,该信息定义将对该PU内的像素应用何种类型的预测(例如,用于帧间预测PU的运动向量信息和用于帧内预测PU的帧内预测方向性信息)。
每个TU可以与描述所述TU内的样本的预测误差解码过程的信息(例如包括DCT系数信息)相关联。通常在CU级用信号通知是否对每个CU应用预测误差编码。在没有与CU相关联的预测误差残差的情况下,可以认为没有用于所述CU的TU。通常在比特流中用信号通知图像被划分成CU以及CU被划分成PU和TU,从而允许解码器再现这些单元的预期结构。
在HEVC中,图像可被分割为图块(tile),图块是矩形的并且包含整数个LCU。在HEVC中,分割为图块形成包括一个或多个图块列以及一个或多个图块行的图块网格。编码的图块是字节对齐的,这可以通过在编码的图块的终止处添加字节对齐位来实现。
在HEVC中,分割为图块形成规则网格,其中,图块的高度和宽度彼此相差最多一个LCU。在HEVC中,切片被定义为包含在一个独立的切片片段中的整数个编码树单元并且所有后续相关切片片段(如果有)位于同一访问单元内的下一个独立切片(如果有)之前。在HEVC中,切片片段被定义为在图块扫描中连续排序并包含在单个NAL单元中的整数个编码树单元。将每个图像划分成切片片段是分割。在HEVC中,独立的切片片段被定义为是这样的切片片段:对于该切片片段,不根据前一切片片段的值断定切片片段报头的语法元素的值,而相关切片片段被定义为是这样的切片片段:对于该切片片段,根据解码顺序中的前一独立切片片段的值断定切片片段报头的一些语法元素的值。在HEVC中,切片报头被定义为作为当前切片片段或者作为位于当前相关切片片段之前的独立切片片段的独立切片片段的切片片段报头,而切片片段报头被定义为编码的切片片段的一部分,其包含与切片片段中表示的第一或所有编码树单元有关的数据元素。以图块内或图像内(如果未使用图块)的LCU的光栅扫描顺序扫描CU。在LCU内,CU具有特定的扫描顺序。
在HEVC中,图块包含整数个编码树单元,并且可以由包含在多于一个的切片中的编码树单元组成。类似地,切片可以由包含在多于一个的图块中的编码树单元组成。在HEVC中,切片中的所有编码树单元属于相同的图块和/或图块中的所有编码树单元属于相同的切片。此外,在HEVC中,切片片段中的所有编码树单元属于相同的图块和/或图块中的所有编码树单元属于相同的切片片段。
运动受限图块集使得帧间预测过程在编码中受到约束,如此在运动受限图块集以外没有样本值,以及在使用运动受限图块集以外的一个或多个样本导出的部分(fractional)样本位置处没有样本值,这被用于运动受限图块集内的任何样本的帧间预测。
需要指出,在帧间预测中使用的样本位置被充满,使得在图像以外的位置也要以其它方式充满以指向图的对应边界样本。因此,如果图块边界也是图像边界,则运动向量可以有效地穿过该边界,或者运动向量可以有效地导致部分样本内插,其将指向该边界以外的位置,因为样本位置充满到边界上。
EVC的时间运动受限图块集SEI消息可用于指示比特流中运动受限图块集的存在。
层间受限图块集使得层间预测过程在编码中受到约束,如此在每个关联的参考图块集以外没有样本值,以及在使用每个关联的参考图块集以外的一个或多个样本导出的部分样本位置处没有样本值,这被用于层间受限图块集内的任何样本的层间预测。
HEVC的层间受限图块集SEI消息可用于指示比特流中的层间受限图块集的存在。
解码器通过应用类似于编码器的预测装置来重新构建输出视频,以形成像素块的预测表示(使用由编码器创建并存储在压缩表示中的运动或空间信息)和预测误差解码(预测误差编码的逆操作,其在空间像素域中恢复量化的预测误差信号)。在应用预测和预测误差解码装置之后,解码器对预测和预测误差信号(像素值)求和以形成输出视频帧。解码器(和编码器)还可以应用附加的滤波装置,以在传递输出视频进行显示和/或将其存储为视频序列中即将到来的帧的预测参考之前改进输出视频的质量。
滤波例如可以包括以下中的一个或多个:去块、样本自适应偏移(SAO)和/或自适应环路滤波(ALF)。H.264/AVC包括去块,而HEVC包括去块和SAO。
在典型的视频编解码器中,用与每个运动补偿图像块(诸如预测单元)相关联的运动向量来指示运动信息。这些运动向量中的每一个表示将要编码(在编码器侧)或解码(在解码器侧)的图像中的图像块与先前编码或解码图像之一中的预测源块的位移。为了有效地表示运动向量,通常相对于块特定预测运动向量差分地编码这些运动向量。在典型的视频编解码器中,采用预定义的方式创建预测的运动向量,例如计算相邻块的编码或解码的运动向量的中值。创建运动向量预测的另一种方式是根据时间参考图像中的相邻块和/或共同定位的块生成候选预测列表,并信号通知所选择的候选者作为运动向量预测器。除了预测运动向量值之外,还可以预测哪个参考图像用于运动补偿预测,并且该预测信息例如可以由先前编码/解码的图像的参考索引表示。通常根据时间参考图像中的相邻块和/或共同定位的块预测参考索引。此外,典型的高效视频编解码器采用附加的运动信息编码/解码机制,通常称为合并模式,其中预测包括每个可用参考图像列表的运动向量和对应的参考图像索引的所有运动段(field)信息,并且在不做任何修改/更正的情况下使用这些信息。类似地,使用时间参考图像中的相邻块和/或共同定位块的运动段信息来执行预测运动段信息,并且在填充有可用的相邻/共同定位的块的运动段候选列表中用信号通知所使用的运动段信息。
典型的视频编解码器使得能够使用单向预测(uni-prediction),其中单个预测块用于被编(解)码的块,以及使得能够使用双向预测(bi-prediction),其中两个预测块被组合以形成用于被编(解)码的块的预测。一些视频编解码器支持加权预测,其中在添加残差信息之前对预测块的样本值进行加权。例如,可以应用乘法加权因子和附加偏移。在由一些视频编解码器实现的显式加权预测中,例如可以在每个可允许参考图像索引的切片报头中对加权因子和偏移进行编码。在由一些视频编解码器实现的隐式加权预测中,加权因子和/或偏移不是编码的,而是例如基于参考图像的相对图像顺序计数(POC)距离而导出的。
在典型的视频编解码器中,首先用变换内核(如DCT)变换运动补偿之后的预测残差,然后对其进行编码。这样做的原因在于:在残差和变换之间通常仍存在一些相关性,在许多情况下,变换可以帮助降低这种相关性并提供更有效的编码。
典型的视频编码器利用拉格朗日(Lagrangian)成本函数来找到最佳编码模式,例如,期望的宏块模式和相关联的运动向量。这种成本函数使用加权因子λ将由有损编码方法引起的(精确的或估计的)图像失真与表示图像区域中的像素值所需的(精确的或估计的)信息量联系在一起:
C=D+λR (1)
其中,C是最小化的拉格朗日成本,D是考虑模式和运动向量的图像失真(例如,均方误差),R是表示在解码器中重新构建图像块所需数据所需的比特数(包括表示候选运动向量的数据量)。
视频编码标准和规范可以允许编码器将编码图像划分为编码切片等。通常在切片边界上禁用图像内预测。因此,切片可被视为将编码图像划分为可独立解码的部分的方式。在H.264/AVC和HEVC中,可以在切片边界上禁用图像内预测。因此,切片可以被视为将编码图像划分为可独立解码的部分的方式,因此切片通常被视为用于传输的基本单元。在许多情况下,编码器可以在比特流中指示在切片边界上关闭哪些类型的图像内预测,并且解码器操作例如在断定哪些预测源可用时考虑该信息。例如,如果相邻宏块或CU驻留在不同切片中,则可将来自相邻宏块或CU的样本视为不可用于帧内预测。
分别用于H.264/AVC或HEVC编码器的输出和H.264/AVC或HEVC解码器的输入的基本单元是网络抽象层(NAL)单元。为了通过面向分组的网络进行传输或者存储到结构化文件中,可以将NAL单元封装成分组或类似的结构。NAL单元可被定义为包含要遵循的数据类型的指示以及包含该数据的采用RBSP形式的字节的语法结构,如果需要,RBSP夹杂有起始码防止竞争字节。原始字节序列载荷(RBSP)可被定义为包含封装在NAL单元中的整数个字节的语法结构。RBSP要么为空,要么具有数据位串的形式,所述数据位包含语法元素,语法元素其后跟随RBSP停止位,停止位其后跟随零个或多个等于“0”的后续位。NAL单元由报头和有效载荷组成。
在HEVC中,双字节NAL单元报头用于所有特定的NAL单元类型。NAL单元报头包含一个保留位、六位NAL单元类型指示、用于时间级别的三位“nuh_temporal_id_plus1”指示(可被要求大于或等于“1”)以及六位“nuh_layer_id”语法元素。“temporal_id_plus1”语法元素可以被视为NAL单元的时间标识符,并且可以如下地导出基于“零”的“TemporalId”变量:TemporalId=temporal_id_plus1-1。等于“零”的“TemporalId”对应于最低时间级别。“temporal_id_plus1”的值必需是非“零”的,以避免涉及两个NAL单元报头字节的起始码仿效。通过排除具有大于或等于所选值的“TemporalId”的所有VCL NAL单元并且包括所有其它VCL NAL单元而创建的比特流保持一致性。因此,具有等于“TID”的“TemporalId”的图像不使用具有大于“TID”的“TemporalId”的任何图像作为帧间预测参考。子层或时间子层可被定义为时间可伸缩比特流的时间伸缩层,其由具有“TemporalId”变量的特定值的VCLNAL单元和相关联的非VCL NAL单元组成。“nuh_layer_id”可被理解为可伸缩性层标识符。
NAL单元可被归类为视频编码层(VCL)NAL单元和非VCL NAL单元。在H.264/AVC中,编码切片NAL单元包含表示一个或多个编码宏块的语法元素,每个编码宏块对应于未压缩图像中的样本块。在HEVC中,VCL NAL单元包含表示一个或多个CU的语法元素。
在HEVC中,可以将编码切片NAL单元指示为以下类型之一:
Figure BDA0002014981110000211
Figure BDA0002014981110000221
在HEVC中,图像类型的缩写可以定义如下:拖尾(TRAIL)图像、时间子层访问(TSA)、逐步时间子层访问(STSA)、随机访问可解码前导(RADL)图像、随机访问跳过前导(RASL)图像、断链访问(BLA)图像、瞬时解码刷新(IDR)图像、干净随机访问(CRA)图像。
随机访问点(RAP)图像(其也可被称为帧内随机访问点(IRAP)图像)是这样的图像:其中每个切片或切片片段具有16到23(包括16和23)范围内的“nal_unit_type”。独立层中的IRAP图像在其解码过程中不参考其自己以外的任何图像以用于帧间预测。当没有使用帧内块复制时,独立层中的IRAP图像只包含帧内编码的切片。属于具有“nuh_layer_id”值“currLayerId”的预测层的IRAP图像可以包含P、B和I切片,不能使用来自具有“nuh_layer_id”等于“currLayerId”的其它图像的帧间预测,而可以使用来自其直接参考层的层间预测。在当前版本的HEVC中,IRAP图像可以是BLA图像、CRA图像或IDR图像。包含基础层的比特流中的第一图像是基础层的IRAP图像。如果必要的参数集在需要激活时可用,则可以正确地解码解码顺序中的独立层的IRAP图像和独立层的所有后续非RASL图像,而无需执行解码顺序中的IRAP图像之前的任何图像的解码过程。当必要的参数集在需要激活时可用时以及当具有“nuh_layer_id”等于“currLayerId”的层的每个直接参考层的解码已被初始化时(即,当对于“refLayerId”,“LayerInitializedFlag[refLayerId]”等于“1”时,其中“refLayerId”等于具有“nuh_layer_id”等于“currLayerId”的层的直接参考层的所有“nuh_layer_id”值),解码顺序中属于具有“nuh_layer_id”值“currLayerId”的预测层的IRAP图像和“nuh_layer_id”等于“currLayerId”的所有后续非RASL图像可以正确地被解码,而不对解码顺序中的IRAP图像之前的“nuh_layer_id”等于“currLayerId”的任何图像执行解码过程。比特流中可能存在只包含非IRAP图像的帧内编码的切片的图像。
在HEVC中,CRA图像可以是解码顺序中的比特流中的第一图像,或者可以随后出现在比特流中。HEVC中的CRA图像允许所谓的前导图像按照解码顺序位于CRA图像之后,但在输出顺序中位于CRA图像之前。一些前导图像,即所谓的RASL图像,可以使用在CRA图像之前解码的图像作为参考。如果在CRA图像处执行随机访问,则解码和输出顺序中位于CRA图像后面的图像是可解码的,因此与IDR图像的干净随机访问功能类似地实现干净随机访问。
CRA图像可以具有关联的RADL或RASL图像。当CRA图像是解码顺序中的比特流中的第一图像时,CRA图像是解码顺序中的编码的视频序列的第一图像,并且任何相关联的RASL图像不由解码器输出并且可能不可解码,因为它们可能包含对比特流中不存在的图像的参考。
前导图像是在输出顺序中位于相关联的RAP图像之前的图像。相关联的RAP图像是解码顺序中的前一RAP图像(如果存在)。前导图像是RADL图像或RASL图像。
所有RASL图像是相关联的BLA或CRA图像的前导图像。当相关联的RAP图像是BLA图像或者是比特流中的第一编码图像时,RASL图像不被输出并且可能无法正确地被解码,因为RASL图像可能包含对比特流中不存在的图像的参考。然而,如果解码已经从RASL图像的相关联的RAP图像之前的RAP图像开始,则可以正确地解码RASL图像。RASL图像不用作非RASL图像的解码过程的参考图像。当存在时,所有RASL图像在解码顺序中位于同一相关联的RAP图像的所有拖尾图像之前。在HEVC标准的一些草案中,RASL图像被称为标记丢弃(TFD)图像。
所有RADL图像都是前导图像。RADL图像不用作用于同一相关联的RAP图像的拖尾图像的解码过程的参考图像。当存在时,所有RADL图像在解码顺序中位于同一相关联的RAP图像的所有拖尾图像之前。RADL图像不参考在解码顺序中位于相关联的RAP图像之前的任何图像,因此当解码从相关联的RAP图像开始时可以正确地被解码。
当从CRA图像开始的比特流的一部分包括在另一比特流中时,与CRA图像相关联的RASL图像可能无法正确地被解码,因为它们的一些参考图像可能不存在于组合比特流中。为了使这种拼接操作简单,可以改变CRA图像的NAL单元类型以指示它是BLA图像。与BLA图像相关联的RASL图像可能无法正确地被解码,因此不会被输出/显示。此外,可以从解码中省略与BLA图像相关联的RASL图像。
BLA图像可以是解码顺序中的比特流中的第一图像,或者可以随后出现在比特流中。每个BLA图像开始新的编码视频序列,并且对解码过程具有与IDR图像类似的效果。然而,BLA图像包含指定非空参考图集的语法元素。当BLA图像具有等于“BLA_W_LP”的“nal_unit_type”时,它可能具有相关联的RASL图像,该RASL图像不被解码器输出并且可能不可解码,因为它们可能包含对比特流中不存在的图的参考。当BLA图像具有等于“BLA_W_LP”的“nal_unit_type”时,它还可以具有被指定进行解码的相关联的RADL图像。当BLA图像具有等于“BLA_W_RADL”的“nal_unit_type”时,它不具有相关联的RASL图像,但是可以具有被指定进行解码的相关联的RADL图像。当BLA图像具有等于“BLA_N_LP”的“nal_unit_type”时,它不具有任何相关联的前导图像。
具有等于“IDR_N_LP”的“nal_unit_type”的IDR图像不具有存在于比特流中的相关联的前导图像。具有等于“IDR_W_LP”的“nal_unit_type”的IDR图像不具有存在于比特流中的相关联RASL图像,但是可以在比特流中具有相关联的RADL图像。
当“nal_unit_type”的值等于“TRAIL_N”、“TSA_N”、“STSA_N”、“RADL_N”、“RASL_N”、“RSV_VCL_N10”、“RSV_VCL_N12”或“RSV_VCL_N14”时,解码图像不用作相同时间子层的任何其它图像的参考。也即是说,在HEVC中,当“nal_unit_type”的值等于“TRAIL_N”、“TSA_N”、“STSA_N”、“RADL_N”、“RASL_N”、“RSV_VCL_N10”、“RSV_VCL_N12”或“RSV_VCL_N14”时,解码图像不包括在具有相同的“TemporalId”值的任何图像的“RefPicSetStCurrBefore”、“RefPicSetStCurrAfter”和“RefPicSetLtCurr”中的任一项中。可以丢弃具有等于“TRAIL_N”、“TSA_N”、“STSA_N”、“RADL_N”、“RASL_N”、“RSV_VCL_N10”、“RSV_VCL_N12”或“RSV_VCL_N14”的“nal_unit_type”的编码图像,而不影响具有相同的“TemporalId”值的其它图像的可解码性。
拖尾图像可被定义为在输出顺序中位于相关联的RAP图像之后的图像。任何作为拖尾图像的图像都没有等于“RADL_N”、“RADL_R”、“RASL_N”或“RASL_R”的“nal_unit_type”。作为前导图像的任何图像可被约束为在解码顺序中位于与同一RAP图像相关联的所有拖尾图像之前。在比特流中不存在与具有等于“BLA_W_RADL”或“BLA_N_LP”的“nal_unit_type”的BLA图像相关联的RASL图像。在比特流中不存在与具有等于“BLA_N_LP”的“nal_unit_type”的BLA图像相关联或者与具有等于“IDR_N_LP”的“nal_unit_type”的IDR图像相关联的RADL图像。与CRA或BLA图像相关联的任何RASL图像可被约束为在输出顺序中位于与CRA或BLA图像相关联的任何RADL图像之前。与CRA图像相关联的任何RASL图像可被约束为在输出顺序中位于在解码顺序中位于CRA图像之前的任何其它RAP图像之后。
在HEVC中存在两种图像类型:TSA和STSA图像类型,其可用于指示时间子层切换点。如果在TSA或STSA图像(不包括)以及TSA或STSA图像具有等于N+1的“TemporalId”之前已经解码具有最多为N的“TemporalId”的时间子层,则TSA或STSA图像能够解码具有等于N+1的“TemporalId”的所有后续图像(在解码顺序中)。TSA图像类型可以对TSA图像本身以及在解码顺序中位于TSA图像之后的同一子层中的所有图像施加限制。这些图像中的任何一个都不被允许根据在解码顺序中位于TSA图像之前的同一子层中的任何图像使用帧间预测。TSA定义可以进一步对在解码顺序中位于TSA图像之后的更高子层中的图像施加限制。如果该图像与TSA图像属于同一子层或属于比TSA图像更高的子层,则这些图像中的任何一个都不被允许参考在解码顺序中位于TSA图像之前的图像。TSA图像具有大于“0”的“TemporalId”。STSA类似于TSA图像,但是不对在解码顺序中位于STSA图像之后的较高子层中的图像施加限制,因此仅使能向上切换到STSA图像驻留的子层。
非VCL NAL单元例如可以是以下类型之一:序列参数集、图像参数集、补充增强信息(SEI)NAL单元、访问单元分隔符、序列NAL单元的终止、比特流NAL单元的终止、或填充器数据NAL单元。可能需要参数组来重新构建解码图像,而许多其它非VCL NAL单元对于解码样本值的重新构建不是必需的。
通过编码视频序列保持不变的参数可以包括在序列参数集中。除了解码过程可能需要的参数之外,序列参数集可以可选地包含视频可用性信息(VUI),其包括对于缓冲、图像输出定时、渲染和资源预留可能重要的参数。在HEVC中,序列参数集RBSP包括可由一个或多个图像参数集RBSP或包含缓冲周期SEI消息的一个或多个SEI NAL单元参考的参数。图像参数集包含在多个编码图像中可能未改变的这样的参数。图像参数集RBSP可以包括可以由一个或多个编码图像的编码切片NAL单元参考的参数。
在HEVC中,视频参数集(VPS)可被定义为包含应用于“零”个或更多个整个编码的视频序列的语法元素的语法结构,这些编码的视频序列由在SPS中找到的语法元素(该语法元素被在PPS中找到的语法元素参考,而后者被在每个切片片段报头中找到的语法元素参考)的内容确定。视频参数集RBSP可以包括可被一个或多个序列参数集RBSP参考的参数。
视频参数集(VPS)、序列参数集(SPS)和图像参数集(PPS)之间的关系和层次可以描述如下。VPS在参数集层次结构中以及可伸缩性和/或3D视频的上下文中位于SPS上面的一级。VPS可以包括整个编码视频序列中的所有(可伸缩性或视图)层上的所有切片的公共参数。SPS包括整个编码的视频序列中的特定(可伸缩性或视图)层中的所有切片的公共参数,并且可以由多个(可伸缩性或视图)层共享。PPS包括特定层表示中的所有切片的公共参数(一个访问单元中的一个可伸缩性或视图层的表示),并且可能由多个层表示中的所有切片共享。
VPS可以提供有关比特流中的层的依赖关系的信息,以及适用于整个编码视频序列中的所有(可伸缩性或视图)层上的所有切片的许多其它信息。VPS可以被认为包括两个部分:基础VPS和VPS扩展,其中VPS扩展可以可选地存在。在HEVC中,可以认为基础VPS包括video_parameter_set_rbsp()语法结构而不具有vps_extension()语法结构。video_parameter_set_rbsp()语法结构主要是针对HEVC版本1规定的,并且包括可用于基础层解码的语法元素。在HEVC中,可以认为VPS扩展包括vps_extension()语法结构。vps_extension()语法结构在HEVC版本2中规定,主要用于多层扩展,并且包括可用于解码一个或多个非基础层的语法元素,诸如指示层依赖关系的语法元素。
VPS扩展中的语法元素“max_tid_il_ref_pics_plus1”可用于指示非IRAP图像不被用作层间预测的参考,并且指示如果不是这样,则哪些时间子层不被用作层间预测的参考:
“max_tid_il_ref_pics_plus1[i][j]”等于“0”规定了具有等于“layer_id_in_nuh[i]”的“nuh_layer_id”的非IRAP图像不用作具有等于“layer_id_in_nuh[j]”的“nuh_layer_id”的图像的层间预测的源图像。
“max_tid_il_ref_pics_plus1[i][j]”大于“0”规定了具有等于“layer_id_in_nuh[i]”的“nuh_layer_id”和大于“max_tid_il_ref_pics_plus1[i][j]-1”的“TemporalId”的图像不用作具有等于“layer_id_in_nuh[j]”的“nuh_layer_id”的图像的层间预测的源图像。当不存在时,断定“max_tid_il_ref_pics_plus1[i][j]”的值等于“7”。
H.264/AVC和HEVC语法允许参数集的许多实例,并且每个实例用唯一标识符标识。为了限制参数集所需的内存使用,参数集标识符的值范围受到限制。在H.264/AVC和HEVC中,每个切片报头包括对于包含切片的图像的解码活动的图像参数集的标识符,并且每个图像参数集包含活动的序列参数集的标识符。因此,图像和序列参数集的传输不必与切片的传输精确地同步。相反,在参考活动的序列和图像参数集之前在任何时刻接收到它们就足够了,这允许使用比用于切片数据的协议更可靠的传输机制来“带外”传输参数集。例如,参数集可以作为参数包含在实时传输协议(RTP)会话的会话描述中。如果参数集是在带内发送的,则可以重传它们以改进错误稳健性。
带外传输、信令或存储可以附加地或替代地用于传输错误容忍之外的其它目的,诸如便利访问或会话协商。例如,符合ISOBMFF的文件中的轨道的样本条目可以包括参数集,而比特流中的编码数据存储在文件的其它地方或另一文件中。短语“沿着比特流”(例如,沿着比特流进行指示)可在权利要求和所描述的实施例中用于是指采用带外数据与比特流相关联的方式的带外传输、信令或存储。短语“沿着比特流进行解码”等可以是指对与比特流相关联的所涉及的带外数据(其可以从带外传输、信令或存储中获得)进行解码。编码图像是图像的编码表示。
在HEVC中,编码图像可被定义为包含图像的所有编码树单元的图像的编码表示。在HEVC中,访问单元(AU)可被定义为一组NAL单元,这些单元根据特定的分类规则彼此相关联,在解码顺序中是连续的,并且至多包含一个具有任何特定的“nuh_layer_id”的图像。除了包含编码图像的VCL NAL单元以外,访问单元还可以包含非VCL NAL单元。
可能需要编码图像以特定顺序出现在访问单元内。例如,可能需要具有等于“nuhLayerIdA”的“nuh_layer_id”的编码图像在解码顺序中位于同一访问单元中的具有大于“nuhLayerIdA”的“nuh_layer_id”的所有编码图像之前。AU通常包含表示相同输出时间和/或捕获时间的所有编码图像。
比特流可被定义为NAL单元流或字节流形式的比特序列,其形成编码图像和形成一个或多个编码视频序列的相关数据的表示。第一比特流之后可以是相同逻辑信道中的第二比特流,诸如在相同文件中或在通信协议的相同连接中。基本流(在视频编码的上下文中)可被定义为一个或多个比特流的序列。第一比特流的终止可以由特定NAL单元指示,该NAL单元可以被称为比特流终止(EOB)NAL单元并且是比特流的最后一个NAL单元。在HEVC及其当前的草案扩展中,EOB NAL单元被要求使“nuh_layer_id”等于“0”。
在H.264/AVC和HEVC中已经针对不提供成帧结构的传输或存储环境规定了字节流格式。字节流格式通过在每个NAL单元前面附加起始码将NAL单元彼此分开。为了避免错误检测NAL单元边界,编码器运行面向字节的起始码仿效阻止算法,如果起始码在其它情况下出现,则向NAL单元有效载荷添加仿效阻止字节。例如,为了在面向分组与流的***之间支持直接的网关操作,无论是否使用字节流格式,都可以始终执行起始码仿效阻止。字节流格式的位顺序可以规定为从第一字节的最高有效位(MSB)开始,继续到第一字节的最低有效位(LSB),然后继续到第二字节的MSB,以此类推。可以认为字节流格式由字节流NAL单元语法结构序列组成。每个字节流NAL单元语法结构可以被认为包含一个起始码前缀,后跟一个NAL单元语法结构,即,如果参考语法元素名称,则后跟“nal_unit”(“NumBytesInNalUnit”)语法结构。字节流NAL单元还可以包含附加的“zero_byte”语法元素。它还可以包含一个或多个附加的“trailing_zero_8bits”语法元素。当字节流NAL单元是比特流中的第一字节流NAL单元时,它还可以包含一个或多个附加的“leading_zero_8bits”语法元素。字节流NAL单元的语法可以规定如下:
Figure BDA0002014981110000301
可能需要字节流中的字节流NAL单元的顺序遵循包含在字节流NAL单元中的NAL单元的解码顺序。语法元素的语义可以如下规定。“leading_zero_8bits”是等于0x00的字节。“leading_zero_8bits”语法元素只能出现在比特流的第一字节流NAL单元中,因为位于NAL单元语法结构之后且位于四字节序列0x00000001之前(将被解释为后跟“start_code_prefix_one_3bytes”的“zero_byte”)的任何等于0x00的字节将被认为是“trailing_zero_8bits”语法元素,该语法元素是前一字节流NAL单元的一部分。“zero_byte”是等于0x00的单个字节。“start_code_prefix_one_3bytes”是等于0x000001的3字节固定值序列。该语法元素可以被称为起始码前缀(或简称为起始码)。“trailing_zero_8bits”是等于0x00的字节。
NAL单元可被定义为包含要遵循的数据类型的指示,以及包含RBSP形式的数据(其根据需要内插有仿效阻止字节)的字节的语法结构。原始字节序列有效载荷(RBSP)可被定义为包含封装在NAL单元中的整数个字节的语法结构。RBSP是空的或具有数据位串的形式,该数据位串包含语法元素,其后是RBSP停止位,随后是“零”个或更多个等于“0”的后续位。
NAL单元由报头和有效载荷组成。在H.264/AVC和HEVC中,NAL单元报头指示NAL单元的类型。
接下来提供“nal_unit”(“NumBytesInNalUnit”)语法结构的HEVC语法作为NAL单元的语法的示例。
Figure BDA0002014981110000311
在HEVC中,编码的视频序列(CVS)例如可被定义为一系列访问单元,这些访问单元按解码顺序包括“NoRaslOutputFlag”等于“1”的IRAP访问单元,随后是“零”个或多个访问单元,这些访问单元不是IRR访问单元并且“NoRaslOutputFlag”等于“1”,其中包括到“NoRaslOutputFlag”等于“1”的IRAP访问单元之前的所有后续访问单元,但不包括作为“NoRaslOutputFlag”等于“1”的IRAP访问单元的任何后续访问单元。IRAP访问单元可被定义为其中基础层图像是IRAP图像的访问单元。对于每个IDR图像、每个BLA图像以及每个IRAP图像,“NoRaslOutputFlag”的值等于“1”,其中IRAP图像是解码顺序中的比特流中的该特定层中的第一图像,是在解码顺序中具有相同的“nuh_layer_id”值的NAL单元序列的终止之后的第一IRAP图像。在多层HEVC中,当每个IRAP图像的“nuh_layer_id”使得“LayerInitializedFlag[nuh_layer_id]”等于“0”,并且使得“LayerInitializedFlag[refLayerId]”对于等于“IdDirectRefLayer[nuh_layer_id][j]”的“refLayerId”的所有值等于“1”时,对于每个IRAP图像“NoRaslOutputFlag”的值等于“1”,其中j在范围0到NumDirectRefLayers[nuh_layer_id]-1内,包括0和NumDirectRefLayers[nuh_layer_id]-1。否则,“NoRaslOutputFlag”的值等于“HandleCraAsBlaFlag”。“NoRaslOutputFlag”等于“1”具有以下影响:解码器不输出与被设置“NoRaslOutputFlag”的IRAP图像相关联的RASL图像。可存在从诸如播放器或接收器的能够控制解码器的外部实体向该解码器提供“HandleCraAsBlaFlag”的值的装置。HandleCraAsBlaFlag”可以被例如寻求比特流中的新位置或调谐到广播并开始解码,然后从CRA图像开始解码的播放器设置为“1”。当“HandleCraAsBlaFlag”对于CRA图像等于“1”时,CRA图像就像BLA图像一样地被处理和解码。
在HEVC中,当特定NAL单元(可以被称为序列终止(EOS)NAL单元)出现在比特流中并且“nuh_layer_id”等于“0”时,可以附加地或替代地(对于上面的说明)规定终止编码视频序列。
图像组(GOP)及其特性可被定义如下。无论是否解码任何先前的图像,都可以解码GOP。开放GOP是这样一个图像组:其中当从开放GOP的初始帧内图像开始解码时,在输出顺序中位于初始帧内图像之前的图像可能无法被正确地解码。换句话说,开放GOP的图像可能(在帧间预测中)参考属于前一GOP的图像。HEVC解码器可以识别开始开放GOP的帧内图像,因为特定NAL单元类型(CRA NAL单元类型)可用于其编码切片。封闭GOP是这样一个图像组:其中当从封闭GOP的初始帧内图像开始解码时,可以正确地解码所有图像。换句话说,封闭GOP中的图像不参考前一GOP中的任何图像。在H.264/AVC和HEVC中,封闭GOP可从IDR图像开始。在HEVC中,封闭GOP也可从“BLA_W_RADL”或“BLA_N_LP”图像开始。与封闭GOP编码结构相比,开放GOP编码结构在压缩方面可能更有效,这是由于参考图像的选择具有更大的灵活性。
图像结构(SOP)可被定义为在解码顺序中连续的一个或多个编码图像,其中解码顺序中的第一编码图像是最低时间子层处的参考图像,并且可能除了解码顺序中的第一编码图像以外,没有任何编码图像是RAP图像。前一SOP中的所有图像在解码顺序中位于当前SOP中的所有图像之前,并且下一SOP中的所有图像在解码顺序中位于当前SOP中的所有图像之后。SOP可以表示分层和重复的帧间预测结构。术语“图像组(GOP)”有时可以与术语“SOP”互换地使用并且具有与SOP相同的语义。
H.264/AVC和HEVC的比特流语法指示特定图像是否用于任何其它图像的帧间预测的参考图像。具有任何编码类型(I、P、B)的图像在H.264/AVC和HEVC中可以是参考图像或非参考图像。
在HEVC中,使用参考图像集(RPS)语法结构和解码过程。对图像有效或活动的参考图像集包括用作图像的参考的所有参考图像,以及对于解码顺序中的任何后续图像保持标记为“用于参考”的所有参考图像。参考图像集有六个子集,分别被称为“RefPicSetStCurr0”(又称为“RefPicSetStCurrBefore”)、“RefPicSetStCurr1”(又称为“RefPicSetStCurrAfter”)、“RefPicSetStFoll0”、“RefPicSetStFoll1”、“RefPicSetLtCurr”以及“RefPicSetLtFoll”。“RefPicSetStFoll0”和“RefPicSetStFoll1”也可以被视为共同形成一个子集“RefPicSetStFoll”。六个子集的注释如下。“Curr”是指包括在当前图像的参考图像列表中的参考图像,因此可以用作当前图像的帧间预测参考。“Foll”是指未包括在当前图像的参考图像列表中,但是可以在解码顺序中的后续图像中用作参考图像的参考图像。“St”是指短期参考图像,其通常可以通过其POC值的一定数量的最低有效位来识别。“Lt”是指长期参考图像,其被具体地识别,并且通常其相对于当前图像的POC值的差大于可以由所提到的特定数量的最低有效位表示的差。“0”是指POC值小于当前图像的POC值的那些参考图像。“1”是指POC值大于当前图像的POC值的那些参考图像。“RefPicSetStCurr0”、“RefPicSetStCurr1”、“RefPicSetStFoll0”和“RefPicSetStFoll1”统称为参考图像集的短期子集。“RefPicSetLtCurr”和“RefPicSetLtFoll”统称为参考图像集的长期子集。
在HEVC中,可以在序列参数集中规定参考图像集,并且考虑通过参考图像集的索引在切片报头中使用参考图像集。还可以在切片报头中规定参考图像集。参考图像集可以独立编码,或者可以根据另一参考图像集(被称为帧间RPS预测)预测。在这两种类型的参考图像集编码中,另外针对每个参考图像发送标志(“used_by_curr_pic_X_flag”),该标志指示参考图像被当前图像参考(包括在*Curr列表中)还是不被当前图像参考(包括在*Foll中列表中)。包括在由当前切片使用的参考图像集中的图像被标记为“用于参考”,并且不在由当前切片使用的参考图像集中的图像被标记为“未用于参考”。如果当前图像是IDR图像,则“RefPicSetStCurr0”、“RefPicSetStCurr1”、“RefPicSetStFoll0”、“RefPicSetStFoll1”、“RefPicSetLtCurr”和“RefPicSetLtFoll”都被设置为空。
可以在编码器和/或解码器中使用解码图像缓冲器(DPB)。缓冲解码图像有两个原因:用于帧间预测中的参考以及用于将解码图像重新排序成输出顺序。由于H.264/AVC和HEVC为参考图像标记和输出重新排序提供了很大的灵活性,因此用于参考图像缓冲和输出图像缓冲的单独的缓冲器可能浪费存储器资源。因此,DPB可以包括用于参考图像和输出重新排序的统一解码图像缓冲过程。当解码图像不再用作参考并且不需要输出时,可以从DPB移除解码图像。
在H.264/AVC和HEVC的许多编码模式中,用于帧间预测的参考图像由参考图像列表的索引来指示。该索引可以用可变长度编码来编码,这通常使得较小的索引针对对应的语法元素具有较短的值。在H.264/AVC和HEVC中,针对每个双向预测(B)切片生成两个参考图像列表(参考图像列表0和参考图像列表1),并且针对每个帧间编码(P)切片形成一个参考图像列表(参考图像列表0)。
参考图像列表(诸如参考图像列表0和参考图像列表1)通常经由两个步骤构建:首先,生成初始参考图像列表。初始参考图像列表例如可以基于“frame_num”、POC、“temporal_id”(或“TemporalId”等)或有关预测层次结构(诸如GOP结构)的信息或其任何组合来生成。接着,可以通过包含在切片报头中的参考图像列表重新排序(RPLR)命令(也被称为参考图像列表修改语法结构)对初始参考图像列表进行重新排序。如果使用参考图像集,则可以初始化参考图像列表0以首先包含“RefPicSetStCurr0”,然后包含“RefPicSetStCurr1”,接着包含“RefPicSetLtCurr”。可以初始化参考图像列表1以首先包含“RefPicSetStCurr1”,然后包含“RefPicSetStCurr0”。在HEVC中,可以通过参考图像列表修改语法结构来修改初始参考图像列表,其中可以通过列表的条目索引来识别初始参考图像列表中的图像。换句话说,在HEVC中,参考图像列表修改被编码为以下语法结构:该语法结构包括最终参考图像列表中的每个条目上的循环,其中每个循环条目是初始参考图像列表的固定长度编码索引并且指示最终参考图像列表中的以升序排列的图像。
包括H.264/AVC和HEVC在内的许多编码标准可以具有解码过程以派生参考图像列表的参考图像索引,该索引可用于指示多个参考图像中的哪一个用于特定块的帧间预测。在一些帧间编码模式中,参考图像索引可以由编码器编码到比特流中,在另一些帧间编码模式中,例如可以使用相邻块来导出(例如,通过编码器和解码器)该参考图像索引。
为了在比特流中有效地表示运动向量,可以相对于块特定的预测运动向量差分地编码运动向量。在许多视频编解码器中,预测的运动向量以预定方式创建,例如通过计算相邻块的编码或解码运动向量的中值。创建运动向量预测的另一方式(有时被称为高级运动向量预测(AMVP))是根据时间参考图像中的相邻块和/或共同定位的块生成候选预测的列表,并且信号通知所选择的候选者作为运动向量预测器。除了预测运动向量值以外,还可以预测先前编码/解码的图像的参考索引。通常根据时间参考图像中的相邻块和/或共同定位的块来预测参考索引。通常禁止切片边界上的运动向量差分编码。
可伸缩视频编码可以指示这样的编码结构:其中一个比特流可以包含内容的多个表示,例如,以不同的比特率、分辨率或帧速率。在这些情况下,接收器可以根据其特性(例如,最匹配显示设备的分辨率)提取所需的表示。可替代地,服务器或网络单元可以根据例如接收器的网络特性或处理能力提取要发送到接收器的比特流的部分。可以通过仅解码可伸缩比特流的某些部分来产生有意义的解码表示。可伸缩比特流通常包括“基础层”,其提供可用的最低质量视频,以及一个或多个增强层,这些增强层在与较低层一起接收和解码时增强视频质量。为了提高增强层的编码效率,该层的编码表示通常取决于较低层。例如。可以根据较低层预测增强层的运动和模式信息。类似地,较低层的像素数据可用于创建增强层的预测。
在一些可伸缩视频编码方案中,视频信号可被编码到基础层以及一个或多个增强层中。增强层例如可以增强时间分辨率(即,帧速率)、空间分辨率,或仅增强由另一层或其一部分表示的视频内容的质量。每个层连同其所有相关层是视频信号的一个表示,例如,以特定空间分辨率,时间分辨率和质量层级进行表示。在本文中,我们将伸缩层及其所有相关层称为“伸缩层表示”。可以提取和解码对应于伸缩层表示的可伸缩比特流的部分,以便以特定保真度产生原始信号的表示。
可伸缩性模式或可伸缩性维度可包括但不限于以下内容:
-质量可伸缩性:基础层图像以低于增强层图像的质量被编码,这例如可以在基础层中使用比在增强层中更大量化参数值(即,用于变换系数量化的更大量化步长)来实现。
-空间可伸缩性:基础层图像以低于增强层图像的分辨率(即,具有更少的样本)被编码。空间可伸缩性和质量可伸缩性,特别是其粗粒度可伸缩性类型,有时可被视为相同类型的可伸缩性。
-位深可伸缩性:基础层图像以低于增强层图像的位深(例如,10或12比特)的位深(例如,8比特)被编码。
-动态范围可伸缩性:伸缩层表示使用不同色调映射函数和/或不同光学传递函数获得的不同动态范围和/或图像。
-色度格式可伸缩性:基础层图像在色度样本阵列(例如,以4:2:0色度格式编码)中提供的空间分辨率低于在增强层图像(例如,以4:4:4格式)中提供的空间分辨率。
-色域可扩展性:增强层图像具有比基础层图像更丰富/更宽的颜色表示范围——例如,增强层可以具有UHDTV(ITU-R BT.2020)色域,基础层可以具有ITU-R BT.709色域。
-查看可伸缩性,也可被称为多视图编码。基础层表示第一视图,而增强层表示第二视图。
-深度可伸缩性,其也可被称为深度增强编码。比特流的一个层或一些层可以表示纹理视图,而其它一个或多个层可以表示深度视图。
-感兴趣区域可扩展性(如下所述)。
-交织到渐进(interlaced-to-progressive)可伸缩性(也被称为段到帧(field-to-frame)可伸缩性):基础层的编码的交织源内容材料通过增强层增强以表示渐进源内容。
-混合编解码器可伸缩性(也被称为编码标准可伸缩性):在混合编解码器可伸缩性中,基础层和增强层的比特流语法、语义和解码过程在不同的视频编码标准中规定。因此,基础层图像根据与增强层图像不同的编码标准或格式来编码。例如,基础层可以用H.264/AVC编码,增强层可以用HEVC多层扩展编码。
应当理解,许多可伸缩性类型可以组合并一起应用。例如,可以组合色域可伸缩性和位深可伸缩性。
术语“层”可以在任何类型的可伸缩性的上下文中使用,包括视图可伸缩性和深度增强。增强层可以指示任何类型的增强,诸如SNR、空间、多视图、深度、位深、色度格式和/或色域增强。基础层可以指示任何类型的基础视频序列,诸如基础视图、SNR/空间可伸缩性的基础层,或深度增强视频编码的纹理基础视图。
用于质量可伸缩性(也被称为信噪比或SNR)和/或空间可伸缩性的可伸缩视频编码器可以按照下面的方式实现。对于基础层,可以使用传统的不可伸缩视频编码器和解码器。基础层的重新构建/解码图像包括在参考图像缓冲器和/或增强层的参考图像列表中。在空间可伸缩性的情况下,可以在将重新构建/解码的基础层图像***到增强层图像的参考图像列表之前对其进行上采样。可以将基础层解码的图像***到参考图像列表中,用于与增强层的解码参考图像类似地对增强层图像进行编码/解码。因此,编码器可以选择基础层参考图像作为帧间预测参考,并且在编码比特流中指示其与参考图像索引一起使用。解码器从比特流(例如,从参考图像索引)解码基础层图像用作增强层的帧间预测参考。当解码的基础层图像用作增强层的预测参考时,其被称为层间参考图像。
虽然上一段描述了具有两个可伸缩性层(增强层和基础层)的可伸缩视频编解码器,但是需要理解,该描述可以推广到具有多于两层的可伸缩性层级中的任何两个层。在这种情况下,第二增强层可以取决于编码和/或解码过程中的第一增强层,因此第一增强层可以被视为第二增强层的编码和/或解码的基础层。此外,需要理解,可以存在来自增强层的参考图像缓冲器和参考图像列表中的多于一个层的层间参考图像,并且可以认为这些层间参考图像中的每一个都驻留在被编码和/或解码的增强层的基础层或参考层中。此外,需要理解,可以替代地或附加地进行参考层图像上采样以外的其它类型的层间处理。例如,参考层图像样本的位深可以被转换为增强层的位深和/或样本值可以经历从参考层的颜色空间到增强层的颜色空间的映射。
可伸缩视频编码和/或解码方案可以使用多环编码和/或解码,其特征如下所述。在编码/解码中,可以重新构建/解码基础层图像以用作编码/解码顺序中的位于同一层的后续图像的运动补偿参考图像或用作层间(或视图间或分量间)预测的参考。重新构建/解码的基础层图像可以存储在DPB中。同样可以重新构建/解码增强层图像以用作编码/解码顺序中的位于同一层的后续图像的运动补偿参考图像或用作更高增强层(如果有)层间(或视图间或分量间)预测的参考。除了重新构建/解码的样本值之外,基础/参考层的语法元素值或从基础/参考层的语法元素值导出的变量可用于层间/分量间/视图间预测。
可以将层间预测定义为取决于与来自当前图像(被编码或解码)的层不同的层的参考图像的数据元素(例如,样本值或运动向量)的预测。存在许多类型的层间预测,并且可以在可伸缩视频编码器/解码器中应用。可用的层间预测类型例如可以取决于对比特流或比特流内的特定层进行编码所基于的编码配置文件,或者当解码时,可以取决于比特流或比特流内的特定层被指示符合的编码配置文件。替代地或附加地,可用的层间预测类型可取决于可伸缩性类型或正在使用的可伸缩编解码器或视频编码标准修订(例如,SHVC、MV-HEVC或3D-HEVC)的类型。
可以将层间预测定义为取决于与来自当前图像(被编码或解码)的层不同的层的参考图像的数据元素(例如,样本值或运动向量)的预测。存在许多类型的层间预测,并且可以在可伸缩视频编码器/解码器中应用。可用的层间预测类型例如可以取决于对比特流或比特流内的特定层进行编码所基于的编码配置文件,或者当解码时,可以取决于比特流或比特流内的特定层被指示符合的编码配置文件。替代地或附加地,可用的层间预测类型可取决于可伸缩性类型或正在使用的可伸缩编解码器或视频编码标准修订(例如,SHVC、MV-HEVC或3D-HEVC)的类型。
层间预测的类型可以包括但不限于以下中的一个或多个:层间样本预测、层间运动预测、层间残差预测。在层间样本预测中,用于层间预测的源图像的重新构建样本值的至少一个子集被用作预测当前图像的样本值的参考。在层间运动预测中,用于层间预测的源图像的运动向量的至少一个子集被用作预测当前图像的运动向量的参考。通常,预测与运动向量相关联的参考图像的信息也包括在层间运动预测中。例如,运动向量的参考图像的参考索引可以是层间预测的和/或图像顺序计数或参考图像的任何其它标识可以是层间预测的。在一些情况下,层间运动预测还可以包括块编码模式、报头信息、块分割和/或其它类似参数的预测。在一些情况下,编码参数预测(诸如块分割的层间预测)可以被视为另一类型的层间预测。在层间残差预测中,用于层间预测的源图像的所选块的预测误差或残差用于预测当前图像。在诸如3D-HEVC的多视图加深度编码中,可以应用跨分量层间预测,其中第一类型的图像(诸如深度图像)可以影响第二类型的图像(诸如传统的纹理图像)的层间预测。例如,可应用视差补偿的层间样本值和/或运动预测,其中视差可至少部分地从深度图像导出。
直接参考层可被定义为可用于另一层的层间预测的层,其中该层是该另一层的直接参考层。直接预测层可被定义为另一层是其直接参考层的层。间接参考层可被定义为不是第二层的直接参考层而是第三层的直接参考层,该第三层是另一层的直接参考层或直接参考层的间接参考层,其中该层是另一层的间接参考层。间接预测层可被定义为另一层是其间接参考层的层。独立层可被定义为不具有直接参考层的层。换句话说,不使用层间预测来预测独立层。非基础层可被定义为基础层以外的任何其它层,而基础层可被定义为比特流中的最低层。独立的非基础层可被定义为既是独立层又是非基础层的层。
直接参考层可被定义为可用于另一层的层间预测的层,其中该层是该另一层的直接参考层。直接预测层可被定义为另一层是其直接参考层的层。间接参考层可被定义为不是第二层的直接参考层而是第三层的直接参考层,该第三层是另一层的直接参考层或直接参考层的间接参考层,其中该层是另一层的间接参考层。间接预测层可被定义为另一层是其间接参考层的层。独立层可被定义为不具有直接参考层的层。换句话说,不使用层间预测来预测独立层。非基础层可被定义为基础层以外的任何其它层,而基础层可被定义为比特流中的最低层。独立的非基础层可被定义为既是独立层又是非基础层的层。
可能需要用于层间预测的源图像与当前图像在同一访问单元中。在某些情况下,例如当不需要重新采样、运动段映射或其它层间处理时,用于层间预测的源图像和相应的层间参考图像可以是相同的。在某些情况下,例如当需要重新采样以使参考层的采样网格与当前图像(被编码或解码)的层的采样网格匹配时,应用层间处理以从用于层间预测的源图像导出层间参考图像。在下面的段落中描述了这种层间处理的示例。
层间样本预测可以包括用于层间预测的源图像的样本阵列的重新采样。编码器和/或解码器例如可以基于增强层及其参考层构成的对的参考层位置偏移推导出该对的水平可伸缩因子(例如,存储在变量“ScaleFactorX”中)和垂直可伸缩因子(例如,存储在变量“ScaleFactorY”中)。如果可伸缩因子中的任一个或全部两个不等于“1”,则可以重新采样用于层间预测的源图像以生成用于预测增强层图像的层间参考图像。用于重新采样的过程和/或滤波器例如可以在编码标准中预定义和/或在比特流中由编码器指示(例如,作为预定义的重新采样过程或滤波器中的索引)和/或由解码器从比特流解码。不同的重新采样过程可以由编码器指示和/或由解码器解码和/或由编码器和/或解码器根据可伸缩因子的值断定。例如,当两个可伸缩因子都小于“1”时,可以断定预定义的下采样过程;当两个可伸缩因子都大于“1”时,可以断定预定义的上采样过程。附加地或替代地,不同的重新采样过程可以由编码器指示和/或由解码器解码和/或由编码器和/或解码器根据处理哪个样本阵列来断定。例如,可以断定第一重新采样过程用于亮度样本阵列,并且可以断定第二重新采样过程用于色度样本阵列。
SHVC允许使用基于3D查找表(LUT)的加权预测或颜色映射过程来实现(但不限于)色域可伸缩性。3D LUT方法可以描述如下。每个颜色分量的样本值范围可以首先划分成两个范围,形成高达2x2x2的八分圆,然后可以进一步将亮度范围划分成四个部分,从而产生高达8x2x2的八分圆。在每个八分圆内,应用交叉颜色分量线性模型来执行颜色映射。对于每个八分圆,将四个顶点编码到比特流中和/或从比特流解码,以表示八分圆内的线性模型。对于每个颜色分量,颜色映射表被分别编码到比特流中和/或从比特流中解码。颜色映射可以被认为涉及三个步骤:首先,确定给定参考层样本三元组(Y,Cb,Cr)所属的八分圆。其次,可以通过应用颜色分量调整过程来对齐亮度和色度的样本位置。第三,应用为所确定的八分圆指定的线性映射。映射可以具有跨分量性质,即,一个颜色分量的输入值可以影响另一颜色分量的映射值。附加地,如果还需要层间重新采样,则重新采样过程的输入是已经颜色映射的图像。颜色映射可以(但不需要)将具有第一位深的样本映射到具有另一位深的样本。
层间运动预测可以实现如下。诸如H.265/HEVC的TMVP的时间运动向量预测过程可用于利用不同层之间的运动数据的冗余。可以通过下面的方式实现此操作:当对经解码的基础层图像进行上采样时,基础层图像的运动数据也被映射到增强层的分辨率。如果增强层图像利用根据基础层图像的运动向量预测,例如,通过诸如H.265/HEVC的TMVP的时间运动向量预测机制,则对应的运动向量预测器源自映射的基础层运动段。这样,可以利用不同层的运动数据之间的相关性来提高可伸缩视频编码器的编码效率。在SHVC等中,可以通过将层间参考图像设置为用于TMVP推导的并置参考图像来执行层间运动预测。
在信号处理中,图像的重新采样通常被理解为在水平或/和垂直方向上改变当前图像的采样率(或者等效地,改变采样密度或采样网格)。重新采样产生新图像,该图像在水平或/和垂直方向上通过不同数量的像素(或样本)来表示。在某些应用中,图像重新采样的过程等同于图像大小调整。通常,重新采样可以分为两个过程:下采样和上采样。
下采样或二次采样过程可被定义为降低信号的采样率,并且它通常导致在水平和/或垂直方向上的图像大小的减小。在图像下采样中,与输入图像的空间分辨率相比,输出图像的空间分辨率(即输出图像中的像素数量)降低。下采样率可被定义为下采样图像的水平或垂直分辨率除以用于下采样的输入图像的相应分辨率。下采样率可替代地可被定义为下采样图像中的样本数量除以用于下采样的输入图像中的样本数量。由于这两个定义不同,因此,术语“下采样率”可以进一步通过指示它是沿一个坐标轴还是两个坐标轴来指示(并且因此作为图像中的像素数量的比率)而进行表征。图像下采样例如可以通过抽取(decimation)来执行,即通过基于下采样率,在原始图像中的像素总数中选择特定数量的像素来执行。在一些情况下,下采样可以包括低通滤波或其它滤波操作,其可以在图像抽取之前或之后执行。可以使用任何低通滤波方法,包括但不限于线性平均。
上采样过程可被定义为增加信号的采样率,并且它通常导致在水平和/或垂直方向上的图像大小的增加。在图像上采样中,与输入图像的空间分辨率相比,输出图像的空间分辨率(即输出图像中的像素数量)增加。上采样率可被定义为上采样图像的水平或垂直分辨率除以输入图像的相应分辨率。上采样率可替代地可被定义为上采样图像中的样本数量除以输入图像中的样本数量。由于这两个定义不同,术语“上采样率”可以进一步通过指示它是沿一个坐标轴还是两个坐标轴来指示(并且因此作为图像中的像素数量的比率)而进行表征。可以例如通过复制或内插像素值来执行图像上采样,以使得像素的总数增加。在一些实现中,上采样可以包括滤波操作,诸如边缘增强滤波。
帧打包可被定义为包括将多于一个的输入图像(可被称为(输入)组成帧(constituent frame))排列成输出图像。通常,帧打包不限于任何特定类型的组成帧,或者组成帧不需要彼此具有特定关系。在许多情况下,帧打包用于将立体视频剪辑的组成帧排列成单个图像序列,如在下一段中更详细地说明的。排列可以包括将输入图像放置在输出图像内的空间非重叠区域中。例如,在并排(side-by-side)布置中,两个输入图像被彼此水平相邻地放置在输出图像内。该布置还可以包括将一个或多个输入图像分割成两个或更多个组成帧分割,以及将组成帧分割放置在输出图像内的空间非重叠区域中。输出图像或帧打包的输出图像的序列可以例如通过视频编码器被编码成比特流。比特流可以例如通过视频解码器进行解码。解码之后,解码器或后处理操作可以从解码图像中提取解码的组成帧,例如以用于显示。
在帧兼容立体视频(也被称为立体视频的帧打包)中,在编码器侧执行将立体对空间打包成单个帧,作为用于编码的预处理步骤,然后使用传统的2D视频编码方案对已帧打包的帧进行编码。由解码器产生的输出帧包含立体对的组成帧。在典型的操作模式中,每个视图的原始帧和打包的单个帧的空间分辨率具有相同的分辨率。在这种情况下,编码器在打包操作之前对立体视频的两个视图进行下采样。空间打包例如可以使用并排或上下(top-bottom)格式,并且应当相应地执行下采样。
一些示例性实现构想媒体文件格式标准的使用,其中包括但不限于ISO基本媒体文件格式(ISO/IEC 14496-12,其可以缩写为ISOBMFF)、MPEG-4文件格式(ISO/IEC 14496-14,也被称为MP4格式)、用于NAL(网络抽象层)单元结构化视频的文件格式(ISO/IEC14496-15)和3GPP文件格式(3GPP TS 26.244,也被称为3GP格式)。ISO基本媒体文件格式是用于推导所有上述文件格式(不包括ISO基本媒体文件格式本身)的基础。
下面描述ISOBMFF的一些概念、结构和规范作为容器文件格式的示例,在其基础上可以实现实施例。然而,本发明的各方面不限于ISOBMFF,而是针对在其上可以部分或全部实现本发明的一个可能的基础而进行描述。
ISOBMFF中的一个构建块(building block)被称为框(box)。每个框可具有报头和有效载荷。框报头以字节为单位指示框的类型和框的大小。一个框可包括其它框,ISO文件格式规定在特定类型的框内允许哪些框类型。此外,在每个文件中一些框的存在可能是强制性的,而其它框的存在可能是可选的。此外,对于一些框类型,可允许在一个文件中存在多个框。因此,ISOBMFF可被认为是规定框的层次结构。ISO基本媒体文件的每个框可由四字符代码(4CC,四个CC)标识。一个四字符代码可互换地由一个32位无符号整数来表示(通过假设某种字符到8位值的转换、某种位顺序和某种字节顺序)。报头可提供关于框的类型和大小的信息。
根据ISOBMFF,文件可包括可封装在单独的框中的媒体数据和元数据。在示例性实施例中,可在媒体数据(mdat)框中提供媒体数据,可使用电影(moov)框来封装元数据。在某些情况下,为了使文件可操作,可能需要存在mdat框和moov框这两者。电影(moov)框可包括一个或多个轨道,并且每个轨道可驻留在一个对应的轨道(trak)框中。每个轨道都与处理器(handler)相关联,由指定轨道类型的四字符代码标识。视频、音频和图像序列轨道可被统称为媒体轨道,它们包含基本媒体流。其它轨道类型包括提示轨道和定时元数据轨道。轨道包括样本,诸如音频或视频帧。媒体轨道是指根据媒体压缩格式(及其到ISOBMFF的封装)格式化的样本(其也可被称为媒体样本)。提示轨道是指提示样本,其包含用于构建通过所指示的通信协议传输的分组的操作(cookbook)指令。操作指令可包括用于分组报头构建的指导,并且可包括分组有效载荷构建。在分组有效载荷构建中,可引用驻留在其它轨道或项中的数据。因此,例如,驻留在其它轨道或项中的数据可通过关于在分组构建过程中特定轨道或项中的哪个数据被指示复制到分组中的引用来指示。定时元数据轨道可指代描述引用的媒体和/或提示样本的样本。对于一个媒体类型的呈现,可选择一个媒体轨道。
在ISO/IEC 14496-15(“ISO基本媒体文件格式的网络抽象层(NAL)单元结构化视频的载体”)中,提取器NAL单元类结构旨在用于通过引用包含提取器的轨道,从另一个轨道中提取一个或多个整个NAL单元。提取器NAL单元类结构可被规定为包括构建器,其中构建器的执行产生一个或多个整个NAL单元。与任何NAL单元相同,NAL单元类结构可被规定为包括NAL单元报头和NAL单元有效载荷,但是在NAL单元类结构中没有起始码仿效阻止(NAL单元所需的)。
超文本传输协议(HTTP)已广泛用于通过因特网,诸如在视频流传输应用中传送实时多媒体内容。针对基于HTTP的自适应流传输(诸如
Figure BDA0002014981110000451
平滑流传输、
Figure BDA0002014981110000452
自适应HTTP实时流传输和
Figure BDA0002014981110000453
动态流传输等)的若干商业方案已经被启动,并且已经开展了标准化项目。自适应HTTP流传输(AHS)首先在第三代合作伙伴计划(3GPP)分组交换流传输(PSS)服务的版本9(3GPP TS 26.234版本9:“透明端到端分组交换流传输服务(PSS);协议和编解码器”)中被标准化。MPEG将3GPP AHS版本9作为MPEG DASH标准(ISO/IEC23009-1:“基于HTTP的动态自适应流传输(DASH)-第1部分:媒体呈现描述和片段格式”)的起点。MPEG DASH和3GPP-DASH在技术上彼此接近,因此可以将其统称为DASH。以下将DASH的一些概念、格式和操作描述为其中可以实现实施例的视频流传输***的示例。本发明的各方面不限于DASH,而是针对在其上可以部分或全部实现本发明的一个可能的基础而进行描述。
在DASH中,多媒体内容可被存储在HTTP服务器上并且可使用HTTP传送。内容可以两部分存储在服务器上:媒体呈现描述(MPD),其描述可用内容、其各种替代、它们的URL地址以及其它特征的清单;以及片段,其在单个或多个文件中以块(chunk)的形式的包含实际多媒体比特流。MPD为客户端提供建立HTTP上的动态自适应流传输的必要信息。MPD包含描述媒体呈现的信息,诸如用于做出GET片段请求的每个片段的HTTP统一资源定位符(URL)。为了播放内容,DASH客户端例如可通过使用HTTP、电子邮件、拇指驱动器、广播或其它传输方法来获取MPD。通过解析MPD,DASH客户端可了解节目定时、媒体内容可用性、媒体类型、分辨率、最小和最大带宽、以及多媒体要素的各种编码替代的存在、可访问性特征和所需的数字权限管理(DRM)、网络上的媒体要素位置、以及其它内容特征。使用该信息,DASH客户端可选择适当的编码替代,并通过例如使用HTTP GET请求取回片段来开始流传输内容。在适当缓冲以容许网络吞吐量变化后,客户端可继续取回后续片段,并且还监控网络带宽波动。客户端可通过取回不同替代(具有较低或较高比特率)的片段以维持足够的缓冲来决定如何适应可用带宽。
在DASH的上下文中可以使用以下定义:媒体内容要素或媒体要素可被定义为媒体内容的一个连续要素,其具有可被单独编码到媒体流中的指定媒体要素类型。媒体内容可被定义为一个媒体内容时段或媒体内容时段的连续序列。媒体内容要素类型可被定义为诸如音频、视频或文本的单一类型的媒体内容。媒体流可被定义为媒体内容要素的编码版本。
在DASH中,层次数据模型被用于构建媒体呈现,如下所述。媒体呈现由一个或多个时段的序列组成,每个时段包含一个或多个组(group),每个组包含一个或多个自适应集,每个自适应集包含一个或多个呈现;每个呈现由一个或多个片段组成。组可以被定义为不期望同时呈现的自适应集的集合。自适应集可被定义为一个或多个媒体内容要素的一组可互换编码版本。呈现是媒体内容或其子集的替代选择之一,其通常因编码选择而不同,例如,因比特率、分辨率、语言、编解码器等而不同。片段包含某时长的媒体数据,以及以解码和呈现所包括的媒体内容的元数据。片段由URI标识,并且通常可以通过HTTP GET请求来请求。片段可被定义为与HTTP-URL相关联的并且可选地与由MPD规定的字节范围相关联的数据单元。
360度全景内容(即,图像和视频)水平覆盖成像设备的捕获位置周围的全360度视场。垂直视场可以变化,例如可以是180度。水平覆盖360度视场和垂直覆盖180度视场的全景图像可以通过已使用等矩形投影被映射到二维图像平面的球形来表示。在这种情况下,水平坐标可被认为等同于经度,而垂直坐标可被认为等同于纬度,而不应用变换或缩放。在某些情况下,具有360度水平视场但具有小于180度垂直视场的全景内容可被认为是等矩形投影的特定实例,其中,球形的极区域未被映射到二维图像平面上。在某些情况下,全景图像可具有小于360度的水平视场和高达180度的垂直视场,同时以其它方式具有等矩形投影格式的特性。
图5示出了等矩形360度全景图像的示例。等矩形全景格式延伸了天底(nadir)和天顶(zenith)区域。朝向天底或天顶的像素数量与赤道中相比成比例地增加。这导致在靠近天底和天顶的区域中对不必要的大量像素编码和解码,这反过来增加了编码和解码复杂度并且可能导致降低的速率-失真性能。
存在不同的方法以捕获360度图像。用于360度视场图像的一些常见方案和布置包括将来自多相机设置、折反射(catadioptric)设备的图像拼接在一起,以及拼接多个鱼眼图像。
折反射设备由常规镜头和反射镜组成。反射镜可以具有不同的凸形,例如,抛物线形、平面形或球形。镜头捕获通过反射镜反射的光线,从而提供具有极高视场的图像。
用于360度内容创建的另一种方法是通过使用鱼眼镜头。由于常规相机的视场非常有限,因此,创建360度图像的正确方法是借助具有宽视场的相机。鱼眼镜头覆盖非常大的视场(通常超过180度)。这些镜头通过使用折射效应来捕获光波,因为具有较大入射角(在图像边缘中)的光波在图像中更弯曲。可以通过对仅少量鱼眼图像使用投影和拼接技术来创建360度视图。
一系列伪圆柱形投影试图通过根据经度将子午线朝向地图的中心弯曲而同时保持平行圆柱形特性平行来最小化圆柱形投影(诸如等矩形投影)的极区域的失真。伪圆柱形投影产生表示投影球体的非矩形连续2D图像。然而,可以呈现采用间断形式的伪圆柱形投影,这些投影是通过将若干区域与适当的中心子午线以及假偏东和剪辑边界(falseeasting and clipping boundary)连接而形成的。可以基于子午线的形状将伪圆柱形投影分类为正弦曲线、椭圆形、抛物线形、双曲线形、直线形和各种伪圆柱形投影。另外的表征是基于子午线是否到达极区处的某点或者沿着直线终止(在这种情况下,投影表示垂直小于180度)。
示出的实施例提出了基于纬度执行全景图像的重新采样和重新排列。这样的方案保持了基础投影方案,因此不需要在渲染中处理多个投影。所提出的实施例只需要简单的一维(1D)重新采样和维持矩形子图像,同时保持子图像区域内的信号连续性。例如,当与等矩形全景格式的纬度方向采样密度相比时,本方案提供与纬度匹配的更精细和更接近最佳的采样密度。
图6示出了用于重新采样和排列全景图像600的实施例。
在图6中,全景图像600的顶部区域被重新采样。此外,全景图像600的底部区域也被重新采样。应用于顶部区域和底部区域的重新采样不一定相同。在这两个区域中,重新采样在1维域中完成,即区域中的每个样本行在1维域中重新采样,并且不执行跨样本行的垂直重新采样或滤波。每个重新采样的样本行601、602、603、604、605、606、607、608、609、610、611、612被重新排列。在图6的示例中,顶部区域的每个重新采样的样本行601、602、603、604、605、606以及底部区域的每个重新采样的样本行607、608、609、610、611、612沿着采用洋葱皮状布置(onion shell like arrangement)650、670的多边形链进行排列,其中,极区样本行(即图像600的最顶部样本行601或图像600的最底部样本行612)位于排列的样本阵列650、670中的最内侧多边形链中,距离极区纬度最远的样本行606、607变成排列的样本阵列650、670中的最外侧多边形链。这种样本排列(即根据上下文,排列样本的过程以及已排列样本的样本阵列)被称为“嵌套多边形链扫描”或“矩形环打包”。应当理解,不同区域的重新采样的样本行的重新排列可能不相同。应当注意,在图6中重新排列的极区样本行可以是单个样本或线段(而不是多边形链)。
在图6的示例中,多边形链是正方形。全景图像600的中间区域被保留作为原始图像。经历重新采样和排列矩形网格的全景图像600的区域的大小基于针对所讨论的区域而考虑的行数或垂直视场或纬度范围。在图6的示例中,全景图像600的顶部区域和底部区域每个可以包括45度垂直视场(或45度纬度范围)。然而,这些区域的选择可以覆盖不同范围的垂直视场或纬度,例如,30度或60度。这种选择可以取决于但不限于应用要求或者要压缩的场景内容。可替代地或附加地,区域的选择可以采用排列的样本阵列650、670和/或全景图像600的中间区域与编码(解码)中使用的块网格对齐的方式完成。例如,在HEVC编码(解码)等中,排列的样本阵列650、670和/或全景图像600的中间区域的宽度和高度可以分别被选择为CTU宽度和高度的倍数。
在实施例中,多边形链是直线形的,并且多边形链中的线段沿着图像的水平轴和垂直轴。因此,这种多边形链中的每个样本与同一多边形链中的另一个样本垂直地或水平地相邻。
通过图6的重新排列,沿着每个纬度的采样密度可能不是最佳的。因此,为了调整沿着纬度的采样密度,提出了三个嵌套多边形链重新排列,如图7a、7b、8和9中所示。
图7a示出了顶部区域和底部区域的嵌套多边形链重新排列的另一个实施例。每个重新采样的样本行601、602、603、604、605、606、607、608、609、610、611、612被重新排列。重新排列的样本行是沿着排列的样本阵列的x轴或y轴的四个线段的多边形链,以使得洋葱皮结构分配四分之三的矩形(形成排列的样本阵列或包括在排列的样本阵列中)。应当注意,在这种情况下重新排列的极区样本行601、612可以是单个样本或单个线段或两个线段的多边形链(而不是四个线段的多边形链)。
在图7b的实施例中,帧打包可以如下地执行:在帧的2×3分割网格中,第一行680来自顶部区域,第二行681的左列来自顶部区域,第二行681的右列来自底部区域,第三行682来自底部区域。
应当注意,虽然图7a示出了用于分配矩形的左上角、右上角和左下角的顶部区域以及用于分配矩形的右上角、左下角和右下角区域的底部区域,但是其它布置同样是可能的。例如,顶部区域可被布置为分配矩形的左上角、右上角和右下角,底部区域可被布置为分配矩形的左上角、左下角和右下角。
图8示出了另一个嵌套多边形链布置。每个重新采样的样本行601、602、603、604、605、606、607、608、609、610、611、612被重新排列。重新排列的样本行是沿着排列的样本阵列的x轴或y轴的三个线段的多边形链,以使得洋葱皮结构形成矩形。应当注意,在这种情况下重新排列的极区样本行是单个样本或线段(而不是多边形链)。
应当注意,虽然图8示出了水平线段作为重新采样的极区样本行,但是可以用垂直线段作为重新采样的极区行来类似地实现实施例。
所提出的重新排列的顺序使得采样密度朝向极区减小。
在描述图6-8的实施例中对样本行的重新采样可以涉及滤波。实施例不限于使用特定滤波器或任何特定的滤波窗口(即滤波器抽头的数量)。通常,通过下采样执行滤波的目的是避免混叠,因此一般使用低通滤波器。滤波窗口(即滤波器抽头的数量)可以是自适应的,例如,基于被滤波的样本行的纬度(或垂直位置)。当滤波的图像具有360度水平视场时,图像边界处的滤波窗口可以使用来自图像相对侧的样本,即,用作用于滤波的输入样本的样本位置可以被叠起(wrapped over)在图像边界内。
在所有图6-8中,顶部/底部区域采用使得这些区域与全景图的中间区域不重叠的方式构建。然而,应当理解,全景图的中间区域可以包括在全景图的顶部/底部区域的嵌套多边形链扫描中表示的样本行。
上述图6-8示出了一种方法,其中,图像的多个样本行被重新采样成多个重新采样的样本行,并且其中,重新采样的样本行被沿着嵌套多边形链扫描重新排列成重新排列的样本阵列。
在该方法中,极区样本行(即图6-8中图像600的最顶部样本行601或图像600的最底部样本行612)可以如下地处理。可以首先选择重新采样的极区样本行中的样本数量。选择可以是预先定义的,例如在编码标准中或者可以由处理实体(诸如编码器)来选择。选择可以(但不限于)基于以下之一来执行:
-重新采样的极区样本行中的样本数量使得最内侧多边形链是实心样本区域(即不包含空洞)。例如,当多边形链是正方形时,采样的极区样本行中的样本数量可以被选择为1或4;
-重新采样的极区样本行中的样本数量使得最内侧多边形链包围某一大小的块,其中,该块可以对应于HEVC等的整数个编码块;
-重新采样的极区样本行中的样本数量使得它对应于与图像的赤道中的采样密度相同或类似的采样密度;或者
-重新采样的极区样本行中的样本数量使得它精确地或近似地最小化表示一个或多个重新采样的样本行的一个或多个采样密度与图像的赤道中的采样密度的差的误差测量。误差测量例如可以是样本行式(sample-row-wise)误差测量的总和。对于样本行式误差测量,首先,可以根据沿着与样本行对应的纬度的周长导出理想的样本行数量,以使得周长被采样的球形域样本密度与图像的赤道的球形域样本密度相同。然后可以导出样本行式误差测量作为理想样本数量与相同样本行的多边形链中的样本数量之间的绝对差。
-可以选择图像的中间区域中的另一个样本行作为用于上述比较中使用的采样密度的源,而不是图像的赤道中的采样密度。
如果重新采样的极区样本行中的样本数量使得最内侧多边形链形成非实心区域(例如,中空多边形),则由最内侧多边形链包围的样本可以通过最内侧多边形链的样本内插(例如使用双线性或双三次内插),或者例如通过最内侧多边形链的上方或左侧样本外插。如果重新采样的极区样本行中的样本数量使得最内侧多边形链形成非实心区域(例如,中空多边形)并且包围块,则排列的样本阵列可以采用被包围的块与图像的块网格匹配的方式位于帧中。可以采用最小化比特率成本的方式来执行被包围的块的编码,并且在编码模式决策中忽略失真考虑。
最内侧多边形链可以是单个样本或单个线段,即使术语多边形链在其它上下文中指示多个线段。
在实施例中,在选择重新采样的极区样本行中的样本数量时考虑色度格式。例如,当使用4:2:0采样时,针对亮度分量的重新采样的极区样本行中的样本数量可以被选择为能够被4整除,并且针对每个色度分量的重新采样的极区样本行中的样本数量可以被选择为亮度分量除以4的值。因此,重新排列的色度样本阵列可以被布置为具有重新排列的亮度样本阵列的一半宽度和高度,因此遵循4:2:0采样原则。在另一个示例中,当使用4:4:4采样时,针对亮度分量和针对色度分量的重新采样的极区样本行中的样本数量可以被选择为相同。
嵌套多边形链的选择可以按照下面讨论的方式完成。特定的嵌套多边形链扫描可以是预定义的,例如在编码标准中或者可以由处理实体(诸如编码器)来选择。特定的嵌套多边形链扫描固有地与增量(针对赤道处理的重新采样的样本行之间的样本数量的增量)相关联。在给定嵌套多边形链扫描的固有特定增量的情况下,可以(但不限于)基于最小化误差测量(诸如如上所述)来执行选择。增量通常是恒定的但不限于此。在下文中,提供了几个增量的示例:
-当多边形链是矩形时(例如,如图6中所示),增量为8;
-当多边形链如图7a中所示时,增量为6;
-当多边形链如图8中所示时,增量为4。
在实施例中,在选择嵌套多边形链时考虑色度格式。例如,当使用4:2:2采样时,矩形可以用作用于亮度分量的多边形链,并且如图8中所描述的多边形链可用于色度分量。此外,针对亮度分量的重新采样的极区样本行中的样本数量可以是每个色度分量中的样本数量的两倍。因此,用于亮度分量的多边形链中的样本数量是每个色度分量的对应多边形链中的样本数量的两倍,即,重新排列的色度样本阵列可以被布置为具有重新排列的亮度样本阵列的一半宽度,因此遵循4:2:2采样原则。
根据实施例,可以使用多于一个的嵌套多边形链类型来布置顶部或底部区域。在图9中示出了一个示例,其中,矩形用于最内侧多边形链,三个线段的多边形链用于中间多边形链,两个线段的多边形链用于最外侧多边形链。应当理解,这种布置仅仅是示例,也可以类似地使用多边形链类型的其它组合。此外,对于顶部区域和底部区域不必使用相同的多边形链类型的组合,这意味着可以针对顶部区域和底部区域使用多边形链类型的不同组合。
图10示出了比特流的编码和解码。作为编码的预处理步骤,可以根据图6-9,沿着一个或多个嵌套多边形链扫描对未压缩的全景图像900重新采样和排列905。中间区域的样本阵列和重新排列的顶部和底部区域可以如图10中所示地被打包成单个帧910,并且被编码915到比特流中。可替代地,中间区域和重新排列的顶部和底部区域可被分别编码到不同的比特流中。可替代地,重新排列的顶部和底部区域可被打包成单个帧,并与中间区域分开编码。此外,在帧打包图像的情况下,可以在编码中使用运动受限图块集等,如图11中所示。应当注意,重新排列的顶部和底部区域一般不需要是矩形的。
根据实施例,编码器被配置为在比特流中或沿着比特流指示包括以下中的一个或多个的第一组信息:
-嵌套多边形链扫描的类型,例如,指向嵌套多边形链扫描的预定义枚举类型列表的值;
-重新采样的极区样本行中的样本数量;
-已经通过重新采样和嵌套多边形链扫描布置处理的样本行或块行(例如,HEVC等中的CTU行)的数量;
-帧打包编码图像内的重新排列的样本阵列的位置和大小;
-重新排列的样本阵列对应的原始图像的区域的标识。
第一组信息在本申请中被认为是所应用的嵌套多边形链扫描的描述。编码器例如可以在图像参数集、序列参数集或补充增强信息(SEI)消息中指示所应用的嵌套多边形链扫描的描述。
根据实施例,区域被编码为一个或多个完整切片,不包含来自其它区域的编码数据。根据实施例,区域被编码为图块或图块集,不包含来自其它区域的编码数据。
根据实施例,编码器被配置为在比特流中指示包括以下中的一个或多个的第二组信息:
-图像内切片、图块或图块集的大小;
-切片、图块或图块集的位置。
该信息例如可以在切片报头中指示或者基于每个图块或图块集指示。
作为预处理的补充,可以执行解码925之后的后处理930(图10)以重新构建全景图像。可以执行与预处理步骤相反的步骤。例如,可以首先通过将多边形链中的样本排列成一行样本来获得重新采样的样本行。然后可以将重新采样的样本行上采样到重新构建的全景图像的行宽。
在实施例中,对第一图像的多个区域中的第一区域编码,其中,所述编码包括重新构建与第一区域对应的第一初步重新构建区域。通过重新采样和/或重新排列第一初步重新构建区域,从第一初步重新构建区域形成第一重新构建区域。第一重新构建区域在对第一图像和/或第二图像的另一个或多个区域编码时用作预测参考。
相应地,根据实施例的解码方法包括将第一图像的第一编码区域解码成第一初步重新构建区域。通过重新采样和/或重新排列第一初步重新构建区域,从第一初步重新构建区域形成第一重新构建区域。第一重新构建区域在对第一图像和/或第二图像的另一个或多个区域解码时用作预测参考。
在实施例中,针对帧内图像执行所述重新采样和重新排列,即所述第一图像被编码为帧内图像。
第一图像可以采用以下任一表示格式:1)原始全景图像格式,例如,等矩形全景图像格式;或者2)如参考图6-9讨论的重新排列中的任何一个。当第一图像是采用其原始格式的全景图像(例如,等矩形全景图)时,针对第一重新构建区域的重新采样和重新排列可以如参考图6-9中的任一个所描述的那样针对顶部或底部区域执行。当第一图像具有参考图6-9讨论的重新排列中的任何一个的表示格式时,可以执行重新采样和重新排列以形成采用原始全景图像格式(例如,等矩形全景图像)的第一重新构建区域和/或第一重新构建图像(包括第一重新构建区域)。在这两种情况下,可以执行重新采样和重新排列,以使得第一重新构建图像(包括第一重新构建区域)具有与另一个或多个区域或第二图像的相同表示(或者,一般地,在一个或多个后续图像中使用第一重新构建图像作为用于帧间预测的参考)。
所述重新排列还可以包括重新定位、旋转和/或镜像。
根据实施例,在对第一图像的另一个或多个区域编码或解码之前执行所述第一重新构建区域的形成,并且使用第一重新构建区域预测所述另一个或多个区域和/或对所述另一个或多个区域进行滤波(例如,去块滤波、SAO和/或ALF)。
根据实施例,在对第一图像编码或解码之后执行所述第一重新构建区域的形成。
根据实施例,所提出的方案将重新采样和重新排列以及重新定位扩展到具有以下限制的帧间编码图像:包括在解码图像缓冲器中的重新构建图像IC0(从帧间编码图像中解码)的顶部区域和底部区域的采样密度应当大于或等于在其预测中使用IC0的图像的顶部区域和底部区域的采样密度。
根据实施例,编码器被配置为在比特流中指示包括以下中的一个或多个的第三组信息:
-(第一图像(诸如帧内图像)的)初步重新构建图像内的区域的位置和大小;
-针对选定区域和区域的位置的重新排列指令(在重新采样后,如果重新采样被应用);
-(第一图像(诸如帧内图像)的)重新构建图像内的区域的位置和大小。
该信息例如可以在图像参数集或序列参数集中指示。
根据实施例,解码器被配置为从比特流中解码上述信息中的一个或多个。根据解码的指示,解码器被配置为推断用于将要应用的重新采样和/或重新定位过程的参数。
根据实施例,编码器被配置为在比特流中指示包括以下中的一个或多个的第四组信息:
-在重新采样过程中将要针对切片、图块或图块集应用的重新采样,或者(帧内图像的)重新构建图像内的切片、图块或图块集的大小;
-(帧内图像的)重新构建图像内的切片、图块或图块集的位置(在重新采样之后,如果重新采样被应用)。
该信息可以在切片报头中指示或者基于每个图块或图块集指示。
根据实施例,解码器被配置为从比特流中解码上述信息中的一个或多个。根据解码的指示,解码器推断用于将要应用的重新采样和/或重新定位过程的参数。
根据实施例,重新采样的重新构建图像和重新构建图像两者包括在解码图像缓冲器中,如由编码器确定的或者默认的(例如,如在编码标准中规定的)。当由编码器确定时,编码器可以在比特流中(例如,在切片报头和/或图像参数集中)指示哪些重新采样的重新构建图像和重新构建图像被包括在解码图像缓冲器中。
在实施例中,重新构建图像被重新采样并重新排列和/或重新定位,作为解码的输出过程的一部分或者与其连接,如由编码器确定的或者默认的(例如,如在编码标准中规定的)。当由编码器确定时,编码器可以在比特流中(例如,在切片报头和/或图像参数集和/或序列参数集中)指示重新构建图像是否被重新采样和/或重新定位。重新采样和/或重新定位可以产生具有与被编码的未压缩图像和重新采样的重新构建图像相同的表示格式(诸如等矩形全景格式)的图像。重新采样和/或重新定位可以作为如HEVC等中的输出裁辑过程的一部分包括在内。
应当理解,虽然已经参考帧内图像和帧间图像描述了实施例,但是可以替代地使用另一种图像分类来实现实施例。例如,作为帧内图像和帧间图像的替代,可以分别参考IRAP图像和非IRAP图像来实现实施例。在另一个示例中,作为帧内图像和帧间图像的替代,可以分别参考时间子层0到N(包括0和N)处的图像以及大于N的时间子层处的图像来实现实施例。在又一个示例中,编码器指示(例如,基于图像(例如,在切片报头和/或与图像相关联的图像参数集中))指示以下中的一个或全部两个:
-区域重新采样和/或重新定位被应用于从常规编码/解码过程中产生的重新采样的重新构建图像;
-如果图像使用缓冲器作为预测参考,则重新采样的重新构建图像包括在解码图像中,或者重新构建图像包括在解码图像缓冲器中。
在下文中,讨论了通过运动受限图块的多分辨率采样部分图像解码。图12示出了如何以协调的方式对相同内容的若干编码版本应用该方法。编码版本可在以下中的一个或多个方面不同:比特率、图像质量(其可以通过使用不同的量化参数值获得)、空间分辨率、每个颜色分量的位深度、动态范围、色域。
针对用不同空间分辨率编码的相同内容的两个版本描述了根据图12的实施例的方法。图12示出了全景图像1100,其中指示了运动受限图块集的边界(图像1100内的黑线)。
根据实施例,这两个版本中的运动受限图块集的边界在空间上并置。这使得能够创建具有不同分辨率的空间非重叠的图块集轨道或比特流。在实施例中,这两个版本中的运动受限图块集的边界不需要在空间上并置。不同分辨率的运动受限图块集可以采用具有不同分辨率的图块集轨道或比特流之间的重叠不存在或适度的方式来选择。在实施例中,属于这两个版本中的全景图像的中间区域的图块用相同的空间分辨率和质量编码,而属于顶部和底部区域的图块用不同的质量和/或分辨率编码。
A.可伸缩的视频编码
图13示出了如何在层间预测中使用所提出的实施例。
图13示出了如何以协调的方式对相同内容的若干编码层应用所提出的实施例。编码层可在以下中的一个或多个方面不同:比特率、图像质量(其可以通过使用不同的量化参数值获得)、空间分辨率、每个颜色分量的位深度、动态范围、色域。
在不缺乏一般性的情况下,可以针对用不同空间分辨率编码的相同内容的两个层来描述图13的方法。
基础层不需要通过图块或运动受限图块编码。基础层可以通过另一种编码诸如H.264/AVC来编码。不对基础层执行图块集轨道或比特流构建。基础层可以包含采用以下任一表示格式的全景图像:1)完全/完整的原始全景图;2)参考图6-9讨论的任一表示;3)全景图像的中间区域。
预测层使用根据基础层的层间预测。
当基础层图像是采用其原始格式的全景图像(例如,等矩形全景图)并且预测层图像中的至少一个区域使用嵌套多边形链扫描时,可以通过对重新构建的基础层图像应用参考图6-9描述的过程来形成用于层间预测的参考图像。
当基础层图像使用参考图6-9讨论的任一表示时,层间处理可涉及根据重新构建的基础层图像形成采用其原始格式的全景图像(类似于上述的后处理操作),以及将全景图像重新采样到预测层的分辨率。当预测层包括使用原始全景格式的图像时,重新采样的全景图像可被用作用于层间预测的参考。当预测层包括使用参考图6-9描述的任一表示的图像时,用于预测层图像的相同嵌套多边形链扫描过程可用于重新采样的全景图像以获得用于层间预测的参考图像。
根据实施例,基础层通过运动受限图块编码,这些图块与预测层的图块并置。此外,层间预测在编码中通过以下方式受到限制:使得预测层中的块的层间预测不需要基础层中的并置块以外的样本值或运动矢量信息。
B.立体视频编码
图13还示出了用于立体视频编码的实施例。应当注意,虽然示例性附图示出了立体等矩形全景图,但是该方法不限于这种格式,而是可以应用于其它立体圆柱形格式。
在图13中,一个视图(例如,左视图)通过或不通过运动受限图块进行编码,并且可以用任何编解码器编码,例如,HEVC(例如,主配置文件(Main profile))或H.264/AVC。视图不需要具有相同的空间分辨率或其它特性(例如,比特率、图像质量、每个颜色分量的位深度、动态范围和/或色域)。
根据实施例,两个视图可以采用以下任一表示来表示:1)完全/完整的原始全景图;2)参考图6-9讨论的任一表示。
C.通过视图间预测的立体视频编码
所提出的实施例可以应用于通过视图间的视图间预测的立体和多视图编码。
根据实施例,一个视图(例如,左视图)通过或不通过运动受限图块进行编码,并且可以用任何编解码器编码,例如,HEVC(例如,主配置文件)或H.264/AVC。
根据实施例,这两个视图可以采用以下任一表示来表示:1)完全/完整的原始全景图;2)参考图6-9讨论的任一表示。
在实施例中,这两个视图共享相同的表示格式(例如,图6-9的特定重新排列方案),并且在通过相同的重新排列方案表示的视图之间执行视图间预测。
在实施例中,视图具有彼此不同的表示格式。例如,基础视图可以采用完全/完整的原始全景格式,例如等矩形全景格式,预测视图可以采用参考图6-9讨论的任一表示。用于视图间预测的参考图像可以采用类似于上述用于层间预测的参考图像的方式形成。
采用原始格式和/或重新排列格式的顶部/底部区域的文件封装和选择性流传输
根据实施例,对图像的顶部区域和底部区域编码两次。在第一编码中,对所讨论的区域进行如参考图6-9描述的预处理,然后进行编码。在第二编码中,采用其原始格式对所讨论的区域进行编码。在这两种编码中,中间区域可以或可以不被编码,但是当中间区域被编码时,它采用独立于顶部区域和底部区域的方式进行编码,例如使用运动受限图块集。编码区域可以采用以下方式之一封装在文件或片段中:
-形成包含采用它们的原始格式的顶部、中间和底部区域的第一轨道/表示。形成包含重新排列的顶部和底部区域并且通过参考从第一轨道/表示中提取中间区域(例如使用提取器NAL单元类结构)的第二轨道/表示。该方法在图14中示意性地示出。第一轨道/表示的第一样本1410包含采用它们的原始格式的顶部区域1415、中间区域1420和底部区域1425。中间区域1420通过参考1430,例如使用提取器NAL单元类结构被提取到第二轨道/表示的第二样本1450。第二样本1450还包括重新排列的顶部和底部区域。
-形成包含中间区域和重新排列的顶部和底部区域的第一轨道/表示。形成包含采用它们的原始格式的顶部和底部区域并且通过参考从第一轨道/表示中提取中间区域的第二轨道/表示。
-形成包含中间区域的第一轨道/表示。形成包含采用它们的原始格式的顶部和底部区域并且还可以通过参考从第一轨道/表示中提取中间区域的第二轨道/表示。形成包含重新排列的顶部和底部区域并且还可以通过参考从第一轨道/表示中提取中间区域的第三轨道/表示。
可以通过使用提取器NAL单元类结构来执行提取。可替代地,可以隐式地执行提取,例如使用ISO/IEC 14496-15的图块轨道。
根据实施例,一种处理实体(例如,MPD创建器)被配置为将所应用的嵌套多边形链扫描的描述包括到清单或呈现描述(例如,MPEG-DASH的媒体呈现描述(MPD))中,例如自适应集、表示和/或子表示层级中。
根据实施例,一种处理实体(例如,DASH客户端)被配置为从清单或呈现描述(例如,MPEG-DASH的媒体呈现描述(MPD))中解析所应用的嵌套多边形链扫描的描述,例如从自适应集、表示和/或子表示层级中。该处理实体基于其支持的嵌套多边形链扫描,选择自适应集、表示和/或子表示。
根据实施例,一种处理实体(例如,DASH客户端)被配置为解析轨道或表示之间的依赖关系。当仅需要第一轨道/表示的中间区域以用于解码和/或渲染,同时采用它们的原始格式或重新排列的格式的顶部和底部区域也存在于第一轨道/表示中时,处理实体可以推断包括中间区域的字节范围并请求仅传输这些字节范围。
图15的流程图示出了根据实施例的方法。该方法包括将图像的多个样本行重新采样成多个重新采样的样本行1510;以及将重新采样的样本行沿着嵌套多边形链扫描重新排列成重新排列的样本阵列1520。在该方法中,嵌套多边形链扫描可以包括将图像的最顶部样本行和最底部样本行排列到重新排列的样本阵列中的最内侧多边形链中;以及将距离图像的最顶部样本行和最底部样本行最远的样本行排列到重新排列的样本阵列中的最外侧多边形链中。
根据实施例的装置包括:用于将图像的多个样本行重新采样成多个重新采样的样本行的装置;以及用于将重新采样的样本行沿着嵌套多边形链扫描重新排列成重新排列的样本阵列的装置。这些装置可以被配置为将图像的最顶部样本行和最底部样本行排列到重新排列的样本阵列中的最内侧多边形链中;以及将距离图像的最顶部样本行和最底部样本行最远的样本行排列到重新排列的样本阵列中的最外侧多边形链中。根据实施例的装置中的装置包括处理器、存储器和存在于存储器中的计算机程序代码。
图16的流程图示出了根据另一个实施例的方法。该方法包括获得包括沿着嵌套多边形链扫描的多个重新采样的样本行的重新排列的样本阵列1610;通过沿着扫描顺序将嵌套多边形链扫描中的多边形链当作一维信号来提取重新采样的样本行1620;将重新采样的样本行重新采样成样本行1630;以及将样本行排列成样本阵列1640。
根据另一个实施例的装置包括:用于获得包括沿着嵌套多边形链扫描的多个重新采样的样本行的重新排列的样本阵列的装置;用于通过沿着扫描顺序将嵌套多边形链扫描中的多边形链当作一维信号来提取重新采样的样本行的装置;用于将重新采样的样本行重新采样成样本行的装置;以及用于将样本行排列成样本阵列的装置。根据另一个实施例的装置中的装置包括处理器、存储器和存在于存储器中的计算机程序代码。
在上文中,已经讨论了全景图像的顶部和底部区域的嵌套多边形链映射的实施例。如所描述的,实施例可以实现为用于编码的预处理和用于解码的后处理。此外,对于一些图像,可以在编码(解码)循环中实现这些实施例。实施例还可以实现为层间处理,其中,基础层是普通的等矩形全景图,层间处理实现到基础层图像的矩形环重新采样,增强层对矩形环重新采样的图像进行编码。同样如所讨论的,实施例可以通过运动受限图块来实现,即顶部区域、中间区域和底部区域中的每一个形成单独的运动受限图块或图块集。所提出的实施例还可以使用图块集提取,其中,内容的两个版本被编码——一个使用普通的全景格式,另一个使用矩形环重新采样。这两个版本使用运动受限图块,并且这两个版本的中间区域相同,因此只需要存储一个。引导重写(图14)可用于提供普通的全景版本和矩形环重新采样版本,引用相同的存储的中间区域。
各种实施例可以提供多个优点。例如,与具有以下序列的完全等矩形全景图相比,所提出的实施例可以改进压缩性能(与等矩形全景编码相比,这些值是亮度BD速率的百分比)。所提出的实施例还可以通过减少等矩形全景图的天底和天顶区域中的冗余样本来降低编码比特率。此外,重新采样的图像可以保持在原始的等矩形投影方案下,并且重新采样仅采用简单的1维函数。
在上文中,已经参考等距圆柱形全景格式描述了一些实施例。然而,许多示例实施例同样适用于其它全景格式,例如伪圆柱形全景格式。
在上文中,已经关于ISOBMFF和/或从ISOBMFF导出的格式描述了一些实施例。然而,许多示例性实施例类似地适用于其它文件和片段格式,包括但不限于Matroska文件格式。
在上文中,已经关于MPEG-DASH或DASH描述了一些实施例。然而,示例性实现和实施例类似地适用于其它形式的基于HTTP的流传输,例如,Apple HTTP实时流传输(HLS)。应当理解,实施例中的DASH特定术语可以调整为采用其它流式格式和***的类似术语。
在上文中,已经关于MPEG-DASH的媒体呈现描述(MPD)描述了一些实施例。然而,示例性实现和实施例类似地适用于其它流传输清单格式(例如,HLS M3U格式)或者其它流或呈现描述格式(例如,SDP(会话描述协议))。
本发明的各种实施例可以利用保存在存储器中的计算机程序代码来实现,并使相关装置实施本发明。例如,设备可以包括用于处理、接收和发送存储器中的数据、计算机程序代码的电路和电子设备,以及处理器,其在运行计算机程序代码时使设备执行实施例的特征。此外,诸如服务器的网络设备可以包括用于处理、接收和发送存储器中的数据、计算机程序代码的电路和电子设备,以及处理器,其在运行计算机程序代码时使网络设备执行实施例的特征。
如果需要,在本文中讨论的不同功能可以采用不同顺序执行和/或与其它功能同时执行。此外,如果需要,上述功能和实施例中的一个或多个可以是可选的,也可以进行组合。
虽然在独立权利要求中阐述了实施例的各个方面,但是其它方面包括所描述的实施例和/或从属权利要求中的特征与独立权利要求的特征的其它组合,并且不仅仅是在权利要求中明确阐述的组合。
在此还应当注意,虽然以上描述了示例性实施例,但是这些描述不应被视为具有限制性意义。而是存在可以在不背离在所附权利要求中限定的本公开的范围的情况下而进行的多种变形和修改。

Claims (15)

1.一种方法,包括:
-将全景图像的顶部区域和/或底部区域的多个样本行重新采样成多个重新采样的样本行;以及
-将所述多个重新采样的样本行沿着包括多个嵌套多边形链的扫描重新排列成重新排列的样本阵列,其中,至少一些所述多个嵌套多边形链构成多边形的一部分。
2.根据权利要求1所述的方法,还包括:
-对所述重新排列的样本阵列编码。
3.根据权利要求1所述的方法,还包括:
-通过重新构建所述多个样本行作为对原始图像编码或从编码图像中解码所述多个样本行的一部分来获得所述多个样本行;以及
-使用所述重新排列的样本阵列作为帧内预测、帧间预测或层间预测的参考。
4.一种方法,包括:
-获得包括沿着包括多个嵌套多边形链的扫描的多个重新采样的样本行的重新排列的样本阵列,其中,至少一些所述多个嵌套多边形链构成多边形的一部分;
-通过沿着扫描顺序将所述多个嵌套多边形链中的每个多边形链当作一维信号来提取对应的重新采样的样本行;
-将所述重新采样的样本行重新采样成样本行;以及
-将所述样本行排列成样本阵列。
5.根据权利要求4所述的方法,其中,通过对编码帧解码或者通过重新构建帧作为对原始帧编码的一部分来获得所述重新排列的样本阵列。
6.一种装置,包括:
-用于将全景图像的顶部区域和/或底部区域的多个样本行重新采样成多个重新采样的样本行的装置;以及
-用于将所述多个重新采样的样本行沿着包括多个嵌套多边形链的扫描重新排列成重新排列的样本阵列的装置,其中,至少一些所述多个嵌套多边形链构成多边形的一部分。
7.根据权利要求6所述的装置,还包括:
用于对所述重新排列的样本阵列编码的装置。
8.根据权利要求6所述的装置,还包括:
用于通过重新构建所述多个样本行作为对原始图像编码或从编码图像中解码所述多个样本行的一部分来获得所述多个样本行的装置;以及
用于使用所述重新排列的样本阵列作为帧内预测、帧间预测或层间预测的参考的装置。
9.根据权利要求6所述的装置,还包括:
用于将所述全景图像的除了所述顶部区域和底部区域以外的其它区域的多个样本行重新采样成多个重新采样的样本行的装置;以及
用于将所述重新采样的样本行重新排列成多个重新排列的样本阵列的装置。
10.根据权利要求6所述的装置,还包括:
用于将所述多个重新排列的样本阵列打包成单个帧的装置。
11.根据权利要求6所述的装置,还包括:
用于将所述多个重新排列的样本阵列打包成不同的帧的装置。
12.根据前述权利要求6至11中任一项所述的装置,其中,所述扫描包括:
将所述顶部区域的最顶部样本行或所述底部区域的最底部样本行排列到所述重新排列的样本阵列中的最内侧多边形链中;以及
将距离所述顶部区域的所述最顶部样本行或所述底部区域的所述最底部样本行最远的样本行排列到所述重新排列的样本阵列中的最外侧多边形链中。
13.根据前述权利要求6至11中任一项所述的装置,其中,所述样本行包括来自以下组中的一个的一个或多个样本:亮度样本;色度样本;亮度样本和色度样本两者。
14.一种装置,包括:
-用于获得包括沿着包括多个嵌套多边形链的扫描的多个重新采样的样本行的重新排列的样本阵列的装置,其中,至少一些所述多个嵌套多边形链构成多边形的一部分;
-用于通过沿着扫描顺序将所述多个嵌套多边形链中的每个多边形链当作一维信号来提取对应的重新采样的样本行的装置;
-用于将所述重新采样的样本行重新采样成样本行的装置;以及
-用于将所述样本行排列成样本阵列的装置。
15.根据权利要求14所述的装置,其中,通过对编码帧解码或者通过重新构建帧作为对原始帧编码的一部分来获得所述重新排列的样本阵列。
CN201780061134.6A 2016-10-04 2017-09-04 用于视频编码和解码的装置、方法和计算机程序 Active CN109792487B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1616808.0 2016-10-04
GB1616808.0A GB2554686A (en) 2016-10-04 2016-10-04 An apparatus, a method and a computer program for video coding and decoding
PCT/FI2017/050616 WO2018065663A1 (en) 2016-10-04 2017-09-04 An apparatus, a method and a computer program for video coding and decoding

Publications (2)

Publication Number Publication Date
CN109792487A CN109792487A (zh) 2019-05-21
CN109792487B true CN109792487B (zh) 2021-06-29

Family

ID=57571150

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780061134.6A Active CN109792487B (zh) 2016-10-04 2017-09-04 用于视频编码和解码的装置、方法和计算机程序

Country Status (4)

Country Link
EP (1) EP3523956B1 (zh)
CN (1) CN109792487B (zh)
GB (1) GB2554686A (zh)
WO (1) WO2018065663A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020156545A1 (en) 2019-02-02 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Prediction using intra-buffer samples for intra block copy in video coding
JP7405861B2 (ja) 2019-03-01 2023-12-26 北京字節跳動網絡技術有限公司 映像符号化におけるイントラブロックコピーのための方向に基づく予測
JP7284284B2 (ja) 2019-03-04 2023-05-30 北京字節跳動網絡技術有限公司 映像符号化におけるイントラブロックコピーの実装形態の態様
GB2619430B (en) * 2019-03-20 2024-02-21 V Nova Int Ltd Low complexity enhancement video coding
WO2021000277A1 (en) * 2019-07-03 2021-01-07 Beijing Xiaomi Mobile Software Co., Ltd. Method and device for coding, decoding and storage medium
KR102635519B1 (ko) * 2019-07-10 2024-02-07 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩에서 인트라 블록 카피를 위한 샘플 식별
CN111212267A (zh) * 2020-01-16 2020-05-29 聚好看科技股份有限公司 一种全景图像的分块方法及服务器
CN111683189B (zh) * 2020-05-14 2023-04-07 苏州达家迎信息技术有限公司 图片压缩方法、***、终端、及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1341383A2 (en) * 2002-02-28 2003-09-03 Sharp Kabushiki Kaisha Composite camera system, zoom camera image display control method, zoom camera control method, control program, and computer readable recording medium
CN204761606U (zh) * 2014-07-23 2015-11-11 威视恩移动有限公司 通过无线通信频道提供即时图像的***及全景视频采集装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6044328B2 (ja) * 2012-12-26 2016-12-14 株式会社リコー 画像処理システム、画像処理方法およびプログラム
US20150264404A1 (en) * 2014-03-17 2015-09-17 Nokia Technologies Oy Method and apparatus for video coding and decoding
US10204658B2 (en) * 2014-07-14 2019-02-12 Sony Interactive Entertainment Inc. System and method for use in playing back panorama video content
KR20180029315A (ko) * 2016-09-12 2018-03-21 삼성전자주식회사 가상 현실 컨텐트의 영상을 투영하기 위한 영상 처리 방법 및 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1341383A2 (en) * 2002-02-28 2003-09-03 Sharp Kabushiki Kaisha Composite camera system, zoom camera image display control method, zoom camera control method, control program, and computer readable recording medium
CN204761606U (zh) * 2014-07-23 2015-11-11 威视恩移动有限公司 通过无线通信频道提供即时图像的***及全景视频采集装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《WD on ISO/IEC 23000-20 Omnidirectional Media Application Format》;Byeongdoo Choi;《ISO/IEC JTC1/SC29/WG11 N16189》;20160715;Section A.3.2.6以及图A-20 *
Aleksandar M. Dimitrijevi'.《COMPARISON OF SPHERICAL CUBE MAP PROJECTIONS》.《FACTA UNIVERSITATIS (NIˇS)online》.2016,图4.21和表4.2. *

Also Published As

Publication number Publication date
EP3523956A1 (en) 2019-08-14
GB2554686A (en) 2018-04-11
GB201616808D0 (en) 2016-11-16
CN109792487A (zh) 2019-05-21
EP3523956A4 (en) 2020-05-13
WO2018065663A1 (en) 2018-04-12
EP3523956B1 (en) 2023-06-07

Similar Documents

Publication Publication Date Title
CN108886620B (zh) 用于视频编码和解码的装置、方法及计算机程序
US10728521B2 (en) Apparatus, a method and a computer program for omnidirectional video
US10979727B2 (en) Apparatus, a method and a computer program for video coding and decoding
US11082719B2 (en) Apparatus, a method and a computer program for omnidirectional video
CN108702503B (zh) 用于提供视频比特流的方法及装置
CN109792487B (zh) 用于视频编码和解码的装置、方法和计算机程序
US20190268599A1 (en) An apparatus, a method and a computer program for video coding and decoding
US20190349598A1 (en) An Apparatus, a Method and a Computer Program for Video Coding and Decoding
WO2019002662A1 (en) APPARATUS, METHOD AND COMPUTER PROGRAM FOR OMNIDIRECTIONAL VIDEO
WO2017051077A1 (en) An apparatus, a method and a computer program for video coding and decoding
JP2018524897A (ja) ビデオの符号化・復号装置、方法、およびコンピュータプログラム
WO2017162911A1 (en) An apparatus, a method and a computer program for video coding and decoding
JP7390477B2 (ja) ビデオコーディングおよびデコーディングのための装置、方法、およびコンピュータプログラム
WO2017140948A1 (en) An apparatus, a method and a computer program for video coding and decoding

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