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

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

Info

Publication number
CN105556965B
CN105556965B CN201480050103.7A CN201480050103A CN105556965B CN 105556965 B CN105556965 B CN 105556965B CN 201480050103 A CN201480050103 A CN 201480050103A CN 105556965 B CN105556965 B CN 105556965B
Authority
CN
China
Prior art keywords
image
layer
prediction
locating depth
reference picture
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
CN201480050103.7A
Other languages
English (en)
Other versions
CN105556965A (zh
Inventor
K·乌尔
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 CN105556965A publication Critical patent/CN105556965A/zh
Application granted granted Critical
Publication of CN105556965B publication Critical patent/CN105556965B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/34Scalability techniques involving progressive bit-plane based encoding of the enhancement layer, e.g. fine granular scalability [FGS]
    • 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/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/117Filters, e.g. for pre-processing or post-processing
    • 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/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/187Methods 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 scalable video layer
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Landscapes

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

Abstract

公开了用于视频编码和解码的各种方法、装置和计算机程序产品。在一些实施例中,获得关于在第一层上的图像的参考块的位深和在第二层上的图像的当前块的位深的信息。所获得的信息用于选择一个或多个重采样过滤器参数以用于对将在层间预测中使用的参考层图像的至少一部分进行过滤。还公开了用于视频编码和解码的对应的方法、装置和计算机程序产品。

Description

用于视频编码和解码的方法、装置和计算机程序产品
技术领域
本申请一般涉及用于视频编码和解码的装置、方法和计算机程序产品。更具体地,各种实施例涉及视频的可伸缩和高位深的编码和解码。
背景技术
这部分旨在提供在权利要求书中陈述的本发明的背景或上下文。此处的描述可以包含可以被追求的构思,但其不是必须是先前已设想或追求的构思。因此,除非此处另外指出,否则这部分所述的内容不是本申请中的说明书和权利要求书的现有技术,并且不通过包含在这部分中而承认其为现有技术。
视频编码系统可以包括:编码器,其将输入视频变换为适合于存储/传输的压缩表示,以及解码器,其能够将被压缩的视频表示解压缩回到能够观看的形式。编码器可以丢弃原始视频序列中的一些信息,以便以更加紧凑的形式来表示该视频,例如,以使得能够以比以其他方式可能需要的比特率更低的比特率来存储/传输该视频信息。
可伸缩视频编码指的是编码结构,在该编码结构中,一种比特流能够含有以不同比特率、分辨率、帧速率和/或其它类型的可伸缩性的内容的多种表示。可伸缩比特流可以典型地由“基础层”(其提供可以使用的最低质量视频)和一个或多个增强层(当其连同较低层一起被接收和解码时,其增强视频质量)组成。为了改进针对增强层的编码效率,该层的编码表示可以典型地依赖于较低层。每层连同所有它的依赖层是以某一空间分辨率、时间分辨率、质量水平、和/或其它类型的可伸缩性的操作点的视频信号的一种表示。
在3D视频内容的编码中,可以使用视频压缩系统,诸如高级视频编码标准(H.264/AVC)、H.264/AVC的多视角视频编码(MVC)扩展或HEVC的可伸缩扩展。
发明内容
一些实施例提供了一种用于编码和解码视频信息的方法。在一些实施例中,当针对增强层来增加基础层图像的位深和空间分辨率两者时,可以改进编码效率,以及可以降低可伸缩视频编码器/解码器的复杂度。替代执行级联过滤,而是执行具有取整阶段数目减少的单过滤以获得层间预测图像。在一些实施例中,重建的基础层图像首先转到上采样过滤器,其中重建的基础层图像的样本与过滤器系数相乘以及可以将取整偏移加到和中。取整偏移可以依赖于过滤器系数的准确度和在增强层位深和基础层位深之间的差两者。然后,这些和可以被移位到增强层位深。该移位可以依赖于过滤器系数的准确度和在增强层位深和基础层位深之间的差两者。也可以执行裁剪操作以便过滤后的增强层图像的值保持在某一值范围内。
在详细的描述中提供了本发明的示例的各种方面。
根据本发明的第一方面,提供了一种方法,包括:
获得关于在第一层上的图像的参考块的位深的信息;
获得关于在第二层上的图像的当前块的位深的信息;
使用所获得的信息以选择一个或多个重采样过滤器参数以用于对将在层间预测中使用的参考层图像的至少一部分进行过滤。
根据第二方面,提供了一种装置,其包括至少一个处理器和包含计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置为使用所述至少一个处理器使得所述装置:
获得关于在第一层上的图像的参考块的位深的信息;
获得关于在第二层上的图像的当前块的位深的信息;
使用所获得的信息以选择一个或多个重采样过滤器参数以用于对将在层间预测中使用的参考层图像的至少一部分进行过滤。
根据第三方面,提供了一种计算机程序产品,所述计算机程序产品包含一个或多个指令的一个或多个序列,当由一个或多个处理器执行一个或多个指令的一个或多个序列时,一个或多个指令的一个或多个序列使得装置至少执行以下:
获得关于在第一层上的图像的参考块的位深的信息;
获得关于在第二层上的图像的当前块的位深的信息;
使用所获得的信息以选择一个或多个重采样过滤器参数以用于对将在层间预测中使用的参考层图像的至少一部分进行过滤。
根据第四方面,提供了一种装置,其包括:
用于获得关于在第一层上的图像的参考块的位深的信息的构件;
用于获得关于在第二层上的图像的当前块的位深的信息的构件;
用于使用所获得的信息以选择一个或多个重采样过滤器参数以用于对将在层间预测中使用的参考层图像的至少一部分进行过滤的构件。
根据第五方面,提供了一种装置,其被配置为执行根据第一方面的方法。
根据第六方面,提供了一种解码器,其被配置为执行根据第一方面的方法。
根据第七方面,提供了一种编码器,其被配置为执行根据第一方面的方法。
附图说明
为了更完全地理解本发明的示例实施例,现在将通过示例参照附图,在附图中:
图1示意性示出了使用本发明的一些实施例的电子设备;
图2示意性示出了适用于使用本发明的一些实施例的用户设备;
图3进一步示意性示出了使用无线和有线网络连接的使用本发明的实施例的电子设备;
图4a示意性地示出了适用于实现本发明的一些实施例的编码器;
图4b示意性地示出了根据本发明的一些实施例的层间处理的示例实施例;
图5a示意性地示出了适用于实现本发明的一些实施例的解码器;
图5b示意性地示出了在解码器处的层间处理框的示例实施例;
图6a说明了预测单元的空间和时间预测的示例;
图6b说明了预测单元的空间和时间预测的另一个示例;
图6c描绘了针对直接模式运动向量推断的示例;以及
图7示出了由两个图块组成的图像的示例。
具体实施方式
在以下,将在一种视频编码布置的上下文中描述本发明的若干实施例。然而,注意的是,本发明不局限于这种特定布置。实际上,在希望3D视频编码的改进的任何环境中,不同实施例具有广阔的应用。例如,本发明可以应用于视频编码系统,如流式传输系统、DVD播放器、数字电视接收器、个人视频记录器、在个人计算机上的系统和计算机程序、手持型计算机和通信设备以及网络元素,诸如处理视频数据的转码器和云计算布置。
以下进一步详细描述用于实现实施例的合适的装置和可能的机制。在这点上,首先参照图1,图1示出了示例性装置或电子设备50的示意性框图,该装置或电子设备50可以并入根据本发明的实施例的编解码器。
电子设备50例如可以是无线通信系统的移动终端或用户设备。然而,将理解的是,可以在可以要求编码和解码或编码或解码视频图像的任何电子设备或装置内实现本发明的实施例。
装置50可以包括:用于容纳和保护该设备的壳体30。装置50还可以包括以液晶显示器形式的显示器32。在本发明的其它实施例中,显示器可以是适合于显示图像或视频的任何合适的显示器技术。装置50还可以包括小键盘34。在本发明的其它实施例中,可以使用任何合适的数据或用户接口机构。例如,用户接口可以被实现成作为触摸敏感显示器的一部分的虚拟键盘或数据输入系统。装置可以包括麦克风36或任何合适的音频输入器,其可以是数字或模拟信号输入器。装置50还可以包括音频输出设备,在本发明的实施例中,所述音频输出设备可以是以下中的任何一个:耳机38、扬声器、或模拟音频或数字音频输出连接件。装置50还可包括电池40(或者在本发明的其它实施例中,可以由任何合适的移动能量设备,诸如太阳能电池、燃料电池或发条发电机,向该设备提供电力)。装置还可以包括红外线端口42以用于至其它设备的短距视线通信。在其它实施例中,装置50还可以包括任何合适的短距通信解决方案,诸如例如蓝牙无线连接或USB/火线有线连接。
装置50可以包括用于控制装置50的控制器56或处理器。控制器56可以连接到存储器58,在本发明的实施例中,存储器58可以存储以图像和音频数据形式的数据,并且/或还可以存储用于在控制器56上实现的指令。控制器56还可以连接到编解码电路54,该编解码电路54适用于执行对音频和/或视频数据的编码和解码或帮助由控制器56执行的编码和解码。
装置50还可以包括卡阅读器48和智能卡46,例如,UICC和UICC阅读器以用于提供用户信息并且适用于提供用于在网络上对用户进行认证和授权的认证信息。
装置50可以包括:无线电接口电路52,其连接到控制器并且适用于生成例如用于与蜂窝通信网络、无线通信系统和/或无线局域网进行通信的无线通信信号。装置50还可以包括:天线44,其连接到无线电接口电路52以用于将在无线电接口电路52处生成的射频信号传送给其它装置(多个)以及用于接收来自其它装置(多个)的射频信号。
在本发明的一些实施例中,装置50包括:相机,其能够记录或检测个体帧,该个体帧然后被运送给用于处理的编解码器54或控制器。在本发明的其它实施例中,装置可以在传输和/或存储之前接收来自另一个设备的用于处理的视频图像数据。在本发明的其它实施例中,装置50可以无线地或通过有线连接接收用于编码/解码的图像。
参照图3,示出了系统的示例,在该系统内能够使用本发明的实施例。系统10包括:多个通信设备,它们能够通过一个或多个网络进行通信。系统10可以包括有线网络或无线网络的任何组合,有线网络或无线网络包括但不限于:无线蜂窝电话网络(诸如GSM、UMTS、CDMA网络等),无线局域网(WLAN),诸如由IEEE 802.x标准中的任何标准定义的WLAN,蓝牙个域网,以太网局域网,令牌环局域网,广域网以及互联网。
系统10可以包含:适用于实现本发明的实施例的有线和无线通信设备或装置50两者。
例如,在图3中示出的系统示出了移动电话网络11和互联网28的表示。至互联网28的连通性可以包含但不限于:长距无线连接,短距无线连接,以及各种有线连接,包括但不限于电话线,电缆线,电力线,和类似的通信路径。
在系统10中示出的示例性通信设备可以包含但不限于:电子设备或装置50,个人数字助理(PDA)和移动电话的组合14,PDA 16,集成消息发送设备(IMD)18,桌面计算机20,笔记本计算机22。装置50可以是固定的或当由移动中的个体携带时是移动的。装置50还可以位于任何模式的交通工具中,交通工具包含但不限于汽车、卡车、出租车、公交车、火车、船、飞机、自行车、摩托车或任何类似的合适模式的交通工具。
一些或其它装置可以发送和接收呼叫和消息,并且通过至基站24的无线连接25与服务提供者通信。基站24可以连接到网络服务器26,其允许移动电话网络11和互联网28之间的通信。系统可以包含附加的通信设备和各种类型的通信设备。
通信设备可以使用各种传输技术来通信,各种传输技术包括但不限于:码分多址接入(CDMA),全球移动通信系统(GSM),通用移动通信系统(UMTS),时分多址接入(TDMA),频分多址接入(FDMA),传输控制协议-互联网协议(TCP-IP),短消息服务(SMS),多媒体消息服务(MMS),电子邮件,即时消息服务(IMS),蓝牙,IEEE 802.11和任何类似的无线通信技术。在实现本发明的各种实施例中涉及的通信设备可以使用各种介质进行通信,各种介质包含但不限于:无线电,红外线,激光,电缆连接,和任何合适的连接。
视频编解码器由编码器和解码器组成,编码器将输入视频变换到适合于存储和/或传输的压缩表示,解码器能够将压缩的视频表示解压缩回到能够观看的形式。典型地,编码器丢弃原始视频序列中的一些信息,以便以更加紧凑的形式来表示视频(即,以较低的比特率)。
典型的混合视频编解码器,例如ITU-T H.263和H.264,在两个阶段中编码视频信息。首先,例如通过运动补偿方法(发现并且指示在先前编码视频帧中的一个先前编码视频帧中的与正在被编码的块非常接近的区域),或通过空间方法(使用以指定方法编码的块的周围的像素值),来预测在某一图像区域(或“块”)中的像素值。第二,对预测误差(即预测的像素块和原始的像素块之间的差异)进行编码。典型地,这可以通过使用指定的变换(例如离散余弦变换(DCT)或其变型)来变换像素值中的差异,对系数进行量化和对所量化的系数进行熵编码来完成。通过变化量化过程的保真度,编码器能够控制像素表示的准确性(像素质量)和所产生的编码视频表示的大小(文件大小或传输比特率)之间的平衡。
视频编码典型地是两个阶段过程:首先,基于先前的编码数据生成视频信号的预测。第二,对预测信号和源信号之间的残差进行编码。帧间预测,其还被称为时间预测、预定补偿或运动补偿预测,降低了时间冗余性。在帧间预测中,预测的源是先前解码的图像。帧内预测使用的事实是,在相同图像内的邻近像素很可能是相关的。在空间或变换域中能够执行帧内预测,即能够预测样本值或变换系数。典型地,在帧内编码中使用帧内预测,其中不应用帧间预测。
编码过程的一个输出是一组编码参数,诸如,运动向量和量化的变换系数。如果首先从空间或时间邻域(neighboring)参数来预测许多参数,则该许多参数能够被更高效地熵编码。例如,可以从空间邻近运动向量来预测运动向量,以及可以编码仅相对于运动向量预测器的差异。在图像内的编码参数的预测和帧内预测可以统称为图像中预测(in-picture prediction)。
参照图4a,示出了适用于实现本发明的实施例的视频编码器的框图。图4a给出了针对两层的编码器,但是将了解的是,所给出的编码器可以被类似地扩展以对超过两层进行编码。图4a说明了视频编码器的实施例,其包括:针对基础层的第一编码器部分500和针对增强层的第二编码器部分502。第一编码器部分500和第二编码器部分502每个可以包括用于编码进入的图像的类似的元件。编码器部分500、502可以包括:像素预测器302,402、预测误差编码器303,403和预测误差解码器304,404。图4a还将像素预测器302,402的实施例示出为包括帧间预测器306,406、帧内预测器308,408、模式选择器310,410、过滤器316,416和参考帧存储器318,418。第一编码器部分500的像素预测器302接收视频流的基础层图像300,该视频流的基础层图像300将在帧间预测器306(其确定该图像和运动补偿参考帧318之间的差异)和帧内预测器308(其仅基于当前帧或图像的已经处理的部分来确定针对图像块的预测)两者处被编码。帧间预测器和帧内预测器两者的输出被传递给模式选择器310。帧内预测器308可以具有超过一个帧内预测模式。因此,每个模式可以执行帧内预测,以及可以将所预测的信号提供给模式选择器310。模式选择器310还接收基础层图像300的副本。对应地,第二编码器部分502的像素预测器402接收视频流的增强层图像400,该视频流的增强层图像400将在帧间预测器406(其确定该图像和运动补偿参考帧418之间的差异)和帧内预测器408(其仅基于当前帧或图像的已经处理的部分来确定针对图像块的预测)两者处被编码。帧间预测器和帧内预测器两者的输出被传递给模式选择器410。帧内预测器408可以具有超过一个帧内预测模式。因此,每个模式可以执行帧内预测,以及可以将所预测的信号提供给模式选择器410。模式选择器410还接收增强层图像400的副本。
模式选择器310可以在代价评估器框382中使用例如拉格朗日代价函数以在编码模式和它们的参数值(诸如运动向量、参考索引和帧内预测方向,典型地以块为基础)之间进行选择。这种类型的代价函数可以使用加权因子lambda以将由于有损的编码方法导致的(精确的或估计的)图像失真和表示图像区域中的像素值所要求的(精确的或估计的)信息量连接到一起:C=D+lambda x R,其中C是将被最小化的拉格朗日代价,D是具有该模式和它们的参数的图像失真(例如,均方误差),以及R是表示所要求的数据以在解码器中重建该图像块所需的比特数量(例如,包含表示候选运动向量的数据量)。
取决于选择哪个编码模式以编码当前块,帧间预测器306、406的输出或非必需的帧内预测器模式中的一个帧内预测器模式的输出或在模式选择器内的表面编码器的输出被传递给模式选择器310、410的输出。模式选择器的输出被传递给第一求和设备321、421。第一求和设备可以从基础层图像300/增强层图像400减去像素预测器302、402的输出以产生第一预测误差信号320、420,该第一预测误差信号320、420被输入给预测误差编码器303、403。
像素预测器302、402还从初步重建器339、439接收图像块312、412的预测表示和预测误差解码器304、404的输出338、438的组合。初步重建图像314、414可以被传递给帧内预测器308、408和过滤器316、416。接收初步表示的过滤器316、416可以过滤初步表示以及输出最后的重建图像340、440,该最后的重建图像340、440可以被存储在参考帧存储器318、418中。参考帧存储器318可以连接到帧间预测器306以用作参考图像,在帧间预测操作中将来的增强层图像400将与它进行比较。受制于根据一些实施例基础层被选择和指示为针对增强层的层间样本预测和/或层间运动信息预测的源,参考帧存储器318也可以经由层间处理框450连接到层间预测器406以用作参照图像,在帧间预测操作中将来的增强层图像400将针对该参考图像进行比较。此外,参考帧存储器418可以连接到帧间预测器406以用作参考图像,在帧间预测操作中将来的增强层图像400将针对该参考图像进行比较。
来自第一编码器部分500的过滤器316的过滤参数可以被提供给第二编码器部分502,该第二编码器部分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处该解码的预测误差信号338、438与图像块312、412的预测表示组合时,产生初步重建图像314、414。预测误差解码器可以被认为包括:去量化器361、461,其将量化的系数值(例如,DCT系数)去量化以重建变换信号,以及反变换单元363、463,其针对所重建的变换信号执行反变换,其中反变换单元363、463的输出含有重建块(多个)。预测误差解码器还可以包括:块过滤器,其可以根据另外的解码信息和过滤器参数来过滤所重建的块(多个)。
熵编码器330、430接收预测误差编码器303、403的输出,以及可以对该信号执行合适的熵编码/可变长度编码以提供检错和纠错能力。例如,可以由复用器508将熵编码器330、430的输出插入到比特流中。
在编码中使用的参考帧可以被存储到参考帧存储器318中。每个参考帧可以被包含在参考图像列表中的一个或多个参考图像列表中,在参考图像列表内,每个条目具有标识参考帧的参考索引。当参考帧不再用作参考帧时,可以从参考帧存储器移除它或它可以被标记为“不用于参考”或非参考帧,其中参考帧的存储位置可以被新的参考帧占据。
H.264/AVC标准由国际电信联盟(ITU-T)的电信标准化部门的视频编码专家组(VCEG)的联合视频组(JVT)和国际标准化组织(ISO)/国际电工委员会(IEC)的运动图像专家组来开发。H.264/AVC标准由这两个母标准化组织来发布,以及它被称为ITU-T建议H.264和ISO/IEC国际标准14496-10,还被称为MPEG-4部分10高级视频编码(AVC)。已经有多种版本的H.264/AVC标准,每个版本的H.264/AVC标准将新的扩展或特征集成到规范中。这些扩展包含:可伸缩视频编码(SVC)和多视角视频编码(MVC)。
高效率视频编码标准(其可以被称为HEVC或H.265/HEVC)由VCEG和MPEG的联合协作组-视频编码(JCT-VC)开发。该标准被称为ITU-T建议H.265和ISO/IEC国际标准23008-2,还被称为MPEG-H Part 2高效率视频编码(HEVC)。当前有进行中的标准项目以开发针对H.265/HEVC的扩展,其包括可伸缩、多视角、三维、以及保真度范围扩展。
在这个部分中,描述H.264/AVC和HEVC的一些关键定义、比特流和编码结构以及构思作为视频编码器、解码器、编码方法、解码方法以及比特流结构的示例,其中可以实现实施例。H.264/AVC的其中的一些关键定义、比特流和编码结构和构思与在HEVC标准中的是相同的-因此,在以下,联合地描述它们。本发明的多个方面不局限于H.264/AVC或HEVC,而是针对一种可能的基础而给出该描述,在该基础上可以部分地或完全地实施本发明。
当描述H.264/AVC和HEVC时以及在示例实施例中,可以使用例如如在H.264/AVC或草案HEVC中指定的针对算术运算符、逻辑运算符、关系运算符、比特式运算符、赋值运算符以及范围注释的常用注释。此外,可以使用例如在H.264/AVC或草案HEVC中指定的常用数学函数,以及可以使用例如如在H.264/AVC或草案HEVC中指定的优先级的常用顺序和运算符的执行顺序(从左到右或从右到左)。
当描述H.264/AVC和HEVC时以及在示例实施例中,可以使用以下描述符以指定每个语法元素的解析过程。
-b(8):具有任何模式比特串的字节(8比特)。
-se(v):具有左位在先的有符号整数指数哥伦布编码(Exp-Golomb-coded)的语法元素。
-U(n):使用n比特的无符号整数。当在语法表中n是“v”时,比特的数量以取决于其它语法元素的值的方式而变化。针对这个描述符的解析过程由来自比特流的被解释为具有最高位先写入的无符号整数的二进制表示的下n个比特来指定。
-ue(v):具有左位在先的无符号整数指数哥伦布编码的语法元素。
例如使用下表可以将指数哥伦布比特串转变到码号(codeNum):
[0060]比特串 [0061]码号
[0062]1 [0063]0
[0064]0 1 0 [0065]1
[0066]0 1 1 [0067]2
[0068]00100 [0069]3
[0070]00101 [0071]4
[0072]00110 [0073]5
[0074]00111 [0075]6
[0076]0001000 [0077]7
[0078]0001001 [0079]8
[0080]0001010 [0081]9
[0082]… [0083]…
例如可以使用下表将对应于指数哥伦布比特串的码号转变到se(v)。
[0085]码号 [0086]语法元素值
[0087]0 [0088]0
[0089]1 [0090]1
[0091]2 [0092]-1
[0093]3 [0094]2
[0095]4 [0096]-2
[0097]5 [0098]3
[0099]6 [00100]-3
[00101]… [00102]…
当描述H.264/AVC和HEVC时以及在示例实施例中,可以如下指定语法结构、语法元素的语义和解码过程。在比特流中的语法元素被表示成粗体类型。由它的名称(具有下划线字符的所有小写字母),非必须地它的一个或两个语法类别以及针对编码表示的它的方法的一个或两个描述符,来描述每个语法元素。解码过程根据语法元素的值和先前解码的语法元素的值来进行行为。当在语法表或文本中使用语法元素的值时,它以规则(即,非粗体)类型出现。在一些情况下,语法表可以使用从语法元素值导出的其它变量的值。此类变量出现在语法表或文本中,由小写和大写字母的混合并且没有下划线字符来命名。针对当前语法结构和所有依赖的语法结构的解码而导出以大写字母开始的变量。以大写字母开始的变量可以在没有提及变量的原始语法结构的情况下在针对后来的语法结构的解码过程中使用。以小写字母开始的变量仅在它们被导出的情景内使用。在一些情况下,针对语法元素值或变量值的“助记”名字与它们的数值被交替地使用。有时,在没有任何相关联的数值的情况下,使用“助记”名字。在文本中指定了值和名字的关联。从由下划线字符分离的一组或多组字母来构建名字。每个组从大写字母开始以及可以含有更多的大写字母。
当描述H.264/AVC和HEVC时以及在示例实施例中,可以使用以下来指定语法结构。被封闭在波形括号中的一组语句是复合语句,以及功能上作为单个语句来对待。“while”结构指定条件是否为真的测试,以及如果真,则重复指定语句(或复合语句)的评估直到该条件不再为真。“do…while”结构指定一次的语句评估,跟随着条件是否为真的测试,以及如果真,则指定重复的语句评估直到该条件不再为真。“if…else”结构指定条件是否为真的测试,以及如果条件为真,则指定主要语句的评估,否则指定可替代语句的评估。如果不需要可替代语句的评估,则省略该结构的“else”部分和相关联的可替代语句。“for”结构指定初始语句的评估,跟随着条件的测试,以及如果该条件为真,则指定由随后语句跟随的主要语句的重复评估直到该条件不再为真。
类似于许多较早的视频编码标准,在H.264/AVC和HEVC中指定了比特流语法和语义以及针对无差错比特流的解码过程。没有指定编码过程,但是编码器必须生成一致性的比特流。能够使用假想参考解码器(HRD)来验证比特流和解码器的一致性。这些标准含有有助于处理传输错误和丢失的编码工具,但是在编码中这些工具的使用是可选的以及还没有针对错误的比特流指定解码过程。
在现有标准的描述中,以及在示例实施例的描述中,语法元素可以被定义为比特流中表示的数据的元素。语法结构可以被定义为以指定的顺序在比特流中一起出现的零个或更多语法元素。
档次(profile)可以被定义为由解码/编码标准或规范指定的整个比特流语法的子集。在由给定档次的语法强加的界限内,取决于在比特流中的语法元素所采用的值,诸如解码图像的指定大小,仍然可能要求在编码器和解码器的性能中的非常大的变化。在许多应用中,实现能够处理在特定档次内的语法的所有假想使用的解码器可能既不实际也不经济。为了处理这个问题,可以使用级别。级别可以被定义为在比特流中的语法元素的值上强加的指定的一组约束和在解码/编码标准或规范中指定的变量。这些约束可以是在值上的简单限制。可替代地或另外,它们可以采用在值的算术组合上的约束的形式(例如,图像宽度乘以图像高度乘以每秒解码的图像数量)。也可以使用用于指定针对级别的约束的其它手段。在级别中指定的约束中的一些约束可以例如与每时间单位(诸如一秒)在编码单元(诸如宏块)方面的最大图像大小、最大比特率和最大数据速率有关。可以针对所有档次定义相同的级别集合。可以更可取的是例如增加实现不同档次的终端的互操作性,其中每个级别的定义的大多数或全部方面可以跨越不同档次是共同的。
分别针对至H.264/AVC或HEVC编码器的输入以及H.264/AVC或HEVC解码器的输出的基本单元是图像。在H.264/AVC和HEVC中,图像可以是帧或场。帧包括:亮度样本和可能的对应的色度样本的矩阵。当源信号是交错的时,场是帧的交替样本行的集合以及可以用作编码器输入。当与亮度图像比较时,色度图像是可以缺失的(以及因此可以使用单色采样)或可以被二次采样。一些色度格式可以被概括如下:
在单色采样中,仅有一个样本数组,在名义上,其可以被认为是亮度数组。
在4:2:0采样中,两个色度数组中的每个数组具有亮度数组的一半的高度和一半的宽度。
在4:2:2采样中,两个色度数组中的每个数组具有与亮度数组相同的高度和宽度。
在4:4:4采样中,当不使用分离的颜色平面时,两个色度数组中的每个数组具有与亮度数组相同的高度和宽度。
在H.264/AVC和HEVC中,将样本数组编码作为分离的颜色平面编码到比特流中以及从该比特流分别解码被分离编码的颜色平面是可能的。当使用分离的颜色平面时,它们中的每一个分别被处理(通过编码器和/或解码器)为具有单色采样的图像。
当使用色度二次采样时(例如,4:2:0或4:2:2色度采样),可以在编码器侧确定相对于亮度样本的色度样本的位置(例如,作为预处理步骤或编码的一部分)。例如在编码标准(诸如H.264/AVC或HEVC)中可以预定义相对于亮度样本方位的色度样本方位,或可以例如作为H.264/AVC或HEVC的VUI的一部分在比特流中来指示它们。
分割可以被定义为集合到子集合的切分,使得该集合中的每个元素恰好在子集合中的一个子集合中。图像分割可以被定义为图像至更小的非重叠单元的切分。块分割可以被定义为的块到更小非重叠单元(诸如子块)的切分。在一些情况中,词语块分割可以被认为覆盖多个分割级别,例如图像至片的分割,以及每个片至更小的单元的分割,诸如H.264/AVC的宏块。注意的是,相同的单元(诸如图像)可以具有超过一个分割。例如,草案HEVC标准的编码单元可以被分割成预测单元以及被另一个四叉树分离成变换单元。
在H.264/AVC中,宏块是16x16的亮度样本块和对应的色度样本块。例如,在4:2:0采样模式中,宏块含有每个色度成分的一个8x8的色度样本块。在H.264/AVC中,图像被分割到一个或多个片组,以及片组含有一个或多个片。在H.264/AVC中,片由在一个特定片组内在光栅扫描中连续地排序的整数数目的宏块组成。
在HEVC标准化的过程期间,例如关于图像分割单元的术语已经演进。在下面的段落中,提供了HEVC术语的一些非限制性示例。
在一些视频编解码器(诸如高效视频编码(HEVC)编解码器)中,视频图像被分成覆盖图像的区域的编码单元(CU)。CU由一个或多个预测单元(PU)和一个或多个变换单元(TU)组成,预测单元(PU)定义针对在该CU内的样本的预测过程,变换单元(TU)定义针对在所述CU中的样本的预测误差编码过程。典型地,CU由样本的方形块组成,该样本的方形块具有从可能的CU大小的预定集合能够选择的大小。具有最大允许大小的CU可以被称为LCU(最大编码单元),以及视频图像被分成不重叠的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标准中,至图块的分割形成规则网格,其中图块的高度和宽度彼此不同,最大为一个LCU。以图像内的光栅扫描在比特流中对图块连续排序。图块可以含有整数数量的片。
在HEVC中,片由整数数量的LCU组成。以在图块内或如果图块不使用,则在图像内的LCU的光栅扫描顺序来扫描LCU。片可以含有整数个图块或片可以被包含在图块中。在LCU内,CU具有特定的扫描顺序。
图7示出了图像的示例,该图像由被分割到方形编码单元(实线)中的两个图块组成,它们已经被进一步分割成矩形预测单元(虚线)。
解码器通过应用类似于编码器的预测方法来重建输出视频,以形成像素块的预测表示(使用由编码器创建的并且被存储在压缩表示中的运动或空间信息)和预测的误差解码(预测误差编码的反操作恢复在空间像素域中的量化预测误差信号)。在应用预测和预测误差解码方法后,解码器将该预测和预测误差信号(像素值)求和以形成输出视频帧。解码器(以及编码器)还可以应用另外的过滤方法,以在将输出视频传递以用于显示和/或存储它作为针对在视频序列中的即将到来的帧的预测参考之前,改进输出视频的质量。
在典型的视频编解码器中,使用与每个运动补偿图像块相关联的运动向量来指示运动信息。这些运动向量中的每个运动向量表示将被编码(在编码器侧中)或被解码(在解码器侧中)的图像中的图像块与在先前的编码或解码图像中的一个编码或解码图像中的预测源块的位移。为了高效地表示运动向量,典型地相对于块特定预测运动向量差分地对那些运动向量进行编码。在典型的视频编解码器中,以预定的方式创建预测运动向量,例如计算邻近块的编码或解码运动向量的中间值。创建运动向量预测的另一种方式是从时间参考图像中的邻近块和/或共位块生成候选预测列表以及通过信号传送所选择的候选作为运动向量预测器。除了预测运动向量值之外,能够预测先前编码/解码的图像的参考索引。可以从时间参考图像中的邻近块和/或共位块来预测参考索引。此外,典型的高效视频编解码器使用另外的运动信息编码/解码机制,常常被称为合并(merging/merge)模式,其中在没有任何修改/校正的情况下预测并使用所有的运动场信息,其包含针对每个可以使用的参考图像列表的运动向量和对应的参考图像索引。类似地,使用在时间参考图像中的邻近块和/或共位块的运动场信息来实现预测运动场信息,以及在填充有可以使用的邻近/共位块的运动场信息的运动场候选列表的列表中通过信号传送所使用的运动场信息。
在典型的视频编解码器中,在运动补偿后的预测残差首先使用变换内核(如DCT)被变换以及接着被编码。针对此的原因是,在残差之间常常仍然存在一些相关,以及在许多情况下,变换能够有助于降低这种相关并且提供更加高效的编码。
典型的视图编码器使用拉格朗日代价函数以找到最优编码模式,例如期望的宏块模式和相关联的运动向量。这种类型的代价函数使用加权因子λ以将由于有损编码方法导致的(精确或估计的)图像失真与表示图像区域中的像素值所要求的信息的(精确或估计的)数量绑在一起。
C=D+λR, (1)
其中C是将被最小化的拉格朗日代价,D是考虑了模式和运动向量的图像失真(例如,均方误差),以及R是表示所要求的数据以在解码器中重建图像块所需要的比特数量(包含表示候选运动向量的数据数量)。
视频编码标准和规范可以允许编码器将编码图像分成编码片或诸如此类。跨越片边界典型地禁用图像中预测。因此,片能够被认为是将编码图像分成独立地能够解码的片的一种方法。在H.264/AVC和HEVC中,跨越片边界可以禁用图像中预测。因此,片能够被认为是将编码图像分成独立地能够解码的片的一种方法,以及因此片常常被认为是用于传输的基本单元。在许多情况下,编码器可以在比特流中指示跨域片边界关闭了哪些类型的图像中预测,以及解码器操作例如在推断哪些预测源是可以使用的时考虑这个信息。例如,如果邻域宏块或CU位于不同的片中,则来自邻域宏块或CU的样本可以被认为针对帧内预测是不可以使用的。
在以下中,在一些编码标准中可以使用的片类型被分类。
光栅扫描顺序片是由在光栅扫描顺序中的连续宏块或诸如此类组成的编码段。例如,MPEG-4第二部分2(Part 2)的视频分组和在H.263中以非空GOB头部开始的宏块组(GOB)是光栅扫描顺序片的示例。
矩形片是由宏块或诸如此类的矩形区域组成的编码段。矩形片可以比一个宏块或诸如此类的行更高,以及比整个图像宽度更窄。H.263包含可选的矩形片子模式,以及H.261GOB也可以被认为是矩形片。
灵活片能够含有任何预定义的宏块(或诸如此类)位置。H.264/AVC编解码器允许将宏块组成超过一个片组。片组能够含有任何宏块位置,包含不邻近的宏块位置。在H.264/AVC的一些档次中的片由在光栅扫描顺序中在特定片组内的至少一个宏块组成。
分别针对H.264/AVC或HEVC编码器的输出和H.264/AVC或HEVC解码器的输入的基本单元是网络抽象层(NAL)单元。针对面向分组的网络的传输或在结构化文件中的存储,NAL单元可以被封装到分组或类似的结构中。在H.264/AVC和HEVC中,已经指定了针对不提供成帧结构的传输或存储环境的字节流格式。字节流格式通过在每个NAL单元的前面附着起始码使得NAL单元彼此分离。为了避免NAL单元边界的假检测,编码器可以运行面向字节的起始码歧义预防算法,如果起始码将以其他方式已经出现,则该算法将歧义预防字节添加到NAL单元有效载荷。为了在面向分组和面向流的系统之间启用简单的网关操作,可以总是执行起始码歧义预防,而不管字节流格式是否使用。NAL单元可以被定义为含有将遵从的数据类型的指示和含有以RBSP的形式的数据的字节并根据需要添加歧义预防字节的语法结构。原始字节序列有效载荷(RBSP)可以被定义为含有被封装在NAL单元中的整数字节的语法结构。RBSP是空的或具有含有语法元素的数据比特的串的形式,该语法元素由RBSP停止比特跟随以及由零或更多等于0的序列比特跟随。
NAL单元由头部和有效载荷组成。在H.264/AVC和HEVC中,NAL单元头部指示NAL单元的类型以及被含有在该NAL单元中的编码片是否是参考图像或非参考图像的一部分。
H.264/AVC NAL单元头部包含:2比特的nal_ref_idc语法元素,当nal_ref_idc语法元素等于零时,该nal_ref_idc语法元素指示的是,被含有在NAL单元中的编码片是非参考图像的一部分,当nal_ref_idc语法元素大于零时,该nal_ref_idc语法元素指示的是,被含有在NAL单元中的编码片是参考图像的一部分。针对SVC和MVC NAL单元的头部另外可以含有与可伸缩和多视角层级有关的各种指示。
在HEVC中,两字节的NAL单元头部用于所有指定的NAL单元类型。NAL单元头部含有一个保留比特,六个比特的NAL单元类型指示,六个比特的保留字段(被称为nuh_layer_id)以及用于时间级别的三个比特temporal_id_plus1指示。temporal_id_plus1语法元素可以被认为是针对NAL单元的时间标识符,以及基于零的Temporal Id变量可以如下被导出:TemporalId=temporal_id_plus1-1。Temporal Id等于0对应于最低的时间级别。要求temporal_id_plus1的值为非零,以便避免涉及两个NAL单元头部比特的开始代码仿真。通过排除具有大于或等于所选择的值的TemporalId的所有VCL NAL单元以及包含保持一致性的所有其它VCL NAL单元来创建比特流。因此,具有等于TID的Temporal Id的图像不使用具有大于TID的Temporal Id的任何图像作为帧间预测参考。子层或时间子层可以被定义为时间可伸缩比特流的时间可伸缩层,其由具有TemporalId变量的特定值的VCL NAL单元和相关联的非VCL NAL单元组成。不失一般性,在一些示例实施例中,例如如下从nuh_layer_id的值来导出变量LayerId:LayerId=nuh_layer_id。在以下,除非以其他方式指出,否则可交替地使用LayerId,nuh_layer_id和layer_id。
预期的是,在NAL单元头部中的nuh_layer_id和/或类似的语法元素将携带关于可伸缩层级的信息。例如,LayerId值nuh_layer_id和/或类似的语法元素可以被映射到描述不同的可伸缩维度的变量或语法元素的值,诸如quality_id或类似的,dependency_id或类似的,任何其它类型的层标识符,视图顺序索引或类似的,视图标识符,NAL单元是关于深度还是纹理的指示(即depth_flag或类似的),或如果从比特流移除大于特定标识符值的所有NAL单元则类似于指示有效子比特流提取的SVC的priority_id的标识符。nuh_layer_id和/或类似的语法元素可以被分割到指示可伸缩属性的一个或多个语法元素中。例如,在nuh_layer_id和/或类似的语法元素中的某些数量的比特可以用于dependency_id或类似的,而在nuh_layer_id和/或类似的语法元素中的另外的某些数量的比特可以用于quality_id或类似的。可替代地,可以在视频参数集、序列参数集或另一个语法结构中提供LayerId值或类似的至描述不同可伸缩维度的变量或语法元素的值的映射。
NAL单元能够被分类成视频编码层(VCL)NAL单元和非VCL NAL单元。VCL NAL单元典型地是编码片NAL单元。在H.264/AVC中,编码片NAL单元含有表示一个或多个编码宏块的语法元素,该编码宏块中的每个编码宏块对应于在未压缩的图像中的样本块。在HEVC中,编码片NAL单元含有表示一个或多个CU的语法元素。
在H.264/AVC和HEVC中,编码片NAL单元能够被指示为是在瞬时解码刷新(IDR)图像中的编码片或在非IDR图像中的编码片。
在HEVC中,编码片NAL单元可以被指示为以下类型中的一种类型。
在HEVC中,针对图像类型的缩写可以被定义为如下:拖尾(TRAIL)图像、时间子层访问(TSA)、步进式(Step-wise)时间子层访问(STSA)、随机访问解码前导(RADL)图像、随机访问跳跃前导(RASL)图像、断链访问(BLA)图像、即时解码刷新(IDR)图像、完全随机访(CRA)问图像。
随机访问点(RAP)图像(其还可以或可替代地被称为帧内随机访问点(IRAP)图像)是一种图像,在该图像中,每个片或片段具有在16到23(包含)的范围中的nal_unit_type。RAP图像含有仅帧内编码片,以及可以是BLA图像、CRA图像或IDR图像。在比特流中的第一图像是RAP图像。假定当必要的参数集需要被激活时这些必要的参数集是可以获得的,在解码顺序中的RAP图像和所有随后的非RASL图像能够在不执行在解码顺序中在RAP图像之前的任何图像的解码过程的情况下被正确地解码。在比特流中可以有一些图像,它们含有不是RAP图像的仅帧内编码片。
在HEVC中,在解码顺序中,CRA图像可以是在比特流中的第一图像,或可以稍后出现在比特流中。在HEVC中的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图像开始时能够被正确地解码。在HEVC标准的一些较早的草案中,RADL图像被称为可解码的前导图像(DLP)。
可解码的前导图像可以是这样的图像,当解码从CRA图像开始时它能够被正确地解码。也就是说,可解码的前导图像仅使用在解码顺序中的初始CRA图像或随后的图像作为在帧间预测中的参考。非可解码的前导图像是这样的图像,当解码从初始CRA图像开始时它不能够被正确地解码。也就是说,非可解码的前导图像使用在解码顺序中在初始CRA图像之前的图像作为在帧间预测中的参考。
当从CRA图像开始的比特流的一部分被包含在另一个比特流时,与CRA图像相关联的RASL图像可能不能被正确地解码,因为它们的参考图像中的一些参考图像可能在组合的比特流中不存在。为了使此类拼接操作简单,CRA图像的NAL单元类型可以被改变以指示它是BLA图像。与BLA图像相关联的RASL图像可能不能被正确地解码,因此不被输出/显示。此外,可以从解码中忽略与BLA相关联的RASL图像。
在解码顺序中,BLA图像可以是比特流中的第一图像,或可以稍后出现在比特流中。每个BLA图像开始新的编码的视频序列,以及在解码过程上具有与IDR图像类似的效果。然而,BLA图像含有指定非空参考图像集的语法元素。当BLA图像具有等于BLA_W_LP的nal_unit_type时,它可以具有相关联的RASL图像,其不被解码器输出并且可以不被解码,因为它们可以含有对在比特流中不存在的图像的参考。当BLA图像具有等于BLA_W_LP的nal_unit_type时,它也可以具有相关联的RADL图像,其被指定被解码。当BLA图像具有等于BLA_W_DLP的nal_unit_type时,它不具有相关联的RASL图像但是可以具有相关联的RADL图像,其被指定被解码。BLA_W_DLP也可以被称为BLA_W_RADL。当BLA图像具有等于BLA_N_LP的nal_unit_type时,它不具有任何相关联的前导图像。
具有等于IDR_N_LP的nal_unit_type的IDR图像不具有在比特流中存在的相关联的前导图像。具有等于IDR_W_DLP的nal_unit_type的IDR图像不具有在比特流中存在的相关联RASL图像,但是可以具有在比特流中的相关联的RADL图像。IDR_W_DLP也可以被称为IDR_W_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中的任何一个中。具有nal_unit_type等于TRAIL_N,TSA_N,STSA_N,RADL_N,RASL_N,RSV_VCL_N10,RSV_VCL_N12,或RSV_VCL_N14的编码图像可以被丢弃而不影响具有相同值的TemporalId的其他图像的可解码性。
拖尾图像可以被定义为在输出顺序中在相关联的RAP图像之后的图像。是拖尾图像的任何图像不具有等于RADL_N,RADL_R,RASL_N或RASL_R的nal_unit_type。是前导图像的任何图像可以被约束为在解码顺序中在与相同RAP图像相关联的所有拖尾图像之前。没有RASL图像存在于与具有等于BLA_W_DLP或BLA_N_LP的nal_unit_type的BLA图像相关联的比特流中。没有RADL图像存在于与具有等于BLA_N_LP的nal_unit_type的BLA图像相关联的或与具有等于IDR_N_LP的nal_unit_type的IDR图像相关联的比特流中。与CRA或BLA图像相关联的任何RASL图像可以被约束为在输出顺序中在与CRA或BLA图像相关联的任何RADL图像之前。与CRA图像相关联的任何RASL图像可以被约束为在输出顺序中在任何其他RAP图像(该任何其他RAP图像在解码顺序中在CRA图像之前)之后。
在HEVC中,存在两种图像类型,TSA和STSA图像类型,它们能够用于指示时间子层切换点。如果直到TSA或STSA图像(排他的),具有至多N的TemporalId的时间子层已经被解码并且TSA或STSA图像具有等于N+1的TemporalId,则TSA或STSA图像使得能够解码具有等于N+1的TemporalId的所有随后的图像(在解码顺序中)。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),其包含对于缓冲、图像输出定时、渲染和资源预留而言是重要的参数。在H.264/AVC中指定了三种NAL单元以携带序列参数集:含有针对该序列中的H.264/AVC VCL NAL单元的所有数据的序列参数集NAL单元、含有针对辅助编码图像的数据的序列参数集扩展NAL单元以及针对MVC和SVCVCL NAL单元的子集序列参数集。在HEVC标准中,序列参数集RBSP包含:能够被一个或多个图像参数集RBSP或含有缓冲时间段SEI消息的一个或多个SEI NAL单元参考的参数。图像参数集含有此类参数,该参数在若干编码图像中有可能未变。图像参数集RBSP可以包含可以被一个或多个编码图像的编码片NAL单元参考的参数。
自适应参数集(APS),其包含在若干编码片中有可能未变的参数,但是可以例如针对每个图像或每个新图像而改变,其是针对HEVC建议的但是最终没有被采纳到标准中。APS语法结构已经建议包含:与量化度量(QM)、自适应样本偏移(SAO)、自适应环路过滤(ALF)以及去块过滤有关的参数或语法元素。APS也可以是NAL单元以及不使用来自任何其他NAL单元的参考或预测被编码。标识符(被称为aps_id语法元素)被包含在APS NAL单元中,以及被包含在片头部中以及在该片头部中使用以参考特定APS。APS语法结构可以仅包含ALF参数。
HEVC标准还包含视频参数集(VPS)NAL单元。视频参数集RBSP可以包含:能够被一个或多个序列参数集RBSP参考的参数。
可以如下来描述视频参数集(VPS)、序列参数集(SPS)和图像参数集(PPS)之间的关系和层级。在参数集层级中以及在伸缩性和/或3DV的上下文中,VPS位于在SPS之上的一个级别。VPS可以包含:在整个编码视频序列中,针对跨越所有(可伸缩或视图)层的所有片而言是共同的参数。SPS包含:在整个编码视频序列中针对在特定(可伸缩或视图)层中的所有片而言是共同的并且可以由多个(可伸缩或视图)层来共享的参数。PPS包含:在特定层表示(在一个访问单元中的一个可伸缩或视图层的表示)中针对所有片是共同的并且可能由多个层表示中的所有片共享的参数。
VPS可以提供关于比特流中的层的依赖性关系的信息,以及在整个编码视频序列中对于跨越所有(可伸缩或视图)层而言可以应用的许多其它信息。在HEVC的可伸缩扩展中,VPS可以例如包含:从NAL单元头部导出的LayerId值至一个或多个可伸缩维度值的映射,例如对应于类似于SVC和MVC定义的针对层的dependency_id,quality_id,view_id和depth_flag。VPS可以包含针对一个或更多层的档次和级别信息,以及针对层表示的一个或多个时间子层(由在某些temporal_id值处或在其下的VCL NAL单元组成)的档次和/或级别信息。
H.264/AVC和HEVC语法允许许多参数集实例,以及使用唯一的标识符来标识每个实例。为了限制针对参数集所需的存储器使用,已经限制了针对参数集标识符的值范围。在H.264/AVC和HEVC标准中,每个片头部包含图像参数集的标识符,对于含有该片的图像的解码而言该图像参数集是活动的,以及每个图像参数集含有活动的序列参数集的标识符。因此,图像和序列参数集的传输不是必须与片的传输精确地同步。相反,在活动的序列和图像参数集被参考之前在任何时刻接收它们是足够的,与用于片数据的协议相比,这允许使用更可靠的传输机制在“带外”传输参数集。例如,参数集能够被包含作为在针对实时传输协议(RTP)会话的会话描述中的参数。如果在带内传送参数集,则能够使它们重复以改进误差鲁棒性。
可以由来自片或来自另一个活动参数集或在一些情况下来自另一个语法结构(诸如缓冲时间段SEI消息)的参考来激活参数集。
SEI NAL单元可以含有一个或多个SEI消息,这些SEI参数对于输出图像的解码而言不是必须的,但是可以有助于有关过程,诸如图像输出定时、渲染、误差检测、误差消除以及资源预留。在H.264/AVC和HEVC中指定了若干SEI消息,以及用户数据SEI消息使得组织和公司能够指定针对他们自己使用的SEI消息。H.264/AVC和HEVC含有针对指定的SEI消息的语法和语义但是没有定义针对在接收器中用于处理该消息的过程。因此,当编码器创建SEI消息时,要求编码器遵从H.264/AVC标准或HEVC标准,不要求分别遵照H.264/AVC标准或HEVC标准的解码器处理针对输出顺序一致性的SEI消息。在H.264/AVC和HEVC中包含SEI消息的语法和语义的其中一个原因是允许不同的系统规范来同一地解释补充信息以及从而可以互操作。旨在的是,系统规范能够要求在编码端中和在解码端中都使用特定的SEI消息,以及另外能够指定在接收器中用于处理特定SEI消息的过程。
编码图像是图像的编码表示。在H.264/AVC中的编码图像包括对于图像进行解码而言所需要的VCL NAL单元。在H.264/AVC中,编码图像可以是基本编码图像或冗余编码图像。在有效的比特流的解码过程中使用基本编码图像,而冗余的编码图像是冗余表示,该冗余表示仅应当在基本编码图像不能成功地被解码时被解码。在HEVC中,还没有指定冗余编码图像。
在H.264/AVC中,访问单元包括基本编码图像和与它相关联的那些NAL单元。在HEVC中,访问单元被定义为NAL单元的集合,该NAL单元根据指定的分类规则是彼此相关联的,在解码顺序中是连续的,以及恰好含有一个编码图像。在H.264/AVC中,在访问单元内的NAL单元的出现顺序被约束如下。非必需的访问单元定界符NAL单元可以指示访问单元的开始。它由零或更多SEI NAL单元跟随。接下来出现基本编码图像的编码片。在H.264/AVC中,基本编码图像的编码片可以由针对零个或更多冗余编码图像的编码片跟随。冗余编码图像是图像或图像的一部分的编码表示。如果例如由于传输中的丢失或物理存储介质中的破坏,基本编码图像没有被解码器接收,则冗余编码图像可以被解码。
在H.264/AVC中,访问单元还可以包含:辅助编码图像,其是补充基本编码图像的图像,以及可以在例如显示过程中被使用。辅助编码图像可以例如用作指定在解码图像中的样本的透明水平的阿尔法通道或平面。阿尔法通道或平面可以在分层合成或渲染系统中使用,其中由在彼此上至少部分透明的覆盖图像来形成输出图像。辅助编码图像具有与黑白冗余编码图像相同的语法和语义限制。在H.264/AVC中,辅助编码图像含有与基本编码图像相同数量的宏块。
在H.264/AVC中,编码的视频序列被定义为是在从IDR访问单元(包含)到下一个IDR访问单元(不包含)或到比特流的结束(无论哪个更早出现)的解码序列中的连续访问单元的序列。在HEVC中,编码视频序列可以被定义为访问单元的序列,在解码序列中,该序列由CRA访问单元(其是比特流中的第一访问单元)、IDR访问单元或BLA访问单元、随后的零个或多个非IDR和非BLA访问单元(其包含一直到所有随后的访问单元但是不包含任何随后的IDR或BLA访问单元)组成。
图像组(GOP)及其特征可以被定义如下。GOP能够被解码,而不管任何先前的图像是否被解码。开放GOP是这样的图像组,其中当解码从该开放GOP的初始帧内图像开始时,在输出顺序中的初始帧内图像之前的图像可能不能被正确地解码。也就是说,开放GOP的图像(在帧间预测中)可以参考属于先前GOP的图像。H.264/AVC解码器能够从H.264/AVC比特流中的恢复点SEI消息来识别起始开放GOP的帧内图像。HEVC解码器能够识别起始开放GOP的帧内图像,因为特定的NAL单元类型、CRA NAL单元类型用于它的编码片。封闭GOP是这样的图像组,其中当解码从封闭GOP的初始帧内图像开始时,所有的图像能够被正确地解码。也就是说,在封闭GOP中没有图像参考先前GOP中的任何图像。在H.264/AVC和HEVC中,封闭GOP从IDR访问单元开始。在HEVC中,封闭的GOP也可以从BLA_W_DLP或BLA_N_LP图像开始。因此,与开放GOP结构相比,封闭GOP结构具有更多的容错潜力,然而,代价是压缩效率中的可能降低。由于在参考图像的选择中的更大灵活性,开放GOP编码结构在压缩中潜在地更加高效。
H.264/AVC和HEVC的比特流语法指示特定图像是否是针对任何其他图像的帧间预测的参考图像。在H.264/AVC和HEVC中,任何编码类型(I,P,B)的图像能够是参考图像或非参考图像。
H.264/AVC指定针对解码参考图像标记的过程,以便控制解码器中的存储器消耗。在序列参数集中确定用于帧间预测的参考图像的最大号码,还被称为M。当对参考图像进行解码时,它被标记为“用于参考”。如果参考图像的解码导致超过M个图像被标记为“用于参考”,则至少一个图像被标记为“不用于参考”。存在用于解码参考图像标记的两种类型的操作:自适应存储器控制和滑动窗口。以图像为基础来选择针对解码参考图像标记的操作模式。自适应存储器控制使得能够明确地通过信号传送哪些图像被标记为“不用于参考”,以及还可以将长期索引指配给短期参考图像。自适应存储器控制可以要求在比特流中存在存储器管理控制操作(MMCO)参数。可以将MMCO参数包含在解码参考图像标记语法结构中。如果滑动窗口操作模式处于使用中,以及有M个图像被标记为“用于参考”,则在被标记为“用于参考”的那些短期参考图像之中是第一解码图像的短期参考图像被标记为“不用于参考”。也就是说,滑动窗口操作模式导致在短期参考图像中的先进先出缓冲操作。
在H.264/AVC中的其中一种存储器管理控制操作使得所有参考图像(除了当前的图像之外)被标记为“不用于参考”。瞬时解码刷新(IDR)图像含有仅帧内编码片以及导致参考图像的类似“重置”。
在HEVC标准中,出于类似的目的,不使用参考图像标记语法结构和有关的解码过程,而是替代地使用参考图像集(RPS)语法结构和解码过程。针对图像有效或活动的参考图像集包含用作针对该图像的参考的所有参考图像,以及保持被标记为针对解码顺序中的任何随后图像的“用于参考”的所有参考图像。存在参考图像集的六个子集,它们被称为即RefPicSetStCurr0、RefPicSetStCurr1、RefPicSetStFoll0、RefPicSetStFoll1、RefPicSetLtCurr和RefPicSetLtFoll。这六个子集的注释如下。“Curr”指的是被包含在当前图像的参考图像列表中的参考图像,以及因此可以用作针对当前图像的帧间预测参考。“Foll”指的是没有被包含在当前图像的参考图像列表中的参考图像,但是可以在解码顺序中在随后的图像中用作参考图像。“St”指的是短期参考图像,一般可以通过它们的POC值的一定数量的最低有效位来标识短期参考图像。“Lt”指的是长期参考图像,长期参考图像被特定的标识以及一般具有比能够由提及的一定数量的最低有效位所表示的POC值的差异更大的相对于当前图像的POC值的差异。“0”指的是具有比当前图像的POC值更小的POC值的那些参考图像。“1”指的是具有比当前图像的POC值更大的POC值的那些参考图像。RefPicSetStCurr0、RefPicSetStCurr1、RefPicSetStFoll0和RefPicSetStFoll1统称为参考图像集的短期子集。RefPicSetLtCurr和RefPicSetLtFoll统称为参考图像集的长期子集。
在HEVC标准中,参考图像集可以在序列参数集中被指定以及通过至参考图像集的索引在片头部中投入使用。参考图像集还可以在片头部中被指定。参考图像集的长期子集一般仅在片头部中被指定,而相同参考图像集的短期子集可以在图像参数集或片头部中被指定。参考图像集可以被独立地编码或可以从另一个参考图像集(被称为RPS间预测)来预测。当参考图像集被独立地编码时,语法结构包含:在三种类型的参考图像上迭代的至多三个环路;具有比当前图像低的POC值的短期参考图像,具有比当前图像高的POC值的短期参考图像,以及长期参考图像。每个环路条目指定将被标记为“用于参考”的图像。一般地,该图像被指定为具有差分的POC值。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或关于预测层级(诸如GOP结构)的信息或它们的任何组合为基础,来生成该初始参考图像列表。第二,可以通过图像列表重新排序(RPLR)命令(还被称为参考图像列表修改语法结构,其可以被含有在片头部中)来重新排序初始参考图像列表。RPLR命令指示被排序到各自参考图像列表的开始的图像。这个第二步骤还可以被称为参考图像列表修改过程,以及RPLR命令可以被包含在参考图像列表修改语法结构中。如果使用参考图像集,则参考图像列表0可以被初始化以首先含有RefPicSetStCurr0,由RefPicSetStCurr1跟随,由RefPicSetLtCurr跟随。参考图像列表1可以被初始化以首先含有RefPicSetStCurr1,由RefPicSetStCurr0跟随。可以通过参考图像列表修改语法结构来修改初始参考图像列表,其中可以通过至该列表的条目索引来标识在初始参考图像列表中的图像。
可以在视频编码和/或视频解码中应用的分类不同类型的预测的方式是考虑预测是否应用于样本值或(解码)编码参数。
在样本预测中,在某一图像区域或“块”中的像素或样本值被预测。例如可以使用以下方式中的一个或多个方式来预测这些像素或样本值。
运动补偿机制(其也可以被称为时间预测或运动补偿时间预测或运动补偿预测或MCP),其涉及找到和指示在紧密对应于被编码的块的先前编码的视图成分中的一个视图成分中的区域。
在视图间预测中,其涉及找到和指示在紧密对应于被编码的块的先前编码的视图成分中的一个视图成分中的区域。
视图合成预测,其涉及对预测块或图像区域进行合成,其中基于重建的/解码的测距信息(ranging information)来导出预测块。
使用重建的/解码的样本的层间预测,诸如SVC的所谓的IntraBL(基础层)模式。
层间残差预测,其中例如参考层的编码残差或来自重建的/解码的参考层图像和对应于的重建的/解码的增强层图像的差的导出残差可以用于预测当前增强层块的残差块。例如,残差块可以被添加到运动补偿预测块以获得针对当前增强层块的最终预测块。有时,残差预测可以当做是除了样本和语法预测之外的单独类型的预测。
帧内预测,其中能够通过空间机制来预测像素或样本值,空间机制涉及找到和指示空间区域关系。
在语法预测中,其也可以被称为参数预测,从更早编码(解码)的语法元素和/或更早导出的变量来预测语法元素和/或语法元素值和/或从语法元素导出的变量。以下提供语法预测的非限制性示例:
在运动向量预测中,可以关于块特定的预测运动向量来差分地对例如针对帧间和/或视图内预测的运动向量进行编码。在许多视频编解码器中,以预定义的方式(例如通过计算相邻的块的编码或解码运动向量的中间值)来创建预测的运动向量。创建运动向量预测的另一种方式(有时被称为高级运动向量预测(AMVP))是从时间参考图像中的相邻块和/或共位块生成候选预测列表以及通过信号传送所选择的候选作为运动向量预测器。除了预测运动向量值之外,能够预测先前编码/解码的图像的参考索引。可以从时间参考图像中的相邻块和/或共位块来预测参考索引。可以跨越片的边界禁用运动向量的差分编码。
可以预测例如从CTU到CU以及直到PU的块分割。
在过滤器参数预测中,可以预测例如针对样本自适应偏移的过滤参数。
在视频编码和/或视频解码中可以应用的分类不同类型的预测的另一种方式是考虑跨越哪些域或预测跨越的可伸缩类型。该分类可以导致以下预测类型中的一个或多个,有时其也可以被称为预测方向:
例如通常来自相同可伸缩层、视图和成分类型(纹理或深度)的更早图像的样本值或运动向量的时间预测。
视图间预测(其也可以被称为跨视图预测),其指参考通常在相同时刻或访问单元以及相同成分类型的视图成分之间进行的预测。
层间预测,,其指通常在相同时刻的、相同成分类型的以及相同视图的层之间进行的预测。
成分间的预测可以被定义为包括从一种类型的成分图像到另一种类型的成分图像的在解码过程中使用的语法元素值、样本值、变量值或诸如此类的预测。例如,成分间的预测可以包括:来自深度视图成分的纹理视图成分的预测,或反之亦然。
使用来自先前编码图像的图像信息的预测方法也可以被称为帧间预测方法。帧间预测有时可以被认为仅包含运动补偿时间预测,而有时它可以被认为包含:重建的/解码的样本块被用作预测源的所有类型的预测,从而例如包含视图间预测。帧间预测可以被认为仅包括样本预测,但是可替代地,它可以被认为包括样本预测和语法预测两者。作为语法预测和样本预测的结果,可以获得样本的像素预测块。
使用在相同图像内的图像信息的预测方法也可以被称为帧内预测方法。帧内预测可以认为包括仅样本预测,但是可替代地,它可以被认为包括样本预测和语法预测两者。
如果预测(诸如预测的变量值和/或预测块)没有被使用任何形式的预测误差或残差编码的编码器来细化,则预测可以被称为继承。
多视图编码已经被实现为多环路可伸缩视频编码方案,其中视图间参考图像被添加到参考图像列表。在MVC中,被包含在参考图像列表中的视图间参考成分和视图间仅参考成分可以被考虑为不被标记为“用于短期参考”或“用作长期参考”。在时间直接亮度运动向量的导出中,如果列表1参考(从其获得共位运动向量)和列表0参考的图像顺序号的差是0,即在图6c中,如果td等于0,则共位的运动向量可以不被伸缩。
图6a说明了预测单元的时间和空间预测的示例。描绘了在帧600中的当前块601和已经被编码的邻居块602。运动向量定义器362(图4a)已经定义了针对邻居块602的运动向量603(其指向在先前帧605中的块604)。这个运动向量可以用作针对当前块的潜在的空间运动向量预测610。图6a描绘了在先前帧605中的共位块606(即该块在与当前块相同的位置但是在先前帧中)具有指向在另一个帧608中的块609的运动向量607。这个运动向量607可以用作针对当前块601的潜在的时间运动向量预测611。
图6b说明了预测单元的时间和空间预测的另一个示例。在这个示例中,先前帧605的块606使用基于在帧605之前的帧608的块609以及基于在当前帧600之后的帧613中的块612的双向预测。针对当前块601的时间运动向量预测可以通过使用两个运动向量607、614或它们中的任何一个来形成。
在HEVC时间运动向量预测(TMVP)中,根据在片头部中的collocated_from_l0_flag语法元素来选择用于获得同位分割(collocated partition)的参考图像列表。当该标志等于1时,它指定含有该同位分割的图像是从列表0导出的,否则该图像是从列表1导出的。当collocated_from_l0_flag不存在时,它被推断为等于1。在片头部中的collocated_ref_idx指定含有该同位分割的图像的参考索引。当当前片是P片时,collocated_ref_idx参考在列表0中的图像。当当前片是B片时,如果collocated_from_l0是1,则collocated_ref_idx参考在列表0中图像,否则它参考在列表1中的图像。collocated_ref_idx总是参考有效列表条目,以及所产生的图像针对编码图像的所有片是相同的。当collocated_ref_idx不存在的时,它被推断为等于0。
在HEVC中,当当前PU使用合并模式时,针对TMVP的目标参考索引被设置为0(针对参考图像列表0和1两者)。在AMVP中,在比特流中指示目标参考索引。
在HEVC中,针对合并模式的候选预测运动向量(PMV)的可获得性可以如下被确定(针对空间和时间参考两者)(SRTP=短期参考图像,LRTP=长期参考图像)
可以在目标参考图像和针对候选PMV的参考索引两者是短期参考图像的情况下,执行运动向量伸缩。可以通过使用与与当前图像有关的候选运动向量和目标参考图像有关的适当的POC差来伸缩运动向量来执行伸缩,例如其中当前图像和目标参考图像的POC差除以当前图像的POC差和含有候选PMV和它的参考图像的图像的POC差。
被称为隔离区域的编码技术基于图像中预测和帧间预测的联合约束。在图像中的隔离区域能够含有任何宏块(或诸如此类)位置,以及图像能够含有不重叠的零个或更多隔离区域。残余区域(如果有的话)是没有被图像的任何隔离区域覆盖的图像区域。当编码隔离区域时,跨域隔离区域的边界禁用至少一些类型的图像中预测。可以从相同图像的隔离区域来预测残余区域。
能够在不存在相同编码图像的任何其它隔离或残余区域的情况下,对编码的隔离区域进行解码。可能需要的是,对在残余区域之前的图像的所有隔离区域进行解码。在一些实现方式中,隔离区域或残余区域含有至少一个片。
图像,从彼此来预测它们的隔离区域,可以被分组到隔离区域图像组。能够从在相同隔离区域图像组内的其它图像中的对应的隔离区域来帧间预测隔离区域,而可能不允许从其它隔离区域或隔离区域图像组之外的帧间预测。可以从任何隔离区域来帧间预测残余区域。在隔离区域图像组中,耦合的隔离区域的形状、位置和大小可以从图像到图像而进化。
在H.264/AVC编解码器中的隔离区域的编码可以基于片组。可以在图像参数集中指定宏块位置到片组的映射。H.264/AVC语法包含:编码某些片组模式的语法,其能够被分类成两种类型,静态和进化。静态片组保持不变,只要图像参数集是有效的,而进化片组能够根据图像参数集中的对应参数和在片头部中的片组变化周期参数逐图像地变化。静态片组模式包含:交织、棋盘格式、面向矩形和自由格式。进化片组模式包含:水平消除(horizontal wipe),垂直消除(vertical wipe),盒状放大(box-in)和盒状缩小(box-out)。面向矩形的模式和进化模式尤其适合于隔离区域的编码以及下面对其进行更详细地描述。
对于面向矩形的片组模式,在图像区域内指定期望数量的矩形。前景片组包含在对应的矩形内的宏块位置,但是排除由较早指定的片组已经分配的宏块位置。残余片组含有没有由该前景片组覆盖的宏块。
通过指示宏块位置的扫描顺序和在每个图像的宏块数量中的片组大小的变化速率来指定进化片组。每个编码图像与片组变化周期参数(在片头部中被传递)相关联。变化周期乘以变化速率指示在第一片组中的宏块数量。第二片组含有剩余的宏块位置。
在H.264/AVC中,跨越片组边界禁用图像中预测,因为片组边界位于片边界。因此,每个片组是隔离区域或残余区域。
在图像内,每个片组具有在图像内的标识号。编码器能够以以下方式来限制运动向量:运动向量仅参考属于具有与被编码的片组相同标识号的片组的解码宏块。编码器应当考虑的事实是,在分数像素内插中需要源样本的范围以及所有源样本应当在特定片组内。
H.264/AVC编解码器包含去块环路过滤器。环路过滤应用于每个4x4块边界,但是编码器能够在片边界处关闭环路过滤。如果在片边界处关闭环路过滤,则当执行渐进随机访问时在解码器处能够获得完美的重建图像。否则,即使在恢复点之后,重建图像可能在内容中是不完美的。
H.264/AVC标准的恢复点SEI消息和运动约束片组集合SEI消息能够用于指示的是,使用限制的运动向量将一些片组编码成隔离区域。解码器可以使用该信息例如以获得更快随机访问或通过忽略残余区域来节省处理时间。
例如在文档JCTVC-I0356<http://phenix.int-evry.fr/jct/doc_end_user/documents/9_Geneva/wg11/JCT VC-I0356-v1.zip>中已经针对HEVC提出了子图像构思,其类似于h.264/AVC的矩形隔离区域或矩形运动约束片组集合。下面描述在JCTVC-I0356中提出的子图像构思,然而应当理解的是,可以以与以下描述的方式类似但不相同的其他方式来定义子图像。在子图像构思中,图像被分割到预定义的矩形区域中。每个子图像将作为独立的图像被处理,除了构成图像的所有子图像共享相同的全局信息(诸如SPS、PPS和参考图像集)之外。子图像在几何上类似于图块。它们的属性如下:它们是在序列级别处指定的LCU对齐的矩形区域。可以在图像的子图像光栅扫描中来扫描在图像中的子图像。每个子图像开始新的片。如果多个图块存在于图像中,则可以使子图像边界和图块边界对齐。跨越子图像可以没有环路过滤。可以没有在子图像之外的样本值和运动信息的预测,以及在分数样本方位处没有样本值(使用在该子图像外的一个或多个样本值导出该样本值)可以用于对该子图像内的任何样本进行帧间预测。如果运动向量指向子图像外的区域,则可以应用针对图像边界定义的填充过程。除非子图像含有超过一个图块,否则在子图像内以光栅扫描顺序来扫描LCU。在子图像的图块光栅扫描顺序中扫描在子图像内的图块。除了每个图像默认一个图块的情况之外,图块不能跨越子图像边界。在子图像级别支持在图像级别可以使用的所有编码机制。
可伸缩视频编码指的是一种编码结构,其中一个比特流能够含有在不同比特率、分辨率或帧速率的内容的多种表示。在这些情况下,接收器取决于它的特点(例如,匹配最佳显示设备的分辨率)能够提取期望的表示。可替代地,服务器或网络单元取决于例如网络特点或接收器的处理能力能够提取将被传送给接收器的比特流的多个部分。可伸缩比特流典型地由“基础层”(其提供可以使用的最低质量视频)和一个或多个增强层(当其连同较低层一起被接收和解码时,其增强视频质量)组成。为了改进针对增强层的编码效率,该层的编码表示可以依赖于较低层。例如,能够从较低层来预测增强层的运动和模式信息。类似地,较低层的像素数据能够用于创建针对增强层的预测。
在一些可伸缩视频编码方案中,视频信号能够被编码到基础层和一个或多个增强层中。增强层可以增强由另一个层或其部分所表示的视频内容的时间分辨率(即,帧速率)、空间分辨率,或仅质量。每个层连同所有它的依赖层是以某一空间分辨率、时间分辨率和质量等级的视频信号的一种表示。在这个文档中,本发明人将可伸缩层连同所有它的依赖层称为“可伸缩层表示”。对应于可伸缩层表示的可伸缩比特流的一部分能够被提取和解码以产生以某一保真度的原始信号的表示。
一些编码标准允许创建可伸缩的比特流。能够通过解码可伸缩比特流的仅某些部分来产生有意义的解码表示。可伸缩的比特流能够例如用于在流式传输服务器中的预编码的单播流的速率自适应,以及用于将单个比特流传输给具有不同能力和/或具有不同网络条件的终端。在第64次MPEG会议,2003年3月10日至14日,芭堤雅,泰国,ISO/IECJTC1SC29WG11(MPEG)输出文档N5540,“Applications and Requirements for ScalableVideo Coding”中能够找到针对可伸缩视频编码的一些其它用例的列表。
在一些情况下,在某一位置或甚至在任意方位处能够将增强层中的数据截短,其中每个截短的方位可以包含表示逐渐增强的视觉质量的另外的数据。此类可伸缩被称为细粒度(粒度)可伸缩(FGS)。
SVC使用层间预测机制,其中能够从不同于当前重建层或下一个较低层之外的层来预测某些信息。能够被层间预测的信息包含:帧内纹理、运动和残差数据。层间运动预测包含:块编码模式、头部信息等的预测,其中来自较低层的运动能够用于较高层的预测。在帧内编码的情况下,来自周围宏块或来自较低层的共位宏块的预测是可能的。这些预测技术不使用来自较早编码访问单元的信息,以及因此被称为帧内预测技术。此外,来自较低层的残差数据也能够用于当前层的预测。
可以使用被称为单环路解码的构思来实现可伸缩编码(解码),其中仅针对被解码的最高层来重建解码的参考图像,而在较低层的图像可以不被完全地解码或可以在使用它们用于层间预测后被丢弃。在单环路解码中,解码器执行仅针对希望用于回放的可伸缩层(被称为“希望层”或“目标层”)的运动补偿和完全图像重建,从而当多环路解码与相比时,降低了解码复杂性。除了希望层之外的所有层不需要被完全解码,因为所编码的图像数据的全部或一部分不需要用于希望层的重建。然而,较低层(不是目标层)可以用于层间语法或参数预测,诸如层间运动预测。另外或可替代地,较低层可以用于层间帧内预测,以及因此较低层的帧内编码块可能必须被解码。另外或可替代地,可以应用层间残差预测,其中较低层的残差信息可以用于目标层的解码,以及残差信息可能需要被解码或重建。在一些编码布置中,需要单个解码环路用于大多数图像的解码,而第二解码环路可以被选择性地应用于重建所谓的基础表示(即,解码的基础层图像),可能需要它作为预测参考但是不用于输出或显示。
SVC允许单环路解码的使用。通过使用约束的帧内纹理预测模式来启用它,从而层间帧内纹理预测能够应用于宏块(MB),针对该宏块(MB),基础层的对应块位于intra-MB的内部。同时,在基础层中的那些intra-MB内使用约束帧内预测(例如,具有等于1的语法元素“constrained_intra_pred_flag”)。在单环路解码中,解码器仅针对期望回放的可伸缩层(被称为“期望层”或“目标层”)执行运动补偿和全图像重建,从而极大降低解码复杂性。不同于期望层的所有的其它层不需要被完全解码,因为不用于层间预测的MB的数据的全部或一部分(不管它是层间帧内纹理预测,层间运动预测或层间残差预测)对于期望层的重建而言是不需要的。
对于解码大多数图像而言,需要单解码环路,然而第二解码环路有选择地应用于重建基础表示,需要该基础表示作为预测参考但是不用于输出或显示,以及仅针对所谓的关键图像(对于关键图像而言,“store_ref_base_pic_flag”等于1)来重建基础表示。
FGS被包含在SVC标准的一些草案版本中,但是最后将它从最终的SVC标准中排除。随后,在SVC标准的一些草案版本的上下文中论述FGS。由不能被截短的那些增强层提供的可伸缩被称为粗粒度(颗粒度)可伸缩(CGS)。它共同地包含传统的质量(SNR)可伸缩和空间可伸缩。SVC标准支持所谓的中间粒度可伸缩(MGS),其中类似于SNR可伸缩层图像来编码质量增强图像,但是通过具有大于0的quality_id语法元素,类似于FGS层图像由高级语法元素来指示该质量增强图像。
在SVC草案中的可伸缩结构可以以三种语法元素为特点:“temporal_id”,“dependency_id”和“quality_id”。语法元素“temporal_id”用于指示时间可伸缩层级或,间接地,帧速率。包括较小最大“temporal_id”值的图像的可伸缩层表示比包括较大最大“temporal_id”的图像的可伸缩层表示具有较小帧速率。给定时间层典型地依赖于较低时间层(即,具有较小“temporal_id”值的时间层)而不是依赖于任何较高时间层。语法元素“dependency_id”用于指示CGS层间编码依赖层级(如前所述,其包含SNR和空间可伸缩两者)。在任何时间级别位置处,较小“dependency_id”值的图像可以用于针对编码具有较大“dependency_id”值的图像的层间预测。语法元素“quality_id”用于指示FGS或MGS层的质量级别层级。在任何时间位置处,以及具有相同的“dependency_id”值,具有等于QL的“quality_id”的图像使用具有等于QL-1的“quality_id”的图像以用于层间预测。具有大于0的“quality_id”的编码片可以被编码成能够截短的FGS片或不能截短的MGS片。
出于简化,在一个访问单元中具有相同“dependency_id”值的所有数据单元(例如,在SVC情景中,网络抽象层单元或NAL单元)被称为依赖单元或依赖表示。在一个依赖单元内,具有相同“quality_id”值的所有数据单元被称为质量单元或层表示。
基础表示,还被称为解码的基础图像,是从解码具有“quality_id”等于0的依赖单元的视频编码层(VCL)NAL单元所产生的解码图像,以及对于其而言,store_ref_base_pic_flag被设置等于1。增强表示(还被称为解码图像)从规则解码过程产生,在该规则解码过程中,针对最高依赖表示而存在的所有层表示进行解码。
如前所述,CGS包含空间可伸缩和SNR可伸缩两者。空间可伸缩最初被设计以支持具有不同分辨率的视频的表示。对于每个时刻,VCL NAL单元被编码在相同访问单元中,以及这些VCL NAL单元能够对应于不同的分辨率。在解码期间,低分辨率的VCL NAL单元提供运动场和残差,其能够可选择地被高分辨率图像的最终解码和重建继承。当与较旧的视频压缩标准相比时,SVC的空间可伸缩已经被泛化为使得基础层能够是增强层的裁剪和缩放的版本。
与FCS质量层类似,使用“quality_id”来指示MGS质量层。对于每个依赖单元(具有相同的“dependency_id”)而言,存在“quality_id”等于0的层以及能够存在“quality_id”大于0的其它层。取决于片是否被编码成能够截短的片,具有“quality_id”大于0的这些层是MGS层或FGS层。
在FGS增强层的基本形式中,使用仅层间预测。因此,能够自由地截短FGS增强层而不导致在解码序列中的任何误差传播。然而,FGS的基础形式遭受低压缩效率之苦。出现这个问题是因为仅低质量图像用于帧间预测参考。因此已经建议的是,FGS增强图像用作帧间预测参考。然而,当丢弃一些FGS数据时,这可能导致编码-解码失配,还被称为漂移。
草案SVC标准的一个特征是,能够自由地扔掉或截短FGS NAL单元,以及SVCV标准的特征是,能够自由地扔掉(但是不能被截短)MGS NAL单元而不影响比特流的一致性。如上所述,当在编码期间,那些FGS或MGS数据已经用于帧间预测参考时,数据的扔掉或截短将导致在解码器侧中和在编码器侧中的解码图像之间的失配。这种失配还被称为漂移。
为了控制由于FGS或MGS数据的扔掉或截短而产生的偏移,SVC应用以下解决方案:在某一依赖单元中,基础表示(通过解码仅具有“quality_id”等于0的CGS图像和所有依赖的较低层数据)被存储在解码的图像缓冲器中。当编码具有相同“dependency_id”值的随后的依赖单元时,所有NAL单元,包含FGS或MGS NAL单元,使用该基础表示以用于帧间预测参考。因此,在这个访问单元处,使由于在较早访问单元中的FGS或MGS NAL单元的扔掉或截短而产生的所有漂移停止。对于具有相同“dependency_id”值的其它依赖单元,为了高编码效率,所有NAL单元使用解码的图像以用于帧间预测参考。
每个NAL单元将语法元素“use_ref_base_pic_flag”包含在NAL单元头部中。当这个元素的值等于1时,在帧间预测过程期间,该NAL单元的解码使用参考图像的基础表示。语法元素“store_ref_base_pic_flag”指定是(当等于1时)否(当等于0时)存储当前图像的基础表示以用于将来图像用于帧间预测。
具有“quality_id”大于0的NAL单元不含有与参考图像列表构建和加权预测有关的语法元素,即语法元素“num_ref_active_1x_minus1”(x=0或1),参考图像列表重排序语法表,以及加权预测语法表不存在。因此,当需要时,MGS或FGS层必须从相同依赖单元的具有“quality_id”等于0的NAL单元来继承这些语法元素。
在SVC中,参考图像列表由仅基础表示(当“use_ref_base_pic_flag”等于1时)或仅没有被标记为“基础表示”的解码图像(当“use_ref_base_pic_flag”等于0时)组成,但是同时绝不能存在它们两个。
在SVC中已经指定了可伸缩嵌套SEI消息。可伸缩嵌套SEI消息提供用于将SEI消息与比特流的子集相关联的机制,诸如指示的依赖表示或其它可伸缩层。可伸缩嵌套SEI消息含有一个或多个SEI消息,该一个或多个SEI消息本身不是可伸缩嵌套SEI消息。被含有在可伸缩嵌套SEI消息中的SEI消息被称为嵌套SEI消息。没有被含有在可伸缩嵌套SEI消息中的SEI消息被称为非嵌套SEI消息。与可伸缩嵌套SEI消息类似的SEI消息已经被指定在用于指示所嵌套的SEI消息应用于哪些视图的MVC中。与可伸缩嵌套SEI消息另一个类似的SEI消息已经被指定在H.264/AVC的多视图和深度扩展中(还被称为MVC+D)以指定所嵌套的SEI消息应用于哪些纹理和/或深度视图。
针对质量可伸缩(还被称为信噪比或SNR)和/或空间可伸缩的可伸缩视频编解码器可以被实现如下。对于基础层,使用传统的非可伸缩视频编码器和解码器。基础层的重建/解码的图像被包含在针对增强层的参考图像缓冲器中。在H.264/AVC,HEVC和使用针对帧间预测的参考图像列表(多个)的类似的编解码器中,类似于增强层的解码参考图像,可以将基础层解码图像插入到用于编码/解码增强层图像的参考图像列表(多个)中。因此,编码器可以选择基础层参考图像作为帧间预测参考以及典型地使用在编码比特流中的参考图像索引来指示它的使用。解码器从该比特流(例如从参考图像索引)解码:基础层图像用作针对增强层的帧间预测参考。当解码的基础层图像用作针对增强层的预测参考时,它被称为层间参考图像。
除了质量可伸缩之外,存在以下可伸缩模式:
空间可伸缩:以比增强层图像更低的分辨率来编码基础层图像。
位深可伸缩:以比增强层图像(例如,10或12比特)更低的位深(例如8比特)来编码基础层。
色度格式可伸缩:以比增强层图像(例如,4:4:4格式)更低的保真度(例如,4:2:0格式)来编码基础层。
色域可伸缩性,其中增强层图像具有比基础层图像的颜色表示范围更丰富/更宽的颜色表示范围-例如增强层可以具有UHDTV(ITU-RBT.2020)色域以及基础层可以具有ITU-R BT.709色域。
视图可伸缩性,其中不同的层表示多视图视频的不同视图。
深度可伸缩性,其中某些层可以表示规则的彩色视频内容,以及其它层可以表示测距信息、视差、深度或诸如此类。
辅助图像可伸缩性,其中某些层可以表示诸如阿尔法平面的辅助视频内容,其可以用于例如指示透明性或不透明性信息或用于色度键控。
在所有以上可伸缩性情况中,基础层信息能够用于编码增强层以最小化另外的比特率的开销。
在以下,参照图4b更详细地公开根据一些实施例的层间处理框450的操作。在这个示例中,假设针对层间样本预测和/或层间运动信息预测的源是基础层,以及和目标层(即,针对该层执行预测)是增强层。在一些实施例中,源层可以是增强层(例如,第一增强层)以及目标层可以是在更高级别处的另一个增强层(例如,第二增强层)。
第二编码器部分502可能已经确定了基础层中的哪个图像可以用作针对增强层的当前块的参考图像。第二编码器部分502然后可以向第一编码器部分500指示该图像,其可以从参考帧存储器318提供所请求的重建参考层图像的样本值,或第二编码器部分502可以直接从参考帧存储器318获得重建的参考层图像。
层间处理框450接收452来自参考帧存储器318的重建参考层图像的样本值。重建的参考层图像可以是例如具有比增强层图像更小的分辨率和/或更小的位深的基础层图像。所接收的重建的参考层图像可以被提供给上采样过滤器452以增加参考层图像的空间分辨率。上采样过滤器452可以执行上采样过滤操作(其也增加所接收的重建的参考层图像的位深)并且获得上采样图像,其具有比基础层图像更高的分辨率和更高的位深。在一些实施例中,上采样过滤器452将重建的参考层图像的样本与过滤器系数相乘。例如通过将取整偏移456与上采样图像的值相加,然后可以修改上采样图像。取整偏移可以依赖于过滤器系数的准确性和/或在两个层(例如增强层和基础层)的位深之间的差。该结果的位深可以被移位458以与目标层的位深对应,在这个示例中,目标层是(第一)增强层。该移位可以依赖于过滤器系数的准确性和/或在目标层和源层位深之间的差。位深移位值可以进一步被提供给值范围限制器460,其可以修改重建的参考层图像使得重建的参考层图像的值在预定的值范围内。例如,值的范围可以从0到基础层位深的最大值。在一些实施例中,目标层的位深可以是10比特以及基础层的位深可以是8比特,但是也可以实现其它位深。来自层间处理框460的输出462可以被提供给增强层的预测器选择器406。
出于完整性,以下描述合适的解码器。然而,一些解码器可能不能处理增强层数据,其中它们可能不能解码所有接收的图像。
在解码器侧,可以执行类似的操作以重建图像块。图5示出了适合于利用本发明的实施例的视频解码器550的框图。在这个示例中,视频解码器550包括:针对基础视图成分的第一解码器部分552以及针对非基础视图成分的第二解码器部分554。框556说明了解复用器,其用于将关于基础视图成分的信息传递给第一解码器部分552以及用于将关于非基础视图成分的信息传递给第二解码器部分554。该解码器示出了熵解码器700、800,其执行在所接收的信号上的熵解码(E-1)。熵解码器因此执行针对以上描述的编码器的熵编码器330、430的相反操作。熵解码器700、800将熵解码的结果输出给预测误差解码器701、801和像素预测器704、804。参考P’n代表图像块的预测表示。参考D’n代表重建的预测误差信号。框705、805说明了初步重建图像或图像块(I’n)。参考R’n代表最终的重建图像或图像块。框703、803说明了反变换(T-1)。框702、802说明了反量化(Q-1)。框706、806说明了参考帧存储器(RFM)。框707、807说明了预测(P)(帧间预测或帧内预测)。框708、808说明了过滤(F)。框709、809可以用于将解码的预测误差信息与预测的基础视图/非基础视图成分进行组合以获得初步重建图像(I’n)。初步重建的和过滤的基础视图图像可以是来自第一解码器部分552的输出710以及初步重建的和过滤的基础视图图像可以是来自第二解码器部分554的输出810。
像素预测器704、804接收熵解码器700、800的输出。熵解码器700、800的输出可以包括:关于在编码当前块中使用的预测模式的指示。在像素预测器704、804内的预测器选择器707、807可以确定将被解码的当前块是增强层的块。因此,预测器选择器707、807可以选择使用来自在另一个层(诸如基础层)上对应的块的信息以过滤基础层预测块,同时解码当前的增强层的块。在增强层预测中由编码器使用基础层预测块之前该基础层预测块已经被过滤的指示可能已经被解码器接收,其中像素预测器704、804可以使用该指示以将重建的基础层块的值提供给过滤器708、808以及确定已经使用了哪种类型的过滤器(例如,SAO过滤器和/或自适应环路过滤器),或者可以存在其它方式来确定是否应当使用修改的解码模式。
预测器选择器可以将图像块P’n的预测表示输出给第一组合器709。该图像块的预测表示与重建的预测误差信号D’n结合使用以生成初步的重建图像I’n。初步的重建图像可以在预测器704、804中使用或可以被传送给过滤器708、808。过滤器应用过滤,其输出第一重建的信号R’n。第一重建的信号R’n可以被存储在参考帧存储器706、806中,参考帧存储器706、806进一步连接到用于预测操作的预测器707、807。
预测误差解码器702、802接收熵解码器700、800的输出。预测误差解码器702、802的去量化器702、802可以对熵解码器700、800的输出进行去量化,反变换框703、803可以执行针对由去量化器702、802的输出的去量化的信号的反变换操作。熵解码器700、800的输出也可以指示预测误差信号没有被应用以及在这种情况下,预测误差解码器产生全零输出信号。
应当理解的是,针对在图5中的各种框可以应用层间预测,即使在图5中没有示出它。层间预测可以包含:样本预测和/或语法/参数预测。例如,来自一个解码器部分(例如RFM 706)的参考图像可以用于其他解码器部分(例如,框807)的样本预测。在另一个示例中,来自一个解码器部分(例如来自框708的过滤器参数)的语法元素或参数可以用于其他解码器部分(例如,框808)的语法/参数预测。
图5b示出了在解码器处的层间处理框580的示例实施例的简化框图。解码器的层间处理框580可以类似于在本申请中先前描述的以及在图4b中描绘的编码器的层间处理框450。第二解码器部分554可能已经确定了基础层的哪个图像可以用作针对增强层的当前块的参考图像。第二解码器部分554然后可以向第一解码器部分552指示该图像,其可以从参考帧存储器706提供请求的解码的参考层图像的样本值,或第二解码器部分554可以直接从参考帧存储器706来获得解码的参考层图像,或第二解码器部分554可以从比特流来接收参考层图像的指示并且使用该指示以从参考帧存储器706获得解码的参考层图像。
层间处理块580可以接收来自参考帧存储器706的解码的参考层图像的样本值。解码的参考层图像可以是例如具有比增强层图像更小的分辨率和/或更小的位深的基础层图像。所解码的参考层图像可以被提供给上采样过滤器582以增加参考层图像的空间分辨率。上采样过滤器582可以执行上采样过滤操作(其也增加所解码的参考层图像的位深)并且获得上采样图像,其具有比基础层图像更高的分辨率和更高的位深。在一些实施例中,上采样过滤器582将解码的参考层图像的样本与过滤器系数相乘。例如通过将取整偏移586与上采样图像的值相加,然后可以修改上采样图像。取整偏移可以依赖于过滤器系数的准确性和/或在两个层(例如增强层和基础层)的位深之间的差。该结果的位深可以被移位588以与目标层的位深对应,在这个示例中,目标层是(第一)增强层。该移位可以依赖于过滤器系数的准确性和/或在目标层和源层位深之间的差。位深移位值可以进一步被提供给值范围限制器590,其可以修改解码的参考层图像使得解码的参考层图像的值在预定的值范围内。例如,值的范围可以从0到基础层位深的最大值。在一些实施例中,目标层的位深可以是10比特以及基础层的位深可以是8比特,但是也可以实现其它位深。从层间处理框580的输出592可以被提供给增强层的预测器选择器807。
在以下,将提供根据一些实施例的在层间处理框450、580中针对层间参考图像的重采样过程的操作的一些进一步细节。至这个过程的输入可以是裁剪的解码的参考层图像rlPic 452、582,以及这个过程的输出可以是重采样的参考层图像rsPic 462、592。
变量ScaleW(伸缩宽度)和ScaleH(伸缩高度)可以分别被设置为等于在亮度样本的单元中的当前图像的宽度和高度。变量rsPicSample指定参考图像rsPic的亮度和色度成分的重采样的样本值。变量rsPicMotion指定参考图像rsPic的重采样的运动场。
变量PicWRL和PicHRL可以分别被设置为等于在亮度样本的单元中的裁剪的编码(解码)的参考层图像rlPic的宽度和高度。变量rlPicSample指定裁剪的编码(解码)的参考层图像rlPic的亮度和色度成分的样本值。变量rlPicMotion指定rlPic的运动场。
以下步骤可以应用于导出重采样的层间参考图像rsPic。如果在亮度样本的单元中的当前图像的宽度ScaledW等于裁剪的解码的参考层图像的宽度PicWRL以及如果在亮度样本的单元中的当前图像的高度ScaledH等于裁剪的解码的参考层图像的高度PicHRL,则亮度和色度成分的重采样的样本值rsPicSample被设置为等于裁剪的解码的参考层图像rlPic的亮度和色度成分的样本值rlPicSample。
当参数sps_inter_layer_mfm_enable_flag等于1时,重采样的层间参考图像rsPic的运动场被设置为裁剪的编码(解码)的参考层图像rlPic的运动场(rsPicMotion=rlPicMotion)。否则,可以如下来导出重采样的层间参考图像rsPic。可以使用基础层样本的rlPicSample位深(nBase)和增强层样本的位深(eEnh)的样本值作为输入以及使用rsPicSample的重采样的样本值作为输出来调用图像样本重采样过程。当参数sps_inter_layer_mfm_enable_flag等于1时,可以使用rlPicMotion的压缩的运动场作为输入,以及使用rsPicMotion的重采样的运动场作出输出,来调用图像运动场重采样过程。
在以下描述了亮度样本内插过程的示例。至亮度样本内插过程的输入是亮度参考样本数组rlPicSampleL;相对于当前图像的左上亮度样本的亮度样本位置(xP,yP);基础层样本的位深,nBase;以及增强层样本的位深,nEnh。这个过程的输出是内插的亮度样本值intLumaSample。
表1指定了8抽头(tap)过滤器系数fL[p,x]的示例,其中相位p=0…15和x=0…7,其可以用于亮度重采样过程。
表1
可以通过应用以下过程来导出内插的亮度样本IntLumaSample的值。可以使用等于0的cIdx和给定的亮度样本位置(xP,yP)作为输入以及在第1/16个样本的单元中(xRef16,yRef16)作为输出,来调用在重采样中使用的针对参考层样本位置的导出过程。可以如下来导出变量xRef和xPhase:
xRef=(xRef16>>4)
xPhase=(xRef16)%16
可以如下来导出变量yRef和yPhase:
yRef=(yRef16>>4)
yPhase=(yRef16)%16
可以如下来导出样本值tempArray[n],其中n=0..7:
yPosRL=Clip3(0,RefLayerPicHeightInSamplesL–1,yRef+n–1)
refW=RefLayerPicWidthInSamplesL
tempArray[n]=fL[xPhase,0]*rlPicSampleL[Clip3(0,refW–1,xRef–3),yPosRL]+
fL[xPhase,1]*rlPicSampleL[Clip3(0,refW–1,xRef–2),yPosRL]+
fL[xPhase,2]*rlPicSampleL[Clip3(0,refW–1,xRef–1),yPosRL]+
fL[xPhase,3]*rlPicSampleL[Clip3(0,refW–1,xRef),yPosRL]+
fL[xPhase,4]*rlPicSampleL[Clip3(0,refW–1,xRef+1),yPosRL]+
fL[xPhase,5]*rlPicSampleL[Clip3(0,refW–1,xRef+2),yPosRL]+
fL[xPhase,6]*rlPicSampleL[Clip3(0,refW–1,xRef+3),yPosRL]+
fL[xPhase,7]*rlPicSampleL[Clip3(0,refW–1,xRef+4),yPosRL]
可以如下来导出内插的亮度样本值intLumaSample:
intLumaSample=(fL[yPhase,0]*tempArray[0]+
fL[yPhase,1]*tempArray[1]+
fL[yPhase,2]*tempArray[2]+
fL[yPhase,3]*tempArray[3]+
fL[yPhase,4]*tempArray[4]+
fL[yPhase,5]*tempArray[5]+
fL[yPhase,6]*tempArray[6]+
fL[yPhase,7]*tempArray[7]+(1<<(12+nBase–nEnh–1))>>(12
+nBase–nEnh)
intLumaSample=Clip3(0,(1<<nEnh)–1,intLumaSample)
如在以上等式中示出的,通过(12+nBase–nEnh)来移位样本的位深,其中该移位依赖于数字12,其是从过滤器系数的准确性和基础层和增强层的位深所导出的。另外,取整偏移是1<<(12+nBase–nEnh–1),其中取整偏移也依赖于过滤器系数的准确性和基础层和增强层的位深。
在以上,参照增强层和基础层已经描述了一些实施例。需要理解的是,基础层也可以是任何其他层,只要它是针对增强层的参考层。还需要理解的是,术语增强层可以指示任何非基础层以及当与基础/参考层的图像/视频质量相比时不需要指示增强层的图像或视频质量的增强。还需要理解的是,编码器可以在比特流中生成超过两个层,以及解码器可以从比特流中解码超过两个层。可以使用任何一对的增强层和它的参考层来实现实施例。同样地,可以考虑超过两个层来实现许多实施例。
本发明的实施例可以被实现在软件、硬件和应用逻辑或软件、硬件和应用逻辑的组合中。在示例实施例中,应用逻辑、软件或指令集被维护在各种传统的计算机可读介质中的任何一个中。在这个文档的上下文中,“计算机可读介质”可以是任何介质或构件,其能够含有、存储、传递、传播或传输用于由指令执行系统、装置或设备(诸如计算机,在图1和2中描述和描绘的计算机的一个示例)使用的或与其结合使用的指令。计算机可读介质可以包括:计算机可读存储介质,其可以是任何介质或构件,其可以含有或存储用于由指令执行系统、装置或设备(诸如计算机)使用的或与其结合使用的指令。
如果需要,可以以不同的顺序和/或彼此并发地执行本文中论述的不同功能。此外,如果需要,上述功能中的一个或多个功能可以是非必需的或可以被组合。
尽管以上示例描述了在电子设备内的编解码器内操作的本发明的实施例,但是将了解的是,如下描述的本发明可以被实现作为任何视频编解码器的一部分。因此,例如,本发明的实施例可以在视频编解码器中实现,该视频编解码器实现在固定或有线通信路径上的视频编码。
因此,用户设备可以包括:视频编解码器,诸如以上在本发明的实施例中描述的那些视频编解码器。应当了解的是,术语用户设备旨在涵盖任何合适类型的无线用户设备,诸如移动电话、便携式数据处理设备或便携式网络浏览器。
此外,公共陆地移动网络(PLMN)的单元也可以包括如上所述的视频编解码器。
一般地,可以将本发明的各种实施例实现成硬件或专用电路、软件、逻辑和它们的任何组合。例如,一些方面可以被实现在硬件中,而其它方面可以被实现在固件或软件中,该固件或软件可以由控制器、微处理器或其它计算设备来运行,尽管本发明不限制于此。虽然本发明的各种方面被说明和描述成框图、流程图或使用一些其它图形表示,但是很好理解的是,本文中所述的这些框、装置、系统、技术或方法可以被实现在,作为非限制性示例,硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其它计算设备或它们的一些组合中。
可以由移动设备的数据处理器(诸如在处理器实体中)可执行的计算机软件,或由硬件,或由软件和硬件的组合来实现本发明的实施例。此外,就这点而言,应当注意的是,如在附图中的逻辑流的任何框可以表示程序步骤,或互连的逻辑电路,块和功能,或程序步骤和逻辑电路、块和功能的组合。可以将软件存储在此类物理介质上,诸如存储芯片,或实现在处理器内的存储块,磁介质,诸如硬盘或软盘,以及光介质,诸如例如DVD和其数据变型CD。
可以借助于计算机程序代码来实现本发明的各种实施例,该计算机程序代码驻留在存储器中以及使得相关装置实现本发明。例如,终端设备可以包括:用于处理、接收和传送数据的电路和电子产品,在存储器中的计算机程序代码以及处理器,当该处理器运行该计算机程序代码时,该处理器使得终端设备实现实施例的特征。此外,网络设备可以包括用于处理、接收和传送数据的电路和电子产品,在存储器中的计算机程序代码以及处理器,当该处理器运行该计算机程序代码时,该处理器使得网络设备实现实施例的特征。
存储器可以具有适合于本地技术环境的任何类型,并且可以使用任何合适的数据存储技术来实现,诸如基于半导体的存储设备,磁存储设备和系统,光存储设备和系统,固定存储器和可移动存储器。数据处理器可以具有适合于本地技术环境的任何类型,并且可以包含作为非限制性示例的下列中的一个或多个:通用计算机、专用计算机、微处理器、数字信号处理器(DSP)和基于多核处理器架构的处理器。
可以在各种组件中,诸如在集成电路模块中,实践本发明的实施例。一般而言,集成电路的设计基本上是高度自动化的过程。复杂和功能强大的软件工具可用于将逻辑级的设计转换成准备将要被蚀刻和形成在半导体衬底上的半导体电路设计。
程序,诸如由加利福尼亚的山景城的新思科技(Synopsys,Inc.of MountainView,California)和加利福尼亚的圣何塞的凯登斯设计(Cadence Design,of San Jose,California)所提供的那些程序,使用良好建立的设计规则以及预存储的设计模块的库在半导体芯片上自动化路由导体和定位组件。一旦已经完成了针对半导体电路的设计,则所生成的设计可以以标准化电子形式(例如,Opus,GDSII等)传送给半导体制造厂或用于制造的简写的“fab”。
上述描述已经通过示例性和非限制性的示例提供了本发明示例性实施例的全面和教示性的描述。然而,当结合附图和所附权利要求书阅读时,鉴于上述描述,对于相关领域的技术人员来说,各种修改和适应是明显的。然而,本发明的教示中的所有此类或类似的修改仍然将落入本发明的范围内。
在以下中,将提供一些示例。
根据第一示例,提供了一种方法,所述方法包括:
获得关于在第一层上的图像的参考块的位深的信息;
获得关于在第二层上的图像的当前块的位深的信息;
使用所获得的信息以选择一个或多个重采样过滤器参数以用于对将在层间预测中使用的参考层图像的至少一部分进行过滤。
在一些实施例中,所述方法还包括:
获得关于所述参考块和所述当前块的空间分辨率的信息;以及
在一个或多个重采样过滤器参数的选择中,使用所获得的关于所述空间分辨率的信息连同关于所述位深的信息。
在该方法的一些实施例中,所述过滤包括:
将所述第一层的重建图像的样本与过滤器系数相乘并且对结果求和;
将取整偏移加到所产生的和;以及
调节加法操作的结果的位深。
在该方法的一些实施例中,获得关于在第一层上的图像的参考块的位深的信息和获得关于在第二层上的图像的当前块的位深的信息包括:从比特流读取一个或多个语法元素。
在一些实施例中,该方法包括:
基于所述过滤器系数的准确性和在所述增强层和所述基础层的位深之间的差中的一个或多个,确定所述取整偏移。
在该方法的一些实施例中,所述调节包括:
将所述加法操作的结果移位到所述增强层的位深。
在一些实施例中,该方法还包括:
裁剪所过滤的值以将该值限制在预定值范围内。
在一些实施例中,该方法还包括:使用在层间预测中的过滤的参考层图像以编码当前块。
在一些实施例中,该方法还包括:使用在层间预测中的过滤的参考层图像以解码当前块。
根据第二示例,提供了一种装置,其包括至少一个处理器和包含计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置为使用所述至少一个处理器使得所述装置:
获得关于在第一层上的图像的参考块的位深的信息;
获得关于在第二层上的图像的当前块的位深的信息;
使用所获得的信息以选择一个或多个重采样过滤器参数以用于对将在层间预测中使用的参考层图像的至少一部分进行过滤。
在装置的一些实施例中,所述至少一个存储器在其上存储有代码,当由所述至少一个处理器执行该代码时,该代码还使得该装置:
获得关于所述参考块和所述当前块的空间分辨率的信息;以及
在一个或多个重采样过滤器参数的选择中,使用所获得的关于所述空间分辨率的信息连同关于所述位深的信息。
在装置的一些实施例中,所述至少一个存储器在其上存储有代码,当由所述至少一个处理器执行该代码时,该代码还使得该装置:
将所述第一层的重建图像的样本与过滤器系数相乘并且对结果求和;
将取整偏移加到所产生的和;以及
调节加法操作的结果的位深。
在装置的一些实施例中,所述至少一个存储器在其上存储有代码,当由所述至少一个处理器执行该代码时,该代码还使得该装置:通过从比特流读取一个或多个语法元素,获得关于在第一层上的图像的参考块的位深的信息和获得关于在第二层上的图像的当前块的位深的信息。
在装置的一些实施例中,所述至少一个存储器在其上存储有代码,当由所述至少一个处理器执行该代码时,该代码还使得该装置:
基于所述过滤器系数的准确性和在所述增强层和所述基础层的位深之间的差中的一个或多个,确定所述取整偏移。
在装置的一些实施例中,所述至少一个存储器在其上存储有代码,当由所述至少一个处理器执行该代码时,该代码还使得该装置:
将所述加法操作的结果移位到所述增强层的位深。
在装置的一些实施例中,所述至少一个存储器在其上存储有代码,当由所述至少一个处理器执行该代码时,该代码还使得该装置:
裁剪所过滤的值以将该值限制在预定值范围内。
在装置的一些实施例中,所述至少一个存储器在其上存储有代码,当由所述至少一个处理器执行该代码时,该代码还使得该装置:使用在层间预测中的过滤的参考层图像以编码当前块。
在装置的一些实施例中,所述至少一个存储器在其上存储有代码,当由所述至少一个处理器执行该代码时,该代码还使得该装置:使用在层间预测中的过滤的参考层图像以解码当前块。
根据第三示例,提供了一种计算机程序产品,所述计算机程序产品包含一个或多个指令的一个或多个序列,当由一个或多个处理器执行一个或多个指令的一个或多个序列时,一个或多个指令的一个或多个序列使得装置至少执行以下:
获得关于在第一层上的图像的参考块的位深的信息;
获得关于在第二层上的图像的当前块的位深的信息;
使用所获得的信息以选择一个或多个重采样过滤器参数以用于对将在层间预测中使用的参考层图像的至少一部分进行过滤。
在一些实施例中,所述计算机程序产品还包括一个或多个指令的一个或多个序列,当由一个或多个处理器执行一个或多个指令的一个或多个序列时,一个或多个指令的一个或多个序列使得该装置:
获得关于所述参考块和所述当前块的空间分辨率的信息;以及
在一个或多个重采样过滤器参数的选择中,使用所获得的关于所述空间分辨率的信息连同关于所述位深的信息。
在一些实施例中,所述计算机程序产品还包括一个或多个指令的一个或多个序列,当由一个或多个处理器执行一个或多个指令的一个或多个序列时,一个或多个指令的一个或多个序列使得该装置:
将第一层的重建图像的样本与过滤器系数相乘并且对结果求和;
将取整偏移加到所产生的和;以及
调节加法操作的结果的位深。
在一些实施例中,所述计算机程序产品还包括一个或多个指令的一个或多个序列,当由一个或多个处理器执行一个或多个指令的一个或多个序列时,一个或多个指令的一个或多个序列还使得该装置:通过从比特流读取一个或多个语法元素,获得关于在第一层上的图像的参考块的位深的信息和获得关于在第二层上的图像的当前块的位深的信息。
在一些实施例中,所述计算机程序产品还包括一个或多个指令的一个或多个序列,当由一个或多个处理器执行一个或多个指令的一个或多个序列时,一个或多个指令的一个或多个序列使得该装置:
基于所述过滤器系数的准确性和在所述增强层和所述基础层的位深之间的差中的一个或多个,确定所述取整偏移。
在一些实施例中,所述计算机程序产品还包括一个或多个指令的一个或多个序列,当由一个或多个处理器执行一个或多个指令的一个或多个序列时,一个或多个指令的一个或多个序列使得装置:
将所述加法操作的结果移位到所述增强层的位深。
在一些实施例中,所述计算机程序产品还包括一个或多个指令的一个或多个序列,当由一个或多个处理器执行一个或多个指令的一个或多个序列时,一个或多个指令的一个或多个序列使得该装置:使用在层间预测中的过滤的参考层图像以编码当前块。
在一些实施例中,所述计算机程序产品还包括一个或多个指令的一个或多个序列,当由一个或多个处理器执行一个或多个指令的一个或多个序列时,一个或多个指令的一个或多个序列使得该装置:使用在层间预测中的过滤的参考层图像以解码当前块。
根据第四示例,提供了一种装置,所述装置包括:
用于获得关于在第一层上的图像的参考块的位深的信息的构件;
用于获得关于在第二层上的图像的当前块的位深的信息的构件;
用于使用所获得的信息以选择一个或多个重采样过滤器参数以用于对将在层间预测中使用的参考层图像的至少一部分进行过滤的构件。
在一些实施例中,所述装置还包括:
用于获得关于所述参考块和所述当前块的空间分辨率的信息的构件;以及用于在一个或多个重采样过滤器参数的选择中,使用所获得的关于所述空间分辨率的信息连同关于所述位深的信息的构件。
在一些实施例中,所述装置包括:
用于将第一层的重建图像的样本与过滤器系数相乘和用于对结果求和的构件;
用于将取整偏移加到所产生的和的构件;以及
用于调节加法操作的结果的位深的构件。
在该装置的一些实施例中,用于获得关于在第一层上的图像的参考块的位深的信息的构件和用于获得关于在第二层上的图像的当前块的位深的信息的构件包括:用于从比特流读取一个或多个语法元素的构件。
在一些实施例中,该装置包括:
用于基于所述过滤器系数的准确性和在所述增强层和所述基础层的位深之间的差中的一个或多个,确定所述取整偏移的构件。
在一些实施例中,该装置包括:
用于将所述加法操作的结果移位到所述增强层的位深的构件。
在一些实施例中,该装置包括:
用于裁剪所过滤的值以将该值限制在预定值范围内的构件。
在一些实施例中,该装置包括:用于使用在层间预测中的过滤的参考层图像以编码当前块的构件。
在一些实施例中,该装置包括:用于使用在层间预测中的过滤的参考层图像以解码当前块的构件。
根据第五示例,提供了一种装置,其被配置为执行根据第一示例的方法。
根据第六示例,提供了一种解码器,其被配置为执行根据第一示例的方法。
根据第七示例,提供了一种编码器,其被配置为执行根据第一示例的方法。

Claims (24)

1.一种用于构建视频序列的图像的方法,包括:
获得关于基础层的重建参考图像的参考块的位深和空间分辨率的信息;
获得关于增强层的图像的当前块的位深和空间分辨率的信息,其中,所述重建参考图像具有比所述增强层的图像更小的位深和更小的分辨率;以及
使用所获得的关于位深的信息以伸缩一个或多个内插过滤器参数以用于对将在层间预测中使用的所述重建参考图像的至少一部分进行过滤,其中,所述内插过滤器执行也增加该位深的空间上采样过滤操作。
2.根据权利要求1所述的方法,其中所述过滤包括:
将所述基础层的所述重建参考图像的样本与过滤器系数相乘并且对结果求和;
将取整偏移加到所产生的和;以及
调节加法操作的结果的位深。
3.根据权利要求1所述的方法,其中获得关于述基础层的所述重建参考图像的参考块的位深的信息和获得关于所述增强层的图像的当前块的位深的信息包括:从比特流读取一个或多个语法元素。
4.根据权利要求1所述的方法,还包括:
基于过滤器系数的准确性和在所述增强层和所述基础层的位深之间的差中的一个或多个,确定取整偏移。
5.根据权利要求1所述的方法,还包括:
将加法操作的结果移位到所述增强层的位深。
6.根据权利要求1所述的方法,还包括:
裁剪所过滤的值以将该值限制在预定值范围内。
7.根据权利要求1至6中任何一项所述的方法,还包括:
在层间预测中使用所述基础层的过滤的重建参考图像以编码当前块。
8.根据权利要求1至6中任何一项所述的方法,还包括:
在层间预测中使用所述基础层的过滤的重建参考图像以解码当前块。
9.一种计算机可读介质,存储有一个或多个指令的一个或多个序列,所述一个或多个指令的所述一个或多个序列当由一个或多个处理器执行时使得装置至少执行以下:
获得关于基础层的重建参考图像的参考块的位深和空间分辨率的信息;
获得关于增强层的图像的当前块的位深和空间分辨率的信息,其中,所述重建参考图像具有比所述增强层的图像更小的位深和更小的分辨率;以及
使用所获得的关于位深的信息以伸缩一个或多个内插过滤器参数以用于对将在层间预测中使用的所述重建参考图像的至少一部分进行过滤,其中,所述内插过滤器执行也增加该位深的空间上采样过滤操作。
10.根据权利要求9所述的计算机可读介质,其中,所述一个或多个指令的所述一个或多个序列当由所述至少一个处理器执行时进一步使得所述装置:
将所述基础层的所述重建参考图像的样本与过滤器系数相乘并且对结果求和;
将取整偏移加到所产生的和;以及
调节加法操作的结果的位深。
11.根据权利要求9所述的计算机可读介质,其中,所述一个或多个指令的所述一个或多个序列当由所述至少一个处理器执行时进一步使得所述装置:
通过从比特流读取一个或多个语法元素,获得关于所述基础层的述重建参考图像的参考块的位深的信息和获得关于所述增强层的图像的当前块的位深的信息。
12.根据权利要求9所述的计算机可读介质,其中,所述一个或多个指令的所述一个或多个序列当由所述至少一个处理器执行时进一步使得所述装置:
基于过滤器系数的准确性和在所述增强层和所述基础层的位深之间的差中的一个或多个,确定取整偏移。
13.根据权利要求9所述的计算机可读介质,其中,所述一个或多个指令的所述一个或多个序列当由所述至少一个处理器执行时进一步使得所述装置:
将加法操作的结果移位到所述增强层的位深。
14.根据权利要求9所述的计算机可读介质,其中,所述一个或多个指令的所述一个或多个序列当由所述至少一个处理器执行时进一步使得所述装置:
裁剪所过滤的值以将该值限制在预定值范围内。
15.根据权利要求9至14中的任何一项所述的计算机可读介质,其中,所述一个或多个指令的所述一个或多个序列当由所述至少一个处理器执行时进一步使得所述装置:
在层间预测中使用所述基础层的过滤的重建参考图像以编码当前块。
16.根据权利要求9至14中的任何一项所述的计算机可读介质,其中,所述一个或多个指令的所述一个或多个序列当由所述至少一个处理器执行时进一步使得所述装置:
在层间预测中使用所述基础层的过滤的重建参考图像以解码当前块。
17.一种用于构建视频序列的图像的装置,包括:
用于获得关于基础层的重建参考图像的参考块的位深和空间分辨率的信息的构件;
用于获得关于增强层的图像的当前块的位深和空间分辨率的信息的构件,其中,所述重建参考图像具有比所述增强层的图像更小的位深和更小的分辨率;以及
用于使用所获得的关于位深的信息以伸缩一个或多个内插过滤器参数以用于对将在层间预测中使用的重建参考图像的至少一部分进行过滤的构件,其中,所述内插过滤器执行也增加该位深的空间上采样过滤操作。
18.根据权利要求17所述的装置,还包括:
用于将所述基础层的所述重建参考图像的样本与过滤器系数相乘和用于对结果求和的构件;
用于将取整偏移加到所产生的和的构件;以及
用于调节加法操作的结果的位深的构件。
19.根据权利要求17所述的装置,其中用于获得关于所述基础层的所述重建参考图像的参考块的位深的信息的构件和用于获得关于所述增强层的图像的当前块的位深的信息的构件包括:用于从比特流读取一个或多个语法元素的构件。
20.根据权利要求17所述的装置,还包括:用于基于过滤器系数的准确性和在所述增强层和所述基础层的位深之间的差中的一个或多个,确定取整偏移的构件。
21.根据权利要求17所述的装置,还包括:
用于将加法操作的结果移位到所述增强层的位深的构件。
22.根据权利要求17所述的装置,还包括:
用于裁剪所过滤的值以将该值限制在预定值范围内的构件。
23.根据权利要求17至22中的任何一项所述的装置,还包括:
用于在层间预测中使用所述基础层的过滤的重建参考图像以编码当前块的构件。
24.根据权利要求17至22中的任何一项所述的装置,还包括:
用于在层间预测中使用所述基础层的过滤的重建参考图像以解码当前块的构件。
CN201480050103.7A 2013-07-15 2014-06-25 用于视频编码和解码的方法、装置和计算机程序产品 Active CN105556965B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1312577.8 2013-07-15
GB1312577.8A GB2516424A (en) 2013-07-15 2013-07-15 A method, an apparatus and a computer program product for video coding and decoding
PCT/FI2014/050512 WO2015007946A1 (en) 2013-07-15 2014-06-25 A method, an apparatus and a computer program product for video coding and decoding

Publications (2)

Publication Number Publication Date
CN105556965A CN105556965A (zh) 2016-05-04
CN105556965B true CN105556965B (zh) 2019-06-28

Family

ID=49081242

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480050103.7A Active CN105556965B (zh) 2013-07-15 2014-06-25 用于视频编码和解码的方法、装置和计算机程序产品

Country Status (5)

Country Link
US (1) US10547867B2 (zh)
EP (1) EP3022917A4 (zh)
CN (1) CN105556965B (zh)
GB (1) GB2516424A (zh)
WO (1) WO2015007946A1 (zh)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2723079A4 (en) 2011-06-15 2015-03-04 Korea Electronics Telecomm MODULABLE VIDEO ENCODING AND DECODING METHOD AND DEVICE APPLYING THE SAME
US20180249176A1 (en) * 2015-03-11 2018-08-30 Lg Electronics Inc. Method and apparatus for encoding and decoding video signal
US10554992B2 (en) * 2015-06-03 2020-02-04 Avago Technologies International Sales Pte. Limited Inline codec switching
KR102390162B1 (ko) * 2015-10-16 2022-04-22 삼성전자주식회사 데이터 인코딩 장치 및 데이터 인코딩 방법
EP3185556A1 (en) 2015-12-21 2017-06-28 Thomson Licensing Method and apparatus for combined adaptive resolution and internal bit-depth increase coding
KR102387909B1 (ko) * 2016-11-29 2022-04-18 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
CN110035331B (zh) * 2018-01-12 2021-02-09 华为技术有限公司 一种媒体信息的处理方法及装置
EP3759924A1 (en) 2018-04-03 2021-01-06 Huawei Technologies Co., Ltd. Bitstream signaling of error mitigation in sub-picture bitstream based viewport dependent video coding
EP3777182A1 (en) * 2018-04-11 2021-02-17 InterDigital VC Holdings, Inc. A method and apparatus for encoding/decoding a point cloud representing a 3d object
WO2020142382A1 (en) 2018-12-31 2020-07-09 Futurewei Technologies, Inc. Support of adaptive resolution change in video coding
US11290734B2 (en) * 2019-01-02 2022-03-29 Tencent America LLC Adaptive picture resolution rescaling for inter-prediction and display
KR20230163584A (ko) * 2019-02-28 2023-11-30 엘지전자 주식회사 Aps 시그널링 기반 비디오 또는 영상 코딩
US11323731B2 (en) * 2019-03-08 2022-05-03 Tencent America LLC Method and apparatus for video coding
WO2020185145A1 (en) * 2019-03-08 2020-09-17 Telefonaktiebolaget Lm Ericsson (Publ) Methods providing encoding/decoding of dependent/independent partitions and related devices
MX2021011048A (es) * 2019-03-11 2021-11-12 Huawei Tech Co Ltd Limitantes de imagenes de tipo unidad nal mezclada.
ES2980868T3 (es) * 2019-03-11 2024-10-03 Huawei Tech Co Ltd Direcciones de segmento basadas en sub-imagen en codificación de vídeo
EP3939278A4 (en) * 2019-03-11 2023-03-22 Tencent America LLC TILE AND SUB-DIVISION
WO2020188273A1 (en) * 2019-03-20 2020-09-24 V-Nova International Limited Low complexity enhancement video coding
US11109041B2 (en) * 2019-05-16 2021-08-31 Tencent America LLC Method and apparatus for video coding
WO2021027774A1 (en) 2019-08-10 2021-02-18 Beijing Bytedance Network Technology Co., Ltd. Subpicture dependent signaling in video bitstreams
CN114600456A (zh) * 2019-09-03 2022-06-07 Lg电子株式会社 用子画面对图像编码/解码的方法和装置及比特流传输方法
CN116866598A (zh) * 2019-09-24 2023-10-10 华为技术有限公司 用于指定层的可伸缩嵌套式sei消息
WO2021057869A1 (en) * 2019-09-24 2021-04-01 Huawei Technologies Co., Ltd. An encoder, a decoder and corresponding methods
WO2021063420A1 (en) * 2019-10-02 2021-04-08 Beijing Bytedance Network Technology Co., Ltd. Slice level signaling in video bitstreams that include sub-pictures
CN114631317B (zh) 2019-10-18 2024-03-15 北京字节跳动网络技术有限公司 子图片的参数集信令中的语法约束
CN115836527A (zh) * 2020-01-24 2023-03-21 华为技术有限公司 编码器、解码器及用于自适应环路滤波的对应方法
CN113344988B (zh) * 2020-03-03 2023-03-31 海信集团有限公司 立体匹配方法、终端及存储介质
BR112022025075A2 (pt) 2020-06-09 2022-12-27 Bytedance Inc Informações de decodificador de vídeo de referência hipotético aninhadas não escaláveis de sinalização
US11750843B2 (en) 2021-06-28 2023-09-05 Tencent America LLC Multiview-related supplementary enhancement information messages

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1933564A1 (en) * 2006-12-14 2008-06-18 Thomson Licensing Method and apparatus for encoding and/or decoding video data using adaptive prediction order for spatial and bit depth prediction
CN101415120A (zh) * 2007-10-15 2009-04-22 汤姆森许可贸易公司 针对使用分级lut的比特深度可缩放性的增强层残差预测
CN102957912A (zh) * 2011-08-09 2013-03-06 杜比实验室特许公司 视频编码中的受指导图像上采样

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090086960A (ko) 2006-10-25 2009-08-14 톰슨 라이센싱 컬러 비트 심도 확장성을 지원하기 위한 svc에 대한 새로운 구문 요소
US8432968B2 (en) * 2007-10-15 2013-04-30 Qualcomm Incorporated Scalable video coding techniques for scalable bitdepths
US20100220789A1 (en) * 2007-10-19 2010-09-02 Wu Yuwen Combined spatial and bit-depth scalability
US8184693B2 (en) * 2008-04-11 2012-05-22 Intel Corporation Adaptive filtering for bit-depth scalable video codec
PL2835976T3 (pl) * 2008-04-16 2017-04-28 Ge Video Compression, Llc Skalowalność głębi bitowej
WO2012122423A1 (en) * 2011-03-10 2012-09-13 Dolby Laboratories Licensing Corporation Pre-processing for bitdepth and color format scalable video coding
US9571856B2 (en) * 2008-08-25 2017-02-14 Microsoft Technology Licensing, Llc Conversion operations in scalable video encoding and decoding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1933564A1 (en) * 2006-12-14 2008-06-18 Thomson Licensing Method and apparatus for encoding and/or decoding video data using adaptive prediction order for spatial and bit depth prediction
CN101415120A (zh) * 2007-10-15 2009-04-22 汤姆森许可贸易公司 针对使用分级lut的比特深度可缩放性的增强层残差预测
CN102957912A (zh) * 2011-08-09 2013-03-06 杜比实验室特许公司 视频编码中的受指导图像上采样

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
On Color Gamut Scalable Video Coding;Sachin Deshpande,Louis Kerofsky,Andrew Segall;《Joint Collaborative Team on Video Coding(JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 13th Meeting:Incheon,KR,18-26 April 2013》;20130426;第3页G8.1.4,第4页G8.1.5,第5页建议2

Also Published As

Publication number Publication date
GB2516424A (en) 2015-01-28
US10547867B2 (en) 2020-01-28
EP3022917A4 (en) 2016-12-14
CN105556965A (zh) 2016-05-04
GB201312577D0 (en) 2013-08-28
EP3022917A1 (en) 2016-05-25
WO2015007946A1 (en) 2015-01-22
US20160381385A1 (en) 2016-12-29

Similar Documents

Publication Publication Date Title
CN105556965B (zh) 用于视频编码和解码的方法、装置和计算机程序产品
CN104584549B (zh) 用于视频编码的方法和装置
CN104604236B (zh) 用于视频编码的方法和装置
CN104813660B (zh) 用于视频编码和解码的装置和方法
KR101630564B1 (ko) 비디오 코딩을 위한 방법 및 장치
KR101881677B1 (ko) 비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램
CN104813669B (zh) 用于视频编码的方法和装置
CN105531999B (zh) 涉及用于信号传输运动信息的语法的视频编码方法及装置
CN104205819B (zh) 用于视频编码的方法和装置
CN105981387B (zh) 用于处理视频的方法、装置和计算机可读存储介质
CN104521238B (zh) 用于3d视频编码的装置和方法
KR101790156B1 (ko) 비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램
KR101825575B1 (ko) 비디오 코딩 및 디코딩 방법 및 장치
CN108886620A (zh) 用于视频编码和解码的装置、方法及计算机程序
CN109565602A (zh) 视频编码和解码
KR101874922B1 (ko) 비디오 코딩 및 디코딩 장치, 방법 및 컴퓨터 프로그램
CN104380749A (zh) 用于视频编码的方法和装置
TW201517597A (zh) 用於視訊編碼及解碼之方法及裝置
CN104604223A (zh) 用于视频编码和解码的装置、方法和计算机程序
CN106664424A (zh) 参数集编码
CN104396244A (zh) 用于视频编码和解码的装置、方法和计算机程序
CN104813662A (zh) 用于视频编码和解码的装置、方法和计算机程序
KR20150139940A (ko) 비디오 인코딩 및 디코딩을 위한 방법 및 기술 장비

Legal Events

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