CN109076241A - 利用样本值的非相邻参考线进行帧内图片预测 - Google Patents

利用样本值的非相邻参考线进行帧内图片预测 Download PDF

Info

Publication number
CN109076241A
CN109076241A CN201680085403.8A CN201680085403A CN109076241A CN 109076241 A CN109076241 A CN 109076241A CN 201680085403 A CN201680085403 A CN 201680085403A CN 109076241 A CN109076241 A CN 109076241A
Authority
CN
China
Prior art keywords
sample value
reference line
current block
frame
picture
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201680085403.8A
Other languages
English (en)
Other versions
CN109076241B (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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Priority to CN202310664635.0A priority Critical patent/CN116962721A/zh
Publication of CN109076241A publication Critical patent/CN109076241A/zh
Application granted granted Critical
Publication of CN109076241B publication Critical patent/CN109076241B/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/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/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/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • 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

Landscapes

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

Abstract

本文描述了采用多个候选参考线的帧内图片预测的创新。例如,当前块的帧内图片预测使用样本值的非相邻参考线来预测当前块的样本值。当与当前块相邻的样本值的参考线包括由于遮挡而导致的显著捕捉噪声、显著量化误差、或显著不同的值(与当前块相比)时,这可提高帧内图片预测的有效性。本文描述的创新包括但不限于以下内容:采用可用的多个候选参考线的帧内图片预测;使用预测对参考线指标进行编码/解码;对参考样本值进行滤波;残量补偿;加权预测;用于替换不可用的参考样本值的依赖于模式的填充;使用经环内滤波的参考样本值;用于选择参考线的编码器侧判定;以及对经预测样本值进行后滤波。

Description

利用样本值的非相邻参考线进行帧内图片预测
背景
工程师使用压缩(也称为源译码或源编码)来降低数字视频的位率。压缩通过将信息转换为较低位率的形式来降低存储和传送视频信息的成本。解压缩(也称为解码)从压缩形式重构原始信息的版本。“编解码器”是编码器/解码器系统。
在过去的25年中,采用了各种视频编解码器标准,包括ITU-T H.261、H.262(MPEG-2或ISO/IEC 13818-2)、H.263、H.264(MPEG-4AVC或ISO/IEC 14496-10)标准、MPEG-1(ISO/IEC 11172-2)和MPEG-4可视(ISO/IEC 14496-2)标准、以及SMPTE 421M(VC-1)标准。最近,H.265/HEVC标准(ITU-T H.265或ISO/IEC 2400 8-2)已获批准。视频编解码器标准通常定义用于经编码的视频位流的句法的选项,当在编码和解码中使用特定特征时详细说明位流中的参数。在许多情况下,视频编解码器标准还提供关于视频解码器应该执行以在解码中实现一致结果的解码操作的细节。除了编解码器标准之外,各种专有的编解码器格式定义了经编码的视频位流的句法和相应的解码操作的其他选项。
一些编解码器标准和格式在压缩图片时使用帧内图片预测。一般而言,对于帧内图片预测,使用邻近样本值来预测当前块的样本值。邻近样本值(也被称为参考样本值)已在当前块之前被编码和重构(在编码期间)或重构(在解码期间)。传统上,当前块上方最近行(相邻行)中的参考样本值和当前块左侧最近列(相邻列)中的参考样本值可用于当前块的帧内图片预测。一些帧内图片预测模式是方向或角度模式,其中参考样本值沿着预测方向传播到当前块中。诸如DC(平均)预测模式和平面预测模式之类的其他帧内图片预测模式不是方向的,而是使用参考样本值的组合来预测当前块的样本值。在编码期间,在帧内图片预测之后,可计算和编码当前块的原始样本值与当前块的经预测样本值之间的差(称为残量值)。在解码期间,可解码当前块的残量值并将其与当前块的经预测样本值组合以重构当前块的样本值。
传统上,帧内图片预测使用当前块上方相邻行中的参考样本值和/或当前块左侧相邻列中的参考样本值。在一些情况下,参考样本值不提供有效的帧内图片预测。例如,当相邻行/列中的参考样本值包括由于捕捉(即,捕捉噪声)或压缩(即,量化误差,重构噪声)引起的噪声时,就可能是这种情况。或者,作为另一示例,当相邻行/列中存在遮挡当前块中所示对象的对象时,就可能是这种情况。无论原因如何,在一些情况下,使用相邻行/列的参考样本值的帧内图片预测是无效的。
概述
概括地说,详细描述呈现了采用可用的多个候选参考线的帧内图片预测的创新。例如,帧内图片预测使用参考样本值的非相邻行和/或列来预测当前块的样本值。当与当前块相邻的参考样本值的行和/或列包括由于遮挡而导致的显著捕捉噪声、显著量化误差、或与当前块相比显著不同的样本值时,这可提高帧内图片预测的有效性。
根据本文描述的发明的一个方面,视频编码器或图像编码器接收图片、对图片进行编码以产生经编码的数据、并且将经编码的数据输出作为位流的一部分。作为编码的一部分,编码器对图片中的当前样本值块执行帧内图片预测。样本值的非相邻参考线(例如,行或列)可用于帧内图片预测。作为编码的一部分,编码器可确定参考线索引的预测器。参考线索引标识被用于当前块的帧内图片预测的样本值的参考线(例如,行或列)。预测器被用于编码参考线索引。当多个候选参考线可用于帧内图片预测时,参考线指标的有效预测可降低与信令化参考线指标相关联的位率。
相应的视频解码器或图像解码器接收经编码的数据作为位流的一部分,解码经编码的数据以重构图片,并输出经重构的图片。作为解码的一部分,解码器对图片中的当前样本值块执行帧内图片预测。样本值的非相邻参考线(例如,行或列)可用于帧内图片预测。作为解码的一部分,解码器可确定参考线索引的预测器。预测器被用于解码参考线索引。
根据本文描述的创新的另一方面,编码器或解码器在采用可用的多个候选参考线的帧内图片预测中使用残量补偿。例如,作为残量补偿的一部分,对于当前块的给定位置处的经预测样本值,编码器或解码器计算残量值并使用残量值来调整当前块中给定位置处的经预测样本值。残量值基于当前块之外的偏移区域中给定位置处的重构样本值与偏移区域中给定位置处的经预测样本值之间的差。残量补偿可通过基于相邻偏移区域中的帧内图片预测的结果调整当前块的经预测样本值来提高当前块的帧内图片预测的有效性。
根据本文描述的创新的另一方面,编码器或解码器在采用可用的多个候选参考线的帧内图片预测中使用对参考线的滤波。例如,编码器或解码器选择当前块之外的样本值的多个候选参考线中的一者(包括样本值的非相邻参考线)并滤波样本值的经选择的参考线。通过平滑经选择的参考线的样本值中的异常值,对经选择的参考线进行滤波可提高当前块的帧内图片预测的有效性。
根据本文描述的创新的另一方面,编码器或解码器在采用可用的多个候选参考线的帧内图片预测期间执行加权预测。例如,对于多个参考线中的每一个,编码器或解码器使用该参考线的至少一个样本值在当前块中的给定位置处生成中间经预测样本值,并将权重应用于该中间经预测样本值。这会在当前块中的给定位置处产生加权样本值。编码器或解码器组合给定位置处的加权样本值(来自采用相应参考线的帧内图片预测)以在当前块中的给定位置处产生最终经预测样本值。当没有单个参考线提供更好的性能时,加权预测可通过混合来自不同参考线的经预测样本值来提高当前块的帧内图片预测的有效性。
根据本文描述的创新的另一方面,编码器或解码器在采用可用的多个候选参考线的帧内图片预测期间执行依赖于模式的填充以替换一个或多个不可用的样本值。例如,在选择样本值的多个候选参考线中的一个之后,编码器或解码器确定经选择的参考线的样本值在经选择的参考线的给定位置处不可用。编码器或解码器标识帧内图片预测模式的填充方向,然后确定沿着填充方向在穿过经选择的参考线的给定位置的投射上的另一参考线的样本值。编码器或解码器至少部分地基于所确定的另一参考线的样本值在经选择的参考线的给定位置处设置不可用的样本值。与参考线内的简单填充相比,依赖于模式的填充可产生经填充的样本值,从而提供更有效的帧内图片预测。
根据本文描述的创新的另一方面,在一些情况下,编码器或解码器利用经环内滤波的参考样本值来执行帧内图片预测。例如,当编码器或解码器为用于当前块的帧内图片预测选择样本值的非相邻参考线时,在用于当前块的帧内图片预测之前,经选择的参考线的至少一些样本值已由环内滤波修改。只要参考样本值不依赖于当前块(或其他尚未重构的块)的样本值,对参考样本值进行环内滤波可使用参考样本值来提高后续帧内图片预测的有效性。
根据本文描述的创新的另一方面,编码器使用各种方式中的任一种来选择一个或多个参考线以用于帧内图片预测。以计算上有效的方式,这些方式可标识在帧内图片预测中使用的适当的参考线。
根据本文描述的创新的另一方面,编码器或解码器在帧内图片预测期间滤波经预测样本值。例如,在选择当前块之外的一个或多个样本值的参考线之后,编码器或解码器使用一个或多个经选择的参考线的至少一些样本值来预测当前块的样本值。然后,编码器或解码器使用在当前块之外和相邻参考线之外的至少一些样本值对当前块的至少一些经预测样本值进行滤波。在一些情况下,通过使用相邻参考线之外的参考样本值,滤波产生更接近原始样本值的经预测样本值。
根据本文描述的创新的另一方面,编码器或解码器在帧内图片预测期间利用依赖于方向的滤波来滤波参考样本值。例如,在选择当前块之外的样本值的参考线之后,编码器或解码器滤波样本值的经选择的参考线。滤波适用于沿着帧内图片预测的预测方向的样本值集的差,其中样本值集中的至少一些在当前块之外并且在相邻参考线之外。在一些情况下,此类滤波产生参考样本值,其提供更有效的帧内图片预测。
这些创新可被实现为方法的一部分、被配置以执行该方法的操作的计算机系统的一部分、或者存储用于使计算机系统执行该方法的操作的计算机可执行指令的一个或多个计算机可读介质的一部分。各种创新可被组合地或分开地使用。提供本概述以便以简化的形式介绍将在以下的详细描述中进一步描述的一些概念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。参考附图阅读以下详细描述,将更清楚本发明的前述和其他目标、特征和优点。
附图简述
图1是例示可用于实现所描述的一些实施例的示例计算机系统的示图。
图2a和2b是例示可用于实现所描述的一些实施例的示例网络环境的示图。
图3是例示结合其可实现所描述的一些实施例的示例视频编码器系统的示图。
图4a和4b是例示结合其可实现所描述的一些实施例的示例视频编码器的示图。
图5是结合其可实现所描述的一些实施例的示例解码器系统的示图。
图6是例示结合其可实现所描述的一些实施例的示例视频解码器的示图。
图7是例示在一些描述的实施例中的角度帧内预测模式的示例的示图。
图8-10是例示在一些描述的实施例中的帧内图片预测模式的操作的示例的示图。
图11是例示对经预测样本值进行滤波的示例的示图。
图12是例示相邻参考线的样本值的示例的示图。
图13是例示可用于当前块的帧内图片预测的样本值的多个候选参考线的示例的示图。
图14和15是分别例示用于使用采用包括非相邻参考线的可用的多个候选参考线的帧内图片预测的编码和解码的通用技术的流程图。
图16a和16b是例示采用将样本值从非相邻参考线复制到相邻参考线的帧内图片预测的示例的示图。
图17a和17b是例示采用跨过偏移区域的非相邻参考线的样本值的帧内图片预测的示例的示图。
图18a和18b是例示用于参考线的样本值的滤波器的示例的示图。
图19是例示用于滤波参考线的样本值的通用技术的流程图。
图20a-20l是例示帧内图片预测期间的残量补偿的示例的示图。
图21和22是分别例示在编码和解码期间用于采用残量补偿的帧内图片预测的通用技术的流程图。
图23是例示在采用多个参考线的帧内图片预测期间的加权预测的示例的示图。
图24和25是分别例示用于使用采用加权预测的帧内图片预测来编码和解码的通用技术的流程图。
图26是例示在采用多个参考线的帧内图片预测期间的加权预测的示例技术的流程图。
图27和28是例示用于替换不可用的样本值的依赖于模式的填充的示例的示图。
图29和30是分别例示用于使用采用依赖于模式的填充的帧内图片预测来编码和解码的通用技术的流程图。
图31是例示用于在帧内图片预测期间替换不可用的样本值的依赖于模式的填充的示例技术的流程图。
图32例示在帧内图片预测期间使用的经环内滤波的参考样本值的示例的示图。
图33和34是分别例示用于使用利用经环内滤波的参考样本值的帧内图片预测来编码和解码的通用技术的流程图。
图35-37是例示在编码期间选择哪些参考线用于帧内图片预测的示例技术的流程图。
图38和39是例示对经预测样本值进行后滤波的示例的示图。
图40是例示在对当前块进行编码或解码期间对经预测样本值进行后滤波的通用技术的流程图。
图41和42是例示对参考样本值进行自适应的、依赖于方向的滤波的示例的示图。
图43是例示在编码或解码期间对参考样本值进行自适应的、依赖于方向的滤波的通用技术的流程图。
详细描述
详细描述呈现了采用可用的多个候选参考线的帧内图片预测的创新。例如,帧内图片预测使用样本值的非相邻参考线来预测当前块的样本值。当与当前块相邻的样本值的参考线包括由于遮挡而导致的显著捕捉噪声、显著量化误差、或显著不同的样本值(与当前块相比)时,这可提高帧内图片预测的有效性。本文描述的创新包括但不限于以下内容:采用可用的多个候选参考线的帧内图片预测;使用预测对参考线指标进行编码/解码;对参考样本值进行滤波;残量补偿;加权预测;用于替换不可用的参考样本值的依赖于模式的填充;使用经环内滤波的参考样本值;用于选择参考线的编码器侧判定;以及对经预测样本值进行后滤波。
本文描述的一些创新是参考H.265标准特有的术语,或H.265标准的扩展或变体来解说的。本文描述的创新还可以被实现为其他视频编解码器标准或格式(例如,VP9格式,H.264标准)的扩展或变体,包括允许使用非相邻参考线进行帧内图片预测的未来视频编解码器标准或格式。
在本文中描述的各示例中,不同的图中的相同参考标记指示相同的组件、模块或操作。取决于上下文,给定组件或模块可接受不同类型的信息作为输入和/或产生不同类型的信息作为输出,或以不同的方式被处理。
更一般地,本文中描述的各示例的各种替换是可能的。例如,本文中描述的一些方法可以通过改变描述的方法动作的顺序、通过拆分、重复或忽略某些方法动作等来更改。所公开的技术的各方面能够被组合地或分开地使用。不同的实施例使用所描述的创新中的一个或多个。本文中描述的一些创新解决了背景中指出的一个或多个问题。通常地,所给出的技术/工具并不解决所有这些问题。
I.示例计算机系统。
图1例示了在其中可实现若干所描述的发明的合适的计算环境(100)的一般化示例。计算机系统(100)并不旨在对使用范围或功能提出任何限制,因为这些创新可以在不同的通用或专用计算机系统中实现。
参考图1,计算机环境(100)包括一个或多个处理单元(110,115)和存储器(120,125)。处理单元(110,115)执行计算机可执行指令。处理单元可以是通用中央处理单元(“CPU”)、专用集成电路(“ASIC”)中的处理器或任何其他类型的处理器。在多处理系统中,多个处理单元执行计算机可执行指令以提高处理能力。例如,图1示出CPU(110)以及图形处理单元或协处理单元(115)。有形存储器(120,125)可以是易失性存储器(例如,寄存器、高速缓存、RAM)、非易失性存储器(例如,ROM、EEPROM、闪存等)、或两者的某种组合,可由(一个或多个)处理单元存取。存储器(120,125)存储实现针对具有可用的样本值的非相邻参考线的帧内图片预测的一个或多个创新的软件(180),该软件采用适用于由(一个或多个)处理单元执行的计算机可执行指令的形式。
计算机系统可具有附加的特征。例如,计算机系统(100)包括存储(140)、一个或多个输入设备(150)、一个或多个输出设备(160)以及一个或多个通信连接(170)。诸如总线、控制器或网络之类的互连机制(未示出)将计算机系统(100)的各组件互连。通常地,操作系统软件(未示出)为在计算机系统(100)中执行的其他软件提供操作环境,并协调计算机系统(100)的各组件的活动。
有形存储(140)可以是可移动或不可移动的,并包括诸如磁盘、磁带或磁带盒之类的磁介质、诸如CD-ROM、DVD之类的光学媒体或可用于储存信息并可在计算机系统(100)内访问的任何其他介质。存储(140)存储实现针对采用可用的样本值的非相邻参考线的帧内图片预测的一个或多个创新的软件(180)的指令。
(一个或多个)输入设备(150)可以是触摸输入设备(诸如键盘、鼠标、笔或跟踪球)、语音输入设备、扫描设备或向计算机系统(100)提供输入的另一设备。对于视频,(一个或多个)输入设备(150)可以是相机、视频卡、屏幕捕捉模块、TV调谐卡、或接受模拟或数字形式的视频输入的类似设备、或将视频输入读到计算机系统(100)中的CD-ROM或CD-RW。(一个或多个)输出设备(160)可以是显示器、打印机、扬声器、CD刻录机或提供来自计算机系统(100)的输出的其他设备。
(一个或多个)通信连接(170)允许通过通信介质与另一计算实体通信。通信介质以已调制数据信号传达诸如计算机可执行指令、音频或视频输入或输出、或其他数据之类的信息。已调制数据信号是以对信号中的信息进行编码的方式设置或改变其一个或多个特征的信号。作为示例而非限制,通信介质可以使用电学、光学、RF或其他载体。
各创新可以在计算机可读介质的一般上下文中描述。计算机可读介质是可在计算环境内被访问的任何可用有形介质。作为示例而非限制,对于计算机系统(100),计算机可读介质包括存储器(120,125)、存储(140)及其组合。因此,计算机可读介质可以是例如易失性存储器、非易失性存储器、光学介质或磁介质。如本文中所使用的,术语计算机可读介质不包括瞬时信号或传播载波。
各创新可在计算机可执行指令(诸如包括在程序模块中的那些)的一般上下文中描述,在目标现实或虚拟处理器上在计算机系统中执行。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、库、对象、类、组件、数据结构等。如各实施例中描述的,各程序模块的功能可以被组合,或者在各程序模块之间拆分。针对各程序模块的计算机可执行指令可以在本地或分布式计算机系统中执行。
术语“系统”和“设备”在本文被互换地使用。除非上下文明确指示,否则,术语并不暗示对计算机系统或计算设备的类型的任何限制。一般而言,计算机系统或计算设备可以是本地的或分布式的,并且可以包括具有实现本文中描述的功能的软件的专用硬件和/或通用硬件的任意组合。
所公开的方法还可使用被配置成执行所公开的方法中的任一者的专用计算硬件来实现。例如,所公开的方法可以由被专门设计或配置成实现所公开的方法中的任一者的集成电路(例如,诸如ASIC数字信号处理器(“DSP”)之类的ASIC、图像处理单元(“GPU”)、或诸如场可编程门阵列(“FPGA”)之类的可编程逻辑器件(“PLD”))来实现。
为了呈现起见,详细描述使用如“选择”和“确定”之类的术语来描述计算机系统中的计算机操作。这些术语是对由计算机执行的操作的高级抽象,且不应与人类所执行的动作混淆。对应于这些术语的实际的计算机操作取决于实现而不同。
II.示例网络环境。
图2a和2b示出了包括视频编码器(220)和视频解码器(270)的示例网络环境(201,202)。编码器(220)和解码器(270)使用合适的通信协议通过网络(250)连接。网络(250)可包括因特网或另一计算机网络。
在图2a中所示的网络环境(201)中,每个实时通信(“RTC”)工具(210)包括用于双向通信的编码器(220)和解码器(270)两者。给定的编码器(220)可以产生输出,该输出遵循H.265/HEVC标准、SMPTE 421M标准、ISO/IEC14496-10标准(也称为H.264或AVC)、另一标准的变体或扩展,或遵循针对接受来自编码器(220)的经编码的数据的对应的解码器(270)的专用格式(诸如VP8或VP9)。双向通信可以是视频会议、视频电话呼叫或其他双方或多方通信场景的部分。虽然,图2a中的网络环境(201)包括两个实时通信工具(210),但网络环境(201)可改为包括参与多方通信的三个或更多的实时通信工具(210)。
实时通信工具(210)管理编码器(220)作出的编码。图3示出可以被包括在实时通信工具(210)中的示例编码器系统(300)。替换地,实时通信工具(210)使用另一编码器系统。实时通信工具(210)还管理解码器(270)作出的解码。图5示出可以被包括在实时通信工具(210)中的示例解码器系统(500)。替换地,实时通信工具(210)使用另一解码器系统。
在图2b中示出的网络环境(202)中,编码工具(212)包括对供递送给多个回放工具(214)的视频进行编码的编码器(220),这些回放工具包括解码器(270)。单向通信可被提供用于视频监视系统、web相机监视系统、远程桌面会议演示或共享、无线屏幕投射、云计算或游戏、在其中编码视频并将视频从一个位置发送到一个或多个其他位置的其他场景。虽然在图2b中的网络环境(202)包括两个回放工具(214),该网络环境(202)可以包括更多或更少的回放工具(214)。一般而言,回放工具(214)与编码工具(212)通信以确定回放工具(214)要接收的视频流。回放工具(214)接收该流、缓冲接收到的经编码的数据达合适的时间段并开始解码和回放。
图3示出可以被包括在编码工具(212)中的示例编码器系统(300)。替换地,编码工具(212)使用另一编码器系统。编码工具(212)还可以包括用于管理与一个或多个回放工具(214)的连接的服务器侧控制器逻辑。回放工具(214)可包括用于管理与编码工具(212)的连接的客户机侧控制器逻辑。图5示出可以被包括在回放工具(214)中的示例解码器系统(500)。替换地,回放工具(214)使用另一解码器系统。
III.示例编码器系统。
图3示出结合其可实现一些经描述的实施例的示例视频编码器系统(300)。视频编码器系统(300)包括视频编码器(340),该视频编码器(340)使用采用可用于帧内图片预测的非相邻参考线的帧内图片预测。编码器(340)在图4A和4B中被进一步详述。
视频编码器系统(300)可以是能够用多种编码模式中的任一者(诸如用于实时通信的低等待时间编码模式、转码模式和用于从文件或流中产生供回放的媒体的较高等待时间编码模式)操作的通用编码工具,或它可以是适用于一种这样的编码模式的专用编码工具。视频编码器系统(300)可适用于编码特定类型的内容。视频编码器系统(300)可以被实现为操作系统模块的部分、应用库的部分、独立的应用的部分或使用专用的硬件。总体上,视频编码器系统(300)从视频源(310)接收源视频图片(311)的序列并产生经编码的数据作为到信道(390)的输出。输出到信道的经编码的数据可包括使用本文中描述的一个或多个创新的经编码的内容。
视频源(310)可以是相机、调谐卡、存储介质、屏幕捕捉模块或其他数字视频源。所述视频源(310)以例如每秒30帧的帧速率产生视频图片的序列。如在此所用,术语“图片”一般是指源、已译码的或已重构的图像数据。对于逐行扫描视频,图片是逐行扫描视频帧。对于隔行视频,隔行视频帧可以在编码之前被去隔行。替换地,两个互补的隔行视频场一起被编码作为单个视频帧或者被编码作为两个经单独编码的场。除了指示逐行扫描视频帧或隔行扫描视频帧之外,术语“图片”可以指示单个非成对的视频场、互补的成对视频场、表示在给定时间或在较大的图像中的感兴趣区域处的视频对象的视频对象平面。视频对象平面或区域可以是包括场景的多个对象或区域的较大图像的一部分。
正在到达的源图片(311)被存储在包括多个图片缓冲存储区域(321,322,…,32n)的源图片临时存储器存储区域(320)中。图片缓冲器(321,322等)在源图片存储区域(320)中保持一个源图片。在已经将一个或多个源图片(311)存储在图片缓冲器(321,322等)中之后,图片选择器(330)从源图片存储区域(320)中选择个体源图片来编码为当前图片(331)。各图片被图片选择器(330)选择用于输入到视频编码器(340)的次序可以与视频源(310)产生这些图片的次序不同,例如对某些图片的编码可在次序上被延迟,以便允许某些较后的图片被先编码并由此促成时间上的后向预测。在视频编码器(340)之前,视频编码器系统(300)可包括在编码之前执行当前图片(331)的预处理(例如,滤波)的预处理器(未示出)。该预处理可包括将色彩空间转换成主要(例如亮度)和次要(例如偏向红色和偏向蓝色的色度差)分量以及对编码的重采样处理(例如以减少色度分量的空间分辨率)。一般而言,像素是针对在图片中的位置的一个或多个搭配样本值集合,该集合对于不同的色度采样格式可用不同的方式来布置。
视频编码器(340)对当前图片(331)进行编码以产生经译码的图片(341)。如图4a和4b所示,视频编码器(340)接收当前图片(331)作为输入视频信号(405),并在经译码的视频位流(495)中产生经译码的图片(341)的经编码的数据作为输出。作为该编码的一部分,在一些情况下,视频编码器(340)使用如本文中描述的帧内图片预测的一个或多个特征。
一般地,视频编码器(340)包括执行诸如分区成瓦片、帧内图片预测估计和预测、运动估计和补偿、频率变换、量化和熵译码之类的编码任务的多个编码模块。视频编码器(340)的许多组件被用于帧内图片译码和帧间图片译码两者。由视频编码器(340)执行的确切操作可取决于压缩格式而变化,并也可取决于编码器可选的实现判定而变化。输出的经编码的数据的格式可以是Windows媒体视频格式、VC-1格式、MPEG-x格式(例如,MPEG-1、MPEG-2或MPEG-4)、H.26x格式(例如,H.261、H.262、H.263、H.264、H.265)、或VPx格式或其他格式的变体或扩展。
如图4a所示,视频编码器(340)可包括图块化模块(410)。使用图块化模块(410),视频编码器(340)可将图片分区成相同大小或不同大小的多个图块。例如,图块化模块(410)沿图块行和图块列来拆分图片,所述图块行和图块列利用图片边界定义在图片内的图块的水平和垂直边界,其中每个图块都是矩形区域。图块通常被用于提供并行处理的选项。图片还可以被组织为一个或多个片,其中一个片可以是整个图片或图片的部分。片可以独立于图片中的其他片被解码,这改善了误差复原力。出于编码和解码的目的,片或图块的内容被进一步分区成块或其他样本值集。块可在不同的阶段(例如在预测、频率变换和/或熵编码阶段)被进一步细分。例如,图片可以被划分成64x64块、32x32块或16x16块,这些块进而可被划分成更小的样本值块以用于译码和解码。
对于根据H.264/AVC标准的句法,视频编码器(340)可以将图片分区成相同大小或不同大小的多个片。视频编码器(340)将图片(或片)的内容拆分成16x16宏块。宏块包括被组织为4个8x8亮度块的亮度样本值和被组织为8x8色度块的相应的色度样本值。一般地,宏块具有诸如帧间或帧内之类的预测模式。宏块包括用于信令化预测信息(诸如预测模式细节、运动向量(“MV”)信息等)和/或预测处理的目的的一个或多个预测单元(例如,各8x8块、各4x4块,这些块可被称为用于帧间图片预测的分区)。宏块还具有用于残量译码/解码目的的一个或多个残量数据单元。
对于根据H.265/HEVC标准的句法来说,视频编码器(340)将图片(或片或图块)的内容拆分成各译码树单元。译码树单元(“CTU”)包括被组织为亮度译码树块(“CTB”)的亮度样本值,并且对应的色度样本值被组织为两个色度CTB。CTU(及其CTB)的大小由视频编码器选择。亮度CTB可包含例如64x64、32x32或16x16亮度样本值。CTU包括一个或多个译码单元。译码单元(“CU”)具有亮度译码块(“CB”)和两个对应的色度CB。例如,根据四叉树句法,具有64x64亮度CTB和两个64x64色度CTB(YUV 4:4:4格式)的CTU可以被拆分成4个CU,其中每一CU包括一32x32亮度CB和两个32x32色度CB,并且根据四叉树句法,每一CU可能被进一步拆分成更小的CU。或者,作为另一示例,根据四叉树句法,具有64x64亮度CTB和两个32x32色度CTB(YUV 4:2:0格式)的CTU可被拆分成4个CU,其中每一CU包括一32x32亮度CB和两个16x16色度CB,并且根据四叉树句法,每一CU可被进一步拆分成更小的CU。
在H.265/HEVC实现中,CU具有诸如帧间或帧内之类的预测模式。CU通常包括用于信令化预测信息(诸如预测模式细节、移位值等)和/或预测处理的目的的一个或多个预测单元。预测单元(“PU”)具有亮度预测块(“PB”)和两个对应的色度PB。根据H.265/HEVC标准,对于帧内图片预测的CU,PU具有与该CU相同的大小,除非该CU具有最小大小(例如8x8)。在那个情况下,CU可被拆分成更小的PU(例如,对于帧内图片预测情况,如果最小CU大小为8x8,则被拆分成四个4x4PU),或者PU可具有最小CU大小,如CU的句法元素所指示的。对于帧间图片预测的CU,该CU可具有一个、两个或四个PU,其中拆分成四个PU仅在该CU具有最小可允许大小的情况下才被允许。
在H.265/HEVC实现中,CU通常还具有用于残量译码/解码的目的的一个或多个变换单元,其中变换单元(“TU”)具有亮度变换块(“TB”)和两个色度TB。CU可包含单个TU(在大小上等于该CU)或多个TU。根据四叉树句法,TU可被拆分为四个更小的TU,这些TU可进而根据四叉树句法被拆分成更小的TU。视频编码器决定如何将视频分区成CTU(CTB)、CU(CB)、PU(PB)和TU(TB)。
在H.265/HEVC实现中,片可包括单个片段(独立的片段)或被划分成多个片段(独立的片段和一个或多个从属的片段)。片段是包含在单个网络抽象层(“NAL”)单元中的在图块扫描中连续排序的整数个CTU。对于独立的片段,片段头部包括适用于该独立的片段的句法元素的值。对于从属片段,截短的片段头部包括适用于该从属片段的句法元素的几个值,并且从属片段的其他句法元素的值是以解码顺序从在前的独立的片段的值中推导出来的。
如本文中所使用的,术语“块”可指示宏块、残量数据单元、CTB、CB、PB或TB、或某些其他样本值集,这取决于上下文。术语“单元”可指示宏块、CTU、CU、PU、TU或某些其他块集,或者它可指示单个块,这取决于上下文。
如图4a所示,视频编码器(340)包括通用编码控件,该通用编码控件(420)接收当前图片(331)的输入视频信号(405)以及来自视频编码器(340)的各个模块的反馈(未示出)。整体上,通用编码控件(420)将控制信号(未示出)提供给其他模块(诸如图块化模块(410)、变换器/缩放器/量化器(430)、缩放器/逆变换器(435)、帧内图片预测估计器(440)、运动估计器(450)以及帧内/帧间切换)以设置和改变编码期间的译码参数。通用编码控件(420)还可评估编码期间的中间结果,通常考虑不同选项的位速率成本和/或失真成本。具体地,通用编码控件(420)决定是否对当前图片(331)的单元使用帧内图片预测或帧间图片预测。如果对单元使用帧间图片预测,则通用编码控件(420)与运动估计器(450)一起决定使用哪个(些)参考图片进行帧间图片预测。通用编码控件(420)确定哪些参考图片保留在经解码的图片缓冲器(“DPB”)或其他缓冲器中。通用编码控件(420)产生指示在编码期间作出的判定的通用控制数据(422),使得对应的解码器可以作出一致的判定。通用控制数据(422)被提供给头部格式化器/熵译码器(490)。
参考图4b,如果当前图片(331)中的单元是使用帧间图片预测来预测的,则运动估计器(450)估计该单元的样本值块相对于一个或多个参考图片的运动。当前图片(331)可全部或部分使用帧间图片预测来译码。当使用多个参考图片时,这多个参考图片可以来自不同的时间方向或相同的时间方向。运动估计器(450)潜在地评估处于上下文运动模式的候选MV以及其他候选MV。对于上下文运动模式,作为单元的候选MV,运动估计器(450)评估在运动补偿时对局部邻域中的某些邻近单元使用的一个或多个MV或依据规则推导出的一个或多个MV。针对上下文运动模式的候选MV可包括来自空间上毗邻的单元的MV、来自时间上毗邻的单元的MV以及依据规则推导出的MV。在H.265/HEVC标准中,合并模式是上下文运动模式的示例。在一些情况下,上下文运动模式可涉及多个推导出MV之间的竞争以及对多个推导出MV之一的选择。运动估计器(450)可针对当前图片(331)的给定单元的分区(例如,在H.265/HEVC标准中为CU的PU的2Nx2N、2NxN、Nx2N或NxN分区)评估运动补偿的不同分区模式。
DPB(470)(其是如图3所示的经解码图片临时存储器存储区域(360)的示例)缓冲一个或多个经重构的先前译码的图片以供用作参考图片。
运动估计器(450)产生运动数据(452)作为辅助信息。具体地,运动数据(452)可包括指示上下文运动模式(例如,在H.265/HEVC标准中为合并模式)是否被使用的信息,以及如果上下文运动模式被使用,则包括指示上下文运动模式的候选MV的信息(例如,在H.265/HEVC标准中为合并模式索引值)。更一般地,运动数据(452)可包括MV数据和参考图片选择数据。运动数据(452)被提供给头部格式化器/熵译码器(490)以及运动补偿器(455)。运动补偿器(455)将块的MV应用于来自DPB(470)或其他缓冲器的(一个或多个)经重构的参考图片。对于该块,运动补偿器(455)产生运动补偿预测,其是用来生成该块的运动补偿预测值的(一个或多个)参考图片中的样本值区域。
参考图4b,如果当前图片(331)的单元是使用帧内图片预测来预测的,则帧内图片预测估计器(440)确定如何执行针对该单元的样本值块的帧内图片预测。当前图片(331)可全部或部分使用帧内图片预测来译码。对于空间内预测,使用当前图片(331)的重构(438)的值,帧内图片预测估计器(440)确定如何从当前图片(331)的先前重构的样本值中空间地预测当前图片(331)的块的样本值,例如,选择帧内图片预测模式和样本值的一个或多个参考线。帧内图片预测估计器(440)可以使用例如本文描述的方式之一来对帧内图片预测作出编码器侧判定,例如,使用哪些参考线。帧内图片估计器(440)还可对帧内图片预测作出其他判定,例如,是否使用经加权预测、如何对参考样本值和/或经预测样本值执行滤波。因此,帧内图片估计器(440)可以使用下面描述的帧内图片预测的一个或多个特征,例如,采用可用的多个候选参考线的帧内图片预测、确定参考线指标的预测器、加权预测、残量补偿、用于替换不可用的样本值的依赖于模式的填充、对参考样本值和/或经预测样本值进行滤波。或者,对于帧内块复制模式,帧内图片预测估计器(440)使用指示当前图片(331)的先前编码/解码的部分的偏移(有时被称为块向量)来确定如何预测当前图片(331)的块的样本值。帧内块复制模式可被实现为帧间图片预测的特殊情况,其中参考图片是当前图片(331),并且仅当前图片(331)的先前编码/解码的样本值可被用于预测。作为辅助信息,帧内图片预测估计器(440)产生诸如所使用的预测模式/方向之类的帧内预测数据(442)、标识所用样本值的参考线的参考线指标、以及其他判定。帧内预测数据(442)被提供给头部格式化器/熵译码器(490)以及帧内图片预测器(445)。
根据帧内预测数据(442),帧内图片预测器(445)从当前图片(331)的先前重构的样本值中空间地预测当前图片(331)的块的样本值,从而产生该块的帧内图片经预测样本值。在这样做时,帧内图片预测器(440)可以使用下面描述的帧内图片预测的一个或多个特征,例如,采用可用的多个候选参考线的帧内图片预测、加权预测、残量补偿、用于替换不可用的样本值的依赖于模式的填充、对参考样本值和/或经预测样本值进行滤波。或者,帧内图片预测器(445)使用帧内块复制预测使用针对该块的偏移(块向量)来预测该块的样本值。
如图4b所示,帧内/帧间切换选择针对给定单元的预测(458)将是运动补偿预测还是帧内图片预测。针对当前图片(331)的各单元的帧内/帧间切换判定可使用各准则来作出。
视频编码器(340)可确定是否编码并传送某块的预测值(帧内或帧间)和对应的原始值之间的差(如果有的话)。预测(458)的块和输入视频信号(405)的原始当前图片(331)的对应部分之间的差(如果有的话)提供残量(418)的值。如果被编码/传送,则残量(418)的值使用频率变换(如果该频率变换不被跳过的话)、量化和熵编码来编码。在一些情况下,没有为单元计算残量。相反,残量译码被跳过,并且经预测样本值被用作重构样本值。
参考图4a,当残量(418)的值被编码时,在变换器/缩放器/量化器(430)中,频率变换器将空间域视频信息转换为频域(即频谱、变换)数据。对于基于块的视频译码,频率变换器将离散余弦变换(“DCT”)、其整数近似、或另一类型的前向块变换(例如离散正弦变换或其整数近似)应用于残量(418)的值块(或者如果预测(458)为空则应用于样本值数据),从而产生频率变换系数块。变换器/缩放器/量化器(430)可以应用具有可变块大小的变换。在此情况下,变换器/缩放器/量化器(430)可以确定要对当前块的残量值使用哪些块大小的变换。例如,在H.265/HEVC实现中,变换器/缩放器/量化器(430)可通过四叉树分解将TU拆分成四个更小的TU,这些TU中的每一者可进而被拆分成四个更小的TU,一直到最小TU大小。TU大小可以为32x32、16x16、8x8或4x4(涉及TU中的亮度TB的大小)。在H.265/HEVC实现中,可以跳过频率变换。在此情况下,可以对残量(418)的值进行量化和熵译码。
参考图4a,在变换器/缩放器/量化器(430)中,缩放器/量化器缩放和量化变换系数。例如,量化器将以按逐图片基础、逐图块基础、逐片基础、逐块基础、频率专用基础或其他基础来变化的量化步长大小将死区标量量化应用于频域数据。量化步长大小可取决于量化参数(“QP”),该量化参数的值是为视频的图片、图块、片和/或其他部分设置。在量化变换系数时,视频编码器(340)可使用速率-失真优化量化(“RDOQ”)(这是非常耗时的)或者应用更简单的量化规则。经量化的变换系数数据(432)被提供给头部格式化器/熵译码器(490)。如果频率变换被跳过,则缩放器/量化器可对预测残量数据块(或如果预测(458)为空则对样本值)进行缩放和量化,从而生成要提供给头部格式化器/熵译码器(490)的经量化的值。
如图4a和4b所示,头部格式化器/熵译码器(490)对通用控制数据(422)、经量化的变换系数数据(432)、帧内预测数据(442)、运动数据(452)以及滤波器控制数据(462)进行格式化和/或熵译码。视频编码器(340)的熵译码器压缩经量化的变换系数值以及某些辅助信息(例如MV信息、QP值、模式判定、参考线指标、参数选择、滤波参数)。典型的熵译码技术包括指数-Golomb译码、Golomb-Rice译码、上下文自适应二进制算术译码(“CABAC”)、差分译码、Huffman译码、行程长度译码、可变长度到可变长度(“V2V”)译码、可变长度到固定长度(“V2F”)译码、Lempel-Ziv(“LZ”)译码、字典译码和上述译码的组合。熵译码器可对不同种类的信息使用不同的译码技术,并可组合地应用多个技术(例如,通过应用Exponential-Golomb译码或Golomb-Rice译码作为CABAC的二值化),并可从特定译码技术内的多个码表中进行选择。帧内图片预测的参考线指标可使用预测器被预测地编码,如下文所描述的。
视频编码器(340)在基本位流(诸如图4a中示出的经译码的视频位流(495))中产生经译码的图片(341)的经编码的数据。在图4a中,头部格式化器/熵译码器(490)在经译码的视频位流(495)中提供经编码的数据。基础位流的句法通常是用编解码器标准或格式或者其扩展或变体来定义的。例如,经译码的视频位流的格式(495)可以是Windows媒体视频格式、VC-1格式、MPEG-x格式(例如,MPEG-1、MPEG-2或MPEG-4)、H.26x格式(例如,
H.261、H.262、H.263、H.264、H.265)、VPx格式或其他格式的变体或扩展。在从视频编码器(340)输出后,基本位流通常用容器格式被分组化或组织,如以下所解释的。
基本位流中的经编码的数据包括被组织为句法结构的句法元素。一般而言,句法元素可以是任何数据元素,并且句法结构是基本位流中处于指定次序的零个或更多个句法元素。在H.264/AVC标准和H.265/HEVC标准中,网络抽象层(“NAL”)单元是包含(1)对要跟随的数据的类型的指示以及(2)该数据的一连串零个或更多个字节的句法结构。例如,NAL单元可包含片(经译码的片)的经编码的数据。NAL单元的大小(以字节为单位)在NAL单元之外被指示。经译码的片NAL单元以及某些其他限定类型的NAL单元被称为视频译码层(“VCL”)NAL单元。访问单元是具有连续的位流顺序的一个或多个NAL单元集,包含针对图片的片的经编码的数据,并且可能包含诸如元数据之类的其他相关联的数据。
对于根据H.264/AVC或H.265/HEVC的标准的句法,图片参数集(“PPS”)是包含可与图片相关联的句法元素的句法结构。PPS可被用于单个图片,或者PPS可被重用于序列中的多个图片。PPS通常被信令化为与图片的经编码的数据分开(例如一个NAL单元针对PPS,并且一个或多个其他NAL单元针对图片的经编码的数据)。在图片的经编码的数据内,句法元素指示要为该图片使用哪个PPS。类似地,对于遵照H.264/AVC标准或H.265/HEVC的标准的句法,序列参数集(“SPS”)是包含了与图片序列相关联的句法元素的句法结构。位流可包括单个SPS或多个SPS。SPS通常被信令化为与该序列的其他数据分开,并且其他数据中的句法元素指示要使用哪个SPS。
如图3所示,视频编码器(340)还产生存储器管理控制操作(“MMCO”)信号(342)或参考图片集(“RPS”)信息。RPS是可以被使用以供在对当前图片或任意后续图片的运动补偿中的参考的图片集。如果当前图片(331)不是已经被编码的第一图片,则在执行其编码处理时,视频编码器(340)可使用已被存储在经解码图片临时存储器存储区域(360)中的一个或多个先前编码/解码的图片(369)。这样存储的经解码图片(369)被用作当前图片(331)的内容的帧间图片预测的参考图片。MMCO/RPS信息(342)向视频解码器指示哪些经重构的图片可被用作参考图片并因此应当被存储在图片存储区域中,诸如图4A和4B中的DPB(470)。
参考图3,经译码图片(341)和MMCO/RPS信息(342)(或与MMCO/RPS信息(342)等价的信息,因为在视频编码器(340)处已经知道各图片的依赖关系和排序结构)由解码处理仿真器(350)处理。解码处理仿真器(350)实现视频解码器的一些功能,例如对任务进行解码以重构参考图片。以与MMCO/RPS信息(342)相一致的方式,解码处理仿真器(350)确定给定的经译码的图片(341)是否需要被重构并被存储以供在待编码的后续图片的帧间图片预测中用作参考帧。如果经译码的图片(341)需要被存储(并可能被修改),则解码处理仿真器(350)对将由视频解码器进行的解码处理建模,该视频解码器接收经译码的图片(341)并产生相应的经解码的图片(351)。通过这么做,当视频编码器(340)已经使用已被存储在经解码图片存储区域(360)中的经解码的(一个或多个)图片(369)时,解码处理仿真器(350)还使用来自存储区域(360)的(一个或多个)经解码的图片(369)作为解码处理的一部分。
解码处理仿真器(350)可被实现为视频编码器(340)的一部分。例如,解码过程仿真器(350)包括如图4A和4B所示的某些模块和逻辑。在当前图片(331)的重构期间,当残量(418)的值已被编码/信令化时,重构的残量与预测(458)组合以从视频信号(405)中产生针对当前图片(331)的原始内容的近似或精确重构(438)。(在有损压缩中,一些信息从视频信号(405)中丢失。)
参考图4A,为了重构残量值,在缩放器/逆变换器(435)中,缩放器/逆量化器对经量化的变换系数执行逆缩放和逆量化。当变换阶段尚未被跳过时,逆频率变换器执行逆频率变换,从而产生重构预测残量值或样本值块。如果变换阶段已经被跳过,则也跳过逆频率变换。在此情况下,缩放器/逆量化器可对预测残量数据(或样本值数据)的块执行逆缩放和逆量化,从而产生重构值。当残量已经被编码/信令化时,视频编码器(340)将重构残量与预测(458)的值(例如,运动补偿预测值、帧内图片预测值)组合以形成重构(438)。当残量值尚未被编码/信令化时,视频编码器(340)使用预测(458)的值作为重构(438)。
参考图4a和4b,对于帧内图片预测,重构(438)的值可以被馈送回帧内图片预测估计器(440)和帧内图片预测器(445)。重构(438)的值可被用于后续图片的运动补偿预测。重构(438)的值可被进一步滤波。对于当前图片(331),滤波控件(460)确定如何对重构(438)的值执行去块滤波和样本自适应偏移(“SAO”)滤波。例如,滤波控件(460)可确定如何在后续帧内图片预测之前执行非相邻参考线的参考样本值的环内滤波,如下文所描述的。滤波控件(460)产生滤波控制数据(462),它被提供给头部格式化器/熵译码器(490)和合并器/(一个或多个)滤波器(465)。
在合并器/滤波器(465)中,视频编码器(340)将来自不同图块的内容合并到当前图片的经重构版本中。视频编码器(340)根据滤波器控制数据(462)和滤波器自适应规则选择性地执行去块滤波和SAO滤波,以便自适应地平滑当前图片(331)中的各边界上的间断。视频编码器(340)还可以在帧内图片译码期间执行环内滤波(例如,去块滤波和/或SAO滤波),以在对当前块的后续帧内图片预测之前滤波非相邻参考线的参考样本值,如下文所描述的。可替换地或另外地应用其他滤波(诸如去振铃滤波或自适应环滤波(“ALF”);未示出)。取决于视频编码器(340)的设置,图块边界可选择性地被滤波或根本不被滤波,并且视频编码器(340)可在经译码的位流内提供句法元素以指示是否应用这样的滤波。
在图4a和4b中,DPB(470)缓冲经重构的当前图片以供在后续运动补偿预测中使用。更一般地,如图3所示,经解码图片临时存储器存储区域(360)包括多个图片缓冲存储区域(361,362,…,36n)。通过与MMCO/RPS信息(342)相一致的方式中,解码处理仿真器(350)管理存储区域(360)中的内容,以便标识出具有视频编码器(340)不再需要将其用作参考图片的图片的任何图片缓冲器(361,362等)。在对解码处理进行建模之后,解码处理仿真器(350)在图片帧缓冲器(361,362等)中存储已经以此方式标识出的新解码的图片(351)。
如图3所示,经译码的图片(341)和MMCO/RPS信息(342)被缓冲在临时经译码的数据区域(370)中。被聚集在经译码的数据区域(370)中的经译码的数据包含一个或多个图片的经编码的数据作为基本位流句法的一部分。被聚集在经译码的数据区域(370)中的经译码的数据还可包括与经译码的视频数据相关的媒体元数据(例如作为一个或多个补充增强信息(“SEI”)消息或视频可用性信息(“VUI”)消息中的一个或多个参数)。
来自临时经译码的数据区域(370)的经聚集的数据(371)由信道编码器(380)处理。信道编码器(380)可以分组化和/或复用经聚集的数据以供作为媒体流传输或存储(例如根据媒体程序流或传输流格式,例如ITU-T H.222.0|ISO/IEC 13818-1或因特网实时传输协议格式(例如IETF RFC 3550)),在此情况下,信道编码器(380)可以添加句法元素作为媒体传输流的句法的一部分。或者,信道编码器(380)可以组织经聚集的数据以供存储成文件(例如根据媒体容器格式,诸如ISO/IEC 14496-12),在此情况下信道编码器(380)可添加句法元素作为媒体存储文件的句法的一部分。或者,更一般地,信道编码器(380)可以实现一个或多个媒体系统复用协议或传输协议,在此情况下,信道编码器(380)可以添加句法元素作为(一个或多个)协议的句法的一部分。信道编码器(380)将输出提供给信道(390),该信道(390)表示存储、通信连接或该输出的另一信道。信道编码器(380)或信道(390)还可以包括例如用于前向纠错(“FEC”)编码和模拟信号调制的其他元素(未示出)。
取决于实现和期望的压缩类型,视频编码器系统(300)和/或视频编码器(340)的各模块可被添加、省略、拆分成多个模块、与其他模块组合、和/或用相似的模块来替换。在替代实施例中,具有不同模块和/或其他模块配置的编码器系统或编码器执行所描述的技术中的一个或多个。编码器系统的具体实施例通常使用视频编码器系统(300)的变体或补充版本。视频编码器的具体实施例通常使用视频编码器(340)的变体或补充版本。所示出的在视频编码器系统(300)和视频编码器(340)内的各模块之间的关系指示了信息分别在视频编码器系统(300)和视频编码器(340)中的一般流动;为简明起见,未示出其他关系。一般而言,视频编码器系统(300)或视频编码器(340)的给定模块可以通过可在CPU上执行的软件、通过软件控制的专用硬件(例如,用于视频加速的图形硬件)或通过(例如,在ASIC中的)专用硬件来实现。
IV.示例解码器系统。
图5是结合其可实现所描述的一些实施例的示例视频解码器系统(500)的框图。视频解码器系统(500)包括视频解码器(550),视频解码器(550)在图6中被进一步详述。
视频解码器系统(500)可以是能够在多种解码模式(例如针对实时通信的低等待时间解码模式、代码转换模式以及针对来自文件或流的媒体回放的较高等待时间解码模式)中的任一者中操作的通用解码工具,或它可以是适用于一种这样的解码模式的专用解码工具。视频解码器系统(500)可以被实现为操作系统模块的部分、应用库的部分、独立的应用的部分或使用专用的硬件。总体上,视频解码器系统(500)从信道(510)接收经译码的数据并产生经重构的图片作为针对输出目的地(590)的输出。接收到的经编码的数据可包括使用本文中描述的一个或多个创新来编码的内容。
解码器系统(500)包括信道(510),该信道(510)可表示存储、通信连接或针对作为输入的经译码的数据的另一信道。信道(510)产生已经被信道译码的经译码的数据。信道解码器(520)可以处理经译码的数据。例如,信道解码器(520)可以(例如根据诸如ITU-TH.222.0|ISO/IEC 13818-1的媒体程序流或传输流格式,或诸如IETF RFC 3550的因特网实时传输协议格式)去分组化和/或去复用已被组织以供作为媒体流来传输或存储的数据,在此情况下,信道解码器(520)可以解析所添加的作为媒体传输流的句法的一部分的句法元素。或者,信道解码器(520)可以(例如根据诸如ISO/IEC 14496-12的媒体容器格式)来将已被组织以供作为文件来存储的经译码的视频数据分开,在此情况下,信道解码器(520)可以解析所添加的作为媒体存储文件的句法的一部分的句法元素。或者,更一般地,信道解码器(520)可以实现一个或多个媒体系统去复用协议或传输协议,在此情况下,信道解码器(520)可以解析所添加的作为(一个或多个)协议的句法的一部分的句法元素。信道(510)或信道解码器(520)还可以包括例如用于FEC解码和模拟信号解调的其他元素(未示出)。
从信道解码器(520)输出的经译码的数据(521)被存储在临时经译码的数据区域(530)中,直到已经接收到足够数量的这样的数据。经译码的数据(521)包括经译码的图片(531)和MMCO/RPS信息(532)。在经译码的数据区域(530)中的经译码的数据(521)包含一个或多个图片的经译码的数据作为基本经译码的视频位流的句法的一部分。在经译码的数据区域(530)中的经译码的数据(521)还可包括与经编码的视频数据相关的媒体元数据(例如作为一个或多个SEI消息或VUI消息中的一个或多个参数)。
一般而言,经译码的数据区域(530)临时存储经译码的数据(521),直到这样的经译码的数据(521)被视频解码器(550)使用。此时,经译码的图片(531)和MMCO/RPS信息(532)的经译码的数据被从经译码的数据区域(530)传送到视频解码器(550)。随着解码继续,新的经译码的数据被添加到经译码的数据区域(530)并且保留在经译码的数据区域(530)中的最旧的经译码的数据被传输到视频解码器(550)。
视频解码器(550)解码经译码的图片(531)以生成对应的经解码图片(551)。如图6所示,视频解码器(550)接收经译码的图片(531)作为输入以作为经译码的视频位流(605)的一部分,并且视频解码器(550)产生相应的经解码图片(551)作为输出以作为经重构的视频(695)。作为该解码的一部分,在一些情况下,视频解码器(550)使用如本文中描述的帧内图片预测的一个或多个特征。
一般地,视频解码器(550)包括执行诸如熵解码、逆量化、逆频率变换、运动补偿、帧内图片预测、和滤波之类的解码任务的多个解码模块。解码器(550)的许多组件被用于帧内图片解码和帧间图片解码这两者。由那些组件执行的确切操作可取决于正被解压缩的信息的类型而变化。经译码的视频位流(605)的格式可以是Windows媒体视频格式、VC-1格式、MPEG-x格式(例如,MPEG-1、MPEG-2或MPEG-4)、H.26x格式(例如,H.261、H.262、H.263、H.264、H.265)、或VPx格式或其他格式的变体或扩展。
图片可被组织成相同大小或不同大小的多个图块。一个图片还可以被组织成一个或多个片。片或图块的内容可被进一步组织成块或其他样本值集。块可以在不同的阶段被进一步细分。例如,图片可以被划分成64x64块、32x32块或16x16块,这些块可进而被划分成更小的样本值块。在例如针对H.264/AVC标准的解码实现中,图片被划分成宏块和块。在例如针对H.265/HEVC标准的解码实现中,图片被分区成各CTU(CTB)、CU(CB)、PU(PB)和TU(TB)。
参考图6,缓冲区在经译码的视频位流(605)中接收经编码的数据,并使得接收到的经编码的数据可用于解析器/熵解码器(610)。解析器/熵解码器(610)通常应用在编码器(340)中执行的熵译码的逆(例如,使用Exponential-Golomb或Golomb-Rice进行二值化的上下文自适应二进制算术解码)对经熵译码的数据进行熵解码。作为解析和熵解码的结果,解析器/熵解码器(610)产生通用控制数据(622)、经量化的变换系数数据(632)、帧内图片预测数据(642)(例如,帧内图片预测模式、参考线指标)、运动数据(652)以及滤波器控制数据(662)。帧内图片预测的参考线指标可使用预测器进行来解码,如下文所描述的。
通用解码控件(620)接收通用控制数据(622)。一般解码控件(620)将控制信号(未示出)提供给其他模块(例如缩放器/逆变换器(635)、帧内图片预测器(645)、运动补偿器(655)以及帧内/帧间切换)以设置和改变解码期间的解码参数。
参考图5,在适当时,当执行其解码处理时,视频解码器(550)可将一个或多个先前解码的图片(569)用作帧间图片预测的参考图片。视频解码器(550)从经解码的图片临时存储器存储区域(560)(这是例如DPB(670))中读取这样的先前解码的图片(569)。
参考图6,如果当前图片是使用帧间图片预测来预测的,则运动补偿器(655)接收运动数据(652),诸如MV数据、参考图片选择数据、以及合并模式索引值。运动补偿器(655)将MV应用于来自DPB(670)的(一个或多个)经重构的参考图片。运动补偿器(655)产生针对当前图片中的帧间译码块的运动补偿的预测。
在视频解码器(550)的单独路径中,帧内图片预测器(645)接收帧内预测数据(642),诸如指示所使用的预测模式/方向和参考线指标的信息。对于帧内空间内预测,帧内图片预测器(645)根据预测模式/方向和一个或多个参考线指标,使用当前图片的重构(638)的值,从当前图片的先前重构的样本值中空间地预测当前图片的当前块的样本值。在这样做时,帧内图片预测器(645)可以使用下面描述的帧内图片预测的一个或多个特征,例如,多个候选参考线可用的帧内图片预测、加权预测、残量补偿、用于替换不可用的样本值的依赖于模式的填充、对参考样本值和/或经预测样本值进行滤波。或者,对于帧内块复制模式,帧内图片预测器(645)使用依据当前块的位移(块向量)指示的参考块的先前重构的样本值来预测当前块的样本值。
帧内/帧间切换选择运动补偿的预测或帧内图片预测的值用作给定块的预测(658)。例如,当H.265/HEVC句法被遵循时,可以基于为图片中的CU编码的句法元素来控制帧内/帧间切换,该图片可以包含帧内预测的CU和帧间预测的CU。当残量值已经被编码/信令化时,视频解码器(550)将预测(658)与重构的残量值组合以产生来自视频信号的内容的重构(638)。当残量值尚未被编码/信令化时,视频解码器(550)将预测(658)的值用作重构(638)。
视频解码器(550)还重构预测残量值。为了在残量值已被编码/信令化时重构残量,缩放器/逆变换器(635)接收并处理经量化的变换系数数据(632)。在缩放器/逆变换器(635)中,缩放器/逆量化器对经量化的变换系数执行逆缩放和逆量化。缩放器/逆变换器(635)基于位流中的句法元素为图片、图块、片和/或视频的其他部分设置QP值。逆频率变换器执行逆频率变换,从而产生重构预测残量值或样本值块。例如,逆频率变换器将逆块变换应用到频率变换系数,从而产生样本值数据或预测残量数据。逆频率变换可以是逆DCT、其整数近似、或另一种类型的逆频率变换(例如逆离散正弦变换或其整数近似)。如果频率变换在编码期间被跳过,则逆频率变换也被跳过。在此情况下,缩放器/逆量化器可对预测残量数据(或样本值数据)的块执行逆缩放和逆量化,从而产生重构值。视频解码器(550)将重构预测残量值于预测(658)的预测值组合,从而产生重构(638)的值。
对于帧内图片预测,重构(638)的值可以被馈送回帧内图片预测器(645)。对于帧间图片预测(并且,在一些情况下,对于采用非相邻参考线的帧内图片预测),重构(638)的值可以被进一步滤波。在合并器/(一个或多个)滤波器(665)中,视频解码器(550)将来自不同图块的内容合并到图片的经重构版本中。视频解码器(550)根据滤波器控制数据(662)和滤波自适应规则来执行去块滤波和SAO滤波,以便自适应地平滑各图片中的各边界上的间断。例如,视频解码器(550)可在后续帧内图片预测之前执行非相邻参考线的参考样本值的环内滤波,如下文所描述的。可替换地或另外地应用其他滤波(例如去振铃滤波或ALF;未示出)。图块边界可以被选择性地滤波或根本不被滤波,这取决于视频解码器(550)的设置或经编码的位流数据内的句法元素。DPB(670)缓冲经重构的当前图片以供在后续运动补偿预测中作为参考图片使用。
视频解码器(550)还可包括后处理滤波器。后处理滤波器可包括去块滤波、去振铃滤波、自适应维纳滤波、膜颗粒再现滤波、SAO滤波或另一种类的滤波。尽管“环内”滤波是对运动补偿环(或,在一些情况下,帧内图片预测环)内的图片的重构样本值执行的,并因此影响参考图片的样本值,但后处理滤波器在运动补偿环和帧内图片预测环之外的重构样本值被输出以供显示之前被应用于该重构样本值。
参考图5,经解码图片临时存储器存储区域(560)包括多个图片缓冲器存储区域(561,562,…,56n)。经解码的图片存储区域(560)是例如DPB(670)。解码器(550)使用MMCO/PS信息(532)来标识该解码器可将经解码的图片(551)存储在其中的图片缓冲器(561、562等)。解码器(550)将经解码的图片(551)存储在那个图片缓冲器中。以与MMCO/RPS信息(532)一致的方式,解码器(550)还确定是否从多个图片缓冲存储区域(561,562,…,56n)移除任何参考图片。
输出序列发生器(580)标识按显示次序(也被称为输出次序)将产生的下一图片何时可在经解码的图片存储区域(560)中获得。当将按显示次序产生的下一图片(581)可在经解码的图片存储区域(560)中获得时,输出序列发生器(580)读取该下一图片并将其输出到输出目的地(590)(例如显示器)。一般而言,输出序列发生器(580)将图片从经解码的图片存储区域(560)中输出的次序(显示次序)可以与解码器(550)解码这些图片的次序(位流次序)不同。
取决于实现和所希望的解压缩的类型,视频解码器系统(500)和/或视频解码器(550)的模块可以被添加、省略、拆分成多个模块、与其他模块组合和/或替换为类似的模块。在替换实施例中,具有不同模块和/或其他模块配置的解码器系统或解码器执行所描述的技术中的一个或多个。解码器系统的具体实施例通常使用视频解码器系统(500)的变体或补充版本。视频解码器的具体实施例通常使用视频解码器(550)的变体或补充版本。所示出的在视频解码器系统(500)和视频解码器(550)内的各模块之间的关系指示信息分别在视频解码器系统(500)和视频解码器(550)中的一般流动;为简单起见,未示出其他关系。一般而言,视频解码器系统(500)或视频解码器(550)的给定模块可以通过可在CPU上执行的软件、通过软件控制的专用硬件(例如,用于视频加速的图形硬件)或通过(例如,在ASIC中的)专用硬件来实现。
V.帧内图片预测的创新。
本节描述了帧内图片预测的各种创新。例如,帧内图片预测使用样本值的非相邻参考线来预测当前块的样本值,这可提高帧内图片预测的有效性。本节中描述的创新包括但不限于:采用可用的多个候选参考线的帧内图片预测;使用预测对参考线指标进行编码/解码;滤波在帧内图片预测中使用的参考样本值;帧内图片预测期间的残量补偿;帧内图片预测期间的加权预测;用于替换针对帧内图片预测的不可用的参考样本值的依赖于模式的填充;在帧内图片预测中使用经环内滤波的参考样本值;用于选择针对帧内图片预测的参考线的编码器侧判定;以及在帧内图片预测之后对经预测样本值进行后滤波。
A.对帧内图片预测的介绍。
帧内图片预测利用区域中各样本值之间的相关性来建立区域中各样本值的有效压缩。帧内图片预测可为描绘均匀对象或规则图案(例如,条纹或其他直线)的区域提供高效压缩。
H.264标准定义了九个帧内图片预测模式。一个帧内图片预测模式(DC预测模式)使用与当前块相邻的某些参考样本值的平均值来预测当前块的样本值。其他八个帧内图片预测模式是方向预测模式,也称为角度预测模式。根据H.264标准中的方向预测模式,将经选择的参考样本值(与当前块相邻)投射到当前块中以便预测当前块的样本值。当视觉内容遵循传播方向时,这提供了有效压缩。
H.265标准定义了35个帧内图片预测模式,包括DC预测模式、平面预测模式、和33个角度预测模式。通过添加非方向预测模式(平面预测模式)和细粒度角度预测模式,H.265标准的帧内图片预测往往会比H.264标准的帧内图片预测更有效。
图7示出了可被用于帧内图片预测的33个角度帧内图片预测模式(700)的示例。图7中所示的33个角度帧内图片模式(700)在H.265标准中定义(用于使用相邻参考样本值进行预测),但是也可与本文中描述的一个或多个创新结合使用,例如,使用非相邻参考线的样本值的帧内图片预测。模式26具有垂直方向,而模式10具有水平方向。其他模式具有各种对角线方向。
图8示出了针对平面预测模式的操作的示例(800),该平面预测模式被设计用于预测逐渐变化的区域中的样本值。对于平面预测模式,给定位置处的经预测样本值可被计算为经水平内插的值和经垂直内插的值的平均。在图8的示例(800)中,在当前块(810)的位置A处计算经预测样本值predA,作为位置B、C、D和E处的参考样本值的加权平均。权重取决于当前块(810)中位置A的位置。图8示出了当前块(810)左侧的参考线和当前块(810)上方的参考线的经重构的样本值,包括分别在位置B和D处的参考样本值refB和refD。图8还示出了当前块(810)下方和当前块(810)右侧的经填充的样本值,包括分别在位置C和E处的经填充的样本值refC和refE。经填充的样本值refC由水平重复填充导出,因为当前块(810)下方的线尚未被重构。经填充的样本值refE由垂直重复填充导出,因为当前块(810)右侧的线尚未被重构。位置A在当前块(810)的坐标(x,y)处。当前块(810)的位置A处的经预测样本值predA被计算为:predA=[x×refC+(block_size-x)×refB+y×refE+(block_size-y)×refD]/(2×block_size),其中block_size是当前块(810)的大小,其是方形的。尽管图8示出了来自相邻参考线的参考样本值的预测,但是平面预测模式可替代地使用来自非相邻线(行和/或列)的参考样本值。(为简单起见,仍可为相邻参考线计算经填充样本值。)
图9示出了针对DC预测模式的操作的示例(900),该DC预测模式被设计用于预测均匀区域的样本值。对于DC预测模式,当前块的任何位置处的经预测样本值被计算为经选择的参考线中的某些参考样本值的平均。在图9中,当前块(910)的各位置处的经预测样本值被计算为相邻(边界)参考线的被指示的参考样本值(920,930)的平均。尽管图9示出了来自相邻参考线的参考样本值的预测,但是DC预测模式可替代地使用来自非相邻线(行和/或列)的参考样本值。
图10示出了角度预测模式的操作的示例(1000)。图10中所示的角度预测模式对应于图7中的模式33。一般而言,对于角度预测模式,参考线中的参考样本值沿着预测方向传播。在图10中,对于当前块(1010)的给定位置A,分别使用位置B和C处的参考样本值refB和refC之间的线性内插值,沿着角度预测模式的预测方向(1020)计算经预测样本值predA。具体地,经预测样本值predA被计算为predA=(m×refC+n×refB)/(m+n),其中m和n指示针对当前块(1010)的位置A处的经预测样本值predA的位置B和C之间的分数偏移。例如,如果m=5/6且n=1/6,则经内插的值更接近位置C,且predA=((5/6)×refC+(1/6)×refB)/((5/6)+(1/6))。另一方面,如果m=1/4且n=3/4,则经内插的值更接近位置B,且predA=((1/4)×refC+(3/4)×refB)/((1/4)+(3/4))。分数偏移是沿着跨参考线的预测方向(1020)的一位置与参考线的两个最近的参考样本值(在位置B和C处)之间的距离。尽管图10示出了来自相邻参考线的参考样本值的预测,但是角度预测模式可替代地使用来自非相邻线(行或列)的参考样本值。
至少对于一些帧内图片预测模式,可在帧内图片预测之后对经预测样本值进行滤波。例如,在H.265标准中,如果当前块的大小是16x16或更小,则可在水平预测之后对当前块的最顶行的经预测样本值进行滤波,且如果当前块的大小是16x16或更小,则可在垂直预测之后对当前块的最左列的经预测样本值进行滤波。图11示出了在水平帧内图片预测之后对当前块(1110)的经预测样本值进行滤波的示例(1100)。使用分别在位置B和C处的参考样本值refB和refC对经预测样本值predA进行滤波:predA=predA+(refB-refC)/2。在垂直帧内图片预测之后,可使用在位置C处的参考样本值refC和与当前块(1110)的待滤波的经预测样本值相同的行中的参考样本值类似地对当前块(1110)的最左列的经预测样本值进行滤波。在DC预测之后,可使用滤波器[1,3]/4和最近的参考样本值对当前块(1110)的最顶行和最左列的经预测样本值进行滤波。尽管图11示出了使用相邻参考线的参考样本值对经预测样本值的滤波,但是经预测样本值的滤波也可使用来自非相邻参考线的参考样本值,如下文所描述的。
在图8-11中,帧内图片预测使用相邻参考线的参考样本值。图12示出了相邻参考线的参考样本值的示例(1200)。在参考线被分配参考线指标的配置中,最近的参考线可被定名为参考线0。在图12中,相邻参考线的参考样本值包括参考线(行)0的“上方的”样本值(1220)、参考线(行)0的“右上的”样本值(1230)、参考线(列)0的“左侧的”样本值(1240)、参考线(列)0的“左下的”样本值(1250)、和参考线0的“左上的”样本值(1260)。使用非相邻参考线的参考样本值的帧内图片预测的各示例在下文中被描述。
B.采用可用的多个候选参考线的帧内图片预测的示例。
在先前的视频编解码器标准和格式中,当前块的帧内图片预测仅使用相邻参考线的参考样本值(例如,当前块上方的最近行和/或当前块左侧的最近列)。这反映了当参考线与当前块之间的距离较短时,参考样本值与当前块的样本值之间的相关性较高的假设。根据此假设,当最近的参考样本值被用于帧内图片预测时,帧内图片预测的有效性应该提高(即,预测误差应该降低)。虽然在许多情况下此假设可能成立,但在其他情况下,相邻参考线的参考样本值可能由于捕捉(即,捕捉噪声)或压缩(即,量化误差,重构噪声)而表现出噪声。具体地,对于给定的经帧内图片预测的块,重构噪声可在远离预测边缘处增加幅度(例如,重构噪声在给定块的底部边缘或右边缘处可能具有更高的幅度)。在此情况下,当用作之后块的样本值的帧内图片预测的参考线时,给定块的远边缘可能不如给定块的早期线更合适。或者,作为另一示例,相邻参考线中描绘的对象可能会碰巧遮挡当前块中显示的对象,使得参考样本值与当前块的样本值非常不同。无论原因如何,在一些情况下,使用相邻参考线的参考样本值的帧内图片预测是无效的。
本章描述了帧内图片预测的变体,其中包括非相邻参考线的多个参考线可用于帧内图片预测。这些变体可提高帧内图片预测的有效性,使得经编码的视频的质量水平针对给定位率而改善或者使经编码的视频的位率针对给定质量水平而降低。
图13示出了可用于当前块(1310)的帧内图片预测的样本值的多个候选参考线的示例(1300)。一般而言,当前块(1310)的样本值在逻辑上被组织为多个列和多个行。
在图13中,参考线被分配参考线指标,该参考线指标对于距当前块(1310)更远的参考线增加以表示来自当前块(1310)的进一步的偏移。最近的参考线被定名为参考线0。当参考线索引对于当前块(1310)大于0时,指示非相邻参考线,在参考样本值与当前块(1310)之间存在偏移。
图13示出了当前块(1310)上方的N条参考线(行),其被编号为0...n。图13示出了当前块(1310)左侧的M条参考线(列),其被编号为0…m。M和N的值取决于实现。例如,M=N=8。或者,M=N=4。或者,M=N=16。或者,M和N取决于块大小。例如,M和N等于当前块的大小或等于当前块的大小除以2。在一些示例实现中,M和N还可具有与当前块(1310)不同的值。图13中所示的多个候选参考线包括不与当前块(1310)相邻的参考线(即,图13中具有参考线索引>0的任何参考线)。更一般地,样本值的非相邻参考线可以是(a)由当前块(1310)之外的一个或多个其他样本值列与当前块(1310)的多个列分隔开的非相邻样本值列,或(b)由当前块(1310)之外的一个或多个其他样本值行与当前块(1310)的多个行分隔开的非相邻样本值行。
图14示出了用于编码的通用技术(1400),其包括采用可用的多个候选参考线(包括非相邻参考线)的帧内图片预测。诸如图3的视频编码器(340)、另一视频编码器或图像编码器之类的编码器可执行技术(1400)。
编码器接收(1410)图片,编码(1420)该图片以产生经编码的数据,并将经编码的数据作为位流的一部分来输出(1430)。在编码(1420)期间,编码器对图片中的当前样本值块执行帧内图片预测。样本值的非相邻参考线可用于帧内图片预测。
编码(1420)可包括为参考线索引确定预测器,其中参考线索引标识被用于当前块的帧内图片预测的样本值的参考线。在此情况下,预测器被用于编码参考线索引,并且该参考线索引被信令化为经编码的数据的一部分(例如,将预测器标志用作差分)。参考线指标预测的变体在下文中被描述。
编码(1420)还可包含下文描述的帧内图片预测特征的一者或多者,包括:滤波在帧内图片预测中使用的参考样本值;帧内图片预测期间的残量补偿;帧内图片预测期间的加权预测;用于替换针对帧内图片预测的不可用的参考样本值的依赖于模式的填充;在帧内图片预测中使用经环内滤波的参考样本值;用于选择针对帧内图片预测的参考线的编码器侧判定;以及在帧内图片预测之后对经预测样本值进行后滤波。
编码器检查(1440)是否继续下一图片。如果是,则编码器接收(1410)并编码(1420)该下一图片。
图15示出了用于对应解码的通用技术(1500),其包括采用可用的多个候选参考线(包括非相邻参考线)的帧内图片预测。诸如图5的视频解码器(550)、另一视频解码器或图像解码器之类的解码器可执行技术(1500)。
解码器接收(1510)经编码的数据作为位流的一部分,解码(1520)经编码的数据以重构图片,并输出(1530)经重构的图片。在解码(1520)期间,解码器对图片中的当前样本值块执行帧内图片预测。样本值的非相邻参考线可用于帧内图片预测。
解码(1520)可包括为参考线索引确定预测器,其中参考线索引标识被用于当前块的帧内图片预测的样本值的参考线。在此情况下,预测器被用于解码参考线索引,并且该参考线索引被信令化为经编码的数据的一部分(例如,将预测器标志用作差分)。参考线指标预测的变体在下文中被描述。
解码(1520)还可包含下文描述的帧内图片预测特征的一者或多者,包括:滤波在帧内图片预测中使用的参考样本值;帧内图片预测期间的残量补偿;帧内图片预测期间的加权预测;用于替换针对帧内图片预测的不可用的参考样本值的依赖于模式的填充;在帧内图片预测中使用经环内滤波的参考样本值;以及在帧内图片预测之后对经预测样本值进行后滤波。
解码器检查(1540)是否继续下一图片。如果是,则解码器接收(1510)下一图片的经编码的数据并解码(1520)该下一图片。
作为帧内图片预测的一部分(在编码(1420)或解码(1520)期间),编码器或解码器选择当前块之外的样本值的多个候选参考线中的一个或多个,其中该多个候选参考线包括样本值的至少一个非相邻参考线。在选择(一个或多个)参考线之后,编码器或解码器使用经选择的(一个或多个)参考线的至少一些样本值来预测当前块的样本值。当前样本值块可以是亮度块(包括亮度样本值)或色度块(包括色度样本值)。存在使用非相邻参考线执行帧内图片预测的操作的若干种方式。参考线指标的值可以以各种方式被信令化。
1.选择参考线的示例。
在编码(1420)期间,编码器基于对使用不同参考线的帧内图片预测的结果的评估来选择用于帧内图片预测的参考线。在编码期间决定将哪些参考线用于帧内图片预测的方式的示例在下文中被呈现。在解码(1520)期间,解码器基于被信令化为经编码的数据的一部分的参考线指标来选择用于帧内图片预测的参考线。信令化参考线指标的方式的示例在下文中被呈现。
候选参考线可以是行或列,并且可使用参考线指标来标识它们。候选参考线可包括当前块上方的多个参考行和/或当前块左侧的多个参考列。在一些情况下,编码器/解码器选择单个参考线以用于当前块的帧内图片预测。经选择的参考线的参考线索引可被信令化为位流的一部分。在其他情况下,编码器/解码器选择多个参考线以用于当前块的帧内图片预测,并且经选择的参考线的参考线指标可分别被信令化为位流的一部分。当编码器/解码器选择当前块上方的参考行和当前块左侧的参考列时,参考行和参考列可以具有相同的参考线索引(例如,都具有参考线索引1、或都具有参考线索引2,其中单个参考线索引被信令化),或者它们可以具有不同的参考线指标(例如,针对两个参考线的参考线指标1和2、或针对两个参考线的参考线指标3和0,其中多个参考线指标被信令化)。
2.对非相邻参考线执行帧内图片预测操作的第一方式。
在执行帧内图片预测操作的第一方式中,将样本值从非相邻参考线复制到相邻参考线。在选择用于当前块的帧内图片预测的样本值的非相邻参考线之后,编码器/解码器通过逻辑或物理复制操作用非相邻参考线的至少一些样本值替换相邻参考线的样本值。逻辑或物理复制操作将非相邻参考线的一些样本值垂直或水平地移向当前块。可通过聚集多个样本值(包括非相邻参考线的至少一个样本值)来计算当前块之外的左上位置处的样本值。然后,编码器/解码器使用相邻参考线的至少一些经替换的样本值来预测当前块的样本值。
图16a和16b例示了执行帧内图片预测的操作的第一方式的示例(1601,1602)。在图16a的示例(1601)中,参考线3的样本值被移向当前块(1610)并被用于替换参考线0的样本值。通过向下复制参考线3的样本值来替换参考线0的“上方”和“右上”样本值,而通过向右复制参考线3的样本值来替换参考线0的“左侧”和“左下”样本值。通过聚集(例如,平均,加权内插值)在参考线3的左上部分中的各样本值来计算参考线0的“左上”样本值。
在图16a的示例(1601)中,经选择的参考线(参考线索引3)提供参考行和参考列。在图16b的示例(1602)中,参考行和参考列来自不同的参考线。通过向下复制参考线1的样本值来替换参考线0的“上方”和“右上”样本值,而通过向右复制参考线3的样本值来替换参考线0的“左侧”和“左下”样本值。通过聚集(例如,平均,加权内插值)在参考线(列)3和参考线(行)1的左上部分中的各样本值来计算参考线0的“左上”样本值。
为了说明,图16a和16b各自示出了非相邻参考列和非相邻参考行。取决于所使用的帧内图片预测模式,帧内图片预测操作可使用单个参考线(即,行或列)或多个参考线。每个参考线都可与当前块(1610)相邻或非相邻。
第一方式与根据相邻参考线执行帧内图片预测操作的现有方式协调相对简单。相邻参考线实际上是由非相邻参考线直接替换的。在替换之后,帧内图片预测操作与针对相邻参考线的相同。此外,可在替换过程之后对参考样本值进行滤波。
另一方面,使用第一方式会损害对帧内图片预测模式信息进行译码的效率。具体地,预测角度可随着非相邻参考线移向当前块而改变,这可能改变为当前块选择的帧内图片预测模式。在典型的帧内图片预测中,预测方向往往会在块与块之间趋于均一。这允许使用最可能的模式高效地译码帧内图片预测模式。与其邻近块相比具有针对当前块的预测方向改变可能会使帧内图片预测模式的译码效率降低。第一方式的另一问题是诸如来自偏移区域中的样本值的残量补偿之类的某些特征不能被使用。
3.对非相邻参考线执行帧内图片预测操作的第二方式。
在执行帧内图片预测操作的第二方式中,非相邻参考线不被移向当前块。相反,在选择用于当前块的帧内图片预测的样本值的非相邻参考线之后,编码器/解码器使用非相邻参考线的至少一些样本值来预测当前块的样本值。帧内图片预测跨非相邻参考线和当前块之间的偏移区域。根据第二方式,帧内图片预测还可包括使用非相邻参考线的样本值来预测偏移区域的至少一些样本值。偏移区域的经预测样本值可被用于残量补偿,如下文所描述的。
图17a和17b例示了采用跨过偏移区域的非相邻参考线的样本值的帧内图片预测的示例(1701,1702)。在图17a的示例(1701)中,参考线3的样本值被用于预测跨过参考线3和当前块(1710)之间的偏移区域(1721)的当前块(1710)的样本值。偏移区域(1721)包括参考线0、1和2的经重构的样本值。对于残量补偿,可计算偏移区域(1721)的经预测样本值并将其与对应的经重构的样本值进行比较。在图17a的示例(1701)中,经选择的参考线(参考线索引3)提供参考行和参考列。在图17b的示例(1702)中,参考行和参考列来自不同的参考线。如此,图17b中的偏移区域(1722)具有与图17a中的偏移区域(1721)不同的形状。偏移区域(1722)仍然包括经重构的样本值,其可与偏移区域(1722)中的对应的经预测样本值进行比较以用于残量补偿。替代地,可跳过对偏移区域的经预测样本值的计算(例如,如果残量补偿不被使用)。
在一些示例实现中,编码器或解码器预测包括当前块的预测区域以及偏移区域的样本值。预测区域可以是矩形(或方形),宽度等于当前块的宽度加上当前块和参考列之间的偏移(如果有的话),并且高度等于当前块的高度加上当前块和参考行之间的偏移(如果有的话)。例如,假设当前块是4x4块。如果使用当前块左侧的参考线0(相邻参考列),且使用当前块上方的参考线0(相邻参考行),则预测区域是4x4块。如果使用当前块左侧的参考线1,且使用当前块上方的参考线1,则预测区域是5x5块。如果使用当前块左侧的参考线3,且使用当前块上方的参考线1,则预测区域是7x5块。在任何情况下,当前块之外的经预测样本值可被用于残量补偿。为了隔离当前块的经预测样本值,编码器或解码器可剪切预测区域。
在第二方式中,当均一帧内图片预测的区域包括多个块时,尽管用于多个块的参考线不同,但最可能的帧内图片预测模式在该区域内保持一致。这保留了帧内图片预测模式信息的有效译码,因为帧内图片预测模式不会随着块而变化。
为了说明,图17a和17b各自示出了非相邻参考列和非相邻参考行。取决于所使用的帧内图片预测模式,帧内图片预测操作可使用单个参考线(即,行或列)或多个参考线。每个参考线都可与当前块(1710)相邻或非相邻。
4.参考线指标的预测和信令化的示例。
当多个候选参考线可用于当前块的帧内图片预测时,实际用于帧内图片预测的一个或多个参考线可被信令化为位流中经编码的数据的一部分。被信令化的参考线指标的数量可取决于使用哪个帧内图片预测模式、参考线指标以哪个语句级别被信令化、以及帧内图片预测的其他特征是否被使用。
当针对参考行和参考列信令化不同的参考线指标时,对于一些帧内图片预测模式而言可跳过信令化参考线索引。例如,对于图7中的角度预测模式2-9,仅将样本值的参考列用于帧内图片预测,并且可跳过信令化参考行的参考线索引。例如,对于图7中的角度预测模式27-34,仅将样本值的参考行用于帧内图片预测,并且可跳过信令化参考列的参考线索引。然而,对于诸如DC预测模式和平面预测模式之类的非方向预测模式,或者对于图7中的角度预测模式10-26,样本值的参考行和参考列被用于帧内图片预测,并且为参考行和参考列两者信令化参考线指标。替代地,在参考行和参考列必须使用相同的参考线索引的实现中,无论帧内图片预测模式如何,都信令化参考线索引。
根据实现,可为译码单元、预测单元、变换单元或其他单元信令化参考线索引。在此情况下,参考线索引适用于单元的所有块。例如,为包括亮度块和色度块的单元信令化参考线索引,并且该参考线索引适用于该单元的所有块,其中色度块重用其搭配的亮度块的参考线索引。在其他实现中,可为给定单元的不同块信令化单独的参考线指标(例如,亮度和色度块各自具有其自己的参考线索引)。在此情况下,可为译码块、预测块、变换块、或给定单元的其他块信令化参考线索引。替代地,仅为亮度块信令化参考线索引,而对应的色度块使用默认参考线(例如,指示相邻参考样本值的参考线索引0)。
当加权预测被用于采用多个参考线的帧内图片预测时,使用不同参考线生成的经预测样本值被混合以计算当前块的经预测样本值。在此情况下,可为多个参考线信令化参考线指标。或者,可在加权预测中假设使用多个参考线中的一个或多个(例如,参考线0),使得为假设的参考线信令化参考线指标被跳过。
当参考线索引被信令化为经编码的数据的一部分时,参考线索引可由编码器进行熵译码并且由解码器进行熵解码。例如,可在二值化之后使用CABAC对参考线索引进行编码,并且在解码期间执行相应的熵解码。或者,可以以一些其他方式对参考线索引进行熵译码/解码。
参考线索引可被直接地、显式地信令化为经编码的数据的一部分。例如,用于表示参考线索引的句法元素可被译码为H.264标准或H.265标准中的参考图片索引。二进制序列0可被用于指示参考线0、二进制序列10可被用于指示参考线1、二进制序列110可被用于指示参考线2、以此类推。一般地,对于参考索引x,二进制序列包括x个1,后面跟一个零。替代地,二进制序列包括x个零,后面跟一个1。可使用CABAC或另一形式的熵译码对此类二进制序列进行熵译码,并且由解码器执行对应的熵解码。
或者,当参考线索引被信令化为经编码的数据的一部分时,参考线索引可被预测。在此情况下,编码器确定参考线指示的预测器。预测器可以是邻近块或单元(例如,左侧、上方、左上)的参考线索引。例如,使用上方块/单元的参考列索引来预测当前块/单元的参考列索引,并且使用左侧块/单元的参考行索引来预测当前块/单元的参考行索引。替代地,编码器可分别基于多个邻近块或单元的多个参考线指标来计算给定预测器。例如,预测器是多个邻近块/单元(例如,左侧、上方、右上或左上)的参考线指标的中值。替代地,预测器是默认参考线索引(例如,参考线索引0)。替代地,以一些其他方式来确定预测器。在解码期间,对应的解码器以与编码器相同的方式确定预测器。
无论预测器如何被确定,都可使用预测器标志在经编码的数据中信令化参考线索引,该预测器标志指示参考线索引是否等于预测器。可例如使用CABAC和对应的解码对预测器标志的句法元素进行熵译码/解码。在编码期间,编码器根据预测器是否被用于帧内图片预测来设置预测器标志的值。在解码期间,如果预测器标志指示参考线索引等于预测器,则解码器将预测器用于帧内图片预测。如果预测器不被用于帧内图片预测,则另一值被信令化为经编码的数据的一部分以指示参考线索引。该另一值可被熵译码/解码。该另一值可以是参考线索引的直接、显式的指示,或者它可以是差值。
无论预测器如何被确定,都可使用差值在经编码的数据中信令化参考线索引,该差值指示参考线索引和预测器之间的差。可例如使用二值化之后的CABAC和对应的解码对差值的句法元素进行熵译码/解码。在编码期间,编码器基于参考线索引和预测器之间的差来设置差值。在解码期间,解码器通过组合差值和预测器来恢复参考线索引。
作为为单个参考线索引的句法元素(例如,直接值、预测器标志、差分值)进行单独信令化的替代方案,句法元素可联合地指示参考线索引和其他信息(例如,帧内图片预测模式、加权预测的权重、滤波器判定)。具体地,当加权预测被使用时,参考线的非零权重可以隐含地指示该参考线被用于帧内图片预测。或者,单个句法元素可联合地指示多个参考线指标(例如,从可用的多个候选参考线中选择的两个或三个参考线的组合)。
在一些示例实现中,表格包括多个候选参考线中的每一个的权重。对于给定的候选参考线,权重0隐含地指示该参考线不被用于帧内图片预测。非零权重隐含地指示该参考线被用于帧内图片预测。权重的表格可被显式地信令化为经编码的数据的一部分,并且该表格可以被熵译码/解码。或者,当在编码器和解码器处定义多个表格时(例如,通过较早的操作或信令被预定义或定义),表格索引可被显式地信令化为经编码的数据的一部分。该表格索引可被熵译码/解码。预测可以使对表格指标的信令化更有效(例如,确定表格索引的预测器,并使用表格索引的预测器标志或差值)。
C.参考线滤波。
此节描述了对用于帧内图片预测的参考线的样本值进行滤波的示例。对参考样本值进行滤波可通过平滑异常值来提高当前块的帧内图片预测的有效性,异常值可能是由捕捉噪声或重构噪声而引起的。
对参考样本值进行滤波可以与本文描述的一个或多个其他创新组合使用。例如,可在加权预测和/或残量补偿之前如本节所描述的对参考样本值进行滤波。作为另一示例,如本节所描述的经滤波的参考样本值可能已经经历了先前的环内滤波。
1.滤波器的示例。
一般而言,编码器或解码器在使用参考线的样本值的帧内图片预测之前对参考线的样本值进行滤波。滤波器的形状取决于实现。图18a和18b示出了用于参考线的样本值的滤波器的示例(1801,1802)。
在图18a的示例(1801)中,使用对称的一维(“1D”)滤波器(1820)对非相邻参考线(参考线1)的样本值进行滤波。1D滤波器(1820)是具有为1、2和1的三个抽头,和为4的归一化因子的低通滤波器。经滤波的参考样本值然后被用于针对当前块(1810)的帧内图片预测。1D滤波器(1820)与参考线对齐,改变参考线内的样本值,并且仅使用参考线内的样本值。为了对参考列进行滤波,1D滤波器(1820)的内核是垂直取向的,与参考列对齐。替代地,另一1D滤波器(诸如[1 2 10 2 1]/16)可被使用。此外,1D滤波器可使用附近参考线的参考样本值与待滤波的参考线相交,而不是与待滤波的参考线对齐。
在图18b的示例(1802)中,使用对称的二维(“2D”)滤波器(1830)对非相邻参考线(参考线1)的样本值进行滤波。经滤波的参考样本值然后被用于针对当前块(1810)的帧内图片预测。2D滤波器(1830)具有五个抽头。例如,2D滤波器(1830)是具有为4的中心抽头、为1的四个其他的抽头、和为8的归一化因子的低通滤波器。替代地,抽头和归一化因子具有其他值。或者,2D滤波器具有另一形状的内核。例如,2D滤波器具有包含九个抽头的3x3内核(例如,为8的中心抽头、为1的其他抽头和为16的归一化因子;或者,为4的中心抽头、为1的角抽头、为2的边抽头和为16的归一化因子)。2D滤波器(1830)与参考线对齐并且仅改变参考线内的样本值,但2D滤波器(1830)使用参考线外的参考样本值。在图18b中,2D滤波器(1830)使用两个附近参考线中的参考样本值。
更一般地,用于滤波参考样本值的滤波器可具有1D内核或2D内核。2D内核的形状可以是十字形,3x3窗口或其他形状。通常地,中心抽头具有最高的权重值。滤波器可具有使其不对称或对称的滤波器抽头。例如,在中心抽头之外,非对称滤波器具有更接近当前块的更高的滤波器抽头。或者,滤波器抽头可根据哪个参考线被滤波而变化(例如,与其他参考线相比更积极地滤波一些参考线)。或者,滤波器抽头可取决于在经编码的数据中被信令化的信息而变化。
2.滤波规则的示例。
在一些示例实现中,为所有参考样本值自动执行对参考样本值的滤波。
替代地,通过规则选择性地应用对参考样本值的滤波。例如,对参考样本值的滤波被应用于一些预测方向,但不被应用于其他预测方向。或者,对参考样本值的滤波被应用于一些块大小,但不被应用于其他块大小。或者,对参考样本值的滤波可取决于包括预测方向和块大小在内的各因子的组合。
替换地,以与被信令化为经编码的数据的一部分的判定信息一致的方式选择性地应用对参考样本值的滤波。例如,编码器在参考线的样本值被滤波时评估结果,并在参考线的样本值未被滤波时评估结果。编码器信令化指示解码器是否应该对参考线进行滤波的判定信息。例如,判定信息可以与参考线索引联合地被信令化,或与单独的句法元素一起被信令化。相应的解码器执行对参考样本值的滤波,或跳过此类滤波,如判定信息所指示的。除了信令化针对滤波的开/关判定之外,编码器可信令化指定待使用的滤波器的参数(例如,内核形状、滤波器抽头)。
取决于实现,经滤波的参考线可替换未经滤波的参考线,或者提供未经滤波的参考线的替代方案。如果它提供替代方案,则经滤波的参考线可用与未经滤波的参考线不同的参考线索引来标识。或者,经滤波的参考线用在位流中被信令化的标志来定名,该标志指示给定的参考线是否被滤波。
3.在编码或解码期间滤波的示例。
图19例示了用于在对当前块进行编码或解码期间对参考线的样本值进行滤波的通用技术(1900)。诸如图3的视频编码器(340)、另一视频编码器或图像编码器之类的编码器可执行技术(1900),例如,在参考图14描述的编码(1420)期间。或者,诸如图5的视频解码器(550)、另一视频解码器或图像解码器之类的解码器可执行技术(1900),例如,在参考图15描述的解码(1520)期间。
编码器或解码器选择(1910)当前块之外的各样本值的多个候选参考线中的一个。多个候选参考线包括样本值的至少一个非相邻参考线。经选择的参考线可以是相邻参考线或非相邻参考线。
编码器或解码器对样本值的经选择的参考线进行滤波(1920)。滤波可使用具有覆盖经选择的参考线内的多个样本值的内核的1D滤波器或具有跨过经选择的参考线的内核的1D滤波器。1D滤波器可以有三个抽头、五个抽头或一些其他数量的抽头。或者,滤波可使用具有覆盖经选择的参考线的多个样本值和经选择的参考线旁边的一个或多个参考线中的每一者的一个或多个样本值的内核的2D滤波器。2D滤波器可具有十字形内核、方形内核或一些其他形状。2D滤波器可以有五个抽头、九个抽头或一些其他数量的抽头。如果被内核覆盖的任何位置是当前块的一部分,则滤波可忽略这些位置并相应地改变归一化因子。
编码器或解码器可对当前块的帧内图片预测中待使用的任何其他参考线重复此技术(1900)。
位流中经编码的数据可包括指示是否将(例如,对当前块、对包括当前块的单元、对给定的参考线)执行滤波的滤波标志。编码器可设置滤波标志。解码器至少部分地基于滤波标记可决定是否执行对经选择的参考线的滤波。可以序列(例如,在SPS中)、图片(例如,在PPS中)、片(例如,在片报头中)、译码单元、译码块、预测单元、预测块、变换单元或变换块的句法级别,或以一些其他句法级别在位流中信令化滤波标志。滤波标志可用单独的句法元素被信令化,或滤波标志可用其他信息(例如,参考线索引)被联合地信令化。
编码器和解码器还可至少部分地基于一个或多个因子来决定执行滤波。(一个或多个)因子可包括当前块的帧内图片预测模式和当前块的块大小。例如,如果当前块低于特定大小(例如,16x16或更小)并且预测方向是垂直的或水平的,则参考样本值可被滤波。
在一些先前的编解码器标准和格式中,相邻参考线的样本值可被滤波。例如,对于一些预测方向和块大小,低通滤波器[1 2 1]/4可被应用于相邻参考线的样本值。相反,根据本节中描述的前述方式,非相邻参考线的样本值可被滤波。此外,即使在相邻参考线中,对参考样本值的滤波也可使用非相邻参考样本值。
D.残量补偿。
该节描述了结合帧内图片预测执行的残量补偿的示例。作为残量补偿的一部分,对于当前块的给定位置处的经预测样本值,编码器或解码器计算残量值并使用残量值来调整当前块中给定位置处的经预测样本值。残量值基于经重构的样本值与当前块之外的偏移区域中给定位置处的经预测样本值之间的差。残量补偿可通过基于相邻偏移区域中的帧内图片预测的结果调整当前块的经预测样本值来提高当前块的帧内图片预测的有效性。
残量补偿可以与本文描述的一种或多种其他创新组合使用。例如,可在残量补偿之后执行加权预测,或者可在残量补偿之前执行加权预测。残量补偿可使用经滤波的参考样本值。残量补偿可使用已被环内滤波的参考样本值。用于残量补偿的参考样本值可包括使用依赖于模式的填充导出的经填充的样本值。后滤波可在残量补偿之后被应用于经预测样本值。
1.残量补偿操作的示例。
图17a和17b例示了帧内图片预测操作的示例(1701,1702),其中可在非相邻参考线和当前块(1710)之间的偏移区域(1721,1722)中预测样本值。假设当前块(1710)不在图片的边界处,偏移区域(1721,1722)还包括其他参考线的先前经重构的样本值。沿着预测方向,在偏移区域中经重构的样本值和对应的经预测样本值之间的差倾向于指示沿着该预测方向对当前块的经预测样本值的适当校正。残量补偿使用来自偏移区域的差或残量值来调整当前块的经预测样本值。
图20a-20l例示了帧内图片预测期间的残量补偿的示例。除了当前块(2010)的经预测样本值和一个或多个参考线的参考样本值之外,图20a-20l还示出了参考样本值与偏移区域的对应经预测样本值之间的残量值。在图20a-20l的示例中,当前块(2010)的位置B处的经预测样本值被计算为:predB=predB+weight×(refA-predA),其中因子weight×(refA-predA)归因于残量补偿。偏移区域中位置A处的残量值(“差”)表示位置A处的经重构参考样本值refA与位置A处的经预测样本值predA之间的差。应用于残量值的权重在不同方式中是不同的,但通常取决于一些因子,包括当前块(2010)中的位置B的位置、帧内图片预测方向、以及当前块(2010)的块大小。一般而言,当前块(2010)的位置越接近用于残量补偿的参考线则权重越大,并且当前块(2010)的位置越远离用于残量补偿的参考线则权重越小。此外,块越大,则通过残量补偿调整的位置的数量越大。在一些示例实现中,越接近纯水平预测或纯垂直预测的预测方向的权重越大,并且越接近纯对角线预测(例如,45度)的预测方向的权重越弱。
a.残量补偿的第一方式。
图20a示出了根据第一方式,当对当前块(2010)的经预测样本值执行垂直帧内图片预测时水平残量补偿的示例(2001)。如图20a所示,帧内图片预测的方向(垂直)与残量补偿的方向(水平)正交。在图20a的示例(2001)中应用于残量补偿的权重取决于当前块(2010)中的位置和当前块(2010)的大小。通常地,权重从当前块(2010)的左侧至当前块(2010)的右侧减小。例如,作为4x4块,当前块(2010)的左列的位置的权重为3/4、第二列的位置的权重为1/2、第三列的位置的权重为1/4、当前块(2010)的右列的位置的权重为0。替换地,权重可具有其他值(例如,各列为1、3/4、1/2和1/4)。对于较大的块(例如,8x8、16x16),权重可类似地以均一的增量逐列降低(例如,对8x8块为1/8、对16x16块为1/16)。
类似地,图20b示出了根据第一方式,当对当前块(2010)的经预测样本值执行水平帧内图片预测时垂直水平残量补偿的示例(2002)。如图20b所示,帧内图片预测的方向(水平)与残量补偿的方向(垂直)正交。在图20b的示例(2002)中应用于残量补偿的权重取决于当前块(2010)中的位置和当前块(2010)的大小。通常地,权重从当前块(2010)的顶部至当前块(2010)的底部减小。例如,作为4x4块,当前块(2010)的顶部行的位置的权重为3/4、第二行的位置的权重为1/2、第三行的位置的权重为1/4、当前块(2010)的底部行的位置的权重为0。替换地,权重可具有其他值(例如,各行为1、3/4、1/2和1/4)。对于较大的块(例如,8x8、16x16),权重可类似地以均一的增量逐行降低(例如,对8x8块为1/8、对16x16块为1/16)。
图20c示出了根据第一方式,当对当前块(2010)的经预测样本值执行DC或平面帧内图片预测时残量补偿的示例(2003)。如图20c所示,从左上角到右下角对当前块(2010)的对角线以下的位置执行水平残量补偿。对于当前块(2010)的对角线以下的位置B,经预测样本值predB被计算为:predB=predB+weight×(refA-predA)。对于当前块(2010)的对角线以上的位置执行垂直残量补偿。对于当前块(2010)的对角线以上的位置B',经预测样本值predB'被计算为:predB'=predB'+weight×(refA'-predA')。对于当前块(2010)的所有位置,权重是weight=(num_filtered-k)/num_lines,其中k表示用于水平残量补偿的当前块(2010)中的位置的列索引或用于垂直残量补偿的当前块(2010)中的位置的行索引,num_filtered是通过残量补偿调整的当前块(2010)的线数,而num_lines是当前块(2010)的线数。例如,对于4x4块,num_filtered为3,且num_lines为4。或者,对于8x8块,num_filtered为7,且num_lines为8。k的值范围从0到num_filtered。因此,最左列(列0,当k=0时)或最顶行(行0,当k=0时)的权重最高。随着k增加,在当前块(2010)中向右或向下移动位置,权重降低。替代地,权重可具有其他值。
在第一方式(图20a-20c)中,残量补偿不被用于其他预测模式。
b.残量补偿的第二方式。
图20d示出了根据第二方式,当对当前块(2010)的经预测样本值执行DC或平面帧内图片预测时残量补偿的示例(2004)。除了当前块(2010)的左上角处的位置之外,图20d的示例(2004)与图20c的示例(2003)相同。如图20d所示,对当前块(2010)的左上四分之一的位置执行水平残量补偿和垂直残量补偿。对于当前块(2010)的左上四分之一的位置B”,经预测样本值predB”为:predB”=predB”+weightH×(refA”-predA”)+weightW×(refA”'-predA”')。权重weightH和weightW可以与图20c的示例(2003)中定义的权重相同,或者它们可以是图20c的示例(2003)中定义的权重的一半。替代地,权重可具有其他值。
图20e示出了根据第二方式,当对当前块(2010)的经预测样本值执行(来自图7的)模式2-17之一的角度帧内图片预测时残量补偿的示例(2005)。模式2-17的预测方向至少一般是水平的。残量补偿至少一般是垂直的。如图20e所示,帧内图片预测的方向与残量补偿的方向正交。在图20e的示例(2005)中应用于残量补偿的权重取决于当前块(2010)中的位置和当前块(2010)的大小。具体地,权重被计算为:weight=(13-abs(dir_mode-HOR_IDX))×(num_filtered-k)/64,其中k表示当前块(2010)中的位置的行索引,且num_filtered是通过残量补偿调整的当前块(2010)的线数。例如,对于4x4块,num_filtered的值为2或3。如果当前块(2010)越大,则num_filtered的值可以就越大,并且与分母(64)成比例地增加。k的值范围从0到num_filtered。值dir_mode指示帧内图片预测的模式(对图20e而言在2…17的范围内),且值HOR_IDX是水平预测的模式(在图7中为10)。因子(13-abs(dir_mode-HOR_IDX))使得水平预测的权重更高,而远离水平预测的预测方向的权重更低。替代地,权重可具有其他值。
位置A可位于整数样本偏移处,但也可水平地位于分数样本偏移处。在此情况下,位置A处的经预测样本值和经重构的参考样本值各自被内插。例如,在包括位置A的参考行的两个最近样本值之间使用双线性滤波对位置A处的参考样本值进行内插,以及在用于帧内图片预测的参考列的适当样本值之间使用双线性滤波对位置A处的经预测样本值进行内插(即,在距离预测方向的投射通过位置A与参考列相交处最近的两个参考样本值之间)。(在一些情况下,位置A可能位于用于帧内图片预测的参考列“之后”,但仍可为位置A确定经预测样本值和参考样本值。)
图20f示出了根据第二方式,当对当前块(2010)的经预测样本值执行(来自图7的)模式18的角度帧内图片预测时残量补偿的示例(2006)。在图20f的示例(2006)中,对于穿过当前块(2010)的从左上角行进到右下角的对角线上方的当前块(2010)的位置,垂直残量补偿如图20e中的示例(2005)中那样执行。对于穿过当前块(2010)的对角线下方的当前块(2010)的位置,水平残量补偿如图20g中的示例(2007)中那样执行。
图20g示出了根据第二方式,当对当前块(2010)的经预测样本值执行(来自图7的)模式19-34之一的角度帧内图片预测时残量补偿的示例(2007)。模式19-34的预测方向至少一般是垂直的。残量补偿至少一般是水平的。如图20g所示,帧内图片预测的方向与残量补偿的方向正交。在图20g的示例(2007)中应用于残量补偿的权重取决于当前块(2010)中的位置和当前块(2010)的大小。具体地,权重被计算为:weight=(13-abs(dir_mode-VER_IDX))×(num_filtered-k)/64,其中k表示当前块(2010)中的位置的列索引,且num_filtered是通过残量补偿调整的当前块(2010)的线数。例如,对于4x4块,num_filtered的值为2或3。如果当前块(2010)越大,则num_filtered的值可以就越大,并且与分母(64)成比例地增加。k的值范围从0到num_filtered。值dir_mode指示帧内图片预测的模式(对图20g而言在19…34的范围内),且值VER_IDX是垂直预测的模式(在图7中为26)。因子(13-abs(dir_mode-VER_IDX))使得垂直预测的权重更高,而远离垂直预测的预测方向的权重更低。替代地,权重可具有其他值。
位置A可位于整数样本偏移处,但也可垂直地位于分数样本偏移处。在此情况下,位置A处的经预测样本值和经重构的参考样本值各自被内插。例如,在包括位置A的参考列的两个最近样本值之间使用双线性滤波对位置A处的参考样本值进行内插,以及在用于帧内图片预测的参考行的适当样本值之间使用双线性滤波对位置A处的经预测样本值进行内插(即,在距离预测方向的投射通过位置A与参考行相交处最近的两个参考样本值之间)。(在一些情况下,位置A可能位于用于帧内图片预测的参考行之上,但仍可为位置A确定经预测样本值和参考样本值。)
c.残量补偿的第三方式。
图20h-20l示出了根据第三方式的残量补偿。在第三方法中,DC预测模式或平面预测模式的残量补偿与第二方式中的相同。然而,对于许多帧内图片预测模式,残量补偿的方向不再与预测方向正交。相反,残量补偿的方向是纯水平或垂直的,或者与预测方向平行。
图20h示出了根据第三方式,当对当前块(2010)的经预测样本值执行(来自图7的)模式2-6之一的角度帧内图片预测时残量补偿的示例(2008)。如图20h所示,帧内图片预测的方向与残量补偿的方向平行,但是方向相反(反向)。在图20h的示例(2008)中应用于残量补偿的权重取决于当前块(2010)中的位置和当前块(2010)的大小。具体地,权重被计算为:weight=(8-dir_mode)×(num_filtered-k)/32,其中k表示当前块(2010)中的位置的行索引,且num_filtered是通过残量补偿调整的当前块(2010)的线数。例如,对于4x4块,num_filtered的值为2或3。如果当前块(2010)越大,则num_filtered的值就可以越大,并且与分母(32)成比例地增加。k的值范围从0到num_filtered。值dir_mode指示帧内图片预测的模式(对图20h而言在2…6的范围内)。因子(8-dir_mode)使得更接近水平预测的预测的权重更高,而更远离水平预测的预测的权重更低。替代地,权重可具有其他值。
位置A可位于整数样本偏移处,但也可水平地位于分数样本偏移处。在此情况下,位置A处的经预测样本值和经重构的参考样本值各自被内插。例如,在包括位置A的参考行的两个最近样本值之间使用双线性滤波对位置A处的参考样本值进行内插,以及在用于帧内图片预测的参考列的适当样本值之间使用双线性滤波对位置A处的经预测样本值进行内插(即,在距离预测方向的投射通过位置A与参考列相交处最近的两个参考样本值之间)。
图20i示出了根据第三方式,当对当前块(2010)的经预测样本值执行(来自图7的)模式7-13之一的角度帧内图片预测时残量补偿的示例(2009)。如图20i所示,帧内图片预测的方向至少一般是水平的,而残量补偿的方向“拟合(snap)”到纯垂直预测。在图20i的示例(2009)中应用于残量补偿的权重与在图20e的示例(2005)中应用的权重相同。
图20j示出了根据第三方式,当对当前块(2010)的经预测样本值执行(来自图7的)模式14-22之一的角度帧内图片预测时残量补偿的示例(2010)。如图20j所示,帧内图片预测的方向与残量补偿的方向平行,并且方向相同。在图20h的示例(2010)中应用于残量补偿的权重取决于当前块(2010)中的位置和当前块(2010)的大小。具体地,权重被计算为:weight=(num_filtered-k)/4,其中k表示当前块(2010)中的位置的列索引与行索引之间较低的索引,且num_filtered是通过残量补偿调整的当前块(2010)的线数。例如,对于4x4块,num_filtered的值为2或3。如果当前块(2010)越大,则num_filtered的值就可以越大,并且与分母(4)成比例地增加。k的值范围从0到num_filtered。替代地,权重可具有其他值。
位置A可位于整数样本偏移处,但也可垂直地(或水平地)位于分数样本偏移处。在此情况下,位置A处的经预测样本值和经重构的参考样本值各自被内插。例如,在包括位置A的参考列的两个最近样本值之间使用双线性滤波对位置A处的参考样本值进行内插,以及在用于帧内图片预测的参考列的适当样本值之间使用双线性滤波对位置A处的经预测样本值进行内插(即,在距离预测方向与参考列相交处最近的两个参考样本值之间)。或者,在包括位置A的参考行的两个最近样本值之间使用双线性滤波对位置A处的参考样本值进行内插,以及在用于帧内图片预测的参考行的适当样本值之间使用双线性滤波对位置A处的经预测样本值进行内插(即,在距离预测方向的投射通过位置A与参考行相交处最近的两个参考样本值之间)。
图20k示出了根据第三方式,当对当前块(2010)的经预测样本值执行(来自图7的)模式23-29之一的角度帧内图片预测时残量补偿的示例(2011)。如图20k所示,帧内图片预测的方向至少一般是垂直的,而残量补偿的方向“拟合”到纯水平预测。在图20k的示例(2011)中应用于残量补偿的权重与在图20g的示例(2007)中应用的权重相同。
图20l示出了根据第三方式,当对当前块(2010)的经预测样本值执行(来自图7的)模式30-34之一的角度帧内图片预测时残量补偿的示例(2012)。如图20l所示,帧内图片预测的方向与残量补偿的方向平行,但是方向相反(反向)。在图20l的示例(2012)中应用于残量补偿的权重取决于当前块(2010)中的位置和当前块(2010)的大小。具体地,权重被计算为:weight=(dir_mode-28)×(num_filtered-k)/32,其中k表示当前块(2010)中的位置的列索引,且num_filtered是通过残量补偿调整的当前块(2010)的线数。例如,对于4x4块,num_filtered的值为2或3。如果当前块(2010)越,则num_filtered的值就可以越大,并且与分母(32)成比例地增加。k的值范围从0到num_filtered。值dir_mode指示帧内图片预测的模式(对图20l而言在30…34的范围内)。因子(dir_mode-28)使得更接近垂直预测的预测的权重更高,而更远离垂直预测的预测的权重更低。替代地,权重可具有其他值。
位置A可位于整数样本偏移处,但也可垂直地位于分数样本偏移处。在此情况下,位置A处的经预测样本值和经重构的参考样本值各自被内插。例如,在包括位置A的参考列的两个最近样本值之间使用双线性滤波对位置A处的参考样本值进行内插,以及在用于帧内图片预测的参考行的适当样本值之间使用双线性滤波对位置A处的经预测样本值进行内插(即,在距离预测方向的投射通过位置A与参考行相交处最近的两个参考样本值之间)。
在图20a-20l的示例中,残量值的位置A(或A',A”,或A”')在相邻参考线(参考线0)中。替代地,残量值的位置A(或A',A”,或A”')可以在非相邻参考线中(但仍然沿着残量补偿的适当方向)。例如,残量值的位置A(或A',A”,或A”')可以在最接近用于帧内图片预测的参考线的参考线中。或者,残量值的位置A(或A',A”,或A”')可以在最接近在当前块(2010)和用于帧内图片预测的参考线之间的中点的参考线中。替代地,位置A(或A',A”,或A”')可位于沿着残量补偿的方向的某个其他位置。根据需要,可以使用在整数样本偏移处的相邻参考样本值之间的水平和/或垂直的双线性内插值来计算位置A(或A',A”,或A”')处的参考样本值和内插样本值。此外,残量补偿可在偏移区域中的不同位置处使用多个残量值,其中不同的残量值获得不同的权重或相同的权重。
2.在编码或解码期间残量补偿的示例。
图21示出了用于编码的通用技术(2100),其包括采用残量补偿的帧内图片预测。诸如图3的视频编码器(340)、另一视频编码器或图像编码器之类的编码器可执行技术(2100)。
编码器接收(2110)图片,编码(2120)该图片以产生经编码的数据,并将经编码的数据作为位流的一部分来输出(2130)。作为编码(2120)的一部分,编码器对图片中的当前样本值块执行帧内图片预测。样本值的非相邻参考线可用于帧内图片预测。当编码器对当前块执行帧内图片预测时,该编码器执行残量补偿。
编码器检查(2140)是否继续下一图片。如果是,则编码器接收(2110)并编码(2120)该下一图片。
图22示出了用于解码的通用技术(2200),其包括采用残量补偿的帧内图片预测。诸如图5的视频解码器(550)、另一视频解码器或图像解码器之类的解码器可执行技术(2200)。
解码器接收(2210)经编码的数据作为位流的一部分,解码(2220)经编码的数据以重构图片,并输出(2230)经重构的图片。作为解码的一部分,解码器对图片中的当前样本值块执行帧内图片预测。样本值的非相邻参考线可用于帧内图片预测。当解码器对当前块执行帧内图片预测时,该解码器执行残量补偿。
解码器检查(2240)是否继续下一图片。如果是,则解码器接收(2210)下一图片的经编码的数据并解码(2220)下一图片的经编码的数据。
在编码(2120)或解码(2220)期间执行的残量补偿可包括各种操作。例如,对于当前块中给定位置处的经预测样本值,编码器或解码器计算(当前块之外的)偏移区域中给定位置处的残量值。残量值基于偏移区域中给定位置处的经预测样本值与偏移区域中给定位置处的经重构的样本值之间的差。偏移区域中的位置的示例在图20a-20l中示出。
偏移区域中的给定位置可具有水平整数样本偏移和垂直整数样本偏移。在此情况下,偏移区域中给定位置处的经预测样本值和经重构的样本值是先前样本值。或者,偏移区域中的给定位置可以具有水平和/或垂直的分数样本偏移。在此情况下,偏移区域中给定位置处的经预测样本值和经重构的样本值是经内插的值。
编码器/解码器使用残量值来调整当前块中给定位置处的经预测样本值。编码器/解码器可将权重应用于残量值,从而产生被用于调整当前块中给定位置处的经预测样本值的加权残量值。应用的权重可取决于各因素,诸如当前块中的给定位置、使用残量补偿处理的当前块的样本值的线数、以及当前块的帧内图片预测的预测方向,如参考图20a-20l的示例所解释的。替代地,权重取决于其他和/或附加因素。
对于方向预测模式,当前块中给定位置处的经预测样本值的帧内图片预测遵循预测方向。残量补偿遵循从偏移区域中的给定位置到当前块中的给定位置的残量补偿方向。在一些情况下,残量补偿方向与预测方向正交(参见例如图20a、20b、20e-20g)。在其他情况下,残量补偿方向与预测方向相反(参见例如图20h、20l)。在又一情况下,残量补偿方向与预测方向对齐(参见,例如,图20j),或残量补偿方向“拟合”到接近与预测方向正交的纯水平或纯垂直方向(参见,例如,图20i,20k)。
对于非方向预测模式,残量补偿可包括不同的操作。例如,对于当前块的给定位置处的经预测样本值,编码器/解码器计算(当前块之外的)偏移区域中第一位置处的第一残量值。第一残量值基于经预测样本值与偏移区域中第一位置处的经重构的样本值之间的差。编码器/解码器还计算偏移区域中第二位置处的第二残量值。第二残量值基于经预测样本值与偏移区域中第二定位处的重构样本值之间的差。编码器/解码器使用第一和第二残量值来调整当前块中给定位置处的经预测样本值(参见例如图20d)。
D.加权预测。
该节描述了在采用多个参考线的帧内图片预测期间的加权预测的示例。加权预测可通过混合使用不同参考线生成的经预测样本值来提高当前块的帧内图片预测的有效性。
加权预测可以与本文描述的一个或多个其他创新组合使用。例如,加权预测可在残量补偿(例如,对中间经预测样本值执行的残量补偿)之后执行,或者加权预测可在残量补偿(例如,对最终加权样本值执行的残量补偿)之前执行。加权预测可使用经滤波的参考样本值。加权预测可使用已被环内滤波的参考样本值。用于加权预测的参考样本值可包括使用依赖于模式的填充导出的经填充的样本值。后滤波可被应用于中间经预测样本值、被应用于加权样本值(在组合之前)、和/或最终加权样本值。
1.加权预测的示例。
图23示出了在采用多个参考线的帧内图片预测期间的加权预测的示例(2300)。在图23中,来自相邻参考列和非相邻参考列的参考样本值被用于预测当前块(2310)的样本值。使用非相邻列(参考线3)的参考样本值的帧内图片预测生成第一中间经预测样本值集(2311)。使用相邻列(参考线0)的参考样本值的帧内图片预测生成第二中间经预测样本值集(2312)。来自不同参考线的帧内图片预测可具有相同的预测模式(例如,相同的预测方向、或相同的非方向预测模式)或不同的预测模式(例如,不同的预测方向、或不同的非方向预测模式、或不同的方向和非方向预测模式的混合)。
权重(2321)被应用于第一中间经预测样本值集(2311),其产生第一加权样本值集(2331)。另一权重(2322)被应用于第二中间经预测样本值集(2312),其产生第二加权样本值集(2332)。可以以各种方式指定各个参考线的权重,如下文所解释的。
组合不同的加权样本值集以产生当前块(2310)的最终经预测样本值(2340)。例如,针对当前块(2310)中的各个位置在逐位置的基础上添加加权样本值。
尽管图23示出了用于加权预测的两个参考线,但是加权预测可使用更多参考线(例如,3,4,5)。此外,尽管图23示出了使用多个参考列的加权预测,但是加权预测可替代地使用多个参考行或参考列和行的混合。对于一些帧内预测模式,使用来自参考列的参考样本值和来自参考行的参考样本值生成经预测样本值,以生成单个中间经预测样本值集。相反,加权预测涉及加权和组合不同的中间经预测样本值集。
2.权重信令化的示例。
在加权预测中使用的不同参考线可用参考线指标来标识,该参考线指标用被信令化为位流中经编码的数据的一部分。替换地,可以预定义加权预测中使用的一个或多个参考线。例如,加权预测可使用两个参考线:非相邻参考线(由在位流中被信令化的参考线索引标识)和相邻参考线(它总是被使用,并因此未用参考线索引标识)。替换地,除了一个或多个被信令化的参考线之外,加权预测可使用一些其他预定义的参考线,或者加权预测可使用多个预定义的参考线。
在为加权预测指定权重的一种方式中,加权预测中使用的权重是固定的(并因此未被信令化为位流中经编码的数据的一部分)。例如,加权预测总是使用具有固定权重的两个参考线:具有3/4权重的非相邻参考线和具有1/4权重的相邻参考线。替换地,加权预测对两个参考线使用不同的、预定义的权重,或者使用具有预定义的权重的更多参考线。预定义的权重可取决于规则(例如,非相邻参考线与当前块之间的距离)。
在为加权预测指定权重的另一方式中,加权预测中使用的权重被信令化为位流中经编码的数据的一部分。这为编码器提供了在不同情况下(例如,与相邻参考线一起使用的不同非相邻参考线、非相邻参考线的不同组合)设置不同权重的灵活性。例如,为加权预测中使用的每个参考线信令化一个权重。不论参考线指标在何处被信令化,可以以块级别或单元级别信令化不同的权重。当n个权重加起来达某个经定义的量(例如,1)时,n个权重可以用n-1个值被信令化,因为当n个权重被组合以满足经定义的量时,最后的权重必须是剩余的权重。在一些示例实现中,使用基于表的方式来指定用于加权预测的权重。权重表是用于加权预测的权重集。权重表包括用于加权预测的参考线的权重(例如,每个参考线的非零权重)。权重表可明确地被信令化为(例如,块或单元的)位流中经编码的数据的一部分。或者,多个权重表可被存储在编码器或解码器处(例如,预定义的权重表、或以更高句法级别被信令化的权重表,诸如SPS中的序列级别、PPS中的图片级别、或片报头中的片级别或相关联的句法结构)。在此情况下,以块级别或单元级别被信令化的表索引标识用于加权预测的权重表中的一者。权重表可以包括与特定的、经定义的参考线组合相关联的权重集,从而隐含地标识参考线。或者,权重表可以包括与n个参考线的任何组合相关联的n个权重的集合,n个参考线被分别标识。当n个权重加起来达某个经定义的量(例如,1)时,表中的n个权重可以用n-1个值指定。
例如,编码器和解码器为三个参考线的组合存储四个不同的权重表。四个权重表是:{3/4,3/16,1/16}、{1/4,5/8,1/8}、{3/16,1/8,11/16}、和{3/8,5/16,5/16}。为0、1、2或3的表索引指示将(例如,对块或单元)使用哪个权重表。该表格索引可被熵译码/解码。
在前述权重表的各示例中,权重表仅包括非零权重——即,在加权预测中使用的每个参考线的非零权重。替代地,权重表可包括每个候选参考线的权重,包括在候选参考线未用于加权预测的情况下针对该候选参考线的零权重。
在前述加权预测的示例中,为当前块的参考线指定权重。对于给定的参考线,相同的权重被应用于使用该参考线生成的所有的经预测样本值。替代地,加权预测使用更细粒度的权重。例如,对于给定的参考线,可为当前块的不同位置指定不同的权重。因位置而异的权重可以是预定义的(固定的),或被信令化为位流中经编码的数据的一部分(灵活的或基于表的)。或者,因位置而异的权重可通过始于以较高级别(例如,块级别、单元级别)确定的权重的规则来确定,或者它们可由被信令化为当前块或单位的位流中经编码的数据的一部分的模式信息来指示(例如,当前块的左半部分使用来自第一参考线的经预测样本值,而当前块的右半部分使用来自第二参考线的经预测样本值)。例如,这种灵活性允许从一个参考线(或主要是一个参考线)预测当前块的一些位置处的样本值,而当前块的其他位置处的样本值是从另一个参考线(或主要是另一个参考线)预测的。
3.编码和解码期间加权预测的示例。
图24示出了用于编码的通用技术(2400),其包括采用加权预测的帧内图片预测。诸如图3的视频编码器(340)、另一视频编码器或图像编码器之类的编码器可执行技术(2400)。
编码器接收(2410)图片,编码(2420)该图片以产生经编码的数据,并将经编码的数据作为位流的一部分来输出(2430)。作为编码(2420)的一部分,编码器对图片中的当前样本值块执行帧内图片预测。样本值的非相邻参考线可用于帧内图片预测。当编码器对当前块执行帧内图片预测时,该编码器使用多个样本值参考线来执行当前块的样本值的加权预测。多个参考线包括样本值的至少一个非相邻参考线。
编码器检查(2440)是否继续下一图片。如果是,则编码器接收(2410)并编码(2420)该下一图片。
图25示出了用于解码的通用技术(2500),其包括采用加权预测的帧内图片预测。诸如图5的视频解码器(550)、另一视频解码器或图像解码器之类的解码器可执行技术(2500)。
解码器接收(2510)经编码的数据作为位流的一部分,解码(2520)经编码的数据以重构图片,并输出(2530)经重构的图片。作为解码的一部分,解码器对图片中的当前样本值块执行帧内图片预测。样本值的非相邻参考线可用于帧内图片预测。当解码器对当前块执行帧内图片预测时,该解码器使用多个样本值参考线来执行当前块的样本值的加权预测。多个参考线包括样本值的至少一个非相邻参考线。
解码器检查(2540)是否继续下一图片。如果是,则解码器接收(2510)下一图片的经编码的数据并解码(2520)下一图片的经编码的数据。
在编码(2420)或解码(2520)期间执行的加权预测可包括各种操作。例如,对于当前块中的给定位置,编码器或解码器对多个参考线中的每一者执行操作。具体地,编码器/解码器使用参考线的至少一个样本值在给定位置处生成中间经预测样本值,并将权重应用于该中间经预测样本值以在给定位置处产生加权样本值。编码器/解码器可生成中间经预测样本值,并对当前块的所有样本值在逐参考线的基础上应用权重(参见图26)。编码器/解码器组合给定位置处的加权样本值以在当前块中的给定位置处产生最终经预测样本值。
图26示出了在采用当前块的多个参考线的帧内图片预测期间的加权预测的示例技术(2600)。示例技术可在图24的编码(2420)期间由编码器执行,或者在图25的解码(2520)期间由解码器执行。
编码器或解码器选择(2610)当前块之外的各样本值的多个候选参考线中的一个。多个候选参考线包括样本值的至少一个非相邻参考线。编码器或解码器使用经选择的参考线生成(2620)当前块的中间经预测样本值,并将参考线的权重应用(2630)于该中间经预测样本值。这会产生加权样本值。编码器或解码器检查(2640)是否继续多个候选参考线中的另一个。如果是,则编码器或解码器选择(2610)多个候选参考线中的下一个。在为将在帧内图片预测中使用的多个候选参考线中的每一个产生加权样本值之后,编码器或解码器组合(2650)用于帧内图片预测的各个参考线的加权样本值。
编码器或解码器可对图片的其他块重复该技术(2600)。
在加权预测中,用于帧内图片预测的多个参考线中的每一个都可具有与该参考线相关联的权重。各个参考线的权重可被信令化为位流中经编码的数据的一部分。或者,多个线的权重可以是预定义的(并因此不被信令化为位流中经编码的数据的一部分)。例如,如果用于帧内图片预测的多个参考线包括非相邻参考线(由参考线索引标识)和相邻参考线(假设),则用于加权预测的预定义权重可被使用(例如,3/4和1/4,或1/2和1/2)。用于帧内图片预测的多个参考线的权重可以以当前块的块级别定义。替换地,可为当前块的各个样本值定义用于帧内图片预测的多个参考线的权重。
替换地,权重表可包括用于帧内图片预测的多个参考线的权重,或者所有多个候选参考线的权重,无论其是否被用于帧内图片预测。例如,权重表包括用于帧内图片预测的多个参考线中的每一个的非零权重。权重表还可包括多个候选参考线的任何其他参考线的零权重。权重表可被信令化为位流中经编码的数据的一部分。或者,权重表的标识符可被信令化为经编码的数据的一部分,引用编码器和解码器处可用的多个权重表中的一个。
各个参考线的帧内图片预测可使用(例如,以块级别或单元级别为当前块指定的)相同的帧内图片预测模式。替代地,可为用于帧内图片预测的多个参考线中的每一个指定单独的帧内图片预测模式。在此情况下,针对当前块的不同参考线的帧内图片预测可使用不同的帧内图片预测模式。
E.用于替换不可用的参考样本值的依赖于模式的填充。
当执行帧内图片预测时,参考样本值可能不可用,因为它们位于图片边界或片边界之外。或者,参考样本值可能不可用,因为它们是尚未编码/解码/重构的块的一部分。或者,在一些示例实现中,邻近帧间编码块中的样本值可能不可用作参考样本值(例如,如果帧内图片预测被约束为仅使用来自帧内编码块的参考样本值——所谓的“受约束的帧内图片预测”)。在一些先前的编解码器标准中,参考线中不可用的参考样本值可通过重复该参考线中最后一个可用的参考样本值来替换。这可被称为水平重复填充或垂直重复填充。
本节描述了用于替换针对帧内图片预测的不可用的参考样本值的依赖于模式的填充的各示例。与参考线内的样本值的简单填充相比,依赖于模式的填充可产生经填充的样本值,从而提供更有效的帧内图片预测。
用于替换不可用的参考样本值的依赖于模式的填充可以与本文描述的一个或多个其他创新组合使用。例如,可在残量补偿和/或加权预测之前执行本节中描述的依赖于模式的填充。
1.依赖于模式的填充的示例。
利用依赖于模式的填充,可沿着帧内图片预测方向用可用的实际参考样本值替换参考线中的不可用的样本值。一般而言,如果参考线的给定定位处的样本值不可用(例如,因为它在图片边界或片边界之外、或者它尚未被编码/解码/重构、或者它由于受约束的帧内图片预测或一些其他约束而不能用于帧内图片预测),则在一个或多个其他参考线中评估一个或多个参考样本值。沿着填充方向评估(一个或多个)其他参考线的(一个或多个)参考样本值。例如,填充方向是正在使用的帧内图片预测模式的预测方向。或者,对于非方向预测模式,填充方向是水平的或垂直的。沿着填充方向,投射穿过(具有不可用的样本值的)给定定位并穿过(一个或多个)其他参考线的(一个或多个)定位。投射上的(一个或多个)参考样本值可位于具有不可用的样本值的给定定位的任一侧。
当投射上的参考样本值具有分数样本偏移时,通过在相同参考线中的整数样本偏移处的两个最近参考样本值之间进行内插值来确定参考样本值。例如,内插值使用双线性滤波。如果整数样本偏移处的两个最近参考样本值中的一者不可用,则投射上的参考样本值被视为不可用。
从最接近(具有不可用的样本值的)给定位置的位置处开始依次检查投射上的(一个或多个)参考样本值,并继续向外,直到具有可用的实际参考样本值的位置被找到或最后一个位置被评估。如果两个位置与具有不可用的样本值的给定位置等距,则首先检查更接近当前块的位置。如果找到可用的实际样本值,则使用该样本值代替给定位置中的不可用的样本值。如果沿填充方向没有找到可用的实际样本值,则使用与给定位置相同的参考线中最接近的可用的实际样本值(例如,如在水平重复填充或垂直重复填充中)。
图27示出了针对当前块(2710)的样本值的帧内图片预测的用于替换不可用的样本值的依赖于模式的填充的第一示例(2700)。在图27中,位置A处的样本值不可用。参考样本值位于图片中的整数样本偏移处。位置A处的不可用的样本值用整数样本偏移处的经重构的参考样本值替换。
沿着帧内图片预测的预测方向,投射通过位置A。此投射还通过其他参考线的位置B、C、D和E。依次地检查位置B、C、D和E,从最接近位置A的位置开始,并从任一侧上的位置A继续向外,直到找到具有可用的实际样本值的位置。如果在位置B、C、D或E处找到可用的实际样本值,则使用此样本值代替位置A处的不可用的样本值。如果在位置B、C、D和E处没有找到可用的实际样本值,则使用相同参考线中最接近的可用的实际样本值(例如,在位置F、G等处)。
图28示出了针对当前块(2810)的样本值的帧内图片预测的用于替换不可用的样本值的依赖于模式的填充的第二示例(2800)。在图28中,位置A处的样本值不可用。位置A处的不可用的样本值可以用分数样本偏移处的经内插的样本值替换。
沿着帧内图片预测的预测方向,投射通过位置A。此投射还在分数样本偏移处通过其他参考线。例如,投射在位置B'和B”之间的位置处穿过参考线。在B'和B”之间的投射上计算经内插的样本值。在位置C'和C”之间、在位置D'和D”之间、以及在位置E'和E”之间类似地计算经内插的样本值。在位置B'和B”之间的位置处、位置C'和C”之间的位置处、位置D'和D”之间的位置处、以及位置E'和E”之间的位置处的经内插的样本值被依次检查,从最接近位置A的位置开始,并从任一侧的位置A继续向外,直到找到具有可用的实际样本值的位置。如果找到可用的实际样本值,则使用该样本值代替位置A处的不可用的样本值。否则,使用相同参考线中最接近的可用的实际样本值(例如,在位置F、G等处)。
在图27和28中,帧内图片预测模式是具有预测方向的角度预测模式。对于DC预测模式和平面预测模式,在当前块上方或当前块的右上方的位置处的不可用的样本值可以用垂直重复填充被替换为实际样本值。在当前块左侧或当前块的左下方的位置处的不可用的样本值可以用水平重复填充被替换为实际样本值。如图16a或16b所示,可通过聚集附近的参考样本值来替换相对于当前块的左上位置处的不可用的样本值。
2.在编码或解码期间依赖于模式的填充的示例。
图29示出了用于编码的通用技术(2900),其包括采用用于替换一个或多个不可用的参考样本值的依赖于模式的填充的帧内图片预测。诸如图3的视频编码器(340)、另一视频编码器或图像编码器之类的编码器可执行技术(2900)。
编码器接收(2910)图片,编码(2920)该图片以产生经编码的数据,并将经编码的数据作为位流的一部分来输出(2930)。作为编码(2920)的一部分,编码器对图片中的当前样本值块执行帧内图片预测。样本值的非相邻参考线可用于帧内图片预测。当编码器当前块执行帧内图片预测时,该编码器执行依赖于模式的填充以替换一个或多个不可用的参考样本值。
编码器检查(2940)是否继续下一图片。如果是,则编码器接收(2910)并编码(2920)该下一图片。
图30示出了用于解码的通用技术(3000),其包括采用用于替换一个或多个不可用的参考样本值的依赖于模式的填充的帧内图片预测。诸如图5的视频解码器(550)、另一视频解码器或图像解码器之类的解码器可执行技术(3000)。
解码器接收(3010)经编码的数据作为位流的一部分,解码(3020)经编码的数据以重构图片,并输出(3030)经重构的图片。作为解码的一部分,解码器对图片中的当前样本值块执行帧内图片预测。样本值的非相邻参考线可用于帧内图片预测。当解码器对当前块执行帧内图片预测时,该解码器执行依赖于模式的填充以替换一个或多个不可用的参考样本值。
解码器检查(3040)是否继续下一图片。如果是,则解码器接收(3010)下一图片的经编码的数据并解码(3020)下一图片的经编码的数据。
图31示出了用于在帧内图片预测期间替换不可用的样本值的依赖于模式的填充的示例技术(3100)。示例技术可在图29的编码(2920)期间由编码器执行,或者在图30的解码(3020)期间由解码器执行。
首先,编码器或解码器选择(3110)当前块之外的各样本值的多个候选参考线中的一个。多个候选参考线包括样本值的至少一个非相邻参考线。
编码器或解码器确定(3120)经选择的参考线的样本值在经选择的参考线的给定位置处不可用。例如,给定位置在图片边界之外、在片边界之外,尚未被重构、被约束为不被用于帧内图片预测中的参考,或以其他方式不可用于帧内图片预测。
编码器或解码器标识(3130)帧内图片预测模式的填充方向。例如,填充方向是具有预测方向的角度预测模式的预测方向。或者,对于诸如DC预测模式或平面预测模式之类的非方向预测模式,填充方向是垂直的或水平的。
编码器或解码器确定(3140)沿着填充方向在穿过经选择的参考线的给定位置的投射上的另一参考线上可用的样本值(如果有的话)。例如,编码器或解码器以距经选择的参考线的给定位置的距离增加的顺序沿着在一个或多个候选参考线中的投射评估一个或多个位置,直到沿着填充方向中的投射在(一个或多个)候选参考线中的一个候选参考线中确定可用的样本值为止。可用的样本值可在没有填充的情况下,在(一个或多个)候选参考线中的一个候选参考线中水平和垂直的整数样本偏移处获得。或者,可用的样本值可在没有填充的情况下,从在(一个或多个)候选参考线中的一个候选参考线中水平和垂直的整数样本偏移处可用的样本值的内插值中导出。在此情况下,确定样本值可包括在另一参考线中水平和/或垂直的分数样本偏移处的样本值进行内插。
编码器或解码器检查(3150)是否已在投射上的另一参考线中确定了可用的样本值。如果是,则编码器或解码器在经选择的参考线的给定位置处使用(3170)经确定的可用样本值作为不可用的样本值。
否则(另一参考线中没有样本值被确定为是可用的),编码器或解码器确定(3160)位于经选择的参考线内的另一位置处的可用的样本值(例如,通过水平或垂直重复填充)。然后,编码器或解码器在经选择的参考线的给定位置处使用(3170)经确定的可用样本值作为不可用的样本值。
编码器或解码器可针对其他位置处的不可用的样本值重复该技术(3100)。
F.采用经环内滤波的参考样本值的帧内图片预测。
许多传统的编解码器标准和格式对经重构的样本值使用环内滤波,以用于后续帧间图片预测。例如,环内滤波可包括去块和/或样本自适应偏移(“SAO”)滤波。一般地,环内滤波使得经滤波的样本值对于使用该经滤波的样本值的后续帧间图片预测更有效。
传统上,在参考样本值被用于帧内图片预测之前,不对那些参考样本值执行环内滤波。典型的去块滤波器或SAO滤波器依赖于待滤波的边缘两侧上的样本值。例如,对于SAO滤波器的边缘偏移模式,样本分类可基于当前样本值与邻近样本值之间的比较。对于当前块的帧内图片预测,当前块尚未被编码和重构,因此当前块的样本值不可用于供去块滤波器或SAO滤波器使用。如此,在帧内图片预测之前,不对相邻参考线(列或行)的参考样本值进行环内滤波。
本节描述了使用经环内滤波的参考样本值的帧内图片预测的示例。具体地,在一些情况下,非相邻参考线的参考样本值可在那些参考样本值被用于帧内图片预测之前进行环内滤波。参考样本值的环内滤波可提高使用参考样本值的后续帧内图片预测的有效性。
针对帧内图片预测的参考样本值的环内滤波可以与本文描述的一个或多个其他创新组合使用。例如,非相邻参考帧中的经环内滤波的参考样本值可被用于采用残量补偿或加权预测的帧内图片预测,或可进一步在依赖于模式的填充中被滤波或使用。
1.经环内滤波的参考样本值的示例。
图32示出了在帧内图片预测期间使用的经环内滤波的参考样本值的示例(3200)。多个候选参考线(图32的各列)中的参考样本值可用于当前块(3210)的样本值的帧内图片预测。参考样本值包括可能已经被环内滤波的参考样本值(3230)。可能经环内滤波的参考样本值(3230)对当前块(3210)或尚未解码的任何其他块没有依赖性。对于可能经环内滤波的参考样本值(3230),可在不等待当前块(3210)的经重构的样本值的情况下完成环内滤波。在一些示例实现中,为了提高当前块(3210)的帧内图片预测的有效性,如果可在不使用当前块(3210)的经重构的样本值的情况下执行环内滤波,则在对这些参考样本值执行环内滤波之后访问参考样本值以用于当前块(3210)的帧内图片预测。对远离当前块(3210)、在相邻参考线和当前块(3210)之间的边缘的环内滤波范围之外的非相邻参考线而言该条件被满足。
在图32中,参考样本值还包括在对当前块(3210)进行帧内图片预测之前不能进行环内滤波的参考样本值(3220)。对于最接近当前块(3210)的最右侧参考列,环内滤波取决于当前块(3210)的经重构的样本值。类似地,对于图32中未示出的最底部参考行,环内滤波取决于当前块(3210)的经重构的样本值。
2.在编码和解码期间采用经环内滤波的参考样本值的帧内图片预测的
示例。
图33示出了用于编码的通用技术(3300),其包括使用非相邻参考线的经环内滤波的样本值的帧内图片预测。诸如图3的视频编码器(340)、另一视频编码器或图像编码器之类的编码器可执行技术(3300)。
编码器接收(3310)图片,编码(3320)该图片以产生经编码的数据,并将经编码的数据作为位流的一部分来输出(3330)。作为编码(3320)的一部分,编码器对图片中的当前样本值块执行帧内图片预测。样本值的非相邻参考线可用于帧内图片预测。当编码器对当前块执行帧内图片预测时,该编码器选择样本值的非相邻参考线以用于当前块的帧内图片预测。在用于当前块的帧内图片预测之前,经选择的非相邻参考线的至少一些样本值已由环内滤波修改。对于环内滤波而言,经选择的参考线的经修改的样本值都不依赖于当前块的任何样本值。
编码器检查(3340)是否继续下一图片。如果是,则编码器接收(3310)并编码(3320)该下一图片。
图34示出了用于解码的通用技术(3400),其包括使用非相邻参考线的经环内滤波的样本值的帧内图片预测。诸如图5的视频解码器(550)、另一视频解码器或图像解码器之类的解码器可执行技术(3400)。
解码器接收(3410)经编码的数据作为位流的一部分,解码(3420)经编码的数据以重构图片,并输出(3430)经重构的图片。作为解码的一部分,解码器对图片中的当前样本值块执行帧内图片预测。样本值的非相邻参考线可用于帧内图片预测。当编码器对当前块执行帧内图片预测时,该编码器选择样本值的非相邻参考线以用于当前块的帧内图片预测。在用于当前块的帧内图片预测之前,经选择的非相邻参考线的至少一些样本值已由环内滤波修改。对于环内滤波而言,经选择的参考线的经修改的样本值都不依赖于当前块的任何样本值。
解码器检查(3440)是否继续下一图片。如果是,则解码器接收(3410)下一图片的经编码的数据并解码(3420)下一图片的经编码的数据。
代替或除了选择非相邻参考线之外,编码器或解码器还可选择样本值的另一参考线以用于当前块的帧内图片预测。经选择的其他参考线可位于经选择的非相邻参考线和当前块之间。例如,经选择的其他参考线是当前块的相邻参考线。经选择的其他参考线的样本值的环内滤波可依赖于当前块的至少一些样本值。在此情况下,在使用经选择的其他参考线对当前块进行帧内图片预测之前,经选择的其他参考线的样本值不会被环内滤波修改。
G.选择参考线的编码器侧判定。
此节描述了选择用于帧内图片预测的参考线的作出编码器侧判定的方式的示例。利用这些方式,以计算上有效的方法,编码器可标识用于帧内图片预测的适当的参考线。一般而言,编码器接收图片,编码该图片以产生经编码的数据,并将经编码的数据作为位流的一部分来输出。作为编码的一部分,编码器对图片中的当前样本值块执行帧内图片预测。为了选择用于帧内图片预测的一个或多个参考线,编码器遵循本文描述的作出判定的方式中的一者。
当在编码期间实现时,作出编码器侧判定的方式可以与本文描述的一个或多个其他创新组合使用。
1.作出编码器侧判定的第一方式。
图35示出了在编码期间选择哪些参考线用于帧内图片预测的第一示例技术(3500)。诸如图3的视频编码器(340)、另一视频编码器或图像编码器之类的编码器可执行技术(3500)。
在第一方式中,在对图片的编码期间,编码器为图片的单元(例如,译码单元(“CU”)或预测单元(“PU”))选择一个或多个参考线和一个或多个帧内图片预测模式的组合。例如,针对CU,编码器选择指示在针对CU的帧内图片预测中使用哪个(哪些)参考线的一个或多个参考线指标或表索引,其中一个或多个帧内图片预测模式也为CU或其一个或多个PU而信令化。在此情况下,PU和CU的变换单元(“TU”)都使用相同的参考线索引、指标或表索引。或者,作为另一示例,针对PU,编码器选择指示在针对PU的帧内图片预测中使用哪个(哪些)参考线的一个或多个参考线指标或表索引,其中一个或多个帧内图片预测模式也为PU而信令化。在此情况下,与PU相关联的(一个或多个)TU都使用相同的参考线索引、指标或表索引。
首先,编码器选择(3510)一个或多个参考线的组合(“参考线组合”)。例如,经选择的参考线组合是单个候选参考线。或者,经选择的参考线组合是多个候选参考线。
利用粗略模式判定(“RMD”)处理,编码器为经选择的参考线组合选择(3520)一个或多个帧内图片预测模式。一般而言,RMD处理提供关于正被评估的参考线组合的帧内图片预测模式的粗粒度判定。RMD处理通常使用不是特别准确但计算简单的成本度量(例如,绝对变换差的总和(“SATD”))。替换地,编码器在RMD处理中使用另一类型的成本度量。RMD处理可通过跳过对一些帧内图片预测模式的评估来简化评估。例如,编码器仅在RMD处理中评估可能的帧内图片预测模式的子集(例如,每隔一个模式、每隔三个模式或每隔四个模式)。
接下来,利用模式细化处理,编码器为经选择的参考线组合选择(3530)一个或多个最终帧内图片预测模式。在这样做时,编码器使用来自RMD处理的(一个或多个)帧内图片预测模式。一般而言,模式细化处理提供关于正被评估的参考线组合的帧内图片预测模式的细粒度判定。模式细化处理通常使用准确但计算复杂的成本度量(例如,速率-失真成本)。替换地,编码器在模式细化处理中使用另一类型的成本度量。模式细化处理可跳过对一些帧内图片预测模式的评估(例如,如果它们远离RMD处理的任何模式),但是通常评估来自RMD处理的模式附近的模式。在允许可变大小TU的一些示例实现中,TU大小在RMD处理和模式细化处理期间保持固定。
接下来,当TU大小是可变的时,编码器为该单元选择(3540)一个或多个TU大小。在此阶段,编码器使用在模式细化处理中选择的最终帧内图片预测模式用于经选择的参考线组合。替换地,编码器在单独的处理中选择TU大小。
编码器检查(3550)是否用另一参考线组合继续作出判定的处理。如果是,则编码器选择(3510)另一参考线组合以进行评估。以此方式,编码器迭代地评估该单元的不同参考线组合。
在编码器评估其将评估的所有参考线组合之后,该编码器选择(3560)经评估的多个参考线组合中的最佳参考线组合。例如,编码器选择具有最低速率-失真成本的参考线组合(考虑在评估各个参考线组合时找到的最佳帧内图片预测模式和TU大小)。
2.作出编码器侧判定的第二方式。
图36示出了在编码期间选择哪些参考线用于帧内图片预测的第二示例技术(3600)。诸如图3的视频编码器(340)、另一视频编码器或图像编码器之类的编码器可执行技术(3600)。类似于第一方式,在第二方式中,在对图片的编码期间,编码器为图片的单元(例如,CU或PU)选择一个或多个参考线和一个或多个帧内图片预测模式的组合。与第一方式不同,不迭代地评估不同的参考线组合。
利用粗略模式判定(“RMD”)处理,编码器选择(3610)帧内图片预测模式和参考线的一个或多个组合。来自RMD处理的一个或多个组合中的每一者都包括(a)一个或多个帧内图片预测模式和(b)一个或多个参考线的不同配对。一般而言,RMD处理提供关于正被评估的组合的粗粒度判定。RMD处理通常使用不是特别准确但计算简单的成本度量(例如,SATD)。替换地,编码器在RMD处理中使用另一类型的成本度量。RMD处理可通过跳过对一些帧内图片预测模式和/或一些参考线的评估来简化评估。例如,编码器仅在RMD处理中评估可能的帧内图片预测模式的子集(例如,每隔一个模式、每隔三个模式或每隔四个模式)。或者,作为另一示例,编码器仅在RMD处理中评估可能的参考线的子集(例如,每隔一个参考线)。
接下来,利用模式细化处理,编码器选择(3620)最终组合。在这样做时,编码器使用来自RMD处理的组合。一般而言,模式细化处理提供关于正被评估的(一个或多个)组合的细粒度判定。模式细化处理通常使用准确但计算复杂的成本度量(例如,速率-失真成本)。替换地,编码器在模式细化处理中使用另一类型的成本度量。例如,模式细化处理选择具有最低速率-失真成本的组合。模式细化处理可跳过对一些帧内图片预测模式和/或一些参考线的评估(例如,如果它们远离来自RMD处理的任何组合),但是通常评估来自RMD处理的组合附近的模式和参考线。在允许可变大小TU的一些示例实现中,TU大小在RMD处理和模式细化处理期间保持固定。
接下来,当TU大小是可变的时,编码器为该单元选择(3630)一个或多个TU大小。在此阶段,编码器使用在模式细化处理中选择的最终组合。替换地,编码器在单独的处理中选择TU大小。
在一些示例实现中,第二方式可被用于其分区大小为2Nx2N的CU(针对CU的单个PU)。对于具有另一分区大小的CU,编码器使用第一方式。
3.作出编码器侧判定的第三方式。
图37示出了在编码期间选择哪些参考线用于帧内图片预测的第三示例技术(3700)。诸如图3的视频编码器(340)、另一视频编码器或图像编码器之类的编码器可执行技术(3700)。
在第三方式中,在对图像的编码期间,编码器为TU选择一个或多个参考线的组合。例如,针对TU,编码器选择指示在针对TU的帧内图片预测中使用哪些参考线的一个或多个参考线指标或表索引。(为与TU相关联的PU信令化一个或多个帧内图片预测模式。)
首先,编码器选择(3710)一个或多个参考线的组合(“参考线组合”)。例如,经选择的参考线组合是单个候选参考线。或者,经选择的参考线组合是多个候选参考线。
编码器结合先前(例如,为PU)选择的一个或多个帧内图片预测模式来评估(3720)经选择的参考线组合。例如,编码器计算诸如当使用经选择的参考线组合时的速率-失真成本之类的成本度量。替换地,编码器使用另一类型的成本度量。
编码器检查(3730)是否用另一参考线组合继续作出判定的处理。如果是,则编码器选择(3710)另一参考线组合以进行评估。以此方式,编码器迭代地评估该TU的不同参考线组合。
在编码器评估其将评估的所有参考线组合之后,该编码器选择(3740)经评估的多个参考线组合中的最佳参考线组合。例如,编码器选择具有最低速率-失真成本的参考线组合。或者,作为另一示例,编码器选择具有最低SATD的参考线组合。或者,编码器使用另一成本度量来选择最佳参考线组合。
H.对经预测样本值进行后滤波。
在一些现有编解码器标准中,编码器和解码器可使用相邻参考线的参考样本值来滤波当前块的经预测样本值。可为某些帧内图片预测模式(即,DC预测模式、水平预测模式或垂直预测模式)执行此类后滤波。
本节描述了在帧内图片预测之后对经预测样本值进行后滤波的示例。具体地,编码器或解码器使用在当前块之外且在相邻参考线之外的至少一些样本值来滤波当前块的某些经预测样本值。在一些情况下,通过使用相邻参考线之外的参考样本值,滤波产生更接近当前块的原始样本值的经预测样本值。
对经预测样本值进行后滤波可以与本文描述的一个或多个其他创新组合使用。例如,如本节中描述的对经预测样本值进行后滤波可遵循加权预测、残量补偿、对参考样本值的滤波、依赖于模式的填充和/或对经环内滤波的参考样本值的使用。
当帧内图片预测使用非相邻参考线时,可使用本节中描述的后滤波。当帧内图片预测使用相邻参考线时,也可使用本节中描述的后滤波(例如,在其中帧内图片预测只能使用相邻参考线的参考样本值的编码器或解码器中)。
1.对经预测样本值进行后滤波的示例。
图38示出了在水平帧内图片预测之后对当前块(3810)的经预测样本值进行后滤波的示例(3800)。在图38的示例(3800)中,对当前块(3810)的前K行进行后滤波。K的值取决于实现。例如,K为1,因此对顶行的经预测样本值进行后滤波。或者,K为2,因此对前两行的经预测样本值进行后滤波。更一般地,K的值可取决于块大小,对于较大的块,K增加(例如,对于4x4块K=1或2;对于8x8块K=2或3)。K的值可以是预定义的,在此情况下,它不被信令化为位流中经编码的数据的一部分。替代地,K的值可以改变。在此情况下,K的值可被信令化为位流中经编码的数据的一部分(例如,在SPS、PPS、片报头或相关联的结构中)。
图38示出了分别使用在位置B、C、D、E和F处的参考样本值refB、refC、refD、refE和refF对当前块(3810)的位置A处的经预测样本值predA进行后滤波。位置B和F位于与位置A相同的列中。位置B、C和D位于相邻参考行中,而位置E和F位于非相邻参考行中。位置C和E位于相邻参考列中,而位置D位于非相邻参考列中。值M和N控制所使用的参考样本值的各位置之间的距离。M和N的值取决于实现。例如,M=N=1,如图38所示。替代地,M和/或N具有更高的值。例如,M和N的值可取决于块大小,对于较大的块,M和/或N增加。并非指示所使用的参考样本值的各位置之间的距离,M和N可指示在后滤波操作中考虑的梯度数量,其中为更高的M和N的值考虑更多的梯度。M和N的值可以是预定义的,在此情况下,它们不被信令化为位流中经编码的数据的一部分。替代地,M和N的值可以改变。在此情况下,M和N的值可被信令化为位流中经编码的数据的一部分(例如,在SPS、PPS、片报头或相关联的结构中)。
当前块(3810)的位置A处的经预测样本值被计算为:predA=predA+(refB-refC)/x+(refB-refD)/y+(refF-refE)/z,其中x、y和z是取决于实现的权重。例如,x、y和z为2、3和4。替代地,x、y和z具有其他值。x、y和z的值可取决于当前块(3810)的块大小而改变,例如,随着K的增加。权重x、y和z也可根据当前块内的样本值的位置而改变。例如,对于第一行经后滤波的位置,权重较小(并因此权重更具侵袭性,因为权重仅在分母中),并且对于后几行经后滤波的位置,权重相继更大。更一般地,如果用于执行后滤波的样本值更接近当前块(3810)中正被滤波的位置,则权重x、y和z更小(并因此加权更具侵袭性)。x、y和z的值可以是预定义的,在此情况下,它们不被信令化为位流中经编码的数据的一部分。替代地,x、y和z的值可以改变。在此情况下,x、y和z的值可被信令化为位流中经编码的数据的一部分(例如,在SPS、PPS、片报头或相关联的结构中)。
差值refB-refC、refB-refD和refF-refE指示当前块(3810)之外的参考样本值之间的梯度。梯度与帧内图片预测的预测方向平行。两个梯度使用不与当前块(3810)相邻的位置(D,E,F)处的样本值。因此,即使帧内图片预测仅使用相邻参考线的参考样本值,也可为后滤波操作考虑一个或多个非相邻参考线的样本值。
还可在垂直帧内图片预测之后对当前块的经预测样本值执行后滤波。在此情况下,对当前块的前K列进行后滤波,其中K如参考图38所描述的被定义。如果预测方向是垂直的,则转置图38中所示的梯度,其中对参考样本值的位置B、C、D、E和F进行相应的改变。M、N、x、y和z的值如参考图38所描述的被定义。
图39示出了在帧内图片预测之后采用DC预测模式或平面预测模式之类的非方向预测模式对当前块(3910)的经预测样本值进行后滤波的示例(3900)。在图39的示例(3900)中,对当前块(3910)的前K行进行后滤波,并且对当前块(3910)的前K列进行后滤波。K的值取决于实现。例如,K为1,因此对顶行和左列的经预测样本值进行后滤波。或者,K为2,因此对前两行和左两列的经预测样本值进行后滤波。更一般地,K的值可取决于块大小,对于较大的块,K增加(例如,对于4x4块K=1或2;对于8x8块K=2或3)。K的值可以是预定义的,在此情况下,它不被信令化为位流中经编码的数据的一部分。替代地,K的值可以改变。在此情况下,K的值可被信令化为位流中经编码的数据的一部分(例如,在SPS、PPS、片报头或相关联的结构中)。
图39示出了分别使用在位置B和C处的参考样本值refB和refC对当前块(3910)的位置A处的经预测样本值predA进行后滤波。位置B和C位于与位置A相同的列中。位置B位于相邻参考行中,而位置C位于非相邻参考行中。值N控制被用于后滤波的参考样本值的各位置之间的距离。N的值取决于实现。例如,N=1,如图39所示。替代地,N具有更高的值。例如,N的值可取决于块大小,对于较大的块,N增加。除了指示被用于后滤波的参考样本值的各位置之间的距离之外,N的值可指示在后滤波操作中考虑的参考样本值的数量,其中为更高的N的值考虑更多的参考样本值。N的值可以是预定义的,在此情况下,它不被信令化为位流中经编码的数据的一部分。替代地,N的值可以改变。在此情况下,N的值可被信令化为位流中经编码的数据的一部分(例如,在SPS、PPS、片报头或相关联的结构中)。
当前块(3910)的位置A处的经预测样本值被计算为:predA=(x×predA+y×refB+z×refC)/(x+y+z),其中x、y和z是取决于实现的权重。例如,x、y和z为5、2和1。替代地,x、y和z具有其他值。一般而言,对于正被滤波的位置(位置A)和对于更接近当前块(3910)的参考样本值,权重更大(并因此加权更具侵袭性,因为权重在分子中)。x、y和z的值可取决于当前块(3910)的块大小而改变,例如,随着K的增加。权重x、y和z也可根据当前块内的样本值的位置而改变。例如,对于第一行经后滤波的位置,权重较大(并因此权重更具侵袭性),并且对于后几行经后滤波的位置,权重相继更小。x、y和z的值可以是预定义的,在此情况下,它们不被信令化为位流中经编码的数据的一部分。替代地,x、y和z的值可以改变。在此情况下,x、y和z的值可被信令化为位流中经编码的数据的一部分(例如,在SPS、PPS、片报头或相关联的结构中)。
为了对当前块(3910)的前K列中的一列中的经预测样本值进行后滤波,转置图39中所示的参考样本值的位置。对于在当前块(3910)的前K列之一中并且也在当前块(3910)的前K行之一中的当前块(3910)的位置,可取决于实现使用(左侧或上方的)任一参考样本值集进行后滤波。
2.在编码或解码期间对经预测样本值进行后滤波的示例。
图40示出了用于在对当前块进行编码或解码期间对经预测样本值进行后滤波的通用技术(4000)。诸如图3的视频编码器(340)、另一视频编码器或图像编码器之类的编码器可执行技术(4000),例如,在参考图14描述的编码(1420)期间。或者,诸如图5的视频解码器(550)、另一视频解码器或图像解码器之类的解码器可执行技术(4000),例如,在参考图15描述的解码(1520)期间。对于图40中所示的后滤波,编码器或解码器对图片中的当前样本值块执行帧内图片预测。样本值的相邻参考线可用于帧内图片预测。
编码器或解码器选择(4010)当前块之外的样本值的一个或多个参考线,并使用经选择的参考线的至少一些样本值来预测(4020)当前块的样本值。编码器或解码器滤波(4030)当前块的至少一些经预测样本值。滤波使用当前块之外和相邻参考线之外的至少一些样本值。滤波可包括各种操作。
例如,对于当前块的经预测样本值的给定经预测样本值,滤波包括计算当前块之外的各样本值之间的一个或多个梯度,并基于(一个或多个)梯度调整给定经预测样本值。用于计算(一个或多个)梯度的样本值可取决于当前块的块大小。(一个或多个)梯度可以与帧内图片预测的预测方向平行。权重可被应用于每个梯度,且(一个或多个)加权梯度被用于调整。应用于(一个或多个)梯度的权重可取决于当前块的块大小以及当前块中给定经预测样本值的位置。在一些示例实现中,如果预测方向是水平的或垂直的(参见例如图38)而非针对其他预测方向,则执行此类后滤波操作。
作为另一示例,对于当前块的经预测样本值的给定经预测样本值,滤波包括基于当前块之外和相邻参考线之外的一个或多个样本值来调整给定经预测样本值。用于调整给定经预测样本值的(一个或多个)样本值可取决于当前块的块大小。权重可被应用于来自当前块之外的每个样本值,且(一个或多个)加权样本值被用于调整。应用于样本值的(一个或多个)权重可取决于当前块的块大小以及当前块中给定经预测样本值的位置。在一些示例实现中,如果帧内图片预测模式是诸如DC预测模式或平面预测模式之类的非方向预测模式,则此类后滤波操作被执行(参见例如图39)。
返回图40,编码器或解码器可对图片的其他块重复该技术(4000)。
I.对参考样本值进行自适应的、依赖于方向的滤波。
此节描述了对用于帧内图片预测的参考样本值进行自适应的、依赖于方向的滤波的示例。在一些情况下,此类滤波产生参考样本值,从而提供更有效的帧内图片预测。
对参考样本值进行自适应的、依赖于方向的滤波可以与本文描述的一个或多个其他创新组合使用。例如,可在加权预测和/或残量补偿之前如本节所描述的对参考样本值进行滤波。
当帧内图片预测使用非相邻参考线时,可使用本节中描述的滤波。当帧内图片预测使用相邻参考线时,也可使用本节中描述的滤波(例如,在其中帧内图片预测只能使用相邻参考线的参考样本值的编码器或解码器中)。
1.自适应的、依赖于方向的滤波示例。
图41示出了对参考样本值进行自适应的、依赖于方向的滤波的示例(4100)。使用具有预测方向的帧内图片预测模式来预测当前块(4110)的样本值。帧内图片预测使用包括位置D的相邻参考列(参考线0)中的参考样本值。
在图41中,位置D处的参考样本值被滤波。滤波是自适应的,取决于沿着预测方向的各参考样本值之间的差。具体地,对位置D处的参考样本值进行滤波取决于位置A、B、C和D处的参考样本值的模式。例如,如果位置A、B和C处的参考样本值之间不存在显著差异,则通过对位置A、B和C处的参考样本值进行加权来滤波位置D处的参考样本值。权重取决于实现。例如,在位置A、B、C和D处应用的权重分别是1、2、4和8。替代地,权重具有其他值。一般而言,对于待滤波的位置(图41中位置D),权重最高,并对于远离待滤波的位置的各位置,权重降低。作为另一示例,如果位置A、B、C和D处的参考样本值单调变化(例如,沿着预测方向增加、或沿着预测方向降低),则在位置D处的参考值被滤波为在位置A、B、C和D处的参考样本值的平均值。同样,权重取决于实现。一般而言,当样本值单调变化时,待滤波的位置的权重增加。替代地,对位置D处的参考样本值进行滤波遵循另一规则。在图41中,沿着预测方向的参考样本值水平和垂直地处于整数样本偏移处。
图42示出了对参考样本值进行自适应的、依赖于方向的滤波的另一示例(4200),其中沿着预测方向的一些值处于分数样本偏移。在图42中,使用具有预测方向的帧内图片预测模式来预测当前块(4210)的样本值。帧内图片预测使用包括位置D的相邻参考列(参考线0)中的参考样本值。
在图42中,位置D处的参考样本值被滤波。滤波是自适应的,取决于沿着预测方向的各参考样本值之间的差。一些参考样本值沿着预测方向位于具有分数样本偏移的位置处。沿着预测方向,通过在位置A'和A”处的各参考样本值之间内插(例如,利用双线性内插值)来计算位置A'和A”之间的值。在位置C'和C”处的各参考样本值之间类似地内插另一个值。对位置D处的参考样本值进行滤波取决于A'和A”之间的位置处、位置B处、C'和C”之间的位置处以及位置D处的值的模式。关于沿着预测方向的值的模式,在位置D处对参考样本值进行滤波遵循与图41的示例(4100)相同的规则。
可针对具有不同预测方向的其他帧内图片预测模式执行自适应的、依赖于方向的滤波。使用自适应的、依赖于方向的滤波来滤波的参考样本值可以是相邻参考线或非相邻参考线的一部分。
2.在编码或解码期间自适应的、依赖于方向的滤波的示例。
图43示出了用于在对当前块进行编码或解码期间对参考样本值进行自适应的、依赖于方向的滤波的通用技术(4300)。诸如图3的视频编码器(340)、另一视频编码器或图像编码器之类的编码器可执行技术(4300),例如,在参考图14描述的编码(1420)期间。或者,诸如图5的视频解码器(550)、另一视频解码器或图像解码器之类的解码器可执行技术(4300),例如,在参考图15描述的解码(1520)期间。在图43中所示的滤波之后,编码器或解码器对图片中的当前样本值块执行帧内图片预测。
编码器或解码器选择(4310)当前块之外的样本值的参考线。编码器或解码器对样本值的经选择的参考线进行滤波(4320)。滤波适用于沿着用于帧内图片预测的预测方向的样本值集的差。该样本值集中的至少一些在当前块之外并在相邻参考线之外。沿着预测方向的样本值集可包括水平和垂直的整数样本偏移处的参考样本值(参见例如图41)。沿着预测方向的样本值集还可包括水平或垂直的分数样本偏移处的经内插的值(参见例如图42)。
返回图43,编码器或解码器可对图片的其他块重复该技术(4300)。
VI.特征。
不同的实施例可以包括以下特征表中所示的发明特征中的一个或多个。
鉴于可应用所公开的本发明的原理的许多可能的实施例,应当认识到,所示实施例仅是本发明的优选示例,并且不应认为是限制本发明的范围。相反,本发明的范围由后续的权利要求来界定。我们要求作为我们的发明保护落入这些权利要求范围和精神内的所有内容。

Claims (64)

1.一种在实现视频编码器或图像编码器的计算机系统中的方法,所述方法包括:
接收图片;
对图片进行编码以产生经编码的数据,包括对所述图片中的当前样本值块执行帧内图片预测,其中样本值的非相邻参考线可用于帧内图片预测,并且其中对图片进行编码包括:
为参考线索引确定预测器,所述参考线索引标识被用于所述当前块的所述帧内图片预测的样本值的参考线,其中所述预测器被用于编码所述参考线索引;以及
将所述经编码的数据输出作为位流的一部分,其中所述参考线索引被信令化为所述经编码的数据的一部分。
2.一种在实现视频解码器或图像解码器的计算机设备中的方法,所述方法包括:
接收经编码的数据作为位流的一部分,其中参考线索引被信令化为所述经编码的数据的一部分,所述参考线索引标识被用于图片中的当前样本值块的帧内图片预测的样本值的参考线;
对所述经编码的数据进行解码以重构所述图片,包括对所述图片中的所述当前样本值块执行帧内图片预测,其中样本值的非相邻参考线可用于所述帧内图片预测,并且其中对所述经编码的数据进行解码以重构所述图片包括:
为所述参考线索引确定预测器,其中所述预测器被用于解码所述参考线索引;以及
输出经重构的图片。
3.如权利要求1或2所述的方法,其特征在于,所述当前块的所述样本值在逻辑上被组织为多个列和多个行,并且其中样本值的非相邻参考线是:
由所述当前块之外的一个或多个其他样本值列与所述当前块的多个列分隔开的非相邻样本值列;或
由所述当前块之外的一个或多个其他样本值行与所述当前块的多个行分隔开的非相邻样本值行。
4.如权利要求1或2所述的方法,其特征在于,执行帧内图片预测包括:
选择所述当前块之外的样本值的多个候选参考线中的一个或多个候选参考线,所述多个候选参考线包括样本值的非相邻参考线;以及
使用所述一个或多个经选择的参考线的至少一些样本值来预测所述当前块的所述样本值。
5.如权利要求4所述的方法,其特征在于,所述多个候选参考线中的每一个候选参考线都是一列样本值或一行样本值,并且其中所述多个候选参考线具有参考线指标。
6.如权利要求4所述的方法,其特征在于,所述多个候选参考线中的单个参考线被选择。
7.如权利要求4所述的方法,其特征在于,所述多个候选参考线中的多个参考线被选择。
8.如权利要求4所述的方法,其特征在于,所述多个候选参考线包括所述当前块上方的多个候选参考线和所述当前块左侧的多个候选参考线,并且其中所述一个或多个经选择的参考线包括:
所述当前块上方的所述多个候选参考线中的一个候选参考线;以及
所述当前块左侧的所述多个候选参考线中的一个候选参考线。
9.如权利要求8所述的方法,其特征在于,所述当前块上方的所述经选择的参考线的参考线索引不同于所述当前块左侧的所述经选择的参考线的参考线索引。
10.如权利要求1或2所述的方法,其特征在于,所述当前块是亮度块或色度块。
11.如权利要求10所述的方法,其特征在于,为包括所述亮度块和所述色度块的单元信令化所述参考线索引。
12.如权利要求10所述的方法,其特征在于,分别为所述亮度块和所述色度块信令化单独的参考线指标。
13.如权利要求1或2所述的方法,其特征在于,所述参考线指标可以译码单元、译码块、预测单元、预测块、变换单元或变换块的句法级别被信令化为所述经编码的数据的一部分。
14.如权利要求1或2所述的方法,其特征在于,所述参考线索引被熵译码,所述方法进一步包括对所述参考线索引进行熵译码或熵解码。
15.如权利要求1或2所述的方法,其特征在于,所述预测器是邻近块的参考线索引。
16.如权利要求1或2所述的方法,其特征在于,对所述预测器进行确定包括分别基于多个邻近块的参考线指标计算所述预测器。
17.如权利要求1或2所述的方法,其特征在于,所述预测器是默认参考线索引。
18.如权利要求1或2所述的方法,其特征在于,所述经编码的数据包括预测器标志,所述预测标志指示所述参考线索引是否等于所述预测器。
19.如权利要求1或2所述的方法,其特征在于,所述经编码的数据包括差值,所述差值指示所述参考线索引和所述预测器之间的差。
20.如权利要求1或2所述的方法,其特征在于,对所述当前块执行帧内图片预测包括:
为用于针对所述当前块的帧内图片预测选择样本值的非相邻参考线;
通过逻辑或物理复制操作用所述非相邻参考线的至少一些样本值替换相邻参考线的样本值;以及
使用所述相邻参考线的至少一些经替换的样本值来预测所述当前块的所述样本值。
21.如权利要求20所述的方法,其特征在于,进一步包括:
通过聚集多个样本值来计算所述当前块之外的左上位置处的样本值,所述多个样本值包括所述非相邻参考线的所述样本值中的至少一个样本值。
22.如权利要求20所述的方法,其特征在于,所述逻辑或物理复制操作将所述非相邻参考线的至少一些样本值垂直或水平地移向所述当前块。
23.如权利要求1或2所述的方法,其特征在于,对所述当前块执行帧内图片预测包括:
为用于针对所述当前块的帧内图片预测选择样本值的非相邻参考线;以及
使用所述非相邻参考线的至少一些样本值来预测所述当前块的所述样本值,其中所述帧内图片预测跨所述非相邻参考线和所述当前块之间的偏移区域。
24.如权利要求23所述的方法,其特征在于,均一帧内图片预测的区域包括多个块,所述多个块包括当前块,并且其中尽管用于所述多个块的参考线不同,但最可能的帧内图片预测模式在所述区域内保持一致。
25.如权利要求23所述的方法,其特征在于,对所述当前块执行帧内图片预测进一步包括:
使用所述非相邻参考线的至少一些样本值来预测所述偏移区域的至少一些样本值。
26.如权利要求25所述的方法,其特征在于,预测区域包括所述偏移区域和所述当前块,并且其中对所述当前块执行帧内图片预测进一步包括:
剪切所述预测区域以隔离所述当前块的经预测样本值。
27.如权利要求1或2所述的方法,其特征在于,执行帧内图片预测包括执行残量补偿。
28.如权利要求27所述的方法,其特征在于,所述残量补偿包括,对所述当前块中给定位置处的经预测样本值:
在所述当前块之外的偏移区域中给定位置处,基于所述偏移区域中所述给定位置处的经重构的样本值与所述偏移区域中所述给定位置处的经预测样本值之间的差来计算残量值;以及
使用所述残量值来调整所述当前块中给定位置处的所述经预测样本值。
29.如权利要求28所述的方法,其特征在于,所述残量补偿进一步包括,对所述当前块中所述给定位置处的所述经预测样本值:
将权重应用于所述残量值以产生加权残量值,其中所述加权残量值被用于调整所述当前块中所述给定位置处的所述经预测样本值。
30.如权利要求28所述的方法,其特征在于,所述偏移区域中的所述给定位置处于水平和/或垂直的分数样本偏移处,并且其中所述偏移区域中所述给定位置处的所述经预测样本值和所述偏移区域中所述给定位置处的所述重构样本值是经内插的值。
31.如权利要求28所述的方法,其特征在于,所述当前块中所述给定位置处的所述经预测样本值的所述帧内图片预测遵循预测方向,其中所述残量补偿遵循从所述偏移区域中的所述给定位置到所述当前块中的所述给定位置的残量补偿方向,并且其中所述残量补偿方向与所述预测方向正交、与所述预测方向相反、或者与所述预测方向对齐。
32.如权利要求27所述的方法,其特征在于,所述残量补偿包括,对所述当前块中给定位置处的经预测样本值:
在所述当前块之外的偏移区域中的第一位置处,基于所述偏移区域中的所述第一位置处的经重构的样本值与所述偏移区域中的所述第一位置处的经预测样本值之间的差来计算第一残量值;
在所述当前块之外的所述偏移区域中的第二位置处,基于所述偏移区域中的所述第二位置处的经重构的样本值与所述偏移区域中的所述第二位置处的经预测样本值之间的差来计算第二残量值;以及
使用所述第一残量值和所述第二残量值来调整所述当前块中所述给定位置处的所述经预测样本值。
33.如权利要求1或2所述的方法,其特征在于,执行帧内图片预测包括:
选择所述当前块之外的样本值的多个候选参考线中的一个候选参考线,所述多个候选参考线包括样本值的非相邻参考线;以及
对样本值的所述经选择的参考线进行滤波。
34.如权利要求33所述的方法,其特征在于,所述滤波使用:
具有覆盖所述经选择的参考线内的多个样本值的一维内核的滤波器;或
具有覆盖所述经选择的参考线的多个样本值和所述经选择的参考线旁边的一个或多个参考线中的每一者的一个或多个样本值的二维内核的滤波器。
35.如权利要求33所述的方法,其特征在于,所述位流包括指示是否执行所述滤波的滤波标志,并且其中执行帧内图片预测进一步包括:
至少部分地基于所述滤波标志决定执行滤波。
36.如权利要求33所述的方法,其特征在于,执行帧内图片预测进一步包括:
至少部分地基于一个或多个因素决定执行滤波,所述一个或多个因素包括所述当前块的帧内图片预测模式和所述当前块的块大小中的一者或多者。
37.如权利要求1或2所述的方法,其特征在于,执行帧内图片预测包括使用样本值的多个参考线对所述当前块的所述样本值执行加权预测,所述多个参考线包括样本值的非相邻参考线。
38.如权利要求37所述的方法,其特征在于,所述加权预测包括,对所述当前块中的给定位置:
对于所述多个参考线中的每一个参考线:
使用此参考线的至少一个样本值在所述给定位置处生成中间经预测样本值;以及
将权重应用于所述给定位置处的所述中间经预测样本值,以在所述给定位置处产生加权样本值;以及
组合所述给定位置处的所述加权样本值以在所述当前块的所述给定位置处产生最终经预测样本值。
39.如权利要求37所述的方法,其特征在于,所述多个参考线中的每一个参考线具有与此参考线相关联的权重。
40.如权利要求39所述的方法,其特征在于,所述多个参考线进一步包括样本值的相邻参考线,并且其中所述非相邻参考线和相邻参考线的权重是预定义的,并且未在所述位流被信令化。
41.如权利要求39所述的方法,其特征在于,在位流中信令化所述多个参考线的权重。
42.如权利要求37所述的方法,其特征在于,样本值的多个候选参考线包括用于所述加权预测的所述多个参考线,其中权重表包括用于所述帧内图片预测的所述多个参考线中的每一个参考线的非零权重,并包括所述多个候选参考线的任何其他参考线的零权重。
43.如权利要求37所述的方法,其特征在于,以块级别为所述当前块或为所述当前块的各个样本值定义所述多个参考线的权重。
44.如权利要求37所述的方法,其特征在于,对于所述当前块的所述样本值的所述加权预测:
为所述当前块指定帧内图片预测模式;或
为所述多个参考线中的每一个参考线指定帧内图片预测模式。
45.如权利要求1或2所述的方法,其特征在于,执行帧内图片预测包括执行依赖于模式的填充以替换一个或多个不可用的参考样本值。
46.如权利要求45所述的方法,其特征在于,所述依赖于模式的填充包括:
选择所述当前块之外的样本值的多个候选参考线中的一个候选参考线,所述多个候选参考线包括样本值的非相邻参考线;以及
确定所述经选择的参考线的样本值在所述经选择的参考线的给定位置处不可用;
标识帧内图片预测模式的填充方向;
确定沿着所述填充方向在穿过所述经选择的参考线的所述给定位置的投射上的另一参考线上可用的样本值;以及
使用所述经确定的样本值作为所述经选择的参考线的所述给定位置处的所述不可用的样本值。
47.如权利要求46所述的方法,其特征在于,对另一参考线的所述样本值进行确定包括以距所述经选择的参考线的所述给定位置的距离增加的顺序评估一个或多个候选参考线的位置,直到沿着所述填充方向中的所述投射在所述多个候选参考线中的一个候选参考线中确定可用的样本值为止。
48.如权利要求46所述的方法,其特征在于,对另一参考线的所述样本值进行确定包括在所述另一参考线中水平和/或垂直的分数样本偏移处的样本值进行内插。
49.如权利要求46所述的方法,其特征在于:
如果所述帧内图片预测模式是具有预测方向的角度模式,则所述填充方向是所述帧内图片预测模式的所述预测方向;以及
否则,如果所述帧内图片预测模式是DC模式或平面模式,则所述填充方向是水平的或垂直的。
50.如权利要求45所述的方法,其特征在于,所述依赖于模式的填充包括:
确定所述非相邻参考线的样本值在所述非相邻参考线的给定位置处不可用;
标识帧内图片预测模式的填充方向;
如果沿着所述填充方向在穿过所述非相邻参考线的所述给定位置的投射上的另一参考线的样本值存在,则对所述样本值进行确定;以及
如果不存在另一个参考线的样本值被确定,则对在所述非相邻参考线的另一位置处可用的样本值进行确定;以及
使用所述经确定的样本值作为所述非相邻参考线的所述给定位置处的所述不可用的样本值。
51.如权利要求1或2所述的方法,其特征在于,执行帧内图片预测包括:
为用于针对所述当前块的所述帧内图片预测选择样本值的所述非相邻参考线,其中在用于所述当前块的所述帧内图片预测之前,所述经选择的非相邻参考线的至少一些样本值已由环内滤波修改。
52.如权利要求51所述的方法,其特征在于,对于环内滤波而言,经选择的非相邻参考线的经修改的样本值都不依赖于所述当前块的任何样本值。
53.如权利要求51所述的方法,其特征在于,执行帧内图片预测进一步包括:
为用于针对所述当前块的所述帧内图片预测选择样本值的另一参考线,其中在使用所述经选择的其他参考线对所述当前块进行所述帧内图片预测之前,所述经选择的其他参考线的样本值都没有被环内滤波修改。
54.如权利要求1或2所述的方法,其特征在于,执行帧内图片预测包括:
选择所述当前块之外的样本值的一个或多个参考线;
使用所述一个或多个经选择的参考线的至少一些样本值来预测所述当前块的所述样本值;以及
对所述当前块的至少一些经预测样本值进行滤波,其中所述滤波使用所述当前块之外和相邻参考线之外的至少一些样本值。
55.如权利要求54所述的方法,其特征在于,所述滤波包括,对于所述当前块的所述经预测样本值的给定经预测样本值:
对所述当前块之外的各样本值之间的一个或多个梯度进行计算;以及
基于所述一个或多个梯度对所述给定经预测样本值进行调整。
56.如权利要求55所述的方法,其特征在于,所述滤波进一步包括,对于所述给定经预测样本值:
将权重应用于所述一个或多个梯度中的每一个梯度,其中所述一个或多个加权梯度被用于所述调整。
57.如权利要求55所述的方法,其特征在于,所述帧内图片预测具有预测方向,并且其中所述一个或多个梯度与所述预测方向平行。
58.如权利要求54所述的方法,其特征在于,所述滤波包括,对于所述当前块的所述经预测样本值的给定经预测样本值:
基于所述当前块之外和所述相邻参考线之外的一个或多个样本值对所述给定经预测样本值进行调整。
59.如权利要求1或2所述的方法,其特征在于,执行帧内图片预测包括:
选择所述当前块之外的样本值的参考线;以及
对样本值的所述经选择的参考线进行滤波,其中所述滤波适用于沿着所述帧内图片预测的预测方向的样本值集的差,所述样本值集中的至少一些在所述当前块之外并在相邻参考线之外。
60.如权利要求59所述的方法,其特征在于,沿着所述预测方向的所述样本值集处于水平和垂直的整数样本偏移处。
61.如权利要求59所述的方法,其特征在于,沿着所述预测方向的所述样本值集中的至少一些是处于水平或垂直的分数样本偏移处的经内插的值。
62.一个或多个存储计算机可执行指令的计算机可读介质,所述计算机可执行指令使得计算设备在被编程时执行权利要求1至61中任一项所述的方法的操作。
63.一种计算机系统,所述计算机系统被配置为执行权利要求1和3至61中任一项所述的方法的操作,所述计算机系统包括:
图片缓冲器,所述图片缓冲器被配置成存储所述图片;
视频编码器或图像编码器,所述视频编码器或图像编码器被配置为执行所述编码;以及
经译码的数据缓冲器,所述经译码的数据缓冲器被配置为存储所述经编码的数据以用于输出。
64.一种计算机系统,所述计算机系统被配置为执行权利要求2至61中任一项所述的方法的操作,所述计算机系统包括:
经译码的数据缓冲器,所述经译码的数据缓冲器被配置为存储所述经编码的数据;
视频解码器或图像解码器,所述视频解码器或图像解码器被配置为执行所述解码;以及
图片缓冲器,该图片缓冲器被配置为存储经重构的图片以用于输出。
CN201680085403.8A 2016-05-04 2016-05-04 利用样本值的非相邻参考线进行帧内图片预测 Active CN109076241B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310664635.0A CN116962721A (zh) 2016-05-04 2016-05-04 利用样本值的非相邻参考线进行帧内图片预测的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/080966 WO2017190288A1 (en) 2016-05-04 2016-05-04 Intra-picture prediction using non-adjacent reference lines of sample values

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202310664635.0A Division CN116962721A (zh) 2016-05-04 2016-05-04 利用样本值的非相邻参考线进行帧内图片预测的方法

Publications (2)

Publication Number Publication Date
CN109076241A true CN109076241A (zh) 2018-12-21
CN109076241B CN109076241B (zh) 2023-06-23

Family

ID=60202614

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202310664635.0A Pending CN116962721A (zh) 2016-05-04 2016-05-04 利用样本值的非相邻参考线进行帧内图片预测的方法
CN201680085403.8A Active CN109076241B (zh) 2016-05-04 2016-05-04 利用样本值的非相邻参考线进行帧内图片预测

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202310664635.0A Pending CN116962721A (zh) 2016-05-04 2016-05-04 利用样本值的非相邻参考线进行帧内图片预测的方法

Country Status (4)

Country Link
US (6) US10764576B2 (zh)
EP (1) EP3453180A4 (zh)
CN (2) CN116962721A (zh)
WO (1) WO2017190288A1 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110072112A (zh) * 2019-03-12 2019-07-30 浙江大华技术股份有限公司 帧内预测方法、编码器及存储装置
CN111726627A (zh) * 2019-03-21 2020-09-29 腾讯美国有限责任公司 视频解码方法、装置、计算机设备和存储介质
CN111988619A (zh) * 2019-05-22 2020-11-24 腾讯美国有限责任公司 视频编解码方法、装置、计算机设备和存储介质
WO2021136498A1 (en) * 2019-12-31 2021-07-08 Beijing Bytedance Network Technology Co., Ltd. Multiple reference line chroma prediction
CN113196748A (zh) * 2018-12-31 2021-07-30 华为技术有限公司 用于位置相关预测组合的模式相关和尺寸相关的块级限制的方法和装置
CN113785587A (zh) * 2019-05-09 2021-12-10 高通股份有限公司 在矩阵帧内预测模式中裁剪预测样本
CN113812149A (zh) * 2019-03-22 2021-12-17 Lg 电子株式会社 图像编译系统中的图像解码方法和设备以及图像编码方法和设备
CN114009045A (zh) * 2019-06-20 2022-02-01 高通股份有限公司 视频译码中的dc帧内模式预测
CN114173115A (zh) * 2019-03-23 2022-03-11 华为技术有限公司 进行帧内预测的编码器、解码器和对应方法
US11930210B2 (en) 2018-06-25 2024-03-12 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Intra-frame prediction method and device

Families Citing this family (123)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10764576B2 (en) 2016-05-04 2020-09-01 Microsoft Technology Licensing, Llc Intra-picture prediction using non-adjacent reference lines of sample values
US10484712B2 (en) * 2016-06-08 2019-11-19 Qualcomm Incorporated Implicit coding of reference line index used in intra prediction
US10735720B2 (en) 2016-06-24 2020-08-04 Kt Corporation Method and apparatus for processing video signal
KR102383104B1 (ko) * 2016-06-24 2022-04-06 주식회사 케이티 비디오 신호 처리 방법 및 장치
CN109565591B (zh) 2016-08-03 2023-07-18 株式会社Kt 用于对视频进行编码和解码的方法和装置
CN116405671A (zh) 2016-09-20 2023-07-07 株式会社Kt 用于对视频进行解码和编码的方法以及传输方法
EP3301917A1 (en) * 2016-09-30 2018-04-04 Thomson Licensing Method and apparatus for spatial guided prediction
KR20230010060A (ko) * 2016-10-04 2023-01-17 주식회사 비원영상기술연구소 영상 데이터 부호화/복호화 방법 및 장치
EP3528497A4 (en) * 2016-10-14 2020-07-22 Industry-Academia Cooperation Foundation of Sejong University IMAGE CODING AND DECODING PROCESS AND DEVICE
JP6660868B2 (ja) * 2016-11-15 2020-03-11 Kddi株式会社 動画像符号化装置及び動画像復号装置並びにプログラム
US10999602B2 (en) 2016-12-23 2021-05-04 Apple Inc. Sphere projected motion estimation/compensation and mode decision
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
US10904568B2 (en) 2017-03-09 2021-01-26 Kt Corporation Video signal processing method and device for intra prediction of coding or prediction blocks based on sample position based parameters
US20200112710A1 (en) * 2017-03-17 2020-04-09 Lg Electronics Inc. Method and device for transmitting and receiving 360-degree video on basis of quality
US10542264B2 (en) * 2017-04-04 2020-01-21 Arris Enterprises Llc Memory reduction implementation for weighted angular prediction
US10742975B2 (en) 2017-05-09 2020-08-11 Futurewei Technologies, Inc. Intra-prediction with multiple reference lines
WO2018212569A1 (ko) * 2017-05-16 2018-11-22 엘지전자(주) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
US11093752B2 (en) 2017-06-02 2021-08-17 Apple Inc. Object tracking in multi-view video
US12058309B2 (en) 2018-07-08 2024-08-06 Mellanox Technologies, Ltd. Application accelerator
US11252464B2 (en) 2017-06-14 2022-02-15 Mellanox Technologies, Ltd. Regrouping of video data in host memory
US10764587B2 (en) * 2017-06-30 2020-09-01 Qualcomm Incorporated Intra prediction in video coding
WO2019007492A1 (en) * 2017-07-04 2019-01-10 Huawei Technologies Co., Ltd. INTRAMODE BYPASS LINE MEMORY HARMONIZATION DECODER SIDE WITH UNBLOCKING FILTER
CN117440151A (zh) * 2017-07-06 2024-01-23 Lx 半导体科技有限公司 图像解码方法、图像编码方法、发送方法和数字存储介质
US11831910B2 (en) * 2017-08-21 2023-11-28 Electronics And Telecommunications Research Institute Method and apparatus for encoding/decoding video, and recording medium storing bit stream
CN111247796B (zh) * 2017-10-20 2022-11-04 韩国电子通信研究院 图像编码/解码方法和装置以及存储比特流的记录介质
GB2567861A (en) * 2017-10-27 2019-05-01 Sony Corp Image data encoding and decoding
CN111295881B (zh) * 2017-11-13 2023-09-01 联发科技(新加坡)私人有限公司 用于图像和视频编解码的画面内预测融合的方法和装置
CN111386707B (zh) * 2017-11-22 2024-05-17 英迪股份有限公司 图像编码/解码方法和设备以及用于存储比特流的记录介质
US11070847B2 (en) * 2017-12-05 2021-07-20 Qualcomm Incorporated Intra-prediction with far neighboring pixels
US10931963B2 (en) * 2017-12-07 2021-02-23 Tencent America LLC Method and apparatus for video coding
KR20240125065A (ko) 2017-12-08 2024-08-19 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 이미지 인코딩 장치, 이미지 디코딩 장치, 이미지 인코딩 방법 및 이미지 디코딩 방법
US10432929B2 (en) * 2018-02-12 2019-10-01 Tencent America LLC Method and apparatus for multiple line intra prediction in video compression
US10715810B2 (en) * 2018-02-20 2020-07-14 Qualcomm Incorporated Simplified local illumination compensation
CN110198474B (zh) * 2018-02-27 2022-03-15 中兴通讯股份有限公司 一种码流处理方法及装置
CN116347074A (zh) 2018-03-09 2023-06-27 韩国电子通信研究院 使用样点滤波的图像编码/解码方法和设备
US20210006799A1 (en) 2018-03-27 2021-01-07 Kt Corporation Video signal processing method and device
EP3777169B1 (en) * 2018-03-28 2023-05-03 Fg Innovation Company Limited Device and method for decoding video data in multiple reference line prediction
US10419754B1 (en) 2018-04-02 2019-09-17 Tencent America LLC Method and apparatus for video decoding using multiple line intra prediction
WO2019198984A1 (ko) * 2018-04-11 2019-10-17 엘지전자 주식회사 선형 보간 인트라 예측에 기반한 영상 코딩 방법 및 그 장치
EP3554071A1 (en) * 2018-04-12 2019-10-16 InterDigital VC Holdings, Inc. Method and apparatus for intra prediction using a composite reference array
KR102344190B1 (ko) * 2018-05-12 2021-12-28 주식회사 윌러스표준기술연구소 참조 샘플을 이용하는 비디오 신호 처리 방법 및 장치
US11792426B2 (en) * 2018-06-18 2023-10-17 Industry Academy Cooperation Foundation Of Sejong University Method and apparatus for encoding/decoding image using a prediction value based on reference pixels
KR20210016053A (ko) * 2018-06-25 2021-02-10 김기백 영상 부호화/복호화 방법 및 장치
CN110650337B (zh) * 2018-06-26 2022-04-01 中兴通讯股份有限公司 一种图像编码方法、解码方法、编码器、解码器及存储介质
EP3606069A1 (en) * 2018-08-03 2020-02-05 InterDigital VC Holdings, Inc. Multiple reference intra prediction using variable weights
CN112335240B (zh) * 2018-06-26 2024-09-17 交互数字Vc控股公司 使用可变权重的多参考帧内预测
EP3815359B1 (en) * 2018-06-27 2024-10-09 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Contour mode prediction
US11159806B2 (en) * 2018-06-28 2021-10-26 Qualcomm Incorporated Position dependent intra prediction combination with multiple reference lines for intra prediction
US10893285B2 (en) * 2018-06-29 2021-01-12 FG Innovation Company Limited Device and method for coding video data based on one or more reference lines
CN110662065A (zh) * 2018-06-29 2020-01-07 财团法人工业技术研究院 图像数据解码方法及解码器、图像数据编码方法及编码器
CN117812254A (zh) 2018-06-29 2024-04-02 弗劳恩霍夫应用研究促进协会 扩展参考图像内预测
US10567752B2 (en) 2018-07-02 2020-02-18 Tencent America LLC Method and apparatus for intra prediction for non-square blocks in video compression
CN112425161A (zh) * 2018-07-11 2021-02-26 英迪股份有限公司 基于帧内预测的视频编码方法和装置
CN118233629A (zh) * 2018-07-11 2024-06-21 三星电子株式会社 用于视频解码的方法和设备以及用于视频编码的方法和设备
US10516885B1 (en) 2018-07-11 2019-12-24 Tencent America LLC Method and apparatus for video coding
US11336914B2 (en) * 2018-08-16 2022-05-17 Qualcomm Incorporated History-based candidate list with classification
US10491893B1 (en) 2018-08-29 2019-11-26 Tencent America LLC Method and apparatus for multi-line intra prediction
US10834393B2 (en) * 2018-09-10 2020-11-10 Tencent America LLC Intra interpolation filter for multi-line intra prediction
TWI833807B (zh) * 2018-09-19 2024-03-01 大陸商北京字節跳動網絡技術有限公司 用於幀內塊複製的基於歷史的運動矢量預測值
US10848782B2 (en) 2018-09-21 2020-11-24 Tencent America LLC Method and apparatus for video coding
CN117729332A (zh) * 2018-09-24 2024-03-19 弗劳恩霍夫应用研究促进协会 使用或适用于与依赖标量量化的组合的变换系数的有效编码
US11095885B2 (en) * 2018-10-05 2021-08-17 Tencent America LLC Mode list generation for multi-line intra prediction
CN117915085A (zh) 2018-10-07 2024-04-19 三星电子株式会社 用于编码或解码视频信号的视频信号处理方法和设备
WO2020073911A1 (en) 2018-10-09 2020-04-16 Huawei Technologies Co., Ltd. Devices and methods for image and video coding
CN117061740A (zh) 2018-10-12 2023-11-14 三星电子株式会社 通过使用交叉分量线性模型来处理视频信号的方法和设备
WO2020092535A1 (en) * 2018-10-31 2020-05-07 Interdigital Vc Holdings, Inc. Multi-reference line intra prediction and most probable mode
US11178396B2 (en) * 2018-11-14 2021-11-16 Tencent America LLC Constrained intra prediction and unified most probable mode list generation
CN113316931B (zh) 2018-11-22 2024-04-12 北京字节跳动网络技术有限公司 视频处理中的脉冲编解码调制技术
KR20200083321A (ko) * 2018-12-28 2020-07-08 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
JP7444599B2 (ja) * 2018-12-28 2024-03-06 日本放送協会 イントラ予測装置、画像符号化装置、画像復号装置、及びプログラム
CN116647678A (zh) * 2018-12-29 2023-08-25 浙江大华技术股份有限公司 帧内预测方法、编码器及存储装置
US11240518B2 (en) 2019-01-06 2022-02-01 Tencent America LLC Method and apparatus for video coding
WO2020145735A1 (ko) * 2019-01-10 2020-07-16 엘지전자 주식회사 Mpm 리스트를 사용하는 인트라 예측 기반 영상 코딩 방법 및 장치
CN117201773A (zh) * 2019-01-13 2023-12-08 Lg 电子株式会社 用于执行基于mrl的帧内预测的图像编译方法和装置
US10771799B2 (en) * 2019-01-15 2020-09-08 Tencent America LLC Method and apparatus for video coding
CN113302918A (zh) 2019-01-15 2021-08-24 北京字节跳动网络技术有限公司 视频编解码中的加权预测
WO2020147805A1 (en) 2019-01-17 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Deblocking filtering using motion prediction
US11595662B2 (en) * 2019-02-06 2023-02-28 Tencent America LLC Method and apparatus for neighboring block availability in video coding
US11936871B2 (en) 2019-02-08 2024-03-19 Interdigital Madison Patent Holdings, Sas Method and device for picture encoding and decoding using illumination compensation
CN113545036B (zh) 2019-03-02 2023-11-28 北京字节跳动网络技术有限公司 对环路内滤波的限制
CN109862371A (zh) * 2019-03-12 2019-06-07 北京大学深圳研究生院 一种基于帧内预测的编解码方法、装置及滤波器
CA3138231A1 (en) * 2019-03-21 2020-09-24 Huawei Technologies Co., Ltd. Method and apparatus for intra-prediction
WO2020197152A1 (ko) * 2019-03-22 2020-10-01 엘지전자 주식회사 영상 코딩 시스템에서 인트라 예측 모드 후보 리스트를 사용하는 영상 디코딩 방법 및 그 장치
CN113678462B (zh) 2019-04-15 2023-01-10 北京字节跳动网络技术有限公司 自适应环路滤波器中的裁剪参数推导
CN113767623B (zh) 2019-04-16 2024-04-02 北京字节跳动网络技术有限公司 用于视频编解码的自适应环路滤波
CN113711612B (zh) 2019-04-20 2023-05-26 北京字节跳动网络技术有限公司 视频编解码中的色度语法元素的信令
US11445174B2 (en) * 2019-05-06 2022-09-13 Tencent America LLC Method and apparatus for video coding
KR20210135337A (ko) 2019-05-14 2021-11-12 엘지전자 주식회사 적응적 루프 필터 기반 비디오 또는 영상 코딩
CN115567707A (zh) 2019-05-30 2023-01-03 抖音视界有限公司 色度分量的自适应环路滤波
CN113966611B (zh) 2019-06-09 2023-12-15 北京字节跳动网络技术有限公司 视频编解码中的重要系数信令
CN113347427A (zh) * 2019-06-21 2021-09-03 杭州海康威视数字技术股份有限公司 一种编解码方法、装置、设备及存储介质
US20220286688A1 (en) * 2019-06-21 2022-09-08 Vid Scale, Inc. Precision refinement for motion compensation with optical flow
CN117376556A (zh) 2019-08-14 2024-01-09 北京字节跳动网络技术有限公司 位置相关帧内预测样点滤波
JP7568348B2 (ja) 2019-08-14 2024-10-16 北京字節跳動網絡技術有限公司 イントラモードにおける予測サンプルフィルタリングのための重み付け係数
KR20220053567A (ko) 2019-09-01 2022-04-29 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩에서의 예측 가중치 정렬
MX2022002916A (es) 2019-09-19 2022-04-06 Beijing Bytedance Network Tech Co Ltd Derivacion de posiciones de muestra de referencia en codificacion de video.
US20210168354A1 (en) * 2019-12-03 2021-06-03 Mellanox Technologies, Ltd. Video Coding System
MX2022006734A (es) 2019-12-11 2022-06-09 Beijing Bytedance Network Tech Co Ltd Relleno de muestra para filtrado de circuito adaptivo de componente cruzado.
WO2021129866A1 (en) 2019-12-27 2021-07-01 Beijing Bytedance Network Technology Co., Ltd. Signaling of slice types in video pictures headers
US11558605B2 (en) * 2020-01-23 2023-01-17 Tencent America LLC Video coding method and system based on multiple reference line intra prediction
JP7415027B2 (ja) 2020-02-29 2024-01-16 北京字節跳動網絡技術有限公司 ハイレベルシンタックス要素のための制約
US11523112B2 (en) * 2020-04-09 2022-12-06 Tencent America LLC Intra coding with L-type partitioning tree
CN115885511A (zh) * 2020-04-13 2023-03-31 抖音视界有限公司 自适应参数集中的色度语法信令通知
CN115485730A (zh) * 2020-04-14 2022-12-16 松下电器(美国)知识产权公司 三维数据编码方法、三维数据解码方法、三维数据编码装置及三维数据解码装置
JP7540871B2 (ja) 2020-05-22 2024-08-27 北京字節跳動網絡技術有限公司 一般制約フラグのシグナリング
CN116325728A (zh) 2020-06-30 2023-06-23 抖音视界有限公司 自适应环路滤波的边界位置
US11563977B2 (en) * 2020-09-24 2023-01-24 Tencent America LLC Method and apparatus for video coding
US11689715B2 (en) 2020-09-28 2023-06-27 Tencent America LLC Non-directional intra prediction for L-shape partitions
US12108031B2 (en) * 2021-04-16 2024-10-01 Tencent America LLC Harmonized design among multiple reference line intra prediction, transform partitioning and transform kernels
US12069305B2 (en) * 2021-04-16 2024-08-20 Tencent America LLC Low memory design for multiple reference line selection scheme
US12015765B2 (en) * 2021-04-26 2024-06-18 Tencent America LLC Template matching based intra prediction
KR20230166956A (ko) * 2022-05-30 2023-12-07 주식회사 케이티 영상 부호화/복호화 방법 및 장치
WO2024002559A1 (en) * 2022-06-28 2024-01-04 Nokia Technologies Oy Reference area for intra prediction
US20240022732A1 (en) * 2022-07-13 2024-01-18 Tencent America LLC Weight derivation of multiple reference line for intra prediction fusion
WO2024020211A1 (en) * 2022-07-21 2024-01-25 Iinnopeak Technology, Inc. Methods, systems, and apparatuses for intra prediction
WO2024030926A1 (en) * 2022-08-02 2024-02-08 Bytedance Inc. Method, apparatus, and medium for video processing
WO2024043745A1 (ko) * 2022-08-25 2024-02-29 엘지전자 주식회사 Mrl(multi reference line)을 이용한 인트라 예측 모드에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체
WO2024075983A1 (ko) * 2022-10-04 2024-04-11 현대자동차주식회사 복수의 블록들 기반 인트라 템플릿 매칭 예측을 이용하는 비디오 코딩을 위한 방법 및 장치
WO2024083500A1 (en) * 2022-10-21 2024-04-25 Interdigital Ce Patent Holdings, Sas Methods and apparatuses for padding reference samples
WO2024163312A1 (en) * 2023-01-30 2024-08-08 Beijing Dajia Internet Information Technology Co., Ltd Methods and devices for filtered intra block copy
WO2024189262A1 (en) * 2023-03-16 2024-09-19 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
WO2024209028A1 (en) * 2023-04-07 2024-10-10 Interdigital Ce Patent Holdings, Sas Padding of non-available intra samples in block-vector-based intra prediction

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4837848A (en) * 1987-03-27 1989-06-06 Netexpress Systems, Inc. Apparatus for selecting a reference line for image data compression
US20100027655A1 (en) * 2007-02-23 2010-02-04 Shohei Matsuo Video encoding method and decoding method, apparatuses therefor, programs therefor, and storage media which store the programs
CN103200401A (zh) * 2012-01-06 2013-07-10 索尼公司 图像处理装置和图像处理方法
CN105096958A (zh) * 2014-04-29 2015-11-25 华为技术有限公司 音频编码方法及相关装置
WO2016049839A1 (en) * 2014-09-30 2016-04-07 Microsoft Technology Licensing, Llc Rules for intra-picture prediction modes when wavefront parallel processing is enabled

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100295798B1 (ko) 1997-07-11 2001-08-07 전주범 스케일러빌리티를구현한이진현상신호부호화장치
KR20110050283A (ko) 2009-11-06 2011-05-13 삼성전자주식회사 다중 참조 영상을 이용한 고속 움직임 추정 방법
US8923395B2 (en) 2010-10-01 2014-12-30 Qualcomm Incorporated Video coding using intra-prediction
US9025661B2 (en) 2010-10-01 2015-05-05 Qualcomm Incorporated Indicating intra-prediction mode selection for video coding
US9462272B2 (en) * 2010-12-13 2016-10-04 Electronics And Telecommunications Research Institute Intra prediction method and apparatus
US8548057B2 (en) 2011-01-25 2013-10-01 Microsoft Corporation Video coding redundancy reduction
US9363511B2 (en) 2011-09-13 2016-06-07 Mediatek Singapore Pte. Ltd. Method and apparatus for Intra mode coding in HEVC
US20130107973A1 (en) 2011-10-28 2013-05-02 Qualcomm Incorporated Loop filtering control over tile boundaries
US20130113880A1 (en) 2011-11-08 2013-05-09 Jie Zhao High Efficiency Video Coding (HEVC) Adaptive Loop Filter
US9161035B2 (en) 2012-01-20 2015-10-13 Sony Corporation Flexible band offset mode in sample adaptive offset in HEVC
KR20130112374A (ko) * 2012-04-04 2013-10-14 한국전자통신연구원 고속 인트라 예측을 위한 영상 부호화 방법 및 장치
JP6763664B2 (ja) 2012-10-01 2020-09-30 ジーイー ビデオ コンプレッション エルエルシー エンハンスメント層作動パラメータのためのベース層ヒントを使用するスケーラブルビデオ符号化
CA2896637C (en) 2013-03-26 2018-02-13 Mediatek Inc. Method of cross color intra prediction
KR20140124443A (ko) 2013-04-15 2014-10-27 인텔렉추얼디스커버리 주식회사 인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치
US10412419B2 (en) 2013-07-12 2019-09-10 Qualcomm Incorporated Adaptive filtering in video coding
US10382791B2 (en) * 2015-03-06 2019-08-13 Qualcomm Incorporated Data structure for video coding unit
CN115134596A (zh) * 2015-06-05 2022-09-30 杜比实验室特许公司 用于执行帧间预测的图像编解码方法、比特流存储方法
GB2557809B (en) * 2015-08-28 2021-12-01 Kt Corp Method and device for processing video signal
US10764576B2 (en) 2016-05-04 2020-09-01 Microsoft Technology Licensing, Llc Intra-picture prediction using non-adjacent reference lines of sample values
US10547854B2 (en) * 2016-05-13 2020-01-28 Qualcomm Incorporated Neighbor based signaling of intra prediction modes
CA3025520A1 (en) * 2016-05-25 2017-11-30 Arris Enterprises Llc Improved weighted angular prediction coding for intra coding

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4837848A (en) * 1987-03-27 1989-06-06 Netexpress Systems, Inc. Apparatus for selecting a reference line for image data compression
US20100027655A1 (en) * 2007-02-23 2010-02-04 Shohei Matsuo Video encoding method and decoding method, apparatuses therefor, programs therefor, and storage media which store the programs
CN101682774A (zh) * 2007-02-23 2010-03-24 日本电信电话株式会社 视频编码方法和解码方法、其装置、其程序、以及记录程序的记录介质
CN103200401A (zh) * 2012-01-06 2013-07-10 索尼公司 图像处理装置和图像处理方法
CN105096958A (zh) * 2014-04-29 2015-11-25 华为技术有限公司 音频编码方法及相关装置
WO2016049839A1 (en) * 2014-09-30 2016-04-07 Microsoft Technology Licensing, Llc Rules for intra-picture prediction modes when wavefront parallel processing is enabled

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SHOHEI MATSUO等: "Intra prediction with spatial gradients and multiple reference lines" *
李凯健,孙立恒: "采集添加MAPGIS图像控制点纠正底图的误差" *

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11930210B2 (en) 2018-06-25 2024-03-12 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Intra-frame prediction method and device
US11936906B2 (en) 2018-06-25 2024-03-19 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Intra-frame prediction method and device
US11936908B2 (en) 2018-06-25 2024-03-19 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Intra-frame prediction method and device
US11936907B2 (en) 2018-06-25 2024-03-19 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Intra-frame prediction method and device
US11589055B2 (en) 2018-12-31 2023-02-21 Huawei Technologies Co., Ltd. Method and apparatus of mode- and size-dependent block-level restrictions for position dependent prediction combination
CN113196748B (zh) * 2018-12-31 2022-12-30 华为技术有限公司 帧内预测方法及相关装置
CN113196748A (zh) * 2018-12-31 2021-07-30 华为技术有限公司 用于位置相关预测组合的模式相关和尺寸相关的块级限制的方法和装置
CN110072112A (zh) * 2019-03-12 2019-07-30 浙江大华技术股份有限公司 帧内预测方法、编码器及存储装置
CN110072112B (zh) * 2019-03-12 2023-05-12 浙江大华技术股份有限公司 帧内预测方法、编码器及存储装置
CN111726627A (zh) * 2019-03-21 2020-09-29 腾讯美国有限责任公司 视频解码方法、装置、计算机设备和存储介质
CN111726627B (zh) * 2019-03-21 2024-04-26 腾讯美国有限责任公司 视频解码方法、装置、计算机设备和存储介质
CN113812149A (zh) * 2019-03-22 2021-12-17 Lg 电子株式会社 图像编译系统中的图像解码方法和设备以及图像编码方法和设备
CN113812149B (zh) * 2019-03-22 2024-04-12 Lg电子株式会社 图像编译系统中的图像解码方法和设备以及图像编码方法和设备
CN114173115A (zh) * 2019-03-23 2022-03-11 华为技术有限公司 进行帧内预测的编码器、解码器和对应方法
CN113785587B (zh) * 2019-05-09 2024-04-19 高通股份有限公司 在矩阵帧内预测模式中裁剪预测样本
CN113785587A (zh) * 2019-05-09 2021-12-10 高通股份有限公司 在矩阵帧内预测模式中裁剪预测样本
CN111988619A (zh) * 2019-05-22 2020-11-24 腾讯美国有限责任公司 视频编解码方法、装置、计算机设备和存储介质
CN111988619B (zh) * 2019-05-22 2024-04-26 腾讯美国有限责任公司 视频编解码方法、装置、计算机设备和存储介质
CN114009045A (zh) * 2019-06-20 2022-02-01 高通股份有限公司 视频译码中的dc帧内模式预测
WO2021136498A1 (en) * 2019-12-31 2021-07-08 Beijing Bytedance Network Technology Co., Ltd. Multiple reference line chroma prediction
US11968368B2 (en) 2019-12-31 2024-04-23 Beijing Bytedance Network Technology Co., Ltd Cross-component prediction with multiple-parameter model

Also Published As

Publication number Publication date
US11323693B2 (en) 2022-05-03
US20200359016A1 (en) 2020-11-12
US11303886B2 (en) 2022-04-12
US10764576B2 (en) 2020-09-01
CN109076241B (zh) 2023-06-23
WO2017190288A1 (en) 2017-11-09
US20200359017A1 (en) 2020-11-12
US20190141318A1 (en) 2019-05-09
CN116962721A (zh) 2023-10-27
EP3453180A1 (en) 2019-03-13
EP3453180A4 (en) 2020-04-01
US20200359018A1 (en) 2020-11-12
US20220217331A1 (en) 2022-07-07
US20230362353A1 (en) 2023-11-09
US11317084B2 (en) 2022-04-26
US11758127B2 (en) 2023-09-12

Similar Documents

Publication Publication Date Title
CN109076241A (zh) 利用样本值的非相邻参考线进行帧内图片预测
CN106416254B (zh) 在媒体编码期间跳过评估阶段
CN105659602B (zh) 用于视频和图像编码的帧内块复制预测模式的编码器侧选项
CN105874791B (zh) 在对重叠区域内的经重构样本值的块向量预测和估计方面的创新
CN105900420B (zh) 选择运动向量精度
CN105765974B (zh) 用于视频和图像编码和解码的帧内块复制预测模式的特征
CN105960802B (zh) 切换色彩空间时对编码和解码的调整
CN105917648B (zh) 具有非对称分区的帧内块复制预测以及编码器侧搜索图案、搜索范围和用于分区的方法
CN105706450B (zh) 根据基于散列的块匹配的结果的编码器决定
TWI781468B (zh) 在樣本陣列多元樹細分中之繼承技術
CN105659606B (zh) 用于视频和图像编码和解码的方法、系统和介质
CN110063056A (zh) 用于处理视频信号的方法和设备
WO2018026888A2 (en) Geometry transformation-based adaptive loop filtering
CN109417628A (zh) 视频信号处理方法和装置
CN109644281A (zh) 用于处理视频信号的方法和设备
CN105409221A (zh) 用于样本自适应偏移滤波的编码器侧决策
CN105917650A (zh) 视频和图像编码/解码中的块向量预测
CN110366850A (zh) 基于帧内预测模式处理图像的方法和用于该方法的设备
JP2015525988A (ja) 3dビデオコーディングのための深度マップのイントラコーディング
CN109716762A (zh) 用于处理视频信号的方法和设备
JP7317973B2 (ja) 画像予測方法、機器、及びシステム、装置、及び記憶媒体
CN109691112A (zh) 用于处理视频信号的方法和设备
CN107439008A (zh) 减轻数字视频的互操作性情景中的损失
JP2022524375A (ja) 異なるクロマフォーマットを使用した三角予測ユニットモードでのビデオコーディング
CN116567252A (zh) 基于子图像的视频译码中的子图像id指示

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