CN109792518B - 处理视频数据的方法、设备和非暂时性计算机可读介质 - Google Patents

处理视频数据的方法、设备和非暂时性计算机可读介质 Download PDF

Info

Publication number
CN109792518B
CN109792518B CN201780061432.5A CN201780061432A CN109792518B CN 109792518 B CN109792518 B CN 109792518B CN 201780061432 A CN201780061432 A CN 201780061432A CN 109792518 B CN109792518 B CN 109792518B
Authority
CN
China
Prior art keywords
template
block
current block
reference picture
samples
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201780061432.5A
Other languages
English (en)
Other versions
CN109792518A (zh
Inventor
庄孝强
陈建乐
李翔
张凯
德内·布达伊哲·桑斯利
马尔塔·卡切维奇
钱威俊
孙宇辰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN109792518A publication Critical patent/CN109792518A/zh
Application granted granted Critical
Publication of CN109792518B publication Critical patent/CN109792518B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/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/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/198Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including smoothing of a sequence of encoding parameters, e.g. by averaging, by choice of the maximum, minimum or median value
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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
    • 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/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/553Motion estimation dealing with occlusions
    • 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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks

Landscapes

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

Abstract

提供了用于处理视频数据的技术和系统。举例来说,可以通过编码装置或解码装置获得所述视频数据的图片的当前块以用于处理。可以确定所述当前块的参数。基于所述当前块的所述所确定的参数,可以确定所述当前块的模板中的样本的行的数量或样本的列的数量中的至少一或多个以及参考图片的模板中的样本的行的数量或样本的列的数量中的至少一或多个。可以针对所述当前块执行运动补偿。举例来说,可以使用所述当前块的所述模板和所述参考图片的所述模板导出用于所述当前块的一或多个局部照明补偿参数。

Description

处理视频数据的方法、设备和非暂时性计算机可读介质
技术领域
本申请涉及视频译码和压缩。更确切地说,本申请涉及的执行改进型照明补偿的系统和方法。
背景技术
许多装置和系统允许处理和输出视频数据以用于消费。数字视频数据包含大量数据以满足消费者和视频供应商的需求。举例来说,视频数据的消费者希望视频具有最佳的质量以及高保真度、分辨率、帧率等等。因此,需要满足这些需求的大量视频数据给处理和存储视频数据的通信网络和装置造成了负担。
各种视频译码技术可用于压缩视频数据。根据一或多个视频译码标准执行视频译码。举例来说,视频译码标准包含高效视频译码(HEVC)、高级视频译码(AVC)、移动图片专家组(MPEG)译码或类似标准。视频译码通常使用预测方法(例如,帧间预测、帧内预测,或类似者),这些预测方法利用存在于视频图像或序列中的冗余。视频译码技术的重要目标是将视频数据压缩成使用较低位速率的形式,同时避免或最小化视频质量的降级。随着不断演进的视频服务变得可供使用,需要具有更好的译码效率的编码技术。
发明内容
照明补偿可用于高效地补偿一或多个图片之间的照明中的变化。在一些实施方案中,在本文中描述了用于适应性地确定用于局部照明补偿(LIC)的一或多个模板的大小的技术和系统。举例来说,用于导出当前块的一或多个LIC参数的模板中的像素的行和/或列的数量可以取决于当前块的参数而不同。所述参数可包含块大小(例如,块的宽度、高度,或宽度和高度,或大小的其它合适的量度)、块的色度格式(例如,4:2:0格式、4:2:2格式、4:4:4格式,或其它合适的色度格式),或可用于确定模板大小的其它参数。
根据至少一个实例,提供一种处理视频数据的方法。所述方法包括获得视频数据的图片的当前块。所述方法进一步包括确定当前块的参数。所述方法进一步包括基于当前块的所确定的参数确定当前块的模板中的样本的行的数量或样本的列的数量中的至少一或多个以及参考图片的模板中的样本的行的数量或样本的列的数量中的至少一或多个。所述方法进一步包括针对当前块执行运动补偿。执行运动补偿包含使用当前块的模板和参考图片的模板导出用于当前块的一或多个局部照明补偿参数。
在另一实例中,提供一种用于处理视频数据的设备,所述设备包含经配置以存储视频数据的存储器和处理器。处理器经配置以并且可以获得视频数据的图片的当前块。处理器进一步经配置以并且可以确定当前块的参数。处理器进一步经配置以并且可以基于当前块的所确定的参数确定当前块的模板中的样本的行的数量或样本的列的数量中的至少一或多个以及参考图片的模板中的样本的行的数量或样本的列的数量中的至少一或多个。处理器进一步经配置以并且可以针对当前块执行运动补偿。执行运动补偿包含使用当前块的模板和参考图片的模板导出用于当前块的一或多个局部照明补偿参数。
在另一实例中,提供一种上面存储有指令的非暂时性计算机可读媒体,所述指令在由一或多个处理器执行时使得一或多个处理器:获得视频数据的图片的当前块;确定当前块的参数;基于当前块的所确定的参数确定当前块的模板中的样本的行的数量或样本的列的数量中的至少一或多个以及参考图片的模板中的样本的行的数量或样本的列的数量中的至少一或多个;以及针对当前块执行运动补偿,其中执行运动补偿包含使用当前块的模板和参考图片的模板导出用于当前块的一或多个局部照明补偿参数。
在另一实例中,提供一种用于处理视频数据的设备。所述设备包含用于获得视频数据的图片的当前块的装置。所述设备进一步包含用于确定当前块的参数的装置。所述设备进一步包含用于基于当前块的所确定的参数确定当前块的模板中的样本的行的数量或样本的列的数量中的至少一或多个以及参考图片的模板中的样本的行的数量或样本的列的数量中的至少一或多个的装置。所述设备进一步包含用于针对当前块执行运动补偿的装置。执行运动补偿包含使用当前块的模板和参考图片的模板导出用于当前块的一或多个局部照明补偿参数。
在一些方面中,当前块的参数包含当前块的大小。在一些情况下,当前块的大小包含当前块的宽度。在一些实例中,在当前块的宽度小于阈值宽度时当前块的模板中的样本的行的数量是一个行。在一些实例中,在当前块的宽度大于阈值宽度时当前块的模板中的样本的行的数量是多于一个行。
在一些情况下,当前块的大小包含当前块的高度。在一些实例中,在当前块的高度小于阈值高度时当前块的模板中的样本的列的数量是一个列。在一些实例中,在当前块的高度大于阈值高度时当前块的模板中的样本的列的数量是多于一个列。
在一些情况下,当前块的大小包含块的宽度和块的高度。
在一些实例中,当前块的参数包含当前块的色度格式。在一个说明性实例中,在当前块的色度格式是4:2:0时当前块的模板中的样本的行的数量和样本的列的数量被设置成当前块的亮度大小的一半。在另一实例中,在当前块的色度格式是4:2:2时当前块的模板中的样本的行的数量被设置成与当前块的亮度大小相同的大小并且当前块的模板中的样本的列的数量被设置成亮度大小的一半。
在一些方面中,上文所描述的方法、设备和计算机可读媒体可进一步包括使用一或多个照明补偿参数对当前块进行解码。
在一些方面中,上文所描述的方法、设备和计算机可读媒体可进一步包括在经编码视频位流中用信号发送一或多个照明补偿参数。
本发明内容并非意图识别所主张的标的物的关键特征或必要特征,也并非意图单独用于确定所主张的标的物的范围。标的物应参考此专利的整个说明书的适当部分、任何或所有图式以及每一权利要求来理解。
在参考以下说明书、权利要求书以及附图之后,前述内容连同其它特征和实施例将变得更显而易见。
附图说明
下文参考以下图式详细描述本发明的说明性实施例:
图1是根据一些实例说明编码装置和解码装置的实例的框图;
图2A是根据一些实例说明用于合并模式的实例空间相邻运动向量候选项的概念图;
图2B是根据一些实例说明用于高级运动向量预测(AMVP)模式的实例空间相邻运动向量候选项的概念图;
图3A是根据一些实例说明实例时间运动向量预测符(TMVP)候选项的概念图;
图3B是根据一些实例说明运动向量按比例缩放的实例的概念图;
图4A是根据一些实例说明用于估计当前译码单元的照明补偿(IC)参数的当前译码单元的相邻样本的实例的概念图;
图4B是根据一些实例说明用于估计当前译码单元的IC参数的参考块的相邻样本的实例的概念图;
图5A是根据一些实例说明用于导出当前译码单元的照明补偿(IC)参数的当前译码单元的相邻样本的实例的概念图;
图5B是根据一些实例说明用于导出当前译码单元的IC参数的参考块的相邻样本的实例的概念图;
图6是根据一些实例说明重叠块运动补偿(OBMC)的实例的概念图;
图7A是根据一些实例说明用于HEVC的OBMC的实例的概念图;
图7B是根据一些实例说明用于HEVC的OBMC的另一概念图;
图8A是根据一些实例说明其中应用OBMC的子块的实例的概念图;
图8B是根据一些实例说明其中应用OBMC的子预测单元的实例的概念图;
图9是根据一些实例说明帧率上转换(FRUC)中的单侧运动估计的实例的概念图;
图10是根据一些实例说明帧率上转换(FRUC)中的双侧运动估计的实例的概念图;
图11A是根据一些实例说明在基于模板匹配的解码器侧运动向量导出(DMVD)中使用的参考图片的实例的概念图;
图11B是根据一些实例说明在基于模板匹配的DMVD中使用的当前图片的实例的概念图;
图12是根据一些实例说明在DMVD中基于镜像的双向运动向量导出的实例的概念图;
图13是根据一些实例说明使用DMVD对预测单元(PU)进行解码的实例的流程图;
图14是根据一些实例说明局部照明补偿参数的基于模板的导出的实例的概念图;
图15是根据一些实例说明用于OBMC旗标与照明补偿(IC)旗标之间的改进的用信号发送的过程的实例的流程图;
图16是根据一些实施例说明处理视频数据的过程的实例的流程图;
图17是根据一些实施例说明处理视频数据的过程的另一实例的流程图;
图18是根据一些实施例说明处理视频数据的过程的另一实例的流程图;
图19是根据一些实例说明实例视频编码装置的框图;
图20是根据一些实例说明实例视频解码装置的框图。
具体实施方式
下文提供了本发明的某些方面和实施例。如对于所属领域的技术人员来说将显而易见的是,这些方面和实施方案中的一些可以独立地应用并且它们中的一些可以组合应用。在以下描述中,出于解释的目的,阐述特定细节以便提供对本发明的实施例的透彻理解。然而,将显而易见的是,可在没有这些特定细节的情况下实践各种实施例。图式和描述并不意图是限制性的。
以下描述仅提供示例性实施例,且并不意图限制本发明的范围、适用性或配置。实际上,示例性实施例的以下描述将为所属领域的技术人员提供用于实施示例性实施例的启发性描述。应理解,在不脱离如在所附权利要求书中所阐述的本发明的精神和范围的情况下,可对元件的功能和布置进行各种改变。
在以下描述中给出特定细节以提供对实施例的透彻理解。然而,所属领域的技术人员将理解,所述实施例可以在没有这些特定细节的情况下加以实践。举例来说,电路、系统、网络、过程和其它组件可以框图形式示出为组件以免以不必要的细节混淆实施例。在其它例子中,可以在没有不必要的细节的情况下示出众所周知的电路、过程、算法、结构以及技术以免混淆实施例。
并且,应注意,个体实施例可被描述为经描绘为流程图、作业图、数据流图、结构图或框图的过程。虽然流程图可将操作描述为依次过程,但许多操作可并行或同时执行。另外,可以重新安排操作的顺序。过程在其操作完成时终止,但是可具有不包含在图中的额外步骤。过程可以对应于方法、函数、步骤、子例程、子程序等。当过程对应于函数时,其终止可对应于所述函数返回到调用函数或主函数。
术语“计算机可读媒体”包含但不限于便携式或非便携式存储装置、光学存储装置和能够存储、含有或携带指令和/或数据的各种其它媒体。计算机可读媒体可包含非暂时性媒体,在非暂时性媒体中可存储数据,且非暂时性媒体并不包含无线地或在有线连接上传播的载波和/或暂时性电子信号。非暂时性媒体的实例可包含但不限于,磁盘或磁带、光学存储媒体,例如光盘(CD)或数字通用光盘(DVD)、快闪存储器、存储器或存储器装置。计算机可读媒体可具有存储在其上的可表示过程、函数、子程序、程序、例程、子例程、模块、软件包、类别的代码和/或机器可执行指令,或指令、数据结构或程序语句的任何组合。一个代码段可通过传递和/或接收信息、数据、自变量、参数或存储器内容耦合到另一代码段或硬件电路。信息、自变量、参数、数据等可经由包含存储器共享、消息传递、令牌传递、网络发射或类似者的任何合适的装置传递、转发或发射。
此外,实施例可通过硬件、软件、固件、中间件、微码、硬件描述语言或其任何组合来实施。当以软件、固件、中间件或微码实施时,用于执行必要任务的程序代码或代码段(例如,计算机程序产品)可存储在计算机可读或机器可读媒体中。处理器可以执行必要任务。
视频译码装置实施视频压缩技术以有效地对视频数据进行编码和解码。视频压缩技术可包含应用不同预测模式,包含空间预测(例如,帧内预测(intra-frame prediction)或帧内预测(intra-prediction))、时间预测(例如,帧间预测(inter-frame prediction)或帧间预测(inter-prediction))、层间预测(跨越视频数据的不同层),和/或其它预测技术以减少或移除视频序列中固有的冗余。视频编码器可以将原始视频序列的每个图片分割成被称作视频块或译码单元(下文更详细地描述)的矩形区。这些视频块可以是使用特定预测模式编码的。
视频块可以按一或多种方法划分到较小块的一或多个群组中。块可包含译码树块、预测块、变换块或其它合适的块。除非另外规定,否则通常参考“块”可以参考此类视频块(例如,译码树块、译码块、预测块、变换块,或其它适当的块或子块),如所属领域的技术人员将理解。另外,这些块中的每一个在本文中也可能可互换地被称作“单元”(例如,译码树单元(CTU)、译码单元、预测单元(PU)、变换单元(TU)或类似者)。在一些情况下,单元可指示在位流中编码的译码逻辑单元,而块可指示过程作为目标的视频帧缓冲器的一部分。
对于帧间预测模式,视频编码器可以搜索类似于在位于另一时间位置中的帧(或图片)(被称作参考帧或参考图片)中的经编码的块的块。视频编码器可将搜索限于自待编码的块的某一空间位移。最佳匹配可以使用包含水平位移分量和垂直位移分量的二维(2D)运动向量定位。对于帧内预测模式,视频编码器可基于来自相同图片的先前编码的相邻块的数据使用空间预测技术形成预测块。
视频编码器可确定预测误差。举例来说,预测可被确定为经编码的块与预测块中的像素值之间的差异。预测误差也可被称作残余。视频编码器也可将变换应用到预测误差(例如,离散余弦变换(DCT)或其它合适的变换)以产生变换系数。在变换之后,视频编码器可量化变换系数。经量化变换系数和运动向量可以是使用语法元素表示的,并且连同控制信息一起形成视频序列的经译码表示。在一些例子中,视频编码器可对语法元素进行熵译码,从而进一步减少其表示所需的位的数量。
视频解码器可使用上文所论述的语法元素和控制信息构建预测数据(例如,预测块)以用于对当前帧进行解码。举例来说,视频解码器可添加预测块和经压缩的预测误差。视频解码器可通过使用经量化系数对变换基础函数进行加权来确定经压缩的预测误差。经重构帧与原始帧之间的差被称作重构误差。
在一些实例中,处理视频数据的一或多个系统和方法涉及基于视频译码导出或估计块中的照明补偿(IC)参数。在一些例子中,视频编码器和/或视频解码器可以执行局部照明补偿(LIC)(或照明补偿(IC))以对一或多个图片之间的照明(例如,亮度)中的变化进行有效地译码。视频编码器和/或视频解码器可以确定一或多个IC参数(例如,偏移、一或多个按比例缩放因数、移动数量,或其它合适的IC参数)以用于经编码或解码的译码块或译码单元。可基于多个参考块的样本、当前块的一或多个相邻块的样本和/或其它信息确定IC参数。视频解码器可以使用IC参数和/或其它数据来构建预测数据以用于对当前块进行解码。
在一些实例中,处理视频数据的一或多个系统和方法涉及适应性地确定用于LIC的一或多个模板的大小。举例来说,用于导出当前块的一或多个LIC参数的模板中的像素的行和/或列的数量可以取决于当前块的参数而不同。所述参数可包含块大小(例如,块的宽度、高度,或宽度和高度,或大小的其它合适的量度)、块的色度格式(例如,4:2:0格式、4:2:2格式、4:4:4格式,或其它合适的色度格式),或可用于确定模板大小的其它参数。
在一些实例中,处理视频数据的一或多个系统和方法涉及从权重的预定义集合中的权重的自适应选择。举例来说,基于模板的解决方案可用于搜索权重的预定义集合之外的一或多个最佳权重而无需将权重的选择用信号发送到解码器。此类系统和方法可用于利用预测过程中的权重的任何基于匹配的运动预测或补偿。举例来说,此类系统和方法可用于任何双向预测块,其中考虑指向两个逻辑上单独的图片的两个运动向量。在此类实例中,权重可被称作用于两个参考图片(例如,ref0和ref1)的一对加权因数,具有等于一的和。此类系统和方法可用于的基于匹配的运动预测或补偿技术的实例包含LIC、加权预测(WP)或在预测过程中使用权重的任何其它合适的技术。
本文中所描述的技术可应用于现有视频编解码器中的任一个(例如,高效视频译码(HEVC)、高级视频译码(AVC)或其它合适的现有视频编解码器),或者可以是用于任何未来视频译码标准的有效的译码工具,例如,联合探索模型(JEM)。
图1是说明包含编码装置104和解码装置112的系统100的实例的框图。编码装置104可以是源装置的一部分,且解码装置112可以是接收装置的一部分。源装置和/或接收装置可包含电子装置,例如,移动或静止电话手持机(例如,智能电话、蜂窝式电话或类似者)、桌上型计算机、膝上型计算机或笔记本计算机、平板计算机、机顶盒、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置、因特网协议(IP)相机,或任何其它合适的电子装置。在一些实例中,源装置和接收装置可以包含一或多个无线收发器以用于无线通信。本文中所描述的译码技术适用于各种多媒体应用中的视频译码,包含流式视频发射(例如,在因特网上)、电视广播或发射、数字视频的编码以用于存储在数据存储媒体上、存储在数据存储媒体上的数字视频的解码或其它应用。在一些实例中,系统100可以支持单向或双向视频发射,以支持例如视频会议、视频流式传输、视频重放、视频广播、游戏和/或视频电话的应用。
编码装置104(或编码器)可用于使用视频译码标准或协议对视频数据进行编码以产生经编码视频位流。视频译码标准的实例包含ITU-T H.261、ISO/IEC MPEG-1Visual、ITU-T H.262或ISO/IEC MPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual、ITU-TH.264(也被称作ISO/IEC MPEG-4AVC),包含其可缩放视频译码(SVC)和多视图视频译码(MVC)扩展,以及高效视频译码(HEVC)或ITU-T H.265。HEVC的各种扩展处理多层视频译码存在,包含范围和屏幕内容译码扩展、3D视频译码(3D-HEVC)和多视图扩展(MV-HEVC)以及可缩放扩展(SHVC)。HEVC及其扩展已经通过视频译码联合合作小组(JCT-VC)以及ITU-T视频译码专家组(VCEG)和ISO/IEC运动图片专家组(MPEG)的3D视频译码扩展开发的联合合作小组(JCT-3V)开发。MPEG和ITU-T VCEG也已形成联合探索视频组(JVET)以探索用于下一代的视频译码标准的新译码工具。参考软件被称作JEM(联合探索模型)。
本文中所描述的许多实施例使用JEM模型、HEVC标准和/或其扩展提供实例。然而,本文中所描述的技术和系统也可以适用于其它译码标准,例如,AVC、MPEG、其扩展,或已经可供使用的或尚未可供使用的或待开发的其它合适的译码标准。相应地,虽然本文中所描述的技术和系统可以参考特定视频译码标准描述,但是所属领域的技术人员将了解描述不应解释为仅应用于特定标准。
参考图1,视频源102可将视频数据提供到编码装置104。视频源102可以是源装置的一部分,或者除源装置之外的装置的一部分。视频源102可包含视频俘获装置(例如,摄像机、相机电话、视频电话或类似者)、含有所存储的视频的视频存档、提供视频数据的视频服务器或内容提供商、从视频服务器或内容提供商接收视频的视频馈送接口、用于产生计算机图形视频数据的计算机图形系统、此类来源的组合,或任何其它合适的视频源。
来自视频源102的视频数据可以包含一或多个输入图片或帧。图片或帧是视频的一部分的静态图像。编码装置104的编码器引擎106(或编码器)对视频数据进行编码以产生经编码视频位流。在一些实例中,经编码视频位流(或“视频位流”或“位流”)是一系列一或多个经译码视频序列。经译码视频序列(CVS)包含一系列存取单元(AU),其开始于具有基底层中的随机存取点图片且具有某些性质的AU,直到具有基底层中的随机存取点图片且具有某些性质的下一AU且不包含所述下一AU。举例来说,开始CVS的随机存取点图片的某些性质可包含RASL旗标(例如,NoRaslOutputFlag)等于1。否则,随机存取点图片(具有RASL旗标等于0)并不开始CVS。存取单元(AU)包含一或多个经译码图片以及对应于共享同一输出时间的经译码图片的控制信息。图片的经译码切片在位流层级中囊封到被称作网络抽象层(NAL)单元的数据单元中。举例来说,HEVC视频位流可以包含一或多个包含NAL单元的CVS。NAL单元中的每一个具有NAL单元标头。在一个实例中,标头对于H.264/AVC是一个字节(多层扩展除外)且对于HEVC是两个字节。NAL单元标头中的语法元素采用指定位并且因此对所有种类的系统和输送层可见,例如,输送流、实时输送(RTP)协议、文件格式等等。
在HEVC标准中存在两类NAL单元,包含视频译码层(VCL)NAL单元和非VCL NAL单元。VCL NAL单元包含经译码图片数据的一个切片或切片段(下文描述),且非VCL NAL单元包含涉及一或多个经译码图片的控制信息。在一些情况下,NAL单元可被称作包。HEVC AU包含含有经译码图片数据的VCL NAL单元以及对应于经译码图片数据的非VCL NAL单元(如果存在)。
NAL单元可含有形成视频数据的经译码表示的位的序列(例如,经编码视频位流、位流的CVS,或类似者),例如,视频中的图片的经译码表示。编码器引擎106通过将每个图片分割成多个切片来产生图片的经译码表示。切片不取决于其它切片,因此所述切片中的信息得到译码而无需取决于来自相同图片内的其它切片的数据。切片包含一或多个切片段,包含独立的切片段,并且如果存在的话,包含取决于先前切片段的一或多个依赖性切片段。切片随后被分割成亮度样本和色度样本的译码树块(CTB)。亮度样本的CTB和色度样本的一或多个CTB连同样本的语法一起被称作译码树单元(CTU)。CTU是用于HEVC编码的基本处理单元。CTU可拆分成不同大小的多个译码单元(CU)。CU含有被称作译码块(CB)的亮度和色度样本阵列。
亮度和色度CB可进一步拆分成预测块(PB)。PB是对于帧间预测或块内复制预测(当可供使用或经启用以供使用时)使用相同运动参数的亮度分量或色度分量的样本的块。亮度PB和一或多个色度PB连同相关联的语法形成预测单元(PU)。对于帧间预测,运动参数的集合(例如,一或多个运动向量、参考索引或类似者)在位流中用信号发送以用于每个PU并且用于亮度PB和一或多个色度PB的帧间预测。运动参数也可以被称作运动信息。CB也可以被分割成一或多个变换块(TB)。TB表示色彩分量的样本的正方形块,在TB上面应用相同二维变换以用于对预测残余信号进行译码。变换单元(TU)表示亮度和色度样本的TB以及对应的语法元素。
CU的大小对应于译码模式的大小,并且可以是正方形形状的。举例来说,CU的大小可以是8x8个样本、16x16个样本、32x32个样本、64x64个样本,或多达对应的CTU的大小的任何其它适当的大小。短语“N x N”在本文中用于指就垂直和水平尺寸而言的视频块的像素尺寸(例如,8像素x 8像素)。块中的像素可以按行和列布置。在一些实例中,块可在水平方向上不具有与在垂直方向上相同数量的像素。举例来说,与CU相关联的语法数据可描述CU分割成一或多个PU。分割模式可在CU经帧内预测模式编码或是经帧间预测模式编码之间有所不同。PU可以分割成非正方形形状。举例来说,与CU相关联的语法数据还可描述CU根据CTU分割成一或多个TU。TU可以是正方形或非正方形形状。
根据HEVC标准,可使用变换单元(TU)执行变换。TU可以针对不同CU发生改变。TU可以基于给定CU内的PU的大小而设定大小。TU可与PU大小相同或小于PU。在一些实例中,可使用被称为残余四叉树(RQT)的四叉树结构将对应于CU的残余样本细分成较小单元。RQT的叶节点可以对应于TU。可以对与TU相关联的像素差值进行变换以产生变换系数。随后可通过编码器引擎106对变换系数进行量化。
一旦视频数据的图片被分割成CU,则编码器引擎106使用预测模式预测每个PU。随后从原始视频数据减去预测单元或预测块以获得残余(下文描述)。对于每个CU,可以在位流内部使用语法数据用信号发送预测模式。预测模式可以包含帧内预测(或图片内预测)或帧间预测(或图片间预测)。帧内预测利用图片内的空间相邻样本之间的相关性。举例来说,使用帧内预测,每个PU是从相同图片中的相邻图像数据中预测的,方法是使用例如DC预测以寻找PU的平均值、使用平面预测以将平面表面适配到PU、使用方向预测以从相邻数据中进行推断,或者使用任何其它合适类型的预测。帧间预测使用图片之间的时间相关以便导出用于图像样本的块的运动补偿预测。举例来说,使用帧间预测,每个PU是使用来自一或多个参考图片中的图像数据的运动补偿预测进行预测的(按输出次序在当前图片之前或之后)。举例来说,可以在CU层级作出是使用图片间还是图片内预测对图片区域进行译码的决策。
在一些实例中,图片的一或多个切片被指派切片类型。切片类型包含I切片、P切片和B切片。I切片(帧内,可独立解码)是图片的仅通过帧内预测译码且因此可独立地解码的切片,因为I切片仅需要帧内的数据来预测切片的任何预测单元或预测块。P切片(单向预测帧)是图片的可以通过帧内预测和单向帧间预测译码的切片。在P切片内的每个预测单元或预测块是通过帧内预测或帧间预测来译码的。当应用帧间预测时,预测单元或预测块仅通过一个参考图片来预测,并且因此参考样本仅来自一个帧的一个参考区。B切片(双向预测帧)是可以通过帧内预测和通过帧间预测(例如,双向预测或单向预测)来译码的图片的切片。B切片的预测单元或预测块可以是从两个参考图片双向预测的,其中每个图片贡献一个参考区并且两个参考区的样本集合经加权(例如,具有相等权重或具有不同的权重)以产生双向预测块的预测信号。如上文所解释,一个图片的切片独立地经译码。在一些情况下,图片可经译码为仅一个切片。
PU可包含与预测过程相关的数据(例如,运动参数或其它合适的数据)。举例来说,当使用帧内预测对PU进行编码时,PU可包含描述用于PU的帧内预测模式的数据。作为另一实例,当使用帧间预测对PU进行编码时,PU可包含定义PU的运动向量的数据。举例来说,定义PU的运动向量的数据可描述运动向量的水平分量(Δx)、运动向量的垂直分量(Δy)、运动向量的分辨率(例如,整数精度、四分之一像素精度或八分之一像素精度)、运动向量所指向的参考图片、参考索引、运动向量的参考图片列表(例如,列表0、列表1或列表C),或其任何组合。
编码装置104可随后执行变换和量化。举例来说,在预测之后,编码器引擎106可以计算对应于PU的残余值。残余值可以包括经译码的像素的当前块(PU)与用于预测当前块的预测块(例如,当前块的预测版本)之间的像素差值。举例来说,在产生预测块(例如,发布帧间预测或帧内预测)之后,编码器引擎106可通过从当前块减去由预测单元产生的预测块而产生残余块。残余块包含对当前块的像素值与预测块的像素值之间的差进行量化的像素差值的集合。在一些实例中,可以二维块格式(例如,像素值的二维矩阵或阵列)表示残余块。在此类实例中,残余块是像素值的二维表示。
在执行预测之后可能剩余的任何残余数据是使用块变换进行变换的,所述块变换可基于离散余弦变换、离散正弦变换、整数变换、小波变换、其它合适的变换函数,或其任何组合。在一些情况下,一或多个块变换(例如,大小32x 32、16x 16、8x 8、4x 4,或其它合适的大小)可以被应用到每个CU中的残余数据。在一些实施例中,TU可以用于通过编码器引擎106实施的变换和量化过程。具有一或多个PU的给定CU也可包含一或多个TU。如下文中进一步详细描述,可使用块变换将残余值变换成变换系数,并且随后可使用TU对其进行量化和扫描以产生用于熵译码的串行化变换系数。
在一些实施例中,在使用CU的PU进行帧内预测或帧间预测译码之后,编码器引擎106可以计算CU的TU的残余数据。PU可以包括空间域(或像素域)中的像素数据。TU可包括在块变换的应用之后的变换域中的系数。如前文所述,残余数据可以对应于在未经编码图片的像素与对应于PU的预测值之间的像素差值。编码器引擎106可以形成包含CU的残余数据的TU,并且可随后变换TU以产生CU的变换系数。
编码器引擎106可以执行变换系数的量化。量化通过对变换系数进行量化以减少用于表示系数的数据的量来提供进一步压缩。举例来说,量化可以减小与系数中的一些或全部相关联的位深度。在一个实例中,可在量化期间将具有n位值的系数向下舍入到m位值,其中n大于m。
一旦执行量化,则经译码视频位流包含经量化变换系数、预测信息(例如,预测模式、运动向量、块向量,或类似者)、分割信息,以及任何其它合适的数据,例如,其它语法数据。经译码视频位流的不同元素可以随后由编码器引擎106进行熵编码。在一些实例中,编码器引擎106可以利用预定义扫描次序扫描经量化变换系数以产生可经熵编码的串行化向量。在一些实例中,编码器引擎106可以执行自适应扫描。在扫描经量化变换系数以形成向量(例如,一维向量)之后,编码器引擎106可以对向量进行熵编码。举例来说,编码器引擎106可以使用上下文适应性可变长度译码、上下文自适应二进制算术译码、基于语法的上下文自适应二进制算术译码、概率区间分割熵译码或另一合适的熵编码技术。
如先前描述,HEVC位流包含NAL单元的群组,包含VCL NAL单元和非VCL NAL单元。VCL NAL单元包含形成经译码视频位流的经译码图片数据。举例来说,形成经译码视频位流的位序列存在于VCL NAL单元中。除其它信息之外,非VCL NAL单元还可含有具有涉及经编码视频位流的高层级信息的参数集。举例来说,参数集可包含视频参数集(VPS)、序列参数集(SPS)和图片参数集(PPS)。参数集的目标的实例包含位速率效率、误差恢复性以及提供系统层接口。每个切片参考单个活动的PPS、SPS和VPS以存取解码装置112可以用于对切片进行解码的信息。标识符(ID)可以经译码用于每个参数集,包含VPS ID、SPS ID和PPS ID。SPS包含SPS ID和VPS ID。PPS包含PPS ID和SPS ID。每个切片标头包含PPS ID。使用ID,可识别针对给定切片的活动的参数集。
PPS包含应用于给定图片中的全部切片的信息。因为这一点,图片中的全部切片指代相同PPS。不同图片中的切片也可以指代相同PPS。SPS包含应用于相同经译码视频序列(CVS)或位流中的所有图片的信息。如先前描述,经译码视频序列是一系列存取单元(AU),其开始于基底层中的随机存取点图片(例如,瞬时解码参考(IDR)图片或断链存取(BLA)图片,或其它适当的随机存取点图片)且具有某些性质(上文所描述的),直到具有基底层中的随机存取点图片且具有某些性质(或位流的末尾)的下一AU且不包含所述下一AU。SPS中的信息并不会在经译码视频序列内在图片之间发生改变。经译码视频序列中的图片可以使用同一SPS。VPS包含应用于经译码视频序列或位流中的所有层的信息。VPS包含具有应用于整个经译码视频序列的语法元素的语法结构。在一些实例中,VPS、SPS或PPS可以与经编码位流一起带内发射。在一些实施例中,VPS、SPS或PPS与含有经译码视频数据的NAL单元相比可以在单独发射中带外发射。
视频位流也可包含辅助增强信息(SEI)消息。举例来说,SEI NAL单元可以是视频位流的部分。在一些情况下,SEI消息可以含有解码过程所不需要的信息。举例来说,SEI消息中的信息可能并不是解码器对位流的视频图片进行解码所必需的,但是解码器可以使用所述信息来改进图片的显示或处理(例如,经解码输出)。SEI消息中的信息可以是嵌入元数据。在一个说明性实例中,SEI消息中的信息可由解码器侧实体使用以改进内容的可检视性。在一些例子中,某些应用标准可授权位流中的此类SEI消息的存在,因此质量的改进可以被引入到符合应用标准的全部装置(例如,用于帧兼容平面立体3DTV视频格式的帧填充SEI消息的运载,其中运载SEI消息用于视频的每个帧,处理恢复点SEI消息,使用全屏幕扫描来扫描DVB中的矩形SEI消息,以及许多其它实例)。
编码装置104的输出端110可以将构成经编码视频位流数据的NAL单元经由通信链路120发送到接收装置的解码装置112。解码装置112的输入端114可以接收NAL单元。通信链路120可以包含由无线网络、有线网络或有线和无线网络的组合提供的信道。无线网络可以包含任何无线接口或无线接口的组合并且可以包含任何合适的无线网络(例如,因特网或其它广域网、基于包的网络、WiFiTM、射频(RF)、UWB、WiFi-Direct、蜂窝式、长期演进(LTE)、WiMaxTM或类似者)。有线网络可以包含任何有线接口(例如,光纤、以太网、电力线以太网、同轴电缆上的以太网、数字信号线(DSL)或类似者)。有线和/或无线网络可以使用各种设备(例如,基站、路由器、存取点、桥接器、网关、交换机或类似者)实施。经编码视频位流数据可以根据例如无线通信协议等通信标准来调制,且发射到接收装置。
在一些实例中,编码装置104可以在存储装置108中存储经编码视频位流数据。输出端110可以从编码器引擎106或从存储装置108检索经编码视频位流数据。存储装置108可以包含多种分布式或本地存取的数据存储媒体中的任一种。举例来说,存储装置108可以包含硬盘驱动器、存储盘、快闪存储器、易失性或非易失性存储器,或用于存储经编码视频数据的任何其它合适的数字存储媒体。
解码装置112的输入端114接收经编码视频位流数据并且可将视频位流数据提供到解码器引擎116或存储装置118以用于由解码器引擎116稍后使用。解码器引擎116可通过熵解码(例如,使用熵解码器)对经编码视频位流数据进行解码并且提取构成经编码视频数据的一或多个经译码视频序列的元素。解码器引擎116可随后重新按比例缩放经编码视频位流数据并且对经编码视频位流数据执行逆变换。随后将残余数据传递到解码器引擎116的预测级。解码器引擎116随后预测像素块(例如,PU)。在一些实例中,将预测添加到逆变换的输出(残余数据)。
解码装置112可以输出经解码视频到视频目的地装置122,所述视频目的地装置可以包含显示器或其它输出装置以用于将经解码视频数据显示给内容的消费者。在一些方面中,视频目的地装置122可以是包含解码装置112的接收装置的一部分。在一些方面中,视频目的地装置122可以是除接收装置之外的单独的装置的一部分。
在一些实施例中,视频编码装置104和/或视频解码装置112可以相应地与音频编码装置和音频解码装置集成。视频编码装置104和/或视频解码装置112也可包含实施上文所描述的译码技术所必需的其它硬件或软件,例如,一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。视频编码装置104和视频解码装置112可以集成为相应的装置中的组合编码器/解码器(编码解码器)的一部分。下文参考图19描述编码装置104的特定细节的实例。下文参考图20描述解码装置112的特定细节的实例。
对HEVC标准的扩展包含被称作MV-HEVC的多视图视频译码扩展以及被称作SHVC的可缩放视频译码扩展。MV-HEVC和SHVC扩展共享分层译码的概念,分层译码具有包含在经编码视频位流中的不同层。经译码视频序列中的每个层通过唯一层标识符(ID)寻址。层ID可以存在于NAL单元的标头中以识别NAL单元与之相关联的层。在MV-HEVC中,不同层可表示视频位流中的同一场景的不同视图。在SHVC中,提供表示不同空间分辨率(或图象分辨率)或不同重构保真度的视频位流的不同可缩放层。可缩放层可以包含基底层(具有层ID=0)和一或多个增强层(具有层ID=1、2……n)。基底层可以符合HEVC的第一版本的简档,并且表示在位流中的最低可供使用的层。与基底层相比,增强层具有增大的空间分辨率、时间分辨率或帧率和/或重构保真度(或质量)。增强层是阶层式组织的并且可(或可不)取决于较低层。在一些实例中,不同层可以使用单个标准编码解码器译码(例如,全部层使用HEVC、SHVC或其它译码标准进行编码)。在一些实例中,可使用多标准编解码器对不同层进行译码。举例来说,基底层可以使用AVC进行译码,而一或多个增强层可以使用HEVC标准的SHVC和/或MV-HEVC扩展进行译码。
一般来说,层包含VCL NAL单元的集合和对应的非VCL NAL单元的集合。NAL单元被指派特定层ID值。在层可取决于较低层的意义上,层可为阶层式的。层集合是指在位流内表示的独立的层的集合,意味着层集合内的层可在解码过程中取决于层集合中的其它层,但并不取决于任何其它层来进行解码。相应地,层集合中的层可形成可表示视频内容的独立位流。可通过子位流提取过程的操作从另一位流获得层集合中的层的集合。层集合可对应于在解码器希望根据某些参数进行操作时将被解码的层的集合。
如上文所描述,对于每个块,运动信息集合(在本文中也被称作运动参数)可以是可供使用的。运动信息集合含有用于前向和后向预测方向的运动信息。前向和后向预测方向是双向预测模式的两个预测方向,在此情况下术语“前向”和“后向”不一定具有几何含义。替代地,“前向”和“后向”对应于当前图片的参考图片列表0(RefPicList0)和参考图片列表1(RefPicList1)。在一些实例中,当仅一个参考图片列表可供用于图片或切片时,仅RefPicList0是可供使用的并且切片的每个块的运动信息总是前向的。
在一些情况下,运动向量连同其参考索引用于译码过程(例如,运动补偿)。此类具有相关联的参考索引的运动向量被表示为运动信息的单向预测集合。对于每个预测方向,运动信息可以含有参考索引和运动向量。在一些情况下,为简单起见,可以假定其具有相关联参考索引的方式来提起运动向量本身。参考索引用于识别当前参考图片列表(RefPicList0或RefPicList1)中的参考图片。运动向量具有提供从当前图片中的坐标位置到通过参考索引所识别的参考图片中的坐标的偏移的水平和垂直分量。举例来说,参考索引可以指示应该用于当前图片中的块的特定参考图片,并且运动向量可以指示在参考图片中的何处最佳匹配块(与当前块最佳匹配的块)在参考图片中。
图片次序计数(POC)可以用于视频译码标准中以识别图片的显示次序。虽然存在一个经译码视频序列内的两个图片可具有相同POC值的情况,但是其通常不在经译码视频序列内发生。当位流中存在多个经译码视频序列时,具有相同POC值的图片可能就解码次序而言彼此更接近。图片的POC值可用于参考图片列表构建、如在HEVC中的参考图片集的导出,以及运动向量按比例缩放。
在H.264/AVC中,可以按四种不同的方法分割每个帧间宏块(MB),包含:一个16x16MB分区;两个16x8 MB分区;两个8x16 MB分区;以及四个8x8 MB分区。一个MB中的不同MB分区可具有用于每个方向的不同参考索引值(RefPicList0或RefPicList1)。在一些情况下,当MB未被分割成四个8x8 MB分区时,MB在每个方向上对于每个MB分区可具有仅一个运动向量。在一些情况下,当MB被分割成四个8x8 MB分区时,每个8x8 MB分区可以进一步被分割成子块,在此情况下每个子块可以在每个方向上具有不同的运动向量。在一些实例中,存在从8x8 MB分区中获得子块的四种不同的方法,包含:一个8x8子块;两个8x4子块;两个4x8子块;以及四个4x4子块。每个子块可具有在每个方向上的不同的运动向量。因此,运动向量存在于等于或高于子块的层级中。
在AVC中,可以在MB层级或MB分区层级启用时间直接模式以用于B切片中的跳过或直接模式。对于每个MB分区,使用与当前块的RefPicList1[0]中的当前MB分区位于同一位置的块的运动向量来导出运动向量。位于同一位置的块中的每个运动向量是基于POC距离按比例缩放的。
在AVC中也可以执行空间直接模式。举例来说,在AVC中,直接模式也可以预测来自空间相邻项的运动信息。
在HEVC中,切片中的最大译码单元被称作译码树块(CTB)。CTB含有其节点为译码单元的四叉树。在HEVC主规范中CTB的大小范围可以是16x16到64x64。在一些情况下,可以支持8x8 CTB大小。译码单元(CU)可与CTB大小相同,且可如8x8一样小。在一些情况下,每个译码单元以一个模式译码。当CU经帧间译码时,CU可进一步分割成2个或4个预测单元(PU),或当进一步分割不适用时可变为仅一个PU。当两个PU存在于一个CU中时,它们可以是一半大小的矩形或具有CU的1/4或3/4大小的两个矩形。
当CU经帧间译码时,针对每一PU存在运动信息的一个集合。另外,每个PU是用唯一帧间预测模式译码的以导出运动信息的集合。
对于HEVC中的运动预测,存在两个帧间预测模式,包含用于预测单元(PU)的合并模式和高级运动向量预测(AMVP)模式。跳过被视为是合并的特殊情况。在AMVP或合并模式中,为多个运动向量预测符维持运动向量(MV)候选项列表。当前PU的运动向量以及合并模式中的参考索引通过从MV候选项列表中获取一个候选项而产生。
在一些实例中,MV候选项列表含有针对合并模式的多达五个候选项和针对AMVP模式的两个候选项。在其它实例中,不同数量的候选项可以包含在MV候选项列表中以用于合并模式和/或AMVP模式。合并候选项可含有运动信息的集合。举例来说,运动信息的集合可包含对应于两个参考图片列表(列表0和列表1)的运动向量和参考索引。如果通过合并索引来识别合并候选项,那么参考图片用于当前块的预测,并且相关联的运动向量得到确定。然而,在AMVP模式下,对于来自列表0或列表1的每个潜在预测方向,需要明确地将参考索引连同对MV候选项列表的MVP索引一起用信号发送,这是因为AMVP候选项仅含有运动向量。在AMVP模式中,可进一步优化经预测运动向量。
如可从上文看出,合并候选项对应于整个运动信息的集合,而AMVP候选项仅含有用于特定预测方向的一个运动向量和参考索引。以类似方式从相同空间和时间相邻块导出用于两种模式的候选项。
在一些实例中,合并模式允许经帧间预测PU从包含选自空间相邻运动数据位置的群组的运动数据位置和两个在时间上位于同一位置的运动数据位置中的一个的经帧间预测PU继承相同运动向量、预测方向和参考图片索引。对于AMVP模式,PU的运动向量可以相对于来自通过编码器构建的AMVP候选项列表的一或多个运动向量预测符(MVP)预测性地译码。在一些例子中,对于PU的单个方向帧间预测,编码器可以产生单个AMVP候选项列表。在一些例子中,对于PU的双向预测,编码器可以产生两个AMVP候选项列表,一个使用来自前向预测方向的空间和时间相邻PU的运动数据并且一个使用来自后向预测方向的空间和时间相邻PU的运动数据。
可以从空间和/或时间相邻块导出用于两个模式的候选项。举例来说,图2A和图2B包含说明HEVC中的空间相邻候选项的概念图。图2A说明用于合并模式的空间相邻运动向量(MV)候选项。图2B说明用于AMVP模式的空间相邻运动向量(MV)候选项。空间MV候选项是从用于特定PU(PU0)的相邻块导出的,然而从块中产生候选项的方法对于合并模式和AMVP模式是不同的。
在合并模式中,编码器可以通过考虑来自各种运动数据位置的合并候选项形成合并候选项列表。举例来说,如图2A中所示,可以相对于在图2A中以编号0-4示出的空间相邻运动数据位置导出多达四个空间MV候选项。MV候选项可以在合并候选项列表中按通过编号0-4所示的次序排序。举例来说,位置和次序可包含:左侧位置(0)、上方位置(1)、右上方位置(2)、左下方位置(3)和左上方位置(4)。
在图2B中所示的AMVP模式中,将相邻块划分成两个群组:包含块0和1的左侧群组,以及包含块2、3和4的上方群组。对于每个群组,如用信号发送的参考索引所指示的参考相同参考图片的相邻块中的潜在候选项具有最高待选优先级,以形成所述群组的最终候选项。有可能所有相邻块均不含指向同一参考图片的运动向量。因此,如果无法找到此类候选项,那么将按比例缩放第一可供使用的候选项以形成最终候选项,因此可补偿时间距离差异。
图3A和图3B包含说明HEVC中的时间运动向量预测的概念图。如果经启用并且是可供使用的,那么时间运动向量预测符(TMVP)候选项被添加到MV候选项列表中位于空间运动矢量候选项之后。TMVP候选项的运动向量导出的过程对于合并模式和AMVP模式两者是相同的。然而,在一些例子中,合并模式中的TMVP候选项的目标参考索引可以被设置成零或者可以从相邻块的目标参考索引中导出。
用于TMVP候选项导出的主块位置是位于同一位置的PU外部的右下块,如图3A所示为块“T”,以补偿对用于产生空间相邻候选项的左上块的偏置。然而,如果所述块位于当前CTB(或LCU)行的外部或运动信息不可供使用,那么所述块被PU的中心块取代。TMVP候选项的运动向量可从位于同一位置的图片的位于同一位置的PU导出,在切片层级中指示。类似于AVC中的时间直接模式,TMVP候选项的运动向量可以经受运动向量按比例缩放,执行运动向量按比例缩放是为了补偿距离差异。
在HEVC标准中涵盖运动预测的其它方面。举例来说,涵盖合并模式和AMVP模式的若干其它方面。一个方面包含运动向量按比例缩放。相对于运动向量按比例缩放,可以假设运动向量的值与呈现时间中的图片的距离成正比。运动向量将两个图片,即参考图片和含有运动向量的图片(即含有图片)相关联。当运动向量被用来预测另一运动向量时,基于图片次序计数(POC)值来计算含有图片和参考图片的距离。
对于待预测的运动向量,其相关联的含有图片和参考图片都可以是不同的。因此,计算新距离(基于POC)。并且,基于这两个POC距离按比例缩放运动向量。对于空间相邻候选项,两个运动向量的含有图片是相同的,而参考图片是不同的。在HEVC中,运动向量按比例缩放被应用于空间和时间相邻候选项的TMVP和AMVP两者。
运动预测的另一方面包含人工运动向量候选项产生。举例来说,如果运动向量候选项列表并不完整,那么人工运动向量候选项产生并且插入在列表的末端直至获得全部的候选项。在合并模式中,存在两种类型的人工MV候选项:仅针对B切片导出的组合的候选项;以及如果第一类型并不提供足够的人工候选项,那么仅用于AMVP的零候选项。对于已经在候选项列表中并且具有必需的运动信息的每对候选项,双向组合的运动向量候选项通过参考列表0中的图片的第一候选项的运动向量与参考列表1中的图片的第二候选项的运动向量的组合导出。
合并模式和AMVP模式的另一方面包含用于候选项插入的精简过程。举例来说,来自不同块的候选项可能恰好相同,这降低了合并和/或AMVP候选项列表的效率。精简过程可适用于解决这个问题。精简过程比较一个候选项与当前候选项列表中的其它候选项以在一定程度上避免插入相同候选项。为了降低复杂度,应用仅有限数量的精简过程而不是比较每个潜在的一个与所有其它现有的那些。
存在各种相关的运动预测技术。一个预测技术是局部照明补偿(LIC)。照明补偿已经被提出用于HEVC。举例来说,在JCTVC-C041中,提出基于分割的照明补偿(PBIC)。不同于加权预测(WP),其启用和/或停用WP,并且在切片层级用信号发送WP参数(如下文所述),PBIC启用和/或停用照明补偿(IC)并且在预测单元(PU)层级用信号发送IC参数以处理局部照明变化。在JVET-B0023中,基于块的LIC扩展到CU,类似于在HEVC中的PU,CU变为在QTBT结构中运载运动信息的基础单元。
类似于下文更详细地描述的加权预测(WP),按比例缩放因数(也由a表示)和偏移(也由b表示)用于IC中,并且移动数量固定到6。IC旗标是针对每个PU译码的以指示IC是否应用于当前PU。如果IC应用于PU,那么将IC参数(例如,a和b)的集合用信号发送到解码器并且用于运动补偿。在一些实例中,为了节省在IC参数上耗费的位,色度分量与亮度分量共享按比例缩放因数并且使用固定偏移128。
在3D-HEVC中,启用IC用于视图间预测。不同于明确地用信号发送IC参数的WP和PBIC,它基于当前CU的相邻样本和参考块的相邻样本导出IC参数。IC仅适用于2Nx2N分割模式。对于AMVP模式,一个IC旗标是针对从视图间参考图片预测的每个CU用信号发送的。对于合并模式,为了节省位,仅当PU的合并索引并不等于0时用信号发送IC旗标。在一些情况下,IC并不适用于仅从时间参考图片预测的CU。
相对于IC参数的导出,在等式(1)中示出在视图间预测中使用的线性IC模型:
p(i,j)=a*r(i+dvx,j+dvy)+b,其中 (i,j)∈PUc 等式 (1)
此处,PUc是当前PU,(i,j)是PUc中的像素的坐标,(dvx,dvy)是PUc的视差向量。p(i,j)是PUc的预测,r是来自相邻视图的PU的参考图片,并且a和b是线性IC模型的参数。
为了估计用于PU的参数a和b,如图4A和图4B中所示使用像素的两个集合。像素的第一集合在图4A中示出并且包含在当前CU(含有当前PU的CU)的左侧列和上方行中的可供使用的经重构相邻像素。像素的第二集合在图4B中示出并且包含当前CU的参考块的对应的相邻像素。通过使用当前PU的视差向量找到当前CU的参考块。
假设Recneig和Recrefneig相应地表示当前CU及其参考块的使用的相邻像素集合,并且假设2N表示Recneig和Recrefneig中的像素数量。那么,a和b可以被计算为:
Figure GDA0004149262620000191
Figure GDA0004149262620000192
在一些情况下,仅a用于线性模型中并且b总是被设置成等于0。在一些情况下,仅使用b并且a总是被设置成等于1。
在HEVC中,支持加权预测(WP),在此情况下按比例缩放因数(通过a表示)、移动数量(通过s表示)和偏移(通过b表示)用于运动补偿。假设参考图片的位置(x,y)中的像素值是p(x,y),那么p'(x,y)=((a*p(x,y)+(1<<(s-1)))>>s)+b替代于p(x,y)被用作运动补偿中的预测值。
当启用WP时,对于当前切片的每个参考图片,用信号发送旗标以指示WP是否应用于参考图片。如果WP应用于一个参考图片,那么WP参数(即,a、s和b)的集合被发送到解码器并且用于来自参考图片的运动补偿。在一些实例中,为了灵活地开启/关闭用于亮度和色度分量的WP,WP旗标和WP参数是针对亮度和色度分量单独地用信号发送的。在WP中,WP参数的一个相同集合用于一个参考图片中的全部像素。
相对于JVET中的局部照明补偿(LIC),LIC是使用按比例缩放因数a和偏移b基于用于照明改变的线性模型的。此类LIC是适应性地针对每个帧间模式译码的译码单元(CU)启用或停用的。当LIC应用于CU时,采用最小二乘方误差法通过使用当前CU的相邻样本及其对应的参考样本来导出参数a和b。更确切地说,如图5A和图5B中所说明,使用参考图片中的CU的子采样的(2:1子采样的)相邻样本和对应的像素(通过当前CU或子CU的运动信息识别的)。在一些实例中,IC参数是针对每个预测方向单独地导出和应用的。
当CU以合并模式译码时,以类似于合并模式中的运动信息复制的方式从相邻块复制LIC旗标;否则,用信号发送CU的LIC旗标以指示LIC是否适用。
在H.263的开发中提出重叠块运动补偿(OBMC)。举例来说,可以在8x8块上执行OBMC,并且两个连接的相邻8x8块的运动向量用于当前块,如图6中所示。举例来说,对于当前宏块中的第一8x8块,除其自身的运动向量以外,还应用左上方相邻运动向量以产生两个额外的预测块。通过这种方式,当前8x8块中的每个像素具有三个预测值并且这三个预测值的加权平均值被用作最终预测。
当相邻块并不被译码或被译码为帧内(使用帧内预测)时,意味着相邻块并不具有可供使用的运动向量,当前8x8块的运动向量被用作相邻运动向量。同时,对于当前宏块的第三和第四8x8块(如图6中所示),总是不使用下方相邻块。换句话说,对于每个MB,在OBMC期间没有来自它下方的MB的运动信息将用于重构当前MB的像素。
在HEVC中,还提出OBMC以使PU边界平滑,如第US2013/0128974和US2012/0177120号美国公开案中所描述,所述公开案出于全部目的以全文引用的方式并入本文中。在图7A和图7B中示出所提出的方法的实例。当CU含有两个(或更多个)PU时,PU边界附近的行和/或列是通过OBMC平滑化的。对于在PU0或PU1中标记有“A”或“B”的像素,产生两个预测值(例如,通过相应地应用PU0和PU1的运动向量),并且它们的加权平均值被用作最终预测。
在联合探索测试模型3.0(JEM)中,应用子PU层级OBMC。针对除了CU的右下方边界之外的全部运动补偿(MC)块边界执行OBMC。此外,OBMC被应用于亮度和色度分量两者。在HEVC中,MC块对应于PU。在JEM中,当PU通过子PU模式译码时,所述PU的每个子块是MC块。为了以统一方式处理CU/PU边界,针对全部MC块边界在子块层级处执行OBMC,其中子块大小被设置成等于4x4,如图8A和图8B中所说明。
当OBMC应用于当前子块时,除了当前运动向量以外,如果四个连接的相邻子块的运动向量是可供使用的且与当前运动向量不相同,那么所述四个连接的相邻子块的运动向量也用于导出当前子块的预测块。对基于多个运动向量的这些多个预测块进行加权以产生当前子块的最终预测信号。
基于相邻子块的运动向量的预测块被表示为PN,其中N指示用于相邻的上方、下方、左侧和右侧子块的索引,并且基于当前子块的运动向量的预测块被表示为PC。当PN属于与PC相同的PU(因此含有相同运动信息)时,并不从PN执行OBMC。否则,PN的每个像素被添加到PC中的相同像素,例如,PN的四个行/列被添加到PC。加权因数{1/4,1/8,1/16,1/32}用于PN,且加权因数{3/4,7/8,15/16,31/32}用于PC。例外是小MC块,(即,当PU大小等于8x4、4x8或PU是以ATMVP模式译码的时),其中仅PN的两个行/列被添加到PC。在此情况下,加权因数{1/4,1/8}用于PN且加权因数{3/4,7/8}用于PC。对于基于垂直(水平)相邻子块的运动向量产生的PN,PN的相同行(列)中的像素被添加到具有相同加权因数的PC。应注意对于PU边界,OBMC可以被应用在边界的每一侧上。例如在图8A和图8B中,OBMC可以沿PU1与PU2之间的边界被应用两次。首先,OBMC通过PU2的MV被应用到沿PU1内部的边界的加阴影的块。其次,OBMC通过PU1的MV被应用到沿PU2内部的边界的加阴影的块。相比之下,OBMC可以仅被应用到CU边界的一侧,因为当对当前CU进行译码时,已经被译码的CU无法被改变。
帧率上转换(FRUC)技术用于基于低帧率视频产生高帧率视频。FRUC已经广泛地用于显示器行业中。FRUC算法可以划分成两种类型。一种类型的FRUC方法通过简单的帧重复或平均而内插中间帧。然而,此方法可能在含有大量运动的图片中提供不当结果。被称作运动补偿FRUC(MC-FRUC)的其它类型的FRUC方法在它产生中间帧时考虑对象移动并且包含两个步骤:(1)运动估计(ME)和(2)运动补偿内插(MCI)。ME产生运动向量(MV),其表示使用向量的对象运动,而MCI使用MV以产生中间帧。
块匹配算法(BMA)广泛地用于MC-FRUC中的ME,因为它的实施简单。BMA将图像划分成块并且检测那些块的移动。两个种类的ME主要用于BMA,包含:单侧ME和双侧ME。
图9说明FRUC中的单侧ME。如图9中所示,单侧ME通过从当前帧的参考帧中搜索最佳匹配的块获得MV。随后,可以定位内插帧中的运动轨迹上的块因此获得MV。如图9中所示,三个帧中的三个块涉及遵循运动轨迹。虽然当前帧中的块属于经译码块,但是参考帧中的最佳匹配的块可能不完全地属于经译码块;在一些情况下,内插帧中的块也不属于经译码块。因此,块的重叠区和非填充(孔)区可能出现在内插帧中。
为了处理重叠,简单的FRUC算法仅涉及平均和覆写重叠像素。此外,孔由来自参考帧或当前帧的像素值覆盖。然而,这些算法引起成块假影和模糊。因此,提出运动字段分段、使用离散哈脱莱变换的连续外插和图像修复以处理孔和重叠而不增大成块假影和模糊。
图10说明FRUC中的双侧ME。如图10中所示,双侧ME是可用于避免由重叠和孔所引起的问题的另一解决方案(在MC-FRUC中)。双侧ME使用参考帧和当前帧的块之间的时间对称性获得通过中间帧中的块的MV。因此,它并不产生重叠和孔。因为假设当前块是按某一次序被处理的块,例如,如在视频译码的情况下,所以此类块的序列将涵盖整个中间图片而没有重叠。举例来说,在视频译码的情况下,块可以按解码次序处理。因此,在一些实例中,如果可以在视频译码架构中考虑FRUC构想,那么此类方法可以是更合适的。
也可以执行解码器侧运动向量导出。由于高级的视频编解码器,可以获得位流中的运动信息的更好的位百分比。为了减少运动信息的位成本,提出解码器侧运动向量导出(DMVD)。
基于模板匹配的DMVD示出了良好的译码效率改进。图11A和图11B说明基于模板匹配的DMVD的构想。替代于搜索作为解码器处的当前块的预测目标的最佳匹配,在参考帧中搜索模板的最佳匹配。假设模板和预测目标来自相同对象,模板的运动向量可以用作预测目标的运动向量。因为模板匹配在编码器和解码器两者处进行,所以可以在解码器侧导出运动向量以避免用信号发送成本。
另一类别的DMVD是基于镜像的双向MV导出。所述构想类似于FRUC中的双侧ME。基于镜像的MV导出以分数样本精确度通过搜索中心周围的中心对称运动估计应用。搜索窗的大小和/或位置可以是预定义的并且可以在位流中用信号发送。图12说明在DMVD中的基于镜像的双向MV导出。在图12中项dMV是被添加到PMV0并且从PMV1减去以产生MV对MV0和MV1的偏移。将检查搜索窗内部的dMV的全部值并且L0和L1参考块之间的绝对差总和(SAD)被用作中心对称运动估计的测量值。选择具有最少SAD的MV对作为中心对称运动估计的输出。因为所述方法需要未来参考(在与当前帧相比稍后的时间位置的参考)和较早参考(在与当前帧相比较早的时间位置的参考)用于SAD匹配,所以它无法适用于其中仅先前参考是可供使用的P帧或低延迟B帧。
在一些情况下,已经提出组合基于镜像的双向MV导出与HEVC中的合并模式。举例来说,添加被称作pu_dmvd_flag的旗标用于B切片的PU以指示DMVD模式是否被应用到当前PU。图13是具有添加的pu_dmvd_flag的PU解码的流程图。因为DMVD模式并不在位流中明确地发射任何MV信息,所以如图13中所示提出集成pu_dmvd_flag与在HEVC译码过程中的合并模式的语法的解码过程。
通过上文所描述的技术中的一或多个存在各种问题。举例来说,在现有LIC算法中,在双向预测运动补偿期间,从Ref0和Ref1中独立地导出LIC参数而没有考虑它们对预测符的联合影响。举例来说,在双向预测情况中,确定单独的LIC补偿预测补丁,并且相等权重(0.5)用于组合LIC补偿预测补丁以产生最终双向预测符。此外,在现有LIC算法中,仅相邻像素的单个行和单个列的子集用于导出LIC参数,这可能引起次佳解。甚至进一步,在现有LIC算法中,整数定位像素用于导出LIC参数而没有滤波(没有分数像素精确度),这可能由于嘈杂的经重构像素而引起产生次佳参数。并且,当启用LIC时,也针对双向预测运动补偿启用OBMC,这可能引起块的边界像素的过度平滑化。
本文中所描述的各种技术解决了前述问题。在一些情况下,可以单独地应用本文中所描述的技术。在一些情况下,可以应用本文中所描述的技术的任何组合。在本申请中,在一些情况下,参考索引信息被视为运动信息的一部分。在一些实例中,它们被联合地称作运动信息的集合。
在一些实例中,本文中描述了用于基于多个参考图片的模板导出用于图片的块的一或多个局部照明补偿(LIC)参数的方法和系统。编码器和解码器两者可以遵循相同过程以使用本文中所描述的技术导出照明补偿参数。举例来说,编码器和解码器两者可以使用相同过程导出权重(或比例缩放因数)而无需参数必须在位流中用信号发送(例如,到解码器)或使用另一用信号发送机构。在一些情况下,编码器和解码器LIC参数导出中的唯一差异在于在编码器侧,可能需要执行LIC的开关与运动搜索之间的联合优化。在一些实例中,可采用穷尽性搜索。
本文中所描述的LIC方法包含替代的方法以求解用于双向预测运动补偿的LIC参数。举例来说,在双向预测运动补偿期间,可以通过同时考虑来自参考图片列表0(RefPicList0)的第一参考图片的块(Ref0)和来自参考图片列表1(RefPicList1)的第二参考图片的块(Ref1)两者的模板导出LIC参数。在一个实例中,同时使用第一参考图片的第一模板和第二参考图片的第二模板以导出一或多个局部照明补偿参数。此类技术提供与独立地从Ref0和Ref1导出LIC参数的现有技术相比更佳的预测符而没有考虑它们对预测符的联合影响。举例来说,使用现有LIC解,通过寻找通过当前经重构帧与参考帧之间的相邻像素形成的一对数据集合的解导出LIC参数。在双向预测运动补偿中,使用单独的成本函数相对于L0和L1的参考块单独地完成现有LIC解的计算。相等权重双向平均操作必须用于组合LIC补偿预测符。当两个参考帧到当前帧的时间距离不相等时单独地针对Ref0和Ref1导出LIC参数可能带来问题。并且,当存在时间上的不均匀照明改变时,当面对双向预测时LIC参数的相等导出可能引起次佳参数。
图14是说明基于模板的LIC参数的导出的图式。当前块1402是对其执行运动补偿的当前图片的块。参考图片块1404是来自参考图片列表0(RefPicList0)的第一参考图片的块(Ref0),并且参考图片块1406是来自参考图片列表1(RefPicList1)的第二参考图片的块(Ref1)。相应地,项P0表示Ref0的模板区,并且项P1表示Ref1的模板区。项Ni表示当前块1402的模板区。模板Ni中的样本是与当前块1402相邻的经重构帧的经重构块的一部分。
照明补偿参数可包含偏移、一或多个权重、移动数量,或其它合适的照明补偿参数。权重也可以被称作按比例缩放因数。通过使用第一参考图片和第二参考图片的模板,举例来说,一或多个权重可包含用于第一参考图片的模板的第一权重和用于第二参考图片的模板的第二权重。
在一些实施方案中,在双向预测运动补偿中线性最小二乘方回归可用于估计LIC参数。在一个实例中,LIC参数的导出可以通过使用下文的最小二乘方等式(例如,下文的等式(5)-(6)或等式(5)和(11))求解成本函数(例如,下文的等式(4)或等式(10))完成。举例来说,来自当前块的一或多个相邻块的样本的子集可用于导出LIC参数。来自当前块的相邻块的样本可用于寻找当前块1402中的可能的照度改变,因为可以假设在相邻样本(在相邻块中)与当前样本(在当前块1402中)之间存在强相关性。举例来说,可以假设共享相同运动信息的当前块和相邻块应该含有非常类似的照度值。使用相邻样本的另一原因在于尚未预测当前块,并且可能并不存在来自当前块的供使用的像素,在此情况下相邻样本(其已经经重构)可以用于执行用于当前块的运动补偿的模板匹配。
在一个说明性实例中,可使用顶部邻居、左侧邻居或顶部邻居和左侧邻居两者。举例来说,图14中所示的模板Ni可包含来自当前块1402的顶部邻居左侧邻居的样本的子集。图14中所示的模板P0可包含来自参考块1404的顶部邻居和左侧邻居的像素的子集,并且模板P1可包含来自参考块1406的顶部邻居和左侧邻居的像素的子集。在模板P0和P1中使用的相邻块的样本可包含对应于在模板Ni中使用的相邻样本的样本。在一些情况下,在模板P0和P1中使用的对应的样本可以通过当前块的运动信息来识别。在解码器侧的一个说明性实例中,运动向量可以通过合并模式、FRUC合并模式或常规的AMVP模式在位流中用信号发送。解码器可以重构运动信息(例如,运动向量和参考索引)和参考图片次序计数(POC)。解码器可以使用参考索引识别参考图片,并且可以使用运动向量识别参考图片内的参考块1404和1406。解码器可以随后导出参考块1404和1406的相关联的模板区P0和P1。举例来说,一旦在参考图片中确定参考块1404和1406,则来自相邻块的顶部和左侧相邻样本(例如,一或多个行和一或多个列)可被确定为模板区P0和P1。此类技术不同于FRUC模板匹配,其中首先确定当前块的模板,随后模板用于在给定参考帧上搜索运动向量。
在一些实例中,为了求解双向预测LIC的权重,考虑以下成本函数:
Figure GDA0004149262620000251
其中λ是规则化参数,项Ni是当前经重构帧中的当前块的顶部相邻像素和/或左侧相邻像素(例如,在图14中示出当前块1402的模板Ni),项P0,i和P1,i相应地是List0和List1的参考帧中的参考块的顶部和/或左侧相邻像素(例如,在图14中示出参考块1404的模板P0和参考块1406的模板P1),项i是模板区内的像素索引,并且项N是模板区(Ni、P0和/或P1)中的像素的总数量。
项o是偏移,并且项w0和w1是权重。权重w0和w1以及偏移o用于补偿由一系列图片中的照明改变诱发的偏差。举例来说,通过同时考虑两个参考帧偏移o可以指示平均亮度改变。权重w0乘以从参考块1404(来自List0)产生的预测样本,所述预测样本是图14中所示的模板P0中的样本。权重w1乘以从参考块1406(来自List1)产生的预测样本,所述预测样本是图14中所示的模板P1中的样本。权重w0和w1是可调节参数并且基于图片的某些特性。举例来说,权重w0和w1可以基于用于预测当前图片的参考图片的时间距离、基于图片是否变为较亮的还是较暗的,或其它特性。在一个实例中,如果存在两个参考图片,其中第一参考图片与第二参考图片相比位于更接近当前图片处,那么不同权重可应用于这两个不同参考图片以寻找对其执行运动补偿的当前块的更好的预测实例。举例来说,与应用到第一参考图片(其更接近当前图片)的样本的权重相比较小权重可应用到第二参考图片(其更远离当前图片)的样本。在另一实例中,较高权重可应用到具有较少照明改变的样本。举例来说,如由下文的等式(6)所示,互相关从相邻样本到第一参考帧的预测样本获取,并且如果参考帧更远并且第一参考帧的相邻样本与第二参考帧的相邻样本相比更暗,那么可以使权重较少。最终预测是根据等式(9)产生的。
可以使用普通线性最小二乘方回归求解等式(4)以获得权重w0和w1以及偏移o的值。举例来说,通过使用线性最小二乘方回归求解等式(4),可以如下找到等式(4)的解:
Figure GDA0004149262620000261
相应地,可以通过求解等式(4)找到权重和偏移。在一些情况下,如果最小二乘方解的决定因素(在等式(5)中项a·c-b2)等于零,那么替代于双向LIC(同时使用两个参考块)可使用单向LIC(每次使用单个参考块)。在一些情况下,为了避免过度补偿,等式(5)中的偏移o可以进一步受到约束。值的一个实例可以与位深度(BD)相关联,其中偏移可以限于[-2BD,2BD-1]的范围。
在等式(5)中,N是被分析的模板(Ni、P0和/或P1)中的像素的数量,并且项{a,b,c,d,e}定义如下:
Figure GDA0004149262620000262
项a和c表示跨越相应地来自模板P0和模板P1的样本的方差。举例来说,项a表示用于参考块1404(Ref0)的模板P0的预测样本的方差,并且项c表示用于参考块1406(Ref1)的模板P1的预测样本的方差。使用a作为一个实例,来自模板P0的样本值P0,i被平方,并且从经平方的样本值P0,I,中减去模板P0中的样本的平均值,这提供了样本值P0,i的方差。平均值被示出为模板P0中的全部样本的总和平方、除以模板P0中的样本的总数量。如下文所述,还使用了规则化参数λ(用于项a-e中的每一个)。项c的定义类似于项a的定义,但是相对于来自模板P1的样本值P1,i
项b涉及P0和P1中的对应的样本的协方差(或在一些情况下互相关)。项d涉及模板P0中的样本与模板Ni中的对应的样本之间的协方差(或在一些情况下互相关)。类似地,项e涉及模板P1中的样本与模板Ni中的对应的样本之间的互相关。如等式(5)中所示,权重w0和w1是基于项a、b、c、d和e而确定的。权重w0和w1表示(当前块的)当前相邻样本与参考块的参考的邻居之间的相似性的量度。如果其它参考的邻居的方差较高或参考的邻居与当前邻居之间的协方差较高,那么权重较高。如果两个参考的邻居的协方差较高或当前邻居和参考的邻居的协方差较高,那么加权因数较低。
等式(6)可以重新写成:
Figure GDA0004149262620000271
规则化参数λ的值可以被选择为正值:
Figure GDA0004149262620000272
其中k是绝对值小于一的按比例缩放因数。替代地,λ可以被选择为两个平方和的最大值:
Figure GDA0004149262620000273
最终预测样本由下式产生:
Figure GDA0004149262620000274
最终预测样本P(x,y)表示将用于当前块1402中的位置(x,y)处的样本的样本值。如本文中所描述,LIC的应用可以集成到常规的双向预测运动补偿中。当考虑基于模板的搜索以寻找最佳权重时,等式(9)可以仍然用于在双向预测运动补偿期间应用最佳权重。
在一些实例中,可以执行导出LIC参数的多于一个导出方法。在此类实例中,编码器或其它发射器侧装置可以用信号发送到解码器哪个导出方法将在序列层级处(例如,在VPS和/或SPS中)、在图片层级处(例如,在PPS中)、在切片层级处(例如,在切片标头中)、在CTU层级处、在CU层级处、在PU层级处,或其组合,或其它合适的用信号发送的层级处使用。
所使用的替代的成本函数的另一说明性实例被定义为:
Figure GDA0004149262620000281
等式(10)中的成本函数的线性最小二乘方解具有等式(5)的类似形式,但是具有针对{a,b,c,d,e}中的每个项的不同定义:
Figure GDA0004149262620000282
更一般化地,等式(10)可以被定义为:
Figure GDA0004149262620000283
默认W0和默认W1的值可以被设置成任何合适的值,并且可以在不同层级处在位流中用信号发送,例如,在图片层级、切片层级、块层级,或在块的群组的层级。作为一个实例,在切片标头中用信号发送的加权预测参数可用于导出默认W0和默认W1的值。等式(10)中的实例成本函数使用0.5的值用于默认W0和默认W1项两者。然而,此类项是可配置的并且可以设置成任何合适的值。
在一些实例中,最小二乘方解可以基于来自邻居(例如,顶部邻居、左侧邻居、顶部邻居和左侧邻居两者,或其它邻居)的模板的多个行和/或列来计算。行和/或列的实例数量(以及在一些情况下,典型的数量)包含一个、两个、四个或任何其它合适的数量的行和/或列。举例来说,来自当前块1402的左侧邻居的样本的多于一个行和/或列以及来自当前块1402的顶部邻居的样本的多于一个行和/或列可以包含在模板Ni中。在此类情况下,在模板P0和P1中将存在样本的对应的数量的行和/或列。在一个说明性实例中,模板Ni可包含来自当前块1402的左侧相邻块的2列像素和来自当前块1402的顶部相邻块的2行像素。在此实例中,模板P0可包含来自参考块1404的左侧相邻块的2列像素和来自参考块1404的顶部相邻块的2行像素。类似地,在此实例中,模板P1可包含来自参考块1406的左侧相邻块的2列像素和来自参考块1406的顶部相邻块的2行像素。
当多个行和/或列包含在模板中时可以修改上文的等式4-11。举例来说,模板区中的像素的数量(项N)将基于模板中的行和/或列的数量改变。举例来说,如果块是16x16块(16个行像素乘16个列像素),并且如果使用来自顶部相邻块的两个行和来自左侧相邻块的两个列,那么Ni模板将包含64个样本(32个样本来自左侧相邻块和32个样本来自顶部相邻块),并且N的值将是64。在此实例中,P0和P1模板将也包含64个样本。
在一些情况下,整数定位样本(或像素)用于LIC参数的导出。在一些情况下,分数定位样本用于LIC参数的导出。在一些情况下,整数定位样本和分数定位样本可以都被使用。举例来说,图片之间的移动对象的真实位移是连续的并且倾向于不遵循视频序列中的图片的采样栅格。因为这一点,替代于整数精确度,分数精确度可用于运动向量,引起残余误差的减小和视频编码器的译码效率的增大。如果运动向量具有分数值,那么参考块需要相应地内插。举例来说,用于当前块的样本的运动向量可以指向参考块中的分数像素位置。分数像素位置是指在块中的分数样本位置(非整数位置)处的样本(例如,亮度样本)。此类位置需要通过内插产生。在一个实例中,当使用分数定位样本时,模板(例如,P0或P1)的内插或滤波后的版本可用于减少在导出LIC参数时来自经重构像素的量化误差。模板的此内插版本可使用一或多个内插滤波器产生。举例来说,如果当前块的运动向量指向参考帧中的分数像素位置,那么内插滤波器可用于在导出LIC参数之前产生用于模板的样本的更好的集合。举例来说,所使用的内插滤波器的类型可包含但不限于HEVC标准中所定义的双向线性内插滤波器、8抽头内插滤波器,或任何其它合适的滤波器。当前照明补偿解决方案并不使用任何分数像素定位样本。举例来说,使用当前解决方案,假设运动向量指向分数像素位置,那么待用于LIC导出的预测符的值经舍入到最接近的整数参考样本位置,并且随后所得样本用于导出LIC参数。
在一个实例中,来自模板(P0和P1)的一些样本可以被确定为离群值并且可以被排除。举例来说,最小二乘方解可以基于排除离群值的样本计算。在一些实施方案中,解码或导出的样本值范围(或阈值)可应用于移除离群值。所述范围可被称作离群值阈值范围。其值不在范围内的样本可以被移除,并且最小二乘方解是基于其值在范围内的样本计算的。在一个说明性实例中,可使用8位像素值,在此情况下像素值可以从0到255。在一些情况下,给定图片中的像素的值可包含全部可供使用的值的子集,例如,在16到235之间的像素值的子集。在给定图片中使用的值的子集可以被用作用于排除离群值的范围。在范围外部的任何样本值可以被确定为离群值,并且在使用上述等式导出LIC参数之前可以被从模板中移除。在另一说明性实例中,可以计算模板中的样本值的平均值,并且范围可包含来自平均值的x标准偏差。x项可以被设置成任何合适的值,例如,3(用于3个标准偏差)、4、5,或其它合适的值。可以排除超出来自平均值的x标准偏差的任何样本。范围可以用信号发送到解码器,例如,在切片层级、图片层级、块层级,或类似者。
在一些实例中,仅亮度分量需要用于联合地优化用于Ref0和Ref1两者的LIC参数。替代地,在双向预测LIC参数的导出期间可以考虑亮度分量和色度分量两者。编码器可以将是否将LIC应用到色度分量中的一或多个或仅将LIC应用到亮度分量用信号发送到解码器(在参数集中、在SEI消息中,或其它合适的用信号发送机构)。
在一些情况下,当启用FRUC双侧匹配时,可以省略双向预测LIC导出并且系统可以继续进行单向LIC。在一些情况下,FRUC和双侧(基于模板的)LIC可以一起使用。
在一些实例中,当LIC(例如,双向预测和/或单向预测LIC)启用时可不相交的使用先前所描述的重叠块运动补偿(OBMC)技术。举例来说,在一些情况下,当针对块启用LIC时,针对块停用OBMC。在另一实例中,当启用LIC时,仅针对B型切片停用OBMC。在此类实例中,可以仅针对P型切片中的块一起启用OBMC旗标和IC旗标(例如,在参数集的语法中、在标头中、在SEI消息中,或类似者)。在另一实例中,当启用LIC时,仅针对双向预测块停用OBMC。在此类实例中,OBMC和IC技术可以同时仅应用于单向预测块。
另外,如果使用旗标(例如,在参数集的语法中、在标头中、在SEI消息中,或类似者)来指示是否应用OBMC,那么当OBMC和LIC无法一起启用用于块、切片、图片或类似者时相关联的OBMC旗标不应该被发送。类似地,在OBMC旗标首先用信号发送的情况下约束条件可应用于LIC旗标。
图15说明用于在IC与OBMC旗标(块1504和1506)之间的现有用信号发送的过程1500,以及关于改进的用信号发送(块1502和1508-1518)的流程图。提出使用上文的实例1、实例2或实例3可以获得与现有技术相比较低的编码复杂度和更好的译码效率。举例来说,在块1502处,过程1500用信号发送用于当前块的运动向量和参考索引。使用现有技术,用信号发送OBMC旗标(在块1504处)和IC旗标(在块1506处)。然而,在实例1中,过程1500检查在块1508处是否用信号发送IC旗标。如果用信号发送IC旗标,那么并不用信号发送OBMC旗标。然而,如果并不用信号发送IC旗标,那么在块1510处用信号发送OBMC旗标。当并不用信号发送OBMC旗标时,它被假设为是针对当前块停用的。
在实例2中,在块1512处,过程1500检查是否用信号发送IC旗标以及当前切片是否是B型切片两者。如果用信号发送IC旗标并且当前切片是B型切片,那么并不用信号发送OBMC旗标。然而,如果并不用信号发送IC旗标或者当前切片是B型切片,那么在块1514处用信号发送OBMC旗标。当并不用信号发送OBMC旗标时,它被假设为是针对当前块停用的。
在实例3中,在块1516处,过程1500检查是否用信号发送IC旗标以及当前块是否是双向预测块两者。如果用信号发送IC旗标并且当前块是双向预测块,那么并不用信号发送OBMC旗标。然而,如果并不用信号发送IC旗标或者当前块是双向预测块,那么在块1518处用信号发送OBMC旗标。当并不用信号发送OBMC旗标时,它被假设为是针对当前块停用的。
上文所描述的实例中的一或多个提供JEM 3.0中的现有局部照明补偿(LIC)工具的替代的方法。在实例中的一些中,线性最小二乘方方法用于联合地针对L0和L1两者在双向预测运动补偿中求解LIC参数。在常用测试条件之下对JEM-3.0进行测试,所提出的方法可针对随机存取、低延迟B和低延迟P配置相应地提供0.18%/0.01%/xxx%BD速率减小,具有2-3%的编码时间增大。
使用本文中所描述的基于模板的双向预测LIC导出技术实验已经示出了肯定的结果。在以下模拟中,拉姆达的值被选择为:
Figure GDA0004149262620000311
/>
Figure GDA0004149262620000312
Figure GDA0004149262620000321
表1
Figure GDA0004149262620000322
表2
Figure GDA0004149262620000323
表3
表1、2和3的前三个列中的数字是所谓的BD速率,所述速率是在视频译码中测量译码效率常用的度量。BD速率的负数是指位的减少以表示相同质量的视频,并且因此暗示译码增益。接下来的两个列相应地是编码运行时间(EncT)和解码运行时间(DecT)。表1-3中的行中的每一个指示来自UHD(类别A1/类别A2)、HD(类别B)、WVGA(类别C)和WQVGA(类别D)的不同分辨率的序列的集合。类别F是包含计算机屏幕内容(SCC)的特殊集合。
在一些实例中,在单向预测运动补偿和/或双向预测运动补偿期间,LIC参数可以通过组合各种技术的全部或任何子集而导出。在一个说明性实例中,模板可以通过考虑来自顶部邻居、左侧邻居、顶部邻居和左侧邻居两者或另一相邻块的全部的样本(例如,像素、全部亮度样本、全部色度样本、色度样本中的仅一者、其组合,或其它合适的样本)产生。
在一些情况下,将包含在回归计算(例如,用于单向预测运动补偿或用于双向预测运动补偿)中的像素(或其它样本)的行和/或列的数量可以是一个、两个或四个。也可以使用其它合适的数量的行和/或列。在一些情况下,可能的行和/或列的数量可以是固定的。
在一些情况下,本文中描述了用于适应性地确定用于LIC的一或多个模板的大小的系统和方法。举例来说,用于针对当前块执行LIC的模板(例如,上文所描述的Ni、P0或P1,或在单向预测运动补偿中使用的单个参考图片的模板)中的样本(例如,像素或其它样本)的行和/或列的数量可以取决于当前块的参数而不同。所述参数可包含当前块的块大小(例如,块的宽度、高度,或宽度和高度)、当前块的色度格式(例如,4:2:0格式、4:2:2格式、4:4:4格式,或其它合适的色度格式),或可用于确定模板大小的其它参数。
举例来说,模板中的像素(或其它样本)的行和/或列的数量可以取决于当前块的宽度和/或高度而不同。在一些实例中,当块宽度小于阈值宽度时,顶部模板的行的数量是一。在一些实例中,当块高度小于阈值高度时,左侧模板的列的数量是一。当块宽度大于阈值宽度时,顶部模板的行的数量是多于一个,并且当块高度大于阈值高度时,左侧模板的列的数量是多于一个。在一个说明性实例中,对于具有小于8个像素的宽度和/或高度的块,行和/或列的数量限于一个。否则,如果宽度和/或高度小于32个像素,那么行和/或列的数量限于两个。否则,行和/或列的数量可以多达4个。在一些情况下,阈值可以通过编码器和/或解码器静态地决定。在一些情况下,阈值或在序列参数集(SPS)中、在图片参数集(PPS)中、在切片标头中、在SEI消息中用信号发送,或使用其它合适的用信号发送。
在另一实例中,用于色度的像素(或其它样本)的行和/或列的数量取决于色度格式。举例来说,对于4:2:0格式,用于色度的像素的行和/或列的数量被设置成亮度大小的一半。在另一实例中,对于4:2:2格式,用于色度的像素的列的数量被设置成亮度大小的一半而行的数量被设置成与亮度大小相同。当相关联的亮度分量的行和/或列的数量是一时,那么相关联的行和/或列的数量可以被设置成一。
在一些实例中,模板的大小可以在SPS中、在PPS中、在切片标头中、在SEI消息中用信号发送,或使用其它合适的用信号发送。在一些实例中,在回归计算之前预处理相邻像素的内插滤波器的类型包含在HEVC标准中定义的双向线性和8抽头内插滤波器,如本文中所描述。在一些情况下,可以经由SPS、PPS、切片标头、SEI消息用信号发送内插滤波器的类型或使用其它合适的用信号发送。
在一些实例中,还提供用于从权重的预定义集合中的权重的自适应选择的一或多个系统和方法。举例来说,基于模板的解决方案可用于搜索权重的预定义集合之外的一或多个最佳权重而无需将权重的选择用信号发送到解码器。自适应权重选择可用于任何基于模板匹配的运动预测或补偿,例如,LIC、加权预测(WP),或在预测过程中使用权重的其它预测或补偿技术。
举例来说,如果在双向预测运动补偿期间考虑权重的预定义集合,那么基于模板的方法可以用于搜索权重的最佳集合而无需将权重的选择用信号发送到解码器。应注意此方法可应用于启用LIC和停用LIC的情况两者,并且因此可以从本文中所描述的其它方法中的一些或全部中独立地应用。下文的此类方法和实例可应用于双向预测块和/或单向预测块。
在一些情况下,当前块的相邻样本可以被用作模板,类似于先前所描述的。在一些情况下,与用于候选项模板的样本相关联的一或多个度量可用于确定从权重的预定义集合中选择哪个权重。举例来说,当前块的相邻样本和一或多个参考块的它们的对应的样本的绝对差总和(SAD)、绝对变换差总和(SATD)和/或平方误差总和(SSE)(通过当前块的运动信息指示)可以用作模板匹配的标准。在此实例中,来自权重的预定义集合的引起模板匹配的最小SAD、SATD或SSE的权重可被选择且用于产生预测。所属领域的技术人员将了解任何其它测量值可以用作模板匹配的标准。在此类情况下,不需要用信号发送一或多个特定加权参数。
在一些实例中,预定义集合中的模板匹配的度量(例如,SAD、SATD、SSE,或类似者)可用于用信号发送加权参数。举例来说,模板匹配的SAD/SATD/SSE的次序可用于切换加权参数的用信号发送的次序。在一个说明性实例中,存在四对权重并且编码器需要用信号发送使用哪对权重。引起最低SAD/SATD/SSE值的对被指派“0”的码字,并且引起第二最低SAD/SATD/SSE值的对被指派“10”的码字。剩余的两对被相应地指派“110”和“111”的码字。
图16是说明使用本文中所描述的双向预测LIC参数导出技术中的一或多个处理视频数据的过程1600的实例的流程图。在1602,过程1600包含获得视频数据。在一些实例中,视频数据可包含经编码视频数据(例如,经编码视频位流),例如当通过解码装置执行过程1800时。在一些实例中,视频数据可包含非经编码视频数据,例如当通过编码装置执行过程1800时。视频数据可包含多个图片,并且图片可以被划分成多个块,如先前所描述。视频数据还可包含用于图片和/或块的运动信息,其可用于执行运动补偿。
在1604,过程1600包含针对视频数据的图片的当前块执行双向预测运动补偿。执行双向预测运动补偿包含使用当前块的模板、第一参考图片的第一模板和第二参考图片的第二模板导出用于当前块的一或多个局部照明补偿参数。在一个说明性实例中,当前块可以是图14中所示的当前块1402,当前块的模板可以包含模板NI,第一参考图片可以包含参考块1404,第一模板可以包含模板P0,第二参考图片可以包含参考块1406,并且第二模板可以包含模板P1。
在一些实例中,第一参考图片的第一模板和第二参考图片的第二模板同时使用以导出一或多个局部照明补偿参数。举例来说,可以求解等式(4)中所示的成本函数或等式(10)中所示的成本函数(或其它合适的函数)以在相同时间使用第一参考图片和第二参考图片两者(两个参考图片在相同成本函数中使用)导出一或多个局部照明补偿参数。
在一些情况下,当前块的模板包含当前块的一或多个空间相邻样本。举例来说,使用图14作为一个实例,模板Ni由来自与当前块1402相邻的块的样本构成。在此类情况下,第一模板包含第一参考块的一或多个空间相邻样本,并且第二模板包含第二参考块的一或多个空间相邻样本。举例来说,再次使用图14作为一个实例,模板P0包含参考块1404的空间相邻样本,并且模板P1包含参考块1406的空间相邻样本。
在一些实例中,可以通过获得当前块的模板的一或多个空间相邻样本导出用于当前块的一或多个局部照明补偿参数。过程1600可以确定第一参考图片的第一模板的一或多个样本。第一模板的一或多个样本包含第一参考图片的第一参考块的一或多个空间相邻样本。过程1600也可以确定第二参考图片的第二模板的一或多个样本,其包含第二参考图片的第二参考块的一或多个空间相邻样本。举例来说,当前块的运动信息(例如,运动向量和两个参考索引)可用于定位第一参考图片和第二参考图片(使用参考索引)以及参考图片内的第一块和第二块(使用运动向量)。可以随后确定第一参考块和第二参考块的一或多个空间相邻样本。在一个说明性实例中,包含在第一模板中的第一参考块的一或多个空间相邻样本可以被确定为来自第一参考块上方的相邻块的样本的一或多个行和来自第一参考块左侧的相邻块的样本的一或多个列。在此实例中,包含在第二模板中的第二参考块的一或多个空间相邻样本可以被确定为来自第二参考块上方的相邻块的样本的一或多个行和来自第二参考块左侧的相邻块的样本的一或多个列。也可以使用来自其它相邻块的行和/或列。
可以基于当前块的一或多个空间相邻样本、第一模板的一或多个样本和第二模板的一或多个样本导出用于当前块的一或多个照明补偿参数。举例来说,一或多个局部照明补偿参数可以通过使用偏移、第一权重和第二权重求解成本函数导出。在一个说明性实例中,可以使用当前块的一或多个空间相邻样本、第一模板的一或多个样本和第二模板的一或多个样本求解等式(4)中所示的成本函数或等式(10)中所示的成本函数(或其它合适的函数)以导出用于当前块的一或多个局部照明补偿参数。在此实例中,到LIC过程的输入包含当前块的相邻样本、两个参考块的相邻样本以及两个运动向量和参考索引,其指示参考样本来自何处。
在一些情况下,当前块的模板包含当前块的至少一个相邻块的多个样本的子集。举例来说,当前块的模板可包含来自相邻块的像素的单个行,或来自相邻块的像素的多个行。在一个实例中,构成模板的相邻样本可以来自顶部相邻块、左侧相邻块,顶部相邻块和左侧相邻块两者,或其它相邻块。在当前块的模板包含当前块的顶部相邻块和左侧相邻块的实例中,模板可包含来自顶部相邻块的单个行和左侧相邻块的单个列。在一些实例中,当前块的模板包含来自当前块的相邻块的样本的多个行。在一些情况下,当前块的模板包含来自当前块的第一相邻块的样本的多个行和来自当前块的第二相邻块的样本的多个行。在一些情况下,模板可包含来自两个以上相邻块的相邻样本。在当前块的模板包含当前块的顶部相邻块和左侧相邻块的实例中,模板可包含来自顶部相邻块的两个或大于两个行和左侧相邻块的两个或大于两个列。第一参考块的第一模板和第二参考块的第二模板还可包含相应的参考块的相邻块的单个行和/或列,或来自相邻块的多个行和/或列。
在一些实例中,一或多个局部照明补偿参数包含一或多个权重。举例来说,一或多个权重可包含对应于第一参考图片的第一权重和对应于第二参考图片的第二权重。使用先前实例,第一权重可包含权重w0并且第二权重可包含权重w1,所述权重来自等式(4)或等式(10)。在一些实例中,一或多个局部照明补偿参数包含偏移。使用来自上方的实例,偏移可包含来自等式(4)或等式(10)的偏移o。在一些情况下,一或多个局部照明补偿参数包含偏移、对应于第一参考图片的第一权重和对应于第二参考图片的第二权重。
在一些实施方案中,第一参考图片的第一模板中的整数定位样本和第二参考图片的第二模板中的整数定位样本用于导出一或多个局部照明补偿参数。在一些情况下,第一参考图片的第一模板中的分数定位样本和第二参考图片的第二模板中的分数定位样本用于导出一或多个局部照明补偿参数。在此类情况下,过程1600可以使用至少一个内插滤波器以导出第一参考图片的第一模板中的分数定位样本和第二模板中的分数定位样本。
在一些实例中,在导出一或多个照明补偿参数中可以从使用中排除来自第一和第二参考块的相邻样本的某些样本。举例来说,过程1600可包含确定来自第一模板或第二模板中的至少一或多个的离群值阈值范围之外的至少一个样本,并且从用于导出一或多个局部照明补偿参数中排除所述至少一个样本。举例来说,如先前所描述,离群值阈值范围可包含模板中的全部可供使用的像素值的子集、来自模板中的像素值的平均值的x标准偏差,或其它合适的范围。
在一些情况下,仅来自第一模板和第二模板的一或多个样本的亮度分量用于导出一或多个局部照明补偿参数。在一些情况下,来自第一模板和第二模板的一或多个样本的亮度分量和至少一个色度分量用于导出一或多个局部照明补偿参数。
当通过解码器执行时,过程1600可进一步包含使用一或多个照明补偿参数对当前块进行解码。当通过编码器或其它发射器侧装置执行时,过程1600可包含在经编码视频位流中用信号发送一或多个照明补偿参数。
在一些实例中,当针对当前块启用局部照明补偿时可以针对当前块停用重叠块运动补偿(OBMC)。在一些情况下,当针对视频数据启用局部照明补偿时针对视频数据的B型切片停用OBMC。在一些情况下,当针对视频数据启用局部照明补偿时针对视频数据的双向预测块停用OBMC。
图17是说明使用本文中所描述的自适应模板导出技术中的一或多个处理视频数据的过程1700的实例的流程图。在1702,过程1700包含获得视频数据的图片的当前块。在一些实例中,视频数据可包含经编码视频数据(例如,经编码视频位流),例如当通过解码装置执行过程1800时。在一些实例中,视频数据可包含非经编码视频数据,例如当通过编码装置执行过程1800时。视频数据可包含多个图片,并且图片可以被划分成多个块,如先前所描述。视频数据还可包含用于图片和/或块的运动信息,其可用于执行运动补偿。
在1704,过程1700包含确定当前块的参数。在一些情况下,当前块的参数包含当前块的大小。在一个说明性实例中,当前块的大小可包含当前块的宽度。在另一实例中,当前块的大小包含当前块的高度。在另一实例中,当前块的大小包含块的宽度和块的高度。大小还可包含大小的任何其它合适的量度,例如,像素的数量、面积,或类似者。在一些情况下,当前块的参数包含当前块的色度格式。在各种实例中,色度格式可包含4:2:0色度格式、4:2:2色度格式、4:4:4色度格式,或其它合适的格式。
在1706,过程1700包含基于当前块的所确定的参数确定当前块的模板中的样本的行的数量或样本的列的数量中的至少一或多个以及参考图片的模板中的样本的行的数量或样本的列的数量中的至少一或多个。在一个说明性实例中,当参数包含块的宽度时,在当前块的宽度小于阈值宽度时当前块的模板中的样本的行的数量是一个行。在另一说明性实例中,当参数包含块的宽度时,在当前块的宽度大于阈值宽度时当前块的模板中的样本的行的数量是多于一个行。在另一说明性实例中,当参数包含块的高度时,在当前块的高度小于阈值高度时当前块的模板中的样本的列的数量是一个列。在另一说明性实例中,当参数包含块的高度时,在当前块的高度大于阈值高度时当前块的模板中的样本的列的数量是多于一个列。在另一说明性实例中,当参数包含块的色度格式时,在当前块的色度格式是4:2:0时当前块的模板中的样本的行的数量和样本的列的数量被设置成当前块的亮度大小的一半。在另一说明性实例中,当参数包含块的色度格式时,在当前块的色度格式是4:2:2时当前块的模板中的样本的行的数量被设置成与当前块的亮度大小相同的大小并且其中当前块的模板中的样本的列的数量被设置成亮度大小的一半。
在1708,过程1700包含针对当前块执行运动补偿。执行运动补偿包含使用当前块的模板和参考图片的模板导出用于当前块的一或多个局部照明补偿参数。运动补偿可包含单向预测运动补偿或双向预测运动补偿。
当通过解码器执行时,过程1700可进一步包含使用一或多个照明补偿参数对当前块进行解码。当通过编码器或其它发射器侧装置执行时,过程1700可包含在经编码视频位流中用信号发送一或多个照明补偿参数。
图18是说明使用本文中所描述的自适应权重选择技术中的一或多个处理视频数据的过程1800的实例的流程图。在1802,过程1800包含获得视频数据的图片的当前块。在一些实例中,视频数据可包含经编码视频数据(例如,经编码视频位流),例如当通过解码装置执行过程1800时。在一些实例中,视频数据可包含非经编码视频数据,例如当通过编码装置执行过程1800时。视频数据可包含多个图片,并且图片可以被划分成多个块,如先前所描述。视频数据还可包含用于图片和/或块的运动信息,其可用于执行运动补偿。
在1804,过程1800包含针对基于模板匹配的运动补偿获得权重的预定义集合。在一些情况下,权重的预定义集合包含至少权重的第一集合和权重的第二集合。权重的预定义集合可包含与权重的第一集合和第二集合相比权重的更多集合。权重可以用于任何合适的运动补偿或估计函数,例如,局部照明补偿、加权预测,或其它使用权重用于视频译码的函数。
在1806,过程1800包含确定与当前块的一或多个空间相邻样本和参考帧的一或多个空间相邻样本相关联的多个度量。举例来说,多个度量可通过以下项确定:通过将权重的第一集合应用到参考帧的一或多个空间相邻样本确定第一度量,通过将权重的第二集合应用到参考帧的一或多个空间相邻样本确定第二度量。在一些情况下,多个度量可通过计算当前块的一或多个空间相邻样本与参考帧的一或多个空间相邻样本之间的绝对差总和确定。在一些情况下,多个度量可通过计算当前块的一或多个空间相邻样本与参考帧的一或多个空间相邻样本之间的绝对变换差总和确定。在一些情况下,多个度量可通过计算当前块的一或多个空间相邻样本与参考帧的一或多个空间相邻样本之间的预测的平方误差总和确定。
在1808,过程1800包含从权重的预定义集合中选择权重的集合以用于基于模板匹配的运动补偿。权重的集合是基于多个度量确定的。举例来说,权重的集合可基于多个度量而选择,方法是比较第一度量和第二度量,确定第一度量小于第二度量,并且基于第一度量小于第二度量选择权重的第一集合。如通过第一度量小于第二度量所指示,权重的第一集合引起权重的预定义集合之中的最小度量用于基于模板匹配的运动补偿。
在1810,过程1800包含使用权重的所选择的集合针对当前块执行基于模板匹配的运动补偿。基于模板匹配的运动补偿可包含任何合适的运动补偿技术,例如,局部照明补偿(LIC)、加权预测(WP),或其它合适的基于模板匹配的运动补偿技术。
在一些情况下,没有权重参数与视频数据一起用信号发送。举例来说,通过适应性地选择权重的集合,不存在将权重参数用信号发送到解码器的需要,因为解码器能够选择使用过程的权重的集合。
在一些实例中,可通过计算装置或设备执行过程1600、1700和1800,例如,图1中所示的系统100。举例来说,可通过图1和图12中所示的编码装置104、通过另一视频源侧装置或视频发射装置、通过图1和图12中所示的解码装置112和/或通过另一客户端侧装置(例如,播放器装置、显示器或任何其它客户端侧装置)执行过程900。可通过图1和图12中所示的编码装置104或通过另一视频源侧装置或视频发射装置执行过程1000。可通过图1和图20中所示的解码装置112和/或通过图1和图19中所示的编码装置104执行过程1100。在一些情况下,计算装置或设备可包含处理器、微处理器、微计算机或经配置以执行过程1600、1700和1800的步骤的装置的其它组件。在一些实例中,计算装置或设备可包含经配置以俘获包含视频帧的视频数据(例如,视频序列)的相机。在一些实例中,相机或俘获视频数据的其它俘获装置与计算装置分开,在此情况下计算装置接收或获得所俘获的视频数据。计算装置可进一步包含经配置以传送视频数据的网络接口。网络接口可经配置以传送基于因特网协议(IP)的数据或其它类型的数据。在一些实例中,计算装置或设备可包含显示器以用于显示输出视频内容,例如,视频位流的图片的样本。
过程1600、1700和1800被说明为逻辑流程图,其操作表示可以在硬件、计算机指令或其组合中实施的操作的序列。在计算机指令的情形下,操作表示存储在一或多个计算机可读存储媒体上的计算机可执行指令,这些计算机可执行指令在由一或多个处理器执行时执行所叙述的操作。一般而言,计算机可执行指令包含例程、程序、对象、组件、数据结构以及执行特定功能或实施特定数据类型的类似物。描述操作的次序并不意图解释为限制,且任何数量的所描述的操作可以按任何次序组合和/或并行以实施所述过程。
另外,过程1600、1700和1800可在配置有可执行指令的一或多个计算机系统的控制下执行,并且可以被实施为通过硬件在一或多个处理器上共同地执行的代码(例如,可执行指令、一或多个计算机程序或一或多个应用程序),或其组合。如上文所指出,代码可存储在计算机可读或机器可读存储媒体上,例如,呈包括可通过一或多个处理器执行的多个指令的计算机程序的形式。计算机可读或机器可读存储媒体可以是非暂时性的。
本文中所论述的译码技术可以在实例视频编码和解码系统(例如,系统100)中实施。在一些实例中,系统包含源装置,其提供在稍后时间将由目的地装置解码的经编码视频数据。具体地说,源装置经由计算机可读媒体将视频数据提供到目的地装置。源装置和目的地装置可包括多种多样的装置中的任一个,包含桌上型计算机、笔记本型(即,膝上型)计算机、平板计算机、机顶盒、电话手持机(例如,所谓的“智能”电话)、所谓的“智能”平板、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置或类似者。在一些情况下,源装置和目的地装置可经装备以用于无线通信。
目的地装置可经由计算机可读媒体接收待解码的经编码视频数据。计算机可读媒体可包括能够将经编码视频数据从源装置移动到目的地装置的任何类型的媒体或装置。在一个实例中,计算机可读媒体可包括使源装置能够实时将经编码视频数据直接发射到目的地装置的通信媒体。经编码视频数据可根据通信标准(例如,无线通信协议)加以调制,且发射到目的地装置。通信媒体可包括任何无线或有线通信媒体,例如,射频(RF)频谱或一或多个物理发射线路。通信媒体可形成基于包的网络(例如,局域网、广域网或全球网络,例如,因特网)的部分。通信媒体可包含路由器、交换机、基站或可用于促进从源装置到目的地装置的通信的任何其它设备。
在一些实例中,经编码数据可从输出接口输出到存储装置。类似地,可以通过输入接口从存储装置存取经编码数据。存储装置可包含多种分布式或本地存取式数据存储媒体中的任一个,例如,硬盘驱动器、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器或用于存储经编码视频数据的任何其它合适的数字存储媒体。在另一实例中,存储装置可对应于文件服务器或可存储由源装置产生的经编码视频的另一中间存储装置。目的地装置可通过流式传输或下载从存储装置存取所存储视频数据。文件服务器可以是能够存储经编码视频数据并且将所述经编码视频数据发射到目的地装置的任何类型的服务器。实例文件服务器包含万维网服务器(例如,用于网站)、FTP服务器、网络连接存储(NAS)装置或本地磁盘驱动器。目的地装置可通过任何标准数据连接(包含因特网连接)来存取经编码视频数据。所述数据连接可包含无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等),或适合于存取存储在文件服务器上的经编码视频数据的两者的组合。经编码视频数据从存储装置的发射可为流式传输发射、下载发射或其组合。
本发明的技术不必限于无线应用或设置。所述技术可以应用于支持多种多媒体应用中的任一个的视频译码,例如,空中协议电视广播、有线电视发射、卫星电视发射、因特网流式视频发射(例如,动态自适应HTTP流式传输(DASH))、经编码到数据存储媒体上的数字视频,存储在数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,系统可经配置以支持单向或双向视频发射,以支持例如视频流式传输、视频重放、视频广播和/或视频电话等应用。
在一个实例中,源装置包含视频源、视频编码器和输出接口。目的地装置可包含输入接口、视频解码器和显示装置。源装置的视频编码器可经配置以应用本文中所公开的技术。在其它实例中,源装置和目的地装置可包含其它组件或布置。举例来说,源装置可从外部视频源(例如,外部相机)接收视频数据。类似地,目的地装置可与外部显示装置介接,而非包含集成显示装置。
以上实例系统仅为一个实例。用于并行处理视频数据的技术可由任何数字视频编码和/或解码装置来执行。虽然本发明的技术通常通过视频编码装置执行,但是所述技术也可通过视频编码器/解码器(通常被称作“编解码器”)执行。此外,本发明的技术还可通过视频预处理器执行。源装置和目的地装置仅为源装置在其中产生经译码视频数据以供发射到目的地装置的此类译码装置的实例。在一些实例中,源装置和目的地装置可以基本上对称方式操作,使得所述装置中的每一者包含视频编码和解码组件。因此,实例系统可支持视频装置之间的单向或双向视频发射,例如,用于视频流式传输、视频重放、视频广播或视频电话。
视频源可包含视频俘获装置,例如,摄像机、含有先前所俘获视频的视频存档和/或用于从视频内容提供者接收视频的视频馈送接口。作为另一替代方案,视频源可产生基于计算机图形的数据作为源视频,或实况视频、存档视频与计算机产生的视频的组合。在一些情况下,如果视频源是摄像机,那么源装置和目的地装置可形成所谓的相机电话或视频电话。然而,如上文所提及,本发明中所描述的技术一般可适用于视频译码,且可应用于无线和/或有线应用。在每一情况下,可由视频编码器对所俘获、预先俘获或计算机产生的视频进行编码。经编码视频信息可随后由输出接口输出到计算机可读媒体上。
如所提到,计算机可读媒体可包含暂时性媒体,例如,无线广播或有线网络发射,或存储媒体(即,非暂时性存储媒体),例如,硬盘、快闪驱动器、压缩光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。在一些实例中,网络服务器(未示出)可从源装置接收经编码视频数据并且将经编码视频数据提供到目的地装置,例如,经由网络发射。类似地,媒体生产设施(例如,光盘冲压设施)的计算装置可从源装置接收经编码视频数据并且产生含有经编码视频数据的光盘。因此,在各种实例中,计算机可读媒体可理解为包含各种形式的一或多个计算机可读媒体。
目的地装置的输入接口从计算机可读媒体接收信息。计算机可读媒体的信息可包含由视频编码器定义的语法信息,所述语法信息也供视频解码器使用,所述信息包含描述块和其它译码单元(例如,图片群组(GOP))的特性和/或处理的语法元素。显示装置向用户显示经解码视频数据,且可包括多种显示装置中的任一者,例如,阴极射线管(CRT)、液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。已描述本发明的各种实施例。
在图19和图20中相应地示出编码装置104和解码装置112的特定细节。图19是说明可实施本发明中所描述的技术中的一或多个的实例编码装置104的框图。举例来说,编码装置104可以产生本文中所描述的语法结构(例如,VPS、SPS、PPS的语法结构,或其它语法元素)。编码装置104可以在视频切片内执行视频块的帧内预测和帧间预测译码。如先前描述,帧内译码至少部分依赖于空间预测来减少或去除给定视频帧或图片内的空间冗余。帧间译码至少部分依赖于时间预测来减少或去除视频序列的邻近或周围帧内的时间冗余。帧内模式(I模式)可指若干基于空间的压缩模式中的任一者。例如单向预测(P模式)或双向预测(B模式)的帧间模式可指若干基于时间的压缩模式中的任一者。
编码装置104包含分割单元35、预测处理单元41、滤波器单元63、图片存储器64、求和器50、变换处理单元52、量化单元54以及熵编码单元56。预测处理单元41包含运动估计单元42、运动补偿单元44以及帧内预测处理单元46。对于视频块重构,编码装置104还包含逆量化单元58、逆变换处理单元60和求和器62。滤波器单元63意图表示一或多个环路滤波器,例如,解块滤波器、自适应环路滤波器(ALF)以及样本自适应偏移(SAO)滤波器。尽管在图19中将滤波器单元63示出为环内滤波器,但在其它配置中,可将滤波器单元63实施为环路后滤波器。后处理装置57可对由编码装置104产生的经编码视频数据执行额外处理。本发明的技术在一些例子中可以通过编码装置104实施。然而,在其它例子中,本发明的技术中的一或多个可以通过后处理装置57实施。
如图19中所示,编码装置104接收视频数据,且分割单元35将数据分割成视频块。分割也可包含分割成切片、切片段、图块,或其它较大单元,以及视频块分割,例如,根据LCU和CU的四叉树结构。编码装置104大体上说明对待编码的视频切片内的视频块进行编码的组件。切片可划分成多个视频块(并且可能划分成被称作图块的视频块的集合)。预测处理单元41可以选择多个可能的译码模式中的一个,例如,多个帧内预测译码模式中的一个或多个帧间预测译码模式中的一个,以用于基于误差结果的当前视频块(例如,译码速率和失真的层级,或类似者)。预测处理单元41可将所得经帧内译码块或经帧间译码块提供到求和器50以产生残余块数据,且提供到求和器62以重构经编码块以用作参考图片。
预测处理单元41内的帧内预测处理单元46可相对于与待译码的当前块在相同帧或切片中的一或多个相邻块执行当前视频块的帧内预测译码以提供空间压缩。预测处理单元41内的运动估计单元42和运动补偿单元44相对于一或多个参考图片中的一或多个预测块执行当前视频块的帧间预测译码以提供时间压缩。
运动估计单元42可经配置以根据用于视频序列的预定模式来确定用于视频切片的帧间预测模式。预定模式可将序列中的视频切片指定为P切片、B切片或GPB切片。运动估计单元42和运动补偿单元44可高度集成,但出于概念的目的分别加以说明。由运动估计单元42执行的运动估计是产生运动向量的过程,所述过程估计视频块的运动。运动向量例如可指示当前视频帧或图片内的视频块的预测单元(PU)相对于参考图片内的预测块的位移。
预测块是被发现就像素差而言与待译码的视频块的PU密切匹配的块,像素差可通过绝对差总和(SAD)、平方差总和(SSD)或其它差度量来确定。在一些实例中,编码装置104可以计算存储于图片存储器64中的参考图片的子整数像素位置的值。举例来说,编码装置104可以内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可以相对于整数像素位置和分数像素位置执行运动搜索,并且输出具有分数像素精度的运动向量。
运动估计单元42通过比较PU的位置与参考图片的预测块的位置来计算用于经帧间译码切片中的视频块的PU的运动向量。参考图片可以选自第一参考图片列表(列表0)或第二参考图片列表(列表1),其中的每一个识别存储在图片存储器64中的一或多个参考图片。运动估计单元42将计算出的运动向量发送到熵编码单元56和运动补偿单元44。
通过运动补偿单元44执行的运动补偿可以涉及基于通过运动估计(可能执行对子像素精度的内插)确定的运动向量提取或产生预测块。在接收到当前视频块的PU的运动向量后,运动补偿单元44即刻可以在参考图片列表中定位所述运动向量指向的预测块。编码装置104通过从正被译码的当前视频块的像素值减去预测块的像素值从而形成像素差值来形成残余视频块。像素差值形成用于块的残余数据,且可包含亮度和色度差分量两者。求和器50表示执行此减法运算的一或多个组件。运动补偿单元44还可产生与视频块和视频切片相关联的语法元素以供解码装置112在对视频切片的视频块进行解码时使用。
作为如上文所描述的由运动估计单元42及运动补偿单元44执行的帧间预测的替代方案,帧内预测处理单元46可对当前块进行帧内预测。具体来说,帧内预测处理单元46可确定用于对当前块进行编码的帧内预测模式。在一些实例中,帧内预测处理单元46可使用各种帧内预测模式对当前块进行编码,例如,在单独的编码遍次期间,并且帧内预测处理单元46可从经测试模式中选择适当的帧内预测模式来使用。举例来说,帧内预测处理单元46可使用速率失真分析计算用于各种经测试帧内预测模式的速率失真值,并且在经测试模式之中选择具有最佳速率失真特性的帧内预测模式。速率失真分析大体上确定经编码块与经编码以产生所述经编码块的原始未经编码块之间的失真(或误差)的量,以及用于产生经编码块的位速率(即,位的数量)。帧内预测处理单元46可以从用于各种经编码块的失真及速率中计算比率以确定哪种帧内预测模式对于所述块来说呈现最佳速率失真值。
在任何情况下,在选择用于块的帧内预测模式之后,帧内预测处理单元46可将指示用于所述块的所选择的帧内预测模式的信息提供到熵编码单元56。熵编码单元56可对指示所选择的帧内预测模式的信息进行编码。编码装置104可以在所发射的位流中包含用于各种块的编码上下文的配置数据定义以及最可能帧内预测模式的指示、帧内预测模式索引表和经修改帧内预测模式索引表以供每种上下文使用。位流配置数据可包含多个帧内预测模式索引表和多个经修改帧内预测模式索引表(也被称作码字映射表)。
在预测处理单元41经由帧间预测或帧内预测产生当前视频块的预测块之后,编码装置104通过从当前视频块减去预测块来形成残余视频块。残余块中的残余视频数据可包含在一或多个TU中并应用到变换处理单元52。变换处理单元52使用例如离散余弦变换(DCT)或概念上类似的变换等变换来将残余视频数据变换成残余变换系数。变换处理单元52可将残余视频数据从像素域转换到变换域,例如,频域。
变换处理单元52可将所得变换系数发送到量化单元54。量化单元54对变换系数进行量化以进一步减少位速率。量化过程可减少与系数中的一些或全部相关联的位深度。可通过调节量化参数来修改量化的程度。在一些实例中,量化单元54可随后执行对包含经量化变换系数的矩阵的扫描。替代地,熵编码单元56可执行扫描。
在量化之后,熵编码单元56对经量化变换系数进行熵编码。举例来说,熵编码单元56可执行上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵编码技术。在熵编码单元56进行的熵编码之后,可将经编码位流发射到解码装置112,或将经编码位流存档以供稍后发射或由解码装置112检索。熵编码单元56还可对正被译码当前视频切片的运动向量和其它语法元素进行熵编码。
逆量化单元58和逆变换处理单元60相应地应用逆量化和逆变换来重构像素域中的残余块,以供稍后用作参考图片的参考块。运动补偿单元44可通过将残余块添加到在参考图片列表内的参考图片中的一个的预测块来计算参考块。运动补偿单元44还可将一或多个内插滤波器应用到经重构残余块以计算子整数像素值以用于运动估计。求和器62将经重构残余块添加到由运动补偿单元44产生的经运动补偿的预测块以产生参考块以用于存储在图片存储器64中。参考块可由运动估计单元42和运动补偿单元44使用作为用于对后续视频帧或图片中的块进行帧间预测的参考块。
以此方式,图19的编码装置104表示经配置以导出LIC参数、适应性地确定模板的大小和/或适应性地选择权重的视频编码器的实例。举例来说,编码装置104可导出LIC参数、适应性地确定模板的大小和/或适应性地选择权重集合,如上文所描述。举例来说,编码装置104可以执行本文中所描述的技术中的任一个,包含上文相对于图16、17和18所描述的过程。在一些情况下,本发明的技术中的一些也可以通过后处理装置57实施。
图20是说明实例解码装置112的框图。解码装置112包含熵解码单元80、预测处理单元81、逆量化单元86、逆变换处理单元88、求和器90、滤波器单元91和图片存储器92。预测处理单元81包含运动补偿单元82和帧内预测处理单元84。在一些实例中,解码装置112可执行与相对于来自图20的编码装置104所描述的编码遍次大体上互逆的解码遍次。
在解码过程期间,解码装置112接收表示经编码视频切片的视频块和由编码装置104发送的相关联语法元素的经编码视频位流。在一些实施例中,解码装置112可以从编码装置104接收经编码视频位流。在一些实施例中,解码装置112可以从网络实体79接收经编码视频位流,所述网络实体例如服务器、媒体感知网络元件(MANE)、视频编辑器/拼接器或经配置以实施上文所描述的技术中的一或多个的其它此类装置。网络实体79可包含或可不包含编码装置104。本发明中所描述的技术中的一些可以在网络实体79将经编码视频位流发射到解码装置112之前通过网络实体79实施。在一些视频解码系统中,网络实体79和解码装置112可以是单独的装置的部分,而在其它例子中,相对于网络实体79描述的功能性可通过包括解码装置112的同一装置执行。
解码装置112的熵解码单元80对位流进行熵解码以产生经量化系数、运动向量和其它语法元素。熵解码单元80将运动向量和其它语法元素转发到预测处理单元81。解码装置112可接收视频切片层级和/或视频块层级的语法元素。熵解码单元80可以处理和解析在例如VPS、SPS和PPS中的一或多个参数集中的固定长度语法元素和可变长度语法元素这两者。
当视频切片经译码为经帧内译码(I)切片时,预测处理单元81的帧内预测处理单元84可基于用信号发送的帧内预测模式和来自当前帧或图片的先前经解码块的数据产生用于当前视频切片的视频块的预测数据。当视频帧被译码为经帧间译码(即,B、P或GPB)切片时,预测处理单元81的运动补偿单元82基于从熵解码单元80接收的运动向量和其它语法元素产生用于当前视频切片的视频块的预测块。可从参考图片列表内的参考图片中的一个产生预测块。解码装置112可基于存储在图片存储器92中的参考图片使用默认构建技术构建参考帧列表,即,列表0和列表1。
运动补偿单元82通过解析运动向量和其它语法元素确定用于当前视频切片的视频块的预测信息,并且使用所述预测信息产生用于正被解码的当前视频块的预测块。举例来说,运动补偿单元82可使用参数集中的一或多个语法元素来确定用于对视频切片的视频块进行译码的预测模式(例如,帧内预测或帧间预测)、帧间预测切片类型(例如,B切片、P切片或GPB切片)、用于切片的一或多个参考图片列表的构建信息、切片的每个经帧间编码视频块的运动向量、切片的每个经帧间译码视频块的帧间预测状态和用于对当前视频切片中的视频块进行解码的其它信息。
运动补偿单元82还可基于内插滤波器执行内插。运动补偿单元82可使用如由编码装置104在视频块的编码期间所使用的内插滤波器来计算参考块的子整数像素的内插值。在此情况下,运动补偿单元82可从所接收的语法元素确定编码装置104所使用的内插滤波器,且可使用所述内插滤波器来产生预测块。
逆量化单元86对在位流中提供且由熵解码单元80解码的经量化变换系数进行逆量化或解量化。逆量化过程可包含使用针对视频切片中的每个视频块通过编码装置104计算的量化参数以确定应该应用的量化的程度以及类似地逆量化的程度。逆变换处理单元88将逆变换(例如,逆DCT或其它合适的逆变换)、逆整数变换或概念上类似的逆变换过程应用到变换系数以便产生像素域中的残余块。
在运动补偿单元82基于运动向量和其它语法元素产生用于当前视频块的预测块之后,解码装置112通过对来自逆变换处理单元88的残余块与由运动补偿单元82产生的对应的预测块进行求和来形成经解码视频块。求和器90表示可执行此求和运算的组件。如果需要,还可使用环路滤波器(在译码环路中或在译码环路之后)来使像素转变平滑或者以其它方式改进视频质量。滤波器单元91意图表示一或多个环路滤波器,例如,解块滤波器、自适应环路滤波器(ALF)和样本自适应偏移(SAO)滤波器。虽然在图17中将滤波器单元91示出为环内滤波器,但在其它配置中,可将滤波器单元91实施为环路后滤波器。随后将给定帧或图片中的经解码视频块存储在图片存储器92中,所述图片存储器存储用于后续运动补偿的参考图片。图片存储器92还存储经解码视频以供稍后在显示装置(例如,图1中所示的视频目的地装置122)上呈现。
以此方式,图20的解码装置112表示经配置以导出LIC参数、适应性地确定模板的大小和/或适应性地选择权重的视频解码器的实例。举例来说,解码装置112可导出LIC参数、适应性地确定模板的大小和/或适应性地选择权重集合,如上文所描述。举例来说,解码装置112可以执行本文中所描述的技术中的任一个,包含上文相对于图16、17和18所描述的过程。
在前述描述中,参考其具体实施例描述应用的方面,但是所属领域的技术人员将认识到本发明不限于此。因此,虽然已经在本文中详细地描述了应用的说明性实施例,但是应理解本发明概念可以其它方式不同地实施和采用,并且除了现有技术所限制的之外,所附权利要求书意图解释为包含此类变化。上文所描述的本发明的各种特征和方面可以单独地或联合地使用。另外,实施例可以在本文中描述的那些环境和应用之外的任何数量的环境和应用中使用而不脱离本说明书的广泛的精神和范围。应将本说明书和图式相应地视为说明性的而非限制性的。出于说明的目的,方法是以特定次序描述的。应了解,在替代实施例中,方法可以按与所描述的次序不同的次序执行。
在组件被描述为“经配置以”执行某些操作的情况下,可例如通过设计电子电路或其它硬件以执行所述操作、通过编程可编程电子电路(例如,微处理器或其它适合电子电路)以执行所述操作或其任何组合来实现此类配置。
结合本文中所公开的实施例描述的各种说明性逻辑块、模块、电路和算法步骤可实施为电子硬件、计算机软件、固件或其组合。为了清晰地说明硬件与软件的此可互换性,上文已大体就其功能性而言描述了各种说明性组件、块、模块、电路和步骤。此类功能性被实施为硬件还是软件取决于特定应用和施加于整个系统上的设计约束。所属领域的技术人员可针对每一特定应用以不同方式来实施所描述的功能性,但此类实施决策不应被解释为会引起脱离本发明的范围。
本文中所描述的技术也可以在电子硬件、计算机软件、固件或其任何组合中实施。此类技术可实施于多种装置中的任一个中,例如通用计算机、无线通信装置手持机或集成电路装置,其具有包含在无线通信装置手持机及其它装置中的应用的多种用途。被描述为模块或组件的任何特征可一起实施于集成逻辑装置中或分开来实施为离散但可互操作的逻辑装置。如果在软件中实施,那么所述技术可至少部分地由包括程序代码的计算机可读数据存储媒体来实现,所述程序代码包含在被执行时执行上文所描述的方法中的一或多个的指令。计算机可读数据存储媒体可形成计算机程序产品的一部分,所述计算机程序产品可包含封装材料。计算机可读媒体可包括存储器或数据存储媒体,例如,随机存取存储器(RAM)(例如,同步动态随机存取存储器(SDRAM))、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、快闪存储器、磁性或光学数据存储媒体及类似者。另外或替代地,所述技术可至少部分地由计算机可读通信媒体来实现,所述计算机可读通信媒体以指令或数据结构的形式运载或传送程序代码且可由计算机存取、读取和/或执行,例如,传播的信号或波。
程序代码可由处理器执行,所述处理器可包含一或多个处理器,例如,一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路。此类处理器可经配置以执行本发明中所描述的技术中的任一个。通用处理器可以是微处理器,但在替代方案中,处理器可以是任何常规的处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如,DSP与微处理器的组合、多个微处理器、一或多个微处理器与DSP核心结合,或任何其它此类配置。相应地,如本文中所使用的术语“处理器”可指前述结构中的任一个、前述结构的任何组合,或适合于实施本文中所描述的技术的任何其它结构或设备。另外,在一些方面中,可将本文中所描述的功能性提供于经配置以用于编码和解码的专用软件模块或硬件模块内或并入组合的视频编码器-解码器(CODEC)中。

Claims (28)

1.一种处理视频数据的方法,所述方法包括:
获得所述视频数据的图片的当前块;
确定所述当前块的参数,其中所述当前块的所述参数包含所述当前块的宽度;
基于所述当前块的所确定的参数确定所述当前块的第一模板、第一参考图片的第一模板和第二参考图片的第二模板;以及
针对所述当前块执行运动补偿,其中执行所述运动补偿包含使用所述当前块的所述第一模板、所述第一参考图片的所述第一模板和所述第二参考图片的所述第二模板导出用于所述当前块的一个或多个局部照明补偿参数,在所述当前块的所述宽度小于阈值宽度时,所述当前块的所述第一模板、以及所述第一参考图片的所述第一模板或所述第二参考图片的所述第二模板中的至少一个中的样本的行的数量是一个行,并且在所述当前块的所述宽度大于所述阈值宽度时,所述当前块的所述第一模板、以及所述第一参考图片的所述第一模板或所述第二参考图片的所述第二模板中的至少一个中的样本的行的所述数量是多于一个行,其中所述阈值宽度在视频位流中用信号发送。
2.根据权利要求1所述的方法,其进一步包括:
获得所述图片的额外块;以及
确定所述额外块的参数,其中所述额外块的所述参数包括所述额外块的大小。
3.根据权利要求1所述的方法,其中所述第一参考图片来自列表0即第一参考图片列表,并且其中所述第二参考图片来自列表1即第二参考图片列表。
4.根据权利要求1所述的方法,其中所述运动补偿是双向预测运动补偿,并且其中用于列表0即第一参考图片列表和用于列表1即第二参考图片列表的所述一个或多个局部照明补偿参数在所述双向预测运动补偿中联合导出。
5.根据权利要求1所述的方法,其中用于所述当前块的所述一个或多个局部照明补偿参数包括一个或多个权重。
6.根据权利要求5所述的方法,其中所述一个或多个权重包括用于所述第一参考图片的所述第一模板的第一权重和用于所述第二参考图片的所述第二模板的第二权重。
7.根据权利要求6所述的方法,其中用于所述第一模板的所述第一权重基于用于预测所述当前块的所述第一参考图片的第一时间距离,以及用于所述第二模板的所述第二权重基于用于预测所述当前块的所述第一参考图片的第二时间距离。
8.根据权利要求7所述的方法,其中在所述第一时间距离与所述第二时间距离相同时,用于所述第一模板的所述第一权重与用于所述第二模板的所述第二权重相同。
9.根据权利要求8所述的方法,其中所述第一权重和所述第二权重都等于二分之一。
10.根据权利要求1所述的方法,其进一步包括:
获得所述图片的额外块;
确定所述额外块的参数,其中所述额外块的所述参数包括所述额外块的色度格式;
基于所述额外块的所确定的参数确定所述额外块的第一模板、第三参考图片的第三模板和第四参考图片的第四模板;以及
针对所述额外块执行运动补偿,其中执行所述运动补偿包含使用所述额外块的所述第一模板、所述第三参考图片的所述第三模板和所述第四参考图片的所述第四模板导出用于所述额外块的一个或多个局部照明补偿参数,其中在所述额外块的所述色度格式是第一色度格式时,所述额外块的所述第一模板的大小被设置为第一大小,并且其中在所述额外块的所述色度格式是第二色度格式时,所述额外块的所述第一模板的所述大小被设置为第二大小。
11.根据权利要求10所述的方法,其中在所述额外块的所述色度格式是4:2:2时,所述额外块的所述第一模板中的样本的行的数量被设置成与所述额外块的亮度大小相同的大小并且所述额外块的所述第一模板中的样本的列的数量被设置成所述亮度大小的一半,或者其中在所述额外块的所述色度格式是4:2:0时,所述额外块的所述第一模板中的样本的行的所述数量和样本的列的所述数量被设置成所述额外块的亮度大小的一半。
12.根据权利要求1所述的方法,其进一步包括使用所述一个或多个局部照明补偿参数对所述当前块进行解码。
13.根据权利要求1所述的方法,其进一步包括在所述视频位流中用信号发送所述一个或多个局部照明补偿参数。
14.一种用于处理视频数据的设备,其包括:
存储器,其经配置以存储视频数据;以及
处理器,其经配置以:
获得所述视频数据的图片的当前块;
确定所述当前块的参数,其中所述当前块的所述参数包含所述当前块的宽度;
基于所述当前块的所确定的参数确定所述当前块的第一模板、第一参考图片的第一模板和第二参考图片的第二模板;以及
针对所述当前块执行运动补偿,其中执行所述运动补偿包含使用所述当前块的所述第一模板、所述第一参考图片的所述第一模板和所述第二参考图片的所述第二模板导出用于所述当前块的一个或多个局部照明补偿参数,在所述当前块的所述宽度小于阈值宽度时,所述当前块的所述第一模板、以及所述第一参考图片的所述第一模板或所述第二参考图片的所述第二模板中的至少一个中的样本的行的数量是一个行,并且在所述当前块的所述宽度大于所述阈值宽度时,所述当前块的所述第一模板、以及所述第一参考图片的所述第一模板或所述第二参考图片的所述第二模板中的至少一个中的样本的行的所述数量是多于一个行,其中所述阈值宽度在视频位流中用信号发送。
15.根据权利要求14所述的设备,其中所述处理器进一步经配置以:
获得所述图片的额外块;以及
确定所述额外块的参数,其中所述额外块的所述参数包括所述额外块的大小。
16.根据权利要求14所述的设备,其中所述第一参考图片来自列表0即第一参考图片列表,并且其中所述第二参考图片来自列表1即第二参考图片列表。
17.根据权利要求14所述的设备,其中所述运动补偿是双向预测运动补偿,并且其中用于列表0即第一参考图片列表和用于列表1即第二参考图片列表的所述一个或多个局部照明补偿参数在所述双向预测运动补偿中联合导出。
18.根据权利要求14所述的设备,其中用于所述当前块的所述一个或多个局部照明补偿参数包括一个或多个权重。
19.根据权利要求18所述的设备,其中所述一个或多个权重包括用于所述第一参考图片的所述第一模板的第一权重和用于所述第二参考图片的所述第二模板的第二权重。
20.根据权利要求19所述的设备,其中用于所述第一模板的所述第一权重基于用于预测所述当前块的所述第一参考图片的第一时间距离,以及用于所述第二模板的所述第二权重基于用于预测所述当前块的所述第一参考图片的第二时间距离。
21.根据权利要求20所述的设备,其中当所述第一时间距离与所述第二时间距离相同时,用于所述第一模板的所述第一权重与用于所述第二模板的所述第二权重相同。
22.根据权利要求21所述的设备,其中所述第一权重和所述第二权重都等于二分之一。
23.根据权利要求14所述的设备,其中所述处理器进一步经配置以:
获得所述图片的额外块;
确定所述额外块的参数,其中所述额外块的所述参数包括所述额外块的色度格式;
基于所述额外块的所确定的参数确定所述额外块的第一模板、第三参考图片的第三模板和第四参考图片的第四模板;以及
针对所述额外块执行运动补偿,其中执行所述运动补偿包含使用所述额外块的所述第一模板、所述第三参考图片的所述第三模板和所述第四参考图片的所述第四模板导出用于所述额外块的一个或多个局部照明补偿参数,其中在所述额外块的所述色度格式是第一色度格式时,所述额外块的所述第一模板的大小被设置为第一大小,并且其中在所述额外块的所述色度格式是第二色度格式时,所述额外块的所述第一模板的所述大小被设置为第二大小。
24.根据权利要求23所述的设备,其中在所述额外块的所述色度格式是4:2:2时,所述额外块的所述第一模板中的样本的行的数量被设置成与所述额外块的亮度大小相同的大小并且所述额外块的所述第一模板中的样本的列的数量被设置成所述亮度大小的一半,或者其中在所述额外块的所述色度格式是4:2:0时,所述额外块的所述第一模板中的样本的行的所述数量和样本的列的所述数量被设置成所述额外块的亮度大小的一半。
25.根据权利要求14所述的设备,其进一步包括:
用于显示所述视频数据的显示器。
26.根据权利要求14所述的设备,其中所述设备包括具有用于俘获图片的相机的移动装置。
27.一种上面存储有指令的非暂时性计算机可读介质,所述指令在由一个或多个处理器执行时使得所述一个或多个处理器:
获得视频数据的图片的当前块;
确定所述当前块的参数,其中所述当前块的所述参数包含所述当前块的宽度;
基于所述当前块的所确定的参数确定所述当前块的第一模板、第一参考图片的第一模板和第二参考图片的第二模板;以及
针对所述当前块执行运动补偿,其中执行所述运动补偿包含使用所述当前块的所述第一模板、所述第一参考图片的所述第一模板和所述第二参考图片的所述第二模板导出用于所述当前块的一个或多个局部照明补偿参数,在所述当前块的所述宽度小于阈值宽度时,所述当前块的所述第一模板、以及所述第一参考图片的所述第一模板或所述第二参考图片的所述第二模板中的至少一个中的样本的行的数量是一个行,并且在所述当前块的所述宽度大于所述阈值宽度时,所述当前块的所述第一模板、以及所述第一参考图片的所述第一模板或所述第二参考图片的所述第二模板中的至少一个中的样本的行的所述数量是多于一个行,其中所述阈值宽度在视频位流中用信号发送。
28.一种用于处理视频数据的设备,其包括:
用于获得所述视频数据的图片的当前块的装置;
用于确定所述当前块的参数的装置,其中所述当前块的所述参数包含所述当前块的宽度;
用于基于所述当前块的所确定的参数确定所述当前块的第一模板、第一参考图片的第一模板和第二参考图片的第二模板的装置;以及
用于针对所述当前块执行运动补偿的装置,其中执行所述运动补偿包含使用所述当前块的所述第一模板、所述第一参考图片的所述第一模板和所述第二参考图片的所述第二模板导出用于所述当前块的一个或多个局部照明补偿参数,在所述当前块的所述宽度小于阈值宽度时,所述当前块的所述第一模板、以及所述第一参考图片的所述第一模板或所述第二参考图片的所述第二模板中的至少一个中的样本的行的数量是一个行,并且在所述当前块的所述宽度大于所述阈值宽度时,所述当前块的所述第一模板、以及所述第一参考图片的所述第一模板或所述第二参考图片的所述第二模板中的至少一个中的样本的行的所述数量是多于一个行,其中所述阈值宽度在视频位流中用信号发送。
CN201780061432.5A 2016-10-05 2017-10-04 处理视频数据的方法、设备和非暂时性计算机可读介质 Active CN109792518B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662404715P 2016-10-05 2016-10-05
US62/404,715 2016-10-05
US15/713,075 US10880570B2 (en) 2016-10-05 2017-09-22 Systems and methods of adaptively determining template size for illumination compensation
US15/713,075 2017-09-22
PCT/US2017/055188 WO2018067732A1 (en) 2016-10-05 2017-10-04 Systems and methods of adaptively determining template size for illumination compensation

Publications (2)

Publication Number Publication Date
CN109792518A CN109792518A (zh) 2019-05-21
CN109792518B true CN109792518B (zh) 2023-06-23

Family

ID=61757326

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780061432.5A Active CN109792518B (zh) 2016-10-05 2017-10-04 处理视频数据的方法、设备和非暂时性计算机可读介质

Country Status (7)

Country Link
US (3) US10798404B2 (zh)
EP (1) EP3523962A1 (zh)
JP (1) JP2019531029A (zh)
KR (1) KR20190055819A (zh)
CN (1) CN109792518B (zh)
BR (1) BR112019006894A2 (zh)
WO (3) WO2018067732A1 (zh)

Families Citing this family (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3044507A1 (fr) * 2015-11-30 2017-06-02 Orange Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants
WO2018066958A1 (ko) 2016-10-04 2018-04-12 주식회사 케이티 비디오 신호 처리 방법 및 장치
US10798404B2 (en) 2016-10-05 2020-10-06 Qualcomm Incorporated Systems and methods of performing improved local illumination compensation
JP2019530299A (ja) * 2016-10-13 2019-10-17 富士通株式会社 画像コーディング/デコーディング方法、装置及び画像処理機器
KR20180074000A (ko) * 2016-12-23 2018-07-03 삼성전자주식회사 비디오 디코딩 방법, 이를 수행하는 비디오 디코더, 비디오 인코딩 방법, 및 이를 수행하는 비디오 인코더
RU2752723C2 (ru) 2017-04-21 2021-07-30 Зенимакс Медиа Инк. Системы и способы для рендеринга и выдачи подсказок кодеру на основании оценки предварительно кодированной нагрузки
US10742975B2 (en) * 2017-05-09 2020-08-11 Futurewei Technologies, Inc. Intra-prediction with multiple reference lines
US11252464B2 (en) 2017-06-14 2022-02-15 Mellanox Technologies, Ltd. Regrouping of video data in host memory
US20200014945A1 (en) * 2018-07-08 2020-01-09 Mellanox Technologies, Ltd. Application acceleration
US20200014918A1 (en) * 2018-07-08 2020-01-09 Mellanox Technologies, Ltd. Application accelerator
GB2563943B (en) 2017-06-30 2021-02-24 Canon Kk Method and apparatus for encoding or decoding video data in FRUC mode with reduced memory accesses
US10542279B2 (en) 2017-09-25 2020-01-21 Intel Corporation Temporal motion vector prediction control in video coding
EP3468198A1 (en) * 2017-10-05 2019-04-10 Thomson Licensing Method and apparatus for video encoding and decoding based on illumination compensation
EP3468194A1 (en) * 2017-10-05 2019-04-10 Thomson Licensing Decoupled mode inference and prediction
GB2567861A (en) 2017-10-27 2019-05-01 Sony Corp Image data encoding and decoding
WO2019089864A1 (en) * 2017-11-01 2019-05-09 Vid Scale, Inc. Overlapped block motion compensation
JP7233819B2 (ja) * 2017-11-09 2023-03-07 ソニーグループ株式会社 画像処理装置と画像処理方法
US11057640B2 (en) * 2017-11-30 2021-07-06 Lg Electronics Inc. Image decoding method and apparatus based on inter-prediction in image coding system
WO2019137735A1 (en) * 2018-01-15 2019-07-18 Telefonaktiebolaget Lm Ericsson (Publ) Restricted overlapped block motion compensation
EP3741115A1 (en) * 2018-01-16 2020-11-25 Vid Scale, Inc. Motion compensated bi-prediction based on local illumination compensation
EP3518543A1 (en) * 2018-01-26 2019-07-31 Thomson Licensing Illumination compensation flag in frame rate up-conversion with template matching
KR20230127363A (ko) * 2018-03-27 2023-08-31 (주)휴맥스 모션 보상을 이용하는 비디오 신호 처리 방법 및 장치
EP3777167A1 (en) * 2018-03-30 2021-02-17 Vid Scale, Inc. Template-based inter prediction techniques based on encoding and decoding latency reduction
US10834409B2 (en) * 2018-04-06 2020-11-10 Arris Enterprises Llc System and method of implementing multiple prediction models for local illumination compensation
EP3554080A1 (en) * 2018-04-13 2019-10-16 InterDigital VC Holdings, Inc. Methods and devices for picture encoding and decoding
US10735721B2 (en) * 2018-04-17 2020-08-04 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method using local illumination compensation
WO2019203036A1 (ja) * 2018-04-17 2019-10-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
CN112042189B (zh) * 2018-04-30 2023-07-21 寰发股份有限公司 照度补偿方法及相应的电子装置
US10506251B2 (en) * 2018-05-08 2019-12-10 Tencent America LLC Method and apparatus for video coding
CN112385211A (zh) * 2018-05-09 2021-02-19 交互数字Vc控股公司 用于视频编码和解码的运动补偿
WO2019231362A1 (en) * 2018-05-31 2019-12-05 Huawei Technologies Co., Ltd. Method and apparatus for restricted long-distance motion vector prediction
EP3804329A1 (en) * 2018-06-01 2021-04-14 FRAUNHOFER-GESELLSCHAFT zur Förderung der angewandten Forschung e.V. Video codec using template matching prediction
WO2019234676A1 (en) * 2018-06-07 2019-12-12 Beijing Bytedance Network Technology Co., Ltd. Mv precision refine
CN112272952B (zh) 2018-06-11 2022-07-01 寰发股份有限公司 用于视频编解码的双向光流的方法以及装置
US20210266582A1 (en) * 2018-06-18 2021-08-26 InterDigitai VC Holdings. Inc. Illumination compensation in video coding
CN112352424A (zh) 2018-07-02 2021-02-09 华为技术有限公司 用于运动矢量预测的方法和装置
TWI719519B (zh) 2018-07-02 2021-02-21 大陸商北京字節跳動網絡技術有限公司 對於dmvr的塊尺寸限制
US11051036B2 (en) * 2018-07-14 2021-06-29 Mediatek Inc. Method and apparatus of constrained overlapped block motion compensation in video coding
KR20200010113A (ko) * 2018-07-18 2020-01-30 한국전자통신연구원 지역 조명 보상을 통한 효과적인 비디오 부호화/복호화 방법 및 장치
WO2020031923A1 (ja) * 2018-08-06 2020-02-13 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法および復号方法
WO2020031902A1 (ja) * 2018-08-06 2020-02-13 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法および復号方法
US11470348B2 (en) * 2018-08-17 2022-10-11 Hfi Innovation Inc. Methods and apparatuses of video processing with bi-direction prediction in video coding systems
US11956460B2 (en) * 2018-08-31 2024-04-09 Hulu, LLC Selective template matching in video coding
KR20210058938A (ko) * 2018-09-19 2021-05-24 인터디지털 브이씨 홀딩스 인코포레이티드 픽처 인코딩 및 디코딩을 위한 방법 및 디바이스
EP3668097A1 (en) * 2018-12-13 2020-06-17 InterDigital VC Holdings, Inc. Generalized bi-prediction index coding
WO2020060843A1 (en) * 2018-09-19 2020-03-26 Interdigital Vc Holdings, Inc. Generalized bi-prediction index coding
US11146800B2 (en) * 2018-09-24 2021-10-12 Tencent America LLC Low latency local illumination compensation
CN112889277A (zh) * 2018-10-22 2021-06-01 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法和解码方法
WO2020084509A1 (en) 2018-10-23 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Harmonized local illumination compensation and modified inter coding tools
WO2020084507A1 (en) 2018-10-23 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Harmonized local illumination compensation and modified inter prediction coding
EP3878183A1 (en) * 2018-11-05 2021-09-15 InterDigital VC Holdings, Inc. Simplifications of coding modes based on neighboring samples dependent parametric models
WO2020094049A1 (en) 2018-11-06 2020-05-14 Beijing Bytedance Network Technology Co., Ltd. Extensions of inter prediction with geometric partitioning
WO2020098810A1 (en) 2018-11-17 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Merge with motion vector difference in video processing
JP7209092B2 (ja) 2018-12-21 2023-01-19 北京字節跳動網絡技術有限公司 動きベクトル差分によるマージ(mmvd)モードにおける動きベクトル予測
CA3222255A1 (en) * 2018-12-25 2020-07-02 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Decoding prediction method and apparatus, and computer storage medium
US10887611B2 (en) * 2018-12-27 2021-01-05 Qualcomm Incorporated Pruning for illumination compensation mode
CN113170166B (zh) 2018-12-30 2023-06-09 北京字节跳动网络技术有限公司 具有几何分割的帧间预测在视频处理中有条件的应用
CN113491130B (zh) * 2019-01-17 2024-02-27 北京达佳互联信息技术有限公司 用于视频编解码的线性模型推导的方法和装置
CN113170152B (zh) 2019-01-18 2023-07-07 华为技术有限公司 用于预测译码的局部亮度补偿的方法和装置
US11172195B2 (en) * 2019-01-26 2021-11-09 Qualcomm Incorporated Excluding intra coded reference samples from local illumination compensation parameter derivation
CN113302916B (zh) * 2019-01-27 2024-04-12 北京字节跳动网络技术有限公司 具有cu级别权重的双向预测的插值
WO2020163209A1 (en) * 2019-02-08 2020-08-13 Interdigital Vc Holdings, Inc. Method and device for picture encoding and decoding using illumination compensation
US11997308B2 (en) * 2019-03-08 2024-05-28 Interdigital Madison Patent Holdings, Sas Local illumination compensation for video encoding or decoding
WO2020181471A1 (zh) * 2019-03-11 2020-09-17 Oppo广东移动通信有限公司 帧内预测方法、装置及计算机存储介质
CN112954329B (zh) 2019-03-11 2022-08-26 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
EP3918804A4 (en) 2019-03-14 2023-02-08 HFI Innovation Inc. METHODS AND APPARATUS FOR VIDEO PROCESSING USING MOTION DECOMPOSITION AND SUB-PARTITION BASE FILLING
JP2022528331A (ja) * 2019-03-25 2022-06-10 オッポ広東移動通信有限公司 画像成分予測方法、エンコーダー、デコーダー及び記憶媒体
WO2020236039A1 (en) * 2019-05-21 2020-11-26 Huawei Technologies Co., Ltd. Method and apparatus of local illumination compensation for inter prediction
US20220303526A1 (en) * 2019-06-12 2022-09-22 lnterDigital VC Holdings, lnc. Illumination compensation for video encoding and decoding
US11272200B2 (en) * 2019-06-24 2022-03-08 Tencent America LLC Method and apparatus for video coding
CN114208186B (zh) 2019-07-25 2023-12-22 北京字节跳动网络技术有限公司 帧内块复制虚拟缓冲区的尺寸限制
CN114208187A (zh) 2019-07-25 2022-03-18 北京字节跳动网络技术有限公司 帧内块复制虚拟缓冲区的映射限制
CN114342410A (zh) 2019-09-05 2022-04-12 北京字节跳动网络技术有限公司 帧内块复制模式下块矢量的范围约束
KR20220064968A (ko) 2019-09-23 2022-05-19 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 가상 파이프라인 데이터 유닛에 기초한 인트라 블록 복사 가상 버퍼의 설정
WO2021102953A1 (en) * 2019-11-29 2021-06-03 Zte Corporation Multi-view video processing method and apparatus
CN111028135B (zh) * 2019-12-10 2023-06-02 国网重庆市电力公司电力科学研究院 一种图像文件修复方法
CN111031319B (zh) * 2019-12-13 2022-04-19 浙江大华技术股份有限公司 一种局部光照补偿预测方法、终端设备及计算机存储介质
WO2021185306A1 (en) 2020-03-18 2021-09-23 Beijing Bytedance Network Technology Co., Ltd. Intra block copy buffer and palette predictor update
US20220201282A1 (en) * 2020-12-22 2022-06-23 Qualcomm Incorporated Overlapped block motion compensation
US11863774B2 (en) * 2021-01-15 2024-01-02 Tencent America LLC Method and apparatus for video coding
US20220312004A1 (en) 2021-03-23 2022-09-29 Tencent America LLC Method and apparatus for video coding
WO2022214100A1 (en) * 2021-04-09 2022-10-13 Beijing Bytedance Network Technology Co., Ltd. Adaptive motion candidate list
US20220360769A1 (en) * 2021-04-26 2022-11-10 Tencent America LLC Bi-prediction without signaling cu-level weights
WO2023096472A1 (ko) * 2021-11-29 2023-06-01 주식회사 윌러스표준기술연구소 비디오 신호 처리 방법 및 이를 위한 장치
WO2024010377A1 (ko) * 2022-07-05 2024-01-11 한국전자통신연구원 영상 부호화/복호화를 위한 방법, 장치 및 기록 매체
US20240015278A1 (en) * 2022-07-08 2024-01-11 Tencent America LLC Method and apparatus for bi-prediction with sample adaptive weights
US20240146903A1 (en) * 2022-10-26 2024-05-02 Tencent America LLC Context design for coding and decoding syntax elements in inter prediction modes

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101325715A (zh) * 2007-06-11 2008-12-17 三星电子株式会社 亮度补偿方法和装置及编码和解码图像的方法和装置
WO2010001918A1 (ja) * 2008-07-01 2010-01-07 ソニー株式会社 画像処理装置および方法、並びにプログラム
CN102223525A (zh) * 2010-04-13 2011-10-19 富士通株式会社 视频解码方法和系统
CN103379321A (zh) * 2012-04-16 2013-10-30 华为技术有限公司 视频图像分量的预测方法和装置
WO2014081799A1 (en) * 2012-11-20 2014-05-30 Qualcomm Incorporated Adaptive luminance compensation in three dimensional video coding

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3276985B2 (ja) * 1991-06-27 2002-04-22 ゼロックス・コーポレーション イメージピクセル処理方法
JP3116967B2 (ja) 1991-07-16 2000-12-11 ソニー株式会社 画像処理装置および画像処理方法
US6226414B1 (en) * 1994-04-20 2001-05-01 Oki Electric Industry Co., Ltd. Image encoding and decoding method and apparatus using edge synthesis and inverse wavelet transform
US5781788A (en) 1995-05-08 1998-07-14 Avc Technology, Inc. Full duplex single clip video codec
US6259741B1 (en) * 1999-02-18 2001-07-10 General Instrument Corporation Method of architecture for converting MPEG-2 4:2:2-profile bitstreams into main-profile bitstreams
US7266150B2 (en) * 2001-07-11 2007-09-04 Dolby Laboratories, Inc. Interpolation of video compression frames
EP3133813B1 (en) 2004-09-16 2020-06-17 InterDigital VC Holdings, Inc. Method and apparatus for weighted prediction video codec utilizing local brightness variation
KR20090132629A (ko) 2007-04-09 2009-12-30 가부시키가이샤 엔.티.티.도코모 화상 예측 부호화 장치, 화상 예측 부호화 방법, 화상 예측 부호화 프로그램, 화상 예측 복호 장치, 화상 예측 복호 방법 및 화상 예측 복호 프로그램
JP5406465B2 (ja) 2008-04-24 2014-02-05 株式会社Nttドコモ 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法及び画像予測復号プログラム
US9445121B2 (en) 2008-08-04 2016-09-13 Dolby Laboratories Licensing Corporation Overlapped block disparity estimation and compensation architecture
CN102160379A (zh) 2008-09-24 2011-08-17 索尼公司 图像处理装置和图像处理方法
US20110170793A1 (en) 2008-09-24 2011-07-14 Kazushi Sato Image processing apparatus and method
TWI498003B (zh) * 2009-02-02 2015-08-21 Thomson Licensing 代表一序列圖像的碼式資料連流之解碼方法和一序列圖像之寫碼方法及碼式圖像資料結構
US8873626B2 (en) 2009-07-02 2014-10-28 Qualcomm Incorporated Template matching for video coding
US8995526B2 (en) * 2009-07-09 2015-03-31 Qualcomm Incorporated Different weights for uni-directional prediction and bi-directional prediction in video coding
KR20110071047A (ko) * 2009-12-20 2011-06-28 엘지전자 주식회사 비디오 신호 디코딩 방법 및 장치
KR101836981B1 (ko) 2010-07-09 2018-03-09 한국전자통신연구원 템플릿 매칭을 이용한 영상 부호화 방법 및 장치, 그리고 복호화 방법 및 장치
KR102006443B1 (ko) 2010-09-30 2019-08-02 한국전자통신연구원 오차 보상을 이용한 영상 부호화/복호화 방법 및 장치
US9807424B2 (en) 2011-01-10 2017-10-31 Qualcomm Incorporated Adaptive selection of region size for identification of samples in a transition zone for overlapped block motion compensation
US9883203B2 (en) 2011-11-18 2018-01-30 Qualcomm Incorporated Adaptive overlapped block motion compensation
US9906786B2 (en) 2012-09-07 2018-02-27 Qualcomm Incorporated Weighted prediction mode for scalable video coding
US9877020B2 (en) 2013-01-10 2018-01-23 Samsung Electronics Co., Ltd. Method for encoding inter-layer video for compensating luminance difference and device therefor, and method for decoding video and device therefor
WO2014203726A1 (ja) * 2013-06-18 2014-12-24 シャープ株式会社 照度補償装置、lm予測装置、画像復号装置、画像符号化装置
US10321142B2 (en) 2013-07-15 2019-06-11 Samsung Electronics Co., Ltd. Method and apparatus for video encoding for adaptive illumination compensation, method and apparatus for video decoding for adaptive illumination compensation
US10218957B2 (en) * 2014-06-20 2019-02-26 Hfi Innovation Inc. Method of sub-PU syntax signaling and illumination compensation for 3D and multi-view video coding
WO2017035831A1 (en) * 2015-09-06 2017-03-09 Mediatek Inc. Adaptive inter prediction
ES2844525B1 (es) * 2015-09-11 2022-07-05 Kt Corp Metodo para decodificar un video
WO2017192995A1 (en) 2016-05-06 2017-11-09 Vid Scale, Inc. Method and system for decoder-side intra mode derivation for block-based video coding
EP3456049B1 (en) * 2016-05-13 2022-05-04 VID SCALE, Inc. Systems and methods for generalized multi-hypothesis prediction for video coding
US10798404B2 (en) 2016-10-05 2020-10-06 Qualcomm Incorporated Systems and methods of performing improved local illumination compensation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101325715A (zh) * 2007-06-11 2008-12-17 三星电子株式会社 亮度补偿方法和装置及编码和解码图像的方法和装置
WO2010001918A1 (ja) * 2008-07-01 2010-01-07 ソニー株式会社 画像処理装置および方法、並びにプログラム
CN102223525A (zh) * 2010-04-13 2011-10-19 富士通株式会社 视频解码方法和系统
CN103379321A (zh) * 2012-04-16 2013-10-30 华为技术有限公司 视频图像分量的预测方法和装置
WO2014081799A1 (en) * 2012-11-20 2014-05-30 Qualcomm Incorporated Adaptive luminance compensation in three dimensional video coding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
高效视频编码;沈燕飞等;《计算机学报》;20131115(第11期);全文 *

Also Published As

Publication number Publication date
US20180098086A1 (en) 2018-04-05
CN109792518A (zh) 2019-05-21
US20180098070A1 (en) 2018-04-05
US10951912B2 (en) 2021-03-16
BR112019006894A2 (pt) 2019-07-02
WO2018067729A1 (en) 2018-04-12
KR20190055819A (ko) 2019-05-23
EP3523962A1 (en) 2019-08-14
WO2018067733A1 (en) 2018-04-12
WO2018067732A1 (en) 2018-04-12
US20180098079A1 (en) 2018-04-05
US10880570B2 (en) 2020-12-29
JP2019531029A (ja) 2019-10-24
US10798404B2 (en) 2020-10-06

Similar Documents

Publication Publication Date Title
CN109792518B (zh) 处理视频数据的方法、设备和非暂时性计算机可读介质
CN112823517B (zh) 基于历史的运动矢量预测子的改进
EP3596925B1 (en) Affine motion information derivation
CN109792527B (zh) 处理视频数据的方法和设备
JP7317703B2 (ja) 補間フィルタを切り替えるシステムおよび方法
CN107690810B (zh) 确定用于视频译码的照明补偿状态的系统及方法
US11290743B2 (en) Interaction of illumination compensation with inter-prediction
CA3144976A1 (en) Reference picture resampling with switchable filters
KR20220064962A (ko) 히스토리 기반 모션 벡터 예측
CN113287300A (zh) 针对照度补偿的块大小限制
CN114402617A (zh) 利用矢量裁剪的仿射译码
US11388394B2 (en) Local illumination compensation (LIC) for virtual pipeline data units (VPDUS)
KR20210118082A (ko) 국부 조도 보상 파라미터 도출로부터 인트라 코딩된 참조 샘플의 제외
JP2023554269A (ja) 重複ブロック動き補償
US10887611B2 (en) Pruning for illumination compensation mode

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