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

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

Info

Publication number
CN108886620A
CN108886620A CN201780017098.3A CN201780017098A CN108886620A CN 108886620 A CN108886620 A CN 108886620A CN 201780017098 A CN201780017098 A CN 201780017098A CN 108886620 A CN108886620 A CN 108886620A
Authority
CN
China
Prior art keywords
image
region
prediction
layer
coding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201780017098.3A
Other languages
English (en)
Other versions
CN108886620B (zh
Inventor
M·汉努卡塞拉
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 CN108886620A publication Critical patent/CN108886620A/zh
Application granted granted Critical
Publication of CN108886620B publication Critical patent/CN108886620B/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/15Processing image signals for colour aspects of image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/55Motion estimation with spatial constraints, e.g. at image or region borders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/563Motion estimation with padding, i.e. with filling of non-object values in an arbitrarily shaped picture block or region for estimation purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

提供一种方法,其包括:将未压缩构成帧编码成第一编码图像,所述编码还导致第一重建图像,并且所述构成帧具有所述第一重建图像内的有效图像区域;执行以下操作之一作为所述编码的一部分:在所述有效图像区域以外插入至少一个样本值,以形成所述第一重建图像中的所述构成帧的边界扩展;或者将所述有效图像区域以外的样本位置充满或叠起在所述有效图像区域内。还提供一种方法,其包括:接收编码图像;解码所述编码图像以形成具有有效图像区域的所述图像的重建构成帧;以及执行以下操作之一:填充所述有效图像区域以外的区域以产生填补参考图像,其中,所填充的区域形成边界扩展;或者确定当在解码中参考所述有效图像区域以外的样本位置时,所述样本位置被充满或叠起在所述有效图像区域内。

Description

用于视频编码和解码的装置、方法及计算机程序
技术领域
本发明涉及用于视频编码和解码的装置、方法及计算机程序。
背景技术
本部分旨在提供权利要求中所述的本发明的背景或上下文。在本文中的描述可以包括可追求的概念,但并非是先前已经构思或追求的概念。因此,除非在本文中另行指出,否则在本部分中描述的内容不是本申请中的说明书和权利要求的现有技术,并且不因包括在本部分中而被认为是现有技术。
视频编码系统可以包括将输入视频变换成适于存储/传输的压缩表示的编码器,以及可将压缩视频表示解压缩回可视形式的解码器。编码器可以丢弃原始视频序列中的一些信息,以便以更紧凑的形式来表示视频,例如,以使能采用比可能所需要的更低的比特率来存储/传输视频信息。
发明内容
一些实施例提供一种用于编码和解码视频信息的方法。在本发明的一些实施例中,提供一种用于视频编码的方法、装置及计算机程序产品。
根据第一方面,一种方法包括:
接收编码图像;
解码所述编码图像以形成具有有效图像区域的所述图像的重建构成帧;以及
执行以下操作之一:
填充所述有效图像区域以外的区域以产生填补参考图像,其中,所填充的区域形成边界扩展;或者
确定当在解码中参考所述有效图像区域以外的样本位置时,所述样本位置被充满或叠起在所述有效图像区域内。根据第二方面,一种装置包括至少一个处理器和至少一个存储器,所述至少一个存储器上存储有代码,所述代码在由所述至少一个处理器执行时使所述装置至少执行:
接收编码图像;
解码所述编码图像以形成具有有效图像区域的所述图像的重建构成帧;以及
执行以下操作之一:
填充所述有效图像区域以外的区域以产生填补参考图像,其中,所填充的区域形成边界扩展;或者
确定当在解码中参考所述有效图像区域以外的样本位置时,所述样本位置被充满或叠起在所述有效图像区域内。根据第三方面,一种计算机可读存储介质包括供装置使用的代码,所述代码在由处理器执行时使所述装置执行:
接收编码图像;
解码所述编码图像以形成具有有效图像区域的所述图像的重建构成帧;以及
执行以下操作之一:
填充所述有效图像区域以外的区域以产生填补参考图像,其中,所填充的区域形成边界扩展;或者
确定当在解码中参考所述有效图像区域以外的样本位置时,所述样本位置被充满或叠起在所述有效图像区域内。根据第四方面,一种装置,包括:
用于接收编码图像的装置;
用于解码所述编码图像以形成具有有效图像区域的所述图像的重建构成帧的装置;以及
用于执行以下操作之一的装置:
填充所述有效图像区域以外的区域以产生填补参考图像,其中,所填充的区域形成边界扩展;或者
确定当在解码中参考所述有效图像区域以外的样本位置时,所述样本位置被充满或叠起在所述有效图像区域内。根据第五方面,一种方法,包括:
获得具有有效图像区域的第一图像的构成帧以用于编码;
执行以下操作之一:
在所述构成帧的所述有效图像区域以外插入至少一个样本值,以形成所述构成帧的边界扩展;或者
将所述有效图像区域以外的样本位置充满或叠起在所述有效图像区域内。根据第六方面,一种装置包括至少一个处理器和至少一个存储器,所述至少一个存储器上存储有代码,所述代码在由所述至少一个处理器执行时使所述装置至少执行:
将未压缩构成帧编码成第一编码图像,所述编码还导致第一重建图像,并且所述构成帧具有所述第一重建图像内的有效图像区域;
执行以下操作之一作为所述编码的一部分:
在所述有效图像区域以外插入至少一个样本值,以形成所述第一重建图像中的所述构成帧的边界扩展;或者
将所述有效图像区域以外的样本位置充满或叠起在所述有效图像区域内。根据第七方面,一种计算机可读存储介质包括供装置使用的代码,所述代码在由处理器执行时使所述装置执行:
将未压缩构成帧编码成第一编码图像,所述编码还导致第一重建图像,并且所述构成帧具有所述第一重建图像内的有效图像区域;
执行以下操作之一作为所述编码的一部分:
在所述有效图像区域以外插入至少一个样本值,以形成所述第一重建图像中的所述构成帧的边界扩展;或者
将所述有效图像区域以外的样本位置充满或叠起在所述有效图像区域内。根据第八方面,一种装置,包括:
用于将未压缩构成帧编码成第一编码图像的装置,所述编码还导致第一重建图像,并且所述构成帧具有所述第一重建图像内的有效图像区域;
用于执行以下操作之一作为所述编码的一部分的装置:
在所述有效图像区域以外插入至少一个样本值,以形成所述第一重建图像中的所述构成帧的边界扩展;或者
将所述有效图像区域以外的样本位置充满或叠起在所述有效图像区域内。其它方面至少包括被布置为执行上述方法的装置以及存储在非暂时性存储介质上的计算机程序产品/代码。
附图说明
为了更好地理解本发明,现在将通过示例的方式参考附图,其中:
图1示意性地示出采用本发明的实施例的电子设备;
图2示意性地示出适用于采用本发明的实施例的用户设备;
图3进一步示意性地示出使用无线和有线网络连接连接的采用本发明的实施例的电子设备;
图4示意性地示出适用于实施本发明的实施例的编码器;
图5a示出根据实施例的候选运动向量预测器的空间候选源;
图5b示出根据实施例的候选运动向量预测器的时间候选源;
图6a示出关于次优处理的运动向量的问题;
图6b示出根据实施例的边界扩展的示例;
图6c示出根据实施例的候选运动向量预测器的空间候选源;
图6d示出根据实施例的候选运动向量预测器的时间候选源;
图7a示出根据实施例的对图像进行编码的流程图;
图7b示出根据实施例的对图像进行解码的流程图;
图8示出适用于实现本发明的实施例的解码器的示意图;
图9示出其中可实现各种实施例的示例性多媒体通信系统的示意图;
图10a至图10c示出根据实施例的金字塔映射。
具体实施方式
在下文中,将在一个视频编码布置的上下文中描述本发明的若干实施例。然而需指出,本发明不限于该特定布置。实际上,不同的实施例在需要改进不可伸缩、可伸缩和/或多视图视频编码的任何环境中具有广泛的应用。例如,本发明可以应用于视频编码系统,如流传输系统、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和任何类似的无线通信技术。实现本发明的各种实施例时所涉及的通信设备可以使用各种介质进行通信,包括但不限于无线电、红外线、激光、电缆连接和任何适合的连接。
视频编解码器包括编码器和解码器,编码器将输入视频转换成适合于存储/传输的压缩表示,解码器可以将压缩视频表示解压缩回可视形式。视频编码器和/或视频解码器也可以彼此分离,即不需要形成编解码器。通常,编码器丢弃原始视频序列中的一些信息,以便以更紧凑的形式(即,以更低的比特率)来表示视频。视频编码器可用于对图像序列进行编码,如随后所定义的,而视频解码器可用于对编码的图像序列进行解码。视频编码器或视频编码器的帧内编码部分或图像编码器可用于对图像进行编码,而视频解码器或视频解码器的帧间解码部分或图像解码器可用于对编码的图像进行解码。
一些混合视频编码器,例如ITU-T H.263和H.264的许多编码器实现,在两个阶段中对视频信息进行编码。首先,例如通过运动补偿装置(找到并指示与正被编码的块紧密对应的先前编码的视频帧之一中的区域)或通过空间装置(使用将以特定方式进行编码的块周围的像素值)预测某一图像区域(或“块”)中的像素值。其次,对预测误差(即预测像素块与原始像素块之间的差异)进行编码。这通常通过使用特定变换(例如,离散余弦变换(DCT)或其变形)对像素值中的差异进行变换,对系数进行量化以及对量化系数进行熵编码来实现。通过改变量化过程的保真度,编码器可以控制像素表示的精确度(图像质量)与所得到的编码的视频表示的大小(文件大小或传输比特率)之间的平衡。
在时间预测中,预测的源是先前解码的图像(也称为参考图像)。在帧内块复制(也称为帧内块复制预测)中,与时间预测类似地应用预测,但是参考图像是当前图像,并且在预测过程中只能参考先前解码的样本。可以与时间预测类似地应用层间或视图间预测,但是参考图像分别是来自另一可伸缩层或来自另一视图的解码图像。在一些情况下,帧间预测可仅指时间预测,而在其它情况下,帧间预测可统指时间预测以及帧内块复制、层间预测和视图间预测中的任一个,前提是它们是用与时间预测相同或类似的方法执行的。帧间预测或时间预测有时可称为运动补偿或运动补偿预测。
帧内预测利用了同一图像内的相邻像素可能相关的事实。帧内预测可以在空间或变换域中执行,即,可以预测样本值或变换系数。帧内预测通常在其中不应用帧间预测的帧内编码中使用。
在编码方案中可以存在不同类型的帧内预测模式,编码器可例如基于块或编码单元基础从中选择并指示所使用的模式。解码器可以对所指示的帧内预测模式进行解码并且相应地重建预测块。例如,若干各自用于不同的角度方向的角度帧内预测模式是可用的。角度帧内预测可被认为是沿着线性预测方向来推断相邻块的边界样本。附加地或替代地,平面预测模式可以是可用的。平面预测可被认为基本上形成预测块,其中,预测块的每个样本可被规定为当前块的左侧的相邻样本列中的垂直对齐样本和当前块的上方的相邻样本行中的水平对齐样本的平均值。附加地或替代地,DC预测模式可以是可用的,其中,预测块基本上是一个或多个相邻块的平均样本值。
编码过程的一个结果是一组编码参数,诸如运动向量和量化的变换系数。如果首先从空间或时间上相邻的参数预测大量参数,则可以更有效地对这些参数进行熵编码。例如,运动向量可以从空间相邻的运动向量进行预测,并且可以仅对相对于运动向量预测器的差进行编码。编码参数的预测和帧内预测可以统称为图像内预测。
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包括可伸缩、多视图和保真度范围扩展,其可以分别缩写为SHVC、MV-HEVC和REXT。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中,切片被定义为包含在一个独立的切片片段中的整数个编码树单元并且所有后续相关切片片段(如果有)位于同一访问单元内的下一个独立切片(如果有)之前。在HEVC中,切片片段被定义为在图块扫描中连续排序并包含在单个NAL单元中的整数个编码树单元。将每个图像划分成切片片段是分割。在HEVC中,独立的切片片段被定义为是这样的切片片段:对于该切片片段,不根据前一切片片段的值断定切片片段报头的语法元素的值,而相关切片片段被定义为是这样的切片片段:对于该切片片段,根据解码顺序中的前一独立切片片段的值断定切片片段报头的一些语法元素的值。在HEVC中,切片报头被定义为作为当前切片片段或者作为位于当前相关切片片段之前的独立切片片段的独立切片片段的切片片段报头,而切片片段报头被定义为编码的切片片段的一部分,其包含与切片片段中表示的第一或所有编码树单元有关的数据元素。以图块内或图像内(如果未使用图块)的LCU的光栅扫描顺序扫描CU。在LCU内,CU具有特定的扫描顺序。
在HEVC中,图块包含整数个编码树单元,并且可以由包含在多于一个的切片中的编码树单元组成。类似地,切片可以由包含在多于一个的图块中的编码树单元组成。在HEVC中,切片中的所有编码树单元属于相同的图块和/或图块中的所有编码树单元属于相同的切片。此外,在HEVC中,切片片段中的所有编码树单元属于相同的图块和/或图块中的所有编码树单元属于相同的切片片段。
运动受限图块集使得帧间预测过程在编码中受到约束,如此在运动受限图块集以外没有样本值,以及在使用运动受限图块集以外的一个或多个样本导出的部分(fractional)样本位置处没有样本值,这被用于运动受限图块集内的任何样本的帧间预测。
需要指出,在帧间预测中使用的样本位置被充满,使得在图像以外的位置也要以其它方式充满以指向图的对应边界样本。因此,如果图块边界也是图像边界,则运动向量可以有效地穿过该边界,或者运动向量可以有效地导致部分样本内插,其将指向该边界以外的位置,因为样本位置充满到边界上。
HEVC的时间运动受限图块集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。等于“0”的“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单元指示为以下类型之一:
在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单元的语法可以规定如下:
可能需要字节流中的字节流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单元的语法的示例。
在HEVC中,编码的视频序列(CVS)例如可被定义为一系列访问单元,这些访问单元按解码顺序包括“NoRaslOutputFlag”等于“1”的IRAP访问单元,随后是“零”个或多个访问单元,这些访问单元不是IRR访问单元并且“NoRaslOutputFlag”等于“1”,其中包括到“NoRaslOutputFlag”等于“1”的IRAP访问单元之前的所有后续访问单元,但不包括作为“NoRaslOutputFlag”等于“1”的IRAP访问单元的任何后续访问单元。IRAP访问单元可被定义为其中基础层图像是IRAP图像的访问单元。“NoRaslOutputFlag”的值对于每个IDR图像、每个BLA图像以及每个IRAP图像等于“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”时,“NoRaslOutputFlag”的值对于每个IRAP图像等于“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色域。
-查看可伸缩性,也可被称为多视图编码。基础层表示第一视图,而增强层表示第二视图。
-深度可伸缩性,其也可被称为深度增强编码。比特流的一个层或一些层可以表示纹理视图,而其它一个或多个层可以表示深度视图。
-感兴趣区域可扩展性(如下所述)。
-交织到渐进可伸缩性(也被称为段到帧(field-to-frame)可伸缩性):基础层的编码的交织源内容材料通过增强层增强以表示渐进源内容。
-混合编解码器可伸缩性(也被称为编码标准可伸缩性):在混合编解码器可伸缩性中,基础层和增强层的比特流语法、语义和解码过程在不同的视频编码标准中规定。因此,基础层图像根据与增强层图像不同的编码标准或格式来编码。例如,基础层可以用H.264/AVC编码,增强层可以用HEVC多层扩展编码。
应当理解,许多可伸缩性类型可以组合并一起应用。例如,可以组合色域可伸缩性和位深可伸缩性。
术语“层”可以在任何类型的可伸缩性的上下文中使用,包括视图可伸缩性和深度增强。增强层可以指示任何类型的增强,诸如SNR、空间、多视图、深度、位深、色度格式和/或色域增强。基础层可以指示任何类型的基础视频序列,诸如基础视图、SNR/空间可伸缩性的基础层,或深度增强视频编码的纹理基础视图。
目前正在研究和开发用于提供三维(3D)视频内容的各种技术。可以认为在立体视频或双视图视频中,为左眼呈现一个视频序列或视图,而为右眼呈现平行的视图。对于能够进行视点切换的应用或对于同时呈现大量视图并且让观看者从不同视点观看内容的自动立体显示器,可能需要两个以上的平行视图。
“视图”可被定义为表示一个相机或视点的图像序列。表示视图的图像也可以称作视图分量。换句话说,视图分量可被定义为单个访问单元中的视图的编码表示。在多视图视频编码中,多于一个的视图在比特流中进行编码。由于视图通常旨在被显示在立体或多视图自动立体显示器上或者被用于其它3D布置,因此它们通常表示相同的场景,并且它们在内容方面部分重叠,尽管表示对内容的不同视点。因此,可以在多视图视频编码中使用视图间预测以利用视图间相关性并提高压缩效率。实现视图间预测的一种方式是将一个或多个其它视图的一个或多个解码图像包括在驻留在第一视图内的正被编码或解码的图的参考图像列表中。视图可伸缩性可以指这种多视图视频编码或多视图视频比特流,其使得能够移除或省略一个或多个编码视图,而所得到的比特流保持一致性并且表示具有比原始更少的视图数量的视频。感兴趣区域(ROI)编码可被定义为是指以更高保真度对视频内的特定区域进行编码。
ROI可伸缩性可被定义为这样一种可伸缩性:其中增强层仅增强参考层图像的一部分,例如,在空间上、在质量方面、在位深方面和/或沿着其它可伸缩性维度增强。由于ROI可伸缩性可以与其它类型的可伸缩性一起使用,因此可以考虑形成可伸缩性类型的不同分类。对于具有不同要求的ROI编码存在若干不同的应用,这可以通过使用ROI可伸缩性来实现。例如,可以发送增强层以增强基础层中的区域的质量和/或分辨率。接收增强和基础层比特流的解码器可以同时解码这两个层并将解码图叠加在彼此之上并显示最终图像。
可以推断参考层图像和增强层图像的空间对应关系,或者可以用一种或多种类型的所谓参考层位置偏移来指示参考层图像和增强层图像的空间对应关系。在HEVC中,参考层位置偏移可以由编码器包括在PPS中并且由解码器从PPS解码。参考层位置偏移可用于但不限于实现ROI可伸缩性。参考层位置偏移可以包括伸缩的参考层偏移、参考区域偏移和重采样相位集中的一个或多个。伸缩的参考层偏移可被视为指定当前图像中的与参考层中的解码图像中的参考区域的左上亮度样本并置的样本之间的水平和垂直偏移,以及当前图像中的与参考层中的解码图像中的参考区域的右下亮度样本并置的样本之间的水平和垂直偏移。另一种方式是考虑伸缩的参考层偏移指定上采样的参考区域的角样本相对于增强层图像的相应角样本的位置。伸缩的参考层偏移值可被签名并且通常被允许等于“0”。参考区域偏移可被视为指定参考层中的解码图像中的参考区域的左上亮度样本与相同解码图像的左上亮度样本之间的水平和垂直偏移以及参考层中的解码图像中的参考区域的右下亮度样本与相同解码图像的右下亮度样本之间的水平和垂直偏移。参考区域偏移可被签名并且通常被允许等于“0”。重采样相位集可被视为指定在层间预测的源图像的重采样过程中使用的相位偏移。可以针对亮度和色度分量提供不同的相位偏移。
帧封装可被定义为包括将可称为(输入)构成帧的多于一个的输入图像布置成输出图像。通常,帧封装不限于任何特定类型的构成帧,或者构成帧不需要彼此具有特定关系。在许多情况下,帧封装被用于将立体视频剪辑片段(clip)的构成帧布置成单个图像序列,如下一段中更详细地解释的。该布置可以包括将输入图像放置在输出图像内的空间非重叠区域中。例如,在并排布置中,两个输入图像被彼此水平相邻地放置在输出图像内。该布置还可以包括将一个或多个输入图像分割成两个或更多个构成帧分割,以及将构成帧分割放置在输出图像内的空间非重叠区域中。输出图像或帧封装的输出图像的序列可以例如通过视频编码器被编码成比特流。比特流可以例如通过视频解码器进行解码。解码之后,解码器或后处理操作可以从解码图像中提取所解码的构成帧,例如以用于显示。
在帧兼容立体视频(也被称为立体视频的帧封装)中,在编码器侧执行将立体对空间封装到单个帧中,作为编码的预处理步骤,然后使用传统的2D视频编码方案对帧封装的帧进行编码。由解码器产生的输出帧包含立体对的构成帧。
在典型的操作模式中,每个视图的原始帧和封装的单个帧的空间分辨率具有相同的分辨率。在这种情况下,编码器在封装操作之前对立体视频的两个视图进行下采样。空间封装例如可以使用并排(side-by-side)或上下(top-bottom)格式,并且应当相应地执行下采样。
例如,由于以下原因,帧封装可优于多视图视频编码(例如,H.264/AVC的MVC扩展或H.265/HEVC的MV-HEVC扩展):
-后期制作工作流程可针对单个视频信号进行定制。一些后期制作工具可能无法处理两个单独的图像序列和/或可能无法使单独的图像序列保持彼此同步。
-分发系统,例如传输协议,可能仅支持单个编码序列和/或可能无法使单独的编码序列彼此同步和/或可能需要更多缓冲或延迟来使单独的编码序列保持彼此同步。
-利用多视图视频编码工具对比特流进行解码可能需要支持播放器中不可用的特定的编码模式。例如,许多智能电话支持H.265/HEVC主配置文件解码,但无法处理H.265/HEVC多视图主配置文件解码,即使它与主配置文件相比只需要高级添加。
用于将水平覆盖360度视场和垂直覆盖180度视场(因此表示球形)的全景图像映射到矩形二维图像平面的特定投影被称为等矩形投影。在这种情况下,水平坐标可以被认为等同于经度,而垂直坐标可以被认为等同于纬度,不应用任何变换或伸缩。在某些情况下,具有360度水平视场但小于180度垂直视场的全景内容可被视为等矩形投影的特殊情况,其中球形的极区未被映射到二维图像平面上。在某些情况下,全景可具有小于360度的水平视场和高达180度的垂直视场,同时以其它方式具有等矩形投影格式的特性。
在立方体映射(cubemap)投影格式中,将球形视频投影到立方体的六个面(也被称为侧面)上。可以通过以下方式生成立方体映射:例如首先从视点渲染球形场景六次,其中视图由表示每个立方体面的90度视锥来定义。立方体侧面可以帧封装到相同的帧中,或者每个立方体侧面可以单独处理(例如,在编码中)。可能有许多可能的顺序来将立方体侧面定位到帧上和/或立方体侧面可以旋转或镜像。可以选择用于帧封装的帧宽度和高度以“紧密地”适合立方体侧面,例如在3x 2立方体侧网格处,或者可以包括未使用的构成帧,例如在4x 3立方体侧网格处。
被称为帧内块复制(IBC)的编码工具或模式与帧间预测类似,但是使用正被编码或解码的当前图像作为参考图像。显然,只有在正被编码或解码的当前块之前被编码或解码的块可被用作用于预测的参考。HEVC的屏幕内容编码(SCC)扩展计划包括IBC。
HEVC SCC中的IBC仅用于样本预测。在HEVC SCC规范文本中明确禁止使用当前图像作为针对TMVP的并置图像。
帧间预测过程可涉及至少针对(但不必限于)以下两个原因而参考图像边界以外的样本位置。首先,运动向量可指向图像边界以外的预测块,其次,运动向量可指向非整数样本位置,对于该非整数样本位置,使用从图像边界以外的位置获取输入样本的滤波来内插样本值。
在诸如H.263、H.264/AVC和H.265/HEVC的若干视频编码标准中,运动向量被允许指向图像边界以外的区域以用于获得预测块,并且部分样本内插可以使用样本图像边界以外的样本位置。为了获得图像边界以外的样本(作为预测过程的一部分),可以有效地复制图像边界的相应样本。这在图5a中示出。在图5a和图5b中,虚线矩形示出了参考图像的样本阵列,而用不断线表示的正方形示出了样本阵列的样本。在这些正方形中,上方的标记指示所讨论的样本的位置的x坐标,下方的标记指示所讨论的样本的位置的y坐标。
图5a示出了在帧间预测过程中对参考图像边界以外的样本的处理的示例,其中,边界样本被复制到图像边界以外的区域。
在帧间预测过程中支持图像边界以外的样本位置的机制可以以多种方式来实现。一种方式是分配大于解码图像大小的样本阵列,即在图像的顶部、底部、右侧和左侧具有边缘(margin)。除了或者替代使用这种边缘,用于预测的样本的位置(作为用于预测块的部分样本内插的输入或者作为预测块本身中的样本)可被充满,使得该位置不超过图像边界(具有边缘,如果使用这样的边缘)。一些视频编码标准以这种方式描述了对图像边界上的运动向量的支持。
例如,在HEVC中使用以下公式来导出在用于部分样本内插的(参考图像的)亮度样本的给定阵列refPicLXL内的位置(xAi,j,yAi,j),以用于生成(中间)预测块:
xAi,j=Clip3(0,pic_width_in_luma_samples-1,xlntL+i)
yAi,j=Clip3(0,pic_height_in_luma_samples-1,ylntL+j)
其中,(xlntL,ylntL)是全样本单元中的亮度位置;i和j是内插滤波器窗口内的相对位置;pic_width_in_luma_samples是亮度样本中的图像宽度;pic_height_in_luma_samples是亮度样本中的图像高度;而Clip3()被规定如下:
可以观察到,如果样本位置具有负坐标(在Clip3操作之前),则它被用Clip3操作充满为“0”。类似地,如果样本位置具有大于宽度(对于水平位置)或高度(对于垂直位置)的坐标,则它分别被充满为“宽度-1”或“高度-1”。
还存在类似的用于将色度样本位置充满在用于色度分量的帧间预测的部分样本内插中的色度样本阵列边界内的公式。
在360度全景视频中,当在预测过程中需要水平位于图像边界以外的样本时,可以使用来自图像的相对侧的样本值而不是使用边界样本。这在图5b中示出,其示出了根据实施例的全景视频编码中对图像边界上的运动向量的处理。
对图像边界以外的像素的这样的处理可通过将参考图像扩展为与编码图像相比更大(在宽度和/或高度方面)来进行处理。如下所述的替代实现也是可能的。
在图5b的示例中,可以看出水平样本位置可以在帧间预测过程中被叠起以用于被参考的样本。例如,参考图像边界的左面的相邻列(x=-l)可参考参考图像的最右列(x=w-1)的样本值,更远离左面的下一列(x=-2)可参考参考图像的第二最右列(x=w-2)的样本值,等等。换句话说,不是将“负”水平位置充满到“0”并且将大于“宽度-1”的水平样本位置充满到“宽度-1”(即图像的最右边样本列的水平样本位置),而是可叠起图像边界以外的被参考的水平样本位置,即,叠起大于“宽度-1”的水平样本位置,使得它们可参考在图像的左侧的样本列。反之亦然,叠起小于“0”的水平样本位置,使得它们参考图像的右侧的样本列。
因此,函数Wrap()可被规定如下:
当参考以上针对HEVC中的部分亮度样本内插的公式时,可以使用以下公式:
xAi,j=Wrap(0,pic_width_in_luma_samples-1,xlntL+i)
而不是公式:
xAi,j=Clip3(0,pic_width_in_luma_samples-1,xlntL+i)
有效图像区域可被定义为包含有用于显示的解码样本的解码图像内的图像区域或样本集或样本位置。有效图像区域以外的区域可能不能用于显示,但可存在以用于例如使图像宽度或高度与在编码中使用的块网格相匹配。
例如,由于以下原因,帧封装在压缩性能(也称为速率失真性能)方面可能不如多视图视频编码。在帧封装中,在视图之间不支持视图间样本预测和视图间运动预测。此外,在帧封装中,可以次优地处理指向构成帧的边界以外(到另一个构成帧)或者导致使用构成帧的边界以外(在另一个构成帧内)的样本的子像素内插的运动向量。在传统的多视图视频编码中,在帧间预测和子像素内插中使用的样本位置可被充满到图像边界内,或者可等效地用边界样本值来填补重建图像中的图像边界以外的区域。
图6a示出了关于次优处理的运动向量的问题。在该示例中,帧#N+1的构成帧#1601中的第二块行的最右边的块604已经从帧#N中的构成帧#1的区域以外的一部分区域(这在图6a中用框603示出)移出。箭头605示出了可能是次优的,或者在具有并行解码能力的比特流的情况下可能不被允许的帧间预测的示例。在非帧封装编码中,如上所述,可以通过填补在帧间预测中处理图像边界以外的区域,这相当于将在帧间预测或部分样本内插中使用的样本位置充满到图像边界内。在帧封装视频编码中,这种填补或样本位置充满不可用,因此靠近构成帧之间的边界的压缩性能可能比在非帧封装的多视图视频编码中更差。
下面描述用于扩展一个或多个构成帧的边界,或者用于将在帧间预测过程中使用的样本位置充满在构成帧的边界内的实施例。如下面进一步详细描述的,以下诸如扩展构成帧的边界或者进行填补的短语可以指例如通过复制边界像素,或者通过从有效图像的相对侧复制表示360度全景内容的有效图像区域的信号来对构成帧的有效图像区域的信号进行推断。
图6b示出了根据实施例的边界扩展的示例。在图6b中,构成帧#1 601通过一个块列606向右扩展,而构成帧#2 602通过一个块列607向左扩展(例如,HEVC中的CTU列),虽然在更通用的情况下只有构成帧的子集可以具有边界扩展。边界扩展606、607内的样本例如可以包含相应的构成帧的有效图像区域的边界样本值。箭头608示出了在构成帧#1 601的有效图像区域上用运动向量进行帧间预测的示例。
下面针对编码和/或解码边界扩展区域的一些方法给出实施例。
编码器可获得用于编码的一个或多个图像(图7a的流程图中的框71)。根据实施例,编码器可以决定(框72)在编码(框74)之前布置(框73)未压缩图像以包含期望用于边界扩展的块行和/或块列,或者在编码期间(框75)将用于边界扩展的块行和/或块列包括到编码图像中。根据实施例,通过帧内预测、帧内块复制预测或帧间预测在框75中形成边界扩展,如下面进一步详细解释的。根据另一实施例,边界扩展在框75中通过参考帧填补而形成,如下面进一步详细解释的。
相应地,解码器可接收一个或多个编码图像以用于解码(图7b的流程图中的框81)。根据实施例,解码器对这些图像进行解码以获得重建帧(框82),并且执行帧填补以填充有效图像区域以外的区域,以产生填补参考图像(如果需要)(框83)。
在实施例中,将构成帧向右扩展(例如,图6b中的构成帧#1 601的边界扩展606)的块列被用水平帧内预测进行编码。在实施例中,编码器可以选择对边界扩展进行编码而不进行预测误差编码。在另一个实施例中,编码器总是对边界扩展进行编码而不进行预测误差编码。
在实施例中,将构成帧扩展到(例如,上下帧封装布置中的构成帧#1的边界扩展)下方的块行被用垂直帧内预测进行编码。编码器可以选择对边界扩展进行编码而不进行预测误差编码。在另一个实施例中,编码器总是对边界扩展进行编码而不进行预测误差编码。
在实施例中,编码器在比特流中指示预测误差编码块不存在或包含零值预测误差。在实施例中,编码器推断对于边界扩展不包括任何预测误差,并且省略将与任何预测误差有关的用于边界扩展的语法元素编码成比特流。在实施例中,解码器断定哪些块属于边界扩展并且省略对与任何预测误差有关的用于边界扩展的语法元素向比特流的解码。
在可以与其它实施例一起或独立地应用的实施例中,表示第一视图的第一构成帧和表示相同多视图(例如,立体)内容的第二视图的第二构成帧被帧封装。在编码中使能从第一构成帧到第二构成帧的帧内块复制预测,但在编码中不使能从第二构成帧到第一构成帧的帧内块复制预测。因此,通过在不同视图的构成帧之间应用帧内块复制预测,基本上实现了视图间预测。因此,与无需帧内块复制预测的帧封装多视图内容的编码相比,压缩效率被改进。
在实施例中,(例如,通过编码器)指示仅以如下的约束方式在第二构成帧内应用帧内块复制预测。对于第二构成帧的每个块(在此被称为正被编码/解码的块),编码被约束如下。在下文中,使并置块是与正被编码/解码的块并置的第一构成帧中的块,其中,并置可被定义为相对于包含构成帧的左上角具有相同的相对水平和垂直坐标的特性,或者具有例如以编码树单元为单位的与垂直和/或水平偏移相加的相同坐标的特性。偏移可以由编码器在比特流中指示和/或由解码器从比特流解码。在块扫描顺序中,第一构成帧中的并置块之后的块的样本值被用于帧内块复制预测。
在实施例中,例如通过应用程序编程接口(API)等使编码器知道构成帧之间的最大垂直和/或水平视差(disparity),或者编码器分析源内容以发现构成帧之间的最大垂直和/或水平视差,或者编码器作出构成帧之间的最大垂直和/或水平视差的假设。编码器根据最大垂直和/或水平视差来限制帧间块复制预测的搜索范围。例如,可以假设最大垂直视差为“0”,因此搜索范围被限制于在与当前块相同的行上。
在可与描述使用帧内块复制预测来实现帧封装多视图内容的视图间预测的上述实施例一起或独立地使用的实施例中,将构成帧向右扩展的块列(例如,图6b中的构成帧#1601的边界扩展606)用来自该构成帧的最左块列的帧内块复制预测进行编码。编码器可以确定对边界扩展块列进行编码而不进行预测误差编码。这种操作模式适合于360度全景(例如,等矩形全景)的构成帧,因为由于通过帧内块复制预测来应用边界扩展,所以信号在有效图像边界上保持连续。该实施例也可以在其中在图像中存在单个构成帧的情况下,即具有单像全景编码的情况下使用。
在实施例中,将构成帧向左扩展的块列(例如,图6b中的构成帧#2 602的边界扩展607)用来自该图像中的另一构成帧的帧内块复制预测进行编码。在实施例中,将构成帧扩展到上方的块行(例如,上下帧封装布置中的构成帧#2 602的边界扩展607)用来自该图像中的另一构成帧的帧内块复制预测进行编码。这两个实施例可被视为应用视图间预测以填充边界区域,这在通过IBC预测复制到边界扩展中的样本的视差或距离稳定并且与有效图像区域的边界样本的视差或距离匹配时,可以是有效的。
在实施例中,边界扩展中的块是帧间预测的。这在移动使得在解码顺序中前一图像包含用于边界扩展的合适样本时,例如在相机以合适的方式平移时或者当相机和图像内容已经静止时,可以是有效的,因此前一图像的边界扩展也可用作当前图像的边界扩展。
在实施例中,编码器例如在PPS、SPS、VPS、SEI消息或VUI中指示构成帧的有效图像区域。在实施例中,解码器解码构成帧的有效图像区域的指示。在实施例中,作为解码图像在被解码器输出之前被应用于这些解码图像的输出裁剪过程的一部分,解码器裁剪这些解码图像以不包括有效图像区域以外的区域。在实施例中,解码器输出构成帧的有效图像区域的解码指示。在实施例中,解码器或显示处理在显示过程中仅使用构成帧的有效图像区域,而不包括来自显示过程的边界扩展。
在实施例中,文件生成器等在容器文件中指示构成帧的有效图像区域。在实施例中,文件解析器等从容器文件中解码构成帧的有效图像区域的指示。在实施例中,文件解析器等在显示解码图像之前裁剪解码图像以不包括有效图像区域以外的区域。在实施例中,显示处理在显示过程中仅使用构成帧的有效图像区域,而不包括来自显示过程的边界扩展。
在另一个示例性实施例中,边界扩展块首先被编码并且通常被重建为中间参考帧,但是可以包含任何样本值。类似地,边界扩展块首先通常被解码为中间参考帧。然后修改中间参考系的边界扩展。例如,有效图像区域的边界样本的重建样本值可用于填充边界扩展内的相同样本行中的样本。如果构成帧表示360度全景图像,则可以使用在有效图像区域的相对侧处的重建样本来填充边界扩展中的样本。例如,边界扩展中的样本可以通过在样本行的基础上从有效图像区域的相对侧复制解码样本来填充:有效图像区域以外的第一样本(在边界扩展中)被从相对侧的有效图像区域内的第一样本复制,而有效图像区域以外的第二样本被从相对侧的有效图像区域内的第二样本复制,依此类推。用于所述复制的源区域可被称为边界区域。例如,当边界扩展位于有效图像区域的右边时,可以通过从有效图像区域的最左边样本列复制解码样本来填充边界扩展的最左边样本列,边界扩展内左起第二样本列可以通过从有效图像区域内左起第二样本列复制解码样本来填充,依此类推。
在关于环内参考帧填补的实施例中,编码器例如在诸如PPS或SPS的参数集中指示构成帧的有效图像区域。在实施例中,解码器对指示进行解码并相应地断定边界扩展。
在实施例中,编码器例如在PPS或SPS中基于边界扩展或构成帧,指示哪种方法用于填充中间参考帧的边界扩展。在实施例中,解码器对指示进行解码并使用所指示的方法来填充中间参考帧的边界扩展。在实施例中,当构成帧被指示为360度全景图像时,解码器断定填充中间参考帧的边界扩展的方法,例如使用来自有效图像区域的相对侧的复制,否则使用边界样本复制。
在将被编码的图像至少包括第一构成帧和第二构成帧时可应用的实施例中,编码器选择或被配置为使用图块分割,以使得第一图块集完全覆盖第一构成帧及其边界扩展并且不包括任何来自第二构成帧的数据,而第二图块集完全覆盖第二构成帧及其边界扩展并且不包括任何来自第一构成帧的数据。
在实施例中,编码器将第一图块集编码为运动受限图块集,并将第二图块集编码为另一运动受限图块集。编码器可以指示第一和第二图块集的编码已经例如用SEI消息(诸如HEVC的时间运动受限图块集SEI消息)以运动受限的方式执行。
在实施例中,解码器、播放器等解码例如来自诸如HEVC的时间运动受限图块集SEI消息的SEI消息的第一和第二图块集的编码已经以运动受限的方式执行的指示。在实施例中,解码器、播放器等基于所解码的指示来确定用第一解码器实例(例如,第一解码过程)解码第一图块集,并且用第二解码器实例(例如,第二解码过程)解码第二图块集。
在实施例中,编码器将第一图块集编码为运动受限图块集。在实施例中,编码器将第二图块集编码为运动受限图块集,除了当在帧内块复制预测等中参考当前图像时(如在另一个实施例中所述)。在实施例中,编码器在比特流中例如在SEI消息中指示运动受限图块集已经被用于编码,如在本段中所述。
在实施例中,解码器、播放器等解码例如来自诸如HEVC的时间运动受限图块集SEI消息的SEI消息的第一和第二图块集的编码已经以运动受限的方式执行的指示,除了当在帧内块复制预测等中参考当前图像时(如在另一个实施例中所述)。在实施例中,解码器、播放器等基于所解码的指示来确定用第一解码器实例(例如,第一解码过程)解码第一图块集,并且用第二解码器实例(例如,第二解码过程)解码第二图块集。第一解码器实例被配置为在第二解码器实例解码相同图像的第二图块集之前解码第一图块集。然而,第一解码器实例可以按解码顺序解码后续图像(在当前图像之后)的第一图块集,而第二解码器实例解码当前图像的第二图块集。
在关于构成帧边界上的样本位置的充满或叠起的示例性实施例中,构成帧可以“背对背(back-to-back)”封装,即,在它们之间没有边界扩展区域。获得用于帧间预测的样本的过程可以采用不使用构成帧区域以外的样本位置的方式进行修改。
编码器例如在诸如PPS或SPS的参数集中指示构成帧的图像区域。在实施例中,解码器对指示进行解码。在下文中,假设构成帧的左上角具有亮度样本坐标“leftCF,topCF”,而右下角具有亮度样本坐标“rightCF,bottomCF”。
在实施例中,编码器例如在PPS或SPS中例如基于构成帧来指示构成帧边界以外的样本位置被充满或者被叠起。在实施例中,解码器对指示进行解码并在帧间预测中使用所指示的方法。在实施例中,当构成帧被指示为360度全景图像时,解码器断定该方法,例如使用叠起,否则使用充满。
编码器和/或解码器可以使用以下公式来叠起样本位置:
xAi,j=Wrap(leftCF,rightCF,xIntL+i)
编码器和/或解码器可以使用以下公式将样本位置充满到构成帧边界内:
xAi,j=Clip3(leftCF,rightCF,xIntL+i)
类似的公式或过程可应用于垂直方向。
在下文中,根据实施例将提供关于编码器和解码器中的环内参考帧填补的更多细节。
图4示出了适用于采用本发明的实施例的视频编码器的框图。图4示出了用于两层的编码器,但是应当理解,所示出的编码器可以类似地简化为仅编码一层或者扩展为编码多于两层。图4示出了视频编码器的实施例,其包括用于基础层的第一编码器部分500和用于增强层的第二编码器部分502。第一编码器部分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和参考帧填补单元315、415。参考帧填补单元315、415可以根据一个或多个不同的实施例来填充有效图像区域以外的区域以产生填补参考图像。填补参考图像可被传递到滤波器316、416。接收填补参考图像的滤波器316、416可以对填补参考图像进行滤波并输出可以保存在参考帧存储器318、418中的最终重建图像340、440。参考帧存储器318可以连接到帧间预测器306以用作在帧间预测操作中与未来的基础层图像300进行比较的参考图像。根据一些实施例,在选择基础层并且将其指示为用于增强层的层间样本预测和/或层间运动信息预测的源的情况下,参考帧存储器318还可以连接到帧间预测器406以用作在帧间预测操作中与未来的增强层图像400进行比较的参考图像。此外,参考帧存储器418可以连接到帧间预测器406以用作在帧间预测操作中与未来的增强层图像400进行比较的参考图像。
需要理解,参考帧填补单元315、415可以对不同的单元进行操作,这可以是例如在编码标准中预先确定的,或者可以由编码器在比特流中进行指示。在实施例中,参考帧填补单元315、415将整个初步重建图像314、414作为输入。在另一个实施例中,参考帧填补单元315、415将初步重建构成帧作为输入,因此可以按每个初步重建图像被调用多次(取决于其包围的构成帧的数量)。当调用以初步重建构成帧作为输入的参考帧填补单元315、415时,当使用从该构成帧到相同图像的另一构成帧的帧内块复制预测时,该构成帧的扩展边界可能是具有优势的。在又一个实施例中,参考帧填补单元315、415采用初步重建块、初步重建块的边界样本行(当垂直扩展边界时)、或者初步重建块的边界样本列(当水平扩展边界时)作为输入。例如当使用从该构成帧到相同图像的另一构成帧的帧内块复制预测时,该实施例可能是具有优势的。
需要理解,在不同的实施例中,像素预测器可被布置为以不同的方式执行一系列滤波和填补。例如,像素预测器可以以相反的顺序来执行参考帧填补和滤波,即,在参考帧填补之前进行滤波。作为另一个示例,像素预测器可以在两个阶段中执行滤波,诸如样本自适应偏移滤波和去块滤波,其中第一阶段在参考帧填补之前发生而第二阶段在参考帧填补之后发生。需指出,这些是非限制性示例,并且像素预测器可以以另一种方式执行滤波。
根据一些实施例,在选择基础层并且将其指示为用于预测增强层的滤波参数的源的情况下,可以将来自第一编码器部分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插入比特流。
图8示出了适合采用本发明的实施例的视频解码器的框图。图8示出了双层解码器的结构,但是应当理解,解码操作可以类似地用在单层解码器中。
视频解码器550包括用于基本视图分量的第一解码器部分552和用于非基本视图分量的第二解码器部分554。框556示出了解复用器,用于将有关基本视图分量的信息传送到第一解码器部分552,以及用于将有关非基本视图分量的信息传送到第二解码器部分554。参考标号P'n代表图像块的预测表示。参考标号D'n代表重建预测误差信号。框704、804示出了初步重建图像(I'n)。参考标号R'n代表最终重建图像。块703、803示出了逆变换(T-1)。框702、802示出了逆量化(Q-1)。框700、800示出了熵解码(E-1)。框706、806示出了参考帧存储器(RFM)。框707、807示出了预测(P)(帧间预测或帧内预测)。框708、808示出了滤波(F)。框709、809可用于将解码的预测误差信息与预测的基本视图/非基本视图分量组合以获得初步重建图像(I'n)。可以从第一解码器部分552输出710初步重建和滤波的基本视图图像,可以从第二解码器部分554输出810初步重建和滤波的基本视图图像。
在此,解码器应当被解释为覆盖能够执行解码操作的任何操作单元,诸如播放器、接收器、网关、解复用器和/或解码器。
熵解码器700、800对所接收的信号执行熵解码。因此,熵解码器700、800执行上述编码器330、430的熵编码器的逆操作。熵解码器700、800将熵解码的结果输出到预测误差解码器701、801和像素预测器704、804。
像素预测器704、804接收熵解码器700、800的输出。熵解码器700、800的输出可以包括关于在编码当前块中使用的预测模式的指示。预测器707、807可以执行由指示所确定的帧内或帧间预测,并将图像块的预测表示输出到第一组合器709、809。将图像块的预测表示与重建预测误差信号结合使用以生成初步重建图像。初步重建图像可以用在预测器中,或者可被传递到参考帧填补单元711、811。参考帧填补单元711、811可以根据不同的实施例填充有效图像区域以外的区域以产生填补参考图像。填补参考图像可被传递到过滤器708、808。滤波器708、808可以应用滤波,其输出最终重建信号。最终重建信号可被存储在参考帧存储器706、806中。参考帧存储器706、806还可被连接到预测器707、807以用于预测操作。
需要理解,参考帧填补单元711、811可以对不同的单元进行操作,这可以是例如在编码标准中预先确定的,或者可以由解码器从比特流中解码。在实施例中,参考帧填补单元711、811将整个初步重建图像作为输入。在另一个实施例中,参考帧填补单元711、811将初步重建构成帧作为输入,因此可以按每个初步重建图像被调用多次(取决于其包围的构成帧的数量)。在又一个实施例中,参考帧填补单元711、811采用初步重建块、初步重建块的边界样本行(当垂直扩展边界时)、或初步重建块的边界样本列(当水平扩展边界时)作为输入。
需要理解,在不同的实施例中,像素预测器704、804可被布置为以不同的方式执行一系列滤波和填补。例如,像素预测器704、804可以以相反的顺序来执行参考帧填补和滤波,即,在参考帧填补之前进行滤波。作为另一个示例,像素预测器704、804可以在两个阶段中执行滤波,诸如样本自适应偏移滤波和去块滤波,其中第一阶段在参考帧填补之前发生而第二阶段在参考帧填补之后发生。需指出,这些是非限制性示例,并且像素预测器704、804可以以另一种方式执行滤波。
最终重建信号也可被传递到输出裁剪器712、812,其可以执行以下中的任一个或两者(但不限于此)。输出裁剪器712、812可以根据所指示的有效图像区域或裁剪窗口等来裁剪最终重建图像。输出裁剪器712、812可以将有效图像区域以外的样本值(在边界扩展中)设置为预定义值(例如,表示黑色)。
输出裁剪器712、812可以给出输出图像作为输出。输出裁剪器712、812还可以指示有效图像区域以及输出图像。
预测误差解码器701、801接收熵解码器700、800的输出。预测误差解码器的去量化器702、802可以对熵解码器的输出进行去量化,并且逆变换块703、803可以对去量化器702、802输出的去量化信号执行逆变换操作。预测误差解码器701、801可以替代地或附加地包括变换旁路解码器,其中,在不涉及逆变换操作而是例如用差分样本值解码对样本值进行解码。熵解码器700、800的输出还可以指示不应用预测误差信号,并且在这种情况下预测误差解码器701、801可以产生全零输出信号。
在下文中,将提供对编码器中的滤波器的可能修改的一些示例。
当确定滤波器参数值时,编码器可以包括在有效图像区域内的样本以用于考虑,而不包括有效图像区域以外的样本以用于考虑。例如,可以通过仅考虑有效图像区域内的样本值来导出SAO参数值。
为了处理边界扩展区域中的块,编码器可以执行以下操作中的一个或多个。编码器可以省略有效图像区域以外的块的编码。在本文中,块例如可以是编码树单元和/或编码单元。可以不使能使用有效图像区域以外的块的样本的帧内预测和滤波。编码器可以基于有效图像区域来确定块分割。可以确定完全在有效图像区域以外的块未被分割。编码器可以基于有效图像区域来选择模式。可以确定完全在有效图像区域以外的块被用特定模式编码,这可以基于它提供小比特率而被预先确定。例如,编码器可以选择最可能的帧内模式(如由熵编码器所确定的)。编码器还可以省略完全在有效图像区域以外的块的预测误差编码。编码器可以指示在完全在有效图像区域以外的块的比特流中不存在预测误差。
相应地,解码器可以执行以下操作中的一个或多个。解码器可以省略对有效图像区域以外的块的解码。在本文中,块例如可以是编码树单元和/或编码单元。在一些情况下,在有效图像区域以外的块的比特流中不存在语法元素,并且解码器跟踪下一编码数据对应的块位置。在一些情况下,在有效图像区域以外的块使用与完全或部分在有效图像区域内的块相同的语法,并且解码器可以对这些块进行熵解码但省略用于这些块的预测误差解码和像素预测。解码器可以不使能使用有效图像区域以外的块的样本的帧内预测和滤波。解码器可以基于有效图像区域来确定块分割。可以确定完全在有效图像区域以外的块未被分割。在一些情况下,在完全在有效图像区域以外的块的比特流中不存在不存在语法元素。解码器可以基于有效图像区域来选择模式。可以确定完全在有效图像区域以外的块被用特定模式解码,这例如可以在编码标准中预先确定。例如,解码器可以选择最可能的帧内模式(如由熵编码器所确定的)。解码器可以省略完全在有效图像区域以外的块的预测误差解码。在一些情况下,在完全在有效图像区域以外的预测误差块的比特流中不存在语法元素。
以下将H.265/HEVC的运动向量预测描述为其中可应用多个实施例的系统或方法的示例。
H.265/HEVC包括两个运动向量预测方案,即高级运动向量预测(AMVP)和合并(merge)模式。在AMVP或合并模式中,为PU导出运动向量候选列表。存在两种候选:空间候选和时间候选,其中,时间候选也可被称为TMVP候选。候选运动向量预测器的源在图6c和图6d中示出。X代表当前预测单元。图6c中的A0、A1、B0、B1、B2是空间候选,而图6d中的C0、C1是时间候选。包括或对应于图6d中的候选C0或C1的块可被称为并置块,无论哪个是用于时间候选的源。
候选列表推导例如可以如下地被执行,同时应当理解,对于候选列表推导可以存在其它可能性。如果候选列表的占用率不是最大值,则如果空间候选可用并且尚未存在于候选列表中,那么空间候选首先被包括在候选列表中。在这之后,如果候选列表的占用率尚还不是最大值,则时间候选被包括在候选列表中。如果候选的数量仍未达到最大允许数量,则添加组合的双向预测候选(对于B切片)和零运动向量。在候选列表被构建之后,编码器例如基于速率-失真优化(RDO)决策从候选中决定最终运动信息,并将所选择的候选的索引编码到比特流中。同样地,解码器从比特流解码所选择的候选的索引,构建候选列表,并使用解码的索引从候选列表中选择运动向量预测。
在H.265/HEVC中,AMVP和合并模式可被表征如下。在AMVP中,编码器指示是使用单向预测还是双向预测以及哪些参考图像被使用并且编码运动向量差。在合并模式中,仅将来自候选列表的被选候选编码到比特流中,以指示当前预测单元具有与所指示的预测相同的运动信息。因此,合并模式创建由共享相同运动信息的相邻预测块组成的区域,其仅针对每个区域发信号通知一次。H.265/HEVC中的AMVP与合并模式之间的另一区别在于AMVP的候选的最大数量是2,而合并模式的候选的最大数量是5。
高级运动向量预测例如可以如下地操作,而例如通过不同候选位置集和具有候选位置集的候选位置,高级运动向量预测的其它类似实现也是可能的。可以导出两个空间运动向量预测(MVP),并且可以导出时间运动向量预测(TMVP)。它们可以在以下位置中进行选择:位于当前预测块(B0、B1、B2)上方的三个空间运动向量预测候选位置和左边的两个(A0、A1)。在每个候选位置集(B0、B1、B2)或(A0、A1)的预定义顺序中可用(例如,驻留在相同切片中、被帧间编码等)的第一运动向量预测可被选择以表示运动向量竞争中的预测方向(向上或向左)。用于时间运动向量预测的参考索引可以由切片报头中的编码器来指示(例如,被指示为“collocated_ref_idx”语法元素)。在潜在的时间候选位置的预定义顺序(例如,在顺序(C0,C1)中)中可用(例如,被帧间编码)的第一运动向量预测,可被选择为用于时间运动向量预测的源。可以根据时间运动向量预测的参考图像、以及共同定位图像和当前图像的图像顺序计数差的比来伸缩从共同定位图像中的第一可用候选位置获得的运动向量。此外,可以在候选之间执行冗余校验以移除相同的候选,这可导致在候选列表中包括零运动向量。例如通过指示空间运动向量预测的方向(向上或向左)或者选择时间运动向量预测候选,可以在比特流中指示运动向量预测。共同定位图像还可被称为并置图像、用于运动向量预测的源或用于运动向量预测的源图像。
合并模式/过程/机制例如可以如下地操作,而例如通过不同的候选位置集和具有候选位置集的候选位置,合并模式的其它类似实现也是可能的。
在合并模式/过程/机制中,其中预测并使用块/PU的所有运动信息而不进行任何修改/校正。用于PU的前述运动信息可以包括以下中的一个或多个:1)是否“仅使用参考图像列表列表0来单向预测PU”,或者“仅使用参考图像列表1来单向预测PU”,或者“使用参考图像列表0和列表1两者来双向预测PU”的信息;2)对应于参考图像列表0的运动向量值,其可以包括水平和垂直运动向量分量;3)参考图像列表0中的参考图像索引和/或与参考图像列表0对应的运动向量所指向的参考图像的标识符,其中参考图像的标识符例如可以是图像顺序计数值、层标识符值(用于层间预测),或者一对图像顺序计数值和层标识符值;4)参考图像的参考图像标记的信息,例如,参考图像是否被标记为“用于短期参考”或“用于长期参考”的信息;5)-7)分别与2)-4)相同,但用于参考图像列表1。
类似地,使用时间参考图像中的相邻块和/或共同定位块的运动信息来执行预测运动信息。通常被称为合并列表的列表可以通过包括与可用的相邻/共同定位块相关联的运动预测候选来构建,并且用信号通知列表中的所选择的运动预测候选的索引,并且将所选择的候选的运动信息复制到当前PU的运动信息。当合并机制被用于整个CU并且用于CU的预测信号被用作重建信号时,即预测残差未被处理时,这种类型的CU编码/解码通常被称为跳过(skip)模式或者基于合并的跳过模式。除了跳过模式之外,合并机制也可被用于各个PU(不必是如在跳过模式中的整个CU),并且在这种情况下,可以利用预测残差以改进预测质量。这种类型的预测模式通常被称为合并间模式。
合并列表和/或用于AMVP的候选列表或者任何类似的运动向量候选列表中的候选之一可以是TMVP候选等,其可以从诸如例如在切片报头中指示的参考图像的被指示或推断的参考图像内的并置块导出。在HEVC中,根据切片报头中的“collocated_from_10_flag”语法元素来选择要用于获得并置分割的参考图像列表。当该标志等于“1”时,它指定包含并置分割的图像是从列表0导出的,否则图像是从列表1导出的。当“collocated_from_10_flag”不存在时,推断其等于“1”。切片报头中的“colloacated_ref_idx”指定包含并置分割的图像的参考索引。当当前切片是P切片时,“colloacated_ref_idx”参考列表0中的图像。当当前切片是B切片时,如果“collocated_from_10”是“1”,则“colloacated_ref_idx”参考列表0中的图像,否则它参考列表1中的图像。“collocated_ref_idx”总是参考有效列表条目,并且所得到的图像对于编码图像的所有切片是相同的。当“collocated_ref_idx”不存在时,推断其等于“0”。
在HEVC中,当运动编码模式是合并模式时,用于合并列表中的时间运动向量预测的所谓的目标参考索引被设置为“0”。当在HEVC中利用时间运动向量预测的运动编码模式是高级运动向量预测模式时,明确指示目标参考索引值(例如,按每个PU)。
在HEVC中,候选预测运动向量(PMV)的可用性可以如下地确定(对于空间和时间候选两者)(SRTP=短期参考图像,LRTP=长期参考图像):
在HEVC中,当已经确定目标参考索引值时,可以如下地导出用于时间运动向量预测的运动向量值:获得与当前预测单元的右下邻居(图6d中的位置C0)并置的块处的运动向量PMV。并置块所驻留的图像例如可以如上所述地根据切片报头中的用信号通知的参考索引进行确定。如果位置C0处的PMV不可用,则获得并置图像的位置C1(参见图6d)处的运动向量PMV。共同定位块处的所确定的可用运动向量PMV相对于第一图像顺序计数差和第二图像顺序计数差的比率被伸缩。在包含共同定位块的图像与共同定位块的运动向量的参考图像之间导出第一图像顺序计数差。在当前图像与目标参考图像之间导出第二图像顺序计数差。如果并置块的运动向量的目标参考图像和参考图像之一而非两者是长期参考图像(而另一个是短期参考图像),则可认为TMVP候选不可用。如果并置块的运动向量的目标参考图像和参考图像两者是长期参考图像,则可不应用基于POC的运动向量伸缩。
运动参数类型或运动信息可包括但不限于以下类型中的一个或多个:
-预测类型(例如,帧内预测、单向预测、双向预测)和/或多个参考图像的指示;
-预测方向的指示,诸如帧间(也称为时间)预测、层间预测、视图间预测、视图合成预测(VSP)和分量间预测(其可按参考图像和/或预测类型进行指示,并且在一些实施例中,视图间和视图合成预测可被联合视为一个预测方向)和/或
-参考图像类型的指示,诸如短期参考图像和/或长期参考图像和/或层间参考图像(其可以例如按参考图像进行指示)
-参考图像列表的参考索引和/或参考图像的任何其它标识符(其可以例如按参考图像进行指示,并且其类型可以取决于预测方向和/或参考图像类型,并且可以通过诸如参考索引所应用的参考图像列表等的其它相关信息片段而随附);
-水平运动向量分量(其可以例如按预测块或参考索引等进行指示);
-垂直运动向量分量(其可以例如按预测块或参考索引等进行指示);
-诸如图像顺序计数差和/或包含运动参数或与之相关联的图像与其参考图像之间的相对相机间隔的一个或多个参数,其可用于在一个或多个运动向量预测过程中伸缩水平运动向量分量和/或垂直运动向量分量(其中,所述一个或多个参数可以例如按参考图像或参考索引等进行指示);
-运动参数和/或运动信息所应用的块的坐标,例如,亮度样本单元中的块的左上样本的坐标;
-运动参数和/或运动信息所应用的块的范围(例如,宽度和高度)。
通常,运动向量预测机制诸如上面作为示例示出的那些运动向量预测机制,可以包括某些预定义或所指示的运动参数的预测或继承。
与图像相关联的运动段可被认为包括为图像每个编码块产生的运动信息集。例如,可以通过块的坐标来访问运动段。运动段例如可以用于TMVP或任何其它运动预测机制中,其中使用源或参考而不是当前(解)编码图像以用于预测。
可以应用不同的空间粒度或单元以表示和/或存储运动段。例如,可以使用规则的空间单元网格。例如,可以将图像划分成某一大小的矩形块(具有在图像的边缘处的块的可能例外,诸如在右边缘和底边缘)。例如,空间单元的大小可以等于可由编码器在比特流中指示的不同运动的最小尺寸,诸如4×4块的亮度样本单元。例如,可以使用所谓的压缩运动段,其中空间单元可以等于预定义或所指示的大小,诸如16×16块的亮度样本单元,其大小可以大于用于指示不同运动的最小尺寸。例如,以对每个解码的运动段执行运动数据存储减少(MDSR)或运动段压缩的方式(在将运动段用于图像之间的任何预测之前),可以实现HEVC编码器和/或解码器。在HEVC实现中,通过保持适用于压缩运动段中的16×16块的左上样本的运动,MDSR可以将运动数据的粒度减小到16×16块的亮度样本单元。编码器可以将与压缩运动段的空间单元相关的指示编码为例如序列级语法结构中的一个或多个语法元素和/或语法元素值,诸如视频参数集或序列参数集。在一些(解)编码方法和/或设备中,可以根据运动预测的块分割(例如,根据HEVC标准的预测单元)来表示和/或存储运动段。在一些(解)编码方法和/或设备中,可以应用规则的网格和块分割的组合,使得与大于预定义或所指示的空间单元大小的分割相关联的运动被与那些分割相关联地表示和/或存储,而与小于预定义或所指示的空间单元大小或网格或者没有与之对齐的分割相关联的运动被针对预定义或所指示的单元进行表示和/或存储。
HEVC的可伸缩视频编码扩展(SHVC)提供一种机制,其用于在利用层间冗余的同时提供空间、位深、色域和质量可伸缩性。HEVC的多视图扩展(MV-HEVC)使得能够编码例如适用于立体显示的多视图视频数据。对于MV-HEVC,用于编码的输入多视图视频序列通常由排列成行的多个相机捕获。相机投影中心通常是共线的并且彼此间的距离相等,并且相机通常指向相同的方向。SHVC和MV-HEVC共享相同的高级语法,并且它们的解码过程的大多数部分也相同,这使得用相同的编解码器实现来支持SHVC和MV-HEVC两者具有吸引力。
SHVC和MV-HEVC使能两种类型的层间预测,即采样和运动预测。在层间样本预测中,层间参考(ILR)图像被用于获得预测块的样本值。在MV-HEVC中,解码的基础层图像用作ILR图像而无需修改。在SHVC的空间和色域可伸缩性中,将诸如重采样的层间处理应用于解码的基础层图像以获得ILR图像。在SHVC的重采样过程中,可以对基础层图像进行裁剪、上采样和/或填补以获得ILR图像。通过所谓的参考层位置偏移,指示上采样的基础层图像与增强层图像的相对位置。该特征使能感兴趣区域(ROI)可伸缩性,其中在增强层图像中只增强基础层的图像区域的子集。
层间运动预测利用HEVC的时间运动向量预测(TMVP)机制。ILR图像被指定为用于TMVP的并置图像,因此它是运动向量预测过程中的TMVP候选的源。在SHVC的空间可伸缩性中,运动段映射(MFM)被用于从基础层图像的ILR图像获得用于ILR图像的运动信息。在MFM中,基础层图像中的预测依赖性可被认为是被复制以生成用于ILR图像的参考图像列表。对于具有特定块网格(例如,HEVC中的16×16网格)的重新映射的运动段的每个块,可以导出用于层间预测的源图像中的并置样本位置。例如,可以针对块的最中心样本导出参考样本位置。在参考样本位置的推导中,可以考虑重采样率、参考区域和重采样参考区域——进一步参见以下用于重采样率、参考区域和重采样参考区域的定义。此外,参考样本位置可被舍入或截短以与用于层间预测的参考区域或源图像的运动段的块网格对齐。对应于参考样本位置的运动向量从用于层间预测的参考区域或源图像的运动段被获得。根据重采样率对该运动向量进行重新伸缩,然后将其包括在重新映射的运动段中。重新映射的运动段随后可被用作用于TMVP等的源。相反,MFM在MV-HEVC中不被应用于在层间运动预测过程期间将被参考的基础视图图像。
可以用一种或多种类型的所谓的参考层位置偏移来断定或指示参考层图像和增强层图像的空间对应关系。在HEVC中,参考层位置偏移可以由编码器包括在PPS中并且由解码器从PPS解码。参考层位置偏移可用于但不限于实现ROI可伸缩性。参考层位置偏移可以包括伸缩的参考层偏移、参考区域偏移和重采样相位集中的一个或多个。伸缩的参考层偏移可被视为指定当前图像中的与参考层中的解码图像中的参考区域的左上亮度样本并置的样本之间的水平和垂直偏移,以及当前图像中的与参考层中的解码图像中的参考区域的右下亮度样本并置的样本之间的水平和垂直偏移。另一种方式是考虑伸缩的参考层偏移指定上采样的参考区域(或者更一般地,重采样参考区域)的角样本相对于增强层图像的相应角样本的位置。伸缩的参考层偏移可被认为指定了当前层图像(针对其指示参考层位置偏移)相对于伸缩的参考层图像的伸缩参考区域的空间对应关系。可以对伸缩的参考层偏移值进行签名。当伸缩的参考层偏移为负时,针对其指示参考层位置偏移的图像对应于参考层图像的裁剪区域。参考区域偏移可被视为指定参考层中的解码图像中的参考区域的左上亮度样本与相同解码图像的左上亮度样本之间的水平和垂直偏移以及参考层中的解码图像中的参考区域的右下亮度样本与相同解码图像的右下亮度样本之间的水平和垂直偏移。参考区域偏移可被认为指定了参考层图像中的参考区域相对于解码的参考层图像的空间对应关系。可以对参考区域偏移进行签名。当参考区域偏移为负时,参考层图像对应于针对其指示参考层位置偏移的图像的裁剪区域。重采样相位集可被视为指定在层间预测的源图像的重采样过程中使用的相位偏移。可以针对亮度和色度分量提供不同的相位偏移。
一些可伸缩视频编码方案可能要求IRAP图像跨层对齐,以访问单元中的所有图像都是IRAP图像的方式或者访问单元中没有任何图像是IRAP图像的方式。其它可伸缩视频编码方案(例如HEVC的多层扩展)可以允许未对齐的IRAP图像(即访问单元中的一个或多个图像)是IRAP图像,而访问单元中的一个或多个其它图像不是IRAP图像。具有IRAP图像或类似可跨层对齐的图像的可伸缩比特流例如可用于在基础层中提供更频繁的IRAP图像,其中这些图像具有更小的编码大小,例如因为它们具有更小的空间分辨率。用于解码的逐层启动(layer-wise)过程或机制可以包括在视频解码方案中。因此,当基础层包含IRAP图像时,解码器可以开始解码比特流,并且当其它层包含IRAP图像时,解码器可以逐步开始解码其它层。换句话说,在解码机制或过程的逐层启动中,当在解码过程中解码来自附加的增强层的后续图像时,解码器逐渐增加解码层的数量(其中层可表示空间分辨率、质量水平、视图、诸如深度的附加要素,或其组合的增强)。可以将解码层数量的逐渐增加视为例如图像质量的逐步改进(在质量和空间可伸缩性的情况下)。
逐层启动机制可以在特定增强层中针对解码顺序中的第一图像的参考图像生成不可用图像。或者,解码器可以省略在解码顺序中位于IRAP图像(其中从IRAP图像开始进行层解码)之前的图像的解码。可以省略的这些图像可以由编码器或比特流内的另一实体特定标记。例如,可以针对其使用一个或多个特定的NAL单元类型。无论是通过NAL单元类型特定标记,还是例如由解码器断定,这些图像可被称为跨层随机访问跳过(CL-RAS)图像。解码器可以省略所生成的不可用图像和解码的CL-RAS图像的输出。
可以以两种基本方式支持可伸缩性。通过引入新的编码模式以根据可伸缩表示的较低层执行像素值或语法的预测,或者通过将较低层图像放置到较高层的参考图像缓冲器(例如,解码图像缓冲器DPB)中。第一种方法可能更灵活,因此在大多数情况下可以提供更好的编码效率。然而,第二种基于参考帧的可伸缩性方法可以在对单层编解码器具有最小改变的情况下有效地实现,同时仍然实现大部分可用的编码效率增益。基本上,基于参考帧的可伸缩性编解码器可以通过针对所有层使用相同的硬件或软件实现来实现,只需注意外部装置对DPB的管理。
用于质量可伸缩性(也被称为信噪比或SNR)和/或空间可伸缩性的可伸缩视频编码器可以按照下面的方式实现。对于基础层,可以使用传统的不可伸缩视频编码器和解码器。基础层的重建/解码图像包括在参考图像缓冲器和/或增强层的参考图像列表中。在空间可伸缩性的情况下,可以在将重建/解码的基础层图像插入到增强层图像的参考图像列表之前对其进行上采样。可以将基础层解码的图像插入到参考图像列表中,用于与增强层的解码参考图像类似地对增强层图像进行编码/解码。因此,编码器可以选择基础层参考图像作为帧间预测参考,并且在编码比特流中指示其与参考图像索引一起使用。解码器从比特流(例如,从参考图像索引)解码基础层图像用作增强层的帧间预测参考。当解码的基础层图像用作增强层的预测参考时,其被称为层间参考图像。
虽然上一段描述了具有两个可伸缩性层(增强层和基础层)的可伸缩视频编解码器,但是需要理解,该描述可以推广到具有多于两层的可伸缩性层级中的任何两个层。在这种情况下,第二增强层可以取决于编码和/或解码过程中的第一增强层,因此第一增强层可以被视为第二增强层的编码和/或解码的基础层。此外,需要理解,可以存在来自增强层的参考图像缓冲器和参考图像列表中的多于一个层的层间参考图像,并且可以认为这些层间参考图像中的每一个都驻留在被编码和/或解码的增强层的基础层或参考层中。此外,需要理解,可以替代地或附加地进行参考层图像上采样以外的其它类型的层间处理。例如,参考层图像样本的位深可以被转换为增强层的位深和/或样本值可以经历从参考层的颜色空间到增强层的颜色空间的映射。
可伸缩视频编码和/或解码方案可以使用多环编码和/或解码,其特征如下所述。在编码/解码中,可以重建/解码基础层图像以用作编码/解码顺序中的位于同一层的后续图像的运动补偿参考图像或用作层间(或视图间或分量间)预测的参考。重建/解码的基础层图像可以存储在DPB中。同样可以重建/解码增强层图像以用作编码/解码顺序中的位于同一层的后续图像的运动补偿参考图像或用作更高增强层(如果有)层间(或视图间或分量间)预测的参考。除了重建/解码的样本值之外,基础/参考层的语法元素值或从基础/参考层的语法元素值导出的变量可用于层间/分量间/视图间预测。
可以将层间预测定义为取决于与来自当前图像(被编码或解码)的层不同的层的参考图像的数据元素(例如,样本值或运动向量)的预测。存在许多类型的层间预测,并且可以在可伸缩视频编码器/解码器中应用。可用的层间预测类型例如可以取决于对比特流或比特流内的特定层进行编码所基于的编码配置文件,或者当解码时,可以取决于比特流或比特流内的特定层被指示符合的编码配置文件。替代地或附加地,可用的层间预测类型可取决于可伸缩性类型或正在使用的可伸缩编解码器或视频编码标准修订(例如,SHVC、MV-HEVC或3D-HEVC)的类型。
层间预测的类型可以包括但不限于以下中的一个或多个:层间样本预测、层间运动预测、层间残差预测。在层间样本预测中,用于层间预测的源图像的重建样本值的至少一个子集被用作预测当前图像的样本值的参考。在层间运动预测中,用于层间预测的源图像的运动向量的至少一个子集被用作预测当前图像的运动向量的参考。通常,预测与运动向量相关联的参考图像的信息也包括在层间运动预测中。例如,运动向量的参考图像的参考索引可以是层间预测的和/或图像顺序计数或参考图像的任何其它标识可以是层间预测的。在一些情况下,层间运动预测还可以包括块编码模式、报头信息、块分割和/或其它类似参数的预测。在一些情况下,编码参数预测(诸如块分割的层间预测)可以被视为另一类型的层间预测。在层间残差预测中,用于层间预测的源图像的所选块的预测误差或残差用于预测当前图像。在诸如3D-HEVC的多视图加(plus)深度编码中,可以应用跨分量层间预测,其中第一类型的图像(诸如深度图像)可以影响第二类型的图像(诸如传统的纹理图像)的层间预测。例如,可应用视差补偿的层间样本值和/或运动预测,其中视差可至少部分地从深度图像导出。
直接参考层可被定义为可用于另一层的层间预测的层,其中该层是该另一层的直接参考层。直接预测层可被定义为另一层是其直接参考层的层。间接参考层可被定义为不是第二层的直接参考层而是第三层的直接参考层,该第三层是另一层的直接参考层或直接参考层的间接参考层,其中该层是另一层的间接参考层。间接预测层可被定义为另一层是其间接参考层的层。独立层可被定义为不具有直接参考层的层。换句话说,不使用层间预测来预测独立层。非基础层可被定义为基础层以外的任何其它层,而基础层可被定义为比特流中的最低层。独立的非基础层可被定义为既是独立层又是非基础层的层。
用于层间预测的源图像可被定义为解码图像,该解码图像是可用作预测当前图像的参考图像的层间参考图像,或者用于导出可用作预测当前图像的参考图像的层间参考图像。在多层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推导的并置参考图像来执行层间运动预测。
与MVC类似,在MV-HEVC中,视图间参考图像可被包括在正被编码或解码的当前图像的参考图像列表中。SHVC使用多环解码操作(与H.264/AVC的SVC扩展不同)。可以认为SHVC使用基于参考索引的方法,即,层间参考图像可被包括在正被编码或解码的当前图像的一个或多个参考图像列表中(如上所述)。
对于增强层编码,HEVC基础层的概念和编码工具可用于SHVC、MV-HEVC等中。然而,在参考层中采用已经编码的数据(包括重建图像样本和运动参数,也被称为运动信息)以便有效地编码增强层的附加层间预测工具可以集成到SHVC、MV-HEVC和/或相似的编解码器中。
编码标准或系统可以是指术语“操作点”或类似的术语,其可以指示下面执行解码操作的伸缩层和/或子层和/或可以与包括被解码的伸缩层和/或子层的子比特流相关联。在HEVC中,操作点被定义为根据通过子比特流提取过程操作的另一比特流创建的比特流,其中另一比特流、目标最高“TemporalId”和目标层标识符列表作为输入。
HEVC的VPS规定了层集和这些层集的HRD参数。层集可以在子比特流提取过程中用作目标层标识符列表。在HEVC中,层集可以被定义为在根据通过子比特流提取过程操作的另一比特流创建的比特流内表示的一组层,其中另一比特流、等于“6”的目标最高“TemporalId”、等于与层集相关联的层标识符列表的目标层标识符列表作为输入。
输出层可被定义为其解码图像通过解码过程输出的层。输出层可以取决于多层比特流的哪个子集被解码。通过解码过程输出的图像可以被进一步处理,例如,可以执行从YUV颜色空间到RGB的颜色空间转换,并且可以显示它们。然而,进一步的处理和/或显示可被认为是解码器和/或解码过程的外部处理,并且可能不会发生。
在多层视频比特流中,操作点定义可以包括考虑目标输出层集。例如,操作点可被定义为根据通过子比特流提取过程操作的另一比特流创建的比特流,其中另一比特流、目标最高时间子层(例如,目标最高“TemporalId”)和目标层标识符列表作为输入,并且与输出层集相关联。可替代地,当参考操作点和相关联的输出层集时,可以使用诸如输出操作点的另一术语。例如,在MV-HEVC/SHVC中,输出操作点可被定义为根据通过子比特流提取过程操作的输入比特流创建的比特流,其中输入比特流、目标最高“TemporalId”和目标层标识符列表作为输入,并且与输出层集相关联。
输出层集(OLS)可以被定义为由特定的层集之一的层组成的层集,其中该层集中的一个或多个层被指示为输出层。输出层可以被定义为输出层集的一层,其中当解码器和/或HRD使用该输出层集作为目标输出层集执行操作时,输出该层。在MV-HEVC/SHVC中,变量“TargetOlsIdx”可以通过将“TargetOlsIdx”设置为等于作为目标输出层集的输出层集的索引来指定哪个输出层集是目标输出层集。目标输出层集可被定义为索引等于“TargetOlsIdx”的输出层集。“TargetOlsIdx”例如可以由HRD设置和/或可以由外部装置设置,例如由播放器等通过解码器提供的接口设置。在MV-HEVC/SHVC中,输出层可被定义为当“TargetOlsIdx”等于输出层集的索引时输出的输出层集的层。
发送器、网关、客户端等可以选择可伸缩视频比特流的发送层和/或子层。术语“层提取”、“层的提取”或“层向下切换”可以是指发送的层少于发送器、网关、客户端等接收的比特流中可用层。层向上切换可以是指与发送器、网关、客户端等执行层向上切换之前发送的层相比发送更多的层,即重新开始传输先前在层向下切换时停止传输的一个或多个层。类似于层向下切换和/或向上切换,发送器、网关、客户端等可以执行时间子层的向下和/或向上切换。发送器、网关、客户端等也可以执行层和子层的向下切换和/或向上切换。层和子层的向下切换和/或向上切换可以在相同的访问单元等中执行(即,几乎同时地),或者可以在不同的访问单元等中执行(即,实际上在不同的时间)。
虽然恒定的输出层集非常适于其中最高层在每个访问单元中保持不变的用例和比特流,但是它们可能不支持最高层在不同访问单元之间变化的用例。因此,已经提出了编码器可以指定在比特流内使用替代输出层,并且响应于替代输出层的指定用途,解码器在同一访问单元中的输出层内没有图像的情况下从替代输出层输出解码图像。存在多种有关如何指示替代输出层的可能性。例如,如HEVC中所规定的,替代输出层集机制可以被约束为仅用于仅包含一个输出层的输出层集,并且输出层设置标志(HEVC中的“alt_output_layer_flag[olsIdx]”)可用于指定输出层的任何直接或间接参考层可以用作输出层集的输出层的替代输出层。当支持多于一个的替代输出层时,可以指定输出在向下一直到所指示的最小替代输出层的层标识符的降序中位于访问单元中的第一直接或间接层间参考图像。
图9是可以在其中实现各种实施例的示例性多媒体通信系统的图形表示。数据源1510以模拟、未压缩数字或压缩数字的格式或这些格式的任何组合提供源信号。编码器1520可以包括预处理或者与预处理连接,诸如数据格式转换和/或源信号的滤波。编码器1520将源信号编码为编码的媒体比特流。需指出,可以直接或间接地从位于几乎任何类型的网络内的远程设备接收要解码的比特流。此外,可以从本地硬件或软件接收比特流。编码器1520能够编码多于一种的媒体类型,诸如音频和视频,或者可能需要不止一个编码器1520来编码源信号的不同媒体类型。编码器1520还可以获得合成产生的输入,诸如图形和文本,或者它能够产生合成媒体的编码的比特流。在下文中,仅考虑一种媒体类型的一个编码的媒体比特流的处理以简化描述。然而需指出,通常实时广播服务包括若干流(通常至少一个音频、视频和文本字幕流)。还需要指出,该系统可包括许多编码器,但在附图中仅示出一个编码器1520以简化描述但不缺乏一般性。应当进一步理解,尽管在本文中包含的文本和示例具体地描述了编码过程,但是本领域的技术人员将理解,相同的概念和原理也适用于相应的解码过程,反之亦然。
可以将编码的媒体比特流传送到存储设备1530。存储设备1530可以包括用于存储编码的媒体比特流的任何类型的大容量存储器。存储设备1530中编码的媒体比特流的格式可以是基本的自包含比特流格式,或者一个或多个编码的媒体比特流可以封装到容器文件中,或者编码的媒体比特流可以封装成适用于DASH(或类似的流媒体系统)并存储为一系列片段的片段格式。如果将一个或多个媒体比特流封装在容器文件中,则可以使用文件生成器(图中未示出)将一个或多个媒体比特流存储在文件中并创建文件格式元数据,这种元数据也可以存储在文件中。编码器1520或存储设备1530可以包括文件生成器,或者文件生成器可操作地连接到编码器1520或存储设备1530。一些系统“实时”操作,即省略存储编码的媒体比特流以及将其从编码器1520传送到发送器1540。然后,可以根据需要将编码的媒体比特流传送到发送器1540,也被称为服务器。在传输中使用的格式可以是基本的自包含比特流格式、分组流格式、适用于DASH(或类似流传输系统)的片段格式,或者可以将一个或多个编码的媒体比特流封装到容器文件中。编码器1520、存储设备1530和服务器1540可以驻留在相同的物理设备中,或者它们可以包括在单独的设备中。编码器1520和服务器1540可以处理实时内容,在这种情况下,编码的媒体比特流通常不是永久存储的,而是在内容编码器1520和/或服务器1540中稍微缓冲一段时间以减缓处理延迟、传输延迟和编码媒体比特率的变化。
服务器1540使用通信协议栈发送编码的媒体比特流。该协议栈可以包括但不限于实时传输协议(RTP)、用户数据报协议(UDP)、超文本传输协议(HTTP)、传输控制协议(TCP)和因特网协议(IP)中的一个或多个。当通信协议栈是面向分组的时,服务器1540将编码的媒体比特流封装成分组。例如,当使用RTP时,服务器1540根据RTP有效载荷格式将编码的媒体比特流封装成RTP分组。通常,每种媒体类型都具有专用的RTP有效载荷格式。再次需指出,系统可以包含一个以上的服务器1540,但是为了简单起见,以下描述仅考虑一个服务器1540。
如果媒体内容被封装在存储设备1530的容器文件中或用于将数据输入到发送器1540,则发送器1540可以包括或可操作地附着到“发送文件解析器”(图中未示出)。特别地,如果容器文件不是这样传输的,但是至少一个所包含的编码的媒体比特流被封装以便通过通信协议传输,则发送文件解析器定位编码的媒体比特流的适当部分以通过通信协议传送。发送文件解析器还可以帮助针对通信协议创建正确的格式,例如分组报报头和有效载荷。多媒体容器文件可以包含封装指令,例如ISOBMFF中的提示轨道,用于在通信协议上封装至少一个所包含的媒体比特流。
服务器1540可以通过或可以不通过通信网络连接到网关1550,通信网络例如可以是CDN、因特网和/或一个或多个接入网络的组合。网关也可以被称为或可替代地被称为中间设备。对于DASH,网关可以是(CDN的)边缘服务器或Web代理。需指出,系统通常可以包括任何数量的网关或类似设备,但是为了简单起见,以下描述仅考虑一个网关1550。网关1550可以执行不同类型的功能,例如将根据一个通信协议栈到另一通信协议栈的分组流转换,合并和分叉数据流,以及根据下行链路和/或接收器能力控制数据流,诸如根据主要的下行链路网络条件控制所转发的流的比特率。
该系统包括一个或多个接收器1560,其通常能够接收、解调发送信号并将发送信号解封装成编码的媒体比特流。编码的媒体比特流可以被传送到记录存储器1570。记录存储器1570可以包括任何类型的大容量存储器以存储编码的媒体比特流。记录存储器1570可以替代地或附加地包括计算存储器,例如随机存取存储器。记录存储器1570中的编码的媒体比特流的格式可以是基本的自包含比特流格式,或者一个或多个编码的媒体比特流可以封装到容器文件中。如果存在彼此相关联的多个编码的媒体比特流,诸如音频流和视频流,则通常使用容器文件,并且接收器1560包括或附着到容器文件生成器,该容器文件生成器根据输入流产生容器文件。一些系统“实时”操作,即省略记录存储器1570以及将编码的媒体比例流从接收器1560直接传送到解码器1580。在一些系统中,只有所记录的流的最近部分,例如,所记录的流的最近10分钟的摘录被保存在记录存储器1570中,而任何先前所记录的数据被从记录存储器1570中丢弃。
编码的媒体比特流可以从记录存储器1570传送到解码器1580。如果有许多编码的媒体比特流,例如彼此相关联并封装到容器文件中的音频流和视频流或单个媒体比特流被封装在容器文件中例如以便于访问,使用文件解析器(图中未示出)从容器文件中解封装每个编码的媒体比特流。记录存储器1570或解码器1580可以包括文件解析器,或者文件解析器附着到记录存储器1570或解码器1580。还需要指出,系统可以包括许多解码器,但是这里仅讨论一个解码器1580以简化描述而不缺乏一般性。
编码的媒体比特流可以由解码器1570进一步处理,解码器1570的输出是一个或多个未压缩媒体流。最后,例如,呈现器1590可以用扬声器或显示器再现未压缩媒体流。接收器1560、记录存储器1570、解码器1570和呈现器1590可以驻留在相同的物理设备中,或者它们可以包括在单独的设备中。
发送器1540和/或网关1550可以被配置为执行不同表示之间的切换,例如用于视图切换、比特率自适应和/或快速启动,和/或发送器1540和/或网关1550可以被配置为选择所发送的表示。不同表示之间的切换可能出于多种原因而发生,例如响应于接收器1560的请求或传送比特流的网络的主要条件,诸如吞吐量。来自接收器的请求例如可以是与先前不同的表示对片段或子片段的请求,对发送的可伸缩性层和/或子层的改变的请求,或者对相比之前的表示设备具有不同功能的表示设备的改变的请求。对片段的请求可以是HTTPGET请求。对子片段的请求可以是具有字节范围的HTTP GET请求。附加地或替代地,比特率调整或比特率自适应例如可用于在流媒体服务中提供所谓的快速启动(其中所传输的流的比特率在启动之后低于信道比特率),或者随机访问流传输以便立即开始播放并实现容忍偶发分组延迟和/或重传的缓冲器占用水平。比特率自适应可以包括以各种顺序发生的多个表示或层向上切换和表示或层向下切换操作。
解码器1580可以被配置为执行不同表示之间的切换,例如用于视图切换、比特率自适应和/或快速启动,和/或解码器1580可以被配置为选择所发送的表示。不同表示之间的切换可能出于多种原因而发生,例如以实现更快的解码操作或者调整发送的比特流,例如,就比特率而言,调整传输比特流的网络的主要条件(诸如吞吐量)。例如,如果包括解码器1580的设备是多任务设备并且将计算资源用于解码可伸缩视频比特流之外的其它目的,则可能需要更快的解码操作。在另一个示例中,当以比正常播放速度更快的速度(例如,比正常实时播放速度快两到三倍)播放内容时,可能需要更快的解码操作。解码器操作的速度可以在解码或重放期间改变,例如作为对从正常播放速度到快进播放或相反切换的变化的响应,因此可以以各种顺序进行多个层向上切换和层向下切换操作。
通过对重建参考层图像进行重采样以用作对预测层图像编码/解码(随后称为(解)编码)的参考图像,可以实现空间可伸缩图像和/或视频编码。可替代地,可以通过对诸如帧内编码块的参考层图像的部分进行重采样以用作对预测层图像的一部分(解)编码的预测块,可以实现空间可伸缩视频编码。重采样可以包括滤波操作,其中,对多个参考层样本进行滤波以获得用作用于层间预测的参考的样本(例如,SHVC中的层间参考图像的样本)。因此,这种重采样可以访问图像边界以外的样本位置。同样地,如果预测层图像是帧封装的,即,包括多个构成帧,则这种重采样可以访问构成帧的边界以外的样本位置。此外,参考层位置偏移等可被用于指示预测层图像相对于参考层图像的空间对应关系,并且可以导致层间重采样过程参考在参考层图像的图像边界以外和/或参考层图像中的构成帧的边界以外的样本。需要理解,上述实施例也或者可替代地适用于层间预测。例如,边界扩展可被用于在层间预测中使用的滤波过程。在另一个示例中,在用于层间预测的滤波过程中使用的样本位置被叠起(例如,在360度构成帧的水平方向的情况下)或者被充满(否则)到构成帧的边界内。
需要理解,上述实施例也或者可替代地适用于视图间预测。在一示例中,参考层或视图的第一图像包括多于一个的构成帧,例如,表示内容的两个视图。预测层或视图的第二图像包括至少一个构成帧,例如,表示内容的另一个视图(除了第一图像所表示的视图)。视图间预测从第一图像的一个或多个构成帧到第二图像而进行。在视图间预测中使用的视差向量(与运动向量类似或相同)可以参考部分在构成帧以外的预测块,或者可以参考需要来自多于一个的构成帧的输入样本的部分样本位置。实施例可被用于布置边界扩展或者将样本位置充满或叠起在构成帧内,以使得视图间预测块被约束为只源自一个构成帧的样本。
在上文中,已经参考单数形式的术语构成帧描述了一些实施例。需要理解,实施例可适用于多个构成帧,并且构成帧的数量通常不受实施例的限制。
在上文中,已经参考术语构成帧描述了一些实施例。需要理解,构成帧可以表示输入帧或输入段,其中,段是帧的替代样本行集,并且当源信号被交织时可被用作编码器输入。
在上文中,已经参考术语构成帧描述了一些实施例。需要理解,实施例通常也适用于正被编码或解码的图像的任何空间连续部分,即使这样的部分没有被明确地称为构成帧。需要理解,实施例类似地适用于小于构成帧的单元,只要这样的单元占据正被编码或解码的图像内的空间连续区域。在示例性实施例中,在编码之前或者作为编码的一部分,在预处理步骤中构成帧被分割成两个或更多个空间不相交的构成帧分割。一个或多个构成帧分割具有如在其它实施例中所描述的边界扩展。相同的图像可以包括来自多于一个的构成帧的构成帧边界。包括或不包括边界扩展的每个构成帧边界(如果有),可被编码为运动受限图块集。可以移除边界扩展部分,并且可以通过解码器(例如作为输出裁剪过程的一部分)或者通过在解码之后的后处理步骤以空间连续的方式布置构成帧分割,使得构成帧完全连续。例如,可以例如使用45度的网格、垂直90和45度、和水平90度间隔的网格来分割360度全景构成帧,并且如示例性实施例中所描述地进行处理。在另一个示例中,立方体映射投影的球形图像的每个立方体侧可被视为构成帧分割并且如示例实施例中所描述地进行处理。
在实施例中,用于视频编码的输入图像源自金字塔映射,如图10a至图10c所示。球形视频序列的每个输入图像、诸如等矩形投影全景的表示球形视频投影的视频序列、向外指向的相机设置的多视图视频等被投影在图10a中所示的金字塔1000上。金字塔形投影也可被省略,并且可以完成从源内容到展开的金字塔形投影1002的直接映射,例如在图10b中所示,或者从源内容到帧封装的金字塔形投影1004的直接映射,例如在图10c中所示。假设主要观看方向将正好或近似朝向正面,则金字塔的矩形面1006可被称为正面。根据主要观看方向(与所假设的头部定向匹配)选择针对正面的水平轴。可以以正面具有期望视野的方式来选择金字塔内的虚拟观看位置。例如,可以为正面选择90度水平和垂直视场。三角锥面可以根据它们相对于所假设的主要观看方向和主要观看定向的位置而被命名为左面1008、顶面1010,右面1012和底面1014。三角锥面可被认为是被展开到正面1006的平面上,如在图10B中所示,尽管可以省略该中间步骤并且可以完成从图10a的金字塔1000到帧封装的金字塔形投影1006直接映射,例如在图10c中所示。作为展开的一部分,三角锥面可以以这样的方式进行重采样:当它们与图10c中所示的相同或类似地布置时,它们的总宽度和高度与正面的总宽度和总高度匹配。三角形面可以采用各种方式布置在边界矩形中,其中一个在图10c中示出,其中展开的右面1012和左面1008保持不变,而展开的顶面1010和底面1014旋转180度。在实施例中,正面1006被视为第一构成帧,而包括三角形面的边界矩形在其它实施例中可被视为第二构成帧。在实施例中,正面1006在与三角形面的边界矩形相邻的一侧具有边界扩展。例如,当三角形面的边界矩形位于正面1006的右边时,边界扩展也可位于正面1006的右边,如在图10c中所示。边界扩展的处理与其它实施例中所描述的类似。虽然图10c示出了边界扩展,但是需要理解,其中不存在边界扩展的其它实施例(并且例如,通过将样本位置充满到构成帧内来处理构成帧以外的参考)也适用于类似于图10c中所示但没有边界扩展的布置。在实施例中,包括其边界扩展(如果有)的正面1006在编码中被包括在第一图块集中,并且该第一图块集被编码为运动受限图块集。在实施例中,包括三角形面1008-1014的边界矩形在编码中被包括在第二图块集中,并且第二图块集被编码为运动受限图块集。与其它实施例中描述的类似地处理运动受限图块集。虽然本段描述了编码实施例,但是需要理解,通过将前面1006视为在各种其它实施例中用于解码的构成帧,可以类似地实现解码实施例。
在上文中,已经参考术语块描述了一些实施例。需要理解,编码系统可以具有实施例适用的用于相同或类似概念不同的术语。例如,在HEVC中,术语块例如可被理解为不同实施例中的编码树单元、编码树块、编码单元或编码块。
在上文中,已经关于HEVC和/或HEVC规范中使用的术语描述了一些实施例。需要理解,实施例类似地适用于其它编解码器和编码格式以及与上述实施例中使用的术语具有等效性或相似性的其它术语。
在上文中,已经参考编码器描述了示例性实施例,需要理解,所得到的比特流和解码器可以在其中具有对应的元件。同样地,在已经参考解码器描述了示例性实施例的情况下,需要理解,编码器可以具有用于生成要由解码器解码的比特流的结构和/或计算机程序。
上面描述的本发明的实施例根据单独的编码器和解码器装置描述编解码器,以帮助理解所涉及的过程。然而,应当理解,装置、结构和操作可以实现为单个编码器-解码器装置/结构/操作。此外,编码器和解码器可以共享一些或所有公共元件。
尽管以上示例描述了在电子设备内的编解码器内操作的本发明的实施例,但是应当理解,权利要求中限定的本发明可以实现为任何视频编解码器的一部分。因此,例如,本发明的实施例可以在视频编解码器中实现,该视频编解码器可以在固定或有线通信路径上实现视频编码。
因此,用户设备可以包括视频编解码器,诸如以上在本发明的实施例中描述的那些。应当理解,术语用户设备旨在覆盖任何适合类型的无线用户设备,诸如移动电话、便携式数据处理设备或便携式网络浏览器。
此外,公共陆地移动网络(PLMN)的元件还可以包括上述视频编解码器。
通常,本发明的各种实施例可以用硬件或专用电路、软件、逻辑或其任何组合来实现。例如,一些方面可以用硬件来实现,而其它方面可以用由控制器、微处理器或其它计算设备执行的固件或软件来实现,但本发明不限于此。尽管可以将本发明的各个方面示出和描述为框图、流程图或使用一些其它图形表示,但是容易理解,这里描述的这些框、装置、系统、技术或方法可以用作为非限制性示例的硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其它计算设备,或其中一些组合来实现。
本发明的实施例可以由移动设备的数据处理器可执行的计算机软件实现,例如在处理器实体中,或通过硬件,或通过软件和硬件的组合。此外,在这方面,需要指出,附图中的逻辑流程的任何框都可以表示程序步骤,或互连的逻辑电路、框和功能,或程序步骤和逻辑电路、框和功能的组合。软件可以存储在诸如在处理器内实现的存储器芯片或存储器块的物理介质上,诸如硬盘或软盘的磁介质上,以及诸如DVD及其数据变体CD的光介质上。
存储器可以是适用于本地技术环境的任何类型,并且可以使用任何适合的数据存储技术来实现,诸如基于半导体的存储器设备、磁存储器设备和系统、光存储器设备和系统、固定存储器和可移除存储器。数据处理器可以是适用于本地技术环境的任何类型,并且可以包括作为非限制性示例的通用计算机、专用计算机、微处理器、数字信号处理器(DSP)和基于多核处理器架构的处理器中的一个或多个。
可以在诸如集成电路模块的各种组件中实现本发明的实施例。集成电路的设计基本上是高度自动化的过程。复杂且功能强大的软件工具可用于将逻辑级设计转换为准备在半导体衬底上蚀刻和形成的半导体电路设计。
程序(诸如位于加利福尼亚州山景城的Synopsys,Inc.和加利福尼亚州圣何塞的Cadence Design公司提供的程序)使用完善的设计规则以及预存储的设计模块库自动路由导体并定位半导体芯片上的元件。一旦完成半导体电路的设计,就可以将所得到的标准化电子格式(例如,Opus、GDSII等)的设计传输到半导体制造工厂或“fab”进行制造。
以上描述已经通过示例和非限制性示例提供了对本发明示例性实施例的全面和信息性描述。然而,当结合附图和所附权利要求阅读时,鉴于前面的描述,各种修改和调整对相关领域的技术人员可变得显而易见。然而,所有这些和类似的本发明教导的修改仍将落入本发明的范围内。
以下将提供一些示例。
根据第一示例,提供一种方法,其包括:
接收编码图像;
解码所述编码图像以形成具有有效图像区域的所述图像的重建构成帧;以及
执行以下操作之一:
填充所述有效图像区域以外的区域以产生填补参考图像,其中,所填充的区域形成边界扩展;或者
确定当在解码中参考所述有效图像区域以外的样本位置时,所述样本位置被充满或叠起在所述有效图像区域内。
根据所述方法的实施例,所述填充包括以下中的至少一个:对于所述有效图像区域以外的至少一个样本,
通过水平帧内预测来解码所述至少一个样本值;
通过垂直帧内预测来解码所述至少一个样本值;
通过来自与所述边界扩展相对的所述有效图像区域的边界区域的帧内块复制预测,解码所述至少一个样本值;
通过来自所述图像中的另一构成帧的帧内块复制预测,解码所述至少一个样本值;
通过来自解码顺序中的前一图像的帧间预测,解码所述至少一个样本值。
根据实施例,所述方法还包括:
解码构成帧边界以外的样本位置被充满或者被叠起的指示;以及
根据所解码的指示,确定所述样本位置被充满或者被叠起在所述有效图像区域内。
根据实施例,所述方法还包括:
解码所述构成帧的所述有效图像区域的指示。
根据实施例,所述方法还包括:
当所述构成帧被指示是360度全景图像时,通过从所述有效图像区域的相对侧复制,插入所述至少一个样本值。
根据实施例,所述方法包括:
解码所述编码图像以形成所述图像的第二重建构成帧。根据实施例,所述方法包括:
接收第二编码图像;
从所述第二编码图像中解码运动向量,所述运动向量导致在解码中对所述重建构成帧的所述有效图像区域以外的样本位置的参考;以及
将所述样品位置充满或叠起在所述有效图像区域内。
根据第二示例,提供一种装置,其包括至少一个处理器和至少一个存储器,所述至少一个存储器上存储有代码,所述代码在由所述至少一个处理器执行时使所述装置至少执行:
接收编码图像;
解码所述编码图像以形成具有有效图像区域的所述图像的重建构成帧;以及
执行以下操作之一:
填充所述有效图像区域以外的区域以产生填补参考图像,其中,所填充的区域形成边界扩展;或者
确定当在解码中参考所述有效图像区域以外的样本位置时,所述样本位置被充满或叠起在所述有效图像区域内。
根据所述装置的实施例,所述填充包括使该装置执行以下操作中的至少一个的代码:
通过水平帧内预测解码所述至少一个样本值;
通过垂直帧内预测解码所述至少一个样本值;
通过来自与所述边界扩展相对的所述有效图像区域的边界区域的帧内块复制预测,解码所述至少一个样本值;
通过来自所述图像中的另一构成帧的帧内块复制预测,解码所述至少一个样本值;
通过来自解码顺序中的前一图像的帧间预测,解码所述至少一个样本值。
根据实施例,所述装置还包括使该装置至少执行以下操作的代码:
解码构成帧边界以外的样本位置被充满或者被叠起的指示;以及
根据所解码的指示,确定所述样本位置被充满或者被叠起在所述有效图像区域内。
根据实施例,所述装置还包括使该装置至少执行以下动作的代码:
解码所述构成帧的所述有效图像区域的指示。
根据一个实施例,所述装置还包括使该装置至少执行以下操作的代码:
当所述构成帧被指示是360度全景图像时,通过从所述有效图像区域的相对侧复制,插入所述至少一个样本值。
根据实施例,所述装置还包括使该装置至少执行以下操作的代码:
解码所述有效图像区域以外的区域以获得中间参考帧;
进一步地,其中,所述填充包括修改所述中间参考帧的边界扩展的至少一个样本值。
根据实施例,所述装置还包括使该装置至少执行以下操作的代码:
解码所述编码图像以形成所述图像的第二重建构成帧。根据实施例,所述装置还包括使该装置至少执行以下操作的代码:
接收第二编码图像;
从所述第二编码图像中解码运动向量,所述运动向量导致在解码中对所述重建构成帧的所述有效图像区域以外的样本位置的参考;以及
将所述样品位置充满或叠起在所述有效图像区域内。
根据第三示例,提供一种计算机可读存储介质,其上存储有供装置使用的代码,所述代码在由处理器执行时使所述装置执行:
接收编码图像;
解码所述编码图像以形成具有有效图像区域的所述图像的重建构成帧;以及
执行以下操作之一:
填充所述有效图像区域以外的区域以产生填补参考图像,其中,所填充的区域形成边界扩展;或者
确定当在解码中参考所述有效图像区域以外的样本位置时,所述样本位置被充满或叠起在所述有效图像区域内。
根据第四示例,提供一种装置,其包括:
用于接收编码图像的装置;
用于解码所述编码图像以形成具有有效图像区域的所述图像的重建构成帧的装置;以及
用于执行以下操作之一的装置:
填充所述有效图像区域以外的区域以产生填补参考图像,其中,所填充的区域形成边界扩展;或者
确定当在解码中参考所述有效图像区域以外的样本位置时,所述样本位置被充满或叠起在所述有效图像区域内。
根据第五示例,提供一种方法,其包括:
将未压缩构成帧编码成第一编码图像,所述编码还导致第一重建图像,并且所述构成帧具有所述第一重建图像内的有效图像区域;
执行以下操作之一作为所述编码的一部分:
在所述有效图像区域以外插入至少一个样本值,以形成所述第一重建图像中的所述构成帧的边界扩展;或者
将所述有效图像区域以外的样本位置充满或叠起在所述有效图像区域内。
根据实施例,所述方法还包括:
通过水平帧内预测获得所述至少一个样本值;
通过垂直帧内预测获得所述至少一个样本值;
通过来自与所述边界扩展相对的所述有效图像区域的边界的帧内块复制预测,获得所述至少一个样本值;
通过来自所述重建图像中的另一构成帧的帧内块复制预测,获得所述至少一个样本值;
通过来自解码顺序中的前一图像的帧间预测,获得所述至少一个样本值。
根据实施例,所述方法还包括:
编码构成帧边界以外的样本位置被充满或者被叠起的指示。
根据实施例,所述方法还包括:
编码所述构成帧的所述有效图像区域的指示。
根据实施例,所述方法还包括:
当所述构成帧被指示是360度全景图像时,通过从所述有效图像区域的相对侧复制,插入所述至少一个样本值。根据所述方法的实施例,所述编码包括:
重建所述有效图像区域以外的区域以获得中间参考帧;
进一步地,其中,所述填充包括修改所述中间参考帧的边界扩展的至少一个样本值。
根据实施例,所述方法包括:
将第二未压缩构成帧编码到所述第一编码图像中。
根据实施例,所述方法还包括:
编码第二编码图像;
所述编码所述第二编码图像包括编码运动向量,所述运动向量导致在解码中对所述重建构成帧的所述有效图像区域以外的样本位置的参考;以及
将所述样品位置充满或叠起在所述有效图像区域内。根据第六示例,提供一种装置,其包括至少一个处理器和至少一个存储器,所述至少一个存储器上存储有代码,所述代码在由所述至少一个处理器执行时使所述装置至少执行:
将未压缩构成帧编码成第一编码图像,所述编码还导致第一重建图像,并且所述构成帧具有所述第一重建图像内的有效图像区域;
执行以下操作之一作为所述编码的一部分:
在所述有效图像区域以外插入至少一个样本值,以形成所述第一重建图像中的所述构成帧的边界扩展;或者
将所述有效图像区域以外的样本位置充满或叠起在所述有效图像区域内。
根据实施例,所述装置包括:
通过水平帧内预测获得所述至少一个样本值;
通过垂直帧内预测获得所述至少一个样本值;
通过来自与所述边界扩展相对的所述有效图像区域的边界的帧内块复制预测,获得所述至少一个样本值;
通过来自所述重建图像中的另一构成帧的帧内块复制预测,获得所述至少一个样本值;
通过来自解码顺序中的前一图像的帧间预测,获得所述至少一个样本值。
根据实施例,所述装置还包括使该装置执行以下操作中的至少一个的代码:
编码构成帧边界以外的样本位置被充满或者被叠起的指示。
根据实施例,该装置还包括使该装置至少执行以下操作的代码:
编码所述构成帧的所述有效图像区域的指示。
根据实施例,该装置还包括使该装置至少执行以下操作的代码:
当所述构成帧被指示是360度全景图像时,通过从所述有效图像区域的相对侧复制,插入所述至少一个样本值。根据所述装置的实施例,所述编码包括使该装置至少执行以下操作的代码:
重建所述有效图像区域以外的区域以获得中间参考帧;
进一步地,其中,所述填充包括修改所述中间参考帧的边界扩展的至少一个样本值。
根据实施例,所述装置还包括使该装置至少执行以下操作的代码:
将第二未压缩构成帧编码到所述第一编码图像中。
根据实施例,所述装置还包括使该装置执行以下操作中的至少一个的代码:
编码第二编码图像;
所述编码所述第二编码图像包括编码运动向量,所述运动向量导致在解码中对所述重建构成帧的所述有效图像区域以外的样本位置的参考;以及
将所述样品位置充满或叠起在所述有效图像区域内。根据第七示例,提供一种计算机可读存储介质,其上存储有供装置使用的代码,所述代码在由处理器执行时使所述装置执行:
将未压缩构成帧编码成第一编码图像,所述编码还导致第一重建图像,并且所述构成帧具有所述第一重建图像内的有效图像区域;
执行以下操作之一作为所述编码的一部分:
在所述有效图像区域以外插入至少一个样本值,以形成所述第一重建图像中的所述构成帧的边界扩展;或者
将所述有效图像区域以外的样本位置充满或叠起在所述有效图像区域内。
根据第八示例,提供一种装置,其包括:
用于将未压缩构成帧编码成第一编码图像的装置,所述编码还导致第一重建图像,并且所述构成帧具有所述第一重建图像内的有效图像区域;
用于执行以下操作之一作为所述编码的一部分的装置:
在所述有效图像区域以外插入至少一个样本值,以形成所述第一重建图像中的所述构成帧的边界扩展;或者
将所述有效图像区域以外的样本位置充满或叠起在所述有效图像区域内。

Claims (22)

1.一种方法,包括:
接收编码图像;
解码所述编码图像以形成具有有效图像区域的所述图像的重建构成帧;以及
执行以下操作之一:
填充所述有效图像区域以外的区域以产生填补参考图像,其中,所填充的区域形成边界扩展;或者
确定当在解码中参考所述有效图像区域以外的样本位置时,所述样本位置被充满或叠起在所述有效图像区域内。
2.根据权利要求1所述的方法,其中,所述填充包括以下中的至少一个:对于所述有效图像区域以外的至少一个样本,
通过水平帧内预测来解码所述至少一个样本值;
通过垂直帧内预测来解码所述至少一个样本值;
通过来自与所述边界扩展相对的所述有效图像区域的边界区域的帧内块复制预测,解码所述至少一个样本值;
通过来自所述图像中的另一构成帧的帧内块复制预测,解码所述至少一个样本值;
通过来自解码顺序中的前一图像的帧间预测,解码所述至少一个样本值。
3.根据权利要求1所述的方法,包括:
解码构成帧边界以外的样本位置被充满或者被叠起的指示;以及
根据所解码的指示,确定所述样本位置被充满或者被叠起在所述有效图像区域内。
4.根据权利要求1、2或3中任一项所述的方法,还包括:
解码所述构成帧的所述有效图像区域的指示。
5.根据权利要求1、2或4中任一项所述的方法,包括:
当所述构成帧被指示是360度全景图像时,通过从所述有效图像区域的相对侧复制,插入所述至少一个样本值。
6.根据权利要求1、2、4或5中任一项所述的方法,其中,所述解码所述编码图像包括:
解码所述有效图像区域以外的区域以获得中间参考帧;
进一步地,其中,所述填充包括修改所述中间参考帧的边界扩展的至少一个样本值。
7.根据权利要求1至6中任一项所述的方法,还包括:
解码所述编码图像以形成所述图像的第二重建构成帧。
8.根据权利要求1、3、4或7中任一项所述的方法,还包括:
接收第二编码图像;
从所述第二编码图像中解码运动向量,所述运动向量导致在解码中对所述重建构成帧的所述有效图像区域以外的样本位置的参考;以及
将所述样品位置充满或叠起在所述有效图像区域内。
9.一种装置,包括至少一个处理器和至少一个存储器,所述至少一个存储器上存储有代码,所述代码在由所述至少一个处理器执行时使所述装置至少执行:
接收编码图像;
解码所述编码图像以形成具有有效图像区域的所述图像的重建构成帧;以及
执行以下操作之一:
填充所述有效图像区域以外的区域以产生填补参考图像,其中,所填充的区域形成边界扩展;或者
确定当在解码中参考所述有效图像区域以外的样本位置时,所述样本位置被充满或叠起在所述有效图像区域内。
10.根据权利要求9所述的装置,其中,所述装置还被配置为执行如权利要求2至8中任一项所述的方法。
11.一种装置,包括:
用于接收编码图像的装置;
用于解码所述编码图像以形成具有有效图像区域的所述图像的重建构成帧的装置;以及
用于执行以下操作之一的装置:
填充所述有效图像区域以外的区域以产生填补参考图像,其中,所填充的区域形成边界扩展;或者
确定当在解码中参考所述有效图像区域以外的样本位置时,所述样本位置被充满或叠起在所述有效图像区域内。
12.一种方法,包括:
将未压缩构成帧编码成第一编码图像,所述编码还导致第一重建图像,并且所述构成帧具有所述第一重建图像内的有效图像区域;
执行以下操作之一作为所述编码的一部分:
在所述有效图像区域以外插入至少一个样本值,以形成所述第一重建图像中的所述构成帧的边界扩展;或者
将所述有效图像区域以外的样本位置充满或叠起在所述有效图像区域内。
13.根据权利要求12所述的方法,包括以下中的至少一个:
通过水平帧内预测获得所述至少一个样本值;
通过垂直帧内预测获得所述至少一个样本值;
通过来自与所述边界扩展相对的所述有效图像区域的边界的帧内块复制预测,获得所述至少一个样本值;
通过来自所述重建图像中的另一构成帧的帧内块复制预测,获得所述至少一个样本值;
通过来自解码顺序中的前一图像的帧间预测,获得所述至少一个样本值。
14.根据权利要求12所述的方法,包括:
编码构成帧边界以外的样本位置被充满或者被叠起的指示。
15.根据权利要求12、13或14中任一项所述的方法,还包括:
编码所述构成帧的所述有效图像区域的指示。
16.根据权利要求12所述的方法,包括:
当所述构成帧被指示是360度全景图像时,通过从所述有效图像区域的相对侧复制,插入所述至少一个样本值。
17.根据权利要求12、13、15或16中任一项所述的方法,其中,所述编码包括:
重建所述有效图像区域以外的区域以获得中间参考帧;
进一步地,其中,所述填充包括修改所述中间参考帧的边界扩展的至少一个样本值。
18.根据权利要求12至17中任一项所述的方法,还包括:
将第二未压缩构成帧编码到所述第一编码图像中。
19.根据权利要求12、14、15或18中任一项所述的方法,还包括:
编码第二编码图像;
所述编码所述第二编码图像包括编码运动向量,所述运动向量导致在解码中对所述重建构成帧的所述有效图像区域以外的样本位置的参考;以及
将所述样品位置充满或叠起在所述有效图像区域内。
20.一种装置,包括至少一个处理器和至少一个存储器,所述至少一个存储器上存储有代码,所述代码在由所述至少一个处理器执行时使所述装置至少执行:
将未压缩构成帧编码成第一编码图像,所述编码还导致第一重建图像,并且所述构成帧具有所述第一重建图像内的有效图像区域;
执行以下操作之一作为所述编码的一部分:
在所述有效图像区域以外插入至少一个样本值,以形成所述第一重建图像中的所述构成帧的边界扩展;或者
将所述有效图像区域以外的样本位置充满或叠起在所述有效图像区域内。
21.根据权利要求20所述的装置,其中,所述装置还被配置为执行如权利要求13至19中任一项所述的方法。
22.一种装置,包括:
用于将未压缩构成帧编码成第一编码图像的装置,所述编码还导致第一重建图像,并且所述构成帧具有所述第一重建图像内的有效图像区域;
用于执行以下操作之一作为所述编码的一部分的装置:
在所述有效图像区域以外插入至少一个样本值,以形成所述第一重建图像中的所述构成帧的边界扩展;或者
将所述有效图像区域以外的样本位置充满或叠起在所述有效图像区域内。
CN201780017098.3A 2016-03-24 2017-03-17 用于视频编码和解码的装置、方法及计算机程序 Active CN108886620B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FI20165256 2016-03-24
FI20165256A FI20165256A (fi) 2016-03-24 2016-03-24 Laitteisto, menetelmä ja tietokoneohjelma videokoodaukseen ja -dekoodaukseen
PCT/FI2017/050180 WO2017162912A1 (en) 2016-03-24 2017-03-17 An apparatus, a method and a computer program for video coding and decoding

Publications (2)

Publication Number Publication Date
CN108886620A true CN108886620A (zh) 2018-11-23
CN108886620B CN108886620B (zh) 2022-08-26

Family

ID=59901151

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780017098.3A Active CN108886620B (zh) 2016-03-24 2017-03-17 用于视频编码和解码的装置、方法及计算机程序

Country Status (10)

Country Link
US (1) US10863182B2 (zh)
EP (1) EP3434019A4 (zh)
JP (1) JP6644903B2 (zh)
KR (2) KR102567284B1 (zh)
CN (1) CN108886620B (zh)
AU (1) AU2017236196C1 (zh)
FI (1) FI20165256A (zh)
MX (1) MX2018011085A (zh)
PH (1) PH12018502011A1 (zh)
WO (1) WO2017162912A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113228633A (zh) * 2018-12-31 2021-08-06 腾讯美国有限责任公司 用于全向媒体编解码的环绕填充方法
CN113508598A (zh) * 2019-03-01 2021-10-15 腾讯美国有限责任公司 用于点云压缩的增强的补丁边界标识的方法和装置
CN113994698A (zh) * 2019-06-04 2022-01-28 北京字节跳动网络技术有限公司 有条件地实施运动候选列表构建过程
WO2022174783A1 (en) * 2021-02-20 2022-08-25 Beijing Bytedance Network Technology Co., Ltd. On boundary padding sample filtering in image/video coding
CN115088265A (zh) * 2019-12-12 2022-09-20 Lg电子株式会社 用于控制环路滤波的图像编码装置和方法

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6983862B2 (ja) * 2016-07-08 2021-12-17 ヴィド スケール インコーポレイテッド ジオメトリ投影を使用する360度ビデオ符号化
WO2018025660A1 (ja) * 2016-08-05 2018-02-08 ソニー株式会社 画像処理装置および画像処理方法
CN109644279B (zh) 2016-09-02 2023-09-22 Vid拓展公司 用于用信号通知360度视频信息的方法和系统
EP3518534B1 (en) * 2016-09-26 2023-05-17 Sony Group Corporation Encoding device, encoding method, decoding device, decoding method, transmission device, and reception device
CN114531592A (zh) 2016-10-04 2022-05-24 有限公司B1影像技术研究所 图像数据编码/解码方法、介质和发送比特流的方法
KR102531386B1 (ko) 2016-10-04 2023-05-12 주식회사 비원영상기술연구소 영상 데이터 부호화/복호화 방법 및 장치
US20190253624A1 (en) * 2017-07-17 2019-08-15 Ki Baek Kim Image data encoding/decoding method and apparatus
US12022199B2 (en) 2016-10-06 2024-06-25 B1 Institute Of Image Technology, Inc. Image data encoding/decoding method and apparatus
US10999602B2 (en) 2016-12-23 2021-05-04 Apple Inc. Sphere projected motion estimation/compensation and mode decision
JP6922215B2 (ja) * 2016-12-27 2021-08-18 富士通株式会社 動画像符号化装置
US11259046B2 (en) 2017-02-15 2022-02-22 Apple Inc. Processing of equirectangular object data to compensate for distortion by spherical projections
US10924747B2 (en) 2017-02-27 2021-02-16 Apple Inc. Video coding techniques for multi-view video
KR20200005539A (ko) * 2017-04-11 2020-01-15 브이아이디 스케일, 인크. 면 연속성을 사용하는 360 도 비디오 코딩
US10467775B1 (en) * 2017-05-03 2019-11-05 Amazon Technologies, Inc. Identifying pixel locations using a transformation function
US11093752B2 (en) 2017-06-02 2021-08-17 Apple Inc. Object tracking in multi-view video
CN109089119B (zh) * 2017-06-13 2021-08-13 浙江大学 一种运动矢量预测的方法及设备
CN107396081B (zh) * 2017-06-19 2019-04-12 深圳市铂岩科技有限公司 针对全景视频的优化编码方法及装置
US20190005709A1 (en) * 2017-06-30 2019-01-03 Apple Inc. Techniques for Correction of Visual Artifacts in Multi-View Images
US10754242B2 (en) 2017-06-30 2020-08-25 Apple Inc. Adaptive resolution and projection format in multi-direction video
EP3643062A1 (en) * 2017-07-04 2020-04-29 Huawei Technologies Co., Ltd. Decoder side intra mode derivation (dimd) tool computational complexity reduction
FR3068557A1 (fr) 2017-07-05 2019-01-04 Orange Procede de codage et decodage d'images,dispositif de codage et decodage et programmes d'ordinateur correspondants
WO2019073113A1 (en) * 2017-10-09 2019-04-18 Nokia Technologies Oy APPARATUS, METHOD AND COMPUTER PROGRAM FOR VIDEO ENCODING AND DECODING
WO2019165343A1 (en) * 2018-02-26 2019-08-29 Interdigital Vc Holdings, Inc. Gradient based boundary filtering in intra prediction
US11069026B2 (en) * 2018-03-02 2021-07-20 Mediatek Inc. Method for processing projection-based frame that includes projection faces packed in cube-based projection layout with padding
KR20190110043A (ko) * 2018-03-19 2019-09-27 주식회사 케이티 비디오 신호 처리 방법 및 장치
TWI730311B (zh) 2018-03-29 2021-06-11 弗勞恩霍夫爾協會 用以選擇內預測模式以供填補之設備
US10735778B2 (en) 2018-08-23 2020-08-04 At&T Intellectual Property I, L.P. Proxy assisted panoramic video streaming at mobile edge
TWI822863B (zh) 2018-09-27 2023-11-21 美商Vid衡器股份有限公司 360度視訊寫碼樣本導出
KR20210089131A (ko) 2018-11-06 2021-07-15 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 위치 기반 인트라 예측
JP7164813B2 (ja) * 2018-11-21 2022-11-02 日本電信電話株式会社 予測装置、予測方法、及びプログラム。
WO2020108591A1 (en) 2018-12-01 2020-06-04 Beijing Bytedance Network Technology Co., Ltd. Parameter derivation for intra prediction
EP3871415A4 (en) 2018-12-07 2022-04-13 Beijing Bytedance Network Technology Co., Ltd. CONTEXT-BASED INTRAPREDICTION
US11962756B2 (en) 2019-01-05 2024-04-16 Lg Electronics Inc. Method and apparatus for processing video data
US11240518B2 (en) * 2019-01-06 2022-02-01 Tencent America LLC Method and apparatus for video coding
JP2022521698A (ja) * 2019-02-22 2022-04-12 北京字節跳動網絡技術有限公司 イントラ予測のための隣接サンプル選択
AU2020226566A1 (en) 2019-02-24 2021-08-19 Beijing Bytedance Network Technology Co., Ltd. Parameter derivation for intra prediction
EP3935841A4 (en) * 2019-03-08 2023-01-04 Beijing Dajia Internet Information Technology Co., Ltd. VIDEO ENCODING TO HANDLE DIFFERENT IMAGE SIZES
GB2619430B (en) * 2019-03-20 2024-02-21 V Nova Int Ltd Low complexity enhancement video coding
CN117880494A (zh) 2019-03-24 2024-04-12 北京字节跳动网络技术有限公司 用于帧内预测的参数推导的条件
US11252442B2 (en) * 2019-04-08 2022-02-15 Tencent America LLC Method and apparatus for video coding
WO2020256595A2 (en) * 2019-06-21 2020-12-24 Huawei Technologies Co., Ltd. Method and apparatus of still picture and video coding with shape-adaptive resampling of residual blocks
JP7354417B2 (ja) * 2019-08-16 2023-10-02 グーグル エルエルシー ビデオ通話用の顔ベースのフレームパッキング
WO2021040574A1 (en) * 2019-08-31 2021-03-04 Huawei Technologies Co., Ltd. Method and apparatus of still picture and video coding with shape-adaptive resampling of residual blocks
US11375238B2 (en) 2019-09-20 2022-06-28 Tencent America LLC Method for padding processing with sub-region partitions in video stream
CN114424561B (zh) * 2019-09-24 2023-10-20 华为技术有限公司 不允许不必要的层包括在多层视频码流中
US11589037B2 (en) * 2019-12-20 2023-02-21 Qualcomm Incorporated Motion compensation using size of reference picture
EP4062635A4 (en) 2019-12-26 2022-12-28 ByteDance Inc. CONSTRAINTS ON SIGNALING VIDEO LAYERS IN ENCODED BITSTREAMS
WO2021134018A1 (en) 2019-12-26 2021-07-01 Bytedance Inc. Signaling of decoded picture buffer parameters in layered video
KR20220113404A (ko) 2019-12-27 2022-08-12 바이트댄스 아이엔씨 비디오 서브픽처들을 시그널링하기 위한 신택스
WO2021142369A1 (en) 2020-01-09 2021-07-15 Bytedance Inc. Signalling of the wavefront parallel processing
WO2021173475A1 (en) * 2020-02-24 2021-09-02 Alibaba Group Holding Limited Methods for combining decoder side motion vector refinement with wrap-around motion compensation
CN111598806B (zh) * 2020-05-15 2023-06-13 Oppo(重庆)智能科技有限公司 图像滤波方法和装置、电子设备及存储介质
CN115868167A (zh) * 2020-05-22 2023-03-28 抖音视界有限公司 子比特流提取处理中对编解码视频的处理
KR102403817B1 (ko) * 2020-11-24 2022-05-31 이화여자대학교 산학협력단 화면 내 블록 카피를 이용한 다시점 영상에서의 블록 벡터 예측 기법 및 디코더
EP4037320A1 (en) * 2021-01-29 2022-08-03 Lemon Inc. Boundary extension for video coding
WO2022174784A1 (en) * 2021-02-20 2022-08-25 Beijing Bytedance Network Technology Co., Ltd. On boundary padding motion vector clipping in image/video coding
US20230102088A1 (en) * 2021-09-29 2023-03-30 Tencent America LLC Techniques for constraint flag signaling for range extension
WO2023215108A1 (en) * 2022-05-05 2023-11-09 Dolby Laboratories Licensing Corporation Stereoscopic high dynamic range video
WO2023239147A1 (ko) * 2022-06-07 2023-12-14 현대자동차주식회사 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
US20240080463A1 (en) * 2022-09-02 2024-03-07 Tencent America LLC Cross component sample clipping

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060034530A1 (en) * 2004-08-13 2006-02-16 Samsung Electronics Co., Ltd. Method and device for making virtual image region for motion estimation and compensation of panorama image
US20060034374A1 (en) * 2004-08-13 2006-02-16 Gwang-Hoon Park Method and device for motion estimation and compensation for panorama image
CN101394569A (zh) * 2008-10-29 2009-03-25 北京创毅视讯科技有限公司 一种avs视频解码器的容错方法、装置及芯片
US20110122950A1 (en) * 2009-11-26 2011-05-26 Ji Tianying Video decoder and method for motion compensation for out-of-boundary pixels
US20130128979A1 (en) * 2010-05-11 2013-05-23 Telefonaktiebolaget Lm Ericsson (Publ) Video signal compression coding
US20130156107A1 (en) * 2011-12-16 2013-06-20 Fujitsu Limited Encoding device, decoding device, encoding method, and decoding method
CN105379284A (zh) * 2013-07-22 2016-03-02 瑞萨电子株式会社 动态图像编码装置及其动作方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141034A (en) 1995-12-15 2000-10-31 Immersive Media Co. Immersive imaging method and apparatus
KR100285599B1 (ko) * 1998-03-14 2001-04-02 전주범 격행 부호화에서의 움직임 추정을 위한 텍스쳐 패딩 장치 및그 패딩 방법
JP3413720B2 (ja) * 1998-06-26 2003-06-09 ソニー株式会社 画像符号化方法及び装置、並びに画像復号方法及び装置
JP3413721B2 (ja) * 1998-06-26 2003-06-09 ソニー株式会社 画像符号化方法及び装置、並びに画像復号方法及び装置
AU2002323591A1 (en) * 2001-09-05 2003-03-18 Emblaze Systems Ltd. Method for reducing blocking artifacts
KR100477801B1 (ko) * 2002-12-26 2005-03-22 한국전자통신연구원 3차원 영상정보 기술장치와 그 방법 및 이를 이용한 3차원영상정보 검색장치 및 그 방법
US20050008240A1 (en) * 2003-05-02 2005-01-13 Ashish Banerji Stitching of video for continuous presence multipoint video conferencing
EP1503597A3 (en) * 2003-07-28 2007-01-03 Matsushita Electric Industrial Co., Ltd. Video decoding apparatus
US7623682B2 (en) * 2004-08-13 2009-11-24 Samsung Electronics Co., Ltd. Method and device for motion estimation and compensation for panorama image
JP4703449B2 (ja) 2006-03-23 2011-06-15 三洋電機株式会社 符号化方法
EP2453657A1 (en) * 2006-04-28 2012-05-16 NTT DoCoMo, Inc. Image predictive decoding device
US8208563B2 (en) * 2008-04-23 2012-06-26 Qualcomm Incorporated Boundary artifact correction within video units
CN102239506B (zh) * 2008-10-02 2014-07-09 弗兰霍菲尔运输应用研究公司 中间视合成和多视点数据信号的提取
US9025933B2 (en) * 2010-02-12 2015-05-05 Sony Corporation Information processing device, information processing method, playback device, playback method, program and recording medium
KR102009049B1 (ko) * 2011-11-11 2019-08-08 소니 주식회사 송신 장치, 송신 방법, 수신 장치 및 수신 방법
EP2920962A4 (en) * 2012-11-13 2016-07-20 Intel Corp ADAPTIVE TRANSFORMATION ENCODING OF CONTENT FOR NEXT GENERATION VIDEO
GB2513090B (en) * 2013-01-28 2019-12-11 Microsoft Technology Licensing Llc Conditional concealment of lost video data
CN110225356B (zh) * 2013-04-08 2024-02-13 Ge视频压缩有限责任公司 多视图解码器
JP6373008B2 (ja) * 2013-12-27 2018-08-15 三菱電機株式会社 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
US20150237351A1 (en) * 2014-02-18 2015-08-20 Penne Lee Techniques for inclusion of region of interest indications in compressed video data
US9591325B2 (en) * 2015-01-27 2017-03-07 Microsoft Technology Licensing, Llc Special case handling for merged chroma blocks in intra block copy prediction mode
US10217189B2 (en) * 2015-09-16 2019-02-26 Google Llc General spherical capture methods
JP6983862B2 (ja) * 2016-07-08 2021-12-17 ヴィド スケール インコーポレイテッド ジオメトリ投影を使用する360度ビデオ符号化

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060034530A1 (en) * 2004-08-13 2006-02-16 Samsung Electronics Co., Ltd. Method and device for making virtual image region for motion estimation and compensation of panorama image
US20060034374A1 (en) * 2004-08-13 2006-02-16 Gwang-Hoon Park Method and device for motion estimation and compensation for panorama image
CN101394569A (zh) * 2008-10-29 2009-03-25 北京创毅视讯科技有限公司 一种avs视频解码器的容错方法、装置及芯片
US20110122950A1 (en) * 2009-11-26 2011-05-26 Ji Tianying Video decoder and method for motion compensation for out-of-boundary pixels
US20130128979A1 (en) * 2010-05-11 2013-05-23 Telefonaktiebolaget Lm Ericsson (Publ) Video signal compression coding
US20130156107A1 (en) * 2011-12-16 2013-06-20 Fujitsu Limited Encoding device, decoding device, encoding method, and decoding method
CN105379284A (zh) * 2013-07-22 2016-03-02 瑞萨电子株式会社 动态图像编码装置及其动作方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113228633A (zh) * 2018-12-31 2021-08-06 腾讯美国有限责任公司 用于全向媒体编解码的环绕填充方法
CN113228633B (zh) * 2018-12-31 2024-05-03 腾讯美国有限责任公司 视频编解码的方法和设备
CN113508598A (zh) * 2019-03-01 2021-10-15 腾讯美国有限责任公司 用于点云压缩的增强的补丁边界标识的方法和装置
CN113508598B (zh) * 2019-03-01 2024-02-06 腾讯美国有限责任公司 对使用视频点云编解码编码的视频流进行解码的方法和装置
CN113994698A (zh) * 2019-06-04 2022-01-28 北京字节跳动网络技术有限公司 有条件地实施运动候选列表构建过程
CN113994698B (zh) * 2019-06-04 2023-11-24 北京字节跳动网络技术有限公司 有条件地实施运动候选列表构建过程
CN115088265A (zh) * 2019-12-12 2022-09-20 Lg电子株式会社 用于控制环路滤波的图像编码装置和方法
WO2022174783A1 (en) * 2021-02-20 2022-08-25 Beijing Bytedance Network Technology Co., Ltd. On boundary padding sample filtering in image/video coding

Also Published As

Publication number Publication date
MX2018011085A (es) 2018-11-22
EP3434019A1 (en) 2019-01-30
KR20180124972A (ko) 2018-11-21
JP6644903B2 (ja) 2020-02-12
KR20210086720A (ko) 2021-07-08
AU2017236196C1 (en) 2022-07-21
FI20165256L (fi) 2017-09-25
US10863182B2 (en) 2020-12-08
US20190082184A1 (en) 2019-03-14
AU2017236196B2 (en) 2022-04-07
CN108886620B (zh) 2022-08-26
FI20165256A (fi) 2017-09-25
EP3434019A4 (en) 2019-08-14
JP2019513320A (ja) 2019-05-23
KR102273418B1 (ko) 2021-07-06
WO2017162912A1 (en) 2017-09-28
KR102567284B1 (ko) 2023-08-14
AU2017236196A1 (en) 2018-08-09
PH12018502011A1 (en) 2019-07-15

Similar Documents

Publication Publication Date Title
CN108886620A (zh) 用于视频编码和解码的装置、方法及计算机程序
CN110419219A (zh) 用于视频编码和解码的装置、方法和计算机程序
CN106464893B (zh) 用于视频编码和解码的装置、方法和计算机程序
CN110870302B (zh) 用于全向视频的装置、方法和计算机程序
CN105556965B (zh) 用于视频编码和解码的方法、装置和计算机程序产品
CN106105220B (zh) 用于视频编码和解码的方法和装置
KR101825575B1 (ko) 비디오 코딩 및 디코딩 방법 및 장치
CN105580373B (zh) 用于视频编码和解码的装置和方法
CN104813669B (zh) 用于视频编码的方法和装置
KR101630564B1 (ko) 비디오 코딩을 위한 방법 및 장치
CN109565602A (zh) 视频编码和解码
CN105531999B (zh) 涉及用于信号传输运动信息的语法的视频编码方法及装置
CN108702503A (zh) 用于视频编码和解码的装置、方法及计算机程序
CN104813671B (zh) 用于处理视频数据的方法和设备
CN108293136A (zh) 用于编码360度全景视频的方法、装置和计算机程序产品
CN104769948B (zh) 一种编解码方法、装置及可读存储介质
CN108293127A (zh) 用于视频编码和解码的装置、方法和计算机程序
CN105027569B (zh) 用于视频编码和解码的装置和方法
CN109155861A (zh) 用于编码媒体内容的方法和装置以及计算机程序
CN110431849A (zh) 包含用于视频译码的子图片位流的视频内容的信令传输
CN109196867A (zh) 在帧内预测中使用的参考线索引的隐式译码
CN104604223A (zh) 用于视频编码和解码的装置、方法和计算机程序
GB2555788A (en) An apparatus, a method and a computer program for video coding and decoding
CN107710762A (zh) 用于视频编码和解码的装置、方法、以及计算机程序
KR20160134782A (ko) 비디오 코딩 및 디코딩용 방법 및 장치

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